diff options
Diffstat (limited to 'libpcsxcore/cdrom.c')
| -rw-r--r-- | libpcsxcore/cdrom.c | 12 |
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();
}
}
|
