mirror of
https://github.com/pmret/papermario.git
synced 2024-11-08 12:02:30 +01:00
another audio func (#842)
Co-authored-by: HailSanta <Hail2Santa@gmail.com>
This commit is contained in:
parent
76254641e5
commit
9c46cbb993
@ -714,7 +714,7 @@ void au_load_INIT(AuGlobals* arg0, s32 romAddr, ALHeap* heap) {
|
||||
s32 tblOffset, shortsOffset;
|
||||
s32* romPtr = &arg0->baseRomOffset;
|
||||
|
||||
au_read_rom(romAddr, &sbnHeader, sizeof(SBNHeader));
|
||||
au_read_rom(romAddr, &sbnHeader, sizeof(sbnHeader));
|
||||
numEntries = sbnHeader.numEntries;
|
||||
arg0->baseRomOffset = romAddr;
|
||||
tableSize = numEntries * sizeof(SBNFileEntry);
|
||||
@ -735,7 +735,7 @@ void au_load_INIT(AuGlobals* arg0, s32 romAddr, ALHeap* heap) {
|
||||
|
||||
if (sbnHeader.INIToffset != 0) {
|
||||
initBase = *romPtr + sbnHeader.INIToffset;
|
||||
au_read_rom(initBase, &initHeader, sizeof(INITHeader));
|
||||
au_read_rom(initBase, &initHeader, sizeof(initHeader));
|
||||
|
||||
tblOffset = initHeader.tblOffset;
|
||||
size = (initHeader.tblSize + 0xF) & 0xFFF0;
|
||||
@ -784,9 +784,9 @@ void au_load_PER(AuGlobals* globals, s32 romAddr) {
|
||||
s32 numItems;
|
||||
void* end;
|
||||
|
||||
au_read_rom(romAddr, &header, sizeof(PERHeader));
|
||||
size = header.size - sizeof(PERHeader);
|
||||
au_read_rom(romAddr + sizeof(PERHeader), globals->dataPER, size);
|
||||
au_read_rom(romAddr, &header, sizeof(header));
|
||||
size = header.size - sizeof(header);
|
||||
au_read_rom(romAddr + sizeof(header), globals->dataPER, size);
|
||||
numItems = size / sizeof(PEREntry);
|
||||
numItemsLeft = 6 - numItems;
|
||||
if (numItemsLeft > 0) {
|
||||
@ -804,9 +804,9 @@ void au_load_PRG(AuGlobals* arg0, s32 romAddr) {
|
||||
s32 dataRomAddr;
|
||||
void* end;
|
||||
|
||||
au_read_rom(romAddr, &header, sizeof(PERHeader));
|
||||
dataRomAddr = romAddr + sizeof(PERHeader);
|
||||
size = header.size - sizeof(PERHeader);
|
||||
au_read_rom(romAddr, &header, sizeof(header));
|
||||
dataRomAddr = romAddr + sizeof(header);
|
||||
size = header.size - sizeof(header);
|
||||
if (size > 0x200) {
|
||||
size = 0x200;
|
||||
}
|
||||
@ -853,89 +853,115 @@ InstrumentGroup* au_get_BK_instruments(s32 bankGroup, u32 bankIndex) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
#ifdef NON_EQUIVALENT
|
||||
enum BKParseState {
|
||||
EN_0 = 0,
|
||||
EN_11 = 11,
|
||||
EN_21 = 21,
|
||||
EN_101 = 101,
|
||||
EN_111 = 111,
|
||||
EN_201 = 201,
|
||||
EN_301 = 301,
|
||||
BK_READ_DONE = 0,
|
||||
BK_READ_FETCH_HEADER = 11,
|
||||
BK_READ_FETCH_DATA = 21,
|
||||
BK_READ_SWIZZLE = 31,
|
||||
BK_READ_PROCESS_CR = 101,
|
||||
BK_READ_SWIZZLE_CR = 111,
|
||||
BK_READ_PROCESS_DR = 201,
|
||||
BK_READ_UNK_DR = 211,
|
||||
BK_READ_PROCESS_SR = 301,
|
||||
BK_READ_UNK_SR = 311,
|
||||
};
|
||||
s32 snd_load_BK_to_bank(s32 bkFileOffset, SoundBank* bank, s32 bankIndex, s32 bankGroup) {
|
||||
|
||||
#define AL_HEADER_SIG_BK 0x424B
|
||||
#define AL_HEADER_SIG_CR 0x4352
|
||||
#define AL_HEADER_SIG_DR 0x4452
|
||||
#define AL_HEADER_SIG_SR 0x5352
|
||||
|
||||
SoundBank* au_load_BK_to_bank(s32 bkFileOffset, SoundBank* bank, s32 bankIndex, s32 bankGroup) {
|
||||
ALHeap* heap = gSynDriverPtr->heap;
|
||||
BKHeader bkHeader;
|
||||
BKHeader* header = &bkHeader;
|
||||
u16 s3;
|
||||
u16 s2;
|
||||
s32 size;
|
||||
u8* s4;
|
||||
u16 keepReading;
|
||||
u16 readState;
|
||||
InstrumentGroup* group;
|
||||
Instrument** inst;
|
||||
s32 instrumentCount;
|
||||
s32 size;
|
||||
u32 i;
|
||||
s32 a2;
|
||||
|
||||
au_read_rom(bkFileOffset, header, sizeof(BKHeader));
|
||||
s3 = EN_11;
|
||||
s2 = TRUE;
|
||||
do {
|
||||
switch (s3) {
|
||||
case EN_11:
|
||||
if (header->signature == 0x424B /* BK */ && header->size != 0) {
|
||||
s3 = EN_21;
|
||||
au_read_rom(bkFileOffset, header, sizeof(*header));
|
||||
readState = BK_READ_FETCH_HEADER;
|
||||
keepReading = TRUE;
|
||||
|
||||
while (keepReading) {
|
||||
switch (readState) {
|
||||
case BK_READ_DONE:
|
||||
keepReading = FALSE;
|
||||
break;
|
||||
case BK_READ_FETCH_HEADER:
|
||||
if (header->signature != AL_HEADER_SIG_BK) {
|
||||
keepReading = FALSE;
|
||||
} else if (header->size == 0) {
|
||||
keepReading = FALSE;
|
||||
} else {
|
||||
s2 = FALSE;
|
||||
readState = BK_READ_FETCH_DATA;
|
||||
}
|
||||
break;
|
||||
case EN_21:
|
||||
if (header->format == 0x4352) { // CR
|
||||
s3 = EN_101;
|
||||
} else if (header->format == 0x4452) { // DR
|
||||
s3 = EN_201;
|
||||
} else if (header->format == 0x5352) { // SR
|
||||
s3 = EN_301;
|
||||
case BK_READ_FETCH_DATA:
|
||||
if (header->format == AL_HEADER_SIG_CR) {
|
||||
readState = BK_READ_PROCESS_CR;
|
||||
} else if (header->format == AL_HEADER_SIG_DR) {
|
||||
readState = BK_READ_PROCESS_DR;
|
||||
} else if (header->format == AL_HEADER_SIG_SR) {
|
||||
readState = BK_READ_PROCESS_SR;
|
||||
} else {
|
||||
s2 = FALSE;
|
||||
keepReading = FALSE;
|
||||
}
|
||||
break;
|
||||
case EN_101:
|
||||
size = ALIGN16_(header->instrumetsSize) + ALIGN16_(header->unkSizeA) + ALIGN16_(header->predictorsSize) + ALIGN16_(header->unkSizeB) + sizeof(BKHeader);
|
||||
|
||||
case BK_READ_PROCESS_CR:
|
||||
size = ALIGN16_(header->instrumetsSize)
|
||||
+ ALIGN16_(header->unkSizeA)
|
||||
+ ALIGN16_(header->predictorsSize)
|
||||
+ ALIGN16_(header->unkSizeB)
|
||||
+ sizeof(*header);
|
||||
if (bank == NULL) {
|
||||
bank = alHeapAlloc(heap, 1, size);
|
||||
}
|
||||
au_read_rom(bkFileOffset, bank, size);
|
||||
|
||||
group = au_get_BK_instruments(bankGroup, bankIndex);
|
||||
a2 = 0;
|
||||
for (i = 0; i < ARRAY_COUNT(*group); i++) {
|
||||
if (header->instruments[i] != 0) {
|
||||
(*group)[i] = (s32)bank + header->instruments[i];
|
||||
a2++;
|
||||
inst = (*group);
|
||||
instrumentCount = 0;
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(header->instruments); inst++, i++) {
|
||||
u16 instOffset = header->instruments[i];
|
||||
if (instOffset != 0) {
|
||||
instrumentCount++;
|
||||
*inst = AU_FILE_RELATIVE(bank, instOffset);
|
||||
} else {
|
||||
(*group)[i] = NULL;
|
||||
*inst = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
if (a2 != 0) {
|
||||
s3 = EN_111;
|
||||
|
||||
if (instrumentCount != 0) {
|
||||
readState = BK_READ_SWIZZLE_CR;
|
||||
} else {
|
||||
s2 = FALSE;
|
||||
keepReading = FALSE;
|
||||
}
|
||||
break;
|
||||
case EN_111:
|
||||
case BK_READ_SWIZZLE_CR:
|
||||
au_swizzle_BK_instruments(bkFileOffset, bank, *group, 16, 1);
|
||||
s3 = 0;
|
||||
readState = BK_READ_DONE;
|
||||
break;
|
||||
|
||||
// inferred states
|
||||
case BK_READ_PROCESS_DR:
|
||||
case BK_READ_UNK_DR:
|
||||
case BK_READ_PROCESS_SR:
|
||||
case BK_READ_UNK_SR:
|
||||
default:
|
||||
s2 = FALSE;
|
||||
keepReading = FALSE;
|
||||
break;
|
||||
}
|
||||
} while (s2);
|
||||
}
|
||||
|
||||
return bank;
|
||||
}
|
||||
#else
|
||||
INCLUDE_ASM(s32, "audio/2e230_len_2190", snd_load_BK_to_bank, s32 bkFileOffset, SoundBank* bank, s32 bankIndex, s32 arg3);
|
||||
#endif
|
||||
|
||||
void au_swizzle_BK_instruments(s32 bkFileOffset, SoundBank* bank, InstrumentGroup instruments, u32 instrumentCount, u8 arg4) {
|
||||
Instrument* defaultInstrument = gSoundGlobals->defaultInstrument;
|
||||
@ -970,16 +996,6 @@ void au_swizzle_BK_instruments(s32 bkFileOffset, SoundBank* bank, InstrumentGrou
|
||||
}
|
||||
}
|
||||
|
||||
enum ReadState {
|
||||
BK_READ_DONE = 0,
|
||||
BK_READ_FETCH_HEADER = 11,
|
||||
BK_READ_FETCH_DATA = 21,
|
||||
BK_READ_SWIZZLE = 31,
|
||||
};
|
||||
|
||||
#define AL_HEADER_SIG_BK 0x424B
|
||||
#define AL_HEADER_SIG_CR 0x4352
|
||||
|
||||
s32* func_80054AA0(s32* bkFileOffset, void* vaddr, s32 bankIndex, s32 bankGroup) {
|
||||
ALHeap* heap = gSynDriverPtr->heap;
|
||||
BKHeader localHeader;
|
||||
@ -1029,7 +1045,7 @@ s32* func_80054AA0(s32* bkFileOffset, void* vaddr, s32 bankIndex, s32 bankGroup)
|
||||
u16 instOffset = header->instruments[i];
|
||||
if(instOffset != 0) {
|
||||
instrCount++;
|
||||
*inst = (Instrument*)(instOffset + (s32)fileData);
|
||||
*inst = AU_FILE_RELATIVE(fileData, instOffset);
|
||||
} else {
|
||||
*inst = NULL;
|
||||
}
|
||||
@ -1054,7 +1070,7 @@ s32* func_80054AA0(s32* bkFileOffset, void* vaddr, s32 bankIndex, s32 bankGroup)
|
||||
}
|
||||
|
||||
s32 snd_load_BK(s32 bkFileOffset, s32 bankIndex) {
|
||||
snd_load_BK_to_bank(bkFileOffset, gSoundGlobals->banks[bankIndex], bankIndex, 1);
|
||||
au_load_BK_to_bank(bkFileOffset, gSoundGlobals->banks[bankIndex], bankIndex, 1);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1108,6 +1124,8 @@ void func_80054DA8(u32 bMonoSound) {
|
||||
}
|
||||
}
|
||||
|
||||
// probable split
|
||||
|
||||
void au_read_rom(s32 romAddr, void* buffer, u32 size) {
|
||||
s32 nchunks = size / 0x2000;
|
||||
s32 offset = 0;
|
||||
|
@ -20,6 +20,6 @@ void au_load_BK_headers(AuGlobals* globals, ALHeap* heap) {
|
||||
}
|
||||
|
||||
au_fetch_SBN_file(buffer[i].fileIndex, AU_FMT_BK, &fileEntry);
|
||||
snd_load_BK_to_bank(fileEntry.offset, NULL, buffer[i].bankIndex, buffer[i].bankGroup);
|
||||
au_load_BK_to_bank(fileEntry.offset, NULL, buffer[i].bankIndex, buffer[i].bankGroup);
|
||||
}
|
||||
}
|
||||
|
@ -64,7 +64,7 @@ void au_load_PER(AuGlobals* globals, s32 romAddr);
|
||||
void au_load_PRG(AuGlobals* arg0, s32 romAddr);
|
||||
// INCLUDE_ASM(s32, "audio/2e230_len_2190", snd_load_BGM);
|
||||
InstrumentGroup* au_get_BK_instruments(s32 bankGroup, u32 bankIndex);
|
||||
SoundBank* snd_load_BK_to_bank(s32 bkFileOffset, SoundBank* bank, s32 bankIndex, s32 bankGroup);
|
||||
SoundBank* au_load_BK_to_bank(s32 bkFileOffset, SoundBank* bank, s32 bankIndex, s32 bankGroup);
|
||||
void au_swizzle_BK_instruments(s32 bkFileOffset, SoundBank* bank, InstrumentGroup instruments, u32 instrumentCount, u8 arg4);
|
||||
s32* func_80054AA0(s32* bkFileOffset, void* vaddr, s32 bankIndex, s32 bankGroup);
|
||||
s32 snd_load_BK(s32 bkFileOffset, s32 bankIndex);
|
||||
|
@ -1,157 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel snd_load_BK_to_bank
|
||||
/* 2FBC8 800547C8 27BDFF80 */ addiu $sp, $sp, -0x80
|
||||
/* 2FBCC 800547CC AFB5006C */ sw $s5, 0x6c($sp)
|
||||
/* 2FBD0 800547D0 0080A82D */ daddu $s5, $a0, $zero
|
||||
/* 2FBD4 800547D4 AFB40068 */ sw $s4, 0x68($sp)
|
||||
/* 2FBD8 800547D8 00A0A02D */ daddu $s4, $a1, $zero
|
||||
/* 2FBDC 800547DC AFB70074 */ sw $s7, 0x74($sp)
|
||||
/* 2FBE0 800547E0 00C0B82D */ daddu $s7, $a2, $zero
|
||||
/* 2FBE4 800547E4 AFBE0078 */ sw $fp, 0x78($sp)
|
||||
/* 2FBE8 800547E8 00E0F02D */ daddu $fp, $a3, $zero
|
||||
/* 2FBEC 800547EC AFB1005C */ sw $s1, 0x5c($sp)
|
||||
/* 2FBF0 800547F0 27B10018 */ addiu $s1, $sp, 0x18
|
||||
/* 2FBF4 800547F4 0220282D */ daddu $a1, $s1, $zero
|
||||
/* 2FBF8 800547F8 3C028008 */ lui $v0, %hi(gSynDriverPtr)
|
||||
/* 2FBFC 800547FC 8C428E54 */ lw $v0, %lo(gSynDriverPtr)($v0)
|
||||
/* 2FC00 80054800 24060040 */ addiu $a2, $zero, 0x40
|
||||
/* 2FC04 80054804 AFB30064 */ sw $s3, 0x64($sp)
|
||||
/* 2FC08 80054808 2413000B */ addiu $s3, $zero, 0xb
|
||||
/* 2FC0C 8005480C AFB20060 */ sw $s2, 0x60($sp)
|
||||
/* 2FC10 80054810 AFBF007C */ sw $ra, 0x7c($sp)
|
||||
/* 2FC14 80054814 AFB60070 */ sw $s6, 0x70($sp)
|
||||
/* 2FC18 80054818 AFB00058 */ sw $s0, 0x58($sp)
|
||||
/* 2FC1C 8005481C 8C560018 */ lw $s6, 0x18($v0)
|
||||
/* 2FC20 80054820 0C015380 */ jal au_read_rom
|
||||
/* 2FC24 80054824 24120001 */ addiu $s2, $zero, 1
|
||||
/* 2FC28 80054828 3263FFFF */ andi $v1, $s3, 0xffff
|
||||
.L8005482C:
|
||||
/* 2FC2C 8005482C 2402006F */ addiu $v0, $zero, 0x6f
|
||||
/* 2FC30 80054830 10620057 */ beq $v1, $v0, .L80054990
|
||||
/* 2FC34 80054834 28620070 */ slti $v0, $v1, 0x70
|
||||
/* 2FC38 80054838 1040005E */ beqz $v0, .L800549B4
|
||||
/* 2FC3C 8005483C 2402000B */ addiu $v0, $zero, 0xb
|
||||
/* 2FC40 80054840 1062000A */ beq $v1, $v0, .L8005486C
|
||||
/* 2FC44 80054844 2862000C */ slti $v0, $v1, 0xc
|
||||
/* 2FC48 80054848 5440005B */ bnel $v0, $zero, .L800549B8
|
||||
/* 2FC4C 8005484C 0000902D */ daddu $s2, $zero, $zero
|
||||
/* 2FC50 80054850 24020015 */ addiu $v0, $zero, 0x15
|
||||
/* 2FC54 80054854 1062000E */ beq $v1, $v0, .L80054890
|
||||
/* 2FC58 80054858 24020065 */ addiu $v0, $zero, 0x65
|
||||
/* 2FC5C 8005485C 1062001A */ beq $v1, $v0, .L800548C8
|
||||
/* 2FC60 80054860 00000000 */ nop
|
||||
/* 2FC64 80054864 0801526E */ j .L800549B8
|
||||
/* 2FC68 80054868 0000902D */ daddu $s2, $zero, $zero
|
||||
.L8005486C:
|
||||
/* 2FC6C 8005486C 96230000 */ lhu $v1, ($s1)
|
||||
/* 2FC70 80054870 2402424B */ addiu $v0, $zero, 0x424b
|
||||
/* 2FC74 80054874 54620050 */ bnel $v1, $v0, .L800549B8
|
||||
/* 2FC78 80054878 0000902D */ daddu $s2, $zero, $zero
|
||||
/* 2FC7C 8005487C 8E220004 */ lw $v0, 4($s1)
|
||||
/* 2FC80 80054880 5040004D */ beql $v0, $zero, .L800549B8
|
||||
/* 2FC84 80054884 0000902D */ daddu $s2, $zero, $zero
|
||||
/* 2FC88 80054888 0801526E */ j .L800549B8
|
||||
/* 2FC8C 8005488C 24130015 */ addiu $s3, $zero, 0x15
|
||||
.L80054890:
|
||||
/* 2FC90 80054890 9623000C */ lhu $v1, 0xc($s1)
|
||||
/* 2FC94 80054894 24024352 */ addiu $v0, $zero, 0x4352
|
||||
/* 2FC98 80054898 14620003 */ bne $v1, $v0, .L800548A8
|
||||
/* 2FC9C 8005489C 24024452 */ addiu $v0, $zero, 0x4452
|
||||
/* 2FCA0 800548A0 0801526E */ j .L800549B8
|
||||
/* 2FCA4 800548A4 24130065 */ addiu $s3, $zero, 0x65
|
||||
.L800548A8:
|
||||
/* 2FCA8 800548A8 14620003 */ bne $v1, $v0, .L800548B8
|
||||
/* 2FCAC 800548AC 24025352 */ addiu $v0, $zero, 0x5352
|
||||
/* 2FCB0 800548B0 0801526E */ j .L800549B8
|
||||
/* 2FCB4 800548B4 241300C9 */ addiu $s3, $zero, 0xc9
|
||||
.L800548B8:
|
||||
/* 2FCB8 800548B8 5462003F */ bnel $v1, $v0, .L800549B8
|
||||
/* 2FCBC 800548BC 0000902D */ daddu $s2, $zero, $zero
|
||||
/* 2FCC0 800548C0 0801526E */ j .L800549B8
|
||||
/* 2FCC4 800548C4 2413012D */ addiu $s3, $zero, 0x12d
|
||||
.L800548C8:
|
||||
/* 2FCC8 800548C8 96240032 */ lhu $a0, 0x32($s1)
|
||||
/* 2FCCC 800548CC 96220036 */ lhu $v0, 0x36($s1)
|
||||
/* 2FCD0 800548D0 9623003A */ lhu $v1, 0x3a($s1)
|
||||
/* 2FCD4 800548D4 2484000F */ addiu $a0, $a0, 0xf
|
||||
/* 2FCD8 800548D8 3084FFF0 */ andi $a0, $a0, 0xfff0
|
||||
/* 2FCDC 800548DC 2442000F */ addiu $v0, $v0, 0xf
|
||||
/* 2FCE0 800548E0 3042FFF0 */ andi $v0, $v0, 0xfff0
|
||||
/* 2FCE4 800548E4 00822021 */ addu $a0, $a0, $v0
|
||||
/* 2FCE8 800548E8 2463000F */ addiu $v1, $v1, 0xf
|
||||
/* 2FCEC 800548EC 3063FFF0 */ andi $v1, $v1, 0xfff0
|
||||
/* 2FCF0 800548F0 9622003E */ lhu $v0, 0x3e($s1)
|
||||
/* 2FCF4 800548F4 00832021 */ addu $a0, $a0, $v1
|
||||
/* 2FCF8 800548F8 2442000F */ addiu $v0, $v0, 0xf
|
||||
/* 2FCFC 800548FC 3042FFF0 */ andi $v0, $v0, 0xfff0
|
||||
/* 2FD00 80054900 00822021 */ addu $a0, $a0, $v0
|
||||
/* 2FD04 80054904 16800006 */ bnez $s4, .L80054920
|
||||
/* 2FD08 80054908 24900040 */ addiu $s0, $a0, 0x40
|
||||
/* 2FD0C 8005490C 02C0202D */ daddu $a0, $s6, $zero
|
||||
/* 2FD10 80054910 24050001 */ addiu $a1, $zero, 1
|
||||
/* 2FD14 80054914 0C015FE4 */ jal alHeapAlloc
|
||||
/* 2FD18 80054918 0200302D */ daddu $a2, $s0, $zero
|
||||
/* 2FD1C 8005491C 0040A02D */ daddu $s4, $v0, $zero
|
||||
.L80054920:
|
||||
/* 2FD20 80054920 02A0202D */ daddu $a0, $s5, $zero
|
||||
/* 2FD24 80054924 0280282D */ daddu $a1, $s4, $zero
|
||||
/* 2FD28 80054928 0C015380 */ jal au_read_rom
|
||||
/* 2FD2C 8005492C 0200302D */ daddu $a2, $s0, $zero
|
||||
/* 2FD30 80054930 03C0202D */ daddu $a0, $fp, $zero
|
||||
/* 2FD34 80054934 0C0151D1 */ jal au_get_BK_instruments
|
||||
/* 2FD38 80054938 02E0282D */ daddu $a1, $s7, $zero
|
||||
/* 2FD3C 8005493C 0040802D */ daddu $s0, $v0, $zero
|
||||
/* 2FD40 80054940 0200182D */ daddu $v1, $s0, $zero
|
||||
/* 2FD44 80054944 0000302D */ daddu $a2, $zero, $zero
|
||||
/* 2FD48 80054948 00C0282D */ daddu $a1, $a2, $zero
|
||||
/* 2FD4C 8005494C 0220202D */ daddu $a0, $s1, $zero
|
||||
.L80054950:
|
||||
/* 2FD50 80054950 94820012 */ lhu $v0, 0x12($a0)
|
||||
/* 2FD54 80054954 10400004 */ beqz $v0, .L80054968
|
||||
/* 2FD58 80054958 00541021 */ addu $v0, $v0, $s4
|
||||
/* 2FD5C 8005495C 24C60001 */ addiu $a2, $a2, 1
|
||||
/* 2FD60 80054960 0801525B */ j .L8005496C
|
||||
/* 2FD64 80054964 AC620000 */ sw $v0, ($v1)
|
||||
.L80054968:
|
||||
/* 2FD68 80054968 AC600000 */ sw $zero, ($v1)
|
||||
.L8005496C:
|
||||
/* 2FD6C 8005496C 24630004 */ addiu $v1, $v1, 4
|
||||
/* 2FD70 80054970 24A50001 */ addiu $a1, $a1, 1
|
||||
/* 2FD74 80054974 2CA20010 */ sltiu $v0, $a1, 0x10
|
||||
/* 2FD78 80054978 1440FFF5 */ bnez $v0, .L80054950
|
||||
/* 2FD7C 8005497C 24840002 */ addiu $a0, $a0, 2
|
||||
/* 2FD80 80054980 50C0000D */ beql $a2, $zero, .L800549B8
|
||||
/* 2FD84 80054984 0000902D */ daddu $s2, $zero, $zero
|
||||
/* 2FD88 80054988 0801526E */ j .L800549B8
|
||||
/* 2FD8C 8005498C 2413006F */ addiu $s3, $zero, 0x6f
|
||||
.L80054990:
|
||||
/* 2FD90 80054990 24020001 */ addiu $v0, $zero, 1
|
||||
/* 2FD94 80054994 AFA20010 */ sw $v0, 0x10($sp)
|
||||
/* 2FD98 80054998 02A0202D */ daddu $a0, $s5, $zero
|
||||
/* 2FD9C 8005499C 0280282D */ daddu $a1, $s4, $zero
|
||||
/* 2FDA0 800549A0 0200302D */ daddu $a2, $s0, $zero
|
||||
/* 2FDA4 800549A4 0C01527E */ jal au_swizzle_BK_instruments
|
||||
/* 2FDA8 800549A8 24070010 */ addiu $a3, $zero, 0x10
|
||||
/* 2FDAC 800549AC 0801526E */ j .L800549B8
|
||||
/* 2FDB0 800549B0 0000982D */ daddu $s3, $zero, $zero
|
||||
.L800549B4:
|
||||
/* 2FDB4 800549B4 0000902D */ daddu $s2, $zero, $zero
|
||||
.L800549B8:
|
||||
/* 2FDB8 800549B8 3242FFFF */ andi $v0, $s2, 0xffff
|
||||
/* 2FDBC 800549BC 1440FF9B */ bnez $v0, .L8005482C
|
||||
/* 2FDC0 800549C0 3263FFFF */ andi $v1, $s3, 0xffff
|
||||
/* 2FDC4 800549C4 0280102D */ daddu $v0, $s4, $zero
|
||||
/* 2FDC8 800549C8 8FBF007C */ lw $ra, 0x7c($sp)
|
||||
/* 2FDCC 800549CC 8FBE0078 */ lw $fp, 0x78($sp)
|
||||
/* 2FDD0 800549D0 8FB70074 */ lw $s7, 0x74($sp)
|
||||
/* 2FDD4 800549D4 8FB60070 */ lw $s6, 0x70($sp)
|
||||
/* 2FDD8 800549D8 8FB5006C */ lw $s5, 0x6c($sp)
|
||||
/* 2FDDC 800549DC 8FB40068 */ lw $s4, 0x68($sp)
|
||||
/* 2FDE0 800549E0 8FB30064 */ lw $s3, 0x64($sp)
|
||||
/* 2FDE4 800549E4 8FB20060 */ lw $s2, 0x60($sp)
|
||||
/* 2FDE8 800549E8 8FB1005C */ lw $s1, 0x5c($sp)
|
||||
/* 2FDEC 800549EC 8FB00058 */ lw $s0, 0x58($sp)
|
||||
/* 2FDF0 800549F0 03E00008 */ jr $ra
|
||||
/* 2FDF4 800549F4 27BD0080 */ addiu $sp, $sp, 0x80
|
@ -674,7 +674,7 @@ au_load_PER = 0x800544F8; // type:func rom:0x2F8F8
|
||||
au_load_PRG = 0x800545B4; // type:func rom:0x2F9B4
|
||||
snd_load_BGM = 0x8005465C; // type:func rom:0x2FA5C
|
||||
au_get_BK_instruments = 0x80054744; // type:func rom:0x2FB44
|
||||
snd_load_BK_to_bank = 0x800547C8; // type:func rom:0x2FBC8
|
||||
au_load_BK_to_bank = 0x800547C8; // type:func rom:0x2FBC8
|
||||
au_swizzle_BK_instruments = 0x800549F8; // type:func rom:0x2FDF8
|
||||
func_80054AA0 = 0x80054AA0; // type:func rom:0x2FEA0
|
||||
snd_load_BK = 0x80054C4C; // type:func rom:0x3004C
|
||||
|
Loading…
Reference in New Issue
Block a user