Difference between revisions of "CSNG (File Format)"

From Retro Modding Wiki
Jump to: navigation, search
(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
 
|-
 
|-
| 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 14: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