aboutsummaryrefslogtreecommitdiff
path: root/libpcsxcore/new_dynarec/pcsxmem.c
diff options
context:
space:
mode:
authornotaz2010-12-23 19:18:36 +0200
committernotaz2010-12-23 19:18:36 +0200
commita06c1d6e156b90ce9bfa18664256dfe8f815857e (patch)
tree0c4abe39b1096ec1366d15e93af8beddcb185095 /libpcsxcore/new_dynarec/pcsxmem.c
parentc62b43c9f32d79116225247acf09ccd30d4d658b (diff)
downloadpcsx_rearmed-a06c1d6e156b90ce9bfa18664256dfe8f815857e.tar.gz
pcsx_rearmed-a06c1d6e156b90ce9bfa18664256dfe8f815857e.tar.bz2
pcsx_rearmed-a06c1d6e156b90ce9bfa18664256dfe8f815857e.zip
drc: map bios and fix dummy reads
Diffstat (limited to 'libpcsxcore/new_dynarec/pcsxmem.c')
-rw-r--r--libpcsxcore/new_dynarec/pcsxmem.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/libpcsxcore/new_dynarec/pcsxmem.c b/libpcsxcore/new_dynarec/pcsxmem.c
index dc3ce69..a323c18 100644
--- a/libpcsxcore/new_dynarec/pcsxmem.c
+++ b/libpcsxcore/new_dynarec/pcsxmem.c
@@ -72,6 +72,9 @@ extern void ari_write_ram32();
extern void ari_write_ram_mirror8();
extern void ari_write_ram_mirror16();
extern void ari_write_ram_mirror32();
+extern void ari_read_bios8();
+extern void ari_read_bios16();
+extern void ari_read_bios32();
extern void ari_read_io8();
extern void ari_read_io16();
extern void ari_read_io32();
@@ -295,7 +298,7 @@ void new_dyna_pcsx_mem_init(void)
writemem[i] = write_mem32;
#if 1
readmemb[i] = readmemh[i] = readmem[i] = read_mem_dummy;
- readmemb[i] = readmemh[i] = readmem[i] = write_mem_dummy;
+ writememb[i] = writememh[i] = writemem[i] = write_mem_dummy;
#endif
}
@@ -320,6 +323,13 @@ void new_dyna_pcsx_mem_init(void)
writemem[i] = ari_write_ram32;
}
+ // BIOS and it's mirrors
+ for (i = 0x1fc0; i < 0x1fc8; i++) {
+ readmemb[i] = readmemb[0x8000|i] = readmemb[0xa000|i] = ari_read_bios8;
+ readmemh[i] = readmemh[0x8000|i] = readmemh[0xa000|i] = ari_read_bios16;
+ readmem[i] = readmem[0x8000|i] = readmem[0xa000|i] = ari_read_bios32;
+ }
+
// I/O
readmemb[0x1f80] = ari_read_io8;
readmemh[0x1f80] = ari_read_io16;