CSNG (File Format)

From Retro Modding Wiki
Revision as of 19:05, 6 March 2015 by >Aruki (→‎Custom Header)
Jump to navigation Jump to search

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.


Morphball wire.png This file format needs a lot of research
Nothing is known about this format.


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
0x14 MusyX data starts]}

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