summaryrefslogtreecommitdiff
path: root/Kernel/BlkDev/Patches/BlkDevAddFDC.HC
diff options
context:
space:
mode:
Diffstat (limited to 'Kernel/BlkDev/Patches/BlkDevAddFDC.HC')
-rw-r--r--Kernel/BlkDev/Patches/BlkDevAddFDC.HC28
1 files changed, 28 insertions, 0 deletions
diff --git a/Kernel/BlkDev/Patches/BlkDevAddFDC.HC b/Kernel/BlkDev/Patches/BlkDevAddFDC.HC
new file mode 100644
index 0000000..1f9e75a
--- /dev/null
+++ b/Kernel/BlkDev/Patches/BlkDevAddFDC.HC
@@ -0,0 +1,28 @@
+// PATCH: Add the ability to create floppy drvs
+// FILE: ::/Kernel/BlkDev/DskAddDev.HC
+// TO INSTALL: #include this file at the end of the switch statement.
+
+case BDT_FLOPPY:
+ dv->dv_signature=DRV_SIGNATURE_VAL;
+ if (!BlkDevInit(bd))
+ dv->dv_signature=0;
+ else {
+ dv->dv_signature=0;
+ if (make_free)
+ dv=DrvMakeFreeSlot(bd->first_drive_let);
+ else
+ dv=DrvMakeFreeSlot(DrvNextFreeLet(bd->first_drive_let))
+ if (bd->heads!=FDCChk(bd))
+ dv->fs_type=FSt_UNKNOWN;
+ else {
+ FDCReadBlks(bd,&br,0,1);
+ if (br.signature==MBR_PT_REDSEA && br.signature2==0xAA55) {
+ dv->dv_signature=DRV_SIGNATURE_VAL;
+ dv->bd=bd;
+ dv->fs_type=FSt_REDSEA;
+ RedSeaInit(dv);
+ } else
+ dv->fs_type=FSt_UNKNOWN;
+ }
+ }
+ break; \ No newline at end of file