2011-12-14 78 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