diff options
| author | SND\shalma_cp <SND\shalma_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2010-09-05 01:11:09 +0000 |
|---|---|---|
| committer | SND\shalma_cp <SND\shalma_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2010-09-05 01:11:09 +0000 |
| commit | dcc46e2d3011f7de48d6c16144088d1f3d4ed2db (patch) | |
| tree | 668a6d8b7f9c86c47f367a1624088f8dbaee34d4 /libpcsxcore/cdrom.c | |
| parent | 37edbb7d48a17b7321ebeb5bcf992c7d77fd2662 (diff) | |
| download | pcsxr-dcc46e2d3011f7de48d6c16144088d1f3d4ed2db.tar.gz | |
Chrono Cross interlace fix (ePSXe version)
GameShark Lite needs GPUSTATUS_READYFORVRAM off when not IDLE. Also fixes CDROM swapping.
- Enable 'Fake GPU Busy States' to work
- Perhaps we should fix PEOPS GPU to turn off READYFORVRAM instead of gpu.c (my temp solution)
Please add gpu.c / gpu.h to your makefiles.
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@56824 e17a0e51-4ae3-4d35-97c3-1a29b211df97
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();
}
}
|
