diff options
Diffstat (limited to 'src/mame/drivers/zac_1.cpp')
-rw-r--r-- | src/mame/drivers/zac_1.cpp | 68 |
1 files changed, 37 insertions, 31 deletions
diff --git a/src/mame/drivers/zac_1.cpp b/src/mame/drivers/zac_1.cpp index 3046ee11297..128017046b7 100644 --- a/src/mame/drivers/zac_1.cpp +++ b/src/mame/drivers/zac_1.cpp @@ -76,22 +76,25 @@ private: }; -ADDRESS_MAP_START(zac_1_state::zac_1_map) - ADDRESS_MAP_GLOBAL_MASK(0x1fff) - AM_RANGE(0x0000, 0x13ff) AM_ROM - AM_RANGE(0x1400, 0x17ff) AM_WRITE(reset_int_w) - AM_RANGE(0x1800, 0x18ff) AM_MIRROR(0x300) AM_RAM AM_SHARE("ram") - AM_RANGE(0x1c00, 0x1fff) AM_ROM -ADDRESS_MAP_END - -ADDRESS_MAP_START(zac_1_state::zac_1_io) - ADDRESS_MAP_UNMAP_HIGH -ADDRESS_MAP_END - -ADDRESS_MAP_START(zac_1_state::zac_1_data) - ADDRESS_MAP_UNMAP_HIGH - AM_RANGE(S2650_CTRL_PORT, S2650_CTRL_PORT) AM_READWRITE(ctrl_r,ctrl_w) -ADDRESS_MAP_END +void zac_1_state::zac_1_map(address_map &map) +{ + map.global_mask(0x1fff); + map(0x0000, 0x13ff).rom(); + map(0x1400, 0x17ff).w(this, FUNC(zac_1_state::reset_int_w)); + map(0x1800, 0x18ff).mirror(0x300).ram().share("ram"); + map(0x1c00, 0x1fff).rom(); +} + +void zac_1_state::zac_1_io(address_map &map) +{ + map.unmap_value_high(); +} + +void zac_1_state::zac_1_data(address_map &map) +{ + map.unmap_value_high(); + map(S2650_CTRL_PORT, S2650_CTRL_PORT).rw(this, FUNC(zac_1_state::ctrl_r), FUNC(zac_1_state::ctrl_w)); +} static INPUT_PORTS_START( zac_1 ) PORT_START("TEST") @@ -277,21 +280,24 @@ MACHINE_CONFIG_END /*************************** LOCOMOTION ********************************/ -ADDRESS_MAP_START(zac_1_state::locomotp_map) - ADDRESS_MAP_GLOBAL_MASK(0x1fff) - AM_RANGE(0x0000, 0x17ff) AM_ROM - AM_RANGE(0x1800, 0x18ff) AM_MIRROR(0x300) AM_RAM AM_SHARE("ram") - AM_RANGE(0x1c00, 0x1fff) AM_ROM -ADDRESS_MAP_END - -ADDRESS_MAP_START(zac_1_state::locomotp_io) - ADDRESS_MAP_UNMAP_HIGH -ADDRESS_MAP_END - -ADDRESS_MAP_START(zac_1_state::locomotp_data) - AM_RANGE(S2650_CTRL_PORT, S2650_CTRL_PORT) AM_READWRITE(ctrl_r,ctrl_w) - AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_READ(reset_int_r) -ADDRESS_MAP_END +void zac_1_state::locomotp_map(address_map &map) +{ + map.global_mask(0x1fff); + map(0x0000, 0x17ff).rom(); + map(0x1800, 0x18ff).mirror(0x300).ram().share("ram"); + map(0x1c00, 0x1fff).rom(); +} + +void zac_1_state::locomotp_io(address_map &map) +{ + map.unmap_value_high(); +} + +void zac_1_state::locomotp_data(address_map &map) +{ + map(S2650_CTRL_PORT, S2650_CTRL_PORT).rw(this, FUNC(zac_1_state::ctrl_r), FUNC(zac_1_state::ctrl_w)); + map(S2650_DATA_PORT, S2650_DATA_PORT).r(this, FUNC(zac_1_state::reset_int_r)); +} READ8_MEMBER( zac_1_state::reset_int_r ) { |