# ROM アーカイブ

## 概要

この項では、ファイルシステムにデフォルトで用意される「ROM アーカイブ」について説明します。

## 仕様

ROM アーカイブの基本的な動作は以下の通りです。
・ファイルシステムによって予約されているアーカイブ名 "rom" を使用し、
`FS_Init()`の呼び出し時に自動的にロードされます。
・CARD 関数を使用して適宜 CARD ROM へアクセスすることによって、
CARD ROM 上に構築されたNitroROMフォーマットのアーカイブ情報を提供します。
・オーバーレイテーブルへアクセスするFS関数から使用されます。

## 実装

ROMアーカイブの具体的な実装は以下の通りです。
[リードコールバック]
`CARD_ReadRomAsync()`によって CARD ROM からデータを読み出します。
処理開始時に FS_RESULT_PROC_ASYNC を返し、完了時に FS_RESULT_SUCCESS を応答します。
[ライトコールバック]
対応せず、常にFS_RESULT_FAILUREを返します。
[ユーザプロシージャ]

FS_COMMAND_ACTIVATE | 後続の CARD ROM アクセスのために`CARD_LockRom()`を呼び出します。
FS_COMMAND_IDLE | CARD ROM アクセスの終了に伴い`CARD_UnlockRom()`を呼び出します。
FS_COMMAND_WRITEFILE | このコマンドには対応せず、常に FS_RESULT_UNSUPPORTED を返します。
その他 | FS_RESULT_PROC_UNKNOWNを返し、デフォルトのコマンド実装に任せます。

## 参照

`FSArchive FS_ARCHIVE_PROC_FUNC
FS_SetArchiveProc`

## 履歴

2008/07/14 アーカイブ名に関して記述を若干修正
2004/09/24 初版