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/lasso.cpp | |
parent | f155992daab88ad024cec995428a67108218b51d (diff) |
Address maps macros removal, pass 1 [O. Galibert]
Diffstat (limited to 'src/mame/drivers/lasso.cpp')
-rw-r--r-- | src/mame/drivers/lasso.cpp | 268 |
1 files changed, 139 insertions, 129 deletions
diff --git a/src/mame/drivers/lasso.cpp b/src/mame/drivers/lasso.cpp index 9bed15a60dc..297d96d493f 100644 --- a/src/mame/drivers/lasso.cpp +++ b/src/mame/drivers/lasso.cpp @@ -74,135 +74,145 @@ WRITE8_MEMBER(lasso_state::sound_select_w) } -ADDRESS_MAP_START(lasso_state::lasso_main_map) - AM_RANGE(0x0000, 0x03ff) AM_RAM - AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(lasso_videoram_w) AM_SHARE("videoram") - AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(lasso_colorram_w) AM_SHARE("colorram") - AM_RANGE(0x0c00, 0x0c7f) AM_RAM AM_SHARE("spriteram") - AM_RANGE(0x1000, 0x17ff) AM_RAM AM_SHARE("share1") - AM_RANGE(0x1800, 0x1800) AM_WRITE(sound_command_w) - AM_RANGE(0x1801, 0x1801) AM_WRITEONLY AM_SHARE("back_color") - AM_RANGE(0x1802, 0x1802) AM_WRITE(lasso_video_control_w) - AM_RANGE(0x1804, 0x1804) AM_READ_PORT("1804") - AM_RANGE(0x1805, 0x1805) AM_READ_PORT("1805") - AM_RANGE(0x1806, 0x1806) AM_READ_PORT("1806") AM_WRITENOP /* game uses 'lsr' to read port */ - AM_RANGE(0x1807, 0x1807) AM_READ_PORT("1807") - AM_RANGE(0x8000, 0xbfff) AM_MIRROR(0x4000) AM_ROM -ADDRESS_MAP_END - - -ADDRESS_MAP_START(lasso_state::lasso_audio_map) - AM_RANGE(0x0000, 0x01ff) AM_RAM - AM_RANGE(0x5000, 0x7fff) AM_ROM - AM_RANGE(0xb000, 0xb000) AM_WRITEONLY AM_SHARE("chip_data") - AM_RANGE(0xb001, 0xb001) AM_WRITE(sound_select_w) - AM_RANGE(0xb004, 0xb004) AM_READ(sound_status_r) - AM_RANGE(0xb005, 0xb005) AM_DEVREAD("soundlatch", generic_latch_8_device, read) - AM_RANGE(0xf000, 0xffff) AM_ROM AM_REGION("audiocpu", 0x7000) -ADDRESS_MAP_END - - -ADDRESS_MAP_START(lasso_state::lasso_coprocessor_map) - AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("share1") - AM_RANGE(0x2000, 0x3fff) AM_RAM AM_SHARE("bitmap_ram") - AM_RANGE(0x8000, 0x8fff) AM_MIRROR(0x7000) AM_ROM -ADDRESS_MAP_END - - -ADDRESS_MAP_START(lasso_state::chameleo_main_map) - AM_RANGE(0x0000, 0x03ff) AM_RAM - AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(lasso_videoram_w) AM_SHARE("videoram") - AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(lasso_colorram_w) AM_SHARE("colorram") - AM_RANGE(0x0c00, 0x0fff) AM_RAM - AM_RANGE(0x1000, 0x107f) AM_RAM AM_SHARE("spriteram") - AM_RANGE(0x1080, 0x10ff) AM_RAM - AM_RANGE(0x1800, 0x1800) AM_WRITE(sound_command_w) - AM_RANGE(0x1801, 0x1801) AM_WRITEONLY AM_SHARE("back_color") - AM_RANGE(0x1802, 0x1802) AM_WRITE(lasso_video_control_w) - AM_RANGE(0x1804, 0x1804) AM_READ_PORT("1804") - AM_RANGE(0x1805, 0x1805) AM_READ_PORT("1805") - AM_RANGE(0x1806, 0x1806) AM_READ_PORT("1806") - AM_RANGE(0x1807, 0x1807) AM_READ_PORT("1807") - AM_RANGE(0x4000, 0xbfff) AM_ROM - AM_RANGE(0xe000, 0xffff) AM_ROM AM_REGION("maincpu", 0xa000) -ADDRESS_MAP_END - - -ADDRESS_MAP_START(lasso_state::chameleo_audio_map) - AM_RANGE(0x0000, 0x01ff) AM_RAM - AM_RANGE(0x1000, 0x1fff) AM_ROM - AM_RANGE(0x6000, 0x7fff) AM_ROM - AM_RANGE(0xb000, 0xb000) AM_WRITEONLY AM_SHARE("chip_data") - AM_RANGE(0xb001, 0xb001) AM_WRITE(sound_select_w) - AM_RANGE(0xb004, 0xb004) AM_READ(sound_status_r) - AM_RANGE(0xb005, 0xb005) AM_DEVREAD("soundlatch", generic_latch_8_device, read) - AM_RANGE(0xf000, 0xffff) AM_ROM AM_REGION("audiocpu", 0x7000) -ADDRESS_MAP_END - - -ADDRESS_MAP_START(lasso_state::wwjgtin_main_map) - AM_RANGE(0x0000, 0x07ff) AM_RAM - AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(lasso_videoram_w) AM_SHARE("videoram") - AM_RANGE(0x0c00, 0x0fff) AM_RAM_WRITE(lasso_colorram_w) AM_SHARE("colorram") - AM_RANGE(0x1000, 0x10ff) AM_RAM AM_SHARE("spriteram") - AM_RANGE(0x1800, 0x1800) AM_WRITE(sound_command_w) - AM_RANGE(0x1801, 0x1801) AM_WRITEONLY AM_SHARE("back_color") - AM_RANGE(0x1802, 0x1802) AM_WRITE(wwjgtin_video_control_w) - AM_RANGE(0x1804, 0x1804) AM_READ_PORT("1804") - AM_RANGE(0x1805, 0x1805) AM_READ_PORT("1805") - AM_RANGE(0x1806, 0x1806) AM_READ_PORT("1806") - AM_RANGE(0x1807, 0x1807) AM_READ_PORT("1807") - AM_RANGE(0x1c00, 0x1c02) AM_WRITEONLY AM_SHARE("last_colors") - AM_RANGE(0x1c04, 0x1c07) AM_WRITEONLY AM_SHARE("track_scroll") - AM_RANGE(0x4000, 0xbfff) AM_ROM - AM_RANGE(0xc000, 0xffff) AM_ROM AM_REGION("maincpu", 0x8000) -ADDRESS_MAP_END - - -ADDRESS_MAP_START(lasso_state::wwjgtin_audio_map) - AM_RANGE(0x0000, 0x01ff) AM_RAM - AM_RANGE(0x4000, 0x7fff) AM_MIRROR(0x8000) AM_ROM - AM_RANGE(0xb000, 0xb000) AM_WRITEONLY AM_SHARE("chip_data") - AM_RANGE(0xb001, 0xb001) AM_WRITE(sound_select_w) - AM_RANGE(0xb003, 0xb003) AM_DEVWRITE("dac", dac_byte_interface, write) - AM_RANGE(0xb004, 0xb004) AM_READ(sound_status_r) - AM_RANGE(0xb005, 0xb005) AM_DEVREAD("soundlatch", generic_latch_8_device, read) -ADDRESS_MAP_END - - -ADDRESS_MAP_START(lasso_state::pinbo_main_map) - AM_RANGE(0x0000, 0x03ff) AM_RAM - AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(lasso_videoram_w) AM_SHARE("videoram") - AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(lasso_colorram_w) AM_SHARE("colorram") - AM_RANGE(0x1000, 0x10ff) AM_RAM AM_SHARE("spriteram") - AM_RANGE(0x1800, 0x1800) AM_WRITE(sound_command_w) - AM_RANGE(0x1801, 0x1801) AM_WRITEONLY AM_SHARE("back_color") - AM_RANGE(0x1802, 0x1802) AM_WRITE(pinbo_video_control_w) - AM_RANGE(0x1804, 0x1804) AM_READ_PORT("1804") - AM_RANGE(0x1805, 0x1805) AM_READ_PORT("1805") - AM_RANGE(0x1806, 0x1806) AM_READ_PORT("1806") - AM_RANGE(0x1807, 0x1807) AM_READ_PORT("1807") - AM_RANGE(0x2000, 0x3fff) AM_ROM - AM_RANGE(0x6000, 0xbfff) AM_ROM - AM_RANGE(0xe000, 0xffff) AM_ROM AM_REGION("maincpu", 0xa000) -ADDRESS_MAP_END - - -ADDRESS_MAP_START(lasso_state::pinbo_audio_map) - AM_RANGE(0x0000, 0x1fff) AM_ROM - AM_RANGE(0xf000, 0xffff) AM_RAM -ADDRESS_MAP_END - - -ADDRESS_MAP_START(lasso_state::pinbo_audio_io_map) - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x00, 0x01) AM_DEVWRITE("ay1", ay8910_device, address_data_w) - AM_RANGE(0x02, 0x02) AM_DEVREAD("ay1", ay8910_device, data_r) - AM_RANGE(0x04, 0x05) AM_DEVWRITE("ay2", ay8910_device, address_data_w) - AM_RANGE(0x06, 0x06) AM_DEVREAD("ay2", ay8910_device, data_r) - AM_RANGE(0x08, 0x08) AM_DEVREAD("soundlatch", generic_latch_8_device, read) AM_WRITENOP /* ??? */ - AM_RANGE(0x14, 0x14) AM_WRITENOP /* ??? */ -ADDRESS_MAP_END +void lasso_state::lasso_main_map(address_map &map) +{ + map(0x0000, 0x03ff).ram(); + map(0x0400, 0x07ff).ram().w(this, FUNC(lasso_state::lasso_videoram_w)).share("videoram"); + map(0x0800, 0x0bff).ram().w(this, FUNC(lasso_state::lasso_colorram_w)).share("colorram"); + map(0x0c00, 0x0c7f).ram().share("spriteram"); + map(0x1000, 0x17ff).ram().share("share1"); + map(0x1800, 0x1800).w(this, FUNC(lasso_state::sound_command_w)); + map(0x1801, 0x1801).writeonly().share("back_color"); + map(0x1802, 0x1802).w(this, FUNC(lasso_state::lasso_video_control_w)); + map(0x1804, 0x1804).portr("1804"); + map(0x1805, 0x1805).portr("1805"); + map(0x1806, 0x1806).portr("1806").nopw(); /* game uses 'lsr' to read port */ + map(0x1807, 0x1807).portr("1807"); + map(0x8000, 0xbfff).mirror(0x4000).rom(); +} + + +void lasso_state::lasso_audio_map(address_map &map) +{ + map(0x0000, 0x01ff).ram(); + map(0x5000, 0x7fff).rom(); + map(0xb000, 0xb000).writeonly().share("chip_data"); + map(0xb001, 0xb001).w(this, FUNC(lasso_state::sound_select_w)); + map(0xb004, 0xb004).r(this, FUNC(lasso_state::sound_status_r)); + map(0xb005, 0xb005).r(m_soundlatch, FUNC(generic_latch_8_device::read)); + map(0xf000, 0xffff).rom().region("audiocpu", 0x7000); +} + + +void lasso_state::lasso_coprocessor_map(address_map &map) +{ + map(0x0000, 0x07ff).ram().share("share1"); + map(0x2000, 0x3fff).ram().share("bitmap_ram"); + map(0x8000, 0x8fff).mirror(0x7000).rom(); +} + + +void lasso_state::chameleo_main_map(address_map &map) +{ + map(0x0000, 0x03ff).ram(); + map(0x0400, 0x07ff).ram().w(this, FUNC(lasso_state::lasso_videoram_w)).share("videoram"); + map(0x0800, 0x0bff).ram().w(this, FUNC(lasso_state::lasso_colorram_w)).share("colorram"); + map(0x0c00, 0x0fff).ram(); + map(0x1000, 0x107f).ram().share("spriteram"); + map(0x1080, 0x10ff).ram(); + map(0x1800, 0x1800).w(this, FUNC(lasso_state::sound_command_w)); + map(0x1801, 0x1801).writeonly().share("back_color"); + map(0x1802, 0x1802).w(this, FUNC(lasso_state::lasso_video_control_w)); + map(0x1804, 0x1804).portr("1804"); + map(0x1805, 0x1805).portr("1805"); + map(0x1806, 0x1806).portr("1806"); + map(0x1807, 0x1807).portr("1807"); + map(0x4000, 0xbfff).rom(); + map(0xe000, 0xffff).rom().region("maincpu", 0xa000); +} + + +void lasso_state::chameleo_audio_map(address_map &map) +{ + map(0x0000, 0x01ff).ram(); + map(0x1000, 0x1fff).rom(); + map(0x6000, 0x7fff).rom(); + map(0xb000, 0xb000).writeonly().share("chip_data"); + map(0xb001, 0xb001).w(this, FUNC(lasso_state::sound_select_w)); + map(0xb004, 0xb004).r(this, FUNC(lasso_state::sound_status_r)); + map(0xb005, 0xb005).r(m_soundlatch, FUNC(generic_latch_8_device::read)); + map(0xf000, 0xffff).rom().region("audiocpu", 0x7000); +} + + +void lasso_state::wwjgtin_main_map(address_map &map) +{ + map(0x0000, 0x07ff).ram(); + map(0x0800, 0x0bff).ram().w(this, FUNC(lasso_state::lasso_videoram_w)).share("videoram"); + map(0x0c00, 0x0fff).ram().w(this, FUNC(lasso_state::lasso_colorram_w)).share("colorram"); + map(0x1000, 0x10ff).ram().share("spriteram"); + map(0x1800, 0x1800).w(this, FUNC(lasso_state::sound_command_w)); + map(0x1801, 0x1801).writeonly().share("back_color"); + map(0x1802, 0x1802).w(this, FUNC(lasso_state::wwjgtin_video_control_w)); + map(0x1804, 0x1804).portr("1804"); + map(0x1805, 0x1805).portr("1805"); + map(0x1806, 0x1806).portr("1806"); + map(0x1807, 0x1807).portr("1807"); + map(0x1c00, 0x1c02).writeonly().share("last_colors"); + map(0x1c04, 0x1c07).writeonly().share("track_scroll"); + map(0x4000, 0xbfff).rom(); + map(0xc000, 0xffff).rom().region("maincpu", 0x8000); +} + + +void lasso_state::wwjgtin_audio_map(address_map &map) +{ + map(0x0000, 0x01ff).ram(); + map(0x4000, 0x7fff).mirror(0x8000).rom(); + map(0xb000, 0xb000).writeonly().share("chip_data"); + map(0xb001, 0xb001).w(this, FUNC(lasso_state::sound_select_w)); + map(0xb003, 0xb003).w("dac", FUNC(dac_byte_interface::write)); + map(0xb004, 0xb004).r(this, FUNC(lasso_state::sound_status_r)); + map(0xb005, 0xb005).r(m_soundlatch, FUNC(generic_latch_8_device::read)); +} + + +void lasso_state::pinbo_main_map(address_map &map) +{ + map(0x0000, 0x03ff).ram(); + map(0x0400, 0x07ff).ram().w(this, FUNC(lasso_state::lasso_videoram_w)).share("videoram"); + map(0x0800, 0x0bff).ram().w(this, FUNC(lasso_state::lasso_colorram_w)).share("colorram"); + map(0x1000, 0x10ff).ram().share("spriteram"); + map(0x1800, 0x1800).w(this, FUNC(lasso_state::sound_command_w)); + map(0x1801, 0x1801).writeonly().share("back_color"); + map(0x1802, 0x1802).w(this, FUNC(lasso_state::pinbo_video_control_w)); + map(0x1804, 0x1804).portr("1804"); + map(0x1805, 0x1805).portr("1805"); + map(0x1806, 0x1806).portr("1806"); + map(0x1807, 0x1807).portr("1807"); + map(0x2000, 0x3fff).rom(); + map(0x6000, 0xbfff).rom(); + map(0xe000, 0xffff).rom().region("maincpu", 0xa000); +} + + +void lasso_state::pinbo_audio_map(address_map &map) +{ + map(0x0000, 0x1fff).rom(); + map(0xf000, 0xffff).ram(); +} + + +void lasso_state::pinbo_audio_io_map(address_map &map) +{ + map.global_mask(0xff); + map(0x00, 0x01).w("ay1", FUNC(ay8910_device::address_data_w)); + map(0x02, 0x02).r("ay1", FUNC(ay8910_device::data_r)); + map(0x04, 0x05).w("ay2", FUNC(ay8910_device::address_data_w)); + map(0x06, 0x06).r("ay2", FUNC(ay8910_device::data_r)); + map(0x08, 0x08).r(m_soundlatch, FUNC(generic_latch_8_device::read)).nopw(); /* ??? */ + map(0x14, 0x14).nopw(); /* ??? */ +} |