English
PROGRAMMER'S GUIDEファイルシステムライブラリ
戻る進む
ファイルシステムライブラリ

4.ファイルアクセス


4.1 アクセスモデル

 ファイルアクセスのモデル図を図4.1に示します。

図4.1 アクセス関数モデル

 CD-ROMからCDバッファへデータを転送することを「読み込み」と呼び、CDバッファからホスト領域にデータを転送することを「取り出し」と呼びます。
 アプリケーションはGFS_Fread、GFS_NwFreadを使うことによって読み込み処理を意識せずにCD-ROMからデータを転送できます。
 読み込み処理もアプリケーションで制御したい場合はGFS_NwCdReadを使用します。

4.2 アクセスポインタ

 アクセスポインタは読み込みによって更新されるため、セクタ単位で移動します。
 次の式を実行して、ホスト領域bufへ5000バイト読み込む処理を実行したときのアクセスポインタの移動を図4.2に示します。実行後、アクセスポインタは、AP1からAP2へ移動しています。

 GFS_Fread(gfs, 3, buf, 5000);

図4.2 アクセスポインタの移動

 ファイルの種類ごとのセクタの大きさを表4.1に示します。

表4.1 ファイル種別ごとのセクタ長
ファイル種別
セクタ長(byte)
CD-ROM Mode1
2048
CD-ROM Mode2 Form1のみ
2048
CD-ROM Mode2 Form2のみ
2324
CD-ROM Mode2混在
不定
DOSファイル
2048
メモリファイル
2048

 読み込みがセクタ単位で行われるのに対して、取り出しは4バイト単位で行われます。

4.3 ファイルごとに管理されるパラメータ

 オープンされた各ファイルについてライブラリが管理するパラメータのうち、アプリケーションは5個のパラメータを変更できます。それらのパラメータを表4.2に示します。

表4.2 各ファイルのパラメータ
パラメータ
説明
変更する関数
初期値
アクセスポインタ
読み込みを開始
するファイル上のオフ
セット(単位はセクタ)
GFS_Seek
0
取り出しモード
取り出した後、CD
バッファのセクタデータを
削除するか、残して
おくかを指定する
GFS_SetGmode
GFS_GMODE_ERASE
転送モード
取り出し処理を行
うデバイスを指定する
GFS_SetTmode
GFS_TMODE_CPU
読み込みパラメータ
1回の読み込み
処理で転送する
最大セクタ数
GFS_SetReadPara
GFS_RPARA_DFL
取り出しパラメータ
1回の取り出し
処理で転送す
るセクタ数
GFS_SetTransPara
1

 オープンされているファイルは、CDブロックの資源である絞りとバッファ区画をそれぞれ一つずつ専有します。


戻る進む
PROGRAMMER'S GUIDEファイルシステムライブラリ
Copyright SEGA ENTERPRISES, LTD., 1997