CSNG (File Format): Difference between revisions

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
|-
|-
| 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}}
|}
|}


Anonymous user