+Acess File System
+- Database Design
+
+== Data Strutures ==
+Blocks are of a size specified in the superblock
+- Superblock
+ > Fixed offset: 1024 bytes
+- Field Table
+ > Offset set in superblock
+- Index Table
+- Inode Table
+
+=== Superblock ===
+struct sSuperblock {
+ Uint8 Magic[4]; // == '\xACFS'+Version
+ Uint8 BlockSize; // TrueSize = 2^(7+BlockSize)
+};
+
+=== Field Table ===
+struct sFieldTableEntry {
+ Uint16 Ident;
+ Uint8 Type;
+ Uint8 Length;
+ char Text[];
+} FieldTable[SuperBlock.NFields];
+
+=== Index Table ==
+struct sIndexTableEntry {
+ Uint16 Field;
+ Uint16 CheckSum;
+ Uint32 Block;
+} IndexTable[SuperBlock.NFields];
+
+=== Index Table entry ==
+struct {
+ Uint32 NumEntries;
+ Uint32 Links[];
+};
+
+=== Inode Table ===
+struct sInodeTable {
+
+};
+
+=== Inode ===
+struct sInodeEntry {
+ Uint16 Name;
+ Uint8 Size;
+ Uint8 Checksum;
+ Uint8 data[];
+};
+
+Each `sInodeEntry` defines an entry in a "database"
+