diff options
Diffstat (limited to 'src/devices/bus/isa/svga_cirrus.cpp')
-rw-r--r-- | src/devices/bus/isa/svga_cirrus.cpp | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/devices/bus/isa/svga_cirrus.cpp b/src/devices/bus/isa/svga_cirrus.cpp index 750d0f41142..25275181781 100644 --- a/src/devices/bus/isa/svga_cirrus.cpp +++ b/src/devices/bus/isa/svga_cirrus.cpp @@ -65,6 +65,11 @@ isa16_svga_cirrus_device::isa16_svga_cirrus_device(const machine_config &mconfig { } +void isa16_svga_cirrus_device::io_isa_map(address_map &map) +{ + map(0x00, 0x2f).m(m_vga, FUNC(cirrus_gd5430_device::io_map)); +} + //------------------------------------------------- // device_start - device-specific startup //------------------------------------------------- @@ -76,11 +81,8 @@ void isa16_svga_cirrus_device::device_start() m_isa->install_rom(this, 0xc0000, 0xc7fff, "dm_clgd5430"); - m_isa->install_device(0x03b0, 0x03bf, read8sm_delegate(*m_vga, FUNC(cirrus_gd5430_device::port_03b0_r)), write8sm_delegate(*m_vga, FUNC(cirrus_gd5430_device::port_03b0_w))); - m_isa->install_device(0x03c0, 0x03cf, read8sm_delegate(*m_vga, FUNC(cirrus_gd5430_device::port_03c0_r)), write8sm_delegate(*m_vga, FUNC(cirrus_gd5430_device::port_03c0_w))); - m_isa->install_device(0x03d0, 0x03df, read8sm_delegate(*m_vga, FUNC(cirrus_gd5430_device::port_03d0_r)), write8sm_delegate(*m_vga, FUNC(cirrus_gd5430_device::port_03d0_w))); - m_isa->install_memory(0xa0000, 0xbffff, read8sm_delegate(*m_vga, FUNC(cirrus_gd5430_device::mem_r)), write8sm_delegate(*m_vga, FUNC(cirrus_gd5430_device::mem_w))); + m_isa->install_device(0x03b0, 0x03df, *this, &isa16_svga_cirrus_device::io_isa_map); } //------------------------------------------------- @@ -145,6 +147,11 @@ isa16_svga_cirrus_gd542x_device::isa16_svga_cirrus_gd542x_device(const machine_c { } +void isa16_svga_cirrus_gd542x_device::io_isa_map(address_map &map) +{ + map(0x00, 0x2f).m(m_vga, FUNC(cirrus_gd5428_device::io_map)); +} + //------------------------------------------------- // device_start - device-specific startup //------------------------------------------------- @@ -156,11 +163,9 @@ void isa16_svga_cirrus_gd542x_device::device_start() m_isa->install_rom(this, 0xc0000, 0xc7fff, "clgd542x"); - m_isa->install_device(0x03b0, 0x03bf, read8sm_delegate(*m_vga, FUNC(cirrus_gd5428_device::port_03b0_r)), write8sm_delegate(*m_vga, FUNC(cirrus_gd5428_device::port_03b0_w))); - m_isa->install_device(0x03c0, 0x03cf, read8sm_delegate(*m_vga, FUNC(cirrus_gd5428_device::port_03c0_r)), write8sm_delegate(*m_vga, FUNC(cirrus_gd5428_device::port_03c0_w))); - m_isa->install_device(0x03d0, 0x03df, read8sm_delegate(*m_vga, FUNC(cirrus_gd5428_device::port_03d0_r)), write8sm_delegate(*m_vga, FUNC(cirrus_gd5428_device::port_03d0_w))); - m_isa->install_memory(0xa0000, 0xbffff, read8sm_delegate(*m_vga, FUNC(cirrus_gd5428_device::mem_r)), write8sm_delegate(*m_vga, FUNC(cirrus_gd5428_device::mem_w))); + m_isa->install_device(0x03b0, 0x03df, *this, &isa16_svga_cirrus_gd542x_device::io_isa_map); + } //------------------------------------------------- |