summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/pasopia.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/pasopia.cpp')
-rw-r--r--src/mame/drivers/pasopia.cpp38
1 files changed, 20 insertions, 18 deletions
diff --git a/src/mame/drivers/pasopia.cpp b/src/mame/drivers/pasopia.cpp
index 64737fd1401..5d7abc9d806 100644
--- a/src/mame/drivers/pasopia.cpp
+++ b/src/mame/drivers/pasopia.cpp
@@ -122,27 +122,29 @@ WRITE8_MEMBER( pasopia_state::pasopia_ctrl_w )
membank("bank1")->set_entry(m_ram_bank);
}
-ADDRESS_MAP_START(pasopia_state::pasopia_map)
- AM_RANGE(0x0000,0x7fff) AM_READ_BANK("bank1") AM_WRITE_BANK("bank2")
- AM_RANGE(0x8000,0xffff) AM_RAM
-ADDRESS_MAP_END
-
-
-ADDRESS_MAP_START(pasopia_state::pasopia_io)
- ADDRESS_MAP_UNMAP_HIGH
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00,0x03) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write)
- AM_RANGE(0x08,0x0b) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write)
- AM_RANGE(0x10,0x10) AM_DEVREADWRITE("crtc", mc6845_device, status_r, address_w)
- AM_RANGE(0x11,0x11) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
+void pasopia_state::pasopia_map(address_map &map)
+{
+ map(0x0000, 0x7fff).bankr("bank1").bankw("bank2");
+ map(0x8000, 0xffff).ram();
+}
+
+
+void pasopia_state::pasopia_io(address_map &map)
+{
+ map.unmap_value_high();
+ map.global_mask(0xff);
+ map(0x00, 0x03).rw(m_ppi0, FUNC(i8255_device::read), FUNC(i8255_device::write));
+ map(0x08, 0x0b).rw(m_ppi1, FUNC(i8255_device::read), FUNC(i8255_device::write));
+ map(0x10, 0x10).rw(m_crtc, FUNC(mc6845_device::status_r), FUNC(mc6845_device::address_w));
+ map(0x11, 0x11).rw(m_crtc, FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w));
// 0x18 - 0x1b pac2
// 0x1c - 0x1f something
- AM_RANGE(0x20,0x23) AM_DEVREADWRITE("ppi8255_2", i8255_device, read, write)
- AM_RANGE(0x28,0x2b) AM_DEVREADWRITE("z80ctc", z80ctc_device, read, write)
- AM_RANGE(0x30,0x33) AM_DEVREADWRITE("z80pio", z80pio_device, read, write)
+ map(0x20, 0x23).rw(m_ppi2, FUNC(i8255_device::read), FUNC(i8255_device::write));
+ map(0x28, 0x2b).rw(m_ctc, FUNC(z80ctc_device::read), FUNC(z80ctc_device::write));
+ map(0x30, 0x33).rw(m_pio, FUNC(z80pio_device::read), FUNC(z80pio_device::write));
// 0x38 printer
- AM_RANGE(0x3c,0x3c) AM_WRITE(pasopia_ctrl_w)
-ADDRESS_MAP_END
+ map(0x3c, 0x3c).w(this, FUNC(pasopia_state::pasopia_ctrl_w));
+}
/* Input ports */
static INPUT_PORTS_START( pasopia )