diff options
Diffstat (limited to 'arm9/asm/NNS_SND_player.s')
-rw-r--r-- | arm9/asm/NNS_SND_player.s | 463 |
1 files changed, 200 insertions, 263 deletions
diff --git a/arm9/asm/NNS_SND_player.s b/arm9/asm/NNS_SND_player.s index 557afb1b..caaf345e 100644 --- a/arm9/asm/NNS_SND_player.s +++ b/arm9/asm/NNS_SND_player.s @@ -3,51 +3,26 @@ .section .bss - ; sFreeList - .global UNK_021D1DFC -UNK_021D1DFC: ; 0x021D1DFC + .global sFreeList +sFreeList: ; 0x021D1DFC .space 0xc - ; sPrioList - .global UNK_021D1E08 -UNK_021D1E08: ; 0x021D1E08 + .global sPrioList +sPrioList: ; 0x021D1E08 .space 0xc - ; sSeqPlayer - .global UNK_021D1E14 -UNK_021D1E14: ; 0x021D1E14 + .global sSeqPlayer +sSeqPlayer: ; 0x021D1E14 .space 0x440 - ; sPlayer - .global UNK_021D2254 -UNK_021D2254: ; 0x021D2254 - .space 0x8 - - ; sPlayer + 0x8 - .global UNK_021D225C -UNK_021D225C: ; 0x021D225C - .space 0x10 - - ; sPlayer + 0x18 - .global UNK_021D226C -UNK_021D226C: ; 0x021D226C - .space 0x4 - - ; sPlayer + 0x1C - .global UNK_021D2270 -UNK_021D2270: ; 0x021D2270 - .space 0x4 - - ; sPlayer + 0x20 - .global UNK_021D2274 -UNK_021D2274: ; 0x021D2274 - .space 0x460 + .global sPlayer +sPlayer: ; 0x021D2254 + .space 0x480 .section .text - ; SetPlayerPriority - arm_func_start FUN_020C06CC -FUN_020C06CC: ; 0x020C06CC + arm_func_start SetPlayerPriority +SetPlayerPriority: ; 0x020C06CC stmdb sp!, {r4-r6,lr} mov r6, r0 ldr r4, [r6, #0x4] @@ -56,54 +31,52 @@ FUN_020C06CC: ; 0x020C06CC beq _020C06F8 mov r0, r4 mov r1, r6 - bl FUN_020ADAB0 + bl NNS_FndRemoveListObject mov r0, #0x0 str r0, [r6, #0x4] _020C06F8: - ldr r0, _020C0728 ; =UNK_021D1E08 + ldr r0, _020C0728 ; =sPrioList mov r1, r6 - bl FUN_020ADAB0 + bl NNS_FndRemoveListObject strb r5, [r6, #0x3d] cmp r4, #0x0 beq _020C071C mov r0, r4 mov r1, r6 - bl FUN_020C0910 + bl InsertPlayerList _020C071C: mov r0, r6 - bl FUN_020C08B4 + bl InsertPrioList ldmia sp!, {r4-r6,pc} .balign 4 -_020C0728: .word UNK_021D1E08 +_020C0728: .word sPrioList - ; PlayerHeapDisposeCallback - arm_func_start FUN_020C072C -FUN_020C072C: ; 0x020C072C + arm_func_start PlayerHeapDisposeCallback +PlayerHeapDisposeCallback: ; 0x020C072C stmdb sp!, {r4,lr} mov r4, r0 ldr r0, [r4, #0x8] cmp r0, #0x0 ldmeqia sp!, {r4,pc} - bl FUN_020C2A7C + bl NNS_SndHeapDestroy ldr r1, [r4, #0xc] cmp r1, #0x0 movne r0, #0x0 strne r0, [r1, #0x8] ldmneia sp!, {r4,pc} ldr r1, [r4, #0x10] - ldr r2, _020C0778 ; =UNK_021D2254 + ldr r2, _020C0778 ; =sPlayer mov r0, #0x24 mla r0, r1, r0, r2 mov r1, r4 add r0, r0, #0xc - bl FUN_020ADAB0 + bl NNS_FndRemoveListObject ldmia sp!, {r4,pc} .balign 4 -_020C0778: .word UNK_021D2254 +_020C0778: .word sPlayer - ; ShutdownPlayer - arm_func_start FUN_020C077C -FUN_020C077C: ; 0x020C077C + local_arm_func_start ShutdownPlayer +ShutdownPlayer: ; 0x020C077C stmdb sp!, {r4-r5,lr} sub sp, sp, #0x4 mov r4, r0 @@ -115,71 +88,69 @@ FUN_020C077C: ; 0x020C077C ldr r5, [r4, #0x4] mov r1, r4 mov r0, r5 - bl FUN_020ADAB0 + bl NNS_FndRemoveListObject mov r0, #0x0 str r0, [r4, #0x4] ldr r1, [r4, #0x8] cmp r1, #0x0 beq _020C07D8 add r0, r5, #0xc - bl FUN_020ADBE8 + bl NNS_FndAppendListObject ldr r0, [r4, #0x8] mov r1, #0x0 str r1, [r0, #0xc] str r1, [r4, #0x8] _020C07D8: - ldr r0, _020C0800 ; =UNK_021D1E08 + ldr r0, _020C0800 ; =sPrioList mov r1, r4 - bl FUN_020ADAB0 - ldr r0, _020C0804 ; =UNK_021D1DFC + bl NNS_FndRemoveListObject + ldr r0, _020C0804 ; =sFreeList mov r1, r4 - bl FUN_020ADBE8 + bl NNS_FndAppendListObject mov r0, #0x0 strb r0, [r4, #0x2c] add sp, sp, #0x4 ldmia sp!, {r4-r5,pc} .balign 4 -_020C0800: .word UNK_021D1E08 -_020C0804: .word UNK_021D1DFC +_020C0800: .word sPrioList +_020C0804: .word sFreeList - ; AllocSeqPlayer - arm_func_start FUN_020C0808 -FUN_020C0808: ; 0x020C0808 + arm_func_start AllocSeqPlayer +AllocSeqPlayer: ; 0x020C0808 stmdb sp!, {r4-r5,lr} sub sp, sp, #0x4 mov r5, r0 - ldr r0, _020C0874 ; =UNK_021D1DFC + ldr r0, _020C0874 ; =sFreeList mov r1, #0x0 - bl FUN_020ADA98 + bl NNS_FndGetNextListObject movs r4, r0 bne _020C0850 - ldr r0, _020C0878 ; =UNK_021D1E08 + ldr r0, _020C0878 ; =sPrioList mov r1, #0x0 - bl FUN_020ADA98 + bl NNS_FndGetNextListObject mov r4, r0 ldrb r1, [r4, #0x3d] cmp r5, r1 addlt sp, sp, #0x4 movlt r0, #0x0 ldmltia sp!, {r4-r5,pc} - bl FUN_020C087C + bl ForceStopSeq _020C0850: - ldr r0, _020C0874 ; =UNK_021D1DFC + ldr r0, _020C0874 ; =sFreeList mov r1, r4 - bl FUN_020ADAB0 + bl NNS_FndRemoveListObject mov r0, r4 strb r5, [r4, #0x3d] - bl FUN_020C08B4 + bl InsertPrioList mov r0, r4 add sp, sp, #0x4 ldmia sp!, {r4-r5,pc} .balign 4 -_020C0874: .word UNK_021D1DFC -_020C0878: .word UNK_021D1E08 +_020C0874: .word sFreeList +_020C0878: .word sPrioList - ; ForceStopSeq - arm_func_start FUN_020C087C -FUN_020C087C: ; 0x020C087C + arm_func_start ForceStopSeq +ForceStopSeq: ; 0x020C087C stmdb sp!, {r4,lr} mov r4, r0 ldrb r0, [r4, #0x2c] @@ -192,50 +163,48 @@ _020C089C: ldrb r0, [r4, #0x3c] bl SND_StopSeq mov r0, r4 - bl FUN_020C077C + bl ShutdownPlayer ldmia sp!, {r4,pc} .balign 4 _020C08B0: .word 0xFFFFFD2D - ; InsertPrioList - arm_func_start FUN_020C08B4 -FUN_020C08B4: ; 0x020C08B4 + arm_func_start InsertPrioList +InsertPrioList: ; 0x020C08B4 stmdb sp!, {r4-r5,lr} sub sp, sp, #0x4 mov r5, r0 - ldr r0, _020C090C ; =UNK_021D1E08 + ldr r0, _020C090C ; =sPrioList mov r1, #0x0 - bl FUN_020ADA98 + bl NNS_FndGetNextListObject movs r1, r0 beq _020C08F8 - ldr r4, _020C090C ; =UNK_021D1E08 + ldr r4, _020C090C ; =sPrioList _020C08D8: ldrb r2, [r5, #0x3d] ldrb r0, [r1, #0x3d] cmp r2, r0 blo _020C08F8 mov r0, r4 - bl FUN_020ADA98 + bl NNS_FndGetNextListObject movs r1, r0 bne _020C08D8 _020C08F8: - ldr r0, _020C090C ; =UNK_021D1E08 + ldr r0, _020C090C ; =sPrioList mov r2, r5 - bl FUN_020ADB18 + bl NNS_FndInsertListObject add sp, sp, #0x4 ldmia sp!, {r4-r5,pc} .balign 4 -_020C090C: .word UNK_021D1E08 +_020C090C: .word sPrioList - ; _end - arm_func_start FUN_020C0910 -FUN_020C0910: ; 0x020C0910 + arm_func_start InsertPlayerList +InsertPlayerList: ; 0x020C0910 stmdb sp!, {r4-r5,lr} sub sp, sp, #0x4 mov r4, r1 mov r1, #0x0 mov r5, r0 - bl FUN_020ADA98 + bl NNS_FndGetNextListObject movs r1, r0 beq _020C0950 _020C0930: @@ -244,20 +213,19 @@ _020C0930: cmp r2, r0 blo _020C0950 mov r0, r5 - bl FUN_020ADA98 + bl NNS_FndGetNextListObject movs r1, r0 bne _020C0930 _020C0950: mov r0, r5 mov r2, r4 - bl FUN_020ADB18 + bl NNS_FndInsertListObject str r5, [r4, #0x4] add sp, sp, #0x4 ldmia sp!, {r4-r5,pc} - ; _end - arm_func_start FUN_020C0968 -FUN_020C0968: ; 0x020C0968 + arm_func_start InitPlayer +InitPlayer: ; 0x020C0968 stmdb sp!, {r4,lr} mov r4, r0 mov r0, #0x0 @@ -270,42 +238,40 @@ FUN_020C0968: ; 0x020C0968 strb r1, [r4, #0x40] add r0, r4, #0x1c strb r1, [r4, #0x41] - bl FUN_020C3E6C + bl NNSi_SndFaderInit add r0, r4, #0x1c mov r1, #0x7f00 mov r2, #0x1 - bl FUN_020C3E40 + bl NNSi_SndFaderSet ldmia sp!, {r4,pc} - ; NNSi_SndPlayerAllocHeap - arm_func_start FUN_020C09B0 -FUN_020C09B0: ; 0x020C09B0 + arm_func_start NNSi_SndPlayerAllocHeap +NNSi_SndPlayerAllocHeap: ; 0x020C09B0 stmdb sp!, {r4-r6,lr} - ldr r3, _020C0A00 ; =UNK_021D2254 + ldr r3, _020C0A00 ; =sPlayer mov r2, #0x24 mla r5, r0, r2, r3 mov r6, r1 add r0, r5, #0xc mov r1, #0x0 - bl FUN_020ADA98 + bl NNS_FndGetNextListObject movs r4, r0 moveq r0, #0x0 ldmeqia sp!, {r4-r6,pc} mov r1, r4 add r0, r5, #0xc - bl FUN_020ADAB0 + bl NNS_FndRemoveListObject str r6, [r4, #0xc] str r4, [r6, #0x8] ldr r0, [r4, #0x8] - bl FUN_020C29C0 + bl NNS_SndHeapClear ldr r0, [r4, #0x8] ldmia sp!, {r4-r6,pc} .balign 4 -_020C0A00: .word UNK_021D2254 +_020C0A00: .word sPlayer - ; _end - arm_func_start FUN_020C0A04 -FUN_020C0A04: ; 0x020C0A04 + arm_func_start NNSi_SndPlayerPause +NNSi_SndPlayerPause: ; 0x020C0A04 stmdb sp!, {r4-r5,lr} sub sp, sp, #0x4 movs r5, r0 @@ -322,9 +288,8 @@ FUN_020C0A04: ; 0x020C0A04 add sp, sp, #0x4 ldmia sp!, {r4-r5,pc} - ; _end - arm_func_start FUN_020C0A40 -FUN_020C0A40: ; 0x020C0A40 + arm_func_start NNSi_SndPlayerStopSeq +NNSi_SndPlayerStopSeq: ; 0x020C0A40 stmdb sp!, {r4,lr} movs r4, r0 mov r2, r1 @@ -334,22 +299,21 @@ FUN_020C0A40: ; 0x020C0A40 ldmeqia sp!, {r4,pc} cmp r2, #0x0 bne _020C0A6C - bl FUN_020C087C + bl ForceStopSeq ldmia sp!, {r4,pc} _020C0A6C: add r0, r4, #0x1c mov r1, #0x0 - bl FUN_020C3E40 + bl NNSi_SndFaderSet mov r0, r4 mov r1, #0x0 - bl FUN_020C06CC + bl SetPlayerPriority mov r0, #0x2 strb r0, [r4, #0x2c] ldmia sp!, {r4,pc} - ; NNSi_SndPlayerStartSeq - arm_func_start FUN_020C0A90 -FUN_020C0A90: ; 0x020C0A90 + arm_func_start NNSi_SndPlayerStartSeq +NNSi_SndPlayerStartSeq: ; 0x020C0A90 stmdb sp!, {r4-r5,lr} sub sp, sp, #0x4 mov r5, r0 @@ -364,7 +328,7 @@ FUN_020C0A90: ; 0x020C0A90 bl SND_SetTrackAllocatableChannel _020C0AC0: mov r0, r5 - bl FUN_020C0968 + bl InitPlayer bl SND_GetCurrentCommandTag str r0, [r5, #0x30] mov r0, #0x1 @@ -375,20 +339,18 @@ _020C0AC0: .balign 4 _020C0AE4: .word 0x0000FFFF - ; NNSi_SndPlayerFreeSeqPlayer - arm_func_start thunk_FUN_020c077c -thunk_FUN_020c077c: ; 0x020C0AE8 - ldr ip, _020C0AF0 ; =FUN_020C077C + arm_func_start NNSi_SndPlayerFreeSeqPlayer +NNSi_SndPlayerFreeSeqPlayer: ; 0x020C0AE8 + ldr ip, _020C0AF0 ; =ShutdownPlayer bx r12 .balign 4 -_020C0AF0: .word FUN_020C077C +_020C0AF0: .word ShutdownPlayer - ; NNSi_SndPlayerAllocSeqPlayer - arm_func_start FUN_020C0AF4 -FUN_020C0AF4: ; 0x020C0AF4 + arm_func_start NNSi_SndPlayerAllocSeqPlayer +NNSi_SndPlayerAllocSeqPlayer: ; 0x020C0AF4 stmdb sp!, {r4-r7,lr} sub sp, sp, #0x4 - ldr ip, _020C0B9C ; =UNK_021D2254 + ldr ip, _020C0B9C ; =sPlayer mov r3, #0x24 mov r4, r0 ldr r5, [r4, #0x0] @@ -396,7 +358,7 @@ FUN_020C0AF4: ; 0x020C0AF4 mov r7, r2 cmp r5, #0x0 beq _020C0B20 - bl FUN_020C0F68 + bl NNS_SndHandleReleaseSeq _020C0B20: ldrh r1, [r6, #0x8] ldr r0, [r6, #0x18] @@ -404,7 +366,7 @@ _020C0B20: blo _020C0B64 mov r0, r6 mov r1, #0x0 - bl FUN_020ADA98 + bl NNS_FndGetNextListObject cmp r0, #0x0 addeq sp, sp, #0x4 moveq r0, #0x0 @@ -414,35 +376,34 @@ _020C0B20: addlt sp, sp, #0x4 movlt r0, #0x0 ldmltia sp!, {r4-r7,pc} - bl FUN_020C087C + bl ForceStopSeq _020C0B64: mov r0, r7 - bl FUN_020C0808 + bl AllocSeqPlayer movs r5, r0 addeq sp, sp, #0x4 moveq r0, #0x0 ldmeqia sp!, {r4-r7,pc} mov r0, r6 mov r1, r5 - bl FUN_020C0910 + bl InsertPlayerList str r4, [r5, #0x0] mov r0, r5 str r5, [r4, #0x0] add sp, sp, #0x4 ldmia sp!, {r4-r7,pc} .balign 4 -_020C0B9C: .word UNK_021D2254 +_020C0B9C: .word sPlayer - ; NNSi_SndPlayerMain - arm_func_start FUN_020C0BA0 -FUN_020C0BA0: ; 0x020C0BA0 + arm_func_start NNSi_SndPlayerMain +NNSi_SndPlayerMain: ; 0x020C0BA0 stmdb sp!, {r4-r11,lr} sub sp, sp, #0xc bl SND_GetPlayerStatus str r0, [sp, #0x0] - ldr r0, _020C0D14 ; =UNK_021D1E08 + ldr r0, _020C0D14 ; =sPrioList mov r1, #0x0 - bl FUN_020ADA98 + bl NNS_FndGetNextListObject movs r10, r0 addeq sp, sp, #0xc ldmeqia sp!, {r4-r11,pc} @@ -453,9 +414,9 @@ FUN_020C0BA0: ; 0x020C0BA0 mov r5, #0x1 mov r11, #0x0 _020C0BE0: - ldr r0, _020C0D14 ; =UNK_021D1E08 + ldr r0, _020C0D14 ; =sPrioList mov r1, r10 - bl FUN_020ADA98 + bl NNS_FndGetNextListObject ldrb r1, [r10, #0x2d] mov r9, r0 cmp r1, #0x0 @@ -474,11 +435,11 @@ _020C0C0C: ands r0, r0, r1 bne _020C0C38 mov r0, r10 - bl FUN_020C077C + bl ShutdownPlayer b _020C0D00 _020C0C38: add r0, r10, #0x1c - bl FUN_020C3DF4 + bl NNSi_SndFaderUpdate ldr r0, [r10, #0x4] ldrb r2, [r10, #0x41] ldrb r1, [r10, #0x40] @@ -490,7 +451,7 @@ _020C0C38: ldrsh r8, [r4, r3] ldrsh r7, [r4, r2] ldrsh r6, [r4, r1] - bl FUN_020C3E0C + bl NNSi_SndFaderGet mov r0, r0, asr #0x8 mov r2, r0, lsl #0x1 add r1, r7, r8 @@ -518,11 +479,11 @@ _020C0CC4: cmp r0, #0x2 bne _020C0CE8 add r0, r10, #0x1c - bl FUN_020C3DDC + bl NNSi_SndFaderIsFinished cmp r0, #0x0 beq _020C0CE8 mov r0, r10 - bl FUN_020C087C + bl ForceStopSeq _020C0CE8: ldrb r0, [r10, #0x2f] cmp r0, #0x0 @@ -537,35 +498,34 @@ _020C0D00: add sp, sp, #0xc ldmia sp!, {r4-r11,pc} .balign 4 -_020C0D14: .word UNK_021D1E08 +_020C0D14: .word sPrioList _020C0D18: .word SNDi_DecibelTable _020C0D1C: .word 0x00007FFF - ; NNSi_SndPlayerInit - arm_func_start FUN_020C0D20 -FUN_020C0D20: ; 0x020C0D20 + arm_func_start NNSi_SndPlayerInit +NNSi_SndPlayerInit: ; 0x020C0D20 stmdb sp!, {r4-r10,lr} - ldr r0, _020C0DC4 ; =UNK_021D1E08 + ldr r0, _020C0DC4 ; =sPrioList mov r1, #0x14 - bl FUN_020ADC74 - ldr r0, _020C0DC8 ; =UNK_021D1DFC + bl NNS_FndInitList + ldr r0, _020C0DC8 ; =sFreeList mov r1, #0x14 - bl FUN_020ADC74 - ldr r6, _020C0DCC ; =UNK_021D1E14 + bl NNS_FndInitList + ldr r6, _020C0DCC ; =sSeqPlayer mov r7, #0x0 - ldr r4, _020C0DC8 ; =UNK_021D1DFC + ldr r4, _020C0DC8 ; =sFreeList mov r5, r7 _020C0D4C: strb r5, [r6, #0x2c] mov r0, r4 mov r1, r6 strb r7, [r6, #0x3c] - bl FUN_020ADBE8 + bl NNS_FndAppendListObject add r7, r7, #0x1 cmp r7, #0x10 add r6, r6, #0x44 blt _020C0D4C - ldr sl, _020C0DD0 ; =UNK_021D2254 + ldr sl, _020C0DD0 ; =sPlayer mov r9, #0x0 mov r7, r9 mov r4, r9 @@ -575,10 +535,10 @@ _020C0D4C: _020C0D8C: mov r0, r10 mov r1, r8 - bl FUN_020ADC74 + bl NNS_FndInitList mov r1, r7 add r0, r10, #0xc - bl FUN_020ADC74 + bl NNS_FndInitList strb r6, [r10, #0x20] str r5, [r10, #0x18] add r9, r9, #0x1 @@ -588,14 +548,13 @@ _020C0D8C: blt _020C0D8C ldmia sp!, {r4-r10,pc} .balign 4 -_020C0DC4: .word UNK_021D1E08 -_020C0DC8: .word UNK_021D1DFC -_020C0DCC: .word UNK_021D1E14 -_020C0DD0: .word UNK_021D2254 - - ; _end - arm_func_start FUN_020C0DD4 -FUN_020C0DD4: ; 0x020C0DD4 +_020C0DC4: .word sPrioList +_020C0DC8: .word sFreeList +_020C0DCC: .word sSeqPlayer +_020C0DD0: .word sPlayer + + arm_func_start NNS_SndPlayerGetTick +NNS_SndPlayerGetTick: ; 0x020C0DD4 stmdb sp!, {lr} sub sp, sp, #0x4 ldr r1, [r0, #0x0] @@ -613,9 +572,8 @@ FUN_020C0DD4: ; 0x020C0DD4 add sp, sp, #0x4 ldmia sp!, {pc} - ; _end - arm_func_start FUN_020C0E14 -FUN_020C0E14: ; 0x020C0E14 + arm_func_start NNS_SndPlayerGetSeqNo +NNS_SndPlayerGetSeqNo: ; 0x020C0E14 ldr r1, [r0, #0x0] cmp r1, #0x0 mvneq r0, #0x0 @@ -626,9 +584,8 @@ FUN_020C0E14: ; 0x020C0E14 ldreqh r0, [r1, #0x38] bx lr - ; _end - arm_func_start FUN_020C0E38 -FUN_020C0E38: ; 0x020C0E38 + arm_func_start NNS_SndPlayerSetSeqArcNo +NNS_SndPlayerSetSeqArcNo: ; 0x020C0E38 ldr r12, [r0, #0x0] cmp r12, #0x0 bxeq lr @@ -640,9 +597,8 @@ FUN_020C0E38: ; 0x020C0E38 strh r2, [r0, #0x3a] bx lr - ; _end - arm_func_start FUN_020C0E60 -FUN_020C0E60: ; 0x020C0E60 + arm_func_start NNS_SndPlayerSetSeqNo +NNS_SndPlayerSetSeqNo: ; 0x020C0E60 ldr r3, [r0, #0x0] cmp r3, #0x0 movne r2, #0x1 @@ -651,9 +607,8 @@ FUN_020C0E60: ; 0x020C0E60 strneh r1, [r0, #0x38] bx lr - ; _end - arm_func_start FUN_020C0E7C -FUN_020C0E7C: ; 0x020C0E7C + arm_func_start NNS_SndPlayerSetTrackPan +NNS_SndPlayerSetTrackPan: ; 0x020C0E7C stmdb sp!, {lr} sub sp, sp, #0x4 ldr r0, [r0, #0x0] @@ -665,9 +620,8 @@ FUN_020C0E7C: ; 0x020C0E7C add sp, sp, #0x4 ldmia sp!, {pc} - ; _end - arm_func_start FUN_020C0EA4 -FUN_020C0EA4: ; 0x020C0EA4 + arm_func_start NNS_SndPlayerSetTrackPitch +NNS_SndPlayerSetTrackPitch: ; 0x020C0EA4 stmdb sp!, {lr} sub sp, sp, #0x4 ldr r0, [r0, #0x0] @@ -679,9 +633,8 @@ FUN_020C0EA4: ; 0x020C0EA4 add sp, sp, #0x4 ldmia sp!, {pc} - ; _end - arm_func_start FUN_020C0ECC -FUN_020C0ECC: ; 0x020C0ECC + arm_func_start NNS_SndPlayerSetChannelPriority +NNS_SndPlayerSetChannelPriority: ; 0x020C0ECC stmdb sp!, {lr} sub sp, sp, #0x4 ldr r0, [r0, #0x0] @@ -693,9 +646,8 @@ FUN_020C0ECC: ; 0x020C0ECC add sp, sp, #0x4 ldmia sp!, {pc} - ; _end - arm_func_start FUN_020C0EF4 -FUN_020C0EF4: ; 0x020C0EF4 + arm_func_start NNS_SndPlayerMoveVolume +NNS_SndPlayerMoveVolume: ; 0x020C0EF4 stmdb sp!, {lr} sub sp, sp, #0x4 ldr r3, [r0, #0x0] @@ -708,40 +660,36 @@ FUN_020C0EF4: ; 0x020C0EF4 ldmeqia sp!, {pc} add r0, r3, #0x1c mov r1, r1, lsl #0x8 - bl FUN_020C3E40 + bl NNSi_SndFaderSet add sp, sp, #0x4 ldmia sp!, {pc} - ; _end - arm_func_start FUN_020C0F30 -FUN_020C0F30: ; 0x020C0F30 + arm_func_start NNS_SndPlayerSetInitialVolume +NNS_SndPlayerSetInitialVolume: ; 0x020C0F30 ldr r0, [r0, #0x0] cmp r0, #0x0 strneb r1, [r0, #0x40] bx lr - ; _end - arm_func_start FUN_020C0F40 -FUN_020C0F40: ; 0x020C0F40 + arm_func_start NNS_SndPlayerSetVolume +NNS_SndPlayerSetVolume: ; 0x020C0F40 ldr r0, [r0, #0x0] cmp r0, #0x0 strneb r1, [r0, #0x41] bx lr - ; NNS_SndPlayerCountPlayingSeqByPlayerNo - arm_func_start FUN_020C0F50 -FUN_020C0F50: ; 0x020C0F50 + arm_func_start NNS_SndPlayerCountPlayingSeqByPlayerNo +NNS_SndPlayerCountPlayingSeqByPlayerNo: ; 0x020C0F50 mov r1, #0x24 mul r1, r0, r1 - ldr r0, _020C0F64 ; =UNK_021D225C + ldr r0, _020C0F64 ; =sPlayer + 0x8 ldrh r0, [r0, r1] bx lr .balign 4 -_020C0F64: .word UNK_021D225C +_020C0F64: .word sPlayer + 0x8 - ; _end - arm_func_start FUN_020C0F68 -FUN_020C0F68: ; 0x020C0F68 + arm_func_start NNS_SndHandleReleaseSeq +NNS_SndHandleReleaseSeq: ; 0x020C0F68 ldr r2, [r0, #0x0] cmp r2, #0x0 movne r1, #0x0 @@ -749,27 +697,24 @@ FUN_020C0F68: ; 0x020C0F68 strne r1, [r0, #0x0] bx lr - ; _end - arm_func_start FUN_020C0F80 -FUN_020C0F80: ; 0x020C0F80 + arm_func_start NNS_SndHandleInit +NNS_SndHandleInit: ; 0x020C0F80 mov r1, #0x0 str r1, [r0, #0x0] bx lr - ; NNS_SndPlayerPause - arm_func_start FUN_020C0F8C -FUN_020C0F8C: ; 0x020C0F8C - ldr ip, _020C0F98 ; =FUN_020C0A04 + arm_func_start NNS_SndPlayerPause +NNS_SndPlayerPause: ; 0x020C0F8C + ldr ip, _020C0F98 ; =NNSi_SndPlayerPause ldr r0, [r0, #0x0] bx r12 .balign 4 -_020C0F98: .word FUN_020C0A04 +_020C0F98: .word NNSi_SndPlayerPause - ; NNS_SndPlayerStopSeqAll - arm_func_start FUN_020C0F9C -FUN_020C0F9C: ; 0x020C0F9C + arm_func_start NNS_SndPlayerStopSeqAll +NNS_SndPlayerStopSeqAll: ; 0x020C0F9C stmdb sp!, {r4-r6,lr} - ldr r4, _020C0FD8 ; =UNK_021D1E14 + ldr r4, _020C0FD8 ; =sSeqPlayer mov r6, r0 mov r5, #0x0 _020C0FAC: @@ -778,7 +723,7 @@ _020C0FAC: beq _020C0FC4 mov r0, r4 mov r1, r6 - bl FUN_020C0A40 + bl NNSi_SndPlayerStopSeq _020C0FC4: add r5, r5, #0x1 cmp r5, #0x10 @@ -786,14 +731,13 @@ _020C0FC4: blt _020C0FAC ldmia sp!, {r4-r6,pc} .balign 4 -_020C0FD8: .word UNK_021D1E14 +_020C0FD8: .word sSeqPlayer - ; NNS_SndPlayerStopSeqBySeqNo - arm_func_start FUN_020C0FDC -FUN_020C0FDC: ; 0x020C0FDC + arm_func_start NNS_SndPlayerStopSeqBySeqNo +NNS_SndPlayerStopSeqBySeqNo: ; 0x020C0FDC stmdb sp!, {r4-r7,lr} sub sp, sp, #0x4 - ldr r4, _020C103C ; =UNK_021D1E14 + ldr r4, _020C103C ; =sSeqPlayer mov r7, r0 mov r6, r1 mov r5, #0x0 @@ -809,7 +753,7 @@ _020C0FF4: bne _020C1024 mov r0, r4 mov r1, r6 - bl FUN_020C0A40 + bl NNSi_SndPlayerStopSeq _020C1024: add r5, r5, #0x1 cmp r5, #0x10 @@ -818,17 +762,16 @@ _020C1024: add sp, sp, #0x4 ldmia sp!, {r4-r7,pc} .balign 4 -_020C103C: .word UNK_021D1E14 +_020C103C: .word sSeqPlayer - ; NNS_SndPlayerStopSeqByPlayerNo - arm_func_start FUN_020C1040 -FUN_020C1040: ; 0x020C1040 + arm_func_start NNS_SndPlayerStopSeqByPlayerNo +NNS_SndPlayerStopSeqByPlayerNo: ; 0x020C1040 stmdb sp!, {r4-r7,lr} sub sp, sp, #0x4 - ldr r3, _020C109C ; =UNK_021D2254 + ldr r3, _020C109C ; =sPlayer mov r2, #0x24 mla r4, r0, r2, r3 - ldr r5, _020C10A0 ; =UNK_021D1E14 + ldr r5, _020C10A0 ; =sSeqPlayer mov r7, r1 mov r6, #0x0 _020C1060: @@ -840,7 +783,7 @@ _020C1060: bne _020C1084 mov r0, r5 mov r1, r7 - bl FUN_020C0A40 + bl NNSi_SndPlayerStopSeq _020C1084: add r6, r6, #0x1 cmp r6, #0x10 @@ -849,31 +792,29 @@ _020C1084: add sp, sp, #0x4 ldmia sp!, {r4-r7,pc} .balign 4 -_020C109C: .word UNK_021D2254 -_020C10A0: .word UNK_021D1E14 +_020C109C: .word sPlayer +_020C10A0: .word sSeqPlayer - ; NNS_SndPlayerStopSeq - arm_func_start FUN_020C10A4 -FUN_020C10A4: ; 0x020C10A4 - ldr ip, _020C10B0 ; =FUN_020C0A40 + arm_func_start NNS_SndPlayerStopSeq +NNS_SndPlayerStopSeq: ; 0x020C10A4 + ldr ip, _020C10B0 ; =NNSi_SndPlayerStopSeq ldr r0, [r0, #0x0] bx r12 .balign 4 -_020C10B0: .word FUN_020C0A40 +_020C10B0: .word NNSi_SndPlayerStopSeq - ; NNS_SndPlayerCreateHeap - arm_func_start FUN_020C10B4 -FUN_020C10B4: ; 0x020C10B4 + arm_func_start NNS_SndPlayerCreateHeap +NNS_SndPlayerCreateHeap: ; 0x020C10B4 stmdb sp!, {r4-r6,lr} sub sp, sp, #0x8 mov r5, r2 mov r6, r0 mov r0, r1 mov r3, #0x0 - ldr r2, _020C1140 ; =FUN_020C072C + ldr r2, _020C1140 ; =PlayerHeapDisposeCallback add r1, r5, #0x14 str r3, [sp, #0x0] - bl SDATi_AllocAndInitChunk + bl NNS_SndHeapAlloc movs r4, r0 addeq sp, sp, #0x8 moveq r0, #0x0 @@ -884,57 +825,53 @@ FUN_020C10B4: ; 0x020C10B4 mov r1, r5 add r0, r4, #0x14 str r2, [r4, #0x8] - bl FUN_020C2A94 + bl NNS_SndHeapCreate cmp r0, #0x0 addeq sp, sp, #0x8 moveq r0, #0x0 ldmeqia sp!, {r4-r6,pc} - ldr r2, _020C1144 ; =UNK_021D2254 + ldr r2, _020C1144 ; =sPlayer mov r1, #0x24 mla r2, r6, r1, r2 str r0, [r4, #0x8] mov r1, r4 add r0, r2, #0xc - bl FUN_020ADBE8 + bl NNS_FndAppendListObject mov r0, #0x1 add sp, sp, #0x8 ldmia sp!, {r4-r6,pc} .balign 4 -_020C1140: .word FUN_020C072C -_020C1144: .word UNK_021D2254 +_020C1140: .word PlayerHeapDisposeCallback +_020C1144: .word sPlayer - ; NNS_SndPlayerSetAllocatableChannel - arm_func_start FUN_020C1148 -FUN_020C1148: ; 0x020C1148 + arm_func_start NNS_SndPlayerSetAllocatableChannel +NNS_SndPlayerSetAllocatableChannel: ; 0x020C1148 mov r2, #0x24 mul r2, r0, r2 - ldr r0, _020C115C ; =UNK_021D2270 + ldr r0, _020C115C ; =sPlayer + 0x1C str r1, [r0, r2] bx lr .balign 4 -_020C115C: .word UNK_021D2270 +_020C115C: .word sPlayer + 0x1C - ; NNS_SndPlayerSetPlayableSeqCount - arm_func_start FUN_020C1160 -FUN_020C1160: ; 0x020C1160 + arm_func_start NNS_SndPlayerSetPlayableSeqCount +NNS_SndPlayerSetPlayableSeqCount: ; 0x020C1160 mov r2, #0x24 mul r2, r0, r2 mov r0, r1, lsl #0x10 - ldr r1, _020C117C ; =UNK_021D226C + ldr r1, _020C117C ; =sPlayer + 0x18 mov r0, r0, lsr #0x10 str r0, [r1, r2] bx lr .balign 4 -_020C117C: .word UNK_021D226C +_020C117C: .word sPlayer + 0x18 - ; NNS_SndPlayerSetPlayerVolume - arm_func_start FUN_020C1180 -FUN_020C1180: ; 0x020C1180 + arm_func_start NNS_SndPlayerSetPlayerVolume +NNS_SndPlayerSetPlayerVolume: ; 0x020C1180 mov r2, #0x24 mul r2, r0, r2 - ldr r0, _020C1194 ; =UNK_021D2274 + ldr r0, _020C1194 ; =sPlayer + 0x20 strb r1, [r0, r2] bx lr .balign 4 -_020C1194: .word UNK_021D2274 - +_020C1194: .word sPlayer + 0x20 |