This programs are Public Domain, and because of that I will not be liable for any damages resulting from use of this software. The programs are compiled with TURBO-C++ 1.0. SpecConvert 1.06 - 23 JANUARY 1994 - Convert snapshot files (.SNA, .SP, .Z80, .PRG, .ACH, .ZX and RAW) Usage: SpecConvert SpecConvert is a utility to convert between various snapshot formats. Snapshot files are created by various spectrum emulators. SpecConvert converts between .SNA, .SP, .Z80, .PRG, .ACH and .ZX files. The conversion to/from .SP files may not work always however, it is not clear to me how IFF, IFF2 and the interrupt mode are stored in the .SP file. Since version 1.02 I have made some improvements to this type of conversion however, it sould work now, but I have not enough .SP samples to fully test it. Note that crashing of a converted image may also be caused by bugs in the SPECTRUM emulator. Converion to .SP will work if the image is converted from a RAW image (see later). Wildcards for the infile or outfile parameters are not accepted, an error message is displayed if either * or ? is found in one or both the filenames. The outfile parameter is either a full filename or only the suffix .SNA, .SP, .Z80, .PRG, .ACH or .ZX. The prefix is taken from the first parameter in that case. This enables usage like: "for %%i in (*.z80) do SpecConvert %%i .z80" Normaly the and are not of the same type. If they are you will get a error message. This is so unless both files are of the .SP or .Z80 type. In case of .SP format the converter will convert an old style .SP file to a new style .SP file or from a new style .SP file to an old style .SP file, depending on the input. The old style .SP file is used by VGASPEC, with seems to be an unauthorised version of the spanish "SPECTRUM" program. The "SPECTRUM" program will use the new style .SP files. In case both files are of the .Z80 format SpecConvert will read the .Z80 file and will output a .Z80 file in the version 1.45 .Z80 format. This enables conversion of normal 48K Spectrum files made by Z80 version 2.01 to the older format so they can be loaded in a version 1.45 Z80 emulator. Of course additional information that can only be stored in the version 2.01 files that is lost. Therefore SpecConvert will check if the .Z80 file is for a 48K Spectrum and check if the Interface-1 rom was not paged in. If the check fails an error message is given and the conversion is terminated - no output will be produced. SpecConvert will only output version 1.45 .Z80 files since these are compattible with old and new Z80-emulator versions. Conversion between .SNA and .Z80 and from .Z80 to .SNA should be no problem, both formats are sufficiently described in the documentation of JPP (the norwegian emulator) and Z80 (the dutch emulator). Conversion to/from .PRG files should work fine also. I don't have a description of that format, but I think I figured it all out by looking at some samples. I only don't know where the border colour is stored. The specem emulator (an Irish emulator) doesn't show the border, so I can't find out by trail and error. Conversion to/from .ACH files may not work always. I don't have an archimedes computer to test it. I used the information about the format of the .ach files from two BBC-Basic programs supplied to me by Mike Borcherds. These programs were able to convert between the Archimedes file format and old .SP format. For proper conversion you need the spectrum rom because that is a part of the archimedes image (don't blame me). The ROM must be named 'spectrum.rom' and be located in the working directory or in the same directory as SpecConvert.exe. If no ROM is found the converter will insert NULL bytes. Conversion to/from .ZX files should work, Peter McGavin send me the definition of the format as used in the KGB emulator. I implemtented it that way but I don't have an Amiga with a KGB emulator so it is untested! I previously used the information about the format of the file from a VAX-Basic program supplied to me by Jason Brown and most information correlated so I'm hopefull that it works. Please send me feetback if it works so I can put it here in the documentation. Oh, before I forget, the .ZX format contains the last 132 bytes of the spectrum rom (don't ask me why) so SpecConvert will look for "spectrum.rom" in the working directory or in the same directory as SpecConvert.exe is located. If absent than the first 132 bytes will be NULL bytes. SpecConvert can also be used to convert a raw spectrum image to a snapshot file. The image has to be captured with via the RS232 connetion on Interface-1. Some tools to do this are in an archive called "SPEC232". A program called "SLOAD" will read from the RS232 link to a file on the MSDOS-PC. At the Spectrum side the the command SAVE *"b"CODE 16384,49152 HAS to be used. SpecConvert will convert the file is such way that it will continue in the basic interpreter after the snapshot is loaded. so SAVE *"b"CODE 16384,49152:PRINT "Hello, World!" will after conversion to a snapshot file and loading it in the emulator begin with printing "Hello, World!". A description how to wire the RS232 cable is also in the "SPEC232" package. Example: Converting a .SNA JPP file to the .Z80 Dutch emulator: SpecConvert game.sna game.z80 (or SpecConvert game.sna .z80) Thanks to: Arnt Gulbrandsen (author of JPP) Ramco v.d. Woestijne (supplied new .SP format) Gerton A. Lunter (author of Z80) Pedro Gimeno (author of SPECTRUM) Kevin J Phair (author of SPECEM) Mike Borcherds (suppied the archimedes file format) Jason Brown (suppied the initial KGB file format) Peter McGavin (suppied the complete KGB file format) for suppling information and for creating these spectrum emulators.