X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=libpcsxcore%2Fcdrom.c;h=0e033db76f8b54778b4d33fa107bbcb426f8973f;hp=d7f4d80cd896436b2be32a60b53c4fb5e5799e28;hb=f5b13bdc7678f786f16ef25c1499555ddbc51321;hpb=654e8cfb205bebc40b26761a900db354b4920931 diff --git a/libpcsxcore/cdrom.c b/libpcsxcore/cdrom.c index d7f4d80c..0e033db7 100644 --- a/libpcsxcore/cdrom.c +++ b/libpcsxcore/cdrom.c @@ -92,17 +92,17 @@ static struct CdrStat stat; static struct SubQ *subq; #define CDR_INT(eCycle) { \ - psxRegs.interrupt |= 0x4; \ - psxRegs.intCycle[2 + 1] = eCycle; \ - psxRegs.intCycle[2] = psxRegs.cycle; \ - new_dyna_set_event(0, eCycle); \ + psxRegs.interrupt |= (1 << PSXINT_CDR); \ + psxRegs.intCycle[PSXINT_CDR].cycle = eCycle; \ + psxRegs.intCycle[PSXINT_CDR].sCycle = psxRegs.cycle; \ + new_dyna_set_event(PSXINT_CDR, eCycle); \ } #define CDREAD_INT(eCycle) { \ - psxRegs.interrupt |= 0x40000; \ - psxRegs.intCycle[2 + 16 + 1] = eCycle; \ - psxRegs.intCycle[2 + 16] = psxRegs.cycle; \ - new_dyna_set_event(2, eCycle); \ + psxRegs.interrupt |= (1 << PSXINT_CDREAD); \ + psxRegs.intCycle[PSXINT_CDREAD].cycle = eCycle; \ + psxRegs.intCycle[PSXINT_CDREAD].sCycle = psxRegs.cycle; \ + new_dyna_set_event(PSXINT_CDREAD, eCycle); \ } #define StartReading(type, eCycle) { \ @@ -115,7 +115,7 @@ static struct SubQ *subq; #define StopReading() { \ if (cdr.Reading) { \ cdr.Reading = 0; \ - psxRegs.interrupt &= ~0x40000; \ + psxRegs.interrupt &= ~(1 << PSXINT_CDREAD); \ } \ cdr.StatP &= ~0x20;\ } @@ -1123,6 +1123,7 @@ void cdrReset() { cdr.CurTrack = 1; cdr.File = 1; cdr.Channel = 1; + memset(&stat, 0, sizeof(stat)); } int cdrFreeze(gzFile f, int Mode) {