[Scummvm-git-logs] scummvm branch-2-7 -> 626594c36b47e446c0ab1bc18df9b7a81481446c

ccawley2011 noreply at scummvm.org
Tue Feb 28 22:47:42 UTC 2023


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
626594c36b RISCOS: Don't force the use of dynamic areas on RISC OS 5


Commit: 626594c36b47e446c0ab1bc18df9b7a81481446c
    https://github.com/scummvm/scummvm/commit/626594c36b47e446c0ab1bc18df9b7a81481446c
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2023-02-28T22:47:19Z

Commit Message:
RISCOS: Don't force the use of dynamic areas on RISC OS 5

Changed paths:
    NEWS.md
    backends/plugins/riscos/riscos-provider.cpp
    dists/riscos/!Run,feb


diff --git a/NEWS.md b/NEWS.md
index 71d73d3e725..cbc88b1da4d 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -9,6 +9,9 @@ For a more comprehensive changelog of the latest experimental code, see:
  HDB:
    - Fixed bug with inability to pick up red envelope with keyboard.
 
+ RISC OS port:
+   - Fixed crash on RISC OS 5 with games that require lots of RAM.
+
 
 #### 2.7.0 "The Real Slim Shader" (2023-02-26)
 
diff --git a/backends/plugins/riscos/riscos-provider.cpp b/backends/plugins/riscos/riscos-provider.cpp
index 42ecf1cbf2a..5789a40931d 100644
--- a/backends/plugins/riscos/riscos-provider.cpp
+++ b/backends/plugins/riscos/riscos-provider.cpp
@@ -32,10 +32,6 @@
 #include <kernel.h>
 #include <swis.h>
 
-// By declaring this variable we force libunixlib to always use dynamic areas for data allocations
-// This frees up space for plugins and allows to have plenty of space for data
-const char *const __dynamic_da_name = "ScummVM Heap";
-
 // HACK: These two function are part of private API in libunixlib
 // They let allocate and free data in the application space where the stack is placed below 64MB
 // When using malloc with big chunks we end up in memory mapped areas above 64MB
diff --git a/dists/riscos/!Run,feb b/dists/riscos/!Run,feb
index 7f467f217c9..325b34dbbc7 100644
--- a/dists/riscos/!Run,feb
+++ b/dists/riscos/!Run,feb
@@ -12,6 +12,17 @@ RMEnsure DigitalRenderer 0.55 Error ScummVM requires DigitalRenderer 0.55 or lat
 
 Unset Alias$RMLoadIfThere
 
+| By setting ScummVM$Heap we force libunixlib to always use dynamic areas for data allocations
+| This frees up space for plugins and allows to have plenty of space for data
+Set HasLargeWimpSlot no
+RMEnsure UtilityModule 6.00 Set HasLargeWimpSlot yes
+RMEnsure UtilityModule 5.00 Set HasLargeWimpSlot no
+
+If "<HasLargeWimpSlot>" = "no" Then Set ScummVM$Heap ""
+If "<HasLargeWimpSlot>" = "no" Then SetEval ScummVM$HeapMax 128
+
+Unset HasLargeWimpSlot
+
 | If running from the desktop, redirect stdout and stderr to a file.
 | This shouldn't happen when running from the command line, so that commands like "<ScummVM$Dir> --help" still work as expected.
 Set Alias$Run_ScummVM Run <Obey$Dir>.scummvm %%*0 ><Choices$Write>.ScummVM.stdout 2><Choices$Write>.ScummVM.stderr




More information about the Scummvm-git-logs mailing list