diff options
author | hap <happppp@users.noreply.github.com> | 2016-01-18 12:49:58 +0100 |
---|---|---|
committer | hap <happppp@users.noreply.github.com> | 2016-01-18 12:49:58 +0100 |
commit | 5f851c7a81e87b5a40849418cf24d6a1e515f349 (patch) | |
tree | ef58b6c7b681738524b9fcfad7a91d944fef810c /src/devices/sound | |
parent | 9d9e116dd6f32d5cb572b6ab2db1ac14978c36a2 (diff) |
fidelz80: added VCC language latch/bank
Diffstat (limited to 'src/devices/sound')
-rw-r--r-- | src/devices/sound/s14001a.cpp | 11 | ||||
-rw-r--r-- | src/devices/sound/s14001a.h | 1 |
2 files changed, 9 insertions, 3 deletions
diff --git a/src/devices/sound/s14001a.cpp b/src/devices/sound/s14001a.cpp index 9684ccdccb3..4100a9c3dcc 100644 --- a/src/devices/sound/s14001a.cpp +++ b/src/devices/sound/s14001a.cpp @@ -521,7 +521,7 @@ void s14001a_device::s14001a_clock() /* called once per clock */ UINT8 s14001a_device::readmem(UINT16 offset) { offset &= 0xfff; // 11-bit internal - return ((m_ext_read_handler.isnull()) ? m_ext_read_handler(offset) : m_SpeechRom[offset]); + return ((m_ext_read_handler.isnull()) ? m_SpeechRom[offset & (m_SpeechRom.bytes() - 1)] : m_ext_read_handler(offset)); } @@ -529,6 +529,11 @@ UINT8 s14001a_device::readmem(UINT16 offset) MAME glue code **************************************************************************/ +void s14001a_device::force_update() +{ + m_stream->update(); +} + int s14001a_device::bsy_r() { m_stream->update(); @@ -594,8 +599,8 @@ void s14001a_device::device_start() m_stream = machine().sound().stream_alloc(*this, 0, 1, clock() ? clock() : machine().sample_rate()); // resolve callbacks - m_ext_read_handler.resolve_safe(0); - m_bsy_handler.resolve_safe(); + m_ext_read_handler.resolve(); + m_bsy_handler.resolve(); save_item(NAME(m_WordInput)); save_item(NAME(m_LatchedWord)); diff --git a/src/devices/sound/s14001a.h b/src/devices/sound/s14001a.h index c9ce1680318..3ade4bb0d1e 100644 --- a/src/devices/sound/s14001a.h +++ b/src/devices/sound/s14001a.h @@ -31,6 +31,7 @@ public: void rst_w(int data); /* write to RESET pin */ void set_clock(int clock); /* set VSU-1000 clock */ void set_volume(int volume); /* set VSU-1000 volume control */ + void force_update(); protected: // device-level overrides |