split audio components into audio_red.o and audio_blue.o

This commit is contained in:
yenatch 2014-01-09 02:59:53 -05:00
parent 5acb7d8294
commit 10bb09c4e2
6 changed files with 1378 additions and 1295 deletions

View file

@ -6,8 +6,13 @@ PYTHON := python
TEXTQUEUE :=
RED_OBJS := pokered.o
BLUE_OBJS := pokeblue.o
RED_OBJS := \
pokered.o \
audio_red.o
BLUE_OBJS := \
pokeblue.o \
audio_blue.o
OBJS := $(RED_OBJS) $(BLUE_OBJS)

778
audio.asm Normal file
View file

@ -0,0 +1,778 @@
INCLUDE "globals.asm"
AUDIO_1 EQU $2
AUDIO_2 EQU $8
AUDIO_3 EQU $1f
INCLUDE "macros.asm"
INCLUDE "constants/trainer_constants.asm"
; PC
INCLUDE "hram.asm"
INCLUDE "constants/move_constants.asm"
SECTION "Sound Effect Headers 1", ROMX, BANK[AUDIO_1]
INCLUDE "music/headers/sfxheaders02.asm"
SECTION "Music Headers 1", ROMX, BANK[AUDIO_1]
INCLUDE "music/headers/musicheaders02.asm"
SECTION "Sound Effects 1", ROMX, BANK[AUDIO_1]
INCLUDE "music/sfx/sfx_02_01.asm"
INCLUDE "music/sfx/sfx_02_02.asm"
INCLUDE "music/sfx/sfx_02_03.asm"
INCLUDE "music/sfx/sfx_02_04.asm"
INCLUDE "music/sfx/sfx_02_05.asm"
INCLUDE "music/sfx/sfx_02_06.asm"
INCLUDE "music/sfx/sfx_02_07.asm"
INCLUDE "music/sfx/sfx_02_08.asm"
INCLUDE "music/sfx/sfx_02_09.asm"
INCLUDE "music/sfx/sfx_02_0a.asm"
INCLUDE "music/sfx/sfx_02_0b.asm"
INCLUDE "music/sfx/sfx_02_0c.asm"
INCLUDE "music/sfx/sfx_02_0d.asm"
INCLUDE "music/sfx/sfx_02_0e.asm"
INCLUDE "music/sfx/sfx_02_0f.asm"
INCLUDE "music/sfx/sfx_02_10.asm"
INCLUDE "music/sfx/sfx_02_11.asm"
INCLUDE "music/sfx/sfx_02_12.asm"
INCLUDE "music/sfx/sfx_02_13.asm"
Music2_Channel3DutyPointers: ; 0x8361
dw Music2_Channel3Duty0
dw Music2_Channel3Duty1
dw Music2_Channel3Duty2
dw Music2_Channel3Duty3
dw Music2_Channel3Duty4
dw Music2_Channel3Duty5 ; used in the Lavender Town theme
dw SFX_02_3f_Ch1 ; unused
dw SFX_02_3f_Ch1 ; unused
dw SFX_02_3f_Ch1 ; unused
; these are the definitions for the channel 3 instruments
; each instrument definition is made up of 32 points (nibbles) that form
; the graph of the wave
; the current instrument is copied to $FF30
Music2_Channel3Duty0: ; 0x8373
db $02,$46,$8A,$CE,$FF,$FE,$ED,$DC,$CB,$A9,$87,$65,$44,$33,$22,$11
Music2_Channel3Duty1: ; 0x8383
db $02,$46,$8A,$CE,$EF,$FF,$FE,$EE,$DD,$CB,$A9,$87,$65,$43,$22,$11
Music2_Channel3Duty2: ; 0x8393
db $13,$69,$BD,$EE,$EE,$FF,$FF,$ED,$DE,$FF,$FF,$EE,$EE,$DB,$96,$31
Music2_Channel3Duty3: ; 0x83a3
db $02,$46,$8A,$CD,$EF,$FE,$DE,$FF,$EE,$DC,$BA,$98,$76,$54,$32,$10
Music2_Channel3Duty4: ; 0x83b3
db $01,$23,$45,$67,$8A,$CD,$EE,$F7,$7F,$EE,$DC,$A8,$76,$54,$32,$10
; duty 5 reads from sfx data
Music2_Channel3Duty5: ; 0x83c3
INCLUDE "music/sfx/sfx_02_3f.asm"
INCLUDE "music/sfx/sfx_02_5e.asm"
INCLUDE "music/sfx/sfx_02_56.asm"
INCLUDE "music/sfx/sfx_02_57.asm"
INCLUDE "music/sfx/sfx_02_58.asm"
INCLUDE "music/sfx/sfx_02_3c.asm"
INCLUDE "music/sfx/sfx_02_59.asm"
INCLUDE "music/sfx/sfx_02_5a.asm"
INCLUDE "music/sfx/sfx_02_5b.asm"
INCLUDE "music/sfx/sfx_02_5c.asm"
INCLUDE "music/sfx/sfx_02_40.asm"
INCLUDE "music/sfx/sfx_02_5d.asm"
INCLUDE "music/sfx/sfx_02_3d.asm"
INCLUDE "music/sfx/sfx_02_43.asm"
INCLUDE "music/sfx/sfx_02_3e.asm"
INCLUDE "music/sfx/sfx_02_44.asm"
INCLUDE "music/sfx/sfx_02_45.asm"
INCLUDE "music/sfx/sfx_02_46.asm"
INCLUDE "music/sfx/sfx_02_47.asm"
INCLUDE "music/sfx/sfx_02_48.asm"
INCLUDE "music/sfx/sfx_02_49.asm"
INCLUDE "music/sfx/sfx_02_4a.asm"
INCLUDE "music/sfx/sfx_02_4b.asm"
INCLUDE "music/sfx/sfx_02_4c.asm"
INCLUDE "music/sfx/sfx_02_4d.asm"
INCLUDE "music/sfx/sfx_02_4e.asm"
INCLUDE "music/sfx/sfx_02_4f.asm"
INCLUDE "music/sfx/sfx_02_50.asm"
INCLUDE "music/sfx/sfx_02_51.asm"
INCLUDE "music/sfx/sfx_02_52.asm"
INCLUDE "music/sfx/sfx_02_53.asm"
INCLUDE "music/sfx/sfx_02_54.asm"
INCLUDE "music/sfx/sfx_02_55.asm"
INCLUDE "music/sfx/sfx_02_5f.asm"
INCLUDE "music/sfx/sfx_02_unused.asm"
INCLUDE "music/sfx/sfx_02_1d.asm"
INCLUDE "music/sfx/sfx_02_37.asm"
INCLUDE "music/sfx/sfx_02_38.asm"
INCLUDE "music/sfx/sfx_02_25.asm"
INCLUDE "music/sfx/sfx_02_39.asm"
INCLUDE "music/sfx/sfx_02_17.asm"
INCLUDE "music/sfx/sfx_02_23.asm"
INCLUDE "music/sfx/sfx_02_24.asm"
INCLUDE "music/sfx/sfx_02_14.asm"
INCLUDE "music/sfx/sfx_02_22.asm"
INCLUDE "music/sfx/sfx_02_1a.asm"
INCLUDE "music/sfx/sfx_02_1b.asm"
INCLUDE "music/sfx/sfx_02_19.asm"
INCLUDE "music/sfx/sfx_02_1f.asm"
INCLUDE "music/sfx/sfx_02_20.asm"
INCLUDE "music/sfx/sfx_02_16.asm"
INCLUDE "music/sfx/sfx_02_21.asm"
INCLUDE "music/sfx/sfx_02_15.asm"
INCLUDE "music/sfx/sfx_02_1e.asm"
INCLUDE "music/sfx/sfx_02_1c.asm"
INCLUDE "music/sfx/sfx_02_18.asm"
INCLUDE "music/sfx/sfx_02_2d.asm"
INCLUDE "music/sfx/sfx_02_2a.asm"
INCLUDE "music/sfx/sfx_02_2f.asm"
INCLUDE "music/sfx/sfx_02_26.asm"
INCLUDE "music/sfx/sfx_02_27.asm"
INCLUDE "music/sfx/sfx_02_28.asm"
INCLUDE "music/sfx/sfx_02_32.asm"
INCLUDE "music/sfx/sfx_02_29.asm"
INCLUDE "music/sfx/sfx_02_2b.asm"
INCLUDE "music/sfx/sfx_02_30.asm"
INCLUDE "music/sfx/sfx_02_2e.asm"
INCLUDE "music/sfx/sfx_02_31.asm"
INCLUDE "music/sfx/sfx_02_2c.asm"
INCLUDE "music/sfx/sfx_02_33.asm"
INCLUDE "music/sfx/sfx_02_34.asm"
INCLUDE "music/sfx/sfx_02_35.asm"
INCLUDE "music/sfx/sfx_02_36.asm"
SECTION "Audio Engine 1", ROMX, BANK[AUDIO_1]
PlayBattleMusic:: ; 0x90c6
xor a
ld [wMusicHeaderPointer], a
ld [$d083], a
dec a
ld [$c0ee], a
call PlaySound ; stop music
call DelayFrame
ld c, BANK(Music_GymLeaderBattle)
ld a, [W_GYMLEADERNO]
and a
jr z, .notGymLeaderBattle
ld a, (Music_GymLeaderBattle - $4000) / 3
jr .playSong
.notGymLeaderBattle
ld a, [W_CUROPPONENT]
cp $c8
jr c, .wildBattle
cp SONY3 + $c8
jr z, .finalBattle
cp LANCE + $c8
jr nz, .normalTrainerBattle
ld a, (Music_GymLeaderBattle - $4000) / 3 ; lance also plays gym leader theme
jr .playSong
.normalTrainerBattle
ld a, (Music_TrainerBattle - $4000) / 3
jr .playSong
.finalBattle
ld a, (Music_FinalBattle - $4000) / 3
jr .playSong
.wildBattle
ld a, (Music_WildBattle - $4000) / 3
.playSong
jp PlayMusic
INCLUDE "audio/engine_1.asm"
; an alternate start for MeetRival which has a different first measure
Music_RivalAlternateStart:: ; 0x9b47
ld c, BANK(Music_MeetRival)
ld a, (Music_MeetRival - $4000) / 3
call PlayMusic
ld hl, $c006
ld de, Music_MeetRival_branch_b1a2
call Music2_OverwriteChannelPointer
ld de, Music_MeetRival_branch_b21d
call Music2_OverwriteChannelPointer
ld de, Music_MeetRival_branch_b2b5
Music2_OverwriteChannelPointer: ; 0x9b60
ld a, e
ld [hli], a
ld a, d
ld [hli], a
ret
; an alternate tempo for MeetRival which is slightly slower
Music_RivalAlternateTempo:: ; 0x9b65
ld c, BANK(Music_MeetRival)
ld a, (Music_MeetRival - $4000) / 3
call PlayMusic
ld hl, $c006
ld de, Music_MeetRival_branch_b119
jp Music2_OverwriteChannelPointer
; applies both the alternate start and alternate tempo
Music_RivalAlternateStartAndTempo:: ; 0x9b75
call Music_RivalAlternateStart
ld hl, $c006
ld de, Music_MeetRival_branch_b19b
jp Music2_OverwriteChannelPointer
; an alternate tempo for Cities1 which is used for the Hall of Fame room
Music_Cities1AlternateTempo:: ; 0x9b81
ld a, $a
ld [$cfc8], a
ld [$cfc9], a
ld a, $ff
ld [wMusicHeaderPointer], a
ld c, $64
call DelayFrames
ld c, BANK(Music_Cities1)
ld a, (Music_Cities1 - $4000) / 3
call PlayMusic
ld hl, $c006
ld de, Music_Cities1_branch_aa6f
jp Music2_OverwriteChannelPointer
SECTION "Music 1", ROMX, BANK[AUDIO_1]
INCLUDE "music/pkmnhealed.asm"
INCLUDE "music/routes1.asm"
INCLUDE "music/routes2.asm"
INCLUDE "music/routes3.asm"
INCLUDE "music/routes4.asm"
INCLUDE "music/indigoplateau.asm"
INCLUDE "music/pallettown.asm"
INCLUDE "music/unusedsong.asm"
INCLUDE "music/cities1.asm"
INCLUDE "music/sfx/sfx_02_3a.asm"
INCLUDE "music/museumguy.asm"
INCLUDE "music/meetprofoak.asm"
INCLUDE "music/meetrival.asm"
INCLUDE "music/sfx/sfx_02_41.asm"
INCLUDE "music/sfx/sfx_02_3b.asm"
INCLUDE "music/sfx/sfx_02_42.asm"
INCLUDE "music/ssanne.asm"
INCLUDE "music/cities2.asm"
INCLUDE "music/celadon.asm"
INCLUDE "music/cinnabar.asm"
INCLUDE "music/vermilion.asm"
INCLUDE "music/lavender.asm"
INCLUDE "music/safarizone.asm"
INCLUDE "music/gym.asm"
INCLUDE "music/pokecenter.asm"
SECTION "Sound Effect Headers 2", ROMX, BANK[AUDIO_2]
INCLUDE "music/headers/sfxheaders08.asm"
SECTION "Music Headers 2", ROMX, BANK[AUDIO_2]
INCLUDE "music/headers/musicheaders08.asm"
SECTION "Sound Effects 2", ROMX, BANK[AUDIO_2]
INCLUDE "music/sfx/sfx_08_01.asm"
INCLUDE "music/sfx/sfx_08_02.asm"
INCLUDE "music/sfx/sfx_08_03.asm"
INCLUDE "music/sfx/sfx_08_04.asm"
INCLUDE "music/sfx/sfx_08_05.asm"
INCLUDE "music/sfx/sfx_08_06.asm"
INCLUDE "music/sfx/sfx_08_07.asm"
INCLUDE "music/sfx/sfx_08_08.asm"
INCLUDE "music/sfx/sfx_08_09.asm"
INCLUDE "music/sfx/sfx_08_0a.asm"
INCLUDE "music/sfx/sfx_08_0b.asm"
INCLUDE "music/sfx/sfx_08_0c.asm"
INCLUDE "music/sfx/sfx_08_0d.asm"
INCLUDE "music/sfx/sfx_08_0e.asm"
INCLUDE "music/sfx/sfx_08_0f.asm"
INCLUDE "music/sfx/sfx_08_10.asm"
INCLUDE "music/sfx/sfx_08_11.asm"
INCLUDE "music/sfx/sfx_08_12.asm"
INCLUDE "music/sfx/sfx_08_13.asm"
Music8_Channel3DutyPointers: ; 20361 (8:4361)
dw Music8_Channel3Duty0
dw Music8_Channel3Duty1
dw Music8_Channel3Duty2
dw Music8_Channel3Duty3
dw Music8_Channel3Duty4
dw SFX_08_40_Ch1 ; unused
dw SFX_08_40_Ch1 ; unused
dw SFX_08_40_Ch1 ; unused
dw SFX_08_40_Ch1 ; unused
; these are the definitions for the channel 3 instruments
; each instrument definition is made up of 32 points (nibbles) that form
; the graph of the wave
; the current instrument is copied to $FF30
Music8_Channel3Duty0: ; 20373 (8:4373)
db $02,$46,$8A,$CE,$FF,$FE,$ED,$DC,$CB,$A9,$87,$65,$44,$33,$22,$11
Music8_Channel3Duty1: ; 20383 (8:4383)
db $02,$46,$8A,$CE,$EF,$FF,$FE,$EE,$DD,$CB,$A9,$87,$65,$43,$22,$11
Music8_Channel3Duty2: ; 20393 (8:4393)
db $13,$69,$BD,$EE,$EE,$FF,$FF,$ED,$DE,$FF,$FF,$EE,$EE,$DB,$96,$31
Music8_Channel3Duty3: ; 203a3 (8:43a3)
db $02,$46,$8A,$CD,$EF,$FE,$DE,$FF,$EE,$DC,$BA,$98,$76,$54,$32,$10
Music8_Channel3Duty4: ; 203b3 (8:43b3)
db $01,$23,$45,$67,$8A,$CD,$EE,$F7,$7F,$EE,$DC,$A8,$76,$54,$32,$10
INCLUDE "music/sfx/sfx_08_40.asm"
INCLUDE "music/sfx/sfx_08_3f.asm"
INCLUDE "music/sfx/sfx_08_3c.asm"
INCLUDE "music/sfx/sfx_08_3d.asm"
INCLUDE "music/sfx/sfx_08_3e.asm"
INCLUDE "music/sfx/sfx_08_77.asm"
INCLUDE "music/sfx/sfx_08_41.asm"
INCLUDE "music/sfx/sfx_08_42.asm"
INCLUDE "music/sfx/sfx_08_43.asm"
INCLUDE "music/sfx/sfx_08_44.asm"
INCLUDE "music/sfx/sfx_08_45.asm"
INCLUDE "music/sfx/sfx_08_pokeflute_ch3.asm"
INCLUDE "music/sfx/sfx_08_47.asm"
INCLUDE "music/sfx/sfx_08_48.asm"
INCLUDE "music/sfx/sfx_08_49.asm"
INCLUDE "music/sfx/sfx_08_4a.asm"
INCLUDE "music/sfx/sfx_08_4b.asm"
INCLUDE "music/sfx/sfx_08_4c.asm"
INCLUDE "music/sfx/sfx_08_4d.asm"
INCLUDE "music/sfx/sfx_08_4e.asm"
INCLUDE "music/sfx/sfx_08_4f.asm"
INCLUDE "music/sfx/sfx_08_50.asm"
INCLUDE "music/sfx/sfx_08_51.asm"
INCLUDE "music/sfx/sfx_08_52.asm"
INCLUDE "music/sfx/sfx_08_53.asm"
INCLUDE "music/sfx/sfx_08_54.asm"
INCLUDE "music/sfx/sfx_08_55.asm"
INCLUDE "music/sfx/sfx_08_56.asm"
INCLUDE "music/sfx/sfx_08_57.asm"
INCLUDE "music/sfx/sfx_08_58.asm"
INCLUDE "music/sfx/sfx_08_59.asm"
INCLUDE "music/sfx/sfx_08_5a.asm"
INCLUDE "music/sfx/sfx_08_5b.asm"
INCLUDE "music/sfx/sfx_08_5c.asm"
INCLUDE "music/sfx/sfx_08_5d.asm"
INCLUDE "music/sfx/sfx_08_5e.asm"
INCLUDE "music/sfx/sfx_08_5f.asm"
INCLUDE "music/sfx/sfx_08_60.asm"
INCLUDE "music/sfx/sfx_08_61.asm"
INCLUDE "music/sfx/sfx_08_62.asm"
INCLUDE "music/sfx/sfx_08_63.asm"
INCLUDE "music/sfx/sfx_08_64.asm"
INCLUDE "music/sfx/sfx_08_65.asm"
INCLUDE "music/sfx/sfx_08_66.asm"
INCLUDE "music/sfx/sfx_08_67.asm"
INCLUDE "music/sfx/sfx_08_68.asm"
INCLUDE "music/sfx/sfx_08_69.asm"
INCLUDE "music/sfx/sfx_08_6a.asm"
INCLUDE "music/sfx/sfx_08_6b.asm"
INCLUDE "music/sfx/sfx_08_6c.asm"
INCLUDE "music/sfx/sfx_08_6d.asm"
INCLUDE "music/sfx/sfx_08_6e.asm"
INCLUDE "music/sfx/sfx_08_6f.asm"
INCLUDE "music/sfx/sfx_08_70.asm"
INCLUDE "music/sfx/sfx_08_71.asm"
INCLUDE "music/sfx/sfx_08_72.asm"
INCLUDE "music/sfx/sfx_08_73.asm"
INCLUDE "music/sfx/sfx_08_74.asm"
INCLUDE "music/sfx/sfx_08_75.asm"
INCLUDE "music/sfx/sfx_08_76.asm"
INCLUDE "music/sfx/sfx_08_unused.asm"
INCLUDE "music/sfx/sfx_08_1d.asm"
INCLUDE "music/sfx/sfx_08_37.asm"
INCLUDE "music/sfx/sfx_08_38.asm"
INCLUDE "music/sfx/sfx_08_25.asm"
INCLUDE "music/sfx/sfx_08_39.asm"
INCLUDE "music/sfx/sfx_08_17.asm"
INCLUDE "music/sfx/sfx_08_23.asm"
INCLUDE "music/sfx/sfx_08_24.asm"
INCLUDE "music/sfx/sfx_08_14.asm"
INCLUDE "music/sfx/sfx_08_22.asm"
INCLUDE "music/sfx/sfx_08_1a.asm"
INCLUDE "music/sfx/sfx_08_1b.asm"
INCLUDE "music/sfx/sfx_08_19.asm"
INCLUDE "music/sfx/sfx_08_1f.asm"
INCLUDE "music/sfx/sfx_08_20.asm"
INCLUDE "music/sfx/sfx_08_16.asm"
INCLUDE "music/sfx/sfx_08_21.asm"
INCLUDE "music/sfx/sfx_08_15.asm"
INCLUDE "music/sfx/sfx_08_1e.asm"
INCLUDE "music/sfx/sfx_08_1c.asm"
INCLUDE "music/sfx/sfx_08_18.asm"
INCLUDE "music/sfx/sfx_08_2d.asm"
INCLUDE "music/sfx/sfx_08_2a.asm"
INCLUDE "music/sfx/sfx_08_2f.asm"
INCLUDE "music/sfx/sfx_08_26.asm"
INCLUDE "music/sfx/sfx_08_27.asm"
INCLUDE "music/sfx/sfx_08_28.asm"
INCLUDE "music/sfx/sfx_08_32.asm"
INCLUDE "music/sfx/sfx_08_29.asm"
INCLUDE "music/sfx/sfx_08_2b.asm"
INCLUDE "music/sfx/sfx_08_30.asm"
INCLUDE "music/sfx/sfx_08_2e.asm"
INCLUDE "music/sfx/sfx_08_31.asm"
INCLUDE "music/sfx/sfx_08_2c.asm"
INCLUDE "music/sfx/sfx_08_33.asm"
INCLUDE "music/sfx/sfx_08_34.asm"
INCLUDE "music/sfx/sfx_08_35.asm"
INCLUDE "music/sfx/sfx_08_36.asm"
SECTION "Audio Engine 2", ROMX, BANK[AUDIO_2]
Func_2136e: ; 2136e (8:536e)
ld a, [$d083]
cp $ff
jr z, .asm_2139b
bit 7, a
ret z
and $7f
jr nz, .asm_21383
call Func_213a7
ld a, $1e
jr .asm_21395
.asm_21383
cp $14
jr nz, .asm_2138a
call Func_213ac
.asm_2138a
ld a, $86
ld [$c02a], a
ld a, [$d083]
and $7f
dec a
.asm_21395
set 7, a
ld [$d083], a
ret
.asm_2139b
xor a
ld [$d083], a
ld [$c02a], a
ld de, Unknown_213c4 ; $53c4
jr asm_213af
Func_213a7: ; 213a7 (8:53a7)
ld de, Unknown_213bc ; $53bc
jr asm_213af
Func_213ac: ; 213ac (8:53ac)
ld de, Unknown_213c0 ; $53c0
asm_213af: ; 213af (8:53af)
ld hl, $ff10
ld c, $5
xor a
.asm_213b5
ld [hli], a
ld a, [de]
inc de
dec c
jr nz, .asm_213b5
ret
Unknown_213bc: ; 213bc (8:53bc)
db $A0,$E2,$50,$87
Unknown_213c0: ; 213c0 (8:53c0)
db $B0,$E2,$EE,$86
Unknown_213c4: ; 213c4 (8:53c4)
db $00,$00,$00,$80
INCLUDE "menu/pc.asm"
INCLUDE "audio/engine_2.asm"
Music_PokeFluteInBattle: ; 22306 (8:6306)
ld a, (SFX_08_46 - $4000) / 3 ; PokeFlute outside of battle
call PlaySoundWaitForCurrent
ld hl, $c00e
ld de, SFX_08_PokeFlute_Ch1
call Music8_OverwriteChannelPointer
ld de, SFX_08_PokeFlute_Ch2
call Music8_OverwriteChannelPointer
ld de, SFX_08_PokeFlute_Ch3
Music8_OverwriteChannelPointer: ; 2231d (8:631d)
ld a, e
ld [hli], a
ld a, d
ld [hli], a
ret
SECTION "Music 2", ROMX, BANK[AUDIO_2]
INCLUDE "music/sfx/sfx_08_pokeflute.asm"
INCLUDE "music/sfx/sfx_08_unused2.asm"
INCLUDE "music/gymleaderbattle.asm"
INCLUDE "music/trainerbattle.asm"
INCLUDE "music/wildbattle.asm"
INCLUDE "music/finalbattle.asm"
INCLUDE "music/sfx/sfx_08_3a.asm"
INCLUDE "music/sfx/sfx_08_3b.asm"
INCLUDE "music/sfx/sfx_08_46.asm"
INCLUDE "music/defeatedtrainer.asm"
INCLUDE "music/defeatedwildmon.asm"
INCLUDE "music/defeatedgymleader.asm"
SECTION "Sound Effect Headers 3", ROMX, BANK[AUDIO_3]
INCLUDE "music/headers/sfxheaders1f.asm"
SECTION "Music Headers 3", ROMX, BANK[AUDIO_3]
INCLUDE "music/headers/musicheaders1f.asm"
SECTION "Sound Effects 3", ROMX, BANK[AUDIO_3]
INCLUDE "music/sfx/sfx_1f_01.asm"
INCLUDE "music/sfx/sfx_1f_02.asm"
INCLUDE "music/sfx/sfx_1f_03.asm"
INCLUDE "music/sfx/sfx_1f_04.asm"
INCLUDE "music/sfx/sfx_1f_05.asm"
INCLUDE "music/sfx/sfx_1f_06.asm"
INCLUDE "music/sfx/sfx_1f_07.asm"
INCLUDE "music/sfx/sfx_1f_08.asm"
INCLUDE "music/sfx/sfx_1f_09.asm"
INCLUDE "music/sfx/sfx_1f_0a.asm"
INCLUDE "music/sfx/sfx_1f_0b.asm"
INCLUDE "music/sfx/sfx_1f_0c.asm"
INCLUDE "music/sfx/sfx_1f_0d.asm"
INCLUDE "music/sfx/sfx_1f_0e.asm"
INCLUDE "music/sfx/sfx_1f_0f.asm"
INCLUDE "music/sfx/sfx_1f_10.asm"
INCLUDE "music/sfx/sfx_1f_11.asm"
INCLUDE "music/sfx/sfx_1f_12.asm"
INCLUDE "music/sfx/sfx_1f_13.asm"
Music1f_Channel3DutyPointers: ; 7c361 (1f:4361)
dw Music1f_Channel3Duty0
dw Music1f_Channel3Duty1
dw Music1f_Channel3Duty2
dw Music1f_Channel3Duty3
dw Music1f_Channel3Duty4
dw Music1f_Channel3Duty5 ; used in the Pokemon Tower theme
dw SFX_1f_3f_Ch1 ; unused
dw SFX_1f_3f_Ch1 ; unused
dw SFX_1f_3f_Ch1 ; unused
; these are the definitions for the channel 3 instruments
; each instrument definition is made up of 32 points (nibbles) that form
; the graph of the wave
; the current instrument is copied to $FF30
Music1f_Channel3Duty0: ; 7c373 (1f:4373)
db $02,$46,$8A,$CE,$FF,$FE,$ED,$DC,$CB,$A9,$87,$65,$44,$33,$22,$11
Music1f_Channel3Duty1: ; 7c383 (1f:4383)
db $02,$46,$8A,$CE,$EF,$FF,$FE,$EE,$DD,$CB,$A9,$87,$65,$43,$22,$11
Music1f_Channel3Duty2: ; 7c393 (1f:4393)
db $13,$69,$BD,$EE,$EE,$FF,$FF,$ED,$DE,$FF,$FF,$EE,$EE,$DB,$96,$31
Music1f_Channel3Duty3: ; 7c3a3 (1f:43a3)
db $02,$46,$8A,$CD,$EF,$FE,$DE,$FF,$EE,$DC,$BA,$98,$76,$54,$32,$10
Music1f_Channel3Duty4: ; 7c3b3 (1f:43b3)
db $01,$23,$45,$67,$8A,$CD,$EE,$F7,$7F,$EE,$DC,$A8,$76,$54,$32,$10
; duty 5 reads from sfx data
Music1f_Channel3Duty5: ; 7c3c3 (1f:43c3)
INCLUDE "music/sfx/sfx_1f_3f.asm"
INCLUDE "music/sfx/sfx_1f_56.asm"
INCLUDE "music/sfx/sfx_1f_57.asm"
INCLUDE "music/sfx/sfx_1f_58.asm"
INCLUDE "music/sfx/sfx_1f_3c.asm"
INCLUDE "music/sfx/sfx_1f_59.asm"
INCLUDE "music/sfx/sfx_1f_5a.asm"
INCLUDE "music/sfx/sfx_1f_5b.asm"
INCLUDE "music/sfx/sfx_1f_5c.asm"
INCLUDE "music/sfx/sfx_1f_40.asm"
IF _RED
INCLUDE "music/sfx/sfx_1f_5d.asm"
ENDC
IF _BLUE
INCLUDE "music/blue/sfx_1f_5d.asm"
ENDC
INCLUDE "music/sfx/sfx_1f_3d.asm"
INCLUDE "music/sfx/sfx_1f_43.asm"
INCLUDE "music/sfx/sfx_1f_3e.asm"
INCLUDE "music/sfx/sfx_1f_44.asm"
INCLUDE "music/sfx/sfx_1f_45.asm"
INCLUDE "music/sfx/sfx_1f_46.asm"
INCLUDE "music/sfx/sfx_1f_47.asm"
INCLUDE "music/sfx/sfx_1f_48.asm"
INCLUDE "music/sfx/sfx_1f_49.asm"
INCLUDE "music/sfx/sfx_1f_4a.asm"
INCLUDE "music/sfx/sfx_1f_4b.asm"
INCLUDE "music/sfx/sfx_1f_4c.asm"
INCLUDE "music/sfx/sfx_1f_4d.asm"
INCLUDE "music/sfx/sfx_1f_4e.asm"
INCLUDE "music/sfx/sfx_1f_4f.asm"
INCLUDE "music/sfx/sfx_1f_50.asm"
INCLUDE "music/sfx/sfx_1f_51.asm"
INCLUDE "music/sfx/sfx_1f_52.asm"
INCLUDE "music/sfx/sfx_1f_53.asm"
INCLUDE "music/sfx/sfx_1f_54.asm"
INCLUDE "music/sfx/sfx_1f_55.asm"
INCLUDE "music/sfx/sfx_1f_5e.asm"
INCLUDE "music/sfx/sfx_1f_5f.asm"
INCLUDE "music/sfx/sfx_1f_60.asm"
INCLUDE "music/sfx/sfx_1f_61.asm"
INCLUDE "music/sfx/sfx_1f_62.asm"
INCLUDE "music/sfx/sfx_1f_63.asm"
INCLUDE "music/sfx/sfx_1f_64.asm"
INCLUDE "music/sfx/sfx_1f_65.asm"
INCLUDE "music/sfx/sfx_1f_66.asm"
INCLUDE "music/sfx/sfx_1f_67.asm"
INCLUDE "music/sfx/sfx_1f_unused.asm"
INCLUDE "music/sfx/sfx_1f_1d.asm"
INCLUDE "music/sfx/sfx_1f_37.asm"
INCLUDE "music/sfx/sfx_1f_38.asm"
INCLUDE "music/sfx/sfx_1f_25.asm"
INCLUDE "music/sfx/sfx_1f_39.asm"
INCLUDE "music/sfx/sfx_1f_17.asm"
INCLUDE "music/sfx/sfx_1f_23.asm"
INCLUDE "music/sfx/sfx_1f_24.asm"
INCLUDE "music/sfx/sfx_1f_14.asm"
INCLUDE "music/sfx/sfx_1f_22.asm"
INCLUDE "music/sfx/sfx_1f_1a.asm"
INCLUDE "music/sfx/sfx_1f_1b.asm"
INCLUDE "music/sfx/sfx_1f_19.asm"
INCLUDE "music/sfx/sfx_1f_1f.asm"
INCLUDE "music/sfx/sfx_1f_20.asm"
INCLUDE "music/sfx/sfx_1f_16.asm"
INCLUDE "music/sfx/sfx_1f_21.asm"
INCLUDE "music/sfx/sfx_1f_15.asm"
INCLUDE "music/sfx/sfx_1f_1e.asm"
INCLUDE "music/sfx/sfx_1f_1c.asm"
INCLUDE "music/sfx/sfx_1f_18.asm"
INCLUDE "music/sfx/sfx_1f_2d.asm"
INCLUDE "music/sfx/sfx_1f_2a.asm"
INCLUDE "music/sfx/sfx_1f_2f.asm"
INCLUDE "music/sfx/sfx_1f_26.asm"
INCLUDE "music/sfx/sfx_1f_27.asm"
INCLUDE "music/sfx/sfx_1f_28.asm"
INCLUDE "music/sfx/sfx_1f_32.asm"
INCLUDE "music/sfx/sfx_1f_29.asm"
INCLUDE "music/sfx/sfx_1f_2b.asm"
INCLUDE "music/sfx/sfx_1f_30.asm"
INCLUDE "music/sfx/sfx_1f_2e.asm"
INCLUDE "music/sfx/sfx_1f_31.asm"
INCLUDE "music/sfx/sfx_1f_2c.asm"
INCLUDE "music/sfx/sfx_1f_33.asm"
INCLUDE "music/sfx/sfx_1f_34.asm"
INCLUDE "music/sfx/sfx_1f_35.asm"
INCLUDE "music/sfx/sfx_1f_36.asm"
SECTION "Audio Engine 3", ROMX, BANK[AUDIO_3]
Func_7d13b:: ; 7d13b (1f:513b)
ld a, [$FF00+$dc]
ld c, $0
ld hl, OwnedMonValues
.getSfxPointer
cp [hl]
jr c, .gotSfxPointer
inc c
inc hl
jr .getSfxPointer
.gotSfxPointer
push bc
ld a, $ff
ld [$c0ee], a
call PlaySoundWaitForCurrent
pop bc
ld b, $0
ld hl, PokedexRatingSfxPointers
add hl, bc
add hl, bc
ld a, [hli]
ld c, [hl]
call PlayMusic
jp Func_2307
PokedexRatingSfxPointers: ; 7d162 (1f:5162)
db (SFX_1f_51 - $4000) / 3
db BANK(SFX_1f_51)
db (SFX_02_41 - $4000) / 3
db BANK(SFX_02_41)
db (SFX_02_3a - $4000) / 3
db BANK(SFX_02_3a)
db (SFX_08_46 - $4000) / 3
db BANK(SFX_08_46)
db (SFX_08_3a - $4000) / 3
db BANK(SFX_08_3a)
db (SFX_02_42 - $4000) / 3
db BANK(SFX_02_42)
db (SFX_02_3b - $4000) / 3
db BANK(SFX_02_3b)
OwnedMonValues: ; 7d170 (1f:5170)
db 10, 40, 60, 90, 120, 150, $ff
INCLUDE "audio/engine_3.asm"
SECTION "Music 3", ROMX, BANK[AUDIO_3]
INCLUDE "music/bikeriding.asm"
INCLUDE "music/dungeon1.asm"
INCLUDE "music/gamecorner.asm"
INCLUDE "music/titlescreen.asm"
INCLUDE "music/sfx/sfx_1f_3a.asm"
INCLUDE "music/dungeon2.asm"
INCLUDE "music/dungeon3.asm"
INCLUDE "music/cinnabarmansion.asm"
INCLUDE "music/sfx/sfx_1f_41.asm"
INCLUDE "music/sfx/sfx_1f_3b.asm"
INCLUDE "music/sfx/sfx_1f_42.asm"
INCLUDE "music/oakslab.asm"
INCLUDE "music/pokemontower.asm"
INCLUDE "music/silphco.asm"
INCLUDE "music/meeteviltrainer.asm"
INCLUDE "music/meetfemaletrainer.asm"
INCLUDE "music/meetmaletrainer.asm"
INCLUDE "music/introbattle.asm"
INCLUDE "music/surfing.asm"
INCLUDE "music/jigglypuffsong.asm"
INCLUDE "music/halloffame.asm"
INCLUDE "music/credits.asm"

2
audio_blue.asm Normal file
View file

@ -0,0 +1,2 @@
INCLUDE "blue.asm"
INCLUDE "audio.asm"

2
audio_red.asm Normal file
View file

@ -0,0 +1,2 @@
INCLUDE "red.asm"
INCLUDE "audio.asm"

1294
main.asm

File diff suppressed because it is too large Load diff

588
menu/pc.asm Normal file
View file

@ -0,0 +1,588 @@
Func_213c8: ; 213c8 (8:53c8)
xor a
ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
call SaveScreenTilesToBuffer2
ld a, [$d5a2]
and a
jr nz, .asm_213f3
ld a, [$d74b]
bit 5, a
jr z, .asm_213ea
ld a, [$d5a2]
and a
jr nz, .asm_213f3
ld hl, wTileMap
ld b, $8
ld c, $e
jr .asm_213fa
.asm_213ea
ld hl, wTileMap
ld b, $6
ld c, $e
jr .asm_213fa
.asm_213f3
ld hl, wTileMap
ld b, $a
ld c, $e
.asm_213fa
call TextBoxBorder
call UpdateSprites
ld a, $3
ld [wMaxMenuItem], a ; $cc28
ld a, [$d7f1]
bit 0, a
jr nz, .asm_21414
FuncCoord 2, 2 ; $c3ca
ld hl, Coord
ld de, SomeonesPCText ; $548b
jr .asm_2141a
.asm_21414
FuncCoord 2, 2 ; $c3ca
ld hl, Coord
ld de, BillsPCText ; $5497
.asm_2141a
call PlaceString
FuncCoord 2, 4 ; $c3f2
ld hl, Coord
ld de, W_PLAYERNAME ; $d158
call PlaceString
ld l, c
ld h, b
ld de, PlayersPCText ; $54a0
call PlaceString
ld a, [$d74b]
bit 5, a
jr z, .asm_21462
FuncCoord 2, 6 ; $c41a
ld hl, Coord
ld de, OaksPCText ; $54a5
call PlaceString
ld a, [$d5a2]
and a
jr z, .asm_2145a
ld a, $4
ld [wMaxMenuItem], a ; $cc28
FuncCoord 2, 8 ; $c442
ld hl, Coord
ld de, PKMNLeaguePCText ; $54b2
call PlaceString
FuncCoord 2, 10 ; $c46a
ld hl, Coord
ld de, LogOffPCText ; $54ba
jr .asm_2146d
.asm_2145a
FuncCoord 2, 8 ; $c442
ld hl, Coord
ld de, LogOffPCText ; $54ba
jr .asm_2146d
.asm_21462
ld a, $2
ld [wMaxMenuItem], a ; $cc28
FuncCoord 2, 6 ; $c41a
ld hl, Coord
ld de, LogOffPCText ; $54ba
.asm_2146d
call PlaceString
ld a, $3
ld [wMenuWatchedKeys], a ; $cc29
ld a, $2
ld [wTopMenuItemY], a ; $cc24
ld a, $1
ld [wTopMenuItemX], a ; $cc25
xor a
ld [wCurrentMenuItem], a ; $cc26
ld [wLastMenuItem], a ; $cc2a
ld a, $1
ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
ret
SomeonesPCText: ; 2148b (8:548b)
db "SOMEONE's PC@"
BillsPCText: ; 21497 (8:5497)
db "BILL's PC@"
PlayersPCText: ; 214a0 (8:54a0)
db "'s PC@"
OaksPCText: ; 214a5 (8:54a5)
db "PROF.OAK's PC@"
PKMNLeaguePCText: ; 214b2 (8:54b2)
db $4a,"LEAGUE@"
LogOffPCText: ; 214ba (8:54ba)
db "LOG OFF@"
Func_214c2: ; 214c2 (8:54c2)
BillsPC_: ; 0x214c2
ld hl, $d730
set 6, [hl]
xor a
ld [$ccd3], a
inc a ; MONSTER_NAME
ld [W_LISTTYPE], a
call LoadHpBarAndStatusTilePatterns
ld a, [wListScrollOffset] ; $cc36
push af
ld a, [wFlags_0xcd60]
bit 3, a
jr nz, BillsPCMenu
ld a, $99
call PlaySound
ld hl, SwitchOnText
call PrintText
Func_214e8: ; 214e8 (8:54e8)
BillsPCMenu:
ld a, [$ccd3]
ld [wCurrentMenuItem], a ; $cc26
ld hl, $9780
ld de, PokeballTileGraphics ; $697e
ld bc, (BANK(PokeballTileGraphics) << 8) + $01
call CopyVideoData
call LoadScreenTilesFromBuffer2DisableBGTransfer
ld hl, wTileMap
ld b, $a
ld c, $c
call TextBoxBorder
FuncCoord 2, 2 ; $c3ca
ld hl, Coord
ld de, BillsPCMenuText ; $56e1
call PlaceString
ld hl, wTopMenuItemY ; $cc24
ld a, $2
ld [hli], a
dec a
ld [hli], a
inc hl
inc hl
ld a, $4
ld [hli], a
ld a, $3
ld [hli], a
xor a
ld [hli], a
ld [hli], a
ld hl, wListScrollOffset ; $cc36
ld [hli], a
ld [hl], a
ld [wPlayerMonNumber], a ; $cc2f
ld hl, WhatText
call PrintText
FuncCoord 9, 14 ; $c4c1
ld hl, Coord
ld b, $2
ld c, $9
call TextBoxBorder
ld a, [$d5a0]
and $7f
cp $9
jr c, .asm_2154f
sub $9
FuncCoord 17, 16 ; $c4f1
ld hl, Coord
ld [hl], $f7
add $f6
jr .asm_21551
.asm_2154f
add $f7
.asm_21551
FuncCoord 18, 16 ; $c4f2
ld [Coord], a
FuncCoord 10, 16 ; $c4ea
ld hl, Coord
ld de, BoxNoPCText ; $5713
call PlaceString
ld a, $1
ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
call Delay3
call HandleMenuInput
bit 1, a
jp nz, Func_21588 ; b button
call PlaceUnfilledArrowMenuCursor
ld a, [wCurrentMenuItem] ; $cc26
ld [$ccd3], a
and a
jp z, Func_21618 ; withdraw
cp $1
jp z, Func_215ac ; deposit
cp $2
jp z, Func_21673 ; release
cp $3
jp z, Func_216b3 ; change box
Func_21588: ; 21588 (8:5588)
ld a, [wFlags_0xcd60]
bit 3, a
jr nz, .asm_2159a
call LoadTextBoxTilePatterns
ld a, $9a
call PlaySound
call WaitForSoundToFinish
.asm_2159a
ld hl, wFlags_0xcd60
res 5, [hl]
call LoadScreenTilesFromBuffer2
pop af
ld [wListScrollOffset], a ; $cc36
ld hl, $d730
res 6, [hl]
ret
Func_215ac: ; 215ac (8:55ac)
BillsPCDeposit:
ld a, [W_NUMINPARTY] ; $d163
dec a
jr nz, .asm_215bb
ld hl, CantDepositLastMonText
call PrintText
jp BillsPCMenu
.asm_215bb
ld a, [W_NUMINBOX] ; $da80
cp $14
jr nz, .asm_215cb
ld hl, BoxFullText ; $5802
call PrintText
jp BillsPCMenu
.asm_215cb
ld hl, W_NUMINPARTY ; $d163
call Func_216be
jp c, BillsPCMenu
call Func_2174b
jp nc, BillsPCMenu
ld a, [$cf91]
call GetCryData
call PlaySoundWaitForCurrent
ld a, $1
ld [$cf95], a
call Func_3a68
xor a
ld [$cf95], a
call RemovePokemon
call WaitForSoundToFinish
ld hl, wWhichTrade ; $cd3d
ld a, [$d5a0]
and $7f
cp $9
jr c, .asm_2160a
sub $9
ld [hl], $f7
inc hl
add $f6
jr .asm_2160c
.asm_2160a
add $f7
.asm_2160c
ld [hli], a
ld [hl], $50
ld hl, MonWasStoredText ; $57f8
call PrintText
jp BillsPCMenu
Func_21618: ; 21618 (8:5618)
ld a, [W_NUMINBOX] ; $da80
and a
jr nz, .asm_21627
ld hl, NoMonText ; $580c
call PrintText
jp Func_214e8
.asm_21627
ld a, [W_NUMINPARTY] ; $d163
cp $6
jr nz, .asm_21637
ld hl, CantTakeMonText ; $5811
call PrintText
jp Func_214e8
.asm_21637
ld hl, W_NUMINBOX ; $da80
call Func_216be
jp c, Func_214e8
call Func_2174b
jp nc, Func_214e8
ld a, [wWhichPokemon] ; $cf92
ld hl, $de06
call GetPartyMonName
ld a, [$cf91]
call GetCryData
call PlaySoundWaitForCurrent
xor a
ld [$cf95], a
call Func_3a68
ld a, $1
ld [$cf95], a
call RemovePokemon
call WaitForSoundToFinish
ld hl, MonIsTakenOutText ; $5807
call PrintText
jp Func_214e8
Func_21673: ; 21673 (8:5673)
ld a, [W_NUMINBOX] ; $da80
and a
jr nz, .asm_21682
ld hl, NoMonText ; $580c
call PrintText
jp Func_214e8
.asm_21682
ld hl, W_NUMINBOX ; $da80
call Func_216be
jp c, Func_214e8
ld hl, OnceReleasedText ; $581b
call PrintText
call YesNoChoice
ld a, [wCurrentMenuItem] ; $cc26
and a
jr nz, .asm_21682
inc a
ld [$cf95], a
call RemovePokemon
call WaitForSoundToFinish
ld a, [$cf91]
call PlayCry
ld hl, MonWasReleasedText ; $5820
call PrintText
jp Func_214e8
Func_216b3: ; 216b3 (8:56b3)
ld b, BANK(Func_738a1)
ld hl, Func_738a1
call Bankswitch ; indirect jump to Func_738a1 (738a1 (1c:78a1))
jp Func_214e8
Func_216be: ; 216be (8:56be)
ld a, l
ld [$cf8b], a
ld a, h
ld [$cf8c], a
xor a
ld [$cf93], a
ld [wListMenuID], a ; $cf94
inc a ; MONSTER_NAME
ld [W_LISTTYPE], a
ld a, [$cc2b]
ld [wCurrentMenuItem], a ; $cc26
call DisplayListMenuID
ld a, [wCurrentMenuItem] ; $cc26
ld [$cc2b], a
ret
BillsPCMenuText: ; 216e1 (8:56e1)
db "WITHDRAW ",$4a,$4e,"DEPOSIT ",$4a,$4e,"RELEASE ",$4a,$4e,"CHANGE BOX",$4e,"SEE YA!@"
BoxNoPCText: ; 21713 (8:5713)
db "BOX No.@"
Func_2171b: ; 2171b (8:571b)
ld hl, $d173
ld bc, $002c
jr .asm_21729 ; 0x21721 $6
ld hl, $da9e
ld bc, $0021
.asm_21729
ld a, [$cf92]
call AddNTimes
ld b, $4
.asm_21731
ld a, [hli]
push hl
push bc
ld hl, HMMoveArray ; $5745
ld de, $0001
call IsInArray
pop bc
pop hl
ret c
dec b
jr nz, .asm_21731 ; 0x21741 $ee
and a
ret
HMMoveArray: ; 21745 (8:5745)
db CUT
db FLY
db SURF
db STRENGTH
db FLASH
db $ff
Func_2174b: ; 2174b (8:574b)
FuncCoord 9, 10 ; $c471
ld hl, Coord
ld b, $6
ld c, $9
call TextBoxBorder
ld a, [$ccd3]
and a
ld de, DepositPCText ; $57cb
jr nz, .asm_21761
ld de, WithdrawPCText ; $57d3
.asm_21761
FuncCoord 11, 12 ; $c49b
ld hl, Coord
call PlaceString
FuncCoord 11, 14 ; $c4c3
ld hl, Coord
ld de, StatsCancelPCText ; $57dc
call PlaceString
ld hl, wTopMenuItemY ; $cc24
ld a, $c
ld [hli], a
ld a, $a
ld [hli], a
xor a
ld [hli], a
inc hl
ld a, $2
ld [hli], a
ld a, $3
ld [hli], a
xor a
ld [hl], a
ld hl, wListScrollOffset ; $cc36
ld [hli], a
ld [hl], a
ld [wPlayerMonNumber], a ; $cc2f
ld [$cc2b], a
.asm_2178f
call HandleMenuInput
bit 1, a
jr nz, .asm_2179f
ld a, [wCurrentMenuItem] ; $cc26
and a
jr z, .asm_217a1
dec a
jr z, .asm_217a3
.asm_2179f
and a
ret
.asm_217a1
scf
ret
.asm_217a3
call SaveScreenTilesToBuffer1
ld a, [$ccd3]
and a
ld a, $0
jr nz, .asm_217b0
ld a, $2
.asm_217b0
ld [$cc49], a
ld a, $36
call Predef ; indirect jump to StatusScreen (12953 (4:6953))
ld a, $37
call Predef ; indirect jump to StatusScreen2 (12b57 (4:6b57))
call LoadScreenTilesFromBuffer1
call ReloadTilesetTilePatterns
call GoPAL_SET_CF1C
call LoadGBPal
jr .asm_2178f
DepositPCText: ; 217cb (8:57cb)
db "DEPOSIT@"
WithdrawPCText: ; 217d3 (8:57d3)
db "WITHDRAW@"
StatsCancelPCText: ; 217dc (8:57dc)
db "STATS",$4e,"CANCEL@"
SwitchOnText: ; 0x217e9
TX_FAR _SwitchOnText
db "@"
WhatText: ; 0x217ee
TX_FAR _WhatText
db "@"
DepositWhichMonText: ; 0x217f3
TX_FAR _DepositWhichMonText
db "@"
MonWasStoredText: ; 0x217f8
TX_FAR _MonWasStoredText
db "@"
CantDepositLastMonText: ; 0x217fd
TX_FAR _CantDepositLastMonText
db "@"
BoxFullText: ; 0x21802
TX_FAR _BoxFullText
db "@"
MonIsTakenOutText: ; 0x21807
TX_FAR _MonIsTakenOutText
db "@"
NoMonText: ; 0x2180c
TX_FAR _NoMonText
db "@"
CantTakeMonText: ; 0x21811
TX_FAR _CantTakeMonText
db "@"
ReleaseWhichMonText: ; 0x21816
TX_FAR _ReleaseWhichMonText
db "@"
OnceReleasedText: ; 0x2181b
TX_FAR _OnceReleasedText
db "@"
MonWasReleasedText: ; 0x21820
TX_FAR _MonWasReleasedText
db "@"
Func_21825: ; 5824 (8:5825)
ld a, [$ff00+$aa]
cp $1
ret z
ld a, [$c109]
cp $c
ret nz
ld a, [$d35e]
cp $ef
ld a, $2
jr z, .asm_2183a
inc a
.asm_2183a
ld [$d12b], a
call EnableAutoTextBoxDrawing
ld a, $22
jp Func_3ef5
Func_21845: ; 5845 (8:5845)
ld a, [$ff00+$aa]
cp $2
ret z
ld a, [$c109]
cp $8
ret nz
ld a, [$d35e]
cp $ef
ld a, $2
jr z, .asm_2185a
inc a
.asm_2185a
ld [$d12b], a
call EnableAutoTextBoxDrawing
ld a, $22
jp Func_3ef5
UnnamedText_21865: ; 21865 (8:5865)
TX_FAR _UnnamedText_21865
db "@"
ld a, [$c109]
cp $4
ret nz
call EnableAutoTextBoxDrawing
ld a, $23
jp Func_3ef5
Unknown_21878: ; 21878 (8:5878)
db $FD