cdrom: move pause delay after ACK
authornotaz <notasas@gmail.com>
Tue, 15 Feb 2011 12:08:06 +0000 (14:08 +0200)
committernotaz <notasas@gmail.com>
Tue, 15 Feb 2011 12:08:06 +0000 (14:08 +0200)
This solves FF7 slowdowns and keeps games that need this delay working.

libpcsxcore/cdrom.c

index 343d82c..0de7ecc 100644 (file)
@@ -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;
 
@@ -1610,17 +1620,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: