mirror of https://github.com/PCSX2/pcsx2.git
cdvdGigaherz: Change the order in which the different reading modes are attempted. Seems to fix some CD-Rom games. While at it, renamed a rude variable with a better name. ;P
This commit is contained in:
parent
0bf7a35a53
commit
1fb3de2960
|
@ -243,7 +243,7 @@ s32 CALLBACK CDVDgetDualInfo(s32* dualType, u32* _layer1start)
|
|||
}
|
||||
|
||||
int lastReadInNewDiskCB=0;
|
||||
char fuckThisSector[2352];
|
||||
char directReadSectorBuffer[2448];
|
||||
|
||||
s32 CALLBACK CDVDreadSector(u8* buffer, s32 lsn, int mode)
|
||||
{
|
||||
|
@ -257,7 +257,7 @@ s32 CALLBACK CDVDreadTrack(u32 lsn, int mode)
|
|||
|
||||
if(weAreInNewDiskCB)
|
||||
{
|
||||
int ret = cdvdDirectReadSector(lsn,mode,fuckThisSector);
|
||||
int ret = cdvdDirectReadSector(lsn,mode,directReadSectorBuffer);
|
||||
if(ret==0) lastReadInNewDiskCB=1;
|
||||
return ret;
|
||||
}
|
||||
|
@ -276,7 +276,7 @@ u8* CALLBACK CDVDgetBuffer()
|
|||
if(lastReadInNewDiskCB)
|
||||
{
|
||||
lastReadInNewDiskCB=0;
|
||||
return (u8*)fuckThisSector;
|
||||
return (u8*)directReadSectorBuffer;
|
||||
}
|
||||
|
||||
u8 *s = (u8*)cdvdGetSector(csector,cmode);
|
||||
|
@ -299,7 +299,7 @@ int CALLBACK CDVDgetBuffer2(u8* dest)
|
|||
{
|
||||
lastReadInNewDiskCB=0;
|
||||
|
||||
memcpy(dest, fuckThisSector, csize);
|
||||
memcpy(dest, directReadSectorBuffer, csize);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -626,13 +626,13 @@ s32 IOCtlSrc::ReadSectors2352(u32 sector, u32 count, char *buffer)
|
|||
rri.TrackMode=(TRACK_MODE_TYPE)last_read_mode;
|
||||
if(DeviceIoControl(device,IOCTL_CDROM_RAW_READ,&rri,sizeof(rri),buffer, 2352*count, &size, NULL)==0)
|
||||
{
|
||||
rri.TrackMode=CDDA;
|
||||
rri.TrackMode=YellowMode2;
|
||||
if(DeviceIoControl(device,IOCTL_CDROM_RAW_READ,&rri,sizeof(rri),buffer, 2352*count, &size, NULL)==0)
|
||||
{
|
||||
rri.TrackMode=XAForm2;
|
||||
if(DeviceIoControl(device,IOCTL_CDROM_RAW_READ,&rri,sizeof(rri),buffer, 2352*count, &size, NULL)==0)
|
||||
{
|
||||
rri.TrackMode=YellowMode2;
|
||||
rri.TrackMode=CDDA;
|
||||
if(DeviceIoControl(device,IOCTL_CDROM_RAW_READ,&rri,sizeof(rri),buffer, 2352*count, &size, NULL)==0)
|
||||
{
|
||||
return -1;
|
||||
|
|
Loading…
Reference in New Issue