summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2019-09-01 07:08:15 -0400
committer AJR <ajrhacker@users.noreply.github.com>2019-09-01 07:08:15 -0400
commit9eb7925be7baf8c369654a4194c36ac34982e5e4 (patch)
tree4dbfb72f4bf41f45f0e8c9e77fc18cd6531135ab
parent0311e621b97fe23e5fd981931eadce5bdaf16018 (diff)
MT #07405 (nw)
-rw-r--r--src/devices/bus/coco/dragon_jcbsnd.cpp18
-rw-r--r--src/devices/bus/coco/dragon_jcbsnd.h1
2 files changed, 15 insertions, 4 deletions
diff --git a/src/devices/bus/coco/dragon_jcbsnd.cpp b/src/devices/bus/coco/dragon_jcbsnd.cpp
index 29f664a9a77..c193e72eb80 100644
--- a/src/devices/bus/coco/dragon_jcbsnd.cpp
+++ b/src/devices/bus/coco/dragon_jcbsnd.cpp
@@ -54,9 +54,6 @@ dragon_jcbsnd_device::dragon_jcbsnd_device(const machine_config &mconfig, const
void dragon_jcbsnd_device::device_start()
{
- install_write_handler(0xfefe, 0xfefe, write8smo_delegate(FUNC(ay8910_device::address_w), (ay8910_device *)m_ay8910));
- install_readwrite_handler(0xfeff, 0xfeff, read8smo_delegate(FUNC(ay8910_device::data_r), (ay8910_device *)m_ay8910), write8smo_delegate(FUNC(ay8910_device::data_w), (ay8910_device *)m_ay8910));
-
set_line_value(line::CART, line_value::Q);
}
@@ -104,5 +101,18 @@ const tiny_rom_entry *dragon_jcbsnd_device::device_rom_region() const
READ8_MEMBER(dragon_jcbsnd_device::cts_read)
{
- return m_eprom->base()[offset & 0x1fff];
+ if (offset == 0x3eff)
+ return m_ay8910->data_r();
+ else
+ return m_eprom->base()[offset & 0x1fff];
+}
+
+//-------------------------------------------------
+// cts_write
+//-------------------------------------------------
+
+WRITE8_MEMBER(dragon_jcbsnd_device::cts_write)
+{
+ if ((offset & ~1) == 0x3efe)
+ m_ay8910->address_data_w(offset & 1, data);
}
diff --git a/src/devices/bus/coco/dragon_jcbsnd.h b/src/devices/bus/coco/dragon_jcbsnd.h
index e26e7ac429f..a22f6edd69b 100644
--- a/src/devices/bus/coco/dragon_jcbsnd.h
+++ b/src/devices/bus/coco/dragon_jcbsnd.h
@@ -32,6 +32,7 @@ protected:
virtual memory_region* get_cart_memregion() override;
virtual DECLARE_READ8_MEMBER(cts_read) override;
+ virtual DECLARE_WRITE8_MEMBER(cts_write) override;
// internal state
device_image_interface *m_cart;