summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/savquest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/savquest.cpp')
-rw-r--r--src/mame/drivers/savquest.cpp66
1 files changed, 34 insertions, 32 deletions
diff --git a/src/mame/drivers/savquest.cpp b/src/mame/drivers/savquest.cpp
index 51c6eb62029..6414f74ac33 100644
--- a/src/mame/drivers/savquest.cpp
+++ b/src/mame/drivers/savquest.cpp
@@ -736,40 +736,42 @@ WRITE8_MEMBER(savquest_state::smram_w)
}
-ADDRESS_MAP_START(savquest_state::savquest_map)
- ADDRESS_MAP_UNMAP_HIGH
- AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
- AM_RANGE(0x000a0000, 0x000bffff) AM_READWRITE8(smram_r,smram_w,0xffffffff) //AM_DEVREADWRITE8("vga", vga_device, mem_r, mem_w, 0xffffffff)
- AM_RANGE(0x000c0000, 0x000c7fff) AM_ROM AM_REGION("video_bios", 0)
- AM_RANGE(0x000f0000, 0x000fffff) AM_ROMBANK("bios_f0000") AM_WRITE(bios_f0000_ram_w)
- AM_RANGE(0x000e0000, 0x000e3fff) AM_ROMBANK("bios_e0000") AM_WRITE(bios_e0000_ram_w)
- AM_RANGE(0x000e4000, 0x000e7fff) AM_ROMBANK("bios_e4000") AM_WRITE(bios_e4000_ram_w)
- AM_RANGE(0x000e8000, 0x000ebfff) AM_ROMBANK("bios_e8000") AM_WRITE(bios_e8000_ram_w)
- AM_RANGE(0x000ec000, 0x000effff) AM_ROMBANK("bios_ec000") AM_WRITE(bios_ec000_ram_w)
- AM_RANGE(0x00100000, 0x07ffffff) AM_RAM // 128MB RAM
- AM_RANGE(0xe0000000, 0xe0fbffff) AM_DEVREADWRITE("voodoo", voodoo_device, voodoo_r, voodoo_w)
- AM_RANGE(0xfffc0000, 0xffffffff) AM_ROM AM_REGION("bios", 0) /* System BIOS */
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(savquest_state::savquest_io)
- AM_IMPORT_FROM(pcat32_io_common)
- AM_RANGE(0x0070, 0x007f) AM_DEVREADWRITE8("rtc", ds12885_device, read, write, 0xffffffff)
-
- AM_RANGE(0x00e8, 0x00ef) AM_NOP
-
- AM_RANGE(0x0170, 0x0177) AM_DEVREADWRITE("ide2", ide_controller_32_device, read_cs0, write_cs0)
- AM_RANGE(0x01f0, 0x01f7) AM_DEVREADWRITE("ide", ide_controller_32_device, read_cs0, write_cs0)
- AM_RANGE(0x0378, 0x037b) AM_READWRITE8(parallel_port_r, parallel_port_w, 0xffffffff)
- AM_RANGE(0x03b0, 0x03bf) AM_DEVREADWRITE8("vga", vga_device, port_03b0_r, port_03b0_w, 0xffffffff)
- AM_RANGE(0x03c0, 0x03cf) AM_DEVREADWRITE8("vga", vga_device, port_03c0_r, port_03c0_w, 0xffffffff)
- AM_RANGE(0x03d0, 0x03df) AM_DEVREADWRITE8("vga", vga_device, port_03d0_r, port_03d0_w, 0xffffffff)
- AM_RANGE(0x0370, 0x0377) AM_DEVREADWRITE("ide2", ide_controller_32_device, read_cs1, write_cs1)
- AM_RANGE(0x03f0, 0x03f7) AM_DEVREADWRITE("ide", ide_controller_32_device, read_cs1, write_cs1)
-
- AM_RANGE(0x0cf8, 0x0cff) AM_DEVREADWRITE("pcibus", pci_bus_legacy_device, read, write)
+void savquest_state::savquest_map(address_map &map)
+{
+ map.unmap_value_high();
+ map(0x00000000, 0x0009ffff).ram();
+ map(0x000a0000, 0x000bffff).rw(this, FUNC(savquest_state::smram_r), FUNC(savquest_state::smram_w)); //AM_DEVREADWRITE8("vga", vga_device, mem_r, mem_w, 0xffffffff)
+ map(0x000c0000, 0x000c7fff).rom().region("video_bios", 0);
+ map(0x000f0000, 0x000fffff).bankr("bios_f0000").w(this, FUNC(savquest_state::bios_f0000_ram_w));
+ map(0x000e0000, 0x000e3fff).bankr("bios_e0000").w(this, FUNC(savquest_state::bios_e0000_ram_w));
+ map(0x000e4000, 0x000e7fff).bankr("bios_e4000").w(this, FUNC(savquest_state::bios_e4000_ram_w));
+ map(0x000e8000, 0x000ebfff).bankr("bios_e8000").w(this, FUNC(savquest_state::bios_e8000_ram_w));
+ map(0x000ec000, 0x000effff).bankr("bios_ec000").w(this, FUNC(savquest_state::bios_ec000_ram_w));
+ map(0x00100000, 0x07ffffff).ram(); // 128MB RAM
+ map(0xe0000000, 0xe0fbffff).rw(m_voodoo, FUNC(voodoo_device::voodoo_r), FUNC(voodoo_device::voodoo_w));
+ map(0xfffc0000, 0xffffffff).rom().region("bios", 0); /* System BIOS */
+}
+
+void savquest_state::savquest_io(address_map &map)
+{
+ pcat32_io_common(map);
+ map(0x0070, 0x007f).rw(m_mc146818, FUNC(ds12885_device::read), FUNC(ds12885_device::write));
+
+ map(0x00e8, 0x00ef).noprw();
+
+ map(0x0170, 0x0177).rw("ide2", FUNC(ide_controller_32_device::read_cs0), FUNC(ide_controller_32_device::write_cs0));
+ map(0x01f0, 0x01f7).rw("ide", FUNC(ide_controller_32_device::read_cs0), FUNC(ide_controller_32_device::write_cs0));
+ map(0x0378, 0x037b).rw(this, FUNC(savquest_state::parallel_port_r), FUNC(savquest_state::parallel_port_w));
+ map(0x03b0, 0x03bf).rw(m_vga, FUNC(vga_device::port_03b0_r), FUNC(vga_device::port_03b0_w));
+ map(0x03c0, 0x03cf).rw(m_vga, FUNC(vga_device::port_03c0_r), FUNC(vga_device::port_03c0_w));
+ map(0x03d0, 0x03df).rw(m_vga, FUNC(vga_device::port_03d0_r), FUNC(vga_device::port_03d0_w));
+ map(0x0370, 0x0377).rw("ide2", FUNC(ide_controller_32_device::read_cs1), FUNC(ide_controller_32_device::write_cs1));
+ map(0x03f0, 0x03f7).rw("ide", FUNC(ide_controller_32_device::read_cs1), FUNC(ide_controller_32_device::write_cs1));
+
+ map(0x0cf8, 0x0cff).rw("pcibus", FUNC(pci_bus_legacy_device::read), FUNC(pci_bus_legacy_device::write));
// AM_RANGE(0x5000, 0x5007) // routes to port $eb
-ADDRESS_MAP_END
+}
#define AT_KEYB_HELPER(bit, text, key1) \
PORT_BIT( bit, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME(text) PORT_CODE(key1)