CDA music tracks file format by Wojtek Kaniewski 1997 Note: Everything in this file is based on my own investigations. All information that you'll find in this text file do not come from Microsoft Corp. CDA files are generally RIFF resources. The RIFF id of .CDA file is "CDDA" (43h, 44h, 44h, 41h). They contain only one data block called "fmt " (66h, 6dh, 74h, 20h). In current version of .CDA file, this block is 24 bytes long. Here's structure of it: Offset Length Description 00h 02h CDA file version. Currently equals 1. If it has other value, following data may be out of date. 02h 02h Number of track. 04h 04h CD disc serial number (the one stored in CDPLAYER.INI) 08h 04h Beginning of the track in HSG format. 0Ch 04h Length of the track in HSG format. 10h 04h Beginning of the track in Red-Book format. 14h 04h Length of the track in Red-Book format. As you see, time is represented in two formats: HSG and Red-Book. HSG can be calculated as following: time = minute * 4500 + second * 75 + frame Red-book is much easier to use, because it contains minutes, seconds and frames in unmodified form, byte-packed: Offset Length Description 00h 01h Frame 01h 01h Second 02h 01h Minute 03h 01h not used Now, I'll show you an example file. First part is a hex dump of the file, the second is the explanation of the fields. 52 49 46 46 24 00 00 00 43 44 44 41 66 6D 74 20 RIFF$...CDDAfmt 18 00 00 00 01 00 04 00 B8 24 F6 00 F7 11 01 00 .........$...... B4 5C 00 00 0A 25 0F 00 20 10 05 00 .\...%.. ... 01 00 - first version of CDA file :) 04 00 - fourth track B8 24 F6 00 - serial number of CD in CDPLAYER.INI is [F623B8] F7 11 01 00 - begining of track in HSG format B4 5C 00 00 - length of track in HSG format 0A 25 0F 00 - begining of track in Red-Book format (15:37) 20 10 05 00 - length of track in Red-book format (05:16) That's all. It should be enough to write CDA Viewer :) If you need more info or something isn't clear, feel free to write. Wojtek Kaniewski wojtekka@logonet.com.pl