GD3 Specification

From vgmrips

The GD3 tag is a bit like an ID3 tag only used for games. For further information on what goes into the fields, see Filling Out the Tags and Text File.

GD3 v1.00 tag spec

All values are written in Intel byte order. The GD3 tag begins with a "Gd3 " string. Next four bytes are the version number (current is 0x00,0x01,0x00,0x00) Next four bytes are a 32-bit length of the following data in bytes. The following data is a series of null-terminated strings of this form:

"Track name (in English characters)\0"
"Track name (in original (non-English) game language characters)\0"
"Game name (in English characters)\0"
"Game name (in original (non-English) game characters)\0"
"System name (in English characters)\0"
"System name (in original (non-English) game characters)\0"
"Name of Original Track Author (in English characters)\0"
"Name of Original Track Author (in original (non-English) game characters)\0"
"Date of game's release written in the form yyyy/mm/dd, or just yyyy/mm or yyyy if month and day is not known\0"
"Name of person who converted it to a VGM file.\0"
"Notes\0"
Note: "Japanese" was/is used in older programs to refer to the "original (non-English) game language".
Note: Two bytes are used to store every character, even English characters.

The null terminators are two zeros. e.g. 0x54 0x00 0x72 0x00 0x61 0x00 0x63 0x00 ... 0x00 0x00 New-line characters should only be in the notes field, where they are represented by 0x00 0x0a only. You can write 16-bit strings in Visual C++ like this:

unsigned short *MyString=L"Track name";

If a field in not used or unknown, it should be a empty string (i.e. two zero bytes for the null terminator).

Notes on Field Contents

System Name

Be careful to include the system name in a standard form. Here are some standard system names:

Keep spelling, spacing and capitalization the same.

Note: While Mega Drive and Genesis have been listed separately in the past, they should now be combined as shown above.

Original Track Author

Note that this person/these people might be the composer, arranger, programmer or any combination of these.

Add as many that apply to the track you are tagging, i.e. don't add someone who worked on a different track. If and only if specific authorship is unknown, list all known authors of the game's music.