Following shalma's recommendation, CDVD Status reads now also return the CDVD_STATUS_SPIN flag.

Apparently this is a common game breaker in PSX titles and it carried over to the PS2.
This fixes Time Crisis 2 loading and the frozen input in a horror game I have a dump of.

Please report any other titles you find fixed / broken! :)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4952 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
ramapcsx2 2011-10-31 16:12:38 +00:00
parent c9b1e3c1aa
commit 425f6779f1
1 changed files with 22 additions and 0 deletions

View File

@ -1016,11 +1016,33 @@ u8 cdvdRead(u8 key)
case 0x08: // STATUS
CDVD_LOG("cdvdRead08(Status) %x", cdvd.Status);
#define SPINFLAGCHECK 1
#if SPINFLAGCHECK
// Time Crisis 2, random Japanese horror game (rama) - check spin flag
// These games would also somewhat work with the fast CDVD speedhack
if( cdvd.Spinning ) {
return cdvd.Status | CDVD_STATUS_SPIN;
}
else
#endif
return cdvd.Status;
break;
case 0x0A: // STATUS
CDVD_LOG("cdvdRead0A(Status) %x", cdvd.Status);
#if SPINFLAGCHECK
// Time Crisis 2, random Japanese horror game (rama) - check spin flag
// These games would also somewhat work with the fast CDVD speedhack
if( cdvd.Spinning ) {
return cdvd.Status | CDVD_STATUS_SPIN;
}
else
#endif
return cdvd.Status;
break;