# ROM Archives

## Overview

This chapter describes the "ROM Archive" that is prepared by default in the file system.

## Specifications

Basic ROM archive operations are shown below.
- ROM archives can be loaded automatically when the `FS_Init` function is called by specifying the archive name reserved by the file system (`rom`).
- By accessing the appropriate Game Card ROM using the CARD functions, information about NitroROM-format archives that have been created within the Game Card ROM is available. You can use it from FS functions that access the overlay table.

## Implementation

A ROM archive implementation is shown below.
Read callback:
The `CARD_ReadRomAsync` function reads CARD ROM data. It returns `FS_RESULT_PROC_ASYNC` when the process begins, and on completion responds with `FS_RESULT_SUCCESS`. Write callback:
Not supported. Always returns `FS_RESULT_FAILURE`.
User Procedures:

`FS_COMMAND_ACTIVATE` | Calls `CARD_LockRom` to access the CARD ROM that will follow.
`FS_COMMAND_IDLE` | Calls `CARD_UnlockRom` in conjunction with the end of CARD ROM access.
`FS_COMMAND_WRITEFILE` | This command is not supported. Will always return `FS_RESULT_UNSUPPORTED`.
Other | Returns `FS_RESULT_PROC_UNKNOWN` and defaults to default commands.

## See Also

`FSArchive
FS_ARCHIVE_PROC_FUNC
FS_SetArchiveProc`

## Revision History

2008/07/14 Made slight revisions to the description of archive names.
2004/09/24 Initial version.

CONFIDENTIAL