summaryrefslogtreecommitdiff
path: root/libpcsxcore/psxbios.c
diff options
context:
space:
mode:
authorSND\ckain_cp <SND\ckain_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2013-03-04 18:35:12 +0000
committerSND\ckain_cp <SND\ckain_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2013-03-04 18:35:12 +0000
commit7b6f0ceec2e6fc7b92a7bf7b2814c9813114b964 (patch)
treef7758d4df34f6b42d0e851fc82930bcb6869f28e /libpcsxcore/psxbios.c
parentf13964f607fb1f47463970f90ec7e1787b368e8f (diff)
downloadpcsxr-7b6f0ceec2e6fc7b92a7bf7b2814c9813114b964.tar.gz
PSXBIOS_LOG and printf, puts, putchar: prettier output to the log.
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@83324 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'libpcsxcore/psxbios.c')
-rwxr-xr-xlibpcsxcore/psxbios.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/libpcsxcore/psxbios.c b/libpcsxcore/psxbios.c
index 3492361f..5fde5ad6 100755
--- a/libpcsxcore/psxbios.c
+++ b/libpcsxcore/psxbios.c
@@ -1005,7 +1005,11 @@ _start:
memcpy((char*)PSXM(sp), save, 4 * 4);
+#ifdef PSXBIOS_LOG
+ PSXBIOS_LOG("psxBios_%s: %s\n", biosA0n[0x3f], tmp);
+#else
SysPrintf(tmp);
+#endif
pc0 = ra;
}
@@ -1809,13 +1813,36 @@ void psxBios_close() { // 0x36
pc0 = ra;
}
+#define PSXSTRBUFMAX 255
+char psxstrbuf[PSXSTRBUFMAX+1];
+unsigned short psxstrbuf_count = 0;
+
void psxBios_putchar() { // 3d
+ char logchar = ( a0 == 0xa ? '>' : (char)a0 );
+ if (psxstrbuf_count < PSXSTRBUFMAX) psxstrbuf[psxstrbuf_count++] = logchar;
+
+#ifdef PSXBIOS_LOG
+ PSXBIOS_LOG("psxBios_%s: %x (%c)\n", biosB0n[0x3d], a0, logchar);
+#else
SysPrintf("%c", (char)a0);
+#endif
+ if ((a0 == 0xa && psxstrbuf_count >= 2) || psxstrbuf_count >= PSXSTRBUFMAX) {
+ psxstrbuf[psxstrbuf_count++] = '\0';
+#ifdef PSXBIOS_LOG
+ PSXBIOS_LOG("psxBios_%s: string_[%d]_cr: %s\n", biosB0n[0x3d], psxstrbuf_count, psxstrbuf);
+#endif
+ psxstrbuf_count = 0;
+ }
+
pc0 = ra;
}
void psxBios_puts() { // 3e/3f
+#ifdef PSXBIOS_LOG
+ PSXBIOS_LOG("psxBios_%s: %s\n", biosB0n[0x3f], Ra0);
+#else
SysPrintf(Ra0);
+#endif
pc0 = ra;
}