summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/calchase.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/calchase.cpp')
-rw-r--r--src/mame/drivers/calchase.cpp104
1 files changed, 53 insertions, 51 deletions
diff --git a/src/mame/drivers/calchase.cpp b/src/mame/drivers/calchase.cpp
index 65d317f4d90..a752ec6e107 100644
--- a/src/mame/drivers/calchase.cpp
+++ b/src/mame/drivers/calchase.cpp
@@ -387,30 +387,31 @@ READ16_MEMBER(calchase_state::calchase_iocard5_r)
}
-ADDRESS_MAP_START(calchase_state::calchase_map)
- AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
- AM_RANGE(0x000a0000, 0x000bffff) AM_DEVREADWRITE8("vga", trident_vga_device, mem_r, mem_w, 0xffffffff) // VGA VRAM
- AM_RANGE(0x000c0000, 0x000c7fff) AM_RAM AM_REGION("video_bios", 0)
- AM_RANGE(0x000c8000, 0x000cffff) AM_NOP
+void calchase_state::calchase_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)); // VGA VRAM
+ map(0x000c0000, 0x000c7fff).ram().region("video_bios", 0);
+ map(0x000c8000, 0x000cffff).noprw();
//AM_RANGE(0x000d0000, 0x000d0003) AM_RAM // XYLINX - Sincronus serial communication
- AM_RANGE(0x000d0004, 0x000d0007) AM_READ16(calchase_iocard1_r, 0x0000ffff)
- AM_RANGE(0x000d000c, 0x000d000f) AM_READ16(calchase_iocard2_r, 0x0000ffff)
- AM_RANGE(0x000d0030, 0x000d0033) AM_READ16(calchase_iocard3_r, 0xffff0000)
- AM_RANGE(0x000d0030, 0x000d0033) AM_READ16(calchase_iocard4_r, 0x0000ffff)
- AM_RANGE(0x000d0034, 0x000d0037) AM_READ16(calchase_iocard5_r, 0x0000ffff)
- AM_RANGE(0x000d0008, 0x000d000b) AM_WRITENOP // ???
- AM_RANGE(0x000d0024, 0x000d0027) AM_DEVWRITE16("ldac", dac_word_interface, write, 0x0000ffff)
- AM_RANGE(0x000d0028, 0x000d002b) AM_DEVWRITE16("rdac", dac_word_interface, write, 0x0000ffff)
- AM_RANGE(0x000d0800, 0x000d0fff) AM_ROM AM_REGION("nvram",0) //
+ map(0x000d0004, 0x000d0005).r(this, FUNC(calchase_state::calchase_iocard1_r));
+ map(0x000d000c, 0x000d000d).r(this, FUNC(calchase_state::calchase_iocard2_r));
+ map(0x000d0032, 0x000d0033).r(this, FUNC(calchase_state::calchase_iocard3_r));
+ map(0x000d0030, 0x000d0031).r(this, FUNC(calchase_state::calchase_iocard4_r));
+ map(0x000d0034, 0x000d0035).r(this, FUNC(calchase_state::calchase_iocard5_r));
+ map(0x000d0008, 0x000d000b).nopw(); // ???
+ map(0x000d0024, 0x000d0025).w("ldac", FUNC(dac_word_interface::write));
+ map(0x000d0028, 0x000d0029).w("rdac", FUNC(dac_word_interface::write));
+ map(0x000d0800, 0x000d0fff).rom().region("nvram", 0); //
// AM_RANGE(0x000d0800, 0x000d0fff) AM_RAM // GAME_CMOS
//GRULL AM_RANGE(0x000e0000, 0x000effff) AM_RAM
//GRULL-AM_RANGE(0x000f0000, 0x000fffff) AM_ROMBANK("bank1")
//GRULL AM_RANGE(0x000f0000, 0x000fffff) AM_WRITE(bios_ram_w)
- AM_RANGE(0x000e0000, 0x000effff) AM_ROMBANK("bios_ext") AM_WRITE(bios_ext_ram_w)
- AM_RANGE(0x000f0000, 0x000fffff) AM_ROMBANK("bios_bank") AM_WRITE(bios_ram_w)
- AM_RANGE(0x00100000, 0x03ffffff) AM_RAM // 64MB
- AM_RANGE(0x04000000, 0x28ffffff) AM_NOP
+ map(0x000e0000, 0x000effff).bankr("bios_ext").w(this, FUNC(calchase_state::bios_ext_ram_w));
+ map(0x000f0000, 0x000fffff).bankr("bios_bank").w(this, FUNC(calchase_state::bios_ram_w));
+ map(0x00100000, 0x03ffffff).ram(); // 64MB
+ map(0x04000000, 0x28ffffff).noprw();
//AM_RANGE(0x04000000, 0x040001ff) AM_RAM
//AM_RANGE(0x08000000, 0x080001ff) AM_RAM
//AM_RANGE(0x0c000000, 0x0c0001ff) AM_RAM
@@ -419,43 +420,44 @@ ADDRESS_MAP_START(calchase_state::calchase_map)
//AM_RANGE(0x18000000, 0x180001ff) AM_RAM
//AM_RANGE(0x20000000, 0x200001ff) AM_RAM
//AM_RANGE(0x28000000, 0x280001ff) AM_RAM
- AM_RANGE(0xfffe0000, 0xffffffff) AM_ROM AM_REGION("bios", 0) /* System BIOS */
-ADDRESS_MAP_END
+ map(0xfffe0000, 0xffffffff).rom().region("bios", 0); /* System BIOS */
+}
-ADDRESS_MAP_START(calchase_state::calchase_io)
- AM_IMPORT_FROM(pcat32_io_common)
+void calchase_state::calchase_io(address_map &map)
+{
+ pcat32_io_common(map);
//AM_RANGE(0x00e8, 0x00eb) AM_NOP
- AM_RANGE(0x00e8, 0x00ef) AM_NOP //AMI BIOS write to this ports as delays between I/O ports operations sending al value -> NEWIODELAY
- AM_RANGE(0x0170, 0x0177) AM_NOP //To debug
- AM_RANGE(0x01f0, 0x01f7) AM_DEVREADWRITE("ide", ide_controller_32_device, read_cs0, write_cs0)
- AM_RANGE(0x0200, 0x021f) AM_NOP //To debug
- AM_RANGE(0x0260, 0x026f) AM_NOP //To debug
- AM_RANGE(0x0278, 0x027b) AM_WRITENOP//AM_WRITE(pnp_config_w)
- AM_RANGE(0x0280, 0x0287) AM_NOP //To debug
- AM_RANGE(0x02a0, 0x02a7) AM_NOP //To debug
- AM_RANGE(0x02c0, 0x02c7) AM_NOP //To debug
- AM_RANGE(0x02e0, 0x02ef) AM_NOP //To debug
- AM_RANGE(0x02f8, 0x02ff) AM_NOP //To debug
- AM_RANGE(0x0320, 0x038f) AM_NOP //To debug
- AM_RANGE(0x03a0, 0x03a7) AM_NOP //To debug
- 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(0x03e0, 0x03ef) AM_NOP //To debug
- AM_RANGE(0x0378, 0x037f) AM_NOP //To debug
+ map(0x00e8, 0x00ef).noprw(); //AMI BIOS write to this ports as delays between I/O ports operations sending al value -> NEWIODELAY
+ map(0x0170, 0x0177).noprw(); //To debug
+ map(0x01f0, 0x01f7).rw("ide", FUNC(ide_controller_32_device::read_cs0), FUNC(ide_controller_32_device::write_cs0));
+ map(0x0200, 0x021f).noprw(); //To debug
+ map(0x0260, 0x026f).noprw(); //To debug
+ map(0x0278, 0x027b).nopw();//AM_WRITE(pnp_config_w)
+ map(0x0280, 0x0287).noprw(); //To debug
+ map(0x02a0, 0x02a7).noprw(); //To debug
+ map(0x02c0, 0x02c7).noprw(); //To debug
+ map(0x02e0, 0x02ef).noprw(); //To debug
+ map(0x02f8, 0x02ff).noprw(); //To debug
+ map(0x0320, 0x038f).noprw(); //To debug
+ map(0x03a0, 0x03a7).noprw(); //To debug
+ 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(0x03e0, 0x03ef).noprw(); //To debug
+ map(0x0378, 0x037f).noprw(); //To debug
// AM_RANGE(0x0300, 0x03af) AM_NOP
// AM_RANGE(0x03b0, 0x03df) AM_NOP
- AM_RANGE(0x03f0, 0x03f7) AM_DEVREADWRITE("ide", ide_controller_32_device, read_cs1, write_cs1)
- AM_RANGE(0x03f8, 0x03ff) AM_NOP // To debug Serial Port COM1:
- AM_RANGE(0x0a78, 0x0a7b) AM_WRITENOP//AM_WRITE(pnp_data_w)
- AM_RANGE(0x0cf8, 0x0cff) AM_DEVREADWRITE("pcibus", pci_bus_legacy_device, read, write)
- AM_RANGE(0x42e8, 0x43ef) AM_NOP //To debug
- AM_RANGE(0x43c4, 0x43cb) AM_DEVREADWRITE8("vga", trident_vga_device, port_43c6_r, port_43c6_w, 0xffffffff) // Trident Memory and Video Clock register
- AM_RANGE(0x46e8, 0x46ef) AM_NOP //To debug
- AM_RANGE(0x4ae8, 0x4aef) AM_NOP //To debug
- AM_RANGE(0x83c4, 0x83cb) AM_DEVREADWRITE8("vga", trident_vga_device, port_83c6_r, port_83c6_w, 0xffffffff) // Trident LUTDAC
- AM_RANGE(0x92e8, 0x92ef) AM_NOP //To debug
-ADDRESS_MAP_END
+ map(0x03f0, 0x03f7).rw("ide", FUNC(ide_controller_32_device::read_cs1), FUNC(ide_controller_32_device::write_cs1));
+ map(0x03f8, 0x03ff).noprw(); // To debug Serial Port COM1:
+ map(0x0a78, 0x0a7b).nopw();//AM_WRITE(pnp_data_w)
+ map(0x0cf8, 0x0cff).rw("pcibus", FUNC(pci_bus_legacy_device::read), FUNC(pci_bus_legacy_device::write));
+ map(0x42e8, 0x43ef).noprw(); //To debug
+ map(0x43c4, 0x43cb).rw("vga", FUNC(trident_vga_device::port_43c6_r), FUNC(trident_vga_device::port_43c6_w)); // Trident Memory and Video Clock register
+ map(0x46e8, 0x46ef).noprw(); //To debug
+ map(0x4ae8, 0x4aef).noprw(); //To debug
+ map(0x83c4, 0x83cb).rw("vga", FUNC(trident_vga_device::port_83c6_r), FUNC(trident_vga_device::port_83c6_w)); // Trident LUTDAC
+ map(0x92e8, 0x92ef).noprw(); //To debug
+}
#define AT_KEYB_HELPER(bit, text, key1) \
PORT_BIT( bit, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME(text) PORT_CODE(key1)