ref: dd6976f79391a1d98690efa28a77d8674c2d746b
parent: 69a1076197fd30228ab21b06961bc5d7b305ff79
author: allkern <lisandroaalarcon@gmail.com>
date: Sun Jul 23 07:05:36 EDT 2023
Implement No Disc GetID response
--- a/psx/dev/cdrom.c
+++ b/psx/dev/cdrom.c
@@ -401,14 +401,26 @@
case CD_STATE_RESP2: {SET_BITS(ifr, IFR_INT, 2);
- RESP_PUSH(0x41);
- RESP_PUSH(0x45);
- RESP_PUSH(0x43);
- RESP_PUSH(0x53);
- RESP_PUSH(0x00);
- RESP_PUSH(0x20);
- RESP_PUSH(0x00);
- RESP_PUSH(0x02);
+
+ if (cdrom->disc) {+ RESP_PUSH(0x41);
+ RESP_PUSH(0x45);
+ RESP_PUSH(0x43);
+ RESP_PUSH(0x53);
+ RESP_PUSH(0x00);
+ RESP_PUSH(0x20);
+ RESP_PUSH(0x00);
+ RESP_PUSH(0x02);
+ } else {+ RESP_PUSH(0x00);
+ RESP_PUSH(0x00);
+ RESP_PUSH(0x00);
+ RESP_PUSH(0x00);
+ RESP_PUSH(0x00);
+ RESP_PUSH(0x00);
+ RESP_PUSH(0x40);
+ RESP_PUSH(0x08);
+ }
cdrom->state = CD_STATE_CMD;
cdrom->delayed_command = CDL_NONE;
--- a/psx/dev/timer.c
+++ b/psx/dev/timer.c
@@ -177,8 +177,6 @@
if (T0_MODE & MODE_RESETC) {if (reached_target)
T0_COUNTER -= T0_TARGET;
- } else {- T0_COUNTER -= 0xffff;
}
}
--
⑨