summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/h89.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/h89.cpp')
-rw-r--r--src/mame/drivers/h89.cpp28
1 files changed, 15 insertions, 13 deletions
diff --git a/src/mame/drivers/h89.cpp b/src/mame/drivers/h89.cpp
index 4cf13cc9353..92d1ca415c6 100644
--- a/src/mame/drivers/h89.cpp
+++ b/src/mame/drivers/h89.cpp
@@ -49,22 +49,24 @@ public:
};
-ADDRESS_MAP_START(h89_state::h89_mem)
- ADDRESS_MAP_UNMAP_HIGH
+void h89_state::h89_mem(address_map &map)
+{
+ map.unmap_value_high();
// Bank 0 - At startup has the format defined below, but software could swap it for RAM (Later H-89s and
// Early ones with the Org-0 modification),
// TODO - define the RAM so it can swap in/out under program control.
- AM_RANGE(0x0000, 0x0fff) AM_ROM // Page 0-4 - System ROM (at most 4k(MTR-90), early versions(MTR-88, MTR-89) only had 2k)
- AM_RANGE(0x1000, 0x13ff) AM_RAM // Page 5 - Floppy Disk RAM (Write-protectable)
- AM_RANGE(0x1400, 0x1fff) AM_ROM // Page 6-7 - Floppy Disk ROM
+ map(0x0000, 0x0fff).rom(); // Page 0-4 - System ROM (at most 4k(MTR-90), early versions(MTR-88, MTR-89) only had 2k)
+ map(0x1000, 0x13ff).ram(); // Page 5 - Floppy Disk RAM (Write-protectable)
+ map(0x1400, 0x1fff).rom(); // Page 6-7 - Floppy Disk ROM
// Banks 1-7
- AM_RANGE(0x2000, 0xffff) AM_RAM
-ADDRESS_MAP_END
+ map(0x2000, 0xffff).ram();
+}
-ADDRESS_MAP_START(h89_state::h89_io)
- ADDRESS_MAP_UNMAP_HIGH
- ADDRESS_MAP_GLOBAL_MASK(0xff)
+void h89_state::h89_io(address_map &map)
+{
+ map.unmap_value_high();
+ map.global_mask(0xff);
// AM_RANGE(0x78, 0x7b) expansion 1 // Options - Cassette I/O (only uses 0x78 - 0x79) Requires MTR-88 ROM
// - H37 5-1/4" Soft-sectored Controller MTR-90 ROM
// - H47 Dual 8" Drives - Requires MTR-89 or MTR-90 ROM
@@ -76,15 +78,15 @@ ADDRESS_MAP_START(h89_state::h89_io)
// AM_RANGE(0xd0, 0xd7) 8250 UART DCE
// AM_RANGE(0xd8, 0xdf) 8250 UART DTE - MODEM
// AM_RANGE(0xe0, 0xe7) 8250 UART DCE - LP
- AM_RANGE(0xe8, 0xef) AM_DEVREADWRITE("ins8250", ins8250_device, ins8250_r, ins8250_w) // 8250 UART console - this
+ map(0xe8, 0xef).rw("ins8250", FUNC(ins8250_device::ins8250_r), FUNC(ins8250_device::ins8250_w)); // 8250 UART console - this
// connects internally to a Terminal board
// that is also used in the H19. Ideally,
// the H19 code could be connected and ran
// as a separate thread.
// AM_RANGE(0xf0, 0xf1) // ports defined on the H8 - on the H89, access to these addresses causes a NMI
- AM_RANGE(0xf2, 0xf2) AM_WRITE(port_f2_w) AM_READ_PORT("SW501")
+ map(0xf2, 0xf2).w(this, FUNC(h89_state::port_f2_w)).portr("SW501");
// AM_RANGE(0xf3, 0xf3) // ports defined on the H8 - on the H89, access to these addresses causes a NMI
-ADDRESS_MAP_END
+}
/* Input ports */
static INPUT_PORTS_START( h89 )