drc: rm unneeded writebacks in stubs, as suggested by Ari64
[pcsx_rearmed.git] / libpcsxcore / r3000a.c
index f92edb7..1143b81 100644 (file)
@@ -163,6 +163,24 @@ void psxBranchTest() {
                                gpuotcInterrupt();
                        }
                }
+               if (psxRegs.interrupt & (1 << PSXINT_CDRDMA)) { // cdrom
+                       if ((psxRegs.cycle - psxRegs.intCycle[PSXINT_CDRDMA].sCycle) >= psxRegs.intCycle[PSXINT_CDRDMA].cycle) {
+                               psxRegs.interrupt &= ~(1 << PSXINT_CDRDMA);
+                               cdrDmaInterrupt();
+                       }
+               }
+               if (psxRegs.interrupt & (1 << PSXINT_CDRPLAY)) { // cdr play timing
+                       if ((psxRegs.cycle - psxRegs.intCycle[PSXINT_CDRPLAY].sCycle) >= psxRegs.intCycle[PSXINT_CDRPLAY].cycle) {
+                               psxRegs.interrupt &= ~(1 << PSXINT_CDRPLAY);
+                               cdrPlayInterrupt();
+                       }
+               }
+               if (psxRegs.interrupt & (1 << PSXINT_CDRLID)) { // cdr lid states
+                       if ((psxRegs.cycle - psxRegs.intCycle[PSXINT_CDRLID].sCycle) >= psxRegs.intCycle[PSXINT_CDRLID].cycle) {
+                               psxRegs.interrupt &= ~(1 << PSXINT_CDRLID);
+                               cdrLidSeekInterrupt();
+                       }
+               }
        }
 
        if (psxHu32(0x1070) & psxHu32(0x1074)) {