diff options
Diffstat (limited to 'src/mame/drivers/onetwo.cpp')
-rw-r--r-- | src/mame/drivers/onetwo.cpp | 66 |
1 files changed, 35 insertions, 31 deletions
diff --git a/src/mame/drivers/onetwo.cpp b/src/mame/drivers/onetwo.cpp index c838830babe..521be6eaeeb 100644 --- a/src/mame/drivers/onetwo.cpp +++ b/src/mame/drivers/onetwo.cpp @@ -181,37 +181,41 @@ WRITE8_MEMBER(onetwo_state::palette2_w) * *************************************/ -ADDRESS_MAP_START(onetwo_state::main_cpu) - AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("maincpu", 0x10000) - AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") - AM_RANGE(0xc800, 0xc87f) AM_RAM_WRITE(palette1_w) AM_SHARE("paletteram") - AM_RANGE(0xc900, 0xc97f) AM_RAM_WRITE(palette2_w) AM_SHARE("paletteram2") - AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(onetwo_fgram_w) AM_SHARE("fgram") - AM_RANGE(0xe000, 0xffff) AM_RAM -ADDRESS_MAP_END - -ADDRESS_MAP_START(onetwo_state::main_cpu_io) - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x00, 0x00) AM_READ_PORT("DSW1") AM_WRITE(onetwo_coin_counters_w) - AM_RANGE(0x01, 0x01) AM_READ_PORT("DSW2") AM_DEVWRITE("soundlatch", generic_latch_8_device, write) - AM_RANGE(0x02, 0x02) AM_READ_PORT("P1") AM_WRITE(onetwo_cpubank_w) - AM_RANGE(0x03, 0x03) AM_READ_PORT("P2") - AM_RANGE(0x04, 0x04) AM_READ_PORT("SYSTEM") -ADDRESS_MAP_END - -ADDRESS_MAP_START(onetwo_state::sound_cpu) - AM_RANGE(0x0000, 0x5fff) AM_ROM - AM_RANGE(0xf000, 0xf7ff) AM_RAM - AM_RANGE(0xf800, 0xf800) AM_DEVREAD("soundlatch", generic_latch_8_device, read) -ADDRESS_MAP_END - -ADDRESS_MAP_START(onetwo_state::sound_cpu_io) - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("ymsnd", ym3812_device, status_port_r, control_port_w) - AM_RANGE(0x20, 0x20) AM_DEVWRITE("ymsnd", ym3812_device, write_port_w) - AM_RANGE(0x40, 0x40) AM_DEVREADWRITE("oki", okim6295_device, read, write) - AM_RANGE(0xc0, 0xc0) AM_DEVWRITE("soundlatch", generic_latch_8_device, acknowledge_w) -ADDRESS_MAP_END +void onetwo_state::main_cpu(address_map &map) +{ + map(0x0000, 0x7fff).rom().region("maincpu", 0x10000); + map(0x8000, 0xbfff).bankr("bank1"); + map(0xc800, 0xc87f).ram().w(this, FUNC(onetwo_state::palette1_w)).share("paletteram"); + map(0xc900, 0xc97f).ram().w(this, FUNC(onetwo_state::palette2_w)).share("paletteram2"); + map(0xd000, 0xdfff).ram().w(this, FUNC(onetwo_state::onetwo_fgram_w)).share("fgram"); + map(0xe000, 0xffff).ram(); +} + +void onetwo_state::main_cpu_io(address_map &map) +{ + map.global_mask(0xff); + map(0x00, 0x00).portr("DSW1").w(this, FUNC(onetwo_state::onetwo_coin_counters_w)); + map(0x01, 0x01).portr("DSW2").w(m_soundlatch, FUNC(generic_latch_8_device::write)); + map(0x02, 0x02).portr("P1").w(this, FUNC(onetwo_state::onetwo_cpubank_w)); + map(0x03, 0x03).portr("P2"); + map(0x04, 0x04).portr("SYSTEM"); +} + +void onetwo_state::sound_cpu(address_map &map) +{ + map(0x0000, 0x5fff).rom(); + map(0xf000, 0xf7ff).ram(); + map(0xf800, 0xf800).r(m_soundlatch, FUNC(generic_latch_8_device::read)); +} + +void onetwo_state::sound_cpu_io(address_map &map) +{ + map.global_mask(0xff); + map(0x00, 0x00).rw("ymsnd", FUNC(ym3812_device::status_port_r), FUNC(ym3812_device::control_port_w)); + map(0x20, 0x20).w("ymsnd", FUNC(ym3812_device::write_port_w)); + map(0x40, 0x40).rw("oki", FUNC(okim6295_device::read), FUNC(okim6295_device::write)); + map(0xc0, 0xc0).w(m_soundlatch, FUNC(generic_latch_8_device::acknowledge_w)); +} /************************************* * |