diff --git a/src/devices/bus/isa/mach32.cpp b/src/devices/bus/isa/mach32.cpp index 178556918a8..064947d5c7c 100644 --- a/src/devices/bus/isa/mach32.cpp +++ b/src/devices/bus/isa/mach32.cpp @@ -115,9 +115,6 @@ void mach32_device::device_start() { ati_vga_device::device_start(); ati.vga_chip_id = 0x00; // correct? - vga.svga_intf.vram_size = 0x400000; - vga.memory.resize(vga.svga_intf.vram_size); - memset(&vga.memory[0], 0, vga.svga_intf.vram_size); } void mach32_device::device_reset() diff --git a/src/devices/bus/isa/s3virge.cpp b/src/devices/bus/isa/s3virge.cpp index 070bf320a42..0f6edd65976 100644 --- a/src/devices/bus/isa/s3virge.cpp +++ b/src/devices/bus/isa/s3virge.cpp @@ -75,10 +75,10 @@ void s3virge_vga_device::device_start() vga.read_dipswitch.set(nullptr); //read_dipswitch; vga.svga_intf.seq_regcount = 0x1c; vga.svga_intf.crtc_regcount = 0x19; - vga.svga_intf.vram_size = 0x400000; - vga.memory.resize(vga.svga_intf.vram_size); + vga.memory = std::make_unique(vga.svga_intf.vram_size); memset(&vga.memory[0], 0, vga.svga_intf.vram_size); - save_item(vga.memory,"Video RAM"); + + save_pointer(vga.memory, "Video RAM", vga.svga_intf.vram_size); save_item(vga.crtc.data,"CRTC Registers"); save_item(vga.sequencer.data,"Sequencer Registers"); save_item(vga.attribute.data,"Attribute Registers"); diff --git a/src/devices/bus/isa/svga_cirrus.cpp b/src/devices/bus/isa/svga_cirrus.cpp index 943606e9be4..750d0f41142 100644 --- a/src/devices/bus/isa/svga_cirrus.cpp +++ b/src/devices/bus/isa/svga_cirrus.cpp @@ -36,7 +36,9 @@ void isa16_svga_cirrus_device::device_add_mconfig(machine_config &config) screen.set_raw(25.175_MHz_XTAL, 800, 0, 640, 524, 0, 480); screen.set_screen_update("vga", FUNC(cirrus_gd5430_device::screen_update)); - CIRRUS_GD5430(config, m_vga, 0).set_screen("screen"); + CIRRUS_GD5430(config, m_vga, 0); + m_vga->set_screen("screen"); + m_vga->set_vram_size(0x200000); } //------------------------------------------------- @@ -114,7 +116,9 @@ void isa16_svga_cirrus_gd542x_device::device_add_mconfig(machine_config &config) screen.set_raw(25.175_MHz_XTAL, 800, 0, 640, 524, 0, 480); screen.set_screen_update("vga", FUNC(cirrus_gd5428_device::screen_update)); - CIRRUS_GD5428(config, m_vga, 0).set_screen("screen"); + CIRRUS_GD5428(config, m_vga, 0); + m_vga->set_screen("screen"); + m_vga->set_vram_size(0x200000); } //------------------------------------------------- diff --git a/src/devices/bus/isa/svga_s3.cpp b/src/devices/bus/isa/svga_s3.cpp index 9cbc72b078f..58984396d86 100644 --- a/src/devices/bus/isa/svga_s3.cpp +++ b/src/devices/bus/isa/svga_s3.cpp @@ -57,7 +57,9 @@ void isa16_svga_s3_device::device_add_mconfig(machine_config &config) screen.set_raw(25.175_MHz_XTAL, 800, 0, 640, 524, 0, 480); screen.set_screen_update(m_vga, FUNC(s3_vga_device::screen_update)); - S3_VGA(config, m_vga, 0).set_screen("screen"); + S3_VGA(config, m_vga, 0); + m_vga->set_screen("screen"); + m_vga->set_vram_size(0x100000); } //------------------------------------------------- @@ -160,7 +162,9 @@ void isa16_s3virge_device::device_add_mconfig(machine_config &config) screen.set_raw(25.175_MHz_XTAL, 800, 0, 640, 524, 0, 480); screen.set_screen_update(m_vga, FUNC(s3virge_vga_device::screen_update)); - S3VIRGE(config, m_vga, 0).set_screen("screen"); + S3VIRGE(config, m_vga, 0); + m_vga->set_screen("screen"); + m_vga->set_vram_size(0x400000); m_vga->linear_config_changed().set(FUNC(isa16_s3virge_device::linear_config_changed_w)); } @@ -250,7 +254,9 @@ void isa16_s3virgedx_device::device_add_mconfig(machine_config &config) screen.set_raw(25.175_MHz_XTAL, 800, 0, 640, 524, 0, 480); screen.set_screen_update(m_vga, FUNC(s3virgedx_vga_device::screen_update)); - S3VIRGEDX(config, m_vga, 0).set_screen("screen"); + S3VIRGEDX(config, m_vga, 0); + m_vga->set_screen("screen"); + m_vga->set_vram_size(0x400000); m_vga->linear_config_changed().set(FUNC(isa16_s3virgedx_device::linear_config_changed_w)); } @@ -364,7 +370,9 @@ void isa16_stealth3d2kpro_device::device_add_mconfig(machine_config &config) screen.set_raw(25.175_MHz_XTAL, 800, 0, 640, 524, 0, 480); screen.set_screen_update(m_vga, FUNC(s3virgedx_rev1_vga_device::screen_update)); - S3VIRGEDX1(config, m_vga, 0).set_screen("screen"); + S3VIRGEDX1(config, m_vga, 0); + m_vga->set_screen("screen"); + m_vga->set_vram_size(0x400000); m_vga->linear_config_changed().set(FUNC(isa16_stealth3d2kpro_device::linear_config_changed_w)); } diff --git a/src/devices/bus/isa/svga_trident.cpp b/src/devices/bus/isa/svga_trident.cpp index 7eda60d2446..f3b4e0f9a6f 100644 --- a/src/devices/bus/isa/svga_trident.cpp +++ b/src/devices/bus/isa/svga_trident.cpp @@ -36,7 +36,9 @@ void isa16_svga_tgui9680_device::device_add_mconfig(machine_config &config) screen.set_raw(25.175_MHz_XTAL, 800, 0, 640, 524, 0, 480); screen.set_screen_update(m_vga, FUNC(trident_vga_device::screen_update)); - TRIDENT_VGA(config, m_vga, 0).set_screen("screen"); + TRIDENT_VGA(config, m_vga, 0); + m_vga->set_screen("screen"); + m_vga->set_vram_size(0x200000); } //------------------------------------------------- diff --git a/src/devices/bus/isa/svga_tseng.cpp b/src/devices/bus/isa/svga_tseng.cpp index ab5bbb755f0..0d1485ad17d 100644 --- a/src/devices/bus/isa/svga_tseng.cpp +++ b/src/devices/bus/isa/svga_tseng.cpp @@ -35,7 +35,9 @@ void isa8_svga_et4k_device::device_add_mconfig(machine_config &config) screen.set_raw(25.175_MHz_XTAL, 800, 0, 640, 524, 0, 480); screen.set_screen_update(m_vga, FUNC(tseng_vga_device::screen_update)); - TSENG_VGA(config, m_vga, 0).set_screen("screen"); + TSENG_VGA(config, m_vga, 0); + m_vga->set_screen("screen"); + m_vga->set_vram_size(0x100000); } //------------------------------------------------- diff --git a/src/devices/bus/isa/trident.cpp b/src/devices/bus/isa/trident.cpp index 5fc2d2d6d19..693aaf5e991 100644 --- a/src/devices/bus/isa/trident.cpp +++ b/src/devices/bus/isa/trident.cpp @@ -160,8 +160,7 @@ void trident_vga_device::device_start() { zero(); - int i; - for (i = 0; i < 0x100; i++) + for (int i = 0; i < 0x100; i++) set_pen_color(i, 0, 0, 0); // Avoid an infinite loop when displaying. 0 is not possible anyway. @@ -170,11 +169,10 @@ void trident_vga_device::device_start() // copy over interfaces vga.read_dipswitch.set(nullptr); //read_dipswitch; - vga.svga_intf.vram_size = 0x200000; - - vga.memory.resize(vga.svga_intf.vram_size); + vga.memory = std::make_unique(vga.svga_intf.vram_size); memset(&vga.memory[0], 0, vga.svga_intf.vram_size); - save_item(NAME(vga.memory)); + + save_pointer(NAME(vga.memory), vga.svga_intf.vram_size); save_pointer(vga.crtc.data,"CRTC Registers",0x100); save_pointer(vga.sequencer.data,"Sequencer Registers",0x100); save_pointer(vga.attribute.data,"Attribute Registers", 0x15); diff --git a/src/devices/bus/isa/vga.cpp b/src/devices/bus/isa/vga.cpp index 11d94d7fbdd..b573f4c5701 100644 --- a/src/devices/bus/isa/vga.cpp +++ b/src/devices/bus/isa/vga.cpp @@ -33,7 +33,9 @@ void isa8_vga_device::device_add_mconfig(machine_config &config) screen.set_raw(25.175_MHz_XTAL, 800, 0, 640, 524, 0, 480); screen.set_screen_update(m_vga, FUNC(vga_device::screen_update)); - VGA(config, m_vga, 0).set_screen("screen"); + VGA(config, m_vga, 0); + m_vga->set_screen("screen"); + m_vga->set_vram_size(0x100000); } //------------------------------------------------- diff --git a/src/devices/bus/isa/vga_ati.cpp b/src/devices/bus/isa/vga_ati.cpp index d6ce586a9fd..aaebcf3969b 100644 --- a/src/devices/bus/isa/vga_ati.cpp +++ b/src/devices/bus/isa/vga_ati.cpp @@ -82,7 +82,9 @@ void isa16_vga_gfxultra_device::device_add_mconfig(machine_config &config) screen.set_raw(25.175_MHz_XTAL, 800, 0, 640, 524, 0, 480); screen.set_screen_update(m_vga, FUNC(ati_vga_device::screen_update)); - ATI_VGA(config, m_vga, 0).set_screen("screen"); + ATI_VGA(config, m_vga, 0); + m_vga->set_screen("screen"); + m_vga->set_vram_size(0x100000); } void isa16_vga_gfxultrapro_device::device_add_mconfig(machine_config &config) @@ -91,7 +93,9 @@ void isa16_vga_gfxultrapro_device::device_add_mconfig(machine_config &config) screen.set_raw(25.175_MHz_XTAL, 800, 0, 640, 524, 0, 480); screen.set_screen_update(m_vga, FUNC(mach32_device::screen_update)); - ATIMACH32(config, m_vga, 0).set_screen("screen"); + ATIMACH32(config, m_vga, 0); + m_vga->set_screen("screen"); + m_vga->set_vram_size(0x400000); } void isa16_vga_mach64_device::device_add_mconfig(machine_config &config) @@ -100,7 +104,9 @@ void isa16_vga_mach64_device::device_add_mconfig(machine_config &config) screen.set_raw(25.175_MHz_XTAL, 800, 0, 640, 524, 0, 480); screen.set_screen_update(m_vga, FUNC(mach64_device::screen_update)); - ATIMACH64(config, m_vga, 0).set_screen("screen"); + ATIMACH64(config, m_vga, 0); + m_vga->set_screen("screen"); + m_vga->set_vram_size(0x400000); } diff --git a/src/devices/video/clgd542x.cpp b/src/devices/video/clgd542x.cpp index eff9f5473c8..d7e20f1cd2d 100644 --- a/src/devices/video/clgd542x.cpp +++ b/src/devices/video/clgd542x.cpp @@ -70,8 +70,7 @@ void cirrus_gd5428_device::device_start() { zero(); - int i; - for (i = 0; i < 0x100; i++) + for (int i = 0; i < 0x100; i++) set_pen_color(i, 0, 0, 0); // Avoid an infinite loop when displaying. 0 is not possible anyway. @@ -81,11 +80,10 @@ void cirrus_gd5428_device::device_start() vga.read_dipswitch.set(nullptr); //read_dipswitch; vga.svga_intf.seq_regcount = 0x1f; vga.svga_intf.crtc_regcount = 0x2d; - vga.svga_intf.vram_size = 0x200000; - - vga.memory.resize(vga.svga_intf.vram_size); + vga.memory = std::make_unique(vga.svga_intf.vram_size); memset(&vga.memory[0], 0, vga.svga_intf.vram_size); - save_item(NAME(vga.memory)); + + save_pointer(NAME(vga.memory), vga.svga_intf.vram_size); save_pointer(vga.crtc.data,"CRTC Registers",0x100); save_pointer(vga.sequencer.data,"Sequencer Registers",0x100); save_pointer(vga.attribute.data,"Attribute Registers", 0x15); diff --git a/src/devices/video/pc_vga.cpp b/src/devices/video/pc_vga.cpp index 67746edd407..d1d20c70c14 100644 --- a/src/devices/video/pc_vga.cpp +++ b/src/devices/video/pc_vga.cpp @@ -204,8 +204,8 @@ mach8_device::mach8_device(const machine_config &mconfig, const char *tag, devic // zero everything, keep vtbls void vga_device::zero() { - memset(&vga.svga_intf, 0, sizeof(vga.svga_intf)); - vga.memory.resize(0); + vga.svga_intf.seq_regcount = 0; + vga.svga_intf.crtc_regcount = 0; memset(vga.pens, 0, sizeof(vga.pens)); vga.miscellaneous_output = 0; vga.feature_control = 0; @@ -246,8 +246,7 @@ void vga_device::device_start() { zero(); - int i; - for (i = 0; i < 0x100; i++) + for (int i = 0; i < 0x100; i++) set_pen_color(i, 0, 0, 0); // Avoid an infinite loop when displaying. 0 is not possible anyway. @@ -258,11 +257,10 @@ void vga_device::device_start() vga.read_dipswitch.set(nullptr); //read_dipswitch; vga.svga_intf.seq_regcount = 0x05; vga.svga_intf.crtc_regcount = 0x19; - vga.svga_intf.vram_size = 0x100000; - vga.memory.resize(vga.svga_intf.vram_size); + vga.memory = std::make_unique(vga.svga_intf.vram_size); memset(&vga.memory[0], 0, vga.svga_intf.vram_size); - save_item(NAME(vga.memory)); + save_pointer(NAME(vga.memory), vga.svga_intf.vram_size); save_item(NAME(vga.pens)); save_item(NAME(vga.miscellaneous_output)); @@ -6621,7 +6619,6 @@ void oak_oti111_vga_device::xga_write(offs_t offset, u8 data) void oak_oti111_vga_device::device_start() { svga_device::device_start(); - vga.svga_intf.vram_size = 0x100000; std::fill(std::begin(m_oak_regs), std::end(m_oak_regs), 0); } diff --git a/src/devices/video/pc_vga.h b/src/devices/video/pc_vga.h index 4a31ed76224..717d965330f 100644 --- a/src/devices/video/pc_vga.h +++ b/src/devices/video/pc_vga.h @@ -39,6 +39,7 @@ public: virtual TIMER_CALLBACK_MEMBER(vblank_timer_cb); void set_offset(uint16_t val) { vga.crtc.offset = val; } + void set_vram_size(size_t vram_size) { vga.svga_intf.vram_size = vram_size; } protected: enum @@ -122,7 +123,7 @@ protected: int crtc_regcount; } svga_intf; - std::vector memory; + std::unique_ptr memory; uint32_t pens[16]; /* the current 16 pens */ uint8_t miscellaneous_output; diff --git a/src/devices/video/virge_pci.cpp b/src/devices/video/virge_pci.cpp index e5371dd786b..a76fc33966b 100644 --- a/src/devices/video/virge_pci.cpp +++ b/src/devices/video/virge_pci.cpp @@ -272,7 +272,9 @@ void virge_pci_device::device_add_mconfig(machine_config &config) screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480); screen.set_screen_update("vga", FUNC(s3virge_vga_device::screen_update)); - S3VIRGE(config, m_vga, 0).set_screen("screen"); + S3VIRGE(config, m_vga, 0); + m_vga->set_screen("screen"); + m_vga->set_vram_size(0x400000); } void virgedx_pci_device::device_add_mconfig(machine_config &config) @@ -281,7 +283,9 @@ void virgedx_pci_device::device_add_mconfig(machine_config &config) screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480); screen.set_screen_update("vga", FUNC(s3virge_vga_device::screen_update)); - S3VIRGEDX(config, m_vga, 0).set_screen("screen"); + S3VIRGEDX(config, m_vga, 0); + m_vga->set_screen("screen"); + m_vga->set_vram_size(0x400000); } diff --git a/src/mame/drivers/bebox.cpp b/src/mame/drivers/bebox.cpp index b618a4b1b38..8f3a53d2ae3 100644 --- a/src/mame/drivers/bebox.cpp +++ b/src/mame/drivers/bebox.cpp @@ -190,8 +190,9 @@ void bebox_state::bebox_peripherals(machine_config &config) screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480); screen.set_screen_update(m_vga, FUNC(cirrus_gd5428_device::screen_update)); - cirrus_gd5428_device &vga(CIRRUS_GD5428(config, m_vga, 0)); - vga.set_screen("screen"); + CIRRUS_GD5428(config, m_vga, 0); + m_vga->set_screen("screen"); + m_vga->set_vram_size(0x200000); speaker_device &speaker(SPEAKER(config, "mono")); speaker.front_center(); diff --git a/src/mame/drivers/gambl186.cpp b/src/mame/drivers/gambl186.cpp index a829e067946..e8817604696 100644 --- a/src/mame/drivers/gambl186.cpp +++ b/src/mame/drivers/gambl186.cpp @@ -513,7 +513,9 @@ void gambl186_state::gambl186(machine_config &config) screen.set_raw(XTAL(25'174'800),900,0,640,526,0,480); screen.set_screen_update("vga", FUNC(cirrus_gd5428_device::screen_update)); - CIRRUS_GD5428(config, "vga", 0).set_screen("screen"); + cirrus_gd5428_device &vga(CIRRUS_GD5428(config, "vga", 0)); + vga.set_screen("screen"); + vga.set_vram_size(0x200000); // sound hardware SPEAKER(config, "mono").front_center(); diff --git a/src/mame/drivers/gamtor.cpp b/src/mame/drivers/gamtor.cpp index 8f3373301e4..4f8dd926606 100644 --- a/src/mame/drivers/gamtor.cpp +++ b/src/mame/drivers/gamtor.cpp @@ -96,7 +96,9 @@ void gaminator_state::gaminator(machine_config &config) screen.set_raw(XTAL(25'174'800),900,0,640,526,0,480); screen.set_screen_update("vga", FUNC(gamtor_vga_device::screen_update)); - GAMTOR_VGA(config, "vga", 0).set_screen("screen"); + gamtor_vga_device &vga(GAMTOR_VGA(config, "vga", 0)); + vga.set_screen("screen"); + vga.set_vram_size(0x100000); SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); diff --git a/src/mame/drivers/konmedal020.cpp b/src/mame/drivers/konmedal020.cpp index a7188fe2d2d..578eee996f9 100644 --- a/src/mame/drivers/konmedal020.cpp +++ b/src/mame/drivers/konmedal020.cpp @@ -103,7 +103,9 @@ void konmedal020_state::gs471(machine_config &config) screen.set_screen_update(m_vga, FUNC(vga_device::screen_update)); screen.screen_vblank().set_inputline(m_maincpu, M68K_IRQ_3); - OTI111(config, m_vga, 0).set_screen("screen"); + OTI111(config, m_vga, 0); + m_vga->set_screen("screen"); + m_vga->set_vram_size(0x100000); /* sound hardware */ SPEAKER(config, "lspeaker").front_left(); diff --git a/src/mame/drivers/magtouch.cpp b/src/mame/drivers/magtouch.cpp index 513a29fb1a9..fa84a43752e 100644 --- a/src/mame/drivers/magtouch.cpp +++ b/src/mame/drivers/magtouch.cpp @@ -211,7 +211,9 @@ void magtouch_state::magtouch(machine_config &config) /* video hardware */ pcvideo_trident_vga(config); - TVGA9000_VGA(config.replace(), "vga", 0); + tvga9000_device &vga(TVGA9000_VGA(config.replace(), "vga", 0)); + vga.set_screen("screen"); + vga.set_vram_size(0x200000); pcat_common(config); diff --git a/src/mame/drivers/pcat_dyn.cpp b/src/mame/drivers/pcat_dyn.cpp index 222f9a77e71..7ad95522319 100644 --- a/src/mame/drivers/pcat_dyn.cpp +++ b/src/mame/drivers/pcat_dyn.cpp @@ -173,7 +173,9 @@ void pcat_dyn_state::pcat_dyn(machine_config &config) /* video hardware */ pcvideo_trident_vga(config); subdevice("screen")->set_refresh_hz(60); - TVGA9000_VGA(config.replace(), "vga", 0); + tvga9000_device &vga(TVGA9000_VGA(config.replace(), "vga", 0)); + vga.set_screen("screen"); + vga.set_vram_size(0x200000); pcat_common(config); diff --git a/src/mame/drivers/photoply.cpp b/src/mame/drivers/photoply.cpp index 635e02f51da..a3be62e9958 100644 --- a/src/mame/drivers/photoply.cpp +++ b/src/mame/drivers/photoply.cpp @@ -280,7 +280,10 @@ void photoply_state::photoply(machine_config &config) screen.set_raw(XTAL(25'174'800),900,0,640,526,0,480); screen.set_screen_update("vga", FUNC(cirrus_gd5446_device::screen_update)); - CIRRUS_GD5446(config, "vga", 0).set_screen("screen"); + cirrus_gd5446_device &vga(CIRRUS_GD5446(config, "vga", 0)); + vga.set_screen("screen"); + vga.set_vram_size(0x200000); + EEPROM_93C46_16BIT(config, "eeprom") .write_time(attotime::from_usec(1)) diff --git a/src/mame/drivers/vis.cpp b/src/mame/drivers/vis.cpp index a87c984c563..d28f31bf162 100644 --- a/src/mame/drivers/vis.cpp +++ b/src/mame/drivers/vis.cpp @@ -264,6 +264,7 @@ vis_vga_device::vis_vga_device(const machine_config &mconfig, const char *tag, d device_isa16_card_interface(mconfig, *this) { set_screen(*this, "screen"); + set_vram_size(0x100000); } void vis_vga_device::device_add_mconfig(machine_config &config) diff --git a/src/mame/machine/pcshare.cpp b/src/mame/machine/pcshare.cpp index 899db29ee52..281c1ead46c 100644 --- a/src/mame/machine/pcshare.cpp +++ b/src/mame/machine/pcshare.cpp @@ -147,7 +147,9 @@ void pcat_base_state::pcvideo_vga(machine_config &config) screen.set_raw(25.1748_MHz_XTAL, 900, 0, 640, 526, 0, 480); screen.set_screen_update("vga", FUNC(vga_device::screen_update)); - VGA(config, "vga", 0).set_screen("screen"); + vga_device &vga(VGA(config, "vga", 0)); + vga.set_screen("screen"); + vga.set_vram_size(0x100000); } void pcat_base_state::pcvideo_trident_vga(machine_config &config) @@ -156,7 +158,9 @@ void pcat_base_state::pcvideo_trident_vga(machine_config &config) screen.set_raw(25.1748_MHz_XTAL, 900, 0, 640, 526, 0, 480); screen.set_screen_update("vga", FUNC(trident_vga_device::screen_update)); - TRIDENT_VGA(config, "vga", 0).set_screen("screen"); + trident_vga_device &vga(TRIDENT_VGA(config, "vga", 0)); + vga.set_screen("screen"); + vga.set_vram_size(0x200000); } void pcat_base_state::pcvideo_s3_vga(machine_config &config) @@ -165,7 +169,9 @@ void pcat_base_state::pcvideo_s3_vga(machine_config &config) screen.set_raw(25.1748_MHz_XTAL, 900, 0, 640, 526, 0, 480); screen.set_screen_update("vga", FUNC(s3_vga_device::screen_update)); - S3_VGA(config, "vga", 0).set_screen("screen"); + s3_vga_device &vga(S3_VGA(config, "vga", 0)); + vga.set_screen("screen"); + vga.set_vram_size(0x100000); } @@ -175,7 +181,10 @@ void pcat_base_state::pcvideo_cirrus_gd5428(machine_config &config) screen.set_raw(25.1748_MHz_XTAL, 900, 0, 640, 526, 0, 480); screen.set_screen_update("vga", FUNC(cirrus_gd5428_device::screen_update)); - CIRRUS_GD5428(config, "vga", 0).set_screen("screen"); + cirrus_gd5428_device &vga(CIRRUS_GD5428(config, "vga", 0)); + vga.set_screen("screen"); + vga.set_vram_size(0x200000); + } void pcat_base_state::pcvideo_cirrus_gd5430(machine_config &config) @@ -184,7 +193,10 @@ void pcat_base_state::pcvideo_cirrus_gd5430(machine_config &config) screen.set_raw(25.1748_MHz_XTAL, 900, 0, 640, 526, 0, 480); screen.set_screen_update("vga", FUNC(cirrus_gd5430_device::screen_update)); - CIRRUS_GD5430(config, "vga", 0).set_screen("screen"); + cirrus_gd5430_device &vga(CIRRUS_GD5430(config, "vga", 0)); + vga.set_screen("screen"); + vga.set_vram_size(0x200000); + } void pcat_base_state::pcat_common(machine_config &config)