summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/sound/8950intf.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/sound/8950intf.cpp')
-rw-r--r--src/devices/sound/8950intf.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/devices/sound/8950intf.cpp b/src/devices/sound/8950intf.cpp
index da0049f0a91..f56f34c88f9 100644
--- a/src/devices/sound/8950intf.cpp
+++ b/src/devices/sound/8950intf.cpp
@@ -84,7 +84,7 @@ void y8950_device::device_start()
assert_always(m_chip != nullptr, "Error creating Y8950 chip");
/* ADPCM ROM data */
- y8950_set_delta_t_memory(m_chip, m_region->base(), m_region->bytes());
+ y8950_set_delta_t_memory(m_chip, &y8950_device::static_read_byte, &y8950_device::static_write_byte);
m_stream = machine().sound().stream_alloc(*this,0,1,rate);
/* port and keyboard handler */
@@ -128,6 +128,15 @@ void y8950_device::device_reset()
y8950_reset_chip(m_chip);
}
+//-------------------------------------------------
+// rom_bank_updated
+//-------------------------------------------------
+
+void y8950_device::rom_bank_updated()
+{
+ m_stream->update();
+}
+
READ8_MEMBER( y8950_device::read )
{
@@ -150,6 +159,7 @@ DEFINE_DEVICE_TYPE(Y8950, y8950_device, "y8950", "Y8950 MSX-Audio")
y8950_device::y8950_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, Y8950, tag, owner, clock)
, device_sound_interface(mconfig, *this)
+ , device_rom_interface(mconfig, *this, 21)
, m_stream(nullptr)
, m_timer{ nullptr, nullptr }
, m_chip(nullptr)
@@ -158,6 +168,5 @@ y8950_device::y8950_device(const machine_config &mconfig, const char *tag, devic
, m_keyboard_write_handler(*this)
, m_io_read_handler(*this)
, m_io_write_handler(*this)
- , m_region(*this, DEVICE_SELF)
{
}