diff options
Diffstat (limited to 'src/devices/bus/isa/vga.cpp')
-rw-r--r-- | src/devices/bus/isa/vga.cpp | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/src/devices/bus/isa/vga.cpp b/src/devices/bus/isa/vga.cpp index 121f689d711..3fa8752ae91 100644 --- a/src/devices/bus/isa/vga.cpp +++ b/src/devices/bus/isa/vga.cpp @@ -31,9 +31,11 @@ void isa8_vga_device::device_add_mconfig(machine_config &config) { screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_raw(25.175_MHz_XTAL, 800, 0, 640, 524, 0, 480); - screen.set_screen_update("vga", FUNC(vga_device::screen_update)); + screen.set_screen_update(m_vga, FUNC(vga_device::screen_update)); - VGA(config, "vga", 0).set_screen("screen"); + VGA(config, m_vga, 0); + m_vga->set_screen("screen"); + m_vga->set_vram_size(0x100000); } //------------------------------------------------- @@ -55,28 +57,30 @@ const tiny_rom_entry *isa8_vga_device::device_rom_region() const isa8_vga_device::isa8_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, ISA8_VGA, tag, owner, clock), - device_isa8_card_interface(mconfig, *this), m_vga(nullptr) + device_isa8_card_interface(mconfig, *this), + m_vga(*this, "vga") { } +void isa8_vga_device::io_isa_map(address_map &map) +{ + map(0x00, 0x2f).m(m_vga, FUNC(vga_device::io_map)); +} + //------------------------------------------------- // device_start - device-specific startup //------------------------------------------------- -READ8_MEMBER( isa8_vga_device::input_port_0_r ) { return 0xff; } //return machine().root_device().ioport("IN0")->read(); } +uint8_t isa8_vga_device::input_port_0_r() { return 0xff; } //return machine().root_device().ioport("IN0")->read(); } void isa8_vga_device::device_start() { set_isa_device(); - m_vga = subdevice<vga_device>("vga"); - - m_isa->install_rom(this, 0xc0000, 0xc7fff, "ibm_vga", "ibm_vga"); + m_isa->install_rom(this, 0xc0000, 0xc7fff, "ibm_vga"); - m_isa->install_device(0x3b0, 0x3bf, read8_delegate(FUNC(vga_device::port_03b0_r),m_vga), write8_delegate(FUNC(vga_device::port_03b0_w),m_vga)); - m_isa->install_device(0x3c0, 0x3cf, read8_delegate(FUNC(vga_device::port_03c0_r),m_vga), write8_delegate(FUNC(vga_device::port_03c0_w),m_vga)); - m_isa->install_device(0x3d0, 0x3df, read8_delegate(FUNC(vga_device::port_03d0_r),m_vga), write8_delegate(FUNC(vga_device::port_03d0_w),m_vga)); + m_isa->install_device(0x03b0, 0x03df, *this, &isa8_vga_device::io_isa_map); - m_isa->install_memory(0xa0000, 0xbffff, read8_delegate(FUNC(vga_device::mem_r),m_vga), write8_delegate(FUNC(vga_device::mem_w),m_vga)); + m_isa->install_memory(0xa0000, 0xbffff, read8sm_delegate(*m_vga, FUNC(vga_device::mem_r)), write8sm_delegate(*m_vga, FUNC(vga_device::mem_w))); } //------------------------------------------------- |