summaryrefslogtreecommitdiff
path: root/Kernel
AgeCommit message (Collapse)Author
8 daysDelete old driver codeHarley Travis
The time has finally come for the old code to be removed from the source tree.
8 daysRemove addition to KFloppyB.HHHarley Travis
As a result of a "brain fart," I erroneously added install instructions to the old version of KernelB.HH; KernelB2.HH already had install instructions.
8 daysUpdate/add install instructions for header filesHarley Travis
I realized that KFloppyA would have to be included before KInts is, so that the IRQ definition can be used by IntInit2. The install instructions have been updated accordingly. Installation instructions were also added to KernelB.
8 daysRename FDCInt to match TOS IRQ handler namingHarley Travis
The IRQ handlers in TempleOS' kernel code have an "IRQ_" prefix. FDCInt has been renamed to IRQ_FDC in keeping with Terry's code style. An unused definition of the same name has also been removed from KFloppyA.HH.
8 daysUpdate KFloppyA.HHHarley Travis
The register offsets apply to all floppy controllers, and not just the first. The comment I had there has been updated to reflect this.
2026-06-12Add installation notes to source files.Harley Travis
I added comments to all patch files explaining their function and how to install them. Installation instructions were also added to some of the code files as well.
2026-06-12Move KFloppyDMA.HC to Kernel/PatchesHarley Travis
Since this file is effectively a patch to KStart32, it makes sense to keep it in the Patches subdirectory.
2026-06-12Update KFloppyB2.HHHarley Travis
I added headers for the "read ID" and disk check functions, and added the proper types.
2026-06-12Adjust tabs in KernelABDTs.HHHarley Travis
2026-06-12Remove stray empty line from CBlkDevFDC.HCHarley Travis
2026-06-10Create Let2BlkDevTypeFDC.HCHarley Travis
This file patches Let2BlkDevType to provide drive letters for floppy drives. The original function is to be commented out and this file included in its place.
2026-06-10Create BlkDevInitFDC.HCHarley Travis
This file adds a case to BlkDevInit for the floppy BDT, allowing it to be initialized. It is to be placed after the last case in the function's switch statement.
2026-06-10Update DskFDC.HCHarley Travis
The Bt call was modified to test for the corrrect bit of SRA.
2026-06-10Update DskFDC.HCHarley Travis
FDCWriteBlks now checks if the disk is write-protected before attempting a write, throwing an exception if it is. I also reworked the retry check for both it and FDCReadBlks.
2026-06-07Update DskFDC.HCHarley Travis
I realized that the logic that determined the sector size value sent to the controller would not work properly on larger sector size, so I redid it.
2026-06-06Update BlkDevAddFDC.HCHarley Travis
The BlkDevAdd code now checks if the floppy disk has a valid RedSea boot sector before attempting to initialize it.
2026-06-06Update BlkDevAddFDC.HCHarley Travis
BlkDevAdd should set drv_offset to 0 (since the BlkDev's drv_offset will also be zero; floppies don't have a partition table), so I removed the forced-set to 0 in the code.
2026-06-06Update DskFDC.HCHarley Travis
I have added a function that will check for the presence of valid sector data on either side of a floppy disk. This function is used to check for the presence of a disk in a way that does not rely on the proper handling of the disk change flag.
2026-06-06Create BlkDevAddFDC.HCHarley Travis
This file adds code for handling floppy block devices to the BlkDevAdd function. It is to be included at the end of the function's switch statement.
2026-06-06Create KDefineBDTs.HCHarley Travis
This file replaces the DefineLstLoad call that sets ST_BLKDEV_TYPES to add the FDC type. The original code is to be commented out and this file included after it.
2026-06-06Create KernelABDTs.HHHarley Travis
This file replaces the block device type list in KernelA.HH. The original code is to be commented out and this file included after it.
2026-06-04Update KFloppyDMA.HCHarley Travis
I halved the size of the DMA buffer in keeping with the "one track at a time" methodology I have adopted.
2026-06-04Create KFloppyB2.HCHarley Travis
This file contains new headers for the BlkDev-ified driver.
2026-06-04Update KFloppyA.HHHarley Travis
I added the data rate values accepted by the FDC to the main header file.
2026-06-04Update DskFDC.HCHarley Travis
I moved the version check into the drive-0-only code; it wouldn't make sense to check the version each time a drive gets initialized.
2026-06-01Update DskFDC.HCHarley Travis
I have decided not to use multi-track mode and instead do atomic reads and writes to sector ranges. I have also added a timeout to the motor command when the motor is turned on (approximately 500 milliseconds to accomodate 5ΒΌ" drives). FDCInit now sets the highest-accessible block.
2026-06-01Update CBlkDevFDC.HCHarley Travis
DMA will always be used, so I have removed the DMA flag from CBlkDev.
2026-05-31Initial commit for BlkDev branchHarley Travis
This is the initial commit for the BlkDev-ified driver. It is not at all in a working state at this point, and the old files have been left for reference purposes.
2026-05-29Update KFloppy.HCHarley Travis
I fixed the read and write functions so that they correctly check the status of the controller before performing the write (hopefully).
2026-05-27Refactor source code and create an "installer"Harley Travis
I have moved some source files into subdirectories for ease of installation. I have also added an installer script to automatically place driver files into their respective system directories.