READ DISC INFORMATION コマンドで入手されるデータの構造は、次のとおりです
| BYTE\bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
| 0 |
| (MSB) |
| Disc Information Length |
| (LSB) |
|
| 1 |
| 2 | 予約 | Erasable | State of last Session | Disc Status |
| 3 | Number of First Track on Disc |
| 4 | Number of Sessions (Least Significant Byte) |
| 5 | First Track Number in Last Session (Least Significant Byte) |
| 6 | Last Track Number in Last Session (Least Significant Byte) |
| 7 | DID_V | DBC_V | URU | 予約 | DBit | BG Format Status |
| 8 | Disc Type |
| 9 | Number of Sessions (Most Significant Byte) |
| 10 | First Track Number in Last Session (Most Significant Byte) |
| 11 | Last Track Number in Last Session (Most Significant Byte) |
| 12 |
| (MSB) |
Disc Identification |
| (LSB) |
|
| 13 |
| 14 |
| 15 |
| 16 |
| (MSB) |
Last Session Lead-in Start Time HMSF |
| (LSB) |
|
| 17 |
| 18 |
| 19 |
| 20 |
| (MSB) |
Last Possible Start Time for Start of Lead-out HMSF |
| (LSB) |
|
| 21 |
| 22 |
| 23 |
| 24 |
| (MSB) |
| Disc Bar Code |
| (LSB) |
|
| … |
| 31 |
| 32 | 予約 |
| 33 | Number of OPC Table Entries (=n) |
| 34〜34+8*n | OPC Table Entries |
よくわかっていないパラメータも多いので、
適当に飛ばします。
Disc Information Length はこのデータの全記述に必要なバイト数です。
ただし、それ自体のバイト数 (2バイト) が除かれています。
OPC Table Entries の数によって変わるので、必要によっては
この値を入手した後でメモリを確保し直し、もう一度コマンドを送ってください。
Disc Status では、メディアが空かどうかが判ります。
| Disc Status | 意味 |
| 00B | 空のディスク |
| 01B | 追記可能なディスク(上書き可能も含まれるかも) |
| 10B | データが書かれたディスク(ROM と焼かれた R/W) |
| 11B | その他 |
State of last Session は、追記する際の最後のセッションの状態を返します。
| Status | 意味 |
| 00B | 空のセッション |
| 01B | 追記可能なセッション |
| 10B | 予約 もしくは DVD-R/W では壊れたセッション |
| 10B | 完全なセッション |
Erasable が 1 ならば消去可能なメディア、つまり RW か RAM などです。
0 であれば、消去不可、つまり ROM か 焼かれた ±R メディアです。
Number of First Track は、空の CD-R/W では 0 で、それ以外は 1 です。
Number of Sessions は、セッション数、
First Track Number in Last Session は、最後のセッションにおける最初のトラック番号、
Last Track Number in Last Session は、最後のセッションにおける最後のトラック番号、
です。(直訳ですみません。)
DID_V (Disc ID Valid) が 1 ならば、Disc Identification が有効です。
DBC_V (Disc Bar Code Valid) が 1 ならば、Disc Bar Code field が有効です。
Disc Type は次のとおりです。
| Disc Type | 意味 |
| 0x00 | CD-DA または CD-ROM |
| 0x10 | CD-I |
| 0x20 | CD-ROM XA |
| 0xFF | 決まっていない |
| 他 | 予約 |
Last Session Lead-in Start Time は、書き込みのスタート位置です。
Last Possible Start Time for Start of Lead-out は、データを書き込める最後の位置です。
この2つは CD-R/W で有効です。
ROM や 終了した -R/W では FF:FF:FF:FF (=70016880 lba) という値が返ってきます。
空の DVD±R/W などでは 0 です。
DVD などでは、READ DISC STRUCTURE コマンドを使ってください。
Number of OPC Table Entries は、OPC Table Entries の数です。
OPC Table Entries は、1ブロックが8バイトで、その構造は次のとおりです。
| BYTE\bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
| 0 |
| (MSB) |
| Speed (kBytes per second) |
| (LSB) |
|
| 1 |
| 2 |
|
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
OPC Values はメーカー毎に異なります。