diff options
author | notaz | 2011-01-28 17:30:01 +0200 |
---|---|---|
committer | notaz | 2011-01-28 17:33:32 +0200 |
commit | 7f457614c936a6f37d12c1885bd504a7a7823690 (patch) | |
tree | 267688ee62403e985da7916eb7415466612c396b /libpcsxcore/r3000a.c | |
parent | 6fe1f05632f22ddba1d19814e2b14454e8e51940 (diff) | |
download | pcsx_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.c | 6 |
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); |