Make the CDVD speedhack safer by excluding full seek delays.

Tales of the Abyss should work with the hack now.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4980 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
ramapcsx2 2011-12-05 07:58:11 +00:00
parent df42f468be
commit a2dd83b419
1 changed files with 11 additions and 1 deletions

View File

@ -47,7 +47,12 @@ static __fi void SetResultSize(u8 size)
static void CDVDREAD_INT(int eCycle) static void CDVDREAD_INT(int eCycle)
{ {
// Give it an arbitary FAST value. Good for ~5000kb/s in ULE when copying a file from CDVD to HDD // Give it an arbitary FAST value. Good for ~5000kb/s in ULE when copying a file from CDVD to HDD
if (EmuConfig.Speedhacks.fastCDVD) eCycle = 3000; // Keep long seeks out though, as games may try to push dmas while seeking. (Tales of the Abyss)
if (EmuConfig.Speedhacks.fastCDVD) {
if(eCycle < Cdvd_FullSeek_Cycles)
eCycle = 3000;
}
PSX_INT(IopEvt_CdvdRead, eCycle); PSX_INT(IopEvt_CdvdRead, eCycle);
} }
@ -647,6 +652,11 @@ int cdvdReadSector() {
return -1; return -1;
} }
//if( (HW_DMA3_CHCR & 0x01000000) == 0 ) {
// // DMA3 problem?
// Console.Warning( "CDVD READ - DMA3 transfer off (try again)\n" );
//}
// DMAs use physical addresses (air) // DMAs use physical addresses (air)
u8* mdest = iopPhysMem( HW_DMA3_MADR ); u8* mdest = iopPhysMem( HW_DMA3_MADR );