psx - add experimental croft correction

This commit is contained in:
zeromus 2015-02-23 03:17:05 +00:00
parent b45d3820be
commit 562e1d41e4
2 changed files with 12 additions and 3 deletions

Binary file not shown.

View File

@ -1140,9 +1140,18 @@ pscpu_timestamp_t PS_CDC::Update(const pscpu_timestamp_t timestamp)
else if(DriveStatus == DS_SEEKING)
{
CurSector = SeekTarget;
Cur_disc->ReadLBA_PW(pwbuf,CurSector,false);
DecodeSubQ(pwbuf);
//
// CurSector + x for "Tomb Raider"'s sake, as it relies on behavior that we can't emulate very well without a more accurate CD drive
// emulation model.
//
for(int x = -1; x >= -16; x--)
{
//printf("%d\n", CurSector + x);
Cur_disc->ReadLBA_PW(pwbuf, CurSector + x, false);
if(DecodeSubQ(pwbuf))
break;
}
DriveStatus = StatusAfterSeek;
if(DriveStatus != DS_PAUSED && DriveStatus != DS_STANDBY)