diff options
Diffstat (limited to 'src/mame/drivers/n64.cpp')
-rw-r--r-- | src/mame/drivers/n64.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/mame/drivers/n64.cpp b/src/mame/drivers/n64.cpp index 4a94be10476..603c80f68bc 100644 --- a/src/mame/drivers/n64.cpp +++ b/src/mame/drivers/n64.cpp @@ -45,7 +45,8 @@ private: DECLARE_DEVICE_IMAGE_UNLOAD_MEMBER(unload_n64dd); void n64_map(address_map &map); void n64dd_map(address_map &map); - void rsp_map(address_map &map); + void rsp_imem_map(address_map &map); + void rsp_dmem_map(address_map &map); }; uint32_t n64_mess_state::dd_null_r() @@ -96,12 +97,14 @@ void n64_mess_state::n64dd_map(address_map &map) map(0x1fc007c0, 0x1fc007ff).rw("rcp", FUNC(n64_periphs::pif_ram_r), FUNC(n64_periphs::pif_ram_w)); } -void n64_mess_state::rsp_map(address_map &map) +void n64_mess_state::rsp_imem_map(address_map &map) +{ + map(0x00000000, 0x00000fff).ram().share("rsp_imem"); +} + +void n64_mess_state::rsp_dmem_map(address_map &map) { map(0x00000000, 0x00000fff).ram().share("rsp_dmem"); - map(0x00001000, 0x00001fff).ram().share("rsp_imem"); - map(0x04000000, 0x04000fff).ram().share("rsp_dmem"); - map(0x04001000, 0x04001fff).ram().share("rsp_imem"); } static INPUT_PORTS_START( n64 ) @@ -445,7 +448,8 @@ void n64_mess_state::n64(machine_config &config) m_rsp->sp_reg_r().set(m_rcp_periphs, FUNC(n64_periphs::sp_reg_r)); m_rsp->sp_reg_w().set(m_rcp_periphs, FUNC(n64_periphs::sp_reg_w)); m_rsp->status_set().set(m_rcp_periphs, FUNC(n64_periphs::sp_set_status)); - m_rsp->set_addrmap(AS_PROGRAM, &n64_mess_state::rsp_map); + m_rsp->set_addrmap(AS_PROGRAM, &n64_mess_state::rsp_imem_map); + m_rsp->set_addrmap(AS_DATA, &n64_mess_state::rsp_dmem_map); config.set_maximum_quantum(attotime::from_hz(500000)); |