mirror of
https://github.com/pret/poketcg.git
synced 2026-10-06 15:50:58 -04:00
2268 lines
32 KiB
NASM
Executable File
2268 lines
32 KiB
NASM
Executable File
Func_f4000: ; f4000 (3d:4000)
|
|
jp Func_f407d
|
|
|
|
Func_f4003: ; 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 [$ff26], a
|
|
ld a, $80
|
|
ld [$ff26], a
|
|
ld a, $77
|
|
ld [$ff24], a
|
|
ld a, $ff
|
|
ld [$ff25], 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 [$dd8b], a
|
|
ld [$ddef], a
|
|
ld [$ddf0], a
|
|
ld [$ddf2], a
|
|
dec a
|
|
ld [$dd84], a
|
|
ld de, $0001
|
|
ld bc, $0000
|
|
.asm_f40bb
|
|
ld hl, $dd8d
|
|
add hl, bc
|
|
ld [hl], d
|
|
ld hl, $dd91
|
|
add hl, bc
|
|
ld [hl], d
|
|
ld hl, $ddb3
|
|
add hl, bc
|
|
ld [hl], d
|
|
ld hl, $ddcb
|
|
add hl, bc
|
|
ld [hl], d
|
|
ld hl, $ddbf
|
|
add hl, bc
|
|
ld [hl], d
|
|
inc c
|
|
ld a, c
|
|
cp $4
|
|
jr nz, .asm_f40bb
|
|
ld hl, Unknown_f4c20
|
|
ld bc, $ddf3
|
|
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 [$ff80], a
|
|
ld [$2000], 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 [$dd8d], a
|
|
bit 0, d
|
|
jr nz, .asm_f415f
|
|
ld a, $8
|
|
ld [$ff12], a
|
|
swap a
|
|
ld [$ff14], a
|
|
.asm_f415f
|
|
xor a
|
|
ld [$dd8e], a
|
|
bit 1, d
|
|
jr nz, .asm_f416f
|
|
ld a, $8
|
|
ld [$ff17], a
|
|
swap a
|
|
ld [$ff19], a
|
|
.asm_f416f
|
|
xor a
|
|
ld [$dd90], a
|
|
bit 3, d
|
|
jr nz, .asm_f417f
|
|
ld a, $8
|
|
ld [$ff21], a
|
|
swap a
|
|
ld [$ff23], a
|
|
.asm_f417f
|
|
xor a
|
|
ld [$dd8f], a
|
|
bit 2, d
|
|
jr nz, .asm_f418b
|
|
ld a, $0
|
|
ld [$ff1c], 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 [$ff80], a
|
|
ld [$2000], 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 [$dd9d], a
|
|
ld a, [bc]
|
|
inc bc
|
|
ld [$dd96], a
|
|
ld [$dd9e], a
|
|
ld a, $1
|
|
ld [$ddbb], a
|
|
ld [$dd8d], a
|
|
xor a
|
|
ld [$dd91], a
|
|
ld [$ddea], a
|
|
ld [$ddbf], a
|
|
ld [$dddf], a
|
|
ld [$ddcb], a
|
|
ld a, [Unknown_f4c20]
|
|
ld [$ddf3], a
|
|
ld a, [Unknown_f4c20 + 1]
|
|
ld [$ddf4], a
|
|
ld a, $8
|
|
ld [$ddc7], 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, [$dd8d]
|
|
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, $ff12
|
|
ld a, [$ddc7]
|
|
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, [$dd8d]
|
|
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 [$ff12], a
|
|
swap a
|
|
ld [$ff14], 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, $ff17
|
|
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 [$ff17], a
|
|
swap a
|
|
ld [$ff19], 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 [$ff1c], 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 [$ff1c], a
|
|
ld a, $80
|
|
ld [$ff1e], 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 [$ff21], a
|
|
swap a
|
|
ld [$ff23], 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_no_fade
|
|
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_duty3
|
|
dw Music1_musice8
|
|
dw Music1_musice9
|
|
dw Music1_vibrato_rate
|
|
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, $dd91
|
|
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, $ddd7
|
|
add hl, bc
|
|
ld a, [hl]
|
|
ld hl, $ddd3
|
|
add hl, bc
|
|
ld [hl], a
|
|
.asm_f44b0
|
|
pop af
|
|
push de
|
|
ld hl, $ddcf
|
|
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, $ddbf
|
|
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, $ddaf
|
|
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, PointerTable_f4d34
|
|
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, [$dd84]
|
|
and $77
|
|
or d
|
|
ld [$dd84], 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, $ddaf
|
|
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, $ddcb
|
|
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, $ddcf
|
|
add hl, bc
|
|
ld [hl], a
|
|
jp Music1_PlayNextNote_pop
|
|
|
|
Music1_octave: ; f45a3 (3d:45a3)
|
|
and $7
|
|
dec a
|
|
ld hl, $ddaf
|
|
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, $ddaf
|
|
add hl, bc
|
|
inc [hl]
|
|
jp Music1_PlayNextNote_pop
|
|
|
|
Music1_dec_octave: ; f45c3 (3d:45c3)
|
|
ld hl, $ddaf
|
|
add hl, bc
|
|
dec [hl]
|
|
jp Music1_PlayNextNote_pop
|
|
|
|
Music1_no_fade: ; f45cb (3d:45cb)
|
|
ld hl, $dd91
|
|
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, $dd84
|
|
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, $dd9d
|
|
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, $dd9d
|
|
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, $ddea
|
|
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, $dd86
|
|
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, $dde7
|
|
add hl, bc
|
|
ld [hl], a
|
|
ld h, d
|
|
ld l, e
|
|
jp Music1_PlayNextNote
|
|
|
|
Music1_duty3: ; f4690 (3d:4690)
|
|
pop de
|
|
ld a, [de]
|
|
inc de
|
|
ld [$dd8a], a
|
|
ld a, $1
|
|
ld [$dd8b], a
|
|
ld h, d
|
|
ld l, e
|
|
jp Music1_PlayNextNote
|
|
|
|
Music1_musice8: ; f46a0 (3d:46a0)
|
|
pop de
|
|
ld a, [de]
|
|
inc de
|
|
ld hl, $ddbf
|
|
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, $ddc7
|
|
add hl, bc
|
|
ld [hl], a
|
|
ld h, d
|
|
ld l, e
|
|
jp Music1_PlayNextNote
|
|
|
|
Music1_vibrato_rate: ; f46ba (3d:46ba)
|
|
pop de
|
|
ld a, [de]
|
|
inc de
|
|
ld hl, $ddd3
|
|
add hl, bc
|
|
ld [hl], a
|
|
ld hl, $ddd7
|
|
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, $dddf
|
|
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, $ddcb
|
|
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, $ddcb
|
|
add hl, bc
|
|
add [hl]
|
|
ld [hl], a
|
|
ld h, d
|
|
ld l, e
|
|
jp Music1_PlayNextNote
|
|
|
|
Music1_end: ; f46f4 (3d:46f4)
|
|
ld hl, $dd8d
|
|
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, $ddf3
|
|
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
|
|
; since this function is used for loops and calls, a song
|
|
; should not use a loop inside a called piece of music
|
|
; or call a piece of music inside a loop
|
|
Music1_SetReturnAddress: ; f4705 (3d:4705)
|
|
ld d, h
|
|
ld e, l
|
|
ld hl, $ddf3
|
|
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, $dd91
|
|
ld a, [hl]
|
|
cp $80
|
|
jr z, .asm_f4733
|
|
ld a, [$dde7]
|
|
ld [$ff12], a
|
|
ld d, $80
|
|
.asm_f4733
|
|
ld [hl], $2
|
|
ld a, $8
|
|
ld [$ff10], a
|
|
ld a, [$dd86]
|
|
ld [$ff11], a
|
|
ld a, [$dda5]
|
|
ld [$ff13], a
|
|
ld a, [$dda6]
|
|
or d
|
|
ld [$ff14], a
|
|
.asm_f4749
|
|
ret
|
|
.asm_f474a
|
|
ld hl, $dd91
|
|
ld [hl], $0
|
|
ld hl, $ff12
|
|
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 [$ff17], a
|
|
ld d, $80
|
|
.asm_f4779
|
|
ld [hl], $2
|
|
ld a, [$dd87]
|
|
ld [$ff16], a
|
|
ld a, [$dda7]
|
|
ld [$ff18], a
|
|
ld a, [$dda8]
|
|
or d
|
|
ld [$ff19], a
|
|
.asm_f478b
|
|
ret
|
|
.asm_f478c
|
|
ld hl, $dd92
|
|
ld [hl], $0
|
|
ld hl, $ff17
|
|
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, [$dd8b]
|
|
or a
|
|
jr z, .asm_f47b3
|
|
xor a
|
|
ld [$ff1a], 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 [$ff1c], a
|
|
xor a
|
|
ld [$ff1a], a
|
|
ld d, $80
|
|
.asm_f47cc
|
|
ld [hl], $2
|
|
xor a
|
|
ld [$ff1b], a
|
|
ld a, [$dda9]
|
|
ld [$ff1d], a
|
|
ld a, $80
|
|
ld [$ff1a], a
|
|
ld a, [$ddaa]
|
|
or d
|
|
ld [$ff1e], a
|
|
.asm_f47e0
|
|
ret
|
|
.asm_f47e1
|
|
ld hl, $dd91
|
|
ld [hl], $0
|
|
xor a
|
|
ld [$ff1a], a
|
|
ret
|
|
|
|
Func_f47ea: ; f479c (3d:47ea)
|
|
ld a, [$dd8a]
|
|
add a
|
|
ld d, $0
|
|
ld e, a
|
|
ld hl, PointerTable_f4cda
|
|
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 [$dd8b], 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, $ff20
|
|
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, $ff21
|
|
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 [$ff22], 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 [$ff24], a
|
|
ld a, [$dd8c]
|
|
or a
|
|
ld hl, $dd84
|
|
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 [$ff25], a
|
|
ret
|
|
|
|
Func_f4898: ; f4898 (3d:4898)
|
|
ld hl, $dddf
|
|
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, $ddd3
|
|
add hl, bc
|
|
ld e, [hl]
|
|
ld d, $0
|
|
ld hl, PointerTable_f4dde
|
|
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, $ddd3
|
|
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, [$dddf]
|
|
cp $0
|
|
jr z, .asm_f4966
|
|
ld a, [$dd8c]
|
|
bit 0, a
|
|
jr nz, .asm_f4966
|
|
ld a, e
|
|
ld [$ff13], a
|
|
ld a, [$ff11]
|
|
and $c0
|
|
ld [$ff11], a
|
|
ld a, d
|
|
and $3f
|
|
ld [$ff14], 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 [$ff18], a
|
|
ld a, [$ff16]
|
|
and $c0
|
|
ld [$ff16], a
|
|
ld a, d
|
|
ld [$ff19], 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 [$ff1d], a
|
|
xor a
|
|
ld [$ff1b], a
|
|
ld a, d
|
|
ld [$ff1e], a
|
|
.asm_f4966
|
|
ret
|
|
|
|
Func_f4967: ; f4967 (3d:4967)
|
|
ld hl, $ddea
|
|
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 [$ff12], a
|
|
swap a
|
|
ld [$ff14], a
|
|
.asm_f4990
|
|
bit 1, d
|
|
jr nz, .asm_f499c
|
|
swap a
|
|
ld [$ff17], a
|
|
swap a
|
|
ld [$ff19], a
|
|
.asm_f499c
|
|
bit 3, d
|
|
jr nz, .asm_f49a8
|
|
swap a
|
|
ld [$ff21], a
|
|
swap a
|
|
ld [$ff23], a
|
|
.asm_f49a8
|
|
bit 2, d
|
|
jr nz, .asm_f49b0
|
|
ld a, $0
|
|
ld [$ff1c], a
|
|
.asm_f49b0
|
|
ret
|
|
|
|
Func_f49b1: ; f49b1 (3d:49b1)
|
|
ld hl, $dd8d
|
|
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, [$dd84]
|
|
ld [$de57], a
|
|
ld hl, $dd86
|
|
ld de, $de58
|
|
ld a, $4
|
|
call Music1_CopyData
|
|
ld a, [$dd8a]
|
|
ld [$de5c], a
|
|
ld a, [$dd8b]
|
|
ld [$de5d], a
|
|
ld hl, $dd8d
|
|
ld de, $de5e
|
|
ld a, $4
|
|
call Music1_CopyData
|
|
ld hl, $dd91
|
|
ld de, $de62
|
|
ld a, $4
|
|
call Music1_CopyData
|
|
ld hl, $dd95
|
|
ld de, $de66
|
|
ld a, $8
|
|
call Music1_CopyData
|
|
ld hl, $dd9d
|
|
ld de, $de6e
|
|
ld a, $8
|
|
call Music1_CopyData
|
|
ld a, [$ddab]
|
|
ld [$de76], a
|
|
ld a, [$ddac]
|
|
ld [$de77], a
|
|
ld hl, $ddaf
|
|
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, $ddbf
|
|
ld de, $de88
|
|
ld a, $4
|
|
call Music1_CopyData
|
|
ld hl, $ddc3
|
|
ld de, $de8c
|
|
ld a, $4
|
|
call Music1_CopyData
|
|
ld hl, $ddc7
|
|
ld de, $de90
|
|
ld a, $4
|
|
call Music1_CopyData
|
|
ld hl, $ddcb
|
|
ld de, $de94
|
|
ld a, $4
|
|
call Music1_CopyData
|
|
ld hl, $ddcf
|
|
ld de, $de98
|
|
ld a, $4
|
|
call Music1_CopyData
|
|
ld hl, $ddd7
|
|
ld de, $de9c
|
|
ld a, $4
|
|
call Music1_CopyData
|
|
ld hl, $dddf
|
|
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, $dde7
|
|
ld de, $dea4
|
|
ld a, $3
|
|
call Music1_CopyData
|
|
ld hl, $ddea
|
|
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, $ddf3
|
|
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 [$dd84], a
|
|
ld hl, $de58
|
|
ld de, $dd86
|
|
ld a, $4
|
|
call Music1_CopyData
|
|
ld a, [$de5c]
|
|
ld [$dd8a], a
|
|
ld a, $1
|
|
ld [$dd8b], a
|
|
ld hl, $de5e
|
|
ld de, $dd8d
|
|
ld a, $4
|
|
call Music1_CopyData
|
|
ld hl, $de62
|
|
ld de, $dd91
|
|
ld a, $4
|
|
call Music1_CopyData
|
|
ld hl, $de66
|
|
ld de, $dd95
|
|
ld a, $8
|
|
call Music1_CopyData
|
|
ld hl, $de6e
|
|
ld de, $dd9d
|
|
ld a, $8
|
|
call Music1_CopyData
|
|
ld a, [$de76]
|
|
ld [$ddab], a
|
|
ld a, [$de77]
|
|
ld [$ddac], a
|
|
ld hl, $de78
|
|
ld de, $ddaf
|
|
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, $ddbf
|
|
ld a, $4
|
|
call Music1_CopyData
|
|
ld hl, $de8c
|
|
ld de, $ddc3
|
|
ld a, $4
|
|
call Music1_CopyData
|
|
ld hl, $de90
|
|
ld de, $ddc7
|
|
ld a, $4
|
|
call Music1_CopyData
|
|
ld hl, $de94
|
|
ld de, $ddcb
|
|
ld a, $4
|
|
call Music1_CopyData
|
|
ld hl, $de98
|
|
ld de, $ddcf
|
|
ld a, $4
|
|
call Music1_CopyData
|
|
ld hl, $de9c
|
|
ld de, $ddd7
|
|
ld a, $4
|
|
call Music1_CopyData
|
|
ld hl, $dea0
|
|
ld de, $dddf
|
|
ld a, $4
|
|
call Music1_CopyData
|
|
ld hl, $dea4
|
|
ld de, $dde7
|
|
ld a, $3
|
|
call Music1_CopyData
|
|
ld hl, $dea7
|
|
ld de, $ddea
|
|
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, $ddf3
|
|
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
|
|
|
|
PointerTable_f4cda: ; f4cda (3d:4cda)
|
|
dw Unknown_f4ce4
|
|
dw Unknown_f4cf4
|
|
dw Unknown_f4d04
|
|
dw Unknown_f4d14
|
|
dw Unknown_f4d24
|
|
|
|
Unknown_f4ce4: ; f4ce4 (3d:4ce4)
|
|
INCBIN "baserom.gbc",$f4ce4,$f4cf4 - $f4ce4
|
|
|
|
Unknown_f4cf4: ; f4cf4 (3d:4cf4)
|
|
INCBIN "baserom.gbc",$f4cf4,$f4d04 - $f4cf4
|
|
|
|
Unknown_f4d04: ; f4d04 (3d:4d04)
|
|
INCBIN "baserom.gbc",$f4d04,$f4d14 - $f4d04
|
|
|
|
Unknown_f4d14: ; f4d14 (3d:4d14)
|
|
INCBIN "baserom.gbc",$f4d14,$f4d24 - $f4d14
|
|
|
|
Unknown_f4d24: ; f4d24 (3d:4d24)
|
|
INCBIN "baserom.gbc",$f4d24,$f4d34 - $f4d24
|
|
|
|
PointerTable_f4d34: ; f4d34 (3d:4d34)
|
|
dw Unknown_f4d53
|
|
dw Unknown_f4d4c
|
|
dw Unknown_f4d5a
|
|
dw Unknown_f4d4c
|
|
dw Unknown_f4d64
|
|
dw Unknown_f4d4c
|
|
dw Unknown_f4d6d
|
|
dw Unknown_f4d4c
|
|
dw Unknown_f4d76
|
|
dw Unknown_f4d4c
|
|
dw Unknown_f4d4c
|
|
dw Unknown_f4daa
|
|
|
|
Unknown_f4d4c: ; f4d4c (3d:4d4c)
|
|
INCBIN "baserom.gbc",$f4d4c,$f4d53 - $f4d4c
|
|
|
|
Unknown_f4d53: ; f4d53 (3d:4d53)
|
|
INCBIN "baserom.gbc",$f4d53,$f4d5a - $f4d53
|
|
|
|
Unknown_f4d5a: ; f4d5a (3d:4d5a)
|
|
INCBIN "baserom.gbc",$f4d5a,$f4d64 - $f4d5a
|
|
|
|
Unknown_f4d64: ; f4d64 (3d:4d64)
|
|
INCBIN "baserom.gbc",$f4d64,$f4d6d - $f4d64
|
|
|
|
Unknown_f4d6d: ; f4d6d (3d:4d6d)
|
|
INCBIN "baserom.gbc",$f4d6d,$f4d76 - $f4d6d
|
|
|
|
Unknown_f4d76: ; f4d76 (3d:4d76)
|
|
INCBIN "baserom.gbc",$f4d76,$f4daa - $f4d76
|
|
|
|
Unknown_f4daa: ; f4daa (3d:4daa)
|
|
INCBIN "baserom.gbc",$f4daa,$f4dde - $f4daa
|
|
|
|
PointerTable_f4dde: ; f4dde (3d:4dde)
|
|
dw Unknown_f4df4
|
|
dw Unknown_f4df7
|
|
dw Unknown_f4e01
|
|
dw Unknown_f4e0f
|
|
dw Unknown_f4e19
|
|
dw Unknown_f4e27
|
|
dw Unknown_f4e35
|
|
dw Unknown_f4e47
|
|
dw Unknown_f4e5b
|
|
dw Unknown_f4e65
|
|
dw Unknown_f4e73
|
|
|
|
Unknown_f4df4: ; f4df4 (3d:4df4)
|
|
INCBIN "baserom.gbc",$f4df4,$f4df7 - $f4df4
|
|
|
|
Unknown_f4df7: ; f4df7 (3d:4df7)
|
|
INCBIN "baserom.gbc",$f4df7,$f4e01 - $f4df7
|
|
|
|
Unknown_f4e01: ; f4e01 (3d:4e01)
|
|
INCBIN "baserom.gbc",$f4e01,$f4e0f - $f4e01
|
|
|
|
Unknown_f4e0f: ; f4e0f (3d:4e0f)
|
|
INCBIN "baserom.gbc",$f4e0f,$f4e19 - $f4e0f
|
|
|
|
Unknown_f4e19: ; f4e19 (3d:4e19)
|
|
INCBIN "baserom.gbc",$f4e19,$f4e27 - $f4e19
|
|
|
|
Unknown_f4e27: ; f4e27 (3d:4e27)
|
|
INCBIN "baserom.gbc",$f4e27,$f4e35 - $f4e27
|
|
|
|
Unknown_f4e35: ; f4e35 (3d:4e35)
|
|
INCBIN "baserom.gbc",$f4e35,$f4e47 - $f4e35
|
|
|
|
Unknown_f4e47: ; f4e47 (3d:4e47)
|
|
INCBIN "baserom.gbc",$f4e47,$f4e5b - $f4e47
|
|
|
|
Unknown_f4e5b: ; f4e5b (3d:4e5b)
|
|
INCBIN "baserom.gbc",$f4e5b,$f4e65 - $f4e5b
|
|
|
|
Unknown_f4e65: ; f4e65 (3d:4e65)
|
|
INCBIN "baserom.gbc",$f4e65,$f4e73 - $f4e65
|
|
|
|
Unknown_f4e73: ; f4e73 (3d:4e73)
|
|
INCBIN "baserom.gbc",$f4e73,$f4e85 - $f4e73
|
|
|
|
Unknown_f4e85: ; f4e85 (3d:4e85)
|
|
INCBIN "baserom.gbc",$f4e85,$f4ee5 - $f4e85
|
|
|
|
NumberOfSongs1: ; 4fee5 (3d:4ee5)
|
|
db $1f
|
|
|
|
SongBanks1: ; f4ee6 (3d:4ee6)
|
|
db BANK(Music_Stop)
|
|
db BANK(Music_TitleScreen)
|
|
db BANK(Music_BattleTheme1)
|
|
db BANK(Music_BattleTheme2)
|
|
db BANK(Music_BattleTheme3)
|
|
db BANK(Music_PauseMenu)
|
|
db BANK(Music_PCMainMenu)
|
|
db BANK(Music_DeckMachine)
|
|
db BANK(Music_CardPop)
|
|
db BANK(Music_Overworld)
|
|
db BANK(Music_PokemonDome)
|
|
db BANK(Music_ChallengeHall)
|
|
db BANK(Music_Club1)
|
|
db BANK(Music_Club2)
|
|
db BANK(Music_Club3)
|
|
db BANK(Music_Ronald)
|
|
db BANK(Music_Imakuni)
|
|
db BANK(Music_HallOfHonor)
|
|
db BANK(Music_Credits)
|
|
db BANK(Music_Unused13)
|
|
db BANK(Music_Unused14)
|
|
db BANK(Music_MatchStart1)
|
|
db BANK(Music_MatchStart2)
|
|
db BANK(Music_MatchStart3)
|
|
db BANK(Music_MatchVictory)
|
|
db BANK(Music_MatchLoss)
|
|
db BANK(Music_DarkDiddly)
|
|
db BANK(Music_Unused1b)
|
|
db BANK(Music_BoosterPack)
|
|
db BANK(Music_Medal)
|
|
db BANK(Music_Unused1e)
|
|
|
|
SongHeaderPointers1: ; f4f05 (3d:4f05)
|
|
dw Music_Stop
|
|
dw Music_TitleScreen
|
|
dw Music_BattleTheme1
|
|
dw Music_BattleTheme2
|
|
dw Music_BattleTheme3
|
|
dw Music_PauseMenu
|
|
dw $0000
|
|
dw Music_DeckMachine
|
|
dw Music_CardPop
|
|
dw Music_Overworld
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
dw Music_Unused13
|
|
dw Music_Unused14
|
|
dw Music_MatchStart1
|
|
dw Music_MatchStart2
|
|
dw Music_MatchStart3
|
|
dw Music_MatchVictory
|
|
dw Music_MatchLoss
|
|
dw Music_DarkDiddly
|
|
dw Music_Unused1b
|
|
dw Music_BoosterPack
|
|
dw Music_Medal
|
|
dw Music_Unused1e
|
|
|
|
Music_Stop: ; f4f43 (3d:4f43)
|
|
db %0000
|
|
|
|
Music_TitleScreen: ; f4f44 (3d:4f44)
|
|
db %1111
|
|
dw Music_TitleScreen_Ch1
|
|
dw Music_TitleScreen_Ch2
|
|
dw Music_TitleScreen_Ch3
|
|
dw Music_TitleScreen_Ch4
|
|
|
|
Music_BattleTheme1: ; f4f4d (3d:4f4d)
|
|
db %1111
|
|
dw Music_BattleTheme1_Ch1
|
|
dw Music_BattleTheme1_Ch2
|
|
dw Music_BattleTheme1_Ch3
|
|
dw Music_BattleTheme1_Ch4
|
|
|
|
Music_BattleTheme2: ; f4f56 (3d:4f56)
|
|
db %1111
|
|
dw Music_BattleTheme2_Ch1
|
|
dw Music_BattleTheme2_Ch2
|
|
dw Music_BattleTheme2_Ch3
|
|
dw Music_BattleTheme2_Ch4
|
|
|
|
Music_BattleTheme3: ; f4f5f (3d:4f5f)
|
|
db %1111
|
|
dw Music_BattleTheme3_Ch1
|
|
dw Music_BattleTheme3_Ch2
|
|
dw Music_BattleTheme3_Ch3
|
|
dw Music_BattleTheme3_Ch4
|
|
|
|
Music_PauseMenu: ; f4f68 (3d:4f68)
|
|
db %1111
|
|
dw Music_PauseMenu_Ch1
|
|
dw Music_PauseMenu_Ch2
|
|
dw Music_PauseMenu_Ch3
|
|
dw Music_PauseMenu_Ch4
|
|
|
|
;Music_PCMainMenu
|
|
db %0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
|
|
Music_DeckMachine: ; f4f7a (3d:4f7a)
|
|
db %1111
|
|
dw Music_DeckMachine_Ch1
|
|
dw Music_DeckMachine_Ch2
|
|
dw Music_DeckMachine_Ch3
|
|
dw Music_DeckMachine_Ch4
|
|
|
|
Music_CardPop: ; f4f83 (3d:4f83)
|
|
db %1111
|
|
dw Music_CardPop_Ch1
|
|
dw Music_CardPop_Ch2
|
|
dw Music_CardPop_Ch3
|
|
dw Music_CardPop_Ch4
|
|
|
|
Music_Overworld: ; f4f8c (3d:4f8c)
|
|
db %1111
|
|
dw Music_Overworld_Ch1
|
|
dw Music_Overworld_Ch2
|
|
dw Music_Overworld_Ch3
|
|
dw Music_Overworld_Ch4
|
|
|
|
;Music_PokemonDome
|
|
db %0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
|
|
;Music_ChallengeHall
|
|
db %0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
|
|
;Music_Club1
|
|
db %0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
|
|
;Music_Club2
|
|
db %0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
|
|
;Music_Club3
|
|
db %0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
|
|
;Music_Ronald
|
|
db %0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
|
|
;Music_Imakuni
|
|
db %0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
|
|
;Music_HallOfHonor
|
|
db %0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
|
|
;Music_Credits
|
|
db %0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
|
|
Music_Unused13: ; f4fe6 (3d:4fe6)
|
|
db %0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
|
|
Music_Unused14: ; f4fef (3d:4fef)
|
|
db %0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
|
|
Music_MatchStart1: ; f4ff8 (3d:4ff8)
|
|
db %0001
|
|
dw Music_MatchStart1_Ch1
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
|
|
Music_MatchStart2: ; f5001 (3d:5001)
|
|
db %0011
|
|
dw Music_MatchStart2_Ch1
|
|
dw Music_MatchStart2_Ch2
|
|
dw $0000
|
|
dw $0000
|
|
|
|
Music_MatchStart3: ; f500a (3d:500a)
|
|
db %0011
|
|
dw Music_MatchStart3_Ch1
|
|
dw Music_MatchStart3_Ch2
|
|
dw $0000
|
|
dw $0000
|
|
|
|
Music_MatchVictory: ; f5013 (3d:5013)
|
|
db %0111
|
|
dw Music_MatchVictory_Ch1
|
|
dw Music_MatchVictory_Ch2
|
|
dw Music_MatchVictory_Ch3
|
|
dw $0000
|
|
|
|
Music_MatchLoss: ; f501c (3d:501c)
|
|
db %0111
|
|
dw Music_MatchLoss_Ch1
|
|
dw Music_MatchLoss_Ch2
|
|
dw Music_MatchLoss_Ch3
|
|
dw $0000
|
|
|
|
Music_DarkDiddly: ; f5025 (3d:5025)
|
|
db %0111
|
|
dw Music_DarkDiddly_Ch1
|
|
dw Music_DarkDiddly_Ch2
|
|
dw Music_DarkDiddly_Ch3
|
|
dw $0000
|
|
|
|
Music_Unused1b: ; f502e (3d:502e)
|
|
db %0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
|
|
Music_BoosterPack: ; f5037 (3d:5037)
|
|
db %0111
|
|
dw Music_BoosterPack_Ch1
|
|
dw Music_BoosterPack_Ch2
|
|
dw Music_BoosterPack_Ch3
|
|
dw $0000
|
|
|
|
Music_Medal: ; f5040 (3d:5040)
|
|
db %0111
|
|
dw Music_Medal_Ch1
|
|
dw Music_Medal_Ch2
|
|
dw Music_Medal_Ch3
|
|
dw $0000
|
|
|
|
Music_Unused1e: ; f5049 (3d:5049)
|
|
db %0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
|
|
INCLUDE "audio/music/titlescreen.asm"
|
|
INCLUDE "audio/music/battletheme1.asm"
|
|
INCLUDE "audio/music/battletheme2.asm"
|
|
INCLUDE "audio/music/battletheme3.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 |