diff options
Diffstat (limited to 'src/mame/drivers/pasogo.cpp')
-rw-r--r-- | src/mame/drivers/pasogo.cpp | 39 |
1 files changed, 21 insertions, 18 deletions
diff --git a/src/mame/drivers/pasogo.cpp b/src/mame/drivers/pasogo.cpp index 76c11941c2a..fa2bb491a78 100644 --- a/src/mame/drivers/pasogo.cpp +++ b/src/mame/drivers/pasogo.cpp @@ -442,24 +442,27 @@ WRITE16_MEMBER( pasogo_state::emsram_w ) m_ems->write16(space, offset & 0x1fff, data, mem_mask); } -ADDRESS_MAP_START(pasogo_state::emsbank_map) - AM_RANGE(0x04080000, 0x040fffff) AM_RAM - AM_RANGE(0x08000000, 0x080fffff) AM_ROMBANK("bank27") - AM_RANGE(0x10000000, 0x1000ffff) AM_RAM // cart ram? -ADDRESS_MAP_END - -ADDRESS_MAP_START(pasogo_state::pasogo_mem) - AM_RANGE(0x80000, 0xeffff) AM_READWRITE(emsram_r, emsram_w) - AM_RANGE(0xb8000, 0xbffff) AM_RAM AM_SHARE("vram") - AM_RANGE(0xf0000, 0xfffff) AM_ROMBANK("bank27") -ADDRESS_MAP_END - - -ADDRESS_MAP_START(pasogo_state::pasogo_io) - AM_RANGE(0x0000, 0x00ff) AM_DEVICE8("mb", ibm5160_mb_device, map, 0xffff) - AM_RANGE(0x0026, 0x0027) AM_READWRITE8(vg230_io_r, vg230_io_w, 0xffff) - AM_RANGE(0x006c, 0x006f) AM_READWRITE(ems_r, ems_w) -ADDRESS_MAP_END +void pasogo_state::emsbank_map(address_map &map) +{ + map(0x04080000, 0x040fffff).ram(); + map(0x08000000, 0x080fffff).bankr("bank27"); + map(0x10000000, 0x1000ffff).ram(); // cart ram? +} + +void pasogo_state::pasogo_mem(address_map &map) +{ + map(0x80000, 0xeffff).rw(this, FUNC(pasogo_state::emsram_r), FUNC(pasogo_state::emsram_w)); + map(0xb8000, 0xbffff).ram().share("vram"); + map(0xf0000, 0xfffff).bankr("bank27"); +} + + +void pasogo_state::pasogo_io(address_map &map) +{ + map(0x0000, 0x00ff).m("mb", FUNC(ibm5160_mb_device::map)); + map(0x0026, 0x0027).rw(this, FUNC(pasogo_state::vg230_io_r), FUNC(pasogo_state::vg230_io_w)); + map(0x006c, 0x006f).rw(this, FUNC(pasogo_state::ems_r), FUNC(pasogo_state::ems_w)); +} static INPUT_PORTS_START( pasogo ) |