aboutsummaryrefslogtreecommitdiff
path: root/libpcsxcore/new_dynarec/pcsxmem.c
diff options
context:
space:
mode:
authornotaz2013-03-11 01:17:38 +0200
committernotaz2013-03-15 02:19:21 +0200
commit9dd7d179658d34f7943fa0092d172bf4f78d325b (patch)
tree5a408bed3137b59fd016149aba14814a36ba47d7 /libpcsxcore/new_dynarec/pcsxmem.c
parent507d7c1d3eb09cbe2b7706f3fe8b88c99df54823 (diff)
downloadpcsx_rearmed-9dd7d179658d34f7943fa0092d172bf4f78d325b.tar.gz
pcsx_rearmed-9dd7d179658d34f7943fa0092d172bf4f78d325b.tar.bz2
pcsx_rearmed-9dd7d179658d34f7943fa0092d172bf4f78d325b.zip
psxmem: handle io mirrors
tested on real hardware (ignoring missing fault emulation) fixes Star Wars - Episode I
Diffstat (limited to 'libpcsxcore/new_dynarec/pcsxmem.c')
-rw-r--r--libpcsxcore/new_dynarec/pcsxmem.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libpcsxcore/new_dynarec/pcsxmem.c b/libpcsxcore/new_dynarec/pcsxmem.c
index a42852a..3d14904 100644
--- a/libpcsxcore/new_dynarec/pcsxmem.c
+++ b/libpcsxcore/new_dynarec/pcsxmem.c
@@ -338,11 +338,17 @@ void new_dyna_pcsx_mem_init(void)
// scratchpad
map_l1_mem(mem_readtab, 0, 0x1f800000, 0x1000, psxH);
+ map_l1_mem(mem_readtab, 0, 0x9f800000, 0x1000, psxH);
map_l1_mem(mem_writetab, 0, 0x1f800000, 0x1000, psxH);
+ map_l1_mem(mem_writetab, 0, 0x9f800000, 0x1000, psxH);
// I/O
map_item(&mem_readtab[0x1f801000 >> 12], mem_iortab, 1);
+ map_item(&mem_readtab[0x9f801000 >> 12], mem_iortab, 1);
+ map_item(&mem_readtab[0xbf801000 >> 12], mem_iortab, 1);
map_item(&mem_writetab[0x1f801000 >> 12], mem_iowtab, 1);
+ map_item(&mem_writetab[0x9f801000 >> 12], mem_iowtab, 1);
+ map_item(&mem_writetab[0xbf801000 >> 12], mem_iowtab, 1);
// L2
// unmapped tables