Copyright (C) 2025-2026 Harley Travis . This software (including source code) is licensed under the BSD Zero Clause License. See the Copying.TXT file for details. These files contain the code required for the low-level floppy disk driver. It is integrated with TempleOS block device API, allowing floppy disks to be used as RedSea volumes. The development history of this project can be found at: https://git.yoshi128k.tk/cgit/templeos-floppy-driver To install the driver: 1. #include Install.HC in a terminal window; it will copy all the source code and patches to the proper directories on your disk. 2. Refer to Instructions.TXT for instructions on applying the patches and installing the driver, but do not do the Adam patches yet! Since I have not yet implemented any sort of patch-like utility, you will have to do the patches manually. Luckily, all of the needed modifications can be done by commenting out the sections of code mentioned and/or #including the patch files. 3. Recompile the kernel with BootHDIns(). 4. Only when the kernel has been patched and recompiled can you do the Adam patches, at which point you can run BootHDIns() again if you want to mount your floppy drive(s) on startup. Your system will have been patched to unmask IRQ6 and update the IDT to point it to an appropriate stub. The low-level functions of the driver will also be made available for your use, but using the BlkRead() and BlkWrite() functions is preferred if you wish to do low-level reading and writing. --A note about DMA-- If things went to plan, I would have use PIO to do data transfers to and from the disk. However, they didn't, and my dev system would freeze when attempting to read from tracks beyond 0 (the drive would make a seek noise, at which point it froze). In Terry's demands document, he wrote: "We don't want to do DMA." This is a bit ambiguous, as there are two main forms of DMA in the PC world: 1. ISA DMA, used by the floppy controller and ISA expansion cards. 2. PCI Busmastering, which is used by newer hardware and is very different from ISA DMA. TheTinkerer on the TOS Discord suggested that Terry *may* have been more tolerant of ISA DMA, but I would still consider my usage of it to be at least somewhat blasphemous (though it is not mentioned in the Charter).