diff options
author | notaz | 2013-03-11 01:17:38 +0200 |
---|---|---|
committer | notaz | 2013-03-15 02:19:21 +0200 |
commit | 9dd7d179658d34f7943fa0092d172bf4f78d325b (patch) | |
tree | 5a408bed3137b59fd016149aba14814a36ba47d7 /libpcsxcore/new_dynarec | |
parent | 507d7c1d3eb09cbe2b7706f3fe8b88c99df54823 (diff) | |
download | pcsx_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')
-rw-r--r-- | libpcsxcore/new_dynarec/pcsxmem.c | 6 |
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 |