diff --git a/rtfs/v1.md b/rtfs/v1.md index 9303196..2ab20c1 100644 --- a/rtfs/v1.md +++ b/rtfs/v1.md @@ -1,13 +1,21 @@ # rtfs, version 1 A mutant clone of the RT-11 filesystem for OpenComputers. +## Features +- 2^32 sector maximum volume size +- 2^32 byte maximum extent size +- File and free space fragmentation (up to 512 extents per file) + +## Implementations +- [PsychOS](https://git.shadowkat.net/izaya/PsychOSPackages/src/branch/master/rtfs/lib/fs/rtfs/v1.lua) + ## Overall structure An rtfs volume consists of three main areas: - The superblock, residing at the start of the volume, and occupying one sector. - The data area, occupying the space not used by the superblock and index. - The index, growing from the end of the volume towards the start. -The entire contents of the data area are laid out in the index area, including free spaces. While the exact structure of the data area isn't specified, one approach that has worked well is, to quote the *RT-11 Volume and File Formats Manual (August 1991)* manual, to "allocate for the [new extent] either one-half the largest space available, or the second largest space, whichever is bigger." +The entire contents of the data area are laid out in the index area, including free spaces. While the exact structure of the data area isn't specified, one approach that has worked well is, to quote the [*RT-11 Volume and File Formats Manual (August 1991)*](http://web.archive.org/web/20230224103218if_/http://bitsavers.org/pdf/dec/pdp11/rt11/v5.6_Aug91/AA-PD6PA-TC_RT-11_Volume_and_File_Formats_Manual_Aug91.pdf), to "allocate for the [new extent] either one-half the largest space available, or the second largest space, whichever is bigger." ## Metadata structures ### Superblock