FF7/PSX/Sound/Code Map

From Final Fantasy Inside
< FF7
Revision as of 14:49, 8 May 2020 by Loveemu (talk | contribs) (Add callback event)

Code Map

Introduces functions, variables and data related to sound, contained in SCUS_941.63 (game program of US version). Note that all symbol names below are for convenience only.

PSX Address Declaration Description
0x80029818 void AkaoLoadInstrSet(const void *sampleSet, const void *instrSet) Load additional instrument set

sampleSet: corresponding to SOUND/INSTR2.ALL

instrSet: corresponding to SOUND/INSTR2.DAT

0x8002988C void AkaoInit(const void *sampleSet, const void *instrSet) Initialize sound driver and load initial instruments

sampleSet: corresponding to SOUND/INSTR.ALL

instrSet: corresponding to SOUND/INSTR.DAT

0x8002DA7C int AkaoLoadSeq(void) Load and start playing new AKAO sequence

Parameters are given from a global structure

Returns: 0 for success, 1 for already loaded, and -1 for invalid signature

0x80030234 int _AkaoCallback(void) Callback event for sound, registered by OpenEvent BIOS function
0x80030E7C void _AkaoDispatchVoice(struct MusicPlayerTrack *track, void *a1, int a2) Dispatch voice opcodes until the next note or end of track
0x80036298 void SpuInit(void) Initialize SPU (PsyQ library function)
0x8003D0C0 int ResetCallback() Initialize all system callbacks (PsyQ library function)
0x80049948 const unsigned char VOICE_OPCODE_LENGTHS[0x60] Length table for voice opcodes 0xa0-0xff

0 for end of track and branches

0x80049AA8 void (* const VOICE_OPCODES[0x60])(struct MusicPlayerTrack *, void *, int) Address table for voice opcodes 0xa0-0xff
0x80049C44 const unsigned short VOLUME_TABLE_L[256] See Opcode 0xAA for volume balance calculation
0x80049E44 const unsigned short VOLUME_TABLE_R[256] See Opcode 0xAA for volume balance calculation
0x80083580 unsigned char g_AkaoSeqData[] RAM area to load AKAO sequence data

Structures

struct MusicPlayerTrack {
};