summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
9 daysUpdate changelog to reflect mergeHEAD2026-07-04mainHarley Travis
9 daysUpdate changelog (July 4, 2026)blkdevHarley Travis
The changelog has been updated to reflect the changes made to the blkdev branch as of Jule 4, 2026, at 17:32 CDT. A line-break error was also corrected in the May 29, 2026 section.
9 daysMake DskImg clear the disk read cache.Harley Travis
9 daysUpdate DskImg.HCHarley Travis
I renamed xfer_blk to xfer_cyl, and added a jump to the start of this label.
9 daysOverhaul DskImg to use a U8 buf.Harley Travis
9 daysFix DskImg.HC (again)Harley Travis
I fixed the file-open call to use the drive size straight from the CDrv object, and to create a contiguous file.
9 daysFix DskImg.HCHarley Travis
I decided to allocate the drive's BlkDev object separately, which also fixed an error in the code when I tested it.
9 daysUpdate instructions to reflect previous commitHarley Travis
9 daysFix patch tags in Blk(Read/Write)FDC.HCHarley Travis
9 daysUpdate DskImg.HCHarley Travis
DskImg has finally been updated to use BlkRead instead of the now-deprecated low-level read routines.
14 daysFix typo in FDCMotorHarley Travis
Instead of assigning FDC_MOTOR_WAIT to the floppy BlkDev's motor state variable, FDCMotor was performing a comparison instead.
14 daysRemove unnecessary parentheses from FDCInitHarley Travis
The line where the highest block number is set had unneeded parentheses, as warned by the TempleOS compiler.
14 daysFix for loop in FDCResetHarley Travis
The second for loop in this function had its parameters separted by commas instead of semicolons, resulting in a compiler error.
14 daysRemove "make free" code and add increment to res.Harley Travis
Brain fart! The drive was getting destroyed because the result was not being set to 1, not because of the drive slot.
14 daysRe-add drive slot code to BlkDevAddFDC.HCHarley Travis
Removing this code caused TempleOS to no longer create drive objects for the floppy drives, so I re-added it.
14 daysFix typo in retry check in FDCReadBlksHarley Travis
14 daysPlace reset before version checkHarley Travis
Turns out my PC leaves the FDC in a reset state after POST, causing the version check to time out. Thus, it is necessary to reset the controller beforehand.
14 daysFix typos in Mount2CaseAFDC.HCHarley Travis
14 daysFixed a few typos in DskFDC.HCHarley Travis
2026-06-27Update changelog (June 27, 2026)Harley Travis
The changelog has been updated to reflect the changes made to the blkdev branch as of June 27, 2026, at 16:16 CDT.
2026-06-27Update readmeHarley Travis
I updated the readme to add more information about using the driver once installed.
2026-06-27Update instructions to add DskChg patchHarley Travis
2026-06-27Add patch to DskChgHarley Travis
This patch allows DskChg to run a file system check on floppy drives, allowing for file system autodetection.
2026-06-27Update instructionsHarley Travis
I updated my instruction-generating script to include the FILE tag, to help users find the files that need to be patched. This also includes the new patch files added in the previous commit.
2026-06-27Add missing patchesHarley Travis
These patch files are based on patches I had to make while testing the driver on my TOS machine.
2026-06-27Add missing comma to Mount2VarsFDC.HCHarley Travis
2026-06-27Fix DocPrints in Mount2CaseBFDC.HCHarley Travis
I added newlines to all of the DocPrint calls, and added code to set the modulation mode.
2026-06-27Add modulation mode prompt to mount codeHarley Travis
2026-06-27Update Mount2CaseAFDC.HCHarley Travis
Most of the changes to this file were adding missing semicolons, and fixing semantic errors with some of the prompts.
2026-06-27Update IntsInitFDC.HCHarley Travis
Through an oversight, I forgot to change the I/O write that sets the IRQ mask so that bit 6 (which masks IRQ6) is cleared. As a result, IRQ6 is never unmasked, and the floppy drive interrupt does not work.
2026-06-27Add definition for int semaphore to KFloppyInt.HCHarley Travis
2026-06-27Update KFloppyB.HHHarley Travis
KFloppyB was updated to reflect the return type changes to FDCRBlks and FDCWBlks.
2026-06-27Make FDCRBlks and FDCWBlks Bools that return trueHarley Travis
2026-06-27Update KFloppyA.HHHarley Travis
I fixed some indentation in this header file and added definitions for the check codes used by FDCChk.
2026-06-27Update BlkDevAddFDC.HCHarley Travis
The filesystem-checking code, now part of the FDCFsChk function, was replaced with a call to said function.
2026-06-27Add FDCFsChkHarley Travis
This new function is an export of the filesystem-checking code in BlkDevAddFDC.HC. This was done to allow it to be used by DskChg, allowing filesystem autodetection when disks are swapped.
2026-06-27Update FDCChkHarley Travis
FDCChk now turns the motor on and off, and tests for the presence of a disk by performing two seeks and checking the disk change flag.
2026-06-27Update FDCReadIdHarley Travis
FDCReadId was patched to use 64-bit variables, and to remove asterisks from references to the CBlkDev pointer, bd.
2026-06-27Update FDCWriteBlksHarley Travis
FDCWriteBlks was patched for the same reasons as FDCReadBlks (64-bit variables, motor control, fix typo in head calculation, unlock at end), as well as fixing a bug where only [cnt] bytes were being copied into the DMA buffer instead of [cnt] sectors.
2026-06-27Update FDCReadBlksHarley Travis
FDCReadBlks was patched to use 64-bit variables, turn the motor on and off, use the correct variable for the head count, and unlock the block device before returning.
2026-06-27Update FDCRBlks and FDCWBlksHarley Travis
FDCRBlks and FDCWBlks were patched to use 64-bit variables, and remove unecessary parentheses.
2026-06-27Update FDCReadData and FDCWriteDataHarley Travis
FDCReadData and FDCWriteData were patched to use 64-bit variables, and to send the read/write commands in the correct format.
2026-06-27Update FDCInitHarley Travis
FDCInit was patched to use 64-bit variables, and to turn the motor on when performing the recalibration step.
2026-06-27Update FDCSelDrvHarley Travis
FDCSelDrv was patched to preserve the other DOR bits, and not reset the controller when selecting a drive, which caused I/O timeouts.
2026-06-27Update FDCMotorTask and FDCMotorHarley Travis
FDCMotorTask was patched to use 64-bit variables, preserve DOR contents when setting the motor bits, and properly set the block device's motor state. FDCMotor now properly checks the current motor status before writing to the DOR or spawning the power-off task, and also preserves the DOR bits.
2026-06-27Update FDCResetHarley Travis
I have patched FDCReset to actually do its job correctly, switching it over to DOR-twiddling instead of the DSR method. I also allowed it to skip the interrupt checks if it gets a 0x80 byte back at any point.
2026-06-27Update FDCReadByte and FDCSendByteHarley Travis
FDCReadByte and FDCSendByte have been updated to store the MSR contents into a separate variable for readability. They also now Yield; when polling to prevent the OS from feezing.
2026-06-24Update changelogHarley Travis
The chanagelog has been updated to reflect the new policy on commit signing.
2026-06-23Update changelog (June 22, 2026)Harley Travis
The changelog has been updated to reflect the changes made to the blkdev branch as of June 22, 2026, at 02:19 CDT.
2026-06-22Split floppy IRQ handler into separate fileHarley Travis
Since KInts.HC is compiled before DskFDC.HC, undefined symbol issues could possibly occur. when attempting to compile the interrupt set-up code because the IRQ handler is not yet compiled. To prevent this, I separated the IRQ handler into another file that is included immediately after the headers. The instructions have been updated to reflect this change.