speed47 / qpxtool

Enhanced (unofficial) qpxtool version
GNU General Public License v2.0
24 stars 7 forks source link

BD-R reported layer number is incorrect #3

Closed speed47 closed 3 years ago

speed47 commented 3 years ago

We seem to miss a drive->cmd[1] = 1; as the media type is BD otherwise the data returned is always:

Media DI 0x00: 00 20 0E 01 00 01 01 20 00 00 00 00 00 00 00 00  | ................
Media DI 0x10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................

But it doesn't seem to be enough to get correct data.

For reference, data of a blank SONY BD-R QL, so 4 layers:

data len:  1D8 ( 472), Header:
 0x00 0x00 0x01 0xD8 0x00 0x00 0x00 0x41

MID raw data 00: 44 49 04 80 00 00 63 00 42 44 52 12 42 04 00 00  | DI.Ç..c.BDR.B...
MID raw data 10: 01 00 00 00 02 00 00 00 1F CD 7E 00 03 01 78 78  | .........═~...xx
MID raw data 20: 00 01 2A 58 73 01 01 2A 1C 64 80 48 48 38 38 38  | ..*Xs..*.dÇHH888
MID raw data 30: 78 78 78 78 78 00 00 00 80 80 80 D8 D8 D8 D8 D8  | xxxxx...ÇÇÇÏÏÏÏÏ
MID raw data 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................
MID raw data 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................
MID raw data 60: 00 00 00 00 53 4F 4E 59 00 00 4E 51 31 00 00 01  | ....SONY..NQ1...

Data of a written/closed Verbatim BD-R SL, so 1 layer:

data len:  1D8 ( 472), Header:
 0x00 0x00 0x01 0xD8 0x00 0x00 0x00 0x40

MID raw data 00: 44 49 01 28 00 00 62 00 42 44 52 01 12 01 00 00  | DI.(..b.BDR.....
MID raw data 10: 01 00 00 00 00 00 00 00 00 02 00 00 00 19 4E 7E  | ..............N~
MID raw data 20: 01 EC 64 64 28 28 28 28 1E 1E 1E 1E 00 00 00 00  | .ýdd((((........
MID raw data 30: 5F 73 64 04 04 45 1D 86 B0 F0 F0 F0 F0 00 00 00  | _sd..E.å░­­­­...
MID raw data 40: 00 00 00 00 00 50 00 50 00 50 00 50 00 58 00 58  | .....P.P.P.P.X.X
MID raw data 50: 00 58 00 58 00 60 00 60 00 60 00 60 00 90 A0 C0  | .X.X.`.`.`.`.Éá└
MID raw data 60: C8 C8 00 00 43 4D 43 4D 41 47 42 41 35 00 00 00  | ╚╚..CMCMAGBA5...

Data of a commercial BD-ROM with 2 layers:

data len:  1D8 ( 472), Header:
 0x00 0x00 0x01 0xD8 0x00 0x00 0x00 0x40

MID raw data 00: 44 49 01 10 00 00 20 00 42 44 4F 01 21 01 03 00  | DI......BDO.!...
MID raw data 10: 00 00 00 00 01 EA 5C DF 00 10 00 00 00 95 33 3E  | .....Û\▀.....ò3>
MID raw data 20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................
MID raw data 30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................
MID raw data 40: 44 49 01 11 00 01 20 00 42 44 4F 01 21 01 03 00  | DI......BDO.!...
MID raw data 50: 00 00 00 00 01 EA 5C DF 01 6A CC C0 01 EF FF FE  | .....Û\▀.j╠└.´ ■
MID raw data 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................
speed47 commented 3 years ago

One of the consequences: scanning a 2 layer BD, we don't get a properly sized graph: bdr_dl_graph_over

speed47 commented 3 years ago

Fixed in 2208d780790671e7c9657ab4db2779db64a799a0