<feed xmlns='http://www.w3.org/2005/Atom'>
<title>templeos-floppy-driver/Kernel/BlkDev/DskFDC.HC, branch blkdev</title>
<subtitle>Floppy disk controller driver (and more) for TempleOS
</subtitle>
<id>https://git.yoshi128k.tk/cgit/templeos-floppy-driver/atom?h=blkdev</id>
<link rel='self' href='https://git.yoshi128k.tk/cgit/templeos-floppy-driver/atom?h=blkdev'/>
<link rel='alternate' type='text/html' href='https://git.yoshi128k.tk/cgit/templeos-floppy-driver/'/>
<updated>2026-06-22T07:19:16Z</updated>
<entry>
<title>Split floppy IRQ handler into separate file</title>
<updated>2026-06-22T07:19:16Z</updated>
<author>
<name>Harley Travis</name>
<email>harleytravis123@outlook.com</email>
</author>
<published>2026-06-22T07:19:16Z</published>
<link rel='alternate' type='text/html' href='https://git.yoshi128k.tk/cgit/templeos-floppy-driver/commit/?id=028a74b6ce3f889de88053d84e15f3d3d6fb2819'/>
<id>urn:sha1:028a74b6ce3f889de88053d84e15f3d3d6fb2819</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Update source file information comments</title>
<updated>2026-06-20T00:20:32Z</updated>
<author>
<name>Harley Travis</name>
<email>harleytravis123@outlook.com</email>
</author>
<published>2026-06-20T00:20:32Z</published>
<link rel='alternate' type='text/html' href='https://git.yoshi128k.tk/cgit/templeos-floppy-driver/commit/?id=15de1acb37d8b92db9499192b22a189cad913215'/>
<id>urn:sha1:15de1acb37d8b92db9499192b22a189cad913215</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Rename FDCInt to match TOS IRQ handler naming</title>
<updated>2026-06-19T01:58:43Z</updated>
<author>
<name>Harley Travis</name>
<email>harleytravis123@outlook.com</email>
</author>
<published>2026-06-19T01:58:43Z</published>
<link rel='alternate' type='text/html' href='https://git.yoshi128k.tk/cgit/templeos-floppy-driver/commit/?id=420954060bc8bede578436f1459b856b5fff3e31'/>
<id>urn:sha1:420954060bc8bede578436f1459b856b5fff3e31</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Add installation notes to source files.</title>
<updated>2026-06-13T01:33:27Z</updated>
<author>
<name>Harley Travis</name>
<email>harleytravis123@outlook.com</email>
</author>
<published>2026-06-13T01:33:27Z</published>
<link rel='alternate' type='text/html' href='https://git.yoshi128k.tk/cgit/templeos-floppy-driver/commit/?id=0f378e8ba3c2817126f851fa782b66ab13af6ba3'/>
<id>urn:sha1:0f378e8ba3c2817126f851fa782b66ab13af6ba3</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Update DskFDC.HC</title>
<updated>2026-06-11T00:30:28Z</updated>
<author>
<name>Harley Travis</name>
<email>harleytravis123@outlook.com</email>
</author>
<published>2026-06-11T00:30:28Z</published>
<link rel='alternate' type='text/html' href='https://git.yoshi128k.tk/cgit/templeos-floppy-driver/commit/?id=3cbc8ac1688ed5c67a61a758d2f80d19e04c3259'/>
<id>urn:sha1:3cbc8ac1688ed5c67a61a758d2f80d19e04c3259</id>
<content type='text'>
The Bt call was modified to test for the corrrect bit of SRA.
</content>
</entry>
<entry>
<title>Update DskFDC.HC</title>
<updated>2026-06-11T00:26:39Z</updated>
<author>
<name>Harley Travis</name>
<email>harleytravis123@outlook.com</email>
</author>
<published>2026-06-11T00:26:39Z</published>
<link rel='alternate' type='text/html' href='https://git.yoshi128k.tk/cgit/templeos-floppy-driver/commit/?id=6590b4942c0727903b42f9a34f7a076e034fda09'/>
<id>urn:sha1:6590b4942c0727903b42f9a34f7a076e034fda09</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Update DskFDC.HC</title>
<updated>2026-06-08T02:06:46Z</updated>
<author>
<name>Harley Travis</name>
<email>harleytravis123@outlook.com</email>
</author>
<published>2026-06-08T02:06:46Z</published>
<link rel='alternate' type='text/html' href='https://git.yoshi128k.tk/cgit/templeos-floppy-driver/commit/?id=d1a3cbbf5eaa8c0e63c7d6ac402bd4be182102a9'/>
<id>urn:sha1:d1a3cbbf5eaa8c0e63c7d6ac402bd4be182102a9</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Update DskFDC.HC</title>
<updated>2026-06-07T00:35:22Z</updated>
<author>
<name>Harley Travis</name>
<email>harleytravis123@outlook.com</email>
</author>
<published>2026-06-07T00:35:22Z</published>
<link rel='alternate' type='text/html' href='https://git.yoshi128k.tk/cgit/templeos-floppy-driver/commit/?id=0898cca4b9eb3465bc4507508d352502f6e5781a'/>
<id>urn:sha1:0898cca4b9eb3465bc4507508d352502f6e5781a</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Update DskFDC.HC</title>
<updated>2026-06-05T04:36:37Z</updated>
<author>
<name>Harley Travis</name>
<email>harleytravis123@outlook.com</email>
</author>
<published>2026-06-05T04:36:37Z</published>
<link rel='alternate' type='text/html' href='https://git.yoshi128k.tk/cgit/templeos-floppy-driver/commit/?id=82db93b2732e88cb76f0506e549f5549b8750bc6'/>
<id>urn:sha1:82db93b2732e88cb76f0506e549f5549b8750bc6</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Update DskFDC.HC</title>
<updated>2026-06-02T00:56:18Z</updated>
<author>
<name>Harley Travis</name>
<email>harleytravis123@outlook.com</email>
</author>
<published>2026-06-02T00:56:18Z</published>
<link rel='alternate' type='text/html' href='https://git.yoshi128k.tk/cgit/templeos-floppy-driver/commit/?id=45014e275907fe3714d854e13458161426974879'/>
<id>urn:sha1:45014e275907fe3714d854e13458161426974879</id>
<content type='text'>
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.
</content>
</entry>
</feed>
