一 |
Title |
Function |
Function Name[SR] |
No |
一 |
Title |
Function |
Function Name[--] |
No |
一 |
Title |
Function |
Function Name[--] |
No |
一 |
Title |
Function |
Function Name[S-] |
No |
一 |
Title |
Function |
Function Name[S-] |
No |
Sint32 ret; Uint32 toc[102]; /* TOC情報格納領域の確保 */ ret = CDC_TgetToc(toc); /* TOC情報の取得 */
一 |
Title |
Function |
Function Name[S-] |
No |
一 |
Title |
Function |
Function Name[SR] |
No |
iflag | :初期化フラグ(下位8ビットが有効) |
stnby | :スタンバイタイム(下位16ビットが有効) |
ecc | :ECC回数(下位8ビットが有効) |
retry | :リトライ回数 (下位8ビットが有効) |
bit [7][-][5--4][3][2][1][0] | | | | | | | | | | | | | +---- 1:CDブロックのソフトリセットをする 0:しない | | | | | +------- 1:サブコードRWのデコードをする 0:しない | | | | +---------- 1:Mode2サブヘッダを認識する 0:しない | | | +------------- 1:Form2リードリトライをする 0:しない | +--+---------------- CD−ROMデータリード速度(標準速度は指定不可) | 0(00B):最高速(現在は2倍速) | 2(01B):2倍速 | +------------------------- 1:設定を変更しない 0:しない
Mode2サブヘッダの認識は、CD-ROMデコード時の訂正処理のために使われます。セレクタは常にMode2サブヘッダを認識します。(絞りやセクタ長の条件判断など)
Form2リードリトライをしない場合は、エラーがあってもデータを出力します。
CD-ROMデータリード速度は、〈PAUSE〉状態になると切り替わります。CD-DA領域の再生時には自動的に標準速となります。CD-ROM領域に入ると元の速度に戻ります。
ソフトリセットする場合、本関数内で3ms程度待ってから、CMOKフラグを無視してコマンドを発行しています。(通常の通信手順によらず、強制的に発行可能)
ソフトリセット中は、全てのコマンド発行を禁止します。ソフトリセットの終了は、割り込み要因レジスタのESELフラグが1になることで判定してください。
他の入力パラメータ(iflagのbit1〜6,stnbyなど)は無視され、初期値になります。
〈OPEN〉,〈NODISC〉状態でも実行できますが、CDドライブ状態は遷移しません。
設定値 | 説 明 |
---|---|
0000H | 180秒(3分)……初期値 |
003CH〜0384H | 遷移時間(秒単位)……60〜900秒(1〜15分)まで指定可能 |
FFFFH | 設定を変更しない(CDC_PARA_NOCHG) |
設定値 | 説 明 |
---|---|
00H | ECCをリアルタイムに最大1回だけ処理する……初期値 |
01H〜05H | ECC処理後にエラーがある時の、繰り返し最大数(合計で2〜6回) |
80H | ECC処理を一切しない |
FFH | 設定を変更しない |
Mode1あるいはForm1のセクタに適用されます。
初期化フラグのbit2=1(Mode2サブヘッダを認識しない)のときはMode2のECC処理は行いません。
設定値 | 説 明 |
---|---|
00H | リトライせず、データ出力停止(〈ERROR〉になる)……初期値 |
01H〜0FH ※ | 指定回数リトライし、エラーならデータ出力停止(〈ERROR〉になる) |
40H | リトライせず、データ出力する。 |
41H〜4FH ※ | 指定回数リトライし、エラーでもデータ出力する |
80H | |
FFH | 設定を変更しない(CDC_PARA_NOCHG) |
bit [7][6][-][-][3 2 1 0] | | 指定回数(0〜15回) | | | +-------------------- 1:データ出力する 0:〈ERROR〉になり停止 +----------------------- 1:無限回リトライ 0:指定回数リトライ
Mode1あるいはForm1のセクタに適用されます。
初期化フラグのbit3=1(Form2リードリトライをする)のときはForm2にも適用されます。
初期化フラグのbit2=1(Mode2サブヘッダを認識しない)のときはMode2にも適用されます。
〈OPEN〉状態の場合はトレイを閉めます。
・自動式(フロントローディング)の場合:CDブロックが自動的にトレイを閉める。
・手動式(トップローディング)の場合:手動で閉めるまで〈BUSY〉状態となる。
〈NODISC〉状態の場合はトレイを開けます。(詳細はCDC_CdOpen関数を参照)
一 |
Title |
Function |
Function Name[SR] |
No |
一 |
Title |
Function |
Function Name[--] |
No |
定数名 | 説 明 |
---|---|
CDC_DRDY_GET | データを取り出す場合に指定する。(CDブロック→ホスト) |
CDC_DRDY_PUT | データを書き込む場合に指定する。(ホスト→CDブロック) |
一 |
Title |
Function |
Function Name[S-] |
No |
定数名 | 説 明 |
---|---|
CDC_DEND_ERR | データ転送でエラーが発生した。 |
転送状況 | ホストの転送ワード数 | CDブロックの転送ワード数(cdwnum) | |
取り出し時(CD→ホスト) | 書き込み時(ホスト→CD) | ||
転送中断 | ホストワード数<正規ワード数 | cdwnum>ホストワード数 | cdwnum=ホストワード数 |
全転送 | ホストワード数=正規ワード数 | cdwnum=正規ワード数=ホストワード数 | |
超過転送 | ホストワード数>正規ワード数 | cdwnum=正規ワード数<ホストワード数 |