In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

Changes

Jump to navigation Jump to search
1,146 bytes added ,  02:57, 29 May 2022
←Created page with ''''FS''' is an IOS module responsible for handling NAND operations, both in the filesystem and in other areas such as boot2. == Devices == * :/...'
'''FS''' is an [[IOS]] module responsible for handling [[Hardware/NAND|NAND]] operations, both in the filesystem and in other areas such as [[boot2]].

== Devices ==
* [[:/dev/boot2]]
* [[:/dev/flash]]
* [[:/dev/fs]]
* Any path that exists in the NAND filesystem can also be opened

== Flavors ==
FS comes in 4 flavors:
* FS is present in [[IOS28]] and below, as well as all [[System Menu]] IOSes prior to [[3.4]].
* FFS is present in non-System Menu IOSes starting with [[IOS31]] but prior to [[IOS37]] (excluding [[IOS38]]).
* FSP is present in System Menu IOSes starting at 3.4.
* FFSP is present in non-System Menu IOSes (including stubs of System Menu IOSes) starting in IOS37.

FS and FFS seem to have a completely different layout in the assembly, so the functional differences are not known.

== Configuration ==
FS has multiple config structs. Numerical values currently listed are measured in powers of 2.

<pre>
struct SFFSConfig {
u32 unknown;
u32 superblockAreaSize;
}

struct SFFSConfig2 {
u32 off1;
u32 off2; // off1 + off2 is the offset to superblocks
}

struct NANDChipConfig {
u32 unknown[9];
u32 pagesPerCluster;
}
</pre>
5,579

edits

Navigation menu