This floppydisccontroller (FDC) for the ZX81 was developed in 1986 and is the most used FDC system in the ZX-Team. It uses the SAB 1793 controller chip, which is hard to get today. We are thinking of a newer system using the WD3765 but it's only in mind today... The FDC uses 80 track drives in single density mode. As a lot of users have taken an Atari drive, the DOS is limited to single side discs. With this setup the FDC can store around 80 kB on one disc.
The DOS is stored in an EPROM addressed at 8192. But the FDC takes the whole space from 8192 to 16383 for the internal 2k system RAM and some registers and latches. It has only five essential functions but they are still enough. The functions are simply called by a RAND USR instruction for the right address:
The DOS can only serve BASIC programs and the maximum size is limited to 16 kB as there are no larger programs for the ZX81.
In combination with MeFisDOS the function of the FDC is extended by some subroutines and we now can handle HiRes images, text files and forth screens with the FDC. Another extension is the use of the second disc side with the POKE 8,2 set. In this mode the second side can be used as a new disc with all functions. You may even separately format the two sides of a disc!
Internally the DOS is using an own file system. There is no FAT or so and the next file will be written directly after the last without starting at a new sector. Thus not a single byte is wasted but when deleting a file, this gap must be closed by moving all following sectors to front. This takes some time, so deleting or overwriting files is not recommended for extended use.
Now we just have a new data separation circuit and are able to use MSDOS compatible discs with the 720 kB format (double density, double sided). We are working on the subroutines but it will take some time...
Here are some files you may need:
|image of the DOS EPROM
|schematic 1st part
|schematic 2nd part
|schematic 3rd part
|schematic 4th part
The ROM image contains two different versions. The upper half contains an improved DOS which has some security functions added. This new DOS is unfortunately not compatible with MeFisDOS so you have to keep the older version too. Simply switch the DOSes with the A11 pin of the EPROM and an additional switch. Certainly you also may write only the "old" DOS into the EPROM.