X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=libpcsxcore%2Fcdrom.c;h=142c1e205df0c7ac2023d88be26e689f6021a51e;hp=343d82c96eb2d29053889cdf5c8bd77f536af3f4;hb=25c1e50390c480128a327519c37a0bf5df3a996f;hpb=aa40e1b827555d6efb0cb9177b015ec02d44c7dd diff --git a/libpcsxcore/cdrom.c b/libpcsxcore/cdrom.c index 343d82c9..142c1e20 100644 --- a/libpcsxcore/cdrom.c +++ b/libpcsxcore/cdrom.c @@ -861,7 +861,17 @@ void cdrInterrupt() { cdr.Result[0] = cdr.StatP; cdr.Stat = Acknowledge; - AddIrqQueue(CdlPause + 0x20, 0x800); + /* + Gundam Battle Assault 2: much slower (*) + - Fixes boot, gameplay + + Hokuto no Ken 2: slower + - Fixes intro + subtitles + + InuYasha - Feudal Fairy Tale: slower + - Fixes battles + */ + AddIrqQueue(CdlPause + 0x20, cdReadTime * 3); cdr.Ctrl |= 0x80; break; @@ -978,10 +988,9 @@ void cdrInterrupt() { } // redump.org - wipe time - /*if( !cdr.Play && CheckSBI(cdr.Result+5) ) { + if( !cdr.Play && CheckSBI(cdr.Result+5) ) { memset( cdr.Result+2, 0, 6 ); } - */ cdr.Stat = Acknowledge; break; @@ -1321,11 +1330,14 @@ void cdrReadInterrupt() { SPU_playADPCMchannel(&cdr.Xa); cdr.FirstSector = 0; - +#if 0 // Crash Team Racing: music, speech + // - done using cdda decoded buffer (spu irq) + // - don't do here // signal ADPCM data ready psxHu32ref(0x1070) |= SWAP32((u32)0x200); +#endif } else cdr.FirstSector = -1; } @@ -1610,17 +1622,7 @@ void cdrWrite1(unsigned char rt) { cdr.Ctrl |= 0x80; cdr.Stat = NoIntr; - /* - Gundam Battle Assault 2: much slower (*) - - Fixes boot, gameplay - - Hokuto no Ken 2: slower - - Fixes intro + subtitles - - InuYasha - Feudal Fairy Tale: slower - - Fixes battles - */ - AddIrqQueue(cdr.Cmd, cdReadTime * 3); + AddIrqQueue(cdr.Cmd, 0x800); break; case CdlReset: @@ -1898,11 +1900,10 @@ void cdrWrite3(unsigned char rt) { // - Final Fantasy Tactics // - various other games - /* + if (cdr.Irq) // rearmed guesswork hack if (cdr.Reading && !cdr.ResultReady) { CDREAD_INT((cdr.Mode & MODE_SPEED) ? (cdReadTime / 2) : cdReadTime); } - */ return; }