How to register "The Magnetic Scrolls Collection" games?

Ask for help with ScummVM problems

Moderator: ScummVM Team

dettus
Posts: 6
Joined: Sat Apr 27, 2019 9:30 am

Re: How to register "The Magnetic Scrolls Collection" games?

Post by dettus »

Image

]Hey guys. I just found your thread. (Vanity & google... you know... :mrgreen: )


So, being a big fan of Magnetic Scrolls Games, i can tell you this much: Their releases shared more or less the same story files. That is what you can find in the .mag files.

Inside is the game code for a virtual machine, that was based on the 68000 processor. Knowing where to find the machine code within a port allows the interpreter to run the game.
So for dMagnetic i created a loader module, which extracts said game code and creates a .mag file internally.
In my next release i will add a command line argument with which you can dump this .mag into an actual file (and also load it with ScummVM, as long as you update the MD5 sum of course.)

The GRAPHICS are in there as well and can be dumped as a .gfx file. But this format differs CONSIDERABLY between different platforms. (Just have a look at the picture up there. ) Imagine it as the C64 releases using .png, the Amiga .jpg, the PC .bmp and some of them .gif. And .gfx is just a container, like a .zip file.

The Magnetic 2.3 only supports .gfx files with pictures in two releases: the one from the Amiga and the one from the magnetic scrolls collection. But since it is possible to run a game with the .mag from the C64 and the graphics from the Amiga, this is not really a problem. Just an aesthetic mismatch.
My Interpreter can handle more. (C64, acron, archimedes etc... NOT the Amiga or the Spectrum QL, due to the fact that those machines had a physical 68000 CPU, and the game code ran natively on them; including some system calls to draw the graphics, for example. Those are hard for me to emulate.)

Anyways: i encapsulated the loader pretty good, so it might be possible to put it into ScummVM.


As for the GLK: I found this Interface way ro restrictive. I was not able to implement the graphics formats, for example. Which is why i stopped supporting it.
Last edited by dettus on Sun Jun 20, 2021 7:07 am, edited 6 times in total.
dettus
Posts: 6
Joined: Sat Apr 27, 2019 9:30 am

Re: How to register "The Magnetic Scrolls Collection" games?

Post by dettus »

eriktorbjorn wrote: Mon May 24, 2021 6:21 am
dreammaster wrote: Mon May 24, 2021 2:36 am If dMagnetic does turn out to have better coverage the current one, we could always look into replacing it in the future.
I think it's still in development.
Yes. However i mostly add new input formats nowadays. The core itself is pretty stable.
dettus
Posts: 6
Joined: Sat Apr 27, 2019 9:30 am

Re: How to register "The Magnetic Scrolls Collection" games?

Post by dettus »

If you are interested in the details about the .RSC files, i am always trying to document everything i find out in this document: https://dettus.net/dMagnetic/dMagnetic_ ... ctures.pdf
kremiso
Posts: 27
Joined: Tue Jul 28, 2020 4:19 pm

Re: How to register "The Magnetic Scrolls Collection" games?

Post by kremiso »

i'll revive this to ask something similar to the OP question
i'm trying to make Wonderland DOS to be detected from the engine (tested until ScummVM 2.5.1 win64)

reading the infos seems the only supported version atm, but using both the extracted floppy files or the dosbox working files set, i have had no luck

ie the datafiles page lacks of the info about the requested gamefiles details :
https://wiki.scummvm.org/index.php?title=Wonderland
User avatar
Praetorian
ScummVM Developer
Posts: 882
Joined: Tue May 08, 2007 8:54 am
Location: Greece
Contact:

Re: How to register "The Magnetic Scrolls Collection" games?

Post by Praetorian »

kremiso wrote: Tue Jun 21, 2022 7:49 am i'll revive this to ask something similar to the OP question
i'm trying to make Wonderland DOS to be detected from the engine (tested until ScummVM 2.5.1 win64)

reading the infos seems the only supported version atm, but using both the extracted floppy files or the dosbox working files set, i have had no luck

ie the datafiles page lacks of the info about the requested gamefiles details :
https://wiki.scummvm.org/index.php?title=Wonderland
The Magnetic Scrolls interpreter 2.3 that was used as a base for the ScummVM integration requires a MAG format for the story files of the game, and a GFX format for the graphics. The github page offers some instructions for this -- you will need some extra tools that come with the interpreter.
https://github.com/DavidKinder/Magnetic ... gnetic.txt

Ie.
For wonderland script you'll need to extract the MAG script using the all.rdf file as input to XtractMW.
For the graphics, the instructions say that you need the Amiga release, and then you run (for Wonderland) GfxLink2 on the user.rsc file to get the gfx file.

To get graphics in-game, as long as you have the gfx file in your game folder, you need to enable them by typing

Code: Select all

graphics
I think the engine also supports a hint file.
I am unsure about sound.
dettus
Posts: 6
Joined: Sat Apr 27, 2019 9:30 am

Re: How to register "The Magnetic Scrolls Collection" games?

Post by dettus »

Hello.

What I did with my interpreter, was to add a "loader" module. This one is now capable of reading A LOT data files from A LOT of different systems.
What it does internally is to convert them into the .mag and .gfx format.

You can also use my binary to create those files:

Code: Select all

dMagnetic -dumpmag mywonderland.mag -dumpgfx mywonderland.gfx -tworsc wonderland_dos/TWO.RSC
should do the trick.

It works for other formats as well: Not only MSDOS, but also C64, Apple II, Amstrad CPC, Spectrum, Acron Archimedes and Atari XL.

You guys should be able to extract the loader/converter module from my sourcecode, but you should also be aware of the differences in the data format for the graphics. Myabe contact me again if you REALLY plan on moving forward with this.

Thomas
User avatar
Praetorian
ScummVM Developer
Posts: 882
Joined: Tue May 08, 2007 8:54 am
Location: Greece
Contact:

Re: How to register "The Magnetic Scrolls Collection" games?

Post by Praetorian »

Very interesting! I'm re-reading your older post too, which I admit I only fast-read before and not being too familiar with the engine I didn't realize the significance at first.
kremiso
Posts: 27
Joined: Tue Jul 28, 2020 4:19 pm

Re: How to register "The Magnetic Scrolls Collection" games?

Post by kremiso »

Praetorian wrote: Tue Jun 21, 2022 6:44 pm ...I'm re-reading your older post too, which I admit I only fast-read before and not being too familiar with the engine I didn't realize the significance at first.
same here, and also the first page of this thread was leading me astray
thank you @Praetorian and @dettus for the help, i'll try to extract with the dMagnetic and report here

seems a bit more complex approach compared to the other engines, by reading I mean
dettus
Posts: 6
Joined: Sat Apr 27, 2019 9:30 am

Re: How to register "The Magnetic Scrolls Collection" games?

Post by dettus »

kremiso wrote: Wed Jun 22, 2022 2:06 pm
Praetorian wrote: Tue Jun 21, 2022 6:44 pm ...I'm re-reading your older post too, which I admit I only fast-read before and not being too familiar with the engine I didn't realize the significance at first.
same here, and also the first page of this thread was leading me astray
thank you @Praetorian and @dettus for the help, i'll try to extract with the dMagnetic and report here

seems a bit more complex approach compared to the other engines, by reading I mean
Please allow me to revive this thread. :)
Okay, so, yesterday I released dMagnetic 0.36. You can find it here: https://dettus.net/dMagnetic/dMagnetic_0.36.tar.bz2

This release comes with some "under the hood" features, including a much clearer disctinction beween engine and frontend. (Please see the hellworld.c file I attached to this thread as example)


I would very much like to offer my little project as Engine to the ScummVM project. I know that there is support for Magnetic Scrolls' games through GLK and then Magnetic; however, using dMagnetic would offer a much more direct integration.

As for the "complex approach": Yes. Maybe... I don't know... The thing is that the internal format of .mag/.gfx files is nice. So my frontend is always converting the .ADF, .D64, .DSK, .WOZ formats into said one INTERNALLY.
Without looking at the code of the other engines... I suspect that something similar is happening there as well?
Attachments
helloworld.c.gz
(1.75 KiB) Downloaded 145 times
User avatar
dreammaster
ScummVM Developer
Posts: 559
Joined: Fri Nov 04, 2005 2:16 am
Location: San Jose, California, USA

Re: How to register "The Magnetic Scrolls Collection" games?

Post by dreammaster »

dettus wrote: Sun Jan 29, 2023 10:06 am I would very much like to offer my little project as Engine to the ScummVM project. I know that there is support for Magnetic Scrolls' games through GLK and then Magnetic; however, using dMagnetic would offer a much more direct integration.
That's kind of you. I'm the primary Glk developer, though it's been a while since I added any new sub-engines to it, since I've been working on other several other engines the last year or so. Does your release offer any benefits compared to the current Glk interpreter, such as better compatibility or giving a closer look and feel to the original games? If so, it'd indeed be a nice addition to ScummVM. Although the following additional questions also come to mind:
1) Will it be permissible to relicense the code as GPL? I know the current text in the example C file you provided is fairly permissive, but code integrated into ScummVM needs to be GPL licensed.
2) Are you intending to do further development of the engine? If so, and presuming the engine is integrated into ScummVM, it might cause problems keeping the engine up to date unless you were willing to do further development of the engine within ScummVM.
dettus
Posts: 6
Joined: Sat Apr 27, 2019 9:30 am

Re: How to register "The Magnetic Scrolls Collection" games?

Post by dettus »

dreammaster wrote: Tue Jan 31, 2023 4:01 am Does your release offer any benefits compared to the current Glk interpreter, such as better compatibility or giving a closer look and feel to the original games?
The biggest advantage of my release is the wider range of platforms it supports. (Even though the backend library needs to have them pre-loaded and pre-converted, which was the subject of some earlier posts).
For the Look-and-Feel, I was hoping that a talented ScummVM developer can help me out by writing a better frontend...
If so, it'd indeed be a nice addition to ScummVM. Although the following additional questions also come to mind:
1) Will it be permissible to relicense the code as GPL? I know the current text in the example C file you provided is fairly permissive, but code integrated into ScummVM needs to be GPL licensed.
Yes: I opted for the BSD license, since the GPL is nice, but sometimes causing legal headaches in professional environments; and a conversion BSD->GPL is easier than GPL->BSD. (God, I sound like my lawyer...)
I do have one or two conditions though!
Are you intending to do further development of the engine? If so, and presuming the engine is integrated into ScummVM, it might cause problems keeping the engine up to date unless you were willing to do further development of the engine within ScummVM.
Of course I will keep developing. :) If I can be a developer for the engine within ScummVM remains to be seen...
My initial idea was that my engine could become a (statically linked) library.

But if you want to take my code and Fork Off, that's fine!!! :D
Post Reply