diff options
| author | SND\ckain_cp <SND\ckain_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2013-03-04 18:35:12 +0000 |
|---|---|---|
| committer | SND\ckain_cp <SND\ckain_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2013-03-04 18:35:12 +0000 |
| commit | 7b6f0ceec2e6fc7b92a7bf7b2814c9813114b964 (patch) | |
| tree | f7758d4df34f6b42d0e851fc82930bcb6869f28e /libpcsxcore/psxbios.c | |
| parent | f13964f607fb1f47463970f90ec7e1787b368e8f (diff) | |
| download | pcsxr-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-x | libpcsxcore/psxbios.c | 27 |
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; } |
