summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
4810ff9)
Per feedback from notaz, thanks to him.
CDR_LOG("ReadTrack *** %02x:%02x:%02x\n", tmp[0], tmp[1], tmp[2]);
CDR_LOG("ReadTrack *** %02x:%02x:%02x\n", tmp[0], tmp[1], tmp[2]);
- cdr.RErr = CDR_readTrack(tmp);
+ cdr.NoErr = CDR_readTrack(tmp);
memcpy(cdr.Prev, tmp, 3);
if (CheckSBI(time))
memcpy(cdr.Prev, tmp, 3);
if (CheckSBI(time))
cdr.Seeked = SEEK_DONE;
if (cdr.Irq == 0) {
cdr.Stat = Complete;
cdr.Seeked = SEEK_DONE;
if (cdr.Irq == 0) {
cdr.Stat = Complete;
do_CdlPlay:
case CdlPlay:
StopCdda();
do_CdlPlay:
case CdlPlay:
StopCdda();
- /* It would set it to SEEK_DONE*/
- cdr.Seeked = SEEK_PENDING;
+ if (cdr.Seeked == SEEK_PENDING) {
+ // XXX: wrong, should seek instead..
+ cdr.Seeked = SEEK_DONE;
+ }
cdr.FastBackward = 0;
cdr.FastForward = 0;
cdr.FastBackward = 0;
cdr.FastForward = 0;
case CdlForward:
// TODO: error 80 if stopped
cdr.Stat = Complete;
case CdlForward:
// TODO: error 80 if stopped
cdr.Stat = Complete;
// GameShark CD Player: Calls 2x + Play 2x
cdr.FastForward = 1;
cdr.FastBackward = 0;
// GameShark CD Player: Calls 2x + Play 2x
cdr.FastForward = 1;
cdr.FastBackward = 0;
case CdlStandby + 0x100:
cdr.Stat = Complete;
case CdlStandby + 0x100:
cdr.Stat = Complete;
cdr.StatP &= ~STATUS_ROTATING;
cdr.Result[0] = cdr.StatP;
cdr.Stat = Complete;
cdr.StatP &= ~STATUS_ROTATING;
cdr.Result[0] = cdr.StatP;
cdr.Stat = Complete;
cdr.StatP &= ~STATUS_READ;
cdr.Result[0] = cdr.StatP;
cdr.Stat = Complete;
cdr.StatP &= ~STATUS_READ;
cdr.Result[0] = cdr.StatP;
cdr.Stat = Complete;
case CdlReset + 0x100:
cdr.Stat = Complete;
case CdlReset + 0x100:
cdr.Stat = Complete;
case CdlReadT + 0x100:
cdr.Stat = Complete;
case CdlReadT + 0x100:
cdr.Stat = Complete;
/* This adds the string "PCSX" in Playstation bios boot screen */
memcpy((char *)&cdr.Result[4], "PCSX", 4);
cdr.Stat = Complete;
/* This adds the string "PCSX" in Playstation bios boot screen */
memcpy((char *)&cdr.Result[4], "PCSX", 4);
cdr.Stat = Complete;
case CdlReadToc + 0x100:
cdr.Stat = Complete;
case CdlReadToc + 0x100:
cdr.Stat = Complete;
no_busy_error = 1;
break;
no_busy_error = 1;
break;
buf = CDR_getBuffer();
if (buf == NULL)
buf = CDR_getBuffer();
if (buf == NULL)
CDR_LOG_I("cdrReadInterrupt() Log: err\n");
memset(cdr.Transfer, 0, DATA_SIZE);
cdr.Stat = DiskError;
CDR_LOG_I("cdrReadInterrupt() Log: err\n");
memset(cdr.Transfer, 0, DATA_SIZE);
cdr.Stat = DiskError;
int CurTrack;
int Mode, File, Channel;
int Reset;
int CurTrack;
int Mode, File, Channel;
int Reset;
int FirstSector;
xa_decode_t Xa;
int FirstSector;
xa_decode_t Xa;