diff options
Diffstat (limited to 'src/mame/drivers/fortecar.cpp')
-rw-r--r-- | src/mame/drivers/fortecar.cpp | 36 |
1 files changed, 19 insertions, 17 deletions
diff --git a/src/mame/drivers/fortecar.cpp b/src/mame/drivers/fortecar.cpp index 6275f44bd7e..d2e05d5e9e1 100644 --- a/src/mame/drivers/fortecar.cpp +++ b/src/mame/drivers/fortecar.cpp @@ -535,24 +535,26 @@ Seems to work properly, but must be checked closely... * Memory Map Information * ***********************************/ -ADDRESS_MAP_START(fortecar_state::fortecar_map) - AM_RANGE(0x0000, 0xbfff) AM_ROM - AM_RANGE(0xc000, 0xc7ff) AM_ROM - AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_SHARE("nvram") - AM_RANGE(0xd800, 0xffff) AM_RAM AM_SHARE("vram") -ADDRESS_MAP_END - -ADDRESS_MAP_START(fortecar_state::fortecar_ports) - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x20, 0x20) AM_DEVWRITE("crtc", mc6845_device, address_w) // pc=444 - AM_RANGE(0x21, 0x21) AM_DEVWRITE("crtc", mc6845_device, register_w) - AM_RANGE(0x40, 0x40) AM_DEVREAD("aysnd", ay8910_device, data_r) - AM_RANGE(0x40, 0x41) AM_DEVWRITE("aysnd", ay8910_device, address_data_w) - AM_RANGE(0x60, 0x63) AM_DEVREADWRITE("fcppi0", i8255_device, read, write)//M5L8255AP +void fortecar_state::fortecar_map(address_map &map) +{ + map(0x0000, 0xbfff).rom(); + map(0xc000, 0xc7ff).rom(); + map(0xd000, 0xd7ff).ram().share("nvram"); + map(0xd800, 0xffff).ram().share("vram"); +} + +void fortecar_state::fortecar_ports(address_map &map) +{ + map.global_mask(0xff); + map(0x20, 0x20).w("crtc", FUNC(mc6845_device::address_w)); // pc=444 + map(0x21, 0x21).w("crtc", FUNC(mc6845_device::register_w)); + map(0x40, 0x40).r("aysnd", FUNC(ay8910_device::data_r)); + map(0x40, 0x41).w("aysnd", FUNC(ay8910_device::address_data_w)); + map(0x60, 0x63).rw("fcppi0", FUNC(i8255_device::read), FUNC(i8255_device::write));//M5L8255AP // AM_RANGE(0x80, 0x81) //8251A UART - AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("rtc", v3021_device, read, write) - AM_RANGE(0xa1, 0xa1) AM_READ_PORT("DSW") -ADDRESS_MAP_END + map(0xa0, 0xa0).rw("rtc", FUNC(v3021_device::read), FUNC(v3021_device::write)); + map(0xa1, 0xa1).portr("DSW"); +} /* CRTC REGISTER: 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f |