summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/pce220.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/pce220.cpp')
-rw-r--r--src/mame/drivers/pce220.cpp109
1 files changed, 56 insertions, 53 deletions
diff --git a/src/mame/drivers/pce220.cpp b/src/mame/drivers/pce220.cpp
index bf5e3c67a01..8eb486c6d83 100644
--- a/src/mame/drivers/pce220.cpp
+++ b/src/mame/drivers/pce220.cpp
@@ -576,59 +576,62 @@ WRITE8_MEMBER( pcg850v_state::g850v_lcd_data_w )
}
-ADDRESS_MAP_START(pce220_state::pce220_mem)
- AM_RANGE(0x0000, 0x3fff) AM_RAMBANK("bank1")
- AM_RANGE(0x4000, 0x7fff) AM_RAMBANK("bank2")
- AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank3")
- AM_RANGE(0xc000, 0xffff) AM_ROMBANK("bank4")
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(pce220_state::pce220_io)
- ADDRESS_MAP_UNMAP_HIGH
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x10, 0x10) AM_READ(kb_r)
- AM_RANGE(0x11, 0x12) AM_WRITE(kb_matrix_w)
- AM_RANGE(0x13, 0x13) AM_READ_PORT("SHIFT")
- AM_RANGE(0x14, 0x14) AM_READWRITE(timer_r, timer_w)
- AM_RANGE(0x15, 0x15) AM_READWRITE(port15_r, port15_w)
- AM_RANGE(0x16, 0x16) AM_READWRITE(irq_status_r, irq_ack_w)
- AM_RANGE(0x17, 0x17) AM_WRITE(irq_mask_w)
- AM_RANGE(0x18, 0x18) AM_READWRITE(port18_r, port18_w)
- AM_RANGE(0x19, 0x19) AM_READWRITE(rom_bank_r, rom_bank_w)
- AM_RANGE(0x1a, 0x1a) AM_WRITE(boot_bank_w)
- AM_RANGE(0x1b, 0x1b) AM_WRITE(ram_bank_w)
- AM_RANGE(0x1c, 0x1c) AM_WRITENOP //peripheral reset
- AM_RANGE(0x1d, 0x1d) AM_READ_PORT("BATTERY")
- AM_RANGE(0x1e, 0x1e) AM_WRITENOP //???
- AM_RANGE(0x1f, 0x1f) AM_READ(port1f_r)
- AM_RANGE(0x58, 0x58) AM_WRITE(lcd_control_w)
- AM_RANGE(0x59, 0x59) AM_READ(lcd_status_r)
- AM_RANGE(0x5a, 0x5a) AM_WRITE(lcd_data_w)
- AM_RANGE(0x5b, 0x5b) AM_READ(lcd_data_r)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(pcg850v_state::pcg850v_io)
- ADDRESS_MAP_UNMAP_HIGH
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x10, 0x10) AM_READ(kb_r)
- AM_RANGE(0x11, 0x12) AM_WRITE(kb_matrix_w)
- AM_RANGE(0x13, 0x13) AM_READ_PORT("SHIFT")
- AM_RANGE(0x14, 0x14) AM_READWRITE(timer_r, timer_w)
- AM_RANGE(0x15, 0x15) AM_READWRITE(port15_r, port15_w)
- AM_RANGE(0x16, 0x16) AM_READWRITE(irq_status_r, irq_ack_w)
- AM_RANGE(0x17, 0x17) AM_WRITE(irq_mask_w)
- AM_RANGE(0x18, 0x18) AM_READWRITE(port18_r, port18_w)
- AM_RANGE(0x19, 0x19) AM_READWRITE(rom_bank_r, rom_bank_w)
- AM_RANGE(0x1a, 0x1a) AM_WRITE(boot_bank_w)
- AM_RANGE(0x1b, 0x1b) AM_WRITE(ram_bank_w)
- AM_RANGE(0x1c, 0x1c) AM_WRITENOP //peripheral reset
- AM_RANGE(0x1d, 0x1d) AM_READ_PORT("BATTERY")
- AM_RANGE(0x1e, 0x1e) AM_WRITENOP //???
- AM_RANGE(0x1f, 0x1f) AM_READ(port1f_r)
- AM_RANGE(0x40, 0x40) AM_READWRITE(g850v_lcd_status_r, g850v_lcd_control_w)
- AM_RANGE(0x41, 0x41) AM_READWRITE(g850v_lcd_data_r, g850v_lcd_data_w)
- AM_RANGE(0x69, 0x69) AM_READWRITE(g850v_bank_r, g850v_bank_w)
-ADDRESS_MAP_END
+void pce220_state::pce220_mem(address_map &map)
+{
+ map(0x0000, 0x3fff).bankrw("bank1");
+ map(0x4000, 0x7fff).bankrw("bank2");
+ map(0x8000, 0xbfff).bankr("bank3");
+ map(0xc000, 0xffff).bankr("bank4");
+}
+
+void pce220_state::pce220_io(address_map &map)
+{
+ map.unmap_value_high();
+ map.global_mask(0xff);
+ map(0x10, 0x10).r(this, FUNC(pce220_state::kb_r));
+ map(0x11, 0x12).w(this, FUNC(pce220_state::kb_matrix_w));
+ map(0x13, 0x13).portr("SHIFT");
+ map(0x14, 0x14).rw(this, FUNC(pce220_state::timer_r), FUNC(pce220_state::timer_w));
+ map(0x15, 0x15).rw(this, FUNC(pce220_state::port15_r), FUNC(pce220_state::port15_w));
+ map(0x16, 0x16).rw(this, FUNC(pce220_state::irq_status_r), FUNC(pce220_state::irq_ack_w));
+ map(0x17, 0x17).w(this, FUNC(pce220_state::irq_mask_w));
+ map(0x18, 0x18).rw(this, FUNC(pce220_state::port18_r), FUNC(pce220_state::port18_w));
+ map(0x19, 0x19).rw(this, FUNC(pce220_state::rom_bank_r), FUNC(pce220_state::rom_bank_w));
+ map(0x1a, 0x1a).w(this, FUNC(pce220_state::boot_bank_w));
+ map(0x1b, 0x1b).w(this, FUNC(pce220_state::ram_bank_w));
+ map(0x1c, 0x1c).nopw(); //peripheral reset
+ map(0x1d, 0x1d).portr("BATTERY");
+ map(0x1e, 0x1e).nopw(); //???
+ map(0x1f, 0x1f).r(this, FUNC(pce220_state::port1f_r));
+ map(0x58, 0x58).w(this, FUNC(pce220_state::lcd_control_w));
+ map(0x59, 0x59).r(this, FUNC(pce220_state::lcd_status_r));
+ map(0x5a, 0x5a).w(this, FUNC(pce220_state::lcd_data_w));
+ map(0x5b, 0x5b).r(this, FUNC(pce220_state::lcd_data_r));
+}
+
+void pcg850v_state::pcg850v_io(address_map &map)
+{
+ map.unmap_value_high();
+ map.global_mask(0xff);
+ map(0x10, 0x10).r(this, FUNC(pcg850v_state::kb_r));
+ map(0x11, 0x12).w(this, FUNC(pcg850v_state::kb_matrix_w));
+ map(0x13, 0x13).portr("SHIFT");
+ map(0x14, 0x14).rw(this, FUNC(pcg850v_state::timer_r), FUNC(pcg850v_state::timer_w));
+ map(0x15, 0x15).rw(this, FUNC(pcg850v_state::port15_r), FUNC(pcg850v_state::port15_w));
+ map(0x16, 0x16).rw(this, FUNC(pcg850v_state::irq_status_r), FUNC(pcg850v_state::irq_ack_w));
+ map(0x17, 0x17).w(this, FUNC(pcg850v_state::irq_mask_w));
+ map(0x18, 0x18).rw(this, FUNC(pcg850v_state::port18_r), FUNC(pcg850v_state::port18_w));
+ map(0x19, 0x19).rw(this, FUNC(pcg850v_state::rom_bank_r), FUNC(pcg850v_state::rom_bank_w));
+ map(0x1a, 0x1a).w(this, FUNC(pcg850v_state::boot_bank_w));
+ map(0x1b, 0x1b).w(this, FUNC(pcg850v_state::ram_bank_w));
+ map(0x1c, 0x1c).nopw(); //peripheral reset
+ map(0x1d, 0x1d).portr("BATTERY");
+ map(0x1e, 0x1e).nopw(); //???
+ map(0x1f, 0x1f).r(this, FUNC(pcg850v_state::port1f_r));
+ map(0x40, 0x40).rw(this, FUNC(pcg850v_state::g850v_lcd_status_r), FUNC(pcg850v_state::g850v_lcd_control_w));
+ map(0x41, 0x41).rw(this, FUNC(pcg850v_state::g850v_lcd_data_r), FUNC(pcg850v_state::g850v_lcd_data_w));
+ map(0x69, 0x69).rw(this, FUNC(pcg850v_state::g850v_bank_r), FUNC(pcg850v_state::g850v_bank_w));
+}
INPUT_CHANGED_MEMBER(pce220_state::kb_irq)
{