summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/llc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/llc.cpp')
-rw-r--r--src/mame/drivers/llc.cpp66
1 files changed, 35 insertions, 31 deletions
diff --git a/src/mame/drivers/llc.cpp b/src/mame/drivers/llc.cpp
index e414555ba38..b1df7121948 100644
--- a/src/mame/drivers/llc.cpp
+++ b/src/mame/drivers/llc.cpp
@@ -58,37 +58,41 @@
/* Address maps */
-ADDRESS_MAP_START(llc_state::llc1_mem)
- AM_RANGE(0x0000, 0x07ff) AM_ROM // Monitor ROM
- AM_RANGE(0x0800, 0x13ff) AM_ROM // BASIC ROM
- AM_RANGE(0x1400, 0x1bff) AM_RAM // RAM
- AM_RANGE(0x1c00, 0x1fff) AM_RAM AM_SHARE("videoram") // Video RAM
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(llc_state::llc1_io)
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- ADDRESS_MAP_UNMAP_HIGH
- AM_RANGE(0xEC, 0xEF) AM_DEVREADWRITE("z80pio2", z80pio_device, read, write)
- AM_RANGE(0xF4, 0xF7) AM_DEVREADWRITE("z80pio1", z80pio_device, read, write)
- AM_RANGE(0xF8, 0xFB) AM_DEVREADWRITE("z80ctc", z80ctc_device, read, write)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(llc_state::llc2_mem)
- AM_RANGE(0x0000, 0x3fff) AM_RAMBANK("bank1")
- AM_RANGE(0x4000, 0x5fff) AM_RAMBANK("bank2")
- AM_RANGE(0x6000, 0xbfff) AM_RAMBANK("bank3")
- AM_RANGE(0xc000, 0xffff) AM_RAMBANK("bank4")
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(llc_state::llc2_io)
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- ADDRESS_MAP_UNMAP_HIGH
- AM_RANGE(0xE0, 0xE3) AM_WRITE(llc2_rom_disable_w)
- AM_RANGE(0xE4, 0xE7) AM_DEVREADWRITE("z80pio2", z80pio_device, read, write)
- AM_RANGE(0xE8, 0xEB) AM_DEVREADWRITE("z80pio1", z80pio_device, read, write)
- AM_RANGE(0xEC, 0xEC) AM_WRITE(llc2_basic_enable_w)
- AM_RANGE(0xF8, 0xFB) AM_DEVREADWRITE("z80ctc", z80ctc_device, read, write)
-ADDRESS_MAP_END
+void llc_state::llc1_mem(address_map &map)
+{
+ map(0x0000, 0x07ff).rom(); // Monitor ROM
+ map(0x0800, 0x13ff).rom(); // BASIC ROM
+ map(0x1400, 0x1bff).ram(); // RAM
+ map(0x1c00, 0x1fff).ram().share("videoram"); // Video RAM
+}
+
+void llc_state::llc1_io(address_map &map)
+{
+ map.global_mask(0xff);
+ map.unmap_value_high();
+ map(0xEC, 0xEF).rw("z80pio2", FUNC(z80pio_device::read), FUNC(z80pio_device::write));
+ map(0xF4, 0xF7).rw("z80pio1", FUNC(z80pio_device::read), FUNC(z80pio_device::write));
+ map(0xF8, 0xFB).rw("z80ctc", FUNC(z80ctc_device::read), FUNC(z80ctc_device::write));
+}
+
+void llc_state::llc2_mem(address_map &map)
+{
+ map(0x0000, 0x3fff).bankrw("bank1");
+ map(0x4000, 0x5fff).bankrw("bank2");
+ map(0x6000, 0xbfff).bankrw("bank3");
+ map(0xc000, 0xffff).bankrw("bank4");
+}
+
+void llc_state::llc2_io(address_map &map)
+{
+ map.global_mask(0xff);
+ map.unmap_value_high();
+ map(0xE0, 0xE3).w(this, FUNC(llc_state::llc2_rom_disable_w));
+ map(0xE4, 0xE7).rw("z80pio2", FUNC(z80pio_device::read), FUNC(z80pio_device::write));
+ map(0xE8, 0xEB).rw("z80pio1", FUNC(z80pio_device::read), FUNC(z80pio_device::write));
+ map(0xEC, 0xEC).w(this, FUNC(llc_state::llc2_basic_enable_w));
+ map(0xF8, 0xFB).rw("z80ctc", FUNC(z80ctc_device::read), FUNC(z80ctc_device::write));
+}
/* Input ports */
static INPUT_PORTS_START( llc1 )