diff options
Diffstat (limited to 'src/mame/drivers/surpratk.cpp')
-rw-r--r-- | src/mame/drivers/surpratk.cpp | 48 |
1 files changed, 25 insertions, 23 deletions
diff --git a/src/mame/drivers/surpratk.cpp b/src/mame/drivers/surpratk.cpp index d2221d3c425..e2f223970bb 100644 --- a/src/mame/drivers/surpratk.cpp +++ b/src/mame/drivers/surpratk.cpp @@ -58,29 +58,31 @@ WRITE8_MEMBER(surpratk_state::surpratk_5fc0_w) /********************************************/ -ADDRESS_MAP_START(surpratk_state::surpratk_map) - AM_RANGE(0x0000, 0x07ff) AM_DEVICE("bank0000", address_map_bank_device, amap8) - AM_RANGE(0x0800, 0x1fff) AM_RAM - AM_RANGE(0x2000, 0x3fff) AM_ROMBANK("bank1") /* banked ROM */ - AM_RANGE(0x4000, 0x7fff) AM_DEVREADWRITE("k052109", k052109_device, read, write) - AM_RANGE(0x5f8c, 0x5f8c) AM_READ_PORT("P1") - AM_RANGE(0x5f8d, 0x5f8d) AM_READ_PORT("P2") - AM_RANGE(0x5f8e, 0x5f8e) AM_READ_PORT("DSW3") - AM_RANGE(0x5f8f, 0x5f8f) AM_READ_PORT("DSW1") - AM_RANGE(0x5f90, 0x5f90) AM_READ_PORT("DSW2") - AM_RANGE(0x5fa0, 0x5faf) AM_DEVREADWRITE("k053244", k05324x_device, k053244_r, k053244_w) - AM_RANGE(0x5fb0, 0x5fbf) AM_DEVWRITE("k053251", k053251_device, write) - AM_RANGE(0x5fc0, 0x5fc0) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r) AM_WRITE(surpratk_5fc0_w) - AM_RANGE(0x5fd0, 0x5fd1) AM_DEVWRITE("ymsnd", ym2151_device, write) - AM_RANGE(0x5fc4, 0x5fc4) AM_WRITE(surpratk_videobank_w) - AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("maincpu", 0x38000) -ADDRESS_MAP_END - -ADDRESS_MAP_START(surpratk_state::bank0000_map) - AM_RANGE(0x0000, 0x07ff) AM_RAM - AM_RANGE(0x0800, 0x0fff) AM_DEVREADWRITE("k053244", k05324x_device, k053245_r, k053245_w) - AM_RANGE(0x1000, 0x1fff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette") -ADDRESS_MAP_END +void surpratk_state::surpratk_map(address_map &map) +{ + map(0x0000, 0x07ff).m(m_bank0000, FUNC(address_map_bank_device::amap8)); + map(0x0800, 0x1fff).ram(); + map(0x2000, 0x3fff).bankr("bank1"); /* banked ROM */ + map(0x4000, 0x7fff).rw(m_k052109, FUNC(k052109_device::read), FUNC(k052109_device::write)); + map(0x5f8c, 0x5f8c).portr("P1"); + map(0x5f8d, 0x5f8d).portr("P2"); + map(0x5f8e, 0x5f8e).portr("DSW3"); + map(0x5f8f, 0x5f8f).portr("DSW1"); + map(0x5f90, 0x5f90).portr("DSW2"); + map(0x5fa0, 0x5faf).rw(m_k053244, FUNC(k05324x_device::k053244_r), FUNC(k05324x_device::k053244_w)); + map(0x5fb0, 0x5fbf).w(m_k053251, FUNC(k053251_device::write)); + map(0x5fc0, 0x5fc0).r("watchdog", FUNC(watchdog_timer_device::reset_r)).w(this, FUNC(surpratk_state::surpratk_5fc0_w)); + map(0x5fd0, 0x5fd1).w("ymsnd", FUNC(ym2151_device::write)); + map(0x5fc4, 0x5fc4).w(this, FUNC(surpratk_state::surpratk_videobank_w)); + map(0x8000, 0xffff).rom().region("maincpu", 0x38000); +} + +void surpratk_state::bank0000_map(address_map &map) +{ + map(0x0000, 0x07ff).ram(); + map(0x0800, 0x0fff).rw(m_k053244, FUNC(k05324x_device::k053245_r), FUNC(k05324x_device::k053245_w)); + map(0x1000, 0x1fff).ram().w(m_palette, FUNC(palette_device::write8)).share("palette"); +} /*************************************************************************** |