summaryrefslogtreecommitdiffstats
path: root/src/devices/bus/rc2014/ram.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/rc2014/ram.cpp')
-rw-r--r--src/devices/bus/rc2014/ram.cpp14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/devices/bus/rc2014/ram.cpp b/src/devices/bus/rc2014/ram.cpp
index 83790e510df..dc7c89ae170 100644
--- a/src/devices/bus/rc2014/ram.cpp
+++ b/src/devices/bus/rc2014/ram.cpp
@@ -69,7 +69,6 @@ protected:
virtual ioport_constructor device_input_ports() const override;
DECLARE_WRITE_LINE_MEMBER( page_w ) { m_bank = state; update_banks(); }
- void ram_w(offs_t offset, uint8_t data) { m_ram[offset] = data; }
virtual void update_banks() = 0;
@@ -105,7 +104,7 @@ void ram_64k_base::device_reset()
static INPUT_PORTS_START( ram_64k_jumpers )
PORT_START("START_ADDR")
- PORT_CONFNAME( 0x4, 0x0, "Start address" )
+ PORT_CONFNAME( 0x7, 0x0, "Start address" )
PORT_CONFSETTING( 0x0, "0x0000" )
PORT_CONFSETTING( 0x1, "0x1000" )
PORT_CONFSETTING( 0x2, "0x2000" )
@@ -164,11 +163,10 @@ void ram_64k_device::update_banks()
{
if (m_paged->read() == 0) return; // If not paged skip
- if (m_bank == 0) {
- m_bus->installer(AS_PROGRAM)->install_write_handler(0x0000, 0x7fff, write8sm_delegate(*this, FUNC(ram_64k_device::ram_w)));
- } else {
+ if (m_bank == 0)
+ m_bus->installer(AS_PROGRAM)->install_writeonly(0x0000, 0x7fff, m_ram.get());
+ else
m_bus->installer(AS_PROGRAM)->install_ram(0x0000, 0x7fff, m_ram.get());
- }
}
//**************************************************************************
@@ -202,9 +200,9 @@ void ram_64k_device_40pin::device_reset()
if (m_paged->read())
{
m_bus->installer(AS_PROGRAM)->install_ram(0x8000, 0xffff, m_ram.get() + 0x8000);
- m_bus->installer(AS_PROGRAM)->install_write_handler(0x0000, 0x7fff, write8sm_delegate(*this, FUNC(ram_64k_device_40pin::ram_w)));
+ m_bus->installer(AS_PROGRAM)->install_writeonly(0x0000, 0x7fff, m_ram.get());
}
- else
+ else
{
m_bus->installer(AS_PROGRAM)->install_ram(m_start_addr->read() * 0x1000, 0xffff, m_ram.get() + m_start_addr->read() * 0x1000);
}