CSNG (File Format): Difference between revisions
Jump to navigation
Jump to search
no edit summary
>MrSinistar (Thanks to jackoalan for helping crack this format even further!) |
>Aruki No edit summary |
||
Line 1: | Line 1: | ||
The '''CSNG format''' contains MIDI data. It appears in Metroid Prime 1 and 2. It is essentially MusyX's SON music format. | The '''CSNG format''' contains MIDI data. It appears in Metroid Prime 1 and 2. It is essentially MusyX's SON music format, with a custom header. | ||
{{research|3|Nothing is known about this format.}} | {{research|3|Nothing is known about this format.}} | ||
__TOC__ | |||
== Format == | |||
=== Custom Header === | |||
This 0x14-byte header isn't part of the MusyX format; it appears at the start of the file. After parsing this the rest of the file is copied into a buffer and then passed to the MusyX functions. | |||
{| class="wikitable" | {| class="wikitable" | ||
Line 28: | Line 35: | ||
| 4 | | 4 | ||
| '''File Length''' | | '''File Length''' | ||
|} | |||
=== Header === | |||
{| class="wikitable" | |||
! Offset | |||
! Size | |||
! Description | |||
|- | |- | ||
| | | 0x0 | ||
| 4 | | 4 | ||
| '''Voice Header Table Offset''' (start of MusyX SON data) | | '''Voice Header Table Offset''' (start of MusyX SON data) | ||
|- | |- | ||
| | | 0x4 | ||
| 4 | | 4 | ||
| '''Voice Sequence Offsets Table Offset''' | | '''Voice Sequence Offsets Table Offset''' | ||
|- | |- | ||
| | | 0x8 | ||
| 4 | | 4 | ||
| '''Wave Index Table Offset''' | | '''Wave Index Table Offset''' | ||
|- | |- | ||
| | | 0xC | ||
| 4 | | 4 | ||
| {{unknown|'''Unknown'''}}; (always 0...probably another offset) | | {{unknown|'''Unknown'''}}; (always 0...probably another offset) | ||
|- | |- | ||
| | | 0x10 | ||
| 4 | | 4 | ||
| '''Initial BPM Rate'''; AKA Tempo (always 0x78 = 120 beats per minute) | | '''Initial BPM Rate'''; AKA Tempo (always 0x78 = 120 beats per minute) | ||
|- | |- | ||
| | | colspan=3 {{unknown|WIP}} | ||
|} | |} | ||