From 0cd0dde86adb40addfef8e3beaf6080210c86667 Mon Sep 17 00:00:00 2001 From: angelosa Date: Mon, 10 Jul 2023 02:30:32 +0200 Subject: video/pc_vga_paradise.cpp: bank bit 7 is actually used by Win 95 in 800x600 res --- src/devices/bus/isa/svga_paradise.cpp | 2 +- src/devices/video/pc_vga_paradise.cpp | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/devices/bus/isa/svga_paradise.cpp b/src/devices/bus/isa/svga_paradise.cpp index 05fce18481d..2c90d634bdd 100644 --- a/src/devices/bus/isa/svga_paradise.cpp +++ b/src/devices/bus/isa/svga_paradise.cpp @@ -294,7 +294,7 @@ void isa16_wd90c11_lr_device::device_add_mconfig(machine_config &config) WD90C11A(config, m_vga, 0); m_vga->set_screen("screen"); // 512KB (+ option for 1MB? Verify with interlace) - m_vga->set_vram_size(0x80000); + m_vga->set_vram_size(0x100000); } void isa16_wd90c11_lr_device::io_isa_map(address_map &map) diff --git a/src/devices/video/pc_vga_paradise.cpp b/src/devices/video/pc_vga_paradise.cpp index b3fc9f14bc1..dec074160b1 100644 --- a/src/devices/video/pc_vga_paradise.cpp +++ b/src/devices/video/pc_vga_paradise.cpp @@ -123,6 +123,7 @@ void pvga1a_vga_device::gc_map(address_map &map) * [0x09] PR0A Address Offset A * [0x0a] PR0B Address Offset B * + * x--- ---- according to docs, Win 95 uses this in 800x600 modes for systray * -xxx xxxx bank selects, in 4KB units */ u8 pvga1a_vga_device::address_offset_r(offs_t offset) @@ -130,7 +131,7 @@ u8 pvga1a_vga_device::address_offset_r(offs_t offset) if (!offset) { LOGBANK("PR0A read Address Offset A\n"); - return svga.bank_w & 0x7f; + return svga.bank_w & 0xff; } // Address Offset B, TBD LOGBANK("PR0A read Address Offset B\n"); @@ -142,7 +143,7 @@ void pvga1a_vga_device::address_offset_w(offs_t offset, u8 data) if (!offset) { LOG("PR0A write Address Offset A %02x\n", data); - svga.bank_w = data & 0x7f; + svga.bank_w = data & 0xff; } else { -- cgit v1.2.3