summaryrefslogtreecommitdiff
path: root/Kernel/BlkDev/Patches/BlkDevAddFDC.HC
blob: 1f9e75a415b60fadd29be95154210c2ce360217b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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;