From: gameblabla Date: Mon, 30 Aug 2021 21:08:08 +0000 (+0000) Subject: Fix regression with CdlPause (#209) X-Git-Tag: r23~123 X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4e70ea5a634f0568c6cb40ff945fb6c3150665df;p=pcsx_rearmed.git Fix regression with CdlPause (#209) --- diff --git a/libpcsxcore/cdrom.c b/libpcsxcore/cdrom.c index 2d9d77f0..72361798 100644 --- a/libpcsxcore/cdrom.c +++ b/libpcsxcore/cdrom.c @@ -722,14 +722,18 @@ void cdrInterrupt() { InuYasha - Feudal Fairy Tale: slower - Fixes battles */ - /* Gameblabla - Tightening the timings (as taken from Mednafen). */ + /* Gameblabla - Tightening the timings (as taken from Duckstation). + * The timings from Duckstation are based upon hardware tests. + * Mednafen's timing don't work for Gundam Battle Assault 2 in PAL/50hz mode, + * seems to be timing sensitive as it can depend on the CPU's clock speed. + * */ if (cdr.DriveState != DRIVESTATE_STANDBY) { - delay = 5000; + delay = 7000; } else { - delay = (1124584 + (msf2sec(cdr.SetSectorPlay) * 42596 / (75 * 60))) * ((cdr.Mode & MODE_SPEED) ? 1 : 2); + delay = (((cdr.Mode & MODE_SPEED) ? 2 : 1) * (1000000)); CDRMISC_INT((cdr.Mode & MODE_SPEED) ? cdReadTime / 2 : cdReadTime); } AddIrqQueue(CdlPause + 0x100, delay);