diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 228cbc79..a016aac7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -16,7 +16,7 @@ jobs: uses: actions/checkout@master with: path: rgbds - ref: v0.9.2 + ref: v0.9.3 repository: gbdev/rgbds - name: Install rgbds diff --git a/.rgbds-version b/.rgbds-version new file mode 100644 index 00000000..965065db --- /dev/null +++ b/.rgbds-version @@ -0,0 +1 @@ +0.9.3 diff --git a/INSTALL.md b/INSTALL.md index 07b01b58..52bc4270 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -42,9 +42,9 @@ Run setup and leave the default settings. At the "**Select Packages**" step, cho Double click on the text that says "**Skip**" next to each package to select the most recent version to install. -Then follow the [**rgbds** install instructions](https://rgbds.gbdev.io/install#pre-built) for Windows with Cygwin to install **rgbds 0.9.2**. +Then follow the [**rgbds** install instructions](https://rgbds.gbdev.io/install#pre-built) for Windows with Cygwin to install **rgbds 0.9.3**. -**Note:** If you already have an installed rgbds older than 0.9.2, you will need to update to 0.9.2. Ignore this if you have never installed rgbds before. If a version newer than 0.9.2 does not work, try downloading 0.9.2. +**Note:** If you already have an installed rgbds older than 0.9.3, you will need to update to 0.9.3. Ignore this if you have never installed rgbds before. If a version newer than 0.9.3 does not work, try downloading 0.9.3. Now open the **Cygwin terminal** and enter the following commands. @@ -67,7 +67,7 @@ Install [**Homebrew**](https://brew.sh/). Follow the official instructions. Open **Terminal** and prepare to enter commands. -Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#pre-built) for macOS to install **rgbds 0.9.2**. +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#pre-built) for macOS to install **rgbds 0.9.3**. Now you're ready to [build **pokeyellow**](#build-pokeyellow). @@ -84,7 +84,7 @@ To install the software required for **pokeyellow**: sudo apt-get install make gcc git ``` -Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.9.2** from source. +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.9.3** from source. ### OpenSUSE @@ -94,7 +94,7 @@ To install the software required for **pokeyellow**: sudo zypper install make gcc git ``` -Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.9.2** from source. +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.9.3** from source. ### Arch Linux @@ -104,7 +104,7 @@ To install the software required for **pokeyellow**: sudo pacman -S make gcc git rgbds ``` -If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.9.2** from source. +If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.9.3** from source. ### Termux @@ -120,7 +120,7 @@ To install **rgbds**: pkg install rgbds ``` -If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.9.2** from source. +If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.9.3** from source. ### Other distros @@ -131,7 +131,7 @@ If your distro is not listed here, try to find the required software in its repo - `git` - `rgbds` -If `rgbds` is not available, you'll need to follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.9.2** from source. +If `rgbds` is not available, you'll need to follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.9.3** from source. Now you're ready to [build **pokeyellow**](#build-pokeyellow). @@ -153,8 +153,8 @@ make ### Build with a local rgbds version -If you have different projects that require different versions of `rgbds`, it might not be convenient to install rgbds 0.9.2 globally. Instead, you can put its files in a directory within pokeyellow, such as `pokeyellow/rgbds-0.9.2/`. Then specify it when you run `make`: +If you have different projects that require different versions of `rgbds`, it might not be convenient to install rgbds 0.9.3 globally. Instead, you can put its files in a directory within pokeyellow, such as `pokeyellow/rgbds-0.9.3/`. Then specify it when you run `make`: ```bash -make RGBDS=rgbds-0.9.2/ +make RGBDS=rgbds-0.9.3/ ``` diff --git a/Makefile b/Makefile index eecc1565..bd6fff9b 100644 --- a/Makefile +++ b/Makefile @@ -160,14 +160,14 @@ gfx/surfing_pikachu/surfing_pikachu_3.2bpp: tools/gfx += --trim-whitespace %.png: ; %.2bpp: %.png - $(RGBGFX) $(rgbgfx) -o $@ $< + $(RGBGFX) --colors dmg=e4 $(rgbgfx) -o $@ $< $(if $(tools/gfx),\ - tools/gfx $(tools/gfx) -o $@ $@) + tools/gfx $(tools/gfx) -o $@ $@ || $$($(RM) $@ && false)) %.1bpp: %.png - $(RGBGFX) $(rgbgfx) --depth 1 -o $@ $< + $(RGBGFX) --colors dmg=e4 $(rgbgfx) --depth 1 -o $@ $< $(if $(tools/gfx),\ - tools/gfx $(tools/gfx) --depth 1 -o $@ $@) + tools/gfx $(tools/gfx) --depth 1 -o $@ $@ || $$($(RM) $@ && false)) %.pic: %.2bpp tools/pkmncompress $< $@ diff --git a/audio/engine_1.asm b/audio/engine_1.asm index fc70c73d..930c085e 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 - ld a, $80 - ldh [rNR30], a + ldh [rAUDTERM], a + ldh [rAUD3ENA], a + ld a, AUD3ENA_ON + ldh [rAUD3ENA], a jr .nextChannel .applyAffects call Audio1_ApplyMusicAffects @@ -191,10 +191,10 @@ Audio1_sound_ret: cp CHAN7 jr nz, .skipSfxChannel3 ; restart hardware channel 3 (wave channel) output - ld a, $0 - ldh [rNR30], a - ld a, $80 - ldh [rNR30], a + ld a, AUD3ENA_OFF + ldh [rAUD3ENA], a + ld a, AUD3ENA_ON + ldh [rAUD3ENA], a .skipSfxChannel3 jr nz, .dontDisable ld a, [wDisableChannelOutputWhenSfxEnds] @@ -228,9 +228,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 @@ -250,7 +250,7 @@ Audio1_sound_ret: ret c .skipRewind ld a, [wSavedVolume] - ldh [rNR50], a + ldh [rAUDVOL], a xor a ld [wSavedVolume], a .skipCry @@ -558,7 +558,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: @@ -648,7 +648,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: @@ -780,9 +780,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 @@ -855,7 +855,7 @@ Audio1_EnableChannelOutput: ld b, 0 call Audio1_ApplyMonoStereo add hl, bc - ldh a, [rNR51] + ldh a, [rAUDTERM] or [hl] ; set this channel's bits ld d, a ld a, c @@ -877,7 +877,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 @@ -885,7 +885,7 @@ Audio1_EnableChannelOutput: ld d, a .skip ld a, d - ldh [rNR51], a + ldh [rAUDTERM], a ret Audio1_ApplyDutyCycleAndSoundLength: @@ -936,10 +936,10 @@ Audio1_ApplyWavePatternAndFrequency: ld e, [hl] inc hl ld d, [hl] - ld hl, rWave_0 - ld b, $f + ld hl, _AUD3WAVERAM + ld b, AUD3WAVE_SIZE - 1 ld a, $0 ; stop hardware channel 3 - ldh [rNR30], a + ldh [rAUD3ENA], a .loop ld a, [de] inc de @@ -948,8 +948,8 @@ Audio1_ApplyWavePatternAndFrequency: dec b and a jr nz, .loop - ld a, $80 ; start hardware channel 3 - ldh [rNR30], a + ld a, AUD3ENA_ON ; start hardware channel 3 + ldh [rAUD3ENA], a pop de .notChannel3 ld a, d @@ -1546,10 +1546,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 2b5a219c..4d925ed4 100644 --- a/audio/engine_2.asm +++ b/audio/engine_2.asm @@ -182,10 +182,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 + ldh [rAUDVOL], a .done ret @@ -256,17 +256,17 @@ Audio2_InitMusicVariables:: ld a, $ff ld [wStereoPanning], a xor a - ldh [rNR50], a - ld a, $8 - ldh [rNR10], a + ldh [rAUDVOL], a + ld a, AUD1SWEEP_DOWN + ldh [rAUD1SWEEP], a ld a, 0 - ldh [rNR51], a + ldh [rAUDTERM], a xor a - ldh [rNR30], a - ld a, $80 - ldh [rNR30], a + ldh [rAUD3ENA], a + ld a, AUD3ENA_ON + ldh [rAUD3ENA], a ld a, $77 - ldh [rNR50], a + ldh [rAUDVOL], a ret Audio2_InitSFXVariables:: @@ -353,28 +353,28 @@ Audio2_InitSFXVariables:: ld a, e cp CHAN5 ret nz - ld a, $8 - ldh [rNR10], a ; sweep off + ld a, AUD1SWEEP_DOWN + ldh [rAUD1SWEEP], a ; sweep off ret Audio2_StopAllAudio:: - ld a, $80 - ldh [rNR52], a ; sound hardware on - ldh [rNR30], a ; wave playback on + ld a, AUDENA_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) - 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) - ld a, $40 - ldh [rNR14], a ; counter mode - ldh [rNR24], a - ldh [rNR44], a + ldh [rAUDTERM], a ; no sound output + ldh [rAUD3LEVEL], a ; mute channel 3 (wave channel) + ld a, AUD1SWEEP_DOWN + 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, AUD1HIGH_LENGTH_ON + 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 diff --git a/audio/engine_3.asm b/audio/engine_3.asm index 36de3fff..09ced4c0 100644 --- a/audio/engine_3.asm +++ b/audio/engine_3.asm @@ -180,10 +180,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/engine_4.asm b/audio/engine_4.asm index 12d72d08..fb6b966a 100644 --- a/audio/engine_4.asm +++ b/audio/engine_4.asm @@ -180,10 +180,10 @@ Audio4_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 d35c80bd..52d2d0fe 100644 --- a/audio/wave_samples.asm +++ b/audio/wave_samples.asm @@ -12,7 +12,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 2932f119..5bc38015 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 0f2fabd2..3418eee4 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,7 +7,7 @@ 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 ; DMGPalToCGBPal DEF CONVERT_BGP EQU 0 @@ -29,9 +19,6 @@ 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 +; 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 c3a224b3..00000000 --- a/constants/hardware_constants.asm +++ /dev/null @@ -1,127 +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_BANKING_MODE EQU $01 -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/map_data_constants.asm b/constants/map_data_constants.asm index b28b3d79..32a56518 100644 --- a/constants/map_data_constants.asm +++ b/constants/map_data_constants.asm @@ -16,6 +16,15 @@ DEF MAP_BORDER EQU 3 shift_const SOUTH ; 4 shift_const NORTH ; 8 +; wWarpEntries +DEF MAX_WARP_EVENTS EQU 32 + +; wNumSigns +DEF MAX_BG_EVENTS EQU 16 + +; wMapSpriteData +DEF MAX_OBJECT_EVENTS EQU 16 + ; flower and water tile animations const_def const TILEANIM_NONE ; 0 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/move_constants.asm b/constants/move_constants.asm index 3376c1af..1dccabfd 100644 --- a/constants/move_constants.asm +++ b/constants/move_constants.asm @@ -173,6 +173,8 @@ const STRUGGLE ; a5 DEF NUM_ATTACKS EQU const_value - 1 +DEF CANNOT_MOVE EQU $ff + ; Moves do double duty as animation identifiers. const SHOWPIC_ANIM diff --git a/constants/oam_constants.asm b/constants/oam_constants.asm index d0ae3157..f1ddf021 100644 --- a/constants/oam_constants.asm +++ b/constants/oam_constants.asm @@ -7,18 +7,4 @@ 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_HIGH_PALS EQU 1 << 2 ; palettes %100-%111 are OBP1 -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) +DEF OAM_HIGH_PALS EQU 1 << 2 ; palettes %100-%111 are OBP1 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/sprite_anims/surfing_pikachu_frames.asm b/data/sprite_anims/surfing_pikachu_frames.asm index cf3463a3..28381a7c 100644 --- a/data/sprite_anims/surfing_pikachu_frames.asm +++ b/data/sprite_anims/surfing_pikachu_frames.asm @@ -68,38 +68,38 @@ Unkn_f945e: dorestart Unkn_f9463: - frame $01, 8, OAM_HFLIP, OAM_VFLIP - frame $02, 8, OAM_HFLIP, OAM_VFLIP + frame $01, 8, OAM_XFLIP, OAM_YFLIP + frame $02, 8, OAM_XFLIP, OAM_YFLIP dorestart Unkn_f9468: - frame $03, 8, OAM_HFLIP, OAM_VFLIP - frame $04, 8, OAM_HFLIP, OAM_VFLIP + frame $03, 8, OAM_XFLIP, OAM_YFLIP + frame $04, 8, OAM_XFLIP, OAM_YFLIP dorestart Unkn_f946d: - frame $05, 8, OAM_HFLIP, OAM_VFLIP - frame $06, 8, OAM_HFLIP, OAM_VFLIP + frame $05, 8, OAM_XFLIP, OAM_YFLIP + frame $06, 8, OAM_XFLIP, OAM_YFLIP dorestart Unkn_f9472: - frame $07, 8, OAM_HFLIP, OAM_VFLIP - frame $08, 8, OAM_HFLIP, OAM_VFLIP + frame $07, 8, OAM_XFLIP, OAM_YFLIP + frame $08, 8, OAM_XFLIP, OAM_YFLIP dorestart Unkn_f9477: - frame $09, 8, OAM_HFLIP, OAM_VFLIP - frame $0a, 8, OAM_HFLIP, OAM_VFLIP + frame $09, 8, OAM_XFLIP, OAM_YFLIP + frame $0a, 8, OAM_XFLIP, OAM_YFLIP dorestart Unkn_f947c: - frame $0b, 8, OAM_HFLIP, OAM_VFLIP - frame $0c, 8, OAM_HFLIP, OAM_VFLIP + frame $0b, 8, OAM_XFLIP, OAM_YFLIP + frame $0c, 8, OAM_XFLIP, OAM_YFLIP dorestart Unkn_f9481: - frame $0d, 8, OAM_HFLIP, OAM_VFLIP - frame $0e, 8, OAM_HFLIP, OAM_VFLIP + frame $0d, 8, OAM_XFLIP, OAM_YFLIP + frame $0e, 8, OAM_XFLIP, OAM_YFLIP dorestart Unkn_f9486: diff --git a/data/sprites/facings.asm b/data/sprites/facings.asm index 74eb2525..ce5faa59 100644 --- a/data/sprites/facings.asm +++ b/data/sprites/facings.asm @@ -59,10 +59,10 @@ SpriteFacingAndAnimationTable: .WalkingDown2: db 4 ; # - db 0, 8, $80, OAM_HFLIP - db 0, 0, $81, OAM_HFLIP - db 8, 8, $82, OAM_HFLIP | UNDER_GRASS - db 8, 0, $83, OAM_HFLIP | UNDER_GRASS | FACING_END + db 0, 8, $80, OAM_XFLIP + db 0, 0, $81, OAM_XFLIP + db 8, 8, $82, OAM_XFLIP | UNDER_GRASS + db 8, 0, $83, OAM_XFLIP | UNDER_GRASS | FACING_END .StandingUp: db 4 ; # @@ -80,10 +80,10 @@ SpriteFacingAndAnimationTable: .WalkingUp2: db 4 ; # - db 0, 8, $84, OAM_HFLIP - db 0, 0, $85, OAM_HFLIP - db 8, 8, $86, OAM_HFLIP | UNDER_GRASS - db 8, 0, $87, OAM_HFLIP | UNDER_GRASS | FACING_END + db 0, 8, $84, OAM_XFLIP + db 0, 0, $85, OAM_XFLIP + db 8, 8, $86, OAM_XFLIP | UNDER_GRASS + db 8, 0, $87, OAM_XFLIP | UNDER_GRASS | FACING_END .StandingLeft: db 4 ; # @@ -101,26 +101,26 @@ SpriteFacingAndAnimationTable: .StandingRight: db 4 ; # - db 0, 8, $08, OAM_HFLIP - db 0, 0, $09, OAM_HFLIP - db 8, 8, $0a, OAM_HFLIP | UNDER_GRASS - db 8, 0, $0b, OAM_HFLIP | UNDER_GRASS | FACING_END + db 0, 8, $08, OAM_XFLIP + db 0, 0, $09, OAM_XFLIP + db 8, 8, $0a, OAM_XFLIP | UNDER_GRASS + db 8, 0, $0b, OAM_XFLIP | UNDER_GRASS | FACING_END .WalkingRight: db 4 ; # - db 0, 8, $88, OAM_HFLIP - db 0, 0, $89, OAM_HFLIP - db 8, 8, $8a, OAM_HFLIP | UNDER_GRASS - db 8, 0, $8b, OAM_HFLIP | UNDER_GRASS | FACING_END + db 0, 8, $88, OAM_XFLIP + db 0, 0, $89, OAM_XFLIP + db 8, 8, $8a, OAM_XFLIP | UNDER_GRASS + db 8, 0, $8b, OAM_XFLIP | UNDER_GRASS | FACING_END .SpecialCase: db 9 ; # db -4, -4, $00, 0 db -4, 4, $01, 0 - db -4, 12, $00, OAM_HFLIP + db -4, 12, $00, OAM_XFLIP db 4, -4, $01, 0 db 4, 4, $02, 0 db 4, 12, $01, 0 - db 12, -4, $00, OAM_VFLIP | UNDER_GRASS + db 12, -4, $00, OAM_YFLIP | UNDER_GRASS db 12, 4, $01, UNDER_GRASS - db 12, 12, $00, OAM_VFLIP | OAM_HFLIP | UNDER_GRASS | FACING_END + db 12, 12, $00, OAM_YFLIP | OAM_XFLIP | UNDER_GRASS | FACING_END 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 08399ad4..cba2f154 100644 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -97,13 +97,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 @@ -138,13 +138,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 b, a ld a, [wdef4] @@ -766,7 +766,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] @@ -2587,7 +2587,7 @@ FallingObjects_UpdateOAMEntry: ld [wdef4], a .asm_79e5c inc hl - ld a, 1 << OAM_X_FLIP + ld a, OAM_XFLIP .next2 ld b, a ld a, [wdef4] diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 2a1134de..8024fb9e 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_AREA .clearBackgroundLoop ld a, " " ld [hli], a @@ -326,7 +326,7 @@ MainInBattleLoop: bit USING_TRAPPING_MOVE, a ; check if enemy is using a multi-turn attack like wrap jr z, .selectPlayerMove ; if not, jump ; enemy is using a multi-turn attack like wrap, so player is trapped and cannot execute a move - ld a, $ff + ld a, CANNOT_MOVE ld [wPlayerSelectedMove], a jr .selectEnemyMove .selectPlayerMove @@ -2172,9 +2172,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 @@ -2205,10 +2205,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 @@ -2450,12 +2450,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 @@ -2481,10 +2481,10 @@ PartyMenuOrRockOrRun: jr nz, .doEnemyMonAnimation ; enemy mon doesn't have substitute ld a, [wEnemyMonMinimized] - and a ; has the enemy mon used Minimise? + and a ; has the enemy mon used Minimize? ld hl, AnimationMinimizeMon jr nz, .doEnemyMonAnimation -; enemy mon is not minimised +; enemy mon is not minimized ld a, [wEnemyMonSpecies] ld [wCurPartySpecies], a ld [wCurSpecies], a @@ -2651,10 +2651,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 @@ -2662,9 +2662,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_LEFT | PAD_RIGHT | PAD_START) jr z, .matchedkeyspicked - ld b, D_UP | D_DOWN | D_LEFT | D_RIGHT | A_BUTTON | B_BUTTON | SELECT | START + ld b, PAD_CTRL_PAD | PAD_BUTTONS .matchedkeyspicked ld a, b ld [hli], a ; wMenuWatchedKeys @@ -2710,21 +2710,21 @@ 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 IF DEF(_DEBUG) - bit BIT_START, a + bit B_PAD_START, a jp nz, Func_3d4f5 - bit BIT_D_RIGHT, a + bit B_PAD_RIGHT, a jp nz, Func_3d529 - bit BIT_D_LEFT, a + bit B_PAD_LEFT, a jp nz, Func_3d523 ENDC - bit BIT_B_BUTTON, a + bit B_PAD_B, a push af xor a ld [wMenuItemToSwap], a @@ -2821,7 +2821,7 @@ SelectMenuItem_CursorDown: Func_3d4f5: IF DEF(_DEBUG) - ASSERT BIT_START == BIT_TRAINER_BATTLE + ASSERT B_PAD_START == BIT_TRAINER_BATTLE ENDC bit BIT_TRAINER_BATTLE, a ld a, $0 @@ -3165,7 +3165,7 @@ SelectEnemyMove: pop hl jr z, .chooseRandomMove ; move disabled, try again and a - jr z, .chooseRandomMove ; move non-existant, try again + jr z, .chooseRandomMove ; move non-existent, try again .done ld [wEnemySelectedMove], a ret @@ -3189,7 +3189,8 @@ LinkBattleExchangeData: ld b, LINKBATTLE_STRUGGLE jr z, .next dec b ; LINKBATTLE_NO_ACTION - inc a ; does move equal -1 (i.e. no action)? + ASSERT CANNOT_MOVE == $ff + inc a jr z, .next ld a, [wPlayerMoveListIndex] jr .doExchange @@ -3242,8 +3243,9 @@ ExecutePlayerMove: xor a ldh [hWhoseTurn], a ; set player's turn ld a, [wPlayerSelectedMove] + ASSERT CANNOT_MOVE == $ff inc a - jp z, ExecutePlayerMoveDone ; for selected move = FF, skip most of player's turn + jp z, ExecutePlayerMoveDone ; if the player cannot move, skip most of their turn xor a ld [wMoveMissed], a ld [wMonIsDisobedient], a @@ -5766,6 +5768,7 @@ RandomizeDamage: ; for more detailed commentary, see equivalent function for player side (ExecutePlayerMove) ExecuteEnemyMove: ld a, [wEnemySelectedMove] + ASSERT CANNOT_MOVE == $ff inc a jp z, ExecuteEnemyMoveDone call PrintGhostText diff --git a/engine/battle/effects.asm b/engine/battle/effects.asm index d7c7b9cb..b2976a64 100644 --- a/engine/battle/effects.asm +++ b/engine/battle/effects.asm @@ -329,7 +329,7 @@ FreezeBurnParalyzeEffect: ld hl, BurnedText jp PrintText .freeze2 -; hyper beam bits aren't reseted for opponent's side +; hyper beam bits aren't reset for opponent's side ld a, 1 << FRZ ld [wBattleMonStatus], a ld a, SHAKE_SCREEN_ANIM diff --git a/engine/battle/ghost_marowak_anim.asm b/engine/battle/ghost_marowak_anim.asm index 1230b936..6514ccaa 100644 --- a/engine/battle/ghost_marowak_anim.asm +++ b/engine/battle/ghost_marowak_anim.asm @@ -77,7 +77,7 @@ CopyMonPicFromBGToSpriteVRAM: ld [hli], a ld a, d ld [hli], a - ld a, OAM_OBP1 | OAM_HIGH_PALS + ld a, OAM_PAL1 | OAM_HIGH_PALS ld [hli], a inc d dec c diff --git a/engine/battle/init_battle.asm b/engine/battle/init_battle.asm index 58e18a3f..fabff3e3 100644 --- a/engine/battle/init_battle.asm +++ b/engine/battle/init_battle.asm @@ -14,7 +14,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] @@ -157,7 +157,7 @@ _LoadTrainerPic: ld d, a ; de contains pointer to trainer pic ld a, [wLinkState] and a - ld a, BANK("Pics 6") ; this is where all the trainer pics are (not counting Red's) + ld a, BANK("Trainer Pics") jr z, .loadSprite ld a, BANK(RedPicFront) .loadSprite diff --git a/engine/debug/debug_menu.asm b/engine/debug/debug_menu.asm index 92a6853f..5cd07d53 100644 --- a/engine/debug/debug_menu.asm +++ b/engine/debug/debug_menu.asm @@ -30,7 +30,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 @@ -46,7 +46,7 @@ IF DEF(_DEBUG) ld [wMenuWatchMovingOutOfBounds], a call HandleMenuInput - bit BIT_B_BUTTON, a + bit B_PAD_B, a ld hl, DisplayTitleScreen ret nz @@ -149,19 +149,19 @@ Func_fe7db: pop de pop bc ldh a, [hJoy5] - bit BIT_A_BUTTON, a + bit B_PAD_A, a jp nz, Func_fe812 - bit BIT_B_BUTTON, a + bit B_PAD_B, a jp nz, Func_fe850 - bit BIT_SELECT, a + bit B_PAD_SELECT, a jp nz, DebugMenu - bit BIT_START, a + bit B_PAD_START, a jp nz, Func_fe97f - bit BIT_D_RIGHT, a + bit B_PAD_RIGHT, a jp nz, Func_fe8a1 - bit BIT_D_UP, a + bit B_PAD_UP, a jp nz, Func_fe85d - bit BIT_D_DOWN, a + bit B_PAD_DOWN, a jp nz, Func_fe880 jr Func_fe7db @@ -286,17 +286,17 @@ Func_fe8b0: pop de pop bc ldh a, [hJoy5] - bit BIT_A_BUTTON, a + bit B_PAD_A, a jp nz, Func_fe8d9 - bit BIT_B_BUTTON, a + bit B_PAD_B, a jp nz, Func_fe902 - bit BIT_START, a + bit B_PAD_START, a jp nz, Func_fe97f - bit BIT_D_LEFT, a + bit B_PAD_LEFT, a jp nz, Func_fe7ca - bit BIT_D_UP, a + bit B_PAD_UP, a jp nz, Func_fe912 - bit BIT_D_DOWN, a + bit B_PAD_DOWN, a jp nz, Func_fe93b jr Func_fe8b0 @@ -543,11 +543,11 @@ Func_fea85: call JoypadLowSensitivity pop bc ldh a, [hJoy5] - bit BIT_A_BUTTON, a + bit B_PAD_A, a jp nz, Func_fea9d - bit BIT_START, a + bit B_PAD_START, a jp nz, Func_fec10 - bit BIT_D_DOWN, a + bit B_PAD_DOWN, a jp nz, Func_feae4 jr Func_fea85 @@ -594,15 +594,15 @@ Func_feaf1: call JoypadLowSensitivity pop bc ldh a, [hJoy5] - bit BIT_A_BUTTON, a + bit B_PAD_A, a jp nz, Func_feb13 - bit BIT_B_BUTTON, a + bit B_PAD_B, a jp nz, Func_feb82 - bit BIT_START, a + bit B_PAD_START, a jp nz, Func_fec10 - bit BIT_D_RIGHT, a + bit B_PAD_RIGHT, a jp nz, Func_febba - bit BIT_D_UP, a + bit B_PAD_UP, a jp nz, Func_fea78 jr Func_feaf1 @@ -704,15 +704,15 @@ Func_febc4: call JoypadLowSensitivity pop bc ldh a, [hJoy5] - bit BIT_A_BUTTON, a + bit B_PAD_A, a jp nz, Func_febe6 - bit BIT_B_BUTTON, a + bit B_PAD_B, a jp nz, Func_fec01 - bit BIT_START, a + bit B_PAD_START, a jp nz, Func_fec10 - bit BIT_D_LEFT, a + bit B_PAD_LEFT, a jp nz, Func_feae4 - bit BIT_D_UP, a + bit B_PAD_UP, a jp nz, Func_fea78 jr Func_febc4 @@ -948,11 +948,11 @@ Func_fee23: call DelayFrame call JoypadLowSensitivity ldh a, [hJoy5] - bit BIT_A_BUTTON, a + bit B_PAD_A, a jp nz, Func_fee49 - bit BIT_B_BUTTON, a + bit B_PAD_B, a jp nz, Func_fee56 - bit BIT_D_DOWN, a + bit B_PAD_DOWN, a jp nz, Func_fee96 jr .asm_fee30 @@ -1007,15 +1007,15 @@ Func_fee96: call JoypadLowSensitivity ld hl, wCurEnemyLevel ldh a, [hJoy5] - bit BIT_A_BUTTON, a + bit B_PAD_A, a jp nz, Func_feed1 - bit BIT_B_BUTTON, a + bit B_PAD_B, a jp nz, Func_feedb - bit BIT_START, a + bit B_PAD_START, a jp nz, Func_ff12c - bit BIT_D_UP, a + bit B_PAD_UP, a jp nz, Func_fee23 - bit BIT_D_DOWN, a + bit B_PAD_DOWN, a jp nz, Func_fef60 jr .asm_feeab @@ -1107,15 +1107,15 @@ Func_fef68: pop bc pop de ldh a, [hJoy5] - bit BIT_A_BUTTON, a + bit B_PAD_A, a jp nz, Func_fef92 - bit BIT_B_BUTTON, a + bit B_PAD_B, a jp nz, Func_fef9e - bit BIT_START, a + bit B_PAD_START, a jp nz, Func_ff12c - bit BIT_D_UP, a + bit B_PAD_UP, a jp nz, Func_fefa8 - bit BIT_D_DOWN, a + bit B_PAD_DOWN, a jp nz, Func_fefb5 jr .asm_fef6b @@ -1239,15 +1239,15 @@ Func_ff043: pop bc pop de ldh a, [hJoy5] - bit BIT_A_BUTTON, a + bit B_PAD_A, a jp nz, Func_ff06d - bit BIT_B_BUTTON, a + bit B_PAD_B, a jp nz, Func_ff072 - bit BIT_START, a + bit B_PAD_START, a jp nz, Func_ff12c - bit BIT_D_UP, a + bit B_PAD_UP, a jp nz, Func_ff077 - bit BIT_D_DOWN, a + bit B_PAD_DOWN, a jp nz, Func_ff08f jr .asm_ff046 @@ -1469,11 +1469,11 @@ Func_ff1e7: call DelayFrame call JoypadLowSensitivity ldh a, [hJoy5] - bit BIT_A_BUTTON, a + bit B_PAD_A, a jp nz, Func_ff21b - bit BIT_B_BUTTON, a + bit B_PAD_B, a jp nz, Func_ff227 - bit BIT_START, a + bit B_PAD_START, a jp nz, Func_ff236 jr Func_ff1e7 @@ -1603,7 +1603,7 @@ Func_ff2f3: push hl call DebugEnableSRAM ld a, b - ld [MBC1SRamBank], a + ld [rRAMB], a ld bc, sBox2 - sBox1 call CopyData pop hl @@ -1619,16 +1619,16 @@ Func_ff2f3: ret DebugEnableSRAM: ; duplicate of EnableSRAM - ld a, SRAM_BANKING_MODE - ld [MBC1SRamBankingMode], a - ld a, SRAM_ENABLE - ld [MBC1SRamEnable], a + ld a, BMODE_ADVANCED + ld [rBMODE], a + ld a, RAMG_SRAM_ENABLE + ld [rRAMG], a ret DebugDisableSRAM: ; duplicate of DisableSRAM - ld a, SRAM_DISABLE - ld [MBC1SRamBankingMode], a - ld [MBC1SRamEnable], a + ld a, 0 + ld [rBMODE], a + ld [rRAMG], a ret Func_ff32a: diff --git a/engine/events/black_out.asm b/engine/events/black_out.asm index c45c3101..f142782a 100644 --- a/engine/events/black_out.asm +++ b/engine/events/black_out.asm @@ -43,6 +43,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_BUTTONS | PAD_CTRL_PAD 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 cd3827ea..fefb66dd 100644 --- a/engine/events/hidden_objects/bills_house_pc.asm +++ b/engine/events/hidden_objects/bills_house_pc.asm @@ -71,7 +71,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 @@ -92,7 +92,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 c40530a6..75811035 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 @@ -35,7 +35,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" @@ -98,7 +98,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 @@ -121,9 +121,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 @@ -136,7 +136,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/hidden_objects/vermilion_gym_trash.asm b/engine/events/hidden_objects/vermilion_gym_trash.asm index 428746f7..5f13a0e4 100644 --- a/engine/events/hidden_objects/vermilion_gym_trash.asm +++ b/engine/events/hidden_objects/vermilion_gym_trash.asm @@ -107,7 +107,7 @@ VermilionGymTrashSuccessText2:: text_end ; unused -VermilionGymTrashSuccesPlaySfx: +VermilionGymTrashSuccessPlaySfx: text_asm call WaitForSoundToFinish ld a, SFX_SWITCH 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 8701e351..4285b7d6 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 @@ -30,7 +30,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 bfe32ef6..979d9d82 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 @@ -30,7 +30,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/gfx/animated_objects.asm b/engine/gfx/animated_objects.asm index 0a71f59d..83d36aa9 100644 --- a/engine/gfx/animated_objects.asm +++ b/engine/gfx/animated_objects.asm @@ -227,7 +227,7 @@ GetCurrentAnimatedObjectTileYCoordinate: push hl ld a, [hl] ld hl, wCurAnimatedObjectOAMAttributes - bit OAM_Y_FLIP, [hl] + bit B_OAM_YFLIP, [hl] jr z, .no_flip add $8 xor $ff @@ -240,7 +240,7 @@ GetCurrentAnimatedObjectTileXCoordinate: push hl ld a, [hl] ld hl, wCurAnimatedObjectOAMAttributes - bit OAM_X_FLIP, [hl] + bit B_OAM_XFLIP, [hl] jr z, .no_flip add $8 xor $ff @@ -254,12 +254,12 @@ SetCurrentAnimatedObjectOAMAttributes: ld b, a ld a, [hl] xor b - and OAM_HFLIP | OAM_VFLIP | OAM_BEHIND_BG + and OAM_XFLIP | OAM_YFLIP | OAM_PRIO ld b, a ld a, [hl] - and OAM_OBP1 + and OAM_PAL1 or b - bit OAM_OBP_NUM, a + bit B_OAM_PAL1, a ret z or OAM_HIGH_PALS ret diff --git a/engine/gfx/bg_map_attributes.asm b/engine/gfx/bg_map_attributes.asm index 740e9994..cc550ff8 100644 --- a/engine/gfx/bg_map_attributes.asm +++ b/engine/gfx/bg_map_attributes.asm @@ -24,17 +24,17 @@ LoadBGMapAttributes:: ld de, $10 add hl, de ld a, h - ldh [rHDMA1], a + ldh [rVDMA_SRC_HIGH], a ld a, l - ldh [rHDMA2], a + ldh [rVDMA_SRC_LOW], a ld de, vBGMap0 ld a, d - ldh [rHDMA3], a + ldh [rVDMA_DEST_HIGH], a ld a, e - ldh [rHDMA4], a + ldh [rVDMA_DEST_LOW], a ldh a, [rLCDC] - and 1 << rLCDC_ENABLE ; is LCD off? + and LCDC_ON ; is LCD off? jr z, .lcdOff ; if off, transfer immediately ; wait for VBlank if LCD is on .waitForVBlankLoop1 @@ -47,7 +47,7 @@ LoadBGMapAttributes:: jr nz, .waitForAccessibleVRAMLoop1 ; loop until we're in a safe period to transfer to VRAM .lcdOff ld a, c ; number of BG attributes to transfer, plus 1 times 16 - ldh [rHDMA5], a ; initiate transfer + ldh [rVDMA_LEN], a ; initiate transfer call Func_3082 ; update audio so it doesn't "lag" pop hl ld a, [hli] @@ -58,17 +58,17 @@ LoadBGMapAttributes:: ld d, a ; offset of the attributes add hl, de ; hl = new pointer ld a, h - ldh [rHDMA1], a + ldh [rVDMA_SRC_HIGH], a ld a, l - ldh [rHDMA2], a + ldh [rVDMA_SRC_LOW], a ld de, vBGMap1 ; copy to vBGMap1 ld a, d - ldh [rHDMA3], a + ldh [rVDMA_DEST_HIGH], a ld a, e - ldh [rHDMA4], a + ldh [rVDMA_DEST_LOW], a ; LCD check again ldh a, [rLCDC] - and 1 << rLCDC_ENABLE ; is LCD off? + and LCDC_ON ; is LCD off? jr z, .lcdOff2 ; if off, transfer immediately ; wait for VBlank if LCD is on .waitForVBlankLoop2 @@ -81,7 +81,7 @@ LoadBGMapAttributes:: jr nz, .waitForAccessibleVRAMLoop2 ; loop until we're in a safe period to transfer to VRAM .lcdOff2 ld a, c - ldh [rHDMA5], a + ldh [rVDMA_LEN], a pop af dec a dec a @@ -96,7 +96,7 @@ LoadBGMapAttributes:: .done call Func_3082 ldh a, [rIF] - res VBLANK, a + res B_IF_VBLANK, a ldh [rIF], a xor a ldh [rVBK], a diff --git a/engine/gfx/palettes.asm b/engine/gfx/palettes.asm index a618fe91..16869869 100644 --- a/engine/gfx/palettes.asm +++ b/engine/gfx/palettes.asm @@ -226,7 +226,7 @@ SetPal_TrainerCard: srl a push af jr c, .haveBadge -; The player doens't have the badge, so zero the badge's blk data. +; The player doesn't have the badge, so zero the badge's blk data. push bc ld a, [de] ld c, a @@ -723,7 +723,7 @@ SendSGBPackets: pop hl call InitCGBPalettes ldh a, [rLCDC] - and 1 << rLCDC_ENABLE + and LCDC_ON ret z call Delay3 ret @@ -853,7 +853,7 @@ TransferCurBGPData:: ld hl, wCGBPal ld b, %10 ; mask for non-V-blank/non-H-blank STAT mode ldh a, [rLCDC] - and 1 << rLCDC_ENABLE + and LCDC_ON jr nz, .lcdEnabled REPT NUM_PAL_COLORS call TransferPalColorLCDDisabled @@ -892,7 +892,7 @@ BufferBGPPal:: TransferBGPPals:: ; Transfer the buffered BG palettes. ldh a, [rLCDC] - and 1 << rLCDC_ENABLE + and LCDC_ON jr z, .lcdDisabled di .waitLoop @@ -929,7 +929,7 @@ TransferCurOBPData: ld hl, wCGBPal ld b, %10 ; mask for non-V-blank/non-H-blank STAT mode ldh a, [rLCDC] - and 1 << rLCDC_ENABLE + and LCDC_ON jr nz, .lcdEnabled REPT NUM_PAL_COLORS call TransferPalColorLCDDisabled diff --git a/engine/gfx/sprite_oam.asm b/engine/gfx/sprite_oam.asm index 506b50a7..a1549c6c 100644 --- a/engine/gfx/sprite_oam.asm +++ b/engine/gfx/sprite_oam.asm @@ -119,7 +119,7 @@ PrepareOAMData:: or [hl] .skipPriority and $f0 - bit OAM_OBP_NUM, a + bit B_OAM_PAL1, a jr z, .spriteusesOBP0 or OAM_HIGH_PALS .spriteusesOBP0 diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index 89d51d0b..bf43293e 100644 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -758,15 +758,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 d5960afd..96f6769c 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 @@ -109,7 +109,7 @@ DisplayTownMap: Func_70f87: ; unreferenced ldh a, [hJoy5] - and D_DOWN | D_UP + and PAD_DOWN | PAD_UP ret z callfar PlayPikachuSoundClip ret @@ -204,15 +204,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 @@ -377,7 +377,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: @@ -424,7 +424,7 @@ DisplayWildLocations: .done ld hl, wShadowOAM ld de, wShadowOAMBackup - ld bc, NUM_SPRITE_OAM_STRUCTS * 4 + ld bc, OAM_COUNT * 4 jp CopyData AreaUnknownText: @@ -520,7 +520,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 @@ -613,13 +613,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 8b514999..7ebb88ef 100644 --- a/engine/joypad.asm +++ b/engine/joypad.asm @@ -37,8 +37,8 @@ _Joypad:: ldh a, [hJoyInput] ld b, a - and A_BUTTON + B_BUTTON + SELECT + START + D_UP - cp A_BUTTON + B_BUTTON + SELECT + START ; soft reset + and PAD_BUTTONS | PAD_UP + cp PAD_BUTTONS ; soft reset jp z, TrySoftReset ldh a, [hJoyLast] diff --git a/engine/link/cable_club.asm b/engine/link/cable_club.asm index 691793e7..ce6c582b 100644 --- a/engine/link/cable_club.asm +++ b/engine/link/cable_club.asm @@ -109,17 +109,17 @@ 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 call StopAllMusic - ld a, 1 << SERIAL + ld a, IE_SERIAL ldh [rIE], a ld hl, wSerialRandomNumberListBlock ld de, wSerialOtherGameboyRandomNumberListBlock @@ -139,7 +139,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 ldh a, [hSerialConnectionStatus] cp USING_INTERNAL_CLOCK @@ -339,7 +339,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 @@ -355,7 +355,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] @@ -374,7 +374,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 @@ -394,14 +394,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 @@ -422,7 +422,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 @@ -432,7 +432,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 @@ -454,7 +454,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 @@ -490,14 +490,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 @@ -507,14 +507,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 @@ -563,9 +563,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 975f4e03..ba29ca06 100644 --- a/engine/link/cable_club_npc.asm +++ b/engine/link/cable_club_npc.asm @@ -29,7 +29,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 @@ -46,7 +46,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 @@ -215,6 +215,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 cb2e5988..a72236c3 100644 --- a/engine/menus/draw_start_menu.asm +++ b/engine/menus/draw_start_menu.asm @@ -10,7 +10,7 @@ DrawStartMenu:: lb bc, 12, 8 .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 b9151084..ba6ca318 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/link_menu.asm b/engine/menus/link_menu.asm index 9b151388..94384cb3 100644 --- a/engine/menus/link_menu.asm +++ b/engine/menus/link_menu.asm @@ -667,14 +667,14 @@ LinkMenu: ld a, 3 ld [hli], a ASSERT wMaxMenuItem + 1 == wMenuWatchedKeys - ASSERT 2 == B_BUTTON + ASSERT 2 == PAD_B ld [hli], a ASSERT wMenuWatchedKeys + 1 == wLastMenuItem xor a ld [hl], a .waitForInputLoop call HandleMenuInput - and A_BUTTON | B_BUTTON + and PAD_A | PAD_B add a add a ld b, a @@ -733,7 +733,7 @@ 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, " " @@ -741,7 +741,7 @@ LinkMenu: ld d, " " ld e, "▷" 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] @@ -762,7 +762,7 @@ LinkMenu: call Func_f59ec 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 diff --git a/engine/menus/main_menu.asm b/engine/menus/main_menu.asm index a8e37ff2..d739e560 100644 --- a/engine/menus/main_menu.asm +++ b/engine/menus/main_menu.asm @@ -59,12 +59,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 @@ -97,9 +97,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 @@ -274,12 +274,12 @@ DisplayOptionMenu: ret CheckForPlayerNameInSRAM: - ld a, SRAM_ENABLE - ld [MBC1SRamEnable], a - ld a, SRAM_BANKING_MODE - ld [MBC1SRamBankingMode], a - ASSERT SRAM_BANKING_MODE == BANK("Save Data") - ld [MBC1SRamBank], a + ld a, RAMG_SRAM_ENABLE + ld [rRAMG], a + ld a, BMODE_ADVANCED + ld [rBMODE], a + ASSERT BMODE_ADVANCED == BANK("Save Data") + ld [rRAMB], a ld b, NAME_LENGTH ld hl, sPlayerName .loop @@ -289,13 +289,13 @@ CheckForPlayerNameInSRAM: dec b jr nz, .loop 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/naming_screen.asm b/engine/menus/naming_screen.asm index 9d477b34..815fa54f 100644 --- a/engine/menus/naming_screen.asm +++ b/engine/menus/naming_screen.asm @@ -215,11 +215,11 @@ DisplayNamingScreen: .didNotPressED ld a, [wCurrentMenuItem] cp $6 ; case switch row - jr nz, .didNotPressCaseSwtich + jr nz, .didNotPressCaseSwitch ld a, [wTopMenuItemX] cp $1 ; case switch column jr z, .pressedA_changedCase -.didNotPressCaseSwtich +.didNotPressCaseSwitch ld hl, wMenuCursorLocation ld a, [hli] ld h, [hl] diff --git a/engine/menus/options.asm b/engine/menus/options.asm index a2a96dd6..c7e16d55 100644 --- a/engine/menus/options.asm +++ b/engine/menus/options.asm @@ -3,7 +3,7 @@ DisplayOptionMenu_: .optionMenuLoop call JoypadLowSensitivity ldh a, [hJoy5] - and START | B_BUTTON + and PAD_START | PAD_B jr nz, .exitOptionMenu call OptionsControl jr c, .dpadDelay @@ -43,9 +43,9 @@ OptionMenuJumpTable: OptionsMenu_TextSpeed: call GetTextSpeed ldh a, [hJoy5] - bit BIT_D_RIGHT, a + bit B_PAD_RIGHT, a jr nz, .pressedRight - bit BIT_D_LEFT, a + bit B_PAD_LEFT, a jr nz, .pressedLeft jr .nonePressed .pressedRight @@ -118,7 +118,7 @@ GetTextSpeed: OptionsMenu_BattleAnimations: ldh a, [hJoy5] - and D_RIGHT | D_LEFT + and PAD_LEFT | PAD_RIGHT jr nz, .asm_41d33 ld a, [wOptions] and $80 ; mask other bits @@ -153,7 +153,7 @@ AnimationOffText: OptionsMenu_BattleStyle: ldh a, [hJoy5] - and D_LEFT | D_RIGHT + and PAD_LEFT | PAD_RIGHT jr nz, .asm_41d6b ld a, [wOptions] and $40 ; mask other bits @@ -193,9 +193,9 @@ OptionsMenu_SpeakerSettings: swap a ld c, a ldh a, [hJoy5] - bit BIT_D_RIGHT, a + bit B_PAD_RIGHT, a jr nz, .pressedRight - bit BIT_D_LEFT, a + bit B_PAD_LEFT, a jr nz, .pressedLeft jr .asm_41dca .pressedRight @@ -212,7 +212,7 @@ OptionsMenu_SpeakerSettings: swap a ld b, a xor a - ldh [rNR51], a + ldh [rAUDTERM], a ld a, [wOptions] and $cf or b @@ -248,9 +248,9 @@ Earphone3SoundText: OptionsMenu_GBPrinterBrightness: call Func_41e7b ldh a, [hJoy5] - bit BIT_D_RIGHT, a + bit B_PAD_RIGHT, a jr nz, .pressedRight - bit BIT_D_LEFT, a + bit B_PAD_LEFT, a jr nz, .pressedLeft jr .asm_41e32 .pressedRight @@ -340,7 +340,7 @@ OptionsMenu_Dummy: OptionsMenu_Cancel: ldh a, [hJoy5] - and A_BUTTON + and PAD_A jr nz, .pressedCancel and a ret @@ -351,9 +351,9 @@ OptionsMenu_Cancel: OptionsControl: ld hl, wOptionsCursorLocation ldh a, [hJoy5] - cp D_DOWN + cp PAD_DOWN jr z, .pressedDown - cp D_UP + cp PAD_UP jr z, .pressedUp and a 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 630b8f87..01d13afa 100644 --- a/engine/menus/players_pc.asm +++ b/engine/menus/players_pc.asm @@ -38,7 +38,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 @@ -49,7 +49,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 88a057df..07b24392 100644 --- a/engine/menus/pokedex.asm +++ b/engine/menus/pokedex.asm @@ -28,7 +28,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 @@ -92,7 +92,7 @@ HandlePokedexSideMenu: inc hl ld a, 4 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 @@ -100,7 +100,7 @@ HandlePokedexSideMenu: ldh [hJoy7], a .handleMenuInput call HandleMenuInput - bit BIT_B_BUTTON, a + bit B_PAD_B, a ld b, 2 jr nz, .buttonBPressed ld a, [wCurrentMenuItem] @@ -191,12 +191,12 @@ HandlePokedexListMenu: call Pokedex_PlacePokemonList call GBPalNormal call HandleMenuInput - bit BIT_B_BUTTON, a ; was the B button pressed? + bit B_PAD_B, a ; was the B button pressed? jp nz, .buttonBPressed - bit BIT_A_BUTTON, a ; was the A button pressed? + bit B_PAD_A, a ; was the A button pressed? jp nz, .buttonAPressed .checkIfUpPressed - bit BIT_D_UP, a ; was Up pressed? + bit B_PAD_UP, a ; was Up pressed? jr z, .checkIfDownPressed .upPressed ; scroll up one row ld a, [wListScrollOffset] @@ -207,7 +207,7 @@ HandlePokedexListMenu: jp .loop .checkIfDownPressed - bit BIT_D_DOWN, a ; was Down pressed? + bit B_PAD_DOWN, a ; was Down pressed? jr z, .checkIfRightPressed .downPressed ; scroll down one row ld a, [wDexMaxSeenMon] @@ -223,7 +223,7 @@ HandlePokedexListMenu: jp .loop .checkIfRightPressed - bit BIT_D_RIGHT, a ; was Right pressed? + bit B_PAD_RIGHT, a ; was Right pressed? jr z, .checkIfLeftPressed .rightPressed ; scroll down 7 rows ld a, [wDexMaxSeenMon] @@ -242,7 +242,7 @@ HandlePokedexListMenu: jp .loop .checkIfLeftPressed ; scroll up 7 rows - bit BIT_D_LEFT, a ; was Left pressed? + bit B_PAD_LEFT, a ; was Left pressed? jr z, .buttonAPressed .leftPressed ld a, [wListScrollOffset] @@ -447,7 +447,7 @@ ShowPokedexDataInternal: ld hl, wStatusFlags2 set BIT_NO_AUDIO_FADE_OUT, [hl] ld a, $33 ; 3/7 volume - ldh [rNR50], a + ldh [rAUDVOL], a ldh a, [hTileAnimations] push af xor a @@ -465,7 +465,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 @@ -477,7 +477,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 a2760d0a..e660020b 100644 --- a/engine/menus/save.asm +++ b/engine/menus/save.asm @@ -33,7 +33,7 @@ FileDataDestroyedText: LoadSAV0: call EnableSRAM ld a, BANK("Save Data") - ld [MBC1SRamBank], 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,7 +81,7 @@ LoadSAV0: LoadSAV1: call EnableSRAM ld a, BANK("Save Data") - ld [MBC1SRamBank], a + ld [rRAMB], a ld hl, sGameData ld bc, sGameDataEnd - sGameData call SAVCheckSum @@ -99,7 +99,7 @@ LoadSAV1: LoadSAV2: call EnableSRAM ld a, BANK("Save Data") - ld [MBC1SRamBank], a + ld [rRAMB], a ld hl, sGameData ld bc, sGameDataEnd - sGameData call SAVCheckSum @@ -196,7 +196,7 @@ OlderFileWillBeErasedText: SaveSAVtoSRAM0: call EnableSRAM ld a, BANK("Save Data") - ld [MBC1SRamBank], a + ld [rRAMB], a ld hl, wPlayerName ld de, sPlayerName ld bc, NAME_LENGTH @@ -226,7 +226,7 @@ SaveSAVtoSRAM1: ; stored pokémon call EnableSRAM ld a, BANK("Save Data") - ld [MBC1SRamBank], a + ld [rRAMB], a ld hl, wBoxDataStart ld de, sCurBoxData ld bc, wBoxDataEnd - wBoxDataStart @@ -241,7 +241,7 @@ SaveSAVtoSRAM1: SaveSAVtoSRAM2: call EnableSRAM ld a, BANK("Save Data") - ld [MBC1SRamBank], a + ld [rRAMB], a ld hl, wPartyDataStart ld de, sPartyData ld bc, wPartyDataEnd - wPartyDataStart @@ -349,7 +349,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 ld a, $b6 call PlaySoundWaitForCurrent @@ -387,7 +387,7 @@ CopyBoxToOrFromSRAM: push hl call EnableSRAM ld a, b - ld [MBC1SRamBank], a + ld [rRAMB], a ld bc, wBoxDataEnd - wBoxDataStart call CopyData pop hl @@ -409,7 +409,7 @@ CopyBoxToOrFromSRAM: 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 @@ -501,10 +501,10 @@ EmptyAllSRAMBoxes: ; player changes the box) call EnableSRAM ld a, BANK("Saved Boxes 1") - ld [MBC1SRamBank], a + ld [rRAMB], a call EmptySRAMBoxesInBank ld a, BANK("Saved Boxes 2") - ld [MBC1SRamBank], a + ld [rRAMB], a call EmptySRAMBoxesInBank call DisableSRAM ret @@ -542,10 +542,10 @@ GetMonCountsForAllBoxes: push hl call EnableSRAM ld a, BANK("Saved Boxes 1") - ld [MBC1SRamBank], a + ld [rRAMB], a call GetMonCountsForBoxesInBank ld a, BANK("Saved Boxes 2") - ld [MBC1SRamBank], a + ld [rRAMB], a call GetMonCountsForBoxesInBank call DisableSRAM pop hl @@ -582,7 +582,7 @@ SAVCheckRandomID: ; (which are stored at wPlayerID)s call EnableSRAM ld a, BANK("Save Data") - ld [MBC1SRamBank], a + ld [rRAMB], a ld a, [sPlayerName] and a jr z, .next @@ -603,9 +603,9 @@ SAVCheckRandomID: ld a, [wPlayerID + 1] cp h .next - ld a, SRAM_DISABLE - ld [MBC1SRamBankingMode], a - ld [MBC1SRamEnable], a + ld a, $00 + ld [rBMODE], a + ld [rRAMG], a ret SaveHallOfFameTeams: @@ -646,7 +646,7 @@ LoadHallOfFameTeams: HallOfFame_Copy: call EnableSRAM xor a - ld [MBC1SRamBank], a + ld [rRAMB], a call CopyData call DisableSRAM ret @@ -664,21 +664,21 @@ ClearSAV: ret PadSRAM_FF: - ld [MBC1SRamBank], a + ld [rRAMB], a ld hl, STARTOF(SRAM) ld bc, SIZEOF(SRAM) ld a, $ff jp FillMemory EnableSRAM: - ld a, SRAM_BANKING_MODE - ld [MBC1SRamBankingMode], a - ld a, SRAM_ENABLE - ld [MBC1SRamEnable], a + ld a, BMODE_ADVANCED + ld [rBMODE], a + ld a, RAMG_SRAM_ENABLE + ld [rRAMG], a ret DisableSRAM: - ld a, SRAM_DISABLE - ld [MBC1SRamBankingMode], a - ld [MBC1SRamEnable], a + ld a, 0 + ld [rBMODE], a + ld [rRAMG], a ret diff --git a/engine/menus/start_sub_menus.asm b/engine/menus/start_sub_menus.asm index 96a7da16..9e8a181b 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] @@ -371,13 +371,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 fe792274..d73df6ff 100644 --- a/engine/menus/text_box.asm +++ b/engine/menus/text_box.asm @@ -156,7 +156,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 @@ -173,9 +173,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 @@ -213,7 +213,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 @@ -282,7 +282,7 @@ DisplayTwoOptionMenu: res BIT_NO_TEXT_DELAY, [hl] 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/menus/unused_input.asm b/engine/menus/unused_input.asm index 15a0af34..9c868b3f 100644 --- a/engine/menus/unused_input.asm +++ b/engine/menus/unused_input.asm @@ -31,7 +31,7 @@ HandleMenuInputPokemonSelectionDuplicate: ; unreferenced 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 @@ -42,7 +42,7 @@ HandleMenuInputPokemonSelectionDuplicate: ; unreferenced ld [wCurrentMenuItem], a ; move selected menu item up one space jr .checkOtherKeys .checkIfDownPressed - bit BIT_D_DOWN, a + bit B_PAD_DOWN, a jr z, .checkOtherKeys .downPressed ld a, [wCurrentMenuItem] @@ -59,7 +59,7 @@ HandleMenuInputPokemonSelectionDuplicate: ; unreferenced jp z, .loop1 .checkIfAButtonOrBButtonPressed ldh a, [hJoy5] - and A_BUTTON | B_BUTTON + and PAD_A | PAD_B jr z, .skipPlayingSound .AButtonOrBButtonPressed ld a, SFX_PRESS_AB diff --git a/engine/minigame/surfing_pikachu.asm b/engine/minigame/surfing_pikachu.asm index f30d567c..79e5bc3e 100644 --- a/engine/minigame/surfing_pikachu.asm +++ b/engine/minigame/surfing_pikachu.asm @@ -89,12 +89,12 @@ SurfingPikachu_CheckPressedSelect: bit 1, [hl] ret z ldh a, [hJoyPressed] - and SELECT + and PAD_SELECT ret Func_f80b7: ldh a, [hJoyPressed] - and START + and PAD_START ret z ld hl, wc5e2 ld a, [hl] @@ -600,7 +600,7 @@ SurfingMinigame_WaitLast: SurfingMinigame_ExitOnPressA: call SurfingMinigame_UpdateLYOverrides ldh a, [hJoyPressed] - and A_BUTTON + and PAD_A ret z ld hl, wSurfingMinigameRoutineNumber set 7, [hl] @@ -621,7 +621,7 @@ SurfingMinigame_GameOver: .wait_press_a ldh a, [hJoyPressed] - and A_BUTTON + and PAD_A ret z ld hl, wSurfingMinigameRoutineNumber set 7, [hl] @@ -846,10 +846,10 @@ Func_f8579: SurfingMinigame_DPadAction: ld de, hJoy5 ld a, [de] - and D_LEFT + and PAD_LEFT jr nz, .d_left ld a, [de] - and D_RIGHT + and PAD_RIGHT jr nz, .d_right ret diff --git a/engine/movie/credits.asm b/engine/movie/credits.asm index 22006e6a..f7e13aab 100644 --- a/engine/movie/credits.asm +++ b/engine/movie/credits.asm @@ -65,7 +65,7 @@ DisplayCreditsMon: xor a ldh [hAutoBGTransferEnabled], a ld hl, rLCDC - set rLCDC_BG_TILEMAP, [hl] + set B_LCDC_BG_MAP, [hl] call SaveScreenTilesToBuffer2 call FillMiddleOfScreenWithWhite call GetNextCreditsMon @@ -80,7 +80,7 @@ DisplayCreditsMon: ldh [rBGP], a call UpdateCGBPal_BGP ld hl, rLCDC - res rLCDC_BG_TILEMAP, [hl] + res B_LCDC_BG_MAP, [hl] ld a, 1 ldh [hAutoBGTransferEnabled], a ld b, 0 diff --git a/engine/movie/evolution.asm b/engine/movie/evolution.asm index 99f14322..9d24c0d5 100644 --- a/engine/movie/evolution.asm +++ b/engine/movie/evolution.asm @@ -141,7 +141,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 defe5502..025d6a03 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 @@ -87,7 +87,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 33a3a134..f018d860 100644 --- a/engine/movie/intro.asm +++ b/engine/movie/intro.asm @@ -35,7 +35,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 @@ -50,7 +50,7 @@ InitIntroNidorinoOAM: IntroClearScreen: ld hl, vBGMap1 - ld bc, BG_MAP_WIDTH * SCREEN_HEIGHT + ld bc, TILEMAP_WIDTH * SCREEN_HEIGHT jr IntroClearCommon IntroClearMiddleOfScreen: @@ -116,8 +116,8 @@ PlayShootingStar: 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 @@ -142,10 +142,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/intro_yellow.asm b/engine/movie/intro_yellow.asm index 4e8282bc..47203580 100644 --- a/engine/movie/intro_yellow.asm +++ b/engine/movie/intro_yellow.asm @@ -15,7 +15,7 @@ PlayIntroScene: jr nz, .go_to_title_screen call JoypadLowSensitivity ldh a, [hJoyPressed] - and A_BUTTON | B_BUTTON | START + and PAD_A | PAD_B | PAD_START jr nz, .go_to_title_screen call Func_f98fc ld a, $0 diff --git a/engine/movie/oak_speech/clear_save.asm b/engine/movie/oak_speech/clear_save.asm index 2dd5f4a7..4df2faa4 100644 --- a/engine/movie/oak_speech/clear_save.asm +++ b/engine/movie/oak_speech/clear_save.asm @@ -5,7 +5,7 @@ DoClearSaveDialogue: call LoadTextBoxTilePatterns ld hl, ClearSaveDataText call PrintText - ld a, B_BUTTON + ld a, PAD_B ld [wJoyIgnore], a hlcoord 14, 7 lb bc, 8, 15 diff --git a/engine/movie/oak_speech/oak_speech2.asm b/engine/movie/oak_speech/oak_speech2.asm index 39dcf001..300b5590 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 6d9b9be9..5b837591 100644 --- a/engine/movie/splash.asm +++ b/engine/movie/splash.asm @@ -158,7 +158,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: @@ -248,10 +248,10 @@ GameFreakLogoOAMData: GameFreakLogoOAMDataEnd: GameFreakShootingStarOAMData: - dbsprite 20, 0, 0, 0, $a0, OAM_OBP1 | OAM_HIGH_PALS - dbsprite 21, 0, 0, 0, $a0, OAM_OBP1 | OAM_HIGH_PALS | OAM_HFLIP - dbsprite 20, 1, 0, 0, $a1, OAM_OBP1 | OAM_HIGH_PALS - dbsprite 21, 1, 0, 0, $a1, OAM_OBP1 | OAM_HIGH_PALS | OAM_HFLIP + dbsprite 20, 0, 0, 0, $a0, OAM_PAL1 | OAM_HIGH_PALS + dbsprite 21, 0, 0, 0, $a0, OAM_PAL1 | OAM_HIGH_PALS | OAM_XFLIP + dbsprite 20, 1, 0, 0, $a1, OAM_PAL1 | OAM_HIGH_PALS + dbsprite 21, 1, 0, 0, $a1, OAM_PAL1 | OAM_HIGH_PALS | OAM_XFLIP GameFreakShootingStarOAMDataEnd: FallingStar: diff --git a/engine/movie/title.asm b/engine/movie/title.asm index ec7a2aa3..7a4637ec 100644 --- a/engine/movie/title.asm +++ b/engine/movie/title.asm @@ -165,12 +165,12 @@ DisplayTitleScreen: call DelayFrame call JoypadLowSensitivity ldh a, [hJoyHeld] - cp D_UP | SELECT | B_BUTTON + cp PAD_UP | PAD_SELECT | PAD_B jr z, .go_to_main_menu IF DEF(_DEBUG) - and A_BUTTON | SELECT | START + and PAD_A | PAD_SELECT | PAD_START ELSE - and A_BUTTON | START + and PAD_A | PAD_START ENDC jr nz, .go_to_main_menu call DoTitleScreenFunction @@ -194,12 +194,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 z, MainMenu callfar DebugMenu jp hl diff --git a/engine/movie/trade.asm b/engine/movie/trade.asm index dfbe643f..2cb51d98 100644 --- a/engine/movie/trade.asm +++ b/engine/movie/trade.asm @@ -150,7 +150,7 @@ Trade_Delay80: Trade_ClearTileMap: hlcoord 0, 0 - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld bc, SCREEN_AREA ld a, " " jp FillMemory @@ -350,9 +350,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 @@ -716,28 +716,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 8174b273..cdc7e28a 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_CTRL_PAD 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 @@ -85,7 +85,7 @@ PalletMovementScript_OakMoveLeft: call PlayMusic 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_CTRL_PAD ld [wJoyIgnore], a ret @@ -142,11 +142,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, 7 ; differs from red + db PAD_UP, 2 + db PAD_RIGHT, 3 + db PAD_DOWN, 5 + db PAD_LEFT, 1 + db PAD_DOWN, 7 ; differs from red db -1 ; end PalletMovementScript_Done: @@ -194,9 +194,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: @@ -251,11 +251,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 76821045..1b5b85bd 100644 --- a/engine/overworld/cut.asm +++ b/engine/overworld/cut.asm @@ -125,10 +125,10 @@ WriteCutOrBoulderDustAnimationOAMBlock: .OAMBlock: ; tile ID, attributes - db $fc, OAM_OBP1 | OAM_HIGH_PALS - db $fd, OAM_OBP1 | OAM_HIGH_PALS - db $fe, OAM_OBP1 | OAM_HIGH_PALS - db $ff, OAM_OBP1 | OAM_HIGH_PALS + db $fc, OAM_PAL1 | OAM_HIGH_PALS + db $fd, OAM_PAL1 | OAM_HIGH_PALS + db $fe, OAM_PAL1 | OAM_HIGH_PALS + db $ff, OAM_PAL1 | OAM_HIGH_PALS GetCutOrBoulderDustAnimationOffsets: ld hl, wSpritePlayerStateData1YPixels diff --git a/engine/overworld/healing_machine.asm b/engine/overworld/healing_machine.asm index dfc6b97b..5cf312ac 100644 --- a/engine/overworld/healing_machine.asm +++ b/engine/overworld/healing_machine.asm @@ -65,14 +65,14 @@ PokeCenterFlashingMonitorAndHealBall: PokeCenterOAMData: ; heal machine monitor - dbsprite 6, 4, 4, 4, $7c, OAM_OBP1 | OAM_HIGH_PALS + dbsprite 6, 4, 4, 4, $7c, OAM_PAL1 | OAM_HIGH_PALS ; poke balls 1-6 - dbsprite 6, 5, 0, 3, $7d, OAM_OBP1 | OAM_HIGH_PALS - dbsprite 7, 5, 0, 3, $7d, OAM_OBP1 | OAM_HIGH_PALS | OAM_HFLIP - dbsprite 6, 6, 0, 0, $7d, OAM_OBP1 | OAM_HIGH_PALS - dbsprite 7, 6, 0, 0, $7d, OAM_OBP1 | OAM_HIGH_PALS | OAM_HFLIP - dbsprite 6, 6, 0, 5, $7d, OAM_OBP1 | OAM_HIGH_PALS - dbsprite 7, 6, 0, 5, $7d, OAM_OBP1 | OAM_HIGH_PALS | OAM_HFLIP + dbsprite 6, 5, 0, 3, $7d, OAM_PAL1 | OAM_HIGH_PALS + dbsprite 7, 5, 0, 3, $7d, OAM_PAL1 | OAM_HIGH_PALS | OAM_XFLIP + dbsprite 6, 6, 0, 0, $7d, OAM_PAL1 | OAM_HIGH_PALS + dbsprite 7, 6, 0, 0, $7d, OAM_PAL1 | OAM_HIGH_PALS | OAM_XFLIP + dbsprite 6, 6, 0, 5, $7d, OAM_PAL1 | OAM_HIGH_PALS + dbsprite 7, 6, 0, 5, $7d, OAM_PAL1 | OAM_HIGH_PALS | OAM_XFLIP ; d = value to xor with palette FlashSprite8Times: diff --git a/engine/overworld/ledges.asm b/engine/overworld/ledges.asm index c08d9eaf..9f8de983 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_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ld hl, wMovementFlags set BIT_LEDGE_OR_FISHING, [hl] @@ -76,5 +76,5 @@ LedgeHoppingShadowEnd: LedgeHoppingShadowOAM: dbsprite 9, 11, 0, 0, $ff, 0 - dbsprite 10, 11, 0, 0, $ff, OAM_HFLIP + dbsprite 10, 11, 0, 0, $ff, OAM_XFLIP LedgeHoppingShadowOAMEnd: diff --git a/engine/overworld/movement.asm b/engine/overworld/movement.asm index c05837eb..fbe8e5df 100644 --- a/engine/overworld/movement.asm +++ b/engine/overworld/movement.asm @@ -83,7 +83,7 @@ UpdatePlayerSprite: cp c ld a, 0 jr nz, .next2 - ld a, OAM_BEHIND_BG + ld a, OAM_PRIO .next2 ld [wSpritePlayerStateData2GrassPriority], a ret @@ -520,7 +520,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 aed6954c..b63b12cc 100644 --- a/engine/overworld/player_animations.asm +++ b/engine/overworld/player_animations.asm @@ -480,7 +480,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..2328b07a 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_CTRL_PAD 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/pikachu/pikachu_movement.asm b/engine/pikachu/pikachu_movement.asm index d789f152..3643a9bc 100644 --- a/engine/pikachu/pikachu_movement.asm +++ b/engine/pikachu/pikachu_movement.asm @@ -883,7 +883,7 @@ LoadPikachuShadowOAMData: .OAMData: db 2 db $0c, $00, $ff, 0 - db $0c, $08, $ff, 1 << OAM_X_FLIP + db $0c, $08, $ff, OAM_XFLIP .LoadOAMData: ld a, e diff --git a/engine/pikachu/pikachu_pcm.asm b/engine/pikachu/pikachu_pcm.asm index bdfae0eb..643492ce 100644 --- a/engine/pikachu/pikachu_pcm.asm +++ b/engine/pikachu/pikachu_pcm.asm @@ -24,12 +24,12 @@ PlayPikachuSoundClip:: push bc push hl ld a, $80 - ldh [rNR52], a + ldh [rAUDENA], a ld a, $77 - ldh [rNR50], a + ldh [rAUDVOL], a xor a - ldh [rNR30], a - ld hl, rWave_0 ; wave data + ldh [rAUD3ENA], a + ld hl, _AUD3WAVERAM ld de, wRedrawRowOrColumnSrcTiles .saveWaveDataLoop ld a, [hl] @@ -47,18 +47,18 @@ ELSE ld a, $80 ENDC vc_patch_end - ldh [rNR30], a - ldh a, [rNR51] + ldh [rAUD3ENA], a + ldh a, [rAUDTERM] or $44 - ldh [rNR51], a + ldh [rAUDTERM], a ld a, $ff - ldh [rNR31], a + ldh [rAUD3LEN], a ld a, $20 - ldh [rNR32], a + ldh [rAUD3LEVEL], a ld a, $ff - ldh [rNR33], a + ldh [rAUD3LOW], a ld a, $87 - ldh [rNR34], a + ldh [rAUD3HIGH], a pop hl pop bc call PlayPikachuPCM @@ -66,10 +66,10 @@ ENDC ld [wc0f3], a ld [wc0f3 + 1], a ld a, $80 - ldh [rNR52], a + ldh [rAUDENA], a xor a - ldh [rNR30], a - ld hl, rWave_0 + ldh [rAUD3ENA], a + ld hl, _AUD3WAVERAM ld de, wRedrawRowOrColumnSrcTiles .reloadWaveDataLoop ld a, [de] @@ -79,10 +79,10 @@ ENDC cp $40 ; end of wave data jr nz, .reloadWaveDataLoop ld a, $80 - ldh [rNR30], a - ldh a, [rNR51] + ldh [rAUD3ENA], a + ldh a, [rAUDTERM] and $bb - ldh [rNR51], a + ldh [rAUDTERM], a xor a ld [wChannelSoundIDs + CHAN5], a ld [wChannelSoundIDs + CHAN6], a diff --git a/engine/pikachu/pikachu_pic_animation.asm b/engine/pikachu/pikachu_pic_animation.asm index 56ad6436..a7fd80f3 100644 --- a/engine/pikachu/pikachu_pic_animation.asm +++ b/engine/pikachu/pikachu_pic_animation.asm @@ -222,7 +222,7 @@ PikaPicAnimTimerAndJoypad: ret nz call JoypadLowSensitivity ldh a, [hJoyPressed] - and A_BUTTON | B_BUTTON + and PAD_A | PAD_B ret CheckPikaPicAnimTimer: diff --git a/engine/pokemon/bills_pc.asm b/engine/pokemon/bills_pc.asm index ea40ba04..09c04293 100644 --- a/engine/pokemon/bills_pc.asm +++ b/engine/pokemon/bills_pc.asm @@ -69,7 +69,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, 5 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 @@ -168,7 +168,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] @@ -445,7 +445,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 @@ -456,7 +456,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 e10c6bcf..e40b3573 100644 --- a/engine/pokemon/learn_move.asm +++ b/engine/pokemon/learn_move.asm @@ -142,7 +142,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 @@ -154,7 +154,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 c810260d..d0952cb9 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 @@ -447,7 +447,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/printer/printer.asm b/engine/printer/printer.asm index fd4002c5..f0d2cb34 100644 --- a/engine/printer/printer.asm +++ b/engine/printer/printer.asm @@ -432,7 +432,7 @@ PrinterDebug: Printer_CheckPressingB: ldh a, [hJoyHeld] - and B_BUTTON + and PAD_B jr nz, .quit and a ret diff --git a/engine/slots/slot_machine.asm b/engine/slots/slot_machine.asm index 835ba1cf..baf5c242 100644 --- a/engine/slots/slot_machine.asm +++ b/engine/slots/slot_machine.asm @@ -70,7 +70,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 @@ -89,7 +89,7 @@ MainSlotMachineLoop: ld de, CoinMultiplierSlotMachineText call PlaceString call HandleMenuInput - and B_BUTTON + and PAD_B jp nz, LoadScreenTilesFromBuffer1 ld a, [wCurrentMenuItem] ld b, a @@ -831,7 +831,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/gfx/overworld/red_fish_back.png b/gfx/overworld/red_fish_back.png index 0972377c..fd29ddab 100644 Binary files a/gfx/overworld/red_fish_back.png and b/gfx/overworld/red_fish_back.png differ diff --git a/gfx/overworld/red_fish_front.png b/gfx/overworld/red_fish_front.png index e18a27d8..0d76b428 100644 Binary files a/gfx/overworld/red_fish_front.png and b/gfx/overworld/red_fish_front.png differ diff --git a/gfx/overworld/red_fish_side.png b/gfx/overworld/red_fish_side.png index 11f25c2a..faab5474 100644 Binary files a/gfx/overworld/red_fish_side.png and b/gfx/overworld/red_fish_side.png differ diff --git a/gfx/pics.asm b/gfx/pics.asm index e7a52a17..bea31ade 100644 --- a/gfx/pics.asm +++ b/gfx/pics.asm @@ -324,7 +324,7 @@ VictreebelPicFront:: INCBIN "gfx/pokemon/front/victreebel.pic" VictreebelPicBack:: INCBIN "gfx/pokemon/back/victreebelb.pic" -SECTION "Pics 6", ROMX +SECTION "Trainer Pics", ROMX YoungsterPic:: INCBIN "gfx/trainers/youngster.pic" BugCatcherPic:: INCBIN "gfx/trainers/bugcatcher.pic" diff --git a/home/audio.asm b/home/audio.asm index 6e891e9a..067093d6 100644 --- a/home/audio.asm +++ b/home/audio.asm @@ -144,7 +144,7 @@ Func_2223:: ld [wChannelSoundIDs + CHAN6], a ld [wChannelSoundIDs + CHAN7], a ld [wChannelSoundIDs + CHAN8], a - ldh [rNR10], a + ldh [rAUD1SWEEP], a ret StopAllMusic:: diff --git a/home/bankswitch2.asm b/home/bankswitch2.asm index cc54a8cb..8e37388f 100644 --- a/home/bankswitch2.asm +++ b/home/bankswitch2.asm @@ -1,6 +1,6 @@ BankswitchCommon:: ldh [hLoadedROMBank], a - ld [MBC1RomBank], a + ld [rROMB], a ret Bankswitch:: @@ -10,30 +10,30 @@ Bankswitch:: push af ld a, b ldh [hLoadedROMBank], a - ld [MBC1RomBank], a + ld [rROMB], a call JumpToAddress pop bc ld a, b ldh [hLoadedROMBank], a - ld [MBC1RomBank], a + ld [rROMB], a ret JumpToAddress:: jp hl OpenSRAM:: push af - ld a, SRAM_BANKING_MODE - ld [MBC1SRamBankingMode], a - ld a, SRAM_ENABLE - ld [MBC1SRamEnable], a + ld a, BMODE_ADVANCED + ld [rBMODE], a + ld a, RAMG_SRAM_ENABLE + ld [rRAMG], a pop af - ld [MBC1SRamBank], a + ld [rRAMB], a ret CloseSRAM:: push af - ld a, SRAM_DISABLE - ld [MBC1SRamBankingMode], a - ld [MBC1SRamEnable], a + ld a, 0 + ld [rBMODE], a + ld [rRAMG], a pop af ret diff --git a/home/copy.asm b/home/copy.asm index 2d07945c..b0d0ebac 100644 --- a/home/copy.asm +++ b/home/copy.asm @@ -35,7 +35,7 @@ CopyData:: CopyVideoDataAlternate:: ldh a, [rLCDC] - bit rLCDC_ENABLE, a ; LCD enabled? + bit B_LCDC_ENABLE, a ; LCD enabled? jp nz, CopyVideoData ; if yes, then copy video data push hl ld h, d @@ -55,7 +55,7 @@ CopyVideoDataAlternate:: CopyVideoDataDoubleAlternate:: ldh a, [rLCDC] - bit rLCDC_ENABLE, a ; LCD enabled? + bit B_LCDC_ENABLE, a ; LCD enabled? jp nz, CopyVideoDataDouble ; if yes, then copy video data push de ld d, h diff --git a/home/fade_audio.asm b/home/fade_audio.asm index 373b9bf8..a84ff2fe 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 986ce38f..c1e1c9d3 100644 --- a/home/hidden_objects.asm +++ b/home/hidden_objects.asm @@ -6,7 +6,7 @@ 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) diff --git a/home/init.asm b/home/init.asm index d555e598..0e5149a0 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 @@ -72,7 +72,7 @@ DEF rLCDC_DEFAULT EQU (1 << rLCDC_ENABLE) | (1 << rLCDC_WINDOW_TILEMAP) | (1 << ldh [rIF], a ld [wc0f3], a ld [wc0f3 + 1], 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 @@ -89,7 +89,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 @@ -115,7 +115,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/joypad2.asm b/home/joypad2.asm index 30f9f788..da824797 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 @@ -78,7 +78,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 0742521f..b09f1ebc 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 @@ -220,13 +220,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 be54a287..c9a009f7 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/npc_movement.asm b/home/npc_movement.asm index 83c837a8..58fd8505 100644 --- a/home/npc_movement.asm +++ b/home/npc_movement.asm @@ -53,10 +53,10 @@ DebugPressedOrHeldB:: ; dummy except in _DEBUG ; Safari Game step counter, and some NPC scripts. IF DEF(_DEBUG) 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 ret ENDC ret diff --git a/home/overworld.asm b/home/overworld.asm index 111e7cab..473635cc 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -1,6 +1,6 @@ EnterMap:: ; Load a new map. - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a call LoadMapData farcall ClearVariablesOnEnterMap @@ -73,14 +73,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] @@ -142,7 +142,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 @@ -150,7 +150,7 @@ OverworldLoopLessDelay:: jr .handleDirectionButtonPress .checkIfUpButtonIsPressed - bit BIT_D_UP, a + bit B_PAD_UP, a jr z, .checkIfLeftButtonIsPressed ld a, -1 ld [wSpritePlayerStateData1YStepVector], a @@ -158,7 +158,7 @@ OverworldLoopLessDelay:: jr .handleDirectionButtonPress .checkIfLeftButtonIsPressed - bit BIT_D_LEFT, a + bit B_PAD_LEFT, a jr z, .checkIfRightButtonIsPressed ld a, -1 ld [wSpritePlayerStateData1XStepVector], a @@ -166,7 +166,7 @@ OverworldLoopLessDelay:: jr .handleDirectionButtonPress .checkIfRightButtonIsPressed - bit BIT_D_RIGHT, a + bit B_PAD_RIGHT, a jr z, .noDirectionButtonsPressed ld a, 1 ld [wSpritePlayerStateData1XStepVector], a @@ -350,7 +350,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 call AdvancePlayerSprite @@ -401,7 +401,7 @@ CheckWarpsNoCollisionLoop:: pop bc pop de ldh a, [hJoyHeld] - and D_DOWN | D_UP | D_LEFT | D_RIGHT + and PAD_CTRL_PAD jr z, CheckWarpsNoCollisionRetry2 ; if directional buttons aren't being pressed, do not pass through the warp jr WarpFound1 @@ -1598,9 +1598,9 @@ ForceBikeDown:: cp ROUTE_17 ; Cycling Road ret nz ldh a, [hJoyHeld] - and D_DOWN | D_UP | D_LEFT | D_RIGHT | B_BUTTON | A_BUTTON + and PAD_CTRL_PAD | PAD_B | PAD_A ret nz - 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 ret @@ -2048,7 +2048,7 @@ CopyMapViewToVRAM2: 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 @@ -2284,14 +2284,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 @@ -2314,7 +2314,7 @@ LoadDestinationWarpPosition:: push af ld a, [wPredefParentBank] ldh [hLoadedROMBank], a - ld [MBC1RomBank], a + ld [rROMB], a ld a, b add a add a @@ -2326,5 +2326,5 @@ LoadDestinationWarpPosition:: call CopyData pop af ldh [hLoadedROMBank], a - ld [MBC1RomBank], a + ld [rROMB], a ret diff --git a/home/pikachu_cries.asm b/home/pikachu_cries.asm index 9d41da02..92841938 100644 --- a/home/pikachu_cries.asm +++ b/home/pikachu_cries.asm @@ -35,7 +35,7 @@ LoadNextSoundClipSample:: and $80 srl a srl a - ldh [rNR32], a + ldh [rAUD3LEVEL], a sla d ret diff --git a/home/pokemon.asm b/home/pokemon.asm index b66fe72d..54996092 100644 --- a/home/pokemon.asm +++ b/home/pokemon.asm @@ -232,11 +232,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 @@ -250,7 +250,7 @@ HandlePartyMenuInput:: ld [wPartyMenuAnimMonEnabled], a call HandleMenuInput_ push af ; save hJoy5 OR wMenuWrapping enabled, if no inputs were selected within a certain period of time - bit BIT_B_BUTTON, a ; was B button pressed? + bit B_PAD_B, a ; was B button pressed? ld a, $0 ld [wPartyMenuAnimMonEnabled], a ld a, [wCurrentMenuItem] @@ -273,7 +273,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 @@ -303,7 +303,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 diff --git a/home/predef.asm b/home/predef.asm index 4861d5d0..ba237c66 100644 --- a/home/predef.asm +++ b/home/predef.asm @@ -14,7 +14,7 @@ Predef:: push af ld a, BANK(GetPredefPointer) ldh [hLoadedROMBank], a - ld [MBC1RomBank], a + ld [rROMB], a call GetPredefPointer 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/printer.asm b/home/printer.asm index 2591567b..2b083681 100644 --- a/home/printer.asm +++ b/home/printer.asm @@ -22,7 +22,7 @@ SerialFunction:: ldh [rSB], a ld a, $1 ldh [rSC], a - ld a, START_TRANSFER_INTERNAL_CLOCK + ld a, SC_START | SC_INTERNAL ldh [rSC], a ret diff --git a/home/serial.asm b/home/serial.asm index 258651a5..644a6e1d 100644 --- a/home/serial.asm +++ b/home/serial.asm @@ -17,7 +17,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 @@ -35,7 +35,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 @@ -95,7 +95,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] @@ -120,8 +120,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 @@ -142,8 +142,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 @@ -168,8 +168,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] @@ -294,7 +294,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] @@ -315,7 +315,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 @@ -324,7 +324,7 @@ 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 2b284647..3b6a9e76 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 12c9685c..b1bc0539 100644 --- a/home/start_menu.asm +++ b/home/start_menu.asm @@ -15,7 +15,7 @@ RedisplayStartMenu_DoNotDrawStartMenu:: 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_DoNotDrawStartMenu:: 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_DoNotDrawStartMenu:: 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_DoNotDrawStartMenu:: 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 7c3589fd..6a7b51f4 100644 --- a/home/text.asm +++ b/home/text.asm @@ -285,7 +285,7 @@ _ContTextNoPause:: ; move both rows of text in the normal text box up one row ; always called twice in a row -; first time, copy the two rows of text to the "in between" rows that are usually emtpy +; first time, copy the two rows of text to the "in between" rows that are usually empty ; second time, copy the bottom row of text into the top row of text ScrollTextUpOneLine:: hlcoord 0, 14 ; top row of text @@ -501,7 +501,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 @@ -577,7 +577,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 @@ -611,7 +611,7 @@ TextCommand_FAR:: ld a, [hli] ldh [hLoadedROMBank], a - ld [MBC1RomBank], a + ld [rROMB], a push hl ld l, e @@ -621,7 +621,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 097c1028..3d2bd34b 100644 --- a/home/text_script.asm +++ b/home/text_script.asm @@ -98,7 +98,7 @@ AfterDisplayingTextID:: HoldTextDisplayOpen:: call Joypad ldh a, [hJoyHeld] - bit BIT_A_BUTTON, a + bit B_PAD_A, a jr nz, HoldTextDisplayOpen CloseTextDisplay:: diff --git a/home/tilemap.asm b/home/tilemap.asm index ea247763..e2fb4296 100644 --- a/home/tilemap.asm +++ b/home/tilemap.asm @@ -9,7 +9,7 @@ UncompressSpriteFromDE:: SaveScreenTilesToBuffer2:: hlcoord 0, 0 ld de, wTileMapBackup2 - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld bc, SCREEN_AREA jp CopyData LoadScreenTilesFromBuffer2:: @@ -24,13 +24,13 @@ LoadScreenTilesFromBuffer2DisableBGTransfer:: ldh [hAutoBGTransferEnabled], a ld hl, wTileMapBackup2 decoord 0, 0 - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld bc, SCREEN_AREA jp CopyData SaveScreenTilesToBuffer1:: hlcoord 0, 0 ld de, wTileMapBackup - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld bc, SCREEN_AREA jp CopyData LoadScreenTilesFromBuffer1:: @@ -38,7 +38,7 @@ LoadScreenTilesFromBuffer1:: ldh [hAutoBGTransferEnabled], a ld hl, wTileMapBackup decoord 0, 0 - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld bc, SCREEN_AREA call CopyData ld a, 1 ldh [hAutoBGTransferEnabled], a diff --git a/home/trainers.asm b/home/trainers.asm index 5048a8c5..fa9167fc 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_CTRL_PAD 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 19d87f94..091cf5f8 100644 --- a/home/uncompress.asm +++ b/home/uncompress.asm @@ -463,7 +463,7 @@ DecodeNybble1TableFlipped:: dn $e, $6 dn $2, $a -; combines the two loaded chunks with xor (the chunk loaded second is the destination). The source chunk is differeintial decoded beforehand. +; combines the two loaded chunks with xor (the chunk loaded second is the destination). The source chunk is differential decoded beforehand. XorSpriteChunks:: xor a ld [wSpriteCurPosX], a @@ -565,7 +565,7 @@ ResetSpriteBufferPointers:: NybbleReverseTable:: db $0, $8, $4, $c, $2, $a, $6, $e, $1, $9, $5, $d, $3, $b, $7, $f -; combines the two loaded chunks with xor (the chunk loaded second is the destination). Both chunks are differeintial decoded beforehand. +; combines the two loaded chunks with xor (the chunk loaded second is the destination). Both chunks are differential decoded beforehand. UnpackSpriteMode2:: call ResetSpriteBufferPointers ld a, [wSpriteFlipped] diff --git a/home/vblank.asm b/home/vblank.asm index b511dfa4..0cfbe9b1 100644 --- a/home/vblank.asm +++ b/home/vblank.asm @@ -34,7 +34,7 @@ VBlank:: call hDMARoutine ld a, BANK(PrepareOAMData) ldh [hLoadedROMBank], a - ld [MBC1RomBank], a + ld [rROMB], a call PrepareOAMData ; VBlank-sensitive operations end. @@ -70,7 +70,7 @@ VBlank:: ld a, [wVBlankSavedROMBank] ldh [hLoadedROMBank], a - ld [MBC1RomBank], a + ld [rROMB], a pop af ldh [rVBK], a diff --git a/home/vcopy.asm b/home/vcopy.asm index 904383ac..10d6ce20 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_AREA 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 @@ -177,7 +177,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 @@ -247,7 +247,7 @@ VBlankCopyDouble:: ldh [hVBlankCopyDoubleSize], a .loop -REPT LEN_2BPP_TILE / 4 - 1 +REPT TILE_SIZE / 4 - 1 pop de ld [hl], e inc l @@ -313,7 +313,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 713699e6..18c00e79 100644 --- a/home/window.asm +++ b/home/window.asm @@ -50,9 +50,9 @@ HandleMenuInput_:: ld [wCheckFor180DegreeTurn], a ldh a, [hJoy5] ld b, a - bit BIT_A_BUTTON, a + bit B_PAD_A, a jr nz, .checkOtherKeys - bit BIT_D_UP, a + bit B_PAD_UP, a jr z, .checkIfDownPressed .upPressed ld a, [wCurrentMenuItem] ; selected menu item @@ -70,7 +70,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] @@ -93,7 +93,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 ab5b8791..71f4a9b8 100644 --- a/includes.asm +++ b/includes.asm @@ -15,12 +15,11 @@ INCLUDE "macros/scripts/text.asm" INCLUDE "macros/scripts/gfx_anims.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/layout.link b/layout.link index e4c55e62..e9d737fa 100644 --- a/layout.link +++ b/layout.link @@ -97,7 +97,7 @@ ROMX $12 "Maps 7" "Maps 8" ROMX $13 - "Pics 6" + "Trainer Pics" "Maps 9" ROMX $14 "Maps 10" diff --git a/macros/asserts.asm b/macros/asserts.asm index 402d97dd..7ca47892 100644 --- a/macros/asserts.asm +++ b/macros/asserts.asm @@ -44,7 +44,7 @@ MACRO list_start ENDM MACRO li - ASSERT STRFIND(\1, "@") == -1, STRCAT("String terminator \"@\" in list entry: ", \1) + ASSERT STRFIND(\1, "@") == -1, "String terminator \"@\" in list entry: \1" db \1, "@" DEF list_index += 1 ENDM 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/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/macros/scripts/maps.asm b/macros/scripts/maps.asm index 2837d0c0..49150c6e 100644 --- a/macros/scripts/maps.asm +++ b/macros/scripts/maps.asm @@ -72,6 +72,12 @@ ENDM ;\1 source map MACRO def_warps_to + ASSERT {_NUM_WARP_EVENTS} <= MAX_WARP_EVENTS, \ + "Too many warp_events (above {d:MAX_WARP_EVENTS})!" + ASSERT {_NUM_BG_EVENTS} <= MAX_BG_EVENTS, \ + "Too many bg_events (above {d:MAX_BG_EVENTS})!" + ASSERT {_NUM_OBJECT_EVENTS} <= MAX_OBJECT_EVENTS, \ + "Too many object_events (above {d:MAX_OBJECT_EVENTS})!" ; text ID values are significant (see DisplayTextID in home/text_scripts.asm) FOR n, {_NUM_BG_EVENTS} ASSERT {_BG_EVENT_{d:n}_TEXT_ID} > {_NUM_OBJECT_EVENTS}, \ diff --git a/ram/vram.asm b/ram/vram.asm index 04556410..fafb5d8e 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_AREA +vBGMap1:: ds TILEMAP_AREA NEXTU ; battle/menu diff --git a/ram/wram.asm b/ram/wram.asm index 68a04fcb..7b03c846 100644 --- a/ram/wram.asm +++ b/ram/wram.asm @@ -149,7 +149,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:: @@ -158,13 +158,13 @@ wShadowOAMEnd:: SECTION "Tilemap", WRAM0 ; buffer for tiles that are visible on screen (20 columns by 18 rows) -wTileMap:: ds SCREEN_WIDTH * SCREEN_HEIGHT +wTileMap:: ds SCREEN_AREA ; This union spans 480 bytes. UNION ; buffer for temporarily saving and restoring current screen's tiles ; (e.g. if menus are drawn on top) -wTileMapBackup:: ds SCREEN_WIDTH * SCREEN_HEIGHT +wTileMapBackup:: ds SCREEN_AREA NEXTU ; buffer for the blocks surrounding the player (6 columns by 5 rows of 4x4-tile blocks) @@ -174,7 +174,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:: @@ -489,7 +489,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 @@ -1095,7 +1095,7 @@ UNION wSerialOtherGameboyRandomNumberListBlock:: ds $11 NEXTU ; second buffer for temporarily saving and restoring current screen's tiles (e.g. if menus are drawn on top) -wTileMapBackup2:: ds SCREEN_WIDTH * SCREEN_HEIGHT +wTileMapBackup2:: ds SCREEN_AREA ENDU ; This union spans 30 bytes. @@ -1990,11 +1990,11 @@ wObjectDataPointerTemp:: dw ; the tile shown outside the boundaries of the map wMapBackgroundTile:: db -; number of warps in current map (up to 32) +; number of warps in current map (up to MAX_WARP_EVENTS) wNumberOfWarps:: db ; current map warp entries -wWarpEntries:: ds 32 * 4 ; Y, X, warp ID, map ID +wWarpEntries:: ds MAX_WARP_EVENTS * 4 ; Y, X, warp ID, map ID ; if $ff, the player's coordinates are not updated when entering the map wDestinationWarpID:: db @@ -2078,13 +2078,13 @@ wd49b:: db ds 19 -; number of signs in the current map (up to 16) +; number of signs in the current map (up to MAX_BG_EVENTS) wNumSigns:: db -wSignCoords:: ds 16 * 2 ; Y, X -wSignTextIDs:: ds 16 +wSignCoords:: ds MAX_BG_EVENTS * 2 ; Y, X +wSignTextIDs:: ds MAX_BG_EVENTS -; number of sprites on the current map (up to 16) +; number of sprites on the current map (up to MAX_OBJECT_EVENTS) wNumSprites:: db ; these two variables track the X and Y offset in blocks from the last special warp used @@ -2092,8 +2092,8 @@ wNumSprites:: db wYOffsetSinceLastSpecialWarp:: db wXOffsetSinceLastSpecialWarp:: db -wMapSpriteData:: ds 16 * 2 ; movement byte 2, text ID -wMapSpriteExtraData:: ds 16 * 2 ; trainer class/item ID, trainer set ID +wMapSpriteData:: ds MAX_OBJECT_EVENTS * 2 ; movement byte 2, text ID +wMapSpriteExtraData:: ds MAX_OBJECT_EVENTS * 2 ; trainer class/item ID, trainer set ID ; map height in 2x2 meta-tiles wCurrentMapHeight2:: db diff --git a/rgbdscheck.asm b/rgbdscheck.asm index 0ff10b53..ae84803e 100644 --- a/rgbdscheck.asm +++ b/rgbdscheck.asm @@ -1,6 +1,6 @@ IF !DEF(__RGBDS_MAJOR__) || !DEF(__RGBDS_MINOR__) || !DEF(__RGBDS_PATCH__) - fail "pokeyellow requires rgbds v0.9.2 or newer." + fail "pokeyellow requires rgbds v0.9.3 or newer." ENDC -IF __RGBDS_MAJOR__ == 0 && (__RGBDS_MINOR__ < 9 || (__RGBDS_MINOR__ == 9 && __RGBDS_PATCH__ < 2)) - fail "pokeyellow requires rgbds v0.9.2 or newer." +IF __RGBDS_MAJOR__ == 0 && (__RGBDS_MINOR__ < 9 || (__RGBDS_MINOR__ == 9 && __RGBDS_PATCH__ < 3)) + fail "pokeyellow requires rgbds v0.9.3 or newer." ENDC 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 019fe97d..66b2a1e6 100644 --- a/scripts/BikeShop.asm +++ b/scripts/BikeShop.asm @@ -41,7 +41,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 @@ -67,7 +67,7 @@ BikeShopClerkText: ld hl, wStatusFlags5 res BIT_NO_TEXT_DELAY, [hl] call HandleMenuInput - bit BIT_B_BUTTON, a + bit B_PAD_B, a jr nz, .cancel ld a, [wCurrentMenuItem] and a diff --git a/scripts/BillsHouse.asm b/scripts/BillsHouse.asm index 3c1de8e4..17bea71a 100644 --- a/scripts/BillsHouse.asm +++ b/scripts/BillsHouse.asm @@ -56,7 +56,7 @@ BillsHouseScript1: ret BillsHouseScript2: - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, [wSpritePlayerStateData1FacingDirection] and a ; cp SPRITE_FACING_DOWN @@ -135,7 +135,7 @@ PikachuMovementData_1e152: BillsHouseScript4: CheckEvent EVENT_USED_CELL_SEPARATOR_ON_BILL ret z - ld a, SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_SELECT | PAD_START | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, SCRIPT_BILLSHOUSE_SCRIPT5 ld [wBillsHouseCurScript], a @@ -213,7 +213,7 @@ BillsHouseScript7: ld [wPlayerMovingDirection], a ld a, SPRITE_FACING_UP ld [wSpritePlayerStateData1FacingDirection], a - ld a, ~(A_BUTTON | B_BUTTON) + ld a, PAD_SELECT | PAD_START | PAD_CTRL_PAD ld [wJoyIgnore], a ld de, RLE_1e219 ld hl, wSimulatedJoypadStatesEnd @@ -226,7 +226,7 @@ BillsHouseScript7: ret RLE_1e219: - db D_RIGHT, $3 + db PAD_RIGHT, $3 db $FF BillsHouseScript8: diff --git a/scripts/BillsHouse_2.asm b/scripts/BillsHouse_2.asm index 763747e7..f75ab204 100644 --- a/scripts/BillsHouse_2.asm +++ b/scripts/BillsHouse_2.asm @@ -105,7 +105,7 @@ Func_f24ae:: ret Func_f24d5:: - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a xor a ld [wPlayerMovingDirection], 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..2e9e197b 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_CTRL_PAD ld [wJoyIgnore], a CeladonGymReceiveTM21: diff --git a/scripts/CeladonMartRoof.asm b/scripts/CeladonMartRoof.asm index 57eab858..4bb4d596 100644 --- a/scripts/CeladonMartRoof.asm +++ b/scripts/CeladonMartRoof.asm @@ -49,7 +49,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 @@ -73,7 +73,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 c1268a60..0bc77b42 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_CTRL_PAD ld [wJoyIgnore], a SetEvent EVENT_BEAT_CERULEAN_ROCKET_THIEF ld a, TEXT_CERULEANCITY_ROCKET @@ -76,7 +76,7 @@ ENDC call PlayMusic xor a ldh [hJoyHeld], a - ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_CTRL_PAD ld [wJoyIgnore], a ld a, [wXCoord] cp 20 ; is the player standing on the right side of the bridge? @@ -153,7 +153,7 @@ CeruleanCityRivalDefeatedScript: cp $ff jp z, CeruleanCityClearScripts call CeruleanCityFaceRivalScript - ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_CTRL_PAD ld [wJoyIgnore], a SetEvent EVENT_BEAT_CERULEAN_RIVAL ld a, TEXT_CERULEANCITY_RIVAL diff --git a/scripts/CeruleanGym.asm b/scripts/CeruleanGym.asm index cb4d3975..a899fcc0 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_CTRL_PAD ld [wJoyIgnore], a CeruleanGymReceiveTM11: diff --git a/scripts/ChampionsRoom.asm b/scripts/ChampionsRoom.asm index 3188a5c0..8db95e56 100644 --- a/scripts/ChampionsRoom.asm +++ b/scripts/ChampionsRoom.asm @@ -29,7 +29,7 @@ ChampionsRoomDefaultScript: ret ChampionsRoomPlayerEntersScript: - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ld hl, wSimulatedJoypadStatesEnd ld de, RivalEntrance_RLEMovement @@ -42,9 +42,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: @@ -86,7 +86,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_CTRL_PAD ld [wJoyIgnore], a ld a, TEXT_CHAMPIONSROOM_RIVAL ldh [hTextID], a @@ -195,7 +195,7 @@ ChampionsRoomOakExitsScript: ret ChampionsRoomPlayerFollowsOakScript: - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ld hl, wSimulatedJoypadStatesEnd ld de, WalkToHallOfFame_RLEMovement @@ -208,8 +208,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: @@ -223,10 +223,10 @@ ChampionsRoomCleanupScript: ret ChampionsRoom_DisplayTextID_AllowABSelectStart: - ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_CTRL_PAD ld [wJoyIgnore], a call DisplayTextID - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ret diff --git a/scripts/CinnabarGym.asm b/scripts/CinnabarGym.asm index a81e1df1..fd3ceda1 100644 --- a/scripts/CinnabarGym.asm +++ b/scripts/CinnabarGym.asm @@ -200,7 +200,7 @@ CinnabarGymBlainePostBattleScript: ld a, [wIsInBattle] cp $ff jp z, CinnabarGymResetScripts - ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_CTRL_PAD 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..04b35e82 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_CTRL_PAD 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..79b3e4ef 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_CTRL_PAD ld [wJoyIgnore], a ; fallthrough FuchsiaGymReceiveTM06: diff --git a/scripts/GameCorner.asm b/scripts/GameCorner.asm index e242381f..5aaa998c 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_CTRL_PAD 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..eb26afaf 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_BUTTONS | PAD_CTRL_PAD 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_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, HS_CERULEAN_CAVE_GUY ld [wMissableObjectIndex], a diff --git a/scripts/LancesRoom.asm b/scripts/LancesRoom.asm index 772b33bf..f54a0511 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_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ld hl, wSimulatedJoypadStatesEnd ld de, WalkToLance_RLEList @@ -109,10 +109,10 @@ WalkToLance: ret WalkToLance_RLEList: - db D_UP, 13 - db D_LEFT, 12 - db D_DOWN, 7 - db D_LEFT, 6 + db PAD_UP, 13 + 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 89873526..4b82ea12 100644 --- a/scripts/MtMoonB2F.asm +++ b/scripts/MtMoonB2F.asm @@ -200,7 +200,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_CTRL_PAD ld [wJoyIgnore], a ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a @@ -235,7 +235,7 @@ MtMoonB2FScript_49e15: call PlayMusic xor a ldh [hJoyHeld], a - ld a, ~(A_BUTTON | B_BUTTON) + ld a, PAD_SELECT | PAD_START | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, HS_MT_MOON_B2F_JESSIE call MtMoonB2FScript_ShowObject @@ -250,10 +250,10 @@ MtMoonB2FScript_49e15: ld [wDoNotWaitForButtonPressAfterDisplayingText], a ld a, $1 ld [wSimulatedJoypadStatesIndex], a - ld a, D_UP + ld a, PAD_UP ld [wSimulatedJoypadStatesEnd], a call StartSimulatingJoypadStates - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, SCRIPT_MTMOONB2F_SCRIPT6 call MtMoonB2FSetScript @@ -270,7 +270,7 @@ MovementData_f9e66: db $FF MtMoonB2FScript6: - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, [wSimulatedJoypadStatesIndex] and a @@ -280,14 +280,14 @@ MtMoonB2FScript6: ldh [hSpriteIndex], a ld de, MovementData_f9e65 call MoveSprite - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, SCRIPT_MTMOONB2F_SCRIPT7 call MtMoonB2FSetScript ret MtMoonB2FScript7: - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, [wStatusFlags5] bit BIT_SCRIPTED_NPC_MOVEMENT, a @@ -302,14 +302,14 @@ MtMoonB2FScript9: ldh [hSpriteIndex], a ld de, MovementData_f9e66 call MoveSprite - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, SCRIPT_MTMOONB2F_SCRIPT10 call MtMoonB2FSetScript ret MtMoonB2FScript10: - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, [wStatusFlags5] bit BIT_SCRIPTED_NPC_MOVEMENT, a @@ -320,7 +320,7 @@ MtMoonB2FScript11: ld a, SPRITE_FACING_LEFT ld [wSprite06StateData1FacingDirection], a call Delay3 - ld a, ~(A_BUTTON | B_BUTTON) + ld a, PAD_SELECT | PAD_START | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, TEXT_MTMOONB2F_TEXT13 ldh [hTextID], a @@ -345,7 +345,7 @@ MtMoonB2FScript12: ret MtMoonB2FScript13: - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, [wIsInBattle] cp $ff @@ -356,7 +356,7 @@ MtMoonB2FScript13: xor a ld [wSprite02StateData1FacingDirection], a ld [wSprite06StateData1FacingDirection], a - ld a, ~(A_BUTTON | B_BUTTON) + ld a, PAD_SELECT | PAD_START | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a @@ -369,14 +369,14 @@ MtMoonB2FScript13: ld c, BANK(Music_MeetJessieJames) ld a, MUSIC_MEET_JESSIE_JAMES call PlayMusic - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, SCRIPT_MTMOONB2F_SCRIPT14 call MtMoonB2FSetScript ret MtMoonB2FScript14: - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a call GBFadeOutToBlack ld a, HS_MT_MOON_B2F_JESSIE diff --git a/scripts/Museum1F_2.asm b/scripts/Museum1F_2.asm index 836242f4..9a848f50 100644 --- a/scripts/Museum1F_2.asm +++ b/scripts/Museum1F_2.asm @@ -72,7 +72,7 @@ Museum1FPrintScientist1Text:: 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 5be583d9..c7197cb9 100644 --- a/scripts/OaksLab.asm +++ b/scripts/OaksLab.asm @@ -107,7 +107,7 @@ OaksLabPlayerEntersLabScript: ret PlayerEntryMovementRLE: - db D_UP, 8 + db PAD_UP, 8 db -1 ; end OaksLabFollowedOakScript: @@ -131,7 +131,7 @@ OaksLabFollowedOakScript: OaksLabOakChooseMonSpeechScript: SetEvent EVENT_OAK_ASKED_TO_CHOOSE_MON - ld a, SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_SELECT | PAD_START | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, TEXT_OAKSLAB_RIVAL_FED_UP_WITH_WAITING ldh [hTextID], a @@ -179,7 +179,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 @@ -232,7 +232,7 @@ OaksLabRivalTakesPokeballScript: ld a, EEVEE ld [wNamedObjectIndex], a call GetMonName - ld a, ~(A_BUTTON | B_BUTTON) + ld a, PAD_SELECT | PAD_START | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, TEXT_OAKSLAB_RIVAL_RECEIVED_MON ldh [hTextID], a @@ -253,7 +253,7 @@ OaksLabRivalTakesPokeballScript: ld [wPlayerMovingDirection], a ld a, $2 ld [wSimulatedJoypadStatesIndex], a - ld a, D_RIGHT + ld a, PAD_RIGHT ld [wSimulatedJoypadStatesEnd], a ld [wSimulatedJoypadStatesEnd + 1], a call StartSimulatingJoypadStates @@ -265,7 +265,7 @@ OaksLabPlayerWalksToOakScript: jr z, .asm_1c599 ld a, $1 ld [wSimulatedJoypadStatesIndex], a - ld a, D_LEFT + ld a, PAD_LEFT ld [wSimulatedJoypadStatesEnd], a jr .asm_1c5a6 @@ -282,10 +282,10 @@ OaksLabPlayerWalksToOakScript: ret OaksLabRLE_PlayerWalksToOak: - db D_UP, 2 - db D_LEFT, 3 - db D_DOWN, 1 - db D_LEFT, 1 + db PAD_UP, 2 + db PAD_LEFT, 3 + db PAD_DOWN, 1 + db PAD_LEFT, 1 db $FF OaksLabPlayerReceivesPikachuScript: @@ -364,7 +364,7 @@ OaksLabRivalStartBattleScript: ret OaksLabRivalEndBattleScript: - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ; If you beat your rival here, his Eevee will evolve into @@ -380,7 +380,7 @@ OaksLabRivalEndBattleScript: ld a, b ld [wRivalStarter], a - ld a, ~(A_BUTTON | B_BUTTON) + ld a, PAD_SELECT | PAD_START | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, PLAYER_DIR_UP ld [wPlayerMovingDirection], a @@ -439,7 +439,7 @@ OaksLabPlayerWatchRivalExitScript: ld a, [wStatusFlags5] bit BIT_SCRIPTED_NPC_MOVEMENT, a jr nz, .checkRivalPosition - ld a, ~(A_BUTTON | B_BUTTON) + ld a, PAD_SELECT | PAD_START | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, HS_OAKS_LAB_RIVAL ld [wMissableObjectIndex], a @@ -544,7 +544,7 @@ OaksLabOakGivesPokedexScript: ret nz call EnableAutoTextBoxDrawing call PlayDefaultMusic - ld a, ~(A_BUTTON | B_BUTTON) + ld a, PAD_SELECT | PAD_START | PAD_CTRL_PAD ld [wJoyIgnore], a call OaksLabRivalFaceUpOakFaceDownScript ld a, TEXT_OAKSLAB_RIVAL_MY_POKEMON_HAS_GROWN_STRONGER diff --git a/scripts/PalletTown.asm b/scripts/PalletTown.asm index 5bdd774b..42e3ea3e 100644 --- a/scripts/PalletTown.asm +++ b/scripts/PalletTown.asm @@ -35,7 +35,7 @@ PalletTownDefaultScript: .asm_18e40 xor a ldh [hJoyHeld], a - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, PLAYER_DIR_UP ld [wPlayerMovingDirection], a @@ -52,14 +52,14 @@ PalletTownDefaultScript: ret PalletTownOakHeyWaitScript: - ld a, ~(A_BUTTON | B_BUTTON) + ld a, PAD_SELECT | PAD_START | PAD_CTRL_PAD ld [wJoyIgnore], a xor a ld [wOakWalkedToPlayer], a 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_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ld hl, wSprite01StateData2MapY ld a, 8 @@ -106,7 +106,7 @@ PalletTownOakGreetsPlayerScript: ld a, [wStatusFlags5] bit BIT_SCRIPTED_NPC_MOVEMENT, a ret nz - ld a, ~(A_BUTTON | B_BUTTON) + ld a, PAD_SELECT | PAD_START | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, 1 ld [wOakWalkedToPlayer], a @@ -118,7 +118,7 @@ PalletTownOakGreetsPlayerScript: ldh [hTextID], a call DisplayTextID ; oak faces the horizontally adjacent patch of grass to face pikachu - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, $2 ld [wSprite01StateData1MovementStatus], a @@ -136,7 +136,7 @@ PalletTownOakGreetsPlayerScript: PalletTownPikachuBattleScript: ; start the pikachu battle - ld a, ~(A_BUTTON | B_BUTTON) + ld a, PAD_SELECT | PAD_START | PAD_CTRL_PAD ld [wJoyIgnore], a xor a ld [wListScrollOffset], a @@ -165,7 +165,7 @@ PalletTownAfterPikachuBattleScript: ld a, TEXT_PALLETTOWN_OAK_COME_WITH_ME ldh [hTextID], a call DisplayTextID - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ; trigger the next script diff --git a/scripts/PewterCity.asm b/scripts/PewterCity.asm index 6cd96acc..79c02f9a 100644 --- a/scripts/PewterCity.asm +++ b/scripts/PewterCity.asm @@ -34,7 +34,7 @@ ENDC ld hl, PewterCityPlayerLeavingEastCoords call ArePlayerCoordsInArray ret nc - ld a, SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_SELECT | PAD_START | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, TEXT_PEWTERCITY_YOUNGSTER ldh [hTextID], a diff --git a/scripts/PewterGym.asm b/scripts/PewterGym.asm index 87b35924..4cb13fa4 100644 --- a/scripts/PewterGym.asm +++ b/scripts/PewterGym.asm @@ -41,7 +41,7 @@ PewterGymBrockPostBattle: ld a, [wIsInBattle] cp $ff jp z, PewterGymResetScripts - ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_CTRL_PAD ld [wJoyIgnore], a ; fallthrough PewterGymScriptReceiveTM34: diff --git a/scripts/PokemonTower2F.asm b/scripts/PokemonTower2F.asm index 4a7abbb6..d5fbd932 100644 --- a/scripts/PokemonTower2F.asm +++ b/scripts/PokemonTower2F.asm @@ -65,7 +65,7 @@ PokemonTower2FDefeatedRivalScript: ld a, [wIsInBattle] cp $ff jp z, PokemonTower2FResetRivalEncounter - ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_CTRL_PAD 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..4c083980 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_CTRL_PAD ld [wJoyIgnore], a ld hl, wStatusFlags4 set BIT_NO_BATTLES, [hl] diff --git a/scripts/PokemonTower6F.asm b/scripts/PokemonTower6F.asm index 251b3759..ad71ad6d 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_BUTTONS | PAD_CTRL_PAD 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_CTRL_PAD 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 79c091b6..3e30db56 100644 --- a/scripts/PokemonTower7F.asm +++ b/scripts/PokemonTower7F.asm @@ -55,7 +55,7 @@ PokemonTower7FScript_60d2a: call PlayMusic xor a ldh [hJoyHeld], a - ld a, ~(A_BUTTON | B_BUTTON) + ld a, PAD_SELECT | PAD_START | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, HS_POKEMON_TOWER_7F_JESSIE call PokemonTower7FScript_ShowObject @@ -66,7 +66,7 @@ PokemonTower7FScript_60d2a: ld a, TEXT_POKEMONTOWER7F_TEXT4 ldh [hTextID], a call DisplayTextID - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, SCRIPT_POKEMONTOWER7F_SCRIPT1 call PokemonTower7FSetScript @@ -89,14 +89,14 @@ PokemonTower7FScript1: ld a, POKEMONTOWER7F_JESSIE ldh [hSpriteIndex], a call MoveSprite - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, SCRIPT_POKEMONTOWER7F_SCRIPT2 call PokemonTower7FSetScript ret PokemonTower7FScript2: - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, [wStatusFlags5] bit BIT_SCRIPTED_NPC_MOVEMENT, a @@ -120,14 +120,14 @@ PokemonTower7FScript4: ld a, POKEMONTOWER7F_JAMES ldh [hSpriteIndex], a call MoveSprite - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, SCRIPT_POKEMONTOWER7F_SCRIPT5 call PokemonTower7FSetScript ret PokemonTower7FScript5: - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, [wStatusFlags5] bit BIT_SCRIPTED_NPC_MOVEMENT, a @@ -143,7 +143,7 @@ PokemonTower7FScript6: ld [wSprite02StateData1FacingDirection], a .asm_60dff call Delay3 - ld a, ~(A_BUTTON | B_BUTTON) + ld a, PAD_SELECT | PAD_START | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, TEXT_POKEMONTOWER7F_TEXT5 ldh [hTextID], a @@ -167,7 +167,7 @@ PokemonTower7FScript7: ret PokemonTower7FScript8: - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, [wIsInBattle] cp $ff @@ -178,7 +178,7 @@ PokemonTower7FScript8: xor a ld [wSprite01StateData1FacingDirection], a ld [wSprite02StateData1FacingDirection], a - ld a, ~(A_BUTTON | B_BUTTON) + ld a, PAD_SELECT | PAD_START | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a @@ -191,14 +191,14 @@ PokemonTower7FScript8: ld c, BANK(Music_MeetJessieJames) ld a, MUSIC_MEET_JESSIE_JAMES call PlayMusic - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, SCRIPT_POKEMONTOWER7F_SCRIPT9 call PokemonTower7FSetScript ret PokemonTower7FScript9: - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a call GBFadeOutToBlack ld a, HS_POKEMON_TOWER_7F_JESSIE @@ -235,7 +235,7 @@ PokemonTower7FScript_HideObject: ret PokemonTower7FWarpToMrFujiHouseScript: - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD 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..080f1539 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_BUTTONS | PAD_CTRL_PAD 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..eb1073d4 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_BUTTONS | PAD_CTRL_PAD 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 bfd4a835..15a98853 100644 --- a/scripts/RocketHideoutB4F.asm +++ b/scripts/RocketHideoutB4F.asm @@ -45,7 +45,7 @@ RocketHideoutB4FBeatGiovanniScript: ld a, [wIsInBattle] cp $ff jp z, RocketHideoutB4FResetScripts - ld a, SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_SELECT | PAD_START | PAD_CTRL_PAD ld [wJoyIgnore], a SetEvent EVENT_BEAT_ROCKET_HIDEOUT_GIOVANNI ld a, TEXT_ROCKETHIDEOUTB4F_GIOVANNI_HOPE_WE_MEET_AGAIN @@ -95,7 +95,7 @@ RocketHideoutB4FScript_455a5: .asm_455c2 xor a ldh [hJoyHeld], a - ld a, SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_SELECT | PAD_START | PAD_CTRL_PAD ld [wJoyIgnore], a call StopAllMusic ld c, BANK(Music_MeetJessieJames) @@ -112,7 +112,7 @@ RocketHideoutB4FScript_455a5: call DisplayTextID xor a ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, HS_ROCKET_HIDEOUT_B4F_JAMES call RocketHideoutB4FScript_ShowObject @@ -139,14 +139,14 @@ RocketHideoutB4FScript4: ld a, ROCKETHIDEOUTB4F_JAMES ldh [hSpriteIndex], a call MoveSprite - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, SCRIPT_ROCKETHIDEOUTB4F_SCRIPT5 call RocketHideoutB4FSetScript ret RocketHideoutB4FScript5: - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, [wStatusFlags5] bit BIT_SCRIPTED_NPC_MOVEMENT, a @@ -162,7 +162,7 @@ RocketHideoutB4FScript6: ld [wSprite02StateData1FacingDirection], a .asm_4564a call Delay3 - ld a, SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_SELECT | PAD_START | PAD_CTRL_PAD ld [wJoyIgnore], a RocketHideoutB4FScript7: ld de, RocketHideoutB4FJessieJamesMovementData_45606 @@ -173,19 +173,19 @@ RocketHideoutB4FScript7: ld a, ROCKETHIDEOUTB4F_JESSIE ldh [hSpriteIndex], a call MoveSprite - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, SCRIPT_ROCKETHIDEOUTB4F_SCRIPT8 call RocketHideoutB4FSetScript ret RocketHideoutB4FScript8: - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a 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_CTRL_PAD ld [wJoyIgnore], a RocketHideoutB4FScript9: ld a, $2 @@ -221,7 +221,7 @@ RocketHideoutB4FScript10: ret RocketHideoutB4FScript11: - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, [wIsInBattle] cp $ff @@ -232,7 +232,7 @@ RocketHideoutB4FScript11: xor a ld [wSprite02StateData1FacingDirection], a ld [wSprite03StateData1FacingDirection], a - ld a, SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_SELECT | PAD_START | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a @@ -245,14 +245,14 @@ RocketHideoutB4FScript11: ld c, BANK(Music_MeetJessieJames) ld a, MUSIC_MEET_JESSIE_JAMES call PlayMusic - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, SCRIPT_ROCKETHIDEOUTB4F_SCRIPT12 call RocketHideoutB4FSetScript ret RocketHideoutB4FScript12: - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a call GBFadeOutToBlack ld a, HS_ROCKET_HIDEOUT_B4F_JAMES diff --git a/scripts/Route16Gate1F.asm b/scripts/Route16Gate1F.asm index a8bf2f0f..8f02a616 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_CTRL_PAD 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..3bf2f8e6 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_CTRL_PAD 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 d4149252..77ad1ad0 100644 --- a/scripts/Route22.asm +++ b/scripts/Route22.asm @@ -66,7 +66,7 @@ Route22DefaultScript: ld [wSavedCoordIndex], a xor a ldh [hJoyHeld], a - ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_CTRL_PAD ld [wJoyIgnore], a ld a, PLAYER_DIR_LEFT ld [wPlayerMovingDirection], a @@ -166,7 +166,7 @@ Route22Rival1AfterBattleScript: ld a, ROUTE22_RIVAL1 ldh [hSpriteIndex], a call SetSpriteFacingDirectionAndDelay - ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_CTRL_PAD ld [wJoyIgnore], a SetEvent EVENT_BEAT_ROUTE22_RIVAL_1ST_BATTLE ld a, TEXT_ROUTE22_RIVAL1 @@ -319,7 +319,7 @@ Route22Rival2AfterBattleScript: .set_rival_facing_direction ldh [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay - ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_CTRL_PAD 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 97b4ae6a..b8ff0ed2 100644 --- a/scripts/Route22Gate.asm +++ b/scripts/Route22Gate.asm @@ -39,7 +39,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 29c90868..24a5281a 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_CTRL_PAD 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 eb8b3957..d1204f74 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 8fb6f18d..2d98c513 100644 --- a/scripts/SSAnne2F.asm +++ b/scripts/SSAnne2F.asm @@ -40,7 +40,7 @@ SSAnne2FDefaultScript: call SetSpriteMovementBytesToFF xor a ldh [hJoyHeld], a - ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_CTRL_PAD ld [wJoyIgnore], a ldh a, [hSavedCoordIndex] cp $2 @@ -109,7 +109,7 @@ SSAnne2FRivalAfterBattleScript: cp $ff jp z, SSAnne2FResetScripts call SSAnne2FSetFacingDirectionScript - ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_CTRL_PAD ld [wJoyIgnore], a ld a, TEXT_SSANNE2F_RIVAL_CUT_MASTER ldh [hTextID], a diff --git a/scripts/SafariZoneGate.asm b/scripts/SafariZoneGate.asm index a0f4d828..0e1a05bf 100644 --- a/scripts/SafariZoneGate.asm +++ b/scripts/SafariZoneGate.asm @@ -23,7 +23,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_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a xor a ldh [hJoyHeld], a @@ -36,10 +36,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_CTRL_PAD ld [wJoyIgnore], a ld a, SCRIPT_SAFARIZONEGATE_PLAYER_MOVING_RIGHT ld [wSafariZoneGateCurScript], a @@ -61,7 +61,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_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ret @@ -81,7 +81,7 @@ 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_CTRL_PAD ld [wJoyIgnore], a ld a, TEXT_SAFARIZONEGATE_SAFARI_ZONE_WORKER1_GOOD_HAUL_COME_AGAIN ldh [hTextID], a @@ -90,7 +90,7 @@ SafariZoneGateLeavingSafariScript: ld [wNumSafariBalls], a ld [wSafariSteps], a ld [wSafariSteps], a ; ????? - ld a, D_DOWN + ld a, PAD_DOWN ld c, 3 call SafariZoneEntranceAutoWalk ld a, SCRIPT_SAFARIZONEGATE_PLAYER_MOVING_DOWN @@ -164,7 +164,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 @@ -176,7 +176,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/SafariZoneGate_2.asm b/scripts/SafariZoneGate_2.asm index d760ed83..819c2cc2 100644 --- a/scripts/SafariZoneGate_2.asm +++ b/scripts/SafariZoneGate_2.asm @@ -60,7 +60,7 @@ SafariZoneGatePrintSafariZoneWorker1WouldYouLikeToJoinText:: ld [wSafariSteps], a ld a, l ld [wSafariSteps + 1], a - ld a, D_UP + ld a, PAD_UP ld c, 3 call SafariZoneEntranceAutoWalk2 SetEvent EVENT_IN_SAFARI_ZONE @@ -73,7 +73,7 @@ SafariZoneGatePrintSafariZoneWorker1WouldYouLikeToJoinText:: ld hl, .PleaseComeAgainText call PrintText .CantPayWalkDown - ld a, D_DOWN + ld a, PAD_DOWN ld c, 1 call SafariZoneEntranceAutoWalk2 ld a, SCRIPT_SAFARIZONEGATE_PLAYER_MOVING_DOWN diff --git a/scripts/SaffronGym.asm b/scripts/SaffronGym.asm index 4bfb7b2c..46ebf2c6 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_CTRL_PAD 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 5fe805f0..91ba9669 100644 --- a/scripts/SeafoamIslandsB4F.asm +++ b/scripts/SeafoamIslandsB4F.asm @@ -46,7 +46,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 @@ -104,15 +104,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 87887432..5b72e3f8 100644 --- a/scripts/SilphCo11F.asm +++ b/scripts/SilphCo11F.asm @@ -119,7 +119,7 @@ SilphCo11FScript_621c5: ld [wSavedCoordIndex], a xor a ldh [hJoyHeld], a - ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_CTRL_PAD ld [wJoyIgnore], a ld a, TEXT_SILPHCO11F_GIOVANNI ldh [hTextID], a @@ -167,7 +167,7 @@ SilphCo11FGiovanniAfterBattleScript: ld b, SPRITE_FACING_DOWN .continue call SilphCo11FScript_621ff - ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_CTRL_PAD ld [wJoyIgnore], a ld a, TEXT_SILPHCO11F_GIOVANNI_YOU_RUINED_OUR_PLANS ldh [hTextID], a @@ -240,7 +240,7 @@ SilphCo11FScript_6229c: call PlayMusic xor a ldh [hJoyHeld], a - ld a, SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_SELECT | PAD_START | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a @@ -249,7 +249,7 @@ SilphCo11FScript_6229c: call DisplayTextID xor a ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a SetEvent EVENT_782 ld a, SCRIPT_SILPHCO11F_SCRIPT5 @@ -316,14 +316,14 @@ SilphCo11FScript5: ld a, SILPHCO11F_JAMES ldh [hSpriteIndex], a call MoveSprite - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, SCRIPT_SILPHCO11F_SCRIPT6 call SilphCo11FSetCurScript ret SilphCo11FScript6: - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, [wStatusFlags5] bit BIT_SCRIPTED_NPC_MOVEMENT, a @@ -339,7 +339,7 @@ SilphCo11FScript7: ld [hl], SPRITE_FACING_UP .asm_6235e call Delay3 - ld a, SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_SELECT | PAD_START | PAD_CTRL_PAD ld [wJoyIgnore], a SilphCo11FScript8: ld de, SilphCo11FMovementData_622fb @@ -354,19 +354,19 @@ SilphCo11FScript8: ld a, SILPHCO11F_JESSIE ldh [hSpriteIndex], a call MoveSprite - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, SCRIPT_SILPHCO11F_SCRIPT9 call SilphCo11FSetCurScript ret SilphCo11FScript9: - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a 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_CTRL_PAD ld [wJoyIgnore], a SilphCo11FScript10: ld a, $2 @@ -401,7 +401,7 @@ SilphCo11FScript11: ret SilphCo11FScript12: - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, [wIsInBattle] cp $ff @@ -412,7 +412,7 @@ SilphCo11FScript12: xor a ld [wSprite04StateData1FacingDirection], a ld [wSprite06StateData1FacingDirection], a - ld a, SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_SELECT | PAD_START | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a @@ -425,14 +425,14 @@ SilphCo11FScript12: ld c, BANK(Music_MeetJessieJames) ld a, MUSIC_MEET_JESSIE_JAMES call PlayMusic - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, SCRIPT_SILPHCO11F_SCRIPT13 call SilphCo11FSetCurScript ret SilphCo11FScript13: - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD ld [wJoyIgnore], a call GBFadeOutToBlack ld a, HS_SILPH_CO_11F_JAMES diff --git a/scripts/SilphCo7F.asm b/scripts/SilphCo7F.asm index f1532448..dd67a6a2 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_CTRL_PAD ld [wJoyIgnore], a ld a, PLAYER_DIR_DOWN ld [wPlayerMovingDirection], a @@ -195,7 +195,7 @@ SilphCo7FRivalAfterBattleScript: ld a, [wIsInBattle] cp $ff jp z, SilphCo7FSetDefaultScript - ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_CTRL_PAD 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 647446fa..1d9d790d 100644 --- a/scripts/VermilionCity.asm +++ b/scripts/VermilionCity.asm @@ -74,7 +74,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 @@ -99,9 +99,9 @@ VermilionCityPlayerAllowedToPassScript: ret VermilionCityPlayerExitShipScript: - ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN + ld a, PAD_BUTTONS | PAD_CTRL_PAD 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 1de518e3..6e8f6822 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..19b2e202 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_CTRL_PAD ld [wJoyIgnore], a VermilionGymLTSurgeReceiveTM24Script: diff --git a/scripts/ViridianCity.asm b/scripts/ViridianCity.asm index 9ffe0950..07646f1a 100644 --- a/scripts/ViridianCity.asm +++ b/scripts/ViridianCity.asm @@ -51,7 +51,7 @@ ViridianCityCheckGymOpenScript: call StartSimulatingJoypadStates ld a, $1 ld [wSimulatedJoypadStatesIndex], a - ld a, D_DOWN + ld a, PAD_DOWN ld [wSimulatedJoypadStatesEnd], a xor a ld [wSpritePlayerStateData1FacingDirection], a @@ -158,7 +158,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 @@ -184,7 +184,7 @@ ViridianCityCheckWaitingOldMan: ld a, TEXT_VIRIDIANCITY_OLD_MAN2 ldh [hTextID], a call DisplayTextID - ld a, D_UP | D_DOWN | D_LEFT | D_RIGHT | START | SELECT + ld a, PAD_SELECT | PAD_START | PAD_CTRL_PAD ld [wJoyIgnore], a ret @@ -192,7 +192,7 @@ ViridianCityOldManInitialCatchTrainingScript: call ViridianCityOldManStartCatchTrainingScript.SetupSprite call ViridianCityOldManStartCatchTrainingScript.SetupBattle SetEvent EVENT_INITIAL_CATCH_TRAINING - ld a, D_UP | D_DOWN | D_LEFT | D_RIGHT | START | SELECT + ld a, PAD_SELECT | PAD_START | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, SCRIPT_VIRIDIANCITY_OLD_MAN_END_INITIAL_CATCH_TRAINING ld [wViridianCityCurScript], a @@ -203,7 +203,7 @@ ViridianCityOldManEndInitialCatchTrainingScript: call UpdateSprites call Delay3 SetEvent EVENT_COMPLETED_CATCH_TRAINING - ld a, D_UP | D_DOWN | D_LEFT | D_RIGHT | START | SELECT + ld a, PAD_SELECT | PAD_START | PAD_CTRL_PAD ld [wJoyIgnore], a ld a, TEXT_VIRIDIANCITY_OLD_MAN2 ldh [hTextID], a diff --git a/scripts/ViridianCity_2.asm b/scripts/ViridianCity_2.asm index e81055b2..cd48e67b 100644 --- a/scripts/ViridianCity_2.asm +++ b/scripts/ViridianCity_2.asm @@ -75,7 +75,7 @@ ViridianCityPrintOldManSleepyText:: call StartSimulatingJoypadStates ld a, $1 ld [wSimulatedJoypadStatesIndex], a - ld a, D_DOWN + ld a, PAD_DOWN ld [wSimulatedJoypadStatesEnd], a ld a, SCRIPT_VIRIDIANCITY_PLAYER_MOVING_DOWN ld [wViridianCityCurScript], a diff --git a/scripts/ViridianGym.asm b/scripts/ViridianGym.asm index 55d849d2..6f195037 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_BUTTONS | PAD_CTRL_PAD 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_CTRL_PAD ld [wJoyIgnore], a ; fallthrough ViridianGymReceiveTM27: diff --git a/scripts/ViridianMart.asm b/scripts/ViridianMart.asm index d3b3eceb..f118b475 100644 --- a/scripts/ViridianMart.asm +++ b/scripts/ViridianMart.asm @@ -42,8 +42,8 @@ ViridianMartDefaultScript: ret .PlayerMovement: - db D_LEFT, 1 - db D_UP, 2 + db PAD_LEFT, 1 + db PAD_UP, 2 db -1 ; end ViridianMartOaksParcelScript: