summaryrefslogtreecommitdiff
path: root/libpcsxcore/cdrom.c
diff options
context:
space:
mode:
Diffstat (limited to 'libpcsxcore/cdrom.c')
-rw-r--r--libpcsxcore/cdrom.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/libpcsxcore/cdrom.c b/libpcsxcore/cdrom.c
index 7ff2d68f..8ecb1d64 100644
--- a/libpcsxcore/cdrom.c
+++ b/libpcsxcore/cdrom.c
@@ -573,9 +573,14 @@ void cdrInterrupt() {
// case now open
if (stat.Status & 0x10) {
- cdr.Stat = DiskError;
+ if( Irq != CdlNop )
+ {
+ cdr.Stat = DiskError;
+ cdr.Result[0] |= 0x01;
+ }
- cdr.Result[0] |= 0x11;
+ // GameShark Lite: Wants -exactly- $10
+ cdr.Result[0] |= 0x10;
cdr.Result[0] &= ~0x02;
}
// case now closed
@@ -583,6 +588,9 @@ void cdrInterrupt() {
cdr.StatP &= ~0x11;
cdr.Result[0] |= 0x2;
+ // GameShark Lite: Wants -exactly- $42, then $02
+ cdr.Result[0] |= 0x40;
+
CheckCdrom();
}
}