diff options
Diffstat (limited to 'src/mame/drivers/forte2.cpp')
-rw-r--r-- | src/mame/drivers/forte2.cpp | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/src/mame/drivers/forte2.cpp b/src/mame/drivers/forte2.cpp index ee0dfbc9a69..ef45477609c 100644 --- a/src/mame/drivers/forte2.cpp +++ b/src/mame/drivers/forte2.cpp @@ -72,21 +72,23 @@ private: -ADDRESS_MAP_START(forte2_state::program_mem) - AM_RANGE(0x0000, 0xbfff) AM_ROM - AM_RANGE(0xc000, 0xffff) AM_RAM -ADDRESS_MAP_END - -ADDRESS_MAP_START(forte2_state::io_mem) - ADDRESS_MAP_UNMAP_HIGH - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x98, 0x98) AM_DEVREADWRITE( "tms9928a", tms9928a_device, vram_read, vram_write ) - AM_RANGE(0x99, 0x99) AM_DEVREADWRITE( "tms9928a", tms9928a_device, register_read, register_write ) - AM_RANGE(0xa0, 0xa1) AM_DEVWRITE("aysnd", ay8910_device, address_data_w) - AM_RANGE(0xa2, 0xa2) AM_DEVREAD("aysnd", ay8910_device, data_r) +void forte2_state::program_mem(address_map &map) +{ + map(0x0000, 0xbfff).rom(); + map(0xc000, 0xffff).ram(); +} + +void forte2_state::io_mem(address_map &map) +{ + map.unmap_value_high(); + map.global_mask(0xff); + map(0x98, 0x98).rw("tms9928a", FUNC(tms9928a_device::vram_read), FUNC(tms9928a_device::vram_write)); + map(0x99, 0x99).rw("tms9928a", FUNC(tms9928a_device::register_read), FUNC(tms9928a_device::register_write)); + map(0xa0, 0xa1).w("aysnd", FUNC(ay8910_device::address_data_w)); + map(0xa2, 0xa2).r("aysnd", FUNC(ay8910_device::data_r)); // AM_RANGE(0xa8, 0xa8) AM_RAM // Ports a8-ab are originally for communicating with the i8255 PPI on MSX. // AM_RANGE(0xa9, 0xab) AM_NOP // Since this arcade board doesn't have one, those ports should be unmapped. -ADDRESS_MAP_END +} static INPUT_PORTS_START( pesadelo ) PORT_START("IN0") |