Merge pull request #3351 from cam900/k051649_internal

k051649.cpp : Add scc_map for reduce duplicate
This commit is contained in:
ajrhacker 2018-03-18 10:09:41 -04:00 committed by GitHub
commit 7b7781d8c8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 14 additions and 25 deletions

View File

@ -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")

View File

@ -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;

View File

@ -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 */

View File

@ -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");

View File

@ -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));

View File

@ -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 */