summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/vis.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/vis.cpp')
-rw-r--r--src/mame/drivers/vis.cpp54
1 files changed, 28 insertions, 26 deletions
diff --git a/src/mame/drivers/vis.cpp b/src/mame/drivers/vis.cpp
index 3ecbc006231..25e2ecf486d 100644
--- a/src/mame/drivers/vis.cpp
+++ b/src/mame/drivers/vis.cpp
@@ -830,32 +830,34 @@ WRITE8_MEMBER(vis_state::sysctl_w)
m_sysctl = data;
}
-ADDRESS_MAP_START(vis_state::at16_map)
- ADDRESS_MAP_UNMAP_HIGH
- AM_RANGE(0x000000, 0x09ffff) AM_RAM
- AM_RANGE(0x0d8000, 0x0fffff) AM_ROM AM_REGION("bios", 0xd8000)
- AM_RANGE(0x100000, 0x15ffff) AM_RAM
- AM_RANGE(0x300000, 0x3fffff) AM_ROM AM_REGION("bios", 0)
- AM_RANGE(0xff0000, 0xffffff) AM_ROM AM_REGION("bios", 0xf0000)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(vis_state::at16_io)
- ADDRESS_MAP_UNMAP_HIGH
- AM_RANGE(0x0000, 0x001f) AM_DEVREADWRITE8("mb:dma8237_1", am9517a_device, read, write, 0xffff)
- AM_RANGE(0x0020, 0x003f) AM_DEVREADWRITE8("mb:pic8259_master", pic8259_device, read, write, 0xffff)
- AM_RANGE(0x0026, 0x0027) AM_READWRITE8(unk_r, unk_w, 0xffff)
- AM_RANGE(0x0040, 0x005f) AM_DEVREADWRITE8("mb:pit8254", pit8254_device, read, write, 0xffff)
- AM_RANGE(0x0060, 0x0065) AM_DEVREADWRITE8("kbdc", kbdc8042_device, data_r, data_w, 0xffff)
- AM_RANGE(0x006a, 0x006b) AM_READ8(unk2_r, 0x00ff)
- AM_RANGE(0x0080, 0x009f) AM_DEVREADWRITE8("mb", at_mb_device, page8_r, page8_w, 0xffff)
- AM_RANGE(0x0092, 0x0093) AM_READWRITE8(sysctl_r, sysctl_w, 0x00ff)
- AM_RANGE(0x00a0, 0x00bf) AM_DEVREADWRITE8("mb:pic8259_slave", pic8259_device, read, write, 0xffff)
- AM_RANGE(0x00c0, 0x00df) AM_DEVREADWRITE8("mb:dma8237_2", am9517a_device, read, write, 0x00ff)
- AM_RANGE(0x00e0, 0x00e1) AM_NOP
- AM_RANGE(0x023c, 0x023f) AM_READWRITE8(unk1_r, unk1_w, 0xffff)
- AM_RANGE(0x0268, 0x026f) AM_READWRITE(pad_r, pad_w)
- AM_RANGE(0x031a, 0x031b) AM_READ8(unk3_r, 0x00ff)
-ADDRESS_MAP_END
+void vis_state::at16_map(address_map &map)
+{
+ map.unmap_value_high();
+ map(0x000000, 0x09ffff).ram();
+ map(0x0d8000, 0x0fffff).rom().region("bios", 0xd8000);
+ map(0x100000, 0x15ffff).ram();
+ map(0x300000, 0x3fffff).rom().region("bios", 0);
+ map(0xff0000, 0xffffff).rom().region("bios", 0xf0000);
+}
+
+void vis_state::at16_io(address_map &map)
+{
+ map.unmap_value_high();
+ map(0x0000, 0x001f).rw("mb:dma8237_1", FUNC(am9517a_device::read), FUNC(am9517a_device::write));
+ map(0x0020, 0x003f).rw(m_pic1, FUNC(pic8259_device::read), FUNC(pic8259_device::write));
+ map(0x0026, 0x0027).rw(this, FUNC(vis_state::unk_r), FUNC(vis_state::unk_w));
+ map(0x0040, 0x005f).rw("mb:pit8254", FUNC(pit8254_device::read), FUNC(pit8254_device::write));
+ map(0x0060, 0x0065).rw("kbdc", FUNC(kbdc8042_device::data_r), FUNC(kbdc8042_device::data_w));
+ map(0x006a, 0x006a).r(this, FUNC(vis_state::unk2_r));
+ map(0x0080, 0x009f).rw("mb", FUNC(at_mb_device::page8_r), FUNC(at_mb_device::page8_w));
+ map(0x0092, 0x0092).rw(this, FUNC(vis_state::sysctl_r), FUNC(vis_state::sysctl_w));
+ map(0x00a0, 0x00bf).rw(m_pic2, FUNC(pic8259_device::read), FUNC(pic8259_device::write));
+ map(0x00c0, 0x00df).rw("mb:dma8237_2", FUNC(am9517a_device::read), FUNC(am9517a_device::write)).umask16(0x00ff);
+ map(0x00e0, 0x00e1).noprw();
+ map(0x023c, 0x023f).rw(this, FUNC(vis_state::unk1_r), FUNC(vis_state::unk1_w));
+ map(0x0268, 0x026f).rw(this, FUNC(vis_state::pad_r), FUNC(vis_state::pad_w));
+ map(0x031a, 0x031a).r(this, FUNC(vis_state::unk3_r));
+}
static SLOT_INTERFACE_START(vis_cards)
SLOT_INTERFACE("visaudio", VIS_AUDIO)