Transferring programs

There are a number of ways to transfer programs from the Spectrum to the PC: loading them directly from tape, using the RS232 lead or transferring from disks of Spectrum disk interfaces. And then you might have snapshot files from other emulators that you want to convert to .Z80 files. I'll discuss these cases one after the other.

Converting using the COM port is not so easy most of the times, but if you've got a null-modem lead waiting to do something you could read section 2.6. Luckily, there are easier ways.

First of all, you can use the tape. If you want to do this, then the first thing to do is to read section 2.4 carefully - now you know almost everything you need. Most programs you have probably use the normal tape format; you will find that these usually load right away. If the programs use speed-load, using real mode will probably load most of these right away too.

But some programs are really cleverly protected, and use obscure features of the Z80 processor. To run these programs, turn on LDIR emulator and R register emulation (see the `Change Settings' menu, F4). Note that the emulator will slow down a bit when R register emulation is selected; if you need to use real mode then make sure you speed the emulator up again to 100%. After the program has loaded successfully, you may try to turn R register emulation off again; I don't know any program that needs R register emulation after loading. Read chapter 5 for more technical information about these options.

If you've got Spectrum disks, you will probably be able to convert the programs on them to a useful format and use them in the emulator. The registered package of this emulator contains a program DISCIPLE, that can read DISCiPLE and Plus D disks and convert the snapshots and other files on it to .TAP and .Z80 files. The previous version of this program could only read 3.5'' Disciple disks, and had several bugs in the file and snapshot translation routines. So if you transferred programs with the old DISCIPLE program and they don't work, don't blame the emulator but try to transfer them again with the new program.

The current version of the DISCIPLE program reads 3.5'' as well as 5.25'' DISCiPLE disks, will translate 48K, 128K and screen snapshots, and other normal files. The previous version used the .SAV file format for normal files, which could be loaded into the emulator using LOAD *"b"; this version converts them into .TAP files which can be loaded simply by using the normal tape LOAD statements (see 2.4).

The DISCiPLE interface modifies the Spectrum system variables in such a way that LPRINT sends its output to DISCiPLE's own printer interface. When you transfer a snapshot that uses the printer, you'll have to tell it to use the Interface I's RS232 printer output instead, by breaking the program and typing OPEN #3,"b". If you don't, you'll get strange results.

If you have got a Beta disk interface, your problem is solved too. J.L. Bezemer wrote a program called BDDE that reads Beta disks. The program can be downloaded from the Spectrum emulator support BBS.

Finally, maybe you were using another Spectrum emulator for the PC before using this one, and you may have already got a collection of snapshot or other files. CONVZ80, another utility for registered users, can convert between several snapshot formats, namely the .SNA format of JPP, the .SP formats of VGASPEC and SPECTRUM, the .PRG files of SpecEm, and the .Z80 format of course. (It is by the way not necessary to convert .SNA files, the emulator can read them as they are.) CONVZ80 can also convert the tape files used by SpecEm and ZX to .TAP files. CONVZ80 recognizes what it should do by the extension of the files you enter on the command line; to distinguish between VGASPEC's and SPECTRUM's .SP formats you can use the switch -o. If the extension consists of digits only, it is taken to be a ZX tape file, and if it contains non-digits and is none of .SP, .Z80, .SNA, .PRG or .TAP it is regarded as a SpecEm tape file.

SpecEm can load .PRG snapshot files, but cannot save them. However, it emulates the Multiface I, which can save snapshots to tape. SpecEm will save these blocks as tape files to disk. If you convert these to a .TAP file (in the correct order!), you can load them into Z80 and save the program as a .Z80 file.