summaryrefslogtreecommitdiff
path: root/engine/music2.asm
diff options
context:
space:
mode:
Diffstat (limited to 'engine/music2.asm')
-rwxr-xr-xengine/music2.asm1885
1 files changed, 0 insertions, 1885 deletions
diff --git a/engine/music2.asm b/engine/music2.asm
deleted file mode 100755
index db44d1d..0000000
--- a/engine/music2.asm
+++ /dev/null
@@ -1,1885 +0,0 @@
-Func_f8000: ; f8000 (3e:4000)
- jp Func_f807d
-
-Func_f8003: ; f8003 (3e:4003)
- jp Func_f80e9
-
-Func_f8006: ; f8006 (3e:4006)
- jp Func_f8021
-
-Func_f8009: ; f8009 (3e:4009)
- jp Func_f802d
-
-Func_f800c: ; f800c (3e:400c)
- jp Func_f804e
-
-Func_f800f: ; f800f (3e:400f)
- jp Func_f8052
-
-Func_f8012: ; f8012 (3e:4012)
- jp Func_f805c
-
-Func_f8015: ; f8015 (3e:4015)
- jp Func_f8066
-
-Func_f8018: ; f8018 (3e:4018)
- jp Func_f806f
-
-Func_f801b: ; f801b (3e:401b)
- jp Func_f89c4
-
-Func_f801e: ; f801e (3e:401e)
- jp Func_f89d0
-
-Func_f8021: ; f8021 (3e:4021)
- push hl
- ld hl, NumberOfSongs2
- cp [hl]
- jr nc, .asm_f802b
- ld [$dd80], a
-.asm_f802b
- pop hl
- ret
-
-Func_f802d: ; f802d (3e:402d)
- push bc
- push hl
- ld b, $0
- ld c, a
- or a
- jr z, .asm_f8043
- ld hl, Unknown_f8e85
- add hl, bc
- ld b, [hl]
- ld a, [$dd83]
- or a
- jr z, .asm_f8043
- cp b
- jr c, .asm_f804b
-.asm_f8043
- ld a, b
- ld [$dd83], a
- ld a, c
- ld [$dd82], a
-.asm_f804b
- pop hl
- pop bc
- ret
-
-Func_f804e: ; f804e (3e:404e)
- ld [$ddf0], a
- ret
-
-Func_f8052: ; f8052 (3e:4052)
- ld a, [$dd80]
- cp $80
- ld a, $1
- ret nz
- xor a
- ret
-
-Func_f805c: ; f805c (3e:405c)
- ld a, [$dd82]
- cp $80
- ld a, $1
- ret nz
- xor a
- ret
-
-Func_f8066: ; f8066 (3e:4066)
- ld a, [$ddf2]
- xor $1
- ld [$ddf2], a
- ret
-
-Func_f806f: ; f806f (3e:406f)
- push bc
- push af
- and $7
- ld b, a
- swap b
- or b
- ld [$ddf1], a
- pop af
- pop bc
- ret
-
-Func_f807d: ; f807d (3e:407d)
- xor a
- ld [rNR52], a
- ld a, $80
- ld [rNR52], a
- ld a, $77
- ld [rNR50], a
- ld a, $ff
- ld [rNR51], a
- ld a, $3d
- ld [$dd81], a
- ld a, $80
- ld [$dd80], a
- ld [$dd82], a
- ld a, $77
- ld [$ddf1], a
- xor a
- ld [$dd8c], a
- ld [$de53], a
- ld [wMusicWaveChange], a
- ld [$ddef], a
- ld [$ddf0], a
- ld [$ddf2], a
- dec a
- ld [wMusicDC], a
- ld de, $0001
- ld bc, $0000
-.asm_f80bb
- ld hl, wMusicIsPlaying
- add hl, bc
- ld [hl], d
- ld hl, wMusicTie
- add hl, bc
- ld [hl], d
- ld hl, $ddb3
- add hl, bc
- ld [hl], d
- ld hl, wMusicEC
- add hl, bc
- ld [hl], d
- ld hl, wMusicE8
- add hl, bc
- ld [hl], d
- inc c
- ld a, c
- cp $4
- jr nz, .asm_f80bb
- ld hl, Unknown_f8c20
- ld bc, wMusicReturnAddress
- ld d, $8
-.asm_f80e2
- ld a, [hli]
- ld [bc], a
- inc bc
- dec d
- jr nz, .asm_f80e2
- ret
-
-Func_f80e9: ; f80e9 (3e:40e9)
- call Func_f82a4
- call Func_f811c
- ld hl, Func_fc003
- call Bankswitch3dTo3f
- ld a, [$dd81]
- ld [hBankROM], a
- ld [MBC3RomBank], a
- ld a, [$ddf2]
- cp $0
- jr z, .asm_f8109
- call Func_f8980
- jr .asm_f8115
-.asm_f8109
- call Func_f82a5
- call Func_f830a
- call Func_f836f
- call Func_f83ce
-.asm_f8115
- call Func_f8866
- call Func_f89b1
- ret
-
-Func_f811c: ; f811c (3e:411c)
- ld a, [$dd80]
- rla
- jr c, .asm_f8133
- call Func_f814b
- ld a, [$dd80]
- call Music2_PlaySong
- ld a, [$dd80]
- or $80
- ld [$dd80], a
-.asm_f8133
- ld a, [$dd82]
- rla
- jr c, .asm_f814a
- ld a, [$dd82]
- ld hl, Func_fc000
- call Bankswitch3dTo3f
- ld a, [$dd82]
- or $80
- ld [$dd82], a
-.asm_f814a
- ret
-
-Func_f814b: ; f814b (3e:414b)
- ld a, [$dd8c]
- ld d, a
- xor a
- ld [wMusicIsPlaying], a
- bit 0, d
- jr nz, .asm_f815f
- ld a, $8
- ld [rNR12], a
- swap a
- ld [rNR14], a
-.asm_f815f
- xor a
- ld [$dd8e], a
- bit 1, d
- jr nz, .asm_f816f
- ld a, $8
- ld [rNR22], a
- swap a
- ld [rNR24], a
-.asm_f816f
- xor a
- ld [$dd90], a
- bit 3, d
- jr nz, .asm_f817f
- ld a, $8
- ld [rNR42], a
- swap a
- ld [rNR44], a
-.asm_f817f
- xor a
- ld [$dd8f], a
- bit 2, d
- jr nz, .asm_f818b
- ld a, $0
- ld [rNR32], a
-.asm_f818b
- ret
-
-; plays the song given by the id in a
-Music2_PlaySong: ; f818c (3e:418c)
- push af
- ld c, a
- ld b, $0
- ld hl, SongBanks2
- add hl, bc
- ld a, [hl]
- ld [$dd81], a
- ld [hBankROM], a
- ld [MBC3RomBank], a
- pop af
- add a
- ld c, a
- ld b, $0
- ld hl, SongHeaderPointers2
- add hl, bc
- ld e, [hl]
- inc hl
- ld h, [hl]
- ld l, e
- ld e, [hl]
- inc hl
- ld b, h
- ld c, l
- rr e
- jr nc, .asm_f81eb
- ld a, [bc]
- inc bc
- ld [$dd95], a
- ld [wMusicMainLoop], a
- ld a, [bc]
- inc bc
- ld [$dd96], a
- ld [$dd9e], a
- ld a, $1
- ld [$ddbb], a
- ld [wMusicIsPlaying], a
- xor a
- ld [wMusicTie], a
- ld [wMusicE4], a
- ld [wMusicE8], a
- ld [wMusicVibratoDelay], a
- ld [wMusicEC], a
- ld a, [Unknown_f8c20]
- ld [wMusicReturnAddress], a
- ld a, [Unknown_f8c20 + 1]
- ld [$ddf4], a
- ld a, $8
- ld [wMusicE9], a
-.asm_f81eb
- rr e
- jr nc, .asm_f8228
- ld a, [bc]
- inc bc
- ld [$dd97], a
- ld [$dd9f], a
- ld a, [bc]
- inc bc
- ld [$dd98], a
- ld [$dda0], a
- ld a, $1
- ld [$ddbc], a
- ld [$dd8e], a
- xor a
- ld [$dd92], a
- ld [$ddeb], a
- ld [$ddc0], a
- ld [$dde0], a
- ld [$ddcc], a
- ld a, [Unknown_f8c20 + 2]
- ld [$ddf5], a
- ld a, [Unknown_f8c20 + 3]
- ld [$ddf6], a
- ld a, $8
- ld [$ddc8], a
-.asm_f8228
- rr e
- jr nc, .asm_f8265
- ld a, [bc]
- inc bc
- ld [$dd99], a
- ld [$dda1], a
- ld a, [bc]
- inc bc
- ld [$dd9a], a
- ld [$dda2], a
- ld a, $1
- ld [$ddbd], a
- ld [$dd8f], a
- xor a
- ld [$dd93], a
- ld [$ddec], a
- ld [$ddc1], a
- ld [$dde1], a
- ld [$ddcd], a
- ld a, [Unknown_f8c20 + 4]
- ld [$ddf7], a
- ld a, [Unknown_f8c20 + 5]
- ld [$ddf8], a
- ld a, $40
- ld [$ddc9], a
-.asm_f8265
- rr e
- jr nc, .asm_f829f
- ld a, [bc]
- inc bc
- ld [$dd9b], a
- ld [$dda3], a
- ld a, [bc]
- inc bc
- ld [$dd9c], a
- ld [$dda4], a
- ld a, $1
- ld [$ddbe], a
- ld [$dd90], a
- xor a
- ld [$dd94], a
- ld [$ddc2], a
- ld [$dde2], a
- ld [$ddce], a
- ld a, [Unknown_f8c20 + 6]
- ld [$ddf9], a
- ld a, [Unknown_f8c20 + 7]
- ld [$ddfa], a
- ld a, $40
- ld [$ddca], a
-.asm_f829f
- xor a
- ld [$ddf2], a
- ret
-
-Func_f82a4: ; f82a4 (3e:42a4)
- ret
-
-Func_f82a5: ; f82a5 (3e:42a5)
- ld a, [wMusicIsPlaying]
- or a
- jr z, .asm_f82fa
- ld a, [$ddb7]
- cp $0
- jr z, .asm_f82d4
- ld a, [$ddc3]
- dec a
- ld [$ddc3], a
- jr nz, .asm_f82d4
- ld a, [$ddbb]
- cp $1
- jr z, .asm_f82d4
- ld a, [$dd8c]
- bit 0, a
- jr nz, .asm_f82d4
- ld hl, rNR12
- ld a, [wMusicE9]
- ld [hli], a
- inc hl
- ld a, $80
- ld [hl], a
-.asm_f82d4
- ld a, [$ddbb]
- dec a
- ld [$ddbb], a
- jr nz, .asm_f82f4
- ld a, [$dd96]
- ld h, a
- ld a, [$dd95]
- ld l, a
- ld bc, $0000
- call Music2_PlayNextNote
- ld a, [wMusicIsPlaying]
- or a
- jr z, .asm_f82fa
- call Func_f8714
-.asm_f82f4
- ld a, $0
- call Func_f885a
- ret
-.asm_f82fa
- ld a, [$dd8c]
- bit 0, a
- jr nz, .asm_f8309
- ld a, $8
- ld [rNR12], a
- swap a
- ld [rNR14], a
-.asm_f8309
- ret
-
-Func_f830a: ; f830a (3e:430a)
- ld a, [$dd8e]
- or a
- jr z, .asm_f835f
- ld a, [$ddb8]
- cp $0
- jr z, .asm_f8339
- ld a, [$ddc4]
- dec a
- ld [$ddc4], a
- jr nz, .asm_f8339
- ld a, [$ddbc]
- cp $1
- jr z, .asm_f8339
- ld a, [$dd8c]
- bit 1, a
- jr nz, .asm_f8339
- ld hl, rNR22
- ld a, [$ddc8]
- ld [hli], a
- inc hl
- ld a, $80
- ld [hl], a
-.asm_f8339
- ld a, [$ddbc]
- dec a
- ld [$ddbc], a
- jr nz, .asm_f8359
- ld a, [$dd98]
- ld h, a
- ld a, [$dd97]
- ld l, a
- ld bc, $0001
- call Music2_PlayNextNote
- ld a, [$dd8e]
- or a
- jr z, .asm_f835f
- call Func_f875a
-.asm_f8359
- ld a, $1
- call Func_f885a
- ret
-.asm_f835f
- ld a, [$dd8c]
- bit 1, a
- jr nz, .asm_f836e
- ld a, $8
- ld [rNR22], a
- swap a
- ld [rNR24], a
-.asm_f836e
- ret
-
-Func_f836f: ; f836f (3e:436f)
- ld a, [$dd8f]
- or a
- jr z, .asm_f83be
- ld a, [$ddb9]
- cp $0
- jr z, .asm_f8398
- ld a, [$ddc5]
- dec a
- ld [$ddc5], a
- jr nz, .asm_f8398
- ld a, [$dd8c]
- bit 2, a
- jr nz, .asm_f8398
- ld a, [$ddbd]
- cp $1
- jr z, .asm_f8398
- ld a, [$ddc9]
- ld [rNR32], a
-.asm_f8398
- ld a, [$ddbd]
- dec a
- ld [$ddbd], a
- jr nz, .asm_f83b8
- ld a, [$dd9a]
- ld h, a
- ld a, [$dd99]
- ld l, a
- ld bc, $0002
- call Music2_PlayNextNote
- ld a, [$dd8f]
- or a
- jr z, .asm_f83be
- call Func_f879c
-.asm_f83b8
- ld a, $2
- call Func_f885a
- ret
-.asm_f83be
- ld a, [$dd8c]
- bit 2, a
- jr nz, .asm_f83cd
- ld a, $0
- ld [rNR32], a
- ld a, $80
- ld [rNR34], a
-.asm_f83cd
- ret
-
-Func_f83ce: ; f83ce (3e:43ce)
- ld a, [$dd90]
- or a
- jr z, .asm_f8400
- ld a, [$ddbe]
- dec a
- ld [$ddbe], a
- jr nz, .asm_f83f6
- ld a, [$dd9c]
- ld h, a
- ld a, [$dd9b]
- ld l, a
- ld bc, $0003
- call Music2_PlayNextNote
- ld a, [$dd90]
- or a
- jr z, .asm_f8400
- call Func_f880a
- jr .asm_f8413
-.asm_f83f6
- ld a, [$ddef]
- or a
- jr z, .asm_f8413
- call Func_f8839
- ret
-.asm_f8400
- ld a, [$dd8c]
- bit 3, a
- jr nz, .asm_f8413
- xor a
- ld [$ddef], a
- ld a, $8
- ld [rNR42], a
- swap a
- ld [rNR44], a
-.asm_f8413
- ret
-
-Music2_PlayNextNote: ; f8414 (3e:4414)
- ld a, [hli]
- push hl
- push af
- cp $d0
- jr c, Music2_note
- sub $d0
- add a
- ld e, a
- ld d, $0
- ld hl, Music2_CommandTable
- add hl, de
- ld e, [hl]
- inc hl
- ld d, [hl]
- ld h, d
- ld l, e
- pop af
- jp [hl]
-
-Music2_CommandTable: ; f842c (3e:442c)
- dw Music2_speed
- dw Music2_octave
- dw Music2_octave
- dw Music2_octave
- dw Music2_octave
- dw Music2_octave
- dw Music2_octave
- dw Music2_inc_octave
- dw Music2_dec_octave
- dw Music2_tie
- dw Music2_end
- dw Music2_end
- dw Music2_musicdc
- dw Music2_MainLoop
- dw Music2_EndMainLoop
- dw Music2_Loop
- dw Music2_EndLoop
- dw Music2_jp
- dw Music2_call
- dw Music2_ret
- dw Music2_musice4
- dw Music2_duty
- dw Music2_volume
- dw Music2_wave
- dw Music2_musice8
- dw Music2_musice9
- dw Music2_vibrato_type
- dw Music2_vibrato_delay
- dw Music2_musicec
- dw Music2_musiced
- dw Music2_end
- dw Music2_end
- dw Music2_end
- dw Music2_end
- dw Music2_end
- dw Music2_end
- dw Music2_end
- dw Music2_end
- dw Music2_end
- dw Music2_end
- dw Music2_end
- dw Music2_end
- dw Music2_end
- dw Music2_end
- dw Music2_end
- dw Music2_end
- dw Music2_end
- dw Music2_end
-
-Music2_note: ; f448c (3d:448c)
- push af
- ld a, [hl]
- ld e, a
- ld hl, wMusicTie
- add hl, bc
- ld a, [hl]
- cp $80
- jr z, .asm_f84b0
- ld [hl], $1
- xor a
- ld hl, $dddb
- add hl, bc
- ld [hl], a
- ld hl, $dde3
- add hl, bc
- ld [hl], a
- inc [hl]
- ld hl, wMusicVibratoType2
- add hl, bc
- ld a, [hl]
- ld hl, wMusicVibratoType
- add hl, bc
- ld [hl], a
-.asm_f84b0
- pop af
- push de
- ld hl, wMusicSpeed
- add hl, bc
- ld d, [hl]
- and $f
- inc a
- cp d
- jr nc, .asm_f84c0
- ld e, a
- ld a, d
- ld d, e
-.asm_f84c0
- ld e, a
-.asm_f84c1
- dec d
- jr z, .asm_f84c7
- add e
- jr .asm_f84c1
-.asm_f84c7
- ld hl, $ddbb
- add hl, bc
- ld [hl], a
- pop de
- ld d, a
- ld a, e
- cp $d9
- ld a, d
- jr z, .asm_f84fb
- ld e, a
- ld hl, wMusicE8
- add hl, bc
- ld a, [hl]
- cp $8
- ld d, a
- ld a, e
- jr z, .asm_f84fb
- push hl
- push bc
- ld b, $0
- ld c, a
- ld hl, $0000
-.asm_f84e8
- add hl, bc
- dec d
- jr nz, .asm_f84e8
- srl h
- rr l
- srl h
- rr l
- srl h
- rr l
- ld a, l
- pop bc
- pop hl
-.asm_f84fb
- ld hl, $ddc3
- add hl, bc
- ld [hl], a
- pop af
- and $f0
- ld hl, $ddb7
- add hl, bc
- ld [hl], a
- or a
- jr nz, .asm_f850e
- jp .asm_f858e
-.asm_f850e
- swap a
- dec a
- ld h, a
- ld a, $3
- cp c
- ld a, h
- jr z, .asm_f851a
- jr .asm_f8564
-.asm_f851a
- push af
- ld hl, wMusicOctave
- add hl, bc
- ld a, [hl]
- ld d, a
- sla a
- add d
- sla a
- sla a
- sla a
- ld e, a
- pop af
- ld hl, Music2_NoiseInstruments
- add a
- ld d, c
- ld c, a
- add hl, bc
- ld c, e
- add hl, bc
- ld c, d
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld a, [hli]
- ld d, a
- ld a, [wMusicDC]
- and $77
- or d
- ld [wMusicDC], a
- ld de, $ddab
- ld a, [hli]
- ld [de], a
- inc de
- ld a, [hli]
- ld [de], a
- inc de
- ld b, [hl]
- inc hl
- ld a, [hli]
- ld [de], a
- inc de
- ld a, b
- ld [de], a
- ld b, $0
- ld a, l
- ld d, h
- ld hl, $dded
- ld [hli], a
- ld [hl], d
- ld a, $1
- ld [$ddef], a
- jr .asm_f858e
-.asm_f8564
- ld hl, $dda5
- add hl, bc
- add hl, bc
- push hl
- ld hl, wMusicOctave
- add hl, bc
- ld e, [hl]
- ld d, $0
- ld hl, Unknown_f8c28
- add hl, de
- add a
- ld e, [hl]
- add e
- ld hl, wMusicEC
- add hl, bc
- ld e, [hl]
- add e
- add e
- ld e, a
- ld hl, Unknown_f8c30
- add hl, de
- ld a, [hli]
- ld e, a
- ld d, [hl]
- call Func_f8967
- pop hl
- ld a, e
- ld [hli], a
- ld [hl], d
-.asm_f858e
- pop de
- ld hl, $dd95
- add hl, bc
- add hl, bc
- ld [hl], e
- inc hl
- ld [hl], d
- ret
-
-Music2_speed: ; f8598 (3e:4598)
- pop hl
- ld a, [hli]
- push hl
- ld hl, wMusicSpeed
- add hl, bc
- ld [hl], a
- jp Music2_PlayNextNote_pop
-
-Music2_octave: ; f85a3 (3e:45a3)
- and $7
- dec a
- ld hl, wMusicOctave
- add hl, bc
- push af
- ld a, c
- cp $2
- jr nz, .asm_f85b6
- pop af
- inc a
- ld [hl], a
- jp Music2_PlayNextNote_pop
-.asm_f85b6
- pop af
- ld [hl], a
- jp Music2_PlayNextNote_pop
-
-Music2_inc_octave: ; f85bb (3e:45bb)
- ld hl, wMusicOctave
- add hl, bc
- inc [hl]
- jp Music2_PlayNextNote_pop
-
-Music2_dec_octave: ; f85c3 (3e:45c3)
- ld hl, wMusicOctave
- add hl, bc
- dec [hl]
- jp Music2_PlayNextNote_pop
-
-Music2_tie: ; f85cb (3e:45cb)
- ld hl, wMusicTie
- add hl, bc
- ld [hl], $80
- jp Music2_PlayNextNote_pop
-
-Music2_musicdc: ; f85d4 (3e:45d4)
- pop hl
- ld a, [hli]
- push hl
- push bc
- inc c
- ld e, $ee
-.asm_f85db
- dec c
- jr z, .asm_f85e3
- rlca
- rlc e
- jr .asm_f85db
-.asm_f85e3
- ld d, a
- ld hl, wMusicDC
- ld a, [hl]
- and e
- or d
- ld [hl], a
- pop bc
- jp Music2_PlayNextNote_pop
-
-Music2_MainLoop: ; f85ef (3e:45ef)
- pop de
- push de
- dec de
- ld hl, wMusicMainLoop
- add hl, bc
- add hl, bc
- ld [hl], e
- inc hl
- ld [hl], d
- jp Music2_PlayNextNote_pop
-
-Music2_EndMainLoop: ; f85fd (3e:45fd)
- pop hl
- ld hl, wMusicMainLoop
- add hl, bc
- add hl, bc
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp Music2_PlayNextNote
-
-Music2_Loop: ; f8609 (3e:4609)
- pop de
- ld a, [de]
- inc de
- push af
- call Music2_GetReturnAddress
- ld [hl], e
- inc hl
- ld [hl], d
- inc hl
- pop af
- ld [hl], a
- inc hl
- push de
- call Music2_SetReturnAddress
- jp Music2_PlayNextNote_pop
-
-Music2_EndLoop: ; f861e (3e:461e)
- call Music2_GetReturnAddress
- dec hl
- ld a, [hl]
- dec a
- jr z, .asm_f8630
- ld [hld], a
- ld d, [hl]
- dec hl
- ld e, [hl]
- pop hl
- ld h, d
- ld l, e
- jp Music2_PlayNextNote
-.asm_f8630
- dec hl
- dec hl
- call Music2_SetReturnAddress
- jp Music2_PlayNextNote_pop
-
-Music2_jp: ; f8638 (3e:4638)
- pop hl
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp Music2_PlayNextNote
-
-Music2_call: ; f863f (3e:463f)
- call Music2_GetReturnAddress
- pop de
- ld a, e
- ld [hli], a
- ld a, d
- ld [hli], a
- ld a, [de]
- ld b, a
- inc de
- ld a, [de]
- ld d, a
- ld e, b
- ld b, $0
- push de
- call Music2_SetReturnAddress
- jp Music2_PlayNextNote_pop
-
-Music2_ret: ; f8656 (3e:4656)
- pop de
- call Music2_GetReturnAddress
- dec hl
- ld a, [hld]
- ld e, [hl]
- ld d, a
- inc de
- inc de
- push de
- call Music2_SetReturnAddress
- jp Music2_PlayNextNote_pop
-
-Music2_musice4: ; f8667 (3e:4667)
- pop de
- ld a, [de]
- inc de
- ld hl, wMusicE4
- add hl, bc
- ld [hl], a
- ld h, d
- ld l, e
- jp Music2_PlayNextNote
-
-Music2_duty: ; f8674 (3e:4674)
- pop de
- ld a, [de]
- and $c0
- inc de
- ld hl, wMusicDuty
- add hl, bc
- ld [hl], a
- ld h, d
- ld l, e
- jp Music2_PlayNextNote
-
-Music2_volume: ; f8683 (3e:4683)
- pop de
- ld a, [de]
- inc de
- ld hl, wMusicVolume
- add hl, bc
- ld [hl], a
- ld h, d
- ld l, e
- jp Music2_PlayNextNote
-
-Music2_wave: ; f8690 (3e:4690)
- pop de
- ld a, [de]
- inc de
- ld [wMusicWave], a
- ld a, $1
- ld [wMusicWaveChange], a
- ld h, d
- ld l, e
- jp Music2_PlayNextNote
-
-Music2_musice8: ; f86a0 (3e:46a0)
- pop de
- ld a, [de]
- inc de
- ld hl, wMusicE8
- add hl, bc
- ld [hl], a
- ld h, d
- ld l, e
- jp Music2_PlayNextNote
-
-Music2_musice9: ; f86ad (3e:46ad)
- pop de
- ld a, [de]
- inc de
- ld hl, wMusicE9
- add hl, bc
- ld [hl], a
- ld h, d
- ld l, e
- jp Music2_PlayNextNote
-
-Music2_vibrato_type: ; f86ba (3e:46ba)
- pop de
- ld a, [de]
- inc de
- ld hl, wMusicVibratoType
- add hl, bc
- ld [hl], a
- ld hl, wMusicVibratoType2
- add hl, bc
- ld [hl], a
- ld h, d
- ld l, e
- jp Music2_PlayNextNote
-
-Music2_vibrato_delay: ; f86cc (3e:46cc)
- pop de
- ld a, [de]
- inc de
- ld hl, wMusicVibratoDelay
- add hl, bc
- ld [hl], a
- ld h, d
- ld l, e
- jp Music2_PlayNextNote
-
-Music2_musicec: ; f86d9 (3e:46d9)
- pop de
- ld a, [de]
- inc de
- ld hl, wMusicEC
- add hl, bc
- ld [hl], a
- ld h, d
- ld l, e
- jp Music2_PlayNextNote
-
-Music2_musiced: ; f86e6 (3e:46e6)
- pop de
- ld a, [de]
- inc de
- ld hl, wMusicEC
- add hl, bc
- add [hl]
- ld [hl], a
- ld h, d
- ld l, e
- jp Music2_PlayNextNote
-
-Music2_end: ; f86f4 (3e:46f4)
- ld hl, wMusicIsPlaying
- add hl, bc
- ld [hl], $0
- pop hl
- ret
-
-; returns the address where the address to
-; return to is stored for the current channel
-Music2_GetReturnAddress: ; f86fc (3e:46fc)
- ld hl, wMusicReturnAddress
- add hl, bc
- add hl, bc
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ret
-
-; puts the address in hl where the address to
-; return to is stored for the currentchannel
-Music2_SetReturnAddress: ; f8705 (3e:4705)
- ld d, h
- ld e, l
- ld hl, wMusicReturnAddress
- add hl, bc
- add hl, bc
- ld [hl], e
- inc hl
- ld [hl], d
- ret
-
-Music2_PlayNextNote_pop: ; f8710 (3e:4710)
- pop hl
- jp Music2_PlayNextNote
-
-Func_f8714: ; f8714 (3e:4714)
- ld a, [$dd8c]
- bit 0, a
- jr nz, .asm_f8749
- ld a, [$ddb7]
- cp $0
- jr z, .asm_f874a
- ld d, $0
- ld hl, wMusicTie
- ld a, [hl]
- cp $80
- jr z, .asm_f8733
- ld a, [wMusicVolume]
- ld [rNR12], a
- ld d, $80
-.asm_f8733
- ld [hl], $2
- ld a, $8
- ld [rNR10], a
- ld a, [wMusicDuty]
- ld [rNR11], a
- ld a, [$dda5]
- ld [rNR13], a
- ld a, [$dda6]
- or d
- ld [rNR14], a
-.asm_f8749
- ret
-.asm_f874a
- ld hl, wMusicTie
- ld [hl], $0
- ld hl, rNR12
- ld a, $8
- ld [hli], a
- inc hl
- swap a
- ld [hl], a
- ret
-
-Func_f875a: ; f875a (3e:475a)
- ld a, [$dd8c]
- bit 1, a
- jr nz, .asm_f878b
- ld a, [$ddb8]
- cp $0
- jr z, .asm_f878c
- ld d, $0
- ld hl, $dd92
- ld a, [hl]
- cp $80
- jr z, .asm_f8779
- ld a, [$dde8]
- ld [rNR22], a
- ld d, $80
-.asm_f8779
- ld [hl], $2
- ld a, [$dd87]
- ld [rNR21], a
- ld a, [$dda7]
- ld [rNR23], a
- ld a, [$dda8]
- or d
- ld [rNR24], a
-.asm_f878b
- ret
-.asm_f878c
- ld hl, $dd92
- ld [hl], $0
- ld hl, rNR22
- ld a, $8
- ld [hli], a
- inc hl
- swap a
- ld [hl], a
- ret
-
-Func_f879c: ; f879c (3e:479c)
- ld a, [$dd8c]
- bit 2, a
- jr nz, .asm_f87e0
- ld d, $0
- ld a, [wMusicWaveChange]
- or a
- jr z, .asm_f87b3
- xor a
- ld [rNR30], a
- call Func_f87ea
- ld d, $80
-.asm_f87b3
- ld a, [$ddb9]
- cp $0
- jr z, .asm_f87e1
- ld hl, $dd93
- ld a, [hl]
- cp $80
- jr z, .asm_f87cc
- ld a, [$dde9]
- ld [rNR32], a
- xor a
- ld [rNR30], a
- ld d, $80
-.asm_f87cc
- ld [hl], $2
- xor a
- ld [rNR31], a
- ld a, [$dda9]
- ld [rNR33], a
- ld a, $80
- ld [rNR30], a
- ld a, [$ddaa]
- or d
- ld [rNR34], a
-.asm_f87e0
- ret
-.asm_f87e1
- ld hl, wMusicTie
- ld [hl], $0
- xor a
- ld [rNR30], a
- ret
-
-Func_f87ea: ; f879c (3e:47ea)
- ld a, [wMusicWave]
- add a
- ld d, $0
- ld e, a
- ld hl, Music2_WaveInstruments
- add hl, de
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld b, d
- ld de, $ff30
-.asm_f87fc
- ld a, [hli]
- ld [de], a
- inc de
- inc b
- ld a, b
- cp $10
- jr nz, .asm_f87fc
- xor a
- ld [wMusicWaveChange], a
- ret
-
-Func_f880a: ; f880a (3e:480a)
- ld a, [$dd8c]
- bit 3, a
- jr nz, .asm_f8829
- ld a, [$ddba]
- cp $0
- jr z, asm_f882a
- ld de, rNR41
- ld hl, $ddab
- ld a, [hli]
- ld [de], a
- inc e
- ld a, [hli]
- ld [de], a
- inc e
- ld a, [hli]
- ld [de], a
- inc e
- ld a, [hli]
- ld [de], a
-.asm_f8829
- ret
-asm_f882a
- xor a
- ld [$ddef], a
- ld hl, rNR42
- ld a, $8
- ld [hli], a
- inc hl
- swap a
- ld [hl], a
- ret
-
-Func_f8839: ; f8839 (3e:4839)
- ld a, [$dd8c]
- bit 3, a
- jr z, .asm_f8846
- xor a
- ld [$ddef], a
- jr .asm_f8859
-.asm_f8846
- ld hl, $dded
- ld a, [hli]
- ld d, [hl]
- ld e, a
- ld a, [de]
- cp $ff
- jr nz, .asm_f8853
- jr asm_f882a
-.asm_f8853
- ld [rNR43], a
- inc de
- ld a, d
- ld [hld], a
- ld [hl], e
-.asm_f8859
- ret
-
-Func_f885a: ; f885a (3e:485a)
- push af
- ld b, $0
- ld c, a
- call Func_f8898
- pop af
- call Func_f890b
- ret
-
-Func_f8866: ; f8866 (3e:4866)
- ld a, [$ddf1]
- ld [rNR50], a
- ld a, [$dd8c]
- or a
- ld hl, wMusicDC
- ld a, [hli]
- jr z, .asm_f8888
- ld a, [$dd8c]
- and $f
- ld d, a
- swap d
- or d
- ld d, a
- xor $ff
- ld e, a
- ld a, [hld]
- and d
- ld d, a
- ld a, [hl]
- and e
- or d
-.asm_f8888
- ld d, a
- ld a, [$ddf0]
- xor $ff
- and $f
- ld e, a
- swap e
- or e
- and d
- ld [rNR51], a
- ret
-
-Func_f8898: ; f8898 (3e:4898)
- ld hl, wMusicVibratoDelay
- add hl, bc
- ld a, [hl]
- cp $0
- jr z, .asm_f8902
- ld hl, $dde3
- add hl, bc
- cp [hl]
- jr z, .asm_f88ab
- inc [hl]
- jr .asm_f8902
-.asm_f88ab
- ld hl, wMusicVibratoType
- add hl, bc
- ld e, [hl]
- ld d, $0
- ld hl, Music2_VibratoTypes
- add hl, de
- add hl, de
- ld a, [hli]
- ld h, [hl]
- ld l, a
- push hl
- ld hl, $dddb
- add hl, bc
- ld d, $0
- ld e, [hl]
- inc [hl]
- pop hl
- add hl, de
- ld a, [hli]
- cp $80
- jr z, .asm_f88ee
- ld hl, $dda5
- add hl, bc
- add hl, bc
- ld e, [hl]
- inc hl
- ld d, [hl]
- bit 7, a
- jr nz, .asm_f88df
- add e
- ld e, a
- ld a, $0
- adc d
- and $7
- ld d, a
- ret
-.asm_f88df
- xor $ff
- inc a
- push bc
- ld c, a
- ld a, e
- sub c
- ld e, a
- ld a, d
- sbc b
- and $7
- ld d, a
- pop bc
- ret
-.asm_f88ee
- push hl
- ld hl, $dddb
- add hl, bc
- ld [hl], $0
- pop hl
- ld a, [hl]
- cp $80
- jr z, .asm_f88ab
- ld hl, wMusicVibratoType
- add hl, bc
- ld [hl], a
- jr .asm_f88ab
-.asm_f8902
- ld hl, $dda5
- add hl, bc
- add hl, bc
- ld e, [hl]
- inc hl
- ld d, [hl]
- ret
-
-Func_f890b: ; f890b (3e:490b)
- cp $0
- jr nz, .asm_f892c
- ld a, [wMusicVibratoDelay]
- cp $0
- jr z, .asm_f8966
- ld a, [$dd8c]
- bit 0, a
- jr nz, .asm_f8966
- ld a, e
- ld [rNR13], a
- ld a, [rNR11]
- and $c0
- ld [rNR11], a
- ld a, d
- and $3f
- ld [rNR14], a
- ret
-.asm_f892c
- cp $1
- jr nz, .asm_f894b
- ld a, [$dde0]
- cp $0
- jr z, .asm_f8966
- ld a, [$dd8c]
- bit 1, a
- jr nz, .asm_f8966
- ld a, e
- ld [rNR23], a
- ld a, [rNR21]
- and $c0
- ld [rNR21], a
- ld a, d
- ld [rNR24], a
- ret
-.asm_f894b
- cp $2
- jr nz, .asm_f8966
- ld a, [$dde1]
- cp $0
- jr z, .asm_f8966
- ld a, [$dd8c]
- bit 2, a
- jr nz, .asm_f8966
- ld a, e
- ld [rNR33], a
- xor a
- ld [rNR31], a
- ld a, d
- ld [rNR34], a
-.asm_f8966
- ret
-
-Func_f8967: ; f8967 (3e:4967)
- ld hl, wMusicE4
- add hl, bc
- ld a, [hl]
- bit 7, a
- jr nz, .asm_f8976
- add e
- ld e, a
- ld a, d
- adc b
- ld d, a
- ret
-.asm_f8976
- xor $ff
- ld h, a
- ld a, e
- sub h
- ld e, a
- ld a, d
- sbc b
- ld d, a
- ret
-
-Func_f8980: ; f8980 (3e:4980)
- ld a, [$dd8c]
- ld d, a
- bit 0, d
- jr nz, .asm_f8990
- ld a, $8
- ld [rNR12], a
- swap a
- ld [rNR14], a
-.asm_f8990
- bit 1, d
- jr nz, .asm_f899c
- swap a
- ld [rNR22], a
- swap a
- ld [rNR24], a
-.asm_f899c
- bit 3, d
- jr nz, .asm_f89a8
- swap a
- ld [rNR42], a
- swap a
- ld [rNR44], a
-.asm_f89a8
- bit 2, d
- jr nz, .asm_f89b0
- ld a, $0
- ld [rNR32], a
-.asm_f89b0
- ret
-
-Func_f89b1: ; f89b1 (3e:49b1)
- ld hl, wMusicIsPlaying
- xor a
- add [hl]
- inc hl
- add [hl]
- inc hl
- add [hl]
- inc hl
- add [hl]
- or a
- ret nz
- ld a, $80
- ld [$dd80], a
- ret
-
-Func_f89c4: ; f89c4 (3e:49c4)
- di
- call Func_f8980
- call Func_f89dc
- call Func_f814b
- ei
- ret
-
-Func_f89d0: ; f89d0 (3e:49d0)
- di
- call Func_f8980
- call Func_f814b
- call Func_f8b01
- ei
- ret
-
-Func_f89dc: ; f89dc (3e:49dc)
- ld a, [$dd80]
- ld [$de55], a
- ld a, [$dd81]
- ld [$de56], a
- ld a, [wMusicDC]
- ld [$de57], a
- ld hl, wMusicDuty
- ld de, $de58
- ld a, $4
- call Music2_CopyData
- ld a, [wMusicWave]
- ld [$de5c], a
- ld a, [wMusicWaveChange]
- ld [$de5d], a
- ld hl, wMusicIsPlaying
- ld de, $de5e
- ld a, $4
- call Music2_CopyData
- ld hl, wMusicTie
- ld de, $de62
- ld a, $4
- call Music2_CopyData
- ld hl, $dd95
- ld de, $de66
- ld a, $8
- call Music2_CopyData
- ld hl, wMusicMainLoop
- ld de, $de6e
- ld a, $8
- call Music2_CopyData
- ld a, [$ddab]
- ld [$de76], a
- ld a, [$ddac]
- ld [$de77], a
- ld hl, wMusicOctave
- ld de, $de78
- ld a, $4
- call Music2_CopyData
- ld hl, $ddb3
- ld de, $de7c
- ld a, $4
- call Music2_CopyData
- ld hl, $ddb7
- ld de, $de80
- ld a, $4
- call Music2_CopyData
- ld hl, $ddbb
- ld de, $de84
- ld a, $4
- call Music2_CopyData
- ld hl, wMusicE8
- ld de, $de88
- ld a, $4
- call Music2_CopyData
- ld hl, $ddc3
- ld de, $de8c
- ld a, $4
- call Music2_CopyData
- ld hl, wMusicE9
- ld de, $de90
- ld a, $4
- call Music2_CopyData
- ld hl, wMusicEC
- ld de, $de94
- ld a, $4
- call Music2_CopyData
- ld hl, wMusicSpeed
- ld de, $de98
- ld a, $4
- call Music2_CopyData
- ld hl, wMusicVibratoType2
- ld de, $de9c
- ld a, $4
- call Music2_CopyData
- ld hl, wMusicVibratoDelay
- ld de, $dea0
- ld a, $4
- call Music2_CopyData
- ld a, $0
- ld [$dddb], a
- ld [$dddc], a
- ld [$dddd], a
- ld [$ddde], a
- ld hl, wMusicVolume
- ld de, $dea4
- ld a, $3
- call Music2_CopyData
- ld hl, wMusicE4
- ld de, $dea7
- ld a, $3
- call Music2_CopyData
- ld hl, $dded
- ld de, $deaa
- ld a, $2
- call Music2_CopyData
- ld a, $0
- ld [$deac], a
- ld hl, wMusicReturnAddress
- ld de, $dead
- ld a, $8
- call Music2_CopyData
- ld hl, $ddfb
- ld de, $deb5
- ld a, $30
- call Music2_CopyData
- ret
-
-Func_f8b01: ; f8b01 (3e:4b01)
- ld a, [$de55]
- ld [$dd80], a
- ld a, [$de56]
- ld [$dd81], a
- ld a, [$de57]
- ld [wMusicDC], a
- ld hl, $de58
- ld de, wMusicDuty
- ld a, $4
- call Music2_CopyData
- ld a, [$de5c]
- ld [wMusicWave], a
- ld a, $1
- ld [wMusicWaveChange], a
- ld hl, $de5e
- ld de, wMusicIsPlaying
- ld a, $4
- call Music2_CopyData
- ld hl, $de62
- ld de, wMusicTie
- ld a, $4
- call Music2_CopyData
- ld hl, $de66
- ld de, $dd95
- ld a, $8
- call Music2_CopyData
- ld hl, $de6e
- ld de, wMusicMainLoop
- ld a, $8
- call Music2_CopyData
- ld a, [$de76]
- ld [$ddab], a
- ld a, [$de77]
- ld [$ddac], a
- ld hl, $de78
- ld de, wMusicOctave
- ld a, $4
- call Music2_CopyData
- ld hl, $de7c
- ld de, $ddb3
- ld a, $4
- call Music2_CopyData
- ld hl, $de80
- ld de, $ddb7
- ld a, $4
- call Music2_CopyData
- ld hl, $de84
- ld de, $ddbb
- ld a, $4
- call Music2_CopyData
- ld hl, $de88
- ld de, wMusicE8
- ld a, $4
- call Music2_CopyData
- ld hl, $de8c
- ld de, $ddc3
- ld a, $4
- call Music2_CopyData
- ld hl, $de90
- ld de, wMusicE9
- ld a, $4
- call Music2_CopyData
- ld hl, $de94
- ld de, wMusicEC
- ld a, $4
- call Music2_CopyData
- ld hl, $de98
- ld de, wMusicSpeed
- ld a, $4
- call Music2_CopyData
- ld hl, $de9c
- ld de, wMusicVibratoType2
- ld a, $4
- call Music2_CopyData
- ld hl, $dea0
- ld de, wMusicVibratoDelay
- ld a, $4
- call Music2_CopyData
- ld hl, $dea4
- ld de, wMusicVolume
- ld a, $3
- call Music2_CopyData
- ld hl, $dea7
- ld de, wMusicE4
- ld a, $3
- call Music2_CopyData
- ld hl, $deaa
- ld de, $dded
- ld a, $2
- call Music2_CopyData
- ld a, [$deac]
- ld [$ddef], a
- ld hl, $dead
- ld de, wMusicReturnAddress
- ld a, $8
- call Music2_CopyData
- ld hl, $deb5
- ld de, $ddfb
- ld a, $30
- call Music2_CopyData
- ret
-
-; copies a bytes from hl to de
-Music2_CopyData: ; f8c18 (3e:4c18)
- ld c, a
-.asm_f8c19
- ld a, [hli]
- ld [de], a
- inc de
- dec c
- jr nz, .asm_f8c19
- ret
-
-Unknown_f8c20: ; f8c20 (3e:4c20)
-INCBIN "baserom.gbc",$f8c20,$f8c28 - $f8c20
-
-Unknown_f8c28: ; f8c28 (3e:4c28)
-INCBIN "baserom.gbc",$f8c28,$f8c30 - $f8c28
-
-Unknown_f8c30: ; f8c30 (3e:4c30)
-INCBIN "baserom.gbc",$f8c30,$f8cda - $f8c30
-
-Music2_WaveInstruments: ; f8cda (3e:4cda)
-INCLUDE "data/wave_instruments.asm"
-
-Music2_NoiseInstruments: ; f8d34 (3e:4d34)
-INCLUDE "data/noise_instruments.asm"
-
-Music2_VibratoTypes: ; f8dde (3e:4dde)
-INCLUDE "data/vibrato_types.asm"
-
-Unknown_f8e85: ; f8e85 (3e:4e85)
-INCBIN "baserom.gbc",$f8e85,$f8ee5 - $f8e85
-
-INCLUDE "data/music2_headers.asm"
-
-INCLUDE "audio/music/pcmainmenu.asm"
-INCLUDE "audio/music/pokemondome.asm"
-INCLUDE "audio/music/challengehall.asm"
-INCLUDE "audio/music/club1.asm"
-INCLUDE "audio/music/club2.asm"
-INCLUDE "audio/music/club3.asm"
-INCLUDE "audio/music/ronald.asm"
-INCLUDE "audio/music/imakuni.asm"
-INCLUDE "audio/music/hallofhonor.asm"
-INCLUDE "audio/music/credits.asm"
-
-rept $109
-db $ff
-endr