diff --git a/src/dosbox.cpp b/src/dosbox.cpp index 348254a66..75933692d 100644 --- a/src/dosbox.cpp +++ b/src/dosbox.cpp @@ -1148,7 +1148,7 @@ void DOSBOX_SetupConfigSections(void) { "what you want. Recommended values -1, 0 to 2000."); Pint = secprop->Add_int("vmemsize", Property::Changeable::WhenIdle,-1); - Pint->SetMinMax(-1,8); + Pint->SetMinMax(-1,16); Pint->Set_help( "Amount of video memory in megabytes.\n" " The maximum resolution and color depth the svga_s3 will be able to display\n" diff --git a/src/hardware/vga_s3.cpp b/src/hardware/vga_s3.cpp index fe007fc34..843b34290 100644 --- a/src/hardware/vga_s3.cpp +++ b/src/hardware/vga_s3.cpp @@ -578,9 +578,12 @@ void SVGA_Setup_S3Trio(void) { } else if (vga.mem.memsize < 8192*1024) { // Trio64 supported only up to 4M vga.mem.memsize = 4096*1024; vga.s3.reg_36 = 0x1a; // 4mb fast page mode - } else { // 8M + } else if (vga.mem.memsize < 16384*1024) { // 8M vga.mem.memsize = 8192*1024; vga.s3.reg_36 = 0x7a; // 8mb fast page mode + } else { // HACK: 16MB mode, with value not supported by actual hardware + vga.mem.memsize = 16384*1024; // FIXME: This breaks the cursor in Windows 3.1, though Windows 95 has no problem with it + vga.s3.reg_36 = 0x7a; // 8mb fast page mode } // S3 ROM signature