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) { \
#define StopReading() { \
if (cdr.Reading) { \
cdr.Reading = 0; \
- psxRegs.interrupt &= ~0x40000; \
+ psxRegs.interrupt &= ~(1 << PSXINT_CDREAD); \
} \
cdr.StatP &= ~0x20;\
}
cdr.CurTrack = 1;
cdr.File = 1;
cdr.Channel = 1;
+ memset(&stat, 0, sizeof(stat));
}
int cdrFreeze(gzFile f, int Mode) {