Eero Tamminen wrote: ↑Mon Jan 23, 2023 5:59 pm
If dMagnetic loads all gfx into RAM at the same time, do any of the Magnetic Scrolls games fit into 3.5 MB?
To be honest, I have never bothered checking how much memory I REALLY need, since my goal was to run it on modern computers...
Thus far, the biggest collection of graphics I encountered where from WONDERLAND, and that one had ~2.5MB... Add ~200kByte for the game code and the text, and this is less than 3MByte.
However, I need a little bit for stack and the frontend.
Speaking of frontend...
cb wrote: ↑Mon Jan 23, 2023 4:32 pm
Also, talking about frontends, did you consider adding glklib support as an option?
Yes, in fact, I did. However, I found the interface to be rather restrictive; i felt like it has been designed with ZORK in mind, rather than FISH, since it was not able to handle pictures properly. (Which are a HUGE PART of the Magnetic Scrolls Legacy...)
However, a large portion of my effort between 0.34 and 0.35 went into cleaning up the interface between frontend and engine though.
With any luck, there will be a release this week! (Great, now I am spamming...)
My goal for 0.36 is to create at least a GTK-Frontend, and use that as a vehicle to document the API for developers... It will be somebody else's problem by that point.
EDIT: If you do not wish to load ALL games from ALL different formats, it is possible to fit them into 3.5 Mbytes.
The .mag/.gfx files from the Magnetic Scrolls Memorial are smaller than that:
Code: Select all
% ls -l *.mag *.gfx
-rwxr-xr-x 1 dettus dettus 199160 Jul 1 2022 fish.gfx
-rwxr-xr-x 1 dettus dettus 162858 Jul 1 2022 fish.mag
-rwxr-xr-x 1 dettus dettus 212224 Jul 1 2022 guild.gfx
-rwxr-xr-x 1 dettus dettus 130858 Jul 1 2022 guild.mag
-rwxr-xr-x 1 dettus dettus 271104 Jul 1 2022 jinxter.gfx
-rwxr-xr-x 1 dettus dettus 156458 Jul 1 2022 jinxter.mag
-rwxr-xr-x 1 dettus dettus 32540 Jul 1 2022 myth.gfx
-rwxr-xr-x 1 dettus dettus 99370 Jul 1 2022 myth.mag
-rwxr-xr-x 1 dettus dettus 276612 Jul 1 2022 pawn.gfx
-rwxr-xr-x 1 dettus dettus 103466 Jul 1 2022 pawn.mag
-rwxr-xr-x 1 dettus dettus 200297 Jul 1 2022 corrupt.gfx
-rwxr-xr-x 1 dettus dettus 167466 Jul 1 2022 corrupt.mag
-rwxr-xr-x 1 dettus dettus 951497 Jul 1 2022 ccorrupt.gfx
-rwxr-xr-x 1 dettus dettus 177185 Jul 1 2022 ccorrupt.mag
-rwxr-xr-x 1 dettus dettus 669633 Jul 1 2022 cguild2.gfx
-rwxr-xr-x 1 dettus dettus 141766 Jul 1 2022 cguild2.mag
-rwxr-xr-x 1 dettus dettus 2534113 Jul 1 2022 wonder.gfx
-rwxr-xr-x 1 dettus dettus 183916 Jul 1 2022 wonder.mag
If you wish to run the releases from other platforms (such as the C64, Atari XL, for example) I recommend converting them on a PC first, using the -dumpmag and -dumpgfx commandline arguments:
Code: Select all
% ./dMagnetic -d64 guild1.d64,guild2.d64 -dumpmag guildc64.mag -dumpgfx guildc64.gfx
% ls -l guild*
-rwxr-xr-x 1 dettus dettus 174848 Jan 23 22:27 guild1.d64
-rwxr-xr-x 1 dettus dettus 174848 Jan 23 22:27 guild2.d64
-rw-r--r-- 1 dettus dettus 141701 Jan 23 22:27 guildc64.gfx
-rw-r--r-- 1 dettus dettus 130858 Jan 23 22:27 guildc64.mag