summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2022-02-10 04:03:14 +0100
committer GitHub <noreply@github.com>2022-02-09 22:03:14 -0500
commit553c2561089b59f2cb3918be337774e9392459e8 (patch)
treefccf7e77bab1d2fe3f01d709deaa8cb1f46858d7
parentc49b3026a12a5e7b635c10413fbde183449e53e0 (diff)
vga: made video RAM size configurable at machine configuration (#9289)
-rw-r--r--src/devices/bus/isa/mach32.cpp3
-rw-r--r--src/devices/bus/isa/s3virge.cpp6
-rw-r--r--src/devices/bus/isa/svga_cirrus.cpp8
-rw-r--r--src/devices/bus/isa/svga_s3.cpp16
-rw-r--r--src/devices/bus/isa/svga_trident.cpp4
-rw-r--r--src/devices/bus/isa/svga_tseng.cpp4
-rw-r--r--src/devices/bus/isa/trident.cpp10
-rw-r--r--src/devices/bus/isa/vga.cpp4
-rw-r--r--src/devices/bus/isa/vga_ati.cpp12
-rw-r--r--src/devices/video/clgd542x.cpp10
-rw-r--r--src/devices/video/pc_vga.cpp13
-rw-r--r--src/devices/video/pc_vga.h3
-rw-r--r--src/devices/video/virge_pci.cpp8
-rw-r--r--src/mame/drivers/bebox.cpp5
-rw-r--r--src/mame/drivers/gambl186.cpp4
-rw-r--r--src/mame/drivers/gamtor.cpp4
-rw-r--r--src/mame/drivers/konmedal020.cpp4
-rw-r--r--src/mame/drivers/magtouch.cpp4
-rw-r--r--src/mame/drivers/pcat_dyn.cpp4
-rw-r--r--src/mame/drivers/photoply.cpp5
-rw-r--r--src/mame/drivers/vis.cpp1
-rw-r--r--src/mame/machine/pcshare.cpp22
22 files changed, 100 insertions, 54 deletions
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<uint8_t []>(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<uint8_t []>(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<uint8_t []>(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<uint8_t []>(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<uint8_t> memory;
+ std::unique_ptr<uint8_t []> 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_device>("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)