This +3 disk formatter allows disks to be formatted with varying parameters and gives capacity up to a maximum of 209K. The BASIC program allows the number of tracks, sectors, directory entries and reserved tracks to be selected and the machine code then formats the disk with the given parameters. The program also allows the interleave and track skew factors to be changed. The parameter "sector increment" gives the order in which sectors are recorded by specifying the difference between each sector and the next. For example, with 10 sectors on each track and an increment of 3, the sectors will be numbered in the order 1, 4, 7, 10, 3, 6, 9, 2, 5, 8 for an interleave factor of 7. The program takes care to avoid repetitions, so for instance with 9 sectors and an increment of -3, the sectors will be recorded in the order 1, 7, 4, 2, 8, 5, 3, 9, 6 for an interleave factor of about 3. The "track increment" gives the difference between the number of the first sector on one track and that on the next track. If a disk is formatted with one or more reserved tracks, then the program asks for a disk label. This text will be recorded at the start of the last reserved sector, where it can be read by the 48KDB "CAT *" command. If the disk should have no name, or you do not have 48KDB, just press enter. A disk may be relabelled with the "relabel" program. This code should be loaded in at 32000 and called. It will ask for a name and then record it on the disk. A disk specifier will be recorded in the first 16 bytes of the disk, which allows the +3 to auto-detect the disk type. If the disk is formatted without any reserved tracks, then the disk specifier will be recorded in the first directory entry. If you type "CAT EXP", this will appear as an unprintable file name (which is in general harmless). Note: This program should be run in +3 mode, not in 48KDB mode. The zip file contains the program, "format.prg", the code, "format.bin", and the relabeller, "relabel", all recorded in xzx save-file format. That format is as follows: bytes 0-3: the characters "ZXF1" bytes 4-20: a Spectrum tape header bytes 21-: the file's contents. The data from each file can therefore be extracted by stripping off the first 21 bytes.