aboutsummaryrefslogtreecommitdiff
path: root/libpcsxcore/cdrom.c
diff options
context:
space:
mode:
authornotaz2012-12-27 02:24:06 +0200
committernotaz2013-01-01 23:33:47 +0200
commite7e33ef281952a0e413f2c1f969472da5d2b6b37 (patch)
tree986e42d50791fe08d2dc343833d2da848fd4a928 /libpcsxcore/cdrom.c
parentf9ccca15495c5d2ac9ca098ec171d76907a7bccc (diff)
downloadpcsx_rearmed-e7e33ef281952a0e413f2c1f969472da5d2b6b37.tar.gz
pcsx_rearmed-e7e33ef281952a0e413f2c1f969472da5d2b6b37.tar.bz2
pcsx_rearmed-e7e33ef281952a0e413f2c1f969472da5d2b6b37.zip
cdrom: tune and log stat hack
Diffstat (limited to 'libpcsxcore/cdrom.c')
-rw-r--r--libpcsxcore/cdrom.c11
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;
}