diff options
author | Olivier Galibert <galibert@pobox.com> | 2018-03-13 07:36:43 +0100 |
---|---|---|
committer | Olivier Galibert <galibert@pobox.com> | 2018-03-14 14:07:14 +0100 |
commit | 115bb9936c5cd3faf955d7eb1e251a94e4744b7b (patch) | |
tree | f0230f547f6c750f9974c61479eef28cbe4ad571 /src/mame/drivers/segaxbd.cpp | |
parent | f155992daab88ad024cec995428a67108218b51d (diff) |
Address maps macros removal, pass 1 [O. Galibert]
Diffstat (limited to 'src/mame/drivers/segaxbd.cpp')
-rw-r--r-- | src/mame/drivers/segaxbd.cpp | 110 |
1 files changed, 57 insertions, 53 deletions
diff --git a/src/mame/drivers/segaxbd.cpp b/src/mame/drivers/segaxbd.cpp index 0dc2fe89ba9..cd8b4ff4f1e 100644 --- a/src/mame/drivers/segaxbd.cpp +++ b/src/mame/drivers/segaxbd.cpp @@ -958,36 +958,37 @@ WRITE16_MEMBER( segaxbd_state::paletteram_w ) // MAIN CPU ADDRESS MAPS //************************************************************************** -ADDRESS_MAP_START(segaxbd_state::main_map) - ADDRESS_MAP_UNMAP_HIGH - ADDRESS_MAP_GLOBAL_MASK(0x3fffff) - AM_RANGE(0x000000, 0x07ffff) AM_ROM - AM_RANGE(0x080000, 0x083fff) AM_MIRROR(0x01c000) AM_RAM AM_SHARE("backup1") - AM_RANGE(0x0a0000, 0x0a3fff) AM_MIRROR(0x01c000) AM_RAM AM_SHARE("backup2") - AM_RANGE(0x0c0000, 0x0cffff) AM_DEVREADWRITE("segaic16vid", segaic16_video_device, tileram_r, tileram_w) AM_SHARE("tileram") - AM_RANGE(0x0d0000, 0x0d0fff) AM_MIRROR(0x00f000) AM_DEVREADWRITE("segaic16vid", segaic16_video_device, textram_r, textram_w) AM_SHARE("textram") - AM_RANGE(0x0e0000, 0x0e0007) AM_MIRROR(0x003ff8) AM_DEVREADWRITE("multiplier_main", sega_315_5248_multiplier_device, read, write) - AM_RANGE(0x0e4000, 0x0e401f) AM_MIRROR(0x003fe0) AM_DEVREADWRITE("divider_main", sega_315_5249_divider_device, read, write) - AM_RANGE(0x0e8000, 0x0e801f) AM_MIRROR(0x003fe0) AM_DEVREADWRITE("cmptimer_main", sega_315_5250_compare_timer_device, read, write) - AM_RANGE(0x100000, 0x100fff) AM_MIRROR(0x00f000) AM_RAM AM_SHARE("sprites") - AM_RANGE(0x110000, 0x11ffff) AM_DEVWRITE("sprites", sega_xboard_sprite_device, draw_write) - AM_RANGE(0x120000, 0x123fff) AM_MIRROR(0x00c000) AM_RAM_WRITE(paletteram_w) AM_SHARE("paletteram") - AM_RANGE(0x130000, 0x13ffff) AM_READWRITE(adc_r, adc_w) - AM_RANGE(0x140000, 0x14000f) AM_MIRROR(0x00fff0) AM_DEVREADWRITE8("iochip_0", cxd1095_device, read, write, 0x00ff) - AM_RANGE(0x150000, 0x15000f) AM_MIRROR(0x00fff0) AM_DEVREADWRITE8("iochip_1", cxd1095_device, read, write, 0x00ff) - AM_RANGE(0x160000, 0x16ffff) AM_WRITE(iocontrol_w) - AM_RANGE(0x200000, 0x27ffff) AM_ROM AM_REGION("subcpu", 0x00000) - AM_RANGE(0x280000, 0x283fff) AM_MIRROR(0x01c000) AM_RAM AM_SHARE("subram0") - AM_RANGE(0x2a0000, 0x2a3fff) AM_MIRROR(0x01c000) AM_RAM AM_SHARE("subram1") - AM_RANGE(0x2e0000, 0x2e0007) AM_MIRROR(0x003ff8) AM_DEVREADWRITE("multiplier_subx", sega_315_5248_multiplier_device, read, write) - AM_RANGE(0x2e4000, 0x2e401f) AM_MIRROR(0x003fe0) AM_DEVREADWRITE("divider_subx", sega_315_5249_divider_device, read, write) - AM_RANGE(0x2e8000, 0x2e800f) AM_MIRROR(0x003ff0) AM_DEVREADWRITE("cmptimer_subx", sega_315_5250_compare_timer_device, read, write) - AM_RANGE(0x2ec000, 0x2ecfff) AM_MIRROR(0x001000) AM_RAM AM_SHARE("roadram") - AM_RANGE(0x2ee000, 0x2effff) AM_DEVREADWRITE("segaic16road", segaic16_road_device, segaic16_road_control_0_r, segaic16_road_control_0_w) +void segaxbd_state::main_map(address_map &map) +{ + map.unmap_value_high(); + map.global_mask(0x3fffff); + map(0x000000, 0x07ffff).rom(); + map(0x080000, 0x083fff).mirror(0x01c000).ram().share("backup1"); + map(0x0a0000, 0x0a3fff).mirror(0x01c000).ram().share("backup2"); + map(0x0c0000, 0x0cffff).rw("segaic16vid", FUNC(segaic16_video_device::tileram_r), FUNC(segaic16_video_device::tileram_w)).share("tileram"); + map(0x0d0000, 0x0d0fff).mirror(0x00f000).rw("segaic16vid", FUNC(segaic16_video_device::textram_r), FUNC(segaic16_video_device::textram_w)).share("textram"); + map(0x0e0000, 0x0e0007).mirror(0x003ff8).rw("multiplier_main", FUNC(sega_315_5248_multiplier_device::read), FUNC(sega_315_5248_multiplier_device::write)); + map(0x0e4000, 0x0e401f).mirror(0x003fe0).rw("divider_main", FUNC(sega_315_5249_divider_device::read), FUNC(sega_315_5249_divider_device::write)); + map(0x0e8000, 0x0e801f).mirror(0x003fe0).rw("cmptimer_main", FUNC(sega_315_5250_compare_timer_device::read), FUNC(sega_315_5250_compare_timer_device::write)); + map(0x100000, 0x100fff).mirror(0x00f000).ram().share("sprites"); + map(0x110000, 0x11ffff).w("sprites", FUNC(sega_xboard_sprite_device::draw_write)); + map(0x120000, 0x123fff).mirror(0x00c000).ram().w(this, FUNC(segaxbd_state::paletteram_w)).share("paletteram"); + map(0x130000, 0x13ffff).rw(this, FUNC(segaxbd_state::adc_r), FUNC(segaxbd_state::adc_w)); + map(0x140000, 0x14000f).mirror(0x00fff0).rw("iochip_0", FUNC(cxd1095_device::read), FUNC(cxd1095_device::write)).umask16(0x00ff); + map(0x150000, 0x15000f).mirror(0x00fff0).rw("iochip_1", FUNC(cxd1095_device::read), FUNC(cxd1095_device::write)).umask16(0x00ff); + map(0x160000, 0x16ffff).w(this, FUNC(segaxbd_state::iocontrol_w)); + map(0x200000, 0x27ffff).rom().region("subcpu", 0x00000); + map(0x280000, 0x283fff).mirror(0x01c000).ram().share("subram0"); + map(0x2a0000, 0x2a3fff).mirror(0x01c000).ram().share("subram1"); + map(0x2e0000, 0x2e0007).mirror(0x003ff8).rw("multiplier_subx", FUNC(sega_315_5248_multiplier_device::read), FUNC(sega_315_5248_multiplier_device::write)); + map(0x2e4000, 0x2e401f).mirror(0x003fe0).rw("divider_subx", FUNC(sega_315_5249_divider_device::read), FUNC(sega_315_5249_divider_device::write)); + map(0x2e8000, 0x2e800f).mirror(0x003ff0).rw("cmptimer_subx", FUNC(sega_315_5250_compare_timer_device::read), FUNC(sega_315_5250_compare_timer_device::write)); + map(0x2ec000, 0x2ecfff).mirror(0x001000).ram().share("roadram"); + map(0x2ee000, 0x2effff).rw("segaic16road", FUNC(segaic16_road_device::segaic16_road_control_0_r), FUNC(segaic16_road_device::segaic16_road_control_0_w)); // AM_RANGE(0x2f0000, 0x2f3fff) AM_READWRITE(excs_r, excs_w) - AM_RANGE(0x3f8000, 0x3fbfff) AM_RAM AM_SHARE("backup1") - AM_RANGE(0x3fc000, 0x3fffff) AM_RAM AM_SHARE("backup2") -ADDRESS_MAP_END + map(0x3f8000, 0x3fbfff).ram().share("backup1"); + map(0x3fc000, 0x3fffff).ram().share("backup2"); +} ADDRESS_MAP_START(segaxbd_state::decrypted_opcodes_map) AM_RANGE(0x00000, 0xfffff) AM_ROMBANK("fd1094_decrypted_opcodes") @@ -997,19 +998,20 @@ ADDRESS_MAP_END // SUB CPU ADDRESS MAPS //************************************************************************** -ADDRESS_MAP_START(segaxbd_state::sub_map) - ADDRESS_MAP_UNMAP_HIGH - ADDRESS_MAP_GLOBAL_MASK(0xfffff) - AM_RANGE(0x000000, 0x07ffff) AM_ROM - AM_RANGE(0x080000, 0x083fff) AM_MIRROR(0x01c000) AM_RAM AM_SHARE("subram0") - AM_RANGE(0x0a0000, 0x0a3fff) AM_MIRROR(0x01c000) AM_RAM AM_SHARE("subram1") - AM_RANGE(0x0e0000, 0x0e0007) AM_MIRROR(0x003ff8) AM_DEVREADWRITE("multiplier_subx", sega_315_5248_multiplier_device, read, write) - AM_RANGE(0x0e4000, 0x0e401f) AM_MIRROR(0x003fe0) AM_DEVREADWRITE("divider_subx", sega_315_5249_divider_device, read, write) - AM_RANGE(0x0e8000, 0x0e800f) AM_MIRROR(0x003ff0) AM_DEVREADWRITE("cmptimer_subx", sega_315_5250_compare_timer_device, read, write) - AM_RANGE(0x0ec000, 0x0ecfff) AM_MIRROR(0x001000) AM_RAM AM_SHARE("roadram") - AM_RANGE(0x0ee000, 0x0effff) AM_DEVREADWRITE("segaic16road", segaic16_road_device, segaic16_road_control_0_r, segaic16_road_control_0_w) +void segaxbd_state::sub_map(address_map &map) +{ + map.unmap_value_high(); + map.global_mask(0xfffff); + map(0x000000, 0x07ffff).rom(); + map(0x080000, 0x083fff).mirror(0x01c000).ram().share("subram0"); + map(0x0a0000, 0x0a3fff).mirror(0x01c000).ram().share("subram1"); + map(0x0e0000, 0x0e0007).mirror(0x003ff8).rw("multiplier_subx", FUNC(sega_315_5248_multiplier_device::read), FUNC(sega_315_5248_multiplier_device::write)); + map(0x0e4000, 0x0e401f).mirror(0x003fe0).rw("divider_subx", FUNC(sega_315_5249_divider_device::read), FUNC(sega_315_5249_divider_device::write)); + map(0x0e8000, 0x0e800f).mirror(0x003ff0).rw("cmptimer_subx", FUNC(sega_315_5250_compare_timer_device::read), FUNC(sega_315_5250_compare_timer_device::write)); + map(0x0ec000, 0x0ecfff).mirror(0x001000).ram().share("roadram"); + map(0x0ee000, 0x0effff).rw("segaic16road", FUNC(segaic16_road_device::segaic16_road_control_0_r), FUNC(segaic16_road_device::segaic16_road_control_0_w)); // AM_RANGE(0x0f0000, 0x0f3fff) AM_READWRITE(excs_r, excs_w) -ADDRESS_MAP_END +} @@ -1017,19 +1019,21 @@ ADDRESS_MAP_END // Z80 SOUND CPU ADDRESS MAPS //************************************************************************** -ADDRESS_MAP_START(segaxbd_state::sound_map) - ADDRESS_MAP_UNMAP_HIGH - AM_RANGE(0x0000, 0xefff) AM_ROM - AM_RANGE(0xf000, 0xf0ff) AM_MIRROR(0x0700) AM_DEVREADWRITE("pcm", segapcm_device, sega_pcm_r, sega_pcm_w) - AM_RANGE(0xf800, 0xffff) AM_RAM -ADDRESS_MAP_END +void segaxbd_state::sound_map(address_map &map) +{ + map.unmap_value_high(); + map(0x0000, 0xefff).rom(); + map(0xf000, 0xf0ff).mirror(0x0700).rw("pcm", FUNC(segapcm_device::sega_pcm_r), FUNC(segapcm_device::sega_pcm_w)); + map(0xf800, 0xffff).ram(); +} -ADDRESS_MAP_START(segaxbd_state::sound_portmap) - ADDRESS_MAP_UNMAP_HIGH - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x00, 0x01) AM_MIRROR(0x3e) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write) - AM_RANGE(0x40, 0x40) AM_MIRROR(0x3f) AM_READ(sound_data_r) -ADDRESS_MAP_END +void segaxbd_state::sound_portmap(address_map &map) +{ + map.unmap_value_high(); + map.global_mask(0xff); + map(0x00, 0x01).mirror(0x3e).rw("ymsnd", FUNC(ym2151_device::read), FUNC(ym2151_device::write)); + map(0x40, 0x40).mirror(0x3f).r(this, FUNC(segaxbd_state::sound_data_r)); +} |