BLANK コマンドの CDB は次のとおりです。
BYTE\bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
0 | Operation Code = 0xA1 | ||||||||||
1 | 予約 | IMMED | 予約 | Blanking Type | |||||||
2 |
|
||||||||||
3 | |||||||||||
4 | |||||||||||
5 | |||||||||||
6 | 予約 | ||||||||||
7 | 予約 | ||||||||||
8 | 予約 | ||||||||||
9 | 予約 | ||||||||||
10 | 予約 | ||||||||||
11 | Control |
IMMED が 0 であれば、初期化が終わるまで戻りません。 1 ならば、バックグラウンドで初期化処理を行うと思います。
Blanking Type は、CD-RW と DVD-RW で異なります。 どちらも、0(全フォーマット) と 1(クイックフォーマット) しか使ったことがありませんので、 列挙するに留めておきます。
CD-RW の場合
Blanking Type | Name | Description |
000b | Blank the disc | PCA、PMA、リードインからリードアウトまで初期化する |
001b | Minimally blank the disc | PMAとディスクのリードイン、最初のトラックのプレギャップのみ初期化する |
010b | Blank a Track | |
011b | Un-reserve a Track | |
100b | Blank a Track Tail | |
101b | Unclose the last complete session | |
110b | Blank the last non-empty Session | |
111b | 予約 |
DVD-RW の場合
Blanking Type | Name | Description |
000b | Blank the disc | RMA、リードインからリードアウトまで初期化する |
001b | Minimally blank the disc | リードインとRMAのみ初期化する |
010b | 予約 | |
011b | Un-reserve a Track | |
100b | Blank a Track Tail | |
101b | Unclose the last complete session | |
110b | Blank Session | |
111b | 予約 |
Start Address は Blanking Type によって異なります。 Blanking Type = 0, 1 の場合、Start Address は無視されます。
なお、BLANK コマンドでは、データ用のバッファは必要ありません。
私の場合、IMMED = 0、 Blanking Type = 0 or 1 で使っており、経過表示が出来なくて困っています。
似たような名前のコマンドに ERASE(10)(=0x2C) と FORMAT UNIT(=0x04) があります。
ERASE(10) は指定したアドレスのデータを消去するようです。
FORMAT UNIT は相当細かく指定できるようですが、どちらも使ったことはありません。