diff options
Diffstat (limited to 'src/mame/drivers/2mindril.cpp')
-rw-r--r-- | src/mame/drivers/2mindril.cpp | 41 |
1 files changed, 21 insertions, 20 deletions
diff --git a/src/mame/drivers/2mindril.cpp b/src/mame/drivers/2mindril.cpp index 2c53c24d638..75909adb738 100644 --- a/src/mame/drivers/2mindril.cpp +++ b/src/mame/drivers/2mindril.cpp @@ -194,26 +194,27 @@ WRITE16_MEMBER(_2mindril_state::drill_irq_w) COMBINE_DATA(&m_irq_reg); } -ADDRESS_MAP_START(_2mindril_state::drill_map) - AM_RANGE(0x000000, 0x07ffff) AM_ROM - AM_RANGE(0x200000, 0x20ffff) AM_RAM - AM_RANGE(0x300000, 0x3000ff) AM_RAM - AM_RANGE(0x400000, 0x40ffff) AM_READWRITE(f3_spriteram_r,f3_spriteram_w) - AM_RANGE(0x410000, 0x41bfff) AM_READWRITE(f3_pf_data_r,f3_pf_data_w) - AM_RANGE(0x41c000, 0x41dfff) AM_READWRITE(f3_videoram_r,f3_videoram_w) - AM_RANGE(0x41e000, 0x41ffff) AM_READWRITE(f3_vram_r,f3_vram_w) - AM_RANGE(0x420000, 0x42ffff) AM_READWRITE(f3_lineram_r,f3_lineram_w) - AM_RANGE(0x430000, 0x43ffff) AM_READWRITE(f3_pivot_r,f3_pivot_w) - AM_RANGE(0x460000, 0x46000f) AM_WRITE(f3_control_0_w) - AM_RANGE(0x460010, 0x46001f) AM_WRITE(f3_control_1_w) - AM_RANGE(0x500000, 0x501fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") - AM_RANGE(0x502022, 0x502023) AM_WRITENOP //countinously switches between 0 and 2 - AM_RANGE(0x600000, 0x600007) AM_DEVREADWRITE8("ymsnd", ym2610_device, read, write, 0x00ff) - AM_RANGE(0x60000c, 0x60000d) AM_READWRITE(drill_irq_r,drill_irq_w) - AM_RANGE(0x60000e, 0x60000f) AM_RAM // unknown purpose, zeroed at start-up and nothing else - AM_RANGE(0x700000, 0x70000f) AM_DEVREADWRITE8("tc0510nio", tc0510nio_device, read, write, 0xff00) - AM_RANGE(0x800000, 0x800001) AM_WRITE(sensors_w) -ADDRESS_MAP_END +void _2mindril_state::drill_map(address_map &map) +{ + map(0x000000, 0x07ffff).rom(); + map(0x200000, 0x20ffff).ram(); + map(0x300000, 0x3000ff).ram(); + map(0x400000, 0x40ffff).rw(this, FUNC(_2mindril_state::f3_spriteram_r), FUNC(_2mindril_state::f3_spriteram_w)); + map(0x410000, 0x41bfff).rw(this, FUNC(_2mindril_state::f3_pf_data_r), FUNC(_2mindril_state::f3_pf_data_w)); + map(0x41c000, 0x41dfff).rw(this, FUNC(_2mindril_state::f3_videoram_r), FUNC(_2mindril_state::f3_videoram_w)); + map(0x41e000, 0x41ffff).rw(this, FUNC(_2mindril_state::f3_vram_r), FUNC(_2mindril_state::f3_vram_w)); + map(0x420000, 0x42ffff).rw(this, FUNC(_2mindril_state::f3_lineram_r), FUNC(_2mindril_state::f3_lineram_w)); + map(0x430000, 0x43ffff).rw(this, FUNC(_2mindril_state::f3_pivot_r), FUNC(_2mindril_state::f3_pivot_w)); + map(0x460000, 0x46000f).w(this, FUNC(_2mindril_state::f3_control_0_w)); + map(0x460010, 0x46001f).w(this, FUNC(_2mindril_state::f3_control_1_w)); + map(0x500000, 0x501fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); + map(0x502022, 0x502023).nopw(); //countinously switches between 0 and 2 + map(0x600000, 0x600007).rw("ymsnd", FUNC(ym2610_device::read), FUNC(ym2610_device::write)).umask16(0x00ff); + map(0x60000c, 0x60000d).rw(this, FUNC(_2mindril_state::drill_irq_r), FUNC(_2mindril_state::drill_irq_w)); + map(0x60000e, 0x60000f).ram(); // unknown purpose, zeroed at start-up and nothing else + map(0x700000, 0x70000f).rw("tc0510nio", FUNC(tc0510nio_device::read), FUNC(tc0510nio_device::write)).umask16(0xff00); + map(0x800000, 0x800001).w(this, FUNC(_2mindril_state::sensors_w)); +} static INPUT_PORTS_START( drill ) PORT_START("DSW")//Dip-Switches |