summaryrefslogtreecommitdiff
path: root/engine
diff options
context:
space:
mode:
Diffstat (limited to 'engine')
-rwxr-xr-xengine/home.asm2
-rwxr-xr-xengine/music1.asm1891
-rwxr-xr-xengine/music2.asm1885
-rwxr-xr-xengine/sfx.asm599
4 files changed, 1 insertions, 4376 deletions
diff --git a/engine/home.asm b/engine/home.asm
index e7570cc..dd06781 100755
--- a/engine/home.asm
+++ b/engine/home.asm
@@ -4830,7 +4830,7 @@ Func_3e2a: ; 3e2a (0:3e2a)
INCBIN "baserom.gbc",$3e31,$3fe0 - $3e31
; jumps to 3f:hl
-Bankswitch3dTo3f: ; 3fe0 (0:3fe0)
+Bankswitch3dTo3f:: ; 3fe0 (0:3fe0)
push af
ld a, $3f
ld [hBankROM], a
diff --git a/engine/music1.asm b/engine/music1.asm
deleted file mode 100755
index 21b7007..0000000
--- a/engine/music1.asm
+++ /dev/null
@@ -1,1891 +0,0 @@
-SetupSound_Ext: ; f4000 (3d:4000)
- jp Func_f407d
-
-SoundTimerHandler_Ext: ; f4003 (3d:4003)
- jp Func_f40e9
-
-Func_f4006: ; f4006 (3d:4006)
- jp Func_f4021
-
-Func_f4009: ; f4009 (3d:4009)
- jp Func_f402d
-
-Func_f400c: ; f400c (3d:400c)
- jp Func_f404e
-
-Func_f400f: ; f400f (3d:400f)
- jp Func_f4052
-
-Func_f4012: ; f4012 (3d:4012)
- jp Func_f405c
-
-Func_f4015: ; f4015 (3d:4015)
- jp Func_f4066
-
-Func_f4018: ; f4018 (3d:4018)
- jp Func_f406f
-
-Func_f401b: ; f401b (3d:401b)
- jp Func_f49c4
-
-Func_f401e: ; f401e (3d:401e)
- jp Func_f49d0
-
-Func_f4021: ; f4021 (3d:4021)
- push hl
- ld hl, NumberOfSongs1
- cp [hl]
- jr nc, .asm_f402b
- ld [$dd80], a
-.asm_f402b
- pop hl
- ret
-
-Func_f402d: ; f402d (3d:402d)
- push bc
- push hl
- ld b, $0
- ld c, a
- or a
- jr z, .asm_f4043
- ld hl, Unknown_f4e85
- add hl, bc
- ld b, [hl]
- ld a, [$dd83]
- or a
- jr z, .asm_f4043
- cp b
- jr c, .asm_f404b
-.asm_f4043
- ld a, b
- ld [$dd83], a
- ld a, c
- ld [$dd82], a
-.asm_f404b
- pop hl
- pop bc
- ret
-
-Func_f404e: ; f404e (3d:404e)
- ld [$ddf0], a
- ret
-
-Func_f4052: ; f4052 (3d:4052)
- ld a, [$dd80]
- cp $80
- ld a, $1
- ret nz
- xor a
- ret
-
-Func_f405c: ; f405c (3d:405c)
- ld a, [$dd82]
- cp $80
- ld a, $1
- ret nz
- xor a
- ret
-
-Func_f4066: ; f4066 (3d:4066)
- ld a, [$ddf2]
- xor $1
- ld [$ddf2], a
- ret
-
-Func_f406f: ; f406f (3d:406f)
- push bc
- push af
- and $7
- ld b, a
- swap b
- or b
- ld [$ddf1], a
- pop af
- pop bc
- ret
-
-Func_f407d: ; f407d (3d: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_f40bb
- 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_f40bb
- ld hl, Unknown_f4c20
- ld bc, wMusicReturnAddress
- ld d, $8
-.asm_f40e2
- ld a, [hli]
- ld [bc], a
- inc bc
- dec d
- jr nz, .asm_f40e2
- ret
-
-Func_f40e9: ; f40e9 (3d:40e9)
- call Func_f42a4
- call Func_f411c
- ld hl, Func_fc003
- call Bankswitch3dTo3f
- ld a, [$dd81]
- ld [hBankROM], a
- ld [MBC3RomBank], a
- ld a, [$ddf2]
- cp $0
- jr z, .asm_f4109
- call Func_f4980
- jr .asm_f4115
-.asm_f4109
- call Func_f42a5
- call Func_f430a
- call Func_f436f
- call Func_f43ce
-.asm_f4115
- call Func_f4866
- call Func_f49b1
- ret
-
-Func_f411c: ; f411c (3d:411c)
- ld a, [$dd80]
- rla
- jr c, .asm_f4133
- call Func_f414b
- ld a, [$dd80]
- call Music1_PlaySong
- ld a, [$dd80]
- or $80
- ld [$dd80], a
-.asm_f4133
- ld a, [$dd82]
- rla
- jr c, .asm_f414a
- ld a, [$dd82]
- ld hl, Func_fc000
- call Bankswitch3dTo3f
- ld a, [$dd82]
- or $80
- ld [$dd82], a
-.asm_f414a
- ret
-
-Func_f414b: ; f414b (3d:414b)
- ld a, [$dd8c]
- ld d, a
- xor a
- ld [wMusicIsPlaying], a
- bit 0, d
- jr nz, .asm_f415f
- ld a, $8
- ld [rNR12], a
- swap a
- ld [rNR14], a
-.asm_f415f
- xor a
- ld [$dd8e], a
- bit 1, d
- jr nz, .asm_f416f
- ld a, $8
- ld [rNR22], a
- swap a
- ld [rNR24], a
-.asm_f416f
- xor a
- ld [$dd90], a
- bit 3, d
- jr nz, .asm_f417f
- ld a, $8
- ld [rNR42], a
- swap a
- ld [rNR44], a
-.asm_f417f
- xor a
- ld [$dd8f], a
- bit 2, d
- jr nz, .asm_f418b
- ld a, $0
- ld [rNR32], a
-.asm_f418b
- ret
-
-; plays the song given by the id in a
-Music1_PlaySong: ; f418c (3d:418c)
- push af
- ld c, a
- ld b, $0
- ld hl, SongBanks1
- 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, SongHeaderPointers1
- 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_f41eb
- 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_f4c20]
- ld [wMusicReturnAddress], a
- ld a, [Unknown_f4c20 + 1]
- ld [$ddf4], a
- ld a, $8
- ld [wMusicE9], a
-.asm_f41eb
- rr e
- jr nc, .asm_f4228
- 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_f4c20 + 2]
- ld [$ddf5], a
- ld a, [Unknown_f4c20 + 3]
- ld [$ddf6], a
- ld a, $8
- ld [$ddc8], a
-.asm_f4228
- rr e
- jr nc, .asm_f4265
- 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_f4c20 + 4]
- ld [$ddf7], a
- ld a, [Unknown_f4c20 + 5]
- ld [$ddf8], a
- ld a, $40
- ld [$ddc9], a
-.asm_f4265
- rr e
- jr nc, .asm_f429f
- 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_f4c20 + 6]
- ld [$ddf9], a
- ld a, [Unknown_f4c20 + 7]
- ld [$ddfa], a
- ld a, $40
- ld [$ddca], a
-.asm_f429f
- xor a
- ld [$ddf2], a
- ret
-
-Func_f42a4: ; f42a4 (3d:42a4)
- ret
-
-Func_f42a5: ; f42a5 (3d:42a5)
- ld a, [wMusicIsPlaying]
- or a
- jr z, .asm_f42fa
- ld a, [$ddb7]
- cp $0
- jr z, .asm_f42d4
- ld a, [$ddc3]
- dec a
- ld [$ddc3], a
- jr nz, .asm_f42d4
- ld a, [$ddbb]
- cp $1
- jr z, .asm_f42d4
- ld a, [$dd8c]
- bit 0, a
- jr nz, .asm_f42d4
- ld hl, rNR12
- ld a, [wMusicE9]
- ld [hli], a
- inc hl
- ld a, $80
- ld [hl], a
-.asm_f42d4
- ld a, [$ddbb]
- dec a
- ld [$ddbb], a
- jr nz, .asm_f42f4
- ld a, [$dd96]
- ld h, a
- ld a, [$dd95]
- ld l, a
- ld bc, $0000
- call Music1_PlayNextNote
- ld a, [wMusicIsPlaying]
- or a
- jr z, .asm_f42fa
- call Func_f4714
-.asm_f42f4
- ld a, $0
- call Func_f485a
- ret
-.asm_f42fa
- ld a, [$dd8c]
- bit 0, a
- jr nz, .asm_f4309
- ld a, $8
- ld [rNR12], a
- swap a
- ld [rNR14], a
-.asm_f4309
- ret
-
-Func_f430a: ; f430a (3d:430a)
- ld a, [$dd8e]
- or a
- jr z, .asm_f435f
- ld a, [$ddb8]
- cp $0
- jr z, .asm_f4339
- ld a, [$ddc4]
- dec a
- ld [$ddc4], a
- jr nz, .asm_f4339
- ld a, [$ddbc]
- cp $1
- jr z, .asm_f4339
- ld a, [$dd8c]
- bit 1, a
- jr nz, .asm_f4339
- ld hl, rNR22
- ld a, [$ddc8]
- ld [hli], a
- inc hl
- ld a, $80
- ld [hl], a
-.asm_f4339
- ld a, [$ddbc]
- dec a
- ld [$ddbc], a
- jr nz, .asm_f4359
- ld a, [$dd98]
- ld h, a
- ld a, [$dd97]
- ld l, a
- ld bc, $0001
- call Music1_PlayNextNote
- ld a, [$dd8e]
- or a
- jr z, .asm_f435f
- call Func_f475a
-.asm_f4359
- ld a, $1
- call Func_f485a
- ret
-.asm_f435f
- ld a, [$dd8c]
- bit 1, a
- jr nz, .asm_f436e
- ld a, $8
- ld [rNR22], a
- swap a
- ld [rNR24], a
-.asm_f436e
- ret
-
-Func_f436f: ; f436f (3d:436f)
- ld a, [$dd8f]
- or a
- jr z, .asm_f43be
- ld a, [$ddb9]
- cp $0
- jr z, .asm_f4398
- ld a, [$ddc5]
- dec a
- ld [$ddc5], a
- jr nz, .asm_f4398
- ld a, [$dd8c]
- bit 2, a
- jr nz, .asm_f4398
- ld a, [$ddbd]
- cp $1
- jr z, .asm_f4398
- ld a, [$ddc9]
- ld [rNR32], a
-.asm_f4398
- ld a, [$ddbd]
- dec a
- ld [$ddbd], a
- jr nz, .asm_f43b8
- ld a, [$dd9a]
- ld h, a
- ld a, [$dd99]
- ld l, a
- ld bc, $0002
- call Music1_PlayNextNote
- ld a, [$dd8f]
- or a
- jr z, .asm_f43be
- call Func_f479c
-.asm_f43b8
- ld a, $2
- call Func_f485a
- ret
-.asm_f43be
- ld a, [$dd8c]
- bit 2, a
- jr nz, .asm_f43cd
- ld a, $0
- ld [rNR32], a
- ld a, $80
- ld [rNR34], a
-.asm_f43cd
- ret
-
-Func_f43ce: ; f43ce (3d:43ce)
- ld a, [$dd90]
- or a
- jr z, .asm_f4400
- ld a, [$ddbe]
- dec a
- ld [$ddbe], a
- jr nz, .asm_f43f6
- ld a, [$dd9c]
- ld h, a
- ld a, [$dd9b]
- ld l, a
- ld bc, $0003
- call Music1_PlayNextNote
- ld a, [$dd90]
- or a
- jr z, .asm_f4400
- call Func_f480a
- jr .asm_f4413
-.asm_f43f6
- ld a, [$ddef]
- or a
- jr z, .asm_f4413
- call Func_f4839
- ret
-.asm_f4400
- ld a, [$dd8c]
- bit 3, a
- jr nz, .asm_f4413
- xor a
- ld [$ddef], a
- ld a, $8
- ld [rNR42], a
- swap a
- ld [rNR44], a
-.asm_f4413
- ret
-
-Music1_PlayNextNote: ; f4414 (3d:4414)
- ld a, [hli]
- push hl
- push af
- cp $d0
- jr c, Music1_note
- sub $d0
- add a
- ld e, a
- ld d, $0
- ld hl, Music1_CommandTable
- add hl, de
- ld e, [hl]
- inc hl
- ld d, [hl]
- ld h, d
- ld l, e
- pop af
- jp [hl]
-
-Music1_CommandTable: ; f442c (3d:442c)
- dw Music1_speed
- dw Music1_octave
- dw Music1_octave
- dw Music1_octave
- dw Music1_octave
- dw Music1_octave
- dw Music1_octave
- dw Music1_inc_octave
- dw Music1_dec_octave
- dw Music1_tie
- dw Music1_end
- dw Music1_end
- dw Music1_musicdc
- dw Music1_MainLoop
- dw Music1_EndMainLoop
- dw Music1_Loop
- dw Music1_EndLoop
- dw Music1_jp
- dw Music1_call
- dw Music1_ret
- dw Music1_musice4
- dw Music1_duty
- dw Music1_volume
- dw Music1_wave
- dw Music1_musice8
- dw Music1_musice9
- dw Music1_vibrato_type
- dw Music1_vibrato_delay
- dw Music1_musicec
- dw Music1_musiced
- dw Music1_end
- dw Music1_end
- dw Music1_end
- dw Music1_end
- dw Music1_end
- dw Music1_end
- dw Music1_end
- dw Music1_end
- dw Music1_end
- dw Music1_end
- dw Music1_end
- dw Music1_end
- dw Music1_end
- dw Music1_end
- dw Music1_end
- dw Music1_end
- dw Music1_end
- dw Music1_end
-
-Music1_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_f44b0
- 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_f44b0
- pop af
- push de
- ld hl, wMusicSpeed
- add hl, bc
- ld d, [hl]
- and $f
- inc a
- cp d
- jr nc, .asm_f44c0
- ld e, a
- ld a, d
- ld d, e
-.asm_f44c0
- ld e, a
-.asm_f44c1
- dec d
- jr z, .asm_f44c7
- add e
- jr .asm_f44c1
-.asm_f44c7
- 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_f44fb
- ld e, a
- ld hl, wMusicE8
- add hl, bc
- ld a, [hl]
- cp $8
- ld d, a
- ld a, e
- jr z, .asm_f44fb
- push hl
- push bc
- ld b, $0
- ld c, a
- ld hl, $0000
-.asm_f44e8
- add hl, bc
- dec d
- jr nz, .asm_f44e8
- srl h
- rr l
- srl h
- rr l
- srl h
- rr l
- ld a, l
- pop bc
- pop hl
-.asm_f44fb
- 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_f450e
- jp .asm_f458e
-.asm_f450e
- swap a
- dec a
- ld h, a
- ld a, $3
- cp c
- ld a, h
- jr z, .asm_f451a
- jr .asm_f4564
-.asm_f451a
- 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, Music1_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_f458e
-.asm_f4564
- 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_f4c28
- 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_f4c30
- add hl, de
- ld a, [hli]
- ld e, a
- ld d, [hl]
- call Func_f4967
- pop hl
- ld a, e
- ld [hli], a
- ld [hl], d
-.asm_f458e
- pop de
- ld hl, $dd95
- add hl, bc
- add hl, bc
- ld [hl], e
- inc hl
- ld [hl], d
- ret
-
-Music1_speed: ; f4598 (3d:4598)
- pop hl
- ld a, [hli]
- push hl
- ld hl, wMusicSpeed
- add hl, bc
- ld [hl], a
- jp Music1_PlayNextNote_pop
-
-Music1_octave: ; f45a3 (3d:45a3)
- and $7
- dec a
- ld hl, wMusicOctave
- add hl, bc
- push af
- ld a, c
- cp $2
- jr nz, .asm_f45b6
- pop af
- inc a
- ld [hl], a
- jp Music1_PlayNextNote_pop
-.asm_f45b6
- pop af
- ld [hl], a
- jp Music1_PlayNextNote_pop
-
-Music1_inc_octave: ; f45bb (3d:45bb)
- ld hl, wMusicOctave
- add hl, bc
- inc [hl]
- jp Music1_PlayNextNote_pop
-
-Music1_dec_octave: ; f45c3 (3d:45c3)
- ld hl, wMusicOctave
- add hl, bc
- dec [hl]
- jp Music1_PlayNextNote_pop
-
-Music1_tie: ; f45cb (3d:45cb)
- ld hl, wMusicTie
- add hl, bc
- ld [hl], $80
- jp Music1_PlayNextNote_pop
-
-Music1_musicdc: ; f45d4 (3d:45d4)
- pop hl
- ld a, [hli]
- push hl
- push bc
- inc c
- ld e, $ee
-.asm_f45db
- dec c
- jr z, .asm_f45e3
- rlca
- rlc e
- jr .asm_f45db
-.asm_f45e3
- ld d, a
- ld hl, wMusicDC
- ld a, [hl]
- and e
- or d
- ld [hl], a
- pop bc
- jp Music1_PlayNextNote_pop
-
-Music1_MainLoop: ; f45ef (3d: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 Music1_PlayNextNote_pop
-
-Music1_EndMainLoop: ; f45fd (3d:45fd)
- pop hl
- ld hl, wMusicMainLoop
- add hl, bc
- add hl, bc
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp Music1_PlayNextNote
-
-Music1_Loop: ; f4609 (3d:4609)
- pop de
- ld a, [de]
- inc de
- push af
- call Music1_GetReturnAddress
- ld [hl], e
- inc hl
- ld [hl], d
- inc hl
- pop af
- ld [hl], a
- inc hl
- push de
- call Music1_SetReturnAddress
- jp Music1_PlayNextNote_pop
-
-Music1_EndLoop: ; f461e (3d:461e)
- call Music1_GetReturnAddress
- dec hl
- ld a, [hl]
- dec a
- jr z, .asm_f4630
- ld [hld], a
- ld d, [hl]
- dec hl
- ld e, [hl]
- pop hl
- ld h, d
- ld l, e
- jp Music1_PlayNextNote
-.asm_f4630
- dec hl
- dec hl
- call Music1_SetReturnAddress
- jp Music1_PlayNextNote_pop
-
-Music1_jp: ; f4638 (3d:4638)
- pop hl
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp Music1_PlayNextNote
-
-Music1_call: ; f463f (3d:463f)
- call Music1_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 Music1_SetReturnAddress
- jp Music1_PlayNextNote_pop
-
-Music1_ret: ; f4656 (3d:4656)
- pop de
- call Music1_GetReturnAddress
- dec hl
- ld a, [hld]
- ld e, [hl]
- ld d, a
- inc de
- inc de
- push de
- call Music1_SetReturnAddress
- jp Music1_PlayNextNote_pop
-
-Music1_musice4: ; f4667 (3d:4667)
- pop de
- ld a, [de]
- inc de
- ld hl, wMusicE4
- add hl, bc
- ld [hl], a
- ld h, d
- ld l, e
- jp Music1_PlayNextNote
-
-Music1_duty: ; f4674 (3d: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 Music1_PlayNextNote
-
-Music1_volume: ; f4683 (3d:4683)
- pop de
- ld a, [de]
- inc de
- ld hl, wMusicVolume
- add hl, bc
- ld [hl], a
- ld h, d
- ld l, e
- jp Music1_PlayNextNote
-
-Music1_wave: ; f4690 (3d:4690)
- pop de
- ld a, [de]
- inc de
- ld [wMusicWave], a
- ld a, $1
- ld [wMusicWaveChange], a
- ld h, d
- ld l, e
- jp Music1_PlayNextNote
-
-Music1_musice8: ; f46a0 (3d:46a0)
- pop de
- ld a, [de]
- inc de
- ld hl, wMusicE8
- add hl, bc
- ld [hl], a
- ld h, d
- ld l, e
- jp Music1_PlayNextNote
-
-Music1_musice9: ; f46ad (3d:46ad)
- pop de
- ld a, [de]
- inc de
- ld hl, wMusicE9
- add hl, bc
- ld [hl], a
- ld h, d
- ld l, e
- jp Music1_PlayNextNote
-
-Music1_vibrato_type: ; f46ba (3d: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 Music1_PlayNextNote
-
-Music1_vibrato_delay: ; f46cc (3d:46cc)
- pop de
- ld a, [de]
- inc de
- ld hl, wMusicVibratoDelay
- add hl, bc
- ld [hl], a
- ld h, d
- ld l, e
- jp Music1_PlayNextNote
-
-Music1_musicec: ; f46d9 (3d:46d9)
- pop de
- ld a, [de]
- inc de
- ld hl, wMusicEC
- add hl, bc
- ld [hl], a
- ld h, d
- ld l, e
- jp Music1_PlayNextNote
-
-Music1_musiced: ; f46e6 (3d: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 Music1_PlayNextNote
-
-Music1_end: ; f46f4 (3d: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
-Music1_GetReturnAddress: ; f46fc (3d: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
-Music1_SetReturnAddress: ; f4705 (3d: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
-
-Music1_PlayNextNote_pop ; f4710 (3d:4710)
- pop hl
- jp Music1_PlayNextNote
-
-Func_f4714: ; f4714 (3d:4714)
- ld a, [$dd8c]
- bit 0, a
- jr nz, .asm_f4749
- ld a, [$ddb7]
- cp $0
- jr z, .asm_f474a
- ld d, $0
- ld hl, wMusicTie
- ld a, [hl]
- cp $80
- jr z, .asm_f4733
- ld a, [wMusicVolume]
- ld [rNR12], a
- ld d, $80
-.asm_f4733
- 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_f4749
- ret
-.asm_f474a
- ld hl, wMusicTie
- ld [hl], $0
- ld hl, rNR12
- ld a, $8
- ld [hli], a
- inc hl
- swap a
- ld [hl], a
- ret
-
-Func_f475a: ; f475a (3d:475a)
- ld a, [$dd8c]
- bit 1, a
- jr nz, .asm_f478b
- ld a, [$ddb8]
- cp $0
- jr z, .asm_f478c
- ld d, $0
- ld hl, $dd92
- ld a, [hl]
- cp $80
- jr z, .asm_f4779
- ld a, [$dde8]
- ld [rNR22], a
- ld d, $80
-.asm_f4779
- ld [hl], $2
- ld a, [$dd87]
- ld [rNR21], a
- ld a, [$dda7]
- ld [rNR23], a
- ld a, [$dda8]
- or d
- ld [rNR24], a
-.asm_f478b
- ret
-.asm_f478c
- ld hl, $dd92
- ld [hl], $0
- ld hl, rNR22
- ld a, $8
- ld [hli], a
- inc hl
- swap a
- ld [hl], a
- ret
-
-Func_f479c: ; f479c (3d:479c)
- ld a, [$dd8c]
- bit 2, a
- jr nz, .asm_f47e0
- ld d, $0
- ld a, [wMusicWaveChange]
- or a
- jr z, .asm_f47b3
- xor a
- ld [rNR30], a
- call Func_f47ea
- ld d, $80
-.asm_f47b3
- ld a, [$ddb9]
- cp $0
- jr z, .asm_f47e1
- ld hl, $dd93
- ld a, [hl]
- cp $80
- jr z, .asm_f47cc
- ld a, [$dde9]
- ld [rNR32], a
- xor a
- ld [rNR30], a
- ld d, $80
-.asm_f47cc
- 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_f47e0
- ret
-.asm_f47e1
- ld hl, wMusicTie
- ld [hl], $0
- xor a
- ld [rNR30], a
- ret
-
-Func_f47ea: ; f479c (3d:47ea)
- ld a, [wMusicWave]
- add a
- ld d, $0
- ld e, a
- ld hl, Music1_WaveInstruments
- add hl, de
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld b, d
- ld de, $ff30
-.asm_f47fc
- ld a, [hli]
- ld [de], a
- inc de
- inc b
- ld a, b
- cp $10
- jr nz, .asm_f47fc
- xor a
- ld [wMusicWaveChange], a
- ret
-
-Func_f480a: ; f480a (3d:480a)
- ld a, [$dd8c]
- bit 3, a
- jr nz, .asm_f4829
- ld a, [$ddba]
- cp $0
- jr z, asm_f482a
- 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_f4829
- ret
-asm_f482a
- xor a
- ld [$ddef], a
- ld hl, rNR42
- ld a, $8
- ld [hli], a
- inc hl
- swap a
- ld [hl], a
- ret
-
-Func_f4839: ; f4839 (3d:4839)
- ld a, [$dd8c]
- bit 3, a
- jr z, .asm_f4846
- xor a
- ld [$ddef], a
- jr .asm_f4859
-.asm_f4846
- ld hl, $dded
- ld a, [hli]
- ld d, [hl]
- ld e, a
- ld a, [de]
- cp $ff
- jr nz, .asm_f4853
- jr asm_f482a
-.asm_f4853
- ld [rNR43], a
- inc de
- ld a, d
- ld [hld], a
- ld [hl], e
-.asm_f4859
- ret
-
-Func_f485a: ; f485a (3d:485a)
- push af
- ld b, $0
- ld c, a
- call Func_f4898
- pop af
- call Func_f490b
- ret
-
-Func_f4866: ; f4866 (3d:4866)
- ld a, [$ddf1]
- ld [rNR50], a
- ld a, [$dd8c]
- or a
- ld hl, wMusicDC
- ld a, [hli]
- jr z, .asm_f4888
- 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_f4888
- ld d, a
- ld a, [$ddf0]
- xor $ff
- and $f
- ld e, a
- swap e
- or e
- and d
- ld [rNR51], a
- ret
-
-Func_f4898: ; f4898 (3d:4898)
- ld hl, wMusicVibratoDelay
- add hl, bc
- ld a, [hl]
- cp $0
- jr z, .asm_f4902
- ld hl, $dde3
- add hl, bc
- cp [hl]
- jr z, .asm_f48ab
- inc [hl]
- jr .asm_f4902
-.asm_f48ab
- ld hl, wMusicVibratoType
- add hl, bc
- ld e, [hl]
- ld d, $0
- ld hl, Music1_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_f48ee
- ld hl, $dda5
- add hl, bc
- add hl, bc
- ld e, [hl]
- inc hl
- ld d, [hl]
- bit 7, a
- jr nz, .asm_f48df
- add e
- ld e, a
- ld a, $0
- adc d
- and $7
- ld d, a
- ret
-.asm_f48df
- 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_f48ee
- push hl
- ld hl, $dddb
- add hl, bc
- ld [hl], $0
- pop hl
- ld a, [hl]
- cp $80
- jr z, .asm_f48ab
- ld hl, wMusicVibratoType
- add hl, bc
- ld [hl], a
- jr .asm_f48ab
-.asm_f4902
- ld hl, $dda5
- add hl, bc
- add hl, bc
- ld e, [hl]
- inc hl
- ld d, [hl]
- ret
-
-Func_f490b: ; f490b (3d:490b)
- cp $0
- jr nz, .asm_f492c
- ld a, [wMusicVibratoDelay]
- cp $0
- jr z, .asm_f4966
- ld a, [$dd8c]
- bit 0, a
- jr nz, .asm_f4966
- ld a, e
- ld [rNR13], a
- ld a, [rNR11]
- and $c0
- ld [rNR11], a
- ld a, d
- and $3f
- ld [rNR14], a
- ret
-.asm_f492c
- cp $1
- jr nz, .asm_f494b
- ld a, [$dde0]
- cp $0
- jr z, .asm_f4966
- ld a, [$dd8c]
- bit 1, a
- jr nz, .asm_f4966
- ld a, e
- ld [rNR23], a
- ld a, [rNR21]
- and $c0
- ld [rNR21], a
- ld a, d
- ld [rNR24], a
- ret
-.asm_f494b
- cp $2
- jr nz, .asm_f4966
- ld a, [$dde1]
- cp $0
- jr z, .asm_f4966
- ld a, [$dd8c]
- bit 2, a
- jr nz, .asm_f4966
- ld a, e
- ld [rNR33], a
- xor a
- ld [rNR31], a
- ld a, d
- ld [rNR34], a
-.asm_f4966
- ret
-
-Func_f4967: ; f4967 (3d:4967)
- ld hl, wMusicE4
- add hl, bc
- ld a, [hl]
- bit 7, a
- jr nz, .asm_f4976
- add e
- ld e, a
- ld a, d
- adc b
- ld d, a
- ret
-.asm_f4976
- xor $ff
- ld h, a
- ld a, e
- sub h
- ld e, a
- ld a, d
- sbc b
- ld d, a
- ret
-
-Func_f4980: ; f4980 (3d:4980)
- ld a, [$dd8c]
- ld d, a
- bit 0, d
- jr nz, .asm_f4990
- ld a, $8
- ld [rNR12], a
- swap a
- ld [rNR14], a
-.asm_f4990
- bit 1, d
- jr nz, .asm_f499c
- swap a
- ld [rNR22], a
- swap a
- ld [rNR24], a
-.asm_f499c
- bit 3, d
- jr nz, .asm_f49a8
- swap a
- ld [rNR42], a
- swap a
- ld [rNR44], a
-.asm_f49a8
- bit 2, d
- jr nz, .asm_f49b0
- ld a, $0
- ld [rNR32], a
-.asm_f49b0
- ret
-
-Func_f49b1: ; f49b1 (3d: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_f49c4: ; f49c4 (3d:49c4)
- di
- call Func_f4980
- call Func_f49dc
- call Func_f414b
- ei
- ret
-
-Func_f49d0: ; f49d0 (3d:49d0)
- di
- call Func_f4980
- call Func_f414b
- call Func_f4b01
- ei
- ret
-
-Func_f49dc: ; f49dc (3d: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 Music1_CopyData
- ld a, [wMusicWave]
- ld [$de5c], a
- ld a, [wMusicWaveChange]
- ld [$de5d], a
- ld hl, wMusicIsPlaying
- ld de, $de5e
- ld a, $4
- call Music1_CopyData
- ld hl, wMusicTie
- ld de, $de62
- ld a, $4
- call Music1_CopyData
- ld hl, $dd95
- ld de, $de66
- ld a, $8
- call Music1_CopyData
- ld hl, wMusicMainLoop
- ld de, $de6e
- ld a, $8
- call Music1_CopyData
- ld a, [$ddab]
- ld [$de76], a
- ld a, [$ddac]
- ld [$de77], a
- ld hl, wMusicOctave
- ld de, $de78
- ld a, $4
- call Music1_CopyData
- ld hl, $ddb3
- ld de, $de7c
- ld a, $4
- call Music1_CopyData
- ld hl, $ddb7
- ld de, $de80
- ld a, $4
- call Music1_CopyData
- ld hl, $ddbb
- ld de, $de84
- ld a, $4
- call Music1_CopyData
- ld hl, wMusicE8
- ld de, $de88
- ld a, $4
- call Music1_CopyData
- ld hl, $ddc3
- ld de, $de8c
- ld a, $4
- call Music1_CopyData
- ld hl, wMusicE9
- ld de, $de90
- ld a, $4
- call Music1_CopyData
- ld hl, wMusicEC
- ld de, $de94
- ld a, $4
- call Music1_CopyData
- ld hl, wMusicSpeed
- ld de, $de98
- ld a, $4
- call Music1_CopyData
- ld hl, wMusicVibratoType2
- ld de, $de9c
- ld a, $4
- call Music1_CopyData
- ld hl, wMusicVibratoDelay
- ld de, $dea0
- ld a, $4
- call Music1_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 Music1_CopyData
- ld hl, wMusicE4
- ld de, $dea7
- ld a, $3
- call Music1_CopyData
- ld hl, $dded
- ld de, $deaa
- ld a, $2
- call Music1_CopyData
- ld a, $0
- ld [$deac], a
- ld hl, wMusicReturnAddress
- ld de, $dead
- ld a, $8
- call Music1_CopyData
- ld hl, $ddfb
- ld de, $deb5
- ld a, $30
- call Music1_CopyData
- ret
-
-Func_f4b01: ; f4b01 (3d: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 Music1_CopyData
- ld a, [$de5c]
- ld [wMusicWave], a
- ld a, $1
- ld [wMusicWaveChange], a
- ld hl, $de5e
- ld de, wMusicIsPlaying
- ld a, $4
- call Music1_CopyData
- ld hl, $de62
- ld de, wMusicTie
- ld a, $4
- call Music1_CopyData
- ld hl, $de66
- ld de, $dd95
- ld a, $8
- call Music1_CopyData
- ld hl, $de6e
- ld de, wMusicMainLoop
- ld a, $8
- call Music1_CopyData
- ld a, [$de76]
- ld [$ddab], a
- ld a, [$de77]
- ld [$ddac], a
- ld hl, $de78
- ld de, wMusicOctave
- ld a, $4
- call Music1_CopyData
- ld hl, $de7c
- ld de, $ddb3
- ld a, $4
- call Music1_CopyData
- ld hl, $de80
- ld de, $ddb7
- ld a, $4
- call Music1_CopyData
- ld hl, $de84
- ld de, $ddbb
- ld a, $4
- call Music1_CopyData
- ld hl, $de88
- ld de, wMusicE8
- ld a, $4
- call Music1_CopyData
- ld hl, $de8c
- ld de, $ddc3
- ld a, $4
- call Music1_CopyData
- ld hl, $de90
- ld de, wMusicE9
- ld a, $4
- call Music1_CopyData
- ld hl, $de94
- ld de, wMusicEC
- ld a, $4
- call Music1_CopyData
- ld hl, $de98
- ld de, wMusicSpeed
- ld a, $4
- call Music1_CopyData
- ld hl, $de9c
- ld de, wMusicVibratoType2
- ld a, $4
- call Music1_CopyData
- ld hl, $dea0
- ld de, wMusicVibratoDelay
- ld a, $4
- call Music1_CopyData
- ld hl, $dea4
- ld de, wMusicVolume
- ld a, $3
- call Music1_CopyData
- ld hl, $dea7
- ld de, wMusicE4
- ld a, $3
- call Music1_CopyData
- ld hl, $deaa
- ld de, $dded
- ld a, $2
- call Music1_CopyData
- ld a, [$deac]
- ld [$ddef], a
- ld hl, $dead
- ld de, wMusicReturnAddress
- ld a, $8
- call Music1_CopyData
- ld hl, $deb5
- ld de, $ddfb
- ld a, $30
- call Music1_CopyData
- ret
-
-; copies a bytes from hl to de
-Music1_CopyData: ; f4c18 (3d:4c18)
- ld c, a
-.asm_f4c19
- ld a, [hli]
- ld [de], a
- inc de
- dec c
- jr nz, .asm_f4c19
- ret
-
-Unknown_f4c20: ; f4c20 (3d:4c20)
-INCBIN "baserom.gbc",$f4c20,$f4c28 - $f4c20
-
-Unknown_f4c28: ; f4c28 (3d:4c28)
-INCBIN "baserom.gbc",$f4c28,$f4c30 - $f4c28
-
-Unknown_f4c30: ; f4c30 (3d:4c30)
-INCBIN "baserom.gbc",$f4c30,$f4cda - $f4c30
-
-Music1_WaveInstruments: ; f4cda (3d:4cda)
-INCLUDE "data/wave_instruments.asm"
-
-Music1_NoiseInstruments: ; f4d34 (3d:4d34)
-INCLUDE "data/noise_instruments.asm"
-
-Music1_VibratoTypes: ; f4dde (3d:4dde)
-INCLUDE "data/vibrato_types.asm"
-
-Unknown_f4e85: ; f4e85 (3d:4e85)
-INCBIN "baserom.gbc",$f4e85,$f4ee5 - $f4e85
-
-INCLUDE "data/music1_headers.asm"
-
-INCLUDE "audio/music/titlescreen.asm"
-INCLUDE "audio/music/dueltheme1.asm"
-INCLUDE "audio/music/dueltheme2.asm"
-INCLUDE "audio/music/dueltheme3.asm"
-INCLUDE "audio/music/pausemenu.asm"
-INCLUDE "audio/music/deckmachine.asm"
-INCLUDE "audio/music/cardpop.asm"
-INCLUDE "audio/music/overworld.asm"
-INCLUDE "audio/music/matchstart1.asm"
-INCLUDE "audio/music/matchstart2.asm"
-INCLUDE "audio/music/matchstart3.asm"
-INCLUDE "audio/music/matchvictory.asm"
-INCLUDE "audio/music/matchloss.asm"
-INCLUDE "audio/music/darkdiddly.asm"
-INCLUDE "audio/music/boosterpack.asm"
-INCLUDE "audio/music/medal.asm"
-
-rept $138
-db $ff
-endr
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
diff --git a/engine/sfx.asm b/engine/sfx.asm
deleted file mode 100755
index 63a83b6..0000000
--- a/engine/sfx.asm
+++ /dev/null
@@ -1,599 +0,0 @@
-Func_fc000: ; fc000 (3f:4000)
- jp Func_fc006
-
-Func_fc003: ; fc003 (3f:4003)
- jp Func_fc059
-
-Func_fc006: ; fc006 (3f:4006)
- ld hl, NumberOfSFX
- cp [hl]
- jr nc, .asm_fc058
- add a
- ld c, a
- ld b, $0
- ld a, [$de53]
- or a
- jr z, .asm_fc019
- call Func_fc279
-.asm_fc019
- ld a, $1
- ld [$de53], a
- ld hl, SFXHeaderPointers
- add hl, bc
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld a, [hli]
- ld [$dd8c], a
- ld [$de54], a
- ld de, $de4b
- ld c, $0
-.asm_fc031
- ld a, [$de54]
- rrca
- ld [$de54], a
- jr nc, .asm_fc050
- ld a, [hli]
- ld [de], a
- inc de
- ld a, [hli]
- ld [de], a
- inc de
- push hl
- ld hl, $de2f
- add hl, bc
- ld [hl], $0
- ld hl, $de33
- add hl, bc
- ld [hl], $1
- pop hl
- jr .asm_fc052
-.asm_fc050
- inc de
- inc de
-.asm_fc052
- inc c
- ld a, $4
- cp c
- jr nz, .asm_fc031
-.asm_fc058
- ret
-
-Func_fc059: ; fc059 (3f:4059)
- ld a, [$dd8c]
- or a
- jr nz, .asm_fc063
- call Func_fc26c
- ret
-.asm_fc063
- xor a
- ld b, a
- ld c, a
- ld a, [$dd8c]
- ld [$de54], a
-.asm_fc06c
- ld hl, $de54
- ld a, [hl]
- rrca
- ld [hl], a
- jr nc, .asm_fc08d
- ld hl, $de33
- add hl, bc
- ld a, [hl]
- dec a
- jr z, .asm_fc082
- ld [hl], a
- call Func_fc18d
- jr .asm_fc08d
-.asm_fc082
- ld hl, $de4b
- add hl, bc
- add hl, bc
- ld a, [hli]
- ld h, [hl]
- ld l, a
- call Func_fc094
-.asm_fc08d
- inc c
- ld a, c
- cp $4
- jr nz, .asm_fc06c
- ret
-
-Func_fc094: ; fc094 (3f:4094)
- ld a, [hl]
- and $f0
- swap a
- add a
- ld e, a
- ld d, $0
- ld a, [hli]
- push hl
- and $f
- ld hl, SFX_CommandTable
- add hl, de
- ld e, [hl]
- inc hl
- ld d, [hl]
- ld h, d
- ld l, e
- jp [hl]
-
-SFX_CommandTable: ; fc0ab (3f:40ab)
- dw SFX_0
- dw SFX_1
- dw SFX_2
- dw SFX_loop
- dw SFX_endloop
- dw SFX_5
- dw SFX_6
- dw SFX_7
- dw SFX_8
- dw SFX_unused
- dw SFX_unused
- dw SFX_unused
- dw SFX_unused
- dw SFX_unused
- dw SFX_unused
- dw SFX_end
-
-SFX_unused: ; fc0cb (3f:40cb)
- jp Func_fc094
-
-SFX_0: ; fc0ce (3f:40ce)
- ld d, a
- pop hl
- ld a, [hli]
- ld e, a
- push hl
- ld hl, $de37
- add hl, bc
- add hl, bc
- push bc
- ld b, [hl]
- ld [hl], e
- inc hl
- ld [hl], d
- ld a, c
- cp $3
- jr nz, .asm_fc0e9
- ld a, b
- xor e
- and $8
- swap a
- ld d, a
-.asm_fc0e9
- pop bc
- ld hl, $de2b
- add hl, bc
- ld a, [hl]
- ld [hl], $0
- or d
- ld d, a
- ld hl, rNR11
- ld a, c
- add a
- add a
- add c
- add l
- ld l, a
- ld a, [hl]
- and $c0
- ld [hli], a
- inc hl
- ld a, e
- ld [hli], a
- ld [hl], d
- pop de
-Func_fc105: ; fc105 (3f:4105)
- ld hl, $de4b
- add hl, bc
- add hl, bc
- ld [hl], e
- inc hl
- ld [hl], d
- ret
-
-SFX_1: ; fc10e (3f:410e)
- ld hl, $de2b
- add hl, bc
- ld a, $80
- ld [hl], a
- pop hl
- ld a, [hli]
- ld e, a
- push hl
- ld hl, rNR12
- ld a, c
- add a
- add a
- add c
- add l
- ld l, a
- ld [hl], e
- pop hl
- jp Func_fc094
-
-SFX_2: ; fc127 (3f:4127)
- swap a
- ld e, a
- ld hl, rNR11
- ld a, c
- add a
- add a
- add c
- add l
- ld l, a
- ld [hl], e
- pop hl
- jp Func_fc094
-
-SFX_loop: ; fc138 (3f:4138)
- ld hl, $de43
- add hl, bc
- add hl, bc
- pop de
- ld a, [de]
- inc de
- ld [hl], e
- inc hl
- ld [hl], d
- ld hl, $de3f
- add hl, bc
- ld [hl], a
- ld l, e
- ld h, d
- jp Func_fc094
-
-SFX_endloop: ; fc14d (3f:414d)
- ld hl, $de3f
- add hl, bc
- ld a, [hl]
- dec a
- jr z, .asm_fc162
- ld [hl], a
- ld hl, $de43
- add hl, bc
- add hl, bc
- ld a, [hli]
- ld h, [hl]
- ld l, a
- pop de
- jp Func_fc094
-.asm_fc162
- pop hl
- jp Func_fc094
-
-SFX_5: ; fc166 (3f:4166)
- ld hl, $de2f
- add hl, bc
- ld e, l
- ld d, h
- pop hl
- ld a, [hli]
- ld [de], a
- jp Func_fc094
-
-SFX_6: ; fc172 (3f:4172)
- ld a, c
- cp $3
- jr nz, .asm_fc17c
- call Func_fc1cd
- jr .asm_fc17f
-.asm_fc17c
- call Func_fc18d
-.asm_fc17f
- ld hl, $de33
- add hl, bc
- ld e, l
- ld d, h
- pop hl
- ld a, [hli]
- ld [de], a
- ld e, l
- ld d, h
- jp Func_fc105
-
-Func_fc18d: ; fc18d (3f:418d)
- ld hl, $de2f
- add hl, bc
- ld a, [hl]
- or a
- jr z, .asm_fc1cc
- ld hl, $de37
- add hl, bc
- add hl, bc
- bit 7, a
- jr z, .asm_fc1aa
- xor $ff
- inc a
- ld d, a
- ld a, [hl]
- sub d
- ld [hli], a
- ld e, a
- ld a, [hl]
- sbc b
- jr .asm_fc1b1
-.asm_fc1aa
- ld d, a
- ld a, [hl]
- add d
- ld [hli], a
- ld e, a
- ld a, [hl]
- adc b
-.asm_fc1b1
- ld [hl], a
- ld hl, $de2b
- add hl, bc
- ld d, [hl]
- ld [hl], $0
- or d
- ld d, a
- ld hl, rNR11
- ld a, c
- add a
- add a
- add c
- add l
- ld l, a
- ld a, [hl]
- and $c0
- ld [hli], a
- inc hl
- ld a, e
- ld [hli], a
- ld [hl], d
-.asm_fc1cc
- ret
-
-Func_fc1cd: ; fc1cd (3f:41cd)
- ld hl, $de32
- ld a, [hl]
- or a
- jr z, .asm_fc201
- ld hl, $de3d
- bit 7, a
- jr z, .asm_fc1e5
- xor $ff
- inc a
- ld d, a
- ld e, [hl]
- ld a, e
- sub d
- ld [hl], a
- jr .asm_fc1ea
-.asm_fc1e5
- ld d, a
- ld e, [hl]
- ld a, e
- add d
- ld [hl], a
-.asm_fc1ea
- ld d, a
- xor e
- and $8
- swap a
- ld hl, $de2e
- ld e, [hl]
- ld [hl], $0
- or e
- ld e, a
- ld hl, rNR41
- xor a
- ld [hli], a
- inc hl
- ld a, d
- ld [hli], a
- ld [hl], e
-.asm_fc201
- ret
-
-SFX_7: ; fc202 (3f:4202)
- add a
- ld d, $0
- ld e, a
- ld hl, SFX_WaveInstruments
- add hl, de
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld a, $0
- ld [rNR30], a
- ld b, d
- ld de, $ff30
-.asm_fc215
- ld a, [hli]
- ld [de], a
- inc de
- inc b
- ld a, b
- cp $10
- jr nz, .asm_fc215
- ld a, $1
- ld [$dd8b], a
- ld a, $80
- ld [rNR30], a
- ld b, $0
- pop hl
- jp Func_fc094
-
-SFX_8: ; fc22d (3f:422d)
- pop hl
- ld a, [hli]
- push hl
- push bc
- inc c
- ld e, $ee
-.asm_fc234
- dec c
- jr z, .asm_fc23c
- rlca
- rlc e
- jr .asm_fc234
-.asm_fc23c
- ld d, a
- ld hl, $dd85
- ld a, [hl]
- and e
- or d
- ld [hl], a
- pop bc
- pop hl
- jp Func_fc094
-
-SFX_end: ; fc249 (3f:4249)
- ld e, c
- inc e
- ld a, $7f
-.asm_fc24d
- rlca
- dec e
- jr nz, .asm_fc24d
- ld e, a
- ld a, [$dd8c]
- and e
- ld [$dd8c], a
- ld a, c
- rlca
- rlca
- add c
- ld e, a
- ld d, b
- ld hl, rNR12
- add hl, de
- ld a, $8
- ld [hli], a
- inc hl
- swap a
- ld [hl], a
- pop hl
- ret
-
-Func_fc26c: ; fc26c (3f:426c)
- xor a
- ld [$de53], a
- ld [$dd83], a
- ld a, $80
- ld [$dd82], a
- ret
-
-Func_fc279: ; fc279 (3f:4279)
- ld a, $8
- ld a, [rNR12]
- ld a, [rNR22]
- ld a, [rNR32]
- ld a, [rNR42]
- ld a, $80
- ld a, [rNR14]
- ld a, [rNR24]
- ld a, [rNR44]
- xor a
- ld [$dd8c], a
- ret
-
-INCLUDE "data/sfx_headers.asm"
-
-SFX_WaveInstruments: ; fc485 (3f:4485)
-INCLUDE "data/wave_instruments.asm"
-
-INCLUDE "audio/sfx/sfx_01.asm"
-INCLUDE "audio/sfx/sfx_02.asm"
-INCLUDE "audio/sfx/sfx_03.asm"
-INCLUDE "audio/sfx/sfx_04.asm"
-INCLUDE "audio/sfx/sfx_05.asm"
-INCLUDE "audio/sfx/sfx_06.asm"
-INCLUDE "audio/sfx/sfx_07.asm"
-INCLUDE "audio/sfx/sfx_08.asm"
-INCLUDE "audio/sfx/sfx_09.asm"
-INCLUDE "audio/sfx/sfx_0a.asm"
-INCLUDE "audio/sfx/sfx_0b.asm"
-INCLUDE "audio/sfx/sfx_0c.asm"
-INCLUDE "audio/sfx/sfx_0d.asm"
-INCLUDE "audio/sfx/sfx_0e.asm"
-INCLUDE "audio/sfx/sfx_0f.asm"
-INCLUDE "audio/sfx/sfx_10.asm"
-INCLUDE "audio/sfx/sfx_11.asm"
-INCLUDE "audio/sfx/sfx_12.asm"
-INCLUDE "audio/sfx/sfx_13.asm"
-INCLUDE "audio/sfx/sfx_14.asm"
-INCLUDE "audio/sfx/sfx_15.asm"
-INCLUDE "audio/sfx/sfx_16.asm"
-INCLUDE "audio/sfx/sfx_17.asm"
-INCLUDE "audio/sfx/sfx_18.asm"
-INCLUDE "audio/sfx/sfx_19.asm"
-INCLUDE "audio/sfx/sfx_1a.asm"
-INCLUDE "audio/sfx/sfx_1b.asm"
-INCLUDE "audio/sfx/sfx_1c.asm"
-INCLUDE "audio/sfx/sfx_1d.asm"
-INCLUDE "audio/sfx/sfx_1e.asm"
-INCLUDE "audio/sfx/sfx_1f.asm"
-INCLUDE "audio/sfx/sfx_20.asm"
-INCLUDE "audio/sfx/sfx_21.asm"
-INCLUDE "audio/sfx/sfx_22.asm"
-INCLUDE "audio/sfx/sfx_23.asm"
-INCLUDE "audio/sfx/sfx_24.asm"
-INCLUDE "audio/sfx/sfx_25.asm"
-INCLUDE "audio/sfx/sfx_26.asm"
-INCLUDE "audio/sfx/sfx_27.asm"
-INCLUDE "audio/sfx/sfx_28.asm"
-INCLUDE "audio/sfx/sfx_29.asm"
-INCLUDE "audio/sfx/sfx_2a.asm"
-INCLUDE "audio/sfx/sfx_2b.asm"
-INCLUDE "audio/sfx/sfx_2c.asm"
-INCLUDE "audio/sfx/sfx_2d.asm"
-INCLUDE "audio/sfx/sfx_2e.asm"
-INCLUDE "audio/sfx/sfx_2f.asm"
-INCLUDE "audio/sfx/sfx_30.asm"
-INCLUDE "audio/sfx/sfx_31.asm"
-INCLUDE "audio/sfx/sfx_32.asm"
-INCLUDE "audio/sfx/sfx_33.asm"
-INCLUDE "audio/sfx/sfx_34.asm"
-INCLUDE "audio/sfx/sfx_35.asm"
-INCLUDE "audio/sfx/sfx_36.asm"
-INCLUDE "audio/sfx/sfx_37.asm"
-INCLUDE "audio/sfx/sfx_38.asm"
-INCLUDE "audio/sfx/sfx_39.asm"
-INCLUDE "audio/sfx/sfx_3a.asm"
-INCLUDE "audio/sfx/sfx_3b.asm"
-INCLUDE "audio/sfx/sfx_3c.asm"
-INCLUDE "audio/sfx/sfx_3d.asm"
-INCLUDE "audio/sfx/sfx_3e.asm"
-INCLUDE "audio/sfx/sfx_3f.asm"
-INCLUDE "audio/sfx/sfx_40.asm"
-INCLUDE "audio/sfx/sfx_41.asm"
-INCLUDE "audio/sfx/sfx_42.asm"
-INCLUDE "audio/sfx/sfx_43.asm"
-INCLUDE "audio/sfx/sfx_44.asm"
-INCLUDE "audio/sfx/sfx_45.asm"
-INCLUDE "audio/sfx/sfx_46.asm"
-INCLUDE "audio/sfx/sfx_47.asm"
-INCLUDE "audio/sfx/sfx_48.asm"
-INCLUDE "audio/sfx/sfx_49.asm"
-INCLUDE "audio/sfx/sfx_4a.asm"
-INCLUDE "audio/sfx/sfx_4b.asm"
-INCLUDE "audio/sfx/sfx_4c.asm"
-INCLUDE "audio/sfx/sfx_4d.asm"
-INCLUDE "audio/sfx/sfx_4e.asm"
-INCLUDE "audio/sfx/sfx_4f.asm"
-INCLUDE "audio/sfx/sfx_50.asm"
-INCLUDE "audio/sfx/sfx_51.asm"
-INCLUDE "audio/sfx/sfx_52.asm"
-INCLUDE "audio/sfx/sfx_53.asm"
-INCLUDE "audio/sfx/sfx_54.asm"
-INCLUDE "audio/sfx/sfx_55.asm"
-INCLUDE "audio/sfx/sfx_56.asm"
-INCLUDE "audio/sfx/sfx_57.asm"
-INCLUDE "audio/sfx/sfx_58.asm"
-INCLUDE "audio/sfx/sfx_59.asm"
-INCLUDE "audio/sfx/sfx_5a.asm"
-INCLUDE "audio/sfx/sfx_5b.asm"
-INCLUDE "audio/sfx/sfx_5c.asm"
-INCLUDE "audio/sfx/sfx_5d.asm"
-INCLUDE "audio/sfx/sfx_5e.asm"
-INCLUDE "audio/sfx/sfx_5f.asm"
-
-rept $c1
-db $ff
-endr