aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRangi <35663410+Rangi42@users.noreply.github.com>2025-06-30 12:47:22 -0400
committerGitHub <noreply@github.com>2025-06-30 12:47:22 -0400
commit56c405de09ce267c4cfbc68a15c37b2ff51c635a (patch)
tree47d25c237e9af824f7a57295a2d2e298b194a8e6
parentDistinguish single trainer pics section from Pokemon pics (diff)
downloadpokeyellow-56c405de09ce267c4cfbc68a15c37b2ff51c635a.tar.gz
pokeyellow-56c405de09ce267c4cfbc68a15c37b2ff51c635a.tar.xz
pokeyellow-56c405de09ce267c4cfbc68a15c37b2ff51c635a.zip
Replace hardware_constants.asm with hardware.inc (#511)
-rw-r--r--audio/engine_1.asm78
-rw-r--r--audio/engine_2.asm78
-rw-r--r--audio/engine_3.asm78
-rw-r--r--audio/low_health_alarm.asm2
-rw-r--r--audio/wave_samples.asm2
-rw-r--r--constants/audio_constants.asm8
-rw-r--r--constants/gfx_constants.asm17
-rw-r--r--constants/hardware.inc1065
-rw-r--r--constants/hardware_constants.asm126
-rw-r--r--constants/input_constants.asm20
-rw-r--r--constants/misc_constants.asm3
-rw-r--r--constants/oam_constants.asm15
-rw-r--r--data/battle_anims/frame_blocks.asm676
-rw-r--r--data/sprites/facings.asm8
-rw-r--r--data/tilesets/ledge_tiles.asm16
-rw-r--r--engine/battle/animations.asm20
-rw-r--r--engine/battle/core.asm38
-rw-r--r--engine/battle/ghost_marowak_anim.asm2
-rw-r--r--engine/debug/debug_menu.asm4
-rw-r--r--engine/events/black_out.asm2
-rw-r--r--engine/events/cinnabar_lab.asm4
-rw-r--r--engine/events/hidden_objects/bills_house_pc.asm4
-rw-r--r--engine/events/hidden_objects/school_blackboard.asm12
-rw-r--r--engine/events/pewter_guys.asm18
-rw-r--r--engine/events/prize_menu.asm4
-rw-r--r--engine/events/vending_machine.asm4
-rw-r--r--engine/items/item_effects.asm8
-rw-r--r--engine/items/town_map.asm24
-rw-r--r--engine/joypad.asm2
-rw-r--r--engine/link/cable_club.asm40
-rw-r--r--engine/link/cable_club_npc.asm6
-rw-r--r--engine/menus/draw_start_menu.asm2
-rw-r--r--engine/menus/league_pc.asm2
-rw-r--r--engine/menus/main_menu.asm48
-rw-r--r--engine/menus/pc.asm2
-rw-r--r--engine/menus/players_pc.asm4
-rw-r--r--engine/menus/pokedex.asm22
-rw-r--r--engine/menus/save.asm142
-rw-r--r--engine/menus/start_sub_menus.asm8
-rw-r--r--engine/menus/text_box.asm12
-rw-r--r--engine/movie/evolution.asm2
-rw-r--r--engine/movie/hall_of_fame.asm4
-rw-r--r--engine/movie/intro.asm18
-rw-r--r--engine/movie/oak_speech/oak_speech.asm4
-rw-r--r--engine/movie/oak_speech/oak_speech2.asm2
-rw-r--r--engine/movie/splash.asm10
-rw-r--r--engine/movie/title.asm6
-rw-r--r--engine/movie/trade.asm38
-rw-r--r--engine/overworld/auto_movement.asm32
-rw-r--r--engine/overworld/cut.asm8
-rw-r--r--engine/overworld/healing_machine.asm14
-rw-r--r--engine/overworld/ledges.asm10
-rw-r--r--engine/overworld/movement.asm4
-rw-r--r--engine/overworld/pathfinding.asm8
-rw-r--r--engine/overworld/player_animations.asm2
-rw-r--r--engine/overworld/push_boulder.asm10
-rw-r--r--engine/overworld/update_map.asm4
-rw-r--r--engine/pokemon/bills_pc.asm10
-rw-r--r--engine/pokemon/learn_move.asm4
-rw-r--r--engine/pokemon/status_screen.asm4
-rw-r--r--engine/slots/slot_machine.asm6
-rw-r--r--home/audio.asm4
-rw-r--r--home/bankswitch.asm8
-rw-r--r--home/copy.asm4
-rw-r--r--home/copy2.asm20
-rw-r--r--home/fade_audio.asm6
-rw-r--r--home/hidden_objects.asm8
-rw-r--r--home/init.asm12
-rw-r--r--home/item.asm4
-rw-r--r--home/item_price.asm6
-rw-r--r--home/joypad2.asm4
-rw-r--r--home/lcd.asm8
-rw-r--r--home/list_menu.asm18
-rw-r--r--home/load_font.asm6
-rw-r--r--home/names.asm4
-rw-r--r--home/names2.asm4
-rw-r--r--home/npc_movement.asm8
-rw-r--r--home/overworld.asm50
-rw-r--r--home/pics.asm4
-rw-r--r--home/pokemon.asm16
-rw-r--r--home/predef.asm6
-rw-r--r--home/print_text.asm4
-rw-r--r--home/reload_tiles.asm4
-rw-r--r--home/serial.asm24
-rw-r--r--home/start.asm2
-rw-r--r--home/start_menu.asm10
-rw-r--r--home/text.asm8
-rw-r--r--home/text_script.asm6
-rw-r--r--home/trainers.asm6
-rw-r--r--home/uncompress.asm10
-rw-r--r--home/vblank.asm6
-rw-r--r--home/vcopy.asm12
-rw-r--r--home/window.asm6
-rw-r--r--includes.asm3
-rw-r--r--macros/coords.asm6
-rw-r--r--macros/farcall.asm8
-rw-r--r--macros/gfx.asm10
-rw-r--r--ram/vram.asm4
-rw-r--r--ram/wram.asm6
-rw-r--r--scripts/AgathasRoom.asm4
-rw-r--r--scripts/BikeShop.asm4
-rw-r--r--scripts/BillsHouse.asm2
-rw-r--r--scripts/BrunosRoom.asm4
-rw-r--r--scripts/CeladonGym.asm2
-rw-r--r--scripts/CeladonMartRoof.asm4
-rw-r--r--scripts/CeruleanCity.asm6
-rw-r--r--scripts/CeruleanGym.asm2
-rw-r--r--scripts/ChampionsRoom.asm20
-rw-r--r--scripts/CinnabarGym.asm2
-rw-r--r--scripts/CinnabarIsland.asm2
-rw-r--r--scripts/FightingDojo.asm2
-rw-r--r--scripts/FuchsiaGym.asm2
-rw-r--r--scripts/GameCorner.asm2
-rw-r--r--scripts/HallOfFame.asm6
-rw-r--r--scripts/LancesRoom.asm10
-rw-r--r--scripts/LoreleisRoom.asm4
-rw-r--r--scripts/MtMoonB2F.asm2
-rw-r--r--scripts/Museum1F.asm2
-rw-r--r--scripts/OaksLab.asm14
-rw-r--r--scripts/PalletTown.asm10
-rw-r--r--scripts/PewterCity.asm2
-rw-r--r--scripts/PewterGym.asm2
-rw-r--r--scripts/PokemonTower2F.asm2
-rw-r--r--scripts/PokemonTower5F.asm2
-rw-r--r--scripts/PokemonTower6F.asm6
-rw-r--r--scripts/PokemonTower7F.asm4
-rw-r--r--scripts/RocketHideoutB2F.asm134
-rw-r--r--scripts/RocketHideoutB3F.asm46
-rw-r--r--scripts/RocketHideoutB4F.asm2
-rw-r--r--scripts/Route16Gate1F.asm6
-rw-r--r--scripts/Route18Gate1F.asm6
-rw-r--r--scripts/Route22.asm6
-rw-r--r--scripts/Route22Gate.asm2
-rw-r--r--scripts/Route23.asm2
-rw-r--r--scripts/Route24.asm4
-rw-r--r--scripts/Route5Gate.asm2
-rw-r--r--scripts/Route6Gate.asm2
-rw-r--r--scripts/Route7Gate.asm2
-rw-r--r--scripts/Route8Gate.asm2
-rw-r--r--scripts/SSAnne2F.asm4
-rw-r--r--scripts/SafariZoneGate.asm20
-rw-r--r--scripts/SaffronGym.asm2
-rw-r--r--scripts/SeafoamIslandsB3F.asm20
-rw-r--r--scripts/SeafoamIslandsB4F.asm14
-rw-r--r--scripts/SilphCo11F.asm4
-rw-r--r--scripts/SilphCo7F.asm4
-rw-r--r--scripts/VermilionCity.asm6
-rw-r--r--scripts/VermilionDock.asm2
-rw-r--r--scripts/VermilionGym.asm2
-rw-r--r--scripts/ViridianCity.asm2
-rw-r--r--scripts/ViridianGym.asm28
-rw-r--r--scripts/ViridianMart.asm4
152 files changed, 2253 insertions, 1360 deletions
diff --git a/audio/engine_1.asm b/audio/engine_1.asm
index e9642b32..57eb12ed 100644
--- a/audio/engine_1.asm
+++ b/audio/engine_1.asm
@@ -20,10 +20,10 @@ Audio1_UpdateMusic::
set BIT_MUTE_AUDIO, a
ld [wMuteAudioAndPauseMusic], a
xor a ; disable all channels' output
- ldh [rNR51], a
- ldh [rNR30], a
+ ldh [rAUDTERM], a
+ ldh [rAUD3ENA], a
ld a, $80
- ldh [rNR30], a
+ ldh [rAUD3ENA], a
jr .nextChannel
.applyAffects
call Audio1_ApplyMusicAffects
@@ -183,9 +183,9 @@ Audio1_sound_ret:
jr nz, .skipSfxChannel3
; restart hardware channel 3 (wave channel) output
ld a, $0
- ldh [rNR30], a
+ ldh [rAUD3ENA], a
ld a, $80
- ldh [rNR30], a
+ ldh [rAUD3ENA], a
.skipSfxChannel3
jr nz, .dontDisable
ld a, [wDisableChannelOutputWhenSfxEnds]
@@ -219,9 +219,9 @@ Audio1_sound_ret:
.disableChannelOutput
ld hl, Audio1_HWChannelDisableMasks
add hl, bc
- ldh a, [rNR51]
+ ldh a, [rAUDTERM]
and [hl]
- ldh [rNR51], a
+ ldh [rAUDTERM], a
.afterDisable
ld a, [wChannelSoundIDs + CHAN5]
cp CRY_SFX_START
@@ -241,7 +241,7 @@ Audio1_sound_ret:
ret c
.skipRewind
ld a, [wSavedVolume]
- ldh [rNR50], a
+ ldh [rAUDVOL], a
xor a
ld [wSavedVolume], a
.skipCry
@@ -548,7 +548,7 @@ Audio1_volume:
cp volume_cmd
jr nz, Audio1_execute_music
call Audio1_GetNextMusicByte
- ldh [rNR50], a ; store volume
+ ldh [rAUDVOL], a ; store volume
jp Audio1_sound_ret
Audio1_execute_music:
@@ -638,7 +638,7 @@ Audio1_pitch_sweep:
bit BIT_EXECUTE_MUSIC, [hl]
jr nz, Audio1_note ; no
call Audio1_GetNextMusicByte
- ldh [rNR10], a
+ ldh [rAUD1SWEEP], a
jp Audio1_sound_ret
Audio1_note:
@@ -770,9 +770,9 @@ Audio1_note_pitch:
ld b, 0
ld hl, Audio1_HWChannelDisableMasks
add hl, bc
- ldh a, [rNR51]
+ ldh a, [rAUDTERM]
and [hl]
- ldh [rNR51], a ; disable hardware channel 3's output
+ ldh [rAUDTERM], a ; disable hardware channel 3's output
jr .done
.notChannel3
ld b, REG_VOLUME_ENVELOPE
@@ -845,7 +845,7 @@ Audio1_EnableChannelOutput:
ld b, 0
ld hl, Audio1_HWChannelEnableMasks
add hl, bc
- ldh a, [rNR51]
+ ldh a, [rAUDTERM]
or [hl] ; set this channel's bits
ld d, a
ld a, c
@@ -867,7 +867,7 @@ Audio1_EnableChannelOutput:
add hl, bc
and [hl]
ld d, a
- ldh a, [rNR51]
+ ldh a, [rAUDTERM]
ld hl, Audio1_HWChannelDisableMasks
add hl, bc
and [hl] ; reset this channel's output bits
@@ -875,7 +875,7 @@ Audio1_EnableChannelOutput:
ld d, a
.skip
ld a, d
- ldh [rNR51], a
+ ldh [rAUDTERM], a
ret
Audio1_ApplyDutyCycleAndSoundLength:
@@ -926,10 +926,10 @@ Audio1_ApplyWavePatternAndFrequency:
ld e, [hl]
inc hl
ld d, [hl]
- ld hl, rWave_0
+ ld hl, _AUD3WAVERAM
ld b, $f
ld a, $0 ; stop hardware channel 3
- ldh [rNR30], a
+ ldh [rAUD3ENA], a
.loop
ld a, [de]
inc de
@@ -939,7 +939,7 @@ Audio1_ApplyWavePatternAndFrequency:
and a
jr nz, .loop
ld a, $80 ; start hardware channel 3
- ldh [rNR30], a
+ ldh [rAUD3ENA], a
pop de
.notChannel3
ld a, d
@@ -1400,17 +1400,17 @@ Audio1_PlaySound::
ld a, $ff
ld [wStereoPanning], a
xor a
- ldh [rNR50], a
+ ldh [rAUDVOL], a
ld a, $8
- ldh [rNR10], a
+ ldh [rAUD1SWEEP], a
ld a, 0
- ldh [rNR51], a
+ ldh [rAUDTERM], a
xor a
- ldh [rNR30], a
+ ldh [rAUD3ENA], a
ld a, $80
- ldh [rNR30], a
+ ldh [rAUD3ENA], a
ld a, $77
- ldh [rNR50], a
+ ldh [rAUDVOL], a
jp .playSoundCommon
.playSfx
@@ -1556,7 +1556,7 @@ Audio1_PlaySound::
cp CHAN5
jr nz, .skipSweepDisable
ld a, $8
- ldh [rNR10], a ; sweep off
+ ldh [rAUD1SWEEP], a ; sweep off
.skipSweepDisable
ld a, c
and a
@@ -1566,22 +1566,22 @@ Audio1_PlaySound::
.stopAllAudio
ld a, $80
- ldh [rNR52], a ; sound hardware on
- ldh [rNR30], a ; wave playback on
+ ldh [rAUDENA], a ; sound hardware on
+ ldh [rAUD3ENA], a ; wave playback on
xor a
- ldh [rNR51], a ; no sound output
- ldh [rNR32], a ; mute channel 3 (wave channel)
+ ldh [rAUDTERM], a ; no sound output
+ ldh [rAUD3LEVEL], a ; mute channel 3 (wave channel)
ld a, $8
- ldh [rNR10], a ; sweep off
- ldh [rNR12], a ; mute channel 1 (pulse channel 1)
- ldh [rNR22], a ; mute channel 2 (pulse channel 2)
- ldh [rNR42], a ; mute channel 4 (noise channel)
+ ldh [rAUD1SWEEP], a ; sweep off
+ ldh [rAUD1ENV], a ; mute channel 1 (pulse channel 1)
+ ldh [rAUD2ENV], a ; mute channel 2 (pulse channel 2)
+ ldh [rAUD4ENV], a ; mute channel 4 (noise channel)
ld a, $40
- ldh [rNR14], a ; counter mode
- ldh [rNR24], a
- ldh [rNR44], a
+ ldh [rAUD1HIGH], a ; counter mode
+ ldh [rAUD2HIGH], a
+ ldh [rAUD4GO], a
ld a, $77
- ldh [rNR50], a ; full volume
+ ldh [rAUDVOL], a ; full volume
xor a
ld [wUnusedMusicByte], a
ld [wDisableChannelOutputWhenSfxEnds], a
@@ -1700,10 +1700,10 @@ Audio1_PlaySound::
ld a, [wSavedVolume]
and a
jr nz, .done
- ldh a, [rNR50]
+ ldh a, [rAUDVOL]
ld [wSavedVolume], a
ld a, $77
- ldh [rNR50], a ; full volume
+ ldh [rAUDVOL], a ; full volume
.done
ret
diff --git a/audio/engine_2.asm b/audio/engine_2.asm
index 2f11c027..a7c8692a 100644
--- a/audio/engine_2.asm
+++ b/audio/engine_2.asm
@@ -22,10 +22,10 @@ Audio2_UpdateMusic::
set BIT_MUTE_AUDIO, a
ld [wMuteAudioAndPauseMusic], a
xor a ; disable all channels' output
- ldh [rNR51], a
- ldh [rNR30], a
+ ldh [rAUDTERM], a
+ ldh [rAUD3ENA], a
ld a, $80
- ldh [rNR30], a
+ ldh [rAUD3ENA], a
jr .nextChannel
.applyAffects
call Audio2_ApplyMusicAffects
@@ -194,9 +194,9 @@ Audio2_sound_ret:
jr nz, .skipSfxChannel3
; restart hardware channel 3 (wave channel) output
ld a, $0
- ldh [rNR30], a
+ ldh [rAUD3ENA], a
ld a, $80
- ldh [rNR30], a
+ ldh [rAUD3ENA], a
.skipSfxChannel3
jr nz, .dontDisable
ld a, [wDisableChannelOutputWhenSfxEnds]
@@ -230,9 +230,9 @@ Audio2_sound_ret:
.disableChannelOutput
ld hl, Audio2_HWChannelDisableMasks
add hl, bc
- ldh a, [rNR51]
+ ldh a, [rAUDTERM]
and [hl]
- ldh [rNR51], a
+ ldh [rAUDTERM], a
.afterDisable
ld a, [wChannelSoundIDs + CHAN5]
cp CRY_SFX_START
@@ -252,7 +252,7 @@ Audio2_sound_ret:
ret c
.skipRewind
ld a, [wSavedVolume]
- ldh [rNR50], a
+ ldh [rAUDVOL], a
xor a
ld [wSavedVolume], a
.skipCry
@@ -559,7 +559,7 @@ Audio2_volume:
cp volume_cmd
jr nz, Audio2_execute_music
call Audio2_GetNextMusicByte
- ldh [rNR50], a ; store volume
+ ldh [rAUDVOL], a ; store volume
jp Audio2_sound_ret
Audio2_execute_music:
@@ -649,7 +649,7 @@ Audio2_pitch_sweep:
bit BIT_EXECUTE_MUSIC, [hl]
jr nz, Audio2_note ; no
call Audio2_GetNextMusicByte
- ldh [rNR10], a
+ ldh [rAUD1SWEEP], a
jp Audio2_sound_ret
Audio2_note:
@@ -781,9 +781,9 @@ Audio2_note_pitch:
ld b, 0
ld hl, Audio2_HWChannelDisableMasks
add hl, bc
- ldh a, [rNR51]
+ ldh a, [rAUDTERM]
and [hl]
- ldh [rNR51], a ; disable hardware channel 3's output
+ ldh [rAUDTERM], a ; disable hardware channel 3's output
jr .done
.notChannel3
ld b, REG_VOLUME_ENVELOPE
@@ -856,7 +856,7 @@ Audio2_EnableChannelOutput:
ld b, 0
ld hl, Audio2_HWChannelEnableMasks
add hl, bc
- ldh a, [rNR51]
+ ldh a, [rAUDTERM]
or [hl] ; set this channel's bits
ld d, a
ld a, c
@@ -878,7 +878,7 @@ Audio2_EnableChannelOutput:
add hl, bc
and [hl]
ld d, a
- ldh a, [rNR51]
+ ldh a, [rAUDTERM]
ld hl, Audio2_HWChannelDisableMasks
add hl, bc
and [hl] ; reset this channel's output bits
@@ -886,7 +886,7 @@ Audio2_EnableChannelOutput:
ld d, a
.skip
ld a, d
- ldh [rNR51], a
+ ldh [rAUDTERM], a
ret
Audio2_ApplyDutyCycleAndSoundLength:
@@ -937,10 +937,10 @@ Audio2_ApplyWavePatternAndFrequency:
ld e, [hl]
inc hl
ld d, [hl]
- ld hl, rWave_0
+ ld hl, _AUD3WAVERAM
ld b, $f
ld a, $0 ; stop hardware channel 3
- ldh [rNR30], a
+ ldh [rAUD3ENA], a
.loop
ld a, [de]
inc de
@@ -950,7 +950,7 @@ Audio2_ApplyWavePatternAndFrequency:
and a
jr nz, .loop
ld a, $80 ; start hardware channel 3
- ldh [rNR30], a
+ ldh [rAUD3ENA], a
pop de
.notChannel3
ld a, d
@@ -1463,17 +1463,17 @@ Audio2_PlaySound::
ld a, $ff
ld [wStereoPanning], a
xor a
- ldh [rNR50], a
+ ldh [rAUDVOL], a
ld a, $8
- ldh [rNR10], a
+ ldh [rAUD1SWEEP], a
ld a, 0
- ldh [rNR51], a
+ ldh [rAUDTERM], a
xor a
- ldh [rNR30], a
+ ldh [rAUD3ENA], a
ld a, $80
- ldh [rNR30], a
+ ldh [rAUD3ENA], a
ld a, $77
- ldh [rNR50], a
+ ldh [rAUDVOL], a
jp .playSoundCommon
.playSfx
@@ -1619,7 +1619,7 @@ Audio2_PlaySound::
cp CHAN5
jr nz, .skipSweepDisable
ld a, $8
- ldh [rNR10], a ; sweep off
+ ldh [rAUD1SWEEP], a ; sweep off
.skipSweepDisable
ld a, c
and a
@@ -1629,22 +1629,22 @@ Audio2_PlaySound::
.stopAllAudio
ld a, $80
- ldh [rNR52], a ; sound hardware on
- ldh [rNR30], a ; wave playback on
+ ldh [rAUDENA], a ; sound hardware on
+ ldh [rAUD3ENA], a ; wave playback on
xor a
- ldh [rNR51], a ; no sound output
- ldh [rNR32], a ; mute channel 3 (wave channel)
+ ldh [rAUDTERM], a ; no sound output
+ ldh [rAUD3LEVEL], a ; mute channel 3 (wave channel)
ld a, $8
- ldh [rNR10], a ; sweep off
- ldh [rNR12], a ; mute channel 1 (pulse channel 1)
- ldh [rNR22], a ; mute channel 2 (pulse channel 2)
- ldh [rNR42], a ; mute channel 4 (noise channel)
+ ldh [rAUD1SWEEP], a ; sweep off
+ ldh [rAUD1ENV], a ; mute channel 1 (pulse channel 1)
+ ldh [rAUD2ENV], a ; mute channel 2 (pulse channel 2)
+ ldh [rAUD4ENV], a ; mute channel 4 (noise channel)
ld a, $40
- ldh [rNR14], a ; counter mode
- ldh [rNR24], a
- ldh [rNR44], a
+ ldh [rAUD1HIGH], a ; counter mode
+ ldh [rAUD2HIGH], a
+ ldh [rAUD4GO], a
ld a, $77
- ldh [rNR50], a ; full volume
+ ldh [rAUDVOL], a ; full volume
xor a
ld [wUnusedMusicByte], a
ld [wDisableChannelOutputWhenSfxEnds], a
@@ -1763,10 +1763,10 @@ Audio2_PlaySound::
ld a, [wSavedVolume]
and a
jr nz, .done
- ldh a, [rNR50]
+ ldh a, [rAUDVOL]
ld [wSavedVolume], a
ld a, $77
- ldh [rNR50], a ; full volume
+ ldh [rAUDVOL], a ; full volume
.done
ret
diff --git a/audio/engine_3.asm b/audio/engine_3.asm
index f524875f..76115420 100644
--- a/audio/engine_3.asm
+++ b/audio/engine_3.asm
@@ -20,10 +20,10 @@ Audio3_UpdateMusic::
set BIT_MUTE_AUDIO, a
ld [wMuteAudioAndPauseMusic], a
xor a ; disable all channels' output
- ldh [rNR51], a
- ldh [rNR30], a
+ ldh [rAUDTERM], a
+ ldh [rAUD3ENA], a
ld a, $80
- ldh [rNR30], a
+ ldh [rAUD3ENA], a
jr .nextChannel
.applyAffects
call Audio3_ApplyMusicAffects
@@ -183,9 +183,9 @@ Audio3_sound_ret:
jr nz, .skipSfxChannel3
; restart hardware channel 3 (wave channel) output
ld a, $0
- ldh [rNR30], a
+ ldh [rAUD3ENA], a
ld a, $80
- ldh [rNR30], a
+ ldh [rAUD3ENA], a
.skipSfxChannel3
jr nz, .dontDisable
ld a, [wDisableChannelOutputWhenSfxEnds]
@@ -219,9 +219,9 @@ Audio3_sound_ret:
.disableChannelOutput
ld hl, Audio3_HWChannelDisableMasks
add hl, bc
- ldh a, [rNR51]
+ ldh a, [rAUDTERM]
and [hl]
- ldh [rNR51], a
+ ldh [rAUDTERM], a
.afterDisable
ld a, [wChannelSoundIDs + CHAN5]
cp CRY_SFX_START
@@ -241,7 +241,7 @@ Audio3_sound_ret:
ret c
.skipRewind
ld a, [wSavedVolume]
- ldh [rNR50], a
+ ldh [rAUDVOL], a
xor a
ld [wSavedVolume], a
.skipCry
@@ -548,7 +548,7 @@ Audio3_volume:
cp volume_cmd
jr nz, Audio3_execute_music
call Audio3_GetNextMusicByte
- ldh [rNR50], a ; store volume
+ ldh [rAUDVOL], a ; store volume
jp Audio3_sound_ret
Audio3_execute_music:
@@ -638,7 +638,7 @@ Audio3_pitch_sweep:
bit BIT_EXECUTE_MUSIC, [hl]
jr nz, Audio3_note ; no
call Audio3_GetNextMusicByte
- ldh [rNR10], a
+ ldh [rAUD1SWEEP], a
jp Audio3_sound_ret
Audio3_note:
@@ -770,9 +770,9 @@ Audio3_note_pitch:
ld b, 0
ld hl, Audio3_HWChannelDisableMasks
add hl, bc
- ldh a, [rNR51]
+ ldh a, [rAUDTERM]
and [hl]
- ldh [rNR51], a ; disable hardware channel 3's output
+ ldh [rAUDTERM], a ; disable hardware channel 3's output
jr .done
.notChannel3
ld b, REG_VOLUME_ENVELOPE
@@ -845,7 +845,7 @@ Audio3_EnableChannelOutput:
ld b, 0
ld hl, Audio3_HWChannelEnableMasks
add hl, bc
- ldh a, [rNR51]
+ ldh a, [rAUDTERM]
or [hl] ; set this channel's bits
ld d, a
ld a, c
@@ -867,7 +867,7 @@ Audio3_EnableChannelOutput:
add hl, bc
and [hl]
ld d, a
- ldh a, [rNR51]
+ ldh a, [rAUDTERM]
ld hl, Audio3_HWChannelDisableMasks
add hl, bc
and [hl] ; reset this channel's output bits
@@ -875,7 +875,7 @@ Audio3_EnableChannelOutput:
ld d, a
.skip
ld a, d
- ldh [rNR51], a
+ ldh [rAUDTERM], a
ret
Audio3_ApplyDutyCycleAndSoundLength:
@@ -926,10 +926,10 @@ Audio3_ApplyWavePatternAndFrequency:
ld e, [hl]
inc hl
ld d, [hl]
- ld hl, rWave_0
+ ld hl, _AUD3WAVERAM
ld b, $f
ld a, $0 ; stop hardware channel 3
- ldh [rNR30], a
+ ldh [rAUD3ENA], a
.loop
ld a, [de]
inc de
@@ -939,7 +939,7 @@ Audio3_ApplyWavePatternAndFrequency:
and a
jr nz, .loop
ld a, $80 ; start hardware channel 3
- ldh [rNR30], a
+ ldh [rAUD3ENA], a
pop de
.notChannel3
ld a, d
@@ -1400,17 +1400,17 @@ Audio3_PlaySound::
ld a, $ff
ld [wStereoPanning], a
xor a
- ldh [rNR50], a
+ ldh [rAUDVOL], a
ld a, $8
- ldh [rNR10], a
+ ldh [rAUD1SWEEP], a
ld a, 0
- ldh [rNR51], a
+ ldh [rAUDTERM], a
xor a
- ldh [rNR30], a
+ ldh [rAUD3ENA], a
ld a, $80
- ldh [rNR30], a
+ ldh [rAUD3ENA], a
ld a, $77
- ldh [rNR50], a
+ ldh [rAUDVOL], a
jp .playSoundCommon
.playSfx
@@ -1556,7 +1556,7 @@ Audio3_PlaySound::
cp CHAN5
jr nz, .skipSweepDisable
ld a, $8
- ldh [rNR10], a ; sweep off
+ ldh [rAUD1SWEEP], a ; sweep off
.skipSweepDisable
ld a, c
and a
@@ -1566,22 +1566,22 @@ Audio3_PlaySound::
.stopAllAudio
ld a, $80
- ldh [rNR52], a ; sound hardware on
- ldh [rNR30], a ; wave playback on
+ ldh [rAUDENA], a ; sound hardware on
+ ldh [rAUD3ENA], a ; wave playback on
xor a
- ldh [rNR51], a ; no sound output
- ldh [rNR32], a ; mute channel 3 (wave channel)
+ ldh [rAUDTERM], a ; no sound output
+ ldh [rAUD3LEVEL], a ; mute channel 3 (wave channel)
ld a, $8
- ldh [rNR10], a ; sweep off
- ldh [rNR12], a ; mute channel 1 (pulse channel 1)
- ldh [rNR22], a ; mute channel 2 (pulse channel 2)
- ldh [rNR42], a ; mute channel 4 (noise channel)
+ ldh [rAUD1SWEEP], a ; sweep off
+ ldh [rAUD1ENV], a ; mute channel 1 (pulse channel 1)
+ ldh [rAUD2ENV], a ; mute channel 2 (pulse channel 2)
+ ldh [rAUD4ENV], a ; mute channel 4 (noise channel)
ld a, $40
- ldh [rNR14], a ; counter mode
- ldh [rNR24], a
- ldh [rNR44], a
+ ldh [rAUD1HIGH], a ; counter mode
+ ldh [rAUD2HIGH], a
+ ldh [rAUD4GO], a
ld a, $77
- ldh [rNR50], a ; full volume
+ ldh [rAUDVOL], a ; full volume
xor a
ld [wUnusedMusicByte], a
ld [wDisableChannelOutputWhenSfxEnds], a
@@ -1700,10 +1700,10 @@ Audio3_PlaySound::
ld a, [wSavedVolume]
and a
jr nz, .done
- ldh a, [rNR50]
+ ldh a, [rAUDVOL]
ld [wSavedVolume], a
ld a, $77
- ldh [rNR50], a ; full volume
+ ldh [rAUDVOL], a ; full volume
.done
ret
diff --git a/audio/low_health_alarm.asm b/audio/low_health_alarm.asm
index 728f5f65..e14e21cb 100644
--- a/audio/low_health_alarm.asm
+++ b/audio/low_health_alarm.asm
@@ -49,7 +49,7 @@ Music_DoLowHealthAlarm::
;update sound channel 1 to play the alarm, overriding all other sounds.
.playTone
- ld hl, rNR10 ;channel 1 sound register
+ ld hl, rAUD1SWEEP ;channel 1 sound register
ld c, $5
xor a
diff --git a/audio/wave_samples.asm b/audio/wave_samples.asm
index 941ced53..166f79e5 100644
--- a/audio/wave_samples.asm
+++ b/audio/wave_samples.asm
@@ -13,7 +13,7 @@
; 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 rWave_0--rWave_f
+; the current instrument is copied to _AUD3WAVERAM
.wave0
dn 0, 2, 4, 6, 8, 10, 12, 14, 15, 15, 15, 14, 14, 13, 13, 12, 12, 11, 10, 9, 8, 7, 6, 5, 4, 4, 3, 3, 2, 2, 1, 1
diff --git a/constants/audio_constants.asm b/constants/audio_constants.asm
index 99b899d1..36c35006 100644
--- a/constants/audio_constants.asm
+++ b/constants/audio_constants.asm
@@ -32,10 +32,10 @@ DEF NUM_NOISE_CHANS EQU const_value - NUM_MUSIC_CHANS
DEF NUM_CHANNELS EQU const_value
; HW sound channel register base addresses
-DEF HW_CH1_BASE EQU LOW(rNR10)
-DEF HW_CH2_BASE EQU LOW(rNR21) - 1
-DEF HW_CH3_BASE EQU LOW(rNR30)
-DEF HW_CH4_BASE EQU LOW(rNR41) - 1
+DEF HW_CH1_BASE EQU LOW(rAUD1SWEEP)
+DEF HW_CH2_BASE EQU LOW(rAUD2LEN) - 1
+DEF HW_CH3_BASE EQU LOW(rAUD3ENA)
+DEF HW_CH4_BASE EQU LOW(rAUD4LEN) - 1
; HW sound channel enable bit masks
DEF HW_CH1_ENABLE_MASK EQU %00010001
diff --git a/constants/gfx_constants.asm b/constants/gfx_constants.asm
index 08cf8dc7..1a06238c 100644
--- a/constants/gfx_constants.asm
+++ b/constants/gfx_constants.asm
@@ -1,14 +1,4 @@
-DEF TILE_WIDTH EQU 8 ; pixels
-DEF LEN_1BPP_TILE EQU 1 * TILE_WIDTH ; bytes
-DEF LEN_2BPP_TILE EQU 2 * TILE_WIDTH ; bytes
-
-DEF SCREEN_WIDTH EQU 20
-DEF SCREEN_HEIGHT EQU 18
-DEF SCREEN_WIDTH_PX EQU SCREEN_WIDTH * TILE_WIDTH ; pixels
-DEF SCREEN_HEIGHT_PX EQU SCREEN_HEIGHT * TILE_WIDTH ; pixels
-
-DEF BG_MAP_WIDTH EQU 32 ; tiles
-DEF BG_MAP_HEIGHT EQU 32 ; tiles
+DEF TILE_1BPP_SIZE EQU TILE_SIZE / 2 ; bytes
DEF BLOCK_WIDTH EQU 4 ; tiles
DEF BLOCK_HEIGHT EQU BLOCK_WIDTH ; tiles
@@ -17,16 +7,13 @@ DEF SCREEN_BLOCK_HEIGHT EQU 5 ; blocks
DEF SURROUNDING_WIDTH EQU SCREEN_BLOCK_WIDTH * BLOCK_WIDTH ; tiles
DEF SURROUNDING_HEIGHT EQU SCREEN_BLOCK_HEIGHT * BLOCK_HEIGHT ; tiles
-DEF SPRITEBUFFERSIZE EQU 7 * 7 * LEN_1BPP_TILE
+DEF SPRITEBUFFERSIZE EQU 7 * 7 * TILE_1BPP_SIZE
; HP bar
DEF HP_BAR_GREEN EQU 0
DEF HP_BAR_YELLOW EQU 1
DEF HP_BAR_RED EQU 2
-; wShadowOAM
-DEF NUM_SPRITE_OAM_STRUCTS EQU 40
-
; hAutoBGTransferEnabled
DEF TRANSFERTOP EQU 0
DEF TRANSFERMIDDLE EQU 1
diff --git a/constants/hardware.inc b/constants/hardware.inc
new file mode 100644
index 00000000..628b6820
--- /dev/null
+++ b/constants/hardware.inc
@@ -0,0 +1,1065 @@
+;******************************************************************************
+; Game Boy hardware constant definitions
+; https://github.com/gbdev/hardware.inc
+;******************************************************************************
+
+; To the extent possible under law, the authors of this work have
+; waived all copyright and related or neighboring rights to the work.
+; See https://creativecommons.org/publicdomain/zero/1.0/ for details.
+; SPDX-License-Identifier: CC0-1.0
+
+; If this file was already included, don't do it again
+if !def(HARDWARE_INC)
+
+; Check for the minimum supported RGBDS version
+if !def(__RGBDS_MAJOR__) || !def(__RGBDS_MINOR__) || !def(__RGBDS_PATCH__)
+ fail "This version of 'hardware.inc' requires RGBDS version 0.5.0 or later"
+endc
+if __RGBDS_MAJOR__ == 0 && __RGBDS_MINOR__ < 5
+ fail "This version of 'hardware.inc' requires RGBDS version 0.5.0 or later."
+endc
+
+; Define the include guard and the current hardware.inc version
+; (do this after the RGBDS version check since the `def` syntax depends on it)
+def HARDWARE_INC equ 1
+def HARDWARE_INC_VERSION equs "5.1.0"
+
+; Usage: rev_Check_hardware_inc <min_ver>
+; Examples:
+; rev_Check_hardware_inc 1.2.3
+; rev_Check_hardware_inc 1.2 (equivalent to 1.2.0)
+; rev_Check_hardware_inc 1 (equivalent to 1.0.0)
+MACRO rev_Check_hardware_inc
+ if _NARG == 1 ; Actual invocation by the user
+ def hw_inc_cur_ver\@ equs strrpl("{HARDWARE_INC_VERSION}", ".", ",")
+ def hw_inc_min_ver\@ equs strrpl("\1", ".", ",")
+ rev_Check_hardware_inc {hw_inc_cur_ver\@}, {hw_inc_min_ver\@}, 0, 0
+ purge hw_inc_cur_ver\@, hw_inc_min_ver\@
+ else ; Recursive invocation
+ if \1 != \4 || (\2 < \5 || (\2 == \5 && \3 < \6))
+ fail "Version \1.\2.\3 of 'hardware.inc' is incompatible with requested version \4.\5.\6"
+ endc
+ endc
+ENDM
+
+
+;******************************************************************************
+; Memory-mapped registers ($FFxx range)
+;******************************************************************************
+
+; -- JOYP / P1 ($FF00) --------------------------------------------------------
+; Joypad face buttons
+def rJOYP equ $FF00
+
+def B_JOYP_GET_BUTTONS equ 5 ; 0 = reading buttons [r/w]
+def B_JOYP_GET_CTRL_PAD equ 4 ; 0 = reading Control Pad [r/w]
+ def JOYP_GET equ %00_11_0000 ; select which inputs to read from the lower nybble
+ def JOYP_GET_BUTTONS equ %00_01_0000 ; reading A/B/Select/Start buttons
+ def JOYP_GET_CTRL_PAD equ %00_10_0000 ; reading Control Pad directions
+ def JOYP_GET_NONE equ %00_11_0000 ; reading nothing
+
+def B_JOYP_START equ 3 ; 0 = Start is pressed (if reading buttons) [ro]
+def B_JOYP_SELECT equ 2 ; 0 = Select is pressed (if reading buttons) [ro]
+def B_JOYP_B equ 1 ; 0 = B is pressed (if reading buttons) [ro]
+def B_JOYP_A equ 0 ; 0 = A is pressed (if reading buttons) [ro]
+def B_JOYP_DOWN equ 3 ; 0 = Down is pressed (if reading Control Pad) [ro]
+def B_JOYP_UP equ 2 ; 0 = Up is pressed (if reading Control Pad) [ro]
+def B_JOYP_LEFT equ 1 ; 0 = Left is pressed (if reading Control Pad) [ro]
+def B_JOYP_RIGHT equ 0 ; 0 = Right is pressed (if reading Control Pad) [ro]
+ def JOYP_INPUTS equ %0000_1111
+ def JOYP_START equ 1 << B_JOYP_START
+ def JOYP_SELECT equ 1 << B_JOYP_SELECT
+ def JOYP_B equ 1 << B_JOYP_B
+ def JOYP_A equ 1 << B_JOYP_A
+ def JOYP_DOWN equ 1 << B_JOYP_DOWN
+ def JOYP_UP equ 1 << B_JOYP_UP
+ def JOYP_LEFT equ 1 << B_JOYP_LEFT
+ def JOYP_RIGHT equ 1 << B_JOYP_RIGHT
+
+; Combined input byte, with Control Pad in high nybble (conventional order)
+def B_PAD_DOWN equ 7
+def B_PAD_UP equ 6
+def B_PAD_LEFT equ 5
+def B_PAD_RIGHT equ 4
+def B_PAD_START equ 3
+def B_PAD_SELECT equ 2
+def B_PAD_B equ 1
+def B_PAD_A equ 0
+ def PAD_CTRL_PAD equ %1111_0000
+ def PAD_BUTTONS equ %0000_1111
+ def PAD_DOWN equ 1 << B_PAD_DOWN
+ def PAD_UP equ 1 << B_PAD_UP
+ def PAD_LEFT equ 1 << B_PAD_LEFT
+ def PAD_RIGHT equ 1 << B_PAD_RIGHT
+ def PAD_START equ 1 << B_PAD_START
+ def PAD_SELECT equ 1 << B_PAD_SELECT
+ def PAD_B equ 1 << B_PAD_B
+ def PAD_A equ 1 << B_PAD_A
+
+
+; Combined input byte, with Control Pad in low nybble (swapped order)
+def B_PAD_SWAP_START equ 7
+def B_PAD_SWAP_SELECT equ 6
+def B_PAD_SWAP_B equ 5
+def B_PAD_SWAP_A equ 4
+def B_PAD_SWAP_DOWN equ 3
+def B_PAD_SWAP_UP equ 2
+def B_PAD_SWAP_LEFT equ 1
+def B_PAD_SWAP_RIGHT equ 0
+ def PAD_SWAP_CTRL_PAD equ %0000_1111
+ def PAD_SWAP_BUTTONS equ %1111_0000
+ def PAD_SWAP_START equ 1 << B_PAD_SWAP_START
+ def PAD_SWAP_SELECT equ 1 << B_PAD_SWAP_SELECT
+ def PAD_SWAP_B equ 1 << B_PAD_SWAP_B
+ def PAD_SWAP_A equ 1 << B_PAD_SWAP_A
+ def PAD_SWAP_DOWN equ 1 << B_PAD_SWAP_DOWN
+ def PAD_SWAP_UP equ 1 << B_PAD_SWAP_UP
+ def PAD_SWAP_LEFT equ 1 << B_PAD_SWAP_LEFT
+ def PAD_SWAP_RIGHT equ 1 << B_PAD_SWAP_RIGHT
+
+; -- SB ($FF01) ---------------------------------------------------------------
+; Serial transfer data [r/w]
+def rSB equ $FF01
+
+; -- SC ($FF02) ---------------------------------------------------------------
+; Serial transfer control
+def rSC equ $FF02
+
+def B_SC_START equ 7 ; reading 1 = transfer in progress, writing 1 = start transfer [r/w]
+def B_SC_SPEED equ 1 ; (CGB only) 1 = use faster internal clock [r/w]
+def B_SC_SOURCE equ 0 ; 0 = use external clock ("slave"), 1 = use internal clock ("master") [r/w]
+ def SC_START equ 1 << B_SC_START
+ def SC_SPEED equ 1 << B_SC_SPEED
+ def SC_SLOW equ 0 << B_SC_SPEED
+ def SC_FAST equ 1 << B_SC_SPEED
+ def SC_SOURCE equ 1 << B_SC_SOURCE
+ def SC_EXTERNAL equ 0 << B_SC_SOURCE
+ def SC_INTERNAL equ 1 << B_SC_SOURCE
+
+; -- $FF03 is unused ----------------------------------------------------------
+
+; -- DIV ($FF04) --------------------------------------------------------------
+; Divider register [r/w]
+def rDIV equ $FF04
+
+; -- TIMA ($FF05) -------------------------------------------------------------
+; Timer counter [r/w]
+def rTIMA equ $FF05
+
+; -- TMA ($FF06) --------------------------------------------------------------
+; Timer modulo [r/w]
+def rTMA equ $FF06
+
+; -- TAC ($FF07) --------------------------------------------------------------
+; Timer control
+def rTAC equ $FF07
+
+def B_TAC_START equ 2 ; enable incrementing TIMA [r/w]
+ def TAC_STOP equ 0 << B_TAC_START
+ def TAC_START equ 1 << B_TAC_START
+
+def TAC_CLOCK equ %000000_11 ; the frequency at which TIMA increments [r/w]
+ def TAC_4KHZ equ %000000_00 ; every 256 M-cycles = ~4 KHz on DMG
+ def TAC_262KHZ equ %000000_01 ; every 4 M-cycles = ~262 KHz on DMG
+ def TAC_65KHZ equ %000000_10 ; every 16 M-cycles = ~65 KHz on DMG
+ def TAC_16KHZ equ %000000_11 ; every 64 M-cycles = ~16 KHz on DMG
+
+; -- $FF08-$FF0E are unused ---------------------------------------------------
+
+; -- IF ($FF0F) ---------------------------------------------------------------
+; Pending interrupts
+def rIF equ $FF0F
+
+def B_IF_JOYPAD equ 4 ; 1 = joypad interrupt is pending [r/w]
+def B_IF_SERIAL equ 3 ; 1 = serial interrupt is pending [r/w]
+def B_IF_TIMER equ 2 ; 1 = timer interrupt is pending [r/w]
+def B_IF_STAT equ 1 ; 1 = STAT interrupt is pending [r/w]
+def B_IF_VBLANK equ 0 ; 1 = VBlank interrupt is pending [r/w]
+ def IF_JOYPAD equ 1 << B_IF_JOYPAD
+ def IF_SERIAL equ 1 << B_IF_SERIAL
+ def IF_TIMER equ 1 << B_IF_TIMER
+ def IF_STAT equ 1 << B_IF_STAT
+ def IF_VBLANK equ 1 << B_IF_VBLANK
+
+; -- AUD1SWEEP / NR10 ($FF10) -------------------------------------------------
+; Audio channel 1 sweep
+def rAUD1SWEEP equ $FF10
+
+def AUD1SWEEP_TIME equ %0_111_0000 ; how long between sweep iterations
+ ; (in 128 Hz ticks, ~7.8 ms apart) [r/w]
+
+def B_AUD1SWEEP_DIR equ 3 ; sweep direction [r/w]
+ def AUD1SWEEP_DIR equ 1 << B_AUD1SWEEP_DIR
+ def AUD1SWEEP_UP equ 0 << B_AUD1SWEEP_DIR
+ def AUD1SWEEP_DOWN equ 1 << B_AUD1SWEEP_DIR
+
+def AUD1SWEEP_SHIFT equ %00000_111 ; how much the period increases/decreases per iteration [r/w]
+
+; -- AUD1LEN / NR11 ($FF11) ---------------------------------------------------
+; Audio channel 1 length timer and duty cycle
+def rAUD1LEN equ $FF11
+
+def AUD1LEN_DUTY equ %11_000000 ; ratio of time spent high vs. time spent low [r/w]
+ def AUD1LEN_DUTY_12_5 equ %00_000000 ; 12.5%
+ def AUD1LEN_DUTY_25 equ %01_000000 ; 25%
+ def AUD1LEN_DUTY_50 equ %10_000000 ; 50%
+ def AUD1LEN_DUTY_75 equ %11_000000 ; 75%
+
+def AUD1LEN_TIMER equ %00_111111 ; initial length timer (0-63) [wo]
+
+; -- AUD1ENV / NR12 ($FF12) ---------------------------------------------------
+; Audio channel 1 volume and envelope
+def rAUD1ENV equ $FF12
+
+def AUD1ENV_INIT_VOLUME equ %1111_0000 ; initial volume [r/w]
+
+def B_AUD1ENV_DIR equ 3 ; direction of volume envelope [r/w]
+ def AUD1ENV_DIR equ 1 << B_AUD1ENV_DIR
+ def AUD1ENV_DOWN equ 0 << B_AUD1ENV_DIR
+ def AUD1ENV_UP equ 1 << B_AUD1ENV_DIR
+
+def AUD1ENV_PACE equ %00000_111 ; how long between envelope iterations
+ ; (in 64 Hz ticks, ~15.6 ms apart) [r/w]
+
+; -- AUD1LOW / NR13 ($FF13) ---------------------------------------------------
+; Audio channel 1 period (low 8 bits) [r/w]
+def rAUD1LOW equ $FF13
+
+; -- AUD1HIGH / NR14 ($FF14) --------------------------------------------------
+; Audio channel 1 period (high 3 bits) and control
+def rAUD1HIGH equ $FF14
+
+def B_AUD1HIGH_RESTART equ 7 ; 1 = restart the channel [wo]
+def B_AUD1HIGH_LEN_ENABLE equ 6 ; 1 = reset the channel after the length timer expires [r/w]
+ def AUD1HIGH_RESTART equ 1 << B_AUD1HIGH_RESTART
+ def AUD1HIGH_LENGTH_OFF equ 0 << B_AUD1HIGH_LEN_ENABLE
+ def AUD1HIGH_LENGTH_ON equ 1 << B_AUD1HIGH_LEN_ENABLE
+
+def AUD1HIGH_PERIOD_HIGH equ %00000_111 ; upper 3 bits of the channel's period [r/w]
+
+; -- $FF15 is unused ----------------------------------------------------------
+
+; -- AUD2LEN / NR21 ($FF16) ---------------------------------------------------
+; Audio channel 2 length timer and duty cycle
+def rAUD2LEN equ $FF16
+
+def AUD2LEN_DUTY equ %11_000000 ; ratio of time spent high vs. time spent low [r/w]
+ def AUD2LEN_DUTY_12_5 equ %00_000000 ; 12.5%
+ def AUD2LEN_DUTY_25 equ %01_000000 ; 25%
+ def AUD2LEN_DUTY_50 equ %10_000000 ; 50%
+ def AUD2LEN_DUTY_75 equ %11_000000 ; 75%
+
+def AUD2LEN_TIMER equ %00_111111 ; initial length timer (0-63) [wo]
+
+; -- AUD2ENV / NR22 ($FF17) ---------------------------------------------------
+; Audio channel 2 volume and envelope
+def rAUD2ENV equ $FF17
+
+def AUD2ENV_INIT_VOLUME equ %1111_0000 ; initial volume [r/w]
+
+def B_AUD2ENV_DIR equ 3 ; direction of volume envelope [r/w]
+ def AUD2ENV_DIR equ 1 << B_AUD2ENV_DIR
+ def AUD2ENV_DOWN equ 0 << B_AUD2ENV_DIR
+ def AUD2ENV_UP equ 1 << B_AUD2ENV_DIR
+
+def AUD2ENV_PACE equ %00000_111 ; how long between envelope iterations
+ ; (in 64 Hz ticks, ~15.6 ms apart) [r/w]
+
+; -- AUD2LOW / NR23 ($FF18) ---------------------------------------------------
+; Audio channel 2 period (low 8 bits) [r/w]
+def rAUD2LOW equ $FF18
+
+; -- AUD2HIGH / NR24 ($FF19) --------------------------------------------------
+; Audio channel 2 period (high 3 bits) and control
+def rAUD2HIGH equ $FF19
+
+def B_AUD2HIGH_RESTART equ 7 ; 1 = restart the channel [wo]
+def B_AUD2HIGH_LEN_ENABLE equ 6 ; 1 = reset the channel after the length timer expires [r/w]
+ def AUD2HIGH_RESTART equ 1 << B_AUD2HIGH_RESTART
+ def AUD2HIGH_LENGTH_OFF equ 0 << B_AUD2HIGH_LEN_ENABLE
+ def AUD2HIGH_LENGTH_ON equ 1 << B_AUD2HIGH_LEN_ENABLE
+
+def AUD2HIGH_PERIOD_HIGH equ %00000_111 ; upper 3 bits of the channel's period [r/w]
+
+; -- AUD3ENA / NR30 ($FF1A) ---------------------------------------------------
+; Audio channel 3 enable
+def rAUD3ENA equ $FF1A
+
+def B_AUD3ENA_ENABLE equ 7 ; 1 = channel is active [r/w]
+ def AUD3ENA_OFF equ 0 << B_AUD3ENA_ENABLE
+ def AUD3ENA_ON equ 1 << B_AUD3ENA_ENABLE
+
+; -- AUD3LEN / NR31 ($FF1B) ---------------------------------------------------
+; Audio channel 3 length timer [wo]
+def rAUD3LEN equ $FF1B
+
+; -- AUD3LEVEL / NR32 ($FF1C) -------------------------------------------------
+; Audio channel 3 volume
+def rAUD3LEVEL equ $FF1C
+
+def AUD3LEVEL_VOLUME equ %0_11_00000 ; volume level [r/w]
+ def AUD3LEVEL_MUTE equ %0_00_00000 ; 0% (muted)
+ def AUD3LEVEL_100 equ %0_01_00000 ; 100%
+ def AUD3LEVEL_50 equ %0_10_00000 ; 50%
+ def AUD3LEVEL_25 equ %0_11_00000 ; 25%
+
+; -- AUD3LOW / NR33 ($FF1D) ---------------------------------------------------
+; Audio channel 3 period (low 8 bits) [r/w]
+def rAUD3LOW equ $FF1D
+
+; -- AUD3HIGH / NR34 ($FF1E) --------------------------------------------------
+; Audio channel 3 period (high 3 bits) and control
+def rAUD3HIGH equ $FF1E
+
+def B_AUD3HIGH_RESTART equ 7 ; 1 = restart the channel [wo]
+def B_AUD3HIGH_LEN_ENABLE equ 6 ; 1 = reset the channel after the length timer expires [r/w]
+ def AUD3HIGH_RESTART equ 1 << B_AUD3HIGH_RESTART
+ def AUD3HIGH_LENGTH_OFF equ 0 << B_AUD3HIGH_LEN_ENABLE
+ def AUD3HIGH_LENGTH_ON equ 1 << B_AUD3HIGH_LEN_ENABLE
+
+def AUD3HIGH_PERIOD_HIGH equ %00000_111 ; upper 3 bits of the channel's period [r/w]
+
+; -- $FF1F is unused ----------------------------------------------------------
+
+; -- AUD4LEN / NR41 ($FF20) ---------------------------------------------------
+; Audio channel 4 length timer
+def rAUD4LEN equ $FF20
+
+def AUD4LEN_TIMER equ %00_111111 ; initial length timer (0-63) [wo]
+
+; -- AUD4ENV / NR42 ($FF21) ---------------------------------------------------
+; Audio channel 4 volume and envelope
+def rAUD4ENV equ $FF21
+
+def AUD4ENV_INIT_VOLUME equ %1111_0000 ; initial volume [r/w]
+
+def B_AUD4ENV_DIR equ 3 ; direction of volume envelope [r/w]
+ def AUD4ENV_DIR equ 1 << B_AUD4ENV_DIR
+ def AUD4ENV_DOWN equ 0 << B_AUD4ENV_DIR
+ def AUD4ENV_UP equ 1 << B_AUD4ENV_DIR
+
+def AUD4ENV_PACE equ %00000_111 ; how long between envelope iterations
+ ; (in 64 Hz ticks, ~15.6 ms apart) [r/w]
+
+; -- AUD4POLY / NR43 ($FF22) --------------------------------------------------
+; Audio channel 4 period and randomness
+def rAUD4POLY equ $FF22
+
+def AUD4POLY_SHIFT equ %1111_0000 ; coarse control of the channel's period [r/w]
+
+def B_AUD4POLY_WIDTH equ 3 ; controls the noise generator (LFSR)'s step width [r/w]
+ def AUD4POLY_15STEP equ 0 << B_AUD4POLY_WIDTH
+ def AUD4POLY_7STEP equ 1 << B_AUD4POLY_WIDTH
+
+def AUD4POLY_DIV equ %00000_111 ; fine control of the channel's period [r/w]
+
+; -- AUD4GO / NR44 ($FF23) ----------------------------------------------------
+; Audio channel 4 control
+def rAUD4GO equ $FF23
+
+def B_AUD4GO_RESTART equ 7 ; 1 = restart the channel [wo]
+def B_AUD4GO_LEN_ENABLE equ 6 ; 1 = reset the channel after the length timer expires [r/w]
+ def AUD4GO_RESTART equ 1 << B_AUD4GO_RESTART
+ def AUD4GO_LENGTH_OFF equ 0 << B_AUD4GO_LEN_ENABLE
+ def AUD4GO_LENGTH_ON equ 1 << B_AUD4GO_LEN_ENABLE
+
+; -- AUDVOL / NR50 ($FF24) ----------------------------------------------------
+; Audio master volume and VIN mixer
+def rAUDVOL equ $FF24
+
+def B_AUDVOL_VIN_LEFT equ 7 ; 1 = output VIN to left ear (SO2, speaker 2) [r/w]
+ def AUDVOL_VIN_LEFT equ 1 << B_AUDVOL_VIN_LEFT
+
+def AUDVOL_LEFT equ %0_111_0000 ; 0 = barely audible, 7 = full volume [r/w]
+
+def B_AUDVOL_VIN_RIGHT equ 3 ; 1 = output VIN to right ear (SO1, speaker 1) [r/w]
+ def AUDVOL_VIN_RIGHT equ 1 << B_AUDVOL_VIN_RIGHT
+
+def AUDVOL_RIGHT equ %00000_111 ; 0 = barely audible, 7 = full volume [r/w]
+
+; -- AUDTERM / NR51 ($FF25) ---------------------------------------------------
+; Audio channel mixer
+def rAUDTERM equ $FF25
+
+def B_AUDTERM_4_LEFT equ 7 ; 1 = output channel 4 to left ear [r/w]
+def B_AUDTERM_3_LEFT equ 6 ; 1 = output channel 3 to left ear [r/w]
+def B_AUDTERM_2_LEFT equ 5 ; 1 = output channel 2 to left ear [r/w]
+def B_AUDTERM_1_LEFT equ 4 ; 1 = output channel 1 to left ear [r/w]
+def B_AUDTERM_4_RIGHT equ 3 ; 1 = output channel 4 to right ear [r/w]
+def B_AUDTERM_3_RIGHT equ 2 ; 1 = output channel 3 to right ear [r/w]
+def B_AUDTERM_2_RIGHT equ 1 ; 1 = output channel 2 to right ear [r/w]
+def B_AUDTERM_1_RIGHT equ 0 ; 1 = output channel 1 to right ear [r/w]
+ def AUDTERM_4_LEFT equ 1 << B_AUDTERM_4_LEFT
+ def AUDTERM_3_LEFT equ 1 << B_AUDTERM_3_LEFT
+ def AUDTERM_2_LEFT equ 1 << B_AUDTERM_2_LEFT
+ def AUDTERM_1_LEFT equ 1 << B_AUDTERM_1_LEFT
+ def AUDTERM_4_RIGHT equ 1 << B_AUDTERM_4_RIGHT
+ def AUDTERM_3_RIGHT equ 1 << B_AUDTERM_3_RIGHT
+ def AUDTERM_2_RIGHT equ 1 << B_AUDTERM_2_RIGHT
+ def AUDTERM_1_RIGHT equ 1 << B_AUDTERM_1_RIGHT
+
+; -- AUDENA / NR52 ($FF26) ----------------------------------------------------
+; Audio master enable
+def rAUDENA equ $FF26
+
+def B_AUDENA_ENABLE equ 7 ; 0 = disable the APU (resets all audio registers to 0!) [r/w]
+def B_AUDENA_ENABLE_CH4 equ 3 ; 1 = channel 4 is running [ro]
+def B_AUDENA_ENABLE_CH3 equ 2 ; 1 = channel 3 is running [ro]
+def B_AUDENA_ENABLE_CH2 equ 1 ; 1 = channel 2 is running [ro]
+def B_AUDENA_ENABLE_CH1 equ 0 ; 1 = channel 1 is running [ro]
+ def AUDENA_OFF equ 0 << B_AUDENA_ENABLE
+ def AUDENA_ON equ 1 << B_AUDENA_ENABLE
+ def AUDENA_CH4_OFF equ 0 << B_AUDENA_ENABLE_CH4
+ def AUDENA_CH4_ON equ 1 << B_AUDENA_ENABLE_CH4
+ def AUDENA_CH3_OFF equ 0 << B_AUDENA_ENABLE_CH3
+ def AUDENA_CH3_ON equ 1 << B_AUDENA_ENABLE_CH3
+ def AUDENA_CH2_OFF equ 0 << B_AUDENA_ENABLE_CH2
+ def AUDENA_CH2_ON equ 1 << B_AUDENA_ENABLE_CH2
+ def AUDENA_CH1_OFF equ 0 << B_AUDENA_ENABLE_CH1
+ def AUDENA_CH1_ON equ 1 << B_AUDENA_ENABLE_CH1
+
+; -- $FF27-$FF2F are unused ---------------------------------------------------
+
+; -- AUD3WAVE ($FF30-$FF3F) ---------------------------------------------------
+; Audio channel 3 wave pattern RAM [r/w]
+def _AUD3WAVERAM equ $FF30 ; $FF30-$FF3F
+
+def rAUD3WAVE_0 equ $FF30
+def rAUD3WAVE_1 equ $FF31
+def rAUD3WAVE_2 equ $FF32
+def rAUD3WAVE_3 equ $FF33
+def rAUD3WAVE_4 equ $FF34
+def rAUD3WAVE_5 equ $FF35
+def rAUD3WAVE_6 equ $FF36
+def rAUD3WAVE_7 equ $FF37
+def rAUD3WAVE_8 equ $FF38
+def rAUD3WAVE_9 equ $FF39
+def rAUD3WAVE_A equ $FF3A
+def rAUD3WAVE_B equ $FF3B
+def rAUD3WAVE_C equ $FF3C
+def rAUD3WAVE_D equ $FF3D
+def rAUD3WAVE_E equ $FF3E
+def rAUD3WAVE_F equ $FF3F
+
+def AUD3WAVE_SIZE equ 16
+
+; -- LCDC ($FF40) -------------------------------------------------------------
+; PPU graphics control
+def rLCDC equ $FF40
+
+def B_LCDC_ENABLE equ 7 ; whether the PPU (and LCD) are turned on [r/w]
+def B_LCDC_WIN_MAP equ 6 ; which tilemap the Window reads from [r/w]
+def B_LCDC_WINDOW equ 5 ; whether the Window is enabled [r/w]
+def B_LCDC_BLOCKS equ 4 ; which "tile blocks" the BG and Window use [r/w]
+def B_LCDC_BG_MAP equ 3 ; which tilemap the BG reads from [r/w]
+def B_LCDC_OBJ_SIZE equ 2 ; how many pixels tall each OBJ is [r/w]
+def B_LCDC_OBJS equ 1 ; whether OBJs are enabled [r/w]
+def B_LCDC_BG equ 0 ; (DMG only) whether the BG is enabled [r/w]
+def B_LCDC_PRIO equ 0 ; (CGB only) whether OBJ priority bits are enabled [r/w]
+ def LCDC_ENABLE equ 1 << B_LCDC_ENABLE
+ def LCDC_OFF equ 0 << B_LCDC_ENABLE
+ def LCDC_ON equ 1 << B_LCDC_ENABLE
+ def LCDC_WIN_MAP equ 1 << B_LCDC_WIN_MAP
+ def LCDC_WIN_9800 equ 0 << B_LCDC_WIN_MAP
+ def LCDC_WIN_9C00 equ 1 << B_LCDC_WIN_MAP
+ def LCDC_WINDOW equ 1 << B_LCDC_WINDOW
+ def LCDC_WIN_OFF equ 0 << B_LCDC_WINDOW
+ def LCDC_WIN_ON equ 1 << B_LCDC_WINDOW
+ def LCDC_BLOCKS equ 1 << B_LCDC_BLOCKS
+ def LCDC_BLOCK21 equ 0 << B_LCDC_BLOCKS
+ def LCDC_BLOCK01 equ 1 << B_LCDC_BLOCKS
+ def LCDC_BG_MAP equ 1 << B_LCDC_BG_MAP
+ def LCDC_BG_9800 equ 0 << B_LCDC_BG_MAP
+ def LCDC_BG_9C00 equ 1 << B_LCDC_BG_MAP
+ def LCDC_OBJ_SIZE equ 1 << B_LCDC_OBJ_SIZE
+ def LCDC_OBJ_8 equ 0 << B_LCDC_OBJ_SIZE
+ def LCDC_OBJ_16 equ 1 << B_LCDC_OBJ_SIZE
+ def LCDC_OBJS equ 1 << B_LCDC_OBJS
+ def LCDC_OBJ_OFF equ 0 << B_LCDC_OBJS
+ def LCDC_OBJ_ON equ 1 << B_LCDC_OBJS
+ def LCDC_BG equ 1 << B_LCDC_BG
+ def LCDC_BG_OFF equ 0 << B_LCDC_BG
+ def LCDC_BG_ON equ 1 << B_LCDC_BG
+ def LCDC_PRIO equ 1 << B_LCDC_PRIO
+ def LCDC_PRIO_OFF equ 0 << B_LCDC_PRIO
+ def LCDC_PRIO_ON equ 1 << B_LCDC_PRIO
+
+; -- STAT ($FF41) -------------------------------------------------------------
+; Graphics status and interrupt control
+def rSTAT equ $FF41
+
+def B_STAT_LYC equ 6 ; 1 = LY match triggers the STAT interrupt [r/w]
+def B_STAT_MODE_2 equ 5 ; 1 = OAM Scan triggers the PPU interrupt [r/w]
+def B_STAT_MODE_1 equ 4 ; 1 = VBlank triggers the PPU interrupt [r/w]
+def B_STAT_MODE_0 equ 3 ; 1 = HBlank triggers the PPU interrupt [r/w]
+def B_STAT_LYCF equ 2 ; 1 = LY is currently equal to LYC [ro]
+def B_STAT_BUSY equ 1 ; 1 = the PPU is currently accessing VRAM [ro]
+ def STAT_LYC equ 1 << B_STAT_LYC
+ def STAT_MODE_2 equ 1 << B_STAT_MODE_2
+ def STAT_MODE_1 equ 1 << B_STAT_MODE_1
+ def STAT_MODE_0 equ 1 << B_STAT_MODE_0
+ def STAT_LYCF equ 1 << B_STAT_LYCF
+ def STAT_BUSY equ 1 << B_STAT_BUSY
+
+def STAT_MODE equ %000000_11 ; PPU's current status [ro]
+ def STAT_HBLANK equ %000000_00 ; waiting after a line's rendering (HBlank)
+ def STAT_VBLANK equ %000000_01 ; waiting between frames (VBlank)
+ def STAT_OAM equ %000000_10 ; checking which OBJs will be rendered on this line (OAM scan)
+ def STAT_LCD equ %000000_11 ; pushing pixels to the LCD
+
+; -- SCY ($FF42) --------------------------------------------------------------
+; Background Y scroll offset (in pixels) [r/w]
+def rSCY equ $FF42
+
+; -- SCX ($FF43) --------------------------------------------------------------
+; Background X scroll offset (in pixels) [r/w]
+def rSCX equ $FF43
+
+; -- LY ($FF44) ---------------------------------------------------------------
+; Y coordinate of the line currently processed by the PPU (0-153) [ro]
+def rLY equ $FF44
+
+def LY_VBLANK equ 144 ; 144-153 is the VBlank period
+
+; -- LYC ($FF45) --------------------------------------------------------------
+; Value that LY is constantly compared to [r/w]
+def rLYC equ $FF45
+
+; -- DMA ($FF46) --------------------------------------------------------------
+; OAM DMA start address (high 8 bits) and start [wo]
+def rDMA equ $FF46
+
+; -- BGP ($FF47) --------------------------------------------------------------
+; (DMG only) Background color mapping [r/w]
+def rBGP equ $FF47
+
+def BGP_SGB_TRANSFER equ %11_10_01_00 ; set BGP to this value before SGB VRAM transfer
+
+; -- OBP0 ($FF48) -------------------------------------------------------------
+; (DMG only) OBJ color mapping #0 [r/w]
+def rOBP0 equ $FF48
+
+; -- OBP1 ($FF49) -------------------------------------------------------------
+; (DMG only) OBJ color mapping #1 [r/w]
+def rOBP1 equ $FF49
+
+; -- WY ($FF4A) ---------------------------------------------------------------
+; Y coordinate of the Window's top-left pixel (0-143) [r/w]
+def rWY equ $FF4A
+
+; -- WX ($FF4B) ---------------------------------------------------------------
+; X coordinate of the Window's top-left pixel, plus 7 (7-166) [r/w]
+def rWX equ $FF4B
+
+def WX_OFS equ 7 ; subtract this to get the actual Window Y coordinate
+
+; -- SYS / KEY0 ($FF4C) -------------------------------------------------------
+; (CGB boot ROM only) CPU mode select
+def rSYS equ $FF4C
+
+; This is known as the "CPU mode register" in Fig. 11 of this patent:
+; https://patents.google.com/patent/US6322447B1/en?oq=US6322447bi
+; "OBJ priority mode designating register" in the same patent
+; Credit to @mattcurrie for this finding!
+
+def SYS_MODE equ %0000_11_00 ; current system mode [r/w]
+ def SYS_CGB equ %0000_00_00 ; CGB mode
+ def SYS_DMG equ %0000_01_00 ; DMG compatibility mode
+ def SYS_PGB1 equ %0000_10_00 ; LCD is driven externally, CPU is stopped
+ def SYS_PGB2 equ %0000_11_00 ; LCD is driven externally, CPU is running
+
+; -- SPD / KEY1 ($FF4D) -------------------------------------------------------
+; (CGB only) Double-speed mode control
+def rSPD equ $FF4D
+
+def B_SPD_DOUBLE equ 7 ; current clock speed [ro]
+def B_SPD_PREPARE equ 0 ; 1 = next `stop` instruction will switch clock speeds [r/w]
+ def SPD_SINGLE equ 0 << B_SPD_DOUBLE
+ def SPD_DOUBLE equ 1 << B_SPD_DOUBLE
+ def SPD_PREPARE equ 1 << B_SPD_PREPARE
+
+; -- $FF4E is unused ----------------------------------------------------------
+
+; -- VBK ($FF4F) --------------------------------------------------------------
+; (CGB only) VRAM bank number (0 or 1)
+def rVBK equ $FF4F
+
+def VBK_BANK equ %0000000_1 ; mapped VRAM bank [r/w]
+
+; -- BANK ($FF50) -------------------------------------------------------------
+; (boot ROM only) Boot ROM mapping control
+def rBANK equ $FF50
+
+def B_BANK_ON equ 0 ; whether the boot ROM is mapped [wo]
+ def BANK_ON equ 0 << B_BANK_ON
+ def BANK_OFF equ 1 << B_BANK_ON
+
+; -- VDMA_SRC_HIGH / HDMA1 ($FF51) --------------------------------------------
+; (CGB only) VRAM DMA source address (high 8 bits) [wo]
+def rVDMA_SRC_HIGH equ $FF51
+
+; -- VDMA_SRC_LOW / HDMA2 ($FF52) ---------------------------------------------
+; (CGB only) VRAM DMA source address (low 8 bits) [wo]
+def rVDMA_SRC_LOW equ $FF52
+
+; -- VDMA_DEST_HIGH / HDMA3 ($FF53) -------------------------------------------
+; (CGB only) VRAM DMA destination address (high 8 bits) [wo]
+def rVDMA_DEST_HIGH equ $FF53
+
+; -- VDMA_DEST_LOW / HDMA3 ($FF54) --------------------------------------------
+; (CGB only) VRAM DMA destination address (low 8 bits) [wo]
+def rVDMA_DEST_LOW equ $FF54
+
+; -- VDMA_LEN / HDMA5 ($FF55) -------------------------------------------------
+; (CGB only) VRAM DMA length, mode, and start
+def rVDMA_LEN equ $FF55
+
+def B_VDMA_LEN_MODE equ 7 ; on write: VRAM DMA mode [wo]
+ def VDMA_LEN_MODE equ 1 << B_VDMA_LEN_MODE
+ def VDMA_LEN_MODE_GENERAL equ 0 << B_VDMA_LEN_MODE ; GDMA (general-purpose)
+ def VDMA_LEN_MODE_HBLANK equ 1 << B_VDMA_LEN_MODE ; HDMA (HBlank)
+
+def B_VDMA_LEN_BUSY equ 7 ; on read: is a VRAM DMA active?
+ def VDMA_LEN_BUSY equ 1 << B_VDMA_LEN_BUSY
+ def VDMA_LEN_NO equ 0 << B_VDMA_LEN_BUSY
+ def VDMA_LEN_YES equ 1 << B_VDMA_LEN_BUSY
+
+def VDMA_LEN_SIZE equ %0_1111111 ; how many 16-byte blocks (minus 1) to transfer [r/w]
+
+; -- RP ($FF56) ---------------------------------------------------------------
+; (CGB only) Infrared communications port
+def rRP equ $FF56
+
+def RP_READ equ %11_000000 ; whether the IR read is enabled [r/w]
+ def RP_DISABLE equ %00_000000
+ def RP_ENABLE equ %11_000000
+
+def B_RP_DATA_IN equ 1 ; 0 = IR light is being received [ro]
+def B_RP_LED_ON equ 0 ; 1 = IR light is being sent [r/w]
+ def RP_DATA_IN equ 1 << B_RP_DATA_IN
+ def RP_LED_ON equ 1 << B_RP_LED_ON
+ def RP_WRITE_LOW equ 0 << B_RP_LED_ON
+ def RP_WRITE_HIGH equ 1 << B_RP_LED_ON
+
+; -- $FF57-$FF67 are unused ---------------------------------------------------
+
+; -- BGPI / BCPS ($FF68) ------------------------------------------------------
+; (CGB only) Background palette I/O index
+def rBGPI equ $FF68
+
+def B_BGPI_AUTOINC equ 7 ; whether the index field is incremented after each write to BCPD [r/w]
+ def BGPI_AUTOINC equ 1 << B_BGPI_AUTOINC
+
+def BGPI_INDEX equ %00_111111 ; the index within Palette RAM accessed via BCPD [r/w]
+
+; -- BGPD / BCPD ($FF69) ------------------------------------------------------
+; (CGB only) Background palette I/O access [r/w]
+def rBGPD equ $FF69
+
+; -- OBPI / OCPS ($FF6A) ------------------------------------------------------
+; (CGB only) OBJ palette I/O index
+def rOBPI equ $FF6A
+
+def B_OBPI_AUTOINC equ 7 ; whether the index field is incremented after each write to OBPD [r/w]
+ def OBPI_AUTOINC equ 1 << B_OBPI_AUTOINC
+
+def OBPI_INDEX equ %00_111111 ; the index within Palette RAM accessed via OBPD [r/w]
+
+; -- OBPD / OCPD ($FF6B) ------------------------------------------------------
+; (CGB only) OBJ palette I/O access [r/w]
+def rOBPD equ $FF6B
+
+; -- OPRI ($FF6C) -------------------------------------------------------------
+; (CGB boot ROM only) OBJ draw priority mode
+def rOPRI equ $FF6C
+
+def B_OPRI_PRIORITY equ 0 ; which drawing priority is used for OBJs [r/w]
+ def OPRI_PRIORITY equ 1 << B_OPRI_PRIORITY
+ def OPRI_OAM equ 0 << B_OPRI_PRIORITY ; CGB mode default: earliest OBJ in OAM wins
+ def OPRI_COORD equ 1 << B_OPRI_PRIORITY ; DMG mode default: leftmost OBJ wins
+
+; -- $FF6D-$FF6F are unused ---------------------------------------------------
+
+; -- WBK / SVBK ($FF70) -------------------------------------------------------
+; (CGB only) WRAM bank number
+def rWBK equ $FF70
+
+def WBK_BANK equ %00000_111 ; mapped WRAM bank (0-7) [r/w]
+
+; -- $FF71-$FF75 are unused ---------------------------------------------------
+
+; -- PCM12 ($FF76) ------------------------------------------------------------
+; Audio channels 1 and 2 output
+def rPCM12 equ $FF76
+
+def PCM12_CH2 equ %1111_0000 ; audio channel 2 output [ro]
+def PCM12_CH1 equ %0000_1111 ; audio channel 1 output [ro]
+
+; -- PCM34 ($FF77) ------------------------------------------------------------
+; Audio channels 3 and 4 output
+def rPCM34 equ $FF77
+
+def PCM34_CH4 equ %1111_0000 ; audio channel 4 output [ro]
+def PCM34_CH3 equ %0000_1111 ; audio channel 3 output [ro]
+
+; -- $FF78-$FF7F are unused ---------------------------------------------------
+
+; -- IE ($FFFF) ---------------------------------------------------------------
+; Interrupt enable
+def rIE equ $FFFF
+
+def B_IE_JOYPAD equ 4 ; 1 = joypad interrupt is enabled [r/w]
+def B_IE_SERIAL equ 3 ; 1 = serial interrupt is enabled [r/w]
+def B_IE_TIMER equ 2 ; 1 = timer interrupt is enabled [r/w]
+def B_IE_STAT equ 1 ; 1 = STAT interrupt is enabled [r/w]
+def B_IE_VBLANK equ 0 ; 1 = VBlank interrupt is enabled [r/w]
+ def IE_JOYPAD equ 1 << B_IE_JOYPAD
+ def IE_SERIAL equ 1 << B_IE_SERIAL
+ def IE_TIMER equ 1 << B_IE_TIMER
+ def IE_STAT equ 1 << B_IE_STAT
+ def IE_VBLANK equ 1 << B_IE_VBLANK
+
+
+;******************************************************************************
+; Cartridge registers (MBC)
+;******************************************************************************
+
+; Note that these "registers" are each actually accessible at an entire address range;
+; however, one address for each of these ranges is considered the "canonical" one, and
+; these addresses are what's provided here.
+
+
+; ** Common to most MBCs ******************************************************
+
+; -- RAMG ($0000-$1FFF) -------------------------------------------------------
+; Whether SRAM can be accessed [wo]
+def rRAMG equ $0000
+
+; Common values (not for HuC1 or HuC-3)
+def RAMG_SRAM_DISABLE equ $00
+def RAMG_SRAM_ENABLE equ $0A ; some MBCs accept any value whose low nybble is $A
+
+; (HuC-3 only) switch SRAM to map cartridge RAM, RTC, or IR
+def RAMG_CART_RAM_RO equ $00 ; select cartridge RAM [ro]
+def RAMG_CART_RAM equ $0A ; select cartridge RAM [r/w]
+def RAMG_RTC_IN equ $0B ; select RTC command/argument [wo]
+ def RAMG_RTC_IN_CMD equ %0_111_0000 ; command
+ def RAMG_RTC_IN_ARG equ %0_000_1111 ; argument
+def RAMG_RTC_OUT equ $0C ; select RTC command/response [ro]
+ def RAMG_RTC_OUT_CMD equ %0_111_0000 ; command
+ def RAMG_RTC_OUT_RESULT equ %0_000_1111 ; result
+def RAMG_RTC_SEMAPHORE equ $0D ; select RTC semaphore [r/w]
+def RAMG_IR equ $0E ; (HuC1 and HuC-3 only) select IR [r/w]
+
+; -- ROMB ($2000-$3FFF) -------------------------------------------------------
+; ROM bank number (not for MBC5 or MBC6) [wo]
+def rROMB equ $2000
+
+; -- RAMB ($4000-$5FFF) -------------------------------------------------------
+; SRAM bank number (not for MBC2, MBC6, or MBC7) [wo]
+def rRAMB equ $4000
+
+; (MBC3 only) Special RAM bank numbers that actually map values into RTCREG
+def RAMB_RTC_S equ $08 ; seconds counter (0-59)
+def RAMB_RTC_M equ $09 ; minutes counter (0-59)
+def RAMB_RTC_H equ $0A ; hours counter (0-23)
+def RAMB_RTC_DL equ $0B ; days counter, low byte (0-255)
+def RAMB_RTC_DH equ $0C ; days counter, high bit and other flags
+ def B_RAMB_RTC_DH_CARRY equ 7 ; 1 = days counter overflowed [wo]
+ def B_RAMB_RTC_DH_HALT equ 6 ; 0 = run timer, 1 = stop timer [wo]
+ def B_RAMB_RTC_DH_HIGH equ 0 ; days counter, high bit (bit 8) [wo]
+ def RAMB_RTC_DH_CARRY equ 1 << B_RAMB_RTC_DH_CARRY
+ def RAMB_RTC_DH_HALT equ 1 << B_RAMB_RTC_DH_HALT
+ def RAMB_RTC_DH_HIGH equ 1 << B_RAMB_RTC_DH_HIGH
+
+def B_RAMB_RUMBLE equ 3 ; (MBC5 and MBC7 only) enable the rumble motor (if any)
+ def RAMB_RUMBLE equ 1 << B_RAMB_RUMBLE
+ def RAMB_RUMBLE_OFF equ 0 << B_RAMB_RUMBLE
+ def RAMB_RUMBLE_ON equ 1 << B_RAMB_RUMBLE
+
+
+; ** MBC1 and MMM01 only ******************************************************
+
+; -- BMODE ($6000-$7FFF) ------------------------------------------------------
+; Banking mode select [wo]
+def rBMODE equ $6000
+
+def BMODE_SIMPLE equ $00 ; locks ROMB and RAMB to bank 0
+def BMODE_ADVANCED equ $01 ; allows bank-switching with RAMB
+
+
+; ** MBC2 only ****************************************************************
+
+; -- ROM2B ($0000-$3FFF with bit 8 set) ---------------------------------------
+; ROM bank number [wo]
+def rROM2B equ $2100
+
+
+; ** MBC3 only ****************************************************************
+
+; -- RTCLATCH ($6000-$7FFF) ---------------------------------------------------
+; RTC latch clock data [wo]
+def rRTCLATCH equ $6000
+
+; Write $00 then $01 to latch the current time into RTCREG
+def RTCLATCH_START equ $00
+def RTCLATCH_FINISH equ $01
+
+; -- RTCREG ($A000-$BFFF) -----------------------------------------------------
+; RTC register [r/w]
+def rRTCREG equ $A000
+
+
+; ** MBC5 only ****************************************************************
+
+; -- ROMB0 ($2000-$3FFF) ------------------------------------------------------
+; ROM bank number low byte (bits 0-7) [wo]
+def rROMB0 equ $2000
+
+; -- ROMB1 ($3000-$3FFF) ------------------------------------------------------
+; ROM bank number high bit (bit 8) [wo]
+def rROMB1 equ $3000
+
+
+; ** MBC6 only ****************************************************************
+
+; -- RAMBA ($0400-$07FF) ------------------------------------------------------
+; RAM bank A number [wo]
+def rRAMBA equ $0400
+
+; -- RAMBB ($0800-$0BFF) ------------------------------------------------------
+; RAM bank B number [wo]
+def rRAMBB equ $0800
+
+; -- FLASH ($0C00-$0FFF) ------------------------------------------------------
+; Whether the flash chip can be accessed [wo]
+def rFLASH equ $0C00
+
+; -- FMODE ($1000) ------------------------------------------------------------
+; Write mode select for the flash chip
+def rFMODE equ $1000
+
+; -- ROMBA ($2000-$27FF) ------------------------------------------------------
+; ROM/Flash bank A number [wo]
+def rROMBA equ $2000
+
+; -- FLASHA ($2800-$2FFF) -----------------------------------------------------
+; ROM/Flash bank A select [wo]
+def rFLASHA equ $2800
+
+; -- ROMBB ($3000-$37FF) ------------------------------------------------------
+; ROM/Flash bank B number [wo]
+def rROMBB equ $3000
+
+; -- FLASHB ($3800-$3FFF) -----------------------------------------------------
+; ROM/Flash bank B select [wo]
+def rFLASHB equ $3800
+
+
+; ** MBC7 only ****************************************************************
+
+; -- RAMREG ($4000-$5FFF) -----------------------------------------------------
+; Enable RAM register access [wo]
+def rRAMREG equ $4000
+
+def RAMREG_ENABLE equ $40
+
+; -- ACCLATCH0 ($Ax0x) --------------------------------------------------------
+; Latch accelerometer start [wo]
+def rACCLATCH0 equ $A000
+
+def ACCLATCH0_START equ $55
+
+; -- ACCLATCH1 ($Ax1x) --------------------------------------------------------
+; Latch accelerometer finish [wo]
+def rACCLATCH1 equ $A010
+
+def ACCLATCH1_FINISH equ $AA
+
+; -- ACCELX0 ($Ax2x) ----------------------------------------------------------
+; Accelerometer X value low byte [ro]
+def rACCELX0 equ $A020
+
+; -- ACCELX1 ($Ax3x) ----------------------------------------------------------
+; Accelerometer X value high byte [ro]
+def rACCELX1 equ $A030
+
+; -- ACCELY0 ($Ax4x) ----------------------------------------------------------
+; Accelerometer Y value low byte [ro]
+def rACCELY0 equ $A040
+
+; -- ACCELY1 ($Ax5x) ----------------------------------------------------------
+; Accelerometer Y value high byte [ro]
+def rACCELY1 equ $A050
+
+; -- EEPROM ($Ax8x) -----------------------------------------------------------
+; EEPROM access [r/w]
+def rEEPROM equ $A080
+
+
+; ** HuC1 only ****************************************************************
+
+; -- IRREG ($A000-$BFFF) ------------------------------------------------------
+; IR register [r/w]
+def rIRREG equ $A000
+
+def IR_LED_OFF equ $C0
+def IR_LED_ON equ $C1
+
+
+;******************************************************************************
+; Screen-related constants
+;******************************************************************************
+
+def SCREEN_WIDTH_PX equ 160 ; width of screen in pixels
+def SCREEN_HEIGHT_PX equ 144 ; height of screen in pixels
+def SCREEN_WIDTH equ 20 ; width of screen in bytes
+def SCREEN_HEIGHT equ 18 ; height of screen in bytes
+def SCREEN_AREA equ SCREEN_WIDTH * SCREEN_HEIGHT ; size of screen in bytes
+
+def TILEMAP_WIDTH_PX equ 256 ; width of tilemap in pixels
+def TILEMAP_HEIGHT_PX equ 256 ; height of tilemap in pixels
+def TILEMAP_WIDTH equ 32 ; width of tilemap in bytes
+def TILEMAP_HEIGHT equ 32 ; height of tilemap in bytes
+def TILEMAP_AREA equ TILEMAP_WIDTH * TILEMAP_HEIGHT ; size of tilemap in bytes
+
+def TILE_WIDTH equ 8 ; width of tile in pixels
+def TILE_HEIGHT equ 8 ; height of tile in pixels
+def TILE_SIZE equ 16 ; size of tile in bytes (2 bits/pixel)
+
+def COLOR_SIZE equ 2 ; size of color in bytes (little-endian BGR555)
+ def B_COLOR_RED equ 0 ; bits 4-0
+ def B_COLOR_GREEN equ 5 ; bits 9-5
+ def B_COLOR_BLUE equ 10 ; bits 14-10
+ def COLOR_RED equ %000_11111 ; for the low byte
+ def COLOR_GREEN_LOW equ %111_00000 ; for the low byte
+ def COLOR_GREEN_HIGH equ %0_00000_11 ; for the high byte
+ def COLOR_BLUE equ %0_11111_00 ; for the high byte
+def PAL_COLORS equ 4 ; colors per palette
+def PAL_SIZE equ COLOR_SIZE * PAL_COLORS ; size of palette in bytes
+
+; Tilemaps the BG or Window can read from (controlled by LCDC)
+def TILEMAP0 equ $9800 ; $9800-$9BFF
+def TILEMAP1 equ $9C00 ; $9C00-$9FFF
+
+; (CGB only) BG tile attribute fields
+def B_BG_PRIO equ 7 ; whether the BG tile colors 1-3 are drawn above OBJs
+def B_BG_YFLIP equ 6 ; whether the whole BG tile is flipped vertically
+def B_BG_XFLIP equ 5 ; whether the whole BG tile is flipped horizontally
+def B_BG_BANK1 equ 3 ; which VRAM bank the BG tile is taken from
+def BG_PALETTE equ %00000_111 ; which palette the BG tile uses
+ def BG_PRIO equ 1 << B_BG_PRIO
+ def BG_YFLIP equ 1 << B_BG_YFLIP
+ def BG_XFLIP equ 1 << B_BG_XFLIP
+ def BG_BANK0 equ 0 << B_BG_BANK1
+ def BG_BANK1 equ 1 << B_BG_BANK1
+
+
+;******************************************************************************
+; OBJ-related constants
+;******************************************************************************
+
+; OAM attribute field offsets
+rsreset
+def OAMA_Y rb ; 0
+ def OAM_Y_OFS equ 16 ; subtract 16 from what's written to OAM to get the real Y position
+def OAMA_X rb ; 1
+ def OAM_X_OFS equ 8 ; subtract 8 from what's written to OAM to get the real X position
+def OAMA_TILEID rb ; 2
+def OAMA_FLAGS rb ; 3
+ def B_OAM_PRIO equ 7 ; whether the OBJ is drawn below BG colors 1-3
+ def B_OAM_YFLIP equ 6 ; whether the whole OBJ is flipped vertically
+ def B_OAM_XFLIP equ 5 ; whether the whole OBJ is flipped horizontally
+ def B_OAM_PAL1 equ 4 ; (DMG only) which of the two palettes the OBJ uses
+ def B_OAM_BANK1 equ 3 ; (CGB only) which VRAM bank the OBJ takes its tile(s) from
+ def OAM_PALETTE equ %00000_111 ; (CGB only) which palette the OBJ uses
+ def OAM_PRIO equ 1 << B_OAM_PRIO
+ def OAM_YFLIP equ 1 << B_OAM_YFLIP
+ def OAM_XFLIP equ 1 << B_OAM_XFLIP
+ def OAM_PAL0 equ 0 << B_OAM_PAL1
+ def OAM_PAL1 equ 1 << B_OAM_PAL1
+ def OAM_BANK0 equ 0 << B_OAM_BANK1
+ def OAM_BANK1 equ 1 << B_OAM_BANK1
+def OBJ_SIZE rb 0 ; size of OBJ in bytes = 4
+
+def OAM_COUNT equ 40 ; how many OBJs there are room for in OAM
+def OAM_SIZE equ OBJ_SIZE * OAM_COUNT
+
+
+;******************************************************************************
+; Interrupt vector addresses
+;******************************************************************************
+
+def INT_HANDLER_VBLANK equ $0040 ; VBlank interrupt handler address
+def INT_HANDLER_STAT equ $0048 ; STAT interrupt handler address
+def INT_HANDLER_TIMER equ $0050 ; timer interrupt handler address
+def INT_HANDLER_SERIAL equ $0058 ; serial interrupt handler address
+def INT_HANDLER_JOYPAD equ $0060 ; joypad interrupt handler address
+
+
+;******************************************************************************
+; Boot-up register values
+;******************************************************************************
+
+; Register A = CPU type
+def BOOTUP_A_DMG equ $01
+def BOOTUP_A_CGB equ $11 ; CGB or AGB
+def BOOTUP_A_MGB equ $FF
+ def BOOTUP_A_SGB equ BOOTUP_A_DMG
+ def BOOTUP_A_SGB2 equ BOOTUP_A_MGB
+
+; Register B = CPU qualifier (if A is BOOTUP_A_CGB)
+def B_BOOTUP_B_AGB equ 0
+ def BOOTUP_B_CGB equ 0 << B_BOOTUP_B_AGB
+ def BOOTUP_B_AGB equ 1 << B_BOOTUP_B_AGB
+
+
+;******************************************************************************
+; Aliases
+;******************************************************************************
+
+; Prefer the standard names to these aliases, which may be official but are
+; less directly meaningful or human-readable.
+
+def rP1 equ rJOYP
+
+def rNR10 equ rAUD1SWEEP
+def rNR11 equ rAUD1LEN
+def rNR12 equ rAUD1ENV
+def rNR13 equ rAUD1LOW
+def rNR14 equ rAUD1HIGH
+def rNR21 equ rAUD2LEN
+def rNR22 equ rAUD2ENV
+def rNR23 equ rAUD2LOW
+def rNR24 equ rAUD2HIGH
+def rNR30 equ rAUD3ENA
+def rNR31 equ rAUD3LEN
+def rNR32 equ rAUD3LEVEL
+def rNR33 equ rAUD3LOW
+def rNR34 equ rAUD3HIGH
+def rNR41 equ rAUD4LEN
+def rNR42 equ rAUD4ENV
+def rNR43 equ rAUD4POLY
+def rNR44 equ rAUD4GO
+def rNR50 equ rAUDVOL
+def rNR51 equ rAUDTERM
+def rNR52 equ rAUDENA
+
+def rKEY0 equ rSYS
+def rKEY1 equ rSPD
+
+def rHDMA1 equ rVDMA_SRC_HIGH
+def rHDMA2 equ rVDMA_SRC_LOW
+def rHDMA3 equ rVDMA_DEST_HIGH
+def rHDMA4 equ rVDMA_DEST_LOW
+def rHDMA5 equ rVDMA_LEN
+
+def rBCPS equ rBGPI
+def rBCPD equ rBGPD
+
+def rOCPS equ rOBPI
+def rOCPD equ rOBPD
+
+def rSVBK equ rWBK
+
+endc ; HARDWARE_INC
diff --git a/constants/hardware_constants.asm b/constants/hardware_constants.asm
deleted file mode 100644
index 6c5d43c1..00000000
--- a/constants/hardware_constants.asm
+++ /dev/null
@@ -1,126 +0,0 @@
-; Reference documents:
-; https://gbdev.io/pandocs/
-; https://github.com/gbdev/hardware.inc
-
-DEF CGB EQU $11
-
-; MBC1
-DEF MBC1SRamEnable EQU $0000
-DEF MBC1RomBank EQU $2000
-DEF MBC1SRamBank EQU $4000
-DEF MBC1SRamBankingMode EQU $6000
-
-DEF SRAM_DISABLE EQU $00
-DEF SRAM_ENABLE EQU $0a
-
-DEF NUM_SRAM_BANKS EQU 4
-
-; interrupt flags
-DEF VBLANK EQU 0
-DEF LCD_STAT EQU 1
-DEF TIMER EQU 2
-DEF SERIAL EQU 3
-DEF JOYPAD EQU 4
-
-DEF LY_VBLANK EQU 145
-
-; serial
-DEF START_TRANSFER_EXTERNAL_CLOCK EQU $80
-DEF START_TRANSFER_INTERNAL_CLOCK EQU $81
-
-; Hardware registers
-DEF rJOYP EQU $ff00 ; Joypad (R/W)
-DEF rSB EQU $ff01 ; Serial transfer data (R/W)
-DEF rSC EQU $ff02 ; Serial Transfer Control (R/W)
-DEF rSC_ON EQU 7
-DEF rSC_CGB EQU 1
-DEF rSC_CLOCK EQU 0
-DEF rDIV EQU $ff04 ; Divider Register (R/W)
-DEF rTIMA EQU $ff05 ; Timer counter (R/W)
-DEF rTMA EQU $ff06 ; Timer Modulo (R/W)
-DEF rTAC EQU $ff07 ; Timer Control (R/W)
-DEF rTAC_ON EQU 2
-DEF rTAC_4096_HZ EQU 0
-DEF rTAC_262144_HZ EQU 1
-DEF rTAC_65536_HZ EQU 2
-DEF rTAC_16384_HZ EQU 3
-DEF rIF EQU $ff0f ; Interrupt Flag (R/W)
-DEF rNR10 EQU $ff10 ; Channel 1 Sweep register (R/W)
-DEF rNR11 EQU $ff11 ; Channel 1 Sound length/Wave pattern duty (R/W)
-DEF rNR12 EQU $ff12 ; Channel 1 Volume Envelope (R/W)
-DEF rNR13 EQU $ff13 ; Channel 1 Frequency lo (Write Only)
-DEF rNR14 EQU $ff14 ; Channel 1 Frequency hi (R/W)
-DEF rNR21 EQU $ff16 ; Channel 2 Sound Length/Wave Pattern Duty (R/W)
-DEF rNR22 EQU $ff17 ; Channel 2 Volume Envelope (R/W)
-DEF rNR23 EQU $ff18 ; Channel 2 Frequency lo data (W)
-DEF rNR24 EQU $ff19 ; Channel 2 Frequency hi data (R/W)
-DEF rNR30 EQU $ff1a ; Channel 3 Sound on/off (R/W)
-DEF rNR31 EQU $ff1b ; Channel 3 Sound Length
-DEF rNR32 EQU $ff1c ; Channel 3 Select output level (R/W)
-DEF rNR33 EQU $ff1d ; Channel 3 Frequency's lower data (W)
-DEF rNR34 EQU $ff1e ; Channel 3 Frequency's higher data (R/W)
-DEF rNR41 EQU $ff20 ; Channel 4 Sound Length (R/W)
-DEF rNR42 EQU $ff21 ; Channel 4 Volume Envelope (R/W)
-DEF rNR43 EQU $ff22 ; Channel 4 Polynomial Counter (R/W)
-DEF rNR44 EQU $ff23 ; Channel 4 Counter/consecutive; Initial (R/W)
-DEF rNR50 EQU $ff24 ; Channel control / ON-OFF / Volume (R/W)
-DEF rNR51 EQU $ff25 ; Selection of Sound output terminal (R/W)
-DEF rNR52 EQU $ff26 ; Sound on/off
-DEF rWave_0 EQU $ff30
-DEF rWave_1 EQU $ff31
-DEF rWave_2 EQU $ff32
-DEF rWave_3 EQU $ff33
-DEF rWave_4 EQU $ff34
-DEF rWave_5 EQU $ff35
-DEF rWave_6 EQU $ff36
-DEF rWave_7 EQU $ff37
-DEF rWave_8 EQU $ff38
-DEF rWave_9 EQU $ff39
-DEF rWave_a EQU $ff3a
-DEF rWave_b EQU $ff3b
-DEF rWave_c EQU $ff3c
-DEF rWave_d EQU $ff3d
-DEF rWave_e EQU $ff3e
-DEF rWave_f EQU $ff3f
-DEF rLCDC EQU $ff40 ; LCD Control (R/W)
-DEF rLCDC_BG_PRIORITY EQU 0
-DEF rLCDC_SPRITES_ENABLE EQU 1
-DEF rLCDC_SPRITE_SIZE EQU 2
-DEF rLCDC_BG_TILEMAP EQU 3
-DEF rLCDC_TILE_DATA EQU 4
-DEF rLCDC_WINDOW_ENABLE EQU 5
-DEF rLCDC_WINDOW_TILEMAP EQU 6
-DEF rLCDC_ENABLE EQU 7
-DEF rSTAT EQU $ff41 ; LCDC Status (R/W)
-DEF rSCY EQU $ff42 ; Scroll Y (R/W)
-DEF rSCX EQU $ff43 ; Scroll X (R/W)
-DEF rLY EQU $ff44 ; LCDC Y-Coordinate (R)
-DEF rLYC EQU $ff45 ; LY Compare (R/W)
-DEF rDMA EQU $ff46 ; DMA Transfer and Start Address (W)
-DEF rBGP EQU $ff47 ; BG Palette Data (R/W) - Non CGB Mode Only
-DEF rOBP0 EQU $ff48 ; Object Palette 0 Data (R/W) - Non CGB Mode Only
-DEF rOBP1 EQU $ff49 ; Object Palette 1 Data (R/W) - Non CGB Mode Only
-DEF rWY EQU $ff4a ; Window Y Position (R/W)
-DEF rWX EQU $ff4b ; Window X Position minus 7 (R/W)
-DEF rKEY1 EQU $ff4d ; CGB Mode Only - Prepare Speed Switch
-DEF rVBK EQU $ff4f ; CGB Mode Only - VRAM Bank
-DEF rHDMA1 EQU $ff51 ; CGB Mode Only - New DMA Source, High
-DEF rHDMA2 EQU $ff52 ; CGB Mode Only - New DMA Source, Low
-DEF rHDMA3 EQU $ff53 ; CGB Mode Only - New DMA Destination, High
-DEF rHDMA4 EQU $ff54 ; CGB Mode Only - New DMA Destination, Low
-DEF rHDMA5 EQU $ff55 ; CGB Mode Only - New DMA Length/Mode/Start
-DEF rRP EQU $ff56 ; CGB Mode Only - Infrared Communications Port
-DEF rBGPI EQU $ff68 ; CGB Mode Only - Background Palette Index
-DEF rBGPD EQU $ff69 ; CGB Mode Only - Background Palette Data
-DEF rOBPI EQU $ff6a ; CGB Mode Only - Sprite Palette Index
-DEF rOBPD EQU $ff6b ; CGB Mode Only - Sprite Palette Data
-DEF rOPRI EQU $ff6c ; CGB Mode Only - Object Priority Mode
-DEF rSVBK EQU $ff70 ; CGB Mode Only - WRAM Bank
-DEF rPCM12 EQU $ff76 ; Channels 1 & 2 Amplitude (R)
-DEF rPCM34 EQU $ff77 ; Channels 3 & 4 Amplitude (R)
-DEF rIE EQU $ffff ; Interrupt Enable (R/W)
-DEF rIE_VBLANK EQU 0
-DEF rIE_LCD EQU 1
-DEF rIE_TIMER EQU 2
-DEF rIE_SERIAL EQU 3
-DEF rIE_JOYPAD EQU 4
diff --git a/constants/input_constants.asm b/constants/input_constants.asm
deleted file mode 100644
index 68233dea..00000000
--- a/constants/input_constants.asm
+++ /dev/null
@@ -1,20 +0,0 @@
-; joypad buttons
- const_def
- const BIT_A_BUTTON ; 0
- const BIT_B_BUTTON ; 1
- const BIT_SELECT ; 2
- const BIT_START ; 3
- const BIT_D_RIGHT ; 4
- const BIT_D_LEFT ; 5
- const BIT_D_UP ; 6
- const BIT_D_DOWN ; 7
-
-DEF NO_INPUT EQU 0
-DEF A_BUTTON EQU 1 << BIT_A_BUTTON
-DEF B_BUTTON EQU 1 << BIT_B_BUTTON
-DEF SELECT EQU 1 << BIT_SELECT
-DEF START EQU 1 << BIT_START
-DEF D_RIGHT EQU 1 << BIT_D_RIGHT
-DEF D_LEFT EQU 1 << BIT_D_LEFT
-DEF D_UP EQU 1 << BIT_D_UP
-DEF D_DOWN EQU 1 << BIT_D_DOWN
diff --git a/constants/misc_constants.asm b/constants/misc_constants.asm
index 3562042b..a542b4a7 100644
--- a/constants/misc_constants.asm
+++ b/constants/misc_constants.asm
@@ -7,3 +7,6 @@ DEF TRUE EQU 1
const FLAG_RESET ; 0
const FLAG_SET ; 1
const FLAG_TEST ; 2
+
+; input
+DEF NO_INPUT EQU 0
diff --git a/constants/oam_constants.asm b/constants/oam_constants.asm
index e87e54a0..93d5b877 100644
--- a/constants/oam_constants.asm
+++ b/constants/oam_constants.asm
@@ -6,18 +6,3 @@
; Used in SpriteFacingAndAnimationTable (see data/sprites/facings.asm)
DEF FACING_END EQU 1 << BIT_END_OF_OAM_DATA
DEF UNDER_GRASS EQU 1 << BIT_SPRITE_UNDER_GRASS
-
-; OAM attribute flags
-DEF OAM_PALETTE EQU %111
- const_def 3
- const OAM_TILE_BANK ; 3
- const OAM_OBP_NUM ; 4 ; Non CGB Mode Only
- const OAM_X_FLIP ; 5
- const OAM_Y_FLIP ; 6
- const OAM_PRIORITY ; 7 ; 0: OBJ above BG, 1: OBJ behind BG (colors 1-3)
-
-; OAM attribute masks
-DEF OAM_OBP1 EQU 1 << OAM_OBP_NUM ; OBJ palette 1
-DEF OAM_HFLIP EQU 1 << OAM_X_FLIP ; horizontal flip
-DEF OAM_VFLIP EQU 1 << OAM_Y_FLIP ; vertical flip
-DEF OAM_BEHIND_BG EQU 1 << OAM_PRIORITY ; behind bg (except color 0)
diff --git a/data/battle_anims/frame_blocks.asm b/data/battle_anims/frame_blocks.asm
index 0e0de32f..daedfc06 100644
--- a/data/battle_anims/frame_blocks.asm
+++ b/data/battle_anims/frame_blocks.asm
@@ -128,39 +128,39 @@ FrameBlock01:
db 9 ; #
dbsprite 0, 0, 0, 0, $2c, 0
dbsprite 1, 0, 0, 0, $2d, 0
- dbsprite 2, 0, 0, 0, $2c, OAM_HFLIP
+ dbsprite 2, 0, 0, 0, $2c, OAM_XFLIP
dbsprite 0, 1, 0, 0, $3c, 0
dbsprite 1, 1, 0, 0, $3d, 0
- dbsprite 2, 1, 0, 0, $3c, OAM_HFLIP
- dbsprite 0, 2, 0, 0, $2c, OAM_VFLIP
- dbsprite 1, 2, 0, 0, $2d, OAM_VFLIP
- dbsprite 2, 2, 0, 0, $2c, OAM_HFLIP | OAM_VFLIP
+ dbsprite 2, 1, 0, 0, $3c, OAM_XFLIP
+ dbsprite 0, 2, 0, 0, $2c, OAM_YFLIP
+ dbsprite 1, 2, 0, 0, $2d, OAM_YFLIP
+ dbsprite 2, 2, 0, 0, $2c, OAM_XFLIP | OAM_YFLIP
FrameBlock02:
db 16 ; #
dbsprite 0, 0, 0, 0, $20, 0
dbsprite 1, 0, 0, 0, $21, 0
- dbsprite 2, 0, 0, 0, $21, OAM_HFLIP
- dbsprite 3, 0, 0, 0, $20, OAM_HFLIP
+ dbsprite 2, 0, 0, 0, $21, OAM_XFLIP
+ dbsprite 3, 0, 0, 0, $20, OAM_XFLIP
dbsprite 0, 1, 0, 0, $30, 0
dbsprite 1, 1, 0, 0, $31, 0
- dbsprite 2, 1, 0, 0, $31, OAM_HFLIP
- dbsprite 3, 1, 0, 0, $30, OAM_HFLIP
- dbsprite 0, 2, 0, 0, $30, OAM_VFLIP
- dbsprite 1, 2, 0, 0, $31, OAM_VFLIP
- dbsprite 2, 2, 0, 0, $31, OAM_HFLIP | OAM_VFLIP
- dbsprite 3, 2, 0, 0, $30, OAM_HFLIP | OAM_VFLIP
- dbsprite 0, 3, 0, 0, $20, OAM_VFLIP
- dbsprite 1, 3, 0, 0, $21, OAM_VFLIP
- dbsprite 2, 3, 0, 0, $21, OAM_HFLIP | OAM_VFLIP
- dbsprite 3, 3, 0, 0, $20, OAM_HFLIP | OAM_VFLIP
+ dbsprite 2, 1, 0, 0, $31, OAM_XFLIP
+ dbsprite 3, 1, 0, 0, $30, OAM_XFLIP
+ dbsprite 0, 2, 0, 0, $30, OAM_YFLIP
+ dbsprite 1, 2, 0, 0, $31, OAM_YFLIP
+ dbsprite 2, 2, 0, 0, $31, OAM_XFLIP | OAM_YFLIP
+ dbsprite 3, 2, 0, 0, $30, OAM_XFLIP | OAM_YFLIP
+ dbsprite 0, 3, 0, 0, $20, OAM_YFLIP
+ dbsprite 1, 3, 0, 0, $21, OAM_YFLIP
+ dbsprite 2, 3, 0, 0, $21, OAM_XFLIP | OAM_YFLIP
+ dbsprite 3, 3, 0, 0, $20, OAM_XFLIP | OAM_YFLIP
FrameBlock03:
db 4 ; #
dbsprite 0, 0, 0, 0, $02, 0
- dbsprite 1, 0, 0, 0, $02, OAM_HFLIP
+ dbsprite 1, 0, 0, 0, $02, OAM_XFLIP
dbsprite 0, 1, 0, 0, $12, 0
- dbsprite 1, 1, 0, 0, $12, OAM_HFLIP
+ dbsprite 1, 1, 0, 0, $12, OAM_XFLIP
FrameBlock04:
db 4 ; #
@@ -171,25 +171,25 @@ FrameBlock04:
FrameBlock05:
db 4 ; #
- dbsprite 0, 0, 0, 0, $07, OAM_HFLIP
- dbsprite 1, 0, 0, 0, $06, OAM_HFLIP
- dbsprite 0, 1, 0, 0, $17, OAM_HFLIP
- dbsprite 1, 1, 0, 0, $16, OAM_HFLIP
+ dbsprite 0, 0, 0, 0, $07, OAM_XFLIP
+ dbsprite 1, 0, 0, 0, $06, OAM_XFLIP
+ dbsprite 0, 1, 0, 0, $17, OAM_XFLIP
+ dbsprite 1, 1, 0, 0, $16, OAM_XFLIP
FrameBlock06:
db 12 ; #
dbsprite 1, 0, 0, 0, $23, 0
dbsprite 0, 1, 0, 0, $32, 0
dbsprite 1, 1, 0, 0, $33, 0
- dbsprite 2, 0, 0, 0, $23, OAM_HFLIP
- dbsprite 2, 1, 0, 0, $33, OAM_HFLIP
- dbsprite 3, 1, 0, 0, $32, OAM_HFLIP
- dbsprite 0, 2, 0, 0, $32, OAM_VFLIP
- dbsprite 1, 2, 0, 0, $33, OAM_VFLIP
- dbsprite 1, 3, 0, 0, $23, OAM_VFLIP
- dbsprite 2, 2, 0, 0, $33, OAM_HFLIP | OAM_VFLIP
- dbsprite 3, 2, 0, 0, $32, OAM_HFLIP | OAM_VFLIP
- dbsprite 2, 3, 0, 0, $23, OAM_HFLIP | OAM_VFLIP
+ dbsprite 2, 0, 0, 0, $23, OAM_XFLIP
+ dbsprite 2, 1, 0, 0, $33, OAM_XFLIP
+ dbsprite 3, 1, 0, 0, $32, OAM_XFLIP
+ dbsprite 0, 2, 0, 0, $32, OAM_YFLIP
+ dbsprite 1, 2, 0, 0, $33, OAM_YFLIP
+ dbsprite 1, 3, 0, 0, $23, OAM_YFLIP
+ dbsprite 2, 2, 0, 0, $33, OAM_XFLIP | OAM_YFLIP
+ dbsprite 3, 2, 0, 0, $32, OAM_XFLIP | OAM_YFLIP
+ dbsprite 2, 3, 0, 0, $23, OAM_XFLIP | OAM_YFLIP
FrameBlock07:
db 16 ; #
@@ -197,18 +197,18 @@ FrameBlock07:
dbsprite 1, 0, 0, 0, $21, 0
dbsprite 0, 1, 0, 0, $30, 0
dbsprite 1, 1, 0, 0, $31, 0
- dbsprite 2, 0, 0, 0, $21, OAM_HFLIP
- dbsprite 3, 0, 0, 0, $20, OAM_HFLIP
- dbsprite 2, 1, 0, 0, $31, OAM_HFLIP
- dbsprite 3, 1, 0, 0, $30, OAM_HFLIP
- dbsprite 0, 2, 0, 0, $30, OAM_VFLIP
- dbsprite 1, 2, 0, 0, $31, OAM_VFLIP
- dbsprite 0, 3, 0, 0, $20, OAM_VFLIP
- dbsprite 1, 3, 0, 0, $21, OAM_VFLIP
- dbsprite 2, 2, 0, 0, $31, OAM_HFLIP | OAM_VFLIP
- dbsprite 3, 2, 0, 0, $30, OAM_HFLIP | OAM_VFLIP
- dbsprite 2, 3, 0, 0, $21, OAM_HFLIP | OAM_VFLIP
- dbsprite 3, 3, 0, 0, $20, OAM_HFLIP | OAM_VFLIP
+ dbsprite 2, 0, 0, 0, $21, OAM_XFLIP
+ dbsprite 3, 0, 0, 0, $20, OAM_XFLIP
+ dbsprite 2, 1, 0, 0, $31, OAM_XFLIP
+ dbsprite 3, 1, 0, 0, $30, OAM_XFLIP
+ dbsprite 0, 2, 0, 0, $30, OAM_YFLIP
+ dbsprite 1, 2, 0, 0, $31, OAM_YFLIP
+ dbsprite 0, 3, 0, 0, $20, OAM_YFLIP
+ dbsprite 1, 3, 0, 0, $21, OAM_YFLIP
+ dbsprite 2, 2, 0, 0, $31, OAM_XFLIP | OAM_YFLIP
+ dbsprite 3, 2, 0, 0, $30, OAM_XFLIP | OAM_YFLIP
+ dbsprite 2, 3, 0, 0, $21, OAM_XFLIP | OAM_YFLIP
+ dbsprite 3, 3, 0, 0, $20, OAM_XFLIP | OAM_YFLIP
FrameBlock08:
db 16 ; #
@@ -216,62 +216,62 @@ FrameBlock08:
dbsprite 1, 0, 0, 0, $21, 0
dbsprite 0, 1, 0, 0, $30, 0
dbsprite 1, 1, 0, 0, $31, 0
- dbsprite 3, 0, 0, 0, $21, OAM_HFLIP
- dbsprite 4, 0, 0, 0, $20, OAM_HFLIP
- dbsprite 3, 1, 0, 0, $31, OAM_HFLIP
- dbsprite 4, 1, 0, 0, $30, OAM_HFLIP
- dbsprite 0, 3, 0, 0, $30, OAM_VFLIP
- dbsprite 1, 3, 0, 0, $31, OAM_VFLIP
- dbsprite 0, 4, 0, 0, $20, OAM_VFLIP
- dbsprite 1, 4, 0, 0, $21, OAM_VFLIP
- dbsprite 3, 3, 0, 0, $31, OAM_HFLIP | OAM_VFLIP
- dbsprite 4, 3, 0, 0, $30, OAM_HFLIP | OAM_VFLIP
- dbsprite 3, 4, 0, 0, $21, OAM_HFLIP | OAM_VFLIP
- dbsprite 4, 4, 0, 0, $20, OAM_HFLIP | OAM_VFLIP
+ dbsprite 3, 0, 0, 0, $21, OAM_XFLIP
+ dbsprite 4, 0, 0, 0, $20, OAM_XFLIP
+ dbsprite 3, 1, 0, 0, $31, OAM_XFLIP
+ dbsprite 4, 1, 0, 0, $30, OAM_XFLIP
+ dbsprite 0, 3, 0, 0, $30, OAM_YFLIP
+ dbsprite 1, 3, 0, 0, $31, OAM_YFLIP
+ dbsprite 0, 4, 0, 0, $20, OAM_YFLIP
+ dbsprite 1, 4, 0, 0, $21, OAM_YFLIP
+ dbsprite 3, 3, 0, 0, $31, OAM_XFLIP | OAM_YFLIP
+ dbsprite 4, 3, 0, 0, $30, OAM_XFLIP | OAM_YFLIP
+ dbsprite 3, 4, 0, 0, $21, OAM_XFLIP | OAM_YFLIP
+ dbsprite 4, 4, 0, 0, $20, OAM_XFLIP | OAM_YFLIP
FrameBlock09:
db 12 ; #
dbsprite 0, 0, 0, 0, $24, 0
dbsprite 1, 0, 0, 0, $25, 0
dbsprite 0, 1, 0, 0, $34, 0
- dbsprite 3, 0, 0, 0, $25, OAM_HFLIP
- dbsprite 4, 0, 0, 0, $24, OAM_HFLIP
- dbsprite 4, 1, 0, 0, $34, OAM_HFLIP
- dbsprite 0, 3, 0, 0, $34, OAM_VFLIP
- dbsprite 0, 4, 0, 0, $24, OAM_VFLIP
- dbsprite 1, 4, 0, 0, $25, OAM_VFLIP
- dbsprite 4, 3, 0, 0, $34, OAM_HFLIP | OAM_VFLIP
- dbsprite 3, 4, 0, 0, $25, OAM_HFLIP | OAM_VFLIP
- dbsprite 4, 4, 0, 0, $24, OAM_HFLIP | OAM_VFLIP
+ dbsprite 3, 0, 0, 0, $25, OAM_XFLIP
+ dbsprite 4, 0, 0, 0, $24, OAM_XFLIP
+ dbsprite 4, 1, 0, 0, $34, OAM_XFLIP
+ dbsprite 0, 3, 0, 0, $34, OAM_YFLIP
+ dbsprite 0, 4, 0, 0, $24, OAM_YFLIP
+ dbsprite 1, 4, 0, 0, $25, OAM_YFLIP
+ dbsprite 4, 3, 0, 0, $34, OAM_XFLIP | OAM_YFLIP
+ dbsprite 3, 4, 0, 0, $25, OAM_XFLIP | OAM_YFLIP
+ dbsprite 4, 4, 0, 0, $24, OAM_XFLIP | OAM_YFLIP
FrameBlock0a:
db 12 ; #
dbsprite 0, 0, 0, 0, $24, 0
dbsprite 1, 0, 0, 0, $25, 0
dbsprite 0, 1, 0, 0, $34, 0
- dbsprite 4, 0, 0, 0, $25, OAM_HFLIP
- dbsprite 5, 0, 0, 0, $24, OAM_HFLIP
- dbsprite 5, 1, 0, 0, $34, OAM_HFLIP
- dbsprite 0, 4, 0, 0, $34, OAM_VFLIP
- dbsprite 0, 5, 0, 0, $24, OAM_VFLIP
- dbsprite 1, 5, 0, 0, $25, OAM_VFLIP
- dbsprite 5, 4, 0, 0, $34, OAM_HFLIP | OAM_VFLIP
- dbsprite 4, 5, 0, 0, $25, OAM_HFLIP | OAM_VFLIP
- dbsprite 5, 5, 0, 0, $24, OAM_HFLIP | OAM_VFLIP
+ dbsprite 4, 0, 0, 0, $25, OAM_XFLIP
+ dbsprite 5, 0, 0, 0, $24, OAM_XFLIP
+ dbsprite 5, 1, 0, 0, $34, OAM_XFLIP
+ dbsprite 0, 4, 0, 0, $34, OAM_YFLIP
+ dbsprite 0, 5, 0, 0, $24, OAM_YFLIP
+ dbsprite 1, 5, 0, 0, $25, OAM_YFLIP
+ dbsprite 5, 4, 0, 0, $34, OAM_XFLIP | OAM_YFLIP
+ dbsprite 4, 5, 0, 0, $25, OAM_XFLIP | OAM_YFLIP
+ dbsprite 5, 5, 0, 0, $24, OAM_XFLIP | OAM_YFLIP
FrameBlock0b:
db 4 ; #
dbsprite 0, 0, 0, 0, $05, 0
- dbsprite 1, 0, 0, 0, $05, OAM_HFLIP
+ dbsprite 1, 0, 0, 0, $05, OAM_XFLIP
dbsprite 0, 1, 0, 0, $15, 0
- dbsprite 1, 1, 0, 0, $15, OAM_HFLIP
+ dbsprite 1, 1, 0, 0, $15, OAM_XFLIP
FrameBlock0c:
db 4 ; #
dbsprite 0, 0, 0, 0, $04, 0
- dbsprite 1, 0, 0, 0, $04, OAM_HFLIP
+ dbsprite 1, 0, 0, 0, $04, OAM_XFLIP
dbsprite 0, 1, 0, 0, $14, 0
- dbsprite 1, 1, 0, 0, $14, OAM_HFLIP
+ dbsprite 1, 1, 0, 0, $14, OAM_XFLIP
FrameBlock0d:
db 8 ; #
@@ -279,10 +279,10 @@ FrameBlock0d:
dbsprite 1, 0, 0, 0, $0d, 0
dbsprite 0, 1, 0, 0, $1c, 0
dbsprite 1, 1, 0, 0, $1d, 0
- dbsprite 0, 2, 0, 0, $1d, OAM_HFLIP | OAM_VFLIP
- dbsprite 1, 2, 0, 0, $1c, OAM_HFLIP | OAM_VFLIP
- dbsprite 0, 3, 0, 0, $0d, OAM_HFLIP | OAM_VFLIP
- dbsprite 1, 3, 0, 0, $0c, OAM_HFLIP | OAM_VFLIP
+ dbsprite 0, 2, 0, 0, $1d, OAM_XFLIP | OAM_YFLIP
+ dbsprite 1, 2, 0, 0, $1c, OAM_XFLIP | OAM_YFLIP
+ dbsprite 0, 3, 0, 0, $0d, OAM_XFLIP | OAM_YFLIP
+ dbsprite 1, 3, 0, 0, $0c, OAM_XFLIP | OAM_YFLIP
FrameBlock0e:
db 4 ; #
@@ -293,10 +293,10 @@ FrameBlock0e:
FrameBlock0f:
db 4 ; #
- dbsprite 0, 6, 0, 0, $1d, OAM_HFLIP | OAM_VFLIP
- dbsprite 1, 6, 0, 0, $1c, OAM_HFLIP | OAM_VFLIP
- dbsprite 0, 7, 0, 0, $0d, OAM_HFLIP | OAM_VFLIP
- dbsprite 1, 7, 0, 0, $0c, OAM_HFLIP | OAM_VFLIP
+ dbsprite 0, 6, 0, 0, $1d, OAM_XFLIP | OAM_YFLIP
+ dbsprite 1, 6, 0, 0, $1c, OAM_XFLIP | OAM_YFLIP
+ dbsprite 0, 7, 0, 0, $0d, OAM_XFLIP | OAM_YFLIP
+ dbsprite 1, 7, 0, 0, $0c, OAM_XFLIP | OAM_YFLIP
FrameBlock10:
db 8 ; #
@@ -304,10 +304,10 @@ FrameBlock10:
dbsprite 1, 0, 0, 0, $0f, 0
dbsprite 0, 1, 0, 0, $1e, 0
dbsprite 1, 1, 0, 0, $1f, 0
- dbsprite 2, 0, 0, 0, $0f, OAM_HFLIP
- dbsprite 3, 0, 0, 0, $0e, OAM_HFLIP
- dbsprite 2, 1, 0, 0, $1f, OAM_HFLIP
- dbsprite 3, 1, 0, 0, $1e, OAM_HFLIP
+ dbsprite 2, 0, 0, 0, $0f, OAM_XFLIP
+ dbsprite 3, 0, 0, 0, $0e, OAM_XFLIP
+ dbsprite 2, 1, 0, 0, $1f, OAM_XFLIP
+ dbsprite 3, 1, 0, 0, $1e, OAM_XFLIP
FrameBlock11:
db 8 ; #
@@ -315,10 +315,10 @@ FrameBlock11:
dbsprite 1, 0, 0, 0, $0f, 0
dbsprite 0, 1, 0, 0, $1e, 0
dbsprite 1, 1, 0, 0, $1f, 0
- dbsprite 4, 0, 0, 0, $0f, OAM_HFLIP
- dbsprite 5, 0, 0, 0, $0e, OAM_HFLIP
- dbsprite 4, 1, 0, 0, $1f, OAM_HFLIP
- dbsprite 5, 1, 0, 0, $1e, OAM_HFLIP
+ dbsprite 4, 0, 0, 0, $0f, OAM_XFLIP
+ dbsprite 5, 0, 0, 0, $0e, OAM_XFLIP
+ dbsprite 4, 1, 0, 0, $1f, OAM_XFLIP
+ dbsprite 5, 1, 0, 0, $1e, OAM_XFLIP
FrameBlock12:
db 3 ; #
@@ -329,46 +329,46 @@ FrameBlock12:
FrameBlock13:
db 4 ; #
dbsprite 0, 0, 0, 0, $36, 0
- dbsprite 1, 0, 0, 0, $36, OAM_HFLIP
- dbsprite 0, 1, 0, 0, $36, OAM_VFLIP
- dbsprite 1, 1, 0, 0, $36, OAM_HFLIP | OAM_VFLIP
+ dbsprite 1, 0, 0, 0, $36, OAM_XFLIP
+ dbsprite 0, 1, 0, 0, $36, OAM_YFLIP
+ dbsprite 1, 1, 0, 0, $36, OAM_XFLIP | OAM_YFLIP
FrameBlock14:
db 8 ; #
dbsprite 2, 0, 0, 0, $28, 0
- dbsprite 3, 0, 0, 0, $28, OAM_HFLIP
+ dbsprite 3, 0, 0, 0, $28, OAM_XFLIP
dbsprite 2, 1, 0, 0, $38, 0
- dbsprite 3, 1, 0, 0, $38, OAM_HFLIP
+ dbsprite 3, 1, 0, 0, $38, OAM_XFLIP
dbsprite 4, 0, 0, 0, $36, 0
- dbsprite 5, 0, 0, 0, $36, OAM_HFLIP
- dbsprite 4, 1, 0, 0, $36, OAM_VFLIP
- dbsprite 5, 1, 0, 0, $36, OAM_HFLIP | OAM_VFLIP
+ dbsprite 5, 0, 0, 0, $36, OAM_XFLIP
+ dbsprite 4, 1, 0, 0, $36, OAM_YFLIP
+ dbsprite 5, 1, 0, 0, $36, OAM_XFLIP | OAM_YFLIP
FrameBlock15:
db 12 ; #
dbsprite 0, 0, 0, 0, $28, 0
- dbsprite 1, 0, 0, 0, $28, OAM_HFLIP
+ dbsprite 1, 0, 0, 0, $28, OAM_XFLIP
dbsprite 0, 1, 0, 0, $38, 0
- dbsprite 1, 1, 0, 0, $38, OAM_HFLIP
+ dbsprite 1, 1, 0, 0, $38, OAM_XFLIP
dbsprite 2, 0, 0, 0, $29, 0
- dbsprite 3, 0, 0, 0, $29, OAM_HFLIP
+ dbsprite 3, 0, 0, 0, $29, OAM_XFLIP
dbsprite 2, 1, 0, 0, $39, 0
- dbsprite 3, 1, 0, 0, $39, OAM_HFLIP
+ dbsprite 3, 1, 0, 0, $39, OAM_XFLIP
dbsprite 4, 0, 0, 0, $28, 0
- dbsprite 5, 0, 0, 0, $28, OAM_HFLIP
+ dbsprite 5, 0, 0, 0, $28, OAM_XFLIP
dbsprite 4, 1, 0, 0, $38, 0
- dbsprite 5, 1, 0, 0, $38, OAM_HFLIP
+ dbsprite 5, 1, 0, 0, $38, OAM_XFLIP
FrameBlock16:
db 8 ; #
dbsprite 0, 0, 0, 0, $29, 0
- dbsprite 1, 0, 0, 0, $29, OAM_HFLIP
+ dbsprite 1, 0, 0, 0, $29, OAM_XFLIP
dbsprite 0, 1, 0, 0, $39, 0
- dbsprite 1, 1, 0, 0, $39, OAM_HFLIP
+ dbsprite 1, 1, 0, 0, $39, OAM_XFLIP
dbsprite 4, 0, 0, 0, $29, 0
- dbsprite 5, 0, 0, 0, $29, OAM_HFLIP
+ dbsprite 5, 0, 0, 0, $29, OAM_XFLIP
dbsprite 4, 1, 0, 0, $39, 0
- dbsprite 5, 1, 0, 0, $39, OAM_HFLIP
+ dbsprite 5, 1, 0, 0, $39, OAM_XFLIP
FrameBlock17:
db 4 ; #
@@ -379,73 +379,73 @@ FrameBlock17:
FrameBlock18:
db 1 ; #
- dbsprite 0, 3, 0, 0, $45, OAM_HFLIP | OAM_VFLIP
+ dbsprite 0, 3, 0, 0, $45, OAM_XFLIP | OAM_YFLIP
FrameBlock19:
db 2 ; #
dbsprite 1, 3, 0, 0, $45, 0
- dbsprite 1, 2, 0, 0, $46, OAM_HFLIP | OAM_VFLIP
+ dbsprite 1, 2, 0, 0, $46, OAM_XFLIP | OAM_YFLIP
FrameBlock1a:
db 2 ; #
- dbsprite 2, 2, 0, 0, $45, OAM_HFLIP | OAM_VFLIP
+ dbsprite 2, 2, 0, 0, $45, OAM_XFLIP | OAM_YFLIP
dbsprite 2, 3, 0, 0, $46, 0
FrameBlock1b:
db 2 ; #
dbsprite 3, 2, 0, 0, $45, 0
- dbsprite 3, 1, 0, 0, $46, OAM_HFLIP | OAM_VFLIP
+ dbsprite 3, 1, 0, 0, $46, OAM_XFLIP | OAM_YFLIP
FrameBlock1c:
db 2 ; #
- dbsprite 4, 1, 0, 0, $45, OAM_HFLIP | OAM_VFLIP
+ dbsprite 4, 1, 0, 0, $45, OAM_XFLIP | OAM_YFLIP
dbsprite 4, 2, 0, 0, $46, 0
FrameBlock1d:
db 2 ; #
dbsprite 5, 1, 0, 0, $45, 0
- dbsprite 5, 0, 0, 0, $46, OAM_HFLIP | OAM_VFLIP
+ dbsprite 5, 0, 0, 0, $46, OAM_XFLIP | OAM_YFLIP
FrameBlock1e:
db 2 ; #
- dbsprite 6, 0, 0, 0, $45, OAM_HFLIP | OAM_VFLIP
+ dbsprite 6, 0, 0, 0, $45, OAM_XFLIP | OAM_YFLIP
dbsprite 6, 1, 0, 0, $46, 0
FrameBlock75:
db 4 ; #
dbsprite 0, 0, 0, 0, $43, 0
- dbsprite 1, 0, 0, 0, $43, OAM_HFLIP
+ dbsprite 1, 0, 0, 0, $43, OAM_XFLIP
dbsprite 0, 1, 0, 0, $22, 0
- dbsprite 1, 1, 0, 0, $43, OAM_HFLIP | OAM_VFLIP
+ dbsprite 1, 1, 0, 0, $43, OAM_XFLIP | OAM_YFLIP
FrameBlock1f:
db 2 ; #
dbsprite 0, 0, 0, 0, $03, 0
- dbsprite 6, 0, 0, 0, $03, OAM_HFLIP
+ dbsprite 6, 0, 0, 0, $03, OAM_XFLIP
FrameBlock20:
db 6 ; #
dbsprite 0, 0, 0, 0, $03, 0
- dbsprite 6, 0, 0, 0, $03, OAM_HFLIP
+ dbsprite 6, 0, 0, 0, $03, OAM_XFLIP
dbsprite 1, 1, 0, 0, $03, 0
- dbsprite 5, 1, 0, 0, $03, OAM_HFLIP
+ dbsprite 5, 1, 0, 0, $03, OAM_XFLIP
dbsprite 0, 1, 0, 0, $13, 0
- dbsprite 6, 1, 0, 0, $13, OAM_HFLIP
+ dbsprite 6, 1, 0, 0, $13, OAM_XFLIP
FrameBlock21:
db 12 ; #
dbsprite 0, 0, 0, 0, $03, 0
- dbsprite 6, 0, 0, 0, $03, OAM_HFLIP
+ dbsprite 6, 0, 0, 0, $03, OAM_XFLIP
dbsprite 1, 1, 0, 0, $03, 0
- dbsprite 5, 1, 0, 0, $03, OAM_HFLIP
+ dbsprite 5, 1, 0, 0, $03, OAM_XFLIP
dbsprite 0, 1, 0, 0, $13, 0
- dbsprite 6, 1, 0, 0, $13, OAM_HFLIP
+ dbsprite 6, 1, 0, 0, $13, OAM_XFLIP
dbsprite 2, 2, 0, 0, $03, 0
- dbsprite 4, 2, 0, 0, $03, OAM_HFLIP
+ dbsprite 4, 2, 0, 0, $03, OAM_XFLIP
dbsprite 1, 2, 0, 0, $13, 0
- dbsprite 5, 2, 0, 0, $13, OAM_HFLIP
+ dbsprite 5, 2, 0, 0, $13, OAM_XFLIP
dbsprite 0, 2, 0, 0, $03, 0
- dbsprite 6, 2, 0, 0, $03, OAM_HFLIP
+ dbsprite 6, 2, 0, 0, $03, OAM_XFLIP
FrameBlock22:
db 19 ; #
@@ -459,15 +459,15 @@ FrameBlock22:
dbsprite 2, 2, 0, 0, $03, 0
dbsprite 2, 3, 0, 0, $13, 0
dbsprite 3, 3, 0, 0, $03, 0
- dbsprite 4, 2, 0, 0, $03, OAM_HFLIP
- dbsprite 4, 3, 0, 0, $13, OAM_HFLIP
- dbsprite 5, 1, 0, 0, $03, OAM_HFLIP
- dbsprite 5, 2, 0, 0, $13, OAM_HFLIP
- dbsprite 5, 3, 0, 0, $03, OAM_HFLIP
- dbsprite 6, 0, 0, 0, $03, OAM_HFLIP
- dbsprite 6, 1, 0, 0, $13, OAM_HFLIP
- dbsprite 6, 2, 0, 0, $03, OAM_HFLIP
- dbsprite 6, 3, 0, 0, $13, OAM_HFLIP
+ dbsprite 4, 2, 0, 0, $03, OAM_XFLIP
+ dbsprite 4, 3, 0, 0, $13, OAM_XFLIP
+ dbsprite 5, 1, 0, 0, $03, OAM_XFLIP
+ dbsprite 5, 2, 0, 0, $13, OAM_XFLIP
+ dbsprite 5, 3, 0, 0, $03, OAM_XFLIP
+ dbsprite 6, 0, 0, 0, $03, OAM_XFLIP
+ dbsprite 6, 1, 0, 0, $13, OAM_XFLIP
+ dbsprite 6, 2, 0, 0, $03, OAM_XFLIP
+ dbsprite 6, 3, 0, 0, $13, OAM_XFLIP
FrameBlock23:
db 4 ; #
@@ -499,24 +499,24 @@ FrameBlock25:
FrameBlock26:
db 4 ; #
dbsprite 2, 0, 0, 0, $44, 0
- dbsprite 3, 0, 0, 0, $44, OAM_HFLIP
- dbsprite 2, 1, 0, 0, $44, OAM_VFLIP
- dbsprite 3, 1, 0, 0, $44, OAM_HFLIP | OAM_VFLIP
+ dbsprite 3, 0, 0, 0, $44, OAM_XFLIP
+ dbsprite 2, 1, 0, 0, $44, OAM_YFLIP
+ dbsprite 3, 1, 0, 0, $44, OAM_XFLIP | OAM_YFLIP
FrameBlock27:
db 5 ; #
dbsprite 1, 1, 0, 0, $44, 0
- dbsprite 2, 1, 0, 0, $44, OAM_HFLIP
- dbsprite 1, 2, 0, 0, $44, OAM_VFLIP
- dbsprite 2, 2, 0, 0, $44, OAM_HFLIP | OAM_VFLIP
+ dbsprite 2, 1, 0, 0, $44, OAM_XFLIP
+ dbsprite 1, 2, 0, 0, $44, OAM_YFLIP
+ dbsprite 2, 2, 0, 0, $44, OAM_XFLIP | OAM_YFLIP
dbsprite 3, 0, 0, 0, $47, 0
FrameBlock28:
db 6 ; #
dbsprite 0, 2, 0, 0, $44, 0
- dbsprite 1, 2, 0, 0, $44, OAM_HFLIP
- dbsprite 0, 3, 0, 0, $44, OAM_VFLIP
- dbsprite 1, 3, 0, 0, $44, OAM_HFLIP | OAM_VFLIP
+ dbsprite 1, 2, 0, 0, $44, OAM_XFLIP
+ dbsprite 0, 3, 0, 0, $44, OAM_YFLIP
+ dbsprite 1, 3, 0, 0, $44, OAM_XFLIP | OAM_YFLIP
dbsprite 2, 1, 0, 0, $47, 0
dbsprite 2, 0, 6, 2, $47, 0
@@ -530,9 +530,9 @@ FrameBlock29:
FrameBlock2a:
db 4 ; #
dbsprite 0, 0, 0, 0, $44, 0
- dbsprite 1, 0, 0, 0, $44, OAM_HFLIP
- dbsprite 0, 1, 0, 0, $44, OAM_VFLIP
- dbsprite 1, 1, 0, 0, $44, OAM_HFLIP | OAM_VFLIP
+ dbsprite 1, 0, 0, 0, $44, OAM_XFLIP
+ dbsprite 0, 1, 0, 0, $44, OAM_YFLIP
+ dbsprite 1, 1, 0, 0, $44, OAM_XFLIP | OAM_YFLIP
FrameBlock2b:
db 2 ; #
@@ -556,28 +556,28 @@ FrameBlock2d:
FrameBlock2e:
db 8 ; #
- dbsprite 0, 0, 0, 0, $27, OAM_HFLIP
- dbsprite 1, 0, 0, 0, $26, OAM_HFLIP
- dbsprite 0, 1, 0, 0, $37, OAM_HFLIP
- dbsprite 1, 1, 0, 0, $36, OAM_HFLIP
- dbsprite 0, 2, 0, 0, $29, OAM_HFLIP
- dbsprite 1, 2, 0, 0, $28, OAM_HFLIP
- dbsprite 0, 3, 0, 0, $39, OAM_HFLIP
- dbsprite 1, 3, 0, 0, $38, OAM_HFLIP
+ dbsprite 0, 0, 0, 0, $27, OAM_XFLIP
+ dbsprite 1, 0, 0, 0, $26, OAM_XFLIP
+ dbsprite 0, 1, 0, 0, $37, OAM_XFLIP
+ dbsprite 1, 1, 0, 0, $36, OAM_XFLIP
+ dbsprite 0, 2, 0, 0, $29, OAM_XFLIP
+ dbsprite 1, 2, 0, 0, $28, OAM_XFLIP
+ dbsprite 0, 3, 0, 0, $39, OAM_XFLIP
+ dbsprite 1, 3, 0, 0, $38, OAM_XFLIP
FrameBlock2f:
db 4 ; #
dbsprite 0, 0, 0, 0, $0c, 0
dbsprite 1, 0, 0, 0, $0d, 0
- dbsprite 0, 1, 0, 0, $0c, OAM_VFLIP
- dbsprite 1, 1, 0, 0, $0d, OAM_VFLIP
+ dbsprite 0, 1, 0, 0, $0c, OAM_YFLIP
+ dbsprite 1, 1, 0, 0, $0d, OAM_YFLIP
FrameBlock30:
db 4 ; #
dbsprite 0, 0, 0, 0, $44, 0
- dbsprite 1, 0, 0, 0, $44, OAM_HFLIP
- dbsprite 0, 1, 0, 0, $44, OAM_VFLIP
- dbsprite 1, 1, 0, 0, $44, OAM_HFLIP | OAM_VFLIP
+ dbsprite 1, 0, 0, 0, $44, OAM_XFLIP
+ dbsprite 0, 1, 0, 0, $44, OAM_YFLIP
+ dbsprite 1, 1, 0, 0, $44, OAM_XFLIP | OAM_YFLIP
FrameBlock31:
db 1 ; #
@@ -587,34 +587,34 @@ FrameBlock32:
db 7 ; #
dbsprite 0, 0, 0, 0, $4d, 0
dbsprite 1, 0, 0, 0, $2f, 0
- dbsprite 2, 0, 0, 0, $4d, OAM_HFLIP
+ dbsprite 2, 0, 0, 0, $4d, OAM_XFLIP
dbsprite 0, 1, 0, 0, $4e, 0
dbsprite 1, 1, 0, 0, $07, 0
- dbsprite 2, 1, 0, 0, $4e, OAM_HFLIP
+ dbsprite 2, 1, 0, 0, $4e, OAM_XFLIP
dbsprite 1, 2, 0, 0, $3f, 0
FrameBlock33:
db 7 ; #
- dbsprite 1, 0, 0, 0, $3f, OAM_VFLIP
- dbsprite 0, 1, 0, 0, $4e, OAM_VFLIP
- dbsprite 1, 1, 0, 0, $07, OAM_VFLIP
- dbsprite 2, 1, 0, 0, $4e, OAM_HFLIP | OAM_VFLIP
- dbsprite 0, 2, 0, 0, $4d, OAM_VFLIP
- dbsprite 1, 2, 0, 0, $2f, OAM_VFLIP
- dbsprite 2, 2, 0, 0, $4d, OAM_HFLIP | OAM_VFLIP
+ dbsprite 1, 0, 0, 0, $3f, OAM_YFLIP
+ dbsprite 0, 1, 0, 0, $4e, OAM_YFLIP
+ dbsprite 1, 1, 0, 0, $07, OAM_YFLIP
+ dbsprite 2, 1, 0, 0, $4e, OAM_XFLIP | OAM_YFLIP
+ dbsprite 0, 2, 0, 0, $4d, OAM_YFLIP
+ dbsprite 1, 2, 0, 0, $2f, OAM_YFLIP
+ dbsprite 2, 2, 0, 0, $4d, OAM_XFLIP | OAM_YFLIP
FrameBlock34:
db 1 ; #
- dbsprite 0, 20, 0, 0, $00, OAM_OBP1
+ dbsprite 0, 20, 0, 0, $00, OAM_PAL1
FrameBlock35:
db 6 ; #
dbsprite 0, 0, 0, 0, $2a, 0
dbsprite 1, 0, 0, 0, $2b, 0
dbsprite 0, 1, 0, 0, $3a, 0
- dbsprite 0, 2, 0, 0, $3a, OAM_VFLIP
- dbsprite 0, 3, 0, 0, $2a, OAM_VFLIP
- dbsprite 1, 3, 0, 0, $2b, OAM_VFLIP
+ dbsprite 0, 2, 0, 0, $3a, OAM_YFLIP
+ dbsprite 0, 3, 0, 0, $2a, OAM_YFLIP
+ dbsprite 1, 3, 0, 0, $2b, OAM_YFLIP
FrameBlock36:
db 4 ; #
@@ -625,10 +625,10 @@ FrameBlock36:
FrameBlock37:
db 4 ; #
- dbsprite 0, 0, 0, 0, $01, OAM_BEHIND_BG | OAM_HFLIP
- dbsprite 1, 0, 0, 0, $00, OAM_BEHIND_BG | OAM_HFLIP
- dbsprite 0, 1, 0, 0, $11, OAM_BEHIND_BG | OAM_HFLIP
- dbsprite 1, 1, 0, 0, $10, OAM_BEHIND_BG | OAM_HFLIP
+ dbsprite 0, 0, 0, 0, $01, OAM_PRIO | OAM_XFLIP
+ dbsprite 1, 0, 0, 0, $00, OAM_PRIO | OAM_XFLIP
+ dbsprite 0, 1, 0, 0, $11, OAM_PRIO | OAM_XFLIP
+ dbsprite 1, 1, 0, 0, $10, OAM_PRIO | OAM_XFLIP
FrameBlock38:
db 4 ; #
@@ -639,41 +639,41 @@ FrameBlock38:
FrameBlock39:
db 4 ; #
- dbsprite 0, 0, 0, 0, $0b, OAM_HFLIP
- dbsprite 1, 0, 0, 0, $0a, OAM_HFLIP
- dbsprite 0, 1, 0, 0, $1b, OAM_HFLIP
- dbsprite 1, 1, 0, 0, $1a, OAM_HFLIP
+ dbsprite 0, 0, 0, 0, $0b, OAM_XFLIP
+ dbsprite 1, 0, 0, 0, $0a, OAM_XFLIP
+ dbsprite 0, 1, 0, 0, $1b, OAM_XFLIP
+ dbsprite 1, 1, 0, 0, $1a, OAM_XFLIP
FrameBlock3a:
db 4 ; #
dbsprite 0, 4, 0, 0, $05, 0
- dbsprite 1, 4, 0, 0, $05, OAM_HFLIP
+ dbsprite 1, 4, 0, 0, $05, OAM_XFLIP
dbsprite 0, 5, 0, 0, $15, 0
- dbsprite 1, 5, 0, 0, $15, OAM_HFLIP
+ dbsprite 1, 5, 0, 0, $15, OAM_XFLIP
FrameBlock3b:
db 5 ; #
dbsprite 0, 3, 0, 0, $04, 0
- dbsprite 1, 3, 0, 0, $04, OAM_HFLIP
+ dbsprite 1, 3, 0, 0, $04, OAM_XFLIP
dbsprite 0, 4, 0, 0, $14, 0
- dbsprite 1, 4, 0, 0, $14, OAM_HFLIP
+ dbsprite 1, 4, 0, 0, $14, OAM_XFLIP
dbsprite 0, 5, 4, 0, $41, 0
FrameBlock3c:
db 6 ; #
dbsprite 0, 2, 0, 0, $05, 0
- dbsprite 1, 2, 0, 0, $05, OAM_HFLIP
+ dbsprite 1, 2, 0, 0, $05, OAM_XFLIP
dbsprite 0, 3, 0, 0, $15, 0
- dbsprite 1, 3, 0, 0, $15, OAM_HFLIP
+ dbsprite 1, 3, 0, 0, $15, OAM_XFLIP
dbsprite 0, 4, 4, 0, $42, 0
dbsprite 0, 5, 4, 0, $42, 0
FrameBlock3d:
db 7 ; #
dbsprite 0, 1, 0, 0, $04, 0
- dbsprite 1, 1, 0, 0, $04, OAM_HFLIP
+ dbsprite 1, 1, 0, 0, $04, OAM_XFLIP
dbsprite 0, 2, 0, 0, $14, 0
- dbsprite 1, 2, 0, 0, $14, OAM_HFLIP
+ dbsprite 1, 2, 0, 0, $14, OAM_XFLIP
dbsprite 0, 3, 4, 0, $41, 0
dbsprite 0, 4, 4, 0, $41, 0
dbsprite 0, 5, 4, 0, $41, 0
@@ -681,9 +681,9 @@ FrameBlock3d:
FrameBlock3e:
db 8 ; #
dbsprite 0, 0, 0, 0, $05, 0
- dbsprite 1, 0, 0, 0, $05, OAM_HFLIP
+ dbsprite 1, 0, 0, 0, $05, OAM_XFLIP
dbsprite 0, 1, 0, 0, $15, 0
- dbsprite 1, 1, 0, 0, $15, OAM_HFLIP
+ dbsprite 1, 1, 0, 0, $15, OAM_XFLIP
dbsprite 0, 2, 4, 0, $42, 0
dbsprite 0, 3, 4, 0, $42, 0
dbsprite 0, 4, 4, 0, $42, 0
@@ -692,9 +692,9 @@ FrameBlock3e:
FrameBlock3f:
db 8 ; #
dbsprite 0, 0, 0, 0, $04, 0
- dbsprite 1, 0, 0, 0, $04, OAM_HFLIP
+ dbsprite 1, 0, 0, 0, $04, OAM_XFLIP
dbsprite 0, 1, 0, 0, $14, 0
- dbsprite 1, 1, 0, 0, $14, OAM_HFLIP
+ dbsprite 1, 1, 0, 0, $14, OAM_XFLIP
dbsprite 0, 2, 4, 0, $41, 0
dbsprite 0, 3, 4, 0, $41, 0
dbsprite 0, 4, 4, 0, $41, 0
@@ -709,7 +709,7 @@ FrameBlock40:
FrameBlock41:
db 4 ; #
dbsprite 0, 0, 0, 0, $06, 0
- dbsprite 1, 0, 0, 0, $06, OAM_HFLIP
+ dbsprite 1, 0, 0, 0, $06, OAM_XFLIP
dbsprite 0, 1, 0, 0, $16, 0
dbsprite 1, 1, 0, 0, $17, 0
@@ -765,139 +765,139 @@ FrameBlock46:
FrameBlock47:
db 4 ; #
dbsprite 0, 0, 0, 0, $43, 0
- dbsprite 1, 0, 0, 0, $43, OAM_HFLIP
- dbsprite 0, 1, 0, 0, $43, OAM_VFLIP
- dbsprite 1, 1, 0, 0, $43, OAM_HFLIP | OAM_VFLIP
+ dbsprite 1, 0, 0, 0, $43, OAM_XFLIP
+ dbsprite 0, 1, 0, 0, $43, OAM_YFLIP
+ dbsprite 1, 1, 0, 0, $43, OAM_XFLIP | OAM_YFLIP
SmallBlackCircleFrameBlock:
db 4 ; #
dbsprite 1, 1, 0, 0, $33, 0
- dbsprite 2, 1, 0, 0, $33, OAM_HFLIP
- dbsprite 1, 2, 0, 0, $33, OAM_VFLIP
- dbsprite 2, 2, 0, 0, $33, OAM_HFLIP | OAM_VFLIP
+ dbsprite 2, 1, 0, 0, $33, OAM_XFLIP
+ dbsprite 1, 2, 0, 0, $33, OAM_YFLIP
+ dbsprite 2, 2, 0, 0, $33, OAM_XFLIP | OAM_YFLIP
LargeBlackCircleFrameBlock:
db 16 ; #
dbsprite 0, 0, 0, 0, $22, 0
dbsprite 1, 0, 0, 0, $23, 0
- dbsprite 2, 0, 0, 0, $23, OAM_HFLIP
- dbsprite 3, 0, 0, 0, $22, OAM_HFLIP
+ dbsprite 2, 0, 0, 0, $23, OAM_XFLIP
+ dbsprite 3, 0, 0, 0, $22, OAM_XFLIP
dbsprite 0, 1, 0, 0, $32, 0
dbsprite 1, 1, 0, 0, $43, 0
- dbsprite 2, 1, 0, 0, $43, OAM_HFLIP
- dbsprite 3, 1, 0, 0, $32, OAM_HFLIP
- dbsprite 0, 2, 0, 0, $32, OAM_VFLIP
- dbsprite 1, 2, 0, 0, $43, OAM_VFLIP
- dbsprite 2, 2, 0, 0, $43, OAM_HFLIP | OAM_VFLIP
- dbsprite 3, 2, 0, 0, $32, OAM_HFLIP | OAM_VFLIP
- dbsprite 0, 3, 0, 0, $22, OAM_VFLIP
- dbsprite 1, 3, 0, 0, $23, OAM_VFLIP
- dbsprite 2, 3, 0, 0, $23, OAM_HFLIP | OAM_VFLIP
- dbsprite 3, 3, 0, 0, $22, OAM_HFLIP | OAM_VFLIP
+ dbsprite 2, 1, 0, 0, $43, OAM_XFLIP
+ dbsprite 3, 1, 0, 0, $32, OAM_XFLIP
+ dbsprite 0, 2, 0, 0, $32, OAM_YFLIP
+ dbsprite 1, 2, 0, 0, $43, OAM_YFLIP
+ dbsprite 2, 2, 0, 0, $43, OAM_XFLIP | OAM_YFLIP
+ dbsprite 3, 2, 0, 0, $32, OAM_XFLIP | OAM_YFLIP
+ dbsprite 0, 3, 0, 0, $22, OAM_YFLIP
+ dbsprite 1, 3, 0, 0, $23, OAM_YFLIP
+ dbsprite 2, 3, 0, 0, $23, OAM_XFLIP | OAM_YFLIP
+ dbsprite 3, 3, 0, 0, $22, OAM_XFLIP | OAM_YFLIP
FrameBlock71:
db 16 ; #
dbsprite 0, 0, 0, 0, $22, 0
dbsprite 1, 0, 0, 0, $3b, 0
- dbsprite 2, 0, 0, 0, $23, OAM_HFLIP
- dbsprite 3, 0, 0, 0, $22, OAM_HFLIP
+ dbsprite 2, 0, 0, 0, $23, OAM_XFLIP
+ dbsprite 3, 0, 0, 0, $22, OAM_XFLIP
dbsprite 0, 1, 0, 0, $32, 0
dbsprite 1, 1, 0, 0, $43, 0
- dbsprite 2, 1, 0, 0, $43, OAM_HFLIP
- dbsprite 3, 1, 0, 0, $32, OAM_HFLIP
- dbsprite 0, 2, 0, 0, $32, OAM_VFLIP
- dbsprite 1, 2, 0, 0, $43, OAM_VFLIP
- dbsprite 2, 2, 0, 0, $43, OAM_HFLIP | OAM_VFLIP
- dbsprite 3, 2, 0, 0, $32, OAM_HFLIP | OAM_VFLIP
- dbsprite 0, 3, 0, 0, $22, OAM_VFLIP
- dbsprite 1, 3, 0, 0, $23, OAM_VFLIP
- dbsprite 2, 3, 0, 0, $23, OAM_HFLIP | OAM_VFLIP
- dbsprite 3, 3, 0, 0, $22, OAM_HFLIP | OAM_VFLIP
+ dbsprite 2, 1, 0, 0, $43, OAM_XFLIP
+ dbsprite 3, 1, 0, 0, $32, OAM_XFLIP
+ dbsprite 0, 2, 0, 0, $32, OAM_YFLIP
+ dbsprite 1, 2, 0, 0, $43, OAM_YFLIP
+ dbsprite 2, 2, 0, 0, $43, OAM_XFLIP | OAM_YFLIP
+ dbsprite 3, 2, 0, 0, $32, OAM_XFLIP | OAM_YFLIP
+ dbsprite 0, 3, 0, 0, $22, OAM_YFLIP
+ dbsprite 1, 3, 0, 0, $23, OAM_YFLIP
+ dbsprite 2, 3, 0, 0, $23, OAM_XFLIP | OAM_YFLIP
+ dbsprite 3, 3, 0, 0, $22, OAM_XFLIP | OAM_YFLIP
FrameBlock72:
db 12 ; #
dbsprite 0, 0, 0, 0, $32, 0
dbsprite 1, 0, 0, 0, $43, 0
- dbsprite 2, 0, 0, 0, $43, OAM_HFLIP
- dbsprite 3, 0, 0, 0, $32, OAM_HFLIP
- dbsprite 0, 1, 0, 0, $32, OAM_VFLIP
- dbsprite 1, 1, 0, 0, $43, OAM_VFLIP
- dbsprite 2, 1, 0, 0, $43, OAM_HFLIP | OAM_VFLIP
- dbsprite 3, 1, 0, 0, $32, OAM_HFLIP | OAM_VFLIP
- dbsprite 0, 2, 0, 0, $22, OAM_VFLIP
- dbsprite 1, 2, 0, 0, $23, OAM_VFLIP
- dbsprite 2, 2, 0, 0, $23, OAM_HFLIP | OAM_VFLIP
- dbsprite 3, 2, 0, 0, $22, OAM_HFLIP | OAM_VFLIP
+ dbsprite 2, 0, 0, 0, $43, OAM_XFLIP
+ dbsprite 3, 0, 0, 0, $32, OAM_XFLIP
+ dbsprite 0, 1, 0, 0, $32, OAM_YFLIP
+ dbsprite 1, 1, 0, 0, $43, OAM_YFLIP
+ dbsprite 2, 1, 0, 0, $43, OAM_XFLIP | OAM_YFLIP
+ dbsprite 3, 1, 0, 0, $32, OAM_XFLIP | OAM_YFLIP
+ dbsprite 0, 2, 0, 0, $22, OAM_YFLIP
+ dbsprite 1, 2, 0, 0, $23, OAM_YFLIP
+ dbsprite 2, 2, 0, 0, $23, OAM_XFLIP | OAM_YFLIP
+ dbsprite 3, 2, 0, 0, $22, OAM_XFLIP | OAM_YFLIP
FrameBlock73:
db 8 ; #
- dbsprite 0, 0, 0, 0, $32, OAM_VFLIP
- dbsprite 1, 0, 0, 0, $43, OAM_VFLIP
- dbsprite 2, 0, 0, 0, $43, OAM_HFLIP | OAM_VFLIP
- dbsprite 3, 0, 0, 0, $32, OAM_HFLIP | OAM_VFLIP
- dbsprite 0, 1, 0, 0, $22, OAM_VFLIP
- dbsprite 1, 1, 0, 0, $23, OAM_VFLIP
- dbsprite 2, 1, 0, 0, $23, OAM_HFLIP | OAM_VFLIP
- dbsprite 3, 1, 0, 0, $22, OAM_HFLIP | OAM_VFLIP
+ dbsprite 0, 0, 0, 0, $32, OAM_YFLIP
+ dbsprite 1, 0, 0, 0, $43, OAM_YFLIP
+ dbsprite 2, 0, 0, 0, $43, OAM_XFLIP | OAM_YFLIP
+ dbsprite 3, 0, 0, 0, $32, OAM_XFLIP | OAM_YFLIP
+ dbsprite 0, 1, 0, 0, $22, OAM_YFLIP
+ dbsprite 1, 1, 0, 0, $23, OAM_YFLIP
+ dbsprite 2, 1, 0, 0, $23, OAM_XFLIP | OAM_YFLIP
+ dbsprite 3, 1, 0, 0, $22, OAM_XFLIP | OAM_YFLIP
FrameBlock74:
db 4 ; #
- dbsprite 0, 0, 0, 0, $22, OAM_VFLIP
- dbsprite 1, 0, 0, 0, $23, OAM_VFLIP
- dbsprite 2, 0, 0, 0, $23, OAM_HFLIP | OAM_VFLIP
- dbsprite 3, 0, 0, 0, $22, OAM_HFLIP | OAM_VFLIP
+ dbsprite 0, 0, 0, 0, $22, OAM_YFLIP
+ dbsprite 1, 0, 0, 0, $23, OAM_YFLIP
+ dbsprite 2, 0, 0, 0, $23, OAM_XFLIP | OAM_YFLIP
+ dbsprite 3, 0, 0, 0, $22, OAM_XFLIP | OAM_YFLIP
FrameBlock4a:
db 4 ; #
- dbsprite 3, 1, 0, 0, $4c, OAM_HFLIP
+ dbsprite 3, 1, 0, 0, $4c, OAM_XFLIP
dbsprite 1, 4, 0, 0, $4b, 0
dbsprite 4, 6, 0, 0, $4c, 0
- dbsprite 6, 3, 0, 0, $4b, OAM_VFLIP
+ dbsprite 6, 3, 0, 0, $4b, OAM_YFLIP
FrameBlock4b:
db 4 ; #
dbsprite 3, 0, 0, 0, $4c, 0
- dbsprite 0, 4, 0, 0, $4b, OAM_VFLIP
- dbsprite 4, 7, 0, 0, $4c, OAM_HFLIP
+ dbsprite 0, 4, 0, 0, $4b, OAM_YFLIP
+ dbsprite 4, 7, 0, 0, $4c, OAM_XFLIP
dbsprite 7, 3, 0, 0, $4b, 0
FrameBlock4c:
db 4 ; #
- dbsprite 1, 2, 0, 0, $4a, OAM_VFLIP
+ dbsprite 1, 2, 0, 0, $4a, OAM_YFLIP
dbsprite 2, 6, 0, 0, $4a, 0
- dbsprite 6, 5, 0, 0, $4a, OAM_HFLIP
- dbsprite 5, 1, 0, 0, $4a, OAM_HFLIP | OAM_VFLIP
+ dbsprite 6, 5, 0, 0, $4a, OAM_XFLIP
+ dbsprite 5, 1, 0, 0, $4a, OAM_XFLIP | OAM_YFLIP
FrameBlock4d:
db 4 ; #
- dbsprite 0, 1, 0, 0, $4a, OAM_HFLIP
- dbsprite 1, 7, 0, 0, $4a, OAM_HFLIP | OAM_VFLIP
- dbsprite 7, 6, 0, 0, $4a, OAM_VFLIP
+ dbsprite 0, 1, 0, 0, $4a, OAM_XFLIP
+ dbsprite 1, 7, 0, 0, $4a, OAM_XFLIP | OAM_YFLIP
+ dbsprite 7, 6, 0, 0, $4a, OAM_YFLIP
dbsprite 6, 0, 0, 0, $4a, 0
FrameBlock4e:
db 8 ; #
dbsprite 6, 0, 0, 0, $44, 0
- dbsprite 7, 0, 0, 0, $44, OAM_HFLIP
- dbsprite 6, 1, 0, 0, $44, OAM_VFLIP
- dbsprite 7, 1, 0, 0, $44, OAM_HFLIP | OAM_VFLIP
+ dbsprite 7, 0, 0, 0, $44, OAM_XFLIP
+ dbsprite 6, 1, 0, 0, $44, OAM_YFLIP
+ dbsprite 7, 1, 0, 0, $44, OAM_XFLIP | OAM_YFLIP
dbsprite 1, 4, 2, 6, $44, 0
- dbsprite 2, 4, 2, 6, $44, OAM_HFLIP
- dbsprite 1, 5, 2, 6, $44, OAM_VFLIP
- dbsprite 2, 5, 2, 6, $44, OAM_HFLIP | OAM_VFLIP
+ dbsprite 2, 4, 2, 6, $44, OAM_XFLIP
+ dbsprite 1, 5, 2, 6, $44, OAM_YFLIP
+ dbsprite 2, 5, 2, 6, $44, OAM_XFLIP | OAM_YFLIP
FrameBlock4f:
db 12 ; #
dbsprite 4, 1, 2, 6, $44, 0
- dbsprite 5, 1, 2, 6, $44, OAM_HFLIP
- dbsprite 4, 2, 2, 6, $44, OAM_VFLIP
- dbsprite 5, 2, 2, 6, $44, OAM_HFLIP | OAM_VFLIP
+ dbsprite 5, 1, 2, 6, $44, OAM_XFLIP
+ dbsprite 4, 2, 2, 6, $44, OAM_YFLIP
+ dbsprite 5, 2, 2, 6, $44, OAM_XFLIP | OAM_YFLIP
dbsprite 6, 0, 2, 6, $47, 0
dbsprite 7, 0, 0, 0, $47, 0
dbsprite 2, 3, 6, 2, $44, 0
- dbsprite 3, 3, 6, 2, $44, OAM_HFLIP
- dbsprite 2, 4, 6, 2, $44, OAM_VFLIP
- dbsprite 3, 4, 6, 2, $44, OAM_HFLIP | OAM_VFLIP
+ dbsprite 3, 3, 6, 2, $44, OAM_XFLIP
+ dbsprite 2, 4, 6, 2, $44, OAM_YFLIP
+ dbsprite 3, 4, 6, 2, $44, OAM_XFLIP | OAM_YFLIP
dbsprite 1, 6, 0, 0, $47, 0
dbsprite 1, 5, 6, 2, $47, 0
@@ -914,14 +914,14 @@ FrameBlock50:
FrameBlock51:
db 8 ; #
- dbsprite 0, 0, 0, 0, $35, OAM_HFLIP
- dbsprite 0, 1, 0, 0, $35, OAM_VFLIP
+ dbsprite 0, 0, 0, 0, $35, OAM_XFLIP
+ dbsprite 0, 1, 0, 0, $35, OAM_YFLIP
dbsprite 0, 2, 0, 0, $35, 0
- dbsprite 0, 3, 0, 0, $35, OAM_HFLIP | OAM_VFLIP
+ dbsprite 0, 3, 0, 0, $35, OAM_XFLIP | OAM_YFLIP
dbsprite 8, 0, 0, 0, $35, 0
- dbsprite 8, 1, 0, 0, $35, OAM_HFLIP | OAM_VFLIP
- dbsprite 8, 2, 0, 0, $35, OAM_HFLIP
- dbsprite 8, 3, 0, 0, $35, OAM_VFLIP
+ dbsprite 8, 1, 0, 0, $35, OAM_XFLIP | OAM_YFLIP
+ dbsprite 8, 2, 0, 0, $35, OAM_XFLIP
+ dbsprite 8, 3, 0, 0, $35, OAM_YFLIP
FrameBlock52:
db 4 ; #
@@ -939,9 +939,9 @@ FrameBlock53:
FrameBlock54:
db 4 ; #
dbsprite 0, 0, 0, 0, $0e, 0
- dbsprite 1, 0, 0, 0, $0e, OAM_HFLIP
+ dbsprite 1, 0, 0, 0, $0e, OAM_XFLIP
dbsprite 0, 1, 0, 0, $0f, 0
- dbsprite 1, 1, 0, 0, $0f, OAM_HFLIP
+ dbsprite 1, 1, 0, 0, $0f, OAM_XFLIP
FrameBlock55:
db 3 ; #
@@ -989,22 +989,22 @@ FrameBlock5a:
dbsprite 0, 0, 0, 0, $24, 0
dbsprite 1, 0, 0, 0, $25, 0
dbsprite 0, 1, 0, 0, $34, 0
- dbsprite 2, 0, 0, 0, $25, OAM_HFLIP
- dbsprite 3, 0, 0, 0, $24, OAM_HFLIP
- dbsprite 3, 1, 0, 0, $34, OAM_HFLIP
- dbsprite 0, 2, 0, 0, $34, OAM_VFLIP
- dbsprite 0, 3, 0, 0, $24, OAM_VFLIP
- dbsprite 1, 3, 0, 0, $25, OAM_VFLIP
- dbsprite 3, 2, 0, 0, $34, OAM_HFLIP | OAM_VFLIP
- dbsprite 2, 3, 0, 0, $25, OAM_HFLIP | OAM_VFLIP
- dbsprite 3, 3, 0, 0, $24, OAM_HFLIP | OAM_VFLIP
+ dbsprite 2, 0, 0, 0, $25, OAM_XFLIP
+ dbsprite 3, 0, 0, 0, $24, OAM_XFLIP
+ dbsprite 3, 1, 0, 0, $34, OAM_XFLIP
+ dbsprite 0, 2, 0, 0, $34, OAM_YFLIP
+ dbsprite 0, 3, 0, 0, $24, OAM_YFLIP
+ dbsprite 1, 3, 0, 0, $25, OAM_YFLIP
+ dbsprite 3, 2, 0, 0, $34, OAM_XFLIP | OAM_YFLIP
+ dbsprite 2, 3, 0, 0, $25, OAM_XFLIP | OAM_YFLIP
+ dbsprite 3, 3, 0, 0, $24, OAM_XFLIP | OAM_YFLIP
FrameBlock5b:
db 4 ; #
dbsprite 0, 0, 0, 0, $43, 0
- dbsprite 1, 0, 0, 0, $43, OAM_HFLIP
- dbsprite 0, 1, 0, 0, $43, OAM_VFLIP
- dbsprite 1, 1, 0, 0, $43, OAM_HFLIP | OAM_VFLIP
+ dbsprite 1, 0, 0, 0, $43, OAM_XFLIP
+ dbsprite 0, 1, 0, 0, $43, OAM_YFLIP
+ dbsprite 1, 1, 0, 0, $43, OAM_XFLIP | OAM_YFLIP
FrameBlock5c:
db 8 ; #
@@ -1013,9 +1013,9 @@ FrameBlock5c:
dbsprite 0, 3, 0, 0, $49, 0
dbsprite 2, 2, 0, 0, $49, 0
dbsprite 0, 1, 0, 0, $43, 0
- dbsprite 1, 1, 0, 0, $43, OAM_HFLIP
- dbsprite 0, 2, 0, 0, $43, OAM_VFLIP
- dbsprite 1, 2, 0, 0, $43, OAM_HFLIP | OAM_VFLIP
+ dbsprite 1, 1, 0, 0, $43, OAM_XFLIP
+ dbsprite 0, 2, 0, 0, $43, OAM_YFLIP
+ dbsprite 1, 2, 0, 0, $43, OAM_XFLIP | OAM_YFLIP
FrameBlock5d:
db 11 ; #
@@ -1023,13 +1023,13 @@ FrameBlock5d:
dbsprite 0, 3, 2, 0, $49, 0
dbsprite 2, 2, 0, 4, $49, 0
dbsprite 0, 1, 0, 0, $43, 0
- dbsprite 1, 0, 0, 0, $43, OAM_HFLIP
- dbsprite 0, 2, 0, 0, $43, OAM_VFLIP
- dbsprite 1, 2, 0, 0, $43, OAM_HFLIP | OAM_VFLIP
+ dbsprite 1, 0, 0, 0, $43, OAM_XFLIP
+ dbsprite 0, 2, 0, 0, $43, OAM_YFLIP
+ dbsprite 1, 2, 0, 0, $43, OAM_XFLIP | OAM_YFLIP
dbsprite 1, 0, 0, 4, $43, 0
- dbsprite 2, 0, 0, 4, $43, OAM_HFLIP
- dbsprite 1, 1, 0, 4, $43, OAM_VFLIP
- dbsprite 2, 1, 0, 4, $43, OAM_HFLIP | OAM_VFLIP
+ dbsprite 2, 0, 0, 4, $43, OAM_XFLIP
+ dbsprite 1, 1, 0, 4, $43, OAM_YFLIP
+ dbsprite 2, 1, 0, 4, $43, OAM_XFLIP | OAM_YFLIP
FrameBlock5e:
db 15 ; #
@@ -1037,17 +1037,17 @@ FrameBlock5e:
dbsprite 2, 1, 0, 0, $49, 0
dbsprite 0, 4, 0, 0, $49, 0
dbsprite 0, 1, 0, 0, $43, 0
- dbsprite 1, 1, 0, 0, $43, OAM_HFLIP
- dbsprite 0, 2, 0, 0, $43, OAM_VFLIP
- dbsprite 1, 2, 0, 0, $43, OAM_HFLIP | OAM_VFLIP
+ dbsprite 1, 1, 0, 0, $43, OAM_XFLIP
+ dbsprite 0, 2, 0, 0, $43, OAM_YFLIP
+ dbsprite 1, 2, 0, 0, $43, OAM_XFLIP | OAM_YFLIP
dbsprite 2, 2, 0, 0, $43, 0
- dbsprite 3, 2, 0, 0, $43, OAM_HFLIP
- dbsprite 2, 3, 0, 0, $43, OAM_VFLIP
- dbsprite 3, 3, 0, 0, $43, OAM_HFLIP | OAM_VFLIP
+ dbsprite 3, 2, 0, 0, $43, OAM_XFLIP
+ dbsprite 2, 3, 0, 0, $43, OAM_YFLIP
+ dbsprite 3, 3, 0, 0, $43, OAM_XFLIP | OAM_YFLIP
dbsprite 1, 4, 0, 0, $43, 0
- dbsprite 2, 4, 0, 0, $43, OAM_HFLIP
- dbsprite 1, 5, 0, 0, $43, OAM_VFLIP
- dbsprite 2, 5, 0, 0, $43, OAM_HFLIP | OAM_VFLIP
+ dbsprite 2, 4, 0, 0, $43, OAM_XFLIP
+ dbsprite 1, 5, 0, 0, $43, OAM_YFLIP
+ dbsprite 2, 5, 0, 0, $43, OAM_XFLIP | OAM_YFLIP
FrameBlock5f:
db 4 ; #
@@ -1140,9 +1140,9 @@ FrameBlock67:
FrameBlock68:
db 4 ; #
dbsprite 0, 0, 0, 0, $03, 0
- dbsprite 1, 0, 0, 0, $03, OAM_HFLIP
+ dbsprite 1, 0, 0, 0, $03, OAM_XFLIP
dbsprite 0, 1, 0, 0, $13, 0
- dbsprite 1, 1, 0, 0, $13, OAM_HFLIP
+ dbsprite 1, 1, 0, 0, $13, OAM_XFLIP
FrameBlock69:
db 1 ; #
@@ -1151,35 +1151,35 @@ FrameBlock69:
FrameBlock6a:
db 8 ; #
dbsprite 0, 0, 0, 0, $2e, 0
- dbsprite 6, 0, 0, 0, $2e, OAM_HFLIP
- dbsprite 0, 6, 0, 0, $2e, OAM_VFLIP
- dbsprite 6, 6, 0, 0, $2e, OAM_HFLIP | OAM_VFLIP
+ dbsprite 6, 0, 0, 0, $2e, OAM_XFLIP
+ dbsprite 0, 6, 0, 0, $2e, OAM_YFLIP
+ dbsprite 6, 6, 0, 0, $2e, OAM_XFLIP | OAM_YFLIP
dbsprite 3, 0, 0, 0, $2f, 0
- dbsprite 3, 6, 0, 0, $2f, OAM_VFLIP
+ dbsprite 3, 6, 0, 0, $2f, OAM_YFLIP
dbsprite 0, 3, 0, 0, $3e, 0
- dbsprite 6, 3, 0, 0, $3e, OAM_HFLIP
+ dbsprite 6, 3, 0, 0, $3e, OAM_XFLIP
FrameBlock6b:
db 8 ; #
dbsprite 0, 0, 0, 0, $2e, 0
- dbsprite 4, 0, 0, 0, $2e, OAM_HFLIP
- dbsprite 0, 4, 0, 0, $2e, OAM_VFLIP
- dbsprite 4, 4, 0, 0, $2e, OAM_HFLIP | OAM_VFLIP
+ dbsprite 4, 0, 0, 0, $2e, OAM_XFLIP
+ dbsprite 0, 4, 0, 0, $2e, OAM_YFLIP
+ dbsprite 4, 4, 0, 0, $2e, OAM_XFLIP | OAM_YFLIP
dbsprite 2, 0, 0, 0, $2f, 0
- dbsprite 2, 4, 0, 0, $2f, OAM_VFLIP
+ dbsprite 2, 4, 0, 0, $2f, OAM_YFLIP
dbsprite 0, 2, 0, 0, $3e, 0
- dbsprite 4, 2, 0, 0, $3e, OAM_HFLIP
+ dbsprite 4, 2, 0, 0, $3e, OAM_XFLIP
FrameBlock6c:
db 8 ; #
dbsprite 0, 0, 0, 0, $2e, 0
- dbsprite 2, 0, 0, 0, $2e, OAM_HFLIP
- dbsprite 0, 2, 0, 0, $2e, OAM_VFLIP
- dbsprite 2, 2, 0, 0, $2e, OAM_HFLIP | OAM_VFLIP
+ dbsprite 2, 0, 0, 0, $2e, OAM_XFLIP
+ dbsprite 0, 2, 0, 0, $2e, OAM_YFLIP
+ dbsprite 2, 2, 0, 0, $2e, OAM_XFLIP | OAM_YFLIP
dbsprite 1, 0, 0, 0, $2f, 0
- dbsprite 1, 2, 0, 0, $2f, OAM_VFLIP
+ dbsprite 1, 2, 0, 0, $2f, OAM_YFLIP
dbsprite 0, 1, 0, 0, $3e, 0
- dbsprite 2, 1, 0, 0, $3e, OAM_HFLIP
+ dbsprite 2, 1, 0, 0, $3e, OAM_XFLIP
FrameBlock6d:
db 2 ; #
@@ -1189,9 +1189,9 @@ FrameBlock6d:
FrameBlock6e:
db 4 ; #
dbsprite 0, 0, 0, 0, $48, 0
- dbsprite 1, 0, 0, 0, $48, OAM_HFLIP
+ dbsprite 1, 0, 0, 0, $48, OAM_XFLIP
dbsprite 0, 1, 0, 0, $12, 0
- dbsprite 1, 1, 0, 0, $12, OAM_HFLIP
+ dbsprite 1, 1, 0, 0, $12, OAM_XFLIP
FrameBlock6f:
db 4 ; #
@@ -1202,10 +1202,10 @@ FrameBlock6f:
FrameBlock70:
db 4 ; #
- dbsprite 0, 0, 0, 0, $07, OAM_HFLIP
- dbsprite 1, 0, 0, 0, $4a, OAM_HFLIP
- dbsprite 0, 1, 0, 0, $17, OAM_HFLIP
- dbsprite 1, 1, 0, 0, $16, OAM_HFLIP
+ dbsprite 0, 0, 0, 0, $07, OAM_XFLIP
+ dbsprite 1, 0, 0, 0, $4a, OAM_XFLIP
+ dbsprite 0, 1, 0, 0, $17, OAM_XFLIP
+ dbsprite 1, 1, 0, 0, $16, OAM_XFLIP
FrameBlock76:
db 7 ; #
@@ -1213,16 +1213,16 @@ FrameBlock76:
dbsprite 1, 0, 0, 1, $2f, 0
dbsprite 3, 0, 0, 1, $2f, 0
dbsprite 0, 0, 0, 2, $2e, 0
- dbsprite 4, 0, 0, 2, $2e, OAM_HFLIP
+ dbsprite 4, 0, 0, 2, $2e, OAM_XFLIP
dbsprite 0, 1, 0, 2, $3e, 0
- dbsprite 4, 1, 0, 2, $3e, OAM_HFLIP
+ dbsprite 4, 1, 0, 2, $3e, OAM_XFLIP
FrameBlock77:
db 4 ; #
dbsprite 0, 0, 2, 0, $4b, 0
dbsprite 1, 0, 2, 0, $4c, 0
- dbsprite 0, 1, 0, 0, $4c, OAM_HFLIP | OAM_VFLIP
- dbsprite 1, 1, 0, 0, $4b, OAM_HFLIP | OAM_VFLIP
+ dbsprite 0, 1, 0, 0, $4c, OAM_XFLIP | OAM_YFLIP
+ dbsprite 1, 1, 0, 0, $4b, OAM_XFLIP | OAM_YFLIP
FrameBlock78:
db 1 ; #
diff --git a/data/sprites/facings.asm b/data/sprites/facings.asm
index 54fd7ed0..1741f259 100644
--- a/data/sprites/facings.asm
+++ b/data/sprites/facings.asm
@@ -53,7 +53,7 @@ SpriteFacingAndAnimationTable:
.FlippedOAM:
; y, x, attributes
- db 0, 8, OAM_HFLIP ; top left
- db 0, 0, OAM_HFLIP ; top right
- db 8, 8, OAM_HFLIP | UNDER_GRASS ; bottom left
- db 8, 0, OAM_HFLIP | UNDER_GRASS | FACING_END ; bottom right
+ db 0, 8, OAM_XFLIP ; top left
+ db 0, 0, OAM_XFLIP ; top right
+ db 8, 8, OAM_XFLIP | UNDER_GRASS ; bottom left
+ db 8, 0, OAM_XFLIP | UNDER_GRASS | FACING_END ; bottom right
diff --git a/data/tilesets/ledge_tiles.asm b/data/tilesets/ledge_tiles.asm
index db293800..8c5bff7f 100644
--- a/data/tilesets/ledge_tiles.asm
+++ b/data/tilesets/ledge_tiles.asm
@@ -1,11 +1,11 @@
LedgeTiles:
; player direction, tile player standing on, ledge tile, input required
- db SPRITE_FACING_DOWN, $2C, $37, D_DOWN
- db SPRITE_FACING_DOWN, $39, $36, D_DOWN
- db SPRITE_FACING_DOWN, $39, $37, D_DOWN
- db SPRITE_FACING_LEFT, $2C, $27, D_LEFT
- db SPRITE_FACING_LEFT, $39, $27, D_LEFT
- db SPRITE_FACING_RIGHT, $2C, $0D, D_RIGHT
- db SPRITE_FACING_RIGHT, $2C, $1D, D_RIGHT
- db SPRITE_FACING_RIGHT, $39, $0D, D_RIGHT
+ db SPRITE_FACING_DOWN, $2C, $37, PAD_DOWN
+ db SPRITE_FACING_DOWN, $39, $36, PAD_DOWN
+ db SPRITE_FACING_DOWN, $39, $37, PAD_DOWN
+ db SPRITE_FACING_LEFT, $2C, $27, PAD_LEFT
+ db SPRITE_FACING_LEFT, $39, $27, PAD_LEFT
+ db SPRITE_FACING_RIGHT, $2C, $0D, PAD_RIGHT
+ db SPRITE_FACING_RIGHT, $2C, $1D, PAD_RIGHT
+ db SPRITE_FACING_RIGHT, $39, $0D, PAD_RIGHT
db -1 ; end
diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm
index ce6c6d5d..6f255dd6 100644
--- a/engine/battle/animations.asm
+++ b/engine/battle/animations.asm
@@ -80,13 +80,13 @@ DrawFrameBlock:
; toggle horizontal and vertical flip
ld a, [hli] ; flags
and a
- ld b, OAM_VFLIP | OAM_HFLIP
+ ld b, OAM_YFLIP | OAM_XFLIP
jr z, .storeFlags1
- cp OAM_HFLIP
- ld b, OAM_VFLIP
+ cp OAM_XFLIP
+ ld b, OAM_YFLIP
jr z, .storeFlags1
- cp OAM_VFLIP
- ld b, OAM_HFLIP
+ cp OAM_YFLIP
+ ld b, OAM_XFLIP
jr z, .storeFlags1
ld b, 0
.storeFlags1
@@ -114,13 +114,13 @@ DrawFrameBlock:
ld [de], a ; store tile ID
inc de
ld a, [hli]
- bit OAM_X_FLIP, a
+ bit B_OAM_XFLIP, a
jr nz, .disableHorizontalFlip
.enableHorizontalFlip
- set OAM_X_FLIP, a
+ set B_OAM_XFLIP, a
jr .storeFlags2
.disableHorizontalFlip
- res OAM_X_FLIP, a
+ res B_OAM_XFLIP, a
.storeFlags2
ld [de], a
inc de
@@ -726,7 +726,7 @@ DoBallTossSpecialEffects:
dec b
jr nz, .loop
ld a, %00001000
- ldh [rNR10], a ; Channel 1 sweep register
+ ldh [rAUD1SWEEP], a ; Channel 1 sweep register
ret
.isTrainerBattle ; if it's a trainer battle, shorten the animation by one frame
ld a, [wSubAnimCounter]
@@ -2408,7 +2408,7 @@ FallingObjects_UpdateOAMEntry:
sub b
ld [hli], a ; X
inc hl
- ld a, 1 << OAM_X_FLIP
+ ld a, OAM_XFLIP
.next2
ld [hl], a ; attribute
ret
diff --git a/engine/battle/core.asm b/engine/battle/core.asm
index 114e715b..f9b45a88 100644
--- a/engine/battle/core.asm
+++ b/engine/battle/core.asm
@@ -18,7 +18,7 @@ SlidePlayerAndEnemySilhouettesOnScreen:
call LoadFontTilePatterns
call LoadHudAndHpBarAndStatusTilePatterns
ld hl, vBGMap0
- ld bc, BG_MAP_WIDTH * BG_MAP_HEIGHT
+ ld bc, TILEMAP_WIDTH * TILEMAP_HEIGHT
.clearBackgroundLoop
ld a, " "
ld [hli], a
@@ -2086,9 +2086,9 @@ DisplayBattleMenu::
inc hl
ld a, $1
ld [hli], a ; wMaxMenuItem
- ld [hl], D_RIGHT | A_BUTTON ; wMenuWatchedKeys
+ ld [hl], PAD_RIGHT | PAD_A ; wMenuWatchedKeys
call HandleMenuInput
- bit BIT_D_RIGHT, a
+ bit B_PAD_RIGHT, a
jr nz, .rightColumn
jr .AButtonPressed ; the A button was pressed
.rightColumn ; put cursor in right column of menu
@@ -2119,10 +2119,10 @@ DisplayBattleMenu::
inc hl
ld a, $1
ld [hli], a ; wMaxMenuItem
- ld a, D_LEFT | A_BUTTON
+ ld a, PAD_LEFT | PAD_A
ld [hli], a ; wMenuWatchedKeys
call HandleMenuInput
- bit BIT_D_LEFT, a
+ bit B_PAD_LEFT, a
jr nz, .leftColumn ; if left was pressed, jump
ld a, [wCurrentMenuItem]
add $2 ; if we're in the right column, the actual id is +2
@@ -2346,12 +2346,12 @@ PartyMenuOrRockOrRun:
inc hl
ld a, $2
ld [hli], a ; wMaxMenuItem
- ld a, B_BUTTON | A_BUTTON
+ ld a, PAD_B | PAD_A
ld [hli], a ; wMenuWatchedKeys
xor a
ld [hl], a ; wLastMenuItem
call HandleMenuInput
- bit BIT_B_BUTTON, a
+ bit B_PAD_B, a
jr nz, .partyMonDeselected ; if B was pressed, jump
; A was pressed
call PlaceUnfilledArrowMenuCursor
@@ -2550,10 +2550,10 @@ MoveSelectionMenu:
ld [hli], a ; wMaxMenuItem
ld a, [wMoveMenuType]
dec a
- ld b, D_UP | D_DOWN | A_BUTTON
+ ld b, PAD_UP | PAD_DOWN | PAD_A
jr z, .matchedkeyspicked
dec a
- ld b, D_UP | D_DOWN | A_BUTTON | B_BUTTON
+ ld b, PAD_UP | PAD_DOWN | PAD_A | PAD_B
jr z, .matchedkeyspicked
ld a, [wLinkState]
cp LINK_STATE_BATTLING
@@ -2561,9 +2561,9 @@ MoveSelectionMenu:
; Disable left, right, and START buttons in regular battles.
ld a, [wStatusFlags7]
bit BIT_TEST_BATTLE, a
- ld b, D_UP | D_DOWN | A_BUTTON | B_BUTTON | SELECT
+ ld b, PAD_UP | PAD_DOWN | PAD_A | PAD_B | PAD_SELECT
jr z, .matchedkeyspicked
- ld b, D_UP | D_DOWN | D_LEFT | D_RIGHT | A_BUTTON | B_BUTTON | SELECT | START
+ ld b, PAD_UP | PAD_DOWN | PAD_LEFT | PAD_RIGHT | PAD_A | PAD_B | PAD_SELECT | PAD_START
.matchedkeyspicked
ld a, b
ld [hli], a ; wMenuWatchedKeys
@@ -2609,13 +2609,13 @@ SelectMenuItem:
call HandleMenuInput
ld hl, hUILayoutFlags
res BIT_DOUBLE_SPACED_MENU, [hl]
- bit BIT_D_UP, a
+ bit B_PAD_UP, a
jp nz, SelectMenuItem_CursorUp
- bit BIT_D_DOWN, a
+ bit B_PAD_DOWN, a
jp nz, SelectMenuItem_CursorDown
- bit BIT_SELECT, a
+ bit B_PAD_SELECT, a
jp nz, SwapMovesInMenu
- bit BIT_B_BUTTON, a
+ bit B_PAD_B, a
push af
xor a
ld [wMenuItemToSwap], a
@@ -6373,9 +6373,9 @@ LoadPlayerBackPic:
ld de, vBackPic
call InterlaceMergeSpriteBuffers
ld a, $a
- ld [MBC1SRamEnable], a
+ ld [rRAMG], a
xor a
- ld [MBC1SRamBank], a
+ ld [rRAMB], a
ld hl, vSprites
ld de, sSpriteBuffer1
ldh a, [hLoadedROMBank]
@@ -6383,7 +6383,7 @@ LoadPlayerBackPic:
ld c, 7 * 7
call CopyVideoData
xor a
- ld [MBC1SRamEnable], a
+ ld [rRAMG], a
ld a, $31
ldh [hStartTileID], a
hlcoord 1, 5
@@ -6784,7 +6784,7 @@ DetermineWildOpponent:
bit BIT_DEBUG_MODE, a
jr z, .notDebugMode
ldh a, [hJoyHeld]
- bit BIT_B_BUTTON, a ; disable wild encounters
+ bit B_PAD_B, a ; disable wild encounters
ret nz
.notDebugMode
ld a, [wNumberOfNoRandomBattleStepsLeft]
diff --git a/engine/battle/ghost_marowak_anim.asm b/engine/battle/ghost_marowak_anim.asm
index b6275e52..4b1eb452 100644
--- a/engine/battle/ghost_marowak_anim.asm
+++ b/engine/battle/ghost_marowak_anim.asm
@@ -74,7 +74,7 @@ CopyMonPicFromBGToSpriteVRAM:
ld [hli], a
ld a, d
ld [hli], a
- ld a, OAM_OBP1
+ ld a, OAM_PAL1
ld [hli], a
inc d
dec c
diff --git a/engine/debug/debug_menu.asm b/engine/debug/debug_menu.asm
index 61c11c26..2946338f 100644
--- a/engine/debug/debug_menu.asm
+++ b/engine/debug/debug_menu.asm
@@ -31,7 +31,7 @@ IF DEF(_DEBUG)
ld a, TEXT_DELAY_MEDIUM
ld [wOptions], a
- ld a, A_BUTTON | B_BUTTON | START
+ ld a, PAD_A | PAD_B | PAD_START
ld [wMenuWatchedKeys], a
xor a
ld [wMenuJoypadPollCount], a
@@ -47,7 +47,7 @@ IF DEF(_DEBUG)
ld [wMenuWatchMovingOutOfBounds], a
call HandleMenuInput
- bit BIT_B_BUTTON, a
+ bit B_PAD_B, a
jp nz, DisplayTitleScreen
ld a, [wCurrentMenuItem]
diff --git a/engine/events/black_out.asm b/engine/events/black_out.asm
index 5b0459e2..ea8ca3bb 100644
--- a/engine/events/black_out.asm
+++ b/engine/events/black_out.asm
@@ -41,6 +41,6 @@ ResetStatusAndHalveMoneyOnBlackout::
set BIT_FLY_OR_DUNGEON_WARP, [hl]
res BIT_FLY_WARP, [hl]
set BIT_ESCAPE_WARP, [hl]
- ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_A | PAD_B | PAD_SELECT | PAD_START | PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
predef_jump HealParty
diff --git a/engine/events/cinnabar_lab.asm b/engine/events/cinnabar_lab.asm
index d8066fb8..23d057b3 100644
--- a/engine/events/cinnabar_lab.asm
+++ b/engine/events/cinnabar_lab.asm
@@ -3,7 +3,7 @@ GiveFossilToCinnabarLab::
set BIT_NO_TEXT_DELAY, [hl]
xor a
ld [wCurrentMenuItem], a
- ld a, A_BUTTON | B_BUTTON
+ ld a, PAD_A | PAD_B
ld [wMenuWatchedKeys], a
ld a, [wFilteredBagItemsCount]
dec a
@@ -27,7 +27,7 @@ GiveFossilToCinnabarLab::
ld hl, wStatusFlags5
res BIT_NO_TEXT_DELAY, [hl]
call HandleMenuInput
- bit BIT_B_BUTTON, a
+ bit B_PAD_B, a
jr nz, .cancelledGivingFossil
ld hl, wFilteredBagItems
ld a, [wCurrentMenuItem]
diff --git a/engine/events/hidden_objects/bills_house_pc.asm b/engine/events/hidden_objects/bills_house_pc.asm
index b4c0256d..3972e20c 100644
--- a/engine/events/hidden_objects/bills_house_pc.asm
+++ b/engine/events/hidden_objects/bills_house_pc.asm
@@ -73,7 +73,7 @@ BillsHousePokemonList::
ld [wMenuItemOffset], a ; not used
ld [wCurrentMenuItem], a
ld [wLastMenuItem], a
- ld a, A_BUTTON | B_BUTTON
+ ld a, PAD_A | PAD_B
ld [wMenuWatchedKeys], a
ld a, 4
ld [wMaxMenuItem], a
@@ -95,7 +95,7 @@ BillsHousePokemonList::
call PrintText
call SaveScreenTilesToBuffer2
call HandleMenuInput
- bit BIT_B_BUTTON, a
+ bit B_PAD_B, a
jr nz, .cancel
ld a, [wCurrentMenuItem]
add EEVEE
diff --git a/engine/events/hidden_objects/school_blackboard.asm b/engine/events/hidden_objects/school_blackboard.asm
index 4839af37..4ac83953 100644
--- a/engine/events/hidden_objects/school_blackboard.asm
+++ b/engine/events/hidden_objects/school_blackboard.asm
@@ -15,7 +15,7 @@ LinkCableHelp::
ld [wMenuItemOffset], a ; not used
ld [wCurrentMenuItem], a
ld [wLastMenuItem], a
- ld a, A_BUTTON | B_BUTTON
+ ld a, PAD_A | PAD_B
ld [wMenuWatchedKeys], a
ld a, 3
ld [wMaxMenuItem], a
@@ -36,7 +36,7 @@ LinkCableHelp::
ld hl, LinkCableHelpText2
call PrintText
call HandleMenuInput
- bit BIT_B_BUTTON, a
+ bit B_PAD_B, a
jr nz, .exit
ld a, [wCurrentMenuItem]
cp 3 ; pressed a on "STOP READING"
@@ -99,7 +99,7 @@ ViridianSchoolBlackboard::
ld [wMenuItemOffset], a
ld [wCurrentMenuItem], a
ld [wLastMenuItem], a
- ld a, D_LEFT | D_RIGHT | A_BUTTON | B_BUTTON
+ ld a, PAD_LEFT | PAD_RIGHT | PAD_A | PAD_B
ld [wMenuWatchedKeys], a
ld a, 2
ld [wMaxMenuItem], a
@@ -122,9 +122,9 @@ ViridianSchoolBlackboard::
ld hl, ViridianSchoolBlackboardText2
call PrintText
call HandleMenuInput ; pressing up and down is handled in here
- bit BIT_B_BUTTON, a ; pressed b
+ bit B_PAD_B, a ; pressed b
jr nz, .exitBlackboard
- bit BIT_D_RIGHT, a
+ bit B_PAD_RIGHT, a
jr z, .didNotPressRight
; move cursor to right column
ld a, 2
@@ -137,7 +137,7 @@ ViridianSchoolBlackboard::
ld [wMenuItemOffset], a
jr .blackboardLoop
.didNotPressRight
- bit BIT_D_LEFT, a
+ bit B_PAD_LEFT, a
jr z, .didNotPressLeftOrRight
; move cursor to left column
ld a, 2
diff --git a/engine/events/pewter_guys.asm b/engine/events/pewter_guys.asm
index 06bb60fb..029157e6 100644
--- a/engine/events/pewter_guys.asm
+++ b/engine/events/pewter_guys.asm
@@ -66,13 +66,13 @@ PewterMuseumGuyCoords:
dw .right
.down
- db D_UP, D_UP, $ff
+ db PAD_UP, PAD_UP, $ff
.up
- db D_RIGHT, D_LEFT, $ff
+ db PAD_RIGHT, PAD_LEFT, $ff
.left
- db D_UP, D_RIGHT, $ff
+ db PAD_UP, PAD_RIGHT, $ff
.right
- db D_UP, D_LEFT, $ff
+ db PAD_UP, PAD_LEFT, $ff
; these are the five coordinates which trigger the gym guy and pointers to
; different movements for the player to make to get positioned before the
@@ -91,12 +91,12 @@ PewterGymGuyCoords:
dw .five
.one
- db D_LEFT, D_DOWN, D_DOWN, D_RIGHT, $ff
+ db PAD_LEFT, PAD_DOWN, PAD_DOWN, PAD_RIGHT, $ff
.two
- db D_LEFT, D_DOWN, D_RIGHT, D_LEFT, $ff
+ db PAD_LEFT, PAD_DOWN, PAD_RIGHT, PAD_LEFT, $ff
.three
- db D_LEFT, D_LEFT, D_LEFT, $00, $00, $00, $00, $00, $00, $00, $00, $ff
+ db PAD_LEFT, PAD_LEFT, PAD_LEFT, $00, $00, $00, $00, $00, $00, $00, $00, $ff
.four
- db D_LEFT, D_LEFT, D_UP, D_LEFT, $ff
+ db PAD_LEFT, PAD_LEFT, PAD_UP, PAD_LEFT, $ff
.five
- db D_LEFT, D_DOWN, D_LEFT, $00, $00, $00, $00, $00, $00, $00, $00, $ff
+ db PAD_LEFT, PAD_DOWN, PAD_LEFT, $00, $00, $00, $00, $00, $00, $00, $00, $ff
diff --git a/engine/events/prize_menu.asm b/engine/events/prize_menu.asm
index 0e78653b..c73d7ab8 100644
--- a/engine/events/prize_menu.asm
+++ b/engine/events/prize_menu.asm
@@ -13,7 +13,7 @@ CeladonPrizeMenu::
xor a
ld [wCurrentMenuItem], a
ld [wLastMenuItem], a
- ld a, A_BUTTON | B_BUTTON
+ ld a, PAD_A | PAD_B
ld [wMenuWatchedKeys], a
ld a, $03
ld [wMaxMenuItem], a
@@ -31,7 +31,7 @@ CeladonPrizeMenu::
ld hl, WhichPrizeTextPtr
call PrintText
call HandleMenuInput ; menu choice handler
- bit BIT_B_BUTTON, a
+ bit B_PAD_B, a
jr nz, .noChoice
ld a, [wCurrentMenuItem]
cp 3 ; "NO,THANKS" choice
diff --git a/engine/events/vending_machine.asm b/engine/events/vending_machine.asm
index 1530b994..bdbcd9bb 100644
--- a/engine/events/vending_machine.asm
+++ b/engine/events/vending_machine.asm
@@ -7,7 +7,7 @@ VendingMachineMenu::
xor a
ld [wCurrentMenuItem], a
ld [wLastMenuItem], a
- ld a, A_BUTTON | B_BUTTON
+ ld a, PAD_A | PAD_B
ld [wMenuWatchedKeys], a
ld a, 3
ld [wMaxMenuItem], a
@@ -31,7 +31,7 @@ VendingMachineMenu::
ld hl, wStatusFlags5
res BIT_NO_TEXT_DELAY, [hl]
call HandleMenuInput
- bit BIT_B_BUTTON, a
+ bit B_PAD_B, a
jr nz, .notThirsty
ld a, [wCurrentMenuItem]
cp 3 ; chose Cancel?
diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm
index 98f1b066..8a96c517 100644
--- a/engine/items/item_effects.asm
+++ b/engine/items/item_effects.asm
@@ -727,15 +727,15 @@ ItemUseSurfboard:
.makePlayerMoveForward
ld a, [wPlayerDirection] ; direction the player is going
bit PLAYER_DIR_BIT_UP, a
- ld b, D_UP
+ ld b, PAD_UP
jr nz, .storeSimulatedButtonPress
bit PLAYER_DIR_BIT_DOWN, a
- ld b, D_DOWN
+ ld b, PAD_DOWN
jr nz, .storeSimulatedButtonPress
bit PLAYER_DIR_BIT_LEFT, a
- ld b, D_LEFT
+ ld b, PAD_LEFT
jr nz, .storeSimulatedButtonPress
- ld b, D_RIGHT
+ ld b, PAD_RIGHT
.storeSimulatedButtonPress
ld a, b
ld [wSimulatedJoypadStatesEnd], a
diff --git a/engine/items/town_map.asm b/engine/items/town_map.asm
index 18903294..227ee033 100644
--- a/engine/items/town_map.asm
+++ b/engine/items/town_map.asm
@@ -71,13 +71,13 @@ DisplayTownMap:
call JoypadLowSensitivity
ldh a, [hJoy5]
ld b, a
- and A_BUTTON | B_BUTTON | D_UP | D_DOWN
+ and PAD_A | PAD_B | PAD_UP | PAD_DOWN
jr z, .inputLoop
ld a, SFX_TINK
call PlaySound
- bit BIT_D_UP, b
+ bit B_PAD_UP, b
jr nz, .pressedUp
- bit BIT_D_DOWN, b
+ bit B_PAD_DOWN, b
jr nz, .pressedDown
xor a
ld [wTownMapSpriteBlinkingEnabled], a
@@ -194,15 +194,15 @@ LoadTownMap_Fly::
ldh a, [hJoy5]
ld b, a
pop hl
- and A_BUTTON | B_BUTTON | D_UP | D_DOWN
+ and PAD_A | PAD_B | PAD_UP | PAD_DOWN
jr z, .inputLoop
- bit BIT_A_BUTTON, b
+ bit B_PAD_A, b
jr nz, .pressedA
ld a, SFX_TINK
call PlaySound
- bit BIT_D_UP, b
+ bit B_PAD_UP, b
jr nz, .pressedUp
- bit BIT_D_DOWN, b
+ bit B_PAD_DOWN, b
jr nz, .pressedDown
jr .pressedB
.pressedA
@@ -367,7 +367,7 @@ DrawPlayerOrBirdSprite:
jr nz, .loop
ld hl, wShadowOAM
ld de, wShadowOAMBackup
- ld bc, NUM_SPRITE_OAM_STRUCTS * 4
+ ld bc, OAM_COUNT * 4
jp CopyData
DisplayWildLocations:
@@ -415,7 +415,7 @@ DisplayWildLocations:
.done
ld hl, wShadowOAM
ld de, wShadowOAMBackup
- ld bc, NUM_SPRITE_OAM_STRUCTS * 4
+ ld bc, OAM_COUNT * 4
jp CopyData
AreaUnknownText:
@@ -511,7 +511,7 @@ WriteSymmetricMonPartySpriteOAM:
ld [hli], a ; tile
ld a, [wSymmetricSpriteOAMAttributes]
ld [hli], a ; attributes
- xor 1 << OAM_X_FLIP
+ xor OAM_XFLIP
ld [wSymmetricSpriteOAMAttributes], a
inc d
ld a, 8
@@ -604,13 +604,13 @@ TownMapSpriteBlinkingAnimation::
; show sprites when the counter reaches 50
ld hl, wShadowOAMBackup
ld de, wShadowOAM
- ld bc, (NUM_SPRITE_OAM_STRUCTS - 4) * 4
+ ld bc, (OAM_COUNT - 4) * 4
call CopyData
xor a
jr .done
.hideSprites
ld hl, wShadowOAM
- ld b, NUM_SPRITE_OAM_STRUCTS - 4
+ ld b, OAM_COUNT - 4
ld de, $4
.hideSpritesLoop
ld [hl], $a0
diff --git a/engine/joypad.asm b/engine/joypad.asm
index 63b09a87..2cb0d8db 100644
--- a/engine/joypad.asm
+++ b/engine/joypad.asm
@@ -3,7 +3,7 @@ _Joypad::
; hJoyPressed: (hJoyLast ^ hJoyInput) & hJoyInput
ldh a, [hJoyInput]
- cp A_BUTTON + B_BUTTON + SELECT + START ; soft reset
+ cp PAD_A + PAD_B + PAD_SELECT + PAD_START ; soft reset
jp z, TrySoftReset
ld b, a
diff --git a/engine/link/cable_club.asm b/engine/link/cable_club.asm
index 2bf36f18..872e9b9c 100644
--- a/engine/link/cable_club.asm
+++ b/engine/link/cable_club.asm
@@ -110,16 +110,16 @@ CableClub_DoBattleOrTradeAgain:
call Delay3
xor a
ldh [hSerialSendData], a
- ld a, START_TRANSFER_INTERNAL_CLOCK
+ ld a, SC_START | SC_INTERNAL
ldh [rSC], a
call DelayFrame
xor a
ldh [hSerialSendData], a
- ld a, START_TRANSFER_INTERNAL_CLOCK
+ ld a, SC_START | SC_INTERNAL
ldh [rSC], a
.skipSendingTwoZeroBytes
call Delay3
- ld a, 1 << SERIAL
+ ld a, IE_SERIAL
ldh [rIE], a
ld hl, wSerialRandomNumberListBlock
ld de, wSerialOtherGameboyRandomNumberListBlock
@@ -140,7 +140,7 @@ CableClub_DoBattleOrTradeAgain:
ld bc, 200
vc_hook Wireless_ExchangeBytes_patch_lists
call Serial_ExchangeBytes
- ld a, (1 << SERIAL) | (1 << TIMER) | (1 << VBLANK)
+ ld a, IE_SERIAL | IE_TIMER | IE_VBLANK
ldh [rIE], a
ld a, SFX_STOP_ALL_MUSIC
call PlaySound
@@ -332,7 +332,7 @@ TradeCenter_SelectMon:
ld [wMenuWatchMovingOutOfBounds], a
inc a
ld [wWhichTradeMonSelectionMenu], a
- ld a, D_DOWN | D_LEFT | A_BUTTON
+ ld a, PAD_DOWN | PAD_LEFT | PAD_A
ld [wMenuWatchedKeys], a
ld a, [wEnemyPartyCount]
ld [wMaxMenuItem], a
@@ -348,7 +348,7 @@ TradeCenter_SelectMon:
res BIT_DOUBLE_SPACED_MENU, [hl]
and a
jp z, .getNewInput
- bit BIT_A_BUTTON, a
+ bit B_PAD_A, a
jr z, .enemyMonMenu_ANotPressed
; if A button pressed
ld a, [wMaxMenuItem]
@@ -367,7 +367,7 @@ TradeCenter_SelectMon:
call TradeCenter_DisplayStats
jp .getNewInput
.enemyMonMenu_ANotPressed
- bit BIT_D_LEFT, a
+ bit B_PAD_LEFT, a
jr z, .enemyMonMenu_LeftNotPressed
; if Left pressed, switch back to the player mon menu
xor a ; player mon menu
@@ -387,14 +387,14 @@ TradeCenter_SelectMon:
ld [wCurrentMenuItem], a
jr .playerMonMenu
.enemyMonMenu_LeftNotPressed
- bit BIT_D_DOWN, a
+ bit B_PAD_DOWN, a
jp z, .getNewInput
jp .selectedCancelMenuItem ; jump if Down pressed
.playerMonMenu
xor a ; player mon menu
ld [wWhichTradeMonSelectionMenu], a
ld [wMenuWatchMovingOutOfBounds], a
- ld a, D_DOWN | D_RIGHT | A_BUTTON
+ ld a, PAD_DOWN | PAD_RIGHT | PAD_A
ld [wMenuWatchedKeys], a
ld a, [wPartyCount]
ld [wMaxMenuItem], a
@@ -415,7 +415,7 @@ TradeCenter_SelectMon:
jr nz, .playerMonMenu_SomethingPressed
jp .getNewInput
.playerMonMenu_SomethingPressed
- bit BIT_A_BUTTON, a
+ bit B_PAD_A, a
jr z, .playerMonMenu_ANotPressed
jp .chosePlayerMon ; jump if A button pressed
; unreachable code
@@ -425,7 +425,7 @@ TradeCenter_SelectMon:
call TradeCenter_DisplayStats
jp .getNewInput
.playerMonMenu_ANotPressed
- bit BIT_D_RIGHT, a
+ bit B_PAD_RIGHT, a
jr z, .playerMonMenu_RightNotPressed
; if Right pressed, switch to the enemy mon menu
ld a, $1 ; enemy mon menu
@@ -447,7 +447,7 @@ TradeCenter_SelectMon:
.notPastLastEnemyMon
jp .enemyMonMenu
.playerMonMenu_RightNotPressed
- bit BIT_D_DOWN, a
+ bit B_PAD_DOWN, a
jr z, .getNewInput
jp .selectedCancelMenuItem ; jump if Down pressed
.getNewInput
@@ -484,14 +484,14 @@ TradeCenter_SelectMon:
.selectStatsMenuItem
ld a, " "
ldcoord_a 11, 16
- ld a, D_RIGHT | B_BUTTON | A_BUTTON
+ ld a, PAD_RIGHT | PAD_B | PAD_A
ld [wMenuWatchedKeys], a
ld a, 1
ld [wTopMenuItemX], a
call HandleMenuInput
- bit BIT_D_RIGHT, a
+ bit B_PAD_RIGHT, a
jr nz, .selectTradeMenuItem
- bit BIT_B_BUTTON, a
+ bit B_PAD_B, a
jr z, .displayPlayerMonStats
.cancelPlayerMonChoice
pop af
@@ -501,14 +501,14 @@ TradeCenter_SelectMon:
.selectTradeMenuItem
ld a, " "
ldcoord_a 1, 16
- ld a, D_LEFT | B_BUTTON | A_BUTTON
+ ld a, PAD_LEFT | PAD_B | PAD_A
ld [wMenuWatchedKeys], a
ld a, 11
ld [wTopMenuItemX], a
call HandleMenuInput
- bit BIT_D_LEFT, a
+ bit B_PAD_LEFT, a
jr nz, .selectStatsMenuItem
- bit BIT_B_BUTTON, a
+ bit B_PAD_B, a
jr nz, .cancelPlayerMonChoice
jr .choseTrade
.displayPlayerMonStats
@@ -557,9 +557,9 @@ TradeCenter_SelectMon:
ldh a, [hJoy5]
and a ; pressed anything?
jr z, .cancelMenuItem_JoypadLoop
- bit BIT_A_BUTTON, a
+ bit B_PAD_A, a
jr nz, .cancelMenuItem_APressed
- bit BIT_D_UP, a
+ bit B_PAD_UP, a
jr z, .cancelMenuItem_JoypadLoop
; if Up pressed
ld a, " "
diff --git a/engine/link/cable_club_npc.asm b/engine/link/cable_club_npc.asm
index d88538b0..19e59eca 100644
--- a/engine/link/cable_club_npc.asm
+++ b/engine/link/cable_club_npc.asm
@@ -26,7 +26,7 @@ CableClubNPC::
ldh [rSB], a
xor a
ldh [hSerialReceiveData], a
- ld a, START_TRANSFER_EXTERNAL_CLOCK
+ ld a, SC_START | SC_EXTERNAL
; This vc_hook causes the Virtual Console to set [hSerialConnectionStatus] to
; USING_INTERNAL_CLOCK, which allows the player to proceed past the link
; receptionist's "Please wait." It assumes that hSerialConnectionStatus is at
@@ -43,7 +43,7 @@ CableClubNPC::
jr z, .failedToEstablishConnection
ld a, ESTABLISH_CONNECTION_WITH_INTERNAL_CLOCK
ldh [rSB], a
- ld a, START_TRANSFER_INTERNAL_CLOCK
+ ld a, SC_START | SC_INTERNAL
ldh [rSC], a
call DelayFrame
jr .establishConnectionLoop
@@ -158,6 +158,6 @@ CloseLinkConnection:
ldh [rSB], a
xor a
ldh [hSerialReceiveData], a
- ld a, START_TRANSFER_EXTERNAL_CLOCK
+ ld a, SC_START | SC_EXTERNAL
ldh [rSC], a
ret
diff --git a/engine/menus/draw_start_menu.asm b/engine/menus/draw_start_menu.asm
index c5b85952..7a048528 100644
--- a/engine/menus/draw_start_menu.asm
+++ b/engine/menus/draw_start_menu.asm
@@ -12,7 +12,7 @@ DrawStartMenu::
ld c, $08
.drawTextBoxBorder
call TextBoxBorder
- ld a, D_DOWN | D_UP | START | B_BUTTON | A_BUTTON
+ ld a, PAD_DOWN | PAD_UP | PAD_START | PAD_B | PAD_A
ld [wMenuWatchedKeys], a
ld a, $02
ld [wTopMenuItemY], a ; Y position of first menu choice
diff --git a/engine/menus/league_pc.asm b/engine/menus/league_pc.asm
index 03b1de6d..c8a8972f 100644
--- a/engine/menus/league_pc.asm
+++ b/engine/menus/league_pc.asm
@@ -57,7 +57,7 @@ LeaguePCShowTeam:
call LeaguePCShowMon
call WaitForTextScrollButtonPress
ldh a, [hJoyHeld]
- bit BIT_B_BUTTON, a
+ bit B_PAD_B, a
jr nz, .exit
ld hl, wHallOfFame + HOF_MON
ld de, wHallOfFame
diff --git a/engine/menus/main_menu.asm b/engine/menus/main_menu.asm
index 4b430f6a..44219b14 100644
--- a/engine/menus/main_menu.asm
+++ b/engine/menus/main_menu.asm
@@ -61,12 +61,12 @@ MainMenu:
ld [wTopMenuItemX], a
inc a
ld [wTopMenuItemY], a
- ld a, A_BUTTON | B_BUTTON | START
+ ld a, PAD_A | PAD_B | PAD_START
ld [wMenuWatchedKeys], a
ld a, [wSaveFileStatus]
ld [wMaxMenuItem], a
call HandleMenuInput
- bit BIT_B_BUTTON, a
+ bit B_PAD_B, a
jp nz, DisplayTitleScreen ; if so, go back to the title screen
ld c, 20
call DelayFrames
@@ -99,9 +99,9 @@ MainMenu:
ldh [hJoyHeld], a
call Joypad
ldh a, [hJoyHeld]
- bit BIT_A_BUTTON, a
+ bit B_PAD_A, a
jr nz, .pressedA
- bit BIT_B_BUTTON, a
+ bit B_PAD_B, a
jp nz, .mainMenuLoop
jr .inputLoop
.pressedA
@@ -166,7 +166,7 @@ LinkMenu:
ld a, 2
ld [hli], a
ASSERT wMaxMenuItem + 1 == wMenuWatchedKeys
- ASSERT 2 + 1 == A_BUTTON | B_BUTTON
+ ASSERT 2 + 1 == PAD_A | PAD_B
inc a
ld [hli], a
ASSERT wMenuWatchedKeys + 1 == wLastMenuItem
@@ -174,7 +174,7 @@ LinkMenu:
ld [hl], a
.waitForInputLoop
call HandleMenuInput
- and A_BUTTON | B_BUTTON
+ and PAD_A | PAD_B
add a
add a
ld b, a
@@ -224,14 +224,14 @@ LinkMenu:
jr nz, .skipStartingTransfer
call DelayFrame
call DelayFrame
- ld a, START_TRANSFER_INTERNAL_CLOCK
+ ld a, SC_START | SC_INTERNAL
ldh [rSC], a
.skipStartingTransfer
ld b, " "
ld c, " "
ld d, "â–·"
ld a, [wLinkMenuSelectionSendBuffer]
- and B_BUTTON << 2 ; was B button pressed?
+ and PAD_B << 2 ; was B button pressed?
jr nz, .updateCursorPosition
; A button was pressed
ld a, [wCurrentMenuItem]
@@ -254,7 +254,7 @@ LinkMenu:
call DelayFrames
call LoadScreenTilesFromBuffer1
ld a, [wLinkMenuSelectionSendBuffer]
- and B_BUTTON << 2 ; was B button pressed?
+ and PAD_B << 2 ; was B button pressed?
jr nz, .choseCancel ; cancel if B pressed
ld a, [wCurrentMenuItem]
cp $2
@@ -487,13 +487,13 @@ DisplayOptionMenu:
call JoypadLowSensitivity
ldh a, [hJoy5]
ld b, a
- and A_BUTTON | B_BUTTON | START | D_RIGHT | D_LEFT | D_UP | D_DOWN ; any key besides select pressed?
+ and PAD_A | PAD_B | PAD_START | PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN ; any key besides select pressed?
jr z, .getJoypadStateLoop
- bit BIT_B_BUTTON, b
+ bit B_PAD_B, b
jr nz, .exitMenu
- bit BIT_START, b
+ bit B_PAD_START, b
jr nz, .exitMenu
- bit BIT_A_BUTTON, b
+ bit B_PAD_A, b
jr z, .checkDirectionKeys
ld a, [wTopMenuItemY]
cp 16 ; is the cursor on Cancel?
@@ -508,9 +508,9 @@ DisplayOptionMenu:
jp .loop
.checkDirectionKeys
ld a, [wTopMenuItemY]
- bit BIT_D_DOWN, b
+ bit B_PAD_DOWN, b
jr nz, .downPressed
- bit BIT_D_UP, b
+ bit B_PAD_UP, b
jr nz, .upPressed
cp 8 ; cursor in Battle Animation section?
jr z, .cursorInBattleAnimation
@@ -519,7 +519,7 @@ DisplayOptionMenu:
cp 16 ; cursor on Cancel?
jr z, .loop
.cursorInTextSpeed
- bit BIT_D_LEFT, b
+ bit B_PAD_LEFT, b
jp nz, .pressedLeftInTextSpeed
jp .pressedRightInTextSpeed
.downPressed
@@ -699,11 +699,11 @@ CheckForPlayerNameInSRAM:
; Check if the player name data in SRAM has a string terminator character
; (indicating that a name may have been saved there) and return whether it does
; in carry.
- ld a, SRAM_ENABLE
- ld [MBC1SRamEnable], a
+ ld a, RAMG_SRAM_ENABLE
+ ld [rRAMG], a
ld a, $1
- ld [MBC1SRamBankingMode], a
- ld [MBC1SRamBank], a
+ ld [rBMODE], a
+ ld [rRAMB], a
ld b, NAME_LENGTH
ld hl, sPlayerName
.loop
@@ -714,13 +714,13 @@ CheckForPlayerNameInSRAM:
jr nz, .loop
; not found
xor a
- ld [MBC1SRamEnable], a
- ld [MBC1SRamBankingMode], a
+ ld [rRAMG], a
+ ld [rBMODE], a
and a
ret
.found
xor a
- ld [MBC1SRamEnable], a
- ld [MBC1SRamBankingMode], a
+ ld [rRAMG], a
+ ld [rBMODE], a
scf
ret
diff --git a/engine/menus/pc.asm b/engine/menus/pc.asm
index 33dd3c2c..b4571ac3 100644
--- a/engine/menus/pc.asm
+++ b/engine/menus/pc.asm
@@ -14,7 +14,7 @@ PCMainMenu:
ld hl, wMiscFlags
set BIT_NO_MENU_BUTTON_SOUND, [hl]
call HandleMenuInput
- bit BIT_B_BUTTON, a
+ bit B_PAD_B, a
jp nz, LogOff
ld a, [wMaxMenuItem]
cp 2
diff --git a/engine/menus/players_pc.asm b/engine/menus/players_pc.asm
index 402275b5..f2b7770b 100644
--- a/engine/menus/players_pc.asm
+++ b/engine/menus/players_pc.asm
@@ -39,7 +39,7 @@ PlayerPCMenu:
inc hl
ld a, 3
ld [hli], a ; wMaxMenuItem
- ld a, A_BUTTON | B_BUTTON
+ ld a, PAD_A | PAD_B
ld [hli], a ; wMenuWatchedKeys
xor a
ld [hl], a
@@ -50,7 +50,7 @@ PlayerPCMenu:
ld hl, WhatDoYouWantText
call PrintText
call HandleMenuInput
- bit BIT_B_BUTTON, a
+ bit B_PAD_B, a
jp nz, ExitPlayerPC
call PlaceUnfilledArrowMenuCursor
ld a, [wCurrentMenuItem]
diff --git a/engine/menus/pokedex.asm b/engine/menus/pokedex.asm
index 7710815b..1f58fd68 100644
--- a/engine/menus/pokedex.asm
+++ b/engine/menus/pokedex.asm
@@ -27,7 +27,7 @@ ShowPokedexMenu:
inc hl
ld a, 6
ld [hli], a ; max menu item ID
- ld [hl], D_LEFT | D_RIGHT | B_BUTTON | A_BUTTON
+ ld [hl], PAD_LEFT | PAD_RIGHT | PAD_B | PAD_A
call HandlePokedexListMenu
jr c, .goToSideMenu ; if the player chose a pokemon from the list
.exitPokedex
@@ -88,14 +88,14 @@ HandlePokedexSideMenu:
inc hl
ld a, 3
ld [hli], a ; max menu item ID
- ;ld a, A_BUTTON | B_BUTTON
+ ;ld a, PAD_A | PAD_B
ld [hli], a ; menu watched keys (A button and B button)
xor a
ld [hli], a ; old menu item ID
ld [wMenuWatchMovingOutOfBounds], a
.handleMenuInput
call HandleMenuInput
- bit BIT_B_BUTTON, a
+ bit B_PAD_B, a
ld b, 2
jr nz, .buttonBPressed
ld a, [wCurrentMenuItem]
@@ -284,10 +284,10 @@ HandlePokedexListMenu:
call Delay3
call GBPalNormal
call HandleMenuInput
- bit BIT_B_BUTTON, a
+ bit B_PAD_B, a
jp nz, .buttonBPressed
.checkIfUpPressed
- bit BIT_D_UP, a
+ bit B_PAD_UP, a
jr z, .checkIfDownPressed
.upPressed ; scroll up one row
ld a, [wListScrollOffset]
@@ -297,7 +297,7 @@ HandlePokedexListMenu:
ld [wListScrollOffset], a
jp .loop
.checkIfDownPressed
- bit BIT_D_DOWN, a
+ bit B_PAD_DOWN, a
jr z, .checkIfRightPressed
.downPressed ; scroll down one row
ld a, [wDexMaxSeenMon]
@@ -312,7 +312,7 @@ HandlePokedexListMenu:
ld [wListScrollOffset], a
jp .loop
.checkIfRightPressed
- bit BIT_D_RIGHT, a
+ bit B_PAD_RIGHT, a
jr z, .checkIfLeftPressed
.rightPressed ; scroll down 7 rows
ld a, [wDexMaxSeenMon]
@@ -330,7 +330,7 @@ HandlePokedexListMenu:
ld [wListScrollOffset], a
jp .loop
.checkIfLeftPressed ; scroll up 7 rows
- bit BIT_D_LEFT, a
+ bit B_PAD_LEFT, a
jr z, .buttonAPressed
.leftPressed
ld a, [wListScrollOffset]
@@ -400,7 +400,7 @@ ShowPokedexDataInternal:
ld hl, wStatusFlags2
set BIT_NO_AUDIO_FADE_OUT, [hl]
ld a, $33 ; 3/7 volume
- ldh [rNR50], a
+ ldh [rAUDVOL], a
call GBPalWhiteOut ; zero all palettes
call ClearScreen
ld a, [wPokedexNum]
@@ -574,7 +574,7 @@ ShowPokedexDataInternal:
.waitForButtonPress
call JoypadLowSensitivity
ldh a, [hJoy5]
- and A_BUTTON | B_BUTTON
+ and PAD_A | PAD_B
jr z, .waitForButtonPress
pop af
ldh [hTileAnimations], a
@@ -586,7 +586,7 @@ ShowPokedexDataInternal:
ld hl, wStatusFlags2
res BIT_NO_AUDIO_FADE_OUT, [hl]
ld a, $77 ; max volume
- ldh [rNR50], a
+ ldh [rAUDVOL], a
ret
HeightWeightText:
diff --git a/engine/menus/save.asm b/engine/menus/save.asm
index eeb4b9e8..fba1dc53 100644
--- a/engine/menus/save.asm
+++ b/engine/menus/save.asm
@@ -31,11 +31,11 @@ FileDataDestroyedText:
text_end
LoadSAV0:
- ld a, SRAM_ENABLE
- ld [MBC1SRamEnable], a
+ ld a, RAMG_SRAM_ENABLE
+ ld [rRAMG], a
ld a, $1
- ld [MBC1SRamBankingMode], a
- ld [MBC1SRamBank], a
+ ld [rBMODE], a
+ ld [rRAMB], a
; This vc_hook does not have to be in any particular location.
; It is defined here because it refers to the same labels as the two lines below.
vc_hook Unknown_save_limit
@@ -81,11 +81,11 @@ LoadSAV0:
jp SAVGoodChecksum
LoadSAV1:
- ld a, SRAM_ENABLE
- ld [MBC1SRamEnable], a
+ ld a, RAMG_SRAM_ENABLE
+ ld [rRAMG], a
ld a, $1
- ld [MBC1SRamBankingMode], a
- ld [MBC1SRamBank], a
+ ld [rBMODE], a
+ ld [rRAMB], a
ld hl, sGameData
ld bc, sGameDataEnd - sGameData
call SAVCheckSum
@@ -101,11 +101,11 @@ LoadSAV1:
jp SAVGoodChecksum
LoadSAV2:
- ld a, SRAM_ENABLE
- ld [MBC1SRamEnable], a
+ ld a, RAMG_SRAM_ENABLE
+ ld [rRAMG], a
ld a, $1
- ld [MBC1SRamBankingMode], a
- ld [MBC1SRamBank], a
+ ld [rBMODE], a
+ ld [rRAMB], a
ld hl, sGameData
ld bc, sGameDataEnd - sGameData
call SAVCheckSum
@@ -129,8 +129,8 @@ SAVBadCheckSum:
SAVGoodChecksum:
ld a, $0
- ld [MBC1SRamBankingMode], a
- ld [MBC1SRamEnable], a
+ ld [rBMODE], a
+ ld [rRAMG], a
ret
LoadSAVIgnoreBadCheckSum:
@@ -198,11 +198,11 @@ OlderFileWillBeErasedText:
text_end
SaveSAVtoSRAM0:
- ld a, SRAM_ENABLE
- ld [MBC1SRamEnable], a
+ ld a, RAMG_SRAM_ENABLE
+ ld [rRAMG], a
ld a, $1
- ld [MBC1SRamBankingMode], a
- ld [MBC1SRamBank], a
+ ld [rBMODE], a
+ ld [rRAMB], a
ld hl, wPlayerName
ld de, sPlayerName
ld bc, NAME_LENGTH
@@ -226,17 +226,17 @@ SaveSAVtoSRAM0:
call SAVCheckSum
ld [sMainDataCheckSum], a
xor a
- ld [MBC1SRamBankingMode], a
- ld [MBC1SRamEnable], a
+ ld [rBMODE], a
+ ld [rRAMG], a
ret
SaveSAVtoSRAM1:
; stored pokémon
- ld a, SRAM_ENABLE
- ld [MBC1SRamEnable], a
+ ld a, RAMG_SRAM_ENABLE
+ ld [rRAMG], a
ld a, $1
- ld [MBC1SRamBankingMode], a
- ld [MBC1SRamBank], a
+ ld [rBMODE], a
+ ld [rRAMB], a
ld hl, wBoxDataStart
ld de, sCurBoxData
ld bc, wBoxDataEnd - wBoxDataStart
@@ -246,16 +246,16 @@ SaveSAVtoSRAM1:
call SAVCheckSum
ld [sMainDataCheckSum], a
xor a
- ld [MBC1SRamBankingMode], a
- ld [MBC1SRamEnable], a
+ ld [rBMODE], a
+ ld [rRAMG], a
ret
SaveSAVtoSRAM2:
- ld a, SRAM_ENABLE
- ld [MBC1SRamEnable], a
+ ld a, RAMG_SRAM_ENABLE
+ ld [rRAMG], a
ld a, $1
- ld [MBC1SRamBankingMode], a
- ld [MBC1SRamBank], a
+ ld [rBMODE], a
+ ld [rRAMB], a
ld hl, wPartyDataStart
ld de, sPartyData
ld bc, wPartyDataEnd - wPartyDataStart
@@ -269,8 +269,8 @@ SaveSAVtoSRAM2:
call SAVCheckSum
ld [sMainDataCheckSum], a
xor a
- ld [MBC1SRamBankingMode], a
- ld [MBC1SRamEnable], a
+ ld [rBMODE], a
+ ld [rRAMG], a
ret
SaveSAVtoSRAM::
@@ -358,7 +358,7 @@ ChangeBox::
call HandleMenuInput
ld hl, hUILayoutFlags
res BIT_DOUBLE_SPACED_MENU, [hl]
- bit BIT_B_BUTTON, a
+ bit B_PAD_B, a
ret nz
call GetBoxSRAMLocation
ld e, l
@@ -394,12 +394,12 @@ WhenYouChangeBoxText:
CopyBoxToOrFromSRAM:
; copy an entire box from hl to de with b as the SRAM bank
push hl
- ld a, SRAM_ENABLE
- ld [MBC1SRamEnable], a
+ ld a, RAMG_SRAM_ENABLE
+ ld [rRAMG], a
ld a, $1
- ld [MBC1SRamBankingMode], a
+ ld [rBMODE], a
ld a, b
- ld [MBC1SRamBank], a
+ ld [rRAMB], a
ld bc, wBoxDataEnd - wBoxDataStart
call CopyData
pop hl
@@ -416,14 +416,14 @@ CopyBoxToOrFromSRAM:
ld [sBank2AllBoxesChecksum], a ; sBank3AllBoxesChecksum
call CalcIndividualBoxCheckSums
xor a
- ld [MBC1SRamBankingMode], a
- ld [MBC1SRamEnable], a
+ ld [rBMODE], a
+ ld [rRAMG], a
ret
DisplayChangeBoxMenu:
xor a
ldh [hAutoBGTransferEnabled], a
- ld a, A_BUTTON | B_BUTTON
+ ld a, PAD_A | PAD_B
ld [wMenuWatchedKeys], a
ld a, 11
ld [wMaxMenuItem], a
@@ -515,19 +515,19 @@ BoxNoText:
EmptyAllSRAMBoxes:
; marks all boxes in SRAM as empty (initialisation for the first time the
; player changes the box)
- ld a, SRAM_ENABLE
- ld [MBC1SRamEnable], a
+ ld a, RAMG_SRAM_ENABLE
+ ld [rRAMG], a
ld a, $1
- ld [MBC1SRamBankingMode], a
+ ld [rBMODE], a
ld a, 2
- ld [MBC1SRamBank], a
+ ld [rRAMB], a
call EmptySRAMBoxesInBank
ld a, 3
- ld [MBC1SRamBank], a
+ ld [rRAMB], a
call EmptySRAMBoxesInBank
xor a
- ld [MBC1SRamBankingMode], a
- ld [MBC1SRamEnable], a
+ ld [rBMODE], a
+ ld [rRAMG], a
ret
EmptySRAMBoxesInBank:
@@ -561,19 +561,19 @@ EmptySRAMBox:
GetMonCountsForAllBoxes:
ld hl, wBoxMonCounts
push hl
- ld a, SRAM_ENABLE
- ld [MBC1SRamEnable], a
+ ld a, RAMG_SRAM_ENABLE
+ ld [rRAMG], a
ld a, $1
- ld [MBC1SRamBankingMode], a
+ ld [rBMODE], a
ld a, $2
- ld [MBC1SRamBank], a
+ ld [rRAMB], a
call GetMonCountsForBoxesInBank
ld a, $3
- ld [MBC1SRamBank], a
+ ld [rRAMB], a
call GetMonCountsForBoxesInBank
xor a
- ld [MBC1SRamBankingMode], a
- ld [MBC1SRamEnable], a
+ ld [rBMODE], a
+ ld [rRAMG], a
pop hl
; copy the count for the current box from WRAM
@@ -607,10 +607,10 @@ SAVCheckRandomID:
; and the two random numbers generated at game beginning
; (which are stored at wPlayerID)s
ld a, $0a
- ld [MBC1SRamEnable], a
+ ld [rRAMG], a
ld a, $01
- ld [MBC1SRamBankingMode], a
- ld [MBC1SRamBank], a
+ ld [rBMODE], a
+ ld [rRAMB], a
ld a, [sPlayerName]
and a
jr z, .next
@@ -632,8 +632,8 @@ SAVCheckRandomID:
cp h
.next
ld a, $00
- ld [MBC1SRamBankingMode], a
- ld [MBC1SRamEnable], a
+ ld [rBMODE], a
+ ld [rRAMG], a
ret
SaveHallOfFameTeams:
@@ -672,23 +672,23 @@ LoadHallOfFameTeams:
; fallthrough
HallOfFame_Copy:
- ld a, SRAM_ENABLE
- ld [MBC1SRamEnable], a
+ ld a, RAMG_SRAM_ENABLE
+ ld [rRAMG], a
ld a, $1
- ld [MBC1SRamBankingMode], a
+ ld [rBMODE], a
xor a
- ld [MBC1SRamBank], a
+ ld [rRAMB], a
call CopyData
xor a
- ld [MBC1SRamBankingMode], a
- ld [MBC1SRamEnable], a
+ ld [rBMODE], a
+ ld [rRAMG], a
ret
ClearSAV:
- ld a, SRAM_ENABLE
- ld [MBC1SRamEnable], a
+ ld a, RAMG_SRAM_ENABLE
+ ld [rRAMG], a
ld a, $1
- ld [MBC1SRamBankingMode], a
+ ld [rBMODE], a
xor a
call PadSRAM_FF
ld a, $1
@@ -698,12 +698,12 @@ ClearSAV:
ld a, $3
call PadSRAM_FF
xor a
- ld [MBC1SRamBankingMode], a
- ld [MBC1SRamEnable], a
+ ld [rBMODE], a
+ ld [rRAMG], a
ret
PadSRAM_FF:
- ld [MBC1SRamBank], a
+ ld [rRAMB], a
ld hl, STARTOF(SRAM)
ld bc, SIZEOF(SRAM)
ld a, $ff
diff --git a/engine/menus/start_sub_menus.asm b/engine/menus/start_sub_menus.asm
index a45dfc79..65f0b26e 100644
--- a/engine/menus/start_sub_menus.asm
+++ b/engine/menus/start_sub_menus.asm
@@ -57,7 +57,7 @@ StartMenu_Pokemon::
inc hl
ld a, b
ld [hli], a ; max menu item ID
- ld a, A_BUTTON | B_BUTTON
+ ld a, PAD_A | PAD_B
ld [hli], a ; menu watched keys
xor a
ld [hl], a
@@ -65,7 +65,7 @@ StartMenu_Pokemon::
push af
call LoadScreenTilesFromBuffer1 ; restore saved screen
pop af
- bit BIT_B_BUTTON, a
+ bit B_PAD_B, a
jp nz, .loop
; if the B button wasn't pressed
ld a, [wMaxMenuItem]
@@ -354,13 +354,13 @@ StartMenu_Item::
inc hl
inc a ; a = 1
ld [hli], a ; max menu item ID
- ld a, A_BUTTON | B_BUTTON
+ ld a, PAD_A | PAD_B
ld [hli], a ; menu watched keys
xor a
ld [hl], a ; old menu item id
call HandleMenuInput
call PlaceUnfilledArrowMenuCursor
- bit BIT_B_BUTTON, a
+ bit B_PAD_B, a
jr z, .useOrTossItem
jp ItemMenuLoop
.useOrTossItem ; if the player made the choice to use or toss the item
diff --git a/engine/menus/text_box.asm b/engine/menus/text_box.asm
index c21f8e6f..076b395f 100644
--- a/engine/menus/text_box.asm
+++ b/engine/menus/text_box.asm
@@ -157,7 +157,7 @@ DoBuySellQuitMenu:
ld a, BUY_SELL_QUIT_MENU_TEMPLATE
ld [wTextBoxID], a
call DisplayTextBoxID
- ld a, A_BUTTON | B_BUTTON
+ ld a, PAD_A | PAD_B
ld [wMenuWatchedKeys], a
ld a, $2
ld [wMaxMenuItem], a
@@ -174,9 +174,9 @@ DoBuySellQuitMenu:
ld [wStatusFlags5], a
call HandleMenuInput
call PlaceUnfilledArrowMenuCursor
- bit BIT_A_BUTTON, a
+ bit B_PAD_A, a
jr nz, .pressedA
- bit BIT_B_BUTTON, a ; always true since only A/B are watched
+ bit B_PAD_B, a ; always true since only A/B are watched
jr z, .pressedA
ld a, CANCELLED_MENU
ld [wMenuExitMethod], a
@@ -214,7 +214,7 @@ DisplayTwoOptionMenu:
ld [wChosenMenuItem], a
ld [wMenuExitMethod], a
- ld a, A_BUTTON | B_BUTTON
+ ld a, PAD_A | PAD_B
ld [wMenuWatchedKeys], a
ld a, $1
ld [wMaxMenuItem], a
@@ -296,7 +296,7 @@ DisplayTwoOptionMenu:
pop hl
.noYesMenuInputLoop
call HandleMenuInput
- bit BIT_B_BUTTON, a
+ bit B_PAD_B, a
jr nz, .noYesMenuInputLoop ; try again if B was not pressed
pop af
pop hl
@@ -309,7 +309,7 @@ DisplayTwoOptionMenu:
ld [wTwoOptionMenuID], a
call HandleMenuInput
pop hl
- bit BIT_B_BUTTON, a
+ bit B_PAD_B, a
jr nz, .choseSecondMenuItem ; automatically choose the second option if B is pressed
.pressedAButton
ld a, [wCurrentMenuItem]
diff --git a/engine/movie/evolution.asm b/engine/movie/evolution.asm
index 69463bfa..4258b94d 100644
--- a/engine/movie/evolution.asm
+++ b/engine/movie/evolution.asm
@@ -145,7 +145,7 @@ Evolution_CheckForCancel:
call JoypadLowSensitivity
ldh a, [hJoy5]
pop bc
- and B_BUTTON
+ and PAD_B
jr nz, .pressedB
.notAllowedToCancel
dec c
diff --git a/engine/movie/hall_of_fame.asm b/engine/movie/hall_of_fame.asm
index 231f3369..236cf516 100644
--- a/engine/movie/hall_of_fame.asm
+++ b/engine/movie/hall_of_fame.asm
@@ -12,7 +12,7 @@ AnimateHallOfFame:
call FillMemory
call EnableLCD
ld hl, rLCDC
- set rLCDC_BG_TILEMAP, [hl]
+ set B_LCDC_BG_MAP, [hl]
xor a
ld hl, wHallOfFame
ld bc, HOF_TEAM
@@ -88,7 +88,7 @@ AnimateHallOfFame:
xor a
ldh [hWY], a
ld hl, rLCDC
- res rLCDC_BG_TILEMAP, [hl]
+ res B_LCDC_BG_MAP, [hl]
ret
HallOfFameText:
diff --git a/engine/movie/intro.asm b/engine/movie/intro.asm
index facbfbaf..00316018 100644
--- a/engine/movie/intro.asm
+++ b/engine/movie/intro.asm
@@ -92,7 +92,7 @@ PlayIntroScene:
; hip
ld a, SFX_INTRO_HIP
call PlaySound
- ld a, (FightIntroFrontMon2 - FightIntroFrontMon) / LEN_2BPP_TILE
+ ld a, (FightIntroFrontMon2 - FightIntroFrontMon) / TILE_SIZE
ld [wIntroNidorinoBaseTile], a
ld de, IntroNidorinoAnimation3
call AnimateIntroNidorino
@@ -124,7 +124,7 @@ PlayIntroScene:
call CheckForUserInterruption
ret c
- ld a, (FightIntroFrontMon2 - FightIntroFrontMon) / LEN_2BPP_TILE
+ ld a, (FightIntroFrontMon2 - FightIntroFrontMon) / TILE_SIZE
ld [wIntroNidorinoBaseTile], a
ld de, IntroNidorinoAnimation6
call AnimateIntroNidorino
@@ -135,7 +135,7 @@ PlayIntroScene:
; lunge
ld a, SFX_INTRO_LUNGE
call PlaySound
- ld a, (FightIntroFrontMon3 - FightIntroFrontMon) / LEN_2BPP_TILE
+ ld a, (FightIntroFrontMon3 - FightIntroFrontMon) / TILE_SIZE
ld [wIntroNidorinoBaseTile], a
ld de, IntroNidorinoAnimation7
jp AnimateIntroNidorino
@@ -192,7 +192,7 @@ InitIntroNidorinoOAM:
ld [hli], a ; X
ld a, d
ld [hli], a ; tile
- ld a, OAM_BEHIND_BG
+ ld a, OAM_PRIO
ld [hli], a ; attributes
inc d
dec c
@@ -207,7 +207,7 @@ InitIntroNidorinoOAM:
IntroClearScreen:
ld hl, vBGMap1
- ld bc, BG_MAP_WIDTH * SCREEN_HEIGHT
+ ld bc, TILEMAP_WIDTH * SCREEN_HEIGHT
jr IntroClearCommon
IntroClearMiddleOfScreen:
@@ -318,8 +318,8 @@ PlayShootingStar:
call LoadIntroGraphics
call EnableLCD
ld hl, rLCDC
- res rLCDC_WINDOW_ENABLE, [hl]
- set rLCDC_BG_TILEMAP, [hl]
+ res B_LCDC_WINDOW, [hl]
+ set B_LCDC_BG_MAP, [hl]
ld c, 64
call DelayFrames
farcall AnimateShootingStar
@@ -350,10 +350,10 @@ IntroDrawBlackBars:
ld c, SCREEN_WIDTH * 4
call IntroPlaceBlackTiles
ld hl, vBGMap1
- ld c, BG_MAP_WIDTH * 4
+ ld c, TILEMAP_WIDTH * 4
call IntroPlaceBlackTiles
hlbgcoord 0, 14, vBGMap1
- ld c, BG_MAP_WIDTH * 4
+ ld c, TILEMAP_WIDTH * 4
jp IntroPlaceBlackTiles
LoadPresentsGraphic: ; unreferenced
diff --git a/engine/movie/oak_speech/oak_speech.asm b/engine/movie/oak_speech/oak_speech.asm
index 5c364435..02826b98 100644
--- a/engine/movie/oak_speech/oak_speech.asm
+++ b/engine/movie/oak_speech/oak_speech.asm
@@ -118,7 +118,7 @@ OakSpeech:
call PlaySound
pop af
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
ld c, 4
call DelayFrames
ld de, RedSprite
@@ -146,7 +146,7 @@ OakSpeech:
call PlaySound
pop af
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
ld c, 20
call DelayFrames
hlcoord 6, 5
diff --git a/engine/movie/oak_speech/oak_speech2.asm b/engine/movie/oak_speech/oak_speech2.asm
index 40c75f62..ceaa6838 100644
--- a/engine/movie/oak_speech/oak_speech2.asm
+++ b/engine/movie/oak_speech/oak_speech2.asm
@@ -177,7 +177,7 @@ DisplayIntroNameTextBox:
ld [wLastMenuItem], a
inc a
ld [wTopMenuItemX], a
- ld [wMenuWatchedKeys], a ; A_BUTTON
+ ld [wMenuWatchedKeys], a ; PAD_A
inc a
ld [wTopMenuItemY], a
inc a
diff --git a/engine/movie/splash.asm b/engine/movie/splash.asm
index 6e483e99..da3fec0d 100644
--- a/engine/movie/splash.asm
+++ b/engine/movie/splash.asm
@@ -146,7 +146,7 @@ AnimateShootingStar:
ret
SmallStarsOAM:
- dbsprite 0, 0, 0, 0, $A2, OAM_BEHIND_BG | OAM_OBP1
+ dbsprite 0, 0, 0, 0, $A2, OAM_PRIO | OAM_PAL1
SmallStarsOAMEnd:
SmallStarsWaveCoordsPointerTable:
@@ -228,10 +228,10 @@ GameFreakLogoOAMData:
GameFreakLogoOAMDataEnd:
GameFreakShootingStarOAMData:
- dbsprite 20, 0, 0, 0, $a0, OAM_OBP1
- dbsprite 21, 0, 0, 0, $a0, OAM_OBP1 | OAM_HFLIP
- dbsprite 20, 1, 0, 0, $a1, OAM_OBP1
- dbsprite 21, 1, 0, 0, $a1, OAM_OBP1 | OAM_HFLIP
+ dbsprite 20, 0, 0, 0, $a0, OAM_PAL1
+ dbsprite 21, 0, 0, 0, $a0, OAM_PAL1 | OAM_XFLIP
+ dbsprite 20, 1, 0, 0, $a1, OAM_PAL1
+ dbsprite 21, 1, 0, 0, $a1, OAM_PAL1 | OAM_XFLIP
GameFreakShootingStarOAMDataEnd:
FallingStar:
diff --git a/engine/movie/title.asm b/engine/movie/title.asm
index bad1df92..83fb32e8 100644
--- a/engine/movie/title.asm
+++ b/engine/movie/title.asm
@@ -254,12 +254,12 @@ ENDC
call LoadGBPal
ldh a, [hJoyHeld]
ld b, a
- and D_UP | SELECT | B_BUTTON
- cp D_UP | SELECT | B_BUTTON
+ and PAD_UP | PAD_SELECT | PAD_B
+ cp PAD_UP | PAD_SELECT | PAD_B
jp z, .doClearSaveDialogue
IF DEF(_DEBUG)
ld a, b
- bit BIT_SELECT, a
+ bit B_PAD_SELECT, a
jp nz, DebugMenu
ENDC
jp MainMenu
diff --git a/engine/movie/trade.asm b/engine/movie/trade.asm
index fd1c6ac1..f2ae9bb7 100644
--- a/engine/movie/trade.asm
+++ b/engine/movie/trade.asm
@@ -347,9 +347,9 @@ Trade_AnimateBallEnteringLinkCable:
Trade_BallInsideLinkCableOAMBlock:
db $7e, 0
- db $7e, OAM_HFLIP
- db $7e, OAM_VFLIP
- db $7e, OAM_HFLIP | OAM_VFLIP
+ db $7e, OAM_XFLIP
+ db $7e, OAM_YFLIP
+ db $7e, OAM_XFLIP | OAM_YFLIP
Trade_ShowEnemyMon:
ld a, TRADE_BALL_TILT_ANIM
@@ -712,28 +712,28 @@ Trade_CircleOAMBlocks:
trade_circle_oam_block .OAMBlock3, 24, 24
.OAMBlock0:
- db ICON_TRADEBUBBLE << 2 + 0, OAM_OBP1
- db ICON_TRADEBUBBLE << 2 + 1, OAM_OBP1
- db ICON_TRADEBUBBLE << 2 + 2, OAM_OBP1
- db ICON_TRADEBUBBLE << 2 + 3, OAM_OBP1
+ db ICON_TRADEBUBBLE << 2 + 0, OAM_PAL1
+ db ICON_TRADEBUBBLE << 2 + 1, OAM_PAL1
+ db ICON_TRADEBUBBLE << 2 + 2, OAM_PAL1
+ db ICON_TRADEBUBBLE << 2 + 3, OAM_PAL1
.OAMBlock1:
- db ICON_TRADEBUBBLE << 2 + 1, OAM_OBP1 | OAM_HFLIP
- db ICON_TRADEBUBBLE << 2 + 0, OAM_OBP1 | OAM_HFLIP
- db ICON_TRADEBUBBLE << 2 + 3, OAM_OBP1 | OAM_HFLIP
- db ICON_TRADEBUBBLE << 2 + 2, OAM_OBP1 | OAM_HFLIP
+ db ICON_TRADEBUBBLE << 2 + 1, OAM_PAL1 | OAM_XFLIP
+ db ICON_TRADEBUBBLE << 2 + 0, OAM_PAL1 | OAM_XFLIP
+ db ICON_TRADEBUBBLE << 2 + 3, OAM_PAL1 | OAM_XFLIP
+ db ICON_TRADEBUBBLE << 2 + 2, OAM_PAL1 | OAM_XFLIP
.OAMBlock2:
- db ICON_TRADEBUBBLE << 2 + 2, OAM_OBP1 | OAM_VFLIP
- db ICON_TRADEBUBBLE << 2 + 3, OAM_OBP1 | OAM_VFLIP
- db ICON_TRADEBUBBLE << 2 + 0, OAM_OBP1 | OAM_VFLIP
- db ICON_TRADEBUBBLE << 2 + 1, OAM_OBP1 | OAM_VFLIP
+ db ICON_TRADEBUBBLE << 2 + 2, OAM_PAL1 | OAM_YFLIP
+ db ICON_TRADEBUBBLE << 2 + 3, OAM_PAL1 | OAM_YFLIP
+ db ICON_TRADEBUBBLE << 2 + 0, OAM_PAL1 | OAM_YFLIP
+ db ICON_TRADEBUBBLE << 2 + 1, OAM_PAL1 | OAM_YFLIP
.OAMBlock3:
- db ICON_TRADEBUBBLE << 2 + 3, OAM_OBP1 | OAM_HFLIP | OAM_VFLIP
- db ICON_TRADEBUBBLE << 2 + 2, OAM_OBP1 | OAM_HFLIP | OAM_VFLIP
- db ICON_TRADEBUBBLE << 2 + 1, OAM_OBP1 | OAM_HFLIP | OAM_VFLIP
- db ICON_TRADEBUBBLE << 2 + 0, OAM_OBP1 | OAM_HFLIP | OAM_VFLIP
+ db ICON_TRADEBUBBLE << 2 + 3, OAM_PAL1 | OAM_XFLIP | OAM_YFLIP
+ db ICON_TRADEBUBBLE << 2 + 2, OAM_PAL1 | OAM_XFLIP | OAM_YFLIP
+ db ICON_TRADEBUBBLE << 2 + 1, OAM_PAL1 | OAM_XFLIP | OAM_YFLIP
+ db ICON_TRADEBUBBLE << 2 + 0, OAM_PAL1 | OAM_XFLIP | OAM_YFLIP
; a = species
Trade_LoadMonSprite:
diff --git a/engine/overworld/auto_movement.asm b/engine/overworld/auto_movement.asm
index 0452176e..880f14a4 100644
--- a/engine/overworld/auto_movement.asm
+++ b/engine/overworld/auto_movement.asm
@@ -3,13 +3,13 @@ PlayerStepOutFromDoor::
res BIT_EXITING_DOOR, [hl]
call IsPlayerStandingOnDoorTile
jr nc, .notStandingOnDoor
- ld a, SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_SELECT | PAD_START | PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ld hl, wMovementFlags
set BIT_EXITING_DOOR, [hl]
ld a, $1
ld [wSimulatedJoypadStatesIndex], a
- ld a, D_DOWN
+ ld a, PAD_DOWN
ld [wSimulatedJoypadStatesEnd], a
xor a
ld [wSpritePlayerStateData1ImageIndex], a
@@ -81,7 +81,7 @@ PalletMovementScript_OakMoveLeft:
.done
ld hl, wStatusFlags7
set BIT_NO_MAP_MUSIC, [hl]
- ld a, SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_SELECT | PAD_START | PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ret
@@ -137,11 +137,11 @@ RLEList_ProfOakWalkToLab:
db -1 ; end
RLEList_PlayerWalkToLab:
- db D_UP, 2
- db D_RIGHT, 3
- db D_DOWN, 5
- db D_LEFT, 1
- db D_DOWN, 6
+ db PAD_UP, 2
+ db PAD_RIGHT, 3
+ db PAD_DOWN, 5
+ db PAD_LEFT, 1
+ db PAD_DOWN, 6
db -1 ; end
PalletMovementScript_Done:
@@ -191,9 +191,9 @@ PewterMovementScript_WalkToMuseum:
RLEList_PewterMuseumPlayer:
db NO_INPUT, 1
- db D_UP, 3
- db D_LEFT, 13
- db D_UP, 6
+ db PAD_UP, 3
+ db PAD_LEFT, 13
+ db PAD_UP, 6
db -1 ; end
RLEList_PewterMuseumGuy:
@@ -250,11 +250,11 @@ PewterMovementScript_WalkToGym:
RLEList_PewterGymPlayer:
db NO_INPUT, 1
- db D_RIGHT, 2
- db D_DOWN, 5
- db D_LEFT, 11
- db D_UP, 5
- db D_LEFT, 15
+ db PAD_RIGHT, 2
+ db PAD_DOWN, 5
+ db PAD_LEFT, 11
+ db PAD_UP, 5
+ db PAD_LEFT, 15
db -1 ; end
RLEList_PewterGymGuy:
diff --git a/engine/overworld/cut.asm b/engine/overworld/cut.asm
index 2f839f8c..93902b51 100644
--- a/engine/overworld/cut.asm
+++ b/engine/overworld/cut.asm
@@ -124,10 +124,10 @@ WriteCutOrBoulderDustAnimationOAMBlock:
.OAMBlock:
; tile ID, attributes
- db $fc, OAM_OBP1
- db $fd, OAM_OBP1
- db $fe, OAM_OBP1
- db $ff, OAM_OBP1
+ db $fc, OAM_PAL1
+ db $fd, OAM_PAL1
+ db $fe, OAM_PAL1
+ db $ff, OAM_PAL1
GetCutOrBoulderDustAnimationOffsets:
ld hl, wSpritePlayerStateData1YPixels
diff --git a/engine/overworld/healing_machine.asm b/engine/overworld/healing_machine.asm
index e297762c..273b9bb0 100644
--- a/engine/overworld/healing_machine.asm
+++ b/engine/overworld/healing_machine.asm
@@ -67,14 +67,14 @@ PokeCenterFlashingMonitorAndHealBall:
PokeCenterOAMData:
; heal machine monitor
- dbsprite 6, 4, 4, 4, $7c, OAM_OBP1
+ dbsprite 6, 4, 4, 4, $7c, OAM_PAL1
; poke balls 1-6
- dbsprite 6, 5, 0, 3, $7d, OAM_OBP1
- dbsprite 7, 5, 0, 3, $7d, OAM_OBP1 | OAM_HFLIP
- dbsprite 6, 6, 0, 0, $7d, OAM_OBP1
- dbsprite 7, 6, 0, 0, $7d, OAM_OBP1 | OAM_HFLIP
- dbsprite 6, 6, 0, 5, $7d, OAM_OBP1
- dbsprite 7, 6, 0, 5, $7d, OAM_OBP1 | OAM_HFLIP
+ dbsprite 6, 5, 0, 3, $7d, OAM_PAL1
+ dbsprite 7, 5, 0, 3, $7d, OAM_PAL1 | OAM_XFLIP
+ dbsprite 6, 6, 0, 0, $7d, OAM_PAL1
+ dbsprite 7, 6, 0, 0, $7d, OAM_PAL1 | OAM_XFLIP
+ dbsprite 6, 6, 0, 5, $7d, OAM_PAL1
+ dbsprite 7, 6, 0, 5, $7d, OAM_PAL1 | OAM_XFLIP
; d = value to xor with palette
FlashSprite8Times:
diff --git a/engine/overworld/ledges.asm b/engine/overworld/ledges.asm
index d88cef76..a85fae26 100644
--- a/engine/overworld/ledges.asm
+++ b/engine/overworld/ledges.asm
@@ -39,7 +39,7 @@ HandleLedges::
ldh a, [hJoyHeld]
and e
ret z
- ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_A | PAD_B | PAD_SELECT | PAD_START | PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ld hl, wMovementFlags
set BIT_LEDGE_OR_FISHING, [hl]
@@ -73,7 +73,7 @@ LedgeHoppingShadowEnd:
LedgeHoppingShadowOAMBlock:
; tile ID, attributes
- db $ff, OAM_OBP1
- db $ff, OAM_HFLIP
- db $ff, OAM_VFLIP
- db $ff, OAM_HFLIP | OAM_VFLIP
+ db $ff, OAM_PAL1
+ db $ff, OAM_XFLIP
+ db $ff, OAM_YFLIP
+ db $ff, OAM_XFLIP | OAM_YFLIP
diff --git a/engine/overworld/movement.asm b/engine/overworld/movement.asm
index cb65c997..8d02f0fe 100644
--- a/engine/overworld/movement.asm
+++ b/engine/overworld/movement.asm
@@ -95,7 +95,7 @@ UpdatePlayerSprite:
cp c
ld a, 0
jr nz, .next2
- ld a, OAM_BEHIND_BG
+ ld a, OAM_PRIO
.next2
ld [wSpritePlayerStateData2GrassPriority], a
ret
@@ -549,7 +549,7 @@ CheckSpriteAvailability:
cp c
ld a, 0
jr nz, .notInGrass
- ld a, OAM_BEHIND_BG
+ ld a, OAM_PRIO
.notInGrass
ld [hl], a ; x#SPRITESTATEDATA2_GRASSPRIORITY
and a
diff --git a/engine/overworld/pathfinding.asm b/engine/overworld/pathfinding.asm
index 58fa1da9..878ca07d 100644
--- a/engine/overworld/pathfinding.asm
+++ b/engine/overworld/pathfinding.asm
@@ -191,10 +191,10 @@ ConvertNPCMovementDirectionToJoypadMask:
ret
NPCMovementDirectionsToJoypadMasksTable:
- db NPC_MOVEMENT_UP, D_UP
- db NPC_MOVEMENT_DOWN, D_DOWN
- db NPC_MOVEMENT_LEFT, D_LEFT
- db NPC_MOVEMENT_RIGHT, D_RIGHT
+ db NPC_MOVEMENT_UP, PAD_UP
+ db NPC_MOVEMENT_DOWN, PAD_DOWN
+ db NPC_MOVEMENT_LEFT, PAD_LEFT
+ db NPC_MOVEMENT_RIGHT, PAD_RIGHT
db $ff
; unreferenced
diff --git a/engine/overworld/player_animations.asm b/engine/overworld/player_animations.asm
index 210599da..c163b27e 100644
--- a/engine/overworld/player_animations.asm
+++ b/engine/overworld/player_animations.asm
@@ -473,7 +473,7 @@ FishingRodOAM:
dbsprite 9, 11, 4, 3, $fd, 0 ; down
dbsprite 9, 8, 4, 4, $fd, 0 ; up
dbsprite 8, 10, 0, 0, $fe, 0 ; left
- dbsprite 11, 10, 0, 0, $fe, OAM_HFLIP ; right
+ dbsprite 11, 10, 0, 0, $fe, OAM_XFLIP ; right
MACRO fishing_gfx
dw \1
diff --git a/engine/overworld/push_boulder.asm b/engine/overworld/push_boulder.asm
index 1773e818..54eecb21 100644
--- a/engine/overworld/push_boulder.asm
+++ b/engine/overworld/push_boulder.asm
@@ -28,7 +28,7 @@ TryPushingBoulder::
set BIT_TRIED_PUSH_BOULDER, [hl]
ret z ; the player must try pushing twice before the boulder will move
ldh a, [hJoyHeld]
- and D_RIGHT | D_LEFT | D_UP | D_DOWN
+ and PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ret z
predef CheckForCollisionWhenPushingBoulder
ld a, [wTileInFrontOfBoulderAndBoulderCollisionResult]
@@ -44,22 +44,22 @@ TryPushingBoulder::
cp SPRITE_FACING_RIGHT
jr z, .pushBoulderRight
.pushBoulderDown
- bit BIT_D_DOWN, b
+ bit B_PAD_DOWN, b
ret z
ld de, PushBoulderDownMovementData
jr .done
.pushBoulderUp
- bit BIT_D_UP, b
+ bit B_PAD_UP, b
ret z
ld de, PushBoulderUpMovementData
jr .done
.pushBoulderLeft
- bit BIT_D_LEFT, b
+ bit B_PAD_LEFT, b
ret z
ld de, PushBoulderLeftMovementData
jr .done
.pushBoulderRight
- bit BIT_D_RIGHT, b
+ bit B_PAD_RIGHT, b
ret z
ld de, PushBoulderRightMovementData
.done
diff --git a/engine/overworld/update_map.asm b/engine/overworld/update_map.asm
index dbf28dae..d98a0941 100644
--- a/engine/overworld/update_map.asm
+++ b/engine/overworld/update_map.asm
@@ -63,7 +63,7 @@ RedrawMapView:
ld a, [hli]
ld h, [hl]
ld l, a
- ld de, -2 * BG_MAP_WIDTH
+ ld de, -2 * TILEMAP_WIDTH
add hl, de
ld a, h
and $3
@@ -88,7 +88,7 @@ RedrawMapView:
jr nz, .calcWRAMAddrLoop
call CopyToRedrawRowOrColumnSrcTiles
pop hl
- ld de, BG_MAP_WIDTH
+ ld de, TILEMAP_WIDTH
ldh a, [hRedrawMapViewRowOffset]
ld c, a
.calcVRAMAddrLoop
diff --git a/engine/pokemon/bills_pc.asm b/engine/pokemon/bills_pc.asm
index 736c104c..ea21e8e2 100644
--- a/engine/pokemon/bills_pc.asm
+++ b/engine/pokemon/bills_pc.asm
@@ -72,7 +72,7 @@ DisplayPCMainMenu::
ld de, LogOffPCText
.next3
call PlaceString
- ld a, A_BUTTON | B_BUTTON
+ ld a, PAD_A | PAD_B
ld [wMenuWatchedKeys], a
ld a, 2
ld [wTopMenuItemY], a
@@ -135,7 +135,7 @@ BillsPCMenu:
inc hl
ld a, 4
ld [hli], a ; wMaxMenuItem
- ld a, A_BUTTON | B_BUTTON
+ ld a, PAD_A | PAD_B
ld [hli], a ; wMenuWatchedKeys
xor a
ld [hli], a ; wLastMenuItem
@@ -171,7 +171,7 @@ BillsPCMenu:
ldh [hAutoBGTransferEnabled], a
call Delay3
call HandleMenuInput
- bit BIT_B_BUTTON, a
+ bit B_PAD_B, a
jp nz, ExitBillsPC
call PlaceUnfilledArrowMenuCursor
ld a, [wCurrentMenuItem]
@@ -405,7 +405,7 @@ DisplayDepositWithdrawMenu:
inc hl
ld a, 2
ld [hli], a ; wMaxMenuItem
- ld a, A_BUTTON | B_BUTTON
+ ld a, PAD_A | PAD_B
ld [hli], a ; wMenuWatchedKeys
xor a
ld [hl], a ; wLastMenuItem
@@ -416,7 +416,7 @@ DisplayDepositWithdrawMenu:
ld [wPartyAndBillsPCSavedMenuItem], a
.loop
call HandleMenuInput
- bit BIT_B_BUTTON, a
+ bit B_PAD_B, a
jr nz, .exit
ld a, [wCurrentMenuItem]
and a
diff --git a/engine/pokemon/learn_move.asm b/engine/pokemon/learn_move.asm
index 819466a5..62ffeefd 100644
--- a/engine/pokemon/learn_move.asm
+++ b/engine/pokemon/learn_move.asm
@@ -143,7 +143,7 @@ TryingToLearn:
inc hl
ld a, [wNumMovesMinusOne]
ld [hli], a ; wMaxMenuItem
- ld a, A_BUTTON | B_BUTTON
+ ld a, PAD_A | PAD_B
ld [hli], a ; wMenuWatchedKeys
ld [hl], 0 ; wLastMenuItem
ld hl, hUILayoutFlags
@@ -155,7 +155,7 @@ TryingToLearn:
call LoadScreenTilesFromBuffer1
pop af
pop hl
- bit BIT_B_BUTTON, a
+ bit B_PAD_B, a
jr nz, .cancel
push hl
ld a, [wCurrentMenuItem]
diff --git a/engine/pokemon/status_screen.asm b/engine/pokemon/status_screen.asm
index 0649949c..a68f9b38 100644
--- a/engine/pokemon/status_screen.asm
+++ b/engine/pokemon/status_screen.asm
@@ -80,7 +80,7 @@ StatusScreen:
ld hl, wStatusFlags2
set BIT_NO_AUDIO_FADE_OUT, [hl]
ld a, $33
- ldh [rNR50], a ; Reduce the volume
+ ldh [rAUDVOL], a ; Reduce the volume
call GBPalWhiteOutWithDelay3
call ClearScreen
call UpdateSprites
@@ -433,7 +433,7 @@ StatusScreen2:
ld hl, wStatusFlags2
res BIT_NO_AUDIO_FADE_OUT, [hl]
ld a, $77
- ldh [rNR50], a
+ ldh [rAUDVOL], a
call GBPalWhiteOut
jp ClearScreen
diff --git a/engine/slots/slot_machine.asm b/engine/slots/slot_machine.asm
index ac6e642f..9dc32397 100644
--- a/engine/slots/slot_machine.asm
+++ b/engine/slots/slot_machine.asm
@@ -68,7 +68,7 @@ MainSlotMachineLoop:
call PrintText
call SaveScreenTilesToBuffer1
.loop
- ld a, A_BUTTON | B_BUTTON
+ ld a, PAD_A | PAD_B
ld [wMenuWatchedKeys], a
ld a, 2
ld [wMaxMenuItem], a
@@ -88,7 +88,7 @@ MainSlotMachineLoop:
ld de, CoinMultiplierSlotMachineText
call PlaceString
call HandleMenuInput
- and B_BUTTON
+ and PAD_B
jp nz, LoadScreenTilesFromBuffer1
ld a, [wCurrentMenuItem]
ld b, a
@@ -827,7 +827,7 @@ SlotMachine_HandleInputWhileWheelsSpin:
call DelayFrame
call JoypadLowSensitivity
ldh a, [hJoy5]
- and A_BUTTON
+ and PAD_A
ret z
ld hl, wStoppingWhichSlotMachineWheel
ld a, [hl]
diff --git a/home/audio.asm b/home/audio.asm
index c9d8b983..c01519f4 100644
--- a/home/audio.asm
+++ b/home/audio.asm
@@ -172,7 +172,7 @@ PlaySound::
ldh [hSavedROMBank], a
ld a, [wAudioROMBank]
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
cp BANK(Audio1_PlaySound)
jr nz, .checkForAudio2
; audio 1
@@ -195,7 +195,7 @@ PlaySound::
.next2
ldh a, [hSavedROMBank]
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
jr .done
.fadeOut
diff --git a/home/bankswitch.asm b/home/bankswitch.asm
index 52c8a45c..2ce363b7 100644
--- a/home/bankswitch.asm
+++ b/home/bankswitch.asm
@@ -6,14 +6,14 @@ BankswitchHome::
ld [wBankswitchHomeSavedROMBank], a
ld a, [wBankswitchHomeTemp]
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
ret
BankswitchBack::
; returns from BankswitchHome
ld a, [wBankswitchHomeSavedROMBank]
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
ret
Bankswitch::
@@ -23,7 +23,7 @@ Bankswitch::
push af
ld a, b
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
ld bc, .Return
push bc
jp hl
@@ -31,5 +31,5 @@ Bankswitch::
pop bc
ld a, b
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
ret
diff --git a/home/copy.asm b/home/copy.asm
index 880d1fb7..4bd1be50 100644
--- a/home/copy.asm
+++ b/home/copy.asm
@@ -5,11 +5,11 @@ FarCopyData::
push af
ld a, [wBuffer]
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
call CopyData
pop af
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
ret
CopyData::
diff --git a/home/copy2.asm b/home/copy2.asm
index 1c9a56f3..06c45b59 100644
--- a/home/copy2.asm
+++ b/home/copy2.asm
@@ -6,11 +6,11 @@ FarCopyData2::
push af
ldh a, [hROMBankTemp]
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
call CopyData
pop af
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
ret
FarCopyData3::
@@ -20,7 +20,7 @@ FarCopyData3::
push af
ldh a, [hROMBankTemp]
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
push hl
push de
push de
@@ -32,7 +32,7 @@ FarCopyData3::
pop hl
pop af
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
ret
FarCopyDataDouble::
@@ -43,7 +43,7 @@ FarCopyDataDouble::
push af
ldh a, [hROMBankTemp]
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
.loop
ld a, [hli]
ld [de], a
@@ -56,7 +56,7 @@ FarCopyDataDouble::
jr nz, .loop
pop af
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
ret
CopyVideoData::
@@ -74,7 +74,7 @@ CopyVideoData::
ld a, b
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
ld a, e
ldh [hVBlankCopySource], a
@@ -96,7 +96,7 @@ CopyVideoData::
call DelayFrame
ldh a, [hROMBankTemp]
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
pop af
ldh [hAutoBGTransferEnabled], a
ret
@@ -123,7 +123,7 @@ CopyVideoDataDouble::
ld a, b
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
ld a, e
ldh [hVBlankCopyDoubleSource], a
@@ -145,7 +145,7 @@ CopyVideoDataDouble::
call DelayFrame
ldh a, [hROMBankTemp]
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
pop af
ldh [hAutoBGTransferEnabled], a
ret
diff --git a/home/fade_audio.asm b/home/fade_audio.asm
index b09d0036..a78ee210 100644
--- a/home/fade_audio.asm
+++ b/home/fade_audio.asm
@@ -6,7 +6,7 @@ FadeOutAudio::
bit BIT_NO_AUDIO_FADE_OUT, a
ret nz
ld a, $77
- ldh [rNR50], a
+ ldh [rAUDVOL], a
ret
.fadingOut
ld a, [wAudioFadeOutCounter]
@@ -18,7 +18,7 @@ FadeOutAudio::
.counterReachedZero
ld a, [wAudioFadeOutCounterReloadValue]
ld [wAudioFadeOutCounter], a
- ldh a, [rNR50]
+ ldh a, [rAUDVOL]
and a ; has the volume reached 0?
jr z, .fadeOutComplete
ld b, a
@@ -31,7 +31,7 @@ FadeOutAudio::
dec a
swap a
or c
- ldh [rNR50], a
+ ldh [rAUDVOL], a
ret
.fadeOutComplete
ld a, [wAudioFadeOutControl]
diff --git a/home/hidden_objects.asm b/home/hidden_objects.asm
index 2e3510b0..bb513b9d 100644
--- a/home/hidden_objects.asm
+++ b/home/hidden_objects.asm
@@ -5,18 +5,18 @@ CheckForHiddenObjectOrBookshelfOrCardKeyDoor::
ldh a, [hLoadedROMBank]
push af
ldh a, [hJoyHeld]
- bit BIT_A_BUTTON, a
+ bit B_PAD_A, a
jr z, .nothingFound
; A button is pressed
ld a, BANK(CheckForHiddenObject)
- ld [MBC1RomBank], a
+ ld [rROMB], a
ldh [hLoadedROMBank], a
call CheckForHiddenObject
ldh a, [hDidntFindAnyHiddenObject]
and a
jr nz, .hiddenObjectNotFound
ld a, [wHiddenObjectFunctionRomBank]
- ld [MBC1RomBank], a
+ ld [rROMB], a
ldh [hLoadedROMBank], a
ld de, .returnAddress
push de
@@ -34,6 +34,6 @@ CheckForHiddenObjectOrBookshelfOrCardKeyDoor::
.done
ldh [hItemAlreadyFound], a
pop af
- ld [MBC1RomBank], a
+ ld [rROMB], a
ldh [hLoadedROMBank], a
ret
diff --git a/home/init.asm b/home/init.asm
index ab85192d..67fa3ab1 100644
--- a/home/init.asm
+++ b/home/init.asm
@@ -16,7 +16,7 @@ Init::
; * 8x8 OBJ size
; * OBJ display enabled
; * BG display enabled
-DEF rLCDC_DEFAULT EQU (1 << rLCDC_ENABLE) | (1 << rLCDC_WINDOW_TILEMAP) | (1 << rLCDC_WINDOW_ENABLE) | (1 << rLCDC_SPRITES_ENABLE) | (1 << rLCDC_BG_PRIORITY)
+DEF LCDC_DEFAULT EQU LCDC_ON | LCDC_WIN_9C00 | LCDC_WIN_ON | LCDC_BLOCK21 | LCDC_BG_9800 | LCDC_OBJ_8 | LCDC_OBJ_ON | LCDC_BG_ON
di
@@ -35,7 +35,7 @@ DEF rLCDC_DEFAULT EQU (1 << rLCDC_ENABLE) | (1 << rLCDC_WINDOW_TILEMAP) | (1 <<
ldh [rOBP0], a
ldh [rOBP1], a
- ld a, 1 << rLCDC_ENABLE
+ ld a, LCDC_ON
ldh [rLCDC], a
call DisableLCD
@@ -61,7 +61,7 @@ DEF rLCDC_DEFAULT EQU (1 << rLCDC_ENABLE) | (1 << rLCDC_WINDOW_TILEMAP) | (1 <<
ld a, BANK(WriteDMACodeToHRAM)
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
call WriteDMACodeToHRAM
xor a
@@ -70,7 +70,7 @@ DEF rLCDC_DEFAULT EQU (1 << rLCDC_ENABLE) | (1 << rLCDC_WINDOW_TILEMAP) | (1 <<
ldh [hSCX], a
ldh [hSCY], a
ldh [rIF], a
- ld a, 1 << VBLANK + 1 << TIMER + 1 << SERIAL
+ ld a, IE_VBLANK | IE_TIMER | IE_SERIAL
ldh [rIE], a
ld a, 144 ; move the window off-screen
@@ -87,7 +87,7 @@ DEF rLCDC_DEFAULT EQU (1 << rLCDC_ENABLE) | (1 << rLCDC_WINDOW_TILEMAP) | (1 <<
ld h, HIGH(vBGMap1)
call ClearBgMap
- ld a, rLCDC_DEFAULT
+ ld a, LCDC_DEFAULT
ldh [rLCDC], a
ld a, 16
ldh [hSoftReset], a
@@ -113,7 +113,7 @@ DEF rLCDC_DEFAULT EQU (1 << rLCDC_ENABLE) | (1 << rLCDC_WINDOW_TILEMAP) | (1 <<
call ClearVram
call GBPalNormal
call ClearSprites
- ld a, rLCDC_DEFAULT
+ ld a, LCDC_DEFAULT
ldh [rLCDC], a
jp PrepareTitleScreen
diff --git a/home/item.asm b/home/item.asm
index 9e7f02f9..693f041e 100644
--- a/home/item.asm
+++ b/home/item.asm
@@ -23,12 +23,12 @@ TossItem::
push af
ld a, BANK(TossItem_)
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
call TossItem_
pop de
ld a, d
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
ret
; checks if an item is a key item
diff --git a/home/item_price.asm b/home/item_price.asm
index a71f655f..96b1ef31 100644
--- a/home/item_price.asm
+++ b/home/item_price.asm
@@ -10,7 +10,7 @@ GetItemPrice::
ld a, $f ; hardcoded Bank
.ok
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
ld hl, wItemPrices
ld a, [hli]
ld h, [hl]
@@ -34,11 +34,11 @@ GetItemPrice::
.getTMPrice
ld a, BANK(GetMachinePrice)
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
call GetMachinePrice
.done
ld de, hItemPrice
pop af
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
ret
diff --git a/home/joypad2.asm b/home/joypad2.asm
index 139dd3f5..a07b9ee4 100644
--- a/home/joypad2.asm
+++ b/home/joypad2.asm
@@ -40,7 +40,7 @@ JoypadLowSensitivity::
.delayOver
; if [hJoy6] = 0 and A or B is pressed, report no buttons as pressed
ldh a, [hJoyHeld]
- and A_BUTTON | B_BUTTON
+ and PAD_A | PAD_B
jr z, .setShortDelay
ldh a, [hJoy6] ; flag
and a
@@ -74,7 +74,7 @@ WaitForTextScrollButtonPress::
call JoypadLowSensitivity
predef CableClub_Run
ldh a, [hJoy5]
- and A_BUTTON | B_BUTTON
+ and PAD_A | PAD_B
jr z, .loop
pop af
ldh [hDownArrowBlinkCount2], a
diff --git a/home/lcd.asm b/home/lcd.asm
index aef6d43f..1e9e8888 100644
--- a/home/lcd.asm
+++ b/home/lcd.asm
@@ -3,16 +3,16 @@ DisableLCD::
ldh [rIF], a
ldh a, [rIE]
ld b, a
- res rIE_VBLANK, a
+ res B_IE_VBLANK, a
ldh [rIE], a
.wait
ldh a, [rLY]
- cp LY_VBLANK
+ cp LY_VBLANK + 1
jr nz, .wait
ldh a, [rLCDC]
- and ~(1 << rLCDC_ENABLE)
+ and ~LCDC_ON
ldh [rLCDC], a
ld a, b
ldh [rIE], a
@@ -20,6 +20,6 @@ DisableLCD::
EnableLCD::
ldh a, [rLCDC]
- set rLCDC_ENABLE, a
+ set B_LCDC_ENABLE, a
ldh [rLCDC], a
ret
diff --git a/home/list_menu.asm b/home/list_menu.asm
index aae7caad..b7204e65 100644
--- a/home/list_menu.asm
+++ b/home/list_menu.asm
@@ -50,7 +50,7 @@ DisplayListMenuID::
ld [wTopMenuItemY], a
ld a, 5
ld [wTopMenuItemX], a
- ld a, A_BUTTON | B_BUTTON | SELECT
+ ld a, PAD_A | PAD_B | PAD_SELECT
ld [wMenuWatchedKeys], a
ld c, 10
call DelayFrames
@@ -84,7 +84,7 @@ DisplayListMenuIDLoop::
push af
call PlaceMenuCursor
pop af
- bit BIT_A_BUTTON, a
+ bit B_PAD_A, a
jp z, .checkOtherKeys
.buttonAPressed
ld a, [wCurrentMenuItem]
@@ -170,12 +170,12 @@ DisplayListMenuIDLoop::
res BIT_NO_TEXT_DELAY, [hl]
jp BankswitchBack
.checkOtherKeys ; check B, SELECT, Up, and Down keys
- bit BIT_B_BUTTON, a
+ bit B_PAD_B, a
jp nz, ExitListMenu ; if so, exit the menu
- bit BIT_SELECT, a
+ bit B_PAD_SELECT, a
jp nz, HandleItemListSwapping ; if so, allow the player to swap menu entries
ld b, a
- bit BIT_D_DOWN, b
+ bit B_PAD_DOWN, b
ld hl, wListScrollOffset
jr z, .upPressed
.downPressed
@@ -222,13 +222,13 @@ DisplayChooseQuantityMenu::
.waitForKeyPressLoop
call JoypadLowSensitivity
ldh a, [hJoyPressed] ; newly pressed buttons
- bit BIT_A_BUTTON, a
+ bit B_PAD_A, a
jp nz, .buttonAPressed
- bit BIT_B_BUTTON, a
+ bit B_PAD_B, a
jp nz, .buttonBPressed
- bit BIT_D_UP, a
+ bit B_PAD_UP, a
jr nz, .incrementQuantity
- bit BIT_D_DOWN, a
+ bit B_PAD_DOWN, a
jr nz, .decrementQuantity
jr .waitForKeyPressLoop
.incrementQuantity
diff --git a/home/load_font.asm b/home/load_font.asm
index 0f48e84c..e886f76e 100644
--- a/home/load_font.asm
+++ b/home/load_font.asm
@@ -1,6 +1,6 @@
LoadFontTilePatterns::
ldh a, [rLCDC]
- bit rLCDC_ENABLE, a
+ bit B_LCDC_ENABLE, a
jr nz, .on
.off
ld hl, FontGraphics
@@ -16,7 +16,7 @@ LoadFontTilePatterns::
LoadTextBoxTilePatterns::
ldh a, [rLCDC]
- bit rLCDC_ENABLE, a
+ bit B_LCDC_ENABLE, a
jr nz, .on
.off
ld hl, TextBoxGraphics
@@ -32,7 +32,7 @@ LoadTextBoxTilePatterns::
LoadHpBarAndStatusTilePatterns::
ldh a, [rLCDC]
- bit rLCDC_ENABLE, a
+ bit B_LCDC_ENABLE, a
jr nz, .on
.off
ld hl, HpBarAndStatusGraphics
diff --git a/home/names.asm b/home/names.asm
index 7330a065..5848cb19 100644
--- a/home/names.asm
+++ b/home/names.asm
@@ -4,7 +4,7 @@ GetMonName::
push af
ld a, BANK(MonsterNames)
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
ld a, [wNamedObjectIndex]
dec a
ld hl, MonsterNames
@@ -20,7 +20,7 @@ GetMonName::
pop de
pop af
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
pop hl
ret
diff --git a/home/names2.asm b/home/names2.asm
index 3bb6980c..7178e706 100644
--- a/home/names2.asm
+++ b/home/names2.asm
@@ -48,7 +48,7 @@ GetName::
; 2-7 = other names
ld a, [wPredefBank]
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
ld a, [wNameListType]
dec a
add a
@@ -96,5 +96,5 @@ GetName::
pop hl
pop af
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
ret
diff --git a/home/npc_movement.asm b/home/npc_movement.asm
index 96804fdf..ccbd78df 100644
--- a/home/npc_movement.asm
+++ b/home/npc_movement.asm
@@ -32,12 +32,12 @@ RunNPCMovementScript::
push af
ld a, [wNPCMovementScriptBank]
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
ld a, [wNPCMovementScriptFunctionNum]
call CallFunctionInTable
pop af
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
ret
.NPCMovementScriptPointerTables
@@ -58,9 +58,9 @@ IF DEF(_DEBUG)
bit BIT_DEBUG_MODE, a
ret z
ldh a, [hJoyHeld]
- bit BIT_B_BUTTON, a
+ bit B_PAD_B, a
ret nz
ldh a, [hJoyPressed]
- bit BIT_B_BUTTON, a
+ bit B_PAD_B, a
ENDC
ret
diff --git a/home/overworld.asm b/home/overworld.asm
index 9ca60c48..daa806d6 100644
--- a/home/overworld.asm
+++ b/home/overworld.asm
@@ -5,7 +5,7 @@ HandleMidJump::
EnterMap::
; Load a new map.
- ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_A | PAD_B | PAD_SELECT | PAD_START | PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
call LoadMapData
farcall ClearVariablesOnEnterMap
@@ -72,14 +72,14 @@ OverworldLoopLessDelay::
.notSimulating
ldh a, [hJoyPressed]
.checkIfStartIsPressed
- bit BIT_START, a
+ bit B_PAD_START, a
jr z, .startButtonNotPressed
; if START is pressed
xor a ; TEXT_START_MENU
ldh [hTextID], a
jp .displayDialogue
.startButtonNotPressed
- bit BIT_A_BUTTON, a
+ bit B_PAD_A, a
jp z, .checkIfDownButtonIsPressed
; if A is pressed
ld a, [wStatusFlags5]
@@ -146,7 +146,7 @@ OverworldLoopLessDelay::
.checkIfDownButtonIsPressed
ldh a, [hJoyHeld] ; current joypad state
- bit BIT_D_DOWN, a
+ bit B_PAD_DOWN, a
jr z, .checkIfUpButtonIsPressed
ld a, 1
ld [wSpritePlayerStateData1YStepVector], a
@@ -154,7 +154,7 @@ OverworldLoopLessDelay::
jr .handleDirectionButtonPress
.checkIfUpButtonIsPressed
- bit BIT_D_UP, a
+ bit B_PAD_UP, a
jr z, .checkIfLeftButtonIsPressed
ld a, -1
ld [wSpritePlayerStateData1YStepVector], a
@@ -162,7 +162,7 @@ OverworldLoopLessDelay::
jr .handleDirectionButtonPress
.checkIfLeftButtonIsPressed
- bit BIT_D_LEFT, a
+ bit B_PAD_LEFT, a
jr z, .checkIfRightButtonIsPressed
ld a, -1
ld [wSpritePlayerStateData1XStepVector], a
@@ -170,7 +170,7 @@ OverworldLoopLessDelay::
jr .handleDirectionButtonPress
.checkIfRightButtonIsPressed
- bit BIT_D_RIGHT, a
+ bit B_PAD_RIGHT, a
jr z, .noDirectionButtonsPressed
ld a, 1
ld [wSpritePlayerStateData1XStepVector], a
@@ -382,7 +382,7 @@ DoBikeSpeedup::
cp ROUTE_17 ; Cycling Road
jr nz, .goFaster
ldh a, [hJoyHeld]
- and D_UP | D_LEFT | D_RIGHT
+ and PAD_UP | PAD_LEFT | PAD_RIGHT
ret nz
.goFaster
jp AdvancePlayerSprite
@@ -432,7 +432,7 @@ CheckWarpsNoCollisionLoop::
pop bc
pop de
ldh a, [hJoyHeld]
- and D_DOWN | D_UP | D_LEFT | D_RIGHT
+ and PAD_DOWN | PAD_UP | PAD_LEFT | PAD_RIGHT
jr z, CheckWarpsNoCollisionRetry2 ; if directional buttons aren't being pressed, do not pass through the warp
jr WarpFound1
@@ -763,7 +763,7 @@ HandleBlackOut::
res BIT_BATTLE_OVER_OR_BLACKOUT, [hl]
ld a, BANK(ResetStatusAndHalveMoneyOnBlackout) ; also BANK(PrepareForSpecialWarp) and BANK(SpecialEnterMap)
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
call ResetStatusAndHalveMoneyOnBlackout
call PrepareForSpecialWarp
call PlayDefaultMusicFadeOutCurrent
@@ -794,7 +794,7 @@ HandleFlyWarpOrDungeonWarp::
call LeaveMapAnim
ld a, BANK(PrepareForSpecialWarp)
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
call PrepareForSpecialWarp
jp SpecialEnterMap
@@ -1352,7 +1352,7 @@ LoadCurrentMapView::
push af
ld a, [wTilesetBank] ; tile data ROM bank
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a ; switch to ROM bank that contains tile data
+ ld [rROMB], a ; switch to ROM bank that contains tile data
ld a, [wCurrentTileBlockMapViewPointer] ; address of upper left corner of current map view
ld e, a
ld a, [wCurrentTileBlockMapViewPointer + 1]
@@ -1434,7 +1434,7 @@ LoadCurrentMapView::
jr nz, .rowLoop2
pop af
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a ; restore previous ROM bank
+ ld [rROMB], a ; restore previous ROM bank
ret
AdvancePlayerSprite::
@@ -1828,9 +1828,9 @@ JoypadOverworld::
cp ROUTE_17 ; Cycling Road
jr nz, .notForcedDownwards
ldh a, [hJoyHeld]
- and D_DOWN | D_UP | D_LEFT | D_RIGHT | B_BUTTON | A_BUTTON
+ and PAD_DOWN | PAD_UP | PAD_LEFT | PAD_RIGHT | PAD_B | PAD_A
jr nz, .notForcedDownwards
- ld a, D_DOWN
+ ld a, PAD_DOWN
ldh [hJoyHeld], a ; on the cycling road, if there isn't a trainer and the player isn't pressing buttons, simulate a down press
.notForcedDownwards
ld a, [wStatusFlags5]
@@ -2266,7 +2266,7 @@ LoadMapHeader::
push af
ld a, BANK(MapSongBanks)
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
ld hl, MapSongBanks
add hl, bc
add hl, bc
@@ -2276,7 +2276,7 @@ LoadMapHeader::
ld [wMapMusicROMBank], a ; music 2
pop af
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
ret
; function to copy map connection data from ROM to WRAM
@@ -2324,7 +2324,7 @@ LoadMapData::
inc e
dec c
jr nz, .vramCopyInnerLoop
- ld a, BG_MAP_WIDTH - SCREEN_WIDTH
+ ld a, TILEMAP_WIDTH - SCREEN_WIDTH
add e
ld e, a
jr nc, .noCarry
@@ -2349,7 +2349,7 @@ LoadMapData::
.restoreRomBank
pop af
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
ret
; function to switch to the ROM bank that a map is stored in
@@ -2368,7 +2368,7 @@ SwitchToMapRomBank::
call BankswitchBack
ldh a, [hMapROMBank]
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
pop bc
pop hl
ret
@@ -2403,14 +2403,14 @@ CheckForUserInterruption::
pop bc
ldh a, [hJoyHeld]
- cp D_UP + SELECT + B_BUTTON
+ cp PAD_UP + PAD_SELECT + PAD_B
jr z, .input
ldh a, [hJoy5]
IF DEF(_DEBUG)
- and START | SELECT | A_BUTTON
+ and PAD_START | PAD_SELECT | PAD_A
ELSE
- and START | A_BUTTON
+ and PAD_START | PAD_A
ENDC
jr nz, .input
@@ -2433,7 +2433,7 @@ LoadDestinationWarpPosition::
push af
ld a, [wPredefParentBank]
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
ld a, b
add a
add a
@@ -2445,5 +2445,5 @@ LoadDestinationWarpPosition::
call CopyData
pop af
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
ret
diff --git a/home/pics.asm b/home/pics.asm
index 73ee35d7..ea34e3d5 100644
--- a/home/pics.asm
+++ b/home/pics.asm
@@ -93,7 +93,7 @@ LoadUncompressedSpriteData::
add a ; 8*(7*((8-w)/2) + 7-h) ; combined overall offset (in bytes)
ldh [hSpriteOffset], a
xor a
- ld [MBC1SRamBank], a
+ ld [rRAMB], a
ld hl, sSpriteBuffer0
call ZeroSpriteBuffer ; zero buffer 0
ld de, sSpriteBuffer1
@@ -151,7 +151,7 @@ ZeroSpriteBuffer::
; de: output address
InterlaceMergeSpriteBuffers::
xor a
- ld [MBC1SRamBank], a
+ ld [rRAMB], a
push de
ld hl, sSpriteBuffer2 + (SPRITEBUFFERSIZE - 1) ; destination: end of buffer 2
ld de, sSpriteBuffer1 + (SPRITEBUFFERSIZE - 1) ; source 2: end of buffer 1
diff --git a/home/pokemon.asm b/home/pokemon.asm
index afa0d129..3b990848 100644
--- a/home/pokemon.asm
+++ b/home/pokemon.asm
@@ -130,7 +130,7 @@ LoadFrontSpriteByMonIndex::
push af
ld a, BANK(CopyUncompressedPicToHL)
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
xor a
ldh [hStartTileID], a
call CopyUncompressedPicToHL
@@ -138,7 +138,7 @@ LoadFrontSpriteByMonIndex::
ld [wSpriteFlipped], a
pop af
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
ret
@@ -226,11 +226,11 @@ PartyMenuInit::
ld [hli], a ; max menu item ID
ld a, [wForcePlayerToChooseMon]
and a
- ld a, A_BUTTON | B_BUTTON
+ ld a, PAD_A | PAD_B
jr z, .next
xor a
ld [wForcePlayerToChooseMon], a
- inc a ; a = A_BUTTON
+ inc a ; a = PAD_A
.next
ld [hli], a ; menu watched keys
pop af
@@ -256,7 +256,7 @@ HandlePartyMenuInput::
jp nz, .swappingPokemon
pop af
ldh [hTileAnimations], a
- bit BIT_B_BUTTON, b
+ bit B_PAD_B, b
jr nz, .noPokemonChosen
ld a, [wPartyCount]
and a
@@ -278,7 +278,7 @@ HandlePartyMenuInput::
scf
ret
.swappingPokemon
- bit BIT_B_BUTTON, b
+ bit B_PAD_B, b
jr z, .handleSwap ; if not, handle swapping the pokemon
.cancelSwap ; if the B button was pressed
farcall ErasePartyMenuCursors
@@ -381,7 +381,7 @@ GetMonHeader::
push af
ld a, BANK(BaseStats)
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
push bc
push de
push hl
@@ -436,7 +436,7 @@ GetMonHeader::
pop bc
pop af
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
ret
; copy party pokemon's name to wNameBuffer
diff --git a/home/predef.asm b/home/predef.asm
index 14ac07b5..b460105a 100644
--- a/home/predef.asm
+++ b/home/predef.asm
@@ -14,13 +14,13 @@ Predef::
push af
ld a, BANK(GetPredefPointer)
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
call GetPredefPointer
ld a, [wPredefBank]
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
ld de, .done
push de
@@ -29,7 +29,7 @@ Predef::
pop af
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
ret
GetPredefRegisters::
diff --git a/home/print_text.asm b/home/print_text.asm
index 65d418a3..fe784350 100644
--- a/home/print_text.asm
+++ b/home/print_text.asm
@@ -25,11 +25,11 @@ PrintLetterDelay::
call Joypad
ldh a, [hJoyHeld]
.checkAButton
- bit BIT_A_BUTTON, a
+ bit B_PAD_A, a
jr z, .checkBButton
jr .endWait
.checkBButton
- bit BIT_B_BUTTON, a
+ bit B_PAD_B, a
jr z, .buttonsNotPressed
.endWait
call DelayFrame
diff --git a/home/reload_tiles.asm b/home/reload_tiles.asm
index 76110dbe..06aeb1eb 100644
--- a/home/reload_tiles.asm
+++ b/home/reload_tiles.asm
@@ -11,7 +11,7 @@ ReloadMapData::
call EnableLCD
pop af
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
ret
; reloads tileset tile patterns
@@ -25,7 +25,7 @@ ReloadTilesetTilePatterns::
call EnableLCD
pop af
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
ret
; shows the town map and lets the player choose a destination to fly to
diff --git a/home/serial.asm b/home/serial.asm
index bfec707b..631ec70c 100644
--- a/home/serial.asm
+++ b/home/serial.asm
@@ -14,7 +14,7 @@ Serial::
cp USING_INTERNAL_CLOCK
jr z, .done
; using external clock
- ld a, START_TRANSFER_EXTERNAL_CLOCK
+ ld a, SC_START | SC_EXTERNAL
ldh [rSC], a
jr .done
.connectionNotYetEstablished
@@ -32,7 +32,7 @@ Serial::
ldh a, [rDIV]
bit 7, a ; wait until rDIV has incremented from $3 to $80 or more
jr nz, .waitLoop
- ld a, START_TRANSFER_EXTERNAL_CLOCK
+ ld a, SC_START | SC_EXTERNAL
ldh [rSC], a
jr .done
.usingInternalClock
@@ -92,7 +92,7 @@ Serial_ExchangeByte::
ldh a, [hSerialConnectionStatus]
cp USING_INTERNAL_CLOCK
jr nz, .loop
- ld a, START_TRANSFER_INTERNAL_CLOCK
+ ld a, SC_START | SC_INTERNAL
ldh [rSC], a
.loop
ldh a, [hSerialReceivedNewData]
@@ -117,8 +117,8 @@ Serial_ExchangeByte::
jp SetUnknownCounterToFFFF
.doNotIncrementUnknownCounter
ldh a, [rIE]
- and (1 << SERIAL) | (1 << TIMER) | (1 << LCD_STAT) | (1 << VBLANK)
- cp 1 << SERIAL
+ and IE_SERIAL | IE_TIMER | IE_STAT | IE_VBLANK
+ cp IE_SERIAL
jr nz, .loop
ld a, [wUnknownSerialCounter2]
dec a
@@ -139,8 +139,8 @@ Serial_ExchangeByte::
xor a
ldh [hSerialReceivedNewData], a
ldh a, [rIE]
- and (1 << SERIAL) | (1 << TIMER) | (1 << LCD_STAT) | (1 << VBLANK)
- sub 1 << SERIAL
+ and IE_SERIAL | IE_TIMER | IE_STAT | IE_VBLANK
+ sub IE_SERIAL
jr nz, .skipReloadingUnknownCounter2
ld [wUnknownSerialCounter2], a
ld a, $50
@@ -165,8 +165,8 @@ Serial_ExchangeByte::
jr z, SetUnknownCounterToFFFF
.done
ldh a, [rIE]
- and (1 << SERIAL) | (1 << TIMER) | (1 << LCD_STAT) | (1 << VBLANK)
- cp 1 << SERIAL
+ and IE_SERIAL | IE_TIMER | IE_STAT | IE_VBLANK
+ cp IE_SERIAL
ld a, SERIAL_NO_DATA_BYTE
ret z
ld a, [hl]
@@ -291,7 +291,7 @@ Serial_ExchangeNybble::
ldh a, [hSerialConnectionStatus]
cp USING_INTERNAL_CLOCK
jr nz, .doExchange
- ld a, START_TRANSFER_INTERNAL_CLOCK
+ ld a, SC_START | SC_INTERNAL
ldh [rSC], a
.doExchange
ldh a, [hSerialReceiveData]
@@ -312,7 +312,7 @@ Serial_SendZeroByte::
ldh a, [hSerialConnectionStatus]
cp USING_INTERNAL_CLOCK
ret nz
- ld a, START_TRANSFER_INTERNAL_CLOCK
+ ld a, SC_START | SC_INTERNAL
ldh [rSC], a
ret
@@ -321,6 +321,6 @@ Serial_TryEstablishingExternallyClockedConnection::
ldh [rSB], a
xor a
ldh [hSerialReceiveData], a
- ld a, START_TRANSFER_EXTERNAL_CLOCK
+ ld a, SC_START | SC_EXTERNAL
ldh [rSC], a
ret
diff --git a/home/start.asm b/home/start.asm
index 5e301da2..79caca09 100644
--- a/home/start.asm
+++ b/home/start.asm
@@ -1,5 +1,5 @@
_Start::
- cp CGB
+ cp BOOTUP_A_CGB
jr z, .cgb
xor a
jr .ok
diff --git a/home/start_menu.asm b/home/start_menu.asm
index 5a531744..6de15182 100644
--- a/home/start_menu.asm
+++ b/home/start_menu.asm
@@ -1,7 +1,7 @@
DisplayStartMenu::
ld a, BANK(StartMenu_Pokedex)
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
ld a, [wWalkBikeSurfState] ; walking/biking/surfing
ld [wWalkBikeSurfStateCopy], a
ld a, SFX_START_MENU
@@ -15,7 +15,7 @@ RedisplayStartMenu::
call HandleMenuInput
ld b, a
.checkIfUpPressed
- bit BIT_D_UP, a
+ bit B_PAD_UP, a
jr z, .checkIfDownPressed
ld a, [wCurrentMenuItem] ; menu selection
and a
@@ -33,7 +33,7 @@ RedisplayStartMenu::
call EraseMenuCursor
jr .loop
.checkIfDownPressed
- bit BIT_D_DOWN, a
+ bit B_PAD_DOWN, a
jr z, .buttonPressed
; if the player pressed tried to go past the bottom item, wrap around to the top
CheckEvent EVENT_GOT_POKEDEX
@@ -54,7 +54,7 @@ RedisplayStartMenu::
ld a, [wCurrentMenuItem]
ld [wBattleAndStartSavedMenuItem], a ; save current menu selection
ld a, b
- and B_BUTTON | START ; was the Start button or B button pressed?
+ and PAD_B | PAD_START ; was the Start button or B button pressed?
jp nz, CloseStartMenu
call SaveScreenTilesToBuffer2 ; copy background from wTileMap to wTileMapBackup2
CheckEvent EVENT_GOT_POKEDEX
@@ -79,7 +79,7 @@ RedisplayStartMenu::
CloseStartMenu::
call Joypad
ldh a, [hJoyPressed]
- bit BIT_A_BUTTON, a
+ bit B_PAD_A, a
jr nz, CloseStartMenu
call LoadTextBoxTilePatterns
jp CloseTextDisplay
diff --git a/home/text.asm b/home/text.asm
index df5cfe51..17fb7266 100644
--- a/home/text.asm
+++ b/home/text.asm
@@ -494,7 +494,7 @@ TextCommand_PAUSE::
push bc
call Joypad
ldh a, [hJoyHeld]
- and A_BUTTON | B_BUTTON
+ and PAD_A | PAD_B
jr nz, .done
ld c, 30 ; half a second
call DelayFrames
@@ -570,7 +570,7 @@ TextCommand_DOTS::
call Joypad
pop de
ldh a, [hJoyHeld] ; joypad state
- and A_BUTTON | B_BUTTON
+ and PAD_A | PAD_B
jr nz, .next ; if so, skip the delay
ld c, 10
call DelayFrames
@@ -604,7 +604,7 @@ TextCommand_FAR::
ld a, [hli]
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
push hl
ld l, e
@@ -614,7 +614,7 @@ TextCommand_FAR::
pop af
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
jp NextTextCommand
TextCommandJumpTable::
diff --git a/home/text_script.asm b/home/text_script.asm
index f3015b66..35dd955b 100644
--- a/home/text_script.asm
+++ b/home/text_script.asm
@@ -99,7 +99,7 @@ AfterDisplayingTextID::
HoldTextDisplayOpen::
call Joypad
ldh a, [hJoyHeld]
- bit BIT_A_BUTTON, a
+ bit B_PAD_A, a
jr nz, HoldTextDisplayOpen
CloseTextDisplay::
@@ -125,7 +125,7 @@ CloseTextDisplay::
jr nz, .restoreSpriteFacingDirectionLoop
ld a, BANK(InitMapSprites)
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
call InitMapSprites ; reload sprite tile pattern data (since it was partially overwritten by text tile patterns)
ld hl, wFontLoaded
res BIT_FONT_LOADED, [hl]
@@ -135,7 +135,7 @@ CloseTextDisplay::
call LoadCurrentMapView
pop af
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
jp UpdateSprites
DisplayPokemartDialogue::
diff --git a/home/trainers.asm b/home/trainers.asm
index 04752cc2..835121e1 100644
--- a/home/trainers.asm
+++ b/home/trainers.asm
@@ -149,7 +149,7 @@ ENDC
xor a ; EXCLAMATION_BUBBLE
ld [wWhichEmotionBubble], a
predef EmotionBubble
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
xor a
ldh [hJoyHeld], a
@@ -349,7 +349,7 @@ PrintEndBattleText::
push af
ld a, [wEndBattleTextRomBank]
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
push hl
farcall SaveTrainerName
ld hl, TrainerEndBattleText
@@ -357,7 +357,7 @@ PrintEndBattleText::
pop hl
pop af
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
farcall SetEnemyTrainerToStayAndFaceAnyDirection
jp WaitForSoundToFinish
diff --git a/home/uncompress.asm b/home/uncompress.asm
index b6cb1e8d..731ae642 100644
--- a/home/uncompress.asm
+++ b/home/uncompress.asm
@@ -11,15 +11,15 @@ UncompressSpriteData::
push af
ld a, b
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
- ld a, SRAM_ENABLE
- ld [MBC1SRamEnable], a
+ ld [rROMB], a
+ ld a, RAMG_SRAM_ENABLE
+ ld [rRAMG], a
xor a
- ld [MBC1SRamBank], a
+ ld [rRAMB], a
call _UncompressSpriteData
pop af
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
ret
; initializes necessary data to load a sprite and runs UncompressSpriteDataLoop
diff --git a/home/vblank.asm b/home/vblank.asm
index b8b46ba7..fc5d266b 100644
--- a/home/vblank.asm
+++ b/home/vblank.asm
@@ -29,7 +29,7 @@ VBlank::
call hDMARoutine
ld a, BANK(PrepareOAMData)
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
call PrepareOAMData
; VBlank-sensitive operations end.
@@ -54,7 +54,7 @@ VBlank::
ld a, [wAudioROMBank] ; music ROM bank
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
cp BANK(Audio1_UpdateMusic)
jr nz, .checkForAudio2
@@ -80,7 +80,7 @@ VBlank::
ld a, [wVBlankSavedROMBank]
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
pop hl
pop de
diff --git a/home/vcopy.asm b/home/vcopy.asm
index 1b742817..6a9d9b7f 100644
--- a/home/vcopy.asm
+++ b/home/vcopy.asm
@@ -23,7 +23,7 @@ ClearBgMap::
jr .next
ld a, l
.next
- ld de, BG_MAP_WIDTH * BG_MAP_HEIGHT
+ ld de, TILEMAP_WIDTH * TILEMAP_HEIGHT
ld l, e
.loop
ld [hli], a
@@ -61,7 +61,7 @@ RedrawRowOrColumn::
inc de
ld a, [hli]
ld [de], a
- ld a, BG_MAP_WIDTH - 1
+ ld a, TILEMAP_WIDTH - 1
add e
ld e, a
jr nc, .noCarry
@@ -86,7 +86,7 @@ RedrawRowOrColumn::
push de
call .DrawHalf ; draw upper half
pop de
- ld a, BG_MAP_WIDTH ; width of VRAM background map
+ ld a, TILEMAP_WIDTH ; width of VRAM background map
add e
ld e, a
; fall through and draw lower half
@@ -181,7 +181,7 @@ ENDR
inc l
ld [hl], d
- ld a, BG_MAP_WIDTH - (SCREEN_WIDTH - 1)
+ ld a, TILEMAP_WIDTH - (SCREEN_WIDTH - 1)
add l
ld l, a
jr nc, .ok
@@ -259,7 +259,7 @@ VBlankCopyDouble::
ldh [hVBlankCopyDoubleSize], a
.loop
-REPT LEN_2BPP_TILE / 4 - 1
+REPT TILE_SIZE / 4 - 1
pop de
ld [hl], e
inc l
@@ -336,7 +336,7 @@ VBlankCopy::
ldh [hVBlankCopySize], a
.loop
-REPT LEN_2BPP_TILE / 2 - 1
+REPT TILE_SIZE / 2 - 1
pop de
ld [hl], e
inc l
diff --git a/home/window.asm b/home/window.asm
index 48ab1d0e..48bef77a 100644
--- a/home/window.asm
+++ b/home/window.asm
@@ -50,7 +50,7 @@ HandleMenuInput_::
ld [wCheckFor180DegreeTurn], a
ldh a, [hJoy5]
ld b, a
- bit BIT_D_UP, a
+ bit B_PAD_UP, a
jr z, .checkIfDownPressed
.upPressed
ld a, [wCurrentMenuItem] ; selected menu item
@@ -68,7 +68,7 @@ HandleMenuInput_::
ld [wCurrentMenuItem], a ; wrap to the bottom of the menu
jr .checkOtherKeys
.checkIfDownPressed
- bit BIT_D_DOWN, a
+ bit B_PAD_DOWN, a
jr z, .checkOtherKeys
.downPressed
ld a, [wCurrentMenuItem]
@@ -91,7 +91,7 @@ HandleMenuInput_::
jp z, .loop1
.checkIfAButtonOrBButtonPressed
ldh a, [hJoy5]
- and A_BUTTON | B_BUTTON
+ and PAD_A | PAD_B
jr z, .skipPlayingSound
.AButtonOrBButtonPressed
push hl
diff --git a/includes.asm b/includes.asm
index f83b76e4..5087809c 100644
--- a/includes.asm
+++ b/includes.asm
@@ -14,12 +14,11 @@ INCLUDE "macros/scripts/events.asm"
INCLUDE "macros/scripts/text.asm"
INCLUDE "constants/charmap.asm"
-INCLUDE "constants/hardware_constants.asm"
+INCLUDE "constants/hardware.inc"
INCLUDE "constants/oam_constants.asm"
INCLUDE "constants/ram_constants.asm"
INCLUDE "constants/misc_constants.asm"
INCLUDE "constants/gfx_constants.asm"
-INCLUDE "constants/input_constants.asm"
INCLUDE "constants/serial_constants.asm"
INCLUDE "constants/script_constants.asm"
INCLUDE "constants/type_constants.asm"
diff --git a/macros/coords.asm b/macros/coords.asm
index 984073ed..6eccdec4 100644
--- a/macros/coords.asm
+++ b/macros/coords.asm
@@ -47,11 +47,11 @@ ENDM
MACRO bgcoord
; register, x, y[, origin]
- validate_coords \2, \3, BG_MAP_WIDTH, BG_MAP_HEIGHT
+ validate_coords \2, \3, TILEMAP_WIDTH, TILEMAP_HEIGHT
IF _NARG >= 4
- ld \1, (\3) * BG_MAP_WIDTH + (\2) + \4
+ ld \1, (\3) * TILEMAP_WIDTH + (\2) + \4
ELSE
- ld \1, (\3) * BG_MAP_WIDTH + (\2) + vBGMap0
+ ld \1, (\3) * TILEMAP_WIDTH + (\2) + vBGMap0
ENDC
ENDM
diff --git a/macros/farcall.asm b/macros/farcall.asm
index a40bff36..ead11739 100644
--- a/macros/farcall.asm
+++ b/macros/farcall.asm
@@ -27,11 +27,11 @@ MACRO homecall
push af
ld a, BANK(\1)
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
call \1
pop af
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
ENDM
MACRO homecall_sf ; homecall but save flags by popping into bc instead of af
@@ -39,10 +39,10 @@ MACRO homecall_sf ; homecall but save flags by popping into bc instead of af
push af
ld a, BANK(\1)
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
call \1
pop bc
ld a, b
ldh [hLoadedROMBank], a
- ld [MBC1RomBank], a
+ ld [rROMB], a
ENDM
diff --git a/macros/gfx.asm b/macros/gfx.asm
index 944e6dd5..7b8fcf5d 100644
--- a/macros/gfx.asm
+++ b/macros/gfx.asm
@@ -5,16 +5,16 @@ MACRO RGB
ENDR
ENDM
-DEF palred EQUS "(1 << 0) *"
-DEF palgreen EQUS "(1 << 5) *"
-DEF palblue EQUS "(1 << 10) *"
+DEF palred EQUS "(1 << B_COLOR_RED) *"
+DEF palgreen EQUS "(1 << B_COLOR_GREEN) *"
+DEF palblue EQUS "(1 << B_COLOR_BLUE) *"
DEF palettes EQUS "* PALETTE_SIZE"
DEF palette EQUS "+ PALETTE_SIZE *"
DEF color EQUS "+ PAL_COLOR_SIZE *"
-DEF tiles EQUS "* LEN_2BPP_TILE"
-DEF tile EQUS "+ LEN_2BPP_TILE *"
+DEF tiles EQUS "* TILE_SIZE"
+DEF tile EQUS "+ TILE_SIZE *"
MACRO dbsprite
; x tile, y tile, x pixel, y pixel, vtile offset, attributes
diff --git a/ram/vram.asm b/ram/vram.asm
index 04556410..fe30b0e9 100644
--- a/ram/vram.asm
+++ b/ram/vram.asm
@@ -5,8 +5,8 @@ UNION
vChars0:: ds $80 tiles
vChars1:: ds $80 tiles
vChars2:: ds $80 tiles
-vBGMap0:: ds BG_MAP_WIDTH * BG_MAP_HEIGHT
-vBGMap1:: ds BG_MAP_WIDTH * BG_MAP_HEIGHT
+vBGMap0:: ds TILEMAP_WIDTH * TILEMAP_HEIGHT
+vBGMap1:: ds TILEMAP_WIDTH * TILEMAP_HEIGHT
NEXTU
; battle/menu
diff --git a/ram/wram.asm b/ram/wram.asm
index e7d35f96..eff7baaa 100644
--- a/ram/wram.asm
+++ b/ram/wram.asm
@@ -145,7 +145,7 @@ SECTION "OAM Buffer", WRAM0
; buffer for OAM data. Copied to OAM by DMA
wShadowOAM::
; wShadowOAMSprite00 - wShadowOAMSprite39
-FOR n, NUM_SPRITE_OAM_STRUCTS
+FOR n, OAM_COUNT
wShadowOAMSprite{02d:n}:: sprite_oam_struct wShadowOAMSprite{02d:n}
ENDR
wShadowOAMEnd::
@@ -170,7 +170,7 @@ NEXTU
; buffer for temporarily saving and restoring shadow OAM
wShadowOAMBackup::
; wShadowOAMBackupSprite00 - wShadowOAMBackupSprite39
-FOR n, NUM_SPRITE_OAM_STRUCTS
+FOR n, OAM_COUNT
wShadowOAMBackupSprite{02d:n}:: sprite_oam_struct wShadowOAMBackupSprite{02d:n}
ENDR
wShadowOAMBackupEnd::
@@ -346,7 +346,7 @@ wNPCMovementScriptBank:: db
; This union spans 180 bytes.
UNION
-wVermilionDockTileMapBuffer:: ds 5 * BG_MAP_WIDTH + SCREEN_WIDTH
+wVermilionDockTileMapBuffer:: ds 5 * TILEMAP_WIDTH + SCREEN_WIDTH
wVermilionDockTileMapBufferEnd::
NEXTU
diff --git a/scripts/AgathasRoom.asm b/scripts/AgathasRoom.asm
index 2d0dca08..548f78bf 100644
--- a/scripts/AgathasRoom.asm
+++ b/scripts/AgathasRoom.asm
@@ -44,7 +44,7 @@ AgathasRoomNoopScript:
AgathaScriptWalkIntoRoom:
; Walk six steps upward.
ld hl, wSimulatedJoypadStatesEnd
- ld a, D_UP
+ ld a, PAD_UP
ld [hli], a
ld [hli], a
ld [hli], a
@@ -77,7 +77,7 @@ AgathasRoomDefaultScript:
ld a, TEXT_AGATHASROOM_AGATHA_DONT_RUN_AWAY
ldh [hTextID], a
call DisplayTextID
- ld a, D_UP
+ ld a, PAD_UP
ld [wSimulatedJoypadStatesEnd], a
ld a, $1
ld [wSimulatedJoypadStatesIndex], a
diff --git a/scripts/BikeShop.asm b/scripts/BikeShop.asm
index d8b82386..a245b657 100644
--- a/scripts/BikeShop.asm
+++ b/scripts/BikeShop.asm
@@ -40,7 +40,7 @@ BikeShopClerkText:
xor a
ld [wCurrentMenuItem], a
ld [wLastMenuItem], a
- ld a, A_BUTTON | B_BUTTON
+ ld a, PAD_A | PAD_B
ld [wMenuWatchedKeys], a
ld a, $1
ld [wMaxMenuItem], a
@@ -64,7 +64,7 @@ BikeShopClerkText:
ld hl, BikeShopClerkDoYouLikeItText
call PrintText
call HandleMenuInput
- bit BIT_B_BUTTON, a
+ bit B_PAD_B, a
jr nz, .cancel
ld hl, wStatusFlags5
res BIT_NO_TEXT_DELAY, [hl]
diff --git a/scripts/BillsHouse.asm b/scripts/BillsHouse.asm
index 86f79cb3..6074b007 100644
--- a/scripts/BillsHouse.asm
+++ b/scripts/BillsHouse.asm
@@ -62,7 +62,7 @@ BillsHousePokemonEntersMachineScript:
BillsHouseBillExitsMachineScript:
CheckEvent EVENT_USED_CELL_SEPARATOR_ON_BILL
ret z
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ld a, BILLSHOUSE_BILL1
ld [wSpriteIndex], a
diff --git a/scripts/BrunosRoom.asm b/scripts/BrunosRoom.asm
index 6d7fde6e..1f8ff4cf 100644
--- a/scripts/BrunosRoom.asm
+++ b/scripts/BrunosRoom.asm
@@ -44,7 +44,7 @@ BrunosRoomNoopScript:
BrunoScriptWalkIntoRoom:
; Walk six steps upward.
ld hl, wSimulatedJoypadStatesEnd
- ld a, D_UP
+ ld a, PAD_UP
ld [hli], a
ld [hli], a
ld [hli], a
@@ -77,7 +77,7 @@ BrunosRoomDefaultScript:
ld a, TEXT_BRUNOSROOM_BRUNO_DONT_RUN_AWAY
ldh [hTextID], a
call DisplayTextID ; "Don't run away!"
- ld a, D_UP
+ ld a, PAD_UP
ld [wSimulatedJoypadStatesEnd], a
ld a, $1
ld [wSimulatedJoypadStatesIndex], a
diff --git a/scripts/CeladonGym.asm b/scripts/CeladonGym.asm
index f95d129a..10ffcfca 100644
--- a/scripts/CeladonGym.asm
+++ b/scripts/CeladonGym.asm
@@ -40,7 +40,7 @@ CeladonGymErikaPostBattleScript:
ld a, [wIsInBattle]
cp $ff
jp z, CeladonGymResetScripts
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
CeladonGymReceiveTM21:
diff --git a/scripts/CeladonMartRoof.asm b/scripts/CeladonMartRoof.asm
index d06fc4a2..9a1f8834 100644
--- a/scripts/CeladonMartRoof.asm
+++ b/scripts/CeladonMartRoof.asm
@@ -48,7 +48,7 @@ CeladonMartRoofScript_GiveDrinkToGirl:
call PrintText
xor a
ld [wCurrentMenuItem], a
- ld a, A_BUTTON | B_BUTTON
+ ld a, PAD_A | PAD_B
ld [wMenuWatchedKeys], a
ld a, [wFilteredBagItemsCount]
dec a
@@ -72,7 +72,7 @@ CeladonMartRoofScript_GiveDrinkToGirl:
ld hl, wStatusFlags5
res BIT_NO_TEXT_DELAY, [hl]
call HandleMenuInput
- bit BIT_B_BUTTON, a
+ bit B_PAD_B, a
ret nz
ld hl, wFilteredBagItems
ld a, [wCurrentMenuItem]
diff --git a/scripts/CeruleanCity.asm b/scripts/CeruleanCity.asm
index 9cf44891..c08d0280 100644
--- a/scripts/CeruleanCity.asm
+++ b/scripts/CeruleanCity.asm
@@ -24,7 +24,7 @@ CeruleanCityRocketDefeatedScript:
ld a, [wIsInBattle]
cp $ff
jp z, CeruleanCityClearScripts
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
SetEvent EVENT_BEAT_CERULEAN_ROCKET_THIEF
ld a, TEXT_CERULEANCITY_ROCKET
@@ -78,7 +78,7 @@ ENDC
call PlayMusic
xor a
ldh [hJoyHeld], a
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ld a, [wXCoord]
cp 20 ; is the player standing on the right side of the bridge?
@@ -170,7 +170,7 @@ CeruleanCityRivalDefeatedScript:
cp $ff
jp z, CeruleanCityClearScripts
call CeruleanCityFaceRivalScript
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
SetEvent EVENT_BEAT_CERULEAN_RIVAL
ld a, TEXT_CERULEANCITY_RIVAL
diff --git a/scripts/CeruleanGym.asm b/scripts/CeruleanGym.asm
index e924907a..e05b4659 100644
--- a/scripts/CeruleanGym.asm
+++ b/scripts/CeruleanGym.asm
@@ -40,7 +40,7 @@ CeruleanGymMistyPostBattleScript:
ld a, [wIsInBattle]
cp $ff
jp z, CeruleanGymResetScripts
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
CeruleanGymReceiveTM11:
diff --git a/scripts/ChampionsRoom.asm b/scripts/ChampionsRoom.asm
index 4d8a218b..953ee9b5 100644
--- a/scripts/ChampionsRoom.asm
+++ b/scripts/ChampionsRoom.asm
@@ -28,7 +28,7 @@ ChampionsRoomDefaultScript:
ret
ChampionsRoomPlayerEntersScript:
- ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_A | PAD_B | PAD_SELECT | PAD_START | PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ld hl, wSimulatedJoypadStatesEnd
ld de, RivalEntrance_RLEMovement
@@ -41,9 +41,9 @@ ChampionsRoomPlayerEntersScript:
ret
RivalEntrance_RLEMovement:
- db D_UP, 1
- db D_RIGHT, 1
- db D_UP, 3
+ db PAD_UP, 1
+ db PAD_RIGHT, 1
+ db PAD_UP, 3
db -1 ; end
ChampionsRoomRivalReadyToBattleScript:
@@ -96,7 +96,7 @@ ChampionsRoomRivalDefeatedScript:
jp z, ResetRivalScript
call UpdateSprites
SetEvent EVENT_BEAT_CHAMPION_RIVAL
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ld a, TEXT_CHAMPIONSROOM_RIVAL
ldh [hTextID], a
@@ -205,7 +205,7 @@ ChampionsRoomOakExitsScript:
ret
ChampionsRoomPlayerFollowsOakScript:
- ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_A | PAD_B | PAD_SELECT | PAD_START | PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ld hl, wSimulatedJoypadStatesEnd
ld de, WalkToHallOfFame_RLEMovement
@@ -218,8 +218,8 @@ ChampionsRoomPlayerFollowsOakScript:
ret
WalkToHallOfFame_RLEMovement:
- db D_UP, 4
- db D_LEFT, 1
+ db PAD_UP, 4
+ db PAD_LEFT, 1
db -1 ; end
ChampionsRoomCleanupScript:
@@ -233,10 +233,10 @@ ChampionsRoomCleanupScript:
ret
ChampionsRoom_DisplayTextID_AllowABSelectStart:
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
call DisplayTextID
- ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_A | PAD_B | PAD_SELECT | PAD_START | PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ret
diff --git a/scripts/CinnabarGym.asm b/scripts/CinnabarGym.asm
index efda64a5..600ae571 100644
--- a/scripts/CinnabarGym.asm
+++ b/scripts/CinnabarGym.asm
@@ -140,7 +140,7 @@ CinnabarGymBlainePostBattleScript:
ld a, [wIsInBattle]
cp $ff
jp z, CinnabarGymResetScripts
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
; fallthrough
CinnabarGymReceiveTM38:
diff --git a/scripts/CinnabarIsland.asm b/scripts/CinnabarIsland.asm
index f2a36afb..ce1b683c 100644
--- a/scripts/CinnabarIsland.asm
+++ b/scripts/CinnabarIsland.asm
@@ -32,7 +32,7 @@ CinnabarIslandDefaultScript:
ldh [hJoyHeld], a
ld a, $1
ld [wSimulatedJoypadStatesIndex], a
- ld a, D_DOWN
+ ld a, PAD_DOWN
ld [wSimulatedJoypadStatesEnd], a
call StartSimulatingJoypadStates
xor a
diff --git a/scripts/FightingDojo.asm b/scripts/FightingDojo.asm
index bffa4554..78409ed2 100644
--- a/scripts/FightingDojo.asm
+++ b/scripts/FightingDojo.asm
@@ -68,7 +68,7 @@ FightingDojoKarateMasterPostBattleScript:
ldh [hSpriteFacingDirection], a
call SetSpriteFacingDirectionAndDelay
.already_facing
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
SetEventRange EVENT_BEAT_KARATE_MASTER, EVENT_BEAT_FIGHTING_DOJO_TRAINER_3
ld a, TEXT_FIGHTINGDOJO_KARATE_MASTER_I_WILL_GIVE_YOU_A_POKEMON
diff --git a/scripts/FuchsiaGym.asm b/scripts/FuchsiaGym.asm
index c983c896..fc4a45ac 100644
--- a/scripts/FuchsiaGym.asm
+++ b/scripts/FuchsiaGym.asm
@@ -42,7 +42,7 @@ FuchsiaGymKogaPostBattleScript:
ld a, [wIsInBattle]
cp $ff
jp z, FuchsiaGymResetScripts
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
; fallthrough
FuchsiaGymReceiveTM06:
diff --git a/scripts/GameCorner.asm b/scripts/GameCorner.asm
index f95431d1..b1250857 100644
--- a/scripts/GameCorner.asm
+++ b/scripts/GameCorner.asm
@@ -55,7 +55,7 @@ GameCornerRocketBattleScript:
ld a, [wIsInBattle]
cp $ff
jp z, GameCornerReenterMapAfterPlayerLoss
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ld a, TEXT_GAMECORNER_ROCKET_AFTER_BATTLE
ldh [hTextID], a
diff --git a/scripts/HallOfFame.asm b/scripts/HallOfFame.asm
index c6ecf4ec..84ef26c6 100644
--- a/scripts/HallOfFame.asm
+++ b/scripts/HallOfFame.asm
@@ -58,7 +58,7 @@ HallOfFameResetEventsAndSaveScript:
jp Init
HallOfFameDefaultScript:
- ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_A | PAD_B | PAD_SELECT | PAD_START | PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ld hl, wSimulatedJoypadStatesEnd
ld de, HallOfFameEntryMovement
@@ -71,7 +71,7 @@ HallOfFameDefaultScript:
ret
HallOfFameEntryMovement:
- db D_UP, 5
+ db PAD_UP, 5
db -1 ; end
HallOfFameOakCongratulationsScript:
@@ -94,7 +94,7 @@ HallOfFameOakCongratulationsScript:
ld a, TEXT_HALLOFFAME_OAK
ldh [hTextID], a
call DisplayTextID
- ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_A | PAD_B | PAD_SELECT | PAD_START | PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ld a, HS_CERULEAN_CAVE_GUY
ld [wMissableObjectIndex], a
diff --git a/scripts/LancesRoom.asm b/scripts/LancesRoom.asm
index 235deac1..169aa17d 100644
--- a/scripts/LancesRoom.asm
+++ b/scripts/LancesRoom.asm
@@ -95,7 +95,7 @@ LancesRoomLanceEndBattleScript:
WalkToLance:
; Moves the player down the hallway to Lance's room.
- ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_A | PAD_B | PAD_SELECT | PAD_START | PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ld hl, wSimulatedJoypadStatesEnd
ld de, WalkToLance_RLEList
@@ -109,10 +109,10 @@ WalkToLance:
ret
WalkToLance_RLEList:
- db D_UP, 12
- db D_LEFT, 12
- db D_DOWN, 7
- db D_LEFT, 6
+ db PAD_UP, 12
+ db PAD_LEFT, 12
+ db PAD_DOWN, 7
+ db PAD_LEFT, 6
db -1 ; end
LancesRoomPlayerIsMovingScript:
diff --git a/scripts/LoreleisRoom.asm b/scripts/LoreleisRoom.asm
index 455561b8..ada3b583 100644
--- a/scripts/LoreleisRoom.asm
+++ b/scripts/LoreleisRoom.asm
@@ -46,7 +46,7 @@ LoreleisRoomNoopScript:
LoreleiScriptWalkIntoRoom:
; Walk six steps upward.
ld hl, wSimulatedJoypadStatesEnd
- ld a, D_UP
+ ld a, PAD_UP
ld [hli], a
ld [hli], a
ld [hli], a
@@ -79,7 +79,7 @@ LoreleisRoomDefaultScript:
ld a, TEXT_LORELEISROOM_DONT_RUN_AWAY
ldh [hTextID], a
call DisplayTextID ; "Don't run away!"
- ld a, D_UP
+ ld a, PAD_UP
ld [wSimulatedJoypadStatesEnd], a
ld a, $1
ld [wSimulatedJoypadStatesIndex], a
diff --git a/scripts/MtMoonB2F.asm b/scripts/MtMoonB2F.asm
index d7d4a35b..80236aed 100644
--- a/scripts/MtMoonB2F.asm
+++ b/scripts/MtMoonB2F.asm
@@ -132,7 +132,7 @@ MtMoonB2FSuperNerdTakesOtherFossilScript:
ld a, [wStatusFlags5]
bit BIT_SCRIPTED_NPC_MOVEMENT, a
ret nz
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ld a, $1
ld [wDoNotWaitForButtonPressAfterDisplayingText], a
diff --git a/scripts/Museum1F.asm b/scripts/Museum1F.asm
index 465c72f8..6cb6889a 100644
--- a/scripts/Museum1F.asm
+++ b/scripts/Museum1F.asm
@@ -115,7 +115,7 @@ Museum1FScientist1Text:
call PrintText
ld a, $1
ld [wSimulatedJoypadStatesIndex], a
- ld a, D_DOWN
+ ld a, PAD_DOWN
ld [wSimulatedJoypadStatesEnd], a
call StartSimulatingJoypadStates
call UpdateSprites
diff --git a/scripts/OaksLab.asm b/scripts/OaksLab.asm
index 71704c5b..8a2b7de3 100644
--- a/scripts/OaksLab.asm
+++ b/scripts/OaksLab.asm
@@ -102,7 +102,7 @@ OaksLabPlayerEntersLabScript:
ret
PlayerEntryMovementRLE:
- db D_UP, 8
+ db PAD_UP, 8
db -1 ; end
OaksLabFollowedOakScript:
@@ -126,7 +126,7 @@ OaksLabFollowedOakScript:
ret
OaksLabOakChooseMonSpeechScript:
- ld a, SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_SELECT | PAD_START | PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ld a, TEXT_OAKSLAB_RIVAL_FED_UP_WITH_WAITING
ldh [hTextID], a
@@ -171,7 +171,7 @@ OaksLabPlayerDontGoAwayScript:
call DisplayTextID
ld a, $1
ld [wSimulatedJoypadStatesIndex], a
- ld a, D_UP
+ ld a, PAD_UP
ld [wSimulatedJoypadStatesEnd], a
call StartSimulatingJoypadStates
ld a, PLAYER_DIR_UP
@@ -293,7 +293,7 @@ OaksLabRivalChoosesStarterScript:
ld a, [wStatusFlags5]
bit BIT_SCRIPTED_NPC_MOVEMENT, a
ret nz
- ld a, SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_SELECT | PAD_START | PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ld a, OAKSLAB_RIVAL
ldh [hSpriteIndex], a
@@ -416,7 +416,7 @@ OaksLabRivalStartBattleScript:
ret
OaksLabRivalEndBattleScript:
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ld a, PLAYER_DIR_UP
ld [wPlayerMovingDirection], a
@@ -557,7 +557,7 @@ OaksLabOakGivesPokedexScript:
ret nz
call EnableAutoTextBoxDrawing
call PlayDefaultMusic
- ld a, SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_SELECT | PAD_START | PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
call OaksLabRivalFaceUpOakFaceDownScript
ld a, TEXT_OAKSLAB_RIVAL_WHAT_DID_YOU_CALL_ME_FOR
@@ -931,7 +931,7 @@ OaksLabMonChoiceMenu:
call AddPartyMon
ld hl, wStatusFlags4
set BIT_GOT_STARTER, [hl]
- ld a, SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_SELECT | PAD_START | PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ld a, SCRIPT_OAKSLAB_CHOSE_STARTER_SCRIPT
ld [wOaksLabCurScript], a
diff --git a/scripts/PalletTown.asm b/scripts/PalletTown.asm
index 14c5a840..cf6231ea 100644
--- a/scripts/PalletTown.asm
+++ b/scripts/PalletTown.asm
@@ -34,7 +34,7 @@ PalletTownDefaultScript:
ld c, a
ld a, MUSIC_MEET_PROF_OAK ; "oak appears" music
call PlayMusic
- ld a, SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_SELECT | PAD_START | PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
SetEvent EVENT_OAK_APPEARED_IN_PALLET
@@ -49,7 +49,7 @@ PalletTownOakHeyWaitScript:
ld a, TEXT_PALLETTOWN_OAK
ldh [hTextID], a
call DisplayTextID
- ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_A | PAD_B | PAD_SELECT | PAD_START | PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ld a, HS_PALLET_TOWN_OAK
ld [wMissableObjectIndex], a
@@ -82,7 +82,7 @@ PalletTownOakWalksToPlayerScript:
ld a, PALLETTOWN_OAK
ldh [hSpriteIndex], a
call MoveSprite
- ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_A | PAD_B | PAD_SELECT | PAD_START | PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
; trigger the next script
@@ -98,13 +98,13 @@ PalletTownOakNotSafeComeWithMeScript:
ld [wSpritePlayerStateData1FacingDirection], a
ld a, TRUE
ld [wOakWalkedToPlayer], a
- ld a, SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_SELECT | PAD_START | PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ld a, TEXT_PALLETTOWN_OAK
ldh [hTextID], a
call DisplayTextID
; set up movement script that causes the player to follow Oak to his lab
- ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_A | PAD_B | PAD_SELECT | PAD_START | PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ld a, PALLETTOWN_OAK
ld [wSpriteIndex], a
diff --git a/scripts/PewterCity.asm b/scripts/PewterCity.asm
index 5cf0c8c7..961e5ee4 100644
--- a/scripts/PewterCity.asm
+++ b/scripts/PewterCity.asm
@@ -31,7 +31,7 @@ ENDC
ld hl, PewterCityPlayerLeavingEastCoords
call ArePlayerCoordsInArray
ret nc
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ld a, TEXT_PEWTERCITY_YOUNGSTER
ldh [hTextID], a
diff --git a/scripts/PewterGym.asm b/scripts/PewterGym.asm
index 6c4c9443..a56c848e 100644
--- a/scripts/PewterGym.asm
+++ b/scripts/PewterGym.asm
@@ -40,7 +40,7 @@ PewterGymBrockPostBattle:
ld a, [wIsInBattle]
cp $ff
jp z, PewterGymResetScripts
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
; fallthrough
PewterGymScriptReceiveTM34:
diff --git a/scripts/PokemonTower2F.asm b/scripts/PokemonTower2F.asm
index 6b3fe4ae..ec04c623 100644
--- a/scripts/PokemonTower2F.asm
+++ b/scripts/PokemonTower2F.asm
@@ -67,7 +67,7 @@ PokemonTower2FDefeatedRivalScript:
ld a, [wIsInBattle]
cp $ff
jp z, PokemonTower2FResetRivalEncounter
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
SetEvent EVENT_BEAT_POKEMON_TOWER_RIVAL
ld a, TEXT_POKEMONTOWER2F_RIVAL
diff --git a/scripts/PokemonTower5F.asm b/scripts/PokemonTower5F.asm
index b35a2f0a..fb023a0b 100644
--- a/scripts/PokemonTower5F.asm
+++ b/scripts/PokemonTower5F.asm
@@ -26,7 +26,7 @@ PokemonTower5FDefaultScript:
ret nz
xor a
ldh [hJoyHeld], a
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ld hl, wStatusFlags4
set BIT_NO_BATTLES, [hl]
diff --git a/scripts/PokemonTower6F.asm b/scripts/PokemonTower6F.asm
index 251b3759..861fdd65 100644
--- a/scripts/PokemonTower6F.asm
+++ b/scripts/PokemonTower6F.asm
@@ -50,13 +50,13 @@ PokemonTower6FMarowakBattleScript:
ld a, [wIsInBattle]
cp $ff
jp z, PokemonTower6FSetDefaultScript
- ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_A | PAD_B | PAD_SELECT | PAD_START | PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ld a, [wStatusFlags3]
bit BIT_TALKED_TO_TRAINER, a
ret nz
call UpdateSprites
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ld a, [wBattleResult]
and a
@@ -74,7 +74,7 @@ PokemonTower6FMarowakBattleScript:
.did_not_defeat
ld a, $1
ld [wSimulatedJoypadStatesIndex], a
- ld a, D_RIGHT
+ ld a, PAD_RIGHT
ld [wSimulatedJoypadStatesEnd], a
xor a
ld [wSpritePlayerStateData2MovementByte1], a
diff --git a/scripts/PokemonTower7F.asm b/scripts/PokemonTower7F.asm
index 41fba59c..e8ff81af 100644
--- a/scripts/PokemonTower7F.asm
+++ b/scripts/PokemonTower7F.asm
@@ -29,7 +29,7 @@ PokemonTower7FEndBattleScript:
cp $ff
jp z, PokemonTower7FSetDefaultScript
call EndTrainerBattle
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ld a, [wSpriteIndex]
ldh [hSpriteIndex], a
@@ -65,7 +65,7 @@ PokemonTower7FHideNPCScript:
ret
PokemonTower7FWarpToMrFujiHouseScript:
- ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_A | PAD_B | PAD_SELECT | PAD_START | PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ld a, HS_POKEMON_TOWER_7F_MR_FUJI
ld [wMissableObjectIndex], a
diff --git a/scripts/RocketHideoutB2F.asm b/scripts/RocketHideoutB2F.asm
index 0df2f06a..a57cecbd 100644
--- a/scripts/RocketHideoutB2F.asm
+++ b/scripts/RocketHideoutB2F.asm
@@ -28,7 +28,7 @@ RocketHideoutB2FDefaultScript:
call StartSimulatingJoypadStates
ld a, SFX_ARROW_TILES
call PlaySound
- ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_A | PAD_B | PAD_SELECT | PAD_START | PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ld a, SCRIPT_ROCKETHIDEOUTB2F_PLAYER_SPINNING
ld [wCurMapScript], a
@@ -83,177 +83,177 @@ RocketHideout2ArrowTilePlayerMovement:
;format: direction, count
;each list is read starting from the $FF and working backwards
RocketHideout2ArrowMovement1:
- db D_LEFT, 2
+ db PAD_LEFT, 2
db -1 ; end
RocketHideout2ArrowMovement2:
- db D_RIGHT, 4
+ db PAD_RIGHT, 4
db -1 ; end
RocketHideout2ArrowMovement3:
- db D_UP, 4
- db D_RIGHT, 4
+ db PAD_UP, 4
+ db PAD_RIGHT, 4
db -1 ; end
RocketHideout2ArrowMovement4:
- db D_UP, 4
- db D_RIGHT, 4
- db D_UP, 1
+ db PAD_UP, 4
+ db PAD_RIGHT, 4
+ db PAD_UP, 1
db -1 ; end
RocketHideout2ArrowMovement5:
- db D_LEFT, 2
- db D_UP, 3
+ db PAD_LEFT, 2
+ db PAD_UP, 3
db -1 ; end
RocketHideout2ArrowMovement6:
- db D_DOWN, 2
- db D_RIGHT, 4
+ db PAD_DOWN, 2
+ db PAD_RIGHT, 4
db -1 ; end
RocketHideout2ArrowMovement7:
- db D_UP, 2
+ db PAD_UP, 2
db -1 ; end
RocketHideout2ArrowMovement8:
- db D_UP, 4
+ db PAD_UP, 4
db -1 ; end
RocketHideout2ArrowMovement9:
- db D_LEFT, 6
+ db PAD_LEFT, 6
db -1 ; end
RocketHideout2ArrowMovement10:
- db D_UP, 1
+ db PAD_UP, 1
db -1 ; end
RocketHideout2ArrowMovement11:
- db D_LEFT, 6
- db D_UP, 4
+ db PAD_LEFT, 6
+ db PAD_UP, 4
db -1 ; end
RocketHideout2ArrowMovement12:
- db D_DOWN, 2
+ db PAD_DOWN, 2
db -1 ; end
RocketHideout2ArrowMovement13:
- db D_LEFT, 8
+ db PAD_LEFT, 8
db -1 ; end
RocketHideout2ArrowMovement14:
- db D_LEFT, 8
- db D_UP, 1
+ db PAD_LEFT, 8
+ db PAD_UP, 1
db -1 ; end
RocketHideout2ArrowMovement15:
- db D_LEFT, 8
- db D_UP, 6
+ db PAD_LEFT, 8
+ db PAD_UP, 6
db -1 ; end
RocketHideout2ArrowMovement16:
- db D_UP, 2
- db D_RIGHT, 4
+ db PAD_UP, 2
+ db PAD_RIGHT, 4
db -1 ; end
RocketHideout2ArrowMovement17:
- db D_UP, 2
- db D_RIGHT, 4
- db D_UP, 2
+ db PAD_UP, 2
+ db PAD_RIGHT, 4
+ db PAD_UP, 2
db -1 ; end
RocketHideout2ArrowMovement18:
- db D_DOWN, 2
- db D_RIGHT, 4
- db D_DOWN, 2
+ db PAD_DOWN, 2
+ db PAD_RIGHT, 4
+ db PAD_DOWN, 2
db -1 ; end
RocketHideout2ArrowMovement19:
- db D_DOWN, 2
- db D_RIGHT, 4
+ db PAD_DOWN, 2
+ db PAD_RIGHT, 4
db -1 ; end
RocketHideout2ArrowMovement20:
- db D_LEFT, 10
+ db PAD_LEFT, 10
db -1 ; end
RocketHideout2ArrowMovement21:
- db D_LEFT, 10
- db D_UP, 2
+ db PAD_LEFT, 10
+ db PAD_UP, 2
db -1 ; end
RocketHideout2ArrowMovement22:
- db D_LEFT, 10
- db D_UP, 4
+ db PAD_LEFT, 10
+ db PAD_UP, 4
db -1 ; end
RocketHideout2ArrowMovement23:
- db D_UP, 2
- db D_RIGHT, 2
+ db PAD_UP, 2
+ db PAD_RIGHT, 2
db -1 ; end
RocketHideout2ArrowMovement24:
- db D_RIGHT, 1
- db D_DOWN, 2
+ db PAD_RIGHT, 1
+ db PAD_DOWN, 2
db -1 ; end
RocketHideout2ArrowMovement25:
- db D_RIGHT, 1
+ db PAD_RIGHT, 1
db -1 ; end
RocketHideout2ArrowMovement26:
- db D_DOWN, 2
- db D_RIGHT, 2
+ db PAD_DOWN, 2
+ db PAD_RIGHT, 2
db -1 ; end
RocketHideout2ArrowMovement27:
- db D_DOWN, 2
- db D_LEFT, 2
+ db PAD_DOWN, 2
+ db PAD_LEFT, 2
db -1 ; end
RocketHideout2ArrowMovement28:
- db D_UP, 2
- db D_RIGHT, 4
- db D_UP, 2
- db D_LEFT, 3
+ db PAD_UP, 2
+ db PAD_RIGHT, 4
+ db PAD_UP, 2
+ db PAD_LEFT, 3
db -1 ; end
RocketHideout2ArrowMovement29:
- db D_DOWN, 2
- db D_LEFT, 4
+ db PAD_DOWN, 2
+ db PAD_LEFT, 4
db -1 ; end
RocketHideout2ArrowMovement30:
- db D_LEFT, 6
- db D_UP, 4
- db D_LEFT, 5
+ db PAD_LEFT, 6
+ db PAD_UP, 4
+ db PAD_LEFT, 5
db -1 ; end
RocketHideout2ArrowMovement31:
- db D_UP, 2
+ db PAD_UP, 2
db -1 ; end
RocketHideout2ArrowMovement32:
- db D_UP, 1
+ db PAD_UP, 1
db -1 ; end
RocketHideout2ArrowMovement33:
- db D_UP, 3
+ db PAD_UP, 3
db -1 ; end
RocketHideout2ArrowMovement34:
- db D_UP, 5
+ db PAD_UP, 5
db -1 ; end
RocketHideout2ArrowMovement35:
- db D_RIGHT, 1
- db D_DOWN, 2
- db D_LEFT, 4
+ db PAD_RIGHT, 1
+ db PAD_DOWN, 2
+ db PAD_LEFT, 4
db -1 ; end
RocketHideout2ArrowMovement36:
- db D_LEFT, 10
- db D_UP, 2
- db D_LEFT, 5
+ db PAD_LEFT, 10
+ db PAD_UP, 2
+ db PAD_LEFT, 5
db -1 ; end
RocketHideoutB2FPlayerSpinningScript:
diff --git a/scripts/RocketHideoutB3F.asm b/scripts/RocketHideoutB3F.asm
index 0c0e02ea..bf6a1176 100644
--- a/scripts/RocketHideoutB3F.asm
+++ b/scripts/RocketHideoutB3F.asm
@@ -28,7 +28,7 @@ RocketHideoutB3FDefaultScript:
call StartSimulatingJoypadStates
ld a, SFX_ARROW_TILES
call PlaySound
- ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_A | PAD_B | PAD_SELECT | PAD_START | PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ld a, SCRIPT_ROCKETHIDEOUTB3F_PLAYER_SPINNING
ld [wCurMapScript], a
@@ -56,61 +56,61 @@ RocketHideout3ArrowTilePlayerMovement:
;format: direction, count
;each list is read starting from the $FF and working backwards
RocketHideout3ArrowMovement1:
- db D_RIGHT, 4
- db D_UP, 4
- db D_RIGHT, 4
+ db PAD_RIGHT, 4
+ db PAD_UP, 4
+ db PAD_RIGHT, 4
db -1 ; end
RocketHideout3ArrowMovement2:
- db D_DOWN, 4
- db D_RIGHT, 4
+ db PAD_DOWN, 4
+ db PAD_RIGHT, 4
db -1 ; end
RocketHideout3ArrowMovement3:
- db D_LEFT, 2
+ db PAD_LEFT, 2
db -1 ; end
RocketHideout3ArrowMovement4:
- db D_RIGHT, 4
- db D_UP, 2
- db D_RIGHT, 2
+ db PAD_RIGHT, 4
+ db PAD_UP, 2
+ db PAD_RIGHT, 2
db -1 ; end
RocketHideout3ArrowMovement5:
- db D_RIGHT, 4
- db D_UP, 2
- db D_RIGHT, 2
- db D_UP, 3
+ db PAD_RIGHT, 4
+ db PAD_UP, 2
+ db PAD_RIGHT, 2
+ db PAD_UP, 3
db -1 ; end
RocketHideout3ArrowMovement6:
- db D_RIGHT, 4
+ db PAD_RIGHT, 4
db -1 ; end
RocketHideout3ArrowMovement7:
- db D_RIGHT, 2
+ db PAD_RIGHT, 2
db -1 ; end
RocketHideout3ArrowMovement8:
- db D_RIGHT, 4
- db D_UP, 2
+ db PAD_RIGHT, 4
+ db PAD_UP, 2
db -1 ; end
RocketHideout3ArrowMovement9:
- db D_RIGHT, 4
- db D_UP, 4
+ db PAD_RIGHT, 4
+ db PAD_UP, 4
db -1 ; end
RocketHideout3ArrowMovement10:
- db D_DOWN, 4
+ db PAD_DOWN, 4
db -1 ; end
RocketHideout3ArrowMovement11:
- db D_UP, 2
+ db PAD_UP, 2
db -1 ; end
RocketHideout3ArrowMovement12:
- db D_UP, 1
+ db PAD_UP, 1
db -1 ; end
RocketHideoutB3FPlayerSpinningScript:
diff --git a/scripts/RocketHideoutB4F.asm b/scripts/RocketHideoutB4F.asm
index a8445db3..3920f70d 100644
--- a/scripts/RocketHideoutB4F.asm
+++ b/scripts/RocketHideoutB4F.asm
@@ -49,7 +49,7 @@ RocketHideoutB4FBeatGiovanniScript:
cp $ff
jp z, RocketHideoutB4FSetDefaultScript
call UpdateSprites
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
SetEvent EVENT_BEAT_ROCKET_HIDEOUT_GIOVANNI
ld a, TEXT_ROCKETHIDEOUTB4F_GIOVANNI_HOPE_WE_MEET_AGAIN
diff --git a/scripts/Route16Gate1F.asm b/scripts/Route16Gate1F.asm
index a8bf2f0f..464cb939 100644
--- a/scripts/Route16Gate1F.asm
+++ b/scripts/Route16Gate1F.asm
@@ -32,7 +32,7 @@ Route16Gate1FDefaultScript:
ld [wSimulatedJoypadStatesIndex], a
ld b, $0
ld c, a
- ld a, D_UP
+ ld a, PAD_UP
ld hl, wSimulatedJoypadStatesEnd
call FillMemory
call StartSimulatingJoypadStates
@@ -55,7 +55,7 @@ Route16Gate1FPlayerMovingUpScript:
ld a, [wSimulatedJoypadStatesIndex]
and a
ret nz
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
Route16Gate1FGuardScript:
@@ -64,7 +64,7 @@ Route16Gate1FGuardScript:
call DisplayTextID
ld a, $1
ld [wSimulatedJoypadStatesIndex], a
- ld a, D_RIGHT
+ ld a, PAD_RIGHT
ld [wSimulatedJoypadStatesEnd], a
call StartSimulatingJoypadStates
ld a, SCRIPT_ROUTE16GATE1F_PLAYER_MOVING_RIGHT
diff --git a/scripts/Route18Gate1F.asm b/scripts/Route18Gate1F.asm
index a2b4dcdf..d97e3101 100644
--- a/scripts/Route18Gate1F.asm
+++ b/scripts/Route18Gate1F.asm
@@ -32,7 +32,7 @@ Route18Gate1FDefaultScript:
ld [wSimulatedJoypadStatesIndex], a
ld b, 0
ld c, a
- ld a, D_UP
+ ld a, PAD_UP
ld hl, wSimulatedJoypadStatesEnd
call FillMemory
call StartSimulatingJoypadStates
@@ -55,7 +55,7 @@ Route18Gate1FPlayerMovingUpScript:
ld a, [wSimulatedJoypadStatesIndex]
and a
ret nz
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
Route18Gate1FGuardScript:
@@ -64,7 +64,7 @@ Route18Gate1FGuardScript:
call DisplayTextID
ld a, $1
ld [wSimulatedJoypadStatesIndex], a
- ld a, D_RIGHT
+ ld a, PAD_RIGHT
ld [wSimulatedJoypadStatesEnd], a
call StartSimulatingJoypadStates
ld a, SCRIPT_ROUTE18GATE1F_PLAYER_MOVING_RIGHT
diff --git a/scripts/Route22.asm b/scripts/Route22.asm
index 1a2602fd..cab9ec33 100644
--- a/scripts/Route22.asm
+++ b/scripts/Route22.asm
@@ -65,7 +65,7 @@ Route22DefaultScript:
ld [wSavedCoordIndex], a
xor a
ldh [hJoyHeld], a
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ld a, PLAYER_DIR_LEFT
ld [wPlayerMovingDirection], a
@@ -162,7 +162,7 @@ Route22Rival1AfterBattleScript:
ld a, ROUTE22_RIVAL1
ldh [hSpriteIndex], a
call SetSpriteFacingDirectionAndDelay
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
SetEvent EVENT_BEAT_ROUTE22_RIVAL_1ST_BATTLE
ld a, TEXT_ROUTE22_RIVAL1
@@ -321,7 +321,7 @@ Route22Rival2AfterBattleScript:
.set_rival_facing_direction
ldh [hSpriteFacingDirection], a
call SetSpriteFacingDirectionAndDelay
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
SetEvent EVENT_BEAT_ROUTE22_RIVAL_2ND_BATTLE
ld a, TEXT_ROUTE22_RIVAL2
diff --git a/scripts/Route22Gate.asm b/scripts/Route22Gate.asm
index d6160ad8..e8e13b3c 100644
--- a/scripts/Route22Gate.asm
+++ b/scripts/Route22Gate.asm
@@ -36,7 +36,7 @@ Route22GateScriptCoords:
Route22GateMovePlayerDownScript:
ld a, $1
ld [wSimulatedJoypadStatesIndex], a
- ld a, D_DOWN
+ ld a, PAD_DOWN
ld [wSimulatedJoypadStatesEnd], a
ld [wSpritePlayerStateData1FacingDirection], a
ld [wJoyIgnore], a
diff --git a/scripts/Route23.asm b/scripts/Route23.asm
index ac4853d8..e2a66c4e 100644
--- a/scripts/Route23.asm
+++ b/scripts/Route23.asm
@@ -123,7 +123,7 @@ CascadeBadgeText:
Route23MovePlayerDownScript:
ld a, $1
ld [wSimulatedJoypadStatesIndex], a
- ld a, D_DOWN
+ ld a, PAD_DOWN
ld [wSimulatedJoypadStatesEnd], a
xor a
ld [wSpritePlayerStateData1FacingDirection], a
diff --git a/scripts/Route24.asm b/scripts/Route24.asm
index 53185147..c18da62f 100644
--- a/scripts/Route24.asm
+++ b/scripts/Route24.asm
@@ -35,7 +35,7 @@ Route24DefaultScript:
call DisplayTextID
CheckAndResetEvent EVENT_NUGGET_REWARD_AVAILABLE
ret z
- ld a, D_DOWN
+ ld a, PAD_DOWN
ld [wSimulatedJoypadStatesEnd], a
ld a, $1
ld [wSimulatedJoypadStatesIndex], a
@@ -64,7 +64,7 @@ Route24AfterRocketBattleScript:
cp $ff
jp z, Route24SetDefaultScript
call UpdateSprites
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
SetEvent EVENT_BEAT_ROUTE24_ROCKET
ld a, TEXT_ROUTE24_COOLTRAINER_M1
diff --git a/scripts/Route5Gate.asm b/scripts/Route5Gate.asm
index 0ccf9fae..581a3da5 100644
--- a/scripts/Route5Gate.asm
+++ b/scripts/Route5Gate.asm
@@ -10,7 +10,7 @@ Route5Gate_ScriptPointers:
dw_const Route5GatePlayerMovingScript, SCRIPT_ROUTE5GATE_PLAYER_MOVING
Route5GateMovePlayerUpScript:
- ld a, D_UP
+ ld a, PAD_UP
ld [wSimulatedJoypadStatesEnd], a
ld a, $1
ld [wSimulatedJoypadStatesIndex], a
diff --git a/scripts/Route6Gate.asm b/scripts/Route6Gate.asm
index 48228c7d..40f7d5ca 100644
--- a/scripts/Route6Gate.asm
+++ b/scripts/Route6Gate.asm
@@ -57,7 +57,7 @@ Route6GatePlayerMovingScript:
Route6GateMovePlayerDownScript:
ld hl, wStatusFlags5
set BIT_SCRIPTED_MOVEMENT_STATE, [hl]
- ld a, D_DOWN
+ ld a, PAD_DOWN
ld [wSimulatedJoypadStatesEnd], a
ld a, $1
ld [wSimulatedJoypadStatesIndex], a
diff --git a/scripts/Route7Gate.asm b/scripts/Route7Gate.asm
index e599e147..01f597ff 100644
--- a/scripts/Route7Gate.asm
+++ b/scripts/Route7Gate.asm
@@ -13,7 +13,7 @@ Route7Gate_ScriptPointers:
Route7GateMovePlayerLeftScript:
ld hl, wStatusFlags5
set BIT_SCRIPTED_MOVEMENT_STATE, [hl]
- ld a, D_LEFT
+ ld a, PAD_LEFT
ld [wSimulatedJoypadStatesEnd], a
ld a, $1
ld [wSimulatedJoypadStatesIndex], a
diff --git a/scripts/Route8Gate.asm b/scripts/Route8Gate.asm
index 44e94a0c..533e45f6 100644
--- a/scripts/Route8Gate.asm
+++ b/scripts/Route8Gate.asm
@@ -12,7 +12,7 @@ Route8Gate_ScriptPointers:
Route8GateMovePlayerRightScript:
ld hl, wStatusFlags5
set BIT_SCRIPTED_MOVEMENT_STATE, [hl]
- ld a, D_RIGHT
+ ld a, PAD_RIGHT
ld [wSimulatedJoypadStatesEnd], a
ld a, $1
ld [wSimulatedJoypadStatesIndex], a
diff --git a/scripts/SSAnne2F.asm b/scripts/SSAnne2F.asm
index 5bd5589d..45dece40 100644
--- a/scripts/SSAnne2F.asm
+++ b/scripts/SSAnne2F.asm
@@ -42,7 +42,7 @@ SSAnne2FDefaultScript:
call SetSpriteMovementBytesToFF
xor a
ldh [hJoyHeld], a
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ldh a, [hSavedCoordIndex]
cp $2
@@ -126,7 +126,7 @@ SSAnne2FRivalAfterBattleScript:
cp $ff
jp z, SSAnne2FResetScripts
call SSAnne2FSetFacingDirectionScript
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ld a, TEXT_SSANNE2F_RIVAL_CUT_MASTER
ldh [hTextID], a
diff --git a/scripts/SafariZoneGate.asm b/scripts/SafariZoneGate.asm
index 74a7baa1..87b6ec6d 100644
--- a/scripts/SafariZoneGate.asm
+++ b/scripts/SafariZoneGate.asm
@@ -22,7 +22,7 @@ SafariZoneGateDefaultScript:
ld a, TEXT_SAFARIZONEGATE_SAFARI_ZONE_WORKER1_1
ldh [hTextID], a
call DisplayTextID
- ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_A | PAD_B | PAD_SELECT | PAD_START | PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
xor a
ldh [hJoyHeld], a
@@ -35,10 +35,10 @@ SafariZoneGateDefaultScript:
ld [wSafariZoneGateCurScript], a
ret
.player_not_next_to_worker
- ld a, D_RIGHT
+ ld a, PAD_RIGHT
ld c, 1
call SafariZoneEntranceAutoWalk
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ld a, SCRIPT_SAFARIZONEGATE_PLAYER_MOVING_RIGHT
ld [wSafariZoneGateCurScript], a
@@ -60,7 +60,7 @@ SafariZoneGateWouldYouLikeToJoinScript:
ld a, TEXT_SAFARIZONEGATE_SAFARI_ZONE_WORKER1_WOULD_YOU_LIKE_TO_JOIN
ldh [hTextID], a
call DisplayTextID
- ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_A | PAD_B | PAD_SELECT | PAD_START | PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ret
@@ -80,14 +80,14 @@ SafariZoneGateLeavingSafariScript:
jr z, .leaving_early
ResetEventReuseHL EVENT_IN_SAFARI_ZONE
call UpdateSprites
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ld a, TEXT_SAFARIZONEGATE_SAFARI_ZONE_WORKER1_GOOD_HAUL_COME_AGAIN
ldh [hTextID], a
call DisplayTextID
xor a
ld [wNumSafariBalls], a
- ld a, D_DOWN
+ ld a, PAD_DOWN
ld c, 3
call SafariZoneEntranceAutoWalk
ld a, SCRIPT_SAFARIZONEGATE_PLAYER_MOVING_DOWN
@@ -189,7 +189,7 @@ SafariZoneGateSafariZoneWorker1WouldYouLikeToJoinText:
ld [wSafariSteps], a
ld a, LOW(502)
ld [wSafariSteps + 1], a
- ld a, D_UP
+ ld a, PAD_UP
ld c, 3
call SafariZoneEntranceAutoWalk
SetEvent EVENT_IN_SAFARI_ZONE
@@ -202,7 +202,7 @@ SafariZoneGateSafariZoneWorker1WouldYouLikeToJoinText:
ld hl, .PleaseComeAgainText
call PrintText
.CantPayWalkDown
- ld a, D_DOWN
+ ld a, PAD_DOWN
ld c, 1
call SafariZoneEntranceAutoWalk
ld a, SCRIPT_SAFARIZONEGATE_PLAYER_MOVING_DOWN
@@ -235,7 +235,7 @@ SafariZoneGateSafariZoneWorker1LeavingEarlyText:
call PrintText
xor a
ld [wSpritePlayerStateData1FacingDirection], a
- ld a, D_DOWN
+ ld a, PAD_DOWN
ld c, 3
call SafariZoneEntranceAutoWalk
ResetEvents EVENT_SAFARI_GAME_OVER, EVENT_IN_SAFARI_ZONE
@@ -247,7 +247,7 @@ SafariZoneGateSafariZoneWorker1LeavingEarlyText:
call PrintText
ld a, SPRITE_FACING_UP
ld [wSpritePlayerStateData1FacingDirection], a
- ld a, D_UP
+ ld a, PAD_UP
ld c, 1
call SafariZoneEntranceAutoWalk
ld a, SCRIPT_SAFARIZONEGATE_LEAVING_SAFARI
diff --git a/scripts/SaffronGym.asm b/scripts/SaffronGym.asm
index 4bfb7b2c..afa37fe9 100644
--- a/scripts/SaffronGym.asm
+++ b/scripts/SaffronGym.asm
@@ -40,7 +40,7 @@ SaffronGymSabrinaPostBattle:
ld a, [wIsInBattle]
cp $ff
jp z, SaffronGymResetScripts
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
SaffronGymSabrinaReceiveTM46Script:
diff --git a/scripts/SeafoamIslandsB3F.asm b/scripts/SeafoamIslandsB3F.asm
index 23dfd050..671d7719 100644
--- a/scripts/SeafoamIslandsB3F.asm
+++ b/scripts/SeafoamIslandsB3F.asm
@@ -79,9 +79,9 @@ SeafoamIslandsB3FDefaultScript:
ret
RLEList_ForcedSurfingStrongCurrentNearSteps:
- db D_DOWN, 6
- db D_RIGHT, 5
- db D_DOWN, 3
+ db PAD_DOWN, 6
+ db PAD_RIGHT, 5
+ db PAD_DOWN, 3
db -1 ; end
SeafoamIslandsB3FObjectMoving1Script:
@@ -122,16 +122,16 @@ SeafoamIslandsB3FMoveObjectScript:
ret
.RLEList_StrongCurrentNearRightBoulder:
- db D_DOWN, 6
- db D_RIGHT, 2
- db D_DOWN, 4
- db D_LEFT, 1
+ db PAD_DOWN, 6
+ db PAD_RIGHT, 2
+ db PAD_DOWN, 4
+ db PAD_LEFT, 1
db -1 ; end
.RLEList_StrongCurrentNearLeftBoulder:
- db D_DOWN, 6
- db D_RIGHT, 2
- db D_DOWN, 4
+ db PAD_DOWN, 6
+ db PAD_RIGHT, 2
+ db PAD_DOWN, 4
db -1 ; end
SeafoamIslandsB3FObjectMoving2Script:
diff --git a/scripts/SeafoamIslandsB4F.asm b/scripts/SeafoamIslandsB4F.asm
index 783b410d..314a8d50 100644
--- a/scripts/SeafoamIslandsB4F.asm
+++ b/scripts/SeafoamIslandsB4F.asm
@@ -45,7 +45,7 @@ SeafoamIslandsB4FDefaultScript:
ld a, 1
.forcePlayerUpFromSurfExit
ld [wSimulatedJoypadStatesIndex], a
- ld a, D_UP
+ ld a, PAD_UP
ld [wSimulatedJoypadStatesEnd], a
call StartSimulatingJoypadStates
ld hl, wStatusFlags7
@@ -103,15 +103,15 @@ SeafoamIslandsB4FMoveObjectScript:
db -1 ; end
.RLEList_StrongCurrentNearRightBoulder:
- db D_UP, 3
- db D_RIGHT, 2
- db D_UP, 1
+ db PAD_UP, 3
+ db PAD_RIGHT, 2
+ db PAD_UP, 1
db -1 ; end
.RLEList_StrongCurrentNearLeftBoulder:
- db D_UP, 3
- db D_RIGHT, 3
- db D_UP, 1
+ db PAD_UP, 3
+ db PAD_RIGHT, 3
+ db PAD_UP, 1
db -1 ; end
SeafoamIslandsB4FObjectMoving2Script:
diff --git a/scripts/SilphCo11F.asm b/scripts/SilphCo11F.asm
index 6953d37c..c1f3ff6b 100644
--- a/scripts/SilphCo11F.asm
+++ b/scripts/SilphCo11F.asm
@@ -173,7 +173,7 @@ SilphCo11FDefaultScript:
ld [wSavedCoordIndex], a
xor a
ldh [hJoyHeld], a
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ld a, TEXT_SILPHCO11F_GIOVANNI
ldh [hTextID], a
@@ -220,7 +220,7 @@ SilphCo11FGiovanniAfterBattleScript:
ld b, SPRITE_FACING_DOWN
.continue
call SilphCo11FSetPlayerAndSpriteFacingDirectionScript
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ld a, TEXT_SILPHCO11F_GIOVANNI_YOU_RUINED_OUR_PLANS
ldh [hTextID], a
diff --git a/scripts/SilphCo7F.asm b/scripts/SilphCo7F.asm
index 358be537..f52fd56a 100644
--- a/scripts/SilphCo7F.asm
+++ b/scripts/SilphCo7F.asm
@@ -127,7 +127,7 @@ SilphCo7FDefaultScript:
jp nc, CheckFightingMapTrainers
xor a
ldh [hJoyHeld], a
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ld a, PLAYER_DIR_DOWN
ld [wPlayerMovingDirection], a
@@ -207,7 +207,7 @@ SilphCo7FRivalAfterBattleScript:
ld a, [wIsInBattle]
cp $ff
jp z, SilphCo7FSetDefaultScript
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
SetEvent EVENT_BEAT_SILPH_CO_RIVAL
ld a, PLAYER_DIR_DOWN
diff --git a/scripts/VermilionCity.asm b/scripts/VermilionCity.asm
index 40a08dbc..5d19ed64 100644
--- a/scripts/VermilionCity.asm
+++ b/scripts/VermilionCity.asm
@@ -59,7 +59,7 @@ VermilionCityDefaultScript:
and a
ret nz
.ship_departed
- ld a, D_UP
+ ld a, PAD_UP
ld [wSimulatedJoypadStatesEnd], a
ld a, $1
ld [wSimulatedJoypadStatesIndex], a
@@ -81,9 +81,9 @@ VermilionCityPlayerAllowedToPassScript:
ret
VermilionCityPlayerExitShipScript:
- ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_A | PAD_B | PAD_SELECT | PAD_START | PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
- ld a, D_UP
+ ld a, PAD_UP
ld [wSimulatedJoypadStatesEnd], a
ld [wSimulatedJoypadStatesEnd + 1], a
ld a, 2
diff --git a/scripts/VermilionDock.asm b/scripts/VermilionDock.asm
index 532a9bb5..d626a630 100644
--- a/scripts/VermilionDock.asm
+++ b/scripts/VermilionDock.asm
@@ -14,7 +14,7 @@ VermilionDock_Script:
ld hl, wStatusFlags5
set BIT_SCRIPTED_MOVEMENT_STATE, [hl]
ld hl, wSimulatedJoypadStatesEnd
- ld a, D_UP
+ ld a, PAD_UP
ld [hli], a
ld [hli], a
ld [hl], a
diff --git a/scripts/VermilionGym.asm b/scripts/VermilionGym.asm
index 8d3a33b6..3fdd713d 100644
--- a/scripts/VermilionGym.asm
+++ b/scripts/VermilionGym.asm
@@ -59,7 +59,7 @@ VermilionGymLTSurgeAfterBattleScript:
ld a, [wIsInBattle]
cp $ff ; did we lose?
jp z, VermilionGymResetScripts
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
VermilionGymLTSurgeReceiveTM24Script:
diff --git a/scripts/ViridianCity.asm b/scripts/ViridianCity.asm
index 473b7ee5..e30f41f1 100644
--- a/scripts/ViridianCity.asm
+++ b/scripts/ViridianCity.asm
@@ -118,7 +118,7 @@ ViridianCityMovePlayerDownScript:
call StartSimulatingJoypadStates
ld a, $1
ld [wSimulatedJoypadStatesIndex], a
- ld a, D_DOWN
+ ld a, PAD_DOWN
ld [wSimulatedJoypadStatesEnd], a
xor a
ld [wSpritePlayerStateData1FacingDirection], a
diff --git a/scripts/ViridianGym.asm b/scripts/ViridianGym.asm
index 55d849d2..49253c4b 100644
--- a/scripts/ViridianGym.asm
+++ b/scripts/ViridianGym.asm
@@ -45,7 +45,7 @@ ViridianGymDefaultScript:
set BIT_SPINNING, [hl]
ld a, SFX_ARROW_TILES
call PlaySound
- ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_A | PAD_B | PAD_SELECT | PAD_START | PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
ld a, SCRIPT_VIRIDIANGYM_PLAYER_SPINNING
ld [wCurMapScript], a
@@ -67,51 +67,51 @@ ViridianGymArrowTilePlayerMovement:
db -1 ; end
ViridianGymArrowMovement1:
- db D_UP, 9
+ db PAD_UP, 9
db -1 ; end
ViridianGymArrowMovement2:
- db D_LEFT, 8
+ db PAD_LEFT, 8
db -1 ; end
ViridianGymArrowMovement3:
- db D_DOWN, 9
+ db PAD_DOWN, 9
db -1 ; end
ViridianGymArrowMovement4:
- db D_RIGHT, 6
+ db PAD_RIGHT, 6
db -1 ; end
ViridianGymArrowMovement5:
- db D_DOWN, 2
+ db PAD_DOWN, 2
db -1 ; end
ViridianGymArrowMovement6:
- db D_DOWN, 7
+ db PAD_DOWN, 7
db -1 ; end
ViridianGymArrowMovement7:
- db D_RIGHT, 8
+ db PAD_RIGHT, 8
db -1 ; end
ViridianGymArrowMovement8:
- db D_RIGHT, 9
+ db PAD_RIGHT, 9
db -1 ; end
ViridianGymArrowMovement9:
- db D_UP, 8
+ db PAD_UP, 8
db -1 ; end
ViridianGymArrowMovement10:
- db D_UP, 6
+ db PAD_UP, 6
db -1 ; end
ViridianGymArrowMovement11:
- db D_LEFT, 6
+ db PAD_LEFT, 6
db -1 ; end
ViridianGymArrowMovement12:
- db D_LEFT, 12
+ db PAD_LEFT, 12
db -1 ; end
ViridianGymPlayerSpinningScript:
@@ -132,7 +132,7 @@ ViridianGymGiovanniPostBattle:
ld a, [wIsInBattle]
cp $ff
jp z, ViridianGymResetScripts
- ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
+ ld a, PAD_RIGHT | PAD_LEFT | PAD_UP | PAD_DOWN
ld [wJoyIgnore], a
; fallthrough
ViridianGymReceiveTM27:
diff --git a/scripts/ViridianMart.asm b/scripts/ViridianMart.asm
index f54f3c26..34e1281c 100644
--- a/scripts/ViridianMart.asm
+++ b/scripts/ViridianMart.asm
@@ -41,8 +41,8 @@ ViridianMartDefaultScript:
ret
.PlayerMovement:
- db D_LEFT, 1
- db D_UP, 2
+ db PAD_LEFT, 1
+ db PAD_UP, 2
db -1 ; end
ViridianMartOaksParcelScript: