summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/kyocera.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/kyocera.cpp')
-rw-r--r--src/mame/drivers/kyocera.cpp104
1 files changed, 55 insertions, 49 deletions
diff --git a/src/mame/drivers/kyocera.cpp b/src/mame/drivers/kyocera.cpp
index 84a36b6e0ac..b678df6a9de 100644
--- a/src/mame/drivers/kyocera.cpp
+++ b/src/mame/drivers/kyocera.cpp
@@ -563,71 +563,77 @@ WRITE8_MEMBER( kc85_state::lcd_w )
/* Memory Maps */
-ADDRESS_MAP_START(kc85_state::kc85_mem)
- ADDRESS_MAP_UNMAP_HIGH
- AM_RANGE(0x0000, 0x7fff) AM_ROMBANK("bank1")
- AM_RANGE(0x8000, 0xffff) AM_RAMBANK("bank2")
-ADDRESS_MAP_END
+void kc85_state::kc85_mem(address_map &map)
+{
+ map.unmap_value_high();
+ map(0x0000, 0x7fff).bankr("bank1");
+ map(0x8000, 0xffff).bankrw("bank2");
+}
-ADDRESS_MAP_START(pc8201_state::pc8201_mem)
- ADDRESS_MAP_UNMAP_HIGH
- AM_RANGE(0x0000, 0x7fff) AM_RAMBANK("bank1")
- AM_RANGE(0x8000, 0xffff) AM_RAMBANK("bank2")
-ADDRESS_MAP_END
+void pc8201_state::pc8201_mem(address_map &map)
+{
+ map.unmap_value_high();
+ map(0x0000, 0x7fff).bankrw("bank1");
+ map(0x8000, 0xffff).bankrw("bank2");
+}
-ADDRESS_MAP_START(tandy200_state::tandy200_mem)
- ADDRESS_MAP_UNMAP_HIGH
- AM_RANGE(0x0000, 0x7fff) AM_ROMBANK("bank1")
- AM_RANGE(0x8000, 0x9fff) AM_ROM
- AM_RANGE(0xa000, 0xffff) AM_RAMBANK("bank2")
-ADDRESS_MAP_END
+void tandy200_state::tandy200_mem(address_map &map)
+{
+ map.unmap_value_high();
+ map(0x0000, 0x7fff).bankr("bank1");
+ map(0x8000, 0x9fff).rom();
+ map(0xa000, 0xffff).bankrw("bank2");
+}
-ADDRESS_MAP_START(kc85_state::kc85_io)
- ADDRESS_MAP_UNMAP_HIGH
+void kc85_state::kc85_io(address_map &map)
+{
+ map.unmap_value_high();
// AM_RANGE(0x70, 0x70) AM_MIRROR(0x0f) optional RAM unit
// AM_RANGE(0x80, 0x80) AM_MIRROR(0x0f) optional I/O controller unit
// AM_RANGE(0x90, 0x90) AM_MIRROR(0x0f) optional answering telephone unit
// AM_RANGE(0xa0, 0xa0) AM_MIRROR(0x0f) optional modem
- AM_RANGE(0xb0, 0xb7) AM_MIRROR(0x08) AM_DEVREADWRITE(I8155_TAG, i8155_device, io_r, io_w)
- AM_RANGE(0xc0, 0xc0) AM_MIRROR(0x0f) AM_DEVREADWRITE(IM6402_TAG, im6402_device, read, write)
- AM_RANGE(0xd0, 0xd0) AM_MIRROR(0x0f) AM_READWRITE(uart_status_r, uart_ctrl_w)
- AM_RANGE(0xe0, 0xe0) AM_MIRROR(0x0f) AM_READWRITE(keyboard_r, ctrl_w)
- AM_RANGE(0xf0, 0xf1) AM_MIRROR(0x0e) AM_READWRITE(lcd_r, lcd_w)
-ADDRESS_MAP_END
+ map(0xb0, 0xb7).mirror(0x08).rw(I8155_TAG, FUNC(i8155_device::io_r), FUNC(i8155_device::io_w));
+ map(0xc0, 0xc0).mirror(0x0f).rw(m_uart, FUNC(im6402_device::read), FUNC(im6402_device::write));
+ map(0xd0, 0xd0).mirror(0x0f).rw(this, FUNC(kc85_state::uart_status_r), FUNC(kc85_state::uart_ctrl_w));
+ map(0xe0, 0xe0).mirror(0x0f).rw(this, FUNC(kc85_state::keyboard_r), FUNC(kc85_state::ctrl_w));
+ map(0xf0, 0xf1).mirror(0x0e).rw(this, FUNC(kc85_state::lcd_r), FUNC(kc85_state::lcd_w));
+}
ADDRESS_MAP_START(kc85_state::trsm100_io)
AM_IMPORT_FROM(kc85_io)
AM_RANGE(0xa0, 0xa0) AM_MIRROR(0x0f) AM_WRITE(modem_w)
ADDRESS_MAP_END
-ADDRESS_MAP_START(pc8201_state::pc8201_io)
- ADDRESS_MAP_UNMAP_HIGH
+void pc8201_state::pc8201_io(address_map &map)
+{
+ map.unmap_value_high();
// AM_RANGE(0x70, 0x70) AM_MIRROR(0x0f) optional video interface 8255
- AM_RANGE(0x80, 0x80) AM_MIRROR(0x03) AM_WRITE(romah_w)
- AM_RANGE(0x84, 0x84) AM_MIRROR(0x03) AM_WRITE(romal_w)
- AM_RANGE(0x88, 0x88) AM_MIRROR(0x03) AM_WRITE(romam_w)
- AM_RANGE(0x8c, 0x8c) AM_MIRROR(0x03) AM_READ(romrd_r)
- AM_RANGE(0x90, 0x90) AM_MIRROR(0x0f) AM_WRITE(scp_w)
- AM_RANGE(0xa0, 0xa0) AM_MIRROR(0x0f) AM_READWRITE(bank_r, bank_w)
- AM_RANGE(0xb0, 0xb7) AM_MIRROR(0x08) AM_DEVREADWRITE(I8155_TAG, i8155_device, io_r, io_w)
- AM_RANGE(0xc0, 0xc0) AM_MIRROR(0x0f) AM_DEVREADWRITE(IM6402_TAG, im6402_device, read, write)
- AM_RANGE(0xd0, 0xd0) AM_MIRROR(0x0f) AM_READ(uart_status_r) AM_WRITE(uart_ctrl_w)
- AM_RANGE(0xe0, 0xe0) AM_MIRROR(0x0f) AM_READ(keyboard_r)
- AM_RANGE(0xf0, 0xf1) AM_MIRROR(0x0e) AM_READWRITE(lcd_r, lcd_w)
-ADDRESS_MAP_END
+ map(0x80, 0x80).mirror(0x03).w(this, FUNC(pc8201_state::romah_w));
+ map(0x84, 0x84).mirror(0x03).w(this, FUNC(pc8201_state::romal_w));
+ map(0x88, 0x88).mirror(0x03).w(this, FUNC(pc8201_state::romam_w));
+ map(0x8c, 0x8c).mirror(0x03).r(this, FUNC(pc8201_state::romrd_r));
+ map(0x90, 0x90).mirror(0x0f).w(this, FUNC(pc8201_state::scp_w));
+ map(0xa0, 0xa0).mirror(0x0f).rw(this, FUNC(pc8201_state::bank_r), FUNC(pc8201_state::bank_w));
+ map(0xb0, 0xb7).mirror(0x08).rw(I8155_TAG, FUNC(i8155_device::io_r), FUNC(i8155_device::io_w));
+ map(0xc0, 0xc0).mirror(0x0f).rw(m_uart, FUNC(im6402_device::read), FUNC(im6402_device::write));
+ map(0xd0, 0xd0).mirror(0x0f).r(this, FUNC(pc8201_state::uart_status_r)).w(this, FUNC(pc8201_state::uart_ctrl_w));
+ map(0xe0, 0xe0).mirror(0x0f).r(this, FUNC(pc8201_state::keyboard_r));
+ map(0xf0, 0xf1).mirror(0x0e).rw(this, FUNC(pc8201_state::lcd_r), FUNC(pc8201_state::lcd_w));
+}
-ADDRESS_MAP_START(tandy200_state::tandy200_io)
- ADDRESS_MAP_UNMAP_HIGH
- AM_RANGE(0x90, 0x9f) AM_DEVREADWRITE(RP5C01A_TAG, rp5c01_device, read, write)
+void tandy200_state::tandy200_io(address_map &map)
+{
+ map.unmap_value_high();
+ map(0x90, 0x9f).rw(m_rtc, FUNC(rp5c01_device::read), FUNC(rp5c01_device::write));
// AM_RANGE(0xa0, 0xa0) AM_MIRROR(0x0f) AM_DEVWRITE(TCM5089_TAG, write)
- AM_RANGE(0xb0, 0xb7) AM_MIRROR(0x08) AM_DEVREADWRITE(I8155_TAG, i8155_device, io_r, io_w)
- AM_RANGE(0xc0, 0xc0) AM_MIRROR(0x0e) AM_DEVREADWRITE(I8251_TAG, i8251_device, data_r, data_w)
- AM_RANGE(0xc1, 0xc1) AM_MIRROR(0x0e) AM_DEVREADWRITE(I8251_TAG, i8251_device, status_r, control_w)
- AM_RANGE(0xd0, 0xd0) AM_MIRROR(0x0f) AM_READWRITE(bank_r, bank_w)
- AM_RANGE(0xe0, 0xe0) AM_MIRROR(0x0f) AM_READWRITE(stbk_r, stbk_w)
- AM_RANGE(0xf0, 0xf0) AM_MIRROR(0x0e) AM_DEVREADWRITE(HD61830_TAG, hd61830_device, data_r, data_w)
- AM_RANGE(0xf1, 0xf1) AM_MIRROR(0x0e) AM_DEVREADWRITE(HD61830_TAG, hd61830_device, status_r, control_w)
-ADDRESS_MAP_END
+ map(0xb0, 0xb7).mirror(0x08).rw(I8155_TAG, FUNC(i8155_device::io_r), FUNC(i8155_device::io_w));
+ map(0xc0, 0xc0).mirror(0x0e).rw(I8251_TAG, FUNC(i8251_device::data_r), FUNC(i8251_device::data_w));
+ map(0xc1, 0xc1).mirror(0x0e).rw(I8251_TAG, FUNC(i8251_device::status_r), FUNC(i8251_device::control_w));
+ map(0xd0, 0xd0).mirror(0x0f).rw(this, FUNC(tandy200_state::bank_r), FUNC(tandy200_state::bank_w));
+ map(0xe0, 0xe0).mirror(0x0f).rw(this, FUNC(tandy200_state::stbk_r), FUNC(tandy200_state::stbk_w));
+ map(0xf0, 0xf0).mirror(0x0e).rw(m_lcdc, FUNC(hd61830_device::data_r), FUNC(hd61830_device::data_w));
+ map(0xf1, 0xf1).mirror(0x0e).rw(m_lcdc, FUNC(hd61830_device::status_r), FUNC(hd61830_device::control_w));
+}
/* Input Ports */