summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/coco/coco_dcmodem.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/coco/coco_dcmodem.cpp')
-rw-r--r--src/devices/bus/coco/coco_dcmodem.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/devices/bus/coco/coco_dcmodem.cpp b/src/devices/bus/coco/coco_dcmodem.cpp
index bebd6c275d5..ab6ba20a622 100644
--- a/src/devices/bus/coco/coco_dcmodem.cpp
+++ b/src/devices/bus/coco/coco_dcmodem.cpp
@@ -41,6 +41,7 @@ namespace
: device_t(mconfig, COCO_DCMODEM, tag, owner, clock)
, device_cococart_interface(mconfig, *this)
, m_uart(*this, UART_TAG)
+ , m_eprom(*this, "eprom")
{
}
@@ -67,17 +68,20 @@ namespace
// CoCo cartridge level overrides
virtual uint8_t *get_cart_base() override
{
- return memregion("eprom")->base();
+ return m_eprom->base();
}
virtual memory_region* get_cart_memregion() override
{
- return memregion("eprom");
+ return m_eprom;
}
+ virtual DECLARE_READ8_MEMBER(cts_read) override;
+
private:
// internal state
required_device<mos6551_device> m_uart;
+ required_memory_region m_eprom;
};
};
@@ -118,4 +122,12 @@ const tiny_rom_entry *coco_dc_modem_device::device_rom_region() const
return ROM_NAME(coco_dcmodem);
}
+//-------------------------------------------------
+// cts_read
+//-------------------------------------------------
+
+READ8_MEMBER(coco_dc_modem_device::cts_read)
+{
+ return m_eprom->base()[offset & 0x1fff];
+}