Files
pokepinball/audio/engine_0f.asm
T
2016-12-06 21:56:48 -05:00

2734 lines
38 KiB
NASM
Executable File

Func_3c000: ; 0x3c000
push hl
push de
push bc
push af
call Func_3cb1b
ld hl, wdd01
ld de, $01af
.clearLoop
xor a
ld [hli], a
dec de
ld a, e
or d
jr nz, .clearLoop
ld hl, rNR50
xor a
ld [hli], a
ld [hli], a
ld a, $80
ld [hli], a
ld hl, rNR10
ld e, $4
.asm_3c022
xor a
ld [hli], a
ld [hli], a
ld a, $8
ld [hli], a
xor a
ld [hli], a
ld a, $80
ld [hli], a
dec e
jr nz, .asm_3c022
ld a, $8
ld [wde9a], a
ld a, $77
ld [wde98], a
call Func_3cb15
pop af
pop bc
pop de
pop hl
ret
Func_3c042: ; 0x3c042
ld a, [de]
inc de
and $7
ld [wdeae], a
ld c, a
ld b, $0
ld hl, WRAMPointerTable_3cc92
add hl, bc
add hl, bc
ld c, [hl]
inc hl
ld b, [hl]
ld hl, $0002
add hl, bc
res 0, [hl]
push de
xor a
ld hl, $0000
add hl, bc
ld e, $32
.loop
ld [hli], a
dec e
jr nz, .loop
ld hl, $0017
add hl, bc
xor a
ld [hli], a
inc a
ld [hl], a
ld hl, $0028
add hl, bc
ld [hl], a
pop de
ld hl, $0005
add hl, bc
ld a, [de]
ld [hli], a
inc de
ld a, [de]
ld [hl], a
inc de
ld hl, $0000
add hl, bc
ld a, [wde9b]
ld [hli], a
ld a, [wde9c]
ld [hl], a
ret
dr $3c08b, $3c090
PlaySong_BankF: ; 0x3c090
push de
call Func_3c000
pop de
call Func_3cb1b
ld hl, wde9b
ld [hl], e
inc hl
ld [hl], d
ld hl, SongHeaderPointers0F
add hl, de
add hl, de
ld e, [hl]
inc hl
ld d, [hl]
ld a, [de]
rlca
rlca
and $3
inc a
.asm_3c0ac
push af
call Func_3c042
call Func_3cadf
pop af
dec a
jr nz, .asm_3c0ac
call Func_3cb15
ret
dr $3c0bb, $3c0c0
PlaySoundEffect_BankF: ; 0x3c0c0
call Func_3cb1b
ld hl, wde9b
ld [hl], e
inc hl
ld [hl], d
ld hl, PointerTable_3e3ce
add hl, de
add hl, de
ld e, [hl]
inc hl
ld d, [hl]
ld a, [de]
rlca
rlca
and $3
inc a
.asm_3c0d7
push af
call Func_3c042
ld hl, $0002
add hl, bc
set 3, [hl]
call Func_3cadf
pop af
dec a
jr nz, .asm_3c0d7
call Func_3cb15
ret
dr $3c0ec, $3c0f0
PlayCry_BankF: ; 0x3c0f0
; Plays a Pokemon cry.
; Input: e = mon id
call Func_3cb1b
ld a, e
and a
ret z
dec e
ld d, $0
ld hl, CryData
add hl, de
add hl, de
add hl, de
add hl, de
add hl, de
add hl, de
ld e, [hl]
inc hl
ld d, [hl] ; de = base cry id
inc hl
ld a, [hli]
ld [wdea8], a
ld a, [hli]
ld [wdea9], a ; dea8 = cry pitch
ld a, [hli]
ld [wdeaa], a
ld a, [hl]
ld [wdeab], a ; deaa = cry length
ld hl, wde9b
ld [hl], e
inc hl
ld [hl], d
ld hl, CryBasePointers
add hl, de
add hl, de
ld e, [hl]
inc hl
ld d, [hl]
ld a, [de]
rlca
rlca
and $3
inc a
.asm_3c12a
push af
call Func_3c042
ld hl, $0002
add hl, bc
set 5, [hl]
ld hl, $0003
add hl, bc
set 4, [hl]
ld hl, $0026
add hl, bc
ld a, [wdea8]
ld [hli], a
ld a, [wdea9]
ld [hl], a
ld a, [wde97]
and $3
cp $3
jr nc, .asm_3c15b
ld hl, $0017
add hl, bc
ld a, [wdeaa]
ld [hli], a
ld a, [wdeab]
ld [hl], a
.asm_3c15b
call Func_3cadf
pop af
dec a
jr nz, .asm_3c12a
ld a, [wdeac]
and a
jr nz, .asm_3c173
ld a, [wde98]
ld [wdeac], a
ld a, $77
ld [wde98], a
.asm_3c173
ld a, $1
ld [wdead], a
call Func_3cb15
ret
dr $3c17c, $3c180
Func_3c180: ; 0x3c180
ld a, [wdd00]
and a
ret z
xor a
ld [wde97], a
ld [wde99], a
ld bc, wdd01
.asm_3c18f
ld hl, $0002
add hl, bc
bit 0, [hl]
jp z, .asm_3c22d
ld hl, $0014
add hl, bc
ld a, [hl]
cp $2
jr c, .asm_3c1a4
dec [hl]
jr .asm_3c1c1
.asm_3c1a4
ld hl, $001c
add hl, bc
ld a, [hl]
ld hl, $001b
add hl, bc
ld [hl], a
ld hl, $0025
add hl, bc
ld a, [hl]
ld hl, $0024
add hl, bc
ld [hl], a
ld hl, $0003
add hl, bc
res 1, [hl]
call Func_3c670
.asm_3c1c1
ld hl, $000d
add hl, bc
ld a, [hli]
ld [wde91], a
ld a, [hli]
ld [wde92], a
ld a, [hli]
ld [wde93], a
ld a, [hl]
ld [wde94], a
call Func_3c4f0
call Func_3c632
ld a, [wdead]
and a
jr z, .asm_3c20a
ld a, [wde97]
cp $4
jr nc, .asm_3c219
ld hl, wddcb
bit 0, [hl]
jr nz, .asm_3c204
ld hl, wddfd
bit 0, [hl]
jr nz, .asm_3c204
ld hl, wde2f
bit 0, [hl]
jr nz, .asm_3c204
ld hl, wde61
bit 0, [hl]
jr z, .asm_3c20a
.asm_3c204
ld hl, $000b
add hl, bc
set 5, [hl]
.asm_3c20a
ld a, [wde97]
cp $4
jr nc, .asm_3c219
ld hl, $00ca
add hl, bc
bit 0, [hl]
jr nz, .asm_3c227
.asm_3c219
call Func_3c24d
ld hl, $0019
add hl, bc
ld a, [wde99]
or [hl]
ld [wde99], a
.asm_3c227
ld hl, $000b
add hl, bc
xor a
ld [hl], a
.asm_3c22d
ld hl, $0032
add hl, bc
ld c, l
ld b, h
ld a, [wde97]
inc a
ld [wde97], a
cp $8
jp nz, .asm_3c18f
call Func_3c40d
ld a, [wde98]
ld [rNR50], a
ld a, [wde99]
ld [rNR51], a
ret
Func_3c24d: ; 0x3c24d
ld hl, PointerTable_3c25e
ld a, [wde97]
and $7
add a
ld e, a
ld d, $0
add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
jp [hl]
PointerTable_3c25e: ; 0x3c25e
dw Func_3c26e
dw Func_3c2e0
dw Func_3c349
dw Func_3c3cf
dw Func_3c26e
dw Func_3c2e0
dw Func_3c349
dw Func_3c3cf
Func_3c26e: ; 0x3c26e
ld hl, $000b
add hl, bc
bit 3, [hl]
jr z, .asm_3c27b
ld a, [wde9a]
ld [rNR10], a
.asm_3c27b
bit 5, [hl]
jr nz, .asm_3c2ba
bit 4, [hl]
jr nz, .asm_3c2c6
bit 6, [hl]
jr nz, .asm_3c2b4
bit 1, [hl]
jr z, .asm_3c295
ld a, [wde93]
ld [rNR13], a
ld a, [wde94]
ld [rNR14], a
.asm_3c295
bit 2, [hl]
jr z, .asm_3c2a5
ld a, [wde92]
ld [rNR12], a
ld a, [wde94]
or $80
ld [rNR14], a
.asm_3c2a5
bit 0, [hl]
ret z
ld a, [wde91]
ld d, a
ld a, [rNR11]
and $3f
or d
ld [rNR11], a
ret
.asm_3c2b4
ld a, [wde93]
ld [rNR13], a
ret
.asm_3c2ba
ld a, $8
ld [rNR12], a
ld a, [wde94]
or $80
ld [rNR14], a
ret
.asm_3c2c6
ld hl, wde91
ld a, $3f
or [hl]
ld [rNR11], a
ld a, [wde92]
ld [rNR12], a
ld a, [wde93]
ld [rNR13], a
ld a, [wde94]
or $80
ld [rNR14], a
ret
Func_3c2e0: ; 0x3c2e0
ld hl, $000b
add hl, bc
bit 5, [hl]
jr nz, .asm_3c323
bit 4, [hl]
jr nz, .asm_3c32f
bit 6, [hl]
jr nz, .asm_3c31d
bit 1, [hl]
jr z, .asm_3c2fe
ld a, [wde93]
ld [rNR23], a
ld a, [wde94]
ld [rNR24], a
.asm_3c2fe
bit 2, [hl]
jr z, .asm_3c30e
ld a, [wde92]
ld [rNR22], a
ld a, [wde94]
or $80
ld [rNR24], a
.asm_3c30e
bit 0, [hl]
ret z
ld a, [wde91]
ld d, a
ld a, [rNR21]
and $3f
or d
ld [rNR21], a
ret
.asm_3c31d
ld a, [wde93]
ld [rNR23], a
ret
.asm_3c323
ld a, $8
ld [rNR22], a
ld a, [wde94]
or $80
ld [rNR24], a
ret
.asm_3c32f
ld hl, wde91
ld a, $3f
or [hl]
ld [rNR21], a
ld a, [wde92]
ld [rNR22], a
ld a, [wde93]
ld [rNR23], a
ld a, [wde94]
or $80
ld [rNR24], a
ret
Func_3c349: ; 0x3c349
ld hl, $000b
add hl, bc
bit 5, [hl]
jr nz, .asm_3c387
bit 4, [hl]
jr nz, .asm_3c38b
bit 6, [hl]
jr nz, .asm_3c381
bit 1, [hl]
jr z, .asm_3c367
ld a, [wde93]
ld [rNR33], a
ld a, [wde94]
ld [rNR34], a
.asm_3c367
bit 2, [hl]
ret z
xor a
ld [rNR30], a
call LoadWavePattern
ld a, $80
ld [rNR30], a
ld a, [wde93]
ld [rNR33], a
ld a, [wde94]
or $80
ld [rNR34], a
ret
.asm_3c381
ld a, [wde93]
ld [rNR33], a
ret
.asm_3c387
xor a
ld [rNR30], a
ret
.asm_3c38b
ld a, $3f
ld [rNR31], a
xor a
ld [rNR30], a
call LoadWavePattern
ld a, $80
ld [rNR30], a
ld a, [wde93]
ld [rNR33], a
ld a, [wde94]
or $80
ld [rNR34], a
ret
LoadWavePattern: ; 0x3c3a6
push hl
ld a, [wde92]
and $f
ld l, a
ld h, $0
add hl, hl
add hl, hl
add hl, hl
add hl, hl
ld de, WavePatterns_BankF
add hl, de
ld de, rWave_0
push bc
ld b, $10
.loop
ld a, [hli]
ld [de], a
inc de
dec b
jr nz, .loop
pop bc
pop hl
ld a, [wde92]
and $f0
sla a
ld [rNR32], a ; set volume of wave channel
ret
Func_3c3cf: ; 0x3c3cf
ld hl, $000b
add hl, bc
bit 5, [hl]
jr nz, .asm_3c3f1
bit 4, [hl]
jr nz, .asm_3c3fa
bit 1, [hl]
jr z, .asm_3c3e4
ld a, [wde93]
ld [rNR43], a
.asm_3c3e4
bit 2, [hl]
ret z
ld a, [wde92]
ld [rNR42], a
ld a, $80
ld [rNR44], a
ret
.asm_3c3f1
ld a, $8
ld [rNR42], a
ld a, $80
ld [rNR44], a
ret
.asm_3c3fa
ld a, $3f
ld [rNR41], a
ld a, [wde92]
ld [rNR42], a
ld a, [wde93]
ld [rNR43], a
ld a, $80
ld [rNR44], a
ret
Func_3c40d: ; 0x3c40d
ld a, [wdea2]
and a
ret z
ld a, [wdea3]
and a
jr z, .asm_3c41d
dec a
ld [wdea3], a
ret
.asm_3c41d
ld a, [wdea2]
ld d, a
and $7f
ld [wdea3], a
ld a, [wde98]
and $7
bit 7, d
jr nz, .asm_3c448
and a
jr z, .asm_3c435
dec a
jr .asm_3c454
.asm_3c435
ld a, [wdea4]
ld e, a
ld a, [wdea5]
ld d, a
push bc
call PlaySong_BankF
pop bc
ld hl, wdea2
set 7, [hl]
ret
.asm_3c448
cp $7
jr nc, .asm_3c44f
inc a
jr .asm_3c454
.asm_3c44f
xor a
ld [wdea2], a
ret
.asm_3c454
ld d, a
swap a
or d
ld [wde98], a
ret
Func_3c45c: ; 0x3c45c
ld hl, $0003
add hl, bc
bit 1, [hl]
ret z
ld hl, $0014
add hl, bc
ld a, [hl]
ld hl, wde95
sub [hl]
jr nc, .asm_3c470
ld a, $1
.asm_3c470
ld [hl], a
ld hl, $000f
add hl, bc
ld e, [hl]
inc hl
ld d, [hl]
ld hl, $001f
add hl, bc
ld a, e
sub [hl]
ld e, a
ld a, d
sbc $0
ld d, a
ld hl, $0020
add hl, bc
sub [hl]
jr nc, .asm_3c4ab
ld hl, $0004
add hl, bc
set 1, [hl]
ld hl, $000f
add hl, bc
ld e, [hl]
inc hl
ld d, [hl]
ld hl, $001f
add hl, bc
ld a, [hl]
sub e
ld e, a
ld a, d
sbc $0
ld d, a
ld hl, $0020
add hl, bc
ld a, [hl]
sub d
ld d, a
jr .asm_3c4c9
.asm_3c4ab
ld hl, $0004
add hl, bc
res 1, [hl]
ld hl, $000f
add hl, bc
ld e, [hl]
inc hl
ld d, [hl]
ld hl, $001f
add hl, bc
ld a, e
sub [hl]
ld e, a
ld a, d
sbc $0
ld d, a
ld hl, $0020
add hl, bc
sub [hl]
ld d, a
.asm_3c4c9
push bc
ld hl, wde95
ld b, $0
.asm_3c4cf
inc b
ld a, e
sub [hl]
ld e, a
jr nc, .asm_3c4cf
ld a, d
and a
jr z, .asm_3c4dc
dec d
jr .asm_3c4cf
.asm_3c4dc
ld a, e
add [hl]
ld d, b
pop bc
ld hl, $0021
add hl, bc
ld [hl], d
ld hl, $0022
add hl, bc
ld [hl], a
ld hl, $0023
add hl, bc
xor a
ld [hl], a
; fall through
Func_3c4f0: ; 0x3c4f0
ld hl, $0003
add hl, bc
bit 2, [hl]
jr z, .asm_3c50b
ld hl, $001a
add hl, bc
ld a, [hl]
rlca
rlca
ld [hl], a
and $c0
ld [wde91], a
ld hl, $000b
add hl, bc
set 0, [hl]
.asm_3c50b
ld hl, $0003
add hl, bc
bit 4, [hl]
jr z, .asm_3c529
ld hl, $0026
add hl, bc
ld e, [hl]
inc hl
ld d, [hl]
ld hl, wde93
ld a, [hli]
ld h, [hl]
ld l, a
add hl, de
ld e, l
ld d, h
ld hl, wde93
ld [hl], e
inc hl
ld [hl], d
.asm_3c529
ld hl, $0003
add hl, bc
bit 1, [hl]
jp z, .asm_3c5c1
ld hl, $000f
add hl, bc
ld e, [hl]
inc hl
ld d, [hl]
ld hl, $0004
add hl, bc
bit 1, [hl]
jr z, .asm_3c574
ld hl, $0021
add hl, bc
ld l, [hl]
ld h, $0
add hl, de
ld d, h
ld e, l
ld hl, $0022
add hl, bc
ld a, [hl]
ld hl, $0023
add hl, bc
add [hl]
ld [hl], a
ld a, $0
adc e
ld e, a
ld a, $0
adc d
ld d, a
ld hl, $0020
add hl, bc
ld a, [hl]
cp d
jp c, .asm_3c5a1
jr nz, .asm_3c5b4
ld hl, $001f
add hl, bc
ld a, [hl]
cp e
jp c, .asm_3c5a1
jr .asm_3c5b4
.asm_3c574
ld a, e
ld hl, $0021
add hl, bc
ld e, [hl]
sub e
ld e, a
ld a, d
sbc $0
ld d, a
ld hl, $0022
add hl, bc
ld a, [hl]
add a
ld [hl], a
ld a, e
sbc $0
ld e, a
ld a, d
sbc $0
ld d, a
ld hl, $0020
add hl, bc
ld a, d
cp [hl]
jr c, .asm_3c5a1
jr nz, .asm_3c5b4
ld hl, $001f
add hl, bc
ld a, e
cp [hl]
jr nc, .asm_3c5b4
.asm_3c5a1
ld hl, $0003
add hl, bc
res 1, [hl]
ld hl, $0004
add hl, bc
res 1, [hl]
ld hl, $0020
add hl, bc
ld e, [hl]
inc hl
ld d, [hl]
.asm_3c5b4
ld hl, $000f
add hl, bc
ld [hl], e
inc hl
ld [hl], d
ld hl, $000b
add hl, bc
set 1, [hl]
.asm_3c5c1
ld hl, $0003
add hl, bc
bit 0, [hl]
jr z, .asm_3c61a
ld hl, $001b
add hl, bc
ld a, [hl]
and a
jr nz, .asm_3c5e3
ld hl, $001d
add hl, bc
ld a, [hl]
and a
jr z, .asm_3c61a
ld d, a
ld hl, $001e
add hl, bc
ld a, [hl]
and $f
jr z, .asm_3c5e6
.asm_3c5e3
dec [hl]
jr .asm_3c61a
.asm_3c5e6
ld a, [hl]
swap [hl]
or [hl]
ld [hl], a
ld a, [wde93]
ld e, a
ld hl, $0004
add hl, bc
bit 0, [hl]
jr z, .asm_3c605
res 0, [hl]
ld a, d
and $f
ld d, a
ld a, e
sub d
jr nc, .asm_3c611
ld a, $0
jr .asm_3c611
.asm_3c605
set 0, [hl]
ld a, d
and $f0
swap a
add e
jr nc, .asm_3c611
ld a, $ff
.asm_3c611
ld [wde93], a
ld hl, $000b
add hl, bc
set 6, [hl]
.asm_3c61a
ld hl, $0003
add hl, bc
bit 3, [hl]
ret z
ld hl, $0024
add hl, bc
ld a, [hl]
and a
jr z, .asm_3c62b
dec [hl]
ret
.asm_3c62b
ld hl, $000b
add hl, bc
set 5, [hl]
ret
Func_3c632: ; 0x3c632
ld hl, $0002
add hl, bc
bit 4, [hl]
ret z
ld a, [wde9f]
and a
jr z, .asm_3c644
dec a
ld [wde9f], a
ret
.asm_3c644
ld hl, wde9d
ld e, [hl]
inc hl
ld d, [hl]
ld a, [de]
inc de
cp $ff
ret z
and $f
inc a
ld [wde9f], a
ld a, [de]
inc de
ld [wde92], a
ld a, [de]
inc de
ld [wde93], a
xor a
ld [wde94], a
ld hl, wde9d
ld [hl], e
inc hl
ld [hl], d
ld hl, $000b
add hl, bc
set 4, [hl]
ret
Func_3c670: ; 0x3c670
call Func_3ca10
cp $ff
jr z, .asm_3c6c9
cp $d0
jr c, .asm_3c680
.asm_3c67b
call Func_3c786
jr Func_3c670
.asm_3c680
ld hl, $0002
add hl, bc
bit 3, [hl]
jp nz, Func_3c723
bit 5, [hl]
jp nz, Func_3c723
bit 4, [hl]
jp nz, Func_3c750
ld a, [wde96]
and $f
call Func_3ca5b
ld a, [wde96]
swap a
and $f
jr z, .asm_3c6c2
ld hl, $0011
add hl, bc
ld [hl], a
ld e, a
ld hl, $0012
add hl, bc
ld d, [hl]
call Func_3ca2b
ld hl, $000f
add hl, bc
ld [hl], e
inc hl
ld [hl], d
ld hl, $000b
add hl, bc
set 4, [hl]
jp Func_3c45c
.asm_3c6c2
ld hl, $000b
add hl, bc
set 5, [hl]
ret
.asm_3c6c9
ld hl, $0002
add hl, bc
bit 1, [hl]
jr nz, .asm_3c67b
ld a, [wde97]
cp $4
jr nc, .asm_3c6e0
ld hl, $00ca
add hl, bc
bit 0, [hl]
jr nz, .asm_3c6f6
.asm_3c6e0
ld hl, $0002
add hl, bc
bit 5, [hl]
call nz, Func_3c704
ld a, [wde97]
cp $4
jr nz, .asm_3c6f6
xor a
ld [rNR10], a
ld [wde9a], a
.asm_3c6f6
ld hl, $0002
add hl, bc
res 0, [hl]
ld hl, $0000
add hl, bc
xor a
ld [hli], a
ld [hli], a
ret
Func_3c704: ; 0x3c704
ld a, [wde97]
cp $4
ret nz
xor a
ld hl, wde21
ld [hli], a
ld [hl], a
ld hl, wde85
ld [hli], a
ld [hl], a
ld a, [wdeac]
ld [wde98], a
xor a
ld [wdeac], a
ld [wdead], a
ret
Func_3c723: ; 0x3c723
ld hl, $000b
add hl, bc
set 4, [hl]
ld a, [wde96]
call Func_3ca5b
call Func_3ca10
ld hl, $000e
add hl, bc
ld [hl], a
call Func_3ca10
ld hl, $000f
add hl, bc
ld [hl], a
ld a, [wde97]
and $3
cp $3
ret z
call Func_3ca10
ld hl, $0010
add hl, bc
ld [hl], a
ret
Func_3c750: ; 0x3c750
ld a, [wde97]
cp $3
ret nz
ld a, [wde96]
and $f
call Func_3ca5b
ld a, [wdea1]
ld e, a
ld d, $0
ld hl, $4ba2
add hl, de
add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
ld a, [wde96]
swap a
and $f
ret z
ld e, a
ld d, $0
add hl, de
add hl, de
ld a, [hli]
ld [wde9d], a
ld a, [hl]
ld [wde9e], a
xor a
ld [wde9f], a
ret
Func_3c786: ; 0x3c786
ld a, [wde96]
sub $d0
ld e, a
ld d, $0
ld hl, PointerTable_3c797
add hl, de
add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
jp [hl]
PointerTable_3c797: ; 0x3c797
dw Func_3c9b6
dw Func_3c9b6
dw Func_3c9b6
dw Func_3c9b6
dw Func_3c9b6
dw Func_3c9b6
dw Func_3c9b6
dw Func_3c9b6
dw Func_3c973
dw Func_3c9c1
dw Func_3c9aa
dw Func_3c994
dw Func_3c9a1
dw Func_3c987
dw Func_3c939
dw Func_3c951
dw Func_3c8ff
dw Func_3c8c4
dw Func_3c8b5
dw Func_3c95f
dw Func_3c9ca
dw Func_3c9da
dw Func_3c926
dw Func_3c7f7
dw Func_3c7f7
dw Func_3c9e9
dw Func_3c7f7
dw Func_3c7f7
dw Func_3ca05
dw Func_3ca0b
dw Func_3c7f7
dw Func_3c7f7
dw Func_3c7f7
dw Func_3c7f7
dw Func_3c7f7
dw Func_3c7f7
dw Func_3c7f7
dw Func_3c7f7
dw Func_3c7f7
dw Func_3c7f7
dw Func_3c7f7
dw Func_3c7f7
dw Func_3c885
dw Func_3c88e
dw Func_3c833
dw Func_3c843
dw Func_3c80d
dw Func_3c7f8
Func_3c7f7: ; 0x3c7f7
ret
Func_3c7f8: ; 0x3c7f8
ld hl, $0002
add hl, bc
res 1, [hl]
ld hl, $0007
add hl, bc
ld e, [hl]
inc hl
ld d, [hl]
ld hl, $0005
add hl, bc
ld [hl], e
inc hl
ld [hl], d
ret
Func_3c80d: ; 0x3c80d
call Func_3ca10
ld e, a
call Func_3ca10
ld d, a
push de
ld hl, $0005
add hl, bc
ld e, [hl]
inc hl
ld d, [hl]
ld hl, $0007
add hl, bc
ld [hl], e
inc hl
ld [hl], d
pop de
ld hl, $0005
add hl, bc
ld [hl], e
inc hl
ld [hl], d
ld hl, $0002
add hl, bc
set 1, [hl]
ret
Func_3c833: ; 0x3c833
call Func_3ca10
ld e, a
call Func_3ca10
ld d, a
ld hl, $0005
add hl, bc
ld [hl], e
inc hl
ld [hl], d
ret
Func_3c843: ; 0x3c843
call Func_3ca10
ld hl, $0002
add hl, bc
bit 2, [hl]
jr nz, .asm_3c859
and a
jr z, .asm_3c862
dec a
set 2, [hl]
ld hl, $0016
add hl, bc
ld [hl], a
.asm_3c859
ld hl, $0016
add hl, bc
ld a, [hl]
and a
jr z, .asm_3c872
dec [hl]
.asm_3c862
call Func_3ca10
ld e, a
call Func_3ca10
ld d, a
ld hl, $0005
add hl, bc
ld [hl], e
inc hl
ld [hl], d
ret
.asm_3c872
ld hl, $0002
add hl, bc
res 2, [hl]
ld hl, $0005
add hl, bc
ld e, [hl]
inc hl
ld d, [hl]
inc de
inc de
ld [hl], d
dec hl
ld [hl], e
ret
Func_3c885: ; 0x3c885
call Func_3ca10
ld hl, $000c
add hl, bc
ld [hl], a
ret
Func_3c88e: ; 0x3c88e
call Func_3ca10
ld hl, $000c
add hl, bc
cp [hl]
jr z, .asm_3c8a5
ld hl, $0005
add hl, bc
ld e, [hl]
inc hl
ld d, [hl]
inc de
inc de
ld [hl], d
dec hl
ld [hl], e
ret
.asm_3c8a5
call Func_3ca10
ld e, a
call Func_3ca10
ld d, a
ld hl, $0005
add hl, bc
ld [hl], e
inc hl
ld [hl], d
ret
Func_3c8b5: ; 0x3c8b5
call Func_3ca10
ld hl, $0025
add hl, bc
ld [hl], a
ld hl, $0003
add hl, bc
set 3, [hl]
ret
Func_3c8c4: ; 0x3c8c4
ld hl, $0003
add hl, bc
set 0, [hl]
ld hl, $0004
add hl, bc
res 0, [hl]
call Func_3ca10
ld hl, $001c
add hl, bc
ld [hl], a
ld hl, $001b
add hl, bc
ld [hl], a
call Func_3ca10
ld hl, $001d
add hl, bc
ld d, a
and $f0
swap a
srl a
ld e, a
adc $0
swap a
or e
ld [hl], a
ld hl, $001e
add hl, bc
ld a, d
and $f
ld d, a
swap a
or d
ld [hl], a
ret
Func_3c8ff: ; 0x3c8ff
call Func_3ca10
ld [wde95], a
call Func_3ca10
ld d, a
and $f
ld e, a
ld a, d
swap a
and $f
ld d, a
call Func_3ca2b
ld hl, $001f
add hl, bc
ld [hl], e
ld hl, $0020
add hl, bc
ld [hl], d
ld hl, $0003
add hl, bc
set 1, [hl]
ret
Func_3c926: ; 0x3c926
ld hl, $0003
add hl, bc
set 4, [hl]
ld hl, $0027
add hl, bc
call Func_3ca10
ld [hld], a
call Func_3ca10
ld [hl], a
ret
Func_3c939: ; 0x3c939
ld hl, $0003
add hl, bc
set 2, [hl]
call Func_3ca10
rrca
rrca
ld hl, $001a
add hl, bc
ld [hl], a
and $c0
ld hl, $000d
add hl, bc
ld [hl], a
ret
Func_3c951: ; 0x3c951
ld hl, $0002
add hl, bc
bit 3, [hl]
jr z, .asm_3c95c
res 3, [hl]
ret
.asm_3c95c
set 3, [hl]
ret
Func_3c95f: ; 0x3c95f
ld hl, $0002
add hl, bc
bit 4, [hl]
jr z, .asm_3c96a
res 4, [hl]
ret
.asm_3c96a
set 4, [hl]
call Func_3ca10
ld [wdea1], a
ret
Func_3c973: ; 0x3c973
call Func_3ca10
ld hl, $0028
add hl, bc
ld [hl], a
ld a, [wde97]
and $3
cp $3
ret z
call Func_3c9a1
ret
Func_3c987: ; 0x3c987
call Func_3ca10
ld [wde9a], a
ld hl, $000b
add hl, bc
set 3, [hl]
ret
Func_3c994: ; 0x3c994
call Func_3ca10
rrca
rrca
and $c0
ld hl, $000d
add hl, bc
ld [hl], a
ret
Func_3c9a1: ; 0x3c9a1
call Func_3ca10
ld hl, $000e
add hl, bc
ld [hl], a
ret
Func_3c9aa: ; 0x3c9aa
call Func_3ca10
ld d, a
call Func_3ca10
ld e, a
call Func_3ca95
ret
Func_3c9b6: ; 0x3c9b6
ld hl, $0012
add hl, bc
ld a, [wde96]
and $7
ld [hl], a
ret
Func_3c9c1: ; 0x3c9c1
call Func_3ca10
ld hl, $0013
add hl, bc
ld [hl], a
ret
Func_3c9ca: ; 0x3c9ca
ld a, [wde97]
call Func_3caf4
call Func_3ca10
ld hl, $0019
add hl, bc
and [hl]
ld [hl], a
ret
Func_3c9da: ; 0x3c9da
call Func_3ca10
ld a, [wdea2]
and a
ret nz
ld a, [wde96]
ld [wde98], a
ret
Func_3c9e9: ; 0x3c9e9
call Func_3ca10
ld e, a
cp $80
jr nc, .asm_3c9f5
ld d, $0
jr .asm_3c9f7
.asm_3c9f5
ld d, $ff
.asm_3c9f7
ld hl, $0017
add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
add hl, de
ld e, l
ld d, h
call Func_3ca95
ret
Func_3ca05: ; 0x3ca05
ld a, $1
ld [wdead], a
ret
Func_3ca0b: ; 0x3ca0b
xor a
ld [wdead], a
ret
Func_3ca10: ; 0x3ca10
push hl
push de
ld hl, $0005
add hl, bc
ld e, [hl]
inc hl
ld d, [hl]
ld a, [de]
ld [wde96], a
inc de
ld hl, $0005
add hl, bc
ld [hl], e
inc hl
ld [hl], d
pop de
pop hl
ld a, [wde96]
ret
Func_3ca2b: ; 0x3ca2b
ld hl, $0013
add hl, bc
ld a, [hl]
swap a
and $f
add d
push af
ld hl, $0013
add hl, bc
ld a, [hl]
and $f
ld l, a
ld d, $0
ld h, d
add hl, de
add hl, hl
ld de, $4b20 ; todo
add hl, de
ld e, [hl]
inc hl
ld d, [hl]
pop af
.asm_3ca4b
cp $7
jr nc, .asm_3ca56
sra d
rr e
inc a
jr .asm_3ca4b
.asm_3ca56
ld a, d
and $7
ld d, a
ret
Func_3ca5b: ; 0x3ca5b
inc a
ld e, a
ld d, $0
ld hl, $0028
add hl, bc
ld a, [hl]
ld l, $0
call Func_3ca86
ld a, l
ld hl, $0017
add hl, bc
ld e, [hl]
inc hl
ld d, [hl]
ld hl, $0015
add hl, bc
ld l, [hl]
call Func_3ca86
ld e, l
ld d, h
ld hl, $0015
add hl, bc
ld [hl], e
ld hl, $0014
add hl, bc
ld [hl], d
ret
Func_3ca86: ; 0x3ca86
ld h, $0
.asm_3ca88
srl a
jr nc, .asm_3ca8d
add hl, de
.asm_3ca8d
sla e
rl d
and a
jr nz, .asm_3ca88
ret
Func_3ca95: ; 0x3ca95
push bc
ld a, [wde97]
cp $4
jr nc, .asm_3cab7
ld bc, wdd01
call Func_3cad1
ld bc, wdd33
call Func_3cad1
ld bc, wdd65
call Func_3cad1
ld bc, wdd97
call Func_3cad1
jr .asm_3cacf
.asm_3cab7
ld bc, wddc9
call Func_3cad1
ld bc, wddfb
call Func_3cad1
ld bc, wde2d
call Func_3cad1
ld bc, wde5f
call Func_3cad1
.asm_3cacf
pop bc
ret
Func_3cad1: ; 0x3cad1
ld hl, $0017
add hl, bc
ld [hl], e
inc hl
ld [hl], d
xor a
ld hl, $0015
add hl, bc
ld [hl], a
ret
Func_3cadf: ; 0x3cadf
call Func_3cb06
ld a, [wdeae]
jr .asm_3caea
ld a, [wde97]
.asm_3caea
call Func_3caf4
ld hl, $0002
add hl, bc
set 0, [hl]
ret
Func_3caf4: ; 0x3caf4
push de
and $3
ld e, a
ld d, $0
ld hl, Data_3cc8e
add hl, de
ld a, [hl]
ld hl, $0019
add hl, bc
ld [hl], a
pop de
ret
Func_3cb06: ; 0x3cb06
ld a, [wdeae]
and $3
cp $0
ret nz
xor a
ld [rNR10], a
ld [wde9a], a
ret
Func_3cb15: ; 0x3cb15
ld a, $1
ld [wdd00], a
ret
Func_3cb1b: ; 0x3cb1b
xor a
ld [wdd00], a
ret
dr $3cb20, $3cb52
WavePatterns_BankF:
WavePattern0_BankF: ; 0x3cb52
db $02, $46, $8A, $CE, $FF, $FE, $ED, $DC, $CB, $A9, $87, $65, $44, $33, $22, $11
WavePattern1_BankF: ; 0x3cb62
db $02, $46, $8A, $CE, $EF, $FF, $FE, $EE, $DD, $CB, $A9, $87, $65, $43, $22, $11
WavePattern2_BankF: ; 0x3cb72
db $01, $23, $43, $21, $FE, $CA, $8A, $CE, $01, $23, $43, $21, $FE, $CA, $8A, $CE
WavePattern3_BankF: ; 0x3cb82
db $00, $11, $22, $33, $44, $33, $22, $11, $FF, $EE, $CC, $AA, $88, $AA, $CC, $EE
WavePattern4_BankF: ; 0x3cb92
db $00, $11, $22, $33, $44, $33, $22, $11, $FF, $EE, $CC, $AA, $88, $AA, $CC, $EE
dr $3cba2, $3cc8e
Data_3cc8e: ; 0x3cc8e
db $11, $22, $44, $88
WRAMPointerTable_3cc92: ; 0x3cc92
dw $DD01
dw $DD33
dw $DD65
dw $DD97
dr $3cc9a, $3cca2
SongHeaderPointers0F: ; 0x3cca2
dw Music_Nothing0F
dw Music_BlueField
dw Music_CatchEmRed
dw Music_HurryUpRed
dw Music_Pokedex
dw Music_GastlyInTheGraveyard
dw Music_HaunterInTheGraveyard
dw Music_GengarInTheGraveyard
; 0x3ccb2
INCLUDE "audio/music/nothing0f.asm"
INCLUDE "audio/music/bluefield.asm"
INCLUDE "audio/music/catchemred.asm"
INCLUDE "audio/music/pokedex.asm"
INCLUDE "audio/music/hurryupred.asm"
INCLUDE "audio/music/gastlyinthegraveyard.asm"
INCLUDE "audio/music/haunterinthegraveyard.asm"
INCLUDE "audio/music/gengarinthegraveyard.asm"
PointerTable_3e3ce: ; 0x3e3ce
dw $646A
dw $6480
dw $649A
dw $64BA
dw $64D0
dw $64E0
dw $64F0
dw $6500
dw $651A
dw $652E
dw $6544
dw $6554
dw $657C
dw $6589
dw $659F
dw $65B5
dw $65C5
dw $65E2
dw $65F4
dw $6606
dw $6618
dw $662A
dw $663C
dw $664E
dw $6660
dw $6672
dw $6684
dw $6696
dw $66A8
dw $66BA
dw $66CC
dw $66DE
dw $66F0
dw $6702
dw $671A
dw $675D
dw $6810
dw $68AE
dw $696D
dw $6A25
dw $6A68
dw $6A82
dw $6B17
dw $6BF9
dw $6C17
dw $6C31
dw $6C4B
dw $6C7D
dw $6C8F
dw $6CA7
dw $6CB7
dw $6CD1
dw $6CE9
dw $6CFF
dw $6D15
dw $6D31
dw $6D4D
dw $6D65
dw $6D78
dw $6D98
dw $6DB0
dw $6DC0
dw $6DD0
dw $6DE3
dw $6DF3
dw $6E1C
dw $6E32
dw $6E48
dw $6E5E
dw $6E78
dw $6E92
dw $6EAA
dw $6EC4
dw $6ED4
dw $6EEA
dw $6F00
dw $6F16
dw $6F27
dr $3e46a, $3ef63
CryBasePointers: ; 0x3ef63
dw Cry_00_Header_BankF
dw Cry_01_Header_BankF
dw Cry_02_Header_BankF
dw Cry_03_Header_BankF
dw Cry_04_Header_BankF
dw Cry_05_Header_BankF
dw Cry_06_Header_BankF
dw Cry_07_Header_BankF
dw Cry_08_Header_BankF
dw Cry_09_Header_BankF
dw Cry_0A_Header_BankF
dw Cry_0B_Header_BankF
dw Cry_0C_Header_BankF
dw Cry_0D_Header_BankF
dw Cry_0E_Header_BankF
dw Cry_0F_Header_BankF
dw Cry_10_Header_BankF
dw Cry_11_Header_BankF
dw Cry_12_Header_BankF
dw Cry_13_Header_BankF
dw Cry_14_Header_BankF
dw Cry_15_Header_BankF
dw Cry_16_Header_BankF
dw Cry_17_Header_BankF
dw Cry_18_Header_BankF
dw Cry_19_Header_BankF
dw Cry_1A_Header_BankF
dw Cry_1B_Header_BankF
dw Cry_1C_Header_BankF
dw Cry_1D_Header_BankF
dw Cry_1E_Header_BankF
dw Cry_1F_Header_BankF
dw Cry_20_Header_BankF
dw Cry_21_Header_BankF
dw Cry_22_Header_BankF
dw Cry_23_Header_BankF
dw Cry_24_Header_BankF
dw Cry_25_Header_BankF
CryData: ; 0x3efaf
; Each entry is in the following format:
; [base cry id], [pitch], [length
dw $000F, $0080, $0081 ; BULBASAUR
dw $000F, $0020, $0100 ; IVYSAUR
dw $000F, $0000, $0140 ; VENUSAUR
dw $0004, $0060, $00C0 ; CHARMANDER
dw $0004, $0020, $00C0 ; CHARMELEON
dw $0004, $0000, $0100 ; CHARIZARD
dw $001D, $0060, $00C0 ; SQUIRTLE
dw $001D, $0020, $00C0 ; WARTORTLE
dw $0013, $0000, $0100 ; BLASTOISE
dw $0016, $0080, $00A0 ; CATERPIE
dw $001C, $00CC, $0081 ; METAPOD
dw $0016, $0077, $00C0 ; BUTTERFREE
dw $0015, $00EE, $0081 ; WEEDLE
dw $0013, $00FF, $0081 ; KAKUNA
dw $0013, $0060, $0100 ; BEEDRILL
dw $000E, $00DF, $0084 ; PIDGEY
dw $0014, $0028, $0140 ; PIDGEOTTO
dw $0014, $0011, $017F ; PIDGEOT
dw $0022, $0000, $0100 ; RATTATA
dw $0022, $0020, $017F ; RATICATE
dw $0010, $0000, $0100 ; SPEAROW
dw $0018, $0040, $0120 ; FEAROW
dw $0017, $0012, $00C0 ; EKANS
dw $0017, $00E0, $0090 ; ARBOK
dw $000F, $00EE, $0081 ; PIKACHU
dw $0009, $00EE, $0088 ; RAICHU
dw $0000, $0020, $00C0 ; SANDSHREW
dw $0000, $00FF, $017F ; SANDSLASH
dw $0001, $0000, $0100 ; NIDORAN_F
dw $0001, $002C, $0160 ; NIDORINA
dw $000A, $0000, $0100 ; NIDOQUEEN
dw $0000, $0000, $0100 ; NIDORAN_M
dw $0000, $002C, $0140 ; NIDORINO
dw $0009, $0000, $0100 ; NIDOKING
dw $0019, $00CC, $0081 ; CLEFAIRY
dw $0019, $00AA, $00A0 ; CLEFABLE
dw $0024, $004F, $0090 ; VULPIX
dw $0024, $0088, $00E0 ; NINETALES
dw $000E, $00FF, $00B5 ; JIGGLYPUFF
dw $000E, $0068, $00E0 ; WIGGLYTUFF
dw $001D, $00E0, $0100 ; ZUBAT
dw $001D, $00FA, $0100 ; GOLBAT
dw $0008, $00DD, $0081 ; ODDISH
dw $0008, $00AA, $00C0 ; GLOOM
dw $0023, $0022, $017F ; VILEPLUME
dw $001E, $0020, $0160 ; PARAS
dw $001E, $0042, $017F ; PARASECT
dw $001A, $0044, $00C0 ; VENONAT
dw $001A, $0029, $0100 ; VENOMOTH
dw $000B, $00AA, $0081 ; DIGLETT
dw $000B, $002A, $0090 ; DUGTRIO
dw $0019, $0077, $0090 ; MEOWTH
dw $0019, $0099, $017F ; PERSIAN
dw $0021, $0020, $00E0 ; PSYDUCK
dw $0021, $00FF, $00C0 ; GOLDUCK
dw $000A, $00DD, $00E0 ; MANKEY
dw $000A, $00AF, $00C0 ; PRIMEAPE
dw $001F, $0020, $00C0 ; GROWLITHE
dw $0015, $0000, $0100 ; ARCANINE
dw $000E, $00FF, $017F ; POLIWAG
dw $000E, $0077, $00E0 ; POLIWHIRL
dw $000E, $0000, $017F ; POLIWRATH
dw $001C, $00C0, $0081 ; ABRA
dw $001C, $00A8, $0140 ; KADABRA
dw $001C, $0098, $017F ; ALAKAZAM
dw $001F, $00EE, $0081 ; MACHOP
dw $001F, $0048, $00E0 ; MACHOKE
dw $001F, $0008, $0140 ; MACHAMP
dw $0021, $0055, $0081 ; BELLSPROUT
dw $0025, $0044, $00A0 ; WEEPINBELL
dw $0025, $0066, $014C ; VICTREEBEL
dw $001A, $0000, $0100 ; TENTACOOL
dw $001A, $00EE, $017F ; TENTACRUEL
dw $0024, $00F0, $0090 ; GEODUDE
dw $0024, $0000, $0100 ; GRAVELER
dw $0012, $00E0, $00C0 ; GOLEM
dw $0025, $0000, $0100 ; PONYTA
dw $0025, $0020, $0140 ; RAPIDASH
dw $0002, $0000, $0100 ; SLOWPOKE
dw $001F, $0000, $0100 ; SLOWBRO
dw $001C, $0080, $00E0 ; MAGNEMITE
dw $001C, $0020, $0140 ; MAGNETON
dw $0010, $00DD, $0081 ; FARFETCH_D
dw $000B, $00BB, $0081 ; DODUO
dw $000B, $0099, $00A0 ; DODRIO
dw $000C, $0088, $0140 ; SEEL
dw $000C, $0023, $017F ; DEWGONG
dw $0005, $0000, $0100 ; GRIMER
dw $0007, $00EF, $017F ; MUK
dw $0018, $0000, $0100 ; SHELLDER
dw $0018, $006F, $0160 ; CLOYSTER
dw $001C, $0000, $0100 ; GASTLY
dw $001C, $0030, $00C0 ; HAUNTER
dw $0007, $0000, $017F ; GENGAR
dw $0017, $00FF, $0140 ; ONIX
dw $000D, $0088, $00A0 ; DROWZEE
dw $000D, $00EE, $00C0 ; HYPNO
dw $0020, $0020, $0160 ; KRABBY
dw $0020, $00EE, $0160 ; KINGLER
dw $0006, $00ED, $0100 ; VOLTORB
dw $0006, $00A8, $0110 ; ELECTRODE
dw $000B, $0000, $0100 ; EXEGGCUTE
dw $000D, $0000, $0100 ; EXEGGUTOR
dw $0019, $0000, $0100 ; CUBONE
dw $0008, $004F, $00E0 ; MAROWAK
dw $0012, $0080, $0140 ; HITMONLEE
dw $000C, $00EE, $0140 ; HITMONCHAN
dw $000C, $0000, $0100 ; LICKITUNG
dw $0012, $00E6, $015D ; KOFFING
dw $0012, $00FF, $017F ; WEEZING
dw $0004, $0000, $0100 ; RHYHORN
dw $0011, $0000, $0100 ; RHYDON
dw $0014, $000A, $0140 ; CHANSEY
dw $0012, $0000, $0100 ; TANGELA
dw $0003, $0000, $0100 ; KANGASKHAN
dw $0019, $0099, $0090 ; HORSEA
dw $0019, $003C, $0081 ; SEADRA
dw $0016, $0080, $00C0 ; GOLDEEN
dw $0016, $0010, $017F ; SEAKING
dw $001E, $0002, $00A0 ; STARYU
dw $001E, $0000, $0100 ; STARMIE
dw $0020, $0008, $00C0 ; MR_MIME
dw $0016, $0000, $0100 ; SCYTHER
dw $000D, $00FF, $017F ; JYNX
dw $0006, $008F, $017F ; ELECTABUZZ
dw $0004, $00FF, $00B0 ; MAGMAR
dw $0014, $0000, $0100 ; PINSIR
dw $001D, $0011, $00C0 ; TAUROS
dw $0017, $0080, $0080 ; MAGIKARP
dw $0017, $0000, $0100 ; GYARADOS
dw $001B, $0000, $0100 ; LAPRAS
dw $000E, $00FF, $017F ; DITTO
dw $001A, $0088, $00E0 ; EEVEE
dw $001A, $00AA, $017F ; VAPOREON
dw $001A, $003D, $0100 ; JOLTEON
dw $001A, $0010, $00A0 ; FLAREON
dw $0025, $00AA, $017F ; PORYGON
dw $001F, $00F0, $0081 ; OMANYTE
dw $001F, $00FF, $00C0 ; OMASTAR
dw $0016, $00BB, $00C0 ; KABUTO
dw $0018, $00EE, $0081 ; KABUTOPS
dw $0023, $0020, $0170 ; AERODACTYL
dw $0005, $0055, $0081 ; SNORLAX
dw $0009, $0080, $00C0 ; ARTICUNO
dw $0018, $00FF, $0100 ; ZAPDOS
dw $0009, $00F8, $00C0 ; MOLTRES
dw $000F, $0060, $00C0 ; DRATINI
dw $000F, $0040, $0100 ; DRAGONAIR
dw $000F, $003C, $0140 ; DRAGONITE
dw $001E, $0099, $017F ; MEWTWO
dw $001E, $00EE, $017F ; MEW
Cry_00_Header_BankF: ; 0x3f339
channelcount 3
channel 4, Data_3f733
channel 5, Data_3f742
channel 7, Data_3f751
Cry_01_Header_BankF: ; 0x3f342
channelcount 3
channel 4, Data_3f943
channel 5, Data_3f956
channel 7, Data_3f969
Cry_02_Header_BankF: ; 0x3f34b
channelcount 3
channel 4, Data_3f8b8
channel 5, Data_3f8c7
channel 7, Data_3f8d5
Cry_03_Header_BankF: ; 0x3f354
channelcount 3
channel 4, Data_3f652
channel 5, Data_3f671
channel 7, Data_3f690
Cry_04_Header_BankF: ; 0x3f35d
channelcount 3
channel 4, Data_3fa01
channel 5, Data_3fa20
channel 7, Data_3fa3f
Cry_05_Header_BankF: ; 0x3f366
channelcount 3
channel 4, Data_3f7e1
channel 5, Data_3f7f4
channel 7, Data_3f806
Cry_06_Header_BankF: ; 0x3f36f
channelcount 3
channel 4, Data_3f78b
channel 5, Data_3f7a5
channel 7, Data_3f7a6
Cry_07_Header_BankF: ; 0x3f378
channelcount 3
channel 4, Data_3f7b9
channel 5, Data_3f7c8
channel 7, Data_3f7d7
Cry_08_Header_BankF: ; 0x3f381
channelcount 3
channel 4, Data_3f9d1
channel 5, Data_3f9e4
channel 7, Data_3f9f7
Cry_09_Header_BankF: ; 0x3f38a
channelcount 3
channel 4, Data_3f4db
channel 5, Data_3f4f8
channel 7, Data_3f519
Cry_0A_Header_BankF: ; 0x3f393
channelcount 3
channel 4, Data_3f976
channel 5, Data_3f995
channel 7, Data_3f9b8
Cry_0B_Header_BankF: ; 0x3f39c
channelcount 3
channel 4, Data_3f807
channel 5, Data_3f832
channel 7, Data_3f851
Cry_0C_Header_BankF: ; 0x3f3a5
channelcount 3
channel 4, Data_3f86a
channel 5, Data_3f891
channel 7, Data_3f8b7
Cry_0D_Header_BankF: ; 0x3f3ae
channelcount 3
channel 4, Data_3f8d6
channel 5, Data_3f8f5
channel 7, Data_3f924
Cry_0E_Header_BankF: ; 0x3f
channelcount 3
channel 4, Data_3f75b
channel 5, Data_3f76e
channel 7, Data_3f781
Cry_0F_Header_BankF: ; 0x3f
channelcount 3
channel 4, Data_3f69d
channel 5, Data_3f6b8
channel 7, Data_3f6d3
Cry_10_Header_BankF: ; 0x3f3b7
channelcount 3
channel 4, Data_3f6e3
channel 5, Data_3f706
channel 7, Data_3f729
Cry_11_Header_BankF: ; 0x3f3c0
channelcount 3
channel 4, Data_3f5bf
channel 5, Data_3f5de
channel 7, Data_3f601
Cry_12_Header_BankF: ; 0x3f3c9
channelcount 3
channel 4, Data_3fad7
channel 5, Data_3faea
channel 7, Data_3fafd
Cry_13_Header_BankF: ; 0x3f3d2
channelcount 3
channel 4, Data_3fb0a
channel 5, Data_3fb25
channel 7, Data_3fb40
Cry_14_Header_BankF: ; 0x3f3db
channelcount 3
channel 4, Data_3fb53
channel 5, Data_3fb62
channel 7, Data_3fb71
Cry_15_Header_BankF: ; 0x3f3e4
channelcount 3
channel 4, Data_3fbe1
channel 5, Data_3fbfc
channel 7, Data_3fc17
Cry_16_Header_BankF: ; 0x3f3ed
channelcount 3
channel 4, Data_3fa74
channel 5, Data_3fa83
channel 7, Data_3fa92
Cry_17_Header_BankF: ; 0x3f3f6
channelcount 3
channel 4, Data_3fc2a
channel 5, Data_3fc3d
channel 7, Data_3fc50
Cry_18_Header_BankF: ; 0x3f3ff
channelcount 3
channel 4, Data_3fd3a
channel 5, Data_3fd5d
channel 7, Data_3fd80
Cry_19_Header_BankF: ; 0x3f408
channelcount 3
channel 4, Data_3fa52
channel 5, Data_3fa61
channel 7, Data_3fa73
Cry_1A_Header_BankF: ; 0x3f411
channelcount 3
channel 4, Data_3fcab
channel 5, Data_3fcc6
channel 7, Data_3fce1
Cry_1B_Header_BankF: ; 0x3f41a
channelcount 3
channel 4, Data_3fa9c
channel 5, Data_3fab3
channel 7, Data_3faca
Cry_1C_Header_BankF: ; 0x3f423
channelcount 3
channel 4, Data_3fc5d
channel 5, Data_3fc80
channel 7, Data_3fc9b
Cry_1D_Header_BankF: ; 0x3f42c
channelcount 3
channel 4, Data_3fcf4
channel 5, Data_3fd0f
channel 7, Data_3fd2a
Cry_1E_Header_BankF: ; 0x3f435
channelcount 3
channel 4, Data_3fb7b
channel 5, Data_3fb9e
channel 7, Data_3fbc5
Cry_1F_Header_BankF: ; 0x3f43e
channelcount 3
channel 4, Data_3fd93
channel 5, Data_3fda6
channel 7, Data_3fdb9
Cry_20_Header_BankF: ; 0x3f447
channelcount 3
channel 4, Data_3fdc6
channel 5, Data_3fdd9
channel 7, Data_3fdec
Cry_21_Header_BankF: ; 0x3f450
channelcount 3
channel 4, Data_3fdf9
channel 5, Data_3fe1c
channel 7, Data_3fe3e
Cry_22_Header_BankF: ; 0x3f459
channelcount 3
channel 4, Data_3fe3f
channel 5, Data_3fe52
channel 7, Data_3fe65
Cry_23_Header_BankF: ; 0x3f462
channelcount 3
channel 4, Data_3f532
channel 5, Data_3f549
channel 7, Data_3f55c
Cry_24_Header_BankF: ; 0x3f46b
channelcount 3
channel 4, Data_3f569
channel 5, Data_3f58c
channel 7, Data_3f5af
Cry_25_Header_BankF: ; 0x3f474
channelcount 3
channel 4, Data_3f617
channel 5, Data_3f62e
channel 7, Data_3f645
dr $3f48f, $3f4db
Data_3f4db:
dr $3f4db, $3f4f8
Data_3f4f8:
dr $3f4f8, $3f519
Data_3f519:
dr $3f519, $3f532
Data_3f532:
dr $3f532, $3f549
Data_3f549:
dr $3f549, $3f55c
Data_3f55c:
dr $3f55c, $3f569
Data_3f569:
dr $3f569, $3f58c
Data_3f58c:
dr $3f58c, $3f5af
Data_3f5af:
dr $3f5af, $3f5bf
Data_3f5bf:
dr $3f5bf, $3f5de
Data_3f5de:
dr $3f5de, $3f601
Data_3f601:
dr $3f601, $3f617
Data_3f617:
dr $3f617, $3f62e
Data_3f62e:
dr $3f62e, $3f645
Data_3f645:
dr $3f645, $3f652
Data_3f652:
dr $3f652, $3f671
Data_3f671:
dr $3f671, $3f690
Data_3f690:
dr $3f690, $3f69d
Data_3f69d:
dr $3f69d, $3f6b8
Data_3f6b8:
dr $3f6b8, $3f6d3
Data_3f6d3:
dr $3f6d3, $3f6e3
Data_3f6e3:
dr $3f6e3, $3f706
Data_3f706:
dr $3f706, $3f729
Data_3f729:
dr $3f729, $3f733
Data_3f733:
dr $3f733, $3f742
Data_3f742:
dr $3f742, $3f751
Data_3f751:
dr $3f751, $3f75b
Data_3f75b:
dr $3f75b, $3f76e
Data_3f76e:
dr $3f76e, $3f781
Data_3f781:
dr $3f781, $3f78b
Data_3f78b:
dr $3f78b, $3f7a5
Data_3f7a5:
dr $3f7a5, $3f7a6
Data_3f7a6:
dr $3f7a6, $3f7b9
Data_3f7b9:
dr $3f7b9, $3f7c8
Data_3f7c8:
dr $3f7c8, $3f7d7
Data_3f7d7:
dr $3f7d7, $3f7e1
Data_3f7e1:
dr $3f7e1, $3f7f4
Data_3f7f4:
dr $3f7f4, $3f806
Data_3f806:
dr $3f806, $3f807
Data_3f807:
dr $3f807, $3f832
Data_3f832:
dr $3f832, $3f851
Data_3f851:
dr $3f851, $3f86a
Data_3f86a:
dr $3f86a, $3f891
Data_3f891:
dr $3f891, $3f8b7
Data_3f8b7:
dr $3f8b7, $3f8b8
Data_3f8b8:
dr $3f8b8, $3f8c7
Data_3f8c7:
dr $3f8c7, $3f8d5
Data_3f8d5:
dr $3f8d5, $3f8d6
Data_3f8d6:
dr $3f8d6, $3f8f5
Data_3f8f5:
dr $3f8f5, $3f924
Data_3f924:
dr $3f924, $3f943
Data_3f943:
dr $3f943, $3f956
Data_3f956:
dr $3f956, $3f969
Data_3f969:
dr $3f969, $3f976
Data_3f976:
dr $3f976, $3f995
Data_3f995:
dr $3f995, $3f9b8
Data_3f9b8:
dr $3f9b8, $3f9d1
Data_3f9d1:
dr $3f9d1, $3f9e4
Data_3f9e4:
dr $3f9e4, $3f9f7
Data_3f9f7:
dr $3f9f7, $3fa01
Data_3fa01:
dr $3fa01, $3fa20
Data_3fa20:
dr $3fa20, $3fa3f
Data_3fa3f:
dr $3fa3f, $3fa52
Data_3fa52:
dr $3fa52, $3fa61
Data_3fa61:
dr $3fa61, $3fa73
Data_3fa73:
dr $3fa73, $3fa74
Data_3fa74:
dr $3fa74, $3fa83
Data_3fa83:
dr $3fa83, $3fa92
Data_3fa92:
dr $3fa92, $3fa9c
Data_3fa9c:
dr $3fa9c, $3fab3
Data_3fab3:
dr $3fab3, $3faca
Data_3faca:
dr $3faca, $3fad7
Data_3fad7:
dr $3fad7, $3faea
Data_3faea:
dr $3faea, $3fafd
Data_3fafd:
dr $3fafd, $3fb0a
Data_3fb0a:
dr $3fb0a, $3fb25
Data_3fb25:
dr $3fb25, $3fb40
Data_3fb40:
dr $3fb40, $3fb53
Data_3fb53:
dr $3fb53, $3fb62
Data_3fb62:
dr $3fb62, $3fb71
Data_3fb71:
dr $3fb71, $3fb7b
Data_3fb7b:
dr $3fb7b, $3fb9e
Data_3fb9e:
dr $3fb9e, $3fbc5
Data_3fbc5:
dr $3fbc5, $3fbe1
Data_3fbe1:
dr $3fbe1, $3fbfc
Data_3fbfc:
dr $3fbfc, $3fc17
Data_3fc17:
dr $3fc17, $3fc2a
Data_3fc2a:
dr $3fc2a, $3fc3d
Data_3fc3d:
dr $3fc3d, $3fc50
Data_3fc50:
dr $3fc50, $3fc5d
Data_3fc5d:
dr $3fc5d, $3fc80
Data_3fc80:
dr $3fc80, $3fc9b
Data_3fc9b:
dr $3fc9b, $3fcab
Data_3fcab:
dr $3fcab, $3fcc6
Data_3fcc6:
dr $3fcc6, $3fce1
Data_3fce1:
dr $3fce1, $3fcf4
Data_3fcf4:
dr $3fcf4, $3fd0f
Data_3fd0f:
dr $3fd0f, $3fd2a
Data_3fd2a:
dr $3fd2a, $3fd3a
Data_3fd3a:
dr $3fd3a, $3fd5d
Data_3fd5d:
dr $3fd5d, $3fd80
Data_3fd80:
dr $3fd80, $3fd93
Data_3fd93:
dr $3fd93, $3fda6
Data_3fda6:
dr $3fda6, $3fdb9
Data_3fdb9:
dr $3fdb9, $3fdc6
Data_3fdc6:
dr $3fdc6, $3fdd9
Data_3fdd9:
dr $3fdd9, $3fdec
Data_3fdec:
dr $3fdec, $3fdf9
Data_3fdf9:
dr $3fdf9, $3fe1c
Data_3fe1c:
dr $3fe1c, $3fe3e
Data_3fe3e:
dr $3fe3e, $3fe3f
Data_3fe3f:
dr $3fe3f, $3fe52
Data_3fe52:
dr $3fe52, $3fe65
Data_3fe65:
dr $3fe65, $3fe72