|
Frame format status
So if I summarize, we have :
<frame>=
byte #0 : 3Dh (sometimes 3Fh - maybe erroneously)
byte #1 : frame id (incremented at each frame, cycling to 00h after FFh)
byte #2 : <data> length
bytes from #3 to #(length + 2) : <data>
byte #(length + 3) : CRC = XOR of all other bytes
<data>=
byte #0 : data type (e.g. : 47h = "playing")
other bytes : data type dependant
for the particular case of the "playing" data type, we have the following bytes :
byte #1 : track number
byte #2 : ?? 01h
byte #3 : ?? 00h (could be elapsed cd time, hours (BCD))
byte #4 : elapsed cd time, minutes (BCD)
byte #5 : elapsed cd time, seconds (BCD)
byte #6 : ?? constant byte per track
byte #7 : ?? 00h (could be elapsed track time, hours (BCD))
byte #8 : elapsed track time, minutes (BCD)
byte #9 : elapsed track time, seconds (BCD)
byte #10 : ?? 00h
For the elapsed time hours, I just thought of it while writing. I'll have to check with a longer CD...
So this one is almost done, except byte #6 (constant per track) ... No idea...
Last edited by Vicne; 02-12-2006 at 07:08 PM.
|