func_8000488C

This commit is contained in:
Mittenz
2020-08-18 15:52:51 -05:00
parent afa5d2394c
commit a470c61c13
10 changed files with 118 additions and 67 deletions
+1
View File
@@ -253,6 +253,7 @@ $(BUILD_DIR)/lib/src/unknown_0C91A0.o : OPT_FLAGS := -O1
$(BUILD_DIR)/lib/src/unknown_0D29F0.o: OPT_FLAGS := -O1
$(BUILD_DIR)/lib/src/unknown_0CDE90.o: OPT_FLAGS := -O1
$(BUILD_DIR)/lib/src/unknown_0D3160.o: OPT_FLAGS := -O1
$(BUILD_DIR)/lib/src/unknown_0D5EC0.o: OPT_FLAGS := -O1
$(BUILD_DIR)/lib/src/unknown_0C9C90.o: OPT_FLAGS := -O2 -Wo,-loopunroll,0
$(BUILD_DIR)/lib/src/osCreateThread.o : OPT_FLAGS := -O1
$(BUILD_DIR)/lib/src/osGetThreadPri.o : OPT_FLAGS := -O1
@@ -90,10 +90,10 @@ glabel audioNewThread
/* 0033B4 800027B4 00402825 */ move $a1, $v0
/* 0033B8 800027B8 0C01DB9A */ jal func_80076E68
/* 0033BC 800027BC 02003825 */ move $a3, $s0
/* 0033C0 800027C0 3C048011 */ lui $a0, %hi(D_801161D0) # $a0, 0x8011
/* 0033C0 800027C0 3C048011 */ lui $a0, %hi(ALGlobals_801161D0) # $a0, 0x8011
/* 0033C4 800027C4 AE710020 */ sw $s1, 0x20($s3)
/* 0033C8 800027C8 AE600024 */ sw $zero, 0x24($s3)
/* 0033CC 800027CC 248461D0 */ addiu $a0, %lo(D_801161D0) # addiu $a0, $a0, 0x61d0
/* 0033CC 800027CC 248461D0 */ addiu $a0, %lo(ALGlobals_801161D0) # addiu $a0, $a0, 0x61d0
/* 0033D0 800027D0 0C0321FB */ jal alInit
/* 0033D4 800027D4 02602825 */ move $a1, $s3
/* 0033D8 800027D8 0C01C450 */ jal func_80071140
@@ -101,8 +101,8 @@ glabel audioNewThread
/* 0033E0 800027E0 10000005 */ b .L800027F8
/* 0033E4 800027E4 00000000 */ nop
.L800027E8:
/* 0033E8 800027E8 3C048011 */ lui $a0, %hi(D_801161D0) # $a0, 0x8011
/* 0033EC 800027EC 248461D0 */ addiu $a0, %lo(D_801161D0) # addiu $a0, $a0, 0x61d0
/* 0033E8 800027E8 3C048011 */ lui $a0, %hi(ALGlobals_801161D0) # $a0, 0x8011
/* 0033EC 800027EC 248461D0 */ addiu $a0, %lo(ALGlobals_801161D0) # addiu $a0, $a0, 0x61d0
/* 0033F0 800027F0 0C0321FB */ jal alInit
/* 0033F4 800027F4 02602825 */ move $a1, $s3
.L800027F8:
@@ -230,10 +230,10 @@ glabel audioNewThread
/* 0035C4 800029C4 24846198 */ addiu $a0, %lo(D_80116198) # addiu $a0, $a0, 0x6198
/* 0035C8 800029C8 0C032208 */ jal osCreateMesgQueue
/* 0035CC 800029CC 24060008 */ li $a2, 8
/* 0035D0 800029D0 3C048011 */ lui $a0, %hi(D_80116160) # $a0, 0x8011
/* 0035D0 800029D0 3C048011 */ lui $a0, %hi(OSMesgQueue_80116160) # $a0, 0x8011
/* 0035D4 800029D4 3C058011 */ lui $a1, %hi(D_80116178) # $a1, 0x8011
/* 0035D8 800029D8 24A56178 */ addiu $a1, %lo(D_80116178) # addiu $a1, $a1, 0x6178
/* 0035DC 800029DC 24846160 */ addiu $a0, %lo(D_80116160) # addiu $a0, $a0, 0x6160
/* 0035DC 800029DC 24846160 */ addiu $a0, %lo(OSMesgQueue_80116160) # addiu $a0, $a0, 0x6160
/* 0035E0 800029E0 0C032208 */ jal osCreateMesgQueue
/* 0035E4 800029E4 24060008 */ li $a2, 8
/* 0035E8 800029E8 3C048012 */ lui $a0, %hi(D_80119AF0) # $a0, 0x8012
@@ -246,8 +246,8 @@ glabel audioNewThread
/* 003604 80002A04 3C188012 */ lui $t8, %hi(D_80119230) # $t8, 0x8012
/* 003608 80002A08 27189230 */ addiu $t8, %lo(D_80119230) # addiu $t8, $t8, -0x6dd0
/* 00360C 80002A0C 3C048011 */ lui $a0, %hi(audioThread) # $a0, 0x8011
/* 003610 80002A10 3C068000 */ lui $a2, %hi(D_80002A98) # $a2, 0x8000
/* 003614 80002A14 24C62A98 */ addiu $a2, %lo(D_80002A98) # addiu $a2, $a2, 0x2a98
/* 003610 80002A10 3C068000 */ lui $a2, %hi(func_80002A98) # $a2, 0x8000
/* 003614 80002A14 24C62A98 */ addiu $a2, %lo(func_80002A98) # addiu $a2, $a2, 0x2a98
/* 003618 80002A18 24845FB0 */ addiu $a0, %lo(audioThread) # addiu $a0, $a0, 0x5fb0
/* 00361C 80002A1C AFB80010 */ sw $t8, 0x10($sp)
/* 003620 80002A20 24050004 */ li $a1, 4
@@ -1,4 +1,4 @@
glabel D_80002A98
glabel func_80002A98
/* 003698 80002A98 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 00369C 80002A9C AFA40050 */ sw $a0, 0x50($sp)
/* 0036A0 80002AA0 3C048011 */ lui $a0, %hi(D_80115F90) # $a0, 0x8011
@@ -6,7 +6,7 @@ glabel D_80002A98
/* 0036A8 80002AA8 AFB00018 */ sw $s0, 0x18($sp)
/* 0036AC 80002AAC 8C845F90 */ lw $a0, %lo(D_80115F90)($a0)
/* 0036B0 80002AB0 3C058011 */ lui $a1, %hi(D_80116220) # $a1, 0x8011
/* 0036B4 80002AB4 3C068011 */ lui $a2, %hi(D_80116160) # $a2, 0x8011
/* 0036B4 80002AB4 3C068011 */ lui $a2, %hi(OSMesgQueue_80116160) # $a2, 0x8011
/* 0036B8 80002AB8 AFBE0038 */ sw $fp, 0x38($sp)
/* 0036BC 80002ABC AFB70034 */ sw $s7, 0x34($sp)
/* 0036C0 80002AC0 AFB60030 */ sw $s6, 0x30($sp)
@@ -18,7 +18,7 @@ glabel D_80002A98
/* 0036D8 80002AD8 00008025 */ move $s0, $zero
/* 0036DC 80002ADC AFA00048 */ sw $zero, 0x48($sp)
/* 0036E0 80002AE0 AFA00044 */ sw $zero, 0x44($sp)
/* 0036E4 80002AE4 24C66160 */ addiu $a2, %lo(D_80116160) # addiu $a2, $a2, 0x6160
/* 0036E4 80002AE4 24C66160 */ addiu $a2, %lo(OSMesgQueue_80116160) # addiu $a2, $a2, 0x6160
/* 0036E8 80002AE8 24A56220 */ addiu $a1, %lo(D_80116220) # addiu $a1, $a1, 0x6220
/* 0036EC 80002AEC 0C01E520 */ jal func_80079480
/* 0036F0 80002AF0 24070001 */ li $a3, 1
@@ -34,8 +34,8 @@ glabel D_80002A98
/* 003718 80002B18 24120001 */ li $s2, 1
/* 00371C 80002B1C 27B10048 */ addiu $s1, $sp, 0x48
.L80002B20:
/* 003720 80002B20 3C048011 */ lui $a0, %hi(D_80116160) # $a0, 0x8011
/* 003724 80002B24 24846160 */ addiu $a0, %lo(D_80116160) # addiu $a0, $a0, 0x6160
/* 003720 80002B20 3C048011 */ lui $a0, %hi(OSMesgQueue_80116160) # $a0, 0x8011
/* 003724 80002B24 24846160 */ addiu $a0, %lo(OSMesgQueue_80116160) # addiu $a0, $a0, 0x6160
/* 003728 80002B28 02202825 */ move $a1, $s1
/* 00372C 80002B2C 0C0322EC */ jal osRecvMesg
/* 003730 80002B30 02403025 */ move $a2, $s2
@@ -79,9 +79,9 @@ glabel D_80002A98
.L80002BBC:
/* 0037BC 80002BBC 1200FFD8 */ beqz $s0, .L80002B20
/* 0037C0 80002BC0 00000000 */ nop
/* 0037C4 80002BC4 3C048011 */ lui $a0, %hi(D_801161D0) # $a0, 0x8011
/* 0037C4 80002BC4 3C048011 */ lui $a0, %hi(ALGlobals_801161D0) # $a0, 0x8011
/* 0037C8 80002BC8 0C0321ED */ jal alClose
/* 0037CC 80002BCC 248461D0 */ addiu $a0, %lo(D_801161D0) # addiu $a0, $a0, 0x61d0
/* 0037CC 80002BCC 248461D0 */ addiu $a0, %lo(ALGlobals_801161D0) # addiu $a0, $a0, 0x61d0
/* 0037D0 80002BD0 8FBF003C */ lw $ra, 0x3c($sp)
/* 0037D4 80002BD4 8FB00018 */ lw $s0, 0x18($sp)
/* 0037D8 80002BD8 8FB1001C */ lw $s1, 0x1c($sp)
@@ -1,22 +0,0 @@
glabel func_8000488C
/* 00548C 8000488C 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 005490 80004890 240E0400 */ li $t6, 1024
/* 005494 80004894 AFBF0014 */ sw $ra, 0x14($sp)
/* 005498 80004898 A7AE0018 */ sh $t6, 0x18($sp)
/* 00549C 8000489C 1080000A */ beqz $a0, .L800048C8
/* 0054A0 800048A0 AFA4001C */ sw $a0, 0x1c($sp)
/* 0054A4 800048A4 908F003E */ lbu $t7, 0x3e($a0)
/* 0054A8 800048A8 27A50018 */ addiu $a1, $sp, 0x18
/* 0054AC 800048AC 31F8FFEF */ andi $t8, $t7, 0xffef
/* 0054B0 800048B0 A098003E */ sb $t8, 0x3e($a0)
/* 0054B4 800048B4 3C04800E */ lui $a0, %hi(D_800DC6BC) # $a0, 0x800e
/* 0054B8 800048B8 8C84C6BC */ lw $a0, %lo(D_800DC6BC)($a0)
/* 0054BC 800048BC 00003025 */ move $a2, $zero
/* 0054C0 800048C0 0C03246B */ jal alEvtqPostEvent
/* 0054C4 800048C4 24840014 */ addiu $a0, $a0, 0x14
.L800048C8:
/* 0054C8 800048C8 8FBF0014 */ lw $ra, 0x14($sp)
/* 0054CC 800048CC 27BD0028 */ addiu $sp, $sp, 0x28
/* 0054D0 800048D0 03E00008 */ jr $ra
/* 0054D4 800048D4 00000000 */ nop
+18
View File
@@ -3,5 +3,23 @@
#include "types.h"
#include "macros.h"
#include "audio_internal.h"
#if 1
GLOBAL_ASM("lib/asm/non_matchings/unknown_0C85E0/alCSPSetTempo.s")
#else
void alCSPSetTempo(ALCSPlayer *seqp, s32 tempo)
{
ALEvent evt;
evt.type = AL_SEQP_META_EVT;
evt.msg.tempo.status = AL_MIDI_Meta;
evt.msg.tempo.type = AL_MIDI_META_TEMPO;
evt.msg.tempo.byte1 = (tempo & 0xff0000)>>16;
evt.msg.tempo.byte2 = (tempo & 0xff00)>>8;
evt.msg.tempo.byte3 = tempo & 0xff;
alEvtqPostEvent(&seqp->evtq, &evt, 0);
}
#endif
+13
View File
@@ -2,6 +2,10 @@
/* RAM_POS: 0x800D52C0 */
#include "macros.h"
#include "libultra_internal.h"
extern OSThread* __osRunningThread;
extern OSThread* __RunQueue;
GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osSiDeviceBusy.s")
GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osSumcalc.s")
@@ -22,6 +26,15 @@ GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osSpDeviceBusy.s")
GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osResetGlobalIntMask.s")
GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/osEPiRawWriteIo.s")
GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/osYieldThread.s")
/*extern void __osEnqueueAndYield(OSThread **);
extern void __osRestoreInt(u32);
void osYieldThread(void){
register u32 saveMask = __osDisableInt();
__osRunningThread->state = OS_STATE_RUNNABLE;
__osEnqueueAndYield(&__RunQueue);
__osRestoreInt(saveMask);
}*/
GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/osDestroyThread.s")
GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/_Litob.s")
GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/_Genld.s")
+20 -16
View File
@@ -388,18 +388,18 @@ void func_80001170(u8 arg0);
void func_80001074(u16 arg0){
u32 s0;
u32 chan;
if(D_800DC65C){
D_80115F7C = arg0;
}
else{
gMusicPlayer->chanMask = arg0;
for(s0 = 0; s0 != 16; s0++){
if(arg0 & (1 << s0)){
func_80001170(s0);
for(chan = 0; chan != 16; chan++){
if(arg0 & (1 << chan)){
func_80001170(chan);
}
else{
func_80001114(s0);
func_80001114(chan);
}
}
@@ -469,12 +469,12 @@ s32 func_800012A8(u8 arg0) {
}
void func_800012E8(void){
u32 s0;
u32 chan;
if(!D_800DC648){
for(s0 = 0; s0<16; s0++){
func_80001170( s0 );
func_80001268( s0, 127 );
musicSetChlVol( s0, 127 );
for(chan = 0; chan<16; chan++){
func_80001170( chan );
func_80001268( chan, 127 );
musicSetChlVol( chan, 127 );
}
}
return;
@@ -559,6 +559,7 @@ f32 func_800015F8(void){
f32 delta_f;
f32 tmp;
f32* tmp2 = &D_80115D34;
if(audioPrevCount < current_cnt){
delta = current_cnt - audioPrevCount;
delta_f = (delta < 0)
@@ -570,8 +571,8 @@ f32 func_800015F8(void){
delta = audioPrevCount - current_cnt;
delta_f = (delta + -1);
delta_f = (delta < 0)
? (f32) delta + 4294967296.000000f
: delta;
? delta_f + 4294967296.000000f
: delta_f;
*tmp2 = delta_f/D_800E49E0 + D_80115D34;
}
if(D_80115D40 == 0){
@@ -730,8 +731,11 @@ u16 func_80001CB8(u16 arg0) {
}
#if 1
GLOBAL_ASM("asm/non_matchings/unknown_001050/func_80001D04.s")
#else
#endif
typedef struct unknown_struct_80001EA8_s{
u32 unk00;
@@ -860,11 +864,11 @@ void func_800022BC(u8 arg0, ALCSPlayer* arg1) {
#if 1
GLOBAL_ASM("asm/non_matchings/unknown_001050/func_8000232C.s")
#else
func_8000232C(ALCSPlayer* seqp, u8* ptr, u8* arg2, ALCSeq* seq){
void func_8000232C(ALCSPlayer* seqp, void* ptr, u8* arg2, ALCSeq* seq){
if(alCSPGetState(seqp) == AL_STOPPED && *arg2){
func_80076E68(39, ptr,
((u32*)(((*arg2) << 3) + ALSeqFile_80115CF8))[1]-func_80076EE8(39,0),
*((u32*)(((*arg2) << 3) + D_80115D0C)));
/*func_80076E68(39, ptr,
(u32)((ALSeqFile_80115CF8->seqArray)[*arg2]) - func_80076EE8(39,0),
*((u32*)(((*arg2) << 3) + D_80115D0C)));*/
alCSeqNew(seq, ptr);
alCSPSetSeq(seqp, seq);
alCSPPlay(seqp);
+21 -10
View File
@@ -6,12 +6,14 @@
#include "audio_internal.h"
#include "libultra_internal.h"
extern void D_80002A98(void*);
extern void func_80002A98(void*);
extern u32 D_80003008;
/* Unknown Size */
typedef struct unk800DC6BC {
u8 pad00[0x44];
ALPlayer node;
ALEventQueue evtq;
u8 pad18[0x1C];
s32 unk44;
s32 unk48;
} unk800DC6BC;
@@ -37,11 +39,11 @@ extern s32 sfxVolumeSlider;
extern s32 D_80115F90;
extern ALHeap* D_80115F94;
extern OSThread audioThread;
extern OSMesgQueue D_80116160;
extern OSMesgQueue OSMesgQueue_80116160;
extern OSMesg D_80116178;
extern OSMesgQueue D_80116198;
extern OSMesg D_801161B0;
extern ALGlobals D_801161D0;
extern ALGlobals ALGlobals_801161D0;
extern s32 D_80119230;
extern unk80119240 D_80119240[0x31];
extern s32 D_8011962C;
@@ -76,11 +78,11 @@ void audioNewThread(ALSynConfig* c, OSPri p, s32 arg2){
func_80076E68(39,reg_s0, reg_v0[8],tmp_size);
c->params = reg_s0;
c[1].maxVVoices = 0;
alInit(&D_801161D0, c);
alInit(&ALGlobals_801161D0, c);
func_80071140(reg_s0);
}
else{
alInit(&D_801161D0, c);
alInit(&ALGlobals_801161D0, c);
}
D_80119240[0].node.next = NULL;
D_80119240[0].node.prev = NULL;
@@ -94,10 +96,10 @@ void audioNewThread(ALSynConfig* c, OSPri p, s32 arg2){
osCreateMesgQueue(&D_80116198, &D_801161B0, 8);
osCreateMesgQueue(&D_80116160, &D_80116178, 8);
osCreateMesgQueue(&OSMesgQueue_80116160, &D_80116178, 8);
osCreateMesgQueue(&D_80119AF0, &D_80119B08, 50);
osCreateThread(&audioThread, 4, &D_80002A98, NULL, &D_80119230, p);
osCreateThread(&audioThread, 4, &func_80002A98, NULL, &D_80119230, p);
}
#endif
@@ -109,7 +111,7 @@ void audioStopThread(void) {
osStopThread(&audioThread);
}
GLOBAL_ASM("asm/non_matchings/unknown_003260/D_80002A98.s")
GLOBAL_ASM("asm/non_matchings/unknown_003260/func_80002A98.s")
GLOBAL_ASM("asm/non_matchings/unknown_003260/func_80002C00.s")
GLOBAL_ASM("asm/non_matchings/unknown_003260/func_80002DF8.s")
GLOBAL_ASM("asm/non_matchings/unknown_003260/D_80002E38.s")
@@ -173,7 +175,16 @@ void func_80004668(ALBank* bnk, s16 sndIndx, u8, s32){
}
#endif
GLOBAL_ASM("asm/non_matchings/unknown_003260/func_8000488C.s")
//input typing not right (some type of struct)
void func_8000488C(u8* arg0){
ALEvent sp_18;
sp_18.type = 1024;
((u32*)(&sp_18))[1] = (u32) arg0;
if(arg0){
arg0[0x3e] &= ~(1<<4);
alEvtqPostEvent(&(D_800DC6BC->evtq), &sp_18, 0);
}
}
GLOBAL_ASM("asm/non_matchings/unknown_003260/func_800048D8.s")
void func_800049D8(void) {
+27 -1
View File
@@ -1905,7 +1905,33 @@ void func_8008E4B0(void) {
}
GLOBAL_ASM("asm/non_matchings/unknown_080500/func_8008E4EC.s")
#if 1
GLOBAL_ASM("asm/non_matchings/unknown_080500/MenuTrackSelectInit.s")
#else
extern u32 D_800E0418;
void MenuTrackSelectInit(void){
u32 sp_7c;
u32 sp_78;
Settings *settings;
func_800C4170(2);
get_settings();
func_8006B224(&sp_7c, &sp_78);
func_8001E29C(26);
if(D_800DF488){
D_801269C8 = 0;
D_801269CC = 0;
D_800E0414 = 0;
D_800E0418 = 0;
D_800DF488 = 0;
}
func_8007A520();
}
#endif
GLOBAL_ASM("asm/non_matchings/unknown_080500/func_8008F00C.s")
#if 1
@@ -1928,7 +1954,7 @@ void musicSetRelativeVolume(u8 arg0);
s32 MenuTrackSelectLoop(s32 arg0) {
s32 phi_a2;
Settings *settings;
s32 i;
s32 i = 0;
settings = get_settings();
D_801263BC = (D_801263BC + arg0) & 0x3F;
+3 -3
View File
@@ -27,7 +27,7 @@ osRomBase = 0x80000308;
osResetType = 0x8000030C;
osCicId = 0x80000310;
osAppNMIBuffer = 0x8000031C;
D_80002A98 = 0x80002A98;
func_80002A98 = 0x80002A98;
D_80002E38 = 0x80002E38;
D_80003008 = 0x80003008;
_sndpVoiceHandler = 0x800033C8;
@@ -1753,11 +1753,11 @@ D_80115F98 = 0x80115F98;
D_80115FA0 = 0x80115FA0;
D_80115FA4 = 0x80115FA4;
audioThread = 0x80115FB0;
D_80116160 = 0x80116160;
OSMesgQueue_80116160 = 0x80116160;
D_80116178 = 0x80116178;
D_80116198 = 0x80116198;
D_801161B0 = 0x801161B0;
D_801161D0 = 0x801161D0;
ALGlobals_801161D0 = 0x801161D0;
D_80116220 = 0x80116220;
D_801183B4 = 0x801183B4;
D_80119230 = 0x80119230;