diff options
Diffstat (limited to 'src/mame/drivers/enmirage.cpp')
-rw-r--r-- | src/mame/drivers/enmirage.cpp | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/src/mame/drivers/enmirage.cpp b/src/mame/drivers/enmirage.cpp index 481dd3b1d0e..a30eb7855ca 100644 --- a/src/mame/drivers/enmirage.cpp +++ b/src/mame/drivers/enmirage.cpp @@ -123,17 +123,18 @@ void enmirage_state::machine_reset() membank("sndbank")->set_base(memregion("es5503")->base() ); } -ADDRESS_MAP_START(enmirage_state::mirage_map) - AM_RANGE(0x0000, 0x7fff) AM_RAMBANK("sndbank") // 32k window on 128k of wave RAM - AM_RANGE(0x8000, 0xbfff) AM_RAM // main RAM - AM_RANGE(0xc000, 0xdfff) AM_RAM // expansion RAM - AM_RANGE(0xe100, 0xe101) AM_DEVREADWRITE("acia6850", acia6850_device, read, write) - AM_RANGE(0xe200, 0xe2ff) AM_DEVREADWRITE("via6522", via6522_device, read, write) - AM_RANGE(0xe400, 0xe4ff) AM_NOP - AM_RANGE(0xe800, 0xe803) AM_DEVREADWRITE("wd1772", wd1772_device, read, write) - AM_RANGE(0xec00, 0xecef) AM_DEVREADWRITE("es5503", es5503_device, read, write) - AM_RANGE(0xf000, 0xffff) AM_ROM AM_REGION("osrom", 0) -ADDRESS_MAP_END +void enmirage_state::mirage_map(address_map &map) +{ + map(0x0000, 0x7fff).bankrw("sndbank"); // 32k window on 128k of wave RAM + map(0x8000, 0xbfff).ram(); // main RAM + map(0xc000, 0xdfff).ram(); // expansion RAM + map(0xe100, 0xe101).rw("acia6850", FUNC(acia6850_device::read), FUNC(acia6850_device::write)); + map(0xe200, 0xe2ff).rw(m_via, FUNC(via6522_device::read), FUNC(via6522_device::write)); + map(0xe400, 0xe4ff).noprw(); + map(0xe800, 0xe803).rw(m_fdc, FUNC(wd1772_device::read), FUNC(wd1772_device::write)); + map(0xec00, 0xecef).rw("es5503", FUNC(es5503_device::read), FUNC(es5503_device::write)); + map(0xf000, 0xffff).rom().region("osrom", 0); +} // port A: front panel // bits 0-2: column select from 0-7 |