From b661294ebd3fcc65cebc54f277584d93991799a6 Mon Sep 17 00:00:00 2001 From: "SND\\shalma_cp" Date: Sat, 30 Oct 2010 14:57:39 +0000 Subject: 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 --- libpcsxcore/cdrom.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'libpcsxcore') 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; -- cgit v1.2.3