God of Thunder Music Format

From ModdingWiki
Jump to: navigation, search
God of Thunder Music Format
Format typeMusic
Notation typeOPL
Max channel count9 or 11
Max track count1
Max pattern count1
Max order count0

God of Thunder stores its music in this format. It is a raw Adlib format, containing the exact register and data pairs to send to the OPL chip.

File format

The file begins with a header of unknown purpose.

Data type Description
UINT16LE header Always 0x0001

This is then immediately followed by a variable number of three byte chunks.

Data type Description
BYTE delay Number of ticks to wait *after* the data has been sent
BYTE reg OPL register to write to
BYTE val Value to write

The very last chunk has all values set to zero, plus a final 0x00 byte.


Songs are played at a different tempo (i.e. each delay tick lasts a different length of time): menu.got plays at 140 Hz, all other songs plays at 120 Hz. Known song lengths (based on Teppic's PCM recordings of in-game Adlib playback) are:

Song Length Notes
menu 1:15,759 in got.exe, not in gotres.dat
song11 1:41,457
song12 2:07,676
song13 1:07,647
song14 0:59,884
song21 1:19,258
song22 1:27,120
song23 0:34,845
song24 1:06,350
song25 1:39,959
song31 0:55,890
song32 0:58,659
opensong 1:19,821 Story song - slow version of song33
song33 1:13,730 in-game version of the story song
song34 1:11,795
song35 1:19,315
song36 0:47,887
winsong 0:32,918
bosssong 0:26,169

When some songs are converted to this format (e.g. Keen 6 aliens.imf), the tempo speeds up considerably towards the end of the file, so it would seem there is some way of adjusting the song tempo during playback. ! Check whether it's a conversion bug.


The following tools are able to work with files in this format.

Name PlatformPlay? Create new? Modify? Convert/export to other? Import from other? Access hidden data? Edit metadata? Notes
Camoto Linux/WinYesNoNoYes; manyYes; manyN/AN/A Incorrect tempo
GromPE's GoT unpacker WindowsNoNoNoYes; .imfNoN/AN/A Incorrect tempo
GromPE's OPL2WAV WindowsNoNoNoYes; .wavNoN/AN/A Incorrect tempo
Wombat WindowsNoNoNoYes; .imfNoN/AN/A Incorrect tempo


This file format was reverse engineered by Malvineous. If you find this information helpful in a project you're working on, please give credit where credit is due. (A link back to this wiki would be nice too!)