;;; ResetSound ;;; ;; Parameters: ;; r1: Sound channel - 1 080021F4 (T) push r14 ; 080021F6 (T) lsl r1,r1,18h ;\ 080021F8 (T) lsr r1,r1,18h ;} r0 = r1 parameter 080021FA (T) mov r0,r1 ;/ 080021FC (T) cmp r1,1h ;\ 080021FE (T) beq 8002224h ;} If r1 parameter == 1: branch to 8002224h 08002200 (T) cmp r1,1h ;\ 08002202 (T) bgt 800220Ah ;| 08002204 (T) cmp r1,0h ;} If r1 parameter == 0: branch to 8002214h 08002206 (T) beq 8002214h ;/ 08002208 (T) b 8002248h ; Redundant 0800220A (T) cmp r0,2h ;\ 0800220C (T) beq 800222Ch ;} If r1 parameter == 2: branch to 800222Ch 0800220E (T) cmp r0,3h ;\ 08002210 (T) beq 8002238h ;} If r1 parameter == 3: branch to 8002238h 08002212 (T) b 8002248h ; Return ; 0 08002214 (T) ldr r1,=SOUND1CNT_H_H__(Channel_1_Envelope) ;\ 08002216 (T) mov r0,8h ;} Set channel 1 no envelope 08002218 (T) strb r0,[r1] ;/ 0800221A (T) add r1,1h ; r1 = SOUND1CNT_X__(Channel_1_Frequency/Control) 0800221C (T) b 8002240h ; Branch to 8002240h 0800221E dw 00000h 08002220 dd 004000063h ; 1 08002224 (T) ldr r1,=SOUND2CNT_L_H__(Channel_2_Envelope) ; r1 = SOUND2CNT_L_H__(Channel_2_Envelope) 08002226 (T) b 800223Ah ; Branch to 800223Ah 08002228 dd 004000069h ; 2 0800222C (T) ldr r1,=SOUND3CNT_L__(Channel_3_Stop/Wave_RAM_select) ;\ 0800222E (T) mov r0,0h ;} Stop channel 3 08002230 (T) strb r0,[r1] ;/ 08002232 (T) b 8002248h ; Return 08002234 dd 004000070h ; 3 08002238 (T) ldr r1,=SOUND4CNT_L_H__(Channel_4_Envelope) ; r1 = SOUND4CNT_L_H__(Channel_4_Envelope) ; Also branched from 1: ; r1 = SOUND2CNT_L_H__(Channel_2_Envelope) 0800223A (T) mov r0,8h ;\ 0800223C (T) strb r0,[r1] ;} Set channel n no envelope 0800223E (T) add r1,3h ; r1 = SOUNDnCNT_X__(Channel_n_Frequency/Control) ; Also branched from 0: ; r1 = SOUND1CNT_X__(Channel_1_Frequency/Control) 08002240 (T) mov r2,80h ;\ 08002242 (T) lsl r2,r2,8h ;| 08002244 (T) mov r0,r2 ;} Restart channel n sound 08002246 (T) strh r0,[r1] ;/ 08002248 (T) pop r0 0800224A (T) bx r0 0800224C dd 004000079h