summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author ajrhacker <ajrhacker@users.noreply.github.com>2018-03-18 10:09:41 -0400
committer GitHub <noreply@github.com>2018-03-18 10:09:41 -0400
commit7b7781d8c84bb60f70f6ae71d9b9418f8036936e (patch)
tree407b947aaeb5126af951a3e5647f7788f2aaad90
parent69808e970bc1affa6f10c3ca8de3e6a44b8348c2 (diff)
parent4c581269455dfd4108211050931d1c2d09b201bf (diff)
Merge pull request #3351 from cam900/k051649_internal
k051649.cpp : Add scc_map for reduce duplicate
-rw-r--r--src/devices/sound/k051649.cpp8
-rw-r--r--src/devices/sound/k051649.h1
-rw-r--r--src/mame/drivers/hcastle.cpp6
-rw-r--r--src/mame/drivers/hexion.cpp6
-rw-r--r--src/mame/drivers/konmedal.cpp12
-rw-r--r--src/mame/drivers/nemesis.cpp6
6 files changed, 14 insertions, 25 deletions
diff --git a/src/devices/sound/k051649.cpp b/src/devices/sound/k051649.cpp
index acc61e9bda8..b961ae7067f 100644
--- a/src/devices/sound/k051649.cpp
+++ b/src/devices/sound/k051649.cpp
@@ -31,6 +31,14 @@
#define FREQ_BITS 16
#define DEF_GAIN 8
+void k051649_device::scc_map(address_map &map)
+{
+ map(0x00, 0x7f).rw(this, FUNC(k051649_device::k051649_waveform_r), FUNC(k051649_device::k051649_waveform_w));
+ map(0x80, 0x89).w(this, FUNC(k051649_device::k051649_frequency_w));
+ map(0x8a, 0x8e).w(this, FUNC(k051649_device::k051649_volume_w));
+ map(0x8f, 0x8f).w(this, FUNC(k051649_device::k051649_keyonoff_w));
+ map(0xe0, 0xff).rw(this, FUNC(k051649_device::k051649_test_r), FUNC(k051649_device::k051649_test_w));
+}
// device type definition
DEFINE_DEVICE_TYPE(K051649, k051649_device, "k051649", "K051649 SCC1")
diff --git a/src/devices/sound/k051649.h b/src/devices/sound/k051649.h
index 3971d5371e7..923cf7cd881 100644
--- a/src/devices/sound/k051649.h
+++ b/src/devices/sound/k051649.h
@@ -40,6 +40,7 @@ public:
DECLARE_WRITE8_MEMBER( k052539_waveform_w );
DECLARE_READ8_MEMBER ( k052539_waveform_r );
+ void scc_map(address_map &map);
protected:
// device-level overrides
virtual void device_start() override;
diff --git a/src/mame/drivers/hcastle.cpp b/src/mame/drivers/hcastle.cpp
index ee56ed4aa9a..0ae989184ec 100644
--- a/src/mame/drivers/hcastle.cpp
+++ b/src/mame/drivers/hcastle.cpp
@@ -81,11 +81,7 @@ void hcastle_state::sound_map(address_map &map)
{
map(0x0000, 0x7fff).rom();
map(0x8000, 0x87ff).ram();
- map(0x9800, 0x987f).rw("k051649", FUNC(k051649_device::k051649_waveform_r), FUNC(k051649_device::k051649_waveform_w));
- map(0x9880, 0x9889).w("k051649", FUNC(k051649_device::k051649_frequency_w));
- map(0x988a, 0x988e).w("k051649", FUNC(k051649_device::k051649_volume_w));
- map(0x988f, 0x988f).w("k051649", FUNC(k051649_device::k051649_keyonoff_w));
- map(0x98e0, 0x98ff).rw("k051649", FUNC(k051649_device::k051649_test_r), FUNC(k051649_device::k051649_test_w));
+ map(0x9800, 0x98ff).m("k051649", FUNC(k051649_device::scc_map));
map(0xa000, 0xa001).rw("ymsnd", FUNC(ym3812_device::read), FUNC(ym3812_device::write));
map(0xb000, 0xb00d).rw(m_k007232, FUNC(k007232_device::read), FUNC(k007232_device::write));
map(0xc000, 0xc000).w(this, FUNC(hcastle_state::sound_bank_w)); /* 7232 bankswitch */
diff --git a/src/mame/drivers/hexion.cpp b/src/mame/drivers/hexion.cpp
index 2ec6f1eecdd..4950578970a 100644
--- a/src/mame/drivers/hexion.cpp
+++ b/src/mame/drivers/hexion.cpp
@@ -129,11 +129,7 @@ void hexion_state::hexion_map(address_map &map)
map(0xc000, 0xdffe).rw(this, FUNC(hexion_state::bankedram_r), FUNC(hexion_state::bankedram_w));
map(0xdfff, 0xdfff).w(this, FUNC(hexion_state::bankctrl_w));
map(0xe000, 0xe000).noprw();
- map(0xe800, 0xe87f).rw("k051649", FUNC(k051649_device::k051649_waveform_r), FUNC(k051649_device::k051649_waveform_w));
- map(0xe880, 0xe889).w("k051649", FUNC(k051649_device::k051649_frequency_w));
- map(0xe88a, 0xe88e).w("k051649", FUNC(k051649_device::k051649_volume_w));
- map(0xe88f, 0xe88f).w("k051649", FUNC(k051649_device::k051649_keyonoff_w));
- map(0xe8e0, 0xe8ff).rw("k051649", FUNC(k051649_device::k051649_test_r), FUNC(k051649_device::k051649_test_w));
+ map(0xe800, 0xe8ff).m("k051649", FUNC(k051649_device::scc_map));
map(0xf000, 0xf00f).rw(m_k053252, FUNC(k053252_device::read), FUNC(k053252_device::write));
map(0xf200, 0xf200).w("oki", FUNC(okim6295_device::write));
map(0xf400, 0xf400).portr("DSW1");
diff --git a/src/mame/drivers/konmedal.cpp b/src/mame/drivers/konmedal.cpp
index c39f2007e35..a3f9ee0f043 100644
--- a/src/mame/drivers/konmedal.cpp
+++ b/src/mame/drivers/konmedal.cpp
@@ -260,11 +260,7 @@ void konmedal_state::ddboy_main(address_map &map)
map(0xc80f, 0xc80f).r(this, FUNC(konmedal_state::magic_r));
map(0xcc00, 0xcc00).rw(m_oki, FUNC(okim6295_device::read), FUNC(okim6295_device::write));
map(0xd000, 0xd000).nopw(); // ??? writes 00 and 3f every frame
- map(0xd800, 0xd87f).rw("k051649", FUNC(k051649_device::k051649_waveform_r), FUNC(k051649_device::k051649_waveform_w));
- map(0xd880, 0xd889).w("k051649", FUNC(k051649_device::k051649_frequency_w));
- map(0xd88a, 0xd88e).w("k051649", FUNC(k051649_device::k051649_volume_w));
- map(0xd88f, 0xd88f).w("k051649", FUNC(k051649_device::k051649_keyonoff_w));
- map(0xd8e0, 0xd8ff).rw("k051649", FUNC(k051649_device::k051649_test_r), FUNC(k051649_device::k051649_test_w));
+ map(0xd800, 0xd8ff).m("k051649", FUNC(k051649_device::scc_map));
map(0xe000, 0xffff).rw(this, FUNC(konmedal_state::vram_r), FUNC(konmedal_state::vram_w));
}
@@ -278,11 +274,7 @@ void konmedal_state::shuriboy_main(address_map &map)
map(0x8803, 0x8803).portr("DSW2");
map(0x8b00, 0x8b00).nopw(); // watchdog?
map(0x8c00, 0x8c00).w(this, FUNC(konmedal_state::shuri_bank_w));
- map(0x9800, 0x987f).rw("k051649", FUNC(k051649_device::k051649_waveform_r), FUNC(k051649_device::k051649_waveform_w));
- map(0x9880, 0x9889).w("k051649", FUNC(k051649_device::k051649_frequency_w));
- map(0x988a, 0x988e).w("k051649", FUNC(k051649_device::k051649_volume_w));
- map(0x988f, 0x988f).w("k051649", FUNC(k051649_device::k051649_keyonoff_w));
- map(0x98e0, 0x98ff).rw("k051649", FUNC(k051649_device::k051649_test_r), FUNC(k051649_device::k051649_test_w));
+ map(0x9800, 0x98ff).m("k051649", FUNC(k051649_device::scc_map));
map(0xa000, 0xbfff).bankr("bank1");
map(0xc000, 0xdbff).rw(m_k052109, FUNC(k052109_device::read), FUNC(k052109_device::write));
map(0xdd00, 0xdd00).rw(this, FUNC(konmedal_state::shuri_irq_r), FUNC(konmedal_state::shuri_irq_w));
diff --git a/src/mame/drivers/nemesis.cpp b/src/mame/drivers/nemesis.cpp
index 0aaad50890c..50d0f5dc630 100644
--- a/src/mame/drivers/nemesis.cpp
+++ b/src/mame/drivers/nemesis.cpp
@@ -566,11 +566,7 @@ void nemesis_state::city_sound_map(address_map &map)
{
map(0x0000, 0x7fff).rom();
map(0x8000, 0x87ff).ram();
- map(0x9800, 0x987f).rw("k051649", FUNC(k051649_device::k051649_waveform_r), FUNC(k051649_device::k051649_waveform_w));
- map(0x9880, 0x9889).w("k051649", FUNC(k051649_device::k051649_frequency_w));
- map(0x988a, 0x988e).w("k051649", FUNC(k051649_device::k051649_volume_w));
- map(0x988f, 0x988f).w("k051649", FUNC(k051649_device::k051649_keyonoff_w));
- map(0x98e0, 0x98ff).rw("k051649", FUNC(k051649_device::k051649_test_r), FUNC(k051649_device::k051649_test_w));
+ map(0x9800, 0x98ff).m("k051649", FUNC(k051649_device::scc_map));
map(0xa000, 0xa001).rw("ymsnd", FUNC(ym3812_device::read), FUNC(ym3812_device::write));
map(0xb000, 0xb00d).rw(m_k007232, FUNC(k007232_device::read), FUNC(k007232_device::write));
map(0xc000, 0xc000).w(this, FUNC(nemesis_state::city_sound_bank_w)); /* 7232 bankswitch */