FS Demos

# Sample Demo of the ROM File System (FS)

## Location

`$NitroSDK/build/demos/fs`

## Compilation

Move to the `$NitroSDK/build/demos/fs` directory and input

        % make.

This will generate executable (`.nef`, `.srl`) files under

        $NitroSDK/build/demos/fs/sample_name/bin/platform/target/

For example

        $NitroSDK/build/demos/fs/overlay/bin/ARM9-TEG/Release/

## Execution

Move to the `$NitroSDK/build/demos/fs/sample_name/bin/platform/target/` directory and do one of the following.

- With ensata, run `*.nef`, `*.srl`.
- With the TEG version of IS-NITRO-EMULATOR, run `*.srl`.
- With IS-NITRO-DEBUGGER, load `*.nlf` files and run.
- With IS-NITRO-DEBUGGER, run `*.srl`.

## Description

`file-1` | This is a very simple model of the program configuration that is required to use FS.
`file-2` | This embeds directories and files and reads them inside the program.

`async`

This sample repeats synchronous read inside each thread.
In the case that the run environment supports asynchronous operation, at blocking time the thread will be put to sleep and switched.
Otherwise, it will continue to repeat reading a single thread.
For details refer to the description of the `FS_ReadFileAsync` function.

`overlay` | This is a simple overlay sample.

`arc-1`

This is a sample that loads these two archives independently.

- Archive that operates the same way as the default ROM archive.
- Archive that accesses the internal file system in the program binary stored as a file.

`arc-2` | This is a sample that loads an unique directory that does not comply with the NitroROM format as an archive. Unlike `arc-1` sample, this sample shows some examples that replace some of the basic access commands from the default processes by user procedure.

## Operation

Works in all execution environments.

## See Also

`FS Function List`

## Revision History

10/06/2004 Revised and added a part of the description regarding samples
08/17/2004 Standardized the notation of the IS-NITRO-EMULATOR.
07/10/2004 Changed from `.bin` to `.srl`
06/18/2004 Revised the description of the execution method
05/20/2004 Initial Version