diff options
Diffstat (limited to 'src/mame/drivers/bmcbowl.cpp')
-rw-r--r-- | src/mame/drivers/bmcbowl.cpp | 64 |
1 files changed, 33 insertions, 31 deletions
diff --git a/src/mame/drivers/bmcbowl.cpp b/src/mame/drivers/bmcbowl.cpp index 0fb0dd94485..755aa4bd3ea 100644 --- a/src/mame/drivers/bmcbowl.cpp +++ b/src/mame/drivers/bmcbowl.cpp @@ -312,41 +312,42 @@ void bmcbowl_state::machine_reset() #endif } -ADDRESS_MAP_START(bmcbowl_state::bmcbowl_mem) - AM_RANGE(0x000000, 0x01ffff) AM_ROM +void bmcbowl_state::bmcbowl_mem(address_map &map) +{ + map(0x000000, 0x01ffff).rom(); - AM_RANGE(0x090000, 0x090001) AM_DEVWRITE8("ramdac", ramdac_device, index_w, 0x00ff) - AM_RANGE(0x090002, 0x090003) AM_DEVWRITE8("ramdac", ramdac_device, pal_w, 0x00ff) - AM_RANGE(0x090004, 0x090005) AM_DEVWRITE8("ramdac", ramdac_device, mask_w, 0x00ff) + map(0x090001, 0x090001).w("ramdac", FUNC(ramdac_device::index_w)); + map(0x090003, 0x090003).w("ramdac", FUNC(ramdac_device::pal_w)); + map(0x090005, 0x090005).w("ramdac", FUNC(ramdac_device::mask_w)); - AM_RANGE(0x090800, 0x090803) AM_WRITENOP - AM_RANGE(0x091000, 0x091001) AM_WRITENOP - AM_RANGE(0x091800, 0x091801) AM_WRITE(scroll_w) + map(0x090800, 0x090803).nopw(); + map(0x091000, 0x091001).nopw(); + map(0x091800, 0x091801).w(this, FUNC(bmcbowl_state::scroll_w)); - AM_RANGE(0x092000, 0x09201f) AM_DEVREADWRITE8("via6522_0", via6522_device, read, write, 0x00ff) + map(0x092000, 0x09201f).rw("via6522_0", FUNC(via6522_device::read), FUNC(via6522_device::write)).umask16(0x00ff); - AM_RANGE(0x093000, 0x093003) AM_DEVWRITE8("ymsnd", ym2413_device, write, 0x00ff) - AM_RANGE(0x092800, 0x092803) AM_DEVWRITE8("aysnd", ay8910_device, data_address_w, 0xff00) - AM_RANGE(0x092802, 0x092803) AM_DEVREAD8("aysnd", ay8910_device, data_r, 0xff00) - AM_RANGE(0x093802, 0x093803) AM_READ_PORT("IN0") - AM_RANGE(0x095000, 0x095fff) AM_RAM AM_SHARE("nvram") /* 8 bit */ - AM_RANGE(0x097000, 0x097001) AM_READNOP - AM_RANGE(0x140000, 0x1bffff) AM_ROM - AM_RANGE(0x1c0000, 0x1effff) AM_RAM AM_SHARE("vid1") - AM_RANGE(0x1f0000, 0x1fffff) AM_RAM - AM_RANGE(0x200000, 0x21ffff) AM_RAM AM_SHARE("vid2") + map(0x093000, 0x093003).w("ymsnd", FUNC(ym2413_device::write)).umask16(0x00ff); + map(0x092800, 0x092803).w("aysnd", FUNC(ay8910_device::data_address_w)).umask16(0xff00); + map(0x092802, 0x092802).r("aysnd", FUNC(ay8910_device::data_r)); + map(0x093802, 0x093803).portr("IN0"); + map(0x095000, 0x095fff).ram().share("nvram"); /* 8 bit */ + map(0x097000, 0x097001).nopr(); + map(0x140000, 0x1bffff).rom(); + map(0x1c0000, 0x1effff).ram().share("vid1"); + map(0x1f0000, 0x1fffff).ram(); + map(0x200000, 0x21ffff).ram().share("vid2"); - AM_RANGE(0x28c000, 0x28c001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0xff00) + map(0x28c000, 0x28c000).rw("oki", FUNC(okim6295_device::read), FUNC(okim6295_device::write)); /* protection device*/ - AM_RANGE(0x30c000, 0x30c001) AM_WRITENOP - AM_RANGE(0x30c040, 0x30c041) AM_WRITENOP - AM_RANGE(0x30c080, 0x30c081) AM_WRITENOP - AM_RANGE(0x30c0c0, 0x30c0c1) AM_WRITENOP - AM_RANGE(0x30c100, 0x30c101) AM_READ(bmc_protection_r) - AM_RANGE(0x30c140, 0x30c141) AM_WRITENOP - AM_RANGE(0x30ca00, 0x30ca01) AM_READ(bmc_random_read) AM_WRITENOP -ADDRESS_MAP_END + map(0x30c000, 0x30c001).nopw(); + map(0x30c040, 0x30c041).nopw(); + map(0x30c080, 0x30c081).nopw(); + map(0x30c0c0, 0x30c0c1).nopw(); + map(0x30c100, 0x30c101).r(this, FUNC(bmcbowl_state::bmc_protection_r)); + map(0x30c140, 0x30c141).nopw(); + map(0x30ca00, 0x30ca01).r(this, FUNC(bmcbowl_state::bmc_random_read)).nopw(); +} static INPUT_PORTS_START( bmcbowl ) @@ -449,9 +450,10 @@ WRITE8_MEMBER(bmcbowl_state::input_mux_w) m_bmc_input=data; } -ADDRESS_MAP_START(bmcbowl_state::ramdac_map) - AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac",ramdac_device,ramdac_pal_r,ramdac_rgb666_w) -ADDRESS_MAP_END +void bmcbowl_state::ramdac_map(address_map &map) +{ + map(0x000, 0x3ff).rw("ramdac", FUNC(ramdac_device::ramdac_pal_r), FUNC(ramdac_device::ramdac_rgb666_w)); +} MACHINE_CONFIG_START(bmcbowl_state::bmcbowl) MCFG_CPU_ADD("maincpu", M68000, XTAL(21'477'272) / 2 ) |