summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/isa/vga.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/isa/vga.cpp')
-rw-r--r--src/devices/bus/isa/vga.cpp26
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)));
}
//-------------------------------------------------