From 989fd54201eef7f4c03d3dd499a83e194b29d87d Mon Sep 17 00:00:00 2001 From: AJR Date: Tue, 30 Nov 2021 21:57:43 -0500 Subject: midearth: Fix crash caused by incorrect length of memory share --- src/mame/drivers/atari_s1.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/mame/drivers/atari_s1.cpp b/src/mame/drivers/atari_s1.cpp index 09aed49621d..593a508a8a2 100644 --- a/src/mame/drivers/atari_s1.cpp +++ b/src/mame/drivers/atari_s1.cpp @@ -107,6 +107,7 @@ private: void midearth_w(offs_t offset, u8 data); TIMER_DEVICE_CALLBACK_MEMBER(nmi); TIMER_DEVICE_CALLBACK_MEMBER(timer_s); + void common_map(address_map &map); void mem_map(address_map &map); void atarians_map(address_map &map); void midearth_map(address_map &map); @@ -130,11 +131,10 @@ private: output_finder<160> m_io_outputs; // 32 solenoids + 128 lamps }; -void atari_s1_state::mem_map(address_map &map) +void atari_s1_state::common_map(address_map &map) { map.unmap_value_high(); map.global_mask(0x7fff); - map(0x0000, 0x00ff).ram().share("ram").w(FUNC(atari_s1_state::disp_w)); map(0x1080, 0x1083).rw(FUNC(atari_s1_state::m1080_r), FUNC(atari_s1_state::m1080_w)); map(0x1084, 0x1087).rw(FUNC(atari_s1_state::m1084_r), FUNC(atari_s1_state::m1084_w)); map(0x1088, 0x108b).rw(FUNC(atari_s1_state::m1088_r), FUNC(atari_s1_state::m1088_w)); @@ -147,18 +147,20 @@ void atari_s1_state::mem_map(address_map &map) map(0x7000, 0x7fff).rom().region("maincpu",0); } +void atari_s1_state::mem_map(address_map &map) +{ + common_map(map); + map(0x0000, 0x00ff).ram().share("ram").w(FUNC(atari_s1_state::disp_w)); +} + void atari_s1_state::atarians_map(address_map &map) { - map.unmap_value_high(); - map.global_mask(0x7fff); - mem_map(map); - map(0x0100, 0x01ff).ram(); + common_map(map); + map(0x0000, 0x01ff).ram().share("ram").w(FUNC(atari_s1_state::disp_w)); } void atari_s1_state::midearth_map(address_map &map) { - map.unmap_value_high(); - map.global_mask(0x7fff); atarians_map(map); map(0x1000, 0x11ff).w(FUNC(atari_s1_state::midearth_w)); } -- cgit v1.2.3