Hi guys,
I have been lately creating the +3 disk version of Cesare the Somnambule and due to the really tight that everything was laid out in memory at load time, using +3DOS for loading it was not really an option. So I set up to create my own loader in assembler, talking directly to the Floppy Controller with interrupts disabled.
The result of this is a tool to create a disk loader for games or programs which uses a specialized disk format (not +3DOS) and a couple of small ASM stubs which are provided.
For those interested, here is the document that describes the design.
A short extract from that document:
"The motivation behind DSKTOOL is to allow creating disk versions of ZX games for the Spectrum +3 as easily as TAP versions, and reusing the same game binaries from the TAP version. The easies way to achieve this is to use the disk as a sort of "virtual tape", or VTAPE, in which the game data is stored and read sequentially, the same way as a real tape would be used.
VTAPE is just a way to format the disk and data inside it, and a convention for accessing that data in an easy way from the game loader.
This tool generates the VTAPE disk image file (in standard DSK format) that can be later used to boot the game in +3 emulators, or used as a master for physical media generation.
A loader API is also provided to access the VTAPE disk and load the game data."
DSKTOOL - A tool for creating Spectrum +3 game loaders
Re: DSKTOOL - A tool for creating Spectrum +3 game loaders
Interesting idea with the virtual tape! Will definitely have to try your tool myself =)
p.s. from the readme on github:
p.s. from the readme on github:
Is there any chance to see this disk version of Robocop 3?disassembling the Robocop 3 disk loader (on which this work is loosely based)
Re: DSKTOOL - A tool for creating Spectrum +3 game loaders
Sorry, it's the disc loader from Robocop, not Robocop 3.
About the game: I did not get it, a contact passed me the disassembled loader as a reference.
About the game: I did not get it, a contact passed me the disassembled loader as a reference.
Re: DSKTOOL - A tool for creating Spectrum +3 game loaders
Just a comment for those early birds that have already looked at the code (are there any? ):
I found some problems with Gotek drives that in turn were symptoms of deficient FDC emulation in most emulators: everything worked fine except in Gotek drives, and RetroVirtualMachine and Es.Pectrum emulators. It turned out that those emulators had much more faithful FDC emulation, and showed real errors in my code, which other emulators did not catch.
Those errors have been fixed, just in case someone is using the code I published a couple of days ago. Pull again from the repo for updated code.
I found some problems with Gotek drives that in turn were symptoms of deficient FDC emulation in most emulators: everything worked fine except in Gotek drives, and RetroVirtualMachine and Es.Pectrum emulators. It turned out that those emulators had much more faithful FDC emulation, and showed real errors in my code, which other emulators did not catch.
Those errors have been fixed, just in case someone is using the code I published a couple of days ago. Pull again from the repo for updated code.