2011-12-14 83 views
3

我想創建一個能夠創建,查看,刪除和複製文件和目錄的文件中的模型FAT16文件系統,但我新編程任何人有關於如何我可以去的想法?我想要下面這樣的東西創建一個fat16模型

type 
    TFileRec = Packed Record 
    ID: WORD; //id of item 
    ParID: WORD; //parent id 
    Name: String[8]; //name of item 
    Ext: String[3]; //extension if any (type) 
    Att: BYTE; //attributes (access modifiers, type, etc) 
    end; 

var 
    FAT16: File of TFileRec; 
    ItemCount: Integer; 
+3

我前一段時間有「FAT64」系統搞亂大約可以找到:http://code.google.com/p/cpfs/source/browse/#hg %2Fsrc%2Fcpfs,你可能會發現一些有用的東西。此外,FAT32上的MS規格包含了創建FAT16系統所需的一切。 – 2011-12-14 03:40:44

回答

2

我建議這樣做的方法是調整FAT 16實現,以使用文件作爲硬盤介質。 FAT文件系統與硬盤的接口是系統級命令,如read_sectors和write_sectors,它們將512B緩衝區的多個數據塊寫入某些LBA地址。對於你的情況,你可以用實際讀取寫入文件來替換讀取扇區和寫入扇區函數的調用。

因此,通過更改這兩個函數,您將用文件訪問替換媒體訪問。

準確地說,有第三個系統級調用硬盤,它返回介質的大小,在這裏應該用假定作爲介質的最大文件大小替換。

重量輕FAT實現可以在here