StopCdda();
}
else if (((cdr.Mode & MODE_REPORT) || cdr.FastForward || cdr.FastBackward)) {
- CDR_readCDDA(cdr.SetSectorPlay[0], cdr.SetSectorPlay[1], cdr.SetSectorPlay[2], (u8 *)read_buf);
cdr.Result[0] = cdr.StatP;
cdr.Result[1] = cdr.subq.Track;
cdr.Result[2] = cdr.subq.Index;
StopCdda();
cdr.TrackChanged = TRUE;
}
+ else {
+ CDR_readCDDA(cdr.SetSectorPlay[0], cdr.SetSectorPlay[1], cdr.SetSectorPlay[2], (u8 *)read_buf);
+ }
if (!cdr.Irq && !cdr.Stat && (cdr.Mode & (MODE_AUTOPAUSE|MODE_REPORT)))
cdrPlayInterrupt_Autopause();
- if (!cdr.Play) return;
-
- if (CDR_readCDDA && !cdr.Muted && cdr.Mode & MODE_REPORT) {
+ if (CDR_readCDDA && !cdr.Muted && !Config.Cdda) {
cdrAttenuate(read_buf, CD_FRAMESIZE_RAW / 4, 1);
if (SPU_playCDDAchannel)
SPU_playCDDAchannel(read_buf, CD_FRAMESIZE_RAW);
ReadTrack(cdr.SetSectorPlay);
cdr.TrackChanged = FALSE;
+ StopReading();
if (!Config.Cdda)
CDR_play(cdr.SetSectorPlay);
* Mednafen's timing don't work for Gundam Battle Assault 2 in PAL/50hz mode,
* seems to be timing sensitive as it can depend on the CPU's clock speed.
* */
- if (cdr.DriveState != DRIVESTATE_STANDBY)
+ if (cdr.DriveState == DRIVESTATE_STANDBY)
{
delay = 7000;
}