summaryrefslogtreecommitdiff
path: root/main.asm
diff options
context:
space:
mode:
Diffstat (limited to 'main.asm')
-rw-r--r--main.asm2485
1 files changed, 2144 insertions, 341 deletions
diff --git a/main.asm b/main.asm
index b6aa60b8..07230475 100644
--- a/main.asm
+++ b/main.asm
@@ -18346,209 +18346,1865 @@ Func_7c18: ; 7c18 (1:7c18)
SECTION "bank2",ROMX,BANK[$2]
-INCBIN "baserom.gbc",$8000,$822e - $8000
+INCLUDE "music/headers/sfxheaders02.tx"
+INCLUDE "music/headers/musicheaders02.tx"
+
+INCLUDE "music/sfx/sfx_02_01.tx"
+INCLUDE "music/sfx/sfx_02_02.tx"
+INCLUDE "music/sfx/sfx_02_03.tx"
+INCLUDE "music/sfx/sfx_02_04.tx"
+INCLUDE "music/sfx/sfx_02_05.tx"
+INCLUDE "music/sfx/sfx_02_06.tx"
+INCLUDE "music/sfx/sfx_02_07.tx"
+INCLUDE "music/sfx/sfx_02_08.tx"
+INCLUDE "music/sfx/sfx_02_09.tx"
+INCLUDE "music/sfx/sfx_02_0a.tx"
+INCLUDE "music/sfx/sfx_02_0b.tx"
+INCLUDE "music/sfx/sfx_02_0c.tx"
+INCLUDE "music/sfx/sfx_02_0d.tx"
+INCLUDE "music/sfx/sfx_02_0e.tx"
+INCLUDE "music/sfx/sfx_02_0f.tx"
+INCLUDE "music/sfx/sfx_02_10.tx"
+INCLUDE "music/sfx/sfx_02_11.tx"
+INCLUDE "music/sfx/sfx_02_12.tx"
+INCLUDE "music/sfx/sfx_02_13.tx"
+
+INCBIN "baserom.gbc",$8361,$83c3 - $8361
+
+INCLUDE "music/sfx/sfx_02_3f.tx"
+INCLUDE "music/sfx/sfx_02_5e.tx"
+INCLUDE "music/sfx/sfx_02_56.tx"
+INCLUDE "music/sfx/sfx_02_57.tx"
+INCLUDE "music/sfx/sfx_02_58.tx"
+INCLUDE "music/sfx/sfx_02_3c.tx"
+INCLUDE "music/sfx/sfx_02_59.tx"
+INCLUDE "music/sfx/sfx_02_5a.tx"
+INCLUDE "music/sfx/sfx_02_5b.tx"
+INCLUDE "music/sfx/sfx_02_5c.tx"
+INCLUDE "music/sfx/sfx_02_40.tx"
+INCLUDE "music/sfx/sfx_02_5d.tx"
+INCLUDE "music/sfx/sfx_02_3d.tx"
+INCLUDE "music/sfx/sfx_02_43.tx"
+INCLUDE "music/sfx/sfx_02_3e.tx"
+INCLUDE "music/sfx/sfx_02_44.tx"
+INCLUDE "music/sfx/sfx_02_45.tx"
+INCLUDE "music/sfx/sfx_02_46.tx"
+INCLUDE "music/sfx/sfx_02_47.tx"
+INCLUDE "music/sfx/sfx_02_48.tx"
+INCLUDE "music/sfx/sfx_02_49.tx"
+INCLUDE "music/sfx/sfx_02_4a.tx"
+INCLUDE "music/sfx/sfx_02_4b.tx"
+INCLUDE "music/sfx/sfx_02_4c.tx"
+INCLUDE "music/sfx/sfx_02_4d.tx"
+INCLUDE "music/sfx/sfx_02_4e.tx"
+INCLUDE "music/sfx/sfx_02_4f.tx"
+INCLUDE "music/sfx/sfx_02_50.tx"
+INCLUDE "music/sfx/sfx_02_51.tx"
+INCLUDE "music/sfx/sfx_02_52.tx"
+INCLUDE "music/sfx/sfx_02_53.tx"
+INCLUDE "music/sfx/sfx_02_54.tx"
+INCLUDE "music/sfx/sfx_02_55.tx"
+INCLUDE "music/sfx/sfx_02_5f.tx"
+
+INCBIN "baserom.gbc",$86e3,$872f - $86e3
+
+INCLUDE "music/sfx/sfx_02_1d.tx"
+INCLUDE "music/sfx/sfx_02_37.tx"
+INCLUDE "music/sfx/sfx_02_38.tx"
+INCLUDE "music/sfx/sfx_02_25.tx"
+INCLUDE "music/sfx/sfx_02_39.tx"
+INCLUDE "music/sfx/sfx_02_17.tx"
+INCLUDE "music/sfx/sfx_02_23.tx"
+INCLUDE "music/sfx/sfx_02_24.tx"
+INCLUDE "music/sfx/sfx_02_14.tx"
+INCLUDE "music/sfx/sfx_02_22.tx"
+INCLUDE "music/sfx/sfx_02_1a.tx"
+INCLUDE "music/sfx/sfx_02_1b.tx"
+INCLUDE "music/sfx/sfx_02_19.tx"
+INCLUDE "music/sfx/sfx_02_1f.tx"
+INCLUDE "music/sfx/sfx_02_20.tx"
+INCLUDE "music/sfx/sfx_02_16.tx"
+INCLUDE "music/sfx/sfx_02_21.tx"
+INCLUDE "music/sfx/sfx_02_15.tx"
+INCLUDE "music/sfx/sfx_02_1e.tx"
+INCLUDE "music/sfx/sfx_02_1c.tx"
+INCLUDE "music/sfx/sfx_02_18.tx"
+INCLUDE "music/sfx/sfx_02_2d.tx"
+INCLUDE "music/sfx/sfx_02_2a.tx"
+INCLUDE "music/sfx/sfx_02_2f.tx"
+INCLUDE "music/sfx/sfx_02_26.tx"
+INCLUDE "music/sfx/sfx_02_27.tx"
+INCLUDE "music/sfx/sfx_02_28.tx"
+INCLUDE "music/sfx/sfx_02_32.tx"
+INCLUDE "music/sfx/sfx_02_29.tx"
+INCLUDE "music/sfx/sfx_02_2b.tx"
+INCLUDE "music/sfx/sfx_02_30.tx"
+INCLUDE "music/sfx/sfx_02_2e.tx"
+INCLUDE "music/sfx/sfx_02_31.tx"
+INCLUDE "music/sfx/sfx_02_2c.tx"
+INCLUDE "music/sfx/sfx_02_33.tx"
+INCLUDE "music/sfx/sfx_02_34.tx"
+INCLUDE "music/sfx/sfx_02_35.tx"
+INCLUDE "music/sfx/sfx_02_36.tx"
+
+Func_90c6: ; 0x90c6
+ xor a
+ ld [$cfc7], a
+ ld [$d083], a
+ dec a
+ ld [$c0ee], a
+ call PlaySound
+ call DelayFrame
+ ld c, $8
+ ld a, [$d05c]
+ and a
+ jr z, .asm_90e3 ; 0x90dd $4
+ ld a, $ea
+ jr .asm_9100 ; 0x90e1 $1d
+.asm_90e3
+ ld a, [$d059]
+ cp $c8
+ jr c, .asm_90fe ; 0x90e8 $14
+ cp $f3
+ jr z, .asm_90fa ; 0x90ec $c
+ cp $f7
+ jr nz, .asm_90f6 ; 0x90f0 $4
+ ld a, $ea
+ jr .asm_9100 ; 0x90f4 $a
+.asm_90f6
+ ld a, $ed
+ jr .asm_9100 ; 0x90f8 $6
+.asm_90fa
+ ld a, $f3
+ jr .asm_9100 ; 0x90fc $2
+.asm_90fe
+ ld a, $f0
+.asm_9100
+ jp PlayMusic
+; 0x9103
-;Music Headers
-;Pallet Town
-PalletTown_mh: ; 0x822E - 0x8236
- db $80
- dw PalletTown_md_1 ;Channel 1 ($A7C5 - $A85E)
- db $01
- dw PalletTown_md_2 ;Channel 2 ($A85f - $A8DD)
- db $02
- dw PalletTown_md_3 ;Channel 3 ($A8DE - $AA75)
-
-;Pokemon Center
-Pokecenter_mh: ; 0x8237 - 0x823F
- db $80
- dw Pokecenter_md_1 ;Channel 1 ($BE56 - $BEF8)
- db $01
- dw Pokecenter_md_2 ;Channel 2 ($BEF9 - $BF6F)
- db $02
- dw Pokecenter_md_3 ;Channel 3 ($BF70 - $BFFF)
-
-;Gyms
-Gym_mh: ; 0x8240 - 0x8248
- db $80
- dw Gym_md_1 ;Channel 1 ($BCBB - $BD6A)
- db $01
- dw Gym_md_2 ;Channel 2 ($BD6B - $BDF9)
- db $02
- dw Gym_md_3 ;Channel 3 ($BDFA - $BE55)
-
-;Viridian City, Pewter City, Saffron City
-Cities1_mh: ; 0x8249 - 0x8254
- db $C0
- dw Cities1_md_1 ;Channel 1
- db $01
- dw Cities1_md_2 ;Channel 2
- db $02
- dw Cities1_md_3 ;Channel 3
- db $03
- dw Cities1_md_4 ;Channel 4
+Func_9103: ; 0x9103
+ ld c, $0
+.asm_9105
+ ld b, $0
+ ld hl, $c026
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_9131 ; 0x910d $22
+ ld a, c
+ cp $4
+ jr nc, .asm_912e ; 0x9112 $1a
+ ld a, [$c002]
+ and a
+ jr z, .asm_912e ; 0x9118 $14
+ bit 7, a
+ jr nz, .asm_9131 ; 0x911c $13
+ set 7, a
+ ld [$c002], a
+ xor a
+ ld [$ff00+$25], a
+ ld [$ff00+$1a], a
+ ld a, $80
+ ld [$ff00+$1a], a
+ jr .asm_9131 ; 0x912c $3
+.asm_912e
+ call Func_9138
+.asm_9131
+ ld a, c
+ inc c
+ cp $7
+ jr nz, .asm_9105 ; 0x9135 $ce
+ ret
+; 0x9138
-;Cerulean City, Fuchsia City
-Cities2_mh: ; 0x8255 - 0x825D
- db $80
- dw Cities2_md_1 ;Channel 1
- db $01
- dw Cities2_md_2 ;Channel 2
- db $02
- dw Cities2_md_3 ;Channel 3
-
-;Celadon City
-Celadon_mh: ; 0x825E - 0x8266
- db $80
- dw Celadon_md_1 ;Channel 1
- db $01
- dw Celadon_md_2 ;Channel 2
- db $02
- dw Celadon_md_3 ;Channel 3
-
-;Cinnabar Island
-Cinnabar_mh: ; 0x8267 - 0x826F
- db $80
- dw Cinnabar_md_1 ;Channel 1
- db $01
- dw Cinnabar_md_2 ;Channel 2
- db $02
- dw Cinnabar_md_3 ;Channel 3
-
-;Vermilion City
-Vermilion_mh: ; 0x8270 - 0x827B
- db $C0
- dw Vermilion_md_1 ;Channel 1
- db $01
- dw Vermilion_md_2 ;Channel 2
- db $02
- dw Vermilion_md_3 ;Channel 3
- db $03
- dw Vermilion_md_4 ;Channel 4
+Func_9138: ; 0x9138
+ ld b, $0
+ ld hl, $c0b6
+ add hl, bc
+ ld a, [hl]
+ cp $1
+ jp z, Func_91d0
+ dec a
+ ld [hl], a
+ ld a, c
+ cp $4
+ jr nc, .asm_9154 ; 0x9149 $9
+ ld hl, $c02a
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_9154 ; 0x9151 $1
+ ret
+.asm_9154
+ ld hl, $c02e
+ add hl, bc
+ bit 6, [hl]
+ jr z, .asm_915f ; 0x915a $3
+ call Func_980d
+.asm_915f
+ ld b, $0
+ ld hl, $c036
+ add hl, bc
+ bit 0, [hl]
+ jr nz, .asm_9171 ; 0x9167 $8
+ ld hl, $c02e
+ add hl, bc
+ bit 2, [hl]
+ jr nz, .asm_9185 ; 0x916f $14
+.asm_9171
+ ld hl, $c02e
+ add hl, bc
+ bit 4, [hl]
+ jr z, .asm_917c ; 0x9177 $3
+ jp Func_96f9
+.asm_917c
+ ld hl, $c04e
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_9186 ; 0x9182 $2
+ dec [hl]
+.asm_9185
+ ret
+.asm_9186
+ ld hl, $c056
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr nz, .asm_918f ; 0x918c $1
+ ret
+.asm_918f
+ ld d, a
+ ld hl, $c05e
+ add hl, bc
+ ld a, [hl]
+ and $f
+ and a
+ jr z, .asm_919c ; 0x9198 $2
+ dec [hl]
+ ret
+.asm_919c
+ ld a, [hl]
+ swap [hl]
+ or [hl]
+ ld [hl], a
+ ld hl, $c066
+ add hl, bc
+ ld e, [hl]
+ ld hl, $c02e
+ add hl, bc
+ bit 3, [hl]
+ jr z, .asm_91bc ; 0x91ac $e
+ res 3, [hl]
+ ld a, d
+ and $f
+ ld d, a
+ ld a, e
+ sub d
+ jr nc, .asm_91ba ; 0x91b6 $2
+ ld a, $0
+.asm_91ba
+ jr .asm_91c8 ; 0x91ba $c
+.asm_91bc
+ set 3, [hl]
+ ld a, d
+ and $f0
+ swap a
+ add e
+ jr nc, .asm_91c8 ; 0x91c4 $2
+ ld a, $ff
+.asm_91c8
+ ld d, a
+ ld b, $3
+ call Func_9838
+ ld [hl], d
+ ret
+; 0x91d0
-;Lavender Town
-Lavender_mh: ; 0x827C - 0x8287
- db $C0
- dw Lavender_md_1 ;Channel 1
- db $01
- dw Lavender_md_2 ;Channel 2
- db $02
- dw Lavender_md_3 ;Channel 3
- db $03
- dw Lavender_md_4 ;Channel 4
+Func_91d0 ; 0x91d0
+ ld hl, $c06e
+ add hl, bc
+ ld a, [hl]
+ ld hl, $c04e
+ add hl, bc
+ ld [hl], a
+ ld hl, $c02e
+ add hl, bc
+ res 4, [hl]
+ res 5, [hl]
+ call Func_91e6
+ ret
+; 0x91e6
-;SS Anne
-SSAnne_mh: ; 0x8288 - 0x8290
- db $80
- dw SSAnne_md_1 ;Channel 1
- db $01
- dw SSAnne_md_2 ;Channel 2
- db $02
- dw SSAnne_md_3 ;Channel 3
-
-;Meet Prof. Oak
-MeetProfOak_mh: ; 0x8291 - 0x8299
- db $80
- dw MeetProfOak_md_1 ;Channel 1
- db $01
- dw MeetProfOak_md_2 ;Channel 2
- db $02
- dw MeetProfOak_md_3 ;Channel 3
-
-;Meet Rival
-MeetRival_mh: ; 0x829A - 0x82A2
- db $80
- dw MeetRival_md_1 ;Channel 1
- db $01
- dw MeetRival_md_2 ;Channel 2
- db $02
- dw MeetRival_md_3 ;Channel 3
-
-;Guy walks you to museum
-MuseumGuy_mh: ; 0x82A3 - 0x82AE
- db $C0
- dw MuseumGuy_md_1 ;Channel 1
- db $01
- dw MuseumGuy_md_2 ;Channel 2
- db $02
- dw MuseumGuy_md_3 ;Channel 3
- db $03
- dw MuseumGuy_md_4 ;Channel 4
+Func_91e6 ; 0x91e6
+ call Func_9825
+ ld d, a
+ cp $ff
+ jp nz, Func_9274
+ ld b, $0
+ ld hl, $c02e
+ add hl, bc
+ bit 1, [hl]
+ jr nz, .asm_9224 ; 0x91f7 $2b
+ ld a, c
+ cp $3
+ jr nc, .asm_9200 ; 0x91fc $2
+ jr .asm_923f ; 0x91fe $3f
+.asm_9200
+ res 2, [hl]
+ ld hl, $c036
+ add hl, bc
+ res 0, [hl]
+ cp $6
+ jr nz, .asm_9214 ; 0x920a $8
+ ld a, $0
+ ld [$ff00+$1a], a
+ ld a, $80
+ ld [$ff00+$1a], a
+.asm_9214
+ jr nz, .asm_9222 ; 0x9214 $c
+ ld a, [$c003]
+ and a
+ jr z, .asm_9222 ; 0x921a $6
+ xor a
+ ld [$c003], a
+ jr .asm_923f ; 0x9220 $1d
+.asm_9222
+ jr .asm_9248 ; 0x9222 $24
+.asm_9224
+ res 1, [hl]
+ ld d, $0
+ ld a, c
+ add a
+ ld e, a
+ ld hl, $c006
+ add hl, de
+ push hl
+ ld hl, $c016
+ add hl, de
+ ld e, l
+ ld d, h
+ pop hl
+ ld a, [de]
+ ld [hli], a
+ inc de
+ ld a, [de]
+ ld [hl], a
+ jp Func_91e6
+.asm_923f
+ ld hl, $5b1f
+ add hl, bc
+ ld a, [$ff00+$25]
+ and [hl]
+ ld [$ff00+$25], a
+.asm_9248
+ ld a, [$c02a]
+ cp $14
+ jr nc, .asm_9251 ; 0x924d $2
+ jr .asm_926e ; 0x924f $1d
+.asm_9251
+ ld a, [$c02a]
+ cp $86
+ jr z, .asm_926e ; 0x9256 $16
+ jr c, .asm_925c ; 0x9258 $2
+ jr .asm_926e ; 0x925a $12
+.asm_925c
+ ld a, c
+ cp $4
+ jr z, .asm_9265 ; 0x925f $4
+ call Func_96c7
+ ret c
+.asm_9265
+ ld a, [$c005]
+ ld [$ff00+$24], a
+ xor a
+ ld [$c005], a
+.asm_926e
+ ld hl, $c026
+ add hl, bc
+ ld [hl], b
+ ret
+; 0x9274
-;Safari Zone
-SafariZone_mh: ; 0x82AF - 0x82B7
- db $80
- dw SafariZone_md_1 ;Channel 1
- db $01
- dw SafariZone_md_2 ;Channel 2
- db $02
- dw SafariZone_md_3 ;Channel 3
-
-;Pokemon Get Healed
-PkmnHealed_mh: ; 0x82B8 - 0x82C0
- db $80
- dw PkmnHealed_md_1 ;Channel 1
- db $01
- dw PkmnHealed_md_2 ;Channel 2
- db $02
- dw PkmnHealed_md_3 ;Channel 3
-
-;Routes 1 and 2
-Routes1_mh: ; 0x82C1 - 0x82CC
- db $C0
- dw Routes1_md_1 ;Channel 1
- db $01
- dw Routes1_md_2 ;Channel 2
- db $02
- dw Routes1_md_3 ;Channel 3
- db $03
- dw Routes1_md_4 ;Channel 4
+Func_9274: ; 0x9274
+ cp $fd
+ jp nz, Func_92a9
+ call Func_9825
+ push af
+ call Func_9825
+ ld d, a
+ pop af
+ ld e, a
+ push de
+ ld d, $0
+ ld a, c
+ add a
+ ld e, a
+ ld hl, $c006
+ add hl, de
+ push hl
+ ld hl, $c016
+ add hl, de
+ ld e, l
+ ld d, h
+ pop hl
+ ld a, [hli]
+ ld [de], a
+ inc de
+ ld a, [hld]
+ ld [de], a
+ pop de
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ ld b, $0
+ ld hl, $c02e
+ add hl, bc
+ set 1, [hl]
+ jp Func_91e6
+; 0x92a9
-;Routes 24 and 25
-Routes2_mh: ; 0x82CD - 0x82D8
- db $C0
- dw Routes2_md_1 ;Channel 1
- db $01
- dw Routes2_md_2 ;Channel 2
- db $02
- dw Routes2_md_3 ;Channel 3
- db $03
- dw Routes2_md_4 ;Channel 4
+Func_92a9: ; 0x92a9
+ cp $fe
+ jp nz, Func_92e4
+ call Func_9825
+ ld e, a
+ and a
+ jr z, .asm_92cd ; 0x92b3 $18
+ ld b, $0
+ ld hl, $c0be
+ add hl, bc
+ ld a, [hl]
+ cp e
+ jr nz, .asm_92cb ; 0x92bd $c
+ ld a, $1
+ ld [hl], a
+ call Func_9825
+ call Func_9825
+ jp Func_91e6
+.asm_92cb
+ inc a
+ ld [hl], a
+.asm_92cd
+ call Func_9825
+ push af
+ call Func_9825
+ ld b, a
+ ld d, $0
+ ld a, c
+ add a
+ ld e, a
+ ld hl, $c006
+ add hl, de
+ pop af
+ ld [hli], a
+ ld [hl], b
+ jp Func_91e6
+; 0x92e4
-;Routes 3, 4, 5, 6, 7, 8, 9, 10, 16, 17, 18, 19, 20, 21, 22
-Routes3_mh: ; 0x82D9 - 0x82E4
- db $C0
- dw Routes3_md_1 ;Channel 1
- db $01
- dw Routes3_md_2 ;Channel 2
- db $02
- dw Routes3_md_3 ;Channel 3
- db $03
- dw Routes3_md_4 ;Channel 4
+Func_92e4: ; 0x92e4
+ and $f0
+ cp $d0
+ jp nz, Func_9323
+ ld a, d
+ and $f
+ ld b, $0
+ ld hl, $c0c6
+ add hl, bc
+ ld [hl], a
+ ld a, c
+ cp $3
+ jr z, .asm_9320 ; 0x92f8 $26
+ call Func_9825
+ ld d, a
+ ld a, c
+ cp $2
+ jr z, .asm_930c ; 0x9301 $9
+ cp $6
+ jr nz, .asm_9319 ; 0x9305 $12
+ ld hl, $c0e7
+ jr .asm_930f ; 0x930a $3
+.asm_930c
+ ld hl, $c0e6
+.asm_930f
+ ld a, d
+ and $f
+ ld [hl], a
+ ld a, d
+ and $30
+ sla a
+ ld d, a
+.asm_9319
+ ld b, $0
+ ld hl, $c0de
+ add hl, bc
+ ld [hl], d
+.asm_9320
+ jp Func_91e6
+; 0x9323
-;Routes 11, 12, 13, 14, 15
-Routes4_mh: ; 0x82E5 - 0x82F0
- db $C0
- dw Routes4_md_1 ;Channel 1
- db $01
- dw Routes4_md_2 ;Channel 2
- db $02
- dw Routes4_md_3 ;Channel 3
- db $03
- dw Routes4_md_4 ;Channel 4
+Func_9323: ; 0x9323
+ ld a, d
+ cp $e8
+ jr nz, .asm_9335 ; 0x9326 $d
+ ld b, $0
+ ld hl, $c02e
+ add hl, bc
+ ld a, [hl]
+ xor $1
+ ld [hl], a
+ jp Func_91e6
+.asm_9335
+ cp $ea
+ jr nz, .asm_936d ; 0x9337 $34
+ call Func_9825
+ ld b, $0
+ ld hl, $c04e
+ add hl, bc
+ ld [hl], a
+ ld hl, $c06e
+ add hl, bc
+ ld [hl], a
+ call Func_9825
+ ld d, a
+ and $f0
+ swap a
+ ld b, $0
+ ld hl, $c056
+ add hl, bc
+ srl a
+ ld e, a
+ adc b
+ swap a
+ or e
+ ld [hl], a
+ ld a, d
+ and $f
+ ld d, a
+ ld hl, $c05e
+ add hl, bc
+ swap a
+ or d
+ ld [hl], a
+ jp Func_91e6
+.asm_936d
+ cp $eb
+ jr nz, .asm_93a5 ; 0x936f $34
+ call Func_9825
+ ld b, $0
+ ld hl, $c076
+ add hl, bc
+ ld [hl], a
+ call Func_9825
+ ld d, a
+ and $f0
+ swap a
+ ld b, a
+ ld a, d
+ and $f
+ call Func_9858
+ ld b, $0
+ ld hl, $c0a6
+ add hl, bc
+ ld [hl], d
+ ld hl, $c0ae
+ add hl, bc
+ ld [hl], e
+ ld b, $0
+ ld hl, $c02e
+ add hl, bc
+ set 4, [hl]
+ call Func_9825
+ ld d, a
+ jp Func_950a
+.asm_93a5
+ cp $ec
+ jr nz, .asm_93ba ; 0x93a7 $11
+ call Func_9825
+ rrca
+ rrca
+ and $c0
+ ld b, $0
+ ld hl, $c03e
+ add hl, bc
+ ld [hl], a
+ jp Func_91e6
+.asm_93ba
+ cp $ed
+ jr nz, .asm_93fa ; 0x93bc $3c
+ ld a, c
+ cp $4
+ jr nc, .asm_93de ; 0x93c1 $1b
+ call Func_9825
+ ld [$c0e8], a
+ call Func_9825
+ ld [$c0e9], a
+ xor a
+ ld [$c0ce], a
+ ld [$c0cf], a
+ ld [$c0d0], a
+ ld [$c0d1], a
+ jr .asm_93f7 ; 0x93dc $19
+.asm_93de
+ call Func_9825
+ ld [$c0ea], a
+ call Func_9825
+ ld [$c0eb], a
+ xor a
+ ld [$c0d2], a
+ ld [$c0d3], a
+ ld [$c0d4], a
+ ld [$c0d5], a
+.asm_93f7
+ jp Func_91e6
+.asm_93fa
+ cp $ee
+ jr nz, .asm_9407 ; 0x93fc $9
+ call Func_9825
+ ld [$c004], a
+ jp Func_91e6
+.asm_9407
+ cp $ef
+ jr nz, .asm_9426 ; 0x9409 $1b
+ call Func_9825
+ push bc
+ call Func_9876
+ pop bc
+ ld a, [$c003]
+ and a
+ jr nz, .asm_9423 ; 0x9417 $a
+ ld a, [$c02d]
+ ld [$c003], a
+ xor a
+ ld [$c02d], a
+.asm_9423
+ jp Func_91e6
+.asm_9426
+ cp $fc
+ jr nz, .asm_9444 ; 0x9428 $1a
+ call Func_9825
+ ld b, $0
+ ld hl, $c046
+ add hl, bc
+ ld [hl], a
+ and $c0
+ ld hl, $c03e
+ add hl, bc
+ ld [hl], a
+ ld hl, $c02e
+ add hl, bc
+ set 6, [hl]
+ jp Func_91e6
+.asm_9444
+ cp $f0
+ jr nz, .asm_9450 ; 0x9446 $8
+ call Func_9825
+ ld [$ff00+$24], a
+ jp Func_91e6
+.asm_9450
+ cp $f8
+ jr nz, .asm_945f ; 0x9452 $b
+ ld b, $0
+ ld hl, $c036
+ add hl, bc
+ set 0, [hl]
+ jp Func_91e6
+.asm_945f
+ and $f0
+ cp $e0
+ jr nz, .asm_9472 ; 0x9463 $d
+ ld hl, $c0d6
+ ld b, $0
+ add hl, bc
+ ld a, d
+ and $f
+ ld [hl], a
+ jp Func_91e6
+.asm_9472
+ cp $20
+ jr nz, .asm_94bf ; 0x9474 $49
+ ld a, c
+ cp $3
+ jr c, .asm_94bf ; 0x9479 $44
+ ld b, $0
+ ld hl, $c036
+ add hl, bc
+ bit 0, [hl]
+ jr nz, .asm_94bf ; 0x9483 $3a
+ call Func_950a
+ ld d, a
+ ld b, $0
+ ld hl, $c03e
+ add hl, bc
+ ld a, [hl]
+ or d
+ ld d, a
+ ld b, $1
+ call Func_9838
+ ld [hl], d
+ call Func_9825
+ ld d, a
+ ld b, $2
+ call Func_9838
+ ld [hl], d
+ call Func_9825
+ ld e, a
+ ld a, c
+ cp $7
+ ld a, $0
+ jr z, .asm_94b2 ; 0x94ab $5
+ push de
+ call Func_9825
+ pop de
+.asm_94b2
+ ld d, a
+ push de
+ call Func_9629
+ call Func_95f8
+ pop de
+ call Func_964b
+ ret
+.asm_94bf
+ ld a, c
+ cp $4
+ jr c, .asm_94db ; 0x94c2 $17
+ ld a, d
+ cp $10
+ jr nz, .asm_94db ; 0x94c7 $12
+ ld b, $0
+ ld hl, $c036
+ add hl, bc
+ bit 0, [hl]
+ jr nz, .asm_94db ; 0x94d1 $8
+ call Func_9825
+ ld [$ff00+$10], a
+ jp Func_91e6
+.asm_94db
+ ld a, c
+ cp $3
+ jr nz, Func_950a ; 0x94de $2a
+ ld a, d
+ and $f0
+ cp $b0
+ jr z, .asm_94f5 ; 0x94e5 $e
+ jr nc, Func_950a ; 0x94e7 $21
+ swap a
+ ld b, a
+ ld a, d
+ and $f
+ ld d, a
+ ld a, b
+ push de
+ push bc
+ jr .asm_94fd ; 0x94f3 $8
+.asm_94f5
+ ld a, d
+ and $f
+ push af
+ push bc
+ call Func_9825
+.asm_94fd
+ ld d, a
+ ld a, [$c003]
+ and a
+ jr nz, .asm_9508 ; 0x9502 $4
+ ld a, d
+ call Func_9876
+.asm_9508
+ pop bc
+ pop de
-;Indigo Plateau
-IndigoPlateau_mh: ; 0x82F1 - 0x82FC
- db $C0
- dw IndigoPlateau_md_1 ;Channel 1
- db $01
- dw IndigoPlateau_md_2 ;Channel 2
- db $02
- dw IndigoPlateau_md_3 ;Channel 3
- db $03
- dw IndigoPlateau_md_4 ;Channel 4
+Func_950a: ; 0x950a
+ ld a, d
+ push af
+ and $f
+ inc a
+ ld b, $0
+ ld e, a
+ ld d, b
+ ld hl, $c0c6
+ add hl, bc
+ ld a, [hl]
+ ld l, b
+ call Func_9847
+ ld a, c
+ cp $4
+ jr nc, .asm_952b ; 0x951f $a
+ ld a, [$c0e8]
+ ld d, a
+ ld a, [$c0e9]
+ ld e, a
+ jr .asm_953e ; 0x9529 $13
+.asm_952b
+ ld d, $1
+ ld e, $0
+ cp $7
+ jr z, .asm_953e ; 0x9531 $b
+ call Func_9693
+ ld a, [$c0ea]
+ ld d, a
+ ld a, [$c0eb]
+ ld e, a
+.asm_953e
+ ld a, l
+ ld b, $0
+ ld hl, $c0ce
+ add hl, bc
+ ld l, [hl]
+ call Func_9847
+ ld e, l
+ ld d, h
+ ld hl, $c0ce
+ add hl, bc
+ ld [hl], e
+ ld a, d
+ ld hl, $c0b6
+ add hl, bc
+ ld [hl], a
+ ld hl, $c036
+ add hl, bc
+ bit 0, [hl]
+ jr nz, .asm_9568 ; 0x955c $a
+ ld hl, $c02e
+ add hl, bc
+ bit 2, [hl]
+ jr z, .asm_9568 ; 0x9564 $2
+ pop hl
+ ret
+.asm_9568
+ pop af
+ and $f0
+ cp $c0
+ jr nz, .asm_959f ; 0x956d $30
+ ld a, c
+ cp $4
+ jr nc, .asm_957c ; 0x9572 $8
+ ld hl, $c02a
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr nz, .asm_959e ; 0x957a $22
+.asm_957c
+ ld a, c
+ cp $2
+ jr z, .asm_9585 ; 0x957f $4
+ cp $6
+ jr nz, .asm_9592 ; 0x9583 $d
+.asm_9585
+ ld b, $0
+ ld hl, $5b1f
+ add hl, bc
+ ld a, [$ff00+$25]
+ and [hl]
+ ld [$ff00+$25], a
+ jr .asm_959e ; 0x9590 $c
+.asm_9592
+ ld b, $2
+ call Func_9838
+ ld a, $8
+ ld [hli], a
+ inc hl
+ ld a, $80
+ ld [hl], a
+.asm_959e
+ ret
+.asm_959f
+ swap a
+ ld b, $0
+ ld hl, $c0d6
+ add hl, bc
+ ld b, [hl]
+ call Func_9858
+ ld b, $0
+ ld hl, $c02e
+ add hl, bc
+ bit 4, [hl]
+ jr z, .asm_95b8 ; 0x95b3 $3
+ call Func_978f
+.asm_95b8
+ push de
+ ld a, c
+ cp $4
+ jr nc, .asm_95cd ; 0x95bc $f
+ ld hl, $c02a
+ ld d, $0
+ ld e, a
+ add hl, de
+ ld a, [hl]
+ and a
+ jr nz, .asm_95cb ; 0x95c7 $2
+ jr .asm_95cd ; 0x95c9 $2
+.asm_95cb
+ pop de
+ ret
+.asm_95cd
+ ld b, $0
+ ld hl, $c0de
+ add hl, bc
+ ld d, [hl]
+ ld b, $2
+ call Func_9838
+ ld [hl], d
+ call Func_9629
+ call Func_95f8
+ pop de
+ ld b, $0
+ ld hl, $c02e
+ add hl, bc
+ bit 0, [hl]
+ jr z, .asm_95ef ; 0x95e9 $4
+ inc e
+ jr nc, .asm_95ef ; 0x95ec $1
+ inc d
+.asm_95ef
+ ld hl, $c066
+ add hl, bc
+ ld [hl], e
+ call Func_964b
+ ret
+; 0x95f8
+
+Func_95f8: ; 0x95f8
+ ld b, $0
+ ld hl, $5b27
+ add hl, bc
+ ld a, [$ff00+$25]
+ or [hl]
+ ld d, a
+ ld a, c
+ cp $7
+ jr z, .asm_9613 ; 0x9605 $c
+ cp $4
+ jr nc, .asm_9625 ; 0x9609 $1a
+ ld hl, $c02a
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr nz, .asm_9625 ; 0x9611 $12
+.asm_9613
+ ld a, [$c004]
+ ld hl, $5b27
+ add hl, bc
+ and [hl]
+ ld d, a
+ ld a, [$ff00+$25]
+ ld hl, $5b1f
+ add hl, bc
+ and [hl]
+ or d
+ ld d, a
+.asm_9625
+ ld a, d
+ ld [$ff00+$25], a
+ ret
+; 0x9629
+
+Func_9629: ; 0x9629
+ ld b, $0
+ ld hl, $c0b6
+ add hl, bc
+ ld d, [hl]
+ ld a, c
+ cp $2
+ jr z, .asm_9644 ; 0x9633 $f
+ cp $6
+ jr z, .asm_9644 ; 0x9637 $b
+ ld a, d
+ and $3f
+ ld d, a
+ ld hl, $c03e
+ add hl, bc
+ ld a, [hl]
+ or d
+ ld d, a
+.asm_9644
+ ld b, $1
+ call Func_9838
+ ld [hl], d
+ ret
+; 0x964b
+
+Func_964b: ; 0x964b
+ ld a, c
+ cp $2
+ jr z, .asm_9654 ; 0x964e $4
+ cp $6
+ jr nz, .asm_9681 ; 0x9652 $2d
+.asm_9654
+ push de
+ ld de, $c0e6
+ cp $2
+ jr z, .asm_965f ; 0x965a $3
+ ld de, $c0e7
+.asm_965f
+ ld a, [de]
+ add a
+ ld d, $0
+ ld e, a
+ ld hl, $4361
+ add hl, de
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld hl, $ff30
+ ld b, $f
+ ld a, $0
+ ld [$ff00+$1a], a
+.asm_9674
+ ld a, [de]
+ inc de
+ ld [hli], a
+ ld a, b
+ dec b
+ and a
+ jr nz, .asm_9674 ; 0x967a $f8
+ ld a, $80
+ ld [$ff00+$1a], a
+ pop de
+.asm_9681
+ ld a, d
+ or $80
+ and $c7
+ ld d, a
+ ld b, $3
+ call Func_9838
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ call Func_96b5
+ ret
+; 0x9693
+
+Func_9693: ; 0x9693
+ call Func_96e5
+ jr nc, .asm_96ab ; 0x9696 $13
+ ld d, $0
+ ld a, [$c0f2]
+ add $80
+ jr nc, .asm_96a2 ; 0x969f $1
+ inc d
+.asm_96a2
+ ld [$c0eb], a
+ ld a, d
+ ld [$c0ea], a
+ jr .asm_96b4 ; 0x96a9 $9
+.asm_96ab
+ xor a
+ ld [$c0eb], a
+ ld a, $1
+ ld [$c0ea], a
+.asm_96b4
+ ret
+; 0x96b5
+
+Func_96b5: ; 0x96b5
+ call Func_96e5
+ jr nc, .asm_96c6 ; 0x96b8 $c
+ ld a, [$c0f1]
+ add e
+ jr nc, .asm_96c1 ; 0x96be $1
+ inc d
+.asm_96c1
+ dec hl
+ ld e, a
+ ld [hl], e
+ inc hl
+ ld [hl], d
+.asm_96c6
+ ret
+; 0x96c7
+
+Func_96c7: ; 0x96c7
+ call Func_96e5
+ jr nc, .asm_96e2 ; 0x96ca $16
+ ld hl, $c006
+ ld e, c
+ ld d, $0
+ sla e
+ rl d
+ add hl, de
+ ld a, [hl]
+ sub $1
+ ld [hl], a
+ inc hl
+ ld a, [hl]
+ sbc $0
+ ld [hl], a
+ scf
+ ret
+.asm_96e2
+ scf
+ ccf
+ ret
+; 0x96e5
+
+Func_96e5: ; 0x96e5
+ ld a, [$c02a]
+ cp $14
+ jr nc, .asm_96ee ; 0x96ea $2
+ jr .asm_96f4 ; 0x96ec $6
+.asm_96ee
+ cp $86
+ jr z, .asm_96f4 ; 0x96f0 $2
+ jr c, .asm_96f7 ; 0x96f2 $3
+.asm_96f4
+ scf
+ ccf
+ ret
+.asm_96f7
+ scf
+ ret
+; 0x96f9
+
+Func_96f9: ; 0x96f9
+ ld hl, $c02e
+ add hl, bc
+ bit 5, [hl]
+ jp nz, .asm_9740
+ ld hl, $c09e
+ add hl, bc
+ ld e, [hl]
+ ld hl, $c096
+ add hl, bc
+ ld d, [hl]
+ ld hl, $c07e
+ add hl, bc
+ ld l, [hl]
+ ld h, b
+ add hl, de
+ ld d, h
+ ld e, l
+ ld hl, $c08e
+ add hl, bc
+ push hl
+ ld hl, $c086
+ add hl, bc
+ ld a, [hl]
+ pop hl
+ add [hl]
+ ld [hl], a
+ ld a, $0
+ adc e
+ ld e, a
+ ld a, $0
+ adc d
+ ld d, a
+ ld hl, $c0a6
+ add hl, bc
+ ld a, [hl]
+ cp d
+ jp c, .asm_9786
+ jr nz, .asm_9773 ; 0x9733 $3e
+ ld hl, $c0ae
+ add hl, bc
+ ld a, [hl]
+ cp e
+ jp c, .asm_9786
+ jr .asm_9773 ; 0x973e $33
+.asm_9740
+ ld hl, $c09e
+ add hl, bc
+ ld a, [hl]
+ ld hl, $c096
+ add hl, bc
+ ld d, [hl]
+ ld hl, $c07e
+ add hl, bc
+ ld e, [hl]
+ sub e
+ ld e, a
+ ld a, d
+ sbc b
+ ld d, a
+ ld hl, $c086
+ add hl, bc
+ ld a, [hl]
+ add a
+ ld [hl], a
+ ld a, e
+ sbc b
+ ld e, a
+ ld a, d
+ sbc b
+ ld d, a
+ ld hl, $c0a6
+ add hl, bc
+ ld a, d
+ cp [hl]
+ jr c, .asm_9786 ; 0x9767 $1d
+ jr nz, .asm_9773 ; 0x9769 $8
+ ld hl, $c0ae
+ add hl, bc
+ ld a, e
+ cp [hl]
+ jr c, .asm_9786 ; 0x9771 $13
+.asm_9773
+ ld hl, $c09e
+ add hl, bc
+ ld [hl], e
+ ld hl, $c096
+ add hl, bc
+ ld [hl], d
+ ld b, $3
+ call Func_9838
+ ld a, e
+ ld [hli], a
+ ld [hl], d
+ ret
+.asm_9786
+ ld hl, $c02e
+ add hl, bc
+ res 4, [hl]
+ res 5, [hl]
+ ret
+; 0x978f
+
+Func_978f: ; 0x978f
+ ld hl, $c096
+ add hl, bc
+ ld [hl], d
+ ld hl, $c09e
+ add hl, bc
+ ld [hl], e
+ ld hl, $c0b6
+ add hl, bc
+ ld a, [hl]
+ ld hl, $c076
+ add hl, bc
+ sub [hl]
+ jr nc, .asm_97a7 ; 0x97a3 $2
+ ld a, $1
+.asm_97a7
+ ld [hl], a
+ ld hl, $c0ae
+ add hl, bc
+ ld a, e
+ sub [hl]
+ ld e, a
+ ld a, d
+ sbc b
+ ld hl, $c0a6
+ add hl, bc
+ sub [hl]
+ jr c, .asm_97c3 ; 0x97b6 $b
+ ld d, a
+ ld b, $0
+ ld hl, $c02e
+ add hl, bc
+ set 5, [hl]
+ jr .asm_97e6 ; 0x97c1 $23
+.asm_97c3
+ ld hl, $c096
+ add hl, bc
+ ld d, [hl]
+ ld hl, $c09e
+ add hl, bc
+ ld e, [hl]
+ ld hl, $c0ae
+ add hl, bc
+ ld a, [hl]
+ sub e
+ ld e, a
+ ld a, d
+ sbc b
+ ld d, a
+ ld hl, $c0a6
+ add hl, bc
+ ld a, [hl]
+ sub d
+ ld d, a
+ ld b, $0
+ ld hl, $c02e
+ add hl, bc
+ res 5, [hl]
+.asm_97e6
+ ld hl, $c076
+ add hl, bc
+.asm_97ea
+ inc b
+ ld a, e
+ sub [hl]
+ ld e, a
+ jr nc, .asm_97ea ; 0x97ee $fa
+ ld a, d
+ and a
+ jr z, .asm_97f8 ; 0x97f2 $4
+ dec a
+ ld d, a
+ jr .asm_97ea ; 0x97f6 $f2
+.asm_97f8
+ ld a, e
+ add [hl]
+ ld d, b
+ ld b, $0
+ ld hl, $c07e
+ add hl, bc
+ ld [hl], d
+ ld hl, $c086
+ add hl, bc
+ ld [hl], a
+ ld hl, $c08e
+ add hl, bc
+ ld [hl], a
+ ret
+; 0x980d
+
+Func_980d: ; 0x980d
+ ld b, $0
+ ld hl, $c046
+ add hl, bc
+ ld a, [hl]
+ rlca
+ rlca
+ ld [hl], a
+ and $c0
+ ld d, a
+ ld b, $1
+ call Func_9838
+ ld a, [hl]
+ and $3f
+ or d
+ ld [hl], a
+ ret
+; 0x9825
+
+Func_9825: ; 0x9825
+ ld d, $0
+ ld a, c
+ add a
+ ld e, a
+ ld hl, $c006
+ add hl, de
+ ld a, [hli]
+ ld e, a
+ ld a, [hld]
+ ld d, a
+ ld a, [de]
+ inc de
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ ret
+; 0x9838
+
+Func_9838: ; 0x9838
+ ld a, c
+ ld hl, $5b17
+ add l
+ jr nc, .asm_9840 ; 0x983d $1
+ inc h
+.asm_9840
+ ld l, a
+ ld a, [hl]
+ add b
+ ld l, a
+ ld h, $ff
+ ret
+; 0x9847
+
+Func_9847: ; 0x9847
+ ld h, $0
+.asm_9849
+ srl a
+ jr nc, .asm_984e ; 0x984b $1
+ add hl, de
+.asm_984e
+ sla e
+ rl d
+ and a
+ jr z, .asm_9857 ; 0x9853 $2
+ jr .asm_9849 ; 0x9855 $f2
+.asm_9857
+ ret
+; 0x9858
+
+Func_9858: ; 0x9858
+ ld h, $0
+ ld l, a
+ add hl, hl
+ ld d, h
+ ld e, l
+ ld hl, $5b2f
+ add hl, de
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld a, b
+.asm_9866
+ cp $7
+ jr z, .asm_9871 ; 0x9868 $7
+ sra d
+ rr e
+ inc a
+ jr .asm_9866 ; 0x986f $f5
+.asm_9871
+ ld a, $8
+ add d
+ ld d, a
+ ret
+; 0x9876
+
+Func_9876: ; 0x9876
+ ld [$c001], a
+ cp $ff
+ jp z, Func_9a34
+ cp $b9
+ jp z, Func_994e
+ jp c, Func_994e
+ cp $fe
+ jr z, .asm_988d ; 0x9888 $3
+ jp nc, Func_994e
+.asm_988d
+ xor a
+ ld [$c000], a
+ ld [$c003], a
+ ld [$c0e9], a
+ ld [$c0e6], a
+ ld [$c0e7], a
+ ld d, $8
+ ld hl, $c016
+ call Func_9a89
+ ld hl, $c006
+ call Func_9a89
+ ld d, $4
+ ld hl, $c026
+ call Func_9a89
+ ld hl, $c02e
+ call Func_9a89
+ ld hl, $c03e
+ call Func_9a89
+ ld hl, $c046
+ call Func_9a89
+ ld hl, $c04e
+ call Func_9a89
+ ld hl, $c056
+ call Func_9a89
+ ld hl, $c05e
+ call Func_9a89
+ ld hl, $c066
+ call Func_9a89
+ ld hl, $c06e
+ call Func_9a89
+ ld hl, $c036
+ call Func_9a89
+ ld hl, $c076
+ call Func_9a89
+ ld hl, $c07e
+ call Func_9a89
+ ld hl, $c086
+ call Func_9a89
+ ld hl, $c08e
+ call Func_9a89
+ ld hl, $c096
+ call Func_9a89
+ ld hl, $c09e
+ call Func_9a89
+ ld hl, $c0a6
+ call Func_9a89
+ ld hl, $c0ae
+ call Func_9a89
+ ld a, $1
+ ld hl, $c0be
+ call Func_9a89
+ ld hl, $c0b6
+ call Func_9a89
+ ld hl, $c0c6
+ call Func_9a89
+ ld [$c0e8], a
+ ld a, $ff
+ ld [$c004], a
+ xor a
+ ld [$ff00+$24], a
+ ld a, $8
+ ld [$ff00+$10], a
+ ld a, $0
+ ld [$ff00+$25], a
+ xor a
+ ld [$ff00+$1a], a
+ ld a, $80
+ ld [$ff00+$1a], a
+ ld a, $77
+ ld [$ff00+$24], a
+ jp Func_9a8f
+; 0x994e
+
+Func_994e: ; 0x994e
+ ld l, a
+ ld e, a
+ ld h, $0
+ ld d, h
+ add hl, hl
+ add hl, de
+ ld de, $4000
+ add hl, de
+ ld a, h
+ ld [$c0ec], a
+ ld a, l
+ ld [$c0ed], a
+ ld a, [hl]
+ and $c0
+ rlca
+ rlca
+ ld c, a
+.asm_9967
+ ld d, c
+ ld a, c
+ add a
+ add c
+ ld c, a
+ ld b, $0
+ ld a, [$c0ec]
+ ld h, a
+ ld a, [$c0ed]
+ ld l, a
+ add hl, bc
+ ld c, d
+ ld a, [hl]
+ and $f
+ ld e, a
+ ld d, $0
+ ld hl, $c026
+ add hl, de
+ ld a, [hl]
+ and a
+ jr z, .asm_99a3 ; 0x9984 $1d
+ ld a, e
+ cp $7
+ jr nz, .asm_999a ; 0x9989 $f
+ ld a, [$c001]
+ cp $14
+ jr nc, .asm_9993 ; 0x9990 $1
+ ret
+.asm_9993
+ ld a, [hl]
+ cp $14
+ jr z, .asm_99a3 ; 0x9996 $b
+ jr c, .asm_99a3 ; 0x9998 $9
+.asm_999a
+ ld a, [$c001]
+ cp [hl]
+ jr z, .asm_99a3 ; 0x999e $3
+ jr c, .asm_99a3 ; 0x99a0 $1
+ ret
+.asm_99a3
+ xor a
+ push de
+ ld h, d
+ ld l, e
+ add hl, hl
+ ld d, h
+ ld e, l
+ ld hl, $c016
+ add hl, de
+ ld [hli], a
+ ld [hl], a
+ ld hl, $c006
+ add hl, de
+ ld [hli], a
+ ld [hl], a
+ pop de
+ ld hl, $c026
+ add hl, de
+ ld [hl], a
+ ld hl, $c02e
+ add hl, de
+ ld [hl], a
+ ld hl, $c03e
+ add hl, de
+ ld [hl], a
+ ld hl, $c046
+ add hl, de
+ ld [hl], a
+ ld hl, $c04e
+ add hl, de
+ ld [hl], a
+ ld hl, $c056
+ add hl, de
+ ld [hl], a
+ ld hl, $c05e
+ add hl, de
+ ld [hl], a
+ ld hl, $c066
+ add hl, de
+ ld [hl], a
+ ld hl, $c06e
+ add hl, de
+ ld [hl], a
+ ld hl, $c076
+ add hl, de
+ ld [hl], a
+ ld hl, $c07e
+ add hl, de
+ ld [hl], a
+ ld hl, $c086
+ add hl, de
+ ld [hl], a
+ ld hl, $c08e
+ add hl, de
+ ld [hl], a
+ ld hl, $c096
+ add hl, de
+ ld [hl], a
+ ld hl, $c09e
+ add hl, de
+ ld [hl], a
+ ld hl, $c0a6
+ add hl, de
+ ld [hl], a
+ ld hl, $c0ae
+ add hl, de
+ ld [hl], a
+ ld hl, $c036
+ add hl, de
+ ld [hl], a
+ ld a, $1
+ ld hl, $c0be
+ add hl, de
+ ld [hl], a
+ ld hl, $c0b6
+ add hl, de
+ ld [hl], a
+ ld hl, $c0c6
+ add hl, de
+ ld [hl], a
+ ld a, e
+ cp $4
+ jr nz, .asm_9a2b ; 0x9a25 $4
+ ld a, $8
+ ld [$ff00+$10], a
+.asm_9a2b
+ ld a, c
+ and a
+ jp z, Func_9a8f
+ dec c
+ jp .asm_9967
+; 0x9a34
+
+Func_9a34: ; 0x9a34
+ ld a, $80
+ ld [$ff00+$26], a
+ ld [$ff00+$1a], a
+ xor a
+ ld [$ff00+$25], a
+ ld [$ff00+$1c], a
+ ld a, $8
+ ld [$ff00+$10], a
+ ld [$ff00+$12], a
+ ld [$ff00+$17], a
+ ld [$ff00+$21], a
+ ld a, $40
+ ld [$ff00+$14], a
+ ld [$ff00+$19], a
+ ld [$ff00+$23], a
+ ld a, $77
+ ld [$ff00+$24], a
+ xor a
+ ld [$c000], a
+ ld [$c003], a
+ ld [$c002], a
+ ld [$c0e9], a
+ ld [$c0eb], a
+ ld [$c0e6], a
+ ld [$c0e7], a
+ ld d, $a0
+ ld hl, $c006
+ call Func_9a89
+ ld a, $1
+ ld d, $18
+ ld hl, $c0b6
+ call Func_9a89
+ ld [$c0e8], a
+ ld [$c0ea], a
+ ld a, $ff
+ ld [$c004], a
+ ret
+; 0x9a89
+
+Func_9a89: ; 0x9a89
+ ld b, d
+.asm_9a8a
+ ld [hli], a
+ dec b
+ jr nz, .asm_9a8a ; 0x9a8c $fc
+ ret
+; 0x9a8f
+
+Func_9a8f: ; 0x9a8f
+ ld a, [$c001]
+ ld l, a
+ ld e, a
+ ld h, $0
+ ld d, h
+ add hl, hl
+ add hl, de
+ ld de, $4000
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, $c006
+ ld a, [de]
+ ld b, a
+ rlca
+ rlca
+ and $3
+ ld c, a
+ ld a, b
+ and $f
+ ld b, c
+ inc b
+ inc de
+ ld c, $0
+.asm_9ab1
+ cp c
+ jr z, .asm_9ab9 ; 0x9ab2 $5
+ inc c
+ inc hl
+ inc hl
+ jr .asm_9ab1 ; 0x9ab7 $f8
+.asm_9ab9
+ push hl
+ push bc
+ push af
+ ld b, $0
+ ld c, a
+ ld hl, $c026
+ add hl, bc
+ ld a, [$c001]
+ ld [hl], a
+ pop af
+ cp $3
+ jr c, .asm_9ad2 ; 0x9aca $6
+ ld hl, $c02e
+ add hl, bc
+ set 2, [hl]
+.asm_9ad2
+ pop bc
+ pop hl
+ ld a, [de]
+ ld [hli], a
+ inc de
+ ld a, [de]
+ ld [hli], a
+ inc de
+ inc c
+ dec b
+ ld a, b
+ and a
+ ld a, [de]
+ inc de
+ jr nz, .asm_9ab1 ; 0x9ae0 $cf
+ ld a, [$c001]
+ cp $14
+ jr nc, .asm_9aeb ; 0x9ae7 $2
+ jr .asm_9b15 ; 0x9ae9 $2a
+.asm_9aeb
+ ld a, [$c001]
+ cp $86
+ jr z, .asm_9b15 ; 0x9af0 $23
+ jr c, .asm_9af6 ; 0x9af2 $2
+ jr .asm_9b15 ; 0x9af4 $1f
+.asm_9af6
+ ld hl, $c02a
+ ld [hli], a
+ ld [hli], a
+ ld [hli], a
+ ld [hl], a
+ ld hl, $c012
+ ld de, $5b16
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ ld a, [$c005]
+ and a
+ jr nz, .asm_9b15 ; 0x9b0a $9
+ ld a, [$ff00+$24]
+ ld [$c005], a
+ ld a, $77
+ ld [$ff00+$24], a
+.asm_9b15
+ ret
+; 0x9b16
+
+INCBIN "baserom.gbc",$9b16,$9b47 - $9b16
+
+Func_9b47: ; 0x9b47
+ ld c, $2
+ ld a, $de
+ call PlayMusic
+ ld hl, $c006
+ ld de, $71a2
+ call Func_9b60
+ ld de, $721d
+ call Func_9b60
+ ld de, $72b5
+
+Func_9b60: ; 0x9b60
+ ld a, e
+ ld [hli], a
+ ld a, d
+ ld [hli], a
+ ret
+; 0x9b65
+
+Func_9b65: ; 0x9b65
+ ld c, $2
+ ld a, $de
+ call PlayMusic
+ ld hl, $c006
+ ld de, $7119
+ jp Func_9b60
+; 0x9b75
+
+Func_9b75: ; 0x9b75
+ call Func_9b47
+ ld hl, $c006
+ ld de, $719b
+ jp Func_9b60
+; 0x9b81
+
+Func_9b81: ; 0x9b81
+ ld a, $a
+ ld [$cfc8], a
+ ld [$cfc9], a
+ ld a, $ff
+ ld [$cfc7], a
+ ld c, $64
+ call DelayFrames
+ ld c, $2
+ ld a, $c3
+ call PlayMusic
+ ld hl, $c006
+ ld de, $6a6f
+ jp Func_9b60
+; 0x9ba3
+
+INCLUDE "music/pkmnhealed.tx"
+INCLUDE "music/routes1.tx"
+INCLUDE "music/routes2.tx"
+INCLUDE "music/routes3.tx"
+INCLUDE "music/routes4.tx"
+INCLUDE "music/indigoplateau.tx"
+INCLUDE "music/pallettown.tx"
+INCLUDE "music/unusedsong.tx"
+INCLUDE "music/cities1.tx"
+INCLUDE "music/sfx/sfx_02_3a.tx"
+INCLUDE "music/museumguy.tx"
+INCLUDE "music/meetprofoak.tx"
+INCLUDE "music/meetrival.tx"
+INCLUDE "music/sfx/sfx_02_41.tx"
+INCLUDE "music/sfx/sfx_02_3b.tx"
+INCLUDE "music/sfx/sfx_02_42.tx"
+INCLUDE "music/ssanne.tx"
+INCLUDE "music/cities2.tx"
+INCLUDE "music/celadon.tx"
+INCLUDE "music/cinnabar.tx"
+INCLUDE "music/vermilion.tx"
+INCLUDE "music/lavender.tx"
+INCLUDE "music/safarizone.tx"
+INCLUDE "music/gym.tx"
+INCLUDE "music/pokecenter.tx"
-INCLUDE "music.asm"
-
SECTION "bank3",ROMX,BANK[$3]
; known jump sources: 1a4 (0:1a4)
@@ -42322,14 +43978,157 @@ UnnamedText_1ecbd: ; 1ecbd (7:6cbd)
SECTION "bank8",ROMX,BANK[$8]
-Unknown_20000: ; 20000 (8:4000)
-INCBIN "baserom.gbc",$20000,$20361 - $20000
+INCLUDE "music/headers/sfxheaders08.tx"
+INCLUDE "music/headers/musicheaders08.tx"
+
+INCLUDE "music/sfx/sfx_08_01.tx"
+INCLUDE "music/sfx/sfx_08_02.tx"
+INCLUDE "music/sfx/sfx_08_03.tx"
+INCLUDE "music/sfx/sfx_08_04.tx"
+INCLUDE "music/sfx/sfx_08_05.tx"
+INCLUDE "music/sfx/sfx_08_06.tx"
+INCLUDE "music/sfx/sfx_08_07.tx"
+INCLUDE "music/sfx/sfx_08_08.tx"
+INCLUDE "music/sfx/sfx_08_09.tx"
+INCLUDE "music/sfx/sfx_08_0a.tx"
+INCLUDE "music/sfx/sfx_08_0b.tx"
+INCLUDE "music/sfx/sfx_08_0c.tx"
+INCLUDE "music/sfx/sfx_08_0d.tx"
+INCLUDE "music/sfx/sfx_08_0e.tx"
+INCLUDE "music/sfx/sfx_08_0f.tx"
+INCLUDE "music/sfx/sfx_08_10.tx"
+INCLUDE "music/sfx/sfx_08_11.tx"
+INCLUDE "music/sfx/sfx_08_12.tx"
+INCLUDE "music/sfx/sfx_08_13.tx"
Unknown_20361: ; 20361 (8:4361)
-INCBIN "baserom.gbc",$20361,$2049b - $20361
+INCBIN "baserom.gbc",$20361,$203c3 - $20361
+
+INCLUDE "music/sfx/sfx_08_40.tx"
+INCLUDE "music/sfx/sfx_08_3f.tx"
+INCLUDE "music/sfx/sfx_08_3c.tx"
+INCLUDE "music/sfx/sfx_08_3d.tx"
+INCLUDE "music/sfx/sfx_08_3e.tx"
+INCLUDE "music/sfx/sfx_08_77.tx"
+INCLUDE "music/sfx/sfx_08_41.tx"
+INCLUDE "music/sfx/sfx_08_42.tx"
+INCLUDE "music/sfx/sfx_08_43.tx"
+INCLUDE "music/sfx/sfx_08_44.tx"
+INCLUDE "music/sfx/sfx_08_45.tx"
Unknown_2049b: ; 2049b (8:449b)
-INCBIN "baserom.gbc",$2049b,$2136e - $2049b
+INCBIN "baserom.gbc",$2049b,$204aa - $2049b
+
+INCLUDE "music/sfx/sfx_08_47.tx"
+INCLUDE "music/sfx/sfx_08_48.tx"
+INCLUDE "music/sfx/sfx_08_49.tx"
+INCLUDE "music/sfx/sfx_08_4a.tx"
+INCLUDE "music/sfx/sfx_08_4b.tx"
+INCLUDE "music/sfx/sfx_08_4c.tx"
+
+INCBIN "baserom.gbc",$204d1,$204d6 - $204d1 ; unknown music
+
+INCLUDE "music/sfx/sfx_08_4d.tx"
+INCLUDE "music/sfx/sfx_08_4e.tx"
+INCLUDE "music/sfx/sfx_08_4f.tx"
+INCLUDE "music/sfx/sfx_08_50.tx"
+INCLUDE "music/sfx/sfx_08_51.tx"
+INCLUDE "music/sfx/sfx_08_52.tx"
+INCLUDE "music/sfx/sfx_08_53.tx"
+INCLUDE "music/sfx/sfx_08_54.tx"
+
+INCBIN "baserom.gbc",$20528,$20533 - $20528 ; unknown music
+
+INCLUDE "music/sfx/sfx_08_55.tx"
+INCLUDE "music/sfx/sfx_08_56.tx"
+INCLUDE "music/sfx/sfx_08_57.tx"
+INCLUDE "music/sfx/sfx_08_58.tx"
+
+INCBIN "baserom.gbc",$20565,$2056a - $20565 ; unknown music
+
+INCLUDE "music/sfx/sfx_08_59.tx"
+INCLUDE "music/sfx/sfx_08_5a.tx"
+INCLUDE "music/sfx/sfx_08_5b.tx"
+INCLUDE "music/sfx/sfx_08_5c.tx"
+INCLUDE "music/sfx/sfx_08_5d.tx"
+INCLUDE "music/sfx/sfx_08_5e.tx"
+INCLUDE "music/sfx/sfx_08_5f.tx"
+INCLUDE "music/sfx/sfx_08_60.tx"
+INCLUDE "music/sfx/sfx_08_61.tx"
+INCLUDE "music/sfx/sfx_08_62.tx"
+INCLUDE "music/sfx/sfx_08_63.tx"
+INCLUDE "music/sfx/sfx_08_64.tx"
+INCLUDE "music/sfx/sfx_08_65.tx"
+INCLUDE "music/sfx/sfx_08_66.tx"
+
+INCBIN "baserom.gbc",$20610,$20624 - $20610 ; unknown music
+
+INCLUDE "music/sfx/sfx_08_67.tx"
+INCLUDE "music/sfx/sfx_08_68.tx"
+INCLUDE "music/sfx/sfx_08_69.tx"
+INCLUDE "music/sfx/sfx_08_6a.tx"
+INCLUDE "music/sfx/sfx_08_6b.tx"
+INCLUDE "music/sfx/sfx_08_6c.tx"
+INCLUDE "music/sfx/sfx_08_6d.tx"
+INCLUDE "music/sfx/sfx_08_6e.tx"
+INCLUDE "music/sfx/sfx_08_6f.tx"
+
+INCBIN "baserom.gbc",$207f1,$207fa - $207f1 ; unknown music
+
+INCLUDE "music/sfx/sfx_08_70.tx"
+INCLUDE "music/sfx/sfx_08_71.tx"
+
+INCBIN "baserom.gbc",$20862,$20875 - $20862 ; unknown music
+
+INCLUDE "music/sfx/sfx_08_72.tx"
+INCLUDE "music/sfx/sfx_08_73.tx"
+INCLUDE "music/sfx/sfx_08_74.tx"
+
+INCBIN "baserom.gbc",$208d5,$208e0 - $208d5 ; unknown music
+
+INCLUDE "music/sfx/sfx_08_75.tx"
+INCLUDE "music/sfx/sfx_08_76.tx"
+
+INCBIN "baserom.gbc",$2098b,$209d7 - $2098b ; unknown music
+
+INCLUDE "music/sfx/sfx_08_1d.tx"
+INCLUDE "music/sfx/sfx_08_37.tx"
+INCLUDE "music/sfx/sfx_08_38.tx"
+INCLUDE "music/sfx/sfx_08_25.tx"
+INCLUDE "music/sfx/sfx_08_39.tx"
+INCLUDE "music/sfx/sfx_08_17.tx"
+INCLUDE "music/sfx/sfx_08_23.tx"
+INCLUDE "music/sfx/sfx_08_24.tx"
+INCLUDE "music/sfx/sfx_08_14.tx"
+INCLUDE "music/sfx/sfx_08_22.tx"
+INCLUDE "music/sfx/sfx_08_1a.tx"
+INCLUDE "music/sfx/sfx_08_1b.tx"
+INCLUDE "music/sfx/sfx_08_19.tx"
+INCLUDE "music/sfx/sfx_08_1f.tx"
+INCLUDE "music/sfx/sfx_08_20.tx"
+INCLUDE "music/sfx/sfx_08_16.tx"
+INCLUDE "music/sfx/sfx_08_21.tx"
+INCLUDE "music/sfx/sfx_08_15.tx"
+INCLUDE "music/sfx/sfx_08_1e.tx"
+INCLUDE "music/sfx/sfx_08_1c.tx"
+INCLUDE "music/sfx/sfx_08_18.tx"
+INCLUDE "music/sfx/sfx_08_2d.tx"
+INCLUDE "music/sfx/sfx_08_2a.tx"
+INCLUDE "music/sfx/sfx_08_2f.tx"
+INCLUDE "music/sfx/sfx_08_26.tx"
+INCLUDE "music/sfx/sfx_08_27.tx"
+INCLUDE "music/sfx/sfx_08_28.tx"
+INCLUDE "music/sfx/sfx_08_32.tx"
+INCLUDE "music/sfx/sfx_08_29.tx"
+INCLUDE "music/sfx/sfx_08_2b.tx"
+INCLUDE "music/sfx/sfx_08_30.tx"
+INCLUDE "music/sfx/sfx_08_2e.tx"
+INCLUDE "music/sfx/sfx_08_31.tx"
+INCLUDE "music/sfx/sfx_08_2c.tx"
+INCLUDE "music/sfx/sfx_08_33.tx"
+INCLUDE "music/sfx/sfx_08_34.tx"
+INCLUDE "music/sfx/sfx_08_35.tx"
+INCLUDE "music/sfx/sfx_08_36.tx"
Func_2136e: ; 2136e (8:536e)
ld a, [$d083]
@@ -44406,7 +46205,7 @@ Func_2210d: ; 2210d (8:610d)
ld d, h
add hl, hl
add hl, de
- ld de, Unknown_20000 ; $4000
+ ld de, SFX_Headers_08 ; $4000
add hl, de
ld a, h
ld [$c0ec], a
@@ -44610,7 +46409,7 @@ Func_2224e: ; 2224e (8:624e)
ld d, h
add hl, hl
add hl, de
- ld de, Unknown_20000 ; $4000
+ ld de, SFX_Headers_08 ; $4000
add hl, de
ld e, l
ld d, h
@@ -44735,7 +46534,18 @@ Unknown_22322: ; 22322 (8:6322)
INCBIN "baserom.gbc",$22322,$22325 - $22322
Unknown_22325: ; 22325 (8:6325)
-INCBIN "baserom.gbc",$22325,$23f52 - $22325
+INCBIN "baserom.gbc",$22325,$22370 - $22325
+
+INCLUDE "music/gymleaderbattle.tx"
+INCLUDE "music/trainerbattle.tx"
+INCLUDE "music/wildbattle.tx"
+INCLUDE "music/finalbattle.tx"
+INCLUDE "music/sfx/sfx_08_3a.tx"
+INCLUDE "music/sfx/sfx_08_3b.tx"
+INCLUDE "music/sfx/sfx_08_46.tx"
+INCLUDE "music/defeatedtrainer.tx"
+INCLUDE "music/defeatedwildmon.tx"
+INCLUDE "music/defeatedgymleader.tx"
SECTION "bank9",ROMX,BANK[$9]
@@ -112165,150 +113975,120 @@ TechnicalMachinePrices: ; 7bfa7 (1e:7fa7)
SECTION "bank1F",ROMX,BANK[$1F]
-Unknown_7c000: ; 7c000 (1f:4000)
-INCBIN "baserom.gbc",$7c000,$7c361 - $7c000
+INCLUDE "music/headers/sfxheaders1f.tx"
+INCLUDE "music/headers/musicheaders1f.tx"
+
+INCLUDE "music/sfx/sfx_1f_01.tx"
+INCLUDE "music/sfx/sfx_1f_02.tx"
+INCLUDE "music/sfx/sfx_1f_03.tx"
+INCLUDE "music/sfx/sfx_1f_04.tx"
+INCLUDE "music/sfx/sfx_1f_05.tx"
+INCLUDE "music/sfx/sfx_1f_06.tx"
+INCLUDE "music/sfx/sfx_1f_07.tx"
+INCLUDE "music/sfx/sfx_1f_08.tx"
+INCLUDE "music/sfx/sfx_1f_09.tx"
+INCLUDE "music/sfx/sfx_1f_0a.tx"
+INCLUDE "music/sfx/sfx_1f_0b.tx"
+INCLUDE "music/sfx/sfx_1f_0c.tx"
+INCLUDE "music/sfx/sfx_1f_0d.tx"
+INCLUDE "music/sfx/sfx_1f_0e.tx"
+INCLUDE "music/sfx/sfx_1f_0f.tx"
+INCLUDE "music/sfx/sfx_1f_10.tx"
+INCLUDE "music/sfx/sfx_1f_11.tx"
+INCLUDE "music/sfx/sfx_1f_12.tx"
+INCLUDE "music/sfx/sfx_1f_13.tx"
Unknown_7c361: ; 7c361 (1f:4361)
-INCBIN "baserom.gbc",$7c361,$7c45e - $7c361
-
+INCBIN "baserom.gbc",$7c361,$7c3c3 - $7c361
+
+INCLUDE "music/sfx/sfx_1f_3f.tx"
+INCLUDE "music/sfx/sfx_1f_56.tx"
+INCLUDE "music/sfx/sfx_1f_57.tx"
+INCLUDE "music/sfx/sfx_1f_58.tx"
+INCLUDE "music/sfx/sfx_1f_3c.tx"
+INCLUDE "music/sfx/sfx_1f_59.tx"
+INCLUDE "music/sfx/sfx_1f_5a.tx"
+INCLUDE "music/sfx/sfx_1f_5b.tx"
+INCLUDE "music/sfx/sfx_1f_5c.tx"
+INCLUDE "music/sfx/sfx_1f_40.tx"
IF _RED
-UnknSong_md_7c45e: ; 7c45e (1f:445e)
- mus_duty duty50
- mus_note noteD, note4_16
-
- db $f4
-
- mus_note noteC, note16
- mus_note noteC, note2
- mus_note noteD, note4
-
- mus_octave oct3
- mus_note noteG#, note16
- mus_note noteC, note4_8_16
- mus_note noteD, note4
-
- mus_octave oct3
- mus_note noteRst, note16
-
- mus_note noteC, note4_8_16
- mus_note noteD, note4
-
- mus_octave oct3
- mus_note noteC, note16
- mus_note noteC, note2
- mus_note noteD, note8_16
-
- mus_octave oct3
- mus_note noteA#, note16
- mus_note noteC, note2
-
- mus_end
-UnknSong_md_7c475: ; 7c475 (1f:4475)
- mus_duty duty50
- mus_note noteD, note4_16
- mus_note noteC, note2_16
- mus_note noteC, note16
- mus_note noteC, note16
- mus_note noteD, note4
-
- db $d4
-
- mus_note noteC, note8
- mus_note noteC, note2
- mus_note noteD, note4
- mus_note noteRst, note4_16
-
- mus_note noteG#, note8
- mus_note noteC, note4_8_16
- mus_note noteD, note4
- mus_note noteRst, note4_16
-
- mus_note noteRst, note8
-
- mus_note noteC, note4_8_16
- mus_note noteD, note4
- mus_note noteRst, note4_16
-
- mus_note noteC, note8
- mus_note noteC, note2
- mus_note noteD, note8_16
- mus_note noteRst, note4_16
-
- mus_note noteA#, note8
- mus_note noteC, note2
-
- mus_end
+ INCLUDE "music/sfx/sfx_1f_5d.tx"
ENDC
IF _BLUE
-UnknSong_md_7c45e: ; 7c45e (1f:445e)
- mus_duty duty50
- mus_note noteD, note4
-
- mus_octave oct3
- mus_note noteC, note16
- mus_note noteC, note4_8_16
- mus_note noteD, note4
-
- mus_octave oct3
- mus_note noteG#, note16
- mus_note noteC, note4_8_16
- mus_note noteD, note4
-
- mus_octave oct3
- mus_note noteRst, note16
-
- mus_note noteC, note4_8_16
- mus_note noteD, note4
-
- mus_octave oct3
- mus_note noteC, note16
- mus_note noteC, note2
- mus_note noteD, note1
-
- db $f2
-
- mus_octave oct7
- mus_note noteC, note2
-
- mus_end
-UnknSong_md_7c475: ; 7c475 (1f:4475)
- mus_duty duty50
- mus_note noteD, note4
- mus_note noteC, note2_16
- mus_note noteC, note16
- mus_note noteC, note16
- mus_note noteD, note4
- mus_note noteRst, note4_16
-
- mus_note noteC, note8
- mus_note noteC, note4_8_16
- mus_note noteD, note4
- mus_note noteRst, note4_16
-
- mus_note noteG#, note8
- mus_note noteC, note4_8_16
- mus_note noteD, note4
- mus_note noteRst, note4_16
-
- mus_note noteRst, note8
-
- mus_note noteC, note4_8_16
- mus_note noteD, note4
- mus_note noteRst, note4_16
-
- mus_note noteC, note8
- mus_note noteC, note2
- mus_note noteD, note1
-
- db $d2
-
- mus_octave oct6
- mus_note noteC, note2
-
- mus_end
+ INCLUDE "music/blue/sfx_1f_5d.tx"
ENDC
-
-INCBIN "baserom.gbc",$7c490,$7d13b - $7c490
+INCLUDE "music/sfx/sfx_1f_3d.tx"
+INCLUDE "music/sfx/sfx_1f_43.tx"
+INCLUDE "music/sfx/sfx_1f_3e.tx"
+INCLUDE "music/sfx/sfx_1f_44.tx"
+INCLUDE "music/sfx/sfx_1f_45.tx"
+INCLUDE "music/sfx/sfx_1f_46.tx"
+INCLUDE "music/sfx/sfx_1f_47.tx"
+INCLUDE "music/sfx/sfx_1f_48.tx"
+INCLUDE "music/sfx/sfx_1f_49.tx"
+INCLUDE "music/sfx/sfx_1f_4a.tx"
+INCLUDE "music/sfx/sfx_1f_4b.tx"
+INCLUDE "music/sfx/sfx_1f_4c.tx"
+INCLUDE "music/sfx/sfx_1f_4d.tx"
+INCLUDE "music/sfx/sfx_1f_4e.tx"
+INCLUDE "music/sfx/sfx_1f_4f.tx"
+INCLUDE "music/sfx/sfx_1f_50.tx"
+INCLUDE "music/sfx/sfx_1f_51.tx"
+INCLUDE "music/sfx/sfx_1f_52.tx"
+INCLUDE "music/sfx/sfx_1f_53.tx"
+INCLUDE "music/sfx/sfx_1f_54.tx"
+INCLUDE "music/sfx/sfx_1f_55.tx"
+INCLUDE "music/sfx/sfx_1f_5e.tx"
+INCLUDE "music/sfx/sfx_1f_5f.tx"
+INCLUDE "music/sfx/sfx_1f_60.tx"
+INCLUDE "music/sfx/sfx_1f_61.tx"
+INCLUDE "music/sfx/sfx_1f_62.tx"
+INCLUDE "music/sfx/sfx_1f_63.tx"
+INCLUDE "music/sfx/sfx_1f_64.tx"
+INCLUDE "music/sfx/sfx_1f_65.tx"
+INCLUDE "music/sfx/sfx_1f_66.tx"
+INCLUDE "music/sfx/sfx_1f_67.tx"
+
+INCBIN "baserom.gbc",$7c758,$7c7a4 - $7c758
+
+INCLUDE "music/sfx/sfx_1f_1d.tx"
+INCLUDE "music/sfx/sfx_1f_37.tx"
+INCLUDE "music/sfx/sfx_1f_38.tx"
+INCLUDE "music/sfx/sfx_1f_25.tx"
+INCLUDE "music/sfx/sfx_1f_39.tx"
+INCLUDE "music/sfx/sfx_1f_17.tx"
+INCLUDE "music/sfx/sfx_1f_23.tx"
+INCLUDE "music/sfx/sfx_1f_24.tx"
+INCLUDE "music/sfx/sfx_1f_14.tx"
+INCLUDE "music/sfx/sfx_1f_22.tx"
+INCLUDE "music/sfx/sfx_1f_1a.tx"
+INCLUDE "music/sfx/sfx_1f_1b.tx"
+INCLUDE "music/sfx/sfx_1f_19.tx"
+INCLUDE "music/sfx/sfx_1f_1f.tx"
+INCLUDE "music/sfx/sfx_1f_20.tx"
+INCLUDE "music/sfx/sfx_1f_16.tx"
+INCLUDE "music/sfx/sfx_1f_21.tx"
+INCLUDE "music/sfx/sfx_1f_15.tx"
+INCLUDE "music/sfx/sfx_1f_1e.tx"
+INCLUDE "music/sfx/sfx_1f_1c.tx"
+INCLUDE "music/sfx/sfx_1f_18.tx"
+INCLUDE "music/sfx/sfx_1f_2d.tx"
+INCLUDE "music/sfx/sfx_1f_2a.tx"
+INCLUDE "music/sfx/sfx_1f_2f.tx"
+INCLUDE "music/sfx/sfx_1f_26.tx"
+INCLUDE "music/sfx/sfx_1f_27.tx"
+INCLUDE "music/sfx/sfx_1f_28.tx"
+INCLUDE "music/sfx/sfx_1f_32.tx"
+INCLUDE "music/sfx/sfx_1f_29.tx"
+INCLUDE "music/sfx/sfx_1f_2b.tx"
+INCLUDE "music/sfx/sfx_1f_30.tx"
+INCLUDE "music/sfx/sfx_1f_2e.tx"
+INCLUDE "music/sfx/sfx_1f_31.tx"
+INCLUDE "music/sfx/sfx_1f_2c.tx"
+INCLUDE "music/sfx/sfx_1f_33.tx"
+INCLUDE "music/sfx/sfx_1f_34.tx"
+INCLUDE "music/sfx/sfx_1f_35.tx"
+INCLUDE "music/sfx/sfx_1f_36.tx"
; known jump sources: 441b0 (11:41b0)
Func_7d13b: ; 7d13b (1f:513b)
@@ -113700,7 +115480,7 @@ Func_7d9c2: ; 7d9c2 (1f:59c2)
ld d, h
add hl, hl
add hl, de
- ld de, Unknown_7c000 ; $4000
+ ld de, SFX_Headers_1f ; $4000
add hl, de
ld a, h
ld [$c0ec], a
@@ -113904,7 +115684,7 @@ Func_7db03: ; 7db03 (1f:5b03)
ld d, h
add hl, hl
add hl, de
- ld de, Unknown_7c000 ; $4000
+ ld de, SFX_Headers_1f ; $4000
add hl, de
ld e, l
ld d, h
@@ -114004,7 +115784,30 @@ Unknown_7db9b: ; 7db9b (1f:5b9b)
INCBIN "baserom.gbc",$7db9b,$7dba3 - $7db9b
Unknown_7dba3: ; 7dba3 (1f:5ba3)
-INCBIN "baserom.gbc",$7dba3,$80000 - $7dba3
+INCBIN "baserom.gbc",$7dba3,$7dbbb - $7dba3
+
+INCLUDE "music/bikeriding.tx"
+INCLUDE "music/dungeon1.tx"
+INCLUDE "music/gamecorner.tx"
+INCLUDE "music/titlescreen.tx"
+INCLUDE "music/sfx/sfx_1f_3a.tx"
+INCLUDE "music/dungeon2.tx"
+INCLUDE "music/dungeon3.tx"
+INCLUDE "music/cinnabarmansion.tx"
+INCLUDE "music/sfx/sfx_1f_41.tx"
+INCLUDE "music/sfx/sfx_1f_3b.tx"
+INCLUDE "music/sfx/sfx_1f_42.tx"
+INCLUDE "music/oakslab.tx"
+INCLUDE "music/pokemontower.tx"
+INCLUDE "music/silphco.tx"
+INCLUDE "music/meeteviltrainer.tx"
+INCLUDE "music/meetfemaletrainer.tx"
+INCLUDE "music/meetmaletrainer.tx"
+INCLUDE "music/introbattle.tx"
+INCLUDE "music/surfing.tx"
+INCLUDE "music/jigglypuffsong.tx"
+INCLUDE "music/halloffame.tx"
+INCLUDE "music/credits.tx"
SECTION "bank20",ROMX,BANK[$20]