diff options
Diffstat (limited to 'src/devices/sound/8950intf.cpp')
-rw-r--r-- | src/devices/sound/8950intf.cpp | 13 |
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) { } |