Difference between revisions of "Sonic Classic Collection/Technical information"
From Sonic Retro
Ccawley2011 (talk | contribs) (Created page with "{{back}}Category:Technical information {{sub-stub}} '''''TODO:''''' * Move emulation information from the main page * More information about screensGame_eu.dat and Game.p...") |
Ccawley2011 (talk | contribs) |
||
Line 4: | Line 4: | ||
'''''TODO:''''' | '''''TODO:''''' | ||
* Move emulation information from the main page | * Move emulation information from the main page | ||
− | * More information about | + | * More information about Game.pak |
* Document any modifications made to the Mega Drive ROMs | * Document any modifications made to the Mega Drive ROMs | ||
* Full list of tracks from the .mods files? | * Full list of tracks from the .mods files? | ||
+ | |||
==Music and Sound effects== | ==Music and Sound effects== | ||
Line 34: | Line 35: | ||
The audio data follows immediately after this header, using the IMA ADPCM codec described [http://web.archive.org/web/20210108175702/http://problemkaputt.de/gbatek.htm#dssoundnotes here]. | The audio data follows immediately after this header, using the IMA ADPCM codec described [http://web.archive.org/web/20210108175702/http://problemkaputt.de/gbatek.htm#dssoundnotes here]. | ||
+ | |||
+ | |||
+ | ==UI graphics== | ||
+ | The graphics for the user interface are stored in the screensGame_eu.dat file. The exact format of the file is currently unknown, but the following is known about it: | ||
+ | |||
+ | * The number of images is stored as a 32-bit word at offset 0x0. | ||
+ | * The data between offsets 0x4 and 0xF2C is unknown. | ||
+ | * Image names are stored between offsets 0xF2C and 0x3558. | ||
+ | * More unknown data is stored between offsets 0x6000 and 0x24A500. (192 * 4 bytes per image?) | ||
+ | * Potentially compressed data is stored between offsets 0x24A600 and 0x2F0000. | ||
+ | * Raw 16-bit RGB555 image data is stored from offset 0x2F0000 to the end of the file. | ||
+ | |||
==References== | ==References== |
Revision as of 06:54, 27 January 2021
- Back to: Sonic Classic Collection.
This teeny-tiny article needs some work. You can help Sonic Retro by expanding it. |
TODO:
- Move emulation information from the main page
- More information about Game.pak
- Document any modifications made to the Mega Drive ROMs
- Full list of tracks from the .mods files?
Music and Sound effects
Rather than emulating the Mega Drive audio hardware, all of the music and sound effects are pre-recorded and stored in .mods files. These can be unpacked using this QuickBMS script.
The file format consists of a 32-bit integer containing the number of sound effects or tracks, followed by an array of 32-bit integers, each containing a pointer to a structure containing information about the particular sound. If a pointer is identical to the following pointer, then that pointer is for an empty sound, and should be ignored. The structure uses the following structure:
Offset | Type | Description |
---|---|---|
0 | 4 Bytes | Length of the sound in bytes, including this header. |
4 | 4 Bytes | Number of bytes from the end to be looped. |
8 | 2 Bytes | Sample rate. |
A | 6 Bytes | Unknown. |
The audio data follows immediately after this header, using the IMA ADPCM codec described here.
UI graphics
The graphics for the user interface are stored in the screensGame_eu.dat file. The exact format of the file is currently unknown, but the following is known about it:
- The number of images is stored as a 32-bit word at offset 0x0.
- The data between offsets 0x4 and 0xF2C is unknown.
- Image names are stored between offsets 0xF2C and 0x3558.
- More unknown data is stored between offsets 0x6000 and 0x24A500. (192 * 4 bytes per image?)
- Potentially compressed data is stored between offsets 0x24A600 and 0x2F0000.
- Raw 16-bit RGB555 image data is stored from offset 0x2F0000 to the end of the file.
References
Sonic Classic Collection | |
---|---|
Manuals |