summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/audio/s11c_bg.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/audio/s11c_bg.cpp')
-rw-r--r--src/mame/audio/s11c_bg.cpp17
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)