summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/pdc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/pdc.cpp')
-rw-r--r--src/devices/machine/pdc.cpp36
1 files changed, 19 insertions, 17 deletions
diff --git a/src/devices/machine/pdc.cpp b/src/devices/machine/pdc.cpp
index 220ea0cc881..e09f9ff1777 100644
--- a/src/devices/machine/pdc.cpp
+++ b/src/devices/machine/pdc.cpp
@@ -137,28 +137,30 @@ const tiny_rom_entry *pdc_device::device_rom_region() const
// ADDRESS_MAP( pdc_mem )
//-------------------------------------------------
-ADDRESS_MAP_START(pdc_device::pdc_mem)
- AM_RANGE(0x0000, 0x3fff) AM_ROM AM_REGION("rom", 0)
- AM_RANGE(0x8000, 0x9FFF) AM_RAM AM_SHARE("pdc_ram") // HM6264ALP-12 SRAM 8KB
- AM_RANGE(0xC000, 0xC7FF) AM_RAM // HM6116P-2 SRAM 2KB
-ADDRESS_MAP_END
+void pdc_device::pdc_mem(address_map &map)
+{
+ map(0x0000, 0x3fff).rom().region("rom", 0);
+ map(0x8000, 0x9FFF).ram().share("pdc_ram"); // HM6264ALP-12 SRAM 8KB
+ map(0xC000, 0xC7FF).ram(); // HM6116P-2 SRAM 2KB
+}
//-------------------------------------------------
// ADDRESS_MAP( pdc_io )
//-------------------------------------------------
-ADDRESS_MAP_START(pdc_device::pdc_io)
- AM_RANGE(0x00, 0x07) AM_READWRITE(p0_7_r,p0_7_w) AM_MIRROR(0xFF00)
- AM_RANGE(0x21, 0x2F) AM_READWRITE(fdd_68k_r,fdd_68k_w) AM_MIRROR(0xFF00)
- AM_RANGE(0x38, 0x38) AM_READ(p38_r) AM_MIRROR(0xFF00) // Possibly UPD765 interrupt
- AM_RANGE(0x39, 0x39) AM_READ(p39_r) AM_MIRROR(0xFF00) // HDD related
- AM_RANGE(0x3c, 0x3c) AM_READ_PORT("SW2") AM_MIRROR(0xFF00) /* FDC Dipswitch */
- AM_RANGE(0x3d, 0x3d) AM_READ_PORT("SW1") AM_MIRROR(0xFF00) /* HDC Dipswitch */
- AM_RANGE(0x40, 0x41) AM_DEVREADWRITE(HDC_TAG, hdc9224_device,read,write) AM_MIRROR(0xFF00)
- AM_RANGE(0x42, 0x43) AM_DEVICE(FDC_TAG, upd765a_device, map) AM_MIRROR(0xFF00)
- AM_RANGE(0x50, 0x5f) AM_WRITE(p50_5f_w) AM_MIRROR(0xFF00)
- AM_RANGE(0x60, 0x6f) AM_DEVREADWRITE(FDCDMA_TAG,am9517a_device,read,write) AM_MIRROR(0xFF00)
-ADDRESS_MAP_END
+void pdc_device::pdc_io(address_map &map)
+{
+ map(0x00, 0x07).rw(this, FUNC(pdc_device::p0_7_r), FUNC(pdc_device::p0_7_w)).mirror(0xFF00);
+ map(0x21, 0x2F).rw(this, FUNC(pdc_device::fdd_68k_r), FUNC(pdc_device::fdd_68k_w)).mirror(0xFF00);
+ map(0x38, 0x38).r(this, FUNC(pdc_device::p38_r)).mirror(0xFF00); // Possibly UPD765 interrupt
+ map(0x39, 0x39).r(this, FUNC(pdc_device::p39_r)).mirror(0xFF00); // HDD related
+ map(0x3c, 0x3c).portr("SW2").mirror(0xFF00); /* FDC Dipswitch */
+ map(0x3d, 0x3d).portr("SW1").mirror(0xFF00); /* HDC Dipswitch */
+ map(0x40, 0x41).rw(HDC_TAG, FUNC(hdc9224_device::read), FUNC(hdc9224_device::write)).mirror(0xFF00);
+ map(0x42, 0x43).m(FDC_TAG, FUNC(upd765a_device::map)).mirror(0xFF00);
+ map(0x50, 0x5f).w(this, FUNC(pdc_device::p50_5f_w)).mirror(0xFF00);
+ map(0x60, 0x6f).rw(FDCDMA_TAG, FUNC(am9517a_device::read), FUNC(am9517a_device::write)).mirror(0xFF00);
+}
//-------------------------------------------------
// INPUT_PORTS_START( pdc )