| Age | Commit message (Collapse) | Author |
|
To alert the user to the need to apply the patches made to Adam after the kernel patches, I have added a special "ADAM PATCH" tag.
|
|
I have updated the readme to reflect the major changes to the driver code.
|
|
This new file contains a condensed list of all code files in the repository, with information on what they do, and (if applicable) instructions for use or installation.
|
|
I fixed the punctuation on some of the info tags, and added a few more THEN tags where they were needed.
|
|
I had updated several more files after staging the previous ones, but forgot to stage these files as well. Thus, I had to commit these separately.
|
|
I have added the "PURPOSE", "TO USE", and "THEN" tags to make the information sections more easy to read while keeping line length down. These are used by a Python script I wrote to generate an instruction file.
|
|
KFloppyB2.HH has now replaced KFloppyB.HH, and has been renamed accordingly.
|
|
The time has finally come for the old code to be removed from the source tree.
|
|
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.
|
|
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.
|
|
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.
|
|
The register offsets apply to all floppy controllers, and not just the first. The comment I had there has been updated to reflect this.
|
|
The changelog has been updated to reflect the changes made to the 'blkdev' branch as of June 12, 2026, 20:33 CDT. A typo was also fixed.
|
|
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.
|
|
Since this file is effectively a patch to KStart32, it makes sense to keep it in the Patches subdirectory.
|
|
I added headers for the "read ID" and disk check functions, and added the proper types.
|
|
|
|
|
|
Since the U8 and Bool declarations in Mount2 are not on consecutive lines, I decided to split them for ease of patching.
|
|
The changelog has been updated to reflect the changes made to the 'blkdev' branch between June 4 and June 10, 2026, 20:23 CDT.
|
|
Mount2Ltrs was created without the normal "FDC" suffix, which I have now added.
|
|
This file modifies the list of drive letter types printed by Mount2 to reflect the changes made by Let2BlkDevTypeFDC.HC. All lines of the original Print call are to be commented out and this file included in its place.
|
|
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.
|
|
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.
|
|
The Bt call was modified to test for the corrrect bit of SRA.
|
|
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.
|
|
I re-worded the instructions for the manual floppy drive configuration, mainly to warn the user of the three single-digit questions.
|
|
I added default parameters for 3.5-inch high-density drives for convenience.
|
|
This file adds a case to Mount2's second switch statement to configure new FDC BlkDevs. It is to be included after the BDT_ATAPI case.
|
|
This file adds a case to Mount2's first switch statement to configure FDC BlkDevs. It is to be included after the BDT_ATAPI case.
|
|
This file adds additional buffers and variables to Mount2 as required by the FDC mount code. The original code is to be commented out and this files included after it.
|
|
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.
|
|
The BlkDevAdd code now checks if the floppy disk has a valid RedSea boot sector before attempting to initialize it.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
I halved the size of the DMA buffer in keeping with the "one track at a time" methodology I have adopted.
|
|
This file contains new headers for the BlkDev-ified driver.
|
|
I added the data rate values accepted by the FDC to the main header file.
|
|
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.
|
|
I have updated the changelog to reflect the changes made to the blkdev branch as of June 1, 2026, 19:56 CDT.
|
|
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.
|
|
DMA will always be used, so I have removed the DMA flag from CBlkDev.
|
|
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.
|
|
I updated the changelog to reflect the KFloppy and Installer patches
made on May 29, 2026. These are expected to be the final update to the
original driver codebase prior to BlkDev-ification.
|
|
I added a missing semicolon that caused the CopyTree call to trigger an
exception upon being #included.
|
|
Since implied seek is enabled during the initialization process, I
realized that I could make the disk dumper program much faster by just
doing the read without first doing a manual seek. However, because the
data transfer code does not do any error checking, I have made the
program more prone to calamity in case of a read failure.
|
|
I fixed the read and write functions so that they correctly check the
status of the controller before performing the write (hopefully).
|