diff options
Diffstat (limited to 'src/devices/bus/coco/coco_dcmodem.cpp')
-rw-r--r-- | src/devices/bus/coco/coco_dcmodem.cpp | 16 |
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]; +} |