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;