summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/hp_ipc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/hp_ipc.cpp')
-rw-r--r--src/mame/drivers/hp_ipc.cpp54
1 files changed, 28 insertions, 26 deletions
diff --git a/src/mame/drivers/hp_ipc.cpp b/src/mame/drivers/hp_ipc.cpp
index c43134c2399..69ccb693948 100644
--- a/src/mame/drivers/hp_ipc.cpp
+++ b/src/mame/drivers/hp_ipc.cpp
@@ -464,38 +464,40 @@ void hp_ipc_state::set_bus_error(uint32_t address, bool write, uint16_t mem_mask
m_bus_error_timer->adjust(m_maincpu->cycles_to_attotime(16)); // let rmw cycles complete
}
-ADDRESS_MAP_START(hp_ipc_state::hp_ipc_mem_outer)
- AM_RANGE(0x000000, 0xFFFFFF) AM_READWRITE(mem_r, mem_w)
-ADDRESS_MAP_END
+void hp_ipc_state::hp_ipc_mem_outer(address_map &map)
+{
+ map(0x000000, 0xFFFFFF).rw(this, FUNC(hp_ipc_state::mem_r), FUNC(hp_ipc_state::mem_w));
+}
-ADDRESS_MAP_START(hp_ipc_state::hp_ipc_mem_inner)
+void hp_ipc_state::hp_ipc_mem_inner(address_map &map)
+{
// bus error handler
- AM_RANGE(0x0000000, 0x1FFFFFF) AM_READWRITE(trap_r, trap_w)
+ map(0x0000000, 0x1FFFFFF).rw(this, FUNC(hp_ipc_state::trap_r), FUNC(hp_ipc_state::trap_w));
// user mode
- AM_RANGE(0x1000000, 0x17FFFFF) AM_READWRITE(ram_r, ram_w)
- AM_RANGE(0x1800000, 0x187FFFF) AM_ROM AM_REGION("maincpu", 0)
- AM_RANGE(0x1E20000, 0x1E2000F) AM_DEVREADWRITE8("gpu", hp1ll3_device, read, write, 0x00ff)
- AM_RANGE(0x1E40000, 0x1E4002F) AM_DEVREADWRITE8("rtc", mm58167_device, read, write, 0x00ff)
+ map(0x1000000, 0x17FFFFF).rw(this, FUNC(hp_ipc_state::ram_r), FUNC(hp_ipc_state::ram_w));
+ map(0x1800000, 0x187FFFF).rom().region("maincpu", 0);
+ map(0x1E20000, 0x1E2000F).rw("gpu", FUNC(hp1ll3_device::read), FUNC(hp1ll3_device::write)).umask16(0x00ff);
+ map(0x1E40000, 0x1E4002F).rw("rtc", FUNC(mm58167_device::read), FUNC(mm58167_device::write)).umask16(0x00ff);
// supervisor mode
- AM_RANGE(0x0000000, 0x007FFFF) AM_ROM AM_REGION("maincpu", 0) // Internal ROM (operating system PCA)
- AM_RANGE(0x0080000, 0x00FFFFF) AM_UNMAP // Internal ROM (option ROM PCA)
- AM_RANGE(0x0100000, 0x04FFFFF) AM_UNMAP // External ROM modules
- AM_RANGE(0x0600000, 0x060FFFF) AM_READWRITE(mmu_r, mmu_w)
- AM_RANGE(0x0610000, 0x0610007) AM_READWRITE8(floppy_id_r, floppy_id_w, 0x00ff)
- AM_RANGE(0x0610008, 0x061000F) AM_DEVREADWRITE8("fdc", wd2797_device, read, write, 0x00ff)
- AM_RANGE(0x0620000, 0x062000F) AM_DEVREADWRITE8("gpu", hp1ll3_device, read, write, 0x00ff)
- AM_RANGE(0x0630000, 0x063FFFF) AM_NOP // AM_DEVREADWRITE8(TMS9914_TAG, tms9914_device, read, write, 0x00ff)
- AM_RANGE(0x0640000, 0x064002F) AM_DEVREADWRITE8("rtc", mm58167_device, read, write, 0x00ff)
- AM_RANGE(0x0650000, 0x065FFFF) AM_NOP // HP-IL Printer (optional; ROM sets _desktop to 0 if not mapped) -- sys/lpint.h
- AM_RANGE(0x0660000, 0x06600FF) AM_DEVREADWRITE8("mlc", hp_hil_mlc_device, read, write, 0x00ff) // 'caravan', scrn/caravan.h
- AM_RANGE(0x0670000, 0x067FFFF) AM_NOP // Speaker (NatSemi COP 452)
- AM_RANGE(0x0680000, 0x068FFFF) AM_NOP // 'SIMON (98628) fast HP-IB card' -- sys/simon.h
- AM_RANGE(0x0700000, 0x07FFFFF) AM_UNMAP // External I/O
- AM_RANGE(0x0800000, 0x0FFFFFF) AM_READWRITE(ram_r, ram_w)
-
-ADDRESS_MAP_END
+ map(0x0000000, 0x007FFFF).rom().region("maincpu", 0); // Internal ROM (operating system PCA)
+ map(0x0080000, 0x00FFFFF).unmaprw(); // Internal ROM (option ROM PCA)
+ map(0x0100000, 0x04FFFFF).unmaprw(); // External ROM modules
+ map(0x0600000, 0x060FFFF).rw(this, FUNC(hp_ipc_state::mmu_r), FUNC(hp_ipc_state::mmu_w));
+ map(0x0610000, 0x0610007).rw(this, FUNC(hp_ipc_state::floppy_id_r), FUNC(hp_ipc_state::floppy_id_w)).umask16(0x00ff);
+ map(0x0610008, 0x061000F).rw(m_fdc, FUNC(wd2797_device::read), FUNC(wd2797_device::write)).umask16(0x00ff);
+ map(0x0620000, 0x062000F).rw("gpu", FUNC(hp1ll3_device::read), FUNC(hp1ll3_device::write)).umask16(0x00ff);
+ map(0x0630000, 0x063FFFF).noprw(); // AM_DEVREADWRITE8(TMS9914_TAG, tms9914_device, read, write, 0x00ff)
+ map(0x0640000, 0x064002F).rw("rtc", FUNC(mm58167_device::read), FUNC(mm58167_device::write)).umask16(0x00ff);
+ map(0x0650000, 0x065FFFF).noprw(); // HP-IL Printer (optional; ROM sets _desktop to 0 if not mapped) -- sys/lpint.h
+ map(0x0660000, 0x06600FF).rw("mlc", FUNC(hp_hil_mlc_device::read), FUNC(hp_hil_mlc_device::write)).umask16(0x00ff); // 'caravan', scrn/caravan.h
+ map(0x0670000, 0x067FFFF).noprw(); // Speaker (NatSemi COP 452)
+ map(0x0680000, 0x068FFFF).noprw(); // 'SIMON (98628) fast HP-IB card' -- sys/simon.h
+ map(0x0700000, 0x07FFFFF).unmaprw(); // External I/O
+ map(0x0800000, 0x0FFFFFF).rw(this, FUNC(hp_ipc_state::ram_r), FUNC(hp_ipc_state::ram_w));
+
+}
static INPUT_PORTS_START(hp_ipc)
INPUT_PORTS_END