wrong but hopefully not as much as it was
Check_Shell( Irq );
+ cdr.ParamP = 0;
+ cdr.ParamC = 0;
+
if (cdr.Stat != NoIntr && cdr.Reg2 != 0x18) {
psxHu32ref(0x1070) |= SWAP32((u32)0x4);
}
CDR_LOG("cdrWrite0() Log: CD0 write: %x\n", rt);
#endif
cdr.Ctrl = (rt & 3) | (cdr.Ctrl & ~3);
-
- if (rt == 0) {
- cdr.ParamP = 0;
- cdr.ParamC = 0;
- cdr.ResultReady = 0;
- }
}
unsigned char cdrRead1(void) {
if (cdr.Ctrl & 0x3) return;
+ cdr.ResultReady = 0;
+
switch (cdr.Cmd) {
case CdlSync:
cdr.Ctrl |= 0x80;
break;
default:
+ cdr.ParamP = 0;
+ cdr.ParamC = 0;
#ifdef CDR_LOG
CDR_LOG("cdrWrite1() Log: Unknown command: %x\n", cdr.Cmd);
#endif