summaryrefslogtreecommitdiff
path: root/libpcsxcore
diff options
context:
space:
mode:
authorSND\shalma_cp <SND\shalma_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-10-30 14:57:39 +0000
committerSND\shalma_cp <SND\shalma_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-10-30 14:57:39 +0000
commitb661294ebd3fcc65cebc54f277584d93991799a6 (patch)
treeb3f5c5e2798bcab568887bb4a91893c798695f77 /libpcsxcore
parentf550678e07ce132bd3e05aac031577a69b4e63c7 (diff)
downloadpcsxr-b661294ebd3fcc65cebc54f277584d93991799a6.tar.gz
Destruction Derby: cdrom.c
- Add ReadT command (read TOC?) - Fixes boot git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@58929 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'libpcsxcore')
-rw-r--r--libpcsxcore/cdrom.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/libpcsxcore/cdrom.c b/libpcsxcore/cdrom.c
index de0acd62..22497418 100644
--- a/libpcsxcore/cdrom.c
+++ b/libpcsxcore/cdrom.c
@@ -1027,6 +1027,21 @@ void cdrInterrupt() {
cdr.Stat = Acknowledge;
break;
+ case CdlReadT:
+ SetResultSize(1);
+ cdr.StatP |= 0x2;
+ cdr.Result[0] = cdr.StatP;
+ cdr.Stat = Acknowledge;
+ AddIrqQueue(CdlReadT + 0x20, 0x1000);
+ break;
+
+ case CdlReadT + 0x20:
+ SetResultSize(1);
+ cdr.StatP |= 0x2;
+ cdr.Result[0] = cdr.StatP;
+ cdr.Stat = Complete;
+ break;
+
case CdlReadToc:
SetResultSize(1);
cdr.StatP |= 0x2;
@@ -1597,6 +1612,13 @@ void cdrWrite1(unsigned char rt) {
AddIrqQueue(cdr.Cmd, 0x1000);
break;
+ // Destruction Derby: read TOC? GetTD after this
+ case CdlReadT:
+ cdr.Ctrl |= 0x80;
+ cdr.Stat = NoIntr;
+ AddIrqQueue(cdr.Cmd, 0x1000);
+ break;
+
case CdlTest:
cdr.Ctrl |= 0x80;
cdr.Stat = NoIntr;