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 は相当細かく指定できるようですが、どちらも使ったことはありません。

