Anonymous

Changes

From Final Fantasy Inside

FF7/PSX/Sound/AKAO sequence

2 bytes added, 14:25, 31 May 2020
m
no edit summary
=== Channel Commands [AKAO Opcodes] ===
For every channels in an AKAO sequence, there is a set of commands to perform. This is similar to Field opcodes. Here I will call this sound commands "opcodes". Every opcode has its own number of arguments (from no-arguments, to 3 arguments).
 
=== Drum Instrument Map Table ===
 
When a song uses a drum kit with [[FF7/PSX/Sound/Opcodes/0xeced|opcode 0xEC]], a drum instrument map table will be placed at the end of the sequence. The table determines the instrument, channel volume and pan for each keys.
 
The table consists of a repetition of 5-byte items.
 
struct AkaoDrumNoteAttr
{
uint8_t instrument; // corresponding to opcode 0xA1
uint8_t key; // note number when playing the drum note
uint16_t volume; // corresponding to opcode 0xA8 (lower 8bit is a fractional part of the volume)
uint8_t pan; // corresponding to opcode 0xAA
}
== Example (home-created AKAO sequence): ==
|Code-referenced to 0xA0. Should not be used.
|}
 
== Drum Instrument Map Table ==
 
When a song uses a drum kit with [[FF7/PSX/Sound/Opcodes/0xeced|opcode 0xEC]], a drum instrument map table will be placed at the end of the sequence. The table determines the instrument, channel volume and pan for each keys.
 
The table consists of a repetition of 5-byte items.
 
struct AkaoDrumNoteAttr
{
uint8_t instrument; // corresponding to opcode 0xA1
uint8_t key; // note number when playing the drum note
uint16_t volume; // corresponding to opcode 0xA8 (lower 8bit is a fractional part of the volume)
uint8_t pan; // corresponding to opcode 0xAA
}
112
edits