diff --git a/src/emu/machine/ram.h b/src/emu/machine/ram.h index a144fa6cd47..fefb440d5b5 100644 --- a/src/emu/machine/ram.h +++ b/src/emu/machine/ram.h @@ -58,6 +58,10 @@ public: static UINT32 parse_string(const char *s); UINT32 default_size(void) const; const char *extra_options(void) const { return m_extra_options; } + + // read/write + UINT8 read(offs_t offset) { return m_pointer[offset % m_size]; } + void write(offs_t offset, UINT8 data) { m_pointer[offset % m_size] = data; } // inline configuration helpers static void static_set_default_size(device_t &device, const char *default_size) { downcast(device).m_default_size = default_size; } diff --git a/src/mess/machine/coco12.c b/src/mess/machine/coco12.c index c7239288d5e..f7235484566 100644 --- a/src/mess/machine/coco12.c +++ b/src/mess/machine/coco12.c @@ -80,7 +80,7 @@ WRITE_LINE_MEMBER( coco12_state::field_sync ) READ8_MEMBER( coco12_state::sam_read ) { - UINT8 data = m_sam->mpu_address_space()->read_byte(offset); + UINT8 data = m_ram->read(offset); m_vdg->as_w(data & 0x80 ? ASSERT_LINE : CLEAR_LINE); m_vdg->inv_w(data & 0x40 ? ASSERT_LINE : CLEAR_LINE); return data;