2006年08月24日

READ CD その1

CDでは、汎用の READ (10) コマンドではなく 専用の READ CD (または READ CD MSF) コマンドを使用することで、 CD に記録された内容を、メインデータだけでなく各モードのヘッダや訂正コード、サブチャネル の情報まで選択して入手できます。

READ CD コマンドの CDB は次のとおりです。

BYTE\bit 7 6 5 4 3 2 1 0
0Operation Code = 0xBE
1予約セクタの形式予約Zero
2
(MSB)
読込開始 LBA アドレス
 
(LSB)
3
4
5
6
(MSB)
取得セクタ数
(LSB)
7
8
9SYNCheader codesUser dataEDC & ECC C2 Error予約
10予約Sub-channel
11Control


1バイト目の「セクタの形式」は、読み取るセクタのモードを示します。

セクタの形式内容
000B全て
001BCD-DA
010BMode 1
011BMode 2
100BMode 2 form 1
101BMode 2 form 2
110B予約
111B予約

ここで設定した形式と、実際に読み取るデータの形式が異なる場合、 SK=5, ASC=64, ASCQ=00, ILLEGAL MODE FOR THIS TRACK エラーが返ってきます。


9〜10バイト目で、読み取る情報の内容を指定します。 9バイト目がメインデータ、10バイト目がサブチャネルのデータです。 各ビットを1に設定すると、そのデータが読み取れます。 このうち C2 Error は使ったことがないので、割愛します。

Header Code読み込む内容
00B読み込まない
01B4バイトのヘッダのみ
10BMode2Form1,2のサブヘッダのみ
11Bヘッダ、サブヘッダの両方

Sub-channel読み込む内容バイト数
000B読み込まない0
001BRAW形式。生のP-Wサブチャネルデータ96
010BQサブチャネルデータ16
011B予約-
100BR-Wサブチャネルデータ
(使ったことがない)
??
posted by 七癖 at 10:11| Comment(0) | TrackBack(0) | Multimedia Commands | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック