User Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
super_mario_64:music [2016/02/16 04:57]
127.0.0.1 external edit
super_mario_64:music [2017/06/23 10:22] (current)
shygoo ↷ Page moved from sm64:music to super_mario_64:music
Line 19: Line 19:
 ^ Byte ^ Parameters ^ Description ^ ^ Byte ^ Parameters ^ Description ^
 | 0x90 - 0x9F | Offset (2 bytes) | Points to track data for a specific channel, indicated by the second nibble of status byte | | 0x90 - 0x9F | Offset (2 bytes) | Points to track data for a specific channel, indicated by the second nibble of status byte |
-| 0xD3 | 1 byte | Sequence type. 0x80 for variable sequence0x00-0x25 for banks 0-37. 0x60 for Mario sounds sequence ​|+| 0xD3 | M64 flags (1 byteUsed to enable specific flags, ​0x80 for M64 to pause when the music does.|
 | 0xD6 | Channels (16 bits) | Disable channels flag. Each bit = one channel | | 0xD6 | Channels (16 bits) | Disable channels flag. Each bit = one channel |
 | 0xDB | Master Volume (1 byte) | Master Volume (unsigned integer) | | 0xDB | Master Volume (1 byte) | Master Volume (unsigned integer) |
 | 0xDD | Tempo in BMP (1 byte) | Tempo setting (BPM) | | 0xDD | Tempo in BMP (1 byte) | Tempo setting (BPM) |
-| 0xD5 | 16 bits | Unsure. Used in the very beginning of sequences (before ​channel ​enable flag) |+| 0xD5 | 16 bits | Channel priority set for SFX to overtake ​channel ​when played  ​|
 | 0xD7 | Channels (16 bits) | Enable channels flag. Each bit = one channel | | 0xD7 | Channels (16 bits) | Enable channels flag. Each bit = one channel |
-| 0xFD | Variable-length (1 or 2 bytes) | Timestamp (used between track chunks and to ensure right looping) |+| 0xFD | Variable-length (1 or 2 bytes) | Timestamp (used between track chunks and to ensure right looping), for two bytes long, add 0x80 to the first bit, for example, timestamp at 10 50 would be FD 90 50|
 | 0xFB | Offset (2 bytes) | Loop from the specified offset | | 0xFB | Offset (2 bytes) | Loop from the specified offset |
 | 0xFF |No param | End of header | | 0xFF |No param | End of header |
Line 38: Line 38:
 | 0xC4 | No Param | Mark the beginning of track data | | 0xC4 | No Param | Mark the beginning of track data |
 | 0xD3 | Pitch bend (1 byte) | Pitch Bend (signed integer) | | 0xD3 | Pitch bend (1 byte) | Pitch Bend (signed integer) |
-| 0xD4 | unknown ​(1 byte) | ?? |+| 0xD4 | Reverb ​(1 byte) | Dry/​Wet ​|
 | 0xD8 | Vibrato (1 byte) | Vibrato range | | 0xD8 | Vibrato (1 byte) | Vibrato range |
 | 0xDC | unknown (1 byte) | Drum-related?​ | | 0xDC | unknown (1 byte) | Drum-related?​ |