English
PROGRAMMER'S GUIDECD通信I/F(CDパート)
戻る進む
CD通信インタフェースユーザーズマニュアル(CDパート)/リファレンス

データ詳細


7.2.6 データ型



Title

データ仕様

Data

CDステータス情報

Data Name

CdcStat

No

6.1

CDブロックのステータスとCDレポートを合わせて、CDステータス情報と呼びます。

 (1)CDステータス情報……CDC_GetCurStat, CDC_GetLastStat, CDC_GetPeriStat関数
CdcStat *stat
アクセスマクロ
説 明
CDC_STAT_STATUS(stat)
Uint8
ステータス(ステータスコードなど)
CDC_STAT_FLGREP(stat)
Uint8
CDレポートのCDフラグとリピート回数
CDC_STAT_CTLADR(stat)
Uint8
CDレポートのCONTROL/ADRバイト
CDC_STAT_TNO(stat)
Uint8
CDレポートのトラック番号(バイナリ値)
CDC_STAT_IDX(stat)
Uint8
CDレポートのインデックス番号(バイナリ値)
CDC_STAT_FAD(stat)
Uint32
CDレポートのフレームアドレス

 (2)関連するマクロ
マクロ名
説 明
CDC_GET_STC(stat)
CDステータス情報からステータスコードを取得
CDC_GET_REPEAT(stat)
CDステータス情報からリピート回数を取得



Title

データ仕様

Data

ハードウェア情報

Data Name

CdcHw

No

6.2

 (1)ハードウェア情報……CDC_GetHwlnfo関数
CdcHw *hw
アクセスマクロ
説 明
CDC_HW_HFLAG(hw)
Uint8
ハードウェアフラグ
CDC_HW_VER(hw)
Uint8
CDブロックのバージョン情報
CDC_HW_MPVER(hw)
Uint8
MPEGのバージョン情報
・0の場合:MPEG使用不可※
・0以外の場合:MPEG使用可能
CDC_HW_DRV(hw)
Uint8
CDドライブ情報
CDC_HW_REV(hw)
Uint8
CDブロックのリビジョン情報
※BOOT ROM内サービスルーチンのMPEGチェックを実行する必要があります。

 (2)ハードウェアフラグ
bit  7  6  5  4  3  2  1  0
    [ ][-][-][-][-][-][ ][-]
     |                 |   
     |                 |
     |                 +------- CDC_HFLAG_MPEG  1:MPEGカートリッジ装着
     |
     +------------------------- CDC_HFLAG_HERR  1:ハードウェアエラー発生



Title

データ仕様

Data

CD位置パラメータ(1/2)

Data Name

CdcPos

No

6.3

 CDの再生範囲(開始位置、終了位置)指定、およびシーク位置指定に使用します。

 (1)位置タイプ
 位置パラメータは、省略値、フレームアドレス、トラック/インデックス、未変更の指定が可能です。どれを選択するか以下の定数(位置タイプ)で指定します。

定数名
説 明
CDC_PTYPE_DFL
省略値の指定_CD再生時:ディスク先頭/最後を表す
シーク時:ホーム位置を表す
CDC_PTYPE_FAD
フレームアドレス指定
CDC_PTYPE_TNO
トラック/インデックス指定
CDC_PTYPE_NOCHG
未変更の指定(設定値を変更しない)
ディスク先頭:FAD=150(96H)の位置(絶対時間で2秒0フレーム)
ディスク最後:FAD=リードアウト開始フレームアドレス(TOC情報)−1の位置

 (2)位置パラメータ……CDC_CdSeek関数
CdcPos *pos
アクセスマクロ
説 明
CDC_POS_PTYPE(pos)
Sint32
位置タイプ
CDC_POS_FAD(pos)
Sint32
フレームアドレス、FADセクタ数
CDC_POS_TNO(pos)
Uint8
トラック番号
CDC_POS_IDX(pos)
Uint8
インデックス番号

 (3)設定方法

  1. 省略値の指定
    CdcPos poswk, *pos = &poswk;
    CDC_POS_PTYPE(pos) = CDC_PTYPE_DFL;
    

  2. フレームアドレス指定
    CdcPos poswk, *pos = &poswk;
    CDC_POS_PTYPE(pos) = CDC_PTYPE_FAD;
    CDC_POS_FAD(pos)  = fad;            /* フレームアドレス */
    
    終了位置の場合は、開始FADからのセクタ数(FADセクタ数)で指定します。

  3. トラック/インデックス指定
    CdcPos poswk, *pos = &poswk;
    CDC_POS_PTYPE(pos) = CDC_PTYPE_TNO;
    CDC_POS_TNO(pos)  = tno;          /* トラック番号   */
    CDC_POS_IDX(pos)  = x;           /* インデックス番号 */
    

  4. 未変更の指定
    CdcPos poswk, *pos = &poswk;
    CDC_POS_PTYPE(pos) = CDC_PTYPE_NOCHG;
    

 (4)フレームアドレスの例外事項
条件によって、フレームアドレスは以下のように解釈されます。

条件
開始位置、シーク位置
終了位置
FAD<ディスク先頭
FAD=ディスク先頭(150)
FAD=ディスク先頭-1
(FADセクタ数は0である)
FAD>ディスク最後
FAD=ディスク最後+1
(リードアウトに等しい)
FAD=ディスク最後

開始位置と終了位置の関係
:終了FAD=開始FAD+FADセクタ数−1
開始FAD<150の場合
:終了FAD=150+FADセクタ数−1

保持される再生範囲の内容は、開始FADと終了FADです。

 (5)トラック/インデックスの例外事項
条件によって、トラック/インデックスは以下のように解釈されます。

条件
開始位置、シーク位置
終了位置
TNO=0
(トラックの省略値)
TNO=ディスク先頭トラック
TNO=ディスク最終トラック
X=0
(インデックスの省略値)
X=1
X=99(63H)
TNO<ディスク先頭トラック
TNO=ディスク先頭トラック
X=1(X=0と同じ)
TNO=ディスク先頭トラック
X=99(X=0と同じ)
TNO>ディスク最終トラック
TNO=ディスク最終トラック
X=1(X=0と同じ)
TNO=ディスク最終トラック
X=99(X=0と同じ)
Xが存在しない
(次のトラックから)
(トラックの終了まで)
TNO:トラック番号、X:インデックス番号

X=0は、トラックだけの指定を意味する。(トラック先頭/最後のインデックス)
TNO=X=0は、位置パラメータの省略値です。
(開始位置:ディスク先頭、終了位置:ディスク最後、シーク位置:ホーム位置)

 (6)再生範囲の例外事項
終了位置<開始位置ならば、再生範囲は保持されますが、CDは再生されません。
(フレームアドレス指定、トラック/インデックス指定のいずれの場合も)

 (7)特殊な指定の意味


Title

データ仕様

Data

CD再生パラメータ

Data Name

CdcPly

No

6.4

CD再生時の、再生範囲と再生モードの指定に使用します。

 (1)再生モード
 CD再生時に、再生区間の最大リピート回数と、ピックアップ位置(再生位置)を指定します。

bit  7  6  5  4  3  2  1  0
    [ ][           ]    省略値(初期値):00H
     |    最大リピート回数 (指定回数の有効範囲は下位4ビット)
     |
     |       00H  → リピートなし(1回だけ再生)
     |    01H〜0EH→ リピート指定回数(1〜14回リピート)
     |       0FH  → 無限リピート
     |       7FH  → 最大リピート回数を変更しない
     |
     +------------------------- 0:ピックアップ位置を変更しない(現在位置から再生する)
                                1:ピックアップを開始位置へ移動する(開始位置から再生する)

定数名
説 明
CDC_PM_DFL
再生モードの省略値
(リピートなし、ピックアップを開始位置へ移動する)
CDC_PM_REP_NOCHG
最大リピート回数を変更しない
CDC_PM_PIC_NOCHG
ピックアップ位置を変更しない
CDC_PM_NOCHG
再生モード(最大リピート回数、ピックアップ位置)
を変更しない

《ピックアップ位置を変更しない場合》
 シークしてから実行すれば、任意の位置から再生を開始できます。〈PLAY〉中に実行すれば、CD再生を中断せずに再生範囲や最大リピート回数だけを変更できます。
 実行した結果、現在位置が再生範囲外に出てしまうとリピート処理が行われます。

 (2)再生パラメータ……CDC_CdPlay関数
CdcPly *ply
アクセスマクロ
説 明
CDC_PLY_START(ply)
CdcPos
再生開始位置パラメータ
CDC_PLY_STYPE(ply)
Sint32
開始位置タイプ
CDC_PLY_SFAD(ply)
Sint32
開始位置フレームアドレス
CDC_PLY_STNO(ply)
Uint8
開始位置トラック番号
CDC_PLY_SIDX(ply)
Uint8
開始位置インデックス番号
CDC_PLY_END(ply)
CdcPos
再生終了位置パラメータ
CDC_PLY_ETYPE(ply)
Sint32
終了位置タイプ
CDC_PLY_EFAS(ply)
Sint32
終了位置フレームアドレスセクタ数
CDC_PLY_ETNO(ply)
Uint8
終了位置トラック番号
CDC_PLY_EIDX(ply)
Uint8
終了位置インデックス番号
CDC_PLY_PMODE(ply)
Uint8
再生モード(リピート指定、ピックアップ移動)

 (3)再生パラメータの設定方法
 再生パラメータには、再生範囲と再生モードを指定します。再生範囲は、開始位置と終了位置の位置パラメータの組み合わせで指定します。

  1. 再生範囲に、トラック指定とフレームアドレス指定を組み合わせることはできません。
     その場合、REJECTを返します。それ以外の再生範囲の組み合わせは全て可能です。

  2. 再生範囲と再生モードの組み合わせは全て可能です。

  3. 再生範囲と最大リピート回数はCDブロック内で保持され、再設定されるまで有効です。

  4. 省略値:ディスク先頭〜ディスク最後、リピートなし、ピックアップを移動する

 設定例を以下に示します。

NO
再生方法
開始位置
終了位置
備考
1
トラック指定
tno1,x1
tno2,x2
 
2
フレームアドレス指定
fad
fasnum
注1
3
ディスク先頭から再生
CDC_PTYPE_DFL
tno2,x2
 
fasnum
4
ディスク最後まで再生
tno1,x1
CDC_PTYPE_DFL
 
fad
5
終了位置を変更しない
(開始位置だけ変更)
tno1,x1
CDC_PTYPE_NOCHG
注2
fad
6
開始位置を変更しない
(終了位置だけ変更)
CDC_PTYPE_NOCHG
tno2,x2
注2
fasnum
7
再生パラメータを変更
せず、CD再生を再開
(ポーズ解除)
CDC_PTYPE_NOCHG
CDC_PTYPE_NOCHG
再生モードに
CDC_PM_NOCHG
を指定する。
《表記》
fad:フレームアドレス
fasnum:フレームアドレスセクタ数
tno1:開始トラック番号
tno2:終了トラック番号
x1:開始インデックス番号
x2:終了インデックス番号

注1:終了位置として、fad+fasnum−1 が保持されます。
注2:一方が未変更の場合も、トラックとフレームアドレス指定の組み合わせは不可。

 (4)再生範囲の例外事項
 終了位置<開始位置ならば、再生されません。再生範囲外と同じく、〈PAUSE〉状態になります。
 ただし再生範囲は保持され、再生モードも有効です。



Title

データ仕様

Data

サブヘッダ条件

Data Name

CdcSubh

No

6.5

 絞りに対するサブヘッダ条件の設定/取得時に使用します。

 (1)サブヘッダ条件……CDC_SetFiltSubh, CDC_GetFiltSubh関数
*subh
アクセスマクロ
説 明
CDC_SUBH_FN(subh)
Uint8
ファイル番号
CDC_SUBH_CN(subh)
Uint8
チャンネル番号
CDC_SUBH_SMMSK(subh)
Uint8
サブモードのマスクパターン
CDC_SUBH_SMVAL(subh)
Uint8
サブモードの比較値
CDC_SUBH_CIMSK(subh)
Uint8
コーディング情報のマスクパターン
CDC_SUBH_CIVAL(subh)
Uint8
コーディング情報の比較値
・マスクパターン:比較対象ビットパターン
・比較置:マスクパターンで指定されたビットの比較値

 サブモード、コーディング情報は、それぞれマスクパターンとの論理積を取った後、比較値と等しいか判定されます。

条件式 (サブモード & SMMSK)=SMVAL
(コーディング情報 & CIMSK)=CIVAL

 (2) サブモード
bit  7  6  5  4  3  2  1  0
    [ ][ ][ ][ ][ ][ ][ ][ ]
     |  |  |  |  |  |  |  |
     |  |  |  |  |  |  |  +---- CDC_SM_EOR     1:レコード最後のセクタ
     |  |  |  |  |  |  +------- CDC_SM_VIDEO   1:ビデオセクタ
     |  |  |  |  |  +---------- CDC_SM_AUDIO   1:オーディオセクタ
     |  |  |  |  +------------- CDC_SM_DATA    1:データセクタ
     |  |  |  +---------------- CDC_SM_TRIG    1:トリガON
     |  |  +------------------- CDC_SM_FORM    1:Form2   0:Form1
     |  +---------------------- CDC_SM_RT      1:リアルタイムセクタ
     +------------------------- CDC_SM_EOF     1:ファイル最後のセクタ



Title

データ仕様

Data

セクタ情報

Data Name

CdcSct

No

6.6

 (1)セクタ情報……CDC_GetSctInfo関数
CdcSct *sct
アクセスマクロ
説 明
CDC_SCT_FAD(sct)
Sint32
フレームアドレス
CDC_SCT_FN(sct)
Uint8
ファイル番号
CDC_SCT_CN(sct)
Uint8
チャネル番号
CDC_SCT_SM(sct)
Uint8
サブモード
CDC_SCT_CI(sct)
Uint8
コーディング情報



Title

データ仕様

Data

ファイル情報

Data Name

CdcFile

No

6.7

 (1)ファイル情報……CDC_TgetFileInfo関数
CdcFile *file
アクセスマクロ
説 明
CDC_FILE_FAD(file)
Sint32
ファイル先頭フレームアドレス
CDC_FILE_SIZE(file)
Sint32
ファイルサイズ(バイト数)※1
CDC_FILE_UNIT(file)
Uint8
ファイルユニットサイズ
CDC_FILE_GAP(file)
Uint8
ギャップサイズ
CDC_FILE_FN(file)
Uint8
ファイル番号※2
CDC_FILE_ATR(file)
Uint8
ファイルアトリビュート
※1:インタリーブ時のギャップセクタを含まない、正味のファイルの大きさを表します。
※2:ディレクトリレコードのシステム情報がない場合、ファイル番号は0とします。

 (2)ファイルアトリビュート
bit  7  6  5  4  3  2  1  0
    [ ][ ][ ][ ][ ][-][ ][-]
     |  |  |  |  |     |
     |  |  |  |  |     |
     |  |  |  |  |     +------- CDC_ATR_DIRFG   1:ディレクトリである ※3
     |  |  |  |  |
     |  |  |  |  +------------- CDC_ATR_FORM1   1:Form1セクタを含む ※4
     |  |  |  +---------------- CDC_ATR_FORM2   1:Form2セクタを含む ※4
     |  |  +------------------- CDC_ATR_INTLV   1:インタリーブセクタを含む ※4
     |  +---------------------- CDC_ATR_CDDA    1:CD−DAファイル ※4
     +------------------------- CDC_ATR_DIRXA   1:ディレクトリファイル ※4

※3:bit1はディレクトリレコード内ファイルフラグのディレクトリビットです。
ディレクトリレコードのシステム用情報がない場合に有効となります。
(システム用情報がある場合、ディレクトリの判別はbit7を優先します)
※4:bit3〜7はCD-ROM XA規格に準拠したアトリビュート情報です。
システム用情報がない場合、bit3〜7は全て0とします。


戻る進む
PROGRAMMER'S GUIDECD通信I/F(CDパート)
Copyright SEGA ENTERPRISES, LTD., 1997