How to register "The Magnetic Scrolls Collection" games?
Moderator: ScummVM Team
Re: How to register "The Magnetic Scrolls Collection" games?
]Hey guys. I just found your thread. (Vanity & google... you know... )
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.
Re: How to register "The Magnetic Scrolls Collection" games?
Yes. However i mostly add new input formats nowadays. The core itself is pretty stable.eriktorbjorn wrote: ↑Mon May 24, 2021 6:21 amI think it's still in development.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.
Re: How to register "The Magnetic Scrolls Collection" games?
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
Re: How to register "The Magnetic Scrolls Collection" games?
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
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
- 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?
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.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
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 am unsure about sound.
Re: How to register "The Magnetic Scrolls Collection" games?
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:
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
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
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
- 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?
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.
Re: How to register "The Magnetic Scrolls Collection" games?
same here, and also the first page of this thread was leading me astrayPraetorian 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.
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
Re: How to register "The Magnetic Scrolls Collection" games?
Please allow me to revive this thread.kremiso wrote: ↑Wed Jun 22, 2022 2:06 pmsame here, and also the first page of this thread was leading me astrayPraetorian 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.
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
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 142 times
- dreammaster
- ScummVM Developer
- Posts: 557
- Joined: Fri Nov 04, 2005 2:16 am
- Location: San Jose, California, USA
Re: How to register "The Magnetic Scrolls Collection" games?
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.
Re: How to register "The Magnetic Scrolls Collection" 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).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?
For the Look-and-Feel, I was hoping that a talented ScummVM developer can help me out by writing a better frontend...
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...)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.
I do have one or two conditions though!
Of course I will keep developing. If I can be a developer for the engine within ScummVM remains to be seen...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.
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!!!