Difference between revisions of "CSNG (File Format)"
From Retro Modding Wiki
MrSinistar (Talk | contribs) (Thanks to jackoalan for helping crack this format even further!) |
|||
| 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}} |
| − | + | ||
| − | + | ||
|} | |} | ||
Revision as of 13:05, 6 March 2015
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.
| This file format needs a lot of research Nothing is known about this format. |
Contents
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.
| Offset | Size | Description |
|---|---|---|
| 0x0 | 4 | Magic; (always 0x2) |
| 0x4 | 4 | Sequence Index |
| 0x8 | 4 | Voice Count |
| 0xC | 4 | AGSC ID |
| 0x10 | 4 | File Length |
Header
| Offset | Size | Description |
|---|---|---|
| 0x0 | 4 | Voice Header Table Offset (start of MusyX SON data) |
| 0x4 | 4 | Voice Sequence Offsets Table Offset |
| 0x8 | 4 | Wave Index Table Offset |
| 0xC | 4 | Unknown; (always 0...probably another offset) |
| 0x10 | 4 | Initial BPM Rate; AKA Tempo (always 0x78 = 120 beats per minute) |
| WIP | ||