Difference between revisions of "CSNG (File Format)"

From Retro Modding Wiki
Jump to navigation Jump to search
>MrSinistar
(Thanks to jackoalan for helping crack this format even further!)
>Aruki
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
|-
|-
| 0x14
| 0x0
| 4
| 4
| '''Voice Header Table Offset''' (start of MusyX SON data)
| '''Voice Header Table Offset''' (start of MusyX SON data)
|-
|-
| 0x18
| 0x4
| 4
| 4
| '''Voice Sequence Offsets Table Offset'''
| '''Voice Sequence Offsets Table Offset'''
|-
|-
| 0x1C
| 0x8
| 4
| 4
| '''Wave Index Table Offset'''
| '''Wave Index Table Offset'''
|-
|-
| 0x20
| 0xC
| 4
| 4
| {{unknown|'''Unknown'''}}; (always 0...probably another offset)
| {{unknown|'''Unknown'''}}; (always 0...probably another offset)
|-
|-
| 0x24
| 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}}
|
| {{unknown|WIP}}
|}
|}



Revision as of 19: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.


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

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