From 24936efb4e1d4be40867ed4d885fd6c6770d5870 Mon Sep 17 00:00:00 2001 From: "SND\\shalma_cp" Date: Fri, 5 Nov 2010 01:22:48 +0000 Subject: Ape Escape - cdrom.c - detect 0 dma size transfers - fixes boot git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@59189 e17a0e51-4ae3-4d35-97c3-1a29b211df97 --- libpcsxcore/cdrom.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/libpcsxcore/cdrom.c b/libpcsxcore/cdrom.c index cec02b57..d3b83b01 100644 --- a/libpcsxcore/cdrom.c +++ b/libpcsxcore/cdrom.c @@ -1824,6 +1824,18 @@ void psxDma3(u32 madr, u32 bcr, u32 chcr) { cdsize = (bcr & 0xffff) * 4; + // Ape Escape: bcr = 0001 / 0000 + // - fix boot + if( cdsize == 0 ) + { + switch (cdr.Mode & 0x30) { + case 0x00: cdsize = 2048; break; + case 0x10: cdsize = 2328; break; + case 0x20: cdsize = 2340; break; + } + } + + ptr = (u8 *)PSXM(madr); if (ptr == NULL) { #ifdef CPU_LOG -- cgit v1.2.3