From 7ccaa1c49e6c8c484fca891cfb777744247f2327 Mon Sep 17 00:00:00 2001 From: AJR Date: Sun, 19 Mar 2023 11:55:06 -0400 Subject: mcs96: Translate first 256 bytes of main memory space to register space * dvmemory.cpp: Fix oversight in recent refactoring (uninitialized variable) --- src/devices/cpu/mcs96/mcs96.cpp | 9 +++++++++ src/devices/cpu/mcs96/mcs96.h | 1 + src/emu/debug/dvmemory.cpp | 2 ++ 3 files changed, 12 insertions(+) diff --git a/src/devices/cpu/mcs96/mcs96.cpp b/src/devices/cpu/mcs96/mcs96.cpp index ddf7a7604b5..93e4603293f 100644 --- a/src/devices/cpu/mcs96/mcs96.cpp +++ b/src/devices/cpu/mcs96/mcs96.cpp @@ -241,6 +241,15 @@ u16 mcs96_device::any_r16(u16 adr) return program->read_word(adr); } +bool mcs96_device::memory_translate(int spacenum, int intention, offs_t &address, address_space *&target_space) +{ + if (spacenum == AS_PROGRAM && intention != TR_FETCH && address < 0x100) + target_space = regs; + else + target_space = &space(spacenum); + return true; +} + uint8_t mcs96_device::do_addb(uint8_t v1, uint8_t v2) { uint16_t sum = v1+v2; diff --git a/src/devices/cpu/mcs96/mcs96.h b/src/devices/cpu/mcs96/mcs96.h index b27d13044c7..eb22ae13d30 100644 --- a/src/devices/cpu/mcs96/mcs96.h +++ b/src/devices/cpu/mcs96/mcs96.h @@ -57,6 +57,7 @@ protected: // device_memory_interface overrides virtual space_config_vector memory_space_config() const override; + virtual bool memory_translate(int spacenum, int intention, offs_t &address, address_space *&target_space) override; // device_state_interface overrides virtual void state_import(const device_state_entry &entry) override; diff --git a/src/emu/debug/dvmemory.cpp b/src/emu/debug/dvmemory.cpp index fedc9ad3c00..c0fe1ead5c6 100644 --- a/src/emu/debug/dvmemory.cpp +++ b/src/emu/debug/dvmemory.cpp @@ -868,6 +868,8 @@ bool debug_view_memory::read(u8 size, offs_t offs, u64 &data) offs_t dummyaddr = offs; ismapped = source.m_memintf->translate(source.m_space->spacenum(), device_memory_interface::TR_READ, dummyaddr, tspace); } + else + tspace = source.m_space; data = ~u64(0); if (ismapped) data = m_expression.context().read_memory(*tspace, offs, size, !m_no_translation); -- cgit v1.2.3