diff --git a/src/emu/cpu/g65816/g65816.c b/src/emu/cpu/g65816/g65816.c index 0dbc1c6b791..d8f0a0ff5b4 100644 --- a/src/emu/cpu/g65816/g65816.c +++ b/src/emu/cpu/g65816/g65816.c @@ -674,6 +674,22 @@ static ADDRESS_MAP_START(_5a22_map, AS_PROGRAM, 8, legacy_cpu_device) ADDRESS_MAP_END +void set_5a22_map(legacy_cpu_device &cpu) +{ + cpu.space(AS_PROGRAM).install_legacy_write_handler(0x4202, 0x4202, 0, 0x3f0000, FUNC(wrmpya_w)); + cpu.space(AS_PROGRAM).install_legacy_write_handler(0x4203, 0x4203, 0, 0x3f0000, FUNC(wrmpyb_w)); + cpu.space(AS_PROGRAM).install_legacy_write_handler(0x4204, 0x4204, 0, 0x3f0000, FUNC(wrdivl_w)); + cpu.space(AS_PROGRAM).install_legacy_write_handler(0x4205, 0x4205, 0, 0x3f0000, FUNC(wrdivh_w)); + cpu.space(AS_PROGRAM).install_legacy_write_handler(0x4206, 0x4206, 0, 0x3f0000, FUNC(wrdvdd_w)); + + cpu.space(AS_PROGRAM).install_legacy_write_handler(0x420d, 0x420d, 0, 0x3f0000, FUNC(memsel_w)); + + cpu.space(AS_PROGRAM).install_legacy_read_handler(0x4214, 0x4214, 0, 0x3f0000, FUNC(rddivl_r)); + cpu.space(AS_PROGRAM).install_legacy_read_handler(0x4215, 0x4215, 0, 0x3f0000, FUNC(rddivh_r)); + cpu.space(AS_PROGRAM).install_legacy_read_handler(0x4216, 0x4216, 0, 0x3f0000, FUNC(rdmpyl_r)); + cpu.space(AS_PROGRAM).install_legacy_read_handler(0x4217, 0x4217, 0, 0x3f0000, FUNC(rdmpyh_r)); +} + CPU_SET_INFO( _5a22 ) { g65816i_cpu_struct *cpustate = (device != NULL && device->token() != NULL) ? get_safe_token(device) : NULL; diff --git a/src/emu/cpu/g65816/g65816.h b/src/emu/cpu/g65816/g65816.h index 140dafccf52..3370fa51a1e 100644 --- a/src/emu/cpu/g65816/g65816.h +++ b/src/emu/cpu/g65816/g65816.h @@ -67,6 +67,7 @@ DECLARE_LEGACY_CPU_DEVICE(_5A22, _5a22); void g65816_set_read_vector_callback(device_t *device, read8_delegate read_vector); +void set_5a22_map(legacy_cpu_device &cpu); /* ======================================================================== */ /* ============================== END OF FILE ============================= */ diff --git a/src/mess/drivers/snes.c b/src/mess/drivers/snes.c index e2d01872b85..5ab132beef1 100644 --- a/src/mess/drivers/snes.c +++ b/src/mess/drivers/snes.c @@ -2373,8 +2373,9 @@ static MACHINE_START( snesnew ) case SNES_MODE21: case SNES_MODE25: case SNES_DSP_MODE21: -// machine.device("maincpu")->memory().space(AS_PROGRAM).install_legacy_readwrite_handler(0x000000, 0x7dffff, FUNC(snes21_lo_r), FUNC(snes21_lo_w)); -// machine.device("maincpu")->memory().space(AS_PROGRAM).install_legacy_readwrite_handler(0x800000, 0xffffff, FUNC(snes21_hi_r), FUNC(snes21_hi_w)); + machine.device("maincpu")->memory().space(AS_PROGRAM).install_legacy_readwrite_handler(0x000000, 0x7dffff, FUNC(snes21_lo_r), FUNC(snes21_lo_w)); + machine.device("maincpu")->memory().space(AS_PROGRAM).install_legacy_readwrite_handler(0x800000, 0xffffff, FUNC(snes21_hi_r), FUNC(snes21_hi_w)); + set_5a22_map(*state->m_maincpu); break; } }