diff options
author | 2018-03-13 07:36:43 +0100 | |
---|---|---|
committer | 2018-03-14 14:07:14 +0100 | |
commit | 115bb9936c5cd3faf955d7eb1e251a94e4744b7b (patch) | |
tree | f0230f547f6c750f9974c61479eef28cbe4ad571 /src/mame/drivers/ibm6580.cpp | |
parent | f155992daab88ad024cec995428a67108218b51d (diff) |
Address maps macros removal, pass 1 [O. Galibert]
Diffstat (limited to 'src/mame/drivers/ibm6580.cpp')
-rw-r--r-- | src/mame/drivers/ibm6580.cpp | 60 |
1 files changed, 31 insertions, 29 deletions
diff --git a/src/mame/drivers/ibm6580.cpp b/src/mame/drivers/ibm6580.cpp index d01df077d85..989e2371c2b 100644 --- a/src/mame/drivers/ibm6580.cpp +++ b/src/mame/drivers/ibm6580.cpp @@ -680,35 +680,37 @@ READ8_MEMBER(ibm6580_state::floppy_r) } -ADDRESS_MAP_START(ibm6580_state::ibm6580_mem) - ADDRESS_MAP_UNMAP_HIGH - AM_RANGE(0x90000, 0x90001) AM_WRITE(unk_latch_w) - AM_RANGE(0xef000, 0xeffff) AM_RAM AM_SHARE("videoram") // 66-line vram starts at 0xec000 - AM_RANGE(0xfc000, 0xfffff) AM_ROM AM_REGION("user1", 0) -ADDRESS_MAP_END - -ADDRESS_MAP_START(ibm6580_state::ibm6580_io) - ADDRESS_MAP_UNMAP_HIGH - AM_RANGE(0x0000, 0x0007) AM_DEVREADWRITE8("pic8259", pic8259_device, read, write, 0x00ff) - AM_RANGE(0x0008, 0x000f) AM_WRITE (pic_latch_w) - AM_RANGE(0x0010, 0x0017) AM_DEVREADWRITE8("ppi8255", i8255_device, read, write, 0x00ff) - AM_RANGE(0x0020, 0x003f) AM_DEVREADWRITE8("dma8257", i8257_device, read, write, 0x00ff) - AM_RANGE(0x0040, 0x005f) AM_READWRITE8(p40_r, p40_w, 0x00ff) - AM_RANGE(0x0070, 0x007f) AM_UNMAP - AM_RANGE(0x0120, 0x0127) AM_DEVREADWRITE8("pit8253", pit8253_device, read, write, 0x00ff) - AM_RANGE(0x0140, 0x0141) AM_DEVREADWRITE8("upd8251a", i8251_device, data_r, data_w, 0x00ff) - AM_RANGE(0x0142, 0x0143) AM_DEVREADWRITE8("upd8251a", i8251_device, status_r, control_w, 0x00ff) - AM_RANGE(0x0160, 0x0161) AM_DEVREADWRITE8("upd8251b", i8251_device, data_r, data_w, 0x00ff) - AM_RANGE(0x0162, 0x0163) AM_DEVREADWRITE8("upd8251b", i8251_device, status_r, control_w, 0x00ff) - AM_RANGE(0x4000, 0x400f) AM_UNMAP - AM_RANGE(0x5000, 0x500f) AM_UNMAP - AM_RANGE(0x6000, 0x601f) AM_UNMAP - AM_RANGE(0x8060, 0x807f) AM_UNMAP - AM_RANGE(0x8150, 0x815f) AM_READWRITE8(floppy_r, floppy_w, 0x00ff) // HLE of floppy board - AM_RANGE(0x81a0, 0x81af) AM_UNMAP - AM_RANGE(0xc000, 0xc00f) AM_UNMAP - AM_RANGE(0xe000, 0xe02f) AM_READWRITE8(video_r, video_w, 0x00ff) -ADDRESS_MAP_END +void ibm6580_state::ibm6580_mem(address_map &map) +{ + map.unmap_value_high(); + map(0x90000, 0x90001).w(this, FUNC(ibm6580_state::unk_latch_w)); + map(0xef000, 0xeffff).ram().share("videoram"); // 66-line vram starts at 0xec000 + map(0xfc000, 0xfffff).rom().region("user1", 0); +} + +void ibm6580_state::ibm6580_io(address_map &map) +{ + map.unmap_value_high(); + map(0x0000, 0x0007).rw(m_pic8259, FUNC(pic8259_device::read), FUNC(pic8259_device::write)).umask16(0x00ff); + map(0x0008, 0x000f).w(this, FUNC(ibm6580_state::pic_latch_w)); + map(0x0010, 0x0017).rw(m_ppi8255, FUNC(i8255_device::read), FUNC(i8255_device::write)).umask16(0x00ff); + map(0x0020, 0x003f).rw(m_dma8257, FUNC(i8257_device::read), FUNC(i8257_device::write)).umask16(0x00ff); + map(0x0040, 0x005f).rw(this, FUNC(ibm6580_state::p40_r), FUNC(ibm6580_state::p40_w)).umask16(0x00ff); + map(0x0070, 0x007f).unmaprw(); + map(0x0120, 0x0127).rw(m_pit8253, FUNC(pit8253_device::read), FUNC(pit8253_device::write)).umask16(0x00ff); + map(0x0140, 0x0140).rw("upd8251a", FUNC(i8251_device::data_r), FUNC(i8251_device::data_w)); + map(0x0142, 0x0142).rw("upd8251a", FUNC(i8251_device::status_r), FUNC(i8251_device::control_w)); + map(0x0160, 0x0160).rw("upd8251b", FUNC(i8251_device::data_r), FUNC(i8251_device::data_w)); + map(0x0162, 0x0162).rw("upd8251b", FUNC(i8251_device::status_r), FUNC(i8251_device::control_w)); + map(0x4000, 0x400f).unmaprw(); + map(0x5000, 0x500f).unmaprw(); + map(0x6000, 0x601f).unmaprw(); + map(0x8060, 0x807f).unmaprw(); + map(0x8150, 0x815f).rw(this, FUNC(ibm6580_state::floppy_r), FUNC(ibm6580_state::floppy_w)).umask16(0x00ff); // HLE of floppy board + map(0x81a0, 0x81af).unmaprw(); + map(0xc000, 0xc00f).unmaprw(); + map(0xe000, 0xe02f).rw(this, FUNC(ibm6580_state::video_r), FUNC(ibm6580_state::video_w)).umask16(0x00ff); +} /* Input ports */ |