diff options
-rw-r--r-- | home/audio.asm | 177 |
1 files changed, 135 insertions, 42 deletions
diff --git a/home/audio.asm b/home/audio.asm index 5e0c0060..910d3532 100644 --- a/home/audio.asm +++ b/home/audio.asm @@ -6,7 +6,7 @@ PlayDefaultMusic:: ; 216b (0:216b) ld [wcfca], a jr asm_2188 -Func_2312:: ; 2312 (0:2312) +Func_2176:: ; 2176 (0:2176) ld c, $a ld d, $0 ld a, [wd72e] @@ -56,6 +56,7 @@ asm_2118:: ; 2118 (0:2118) jp PlaySound Func_21c8:: ; 21c8 (0:21c8) +; probably used to not change music upon getting on bike ld a,[W_CURMAP] cp ROUTE_23 jr z,.asm_21e1 @@ -73,55 +74,65 @@ Func_21c8:: ; 21c8 (0:21c8) scf ret -Func_235f:: ; 235f (0:235f) - ld a, [wc0ef] - ld b, a - cp BANK(Music2_UpdateMusic) - jr nz, .checkForBank08 -.bank02 - ld hl, Music2_UpdateMusic - jr .asm_2378 -.checkForBank08 - cp BANK(Music8_UpdateMusic) - jr nz, .bank1F -.bank08 - ld hl, Music8_UpdateMusic - jr .asm_2378 -.bank1F - ld hl, Music1f_UpdateMusic -.asm_2378 - ld c, $6 -.asm_237a +Func_21e5:: ; 21e5 (0:21e5) push bc push hl - call Bankswitch + callba Func_909d ; 2:509d pop hl pop bc dec c - jr nz, .asm_237a + jr nz, Func_21e5 ret + +;Func_235f:: ; 235f (0:235f) +; ld a, [wc0ef] +; ld b, a +; cp BANK(Music2_UpdateMusic) +; jr nz, .checkForBank08 +;.bank02 +; ld hl, Music2_UpdateMusic +; jr .asm_2378 +;.checkForBank08 +; cp BANK(Music8_UpdateMusic) +; jr nz, .bank1F +;.bank08 +; ld hl, Music8_UpdateMusic +; jr .asm_2378 +;.bank1F +; ld hl, Music1f_UpdateMusic +;.asm_2378 +; ld c, $6 +;.asm_237a +; push bc +; push hl +; call Bankswitch +; pop hl +; pop bc +; dec c +; jr nz, .asm_237a +; ret Func_21f5:: ; 21f5 (0:21f5) ld a, [wd35c] ld e, a ld a, [wc0ef] cp e - jr nz, .asm_2394 + jr nz, .asm_2204 ld [wc0f0], a and a ret -.asm_2394 +.asm_2204 ld a, c and a ld a, e - jr nz, .asm_239c + jr nz, .asm_220c ld [wc0ef], a -.asm_239c +.asm_220c ld [wc0f0], a scf ret -PlayMusic:: ; 23a1 (0:23a1) +PlayMusic:: ; 2211 (0:2211) ld b, a ld [wc0ee], a xor a @@ -130,54 +141,136 @@ PlayMusic:: ; 23a1 (0:23a1) ld [wc0ef], a ld [wc0f0], a ld a, b - + jr PlaySound + +Func_2223:: ; 2223 (0:2223) + xor a + ld [wc02a],a + ld [wc02b],a + ld [wc02c],a + ld [wc02d],a + ld [rNR10],a + ret + StopAllMusic:: ; 2233 (0:2233) ld a,$FF ld [wc0ee],a ; plays music specified by a. If value is $ff, music is stopped -PlaySound:: ; 23b1 (0:23b1) +PlaySound:: ; 2238 (0:2238) push hl push de push bc ld b, a ld a, [wc0ee] and a - jr z, .asm_23c8 + jr z, .asm_224f xor a ld [wc02a], a ld [wc02b], a ld [wc02c], a ld [wc02d], a -.asm_23c8 +.asm_224f ld a, [wMusicHeaderPointer] and a - jr z, .asm_23e3 + jr z, .asm_226a ld a, [wc0ee] and a - jr z, .asm_2425 + jr z, .asm_2284 xor a ld [wc0ee], a ld a, [wcfca] cp $ff - jr nz, .asm_2414 + jr nz, .asm_2273 xor a ld [wMusicHeaderPointer], a -.asm_23e3 +.asm_226a xor a ld [wc0ee], a - ld a, [H_LOADEDROMBANK] - ld [$ffb9], a + call Func_22ec + jr .asm_2284 +.asm_2273 + ld a,b + ld [wcfca],a + ld a,[wMusicHeaderPointer] + ld [wcfc8],a + ld [wcfc9],a + ld a,b + ld [wMusicHeaderPointer],a +.asm_2284 + pop bc + pop de + pop hl + ret + +Func_2288:: ; 2288 (0:2288) + push af ld a, [wc0ef] - ld [H_LOADEDROMBANK], a - ld [$2000], a - cp BANK(Func_9876) + call BankswitchCommon + ld d,$0 + ld a,c + add a + ld e,a + ld hl,wc006 + add hl,de + ld a,[hli] + ld e,a + ld a,[hld] + ld d,a + ld a,[de] + inc de + ld [hl],e + inc hl + ld [hl],d + ld e,a + pop af + call BankswitchCommon + ld a,e + ret + +Func_22aa:: ; 22aa (0:22aa) + push hl + push de + push bc + homecall Func_219f8 ; 8:59f8 + pop bc + pop de + pop hl + ret + +Func_22c0:: ; 22c0 (0:22c0) + push hl + push de + push bc + homecall Func_21ab7 ; 8:5ab7 + pop bc + pop de + pop hl + ret + +Func_22d6:: ; 22d6 (0:22d6) + push hl + push de + push bc + homecall Func_21b3f + pop bc + pop de + pop hl + ret + +Func_22ec:: ; 22dc (0:22ec) +; incomplete + ld a,[H_LOADEDROMBANK] + push af + ld a,[wc0ef] + call BankswitchCommon + cp BANK(Func_984e) jr nz, .checkForBank08 .bank02 ld a, b - call Func_9876 + call Func_984e jr .asm_240b .checkForBank08 - cp BANK(Func_22035) + cp BANK(Func_218bb) jr nz, .bank1F .bank08 ld a, b |