summaryrefslogtreecommitdiff
path: root/libpcsxcore
diff options
context:
space:
mode:
Diffstat (limited to 'libpcsxcore')
-rw-r--r--libpcsxcore/cdrom.c12
1 files changed, 12 insertions, 0 deletions
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