diff options
author | notaz | 2012-12-27 02:24:06 +0200 |
---|---|---|
committer | notaz | 2013-01-01 23:33:47 +0200 |
commit | e7e33ef281952a0e413f2c1f969472da5d2b6b37 (patch) | |
tree | 986e42d50791fe08d2dc343833d2da848fd4a928 | |
parent | f9ccca15495c5d2ac9ca098ec171d76907a7bccc (diff) | |
download | pcsx_rearmed-e7e33ef281952a0e413f2c1f969472da5d2b6b37.tar.gz pcsx_rearmed-e7e33ef281952a0e413f2c1f969472da5d2b6b37.tar.bz2 pcsx_rearmed-e7e33ef281952a0e413f2c1f969472da5d2b6b37.zip |
cdrom: tune and log stat hack
-rw-r--r-- | libpcsxcore/cdrom.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/libpcsxcore/cdrom.c b/libpcsxcore/cdrom.c index 61e1e7a..d7e36cc 100644 --- a/libpcsxcore/cdrom.c +++ b/libpcsxcore/cdrom.c @@ -650,6 +650,11 @@ static void cdrPlayInterrupt_Autopause() void cdrPlayInterrupt() { if (cdr.Seeked == SEEK_DOING_CMD) { + if (cdr.Stat) { + SysPrintf("cdrom: seek stat hack\n"); + CDRMISC_INT(0x1000); + return; + } SetResultSize(1); cdr.StatP |= STATUS_ROTATING; cdr.StatP &= ~STATUS_SEEK; @@ -704,7 +709,8 @@ void cdrInterrupt() { // Reschedule IRQ if (cdr.Stat) { - CDR_INT( 0x100 ); + SysPrintf("cdrom: stat hack: %02x %x\n", cdr.Irq, cdr.Stat); + CDR_INT(0x1000); return; } @@ -1294,7 +1300,8 @@ void cdrReadInterrupt() { return; if (cdr.Irq || cdr.Stat) { - CDREAD_INT(0x100); + SysPrintf("cdrom: read stat hack %02x %x\n", cdr.Irq, cdr.Stat); + CDREAD_INT(0x1000); return; } |