aboutsummaryrefslogtreecommitdiff
path: root/libpcsxcore/r3000a.c
diff options
context:
space:
mode:
authornotaz2011-01-28 17:30:01 +0200
committernotaz2011-01-28 17:33:32 +0200
commit7f457614c936a6f37d12c1885bd504a7a7823690 (patch)
tree267688ee62403e985da7916eb7415466612c396b /libpcsxcore/r3000a.c
parent6fe1f05632f22ddba1d19814e2b14454e8e51940 (diff)
downloadpcsx_rearmed-7f457614c936a6f37d12c1885bd504a7a7823690.tar.gz
pcsx_rearmed-7f457614c936a6f37d12c1885bd504a7a7823690.tar.bz2
pcsx_rearmed-7f457614c936a6f37d12c1885bd504a7a7823690.zip
cdrom: support cdda playback cursor and autopause/report
some differences from PCSX-Reloaded version
Diffstat (limited to 'libpcsxcore/r3000a.c')
-rw-r--r--libpcsxcore/r3000a.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libpcsxcore/r3000a.c b/libpcsxcore/r3000a.c
index ba33548..1143b81 100644
--- a/libpcsxcore/r3000a.c
+++ b/libpcsxcore/r3000a.c
@@ -169,6 +169,12 @@ void psxBranchTest() {
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);