Merge pull request #381 from fewtarius/dev

Fix dosbox-pure so it no longer segfaults.
This commit is contained in:
fewtarius 2022-08-25 08:20:56 -04:00 committed by GitHub
commit a1ffa08276
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 63 additions and 2 deletions

View file

@ -2,4 +2,3 @@ np2kai # Last major commit before hiatus is broken
vicesa # Doesn't support updating with the script.
hatari # Broken include - need to fix
duckstationsa # Latest commits break device patching. Need to research.
dosbox-pure # Latest segfaults, need to investigate.

View file

@ -19,7 +19,7 @@
################################################################################
PKG_NAME="dosbox-pure"
PKG_VERSION="cab2031ed21dbbc1cc04dcd1243fb1b978c79914"
PKG_VERSION="6f2ded6"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"

View file

@ -0,0 +1,62 @@
diff --git a/core_options.h b/core_options.h
index a00b36a..7e6b4db 100644
--- a/core_options.h
+++ b/core_options.h
@@ -409,21 +409,6 @@ static retro_core_option_v2_definition option_defs[] =
},
"svga_s3"
},
- {
- "dosbox_pure_svgamem",
- "SVGA Memory (restart required)", NULL,
- "The amount of memory available to the emulated SVGA card.", NULL,
- "Video",
- {
- { "0", "512KB" },
- { "1", "1MB" },
- { "2", "2MB (default)" },
- { "3", "3MB" },
- { "4", "4MB" },
- { "8", "8MB (not always recognized)" },
- },
- "2"
- },
{
"dosbox_pure_voodoo",
"3dfx Voodoo Emulation", NULL,
diff --git a/dosbox_pure_libretro.cpp b/dosbox_pure_libretro.cpp
index c51753a..9c4f405 100644
--- a/dosbox_pure_libretro.cpp
+++ b/dosbox_pure_libretro.cpp
@@ -3556,7 +3556,6 @@ static bool check_variables(bool is_startup = false)
case 'p': dbmachine = "pcjr"; break;
}
Variables::DosBoxSet("dosbox", "machine", dbmachine, false, true);
- Variables::DosBoxSet("dosbox", "vmemsize", retro_get_variable("dosbox_pure_svgamem", "2"), false, true);
if (dbp_reboot_machine)
control->GetSection("dosbox")->GetProp("machine")->OnChangedByConfigProgram(), dbp_reboot_machine = 0;
@@ -3640,7 +3639,6 @@ static bool check_variables(bool is_startup = false)
}
Variables::RetroVisibility("dosbox_pure_svga", machine_is_svga);
- Variables::RetroVisibility("dosbox_pure_svgamem", machine_is_svga);
Variables::RetroVisibility("dosbox_pure_voodoo", machine_is_svga);
Variables::RetroVisibility("dosbox_pure_voodoo_perf", machine_is_svga);
if (machine_is_svga)
diff --git a/src/hardware/vga_s3.cpp b/src/hardware/vga_s3.cpp
index 06eafe7..ac82258 100644
--- a/src/hardware/vga_s3.cpp
+++ b/src/hardware/vga_s3.cpp
@@ -546,11 +546,6 @@ void SVGA_Setup_S3Trio(void) {
} else if (vga.vmemsize < 4096*1024) {
vga.vmemsize = 3072*1024;
vga.s3.reg_36 = 0x5a; // 3mb fast page mode
-#ifdef C_DBP_LIBRETRO
- } else if (vga.vmemsize == 8192*1024) { // hack more mem than supported by real Trio64 card
- vga.vmemsize = 8192*1024;
- vga.s3.reg_36 = 0x7a; // 8mb fast page mode
-#endif
} else { // Trio64 supported only up to 4M
vga.vmemsize = 4096*1024;
vga.s3.reg_36 = 0x1a; // 4mb fast page mode