summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/hp9845.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/hp9845.cpp')
-rw-r--r--src/mame/drivers/hp9845.cpp36
1 files changed, 19 insertions, 17 deletions
diff --git a/src/mame/drivers/hp9845.cpp b/src/mame/drivers/hp9845.cpp
index 6dfb0e0d2c6..ab8448fa871 100644
--- a/src/mame/drivers/hp9845.cpp
+++ b/src/mame/drivers/hp9845.cpp
@@ -3699,35 +3699,37 @@ MACHINE_CONFIG_END
- all LPU RAM is dynamically mapped at machine start according to -ramsize option
*/
-ADDRESS_MAP_START(hp9845_base_state::global_mem_map)
- ADDRESS_MAP_GLOBAL_MASK(0x3f7fff)
- ADDRESS_MAP_UNMAP_LOW
- AM_RANGE(0x014000 , 0x017fff) AM_RAM AM_SHARE("ppu_ram")
- AM_RANGE(0x030000 , 0x037fff) AM_ROM AM_REGION("lpu" , 0)
- AM_RANGE(0x050000 , 0x057fff) AM_ROM AM_REGION("ppu" , 0)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(hp9845_base_state::ppu_io_map)
- ADDRESS_MAP_UNMAP_LOW
+void hp9845_base_state::global_mem_map(address_map &map)
+{
+ map.global_mask(0x3f7fff);
+ map.unmap_value_low();
+ map(0x014000, 0x017fff).ram().share("ppu_ram");
+ map(0x030000, 0x037fff).rom().region("lpu", 0);
+ map(0x050000, 0x057fff).rom().region("ppu", 0);
+}
+
+void hp9845_base_state::ppu_io_map(address_map &map)
+{
+ map.unmap_value_low();
// PA = 0, IC = 0..1
// Internal printer
- AM_RANGE(HP_MAKE_IOADDR(PRINTER_PA , 0) , HP_MAKE_IOADDR(PRINTER_PA , 1)) AM_DEVREADWRITE("printer" , hp9845_printer_device , printer_r , printer_w)
+ map(HP_MAKE_IOADDR(PRINTER_PA, 0), HP_MAKE_IOADDR(PRINTER_PA, 1)).rw("printer", FUNC(hp9845_printer_device::printer_r), FUNC(hp9845_printer_device::printer_w));
// PA = 0, IC = 2
// Keyboard scancode input
- AM_RANGE(HP_MAKE_IOADDR(0 , 2) , HP_MAKE_IOADDR(0 , 2)) AM_READ(kb_scancode_r)
+ map(HP_MAKE_IOADDR(0, 2), HP_MAKE_IOADDR(0, 2)).r(this, FUNC(hp9845_base_state::kb_scancode_r));
// PA = 0, IC = 3
// Keyboard status input & keyboard interrupt clear
- AM_RANGE(HP_MAKE_IOADDR(0 , 3) , HP_MAKE_IOADDR(0 , 3)) AM_READWRITE(kb_status_r , kb_irq_clear_w)
+ map(HP_MAKE_IOADDR(0, 3), HP_MAKE_IOADDR(0, 3)).rw(this, FUNC(hp9845_base_state::kb_status_r), FUNC(hp9845_base_state::kb_irq_clear_w));
// PA = 13, IC = 0..3
// Graphic video
- AM_RANGE(HP_MAKE_IOADDR(GVIDEO_PA , 0) , HP_MAKE_IOADDR(GVIDEO_PA , 3)) AM_READWRITE(graphic_r , graphic_w)
+ map(HP_MAKE_IOADDR(GVIDEO_PA, 0), HP_MAKE_IOADDR(GVIDEO_PA, 3)).rw(this, FUNC(hp9845_base_state::graphic_r), FUNC(hp9845_base_state::graphic_w));
// PA = 14, IC = 0..3
// Left-hand side tape drive (T14)
- AM_RANGE(HP_MAKE_IOADDR(T14_PA , 0) , HP_MAKE_IOADDR(T14_PA , 3)) AM_DEVREADWRITE("t14" , hp_taco_device , reg_r , reg_w)
+ map(HP_MAKE_IOADDR(T14_PA, 0), HP_MAKE_IOADDR(T14_PA, 3)).rw("t14", FUNC(hp_taco_device::reg_r), FUNC(hp_taco_device::reg_w));
// PA = 15, IC = 0..3
// Right-hand side tape drive (T15)
- AM_RANGE(HP_MAKE_IOADDR(T15_PA , 0) , HP_MAKE_IOADDR(T15_PA , 3)) AM_DEVREADWRITE("t15" , hp_taco_device , reg_r , reg_w)
-ADDRESS_MAP_END
+ map(HP_MAKE_IOADDR(T15_PA, 0), HP_MAKE_IOADDR(T15_PA, 3)).rw("t15", FUNC(hp_taco_device::reg_r), FUNC(hp_taco_device::reg_w));
+}
MACHINE_CONFIG_START(hp9845_base_state::hp9845_base)
MCFG_CPU_ADD("lpu", HP_5061_3001, 5700000)