RESERVE TRACK コマンドは、CDB は、パラメータ ARSV によって 容量で指定する場合と位置(LBA)で指定する場合の2種類があります。
ARSV = 0 が先に作られたフォーマットで、容量で指定します。それは次のとおりです。
BYTE\bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
0 | Operation Code = 0x53 | ||||||||||
1 | 予約 | RMZ | ARSV = 0 | ||||||||
2 | 予約 | ||||||||||
3 | 予約 | ||||||||||
4 | 予約 | ||||||||||
5 |
|
||||||||||
6 | |||||||||||
7 | |||||||||||
8 | |||||||||||
9 | Control |
Reservation Size に書き込むディスクの容量をセクタ単位で入力します。
RMZ は HD DVD-R で使用され、1のとき U-RMZ だそうです。
ARSV = 1 は後から加えられたフォーマットで、使ったことはありません。 古いドライブでは対応していないかもしれません。 容量を最後の論理ブロックアドレスで指定します。
BYTE\bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
0 | Operation Code = 0x53 | ||||||||||
1 | 予約 | RMZ = 0 | ARSV = 1 | ||||||||
2 |
|
||||||||||
3 | |||||||||||
4 | |||||||||||
5 | |||||||||||
6 | 予約 | ||||||||||
7 | 予約 | ||||||||||
8 | 予約 | ||||||||||
9 | Control |
Reservation LBA に最後の位置を記入します。
読める最終アドレスは Reservation LBA -1 になります。
以下、共通項目です。
DVD-R/-RW の場合、1セクタは 2048 バイトです。 その Disc-at-once では Reservation Size と Reservation LBA は同じで、そのまま容量になります。 DVD-R/RW の Incremental や layer jump の使い方もありますが、わからないので割愛します。
DVD+R および +RW DL では、1セクタは 2048 バイトで、 容量は16の倍数になるよう自動的にかさ上げされます。
CD の Session at once ではエラーになります。
CD の Track-at-once での使い方もありますが、やはりわかりません。
なお、RESERVE TRACK コマンドでは、データ用のバッファは必要ありません。