summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/pcat_dyn.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/pcat_dyn.cpp')
-rw-r--r--src/mame/drivers/pcat_dyn.cpp48
1 files changed, 25 insertions, 23 deletions
diff --git a/src/mame/drivers/pcat_dyn.cpp b/src/mame/drivers/pcat_dyn.cpp
index ae84e3b205b..2a1db32a81e 100644
--- a/src/mame/drivers/pcat_dyn.cpp
+++ b/src/mame/drivers/pcat_dyn.cpp
@@ -97,29 +97,31 @@ WRITE8_MEMBER(pcat_dyn_state::bank2_w)
m_nvram_bank->set_entry(data & 1);
}
-ADDRESS_MAP_START(pcat_dyn_state::pcat_map)
- AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
- AM_RANGE(0x000a0000, 0x000bffff) AM_DEVREADWRITE8("vga", trident_vga_device, mem_r, mem_w, 0xffffffff)
- AM_RANGE(0x000c0000, 0x000c7fff) AM_ROM AM_REGION("video_bios", 0)
- AM_RANGE(0x000d0000, 0x000d0fff) AM_ROM AM_REGION("game_prg", 0x0000) AM_WRITE8(bank1_w, 0xffffffff)
- AM_RANGE(0x000d1000, 0x000d1fff) AM_ROM AM_REGION("game_prg", 0x1000) AM_WRITE8(bank2_w, 0xffffffff)
- AM_RANGE(0x000d2000, 0x000d2fff) AM_ROMBANK("prgbank")
- AM_RANGE(0x000d3000, 0x000d3fff) AM_RAMBANK("nvram_bank")
- AM_RANGE(0x000df400, 0x000df8ff) AM_RAM //I/O board?
- AM_RANGE(0x000f0000, 0x000fffff) AM_ROM AM_REGION("bios", 0 )
- AM_RANGE(0x00100000, 0x001fffff) AM_RAM
- AM_RANGE(0xffff0000, 0xffffffff) AM_ROM AM_REGION("bios", 0 )
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(pcat_dyn_state::pcat_io)
- AM_IMPORT_FROM(pcat32_io_common)
- AM_RANGE(0x03b0, 0x03bf) AM_DEVREADWRITE8("vga", trident_vga_device, port_03b0_r, port_03b0_w, 0xffffffff)
- AM_RANGE(0x03c0, 0x03cf) AM_DEVREADWRITE8("vga", trident_vga_device, port_03c0_r, port_03c0_w, 0xffffffff)
- AM_RANGE(0x03d0, 0x03df) AM_DEVREADWRITE8("vga", trident_vga_device, port_03d0_r, port_03d0_w, 0xffffffff)
- AM_RANGE(0x03f8, 0x03ff) AM_DEVREADWRITE8("ns16550", ns16550_device, ins8250_r, ins8250_w, 0xffffffff)
- AM_RANGE(0x0530, 0x0533) AM_READ8(audio_r, 0xffffffff)
- AM_RANGE(0x0534, 0x0537) AM_DEVREADWRITE8("ad1848", ad1848_device, read, write, 0xffffffff)
-ADDRESS_MAP_END
+void pcat_dyn_state::pcat_map(address_map &map)
+{
+ map(0x00000000, 0x0009ffff).ram();
+ map(0x000a0000, 0x000bffff).rw("vga", FUNC(trident_vga_device::mem_r), FUNC(trident_vga_device::mem_w));
+ map(0x000c0000, 0x000c7fff).rom().region("video_bios", 0);
+ map(0x000d0000, 0x000d0fff).rom().region("game_prg", 0x0000).w(this, FUNC(pcat_dyn_state::bank1_w));
+ map(0x000d1000, 0x000d1fff).rom().region("game_prg", 0x1000).w(this, FUNC(pcat_dyn_state::bank2_w));
+ map(0x000d2000, 0x000d2fff).bankr("prgbank");
+ map(0x000d3000, 0x000d3fff).bankrw("nvram_bank");
+ map(0x000df400, 0x000df8ff).ram(); //I/O board?
+ map(0x000f0000, 0x000fffff).rom().region("bios", 0);
+ map(0x00100000, 0x001fffff).ram();
+ map(0xffff0000, 0xffffffff).rom().region("bios", 0);
+}
+
+void pcat_dyn_state::pcat_io(address_map &map)
+{
+ pcat32_io_common(map);
+ map(0x03b0, 0x03bf).rw("vga", FUNC(trident_vga_device::port_03b0_r), FUNC(trident_vga_device::port_03b0_w));
+ map(0x03c0, 0x03cf).rw("vga", FUNC(trident_vga_device::port_03c0_r), FUNC(trident_vga_device::port_03c0_w));
+ map(0x03d0, 0x03df).rw("vga", FUNC(trident_vga_device::port_03d0_r), FUNC(trident_vga_device::port_03d0_w));
+ map(0x03f8, 0x03ff).rw("ns16550", FUNC(ns16550_device::ins8250_r), FUNC(ns16550_device::ins8250_w));
+ map(0x0530, 0x0533).r(this, FUNC(pcat_dyn_state::audio_r));
+ map(0x0534, 0x0537).rw("ad1848", FUNC(ad1848_device::read), FUNC(ad1848_device::write));
+}
//TODO: use atmb device
WRITE8_MEMBER( pcat_dyn_state::dma8237_1_dack_w ){ m_isabus->dack_w(1, data); }