diff options
Diffstat (limited to 'src/mame/drivers/vd.cpp')
-rw-r--r-- | src/mame/drivers/vd.cpp | 54 |
1 files changed, 28 insertions, 26 deletions
diff --git a/src/mame/drivers/vd.cpp b/src/mame/drivers/vd.cpp index 14e2e81edb3..587934dfed5 100644 --- a/src/mame/drivers/vd.cpp +++ b/src/mame/drivers/vd.cpp @@ -61,32 +61,34 @@ READ8_MEMBER(vd_state::ack_r) return 0; // this value is not used } -ADDRESS_MAP_START(vd_state::vd_map) - AM_RANGE(0x0000, 0x5fff) AM_ROM - AM_RANGE(0x6000, 0x62ff) AM_RAM - AM_RANGE(0x6700, 0x67ff) AM_RAM -ADDRESS_MAP_END - -ADDRESS_MAP_START(vd_state::vd_io) - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x00, 0x00) AM_READ_PORT("X0") - AM_RANGE(0x01, 0x01) AM_READ_PORT("X1") - AM_RANGE(0x02, 0x02) AM_READ_PORT("X2") - AM_RANGE(0x03, 0x03) AM_READ_PORT("X3") - AM_RANGE(0x04, 0x04) AM_READ_PORT("X4") - AM_RANGE(0x05, 0x05) AM_READ_PORT("X5") - AM_RANGE(0x20, 0x27) AM_WRITE(lamp_w) - AM_RANGE(0x28, 0x28) AM_WRITE(sol_w) - AM_RANGE(0x40, 0x44) AM_WRITE(disp_w) - AM_RANGE(0x60, 0x60) AM_DEVWRITE("ay1", ay8910_device, address_w) - AM_RANGE(0x61, 0x61) AM_DEVREAD("ay1", ay8910_device, data_r) - AM_RANGE(0x62, 0x62) AM_DEVWRITE("ay1", ay8910_device, data_w) - AM_RANGE(0x80, 0x80) AM_DEVWRITE("ay2", ay8910_device, address_w) - AM_RANGE(0x81, 0x81) AM_DEVREAD("ay2", ay8910_device, data_r) // probably never read - AM_RANGE(0x82, 0x82) AM_DEVWRITE("ay2", ay8910_device, data_w) - AM_RANGE(0xa0, 0xa0) AM_READ(ack_r) - AM_RANGE(0xc0, 0xc0) AM_WRITE(col_w) -ADDRESS_MAP_END +void vd_state::vd_map(address_map &map) +{ + map(0x0000, 0x5fff).rom(); + map(0x6000, 0x62ff).ram(); + map(0x6700, 0x67ff).ram(); +} + +void vd_state::vd_io(address_map &map) +{ + map.global_mask(0xff); + map(0x00, 0x00).portr("X0"); + map(0x01, 0x01).portr("X1"); + map(0x02, 0x02).portr("X2"); + map(0x03, 0x03).portr("X3"); + map(0x04, 0x04).portr("X4"); + map(0x05, 0x05).portr("X5"); + map(0x20, 0x27).w(this, FUNC(vd_state::lamp_w)); + map(0x28, 0x28).w(this, FUNC(vd_state::sol_w)); + map(0x40, 0x44).w(this, FUNC(vd_state::disp_w)); + map(0x60, 0x60).w("ay1", FUNC(ay8910_device::address_w)); + map(0x61, 0x61).r("ay1", FUNC(ay8910_device::data_r)); + map(0x62, 0x62).w("ay1", FUNC(ay8910_device::data_w)); + map(0x80, 0x80).w("ay2", FUNC(ay8910_device::address_w)); + map(0x81, 0x81).r("ay2", FUNC(ay8910_device::data_r)); // probably never read + map(0x82, 0x82).w("ay2", FUNC(ay8910_device::data_w)); + map(0xa0, 0xa0).r(this, FUNC(vd_state::ack_r)); + map(0xc0, 0xc0).w(this, FUNC(vd_state::col_w)); +} static INPUT_PORTS_START( break86 ) PORT_START("DSW1") // "Micro Swicher NÂș 1" |