From 2cad6e0f6051068d1bf6d9cb4d83014bfe9e1ade Mon Sep 17 00:00:00 2001 From: AJR Date: Sun, 9 Dec 2018 00:44:44 -0500 Subject: MT 05732 (nw) --- src/devices/cpu/mcs48/mcs48.cpp | 9 +++++---- src/devices/cpu/mcs48/mcs48.h | 2 ++ 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/devices/cpu/mcs48/mcs48.cpp b/src/devices/cpu/mcs48/mcs48.cpp index 331e05d6456..4b8785aeebb 100644 --- a/src/devices/cpu/mcs48/mcs48.cpp +++ b/src/devices/cpu/mcs48/mcs48.cpp @@ -184,17 +184,17 @@ void mcs48_cpu_device::program_12bit(address_map &map) void mcs48_cpu_device::data_6bit(address_map &map) { - map(0x00, 0x3f).ram(); + map(0x00, 0x3f).ram().share("data"); } void mcs48_cpu_device::data_7bit(address_map &map) { - map(0x00, 0x7f).ram(); + map(0x00, 0x7f).ram().share("data"); } void mcs48_cpu_device::data_8bit(address_map &map) { - map(0x00, 0xff).ram(); + map(0x00, 0xff).ram().share("data"); } @@ -213,6 +213,7 @@ mcs48_cpu_device::mcs48_cpu_device(const machine_config &mconfig, device_type ty , m_t0_clk_func() , m_prog_out_cb(*this) , m_psw(0) + , m_dataptr(*this, "data") , m_feature_mask(feature_mask) , m_int_rom_size(rom_size) , m_opcode_table(opcode_table) @@ -385,7 +386,7 @@ uint8_t mcs48_cpu_device::argument_fetch() void mcs48_cpu_device::update_regptr() { - m_regptr = (uint8_t *)m_data->get_write_ptr((m_psw & B_FLAG) ? 24 : 0); + m_regptr = &m_dataptr[(m_psw & B_FLAG) ? 24 : 0]; } diff --git a/src/devices/cpu/mcs48/mcs48.h b/src/devices/cpu/mcs48/mcs48.h index ed155affed3..cc0ccbec1fe 100644 --- a/src/devices/cpu/mcs48/mcs48.h +++ b/src/devices/cpu/mcs48/mcs48.h @@ -224,6 +224,8 @@ protected: address_space *m_data; address_space *m_io; + required_shared_ptr m_dataptr; + uint8_t m_feature_mask; /* processor feature flags */ uint16_t m_int_rom_size; /* internal rom size */ -- cgit v1.2.3