diff options
author | 2018-03-13 07:36:43 +0100 | |
---|---|---|
committer | 2018-03-14 14:07:14 +0100 | |
commit | 115bb9936c5cd3faf955d7eb1e251a94e4744b7b (patch) | |
tree | f0230f547f6c750f9974c61479eef28cbe4ad571 /src/mame/drivers/mitchell.cpp | |
parent | f155992daab88ad024cec995428a67108218b51d (diff) |
Address maps macros removal, pass 1 [O. Galibert]
Diffstat (limited to 'src/mame/drivers/mitchell.cpp')
-rw-r--r-- | src/mame/drivers/mitchell.cpp | 210 |
1 files changed, 110 insertions, 100 deletions
diff --git a/src/mame/drivers/mitchell.cpp b/src/mame/drivers/mitchell.cpp index 18c14d502fa..390b0f5413b 100644 --- a/src/mame/drivers/mitchell.cpp +++ b/src/mame/drivers/mitchell.cpp @@ -315,70 +315,76 @@ WRITE8_MEMBER(mitchell_state::input_w) * *************************************/ -ADDRESS_MAP_START(mitchell_state::mgakuen_map) - AM_RANGE(0x0000, 0x7fff) AM_ROM - AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") - AM_RANGE(0xc000, 0xc7ff) AM_RAM_DEVWRITE("palette", palette_device, write8) /* palette RAM */ - AM_RANGE(0xc800, 0xcfff) AM_READWRITE(pang_colorram_r, pang_colorram_w) AM_SHARE("colorram") /* Attribute RAM */ - AM_RANGE(0xd000, 0xdfff) AM_READWRITE(mgakuen_videoram_r, mgakuen_videoram_w) AM_SHARE("videoram") /* char RAM */ - AM_RANGE(0xe000, 0xefff) AM_RAM /* Work RAM */ - AM_RANGE(0xf000, 0xffff) AM_READWRITE(mgakuen_objram_r, mgakuen_objram_w) /* OBJ RAM */ -ADDRESS_MAP_END - -ADDRESS_MAP_START(mitchell_state::mitchell_map) - AM_RANGE(0x0000, 0x7fff) AM_ROM - AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") - AM_RANGE(0xc000, 0xc7ff) AM_READWRITE(pang_paletteram_r,pang_paletteram_w) /* Banked palette RAM */ - AM_RANGE(0xc800, 0xcfff) AM_READWRITE(pang_colorram_r,pang_colorram_w) AM_SHARE("colorram") /* Attribute RAM */ - AM_RANGE(0xd000, 0xdfff) AM_READWRITE(pang_videoram_r,pang_videoram_w) AM_SHARE("videoram")/* Banked char / OBJ RAM */ - AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("nvram") /* Work RAM */ -ADDRESS_MAP_END - -ADDRESS_MAP_START(mitchell_state::decrypted_opcodes_map) - AM_RANGE(0x0000, 0x7fff) AM_ROMBANK("bank0d") - AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1d") - AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("nvram") /* Work RAM */ -ADDRESS_MAP_END - -ADDRESS_MAP_START(mitchell_state::mitchell_io_map) - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x00, 0x00) AM_WRITE(pang_gfxctrl_w) /* Palette bank, layer enable, coin counters, more */ - AM_RANGE(0x00, 0x02) AM_READ(input_r) /* The Mahjong games and Block Block need special input treatment */ - AM_RANGE(0x01, 0x01) AM_WRITE(input_w) - AM_RANGE(0x02, 0x02) AM_WRITE(pang_bankswitch_w) /* Code bank register */ - AM_RANGE(0x03, 0x03) AM_DEVWRITE("ymsnd", ym2413_device, data_port_w) - AM_RANGE(0x04, 0x04) AM_DEVWRITE("ymsnd", ym2413_device, register_port_w) - AM_RANGE(0x05, 0x05) AM_READ(pang_port5_r) AM_DEVWRITE("oki", okim6295_device, write) - AM_RANGE(0x06, 0x06) AM_NOP /* watchdog? IRQ ack? video buffering? */ - AM_RANGE(0x07, 0x07) AM_WRITE(pang_video_bank_w) /* Video RAM bank register */ - AM_RANGE(0x08, 0x08) AM_WRITE(eeprom_cs_w) - AM_RANGE(0x10, 0x10) AM_WRITE(eeprom_clock_w) - AM_RANGE(0x18, 0x18) AM_WRITE(eeprom_serial_w) -ADDRESS_MAP_END +void mitchell_state::mgakuen_map(address_map &map) +{ + map(0x0000, 0x7fff).rom(); + map(0x8000, 0xbfff).bankr("bank1"); + map(0xc000, 0xc7ff).ram().w(m_palette, FUNC(palette_device::write8)); /* palette RAM */ + map(0xc800, 0xcfff).rw(this, FUNC(mitchell_state::pang_colorram_r), FUNC(mitchell_state::pang_colorram_w)).share("colorram"); /* Attribute RAM */ + map(0xd000, 0xdfff).rw(this, FUNC(mitchell_state::mgakuen_videoram_r), FUNC(mitchell_state::mgakuen_videoram_w)).share("videoram"); /* char RAM */ + map(0xe000, 0xefff).ram(); /* Work RAM */ + map(0xf000, 0xffff).rw(this, FUNC(mitchell_state::mgakuen_objram_r), FUNC(mitchell_state::mgakuen_objram_w)); /* OBJ RAM */ +} + +void mitchell_state::mitchell_map(address_map &map) +{ + map(0x0000, 0x7fff).rom(); + map(0x8000, 0xbfff).bankr("bank1"); + map(0xc000, 0xc7ff).rw(this, FUNC(mitchell_state::pang_paletteram_r), FUNC(mitchell_state::pang_paletteram_w)); /* Banked palette RAM */ + map(0xc800, 0xcfff).rw(this, FUNC(mitchell_state::pang_colorram_r), FUNC(mitchell_state::pang_colorram_w)).share("colorram"); /* Attribute RAM */ + map(0xd000, 0xdfff).rw(this, FUNC(mitchell_state::pang_videoram_r), FUNC(mitchell_state::pang_videoram_w)).share("videoram");/* Banked char / OBJ RAM */ + map(0xe000, 0xffff).ram().share("nvram"); /* Work RAM */ +} + +void mitchell_state::decrypted_opcodes_map(address_map &map) +{ + map(0x0000, 0x7fff).bankr("bank0d"); + map(0x8000, 0xbfff).bankr("bank1d"); + map(0xe000, 0xffff).ram().share("nvram"); /* Work RAM */ +} + +void mitchell_state::mitchell_io_map(address_map &map) +{ + map.global_mask(0xff); + map(0x00, 0x00).w(this, FUNC(mitchell_state::pang_gfxctrl_w)); /* Palette bank, layer enable, coin counters, more */ + map(0x00, 0x02).r(this, FUNC(mitchell_state::input_r)); /* The Mahjong games and Block Block need special input treatment */ + map(0x01, 0x01).w(this, FUNC(mitchell_state::input_w)); + map(0x02, 0x02).w(this, FUNC(mitchell_state::pang_bankswitch_w)); /* Code bank register */ + map(0x03, 0x03).w("ymsnd", FUNC(ym2413_device::data_port_w)); + map(0x04, 0x04).w("ymsnd", FUNC(ym2413_device::register_port_w)); + map(0x05, 0x05).r(this, FUNC(mitchell_state::pang_port5_r)).w(m_oki, FUNC(okim6295_device::write)); + map(0x06, 0x06).noprw(); /* watchdog? IRQ ack? video buffering? */ + map(0x07, 0x07).w(this, FUNC(mitchell_state::pang_video_bank_w)); /* Video RAM bank register */ + map(0x08, 0x08).w(this, FUNC(mitchell_state::eeprom_cs_w)); + map(0x10, 0x10).w(this, FUNC(mitchell_state::eeprom_clock_w)); + map(0x18, 0x18).w(this, FUNC(mitchell_state::eeprom_serial_w)); +} /* spangbl */ -ADDRESS_MAP_START(mitchell_state::spangbl_map) - AM_RANGE(0x0000, 0x7fff) AM_ROM - AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") AM_WRITENOP - AM_RANGE(0xc000, 0xc7ff) AM_READWRITE(pang_paletteram_r, pang_paletteram_w) /* Banked palette RAM */ - AM_RANGE(0xc800, 0xcfff) AM_READWRITE(pang_colorram_r, pang_colorram_w) AM_SHARE("colorram")/* Attribute RAM */ - AM_RANGE(0xd000, 0xdfff) AM_READWRITE(pang_videoram_r, pang_videoram_w) AM_SHARE("videoram") /* Banked char / OBJ RAM */ - AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("nvram") /* Work RAM */ -ADDRESS_MAP_END - -ADDRESS_MAP_START(mitchell_state::spangbl_io_map) - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x00, 0x02) AM_READ(input_r) - AM_RANGE(0x00, 0x00) AM_WRITE(pangbl_gfxctrl_w) /* Palette bank, layer enable, coin counters, more */ - AM_RANGE(0x02, 0x02) AM_WRITE(pang_bankswitch_w) /* Code bank register */ - AM_RANGE(0x03, 0x03) AM_DEVWRITE("soundlatch", generic_latch_8_device, write) - AM_RANGE(0x05, 0x05) AM_READ_PORT("SYS0") - AM_RANGE(0x06, 0x06) AM_WRITENOP /* watchdog? irq ack? */ - AM_RANGE(0x07, 0x07) AM_WRITE(pang_video_bank_w) /* Video RAM bank register */ - AM_RANGE(0x08, 0x08) AM_WRITE(eeprom_cs_w) - AM_RANGE(0x10, 0x10) AM_WRITE(eeprom_clock_w) - AM_RANGE(0x18, 0x18) AM_WRITE(eeprom_serial_w) -ADDRESS_MAP_END +void mitchell_state::spangbl_map(address_map &map) +{ + map(0x0000, 0x7fff).rom(); + map(0x8000, 0xbfff).bankr("bank1").nopw(); + map(0xc000, 0xc7ff).rw(this, FUNC(mitchell_state::pang_paletteram_r), FUNC(mitchell_state::pang_paletteram_w)); /* Banked palette RAM */ + map(0xc800, 0xcfff).rw(this, FUNC(mitchell_state::pang_colorram_r), FUNC(mitchell_state::pang_colorram_w)).share("colorram");/* Attribute RAM */ + map(0xd000, 0xdfff).rw(this, FUNC(mitchell_state::pang_videoram_r), FUNC(mitchell_state::pang_videoram_w)).share("videoram"); /* Banked char / OBJ RAM */ + map(0xe000, 0xffff).ram().share("nvram"); /* Work RAM */ +} + +void mitchell_state::spangbl_io_map(address_map &map) +{ + map.global_mask(0xff); + map(0x00, 0x02).r(this, FUNC(mitchell_state::input_r)); + map(0x00, 0x00).w(this, FUNC(mitchell_state::pangbl_gfxctrl_w)); /* Palette bank, layer enable, coin counters, more */ + map(0x02, 0x02).w(this, FUNC(mitchell_state::pang_bankswitch_w)); /* Code bank register */ + map(0x03, 0x03).w(m_soundlatch, FUNC(generic_latch_8_device::write)); + map(0x05, 0x05).portr("SYS0"); + map(0x06, 0x06).nopw(); /* watchdog? irq ack? */ + map(0x07, 0x07).w(this, FUNC(mitchell_state::pang_video_bank_w)); /* Video RAM bank register */ + map(0x08, 0x08).w(this, FUNC(mitchell_state::eeprom_cs_w)); + map(0x10, 0x10).w(this, FUNC(mitchell_state::eeprom_clock_w)); + map(0x18, 0x18).w(this, FUNC(mitchell_state::eeprom_serial_w)); +} WRITE8_MEMBER(mitchell_state::sound_bankswitch_w) { @@ -387,25 +393,27 @@ WRITE8_MEMBER(mitchell_state::sound_bankswitch_w) m_soundbank->set_entry(data & 7); } -ADDRESS_MAP_START(mitchell_state::spangbl_sound_map) - AM_RANGE(0x0000, 0x7fff) AM_ROM - AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("soundbank") - AM_RANGE(0xe000, 0xe000) AM_WRITE(sound_bankswitch_w) - AM_RANGE(0xe400, 0xe400) AM_DEVWRITE("adpcm_select", ls157_device, ba_w) - AM_RANGE(0xec00, 0xec01) AM_DEVWRITE("ymsnd", ym2413_device, write) - AM_RANGE(0xf000, 0xf4ff) AM_RAM - AM_RANGE(0xf800, 0xf800) AM_DEVREAD("soundlatch", generic_latch_8_device, read) -ADDRESS_MAP_END - -ADDRESS_MAP_START(mitchell_state::pangba_sound_map) - AM_RANGE(0x0000, 0x7fff) AM_ROM - AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("soundbank") - AM_RANGE(0xe000, 0xe000) AM_WRITE(sound_bankswitch_w) - AM_RANGE(0xe400, 0xe400) AM_DEVWRITE("adpcm_select", ls157_device, ba_w) - AM_RANGE(0xec00, 0xec01) AM_DEVWRITE("ymsnd", ym3812_device, write) - AM_RANGE(0xf000, 0xf4ff) AM_RAM - AM_RANGE(0xf800, 0xf800) AM_DEVREAD("soundlatch", generic_latch_8_device, read) -ADDRESS_MAP_END +void mitchell_state::spangbl_sound_map(address_map &map) +{ + map(0x0000, 0x7fff).rom(); + map(0x8000, 0xbfff).bankr("soundbank"); + map(0xe000, 0xe000).w(this, FUNC(mitchell_state::sound_bankswitch_w)); + map(0xe400, 0xe400).w(m_adpcm_select, FUNC(ls157_device::ba_w)); + map(0xec00, 0xec01).w("ymsnd", FUNC(ym2413_device::write)); + map(0xf000, 0xf4ff).ram(); + map(0xf800, 0xf800).r(m_soundlatch, FUNC(generic_latch_8_device::read)); +} + +void mitchell_state::pangba_sound_map(address_map &map) +{ + map(0x0000, 0x7fff).rom(); + map(0x8000, 0xbfff).bankr("soundbank"); + map(0xe000, 0xe000).w(this, FUNC(mitchell_state::sound_bankswitch_w)); + map(0xe400, 0xe400).w(m_adpcm_select, FUNC(ls157_device::ba_w)); + map(0xec00, 0xec01).w("ymsnd", FUNC(ym3812_device::write)); + map(0xf000, 0xf4ff).ram(); + map(0xf800, 0xf800).r(m_soundlatch, FUNC(generic_latch_8_device::read)); +} /**** Monsters World ****/ @@ -414,13 +422,14 @@ WRITE8_MEMBER(mitchell_state::oki_banking_w) m_oki->set_rom_bank(data & 3); } -ADDRESS_MAP_START(mitchell_state::mstworld_sound_map) - AM_RANGE(0x0000, 0x7fff) AM_ROM - AM_RANGE(0x8000, 0x87ff) AM_RAM - AM_RANGE(0x9000, 0x9000) AM_WRITE(oki_banking_w) - AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_device, read, write) - AM_RANGE(0xa000, 0xa000) AM_DEVREAD("soundlatch", generic_latch_8_device, read) -ADDRESS_MAP_END +void mitchell_state::mstworld_sound_map(address_map &map) +{ + map(0x0000, 0x7fff).rom(); + map(0x8000, 0x87ff).ram(); + map(0x9000, 0x9000).w(this, FUNC(mitchell_state::oki_banking_w)); + map(0x9800, 0x9800).rw(m_oki, FUNC(okim6295_device::read), FUNC(okim6295_device::write)); + map(0xa000, 0xa000).r(m_soundlatch, FUNC(generic_latch_8_device::read)); +} WRITE8_MEMBER(mitchell_state::mstworld_sound_w) { @@ -428,18 +437,19 @@ WRITE8_MEMBER(mitchell_state::mstworld_sound_w) m_audiocpu->set_input_line(0, HOLD_LINE); } -ADDRESS_MAP_START(mitchell_state::mstworld_io_map) - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") AM_WRITE(mstworld_gfxctrl_w) /* Palette bank, layer enable, coin counters, more */ - AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1") - AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2") AM_WRITE(pang_bankswitch_w) /* Code bank register */ - AM_RANGE(0x03, 0x03) AM_READ_PORT("DSW0") AM_WRITE(mstworld_sound_w) /* write to sound cpu */ - AM_RANGE(0x04, 0x04) AM_READ_PORT("DSW1") /* dips? */ - AM_RANGE(0x05, 0x05) AM_READ_PORT("SYS0") /* special? */ - AM_RANGE(0x06, 0x06) AM_READ_PORT("DSW2") /* dips? */ - AM_RANGE(0x06, 0x06) AM_WRITENOP /* watchdog? irq ack? */ - AM_RANGE(0x07, 0x07) AM_WRITE(mstworld_video_bank_w) /* Video RAM bank register */ -ADDRESS_MAP_END +void mitchell_state::mstworld_io_map(address_map &map) +{ + map.global_mask(0xff); + map(0x00, 0x00).portr("IN0").w(this, FUNC(mitchell_state::mstworld_gfxctrl_w)); /* Palette bank, layer enable, coin counters, more */ + map(0x01, 0x01).portr("IN1"); + map(0x02, 0x02).portr("IN2").w(this, FUNC(mitchell_state::pang_bankswitch_w)); /* Code bank register */ + map(0x03, 0x03).portr("DSW0").w(this, FUNC(mitchell_state::mstworld_sound_w)); /* write to sound cpu */ + map(0x04, 0x04).portr("DSW1"); /* dips? */ + map(0x05, 0x05).portr("SYS0"); /* special? */ + map(0x06, 0x06).portr("DSW2"); /* dips? */ + map(0x06, 0x06).nopw(); /* watchdog? irq ack? */ + map(0x07, 0x07).w(this, FUNC(mitchell_state::mstworld_video_bank_w)); /* Video RAM bank register */ +} /************************************* |