-RW メディアを初期化するには、BLANK コマンドを使います。
BLANK コマンドの CDB は次のとおりです。
BYTE\bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
0 | Operation Code = 0xA1 |
1 | 予約 | IMMED | 予約 | Blanking Type |
2 |
(MSB) |
Start Address/Logical Track Number |
(LSB) |
|
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 は相当細かく指定できるようですが、どちらも使ったことはありません。