WRITE (10) コマンドの CDB は次のとおりです。
BYTE\bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
0 | Operation Code = 0x2A | ||||||||||
1 | 予約 | FUA | 予約 | TSR | 予約 | ||||||
2 |
|
||||||||||
3 | |||||||||||
4 | |||||||||||
5 | |||||||||||
6 | 予約 | ||||||||||
7 |
|
||||||||||
8 | |||||||||||
9 | Control |
FUA (force unit access) と TSR (Timely Safe Recording)は とりあえず 0 でいいでしょう。TSRは古いバージョンでは対応していません。 (例によって使ったことがありません。)
"論理ブロックアドレス"はCD-R/Wの場合、前に示した変換式を使って計算してください。
"データの大きさ" の "ブロック数" とは、書き込むセクタの数(フレームの数)です。 1ブロックの大きさ(バイト数)は、CDの場合、 http://senbee.seesaa.net/article/23386916.html (track at once または packet または raw mode) か、SEND CUE SHEET (session at once) で決めます。
ストリーミング書き込み?をするときは、WRITE (12) コマンド (Operation Code = 0xAA) を使いますが、 やはり試したことはありません。