summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/avigo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/avigo.cpp')
-rw-r--r--src/mame/drivers/avigo.cpp61
1 files changed, 32 insertions, 29 deletions
diff --git a/src/mame/drivers/avigo.cpp b/src/mame/drivers/avigo.cpp
index 5dfec009077..f786cba3263 100644
--- a/src/mame/drivers/avigo.cpp
+++ b/src/mame/drivers/avigo.cpp
@@ -165,23 +165,25 @@ void avigo_state::machine_start()
save_item(NAME(m_warm_start));
}
-ADDRESS_MAP_START(avigo_state::avigo_banked_map)
- AM_RANGE(0x0000000, 0x00fffff) AM_MIRROR(0x0300000) AM_DEVREADWRITE("flash0", intelfsh8_device, read, write)
- AM_RANGE(0x0400000, 0x041ffff) AM_MIRROR(0x03e0000) AM_RAM AM_SHARE("nvram")
+void avigo_state::avigo_banked_map(address_map &map)
+{
+ map(0x0000000, 0x00fffff).mirror(0x0300000).rw("flash0", FUNC(intelfsh8_device::read), FUNC(intelfsh8_device::write));
+ map(0x0400000, 0x041ffff).mirror(0x03e0000).ram().share("nvram");
- AM_RANGE(0x0c00000, 0x0cfffff) AM_MIRROR(0x0300000) AM_DEVREADWRITE("flash1", intelfsh8_device, read, write)
- AM_RANGE(0x1400000, 0x14fffff) AM_MIRROR(0x0300000) AM_DEVREADWRITE("flash2", intelfsh8_device, read, write)
- AM_RANGE(0x1c00000, 0x1cfffff) AM_MIRROR(0x0300000) AM_DEVREADWRITE("flash0", intelfsh8_device, read, write)
+ map(0x0c00000, 0x0cfffff).mirror(0x0300000).rw(m_flash1, FUNC(intelfsh8_device::read), FUNC(intelfsh8_device::write));
+ map(0x1400000, 0x14fffff).mirror(0x0300000).rw("flash2", FUNC(intelfsh8_device::read), FUNC(intelfsh8_device::write));
+ map(0x1c00000, 0x1cfffff).mirror(0x0300000).rw("flash0", FUNC(intelfsh8_device::read), FUNC(intelfsh8_device::write));
- AM_RANGE(0x1800000, 0x1803fff) AM_MIRROR(0x03fc000) AM_READWRITE(vid_memory_r, vid_memory_w)
-ADDRESS_MAP_END
+ map(0x1800000, 0x1803fff).mirror(0x03fc000).rw(this, FUNC(avigo_state::vid_memory_r), FUNC(avigo_state::vid_memory_w));
+}
-ADDRESS_MAP_START(avigo_state::avigo_mem)
- AM_RANGE(0x0000, 0x3fff) AM_DEVREADWRITE("flash0", intelfsh8_device, read, write)
- AM_RANGE(0x4000, 0x7fff) AM_DEVREADWRITE("bank0", address_map_bank_device, read8, write8)
- AM_RANGE(0x8000, 0xbfff) AM_DEVREADWRITE("bank1", address_map_bank_device, read8, write8)
- AM_RANGE(0xc000, 0xffff) AM_RAMBANK("bank2")
-ADDRESS_MAP_END
+void avigo_state::avigo_mem(address_map &map)
+{
+ map(0x0000, 0x3fff).rw("flash0", FUNC(intelfsh8_device::read), FUNC(intelfsh8_device::write));
+ map(0x4000, 0x7fff).rw(m_bankdev1, FUNC(address_map_bank_device::read8), FUNC(address_map_bank_device::write8));
+ map(0x8000, 0xbfff).rw(m_bankdev2, FUNC(address_map_bank_device::read8), FUNC(address_map_bank_device::write8));
+ map(0xc000, 0xffff).bankrw("bank2");
+}
READ8_MEMBER(avigo_state::key_data_read_r)
@@ -496,21 +498,22 @@ READ8_MEMBER(avigo_state::port_04_r)
-ADDRESS_MAP_START(avigo_state::avigo_io)
- ADDRESS_MAP_UNMAP_HIGH
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x001, 0x001) AM_READWRITE( key_data_read_r, set_key_line_w )
- AM_RANGE(0x002, 0x002) AM_WRITE( port2_w )
- AM_RANGE(0x003, 0x003) AM_READWRITE( irq_r, irq_w )
- AM_RANGE(0x004, 0x004) AM_READ( port_04_r )
- AM_RANGE(0x005, 0x006) AM_READWRITE( bank1_r, bank1_w )
- AM_RANGE(0x007, 0x008) AM_READWRITE( bank2_r, bank2_w )
- AM_RANGE(0x009, 0x009) AM_READWRITE( ad_control_status_r, ad_control_status_w )
- AM_RANGE(0x010, 0x01f) AM_DEVREADWRITE("rtc", tc8521_device, read, write)
- AM_RANGE(0x028, 0x028) AM_WRITE( speaker_w )
- AM_RANGE(0x02d, 0x02d) AM_READ( ad_data_r )
- AM_RANGE(0x030, 0x037) AM_DEVREADWRITE("ns16550", ns16550_device, ins8250_r, ins8250_w )
-ADDRESS_MAP_END
+void avigo_state::avigo_io(address_map &map)
+{
+ map.unmap_value_high();
+ map.global_mask(0xff);
+ map(0x001, 0x001).rw(this, FUNC(avigo_state::key_data_read_r), FUNC(avigo_state::set_key_line_w));
+ map(0x002, 0x002).w(this, FUNC(avigo_state::port2_w));
+ map(0x003, 0x003).rw(this, FUNC(avigo_state::irq_r), FUNC(avigo_state::irq_w));
+ map(0x004, 0x004).r(this, FUNC(avigo_state::port_04_r));
+ map(0x005, 0x006).rw(this, FUNC(avigo_state::bank1_r), FUNC(avigo_state::bank1_w));
+ map(0x007, 0x008).rw(this, FUNC(avigo_state::bank2_r), FUNC(avigo_state::bank2_w));
+ map(0x009, 0x009).rw(this, FUNC(avigo_state::ad_control_status_r), FUNC(avigo_state::ad_control_status_w));
+ map(0x010, 0x01f).rw("rtc", FUNC(tc8521_device::read), FUNC(tc8521_device::write));
+ map(0x028, 0x028).w(this, FUNC(avigo_state::speaker_w));
+ map(0x02d, 0x02d).r(this, FUNC(avigo_state::ad_data_r));
+ map(0x030, 0x037).rw(m_uart, FUNC(ns16550_device::ins8250_r), FUNC(ns16550_device::ins8250_w));
+}
INPUT_CHANGED_MEMBER( avigo_state::pen_irq )