diff options
Diffstat (limited to 'src/mame/drivers/beathead.cpp')
-rw-r--r-- | src/mame/drivers/beathead.cpp | 55 |
1 files changed, 28 insertions, 27 deletions
diff --git a/src/mame/drivers/beathead.cpp b/src/mame/drivers/beathead.cpp index 92e6bc1c307..09225b9ae5d 100644 --- a/src/mame/drivers/beathead.cpp +++ b/src/mame/drivers/beathead.cpp @@ -274,33 +274,34 @@ WRITE32_MEMBER( beathead_state::coin_count_w ) * *************************************/ -ADDRESS_MAP_START(beathead_state::main_map) - AM_RANGE(0x00000000, 0x0001ffff) AM_RAM AM_SHARE("ram_base") - AM_RANGE(0x01800000, 0x01bfffff) AM_ROM AM_REGION("user1", 0) AM_SHARE("rom_base") - AM_RANGE(0x40000000, 0x400007ff) AM_RAM_WRITE(eeprom_data_w) AM_SHARE("nvram") - AM_RANGE(0x41000000, 0x41000003) AM_DEVREADWRITE8("jsa", atari_jsa_iii_device, main_response_r, main_command_w, 0x000000ff) - AM_RANGE(0x41000100, 0x41000103) AM_READ(interrupt_control_r) - AM_RANGE(0x41000100, 0x4100011f) AM_WRITE(interrupt_control_w) - AM_RANGE(0x41000200, 0x41000203) AM_READ_PORT("IN1") - AM_RANGE(0x41000204, 0x41000207) AM_READ_PORT("IN0") - AM_RANGE(0x41000208, 0x4100020f) AM_WRITE(sound_reset_w) - AM_RANGE(0x41000220, 0x41000227) AM_WRITE(coin_count_w) - AM_RANGE(0x41000300, 0x41000303) AM_READ_PORT("IN2") - AM_RANGE(0x41000304, 0x41000307) AM_READ_PORT("IN3") - AM_RANGE(0x41000400, 0x41000403) AM_WRITEONLY AM_SHARE("palette_select") - AM_RANGE(0x41000500, 0x41000503) AM_WRITE(eeprom_enable_w) - AM_RANGE(0x41000600, 0x41000603) AM_WRITE(finescroll_w) - AM_RANGE(0x41000700, 0x41000703) AM_DEVWRITE("watchdog", watchdog_timer_device, reset32_w) - AM_RANGE(0x42000000, 0x4201ffff) AM_DEVREADWRITE16("palette", palette_device, read16, write16, 0x0000ffff) AM_SHARE("palette") - AM_RANGE(0x43000000, 0x43000007) AM_READWRITE(hsync_ram_r, hsync_ram_w) - AM_RANGE(0x8df80000, 0x8df80003) AM_READNOP /* noisy x4 during scanline int */ - AM_RANGE(0x8f380000, 0x8f3fffff) AM_WRITE(vram_latch_w) - AM_RANGE(0x8f900000, 0x8f97ffff) AM_WRITE(vram_transparent_w) - AM_RANGE(0x8f980000, 0x8f9fffff) AM_RAM AM_SHARE("videoram") - AM_RANGE(0x8fb80000, 0x8fbfffff) AM_WRITE(vram_bulk_w) - AM_RANGE(0x8fff8000, 0x8fff8003) AM_WRITEONLY AM_SHARE("vram_bulk_latch") - AM_RANGE(0x9e280000, 0x9e2fffff) AM_WRITE(vram_copy_w) -ADDRESS_MAP_END +void beathead_state::main_map(address_map &map) +{ + map(0x00000000, 0x0001ffff).ram().share("ram_base"); + map(0x01800000, 0x01bfffff).rom().region("user1", 0).share("rom_base"); + map(0x40000000, 0x400007ff).ram().w(this, FUNC(beathead_state::eeprom_data_w)).share("nvram"); + map(0x41000000, 0x41000000).rw(m_jsa, FUNC(atari_jsa_iii_device::main_response_r), FUNC(atari_jsa_iii_device::main_command_w)); + map(0x41000100, 0x41000103).r(this, FUNC(beathead_state::interrupt_control_r)); + map(0x41000100, 0x4100011f).w(this, FUNC(beathead_state::interrupt_control_w)); + map(0x41000200, 0x41000203).portr("IN1"); + map(0x41000204, 0x41000207).portr("IN0"); + map(0x41000208, 0x4100020f).w(this, FUNC(beathead_state::sound_reset_w)); + map(0x41000220, 0x41000227).w(this, FUNC(beathead_state::coin_count_w)); + map(0x41000300, 0x41000303).portr("IN2"); + map(0x41000304, 0x41000307).portr("IN3"); + map(0x41000400, 0x41000403).writeonly().share("palette_select"); + map(0x41000500, 0x41000503).w(this, FUNC(beathead_state::eeprom_enable_w)); + map(0x41000600, 0x41000603).w(this, FUNC(beathead_state::finescroll_w)); + map(0x41000700, 0x41000703).w("watchdog", FUNC(watchdog_timer_device::reset32_w)); + map(0x42000000, 0x4201ffff).rw(m_palette, FUNC(palette_device::read16), FUNC(palette_device::write16)).umask32(0x0000ffff).share("palette"); + map(0x43000000, 0x43000007).rw(this, FUNC(beathead_state::hsync_ram_r), FUNC(beathead_state::hsync_ram_w)); + map(0x8df80000, 0x8df80003).nopr(); /* noisy x4 during scanline int */ + map(0x8f380000, 0x8f3fffff).w(this, FUNC(beathead_state::vram_latch_w)); + map(0x8f900000, 0x8f97ffff).w(this, FUNC(beathead_state::vram_transparent_w)); + map(0x8f980000, 0x8f9fffff).ram().share("videoram"); + map(0x8fb80000, 0x8fbfffff).w(this, FUNC(beathead_state::vram_bulk_w)); + map(0x8fff8000, 0x8fff8003).writeonly().share("vram_bulk_latch"); + map(0x9e280000, 0x9e2fffff).w(this, FUNC(beathead_state::vram_copy_w)); +} |