Compared to the tape, this is really simple. Cartridges are emulated by files of 137923 bytes. These files have the extension .MDR, and can contain up to 126K of data. The emulator emulates 8 microdrives, the maximum amount the Interface I software can handle, and each of these cartridge files can be inserted in any of the 8 microdrives. (Do not insert one file into more than one microdrive; this will cause problems with the buffering done by the emulator as well as the Interface I, and might result in data loss).
Press F8 to enter the microdrive menu. Press 1 to 8 to select a microdrive, and I to insert a microdrive cartridge. You can select an existing one, or type a new name. If the cartridge file isn't found, the emulator asks whether it should create it. When created, you'll have to format it first; if you don't, you'll get a `microdrive not present' error when you try to read it, just as happens with real unformatted cartridges. To format a cartridge, type
FORMAT "m";1;"name"
|
The cartridge can be write protected; see the menu option in the F8 menu. This is a characteristic of the cartridge, and the write protect tab information is therefore stored in the cartridge file.
As on the real Spectrum, you'll have to be careful with OUT's if a
cartridge is inserted. Try OUT 239,0
(on a real Spectrum, this turns on
the microdrive motor) and wait a few seconds; most of your data will be
lost! You can stop the microdrive motor by typing STOP (or, more
generally, generate an error).
The microdrives are emulated at IN/OUT level. This means that every utility or program that uses microdrives ought to work on the emulator. Most utilities use hook codes, and these will certainly work.
The GAP line is emulated; this signal is activated if the interface I
senses a piece of tape with no data on it. If the checksum of the first
header block of a microdrive header or data block is not correct, that
block is considered to be a GAP. This will only happen if some utility
writes a bad block to microdrive deliberately, if the file is newly
created and unformatted, or when you type OUT 239,0
.