diff options
Diffstat (limited to 'src/mame/audio/s11c_bg.cpp')
-rw-r--r-- | src/mame/audio/s11c_bg.cpp | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/mame/audio/s11c_bg.cpp b/src/mame/audio/s11c_bg.cpp index 4c37bbe3236..c57804523ad 100644 --- a/src/mame/audio/s11c_bg.cpp +++ b/src/mame/audio/s11c_bg.cpp @@ -29,12 +29,12 @@ s11c_bg_device::s11c_bg_device(const machine_config &mconfig, const char *tag, d void s11c_bg_device::s11c_bg_map(address_map &map) { - map(0x0000, 0x07ff).ram(); + map(0x0000, 0x07ff).mirror(0x1800).ram(); map(0x2000, 0x2001).mirror(0x1ffe).rw(m_ym2151, FUNC(ym2151_device::read), FUNC(ym2151_device::write)); map(0x4000, 0x4003).mirror(0x1ffc).rw("pia40", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); - map(0x6000, 0x67ff).w(FUNC(s11c_bg_device::bg_speech_digit_w)); - map(0x6800, 0x6fff).w(FUNC(s11c_bg_device::bg_speech_clock_w)); - map(0x7800, 0x7fff).w(FUNC(s11c_bg_device::bgbank_w)); + map(0x6000, 0x6000).mirror(0x07ff).w(FUNC(s11c_bg_device::bg_cvsd_clock_set_w)); + map(0x6800, 0x6800).mirror(0x07ff).w(FUNC(s11c_bg_device::bg_cvsd_digit_clock_clear_w)); + map(0x7800, 0x7800).mirror(0x07ff).w(FUNC(s11c_bg_device::bgbank_w)); map(0x8000, 0xffff).bankr("bgbank"); } @@ -104,16 +104,15 @@ WRITE_LINE_MEMBER( s11c_bg_device::ym2151_irq_w) m_pia40->ca1_w(0); } -void s11c_bg_device::bg_speech_clock_w(uint8_t data) +void s11c_bg_device::bg_cvsd_clock_set_w(uint8_t data) { - // pulses clock input? m_hc55516->clock_w(1); - m_hc55516->clock_w(0); } -void s11c_bg_device::bg_speech_digit_w(uint8_t data) +void s11c_bg_device::bg_cvsd_digit_clock_clear_w(uint8_t data) { - m_hc55516->digit_w(data); + m_hc55516->clock_w(0); + m_hc55516->digit_w(data&1); } void s11c_bg_device::bgbank_w(uint8_t data) |