From fcbf5383cd5799129cc1c292012c49cdff115726 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 23 Oct 2016 19:37:07 -0400 Subject: Add GBHW constants for MBC5 --- gbhw.asm | 124 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100755 gbhw.asm diff --git a/gbhw.asm b/gbhw.asm new file mode 100755 index 0000000..0ad7b2a --- /dev/null +++ b/gbhw.asm @@ -0,0 +1,124 @@ +; Graciously aped from http://nocash.emubase.de/pandocs.htm . + +; MBC5 +MBC5SRamEnable EQU $0000 +MBC5RomBank EQU $2000 +MBC5RomBankHi EQU $3000 +MBC5SRamBank EQU $4000 +MBC5RomBankOn EQU $6000 +MBC5RTC EQU $a000 + +SRAM_DISABLE EQU $00 +SRAM_ENABLE EQU $0a + +NUM_SRAM_BANKS EQU 4 + + + +; interrupt flags +VBLANK EQU 0 +LCD_STAT EQU 1 +TIMER EQU 2 +SERIAL EQU 3 +JOYPAD EQU 4 + +; OAM attribute flags +OAM_PALETTE EQU %111 +OAM_TILE_BANK EQU 3 +OAM_OBP_NUM EQU 4 ; Non CGB Mode Only +OAM_X_FLIP EQU 5 +OAM_Y_FLIP EQU 6 +OAM_PRIORITY EQU 7 ; 0: OBJ above BG, 1: OBJ behind BG (colors 1-3) + + +; Hardware registers +rJOYP EQU $ff00 ; Joypad (R/W) +rSB EQU $ff01 ; Serial transfer data (R/W) +rSC EQU $ff02 ; Serial Transfer Control (R/W) +rSC_ON EQU 7 +rSC_CGB EQU 1 +rSC_CLOCK EQU 0 +rDIV EQU $ff04 ; Divider Register (R/W) +rTIMA EQU $ff05 ; Timer counter (R/W) +rTMA EQU $ff06 ; Timer Modulo (R/W) +rTAC EQU $ff07 ; Timer Control (R/W) +rTAC_ON EQU 2 +rTAC_4096_HZ EQU 0 +rTAC_262144_HZ EQU 1 +rTAC_65536_HZ EQU 2 +rTAC_16384_HZ EQU 3 +rIF EQU $ff0f ; Interrupt Flag (R/W) +rNR10 EQU $ff10 ; Channel 1 Sweep register (R/W) +rNR11 EQU $ff11 ; Channel 1 Sound length/Wave pattern duty (R/W) +rNR12 EQU $ff12 ; Channel 1 Volume Envelope (R/W) +rNR13 EQU $ff13 ; Channel 1 Frequency lo (Write Only) +rNR14 EQU $ff14 ; Channel 1 Frequency hi (R/W) +rNR20 EQU $ff15 ; Channel 2 Sweep register (R/W) +rNR21 EQU $ff16 ; Channel 2 Sound Length/Wave Pattern Duty (R/W) +rNR22 EQU $ff17 ; Channel 2 Volume Envelope (R/W) +rNR23 EQU $ff18 ; Channel 2 Frequency lo data (W) +rNR24 EQU $ff19 ; Channel 2 Frequency hi data (R/W) +rNR30 EQU $ff1a ; Channel 3 Sound on/off (R/W) +rNR31 EQU $ff1b ; Channel 3 Sound Length +rNR32 EQU $ff1c ; Channel 3 Select output level (R/W) +rNR33 EQU $ff1d ; Channel 3 Frequency's lower data (W) +rNR34 EQU $ff1e ; Channel 3 Frequency's higher data (R/W) +rNR40 EQU $ff1f ; Channel 4 Sweep register (R/W) +rNR41 EQU $ff20 ; Channel 4 Sound Length (R/W) +rNR42 EQU $ff21 ; Channel 4 Volume Envelope (R/W) +rNR43 EQU $ff22 ; Channel 4 Polynomial Counter (R/W) +rNR44 EQU $ff23 ; Channel 4 Counter/consecutive; Inital (R/W) +rNR50 EQU $ff24 ; Channel control / ON-OFF / Volume (R/W) +rNR51 EQU $ff25 ; Selection of Sound output terminal (R/W) +rNR52 EQU $ff26 ; Sound on/off +rWave_0 EQU $ff30 +rWave_1 EQU $ff31 +rWave_2 EQU $ff32 +rWave_3 EQU $ff33 +rWave_4 EQU $ff34 +rWave_5 EQU $ff35 +rWave_6 EQU $ff36 +rWave_7 EQU $ff37 +rWave_8 EQU $ff38 +rWave_9 EQU $ff39 +rWave_a EQU $ff3a +rWave_b EQU $ff3b +rWave_c EQU $ff3c +rWave_d EQU $ff3d +rWave_e EQU $ff3e +rWave_f EQU $ff3f +rLCDC EQU $ff40 ; LCD Control (R/W) +rSTAT EQU $ff41 ; LCDC Status (R/W) +rSCY EQU $ff42 ; Scroll Y (R/W) +rSCX EQU $ff43 ; Scroll X (R/W) +rLY EQU $ff44 ; LCDC Y-Coordinate (R) +rLYC EQU $ff45 ; LY Compare (R/W) +rDMA EQU $ff46 ; DMA Transfer and Start Address (W) +rBGP EQU $ff47 ; BG Palette Data (R/W) - Non CGB Mode Only +rOBP0 EQU $ff48 ; Object Palette 0 Data (R/W) - Non CGB Mode Only +rOBP1 EQU $ff49 ; Object Palette 1 Data (R/W) - Non CGB Mode Only +rWY EQU $ff4a ; Window Y Position (R/W) +rWX EQU $ff4b ; Window X Position minus 7 (R/W) +rLCDMODE EQU $ff4c +rKEY1 EQU $ff4d ; CGB Mode Only - Prepare Speed Switch +rVBK EQU $ff4f ; CGB Mode Only - VRAM Bank +rBLCK EQU $ff50 +rHDMA1 EQU $ff51 ; CGB Mode Only - New DMA Source, High +rHDMA2 EQU $ff52 ; CGB Mode Only - New DMA Source, Low +rHDMA3 EQU $ff53 ; CGB Mode Only - New DMA Destination, High +rHDMA4 EQU $ff54 ; CGB Mode Only - New DMA Destination, Low +rHDMA5 EQU $ff55 ; CGB Mode Only - New DMA Length/Mode/Start +rRP EQU $ff56 ; CGB Mode Only - Infrared Communications Port +rBGPI EQU $ff68 ; CGB Mode Only - Background Palette Index +rBGPD EQU $ff69 ; CGB Mode Only - Background Palette Data +rOBPI EQU $ff6a ; CGB Mode Only - Sprite Palette Index +rOBPD EQU $ff6b ; CGB Mode Only - Sprite Palette Data +rUNKNOWN1 EQU $ff6c ; (FEh) Bit 0 (Read/Write) - CGB Mode Only +rSVBK EQU $ff70 ; CGB Mode Only - WRAM Bank +rUNKNOWN2 EQU $ff72 ; (00h) - Bit 0-7 (Read/Write) +rUNKNOWN3 EQU $ff73 ; (00h) - Bit 0-7 (Read/Write) +rUNKNOWN4 EQU $ff74 ; (00h) - Bit 0-7 (Read/Write) - CGB Mode Only +rUNKNOWN5 EQU $ff75 ; (8Fh) - Bit 4-6 (Read/Write) +rUNKNOWN6 EQU $ff76 ; (00h) - Always 00h (Read Only) +rUNKNOWN7 EQU $ff77 ; (00h) - Always 00h (Read Only) +rIE EQU $ffff ; Interrupt Enable (R/W) -- cgit v1.2.3 From 9cc1ed6017b320b21965ad53e2c641b65367eae0 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 23 Oct 2016 19:44:42 -0400 Subject: INCLUDE gbhw.asm --- constants.asm | 1 + 1 file changed, 1 insertion(+) diff --git a/constants.asm b/constants.asm index 71a12e3..3397f8f 100755 --- a/constants.asm +++ b/constants.asm @@ -1,5 +1,6 @@ INCLUDE "hram.asm" INCLUDE "vram.asm" +INCLUDE "gbhw.asm" INCLUDE "constants/ball_types.asm" INCLUDE "constants/diglett_stage_constants.asm" -- cgit v1.2.3 From a2b354539ceb0a21f27205a4bd60fb9a52e8e307 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 4 Dec 2016 12:47:52 -0500 Subject: Tilt data; several hardcoded constants and pointers (shut up, revo) --- compare.sh | 12 + data/tilt/left_only | Bin 0 -> 1024 bytes data/tilt/right_only | Bin 0 -> 1024 bytes data/tilt/up_left | Bin 0 -> 1024 bytes data/tilt/up_only | Bin 0 -> 1024 bytes data/tilt/up_right | Bin 0 -> 1024 bytes hram.asm | 2 + macros.asm | 4 + main.asm | 96718 +++++++++++++++++++++++++------------------------ 9 files changed, 48425 insertions(+), 48311 deletions(-) create mode 100755 compare.sh create mode 100644 data/tilt/left_only create mode 100644 data/tilt/right_only create mode 100644 data/tilt/up_left create mode 100644 data/tilt/up_only create mode 100644 data/tilt/up_right diff --git a/compare.sh b/compare.sh new file mode 100755 index 0000000..60e8d34 --- /dev/null +++ b/compare.sh @@ -0,0 +1,12 @@ +#!/bin/sh +# Compares baserom.gbc and pokepinball.gbc + +# create baserom.txt if necessary + +if [ ! -f baserom.txt ]; then + hexdump -C baserom.gbc > baserom.txt +fi + +hexdump -C pokepinball.gbc > pokepinball.txt + +diff -u baserom.txt pokepinball.txt | less diff --git a/data/tilt/left_only b/data/tilt/left_only new file mode 100644 index 0000000..d68143e Binary files /dev/null and b/data/tilt/left_only differ diff --git a/data/tilt/right_only b/data/tilt/right_only new file mode 100644 index 0000000..af9472d Binary files /dev/null and b/data/tilt/right_only differ diff --git a/data/tilt/up_left b/data/tilt/up_left new file mode 100644 index 0000000..70ebbcc Binary files /dev/null and b/data/tilt/up_left differ diff --git a/data/tilt/up_only b/data/tilt/up_only new file mode 100644 index 0000000..beb2d4e Binary files /dev/null and b/data/tilt/up_only differ diff --git a/data/tilt/up_right b/data/tilt/up_right new file mode 100644 index 0000000..75987a5 Binary files /dev/null and b/data/tilt/up_right differ diff --git a/hram.asm b/hram.asm index 9a6f085..df763df 100755 --- a/hram.asm +++ b/hram.asm @@ -1,3 +1,5 @@ +hPushOAM EQU $FF80 + hJoypadState EQU $FF98 ; current state of buttons. See joy_constants.asm for which bits ; correspond to which buttons. hNewlyPressedButtons EQU $FF99 ; buttons that were pressed in the current frame. diff --git a/macros.asm b/macros.asm index f30995f..6895aae 100755 --- a/macros.asm +++ b/macros.asm @@ -22,6 +22,10 @@ dn: MACRO endr ENDM +dr: MACRO +INCBIN "baserom.gbc", \1, \2 - \1 + ENDM + dx: MACRO x = 8 * ((\1) - 1) rept \1 diff --git a/main.asm b/main.asm index d6e3aa2..0c5ee8a 100755 --- a/main.asm +++ b/main.asm @@ -3,32 +3,32 @@ INCLUDE "macros.asm" INCLUDE "constants.asm" SECTION "rst 00", ROM0 [$00] - di - jp Entry + di + jp Entry SECTION "rst 10", ROM0 [$10] - jp Func_468 + jp Func_468 SECTION "rst 18", ROM0 [$18] - jp JumpToFuncInTable + jp JumpToFuncInTable SECTION "rst 20", ROM0 [$20] - jp Func_486 + jp Func_486 SECTION "rst 40", ROM0 [$40] - jp Func_2f2 + jp Func_2f2 SECTION "rst 48", ROM0 [$48] - jp Func_3ec + jp Func_3ec SECTION "rst 50", ROM0 [$50] - jp Func_418 + jp Func_418 SECTION "rst 58", ROM0 [$58] - jp Func_445 + jp Func_445 SECTION "rst 60", ROM0 [$60] - jp Func_467 + jp Func_467 SECTION "Entry", ROM0 [$100] @@ -46,10025 +46,10087 @@ SECTION "Header", ROM0 [$104] SECTION "Main", ROM0 Start: ; 0x150 - ld [hGameBoyColorFlag], a - ld sp, hGameBoyColorFlag - di - xor a - ld [$ff0f], a - ld a, [$ff40] ; LCD Control - bit 7, a ; Check if LCD Display is enabled - jr nz, .LCDDisplayEnabled - set 7, a - ld [$ff40], a + ld [hGameBoyColorFlag], a + ld sp, hGameBoyColorFlag + di + xor a + ld [rIF], a + ld a, [rLCDC] ; LCD Control + bit 7, a ; Check if LCD Display is enabled + jr nz, .LCDDisplayEnabled + set 7, a + ld [rLCDC], a .LCDDisplayEnabled - ld bc, $0002 - call Func_948 + ld bc, $0002 + call Func_948 .waitForVBlank - ld a, [$ff44] ; LY register (LCDC Y-Coordinate) - cp 145 ; > 144 means V-Blank - jr c, .waitForVBlank - ld a, $81 - ld [$ff40], a ; Enable LCD Display - xor a - ld [$ff47], a ; Clear Palette Data - ld [$ff48], a - ld [$ff49], a - ld bc, $0002 - call Func_948 + ld a, [rLY] ; LY register (LCDC Y-Coordinate) + cp 145 ; > 144 means V-Blank + jr c, .waitForVBlank + ld a, $81 + ld [rLCDC], a ; Enable LCD Display + xor a + ld [rBGP], a ; Clear Palette Data + ld [rOBP0], a + ld [rOBP1], a + ld bc, $0002 + call Func_948 .waitForVBlank2 - ld a, [$ff44] ; LY register (LCDC Y-Coordinate) - cp 145 ; > 144 means V-Blank - jr c, .waitForVBlank2 - xor a - ld [$ff40], a ; Disable LCD Display - ld hl, wc000 - ld bc, $2000 - call ClearData ; Clear WRAM Bank 0 - ld hl, vTiles0 - ld bc, $1000 - call ClearData ; Clear First half of VRAM - ld a, $a - ld [$0000], a ; Enable RAM - ld a, $1 - ld [$2000], a ; Load ROM Bank $1 - ld a, $0 - ld [$6000], a ; Enable ROM Banking Mode - ld a, $0 - ld [$4000], a ; Set bits 5 and 6 of ROM Bank Number - ld a, $1 - ld [hLoadedROMBank], a - ld a, $1 - ld [$6000], a ; Enable RAM Banking Mode - ld a, $0 - ld [$4000], a ; Load RAM Bank $0 - ld sp, $dfff ; Initialize stack pointer to the end of WRAM Bank $1 - ld hl, $ff80 - ld bc, $007e - call ClearData ; Clear High RAM (HRAM) - call WriteDMACodeToHRAM - call ClearOAMBuffer - xor a - ld [$d7fb], a - ld [$d7fc], a - ld [$d7fd], a - ld [$ffb0], a - ld [$ffb1], a - ld [$d8e1], a - ld [$d7fe], a - ld [$fffc], a - ld hl, $ff9e - xor a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld a, $8f - ld [hli], a - ld a, $a6 - ld [hli], a - ld a, $0 - ld [$d849], a - ld [$d84a], a - ld a, Bank(PlaySong_BankF) - call SetSongBank - call Func_23b - ld a, [hGameBoyColorFlag] - and a - jr nz, .asm_222 - call Func_12f8 - rl a - and $1 - ld [$fffb], a - call Func_13a8 - ld a, [$fffb] - and a - jr z, .asm_222 - ld a, $1 - ld [$d917], a + ld a, [rLY] ; LY register (LCDC Y-Coordinate) + cp 145 ; > 144 means V-Blank + jr c, .waitForVBlank2 + xor a + ld [rLCDC], a ; Disable LCD Display + ld hl, wc000 + ld bc, $2000 + call ClearData ; Clear WRAM Bank 0 + ld hl, vTiles0 + ld bc, $1000 + call ClearData ; Clear First half of VRAM + ld a, $a + ld [MBC5SRamEnable], a ; Enable RAM + ld a, $1 + ld [MBC5RomBank], a ; Load ROM Bank $1 + ld a, $0 + ld [MBC5RomBankOn], a ; Enable ROM Banking Mode + ld a, $0 + ld [MBC5SRamBank], a ; Set bits 5 and 6 of ROM Bank Number + ld a, $1 + ld [hLoadedROMBank], a + ld a, $1 + ld [MBC5RomBankOn], a ; Enable RAM Banking Mode + ld a, $0 + ld [MBC5SRamBank], a ; Load RAM Bank $0 + ld sp, $dfff ; Initialize stack pointer to the end of WRAM Bank $1 + ld hl, hPushOAM + ld bc, $007e + call ClearData ; Clear High RAM (HRAM) + call WriteDMACodeToHRAM + call ClearOAMBuffer + xor a + ld [$d7fb], a + ld [$d7fc], a + ld [$d7fd], a + ld [$ffb0], a + ld [$ffb1], a + ld [$d8e1], a + ld [$d7fe], a + ld [$fffc], a + ld hl, $ff9e + xor a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld a, $8f + ld [hli], a + ld a, $a6 + ld [hli], a + ld a, $0 + ld [$d849], a + ld [$d84a], a + ld a, Bank(PlaySong_BankF) + call SetSongBank + call Func_23b + ld a, [hGameBoyColorFlag] + and a + jr nz, .asm_222 + call Func_12f8 + rl a + and $1 + ld [$fffb], a + call Func_13a8 + ld a, [$fffb] + and a + jr z, .asm_222 + ld a, $1 + ld [$d917], a .asm_222 - ld a, $1 - ld [$ffff], a ; Only enable LCD Status interrupt - ei - ld a, $ff - ld [$d810], a - call Func_97a - xor a - ld [$daa3], a - ld a, Bank(Func_1ffc) - ld hl, Func_1ffc - call BankSwitchSimple + ld a, $1 + ld [rIE], a ; Only enable LCD Status interrupt + ei + ld a, $ff + ld [$d810], a + call Func_97a + xor a + ld [$daa3], a + ld a, Bank(Func_1ffc) + ld hl, Func_1ffc + call BankSwitchSimple Func_23b: ; 0x23b - ld a, [hGameBoyColorFlag] - cp $11 - jr nz, .asm_248 - ld a, $1 - ld [hGameBoyColorFlag], a - ld [$fffd], a - ret + ld a, [hGameBoyColorFlag] + cp $11 + jr nz, .asm_248 + ld a, $1 + ld [hGameBoyColorFlag], a + ld [$fffd], a + ret .asm_248 - xor a - ld [hGameBoyColorFlag], a - ld [$fffd], a - ret + xor a + ld [hGameBoyColorFlag], a + ld [$fffd], a + ret -INCBIN "baserom.gbc",$24e,$2f2 - $24e + dr $24e, $2f2 Func_2f2: ; 0x2f2 - push af - push bc - push de - push hl - call $ff80 ; OAM DMA transfer - ld a, [$ff9e] - ld [$ff40], a - call Func_113a - ei - ld a, [$ff44] - cp $90 - jr c, .asm_328 - ld hl, $ff9f - ld c, $41 - ld a, [hli] - ld [$ff00+c], a - inc c - ld a, [hli] - ld [$ff00+c], a - inc c - ld a, [hli] - ld [$ff00+c], a - inc c - inc c - ld a, [hli] - ld [$ff00+c], a - inc c - inc c - ld a, [hli] - ld [$ff00+c], a - inc c - ld a, [hli] - ld [$ff00+c], a - inc c - ld a, [hli] - ld [$ff00+c], a - inc c - ld a, [hli] - ld [$ff00+c], a - inc c - ld a, [hli] - ld [$ff00+c], a + push af + push bc + push de + push hl + call hPushOAM ; OAM DMA transfer + ld a, [$ff9e] + ld [rLCDC], a + call Func_113a + ei + ld a, [rLY] + cp $90 + jr c, .asm_328 + ld hl, $ff9f + ld c, rSTAT - $ff00 + ld a, [hli] + ld [$ff00+c], a + inc c + ld a, [hli] + ld [$ff00+c], a + inc c + ld a, [hli] + ld [$ff00+c], a + inc c + inc c + ld a, [hli] + ld [$ff00+c], a + inc c + inc c + ld a, [hli] + ld [$ff00+c], a + inc c + ld a, [hli] + ld [$ff00+c], a + inc c + ld a, [hli] + ld [$ff00+c], a + inc c + ld a, [hli] + ld [$ff00+c], a + inc c + ld a, [hli] + ld [$ff00+c], a .asm_328 - ld a, [$ffa2] - ld [$ffa8], a - ld a, [$ffa9] - ld [$ffaa], a - ld a, [$ffab] - ld [$ffac], a - ld a, [$ffad] - ld [$ffae], a - call ReadJoypad - ld a, [$daa3] - and a - jr nz, .asm_359 - ld a, [hJoypadState] - cp $f - jr nz, .asm_359 - ld a, [hNewlyPressedButtons] - and $f - jr z, .asm_359 - ld hl, [sp+$8] - ld [hl], $c3 - inc hl - ld [hl], $3 - ld a, $1 - ld [$daa3], a + ld a, [$ffa2] + ld [$ffa8], a + ld a, [$ffa9] + ld [$ffaa], a + ld a, [$ffab] + ld [$ffac], a + ld a, [$ffad] + ld [$ffae], a + call ReadJoypad + ld a, [$daa3] + and a + jr nz, .asm_359 + ld a, [hJoypadState] + cp $f + jr nz, .asm_359 + ld a, [hNewlyPressedButtons] + and $f + jr z, .asm_359 + ld hl, [sp+$8] + ld [hl], $c3 + inc hl + ld [hl], $3 + ld a, $1 + ld [$daa3], a .asm_359 - ld hl, $ffb2 - ld a, [hl] - inc [hl] - and a - jr nz, .asm_365 - ld hl, $ffb3 - inc [hl] + ld hl, $ffb2 + ld a, [hl] + inc [hl] + and a + jr nz, .asm_365 + ld hl, $ffb3 + inc [hl] .asm_365 - ld hl, $ffb4 - inc [hl] - ld a, [$d8e1] - and a - call nz, Func_167b - ld a, [$d849] - and a - jr nz, .asm_37d - ld a, [$d85d] - and a - call nz, Func_504 + ld hl, $ffb4 + inc [hl] + ld a, [$d8e1] + and a + call nz, Func_167b + ld a, [$d849] + and a + jr nz, .asm_37d + ld a, [$d85d] + and a + call nz, Func_504 .asm_37d - ld a, [$d84a] - and a - jr z, .asm_39d - xor a - ld [$d84a], a - ld a, $1 - ld [$d849], a - ld a, $bc - ld [$ff06], a - ld a, $0 - ld [$ff07], a - ld hl, $ffff - set 2, [hl] - ld a, $4 - ld [$ff07], a + ld a, [$d84a] + and a + jr z, .asm_39d + xor a + ld [$d84a], a + ld a, $1 + ld [$d849], a + ld a, $bc + ld [rTMA], a + ld a, $0 + ld [rTAC], a + ld hl, rIE + set 2, [hl] + ld a, $4 + ld [rTAC], a .asm_39d - ld hl, $4000 - ld a, [$d917] - and a - jr nz, .asm_3b5 - ld a, [$d803] - rrca - ld [$d803], a - and $1 - jr z, .asm_3b5 - set 3, [hl] - jr .asm_3b7 + ld hl, MBC5SRamBank + ld a, [$d917] + and a + jr nz, .asm_3b5 + ld a, [$d803] + rrca + ld [$d803], a + and $1 + jr z, .asm_3b5 + set 3, [hl] + jr .asm_3b7 .asm_3b5 - res 3, [hl] + res 3, [hl] .asm_3b7 - ld a, [$d4aa] - and a - call nz, Func_e69 - pop hl - pop de - pop bc - pop af - reti + ld a, [$d4aa] + and a + call nz, Func_e69 + pop hl + pop de + pop bc + pop af + reti -INCBIN "baserom.gbc",$3c3,$3ec - $3c3 + dr $3c3, $3ec Func_3ec: ; 0x3ec - push af - push bc - push de - push hl - ld a, [$ffb0] - sla a - ld c, a - ld b, $0 - ld hl, PointerTable_408 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] + push af + push bc + push de + push hl + ld a, [$ffb0] + sla a + ld c, a + ld b, $0 + ld hl, PointerTable_408 + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] Func_3ff: ; 0x3ff - ld a, $1 - ld [$ffb5], a - pop hl - pop de - pop bc - pop af - reti + ld a, $1 + ld [$ffb5], a + pop hl + pop de + pop bc + pop af + reti PointerTable_408: ; 0x408 - dw Func_fbc - dw Func_fbf - dw Func_fea - dw Func_105d - dw Func_109e - dw Func_10a1 - dw Func_10a4 - dw Func_10a7 + dw Func_fbc + dw Func_fbf + dw Func_fea + dw Func_105d + dw Func_109e + dw Func_10a1 + dw Func_10a4 + dw Func_10a7 Func_418: ; 0x418 - ei - push af - push bc - push de - push hl - ld a, [$d849] - and a - jr z, .asm_42a - ld a, [$d85d] - and a - call nz, Func_504 + ei + push af + push bc + push de + push hl + ld a, [$d849] + and a + jr z, .asm_42a + ld a, [$d85d] + and a + call nz, Func_504 .asm_42a - ld a, [$d84a] - and a - jr z, .asm_440 - xor a - ld [$d84a], a - ld [$d849], a - ld a, $0 - ld [$ff07], a - ld hl, $ffff - res 2, [hl] + ld a, [$d84a] + and a + jr z, .asm_440 + xor a + ld [$d84a], a + ld [$d849], a + ld a, $0 + ld [rTAC], a + ld hl, rIE + res 2, [hl] .asm_440 - pop hl - pop de - pop bc - pop af - reti + pop hl + pop de + pop bc + pop af + reti Func_445: ; 0x445 - push af - push bc - push de - push hl - ld hl, $045d ; todo - push hl - ld a, [$ffb1] - sla a - ld c, a - ld b, $0 - ld hl, $0462 ; todo - add hl, bc - ld c, [hl] - inc hl - ld b, [hl] - push bc - ret - -INCBIN "baserom.gbc",$45d,$467 - $45d + push af + push bc + push de + push hl + ld hl, Data_45d ; todo + push hl + ld a, [$ffb1] + sla a + ld c, a + ld b, $0 + ld hl, Data_462 ; todo + add hl, bc + ld c, [hl] + inc hl + ld b, [hl] + push bc + ret + +Data_45d: + db $e1, $d1, $c1, $f1, $d9 + +Data_462: + db $64, $16, $66, $04, $c9 Func_467: ; 0x467 - reti + reti Func_468: ; 0x468 - ld a, [$ff40] - bit 7, a - ret z - ld hl, $ffb2 - xor a - ld [hl], a + ld a, [rLCDC] + bit 7, a + ret z + ld hl, $ffb2 + xor a + ld [hl], a .asm_472 - ld a, [hl] - and a - jr z, .asm_472 - ret + ld a, [hl] + and a + jr z, .asm_472 + ret JumpToFuncInTable: ; 0x477 ; Jumps to a function in the pointer table immediately following ; a "rst $18" call. Function must be in the same Bank as the pointer table. ; input: a = index of function in table - sla a - pop hl - push de - ld e, a - ld d, $0 - add hl, de - ld e, [hl] - inc hl - ld d, [hl] - ld l, e - ld h, d - pop de - jp [hl] + sla a + pop hl + push de + ld e, a + ld d, $0 + add hl, de + ld e, [hl] + inc hl + ld d, [hl] + ld l, e + ld h, d + pop de + jp [hl] Func_486: ; 0x486 - rlca - add l - ld l, a - jr nc, .noCarry - inc h + rlca + add l + ld l, a + jr nc, .noCarry + inc h .noCarry - ld a, [hli] - ld h, [hl] - ld l, a - ret + ld a, [hli] + ld h, [hl] + ld l, a + ret PlaySong: ; 0x490 - ld a, [hLoadedROMBank] - push af - ld a, [wCurrentSongBank] - ld [hLoadedROMBank], a - ld [$2000], a - ld a, e - ld [$d7bf], a - ld a, [wCurrentSongBank] - ld [$d7c0], a - call PlaySong_BankF ; this function is replicated in multiple banks. - pop af - ld [hLoadedROMBank], a - ld [$2000], a - ret + ld a, [hLoadedROMBank] + push af + ld a, [wCurrentSongBank] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld a, e + ld [$d7bf], a + ld a, [wCurrentSongBank] + ld [$d7c0], a + call PlaySong_BankF ; this function is replicated in multiple banks. + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ret PlaySoundEffect: ; 0x4af ; input: de = sound effect id? I think d specifies something special and e holds the id - ld a, [$dead] - and a - ret nz - ld a, [$d800] - and a - jr z, .asm_4bd - ld a, d - and a - ret z + ld a, [$dead] + and a + ret nz + ld a, [$d800] + and a + jr z, .asm_4bd + ld a, d + and a + ret z .asm_4bd - ld a, d - ld [$d800], a - ld d, $0 - ld a, [hLoadedROMBank] - push af - ld a, [wCurrentSongBank] - ld [hLoadedROMBank], a - ld [$2000], a - call PlaySoundEffect_BankF ; this function is replicated in multiple banks - pop af - ld [hLoadedROMBank], a - ld [$2000], a - ret + ld a, d + ld [$d800], a + ld d, $0 + ld a, [hLoadedROMBank] + push af + ld a, [wCurrentSongBank] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + call PlaySoundEffect_BankF ; this function is replicated in multiple banks + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ret Func_4d8: ; 0x4d8 - push bc - push de - push hl - ld a, [$ddcb] - ld hl, $ddfd - or [hl] - ld hl, $de2f - or [hl] - and $1 - call z, PlaySoundEffect - pop hl - pop de - pop bc - ret + push bc + push de + push hl + ld a, [$ddcb] + ld hl, $ddfd + or [hl] + ld hl, $de2f + or [hl] + and $1 + call z, PlaySoundEffect + pop hl + pop de + pop bc + ret PlayCry: ; 0x4ef ; Plays a Pokemon cry. ; Input: e = mon id - ld a, [hLoadedROMBank] - push af - ld a, [wCurrentSongBank] - ld [hLoadedROMBank], a - ld [$2000], a - call PlayCry_BankF ; this function is replicated in multiple banks - pop af - ld [hLoadedROMBank], a - ld [$2000], a - ret + ld a, [hLoadedROMBank] + push af + ld a, [wCurrentSongBank] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + call PlayCry_BankF ; this function is replicated in multiple banks + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ret Func_504: ; 0x504 - ld a, [hLoadedROMBank] - push af - ld a, [wCurrentSongBank] - ld [hLoadedROMBank], a - ld [$2000], a - call $4180 ; todo - pop af - ld [hLoadedROMBank], a - ld [$2000], a - ld a, [$d801] - inc a - ld [$d801], a - and $3 - ret nz - ld a, [$d800] - and a - ret z - dec a - ld [$d800], a - ret + ld a, [hLoadedROMBank] + push af + ld a, [wCurrentSongBank] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + call $4180 ; todo + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld a, [$d801] + inc a + ld [$d801], a + and $3 + ret nz + ld a, [$d800] + and a + ret z + dec a + ld [$d800], a + ret SetSongBank: ; 0x52c - di - ld [wCurrentSongBank], a - ei - ret + di + ld [wCurrentSongBank], a + ei + ret CallInFollowingTable: ; 0x532 ; Calls a function in a table located immediately after a call to this function. ; Inputs: a = entry in the table - ld e, a - ld d, $0 - sla e - rl d - sla e - rl d ; multiplied a by 4 because entries in the table are 4 bytes each - pop hl - add hl, de - ld e, [hl] - inc hl - ld d, [hl] - inc hl - ld a, [hl] - ld h, d - ld l, e - jp BankSwitch + ld e, a + ld d, $0 + sla e + rl d + sla e + rl d ; multiplied a by 4 because entries in the table are 4 bytes each + pop hl + add hl, de + ld e, [hl] + inc hl + ld d, [hl] + inc hl + ld a, [hl] + ld h, d + ld l, e + jp BankSwitch BankSwitchSimple: ; 0x549 ; Switches to Bank in register a and jumps to hl. - ld [hLoadedROMBank], a - ld [$2000], a ; Load Bank - jp [hl] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a ; Load Bank + jp [hl] BankSwitch: ; 0x54f - ld e, a - ld a, [hLoadedROMBank] ; currently-loaded Bank - cp e - jr z, .doJump - push af - ld a, e - call .loadNewBank - call .doJump - pop de - ld a, d + ld e, a + ld a, [hLoadedROMBank] ; currently-loaded Bank + cp e + jr z, .doJump + push af + ld a, e + call .loadNewBank + call .doJump + pop de + ld a, d .loadNewBank - push hl - push de - ld hl, $ffff - ld d, [hl] - ld [hl], $0 - ld [$2000], a - ld [hLoadedROMBank], a - ld [hl], d - pop de - pop hl - ret + push hl + push de + ld hl, rIE + ld d, [hl] + ld [hl], $0 + ld [MBC5RomBank], a + ld [hLoadedROMBank], a + ld [hl], d + pop de + pop hl + ret .doJump - ld a, [$ff8b] - ld e, a - ld a, [$ff8a] - jp [hl] + ld a, [$ff8b] + ld e, a + ld a, [$ff8a] + jp [hl] Func_576: ; 0x576 - ld a, [$ff40] - bit 7, a - ret z - ld a, [$ff9e] - res 7, a - ld [$ff9e], a + ld a, [rLCDC] + bit 7, a + ret z + ld a, [$ff9e] + res 7, a + ld [$ff9e], a .asm_581 - ld a, [$ff40] - bit 7, a - jr nz, .asm_581 - ret + ld a, [rLCDC] + bit 7, a + jr nz, .asm_581 + ret Func_588: ; 0x588 - ld a, [$ffc4] - and a - call nz, Func_597 - ld a, [$ff9e] - set 7, a - ld [$ff40], a - ld [$ff9e], a - ret + ld a, [$ffc4] + and a + call nz, Func_597 + ld a, [$ff9e] + set 7, a + ld [rLCDC], a + ld [$ff9e], a + ret Func_597: ; 0x597 - ld de, $ff68 - ld a, $80 - ld [de], a - inc de - ld b, $8 + ld de, rBGPI + ld a, $80 + ld [de], a + inc de + ld b, $8 .asm_5a0 - ld a, [$d80c] - call Func_5c2 - dec b - jr nz, .asm_5a0 - ld de, $ff6a - ld a, $80 - ld [de], a - inc de - ld b, $4 + ld a, [$d80c] + call Func_5c2 + dec b + jr nz, .asm_5a0 + ld de, rOBPI + ld a, $80 + ld [de], a + inc de + ld b, $4 .asm_5b2 - ld a, [$d80d] - call Func_5c2 - ld a, [$d80e] - call Func_5c2 - dec b - jr nz, .asm_5b2 - ret + ld a, [$d80d] + call Func_5c2 + ld a, [$d80e] + call Func_5c2 + dec b + jr nz, .asm_5b2 + ret Func_5c2: ; 0x5c2 - push bc - ld b, $4 + push bc + ld b, $4 .asm_5c5 - push af - push bc - and $3 - sla a - ld c, a - ld b, $0 - ld hl, $05e1 - add hl, bc - ld a, [hli] - ld [de], a - ld a, [hli] - ld [de], a - pop bc - pop af - srl a - srl a - dec b - jr nz, .asm_5c5 - pop bc - ret - -INCBIN "baserom.gbc",$5e1,$5f7 - $5e1 + push af + push bc + and $3 + sla a + ld c, a + ld b, $0 + ld hl, Data_5e1 + add hl, bc + ld a, [hli] + ld [de], a + ld a, [hli] + ld [de], a + pop bc + pop af + srl a + srl a + dec b + jr nz, .asm_5c5 + pop bc + ret + +Data_5e1: + dr $5e1, $5f7 WriteDMACodeToHRAM: ; 0x5f7 -; Initializes registers $ff80 - $ff8a - ld c, $80 - ld b, $a ; number of bytes to load - ld hl, DMARoutine +; Initializes registers hPushOAM - $ff8a + ld c, $80 + ld b, $a ; number of bytes to load + ld hl, DMARoutine .loop - ld a, [hli] - ld [$ff00+c], a ; add register c to $ff00, and store register a into the resulting address - inc c - dec b - jr nz, .loop - ret + ld a, [hli] + ld [$ff00+c], a ; add register c to $ff00, and store register a into the resulting address + inc c + dec b + jr nz, .loop + ret DMARoutine: -; This routine is initially loaded into $ff80 - $ff8a by WriteDMACodeToHRAM. - ld a, (wOAMBuffer >> 8) - ld [$ff00+$46], a ; start DMA - ld a, $28 +; This routine is initially loaded into hPushOAM - $ff8a by WriteDMACodeToHRAM. + ld a, (wOAMBuffer >> 8) + ld [rDMA], a ; start DMA + ld a, $28 .waitLoop ; wait for DMA to finish - dec a - jr nz, .waitLoop - ret + dec a + jr nz, .waitLoop + ret WaitForLCD: ; 0x60f ; Wait for LCD controller to stop reading from both OAM and VRAM because ; CPU can't access OAM, VRAM, or palette data ($ff69, $ff6b) during this time. - ld a, [$ff41] ; LCDC Status register - and $3 - jr nz, WaitForLCD - ld a, $a + ld a, [rSTAT] ; LCDC Status register + and $3 + jr nz, WaitForLCD + ld a, $a .delay10Cycles - dec a - jr nz, .delay10Cycles - ret + dec a + jr nz, .delay10Cycles + ret Func_61b: ; 0x61b - ld a, [$ff44] ; LY register (LCDC Y-Coordinate) - cp $40 - jr c, .asm_625 - cp $80 - jr c, .asm_63d + ld a, [rLY] ; LY register (LCDC Y-Coordinate) + cp $40 + jr c, .asm_625 + cp $80 + jr c, .asm_63d .asm_625 - ld a, [$ff44] ; LY register (LCDC Y-Coordinate) - cp $40 - jr c, .asm_625 - cp $80 - jr nc, .asm_625 + ld a, [rLY] ; LY register (LCDC Y-Coordinate) + cp $40 + jr c, .asm_625 + cp $80 + jr nc, .asm_625 .asm_62f - ld a, [$ff41] - and $3 - jr nz, .asm_62f ; wait for lcd controller to finish transferring data - ld a, $15 + ld a, [rSTAT] + and $3 + jr nz, .asm_62f ; wait for lcd controller to finish transferring data + ld a, $15 .wait - dec a - jr nz, .wait - nop - nop - nop + dec a + jr nz, .wait + nop + nop + nop .asm_63d - ret + ret Func_63e: ; 0xc3e - dec bc + dec bc .asm_63f - ld [hli], a - dec bc - bit 7, b - jr z, .asm_63f - ret + ld [hli], a + dec bc + bit 7, b + jr z, .asm_63f + ret -INCBIN "baserom.gbc",$646,$654 - $646 + dr $646, $654 ClearData: ; 0x654 ; Clears bc bytes starting at hl. ; bc can be a maximum of $7fff, since it checks bit 7 of b when looping. - xor a - dec bc + xor a + dec bc .clearLoop - ld [hli], a - dec bc - bit 7, b - jr z, .clearLoop - ret - -Func_65d: ; 0x65d - ld a, [hli] - ld [de], a - inc de - dec bc - ld a, c - or b - jr nz, Func_65d - ret - -CopyDataToRAM: ; 0x666 spooky + ld [hli], a + dec bc + bit 7, b + jr z, .clearLoop + ret + +LocalCopyData: ; 0x65d + ld a, [hli] + ld [de], a + inc de + dec bc + ld a, c + or b + jr nz, LocalCopyData + ret + +FarCopyData: ; 0x666 spooky ; Copies data from any bank to either working RAM or video RAM ; Input: hl = address of data to copy ; a = bank of data to copy ; de = destination for data ; bc = number of bytes to copy - bit 7, h - jr nz, .copyToVideoRAM - ld [$fffa], a - ld a, [hLoadedROMBank] - push af - ld a, [$fffa] - ld [hLoadedROMBank], a - ld [$2000], a - scf - jr .copyData -.copyToVideoRAM - ld [$4000], a - and a + bit 7, h + jr nz, .copyFromSRAM + ld [$fffa], a + ld a, [hLoadedROMBank] + push af + ld a, [$fffa] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + scf + jr .copyData + +.copyFromSRAM + ld [MBC5SRamBank], a + and a .copyData - push af + push af .copyLoop - ld a, [hli] - ld [de], a - inc de - dec bc - ld a, c - or b - jr nz, .copyLoop - pop af - ret nc - pop af - ld [hLoadedROMBank], a - ld [$2000], a - ret + ld a, [hli] + ld [de], a + inc de + dec bc + ld a, c + or b + jr nz, .copyLoop + pop af + ret nc + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ret ReadByteFromBank: ; 0x68f ; Input: a = bank ; hl = address of byte to read ; Output: a = byte at a:hl - push de - ld d, a - ld a, [hLoadedROMBank] - ld e, a - ld a, d - ld [hLoadedROMBank], a - ld [$2000], a - ld d, [hl] - ld a, e - ld [hLoadedROMBank], a - ld [$2000], a - ld a, d - pop de - ret + push de + ld d, a + ld a, [hLoadedROMBank] + ld e, a + ld a, d + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld d, [hl] + ld a, e + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld a, d + pop de + ret LoadVideoData: ; 0x6a4 ; Input: ; hl = address of pointer table ; a = index of item to load in pointer table ; This needs more documentation. It loads things like graphics and palettes. - sla a - ld c, a - ld b, $0 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a + sla a + ld c, a + ld b, $0 + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a .loadItem - ld a, [hli] - ld c, a - and [hl] - cp $ff ; two consecutive $ff bytes terminate the array - ret z - ld a, [hli] - ld b, a ; bc contains pointer to data to be loaded - push hl - push bc - ld a, [hli] ; a contains bank of data to be loaded - ld e, [hl] - inc hl - ld d, [hl] ; de contains destination address for data - inc hl - ld c, [hl] - inc hl - ld b, [hl] ; bc contains last word of data struct - inc hl ; this is a wasted instruction - pop hl - call Func_6cb - pop hl - ld bc, $0005 - add hl, bc - jr .loadItem + ld a, [hli] + ld c, a + and [hl] + cp $ff ; two consecutive $ff bytes terminate the array + ret z + ld a, [hli] + ld b, a ; bc contains pointer to data to be loaded + push hl + push bc + ld a, [hli] ; a contains bank of data to be loaded + ld e, [hl] + inc hl + ld d, [hl] ; de contains destination address for data + inc hl + ld c, [hl] + inc hl + ld b, [hl] ; bc contains last word of data struct + inc hl ; this is a wasted instruction + pop hl + call Func_6cb + pop hl + ld bc, $0005 + add hl, bc + jr .loadItem Func_6cb: ; 0x6cb - srl b - rr c - jp c, Func_6fd ; if lowest bit of bc is set - jp Func_6d5 ; This jumps to the next instruction... Strange. + srl b + rr c + jp c, Func_6fd ; if lowest bit of bc is set + jp Func_6d5 ; This jumps to the next instruction... Strange. Func_6d5: ; 0x6d5 - ld [$fffa], a ; save bank of data to be loaded - ld a, [hLoadedROMBank] - push af - ld a, [$fffa] ; a contains bank of data to be loaded - ld [hLoadedROMBank], a - ld [$2000], a ; switch bank to the bank of data to be loaded - srl b - rr c - rl a - and $1 ; checks bit 1 of the last word in the data struct - ld [$ff4f], a ; set VRAM Bank + ld [$fffa], a ; save bank of data to be loaded + ld a, [hLoadedROMBank] + push af + ld a, [$fffa] ; a contains bank of data to be loaded + ld [hLoadedROMBank], a + ld [MBC5RomBank], a ; switch bank to the bank of data to be loaded + srl b + rr c + rl a + and $1 ; checks bit 1 of the last word in the data struct + ld [rVBK], a ; set VRAM Bank .copyByte - ld a, [hli] - ld [de], a - inc de - dec bc - ld a, c - or b ; does bc = 0? - jr nz, .copyByte - xor a - ld [$ff4f], a ; set VRAM Bank to Bank 0 - pop af - ld [hLoadedROMBank], a - ld [$2000], a ; reload the previous ROM Bank - ret + ld a, [hli] + ld [de], a + inc de + dec bc + ld a, c + or b ; does bc = 0? + jr nz, .copyByte + xor a + ld [rVBK], a ; set VRAM Bank to Bank 0 + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a ; reload the previous ROM Bank + ret Func_6fd: ; 0x6fd - ld [$fffa], a ; save bank of data to be loaded - ld a, [hLoadedROMBank] - push af - ld a, [$fffa] ; a contains bank of data to be loaded - ld [hLoadedROMBank], a - ld [$2000], a ; switch bank to the bank of data to be loaded - ld a, e - bit 6, a - jr nz, .asm_717 - ld de, $ff68 - call Func_724 - jr z, .asm_71d - xor a + ld [$fffa], a ; save bank of data to be loaded + ld a, [hLoadedROMBank] + push af + ld a, [$fffa] ; a contains bank of data to be loaded + ld [hLoadedROMBank], a + ld [MBC5RomBank], a ; switch bank to the bank of data to be loaded + ld a, e + bit 6, a + jr nz, .asm_717 + ld de, rBGPI + call Func_724 + jr z, .asm_71d + xor a .asm_717 - ld de, $ff6a - call Func_724 + ld de, rOBPI + call Func_724 .asm_71d - pop af - ld [hLoadedROMBank], a - ld [$2000], a - ret + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ret Func_724: ; 0x724 - res 6, a - ld b, a - set 7, a - ld [de], a - inc de + res 6, a + ld b, a + set 7, a + ld [de], a + inc de .copyByte - ld a, [hli] - ld [de], a - inc b - dec c - ret z - bit 6, b - jr z, .copyByte - ret + ld a, [hli] + ld [de], a + inc b + dec c + ret z + bit 6, b + jr z, .copyByte + ret Func_735: ; 0x735 - push hl - ld hl, $ff40 - bit 7, [hl] - pop hl - jp z, CopyDataToRAM - ; fall through + push hl + ld hl, rLCDC + bit 7, [hl] + pop hl + jp z, FarCopyData + ; fall through LoadVRAMData: ; 0x73f ; This loads some data into VRAM. It waits for the LCD H-Blank to copy the data 4 bytes at a time. ; input: hl = source of data ; a = bank of data to load ; de = destination of data ; bc = number of bytes to copy - bit 7, h - jr nz, .asm_752 - ld [$fffa], a - ld a, [hLoadedROMBank] - push af - ld a, [$fffa] - ld [hLoadedROMBank], a - ld [$2000], a - scf - jr .asm_756 + bit 7, h + jr nz, .asm_752 + ld [$fffa], a + ld a, [hLoadedROMBank] + push af + ld a, [$fffa] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + scf + jr .asm_756 .asm_752 - ld [$4000], a - and a + ld [MBC5SRamBank], a + and a .asm_756 - push af - call WaitForLCD + push af + call WaitForLCD .loop - call Func_61b + call Func_61b .waitForHBlank - ld a, [$ff41] - and $3 - jr nz, .waitForHBlank - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - dec bc - dec bc - dec bc - dec bc - nop - nop - nop - nop - ld a, b - or c - jr nz, .loop - pop af - ret nc - pop af - ld [hLoadedROMBank], a - ld [$2000], a - ret - -Func_790: ; 0x790 - push hl - ld hl, $ff40 - bit 7, [hl] - pop hl - jp nz, Func_7dc - bit 7, h - jr nz, .asm_7ad - ld [$fffa], a - ld a, [hLoadedROMBank] - push af - ld a, [$fffa] - ld [hLoadedROMBank], a - ld [$2000], a - scf - jr .asm_7b1 + ld a, [rSTAT] + and $3 + jr nz, .waitForHBlank + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + dec bc + dec bc + dec bc + dec bc + nop + nop + nop + nop + ld a, b + or c + jr nz, .loop + pop af + ret nc + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ret + +FarCopyPalettes: ; 0x790 + push hl + ld hl, rLCDC + bit 7, [hl] + pop hl + jp nz, Func_7dc + bit 7, h + jr nz, .asm_7ad + ld [$fffa], a + ld a, [hLoadedROMBank] + push af + ld a, [$fffa] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + scf + jr .asm_7b1 .asm_7ad - ld [$4000], a - and a + ld [MBC5SRamBank], a + and a .asm_7b1 - push af - ld a, e - bit 6, e - ld de, $ff68 - jr z, .asm_7bf - res 6, a - ld de, $ff6a + push af + ld a, e + bit 6, e + ld de, rBGPI + jr z, .asm_7bf + res 6, a + ld de, rOBPI .asm_7bf - set 7, a - ld [de], a - inc de + set 7, a + ld [de], a + inc de .asm_7c3 - ld a, [hli] - ld [de], a - ld a, [hli] - ld [de], a - ld a, [hli] - ld [de], a - ld a, [hli] - ld [de], a - dec bc - dec bc - dec bc - dec bc - ld a, b - or c - jr nz, .asm_7c3 - pop af - ret nc - pop af - ld [hLoadedROMBank], a - ld [$2000], a - ret + ld a, [hli] + ld [de], a + ld a, [hli] + ld [de], a + ld a, [hli] + ld [de], a + ld a, [hli] + ld [de], a + dec bc + dec bc + dec bc + dec bc + ld a, b + or c + jr nz, .asm_7c3 + pop af + ret nc + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ret Func_7dc: ; 0x7dc - bit 7, h - jr nz, .asm_7ef - ld [$fffa], a - ld a, [hLoadedROMBank] - push af - ld a, [$fffa] - ld [hLoadedROMBank], a - ld [$2000], a - scf - jr .asm_7f3 + bit 7, h + jr nz, .asm_7ef + ld [$fffa], a + ld a, [hLoadedROMBank] + push af + ld a, [$fffa] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + scf + jr .asm_7f3 .asm_7ef - ld [$4000], a - and a + ld [MBC5SRamBank], a + and a .asm_7f3 - push af - ld a, e - bit 6, e - ld de, $ff68 - jr z, .asm_801 - res 6, a - ld de, $ff6a + push af + ld a, e + bit 6, e + ld de, rBGPI + jr z, .asm_801 + res 6, a + ld de, rOBPI .asm_801 - push hl - ld h, d - ld l, e - set 7, a - call PutTileInVRAM - inc de - pop hl - call WaitForLCD + push hl + ld h, d + ld l, e + set 7, a + call PutTileInVRAM + inc de + pop hl + call WaitForLCD .asm_80e - call Func_61b + call Func_61b .asm_811 - ld a, [$ff41] - and $3 - jr nz, .asm_811 - ld a, [hli] - ld [de], a - ld a, [hli] - ld [de], a - ld a, [hli] - ld [de], a - ld a, [hli] - ld [de], a - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - dec bc - dec bc - dec bc - dec bc - nop - nop - nop - nop - ld a, b - or c - jr nz, .asm_80e - pop af - ret nc - pop af - ld [hLoadedROMBank], a - ld [$2000], a - ret + ld a, [rSTAT] + and $3 + jr nz, .asm_811 + ld a, [hli] + ld [de], a + ld a, [hli] + ld [de], a + ld a, [hli] + ld [de], a + ld a, [hli] + ld [de], a + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + dec bc + dec bc + dec bc + dec bc + nop + nop + nop + nop + ld a, b + or c + jr nz, .asm_80e + pop af + ret nc + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ret PutTileInVRAM: ; 0x848 ; Puts a tile in VRAM. ; input: a = tile number ; hl = pointer to VRAM location where tile should be placed - push af - call WaitForLCD - call Func_61b + push af + call WaitForLCD + call Func_61b .asm_84f - ld a, [$ff41] - and $3 - jr nz, .asm_84f ; wait for lcd controller to finish transferring data - pop af - ld [hl], a ; Store tile number in VRAM background map - ret + ld a, [rSTAT] + and $3 + jr nz, .asm_84f ; wait for lcd controller to finish transferring data + pop af + ld [hl], a ; Store tile number in VRAM background map + ret Func_858: ; 0x858 - push af - call WaitForLCD - call Func_61b + push af + call WaitForLCD + call Func_61b .asm_85f - ld a, [$ff41] - and $3 - jr nz, .asm_85f - ld a, $1 - ld [$ff4f], a - pop af - ld [hl], a - xor a - ld [$ff4f], a - ret + ld a, [rSTAT] + and $3 + jr nz, .asm_85f + ld a, $1 + ld [rVBK], a + pop af + ld [hl], a + xor a + ld [rVBK], a + ret Func_86f: ; 0x86f - ld [$fffa], a - ld a, [hLoadedROMBank] - push af - ld a, [$fffa] - ld [hLoadedROMBank], a - ld [$2000], a - ld a, [$ff40] - bit 7, a - jr nz, .asm_8ac - ld a, $1 - ld [$ff4f], a - ld b, $4 + ld [$fffa], a + ld a, [hLoadedROMBank] + push af + ld a, [$fffa] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld a, [rLCDC] + bit 7, a + jr nz, .asm_8ac + ld a, $1 + ld [rVBK], a + ld b, $4 .asm_887 - push bc - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld bc, $001a - add hl, bc - pop bc - dec b - jr nz, .asm_887 - xor a - ld [$ff4f], a - pop af - ld [hLoadedROMBank], a - ld [$2000], a - ret + push bc + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld bc, $001a + add hl, bc + pop bc + dec b + jr nz, .asm_887 + xor a + ld [rVBK], a + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ret .asm_8ac - ld b, $4 + ld b, $4 .asm_8ae - push bc - ld a, [de] - call Func_858 - inc hl - inc de - ld a, [de] - call Func_858 - inc hl - inc de - ld a, [de] - call Func_858 - inc hl - inc de - ld a, [de] - call Func_858 - inc hl - inc de - ld a, [de] - call Func_858 - inc hl - inc de - ld a, [de] - call Func_858 - inc de - ld bc, $001b - add hl, bc - pop bc - dec b - jr nz, .asm_8ae - pop af - ld [hLoadedROMBank], a - ld [$2000], a - ret + push bc + ld a, [de] + call Func_858 + inc hl + inc de + ld a, [de] + call Func_858 + inc hl + inc de + ld a, [de] + call Func_858 + inc hl + inc de + ld a, [de] + call Func_858 + inc hl + inc de + ld a, [de] + call Func_858 + inc hl + inc de + ld a, [de] + call Func_858 + inc de + ld bc, $001b + add hl, bc + pop bc + dec b + jr nz, .asm_8ae + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ret Func_8e1: ; 0x8e1 - ld [$fffa], a - ld a, [hLoadedROMBank] - push af - ld a, [$fffa] - ld [hLoadedROMBank], a - ld [$2000], a - ld a, [$ff40] - bit 7, a - jr nz, .asm_902 - ld a, c - ld [hli], a + ld [$fffa], a + ld a, [hLoadedROMBank] + push af + ld a, [$fffa] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld a, [rLCDC] + bit 7, a + jr nz, .asm_902 + ld a, c + ld [hli], a .asm_8f5 - ld a, [de] - ld [hl], a - inc de - dec b - jr nz, .asm_8f5 - pop af - ld [hLoadedROMBank], a - ld [$2000], a - ret + ld a, [de] + ld [hl], a + inc de + dec b + jr nz, .asm_8f5 + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ret .asm_902 - ld a, c - call PutTileInVRAM - inc hl + ld a, c + call PutTileInVRAM + inc hl .asm_907 - ld a, [de] - call PutTileInVRAM - inc de - dec b - jr nz, .asm_907 - pop af - ld [hLoadedROMBank], a - ld [$2000], a - ret + ld a, [de] + call PutTileInVRAM + inc de + dec b + jr nz, .asm_907 + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ret ClearOAMBuffer: ; 0x916 ; Clears the OAM buffer by loading $f0 into all of the entries. - ld hl, wOAMBuffer ; 0xd000 - ld b, 4 * 40 ; wOAMBuffer is 4 * 40 bytes long (40 OAM entries, 4 bytes each) - ld a, $f0 ; byte to write + ld hl, wOAMBuffer ; 0xd000 + ld b, 4 * 40 ; wOAMBuffer is 4 * 40 bytes long (40 OAM entries, 4 bytes each) + ld a, $f0 ; byte to write .loop - ld [hli], a - dec b - jr nz, .loop - xor a - ld [$d802], a - ret + ld [hli], a + dec b + jr nz, .loop + xor a + ld [$d802], a + ret Func_926: ; 0x926 - ld a, [$d802] - cp $a0 - jr nc, .asm_93a - ld l, a - ld h, $d0 - cpl - add $a1 - ld b, a - ld a, $f0 + ld a, [$d802] + cp $a0 + jr nc, .asm_93a + ld l, a + ld h, $d0 + cpl + add $a1 + ld b, a + ld a, $f0 .asm_936 - ld [hli], a - dec b - jr nz, .asm_936 + ld [hli], a + dec b + jr nz, .asm_936 .asm_93a - xor a - ld [$d802], a - ret + xor a + ld [$d802], a + ret Func_93f: ; 0x93f - push bc - rst $10 - pop bc - dec bc - ld a, c - or b - jr nz, Func_93f - ret + push bc + rst $10 + pop bc + dec bc + ld a, c + or b + jr nz, Func_93f + ret Func_948: ; 0x948 - ld de, $06d6 + ld de, $06d6 .asm_94b - nop - nop - nop - dec de - ld a, d - or e - jr nz, .asm_94b - dec bc - ld a, b - or c - jr nz, Func_948 - ret + nop + nop + nop + dec de + ld a, d + or e + jr nz, .asm_94b + dec bc + ld a, b + or c + jr nz, Func_948 + ret GenRandom: ; 0x959 - push bc - push de - push hl - ld a, [$d811] - ld c, a - ld b, $0 - inc a - cp $37 - jr nz, .asm_96e - call Func_9fa - xor a - ld bc, $0000 + push bc + push de + push hl + ld a, [$d811] + ld c, a + ld b, $0 + inc a + cp $37 + jr nz, .asm_96e + call Func_9fa + xor a + ld bc, $0000 .asm_96e - ld [$d811], a - ld hl, $d812 - add hl, bc - ld a, [hl] - pop hl - pop de - pop bc - ret + ld [$d811], a + ld hl, $d812 + add hl, bc + ld a, [hl] + pop hl + pop de + pop bc + ret Func_97a: ; 0x97a - ld a, [$d810] - ld d, a - ld a, $0 - ld a, [$afff] + ld a, [$d810] + ld d, a + ld a, $0 + ld a, [$afff] .asm_983 - cp d - jr c, .asm_989 - sub d - jr .asm_983 + cp d + jr c, .asm_989 + sub d + jr .asm_983 .asm_989 - ld [$d80f], a - ld [$d848], a - ld e, $1 - ld hl, $09c4 ; todo - ld a, $36 + ld [$d80f], a + ld [$d848], a + ld e, $1 + ld hl, Data_9c4 ; todo + ld a, $36 .asm_996 - push af - ld c, [hl] - inc hl - ld b, $0 - push hl - ld hl, $d812 - add hl, bc - ld [hl], e - ld a, [$d80f] - sub e - jr nc, .asm_9a8 - add d + push af + ld c, [hl] + inc hl + ld b, $0 + push hl + ld hl, $d812 + add hl, bc + ld [hl], e + ld a, [$d80f] + sub e + jr nc, .asm_9a8 + add d .asm_9a8 - ld e, a - ld a, [hl] - ld [$d80f], a - pop hl - pop af - dec a - jr nz, .asm_996 - call Func_9fa - call Func_9fa - call Func_9fa - ld a, $0 - call GenRandom - ld [$afff], a - ret - -INCBIN "baserom.gbc",$9c4,$9fa - $9c4 + ld e, a + ld a, [hl] + ld [$d80f], a + pop hl + pop af + dec a + jr nz, .asm_996 + call Func_9fa + call Func_9fa + call Func_9fa + ld a, $0 + call GenRandom + ld [$afff], a + ret + +Data_9c4: + dr $9c4, $9fa Func_9fa: ; 0x9fa - ld a, [$d810] - ld d, a - ld bc, $d812 - ld hl, $d831 - ld e, $18 + ld a, [$d810] + ld d, a + ld bc, $d812 + ld hl, $d831 + ld e, $18 .asm_a06 - ld a, [bc] - sub [hl] - jr nc, .asm_a0b - add d + ld a, [bc] + sub [hl] + jr nc, .asm_a0b + add d .asm_a0b - ld [bc], a - dec e - jr nz, .asm_a06 - ld bc, $d82a - ld hl, $d812 - ld e, $1f + ld [bc], a + dec e + jr nz, .asm_a06 + ld bc, $d82a + ld hl, $d812 + ld e, $1f .asm_a17 - ld a, [bc] - sub [hl] - jr nc, .asm_a1c - add d + ld a, [bc] + sub [hl] + jr nc, .asm_a1c + add d .asm_a1c - ld [bc], a - dec e - jr nz, .asm_a17 - ret + ld [bc], a + dec e + jr nz, .asm_a17 + ret Func_a21: ; 0xa21 - push bc - push hl - ld c, a - ld b, $0 - ld hl, $0a38 - add hl, bc - ld l, [hl] - call GenRandom - call Func_dd4 - inc h - srl h - ld a, h - pop hl - pop bc - ret - -INCBIN "baserom.gbc",$a38,$ab8 - $a38 + push bc + push hl + ld c, a + ld b, $0 + ld hl, Data_a38 + add hl, bc + ld l, [hl] + call GenRandom + call Func_dd4 + inc h + srl h + ld a, h + pop hl + pop bc + ret + +Data_a38: + dr $a38, $ab8 ReadJoypad: ; 0xab8 ; Reads the current state of the joypad and saves the state into ; some registers the game uses during gameplay. It remembers the joypad state ; from the current frame, previous frame, and two frames ago. - ld a, $20 - ld [$ff00], a - ld a, [$ff00] - ld a, [$ff00] - and $f - swap a - ld b, a - ld a, $30 - ld [$ff00], a - ld a, $10 - ld [$ff00], a - ld a, [$ff00] - ld a, [$ff00] - ld a, [$ff00] - ld a, [$ff00] - ld a, [$ff00] - ld a, [$ff00] - and $f - or b - cpl ; a contains currently-pressed buttons - ld [hJoypadState], a - ld a, $30 - ld [$ff00], a - ld a, [hJoypadState] - ld hl, hPreviousJoypadState - xor [hl] ; a contains buttons that are different from previous frame - push af - ld hl, hJoypadState - and [hl] ; a contains newly-pressed buttons compared to last frame - ld [hNewlyPressedButtons], a - ld [hPressedButtons], a - pop af - ld hl, hPreviousJoypadState - and [hl] ; a contains newly-pressed buttons compared to two frames ago - ld [hPrevPreviousJoypadState], a - ld a, [hJoypadState] - and a - jr z, .asm_b15 - ld hl, hPreviousJoypadState - cp [hl] - jr nz, .asm_b15 - ; button(s) is pressed, and they're identical to the buttons pressed last frame. - ; this code is related to holding down a button for an extended period of time. - ld hl, $ff9d - dec [hl] - jr nz, .asm_b1a - ld a, [hJoypadState] - ld [hPressedButtons], a - ld a, [$d807] - ld [$ff9d], a - jr .asm_b1a + ld a, $20 + ld [rJOYP], a + ld a, [rJOYP] + ld a, [rJOYP] + and $f + swap a + ld b, a + ld a, $30 + ld [rJOYP], a + ld a, $10 + ld [rJOYP], a + ld a, [rJOYP] + ld a, [rJOYP] + ld a, [rJOYP] + ld a, [rJOYP] + ld a, [rJOYP] + ld a, [rJOYP] + and $f + or b + cpl ; a contains currently-pressed buttons + ld [hJoypadState], a + ld a, $30 + ld [rJOYP], a + ld a, [hJoypadState] + ld hl, hPreviousJoypadState + xor [hl] ; a contains buttons that are different from previous frame + push af + ld hl, hJoypadState + and [hl] ; a contains newly-pressed buttons compared to last frame + ld [hNewlyPressedButtons], a + ld [hPressedButtons], a + pop af + ld hl, hPreviousJoypadState + and [hl] ; a contains newly-pressed buttons compared to two frames ago + ld [hPrevPreviousJoypadState], a + ld a, [hJoypadState] + and a + jr z, .asm_b15 + ld hl, hPreviousJoypadState + cp [hl] + jr nz, .asm_b15 + ; button(s) is pressed, and they're identical to the buttons pressed last frame. + ; this code is related to holding down a button for an extended period of time. + ld hl, $ff9d + dec [hl] + jr nz, .asm_b1a + ld a, [hJoypadState] + ld [hPressedButtons], a + ld a, [$d807] + ld [$ff9d], a + jr .asm_b1a .asm_b15 - ld a, [$d806] - ld [$ff9d], a + ld a, [$d806] + ld [$ff9d], a .asm_b1a - ld a, [hJoypadState] - ld [hPreviousJoypadState], a - ld hl, $d808 - ld a, [hJoypadState] - or [hl] - ld [hli], a - ld a, [hNewlyPressedButtons] - or [hl] - ld [hli], a - ld a, [hPressedButtons] - or [hl] - ld [hli], a - ret + ld a, [hJoypadState] + ld [hPreviousJoypadState], a + ld hl, $d808 + ld a, [hJoypadState] + or [hl] + ld [hli], a + ld a, [hNewlyPressedButtons] + or [hl] + ld [hli], a + ld a, [hPressedButtons] + or [hl] + ld [hli], a + ret Func_b2e: ; 0xb2e - ld hl, $d808 - xor a - ld [hli], a - ld [hli], a - ld [hl], a - ret + ld hl, $d808 + xor a + ld [hli], a + ld [hli], a + ld [hl], a + ret IsKeyPressed2: ; 0xb36 - ld a, [hJoypadState] - and [hl] - jr z, .asm_b3e - cp [hl] - jr z, .asm_b48 + ld a, [hJoypadState] + and [hl] + jr z, .asm_b3e + cp [hl] + jr z, .asm_b48 .asm_b3e - inc hl - ld a, [hJoypadState] - and [hl] - ret z - cp [hl] - jr z, .asm_b48 - xor a - ret + inc hl + ld a, [hJoypadState] + and [hl] + ret z + cp [hl] + jr z, .asm_b48 + xor a + ret .asm_b48 - ld a, $1 - and a - ret + ld a, $1 + and a + ret IsKeyPressed: ; 0xb4c ; Checks if a key for the specified key config is pressed. ; input: hl = pointer to key config byte pair (e.g. wKeyConfigLeftFlipper) ; output: zero flag is set if a corresponding key is pressed ; zero flag is reset if no corresponding key is pressed - ld a, [hJoypadState] - and [hl] - jr z, .asm_b58 - cp [hl] - jr nz, .asm_b58 - ld a, [hNewlyPressedButtons] - and [hl] - ret nz + ld a, [hJoypadState] + and [hl] + jr z, .asm_b58 + cp [hl] + jr nz, .asm_b58 + ld a, [hNewlyPressedButtons] + and [hl] + ret nz .asm_b58 - inc hl - ld a, [hJoypadState] - and [hl] - ret z - cp [hl] - jr nz, .asm_b64 - ld a, [hNewlyPressedButtons] - and [hl] - ret + inc hl + ld a, [hJoypadState] + and [hl] + ret z + cp [hl] + jr nz, .asm_b64 + ld a, [hNewlyPressedButtons] + and [hl] + ret .asm_b64 - xor a - ret + xor a + ret Func_b66: ; 0xb66 - ld a, [hGameBoyColorFlag] - and a - jr nz, .asm_b73 - xor a - ld [$ffa3], a - ld [$ffa4], a - ld [$ffa5], a - ret + ld a, [hGameBoyColorFlag] + and a + jr nz, .asm_b73 + xor a + ld [$ffa3], a + ld [$ffa4], a + ld [$ffa5], a + ret .asm_b73 - ld de, $ff68 - ld hl, $d200 ; todo - ld b, $0 - ld c, $20 + ld de, rBGPI + ld hl, $d200 ; todo + ld b, $0 + ld c, $20 .asm_b7d - ld a, b - ld [$ff68], a - inc b - ld a, [$ff69] - ld [hli], a - ld a, b - ld [$ff68], a - inc b - ld a, [$ff69] - ld [hli], a - dec c - jr nz, .asm_b7d - ld b, $0 - ld c, $20 + ld a, b + ld [rBGPI], a + inc b + ld a, [rBGPD] + ld [hli], a + ld a, b + ld [rBGPI], a + inc b + ld a, [rBGPD] + ld [hli], a + dec c + jr nz, .asm_b7d + ld b, $0 + ld c, $20 .asm_b92 - ld a, b - ld [$ff6a], a - inc b - ld a, [$ff6b] - ld [hli], a - ld a, b - ld [$ff6a], a - inc b - ld a, [$ff6b] - ld [hli], a - dec c - jr nz, .asm_b92 - ld de, $ff68 - ld b, $2 + ld a, b + ld [rOBPI], a + inc b + ld a, [rOBPD] + ld [hli], a + ld a, b + ld [rOBPI], a + inc b + ld a, [rOBPD] + ld [hli], a + dec c + jr nz, .asm_b92 + ld de, rBGPI + ld b, $2 .asm_ba8 - ld a, $80 - ld [de], a - inc de - ld c, $20 + ld a, $80 + ld [de], a + inc de + ld c, $20 .asm_bae - ld a, $ff - ld [de], a - ld [hli], a - ld a, $7f - ld [de], a - ld [hli], a - dec c - jr nz, .asm_bae - inc de - dec b - jr nz, .asm_ba8 - ret + ld a, $ff + ld [de], a + ld [hli], a + ld a, $7f + ld [de], a + ld [hli], a + dec c + jr nz, .asm_bae + inc de + dec b + jr nz, .asm_ba8 + ret Func_bbe: ; 0xbbe - ld a, [hGameBoyColorFlag] - and a - jp nz, Func_c19 - ld hl, $ffa3 - ld de, $d80c - ld b, $3 + ld a, [hGameBoyColorFlag] + and a + jp nz, Func_c19 + ld hl, $ffa3 + ld de, $d80c + ld b, $3 .asm_bcc - ld a, [de] - and $55 - ld c, a - ld a, [de] - and $aa - srl a - and c - ld [hli], a - inc de - dec b - jr nz, .asm_bcc - ld bc, $0002 - call Func_93f - ld hl, $ffa3 - ld de, $d80c - ld b, $3 + ld a, [de] + and $55 + ld c, a + ld a, [de] + and $aa + srl a + and c + ld [hli], a + inc de + dec b + jr nz, .asm_bcc + ld bc, $0002 + call Func_93f + ld hl, $ffa3 + ld de, $d80c + ld b, $3 .asm_be9 - ld a, [de] - and $aa - srl a - add [hl] - ld [hli], a - inc de - dec b - jr nz, .asm_be9 - ld bc, $0002 - call Func_93f - ld hl, $ffa3 - ld de, $d80c - ld b, $3 + ld a, [de] + and $aa + srl a + add [hl] + ld [hli], a + inc de + dec b + jr nz, .asm_be9 + ld bc, $0002 + call Func_93f + ld hl, $ffa3 + ld de, $d80c + ld b, $3 .asm_c02 - ld a, [de] - and $55 - ld c, a - ld a, [de] - and $aa - srl a - or c - add [hl] - ld [hli], a - inc de - dec b - jr nz, .asm_c02 - ld bc, $0002 - call Func_93f - ret + ld a, [de] + and $55 + ld c, a + ld a, [de] + and $aa + srl a + or c + add [hl] + ld [hli], a + inc de + dec b + jr nz, .asm_c02 + ld bc, $0002 + call Func_93f + ret Func_c19: ; 0xc19 - ld b, $10 + ld b, $10 .asm_c1b - push bc - ld de, $d200 - ld hl, $d280 - call Func_c2d - call Func_d61 - pop bc - dec b - jr nz, .asm_c1b - ret + push bc + ld de, $d200 + ld hl, $d280 + call Func_c2d + call Func_d61 + pop bc + dec b + jr nz, .asm_c1b + ret Func_c2d: ; 0xc2d - ld a, b - cp $1 - jr z, .asm_c49 - ld c, $40 + ld a, b + cp $1 + jr z, .asm_c49 + ld c, $40 .asm_c34 - push bc - ld a, [hli] - sub $42 - ld c, a - ld a, [hld] - sbc $8 - ld b, a - call Func_c60 - ld a, c - ld [hli], a - ld a, b - ld [hli], a - pop bc - dec c - jr nz, .asm_c34 - ret + push bc + ld a, [hli] + sub $42 + ld c, a + ld a, [hld] + sbc $8 + ld b, a + call Func_c60 + ld a, c + ld [hli], a + ld a, b + ld [hli], a + pop bc + dec c + jr nz, .asm_c34 + ret .asm_c49 - ld c, $40 + ld c, $40 .asm_c4b - push bc - ld a, [hli] - sub $21 - ld c, a - ld a, [hld] - sbc $4 - ld b, a - call Func_c60 - ld a, c - ld [hli], a - ld a, b - ld [hli], a - pop bc - dec c - jr nz, .asm_c4b - ret + push bc + ld a, [hli] + sub $21 + ld c, a + ld a, [hld] + sbc $4 + ld b, a + call Func_c60 + ld a, c + ld [hli], a + ld a, b + ld [hli], a + pop bc + dec c + jr nz, .asm_c4b + ret Func_c60: ; 0xc60 - push hl - ld a, [de] - and $1f - ld l, a - ld a, c - and $1f - cp l - jr nc, .asm_c70 - ld a, c - and $e0 - or l - ld c, a + push hl + ld a, [de] + and $1f + ld l, a + ld a, c + and $1f + cp l + jr nc, .asm_c70 + ld a, c + and $e0 + or l + ld c, a .asm_c70 - ld a, [de] - and $e0 - ld l, a - inc de - ld a, [de] - srl a - rr l - srl a - rr l - ld a, c - and $e0 - ld h, a - ld a, b - srl a - rr h - srl a - rr h - ld a, h - cp l - jr nc, .asm_ca3 - ld h, $0 - sla l - rl h - sla l - rl h - ld a, c - and $1f - or l - ld c, a - ld a, b - and $7c - or h - ld b, a + ld a, [de] + and $e0 + ld l, a + inc de + ld a, [de] + srl a + rr l + srl a + rr l + ld a, c + and $e0 + ld h, a + ld a, b + srl a + rr h + srl a + rr h + ld a, h + cp l + jr nc, .asm_ca3 + ld h, $0 + sla l + rl h + sla l + rl h + ld a, c + and $1f + or l + ld c, a + ld a, b + and $7c + or h + ld b, a .asm_ca3 - ld a, [de] - and $7c - ld l, a - ld a, b - and $7c - cp l - jr nc, .asm_cb2 - ld a, b - and $3 - or l - ld b, a + ld a, [de] + and $7c + ld l, a + ld a, b + and $7c + cp l + jr nc, .asm_cb2 + ld a, b + and $3 + or l + ld b, a .asm_cb2 - inc de - pop hl - ret + inc de + pop hl + ret Func_cb5: ; 0xcb5 - ld a, [hGameBoyColorFlag] - and a - jp nz, Func_cee - ld hl, $ffa3 - ld b, $3 + ld a, [hGameBoyColorFlag] + and a + jp nz, Func_cee + ld hl, $ffa3 + ld b, $3 .asm_cc0 - push bc - push hl - ld b, $3 + push bc + push hl + ld b, $3 .asm_cc4 - ld a, [hl] - and $55 - ld c, a - ld a, [hl] - and $aa - srl a - or c - cpl - inc a - add [hl] - ld [hli], a - dec b - jr nz, .asm_cc4 - ld bc, $0002 - call Func_93f - pop hl - pop bc - dec b - jr nz, .asm_cc0 - xor a - ld hl, $ffa3 - ld [hli], a - ld [hli], a - ld [hl], a - ld bc, $0002 - call Func_93f - ret + ld a, [hl] + and $55 + ld c, a + ld a, [hl] + and $aa + srl a + or c + cpl + inc a + add [hl] + ld [hli], a + dec b + jr nz, .asm_cc4 + ld bc, $0002 + call Func_93f + pop hl + pop bc + dec b + jr nz, .asm_cc0 + xor a + ld hl, $ffa3 + ld [hli], a + ld [hli], a + ld [hl], a + ld bc, $0002 + call Func_93f + ret Func_cee: ; 0xcee - ld hl, $d280 - ld de, $ff68 - call Func_d9d - ld hl, $d2c0 - ld de, $ff6a - call Func_d9d - ld b, $10 + ld hl, $d280 + ld de, rBGPI + call Func_d9d + ld hl, $d2c0 + ld de, rOBPI + call Func_d9d + ld b, $10 .asm_d02 - push bc - ld hl, $d280 - call Func_d11 - call Func_d61 - pop bc - dec b - jr nz, .asm_d02 - ret + push bc + ld hl, $d280 + call Func_d11 + call Func_d61 + pop bc + dec b + jr nz, .asm_d02 + ret Func_d11: ; 0xd11 - ld b, $40 + ld b, $40 .asm_d13 - ld a, [hl] - and $1f - add $2 - ld e, a - cp $1f - jr c, .asm_d1f - ld e, $1f + ld a, [hl] + and $1f + add $2 + ld e, a + cp $1f + jr c, .asm_d1f + ld e, $1f .asm_d1f - ld a, [hl] - and $e0 - or e - ld [hl], a - ld a, [hli] - and $e0 - ld e, [hl] - dec hl - srl e - rr a - srl e - rr a - add $10 - ld e, a - jr nc, .asm_d38 - ld e, $f8 + ld a, [hl] + and $e0 + or e + ld [hl], a + ld a, [hli] + and $e0 + ld e, [hl] + dec hl + srl e + rr a + srl e + rr a + add $10 + ld e, a + jr nc, .asm_d38 + ld e, $f8 .asm_d38 - ld d, $0 - sla e - rl d - sla e - rl d - ld a, [hl] - and $1f - or e - ld [hli], a - ld a, [hl] - and $7c - or d - ld [hl], a - ld a, [hl] - and $7c - add $8 - ld e, a - cp $7c - jr c, .asm_d58 - ld e, $7c + ld d, $0 + sla e + rl d + sla e + rl d + ld a, [hl] + and $1f + or e + ld [hli], a + ld a, [hl] + and $7c + or d + ld [hl], a + ld a, [hl] + and $7c + add $8 + ld e, a + cp $7c + jr c, .asm_d58 + ld e, $7c .asm_d58 - ld a, [hl] - and $3 - or e - ld [hli], a - dec b - jr nz, .asm_d13 - ret + ld a, [hl] + and $3 + or e + ld [hli], a + dec b + jr nz, .asm_d13 + ret Func_d61: ; 0d61 - ld a, [$ffff] - res 0, a - ld [$ffff], a - ld hl, $d280 - ld de, $ff68 - ld a, $80 - ld [de], a - inc de + ld a, [rIE] + res 0, a + ld [rIE], a + ld hl, $d280 + ld de, rBGPI + ld a, $80 + ld [de], a + inc de .asm_d71 - ld a, [$ff44] - cp $90 - jr c, .asm_d71 - ld b, $10 + ld a, [rLY] + cp $90 + jr c, .asm_d71 + ld b, $10 .asm_d79 - ld a, [hli] - ld [de], a - ld a, [hli] - ld [de], a - ld a, [hli] - ld [de], a - ld a, [hli] - ld [de], a - dec b - jr nz, .asm_d79 - inc de - ld a, $80 - ld [de], a - inc de - ld b, $10 + ld a, [hli] + ld [de], a + ld a, [hli] + ld [de], a + ld a, [hli] + ld [de], a + ld a, [hli] + ld [de], a + dec b + jr nz, .asm_d79 + inc de + ld a, $80 + ld [de], a + inc de + ld b, $10 .asm_d8b - ld a, [hli] - ld [de], a - ld a, [hli] - ld [de], a - ld a, [hli] - ld [de], a - ld a, [hli] - ld [de], a - dec b - jr nz, .asm_d8b - ld a, [$ffff] - set 0, a - ld [$ffff], a - ret + ld a, [hli] + ld [de], a + ld a, [hli] + ld [de], a + ld a, [hli] + ld [de], a + ld a, [hli] + ld [de], a + dec b + jr nz, .asm_d8b + ld a, [rIE] + set 0, a + ld [rIE], a + ret Func_d9d: ; 0xd9d - ld b, $0 - ld c, e - inc c - call WaitForLCD + ld b, $0 + ld c, e + inc c + call WaitForLCD .asm_da4 - call Func_61b + call Func_61b .asm_da7 - ld a, [$ff41] - and $3 - jr nz, .asm_da7 ; wait for lcd controller to finish transferring data - ld a, b - ld [de], a - ld a, [$ff00+c] - ld [hli], a - inc b - ld a, b - ld [de], a - ld a, [$ff00+c] - ld [hli], a - inc b - ld a, b - ld [de], a - ld a, [$ff00+c] - ld [hli], a - inc b - ld a, b - ld [de], a - ld a, [$ff00+c] - ld [hli], a - inc b - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - ld a, b - cp $40 - jr nz, .asm_da4 - ret + ld a, [rSTAT] + and $3 + jr nz, .asm_da7 ; wait for lcd controller to finish transferring data + ld a, b + ld [de], a + ld a, [$ff00+c] + ld [hli], a + inc b + ld a, b + ld [de], a + ld a, [$ff00+c] + ld [hli], a + inc b + ld a, b + ld [de], a + ld a, [$ff00+c] + ld [hli], a + inc b + ld a, b + ld [de], a + ld a, [$ff00+c] + ld [hli], a + inc b + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + ld a, b + cp $40 + jr nz, .asm_da4 + ret Func_dd4: ; 0xdd4 - push bc - ld c, l - ld b, $0 - ld hl, $0000 - bit 0, a - jr z, .asm_de0 - add hl, bc +; Return a * l to hl +; Stupid waste of space + push bc + ld c, l + ld b, $0 + ld hl, $0000 + bit 0, a + jr z, .asm_de0 + add hl, bc .asm_de0 - sla c - rl b - bit 1, a - jr z, .asm_de9 - add hl, bc + sla c + rl b + bit 1, a + jr z, .asm_de9 + add hl, bc .asm_de9 - sla c - rl b - bit 2, a - jr z, .asm_df2 - add hl, bc + sla c + rl b + bit 2, a + jr z, .asm_df2 + add hl, bc .asm_df2 - sla c - rl b - bit 3, a - jr z, .asm_dfb - add hl, bc + sla c + rl b + bit 3, a + jr z, .asm_dfb + add hl, bc .asm_dfb - sla c - rl b - bit 4, a - jr z, .asm_e04 - add hl, bc + sla c + rl b + bit 4, a + jr z, .asm_e04 + add hl, bc .asm_e04 - sla c - rl b - bit 5, a - jr z, .asm_e0d - add hl, bc + sla c + rl b + bit 5, a + jr z, .asm_e0d + add hl, bc .asm_e0d - sla c - rl b - bit 6, a - jr z, .asm_e16 - add hl, bc + sla c + rl b + bit 6, a + jr z, .asm_e16 + add hl, bc .asm_e16 - sla c - rl b - bit 7, a - jr z, .asm_e1f - add hl, bc + sla c + rl b + bit 7, a + jr z, .asm_e1f + add hl, bc .asm_e1f - pop bc - ret + pop bc + ret ConvertHexByteToDecWord: ; 0xe21 ; Convert the base-16 value in register a into a Binary Coded Decimal (base-10) word. ; Example: If a = $97, de = $0151. - ld b, a - ld hl, $0e3a ; todo - ld de, $0000 + ld b, a + ld hl, PowersOfTwo ; todo + ld de, $0000 .asm_e28 - srl b - ld a, [hli] - jr nc, .asm_e34 - add e - daa - ld e, a - ld a, [hl] - adc d - daa - ld d, a + srl b + ld a, [hli] + jr nc, .asm_e34 + add e + daa + ld e, a + ld a, [hl] + adc d + daa + ld d, a .asm_e34 - inc hl - ld a, b - and a - jr nz, .asm_e28 - ret + inc hl + ld a, b + and a + jr nz, .asm_e28 + ret PowersOfTwo: ; 0xe3a - dw $0001 - dw $0002 - dw $0004 - dw $0008 - dw $0016 - dw $0032 - dw $0064 - dw $0128 + dw $0001 + dw $0002 + dw $0004 + dw $0008 + dw $0016 + dw $0032 + dw $0064 + dw $0128 Func_e4a: ; 0xe4a - ld a, [hl] - cp $64 - jr z, .asm_e53 - inc a - ld [hl], a - scf - ret + ld a, [hl] + cp $64 + jr z, .asm_e53 + inc a + ld [hl], a + scf + ret .asm_e53 - and a - ret + and a + ret Func_e55: ; 0xe55 - cp c - jr c, .asm_e5b - sub c - jr Func_e55 + cp c + jr c, .asm_e5b + sub c + jr Func_e55 .asm_e5b - and a - ret + and a + ret Func_e5d: ; 0xe5d - ld a, $1 - ld [$d84a], a + ld a, $1 + ld [$d84a], a .asm_e62 - ld a, [$d84a] - and a - jr nz, .asm_e62 - ret + ld a, [$d84a] + and a + jr nz, .asm_e62 + ret Func_e69: ; 0xe69 - ld a, [$ff44] - cp $90 - jr nc, Func_e69 + ld a, [rLY] + cp $90 + jr nc, Func_e69 .asm_e6f - ld a, [$ff41] - and $3 - jr nz, .asm_e6f - ld a, $a + ld a, [rSTAT] + and $3 + jr nz, .asm_e6f + ld a, $a .asm_e77 - dec a - jr nz, .asm_e77 - ld hl, $c640 - call Func_eef - push hl - ld hl, $9c00 - call Func_ef8 - pop hl - call Func_eef - push hl - ld hl, $9c04 - call Func_ef8 - pop hl - call Func_eef - push hl - ld hl, $9c08 - call Func_ef8 - pop hl - call Func_eef - push hl - ld hl, $9c0c - call Func_ef8 - pop hl - call Func_eef - push hl - ld hl, $9c10 - call Func_ef8 - pop hl - ld hl, $c6c0 - call Func_eef - push hl - ld hl, $9c20 - call Func_ef8 - pop hl - call Func_eef - push hl - ld hl, $9c24 - call Func_ef8 - pop hl - call Func_eef - push hl - ld hl, $9c28 - call Func_ef8 - pop hl - call Func_eef - push hl - ld hl, $9c2c - call Func_ef8 - pop hl - call Func_eef - push hl - ld hl, $9c30 - call Func_ef8 - pop hl - ret + dec a + jr nz, .asm_e77 + ld hl, $c640 + call Func_eef + push hl + ld hl, $9c00 + call Func_ef8 + pop hl + call Func_eef + push hl + ld hl, $9c04 + call Func_ef8 + pop hl + call Func_eef + push hl + ld hl, $9c08 + call Func_ef8 + pop hl + call Func_eef + push hl + ld hl, $9c0c + call Func_ef8 + pop hl + call Func_eef + push hl + ld hl, $9c10 + call Func_ef8 + pop hl + ld hl, $c6c0 + call Func_eef + push hl + ld hl, $9c20 + call Func_ef8 + pop hl + call Func_eef + push hl + ld hl, $9c24 + call Func_ef8 + pop hl + call Func_eef + push hl + ld hl, $9c28 + call Func_ef8 + pop hl + call Func_eef + push hl + ld hl, $9c2c + call Func_ef8 + pop hl + call Func_eef + push hl + ld hl, $9c30 + call Func_ef8 + pop hl + ret Func_eef: ; 0xeef - ld a, [hli] - ld b, a - ld a, [hli] - ld c, a - ld a, [hli] - ld d, a - ld a, [hli] - ld e, a - ret + ld a, [hli] + ld b, a + ld a, [hli] + ld c, a + ld a, [hli] + ld d, a + ld a, [hli] + ld e, a + ret Func_ef8: ; 0xef8 - ld a, [$ff41] - and $3 - jr nz, Func_ef8 - ld a, b - ld [hli], a - ld a, c - ld [hli], a - ld a, d - ld [hli], a - ld a, e - ld [hli], a - ld a, $a + ld a, [rSTAT] + and $3 + jr nz, Func_ef8 + ld a, b + ld [hli], a + ld a, c + ld [hli], a + ld a, d + ld [hli], a + ld a, e + ld [hli], a + ld a, $a .asm_f08 - dec a - jr nz, .asm_f08 - ret + dec a + jr nz, .asm_f08 + ret Func_f0c: ; 0xf0c - call Func_f34 - ret nc + call Func_f34 + ret nc .asm_f10 - ld a, [hli] - ld [de], a - inc de - dec bc - ld a, b - or c - jr nz, .asm_f10 - scf - ret + ld a, [hli] + ld [de], a + inc de + dec bc + ld a, b + or c + jr nz, .asm_f10 + scf + ret SaveData: ; 0xf1a ; Input: hl = data to save ; bc = number of bytes to save ; de = destination for saved data - push bc - push de - push hl + push bc + push de + push hl .asm_f1d - ld a, [hli] - ld [de], a - inc de - dec bc - ld a, b - or c - jr nz, .asm_f1d - pop hl - pop de - pop bc - ld h, d - ld l, e - call Func_f74 - call Func_fa1 - call Func_f4c - ret + ld a, [hli] + ld [de], a + inc de + dec bc + ld a, b + or c + jr nz, .asm_f1d + pop hl + pop de + pop bc + ld h, d + ld l, e + call Func_f74 + call Func_fa1 + call Func_f4c + ret Func_f34: ; 0xf34 - call Func_f62 - jr nc, .asm_f3f - call Func_f7e - jr nc, .asm_f3f - ret + call Func_f62 + jr nc, .asm_f3f + call Func_f7e + jr nc, .asm_f3f + ret .asm_f3f - add hl, bc - inc hl - inc hl - inc hl - inc hl - call Func_f62 - ret nc - call Func_f7e - ret + add hl, bc + inc hl + inc hl + inc hl + inc hl + call Func_f62 + ret nc + call Func_f7e + ret Func_f4c: ; 0xf4c - push bc - push hl - push de - inc bc - inc bc - inc bc - inc bc - ld d, h - ld e, l - add hl, bc + push bc + push hl + push de + inc bc + inc bc + inc bc + inc bc + ld d, h + ld e, l + add hl, bc .asm_f56 - ld a, [de] - ld [hli], a - inc de - dec bc - ld a, b - or c - jr nz, .asm_f56 - pop de - pop hl - pop bc - ret + ld a, [de] + ld [hli], a + inc de + dec bc + ld a, b + or c + jr nz, .asm_f56 + pop de + pop hl + pop bc + ret Func_f62: ; 0xf62 - push hl - add hl, bc - ld a, [hli] - cp $4e - jr nz, .asm_f71 - ld a, [hl] - cp $54 - jr nz, .asm_f71 - scf - jr .asm_f72 + push hl + add hl, bc + ld a, [hli] + cp $4e + jr nz, .asm_f71 + ld a, [hl] + cp $54 + jr nz, .asm_f71 + scf + jr .asm_f72 .asm_f71 - and a + and a .asm_f72 - pop hl - ret + pop hl + ret Func_f74: ; 0xf74 - push hl - add hl, bc - ld a, $4e - ld [hli], a - ld a, $54 - ld [hl], a - pop hl - ret + push hl + add hl, bc + ld a, $4e + ld [hli], a + ld a, $54 + ld [hl], a + pop hl + ret Func_f7e: ; 0xf7e - push bc - push de - push hl - inc bc - inc bc - ld de, $0000 + push bc + push de + push hl + inc bc + inc bc + ld de, $0000 .asm_f86 - ld a, [hli] - add e - ld e, a - jr nc, .asm_f8c - inc d + ld a, [hli] + add e + ld e, a + jr nc, .asm_f8c + inc d .asm_f8c - dec bc - ld a, b - or c - jr nz, .asm_f86 - ld a, [hli] - cp e - jr nz, .asm_f9c - ld a, [hl] - cp d - jr nz, .asm_f9c - scf - jr .asm_f9d + dec bc + ld a, b + or c + jr nz, .asm_f86 + ld a, [hli] + cp e + jr nz, .asm_f9c + ld a, [hl] + cp d + jr nz, .asm_f9c + scf + jr .asm_f9d .asm_f9c - and a + and a .asm_f9d - pop hl - pop de - pop bc - ret + pop hl + pop de + pop bc + ret Func_fa1: ; 0xfa1 - push bc - push de - push hl - inc bc - inc bc - ld de, $0000 + push bc + push de + push hl + inc bc + inc bc + ld de, $0000 .asm_fa9 - ld a, [hli] - add e - ld e, a - jr nc, .asm_faf - inc d + ld a, [hli] + add e + ld e, a + jr nc, .asm_faf + inc d .asm_faf - dec bc - ld a, b - or c - jr nz, .asm_fa9 - ld a, e - ld [hli], a - ld a, d - ld [hl], a - pop hl - pop de - pop bc - ret + dec bc + ld a, b + or c + jr nz, .asm_fa9 + ld a, e + ld [hli], a + ld a, d + ld [hl], a + pop hl + pop de + pop bc + ret Func_fbc: ; 0xfbc - jp Func_3ff + jp Func_3ff Func_fbf: ; 0xfbf - ld hl, $ffa8 - ld c, [hl] - ld a, [$ff44] - cp c - jp c, Func_3ff - inc c - inc c - cp c - jp nc, Func_3ff - ld a, [$ffaf] - ld c, a - ld a, [$ff9e] - xor $10 - and c - ld c, a - ld hl, $ff41 + ld hl, $ffa8 + ld c, [hl] + ld a, [rLY] + cp c + jp c, Func_3ff + inc c + inc c + cp c + jp nc, Func_3ff + ld a, [$ffaf] + ld c, a + ld a, [$ff9e] + xor $10 + and c + ld c, a + ld hl, rSTAT .asm_fdb - ld a, [hl] - and $3 - jr nz, .asm_fdb - ld a, [$ff40] - and $80 - or c - ld [$ff40], a - jp Func_3ff + ld a, [hl] + and $3 + jr nz, .asm_fdb + ld a, [rLCDC] + and $80 + or c + ld [rLCDC], a + jp Func_3ff Func_fea: ; 0xfea - ld hl, $ffa8 - ld a, [$ffaa] - cp [hl] - jr nz, .asm_1015 - ld a, [$ff44] - cp [hl] - jp nz, Func_3ff - ld a, [$ff9e] - xor $18 - ld c, a - ld a, [$ffac] - ld b, a - ld hl, $ff41 + ld hl, $ffa8 + ld a, [$ffaa] + cp [hl] + jr nz, .asm_1015 + ld a, [rLY] + cp [hl] + jp nz, Func_3ff + ld a, [$ff9e] + xor $18 + ld c, a + ld a, [$ffac] + ld b, a + ld hl, rSTAT .asm_1003 - ld a, [hl] - and $3 - jr nz, .asm_1003 - ld a, [$ff40] - and $80 - or c - ld [$ff40], a - ld a, b - ld [$ff42], a - jp Func_3ff + ld a, [hl] + and $3 + jr nz, .asm_1003 + ld a, [rLCDC] + and $80 + or c + ld [rLCDC], a + ld a, b + ld [rSCY], a + jp Func_3ff .asm_1015 - ld a, [$ff44] - cp [hl] - jr nz, .asm_1037 - ld a, [$ffa8] - ld hl, $ffaa - sub [hl] - add $40 - ld c, a - ld a, [$ffaa] - ld b, a - ld hl, $ff41 + ld a, [rLY] + cp [hl] + jr nz, .asm_1037 + ld a, [$ffa8] + ld hl, $ffaa + sub [hl] + add $40 + ld c, a + ld a, [$ffaa] + ld b, a + ld hl, rSTAT .asm_1029 - ld a, [hl] - and $3 - jr nz, .asm_1029 - ld a, c - ld [$ff42], a - ld a, b - ld [$ff45], a - jp Func_3ff + ld a, [hl] + and $3 + jr nz, .asm_1029 + ld a, c + ld [rSCY], a + ld a, b + ld [rLYC], a + jp Func_3ff .asm_1037 - ld hl, $ffaa - ld a, [$ff44] - cp [hl] - jp nz, Func_3ff - ld a, [$ff9e] - xor $18 - ld c, a - ld a, [$ffac] - ld b, a - ld hl, $ff41 + ld hl, $ffaa + ld a, [rLY] + cp [hl] + jp nz, Func_3ff + ld a, [$ff9e] + xor $18 + ld c, a + ld a, [$ffac] + ld b, a + ld hl, rSTAT .asm_104b - ld a, [hl] - and $3 - jr nz, .asm_104b - ld a, [$ff40] - and $80 - or c - ld [$ff40], a - ld a, b - ld [$ff42], a - jp Func_3ff + ld a, [hl] + and $3 + jr nz, .asm_104b + ld a, [rLCDC] + and $80 + or c + ld [rLCDC], a + ld a, b + ld [rSCY], a + jp Func_3ff Func_105d: ; 0x105d - ld hl, $ffa8 - ld a, [$ff44] - cp [hl] - jr z, .asm_1069 - dec a - cp [hl] - jr nz, .asm_1080 + ld hl, $ffa8 + ld a, [rLY] + cp [hl] + jr z, .asm_1069 + dec a + cp [hl] + jr nz, .asm_1080 .asm_1069 - ld a, [$ffaa] - ld c, a - ld a, [$ffac] - ld b, a - ld hl, $ff41 + ld a, [$ffaa] + ld c, a + ld a, [$ffac] + ld b, a + ld hl, rSTAT .asm_1072 - ld a, [hl] - and $3 - jr nz, .asm_1072 - ld a, b - ld [$ff42], a - ld a, c - ld [$ff45], a - jp Func_3ff + ld a, [hl] + and $3 + jr nz, .asm_1072 + ld a, b + ld [rSCY], a + ld a, c + ld [rLYC], a + jp Func_3ff .asm_1080 - ld hl, $ffaa - ld a, [$ff44] - cp [hl] - jr z, .asm_108d - dec a - cp [hl] - jp nz, Func_3ff + ld hl, $ffaa + ld a, [rLY] + cp [hl] + jr z, .asm_108d + dec a + cp [hl] + jp nz, Func_3ff .asm_108d - ld a, [$ffae] - ld b, a - ld hl, $ff41 + ld a, [$ffae] + ld b, a + ld hl, rSTAT .asm_1093 - ld a, [hl] - and $3 - jr nz, .asm_1093 - ld a, b - ld [$ff42], a - jp Func_3ff + ld a, [hl] + and $3 + jr nz, .asm_1093 + ld a, b + ld [rSCY], a + jp Func_3ff Func_109e: ; 0x109e - jp Func_3ff + jp Func_3ff Func_10a1: ; 0x10a1 - jp Func_3ff + jp Func_3ff Func_10a4: ; 0x10a4 - jp Func_3ff + jp Func_3ff Func_10a7: ; 0x10a7 - jp Func_3ff + jp Func_3ff Func_10aa: ; 0x10aa - ld c, a - ld a, [hli] - ld b, a + ld c, a + ld a, [hli] + ld b, a .asm_10ad - push bc - ld a, c - ld c, [hl] - inc hl - ld b, [hl] - inc hl - push af - ld a, [bc] - ld e, a - inc bc - ld a, [bc] - ld d, a - inc bc - pop af - push hl - call Func_10c5 - pop hl - pop bc - dec b - jr nz, .asm_10ad - ret + push bc + ld a, c + ld c, [hl] + inc hl + ld b, [hl] + inc hl + push af + ld a, [bc] + ld e, a + inc bc + ld a, [bc] + ld d, a + inc bc + pop af + push hl + call Func_10c5 + pop hl + pop bc + dec b + jr nz, .asm_10ad + ret Func_10c5: ; 0x10c5 - push af - ld a, [$ff40] - bit 7, a - jr z, .asm_10d2 + push af + ld a, [rLCDC] + bit 7, a + jr z, .asm_10d2 .asm_10cc - ld a, [$ff44] - cp $88 - jr nc, .asm_10cc + ld a, [rLY] + cp $88 + jr nc, .asm_10cc .asm_10d2 - pop af - ld hl, $d7fb - ld l, [hl] - ld h, $cb - inc bc - ld [hl], c - inc h - ld [hl], b - inc h - ld [hl], a - inc h - ld [hl], e - inc h - ld [hl], d - ld e, $ff - ld [$fffa], a - ld a, [hLoadedROMBank] - push af - ld a, [$fffa] - ld [hLoadedROMBank], a - ld [$2000], a - dec bc - ld a, [bc] - ld hl, $d7fa - add [hl] - cp $30 - jr c, .asm_10fe - ld a, [bc] - ld e, $0 + pop af + ld hl, $d7fb + ld l, [hl] + ld h, $cb + inc bc + ld [hl], c + inc h + ld [hl], b + inc h + ld [hl], a + inc h + ld [hl], e + inc h + ld [hl], d + ld e, $ff + ld [$fffa], a + ld a, [hLoadedROMBank] + push af + ld a, [$fffa] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + dec bc + ld a, [bc] + ld hl, $d7fa + add [hl] + cp $30 + jr c, .asm_10fe + ld a, [bc] + ld e, $0 .asm_10fe - add $4 - ld [hl], a - pop af - ld [hLoadedROMBank], a - ld [$2000], a - ld hl, $d7fb - ld l, [hl] - ld h, $ca - inc l - ld [hl], $0 - dec l - ld [hl], e - ld hl, $d7fb - inc [hl] - ld a, [$ff40] - bit 7, a - ret nz - ld a, [$ffff] - push af - res 0, a - ld [$ffff], a - call Func_113a - pop af - ld [$ffff], a - ret + add $4 + ld [hl], a + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld hl, $d7fb + ld l, [hl] + ld h, $ca + inc l + ld [hl], $0 + dec l + ld [hl], e + ld hl, $d7fb + inc [hl] + ld a, [rLCDC] + bit 7, a + ret nz + ld a, [rIE] + push af + res 0, a + ld [rIE], a + call Func_113a + pop af + ld [rIE], a + ret Func_1129: ; 0x1129 - ld a, [$d7fb] - ld [$d7fc], a - ret + ld a, [$d7fb] + ld [$d7fc], a + ret Func_1130: ; 0x1130 - push hl - ld a, [$d7fb] - ld hl, $d7fc - cp [hl] - pop hl - ret + push hl + ld a, [$d7fb] + ld hl, $d7fc + cp [hl] + pop hl + ret Func_113a: ; 0x113a - ld hl, $d7fc - ld a, [$d7fb] - cp [hl] - ret z - ld l, [hl] - ld h, $ca - ld [hl], $ff + ld hl, $d7fc + ld a, [$d7fb] + cp [hl] + ret z + ld l, [hl] + ld h, $ca + ld [hl], $ff .loop - ld a, [hl] - and a - jr z, .done - push hl - inc h - ld e, [hl] - inc h - ld d, [hl] - inc h - ld a, [hLoadedROMBank] - push af - ld a, [hl] - ld [hLoadedROMBank], a - ld [$2000], a - inc h - ld a, [hl] - inc h - ld h, [hl] - ld l, a - call Func_117a - pop af - ld [hLoadedROMBank], a - ld [$2000], a - pop hl - inc l - jr .loop + ld a, [hl] + and a + jr z, .done + push hl + inc h + ld e, [hl] + inc h + ld d, [hl] + inc h + ld a, [hLoadedROMBank] + push af + ld a, [hl] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + inc h + ld a, [hl] + inc h + ld h, [hl] + ld l, a + call Func_117a + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + pop hl + inc l + jr .loop .done - ld a, l - ld [$d7fc], a - ld hl, $d7fb - cp [hl] - ret nz - xor a - ld [$d7fa], a - ret + ld a, l + ld [$d7fc], a + ld hl, $d7fb + cp [hl] + ret nz + xor a + ld [$d7fa], a + ret Func_117a: ; 0x117a - jp [hl] + jp [hl] LoadTileLists: ; 0x117b ; Loads a series of defined tile ids into VRAM ; input: de = pointer to data structure ; data structure: list of VRAM tile data with the following format ; [num tiles][destination pointer][list of tile ids] - ld h, d - ld l, e + ld h, d + ld l, e .loadTileSequence - ld a, [hli] - and a - ret z - ld b, a - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a ; de = destination for tile data + ld a, [hli] + and a + ret z + ld b, a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a ; de = destination for tile data .loadTileData - ld a, [hli] - ld [de], a - inc de - dec b - jr nz, .loadTileData - jr .loadTileSequence + ld a, [hli] + ld [de], a + inc de + dec b + jr nz, .loadTileData + jr .loadTileSequence Func_118d: ; 0x118d - ld a, $1 - ld [$ff4f], a - call LoadTileLists - xor a - ld [$ff4f], a - ret + ld a, $1 + ld [rVBK], a + call LoadTileLists + xor a + ld [rVBK], a + ret -INCBIN "baserom.gbc",$1198,$12a1 - $1198 + dr $1198, $12a1 Func_12a1: ; 0x12a1 - ld [$fffa], a - ld a, [hLoadedROMBank] - push af - ld a, [$fffa] - ld [hLoadedROMBank], a - ld [$2000], a - ld a, [hl] - and $7 - jr z, .asm_12e5 - ld b, a - ld c, $0 + ld [$fffa], a + ld a, [hLoadedROMBank] + push af + ld a, [$fffa] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld a, [hl] + and $7 + jr z, .asm_12e5 + ld b, a + ld c, $0 .asm_12b5 - push bc - ld a, $0 - ld [$ff00+c], a - ld a, $30 - ld [$ff00+c], a - ld b, $10 + push bc + ld a, $0 + ld [$ff00+c], a + ld a, $30 + ld [$ff00+c], a + ld b, $10 .asm_12be - ld e, $8 - ld a, [hli] - ld d, a + ld e, $8 + ld a, [hli] + ld d, a .asm_12c2 - bit 0, d - ld a, $10 - jr nz, .asm_12ca - ld a, $20 + bit 0, d + ld a, $10 + jr nz, .asm_12ca + ld a, $20 .asm_12ca - ld [$ff00+c], a - ld a, $30 - ld [$ff00+c], a - rr d - dec e - jr nz, .asm_12c2 - dec b - jr nz, .asm_12be - ld a, $20 - ld [$ff00+c], a - ld a, $30 - ld [$ff00+c], a - pop bc - dec b - jr z, .asm_12e5 - call Func_12ec - jr .asm_12b5 + ld [$ff00+c], a + ld a, $30 + ld [$ff00+c], a + rr d + dec e + jr nz, .asm_12c2 + dec b + jr nz, .asm_12be + ld a, $20 + ld [$ff00+c], a + ld a, $30 + ld [$ff00+c], a + pop bc + dec b + jr z, .asm_12e5 + call Func_12ec + jr .asm_12b5 .asm_12e5 - pop af - ld [hLoadedROMBank], a - ld [$2000], a - ret + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ret Func_12ec ; 0x12ec - ld de, $1b58 + ld de, 7000 .asm_12ef - nop - nop - nop - dec de - ld a, d - or e - jr nz, .asm_12ef - ret + nop + nop + nop + dec de + ld a, d + or e + jr nz, .asm_12ef + ret Func_12f8: ; 0x12f8 - ld a, $e - ld hl, $4010 ; todo - call Func_12a1 - call Func_12ec - ld a, [$ff00] - and $3 - cp $3 - jr nz, .asm_1346 - ld a, $20 - ld [$ff00], a - ld a, [$ff00] - ld a, [$ff00] - ld a, $30 - ld [$ff00], a - ld a, $10 - ld [$ff00], a - ld a, [$ff00] - ld a, [$ff00] - ld a, [$ff00] - ld a, [$ff00] - ld a, [$ff00] - ld a, [$ff00] - ld a, $30 - ld [$ff00], a - ld a, [$ff00] - ld a, [$ff00] - ld a, [$ff00] - ld a, [$ff00] - and $3 - cp $3 - jr nz, .asm_1346 - ld a, $e - ld hl, $4000 - call Func_12a1 - call Func_12ec - and a - ret + ld a, BANK(Data_38010) + ld hl, Data_38010 + call Func_12a1 + call Func_12ec + ld a, [rJOYP] + and $3 + cp $3 + jr nz, .asm_1346 + ld a, $20 + ld [rJOYP], a + ld a, [rJOYP] + ld a, [rJOYP] + ld a, $30 + ld [rJOYP], a + ld a, $10 + ld [rJOYP], a + ld a, [rJOYP] + ld a, [rJOYP] + ld a, [rJOYP] + ld a, [rJOYP] + ld a, [rJOYP] + ld a, [rJOYP] + ld a, $30 + ld [rJOYP], a + ld a, [rJOYP] + ld a, [rJOYP] + ld a, [rJOYP] + ld a, [rJOYP] + and $3 + cp $3 + jr nz, .asm_1346 + ld a, BANK(Data_38000) + ld hl, Data_38000 + call Func_12a1 + call Func_12ec + and a + ret .asm_1346 - ld a, $e - ld hl, $4000 - call Func_12a1 - call Func_12ec - scf - ret + ld a, BANK(Data_38000) + ld hl, Data_38000 + call Func_12a1 + call Func_12ec + scf + ret Func_1353: ; 0x1353 - ld [$fffa], a - ld a, [hLoadedROMBank] - push af - ld a, [$fffa] - ld [hLoadedROMBank], a - ld [$2000], a - push af - push hl - ld a, $e4 - ld [$ff47], a - ld de, $0010 - add hl, de - ld de, vTiles1 ; tiles - call Func_65d - ld hl, vBGMap0 ; bgmap - ld de, $000c - ld a, $80 - ld c, $d + ld [$fffa], a + ld a, [hLoadedROMBank] + push af + ld a, [$fffa] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + push af + push hl + ld a, $e4 + ld [rBGP], a + ld de, $0010 + add hl, de + ld de, vTiles1 ; tiles + call LocalCopyData + ld hl, vBGMap0 ; bgmap + ld de, $000c + ld a, $80 + ld c, $d .asm_1379 - ld b, $14 + ld b, $14 .asm_137b - ld [hli], a - inc a - dec b - jr nz, .asm_137b - add hl, de - dec c - jr nz, .asm_1379 - ld a, $81 - ld [$ff40], a - ld bc, $0005 - call Func_948 - pop hl - pop af - call Func_12a1 - ld bc, $0006 - call Func_948 - ld a, [$ffa3] - ld [$ff47], a - ld a, [$ff9e] - ld [$ff40], a - pop af - ld [hLoadedROMBank], a - ld [$2000], a - ret + ld [hli], a + inc a + dec b + jr nz, .asm_137b + add hl, de + dec c + jr nz, .asm_1379 + ld a, $81 + ld [rLCDC], a + ld bc, $0005 + call Func_948 + pop hl + pop af + call Func_12a1 + ld bc, $0006 + call Func_948 + ld a, [$ffa3] + ld [rBGP], a + ld a, [$ff9e] + ld [rLCDC], a + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ret Func_13a8: ; 0x13a8 - ld a, [$fffb] - and a - ret z - ld bc, $0078 - call Func_948 - call Func_1489 - ld a, $e - ld hl, $69e6 - call Func_12a1 - ld bc, $0004 - call Func_948 - ld a, $e - ld hl, $69f6 - call Func_12a1 - ld bc, $0004 - call Func_948 - ld a, $e - ld hl, $6a06 - call Func_12a1 - ld bc, $0004 - call Func_948 - ld a, $e - ld hl, $6a16 - call Func_12a1 - ld bc, $0004 - call Func_948 - ld a, $e - ld hl, $6a26 - call Func_12a1 - ld bc, $0004 - call Func_948 - ld a, $e - ld hl, $6a36 - call Func_12a1 - ld bc, $0004 - call Func_948 - ld a, $e - ld hl, $6a46 - call Func_12a1 - ld bc, $0004 - call Func_948 - ld a, $e - ld hl, $6a56 - call Func_12a1 - ld bc, $0004 - call Func_948 - ld bc, $1000 - ld a, $e - ld hl, $4156 ; todo - call Func_1353 - ld bc, $0004 - call Func_948 - ld bc, $1000 - ld a, $e - ld hl, $5166 ; todo - call Func_1353 - ld bc, $0004 - call Func_948 - ld bc, $0860 - ld a, $e - ld hl, $6176 ; todo - call Func_1353 - ld bc, $0004 - call Func_948 - ld bc, $00a0 - ld a, $e - ld hl, $40a6 ; todo - call Func_1353 - ld bc, $0004 - call Func_948 - ld bc, $005a - ld a, $e - ld hl, $4030 - call Func_1353 - ld bc, $0004 - call Func_948 - ld a, $e - ld hl, $4020 - call Func_12a1 - ld bc, $0004 - call Func_948 - ret + ld a, [$fffb] + and a + ret z + ld bc, $0078 + call Func_948 + call Func_1489 + ld a, BANK(Data_3a9e6) + ld hl, Data_3a9e6 + call Func_12a1 + ld bc, $0004 + call Func_948 + ld a, BANK(Data_3a9f6) + ld hl, Data_3a9f6 + call Func_12a1 + ld bc, $0004 + call Func_948 + ld a, BANK(Data_3aa06) + ld hl, Data_3aa06 + call Func_12a1 + ld bc, $0004 + call Func_948 + ld a, BANK(Data_3aa16) + ld hl, Data_3aa16 + call Func_12a1 + ld bc, $0004 + call Func_948 + ld a, BANK(Data_3aa26) + ld hl, Data_3aa26 + call Func_12a1 + ld bc, $0004 + call Func_948 + ld a, BANK(Data_3aa36) + ld hl, Data_3aa36 + call Func_12a1 + ld bc, $0004 + call Func_948 + ld a, BANK(Data_3aa46) + ld hl, Data_3aa46 + call Func_12a1 + ld bc, $0004 + call Func_948 + ld a, BANK(Data_3aa56) + ld hl, Data_3aa56 + call Func_12a1 + ld bc, $0004 + call Func_948 + ld bc, Data_39166 - Data_38156 - $10 + ld a, BANK(Data_38156) + ld hl, Data_38156 ; todo + call Func_1353 + ld bc, $0004 + call Func_948 + ld bc, Data_3a176 - Data_39166 - $10 + ld a, BANK(Data_39166) + ld hl, Data_39166 ; todo + call Func_1353 + ld bc, $0004 + call Func_948 + ld bc, Data_3a9e6 - Data_3a176 - $10 + ld a, BANK(Data_3a176) + ld hl, Data_3a176 ; todo + call Func_1353 + ld bc, $0004 + call Func_948 + ld bc, Data_38156 - Data_380a6 - $10 + ld a, BANK(Data_380a6) + ld hl, Data_380a6 ; todo + call Func_1353 + ld bc, $0004 + call Func_948 + ld bc, Data_3809a - Data_38030 - $10 + ld a, BANK(Data_38030) + ld hl, Data_38030 + call Func_1353 + ld bc, $0004 + call Func_948 + ld a, BANK(Data_38020) + ld hl, Data_38020 + call Func_12a1 + ld bc, $0004 + call Func_948 + ret Func_1489: ; 0x1489 - ld a, [$fffb] - and a - ret z - ld a, [$fffc] - and a - ret nz - ld a, $e - ld hl, $6a66 ; todo - call Func_12a1 - ld bc, $0004 - call Func_948 - ld a, $ff - ld [$fffc], a - ret + ld a, [$fffb] + and a + ret z + ld a, [$fffc] + and a + ret nz + ld a, BANK(Data_3aa66) + ld hl, Data_3aa66 ; todo + call Func_12a1 + ld bc, $0004 + call Func_948 + ld a, $ff + ld [$fffc], a + ret Func_14a4: ; 0x14a4 - ld a, [$fffb] - and a - ret z - ld bc, $0002 - call Func_948 - ld a, [$fffc] - and a - ret z - ld a, $e - ld hl, $6a76 - call Func_12a1 - ld bc, $0004 - call Func_948 - xor a - ld [$fffc], a - ret - -INCBIN "baserom.gbc",$14c4,$167b - $14c4 + ld a, [$fffb] + and a + ret z + ld bc, $0002 + call Func_948 + ld a, [$fffc] + and a + ret z + ld a, BANK(Data_3aa76) + ld hl, Data_3aa76 + call Func_12a1 + ld bc, $0004 + call Func_948 + xor a + ld [$fffc], a + ret + + dr $14c4, $167b Func_167b: ; 0x167b - ld a, [$d8ad] - cp $1 - ret nz - ld a, [$d8c7] - cp $ff - ret z - ld a, [$d8db] - and a - ret nz - ld hl, $d8e0 - inc [hl] - ld a, [hl] - cp $6 - ret c - xor a - ld [hl], a - ld [$d8e2], a - call Func_18ac - ret - -INCBIN "baserom.gbc",$169d,$16a2 - $169d + ld a, [$d8ad] + cp $1 + ret nz + ld a, [$d8c7] + cp $ff + ret z + ld a, [$d8db] + and a + ret nz + ld hl, $d8e0 + inc [hl] + ld a, [hl] + cp $6 + ret c + xor a + ld [hl], a + ld [$d8e2], a + call Func_18ac + ret + + dr $169d, $16a2 Func_16a2: ; 0x16a2 - xor a - ld [$ff01], a - ld [$ff02], a - ld [$d8ad], a - dec a - ld [$d8c7], a - ld [$d8c8], a - call Func_16b5 - ret + xor a + ld [rSB], a + ld [rSC], a + ld [$d8ad], a + dec a + ld [$d8c7], a + ld [$d8c8], a + call Func_16b5 + ret Func_16b5: ; 0x16b5 - xor a - ld [$d8c5], a - ld [$d8ca], a - ld [$d8db], a - ; fall through + xor a + ld [$d8c5], a + ld [$d8ca], a + ld [$d8db], a + ; fall through Func_16bf: ; 0x16bf - xor a - ld [$d8af], a - ld [$d8b0], a - ld [$d8b1], a - ld [$d8b2], a - ld [$d8c6], a - ld [$d8c3], a - ld [$d8c4], a - ld [$d8b9], a - ld [$d8ba], a - ld [$d8dc], a - ld [$d8e2], a - ret + xor a + ld [$d8af], a + ld [$d8b0], a + ld [$d8b1], a + ld [$d8b2], a + ld [$d8c6], a + ld [$d8c3], a + ld [$d8c4], a + ld [$d8b9], a + ld [$d8ba], a + ld [$d8dc], a + ld [$d8e2], a + ret Func_16e2: ; 0x16e2 - ld a, [$d8db] - and a - jr z, .asm_16ec - call Func_16fd - ret nc + ld a, [$d8db] + and a + jr z, .asm_16ec + call Func_16fd + ret nc .asm_16ec - ld a, [$d8ae] - cp $1 - jr nz, .asm_16f7 - call Func_16fd - ret nc + ld a, [$d8ae] + cp $1 + jr nz, .asm_16f7 + call Func_16fd + ret nc .asm_16f7 - call Func_1925 - jp Func_19e5 + call Func_1925 + jp Func_19e5 Func_16fd: ; 0x16fd - ld a, [$d8c5] - cp $2 - jr nz, .asm_173c - xor a - ld [$d8e0], a - ld [$d8ae], a - inc a - ld [$d8ad], a - ld a, [$d8c7] - cp $ff - jr z, .asm_1735 - bit 0, a - jr nz, .asm_172e - bit 1, a - jr nz, .asm_172e - bit 4, a - jr z, .asm_173a - xor a - ld [$d8ad], a - ld [$d8ae], a - ld a, [$d8c7] - jr .asm_173a + ld a, [$d8c5] + cp $2 + jr nz, .asm_173c + xor a + ld [$d8e0], a + ld [$d8ae], a + inc a + ld [$d8ad], a + ld a, [$d8c7] + cp $ff + jr z, .asm_1735 + bit 0, a + jr nz, .asm_172e + bit 1, a + jr nz, .asm_172e + bit 4, a + jr z, .asm_173a + xor a + ld [$d8ad], a + ld [$d8ae], a + ld a, [$d8c7] + jr .asm_173a .asm_172e - scf - ret + scf + ret - xor a - ld [$d8ae], a - dec a + xor a + ld [$d8ae], a + dec a .asm_1735 - inc a - ld [$d8ad], a - dec a + inc a + ld [$d8ad], a + dec a .asm_173a - and a - ret + and a + ret .asm_173c - xor a - ld a, $f0 - ret + xor a + ld a, $f0 + ret Func_1740: ; 0x1740 - ld a, [$d8ad] - cp $1 - jr z, .asm_1752 - cp $2 - jr z, .asm_1752 - and a - ld a, $ff - ret z + ld a, [$d8ad] + cp $1 + jr z, .asm_1752 + cp $2 + jr z, .asm_1752 + and a + ld a, $ff + ret z .asm_174f - ld a, $f0 - ret + ld a, $f0 + ret .asm_1752 - ld a, [$d8e2] - and a - jr nz, .asm_174f - ld a, [$d8db] - and a - jr z, .asm_1762 - call Func_16fd - ret nc + ld a, [$d8e2] + and a + jr nz, .asm_174f + ld a, [$d8db] + and a + jr z, .asm_1762 + call Func_16fd + ret nc .asm_1762 - ld a, [$d8ae] - cp $2 - jr nz, .asm_176d - call Func_16fd - ret nc + ld a, [$d8ae] + cp $2 + jr nz, .asm_176d + call Func_16fd + ret nc .asm_176d - ld a, [$d8c7] - cp $ff - ret z - call Func_1932 - jp Func_19e5 + ld a, [$d8c7] + cp $ff + ret z + call Func_1932 + jp Func_19e5 Func_1779: ; 0x1779 - ld c, a - ld a, [$d8ad] - and a - ld a, [$d8c7] - ret z - ld a, [$d8ad] - cp $1 - jr z, .asm_1790 - cp $3 - jr z, .asm_1790 - ld a, $f0 - ret + ld c, a + ld a, [$d8ad] + and a + ld a, [$d8c7] + ret z + ld a, [$d8ad] + cp $1 + jr z, .asm_1790 + cp $3 + jr z, .asm_1790 + ld a, $f0 + ret .asm_1790 - ld a, [$d8db] - and a - jr nz, .asm_17df - ld a, c - inc a - ld [$d8de], a - ld a, l - ld [$d8c1], a - ld a, h - ld [$d8c2], a - ld a, [$d8c7] - cp $ff - ret z - ld a, [$d8ab] - ld [$d8ac], a - and a - jr z, .asm_17d6 - ld a, [$d8de] - dec a - dec a - push af - ld c, a - ld b, $0 - push hl - ld hl, $d89d - add hl, bc - ld a, [hl] - pop hl - ld [$d8ac], a - pop af - add a - ld c, a - ld b, $0 - push hl - ld hl, $d88b - add hl, bc - ld a, [hli] - ld b, [hl] - pop hl - ld c, a - jp .asm_17d9 + ld a, [$d8db] + and a + jr nz, .asm_17df + ld a, c + inc a + ld [$d8de], a + ld a, l + ld [$d8c1], a + ld a, h + ld [$d8c2], a + ld a, [$d8c7] + cp $ff + ret z + ld a, [$d8ab] + ld [$d8ac], a + and a + jr z, .asm_17d6 + ld a, [$d8de] + dec a + dec a + push af + ld c, a + ld b, $0 + push hl + ld hl, $d89d + add hl, bc + ld a, [hl] + pop hl + ld [$d8ac], a + pop af + add a + ld c, a + ld b, $0 + push hl + ld hl, $d88b + add hl, bc + ld a, [hli] + ld b, [hl] + pop hl + ld c, a + jp .asm_17d9 .asm_17d6 - ld bc, $0280 + ld bc, $0280 .asm_17d9 - call Func_1989 - jp Func_19e5 + call Func_1989 + jp Func_19e5 .asm_17df - ld a, [$d8c5] - cp $2 - ld a, $f0 - jp nz, .asm_1869 - ld hl, $d8de - ld a, [$d8c7] - bit 4, a - jp nz, .asm_1859 - bit 1, a - jp nz, .asm_1804 - bit 0, a - jp nz, .asm_1804 - dec [hl] - ld a, [$d8c7] - jr z, .asm_1860 + ld a, [$d8c5] + cp $2 + ld a, $f0 + jp nz, .asm_1869 + ld hl, $d8de + ld a, [$d8c7] + bit 4, a + jp nz, .asm_1859 + bit 1, a + jp nz, .asm_1804 + bit 0, a + jp nz, .asm_1804 + dec [hl] + ld a, [$d8c7] + jr z, .asm_1860 .asm_1804 - ld a, [hl] - cp $1 - jr z, .asm_186a - ld bc, $0280 - ld a, [$d8ab] - ld [$d8ac], a - and a - jr z, .asm_1836 - ld a, [$d8de] - dec a - dec a - push af - ld c, a - ld b, $0 - push hl - ld hl, $d89d - add hl, bc - ld a, [hl] - pop hl - ld [$d8ac], a - pop af - add a - ld c, a - ld b, $0 - push hl - ld hl, $d88b - add hl, bc - ld a, [hli] - ld b, [hl] - pop hl - ld c, a + ld a, [hl] + cp $1 + jr z, .asm_186a + ld bc, $0280 + ld a, [$d8ab] + ld [$d8ac], a + and a + jr z, .asm_1836 + ld a, [$d8de] + dec a + dec a + push af + ld c, a + ld b, $0 + push hl + ld hl, $d89d + add hl, bc + ld a, [hl] + pop hl + ld [$d8ac], a + pop af + add a + ld c, a + ld b, $0 + push hl + ld hl, $d88b + add hl, bc + ld a, [hli] + ld b, [hl] + pop hl + ld c, a .asm_1836 - ld a, [$d8c7] - bit 1, a - jp nz, .asm_184e - ld a, [$d8bf] - add $80 - ld [$d8bf], a - ld a, [$d8c0] - adc $2 - ld [$d8c0], a + ld a, [$d8c7] + bit 1, a + jp nz, .asm_184e + ld a, [$d8bf] + add $80 + ld [$d8bf], a + ld a, [$d8c0] + adc $2 + ld [$d8c0], a .asm_184e - ld a, [$d8bf] - ld l, a - ld a, [$d8c0] - ld h, a - jp .asm_17d9 + ld a, [$d8bf] + ld l, a + ld a, [$d8c0] + ld h, a + jp .asm_17d9 .asm_1859 - push af - ld a, $1 - ld [$d8dc], a - pop af + push af + ld a, $1 + ld [$d8dc], a + pop af .asm_1860 - push af - xor a - ld [$d8cc], a - ld [$d8db], a - pop af + push af + xor a + ld [$d8cc], a + ld [$d8db], a + pop af .asm_1869 - ret + ret .asm_186a - ld a, [$d8dd] - and a - ld a, [$d8c7] - jr z, .asm_1860 - call Func_19d7 - jp Func_19e5 + ld a, [$d8dd] + and a + ld a, [$d8c7] + jr z, .asm_1860 + call Func_19d7 + jp Func_19e5 -INCBIN "baserom.gbc",$1879,$18ac - $1879 + dr $1879, $18ac Func_18ac: ; 0x18ac - ld a, [$d8ad] - cp $1 - jr z, .asm_18be - cp $3 - jr z, .asm_18be - and a - ld a, $ff - ret z - ld a, $f0 - ret + ld a, [$d8ad] + cp $1 + jr z, .asm_18be + cp $3 + jr z, .asm_18be + and a + ld a, $ff + ret z + ld a, $f0 + ret .asm_18be - ld a, [$d8db] - and a - jr z, .asm_18c8 - call Func_16fd - ret nc + ld a, [$d8db] + and a + jr z, .asm_18c8 + call Func_16fd + ret nc .asm_18c8 - ld a, [$d8c7] - cp $ff - ret z - call Func_19ca - jp Func_19e5 + ld a, [$d8c7] + cp $ff + ret z + call Func_19ca + jp Func_19e5 Func_18d4: ; 0x18d4 - ld [$d8cb], a - ld a, d - ld [$d8cc], a - ld a, l - ld [$d8bb], a - ld [$d8bd], a - ld a, h - ld [$d8bc], a - ld [$d8be], a - ld a, c - ld [$d8b3], a - ld [$d8b5], a - ld a, b - ld [$d8b4], a - ld [$d8b6], a - xor a - ld [$d8c5], a - call Func_16bf - ret - -INCBIN "baserom.gbc",$18ff,$1925 - $18ff + ld [$d8cb], a + ld a, d + ld [$d8cc], a + ld a, l + ld [$d8bb], a + ld [$d8bd], a + ld a, h + ld [$d8bc], a + ld [$d8be], a + ld a, c + ld [$d8b3], a + ld [$d8b5], a + ld a, b + ld [$d8b4], a + ld [$d8b6], a + xor a + ld [$d8c5], a + call Func_16bf + ret + + dr $18ff, $1901 + +Data_1901: + dr $1901, $1909 + +Data_1909: + dr $1909, $190d + +Data_190d: + dr $190d, $191d + +Data_191d: + dr $191d, $1925 Func_1925: ; 0x1925 - ld a, $1 - ld d, $0 - ld hl, $1901 ; todo - ld bc, $0008 - jp Func_18d4 + ld a, $1 + ld d, $0 + ld hl, Data_1901 ; todo + ld bc, $0008 + jp Func_18d4 Func_1932: ; 0x19332 - ld a, $2 - ld d, $0 - ld hl, $d8cd - ld bc, $000c - call Func_18d4 - ld hl, $1909 - ld de, $d8cd - ld bc, $0004 - call Func_65d - ld de, $0006 - ld a, [$d8a8] - ld [$d8d1], a - call Func_1982 - ld a, [$d8a9] - ld [$d8d2], a - call Func_1982 - ld a, [$d8aa] - ld [$d8d3], a - call Func_1982 - ld a, [$d8a7] - ld [$d8d4], a - call Func_1982 - ld a, e - ld [$d8d5], a - ld a, d - ld [$d8d6], a - xor a - ld [$d8d7], a - ld [$d8d8], a - ret + ld a, $2 + ld d, $0 + ld hl, $d8cd + ld bc, $000c + call Func_18d4 + ld hl, Data_1909 + ld de, $d8cd + ld bc, $0004 + call LocalCopyData + ld de, $0006 + ld a, [$d8a8] + ld [$d8d1], a + call Func_1982 + ld a, [$d8a9] + ld [$d8d2], a + call Func_1982 + ld a, [$d8aa] + ld [$d8d3], a + call Func_1982 + ld a, [$d8a7] + ld [$d8d4], a + call Func_1982 + ld a, e + ld [$d8d5], a + ld a, d + ld [$d8d6], a + xor a + ld [$d8d7], a + ld [$d8d8], a + ret Func_1982: ; 0x1982 - add e - ld e, a - ld a, d - adc $0 - ld d, a - ret + add e + ld e, a + ld a, d + adc $0 + ld d, a + ret Func_1989: ; 0x1989 - ld a, l - ld [$d8bf], a - ld a, h - ld [$d8c0], a - ld a, c - ld [$d8b7], a - ld a, b - ld [$d8b8], a - push bc - ld a, $3 - ld d, $1 - ld hl, $d8cd - ld bc, $0004 - call Func_18d4 - ld a, [$190d] - ld [$d8cd], a - ld a, [$d8ac] - ld [$d8ce], a - pop bc - ld a, c - ld [$d8cf], a - ld a, b - ld [$d8d0], a - ret - -INCBIN "baserom.gbc",$19bd,$19ca - $19bd + ld a, l + ld [$d8bf], a + ld a, h + ld [$d8c0], a + ld a, c + ld [$d8b7], a + ld a, b + ld [$d8b8], a + push bc + ld a, $3 + ld d, $1 + ld hl, $d8cd + ld bc, $0004 + call Func_18d4 + ld a, [$190d] + ld [$d8cd], a + ld a, [$d8ac] + ld [$d8ce], a + pop bc + ld a, c + ld [$d8cf], a + ld a, b + ld [$d8d0], a + ret + + dr $19bd, $19ca Func_19ca: ; 0x19ca - ld a, $5 - ld d, $0 - ld hl, $191d ; todo - ld bc, $0008 - jp Func_18d4 + ld a, $5 + ld d, $0 + ld hl, Data_191d ; todo + ld bc, $0008 + jp Func_18d4 Func_19d7: ; 0x19d7 - ld a, $6 - ld d, $1 - ld hl, $190d ; todo - ld bc, $0008 - jp Func_18d4 + ld a, $6 + ld d, $1 + ld hl, Data_190d ; todo + ld bc, $0008 + jp Func_18d4 -INCBIN "baserom.gbc",$19e4,$19e5 - $19e4 +; XXX + ret Func_19e5: ; 0x19e5 - ld a, [$d8ad] - cp $1 - jr z, .asm_19f8 - and a - jr nz, .asm_19f6 - ld a, [$d8cb] - cp $1 - jr z, .asm_1a02 + ld a, [$d8ad] + cp $1 + jr z, .asm_19f8 + and a + jr nz, .asm_19f6 + ld a, [$d8cb] + cp $1 + jr z, .asm_1a02 .asm_19f6 - scf - ret + scf + ret .asm_19f8 - ld a, [$d8cb] - cp $1 - jr z, .asm_19f6 - ld [$d8ad], a + ld a, [$d8cb] + cp $1 + jr z, .asm_19f6 + ld [$d8ad], a .asm_1a02 - xor a - ld [$d8c5], a - ld [$d8ae], a - ld a, $1 - ld [$d8b9], a - ld [$d8db], a - ld a, [$18ff] - ld [$ff01], a - ld a, $1 - ld [$ff02], a - ld a, $81 - ld [$ff02], a - ld a, $f0 - ret + xor a + ld [$d8c5], a + ld [$d8ae], a + ld a, $1 + ld [$d8b9], a + ld [$d8db], a + ld a, [$18ff] + ld [rSB], a + ld a, $1 + ld [rSC], a + ld a, $81 + ld [rSC], a + ld a, $f0 + ret Func_1a21: ; 0x1a21 - call Func_1a59 - call Func_1a89 - jr c, .asm_1a3f + call Func_1a59 + call Func_1a89 + jr c, .asm_1a3f .asm_1a29 - call Func_1aa9 - call Func_1b3d - jr c, .asm_1a3f - ld a, [$d86c] - and a - jr z, .asm_1a29 - call Func_1b60 - jr c, .asm_1a3f - call Func_1b88 + call Func_1aa9 + call Func_1b3d + jr c, .asm_1a3f + ld a, [$d86c] + and a + jr z, .asm_1a29 + call Func_1b60 + jr c, .asm_1a3f + call Func_1b88 .asm_1a3f - call Func_1ba7 - ret + call Func_1ba7 + ret Func_1a43: ; 0x1a43 - xor a - ld [$d86e], a - call Func_1a59 - call Func_1a89 - jr c, .asm_1a54 - ld a, $1 - ld [$d86e], a + xor a + ld [$d86e], a + call Func_1a59 + call Func_1a89 + jr c, .asm_1a54 + ld a, $1 + ld [$d86e], a .asm_1a54 - call Func_1ba7 - ret + call Func_1ba7 + ret - ret ; unused instruction? + ret ; unused instruction? Func_1a59: ; 0x1a59 - ld [$d86a], a - ld a, h - ld [$d869], a - ld a, l - ld [$d868], a - ld a, $80 - ld [$d866], a - ld a, $c2 - ld [$d867], a - xor a - ld [$d86b], a - ld [$d86c], a - ld [$d86d], a - call Func_16a2 - ld hl, $ffff - set 3, [hl] - xor a - ld [$ffb1], a - ld a, $1 - ld [$d8e1], a - ret + ld [$d86a], a + ld a, h + ld [$d869], a + ld a, l + ld [$d868], a + ld a, $80 + ld [$d866], a + ld a, $c2 + ld [$d867], a + xor a + ld [$d86b], a + ld [$d86c], a + ld [$d86d], a + call Func_16a2 + ld hl, rIE + set 3, [hl] + xor a + ld [$ffb1], a + ld a, $1 + ld [$d8e1], a + ret Func_1a89: ; 0x1a89 - call Func_16e2 - cp $f0 - jr z, .asm_1a9f - cp $ff - jp z, Func_1bb2 - ld a, [$d8c8] - cp $81 - jp nz, Func_1bb2 - and a - ret + call Func_16e2 + cp $f0 + jr z, .asm_1a9f + cp $ff + jp z, Func_1bb2 + ld a, [$d8c8] + cp $81 + jp nz, Func_1bb2 + and a + ret .asm_1a9f - ld a, [hNewlyPressedButtons] - bit 1, a - jp nz, Func_1bd3 - rst $10 - jr Func_1a89 + ld a, [hNewlyPressedButtons] + bit 1, a + jp nz, Func_1bd3 + rst $10 + jr Func_1a89 Func_1aa9: ; 0x1aa9 - ld a, [$d866] - ld l, a - ld a, [$d867] - ld h, a - ld de, wc000 - ld b, $2 + ld a, [$d866] + ld l, a + ld a, [$d867] + ld h, a + ld de, wc000 + ld b, $2 .asm_1ab6 - ld c, $14 + ld c, $14 .asm_1ab8 - ld a, [hli] - call Func_1ae2 - dec c - jr nz, .asm_1ab8 - ld a, l - add $c - ld l, a - jr nc, .asm_1ac6 - inc h + ld a, [hli] + call Func_1ae2 + dec c + jr nz, .asm_1ab8 + ld a, l + add $c + ld l, a + jr nc, .asm_1ac6 + inc h .asm_1ac6 - dec b - jr nz, .asm_1ab6 - ld a, l - ld [$d866], a - ld a, h - ld [$d867], a - ld a, [$d86b] - inc a - ld [$d86b], a - cp $9 - jr nz, .asm_1ae1 - ld a, $1 - ld [$d86c], a + dec b + jr nz, .asm_1ab6 + ld a, l + ld [$d866], a + ld a, h + ld [$d867], a + ld a, [$d86b] + inc a + ld [$d86b], a + cp $9 + jr nz, .asm_1ae1 + ld a, $1 + ld [$d86c], a .asm_1ae1 - ret + ret Func_1ae2: ; 0x1ae2 - push bc - push hl - xor $80 - swap a - ld c, a - and $f - ld b, a - ld a, c - and $f0 - ld c, a - ld a, [$d868] - ld l, a - ld a, [$d869] - ld h, a - add hl, bc - ld a, [hLoadedROMBank] - push af - ld a, [$d86a] - ld [hLoadedROMBank], a - ld [$2000], a - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc de - pop af - ld [hLoadedROMBank], a - ld [$2000], a - pop hl - pop bc - ret + push bc + push hl + xor $80 + swap a + ld c, a + and $f + ld b, a + ld a, c + and $f0 + ld c, a + ld a, [$d868] + ld l, a + ld a, [$d869] + ld h, a + add hl, bc + ld a, [hLoadedROMBank] + push af + ld a, [$d86a] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc de + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + pop hl + pop bc + ret Func_1b3d: ; 0x1b3d - ld a, [$d86c] - ld [$d8dd], a - ld hl, wc000 - ld a, $1 - call Func_1779 - cp $ff - jp z, Func_1bb2 - cp $f0 - jr z, .asm_1b56 - and a - ret + ld a, [$d86c] + ld [$d8dd], a + ld hl, wc000 + ld a, $1 + call Func_1779 + cp $ff + jp z, Func_1bb2 + cp $f0 + jr z, .asm_1b56 + and a + ret .asm_1b56 - ld a, [hNewlyPressedButtons] - bit BIT_B_BUTTON, a - jp nz, Func_1bd3 - rst $10 - jr Func_1b3d + ld a, [hNewlyPressedButtons] + bit BIT_B_BUTTON, a + jp nz, Func_1bd3 + rst $10 + jr Func_1b3d Func_1b60: ; 0x1b60 - ld a, $1 - ld [$d8a8], a - ld a, $13 - ld [$d8a9], a - call Func_1740 - cp $ff - jp z, Func_1bb2 - cp $f0 - jr z, .asm_1b7e - ld bc, $001e - call Func_93f - and a - ret + ld a, $1 + ld [$d8a8], a + ld a, $13 + ld [$d8a9], a + call Func_1740 + cp $ff + jp z, Func_1bb2 + cp $f0 + jr z, .asm_1b7e + ld bc, $001e + call Func_93f + and a + ret .asm_1b7e - ld a, [hNewlyPressedButtons] - bit BIT_B_BUTTON, a - jp nz, Func_1bd3 - rst $10 - jr Func_1b60 + ld a, [hNewlyPressedButtons] + bit BIT_B_BUTTON, a + jp nz, Func_1bd3 + rst $10 + jr Func_1b60 Func_1b88: ; 0x1b88 - ld a, [$d8c7] - ld b, a - cp $ff - jr z, Func_1bb2 - and $f0 - jr nz, Func_1bb2 - bit 1, b - jr nz, .asm_1b9d - call Func_16a2 - and a - ret + ld a, [$d8c7] + ld b, a + cp $ff + jr z, Func_1bb2 + and $f0 + jr nz, Func_1bb2 + bit 1, b + jr nz, .asm_1b9d + call Func_16a2 + and a + ret .asm_1b9d - ld a, [hNewlyPressedButtons] - bit BIT_B_BUTTON, a - jp nz, Func_1bd3 - rst $10 - jr Func_1b88 + ld a, [hNewlyPressedButtons] + bit BIT_B_BUTTON, a + jp nz, Func_1bd3 + rst $10 + jr Func_1b88 Func_1ba7: ; 0x1ba7 - ld hl, $ffff - res 3, [hl] - xor a - ld [$d8e1], a - and a - ret + ld hl, rIE + res 3, [hl] + xor a + ld [$d8e1], a + and a + ret Func_1bb2: ; 0x1bb2 - ld hl, $1bcf ; todo - ld a, [$d8c7] - cp $ff - jr z, .asm_1bc6 - ld b, $3 + ld hl, Data_1bcf + ld a, [$d8c7] + cp $ff + jr z, .asm_1bc6 + ld b, $3 .asm_1bbe - inc hl - sla a - jr c, .asm_1bc6 - dec b - jr nz, .asm_1bbe + inc hl + sla a + jr c, .asm_1bc6 + dec b + jr nz, .asm_1bbe .asm_1bc6 - ld a, [hl] - ld [$d86d], a - call Func_16a2 - scf - ret + ld a, [hl] + ld [$d86d], a + call Func_16a2 + scf + ret -INCBIN "baserom.gbc",$1bcf,$1bd3 - $1bcf +Data_1bcf: + dr $1bcf, $1bd3 Func_1bd3: ; 0x1bd3 - ld de, $0001 - call PlaySoundEffect - ld a, $5 - ld [$d86d], a - call Func_16a2 - scf - ret + ld de, $0001 + call PlaySoundEffect + ld a, $5 + ld [$d86d], a + call Func_16a2 + scf + ret Func_1be3: ; 0x1be3 - ld a, $c0 - ld [$ff56], a - ld a, $ff - ld [$d8ea], a - xor a - ld b, a + ld a, $c0 + ld [rRP], a + ld a, $ff + ld [$d8ea], a + xor a + ld b, a .asm_1bee - inc a - jr nz, .asm_1bee - inc b - jr nz, .asm_1bee - ld hl, $d8eb - ld a, [$ff4d] - bit 7, a - jr z, .asm_1c0c - ld [hl], $e - inc hl - ld [hl], $12 - inc hl - ld [hl], $8 - inc hl - ld [hl], $c - inc hl - ld [hl], $c - ret + inc a + jr nz, .asm_1bee + inc b + jr nz, .asm_1bee + ld hl, $d8eb + ld a, [rKEY1] + bit 7, a + jr z, .asm_1c0c + ld [hl], $e + inc hl + ld [hl], $12 + inc hl + ld [hl], $8 + inc hl + ld [hl], $c + inc hl + ld [hl], $c + ret .asm_1c0c - ld [hl], $6 - inc hl - ld [hl], $8 - inc hl - ld [hl], $2 - inc hl - ld [hl], $4 - inc hl - ld [hl], $5 - ret + ld [hl], $6 + inc hl + ld [hl], $8 + inc hl + ld [hl], $2 + inc hl + ld [hl], $4 + inc hl + ld [hl], $5 + ret Func_1c1b: ; 0x1c1b - inc d - ret z - ld a, [$ff00+c] - bit 1, a - jr z, Func_1c1b - ret + inc d + ret z + ld a, [$ff00+c] + bit 1, a + jr z, Func_1c1b + ret Func_1c23: ; 0x1c23 - inc d - ret z - ld a, [$ff00+c] - bit 1, a - jr nz, Func_1c23 - ret + inc d + ret z + ld a, [$ff00+c] + bit 1, a + jr nz, Func_1c23 + ret Func_1c2b: ; 0x1c2b - ld a, $c1 - ld [$ff00+c], a + ld a, $c1 + ld [$ff00+c], a .asm_1c2e - dec d - jr nz, .asm_1c2e - ret + dec d + jr nz, .asm_1c2e + ret Func_1c32: ; 0x1c32 - ld a, $c0 - ld [$ff00+c], a + ld a, $c0 + ld [$ff00+c], a .asm_1c35 - dec d - jr nz, .asm_1c35 - ret + dec d + jr nz, .asm_1c35 + ret -INCBIN "baserom.gbc",$1c39,$1c50 - $1c39 + dr $1c39, $1c50 Func_1c50: ; 0x1c50 - ld a, $1 - ld [$d8e9], a - ld b, $1a - ld c, $56 - ld d, $0 - ld e, d - call Func_1c23 - ld a, d - and a - jp z, Func_1dc2 - ld d, e - call Func_1c1b - ld a, d - and a - jp z, Func_1dc2 - call Func_1c23 - ld a, d - and a - jp z, Func_1dc2 - call Func_1c1b - ld a, d - and a - jp z, Func_1dc2 - cp $8 - jp c, Func_1dc2 - cp $2a - jp nc, Func_1dc2 - ld a, $0 - ld [$d8ea], a - ld d, b - call Func_1c32 - ld d, b - call Func_1c2b - ld d, b - call Func_1c32 - ld d, b - call Func_1c2b - ld d, b - call Func_1c32 - ret + ld a, $1 + ld [$d8e9], a + ld b, $1a + ld c, $56 + ld d, $0 + ld e, d + call Func_1c23 + ld a, d + and a + jp z, Func_1dc2 + ld d, e + call Func_1c1b + ld a, d + and a + jp z, Func_1dc2 + call Func_1c23 + ld a, d + and a + jp z, Func_1dc2 + call Func_1c1b + ld a, d + and a + jp z, Func_1dc2 + cp $8 + jp c, Func_1dc2 + cp $2a + jp nc, Func_1dc2 + ld a, $0 + ld [$d8ea], a + ld d, b + call Func_1c32 + ld d, b + call Func_1c2b + ld d, b + call Func_1c32 + ld d, b + call Func_1c2b + ld d, b + call Func_1c32 + ret Func_1ca1: ; 0x1ca1 - ld a, $2 - ld [$d8e9], a - ld b, $1a - ld c, $56 - ld d, b - ld e, $0 - call Func_1c32 - ld d, b - call Func_1c2b - ld d, b - call Func_1c32 - ld d, b - call Func_1c2b - ld d, b - call Func_1c32 - ld d, e - call Func_1c23 - ld a, d - and a - jp z, Func_1dc2 - ld d, e - call Func_1c1b - ld a, d - and a - jp z, Func_1dc2 - ld d, e - call Func_1c23 - ld a, d - and a - jp z, Func_1dc2 - ld d, e - call Func_1c1b - ld a, d - and a - jp z, Func_1dc2 - ld d, $1a - call Func_1c32 - ld a, $0 - ld [$d8ea], a - ret - -INCBIN "baserom.gbc",$1cef,$1cf8 - $1cef + ld a, $2 + ld [$d8e9], a + ld b, $1a + ld c, $56 + ld d, b + ld e, $0 + call Func_1c32 + ld d, b + call Func_1c2b + ld d, b + call Func_1c32 + ld d, b + call Func_1c2b + ld d, b + call Func_1c32 + ld d, e + call Func_1c23 + ld a, d + and a + jp z, Func_1dc2 + ld d, e + call Func_1c1b + ld a, d + and a + jp z, Func_1dc2 + ld d, e + call Func_1c23 + ld a, d + and a + jp z, Func_1dc2 + ld d, e + call Func_1c1b + ld a, d + and a + jp z, Func_1dc2 + ld d, $1a + call Func_1c32 + ld a, $0 + ld [$d8ea], a + ret + + dr $1cef, $1cf8 Func_1cf8: ; 0x1cf8 - xor a - ld [$d8e4], a - ld [$d8e5], a - push hl - push bc - ld hl, $d8e6 - ld a, $5a - ld [hli], a - ld [hl], b - dec hl - ld b, $2 - ld d, $1e - call Func_1c32 - call Func_1d44 - pop bc - pop hl - call Func_1ed3 - call Func_1d44 - ld a, [$d8e4] - ld [$d8e6], a - ld a, [$d8e5] - ld [$d8e7], a - ld hl, $d8e6 - ld b, $2 - call Func_1d44 - ld hl, $d8ea - ld b, $1 - call Func_1e3b - ld a, [$d8e6] - ld [$d8e4], a - ld a, [$d8e7] - ld [$d8e5], a - ret + xor a + ld [$d8e4], a + ld [$d8e5], a + push hl + push bc + ld hl, $d8e6 + ld a, $5a + ld [hli], a + ld [hl], b + dec hl + ld b, $2 + ld d, $1e + call Func_1c32 + call Func_1d44 + pop bc + pop hl + call Func_1ed3 + call Func_1d44 + ld a, [$d8e4] + ld [$d8e6], a + ld a, [$d8e5] + ld [$d8e7], a + ld hl, $d8e6 + ld b, $2 + call Func_1d44 + ld hl, $d8ea + ld b, $1 + call Func_1e3b + ld a, [$d8e6] + ld [$d8e4], a + ld a, [$d8e7] + ld [$d8e5], a + ret Func_1d44: ; 0x1d44 - ld a, [$d8ea] - cp $0 - ret nz - ld c, $56 - ld d, $16 - call Func_1c2b - ld d, $16 - call Func_1c32 - ld a, b - cpl - ld b, a + ld a, [$d8ea] + cp $0 + ret nz + ld c, $56 + ld d, $16 + call Func_1c2b + ld d, $16 + call Func_1c32 + ld a, b + cpl + ld b, a .asm_1d59 - inc b - jr z, .asm_1dae - ld a, $8 - ld [$d8e3], a - ld a, [hli] - ld e, a - ld a, [$d8e4] - add e - ld [$d8e4], a - jr nc, .asm_1d75 - ld a, [$d8e5] - inc a - ld [$d8e5], a - jr .asm_1d78 + inc b + jr z, .asm_1dae + ld a, $8 + ld [$d8e3], a + ld a, [hli] + ld e, a + ld a, [$d8e4] + add e + ld [$d8e4], a + jr nc, .asm_1d75 + ld a, [$d8e5] + inc a + ld [$d8e5], a + jr .asm_1d78 .asm_1d75 - call Func_1ed3 + call Func_1ed3 .asm_1d78 - ld a, e - rlca - ld e, a - jr nc, .asm_1d8d - ld a, [$d8eb] - ld d, a - call Func_1c2b - ld a, [$d8ec] - ld d, a - call Func_1c32 - jr .asm_1d9b + ld a, e + rlca + ld e, a + jr nc, .asm_1d8d + ld a, [$d8eb] + ld d, a + call Func_1c2b + ld a, [$d8ec] + ld d, a + call Func_1c32 + jr .asm_1d9b .asm_1d8d - ld a, [$d8ed] - ld d, a - call Func_1c2b - ld a, [$d8ee] - ld d, a - call Func_1c32 + ld a, [$d8ed] + ld d, a + call Func_1c2b + ld a, [$d8ee] + ld d, a + call Func_1c32 .asm_1d9b - ld a, [$d8e3] - dec a - ld [$d8e3], a - jr z, .asm_1dac - call Func_1ed4 - call Func_1ed4 - jr .asm_1d78 + ld a, [$d8e3] + dec a + ld [$d8e3], a + jr z, .asm_1dac + call Func_1ed4 + call Func_1ed4 + jr .asm_1d78 .asm_1dac - jr .asm_1d59 + jr .asm_1d59 .asm_1dae - call Func_1ed3 - call Func_1ed3 - call Func_1ed4 - ld d, $16 - call Func_1c2b - ld d, $16 - call Func_1c32 - ret + call Func_1ed3 + call Func_1ed3 + call Func_1ed4 + ld d, $16 + call Func_1c2b + ld d, $16 + call Func_1c32 + ret Func_1dc2: ; 0x1dc2 - ld a, $2 - ld [$d8ea], a - ret + ld a, $2 + ld [$d8ea], a + ret -INCBIN "baserom.gbc",$1dc8,$1dd1 - $1dc8 + dr $1dc8, $1dd1 Func_1dd1: ; 0x1dd1 - ld a, [$d8ea] - or $4 - ld [$d8ea], a - ret + ld a, [$d8ea] + or $4 + ld [$d8ea], a + ret Func_1dda: ; 0x1dda - xor a - ld [$d8e4], a - ld [$d8e5], a - push hl - ld hl, $d8e6 - ld b, $2 - call Func_1e3b - ld a, [$d8e7] - ld [$d8e8], a - ld b, a - pop hl - ld a, [$d8e6] - cp $5a - jp nz, Func_1dd1 - call Func_1e3b - ld a, [$d8e4] - ld d, a - ld a, [$d8e5] - ld e, a - push de - ld hl, $d8e6 - ld b, $2 - call Func_1e3b - pop de - ld hl, $d8e6 - ld a, [hli] - xor d - ld b, a - ld a, [hl] - xor e - or b - jr z, .asm_1e22 - ld a, [$d8ea] - or $1 - ld [$d8ea], a + xor a + ld [$d8e4], a + ld [$d8e5], a + push hl + ld hl, $d8e6 + ld b, $2 + call Func_1e3b + ld a, [$d8e7] + ld [$d8e8], a + ld b, a + pop hl + ld a, [$d8e6] + cp $5a + jp nz, Func_1dd1 + call Func_1e3b + ld a, [$d8e4] + ld d, a + ld a, [$d8e5] + ld e, a + push de + ld hl, $d8e6 + ld b, $2 + call Func_1e3b + pop de + ld hl, $d8e6 + ld a, [hli] + xor d + ld b, a + ld a, [hl] + xor e + or b + jr z, .asm_1e22 + ld a, [$d8ea] + or $1 + ld [$d8ea], a .asm_1e22 - push de - ld hl, $d8ea - ld b, $1 - call Func_1d44 - pop de - ld a, d - ld [$d8e4], a - ld a, e - ld [$d8e5], a - ld a, [$d8e8] - cp $82 - ret z - ret + push de + ld hl, $d8ea + ld b, $1 + call Func_1d44 + pop de + ld a, d + ld [$d8e4], a + ld a, e + ld [$d8e5], a + ld a, [$d8e8] + cp $82 + ret z + ret Func_1e3b: ; 0x1e3b - ld a, [$d8ea] - cp $0 - ret nz - ld c, $56 - ld d, $0 - call Func_1c23 - ld a, d - or a - jp z, Func_1dc2 - ld d, $0 - call Func_1c1b - ld a, d - or a - jp z, Func_1dc2 - ld d, $0 - call Func_1c23 - ld a, d - or a - jp z, Func_1dc2 - call Func_1ed4 - call Func_1ed4 - push af - pop af - ld a, b - cpl - ld b, a + ld a, [$d8ea] + cp $0 + ret nz + ld c, $56 + ld d, $0 + call Func_1c23 + ld a, d + or a + jp z, Func_1dc2 + ld d, $0 + call Func_1c1b + ld a, d + or a + jp z, Func_1dc2 + ld d, $0 + call Func_1c23 + ld a, d + or a + jp z, Func_1dc2 + call Func_1ed4 + call Func_1ed4 + push af + pop af + ld a, b + cpl + ld b, a .asm_1e6c - inc b - jr z, .asm_1eb9 - ld a, $8 - ld [$d8e3], a + inc b + jr z, .asm_1eb9 + ld a, $8 + ld [$d8e3], a .asm_1e74 - ld d, $0 - call Func_1c1b - call Func_1c23 - ld a, [$d8ef] - cp d - jr nc, .asm_1e88 - ld a, e - set 0, a - ld e, a - jr .asm_1e8c + ld d, $0 + call Func_1c1b + call Func_1c23 + ld a, [$d8ef] + cp d + jr nc, .asm_1e88 + ld a, e + set 0, a + ld e, a + jr .asm_1e8c .asm_1e88 - ld a, e - res 0, a - ld e, a + ld a, e + res 0, a + ld e, a .asm_1e8c - ld a, [$d8e3] - dec a - ld [$d8e3], a - jr z, .asm_1ea0 - ld a, e - rlca - ld e, a - call Func_1ed4 - call Func_1ed4 - jr .asm_1e74 + ld a, [$d8e3] + dec a + ld [$d8e3], a + jr z, .asm_1ea0 + ld a, e + rlca + ld e, a + call Func_1ed4 + call Func_1ed4 + jr .asm_1e74 .asm_1ea0 - ld a, e - ld [hli], a - ld a, [$d8e4] - add e - ld [$d8e4], a - jr nc, .asm_1eb4 - ld a, [$d8e5] - inc a - ld [$d8e5], a - jr .asm_1eb7 + ld a, e + ld [hli], a + ld a, [$d8e4] + add e + ld [$d8e4], a + jr nc, .asm_1eb4 + ld a, [$d8e5] + inc a + ld [$d8e5], a + jr .asm_1eb7 .asm_1eb4 - call Func_1ed3 + call Func_1ed3 .asm_1eb7 - jr .asm_1e6c + jr .asm_1e6c .asm_1eb9 - ld d, $0 - call Func_1c1b - ld a, d - and a - jp z, Func_1dc2 - ld d, $11 - call Func_1c32 - ret + ld d, $0 + call Func_1c1b + ld a, d + and a + jp z, Func_1dc2 + ld d, $11 + call Func_1c32 + ret -INCBIN "baserom.gbc",$1ec9,$1ed3 - $1ec9 + dr $1ec9, $1ed3 Func_1ed3: ; 0x1ed3 - ret + ret Func_1ed4: ; 0x1ed4 - jr z, .asm_1ed6 + jr z, .asm_1ed6 .asm_1ed6 - jr nz, .asm_1ed8 + jr nz, .asm_1ed8 .asm_1ed8 - ret + ret -INCBIN "baserom.gbc",$1ed9,$1f0b - $1ed9 + dr $1ed9, $1f0b LoadOAMData2: ; 0x1f0b ; This function loads OAM data, but it adds b and c to the x and y values ; input: a = OAM data id (see OAMDataPointers2) - push bc - push de - push hl - ld e, a - ld d, $0 - sla e - rl d - ld a, [hLoadedROMBank] - push af - ld a, Bank(OAMDataPointers2) - ld [hLoadedROMBank], a - ld [$2000], a - ld hl, OAMDataPointers2 - jr asm_1f3b + push bc + push de + push hl + ld e, a + ld d, $0 + sla e + rl d + ld a, [hLoadedROMBank] + push af + ld a, Bank(OAMDataPointers2) + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld hl, OAMDataPointers2 + jr asm_1f3b LoadOAMData: ; 0x1f24 ; This function loads OAM data, but it adds b and c to the x and y values ; input: a = OAM data id (see OAMDataPointers) - push bc - push de - push hl - ld e, a - ld d, $0 - sla e - rl d ; multiply de by 2 - ld a, [hLoadedROMBank] - push af - ld a, Bank(OAMDataPointers) - ld [hLoadedROMBank], a - ld [$2000], a - ld hl, OAMDataPointers + push bc + push de + push hl + ld e, a + ld d, $0 + sla e + rl d ; multiply de by 2 + ld a, [hLoadedROMBank] + push af + ld a, Bank(OAMDataPointers) + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld hl, OAMDataPointers asm_1f3b: ; 0x1f3b - add hl, de ; hl points to oam pointer in OAMDataPointers - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a ; de points to OAM data - ld a, [$d802] - ld l, a - ld h, (wOAMBuffer >> 8) + add hl, de ; hl points to oam pointer in OAMDataPointers + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a ; de points to OAM data + ld a, [$d802] + ld l, a + ld h, (wOAMBuffer >> 8) .loadOAMDataLoop - ld a, [de] - cp $80 ; OAM data list terminator - jr z, .doneReadingOAMData - add c - ld [hli], a - inc de - ld a, [de] - add b - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - jr .loadOAMDataLoop + ld a, [de] + cp $80 ; OAM data list terminator + jr z, .doneReadingOAMData + add c + ld [hli], a + inc de + ld a, [de] + add b + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + jr .loadOAMDataLoop .doneReadingOAMData - ld a, l - ld [$d802], a - pop af - ld [hLoadedROMBank], a - ld [$2000], a - pop hl - pop de - pop bc - ret - -INCBIN "baserom.gbc",$1f68,$1ffc - $1f68 + ld a, l + ld [$d802], a + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + pop hl + pop de + pop bc + ret + + dr $1f68, $1ffc Func_1ffc: ; 0x1ffc - ld a, $b - ld [$d806], a - ld a, $4 - ld [$d807], a - ld [$ff8a], a - ld a, Bank(Func_3c000) - ld hl, Func_3c000 - call BankSwitch - ld a, $1 - ld [$d85d], a - ld a, $37 - ld [$d470], a - ld [$d471], a - ld [$d472], a - ld a, SCREEN_ERASE_ALL_DATA - ld [wCurrentScreen], a + ld a, $b + ld [$d806], a + ld a, $4 + ld [$d807], a + ld [$ff8a], a + ld a, Bank(Func_3c000) + ld hl, Func_3c000 + call BankSwitch + ld a, $1 + ld [$d85d], a + ld a, $37 + ld [$d470], a + ld [$d471], a + ld [$d472], a + ld a, SCREEN_ERASE_ALL_DATA + ld [wCurrentScreen], a .asm_2025 - call Func_2034 - call Func_2043 - call Func_926 - call Func_b2e - rst $10 - jr .asm_2025 + call Func_2034 + call Func_2043 + call Func_926 + call Func_b2e + rst $10 + jr .asm_2025 Func_2034: ; 0x2034 - ld a, [$d804] - and a - jr z, .asm_203f - dec a - ld [$d804], a - ret + ld a, [$d804] + and a + jr z, .asm_203f + dec a + ld [$d804], a + ret .asm_203f - ld [$d803], a - ret + ld [$d803], a + ret Func_2043: ; 0x2043 - ld a, [wCurrentScreen] - call CallInFollowingTable + ld a, [wCurrentScreen] + call CallInFollowingTable CallTable_2049: ; 0x2049 ; First two bytes is function pointer. ; Third byte is bank of function. ; Fourth byte seems to be unused. - dw Func_8000 - db Bank(Func_8000), $00 + dw Func_8000 + db Bank(Func_8000), $00 - ; SCREEN_ERASE_ALL_DATA - dw HandleEraseAllDataMenu - db Bank(HandleEraseAllDataMenu), $00 + ; SCREEN_ERASE_ALL_DATA + dw HandleEraseAllDataMenu + db Bank(HandleEraseAllDataMenu), $00 - ; SCREEN_COPYRIGHT - dw HandleCopyrightScreen - db Bank(HandleCopyrightScreen), $00 + ; SCREEN_COPYRIGHT + dw HandleCopyrightScreen + db Bank(HandleCopyrightScreen), $00 - ; SCREEN_TITLESCREEN - dw HandleTitlescreen - db Bank(HandleTitlescreen), $00 + ; SCREEN_TITLESCREEN + dw HandleTitlescreen + db Bank(HandleTitlescreen), $00 - ; SCREEN_PINBALL_GAME - dw HandlePinballGame - db Bank(HandlePinballGame), $00 + ; SCREEN_PINBALL_GAME + dw HandlePinballGame + db Bank(HandlePinballGame), $00 - ; SCREEN_POKEDEX - dw HandlePokedexScreen - db Bank(HandlePokedexScreen), $00 + ; SCREEN_POKEDEX + dw HandlePokedexScreen + db Bank(HandlePokedexScreen), $00 - ; SCREEN_OPTIONS - dw HandleOptionsScreen - db Bank(HandleOptionsScreen), $00 + ; SCREEN_OPTIONS + dw HandleOptionsScreen + db Bank(HandleOptionsScreen), $00 - ; SCREEN_HIGH_SCORES - dw HandleHighScoresScreen - db Bank(HandleHighScoresScreen), $00 + ; SCREEN_HIGH_SCORES + dw HandleHighScoresScreen + db Bank(HandleHighScoresScreen), $00 - ; SCREEN_FIELD_SELECT - dw HandleFieldSelectScreen - db Bank(HandleFieldSelectScreen), $00 - ; end of call table + ; SCREEN_FIELD_SELECT + dw HandleFieldSelectScreen + db Bank(HandleFieldSelectScreen), $00 + ; end of call table Func_206d: ; 0x206d - ld a, [hLoadedROMBank] - push af - ld a, Bank(Func_8d17) - ld [hLoadedROMBank], a - ld [$2000], a - call Func_8d17 - jr c, .asm_2084 - pop af - ld [hLoadedROMBank], a - ld [$2000], a - and a - ret + ld a, [hLoadedROMBank] + push af + ld a, Bank(Func_8d17) + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + call Func_8d17 + jr c, .asm_2084 + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + and a + ret .asm_2084 - pop af - ld [hLoadedROMBank], a - ld [$2000], a - scf - ret + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + scf + ret Func_208c: ; 0x208c - ld a, [hLoadedROMBank] - push af - ld a, Bank(Func_8ee0) - ld [hLoadedROMBank], a - ld [$2000], a - call Func_8ee0 - jr c, .asm_20a3 - pop af - ld [hLoadedROMBank], a - ld [$2000], a - and a - ret + ld a, [hLoadedROMBank] + push af + ld a, Bank(Func_8ee0) + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + call Func_8ee0 + jr c, .asm_20a3 + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + and a + ret .asm_20a3 - pop af - ld [hLoadedROMBank], a - ld [$2000], a - scf - ret + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + scf + ret Func_20ab: ; 0x20ab - push af - xor a - ld [$ffb6], a - jr .asm_20c6 - push af - ld a, b - xor c - ld [$ffb6], a - bit 7, b - jr z, .asm_20be - ld a, b - cpl - inc a - ld b, a + push af + xor a + ld [$ffb6], a + jr .asm_20c6 + push af + ld a, b + xor c + ld [$ffb6], a + bit 7, b + jr z, .asm_20be + ld a, b + cpl + inc a + ld b, a .asm_20be - bit 7, c - jr z, .asm_20c6 - ld a, c - cpl - inc a - ld c, a + bit 7, c + jr z, .asm_20c6 + ld a, c + cpl + inc a + ld c, a .asm_20c6 - push de - push hl - ld a, b - cp c - jr nc, .asm_20ce - ld b, c - ld c, a + push de + push hl + ld a, b + cp c + jr nc, .asm_20ce + ld b, c + ld c, a .asm_20ce - ld h, $3e - ld l, c - ld e, [hl] - inc h - ld d, [hl] - ld l, b - ld a, [hl] - dec h - ld l, [hl] - ld h, a - add hl, de - push af - ld d, $3e - ld a, b - sub c - ld e, a - ld a, [de] - ld c, a - inc d - ld a, [de] - ld b, a - ld a, l - sub c - ld l, a - ld a, h - sbc b - ld h, a - jr nc, .asm_20f1 - pop af - ccf - jr .asm_20f2 + ld h, $3e + ld l, c + ld e, [hl] + inc h + ld d, [hl] + ld l, b + ld a, [hl] + dec h + ld l, [hl] + ld h, a + add hl, de + push af + ld d, $3e + ld a, b + sub c + ld e, a + ld a, [de] + ld c, a + inc d + ld a, [de] + ld b, a + ld a, l + sub c + ld l, a + ld a, h + sbc b + ld h, a + jr nc, .asm_20f1 + pop af + ccf + jr .asm_20f2 .asm_20f1 - pop af + pop af .asm_20f2 - rr h - rr l - ld b, h - ld c, l - ld a, [$ffb6] - rlca - jr nc, .asm_2107 - ld a, c - cpl - add $1 - ld c, a - ld a, b - cpl - adc $0 - ld b, a + rr h + rr l + ld b, h + ld c, l + ld a, [$ffb6] + rlca + jr nc, .asm_2107 + ld a, c + cpl + add $1 + ld c, a + ld a, b + cpl + adc $0 + ld b, a .asm_2107 - pop hl - pop de - pop af - ret + pop hl + pop de + pop af + ret Func_210b: ; 0x210b - push af - push hl - ld a, b - xor d - ld [$ffb7], a - bit 7, b - jr z, .asm_211f - ld a, c - cpl - add $1 - ld c, a - ld a, b - cpl - adc $0 - ld b, a + push af + push hl + ld a, b + xor d + ld [$ffb7], a + bit 7, b + jr z, .asm_211f + ld a, c + cpl + add $1 + ld c, a + ld a, b + cpl + adc $0 + ld b, a .asm_211f - push bc - ld b, e - call Func_20ab - ld l, c - ld h, b - ld bc, $0080 - add hl, bc - ld l, h - ld h, $0 - pop bc - ld c, e - call Func_20ab - add hl, bc - ld a, [$ffb7] - rlca - jr nc, .asm_2142 - ld a, l - cpl - add $1 - ld l, a - ld a, h - cpl - adc $0 - ld h, a + push bc + ld b, e + call Func_20ab + ld l, c + ld h, b + ld bc, $0080 + add hl, bc + ld l, h + ld h, $0 + pop bc + ld c, e + call Func_20ab + add hl, bc + ld a, [$ffb7] + rlca + jr nc, .asm_2142 + ld a, l + cpl + add $1 + ld l, a + ld a, h + cpl + adc $0 + ld h, a .asm_2142 - ld c, l - ld b, h - pop hl - pop af - ret + ld c, l + ld b, h + pop hl + pop af + ret Func_2147: ; 0x2147 - add $40 - ; fall through + add $40 + ; fall through Func_2149: ; 0x2149 - push hl - ld [$ffb6], a - and $7f - cp $40 - jr c, .asm_2155 - cpl - add $81 + push hl + ld [$ffb6], a + and $7f + cp $40 + jr c, .asm_2155 + cpl + add $81 .asm_2155 - ld hl, $26be ; todo - ld e, a - ld d, $0 - add hl, de - ld e, [hl] - pop hl - ld d, $0 - ld a, [$ffb6] - sla a - ret nc - ld d, $ff - ret + ld hl, Data_26be ; todo + ld e, a + ld d, $0 + add hl, de + ld e, [hl] + pop hl + ld d, $0 + ld a, [$ffb6] + sla a + ret nc + ld d, $ff + ret ApplyGravityToBall: ; 0x2168 ; Adds a constant to the pinball's y velocity. - ld a, [$d549] - and a - ret z - ld de, $000b ; gravity added to y velocity every frame - ld hl, wBallYVelocity - ld a, [hli] - ld h, [hl] - ld l, a - add hl, de - ld a, l - ld [wBallYVelocity], a - ld a, h - ld [wBallYVelocity + 1], a - ret + ld a, [$d549] + and a + ret z + ld de, $000b ; gravity added to y velocity every frame + ld hl, wBallYVelocity + ld a, [hli] + ld h, [hl] + ld l, a + add hl, de + ld a, l + ld [wBallYVelocity], a + ld a, h + ld [wBallYVelocity + 1], a + ret LimitBallVelocity: ; 0x2180 ; Ensures that the ball's x and y velocity are kept under a threshold. ; The ball can travel at a higher max speed when moving diagonally, since it ; limits the x and y components independently. - ld hl, wBallXVelocity + 1 - call _LimitBallVelocity - ld hl, wBallYVelocity + 1 - ; fall through + ld hl, wBallXVelocity + 1 + call _LimitBallVelocity + ld hl, wBallYVelocity + 1 + ; fall through _LimitBallVelocity: ; 0x2189 - ld a, [hl] - bit 7, a ; is it negative velocity? (left or up) - jr nz, .negativeVelocity - cp $8 - ret c - ld a, $7 ; max positive velocity - ld [hl], a - ret + ld a, [hl] + bit 7, a ; is it negative velocity? (left or up) + jr nz, .negativeVelocity + cp $8 + ret c + ld a, $7 ; max positive velocity + ld [hl], a + ret .negativeVelocity - cp $f9 - ret nc - ld a, $f9 ; max negative velocity - ld [hl], a - ret + cp $f9 + ret nc + ld a, $f9 ; max negative velocity + ld [hl], a + ret MoveBallPosition: ; 0x219c ; Updates the ball's position according to its velocity - ld a, [wBallXPos] - ld [wPreviousBallXPos], a - ld a, [wBallXPos + 1] - ld [wPreviousBallXPos + 1], a - ld a, [wBallYPos] - ld [wPreviousBallYPos], a - ld a, [wBallYPos + 1] - ld [wPreviousBallYPos + 1], a - ld de, wBallXVelocity + 1 - ld hl, wBallXPos - call AddVelocityToPosition - ld de, wBallYVelocity + 1 - ld hl, wBallYPos - ; fall through + ld a, [wBallXPos] + ld [wPreviousBallXPos], a + ld a, [wBallXPos + 1] + ld [wPreviousBallXPos + 1], a + ld a, [wBallYPos] + ld [wPreviousBallYPos], a + ld a, [wBallYPos + 1] + ld [wPreviousBallYPos + 1], a + ld de, wBallXVelocity + 1 + ld hl, wBallXPos + call AddVelocityToPosition + ld de, wBallYVelocity + 1 + ld hl, wBallYPos + ; fall through AddVelocityToPosition: ; 0x21c3 - ld a, [de] - bit 7, a - jr nz, .asm_21d1 - cp $5 - jr c, .asm_21da - ld bc, $04ff - jr .asm_21de + ld a, [de] + bit 7, a + jr nz, .asm_21d1 + cp $5 + jr c, .asm_21da + ld bc, $04ff + jr .asm_21de .asm_21d1 - cp $fc - jr nc, .asm_21da - ld bc, $fb01 - jr .asm_21de + cp $fc + jr nc, .asm_21da + ld bc, $fb01 + jr .asm_21de .asm_21da - ld b, a - dec de - ld a, [de] - ld c, a + ld b, a + dec de + ld a, [de] + ld c, a .asm_21de - ld a, [hl] - add c - ld [hli], a - ld a, [hl] - adc b - ld [hl], a - ret + ld a, [hl] + add c + ld [hli], a + ld a, [hl] + adc b + ld [hl], a + ret Func_21e5: ; 0x21e5 - cpl - inc a - ; fall through + cpl + inc a + ; fall through Func_21e7: ; 0x21e7 - push hl - push bc - push de - ld [$ff8c], a - call Func_2147 - ld a, e - ld [$ff8d], a - ld a, d - ld [$ff8e], a - call Func_210b - ld l, c - ld h, b - pop bc - push bc - ld a, [$ff8c] - call Func_2149 - ld a, e - ld [$ff8f], a - ld a, d - ld [$ff90], a - call Func_210b - add hl, bc - pop de - pop bc - push hl - push de - ld a, [$ff8f] - ld e, a - ld a, [$ff90] - cpl - ld d, a - call Func_210b - ld l, c - ld h, b - pop bc - ld a, [$ff8d] - ld e, a - ld a, [$ff8e] - ld d, a - call Func_210b - add hl, bc - ld d, h - ld e, l - pop bc - pop hl - ret + push hl + push bc + push de + ld [$ff8c], a + call Func_2147 + ld a, e + ld [$ff8d], a + ld a, d + ld [$ff8e], a + call Func_210b + ld l, c + ld h, b + pop bc + push bc + ld a, [$ff8c] + call Func_2149 + ld a, e + ld [$ff8f], a + ld a, d + ld [$ff90], a + call Func_210b + add hl, bc + pop de + pop bc + push hl + push de + ld a, [$ff8f] + ld e, a + ld a, [$ff90] + cpl + ld d, a + call Func_210b + ld l, c + ld h, b + pop bc + ld a, [$ff8d] + ld e, a + ld a, [$ff8e] + ld d, a + call Func_210b + add hl, bc + ld d, h + ld e, l + pop bc + pop hl + ret Func_222b: ; 0x222b - push hl - ld hl, $d7f8 - ld [hl], $ff - bit 7, d - jr nz, .asm_2297 - ld [hl], $0 - ld a, d - cp $3 - jr c, .asm_2254 - ld a, $ff - ld [$d803], a - ld a, $1 - ld [$d804], a - ld a, [wFlipperCollision] - and a - jr nz, .asm_2254 - push de - ld de, $0008 - call Func_4d8 - pop de + push hl + ld hl, $d7f8 + ld [hl], $ff + bit 7, d + jr nz, .asm_2297 + ld [hl], $0 + ld a, d + cp $3 + jr c, .asm_2254 + ld a, $ff + ld [$d803], a + ld a, $1 + ld [$d804], a + ld a, [wFlipperCollision] + and a + jr nz, .asm_2254 + push de + ld de, $0008 + call Func_4d8 + pop de .asm_2254 - srl d - rr e - srl d - rr e - ld h, d - ld l, e - srl d - rr e - ld a, [$d7eb] - and a - jr z, .asm_226c + srl d + rr e + srl d + rr e + ld h, d + ld l, e + srl d + rr e + ld a, [$d7eb] + and a + jr z, .asm_226c .asm_2268 - add hl, de - dec a - jr nz, .asm_2268 + add hl, de + dec a + jr nz, .asm_2268 .asm_226c - ld d, h - ld e, l - ld a, e - cpl - add $1 - ld e, a - ld a, d - cpl - adc $0 - ld d, a - ld a, [wBallSpin] - sra a - ld l, a - ld h, $0 - bit 7, l - jr z, .asm_2286 - ld h, $ff + ld d, h + ld e, l + ld a, e + cpl + add $1 + ld e, a + ld a, d + cpl + adc $0 + ld d, a + ld a, [wBallSpin] + sra a + ld l, a + ld h, $0 + bit 7, l + jr z, .asm_2286 + ld h, $ff .asm_2286 - add hl, bc - ld b, h - ld c, l - push bc - sla c - rl b - sla c - rl b - ld a, b - ld [wBallSpin], a - pop bc + add hl, bc + ld b, h + ld c, l + push bc + sla c + rl b + sla c + rl b + ld a, b + ld [wBallSpin], a + pop bc .asm_2297 - pop hl - ret + pop hl + ret LoadBallVelocity: ; 0x2299 ; Loads velocity of the ball into bc and de ; bc = x velocity ; de = y velocity - push hl - ld hl, wBallXVelocity - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - pop hl - ret + push hl + ld hl, wBallXVelocity + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + pop hl + ret SetBallVelocity: ; 0x22a7 ; Sets the x and y velocities of the ball. ; bc = x velocity ; de = y velocity - push hl - ld hl, wBallXVelocity - ld a, c - ld [hli], a - ld a, b - ld [hli], a - ld a, e - ld [hli], a - ld a, d - ld [hl], a - pop hl - ret + push hl + ld hl, wBallXVelocity + ld a, c + ld [hli], a + ld a, b + ld [hli], a + ld a, e + ld [hli], a + ld a, d + ld [hl], a + pop hl + ret Func_22b5: ; 0x22b5 - ld a, [wBallXPos + 1] - sub $4 - push af - and $7 - ld [wSubTileBallXPos], a ; sub-tile position - pop af - and $f8 - ld c, a - ld a, [wBallYPos + 1] - sub $4 - push af - and $7 - ld [wSubTileBallYPos], a - pop af - and $f8 - ld b, a - ld l, b ; bc contains tile coords of ball position - ld h, $0 - sla l - rl h - sla l - rl h ; b was multiplied by 4 (y tile position) - srl c - srl c - srl c ; c was divided by 8 (x tile position) - ld b, $0 - add hl, bc - ld a, l - ld [$d7f3], a - ld a, h - ld [$d7f4], a - ld a, [wStageCollisionMapPointer] - ld c, a - ld a, [wStageCollisionMapPointer + 1] - ld b, a - add hl, bc ; hl = address of upper-left collision byte - ld a, [hLoadedROMBank] - push af - ld a, [wStageCollisionMapBank] - ld [hLoadedROMBank], a - ld [$2000], a - ld bc, $001f ; number of tiles wide - 1 - ld a, [hli] - ld [wUpperLeftCollisionAttribute], a - ld a, [hl] - ld [wUpperRightCollisionAttribute], a - add hl, bc - ld a, [hli] - ld [wLowerLeftCollisionAttribute], a - ld a, [hl] - ld [wLowerRightCollisionAttribute], a - pop af - ld [hLoadedROMBank], a - ld [$2000], a - ld a, [hLoadedROMBank] - push af - ld a, [wStageCollisionMasksBank] - ld [hLoadedROMBank], a - ld [$2000], a - ld a, [wSubTileBallXPos] - sla a - ld c, a - ld b, $0 - ld hl, SubTileXPos_CollisionDataPointers - add hl, bc - ld e, [hl] - inc hl - ld d, [hl] - ld a, [wSubTileBallYPos] - ld c, a - ld b, $10 ; number of times to loop over .asm_233d + ld a, [wBallXPos + 1] + sub $4 + push af + and $7 + ld [wSubTileBallXPos], a ; sub-tile position + pop af + and $f8 + ld c, a + ld a, [wBallYPos + 1] + sub $4 + push af + and $7 + ld [wSubTileBallYPos], a + pop af + and $f8 + ld b, a + ld l, b ; bc contains tile coords of ball position + ld h, $0 + sla l + rl h + sla l + rl h ; b was multiplied by 4 (y tile position) + srl c + srl c + srl c ; c was divided by 8 (x tile position) + ld b, $0 + add hl, bc + ld a, l + ld [$d7f3], a + ld a, h + ld [$d7f4], a + ld a, [wStageCollisionMapPointer] + ld c, a + ld a, [wStageCollisionMapPointer + 1] + ld b, a + add hl, bc ; hl = address of upper-left collision byte + ld a, [hLoadedROMBank] + push af + ld a, [wStageCollisionMapBank] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld bc, $001f ; number of tiles wide - 1 + ld a, [hli] + ld [wUpperLeftCollisionAttribute], a + ld a, [hl] + ld [wUpperRightCollisionAttribute], a + add hl, bc + ld a, [hli] + ld [wLowerLeftCollisionAttribute], a + ld a, [hl] + ld [wLowerRightCollisionAttribute], a + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld a, [hLoadedROMBank] + push af + ld a, [wStageCollisionMasksBank] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld a, [wSubTileBallXPos] + sla a + ld c, a + ld b, $0 + ld hl, SubTileXPos_CollisionDataPointers + add hl, bc + ld e, [hl] + inc hl + ld d, [hl] + ld a, [wSubTileBallYPos] + ld c, a + ld b, $10 ; number of times to loop over .asm_233d .asm_233d - push bc - ld a, [de] - inc de - add c ; add the sub tile y pos - push af - srl a - srl a - srl a - ld c, a - ld b, $0 - ld hl, wUpperLeftCollisionAttribute - add hl, bc - ld a, [hl] - call Func_248a - jr nc, .asm_235e - pop af - and $7 - ld c, a - ld b, $0 - add hl, bc - jr .asm_237b + push bc + ld a, [de] + inc de + add c ; add the sub tile y pos + push af + srl a + srl a + srl a + ld c, a + ld b, $0 + ld hl, wUpperLeftCollisionAttribute + add hl, bc + ld a, [hl] + call Func_248a + jr nc, .asm_235e + pop af + and $7 + ld c, a + ld b, $0 + add hl, bc + jr .asm_237b .asm_235e - ld c, a - ld b, $0 - sla c - rl b - sla c - rl b - sla c - rl b - ld hl, wStageCollisionMasksPointer - ld a, [hli] - ld h, [hl] - ld l, a - add hl, bc - pop af - and $7 - ld c, a - ld b, $0 - add hl, bc + ld c, a + ld b, $0 + sla c + rl b + sla c + rl b + sla c + rl b + ld hl, wStageCollisionMasksPointer + ld a, [hli] + ld h, [hl] + ld l, a + add hl, bc + pop af + and $7 + ld c, a + ld b, $0 + add hl, bc .asm_237b - ld a, [de] - inc de - and [hl] - push af - ld a, [de] - inc de - ld c, a - ld hl, $d7c9 - add hl, bc - pop af - ld [hl], a - pop bc - dec b - jr nz, .asm_233d - pop af - ld [hLoadedROMBank], a - ld [$2000], a - ld hl, $d7c9 - ld de, $d7d9 - ld b, $4 + ld a, [de] + inc de + and [hl] + push af + ld a, [de] + inc de + ld c, a + ld hl, $d7c9 + add hl, bc + pop af + ld [hl], a + pop bc + dec b + jr nz, .asm_233d + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld hl, $d7c9 + ld de, $d7d9 + ld b, $4 .asm_239a - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - dec b - jr nz, .asm_239a - ld hl, $d7c9 - ld de, $0000 - ld b, $0 - ld a, [hl] - and a - jr z, .asm_23c1 + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + dec b + jr nz, .asm_239a + ld hl, $d7c9 + ld de, $0000 + ld b, $0 + ld a, [hl] + and a + jr z, .asm_23c1 .asm_23b5 - ld a, [hli] - inc b - and a - jr z, .asm_23c1 - ld a, b - cp $11 - jr nc, .asm_23ee - jr .asm_23b5 + ld a, [hli] + inc b + and a + jr z, .asm_23c1 + ld a, b + cp $11 + jr nc, .asm_23ee + jr .asm_23b5 .asm_23c1 - ld a, [hli] - inc b - and a - jr nz, .asm_23cd - ld a, b - cp $11 - jr nc, .asm_23ee - jr .asm_23c1 + ld a, [hli] + inc b + and a + jr nz, .asm_23cd + ld a, b + cp $11 + jr nc, .asm_23ee + jr .asm_23c1 .asm_23cd - push de - ld d, $1 - ld c, b - dec c + push de + ld d, $1 + ld c, b + dec c .asm_23d2 - ld a, [hli] - inc b - inc d - and a - jr nz, .asm_23d2 - dec d - ld a, b - dec a - dec a - and $f - swap c - or c - ld c, a - ld a, d - cp e - pop de - jr c, .asm_23e9 - ld e, a - ld d, c + ld a, [hli] + inc b + inc d + and a + jr nz, .asm_23d2 + dec d + ld a, b + dec a + dec a + and $f + swap c + or c + ld c, a + ld a, d + cp e + pop de + jr c, .asm_23e9 + ld e, a + ld d, c .asm_23e9 - ld a, b - cp $10 - jr c, .asm_23c1 + ld a, b + cp $10 + jr c, .asm_23c1 .asm_23ee - ld a, e - ld [$d7e9], a - and a - ret z - ld a, [hLoadedROMBank] - push af - ld a, Bank(Data_8817) - ld [hLoadedROMBank], a - ld [$2000], a - push de - ld e, d - ld d, $0 - ld hl, Data_8817 - add hl, de - ld a, [hl] - ld [$d7ea], a - sla e - rl d - ld hl, Data_8917 - add hl, de - ld a, [wBallYPos] - add [hl] - ld [wBallYPos], a - inc hl - ld a, [wBallYPos + 1] - adc [hl] - ld [wBallYPos + 1], a - ld hl, Data_8b17 - add hl, de - ld a, [wBallXPos] - add [hl] - ld [wBallXPos], a - inc hl - ld a, [wBallXPos + 1] - adc [hl] - ld [wBallXPos + 1], a - pop de - pop af - ld [hLoadedROMBank], a - ld [$2000], a - ld a, d - swap a - and $f - ld e, a - ld a, d - and $f - sub e - jr nc, .asm_2449 - add $10 + ld a, e + ld [$d7e9], a + and a + ret z + ld a, [hLoadedROMBank] + push af + ld a, Bank(Data_8817) + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + push de + ld e, d + ld d, $0 + ld hl, Data_8817 + add hl, de + ld a, [hl] + ld [$d7ea], a + sla e + rl d + ld hl, Data_8917 + add hl, de + ld a, [wBallYPos] + add [hl] + ld [wBallYPos], a + inc hl + ld a, [wBallYPos + 1] + adc [hl] + ld [wBallYPos + 1], a + ld hl, Data_8b17 + add hl, de + ld a, [wBallXPos] + add [hl] + ld [wBallXPos], a + inc hl + ld a, [wBallXPos + 1] + adc [hl] + ld [wBallXPos + 1], a + pop de + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld a, d + swap a + and $f + ld e, a + ld a, d + and $f + sub e + jr nc, .asm_2449 + add $10 .asm_2449 - add e - add e - inc a - and $1e - ld c, a - ld b, $0 - ld hl, $250e ; todo - add hl, bc - ld a, [wSubTileBallXPos] - add $4 - add [hl] - bit 3, a - ld c, b - jr z, .asm_2462 - ld c, $2 + add e + add e + inc a + and $1e + ld c, a + ld b, $0 + ld hl, Data_250e ; todo + add hl, bc + ld a, [wSubTileBallXPos] + add $4 + add [hl] + bit 3, a + ld c, b + jr z, .asm_2462 + ld c, $2 .asm_2462 - ld a, [wSubTileBallYPos] - add $4 - inc hl - add [hl] - bit 3, a - jr z, .asm_246e - inc c + ld a, [wSubTileBallYPos] + add $4 + inc hl + add [hl] + bit 3, a + jr z, .asm_246e + inc c .asm_246e - ld hl, wUpperLeftCollisionAttribute - add hl, bc - ld a, [hl] - ld [$d7f5], a - ld hl, $250a ; todo - add hl, bc - ld a, [$d7f3] - add [hl] - ld [$d7f6], a - ld a, [$d7f4] - adc $0 - ld [$d7f7], a - ret + ld hl, wUpperLeftCollisionAttribute + add hl, bc + ld a, [hl] + ld [$d7f5], a + ld hl, Data_250a ; todo + add hl, bc + ld a, [$d7f3] + add [hl] + ld [$d7f6], a + ld a, [$d7f4] + adc $0 + ld [$d7f7], a + ret Func_248a: ; 0x248a - push af - ld a, [wCurrentStage] - bit 0, a - jr nz, .asm_2495 - pop af - and a - ret + push af + ld a, [wCurrentStage] + bit 0, a + jr nz, .asm_2495 + pop af + and a + ret .asm_2495 - pop af - cp $d0 - ccf - ret nc - cp $e0 - jr nc, .asm_24ab - sub $d0 - sla a - sla a - sla a - ld l, a - ld h, $c4 - scf - ret + pop af + cp $d0 + ccf + ret nc + cp $e0 + jr nc, .asm_24ab + sub $d0 + sla a + sla a + sla a + ld l, a + ld h, $c4 + scf + ret .asm_24ab - push de - sub $e0 - ld b, a - ld a, [wCurrentStage] - cp $6 ; gengar stage buggy? - jr nc, .asm_24e0 - bit 4, b - ld hl, $3800 - ld a, [$d7af] - jr z, .asm_24c8 - res 4, b - ld hl, $3980 - ld a, [$d7b3] + push de + sub $e0 + ld b, a + ld a, [wCurrentStage] + cp $6 ; gengar stage buggy? + jr nc, .asm_24e0 + bit 4, b + ld hl, Data_3800 + ld a, [$d7af] + jr z, .asm_24c8 + res 4, b + ld hl, Data_3980 + ld a, [$d7b3] .asm_24c8 - ld de, $0080 - cp $7 - jr c, .asm_24d5 - add hl, de - cp $e - jr c, .asm_24d5 - add hl, de + ld de, $0080 + cp $7 + jr c, .asm_24d5 + add hl, de + cp $e + jr c, .asm_24d5 + add hl, de .asm_24d5 - ld e, b - sla e - sla e - sla e - add hl, de - pop de - scf - ret + ld e, b + sla e + sla e + sla e + add hl, de + pop de + scf + ret .asm_24e0 - bit 4, b - ld hl, $3b00 - ld a, [$d7af] - jr z, .asm_24f2 - res 4, b - ld hl, $3c80 - ld a, [$d7b3] + bit 4, b + ld hl, Data_3b00 + ld a, [$d7af] + jr z, .asm_24f2 + res 4, b + ld hl, Data_3c80 + ld a, [$d7b3] .asm_24f2 - ld de, $0080 - cp $7 - jr c, .asm_24ff - add hl, de - cp $e - jr c, .asm_24ff - add hl, de + ld de, $0080 + cp $7 + jr c, .asm_24ff + add hl, de + cp $e + jr c, .asm_24ff + add hl, de .asm_24ff - ld e, b - sla e - sla e - sla e - add hl, de - pop de - scf - ret + ld e, b + sla e + sla e + sla e + add hl, de + pop de + scf + ret + +Data_250a: + dr $250a, $250e -INCBIN "baserom.gbc",$250a,$252e - $250a +Data_250e: + dr $250e, $252e SubTileXPos_CollisionDataPointers: ; 0x252e - dw SubTileXPos_CollisionData0 - dw SubTileXPos_CollisionData1 - dw SubTileXPos_CollisionData2 - dw SubTileXPos_CollisionData3 - dw SubTileXPos_CollisionData4 - dw SubTileXPos_CollisionData5 - dw SubTileXPos_CollisionData6 - dw SubTileXPos_CollisionData7 + dw SubTileXPos_CollisionData0 + dw SubTileXPos_CollisionData1 + dw SubTileXPos_CollisionData2 + dw SubTileXPos_CollisionData3 + dw SubTileXPos_CollisionData4 + dw SubTileXPos_CollisionData5 + dw SubTileXPos_CollisionData6 + dw SubTileXPos_CollisionData7 SubTileXPos_CollisionData0: ; 0x253e - db $00, $10, $0B - db $00, $08, $0C - db $00, $04, $0D - db $01, $40, $0A - db $01, $01, $0E - db $03, $80, $09 - db $13, $80, $0F - db $04, $80, $08 - db $14, $80, $00 - db $05, $80, $07 - db $15, $80, $01 - db $07, $40, $06 - db $07, $01, $02 - db $08, $10, $05 - db $08, $08, $04 - db $08, $04, $03 + db $00, $10, $0B + db $00, $08, $0C + db $00, $04, $0D + db $01, $40, $0A + db $01, $01, $0E + db $03, $80, $09 + db $13, $80, $0F + db $04, $80, $08 + db $14, $80, $00 + db $05, $80, $07 + db $15, $80, $01 + db $07, $40, $06 + db $07, $01, $02 + db $08, $10, $05 + db $08, $08, $04 + db $08, $04, $03 SubTileXPos_CollisionData1: ; 0x256e - db $00, $08, $0B - db $00, $04, $0C - db $00, $02, $0D - db $01, $20, $0A - db $11, $80, $0E - db $03, $40, $09 - db $13, $40, $0F - db $04, $40, $08 - db $14, $40, $00 - db $05, $40, $07 - db $15, $40, $01 - db $07, $20, $06 - db $17, $80, $02 - db $08, $08, $05 - db $08, $04, $04 - db $08, $02, $03 + db $00, $08, $0B + db $00, $04, $0C + db $00, $02, $0D + db $01, $20, $0A + db $11, $80, $0E + db $03, $40, $09 + db $13, $40, $0F + db $04, $40, $08 + db $14, $40, $00 + db $05, $40, $07 + db $15, $40, $01 + db $07, $20, $06 + db $17, $80, $02 + db $08, $08, $05 + db $08, $04, $04 + db $08, $02, $03 SubTileXPos_CollisionData2: ; 0x259e - db $00, $04, $0B - db $00, $02, $0C - db $00, $01, $0D - db $01, $10, $0A - db $11, $40, $0E - db $03, $20, $09 - db $13, $20, $0F - db $04, $20, $08 - db $14, $20, $00 - db $05, $20, $07 - db $15, $20, $01 - db $07, $10, $06 - db $17, $40, $02 - db $08, $04, $05 - db $08, $02, $04 - db $08, $01, $03 + db $00, $04, $0B + db $00, $02, $0C + db $00, $01, $0D + db $01, $10, $0A + db $11, $40, $0E + db $03, $20, $09 + db $13, $20, $0F + db $04, $20, $08 + db $14, $20, $00 + db $05, $20, $07 + db $15, $20, $01 + db $07, $10, $06 + db $17, $40, $02 + db $08, $04, $05 + db $08, $02, $04 + db $08, $01, $03 SubTileXPos_CollisionData3: ; 0x25ce - db $00, $02, $0B - db $00, $01, $0C - db $10, $80, $0D - db $01, $08, $0A - db $11, $20, $0E - db $03, $10, $09 - db $13, $10, $0F - db $04, $10, $08 - db $14, $10, $00 - db $05, $10, $07 - db $15, $10, $01 - db $07, $08, $06 - db $17, $20, $02 - db $08, $02, $05 - db $08, $01, $04 - db $18, $80, $03 + db $00, $02, $0B + db $00, $01, $0C + db $10, $80, $0D + db $01, $08, $0A + db $11, $20, $0E + db $03, $10, $09 + db $13, $10, $0F + db $04, $10, $08 + db $14, $10, $00 + db $05, $10, $07 + db $15, $10, $01 + db $07, $08, $06 + db $17, $20, $02 + db $08, $02, $05 + db $08, $01, $04 + db $18, $80, $03 SubTileXPos_CollisionData4: ; 0x25fe - db $00, $01, $0B - db $10, $80, $0C - db $10, $40, $0D - db $01, $04, $0A - db $11, $10, $0E - db $03, $08, $09 - db $13, $08, $0F - db $04, $08, $08 - db $14, $08, $00 - db $05, $08, $07 - db $15, $08, $01 - db $07, $04, $06 - db $17, $10, $02 - db $08, $01, $05 - db $18, $80, $04 - db $18, $40, $03 + db $00, $01, $0B + db $10, $80, $0C + db $10, $40, $0D + db $01, $04, $0A + db $11, $10, $0E + db $03, $08, $09 + db $13, $08, $0F + db $04, $08, $08 + db $14, $08, $00 + db $05, $08, $07 + db $15, $08, $01 + db $07, $04, $06 + db $17, $10, $02 + db $08, $01, $05 + db $18, $80, $04 + db $18, $40, $03 SubTileXPos_CollisionData5: ; 0x262e - db $10, $80, $0B - db $10, $40, $0C - db $10, $20, $0D - db $01, $02, $0A - db $11, $08, $0E - db $03, $04, $09 - db $13, $04, $0F - db $04, $04, $08 - db $14, $04, $00 - db $05, $04, $07 - db $15, $04, $01 - db $07, $02, $06 - db $17, $08, $02 - db $18, $80, $05 - db $18, $40, $04 - db $18, $20, $03 + db $10, $80, $0B + db $10, $40, $0C + db $10, $20, $0D + db $01, $02, $0A + db $11, $08, $0E + db $03, $04, $09 + db $13, $04, $0F + db $04, $04, $08 + db $14, $04, $00 + db $05, $04, $07 + db $15, $04, $01 + db $07, $02, $06 + db $17, $08, $02 + db $18, $80, $05 + db $18, $40, $04 + db $18, $20, $03 SubTileXPos_CollisionData6: ; 0x265e - db $10, $40, $0B - db $10, $20, $0C - db $10, $10, $0D - db $01, $01, $0A - db $11, $04, $0E - db $03, $02, $09 - db $13, $02, $0F - db $04, $02, $08 - db $14, $02, $00 - db $05, $02, $07 - db $15, $02, $01 - db $07, $01, $06 - db $17, $04, $02 - db $18, $40, $05 - db $18, $20, $04 - db $18, $10, $03 + db $10, $40, $0B + db $10, $20, $0C + db $10, $10, $0D + db $01, $01, $0A + db $11, $04, $0E + db $03, $02, $09 + db $13, $02, $0F + db $04, $02, $08 + db $14, $02, $00 + db $05, $02, $07 + db $15, $02, $01 + db $07, $01, $06 + db $17, $04, $02 + db $18, $40, $05 + db $18, $20, $04 + db $18, $10, $03 SubTileXPos_CollisionData7: ; 0x268e - db $10, $20, $0B - db $10, $10, $0C - db $10, $08, $0D - db $11, $80, $0A - db $11, $02, $0E - db $03, $01, $09 - db $13, $01, $0F - db $04, $01, $08 - db $14, $01, $00 - db $05, $01, $07 - db $15, $01, $01 - db $17, $80, $06 - db $17, $02, $02 - db $18, $20, $05 - db $18, $10, $04 - db $18, $08, $03 - -INCBIN "baserom.gbc",$26be,$2720 - $26be + db $10, $20, $0B + db $10, $10, $0C + db $10, $08, $0D + db $11, $80, $0A + db $11, $02, $0E + db $03, $01, $09 + db $13, $01, $0F + db $04, $01, $08 + db $14, $01, $00 + db $05, $01, $07 + db $15, $01, $01 + db $17, $80, $06 + db $17, $02, $02 + db $18, $20, $05 + db $18, $10, $04 + db $18, $08, $03 + +Data_26be: + dr $26be, $2720 Func_2720: ; 0x2720 - ld a, $ff - ld [$d4ea], a - call Func_272f - ld a, [$d4ea] - ld [$d4ec], a - ret + ld a, $ff + ld [$d4ea], a + call Func_272f + ld a, [$d4ea] + ld [$d4ec], a + ret Func_272f: ; 0x272f ; not collisions - ld a, [wCurrentStage] - call CallInFollowingTable + ld a, [wCurrentStage] + call CallInFollowingTable CallTable_2735: ; 0x2735 - ; STAGE_RED_FIELD_TOP - dw Func_143e1 - db Bank(Func_143e1), $00 + ; STAGE_RED_FIELD_TOP + dw Func_143e1 + db Bank(Func_143e1), $00 - ; STAGE_RED_FIELD_BOTTOM - dw Func_143f9 - db Bank(Func_143f9), $00 + ; STAGE_RED_FIELD_BOTTOM + dw Func_143f9 + db Bank(Func_143f9), $00 - dw Func_18061 - db Bank(Func_18061), $00 + dw Func_18061 + db Bank(Func_18061), $00 - dw Func_18062 - db Bank(Func_18062), $00 + dw Func_18062 + db Bank(Func_18062), $00 - ; STAGE_BLUE_FIELD_TOP - dw Func_1c520 - db Bank(Func_1c520), $00 + ; STAGE_BLUE_FIELD_TOP + dw Func_1c520 + db Bank(Func_1c520), $00 - ; STAGE_BLUE_FIELD_BOTTOM - dw Func_1c536 - db Bank(Func_1c536), $00 + ; STAGE_BLUE_FIELD_BOTTOM + dw Func_1c536 + db Bank(Func_1c536), $00 - ; STAGE_GENGAR_BONUS - dw Func_181b1 - db Bank(Func_181b1), $00 + ; STAGE_GENGAR_BONUS + dw Func_181b1 + db Bank(Func_181b1), $00 - ; STAGE_GENGAR_BONUS - dw Func_181b1 - db Bank(Func_181b1), $00 + ; STAGE_GENGAR_BONUS + dw Func_181b1 + db Bank(Func_181b1), $00 - ; STAGE_MEWTWO_BONUS - dw Func_19330 - db Bank(Func_19330), $00 + ; STAGE_MEWTWO_BONUS + dw Func_19330 + db Bank(Func_19330), $00 - ; STAGE_MEWTWO_BONUS - dw Func_19330 - db Bank(Func_19330), $00 + ; STAGE_MEWTWO_BONUS + dw Func_19330 + db Bank(Func_19330), $00 - ; STAGE_MEOWTH_BONUS - dw Func_2414d - db Bank(Func_2414d), $00 + ; STAGE_MEOWTH_BONUS + dw Func_2414d + db Bank(Func_2414d), $00 - ; STAGE_MEOWTH_BONUS - dw Func_2414d - db Bank(Func_2414d), $00 + ; STAGE_MEOWTH_BONUS + dw Func_2414d + db Bank(Func_2414d), $00 - ; STAGE_DIGLETT_BONUS - dw Func_19ab3 - db Bank(Func_19ab3), $00 + ; STAGE_DIGLETT_BONUS + dw Func_19ab3 + db Bank(Func_19ab3), $00 - ; STAGE_DIGLETT_BONUS - dw Func_19ab3 - db Bank(Func_19ab3), $00 + ; STAGE_DIGLETT_BONUS + dw Func_19ab3 + db Bank(Func_19ab3), $00 - ; STAGE_SEEL_BONUS - dw Func_25bbc - db Bank(Func_25bbc), $00 + ; STAGE_SEEL_BONUS + dw Func_25bbc + db Bank(Func_25bbc), $00 - ; STAGE_SEEL_BONUS - dw Func_25bbc - db Bank(Func_25bbc), $00 + ; STAGE_SEEL_BONUS + dw Func_25bbc + db Bank(Func_25bbc), $00 Func_2775: ; 0x2775 - ld a, [$d4ea] - inc a - jr nz, .asm_27a2 - ld a, [bc] - bit 7, a - jr nz, .asm_27a2 - push bc - push de - call nc, Func_27da - pop hl - call c, Func_27a4 - ld a, [$d4ea] - ld b, a - pop hl - ld [hl], $0 - jr nc, .asm_27a2 - ld a, [$d4ec] - cp b - jr z, .asm_27a2 - ld a, [$d4eb] - ld [hli], a - ld a, [$d4ea] - ld [hl], a - scf - ret + ld a, [$d4ea] + inc a + jr nz, .asm_27a2 + ld a, [bc] + bit 7, a + jr nz, .asm_27a2 + push bc + push de + call nc, Func_27da + pop hl + call c, Func_27a4 + ld a, [$d4ea] + ld b, a + pop hl + ld [hl], $0 + jr nc, .asm_27a2 + ld a, [$d4ec] + cp b + jr z, .asm_27a2 + ld a, [$d4eb] + ld [hli], a + ld a, [$d4ea] + ld [hl], a + scf + ret .asm_27a2 - and a - ret + and a + ret Func_27a4: ; 0x27a4 - xor a - ld [$d4eb], a - ld a, [hli] - ld d, a - ld a, [hli] - ld e, a - ld a, [wBallXPos + 1] - ld b, a - ld a, [wBallYPos + 1] - ld c, a + xor a + ld [$d4eb], a + ld a, [hli] + ld d, a + ld a, [hli] + ld e, a + ld a, [wBallXPos + 1] + ld b, a + ld a, [wBallYPos + 1] + ld c, a .asm_27b4 - ld a, [$d4eb] - inc a - ld [$d4eb], a - ld a, [hli] - ld [$d4ea], a - cp $ff - ret z - ld a, [hli] - sub b - bit 7, a - jr z, .asm_27ca - cpl - inc a + ld a, [$d4eb] + inc a + ld [$d4eb], a + ld a, [hli] + ld [$d4ea], a + cp $ff + ret z + ld a, [hli] + sub b + bit 7, a + jr z, .asm_27ca + cpl + inc a .asm_27ca - cp d - ld a, [hli] - jr nc, .asm_27b4 - sub c - bit 7, a - jr z, .asm_27d5 - cpl - inc a + cp d + ld a, [hli] + jr nc, .asm_27b4 + sub c + bit 7, a + jr z, .asm_27d5 + cpl + inc a .asm_27d5 - cp e - jr nc, .asm_27b4 - scf - ret + cp e + jr nc, .asm_27b4 + scf + ret Func_27da: ; 0x27da - ld a, [hli] - and a - jr z, .asm_27e8 - dec hl - ld a, [wStageCollisionState] - ld c, a - ld b, $0 - add hl, bc - ld c, [hl] - add hl, bc + ld a, [hli] + and a + jr z, .asm_27e8 + dec hl + ld a, [wStageCollisionState] + ld c, a + ld b, $0 + add hl, bc + ld c, [hl] + add hl, bc .asm_27e8 - ld a, [$d7e9] - and a - ret z - ld a, [$d7f5] - ld b, a - ld c, $ff + ld a, [$d7e9] + and a + ret z + ld a, [$d7f5] + ld b, a + ld c, $ff .asm_27f3 - inc c - ld a, [hli] - cp $ff - ret z - cp b - jr nz, .asm_27f3 - scf - ret + inc c + ld a, [hli] + cp $ff + ret z + cp b + jr nz, .asm_27f3 + scf + ret PinballCollideWithPoints: ; 0x27fd ; Checks if pinball collides with any of the (x, y) points in the given list. ; Saves the index of the collided point. ; Input: hl = pointer to array of (x, y) points ; Output: Saves index of collided point in $d578 - ld a, [wBallXPos + 1] - ld b, a - ld a, [wBallYPos + 1] - ld c, a - ld d, $0 + ld a, [wBallXPos + 1] + ld b, a + ld a, [wBallYPos + 1] + ld c, a + ld d, $0 .nextPoint - ld a, [hli] - and a - ret z - inc d - ld a, [hli] - sub b - cp $e8 - ld a, [hli] - jr c, .nextPoint - sub c - cp $e8 - jr c, .nextPoint - ld a, d - ld [$d578], a - ret + ld a, [hli] + and a + ret z + inc d + ld a, [hli] + sub b + cp $e8 + ld a, [hli] + jr c, .nextPoint + sub c + cp $e8 + jr c, .nextPoint + ld a, d + ld [$d578], a + ret Func_281c: ; 0x281c - ld a, [wCurrentStage] - call CallInFollowingTable + ld a, [wCurrentStage] + call CallInFollowingTable CallTable_2822: ; 0x2822 ; not collisions - ; STAGE_RED_FIELD_TOP - dw Func_1460e - db Bank(Func_1460e), $00 + ; STAGE_RED_FIELD_TOP + dw Func_1460e + db Bank(Func_1460e), $00 - ; STAGE_RED_FIELD_BOTTOM - dw Func_14652 - db Bank(Func_14652), $00 + ; STAGE_RED_FIELD_BOTTOM + dw Func_14652 + db Bank(Func_14652), $00 - dw Func_1806d - db Bank(Func_1806d), $00 + dw Func_1806d + db Bank(Func_1806d), $00 - dw Func_1806e - db Bank(Func_1806e), $00 + dw Func_1806e + db Bank(Func_1806e), $00 - ; STAGE_BLUE_FIELD_TOP - dw Func_1c715 - db Bank(Func_1c715), $00 + ; STAGE_BLUE_FIELD_TOP + dw Func_1c715 + db Bank(Func_1c715), $00 - ; STAGE_BLUE_FIELD_BOTTOM - dw Func_1c769 - db Bank(Func_1c769), $00 + ; STAGE_BLUE_FIELD_BOTTOM + dw Func_1c769 + db Bank(Func_1c769), $00 - ; STAGE_GENGAR_BONUS - dw Func_18377 - db Bank(Func_18377), $00 + ; STAGE_GENGAR_BONUS + dw Func_18377 + db Bank(Func_18377), $00 - ; STAGE_GENGAR_BONUS - dw Func_18377 - db Bank(Func_18377), $00 + ; STAGE_GENGAR_BONUS + dw Func_18377 + db Bank(Func_18377), $00 - ; STAGE_MEWTWO_BONUS - dw Func_19451 - db Bank(Func_19451), $00 + ; STAGE_MEWTWO_BONUS + dw Func_19451 + db Bank(Func_19451), $00 - ; STAGE_MEWTWO_BONUS - dw Func_19451 - db Bank(Func_19451), $00 + ; STAGE_MEWTWO_BONUS + dw Func_19451 + db Bank(Func_19451), $00 - ; STAGE_MEOWTH_BONUS - dw Func_2442a - db Bank(Func_2442a), $00 + ; STAGE_MEOWTH_BONUS + dw Func_2442a + db Bank(Func_2442a), $00 - ; STAGE_MEOWTH_BONUS - dw Func_2442a - db Bank(Func_2442a), $00 + ; STAGE_MEOWTH_BONUS + dw Func_2442a + db Bank(Func_2442a), $00 - ; STAGE_DIGLETT_BONUS - dw Func_19b88 - db Bank(Func_19b88), $00 + ; STAGE_DIGLETT_BONUS + dw Func_19b88 + db Bank(Func_19b88), $00 - ; STAGE_DIGLETT_BONUS - dw Func_19b88 - db Bank(Func_19b88), $00 + ; STAGE_DIGLETT_BONUS + dw Func_19b88 + db Bank(Func_19b88), $00 - ; STAGE_SEEL_BONUS - dw Func_25c5a - db Bank(Func_25c5a), $00 + ; STAGE_SEEL_BONUS + dw Func_25c5a + db Bank(Func_25c5a), $00 - ; STAGE_SEEL_BONUS - dw Func_25c5a - db Bank(Func_25c5a), $00 + ; STAGE_SEEL_BONUS + dw Func_25c5a + db Bank(Func_25c5a), $00 Func_2862: ; 0x2862 - ld a, [$d7be] - and a - jr nz, .asm_287c - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_287b - ld a, $0 - ld hl, $2890 - ld de, $0052 - ld bc, $0004 - call Func_790 + ld a, [$d7be] + and a + jr nz, .asm_287c + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_287b + ld a, $0 + ld hl, Data_2890 + ld de, $0052 + ld bc, $0004 + call FarCopyPalettes .asm_287b - ret + ret .asm_287c - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_288f - ld a, $0 - ld hl, $2894 - ld de, $0052 - ld bc, $0004 - call Func_790 + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_288f + ld a, $0 + ld hl, Data_2894 + ld de, $0052 + ld bc, $0004 + call FarCopyPalettes .asm_288f - ret + ret + +Data_2890: + RGB 31, 31, 31 + RGB 21, 21, 27 -INCBIN "baserom.gbc",$2890,$28a0 - $2890 +Data_2894: + RGB 27, 10, 10 + RGB 20, 04, 04 + + dr $2898, $28a0 CopyHLToDE: ; 0x28a0 ; Places [hl] into [de] ; Also places $0 into [de + 2] - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - xor a - ld [de], a - ret + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + xor a + ld [de], a + ret UpdateAnimation: ; 0x28a9 ; Updates an animation struct. (See wDugtrioAnimationFrameCounter) ; Input: de = pointer to 3-byte animation struct ; hl = pointer to animation frames data ; Sets carry flag if the animation is over. - ld a, [de] - and a - ret z ; return, if counter is zero - dec a - ld [de], a - ret nz ; return if counter is not zero after the decrement - push de - inc de - inc de - ld a, [de] ; a = current frame index - inc a - ld [de], a - ld c, a - ld b, $0 - sla c - rl b - add hl, bc ; hl = pointer to two-byte entry in the frames data table - ld a, [hli] - pop de - and a - scf - ret z ; return if the next entry is $00 - push de - ld [de], a ; save the animation duration - inc de - ld a, [hli] - ld [de], a ; save the next animation frame id - pop de - ret - -INCBIN "baserom.gbc",$28c9,$30db - $28c9 + ld a, [de] + and a + ret z ; return, if counter is zero + dec a + ld [de], a + ret nz ; return if counter is not zero after the decrement + push de + inc de + inc de + ld a, [de] ; a = current frame index + inc a + ld [de], a + ld c, a + ld b, $0 + sla c + rl b + add hl, bc ; hl = pointer to two-byte entry in the frames data table + ld a, [hli] + pop de + and a + scf + ret z ; return if the next entry is $00 + push de + ld [de], a ; save the animation duration + inc de + ld a, [hli] + ld [de], a ; save the next animation frame id + pop de + ret + + dr $28c9, $30db Func_30db: ; 0x30db - ld a, $86 - ld [$ffa6], a - ld a, $1 - ld [$d5ca], a - ld [$d5cb], a - ret + ld a, $86 + ld [$ffa6], a + ld a, $1 + ld [$d5ca], a + ld [$d5cb], a + ret Func_30e8: ; 0x30e8 - ld a, $81 - ld hl, $c600 - ld b, $40 + ld a, $81 + ld hl, $c600 + ld b, $40 .asm_30ef - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - dec b - jr nz, .asm_30ef - xor a - ld [$d5cc], a - ld [$d5d4], a - ld [$d5dc], a - ld [$d5e4], a - ld [$d5e9], a - ld [$d5ee], a - ret + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + dec b + jr nz, .asm_30ef + xor a + ld [$d5cc], a + ld [$d5d4], a + ld [$d5dc], a + ld [$d5e4], a + ld [$d5e9], a + ld [$d5ee], a + ret Func_310a: ; 0x310a - ld a, $81 - ld hl, $c640 - ld b, $5 + ld a, $81 + ld hl, $c640 + ld b, $5 .asm_3111 - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - dec b - jr nz, .asm_3111 - ld hl, $c6c0 - ld b, $5 + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + dec b + jr nz, .asm_3111 + ld hl, $c6c0 + ld b, $5 .asm_311d - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - dec b - jr nz, .asm_311d - ret + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + dec b + jr nz, .asm_311d + ret Func_3125: ; 0x3125 - ld b, $1 - jr asm_312b + ld b, $1 + jr asm_312b Func_3129: ; 0x3129 - ld b, $0 + ld b, $0 asm_312b: ; 0x312b - ld a, [$d805] - and a - jp nz, Func_3268 + ld a, [$d805] + and a + jp nz, Func_3268 .asm_3132 - ld a, [hli] - and a - ret z - ld c, $81 - cp $20 - jr z, .asm_3175 - cp $2c - jr z, .asm_3178 - cp $24 - jr z, .asm_317c - cp $5c - jr z, .asm_3184 - cp $60 - jr z, .asm_318d - cp $21 - jr z, .asm_31a8 - cp $78 - jr z, .asm_31b1 - cp $65 - jr z, .asm_3196 - cp $2a - jr z, .asm_319f - cp $2e - jr z, .asm_31ba - cp $3a - jr z, .asm_31c3 - cp $30 - jr c, .asm_316b - cp $3a - jr c, .asm_31cc + ld a, [hli] + and a + ret z + ld c, $81 + cp $20 + jr z, .asm_3175 + cp $2c + jr z, .asm_3178 + cp $24 + jr z, .asm_317c + cp $5c + jr z, .asm_3184 + cp $60 + jr z, .asm_318d + cp $21 + jr z, .asm_31a8 + cp $78 + jr z, .asm_31b1 + cp $65 + jr z, .asm_3196 + cp $2a + jr z, .asm_319f + cp $2e + jr z, .asm_31ba + cp $3a + jr z, .asm_31c3 + cp $30 + jr c, .asm_316b + cp $3a + jr c, .asm_31cc .asm_316b - cp $41 - jr c, .asm_3173 - cp $5b - jr c, .asm_31d0 + cp $41 + jr c, .asm_3173 + cp $5b + jr c, .asm_31d0 .asm_3173 - jr .asm_3132 + jr .asm_3132 .asm_3175 - ld a, c - jr .asm_31d2 + ld a, c + jr .asm_31d2 .asm_3178 - inc c - dec e - jr .asm_31d3 + inc c + dec e + jr .asm_31d3 .asm_317c - xor a - call Func_31e1 - ld a, $83 - jr .asm_31d2 + xor a + call Func_31e1 + ld a, $83 + jr .asm_31d2 .asm_3184 - ld a, $1 - call Func_31e1 - ld a, $84 - jr .asm_31d2 + ld a, $1 + call Func_31e1 + ld a, $84 + jr .asm_31d2 .asm_318d - ld a, $2 - call Func_31e1 - ld a, $85 - jr .asm_31d2 + ld a, $2 + call Func_31e1 + ld a, $85 + jr .asm_31d2 .asm_3196 - ld a, $3 - call Func_31e1 - ld a, $83 - jr .asm_31d2 + ld a, $3 + call Func_31e1 + ld a, $83 + jr .asm_31d2 .asm_319f - ld a, $4 - call Func_31e1 - ld a, $87 - jr .asm_31d2 + ld a, $4 + call Func_31e1 + ld a, $87 + jr .asm_31d2 .asm_31a8 - ld a, $5 - call Func_31e1 - ld a, $85 - jr .asm_31d2 + ld a, $5 + call Func_31e1 + ld a, $85 + jr .asm_31d2 .asm_31b1 - ld a, $6 - call Func_31e1 - ld a, $85 - jr .asm_31d2 + ld a, $6 + call Func_31e1 + ld a, $85 + jr .asm_31d2 .asm_31ba - ld a, $7 - call Func_31e1 - ld a, $86 - jr .asm_31d2 + ld a, $7 + call Func_31e1 + ld a, $86 + jr .asm_31d2 .asm_31c3 - ld a, $8 - call Func_31e1 - ld a, $83 - jr .asm_31d2 + ld a, $8 + call Func_31e1 + ld a, $83 + jr .asm_31d2 .asm_31cc - add $56 - jr .asm_31d2 + add $56 + jr .asm_31d2 .asm_31d0 - add $bf + add $bf .asm_31d2 - ld [de], a + ld [de], a .asm_31d3 - bit 0, b - jr nz, .asm_31dd - set 7, e - ld a, c - ld [de], a - res 7, e + bit 0, b + jr nz, .asm_31dd + set 7, e + ld a, c + ld [de], a + res 7, e .asm_31dd - inc e - jp .asm_3132 + inc e + jp .asm_3132 Func_31e1: ; 0x31e1 - push bc - push de - push hl - ld c, a - ld a, [hGameBoyColorFlag] - and a - ld a, c - jr z, .asm_31ed - add $9 + push bc + push de + push hl + ld c, a + ld a, [hGameBoyColorFlag] + and a + ld a, c + jr z, .asm_31ed + add $9 .asm_31ed - ld c, a - sla a - sla a - add c - ld c, a - ld b, $0 - ld hl, $320e ; todo - add hl, bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld b, a - ld a, [hli] - ld h, [hl] - ld l, a - ld a, b - ld bc, $0010 - call LoadVRAMData - pop hl - pop de - pop bc - ret - -INCBIN "baserom.gbc",$320e,$3268 - $320e + ld c, a + sla a + sla a + add c + ld c, a + ld b, $0 + ld hl, Data_320e ; todo + add hl, bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld b, a + ld a, [hli] + ld h, [hl] + ld l, a + ld a, b + ld bc, $0010 + call LoadVRAMData + pop hl + pop de + pop bc + ret + +Data_320e: + dr $320e, $3268 Func_3268: ; 0x3268 - ld a, [hli] - and a - ret z - ld c, $81 - cp $20 - jr z, .asm_3297 - cp $2c - jr z, .asm_329a - cp $30 - jr c, .asm_327d - cp $3a - jr c, .asm_329e + ld a, [hli] + and a + ret z + ld c, $81 + cp $20 + jr z, .asm_3297 + cp $2c + jr z, .asm_329a + cp $30 + jr c, .asm_327d + cp $3a + jr c, .asm_329e .asm_327d - cp $a0 - jr c, .asm_3285 - cp $e0 - jr c, .asm_328f + cp $a0 + jr c, .asm_3285 + cp $e0 + jr c, .asm_328f .asm_3285 - cp $e0 - jr c, .asm_328d - cp $f4 - jr c, .asm_3293 + cp $e0 + jr c, .asm_328d + cp $f4 + jr c, .asm_3293 .asm_328d - jr Func_3268 + jr Func_3268 .asm_328f - sub $80 - jr .asm_32a0 + sub $80 + jr .asm_32a0 .asm_3293 - sub $50 - jr .asm_32a0 + sub $50 + jr .asm_32a0 .asm_3297 - ld a, c - jr .asm_32a0 + ld a, c + jr .asm_32a0 .asm_329a - inc c - dec e - jr .asm_32a1 + inc c + dec e + jr .asm_32a1 .asm_329e - add $56 + add $56 .asm_32a0 - ld [de], a + ld [de], a .asm_32a1 - set 7, e - ld a, c - ld [de], a - res 7, e - inc e - jr Func_3268 + set 7, e + ld a, c + ld [de], a + res 7, e + inc e + jr Func_3268 Func_32aa: ; 0x32aa - ld a, $1 - ld [hli], a - ld a, [de] - ld [hli], a - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - push af - inc de - ld a, [de] - ld [hli], a - inc de - pop af - ld l, a - ld h, $c5 + ld a, $1 + ld [hli], a + ld a, [de] + ld [hli], a + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + push af + inc de + ld a, [de] + ld [hli], a + inc de + pop af + ld l, a + ld h, $c5 .asm_32c5 - ld a, [de] - ld [hli], a - inc de - and a - jr nz, .asm_32c5 - ret + ld a, [de] + ld [hli], a + inc de + and a + jr nz, .asm_32c5 + ret Func_32cc: ; 0x32cc - ld a, $1 - ld [hli], a - ld a, [de] - ld [hli], a - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - push af - inc de - ld a, [de] - ld [hli], a - inc de - pop af - ld e, a - ld d, $c5 - ld hl, [sp+$5] - ld bc, $0801 + ld a, $1 + ld [hli], a + ld a, [de] + ld [hli], a + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + push af + inc de + ld a, [de] + ld [hli], a + inc de + pop af + ld e, a + ld d, $c5 + ld hl, [sp+$5] + ld bc, $0801 .asm_32ec - ld a, [hl] - swap a - and $f - call Func_3309 - dec b - ld a, [hld] - and $f - call Func_3309 - dec b - jr nz, .asm_32ec - ld a, $30 - ld [de], a - inc de - ld a, $20 - ld [de], a - inc de - xor a - ld [de], a - ret + ld a, [hl] + swap a + and $f + call Func_3309 + dec b + ld a, [hld] + and $f + call Func_3309 + dec b + jr nz, .asm_32ec + ld a, $30 + ld [de], a + inc de + ld a, $20 + ld [de], a + inc de + xor a + ld [de], a + ret Func_3309: ; 0x3309 - jr nz, .asm_3312 - ld a, b - dec a - jr z, .asm_3312 - ld a, c - and a - ret nz + jr nz, .asm_3312 + ld a, b + dec a + jr z, .asm_3312 + ld a, c + and a + ret nz .asm_3312 - add $30 - ld [de], a - inc de - ld c, $0 - ld a, b - cp $6 - jr z, .asm_3320 - cp $3 - ret nz + add $30 + ld [de], a + inc de + ld c, $0 + ld a, b + cp $6 + jr z, .asm_3320 + cp $3 + ret nz .asm_3320 - ld a, $2c - ld [de], a - inc de - ret + ld a, $2c + ld [de], a + inc de + ret Func_3325: ; 0x3325 - ld a, [hli] - and a - ret z - ld a, [hl] - dec a - ld [hli], a - ret nz - ld a, [hld] - ld [hl], a - inc hl - inc hl - push hl - ld a, [hli] - ld e, a - cp [hl] - inc hl - jr nz, .asm_333c - ld a, [hl] - dec a - ld [hl], a - jr nz, .asm_333d + ld a, [hli] + and a + ret z + ld a, [hl] + dec a + ld [hli], a + ret nz + ld a, [hld] + ld [hl], a + inc hl + inc hl + push hl + ld a, [hli] + ld e, a + cp [hl] + inc hl + jr nz, .asm_333c + ld a, [hl] + dec a + ld [hl], a + jr nz, .asm_333d .asm_333c - dec e + dec e .asm_333d - push de - ld d, $c6 - inc hl - push hl - ld l, [hl] - ld h, $c5 - call Func_3129 - pop hl - inc hl - ld a, [hl] - dec a - ld [hl], a - pop de - pop hl - ld [hl], e - ret nz - dec hl - dec hl - dec hl - ld [hl], $0 - ret + push de + ld d, $c6 + inc hl + push hl + ld l, [hl] + ld h, $c5 + call Func_3129 + pop hl + inc hl + ld a, [hl] + dec a + ld [hl], a + pop de + pop hl + ld [hl], e + ret nz + dec hl + dec hl + dec hl + ld [hl], $0 + ret Func_3357: ; 0x3357 - ld a, $1 - ld [hli], a - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - push af - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - pop af - ld l, a - ld h, $c5 + ld a, $1 + ld [hli], a + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + push af + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + pop af + ld l, a + ld h, $c5 .asm_336b - ld a, [de] - ld [hli], a - inc de - and a - jr nz, .asm_336b - ret + ld a, [de] + ld [hli], a + inc de + and a + jr nz, .asm_336b + ret Func_3372: ; 0x3372 - ld a, $1 - ld [hli], a - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - push af - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - pop af - ld e, a - ld d, $c5 - ld hl, [sp+$5] - ld bc, $0801 + ld a, $1 + ld [hli], a + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + push af + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + pop af + ld e, a + ld d, $c5 + ld hl, [sp+$5] + ld bc, $0801 .asm_338a - ld a, [hl] - swap a - and $f - call Func_33a7 - dec b - ld a, [hld] - and $f - call Func_33a7 - dec b - jr nz, .asm_338a - ld a, $30 - ld [de], a - inc de - ld a, $20 - ld [de], a - inc de - xor a - ld [de], a - ret + ld a, [hl] + swap a + and $f + call Func_33a7 + dec b + ld a, [hld] + and $f + call Func_33a7 + dec b + jr nz, .asm_338a + ld a, $30 + ld [de], a + inc de + ld a, $20 + ld [de], a + inc de + xor a + ld [de], a + ret Func_33a7: ; 0x33a7 - jr nz, .asm_33b0 - ld a, b - dec a - jr z, .asm_33b0 - ld a, c - and a - ret nz + jr nz, .asm_33b0 + ld a, b + dec a + jr z, .asm_33b0 + ld a, c + and a + ret nz .asm_33b0 - add $30 - ld [de], a - inc de - ld c, $0 - ld a, b - cp $6 - jr z, .asm_33be - cp $3 - ret nz + add $30 + ld [de], a + inc de + ld c, $0 + ld a, b + cp $6 + jr z, .asm_33be + cp $3 + ret nz .asm_33be - ld a, $2c - ld [de], a - inc de - ret + ld a, $2c + ld [de], a + inc de + ret Func_33c3: ; 0x33c3 - ld a, [hli] - and a - ret z - ld a, [hli] - ld e, a - ld d, $c6 - push hl - ld l, [hl] - ld h, $c5 - call Func_3129 - pop hl - inc hl - ld a, [hl] - dec a - ld [hli], a - ret nz - ld a, [hl] - dec a - ld [hld], a - bit 7, a - ret z - dec hl - dec hl - dec hl - ld [hl], $0 - ret + ld a, [hli] + and a + ret z + ld a, [hli] + ld e, a + ld d, $c6 + push hl + ld l, [hl] + ld h, $c5 + call Func_3129 + pop hl + inc hl + ld a, [hl] + dec a + ld [hli], a + ret nz + ld a, [hl] + dec a + ld [hld], a + bit 7, a + ret z + dec hl + dec hl + dec hl + ld [hl], $0 + ret Func_33e3: ; 0x33e3 - ld a, [$d5ca] - and a - jr nz, .asm_33ed - ld [$d5cb], a - ret + ld a, [$d5ca] + and a + jr nz, .asm_33ed + ld [$d5cb], a + ret .asm_33ed - ld c, $0 - ld a, [$d5cc] - and a - jr z, .asm_33fe - push bc - ld hl, $d5cc - call Func_3325 - pop bc - inc c + ld c, $0 + ld a, [$d5cc] + and a + jr z, .asm_33fe + push bc + ld hl, $d5cc + call Func_3325 + pop bc + inc c .asm_33fe - ld a, [$d5d4] - and a - jr z, .asm_340d - push bc - ld hl, $d5d4 - call Func_3325 - pop bc - inc c + ld a, [$d5d4] + and a + jr z, .asm_340d + push bc + ld hl, $d5d4 + call Func_3325 + pop bc + inc c .asm_340d - ld a, [$d5dc] - and a - jr z, .asm_341c - push bc - ld hl, $d5dc - call Func_3325 - pop bc - inc c + ld a, [$d5dc] + and a + jr z, .asm_341c + push bc + ld hl, $d5dc + call Func_3325 + pop bc + inc c .asm_341c - ld a, [$d5e4] - and a - jr z, .asm_342b - push bc - ld hl, $d5e4 - call Func_33c3 - pop bc - inc c + ld a, [$d5e4] + and a + jr z, .asm_342b + push bc + ld hl, $d5e4 + call Func_33c3 + pop bc + inc c .asm_342b - ld a, [$d5e9] - and a - jr z, .asm_343a - push bc - ld hl, $d5e9 - call Func_33c3 - pop bc - inc c + ld a, [$d5e9] + and a + jr z, .asm_343a + push bc + ld hl, $d5e9 + call Func_33c3 + pop bc + inc c .asm_343a - ld a, [$d5ee] - and a - jr z, .asm_3449 - push bc - ld hl, $d5ee - call Func_33c3 - pop bc - inc c + ld a, [$d5ee] + and a + jr z, .asm_3449 + push bc + ld hl, $d5ee + call Func_33c3 + pop bc + inc c .asm_3449 - ld a, c - and a - ret nz - ld [$d5ca], a - call Func_30e8 - ld a, [hGameBoyColorFlag] - and a - jr nz, .gameboyColor - ld a, Bank(StageRedFieldTopStatusBarSymbolsGfx_GameBoy) - ld hl, $30 + StageRedFieldTopStatusBarSymbolsGfx_GameBoy - ld de, $8830 - ld bc, $0040 - call Func_735 - ret + ld a, c + and a + ret nz + ld [$d5ca], a + call Func_30e8 + ld a, [hGameBoyColorFlag] + and a + jr nz, .gameboyColor + ld a, Bank(StageRedFieldTopStatusBarSymbolsGfx_GameBoy) + ld hl, $30 + StageRedFieldTopStatusBarSymbolsGfx_GameBoy + ld de, $8830 + ld bc, $0040 + call Func_735 + ret .gameboyColor - ld a, Bank(StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor) - ld hl, $30 + StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor - ld de, $8830 - ld bc, $0040 - call Func_735 - ret + ld a, Bank(StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor) + ld hl, $30 + StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor + ld de, $8830 + ld bc, $0040 + call Func_735 + ret Func_3475: ; 0x3475 - xor a - ld [hJoypadState], a - ld [hNewlyPressedButtons], a - ld [hPressedButtons], a - call HandleTilts - ld a, [wCurrentStage] - bit 0, a - ld [$ff8a], a - ld a, Bank(HandleFlippers) - ld hl, HandleFlippers - call nz, BankSwitch - ld [$ff8a], a - ld a, Bank(Func_84b7) - ld hl, Func_84b7 - call BankSwitch - call Func_33e3 - call Func_926 - rst $10 - ld a, [$d5ca] - and a - jr nz, Func_3475 - ret - -INCBIN "baserom.gbc",$34a6,$351c - $34a6 + xor a + ld [hJoypadState], a + ld [hNewlyPressedButtons], a + ld [hPressedButtons], a + call HandleTilts + ld a, [wCurrentStage] + bit 0, a + ld [$ff8a], a + ld a, Bank(HandleFlippers) + ld hl, HandleFlippers + call nz, BankSwitch + ld [$ff8a], a + ld a, Bank(Func_84b7) + ld hl, Func_84b7 + call BankSwitch + call Func_33e3 + call Func_926 + rst $10 + ld a, [$d5ca] + and a + jr nz, Func_3475 + ret + + dr $34a6, $351c Func_351c: ; 0x351c - ld hl, $d464 - ld a, e - ld [hli], a - ld a, d - ld [hli], a - ld a, c - ld [hli], a - ld a, b - ld [hli], a - xor a - ld [hli], a - ld [hl], a - ld bc, $d464 - ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch - ret + ld hl, $d464 + ld a, e + ld [hli], a + ld a, d + ld [hli], a + ld a, c + ld [hli], a + ld a, b + ld [hli], a + xor a + ld [hli], a + ld [hl], a + ld bc, $d464 + ld [$ff8a], a + ld a, Bank(Func_8588) + ld hl, Func_8588 + call BankSwitch + ret Func_3538: ; 0x3538 - ld hl, $d47a - ld a, [hl] - add e - daa - ld [hli], a - ld a, [hl] - adc d - daa - ld [hli], a - ld a, [hl] - adc c - daa - ld [hli], a - ld a, [hl] - adc b - daa - ld [hli], a - ret nc - ld hl, $d47a - ld a, $99 - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ret + ld hl, $d47a + ld a, [hl] + add e + daa + ld [hli], a + ld a, [hl] + adc d + daa + ld [hli], a + ld a, [hl] + adc c + daa + ld [hli], a + ld a, [hl] + adc b + daa + ld [hli], a + ret nc + ld hl, $d47a + ld a, $99 + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ret Func_3556: ; 0x3556 - ld a, [$d47a] - ld e, a - ld a, [$d47b] - ld d, a - ld a, [$d47c] - ld c, a - ld a, [$d47d] - ld b, a - ret - -INCBIN "baserom.gbc",$3567,$3579 - $3567 + ld a, [$d47a] + ld e, a + ld a, [$d47b] + ld d, a + ld a, [$d47c] + ld c, a + ld a, [$d47d] + ld b, a + ret + + dr $3567, $3579 Func_3579: ; 0x3579 - ld hl, $d47a - xor a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ret + ld hl, $d47a + xor a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ret HandleTilts: ; 0x3582 - call HandleLeftTilt - call HandleRightTilt - call HandleUpperTilt - ret + call HandleLeftTilt + call HandleRightTilt + call HandleUpperTilt + ret HandleLeftTilt: ; 0x358c - ld a, [wLeftTiltReset] - and a - jr nz, .tiltCoolDown - ld hl, wKeyConfigLeftTilt - call IsKeyPressed2 - jr z, .tiltCoolDown - ld a, [wLeftTiltCounter] - cp $3 - jr z, .startCoolDown - inc a - ld [wLeftTiltCounter], a - cp $1 - jr nz, .skipSoundEffect - ld de, $003f - call PlaySoundEffect + ld a, [wLeftTiltReset] + and a + jr nz, .tiltCoolDown + ld hl, wKeyConfigLeftTilt + call IsKeyPressed2 + jr z, .tiltCoolDown + ld a, [wLeftTiltCounter] + cp $3 + jr z, .startCoolDown + inc a + ld [wLeftTiltCounter], a + cp $1 + jr nz, .skipSoundEffect + ld de, $003f + call PlaySoundEffect .skipSoundEffect - ld a, [$d548] - ld hl, $d549 - and [hl] - jr z, .skipBallMovement - ld a, [wBallXPos + 1] - dec a ; move ball's position to the left by 1 pixel - ld [wBallXPos + 1], a + ld a, [$d548] + ld hl, $d549 + and [hl] + jr z, .skipBallMovement + ld a, [wBallXPos + 1] + dec a ; move ball's position to the left by 1 pixel + ld [wBallXPos + 1], a .skipBallMovement - ld a, [$d79f] - inc a - ld [$d79f], a - ld a, $1 - ld [wLeftTiltPushing], a - ret + ld a, [$d79f] + inc a + ld [$d79f], a + ld a, $1 + ld [wLeftTiltPushing], a + ret .startCoolDown - ld a, $1 - ld [wLeftTiltReset], a + ld a, $1 + ld [wLeftTiltReset], a .tiltCoolDown - xor a - ld [wLeftTiltPushing], a - ld a, [wLeftTiltCounter] - and a - jr z, .done - dec a - ld [wLeftTiltCounter], a - ld a, [$d79f] - dec a - ld [$d79f], a - ret + xor a + ld [wLeftTiltPushing], a + ld a, [wLeftTiltCounter] + and a + jr z, .done + dec a + ld [wLeftTiltCounter], a + ld a, [$d79f] + dec a + ld [$d79f], a + ret .done - ld hl, wKeyConfigLeftTilt - call IsKeyPressed2 - ret nz - xor a - ld [wLeftTiltReset], a - ret + ld hl, wKeyConfigLeftTilt + call IsKeyPressed2 + ret nz + xor a + ld [wLeftTiltReset], a + ret HandleRightTilt: ; 0x35f3 - ld a, [wRightTiltReset] - and a - jr nz, .tiltCoolDown - ld hl, wKeyConfigRightTilt - call IsKeyPressed2 - jr z, .tiltCoolDown - ld a, [wRightTiltCounter] - cp $3 - jr z, .startCoolDown - inc a - ld [wRightTiltCounter], a - cp $1 - jr nz, .skipSoundEffect - ld de, $003f - call PlaySoundEffect + ld a, [wRightTiltReset] + and a + jr nz, .tiltCoolDown + ld hl, wKeyConfigRightTilt + call IsKeyPressed2 + jr z, .tiltCoolDown + ld a, [wRightTiltCounter] + cp $3 + jr z, .startCoolDown + inc a + ld [wRightTiltCounter], a + cp $1 + jr nz, .skipSoundEffect + ld de, $003f + call PlaySoundEffect .skipSoundEffect - ld a, [$d548] - ld hl, $d549 - and [hl] - jr z, .skipBallMovement - ld a, [wBallXPos + 1] - inc a ; move ball's position to the right by 1 pixel - ld [wBallXPos + 1], a + ld a, [$d548] + ld hl, $d549 + and [hl] + jr z, .skipBallMovement + ld a, [wBallXPos + 1] + inc a ; move ball's position to the right by 1 pixel + ld [wBallXPos + 1], a .skipBallMovement - ld a, [$d79f] - dec a - ld [$d79f], a - ld a, $1 - ld [wRightTiltPushing], a - ret + ld a, [$d79f] + dec a + ld [$d79f], a + ld a, $1 + ld [wRightTiltPushing], a + ret .startCoolDown - ld a, $1 - ld [wRightTiltReset], a + ld a, $1 + ld [wRightTiltReset], a .tiltCoolDown - xor a - ld [wRightTiltPushing], a - ld a, [wRightTiltCounter] - and a - jr z, .done - dec a - ld [wRightTiltCounter], a - ld a, [$d79f] - inc a - ld [$d79f], a - ret + xor a + ld [wRightTiltPushing], a + ld a, [wRightTiltCounter] + and a + jr z, .done + dec a + ld [wRightTiltCounter], a + ld a, [$d79f] + inc a + ld [$d79f], a + ret .done - ld hl, wKeyConfigRightTilt - call IsKeyPressed2 - ret nz - xor a - ld [wRightTiltReset], a - ret + ld hl, wKeyConfigRightTilt + call IsKeyPressed2 + ret nz + xor a + ld [wRightTiltReset], a + ret HandleUpperTilt: ; 0x365a - ld a, [wUpperTiltReset] - and a - jr nz, .tiltCoolDown - ld hl, wKeyConfigUpperTilt - call IsKeyPressed2 - jr z, .tiltCoolDown - ld a, [wUpperTiltCounter] - cp $4 - jr z, .startCoolDown - inc a - ld [wUpperTiltCounter], a - cp $1 - jr nz, .skipSoundEffect - ld de, $003f - call PlaySoundEffect + ld a, [wUpperTiltReset] + and a + jr nz, .tiltCoolDown + ld hl, wKeyConfigUpperTilt + call IsKeyPressed2 + jr z, .tiltCoolDown + ld a, [wUpperTiltCounter] + cp $4 + jr z, .startCoolDown + inc a + ld [wUpperTiltCounter], a + cp $1 + jr nz, .skipSoundEffect + ld de, $003f + call PlaySoundEffect .skipSoundEffect - ld a, [$d548] - ld hl, $d549 - and [hl] - jr z, .skipBallMovement - ld a, [wBallYPos + 1] - inc a ; move ball's position down by 1 pixel - ld [wBallYPos + 1], a + ld a, [$d548] + ld hl, $d549 + and [hl] + jr z, .skipBallMovement + ld a, [wBallYPos + 1] + inc a ; move ball's position down by 1 pixel + ld [wBallYPos + 1], a .skipBallMovement - ld a, [$d7a0] - dec a - ld [$d7a0], a - ld a, $1 - ld [wUpperTiltPushing], a - ret + ld a, [$d7a0] + dec a + ld [$d7a0], a + ld a, $1 + ld [wUpperTiltPushing], a + ret .startCoolDown - ld a, $1 - ld [wUpperTiltReset], a + ld a, $1 + ld [wUpperTiltReset], a .tiltCoolDown - xor a - ld [wUpperTiltPushing], a - ld a, [wUpperTiltCounter] - and a - jr z, .done - dec a - ld [wUpperTiltCounter], a - ld a, [$d7a0] - inc a - ld [$d7a0], a - ret + xor a + ld [wUpperTiltPushing], a + ld a, [wUpperTiltCounter] + and a + jr z, .done + dec a + ld [wUpperTiltCounter], a + ld a, [$d7a0] + inc a + ld [$d7a0], a + ret .done - ld hl, wKeyConfigUpperTilt - call IsKeyPressed2 - ret nz - xor a - ld [wUpperTiltReset], a - ret + ld hl, wKeyConfigUpperTilt + call IsKeyPressed2 + ret nz + xor a + ld [wUpperTiltReset], a + ret ApplyTiltForces: ; 0x36c1 - ld a, [$d548] - ld hl, $d549 - and [hl] - ret z - ld c, $0 - ld a, [wUpperTiltPushing] - srl a - rl c - ld a, [wRightTiltPushing] - srl a - rl c - ld a, [wLeftTiltPushing] - srl a - rl c - ld b, $0 - sla c - ld hl, $372d ; todo - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - bit 7, h - ret nz - ld a, [$d7ea] - ld c, a - ld b, $0 - sla c - rl b - sla c - rl b - add hl, bc - ld a, [hLoadedROMBank] - push af - ld a, $3c - ld [hLoadedROMBank], a - ld [$2000], a - ld a, [wBallXVelocity] - add [hl] - ld [wBallXVelocity], a - inc hl - ld a, [wBallXVelocity + 1] - adc [hl] - ld [wBallXVelocity + 1], a - inc hl - ld a, [wBallYVelocity] - add [hl] - ld [wBallYVelocity], a - inc hl - ld a, [wBallYVelocity + 1] - adc [hl] - ld [wBallYVelocity + 1], a - pop af - ld [hLoadedROMBank], a - ld [$2000], a - ret - -INCBIN "baserom.gbc",$372d,$4000 - $372d + ld a, [$d548] + ld hl, $d549 + and [hl] + ret z + ld c, $0 + ld a, [wUpperTiltPushing] + srl a + rl c + ld a, [wRightTiltPushing] + srl a + rl c + ld a, [wLeftTiltPushing] + srl a + rl c + ld b, $0 + sla c + ld hl, Data_372d + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + bit 7, h + ret nz + ld a, [$d7ea] + ld c, a + ld b, $0 + sla c + rl b + sla c + rl b + add hl, bc + ld a, [hLoadedROMBank] + push af + ld a, BANK(TiltLeftOnlyForce) + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld a, [wBallXVelocity] + add [hl] + ld [wBallXVelocity], a + inc hl + ld a, [wBallXVelocity + 1] + adc [hl] + ld [wBallXVelocity + 1], a + inc hl + ld a, [wBallYVelocity] + add [hl] + ld [wBallYVelocity], a + inc hl + ld a, [wBallYVelocity + 1] + adc [hl] + ld [wBallYVelocity + 1], a + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ret + +Data_372d: + dw -1 ; no tilt + dw TiltLeftOnlyForce + dw TiltRightOnlyForce + dw -1 ; left + right (cancel) + dw TiltUpOnlyForce + dw TiltUpLeftForce + dw TiltUpRightForce + dw TiltUpOnlyForce + + dr $373d, $3800 + +Data_3800: + dr $3800, $3980 + +Data_3980: + dr $3980, $3b00 + +Data_3b00: + dr $3b00, $3c80 + +Data_3c80: + dr $3c80, $3e00 + + dr $3e00, $4000 SECTION "bank1", ROMX, BANK[$1] OAMDataPointers: ; 0x4000 - dw BallSpin0OAM - dw BallSpin1OAM - dw BallSpin2OAM - dw BallSpin3OAM - dw BallSpin4OAM - dw BallSpin5OAM - dw BallSpin6OAM - dw BallSpin7OAM - dw OAMData_8 - dw OAMData_9 - dw OAMData_a - dw OAMData_b - dw OAMData_c - dw OAMData_d - dw OAMData_e - dw OAMData_f - dw OAMData_10 - dw OAMData_11 - dw OAMData_12 - dw OAMData_13 - dw OAMData_14 - dw OAMData_15 - dw OAMData_16 - dw OAMData_17 - dw OAMData_18 - dw OAMData_19 - dw OAMData_1a - dw OAMData_1b - dw OAMData_1c - dw OAMData_1d - dw OAMData_1e - dw OAMData_1f - dw OAMData_20 - dw OAMData_21 - dw OAMData_22 - dw OAMData_23 - dw OAMData_24 - dw OAMData_25 - dw OAMData_26 - dw OAMData_27 - dw OAMData_28 - dw OAMData_29 - dw OAMData_2a - dw OAMData_2b - dw OAMData_2c - dw OAMData_2d - dw OAMData_2e - dw OAMData_2f - dw OAMData_30 - dw OAMData_31 - dw OAMData_32 - dw OAMData_33 - dw OAMData_34 - dw OAMData_35 - dw OAMData_36 - dw OAMData_37 - dw OAMData_38 - dw OAMData_39 - dw OAMData_3a - dw OAMData_3b - dw OAMData_3c - dw OAMData_3d - dw OAMData_3e - dw OAMData_3f - dw OAMData_40 - dw OAMData_41 - dw OAMData_42 - dw OAMData_43 - dw OAMData_44 - dw OAMData_45 - dw OAMData_46 - dw OAMData_47 - dw OAMData_48 - dw OAMData_49 - dw OAMData_4a - dw OAMData_4b - dw OAMData_4c - dw OAMData_4d - dw OAMData_4e - dw OAMData_4f - dw OAMData_50 - dw OAMData_51 - dw OAMData_52 - dw OAMData_53 - dw OAMData_54 - dw OAMData_55 - dw OAMData_56 - dw OAMData_57 - dw OAMData_58 - dw OAMData_59 - dw TitlescreenPikachuBlinkFrame1OAM - dw TitlescreenPikachuBlinkFrame2OAM - dw TitlescreenPikachuBlinkFrame3OAM - dw TitlescreenPokeball1OAM - dw TitlescreenPokeball2OAM - dw TitlescreenPokeball3OAM - dw TitlescreenPokeball4OAM - dw TitlescreenPokeball5OAM - dw OAMData_62 - dw OAMData_63 - dw OAMData_64 - dw OAMData_65 - dw OAMData_66 - dw OAMData_67 - dw OAMData_68 - dw OAMData_69 - dw PokeDexTextOAM - dw OAMData_6b - dw Digit0OAM - dw Digit1OAM - dw Digit2OAM - dw Digit3OAM - dw Digit4OAM - dw Digit5OAM - dw Digit6OAM - dw Digit7OAM - dw Digit8OAM - dw Digit9OAM - dw SlashCharacterOAM - dw OAMData_77 - dw OAMData_78 - dw OAMData_79 - dw OAMData_7a - dw OAMData_7b - dw OAMData_7c - dw OAMData_7d - dw OAMData_7e - dw OAMData_7f - dw OAMData_80 - dw OAMData_81 - dw OAMData_82 - dw OAMData_83 - dw OAMData_84 - dw OAMData_85 - dw OAMData_86 - dw OAMData_87 - dw OAMData_88 - dw OAMData_89 - dw OAMData_8a - dw OAMData_8b - dw OAMData_8c - dw OAMData_8d - dw OAMData_8e - dw SendingHighScoresTextOAM - dw OAMData_90 - dw OAMData_91 - dw OAMData_92 - dw OAMData_93 - dw OAMData_94 - dw HighScoresRightArrowOAM - dw HighScoresLeftArrowOAM - dw OAMData_97 - dw SendHighScoresAnimation1OAM - dw SendHighScoresAnimation2OAM - dw SendHighScoresAnimation3OAM - dw SendHighScoresAnimation4OAM - dw SendHighScoresAnimation5OAM - dw SendHighScoresAnimation6OAM - dw FieldSelectRedStageBorderOAM - dw FieldSelectBlueStageBorderOAM - dw OAMData_a0 - dw OAMData_a1 - dw OAMData_a2 - dw OAMData_a3 - dw OAMData_a4 - dw OAMData_a5 - dw OAMData_a6 - dw OAMData_a7 - dw OAMData_a8 - dw OAMData_a9 - dw OAMData_aa - dw OAMData_ab - dw OAMData_ac - dw OAMData_ad - dw OAMData_ae - dw OAMData_af - dw OAMData_b0 - dw Timer0DigitOAM - dw Timer1DigitOAM - dw Timer2DigitOAM - dw Timer3DigitOAM - dw Timer4DigitOAM - dw Timer5DigitOAM - dw Timer6DigitOAM - dw Timer7DigitOAM - dw Timer8DigitOAM - dw Timer9DigitOAM - dw TimerColonOAM - dw OAMData_bc - dw OAMData_bd - dw OAMData_be - dw OAMData_bf - dw OAMData_c0 - dw OAMData_c1 - dw OAMData_c2 - dw OAMData_c3 - dw OAMData_c4 - dw OAMData_c5 - dw OAMData_c6 - dw OAMData_c7 - dw OAMData_c8 - dw OAMData_c9 - dw OAMData_ca - dw OAMData_cb - dw OAMData_cc - dw OAMData_cd - dw OAMData_ce - dw OAMData_cf - dw OAMData_d0 - dw OAMData_d1 - dw OAMData_d2 - dw OAMData_d3 - dw OAMData_d4 - dw OAMData_d5 - dw OAMData_d6 - dw OAMData_d7 - dw OAMData_d8 - dw OAMData_d9 - dw OAMData_da - dw OAMData_db - dw OAMData_dc - dw OAMData_dd - dw OAMData_de - dw OAMData_df - dw OAMData_e0 - dw OAMData_e1 - dw OAMData_e2 - dw OAMData_e3 - dw OAMData_e4 - dw OAMData_e5 - dw OAMData_e6 - dw OAMData_e7 - dw OAMData_e8 - dw OAMData_e9 - dw OAMData_ea - dw OAMData_eb - dw OAMData_ec - dw OAMData_ed - dw OAMData_ee - dw OAMData_ef - dw OAMData_f0 - dw OAMData_f1 - dw OAMData_f2 - dw OAMData_f3 - dw OAMData_f4 - dw OAMData_f5 - dw OAMData_f6 - dw OAMData_f7 - dw OAMData_f8 + dw BallSpin0OAM + dw BallSpin1OAM + dw BallSpin2OAM + dw BallSpin3OAM + dw BallSpin4OAM + dw BallSpin5OAM + dw BallSpin6OAM + dw BallSpin7OAM + dw OAMData_8 + dw OAMData_9 + dw OAMData_a + dw OAMData_b + dw OAMData_c + dw OAMData_d + dw OAMData_e + dw OAMData_f + dw OAMData_10 + dw OAMData_11 + dw OAMData_12 + dw OAMData_13 + dw OAMData_14 + dw OAMData_15 + dw OAMData_16 + dw OAMData_17 + dw OAMData_18 + dw OAMData_19 + dw OAMData_1a + dw OAMData_1b + dw OAMData_1c + dw OAMData_1d + dw OAMData_1e + dw OAMData_1f + dw OAMData_20 + dw OAMData_21 + dw OAMData_22 + dw OAMData_23 + dw OAMData_24 + dw OAMData_25 + dw OAMData_26 + dw OAMData_27 + dw OAMData_28 + dw OAMData_29 + dw OAMData_2a + dw OAMData_2b + dw OAMData_2c + dw OAMData_2d + dw OAMData_2e + dw OAMData_2f + dw OAMData_30 + dw OAMData_31 + dw OAMData_32 + dw OAMData_33 + dw OAMData_34 + dw OAMData_35 + dw OAMData_36 + dw OAMData_37 + dw OAMData_38 + dw OAMData_39 + dw OAMData_3a + dw OAMData_3b + dw OAMData_3c + dw OAMData_3d + dw OAMData_3e + dw OAMData_3f + dw OAMData_40 + dw OAMData_41 + dw OAMData_42 + dw OAMData_43 + dw OAMData_44 + dw OAMData_45 + dw OAMData_46 + dw OAMData_47 + dw OAMData_48 + dw OAMData_49 + dw OAMData_4a + dw OAMData_4b + dw OAMData_4c + dw OAMData_4d + dw OAMData_4e + dw OAMData_4f + dw OAMData_50 + dw OAMData_51 + dw OAMData_52 + dw OAMData_53 + dw OAMData_54 + dw OAMData_55 + dw OAMData_56 + dw OAMData_57 + dw OAMData_58 + dw OAMData_59 + dw TitlescreenPikachuBlinkFrame1OAM + dw TitlescreenPikachuBlinkFrame2OAM + dw TitlescreenPikachuBlinkFrame3OAM + dw TitlescreenPokeball1OAM + dw TitlescreenPokeball2OAM + dw TitlescreenPokeball3OAM + dw TitlescreenPokeball4OAM + dw TitlescreenPokeball5OAM + dw OAMData_62 + dw OAMData_63 + dw OAMData_64 + dw OAMData_65 + dw OAMData_66 + dw OAMData_67 + dw OAMData_68 + dw OAMData_69 + dw PokeDexTextOAM + dw OAMData_6b + dw Digit0OAM + dw Digit1OAM + dw Digit2OAM + dw Digit3OAM + dw Digit4OAM + dw Digit5OAM + dw Digit6OAM + dw Digit7OAM + dw Digit8OAM + dw Digit9OAM + dw SlashCharacterOAM + dw OAMData_77 + dw OAMData_78 + dw OAMData_79 + dw OAMData_7a + dw OAMData_7b + dw OAMData_7c + dw OAMData_7d + dw OAMData_7e + dw OAMData_7f + dw OAMData_80 + dw OAMData_81 + dw OAMData_82 + dw OAMData_83 + dw OAMData_84 + dw OAMData_85 + dw OAMData_86 + dw OAMData_87 + dw OAMData_88 + dw OAMData_89 + dw OAMData_8a + dw OAMData_8b + dw OAMData_8c + dw OAMData_8d + dw OAMData_8e + dw SendingHighScoresTextOAM + dw OAMData_90 + dw OAMData_91 + dw OAMData_92 + dw OAMData_93 + dw OAMData_94 + dw HighScoresRightArrowOAM + dw HighScoresLeftArrowOAM + dw OAMData_97 + dw SendHighScoresAnimation1OAM + dw SendHighScoresAnimation2OAM + dw SendHighScoresAnimation3OAM + dw SendHighScoresAnimation4OAM + dw SendHighScoresAnimation5OAM + dw SendHighScoresAnimation6OAM + dw FieldSelectRedStageBorderOAM + dw FieldSelectBlueStageBorderOAM + dw OAMData_a0 + dw OAMData_a1 + dw OAMData_a2 + dw OAMData_a3 + dw OAMData_a4 + dw OAMData_a5 + dw OAMData_a6 + dw OAMData_a7 + dw OAMData_a8 + dw OAMData_a9 + dw OAMData_aa + dw OAMData_ab + dw OAMData_ac + dw OAMData_ad + dw OAMData_ae + dw OAMData_af + dw OAMData_b0 + dw Timer0DigitOAM + dw Timer1DigitOAM + dw Timer2DigitOAM + dw Timer3DigitOAM + dw Timer4DigitOAM + dw Timer5DigitOAM + dw Timer6DigitOAM + dw Timer7DigitOAM + dw Timer8DigitOAM + dw Timer9DigitOAM + dw TimerColonOAM + dw OAMData_bc + dw OAMData_bd + dw OAMData_be + dw OAMData_bf + dw OAMData_c0 + dw OAMData_c1 + dw OAMData_c2 + dw OAMData_c3 + dw OAMData_c4 + dw OAMData_c5 + dw OAMData_c6 + dw OAMData_c7 + dw OAMData_c8 + dw OAMData_c9 + dw OAMData_ca + dw OAMData_cb + dw OAMData_cc + dw OAMData_cd + dw OAMData_ce + dw OAMData_cf + dw OAMData_d0 + dw OAMData_d1 + dw OAMData_d2 + dw OAMData_d3 + dw OAMData_d4 + dw OAMData_d5 + dw OAMData_d6 + dw OAMData_d7 + dw OAMData_d8 + dw OAMData_d9 + dw OAMData_da + dw OAMData_db + dw OAMData_dc + dw OAMData_dd + dw OAMData_de + dw OAMData_df + dw OAMData_e0 + dw OAMData_e1 + dw OAMData_e2 + dw OAMData_e3 + dw OAMData_e4 + dw OAMData_e5 + dw OAMData_e6 + dw OAMData_e7 + dw OAMData_e8 + dw OAMData_e9 + dw OAMData_ea + dw OAMData_eb + dw OAMData_ec + dw OAMData_ed + dw OAMData_ee + dw OAMData_ef + dw OAMData_f0 + dw OAMData_f1 + dw OAMData_f2 + dw OAMData_f3 + dw OAMData_f4 + dw OAMData_f5 + dw OAMData_f6 + dw OAMData_f7 + dw OAMData_f8 BallSpin0OAM: ; 0x41f2 - db $08, $08, $42, $00 - db $08, $00, $40, $00 - db $80 ; terminator + db $08, $08, $42, $00 + db $08, $00, $40, $00 + db $80 ; terminator BallSpin1OAM: ; 0x41fb - db $08, $08, $46, $00 - db $08, $00, $44, $00 - db $80 ; terminator + db $08, $08, $46, $00 + db $08, $00, $44, $00 + db $80 ; terminator BallSpin2OAM: ; 0x4204 - db $08, $08, $4a, $00 - db $08, $00, $48, $00 - db $80 ; terminator + db $08, $08, $4a, $00 + db $08, $00, $48, $00 + db $80 ; terminator BallSpin3OAM: ; 0x420d - db $08, $08, $4e, $00 - db $08, $00, $4c, $00 - db $80 ; terminator + db $08, $08, $4e, $00 + db $08, $00, $4c, $00 + db $80 ; terminator BallSpin4OAM: ; 0x4216 - db $08, $08, $52, $00 - db $08, $00, $50, $00 - db $80 ; terminator + db $08, $08, $52, $00 + db $08, $00, $50, $00 + db $80 ; terminator BallSpin5OAM: ; 0x421f - db $08, $08, $56, $00 - db $08, $00, $54, $00 - db $80 ; terminator + db $08, $08, $56, $00 + db $08, $00, $54, $00 + db $80 ; terminator BallSpin6OAM: ; 0x4228 - db $08, $08, $5a, $00 - db $08, $00, $58, $00 - db $80 ; terminator + db $08, $08, $5a, $00 + db $08, $00, $58, $00 + db $80 ; terminator BallSpin7OAM: ; 0x4231 - db $08, $08, $5e, $00 - db $08, $00, $5c, $00 - db $80 ; terminator + db $08, $08, $5e, $00 + db $08, $00, $5c, $00 + db $80 ; terminator OAMData_8: ; 0x423a - db $0c, $05, $64, $02 - db $0a, $fd, $62, $02 - db $14, $f5, $60, $02 - db $80 ; terminator + db $0c, $05, $64, $02 + db $0a, $fd, $62, $02 + db $14, $f5, $60, $02 + db $80 ; terminator OAMData_9: ; 0x4247 - db $0c, $05, $6a, $02 - db $04, $fd, $68, $02 - db $0c, $f5, $66, $02 - db $80 ; terminator + db $0c, $05, $6a, $02 + db $04, $fd, $68, $02 + db $0c, $f5, $66, $02 + db $80 ; terminator OAMData_a: ; 0x4254 - db $0a, $05, $70, $02 - db $03, $fd, $6e, $02 - db $fd, $f5, $6c, $02 - db $80 ; terminator + db $0a, $05, $70, $02 + db $03, $fd, $6e, $02 + db $fd, $f5, $6c, $02 + db $80 ; terminator OAMData_b: ; 0x4261 - db $0c, $03, $64, $22 - db $0a, $0b, $62, $22 - db $14, $13, $60, $22 - db $80 ; terminator + db $0c, $03, $64, $22 + db $0a, $0b, $62, $22 + db $14, $13, $60, $22 + db $80 ; terminator OAMData_c: ; 0x426e - db $0c, $03, $6a, $22 - db $04, $0b, $68, $22 - db $0c, $13, $66, $22 - db $80 ; terminator + db $0c, $03, $6a, $22 + db $04, $0b, $68, $22 + db $0c, $13, $66, $22 + db $80 ; terminator OAMData_d: ; 0x427b - db $0a, $03, $70, $22 - db $03, $0b, $6e, $22 - db $fd, $13, $6c, $22 - db $80 ; terminator + db $0a, $03, $70, $22 + db $03, $0b, $6e, $22 + db $fd, $13, $6c, $22 + db $80 ; terminator OAMData_e: ; 0x4288 - db $00, $09, $74, $04 - db $00, $01, $72, $04 - db $80 ; terminator + db $00, $09, $74, $04 + db $00, $01, $72, $04 + db $80 ; terminator OAMData_f: ; 0x4291 - db $00, $01, $76, $04 - db $00, $09, $78, $04 - db $80 ; terminator + db $00, $01, $76, $04 + db $00, $09, $78, $04 + db $80 ; terminator OAMData_10: ; 0x429a - db $00, $09, $7c, $04 - db $00, $01, $7a, $04 - db $80 ; terminator + db $00, $09, $7c, $04 + db $00, $01, $7a, $04 + db $80 ; terminator OAMData_11: ; 0x42a3 - db $f5, $01, $3d, $51 - db $f1, $06, $3e, $31 - db $00, $09, $7c, $04 - db $00, $01, $7a, $04 - db $80 ; terminator + db $f5, $01, $3d, $51 + db $f1, $06, $3e, $31 + db $00, $09, $7c, $04 + db $00, $01, $7a, $04 + db $80 ; terminator OAMData_12: ; 0x42b4 - db $f1, $07, $3c, $11 - db $f1, $02, $3e, $11 - db $00, $09, $7c, $04 - db $00, $01, $7a, $04 - db $80 ; terminator + db $f1, $07, $3c, $11 + db $f1, $02, $3e, $11 + db $00, $09, $7c, $04 + db $00, $01, $7a, $04 + db $80 ; terminator OAMData_13: ; 0x42c5 - db $e9, $06, $3e, $31 - db $e9, $01, $3c, $31 - db $f1, $00, $3e, $31 - db $f1, $08, $3c, $31 - db $00, $09, $7c, $04 - db $00, $01, $7a, $04 - db $80 ; terminator + db $e9, $06, $3e, $31 + db $e9, $01, $3c, $31 + db $f1, $00, $3e, $31 + db $f1, $08, $3c, $31 + db $00, $09, $7c, $04 + db $00, $01, $7a, $04 + db $80 ; terminator OAMData_14: ; 0x42de - db $e8, $01, $3e, $11 - db $e8, $06, $3c, $11 - db $f3, $01, $3c, $31 - db $f3, $05, $3e, $31 - db $00, $09, $7c, $04 - db $00, $01, $7a, $04 - db $80 ; terminator + db $e8, $01, $3e, $11 + db $e8, $06, $3c, $11 + db $f3, $01, $3c, $31 + db $f3, $05, $3e, $31 + db $00, $09, $7c, $04 + db $00, $01, $7a, $04 + db $80 ; terminator OAMData_15: ; 0x42f7 - db $e5, $09, $3e, $11 - db $f1, $07, $3c, $11 - db $e9, $02, $3f, $51 - db $f2, $01, $3c, $31 - db $00, $09, $7c, $04 - db $00, $01, $7a, $04 - db $80 ; terminator + db $e5, $09, $3e, $11 + db $f1, $07, $3c, $11 + db $e9, $02, $3f, $51 + db $f2, $01, $3c, $31 + db $00, $09, $7c, $04 + db $00, $01, $7a, $04 + db $80 ; terminator OAMData_16: ; 0x4310 - db $e8, $01, $3d, $51 - db $f5, $00, $3f, $71 - db $f2, $06, $3e, $31 - db $e6, $07, $3c, $11 - db $00, $09, $7c, $04 - db $00, $01, $7a, $04 - db $80 ; terminator + db $e8, $01, $3d, $51 + db $f5, $00, $3f, $71 + db $f2, $06, $3e, $31 + db $e6, $07, $3c, $11 + db $00, $09, $7c, $04 + db $00, $01, $7a, $04 + db $80 ; terminator OAMData_17: ; 0x4329 - db $0c, $05, $64, $11 - db $0a, $fd, $62, $11 - db $14, $f5, $60, $11 - db $80 ; terminator + db $0c, $05, $64, $11 + db $0a, $fd, $62, $11 + db $14, $f5, $60, $11 + db $80 ; terminator OAMData_18: ; 0x4336 - db $0c, $03, $64, $31 - db $0a, $0b, $62, $31 - db $14, $13, $60, $31 - db $80 ; terminator + db $0c, $03, $64, $31 + db $0a, $0b, $62, $31 + db $14, $13, $60, $31 + db $80 ; terminator OAMData_19: ; 0x4343 - db $00, $08, $a2, $02 - db $00, $00, $a0, $02 - db $80 ; terminator + db $00, $08, $a2, $02 + db $00, $00, $a0, $02 + db $80 ; terminator OAMData_1a: ; 0x434c - db $00, $10, $9e, $02 - db $00, $08, $9c, $02 - db $00, $00, $9a, $02 - db $00, $f8, $98, $02 - db $f0, $10, $96, $02 - db $f0, $08, $94, $02 - db $f0, $00, $92, $02 - db $f0, $f8, $90, $02 - db $80 ; terminator + db $00, $10, $9e, $02 + db $00, $08, $9c, $02 + db $00, $00, $9a, $02 + db $00, $f8, $98, $02 + db $f0, $10, $96, $02 + db $f0, $08, $94, $02 + db $f0, $00, $92, $02 + db $f0, $f8, $90, $02 + db $80 ; terminator OAMData_1b: ; 0x436d - db $01, $0f, $a7, $62 - db $ff, $f7, $7f, $62 - db $e7, $07, $7e, $02 - db $e7, $fb, $a6, $02 - db $f3, $f4, $a5, $42 - db $e7, $12, $a6, $22 - db $fd, $fd, $a7, $42 - db $ef, $fa, $a6, $02 - db $ed, $0c, $a6, $22 - db $ef, $13, $a4, $22 - db $e6, $02, $a5, $42 - db $02, $05, $a7, $62 - db $fc, $0b, $a7, $62 - db $f7, $f9, $a4, $02 - db $fb, $10, $a5, $62 - db $f5, $09, $42, $00 - db $f5, $01, $40, $00 - db $80 ; terminator + db $01, $0f, $a7, $62 + db $ff, $f7, $7f, $62 + db $e7, $07, $7e, $02 + db $e7, $fb, $a6, $02 + db $f3, $f4, $a5, $42 + db $e7, $12, $a6, $22 + db $fd, $fd, $a7, $42 + db $ef, $fa, $a6, $02 + db $ed, $0c, $a6, $22 + db $ef, $13, $a4, $22 + db $e6, $02, $a5, $42 + db $02, $05, $a7, $62 + db $fc, $0b, $a7, $62 + db $f7, $f9, $a4, $02 + db $fb, $10, $a5, $62 + db $f5, $09, $42, $00 + db $f5, $01, $40, $00 + db $80 ; terminator OAMData_1c: ; 0x43b2 - db $02, $11, $7f, $42 - db $e6, $f9, $7e, $22 - db $e6, $0f, $7e, $02 - db $f5, $f0, $a5, $42 - db $05, $05, $a7, $62 - db $f0, $09, $42, $00 - db $f0, $01, $40, $00 - db $f5, $17, $a5, $62 - db $01, $f7, $7f, $62 - db $80 ; terminator + db $02, $11, $7f, $42 + db $e6, $f9, $7e, $22 + db $e6, $0f, $7e, $02 + db $f5, $f0, $a5, $42 + db $05, $05, $a7, $62 + db $f0, $09, $42, $00 + db $f0, $01, $40, $00 + db $f5, $17, $a5, $62 + db $01, $f7, $7f, $62 + db $80 ; terminator OAMData_1d: ; 0x43d7 - db $ee, $09, $42, $00 - db $ee, $01, $40, $00 - db $80 ; terminator + db $ee, $09, $42, $00 + db $ee, $01, $40, $00 + db $80 ; terminator OAMData_1e: ; 0x43e0 - db $ed, $09, $42, $00 - db $ed, $01, $40, $00 - db $80 ; terminator + db $ed, $09, $42, $00 + db $ed, $01, $40, $00 + db $80 ; terminator OAMData_1f: ; 0x43e9 - db $ee, $09, $42, $00 - db $ee, $01, $40, $00 - db $80 ; terminator + db $ee, $09, $42, $00 + db $ee, $01, $40, $00 + db $80 ; terminator OAMData_20: ; 0x43f2 - db $f0, $09, $42, $00 - db $f0, $01, $40, $00 - db $80 ; terminator + db $f0, $09, $42, $00 + db $f0, $01, $40, $00 + db $80 ; terminator OAMData_21: ; 0x43fb - db $f5, $09, $42, $00 - db $f5, $01, $40, $00 - db $80 ; terminator + db $f5, $09, $42, $00 + db $f5, $01, $40, $00 + db $80 ; terminator OAMData_22: ; 0x4404 - db $fb, $09, $42, $00 - db $fb, $01, $40, $00 - db $80 ; terminator + db $fb, $09, $42, $00 + db $fb, $01, $40, $00 + db $80 ; terminator OAMData_23: ; 0x440d - db $02, $09, $42, $00 - db $02, $01, $40, $00 - db $80 ; terminator + db $02, $09, $42, $00 + db $02, $01, $40, $00 + db $80 ; terminator OAMData_24: ; 0x4416 - db $01, $09, $42, $00 - db $01, $01, $40, $00 - db $80 ; terminator + db $01, $09, $42, $00 + db $01, $01, $40, $00 + db $80 ; terminator OAMData_25: ; 0x441f - db $02, $0a, $3a, $00 - db $02, $02, $38, $00 - db $80 ; terminator + db $02, $0a, $3a, $00 + db $02, $02, $38, $00 + db $80 ; terminator OAMData_26: ; 0x4428 - db $fb, $0a, $9e, $15 - db $fb, $02, $9c, $15 - db $ff, $15, $9a, $13 - db $ff, $0d, $98, $13 - db $ff, $05, $96, $13 - db $ff, $fd, $94, $13 - db $ef, $08, $92, $13 - db $ef, $00, $90, $13 - db $80 ; terminator + db $fb, $0a, $9e, $15 + db $fb, $02, $9c, $15 + db $ff, $15, $9a, $13 + db $ff, $0d, $98, $13 + db $ff, $05, $96, $13 + db $ff, $fd, $94, $13 + db $ef, $08, $92, $13 + db $ef, $00, $90, $13 + db $80 ; terminator OAMData_27: ; 0x4449 - db $fc, $0a, $1c, $15 - db $fc, $02, $1a, $15 - db $fe, $15, $9a, $13 - db $ff, $0d, $a8, $13 - db $ff, $05, $a6, $13 - db $ff, $fd, $a4, $13 - db $ef, $08, $a2, $13 - db $ef, $00, $a0, $13 - db $80 ; terminator + db $fc, $0a, $1c, $15 + db $fc, $02, $1a, $15 + db $fe, $15, $9a, $13 + db $ff, $0d, $a8, $13 + db $ff, $05, $a6, $13 + db $ff, $fd, $a4, $13 + db $ef, $08, $a2, $13 + db $ef, $00, $a0, $13 + db $80 ; terminator OAMData_28: ; 0x446a - db $ff, $08, $2e, $15 - db $ff, $00, $2c, $15 - db $ff, $10, $2a, $13 - db $ff, $08, $28, $13 - db $ff, $00, $26, $13 - db $ff, $f8, $24, $13 - db $ef, $10, $22, $13 - db $ef, $08, $20, $13 - db $ef, $00, $1e, $13 - db $80 ; terminator + db $ff, $08, $2e, $15 + db $ff, $00, $2c, $15 + db $ff, $10, $2a, $13 + db $ff, $08, $28, $13 + db $ff, $00, $26, $13 + db $ff, $f8, $24, $13 + db $ef, $10, $22, $13 + db $ef, $08, $20, $13 + db $ef, $00, $1e, $13 + db $80 ; terminator OAMData_29: ; 0x448f - db $ef, $03, $92, $15 - db $f3, $0b, $94, $15 - db $f3, $fb, $90, $15 - db $0d, $09, $9e, $13 - db $fd, $09, $9c, $13 - db $0d, $01, $9a, $13 - db $fd, $01, $98, $13 - db $00, $11, $a0, $13 - db $00, $f9, $96, $13 - db $80 ; terminator + db $ef, $03, $92, $15 + db $f3, $0b, $94, $15 + db $f3, $fb, $90, $15 + db $0d, $09, $9e, $13 + db $fd, $09, $9c, $13 + db $0d, $01, $9a, $13 + db $fd, $01, $98, $13 + db $00, $11, $a0, $13 + db $00, $f9, $96, $13 + db $80 ; terminator OAMData_2a: ; 0x44b4 - db $f0, $04, $a4, $15 - db $f3, $0c, $a6, $15 - db $f3, $fc, $a2, $15 - db $00, $12, $1e, $13 - db $00, $0a, $1c, $13 - db $00, $02, $1a, $13 - db $00, $fa, $a8, $13 - db $80 ; terminator + db $f0, $04, $a4, $15 + db $f3, $0c, $a6, $15 + db $f3, $fc, $a2, $15 + db $00, $12, $1e, $13 + db $00, $0a, $1c, $13 + db $00, $02, $1a, $13 + db $00, $fa, $a8, $13 + db $80 ; terminator OAMData_2b: ; 0x44d1 - db $f8, $10, $26, $15 - db $f3, $08, $24, $15 - db $f3, $00, $22, $15 - db $f8, $f8, $20, $15 - db $00, $10, $2e, $13 - db $00, $08, $2c, $13 - db $00, $00, $2a, $13 - db $00, $f8, $28, $13 - db $80 ; terminator + db $f8, $10, $26, $15 + db $f3, $08, $24, $15 + db $f3, $00, $22, $15 + db $f8, $f8, $20, $15 + db $00, $10, $2e, $13 + db $00, $08, $2c, $13 + db $00, $00, $2a, $13 + db $00, $f8, $28, $13 + db $80 ; terminator OAMData_2c: ; 0x44f2 - db $00, $10, $9e, $13 - db $00, $08, $9c, $13 - db $00, $00, $9a, $13 - db $00, $f8, $98, $13 - db $f0, $10, $96, $13 - db $f0, $08, $94, $13 - db $f0, $00, $92, $13 - db $f0, $f8, $90, $13 - db $80 ; terminator + db $00, $10, $9e, $13 + db $00, $08, $9c, $13 + db $00, $00, $9a, $13 + db $00, $f8, $98, $13 + db $f0, $10, $96, $13 + db $f0, $08, $94, $13 + db $f0, $00, $92, $13 + db $f0, $f8, $90, $13 + db $80 ; terminator OAMData_2d: ; 0x4513 - db $00, $10, $1e, $13 - db $00, $08, $1c, $13 - db $00, $00, $1a, $13 - db $00, $f8, $a8, $13 - db $f0, $10, $a6, $13 - db $f0, $08, $a4, $13 - db $f0, $00, $a2, $13 - db $f0, $f8, $a0, $13 - db $80 ; terminator + db $00, $10, $1e, $13 + db $00, $08, $1c, $13 + db $00, $00, $1a, $13 + db $00, $f8, $a8, $13 + db $f0, $10, $a6, $13 + db $f0, $08, $a4, $13 + db $f0, $00, $a2, $13 + db $f0, $f8, $a0, $13 + db $80 ; terminator OAMData_2e: ; 0x4534 - db $00, $10, $2e, $13 - db $00, $08, $2c, $13 - db $00, $00, $2a, $13 - db $00, $f8, $28, $13 - db $f0, $10, $26, $13 - db $f0, $08, $24, $13 - db $f0, $00, $22, $13 - db $f0, $f8, $20, $13 - db $80 ; terminator + db $00, $10, $2e, $13 + db $00, $08, $2c, $13 + db $00, $00, $2a, $13 + db $00, $f8, $28, $13 + db $f0, $10, $26, $13 + db $f0, $08, $24, $13 + db $f0, $00, $22, $13 + db $f0, $f8, $20, $13 + db $80 ; terminator OAMData_2f: ; 0x4555 - db $00, $10, $9e, $13 - db $00, $08, $9c, $13 - db $00, $00, $9a, $13 - db $00, $f8, $98, $13 - db $f0, $10, $96, $13 - db $f0, $08, $94, $13 - db $f0, $00, $92, $13 - db $f0, $f8, $90, $13 - db $80 ; terminator + db $00, $10, $9e, $13 + db $00, $08, $9c, $13 + db $00, $00, $9a, $13 + db $00, $f8, $98, $13 + db $f0, $10, $96, $13 + db $f0, $08, $94, $13 + db $f0, $00, $92, $13 + db $f0, $f8, $90, $13 + db $80 ; terminator OAMData_30: ; 0x4576 - db $00, $10, $1e, $13 - db $00, $08, $1c, $13 - db $00, $00, $1a, $13 - db $00, $f8, $a8, $13 - db $f0, $10, $a6, $13 - db $f0, $08, $a4, $13 - db $f0, $00, $a2, $13 - db $f0, $f8, $a0, $13 - db $80 ; terminator + db $00, $10, $1e, $13 + db $00, $08, $1c, $13 + db $00, $00, $1a, $13 + db $00, $f8, $a8, $13 + db $f0, $10, $a6, $13 + db $f0, $08, $a4, $13 + db $f0, $00, $a2, $13 + db $f0, $f8, $a0, $13 + db $80 ; terminator OAMData_31: ; 0x4597 - db $01, $10, $2e, $13 - db $01, $08, $2c, $13 - db $01, $00, $2a, $13 - db $01, $f8, $28, $13 - db $f1, $10, $26, $13 - db $f1, $08, $24, $13 - db $f1, $00, $22, $13 - db $f1, $f8, $20, $13 - db $80 ; terminator + db $01, $10, $2e, $13 + db $01, $08, $2c, $13 + db $01, $00, $2a, $13 + db $01, $f8, $28, $13 + db $f1, $10, $26, $13 + db $f1, $08, $24, $13 + db $f1, $00, $22, $13 + db $f1, $f8, $20, $13 + db $80 ; terminator OAMData_32: ; 0x45b8 - db $10, $08, $30, $06 - db $80 ; terminator + db $10, $08, $30, $06 + db $80 ; terminator OAMData_33: ; 0x45bd - db $10, $08, $30, $26 - db $80 ; terminator + db $10, $08, $30, $26 + db $80 ; terminator OAMData_34: ; 0x45c2 - db $10, $08, $32, $06 - db $80 ; terminator + db $10, $08, $32, $06 + db $80 ; terminator OAMData_35: ; 0x45c7 - db $10, $08, $32, $26 - db $80 ; terminator + db $10, $08, $32, $26 + db $80 ; terminator OAMData_36: ; 0x45cc - db $10, $08, $34, $06 - db $80 ; terminator + db $10, $08, $34, $06 + db $80 ; terminator OAMData_37: ; 0x45d1 - db $10, $08, $34, $26 - db $80 ; terminator + db $10, $08, $34, $26 + db $80 ; terminator OAMData_38: ; 0x45d6 - db $10, $08, $36, $06 - db $80 ; terminator + db $10, $08, $36, $06 + db $80 ; terminator OAMData_39: ; 0x45db - db $08, $08, $37, $46 - db $80 ; terminator + db $08, $08, $37, $46 + db $80 ; terminator OAMData_3a: ; 0x45e0 - db $10, $08, $90, $06 - db $80 ; terminator + db $10, $08, $90, $06 + db $80 ; terminator OAMData_3b: ; 0x45e5 - db $10, $08, $92, $06 - db $80 ; terminator + db $10, $08, $92, $06 + db $80 ; terminator OAMData_3c: ; 0x45ea - db $10, $08, $94, $06 - db $80 ; terminator + db $10, $08, $94, $06 + db $80 ; terminator OAMData_3d: ; 0x45ef - db $10, $08, $96, $17 - db $80 ; terminator + db $10, $08, $96, $17 + db $80 ; terminator OAMData_3e: ; 0x45f4 - db $10, $08, $98, $17 - db $80 ; terminator + db $10, $08, $98, $17 + db $80 ; terminator OAMData_3f: ; 0x45f9 - db $10, $08, $9a, $06 - db $80 ; terminator + db $10, $08, $9a, $06 + db $80 ; terminator OAMData_40: ; 0x45fe - db $10, $08, $9c, $06 - db $80 ; terminator + db $10, $08, $9c, $06 + db $80 ; terminator OAMData_41: ; 0x4603 - db $10, $08, $20, $06 - db $80 ; terminator + db $10, $08, $20, $06 + db $80 ; terminator OAMData_42: ; 0x4608 - db $10, $08, $22, $06 - db $80 ; terminator + db $10, $08, $22, $06 + db $80 ; terminator OAMData_43: ; 0x460d - db $10, $08, $24, $06 - db $80 ; terminator + db $10, $08, $24, $06 + db $80 ; terminator OAMData_44: ; 0x4612 - db $10, $08, $26, $17 - db $80 ; terminator + db $10, $08, $26, $17 + db $80 ; terminator OAMData_45: ; 0x4617 - db $10, $08, $28, $17 - db $80 ; terminator + db $10, $08, $28, $17 + db $80 ; terminator OAMData_46: ; 0x461c - db $10, $08, $2a, $06 - db $80 ; terminator + db $10, $08, $2a, $06 + db $80 ; terminator OAMData_47: ; 0x4621 - db $10, $08, $2c, $06 - db $80 ; terminator + db $10, $08, $2c, $06 + db $80 ; terminator OAMData_48: ; 0x4626 - db $10, $08, $60, $06 - db $80 ; terminator + db $10, $08, $60, $06 + db $80 ; terminator OAMData_49: ; 0x462b - db $10, $08, $62, $06 - db $80 ; terminator + db $10, $08, $62, $06 + db $80 ; terminator OAMData_4a: ; 0x4630 - db $10, $08, $64, $06 - db $80 ; terminator + db $10, $08, $64, $06 + db $80 ; terminator OAMData_4b: ; 0x4635 - db $10, $08, $66, $17 - db $80 ; terminator + db $10, $08, $66, $17 + db $80 ; terminator OAMData_4c: ; 0x463a - db $10, $08, $68, $17 - db $80 ; terminator + db $10, $08, $68, $17 + db $80 ; terminator OAMData_4d: ; 0x463f - db $10, $08, $6a, $06 - db $80 ; terminator + db $10, $08, $6a, $06 + db $80 ; terminator OAMData_4e: ; 0x4644 - db $10, $08, $6c, $06 - db $80 ; terminator + db $10, $08, $6c, $06 + db $80 ; terminator OAMData_4f: ; 0x4649 - db $1f, $19, $20, $37 - db $1f, $21, $1e, $37 - db $0f, $19, $1c, $37 - db $0f, $21, $1a, $37 - db $1f, $10, $20, $17 - db $1f, $08, $1e, $17 - db $0f, $10, $1c, $17 - db $0f, $08, $1a, $17 - db $80 ; terminator + db $1f, $19, $20, $37 + db $1f, $21, $1e, $37 + db $0f, $19, $1c, $37 + db $0f, $21, $1a, $37 + db $1f, $10, $20, $17 + db $1f, $08, $1e, $17 + db $0f, $10, $1c, $17 + db $0f, $08, $1a, $17 + db $80 ; terminator OAMData_50: ; 0x466a - db $1f, $19, $28, $37 - db $1f, $21, $26, $37 - db $0f, $19, $24, $37 - db $0f, $21, $22, $37 - db $1f, $10, $28, $17 - db $1f, $08, $26, $17 - db $0f, $10, $24, $17 - db $0f, $08, $22, $17 - db $80 ; terminator + db $1f, $19, $28, $37 + db $1f, $21, $26, $37 + db $0f, $19, $24, $37 + db $0f, $21, $22, $37 + db $1f, $10, $28, $17 + db $1f, $08, $26, $17 + db $0f, $10, $24, $17 + db $0f, $08, $22, $17 + db $80 ; terminator OAMData_51: ; 0x468b - db $1f, $19, $38, $37 - db $1f, $10, $38, $17 - db $1f, $21, $2e, $37 - db $0f, $19, $2c, $37 - db $0f, $21, $2a, $37 - db $1f, $08, $2e, $17 - db $0f, $10, $2c, $17 - db $0f, $08, $2a, $17 - db $80 ; terminator + db $1f, $19, $38, $37 + db $1f, $10, $38, $17 + db $1f, $21, $2e, $37 + db $0f, $19, $2c, $37 + db $0f, $21, $2a, $37 + db $1f, $08, $2e, $17 + db $0f, $10, $2c, $17 + db $0f, $08, $2a, $17 + db $80 ; terminator OAMData_52: ; 0x46ac - db $08, $f8, $60, $00 - db $80 ; terminator + db $08, $f8, $60, $00 + db $80 ; terminator OAMData_53: ; 0x46b1 - db $08, $08, $60, $00 - db $08, $00, $60, $00 - db $08, $f8, $60, $00 - db $80 ; terminator + db $08, $08, $60, $00 + db $08, $00, $60, $00 + db $08, $f8, $60, $00 + db $80 ; terminator OAMData_54: ; 0x46be - db $08, $20, $60, $00 - db $08, $18, $60, $00 - db $08, $10, $60, $00 - db $08, $08, $60, $00 - db $08, $00, $60, $00 - db $08, $f8, $60, $00 - db $80 ; terminator + db $08, $20, $60, $00 + db $08, $18, $60, $00 + db $08, $10, $60, $00 + db $08, $08, $60, $00 + db $08, $00, $60, $00 + db $08, $f8, $60, $00 + db $80 ; terminator OAMData_55: ; 0x46d7 - db $10, $20, $60, $00 - db $10, $18, $60, $00 - db $10, $10, $60, $00 - db $10, $08, $60, $00 - db $10, $00, $60, $00 - db $10, $f8, $60, $00 - db $08, $20, $60, $00 - db $08, $18, $60, $00 - db $08, $10, $60, $00 - db $08, $08, $60, $00 - db $08, $00, $60, $00 - db $08, $f8, $60, $00 - db $80 ; terminator + db $10, $20, $60, $00 + db $10, $18, $60, $00 + db $10, $10, $60, $00 + db $10, $08, $60, $00 + db $10, $00, $60, $00 + db $10, $f8, $60, $00 + db $08, $20, $60, $00 + db $08, $18, $60, $00 + db $08, $10, $60, $00 + db $08, $08, $60, $00 + db $08, $00, $60, $00 + db $08, $f8, $60, $00 + db $80 ; terminator OAMData_56: ; 0x4708 - db $10, $20, $60, $40 - db $10, $18, $60, $40 - db $10, $10, $60, $40 - db $10, $08, $60, $40 - db $10, $00, $60, $40 - db $18, $20, $60, $40 - db $18, $18, $60, $40 - db $18, $10, $60, $40 - db $18, $08, $60, $40 - db $18, $00, $60, $40 - db $18, $f8, $60, $40 - db $10, $f8, $60, $40 - db $08, $f8, $60, $40 - db $08, $20, $59, $00 - db $08, $18, $58, $00 - db $08, $10, $57, $00 - db $08, $08, $56, $00 - db $08, $00, $55, $00 - db $80 ; terminator + db $10, $20, $60, $40 + db $10, $18, $60, $40 + db $10, $10, $60, $40 + db $10, $08, $60, $40 + db $10, $00, $60, $40 + db $18, $20, $60, $40 + db $18, $18, $60, $40 + db $18, $10, $60, $40 + db $18, $08, $60, $40 + db $18, $00, $60, $40 + db $18, $f8, $60, $40 + db $10, $f8, $60, $40 + db $08, $f8, $60, $40 + db $08, $20, $59, $00 + db $08, $18, $58, $00 + db $08, $10, $57, $00 + db $08, $08, $56, $00 + db $08, $00, $55, $00 + db $80 ; terminator OAMData_57: ; 0x4751 - db $18, $20, $60, $40 - db $18, $18, $60, $40 - db $18, $10, $60, $40 - db $18, $08, $60, $40 - db $18, $00, $60, $40 - db $18, $f8, $60, $40 - db $10, $f8, $60, $40 - db $08, $f8, $60, $40 - db $10, $20, $5f, $00 - db $10, $18, $5e, $00 - db $10, $10, $5d, $00 - db $10, $08, $5c, $00 - db $10, $00, $5b, $00 - db $08, $20, $59, $00 - db $08, $18, $58, $00 - db $08, $10, $57, $00 - db $08, $08, $56, $00 - db $08, $00, $55, $00 - db $80 ; terminator + db $18, $20, $60, $40 + db $18, $18, $60, $40 + db $18, $10, $60, $40 + db $18, $08, $60, $40 + db $18, $00, $60, $40 + db $18, $f8, $60, $40 + db $10, $f8, $60, $40 + db $08, $f8, $60, $40 + db $10, $20, $5f, $00 + db $10, $18, $5e, $00 + db $10, $10, $5d, $00 + db $10, $08, $5c, $00 + db $10, $00, $5b, $00 + db $08, $20, $59, $00 + db $08, $18, $58, $00 + db $08, $10, $57, $00 + db $08, $08, $56, $00 + db $08, $00, $55, $00 + db $80 ; terminator OAMData_58: ; 0x479a - db $18, $f8, $60, $40 - db $10, $f8, $5a, $00 - db $08, $f8, $54, $00 - db $18, $20, $65, $00 - db $18, $18, $64, $00 - db $18, $10, $63, $00 - db $18, $08, $62, $00 - db $18, $00, $61, $00 - db $10, $20, $5f, $00 - db $10, $18, $5e, $00 - db $10, $10, $5d, $00 - db $10, $08, $5c, $00 - db $10, $00, $5b, $00 - db $08, $20, $59, $00 - db $08, $18, $58, $00 - db $08, $10, $57, $00 - db $08, $08, $56, $00 - db $08, $00, $55, $00 - db $80 ; terminator + db $18, $f8, $60, $40 + db $10, $f8, $5a, $00 + db $08, $f8, $54, $00 + db $18, $20, $65, $00 + db $18, $18, $64, $00 + db $18, $10, $63, $00 + db $18, $08, $62, $00 + db $18, $00, $61, $00 + db $10, $20, $5f, $00 + db $10, $18, $5e, $00 + db $10, $10, $5d, $00 + db $10, $08, $5c, $00 + db $10, $00, $5b, $00 + db $08, $20, $59, $00 + db $08, $18, $58, $00 + db $08, $10, $57, $00 + db $08, $08, $56, $00 + db $08, $00, $55, $00 + db $80 ; terminator OAMData_59: ; 0x47e3 - db $08, $f8, $60, $40 - db $18, $f8, $67, $00 - db $10, $f8, $66, $00 - db $18, $20, $65, $00 - db $18, $18, $64, $00 - db $18, $10, $63, $00 - db $18, $08, $62, $00 - db $18, $00, $61, $00 - db $10, $20, $5f, $00 - db $10, $18, $5e, $00 - db $10, $10, $5d, $00 - db $10, $08, $5c, $00 - db $10, $00, $5b, $00 - db $08, $20, $59, $00 - db $08, $18, $58, $00 - db $08, $10, $57, $00 - db $08, $08, $56, $00 - db $08, $00, $55, $00 - db $80 ; terminator + db $08, $f8, $60, $40 + db $18, $f8, $67, $00 + db $10, $f8, $66, $00 + db $18, $20, $65, $00 + db $18, $18, $64, $00 + db $18, $10, $63, $00 + db $18, $08, $62, $00 + db $18, $00, $61, $00 + db $10, $20, $5f, $00 + db $10, $18, $5e, $00 + db $10, $10, $5d, $00 + db $10, $08, $5c, $00 + db $10, $00, $5b, $00 + db $08, $20, $59, $00 + db $08, $18, $58, $00 + db $08, $10, $57, $00 + db $08, $08, $56, $00 + db $08, $00, $55, $00 + db $80 ; terminator TitlescreenPikachuBlinkFrame1OAM: ; 0x482c - db $10, $28, $3f, $00 - db $10, $20, $3e, $00 - db $10, $18, $3d, $00 - db $10, $10, $3c, $00 - db $10, $08, $3b, $00 - db $80 ; terminator + db $10, $28, $3f, $00 + db $10, $20, $3e, $00 + db $10, $18, $3d, $00 + db $10, $10, $3c, $00 + db $10, $08, $3b, $00 + db $80 ; terminator TitlescreenPikachuBlinkFrame2OAM: ; 0x4841 - db $18, $09, $44, $00 - db $10, $10, $41, $00 - db $10, $08, $40, $00 - db $80 ; terminator + db $18, $09, $44, $00 + db $10, $10, $41, $00 + db $10, $08, $40, $00 + db $80 ; terminator TitlescreenPikachuBlinkFrame3OAM: ; 0x484e - db $18, $09, $45, $00 - db $10, $10, $43, $00 - db $10, $08, $42, $00 - db $80 ; terminator + db $18, $09, $45, $00 + db $10, $10, $43, $00 + db $10, $08, $42, $00 + db $80 ; terminator ; These next 5 OAM entries are for the individual frames of the ; bouncing pokeball on the titlescreen. TitlescreenPokeball1OAM: ; 0x485b - db $14, $00, $4c, $02 - db $0c, $00, $46, $31 - db $14, $f8, $47, $02 - db $0c, $f8, $46, $11 - db $80 ; terminator + db $14, $00, $4c, $02 + db $0c, $00, $46, $31 + db $14, $f8, $47, $02 + db $0c, $f8, $46, $11 + db $80 ; terminator TitlescreenPokeball2OAM: ; 0x486c - db $15, $00, $4d, $02 - db $0d, $00, $48, $31 - db $15, $f8, $49, $02 - db $0d, $f8, $48, $11 - db $80 ; terminator + db $15, $00, $4d, $02 + db $0d, $00, $48, $31 + db $15, $f8, $49, $02 + db $0d, $f8, $48, $11 + db $80 ; terminator TitlescreenPokeball3OAM: ; 0x487d - db $13, $00, $4c, $02 - db $0b, $00, $46, $31 - db $13, $f8, $47, $02 - db $0b, $f8, $46, $11 - db $80 ; terminator + db $13, $00, $4c, $02 + db $0b, $00, $46, $31 + db $13, $f8, $47, $02 + db $0b, $f8, $46, $11 + db $80 ; terminator TitlescreenPokeball4OAM: ; 0x488e - db $11, $00, $4e, $02 - db $09, $00, $4a, $31 - db $11, $f8, $4b, $02 - db $09, $f8, $4a, $11 - db $80 ; terminator + db $11, $00, $4e, $02 + db $09, $00, $4a, $31 + db $11, $f8, $4b, $02 + db $09, $f8, $4a, $11 + db $80 ; terminator TitlescreenPokeball5OAM: ; 0x489f - db $11, $00, $4c, $02 - db $09, $00, $46, $31 - db $11, $f8, $47, $02 - db $09, $f8, $46, $11 - db $80 ; terminator + db $11, $00, $4c, $02 + db $09, $00, $46, $31 + db $11, $f8, $47, $02 + db $09, $f8, $46, $11 + db $80 ; terminator OAMData_62: ; 0x48b0 - db $10, $20, $53, $11 - db $10, $18, $52, $11 - db $08, $20, $51, $11 - db $18, $0c, $50, $11 - db $10, $0c, $4f, $11 - db $80 ; terminator + db $10, $20, $53, $11 + db $10, $18, $52, $11 + db $08, $20, $51, $11 + db $18, $0c, $50, $11 + db $10, $0c, $4f, $11 + db $80 ; terminator OAMData_63: ; 0x48c5 - db $10, $08, $70, $11 - db $80 ; terminator + db $10, $08, $70, $11 + db $80 ; terminator OAMData_64: ; 0x48ca - db $10, $10, $71, $31 - db $10, $08, $71, $11 - db $80 ; terminator + db $10, $10, $71, $31 + db $10, $08, $71, $11 + db $80 ; terminator OAMData_65: ; 0x48d3 - db $10, $18, $74, $17 - db $10, $10, $73, $00 - db $10, $08, $72, $17 - db $80 ; terminator + db $10, $18, $74, $17 + db $10, $10, $73, $00 + db $10, $08, $72, $17 + db $80 ; terminator OAMData_66: ; 0x48e0 - db $10, $18, $77, $17 - db $10, $10, $76, $00 - db $10, $08, $75, $17 - db $80 ; terminator + db $10, $18, $77, $17 + db $10, $10, $76, $00 + db $10, $08, $75, $17 + db $80 ; terminator OAMData_67: ; 0x48ed - db $10, $08, $78, $00 - db $80 ; terminator + db $10, $08, $78, $00 + db $80 ; terminator OAMData_68: ; 0x48f2 - db $10, $08, $79, $00 - db $80 ; terminator + db $10, $08, $79, $00 + db $80 ; terminator OAMData_69: ; 0x48f7 - db $10, $08, $79, $11 - db $80 ; terminator + db $10, $08, $79, $11 + db $80 ; terminator PokeDexTextOAM: ; 0x48fc ; "POKeDEX" in the top-right corner of the Pokedex screen - db $12, $34, $7f, $11 - db $12, $2c, $7e, $11 - db $12, $24, $7d, $11 - db $12, $1c, $7c, $11 - db $12, $14, $7b, $11 - db $12, $0c, $7a, $11 - db $80 ; terminator + db $12, $34, $7f, $11 + db $12, $2c, $7e, $11 + db $12, $24, $7d, $11 + db $12, $1c, $7c, $11 + db $12, $14, $7b, $11 + db $12, $0c, $7a, $11 + db $80 ; terminator OAMData_6b: ; 0x4915 - db $10, $08, $6f, $11 - db $80 ; terminator + db $10, $08, $6f, $11 + db $80 ; terminator Digit0OAM: ; 0x491a - db $10, $08, $53, $11 - db $80 ; terminator + db $10, $08, $53, $11 + db $80 ; terminator Digit1OAM: ; 0x491f - db $10, $08, $54, $11 - db $80 ; terminator + db $10, $08, $54, $11 + db $80 ; terminator Digit2OAM: ; 0x4924 - db $10, $08, $55, $11 - db $80 ; terminator + db $10, $08, $55, $11 + db $80 ; terminator Digit3OAM: ; 0x4929 - db $10, $08, $56, $11 - db $80 ; terminator + db $10, $08, $56, $11 + db $80 ; terminator Digit4OAM: ; 0x492e - db $10, $08, $57, $11 - db $80 ; terminator + db $10, $08, $57, $11 + db $80 ; terminator Digit5OAM: ; 0x4933 - db $10, $08, $58, $11 - db $80 ; terminator + db $10, $08, $58, $11 + db $80 ; terminator Digit6OAM: ; 0x4938 - db $10, $08, $59, $11 - db $80 ; terminator + db $10, $08, $59, $11 + db $80 ; terminator Digit7OAM: ; 0x493d - db $10, $08, $5a, $11 - db $80 ; terminator + db $10, $08, $5a, $11 + db $80 ; terminator Digit8OAM: ; 0x4942 - db $10, $08, $5b, $11 - db $80 ; terminator + db $10, $08, $5b, $11 + db $80 ; terminator Digit9OAM: ; 0x4947 - db $10, $08, $5c, $11 - db $80 ; terminator + db $10, $08, $5c, $11 + db $80 ; terminator SlashCharacterOAM: ; 0x494c ; "/" (used to separate seen/own count on the pokedex screen) - db $10, $08, $5e, $11 - db $80 ; terminator + db $10, $08, $5e, $11 + db $80 ; terminator OAMData_77: ; 0x4951 - db $11, $07, $34, $00 - db $80 ; terminator + db $11, $07, $34, $00 + db $80 ; terminator OAMData_78: ; 0x4956 - db $0f, $07, $36, $00 - db $80 ; terminator + db $0f, $07, $36, $00 + db $80 ; terminator OAMData_79: ; 0x495b - db $0f, $07, $38, $00 - db $80 ; terminator + db $0f, $07, $38, $00 + db $80 ; terminator OAMData_7a: ; 0x4960 - db $f4, $18, $26, $13 - db $f4, $10, $24, $13 - db $f4, $08, $22, $13 - db $10, $00, $3a, $02 - db $09, $10, $3e, $00 - db $08, $08, $3c, $00 - db $80 ; terminator + db $f4, $18, $26, $13 + db $f4, $10, $24, $13 + db $f4, $08, $22, $13 + db $10, $00, $3a, $02 + db $09, $10, $3e, $00 + db $08, $08, $3c, $00 + db $80 ; terminator OAMData_7b: ; 0x4979 - db $10, $28, $78, $00 - db $10, $08, $5c, $02 - db $10, $10, $5e, $02 - db $10, $18, $60, $02 - db $10, $20, $62, $02 - db $20, $08, $64, $02 - db $20, $10, $66, $02 - db $20, $18, $68, $02 - db $20, $20, $6a, $02 - db $20, $28, $6c, $02 - db $30, $08, $6e, $02 - db $30, $10, $70, $02 - db $30, $18, $72, $02 - db $30, $20, $74, $02 - db $30, $28, $76, $02 - db $80 ; terminator + db $10, $28, $78, $00 + db $10, $08, $5c, $02 + db $10, $10, $5e, $02 + db $10, $18, $60, $02 + db $10, $20, $62, $02 + db $20, $08, $64, $02 + db $20, $10, $66, $02 + db $20, $18, $68, $02 + db $20, $20, $6a, $02 + db $20, $28, $6c, $02 + db $30, $08, $6e, $02 + db $30, $10, $70, $02 + db $30, $18, $72, $02 + db $30, $20, $74, $02 + db $30, $28, $76, $02 + db $80 ; terminator OAMData_7c: ; 0x49b6 - db $11, $29, $7a, $02 - db $11, $09, $40, $02 - db $11, $11, $42, $02 - db $11, $19, $44, $02 - db $11, $21, $46, $02 - db $21, $09, $48, $02 - db $21, $11, $4a, $02 - db $21, $19, $4c, $02 - db $21, $21, $4e, $02 - db $21, $29, $50, $02 - db $31, $09, $52, $02 - db $31, $11, $54, $02 - db $31, $19, $56, $02 - db $31, $21, $58, $02 - db $31, $29, $5a, $02 - db $80 ; terminator + db $11, $29, $7a, $02 + db $11, $09, $40, $02 + db $11, $11, $42, $02 + db $11, $19, $44, $02 + db $11, $21, $46, $02 + db $21, $09, $48, $02 + db $21, $11, $4a, $02 + db $21, $19, $4c, $02 + db $21, $21, $4e, $02 + db $21, $29, $50, $02 + db $31, $09, $52, $02 + db $31, $11, $54, $02 + db $31, $19, $56, $02 + db $31, $21, $58, $02 + db $31, $29, $5a, $02 + db $80 ; terminator OAMData_7d: ; 0x49f3 - db $0c, $10, $2a, $04 - db $0c, $08, $28, $04 - db $80 ; terminator + db $0c, $10, $2a, $04 + db $0c, $08, $28, $04 + db $80 ; terminator OAMData_7e: ; 0x49fc - db $0d, $10, $2e, $04 - db $0d, $08, $2c, $04 - db $80 ; terminator + db $0d, $10, $2e, $04 + db $0d, $08, $2c, $04 + db $80 ; terminator OAMData_7f: ; 0x4a05 - db $0b, $10, $2a, $04 - db $0b, $08, $28, $04 - db $80 ; terminator + db $0b, $10, $2a, $04 + db $0b, $08, $28, $04 + db $80 ; terminator OAMData_80: ; 0x4a0e - db $09, $10, $32, $04 - db $09, $08, $30, $04 - db $80 ; terminator + db $09, $10, $32, $04 + db $09, $08, $30, $04 + db $80 ; terminator OAMData_81: ; 0x4a17 - db $09, $10, $2a, $04 - db $09, $08, $28, $04 - db $80 ; terminator + db $09, $10, $2a, $04 + db $09, $08, $28, $04 + db $80 ; terminator OAMData_82: ; 0x4a20 - db $10, $08, $7c, $00 - db $80 ; terminator + db $10, $08, $7c, $00 + db $80 ; terminator OAMData_83: ; 0x4a25 - db $10, $08, $7c, $20 - db $80 ; terminator + db $10, $08, $7c, $20 + db $80 ; terminator OAMData_84: ; 0x4a2a - db $10, $08, $7e, $11 - db $80 ; terminator + db $10, $08, $7e, $11 + db $80 ; terminator OAMData_85: ; 0x4a2f - db $10, $08, $20, $13 - db $80 ; terminator + db $10, $08, $20, $13 + db $80 ; terminator OAMData_86: ; 0x4a34 - db $18, $08, $7f, $00 - db $10, $08, $7e, $00 - db $80 ; terminator + db $18, $08, $7f, $00 + db $10, $08, $7e, $00 + db $80 ; terminator OAMData_87: ; 0x4a3d - db $20, $25, $15, $02 - db $18, $25, $0f, $02 - db $10, $25, $0a, $02 - db $18, $1d, $0e, $02 - db $18, $15, $0d, $02 - db $18, $0d, $0c, $02 - db $18, $05, $0b, $02 - db $10, $1d, $09, $02 - db $10, $15, $08, $02 - db $10, $0d, $07, $02 - db $10, $05, $06, $02 - db $20, $1d, $14, $02 - db $20, $15, $13, $02 - db $20, $0d, $12, $02 - db $20, $05, $11, $02 - db $80 ; terminator + db $20, $25, $15, $02 + db $18, $25, $0f, $02 + db $10, $25, $0a, $02 + db $18, $1d, $0e, $02 + db $18, $15, $0d, $02 + db $18, $0d, $0c, $02 + db $18, $05, $0b, $02 + db $10, $1d, $09, $02 + db $10, $15, $08, $02 + db $10, $0d, $07, $02 + db $10, $05, $06, $02 + db $20, $1d, $14, $02 + db $20, $15, $13, $02 + db $20, $0d, $12, $02 + db $20, $05, $11, $02 + db $80 ; terminator OAMData_88: ; 0x4a7a - db $20, $f5, $10, $02 - db $18, $f5, $02, $02 - db $10, $f5, $01, $02 - db $80 ; terminator + db $20, $f5, $10, $02 + db $18, $f5, $02, $02 + db $10, $f5, $01, $02 + db $80 ; terminator OAMData_89: ; 0x4a87 - db $10, $f5, $10, $42 - db $18, $f5, $02, $42 - db $20, $f5, $01, $42 - db $80 ; terminator + db $10, $f5, $10, $42 + db $18, $f5, $02, $42 + db $20, $f5, $01, $42 + db $80 ; terminator OAMData_8a: ; 0x4a94 - db $20, $fd, $00, $02 - db $18, $fd, $00, $02 - db $10, $fd, $00, $02 - db $80 ; terminator + db $20, $fd, $00, $02 + db $18, $fd, $00, $02 + db $10, $fd, $00, $02 + db $80 ; terminator OAMData_8b: ; 0x4aa1 - db $20, $fd, $00, $02 - db $18, $fd, $04, $02 - db $10, $fd, $03, $02 - db $80 ; terminator + db $20, $fd, $00, $02 + db $18, $fd, $04, $02 + db $10, $fd, $03, $02 + db $80 ; terminator OAMData_8c: ; 0x4aae - db $10, $fd, $00, $02 - db $18, $fd, $04, $42 - db $20, $fd, $03, $42 - db $80 ; terminator + db $10, $fd, $00, $02 + db $18, $fd, $04, $42 + db $20, $fd, $03, $42 + db $80 ; terminator OAMData_8d: ; 0x4abb - db $18, $fd, $05, $02 - db $20, $fd, $03, $42 - db $10, $fd, $03, $02 - db $80 ; terminator + db $18, $fd, $05, $02 + db $20, $fd, $03, $42 + db $10, $fd, $03, $02 + db $80 ; terminator OAMData_8e: ; 0x4ac8 - db $0e, $2f, $1f, $02 - db $0e, $27, $1e, $02 - db $16, $2f, $29, $02 - db $16, $27, $28, $02 - db $16, $1f, $27, $02 - db $16, $17, $26, $02 - db $16, $0f, $25, $02 - db $16, $07, $24, $02 - db $16, $ff, $23, $02 - db $16, $f7, $22, $02 - db $16, $ef, $21, $02 - db $16, $e7, $20, $02 - db $0e, $1f, $1d, $02 - db $0e, $17, $1c, $02 - db $0e, $0f, $1b, $02 - db $0e, $07, $1a, $02 - db $0e, $ff, $19, $02 - db $0e, $f7, $18, $02 - db $0e, $ef, $17, $02 - db $0e, $e7, $16, $02 - db $80 ; terminator + db $0e, $2f, $1f, $02 + db $0e, $27, $1e, $02 + db $16, $2f, $29, $02 + db $16, $27, $28, $02 + db $16, $1f, $27, $02 + db $16, $17, $26, $02 + db $16, $0f, $25, $02 + db $16, $07, $24, $02 + db $16, $ff, $23, $02 + db $16, $f7, $22, $02 + db $16, $ef, $21, $02 + db $16, $e7, $20, $02 + db $0e, $1f, $1d, $02 + db $0e, $17, $1c, $02 + db $0e, $0f, $1b, $02 + db $0e, $07, $1a, $02 + db $0e, $ff, $19, $02 + db $0e, $f7, $18, $02 + db $0e, $ef, $17, $02 + db $0e, $e7, $16, $02 + db $80 ; terminator SendingHighScoresTextOAM: ; 0x4b19 ; The text "SENDING..." during the sending high scores animation. - db $0e, $2f, $1f, $02 - db $0e, $27, $1e, $02 - db $16, $2f, $3b, $02 - db $16, $27, $3a, $02 - db $16, $1f, $39, $02 - db $16, $17, $38, $02 - db $16, $0f, $37, $02 - db $16, $07, $36, $02 - db $16, $ff, $35, $02 - db $16, $f7, $34, $02 - db $16, $ef, $33, $02 - db $16, $e7, $32, $02 - db $0e, $1f, $31, $02 - db $0e, $17, $30, $02 - db $0e, $0f, $2f, $02 - db $0e, $07, $2e, $02 - db $0e, $ff, $2d, $02 - db $0e, $f7, $2c, $02 - db $0e, $ef, $2b, $02 - db $0e, $e7, $2a, $02 - db $80 ; terminator + db $0e, $2f, $1f, $02 + db $0e, $27, $1e, $02 + db $16, $2f, $3b, $02 + db $16, $27, $3a, $02 + db $16, $1f, $39, $02 + db $16, $17, $38, $02 + db $16, $0f, $37, $02 + db $16, $07, $36, $02 + db $16, $ff, $35, $02 + db $16, $f7, $34, $02 + db $16, $ef, $33, $02 + db $16, $e7, $32, $02 + db $0e, $1f, $31, $02 + db $0e, $17, $30, $02 + db $0e, $0f, $2f, $02 + db $0e, $07, $2e, $02 + db $0e, $ff, $2d, $02 + db $0e, $f7, $2c, $02 + db $0e, $ef, $2b, $02 + db $0e, $e7, $2a, $02 + db $80 ; terminator OAMData_90: ; 0x4b6a - db $1d, $14, $48, $02 - db $1d, $0c, $47, $02 - db $15, $1c, $45, $02 - db $15, $14, $44, $02 - db $15, $0c, $43, $02 - db $15, $04, $42, $02 - db $15, $fc, $41, $02 - db $1d, $1c, $00, $02 - db $1d, $fc, $00, $02 - db $25, $1c, $4c, $22 - db $25, $14, $4e, $02 - db $25, $0c, $4e, $02 - db $25, $04, $4d, $02 - db $25, $fc, $4c, $02 - db $1d, $04, $46, $02 - db $0d, $1c, $40, $02 - db $0d, $14, $3f, $02 - db $0d, $0c, $3e, $02 - db $0d, $04, $3d, $02 - db $0d, $fc, $3c, $02 - db $80 ; terminator + db $1d, $14, $48, $02 + db $1d, $0c, $47, $02 + db $15, $1c, $45, $02 + db $15, $14, $44, $02 + db $15, $0c, $43, $02 + db $15, $04, $42, $02 + db $15, $fc, $41, $02 + db $1d, $1c, $00, $02 + db $1d, $fc, $00, $02 + db $25, $1c, $4c, $22 + db $25, $14, $4e, $02 + db $25, $0c, $4e, $02 + db $25, $04, $4d, $02 + db $25, $fc, $4c, $02 + db $1d, $04, $46, $02 + db $0d, $1c, $40, $02 + db $0d, $14, $3f, $02 + db $0d, $0c, $3e, $02 + db $0d, $04, $3d, $02 + db $0d, $fc, $3c, $02 + db $80 ; terminator OAMData_91: ; 0x4bbb - db $1d, $14, $49, $02 - db $1d, $0c, $47, $02 - db $15, $1c, $45, $02 - db $15, $14, $44, $02 - db $15, $0c, $43, $02 - db $15, $04, $42, $02 - db $15, $fc, $41, $02 - db $1d, $1c, $00, $02 - db $1d, $fc, $00, $02 - db $25, $1c, $4c, $22 - db $25, $14, $4e, $02 - db $25, $0c, $4e, $02 - db $25, $04, $4d, $02 - db $25, $fc, $4c, $02 - db $1d, $04, $46, $02 - db $0d, $1c, $40, $02 - db $0d, $14, $3f, $02 - db $0d, $0c, $3e, $02 - db $0d, $04, $3d, $02 - db $0d, $fc, $3c, $02 - db $80 ; terminator + db $1d, $14, $49, $02 + db $1d, $0c, $47, $02 + db $15, $1c, $45, $02 + db $15, $14, $44, $02 + db $15, $0c, $43, $02 + db $15, $04, $42, $02 + db $15, $fc, $41, $02 + db $1d, $1c, $00, $02 + db $1d, $fc, $00, $02 + db $25, $1c, $4c, $22 + db $25, $14, $4e, $02 + db $25, $0c, $4e, $02 + db $25, $04, $4d, $02 + db $25, $fc, $4c, $02 + db $1d, $04, $46, $02 + db $0d, $1c, $40, $02 + db $0d, $14, $3f, $02 + db $0d, $0c, $3e, $02 + db $0d, $04, $3d, $02 + db $0d, $fc, $3c, $02 + db $80 ; terminator OAMData_92: ; 0x4c0c - db $1d, $14, $4a, $02 - db $1d, $0c, $47, $02 - db $15, $1c, $45, $02 - db $15, $14, $44, $02 - db $15, $0c, $43, $02 - db $15, $04, $42, $02 - db $15, $fc, $41, $02 - db $1d, $1c, $00, $02 - db $1d, $fc, $00, $02 - db $25, $1c, $4c, $22 - db $25, $14, $4e, $02 - db $25, $0c, $4e, $02 - db $25, $04, $4d, $02 - db $25, $fc, $4c, $02 - db $1d, $04, $46, $02 - db $0d, $1c, $40, $02 - db $0d, $14, $3f, $02 - db $0d, $0c, $3e, $02 - db $0d, $04, $3d, $02 - db $0d, $fc, $3c, $02 - db $80 ; terminator + db $1d, $14, $4a, $02 + db $1d, $0c, $47, $02 + db $15, $1c, $45, $02 + db $15, $14, $44, $02 + db $15, $0c, $43, $02 + db $15, $04, $42, $02 + db $15, $fc, $41, $02 + db $1d, $1c, $00, $02 + db $1d, $fc, $00, $02 + db $25, $1c, $4c, $22 + db $25, $14, $4e, $02 + db $25, $0c, $4e, $02 + db $25, $04, $4d, $02 + db $25, $fc, $4c, $02 + db $1d, $04, $46, $02 + db $0d, $1c, $40, $02 + db $0d, $14, $3f, $02 + db $0d, $0c, $3e, $02 + db $0d, $04, $3d, $02 + db $0d, $fc, $3c, $02 + db $80 ; terminator OAMData_93: ; 0x4c5d - db $1d, $14, $4b, $02 - db $1d, $0c, $47, $02 - db $15, $1c, $45, $02 - db $15, $14, $44, $02 - db $15, $0c, $43, $02 - db $15, $04, $42, $02 - db $15, $fc, $41, $02 - db $1d, $1c, $00, $02 - db $1d, $fc, $00, $02 - db $25, $1c, $4c, $22 - db $25, $14, $4e, $02 - db $25, $0c, $4e, $02 - db $25, $04, $4d, $02 - db $25, $fc, $4c, $02 - db $1d, $04, $46, $02 - db $0d, $1c, $40, $02 - db $0d, $14, $3f, $02 - db $0d, $0c, $3e, $02 - db $0d, $04, $3d, $02 - db $0d, $fc, $3c, $02 - db $80 ; terminator + db $1d, $14, $4b, $02 + db $1d, $0c, $47, $02 + db $15, $1c, $45, $02 + db $15, $14, $44, $02 + db $15, $0c, $43, $02 + db $15, $04, $42, $02 + db $15, $fc, $41, $02 + db $1d, $1c, $00, $02 + db $1d, $fc, $00, $02 + db $25, $1c, $4c, $22 + db $25, $14, $4e, $02 + db $25, $0c, $4e, $02 + db $25, $04, $4d, $02 + db $25, $fc, $4c, $02 + db $1d, $04, $46, $02 + db $0d, $1c, $40, $02 + db $0d, $14, $3f, $02 + db $0d, $0c, $3e, $02 + db $0d, $04, $3d, $02 + db $0d, $fc, $3c, $02 + db $80 ; terminator OAMData_94: ; 0x4cae - db $28, $eb, $10, $02 - db $20, $2b, $00, $02 - db $20, $eb, $00, $02 - db $28, $33, $58, $42 - db $20, $33, $62, $02 - db $18, $33, $62, $02 - db $18, $2b, $61, $02 - db $10, $33, $58, $02 - db $10, $2b, $57, $02 - db $20, $23, $69, $02 - db $20, $1b, $68, $02 - db $20, $13, $67, $02 - db $20, $0b, $66, $02 - db $20, $03, $65, $02 - db $20, $fb, $64, $02 - db $20, $f3, $63, $02 - db $18, $23, $60, $02 - db $18, $1b, $5f, $02 - db $18, $13, $5e, $02 - db $18, $0b, $5d, $02 - db $18, $03, $5c, $02 - db $18, $fb, $5b, $02 - db $18, $f3, $5a, $02 - db $18, $eb, $59, $02 - db $10, $23, $56, $02 - db $10, $1b, $55, $02 - db $10, $13, $54, $02 - db $10, $0b, $53, $02 - db $10, $03, $52, $02 - db $10, $fb, $51, $02 - db $10, $f3, $50, $02 - db $10, $eb, $4f, $02 - db $28, $2b, $71, $02 - db $28, $23, $70, $02 - db $28, $1b, $6f, $02 - db $28, $13, $6e, $02 - db $28, $0b, $6d, $02 - db $28, $03, $6c, $02 - db $28, $fb, $6b, $02 - db $28, $f3, $6a, $02 - db $80 ; terminator + db $28, $eb, $10, $02 + db $20, $2b, $00, $02 + db $20, $eb, $00, $02 + db $28, $33, $58, $42 + db $20, $33, $62, $02 + db $18, $33, $62, $02 + db $18, $2b, $61, $02 + db $10, $33, $58, $02 + db $10, $2b, $57, $02 + db $20, $23, $69, $02 + db $20, $1b, $68, $02 + db $20, $13, $67, $02 + db $20, $0b, $66, $02 + db $20, $03, $65, $02 + db $20, $fb, $64, $02 + db $20, $f3, $63, $02 + db $18, $23, $60, $02 + db $18, $1b, $5f, $02 + db $18, $13, $5e, $02 + db $18, $0b, $5d, $02 + db $18, $03, $5c, $02 + db $18, $fb, $5b, $02 + db $18, $f3, $5a, $02 + db $18, $eb, $59, $02 + db $10, $23, $56, $02 + db $10, $1b, $55, $02 + db $10, $13, $54, $02 + db $10, $0b, $53, $02 + db $10, $03, $52, $02 + db $10, $fb, $51, $02 + db $10, $f3, $50, $02 + db $10, $eb, $4f, $02 + db $28, $2b, $71, $02 + db $28, $23, $70, $02 + db $28, $1b, $6f, $02 + db $28, $13, $6e, $02 + db $28, $0b, $6d, $02 + db $28, $03, $6c, $02 + db $28, $fb, $6b, $02 + db $28, $f3, $6a, $02 + db $80 ; terminator HighScoresRightArrowOAM: ; 0x4d4f - db $18, $18, $7d, $11 - db $18, $10, $7c, $11 - db $18, $08, $7b, $11 - db $10, $10, $7a, $11 - db $80 ; terminator + db $18, $18, $7d, $11 + db $18, $10, $7c, $11 + db $18, $08, $7b, $11 + db $10, $10, $7a, $11 + db $80 ; terminator HighScoresLeftArrowOAM: ; 0x4d60 - db $18, $08, $7d, $31 - db $18, $10, $7c, $31 - db $18, $18, $7b, $31 - db $10, $10, $7a, $31 - db $80 ; terminator + db $18, $08, $7d, $31 + db $18, $10, $7c, $31 + db $18, $18, $7b, $31 + db $10, $10, $7a, $31 + db $80 ; terminator OAMData_97: ; 0x4d71 - db $16, $30, $8b, $02 - db $16, $28, $8a, $02 - db $16, $20, $89, $02 - db $16, $18, $88, $02 - db $16, $10, $87, $02 - db $16, $08, $86, $02 - db $16, $00, $85, $02 - db $16, $f8, $84, $02 - db $16, $f0, $83, $02 - db $16, $e8, $82, $02 - db $0e, $30, $81, $02 - db $0e, $28, $80, $02 - db $0e, $20, $79, $02 - db $0e, $18, $78, $02 - db $0e, $10, $77, $02 - db $0e, $08, $76, $02 - db $0e, $00, $75, $02 - db $0e, $f8, $74, $02 - db $0e, $f0, $73, $02 - db $0e, $e8, $72, $02 - db $80 ; terminator + db $16, $30, $8b, $02 + db $16, $28, $8a, $02 + db $16, $20, $89, $02 + db $16, $18, $88, $02 + db $16, $10, $87, $02 + db $16, $08, $86, $02 + db $16, $00, $85, $02 + db $16, $f8, $84, $02 + db $16, $f0, $83, $02 + db $16, $e8, $82, $02 + db $0e, $30, $81, $02 + db $0e, $28, $80, $02 + db $0e, $20, $79, $02 + db $0e, $18, $78, $02 + db $0e, $10, $77, $02 + db $0e, $08, $76, $02 + db $0e, $00, $75, $02 + db $0e, $f8, $74, $02 + db $0e, $f0, $73, $02 + db $0e, $e8, $72, $02 + db $80 ; terminator SendHighScoresAnimation1OAM: ; 0x4dc2 - db $18, $10, $8f, $04 - db $18, $08, $8e, $04 - db $10, $10, $8d, $04 - db $10, $08, $8c, $04 - db $80 ; terminator + db $18, $10, $8f, $04 + db $18, $08, $8e, $04 + db $10, $10, $8d, $04 + db $10, $08, $8c, $04 + db $80 ; terminator SendHighScoresAnimation2OAM: ; 0x4dd3 - db $18, $10, $91, $04 - db $18, $08, $90, $04 - db $10, $10, $8d, $04 - db $10, $08, $8c, $04 - db $80 ; terminator + db $18, $10, $91, $04 + db $18, $08, $90, $04 + db $10, $10, $8d, $04 + db $10, $08, $8c, $04 + db $80 ; terminator SendHighScoresAnimation3OAM: ; 0x4de4 - db $18, $10, $93, $04 - db $18, $08, $92, $04 - db $10, $10, $8d, $04 - db $10, $08, $8c, $04 - db $80 ; terminator + db $18, $10, $93, $04 + db $18, $08, $92, $04 + db $10, $10, $8d, $04 + db $10, $08, $8c, $04 + db $80 ; terminator SendHighScoresAnimation4OAM: ; 0x4df5 - db $10, $10, $95, $04 - db $10, $08, $94, $04 - db $18, $10, $93, $04 - db $18, $08, $92, $04 - db $80 ; terminator + db $10, $10, $95, $04 + db $10, $08, $94, $04 + db $18, $10, $93, $04 + db $18, $08, $92, $04 + db $80 ; terminator SendHighScoresAnimation5OAM: ; 0x4e06 - db $18, $10, $97, $04 - db $18, $08, $96, $04 - db $10, $10, $95, $04 - db $10, $08, $94, $04 - db $80 ; terminator + db $18, $10, $97, $04 + db $18, $08, $96, $04 + db $10, $10, $95, $04 + db $10, $08, $94, $04 + db $80 ; terminator SendHighScoresAnimation6OAM: ; 0x4e17 - db $18, $10, $8f, $04 - db $18, $08, $8e, $04 - db $10, $10, $95, $04 - db $10, $08, $94, $04 - db $80 ; terminator + db $18, $10, $8f, $04 + db $18, $08, $8e, $04 + db $10, $10, $95, $04 + db $10, $08, $94, $04 + db $80 ; terminator FieldSelectRedStageBorderOAM: ; 0x4e28 - db $36, $1c, $71, $40 - db $26, $24, $72, $60 - db $2e, $24, $72, $60 - db $36, $24, $70, $60 - db $36, $17, $71, $40 - db $36, $0f, $71, $40 - db $36, $07, $71, $40 - db $36, $ff, $71, $40 - db $36, $f7, $71, $40 - db $26, $e8, $72, $40 - db $2e, $e8, $72, $40 - db $36, $f0, $71, $40 - db $36, $e8, $70, $40 - db $22, $e8, $72, $40 - db $22, $24, $72, $60 - db $12, $24, $72, $60 - db $1a, $24, $72, $60 - db $0a, $24, $72, $20 - db $12, $e8, $72, $40 - db $1a, $e8, $72, $40 - db $0a, $e8, $72, $00 - db $e2, $1c, $71, $00 - db $02, $e8, $72, $00 - db $02, $24, $72, $20 - db $fa, $24, $72, $20 - db $f2, $24, $72, $20 - db $ea, $24, $72, $20 - db $e2, $17, $71, $00 - db $e2, $0f, $71, $00 - db $e2, $07, $71, $00 - db $e2, $24, $70, $20 - db $e2, $ff, $71, $00 - db $e2, $f7, $71, $00 - db $fa, $e8, $72, $00 - db $f2, $e8, $72, $00 - db $ea, $e8, $72, $00 - db $e2, $f0, $71, $00 - db $e2, $e8, $70, $00 - db $80 ; terminator + db $36, $1c, $71, $40 + db $26, $24, $72, $60 + db $2e, $24, $72, $60 + db $36, $24, $70, $60 + db $36, $17, $71, $40 + db $36, $0f, $71, $40 + db $36, $07, $71, $40 + db $36, $ff, $71, $40 + db $36, $f7, $71, $40 + db $26, $e8, $72, $40 + db $2e, $e8, $72, $40 + db $36, $f0, $71, $40 + db $36, $e8, $70, $40 + db $22, $e8, $72, $40 + db $22, $24, $72, $60 + db $12, $24, $72, $60 + db $1a, $24, $72, $60 + db $0a, $24, $72, $20 + db $12, $e8, $72, $40 + db $1a, $e8, $72, $40 + db $0a, $e8, $72, $00 + db $e2, $1c, $71, $00 + db $02, $e8, $72, $00 + db $02, $24, $72, $20 + db $fa, $24, $72, $20 + db $f2, $24, $72, $20 + db $ea, $24, $72, $20 + db $e2, $17, $71, $00 + db $e2, $0f, $71, $00 + db $e2, $07, $71, $00 + db $e2, $24, $70, $20 + db $e2, $ff, $71, $00 + db $e2, $f7, $71, $00 + db $fa, $e8, $72, $00 + db $f2, $e8, $72, $00 + db $ea, $e8, $72, $00 + db $e2, $f0, $71, $00 + db $e2, $e8, $70, $00 + db $80 ; terminator FieldSelectBlueStageBorderOAM: ; 0x4ec1 - db $36, $1c, $74, $40 - db $26, $24, $75, $60 - db $2e, $24, $75, $60 - db $36, $24, $73, $60 - db $36, $17, $74, $40 - db $36, $0f, $74, $40 - db $36, $07, $74, $40 - db $36, $ff, $74, $40 - db $36, $f7, $74, $40 - db $26, $e8, $75, $40 - db $2e, $e8, $75, $40 - db $36, $f0, $74, $40 - db $36, $e8, $73, $40 - db $22, $e8, $75, $40 - db $22, $24, $75, $60 - db $12, $24, $75, $60 - db $1a, $24, $75, $60 - db $0a, $24, $75, $20 - db $12, $e8, $75, $40 - db $1a, $e8, $75, $40 - db $0a, $e8, $75, $00 - db $e2, $1c, $74, $00 - db $02, $e8, $75, $00 - db $02, $24, $75, $20 - db $fa, $24, $75, $20 - db $f2, $24, $75, $20 - db $ea, $24, $75, $20 - db $e2, $17, $74, $00 - db $e2, $0f, $74, $00 - db $e2, $07, $74, $00 - db $e2, $24, $73, $20 - db $e2, $ff, $74, $00 - db $e2, $f7, $74, $00 - db $fa, $e8, $75, $00 - db $f2, $e8, $75, $00 - db $ea, $e8, $75, $00 - db $e2, $f0, $74, $00 - db $e2, $e8, $73, $00 - db $80 ; terminator + db $36, $1c, $74, $40 + db $26, $24, $75, $60 + db $2e, $24, $75, $60 + db $36, $24, $73, $60 + db $36, $17, $74, $40 + db $36, $0f, $74, $40 + db $36, $07, $74, $40 + db $36, $ff, $74, $40 + db $36, $f7, $74, $40 + db $26, $e8, $75, $40 + db $2e, $e8, $75, $40 + db $36, $f0, $74, $40 + db $36, $e8, $73, $40 + db $22, $e8, $75, $40 + db $22, $24, $75, $60 + db $12, $24, $75, $60 + db $1a, $24, $75, $60 + db $0a, $24, $75, $20 + db $12, $e8, $75, $40 + db $1a, $e8, $75, $40 + db $0a, $e8, $75, $00 + db $e2, $1c, $74, $00 + db $02, $e8, $75, $00 + db $02, $24, $75, $20 + db $fa, $24, $75, $20 + db $f2, $24, $75, $20 + db $ea, $24, $75, $20 + db $e2, $17, $74, $00 + db $e2, $0f, $74, $00 + db $e2, $07, $74, $00 + db $e2, $24, $73, $20 + db $e2, $ff, $74, $00 + db $e2, $f7, $74, $00 + db $fa, $e8, $75, $00 + db $f2, $e8, $75, $00 + db $ea, $e8, $75, $00 + db $e2, $f0, $74, $00 + db $e2, $e8, $73, $00 + db $80 ; terminator OAMData_a0: ; 0x4f5a - db $36, $1c, $77, $40 - db $26, $24, $78, $60 - db $2e, $24, $78, $60 - db $36, $24, $76, $60 - db $36, $17, $77, $40 - db $36, $0f, $77, $40 - db $36, $07, $77, $40 - db $36, $ff, $77, $40 - db $36, $f7, $77, $40 - db $26, $e8, $78, $40 - db $2e, $e8, $78, $40 - db $36, $f0, $77, $40 - db $36, $e8, $76, $40 - db $22, $e8, $78, $40 - db $22, $24, $78, $60 - db $12, $24, $78, $60 - db $1a, $24, $78, $60 - db $0a, $24, $78, $20 - db $12, $e8, $78, $40 - db $1a, $e8, $78, $40 - db $0a, $e8, $78, $00 - db $e2, $1c, $77, $00 - db $02, $e8, $78, $00 - db $02, $24, $78, $20 - db $fa, $24, $78, $20 - db $f2, $24, $78, $20 - db $ea, $24, $78, $20 - db $e2, $17, $77, $00 - db $e2, $0f, $77, $00 - db $e2, $07, $77, $00 - db $e2, $24, $76, $20 - db $e2, $ff, $77, $00 - db $e2, $f7, $77, $00 - db $fa, $e8, $78, $00 - db $f2, $e8, $78, $00 - db $ea, $e8, $78, $00 - db $e2, $f0, $77, $00 - db $e2, $e8, $76, $00 - db $80 ; terminator + db $36, $1c, $77, $40 + db $26, $24, $78, $60 + db $2e, $24, $78, $60 + db $36, $24, $76, $60 + db $36, $17, $77, $40 + db $36, $0f, $77, $40 + db $36, $07, $77, $40 + db $36, $ff, $77, $40 + db $36, $f7, $77, $40 + db $26, $e8, $78, $40 + db $2e, $e8, $78, $40 + db $36, $f0, $77, $40 + db $36, $e8, $76, $40 + db $22, $e8, $78, $40 + db $22, $24, $78, $60 + db $12, $24, $78, $60 + db $1a, $24, $78, $60 + db $0a, $24, $78, $20 + db $12, $e8, $78, $40 + db $1a, $e8, $78, $40 + db $0a, $e8, $78, $00 + db $e2, $1c, $77, $00 + db $02, $e8, $78, $00 + db $02, $24, $78, $20 + db $fa, $24, $78, $20 + db $f2, $24, $78, $20 + db $ea, $24, $78, $20 + db $e2, $17, $77, $00 + db $e2, $0f, $77, $00 + db $e2, $07, $77, $00 + db $e2, $24, $76, $20 + db $e2, $ff, $77, $00 + db $e2, $f7, $77, $00 + db $fa, $e8, $78, $00 + db $f2, $e8, $78, $00 + db $ea, $e8, $78, $00 + db $e2, $f0, $77, $00 + db $e2, $e8, $76, $00 + db $80 ; terminator OAMData_a1: ; 0x4ff3 - db $10, $08, $7c, $08 - db $80 ; terminator + db $10, $08, $7c, $08 + db $80 ; terminator OAMData_a2: ; 0x4ff8 - db $08, $08, $7d, $48 - db $80 ; terminator + db $08, $08, $7d, $48 + db $80 ; terminator OAMData_a3: ; 0x4ffd - db $10, $08, $7e, $08 - db $80 ; terminator + db $10, $08, $7e, $08 + db $80 ; terminator OAMData_a4: ; 0x5002 - db $10, $08, $7e, $28 - db $80 ; terminator + db $10, $08, $7e, $28 + db $80 ; terminator OAMData_a5: ; 0x5007 - db $03, $0a, $0f, $1d - db $fb, $0a, $0e, $1d - db $03, $02, $0d, $1d - db $fb, $02, $0c, $1d - db $07, $15, $0b, $1b - db $ff, $15, $0a, $1b - db $07, $0d, $09, $1b - db $ff, $0d, $08, $1b - db $07, $05, $07, $1b - db $ff, $05, $06, $1b - db $07, $fd, $05, $1b - db $ff, $fd, $04, $1b - db $f7, $08, $03, $1b - db $ef, $08, $02, $1b - db $f7, $00, $01, $1b - db $ef, $00, $00, $1b - db $80 ; terminator + db $03, $0a, $0f, $1d + db $fb, $0a, $0e, $1d + db $03, $02, $0d, $1d + db $fb, $02, $0c, $1d + db $07, $15, $0b, $1b + db $ff, $15, $0a, $1b + db $07, $0d, $09, $1b + db $ff, $0d, $08, $1b + db $07, $05, $07, $1b + db $ff, $05, $06, $1b + db $07, $fd, $05, $1b + db $ff, $fd, $04, $1b + db $f7, $08, $03, $1b + db $ef, $08, $02, $1b + db $f7, $00, $01, $1b + db $ef, $00, $00, $1b + db $80 ; terminator OAMData_a6: ; 0x5048 - db $04, $0a, $1d, $1d - db $fc, $0a, $1c, $1d - db $04, $02, $1b, $1d - db $fc, $02, $1a, $1d - db $06, $15, $0b, $1b - db $fe, $15, $0a, $1b - db $07, $0d, $19, $1b - db $ff, $0d, $18, $1b - db $07, $05, $17, $1b - db $ff, $05, $16, $1b - db $07, $fd, $15, $1b - db $ff, $fd, $14, $1b - db $f7, $08, $13, $1b - db $ef, $08, $12, $1b - db $f7, $00, $11, $1b - db $ef, $00, $10, $1b - db $80 ; terminator + db $04, $0a, $1d, $1d + db $fc, $0a, $1c, $1d + db $04, $02, $1b, $1d + db $fc, $02, $1a, $1d + db $06, $15, $0b, $1b + db $fe, $15, $0a, $1b + db $07, $0d, $19, $1b + db $ff, $0d, $18, $1b + db $07, $05, $17, $1b + db $ff, $05, $16, $1b + db $07, $fd, $15, $1b + db $ff, $fd, $14, $1b + db $f7, $08, $13, $1b + db $ef, $08, $12, $1b + db $f7, $00, $11, $1b + db $ef, $00, $10, $1b + db $80 ; terminator OAMData_a7: ; 0x5089 - db $07, $08, $2f, $1d - db $ff, $08, $2e, $1d - db $07, $00, $2d, $1d - db $ff, $00, $2c, $1d - db $07, $10, $2b, $1b - db $ff, $10, $2a, $1b - db $07, $08, $29, $1b - db $ff, $08, $28, $1b - db $07, $00, $27, $1b - db $ff, $00, $26, $1b - db $07, $f8, $25, $1b - db $ff, $f8, $24, $1b - db $f7, $10, $23, $1b - db $ef, $10, $22, $1b - db $f7, $08, $21, $1b - db $ef, $08, $20, $1b - db $f7, $00, $1f, $1b - db $ef, $00, $1e, $1b - db $80 ; terminator + db $07, $08, $2f, $1d + db $ff, $08, $2e, $1d + db $07, $00, $2d, $1d + db $ff, $00, $2c, $1d + db $07, $10, $2b, $1b + db $ff, $10, $2a, $1b + db $07, $08, $29, $1b + db $ff, $08, $28, $1b + db $07, $00, $27, $1b + db $ff, $00, $26, $1b + db $07, $f8, $25, $1b + db $ff, $f8, $24, $1b + db $f7, $10, $23, $1b + db $ef, $10, $22, $1b + db $f7, $08, $21, $1b + db $ef, $08, $20, $1b + db $f7, $00, $1f, $1b + db $ef, $00, $1e, $1b + db $80 ; terminator OAMData_a8: ; 0x50d2 - db $15, $01, $0b, $0a - db $ef, $03, $02, $1d - db $f7, $03, $03, $1d - db $fb, $0b, $05, $1d - db $f3, $0b, $04, $1d - db $fb, $fb, $01, $1d - db $f3, $fb, $00, $1d - db $0d, $09, $0e, $1b - db $05, $09, $0d, $1b - db $fd, $09, $0c, $1b - db $0d, $01, $0a, $1b - db $05, $01, $09, $1b - db $fd, $01, $08, $1b - db $08, $11, $11, $1b - db $00, $11, $10, $1b - db $08, $f9, $07, $1b - db $00, $f9, $06, $1b - db $80 ; terminator + db $15, $01, $0b, $0a + db $ef, $03, $02, $1d + db $f7, $03, $03, $1d + db $fb, $0b, $05, $1d + db $f3, $0b, $04, $1d + db $fb, $fb, $01, $1d + db $f3, $fb, $00, $1d + db $0d, $09, $0e, $1b + db $05, $09, $0d, $1b + db $fd, $09, $0c, $1b + db $0d, $01, $0a, $1b + db $05, $01, $09, $1b + db $fd, $01, $08, $1b + db $08, $11, $11, $1b + db $00, $11, $10, $1b + db $08, $f9, $07, $1b + db $00, $f9, $06, $1b + db $80 ; terminator OAMData_a9: ; 0x5117 - db $f8, $04, $15, $1d - db $f0, $04, $14, $1d - db $fb, $0c, $17, $1d - db $f3, $0c, $16, $1d - db $fb, $fc, $13, $1d - db $f3, $fc, $12, $1d - db $08, $12, $1f, $1b - db $00, $12, $1e, $1b - db $08, $0a, $1d, $1b - db $00, $0a, $1c, $1b - db $08, $02, $1b, $1b - db $00, $02, $1a, $1b - db $08, $fa, $19, $1b - db $00, $fa, $18, $1b - db $80 ; terminator + db $f8, $04, $15, $1d + db $f0, $04, $14, $1d + db $fb, $0c, $17, $1d + db $f3, $0c, $16, $1d + db $fb, $fc, $13, $1d + db $f3, $fc, $12, $1d + db $08, $12, $1f, $1b + db $00, $12, $1e, $1b + db $08, $0a, $1d, $1b + db $00, $0a, $1c, $1b + db $08, $02, $1b, $1b + db $00, $02, $1a, $1b + db $08, $fa, $19, $1b + db $00, $fa, $18, $1b + db $80 ; terminator OAMData_aa: ; 0x5150 - db $00, $10, $27, $1d - db $f8, $10, $26, $1d - db $fb, $08, $25, $1d - db $f3, $08, $24, $1d - db $fb, $00, $23, $1d - db $f3, $00, $22, $1d - db $00, $f8, $21, $1d - db $f8, $f8, $20, $1d - db $08, $10, $2f, $1b - db $00, $10, $2e, $1b - db $08, $08, $2d, $1b - db $00, $08, $2c, $1b - db $08, $00, $2b, $1b - db $00, $00, $2a, $1b - db $08, $f8, $29, $1b - db $00, $f8, $28, $1b - db $80 ; terminator + db $00, $10, $27, $1d + db $f8, $10, $26, $1d + db $fb, $08, $25, $1d + db $f3, $08, $24, $1d + db $fb, $00, $23, $1d + db $f3, $00, $22, $1d + db $00, $f8, $21, $1d + db $f8, $f8, $20, $1d + db $08, $10, $2f, $1b + db $00, $10, $2e, $1b + db $08, $08, $2d, $1b + db $00, $08, $2c, $1b + db $08, $00, $2b, $1b + db $00, $00, $2a, $1b + db $08, $f8, $29, $1b + db $00, $f8, $28, $1b + db $80 ; terminator OAMData_ab: ; 0x5191 - db $08, $10, $0f, $1b - db $00, $10, $0e, $1b - db $08, $08, $0d, $1b - db $00, $08, $0c, $1b - db $08, $00, $0b, $1b - db $00, $00, $0a, $1b - db $08, $f8, $09, $1b - db $00, $f8, $08, $1b - db $f8, $10, $07, $1b - db $f0, $10, $06, $1b - db $f8, $08, $05, $1b - db $f0, $08, $04, $1b - db $f8, $00, $03, $1b - db $f0, $00, $02, $1b - db $f8, $f8, $01, $1b - db $f0, $f8, $00, $1b - db $80 ; terminator + db $08, $10, $0f, $1b + db $00, $10, $0e, $1b + db $08, $08, $0d, $1b + db $00, $08, $0c, $1b + db $08, $00, $0b, $1b + db $00, $00, $0a, $1b + db $08, $f8, $09, $1b + db $00, $f8, $08, $1b + db $f8, $10, $07, $1b + db $f0, $10, $06, $1b + db $f8, $08, $05, $1b + db $f0, $08, $04, $1b + db $f8, $00, $03, $1b + db $f0, $00, $02, $1b + db $f8, $f8, $01, $1b + db $f0, $f8, $00, $1b + db $80 ; terminator OAMData_ac: ; 0x51d2 - db $08, $10, $1f, $1b - db $00, $10, $1e, $1b - db $08, $08, $1d, $1b - db $00, $08, $1c, $1b - db $08, $00, $1b, $1b - db $00, $00, $1a, $1b - db $08, $f8, $19, $1b - db $00, $f8, $18, $1b - db $f8, $10, $17, $1b - db $f0, $10, $16, $1b - db $f8, $08, $15, $1b - db $f0, $08, $14, $1b - db $f8, $00, $13, $1b - db $f0, $00, $12, $1b - db $f8, $f8, $11, $1b - db $f0, $f8, $10, $1b - db $80 ; terminator + db $08, $10, $1f, $1b + db $00, $10, $1e, $1b + db $08, $08, $1d, $1b + db $00, $08, $1c, $1b + db $08, $00, $1b, $1b + db $00, $00, $1a, $1b + db $08, $f8, $19, $1b + db $00, $f8, $18, $1b + db $f8, $10, $17, $1b + db $f0, $10, $16, $1b + db $f8, $08, $15, $1b + db $f0, $08, $14, $1b + db $f8, $00, $13, $1b + db $f0, $00, $12, $1b + db $f8, $f8, $11, $1b + db $f0, $f8, $10, $1b + db $80 ; terminator OAMData_ad: ; 0x5213 - db $08, $10, $2f, $1b - db $00, $10, $2e, $1b - db $08, $08, $2d, $1b - db $00, $08, $2c, $1b - db $08, $00, $2b, $1b - db $00, $00, $2a, $1b - db $08, $f8, $29, $1b - db $00, $f8, $28, $1b - db $f8, $10, $27, $1b - db $f0, $10, $26, $1b - db $f8, $08, $25, $1b - db $f0, $08, $24, $1b - db $f8, $00, $23, $1b - db $f0, $00, $22, $1b - db $f8, $f8, $21, $1b - db $f0, $f8, $20, $1b - db $80 ; terminator + db $08, $10, $2f, $1b + db $00, $10, $2e, $1b + db $08, $08, $2d, $1b + db $00, $08, $2c, $1b + db $08, $00, $2b, $1b + db $00, $00, $2a, $1b + db $08, $f8, $29, $1b + db $00, $f8, $28, $1b + db $f8, $10, $27, $1b + db $f0, $10, $26, $1b + db $f8, $08, $25, $1b + db $f0, $08, $24, $1b + db $f8, $00, $23, $1b + db $f0, $00, $22, $1b + db $f8, $f8, $21, $1b + db $f0, $f8, $20, $1b + db $80 ; terminator OAMData_ae: ; 0x5254 - db $08, $10, $0f, $1d - db $00, $10, $0e, $1b - db $08, $08, $0d, $1d - db $00, $08, $0c, $1b - db $08, $00, $0b, $1d - db $00, $00, $0a, $1b - db $08, $f8, $09, $1d - db $00, $f8, $08, $1b - db $f8, $10, $07, $1b - db $f0, $10, $06, $1b - db $f8, $08, $05, $1b - db $f0, $08, $04, $1b - db $f8, $00, $03, $1b - db $f0, $00, $02, $1b - db $f8, $f8, $01, $1b - db $f0, $f8, $00, $1b - db $80 ; terminator + db $08, $10, $0f, $1d + db $00, $10, $0e, $1b + db $08, $08, $0d, $1d + db $00, $08, $0c, $1b + db $08, $00, $0b, $1d + db $00, $00, $0a, $1b + db $08, $f8, $09, $1d + db $00, $f8, $08, $1b + db $f8, $10, $07, $1b + db $f0, $10, $06, $1b + db $f8, $08, $05, $1b + db $f0, $08, $04, $1b + db $f8, $00, $03, $1b + db $f0, $00, $02, $1b + db $f8, $f8, $01, $1b + db $f0, $f8, $00, $1b + db $80 ; terminator OAMData_af: ; 0x5295 - db $08, $10, $1f, $1d - db $00, $10, $1e, $1b - db $08, $08, $1d, $1d - db $00, $08, $1c, $1b - db $08, $00, $1b, $1d - db $00, $00, $1a, $1b - db $08, $f8, $19, $1d - db $00, $f8, $18, $1b - db $f8, $10, $17, $1b - db $f0, $10, $16, $1b - db $f8, $08, $15, $1b - db $f0, $08, $14, $1b - db $f8, $00, $13, $1b - db $f0, $00, $12, $1b - db $f8, $f8, $11, $1b - db $f0, $f8, $10, $1b - db $80 ; terminator + db $08, $10, $1f, $1d + db $00, $10, $1e, $1b + db $08, $08, $1d, $1d + db $00, $08, $1c, $1b + db $08, $00, $1b, $1d + db $00, $00, $1a, $1b + db $08, $f8, $19, $1d + db $00, $f8, $18, $1b + db $f8, $10, $17, $1b + db $f0, $10, $16, $1b + db $f8, $08, $15, $1b + db $f0, $08, $14, $1b + db $f8, $00, $13, $1b + db $f0, $00, $12, $1b + db $f8, $f8, $11, $1b + db $f0, $f8, $10, $1b + db $80 ; terminator OAMData_b0: ; 0x52d6 - db $09, $10, $2f, $1d - db $01, $10, $2e, $1b - db $09, $08, $2d, $1d - db $01, $08, $2c, $1b - db $09, $00, $2b, $1d - db $01, $00, $2a, $1b - db $09, $f8, $29, $1d - db $01, $f8, $28, $1b - db $f9, $10, $27, $1b - db $f1, $10, $26, $1b - db $f9, $08, $25, $1b - db $f1, $08, $24, $1b - db $f9, $00, $23, $1b - db $f1, $00, $22, $1b - db $f9, $f8, $21, $1b - db $f1, $f8, $20, $1b - db $80 ; terminator + db $09, $10, $2f, $1d + db $01, $10, $2e, $1b + db $09, $08, $2d, $1d + db $01, $08, $2c, $1b + db $09, $00, $2b, $1d + db $01, $00, $2a, $1b + db $09, $f8, $29, $1d + db $01, $f8, $28, $1b + db $f9, $10, $27, $1b + db $f1, $10, $26, $1b + db $f9, $08, $25, $1b + db $f1, $08, $24, $1b + db $f9, $00, $23, $1b + db $f1, $00, $22, $1b + db $f9, $f8, $21, $1b + db $f1, $f8, $20, $1b + db $80 ; terminator Timer0DigitOAM: ; 0x5317 - db $10, $08, $60, $08 - db $80 ; terminator + db $10, $08, $60, $08 + db $80 ; terminator Timer1DigitOAM: ; 0x531c - db $10, $08, $62, $08 - db $80 ; terminator + db $10, $08, $62, $08 + db $80 ; terminator Timer2DigitOAM: ; 0x5321 - db $10, $08, $64, $08 - db $80 ; terminator + db $10, $08, $64, $08 + db $80 ; terminator Timer3DigitOAM: ; 0x5326 - db $10, $08, $66, $08 - db $80 ; terminator + db $10, $08, $66, $08 + db $80 ; terminator Timer4DigitOAM: ; 0x532b - db $10, $08, $68, $08 - db $80 ; terminator + db $10, $08, $68, $08 + db $80 ; terminator Timer5DigitOAM: ; 0x5330 - db $10, $08, $6a, $08 - db $80 ; terminator + db $10, $08, $6a, $08 + db $80 ; terminator Timer6DigitOAM: ; 0x5335 - db $10, $08, $6c, $08 - db $80 ; terminator + db $10, $08, $6c, $08 + db $80 ; terminator Timer7DigitOAM: ; 0x533a - db $10, $08, $6e, $08 - db $80 ; terminator + db $10, $08, $6e, $08 + db $80 ; terminator Timer8DigitOAM: ; 0x533f - db $10, $08, $70, $08 - db $80 ; terminator + db $10, $08, $70, $08 + db $80 ; terminator Timer9DigitOAM: ; 0x5344 - db $10, $08, $72, $08 - db $80 ; terminator + db $10, $08, $72, $08 + db $80 ; terminator TimerColonOAM: ; 0x5349 - db $10, $08, $74, $08 - db $80 ; terminator + db $10, $08, $74, $08 + db $80 ; terminator OAMData_bc: ; 0x534e - db $10, $10, $30, $11 - db $10, $08, $2e, $11 - db $80 ; terminator + db $10, $10, $30, $11 + db $10, $08, $2e, $11 + db $80 ; terminator OAMData_bd: ; 0x5357 - db $10, $10, $34, $11 - db $10, $08, $32, $11 - db $80 ; terminator + db $10, $10, $34, $11 + db $10, $08, $32, $11 + db $80 ; terminator OAMData_be: ; 0x5360 ; bellsprout? - db $12, $10, $66, $15 - db $02, $10, $64, $15 - db $12, $08, $62, $15 - db $02, $08, $60, $15 - db $80 ; terminator + db $12, $10, $66, $15 + db $02, $10, $64, $15 + db $12, $08, $62, $15 + db $02, $08, $60, $15 + db $80 ; terminator OAMData_bf: ; 0x5371 - db $00, $0a, $68, $15 - db $10, $10, $6c, $15 - db $10, $08, $6a, $15 - db $80 ; terminator + db $00, $0a, $68, $15 + db $10, $10, $6c, $15 + db $10, $08, $6a, $15 + db $80 ; terminator OAMData_c0: ; 0x537e - db $0f, $10, $70, $15 - db $0f, $08, $6e, $15 - db $80 ; terminator + db $0f, $10, $70, $15 + db $0f, $08, $6e, $15 + db $80 ; terminator OAMData_c1: ; 0x5387 - db $00, $0b, $72, $15 - db $10, $10, $76, $15 - db $10, $08, $74, $15 - db $80 ; terminator + db $00, $0b, $72, $15 + db $10, $10, $76, $15 + db $10, $08, $74, $15 + db $80 ; terminator OAMData_c2: ; 0x5394 - db $08, $0f, $78, $22 - db $08, $07, $78, $02 - db $80 ; terminator + db $08, $0f, $78, $22 + db $08, $07, $78, $02 + db $80 ; terminator OAMData_c3: ; 0x539d - db $08, $0f, $7b, $62 - db $08, $07, $7b, $42 - db $80 ; terminator + db $08, $0f, $7b, $62 + db $08, $07, $7b, $42 + db $80 ; terminator OAMData_c4: ; 0x53a6 - db $08, $0f, $7d, $62 - db $08, $07, $7d, $42 - db $80 ; terminator + db $08, $0f, $7d, $62 + db $08, $07, $7d, $42 + db $80 ; terminator OAMData_c5: ; 0x53af - db $08, $0f, $7e, $22 - db $08, $07, $7e, $02 - db $80 ; terminator + db $08, $0f, $7e, $22 + db $08, $07, $7e, $02 + db $80 ; terminator OAMData_c6: ; 0x53b8 - db $08, $0f, $7c, $22 - db $08, $07, $7c, $02 - db $80 ; terminator + db $08, $0f, $7c, $22 + db $08, $07, $7c, $02 + db $80 ; terminator OAMData_c7: ; 0x53c1 - db $08, $0f, $7a, $22 - db $08, $07, $7a, $02 - db $80 ; terminator + db $08, $0f, $7a, $22 + db $08, $07, $7a, $02 + db $80 ; terminator OAMData_c8: ; 0x53ca - db $18, $11, $96, $02 - db $20, $29, $a6, $02 - db $30, $21, $a4, $02 - db $20, $21, $a2, $02 - db $38, $19, $a0, $02 - db $28, $19, $9e, $02 - db $18, $19, $9c, $02 - db $38, $11, $9a, $02 - db $28, $11, $98, $02 - db $38, $09, $94, $02 - db $28, $09, $92, $02 - db $18, $09, $90, $02 - db $80 ; terminator + db $18, $11, $96, $02 + db $20, $29, $a6, $02 + db $30, $21, $a4, $02 + db $20, $21, $a2, $02 + db $38, $19, $a0, $02 + db $28, $19, $9e, $02 + db $18, $19, $9c, $02 + db $38, $11, $9a, $02 + db $28, $11, $98, $02 + db $38, $09, $94, $02 + db $28, $09, $92, $02 + db $18, $09, $90, $02 + db $80 ; terminator OAMData_c9: ; 0x53fb - db $18, $21, $2c, $02 - db $18, $19, $28, $02 - db $30, $09, $20, $02 - db $20, $09, $1e, $02 - db $28, $19, $2a, $02 - db $30, $11, $26, $02 - db $20, $11, $24, $02 - db $10, $11, $22, $02 - db $10, $09, $1c, $02 - db $80 ; terminator + db $18, $21, $2c, $02 + db $18, $19, $28, $02 + db $30, $09, $20, $02 + db $20, $09, $1e, $02 + db $28, $19, $2a, $02 + db $30, $11, $26, $02 + db $20, $11, $24, $02 + db $10, $11, $22, $02 + db $10, $09, $1c, $02 + db $80 ; terminator OAMData_ca: ; 0x5420 - db $30, $08, $1a, $02 - db $20, $08, $a8, $02 - db $80 ; terminator + db $30, $08, $1a, $02 + db $20, $08, $a8, $02 + db $80 ; terminator OAMData_cb: ; 0x5429 - db $10, $18, $06, $1b - db $20, $10, $04, $1b - db $10, $10, $02, $1b - db $10, $08, $00, $1b - db $80 ; terminator + db $10, $18, $06, $1b + db $20, $10, $04, $1b + db $10, $10, $02, $1b + db $10, $08, $00, $1b + db $80 ; terminator OAMData_cc: ; 0x543a - db $20, $11, $0e, $0c - db $10, $11, $0c, $0c - db $22, $09, $0a, $0c - db $12, $09, $08, $0c - db $80 ; terminator + db $20, $11, $0e, $0c + db $10, $11, $0c, $0c + db $22, $09, $0a, $0c + db $12, $09, $08, $0c + db $80 ; terminator OAMData_cd: ; 0x544b - db $0f, $11, $30, $11 - db $0f, $09, $2e, $11 - db $80 ; terminator + db $0f, $11, $30, $11 + db $0f, $09, $2e, $11 + db $80 ; terminator OAMData_ce: ; 0x5454 - db $10, $0f, $30, $11 - db $10, $07, $2e, $11 - db $80 ; terminator + db $10, $0f, $30, $11 + db $10, $07, $2e, $11 + db $80 ; terminator OAMData_cf: ; 0x545d - db $11, $11, $30, $11 - db $11, $09, $2e, $11 - db $80 ; terminator + db $11, $11, $30, $11 + db $11, $09, $2e, $11 + db $80 ; terminator OAMData_d0: ; 0x5466 - db $10, $17, $16, $1b - db $1f, $0f, $14, $1b - db $0f, $0f, $12, $1b - db $0f, $07, $10, $1b - db $80 ; terminator + db $10, $17, $16, $1b + db $1f, $0f, $14, $1b + db $0f, $0f, $12, $1b + db $0f, $07, $10, $1b + db $80 ; terminator OAMData_d1: ; 0x5477 - db $10, $08, $36, $06 - db $80 ; terminator + db $10, $08, $36, $06 + db $80 ; terminator OAMData_d2: ; 0x547c - db $08, $08, $37, $46 - db $80 ; terminator + db $08, $08, $37, $46 + db $80 ; terminator OAMData_d3: ; 0x5481 - db $10, $08, $38, $06 - db $80 ; terminator + db $10, $08, $38, $06 + db $80 ; terminator OAMData_d4: ; 0x5486 - db $10, $08, $3a, $06 - db $80 ; terminator + db $10, $08, $3a, $06 + db $80 ; terminator OAMData_d5: ; 0x548b - db $10, $08, $3c, $06 - db $80 ; terminator + db $10, $08, $3c, $06 + db $80 ; terminator OAMData_d6: ; 0x5490 - db $10, $08, $3e, $06 - db $80 ; terminator + db $10, $08, $3e, $06 + db $80 ; terminator OAMData_d7: ; 0x5495 - db $10, $08, $b0, $00 - db $80 ; terminator + db $10, $08, $b0, $00 + db $80 ; terminator OAMData_d8: ; 0x549a - db $10, $08, $b2, $00 - db $80 ; terminator + db $10, $08, $b2, $00 + db $80 ; terminator OAMData_d9: ; 0x549f - db $10, $08, $b4, $00 - db $80 ; terminator + db $10, $08, $b4, $00 + db $80 ; terminator OAMData_da: ; 0x54a4 - db $10, $08, $b6, $00 - db $80 ; terminator + db $10, $08, $b6, $00 + db $80 ; terminator OAMData_db: ; 0x54a9 - db $10, $08, $38, $00 - db $80 ; terminator + db $10, $08, $38, $00 + db $80 ; terminator OAMData_dc: ; 0x54ae - db $10, $08, $3a, $00 - db $80 ; terminator + db $10, $08, $3a, $00 + db $80 ; terminator OAMData_dd: ; 0x54b3 - db $10, $08, $7e, $00 - db $80 ; terminator + db $10, $08, $7e, $00 + db $80 ; terminator OAMData_de: ; 0x54b8 - db $10, $08, $bc, $00 - db $80 ; terminator + db $10, $08, $bc, $00 + db $80 ; terminator OAMData_df: ; 0x54bd - db $10, $08, $a8, $00 - db $80 ; terminator + db $10, $08, $a8, $00 + db $80 ; terminator OAMData_e0: ; 0x54c2 - db $10, $10, $92, $13 - db $10, $08, $90, $13 - db $80 ; terminator + db $10, $10, $92, $13 + db $10, $08, $90, $13 + db $80 ; terminator OAMData_e1: ; 0x54cb - db $10, $10, $96, $13 - db $10, $08, $94, $13 - db $80 ; terminator + db $10, $10, $96, $13 + db $10, $08, $94, $13 + db $80 ; terminator OAMData_e2: ; 0x54d4 - db $20, $18, $1e, $11 - db $20, $10, $1c, $11 - db $20, $08, $1a, $11 - db $10, $18, $9c, $11 - db $10, $10, $9a, $11 - db $10, $08, $98, $11 - db $80 ; terminator + db $20, $18, $1e, $11 + db $20, $10, $1c, $11 + db $20, $08, $1a, $11 + db $10, $18, $9c, $11 + db $10, $10, $9a, $11 + db $10, $08, $98, $11 + db $80 ; terminator OAMData_e3: ; 0x54ed - db $10, $18, $a2, $11 - db $10, $10, $a0, $11 - db $10, $08, $9e, $11 - db $20, $18, $1e, $11 - db $20, $10, $1c, $11 - db $20, $08, $1a, $11 - db $80 ; terminator + db $10, $18, $a2, $11 + db $10, $10, $a0, $11 + db $10, $08, $9e, $11 + db $20, $18, $1e, $11 + db $20, $10, $1c, $11 + db $20, $08, $1a, $11 + db $80 ; terminator OAMData_e4: ; 0x5506 - db $10, $1a, $a8, $11 - db $10, $12, $a6, $11 - db $10, $0a, $a4, $11 - db $20, $18, $1e, $11 - db $20, $10, $1c, $11 - db $20, $08, $1a, $11 - db $80 ; terminator + db $10, $1a, $a8, $11 + db $10, $12, $a6, $11 + db $10, $0a, $a4, $11 + db $20, $18, $1e, $11 + db $20, $10, $1c, $11 + db $20, $08, $1a, $11 + db $80 ; terminator OAMData_e5: ; 0x551f - db $20, $18, $2a, $13 - db $20, $10, $28, $13 - db $20, $08, $26, $13 - db $10, $18, $24, $13 - db $10, $10, $22, $13 - db $10, $08, $20, $13 - db $80 ; terminator + db $20, $18, $2a, $13 + db $20, $10, $28, $13 + db $20, $08, $26, $13 + db $10, $18, $24, $13 + db $10, $10, $22, $13 + db $10, $08, $20, $13 + db $80 ; terminator OAMData_e6: ; 0x5538 - db $20, $18, $36, $13 - db $20, $10, $34, $13 - db $20, $08, $32, $13 - db $10, $18, $30, $13 - db $10, $10, $2e, $13 - db $10, $08, $2c, $13 - db $80 ; terminator + db $20, $18, $36, $13 + db $20, $10, $34, $13 + db $20, $08, $32, $13 + db $10, $18, $30, $13 + db $10, $10, $2e, $13 + db $10, $08, $2c, $13 + db $80 ; terminator OAMData_e7: ; 0x5551 - db $20, $10, $76, $13 - db $20, $08, $74, $13 - db $10, $10, $72, $13 - db $10, $08, $70, $13 - db $20, $18, $2a, $13 - db $10, $18, $24, $13 - db $80 ; terminator + db $20, $10, $76, $13 + db $20, $08, $74, $13 + db $10, $10, $72, $13 + db $10, $08, $70, $13 + db $20, $18, $2a, $13 + db $10, $18, $24, $13 + db $80 ; terminator OAMData_e8: ; 0x556a - db $10, $10, $78, $22 - db $10, $08, $78, $02 - db $80 ; terminator + db $10, $10, $78, $22 + db $10, $08, $78, $02 + db $80 ; terminator OAMData_e9: ; 0x5573 - db $10, $10, $7b, $62 - db $10, $08, $7b, $42 - db $80 ; terminator + db $10, $10, $7b, $62 + db $10, $08, $7b, $42 + db $80 ; terminator OAMData_ea: ; 0x557c - db $10, $10, $7d, $62 - db $10, $08, $7d, $42 - db $80 ; terminator + db $10, $10, $7d, $62 + db $10, $08, $7d, $42 + db $80 ; terminator OAMData_eb: ; 0x5585 - db $10, $10, $7e, $22 - db $10, $08, $7e, $02 - db $80 ; terminator + db $10, $10, $7e, $22 + db $10, $08, $7e, $02 + db $80 ; terminator OAMData_ec: ; 0x558e - db $10, $10, $7c, $22 - db $10, $08, $7c, $02 - db $80 ; terminator + db $10, $10, $7c, $22 + db $10, $08, $7c, $02 + db $80 ; terminator OAMData_ed: ; 0x5597 - db $10, $10, $7a, $22 - db $10, $08, $7a, $02 - db $80 ; terminator + db $10, $10, $7a, $22 + db $10, $08, $7a, $02 + db $80 ; terminator OAMData_ee: ; 0x55a0 - db $10, $08, $38, $06 - db $80 ; terminator + db $10, $08, $38, $06 + db $80 ; terminator OAMData_ef: ; 0x55a5 - db $10, $08, $3a, $06 - db $80 ; terminator + db $10, $08, $3a, $06 + db $80 ; terminator OAMData_f0: ; 0x55aa - db $10, $08, $3a, $26 - db $80 ; terminator + db $10, $08, $3a, $26 + db $80 ; terminator OAMData_f1: ; 0x55af - db $10, $08, $3c, $06 - db $80 ; terminator + db $10, $08, $3c, $06 + db $80 ; terminator OAMData_f2: ; 0x55b4 - db $10, $08, $3e, $06 - db $80 ; terminator + db $10, $08, $3e, $06 + db $80 ; terminator OAMData_f3: ; 0x55b9 - db $10, $08, $3e, $26 - db $80 ; terminator + db $10, $08, $3e, $26 + db $80 ; terminator OAMData_f4: ; 0x55be - db $08, $08, $39, $46 - db $80 ; terminator + db $08, $08, $39, $46 + db $80 ; terminator OAMData_f5: ; 0x55c3 - db $10, $08, $72, $00 - db $80 ; terminator + db $10, $08, $72, $00 + db $80 ; terminator OAMData_f6: ; 0x55c8 - db $10, $08, $74, $00 - db $80 ; terminator + db $10, $08, $74, $00 + db $80 ; terminator OAMData_f7: ; 0x55cd - db $10, $08, $76, $00 - db $80 ; terminator + db $10, $08, $76, $00 + db $80 ; terminator OAMData_f8: ; 0x55d2 - db $10, $08, $78, $00 - db $80 ; terminator + db $10, $08, $78, $00 + db $80 ; terminator OAMDataPointers2: ; 0x55d7 - dw OAMData2_0 - dw OAMData2_1 - dw OAMData2_2 - dw OAMData2_3 - dw OAMData2_4 - dw OAMData2_5 - dw OAMData2_6 - dw OAMData2_7 - dw OAMData2_8 - dw OAMData2_9 - dw OAMData2_a - dw OAMData2_b - dw OAMData2_c - dw OAMData2_d - dw OAMData2_e - dw OAMData2_f - dw OAMData2_10 - dw OAMData2_11 - dw OAMData2_12 - dw OAMData2_13 - dw OAMData2_14 - dw OAMData2_15 - dw OAMData2_16 - dw OAMData2_17 - dw OAMData2_18 - dw OAMData2_19 - dw OAMData2_1a - dw OAMData2_1b - dw OAMData2_1c - dw OAMData2_1d - dw OAMData2_1e - dw OAMData2_1f - dw OAMData2_20 - dw OAMData2_21 - dw OAMData2_22 - dw OAMData2_23 - dw OAMData2_24 - dw OAMData2_25 - dw OAMData2_26 - dw OAMData2_27 - dw OAMData2_28 - dw OAMData2_29 - dw OAMData2_2a - dw OAMData2_2b - dw OAMData2_2c - dw OAMData2_2d - dw OAMData2_2e - dw OAMData2_2f - dw OAMData2_30 - dw OAMData2_31 - dw OAMData2_32 - dw OAMData2_33 - dw OAMData2_34 - dw OAMData2_35 - dw OAMData2_36 - dw OAMData2_37 - dw OAMData2_38 - dw OAMData2_39 - dw OAMData2_3a - dw OAMData2_3b - dw OAMData2_3c - dw OAMData2_3d - dw OAMData2_3e - dw OAMData2_3f - dw OAMData2_40 - dw OAMData2_41 - dw OAMData2_42 - dw OAMData2_43 - dw OAMData2_44 - dw OAMData2_45 - dw OAMData2_46 - dw OAMData2_47 - dw OAMData2_48 - dw OAMData2_49 - dw OAMData2_4a - dw OAMData2_4b - dw OAMData2_4c - dw OAMData2_4d - dw OAMData2_4e - dw OAMData2_4f - dw OAMData2_50 - dw OAMData2_51 - dw OAMData2_52 - dw OAMData2_53 - dw OAMData2_54 - dw OAMData2_55 - dw OAMData2_56 - dw OAMData2_57 - dw OAMData2_58 - dw OAMData2_59 - dw OAMData2_5a - dw OAMData2_5b - dw OAMData2_5c - dw OAMData2_5d - dw OAMData2_5e - dw OAMData2_5f - dw OAMData2_60 - dw OAMData2_61 - dw OAMData2_62 - dw OAMData2_63 - dw OAMData2_64 - dw OAMData2_65 - dw OAMData2_66 - dw OAMData2_67 - dw OAMData2_68 - dw OAMData2_69 - dw OAMData2_6a - dw OAMData2_6b - dw OAMData2_6c - dw OAMData2_6d - dw OAMData2_6e - dw OAMData2_6f - dw OAMData2_70 - dw OAMData2_71 - dw OAMData2_72 - dw OAMData2_73 - dw OAMData2_74 - dw OAMData2_75 - dw OAMData2_76 - dw OAMData2_77 - dw OAMData2_78 - dw OAMData2_79 - dw OAMData2_7a - dw OAMData2_7b - dw OAMData2_7c - dw OAMData2_7d - dw OAMData2_7e - dw OAMData2_7f - dw OAMData2_80 - dw OAMData2_81 - dw OAMData2_82 - dw OAMData2_83 - dw OAMData2_84 + dw OAMData2_0 + dw OAMData2_1 + dw OAMData2_2 + dw OAMData2_3 + dw OAMData2_4 + dw OAMData2_5 + dw OAMData2_6 + dw OAMData2_7 + dw OAMData2_8 + dw OAMData2_9 + dw OAMData2_a + dw OAMData2_b + dw OAMData2_c + dw OAMData2_d + dw OAMData2_e + dw OAMData2_f + dw OAMData2_10 + dw OAMData2_11 + dw OAMData2_12 + dw OAMData2_13 + dw OAMData2_14 + dw OAMData2_15 + dw OAMData2_16 + dw OAMData2_17 + dw OAMData2_18 + dw OAMData2_19 + dw OAMData2_1a + dw OAMData2_1b + dw OAMData2_1c + dw OAMData2_1d + dw OAMData2_1e + dw OAMData2_1f + dw OAMData2_20 + dw OAMData2_21 + dw OAMData2_22 + dw OAMData2_23 + dw OAMData2_24 + dw OAMData2_25 + dw OAMData2_26 + dw OAMData2_27 + dw OAMData2_28 + dw OAMData2_29 + dw OAMData2_2a + dw OAMData2_2b + dw OAMData2_2c + dw OAMData2_2d + dw OAMData2_2e + dw OAMData2_2f + dw OAMData2_30 + dw OAMData2_31 + dw OAMData2_32 + dw OAMData2_33 + dw OAMData2_34 + dw OAMData2_35 + dw OAMData2_36 + dw OAMData2_37 + dw OAMData2_38 + dw OAMData2_39 + dw OAMData2_3a + dw OAMData2_3b + dw OAMData2_3c + dw OAMData2_3d + dw OAMData2_3e + dw OAMData2_3f + dw OAMData2_40 + dw OAMData2_41 + dw OAMData2_42 + dw OAMData2_43 + dw OAMData2_44 + dw OAMData2_45 + dw OAMData2_46 + dw OAMData2_47 + dw OAMData2_48 + dw OAMData2_49 + dw OAMData2_4a + dw OAMData2_4b + dw OAMData2_4c + dw OAMData2_4d + dw OAMData2_4e + dw OAMData2_4f + dw OAMData2_50 + dw OAMData2_51 + dw OAMData2_52 + dw OAMData2_53 + dw OAMData2_54 + dw OAMData2_55 + dw OAMData2_56 + dw OAMData2_57 + dw OAMData2_58 + dw OAMData2_59 + dw OAMData2_5a + dw OAMData2_5b + dw OAMData2_5c + dw OAMData2_5d + dw OAMData2_5e + dw OAMData2_5f + dw OAMData2_60 + dw OAMData2_61 + dw OAMData2_62 + dw OAMData2_63 + dw OAMData2_64 + dw OAMData2_65 + dw OAMData2_66 + dw OAMData2_67 + dw OAMData2_68 + dw OAMData2_69 + dw OAMData2_6a + dw OAMData2_6b + dw OAMData2_6c + dw OAMData2_6d + dw OAMData2_6e + dw OAMData2_6f + dw OAMData2_70 + dw OAMData2_71 + dw OAMData2_72 + dw OAMData2_73 + dw OAMData2_74 + dw OAMData2_75 + dw OAMData2_76 + dw OAMData2_77 + dw OAMData2_78 + dw OAMData2_79 + dw OAMData2_7a + dw OAMData2_7b + dw OAMData2_7c + dw OAMData2_7d + dw OAMData2_7e + dw OAMData2_7f + dw OAMData2_80 + dw OAMData2_81 + dw OAMData2_82 + dw OAMData2_83 + dw OAMData2_84 OAMData2_0: ; 0x56e1 - db $20, $20, $9E, $04 - db $20, $18, $9C, $04 - db $20, $10, $9A, $04 - db $20, $08, $98, $04 - db $10, $20, $96, $04 - db $10, $18, $94, $04 - db $10, $10, $92, $04 - db $10, $08, $90, $04 - db $80 ; terminator + db $20, $20, $9E, $04 + db $20, $18, $9C, $04 + db $20, $10, $9A, $04 + db $20, $08, $98, $04 + db $10, $20, $96, $04 + db $10, $18, $94, $04 + db $10, $10, $92, $04 + db $10, $08, $90, $04 + db $80 ; terminator OAMData2_1: ; 0x5702 - db $21, $20, $9E, $04 - db $21, $18, $9C, $04 - db $21, $10, $9A, $04 - db $21, $08, $98, $04 - db $11, $20, $96, $04 - db $11, $18, $94, $04 - db $11, $10, $92, $04 - db $11, $08, $90, $04 - db $80 ; terminator + db $21, $20, $9E, $04 + db $21, $18, $9C, $04 + db $21, $10, $9A, $04 + db $21, $08, $98, $04 + db $11, $20, $96, $04 + db $11, $18, $94, $04 + db $11, $10, $92, $04 + db $11, $08, $90, $04 + db $80 ; terminator OAMData2_2: ; 0x - db $1F, $20, $9E, $04 - db $1F, $18, $9C, $04 - db $1F, $10, $9A, $04 - db $1F, $08, $98, $04 - db $0F, $20, $96, $04 - db $0F, $18, $94, $04 - db $0F, $10, $92, $04 - db $0F, $08, $90, $04 - db $80 ; terminator + db $1F, $20, $9E, $04 + db $1F, $18, $9C, $04 + db $1F, $10, $9A, $04 + db $1F, $08, $98, $04 + db $0F, $20, $96, $04 + db $0F, $18, $94, $04 + db $0F, $10, $92, $04 + db $0F, $08, $90, $04 + db $80 ; terminator OAMData2_3: ; 0x - db $1F, $18, $A6, $04 - db $1F, $10, $A4, $04 - db $0F, $18, $A2, $04 - db $0F, $10, $A0, $04 - db $1F, $20, $9E, $04 - db $1F, $08, $98, $04 - db $0F, $20, $96, $04 - db $0F, $08, $90, $04 - db $80 ; terminator + db $1F, $18, $A6, $04 + db $1F, $10, $A4, $04 + db $0F, $18, $A2, $04 + db $0F, $10, $A0, $04 + db $1F, $20, $9E, $04 + db $1F, $08, $98, $04 + db $0F, $20, $96, $04 + db $0F, $08, $90, $04 + db $80 ; terminator OAMData2_4: ; 0x - db $1A, $21, $1A, $04 - db $1A, $19, $A8, $04 - db $1E, $00, $A2, $24 - db $1E, $08, $A0, $24 - db $30, $10, $9E, $04 - db $20, $18, $9C, $04 - db $20, $10, $9A, $04 - db $20, $08, $98, $04 - db $10, $20, $96, $04 - db $10, $18, $94, $04 - db $10, $10, $92, $04 - db $10, $08, $90, $04 - db $80 ; terminator + db $1A, $21, $1A, $04 + db $1A, $19, $A8, $04 + db $1E, $00, $A2, $24 + db $1E, $08, $A0, $24 + db $30, $10, $9E, $04 + db $20, $18, $9C, $04 + db $20, $10, $9A, $04 + db $20, $08, $98, $04 + db $10, $20, $96, $04 + db $10, $18, $94, $04 + db $10, $10, $92, $04 + db $10, $08, $90, $04 + db $80 ; terminator OAMData2_5: ; 0x - db $1E, $02, $A6, $24 - db $1E, $0A, $A4, $24 - db $1C, $23, $A6, $04 - db $1C, $1B, $A4, $04 - db $2E, $11, $9E, $04 - db $1E, $18, $9C, $04 - db $1E, $10, $9A, $04 - db $1E, $08, $98, $04 - db $0E, $20, $96, $04 - db $0E, $18, $94, $04 - db $0E, $10, $92, $04 - db $0E, $08, $90, $04 - db $80 ; terminator + db $1E, $02, $A6, $24 + db $1E, $0A, $A4, $24 + db $1C, $23, $A6, $04 + db $1C, $1B, $A4, $04 + db $2E, $11, $9E, $04 + db $1E, $18, $9C, $04 + db $1E, $10, $9A, $04 + db $1E, $08, $98, $04 + db $0E, $20, $96, $04 + db $0E, $18, $94, $04 + db $0E, $10, $92, $04 + db $0E, $08, $90, $04 + db $80 ; terminator OAMData2_6: ; 0x - db $1E, $23, $A2, $04 - db $1E, $1B, $A0, $04 - db $1A, $02, $1A, $24 - db $1A, $0A, $A8, $24 - db $2D, $10, $9E, $04 - db $1D, $18, $9C, $04 - db $1D, $10, $9A, $04 - db $1D, $08, $98, $04 - db $0D, $20, $96, $04 - db $0D, $18, $94, $04 - db $0D, $10, $92, $04 - db $0D, $08, $90, $04 - db $80 ; terminator + db $1E, $23, $A2, $04 + db $1E, $1B, $A0, $04 + db $1A, $02, $1A, $24 + db $1A, $0A, $A8, $24 + db $2D, $10, $9E, $04 + db $1D, $18, $9C, $04 + db $1D, $10, $9A, $04 + db $1D, $08, $98, $04 + db $0D, $20, $96, $04 + db $0D, $18, $94, $04 + db $0D, $10, $92, $04 + db $0D, $08, $90, $04 + db $80 ; terminator OAMData2_7: ; 0x - db $1C, $00, $A6, $24 - db $1C, $08, $A4, $24 - db $1E, $21, $A6, $04 - db $1E, $19, $A4, $04 - db $2E, $0F, $9E, $04 - db $1E, $18, $9C, $04 - db $1E, $10, $9A, $04 - db $1E, $08, $98, $04 - db $0E, $20, $96, $04 - db $0E, $18, $94, $04 - db $0E, $10, $92, $04 - db $0E, $08, $90, $04 - db $80 ; terminator + db $1C, $00, $A6, $24 + db $1C, $08, $A4, $24 + db $1E, $21, $A6, $04 + db $1E, $19, $A4, $04 + db $2E, $0F, $9E, $04 + db $1E, $18, $9C, $04 + db $1E, $10, $9A, $04 + db $1E, $08, $98, $04 + db $0E, $20, $96, $04 + db $0E, $18, $94, $04 + db $0E, $10, $92, $04 + db $0E, $08, $90, $04 + db $80 ; terminator OAMData2_8: ; 0x - db $17, $09, $A8, $24 - db $17, $01, $1A, $24 - db $0F, $1E, $A8, $04 - db $0F, $26, $1A, $04 - db $2D, $18, $28, $04 - db $1D, $18, $26, $04 - db $1D, $10, $24, $04 - db $0D, $20, $22, $04 - db $0D, $18, $20, $04 - db $0D, $10, $1E, $04 - db $0E, $08, $1C, $04 - db $80 ; terminator + db $17, $09, $A8, $24 + db $17, $01, $1A, $24 + db $0F, $1E, $A8, $04 + db $0F, $26, $1A, $04 + db $2D, $18, $28, $04 + db $1D, $18, $26, $04 + db $1D, $10, $24, $04 + db $0D, $20, $22, $04 + db $0D, $18, $20, $04 + db $0D, $10, $1E, $04 + db $0E, $08, $1C, $04 + db $80 ; terminator OAMData2_9: ; 0x - db $20, $30, $32, $24 - db $30, $30, $3A, $04 - db $10, $30, $38, $04 - db $30, $08, $34, $04 - db $20, $08, $32, $04 - db $10, $08, $30, $04 - db $38, $28, $1E, $04 - db $38, $20, $1C, $04 - db $38, $18, $1A, $04 - db $38, $10, $A8, $04 - db $28, $28, $A6, $04 - db $28, $20, $A4, $04 - db $28, $18, $A2, $04 - db $28, $10, $A0, $04 - db $18, $28, $9E, $04 - db $18, $20, $9C, $04 - db $18, $18, $9A, $04 - db $18, $10, $98, $04 - db $08, $28, $96, $04 - db $08, $20, $94, $04 - db $08, $18, $92, $04 - db $08, $10, $90, $04 - db $80 ; terminator + db $20, $30, $32, $24 + db $30, $30, $3A, $04 + db $10, $30, $38, $04 + db $30, $08, $34, $04 + db $20, $08, $32, $04 + db $10, $08, $30, $04 + db $38, $28, $1E, $04 + db $38, $20, $1C, $04 + db $38, $18, $1A, $04 + db $38, $10, $A8, $04 + db $28, $28, $A6, $04 + db $28, $20, $A4, $04 + db $28, $18, $A2, $04 + db $28, $10, $A0, $04 + db $18, $28, $9E, $04 + db $18, $20, $9C, $04 + db $18, $18, $9A, $04 + db $18, $10, $98, $04 + db $08, $28, $96, $04 + db $08, $20, $94, $04 + db $08, $18, $92, $04 + db $08, $10, $90, $04 + db $80 ; terminator OAMData2_a: ; 0x - db $31, $08, $36, $04 - db $39, $28, $26, $04 - db $39, $20, $24, $04 - db $39, $18, $22, $04 - db $39, $10, $20, $04 - db $21, $30, $32, $24 - db $31, $30, $3A, $04 - db $11, $30, $38, $04 - db $21, $08, $32, $04 - db $11, $08, $30, $04 - db $29, $28, $A6, $04 - db $29, $20, $A4, $04 - db $29, $18, $A2, $04 - db $29, $10, $A0, $04 - db $19, $28, $9E, $04 - db $19, $20, $9C, $04 - db $19, $18, $9A, $04 - db $19, $10, $98, $04 - db $09, $28, $96, $04 - db $09, $20, $94, $04 - db $09, $18, $92, $04 - db $09, $10, $90, $04 - db $80 ; terminator + db $31, $08, $36, $04 + db $39, $28, $26, $04 + db $39, $20, $24, $04 + db $39, $18, $22, $04 + db $39, $10, $20, $04 + db $21, $30, $32, $24 + db $31, $30, $3A, $04 + db $11, $30, $38, $04 + db $21, $08, $32, $04 + db $11, $08, $30, $04 + db $29, $28, $A6, $04 + db $29, $20, $A4, $04 + db $29, $18, $A2, $04 + db $29, $10, $A0, $04 + db $19, $28, $9E, $04 + db $19, $20, $9C, $04 + db $19, $18, $9A, $04 + db $19, $10, $98, $04 + db $09, $28, $96, $04 + db $09, $20, $94, $04 + db $09, $18, $92, $04 + db $09, $10, $90, $04 + db $80 ; terminator OAMData2_b: ; 0x - db $39, $28, $2E, $04 - db $39, $20, $2C, $04 - db $39, $18, $2A, $04 - db $39, $10, $28, $04 - db $31, $30, $3C, $04 - db $21, $30, $32, $24 - db $11, $30, $38, $04 - db $31, $08, $34, $04 - db $21, $08, $32, $04 - db $11, $08, $30, $04 - db $29, $28, $A6, $04 - db $29, $20, $A4, $04 - db $29, $18, $A2, $04 - db $29, $10, $A0, $04 - db $19, $28, $9E, $04 - db $19, $20, $9C, $04 - db $19, $18, $9A, $04 - db $19, $10, $98, $04 - db $09, $28, $96, $04 - db $09, $20, $94, $04 - db $09, $18, $92, $04 - db $09, $10, $90, $04 - db $80 ; terminator + db $39, $28, $2E, $04 + db $39, $20, $2C, $04 + db $39, $18, $2A, $04 + db $39, $10, $28, $04 + db $31, $30, $3C, $04 + db $21, $30, $32, $24 + db $11, $30, $38, $04 + db $31, $08, $34, $04 + db $21, $08, $32, $04 + db $11, $08, $30, $04 + db $29, $28, $A6, $04 + db $29, $20, $A4, $04 + db $29, $18, $A2, $04 + db $29, $10, $A0, $04 + db $19, $28, $9E, $04 + db $19, $20, $9C, $04 + db $19, $18, $9A, $04 + db $19, $10, $98, $04 + db $09, $28, $96, $04 + db $09, $20, $94, $04 + db $09, $18, $92, $04 + db $09, $10, $90, $04 + db $80 ; terminator OAMData2_c: ; 0x - db $39, $28, $7E, $04 - db $39, $20, $7C, $04 - db $39, $18, $7A, $04 - db $39, $10, $3E, $04 - db $21, $30, $32, $24 - db $31, $30, $3A, $04 - db $11, $30, $38, $04 - db $31, $08, $34, $04 - db $21, $08, $32, $04 - db $11, $08, $30, $04 - db $29, $28, $A6, $04 - db $29, $20, $A4, $04 - db $29, $18, $A2, $04 - db $29, $10, $A0, $04 - db $19, $28, $9E, $04 - db $19, $20, $9C, $04 - db $19, $18, $9A, $04 - db $19, $10, $98, $04 - db $09, $28, $96, $04 - db $09, $20, $94, $04 - db $09, $18, $92, $04 - db $09, $10, $90, $04 - db $80 ; terminator + db $39, $28, $7E, $04 + db $39, $20, $7C, $04 + db $39, $18, $7A, $04 + db $39, $10, $3E, $04 + db $21, $30, $32, $24 + db $31, $30, $3A, $04 + db $11, $30, $38, $04 + db $31, $08, $34, $04 + db $21, $08, $32, $04 + db $11, $08, $30, $04 + db $29, $28, $A6, $04 + db $29, $20, $A4, $04 + db $29, $18, $A2, $04 + db $29, $10, $A0, $04 + db $19, $28, $9E, $04 + db $19, $20, $9C, $04 + db $19, $18, $9A, $04 + db $19, $10, $98, $04 + db $09, $28, $96, $04 + db $09, $20, $94, $04 + db $09, $18, $92, $04 + db $09, $10, $90, $04 + db $80 ; terminator OAMData2_d: ; 0x - db $3A, $28, $B0, $04 - db $3A, $20, $AE, $04 - db $3A, $18, $AC, $04 - db $3A, $10, $AA, $04 - db $22, $30, $32, $24 - db $32, $30, $3A, $04 - db $12, $30, $38, $04 - db $32, $08, $34, $04 - db $22, $08, $32, $04 - db $12, $08, $30, $04 - db $2A, $28, $A6, $04 - db $2A, $20, $A4, $04 - db $2A, $18, $A2, $04 - db $2A, $10, $A0, $04 - db $1A, $28, $9E, $04 - db $1A, $20, $9C, $04 - db $1A, $18, $9A, $04 - db $1A, $10, $98, $04 - db $0A, $28, $96, $04 - db $0A, $20, $94, $04 - db $0A, $18, $92, $04 - db $0A, $10, $90, $04 - db $80 ; terminator + db $3A, $28, $B0, $04 + db $3A, $20, $AE, $04 + db $3A, $18, $AC, $04 + db $3A, $10, $AA, $04 + db $22, $30, $32, $24 + db $32, $30, $3A, $04 + db $12, $30, $38, $04 + db $32, $08, $34, $04 + db $22, $08, $32, $04 + db $12, $08, $30, $04 + db $2A, $28, $A6, $04 + db $2A, $20, $A4, $04 + db $2A, $18, $A2, $04 + db $2A, $10, $A0, $04 + db $1A, $28, $9E, $04 + db $1A, $20, $9C, $04 + db $1A, $18, $9A, $04 + db $1A, $10, $98, $04 + db $0A, $28, $96, $04 + db $0A, $20, $94, $04 + db $0A, $18, $92, $04 + db $0A, $10, $90, $04 + db $80 ; terminator OAMData2_e: ; 0x - db $23, $04, $B2, $04 - db $27, $2C, $D2, $04 - db $27, $24, $D0, $04 - db $27, $1C, $CE, $04 - db $27, $14, $CC, $04 - db $27, $0C, $CA, $04 - db $17, $2C, $C8, $04 - db $17, $24, $C6, $04 - db $17, $1C, $C4, $04 - db $17, $14, $C2, $04 - db $17, $0C, $C0, $04 - db $07, $2C, $BE, $04 - db $07, $24, $BC, $04 - db $07, $1C, $BA, $04 - db $07, $14, $B8, $04 - db $07, $0C, $B6, $04 - db $23, $34, $B4, $04 - db $37, $28, $1E, $04 - db $37, $20, $1C, $04 - db $37, $18, $1A, $04 - db $37, $10, $A8, $04 - db $80 ; terminator + db $23, $04, $B2, $04 + db $27, $2C, $D2, $04 + db $27, $24, $D0, $04 + db $27, $1C, $CE, $04 + db $27, $14, $CC, $04 + db $27, $0C, $CA, $04 + db $17, $2C, $C8, $04 + db $17, $24, $C6, $04 + db $17, $1C, $C4, $04 + db $17, $14, $C2, $04 + db $17, $0C, $C0, $04 + db $07, $2C, $BE, $04 + db $07, $24, $BC, $04 + db $07, $1C, $BA, $04 + db $07, $14, $B8, $04 + db $07, $0C, $B6, $04 + db $23, $34, $B4, $04 + db $37, $28, $1E, $04 + db $37, $20, $1C, $04 + db $37, $18, $1A, $04 + db $37, $10, $A8, $04 + db $80 ; terminator OAMData2_f: ; 0x - db $20, $20, $9E, $04 - db $20, $18, $9C, $04 - db $20, $10, $9A, $04 - db $20, $08, $98, $04 - db $10, $20, $96, $04 - db $10, $18, $94, $04 - db $10, $10, $92, $04 - db $10, $08, $90, $04 - db $80 ; terminator + db $20, $20, $9E, $04 + db $20, $18, $9C, $04 + db $20, $10, $9A, $04 + db $20, $08, $98, $04 + db $10, $20, $96, $04 + db $10, $18, $94, $04 + db $10, $10, $92, $04 + db $10, $08, $90, $04 + db $80 ; terminator OAMData2_10: ; 0x - db $20, $08, $22, $04 - db $10, $08, $20, $04 - db $20, $20, $9E, $04 - db $20, $18, $9C, $04 - db $20, $10, $9A, $04 - db $10, $20, $96, $04 - db $10, $18, $94, $04 - db $10, $10, $92, $04 - db $80 ; terminator + db $20, $08, $22, $04 + db $10, $08, $20, $04 + db $20, $20, $9E, $04 + db $20, $18, $9C, $04 + db $20, $10, $9A, $04 + db $10, $20, $96, $04 + db $10, $18, $94, $04 + db $10, $10, $92, $04 + db $80 ; terminator OAMData2_11: ; 0x - db $20, $20, $1E, $04 - db $20, $18, $1C, $04 - db $20, $10, $1A, $04 - db $20, $08, $A8, $04 - db $10, $20, $A6, $04 - db $10, $18, $A4, $04 - db $10, $10, $A2, $04 - db $10, $08, $A0, $04 - db $80 ; terminator + db $20, $20, $1E, $04 + db $20, $18, $1C, $04 + db $20, $10, $1A, $04 + db $20, $08, $A8, $04 + db $10, $20, $A6, $04 + db $10, $18, $A4, $04 + db $10, $10, $A2, $04 + db $10, $08, $A0, $04 + db $80 ; terminator OAMData2_12: ; 0x - db $20, $20, $2A, $04 - db $10, $20, $28, $04 - db $20, $08, $26, $04 - db $10, $08, $24, $04 - db $20, $18, $9C, $04 - db $20, $10, $9A, $04 - db $10, $18, $94, $04 - db $10, $10, $92, $04 - db $80 ; terminator + db $20, $20, $2A, $04 + db $10, $20, $28, $04 + db $20, $08, $26, $04 + db $10, $08, $24, $04 + db $20, $18, $9C, $04 + db $20, $10, $9A, $04 + db $10, $18, $94, $04 + db $10, $10, $92, $04 + db $80 ; terminator OAMData2_13: ; 0x - db $10, $10, $32, $11 - db $10, $08, $30, $11 - db $80 ; terminator + db $10, $10, $32, $11 + db $10, $08, $30, $11 + db $80 ; terminator OAMData2_14: ; 0x - db $10, $10, $36, $11 - db $10, $08, $34, $11 - db $80 ; terminator + db $10, $10, $36, $11 + db $10, $08, $34, $11 + db $80 ; terminator OAMData2_15: ; 0x - db $10, $10, $3A, $11 - db $10, $08, $38, $11 - db $80 ; terminator + db $10, $10, $3A, $11 + db $10, $08, $38, $11 + db $80 ; terminator OAMData2_16: ; 0x - db $10, $10, $3E, $11 - db $10, $08, $3C, $11 - db $80 ; terminator + db $10, $10, $3E, $11 + db $10, $08, $3C, $11 + db $80 ; terminator OAMData2_17: ; 0x - db $20, $10, $7E, $04 - db $10, $18, $2E, $04 - db $10, $10, $92, $04 - db $20, $20, $AC, $04 - db $20, $18, $AA, $04 - db $20, $08, $7C, $04 - db $10, $20, $7A, $04 - db $10, $08, $2C, $04 - db $80 ; terminator + db $20, $10, $7E, $04 + db $10, $18, $2E, $04 + db $10, $10, $92, $04 + db $20, $20, $AC, $04 + db $20, $18, $AA, $04 + db $20, $08, $7C, $04 + db $10, $20, $7A, $04 + db $10, $08, $2C, $04 + db $80 ; terminator OAMData2_18: ; 0x - db $20, $10, $7E, $04 - db $10, $18, $94, $04 - db $10, $10, $92, $04 - db $20, $20, $C4, $04 - db $20, $08, $C2, $04 - db $10, $20, $C0, $04 - db $10, $08, $BE, $04 - db $20, $18, $AA, $04 - db $80 ; terminator + db $20, $10, $7E, $04 + db $10, $18, $94, $04 + db $10, $10, $92, $04 + db $20, $20, $C4, $04 + db $20, $08, $C2, $04 + db $10, $20, $C0, $04 + db $10, $08, $BE, $04 + db $20, $18, $AA, $04 + db $80 ; terminator OAMData2_19: ; 0x - db $1F, $20, $BC, $04 - db $1F, $18, $BA, $04 - db $1F, $10, $B8, $04 - db $1F, $08, $B6, $04 - db $0F, $20, $B4, $04 - db $0F, $18, $B2, $04 - db $0F, $10, $B0, $04 - db $0F, $08, $AE, $04 - db $80 ; terminator + db $1F, $20, $BC, $04 + db $1F, $18, $BA, $04 + db $1F, $10, $B8, $04 + db $1F, $08, $B6, $04 + db $0F, $20, $B4, $04 + db $0F, $18, $B2, $04 + db $0F, $10, $B0, $04 + db $0F, $08, $AE, $04 + db $80 ; terminator OAMData2_1a: ; 0x - db $10, $10, $C6, $31 - db $10, $08, $C6, $11 - db $80 ; terminator + db $10, $10, $C6, $31 + db $10, $08, $C6, $11 + db $80 ; terminator OAMData2_1b: ; 0x - db $10, $10, $C8, $31 - db $10, $08, $C8, $11 - db $80 ; terminator + db $10, $10, $C8, $31 + db $10, $08, $C8, $11 + db $80 ; terminator OAMData2_1c: ; 0x - db $10, $10, $CA, $31 - db $10, $08, $CA, $11 - db $80 ; terminator + db $10, $10, $CA, $31 + db $10, $08, $CA, $11 + db $80 ; terminator OAMData2_1d: ; 0x - db $10, $10, $CC, $31 - db $10, $08, $CC, $11 - db $80 ; terminator + db $10, $10, $CC, $31 + db $10, $08, $CC, $11 + db $80 ; terminator OAMData2_1e: ; 0x - db $10, $10, $CE, $31 - db $10, $08, $CE, $11 - db $80 ; terminator + db $10, $10, $CE, $31 + db $10, $08, $CE, $11 + db $80 ; terminator OAMData2_1f: ; 0x - db $10, $10, $D0, $31 - db $10, $08, $D0, $11 - db $80 ; terminator + db $10, $10, $D0, $31 + db $10, $08, $D0, $11 + db $80 ; terminator OAMData2_20: ; 0x - db $10, $10, $D2, $31 - db $10, $08, $D2, $11 - db $80 ; terminator + db $10, $10, $D2, $31 + db $10, $08, $D2, $11 + db $80 ; terminator OAMData2_21: ; 0x - db $1E, $1F, $9E, $11 - db $1E, $17, $9C, $11 - db $1E, $0F, $9A, $11 - db $1E, $07, $98, $11 - db $0E, $1F, $96, $11 - db $0E, $17, $94, $11 - db $0E, $0F, $92, $11 - db $0E, $07, $90, $11 - db $80 ; terminator + db $1E, $1F, $9E, $11 + db $1E, $17, $9C, $11 + db $1E, $0F, $9A, $11 + db $1E, $07, $98, $11 + db $0E, $1F, $96, $11 + db $0E, $17, $94, $11 + db $0E, $0F, $92, $11 + db $0E, $07, $90, $11 + db $80 ; terminator OAMData2_22: ; 0x - db $20, $20, $1E, $11 - db $20, $18, $1C, $11 - db $20, $10, $1A, $11 - db $20, $08, $A8, $11 - db $10, $20, $A6, $11 - db $10, $18, $A4, $11 - db $10, $10, $A2, $11 - db $10, $08, $A0, $11 - db $80 ; terminator + db $20, $20, $1E, $11 + db $20, $18, $1C, $11 + db $20, $10, $1A, $11 + db $20, $08, $A8, $11 + db $10, $20, $A6, $11 + db $10, $18, $A4, $11 + db $10, $10, $A2, $11 + db $10, $08, $A0, $11 + db $80 ; terminator OAMData2_23: ; 0x - db $0E, $1F, $96, $11 - db $0E, $17, $94, $11 - db $0E, $0F, $92, $11 - db $0E, $07, $90, $11 - db $1E, $1F, $26, $11 - db $1E, $17, $24, $11 - db $1E, $0F, $22, $11 - db $1E, $07, $20, $11 - db $80 ; terminator + db $0E, $1F, $96, $11 + db $0E, $17, $94, $11 + db $0E, $0F, $92, $11 + db $0E, $07, $90, $11 + db $1E, $1F, $26, $11 + db $1E, $17, $24, $11 + db $1E, $0F, $22, $11 + db $1E, $07, $20, $11 + db $80 ; terminator OAMData2_24: ; 0x - db $1A, $24, $34, $11 - db $1A, $1C, $32, $11 - db $1A, $14, $30, $11 - db $1A, $0C, $2E, $11 - db $0A, $1C, $2C, $11 - db $0A, $14, $2A, $11 - db $0A, $0C, $28, $11 - db $80 ; terminator + db $1A, $24, $34, $11 + db $1A, $1C, $32, $11 + db $1A, $14, $30, $11 + db $1A, $0C, $2E, $11 + db $0A, $1C, $2C, $11 + db $0A, $14, $2A, $11 + db $0A, $0C, $28, $11 + db $80 ; terminator OAMData2_25: ; 0x - db $1E, $07, $9E, $31 - db $1E, $0F, $9C, $31 - db $1E, $17, $9A, $31 - db $1E, $1F, $98, $31 - db $0E, $07, $96, $31 - db $0E, $0F, $94, $31 - db $0E, $17, $92, $31 - db $0E, $1F, $90, $31 - db $80 ; terminator + db $1E, $07, $9E, $31 + db $1E, $0F, $9C, $31 + db $1E, $17, $9A, $31 + db $1E, $1F, $98, $31 + db $0E, $07, $96, $31 + db $0E, $0F, $94, $31 + db $0E, $17, $92, $31 + db $0E, $1F, $90, $31 + db $80 ; terminator OAMData2_26: ; 0x - db $20, $08, $1E, $31 - db $20, $10, $1C, $31 - db $20, $18, $1A, $31 - db $20, $20, $A8, $31 - db $10, $08, $A6, $31 - db $10, $10, $A4, $31 - db $10, $18, $A2, $31 - db $10, $20, $A0, $31 - db $80 ; terminator + db $20, $08, $1E, $31 + db $20, $10, $1C, $31 + db $20, $18, $1A, $31 + db $20, $20, $A8, $31 + db $10, $08, $A6, $31 + db $10, $10, $A4, $31 + db $10, $18, $A2, $31 + db $10, $20, $A0, $31 + db $80 ; terminator OAMData2_27: ; 0x - db $0E, $07, $96, $31 - db $0E, $0F, $94, $31 - db $0E, $17, $92, $31 - db $0E, $1F, $90, $31 - db $1E, $07, $26, $31 - db $1E, $0F, $24, $31 - db $1E, $17, $22, $31 - db $1E, $1F, $20, $31 - db $80 ; terminator + db $0E, $07, $96, $31 + db $0E, $0F, $94, $31 + db $0E, $17, $92, $31 + db $0E, $1F, $90, $31 + db $1E, $07, $26, $31 + db $1E, $0F, $24, $31 + db $1E, $17, $22, $31 + db $1E, $1F, $20, $31 + db $80 ; terminator OAMData2_28: ; 0x - db $1A, $0C, $34, $31 - db $1A, $14, $32, $31 - db $1A, $1C, $30, $31 - db $1A, $24, $2E, $31 - db $0A, $14, $2C, $31 - db $0A, $1C, $2A, $31 - db $0A, $24, $28, $31 - db $80 ; terminator + db $1A, $0C, $34, $31 + db $1A, $14, $32, $31 + db $1A, $1C, $30, $31 + db $1A, $24, $2E, $31 + db $0A, $14, $2C, $31 + db $0A, $1C, $2A, $31 + db $0A, $24, $28, $31 + db $80 ; terminator OAMData2_29: ; 0x - db $10, $0C, $36, $13 - db $80 ; terminator + db $10, $0C, $36, $13 + db $80 ; terminator OAMData2_2a: ; 0x - db $10, $10, $3A, $13 - db $10, $08, $38, $13 - db $80 ; terminator + db $10, $10, $3A, $13 + db $10, $08, $38, $13 + db $80 ; terminator OAMData2_2b: ; 0x - db $10, $10, $3E, $13 - db $10, $08, $3C, $13 - db $80 ; terminator + db $10, $10, $3E, $13 + db $10, $08, $3C, $13 + db $80 ; terminator OAMData2_2c: ; 0x - db $10, $10, $7C, $13 - db $10, $08, $7A, $13 - db $80 ; terminator + db $10, $10, $7C, $13 + db $10, $08, $7A, $13 + db $80 ; terminator OAMData2_2d: ; 0x - db $10, $10, $AA, $13 - db $10, $08, $7E, $13 - db $80 ; terminator + db $10, $10, $AA, $13 + db $10, $08, $7E, $13 + db $80 ; terminator OAMData2_2e: ; 0x - db $10, $0F, $AC, $33 - db $10, $08, $AC, $13 - db $80 ; terminator + db $10, $0F, $AC, $33 + db $10, $08, $AC, $13 + db $80 ; terminator OAMData2_2f: ; 0x - db $10, $0F, $AE, $33 - db $10, $08, $AE, $13 - db $80 ; terminator + db $10, $0F, $AE, $33 + db $10, $08, $AE, $13 + db $80 ; terminator OAMData2_30: ; 0x - db $10, $0F, $B0, $33 - db $10, $08, $B0, $13 - db $80 ; terminator + db $10, $0F, $B0, $33 + db $10, $08, $B0, $13 + db $80 ; terminator OAMData2_31: ; 0x - db $10, $0C, $B2, $13 - db $80 ; terminator + db $10, $0C, $B2, $13 + db $80 ; terminator OAMData2_32: ; 0x - db $10, $0C, $B4, $13 - db $80 ; terminator + db $10, $0C, $B4, $13 + db $80 ; terminator OAMData2_33: ; 0x - db $20, $20, $C4, $11 - db $20, $18, $C2, $11 - db $20, $10, $C0, $11 - db $20, $08, $BE, $11 - db $10, $20, $BC, $11 - db $10, $18, $BA, $11 - db $10, $10, $B8, $11 - db $10, $08, $B6, $11 - db $80 ; terminator + db $20, $20, $C4, $11 + db $20, $18, $C2, $11 + db $20, $10, $C0, $11 + db $20, $08, $BE, $11 + db $10, $20, $BC, $11 + db $10, $18, $BA, $11 + db $10, $10, $B8, $11 + db $10, $08, $B6, $11 + db $80 ; terminator OAMData2_34: ; 0x - db $20, $20, $CE, $11 - db $20, $18, $CC, $11 - db $20, $10, $CA, $11 - db $20, $08, $C8, $11 - db $10, $10, $C6, $11 - db $10, $20, $BC, $11 - db $10, $18, $BA, $11 - db $10, $08, $B6, $11 - db $80 ; terminator + db $20, $20, $CE, $11 + db $20, $18, $CC, $11 + db $20, $10, $CA, $11 + db $20, $08, $C8, $11 + db $10, $10, $C6, $11 + db $10, $20, $BC, $11 + db $10, $18, $BA, $11 + db $10, $08, $B6, $11 + db $80 ; terminator OAMData2_35: ; 0x - db $0A, $10, $D2, $00 - db $0A, $08, $D0, $00 - db $80 ; terminator + db $0A, $10, $D2, $00 + db $0A, $08, $D0, $00 + db $80 ; terminator OAMData2_36: ; 0x - db $08, $10, $D2, $00 - db $08, $08, $D0, $00 - db $80 ; terminator + db $08, $10, $D2, $00 + db $08, $08, $D0, $00 + db $80 ; terminator OAMData2_37: ; 0x - db $06, $10, $D2, $00 - db $06, $08, $D0, $00 - db $80 ; terminator + db $06, $10, $D2, $00 + db $06, $08, $D0, $00 + db $80 ; terminator OAMData2_38: ; 0x - db $0A, $10, $D4, $00 - db $0A, $08, $D0, $00 - db $80 ; terminator + db $0A, $10, $D4, $00 + db $0A, $08, $D0, $00 + db $80 ; terminator OAMData2_39: ; 0x - db $08, $10, $D4, $00 - db $08, $08, $D0, $00 - db $80 ; terminator + db $08, $10, $D4, $00 + db $08, $08, $D0, $00 + db $80 ; terminator OAMData2_3a: ; 0x - db $06, $10, $D4, $00 - db $06, $08, $D0, $00 - db $80 ; terminator + db $06, $10, $D4, $00 + db $06, $08, $D0, $00 + db $80 ; terminator OAMData2_3b: ; 0x - db $0A, $10, $D6, $00 - db $0A, $08, $D0, $00 - db $80 ; terminator + db $0A, $10, $D6, $00 + db $0A, $08, $D0, $00 + db $80 ; terminator OAMData2_3c: ; 0x - db $08, $10, $D6, $00 - db $08, $08, $D0, $00 - db $80 ; terminator + db $08, $10, $D6, $00 + db $08, $08, $D0, $00 + db $80 ; terminator OAMData2_3d: ; 0x - db $05, $10, $D6, $00 - db $05, $08, $D0, $00 - db $80 ; terminator + db $05, $10, $D6, $00 + db $05, $08, $D0, $00 + db $80 ; terminator OAMData2_3e: ; 0x - db $0A, $10, $D8, $00 - db $0A, $08, $D0, $00 - db $80 ; terminator + db $0A, $10, $D8, $00 + db $0A, $08, $D0, $00 + db $80 ; terminator OAMData2_3f: ; 0x - db $08, $10, $D8, $00 - db $08, $08, $D0, $00 + db $08, $10, $D8, $00 + db $08, $08, $D0, $00 - db $80 ; terminator + db $80 ; terminator OAMData2_40: ; 0x - db $05, $10, $D8, $00 - db $05, $08, $D0, $00 - db $80 ; terminator + db $05, $10, $D8, $00 + db $05, $08, $D0, $00 + db $80 ; terminator OAMData2_41: ; 0x - db $0A, $10, $DA, $00 - db $0A, $08, $D0, $00 - db $80 ; terminator + db $0A, $10, $DA, $00 + db $0A, $08, $D0, $00 + db $80 ; terminator OAMData2_42: ; 0x - db $08, $10, $DA, $00 - db $08, $08, $D0, $00 - db $80 ; terminator + db $08, $10, $DA, $00 + db $08, $08, $D0, $00 + db $80 ; terminator OAMData2_43: ; 0x - db $05, $10, $DA, $00 - db $05, $08, $D0, $00 - db $80 ; terminator + db $05, $10, $DA, $00 + db $05, $08, $D0, $00 + db $80 ; terminator OAMData2_44: ; 0x - db $10, $08, $DC, $00 - db $80 ; terminator + db $10, $08, $DC, $00 + db $80 ; terminator OAMData2_45: ; 0x - db $10, $08, $DE, $00 - db $80 ; terminator + db $10, $08, $DE, $00 + db $80 ; terminator OAMData2_46: ; 0x - db $20, $20, $9E, $11 - db $20, $18, $9C, $11 - db $20, $10, $9A, $11 - db $20, $08, $98, $11 - db $10, $20, $96, $11 - db $10, $18, $94, $11 - db $10, $10, $92, $11 - db $10, $08, $90, $11 - db $80 ; terminator + db $20, $20, $9E, $11 + db $20, $18, $9C, $11 + db $20, $10, $9A, $11 + db $20, $08, $98, $11 + db $10, $20, $96, $11 + db $10, $18, $94, $11 + db $10, $10, $92, $11 + db $10, $08, $90, $11 + db $80 ; terminator OAMData2_47: ; 0x - db $20, $20, $1E, $11 - db $20, $18, $1C, $11 - db $20, $10, $1A, $11 - db $20, $08, $A8, $11 - db $10, $20, $A6, $11 - db $10, $18, $A4, $11 - db $10, $10, $A2, $11 - db $10, $08, $A0, $11 - db $80 ; terminator + db $20, $20, $1E, $11 + db $20, $18, $1C, $11 + db $20, $10, $1A, $11 + db $20, $08, $A8, $11 + db $10, $20, $A6, $11 + db $10, $18, $A4, $11 + db $10, $10, $A2, $11 + db $10, $08, $A0, $11 + db $80 ; terminator OAMData2_48: ; 0x - db $20, $20, $9E, $11 - db $10, $20, $96, $11 - db $20, $10, $1A, $11 - db $20, $08, $A8, $11 - db $10, $08, $A0, $11 - db $20, $18, $24, $11 - db $10, $18, $22, $11 - db $10, $10, $20, $11 - db $80 ; terminator + db $20, $20, $9E, $11 + db $10, $20, $96, $11 + db $20, $10, $1A, $11 + db $20, $08, $A8, $11 + db $10, $08, $A0, $11 + db $20, $18, $24, $11 + db $10, $18, $22, $11 + db $10, $10, $20, $11 + db $80 ; terminator OAMData2_49: ; 0x - db $10, $08, $A0, $11 - db $20, $20, $32, $11 - db $20, $18, $30, $11 - db $20, $10, $2E, $11 - db $20, $08, $2C, $11 - db $10, $20, $2A, $11 - db $10, $18, $28, $11 - db $10, $10, $26, $11 - db $80 ; terminator + db $10, $08, $A0, $11 + db $20, $20, $32, $11 + db $20, $18, $30, $11 + db $20, $10, $2E, $11 + db $20, $08, $2C, $11 + db $10, $20, $2A, $11 + db $10, $18, $28, $11 + db $10, $10, $26, $11 + db $80 ; terminator OAMData2_4a: ; 0x - db $20, $18, $AA, $11 - db $20, $10, $7E, $11 - db $10, $18, $7C, $11 - db $10, $10, $7A, $11 - db $20, $20, $9E, $11 - db $20, $08, $98, $11 - db $10, $20, $96, $11 - db $10, $08, $90, $11 - db $80 ; terminator + db $20, $18, $AA, $11 + db $20, $10, $7E, $11 + db $10, $18, $7C, $11 + db $10, $10, $7A, $11 + db $20, $20, $9E, $11 + db $20, $08, $98, $11 + db $10, $20, $96, $11 + db $10, $08, $90, $11 + db $80 ; terminator OAMData2_4b: ; 0x - db $20, $18, $B2, $11 - db $20, $10, $B0, $11 - db $10, $18, $AE, $11 - db $10, $10, $AC, $11 - db $20, $20, $1E, $11 - db $20, $08, $A8, $11 - db $10, $20, $A6, $11 - db $10, $08, $A0, $11 - db $80 ; terminator + db $20, $18, $B2, $11 + db $20, $10, $B0, $11 + db $10, $18, $AE, $11 + db $10, $10, $AC, $11 + db $20, $20, $1E, $11 + db $20, $08, $A8, $11 + db $10, $20, $A6, $11 + db $10, $08, $A0, $11 + db $80 ; terminator OAMData2_4c: ; 0x - db $20, $10, $B0, $11 - db $10, $10, $AC, $11 - db $20, $18, $AA, $11 - db $10, $18, $7C, $11 - db $20, $20, $9E, $11 - db $10, $20, $96, $11 - db $20, $08, $A8, $11 - db $10, $08, $A0, $11 - db $80 ; terminator + db $20, $10, $B0, $11 + db $10, $10, $AC, $11 + db $20, $18, $AA, $11 + db $10, $18, $7C, $11 + db $20, $20, $9E, $11 + db $10, $20, $96, $11 + db $20, $08, $A8, $11 + db $10, $08, $A0, $11 + db $80 ; terminator OAMData2_4d: ; 0x - db $20, $18, $BA, $11 - db $20, $10, $B8, $11 - db $10, $18, $B6, $11 - db $10, $10, $B4, $11 - db $10, $08, $A0, $11 - db $20, $20, $32, $11 - db $20, $08, $2C, $11 - db $10, $20, $2A, $11 - db $80 ; terminator + db $20, $18, $BA, $11 + db $20, $10, $B8, $11 + db $10, $18, $B6, $11 + db $10, $10, $B4, $11 + db $10, $08, $A0, $11 + db $20, $20, $32, $11 + db $20, $08, $2C, $11 + db $10, $20, $2A, $11 + db $80 ; terminator OAMData2_4e: ; 0x - db $20, $20, $C2, $11 - db $20, $18, $C0, $11 - db $10, $20, $BE, $11 - db $10, $18, $BC, $11 - db $20, $10, $7E, $11 - db $10, $10, $7A, $11 - db $20, $08, $98, $11 - db $10, $08, $90, $11 - db $80 ; terminator + db $20, $20, $C2, $11 + db $20, $18, $C0, $11 + db $10, $20, $BE, $11 + db $10, $18, $BC, $11 + db $20, $10, $7E, $11 + db $10, $10, $7A, $11 + db $20, $08, $98, $11 + db $10, $08, $90, $11 + db $80 ; terminator OAMData2_4f: ; 0x - db $20, $10, $B0, $11 - db $10, $10, $AC, $11 - db $20, $08, $A8, $11 - db $10, $08, $A0, $11 - db $20, $20, $C2, $11 - db $20, $18, $C0, $11 - db $10, $20, $BE, $11 - db $10, $18, $BC, $11 - db $80 ; terminator + db $20, $10, $B0, $11 + db $10, $10, $AC, $11 + db $20, $08, $A8, $11 + db $10, $08, $A0, $11 + db $20, $20, $C2, $11 + db $20, $18, $C0, $11 + db $10, $20, $BE, $11 + db $10, $18, $BC, $11 + db $80 ; terminator OAMData2_50: ; 0x - db $20, $10, $B0, $11 - db $10, $10, $AC, $11 - db $20, $08, $A8, $11 - db $10, $08, $A0, $11 - db $20, $20, $C2, $11 - db $20, $18, $C0, $11 - db $10, $20, $BE, $11 - db $10, $18, $BC, $11 - db $80 ; terminator + db $20, $10, $B0, $11 + db $10, $10, $AC, $11 + db $20, $08, $A8, $11 + db $10, $08, $A0, $11 + db $20, $20, $C2, $11 + db $20, $18, $C0, $11 + db $10, $20, $BE, $11 + db $10, $18, $BC, $11 + db $80 ; terminator OAMData2_51: ; 0x - db $20, $20, $CA, $11 - db $20, $18, $C8, $11 - db $10, $20, $C6, $11 - db $10, $18, $C4, $11 - db $20, $10, $B8, $11 - db $10, $10, $B4, $11 - db $10, $08, $A0, $11 - db $20, $08, $2C, $11 - db $80 ; terminator + db $20, $20, $CA, $11 + db $20, $18, $C8, $11 + db $10, $20, $C6, $11 + db $10, $18, $C4, $11 + db $20, $10, $B8, $11 + db $10, $10, $B4, $11 + db $10, $08, $A0, $11 + db $20, $08, $2C, $11 + db $80 ; terminator OAMData2_52: ; 0x - db $20, $08, $38, $11 - db $10, $18, $36, $11 - db $10, $10, $34, $11 - db $20, $20, $3E, $11 - db $20, $18, $3C, $11 - db $20, $10, $3A, $11 - db $80 ; terminator + db $20, $08, $38, $11 + db $10, $18, $36, $11 + db $10, $10, $34, $11 + db $20, $20, $3E, $11 + db $20, $18, $3C, $11 + db $20, $10, $3A, $11 + db $80 ; terminator OAMData2_53: ; 0x - db $20, $10, $CE, $11 - db $20, $08, $CC, $11 - db $20, $20, $C2, $11 - db $20, $18, $C0, $11 - db $10, $20, $BE, $11 - db $10, $18, $BC, $11 - db $10, $10, $7A, $11 - db $10, $08, $90, $11 - db $80 ; terminator + db $20, $10, $CE, $11 + db $20, $08, $CC, $11 + db $20, $20, $C2, $11 + db $20, $18, $C0, $11 + db $10, $20, $BE, $11 + db $10, $18, $BC, $11 + db $10, $10, $7A, $11 + db $10, $08, $90, $11 + db $80 ; terminator OAMData2_54: ; 0x - db $20, $20, $9A, $11 - db $20, $18, $98, $11 - db $20, $10, $96, $11 - db $20, $08, $94, $11 - db $10, $18, $92, $11 - db $10, $10, $90, $11 - db $80 ; terminator + db $20, $20, $9A, $11 + db $20, $18, $98, $11 + db $20, $10, $96, $11 + db $20, $08, $94, $11 + db $10, $18, $92, $11 + db $10, $10, $90, $11 + db $80 ; terminator OAMData2_55: ; 0x - db $20, $20, $A6, $11 - db $20, $18, $A4, $11 - db $20, $10, $A2, $11 - db $20, $08, $A0, $11 - db $10, $18, $9E, $11 - db $10, $10, $9C, $11 - db $80 ; terminator + db $20, $20, $A6, $11 + db $20, $18, $A4, $11 + db $20, $10, $A2, $11 + db $20, $08, $A0, $11 + db $10, $18, $9E, $11 + db $10, $10, $9C, $11 + db $80 ; terminator OAMData2_56: ; 0x - db $20, $20, $22, $11 - db $20, $18, $20, $11 - db $20, $10, $1E, $11 - db $20, $08, $1C, $11 - db $10, $18, $1A, $11 - db $10, $10, $A8, $11 - db $80 ; terminator + db $20, $20, $22, $11 + db $20, $18, $20, $11 + db $20, $10, $1E, $11 + db $20, $08, $1C, $11 + db $10, $18, $1A, $11 + db $10, $10, $A8, $11 + db $80 ; terminator OAMData2_57: ; 0x - db $26, $1E, $2A, $13 - db $26, $16, $28, $13 - db $26, $0E, $26, $13 - db $26, $06, $24, $13 - db $80 ; terminator + db $26, $1E, $2A, $13 + db $26, $16, $28, $13 + db $26, $0E, $26, $13 + db $26, $06, $24, $13 + db $80 ; terminator OAMData2_58: ; 0x - db $26, $1E, $32, $13 - db $26, $16, $30, $13 - db $26, $0E, $2E, $13 - db $26, $06, $2C, $13 - db $80 ; terminator + db $26, $1E, $32, $13 + db $26, $16, $30, $13 + db $26, $0E, $2E, $13 + db $26, $06, $2C, $13 + db $80 ; terminator OAMData2_59: ; 0x - db $26, $1E, $3A, $13 - db $26, $16, $38, $13 - db $26, $0E, $36, $13 - db $26, $06, $34, $13 - db $80 ; terminator + db $26, $1E, $3A, $13 + db $26, $16, $38, $13 + db $26, $0E, $36, $13 + db $26, $06, $34, $13 + db $80 ; terminator OAMData2_5a: ; 0x - db $25, $1E, $7C, $13 - db $25, $16, $7A, $13 - db $25, $0E, $3E, $13 - db $25, $06, $3C, $13 - db $80 ; terminator + db $25, $1E, $7C, $13 + db $25, $16, $7A, $13 + db $25, $0E, $3E, $13 + db $25, $06, $3C, $13 + db $80 ; terminator OAMData2_5b: ; 0x - db $24, $1B, $AC, $13 - db $24, $13, $AA, $13 - db $24, $0B, $7E, $13 - db $80 ; terminator + db $24, $1B, $AC, $13 + db $24, $13, $AA, $13 + db $24, $0B, $7E, $13 + db $80 ; terminator OAMData2_5c: ; 0x - db $24, $18, $B0, $13 - db $24, $10, $AE, $13 - db $80 ; terminator + db $24, $18, $B0, $13 + db $24, $10, $AE, $13 + db $80 ; terminator OAMData2_5d: ; 0x - db $22, $18, $B4, $13 - db $22, $10, $B2, $13 - db $80 ; terminator + db $22, $18, $B4, $13 + db $22, $10, $B2, $13 + db $80 ; terminator OAMData2_5e: ; 0x - db $20, $1E, $BA, $13 - db $20, $16, $B8, $13 - db $20, $0E, $B6, $13 - db $80 ; terminator + db $20, $1E, $BA, $13 + db $20, $16, $B8, $13 + db $20, $0E, $B6, $13 + db $80 ; terminator OAMData2_5f: ; 0x - db $20, $20, $C6, $11 - db $20, $18, $C4, $11 - db $20, $10, $C2, $11 - db $20, $08, $C0, $11 - db $10, $18, $BE, $11 - db $10, $10, $BC, $11 - db $80 ; terminator + db $20, $20, $C6, $11 + db $20, $18, $C4, $11 + db $20, $10, $C2, $11 + db $20, $08, $C0, $11 + db $10, $18, $BE, $11 + db $10, $10, $BC, $11 + db $80 ; terminator OAMData2_60: ; 0x - db $20, $20, $D2, $11 - db $20, $18, $D0, $11 - db $20, $10, $CE, $11 - db $1F, $08, $CC, $11 - db $10, $18, $CA, $11 - db $10, $10, $C8, $11 - db $80 ; terminator + db $20, $20, $D2, $11 + db $20, $18, $D0, $11 + db $20, $10, $CE, $11 + db $1F, $08, $CC, $11 + db $10, $18, $CA, $11 + db $10, $10, $C8, $11 + db $80 ; terminator OAMData2_61: ; 0x - db $20, $20, $DE, $11 - db $20, $18, $DC, $11 - db $20, $10, $DA, $11 - db $20, $08, $D8, $11 - db $10, $18, $D6, $11 - db $10, $10, $D4, $11 - db $80 ; terminator + db $20, $20, $DE, $11 + db $20, $18, $DC, $11 + db $20, $10, $DA, $11 + db $20, $08, $D8, $11 + db $10, $18, $D6, $11 + db $10, $10, $D4, $11 + db $80 ; terminator OAMData2_62: ; 0x - db $25, $1B, $AD, $53 - db $25, $13, $AB, $53 - db $25, $0B, $7F, $53 - db $80 ; terminator + db $25, $1B, $AD, $53 + db $25, $13, $AB, $53 + db $25, $0B, $7F, $53 + db $80 ; terminator OAMData2_63: ; 0x - db $25, $1E, $7D, $53 - db $25, $16, $7B, $53 - db $25, $0E, $3F, $53 - db $25, $06, $3D, $53 - db $80 ; terminator + db $25, $1E, $7D, $53 + db $25, $16, $7B, $53 + db $25, $0E, $3F, $53 + db $25, $06, $3D, $53 + db $80 ; terminator OAMData2_64: ; 0x - db $26, $09, $2A, $33 - db $26, $11, $28, $33 - db $26, $19, $26, $33 - db $26, $21, $24, $33 - db $80 ; terminator + db $26, $09, $2A, $33 + db $26, $11, $28, $33 + db $26, $19, $26, $33 + db $26, $21, $24, $33 + db $80 ; terminator OAMData2_65: ; 0x - db $26, $09, $32, $33 - db $26, $11, $30, $33 - db $26, $19, $2E, $33 - db $26, $21, $2C, $33 - db $80 ; terminator + db $26, $09, $32, $33 + db $26, $11, $30, $33 + db $26, $19, $2E, $33 + db $26, $21, $2C, $33 + db $80 ; terminator OAMData2_66: ; 0x - db $26, $09, $3A, $33 - db $26, $11, $38, $33 - db $26, $19, $36, $33 - db $26, $21, $34, $33 - db $80 ; terminator + db $26, $09, $3A, $33 + db $26, $11, $38, $33 + db $26, $19, $36, $33 + db $26, $21, $34, $33 + db $80 ; terminator OAMData2_67: ; 0x - db $25, $09, $7C, $33 - db $25, $11, $7A, $33 - db $25, $19, $3E, $33 - db $25, $21, $3C, $33 - db $80 ; terminator + db $25, $09, $7C, $33 + db $25, $11, $7A, $33 + db $25, $19, $3E, $33 + db $25, $21, $3C, $33 + db $80 ; terminator OAMData2_68: ; 0x - db $24, $0E, $AC, $33 - db $24, $16, $AA, $33 - db $24, $1E, $7E, $33 - db $80 ; terminator + db $24, $0E, $AC, $33 + db $24, $16, $AA, $33 + db $24, $1E, $7E, $33 + db $80 ; terminator OAMData2_69: ; 0x - db $25, $0E, $AD, $73 - db $25, $16, $AB, $73 - db $25, $1E, $7F, $73 - db $80 ; terminator + db $25, $0E, $AD, $73 + db $25, $16, $AB, $73 + db $25, $1E, $7F, $73 + db $80 ; terminator OAMData2_6a: ; 0x - db $25, $09, $7D, $73 - db $25, $11, $7B, $73 - db $25, $19, $3F, $73 - db $25, $21, $3D, $73 - db $80 ; terminator + db $25, $09, $7D, $73 + db $25, $11, $7B, $73 + db $25, $19, $3F, $73 + db $25, $21, $3D, $73 + db $80 ; terminator OAMData2_6b: ; 0x - db $02, $18, $E4, $00 - db $02, $10, $E0, $00 - db $80 ; terminator + db $02, $18, $E4, $00 + db $02, $10, $E0, $00 + db $80 ; terminator OAMData2_6c: ; 0x - db $00, $18, $E4, $00 - db $00, $10, $E0, $00 - db $80 ; terminator + db $00, $18, $E4, $00 + db $00, $10, $E0, $00 + db $80 ; terminator OAMData2_6d: ; 0x - db $FE, $18, $E4, $00 - db $FE, $10, $E0, $00 - db $80 ; terminator + db $FE, $18, $E4, $00 + db $FE, $10, $E0, $00 + db $80 ; terminator OAMData2_6e: ; 0x - db $02, $18, $E8, $00 - db $02, $10, $E0, $00 - db $80 ; terminator + db $02, $18, $E8, $00 + db $02, $10, $E0, $00 + db $80 ; terminator OAMData2_6f: ; 0x - db $00, $18, $E8, $00 - db $00, $10, $E0, $00 - db $80 ; terminator + db $00, $18, $E8, $00 + db $00, $10, $E0, $00 + db $80 ; terminator OAMData2_70: ; 0x - db $FE, $18, $E8, $00 - db $FE, $10, $E0, $00 - db $80 ; terminator + db $FE, $18, $E8, $00 + db $FE, $10, $E0, $00 + db $80 ; terminator OAMData2_71: ; 0x - db $02, $18, $EE, $00 - db $02, $10, $E0, $00 - db $80 ; terminator + db $02, $18, $EE, $00 + db $02, $10, $E0, $00 + db $80 ; terminator OAMData2_72: ; 0x - db $00, $18, $EE, $00 - db $00, $10, $E0, $00 - db $80 ; terminator + db $00, $18, $EE, $00 + db $00, $10, $E0, $00 + db $80 ; terminator OAMData2_73: ; 0x - db $FE, $18, $EE, $00 - db $FE, $10, $E0, $00 - db $80 ; terminator + db $FE, $18, $EE, $00 + db $FE, $10, $E0, $00 + db $80 ; terminator OAMData2_74: ; 0x - db $02, $1C, $EC, $00 - db $02, $14, $E2, $00 - db $02, $0C, $E0, $00 - db $80 ; terminator + db $02, $1C, $EC, $00 + db $02, $14, $E2, $00 + db $02, $0C, $E0, $00 + db $80 ; terminator OAMData2_75: ; 0x - db $00, $1C, $EC, $00 - db $00, $14, $E2, $00 - db $00, $0C, $E0, $00 - db $80 ; terminator + db $00, $1C, $EC, $00 + db $00, $14, $E2, $00 + db $00, $0C, $E0, $00 + db $80 ; terminator OAMData2_76: ; 0x - db $FE, $1C, $EC, $00 - db $FE, $14, $E2, $00 - db $FE, $0C, $E0, $00 - db $80 ; terminator + db $FE, $1C, $EC, $00 + db $FE, $14, $E2, $00 + db $FE, $0C, $E0, $00 + db $80 ; terminator OAMData2_77: ; 0x - db $02, $1C, $E4, $00 - db $02, $14, $E6, $00 - db $02, $0C, $E0, $00 - db $80 ; terminator + db $02, $1C, $E4, $00 + db $02, $14, $E6, $00 + db $02, $0C, $E0, $00 + db $80 ; terminator OAMData2_78: ; 0x - db $00, $1C, $E4, $00 - db $00, $14, $E6, $00 - db $00, $0C, $E0, $00 - db $80 ; terminator + db $00, $1C, $E4, $00 + db $00, $14, $E6, $00 + db $00, $0C, $E0, $00 + db $80 ; terminator OAMData2_79: ; 0x - db $FE, $1C, $E4, $00 - db $FE, $14, $E6, $00 - db $FE, $0C, $E0, $00 - db $80 ; terminator + db $FE, $1C, $E4, $00 + db $FE, $14, $E6, $00 + db $FE, $0C, $E0, $00 + db $80 ; terminator OAMData2_7a: ; 0x - db $02, $1C, $E8, $00 - db $02, $14, $EC, $00 - db $02, $0C, $E0, $00 - db $80 ; terminator + db $02, $1C, $E8, $00 + db $02, $14, $EC, $00 + db $02, $0C, $E0, $00 + db $80 ; terminator OAMData2_7b: ; 0x - db $00, $1C, $E8, $00 - db $00, $14, $EC, $00 - db $00, $0C, $E0, $00 - db $80 ; terminator + db $00, $1C, $E8, $00 + db $00, $14, $EC, $00 + db $00, $0C, $E0, $00 + db $80 ; terminator OAMData2_7c: ; 0x - db $FE, $1C, $E8, $00 - db $FE, $14, $EC, $00 - db $FE, $0C, $E0, $00 - db $80 ; terminator + db $FE, $1C, $E8, $00 + db $FE, $14, $EC, $00 + db $FE, $0C, $E0, $00 + db $80 ; terminator OAMData2_7d: ; 0x - db $02, $20, $EE, $00 - db $02, $18, $E4, $00 - db $02, $10, $E2, $00 - db $02, $08, $E0, $00 - db $80 ; terminator + db $02, $20, $EE, $00 + db $02, $18, $E4, $00 + db $02, $10, $E2, $00 + db $02, $08, $E0, $00 + db $80 ; terminator OAMData2_7e: ; 0x - db $00, $20, $EE, $00 - db $00, $18, $E4, $00 - db $00, $10, $E2, $00 - db $00, $08, $E0, $00 - db $80 ; terminator + db $00, $20, $EE, $00 + db $00, $18, $E4, $00 + db $00, $10, $E2, $00 + db $00, $08, $E0, $00 + db $80 ; terminator OAMData2_7f: ; 0x - db $FE, $20, $EE, $00 - db $FE, $18, $E4, $00 - db $FE, $10, $E2, $00 - db $FE, $08, $E0, $00 - db $80 ; terminator + db $FE, $20, $EE, $00 + db $FE, $18, $E4, $00 + db $FE, $10, $E2, $00 + db $FE, $08, $E0, $00 + db $80 ; terminator OAMData2_80: ; 0x - db $02, $20, $EC, $00 - db $02, $18, $EA, $00 - db $02, $10, $E4, $00 - db $02, $08, $E0, $00 - db $80 ; terminator + db $02, $20, $EC, $00 + db $02, $18, $EA, $00 + db $02, $10, $E4, $00 + db $02, $08, $E0, $00 + db $80 ; terminator OAMData2_81: ; 0x - db $00, $20, $EC, $00 - db $00, $18, $EA, $00 - db $00, $10, $E4, $00 - db $00, $08, $E0, $00 - db $80 ; terminator + db $00, $20, $EC, $00 + db $00, $18, $EA, $00 + db $00, $10, $E4, $00 + db $00, $08, $E0, $00 + db $80 ; terminator OAMData2_82: ; 0x - db $FE, $20, $EC, $00 - db $FE, $18, $EA, $00 - db $FE, $10, $E4, $00 - db $FE, $08, $E0, $00 - db $80 ; terminator + db $FE, $20, $EC, $00 + db $FE, $18, $EA, $00 + db $FE, $10, $E4, $00 + db $FE, $08, $E0, $00 + db $80 ; terminator OAMData2_83: ; 0x6258 - db $10, $08, $F0, $00 - db $80 ; terminator + db $10, $08, $F0, $00 + db $80 ; terminator OAMData2_84: ; 0x625d - db $10, $08, $F2, $00 - db $80 ; terminator + db $10, $08, $F2, $00 + db $80 ; terminator ; Free Space 0x6262 @@ -10072,3500 +10134,3500 @@ OAMData2_84: ; 0x625d SECTION "bank2", ROMX, BANK[$2] Func_8000: ; 0x8000 - ld a, [wScreenState] - rst $18 ; calls JumpToFuncInTable + ld a, [wScreenState] + rst $18 ; calls JumpToFuncInTable CallTable_8004: ; 0x8004 - dw Func_800a - dw Func_8104 - dw Func_814e + dw Func_800a + dw Func_8104 + dw Func_814e Func_800a: ; 0x800a - xor a - ld [$ffc4], a - ld a, [hJoypadState] - cp D_UP - jr nz, .asm_8018 - ld a, [hGameBoyColorFlag] - and a - jr nz, .asm_8021 + xor a + ld [$ffc4], a + ld a, [hJoypadState] + cp D_UP + jr nz, .asm_8018 + ld a, [hGameBoyColorFlag] + and a + jr nz, .asm_8021 .asm_8018 - ld hl, wCurrentScreen - inc [hl] - xor a - ld [wScreenState], a - ret + ld hl, wCurrentScreen + inc [hl] + xor a + ld [wScreenState], a + ret .asm_8021 - ld a, $45 - ld [$ff9e], a - ld a, $e4 - ld [$d80c], a - ld [$d80d], a - ld [$d80e], a - xor a - ld [hBoardXShift], a - ld [hBoardYShift], a - call Func_8049 - call ClearOAMBuffer - call Func_b66 - call Func_588 - call Func_bbe - ld hl, wScreenState - inc [hl] - ret + ld a, $45 + ld [$ff9e], a + ld a, $e4 + ld [$d80c], a + ld [$d80d], a + ld [$d80e], a + xor a + ld [hBoardXShift], a + ld [hBoardYShift], a + call Func_8049 + call ClearOAMBuffer + call Func_b66 + call Func_588 + call Func_bbe + ld hl, wScreenState + inc [hl] + ret Func_8049: ; 0x8049 ; This function is unused? - ld a, $1 - ld [$ff4f], a - ld c, $ff - call FillTilesVRAM - call FillBackgroundsVRAM - xor a - ld [$ff4f], a - ld c, $0 - call FillTilesVRAM - call FillBackgroundsVRAM - ; This code makes no sense. - ; It first fills 33 bytes at $ff68, then refills at $ff6a - ld a, $80 - ld de, $ff68 - ld hl, Data_80e4 - call Fill33Bytes - ld a, $80 - ld de, $ff6a - ld hl, Data_80f4 - call Fill33Bytes - ld hl, PointerTable_8089 - xor a - call LoadVideoData - ld a, Bank(UnusedTileListData_8094) - ld bc, UnusedTileListData_8094 - ld de, LoadTileLists - call Func_10c5 - ret + ld a, $1 + ld [rVBK], a + ld c, $ff + call FillTilesVRAM + call FillBackgroundsVRAM + xor a + ld [rVBK], a + ld c, $0 + call FillTilesVRAM + call FillBackgroundsVRAM + ; This code makes no sense. + ; It first fills 33 bytes at $ff68, then refills at rOBPI + ld a, $80 + ld de, rBGPI + ld hl, Data_80e4 + call Fill33Bytes + ld a, $80 + ld de, rOBPI + ld hl, Data_80f4 + call Fill33Bytes + ld hl, PointerTable_8089 + xor a + call LoadVideoData + ld a, Bank(UnusedTileListData_8094) + ld bc, UnusedTileListData_8094 + ld de, LoadTileLists + call Func_10c5 + ret PointerTable_8089: ; 0x8089 - dw UnusedTextVideoData + dw UnusedTextVideoData UnusedTextVideoData: ; 0x808b - VIDEO_DATA_TILES UnusedTextGfx, vTiles1 + $200, $400 - db $FF, $FF ; terminators + VIDEO_DATA_TILES UnusedTextGfx, vTiles1 + $200, $400 + db $FF, $FF ; terminators UnusedTileListData_8094: ; 0x8094 - db $13 + db $13 - dbw $06, $98A3 - db $BC, $AF, $B6, $AF, $AD, $BD + dbw $06, $98A3 + db $BC, $AF, $B6, $AF, $AD, $BD - dbw $06, $98AA - db $BD, $AB, $BB, $B1, $AF, $BD + dbw $06, $98AA + db $BD, $AB, $BB, $B1, $AF, $BD - dbw $04, $98E3 - db $D0, $AD, $B1, $AC + dbw $04, $98E3 + db $D0, $AD, $B1, $AC - dbw $03, $9924 - db $AE, $B7, $B1 + dbw $03, $9924 + db $AE, $B7, $B1 - db $00 ; terminator + db $00 ; terminator FillBackgroundsVRAM: ; 0x80b5 - ld hl, vBGMap0 + ld hl, vBGMap0 .fillLoop - xor a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld a, h - cp $a0 ; end of VRAM - jr nz, .fillLoop - ret + xor a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld a, h + cp $a0 ; end of VRAM + jr nz, .fillLoop + ret FillTilesVRAM: ; 0x80c3 - ld hl, vTiles0 + ld hl, vTiles0 .fillLoop - ld a, c - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld a, h - cp (vBGMap0 >> 8) - jr nz, .fillLoop - ret + ld a, c + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld a, h + cp (vBGMap0 >> 8) + jr nz, .fillLoop + ret Fill33Bytes: ; 0x80d1 ; First places a in [de]. ; Then, reads 32 bytes from hl and places them in order at de + 1 - ld [de], a - inc de - ld b, $4 + ld [de], a + inc de + ld b, $4 .outerLoop - ld c, $8 - push hl + ld c, $8 + push hl .innerLoop - ld a, [hli] - ld [de], a - ld a, [hli] - ld [de], a - dec c - jr nz, .innerLoop - pop hl - dec b - jr nz, .outerLoop - ret + ld a, [hli] + ld [de], a + ld a, [hli] + ld [de], a + dec c + jr nz, .innerLoop + pop hl + dec b + jr nz, .outerLoop + ret Data_80e4: ; 0x80e4 - db $FF - db $7F - db $B5 - db $56 - db $6B - db $2D - db $00 - db $00 - db $FF - db $7F - db $B5 - db $56 - db $6B - db $2D - db $00 - db $00 + db $FF + db $7F + db $B5 + db $56 + db $6B + db $2D + db $00 + db $00 + db $FF + db $7F + db $B5 + db $56 + db $6B + db $2D + db $00 + db $00 Data_80f4: ; 0x80f4 - db $B5 - db $56 - db $FF - db $7F - db $6B - db $2D - db $00 - db $00 - db $FF - db $7F - db $B5 - db $56 - db $6B - db $2D - db $00 - db $00 + db $B5 + db $56 + db $FF + db $7F + db $6B + db $2D + db $00 + db $00 + db $FF + db $7F + db $B5 + db $56 + db $6B + db $2D + db $00 + db $00 Func_8104: ; 0x8104 - ld a, [hNewlyPressedButtons] - ld b, a - and (D_DOWN | D_UP) - jr z, .asm_8115 - ld a, [hGameBoyColorFlag] - ld [$ffc4], a - xor $1 - ld [hGameBoyColorFlag], a - jr .asm_811d + ld a, [hNewlyPressedButtons] + ld b, a + and (D_DOWN | D_UP) + jr z, .asm_8115 + ld a, [hGameBoyColorFlag] + ld [$ffc4], a + xor $1 + ld [hGameBoyColorFlag], a + jr .asm_811d .asm_8115 - bit BIT_A_BUTTON, b - ret z - ld hl, wScreenState - inc [hl] - ret + bit BIT_A_BUTTON, b + ret z + ld hl, wScreenState + inc [hl] + ret .asm_811d - ld a, [hGameBoyColorFlag] - and a - jr nz, .asm_812e - ld a, Bank(Data_813a) - ld bc, Data_813a - ld de, LoadTileLists ; todo - call Func_10c5 - ret + ld a, [hGameBoyColorFlag] + and a + jr nz, .asm_812e + ld a, Bank(Data_813a) + ld bc, Data_813a + ld de, LoadTileLists ; todo + call Func_10c5 + ret .asm_812e - ld a, Bank(Data_8144) - ld bc, Data_8144 - ld de, LoadTileLists ; todo - call Func_10c5 - ret + ld a, Bank(Data_8144) + ld bc, Data_8144 + ld de, LoadTileLists ; todo + call Func_10c5 + ret Data_813a: ; 0x813a - db $02 + db $02 - dbw $01, $98E3 - db $D1 + dbw $01, $98E3 + db $D1 - dbw $01, $9923 - db $D0 + dbw $01, $9923 + db $D0 - db $00 ; terminator + db $00 ; terminator Data_8144: ; 0x8144 - db $02 + db $02 - dbw $01, $98E3 - db $D0 + dbw $01, $98E3 + db $D0 - dbw $01, $9923 - db $D1 + dbw $01, $9923 + db $D1 - db $00 ; terminator + db $00 ; terminator Func_814e: ; 0x414e - call Func_cb5 - call Func_576 - ld hl, wCurrentScreen - inc [hl] - xor a - ld [wScreenState], a - ret + call Func_cb5 + call Func_576 + ld hl, wCurrentScreen + inc [hl] + xor a + ld [wScreenState], a + ret HandleEraseAllDataMenu: ; 0x815d - ld a, [wScreenState] - rst $18 ; calls JumpToFuncInTable + ld a, [wScreenState] + rst $18 ; calls JumpToFuncInTable EraseAllDataMenuFunctions: ; 0x8161 - dw CheckForResetButtonCombo - dw HandleEraseAllDataInput - dw ExitEraseAllDataMenu + dw CheckForResetButtonCombo + dw HandleEraseAllDataInput + dw ExitEraseAllDataMenu CheckForResetButtonCombo: ; 0x8167 - ld a, [hJoypadState] - cp (D_UP | D_RIGHT | START | SELECT) - jr z, .heldCorrectButtons - ld hl, wCurrentScreen - inc [hl] - ret + ld a, [hJoypadState] + cp (D_UP | D_RIGHT | START | SELECT) + jr z, .heldCorrectButtons + ld hl, wCurrentScreen + inc [hl] + ret .heldCorrectButtons - ld a, $41 - ld [$ff9e], a - ld a, $e4 - ld [$d80c], a - xor a - ld [$d80d], a - ld [$d80e], a - ld [hBoardXShift], a - ld [hBoardYShift], a - ld a, [hGameBoyColorFlag] - ld hl, EraseAllDataGfxPointers - call LoadVideoData - call ClearOAMBuffer - call Func_b66 - call Func_588 - call Func_14a4 - call Func_bbe - ld hl, wScreenState - inc [hl] - ret + ld a, $41 + ld [$ff9e], a + ld a, $e4 + ld [$d80c], a + xor a + ld [$d80d], a + ld [$d80e], a + ld [hBoardXShift], a + ld [hBoardYShift], a + ld a, [hGameBoyColorFlag] + ld hl, EraseAllDataGfxPointers + call LoadVideoData + call ClearOAMBuffer + call Func_b66 + call Func_588 + call Func_14a4 + call Func_bbe + ld hl, wScreenState + inc [hl] + ret EraseAllDataGfxPointers: ; 0x81a2 - dw EraseAllDataGfx_GameBoy - dw EraseAllDataGfx_GameBoyColor + dw EraseAllDataGfx_GameBoy + dw EraseAllDataGfx_GameBoyColor EraseAllDataGfx_GameBoy: ; 0x81a6 - VIDEO_DATA_TILES EraseAllDataGfx, vTiles2, $300 - VIDEO_DATA_TILEMAP EraseAllDataTilemap, vBGMap0, $400 - db $FF, $FF ; terminators + VIDEO_DATA_TILES EraseAllDataGfx, vTiles2, $300 + VIDEO_DATA_TILEMAP EraseAllDataTilemap, vBGMap0, $400 + db $FF, $FF ; terminators EraseAllDataGfx_GameBoyColor: ; 0x81b6 - VIDEO_DATA_TILES EraseAllDataGfx, vTiles2, $300 - VIDEO_DATA_TILEMAP EraseAllDataTilemap, vBGMap0, $400 - VIDEO_DATA_BGATTR EraseAllDataBGAttributes, vBGMap0, $400 - VIDEO_DATA_PALETTES HighScoresRedStagePalettes, $80 - db $FF, $FF ; terminators + VIDEO_DATA_TILES EraseAllDataGfx, vTiles2, $300 + VIDEO_DATA_TILEMAP EraseAllDataTilemap, vBGMap0, $400 + VIDEO_DATA_BGATTR EraseAllDataBGAttributes, vBGMap0, $400 + VIDEO_DATA_PALETTES HighScoresRedStagePalettes, $80 + db $FF, $FF ; terminators HandleEraseAllDataInput: ; 0x81d4 - ld a, [hNewlyPressedButtons] - bit BIT_A_BUTTON, a - jr z, .checkForBButton - ld hl, $a000 - xor a - ld b, a + ld a, [hNewlyPressedButtons] + bit BIT_A_BUTTON, a + jr z, .checkForBButton + ld hl, $a000 + xor a + ld b, a .eraseSavedDataLoop - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - dec b - jr nz, .eraseSavedDataLoop - ld hl, wScreenState - inc [hl] - ret + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + dec b + jr nz, .eraseSavedDataLoop + ld hl, wScreenState + inc [hl] + ret .checkForBButton - bit BIT_B_BUTTON, a - ret z - ld hl, wScreenState - inc [hl] - ret + bit BIT_B_BUTTON, a + ret z + ld hl, wScreenState + inc [hl] + ret ExitEraseAllDataMenu: ; 0x820f - call Func_cb5 - call Func_576 - ld hl, wCurrentScreen - inc [hl] - xor a - ld [wScreenState], a - ret + call Func_cb5 + call Func_576 + ld hl, wCurrentScreen + inc [hl] + xor a + ld [wScreenState], a + ret HandleCopyrightScreen: ; 0x821e - ld a, [wScreenState] - rst $18 ; calls JumpToFuncInTable + ld a, [wScreenState] + rst $18 ; calls JumpToFuncInTable CopyrightScreenFunctions: ; 0x8222 - dw FadeInCopyrightScreen - dw DisplayCopyrightScreen - dw FadeOutCopyrightScreenAndLoadData + dw FadeInCopyrightScreen + dw DisplayCopyrightScreen + dw FadeOutCopyrightScreenAndLoadData FadeInCopyrightScreen: ; 0x8228 - ld a, $41 - ld [$ff9e], a - ld a, $e4 - ld [$d80c], a - xor a - ld [$d80d], a - ld [$d80e], a - ld [hBoardXShift], a - ld [hBoardYShift], a - ld a, [hGameBoyColorFlag] - ld hl, CopyrightTextGfxPointers - call LoadVideoData - call ClearOAMBuffer - call Func_b66 - call Func_588 - call Func_14a4 - ld bc, $0050 - call Func_93f - call Func_bbe - ld hl, wScreenState - inc [hl] - ret + ld a, $41 + ld [$ff9e], a + ld a, $e4 + ld [$d80c], a + xor a + ld [$d80d], a + ld [$d80e], a + ld [hBoardXShift], a + ld [hBoardYShift], a + ld a, [hGameBoyColorFlag] + ld hl, CopyrightTextGfxPointers + call LoadVideoData + call ClearOAMBuffer + call Func_b66 + call Func_588 + call Func_14a4 + ld bc, $0050 + call Func_93f + call Func_bbe + ld hl, wScreenState + inc [hl] + ret CopyrightTextGfxPointers: ; 0x825e - dw CopyrightTextGfx_GameBoy - dw CopyrightTextGfx_GameBoyColor + dw CopyrightTextGfx_GameBoy + dw CopyrightTextGfx_GameBoyColor CopyrightTextGfx_GameBoy: ; 0x8262 - VIDEO_DATA_TILES CopyrightTextGfx, vTiles1, $400 - VIDEO_DATA_TILEMAP CopyrightScreenTilemap, vBGMap0, $400 - db $FF, $FF ; terminators + VIDEO_DATA_TILES CopyrightTextGfx, vTiles1, $400 + VIDEO_DATA_TILEMAP CopyrightScreenTilemap, vBGMap0, $400 + db $FF, $FF ; terminators CopyrightTextGfx_GameBoyColor: ; 0x8272 - VIDEO_DATA_TILES CopyrightTextGfx, vTiles1, $400 - VIDEO_DATA_TILEMAP CopyrightScreenTilemap, vBGMap0, $400 - VIDEO_DATA_BGATTR CopyrightScreenBGAttributes, vBGMap0, $400 - VIDEO_DATA_PALETTES CopyrightScreenPalettes, $80 - db $FF, $FF ; terminators + VIDEO_DATA_TILES CopyrightTextGfx, vTiles1, $400 + VIDEO_DATA_TILEMAP CopyrightScreenTilemap, vBGMap0, $400 + VIDEO_DATA_BGATTR CopyrightScreenBGAttributes, vBGMap0, $400 + VIDEO_DATA_PALETTES CopyrightScreenPalettes, $80 + db $FF, $FF ; terminators DisplayCopyrightScreen: ; 0x8290 - ld b, $5a ; number of frames to show the copyright screen + ld b, $5a ; number of frames to show the copyright screen .delayLoop - push bc - rst $10 ; wait for next frame - pop bc - ld a, b - cp $2d ; player can press A button to skip copyright screen once counter is below $2d - jr nc, .decrementCounter - ld a, [hNewlyPressedButtons] - bit BIT_A_BUTTON, a - jr nz, .done + push bc + rst $10 ; wait for next frame + pop bc + ld a, b + cp $2d ; player can press A button to skip copyright screen once counter is below $2d + jr nc, .decrementCounter + ld a, [hNewlyPressedButtons] + bit BIT_A_BUTTON, a + jr nz, .done .decrementCounter - dec b - jr nz, .delayLoop + dec b + jr nz, .delayLoop .done - ld hl, wScreenState - inc [hl] - ret + ld hl, wScreenState + inc [hl] + ret FadeOutCopyrightScreenAndLoadData: ; 0x82a8 - call Func_cb5 - call Func_576 - ld hl, $a000 - ld de, wRedHighScore1Points - ld bc, $0082 - call Func_f0c - jr c, .loadedHighScores - ld [$ff8a], a - ld a, Bank(CopyInitialHighScores) - ld hl, CopyInitialHighScores - call BankSwitch + call Func_cb5 + call Func_576 + ld hl, $a000 + ld de, wRedHighScore1Points + ld bc, $0082 + call Func_f0c + jr c, .loadedHighScores + ld [$ff8a], a + ld a, Bank(CopyInitialHighScores) + ld hl, CopyInitialHighScores + call BankSwitch .loadedHighScores - ld hl, $a10c - ld de, wPokedexFlags - ld bc, $0098 - call Func_f0c - jr c, .asm_82de - ld [$ff8a], a - ld a, Bank(ClearPokedexData) - ld hl, ClearPokedexData - call BankSwitch + ld hl, $a10c + ld de, wPokedexFlags + ld bc, $0098 + call Func_f0c + jr c, .asm_82de + ld [$ff8a], a + ld a, Bank(ClearPokedexData) + ld hl, ClearPokedexData + call BankSwitch .asm_82de - ld hl, $a244 - ld de, wKeyConfigs - ld bc, $000e - call Func_f0c - jr c, .asm_82f6 - ld [$ff8a], a - ld a, Bank(SaveDefaultKeyConfigs) - ld hl, SaveDefaultKeyConfigs - call BankSwitch + ld hl, $a244 + ld de, wKeyConfigs + ld bc, $000e + call Func_f0c + jr c, .asm_82f6 + ld [$ff8a], a + ld a, Bank(SaveDefaultKeyConfigs) + ld hl, SaveDefaultKeyConfigs + call BankSwitch .asm_82f6 - ld hl, $a268 - ld de, wPartyMons - ld bc, $04c3 ; This is saved game data from when the player saves in the middle of a game. - call Func_f0c - jr c, .asm_8308 - xor a - ld [$d7c2], a ; if this is non-zero, the main menu will prompt for "continue or new game?". + ld hl, $a268 + ld de, wPartyMons + ld bc, $04c3 ; This is saved game data from when the player saves in the middle of a game. + call Func_f0c + jr c, .asm_8308 + xor a + ld [$d7c2], a ; if this is non-zero, the main menu will prompt for "continue or new game?". .asm_8308 - ld hl, wCurrentScreen - inc [hl] - xor a - ld [wScreenState], a - ret + ld hl, wCurrentScreen + inc [hl] + xor a + ld [wScreenState], a + ret InitializeStage: ; 0x8311 - ld hl, wc000 - ld bc, $0a00 - call ClearData - ld a, $1 - ld [$ff4f], a - ld a, [$d805] - and a - jr nz, .asm_8331 - ld hl, vBGMap1 - ld bc, $0400 - ld a, $0 - call Func_63e - jr .asm_833c + ld hl, wc000 + ld bc, $0a00 + call ClearData + ld a, $1 + ld [rVBK], a + ld a, [$d805] + and a + jr nz, .asm_8331 + ld hl, vBGMap1 + ld bc, $0400 + ld a, $0 + call Func_63e + jr .asm_833c .asm_8331 - ld hl, vBGMap1 - ld bc, $0400 - ld a, $8 - call Func_63e + ld hl, vBGMap1 + ld bc, $0400 + ld a, $8 + call Func_63e .asm_833c - xor a - ld [$ff4f], a - call Func_8388 - ld a, [wCurrentStage] - call CallInFollowingTable + xor a + ld [rVBK], a + call Func_8388 + ld a, [wCurrentStage] + call CallInFollowingTable CallTable_8348: ; 0x8348 - ; STAGE_RED_FIELD_TOP - dw InitRedField - db Bank(InitRedField), $00 + ; STAGE_RED_FIELD_TOP + dw InitRedField + db Bank(InitRedField), $00 - ; STAGE_RED_FIELD_BOTTOM - dw InitRedField - db Bank(InitRedField), $00 + ; STAGE_RED_FIELD_BOTTOM + dw InitRedField + db Bank(InitRedField), $00 - dw Func_18000 - db Bank(Func_18000), $00 + dw Func_18000 + db Bank(Func_18000), $00 - dw Func_18000 - db Bank(Func_18000), $00 + dw Func_18000 + db Bank(Func_18000), $00 - ; STAGE_BLUE_FIELD_TOP - dw InitBlueField - db Bank(InitBlueField), $00 + ; STAGE_BLUE_FIELD_TOP + dw InitBlueField + db Bank(InitBlueField), $00 - ; STAGE_BLUE_FIELD_BOTTOM - dw InitBlueField - db Bank(InitBlueField), $00 + ; STAGE_BLUE_FIELD_BOTTOM + dw InitBlueField + db Bank(InitBlueField), $00 - ; STAGE_GENGAR_BONUS - dw InitGengarBonusStage - db Bank(InitGengarBonusStage), $00 + ; STAGE_GENGAR_BONUS + dw InitGengarBonusStage + db Bank(InitGengarBonusStage), $00 - ; STAGE_GENGAR_BONUS - dw InitGengarBonusStage - db Bank(InitGengarBonusStage), $00 + ; STAGE_GENGAR_BONUS + dw InitGengarBonusStage + db Bank(InitGengarBonusStage), $00 - ; STAGE_MEWTWO_BONUS - dw InitMewtwoBonusStage - db Bank(InitMewtwoBonusStage), $00 + ; STAGE_MEWTWO_BONUS + dw InitMewtwoBonusStage + db Bank(InitMewtwoBonusStage), $00 - ; STAGE_MEWTWO_BONUS - dw InitMewtwoBonusStage - db Bank(InitMewtwoBonusStage), $00 + ; STAGE_MEWTWO_BONUS + dw InitMewtwoBonusStage + db Bank(InitMewtwoBonusStage), $00 - ; STAGE_MEOWTH_BONUS - dw InitMeowthBonusStage - db Bank(InitMeowthBonusStage), $00 + ; STAGE_MEOWTH_BONUS + dw InitMeowthBonusStage + db Bank(InitMeowthBonusStage), $00 - ; STAGE_MEOWTH_BONUS - dw InitMeowthBonusStage - db Bank(InitMeowthBonusStage), $00 + ; STAGE_MEOWTH_BONUS + dw InitMeowthBonusStage + db Bank(InitMeowthBonusStage), $00 - ; STAGE_DIGLETT_BONUS - dw InitDiglettBonusStage - db Bank(InitDiglettBonusStage), $00 + ; STAGE_DIGLETT_BONUS + dw InitDiglettBonusStage + db Bank(InitDiglettBonusStage), $00 - ; STAGE_DIGLETT_BONUS - dw InitDiglettBonusStage - db Bank(InitDiglettBonusStage), $00 + ; STAGE_DIGLETT_BONUS + dw InitDiglettBonusStage + db Bank(InitDiglettBonusStage), $00 - ; STAGE_SEEL_BONUS - dw InitSeelBonusStage - db Bank(InitSeelBonusStage), $00 + ; STAGE_SEEL_BONUS + dw InitSeelBonusStage + db Bank(InitSeelBonusStage), $00 - ; STAGE_SEEL_BONUS - dw InitSeelBonusStage - db Bank(InitSeelBonusStage), $00 + ; STAGE_SEEL_BONUS + dw InitSeelBonusStage + db Bank(InitSeelBonusStage), $00 Func_8388: ; 0x8388 - ld a, [$d7c1] - and a - jr z, .asm_8398 - ld hl, wSubTileBallXPos - ld bc, $0037 - call ClearData - ret + ld a, [$d7c1] + and a + jr z, .asm_8398 + ld hl, wSubTileBallXPos + ld bc, $0037 + call ClearData + ret .asm_8398 - ld a, [wCurrentStage] - cp $6 - ret nc - ld hl, wPartyMons - ld bc, $0170 - call ClearData - ld hl, $d473 ; todo - ld bc, $0039 - call ClearData - ld hl, $d4ad - ld bc, $034d - call ClearData - ret + ld a, [wCurrentStage] + cp $6 + ret nc + ld hl, wPartyMons + ld bc, $0170 + call ClearData + ld hl, $d473 ; todo + ld bc, $0039 + call ClearData + ld hl, $d4ad + ld bc, $034d + call ClearData + ret StartBallForStage: ; 0x83ba - ld a, [$d7c1] - and a - jr z, .asm_83c7 - call Func_8444 - call Func_8461 - ret + ld a, [$d7c1] + and a + jr z, .asm_83c7 + call Func_8444 + call Func_8461 + ret .asm_83c7 - xor a - ld [wBallXVelocity], a - ld [wBallXVelocity + 1], a - ld [wBallYVelocity], a - ld [wBallYVelocity + 1], a - ld [$d7ae], a - ld [$d7af], a - ld [$d7b2], a - ld [$d7b3], a - ld [$d7b0], a - ld [$d7b1], a - ld [$d7b4], a - ld [$d7b5], a - ld [wBallSpin], a - ld [wBallRotation], a - inc a - ld [$d548], a - ld [$d549], a - ld a, $20 - ld [$d7ab], a - ld a, [wCurrentStage] - call CallInFollowingTable + xor a + ld [wBallXVelocity], a + ld [wBallXVelocity + 1], a + ld [wBallYVelocity], a + ld [wBallYVelocity + 1], a + ld [$d7ae], a + ld [$d7af], a + ld [$d7b2], a + ld [$d7b3], a + ld [$d7b0], a + ld [$d7b1], a + ld [$d7b4], a + ld [$d7b5], a + ld [wBallSpin], a + ld [wBallRotation], a + inc a + ld [$d548], a + ld [$d549], a + ld a, $20 + ld [$d7ab], a + ld a, [wCurrentStage] + call CallInFollowingTable CallTable_8404: ; 0x8404 - ; STAGE_RED_FIELD_TOP - dw StartBallRedField - db Bank(StartBallRedField), $00 + ; STAGE_RED_FIELD_TOP + dw StartBallRedField + db Bank(StartBallRedField), $00 - ; STAGE_RED_FIELD_BOTTOM - dw StartBallRedField - db Bank(StartBallRedField), $00 + ; STAGE_RED_FIELD_BOTTOM + dw StartBallRedField + db Bank(StartBallRedField), $00 - dw Func_1804a - db Bank(Func_1804a), $00 + dw Func_1804a + db Bank(Func_1804a), $00 - dw Func_1804a - db Bank(Func_1804a), $00 + dw Func_1804a + db Bank(Func_1804a), $00 - ; STAGE_BLUE_FIELD_TOP - dw StartBallBlueField - db Bank(StartBallBlueField), $00 + ; STAGE_BLUE_FIELD_TOP + dw StartBallBlueField + db Bank(StartBallBlueField), $00 - ; STAGE_BLUE_FIELD_BOTTOM - dw StartBallBlueField - db Bank(StartBallBlueField), $00 + ; STAGE_BLUE_FIELD_BOTTOM + dw StartBallBlueField + db Bank(StartBallBlueField), $00 - ; STAGE_GENGAR_BONUS - dw StartBallGengarBonusStage - db Bank(StartBallGengarBonusStage), $00 + ; STAGE_GENGAR_BONUS + dw StartBallGengarBonusStage + db Bank(StartBallGengarBonusStage), $00 - ; STAGE_GENGAR_BONUS - dw StartBallGengarBonusStage - db Bank(StartBallGengarBonusStage), $00 + ; STAGE_GENGAR_BONUS + dw StartBallGengarBonusStage + db Bank(StartBallGengarBonusStage), $00 - ; STAGE_MEWTWO_BONUS - dw StartBallMewtwoBonusStage - db Bank(StartBallMewtwoBonusStage), $00 + ; STAGE_MEWTWO_BONUS + dw StartBallMewtwoBonusStage + db Bank(StartBallMewtwoBonusStage), $00 - ; STAGE_MEWTWO_BONUS - dw StartBallMewtwoBonusStage - db Bank(StartBallMewtwoBonusStage), $00 + ; STAGE_MEWTWO_BONUS + dw StartBallMewtwoBonusStage + db Bank(StartBallMewtwoBonusStage), $00 - ; STAGE_MEOWTH_BONUS - dw StartBallMeowthBonusStage - db Bank(StartBallMeowthBonusStage), $00 + ; STAGE_MEOWTH_BONUS + dw StartBallMeowthBonusStage + db Bank(StartBallMeowthBonusStage), $00 - ; STAGE_MEOWTH_BONUS - dw StartBallMeowthBonusStage - db Bank(StartBallMeowthBonusStage), $00 + ; STAGE_MEOWTH_BONUS + dw StartBallMeowthBonusStage + db Bank(StartBallMeowthBonusStage), $00 - ; STAGE_DIGLETT_BONUS - dw StartBallDiglettBonusStage - db Bank(StartBallDiglettBonusStage), $00 + ; STAGE_DIGLETT_BONUS + dw StartBallDiglettBonusStage + db Bank(StartBallDiglettBonusStage), $00 - ; STAGE_DIGLETT_BONUS - dw StartBallDiglettBonusStage - db Bank(StartBallDiglettBonusStage), $00 + ; STAGE_DIGLETT_BONUS + dw StartBallDiglettBonusStage + db Bank(StartBallDiglettBonusStage), $00 - ; STAGE_SEEL_BONUS - dw StartBallSeelBonusStage - db Bank(StartBallSeelBonusStage), $00 + ; STAGE_SEEL_BONUS + dw StartBallSeelBonusStage + db Bank(StartBallSeelBonusStage), $00 - ; STAGE_SEEL_BONUS - dw StartBallSeelBonusStage - db Bank(StartBallSeelBonusStage), $00 + ; STAGE_SEEL_BONUS + dw StartBallSeelBonusStage + db Bank(StartBallSeelBonusStage), $00 Func_8444: ; 0x8444 - ld a, [wInSpecialMode] - and a - jr z, .asm_8460 - ld a, [wSpecialMode] - and a - jr nz, .asm_8460 - ld a, [$d5bb] - and a - jr z, .asm_8460 - ld [$ff8a], a - ld a, Bank(Func_10464) - ld hl, Func_10464 - call BankSwitch + ld a, [wInSpecialMode] + and a + jr z, .asm_8460 + ld a, [wSpecialMode] + and a + jr nz, .asm_8460 + ld a, [$d5bb] + and a + jr z, .asm_8460 + ld [$ff8a], a + ld a, Bank(Func_10464) + ld hl, Func_10464 + call BankSwitch .asm_8460 - ret + ret Func_8461: ; 0x8461 - ld a, [$d7c0] - call SetSongBank - ld a, [$d7bf] - ld e, a - ld d, $0 - call PlaySong - ret + ld a, [$d7c0] + call SetSongBank + ld a, [$d7bf] + ld e, a + ld d, $0 + call PlaySong + ret Func_8471: ; 0x8471 - ld a, [wCurrentStage] - call CallInFollowingTable + ld a, [wCurrentStage] + call CallInFollowingTable CallTable_8477: ; 0x8477 - ; STAGE_RED_FIELD_TOP - dw Func_14000 - db Bank(Func_14000), $00 + ; STAGE_RED_FIELD_TOP + dw Func_14000 + db Bank(Func_14000), $00 - ; STAGE_RED_FIELD_BOTTOM - dw Func_1401c - db Bank(Func_1401c), $00 + ; STAGE_RED_FIELD_BOTTOM + dw Func_1401c + db Bank(Func_1401c), $00 - dw Func_1805f - db Bank(Func_1805f), $00 + dw Func_1805f + db Bank(Func_1805f), $00 - dw Func_18060 - db Bank(Func_18060), $00 + dw Func_18060 + db Bank(Func_18060), $00 - ; STAGE_BLUE_FIELD_TOP - dw Func_1c165 - db Bank(Func_1c165), $00 + ; STAGE_BLUE_FIELD_TOP + dw Func_1c165 + db Bank(Func_1c165), $00 - ; STAGE_BLUE_FIELD_BOTTOM - dw Func_1c191 - db Bank(Func_1c191), $00 + ; STAGE_BLUE_FIELD_BOTTOM + dw Func_1c191 + db Bank(Func_1c191), $00 - ; STAGE_GENGAR_BONUS - dw Func_1818b - db Bank(Func_1818b), $00 + ; STAGE_GENGAR_BONUS + dw Func_1818b + db Bank(Func_1818b), $00 - ; STAGE_GENGAR_BONUS - dw Func_1818b - db Bank(Func_1818b), $00 + ; STAGE_GENGAR_BONUS + dw Func_1818b + db Bank(Func_1818b), $00 - ; STAGE_MEWTWO_BONUS - dw Func_19310 - db Bank(Func_19310), $00 + ; STAGE_MEWTWO_BONUS + dw Func_19310 + db Bank(Func_19310), $00 - ; STAGE_MEWTWO_BONUS - dw Func_19310 - db Bank(Func_19310), $00 + ; STAGE_MEWTWO_BONUS + dw Func_19310 + db Bank(Func_19310), $00 - ; STAGE_MEOWTH_BONUS - dw Func_24128 - db Bank(Func_24128), $00 + ; STAGE_MEOWTH_BONUS + dw Func_24128 + db Bank(Func_24128), $00 - ; STAGE_MEOWTH_BONUS - dw Func_24128 - db Bank(Func_24128), $00 + ; STAGE_MEOWTH_BONUS + dw Func_24128 + db Bank(Func_24128), $00 - ; STAGE_DIGLETT_BONUS - dw Func_19a76 - db Bank(Func_19a76), $00 + ; STAGE_DIGLETT_BONUS + dw Func_19a76 + db Bank(Func_19a76), $00 - ; STAGE_DIGLETT_BONUS - dw Func_19a76 - db Bank(Func_19a76), $00 + ; STAGE_DIGLETT_BONUS + dw Func_19a76 + db Bank(Func_19a76), $00 - ; STAGE_SEEL_BONUS - dw Func_25b97 - db Bank(Func_25b97), $00 + ; STAGE_SEEL_BONUS + dw Func_25b97 + db Bank(Func_25b97), $00 - ; STAGE_SEEL_BONUS - dw Func_25b97 - db Bank(Func_25b97), $00 + ; STAGE_SEEL_BONUS + dw Func_25b97 + db Bank(Func_25b97), $00 Func_84b7: ; 0x84b7 - ld a, [wCurrentStage] - call CallInFollowingTable + ld a, [wCurrentStage] + call CallInFollowingTable PointerTable_84bd: ; 0x84bd - ; STAGE_RED_FIELD_TOP - dw Func_1755c - db Bank(Func_1755c), $00 + ; STAGE_RED_FIELD_TOP + dw Func_1755c + db Bank(Func_1755c), $00 - ; STAGE_RED_FIELD_BOTTOM - dw Func_1757e - db Bank(Func_1757e), $00 + ; STAGE_RED_FIELD_BOTTOM + dw Func_1757e + db Bank(Func_1757e), $00 - dw Func_18079 - db Bank(Func_18079), $00 + dw Func_18079 + db Bank(Func_18079), $00 - dw Func_18084 - db Bank(Func_18084), $00 + dw Func_18084 + db Bank(Func_18084), $00 - ; STAGE_BLUE_FIELD_TOP - dw Func_1f330 - db Bank(Func_1f330), $00 + ; STAGE_BLUE_FIELD_TOP + dw Func_1f330 + db Bank(Func_1f330), $00 - ; STAGE_BLUE_FIELD_BOTTOM - dw Func_1f35a - db Bank(Func_1f35a), $00 + ; STAGE_BLUE_FIELD_BOTTOM + dw Func_1f35a + db Bank(Func_1f35a), $00 - ; STAGE_GENGAR_BONUS - dw Func_18faf - db Bank(Func_18faf), $00 + ; STAGE_GENGAR_BONUS + dw Func_18faf + db Bank(Func_18faf), $00 - ; STAGE_GENGAR_BONUS - dw Func_18faf - db Bank(Func_18faf), $00 + ; STAGE_GENGAR_BONUS + dw Func_18faf + db Bank(Func_18faf), $00 - ; STAGE_MEWTWO_BONUS - dw Func_1994e - db Bank(Func_1994e), $00 + ; STAGE_MEWTWO_BONUS + dw Func_1994e + db Bank(Func_1994e), $00 - ; STAGE_MEWTWO_BONUS - dw Func_1994e - db Bank(Func_1994e), $00 + ; STAGE_MEWTWO_BONUS + dw Func_1994e + db Bank(Func_1994e), $00 - ; STAGE_MEOWTH_BONUS - dw Func_2583b - db Bank(Func_2583b), $00 + ; STAGE_MEOWTH_BONUS + dw Func_2583b + db Bank(Func_2583b), $00 - ; STAGE_MEOWTH_BONUS - dw Func_2583b - db Bank(Func_2583b), $00 + ; STAGE_MEOWTH_BONUS + dw Func_2583b + db Bank(Func_2583b), $00 - ; STAGE_DIGLETT_BONUS - dw Func_1ac98 - db Bank(Func_1ac98), $00 + ; STAGE_DIGLETT_BONUS + dw Func_1ac98 + db Bank(Func_1ac98), $00 - ; STAGE_DIGLETT_BONUS - dw Func_1ac98 - db Bank(Func_1ac98), $00 + ; STAGE_DIGLETT_BONUS + dw Func_1ac98 + db Bank(Func_1ac98), $00 - ; STAGE_SEEL_BONUS - dw Func_26b7e - db Bank(Func_26b7e), $00 + ; STAGE_SEEL_BONUS + dw Func_26b7e + db Bank(Func_26b7e), $00 - ; STAGE_SEEL_BONUS - dw Func_26b7e - db Bank(Func_26b7e), $00 + ; STAGE_SEEL_BONUS + dw Func_26b7e + db Bank(Func_26b7e), $00 -INCBIN "baserom.gbc",$84fd,$8524 - $84fd + dr $84fd, $8524 Func_8524: ; 0x8524 - ld hl, $d46f - ld bc, $0c01 + ld hl, $d46f + ld bc, $0c01 .asm_852a - ld a, [hl] - swap a - and $f - call Func_8543 - inc de - dec b - ld a, [hld] - and $f - call Func_8543 - inc de - dec b - jr nz, .asm_852a - ld a, $86 - ld [de], a - inc de - ret + ld a, [hl] + swap a + and $f + call Func_8543 + inc de + dec b + ld a, [hld] + and $f + call Func_8543 + inc de + dec b + jr nz, .asm_852a + ld a, $86 + ld [de], a + inc de + ret Func_8543: ; 0x8543 - jr nz, .asm_854c - ld a, b - dec a - jr z, .asm_854c - ld a, c - and a - ret nz + jr nz, .asm_854c + ld a, b + dec a + jr z, .asm_854c + ld a, c + and a + ret nz .asm_854c - add $86 - ld [de], a - ld c, $0 - ld a, b - cp $c - jr z, .asm_8561 - cp $9 - jr z, .asm_8561 - cp $6 - jr z, .asm_8561 - cp $3 - ret nz + add $86 + ld [de], a + ld c, $0 + ld a, b + cp $c + jr z, .asm_8561 + cp $9 + jr z, .asm_8561 + cp $6 + jr z, .asm_8561 + cp $3 + ret nz .asm_8561 - set 7, e - ld a, $82 - ld [de], a - res 7, e - ret + set 7, e + ld a, $82 + ld [de], a + res 7, e + ret -INCBIN "baserom.gbc",$8569,$8576 - $8569 + dr $8569, $8576 Func_8576: ; 0x8576 - ld h, b - ld l, c - ld a, [$d477] - ld e, a - ld d, $d4 - ld a, [wBallType] - and a - jr nz, .asm_8585 - inc a + ld h, b + ld l, c + ld a, [$d477] + ld e, a + ld d, $d4 + ld a, [wBallType] + and a + jr nz, .asm_8585 + inc a .asm_8585 - ld b, a - jr asm_8592 + ld b, a + jr asm_8592 Func_8588: ; 0x8588 - ld h, b - ld l, c - ld a, [$d477] - ld e, a - ld d, $d4 - ld b, $1 + ld h, b + ld l, c + ld a, [$d477] + ld e, a + ld d, $d4 + ld b, $1 asm_8592: - push hl - ld a, [de] - add [hl] - daa - ld [de], a - inc de - inc hl - ld a, [de] - adc [hl] - daa - ld [de], a - inc de - inc hl - ld a, [de] - adc [hl] - daa - ld [de], a - inc de - inc hl - ld a, [de] - adc [hl] - daa - ld [de], a - inc de - inc hl - ld a, [de] - adc [hl] - daa - ld [de], a - inc de - inc hl - ld a, [de] - adc [hl] - daa - ld [de], a - inc de - inc hl - ld a, e - cp $60 - jr nz, .asm_85be - ld e, $0 + push hl + ld a, [de] + add [hl] + daa + ld [de], a + inc de + inc hl + ld a, [de] + adc [hl] + daa + ld [de], a + inc de + inc hl + ld a, [de] + adc [hl] + daa + ld [de], a + inc de + inc hl + ld a, [de] + adc [hl] + daa + ld [de], a + inc de + inc hl + ld a, [de] + adc [hl] + daa + ld [de], a + inc de + inc hl + ld a, [de] + adc [hl] + daa + ld [de], a + inc de + inc hl + ld a, e + cp $60 + jr nz, .asm_85be + ld e, $0 .asm_85be - pop hl - dec b - jr nz, asm_8592 - ld a, e - ld [$d477], a - ret + pop hl + dec b + jr nz, asm_8592 + ld a, e + ld [$d477], a + ret Func_85c7: ; 0x85c7 - ld a, [$ffb3] - and $3 - ret nz - ld a, [$d478] - ld l, a - ld h, $d4 - ld de, wScore - ld a, [$d477] - cp l - jr nz, .asm_85de - ld [$d479], a + ld a, [$ffb3] + and $3 + ret nz + ld a, [$d478] + ld l, a + ld h, $d4 + ld de, wScore + ld a, [$d477] + cp l + jr nz, .asm_85de + ld [$d479], a .asm_85de - push hl - ld a, [hli] - or [hl] - inc hl - or [hl] - inc hl - or [hl] - inc hl - or [hl] - inc hl - or [hl] - pop hl - jr nz, .asm_85f3 - ld a, [$d479] - ld [$d478], a - ret + push hl + ld a, [hli] + or [hl] + inc hl + or [hl] + inc hl + or [hl] + inc hl + or [hl] + inc hl + or [hl] + pop hl + jr nz, .asm_85f3 + ld a, [$d479] + ld [$d478], a + ret .asm_85f3 - ld a, [de] - add [hl] - daa - ld [de], a - ld [hl], $0 - inc de - inc hl - ld a, [de] - adc [hl] - daa - ld [de], a - ld [hl], $0 - inc de - inc hl - ld a, [de] - adc [hl] - daa - ld [de], a - ld [hl], $0 - inc de - inc hl - ld a, [de] - adc [hl] - daa - ld [de], a - ld [hl], $0 - inc de - inc hl - ld a, [de] - adc [hl] - daa - ld [de], a - ld [hl], $0 - inc de - inc hl - ld a, [de] - adc [hl] - daa - ld [de], a - ld [hl], $0 - call c, SetMaxScore - inc de - inc hl - ld a, l - cp $60 - jr nz, .asm_862d - ld l, $0 + ld a, [de] + add [hl] + daa + ld [de], a + ld [hl], $0 + inc de + inc hl + ld a, [de] + adc [hl] + daa + ld [de], a + ld [hl], $0 + inc de + inc hl + ld a, [de] + adc [hl] + daa + ld [de], a + ld [hl], $0 + inc de + inc hl + ld a, [de] + adc [hl] + daa + ld [de], a + ld [hl], $0 + inc de + inc hl + ld a, [de] + adc [hl] + daa + ld [de], a + ld [hl], $0 + inc de + inc hl + ld a, [de] + adc [hl] + daa + ld [de], a + ld [hl], $0 + call c, SetMaxScore + inc de + inc hl + ld a, l + cp $60 + jr nz, .asm_862d + ld l, $0 .asm_862d - ld a, l - ld [$d478], a - ld a, $1 - ld [$d49f], a - ret + ld a, l + ld [$d478], a + ld a, $1 + ld [$d49f], a + ret SetMaxScore: ; 0x8637 - push hl - ld hl, wScore - ld a, $99 - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - pop hl - ret + push hl + ld hl, wScore + ld a, $99 + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + pop hl + ret Func_8645: ; 0x8645 - xor a - ld [$d49f], a - ld de, $c647 - call Func_8524 - ret + xor a + ld [$d49f], a + ld de, $c647 + call Func_8524 + ret Func_8650: ; 0x8650 - ld a, [wCurrentStage] - bit 0, a - jr nz, .bottomStage - ld a, $86 - ld [$ffa6], a - ret + ld a, [wCurrentStage] + bit 0, a + jr nz, .bottomStage + ld a, $86 + ld [$ffa6], a + ret .bottomStage - ld a, [wBallYPos + 1] - cp $84 - jr nc, .asm_8670 - ld a, [$ffa6] - sub $3 - cp $86 - jr nc, .asm_866d - ld a, $86 + ld a, [wBallYPos + 1] + cp $84 + jr nc, .asm_8670 + ld a, [$ffa6] + sub $3 + cp $86 + jr nc, .asm_866d + ld a, $86 .asm_866d - ld [$ffa6], a - ret + ld [$ffa6], a + ret .asm_8670 - ld a, [$ffa6] - add $3 - cp $90 - jr c, .asm_867a - ld a, $90 + ld a, [$ffa6] + add $3 + cp $90 + jr c, .asm_867a + ld a, $90 .asm_867a - ld [$ffa6], a - ret + ld [$ffa6], a + ret StartTimer: ; 0x867d ; Starts the timer that counts down with the specified starting time when things ; like CatchEm Mode starts. ; input: b = minutes ; c = seconds - ld a, c - ld [wTimerSeconds], a - ld a, b - ld [wTimerMinutes], a - xor a - ld [wTimerFrames], a - ld [$d57e], a - ld [$d57f], a - ld a, $1 - ld [$d57d], a - ld a, $1 - ld [$d580], a - ld [$ff8a], a - ld a, Bank(Func_1404a) - ld hl, Func_1404a - call BankSwitch - ret + ld a, c + ld [wTimerSeconds], a + ld a, b + ld [wTimerMinutes], a + xor a + ld [wTimerFrames], a + ld [$d57e], a + ld [$d57f], a + ld a, $1 + ld [$d57d], a + ld a, $1 + ld [$d580], a + ld [$ff8a], a + ld a, Bank(Func_1404a) + ld hl, Func_1404a + call BankSwitch + ret Func_86a4: ; 0x86a4 - ld a, [$d57f] - and a - ret nz - ld a, [wTimerFrames] - inc a - cp $3c - jr c, .asm_86b2 - xor a + ld a, [$d57f] + and a + ret nz + ld a, [wTimerFrames] + inc a + cp $3c + jr c, .asm_86b2 + xor a .asm_86b2 - ld [wTimerFrames], a - ret c - ld hl, wTimerMinutes - ld a, [hld] - or [hl] - jr nz, .asm_86c3 - ld a, $1 - ld [$d57e], a - ret + ld [wTimerFrames], a + ret c + ld hl, wTimerMinutes + ld a, [hld] + or [hl] + jr nz, .asm_86c3 + ld a, $1 + ld [$d57e], a + ret .asm_86c3 - ld a, [hl] - sub $1 - daa - jr nc, .asm_86cb - ld a, $59 + ld a, [hl] + sub $1 + daa + jr nc, .asm_86cb + ld a, $59 .asm_86cb - ld [hli], a - ld a, [hl] - sbc $0 - daa - ld [hl], a - ret + ld [hli], a + ld a, [hl] + sbc $0 + daa + ld [hl], a + ret Func_86d2: ; 0x86d2 - xor a - ld [$d57d], a - ret + xor a + ld [$d57d], a + ret HandleInGameMenu: ; 0x86d7 ; Routine responsible for the "SAVE"/"CANCEL" menu. - ld a, [$d917] - push af - ld a, $1 - ld [$d917], a - call Func_30e8 - xor a - ld [$d4aa], a - ld hl, wcBottomMessageText - ld a, $81 - ld b, $30 + ld a, [$d917] + push af + ld a, $1 + ld [$d917], a + call Func_30e8 + xor a + ld [$d4aa], a + ld hl, wcBottomMessageText + ld a, $81 + ld b, $30 .clearLoop - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - dec b - jr nz, .clearLoop - ld de, $c524 - ld hl, SaveText - call Func_8797 - ld de, $c564 - ld hl, CancelText - call Func_8797 - ld a, Bank(InGameMenuSymbolsGfx) - ld hl, InGameMenuSymbolsGfx - ld de, vTiles1 + $60 - ld bc, $0010 - call LoadVRAMData - ld a, $0 - ld hl, wcBottomMessageText - ld de, vBGMap1 - ld bc, $00c0 - call LoadVRAMData - ld a, $60 - ld [$ffa6], a - dec a - ld [$ffa2], a - ld a, $fd - ld [$ffaf], a - call HandleInGameMenuSelection - ld a, [wInGameMenuIndex] - and a - jr nz, .pickedCancel - ld a, $1 - ld [$d7c2], a - ld hl, wPartyMons - ld de, $a268 - ld bc, $04c3 - call SaveData - xor a - ld [$d803], a - ld [$d804], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + dec b + jr nz, .clearLoop + ld de, $c524 + ld hl, SaveText + call Func_8797 + ld de, $c564 + ld hl, CancelText + call Func_8797 + ld a, Bank(InGameMenuSymbolsGfx) + ld hl, InGameMenuSymbolsGfx + ld de, vTiles1 + $60 + ld bc, $0010 + call LoadVRAMData + ld a, $0 + ld hl, wcBottomMessageText + ld de, vBGMap1 + ld bc, $00c0 + call LoadVRAMData + ld a, $60 + ld [$ffa6], a + dec a + ld [$ffa2], a + ld a, $fd + ld [$ffaf], a + call HandleInGameMenuSelection + ld a, [wInGameMenuIndex] + and a + jr nz, .pickedCancel + ld a, $1 + ld [$d7c2], a + ld hl, wPartyMons + ld de, $a268 + ld bc, $04c3 + call SaveData + xor a + ld [$d803], a + ld [$d804], a .pickedCancel - ld bc, $003c - call Func_93f - ld a, $86 - ld [$ffa6], a - ld a, $83 - ld [$ffa2], a - ld [$ffa8], a - ld a, $ff - ld [$ffaf], a - ld a, [hGameBoyColorFlag] - and a - jr nz, .asm_8778 - ld a, Bank(StageRedFieldTopStatusBarSymbolsGfx_GameBoy) - ld hl, StageRedFieldTopStatusBarSymbolsGfx_GameBoy + $60 - ld de, vTiles1 + $60 - ld bc, $0010 - call LoadVRAMData - jr .asm_8786 + ld bc, $003c + call Func_93f + ld a, $86 + ld [$ffa6], a + ld a, $83 + ld [$ffa2], a + ld [$ffa8], a + ld a, $ff + ld [$ffaf], a + ld a, [hGameBoyColorFlag] + and a + jr nz, .asm_8778 + ld a, Bank(StageRedFieldTopStatusBarSymbolsGfx_GameBoy) + ld hl, StageRedFieldTopStatusBarSymbolsGfx_GameBoy + $60 + ld de, vTiles1 + $60 + ld bc, $0010 + call LoadVRAMData + jr .asm_8786 .asm_8778 - ld a, Bank(StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor) - ld hl, StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor + $60 - ld de, vTiles1 + $60 - ld bc, $0010 - call LoadVRAMData + ld a, Bank(StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor) + ld hl, StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor + $60 + ld de, vTiles1 + $60 + ld bc, $0010 + call LoadVRAMData .asm_8786 - call Func_30e8 - pop af - ld [$d917], a - ld a, $1 - ld [$d4aa], a - ld a, [wInGameMenuIndex] - and a - ret + call Func_30e8 + pop af + ld [$d917], a + ld a, $1 + ld [$d4aa], a + ld a, [wInGameMenuIndex] + and a + ret Func_8797: ; 0x8797 - ld a, [hli] - and a - ret z - add $bf - ld [de], a - inc de - jr Func_8797 + ld a, [hli] + and a + ret z + add $bf + ld [de], a + inc de + jr Func_8797 SaveText: ; 0x87a0 - db "SAVE@" + db "SAVE@" CancelText: ; 0x87a5 - db "CANCEL@" + db "CANCEL@" HandleInGameMenuSelection: ; 0x87ac - ld a, $1 - ld [wInGameMenuIndex], a + ld a, $1 + ld [wInGameMenuIndex], a .waitForAButton - call MoveInGameMenuCursor - call DrawInGameMenu - rst $10 - ld a, [hNewlyPressedButtons] - bit BIT_A_BUTTON, a - jr z, .waitForAButton - ld de, $0001 - call PlaySoundEffect - ret + call MoveInGameMenuCursor + call DrawInGameMenu + rst $10 + ld a, [hNewlyPressedButtons] + bit BIT_A_BUTTON, a + jr z, .waitForAButton + ld de, $0001 + call PlaySoundEffect + ret MoveInGameMenuCursor: ; 0x87c5 ; Moves the cursor up or down in the "SAVE"/"CANCEL" in-game menu - ld a, [hNewlyPressedButtons] - ld b, a - ld a, [wInGameMenuIndex] - bit BIT_D_UP, b - jr z, .didntPressUp - and a ; is the cursor already on "SAVE"? - ret z - dec a - ld [wInGameMenuIndex], a - ld de, $0003 - call PlaySoundEffect - ret + ld a, [hNewlyPressedButtons] + ld b, a + ld a, [wInGameMenuIndex] + bit BIT_D_UP, b + jr z, .didntPressUp + and a ; is the cursor already on "SAVE"? + ret z + dec a + ld [wInGameMenuIndex], a + ld de, $0003 + call PlaySoundEffect + ret .didntPressUp - bit BIT_D_DOWN, b - ret z - cp $1 ; is the cursor already on "CANCEL"? - ret z - inc a - ld [wInGameMenuIndex], a - ld de, $0003 - call PlaySoundEffect - ret + bit BIT_D_DOWN, b + ret z + cp $1 ; is the cursor already on "CANCEL"? + ret z + inc a + ld [wInGameMenuIndex], a + ld de, $0003 + call PlaySoundEffect + ret DrawInGameMenu: ; 0x87ed - ld a, $81 - ld [$c523], a - ld [$c563], a - ld a, [wInGameMenuIndex] - ld c, a - swap c - sla c - sla c - ld b, $0 - ld hl, $c523 - add hl, bc - ld a, $86 - ld [hl], a - ld a, $0 - ld hl, wcBottomMessageText - ld de, vBGMap1 - ld bc, $00c0 - call LoadVRAMData - ret + ld a, $81 + ld [$c523], a + ld [$c563], a + ld a, [wInGameMenuIndex] + ld c, a + swap c + sla c + sla c + ld b, $0 + ld hl, $c523 + add hl, bc + ld a, $86 + ld [hl], a + ld a, $0 + ld hl, wcBottomMessageText + ld de, vBGMap1 + ld bc, $00c0 + call LoadVRAMData + ret Data_8817: ; 0x8817 ; This data has something to do with collisions. - db $C0 - db $C5 - db $D0 - db $DB - db $E0 - db $E5 - db $F0 - db $FB - db $00 - db $05 - db $10 - db $1B - db $20 - db $25 - db $30 - db $3B - db $45 - db $CA - db $D5 - db $E0 - db $E5 - db $EA - db $F5 - db $00 - db $05 - db $0A - db $15 - db $20 - db $25 - db $2A - db $35 - db $40 - db $50 - db $55 - db $E0 - db $EB - db $F0 - db $F5 - db $00 - db $0B - db $10 - db $15 - db $20 - db $2B - db $30 - db $35 - db $40 - db $4B - db $5B - db $60 - db $6B - db $F6 - db $FB - db $00 - db $0B - db $16 - db $1B - db $20 - db $2B - db $36 - db $3B - db $40 - db $4B - db $56 - db $60 - db $65 - db $70 - db $7B - db $00 - db $05 - db $10 - db $1B - db $20 - db $25 - db $30 - db $3B - db $40 - db $45 - db $50 - db $5B - db $65 - db $6A - db $75 - db $80 - db $85 - db $0A - db $15 - db $20 - db $25 - db $2A - db $35 - db $40 - db $45 - db $4A - db $55 - db $60 - db $70 - db $75 - db $80 - db $8B - db $90 - db $95 - db $20 - db $2B - db $30 - db $35 - db $40 - db $4B - db $50 - db $55 - db $60 - db $6B - db $7B - db $80 - db $8B - db $96 - db $9B - db $A0 - db $AB - db $36 - db $3B - db $40 - db $4B - db $56 - db $5B - db $60 - db $6B - db $76 - db $80 - db $85 - db $90 - db $9B - db $A0 - db $A5 - db $B0 - db $BB - db $40 - db $45 - db $50 - db $5B - db $60 - db $65 - db $70 - db $7B - db $85 - db $8A - db $95 - db $A0 - db $A5 - db $AA - db $B5 - db $C0 - db $C5 - db $4A - db $55 - db $60 - db $65 - db $6A - db $75 - db $80 - db $90 - db $95 - db $A0 - db $AB - db $B0 - db $B5 - db $C0 - db $CB - db $D0 - db $D5 - db $60 - db $6B - db $70 - db $75 - db $80 - db $8B - db $9B - db $A0 - db $AB - db $B6 - db $BB - db $C0 - db $CB - db $D6 - db $DB - db $E0 - db $EB - db $76 - db $7B - db $80 - db $8B - db $96 - db $A0 - db $A5 - db $B0 - db $BB - db $C0 - db $C5 - db $D0 - db $DB - db $E0 - db $E5 - db $F0 - db $FB - db $80 - db $85 - db $90 - db $9B - db $A5 - db $AA - db $B5 - db $C0 - db $C5 - db $CA - db $D5 - db $E0 - db $E5 - db $EA - db $F5 - db $00 - db $05 - db $8A - db $95 - db $A0 - db $B0 - db $B5 - db $C0 - db $CB - db $D0 - db $D5 - db $E0 - db $EB - db $F0 - db $F5 - db $00 - db $0B - db $10 - db $15 - db $A0 - db $AB - db $BB - db $C0 - db $CB - db $D6 - db $DB - db $E0 - db $EB - db $F6 - db $FB - db $00 - db $0B - db $16 - db $1B - db $20 - db $2B - db $B6 + db $C0 + db $C5 + db $D0 + db $DB + db $E0 + db $E5 + db $F0 + db $FB + db $00 + db $05 + db $10 + db $1B + db $20 + db $25 + db $30 + db $3B + db $45 + db $CA + db $D5 + db $E0 + db $E5 + db $EA + db $F5 + db $00 + db $05 + db $0A + db $15 + db $20 + db $25 + db $2A + db $35 + db $40 + db $50 + db $55 + db $E0 + db $EB + db $F0 + db $F5 + db $00 + db $0B + db $10 + db $15 + db $20 + db $2B + db $30 + db $35 + db $40 + db $4B + db $5B + db $60 + db $6B + db $F6 + db $FB + db $00 + db $0B + db $16 + db $1B + db $20 + db $2B + db $36 + db $3B + db $40 + db $4B + db $56 + db $60 + db $65 + db $70 + db $7B + db $00 + db $05 + db $10 + db $1B + db $20 + db $25 + db $30 + db $3B + db $40 + db $45 + db $50 + db $5B + db $65 + db $6A + db $75 + db $80 + db $85 + db $0A + db $15 + db $20 + db $25 + db $2A + db $35 + db $40 + db $45 + db $4A + db $55 + db $60 + db $70 + db $75 + db $80 + db $8B + db $90 + db $95 + db $20 + db $2B + db $30 + db $35 + db $40 + db $4B + db $50 + db $55 + db $60 + db $6B + db $7B + db $80 + db $8B + db $96 + db $9B + db $A0 + db $AB + db $36 + db $3B + db $40 + db $4B + db $56 + db $5B + db $60 + db $6B + db $76 + db $80 + db $85 + db $90 + db $9B + db $A0 + db $A5 + db $B0 + db $BB + db $40 + db $45 + db $50 + db $5B + db $60 + db $65 + db $70 + db $7B + db $85 + db $8A + db $95 + db $A0 + db $A5 + db $AA + db $B5 + db $C0 + db $C5 + db $4A + db $55 + db $60 + db $65 + db $6A + db $75 + db $80 + db $90 + db $95 + db $A0 + db $AB + db $B0 + db $B5 + db $C0 + db $CB + db $D0 + db $D5 + db $60 + db $6B + db $70 + db $75 + db $80 + db $8B + db $9B + db $A0 + db $AB + db $B6 + db $BB + db $C0 + db $CB + db $D6 + db $DB + db $E0 + db $EB + db $76 + db $7B + db $80 + db $8B + db $96 + db $A0 + db $A5 + db $B0 + db $BB + db $C0 + db $C5 + db $D0 + db $DB + db $E0 + db $E5 + db $F0 + db $FB + db $80 + db $85 + db $90 + db $9B + db $A5 + db $AA + db $B5 + db $C0 + db $C5 + db $CA + db $D5 + db $E0 + db $E5 + db $EA + db $F5 + db $00 + db $05 + db $8A + db $95 + db $A0 + db $B0 + db $B5 + db $C0 + db $CB + db $D0 + db $D5 + db $E0 + db $EB + db $F0 + db $F5 + db $00 + db $0B + db $10 + db $15 + db $A0 + db $AB + db $BB + db $C0 + db $CB + db $D6 + db $DB + db $E0 + db $EB + db $F6 + db $FB + db $00 + db $0B + db $16 + db $1B + db $20 + db $2B + db $B6 Data_8917: ; 0x8917 ; This has to do with y-collision data - dw $0000 - dw $FFE0 - dw $FF81 - dw $FEDE - dw $FE77 - dw $FE00 - dw $FCCC - dw $FB87 - dw $FB01 - dw $FA8E - dw $F9F8 - dw $FA1F - dw $FA77 - dw $FAFC - dw $FCAD - dw $FEE7 - dw $0119 - dw $FFC2 - dw $FF70 - dw $FEE4 - dw $FE8C - dw $FE24 - dw $FD15 - dw $FBF9 - dw $FB87 - dw $FB27 - dw $FAB9 - dw $FB03 - dw $FB69 - dw $FBFA - dw $FDBD - dw $0000 - dw $0353 - dw $045D - dw $FF4B - dw $FF01 - dw $FECC - dw $FE8A - dw $FDD5 - dw $FD15 - dw $FCCC - dw $FC94 - dw $FC77 - dw $FD03 - dw $FD81 - dw $FE24 - dw $0000 - dw $0243 - dw $0504 - dw $05F6 - dw $07B4 - dw $FF08 - dw $FEFB - dw $FEE2 - dw $FE8A - dw $FE24 - dw $FE00 - dw $FDEC - dw $FE10 - dw $FEC9 - dw $FF54 - dw $0000 - dw $01DC - dw $0406 - dw $0589 - dw $066D - dw $0808 - dw $08E7 - dw $FF00 - dw $FEFB - dw $FECC - dw $FE8C - dw $FE77 - dw $FE71 - dw $FEAD - dw $FF73 - dw $0000 - dw $00AC - dw $027F - dw $0497 - dw $05E1 - dw $06B6 - dw $082C - dw $08E1 - dw $08E7 - dw $FF08 - dw $FF01 - dw $FEE4 - dw $FEDE - dw $FEE3 - dw $FF32 - dw $0000 - dw $008D - dw $0137 - dw $02FD - dw $04FD - dw $0608 - dw $06B8 - dw $07D4 - dw $082C - dw $0808 - dw $07B4 - dw $FF4B - dw $FF70 - dw $FF81 - dw $FF99 - dw $0000 - dw $00CE - dw $0153 - dw $01F0 - dw $0389 - dw $0547 - dw $0572 - dw $05F8 - dw $06B8 - dw $06B6 - dw $066D - dw $05F6 - dw $045D - dw $FFC2 - dw $FFE0 - dw $0000 - dw $0067 - dw $011D - dw $018F - dw $0214 - dw $036C - dw $04D9 - dw $04FF - dw $0572 - dw $0608 - dw $05E1 - dw $0589 - dw $0504 - dw $0353 - dw $0119 - dw $0000 - dw $0020 - dw $007F - dw $0122 - dw $0189 - dw $0200 - dw $0334 - dw $0479 - dw $0479 - dw $04D9 - dw $0547 - dw $04FD - dw $0497 - dw $0406 - dw $0243 - dw $0000 - dw $FEE7 - dw $003E - dw $0090 - dw $011C - dw $0174 - dw $01DC - dw $02EB - dw $0407 - dw $0334 - dw $036C - dw $0389 - dw $02FD - dw $027F - dw $01DC - dw $0000 - dw $FDBD - dw $FCAD - dw $FBA3 - dw $00B5 - dw $00FF - dw $0134 - dw $0176 - dw $022B - dw $02EB - dw $0200 - dw $0214 - dw $01F0 - dw $0137 - dw $00AC - dw $0000 - dw $FE24 - dw $FBFA - dw $FAFC - dw $FA0A - dw $F84C - dw $00F8 - dw $0105 - dw $011E - dw $0176 - dw $01DC - dw $0189 - dw $018F - dw $0153 - dw $008D - dw $0000 - dw $FF54 - dw $FD81 - dw $FB69 - dw $FA77 - dw $F993 - dw $F7F8 - dw $F719 - dw $0100 - dw $0105 - dw $0134 - dw $0174 - dw $0122 - dw $011D - dw $00CE - dw $0000 - dw $FF73 - dw $FEC9 - dw $FD03 - dw $FB03 - dw $FA1F - dw $F94A - dw $F7D4 - dw $F71F - dw $F719 - dw $00F8 - dw $00FF - dw $011C - dw $007F - dw $0067 - dw $0000 - dw $FF32 - dw $FEAD - dw $FE10 - dw $FC77 - dw $FAB9 - dw $F9F8 - dw $F948 - dw $F82C - dw $F7D4 - dw $F7F8 - dw $F84C - dw $00B5 - dw $0090 - dw $0020 - dw $0000 - dw $FF99 - dw $FEE3 - dw $FE71 - dw $FDEC - dw $FC94 - dw $FB27 - dw $FA8E - dw $FA08 - dw $F948 - dw $F94A - dw $F993 - dw $FA0A - dw $FBA3 - dw $003E + dw $0000 + dw $FFE0 + dw $FF81 + dw $FEDE + dw $FE77 + dw $FE00 + dw $FCCC + dw $FB87 + dw $FB01 + dw $FA8E + dw $F9F8 + dw $FA1F + dw $FA77 + dw $FAFC + dw $FCAD + dw $FEE7 + dw $0119 + dw $FFC2 + dw $FF70 + dw $FEE4 + dw $FE8C + dw $FE24 + dw $FD15 + dw $FBF9 + dw $FB87 + dw $FB27 + dw $FAB9 + dw $FB03 + dw $FB69 + dw $FBFA + dw $FDBD + dw $0000 + dw $0353 + dw $045D + dw $FF4B + dw $FF01 + dw $FECC + dw $FE8A + dw $FDD5 + dw $FD15 + dw $FCCC + dw $FC94 + dw $FC77 + dw $FD03 + dw $FD81 + dw $FE24 + dw $0000 + dw $0243 + dw $0504 + dw $05F6 + dw $07B4 + dw $FF08 + dw $FEFB + dw $FEE2 + dw $FE8A + dw $FE24 + dw $FE00 + dw $FDEC + dw $FE10 + dw $FEC9 + dw $FF54 + dw $0000 + dw $01DC + dw $0406 + dw $0589 + dw $066D + dw $0808 + dw $08E7 + dw $FF00 + dw $FEFB + dw $FECC + dw $FE8C + dw $FE77 + dw $FE71 + dw $FEAD + dw $FF73 + dw $0000 + dw $00AC + dw $027F + dw $0497 + dw $05E1 + dw $06B6 + dw $082C + dw $08E1 + dw $08E7 + dw $FF08 + dw $FF01 + dw $FEE4 + dw $FEDE + dw $FEE3 + dw $FF32 + dw $0000 + dw $008D + dw $0137 + dw $02FD + dw $04FD + dw $0608 + dw $06B8 + dw $07D4 + dw $082C + dw $0808 + dw $07B4 + dw $FF4B + dw $FF70 + dw $FF81 + dw $FF99 + dw $0000 + dw $00CE + dw $0153 + dw $01F0 + dw $0389 + dw $0547 + dw $0572 + dw $05F8 + dw $06B8 + dw $06B6 + dw $066D + dw $05F6 + dw $045D + dw $FFC2 + dw $FFE0 + dw $0000 + dw $0067 + dw $011D + dw $018F + dw $0214 + dw $036C + dw $04D9 + dw $04FF + dw $0572 + dw $0608 + dw $05E1 + dw $0589 + dw $0504 + dw $0353 + dw $0119 + dw $0000 + dw $0020 + dw $007F + dw $0122 + dw $0189 + dw $0200 + dw $0334 + dw $0479 + dw $0479 + dw $04D9 + dw $0547 + dw $04FD + dw $0497 + dw $0406 + dw $0243 + dw $0000 + dw $FEE7 + dw $003E + dw $0090 + dw $011C + dw $0174 + dw $01DC + dw $02EB + dw $0407 + dw $0334 + dw $036C + dw $0389 + dw $02FD + dw $027F + dw $01DC + dw $0000 + dw $FDBD + dw $FCAD + dw $FBA3 + dw $00B5 + dw $00FF + dw $0134 + dw $0176 + dw $022B + dw $02EB + dw $0200 + dw $0214 + dw $01F0 + dw $0137 + dw $00AC + dw $0000 + dw $FE24 + dw $FBFA + dw $FAFC + dw $FA0A + dw $F84C + dw $00F8 + dw $0105 + dw $011E + dw $0176 + dw $01DC + dw $0189 + dw $018F + dw $0153 + dw $008D + dw $0000 + dw $FF54 + dw $FD81 + dw $FB69 + dw $FA77 + dw $F993 + dw $F7F8 + dw $F719 + dw $0100 + dw $0105 + dw $0134 + dw $0174 + dw $0122 + dw $011D + dw $00CE + dw $0000 + dw $FF73 + dw $FEC9 + dw $FD03 + dw $FB03 + dw $FA1F + dw $F94A + dw $F7D4 + dw $F71F + dw $F719 + dw $00F8 + dw $00FF + dw $011C + dw $007F + dw $0067 + dw $0000 + dw $FF32 + dw $FEAD + dw $FE10 + dw $FC77 + dw $FAB9 + dw $F9F8 + dw $F948 + dw $F82C + dw $F7D4 + dw $F7F8 + dw $F84C + dw $00B5 + dw $0090 + dw $0020 + dw $0000 + dw $FF99 + dw $FEE3 + dw $FE71 + dw $FDEC + dw $FC94 + dw $FB27 + dw $FA8E + dw $FA08 + dw $F948 + dw $F94A + dw $F993 + dw $FA0A + dw $FBA3 + dw $003E Data_8b17: ; 0x8b17 ; This data has to do with x-collision data - dw $FF00 - dw $FEFB - dw $FECC - dw $FE8C - dw $FE77 - dw $FE71 - dw $FEAD - dw $FF73 - dw $0000 - dw $00AC - dw $027F - dw $0497 - dw $0589 - dw $066D - dw $0808 - dw $08E7 - dw $08E7 - dw $FF08 - dw $FF01 - dw $FEE4 - dw $FEDE - dw $FEE3 - dw $FF32 - dw $0000 - dw $008D - dw $0137 - dw $02FD - dw $04FD - dw $05E1 - dw $06B6 - dw $082C - dw $08E1 - dw $0808 - dw $07B4 - dw $FF4B - dw $FF70 - dw $FF81 - dw $FF99 - dw $0000 - dw $00CE - dw $0153 - dw $01F0 - dw $0389 - dw $0547 - dw $0608 - dw $06B8 - dw $07D4 - dw $082C - dw $066D - dw $05F6 - dw $045D - dw $FFC2 - dw $FFE0 - dw $0000 - dw $0067 - dw $011D - dw $018F - dw $0214 - dw $036C - dw $04D9 - dw $0572 - dw $05F8 - dw $06B8 - dw $06B6 - dw $0589 - dw $0504 - dw $0353 - dw $0119 - dw $0000 - dw $0020 - dw $007F - dw $0122 - dw $0189 - dw $0200 - dw $0334 - dw $0479 - dw $04FF - dw $0572 - dw $0608 - dw $05E1 - dw $0497 - dw $0406 - dw $0243 - dw $0000 - dw $FEE7 - dw $003E - dw $0090 - dw $011C - dw $0174 - dw $01DC - dw $02EB - dw $0407 - dw $0479 - dw $04D9 - dw $0547 - dw $04FD - dw $027F - dw $01DC - dw $0000 - dw $FDBD - dw $FCAD - dw $FBA3 - dw $00B5 - dw $00FF - dw $0134 - dw $0176 - dw $022B - dw $02EB - dw $0334 - dw $036C - dw $0389 - dw $02FD - dw $00AC - dw $0000 - dw $FE24 - dw $FBFA - dw $FAFC - dw $FA0A - dw $F84C - dw $00F8 - dw $0105 - dw $011E - dw $0176 - dw $01DC - dw $0200 - dw $0214 - dw $01F0 - dw $0137 - dw $0000 - dw $FF54 - dw $FD81 - dw $FB69 - dw $FA77 - dw $F993 - dw $F7F8 - dw $F719 - dw $0100 - dw $0105 - dw $0134 - dw $0174 - dw $0189 - dw $018F - dw $0153 - dw $008D - dw $FF73 - dw $FEC9 - dw $FD03 - dw $FB03 - dw $FA1F - dw $F94A - dw $F7D4 - dw $F71F - dw $F719 - dw $00F8 - dw $00FF - dw $011C - dw $0122 - dw $011D - dw $00CE - dw $0000 - dw $FEAD - dw $FE10 - dw $FC77 - dw $FAB9 - dw $F9F8 - dw $F948 - dw $F82C - dw $F7D4 - dw $F7F8 - dw $F84C - dw $00B5 - dw $0090 - dw $007F - dw $0067 - dw $0000 - dw $FF32 - dw $FE71 - dw $FDEC - dw $FC94 - dw $FB27 - dw $FA8E - dw $FA08 - dw $F948 - dw $F94A - dw $F993 - dw $FA0A - dw $FBA3 - dw $003E - dw $0020 - dw $0000 - dw $FF99 - dw $FEE3 - dw $FE77 - dw $FE00 - dw $FCCC - dw $FB87 - dw $FB01 - dw $FA8E - dw $F9F8 - dw $FA1F - dw $FA77 - dw $FAFC - dw $FCAD - dw $FEE7 - dw $0000 - dw $FFE0 - dw $FF81 - dw $FEDE - dw $FE8C - dw $FE24 - dw $FD15 - dw $FBF9 - dw $FB87 - dw $FB27 - dw $FAB9 - dw $FB03 - dw $FB69 - dw $FBFA - dw $FDBD - dw $0000 - dw $0119 - dw $FFC2 - dw $FF70 - dw $FEE4 - dw $FECC - dw $FE8A - dw $FDD5 - dw $FD15 - dw $FCCC - dw $FC94 - dw $FC77 - dw $FD03 - dw $FD81 - dw $FE24 - dw $0000 - dw $0243 - dw $0353 - dw $045D - dw $FF4B - dw $FF01 - dw $FEFB - dw $FEE2 - dw $FE8A - dw $FE24 - dw $FE00 - dw $FDEC - dw $FE10 - dw $FEC9 - dw $FF54 - dw $0000 - dw $01DC - dw $0406 - dw $0504 - dw $05F6 - dw $07B4 - dw $FF08 + dw $FF00 + dw $FEFB + dw $FECC + dw $FE8C + dw $FE77 + dw $FE71 + dw $FEAD + dw $FF73 + dw $0000 + dw $00AC + dw $027F + dw $0497 + dw $0589 + dw $066D + dw $0808 + dw $08E7 + dw $08E7 + dw $FF08 + dw $FF01 + dw $FEE4 + dw $FEDE + dw $FEE3 + dw $FF32 + dw $0000 + dw $008D + dw $0137 + dw $02FD + dw $04FD + dw $05E1 + dw $06B6 + dw $082C + dw $08E1 + dw $0808 + dw $07B4 + dw $FF4B + dw $FF70 + dw $FF81 + dw $FF99 + dw $0000 + dw $00CE + dw $0153 + dw $01F0 + dw $0389 + dw $0547 + dw $0608 + dw $06B8 + dw $07D4 + dw $082C + dw $066D + dw $05F6 + dw $045D + dw $FFC2 + dw $FFE0 + dw $0000 + dw $0067 + dw $011D + dw $018F + dw $0214 + dw $036C + dw $04D9 + dw $0572 + dw $05F8 + dw $06B8 + dw $06B6 + dw $0589 + dw $0504 + dw $0353 + dw $0119 + dw $0000 + dw $0020 + dw $007F + dw $0122 + dw $0189 + dw $0200 + dw $0334 + dw $0479 + dw $04FF + dw $0572 + dw $0608 + dw $05E1 + dw $0497 + dw $0406 + dw $0243 + dw $0000 + dw $FEE7 + dw $003E + dw $0090 + dw $011C + dw $0174 + dw $01DC + dw $02EB + dw $0407 + dw $0479 + dw $04D9 + dw $0547 + dw $04FD + dw $027F + dw $01DC + dw $0000 + dw $FDBD + dw $FCAD + dw $FBA3 + dw $00B5 + dw $00FF + dw $0134 + dw $0176 + dw $022B + dw $02EB + dw $0334 + dw $036C + dw $0389 + dw $02FD + dw $00AC + dw $0000 + dw $FE24 + dw $FBFA + dw $FAFC + dw $FA0A + dw $F84C + dw $00F8 + dw $0105 + dw $011E + dw $0176 + dw $01DC + dw $0200 + dw $0214 + dw $01F0 + dw $0137 + dw $0000 + dw $FF54 + dw $FD81 + dw $FB69 + dw $FA77 + dw $F993 + dw $F7F8 + dw $F719 + dw $0100 + dw $0105 + dw $0134 + dw $0174 + dw $0189 + dw $018F + dw $0153 + dw $008D + dw $FF73 + dw $FEC9 + dw $FD03 + dw $FB03 + dw $FA1F + dw $F94A + dw $F7D4 + dw $F71F + dw $F719 + dw $00F8 + dw $00FF + dw $011C + dw $0122 + dw $011D + dw $00CE + dw $0000 + dw $FEAD + dw $FE10 + dw $FC77 + dw $FAB9 + dw $F9F8 + dw $F948 + dw $F82C + dw $F7D4 + dw $F7F8 + dw $F84C + dw $00B5 + dw $0090 + dw $007F + dw $0067 + dw $0000 + dw $FF32 + dw $FE71 + dw $FDEC + dw $FC94 + dw $FB27 + dw $FA8E + dw $FA08 + dw $F948 + dw $F94A + dw $F993 + dw $FA0A + dw $FBA3 + dw $003E + dw $0020 + dw $0000 + dw $FF99 + dw $FEE3 + dw $FE77 + dw $FE00 + dw $FCCC + dw $FB87 + dw $FB01 + dw $FA8E + dw $F9F8 + dw $FA1F + dw $FA77 + dw $FAFC + dw $FCAD + dw $FEE7 + dw $0000 + dw $FFE0 + dw $FF81 + dw $FEDE + dw $FE8C + dw $FE24 + dw $FD15 + dw $FBF9 + dw $FB87 + dw $FB27 + dw $FAB9 + dw $FB03 + dw $FB69 + dw $FBFA + dw $FDBD + dw $0000 + dw $0119 + dw $FFC2 + dw $FF70 + dw $FEE4 + dw $FECC + dw $FE8A + dw $FDD5 + dw $FD15 + dw $FCCC + dw $FC94 + dw $FC77 + dw $FD03 + dw $FD81 + dw $FE24 + dw $0000 + dw $0243 + dw $0353 + dw $045D + dw $FF4B + dw $FF01 + dw $FEFB + dw $FEE2 + dw $FE8A + dw $FE24 + dw $FE00 + dw $FDEC + dw $FE10 + dw $FEC9 + dw $FF54 + dw $0000 + dw $01DC + dw $0406 + dw $0504 + dw $05F6 + dw $07B4 + dw $FF08 Func_8d17: ; 0x8d17 - ld a, [$ff92] - cp $80 - jp c, Func_8e01 - ld a, [$ff90] - ld c, a - ld a, [$ff91] - ld b, a - ld a, [$ff93] - ld l, a - ld h, $0 - add hl, bc - ld a, [$ff8e] - cp h - jr nz, .asm_8d32 - ld a, [$ff8d] - cp l + ld a, [$ff92] + cp $80 + jp c, Func_8e01 + ld a, [$ff90] + ld c, a + ld a, [$ff91] + ld b, a + ld a, [$ff93] + ld l, a + ld h, $0 + add hl, bc + ld a, [$ff8e] + cp h + jr nz, .asm_8d32 + ld a, [$ff8d] + cp l .asm_8d32 - jr nc, .asm_8d5c - ld a, [$ff8d] - ld [$ff90], a - ld a, [$ff8e] - ld [$ff91], a - ld a, [$ff8d] - ld c, a - ld a, [$ff8e] - ld b, a - ld a, [$ff8c] - ld l, a - ld h, $0 - add hl, bc - ld a, l - ld [$ff8d], a - ld a, h - ld [$ff8e], a - srl h - rr l - srl h - rr l - ld a, [$ff8f] - cp l - jp c, Func_8df7 + jr nc, .asm_8d5c + ld a, [$ff8d] + ld [$ff90], a + ld a, [$ff8e] + ld [$ff91], a + ld a, [$ff8d] + ld c, a + ld a, [$ff8e] + ld b, a + ld a, [$ff8c] + ld l, a + ld h, $0 + add hl, bc + ld a, l + ld [$ff8d], a + ld a, h + ld [$ff8e], a + srl h + rr l + srl h + rr l + ld a, [$ff8f] + cp l + jp c, Func_8df7 .asm_8d5c - ld a, [$ff90] - and $f8 - ld c, a - ld a, [$ff91] - ld b, a - sla c - rl b - sla c - rl b - ld hl, $c010 - add hl, bc - ld d, h - ld e, l - ld a, [$ff92] - swap a - ld c, a - and $f - ld b, a - ld a, c - and $f0 - ld c, a - sla c - rl b - ld hl, PokedexCharactersGfx - add hl, bc - push hl - ld a, [$ff90] - and $7 - ld c, a - ld b, $0 - ld hl, Data_8df9 - add hl, bc - ld a, [hl] - ld [$d85e], a - cpl - ld [$d85f], a - ld a, c - add $58 - ld b, a - pop hl - push hl - ld c, $10 + ld a, [$ff90] + and $f8 + ld c, a + ld a, [$ff91] + ld b, a + sla c + rl b + sla c + rl b + ld hl, $c010 + add hl, bc + ld d, h + ld e, l + ld a, [$ff92] + swap a + ld c, a + and $f + ld b, a + ld a, c + and $f0 + ld c, a + sla c + rl b + ld hl, PokedexCharactersGfx + add hl, bc + push hl + ld a, [$ff90] + and $7 + ld c, a + ld b, $0 + ld hl, Data_8df9 + add hl, bc + ld a, [hl] + ld [$d85e], a + cpl + ld [$d85f], a + ld a, c + add $58 + ld b, a + pop hl + push hl + ld c, $10 .asm_8da2 - push bc - ld a, [hli] - ld c, a - ld a, [bc] - ld c, a - ld a, [$d85e] - and c - ld c, a - ld a, [$d860] - ld b, a - ld a, [de] - xor b - or c - xor b - ld [de], a - inc de - ld a, [de] - xor b - or c - xor b - ld [de], a - inc de - inc hl - pop bc - dec c - jr nz, .asm_8da2 - pop hl - ld c, $10 + push bc + ld a, [hli] + ld c, a + ld a, [bc] + ld c, a + ld a, [$d85e] + and c + ld c, a + ld a, [$d860] + ld b, a + ld a, [de] + xor b + or c + xor b + ld [de], a + inc de + ld a, [de] + xor b + or c + xor b + ld [de], a + inc de + inc hl + pop bc + dec c + jr nz, .asm_8da2 + pop hl + ld c, $10 .asm_8dc4 - push bc - ld a, [hli] - ld c, a - ld a, [bc] - ld c, a - ld a, [$d85f] - and c - ld c, a - ld a, [$d860] - ld b, a - ld a, [de] - xor b - or c - xor b - ld [de], a - inc de - ld a, [de] - xor b - or c - xor b - ld [de], a - inc de - inc hl - pop bc - dec c - jr nz, .asm_8dc4 - ld a, [$ff90] - ld c, a - ld a, [$ff91] - ld b, a - ld a, [$ff93] - ld l, a - ld h, $0 - add hl, bc - ld a, l - ld [$ff90], a - ld a, h - ld [$ff91], a - and a - ret + push bc + ld a, [hli] + ld c, a + ld a, [bc] + ld c, a + ld a, [$d85f] + and c + ld c, a + ld a, [$d860] + ld b, a + ld a, [de] + xor b + or c + xor b + ld [de], a + inc de + ld a, [de] + xor b + or c + xor b + ld [de], a + inc de + inc hl + pop bc + dec c + jr nz, .asm_8dc4 + ld a, [$ff90] + ld c, a + ld a, [$ff91] + ld b, a + ld a, [$ff93] + ld l, a + ld h, $0 + add hl, bc + ld a, l + ld [$ff90], a + ld a, h + ld [$ff91], a + and a + ret Func_8df7: ; 0x8df7 - scf - ret + scf + ret Data_8df9: ; 0x8df9 - db $FF, $7F, $3F, $1F, $0F, $07, $03, $01 + db $FF, $7F, $3F, $1F, $0F, $07, $03, $01 Func_8e01: ; 0x8e01 - ld a, [$ff90] - ld c, a - ld a, [$ff91] - ld b, a - ld a, [$ff93] - ld l, a - ld h, $0 - add hl, bc - ld a, [$ff8e] - cp h - jr nz, .asm_8e15 - ld a, [$ff8d] - cp l + ld a, [$ff90] + ld c, a + ld a, [$ff91] + ld b, a + ld a, [$ff93] + ld l, a + ld h, $0 + add hl, bc + ld a, [$ff8e] + cp h + jr nz, .asm_8e15 + ld a, [$ff8d] + cp l .asm_8e15 - jr nc, .asm_8e3f - ld a, [$ff8d] - ld [$ff90], a - ld a, [$ff8e] - ld [$ff91], a - ld a, [$ff8d] - ld c, a - ld a, [$ff8e] - ld b, a - ld a, [$ff8c] - ld l, a - ld h, $0 - add hl, bc - ld a, l - ld [$ff8d], a - ld a, h - ld [$ff8e], a - srl h - rr l - srl h - rr l - ld a, [$ff8f] - cp l - jp c, Func_8ed6 + jr nc, .asm_8e3f + ld a, [$ff8d] + ld [$ff90], a + ld a, [$ff8e] + ld [$ff91], a + ld a, [$ff8d] + ld c, a + ld a, [$ff8e] + ld b, a + ld a, [$ff8c] + ld l, a + ld h, $0 + add hl, bc + ld a, l + ld [$ff8d], a + ld a, h + ld [$ff8e], a + srl h + rr l + srl h + rr l + ld a, [$ff8f] + cp l + jp c, Func_8ed6 .asm_8e3f - ld a, [$ff90] - and $f8 - ld c, a - ld a, [$ff91] - ld b, a - sla c - rl b - ld hl, $c010 - add hl, bc - ld d, h - ld e, l - ld a, [$ff92] - swap a - ld c, a - and $f - ld b, a - ld a, c - and $f0 - ld c, a - sla c - rl b - ld hl, PokedexCharactersGfx + $8 - add hl, bc - push hl - ld a, [$ff90] - and $7 - ld c, a - ld b, $0 - ld hl, Data_8ed8 - add hl, bc - ld a, [hl] - ld [$d85e], a - cpl - ld [$d85f], a - ld a, c - add $58 - ld b, a - pop hl - push hl - ld c, $8 + ld a, [$ff90] + and $f8 + ld c, a + ld a, [$ff91] + ld b, a + sla c + rl b + ld hl, $c010 + add hl, bc + ld d, h + ld e, l + ld a, [$ff92] + swap a + ld c, a + and $f + ld b, a + ld a, c + and $f0 + ld c, a + sla c + rl b + ld hl, PokedexCharactersGfx + $8 + add hl, bc + push hl + ld a, [$ff90] + and $7 + ld c, a + ld b, $0 + ld hl, Data_8ed8 + add hl, bc + ld a, [hl] + ld [$d85e], a + cpl + ld [$d85f], a + ld a, c + add $58 + ld b, a + pop hl + push hl + ld c, $8 .asm_8e81 - push bc - ld a, [hli] - ld c, a - ld a, [bc] - ld c, a - ld a, [$d85e] - and c - ld c, a - ld a, [$d860] - ld b, a - ld a, [de] - xor b - or c - xor b - ld [de], a - inc de - ld a, [de] - xor b - or c - xor b - ld [de], a - inc de - inc hl - pop bc - dec c - jr nz, .asm_8e81 - pop hl - ld c, $8 + push bc + ld a, [hli] + ld c, a + ld a, [bc] + ld c, a + ld a, [$d85e] + and c + ld c, a + ld a, [$d860] + ld b, a + ld a, [de] + xor b + or c + xor b + ld [de], a + inc de + ld a, [de] + xor b + or c + xor b + ld [de], a + inc de + inc hl + pop bc + dec c + jr nz, .asm_8e81 + pop hl + ld c, $8 .asm_8ea3 - push bc - ld a, [hli] - ld c, a - ld a, [bc] - ld c, a - ld a, [$d85f] - and c - ld c, a - ld a, [$d860] - ld b, a - ld a, [de] - xor b - or c - xor b - ld [de], a - inc de - ld a, [de] - xor b - or c - xor b - ld [de], a - inc de - inc hl - pop bc - dec c - jr nz, .asm_8ea3 - ld a, [$ff90] - ld c, a - ld a, [$ff91] - ld b, a - ld a, [$ff93] - ld l, a - ld h, $0 - add hl, bc - ld a, l - ld [$ff90], a - ld a, h - ld [$ff91], a - and a - ret + push bc + ld a, [hli] + ld c, a + ld a, [bc] + ld c, a + ld a, [$d85f] + and c + ld c, a + ld a, [$d860] + ld b, a + ld a, [de] + xor b + or c + xor b + ld [de], a + inc de + ld a, [de] + xor b + or c + xor b + ld [de], a + inc de + inc hl + pop bc + dec c + jr nz, .asm_8ea3 + ld a, [$ff90] + ld c, a + ld a, [$ff91] + ld b, a + ld a, [$ff93] + ld l, a + ld h, $0 + add hl, bc + ld a, l + ld [$ff90], a + ld a, h + ld [$ff91], a + and a + ret Func_8ed6: ; 0x8ed6 - scf - ret + scf + ret Data_8ed8: ; 0x8ed8 - db $FF, $7F, $3F, $1F, $0F, $07, $03, $01 + db $FF, $7F, $3F, $1F, $0F, $07, $03, $01 Func_8ee0: ; 0x8ee0 - ld a, [$ff8d] - ld [$ff90], a - ld a, [$ff8e] - ld [$ff91], a - ld a, [$ff8d] - ld c, a - ld a, [$ff8e] - ld b, a - ld a, [$ff8c] - ld l, a - ld h, $0 - add hl, bc - ld a, l - ld [$ff8d], a - ld a, h - ld [$ff8e], a - srl h - rr l - srl h - rr l - ld a, [$ff8f] - cp l - ret - -INCBIN "baserom.gbc",$8f06,$a000 - $8f06 + ld a, [$ff8d] + ld [$ff90], a + ld a, [$ff8e] + ld [$ff91], a + ld a, [$ff8d] + ld c, a + ld a, [$ff8e] + ld b, a + ld a, [$ff8c] + ld l, a + ld h, $0 + add hl, bc + ld a, l + ld [$ff8d], a + ld a, h + ld [$ff8e], a + srl h + rr l + srl h + rr l + ld a, [$ff8f] + cp l + ret + + dr $8f06, $a000 PokedexCharactersGfx: ; 0xa000 - INCBIN "gfx/pokedex/characters.interleave.2bpp" + INCBIN "gfx/pokedex/characters.interleave.2bpp" SECTION "bank3", ROMX, BANK[$3] HandleTitlescreen: ; 0xc000 - ld a, [wScreenState] - rst $18 ; calls JumpToFuncInTable + ld a, [wScreenState] + rst $18 ; calls JumpToFuncInTable TitlescreenFunctions: ; 0xc004 - dw FadeInTitlescreen - dw TitlescreenLoop ; titlescreen loop - dw Func_c10e ; previously saved game menu - dw Func_c1cb ; game start, pokedex, option - dw GoToHighScoresFromTitlescreen ; go to high scores + dw FadeInTitlescreen + dw TitlescreenLoop ; titlescreen loop + dw Func_c10e ; previously saved game menu + dw Func_c1cb ; game start, pokedex, option + dw GoToHighScoresFromTitlescreen ; go to high scores FadeInTitlescreen: ; 0xc00e - ld a, $43 - ld [$ff9e], a - ld a, $e4 - ld [$d80c], a - ld a, $d2 - ld [$d80d], a - ld a, $e1 - ld [$d80e], a - xor a - ld [hBoardXShift], a - ld [hBoardYShift], a - ld hl, TitlescreenFadeInGfxPointers - ld a, [hGameBoyColorFlag] - call LoadVideoData - ld a, $1 - ld [wTitleScreenGameStartCursorSelection], a - call ClearOAMBuffer - ld a, $2 - ld [wTitleScreenPokeballAnimationCounter], a - call HandleTitlescreenAnimations - call Func_b66 - ld a, $11 - call SetSongBank - ld de, $0004 - call PlaySong - call Func_588 - call Func_bbe ; this does the fading - ld hl, wScreenState - inc [hl] - ret + ld a, $43 + ld [$ff9e], a + ld a, $e4 + ld [$d80c], a + ld a, $d2 + ld [$d80d], a + ld a, $e1 + ld [$d80e], a + xor a + ld [hBoardXShift], a + ld [hBoardYShift], a + ld hl, TitlescreenFadeInGfxPointers + ld a, [hGameBoyColorFlag] + call LoadVideoData + ld a, $1 + ld [wTitleScreenGameStartCursorSelection], a + call ClearOAMBuffer + ld a, $2 + ld [wTitleScreenPokeballAnimationCounter], a + call HandleTitlescreenAnimations + call Func_b66 + ld a, $11 + call SetSongBank + ld de, $0004 + call PlaySong + call Func_588 + call Func_bbe ; this does the fading + ld hl, wScreenState + inc [hl] + ret TitlescreenFadeInGfxPointers: ; 0xc057 - dw TitlescreenFadeInGfx_GameBoy - dw TitlescreenFadeInGfx_GameBoyColor + dw TitlescreenFadeInGfx_GameBoy + dw TitlescreenFadeInGfx_GameBoyColor TitlescreenFadeInGfx_GameBoy: ; 0xc05b - VIDEO_DATA_TILES TitlescreenGfx, vTiles0, $1800 - VIDEO_DATA_TILEMAP TitlescreenTilemap, vBGMap0, $240 - db $FF, $FF ; terminators + VIDEO_DATA_TILES TitlescreenGfx, vTiles0, $1800 + VIDEO_DATA_TILEMAP TitlescreenTilemap, vBGMap0, $240 + db $FF, $FF ; terminators TitlescreenFadeInGfx_GameBoyColor: ; 0xc06b - VIDEO_DATA_TILES TitlescreenFadeInGfx, vTiles0, $1800 - VIDEO_DATA_TILEMAP TitlescreenTilemap, vBGMap0, $240 - VIDEO_DATA_BGATTR TitlescreenBGAttributes, vBGMap0, $240 - VIDEO_DATA_PALETTES TitlescreenPalettes, $80 - db $FF, $FF ; terminators + VIDEO_DATA_TILES TitlescreenFadeInGfx, vTiles0, $1800 + VIDEO_DATA_TILEMAP TitlescreenTilemap, vBGMap0, $240 + VIDEO_DATA_BGATTR TitlescreenBGAttributes, vBGMap0, $240 + VIDEO_DATA_PALETTES TitlescreenPalettes, $80 + db $FF, $FF ; terminators TitlescreenLoop: ; 0xc089 - call Func_c0ee - call HandleTitlescreenAnimations - ld a, [hNewlyPressedButtons] - bit BIT_A_BUTTON, a ; was A button pressed? - jr z, .AButtonNotPressed - ld a, [wTitleScreenCursorSelection] - and a - jr nz, .asm_c0d3 - ; player chose "Game Start" - ld a, [$d7c2] ; if this is non-zero, the main menu will prompt for "continue or new game?". - and a - jr z, .noPreviouslySavedGame - ld de, $0001 - call PlaySoundEffect - xor a - ld [$d910], a - ld a, $2 - ld [$d911], a - ld a, $1 - ld [wTitleScreenGameStartCursorSelection], a - ld hl, wScreenState - inc [hl] - ret + call Func_c0ee + call HandleTitlescreenAnimations + ld a, [hNewlyPressedButtons] + bit BIT_A_BUTTON, a ; was A button pressed? + jr z, .AButtonNotPressed + ld a, [wTitleScreenCursorSelection] + and a + jr nz, .asm_c0d3 + ; player chose "Game Start" + ld a, [$d7c2] ; if this is non-zero, the main menu will prompt for "continue or new game?". + and a + jr z, .noPreviouslySavedGame + ld de, $0001 + call PlaySoundEffect + xor a + ld [$d910], a + ld a, $2 + ld [$d911], a + ld a, $1 + ld [wTitleScreenGameStartCursorSelection], a + ld hl, wScreenState + inc [hl] + ret .noPreviouslySavedGame - ld de, $0000 - call PlaySong - rst $10 - ld de, $0027 - call PlaySoundEffect - ld bc, $0037 - call Func_93f - ld a, $3 - ld [wScreenState], a - ret + ld de, $0000 + call PlaySong + rst $10 + ld de, $0027 + call PlaySoundEffect + ld bc, $0037 + call Func_93f + ld a, $3 + ld [wScreenState], a + ret .asm_c0d3 - ld de, $0001 - call PlaySoundEffect - ld a, $3 - ld [wScreenState], a - ret + ld de, $0001 + call PlaySoundEffect + ld a, $3 + ld [wScreenState], a + ret .AButtonNotPressed - bit BIT_B_BUTTON, a ; was B button pressed? - ret z - ld de, $0001 - call PlaySoundEffect - ld a, $4 - ld [wScreenState], a - ret + bit BIT_B_BUTTON, a ; was B button pressed? + ret z + ld de, $0001 + call PlaySoundEffect + ld a, $4 + ld [wScreenState], a + ret Func_c0ee: ; 0xc0ee - ld hl, wTitleScreenCursorSelection - ld c, $2 - call Func_c1fc - ret + ld hl, wTitleScreenCursorSelection + ld c, $2 + call Func_c1fc + ret HandleTitlescreenAnimations: ; 0xc0f7 - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_c104 - ld bc, $2040 - ld a, $62 ; seemingly-unused OAM data for titlescreen. It's just blank tiles. - call LoadOAMData + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_c104 + ld bc, $2040 + ld a, $62 ; seemingly-unused OAM data for titlescreen. It's just blank tiles. + call LoadOAMData .asm_c104 - call Func_c21d ; does nothing... - call HandleTitlescreenPikachuBlinkingAnimation - call HandleTitlescreenPokeballAnimation - ret + call Func_c21d ; does nothing... + call HandleTitlescreenPikachuBlinkingAnimation + call HandleTitlescreenPokeballAnimation + ret Func_c10e: ; 0xc10e - call Func_c1a2 - call Func_c1b1 - ld a, [$d910] - cp $6 - ret nz - ld a, [hNewlyPressedButtons] - bit 0, a - jr z, .asm_c17c - ld de, $0000 - call PlaySong - rst $10 - ld de, $0027 - call PlaySoundEffect - ld bc, $0041 - call Func_93f - ld a, [wTitleScreenGameStartCursorSelection] - and a - jr z, .asm_c177 - call Func_cb5 - call Func_576 - ld a, [$d7c2] - and a - jr z, .asm_c173 - ld hl, $a268 - ld de, wPartyMons - ld bc, $04c3 - call Func_f0c - jr nc, .asm_c173 - xor a - ld [$d7c2], a - ld hl, wPartyMons - ld de, $a268 - ld bc, $04c3 - call SaveData - ld a, $1 - ld [$d7c1], a - ld a, $4 - ld [wCurrentScreen], a - ld a, $0 - ld [wScreenState], a - ret + call Func_c1a2 + call Func_c1b1 + ld a, [$d910] + cp $6 + ret nz + ld a, [hNewlyPressedButtons] + bit 0, a + jr z, .asm_c17c + ld de, $0000 + call PlaySong + rst $10 + ld de, $0027 + call PlaySoundEffect + ld bc, $0041 + call Func_93f + ld a, [wTitleScreenGameStartCursorSelection] + and a + jr z, .asm_c177 + call Func_cb5 + call Func_576 + ld a, [$d7c2] + and a + jr z, .asm_c173 + ld hl, $a268 + ld de, wPartyMons + ld bc, $04c3 + call Func_f0c + jr nc, .asm_c173 + xor a + ld [$d7c2], a + ld hl, wPartyMons + ld de, $a268 + ld bc, $04c3 + call SaveData + ld a, $1 + ld [$d7c1], a + ld a, $4 + ld [wCurrentScreen], a + ld a, $0 + ld [wScreenState], a + ret .asm_c173 - xor a - ld [$d7c1], a + xor a + ld [$d7c1], a .asm_c177 - ld hl, wScreenState - inc [hl] - ret + ld hl, wScreenState + inc [hl] + ret .asm_c17c - bit 1, a - ret z - ld de, $0001 - call PlaySoundEffect - ld a, $8 - ld [$d910], a - ld a, $2 - ld [$d911], a + bit 1, a + ret z + ld de, $0001 + call PlaySoundEffect + ld a, $8 + ld [$d910], a + ld a, $2 + ld [$d911], a .asm_c18f - call Func_926 - rst $10 - call Func_c1b1 - ld a, [$d910] - cp $e - jr nz, .asm_c18f - ld hl, wScreenState - dec [hl] - ret + call Func_926 + rst $10 + call Func_c1b1 + ld a, [$d910] + cp $e + jr nz, .asm_c18f + ld hl, wScreenState + dec [hl] + ret Func_c1a2: ; 0xc1a2 - ld a, [$d910] - cp $6 - ret nz - ld hl, wTitleScreenGameStartCursorSelection - ld c, $1 - call Func_c1fc - ret + ld a, [$d910] + cp $6 + ret nz + ld hl, wTitleScreenGameStartCursorSelection + ld c, $1 + call Func_c1fc + ret Func_c1b1: ; 0xc1b1 - call Func_c2df - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_c1c1 - ld bc, $2040 - ld a, $62 - call LoadOAMData + call Func_c2df + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_c1c1 + ld bc, $2040 + ld a, $62 + call LoadOAMData .asm_c1c1 - call Func_c21d - call HandleTitlescreenPikachuBlinkingAnimation - call HandleTitlescreenPokeballAnimation - ret + call Func_c21d + call HandleTitlescreenPikachuBlinkingAnimation + call HandleTitlescreenPokeballAnimation + ret Func_c1cb: ; 0c1cb - call Func_cb5 - call Func_576 - ld a, [wTitleScreenCursorSelection] - ld c, a - ld b, $0 - ld hl, Data_c1e4 - add hl, bc - ld a, [hl] - ld [wCurrentScreen], a - xor a - ld [wScreenState], a - ret + call Func_cb5 + call Func_576 + ld a, [wTitleScreenCursorSelection] + ld c, a + ld b, $0 + ld hl, Data_c1e4 + add hl, bc + ld a, [hl] + ld [wCurrentScreen], a + xor a + ld [wScreenState], a + ret Data_c1e4: ; 0xc1e4 - db SCREEN_FIELD_SELECT, SCREEN_POKEDEX, SCREEN_OPTIONS + db SCREEN_FIELD_SELECT, SCREEN_POKEDEX, SCREEN_OPTIONS GoToHighScoresFromTitlescreen: ; 0xc1e7 - call Func_cb5 - call Func_576 - ld a, SCREEN_HIGH_SCORES - ld [wCurrentScreen], a - ld a, $1 - ld [wScreenState], a - xor a - ld [$da7f], a - ret + call Func_cb5 + call Func_576 + ld a, SCREEN_HIGH_SCORES + ld [wCurrentScreen], a + ld a, $1 + ld [wScreenState], a + xor a + ld [$da7f], a + ret Func_c1fc: ; 0xc1fc - ld a, [hPressedButtons] - ld b, a - ld a, [hl] - bit 6, b - jr z, .asm_c20f - and a - ret z - dec a - ld [hl], a - ld de, $0003 - call PlaySoundEffect - ret + ld a, [hPressedButtons] + ld b, a + ld a, [hl] + bit 6, b + jr z, .asm_c20f + and a + ret z + dec a + ld [hl], a + ld de, $0003 + call PlaySoundEffect + ret .asm_c20f - bit 7, b - ret z - cp c - ret z - inc a - ld [hl], a - ld de, $0003 - call PlaySoundEffect - ret + bit 7, b + ret z + cp c + ret z + inc a + ld [hl], a + ld de, $0003 + call PlaySoundEffect + ret Func_c21d: ; 0xc21d ; World's greatest function. - ret + ret HandleTitlescreenPikachuBlinkingAnimation: ; 0xc21e - ld a, [wTitleScreenBlinkAnimationFrame] - sla a - ld c, a - ld b, $0 - ld hl, TitleScreenBlinkAnimation - add hl, bc - ld bc, $3810 - ld a, [hl] - cp $5a ; blink animation frame 1 OAM id - call nz, LoadOAMData - ld a, [wTitleScreenBlinkAnimationCounter] - dec a - jr nz, .done - inc hl - inc hl ; hl points to next frame in TitleScreenBlinkAnimation array - ld a, [hl] - and a ; reached the end of the animation frames? - jr z, .saveAnimationFrame - ld a, [wTitleScreenBlinkAnimationFrame] - inc a + ld a, [wTitleScreenBlinkAnimationFrame] + sla a + ld c, a + ld b, $0 + ld hl, TitleScreenBlinkAnimation + add hl, bc + ld bc, $3810 + ld a, [hl] + cp $5a ; blink animation frame 1 OAM id + call nz, LoadOAMData + ld a, [wTitleScreenBlinkAnimationCounter] + dec a + jr nz, .done + inc hl + inc hl ; hl points to next frame in TitleScreenBlinkAnimation array + ld a, [hl] + and a ; reached the end of the animation frames? + jr z, .saveAnimationFrame + ld a, [wTitleScreenBlinkAnimationFrame] + inc a .saveAnimationFrame - ld [wTitleScreenBlinkAnimationFrame], a - sla a - ld c, a - ld b, $0 - ld hl, (TitleScreenBlinkAnimation + 1) - add hl, bc - ld a, [hl] ; a contains second byte in the current animation frame data - cp $3c ; is this a long-duration animation frame? - jr c, .done - ld c, a - call GenRandom - and $1f - add c + ld [wTitleScreenBlinkAnimationFrame], a + sla a + ld c, a + ld b, $0 + ld hl, (TitleScreenBlinkAnimation + 1) + add hl, bc + ld a, [hl] ; a contains second byte in the current animation frame data + cp $3c ; is this a long-duration animation frame? + jr c, .done + ld c, a + call GenRandom + and $1f + add c .done - ld [wTitleScreenBlinkAnimationCounter], a - ret + ld [wTitleScreenBlinkAnimationCounter], a + ret TitleScreenBlinkAnimation: ; 0xc25f ; Array of animation frames. The animation is looped when it finishes. ; first byte = OAM data id to load ; second byte = number of frames to show this animation. - db $5a, $c8 - db $5b, $04 - db $5c, $04 - db $5b, $04 - db $5a, $3c - db $5b, $03 - db $5c, $03 - db $5b, $03 - db $5a, $03 - db $5b, $03 - db $5c, $03 - db $5b, $03 - db $00 ; terminator + db $5a, $c8 + db $5b, $04 + db $5c, $04 + db $5b, $04 + db $5a, $3c + db $5b, $03 + db $5c, $03 + db $5b, $03 + db $5a, $03 + db $5b, $03 + db $5c, $03 + db $5b, $03 + db $00 ; terminator HandleTitlescreenPokeballAnimation: ; 0xc278 - ld a, [wTitleScreenCursorSelection] - sla a - ld c, a - ld b, $0 - ld hl, TitleScreenPokeballCoordOffsets - add hl, bc - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld e, $0 - ld a, [wScreenState] ; TODO: I think this is the "titlescreen state" byte. - cp $1 - jr nz, .loadOAM ; skip getting the correct animation frame - ld a, [wTitleScreenBouncingBallAnimationFrame] - sla a - ld e, a + ld a, [wTitleScreenCursorSelection] + sla a + ld c, a + ld b, $0 + ld hl, TitleScreenPokeballCoordOffsets + add hl, bc + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld e, $0 + ld a, [wScreenState] ; TODO: I think this is the "titlescreen state" byte. + cp $1 + jr nz, .loadOAM ; skip getting the correct animation frame + ld a, [wTitleScreenBouncingBallAnimationFrame] + sla a + ld e, a .loadOAM - ld d, $0 - ld hl, TitleScreenPokeballAnimation - add hl, de - ld a, [hl] ; a contains OAM id - call LoadOAMData - ld a, [wTitleScreenPokeballAnimationCounter] - dec a - jr nz, .done - ld a, [wTitleScreenBouncingBallAnimationFrame] - sla a - ld c, a - ld b, $0 - ld hl, (TitleScreenPokeballAnimation + 2) ; first frame of actual animation - add hl, bc - ld a, [hl] - and a - jr z, .saveAnimationFrame ; end of list? - ld a, [wTitleScreenBouncingBallAnimationFrame] - inc a + ld d, $0 + ld hl, TitleScreenPokeballAnimation + add hl, de + ld a, [hl] ; a contains OAM id + call LoadOAMData + ld a, [wTitleScreenPokeballAnimationCounter] + dec a + jr nz, .done + ld a, [wTitleScreenBouncingBallAnimationFrame] + sla a + ld c, a + ld b, $0 + ld hl, (TitleScreenPokeballAnimation + 2) ; first frame of actual animation + add hl, bc + ld a, [hl] + and a + jr z, .saveAnimationFrame ; end of list? + ld a, [wTitleScreenBouncingBallAnimationFrame] + inc a .saveAnimationFrame - ld [wTitleScreenBouncingBallAnimationFrame], a - sla a - ld c, a - ld b, $0 - ld hl, (TitleScreenPokeballAnimation + 1) ; first duration - add hl, bc - ld a, [hl] + ld [wTitleScreenBouncingBallAnimationFrame], a + sla a + ld c, a + ld b, $0 + ld hl, (TitleScreenPokeballAnimation + 1) ; first duration + add hl, bc + ld a, [hl] .done - ld [wTitleScreenPokeballAnimationCounter], a - ret + ld [wTitleScreenPokeballAnimationCounter], a + ret TitleScreenPokeballAnimation: ; 0xc2cc ; first byte = OAM id ; second byte = animation frame duration - db $5D, $02 - db $5E, $06 - db $5F, $02 - db $60, $04 - db $61, $06 - db $5F, $04 - db $00 ; terminator + db $5D, $02 + db $5E, $06 + db $5F, $02 + db $60, $04 + db $61, $06 + db $5F, $04 + db $00 ; terminator TitleScreenPokeballCoordOffsets: ; 0xc2d9 - db $67, $15 - db $73, $15 - db $7F, $15 + db $67, $15 + db $73, $15 + db $7F, $15 Func_c2df: ; 0xc2df - ld bc, $4446 ; pixel offsets, not data - ld a, [$d910] - cp $6 - jr nz, .asm_c2f0 - ld a, [wTitleScreenGameStartCursorSelection] - add $58 - jr .asm_c2fd + ld bc, $4446 ; pixel offsets, not data + ld a, [$d910] + cp $6 + jr nz, .asm_c2f0 + ld a, [wTitleScreenGameStartCursorSelection] + add $58 + jr .asm_c2fd .asm_c2f0 - ld a, [$d910] - sla a - ld e, a - ld d, $0 - ld hl, Data_c32b - add hl, de - ld a, [hl] + ld a, [$d910] + sla a + ld e, a + ld d, $0 + ld hl, Data_c32b + add hl, de + ld a, [hl] .asm_c2fd - call LoadOAMData - ld a, [$d911] - dec a - jr nz, .asm_c327 - ld a, [$d910] - sla a - ld c, a - ld b, $0 - ld hl, Data_c32b + 2 - add hl, bc - ld a, [hl] - and a - ld a, [$d910] - jr z, .asm_c31d - inc a - ld [$d910], a + call LoadOAMData + ld a, [$d911] + dec a + jr nz, .asm_c327 + ld a, [$d910] + sla a + ld c, a + ld b, $0 + ld hl, Data_c32b + 2 + add hl, bc + ld a, [hl] + and a + ld a, [$d910] + jr z, .asm_c31d + inc a + ld [$d910], a .asm_c31d - sla a - ld c, a - ld b, $0 - ld hl, Data_c32b + 1 - add hl, bc - ld a, [hl] + sla a + ld c, a + ld b, $0 + ld hl, Data_c32b + 1 + add hl, bc + ld a, [hl] .asm_c327 - ld [$d911], a - ret + ld [$d911], a + ret Data_c32b: ; 0xc32b - db $52, $02 - db $53, $02 - db $54, $02 - db $55, $02 - db $56, $02 - db $57, $02 - db $57, $02 - db $00, $00 - db $57, $02 - db $56, $02 - db $55, $02 - db $54, $02 - db $53, $02 - db $52, $02 - db $52, $02 - db $00 + db $52, $02 + db $53, $02 + db $54, $02 + db $55, $02 + db $56, $02 + db $57, $02 + db $57, $02 + db $00, $00 + db $57, $02 + db $56, $02 + db $55, $02 + db $54, $02 + db $53, $02 + db $52, $02 + db $52, $02 + db $00 HandleOptionsScreen: ; 0xc34a - ld a, [wScreenState] - rst $18 ; calls JumpToFuncInTable + ld a, [wScreenState] + rst $18 ; calls JumpToFuncInTable OptionsScreenFunctions: ; 0xc34e - dw Func_c35a - dw Func_c400 - dw Func_c483 - dw Func_c493 - dw Func_c506 - dw Func_c691 + dw Func_c35a + dw Func_c400 + dw Func_c483 + dw Func_c493 + dw Func_c506 + dw Func_c691 Func_c35a: ; 0xc35a - ld a, $47 - ld [$ff9e], a - ld a, $e4 - ld [$d80c], a - ld [$d80d], a - ld a, $d2 - ld [$d80e], a - xor a - ld [hBoardXShift], a - ld [hBoardYShift], a - ld hl, OptionsScreenVideoDataPointers - ld a, [hGameBoyColorFlag] - call LoadVideoData - call ClearOAMBuffer - ld a, $2 - ld [$d921], a - ld [$d91d], a - ld a, $9 - ld [$d91f], a - call Func_c43a - call Func_c948 - call Func_b66 - ld a, $12 - call SetSongBank - ld de, $0002 - call PlaySong - call Func_588 - ld a, [wSoundTestCurrentBackgroundMusic] - ld hl, $9967 - call RedrawSoundTestID - ld a, [wSoundTextCurrentSoundEffect] - ld hl, $99a7 - call RedrawSoundTestID - call Func_bbe - ld hl, wScreenState - inc [hl] - ret + ld a, $47 + ld [$ff9e], a + ld a, $e4 + ld [$d80c], a + ld [$d80d], a + ld a, $d2 + ld [$d80e], a + xor a + ld [hBoardXShift], a + ld [hBoardYShift], a + ld hl, OptionsScreenVideoDataPointers + ld a, [hGameBoyColorFlag] + call LoadVideoData + call ClearOAMBuffer + ld a, $2 + ld [$d921], a + ld [$d91d], a + ld a, $9 + ld [$d91f], a + call Func_c43a + call Func_c948 + call Func_b66 + ld a, $12 + call SetSongBank + ld de, $0002 + call PlaySong + call Func_588 + ld a, [wSoundTestCurrentBackgroundMusic] + ld hl, $9967 + call RedrawSoundTestID + ld a, [wSoundTextCurrentSoundEffect] + ld hl, $99a7 + call RedrawSoundTestID + call Func_bbe + ld hl, wScreenState + inc [hl] + ret OptionsScreenVideoDataPointers: ; 0xc3b9 - dw OptionsScreenVideoData_GameBoy - dw OptionsScreenVideoData_GameBoyColor + dw OptionsScreenVideoData_GameBoy + dw OptionsScreenVideoData_GameBoyColor OptionsScreenVideoData_GameBoy: ; 0xc3bd - VIDEO_DATA_TILES OptionMenuAndKeyConfigGfx, vTiles0, $1400 - VIDEO_DATA_TILEMAP OptionMenuTilemap, vBGMap0, $240 - VIDEO_DATA_TILEMAP OptionMenuTilemap2, vBGMap1, $240 - db $FF, $FF ; terminators + VIDEO_DATA_TILES OptionMenuAndKeyConfigGfx, vTiles0, $1400 + VIDEO_DATA_TILEMAP OptionMenuTilemap, vBGMap0, $240 + VIDEO_DATA_TILEMAP OptionMenuTilemap2, vBGMap1, $240 + db $FF, $FF ; terminators OptionsScreenVideoData_GameBoyColor: ; 0xc3d4 - VIDEO_DATA_TILES OptionMenuAndKeyConfigGfx, vTiles0, $1400 - VIDEO_DATA_TILEMAP OptionMenuTilemap, vBGMap0, $240 - VIDEO_DATA_TILEMAP_BANK2 OptionMenuTilemap3, vBGMap0, $240 - VIDEO_DATA_TILEMAP OptionMenuTilemap2, vBGMap1, $240 - VIDEO_DATA_TILEMAP_BANK2 OptionMenuTilemap4, vBGMap1, $240 - VIDEO_DATA_PALETTES OptionMenuPalettes, $80 - db $FF, $FF ; terminators + VIDEO_DATA_TILES OptionMenuAndKeyConfigGfx, vTiles0, $1400 + VIDEO_DATA_TILEMAP OptionMenuTilemap, vBGMap0, $240 + VIDEO_DATA_TILEMAP_BANK2 OptionMenuTilemap3, vBGMap0, $240 + VIDEO_DATA_TILEMAP OptionMenuTilemap2, vBGMap1, $240 + VIDEO_DATA_TILEMAP_BANK2 OptionMenuTilemap4, vBGMap1, $240 + VIDEO_DATA_PALETTES OptionMenuPalettes, $80 + db $FF, $FF ; terminators Func_c400: ; 0xc400 - call Func_c41a - call Func_c43a - call Func_c447 - ld a, [hNewlyPressedButtons] - bit 1, a - ret z - ld de, $0001 - call PlaySoundEffect - ld a, $2 - ld [wScreenState], a - ret + call Func_c41a + call Func_c43a + call Func_c447 + ld a, [hNewlyPressedButtons] + bit 1, a + ret z + ld de, $0001 + call PlaySoundEffect + ld a, $2 + ld [wScreenState], a + ret Func_c41a: ; 0xc41a - ld a, [hPressedButtons] - ld b, a - ld a, [$d916] - bit 6, b - jr z, .asm_c429 - and a - ret z - dec a - jr .asm_c430 + ld a, [hPressedButtons] + ld b, a + ld a, [$d916] + bit 6, b + jr z, .asm_c429 + and a + ret z + dec a + jr .asm_c430 .asm_c429 - bit 7, b - ret z - cp $2 - ret z - inc a + bit 7, b + ret z + cp $2 + ret z + inc a .asm_c430 - ld [$d916], a - ld de, $0003 - call PlaySoundEffect - ret + ld [$d916], a + ld de, $0003 + call PlaySoundEffect + ret Func_c43a: ; 0xc43a - call Func_c7ac - call Func_c80b - call Func_c88a - call Func_c92e - ret + call Func_c7ac + call Func_c80b + call Func_c88a + call Func_c92e + ret Func_c447: ; 0xc447 - ld a, [hNewlyPressedButtons] - bit BIT_A_BUTTON, a - ret z - ld de, $0001 - call PlaySoundEffect - ld a, [$d916] - and a - jr nz, .asm_c465 - ld a, [$fffb] - and a - ret nz - call Func_c4f4 - ld a, $3 - ld [wScreenState], a - ret + ld a, [hNewlyPressedButtons] + bit BIT_A_BUTTON, a + ret z + ld de, $0001 + call PlaySoundEffect + ld a, [$d916] + and a + jr nz, .asm_c465 + ld a, [$fffb] + and a + ret nz + call Func_c4f4 + ld a, $3 + ld [wScreenState], a + ret .asm_c465 - cp $1 - jr nz, .asm_c477 - call ClearOAMBuffer - ld hl, $ff9e - set 3, [hl] - ld a, $4 - ld [wScreenState], a - ret + cp $1 + jr nz, .asm_c477 + call ClearOAMBuffer + ld hl, $ff9e + set 3, [hl] + ld a, $4 + ld [wScreenState], a + ret .asm_c477 - ld de, $0000 - call PlaySong - ld a, $5 - ld [wScreenState], a - ret + ld de, $0000 + call PlaySong + ld a, $5 + ld [wScreenState], a + ret Func_c483: ; 0xc483 - call Func_cb5 - call Func_576 - ld a, SCREEN_TITLESCREEN - ld [wCurrentScreen], a - xor a - ld [wScreenState], a - ret + call Func_cb5 + call Func_576 + ld a, SCREEN_TITLESCREEN + ld [wCurrentScreen], a + xor a + ld [wScreenState], a + ret Func_c493: ; 0xc493 - call Func_c4b4 - call Func_c4e6 - call Func_c869 - ld a, [hNewlyPressedButtons] - bit BIT_B_BUTTON, a - ret z - ld de, $0001 - call PlaySoundEffect - xor a - ld [$d803], a - ld [$d804], a - ld a, $1 - ld [wScreenState], a - ret + call Func_c4b4 + call Func_c4e6 + call Func_c869 + ld a, [hNewlyPressedButtons] + bit BIT_B_BUTTON, a + ret z + ld de, $0001 + call PlaySoundEffect + xor a + ld [$d803], a + ld [$d804], a + ld a, $1 + ld [wScreenState], a + ret Func_c4b4: ; 0xc4b4 - ld a, [hNewlyPressedButtons] - ld b, a - ld a, [$d917] - bit BIT_D_LEFT, b - jr z, .asm_c4ce - and a - ret z - dec a - ld [$d917], a - call Func_c4f4 - ld de, $0003 - call PlaySoundEffect - ret + ld a, [hNewlyPressedButtons] + ld b, a + ld a, [$d917] + bit BIT_D_LEFT, b + jr z, .asm_c4ce + and a + ret z + dec a + ld [$d917], a + call Func_c4f4 + ld de, $0003 + call PlaySoundEffect + ret .asm_c4ce - bit BIT_D_RIGHT, b - ret z - cp $1 - ret z - inc a - ld [$d917], a - xor a - ld [$d803], a - ld [$d804], a - ld de, $0003 - call PlaySoundEffect - ret + bit BIT_D_RIGHT, b + ret z + cp $1 + ret z + inc a + ld [$d917], a + xor a + ld [$d803], a + ld [$d804], a + ld de, $0003 + call PlaySoundEffect + ret Func_c4e6: ; 0xc4e6 - call Func_c7ac - call Func_c80b - call Func_c88a - xor a - call Func_c8f1 - ret + call Func_c7ac + call Func_c80b + call Func_c88a + xor a + call Func_c8f1 + ret Func_c4f4: ; 0xc4f4 - xor a - ld [$d91c], a - ld [$d91e], a - ld a, $2 - ld [$d91d], a - ld a, $9 - ld [$d91f], a - ret + xor a + ld [$d91c], a + ld [$d91e], a + ld a, $2 + ld [$d91d], a + ld a, $9 + ld [$d91f], a + ret Func_c506: ; 0xc506 - call Func_c534 - call Func_c554 - call Func_c55a - ld a, [hNewlyPressedButtons] - bit BIT_B_BUTTON, a - ret z - ld de, $0001 - call PlaySoundEffect - call ClearOAMBuffer - ld hl, $ff9e - res 3, [hl] - ld hl, wKeyConfigBallStart - ld de, $a244 - ld bc, $000e - call SaveData - ld a, $1 - ld [wScreenState], a - ret + call Func_c534 + call Func_c554 + call Func_c55a + ld a, [hNewlyPressedButtons] + bit BIT_B_BUTTON, a + ret z + ld de, $0001 + call PlaySoundEffect + call ClearOAMBuffer + ld hl, $ff9e + res 3, [hl] + ld hl, wKeyConfigBallStart + ld de, $a244 + ld bc, $000e + call SaveData + ld a, $1 + ld [wScreenState], a + ret Func_c534: ; 0xc534 - ld a, [hNewlyPressedButtons] - ld b, a - ld a, [$d918] - bit BIT_D_UP, b - jr z, .asm_c543 - and a - ret z - dec a - jr .asm_c54a + ld a, [hNewlyPressedButtons] + ld b, a + ld a, [$d918] + bit BIT_D_UP, b + jr z, .asm_c543 + and a + ret z + dec a + jr .asm_c54a .asm_c543 - bit BIT_D_DOWN, b - ret z - cp $7 - ret z - inc a + bit BIT_D_DOWN, b + ret z + cp $7 + ret z + inc a .asm_c54a - ld [$d918], a - ld de, $0003 - call PlaySoundEffect - ret + ld [$d918], a + ld de, $0003 + call PlaySoundEffect + ret Func_c554: ; 0xc554 - ld a, $1 - call Func_c8f1 - ret + ld a, $1 + call Func_c8f1 + ret Func_c55a: ; 0xc55a - ld a, [$d918] - and a - jr nz, .asm_c572 - ld a, [hNewlyPressedButtons] - bit BIT_A_BUTTON, a - ret z - ld de, $0001 - call PlaySoundEffect - call SaveDefaultKeyConfigs - call Func_c948 - ret + ld a, [$d918] + and a + jr nz, .asm_c572 + ld a, [hNewlyPressedButtons] + bit BIT_A_BUTTON, a + ret z + ld de, $0001 + call PlaySoundEffect + call SaveDefaultKeyConfigs + call Func_c948 + ret .asm_c572 - ld a, [hNewlyPressedButtons] - bit BIT_A_BUTTON, a - ret z - ld de, $0001 - call PlaySoundEffect - ld bc, $001e - call Func_93f - ld a, [$d918] - dec a - sla a - ld c, a - ld b, $0 - ld hl, PointerTable_c65f - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [$d918] - dec a - sla a - call Func_c644 - ld bc, $00ff + ld a, [hNewlyPressedButtons] + bit BIT_A_BUTTON, a + ret z + ld de, $0001 + call PlaySoundEffect + ld bc, $001e + call Func_93f + ld a, [$d918] + dec a + sla a + ld c, a + ld b, $0 + ld hl, PointerTable_c65f + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [$d918] + dec a + sla a + call Func_c644 + ld bc, $00ff .asm_c59f - push bc - push hl - ld a, [$d918] - dec a - sla a - call Func_c621 - call Func_c554 - call Func_926 - rst $10 - pop hl - pop bc - ld a, [hJoypadState] - and a - jr z, .asm_c5c2 - ld c, $0 - call Func_c9be - call Func_c95f - jr .asm_c59f + push bc + push hl + ld a, [$d918] + dec a + sla a + call Func_c621 + call Func_c554 + call Func_926 + rst $10 + pop hl + pop bc + ld a, [hJoypadState] + and a + jr z, .asm_c5c2 + ld c, $0 + call Func_c9be + call Func_c95f + jr .asm_c59f .asm_c5c2 - or c - jr nz, .asm_c59f - ld a, [$d918] - dec a - sla a - call Func_c639 - push hl - ld bc, $001e - call Func_93f - pop hl - ld bc, $0020 - add hl, bc - ld a, [$d918] - dec a - sla a - inc a - call Func_c644 - ld bc, $00ff - ld d, $5a + or c + jr nz, .asm_c59f + ld a, [$d918] + dec a + sla a + call Func_c639 + push hl + ld bc, $001e + call Func_93f + pop hl + ld bc, $0020 + add hl, bc + ld a, [$d918] + dec a + sla a + inc a + call Func_c644 + ld bc, $00ff + ld d, $5a .asm_c5e9 - push bc - push de - push hl - ld a, [$d918] - dec a - sla a - inc a - call Func_c621 - call Func_c554 - call Func_926 - rst $10 - pop hl - pop de - pop bc - dec d - ret z - ld a, [hJoypadState] - and a - jr z, .asm_c613 - ld d, $ff - ld c, $0 - call Func_c9be - call Func_c95f - jr .asm_c5e9 + push bc + push de + push hl + ld a, [$d918] + dec a + sla a + inc a + call Func_c621 + call Func_c554 + call Func_926 + rst $10 + pop hl + pop de + pop bc + dec d + ret z + ld a, [hJoypadState] + and a + jr z, .asm_c613 + ld d, $ff + ld c, $0 + call Func_c9be + call Func_c95f + jr .asm_c5e9 .asm_c613 - or c - jr nz, .asm_c5e9 - ld a, [$d918] - dec a - sla a - inc a - call Func_c639 - ret + or c + jr nz, .asm_c5e9 + ld a, [$d918] + dec a + sla a + inc a + call Func_c639 + ret Func_c621: ; 0xc621 - sla a - ld c, a - ld b, $0 - ld hl, OAMPixelOffsetData_c66d - add hl, bc - ld a, [hli] - ld c, a - ld a, [hl] - ld b, a - ld a, [$ffb3] - bit 2, a - ret z - ld a, $84 - call LoadOAMData - ret + sla a + ld c, a + ld b, $0 + ld hl, OAMPixelOffsetData_c66d + add hl, bc + ld a, [hli] + ld c, a + ld a, [hl] + ld b, a + ld a, [$ffb3] + bit 2, a + ret z + ld a, $84 + call LoadOAMData + ret Func_c639: ; 0xc639 - push hl - ld e, a - ld d, $0 - ld hl, wKeyConfigBallStart - add hl, de - ld [hl], b - pop hl - ret + push hl + ld e, a + ld d, $0 + ld hl, wKeyConfigBallStart + add hl, de + ld [hl], b + pop hl + ret Func_c644: ; 0xc644 - push hl - ld c, a - ld b, $0 - ld hl, wKeyConfigBallStart - add hl, bc - ld [hl], $0 - pop hl - push hl - ld d, h - ld e, l - ld hl, Data_c689 - ld a, Bank(Data_c689) - ld bc, $0008 - call LoadVRAMData - pop hl - ret + push hl + ld c, a + ld b, $0 + ld hl, wKeyConfigBallStart + add hl, bc + ld [hl], $0 + pop hl + push hl + ld d, h + ld e, l + ld hl, Data_c689 + ld a, Bank(Data_c689) + ld bc, $0008 + call LoadVRAMData + pop hl + ret PointerTable_c65f: ; 0xc65f - dw $9C6D - dw $9CAD - dw $9CED - dw $9D2D - dw $9D6D - dw $9DAD - dw $9DED + dw $9C6D + dw $9CAD + dw $9CED + dw $9D2D + dw $9D6D + dw $9DAD + dw $9DED OAMPixelOffsetData_c66d: ; 0xc66d - dw $6018 - dw $6020 - dw $6028 - dw $6030 - dw $6038 - dw $6040 - dw $6048 - dw $6050 - dw $6058 - dw $6060 - dw $6068 - dw $6070 - dw $6078 - dw $6080 + dw $6018 + dw $6020 + dw $6028 + dw $6030 + dw $6038 + dw $6040 + dw $6048 + dw $6050 + dw $6058 + dw $6060 + dw $6068 + dw $6070 + dw $6078 + dw $6080 Data_c689: ; 0xc689 - db $81, $81, $81, $81, $81, $81, $81, $81 + db $81, $81, $81, $81, $81, $81, $81, $81 Func_c691: ; 0xc91 - call Func_c6bf - call Func_c6d9 - call Func_c6e8 - ld a, [hNewlyPressedButtons] - bit BIT_B_BUTTON, a - ret z - ld de, $0000 - call PlaySong - rst $10 - rst $10 - rst $10 - ld a, $12 - call SetSongBank - ld de, $0002 - call PlaySong - ld de, $0001 - call PlaySoundEffect - ld a, $1 - ld [wScreenState], a - ret + call Func_c6bf + call Func_c6d9 + call Func_c6e8 + ld a, [hNewlyPressedButtons] + bit BIT_B_BUTTON, a + ret z + ld de, $0000 + call PlaySong + rst $10 + rst $10 + rst $10 + ld a, $12 + call SetSongBank + ld de, $0002 + call PlaySong + ld de, $0001 + call PlaySoundEffect + ld a, $1 + ld [wScreenState], a + ret Func_c6bf: ; 0xc6bf - ld a, [hNewlyPressedButtons] - ld b, a - ld a, [$d919] - bit BIT_D_UP, b - jr z, .asm_c6ce - and a - ret z - dec a - jr .asm_c6d5 + ld a, [hNewlyPressedButtons] + ld b, a + ld a, [$d919] + bit BIT_D_UP, b + jr z, .asm_c6ce + and a + ret z + dec a + jr .asm_c6d5 .asm_c6ce - bit BIT_D_DOWN, b - ret z - cp $1 - ret z - inc a + bit BIT_D_DOWN, b + ret z + cp $1 + ret z + inc a .asm_c6d5 - ld [$d919], a - ret + ld [$d919], a + ret Func_c6d9: ; 0xc6d9 - call Func_c7ac - call Func_c80b - call Func_c88a - ld a, $2 - call Func_c8f1 - ret + call Func_c7ac + call Func_c80b + call Func_c88a + ld a, $2 + call Func_c8f1 + ret Func_c6e8: ; 0xc6e8 - ld a, [$d919] - and a - jr nz, UpdateSoundTestSoundEffectSelection - ld a, [hNewlyPressedButtons] - bit BIT_A_BUTTON, a - jr z, UpdateSoundTestBackgroundMusicSelection - ld de, $0000 - call PlaySong - rst $10 - rst $10 - rst $10 - ld a, [wSoundTestCurrentBackgroundMusic] - sla a - ld c, a - ld b, $0 - ld hl, SongBanks - add hl, bc - ld a, [hli] - ld e, a - ld d, $0 - ld a, [hl] - call SetSongBank - call PlaySong - ret + ld a, [$d919] + and a + jr nz, UpdateSoundTestSoundEffectSelection + ld a, [hNewlyPressedButtons] + bit BIT_A_BUTTON, a + jr z, UpdateSoundTestBackgroundMusicSelection + ld de, $0000 + call PlaySong + rst $10 + rst $10 + rst $10 + ld a, [wSoundTestCurrentBackgroundMusic] + sla a + ld c, a + ld b, $0 + ld hl, SongBanks + add hl, bc + ld a, [hli] + ld e, a + ld d, $0 + ld a, [hl] + call SetSongBank + call PlaySong + ret UpdateSoundTestBackgroundMusicSelection: ; 0xc715 - ld a, [hPressedButtons] ; joypad state - ld b, a - ld a, [wSoundTestCurrentBackgroundMusic] - bit BIT_D_LEFT, b ; was the left dpad button pressed? - jr z, .checkIfRightPressed - dec a ; decrement background music id - bit 7, a ; did it wrap around to $ff? - jr z, .saveBackgroundMusicID - ld a, NUM_SONGS - 1 - jr .saveBackgroundMusicID + ld a, [hPressedButtons] ; joypad state + ld b, a + ld a, [wSoundTestCurrentBackgroundMusic] + bit BIT_D_LEFT, b ; was the left dpad button pressed? + jr z, .checkIfRightPressed + dec a ; decrement background music id + bit 7, a ; did it wrap around to $ff? + jr z, .saveBackgroundMusicID + ld a, NUM_SONGS - 1 + jr .saveBackgroundMusicID .checkIfRightPressed - bit BIT_D_RIGHT, b ; was the right dpad button pressed? - ret z - inc a ; increment background music id - cp NUM_SONGS ; should it wrap around to 0? - jr nz, .saveBackgroundMusicID - xor a + bit BIT_D_RIGHT, b ; was the right dpad button pressed? + ret z + inc a ; increment background music id + cp NUM_SONGS ; should it wrap around to 0? + jr nz, .saveBackgroundMusicID + xor a .saveBackgroundMusicID - ld [wSoundTestCurrentBackgroundMusic], a - hlCoord 7, 11, vBGMap0 - jp RedrawSoundTestID + ld [wSoundTestCurrentBackgroundMusic], a + hlCoord 7, 11, vBGMap0 + jp RedrawSoundTestID UpdateSoundTestSoundEffectSelection: ; 0xc73a - ld a, [hNewlyPressedButtons] ; joypad state - bit BIT_A_BUTTON, a - jr z, .didntPressAButton - ld a, [wSoundTextCurrentSoundEffect] - ld e, a - ld d, $0 - call PlaySoundEffect - ret + ld a, [hNewlyPressedButtons] ; joypad state + bit BIT_A_BUTTON, a + jr z, .didntPressAButton + ld a, [wSoundTextCurrentSoundEffect] + ld e, a + ld d, $0 + call PlaySoundEffect + ret .didntPressAButton - ld a, [hPressedButtons] ; joypad state - ld b, a - ld a, [wSoundTextCurrentSoundEffect] - bit BIT_D_LEFT, b ; was the left dpad button pressed? - jr z, .checkIfRightPressed - dec a ; decrement sound effect id - bit 7, a ; did it wrap around to $ff? - jr z, .saveSoundEffectID - ld a, NUM_SOUND_EFFECTS - 1 - jr .saveSoundEffectID + ld a, [hPressedButtons] ; joypad state + ld b, a + ld a, [wSoundTextCurrentSoundEffect] + bit BIT_D_LEFT, b ; was the left dpad button pressed? + jr z, .checkIfRightPressed + dec a ; decrement sound effect id + bit 7, a ; did it wrap around to $ff? + jr z, .saveSoundEffectID + ld a, NUM_SOUND_EFFECTS - 1 + jr .saveSoundEffectID .checkIfRightPressed - bit BIT_D_RIGHT, b ; was the right dpad button pressed? - ret z - inc a ; increment background music id - cp NUM_SOUND_EFFECTS ; should it wrap around to 0? - jr nz, .saveSoundEffectID - xor a + bit BIT_D_RIGHT, b ; was the right dpad button pressed? + ret z + inc a ; increment background music id + cp NUM_SOUND_EFFECTS ; should it wrap around to 0? + jr nz, .saveSoundEffectID + xor a .saveSoundEffectID - ld [wSoundTextCurrentSoundEffect], a - hlCoord 7, 13, vBGMap0 - ; fall through + ld [wSoundTextCurrentSoundEffect], a + hlCoord 7, 13, vBGMap0 + ; fall through RedrawSoundTestID: ; 0xc76c ; Redraws the 2-digit id number for the sound test's current background music or sound effect id. ; input: a = id number ; hl = pointer to bg map location where the new 2-digit id should be drawn - push af ; save music or sound effect id number - swap a - and $f ; a contains high nybble of music id - call .drawDigit - pop af - and $f ; a contains low nybble of music id + push af ; save music or sound effect id number + swap a + and $f ; a contains high nybble of music id + call .drawDigit + pop af + and $f ; a contains low nybble of music id .drawDigit - add $b7 ; hexadecimal digit tiles start at tile number $b7 - call PutTileInVRAM - inc hl - ret + add $b7 ; hexadecimal digit tiles start at tile number $b7 + call PutTileInVRAM + inc hl + ret SongBanks: ; 0xc77e db MUSIC_NOTHING_0F,BANK(Music_Nothing0F) @@ -13593,6675 +13655,6656 @@ SongBanks: ; 0xc77e db MUSIC_NAME_ENTRY,BANK(Music_NameEntry) Func_c7ac: ; 0xc7ac - ld c, $0 - ld a, [wScreenState] - cp $1 - jr z, .asm_c7cc - ld a, [$d916] - and a - jr nz, .asm_c7cc - ld a, [$d917] - and a - jr nz, .asm_c7cc - ld a, [$d91e] - cp $4 - jr nz, .asm_c7cc - ld a, [$d91c] - ld c, a + ld c, $0 + ld a, [wScreenState] + cp $1 + jr z, .asm_c7cc + ld a, [$d916] + and a + jr nz, .asm_c7cc + ld a, [$d917] + and a + jr nz, .asm_c7cc + ld a, [$d91e] + cp $4 + jr nz, .asm_c7cc + ld a, [$d91c] + ld c, a .asm_c7cc - sla c - ld b, $0 - ld hl, Data_c806 - add hl, bc - ld a, [hl] - ld bc, $5050 - call LoadOAMData - ld a, [$d91d] - dec a - jr nz, .asm_c802 - ld a, [$d91c] - sla a - ld c, a - ld b, $0 - ld hl, Data_c806 + 2 - add hl, bc - ld a, [hl] - and a - jr z, .asm_c7f5 - ld a, [$d91c] - inc a + sla c + ld b, $0 + ld hl, Data_c806 + add hl, bc + ld a, [hl] + ld bc, $5050 + call LoadOAMData + ld a, [$d91d] + dec a + jr nz, .asm_c802 + ld a, [$d91c] + sla a + ld c, a + ld b, $0 + ld hl, Data_c806 + 2 + add hl, bc + ld a, [hl] + and a + jr z, .asm_c7f5 + ld a, [$d91c] + inc a .asm_c7f5 - ld [$d91c], a - sla a - ld c, a - ld b, $0 - ld hl, Data_c806 + 1 - add hl, bc - ld a, [hl] + ld [$d91c], a + sla a + ld c, a + ld b, $0 + ld hl, Data_c806 + 1 + add hl, bc + ld a, [hl] .asm_c802 - ld [$d91d], a - ret + ld [$d91d], a + ret Data_c806: ; 0xc806 - db $7B, $02, $7C, $02, $00 + db $7B, $02, $7C, $02, $00 Func_c80b: ; 0xc80b - ld c, $0 - ld a, [wScreenState] - cp $1 - jr z, .asm_c824 - ld a, [$d916] - and a - jr nz, .asm_c824 - ld a, [$d917] - and a - jr nz, .asm_c824 - ld a, [$d91e] - ld c, a + ld c, $0 + ld a, [wScreenState] + cp $1 + jr z, .asm_c824 + ld a, [$d916] + and a + jr nz, .asm_c824 + ld a, [$d917] + and a + jr nz, .asm_c824 + ld a, [$d91e] + ld c, a .asm_c824 - sla c - ld b, $0 - ld hl, Data_c85e - add hl, bc - ld bc, $7870 - ld a, [hl] - call LoadOAMData - ld a, [$d91f] - dec a - jr nz, .asm_c85a - ld a, [$d91e] - sla a - ld c, a - ld b, $0 - ld hl, Data_c85e + 2 - add hl, bc - ld a, [hl] - and a - ld a, [$d91e] - jr z, .asm_c850 - inc a - ld [$d91e], a + sla c + ld b, $0 + ld hl, Data_c85e + add hl, bc + ld bc, $7870 + ld a, [hl] + call LoadOAMData + ld a, [$d91f] + dec a + jr nz, .asm_c85a + ld a, [$d91e] + sla a + ld c, a + ld b, $0 + ld hl, Data_c85e + 2 + add hl, bc + ld a, [hl] + and a + ld a, [$d91e] + jr z, .asm_c850 + inc a + ld [$d91e], a .asm_c850 - sla a - ld c, a - ld b, $0 - ld hl, Data_c85e + 1 - add hl, bc - ld a, [hl] + sla a + ld c, a + ld b, $0 + ld hl, Data_c85e + 1 + add hl, bc + ld a, [hl] .asm_c85a - ld [$d91f], a - ret + ld [$d91f], a + ret Data_c85e: ; 0xc85e - db $77, $09, $78, $09, $79, $09, $7A, $0D, $7A, $01, $00 + db $77, $09, $78, $09, $79, $09, $7A, $0D, $7A, $01, $00 Func_c869: ; 0xc869 - ld a, [$d916] - and a - ret nz - ld a, [$d917] - and a - ret nz - ld a, [$d91e] - cp $3 - ret nz - ld a, [$d91f] - cp $1 - ret nz - ld a, $55 - ld [$d803], a - ld a, $40 - ld [$d804], a - ret + ld a, [$d916] + and a + ret nz + ld a, [$d917] + and a + ret nz + ld a, [$d91e] + cp $3 + ret nz + ld a, [$d91f] + cp $1 + ret nz + ld a, $55 + ld [$d803], a + ld a, $40 + ld [$d804], a + ret Func_c88a: ; 0xc88a - ld a, [$d916] - sla a - ld c, a - ld b, $0 - ld hl, Data_c8eb - add hl, bc - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld e, $0 - ld a, [wScreenState] - cp $1 - jr nz, .asm_c8a9 - ld a, [$d920] - sla a - ld e, a + ld a, [$d916] + sla a + ld c, a + ld b, $0 + ld hl, Data_c8eb + add hl, bc + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld e, $0 + ld a, [wScreenState] + cp $1 + jr nz, .asm_c8a9 + ld a, [$d920] + sla a + ld e, a .asm_c8a9 - ld d, $0 - ld hl, Data_c8de - add hl, de - ld a, [hl] - call LoadOAMData - ld a, [$d921] - dec a - jr nz, .asm_c8da - ld a, [$d920] - sla a - ld c, a - ld b, $0 - ld hl, Data_c8de + 2 - add hl, bc - ld a, [hl] - and a - jr z, .asm_c8cd - ld a, [$d920] - inc a + ld d, $0 + ld hl, Data_c8de + add hl, de + ld a, [hl] + call LoadOAMData + ld a, [$d921] + dec a + jr nz, .asm_c8da + ld a, [$d920] + sla a + ld c, a + ld b, $0 + ld hl, Data_c8de + 2 + add hl, bc + ld a, [hl] + and a + jr z, .asm_c8cd + ld a, [$d920] + inc a .asm_c8cd - ld [$d920], a - sla a - ld c, a - ld b, $0 - ld hl, Data_c8de + 1 - add hl, bc - ld a, [hl] + ld [$d920], a + sla a + ld c, a + ld b, $0 + ld hl, Data_c8de + 1 + add hl, bc + ld a, [hl] .asm_c8da - ld [$d921], a - ret + ld [$d921], a + ret Data_c8de: ; 0xc8de - db $7D, $02, $7E, $06, $7F, $02, $80, $04, $81, $06, $7F, $04, $00 + db $7D, $02, $7E, $06, $7F, $02, $80, $04, $81, $06, $7F, $04, $00 Data_c8eb: ; 0xc8eb - db $18, $08, $30, $08, $48, $08 + db $18, $08, $30, $08, $48, $08 Func_c8f1: ; 0xc8f1 - ld c, a - ld b, $0 - ld hl, $d917 - add hl, bc - ld e, [hl] - sla c - ld hl, PointerTable_c910 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld c, e - sla c - add hl, bc - ld a, [hli] - ld c, a - ld a, [hl] - ld b, a - ld a, $82 - call LoadOAMData - ret + ld c, a + ld b, $0 + ld hl, $d917 + add hl, bc + ld e, [hl] + sla c + ld hl, PointerTable_c910 + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld c, e + sla c + add hl, bc + ld a, [hli] + ld c, a + ld a, [hl] + ld b, a + ld a, $82 + call LoadOAMData + ret PointerTable_c910: ; 0xc910 - dw OAMPixelOffsetData_c916 - dw OAMPixelOffsetData_c91a - dw OAMPixelOffsetData_c92a + dw OAMPixelOffsetData_c916 + dw OAMPixelOffsetData_c91a + dw OAMPixelOffsetData_c92a OAMPixelOffsetData_c916: ; 0xc916 - dw $5018 - dw $7018 + dw $5018 + dw $7018 OAMPixelOffsetData_c91a: ; 0xc91a - dw $0808 - dw $0818 - dw $0828 - dw $0838 - dw $0848 - dw $0858 - dw $0868 - dw $0878 + dw $0808 + dw $0818 + dw $0828 + dw $0838 + dw $0848 + dw $0858 + dw $0868 + dw $0878 OAMPixelOffsetData_c92a: ; 0xc92a - dw $1058 - dw $1068 + dw $1058 + dw $1068 Func_c92e: ; 0xc92e - ld a, [$d917] - sla a - ld c, a - ld b, $0 - ld hl, OAMPixelOffsetData_c944 - add hl, bc - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, $85 - call LoadOAMData - ret + ld a, [$d917] + sla a + ld c, a + ld b, $0 + ld hl, OAMPixelOffsetData_c944 + add hl, bc + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, $85 + call LoadOAMData + ret OAMPixelOffsetData_c944: ; 0xc944 - dw $5018 - dw $7018 + dw $5018 + dw $7018 Func_c948: ; 0xc948 - ld hl, $9c6d - ld de, wKeyConfigBallStart - ld b, $e + ld hl, $9c6d + ld de, wKeyConfigBallStart + ld b, $e .asm_c950 - push bc - ld a, [de] - call Func_c95f - inc de - ld bc, $0020 - add hl, bc - pop bc - dec b - jr nz, .asm_c950 - ret + push bc + ld a, [de] + call Func_c95f + inc de + ld bc, $0020 + add hl, bc + pop bc + dec b + jr nz, .asm_c950 + ret Func_c95f: ; 0xc95f - push bc - push de - push hl - push hl - push af - ld hl, $d922 - ld a, $81 - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a - pop af - ld hl, $d922 - ld de, Data_c9ae - ld b, $8 + push bc + push de + push hl + push hl + push af + ld hl, $d922 + ld a, $81 + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hl], a + pop af + ld hl, $d922 + ld de, Data_c9ae + ld b, $8 .asm_c979 - srl a - push af - jr nc, .asm_c994 - ld a, [de] - inc de - call Func_c9aa - ld a, [de] - inc de - call Func_c9aa - pop af - push af - and a - jr z, .asm_c996 - ld a, $1a - call Func_c9aa - jr .asm_c996 + srl a + push af + jr nc, .asm_c994 + ld a, [de] + inc de + call Func_c9aa + ld a, [de] + inc de + call Func_c9aa + pop af + push af + and a + jr z, .asm_c996 + ld a, $1a + call Func_c9aa + jr .asm_c996 .asm_c994 - inc de - inc de + inc de + inc de .asm_c996 - pop af - dec b - jr nz, .asm_c979 - pop de - ld hl, $d922 - ld a, $0 - ld bc, $0008 - call Func_735 - pop hl - pop de - pop bc - ret + pop af + dec b + jr nz, .asm_c979 + pop de + ld hl, $d922 + ld a, $0 + ld bc, $0008 + call Func_735 + pop hl + pop de + pop bc + ret Func_c9aa: ; 0xc9aa - and a - ret z - ld [hli], a - ret + and a + ret z + ld [hli], a + ret Data_c9ae: ; 0xc9ae - db $14, $00, $15, $00, $18, $19, $16, $17, $13, $00, $12, $00, $10, $00, $11, $00 + db $14, $00, $15, $00, $18, $19, $16, $17, $13, $00, $12, $00, $10, $00, $11, $00 Func_c9be: ; 0xc9be - push af - push bc - push hl - ld c, a - xor b - and c - ld hl, $d936 - call Func_c9ff - ld a, b - ld hl, $d93f - call Func_c9ff - ld a, [$d947] - cp $3 - jr nc, .asm_c9f3 - ld hl, $d93e - add [hl] - sub $4 - ld hl, $d936 - call nc, Func_ca15 - ld de, $d936 - ld hl, $d93f - ld b, $8 + push af + push bc + push hl + ld c, a + xor b + and c + ld hl, $d936 + call Func_c9ff + ld a, b + ld hl, $d93f + call Func_c9ff + ld a, [$d947] + cp $3 + jr nc, .asm_c9f3 + ld hl, $d93e + add [hl] + sub $4 + ld hl, $d936 + call nc, Func_ca15 + ld de, $d936 + ld hl, $d93f + ld b, $8 .asm_c9ec - ld a, [de] - or [hl] - ld [hli], a - inc de - dec b - jr nz, .asm_c9ec + ld a, [de] + or [hl] + ld [hli], a + inc de + dec b + jr nz, .asm_c9ec .asm_c9f3 - ld hl, $d93f - call Func_ca29 - pop hl - pop bc - ld b, a - pop af - ld a, b - ret + ld hl, $d93f + call Func_ca29 + pop hl + pop bc + ld b, a + pop af + ld a, b + ret Func_c9ff: ; 0xc9ff - push bc - ld bc, $0800 + push bc + ld bc, $0800 .asm_ca03 - sla a - jr nc, .asm_ca0c - ld [hl], $ff - inc c - jr .asm_ca0e + sla a + jr nc, .asm_ca0c + ld [hl], $ff + inc c + jr .asm_ca0e .asm_ca0c - ld [hl], $0 + ld [hl], $0 .asm_ca0e - inc hl - dec b - jr nz, .asm_ca03 - ld [hl], c - pop bc - ret + inc hl + dec b + jr nz, .asm_ca03 + ld [hl], c + pop bc + ret Func_ca15: ; 0xca15 - push bc - inc a - ld c, a - ld b, $8 + push bc + inc a + ld c, a + ld b, $8 .asm_ca1a - ld a, [hl] - and a - jr z, .asm_ca23 - ld [hl], $0 - dec c - jr z, .asm_ca27 + ld a, [hl] + and a + jr z, .asm_ca23 + ld [hl], $0 + dec c + jr z, .asm_ca27 .asm_ca23 - inc hl - dec b - jr nz, .asm_ca1a + inc hl + dec b + jr nz, .asm_ca1a .asm_ca27 - pop bc - ret + pop bc + ret Func_ca29: ; 0ca29 - push bc - ld bc, $0800 + push bc + ld bc, $0800 .asm_ca2d - ld a, [hli] - and a - jr z, .asm_ca32 - scf + ld a, [hli] + and a + jr z, .asm_ca32 + scf .asm_ca32 - rl c - dec b - jr nz, .asm_ca2d - ld a, c - pop bc - ret + rl c + dec b + jr nz, .asm_ca2d + ld a, c + pop bc + ret SaveDefaultKeyConfigs: ; 0ca3a - ld hl, DefaultKeyConfigs - ld de, wKeyConfigs - ld b, $e + ld hl, DefaultKeyConfigs + ld de, wKeyConfigs + ld b, $e .loop - ld a, [hli] - ld [de], a - inc de - dec b - jr nz, .loop - ld hl, wKeyConfigs - ld de, $a244 - ld bc, $000e - call SaveData - ret + ld a, [hli] + ld [de], a + inc de + dec b + jr nz, .loop + ld hl, wKeyConfigs + ld de, $a244 + ld bc, $000e + call SaveData + ret DefaultKeyConfigs: ; 0xca55 - db A_BUTTON, $00 ; wKeyConfigBallStart - db D_LEFT, $00 ; wKeyConfigLeftFlipper - db A_BUTTON, $00 ; wKeyConfigRightFlipper - db D_DOWN, $00 ; wKeyConfigLeftTilt - db B_BUTTON, $00 ; wKeyConfigRightTilt - db SELECT, $00 ; wKeyConfigUpperTilt - db START, $00 ; wKeyConfigMenu + db A_BUTTON, $00 ; wKeyConfigBallStart + db D_LEFT, $00 ; wKeyConfigLeftFlipper + db A_BUTTON, $00 ; wKeyConfigRightFlipper + db D_DOWN, $00 ; wKeyConfigLeftTilt + db B_BUTTON, $00 ; wKeyConfigRightTilt + db SELECT, $00 ; wKeyConfigUpperTilt + db START, $00 ; wKeyConfigMenu -INCBIN "baserom.gbc",$ca63,$ca7f - $ca63 + dr $ca63, $ca7f HandleHighScoresScreen: ; 0xca7f - ld a, [wScreenState] - rst $18 ; calls JumpToFuncInTable + ld a, [wScreenState] + rst $18 ; calls JumpToFuncInTable HighScoresScreenFunctions: ; 0xca83 - dw Func_ca8f - dw Func_cb14 - dw Func_ccac - dw Func_ccb6 - dw Func_cd6c - dw ExitHighScoresScreen + dw Func_ca8f + dw Func_cb14 + dw Func_ccac + dw Func_ccb6 + dw Func_cd6c + dw ExitHighScoresScreen Func_ca8f: ; 0xca8f - ld hl, $d473 - call GenRandom - ld [hli], a - call GenRandom - ld [hli], a - call GenRandom - ld [hli], a - call GenRandom - ld [hli], a - ld hl, $da36 - ld a, [wHighScoresStage] - and a - jr z, .asm_caae - ld hl, $da77 + ld hl, $d473 + call GenRandom + ld [hli], a + call GenRandom + ld [hli], a + call GenRandom + ld [hli], a + call GenRandom + ld [hli], a + ld hl, $da36 + ld a, [wHighScoresStage] + and a + jr z, .asm_caae + ld hl, $da77 .asm_caae - ld b, $5 + ld b, $5 .asm_cab0 - ld de, $d46f - ld c, $6 + ld de, $d46f + ld c, $6 .asm_cab5 - ld a, [de] - cp [hl] - jr c, .asm_cad0 - jr nz, .asm_cac2 - dec de - dec hl - dec c - jr nz, .asm_cab5 - jr .asm_cad0 + ld a, [de] + cp [hl] + jr c, .asm_cad0 + jr nz, .asm_cac2 + dec de + dec hl + dec c + jr nz, .asm_cab5 + jr .asm_cad0 .asm_cac2 - dec hl - dec c - jr nz, .asm_cac2 - ld a, l - sub $7 - ld l, a - jr nc, .asm_cacd - dec h + dec hl + dec c + jr nz, .asm_cac2 + ld a, l + sub $7 + ld l, a + jr nc, .asm_cacd + dec h .asm_cacd - dec b - jr nz, .asm_cab0 + dec b + jr nz, .asm_cab0 .asm_cad0 - ld a, b - ld [$da81], a - xor a - ld [$da80], a - inc b - ld hl, $da30 - ld de, $da3d - ld a, [wHighScoresStage] - and a - jr z, .asm_caeb - ld hl, $da71 - ld de, $da7e + ld a, b + ld [$da81], a + xor a + ld [$da80], a + inc b + ld hl, $da30 + ld de, $da3d + ld a, [wHighScoresStage] + and a + jr z, .asm_caeb + ld hl, $da71 + ld de, $da7e .asm_caeb - ld a, $5 + ld a, $5 .asm_caed - cp b - jr c, .asm_cb02 - push af - jr nz, .asm_caf6 - ld hl, $d476 + cp b + jr c, .asm_cb02 + push af + jr nz, .asm_caf6 + ld hl, $d476 .asm_caf6 - ld c, $d + ld c, $d .asm_caf8 - ld a, [hld] - ld [de], a - dec de - dec c - jr nz, .asm_caf8 - pop af - dec a - jr nz, .asm_caed + ld a, [hld] + ld [de], a + dec de + dec c + jr nz, .asm_caf8 + pop af + dec a + jr nz, .asm_caed .asm_cb02 - ld a, [$da81] - cp $5 - ld a, $1 - jr nz, .asm_cb0c - xor a + ld a, [$da81] + cp $5 + ld a, $1 + jr nz, .asm_cb0c + xor a .asm_cb0c - ld [$da7f], a - ld hl, wScreenState - inc [hl] - ret + ld [$da7f], a + ld hl, wScreenState + inc [hl] + ret Func_cb14: ; 0xcb14 - ld a, $43 - ld [$ff9e], a - ld a, $e0 - ld [$d80c], a - ld a, $e1 - ld [$d80d], a - ld [$d80e], a - xor a - ld [hBoardXShift], a - ld [$ffab], a - ld [hBoardYShift], a - ld [$ffad], a - ld a, $e - ld [$ffa2], a - ld [$ffa8], a - ld a, $82 - ld [$ffa9], a - ld [$ffaa], a - ld hl, $ff9f - set 6, [hl] - ld hl, $ffff - set 1, [hl] - ld a, $3 - ld [$ffb0], a - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_cb51 - ld a, [wHighScoresStage] - inc a + ld a, $43 + ld [$ff9e], a + ld a, $e0 + ld [$d80c], a + ld a, $e1 + ld [$d80d], a + ld [$d80e], a + xor a + ld [hBoardXShift], a + ld [$ffab], a + ld [hBoardYShift], a + ld [$ffad], a + ld a, $e + ld [$ffa2], a + ld [$ffa8], a + ld a, $82 + ld [$ffa9], a + ld [$ffaa], a + ld hl, $ff9f + set 6, [hl] + ld hl, rIE + set 1, [hl] + ld a, $3 + ld [$ffb0], a + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_cb51 + ld a, [wHighScoresStage] + inc a .asm_cb51 - ld hl, HighScoresVideoDataPointers - call LoadVideoData - call ClearOAMBuffer - ld a, $20 - ld [$da82], a - call Func_d211 - ld hl, $99c0 - ld de, $da3d - call Func_d2cb - ld hl, $9dc0 - ld de, $da7e - call Func_d2cb - ld a, [wHighScoresStage] - and a - jr z, .asm_cb7f - ld hl, $ff9e - set 3, [hl] + ld hl, HighScoresVideoDataPointers + call LoadVideoData + call ClearOAMBuffer + ld a, $20 + ld [$da82], a + call Func_d211 + ld hl, $99c0 + ld de, $da3d + call Func_d2cb + ld hl, $9dc0 + ld de, $da7e + call Func_d2cb + ld a, [wHighScoresStage] + and a + jr z, .asm_cb7f + ld hl, $ff9e + set 3, [hl] .asm_cb7f - call Func_b66 - ld a, [$da7f] - and a - jr z, .asm_cbbd - ld a, [$da81] - and a - jr nz, .asm_cb9b - ld a, $13 - call SetSongBank - ld de, $0001 - call PlaySong - jr .asm_cba6 + call Func_b66 + ld a, [$da7f] + and a + jr z, .asm_cbbd + ld a, [$da81] + and a + jr nz, .asm_cb9b + ld a, $13 + call SetSongBank + ld de, $0001 + call PlaySong + jr .asm_cba6 .asm_cb9b - ld a, $13 - call SetSongBank - ld de, $0002 - call PlaySong + ld a, $13 + call SetSongBank + ld de, $0002 + call PlaySong .asm_cba6 - call Func_588 - ld bc, $0009 - call Func_d68a - ld bc, $03c9 - call Func_d68a - call Func_bbe - ld hl, wScreenState - inc [hl] - ret + call Func_588 + ld bc, $0009 + call Func_d68a + ld bc, $03c9 + call Func_d68a + call Func_bbe + ld hl, wScreenState + inc [hl] + ret .asm_cbbd - ld a, $10 - call SetSongBank - ld de, $0004 - call PlaySong - call Func_588 - ld bc, $0009 - call Func_d68a - ld bc, $03c9 - call Func_d68a - call Func_bbe - ld hl, wScreenState - inc [hl] - ld hl, wScreenState - inc [hl] - ret + ld a, $10 + call SetSongBank + ld de, $0004 + call PlaySong + call Func_588 + ld bc, $0009 + call Func_d68a + ld bc, $03c9 + call Func_d68a + call Func_bbe + ld hl, wScreenState + inc [hl] + ld hl, wScreenState + inc [hl] + ret HighScoresVideoDataPointers: ; 0xcbe3 - dw HighScoresVideoData_GameBoy - dw HighScoresRedStageVideoData_GameBoyColor - dw HighScoresBlueStageVideoData_GameBoyColor + dw HighScoresVideoData_GameBoy + dw HighScoresRedStageVideoData_GameBoyColor + dw HighScoresBlueStageVideoData_GameBoyColor HighScoresVideoData_GameBoy: ; 0xcbe9 - VIDEO_DATA_TILES HighScoresBaseGameBoyGfx, vTiles0, $1800 - VIDEO_DATA_TILEMAP HighScoresTilemap, vBGMap0, $400 - VIDEO_DATA_TILEMAP HighScoresTilemap2, vBGMap1, $400 + VIDEO_DATA_TILES HighScoresBaseGameBoyGfx, vTiles0, $1800 + VIDEO_DATA_TILEMAP HighScoresTilemap, vBGMap0, $400 + VIDEO_DATA_TILEMAP HighScoresTilemap2, vBGMap1, $400 - dw HighScoresTilemap + $3c0 - db Bank(HighScoresTilemap) - dw vBGMap0 - dw ($40 << 2) + dw HighScoresTilemap + $3c0 + db Bank(HighScoresTilemap) + dw vBGMap0 + dw ($40 << 2) - dw HighScoresTilemap + $280 - db Bank(HighScoresTilemap) - dw vBGMap0 + $200 - dw ($40 << 2) + dw HighScoresTilemap + $280 + db Bank(HighScoresTilemap) + dw vBGMap0 + $200 + dw ($40 << 2) - dw HighScoresTilemap2 + $3c0 - db Bank(HighScoresTilemap2) - dw vBGMap1 - dw ($40 << 2) + dw HighScoresTilemap2 + $3c0 + db Bank(HighScoresTilemap2) + dw vBGMap1 + dw ($40 << 2) - dw HighScoresTilemap2 + $280 - db Bank(HighScoresTilemap2) - dw vBGMap1 + $200 - dw ($40 << 2) + dw HighScoresTilemap2 + $280 + db Bank(HighScoresTilemap2) + dw vBGMap1 + $200 + dw ($40 << 2) - db $FF, $FF ; terminators + db $FF, $FF ; terminators HighScoresRedStageVideoData_GameBoyColor: ; 0xcc1c - VIDEO_DATA_TILES HighScoresBaseGameBoyGfx, vTiles0, $1800 - VIDEO_DATA_TILEMAP HighScoresTilemap, vBGMap0, $400 - VIDEO_DATA_TILEMAP HighScoresTilemap2, vBGMap1, $400 - VIDEO_DATA_TILEMAP_BANK2 HighScoresTilemap4, vBGMap0, $400 - VIDEO_DATA_TILEMAP_BANK2 HighScoresTilemap5, vBGMap1, $400 - - dw HighScoresTilemap + $3c0 - db Bank(HighScoresTilemap) - dw vBGMap0 - dw ($40 << 2) - - dw HighScoresTilemap + $280 - db Bank(HighScoresTilemap) - dw vBGMap0 + $200 - dw ($40 << 2) - - dw HighScoresTilemap2 + $3c0 - db Bank(HighScoresTilemap2) - dw vBGMap1 - dw ($40 << 2) - - dw HighScoresTilemap2 + $280 - db Bank(HighScoresTilemap2) - dw vBGMap1 + $200 - dw ($40 << 2) - - VIDEO_DATA_PALETTES HighScoresRedStagePalettes, $80 - db $FF, $FF + VIDEO_DATA_TILES HighScoresBaseGameBoyGfx, vTiles0, $1800 + VIDEO_DATA_TILEMAP HighScoresTilemap, vBGMap0, $400 + VIDEO_DATA_TILEMAP HighScoresTilemap2, vBGMap1, $400 + VIDEO_DATA_TILEMAP_BANK2 HighScoresTilemap4, vBGMap0, $400 + VIDEO_DATA_TILEMAP_BANK2 HighScoresTilemap5, vBGMap1, $400 + + dw HighScoresTilemap + $3c0 + db Bank(HighScoresTilemap) + dw vBGMap0 + dw ($40 << 2) + + dw HighScoresTilemap + $280 + db Bank(HighScoresTilemap) + dw vBGMap0 + $200 + dw ($40 << 2) + + dw HighScoresTilemap2 + $3c0 + db Bank(HighScoresTilemap2) + dw vBGMap1 + dw ($40 << 2) + + dw HighScoresTilemap2 + $280 + db Bank(HighScoresTilemap2) + dw vBGMap1 + $200 + dw ($40 << 2) + + VIDEO_DATA_PALETTES HighScoresRedStagePalettes, $80 + db $FF, $FF HighScoresBlueStageVideoData_GameBoyColor: ; 0xcc64 - VIDEO_DATA_TILES HighScoresBaseGameBoyGfx, vTiles0, $1800 - VIDEO_DATA_TILEMAP HighScoresTilemap, vBGMap0, $400 - VIDEO_DATA_TILEMAP HighScoresTilemap2, vBGMap1, $400 - VIDEO_DATA_TILEMAP_BANK2 HighScoresTilemap4, vBGMap0, $400 - VIDEO_DATA_TILEMAP_BANK2 HighScoresTilemap5, vBGMap1, $400 - - dw HighScoresTilemap + $3c0 - db Bank(HighScoresTilemap) - dw vBGMap0 - dw ($40 << 2) - - dw HighScoresTilemap + $280 - db Bank(HighScoresTilemap) - dw vBGMap0 + $200 - dw ($40 << 2) - - dw HighScoresTilemap2 + $3c0 - db Bank(HighScoresTilemap2) - dw vBGMap1 - dw ($40 << 2) - - dw HighScoresTilemap2 + $280 - db Bank(HighScoresTilemap2) - dw vBGMap1 + $200 - dw ($40 << 2) - - VIDEO_DATA_PALETTES HighScoresBlueStagePalettes, $80 - db $FF, $FF ; terminators + VIDEO_DATA_TILES HighScoresBaseGameBoyGfx, vTiles0, $1800 + VIDEO_DATA_TILEMAP HighScoresTilemap, vBGMap0, $400 + VIDEO_DATA_TILEMAP HighScoresTilemap2, vBGMap1, $400 + VIDEO_DATA_TILEMAP_BANK2 HighScoresTilemap4, vBGMap0, $400 + VIDEO_DATA_TILEMAP_BANK2 HighScoresTilemap5, vBGMap1, $400 + + dw HighScoresTilemap + $3c0 + db Bank(HighScoresTilemap) + dw vBGMap0 + dw ($40 << 2) + + dw HighScoresTilemap + $280 + db Bank(HighScoresTilemap) + dw vBGMap0 + $200 + dw ($40 << 2) + + dw HighScoresTilemap2 + $3c0 + db Bank(HighScoresTilemap2) + dw vBGMap1 + dw ($40 << 2) + + dw HighScoresTilemap2 + $280 + db Bank(HighScoresTilemap2) + dw vBGMap1 + $200 + dw ($40 << 2) + + VIDEO_DATA_PALETTES HighScoresBlueStagePalettes, $80 + db $FF, $FF ; terminators Func_ccac: ; 0xccac - call Func_d18b - call Func_d1d2 - call Func_d211 - ret + call Func_d18b + call Func_d1d2 + call Func_d211 + ret Func_ccb6: ; 0xccb6 - call Func_d4cf - call AnimateHighScoresArrow - ld a, [hNewlyPressedButtons] - bit BIT_A_BUTTON, a - jr z, .asm_ccd1 - ld de, $0001 - call PlaySoundEffect - ld hl, wScreenState - inc [hl] - ld hl, wScreenState - inc [hl] - ret + call Func_d4cf + call AnimateHighScoresArrow + ld a, [hNewlyPressedButtons] + bit BIT_A_BUTTON, a + jr z, .asm_ccd1 + ld de, $0001 + call PlaySoundEffect + ld hl, wScreenState + inc [hl] + ld hl, wScreenState + inc [hl] + ret .asm_ccd1 - bit 1, a - jr z, .asm_cce4 - ld de, $0001 - call PlaySoundEffect - ld hl, wScreenState - inc [hl] - ld hl, wScreenState - inc [hl] - ret + bit 1, a + jr z, .asm_cce4 + ld de, $0001 + call PlaySoundEffect + ld hl, wScreenState + inc [hl] + ld hl, wScreenState + inc [hl] + ret .asm_cce4 - bit 3, a - jr z, .asm_ccfb - call Func_1a43 - ld a, [hGameBoyColorFlag] - ld [$d8f0], a - ld de, $0001 - call PlaySoundEffect - ld hl, wScreenState - inc [hl] - ret + bit 3, a + jr z, .asm_ccfb + call Func_1a43 + ld a, [hGameBoyColorFlag] + ld [$d8f0], a + ld de, $0001 + call PlaySoundEffect + ld hl, wScreenState + inc [hl] + ret .asm_ccfb - ld a, [hJoypadState] - cp (SELECT | D_UP) - ret nz - ld a, [hNewlyPressedButtons] - and (SELECT | D_UP) - ret z - ld de, $0001 - call PlaySoundEffect - call ClearOAMBuffer - ld bc, $473b - ld a, $94 - call LoadOAMData + ld a, [hJoypadState] + cp (SELECT | D_UP) + ret nz + ld a, [hNewlyPressedButtons] + and (SELECT | D_UP) + ret z + ld de, $0001 + call PlaySoundEffect + call ClearOAMBuffer + ld bc, $473b + ld a, $94 + call LoadOAMData .asm_cd16 - rst $10 - ld a, [hNewlyPressedButtons] - bit BIT_B_BUTTON, a - jr z, .asm_cd24 - ld de, $0001 - call PlaySoundEffect - ret + rst $10 + ld a, [hNewlyPressedButtons] + bit BIT_B_BUTTON, a + jr z, .asm_cd24 + ld de, $0001 + call PlaySoundEffect + ret .asm_cd24 - bit 0, a - jr z, .asm_cd16 - ld de, $0001 - call PlaySoundEffect - call CopyInitialHighScores - ld a, $30 - ld hl, $6040 ; todo - ld de, $9840 - ld bc, $01c0 - call LoadVRAMData - ld a, $30 - ld hl, $5840 ; todo - ld de, $9c40 - ld bc, $01c0 - call LoadVRAMData - ld hl, $99c0 ; todo - ld de, $da3d - call Func_d361 - ld hl, $9dc0 - ld de, $da7e - call Func_d361 - ld hl, wRedHighScore1Points - ld de, $a000 - ld bc, $0082 - call SaveData - ret + bit 0, a + jr z, .asm_cd16 + ld de, $0001 + call PlaySoundEffect + call CopyInitialHighScores + ld a, BANK(HighScoresTilemap) + ld hl, HighScoresTilemap + $40 ; todo + ld de, $9840 + ld bc, $01c0 + call LoadVRAMData + ld a, BANK(HighScoresTilemap2) + ld hl, HighScoresTilemap2 + $40 ; todo + ld de, $9c40 + ld bc, $01c0 + call LoadVRAMData + ld hl, $99c0 + ld de, $da3d + call Func_d361 + ld hl, $9dc0 + ld de, $da7e + call Func_d361 + ld hl, wRedHighScore1Points + ld de, $a000 + ld bc, $0082 + call SaveData + ret Func_cd6c: ; 0xcd6c - ld a, [$ffb3] - and $1f - call z, Func_1a43 - call Func_cf7d - call Func_cfa6 - ld a, [hNewlyPressedButtons] - bit BIT_A_BUTTON, a - jr z, .asm_cdbb - ld de, $0001 - call PlaySoundEffect - ld a, [$da85] - and a - jr nz, .asm_cda1 - ld a, [$d86e] - and a - jr z, .asm_cdbb - call ClearOAMBuffer - ld bc, $473b - ld a, $8e - call LoadOAMData - call Func_d042 - jr .asm_cdc6 + ld a, [$ffb3] + and $1f + call z, Func_1a43 + call Func_cf7d + call Func_cfa6 + ld a, [hNewlyPressedButtons] + bit BIT_A_BUTTON, a + jr z, .asm_cdbb + ld de, $0001 + call PlaySoundEffect + ld a, [$da85] + and a + jr nz, .asm_cda1 + ld a, [$d86e] + and a + jr z, .asm_cdbb + call ClearOAMBuffer + ld bc, $473b + ld a, $8e + call LoadOAMData + call Func_d042 + jr .asm_cdc6 .asm_cda1 - ld a, [$d8f0] - and a - jr z, .asm_cdbb - ld de, $0000 - call PlaySong - rst $10 - call Func_cdce - push af - ld de, $0004 - call PlaySong - pop af - jr nc, .asm_cdc6 + ld a, [$d8f0] + and a + jr z, .asm_cdbb + ld de, $0000 + call PlaySong + rst $10 + call Func_cdce + push af + ld de, $0004 + call PlaySong + pop af + jr nc, .asm_cdc6 .asm_cdbb - ld a, [hNewlyPressedButtons] - bit BIT_B_BUTTON, a - ret z - ld de, $0001 - call PlaySoundEffect + ld a, [hNewlyPressedButtons] + bit BIT_B_BUTTON, a + ret z + ld de, $0001 + call PlaySoundEffect .asm_cdc6 - xor a - ld [$ff56], a - ld hl, wScreenState - dec [hl] - ret + xor a + ld [rRP], a + ld hl, wScreenState + dec [hl] + ret Func_cdce: ; 0xcdce - push af - ld a, $0 - ld [$abf6], a - pop af - call ClearOAMBuffer - call Func_1be3 - call SendHighScores - push af - ld a, $1 - ld [$abf6], a - pop af - di - ld a, [$d8ea] - cp $0 - jp nz, .asm_ceb6 - ld a, [$d8e9] - cp $1 - jr z, .asm_ce23 - push af - ld a, $2 - ld [$abf6], a - pop af - ld b, $82 - ld hl, wRedHighScore1Points - call Func_1cf8 - ld a, [$d8ea] - cp $0 - jp nz, .asm_ceb6 - push af - ld a, $3 - ld [$abf6], a - pop af - ld hl, $c4c0 - call Func_1dda - ld a, [$d8ea] - cp $0 - jp nz, .asm_ceb6 - jr .asm_ce4d + push af + ld a, $0 + ld [$abf6], a + pop af + call ClearOAMBuffer + call Func_1be3 + call SendHighScores + push af + ld a, $1 + ld [$abf6], a + pop af + di + ld a, [$d8ea] + cp $0 + jp nz, .asm_ceb6 + ld a, [$d8e9] + cp $1 + jr z, .asm_ce23 + push af + ld a, $2 + ld [$abf6], a + pop af + ld b, $82 + ld hl, wRedHighScore1Points + call Func_1cf8 + ld a, [$d8ea] + cp $0 + jp nz, .asm_ceb6 + push af + ld a, $3 + ld [$abf6], a + pop af + ld hl, $c4c0 + call Func_1dda + ld a, [$d8ea] + cp $0 + jp nz, .asm_ceb6 + jr .asm_ce4d .asm_ce23 - push af - ld a, $4 - ld [$abf6], a - pop af - ld hl, $c4c0 - call Func_1dda - ld a, [$d8ea] - cp $0 - jr nz, .asm_ceb6 - push af - ld a, $5 - ld [$abf6], a - pop af - ld b, $82 - ld hl, wRedHighScore1Points - call Func_1cf8 - ld a, [$d8ea] - cp $0 - jr nz, .asm_ceb6 + push af + ld a, $4 + ld [$abf6], a + pop af + ld hl, $c4c0 + call Func_1dda + ld a, [$d8ea] + cp $0 + jr nz, .asm_ceb6 + push af + ld a, $5 + ld [$abf6], a + pop af + ld b, $82 + ld hl, wRedHighScore1Points + call Func_1cf8 + ld a, [$d8ea] + cp $0 + jr nz, .asm_ceb6 .asm_ce4d - push af - ld a, $6 - ld [$abf6], a - pop af - call Func_ceca - rst $10 - ld hl, $c4cc - ld b, $5 + push af + ld a, $6 + ld [$abf6], a + pop af + call Func_ceca + rst $10 + ld hl, $c4cc + ld b, $5 .asm_ce5d - push bc - push hl - ld d, h - ld e, l - ld hl, $da3d - call Func_cfcb - pop hl - pop bc - ld de, $000d - add hl, de - dec b - jr nz, .asm_ce5d - push af - ld a, $7 - ld [$abf6], a - pop af - ld hl, $c50d - ld b, $5 + push bc + push hl + ld d, h + ld e, l + ld hl, $da3d + call Func_cfcb + pop hl + pop bc + ld de, $000d + add hl, de + dec b + jr nz, .asm_ce5d + push af + ld a, $7 + ld [$abf6], a + pop af + ld hl, $c50d + ld b, $5 .asm_ce7c - push bc - push hl - ld d, h - ld e, l - ld hl, $da7e - call Func_cfcb - pop hl - pop bc - ld de, $000d - add hl, de - dec b - jr nz, .asm_ce7c - push af - ld a, $8 - ld [$abf6], a - pop af - ld hl, $99c0 - ld de, $da3d - call Func_d361 - ld hl, $9dc0 - ld de, $da7e - call Func_d361 - ld hl, wRedHighScore1Points - ld de, $a000 - ld bc, $0082 - call SaveData - and a - ret + push bc + push hl + ld d, h + ld e, l + ld hl, $da7e + call Func_cfcb + pop hl + pop bc + ld de, $000d + add hl, de + dec b + jr nz, .asm_ce7c + push af + ld a, $8 + ld [$abf6], a + pop af + ld hl, $99c0 + ld de, $da3d + call Func_d361 + ld hl, $9dc0 + ld de, $da7e + call Func_d361 + ld hl, wRedHighScore1Points + ld de, $a000 + ld bc, $0082 + call SaveData + and a + ret .asm_ceb6 - push af - ld a, $9 - ld [$abf6], a - pop af - call Func_ceca - rst $10 - push af - ld a, $a - ld [$abf6], a - pop af - scf - ret + push af + ld a, $9 + ld [$abf6], a + pop af + call Func_ceca + rst $10 + push af + ld a, $a + ld [$abf6], a + pop af + scf + ret Func_ceca: ; 0xceca - ld a, [$ff44] - and a - jr nz, Func_ceca - ei - ret + ld a, [rLY] + and a + jr nz, Func_ceca + ei + ret SendHighScores: ; 0xced1 ; Sends high scores, and plays the animation for sending the high scores. - ld hl, SendHighScoresAnimationData - ld de, wSendHighScoresAnimationFrameCounter - call CopyHLToDE - ld bc, $4800 - ld a, [wSendHighScoresAnimationFrame] - call LoadOAMData - ld bc, $473b - ld a, $8f - call LoadOAMData - call Func_926 - rst $10 - ld a, $1 - ld [$d8e9], a - ld b, $b4 ; maximum attempts to send high scores + ld hl, SendHighScoresAnimationData + ld de, wSendHighScoresAnimationFrameCounter + call CopyHLToDE + ld bc, $4800 + ld a, [wSendHighScoresAnimationFrame] + call LoadOAMData + ld bc, $473b + ld a, $8f + call LoadOAMData + call Func_926 + rst $10 + ld a, $1 + ld [$d8e9], a + ld b, $b4 ; maximum attempts to send high scores .attemptToSendHighScoresLoop - push bc - xor a - ld [$ffb2], a + push bc + xor a + ld [$ffb2], a .asm_cefa - ld b, $2 - ld c, $56 - ld a, [$ff00+c] - and b - jr z, .asm_cf09 - ld a, [$ffb2] - and a - jr z, .asm_cefa - jr .asm_cf0e + ld b, $2 + ld c, $56 + ld a, [$ff00+c] + and b + jr z, .asm_cf09 + ld a, [$ffb2] + and a + jr z, .asm_cefa + jr .asm_cf0e .asm_cf09 - call Func_1c50 - jr .continueAttempts + call Func_1c50 + jr .continueAttempts .asm_cf0e - ld hl, SendHighScoresAnimationData - ld de, wSendHighScoresAnimationFrameCounter - call UpdateAnimation - jr nc, .continueAttempts - ld bc, $4800 - ld a, [wSendHighScoresAnimationFrame] - call LoadOAMData - ld bc, $473b - ld a, $8f - call LoadOAMData - call Func_926 - call Func_1ca1 - ld a, [wSendHighScoresAnimationFrameIndex] - cp $6 - jr nz, .continueAttempts - ld hl, SendHighScoresAnimationData - ld de, wSendHighScoresAnimationFrameCounter - call CopyHLToDE + ld hl, SendHighScoresAnimationData + ld de, wSendHighScoresAnimationFrameCounter + call UpdateAnimation + jr nc, .continueAttempts + ld bc, $4800 + ld a, [wSendHighScoresAnimationFrame] + call LoadOAMData + ld bc, $473b + ld a, $8f + call LoadOAMData + call Func_926 + call Func_1ca1 + ld a, [wSendHighScoresAnimationFrameIndex] + cp $6 + jr nz, .continueAttempts + ld hl, SendHighScoresAnimationData + ld de, wSendHighScoresAnimationFrameCounter + call CopyHLToDE .continueAttempts - pop bc - ld a, [$d8ea] - cp $0 - ret z - dec b - jr nz, .attemptToSendHighScoresLoop - ret + pop bc + ld a, [$d8ea] + cp $0 + ret z + dec b + jr nz, .attemptToSendHighScoresLoop + ret SendHighScoresAnimationData: ; 0xcf4b ; Each entry is [OAM id][duration] - db $0C, $98 - db $06, $99 - db $0A, $9A - db $0C, $9B - db $0A, $9C - db $06, $9D - db $00 ; terminator + db $0C, $98 + db $06, $99 + db $0A, $9A + db $0C, $9B + db $0A, $9C + db $06, $9D + db $00 ; terminator Func_cf58: ; 0xcf58 - cp $5 - ret z - push af - ld de, $0002 - call PlaySoundEffect - call ClearOAMBuffer - rst $10 - pop af - ld bc, $473b ; todo - add $8f - call LoadOAMData + cp $5 + ret z + push af + ld de, $0002 + call PlaySoundEffect + call ClearOAMBuffer + rst $10 + pop af + ld bc, $473b ; todo + add $8f + call LoadOAMData .asm_cf6f - rst $10 - ld a, [hNewlyPressedButtons] - bit BIT_A_BUTTON, a - jr z, .asm_cf6f - ld de, $0001 - call PlaySoundEffect - ret + rst $10 + ld a, [hNewlyPressedButtons] + bit BIT_A_BUTTON, a + jr z, .asm_cf6f + ld de, $0001 + call PlaySoundEffect + ret Func_cf7d: ; 0xcf7d - ld a, [$d809] - ld b, a - ld a, [$da85] - bit 6, b - jr z, .asm_cf95 - and a - ret z - dec a - ld [$da85], a - ld de, $0003 - call PlaySoundEffect - ret + ld a, [$d809] + ld b, a + ld a, [$da85] + bit 6, b + jr z, .asm_cf95 + and a + ret z + dec a + ld [$da85], a + ld de, $0003 + call PlaySoundEffect + ret .asm_cf95 - bit 7, b - ret z - cp $1 - ret z - inc a - ld [$da85], a - ld de, $0003 - call PlaySoundEffect - ret + bit 7, b + ret z + cp $1 + ret z + inc a + ld [$da85], a + ld de, $0003 + call PlaySoundEffect + ret Func_cfa6: ; 0xcfa6 - ld bc, $473b - ld a, $87 - call LoadOAMData - ld a, [$d8f0] - and a - jr z, .asm_cfb6 - ld a, $2 + ld bc, $473b + ld a, $87 + call LoadOAMData + ld a, [$d8f0] + and a + jr z, .asm_cfb6 + ld a, $2 .asm_cfb6 - ld e, a - ld a, [$d86e] - add e - xor $3 - add $8a - call LoadOAMData - ld a, [$da85] - add $88 - call LoadOAMData - ret + ld e, a + ld a, [$d86e] + add e + xor $3 + add $8a + call LoadOAMData + ld a, [$da85] + add $88 + call LoadOAMData + ret Func_cfcb: ; 0xcfcb - ld a, e - ld [$ff8c], a - ld a, d - ld [$ff8d], a - push hl - ld b, $5 + ld a, e + ld [$ff8c], a + ld a, d + ld [$ff8d], a + push hl + ld b, $5 .asm_cfd4 - ld a, [$ff8c] - ld e, a - ld a, [$ff8d] - ld d, a - call Func_d005 - call Func_d017 - jr c, .asm_cfe5 - dec b - jr nz, .asm_cfd4 + ld a, [$ff8c] + ld e, a + ld a, [$ff8d] + ld d, a + call Func_d005 + call Func_d017 + jr c, .asm_cfe5 + dec b + jr nz, .asm_cfd4 .asm_cfe5 - inc b - pop de - ld hl, $fff3 - add hl, de - ld a, $5 + inc b + pop de + ld hl, $fff3 + add hl, de + ld a, $5 .asm_cfed - cp b - ret c - push af - jr nz, .asm_cff8 - ld a, [$ff8c] - ld l, a - ld a, [$ff8d] - ld h, a + cp b + ret c + push af + jr nz, .asm_cff8 + ld a, [$ff8c] + ld l, a + ld a, [$ff8d] + ld h, a .asm_cff8 - ld c, $d + ld c, $d .asm_cffa - ld a, [hld] - ld [de], a - dec de - dec c - jr nz, .asm_cffa - pop af - dec a - jr nz, .asm_cfed - ret + ld a, [hld] + ld [de], a + dec de + dec c + jr nz, .asm_cffa + pop af + dec a + jr nz, .asm_cfed + ret Func_d005: ; 0xd005 - ld c, $7 + ld c, $7 .asm_d007 - ld a, [de] - cp [hl] - jr nz, .asm_d010 - dec de - dec hl - dec c - jr nz, .asm_d007 + ld a, [de] + cp [hl] + jr nz, .asm_d010 + dec de + dec hl + dec c + jr nz, .asm_d007 .asm_d010 - ld a, c - ld [$ff8e], a - call Func_d035 - ret + ld a, c + ld [$ff8e], a + call Func_d035 + ret Func_d017: ; 0xd017 - ld c, $6 + ld c, $6 .asm_d019 - ld a, [de] - cp [hl] - jr c, .asm_d02b - jr nz, .asm_d030 - dec de - dec hl - dec c - jr nz, .asm_d019 - ld a, [$ff8e] - and a - jr nz, .asm_d02b - ld b, $5 + ld a, [de] + cp [hl] + jr c, .asm_d02b + jr nz, .asm_d030 + dec de + dec hl + dec c + jr nz, .asm_d019 + ld a, [$ff8e] + and a + jr nz, .asm_d02b + ld b, $5 .asm_d02b - call Func_d035 - scf - ret + call Func_d035 + scf + ret .asm_d030 - call Func_d035 - and a - ret + call Func_d035 + and a + ret Func_d035: ; 0xd035 - ld a, e - sub c - ld e, a - jr nc, .asm_d03b - dec d + ld a, e + sub c + ld e, a + jr nc, .asm_d03b + dec d .asm_d03b - ld a, l - sub c - ld l, a - jr nc, .asm_d041 - dec h + ld a, l + sub c + ld l, a + jr nc, .asm_d041 + dec h .asm_d041 - ret + ret Func_d042: ; 0xd042 - ld a, [hJoypadState] - ld [$da86], a - ld b, a - ld a, $80 - bit BIT_D_LEFT, b - jr z, .asm_d052 - ld a, $7f - jr .asm_d058 + ld a, [hJoypadState] + ld [$da86], a + ld b, a + ld a, $80 + bit BIT_D_LEFT, b + jr z, .asm_d052 + ld a, $7f + jr .asm_d058 .asm_d052 - bit BIT_D_RIGHT, b - jr z, .asm_d058 - ld a, $10 + bit BIT_D_RIGHT, b + jr z, .asm_d058 + ld a, $10 .asm_d058 - ld [$d8a7], a - ld a, $e0 - ld [$d8aa], a - ld a, $30 - ld hl, $63c0 - ld de, $c280 - ld bc, $0040 - call CopyDataToRAM - ld a, $0 - ld hl, $9840 - ld de, $c2c0 - ld bc, $01c0 - call LoadVRAMData - ld a, $30 - ld hl, $6280 - ld de, $c480 - ld bc, $0040 - call CopyDataToRAM - call Func_d6b6 - call Func_d0e3 - ret c - ld a, [$da86] - bit 2, a - jr z, .asm_d0a2 - ld de, $da06 - call Func_d107 - call Func_d0f5 - ret c + ld [$d8a7], a + ld a, $e0 + ld [$d8aa], a + ld a, BANK(HighScoresTilemap) + ld hl, HighScoresTilemap + $3c0 + ld de, $c280 + ld bc, $0040 + call FarCopyData + ld a, $0 + ld hl, $9840 + ld de, $c2c0 + ld bc, $01c0 + call LoadVRAMData + ld a, BANK(HighScoresTilemap) + ld hl, HighScoresTilemap + $280 + ld de, $c480 + ld bc, $0040 + call FarCopyData + call Func_d6b6 + call Func_d0e3 + ret c + ld a, [$da86] + bit 2, a + jr z, .asm_d0a2 + ld de, $da06 + call Func_d107 + call Func_d0f5 + ret c .asm_d0a2 - ld a, $30 - ld hl, $5bc0 ; todo - ld de, $c280 - ld bc, $0040 - call CopyDataToRAM - ld a, $0 - ld hl, $9c40 - ld de, $c2c0 - ld bc, $01c0 - call LoadVRAMData - ld a, $30 - ld hl, $5a80 ; todo - ld de, $c480 - ld bc, $0040 - call CopyDataToRAM - call Func_d6b6 - call Func_d0e3 - ret c - ld a, [$da86] - bit 2, a - ret z - ld de, $da47 - call Func_d107 - call Func_d0f5 - ret + ld a, BANK(HighScoresTilemap2) + ld hl, HighScoresTilemap2 + $3c0 ; todo + ld de, $c280 + ld bc, $0040 + call FarCopyData + ld a, $0 + ld hl, $9c40 + ld de, $c2c0 + ld bc, $01c0 + call LoadVRAMData + ld a, BANK(HighScoresTilemap2) + ld hl, HighScoresTilemap2 + $280 ; todo + ld de, $c480 + ld bc, $0040 + call FarCopyData + call Func_d6b6 + call Func_d0e3 + ret c + ld a, [$da86] + bit 2, a + ret z + ld de, $da47 + call Func_d107 + call Func_d0f5 + ret Func_d0e3: ; 0xd0e3 - ld a, $2a - ld hl, $6200 - call Func_1a21 - ld a, [$d86d] - and a - ret z - call Func_cf58 - scf - ret + ld a, BANK(HighScoresBaseGameBoyGfx) + ld hl, HighScoresBaseGameBoyGfx + $800 + call Func_1a21 + ld a, [$d86d] + and a + ret z + call Func_cf58 + scf + ret Func_d0f5: ; 0xd0f5 - ld a, $29 - ld hl, $7b00 - call Func_1a21 - ld a, [$d86d] - and a - ret z - call Func_cf58 - scf - ret + ld a, BANK(GFX_a7b00) + ld hl, GFX_a7b00 + call Func_1a21 + ld a, [$d86d] + and a + ret z + call Func_cf58 + scf + ret Func_d107: ; 0xd107 - ld hl, $c280 - ld a, $c0 - ld b, $20 + ld hl, $c280 + ld a, $c0 + ld b, $20 .asm_d10e - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - dec b - jr nz, .asm_d10e - ld hl, $c280 - ld b, $5 +rept 32 + ld [hli], a +endr + dec b + jr nz, .asm_d10e + ld hl, $c280 + ld b, $5 .asm_d136 - ld c, $4 + ld c, $4 .asm_d138 - ld a, [de] - swap a - call Func_d159 - ld a, [de] - call Func_d159 - inc de - inc hl - dec c - jr nz, .asm_d138 - ld a, l - add $4c - ld l, a - jr nc, .asm_d14e - inc h + ld a, [de] + swap a + call Func_d159 + ld a, [de] + call Func_d159 + inc de + inc hl + dec c + jr nz, .asm_d138 + ld a, l + add $4c + ld l, a + jr nc, .asm_d14e + inc h .asm_d14e - ld a, e - add $9 - ld e, a - jr nc, .asm_d155 - inc d + ld a, e + add $9 + ld e, a + jr nc, .asm_d155 + inc d .asm_d155 - dec b - jr nz, .asm_d136 - ret + dec b + jr nz, .asm_d136 + ret Func_d159: ; 0xd159 - and $f - sla a - sla a - xor $80 - ld [hli], a - inc a - ld [hli], a - inc a - push bc - push hl - ld bc, $001e - add hl, bc - ld [hli], a - inc a - ld [hli], a - pop hl - pop bc - ret + and $f + sla a + sla a + xor $80 + ld [hli], a + inc a + ld [hli], a + inc a + push bc + push hl + ld bc, $001e + add hl, bc + ld [hli], a + inc a + ld [hli], a + pop hl + pop bc + ret ExitHighScoresScreen: ; 0xd171 - call Func_cb5 - call Func_576 - ld hl, $ff9f - res 6, [hl] - ld hl, $ffff - res 1, [hl] - ld a, SCREEN_TITLESCREEN - ld [wCurrentScreen], a - xor a - ld [wScreenState], a - ret + call Func_cb5 + call Func_576 + ld hl, $ff9f + res 6, [hl] + ld hl, rIE + res 1, [hl] + ld a, SCREEN_TITLESCREEN + ld [wCurrentScreen], a + xor a + ld [wScreenState], a + ret Func_d18b: ; 0xd18b - ld a, [hPressedButtons] - ld b, a - ld a, [$da81] - ld e, a - sla e - sla e - add e - sla e - add e - ld e, a - ld a, [$da80] - add e - ld e, a - ld d, $0 - ld hl, wRedHighScore1Name - ld a, [wHighScoresStage] - and a - jr z, .asm_d1ae - ld hl, wBlueHighScore1Name + ld a, [hPressedButtons] + ld b, a + ld a, [$da81] + ld e, a + sla e + sla e + add e + sla e + add e + ld e, a + ld a, [$da80] + add e + ld e, a + ld d, $0 + ld hl, wRedHighScore1Name + ld a, [wHighScoresStage] + and a + jr z, .asm_d1ae + ld hl, wBlueHighScore1Name .asm_d1ae - add hl, de - ld a, [hl] - bit 4, b - jr z, .asm_d1bd - inc a - cp $38 - jr nz, .asm_d1c7 - ld a, $a - jr .asm_d1c7 + add hl, de + ld a, [hl] + bit 4, b + jr z, .asm_d1bd + inc a + cp $38 + jr nz, .asm_d1c7 + ld a, $a + jr .asm_d1c7 .asm_d1bd - bit 5, b - ret z - dec a - cp $9 - jr nz, .asm_d1c7 - ld a, $37 + bit 5, b + ret z + dec a + cp $9 + jr nz, .asm_d1c7 + ld a, $37 .asm_d1c7 - ld [hl], a - call Func_d46f - ld de, $0003 - call PlaySoundEffect - ret + ld [hl], a + call Func_d46f + ld de, $0003 + call PlaySoundEffect + ret Func_d1d2: ; 0xd1d2 - ld a, [hNewlyPressedButtons] - ld b, a - ld a, [$da80] - bit BIT_A_BUTTON, b - jr z, .asm_d1fc - inc a - cp $3 - jr nz, .asm_d202 - ld de, $0745 - call PlaySoundEffect - xor a - ld [$da7f], a - ld hl, wScreenState - inc [hl] - ld hl, wRedHighScore1Points - ld de, $a000 - ld bc, $0082 - call SaveData - ret + ld a, [hNewlyPressedButtons] + ld b, a + ld a, [$da80] + bit BIT_A_BUTTON, b + jr z, .asm_d1fc + inc a + cp $3 + jr nz, .asm_d202 + ld de, $0745 + call PlaySoundEffect + xor a + ld [$da7f], a + ld hl, wScreenState + inc [hl] + ld hl, wRedHighScore1Points + ld de, $a000 + ld bc, $0082 + call SaveData + ret .asm_d1fc - bit 1, b - ret z - and a - ret z - dec a + bit 1, b + ret z + and a + ret z + dec a .asm_d202 - ld [$da80], a - ld a, $20 - ld [$da82], a - ld de, $0001 - call PlaySoundEffect - ret + ld [$da80], a + ld a, $20 + ld [$da82], a + ld de, $0001 + call PlaySoundEffect + ret Func_d211: ; 0xd211 ; related to high scores name entry? - ld a, [$da7f] - and a - ret z - ld a, [hJoypadState] - and (D_RIGHT | D_LEFT) - jr z, .asm_d221 - xor a - ld [$da82], a - ret + ld a, [$da7f] + and a + ret z + ld a, [hJoypadState] + and (D_RIGHT | D_LEFT) + jr z, .asm_d221 + xor a + ld [$da82], a + ret .asm_d221 - ld a, [$da82] - inc a - ld [$da82], a - bit 5, a - ret z - ld a, [$da81] - ld e, a - ld d, $0 - ld hl, OAMPixelYOffsets_d247 - add hl, de - ld c, [hl] - ld a, [$da80] - ld e, a - ld d, $0 - ld hl, OAMPixelXOffsets_d24c - add hl, de - ld b, [hl] - ld a, $86 - call LoadOAMData - ret + ld a, [$da82] + inc a + ld [$da82], a + bit 5, a + ret z + ld a, [$da81] + ld e, a + ld d, $0 + ld hl, OAMPixelYOffsets_d247 + add hl, de + ld c, [hl] + ld a, [$da80] + ld e, a + ld d, $0 + ld hl, OAMPixelXOffsets_d24c + add hl, de + ld b, [hl] + ld a, $86 + call LoadOAMData + ret OAMPixelYOffsets_d247: ; 0xd247 - db $10, $28, $40, $58, $70 + db $10, $28, $40, $58, $70 OAMPixelXOffsets_d24c: ; 0xd24c - db $18, $20, $28 + db $18, $20, $28 AnimateHighScoresArrow: ; 0xd24f ; Handles the animation of the arrow in the bottom ; corner of the high scores screens. - ld a, [wHighScoresArrowAnimationCounter] - inc a - cp $28 - jr c, .noOverflow - xor a + ld a, [wHighScoresArrowAnimationCounter] + inc a + cp $28 + jr c, .noOverflow + xor a .noOverflow - ld [wHighScoresArrowAnimationCounter], a - ld a, [wHighScoresStage] - and a - ld c, $77 - ld a, $95 - ld hl, HighScoresRightArrowOAMPixelXOffsets - jr z, .asm_d26d - ld a, $96 - ld hl, HighScoresLeftArrowOAMPixelXOffsets + ld [wHighScoresArrowAnimationCounter], a + ld a, [wHighScoresStage] + and a + ld c, $77 + ld a, $95 + ld hl, HighScoresRightArrowOAMPixelXOffsets + jr z, .asm_d26d + ld a, $96 + ld hl, HighScoresLeftArrowOAMPixelXOffsets .asm_d26d - push af - ld a, [wHighScoresArrowAnimationCounter] - ld e, a - ld d, $0 - add hl, de - ld b, [hl] - pop af - call LoadOAMData - ret + push af + ld a, [wHighScoresArrowAnimationCounter] + ld e, a + ld d, $0 + add hl, de + ld b, [hl] + pop af + call LoadOAMData + ret HighScoresRightArrowOAMPixelXOffsets: ; 0xd27b ; Controls the animation of the right-arrow in the bottom corner of the ; high scores screen. - db $87, $87, $8A, $8A, $8A, $8A, $8A, $8A - db $89, $89, $88, $88, $88, $88, $88, $88 - db $88, $88, $88, $88, $88, $88, $88, $88 - db $88, $88, $88, $88, $88, $88, $88, $88 - db $88, $88, $88, $88, $88, $88, $88, $88 + db $87, $87, $8A, $8A, $8A, $8A, $8A, $8A + db $89, $89, $88, $88, $88, $88, $88, $88 + db $88, $88, $88, $88, $88, $88, $88, $88 + db $88, $88, $88, $88, $88, $88, $88, $88 + db $88, $88, $88, $88, $88, $88, $88, $88 HighScoresLeftArrowOAMPixelXOffsets: ; 0xd2a3 - db $02, $02, $FF, $FF, $FF, $FF, $FF, $FF - db $00, $00, $01, $01, $01, $01, $01, $01 - db $01, $01, $01, $01, $01, $01, $01, $01 - db $01, $01, $01, $01, $01, $01, $01, $01 - db $01, $01, $01, $01, $01, $01, $01, $01 + db $02, $02, $FF, $FF, $FF, $FF, $FF, $FF + db $00, $00, $01, $01, $01, $01, $01, $01 + db $01, $01, $01, $01, $01, $01, $01, $01 + db $01, $01, $01, $01, $01, $01, $01, $01 + db $01, $01, $01, $01, $01, $01, $01, $01 Func_d2cb: ; 0xd2cb - ld b, $5 + ld b, $5 .asm_d2cd - push bc - push hl - dec de - dec de - dec de - dec de - ld a, l - add $5 - ld l, a - ld b, $3 + push bc + push hl + dec de + dec de + dec de + dec de + ld a, l + add $5 + ld l, a + ld b, $3 .asm_d2d9 - ld a, [de] - call Func_d348 - dec de - dec hl - dec b - jr nz, .asm_d2d9 - pop hl - push hl - ld a, l - add $6 - ld l, a - ld bc, $0c01 + ld a, [de] + call Func_d348 + dec de + dec hl + dec b + jr nz, .asm_d2d9 + pop hl + push hl + ld a, l + add $6 + ld l, a + ld bc, $0c01 .asm_d2eb - ld a, [de] - swap a - and $f - call Func_d30e - inc hl - dec b - ld a, [de] - and $f - call Func_d30e - dec de - inc hl - dec b - jr nz, .asm_d2eb - xor a - call Func_d317 - pop hl - ld bc, hBoardYShift - add hl, bc - pop bc - dec b - jr nz, .asm_d2cd - ret + ld a, [de] + swap a + and $f + call Func_d30e + inc hl + dec b + ld a, [de] + and $f + call Func_d30e + dec de + inc hl + dec b + jr nz, .asm_d2eb + xor a + call Func_d317 + pop hl + ld bc, hBoardYShift + add hl, bc + pop bc + dec b + jr nz, .asm_d2cd + ret Func_d30e: ; 0xd30e - jr nz, Func_d317 - ld a, b - dec a - jr z, Func_d317 - ld a, c - and a - ret nz - ; fall through + jr nz, Func_d317 + ld a, b + dec a + jr z, Func_d317 + ld a, c + and a + ret nz + ; fall through Func_d317: ; 0xd317 - push de - push af - call Func_d336 - pop af - ld c, $0 - sla a - add e - ld [hl], a - cp $fe - jr z, .asm_d328 - inc a + push de + push af + call Func_d336 + pop af + ld c, $0 + sla a + add e + ld [hl], a + cp $fe + jr z, .asm_d328 + inc a .asm_d328 - push hl - push af - ld a, l - add $20 - ld l, a - jr nc, .asm_d331 - inc h + push hl + push af + ld a, l + add $20 + ld l, a + jr nc, .asm_d331 + inc h .asm_d331 - pop af - ld [hl], a - pop hl - pop de - ret + pop af + ld [hl], a + pop hl + pop de + ret Func_d336: ; 0xd336 - ld e, $6c - ld a, b - cp $3 - ret z - cp $6 - ret z - cp $9 - ret z - cp $c - ret z - ld e, $58 - ret + ld e, $6c + ld a, b + cp $3 + ret z + cp $6 + ret z + cp $9 + ret z + cp $c + ret z + ld e, $58 + ret Func_d348: ; 0xd348 - ld c, $0 - sla a - add $90 - ld [hl], a - cp $fe - jr z, .asm_d354 - inc a + ld c, $0 + sla a + add $90 + ld [hl], a + cp $fe + jr z, .asm_d354 + inc a .asm_d354 - push hl - push af - ld a, l - add $20 - ld l, a - jr nc, .asm_d35d - inc h + push hl + push af + ld a, l + add $20 + ld l, a + jr nc, .asm_d35d + inc h .asm_d35d - pop af - ld [hl], a - pop hl - ret + pop af + ld [hl], a + pop hl + ret Func_d361: ; 0xd361 - ld b, $5 + ld b, $5 .asm_d363 - push bc - push hl - dec de - dec de - dec de - dec de - ld a, l - add $5 - ld l, a - ld b, $3 + push bc + push hl + dec de + dec de + dec de + dec de + ld a, l + add $5 + ld l, a + ld b, $3 .asm_d36f - ld a, [de] - call Func_d3e2 - dec de - dec hl - dec b - jr nz, .asm_d36f - pop hl - push hl - ld a, l - add $6 - ld l, a - ld bc, $0c01 + ld a, [de] + call Func_d3e2 + dec de + dec hl + dec b + jr nz, .asm_d36f + pop hl + push hl + ld a, l + add $6 + ld l, a + ld bc, $0c01 .asm_d381 - ld a, [de] - swap a - and $f - call Func_d3a4 - inc hl - dec b - ld a, [de] - and $f - call Func_d3a4 - dec de - inc hl - dec b - jr nz, .asm_d381 - xor a - call Func_d3ad - pop hl - ld bc, hBoardYShift - add hl, bc - pop bc - dec b - jr nz, .asm_d363 - ret + ld a, [de] + swap a + and $f + call Func_d3a4 + inc hl + dec b + ld a, [de] + and $f + call Func_d3a4 + dec de + inc hl + dec b + jr nz, .asm_d381 + xor a + call Func_d3ad + pop hl + ld bc, hBoardYShift + add hl, bc + pop bc + dec b + jr nz, .asm_d363 + ret Func_d3a4: ; 0xd3a4 - jr nz, Func_d3ad - ld a, b - dec a - jr z, Func_d3ad - ld a, c - and a - ret nz - ; fall through + jr nz, Func_d3ad + ld a, b + dec a + jr z, Func_d3ad + ld a, c + and a + ret nz + ; fall through Func_d3ad: ; 0xd3ad - push de - push af - call Func_d3d0 - pop af - ld c, $0 - sla a - add e - call PutTileInVRAM - cp $fe - jr z, .asm_d3c0 - inc a + push de + push af + call Func_d3d0 + pop af + ld c, $0 + sla a + add e + call PutTileInVRAM + cp $fe + jr z, .asm_d3c0 + inc a .asm_d3c0 - push hl - push af - ld a, l - add $20 - ld l, a - jr nc, .asm_d3c9 - inc h + push hl + push af + ld a, l + add $20 + ld l, a + jr nc, .asm_d3c9 + inc h .asm_d3c9 - pop af - call PutTileInVRAM - pop hl - pop de - ret + pop af + call PutTileInVRAM + pop hl + pop de + ret Func_d3d0: ; 0xd3d0 - ld e, $6c - ld a, b - cp $3 - ret z - cp $6 - ret z - cp $9 - ret z - cp $c - ret z - ld e, $58 - ret + ld e, $6c + ld a, b + cp $3 + ret z + cp $6 + ret z + cp $9 + ret z + cp $c + ret z + ld e, $58 + ret Func_d3e2: ; 0xd3e2 - ld c, $0 - sla a - add $90 - call PutTileInVRAM - cp $fe - jr z, .asm_d3f0 - inc a + ld c, $0 + sla a + add $90 + call PutTileInVRAM + cp $fe + jr z, .asm_d3f0 + inc a .asm_d3f0 - push hl - push af - ld a, l - add $20 - ld l, a - jr nc, .asm_d3f9 - inc h + push hl + push af + ld a, l + add $20 + ld l, a + jr nc, .asm_d3f9 + inc h .asm_d3f9 - pop af - call PutTileInVRAM - pop hl - ret + pop af + call PutTileInVRAM + pop hl + ret CopyInitialHighScores: ; 0xd3ff - ld hl, InitialHighScores - ld de, wRedHighScore1Points - call CopyInitialHighScoresForStage - ld hl, InitialHighScores - ld de, wBlueHighScore1Points + ld hl, InitialHighScores + ld de, wRedHighScore1Points + call CopyInitialHighScoresForStage + ld hl, InitialHighScores + ld de, wBlueHighScore1Points CopyInitialHighScoresForStage: ; 0xd40e ; input: hl = address of high score entries ; de = destination address for high score entries to be copied - ld b, $5 ; 5 high score entries to copy + ld b, $5 ; 5 high score entries to copy .copyHighScoreEntry - ld c, $6 ; high score points are 6 bytes long + ld c, $6 ; high score points are 6 bytes long .copyPoints - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .copyPoints - ld c, $3 ; name is 3 bytes + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .copyPoints + ld c, $3 ; name is 3 bytes .copyName - ld a, [hli] - sub $37 - ld [de], a - inc de - dec c - jr nz, .copyName - ld c, $4 + ld a, [hli] + sub $37 + ld [de], a + inc de + dec c + jr nz, .copyName + ld c, $4 .asm_d424 ; TODO: what are these 4 bytes used for? - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .asm_d424 - dec b - jr nz, .copyHighScoreEntry - ret + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .asm_d424 + dec b + jr nz, .copyHighScoreEntry + ret INCLUDE "data/initial_high_scores.asm" ; 0xd42e Func_d46f: ; 0xd46f - ld a, [$da81] - ld d, a - sla a - add d - ld d, a - ld e, $0 - srl d - rr e - srl d - rr e - srl d - rr e - ld a, [$da80] - add e - ld e, a - ld hl, $9843 - ld a, [wHighScoresStage] - and a - jr z, .asm_d496 - ld hl, $9c43 + ld a, [$da81] + ld d, a + sla a + add d + ld d, a + ld e, $0 + srl d + rr e + srl d + rr e + srl d + rr e + ld a, [$da80] + add e + ld e, a + ld hl, $9843 + ld a, [wHighScoresStage] + and a + jr z, .asm_d496 + ld hl, $9c43 .asm_d496 - add hl, de - push hl - ld a, [$da81] - ld e, a - sla e - sla e - add e - sla e - add e - ld e, a - ld a, [$da80] - add e - ld e, a - ld d, $0 - ld hl, wRedHighScore1Name - ld a, [wHighScoresStage] - and a - jr z, .asm_d4b8 - ld hl, wBlueHighScore1Name + add hl, de + push hl + ld a, [$da81] + ld e, a + sla e + sla e + add e + sla e + add e + ld e, a + ld a, [$da80] + add e + ld e, a + ld d, $0 + ld hl, wRedHighScore1Name + ld a, [wHighScoresStage] + and a + jr z, .asm_d4b8 + ld hl, wBlueHighScore1Name .asm_d4b8 - add hl, de - ld a, [hl] - sla a - add $90 - pop hl - call PutTileInVRAM - ld de, $0020 - add hl, de - cp $fe - jr z, .asm_d4cb - inc a + add hl, de + ld a, [hl] + sla a + add $90 + pop hl + call PutTileInVRAM + ld de, $0020 + add hl, de + cp $fe + jr z, .asm_d4cb + inc a .asm_d4cb - call PutTileInVRAM - ret + call PutTileInVRAM + ret Func_d4cf: ; 0xd4cf - ld a, [hNewlyPressedButtons] - ld b, a - ld a, [wHighScoresStage] - bit 4, b - jr z, .asm_d4e3 - and a - ret nz - ld de, $0003 - call PlaySoundEffect - jr .asm_d4f0 + ld a, [hNewlyPressedButtons] + ld b, a + ld a, [wHighScoresStage] + bit 4, b + jr z, .asm_d4e3 + and a + ret nz + ld de, $0003 + call PlaySoundEffect + jr .asm_d4f0 .asm_d4e3 - bit 5, b - ret z - and a - ret z - ld de, $0003 - call PlaySoundEffect - jr .asm_d537 + bit 5, b + ret z + and a + ret z + ld de, $0003 + call PlaySoundEffect + jr .asm_d537 .asm_d4f0 - call ClearOAMBuffer - call Func_d57b - ld a, $a5 - ld [$ffa7], a - xor a - ld [$ffa6], a - ld a, $2 - ld [hBoardXShift], a - ld hl, $ff9e - set 5, [hl] - ld b, $27 + call ClearOAMBuffer + call Func_d57b + ld a, $a5 + ld [$ffa7], a + xor a + ld [$ffa6], a + ld a, $2 + ld [hBoardXShift], a + ld hl, $ff9e + set 5, [hl] + ld b, $27 .asm_d508 - push bc - ld a, $27 - sub b - bit 0, b - call nz, Func_d626 - ld hl, $ffa7 - dec [hl] - dec [hl] - dec [hl] - dec [hl] - ld hl, hBoardXShift - inc [hl] - inc [hl] - inc [hl] - inc [hl] - rst $10 - pop bc - dec b - jr nz, .asm_d508 - xor a - ld [hBoardXShift], a - ld hl, $ff9e - res 5, [hl] - set 3, [hl] - ld a, $1 - ld [wHighScoresStage], a - call Func_d5d0 - ret + push bc + ld a, $27 + sub b + bit 0, b + call nz, Func_d626 + ld hl, $ffa7 + dec [hl] + dec [hl] + dec [hl] + dec [hl] + ld hl, hBoardXShift + inc [hl] + inc [hl] + inc [hl] + inc [hl] + rst $10 + pop bc + dec b + jr nz, .asm_d508 + xor a + ld [hBoardXShift], a + ld hl, $ff9e + res 5, [hl] + set 3, [hl] + ld a, $1 + ld [wHighScoresStage], a + call Func_d5d0 + ret .asm_d537 - call ClearOAMBuffer - call Func_d57b - ld a, $7 - ld [$ffa7], a - xor a - ld [$ffa6], a - ld a, $a0 - ld [hBoardXShift], a - ld hl, $ff9e - set 5, [hl] - res 3, [hl] - ld b, $27 + call ClearOAMBuffer + call Func_d57b + ld a, $7 + ld [$ffa7], a + xor a + ld [$ffa6], a + ld a, $a0 + ld [hBoardXShift], a + ld hl, $ff9e + set 5, [hl] + res 3, [hl] + ld b, $27 .asm_d551 - push bc - ld a, b - bit 0, b - call nz, Func_d626 - ld hl, $ffa7 - inc [hl] - inc [hl] - inc [hl] - inc [hl] - ld hl, hBoardXShift - dec [hl] - dec [hl] - dec [hl] - dec [hl] - rst $10 - pop bc - dec b - jr nz, .asm_d551 - xor a - ld [hBoardXShift], a - ld hl, $ff9e - res 5, [hl] - xor a - ld [wHighScoresStage], a - call Func_d5d0 - ret + push bc + ld a, b + bit 0, b + call nz, Func_d626 + ld hl, $ffa7 + inc [hl] + inc [hl] + inc [hl] + inc [hl] + ld hl, hBoardXShift + dec [hl] + dec [hl] + dec [hl] + dec [hl] + rst $10 + pop bc + dec b + jr nz, .asm_d551 + xor a + ld [hBoardXShift], a + ld hl, $ff9e + res 5, [hl] + xor a + ld [wHighScoresStage], a + call Func_d5d0 + ret Func_d57b: ; 0xd57b - ld a, $f0 - ld [hBoardYShift], a - xor a - ld [$ffab], a - ld a, $10 - ld [$ffad], a - rst $10 - ld a, $30 - ld hl, $6000 - ld de, $9800 - ld bc, $0040 - call LoadVRAMData - ld a, $30 - ld hl, $6200 - ld de, $9a00 - ld bc, $0040 - call LoadVRAMData - ld a, $30 - ld hl, $5800 - ld de, $9c00 - ld bc, $0040 - call LoadVRAMData - ld a, $30 - ld hl, $5a00 - ld de, $9e00 - ld bc, $0040 - call LoadVRAMData - ld b, $10 + ld a, $f0 + ld [hBoardYShift], a + xor a + ld [$ffab], a + ld a, $10 + ld [$ffad], a + rst $10 + ld a, BANK(HighScoresTilemap) + ld hl, HighScoresTilemap + ld de, $9800 + ld bc, $0040 + call LoadVRAMData + ld a, BANK(HighScoresTilemap) + ld hl, HighScoresTilemap + $200 + ld de, $9a00 + ld bc, $0040 + call LoadVRAMData + ld a, BANK(HighScoresTilemap2) + ld hl, HighScoresTilemap2 + ld de, $9c00 + ld bc, $0040 + call LoadVRAMData + ld a, BANK(HighScoresTilemap2) + ld hl, HighScoresTilemap2 + $200 + ld de, $9e00 + ld bc, $0040 + call LoadVRAMData + ld b, $10 .asm_d5c1 - push bc - ld hl, hBoardYShift - inc [hl] - ld hl, $ffad - dec [hl] - rst $10 - pop bc - dec b - jr nz, .asm_d5c1 - ret + push bc + ld hl, hBoardYShift + inc [hl] + ld hl, $ffad + dec [hl] + rst $10 + pop bc + dec b + jr nz, .asm_d5c1 + ret Func_d5d0: ; 0xd5d0 - ld b, $10 + ld b, $10 .asm_d5d2 - push bc - ld hl, hBoardYShift - dec [hl] - ld hl, $ffad - inc [hl] - rst $10 - pop bc - dec b - jr nz, .asm_d5d2 - ld a, $30 - ld hl, $63c0 - ld de, $9800 - ld bc, $0040 - call LoadVRAMData - ld a, $30 - ld hl, $6280 - ld de, $9a00 - ld bc, $0040 - call LoadVRAMData - ld a, $30 - ld hl, $5bc0 - ld de, $9c00 - ld bc, $0040 - call LoadVRAMData - ld a, $30 - ld hl, $5a80 - ld de, $9e00 - ld bc, $0040 - call LoadVRAMData - ld bc, $0009 - call Func_d68a - xor a - ld [hBoardYShift], a - ld [$ffab], a - ld [$ffad], a - ret - -INCBIN "baserom.gbc",$d626,$d626 - $d626 + push bc + ld hl, hBoardYShift + dec [hl] + ld hl, $ffad + inc [hl] + rst $10 + pop bc + dec b + jr nz, .asm_d5d2 + ld a, BANK(HighScoresTilemap) + ld hl, HighScoresTilemap + $3c0 + ld de, $9800 + ld bc, $0040 + call LoadVRAMData + ld a, BANK(HighScoresTilemap) + ld hl, HighScoresTilemap + $280 + ld de, $9a00 + ld bc, $0040 + call LoadVRAMData + ld a, BANK(HighScoresTilemap2) + ld hl, HighScoresTilemap2 + $3c0 + ld de, $9c00 + ld bc, $0040 + call LoadVRAMData + ld a, BANK(HighScoresTilemap2) + ld hl, HighScoresTilemap2 + $280 + ld de, $9e00 + ld bc, $0040 + call LoadVRAMData + ld bc, $0009 + call Func_d68a + xor a + ld [hBoardYShift], a + ld [$ffab], a + ld [$ffad], a + ret Func_d626: ; 0xd626 - ld c, a - ld a, [hGameBoyColorFlag] - and a - ret z - ld a, c - srl a - sub $2 - cp $10 - ret nc - ld c, a - ld b, $0 - sla c - add c - ld c, a - ld hl, PointerTable_d65a - add hl, bc - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hl] - ld h, b - ld l, c - ld de, $0008 - ld bc, $0038 - push af - call Func_7dc - pop af - ld de, $0040 - ld bc, $0008 - call Func_7dc - ret + ld c, a + ld a, [hGameBoyColorFlag] + and a + ret z + ld a, c + srl a + sub $2 + cp $10 + ret nc + ld c, a + ld b, $0 + sla c + add c + ld c, a + ld hl, PointerTable_d65a + add hl, bc + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hl] + ld h, b + ld l, c + ld de, $0008 + ld bc, $0038 + push af + call Func_7dc + pop af + ld de, $0040 + ld bc, $0008 + call Func_7dc + ret PointerTable_d65a: ; 0xd65a - dwb $7D00, $23 - dwb $7D40, $23 - dwb $7D80, $23 - dwb $7DC0, $23 - dwb $7E00, $23 - dwb $7E40, $23 - dwb $7E80, $23 - dwb $7EC0, $23 - dwb $7E00, $35 - dwb $7E40, $35 - dwb $7E80, $35 - dwb $7EC0, $35 - dwb $7F00, $35 - dwb $7F40, $35 - dwb $7F80, $35 - dwb $7FC0, $35 + dwb $7D00, $23 + dwb $7D40, $23 + dwb $7D80, $23 + dwb $7DC0, $23 + dwb $7E00, $23 + dwb $7E40, $23 + dwb $7E80, $23 + dwb $7EC0, $23 + dwb $7E00, $35 + dwb $7E40, $35 + dwb $7E80, $35 + dwb $7EC0, $35 + dwb $7F00, $35 + dwb $7F40, $35 + dwb $7F80, $35 + dwb $7FC0, $35 Func_d68a: ; 0xd68a - push bc - ld hl, wPokedexFlags - ld bc, (NUM_POKEMON << 8) + push bc + ld hl, wPokedexFlags + ld bc, (NUM_POKEMON << 8) .asm_d691 - bit 1, [hl] - jr z, .asm_d696 - inc c + bit 1, [hl] + jr z, .asm_d696 + inc c .asm_d696 - inc hl - dec b - jr nz, .asm_d691 - ld a, c - pop bc - cp NUM_POKEMON - ret nz - ld hl, vBGMap0 - add hl, bc - call Func_d6aa - ld hl, vBGMap1 - add hl, bc - ; fall through + inc hl + dec b + jr nz, .asm_d691 + ld a, c + pop bc + cp NUM_POKEMON + ret nz + ld hl, vBGMap0 + add hl, bc + call Func_d6aa + ld hl, vBGMap1 + add hl, bc + ; fall through Func_d6aa: ; 0xd6aa - ld a, $56 - call PutTileInVRAM - inc hl - ld a, $57 - call PutTileInVRAM - ret + ld a, $56 + call PutTileInVRAM + inc hl + ld a, $57 + call PutTileInVRAM + ret Func_d6b6: ; 0xd6b6 - ld hl, wPokedexFlags - ld bc, (NUM_POKEMON << 8) + ld hl, wPokedexFlags + ld bc, (NUM_POKEMON << 8) .asm_d6bc - bit 1, [hl] - jr z, .asm_d6c1 - inc c + bit 1, [hl] + jr z, .asm_d6c1 + inc c .asm_d6c1 - inc hl - dec b - jr nz, .asm_d6bc - ld a, c - cp NUM_POKEMON - ret nz - ld hl, $c289 - ld a, $56 - ld [hli], a - ld a, $57 - ld [hli], a - ret + inc hl + dec b + jr nz, .asm_d6bc + ld a, c + cp NUM_POKEMON + ret nz + ld hl, $c289 + ld a, $56 + ld [hli], a + ld a, $57 + ld [hli], a + ret HandleFieldSelectScreen: ; 0xd6d3 - ld a, [wScreenState] - rst $18 ; calls JumpToFuncInTable + ld a, [wScreenState] + rst $18 ; calls JumpToFuncInTable FieldSelectScreenFunctions: ; 0xd6d7 - dw LoadFieldSelectScreen - dw ChooseFieldToPlay - dw ExitFieldSelectScreen + dw LoadFieldSelectScreen + dw ChooseFieldToPlay + dw ExitFieldSelectScreen LoadFieldSelectScreen: ; 0xd6dd - ld a, $43 - ld [$ff9e], a - ld a, $e4 - ld [$d80c], a - ld a, $d2 - ld [$d80d], a - ld [$d80e], a - xor a - ld [hBoardXShift], a - ld [hBoardYShift], a - ld hl, FieldSelectGfxPointers - ld a, [hGameBoyColorFlag] - call LoadVideoData - call ClearOAMBuffer - ld a, $8 - ld [wFieldSelectBlinkingBorderFrame], a - call Func_b66 - ld a, $12 - call SetSongBank - ld de, $0003 - call PlaySong - call Func_588 - call Func_bbe - ld hl, wScreenState - inc [hl] - ret + ld a, $43 + ld [$ff9e], a + ld a, $e4 + ld [$d80c], a + ld a, $d2 + ld [$d80d], a + ld [$d80e], a + xor a + ld [hBoardXShift], a + ld [hBoardYShift], a + ld hl, FieldSelectGfxPointers + ld a, [hGameBoyColorFlag] + call LoadVideoData + call ClearOAMBuffer + ld a, $8 + ld [wFieldSelectBlinkingBorderFrame], a + call Func_b66 + ld a, $12 + call SetSongBank + ld de, $0003 + call PlaySong + call Func_588 + call Func_bbe + ld hl, wScreenState + inc [hl] + ret FieldSelectGfxPointers: ; 0xd71c - dw FieldSelectGfx_GameBoy - dw FieldSelectGfx_GameBoyColor + dw FieldSelectGfx_GameBoy + dw FieldSelectGfx_GameBoyColor FieldSelectGfx_GameBoy: ; 0xd720 - VIDEO_DATA_TILES FieldSelectScreenGfx, vTiles1 - $100, $d00 - VIDEO_DATA_TILEMAP FieldSelectTilemap, vBGMap0, $240 - db $FF, $FF ; terminators + VIDEO_DATA_TILES FieldSelectScreenGfx, vTiles1 - $100, $d00 + VIDEO_DATA_TILEMAP FieldSelectTilemap, vBGMap0, $240 + db $FF, $FF ; terminators FieldSelectGfx_GameBoyColor: ; 0xd730 - VIDEO_DATA_TILES FieldSelectScreenGfx, vTiles1 - $100, $d00 - VIDEO_DATA_TILEMAP FieldSelectTilemap, vBGMap0, $240 - VIDEO_DATA_BGATTR FieldSelectBGAttributes, vBGMap0, $240 - VIDEO_DATA_PALETTES FieldSelectScreenPalettes, $48 - db $FF, $FF ; terminators + VIDEO_DATA_TILES FieldSelectScreenGfx, vTiles1 - $100, $d00 + VIDEO_DATA_TILEMAP FieldSelectTilemap, vBGMap0, $240 + VIDEO_DATA_BGATTR FieldSelectBGAttributes, vBGMap0, $240 + VIDEO_DATA_PALETTES FieldSelectScreenPalettes, $48 + db $FF, $FF ; terminators ChooseFieldToPlay: ; 0xd74e - call MoveFieldSelectCursor - ld hl, $583d ; todo - call AnimateBlinkingFieldSelectBorder - ld a, [hNewlyPressedButtons] - and (A_BUTTON | B_BUTTON) - ret z - ld [$d8f6], a - ld a, $18 ; number of frames to blink the border after selecting the Field - ld [wFieldSelectBlinkingBorderTimer], a - ld a, $1 - ld [wFieldSelectBlinkingBorderFrame], a - ld de, $0001 - call PlaySoundEffect - ld hl, wScreenState - inc [hl] - ret + call MoveFieldSelectCursor + ld hl, Data_d83d ; todo + call AnimateBlinkingFieldSelectBorder + ld a, [hNewlyPressedButtons] + and (A_BUTTON | B_BUTTON) + ret z + ld [$d8f6], a + ld a, $18 ; number of frames to blink the border after selecting the Field + ld [wFieldSelectBlinkingBorderTimer], a + ld a, $1 + ld [wFieldSelectBlinkingBorderFrame], a + ld de, $0001 + call PlaySoundEffect + ld hl, wScreenState + inc [hl] + ret ExitFieldSelectScreen: ; 0xd774 - ld a, [$d8f6] ; this holds the button that was pressed (A or B) - bit BIT_A_BUTTON, a - jr z, .didntPressA - ld hl, $5846 - call AnimateBlinkingFieldSelectBorder - ld a, [wFieldSelectBlinkingBorderTimer] - dec a - ld [wFieldSelectBlinkingBorderTimer], a - ret nz + ld a, [$d8f6] ; this holds the button that was pressed (A or B) + bit BIT_A_BUTTON, a + jr z, .didntPressA + ld hl, Data_d846 + call AnimateBlinkingFieldSelectBorder + ld a, [wFieldSelectBlinkingBorderTimer] + dec a + ld [wFieldSelectBlinkingBorderTimer], a + ret nz .didntPressA - ld a, [hJoypadState] - push af - call Func_cb5 - call Func_576 - ld a, [$d8f6] - bit BIT_A_BUTTON, a - jr z, .pressedB - ld a, [wSelectedFieldIndex] - ld c, a - ld b, $0 - ld hl, StartingStages - add hl, bc - ld a, [hl] - ld [wCurrentStage], a - pop af - xor a - ld [$d7c2], a - ld hl, wPartyMons - ld de, $a268 - ld bc, $04c3 - call SaveData - xor a - ld [$d7c1], a - ; Start a round of Pinball! Yayy - ld a, SCREEN_PINBALL_GAME - ld [wCurrentScreen], a - xor a - ld [wScreenState], a - ret + ld a, [hJoypadState] + push af + call Func_cb5 + call Func_576 + ld a, [$d8f6] + bit BIT_A_BUTTON, a + jr z, .pressedB + ld a, [wSelectedFieldIndex] + ld c, a + ld b, $0 + ld hl, StartingStages + add hl, bc + ld a, [hl] + ld [wCurrentStage], a + pop af + xor a + ld [$d7c2], a + ld hl, wPartyMons + ld de, $a268 + ld bc, $04c3 + call SaveData + xor a + ld [$d7c1], a + ; Start a round of Pinball! Yayy + ld a, SCREEN_PINBALL_GAME + ld [wCurrentScreen], a + xor a + ld [wScreenState], a + ret .pressedB - pop af - ld a, SCREEN_TITLESCREEN - ld [wCurrentScreen], a - xor a - ld [wScreenState], a - ret + pop af + ld a, SCREEN_TITLESCREEN + ld [wCurrentScreen], a + xor a + ld [wScreenState], a + ret StartingStages: ; 0xd7d1 ; wSelectedFieldIndex is used to index this array - db STAGE_RED_FIELD_BOTTOM, STAGE_BLUE_FIELD_BOTTOM + db STAGE_RED_FIELD_BOTTOM, STAGE_BLUE_FIELD_BOTTOM MoveFieldSelectCursor: ; 0xd7d3 ; When the player presses Right or Left, the stage is ; illuminated with a blinking border. This function keeps tracks ; of which field is currently selected. - ld a, [hPressedButtons] - ld b, a - ld a, [wSelectedFieldIndex] - bit BIT_D_LEFT, b - jr z, .didntPressLeft - and a - ret z ; if cursor is already hovering over Red stage, don't do anything - dec a ; move cursor over Red stage - ld [wSelectedFieldIndex], a - ld de, $003c - call PlaySoundEffect - ret + ld a, [hPressedButtons] + ld b, a + ld a, [wSelectedFieldIndex] + bit BIT_D_LEFT, b + jr z, .didntPressLeft + and a + ret z ; if cursor is already hovering over Red stage, don't do anything + dec a ; move cursor over Red stage + ld [wSelectedFieldIndex], a + ld de, $003c + call PlaySoundEffect + ret .didntPressLeft - bit BIT_D_RIGHT, b - ret z - cp $1 - ret z ; if cursor is already hovering over Blue stage, don't do anything - inc a ; move cursor over Red stage - ld [wSelectedFieldIndex], a - ld de, $003d - call PlaySoundEffect - ret + bit BIT_D_RIGHT, b + ret z + cp $1 + ret z ; if cursor is already hovering over Blue stage, don't do anything + inc a ; move cursor over Red stage + ld [wSelectedFieldIndex], a + ld de, $003d + call PlaySoundEffect + ret AnimateBlinkingFieldSelectBorder: ; 0xd7fb ; This makes the border of the currently-selected Field blink in the Field Select screen. - push hl - ld a, [wSelectedFieldIndex] - sla a - ld c, a - ld b, $0 - ld hl, $584f ; todo - add hl, bc - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [$d915] - sla a - ld e, a - ld d, $0 - pop hl - push hl - add hl, de - ld a, [hl] - call LoadOAMData - ld a, [wFieldSelectBlinkingBorderFrame] - dec a - jr nz, .asm_d838 - inc hl - inc hl - ld a, [hl] - and a - jr z, .asm_d82b - ld a, [$d915] - inc a + push hl + ld a, [wSelectedFieldIndex] + sla a + ld c, a + ld b, $0 + ld hl, Data_d84f ; todo + add hl, bc + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [$d915] + sla a + ld e, a + ld d, $0 + pop hl + push hl + add hl, de + ld a, [hl] + call LoadOAMData + ld a, [wFieldSelectBlinkingBorderFrame] + dec a + jr nz, .asm_d838 + inc hl + inc hl + ld a, [hl] + and a + jr z, .asm_d82b + ld a, [$d915] + inc a .asm_d82b - ld [$d915], a - sla a - ld c, a - ld b, $0 - pop hl - push hl - inc hl - add hl, bc - ld a, [hl] + ld [$d915], a + sla a + ld c, a + ld b, $0 + pop hl + push hl + inc hl + add hl, bc + ld a, [hl] .asm_d838 - ld [wFieldSelectBlinkingBorderFrame], a - pop hl - ret + ld [wFieldSelectBlinkingBorderFrame], a + pop hl + ret + +Data_d83d: + dr $d83d, $d846 -INCBIN "baserom.gbc",$d83d,$d853 - $d83d +Data_d846: + dr $d846, $d84f + +Data_d84f: + dr $d84f, $d853 HandlePinballGame: ; 0xd853 - ld a, [wScreenState] - rst $18 ; calls JumpToFuncInTable + ld a, [wScreenState] + rst $18 ; calls JumpToFuncInTable PinballGameScreenFunctions: ; 0xd857 - dw Func_d861 - dw Func_d87f - dw Func_d909 - dw Func_da36 - dw Func_dab2 + dw Func_d861 + dw Func_d87f + dw Func_d909 + dw Func_da36 + dw Func_dab2 Func_d861: ; 0xd861 - xor a - ld [$d908], a - ld [$ff8a], a - ld a, Bank(InitializeStage) - ld hl, InitializeStage - call BankSwitch - call Func_30e8 - ld a, $1 - ld [$d85d], a - ld [$d4aa], a - ld hl, wScreenState - inc [hl] - ret + xor a + ld [$d908], a + ld [$ff8a], a + ld a, Bank(InitializeStage) + ld hl, InitializeStage + call BankSwitch + call Func_30e8 + ld a, $1 + ld [$d85d], a + ld [$d4aa], a + ld hl, wScreenState + inc [hl] + ret Func_d87f: ; 0xd87f - ld a, $67 - ld [$ff9e], a - ld a, $e4 - ld [$d80c], a - ld a, $e1 - ld [$d80d], a - ld a, $e4 - ld [$d80e], a - ld a, [$d7ab] - ld [hBoardXShift], a - xor a - ld [hBoardYShift], a - ld a, $7 - ld [$ffa7], a - ld a, $83 - ld [$ffa2], a - ld [$ffa8], a - ld a, $ff - ld [$ffaf], a - ld hl, $ff9f - set 6, [hl] - ld hl, $ffff - set 1, [hl] - ld a, $1 - ld [$ffb0], a - ld [$ff8a], a - ld a, Bank(StartBallForStage) - ld hl, StartBallForStage - call BankSwitch - ld [$ff8a], a - ld a, Bank(LoadStageCollisionAttributes) - ld hl, LoadStageCollisionAttributes - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_e6c2) - ld hl, Func_e6c2 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_ed5e) - ld hl, Func_ed5e - call BankSwitch - call ClearOAMBuffer - ld [$ff8a], a - ld a, Bank(Func_84b7) - ld hl, Func_84b7 - call BankSwitch - ld a, [$d849] - and a - call nz, Func_e5d - ld a, $1 - ld [$d4aa], a - xor a - ld [$d7c1], a - call Func_b66 - call Func_588 - call Func_bbe - ld hl, wScreenState - inc [hl] - ret + ld a, $67 + ld [$ff9e], a + ld a, $e4 + ld [$d80c], a + ld a, $e1 + ld [$d80d], a + ld a, $e4 + ld [$d80e], a + ld a, [$d7ab] + ld [hBoardXShift], a + xor a + ld [hBoardYShift], a + ld a, $7 + ld [$ffa7], a + ld a, $83 + ld [$ffa2], a + ld [$ffa8], a + ld a, $ff + ld [$ffaf], a + ld hl, $ff9f + set 6, [hl] + ld hl, rIE + set 1, [hl] + ld a, $1 + ld [$ffb0], a + ld [$ff8a], a + ld a, Bank(StartBallForStage) + ld hl, StartBallForStage + call BankSwitch + ld [$ff8a], a + ld a, Bank(LoadStageCollisionAttributes) + ld hl, LoadStageCollisionAttributes + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_e6c2) + ld hl, Func_e6c2 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_ed5e) + ld hl, Func_ed5e + call BankSwitch + call ClearOAMBuffer + ld [$ff8a], a + ld a, Bank(Func_84b7) + ld hl, Func_84b7 + call BankSwitch + ld a, [$d849] + and a + call nz, Func_e5d + ld a, $1 + ld [$d4aa], a + xor a + ld [$d7c1], a + call Func_b66 + call Func_588 + call Func_bbe + ld hl, wScreenState + inc [hl] + ret Func_d909: ; 0xd909 ; main loop for stage logic - xor a - ld [wFlipperCollision], a - ld [$d7eb], a - call ApplyGravityToBall - call LimitBallVelocity - xor a - ld [$d7e9], a - call HandleTilts - ld a, [wCurrentStage] - bit 0, a - ld [$ff8a], a - ld a, Bank(HandleFlippers) - ld hl, HandleFlippers - call nz, BankSwitch ; only perform flipper routines on the lower-half of stages - ld a, [wFlipperCollision] - and a - ld a, [$d7ea] - push af - call Func_22b5 ; collision stuff - pop af - jr z, .noFlipperCollision - ld [$d7ea], a + xor a + ld [wFlipperCollision], a + ld [$d7eb], a + call ApplyGravityToBall + call LimitBallVelocity + xor a + ld [$d7e9], a + call HandleTilts + ld a, [wCurrentStage] + bit 0, a + ld [$ff8a], a + ld a, Bank(HandleFlippers) + ld hl, HandleFlippers + call nz, BankSwitch ; only perform flipper routines on the lower-half of stages + ld a, [wFlipperCollision] + and a + ld a, [$d7ea] + push af + call Func_22b5 ; collision stuff + pop af + jr z, .noFlipperCollision + ld [$d7ea], a .noFlipperCollision - call Func_2720 ; not collision-related - call Func_281c ; not collision-related - ld hl, wKeyConfigMenu - call IsKeyPressed - jr z, .didntPressMenuKey - ld de, $034c - call PlaySoundEffect - ld [$ff8a], a - ld a, Bank(HandleInGameMenu) - ld hl, HandleInGameMenu - call BankSwitch - jp z, SaveGame + call Func_2720 ; not collision-related + call Func_281c ; not collision-related + ld hl, wKeyConfigMenu + call IsKeyPressed + jr z, .didntPressMenuKey + ld de, $034c + call PlaySoundEffect + ld [$ff8a], a + ld a, Bank(HandleInGameMenu) + ld hl, HandleInGameMenu + call BankSwitch + jp z, SaveGame .didntPressMenuKey - ld a, [$d7e9] ; check for collision flag - and a - jr z, .asm_d9a2 - call ApplyTiltForces - call LoadBallVelocity - ld a, [$d7ea] - call Func_21e7 - call Func_222b - ld a, [wFlipperCollision] - and a - jr z, .asm_d993 - ld hl, $d7bc - ld a, [hli] - ld h, [hl] - ld l, a - ld a, e - sub l - ld e, a - ld a, d - sbc h - ld d, a - ld hl, $d7ba - ld a, [hli] - ld h, [hl] - ld l, a - ld a, c - add l - ld c, a - ld a, b - adc h - ld b, a - jr .asm_d999 + ld a, [$d7e9] ; check for collision flag + and a + jr z, .asm_d9a2 + call ApplyTiltForces + call LoadBallVelocity + ld a, [$d7ea] + call Func_21e7 + call Func_222b + ld a, [wFlipperCollision] + and a + jr z, .asm_d993 + ld hl, $d7bc + ld a, [hli] + ld h, [hl] + ld l, a + ld a, e + sub l + ld e, a + ld a, d + sbc h + ld d, a + ld hl, $d7ba + ld a, [hli] + ld h, [hl] + ld l, a + ld a, c + add l + ld c, a + ld a, b + adc h + ld b, a + jr .asm_d999 .asm_d993 - ld a, [$d7f8] - and a - jr nz, .asm_d9a2 + ld a, [$d7f8] + and a + jr nz, .asm_d9a2 .asm_d999 - ld a, [$d7ea] - call Func_21e5 - call SetBallVelocity + ld a, [$d7ea] + call Func_21e5 + call SetBallVelocity .asm_d9a2 - call MoveBallPosition - ld [$ff8a], a - ld a, Bank(Func_ece9) - ld hl, Func_ece9 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_84b7) - ld hl, Func_84b7 - call BankSwitch - call Func_33e3 - ld a, [$d5cb] - and a - jr nz, .asm_d9e9 - ld [$ff8a], a - ld a, Bank(Func_85c7) - ld hl, Func_85c7 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_8650) - ld hl, Func_8650 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_8645) - ld hl, Func_8645 - call BankSwitch - call Func_dba9 - call Func_dc7c - call Func_dcb4 + call MoveBallPosition + ld [$ff8a], a + ld a, Bank(Func_ece9) + ld hl, Func_ece9 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_84b7) + ld hl, Func_84b7 + call BankSwitch + call Func_33e3 + ld a, [$d5cb] + and a + jr nz, .asm_d9e9 + ld [$ff8a], a + ld a, Bank(Func_85c7) + ld hl, Func_85c7 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_8650) + ld hl, Func_8650 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_8645) + ld hl, Func_8645 + call BankSwitch + call Func_dba9 + call Func_dc7c + call Func_dcb4 .asm_d9e9 - ld a, [$d57d] - and a - ld [$ff8a], a - ld a, Bank(Func_86a4) - ld hl, Func_86a4 - call nz, BankSwitch - ld a, [$d4ae] - and a - ret z - xor a - ld [$d4ae], a - ld hl, wScreenState - inc [hl] - ret + ld a, [$d57d] + and a + ld [$ff8a], a + ld a, Bank(Func_86a4) + ld hl, Func_86a4 + call nz, BankSwitch + ld a, [$d4ae] + and a + ret z + xor a + ld [$d4ae], a + ld hl, wScreenState + inc [hl] + ret SaveGame: ; 0xda05 - ld de, $0000 - call PlaySong - ld bc, $0004 - call Func_93f - call Func_cb5 - ld a, [$d849] - and a - call nz, Func_e5d - call Func_576 - ld hl, $ff9f - res 6, [hl] - ld hl, $ffff - res 1, [hl] - xor a - ld [$d4aa], a - ld a, SCREEN_TITLESCREEN - ld [wCurrentScreen], a - xor a - ld [wScreenState], a - ret + ld de, $0000 + call PlaySong + ld bc, $0004 + call Func_93f + call Func_cb5 + ld a, [$d849] + and a + call nz, Func_e5d + call Func_576 + ld hl, $ff9f + res 6, [hl] + ld hl, rIE + res 1, [hl] + xor a + ld [$d4aa], a + ld a, SCREEN_TITLESCREEN + ld [wCurrentScreen], a + xor a + ld [wScreenState], a + ret Func_da36: ; 0xda36 - xor a - ld [hJoypadState], a - ld [hNewlyPressedButtons], a - ld [hPressedButtons], a - ld [wFlipperCollision], a - ld [$d7eb], a - xor a - ld [$d7e9], a - ld [$d548], a - ld [$d549], a - call HandleTilts - ld a, [wCurrentStage] - bit 0, a - ld [$ff8a], a - ld a, Bank(HandleFlippers) - ld hl, HandleFlippers - call nz, BankSwitch - ld [$ff8a], a - ld a, Bank(Func_84b7) - ld hl, Func_84b7 - call BankSwitch - call Func_33e3 - ld [$ff8a], a - ld a, Bank(Func_85c7) - ld hl, Func_85c7 - call BankSwitch - ld a, [$d5ca] - and a - ret nz - ld a, [$d4c9] - and a - jr z, .asm_daa9 - ld a, [$d49c] - cp $2 - jr z, .asm_daa9 - call Func_f533 - ld a, [$d49c] - and a - jr z, .asm_daa9 - ld a, $2 - ld [$d49c], a - ld [$d4aa], a - call Func_30e8 - call Func_30db - ld hl, $d5dc - ld de, $28db - call Func_32aa - ret + xor a + ld [hJoypadState], a + ld [hNewlyPressedButtons], a + ld [hPressedButtons], a + ld [wFlipperCollision], a + ld [$d7eb], a + xor a + ld [$d7e9], a + ld [$d548], a + ld [$d549], a + call HandleTilts + ld a, [wCurrentStage] + bit 0, a + ld [$ff8a], a + ld a, Bank(HandleFlippers) + ld hl, HandleFlippers + call nz, BankSwitch + ld [$ff8a], a + ld a, Bank(Func_84b7) + ld hl, Func_84b7 + call BankSwitch + call Func_33e3 + ld [$ff8a], a + ld a, Bank(Func_85c7) + ld hl, Func_85c7 + call BankSwitch + ld a, [$d5ca] + and a + ret nz + ld a, [$d4c9] + and a + jr z, .asm_daa9 + ld a, [$d49c] + cp $2 + jr z, .asm_daa9 + call Func_f533 + ld a, [$d49c] + and a + jr z, .asm_daa9 + ld a, $2 + ld [$d49c], a + ld [$d4aa], a + call Func_30e8 + call Func_30db + ld hl, $d5dc + ld de, $28db + call Func_32aa + ret .asm_daa9 - xor a - ld [$d49c], a - ld hl, wScreenState - inc [hl] - ret + xor a + ld [$d49c], a + ld hl, wScreenState + inc [hl] + ret Func_dab2: ; 0xdab2 - xor a - ld [$d803], a - ld a, [$d616] - and a - jp nz, TransitionToHighScoresScreen - ld a, [$d495] - and a - jr nz, .asm_dae6 - ld a, [$d496] - and a - jr nz, .asm_db28 - call Func_cb5 - ld a, [$d849] - and a - call z, Func_e5d - call Func_576 - ld hl, $ff9f - res 6, [hl] - ld hl, $ffff - res 1, [hl] - ld a, $1 - ld [wScreenState], a - ret + xor a + ld [$d803], a + ld a, [$d616] + and a + jp nz, TransitionToHighScoresScreen + ld a, [$d495] + and a + jr nz, .asm_dae6 + ld a, [$d496] + and a + jr nz, .asm_db28 + call Func_cb5 + ld a, [$d849] + and a + call z, Func_e5d + call Func_576 + ld hl, $ff9f + res 6, [hl] + ld hl, rIE + res 1, [hl] + ld a, $1 + ld [wScreenState], a + ret .asm_dae6 - ld de, $0000 - call PlaySong - ld bc, $0004 - call Func_93f - call Func_cb5 - ld a, [$d849] - and a - call nz, Func_e5d - call Func_576 - ld hl, $ff9f - res 6, [hl] - ld hl, $ffff - res 1, [hl] - ld a, [wCurrentStage] - ld [$d4ad], a - ld a, [wStageCollisionState] - ld [$d4b0], a - ld a, [$d497] - ld [wCurrentStage], a - xor a - ld [$d496], a - ld [$d495], a - ld a, $0 - ld [wScreenState], a - ret + ld de, $0000 + call PlaySong + ld bc, $0004 + call Func_93f + call Func_cb5 + ld a, [$d849] + and a + call nz, Func_e5d + call Func_576 + ld hl, $ff9f + res 6, [hl] + ld hl, rIE + res 1, [hl] + ld a, [wCurrentStage] + ld [$d4ad], a + ld a, [wStageCollisionState] + ld [$d4b0], a + ld a, [$d497] + ld [wCurrentStage], a + xor a + ld [$d496], a + ld [$d495], a + ld a, $0 + ld [wScreenState], a + ret .asm_db28 - ld de, $0000 - call PlaySong - ld bc, $0004 - call Func_93f - call Func_cb5 - ld a, [$d849] - and a - call nz, Func_e5d - call Func_576 - ld hl, $ff9f - res 6, [hl] - ld hl, $ffff - res 1, [hl] - ld a, [$d4ad] - ld [wCurrentStage], a - ld a, [$d4b0] - ld [wStageCollisionState], a - ld a, $1 - ld [wScreenState], a - ret + ld de, $0000 + call PlaySong + ld bc, $0004 + call Func_93f + call Func_cb5 + ld a, [$d849] + and a + call nz, Func_e5d + call Func_576 + ld hl, $ff9f + res 6, [hl] + ld hl, rIE + res 1, [hl] + ld a, [$d4ad] + ld [wCurrentStage], a + ld a, [$d4b0] + ld [wStageCollisionState], a + ld a, $1 + ld [wScreenState], a + ret TransitionToHighScoresScreen: ; 0xdb5d - xor a - ld [$d616], a - ld de, $0000 - call PlaySong - ld bc, $0004 - call Func_93f - call Func_cb5 - call Func_576 - ld hl, $ff9f - res 6, [hl] - ld hl, $ffff - res 1, [hl] - xor a - ld [$d4aa], a - ld a, [wCurrentStage] - ld c, a - ld b, $0 - ld hl, HighScoresStageMapping - add hl, bc - ld a, [hl] - ld [wHighScoresStage], a - ld a, SCREEN_HIGH_SCORES - ld [wCurrentScreen], a - xor a - ld [wScreenState], a - ret + xor a + ld [$d616], a + ld de, $0000 + call PlaySong + ld bc, $0004 + call Func_93f + call Func_cb5 + call Func_576 + ld hl, $ff9f + res 6, [hl] + ld hl, rIE + res 1, [hl] + xor a + ld [$d4aa], a + ld a, [wCurrentStage] + ld c, a + ld b, $0 + ld hl, HighScoresStageMapping + add hl, bc + ld a, [hl] + ld [wHighScoresStage], a + ld a, SCREEN_HIGH_SCORES + ld [wCurrentScreen], a + xor a + ld [wScreenState], a + ret HighScoresStageMapping: ; 0xdb99 ; Determines which stage the high scores screen will start in, ; based on the map the player ended in. ; See wHighScoresStage for more info. - db $00 ; STAGE_RED_FIELD_TOP - db $00 ; STAGE_RED_FIELD_BOTTOM - db $00 - db $00 - db $01 ; STAGE_BLUE_FIELD_TOP - db $01 ; STAGE_BLUE_FIELD_BOTTOM - db $00 ; STAGE_GENGAR_BONUS - db $00 ; STAGE_GENGAR_BONUS - db $00 ; STAGE_MEWTWO_BONUS - db $00 ; STAGE_MEWTWO_BONUS - db $00 ; STAGE_MEOWTH_BONUS - db $00 ; STAGE_MEOWTH_BONUS - db $00 ; STAGE_DIGLETT_BONUS - db $00 ; STAGE_DIGLETT_BONUS - db $00 ; STAGE_SEEL_BONUS - db $00 ; STAGE_SEEL_BONUS + db $00 ; STAGE_RED_FIELD_TOP + db $00 ; STAGE_RED_FIELD_BOTTOM + db $00 + db $00 + db $01 ; STAGE_BLUE_FIELD_TOP + db $01 ; STAGE_BLUE_FIELD_BOTTOM + db $00 ; STAGE_GENGAR_BONUS + db $00 ; STAGE_GENGAR_BONUS + db $00 ; STAGE_MEWTWO_BONUS + db $00 ; STAGE_MEWTWO_BONUS + db $00 ; STAGE_MEOWTH_BONUS + db $00 ; STAGE_MEOWTH_BONUS + db $00 ; STAGE_DIGLETT_BONUS + db $00 ; STAGE_DIGLETT_BONUS + db $00 ; STAGE_SEEL_BONUS + db $00 ; STAGE_SEEL_BONUS Func_dba9: ; 0xdba9 - ld a, $85 - ld [$c644], a - ld a, [$d49d] - xor $3 - inc a - add $86 - ld [$c645], a - ret + ld a, $85 + ld [$c644], a + ld a, [$d49d] + xor $3 + inc a + add $86 + ld [$c645], a + ret Func_dbba: ; 0xdbba - ld a, $1 - ld [wBallSaverIconOn], a - ld a, $ff - ld [$d4a2], a - ld a, $3b - ld [wBallSaverTimerFrames], a - ld a, $14 - ld [wBallSaverTimerSeconds], a - ld a, $2 - ld [$d4a5], a - ret + ld a, $1 + ld [wBallSaverIconOn], a + ld a, $ff + ld [$d4a2], a + ld a, $3b + ld [wBallSaverTimerFrames], a + ld a, $14 + ld [wBallSaverTimerSeconds], a + ld a, $2 + ld [$d4a5], a + ret InitBallSaverForCatchEmMode: ; 0xdbd4 - ld a, [wBallSaverTimerFrames] - ld [wBallSaverTimerFramesBackup], a - ld a, [wBallSaverTimerSeconds] - ld [wBallSaverTimerSecondsBackup], a - ld a, [$d4a5] - ld [$d4a8], a - ld a, $0 - ld [wBallSaverIconOn], a - ld a, $ff - ld [$d4a2], a - ld a, 59 - ld [wBallSaverTimerFrames], a - ld a, 60 - ld [wBallSaverTimerSeconds], a - ld a, $ff - ld [$d4a5], a - ret + ld a, [wBallSaverTimerFrames] + ld [wBallSaverTimerFramesBackup], a + ld a, [wBallSaverTimerSeconds] + ld [wBallSaverTimerSecondsBackup], a + ld a, [$d4a5] + ld [$d4a8], a + ld a, $0 + ld [wBallSaverIconOn], a + ld a, $ff + ld [$d4a2], a + ld a, 59 + ld [wBallSaverTimerFrames], a + ld a, 60 + ld [wBallSaverTimerSeconds], a + ld a, $ff + ld [$d4a5], a + ret Func_dc00: ; 0xdc00 - ld a, [wBallSaverTimerFramesBackup] - ld [wBallSaverTimerFrames], a - ld a, [wBallSaverTimerSecondsBackup] - ld [wBallSaverTimerSeconds], a - ld a, [$d4a8] - ld [$d4a5], a - ld a, [wBallSaverTimerSeconds] - and a - jr z, .asm_dc1a - ld a, $1 + ld a, [wBallSaverTimerFramesBackup] + ld [wBallSaverTimerFrames], a + ld a, [wBallSaverTimerSecondsBackup] + ld [wBallSaverTimerSeconds], a + ld a, [$d4a8] + ld [$d4a5], a + ld a, [wBallSaverTimerSeconds] + and a + jr z, .asm_dc1a + ld a, $1 .asm_dc1a - ld [wBallSaverIconOn], a - ld a, [wBallSaverTimerSeconds] - ld c, $0 - cp $2 - jr c, .asm_dc34 - ld c, $4 - cp $6 - jr c, .asm_dc34 - ld c, $10 - cp $b - jr c, .asm_dc34 - ld c, $ff + ld [wBallSaverIconOn], a + ld a, [wBallSaverTimerSeconds] + ld c, $0 + cp $2 + jr c, .asm_dc34 + ld c, $4 + cp $6 + jr c, .asm_dc34 + ld c, $10 + cp $b + jr c, .asm_dc34 + ld c, $ff .asm_dc34 - ld a, c - ld [$d4a2], a - ld a, [wCurrentStage] - bit 0, a - ret z - ld [$ff8a], a - ld a, Bank(Func_14707) - ld hl, Func_14707 - call BankSwitch - ret - -INCBIN "baserom.gbc",$dc49,$dc49 - $dc49 + ld a, c + ld [$d4a2], a + ld a, [wCurrentStage] + bit 0, a + ret z + ld [$ff8a], a + ld a, Bank(Func_14707) + ld hl, Func_14707 + call BankSwitch + ret Func_dc49: ; 0xdc49 - ld a, [wCurrentStage] - rst $18 ; calls JumpToFuncInTable + ld a, [wCurrentStage] + rst $18 ; calls JumpToFuncInTable CallTable_dc4d: ; 0xdc4d - ; STAGE_RED_FIELD_TOP - dw Func_dd76 + ; STAGE_RED_FIELD_TOP + dw Func_dd76 - ; STAGE_RED_FIELD_BOTTOM - dw Func_dd76 + ; STAGE_RED_FIELD_BOTTOM + dw Func_dd76 - dw Func_de4e + dw Func_de4e - dw Func_de4e + dw Func_de4e - ; STAGE_BLUE_FIELD_TOP - dw Func_de4f + ; STAGE_BLUE_FIELD_TOP + dw Func_de4f - ; STAGE_BLUE_FIELD_TOP - dw Func_de4f + ; STAGE_BLUE_FIELD_TOP + dw Func_de4f - ; STAGE_GENGAR_BONUS - dw Func_df1a + ; STAGE_GENGAR_BONUS + dw Func_df1a - ; STAGE_GENGAR_BONUS - dw Func_df1a + ; STAGE_GENGAR_BONUS + dw Func_df1a - ; STAGE_MEWTWO_BONUS - dw Func_df7e + ; STAGE_MEWTWO_BONUS + dw Func_df7e - ; STAGE_MEWTWO_BONUS - dw Func_df7e + ; STAGE_MEWTWO_BONUS + dw Func_df7e - ; STAGE_MEOWTH_BONUS - dw Func_dfe2 + ; STAGE_MEOWTH_BONUS + dw Func_dfe2 - ; STAGE_MEOWTH_BONUS - dw Func_dfe2 + ; STAGE_MEOWTH_BONUS + dw Func_dfe2 - ; STAGE_DIGLETT_BONUS - dw Func_e056 + ; STAGE_DIGLETT_BONUS + dw Func_e056 - ; STAGE_DIGLETT_BONUS - dw Func_e056 + ; STAGE_DIGLETT_BONUS + dw Func_e056 - ; STAGE_SEEL_BONUS - dw Func_e08b + ; STAGE_SEEL_BONUS + dw Func_e08b - ; STAGE_SEEL_BONUS - dw Func_e08b + ; STAGE_SEEL_BONUS + dw Func_e08b Func_dc6d: ; 0xdc6d - push de - call Func_30e8 - call Func_30db - ld hl, $d5dc - pop de - call Func_32aa - ret - -INCBIN "baserom.gbc",$dc7c,$dc7c - $dc7c + push de + call Func_30e8 + call Func_30db + ld hl, $d5dc + pop de + call Func_32aa + ret Func_dc7c: ; 0xdc7c - ld hl, $c640 - ld a, $83 - ld [hli], a - ld a, $81 - ld [hli], a - ld a, $81 - ld [hl], a - ld a, [wNumPartyMons] - call ConvertHexByteToDecWord - ld hl, $c641 - ld c, $1 - ld a, d - call .asm_dca0 - ld a, e - swap a - call .asm_dca0 - ld a, e - ld c, $0 + ld hl, $c640 + ld a, $83 + ld [hli], a + ld a, $81 + ld [hli], a + ld a, $81 + ld [hl], a + ld a, [wNumPartyMons] + call ConvertHexByteToDecWord + ld hl, $c641 + ld c, $1 + ld a, d + call .asm_dca0 + ld a, e + swap a + call .asm_dca0 + ld a, e + ld c, $0 .asm_dca0 - and $f - jr nz, .asm_dca7 - ld a, c - and a - ret nz + and $f + jr nz, .asm_dca7 + ld a, c + and a + ret nz .asm_dca7 - ld c, $0 - add $86 - ld [hli], a - ret + ld c, $0 + add $86 + ld [hli], a + ret -INCBIN "baserom.gbc",$dcad,$dcb4 - $dcad + dr $dcad, $dcb4 Func_dcb4: ; 0xdcb4 - ld a, [$d517] - cp $f - ld a, $81 - jr nz, .asm_dcbf - ld a, $84 + ld a, [$d517] + cp $f + ld a, $81 + jr nz, .asm_dcbf + ld a, $84 .asm_dcbf - ld [$c646], a - ret + ld [$c646], a + ret LoadBallGfx: ; 0xdcc3 - xor a - ld [$d4c8], a - ld a, [wBallType] - cp GREAT_BALL - jr nc, .notPokeBall - ld a, Bank(PinballPokeballGfx) - ld hl, PinballPokeballGfx - ld de, $8400 - ld bc, $0200 - call Func_735 - ret + xor a + ld [$d4c8], a + ld a, [wBallType] + cp GREAT_BALL + jr nc, .notPokeBall + ld a, Bank(PinballPokeballGfx) + ld hl, PinballPokeballGfx + ld de, $8400 + ld bc, $0200 + call Func_735 + ret .notPokeBall - cp ULTRA_BALL - jr nc, .notGreatBall - ld a, Bank(PinballGreatballGfx) - ld hl, PinballGreatballGfx - ld de, $8400 - ld bc, $0200 - call Func_735 - ret + cp ULTRA_BALL + jr nc, .notGreatBall + ld a, Bank(PinballGreatballGfx) + ld hl, PinballGreatballGfx + ld de, $8400 + ld bc, $0200 + call Func_735 + ret .notGreatBall - cp MASTER_BALL - jr nc, .notUltraBall - ld a, Bank(PinballUltraballGfx) - ld hl, PinballUltraballGfx - ld de, $8400 - ld bc, $0200 - call Func_735 - ret + cp MASTER_BALL + jr nc, .notUltraBall + ld a, Bank(PinballUltraballGfx) + ld hl, PinballUltraballGfx + ld de, $8400 + ld bc, $0200 + call Func_735 + ret .notUltraBall - ld a, Bank(PinballMasterballGfx) - ld hl, PinballMasterballGfx - ld de, $8400 - ld bc, $0200 - call Func_735 - ret + ld a, Bank(PinballMasterballGfx) + ld hl, PinballMasterballGfx + ld de, $8400 + ld bc, $0200 + call Func_735 + ret LoadMiniBallGfx: ; 0xdd12 - ld a, $1 - ld [$d4c8], a - ld a, [wBallType] - cp GREAT_BALL - jr nc, .notPokeBall - ld a, Bank(PinballPokeballMiniGfx) - ld hl, PinballPokeballMiniGfx - ld de, $8400 - ld bc, $0200 - call Func_735 - ret + ld a, $1 + ld [$d4c8], a + ld a, [wBallType] + cp GREAT_BALL + jr nc, .notPokeBall + ld a, Bank(PinballPokeballMiniGfx) + ld hl, PinballPokeballMiniGfx + ld de, $8400 + ld bc, $0200 + call Func_735 + ret .notPokeBall - cp ULTRA_BALL - jr nc, .notGreatBall - ld a, Bank(PinballGreatballMiniGfx) - ld hl, PinballGreatballMiniGfx - ld de, $8400 - ld bc, $0200 - call Func_735 - ret + cp ULTRA_BALL + jr nc, .notGreatBall + ld a, Bank(PinballGreatballMiniGfx) + ld hl, PinballGreatballMiniGfx + ld de, $8400 + ld bc, $0200 + call Func_735 + ret .notGreatBall - cp MASTER_BALL - jr nc, .notUltraBall - ld a, Bank(PinballUltraballMiniGfx) - ld hl, PinballUltraballMiniGfx - ld de, $8400 - ld bc, $0200 - call Func_735 - ret + cp MASTER_BALL + jr nc, .notUltraBall + ld a, Bank(PinballUltraballMiniGfx) + ld hl, PinballUltraballMiniGfx + ld de, $8400 + ld bc, $0200 + call Func_735 + ret .notUltraBall - ld a, Bank(PinballMasterballMiniGfx) - ld hl, PinballMasterballMiniGfx - ld de, $8400 - ld bc, $0200 - call Func_735 - ret + ld a, Bank(PinballMasterballMiniGfx) + ld hl, PinballMasterballMiniGfx + ld de, $8400 + ld bc, $0200 + call Func_735 + ret Func_dd62: ; 0xdd62 - ld a, $2 - ld [$d4c8], a - ld a, $2a - ld hl, $5800 - ld de, $8400 - ld bc, $0200 - call Func_735 - ret + ld a, $2 + ld [$d4c8], a + ld a, $2a + ld hl, PinballBallMiniGfx + ld de, $8400 + ld bc, $0200 + call Func_735 + ret Func_dd76: ; 0xdd76 - ld a, [wBallSaverTimerFrames] - ld hl, wBallSaverTimerSeconds - or [hl] - jr z, .asm_dda3 - ld a, [$d4a5] - bit 7, a - jr nz, .asm_dd9c - dec a - ld [$d4a5], a - push af - ld de, $28c9 - call Func_dc6d - pop af - jr nz, .asm_dd9c - ld a, $1 - ld [wBallSaverTimerFrames], a - ld [wBallSaverTimerSeconds], a + ld a, [wBallSaverTimerFrames] + ld hl, wBallSaverTimerSeconds + or [hl] + jr z, .asm_dda3 + ld a, [$d4a5] + bit 7, a + jr nz, .asm_dd9c + dec a + ld [$d4a5], a + push af + ld de, $28c9 + call Func_dc6d + pop af + jr nz, .asm_dd9c + ld a, $1 + ld [wBallSaverTimerFrames], a + ld [wBallSaverTimerSeconds], a .asm_dd9c - ld de, $1502 - call PlaySoundEffect - ret + ld de, $1502 + call PlaySoundEffect + ret .asm_dda3 - ld de, $0000 - call PlaySong - ld bc, $001e - call Func_93f - ld de, $2524 - call PlaySoundEffect - call Func_dbba - ld a, $1 - ld [$d4c9], a - xor a - ld [$d4de], a - ld [$d4df], a - call Func_ddfd - ld a, [$d49b] - and a - jr z, .asm_dddd - dec a - ld [$d49b], a - ld a, $1 - ld [$d49c], a - ld de, $28ee - call Func_dc6d - ret + ld de, $0000 + call PlaySong + ld bc, $001e + call Func_93f + ld de, $2524 + call PlaySoundEffect + call Func_dbba + ld a, $1 + ld [$d4c9], a + xor a + ld [$d4de], a + ld [$d4df], a + call Func_ddfd + ld a, [$d49b] + and a + jr z, .asm_dddd + dec a + ld [$d49b], a + ld a, $1 + ld [$d49c], a + ld de, $28ee + call Func_dc6d + ret .asm_dddd - ld a, [$d49d] - ld hl, $d49e - cp [hl] - jr z, .asm_ddf1 - inc a - ld [$d49d], a - ld de, $28ee - call Func_dc6d - ret + ld a, [$d49d] + ld hl, $d49e + cp [hl] + jr z, .asm_ddf1 + inc a + ld [$d49d], a + ld de, $28ee + call Func_dc6d + ret .asm_ddf1 - ld de, $28ee - call Func_dc6d - ld a, $1 - ld [$d616], a - ret + ld de, $28ee + call Func_dc6d + ld a, $1 + ld [$d616], a + ret Func_ddfd: ; 0xddfd - ld a, [wInSpecialMode] - and a - ret z - ld a, [wSpecialMode] - and a - jr nz, .asm_de14 - ld [$ff8a], a - ld a, Bank(Func_10157) - ld hl, Func_10157 - call BankSwitch - jr .asm_de40 + ld a, [wInSpecialMode] + and a + ret z + ld a, [wSpecialMode] + and a + jr nz, .asm_de14 + ld [$ff8a], a + ld a, Bank(Func_10157) + ld hl, Func_10157 + call BankSwitch + jr .asm_de40 .asm_de14 - cp $1 - jr nz, .asm_de2d - xor a - ld [$d604], a - ld a, $1e - ld [$d607], a - ld [$ff8a], a - ld a, Bank(Func_10ac8) - ld hl, Func_10ac8 - call BankSwitch - jr .asm_de40 + cp $1 + jr nz, .asm_de2d + xor a + ld [$d604], a + ld a, $1e + ld [$d607], a + ld [$ff8a], a + ld a, Bank(Func_10ac8) + ld hl, Func_10ac8 + call BankSwitch + jr .asm_de40 .asm_de2d - xor a - ld [$d604], a - ld a, $1e - ld [$d607], a - ld [$ff8a], a - ld a, Bank(Func_3022b) - ld hl, Func_3022b - call BankSwitch + xor a + ld [$d604], a + ld a, $1e + ld [$d607], a + ld [$ff8a], a + ld a, Bank(Func_3022b) + ld hl, Func_3022b + call BankSwitch .asm_de40 - ld a, [$d7ad] - ld c, a - ld a, [wStageCollisionState] - and $1 - or c - ld [wStageCollisionState], a - ret + ld a, [$d7ad] + ld c, a + ld a, [wStageCollisionState] + and $1 + or c + ld [wStageCollisionState], a + ret Func_de4e: ; 0xde4e - ret + ret Func_de4f: ; 0xde4f - ld a, [wBallSaverTimerFrames] - ld hl, wBallSaverTimerSeconds - or [hl] - jr z, .asm_de7c - ld a, [$d4a5] - bit 7, a - jr nz, .asm_de75 - dec a - ld [$d4a5], a - push af - ld de, $28c9 - call Func_dc6d - pop af - jr nz, .asm_de75 - ld a, $1 - ld [wBallSaverTimerFrames], a - ld [wBallSaverTimerSeconds], a + ld a, [wBallSaverTimerFrames] + ld hl, wBallSaverTimerSeconds + or [hl] + jr z, .asm_de7c + ld a, [$d4a5] + bit 7, a + jr nz, .asm_de75 + dec a + ld [$d4a5], a + push af + ld de, $28c9 + call Func_dc6d + pop af + jr nz, .asm_de75 + ld a, $1 + ld [wBallSaverTimerFrames], a + ld [wBallSaverTimerSeconds], a .asm_de75 - ld de, $1502 - call PlaySoundEffect - ret + ld de, $1502 + call PlaySoundEffect + ret .asm_de7c - ld de, $0000 - call PlaySong - ld bc, $001e - call Func_93f - ld de, $2524 - call PlaySoundEffect - call Func_dbba - ld a, $1 - ld [$d4c9], a - xor a - ld [$d4de], a - ld [$d4df], a - call Func_ded6 - ld a, [$d49b] - and a - jr z, .asm_deb6 - dec a - ld [$d49b], a - ld a, $1 - ld [$d49c], a - ld de, $28ee - call Func_dc6d - ret + ld de, $0000 + call PlaySong + ld bc, $001e + call Func_93f + ld de, $2524 + call PlaySoundEffect + call Func_dbba + ld a, $1 + ld [$d4c9], a + xor a + ld [$d4de], a + ld [$d4df], a + call Func_ded6 + ld a, [$d49b] + and a + jr z, .asm_deb6 + dec a + ld [$d49b], a + ld a, $1 + ld [$d49c], a + ld de, $28ee + call Func_dc6d + ret .asm_deb6 - ld a, [$d49d] - ld hl, $d49e - cp [hl] - jr z, .asm_deca - inc a - ld [$d49d], a - ld de, $28ee - call Func_dc6d - ret + ld a, [$d49d] + ld hl, $d49e + cp [hl] + jr z, .asm_deca + inc a + ld [$d49d], a + ld de, $28ee + call Func_dc6d + ret .asm_deca - ld de, $28ee - call Func_dc6d - ld a, $1 - ld [$d616], a - ret + ld de, $28ee + call Func_dc6d + ld a, $1 + ld [$d616], a + ret Func_ded6: ; 0xded6 - ld a, [wInSpecialMode] - and a - ret z - ld a, [wSpecialMode] - and a - jr nz, .asm_deec - ld [$ff8a], a - ld a, Bank(Func_10157) - ld hl, Func_10157 - call BankSwitch - ret + ld a, [wInSpecialMode] + and a + ret z + ld a, [wSpecialMode] + and a + jr nz, .asm_deec + ld [$ff8a], a + ld a, Bank(Func_10157) + ld hl, Func_10157 + call BankSwitch + ret .asm_deec - cp $1 - jr nz, .asm_df05 - ld a, $0 - ld [$d604], a - ld a, $1e - ld [$d607], a - ld [$ff8a], a - ld a, Bank(Func_10ac8) - ld hl, Func_10ac8 - call BankSwitch - ret + cp $1 + jr nz, .asm_df05 + ld a, $0 + ld [$d604], a + ld a, $1e + ld [$d607], a + ld [$ff8a], a + ld a, Bank(Func_10ac8) + ld hl, Func_10ac8 + call BankSwitch + ret .asm_df05 - ld a, $0 - ld [$d604], a - ld a, $1e - ld [$d607], a - ld [$ff8a], a - ld a, Bank(Func_3022b) - ld hl, Func_3022b - call BankSwitch - ret + ld a, $0 + ld [$d604], a + ld a, $1e + ld [$d607], a + ld [$ff8a], a + ld a, Bank(Func_3022b) + ld hl, Func_3022b + call BankSwitch + ret Func_df1a: ; 0xdf1a - ld a, [$d4ad] - ld hl, wCurrentStage - cp [hl] - ret z - ld a, [$d6a8] - and a - jr nz, .asm_df57 - ld a, [$d6a2] - cp $5 - jr c, .asm_df50 - xor a - ld [$d4ae], a - ld a, [$d6a7] - and a - ret nz - ld [$d548], a - ld [$d549], a - ld [wBallSpin], a - ld [wBallRotation], a - ld hl, wBallXVelocity - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld a, $1 - ld [$d6a7], a + ld a, [$d4ad] + ld hl, wCurrentStage + cp [hl] + ret z + ld a, [$d6a8] + and a + jr nz, .asm_df57 + ld a, [$d6a2] + cp $5 + jr c, .asm_df50 + xor a + ld [$d4ae], a + ld a, [$d6a7] + and a + ret nz + ld [$d548], a + ld [$d549], a + ld [wBallSpin], a + ld [wBallRotation], a + ld hl, wBallXVelocity + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld a, $1 + ld [$d6a7], a .asm_df50 - ld de, $0002 - call PlaySoundEffect - ret + ld de, $0002 + call PlaySoundEffect + ret .asm_df57 - xor a - ld [$d495], a - ld a, $1 - ld [$d496], a - ld a, $2 - ld [$d4c8], a - xor a - ld [$d7ac], a - ld a, [$d49a] - and a - ret nz - call Func_30e8 - call Func_30db - ld hl, $d5dc - ld de, $2f04 - call Func_32aa - ret + xor a + ld [$d495], a + ld a, $1 + ld [$d496], a + ld a, $2 + ld [$d4c8], a + xor a + ld [$d7ac], a + ld a, [$d49a] + and a + ret nz + call Func_30e8 + call Func_30db + ld hl, $d5dc + ld de, $2f04 + call Func_32aa + ret Func_df7e: ; 0xdf7e - ld a, [$d4ad] - ld hl, wCurrentStage - cp [hl] - ret z - ld a, [$d6b3] - and a - jr nz, .asm_dfbb - ld a, [$d6b1] - cp $8 - jr c, .asm_dfb4 - xor a - ld [$d4ae], a - ld a, [$d6b2] - and a - ret nz - ld [$d548], a - ld [$d549], a - ld [wBallSpin], a - ld [wBallRotation], a - ld hl, wBallXVelocity - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld a, $1 - ld [$d6b2], a + ld a, [$d4ad] + ld hl, wCurrentStage + cp [hl] + ret z + ld a, [$d6b3] + and a + jr nz, .asm_dfbb + ld a, [$d6b1] + cp $8 + jr c, .asm_dfb4 + xor a + ld [$d4ae], a + ld a, [$d6b2] + and a + ret nz + ld [$d548], a + ld [$d549], a + ld [wBallSpin], a + ld [wBallRotation], a + ld hl, wBallXVelocity + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld a, $1 + ld [$d6b2], a .asm_dfb4 - ld de, $000b - call PlaySoundEffect - ret + ld de, $000b + call PlaySoundEffect + ret .asm_dfbb - xor a - ld [$d495], a - ld a, $1 - ld [$d496], a - ld a, $2 - ld [$d4c8], a - xor a - ld [$d7ac], a - ld a, [$d49a] - and a - ret nz - call Func_30e8 - call Func_30db - ld hl, $d5dc - ld de, $2f1c - call Func_32aa - ret + xor a + ld [$d495], a + ld a, $1 + ld [$d496], a + ld a, $2 + ld [$d4c8], a + xor a + ld [$d7ac], a + ld a, [$d49a] + and a + ret nz + call Func_30e8 + call Func_30db + ld hl, $d5dc + ld de, $2f1c + call Func_32aa + ret Func_dfe2: ; 0xdfe2 - xor a - ld [$d64e], a - ld a, [$d7be] - and a - jr z, .asm_dff2 - ld a, [$d49a] - and a - jr z, .asm_e00f + xor a + ld [$d64e], a + ld a, [$d7be] + and a + jr z, .asm_dff2 + ld a, [$d49a] + and a + jr z, .asm_e00f .asm_dff2 - ld a, [wMeowthStageScore] - cp $14 - jr nc, .asm_e00f - cp $5 - jr c, .asm_e001 - sub $4 - jr .asm_e002 + ld a, [wMeowthStageScore] + cp $14 + jr nc, .asm_e00f + cp $5 + jr c, .asm_e001 + sub $4 + jr .asm_e002 .asm_e001 - xor a + xor a .asm_e002 - ld [wMeowthStageScore], a - ld [$ff8a], a - ld a, Bank(Func_24fa3) - ld hl, Func_24fa3 - call BankSwitch + ld [wMeowthStageScore], a + ld [$ff8a], a + ld a, Bank(Func_24fa3) + ld hl, Func_24fa3 + call BankSwitch .asm_e00f - ld a, [$d4ad] - ld hl, wCurrentStage - cp [hl] - ret z - ld a, [$d712] - cp $0 - jr nz, .asm_e025 - ld de, $0002 - call PlaySoundEffect - ret + ld a, [$d4ad] + ld hl, wCurrentStage + cp [hl] + ret z + ld a, [$d712] + cp $0 + jr nz, .asm_e025 + ld de, $0002 + call PlaySoundEffect + ret .asm_e025 - xor a - ld [$d57e], a - ld [$d57d], a - xor a - ld [$d495], a - ld a, $1 - ld [$d496], a - ld a, $2 - ld [$d4c8], a - xor a - ld [$d7ac], a - ld [$d712], a - ld a, [$d49a] - and a - ret nz - call Func_30e8 - call Func_30db - ld hl, $d5dc - ld de, $2f4d - call Func_32aa - ret + xor a + ld [$d57e], a + ld [$d57d], a + xor a + ld [$d495], a + ld a, $1 + ld [$d496], a + ld a, $2 + ld [$d4c8], a + xor a + ld [$d7ac], a + ld [$d712], a + ld a, [$d49a] + and a + ret nz + call Func_30e8 + call Func_30db + ld hl, $d5dc + ld de, $2f4d + call Func_32aa + ret Func_e056: ; 0xe056 - ld a, [$d4ad] - ld hl, wCurrentStage - cp [hl] - ret z - ld de, $000b - call PlaySoundEffect - xor a - ld [$d495], a - ld a, $1 - ld [$d496], a - ld a, $2 - ld [$d4c8], a - xor a - ld [$d7ac], a - ld a, [$d49a] - and a - ret nz - call Func_30e8 - call Func_30db - ld hl, $d5dc - ld de, $2f34 - call Func_32aa - ret + ld a, [$d4ad] + ld hl, wCurrentStage + cp [hl] + ret z + ld de, $000b + call PlaySoundEffect + xor a + ld [$d495], a + ld a, $1 + ld [$d496], a + ld a, $2 + ld [$d4c8], a + xor a + ld [$d7ac], a + ld a, [$d49a] + and a + ret nz + call Func_30e8 + call Func_30db + ld hl, $d5dc + ld de, $2f34 + call Func_32aa + ret Func_e08b: ; 0xe08b - xor a - ld [$d64e], a - ld a, [$d7be] - and a - jr z, .asm_e09b - ld a, [$d49a] - and a - jr z, .asm_e0b8 + xor a + ld [$d64e], a + ld a, [$d7be] + and a + jr z, .asm_e09b + ld a, [$d49a] + and a + jr z, .asm_e0b8 .asm_e09b - ld a, [$d793] - cp $14 - jr nc, .asm_e0b8 - cp $5 - jr c, .asm_e0aa - sub $4 - jr .asm_e0ab + ld a, [$d793] + cp $14 + jr nc, .asm_e0b8 + cp $5 + jr c, .asm_e0aa + sub $4 + jr .asm_e0ab .asm_e0aa - xor a + xor a .asm_e0ab - ld [$d793], a - ld [$ff8a], a - ld a, Bank(Func_262f4) - ld hl, Func_262f4 - call BankSwitch + ld [$d793], a + ld [$ff8a], a + ld a, Bank(Func_262f4) + ld hl, Func_262f4 + call BankSwitch .asm_e0b8 - ld a, [$d4ad] - ld hl, wCurrentStage - cp [hl] - ret z - ld a, [$d794] - cp $0 - jr nz, .asm_e0c8 - ret + ld a, [$d4ad] + ld hl, wCurrentStage + cp [hl] + ret z + ld a, [$d794] + cp $0 + jr nz, .asm_e0c8 + ret .asm_e0c8 - ld de, $0002 - call PlaySoundEffect - xor a - ld [$d57d], a - ld [$d57d], a - ld [$d495], a - ld a, $1 - ld [$d496], a - ld a, $2 - ld [$d4c8], a - xor a - ld [$d7ac], a - ld [$d794], a - ld a, [$d49a] - and a - ret nz - call Func_30e8 - call Func_30db - ld hl, $d5dc - ld de, $2f65 - call Func_32aa - ret + ld de, $0002 + call PlaySoundEffect + xor a + ld [$d57d], a + ld [$d57d], a + ld [$d495], a + ld a, $1 + ld [$d496], a + ld a, $2 + ld [$d4c8], a + xor a + ld [$d7ac], a + ld [$d794], a + ld a, [$d49a] + and a + ret nz + call Func_30e8 + call Func_30db + ld hl, $d5dc + ld de, $2f65 + call Func_32aa + ret HandleFlippers: ; 0xe0fe - xor a - ld [wFlipperCollision], a - ld [hFlipperYCollisionAttribute], a - ld [$d7ba], a - ld [$d7bb], a - call Func_e118 - call CheckFlipperCollision - ld a, [wFlipperCollision] - and a - call nz, HandleFlipperCollision - ret + xor a + ld [wFlipperCollision], a + ld [hFlipperYCollisionAttribute], a + ld [$d7ba], a + ld [$d7bb], a + call Func_e118 + call CheckFlipperCollision + ld a, [wFlipperCollision] + and a + call nz, HandleFlipperCollision + ret Func_e118: ; 0xe118 - call PlayFlipperSoundIfPressed - ld a, [$d7af] - ld [wLeftFlipperAnimationState], a - ld a, [$d7b3] - ld [wRightFlipperAnimationState], a - ld hl, wKeyConfigLeftFlipper - call IsKeyPressed2 - ld hl, $fccd - jr z, .asm_e13b - ld a, [$d7be] - and a - jr nz, .asm_e13b - ld hl, $0333 + call PlayFlipperSoundIfPressed + ld a, [$d7af] + ld [wLeftFlipperAnimationState], a + ld a, [$d7b3] + ld [wRightFlipperAnimationState], a + ld hl, wKeyConfigLeftFlipper + call IsKeyPressed2 + ld hl, $fccd + jr z, .asm_e13b + ld a, [$d7be] + and a + jr nz, .asm_e13b + ld hl, $0333 .asm_e13b - ld a, [$d7af] - and a - jr nz, .asm_e145 - bit 7, h - jr nz, .asm_e14d + ld a, [$d7af] + and a + jr nz, .asm_e145 + bit 7, h + jr nz, .asm_e14d .asm_e145 - cp $f - jr nz, .asm_e150 - bit 7, h - jr nz, .asm_e150 + cp $f + jr nz, .asm_e150 + bit 7, h + jr nz, .asm_e150 .asm_e14d - ld hl, $0000 + ld hl, $0000 .asm_e150 - ld a, l - ld [$d7b0], a - ld a, h - ld [$d7b1], a - ld a, [$d7ae] - ld c, a - ld a, [$d7af] - ld b, a - add hl, bc - bit 7, h - jr nz, .asm_e16f - ld a, h - cp $10 - jr c, .asm_e172 - ld hl, $0f00 - jr .asm_e172 + ld a, l + ld [$d7b0], a + ld a, h + ld [$d7b1], a + ld a, [$d7ae] + ld c, a + ld a, [$d7af] + ld b, a + add hl, bc + bit 7, h + jr nz, .asm_e16f + ld a, h + cp $10 + jr c, .asm_e172 + ld hl, $0f00 + jr .asm_e172 .asm_e16f - ld hl, $0000 + ld hl, $0000 .asm_e172 - ld a, l - ld [$d7ae], a - ld a, h - ld [$d7af], a - ld hl, wKeyConfigRightFlipper - call IsKeyPressed2 - ld hl, $fccd - jr z, .asm_e18e - ld a, [$d7be] - and a - jr nz, .asm_e18e - ld hl, $0333 + ld a, l + ld [$d7ae], a + ld a, h + ld [$d7af], a + ld hl, wKeyConfigRightFlipper + call IsKeyPressed2 + ld hl, $fccd + jr z, .asm_e18e + ld a, [$d7be] + and a + jr nz, .asm_e18e + ld hl, $0333 .asm_e18e - ld a, [$d7b3] - and a - jr nz, .asm_e198 - bit 7, h - jr nz, .asm_e1a0 + ld a, [$d7b3] + and a + jr nz, .asm_e198 + bit 7, h + jr nz, .asm_e1a0 .asm_e198 - cp $f - jr nz, .asm_e1a3 - bit 7, h - jr nz, .asm_e1a3 + cp $f + jr nz, .asm_e1a3 + bit 7, h + jr nz, .asm_e1a3 .asm_e1a0 - ld hl, $0000 + ld hl, $0000 .asm_e1a3 - ld a, l - ld [$d7b4], a - ld a, h - ld [$d7b5], a - ld a, [$d7b2] - ld c, a - ld a, [$d7b3] - ld b, a - add hl, bc - bit 7, h - jr nz, .asm_e1c2 - ld a, h - cp $10 - jr c, .asm_e1c5 - ld hl, $0f00 - jr .asm_e1c5 + ld a, l + ld [$d7b4], a + ld a, h + ld [$d7b5], a + ld a, [$d7b2] + ld c, a + ld a, [$d7b3] + ld b, a + add hl, bc + bit 7, h + jr nz, .asm_e1c2 + ld a, h + cp $10 + jr c, .asm_e1c5 + ld hl, $0f00 + jr .asm_e1c5 .asm_e1c2 - ld hl, $0000 + ld hl, $0000 .asm_e1c5 - ld a, l - ld [$d7b2], a - ld a, h - ld [$d7b3], a - ret + ld a, l + ld [$d7b2], a + ld a, h + ld [$d7b3], a + ret PlayFlipperSoundIfPressed: ; 0xe1ce - ld a, [$d7be] - and a - ret nz - ld hl, wKeyConfigLeftFlipper - call IsKeyPressed - jr z, .asm_e1e2 - ld de, $000c - call PlaySoundEffect - ret + ld a, [$d7be] + and a + ret nz + ld hl, wKeyConfigLeftFlipper + call IsKeyPressed + jr z, .asm_e1e2 + ld de, $000c + call PlaySoundEffect + ret .asm_e1e2 - ld hl, wKeyConfigRightFlipper - call IsKeyPressed - ret z - ld de, $000c - call PlaySoundEffect - ret + ld hl, wKeyConfigRightFlipper + call IsKeyPressed + ret z + ld de, $000c + call PlaySoundEffect + ret CheckFlipperCollision: ; 0xe1f0 - ld a, [wBallXPos + 1] - cp $50 ; which half of the screen is the ball in? - jp nc, CheckRightFlipperCollision ; right half of screen - ; fall through + ld a, [wBallXPos + 1] + cp $50 ; which half of the screen is the ball in? + jp nc, CheckRightFlipperCollision ; right half of screen + ; fall through CheckLeftFlipperCollision: - ld hl, wBallXPos - ld c, $ba - ld a, [hli] - ld [$ff00+c], a - inc c - ld a, [hli] - ld [$ff00+c], a - inc c - ld a, [hli] - ld [$ff00+c], a - inc c - ld a, [hli] - ld [$ff00+c], a - inc c - ld a, [wLeftFlipperAnimationState] - ld [$ffc2], a - ld a, [$d7af] - ld [$ffc3], a - call ReadFlipperCollisionAttributes - ld a, [wFlipperCollision] - and a - ret z - ld a, [$d7b0] - ld [$ffc0], a - ld a, [$d7b1] - ld [$ffc1], a - ret + ld hl, wBallXPos + ld c, $ba + ld a, [hli] + ld [$ff00+c], a + inc c + ld a, [hli] + ld [$ff00+c], a + inc c + ld a, [hli] + ld [$ff00+c], a + inc c + ld a, [hli] + ld [$ff00+c], a + inc c + ld a, [wLeftFlipperAnimationState] + ld [$ffc2], a + ld a, [$d7af] + ld [$ffc3], a + call ReadFlipperCollisionAttributes + ld a, [wFlipperCollision] + and a + ret z + ld a, [$d7b0] + ld [$ffc0], a + ld a, [$d7b1] + ld [$ffc1], a + ret CheckRightFlipperCollision: ; 0xe226 ; ball is in right half of screen - ld hl, wBallXPos - ld c, $ba - ld a, [hli] - sub $1 - cpl - ld [$ff00+c], a - inc c - ld a, [hli] - sbc $a0 - cpl - ld [$ff00+c], a - inc c - ld a, [hli] - ld [$ff00+c], a - inc c - ld a, [hli] - ld [$ff00+c], a - inc c - ld a, [wRightFlipperAnimationState] - ld [$ffc2], a - ld a, [$d7b3] - ld [$ffc3], a - call ReadFlipperCollisionAttributes - ld a, [wFlipperCollision] - and a - ret z - ; collision with flipper occurred - ld a, [$d7b4] - ld [$ffc0], a - ld a, [$d7b5] - ld [$ffc1], a - ret + ld hl, wBallXPos + ld c, $ba + ld a, [hli] + sub $1 + cpl + ld [$ff00+c], a + inc c + ld a, [hli] + sbc $a0 + cpl + ld [$ff00+c], a + inc c + ld a, [hli] + ld [$ff00+c], a + inc c + ld a, [hli] + ld [$ff00+c], a + inc c + ld a, [wRightFlipperAnimationState] + ld [$ffc2], a + ld a, [$d7b3] + ld [$ffc3], a + call ReadFlipperCollisionAttributes + ld a, [wFlipperCollision] + and a + ret z + ; collision with flipper occurred + ld a, [$d7b4] + ld [$ffc0], a + ld a, [$d7b5] + ld [$ffc1], a + ret ReadFlipperCollisionAttributes: ; 0xe25a - ld a, [$ffbb] ; ball x-position high byte - sub $2b ; check if ball is in x-position range of flippers - ret c - cp $30 - ret nc - ; ball is in x-position range of flippers - ld [$ffbb], a ; x offset of flipper horizontal range - ld a, [$ffbd] ; ball y-position high byte - sub $7b ; check if ball is in y-position range of flippers - ret c - cp $20 - ret nc - ; ball is in potential collision with flippers - ld [$ffbd], a ; y offset of flipper vertical range - ld a, [$ffc2] ; flipper animation state + ld a, [$ffbb] ; ball x-position high byte + sub $2b ; check if ball is in x-position range of flippers + ret c + cp $30 + ret nc + ; ball is in x-position range of flippers + ld [$ffbb], a ; x offset of flipper horizontal range + ld a, [$ffbd] ; ball y-position high byte + sub $7b ; check if ball is in y-position range of flippers + ret c + cp $20 + ret nc + ; ball is in potential collision with flippers + ld [$ffbd], a ; y offset of flipper vertical range + ld a, [$ffc2] ; flipper animation state .asm_e270 - push af - ld l, $0 - ld h, a ; multiply a by 0x600 - sla a - sla h - sla h - add h - ld h, a ; hl = a * 0x600 (this is the length of the flipper collision attributes) - ld a, [$ffbb] ; x offset of flipper horizontal range - ld c, a - ld b, $0 - sla c - rl b - sla c - rl b - sla c - rl b - sla c - rl b - sla c - rl b ; bc = (x offset of flipper horizontal range) * 32 - ; Each row of the flipper collision attributes is 32 bytes long. - add hl, bc ; hl points to the start of the row in the flipper collisoin attributes - ld a, [$ffbd] ; y offset of flipper vertical range - ld c, a - ld b, $0 - add hl, bc ; hl points to the attribute byte in the flipper collision attributes - ld d, h - ld e, l ; de points to the attribute byte in the flipper collision attributes - ld a, h - cp $40 - jr nc, .secondBank - add $40 - ld h, a - ld a, Bank(FlipperHorizontalCollisionAttributes) - jr .readAttributeByte + push af + ld l, $0 + ld h, a ; multiply a by 0x600 + sla a + sla h + sla h + add h + ld h, a ; hl = a * 0x600 (this is the length of the flipper collision attributes) + ld a, [$ffbb] ; x offset of flipper horizontal range + ld c, a + ld b, $0 + sla c + rl b + sla c + rl b + sla c + rl b + sla c + rl b + sla c + rl b ; bc = (x offset of flipper horizontal range) * 32 + ; Each row of the flipper collision attributes is 32 bytes long. + add hl, bc ; hl points to the start of the row in the flipper collisoin attributes + ld a, [$ffbd] ; y offset of flipper vertical range + ld c, a + ld b, $0 + add hl, bc ; hl points to the attribute byte in the flipper collision attributes + ld d, h + ld e, l ; de points to the attribute byte in the flipper collision attributes + ld a, h + cp $40 + jr nc, .secondBank + add $40 + ld h, a + ld a, Bank(FlipperHorizontalCollisionAttributes) + jr .readAttributeByte .secondBank - ld a, Bank(FlipperHorizontalCollisionAttributes2) + ld a, Bank(FlipperHorizontalCollisionAttributes2) .readAttributeByte - call ReadByteFromBank - ld b, a - and a - jr nz, .collision - ; no collision - pop af ; a = flipper animation state(?) - ld hl, $ffc3 - cp [hl] - ret z - jr c, .asm_e2be - dec a - jr .asm_e270 + call ReadByteFromBank + ld b, a + and a + jr nz, .collision + ; no collision + pop af ; a = flipper animation state(?) + ld hl, $ffc3 + cp [hl] + ret z + jr c, .asm_e2be + dec a + jr .asm_e270 .asm_e2be - inc a - jr .asm_e270 + inc a + jr .asm_e270 .collision - pop af ; a = flipper animation state(?) - ld a, b ; a = collision attribute - ld [hFlipperYCollisionAttribute], a - ld h, d - ld l, e - ld a, h - cp $20 - jr nc, .asm_e2d3 - add $60 - ld h, a - ld a, Bank(FlipperVerticalCollisionAttributes) - jr .asm_e2d8 + pop af ; a = flipper animation state(?) + ld a, b ; a = collision attribute + ld [hFlipperYCollisionAttribute], a + ld h, d + ld l, e + ld a, h + cp $20 + jr nc, .asm_e2d3 + add $60 + ld h, a + ld a, Bank(FlipperVerticalCollisionAttributes) + jr .asm_e2d8 .asm_e2d3 - add $20 - ld h, a - ld a, Bank(FlipperVerticalCollisionAttributes2) + add $20 + ld h, a + ld a, Bank(FlipperVerticalCollisionAttributes2) .asm_e2d8 - call ReadByteFromBank - ld [wFlipperXCollisionAttribute], a - ld a, $1 - ld [wFlipperCollision], a - ret + call ReadByteFromBank + ld [wFlipperXCollisionAttribute], a + ld a, $1 + ld [wFlipperCollision], a + ret -INCBIN "baserom.gbc",$e2e4,$e379 - $e2e4 + dr $e2e4, $e379 Func_e379: ; 0xe379 - ld a, b - xor d - ld [$ffbe], a - bit 7, b - jr z, .asm_e388 - ld a, c - cpl - ld c, a - ld a, b - cpl - ld b, a - inc bc + ld a, b + xor d + ld [$ffbe], a + bit 7, b + jr z, .asm_e388 + ld a, c + cpl + ld c, a + ld a, b + cpl + ld b, a + inc bc .asm_e388 - bit 7, d - jr z, .asm_e393 - ld a, e - cpl - ld e, a - ld a, d - cpl - ld d, a - inc de + bit 7, d + jr z, .asm_e393 + ld a, e + cpl + ld e, a + ld a, d + cpl + ld d, a + inc de .asm_e393 - push bc - push de - ld c, d - call Func_e410 - pop de - pop bc - push hl - push bc - push de - ld c, e - call Func_e410 - pop de - pop bc - push hl - push bc - push de - ld b, d - call Func_e410 - pop de - pop bc - push hl - ld b, e - call Func_e410 - ld c, l - ld l, h - xor a - ld h, a - pop de - add hl, de - rl a - pop de - add hl, de - jr nc, .asm_e3bf - inc a + push bc + push de + ld c, d + call Func_e410 + pop de + pop bc + push hl + push bc + push de + ld c, e + call Func_e410 + pop de + pop bc + push hl + push bc + push de + ld b, d + call Func_e410 + pop de + pop bc + push hl + ld b, e + call Func_e410 + ld c, l + ld l, h + xor a + ld h, a + pop de + add hl, de + rl a + pop de + add hl, de + jr nc, .asm_e3bf + inc a .asm_e3bf - ld b, l - ld l, h - ld h, a - pop de - add hl, de - ld a, [$ffbe] - bit 7, a - ret z - ld a, c - sub $1 - cpl - ld c, a - ld a, b - sbc $0 - cpl - ld b, a - ld a, l - sbc $0 - cpl - ld l, a - ld a, h - sbc $0 - cpl - ld h, a - ret - -INCBIN "baserom.gbc",$e3de,$e410 - $e3de + ld b, l +Data_e3c0: + ld l, h + ld h, a + pop de + add hl, de + ld a, [$ffbe] + bit 7, a + ret z + ld a, c + sub $1 + cpl + ld c, a + ld a, b + sbc $0 + cpl + ld b, a + ld a, l + sbc $0 + cpl + ld l, a + ld a, h + sbc $0 + cpl + ld h, a + ret + + dr $e3de, $e410 Func_e410: ; 0xe410 - ld a, b - cp c - jr nc, .asm_e416 - ld b, c - ld c, a + ld a, b + cp c + jr nc, .asm_e416 + ld b, c + ld c, a .asm_e416 - ld h, $3e - ld l, c - ld e, [hl] - inc h - ld d, [hl] - ld l, b - ld a, [hl] - dec h - ld l, [hl] - ld h, a - add hl, de - push af - ld d, $3e - ld a, b - sub c - ld e, a - ld a, [de] - ld c, a - inc d - ld a, [de] - ld b, a - ld a, l - sub c - ld l, a - ld a, h - sbc b - ld h, a - jr nc, .asm_e43c - pop af - ccf - rr h - rr l - ret + ld h, $3e + ld l, c + ld e, [hl] + inc h + ld d, [hl] + ld l, b + ld a, [hl] + dec h + ld l, [hl] + ld h, a + add hl, de + push af + ld d, $3e + ld a, b + sub c + ld e, a + ld a, [de] + ld c, a + inc d + ld a, [de] + ld b, a + ld a, l + sub c + ld l, a + ld a, h + sbc b + ld h, a + jr nc, .asm_e43c + pop af + ccf + rr h + rr l + ret .asm_e43c - pop af - rr h - rr l - ret + pop af + rr h + rr l + ret HandleFlipperCollision: ; 0xe442 ; This is called when the ball is colliding with either the ; right or left flipper. - ld a, $1 - ld [$d7e9], a - xor a - ld [$d7f3], a - ld [$d7f4], a - ld [$d7f5], a - ld [$d7f6], a - ld [$d7f7], a - ld a, [hFlipperYCollisionAttribute] - sla a - ld c, a - ld b, $0 - ld hl, Data_e538 - add hl, bc - ld a, [hli] - ld c, a - ld a, [hl] - ld b, a - ld a, [$ffc0] - ld e, a - ld a, [$ffc1] - ld d, a - sla e - rl d - sla e - rl d ; multiplied de by 4 - call Func_e379 - ld a, b - ld [$d7bc], a - ld a, l - ld [$d7bd], a - ld a, [wBallXPos + 1] - cp $50 ; which flipper did the ball hit? - ld a, [wFlipperXCollisionAttribute] - jr c, .asm_e48b - cpl ; invert the x collision attribute - inc a + ld a, $1 + ld [$d7e9], a + xor a + ld [$d7f3], a + ld [$d7f4], a + ld [$d7f5], a + ld [$d7f6], a + ld [$d7f7], a + ld a, [hFlipperYCollisionAttribute] + sla a + ld c, a + ld b, $0 + ld hl, Data_e538 + add hl, bc + ld a, [hli] + ld c, a + ld a, [hl] + ld b, a + ld a, [$ffc0] + ld e, a + ld a, [$ffc1] + ld d, a + sla e + rl d + sla e + rl d ; multiplied de by 4 + call Func_e379 + ld a, b + ld [$d7bc], a + ld a, l + ld [$d7bd], a + ld a, [wBallXPos + 1] + cp $50 ; which flipper did the ball hit? + ld a, [wFlipperXCollisionAttribute] + jr c, .asm_e48b + cpl ; invert the x collision attribute + inc a .asm_e48b - ld [$d7ea], a - ld a, $1 - ld [$d7eb], a - ld a, [$d7bd] - bit 7, a - ret z - xor a - ld [$d7bc], a - ld [$d7bd], a - ret + ld [$d7ea], a + ld a, $1 + ld [$d7eb], a + ld a, [$d7bd] + bit 7, a + ret z + xor a + ld [$d7bc], a + ld [$d7bd], a + ret Func_e4a1: ; 0xe4a1 - ld a, [wCurrentStage] - and a - ret z - ld hl, $650a - ld a, [hBoardXShift] - ld d, a - ld a, [hBoardYShift] - ld e, a - ld a, [hli] - sub d - ld b, a - ld a, [hli] - sub e - ld c, a - push hl - ld hl, $650e - ld a, [$d7af] - ld e, a - ld d, $0 - add hl, de - ld a, [hl] - cp $b - jr nz, .asm_e4d6 - ld a, [hGameBoyColorFlag] - and a - jr nz, .asm_e4d4 - ld a, [$d7be] - and a - jr z, .asm_e4d4 - ld a, $18 - jr .asm_e4d6 + ld a, [wCurrentStage] + and a + ret z + ld hl, Data_e50a + ld a, [hBoardXShift] + ld d, a + ld a, [hBoardYShift] + ld e, a + ld a, [hli] + sub d + ld b, a + ld a, [hli] + sub e + ld c, a + push hl + ld hl, Data_e50e + ld a, [$d7af] + ld e, a + ld d, $0 + add hl, de + ld a, [hl] + cp $b + jr nz, .asm_e4d6 + ld a, [hGameBoyColorFlag] + and a + jr nz, .asm_e4d4 + ld a, [$d7be] + and a + jr z, .asm_e4d4 + ld a, $18 + jr .asm_e4d6 .asm_e4d4 - ld a, $b + ld a, $b .asm_e4d6 - call LoadOAMData - pop hl - ld a, [hBoardXShift] - ld d, a - ld a, [hBoardYShift] - ld e, a - ld a, [hli] - sub d - ld b, a - ld a, [hli] - sub e - ld c, a - ld hl, $6523 - ld a, [$d7b3] - ld e, a - ld d, $0 - add hl, de - ld a, [hl] - cp $8 - jr nz, .asm_e506 - ld a, [hGameBoyColorFlag] - and a - jr nz, .asm_e504 - ld a, [$d7be] - and a - jr z, .asm_e504 - ld a, $17 - jr .asm_e506 + call LoadOAMData + pop hl + ld a, [hBoardXShift] + ld d, a + ld a, [hBoardYShift] + ld e, a + ld a, [hli] + sub d + ld b, a + ld a, [hli] + sub e + ld c, a + ld hl, Data_e523 + ld a, [$d7b3] + ld e, a + ld d, $0 + add hl, de + ld a, [hl] + cp $8 + jr nz, .asm_e506 + ld a, [hGameBoyColorFlag] + and a + jr nz, .asm_e504 + ld a, [$d7be] + and a + jr z, .asm_e504 + ld a, $17 + jr .asm_e506 .asm_e504 - ld a, $8 + ld a, $8 .asm_e506 - call LoadOAMData - ret + call LoadOAMData + ret + +Data_e50a: + dr $e50a, $e50e -INCBIN "baserom.gbc",$e50a,$e538 - $e50a +Data_e50e: + dr $e50e, $e523 + +Data_e523: + dr $e523, $e538 Data_e538: ; 0xe538 - dw $0000 - dw $000C - dw $001C - dw $0030 - dw $0038 - dw $0048 - dw $005C - dw $006C - dw $0070 - dw $0080 - dw $0094 - dw $00A4 - dw $00B4 - dw $00C4 - dw $00D4 - dw $00E4 - dw $00F8 - dw $00FC - dw $00FC - dw $00FC - dw $00FC - dw $00FC - dw $00FC - dw $00FC - dw $00FC - dw $00FC - dw $00FC - dw $00FC - dw $00FC - dw $00FC - dw $00FC - dw $00FC + dw $0000 + dw $000C + dw $001C + dw $0030 + dw $0038 + dw $0048 + dw $005C + dw $006C + dw $0070 + dw $0080 + dw $0094 + dw $00A4 + dw $00B4 + dw $00C4 + dw $00D4 + dw $00E4 + dw $00F8 + dw $00FC + dw $00FC + dw $00FC + dw $00FC + dw $00FC + dw $00FC + dw $00FC + dw $00FC + dw $00FC + dw $00FC + dw $00FC + dw $00FC + dw $00FC + dw $00FC + dw $00FC LoadStageCollisionAttributes: ; 0xe578 - ld a, [wCurrentStage] - sla a - ld c, a - ld b, $0 - ld hl, StageCollisionAttributesPointers - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [hli] - and a - jr z, .asm_e598 - ld a, [wStageCollisionState] - sla a - ld c, a - sla a - add c - ld c, a - ld b, $0 ; bc = 6 * [wStageCollisionState] - add hl, bc + ld a, [wCurrentStage] + sla a + ld c, a + ld b, $0 + ld hl, StageCollisionAttributesPointers + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [hli] + and a + jr z, .asm_e598 + ld a, [wStageCollisionState] + sla a + ld c, a + sla a + add c + ld c, a + ld b, $0 ; bc = 6 * [wStageCollisionState] + add hl, bc .asm_e598 - ld de, wStageCollisionMapPointer - ld b, $6 + ld de, wStageCollisionMapPointer + ld b, $6 .asm_e59d - ld a, [hli] - ld [de], a - inc de - dec b - jr nz, .asm_e59d - call LoadCollisionAttributes - ret + ld a, [hli] + ld [de], a + inc de + dec b + jr nz, .asm_e59d + call LoadCollisionAttributes + ret StageCollisionAttributesPointers: ; 0xe5a7 - dw StageRedFieldTopCollisionAttributesPointers - dw StageRedFieldBottomCollisionAttributesPointers - dw StageUnusedCollisionAttributesPointers - dw StageUnused2CollisionAttributesPointers - dw StageBlueFieldTopCollisionAttributesPointers - dw StageBlueFieldBottomCollisionAttributesPointers - dw StageGengarBonusCollisionAttributesPointers - dw StageGengarBonusCollisionAttributesPointers - dw StageMewtwoBonusCollisionAttributesPointers - dw StageMewtwoBonusCollisionAttributesPointers - dw StageMeowthBonusCollisionAttributesPointers - dw StageMeowthBonusCollisionAttributesPointers - dw StageDiglettBonusCollisionAttributesPointers - dw StageDiglettBonusCollisionAttributesPointers - dw StageSeelBonusCollisionAttributesPointers - dw StageSeelBonusCollisionAttributesPointers + dw StageRedFieldTopCollisionAttributesPointers + dw StageRedFieldBottomCollisionAttributesPointers + dw StageUnusedCollisionAttributesPointers + dw StageUnused2CollisionAttributesPointers + dw StageBlueFieldTopCollisionAttributesPointers + dw StageBlueFieldBottomCollisionAttributesPointers + dw StageGengarBonusCollisionAttributesPointers + dw StageGengarBonusCollisionAttributesPointers + dw StageMewtwoBonusCollisionAttributesPointers + dw StageMewtwoBonusCollisionAttributesPointers + dw StageMeowthBonusCollisionAttributesPointers + dw StageMeowthBonusCollisionAttributesPointers + dw StageDiglettBonusCollisionAttributesPointers + dw StageDiglettBonusCollisionAttributesPointers + dw StageSeelBonusCollisionAttributesPointers + dw StageSeelBonusCollisionAttributesPointers StageRedFieldTopCollisionAttributesPointers: ; 0xe5c7 - db $01 ; multiple pair entries - dwb StageRedFieldTopCollisionAttributes0, Bank(StageRedFieldTopCollisionAttributes0) - dwb StageRedFieldTopCollisionMasks0, Bank(StageRedFieldTopCollisionMasks0) + db $01 ; multiple pair entries + dwb StageRedFieldTopCollisionAttributes0, Bank(StageRedFieldTopCollisionAttributes0) + dwb StageRedFieldTopCollisionMasks0, Bank(StageRedFieldTopCollisionMasks0) - dwb StageRedFieldTopCollisionAttributes1, Bank(StageRedFieldTopCollisionAttributes1) - dwb StageRedFieldTopCollisionMasks0, Bank(StageRedFieldTopCollisionMasks0) + dwb StageRedFieldTopCollisionAttributes1, Bank(StageRedFieldTopCollisionAttributes1) + dwb StageRedFieldTopCollisionMasks0, Bank(StageRedFieldTopCollisionMasks0) - dwb StageRedFieldTopCollisionAttributes2, Bank(StageRedFieldTopCollisionAttributes2) - dwb StageRedFieldTopCollisionMasks1, Bank(StageRedFieldTopCollisionMasks1) + dwb StageRedFieldTopCollisionAttributes2, Bank(StageRedFieldTopCollisionAttributes2) + dwb StageRedFieldTopCollisionMasks1, Bank(StageRedFieldTopCollisionMasks1) - dwb StageRedFieldTopCollisionAttributes3, Bank(StageRedFieldTopCollisionAttributes3) - dwb StageRedFieldTopCollisionMasks1, Bank(StageRedFieldTopCollisionMasks1) + dwb StageRedFieldTopCollisionAttributes3, Bank(StageRedFieldTopCollisionAttributes3) + dwb StageRedFieldTopCollisionMasks1, Bank(StageRedFieldTopCollisionMasks1) - dwb StageRedFieldTopCollisionAttributes4, Bank(StageRedFieldTopCollisionAttributes4) - dwb StageRedFieldTopCollisionMasks2, Bank(StageRedFieldTopCollisionMasks2) + dwb StageRedFieldTopCollisionAttributes4, Bank(StageRedFieldTopCollisionAttributes4) + dwb StageRedFieldTopCollisionMasks2, Bank(StageRedFieldTopCollisionMasks2) - dwb StageRedFieldTopCollisionAttributes5, Bank(StageRedFieldTopCollisionAttributes5) - dwb StageRedFieldTopCollisionMasks2, Bank(StageRedFieldTopCollisionMasks2) + dwb StageRedFieldTopCollisionAttributes5, Bank(StageRedFieldTopCollisionAttributes5) + dwb StageRedFieldTopCollisionMasks2, Bank(StageRedFieldTopCollisionMasks2) - dwb StageRedFieldTopCollisionAttributes6, Bank(StageRedFieldTopCollisionAttributes6) - dwb StageRedFieldTopCollisionMasks3, Bank(StageRedFieldTopCollisionMasks3) + dwb StageRedFieldTopCollisionAttributes6, Bank(StageRedFieldTopCollisionAttributes6) + dwb StageRedFieldTopCollisionMasks3, Bank(StageRedFieldTopCollisionMasks3) - dwb StageRedFieldTopCollisionAttributes7, Bank(StageRedFieldTopCollisionAttributes7) - dwb StageRedFieldTopCollisionMasks3, Bank(StageRedFieldTopCollisionMasks3) + dwb StageRedFieldTopCollisionAttributes7, Bank(StageRedFieldTopCollisionAttributes7) + dwb StageRedFieldTopCollisionMasks3, Bank(StageRedFieldTopCollisionMasks3) StageRedFieldBottomCollisionAttributesPointers: ; 0xe5f8 - db $00 ; single pair entry - dwb StageRedFieldBottomCollisionAttributes, Bank(StageRedFieldBottomCollisionAttributes) - dwb StageRedFieldBottomCollisionMasks, Bank(StageRedFieldBottomCollisionMasks) + db $00 ; single pair entry + dwb StageRedFieldBottomCollisionAttributes, Bank(StageRedFieldBottomCollisionAttributes) + dwb StageRedFieldBottomCollisionMasks, Bank(StageRedFieldBottomCollisionMasks) StageUnusedCollisionAttributesPointers: ; 0xe5ff ; This entry is never used - db $00 + db $00 StageUnused2CollisionAttributesPointers: ; 0xe600 ; This entry is never used - db $00 + db $00 StageBlueFieldTopCollisionAttributesPointers: ; 0xe601 - db $01 ; multiple pair entries - dwb StageBlueFieldTopCollisionAttributesBallEntrance, Bank(StageBlueFieldTopCollisionAttributesBallEntrance) - dwb StageBlueFieldTopCollisionMasks, Bank(StageBlueFieldTopCollisionMasks) + db $01 ; multiple pair entries + dwb StageBlueFieldTopCollisionAttributesBallEntrance, Bank(StageBlueFieldTopCollisionAttributesBallEntrance) + dwb StageBlueFieldTopCollisionMasks, Bank(StageBlueFieldTopCollisionMasks) - dwb StageBlueFieldTopCollisionAttributes, Bank(StageBlueFieldTopCollisionAttributes) - dwb StageBlueFieldTopCollisionMasks, Bank(StageBlueFieldTopCollisionMasks) + dwb StageBlueFieldTopCollisionAttributes, Bank(StageBlueFieldTopCollisionAttributes) + dwb StageBlueFieldTopCollisionMasks, Bank(StageBlueFieldTopCollisionMasks) StageBlueFieldBottomCollisionAttributesPointers: ; 0xe60e - db $00 ; single pair entry - dwb StageBlueFieldBottomCollisionAttributes, Bank(StageBlueFieldBottomCollisionAttributes) - dwb StageBlueFieldBottomCollisionMasks, Bank(StageBlueFieldBottomCollisionMasks) + db $00 ; single pair entry + dwb StageBlueFieldBottomCollisionAttributes, Bank(StageBlueFieldBottomCollisionAttributes) + dwb StageBlueFieldBottomCollisionMasks, Bank(StageBlueFieldBottomCollisionMasks) StageGengarBonusCollisionAttributesPointers: ; 0xe615 - db $01 ; multiple pair entries - dwb StageGengarBonusCollisionAttributesBallEntrance, Bank(StageGengarBonusCollisionAttributesBallEntrance) - dwb StageGengarBonusCollisionMasks, Bank(StageGengarBonusCollisionMasks) + db $01 ; multiple pair entries + dwb StageGengarBonusCollisionAttributesBallEntrance, Bank(StageGengarBonusCollisionAttributesBallEntrance) + dwb StageGengarBonusCollisionMasks, Bank(StageGengarBonusCollisionMasks) - dwb StageGengarBonusCollisionAttributes, Bank(StageGengarBonusCollisionAttributes) - dwb StageGengarBonusCollisionMasks, Bank(StageGengarBonusCollisionMasks) + dwb StageGengarBonusCollisionAttributes, Bank(StageGengarBonusCollisionAttributes) + dwb StageGengarBonusCollisionMasks, Bank(StageGengarBonusCollisionMasks) StageMewtwoBonusCollisionAttributesPointers: ; 0xe622 - db $01 ; multiple pair entries - dwb StageMewtwoBonusCollisionAttributesBallEntrance, Bank(StageMewtwoBonusCollisionAttributesBallEntrance) - dwb StageMewtwoBonusCollisionMasks, Bank(StageMewtwoBonusCollisionMasks) + db $01 ; multiple pair entries + dwb StageMewtwoBonusCollisionAttributesBallEntrance, Bank(StageMewtwoBonusCollisionAttributesBallEntrance) + dwb StageMewtwoBonusCollisionMasks, Bank(StageMewtwoBonusCollisionMasks) - dwb StageMewtwoBonusCollisionAttributes, Bank(StageMewtwoBonusCollisionAttributes) - dwb StageMewtwoBonusCollisionMasks, Bank(StageMewtwoBonusCollisionMasks) + dwb StageMewtwoBonusCollisionAttributes, Bank(StageMewtwoBonusCollisionAttributes) + dwb StageMewtwoBonusCollisionMasks, Bank(StageMewtwoBonusCollisionMasks) StageMeowthBonusCollisionAttributesPointers: ; 0xe62f - db $01 ; multiple pair entries - dwb StageMeowthBonusCollisionAttributesBallEntrance, Bank(StageMeowthBonusCollisionAttributesBallEntrance) - dwb StageMeowthBonusCollisionMasks, Bank(StageMeowthBonusCollisionMasks) + db $01 ; multiple pair entries + dwb StageMeowthBonusCollisionAttributesBallEntrance, Bank(StageMeowthBonusCollisionAttributesBallEntrance) + dwb StageMeowthBonusCollisionMasks, Bank(StageMeowthBonusCollisionMasks) - dwb StageMeowthBonusCollisionAttributes, Bank(StageMeowthBonusCollisionAttributes) - dwb StageMeowthBonusCollisionMasks, Bank(StageMeowthBonusCollisionMasks) + dwb StageMeowthBonusCollisionAttributes, Bank(StageMeowthBonusCollisionAttributes) + dwb StageMeowthBonusCollisionMasks, Bank(StageMeowthBonusCollisionMasks) StageDiglettBonusCollisionAttributesPointers: ; 0xe63c - db $01 ; multiple pair entries - dwb StageDiglettBonusCollisionAttributesBallEntrance, Bank(StageDiglettBonusCollisionAttributesBallEntrance) - dwb StageDiglettBonusCollisionMasks, Bank(StageDiglettBonusCollisionMasks) + db $01 ; multiple pair entries + dwb StageDiglettBonusCollisionAttributesBallEntrance, Bank(StageDiglettBonusCollisionAttributesBallEntrance) + dwb StageDiglettBonusCollisionMasks, Bank(StageDiglettBonusCollisionMasks) - dwb StageDiglettBonusCollisionAttributes, Bank(StageDiglettBonusCollisionAttributes) - dwb StageDiglettBonusCollisionMasks, Bank(StageDiglettBonusCollisionMasks) + dwb StageDiglettBonusCollisionAttributes, Bank(StageDiglettBonusCollisionAttributes) + dwb StageDiglettBonusCollisionMasks, Bank(StageDiglettBonusCollisionMasks) StageSeelBonusCollisionAttributesPointers: ; 0xe649 - db $01 ; multiple pair entries - dwb StageSeelBonusCollisionAttributesBallEntrance, Bank(StageSeelBonusCollisionAttributesBallEntrance) - dwb StageSeelBonusCollisionMasks, Bank(StageSeelBonusCollisionMasks) + db $01 ; multiple pair entries + dwb StageSeelBonusCollisionAttributesBallEntrance, Bank(StageSeelBonusCollisionAttributesBallEntrance) + dwb StageSeelBonusCollisionMasks, Bank(StageSeelBonusCollisionMasks) - dwb StageSeelBonusCollisionAttributes, Bank(StageSeelBonusCollisionAttributes) - dwb StageSeelBonusCollisionMasks, Bank(StageSeelBonusCollisionMasks) + dwb StageSeelBonusCollisionAttributes, Bank(StageSeelBonusCollisionAttributes) + dwb StageSeelBonusCollisionMasks, Bank(StageSeelBonusCollisionMasks) LoadCollisionAttributes: ; 0xe656 ; Loads the stage's collision attributes into RAM ; Input: [wStageCollisionMapPointer] = pointer to collision attributes map ; [wStageCollisionMapBank] = ROM bank of collision attributes map - ld hl, wStageCollisionMapPointer - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [wStageCollisionMapBank] - ld de, wStageCollisionMap - ld bc, $0300 - call CopyDataToRAM - ld hl, wStageCollisionMapPointer - ld [hl], (wStageCollisionMap & $ff) - inc hl - ld [hl], (wStageCollisionMap >> 8) - inc hl - ld [hl], $0 ; Bank 0, because the data is in WRAM, so it doesn't matter which bank is saved - ret + ld hl, wStageCollisionMapPointer + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [wStageCollisionMapBank] + ld de, wStageCollisionMap + ld bc, $0300 + call FarCopyData + ld hl, wStageCollisionMapPointer + ld [hl], (wStageCollisionMap & $ff) + inc hl + ld [hl], (wStageCollisionMap >> 8) + inc hl + ld [hl], $0 ; Bank 0, because the data is in WRAM, so it doesn't matter which bank is saved + ret Func_e674: ; 0xe674 - push af - ld a, [$d548] - push af - xor a - ld [$d548], a - ld [$d803], a - ld [$ff8a], a - ld a, Bank(Func_84b7) - ld hl, Func_84b7 - call BankSwitch - call Func_926 - pop af - ld [$d548], a - pop af - ld [wCurrentStage], a - xor a - ld [$ffa3], a - ld [$ffa4], a - ld [$ffa5], a - rst $10 - call Func_e5d - call Func_576 - call ClearOAMBuffer - call Func_1129 - call LoadStageCollisionAttributes - call Func_e6c2 - call Func_e5d - call Func_588 - ld a, $e4 - ld [$ffa3], a - ld a, $e1 - ld [$ffa4], a - ld a, $e4 - ld [$ffa5], a - ret + push af + ld a, [$d548] + push af + xor a + ld [$d548], a + ld [$d803], a + ld [$ff8a], a + ld a, Bank(Func_84b7) + ld hl, Func_84b7 + call BankSwitch + call Func_926 + pop af + ld [$d548], a + pop af + ld [wCurrentStage], a + xor a + ld [$ffa3], a + ld [$ffa4], a + ld [$ffa5], a + rst $10 + call Func_e5d + call Func_576 + call ClearOAMBuffer + call Func_1129 + call LoadStageCollisionAttributes + call Func_e6c2 + call Func_e5d + call Func_588 + ld a, $e4 + ld [$ffa3], a + ld a, $e1 + ld [$ffa4], a + ld a, $e4 + ld [$ffa5], a + ret Func_e6c2: ; 0xe6c2 - ld a, [wCurrentStage] - bit 0, a - ld a, $86 - jr z, .asm_e6d5 - ld a, [$d5ca] - and a - ld a, $86 - jr nz, .asm_e6d5 - ld a, $90 + ld a, [wCurrentStage] + bit 0, a + ld a, $86 + jr z, .asm_e6d5 + ld a, [$d5ca] + and a + ld a, $86 + jr nz, .asm_e6d5 + ld a, $90 .asm_e6d5 - ld [$ffa6], a - ld hl, StageGfxPointers_GameBoy - ld a, [hGameBoyColorFlag] - and a - jr z, .loadData - ld hl, StageGfxPointers_GameBoyColor + ld [$ffa6], a + ld hl, StageGfxPointers_GameBoy + ld a, [hGameBoyColorFlag] + and a + jr z, .loadData + ld hl, StageGfxPointers_GameBoyColor .loadData - ld a, [wCurrentStage] - call LoadVideoData - xor a - ld [$d7f2], a - ld [$ff8a], a - ld a, Bank(Func_8471) - ld hl, Func_8471 - call BankSwitch - ret + ld a, [wCurrentStage] + call LoadVideoData + xor a + ld [$d7f2], a + ld [$ff8a], a + ld a, Bank(Func_8471) + ld hl, Func_8471 + call BankSwitch + ret StageGfxPointers_GameBoy: ; 0xe6f7 - dw StageRedFieldTopGfx_GameBoy - dw StageRedFieldBottomGfx_GameBoy - dw VideoData_e896 - dw VideoData_e8bd - dw StageBlueFieldTopGfx_GameBoy - dw StageBlueFieldBottomGfx_GameBoy - dw StageGengarBonusGfx_GameBoy - dw StageGengarBonusGfx_GameBoy - dw StageMewtwoBonusGfx_GameBoy - dw StageMewtwoBonusGfx_GameBoy - dw StageMeowthBonusGfx_GameBoy - dw StageMeowthBonusGfx_GameBoy - dw StageDiglettBonusGfx_GameBoy - dw StageDiglettBonusGfx_GameBoy - dw StageSeelBonusGfx_GameBoy - dw StageSeelBonusGfx_GameBoy + dw StageRedFieldTopGfx_GameBoy + dw StageRedFieldBottomGfx_GameBoy + dw VideoData_e896 + dw VideoData_e8bd + dw StageBlueFieldTopGfx_GameBoy + dw StageBlueFieldBottomGfx_GameBoy + dw StageGengarBonusGfx_GameBoy + dw StageGengarBonusGfx_GameBoy + dw StageMewtwoBonusGfx_GameBoy + dw StageMewtwoBonusGfx_GameBoy + dw StageMeowthBonusGfx_GameBoy + dw StageMeowthBonusGfx_GameBoy + dw StageDiglettBonusGfx_GameBoy + dw StageDiglettBonusGfx_GameBoy + dw StageSeelBonusGfx_GameBoy + dw StageSeelBonusGfx_GameBoy StageGfxPointers_GameBoyColor: ; 0xe717 - dw StageRedFieldTopGfx_GameBoyColor - dw StageRedFieldBottomGfx_GameBoyColor - dw VideoData_e8a6 - dw VideoData_e8d4 - dw StageBlueFieldTopGfx_GameBoyColor - dw StageBlueFieldBottomGfx_GameBoyColor - dw StageGengarBonusGfx_GameBoyColor - dw StageGengarBonusGfx_GameBoyColor - dw StageMewtwoBonusGfx_GameBoyColor - dw StageMewtwoBonusGfx_GameBoyColor - dw StageMeowthBonusGfx_GameBoyColor - dw StageMeowthBonusGfx_GameBoyColor - dw StageDiglettBonusGfx_GameBoyColor - dw StageDiglettBonusGfx_GameBoyColor - dw StageSeelBonusGfx_GameBoyColor - dw StageSeelBonusGfx_GameBoyColor + dw StageRedFieldTopGfx_GameBoyColor + dw StageRedFieldBottomGfx_GameBoyColor + dw VideoData_e8a6 + dw VideoData_e8d4 + dw StageBlueFieldTopGfx_GameBoyColor + dw StageBlueFieldBottomGfx_GameBoyColor + dw StageGengarBonusGfx_GameBoyColor + dw StageGengarBonusGfx_GameBoyColor + dw StageMewtwoBonusGfx_GameBoyColor + dw StageMewtwoBonusGfx_GameBoyColor + dw StageMeowthBonusGfx_GameBoyColor + dw StageMeowthBonusGfx_GameBoyColor + dw StageDiglettBonusGfx_GameBoyColor + dw StageDiglettBonusGfx_GameBoyColor + dw StageSeelBonusGfx_GameBoyColor + dw StageSeelBonusGfx_GameBoyColor StageRedFieldTopGfx_GameBoy: ; 0xe737 - VIDEO_DATA_TILES Alphabet1Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES StageRedFieldTopGfx1, vTiles0 + $1a0, $260 - VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $200 - VIDEO_DATA_TILES StageRedFieldTopGfx2, vTiles0 + $600, $200 - VIDEO_DATA_TILES StageRedFieldTopStatusBarSymbolsGfx_GameBoy, vTiles1, $100 - VIDEO_DATA_TILES StageRedFieldTopGfx3, vTiles1 + $100, $1a0 - VIDEO_DATA_TILES StageRedFieldTopBaseGameBoyGfx, vTiles1 + $2a0, $d60 - VIDEO_DATA_TILEMAP StageRedFieldTopTilemap_GameBoy, vBGMap0, $400 - db $FF, $FF ; terminators + VIDEO_DATA_TILES Alphabet1Gfx, vTiles0, $1a0 + VIDEO_DATA_TILES StageRedFieldTopGfx1, vTiles0 + $1a0, $260 + VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $200 + VIDEO_DATA_TILES StageRedFieldTopGfx2, vTiles0 + $600, $200 + VIDEO_DATA_TILES StageRedFieldTopStatusBarSymbolsGfx_GameBoy, vTiles1, $100 + VIDEO_DATA_TILES StageRedFieldTopGfx3, vTiles1 + $100, $1a0 + VIDEO_DATA_TILES StageRedFieldTopBaseGameBoyGfx, vTiles1 + $2a0, $d60 + VIDEO_DATA_TILEMAP StageRedFieldTopTilemap_GameBoy, vBGMap0, $400 + db $FF, $FF ; terminators StageRedFieldTopGfx_GameBoyColor: ; 0xe771 - VIDEO_DATA_TILES Alphabet2Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES StageRedFieldTopGfx1, vTiles0 + $1a0, $260 - VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $200 - VIDEO_DATA_TILES StageRedFieldTopGfx2, vTiles0 + $600, $200 - VIDEO_DATA_TILES StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor, vTiles1, $100 - VIDEO_DATA_TILES StageRedFieldTopGfx3, vTiles1 + $100, $1a0 - VIDEO_DATA_TILES StageRedFieldTopBaseGameBoyColorGfx, vTiles1 + $2a0, $d60 - VIDEO_DATA_TILES_BANK2 StageRedFieldTopGfx4, vTiles1, $1000 - VIDEO_DATA_TILES_BANK2 StageRedFieldTopGfx5, vTiles0, $200 - VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTiles0 + $600, $160 - VIDEO_DATA_TILES_BANK2 StageRedJapaneseCharactersGfx, vTiles0 + $200, $400 - VIDEO_DATA_TILES_BANK2 StageRedJapaneseCharactersGfx2, vTiles1 + $100, $200 - VIDEO_DATA_TILES_BANK2 StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor, vTiles1, $100 - VIDEO_DATA_TILEMAP StageRedFieldTopTilemap_GameBoyColor, vBGMap0, $400 - VIDEO_DATA_TILEMAP_BANK2 StageRedFieldTopTilemap2_GameBoyColor, vBGMap0, $400 - VIDEO_DATA_PALETTES StageRedFieldTopPalettes, $80 - VIDEO_DATA_TILES_BANK2 StageRedFieldTopGfx6, vTiles0 + $7c0, $40 - db $FF, $FF ; terminators + VIDEO_DATA_TILES Alphabet2Gfx, vTiles0, $1a0 + VIDEO_DATA_TILES StageRedFieldTopGfx1, vTiles0 + $1a0, $260 + VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $200 + VIDEO_DATA_TILES StageRedFieldTopGfx2, vTiles0 + $600, $200 + VIDEO_DATA_TILES StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor, vTiles1, $100 + VIDEO_DATA_TILES StageRedFieldTopGfx3, vTiles1 + $100, $1a0 + VIDEO_DATA_TILES StageRedFieldTopBaseGameBoyColorGfx, vTiles1 + $2a0, $d60 + VIDEO_DATA_TILES_BANK2 StageRedFieldTopGfx4, vTiles1, $1000 + VIDEO_DATA_TILES_BANK2 StageRedFieldTopGfx5, vTiles0, $200 + VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTiles0 + $600, $160 + VIDEO_DATA_TILES_BANK2 StageRedJapaneseCharactersGfx, vTiles0 + $200, $400 + VIDEO_DATA_TILES_BANK2 StageRedJapaneseCharactersGfx2, vTiles1 + $100, $200 + VIDEO_DATA_TILES_BANK2 StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor, vTiles1, $100 + VIDEO_DATA_TILEMAP StageRedFieldTopTilemap_GameBoyColor, vBGMap0, $400 + VIDEO_DATA_TILEMAP_BANK2 StageRedFieldTopTilemap2_GameBoyColor, vBGMap0, $400 + VIDEO_DATA_PALETTES StageRedFieldTopPalettes, $80 + VIDEO_DATA_TILES_BANK2 StageRedFieldTopGfx6, vTiles0 + $7c0, $40 + db $FF, $FF ; terminators StageRedFieldBottomGfx_GameBoy: ; 0xe7ea - VIDEO_DATA_TILES Alphabet1Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES StageSharedBonusSlotGlowGfx, vTiles0 + $1a0, $160 - VIDEO_DATA_TILES StageSharedArrowsGfx, vTiles0 + $300, $80 - VIDEO_DATA_TILES StageSharedBonusSlotGlow2Gfx, vTiles0 + $380, $20 - VIDEO_DATA_TILES StageSharedPikaBoltGfx, vTiles0 + $3c0, $440 - VIDEO_DATA_TILES StageRedFieldBottomBaseGameBoyGfx, vTiles1, $1000 - VIDEO_DATA_TILES SaverTextOffGfx, vTiles1 + $2a0, $40 - VIDEO_DATA_TILEMAP StageRedFieldBottomTilemap_GameBoy, vBGMap0, $400 - db $FF, $FF ; terminators + VIDEO_DATA_TILES Alphabet1Gfx, vTiles0, $1a0 + VIDEO_DATA_TILES StageSharedBonusSlotGlowGfx, vTiles0 + $1a0, $160 + VIDEO_DATA_TILES StageSharedArrowsGfx, vTiles0 + $300, $80 + VIDEO_DATA_TILES StageSharedBonusSlotGlow2Gfx, vTiles0 + $380, $20 + VIDEO_DATA_TILES StageSharedPikaBoltGfx, vTiles0 + $3c0, $440 + VIDEO_DATA_TILES StageRedFieldBottomBaseGameBoyGfx, vTiles1, $1000 + VIDEO_DATA_TILES SaverTextOffGfx, vTiles1 + $2a0, $40 + VIDEO_DATA_TILEMAP StageRedFieldBottomTilemap_GameBoy, vBGMap0, $400 + db $FF, $FF ; terminators StageRedFieldBottomGfx_GameBoyColor: ; 0xe824 - VIDEO_DATA_TILES Alphabet2Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES StageSharedBonusSlotGlowGfx, vTiles0 + $1a0, $160 - VIDEO_DATA_TILES StageSharedArrowsGfx, vTiles0 + $300, $80 - VIDEO_DATA_TILES StageSharedBonusSlotGlow2Gfx, vTiles0 + $380, $20 - VIDEO_DATA_TILES StageSharedPikaBoltGfx, vTiles0 + $3c0, $440 - VIDEO_DATA_TILES StageRedFieldBottomBaseGameBoyColorGfx, vTiles1, $1000 - VIDEO_DATA_TILES_BANK2 StageRedFieldBottomGfx5, vTiles1, $1000 - VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTiles0 + $600, $160 - VIDEO_DATA_TILES SaverTextOffGfx, vTiles1 + $2a0, $40 - VIDEO_DATA_TILES_BANK2 StageRedJapaneseCharactersGfx, vTiles0 + $200, $400 - VIDEO_DATA_TILES_BANK2 StageRedJapaneseCharactersGfx2, vTiles1 + $100, $200 - VIDEO_DATA_TILES_BANK2 StageRedFieldBottomBaseGameBoyColorGfx, vTiles1, $100 - VIDEO_DATA_TILEMAP StageRedFieldBottomTilemap_GameBoyColor, vBGMap0, $400 - VIDEO_DATA_TILEMAP_BANK2 StageRedFieldBottomTilemap2_GameBoyColor, vBGMap0, $400 - VIDEO_DATA_PALETTES StageRedFieldBottomPalettes, $80 - VIDEO_DATA_TILES_BANK2 StageRedFieldTopGfx6, vTiles0 + $7c0, $40 - db $FF, $FF ; terminators + VIDEO_DATA_TILES Alphabet2Gfx, vTiles0, $1a0 + VIDEO_DATA_TILES StageSharedBonusSlotGlowGfx, vTiles0 + $1a0, $160 + VIDEO_DATA_TILES StageSharedArrowsGfx, vTiles0 + $300, $80 + VIDEO_DATA_TILES StageSharedBonusSlotGlow2Gfx, vTiles0 + $380, $20 + VIDEO_DATA_TILES StageSharedPikaBoltGfx, vTiles0 + $3c0, $440 + VIDEO_DATA_TILES StageRedFieldBottomBaseGameBoyColorGfx, vTiles1, $1000 + VIDEO_DATA_TILES_BANK2 StageRedFieldBottomGfx5, vTiles1, $1000 + VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTiles0 + $600, $160 + VIDEO_DATA_TILES SaverTextOffGfx, vTiles1 + $2a0, $40 + VIDEO_DATA_TILES_BANK2 StageRedJapaneseCharactersGfx, vTiles0 + $200, $400 + VIDEO_DATA_TILES_BANK2 StageRedJapaneseCharactersGfx2, vTiles1 + $100, $200 + VIDEO_DATA_TILES_BANK2 StageRedFieldBottomBaseGameBoyColorGfx, vTiles1, $100 + VIDEO_DATA_TILEMAP StageRedFieldBottomTilemap_GameBoyColor, vBGMap0, $400 + VIDEO_DATA_TILEMAP_BANK2 StageRedFieldBottomTilemap2_GameBoyColor, vBGMap0, $400 + VIDEO_DATA_PALETTES StageRedFieldBottomPalettes, $80 + VIDEO_DATA_TILES_BANK2 StageRedFieldTopGfx6, vTiles0 + $7c0, $40 + db $FF, $FF ; terminators VideoData_e896: ; 0xe896 - VIDEO_DATA_TILES Alphabet1Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $200 - db $FF, $FF ; terminators + VIDEO_DATA_TILES Alphabet1Gfx, vTiles0, $1a0 + VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $200 + db $FF, $FF ; terminators VideoData_e8a6: ; 0xe8a6 - VIDEO_DATA_TILES Alphabet2Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $200 - VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTiles0 + $600, $160 - db $FF, $FF ; terminators + VIDEO_DATA_TILES Alphabet2Gfx, vTiles0, $1a0 + VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $200 + VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTiles0 + $600, $160 + db $FF, $FF ; terminators VideoData_e8bd: ; 0xe8bd - VIDEO_DATA_TILES Alphabet1Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES PinballPokeballShakeGfx, vTiles0 + $380, $480 - VIDEO_DATA_TILES SaverTextOffGfx, vTiles1 + $2a0, $40 - db $FF, $FF ; terminators + VIDEO_DATA_TILES Alphabet1Gfx, vTiles0, $1a0 + VIDEO_DATA_TILES PinballPokeballShakeGfx, vTiles0 + $380, $480 + VIDEO_DATA_TILES SaverTextOffGfx, vTiles1 + $2a0, $40 + db $FF, $FF ; terminators VideoData_e8d4: ; 0xe8d4 - VIDEO_DATA_TILES Alphabet2Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES PinballPokeballShakeGfx, vTiles0 + $380, $480 - VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTiles0 + $600, $160 - VIDEO_DATA_TILES SaverTextOffGfx, vTiles1 + $2a0, $40 - db $FF, $FF ; terminators + VIDEO_DATA_TILES Alphabet2Gfx, vTiles0, $1a0 + VIDEO_DATA_TILES PinballPokeballShakeGfx, vTiles0 + $380, $480 + VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTiles0 + $600, $160 + VIDEO_DATA_TILES SaverTextOffGfx, vTiles1 + $2a0, $40 + db $FF, $FF ; terminators StageBlueFieldTopGfx_GameBoy: ; 0xe8f2 - VIDEO_DATA_TILES Alphabet1Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES StageBlueFieldTopGfx1, vTiles0 + $1a0, $260 - VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $200 - VIDEO_DATA_TILES StageBlueFieldTopGfx2, vTiles0 + $600, $200 - VIDEO_DATA_TILES StageBlueFieldTopStatusBarSymbolsGfx_GameBoy, vTiles1, $100 - VIDEO_DATA_TILES StageBlueFieldTopGfx3, vTiles1 + $100, $1a0 - VIDEO_DATA_TILES StageBlueFieldTopBaseGameBoyGfx, vTiles1 + $2a0, $d60 - VIDEO_DATA_TILEMAP StageBlueFieldTopTilemap_GameBoy, vBGMap0, $400 - db $FF, $FF ; terminators + VIDEO_DATA_TILES Alphabet1Gfx, vTiles0, $1a0 + VIDEO_DATA_TILES StageBlueFieldTopGfx1, vTiles0 + $1a0, $260 + VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $200 + VIDEO_DATA_TILES StageBlueFieldTopGfx2, vTiles0 + $600, $200 + VIDEO_DATA_TILES StageBlueFieldTopStatusBarSymbolsGfx_GameBoy, vTiles1, $100 + VIDEO_DATA_TILES StageBlueFieldTopGfx3, vTiles1 + $100, $1a0 + VIDEO_DATA_TILES StageBlueFieldTopBaseGameBoyGfx, vTiles1 + $2a0, $d60 + VIDEO_DATA_TILEMAP StageBlueFieldTopTilemap_GameBoy, vBGMap0, $400 + db $FF, $FF ; terminators StageBlueFieldTopGfx_GameBoyColor: ; 0xe92c - VIDEO_DATA_TILES Alphabet2Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES StageBlueFieldTopGfx1, vTiles0 + $1a0, $260 - VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $200 - VIDEO_DATA_TILES StageBlueFieldTopGfx2, vTiles0 + $600, $200 - VIDEO_DATA_TILES StageBlueFieldTopStatusBarSymbolsGfx_GameBoyColor, vTiles1, $100 - VIDEO_DATA_TILES StageBlueFieldTopGfx3, vTiles1 + $100, $1a0 - VIDEO_DATA_TILES StageBlueFieldTopBaseGameBoyColorGfx, vTiles1 + $2a0, $d60 - VIDEO_DATA_TILES_BANK2 StageBlueFieldTopGfx4, vTiles1, $1000 - VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTiles0 + $600, $160 - VIDEO_DATA_TILEMAP StageBlueFieldTopTilemap_GameBoyColor, vBGMap0, $400 - VIDEO_DATA_TILEMAP_BANK2 StageBlueFieldTopTilemap2_GameBoyColor, vBGMap0, $400 - VIDEO_DATA_PALETTES StageBlueFieldTopPalettes, $80 - db $FF, $FF ; terminators + VIDEO_DATA_TILES Alphabet2Gfx, vTiles0, $1a0 + VIDEO_DATA_TILES StageBlueFieldTopGfx1, vTiles0 + $1a0, $260 + VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $200 + VIDEO_DATA_TILES StageBlueFieldTopGfx2, vTiles0 + $600, $200 + VIDEO_DATA_TILES StageBlueFieldTopStatusBarSymbolsGfx_GameBoyColor, vTiles1, $100 + VIDEO_DATA_TILES StageBlueFieldTopGfx3, vTiles1 + $100, $1a0 + VIDEO_DATA_TILES StageBlueFieldTopBaseGameBoyColorGfx, vTiles1 + $2a0, $d60 + VIDEO_DATA_TILES_BANK2 StageBlueFieldTopGfx4, vTiles1, $1000 + VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTiles0 + $600, $160 + VIDEO_DATA_TILEMAP StageBlueFieldTopTilemap_GameBoyColor, vBGMap0, $400 + VIDEO_DATA_TILEMAP_BANK2 StageBlueFieldTopTilemap2_GameBoyColor, vBGMap0, $400 + VIDEO_DATA_PALETTES StageBlueFieldTopPalettes, $80 + db $FF, $FF ; terminators StageBlueFieldBottomGfx_GameBoy: ; 0xe982 - VIDEO_DATA_TILES Alphabet1Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES StageSharedBonusSlotGlowGfx, vTiles0 + $1a0, $160 - VIDEO_DATA_TILES StageSharedArrowsGfx, vTiles0 + $300, $80 - VIDEO_DATA_TILES StageSharedBonusSlotGlow2Gfx, vTiles0 + $380, $20 - VIDEO_DATA_TILES StageSharedPikaBoltGfx, vTiles0 + $3c0, $440 - VIDEO_DATA_TILES StageBlueFieldBottomBaseGameBoyGfx, vTiles1, $1000 - VIDEO_DATA_TILES SaverTextOffGfx, vTiles1 + $2a0, $40 - VIDEO_DATA_TILEMAP StageBlueFieldBottomTilemap_GameBoy, vBGMap0, $400 - db $FF, $FF ; terminators + VIDEO_DATA_TILES Alphabet1Gfx, vTiles0, $1a0 + VIDEO_DATA_TILES StageSharedBonusSlotGlowGfx, vTiles0 + $1a0, $160 + VIDEO_DATA_TILES StageSharedArrowsGfx, vTiles0 + $300, $80 + VIDEO_DATA_TILES StageSharedBonusSlotGlow2Gfx, vTiles0 + $380, $20 + VIDEO_DATA_TILES StageSharedPikaBoltGfx, vTiles0 + $3c0, $440 + VIDEO_DATA_TILES StageBlueFieldBottomBaseGameBoyGfx, vTiles1, $1000 + VIDEO_DATA_TILES SaverTextOffGfx, vTiles1 + $2a0, $40 + VIDEO_DATA_TILEMAP StageBlueFieldBottomTilemap_GameBoy, vBGMap0, $400 + db $FF, $FF ; terminators StageBlueFieldBottomGfx_GameBoyColor: ; 0xe9bc - VIDEO_DATA_TILES Alphabet2Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES StageSharedBonusSlotGlowGfx, vTiles0 + $1a0, $160 - VIDEO_DATA_TILES StageSharedArrowsGfx, vTiles0 + $300, $80 - VIDEO_DATA_TILES StageSharedBonusSlotGlow2Gfx, vTiles0 + $380, $20 - VIDEO_DATA_TILES StageSharedPikaBoltGfx, vTiles0 + $3c0, $440 - VIDEO_DATA_TILES StageBlueFieldBottomBaseGameBoyColorGfx, vTiles1, $1000 - VIDEO_DATA_TILES_BANK2 StageBlueFieldBottomGfx1, vTiles1, $1000 - VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTiles0 + $600, $160 - VIDEO_DATA_TILES SaverTextOffGfx, vTiles1 + $2a0, $40 - VIDEO_DATA_TILEMAP StageBlueFieldBottomTilemap_GameBoyColor, vBGMap0, $400 - VIDEO_DATA_TILEMAP_BANK2 StageBlueFieldBottomTilemap2_GameBoyColor, vBGMap0, $400 - VIDEO_DATA_PALETTES StageBlueFieldBottomPalettes, $80 - db $FF, $FF ; terminators + VIDEO_DATA_TILES Alphabet2Gfx, vTiles0, $1a0 + VIDEO_DATA_TILES StageSharedBonusSlotGlowGfx, vTiles0 + $1a0, $160 + VIDEO_DATA_TILES StageSharedArrowsGfx, vTiles0 + $300, $80 + VIDEO_DATA_TILES StageSharedBonusSlotGlow2Gfx, vTiles0 + $380, $20 + VIDEO_DATA_TILES StageSharedPikaBoltGfx, vTiles0 + $3c0, $440 + VIDEO_DATA_TILES StageBlueFieldBottomBaseGameBoyColorGfx, vTiles1, $1000 + VIDEO_DATA_TILES_BANK2 StageBlueFieldBottomGfx1, vTiles1, $1000 + VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTiles0 + $600, $160 + VIDEO_DATA_TILES SaverTextOffGfx, vTiles1 + $2a0, $40 + VIDEO_DATA_TILEMAP StageBlueFieldBottomTilemap_GameBoyColor, vBGMap0, $400 + VIDEO_DATA_TILEMAP_BANK2 StageBlueFieldBottomTilemap2_GameBoyColor, vBGMap0, $400 + VIDEO_DATA_PALETTES StageBlueFieldBottomPalettes, $80 + db $FF, $FF ; terminators StageGengarBonusGfx_GameBoy: ; 0xea12 - VIDEO_DATA_TILES Alphabet1Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $320 - VIDEO_DATA_TILES GengarBonusBaseGameBoyGfx, vTiles1, $1000 - VIDEO_DATA_TILES GengarBonusGastlyGfx, vTiles1 + $100, $180 - VIDEO_DATA_TILES GengarBonusHaunter1Gfx, vTiles1 + $280, $20 - VIDEO_DATA_TILES GengarBonusHaunter2Gfx, vTiles0 + $1a0, $100 - VIDEO_DATA_TILES GengarBonusGengar1Gfx, vTiles0 + $2a0, $160 - VIDEO_DATA_TILES GengarBonusGengar2Gfx, vTiles0 + $7a0, $60 - VIDEO_DATA_TILES GengarBonusGengar3Gfx, vTiles1 + $2a0, $2a0 - VIDEO_DATA_TILEMAP GengarBonusTilemap_GameBoy, vBGMap0, $400 - db $FF, $FF ; terminators + VIDEO_DATA_TILES Alphabet1Gfx, vTiles0, $1a0 + VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $320 + VIDEO_DATA_TILES GengarBonusBaseGameBoyGfx, vTiles1, $1000 + VIDEO_DATA_TILES GengarBonusGastlyGfx, vTiles1 + $100, $180 + VIDEO_DATA_TILES GengarBonusHaunter1Gfx, vTiles1 + $280, $20 + VIDEO_DATA_TILES GengarBonusHaunter2Gfx, vTiles0 + $1a0, $100 + VIDEO_DATA_TILES GengarBonusGengar1Gfx, vTiles0 + $2a0, $160 + VIDEO_DATA_TILES GengarBonusGengar2Gfx, vTiles0 + $7a0, $60 + VIDEO_DATA_TILES GengarBonusGengar3Gfx, vTiles1 + $2a0, $2a0 + VIDEO_DATA_TILEMAP GengarBonusTilemap_GameBoy, vBGMap0, $400 + db $FF, $FF ; terminators StageGengarBonusGfx_GameBoyColor: ; 0xea5a - VIDEO_DATA_TILES Alphabet2Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES StageSharedPikaBoltGfx, vTiles0 + $3c0, $440 - VIDEO_DATA_TILES GengarBonusBaseGameBoyColorGfx, vTiles1, $1000 - VIDEO_DATA_TILES GengarBonusGastlyGfx, vTiles1 + $100, $180 - VIDEO_DATA_TILES GengarBonusHaunter1Gfx, vTiles1 + $280, $20 - VIDEO_DATA_TILES GengarBonusHaunter2Gfx, vTiles0 + $1a0, $100 - VIDEO_DATA_TILES GengarBonusGengar1Gfx, vTiles0 + $2a0, $160 - VIDEO_DATA_TILES GengarBonusGengar2Gfx, vTiles0 + $7a0, $60 - VIDEO_DATA_TILES GengarBonusGengar3Gfx, vTiles1 + $2a0, $2a0 - VIDEO_DATA_TILES_BANK2 GengarBonus1Gfx, vTiles1, $1000 - VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTiles0 + $600, $160 - VIDEO_DATA_TILEMAP GengarBonusBottomTilemap_GameBoyColor, vBGMap0, $400 - VIDEO_DATA_TILEMAP_BANK2 GengarBonusBottomTilemap2_GameBoyColor, vBGMap0, $400 - VIDEO_DATA_PALETTES GengarBonusPalettes, $80 - db $FF, $FF ; terminators + VIDEO_DATA_TILES Alphabet2Gfx, vTiles0, $1a0 + VIDEO_DATA_TILES StageSharedPikaBoltGfx, vTiles0 + $3c0, $440 + VIDEO_DATA_TILES GengarBonusBaseGameBoyColorGfx, vTiles1, $1000 + VIDEO_DATA_TILES GengarBonusGastlyGfx, vTiles1 + $100, $180 + VIDEO_DATA_TILES GengarBonusHaunter1Gfx, vTiles1 + $280, $20 + VIDEO_DATA_TILES GengarBonusHaunter2Gfx, vTiles0 + $1a0, $100 + VIDEO_DATA_TILES GengarBonusGengar1Gfx, vTiles0 + $2a0, $160 + VIDEO_DATA_TILES GengarBonusGengar2Gfx, vTiles0 + $7a0, $60 + VIDEO_DATA_TILES GengarBonusGengar3Gfx, vTiles1 + $2a0, $2a0 + VIDEO_DATA_TILES_BANK2 GengarBonus1Gfx, vTiles1, $1000 + VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTiles0 + $600, $160 + VIDEO_DATA_TILEMAP GengarBonusBottomTilemap_GameBoyColor, vBGMap0, $400 + VIDEO_DATA_TILEMAP_BANK2 GengarBonusBottomTilemap2_GameBoyColor, vBGMap0, $400 + VIDEO_DATA_PALETTES GengarBonusPalettes, $80 + db $FF, $FF ; terminators StageMewtwoBonusGfx_GameBoy: ; 0xeabe - VIDEO_DATA_TILES Alphabet1Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES MewtwoBonus1Gfx, vTiles0 + $1a0, $260 - VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $320 - VIDEO_DATA_TILES MewtwoBonus2Gfx, vTiles0 + $7a0, $60 - VIDEO_DATA_TILES MewtwoBonusBaseGameBoyGfx, vTiles1, $1000 - VIDEO_DATA_TILES MewtwoBonus3Gfx, vTiles1 + $100, $1a0 - VIDEO_DATA_TILES MewtwoBonus4Gfx, vTiles1 + $2a0, $2a0 - VIDEO_DATA_TILEMAP MewtwoBonusTilemap_GameBoy, vBGMap0, $400 - db $FF, $FF ; terminators + VIDEO_DATA_TILES Alphabet1Gfx, vTiles0, $1a0 + VIDEO_DATA_TILES MewtwoBonus1Gfx, vTiles0 + $1a0, $260 + VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $320 + VIDEO_DATA_TILES MewtwoBonus2Gfx, vTiles0 + $7a0, $60 + VIDEO_DATA_TILES MewtwoBonusBaseGameBoyGfx, vTiles1, $1000 + VIDEO_DATA_TILES MewtwoBonus3Gfx, vTiles1 + $100, $1a0 + VIDEO_DATA_TILES MewtwoBonus4Gfx, vTiles1 + $2a0, $2a0 + VIDEO_DATA_TILEMAP MewtwoBonusTilemap_GameBoy, vBGMap0, $400 + db $FF, $FF ; terminators StageMewtwoBonusGfx_GameBoyColor: ; 0xeaf8 - VIDEO_DATA_TILES Alphabet2Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES MewtwoBonus1Gfx, vTiles0 + $1a0, $260 - VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $320 - VIDEO_DATA_TILES MewtwoBonus2Gfx, vTiles0 + $7a0, $60 - VIDEO_DATA_TILES MewtwoBonusBaseGameBoyColorGfx, vTiles1, $1000 - VIDEO_DATA_TILES MewtwoBonus3Gfx, vTiles1 + $100, $1a0 - VIDEO_DATA_TILES MewtwoBonus4Gfx, vTiles1 + $2a0, $2a0 - - ; Can't use a macro here because it's copying the tiles from VRAM, not ROM. - dw vTiles0 - db $20 ; This is an arbitrary bank, since the data is in VRAM, not ROM. - dw vTiles1 - dw $4002 - - VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTiles0 + $600, $160 - VIDEO_DATA_TILEMAP MewtoBonusBottomTilemap_GameBoyColor, vBGMap0, $400 - VIDEO_DATA_TILEMAP_BANK2 MewtoBonusBottomTilemap2_GameBoyColor, vBGMap0, $400 - VIDEO_DATA_PALETTES MewtwoBonusPalettes, $80 - db $FF, $FF ; terminators + VIDEO_DATA_TILES Alphabet2Gfx, vTiles0, $1a0 + VIDEO_DATA_TILES MewtwoBonus1Gfx, vTiles0 + $1a0, $260 + VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $320 + VIDEO_DATA_TILES MewtwoBonus2Gfx, vTiles0 + $7a0, $60 + VIDEO_DATA_TILES MewtwoBonusBaseGameBoyColorGfx, vTiles1, $1000 + VIDEO_DATA_TILES MewtwoBonus3Gfx, vTiles1 + $100, $1a0 + VIDEO_DATA_TILES MewtwoBonus4Gfx, vTiles1 + $2a0, $2a0 + + ; Can't use a macro here because it's copying the tiles from VRAM, not ROM. + dw vTiles0 + db $20 ; This is an arbitrary bank, since the data is in VRAM, not ROM. + dw vTiles1 + dw $4002 + + VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTiles0 + $600, $160 + VIDEO_DATA_TILEMAP MewtoBonusBottomTilemap_GameBoyColor, vBGMap0, $400 + VIDEO_DATA_TILEMAP_BANK2 MewtoBonusBottomTilemap2_GameBoyColor, vBGMap0, $400 + VIDEO_DATA_PALETTES MewtwoBonusPalettes, $80 + db $FF, $FF ; terminators StageMeowthBonusGfx_GameBoy: ; 0xeb4e - VIDEO_DATA_TILES Alphabet1Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES MeowthBonusMeowth1Gfx, vTiles0 + $1a0, $260 - VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $320 - VIDEO_DATA_TILES MeowthBonusMeowth2Gfx, vTiles0 + $7a0, $60 - VIDEO_DATA_TILES MeowthBonusBaseGameBoyGfx, vTiles1, $a00 - VIDEO_DATA_TILES MeowthBonusMeowth3Gfx, vTiles1 + $100, $1a0 - VIDEO_DATA_TILES MeowthBonusMeowth4Gfx, vTiles1 + $2a0, $360 - VIDEO_DATA_TILEMAP MeowthBonusTilemap_GameBoy, vBGMap0, $400 - db $FF, $FF ; terminators + VIDEO_DATA_TILES Alphabet1Gfx, vTiles0, $1a0 + VIDEO_DATA_TILES MeowthBonusMeowth1Gfx, vTiles0 + $1a0, $260 + VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $320 + VIDEO_DATA_TILES MeowthBonusMeowth2Gfx, vTiles0 + $7a0, $60 + VIDEO_DATA_TILES MeowthBonusBaseGameBoyGfx, vTiles1, $a00 + VIDEO_DATA_TILES MeowthBonusMeowth3Gfx, vTiles1 + $100, $1a0 + VIDEO_DATA_TILES MeowthBonusMeowth4Gfx, vTiles1 + $2a0, $360 + VIDEO_DATA_TILEMAP MeowthBonusTilemap_GameBoy, vBGMap0, $400 + db $FF, $FF ; terminators StageMeowthBonusGfx_GameBoyColor: ; 0xeb88 - VIDEO_DATA_TILES Alphabet2Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES MeowthBonusMeowth1Gfx, vTiles0 + $1a0, $260 - VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $320 - VIDEO_DATA_TILES MeowthBonusMeowth2Gfx, vTiles0 + $7a0, $60 - VIDEO_DATA_TILES MeowthBonusBaseGameBoyColorGfx, vTiles1, $900 - VIDEO_DATA_TILES MeowthBonusMeowth3Gfx, vTiles1 + $100, $1a0 - VIDEO_DATA_TILES MeowthBonusMeowth4Gfx, vTiles1 + $2a0, $360 - VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTiles0 + $600, $160 - VIDEO_DATA_TILEMAP MeowthBonusTilemap_GameBoyColor, vBGMap0, $400 - VIDEO_DATA_TILEMAP_BANK2 MeowthBonusTilemap2_GameBoyColor, vBGMap0, $400 - VIDEO_DATA_PALETTES MeowthBonusPalettes, $80 - db $FF, $FF ; terminators + VIDEO_DATA_TILES Alphabet2Gfx, vTiles0, $1a0 + VIDEO_DATA_TILES MeowthBonusMeowth1Gfx, vTiles0 + $1a0, $260 + VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $320 + VIDEO_DATA_TILES MeowthBonusMeowth2Gfx, vTiles0 + $7a0, $60 + VIDEO_DATA_TILES MeowthBonusBaseGameBoyColorGfx, vTiles1, $900 + VIDEO_DATA_TILES MeowthBonusMeowth3Gfx, vTiles1 + $100, $1a0 + VIDEO_DATA_TILES MeowthBonusMeowth4Gfx, vTiles1 + $2a0, $360 + VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTiles0 + $600, $160 + VIDEO_DATA_TILEMAP MeowthBonusTilemap_GameBoyColor, vBGMap0, $400 + VIDEO_DATA_TILEMAP_BANK2 MeowthBonusTilemap2_GameBoyColor, vBGMap0, $400 + VIDEO_DATA_PALETTES MeowthBonusPalettes, $80 + db $FF, $FF ; terminators StageDiglettBonusGfx_GameBoy: ; 0xebd7 - VIDEO_DATA_TILES Alphabet1Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES DiglettBonusDugtrio1Gfx, vTiles0 + $1a0, $260 - VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $320 - VIDEO_DATA_TILES DiglettBonusDugtrio2Gfx, vTiles0 + $7a0, $60 - VIDEO_DATA_TILES DiglettBonusBaseGameBoyGfx, vTiles1, $e00 ; $e00 is actually $100 too many bytes. Should only be $d00. This accidentally loads palette data after the tile graphics. - VIDEO_DATA_TILES DiglettBonusDugtrio3Gfx, vTiles1 + $100, $1a0 - VIDEO_DATA_TILES DiglettBonusDugtrio4Gfx, vTiles1 + $2a0, $280 - VIDEO_DATA_TILEMAP DiglettBonusTilemap_GameBoy, vBGMap0, $400 - db $FF, $FF ; terminators + VIDEO_DATA_TILES Alphabet1Gfx, vTiles0, $1a0 + VIDEO_DATA_TILES DiglettBonusDugtrio1Gfx, vTiles0 + $1a0, $260 + VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $320 + VIDEO_DATA_TILES DiglettBonusDugtrio2Gfx, vTiles0 + $7a0, $60 + VIDEO_DATA_TILES DiglettBonusBaseGameBoyGfx, vTiles1, $e00 ; $e00 is actually $100 too many bytes. Should only be $d00. This accidentally loads palette data after the tile graphics. + VIDEO_DATA_TILES DiglettBonusDugtrio3Gfx, vTiles1 + $100, $1a0 + VIDEO_DATA_TILES DiglettBonusDugtrio4Gfx, vTiles1 + $2a0, $280 + VIDEO_DATA_TILEMAP DiglettBonusTilemap_GameBoy, vBGMap0, $400 + db $FF, $FF ; terminators StageDiglettBonusGfx_GameBoyColor: ; 0xec11 - VIDEO_DATA_TILES Alphabet2Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES DiglettBonusDugtrio1Gfx, vTiles0 + $1a0, $260 - VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $320 - VIDEO_DATA_TILES DiglettBonusDugtrio2Gfx, vTiles0 + $7a0, $60 - VIDEO_DATA_TILES DiglettBonusBaseGameBoyColorGfx, vTiles1, $e00 - VIDEO_DATA_TILES DiglettBonusDugtrio3Gfx, vTiles1 + $100, $1a0 - VIDEO_DATA_TILES DiglettBonusDugtrio4Gfx, vTiles1 + $2a0, $280 - VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTiles0 + $600, $160 - VIDEO_DATA_TILEMAP DiglettBonusTilemap_GameBoyColor, vBGMap0, $400 - VIDEO_DATA_TILEMAP_BANK2 DiglettBonusTilemap2_GameBoyColor, vBGMap0, $400 - VIDEO_DATA_PALETTES DiglettBonusPalettes, $80 - db $FF, $FF ; terminators + VIDEO_DATA_TILES Alphabet2Gfx, vTiles0, $1a0 + VIDEO_DATA_TILES DiglettBonusDugtrio1Gfx, vTiles0 + $1a0, $260 + VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $320 + VIDEO_DATA_TILES DiglettBonusDugtrio2Gfx, vTiles0 + $7a0, $60 + VIDEO_DATA_TILES DiglettBonusBaseGameBoyColorGfx, vTiles1, $e00 + VIDEO_DATA_TILES DiglettBonusDugtrio3Gfx, vTiles1 + $100, $1a0 + VIDEO_DATA_TILES DiglettBonusDugtrio4Gfx, vTiles1 + $2a0, $280 + VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTiles0 + $600, $160 + VIDEO_DATA_TILEMAP DiglettBonusTilemap_GameBoyColor, vBGMap0, $400 + VIDEO_DATA_TILEMAP_BANK2 DiglettBonusTilemap2_GameBoyColor, vBGMap0, $400 + VIDEO_DATA_PALETTES DiglettBonusPalettes, $80 + db $FF, $FF ; terminators StageSeelBonusGfx_GameBoy: ; 0xec60 - VIDEO_DATA_TILES Alphabet1Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES SeelBonusSeel1Gfx, vTiles0 + $1a0, $260 - VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $320 - VIDEO_DATA_TILES SeelBonusSeel2Gfx, vTiles0 + $7a0, $60 - VIDEO_DATA_TILES SeelBonusBaseGameBoyGfx, vTiles1, $d00 ; $d00 is actually $100 too many bytes. Should only be $c00. This accidentally loads palette data after the tile graphics. - VIDEO_DATA_TILES SeelBonusSeel3Gfx, vTiles1 + $100, $1a0 - VIDEO_DATA_TILES SeelBonusSeel4Gfx, vTiles1 + $2a0, $4a0 - VIDEO_DATA_TILEMAP SeelBonusTilemap_GameBoy, vBGMap0, $400 - db $FF, $FF ; terminators + VIDEO_DATA_TILES Alphabet1Gfx, vTiles0, $1a0 + VIDEO_DATA_TILES SeelBonusSeel1Gfx, vTiles0 + $1a0, $260 + VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $320 + VIDEO_DATA_TILES SeelBonusSeel2Gfx, vTiles0 + $7a0, $60 + VIDEO_DATA_TILES SeelBonusBaseGameBoyGfx, vTiles1, $d00 ; $d00 is actually $100 too many bytes. Should only be $c00. This accidentally loads palette data after the tile graphics. + VIDEO_DATA_TILES SeelBonusSeel3Gfx, vTiles1 + $100, $1a0 + VIDEO_DATA_TILES SeelBonusSeel4Gfx, vTiles1 + $2a0, $4a0 + VIDEO_DATA_TILEMAP SeelBonusTilemap_GameBoy, vBGMap0, $400 + db $FF, $FF ; terminators StageSeelBonusGfx_GameBoyColor: ; 0xec9a - VIDEO_DATA_TILES Alphabet2Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES SeelBonusSeel1Gfx, vTiles0 + $1a0, $260 - VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $320 - VIDEO_DATA_TILES SeelBonusSeel2Gfx, vTiles0 + $7a0, $60 - VIDEO_DATA_TILES SeelBonusBaseGameBoyColorGfx, vTiles1, $b00 ; Should actually be $a00 bytes, not $b00 - VIDEO_DATA_TILES SeelBonusSeel3Gfx, vTiles1 + $100, $1a0 - VIDEO_DATA_TILES SeelBonusSeel4Gfx, vTiles1 + $2a0, $4a0 - VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTiles0 + $600, $160 - VIDEO_DATA_TILEMAP SeelBonusTilemap_GameBoyColor, vBGMap0, $400 - VIDEO_DATA_TILEMAP_BANK2 SeelBonusTilemap2_GameBoyColor, vBGMap0, $400 - VIDEO_DATA_PALETTES SeelBonusPalettes, $80 - db $FF, $FF ; terminators + VIDEO_DATA_TILES Alphabet2Gfx, vTiles0, $1a0 + VIDEO_DATA_TILES SeelBonusSeel1Gfx, vTiles0 + $1a0, $260 + VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $320 + VIDEO_DATA_TILES SeelBonusSeel2Gfx, vTiles0 + $7a0, $60 + VIDEO_DATA_TILES SeelBonusBaseGameBoyColorGfx, vTiles1, $b00 ; Should actually be $a00 bytes, not $b00 + VIDEO_DATA_TILES SeelBonusSeel3Gfx, vTiles1 + $100, $1a0 + VIDEO_DATA_TILES SeelBonusSeel4Gfx, vTiles1 + $2a0, $4a0 + VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTiles0 + $600, $160 + VIDEO_DATA_TILEMAP SeelBonusTilemap_GameBoyColor, vBGMap0, $400 + VIDEO_DATA_TILEMAP_BANK2 SeelBonusTilemap2_GameBoyColor, vBGMap0, $400 + VIDEO_DATA_PALETTES SeelBonusPalettes, $80 + db $FF, $FF ; terminators Func_ece9: ; 0xece9 - call Func_ed5e - ld a, [wBallYPos + 1] - add $10 - cp $18 - jr c, .asm_ed13 - cp $b8 - ret c - ld a, [wCurrentStage] - ld c, a - ld b, $0 - ld hl, BallMovingDownStageTransitions - add hl, bc - ld a, [hl] - cp $ff - jr z, .asm_ed2e - call Func_e674 - ld a, [wBallYPos + 1] - sub $88 - ld [wBallYPos + 1], a - ret + call Func_ed5e + ld a, [wBallYPos + 1] + add $10 + cp $18 + jr c, .asm_ed13 + cp $b8 + ret c + ld a, [wCurrentStage] + ld c, a + ld b, $0 + ld hl, BallMovingDownStageTransitions + add hl, bc + ld a, [hl] + cp $ff + jr z, .asm_ed2e + call Func_e674 + ld a, [wBallYPos + 1] + sub $88 + ld [wBallYPos + 1], a + ret .asm_ed13 - ld a, [wCurrentStage] - ld c, a - ld b, $0 - ld hl, BallMovingUpStageTransitions - add hl, bc - ld a, [hl] - cp $ff - jr z, .asm_ed2e - call Func_e674 - ld a, [wBallYPos + 1] - add $88 - ld [wBallYPos + 1], a - ret + ld a, [wCurrentStage] + ld c, a + ld b, $0 + ld hl, BallMovingUpStageTransitions + add hl, bc + ld a, [hl] + cp $ff + jr z, .asm_ed2e + call Func_e674 + ld a, [wBallYPos + 1] + add $88 + ld [wBallYPos + 1], a + ret .asm_ed2e - ld a, $1 - ld [$d4ae], a - ld [$ff8a], a - ld a, Bank(Func_dc49) - ld hl, Func_dc49 - call BankSwitch - ret + ld a, $1 + ld [$d4ae], a + ld [$ff8a], a + ld a, Bank(Func_dc49) + ld hl, Func_dc49 + call BankSwitch + ret BallMovingUpStageTransitions: ; 0xed3e ; Maps the relationship between stages when ; the ball moves out of the screen upward. - db $FF ; STAGE_RED_FIELD_TOP - db STAGE_RED_FIELD_TOP ; STAGE_RED_FIELD_BOTTOM - db $FF - db $02 - db $FF ; STAGE_BLUE_FIELD_TOP - db STAGE_BLUE_FIELD_TOP ; STAGE_BLUE_FIELD_BOTTOM - db $FF ; STAGE_GENGAR_BONUS - db $FF ; STAGE_GENGAR_BONUS - db $FF ; STAGE_MEWTWO_BONUS - db $FF ; STAGE_MEWTWO_BONUS - db $FF ; STAGE_MEOWTH_BONUS - db $FF ; STAGE_MEOWTH_BONUS - db $FF ; STAGE_DIGLETT_BONUS - db $FF ; STAGE_DIGLETT_BONUS - db $FF ; STAGE_SEEL_BONUS - db $FF ; STAGE_SEEL_BONUS + db $FF ; STAGE_RED_FIELD_TOP + db STAGE_RED_FIELD_TOP ; STAGE_RED_FIELD_BOTTOM + db $FF + db $02 + db $FF ; STAGE_BLUE_FIELD_TOP + db STAGE_BLUE_FIELD_TOP ; STAGE_BLUE_FIELD_BOTTOM + db $FF ; STAGE_GENGAR_BONUS + db $FF ; STAGE_GENGAR_BONUS + db $FF ; STAGE_MEWTWO_BONUS + db $FF ; STAGE_MEWTWO_BONUS + db $FF ; STAGE_MEOWTH_BONUS + db $FF ; STAGE_MEOWTH_BONUS + db $FF ; STAGE_DIGLETT_BONUS + db $FF ; STAGE_DIGLETT_BONUS + db $FF ; STAGE_SEEL_BONUS + db $FF ; STAGE_SEEL_BONUS BallMovingDownStageTransitions: ; 0xed4e ; Maps the relationship between stages when ; the ball moves out of the screen downward. - db STAGE_RED_FIELD_BOTTOM ; STAGE_RED_FIELD_TOP - db $FF ; STAGE_RED_FIELD_BOTTOM - db $03 - db $FF - db STAGE_BLUE_FIELD_BOTTOM ; STAGE_BLUE_FIELD_TOP - db $FF ; STAGE_BLUE_FIELD_BOTTOM - db $FF ; STAGE_GENGAR_BONUS - db $FF ; STAGE_GENGAR_BONUS - db $FF ; STAGE_MEWTWO_BONUS - db $FF ; STAGE_MEWTWO_BONUS - db $FF ; STAGE_MEOWTH_BONUS - db $FF ; STAGE_MEOWTH_BONUS - db $FF ; STAGE_DIGLETT_BONUS - db $FF ; STAGE_DIGLETT_BONUS - db $FF ; STAGE_SEEL_BONUS - db $FF ; STAGE_SEEL_BONUS + db STAGE_RED_FIELD_BOTTOM ; STAGE_RED_FIELD_TOP + db $FF ; STAGE_RED_FIELD_BOTTOM + db $03 + db $FF + db STAGE_BLUE_FIELD_BOTTOM ; STAGE_BLUE_FIELD_TOP + db $FF ; STAGE_BLUE_FIELD_BOTTOM + db $FF ; STAGE_GENGAR_BONUS + db $FF ; STAGE_GENGAR_BONUS + db $FF ; STAGE_MEWTWO_BONUS + db $FF ; STAGE_MEWTWO_BONUS + db $FF ; STAGE_MEOWTH_BONUS + db $FF ; STAGE_MEOWTH_BONUS + db $FF ; STAGE_DIGLETT_BONUS + db $FF ; STAGE_DIGLETT_BONUS + db $FF ; STAGE_SEEL_BONUS + db $FF ; STAGE_SEEL_BONUS Func_ed5e: ; 0xed5e - ld hl, $d7ab - ld a, [$d7ac] - and a - jr nz, .asm_ed7f - ld a, [wBallXPos + 1] - cp $9a - ld a, $2 - jr nc, .asm_ed72 - ld a, $fe + ld hl, $d7ab + ld a, [$d7ac] + and a + jr nz, .asm_ed7f + ld a, [wBallXPos + 1] + cp $9a + ld a, $2 + jr nc, .asm_ed72 + ld a, $fe .asm_ed72 - ld [$d7aa], a - add [hl] - cp $22 - jr z, .asm_ed7f - bit 7, a - jr nz, .asm_ed7f - ld [hl], a + ld [$d7aa], a + add [hl] + cp $22 + jr z, .asm_ed7f + bit 7, a + jr nz, .asm_ed7f + ld [hl], a .asm_ed7f - ld a, [hl] - ld hl, $d79f - sub [hl] - ld [hBoardXShift], a - xor a - ld hl, $d7a0 - sub [hl] - ld [hBoardYShift], a - ret + ld a, [hl] + ld hl, $d79f + sub [hl] + ld [hBoardXShift], a + xor a + ld hl, $d7a0 + sub [hl] + ld [hBoardYShift], a + ret Func_ed8e: ; 0xed8e - xor a - ld [$d803], a - ld [$d804], a - ld [$d622], a - ld a, [wNumPartyMons] - ld [$d620], a - ld a, [wBallType] - ld c, a - ld b, $0 - ld hl, BallTypeMultipliers - add hl, bc - ld a, [hl] - ld [$d621], a + xor a + ld [$d803], a + ld [$d804], a + ld [$d622], a + ld a, [wNumPartyMons] + ld [$d620], a + ld a, [wBallType] + ld c, a + ld b, $0 + ld hl, BallTypeMultipliers + add hl, bc + ld a, [hl] + ld [$d621], a .asm_edac - xor a - ld [hJoypadState], a - ld [hNewlyPressedButtons], a - ld [hPressedButtons], a - call HandleTilts - ld a, [wCurrentStage] - bit 0, a - ld [$ff8a], a - ld a, $3 - ld hl, HandleFlippers - call nz, BankSwitch - ld [$ff8a], a - ld a, Bank(Func_84b7) - ld hl, Func_84b7 - call BankSwitch - call Func_33e3 - call Func_926 - rst $10 - ld a, [$d7af] - and a - jr nz, .asm_edac - ld a, [$d7b3] - and a - jr nz, .asm_edac - ld a, [hGameBoyColorFlag] - and a - call nz, Func_f269 - call GenRandom - and $f0 - ld [$d61a], a - xor a - ld [$d61b], a - ld [$d61e], a + xor a + ld [hJoypadState], a + ld [hNewlyPressedButtons], a + ld [hPressedButtons], a + call HandleTilts + ld a, [wCurrentStage] + bit 0, a + ld [$ff8a], a + ld a, $3 + ld hl, HandleFlippers + call nz, BankSwitch + ld [$ff8a], a + ld a, Bank(Func_84b7) + ld hl, Func_84b7 + call BankSwitch + call Func_33e3 + call Func_926 + rst $10 + ld a, [$d7af] + and a + jr nz, .asm_edac + ld a, [$d7b3] + and a + jr nz, .asm_edac + ld a, [hGameBoyColorFlag] + and a + call nz, Func_f269 + call GenRandom + and $f0 + ld [$d61a], a + xor a + ld [$d61b], a + ld [$d61e], a .asm_6df7 - ld a, [$d61a] - ld c, a - ld b, $0 - ld hl, Data_f339 - add hl, bc - ld a, [$d619] - add [hl] - ld c, a - ld hl, Data_f439 - add hl, bc - ld a, [hli] - bit 7, a - jr nz, .asm_ee56 - call Func_eef9 - ld [$d61d], a - push af - ld de, $0009 - call PlaySoundEffect - pop af - call LoadBillboardOffPicture - ld a, [$d61b] - cp $a - jr nc, .asm_ee29 - ld a, $a + ld a, [$d61a] + ld c, a + ld b, $0 + ld hl, Data_f339 + add hl, bc + ld a, [$d619] + add [hl] + ld c, a + ld hl, Data_f439 + add hl, bc + ld a, [hli] + bit 7, a + jr nz, .asm_ee56 + call Func_eef9 + ld [$d61d], a + push af + ld de, $0009 + call PlaySoundEffect + pop af + call LoadBillboardOffPicture + ld a, [$d61b] + cp $a + jr nc, .asm_ee29 + ld a, $a .asm_ee29 - ld b, a + ld b, a .asm_ee2a - push bc - call Func_eeee - ld a, [$d61e] - and a - jr nz, .asm_ee47 - call Func_ef1e - jr z, .asm_ee47 - ld [$d61e], a - ld a, $32 - ld [$d61b], a - ld de, $0728 - call PlaySoundEffect + push bc + call Func_eeee + ld a, [$d61e] + and a + jr nz, .asm_ee47 + call Func_ef1e + jr z, .asm_ee47 + ld [$d61e], a + ld a, $32 + ld [$d61b], a + ld de, $0728 + call PlaySoundEffect .asm_ee47 - pop bc - dec b - jr nz, .asm_ee2a - ld a, [$d61b] - inc a - ld [$d61b], a - cp $3c - jr z, .asm_ee69 + pop bc + dec b + jr nz, .asm_ee2a + ld a, [$d61b] + inc a + ld [$d61b], a + cp $3c + jr z, .asm_ee69 .asm_ee56 - ld a, [$d61a] - and $f0 - ld b, a - ld a, [$d61a] - inc a - and $f - or b - ld [$d61a], a - jp .asm_6df7 + ld a, [$d61a] + and $f0 + ld b, a + ld a, [$d61a] + inc a + and $f + or b + ld [$d61a], a + jp .asm_6df7 .asm_ee69 - ld a, [$d61d] - cp $5 - jr nz, .asm_ee78 - ld de, $0c42 - call PlaySoundEffect - jr .asm_ee7e + ld a, [$d61d] + cp $5 + jr nz, .asm_ee78 + ld de, $0c42 + call PlaySoundEffect + jr .asm_ee7e .asm_ee78 - ld de, $0c43 - call PlaySoundEffect + ld de, $0c43 + call PlaySoundEffect .asm_ee7e - ld b, $28 + ld b, $28 .asm_ee80 - push bc - rst $10 - pop bc - call Func_ef1e - jr nz, .asm_ee8b - dec b - jr nz, .asm_ee80 + push bc + rst $10 + pop bc + call Func_ef1e + jr nz, .asm_ee8b + dec b + jr nz, .asm_ee80 .asm_ee8b - ld a, [hGameBoyColorFlag] - and a - ld a, [$d61d] - call nz, Func_f2a0 - ld b, $80 + ld a, [hGameBoyColorFlag] + and a + ld a, [$d61d] + call nz, Func_f2a0 + ld b, $80 .asm_ee96 - push bc - ld a, b - and $f - jr nz, .asm_eeae - bit 4, b - jr z, .asm_eea8 - ld a, [$d61d] - call LoadBillboardPicture - jr .asm_eeae + push bc + ld a, b + and $f + jr nz, .asm_eeae + bit 4, b + jr z, .asm_eea8 + ld a, [$d61d] + call LoadBillboardPicture + jr .asm_eeae .asm_eea8 - ld a, [$d61d] - call LoadBillboardOffPicture + ld a, [$d61d] + call LoadBillboardOffPicture .asm_eeae - rst $10 - pop bc - call Func_ef1e - jr nz, .asm_eeb8 - dec b - jr nz, .asm_ee96 + rst $10 + pop bc + call Func_ef1e + jr nz, .asm_eeb8 + dec b + jr nz, .asm_ee96 .asm_eeb8 - ld a, [$d619] - add $a - cp $fa - jr nz, .asm_eec3 - ld a, $64 + ld a, [$d619] + add $a + cp $fa + jr nz, .asm_eec3 + ld a, $64 .asm_eec3 - ld [$d619], a - ld a, [$d61d] - rst $18 ; calls JumpToFuncInTable + ld [$d619], a + ld a, [$d61d] + rst $18 ; calls JumpToFuncInTable CallTable_eeca: ; 0xeeca - dw Func_ef35 - dw Func_ef4f - dw Func_ef69 - dw Func_ef83 - dw Func_efa7 - dw Func_efb2 - dw Func_eff3 - dw Func_f034 - dw Func_f03a - dw UpgradeBallBlueField - dw UpgradeBallBlueField - dw UpgradeBallBlueField - dw Func_f0c1 - dw Func_f172 - dw Func_f172 - dw Func_f172 - dw Func_f172 - dw Func_f172 + dw Func_ef35 + dw Func_ef4f + dw Func_ef69 + dw Func_ef83 + dw Func_efa7 + dw Func_efb2 + dw Func_eff3 + dw Func_f034 + dw Func_f03a + dw UpgradeBallBlueField + dw UpgradeBallBlueField + dw UpgradeBallBlueField + dw Func_f0c1 + dw Func_f172 + dw Func_f172 + dw Func_f172 + dw Func_f172 + dw Func_f172 Func_eeee: ; 0xeeee - push bc - ld bc, $0200 + push bc + ld bc, $0200 .asm_eef2 - dec bc - ld a, b - or c - jr nz, .asm_eef2 - pop bc - ret + dec bc + ld a, b + or c + jr nz, .asm_eef2 + pop bc + ret Func_eef9: ; 0xeef9 - cp $8 - jr nz, .asm_ef09 - ld a, [$d620] - and a - jr nz, .asm_ef06 - ld a, $7 - ret + cp $8 + jr nz, .asm_ef09 + ld a, [$d620] + and a + jr nz, .asm_ef06 + ld a, $7 + ret .asm_ef06 - ld a, $8 - ret + ld a, $8 + ret .asm_ef09 - cp $9 - jr nz, .asm_ef14 - push hl - ld hl, $d621 - add [hl] - pop hl - ret + cp $9 + jr nz, .asm_ef14 + push hl + ld hl, $d621 + add [hl] + pop hl + ret .asm_ef14 - cp $d - ret nz - push hl - ld hl, $d498 - add [hl] - pop hl - ret + cp $d + ret nz + push hl + ld hl, $d498 + add [hl] + pop hl + ret Func_ef1e: ; 0xef1e - push bc - ld hl, wKeyConfigRightFlipper - call IsKeyPressed - jr nz, .asm_ef2d - ld hl, wKeyConfigLeftFlipper - call IsKeyPressed + push bc + ld hl, wKeyConfigRightFlipper + call IsKeyPressed + jr nz, .asm_ef2d + ld hl, wKeyConfigLeftFlipper + call IsKeyPressed .asm_ef2d - pop bc - ret + pop bc + ret BallTypeMultipliers: ; 0xef2f ; Score multiplier for each ball type. - db $00 ; POKE_BALL - db $00 - db $01 ; GREAT_BALL - db $02 ; ULTRA_BALL - db $02 - db $02 ; MASTER_BALL + db $00 ; POKE_BALL + db $00 + db $01 ; GREAT_BALL + db $02 ; ULTRA_BALL + db $02 + db $02 ; MASTER_BALL Func_ef35: ; 0xef35 - ld a, $0 - ld [wBallSaverIconOn], a - ld a, $ff - ld [$d4a2], a - ld a, $3b - ld [wBallSaverTimerFrames], a - ld a, $1e - ld [wBallSaverTimerSeconds], a - ld a, $2 - ld [$d4a5], a - ret + ld a, $0 + ld [wBallSaverIconOn], a + ld a, $ff + ld [$d4a2], a + ld a, $3b + ld [wBallSaverTimerFrames], a + ld a, $1e + ld [wBallSaverTimerSeconds], a + ld a, $2 + ld [$d4a5], a + ret Func_ef4f: ; 0xef4f - ld a, $0 - ld [wBallSaverIconOn], a - ld a, $ff - ld [$d4a2], a - ld a, $3b - ld [wBallSaverTimerFrames], a - ld a, $3c - ld [wBallSaverTimerSeconds], a - ld a, $2 - ld [$d4a5], a - ret + ld a, $0 + ld [wBallSaverIconOn], a + ld a, $ff + ld [$d4a2], a + ld a, $3b + ld [wBallSaverTimerFrames], a + ld a, $3c + ld [wBallSaverTimerSeconds], a + ld a, $2 + ld [$d4a5], a + ret Func_ef69: ; 0xef69 - ld a, $0 - ld [wBallSaverIconOn], a - ld a, $ff - ld [$d4a2], a - ld a, $3b - ld [wBallSaverTimerFrames], a - ld a, $5a - ld [wBallSaverTimerSeconds], a - ld a, $2 - ld [$d4a5], a - ret + ld a, $0 + ld [wBallSaverIconOn], a + ld a, $ff + ld [$d4a2], a + ld a, $3b + ld [wBallSaverTimerFrames], a + ld a, $5a + ld [wBallSaverTimerSeconds], a + ld a, $2 + ld [$d4a5], a + ret Func_ef83: ; 0xef83 - ld a, $1 - ld [$d51d], a - ld a, $f - ld [$d517], a - xor a - ld [$d85d], a - call Func_310a - rst $10 - ld a, $0 - ld [$ff8a], a - ld a, Bank(PlayPikachuSoundClip) - ld hl, PlayPikachuSoundClip - call BankSwitch - ld a, $1 - ld [$d85d], a - ret + ld a, $1 + ld [$d51d], a + ld a, $f + ld [$d517], a + xor a + ld [$d85d], a + call Func_310a + rst $10 + ld a, $0 + ld [$ff8a], a + ld a, Bank(PlayPikachuSoundClip) + ld hl, PlayPikachuSoundClip + call BankSwitch + ld a, $1 + ld [$d85d], a + ret Func_efa7: ; 0xefa7 - ld [$ff8a], a - ld a, Bank(Func_30164) - ld hl, Func_30164 - call BankSwitch - ret + ld [$ff8a], a + ld a, Bank(Func_30164) + ld hl, Func_30164 + call BankSwitch + ret Func_efb2: ; 0xefb2 - ld a, $8 - call Func_a21 - ld [$d61f], a - ld b, $80 + ld a, $8 + call Func_a21 + ld [$d61f], a + ld b, $80 .asm_efbc - push bc - ld a, b - and $f - jr nz, .asm_efd8 - bit 4, b - jr z, .asm_efd0 - ld a, [$d61f] - add $12 - call LoadBillboardPicture - jr .asm_efd8 + push bc + ld a, b + and $f + jr nz, .asm_efd8 + bit 4, b + jr z, .asm_efd0 + ld a, [$d61f] + add $12 + call LoadBillboardPicture + jr .asm_efd8 .asm_efd0 - ld a, [$d61f] - add $12 - call LoadBillboardOffPicture + ld a, [$d61f] + add $12 + call LoadBillboardOffPicture .asm_efd8 - rst $10 - pop bc - ld a, [hNewlyPressedButtons] - and $21 - jr nz, .asm_efe3 - dec b - jr nz, .asm_efbc + rst $10 + pop bc + ld a, [hNewlyPressedButtons] + and $21 + jr nz, .asm_efe3 + dec b + jr nz, .asm_efbc .asm_efe3 - ld a, [$d61f] - inc a - swap a - ld e, a - ld d, $0 - ld bc, $0000 - call Func_351c - ret + ld a, [$d61f] + inc a + swap a + ld e, a + ld d, $0 + ld bc, $0000 + call Func_351c + ret Func_eff3: ; 0xeff3 - ld a, $8 - call Func_a21 - ld [$d61f], a - ld b, $80 + ld a, $8 + call Func_a21 + ld [$d61f], a + ld b, $80 .asm_effd - push bc - ld a, b - and $f - jr nz, .asm_f019 - bit 4, b - jr z, .asm_f011 - ld a, [$d61f] - add $1b - call LoadBillboardPicture - jr .asm_f019 + push bc + ld a, b + and $f + jr nz, .asm_f019 + bit 4, b + jr z, .asm_f011 + ld a, [$d61f] + add $1b + call LoadBillboardPicture + jr .asm_f019 .asm_f011 - ld a, [$d61f] - add $1b - call LoadBillboardOffPicture + ld a, [$d61f] + add $1b + call LoadBillboardOffPicture .asm_f019 - rst $10 - pop bc - ld a, [hNewlyPressedButtons] - and $21 - jr nz, .asm_f024 - dec b - jr nz, .asm_effd + rst $10 + pop bc + ld a, [hNewlyPressedButtons] + and $21 + jr nz, .asm_f024 + dec b + jr nz, .asm_effd .asm_f024 - ld a, [$d61f] - inc a - swap a - ld c, a - ld b, $0 - ld de, $0000 - call Func_351c - ret + ld a, [$d61f] + inc a + swap a + ld c, a + ld b, $0 + ld de, $0000 + call Func_351c + ret Func_f034: ; 0xf034 - ld a, $1 - ld [$d622], a - ret + ld a, $1 + ld [$d622], a + ret Func_f03a: ; 0xf03a - ld a, $2 - ld [$d622], a - ret + ld a, $2 + ld [$d622], a + ret UpgradeBallBlueField: ; 0xf040 - ; load approximately 1 minute of frames into wBallTypeCounter - ld a, $10 - ld [wBallTypeCounter], a - ld a, $e - ld [wBallTypeCounter + 1], a - ld a, [wBallType] - cp MASTER_BALL - jr z, .masterBall - ld de, $063a - call PlaySoundEffect - call Func_30e8 - call Func_30db - ld de, $2907 - ld hl, $d5cc - call Func_32aa - ; upgrade ball type - ld a, [wBallType] - ld c, a - ld b, $0 - ld hl, BallTypeProgressionBlueField - add hl, bc - ld a, [hl] - ld [wBallType], a - add $30 - ld [$c512], a - jr .asm_f0b0 + ; load approximately 1 minute of frames into wBallTypeCounter + ld a, $10 + ld [wBallTypeCounter], a + ld a, $e + ld [wBallTypeCounter + 1], a + ld a, [wBallType] + cp MASTER_BALL + jr z, .masterBall + ld de, $063a + call PlaySoundEffect + call Func_30e8 + call Func_30db + ld de, $2907 + ld hl, $d5cc + call Func_32aa + ; upgrade ball type + ld a, [wBallType] + ld c, a + ld b, $0 + ld hl, BallTypeProgressionBlueField + add hl, bc + ld a, [hl] + ld [wBallType], a + add $30 + ld [$c512], a + jr .asm_f0b0 .masterBall - ld de, $0f4d - call PlaySoundEffect - ld bc, $34e8 - ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch - ld bc, $100 - ld de, $0000 - push bc - push de - call Func_30e8 - call Func_30db - ld hl, $d5d4 - ld de, $2948 - call Func_32cc - pop de - pop bc - ld hl, $d5cc - ld de, $2922 - call Func_32aa + ld de, $0f4d + call PlaySoundEffect + ld bc, $34e8 + ld [$ff8a], a + ld a, Bank(Func_8588) + ld hl, Func_8588 + call BankSwitch + ld bc, $100 + ld de, $0000 + push bc + push de + call Func_30e8 + call Func_30db + ld hl, $d5d4 + ld de, $2948 + call Func_32cc + pop de + pop bc + ld hl, $d5cc + ld de, $2922 + call Func_32aa .asm_f0b0 - ld [$ff8a], a - ld a, Bank(Func_155bb) - ld hl, Func_155bb - call BankSwitch - ret + ld [$ff8a], a + ld a, Bank(Func_155bb) + ld hl, Func_155bb + call BankSwitch + ret BallTypeProgressionBlueField: ; 0xf0bb ; Determines the next upgrade for the Ball. - db GREAT_BALL ; POKE_BALL -> GREAT_BALL - db GREAT_BALL ; unused - db ULTRA_BALL ; GREAT_BALL -> ULTRA_BALL - db MASTER_BALL ; ULTRA_BALL -> MASTER_BALL - db MASTER_BALL ; unused - db MASTER_BALL ; MASTER_BALL -> MASTER_BALL + db GREAT_BALL ; POKE_BALL -> GREAT_BALL + db GREAT_BALL ; unused + db ULTRA_BALL ; GREAT_BALL -> ULTRA_BALL + db MASTER_BALL ; ULTRA_BALL -> MASTER_BALL + db MASTER_BALL ; unused + db MASTER_BALL ; MASTER_BALL -> MASTER_BALL Func_f0c1: ; 0xf0c1 - ld a, $4 - call Func_a21 - ld [$d61f], a - ld b, $80 + ld a, $4 + call Func_a21 + ld [$d61f], a + ld b, $80 .asm_f0cb - push bc - ld a, b - and $f - jr nz, .asm_f0e7 - bit 4, b - jr z, .asm_f0df - ld a, [$d61f] - add $24 - call LoadBillboardPicture - jr .asm_f0e7 + push bc + ld a, b + and $f + jr nz, .asm_f0e7 + bit 4, b + jr z, .asm_f0df + ld a, [$d61f] + add $24 + call LoadBillboardPicture + jr .asm_f0e7 .asm_f0df - ld a, [$d61f] - add $24 - call LoadBillboardOffPicture + ld a, [$d61f] + add $24 + call LoadBillboardOffPicture .asm_f0e7 - rst $10 - pop bc - ld a, [hNewlyPressedButtons] - and $21 - jr nz, .asm_f0f2 - dec b - jr nz, .asm_f0cb + rst $10 + pop bc + ld a, [hNewlyPressedButtons] + and $21 + jr nz, .asm_f0f2 + dec b + jr nz, .asm_f0cb .asm_f0f2 - ld a, $3 - ld [$d610], a - xor a - ld [$d611], a - ld [$d612], a - ld a, [$d482] - call Func_f14a - ld b, c - ld a, [$d61f] - inc a - ld hl, $d482 - add [hl] - cp $64 - jr c, .asm_f113 - ld a, $63 + ld a, $3 + ld [$d610], a + xor a + ld [$d611], a + ld [$d612], a + ld a, [$d482] + call Func_f14a + ld b, c + ld a, [$d61f] + inc a + ld hl, $d482 + add [hl] + cp $64 + jr c, .asm_f113 + ld a, $63 .asm_f113 - ld [hl], a - call Func_f14a - ld a, c - cp b - ld [$ff8a], a - ld a, Bank(Func_30164) - ld hl, Func_30164 - call nz, BankSwitch - ld [$ff8a], a - ld a, Bank(Func_16f95) - ld hl, Func_16f95 - call BankSwitch - ld a, [$d60c] - ld [$ff8a], a - ld a, Bank(Func_f154) - ld hl, Func_f154 - call BankSwitch ; no need for BankSwitch here... - ld a, [$d60d] - add $14 - ld [$ff8a], a - ld a, Bank(Func_f154) - ld hl, Func_f154 - call BankSwitch ; no need for BankSwitch here... - ret + ld [hl], a + call Func_f14a + ld a, c + cp b + ld [$ff8a], a + ld a, Bank(Func_30164) + ld hl, Func_30164 + call nz, BankSwitch + ld [$ff8a], a + ld a, Bank(Func_16f95) + ld hl, Func_16f95 + call BankSwitch + ld a, [$d60c] + ld [$ff8a], a + ld a, Bank(Func_f154) + ld hl, Func_f154 + call BankSwitch ; no need for BankSwitch here... + ld a, [$d60d] + add $14 + ld [$ff8a], a + ld a, Bank(Func_f154) + ld hl, Func_f154 + call BankSwitch ; no need for BankSwitch here... + ret Func_f14a: ; 0xf14a - ld c, $0 + ld c, $0 .asm_f14c - cp $19 - ret c - sub $19 - inc c - jr .asm_f14c + cp $19 + ret c + sub $19 + inc c + jr .asm_f14c Func_f154: ; 0xf154 - ld a, [wCurrentStage] - call CallInFollowingTable + ld a, [wCurrentStage] + call CallInFollowingTable CallTable_f15a: ; 0xf15a - dw Func_16f28 - db Bank(Func_16f28), $00 + dw Func_16f28 + db Bank(Func_16f28), $00 - dw Func_16f28 - db Bank(Func_16f28), $00 + dw Func_16f28 + db Bank(Func_16f28), $00 - dw Func_16f28 - db Bank(Func_16f28), $00 + dw Func_16f28 + db Bank(Func_16f28), $00 - dw Func_16f28 - db Bank(Func_16f28), $00 + dw Func_16f28 + db Bank(Func_16f28), $00 - dw Func_1d5f2 - db Bank(Func_1d5f2), $00 + dw Func_1d5f2 + db Bank(Func_1d5f2), $00 - dw Func_1d5f2 - db Bank(Func_1d5f2), $00 + dw Func_1d5f2 + db Bank(Func_1d5f2), $00 Func_f172: ; 0xf172 - ld a, $1 - ld [$d623], a - ret + ld a, $1 + ld [$d623], a + ret LoadBillboardPicture: ; 0xf178 ; Loads a billboard picture's tiles into VRAM ; input: a = billboard picture id - push hl - ld c, a - ld b, $0 - sla c - add c ; a has been multplied by 3 becuase entires in BillboardPicturePointers are 3 bytes long - ld c, a - ld hl, BillboardPicturePointers - add hl, bc - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hl] - ld h, b - ld l, c - ld de, $8900 ; destination address to copy the tiles - ld bc, $180 ; billboard pictures are $180 bytes - call LoadVRAMData ; loads the tiles into VRAM - pop hl - ret + push hl + ld c, a + ld b, $0 + sla c + add c ; a has been multplied by 3 becuase entires in BillboardPicturePointers are 3 bytes long + ld c, a + ld hl, BillboardPicturePointers + add hl, bc + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hl] + ld h, b + ld l, c + ld de, $8900 ; destination address to copy the tiles + ld bc, $180 ; billboard pictures are $180 bytes + call LoadVRAMData ; loads the tiles into VRAM + pop hl + ret LoadBillboardOffPicture: ; 0xf196 ; Loads the dimly-lit "off" version of a billboard picture into VRAM ; Input: a = billboard picture id - push hl - ld c, a - ld b, $0 - sla c - add c - ld c, a - ld hl, BillboardPicturePointers - add hl, bc - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hl] - ld h, b - ld l, c - ld bc, $0180 ; get the address of the "off" version of the picture - add hl, bc - ld de, $8900 - ld bc, $0180 - call LoadVRAMData - pop hl - ret + push hl + ld c, a + ld b, $0 + sla c + add c + ld c, a + ld hl, BillboardPicturePointers + add hl, bc + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hl] + ld h, b + ld l, c + ld bc, $0180 ; get the address of the "off" version of the picture + add hl, bc + ld de, $8900 + ld bc, $0180 + call LoadVRAMData + pop hl + ret BillboardPicturePointers: ; 0xf1b8 - dw BallSaver30SecondsOnPic - db Bank(BallSaver30SecondsOnPic) + dw BallSaver30SecondsOnPic + db Bank(BallSaver30SecondsOnPic) - dw BallSaver60SecondsOnPic - db Bank(BallSaver60SecondsOnPic) + dw BallSaver60SecondsOnPic + db Bank(BallSaver60SecondsOnPic) - dw BallSaver90SecondsOnPic - db Bank(BallSaver90SecondsOnPic) + dw BallSaver90SecondsOnPic + db Bank(BallSaver90SecondsOnPic) - dw PikachuSaverOnPic - db Bank(PikachuSaverOnPic) + dw PikachuSaverOnPic + db Bank(PikachuSaverOnPic) - dw ExtraBallOnPic - db Bank(ExtraBallOnPic) + dw ExtraBallOnPic + db Bank(ExtraBallOnPic) - dw SmallRewardOnPic - db Bank(SmallRewardOnPic) + dw SmallRewardOnPic + db Bank(SmallRewardOnPic) - dw BigRewardOnPic - db Bank(BigRewardOnPic) + dw BigRewardOnPic + db Bank(BigRewardOnPic) - dw CatchEmModeOnPic - db Bank(CatchEmModeOnPic) + dw CatchEmModeOnPic + db Bank(CatchEmModeOnPic) - dw EvolutionModeOnPic - db Bank(EvolutionModeOnPic) + dw EvolutionModeOnPic + db Bank(EvolutionModeOnPic) - dw GreatBallOnPic - db Bank(GreatBallOnPic) + dw GreatBallOnPic + db Bank(GreatBallOnPic) - dw UltraBallOnPic - db Bank(UltraBallOnPic) + dw UltraBallOnPic + db Bank(UltraBallOnPic) - dw MasterBallOnPic - db Bank(MasterBallOnPic) + dw MasterBallOnPic + db Bank(MasterBallOnPic) - dw BonusMultiplierOnPic - db Bank(BonusMultiplierOnPic) + dw BonusMultiplierOnPic + db Bank(BonusMultiplierOnPic) - dw GoToGengarBonusOnPic - db Bank(GoToGengarBonusOnPic) + dw GoToGengarBonusOnPic + db Bank(GoToGengarBonusOnPic) - dw GoToMewtwoBonusOnPic - db Bank(GoToMewtwoBonusOnPic) + dw GoToMewtwoBonusOnPic + db Bank(GoToMewtwoBonusOnPic) - dw GoToMeowthBonusOnPic - db Bank(GoToMeowthBonusOnPic) + dw GoToMeowthBonusOnPic + db Bank(GoToMeowthBonusOnPic) - dw GoToDiglettBonusOnPic - db Bank(GoToDiglettBonusOnPic) + dw GoToDiglettBonusOnPic + db Bank(GoToDiglettBonusOnPic) - dw GoToSeelBonusOnPic - db Bank(GoToSeelBonusOnPic) + dw GoToSeelBonusOnPic + db Bank(GoToSeelBonusOnPic) - dw SmallReward100PointsOnPic - db Bank(SmallReward100PointsOnPic) + dw SmallReward100PointsOnPic + db Bank(SmallReward100PointsOnPic) - dw SmallReward200PointsOnPic - db Bank(SmallReward200PointsOnPic) + dw SmallReward200PointsOnPic + db Bank(SmallReward200PointsOnPic) - dw SmallReward300PointsOnPic - db Bank(SmallReward300PointsOnPic) + dw SmallReward300PointsOnPic + db Bank(SmallReward300PointsOnPic) - dw SmallReward400PointsOnPic - db Bank(SmallReward400PointsOnPic) + dw SmallReward400PointsOnPic + db Bank(SmallReward400PointsOnPic) - dw SmallReward500PointsOnPic - db Bank(SmallReward500PointsOnPic) + dw SmallReward500PointsOnPic + db Bank(SmallReward500PointsOnPic) - dw SmallReward600PointsOnPic - db Bank(SmallReward600PointsOnPic) + dw SmallReward600PointsOnPic + db Bank(SmallReward600PointsOnPic) - dw SmallReward700PointsOnPic - db Bank(SmallReward700PointsOnPic) + dw SmallReward700PointsOnPic + db Bank(SmallReward700PointsOnPic) - dw SmallReward800PointsOnPic - db Bank(SmallReward800PointsOnPic) + dw SmallReward800PointsOnPic + db Bank(SmallReward800PointsOnPic) - dw SmallReward900PointsOnPic - db Bank(SmallReward900PointsOnPic) + dw SmallReward900PointsOnPic + db Bank(SmallReward900PointsOnPic) - dw BigReward1000000PointsOnPic - db Bank(BigReward1000000PointsOnPic) + dw BigReward1000000PointsOnPic + db Bank(BigReward1000000PointsOnPic) - dw BigReward2000000PointsOnPic - db Bank(BigReward2000000PointsOnPic) + dw BigReward2000000PointsOnPic + db Bank(BigReward2000000PointsOnPic) - dw BigReward3000000PointsOnPic - db Bank(BigReward3000000PointsOnPic) + dw BigReward3000000PointsOnPic + db Bank(BigReward3000000PointsOnPic) - dw BigReward4000000PointsOnPic - db Bank(BigReward4000000PointsOnPic) + dw BigReward4000000PointsOnPic + db Bank(BigReward4000000PointsOnPic) - dw BigReward5000000PointsOnPic - db Bank(BigReward5000000PointsOnPic) + dw BigReward5000000PointsOnPic + db Bank(BigReward5000000PointsOnPic) - dw BigReward6000000PointsOnPic - db Bank(BigReward6000000PointsOnPic) + dw BigReward6000000PointsOnPic + db Bank(BigReward6000000PointsOnPic) - dw BigReward7000000PointsOnPic - db Bank(BigReward7000000PointsOnPic) + dw BigReward7000000PointsOnPic + db Bank(BigReward7000000PointsOnPic) - dw BigReward8000000PointsOnPic - db Bank(BigReward8000000PointsOnPic) + dw BigReward8000000PointsOnPic + db Bank(BigReward8000000PointsOnPic) - dw BigReward9000000PointsOnPic - db Bank(BigReward9000000PointsOnPic) + dw BigReward9000000PointsOnPic + db Bank(BigReward9000000PointsOnPic) - dw BonusMultiplierX1OnPic - db Bank(BonusMultiplierX1OnPic) + dw BonusMultiplierX1OnPic + db Bank(BonusMultiplierX1OnPic) - dw BonusMultiplierX2OnPic - db Bank(BonusMultiplierX2OnPic) + dw BonusMultiplierX2OnPic + db Bank(BonusMultiplierX2OnPic) - dw BonusMultiplierX3OnPic - db Bank(BonusMultiplierX3OnPic) + dw BonusMultiplierX3OnPic + db Bank(BonusMultiplierX3OnPic) - dw BonusMultiplierX4OnPic - db Bank(BonusMultiplierX4OnPic) + dw BonusMultiplierX4OnPic + db Bank(BonusMultiplierX4OnPic) - dw BonusMultiplierX5OnPic - db Bank(BonusMultiplierX5OnPic) + dw BonusMultiplierX5OnPic + db Bank(BonusMultiplierX5OnPic) - dw PalletTownPic - db Bank(PalletTownPic) + dw PalletTownPic + db Bank(PalletTownPic) - dw ViridianCityPic - db Bank(ViridianCityPic) + dw ViridianCityPic + db Bank(ViridianCityPic) - dw ViridianForestPic - db Bank(ViridianForestPic) + dw ViridianForestPic + db Bank(ViridianForestPic) - dw PewterCityPic - db Bank(PewterCityPic) + dw PewterCityPic + db Bank(PewterCityPic) - dw MtMoonPic - db Bank(MtMoonPic) + dw MtMoonPic + db Bank(MtMoonPic) - dw CeruleanCityPic - db Bank(CeruleanCityPic) + dw CeruleanCityPic + db Bank(CeruleanCityPic) - dw VermilionCitySeasidePic - db Bank(VermilionCitySeasidePic) + dw VermilionCitySeasidePic + db Bank(VermilionCitySeasidePic) - dw VermilionCityStreetsPic - db Bank(VermilionCityStreetsPic) + dw VermilionCityStreetsPic + db Bank(VermilionCityStreetsPic) - dw RockMountainPic - db Bank(RockMountainPic) + dw RockMountainPic + db Bank(RockMountainPic) - dw LavenderTownPic - db Bank(LavenderTownPic) + dw LavenderTownPic + db Bank(LavenderTownPic) - dw CeladonCityPic - db Bank(CeladonCityPic) + dw CeladonCityPic + db Bank(CeladonCityPic) - dw CyclingRoadPic - db Bank(CyclingRoadPic) + dw CyclingRoadPic + db Bank(CyclingRoadPic) - dw FuchsiaCityPic - db Bank(FuchsiaCityPic) + dw FuchsiaCityPic + db Bank(FuchsiaCityPic) - dw SafariZonePic - db Bank(SafariZonePic) + dw SafariZonePic + db Bank(SafariZonePic) - dw SaffronCityPic - db Bank(SaffronCityPic) + dw SaffronCityPic + db Bank(SaffronCityPic) - dw SeafoamIslandsPic - db Bank(SeafoamIslandsPic) + dw SeafoamIslandsPic + db Bank(SeafoamIslandsPic) - dw CinnabarIslandPic - db Bank(CinnabarIslandPic) + dw CinnabarIslandPic + db Bank(CinnabarIslandPic) - dw IndigoPlateauPic - db Bank(IndigoPlateauPic) + dw IndigoPlateauPic + db Bank(IndigoPlateauPic) Func_f269: ; 0xf269 - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_f27c - ld a, $37 - ld hl, $4aa8 - ld de, $0030 - ld bc, $0008 - call Func_7dc + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_f27c + ld a, BANK(StageRedFieldBottomBGPalette5) + ld hl, StageRedFieldBottomBGPalette5 + ld de, $0030 + ld bc, $0008 + call Func_7dc .asm_f27c - ld a, $3 - ld de, $7288 - ld hl, $9887 - call Func_86f - ret + ld a, BANK(Data_f288) + ld de, Data_f288 + ld hl, $9887 + call Func_86f + ret -INCBIN "baserom.gbc",$f288,$f2a0 - $f288 +Data_f288: + dr $f288, $f2a0 Func_f2a0: ; 0xf2a0 - push hl - ld c, a - ld b, $0 - sla c - add c - ld c, a - ld hl, PaletteDataPointerTable_f2be - add hl, bc - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hl] - ld h, b - ld l, c - ld de, $0030 - ld bc, $0010 - call Func_7dc - pop hl - ret + push hl + ld c, a + ld b, $0 + sla c + add c + ld c, a + ld hl, PaletteDataPointerTable_f2be + add hl, bc + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hl] + ld h, b + ld l, c + ld de, $0030 + ld bc, $0010 + call Func_7dc + pop hl + ret PaletteDataPointerTable_f2be: ; 0xf2be - dwb PaletteData_dcc00, Bank(PaletteData_dcc00) - dwb PaletteData_dcc00, Bank(PaletteData_dcc00) - dwb PaletteData_dcc00, Bank(PaletteData_dcc00) - dwb PaletteData_dcc08, Bank(PaletteData_dcc08) - dwb PaletteData_dcc08, Bank(PaletteData_dcc08) - dwb PaletteData_dcc10, Bank(PaletteData_dcc10) - dwb PaletteData_dcc18, Bank(PaletteData_dcc18) - dwb PaletteData_dcc20, Bank(PaletteData_dcc20) - dwb PaletteData_dcc08, Bank(PaletteData_dcc08) - dwb PaletteData_dcc28, Bank(PaletteData_dcc28) - dwb PaletteData_dcc08, Bank(PaletteData_dcc08) - dwb PaletteData_dcc30, Bank(PaletteData_dcc30) - dwb PaletteData_dcc38, Bank(PaletteData_dcc38) - dwb PaletteData_dcc40, Bank(PaletteData_dcc40) - dwb PaletteData_dcc48, Bank(PaletteData_dcc48) - dwb PaletteData_dcc50, Bank(PaletteData_dcc50) - dwb PaletteData_dcc58, Bank(PaletteData_dcc58) - dwb PaletteData_dcc60, Bank(PaletteData_dcc60) - dwb PaletteData_dcc00, Bank(PaletteData_dcc00) - dwb PaletteData_dcc00, Bank(PaletteData_dcc00) - dwb PaletteData_dcc00, Bank(PaletteData_dcc00) - dwb PaletteData_dcc00, Bank(PaletteData_dcc00) - dwb PaletteData_dcc00, Bank(PaletteData_dcc00) - dwb PaletteData_dcc00, Bank(PaletteData_dcc00) - dwb PaletteData_dcc00, Bank(PaletteData_dcc00) - dwb PaletteData_dcc00, Bank(PaletteData_dcc00) - dwb PaletteData_dcc00, Bank(PaletteData_dcc00) - dwb PaletteData_dcc00, Bank(PaletteData_dcc00) - dwb PaletteData_dcc00, Bank(PaletteData_dcc00) - dwb PaletteData_dcc00, Bank(PaletteData_dcc00) - dwb PaletteData_dcc00, Bank(PaletteData_dcc00) - dwb PaletteData_dcc00, Bank(PaletteData_dcc00) - dwb PaletteData_dcc00, Bank(PaletteData_dcc00) - dwb PaletteData_dcc00, Bank(PaletteData_dcc00) - dwb PaletteData_dcc00, Bank(PaletteData_dcc00) - dwb PaletteData_dcc00, Bank(PaletteData_dcc00) - dwb PaletteData_dcc00, Bank(PaletteData_dcc00) - dwb PaletteData_dcc00, Bank(PaletteData_dcc00) - dwb PaletteData_dcc00, Bank(PaletteData_dcc00) - dwb PaletteData_dcc00, Bank(PaletteData_dcc00) - dwb PaletteData_dcc00, Bank(PaletteData_dcc00) + dwb PaletteData_dcc00, Bank(PaletteData_dcc00) + dwb PaletteData_dcc00, Bank(PaletteData_dcc00) + dwb PaletteData_dcc00, Bank(PaletteData_dcc00) + dwb PaletteData_dcc08, Bank(PaletteData_dcc08) + dwb PaletteData_dcc08, Bank(PaletteData_dcc08) + dwb PaletteData_dcc10, Bank(PaletteData_dcc10) + dwb PaletteData_dcc18, Bank(PaletteData_dcc18) + dwb PaletteData_dcc20, Bank(PaletteData_dcc20) + dwb PaletteData_dcc08, Bank(PaletteData_dcc08) + dwb PaletteData_dcc28, Bank(PaletteData_dcc28) + dwb PaletteData_dcc08, Bank(PaletteData_dcc08) + dwb PaletteData_dcc30, Bank(PaletteData_dcc30) + dwb PaletteData_dcc38, Bank(PaletteData_dcc38) + dwb PaletteData_dcc40, Bank(PaletteData_dcc40) + dwb PaletteData_dcc48, Bank(PaletteData_dcc48) + dwb PaletteData_dcc50, Bank(PaletteData_dcc50) + dwb PaletteData_dcc58, Bank(PaletteData_dcc58) + dwb PaletteData_dcc60, Bank(PaletteData_dcc60) + dwb PaletteData_dcc00, Bank(PaletteData_dcc00) + dwb PaletteData_dcc00, Bank(PaletteData_dcc00) + dwb PaletteData_dcc00, Bank(PaletteData_dcc00) + dwb PaletteData_dcc00, Bank(PaletteData_dcc00) + dwb PaletteData_dcc00, Bank(PaletteData_dcc00) + dwb PaletteData_dcc00, Bank(PaletteData_dcc00) + dwb PaletteData_dcc00, Bank(PaletteData_dcc00) + dwb PaletteData_dcc00, Bank(PaletteData_dcc00) + dwb PaletteData_dcc00, Bank(PaletteData_dcc00) + dwb PaletteData_dcc00, Bank(PaletteData_dcc00) + dwb PaletteData_dcc00, Bank(PaletteData_dcc00) + dwb PaletteData_dcc00, Bank(PaletteData_dcc00) + dwb PaletteData_dcc00, Bank(PaletteData_dcc00) + dwb PaletteData_dcc00, Bank(PaletteData_dcc00) + dwb PaletteData_dcc00, Bank(PaletteData_dcc00) + dwb PaletteData_dcc00, Bank(PaletteData_dcc00) + dwb PaletteData_dcc00, Bank(PaletteData_dcc00) + dwb PaletteData_dcc00, Bank(PaletteData_dcc00) + dwb PaletteData_dcc00, Bank(PaletteData_dcc00) + dwb PaletteData_dcc00, Bank(PaletteData_dcc00) + dwb PaletteData_dcc00, Bank(PaletteData_dcc00) + dwb PaletteData_dcc00, Bank(PaletteData_dcc00) + dwb PaletteData_dcc00, Bank(PaletteData_dcc00) Data_f339: ; 0xf339 - db $02, $06, $00, $08, $04, $02, $06, $08, $04, $00, $06, $02, $04, $08, $00, $02 - db $06, $02, $04, $08, $00, $06, $04, $08, $02, $00, $06, $08, $02, $00, $06, $08 - db $02, $04, $00, $08, $06, $04, $00, $02, $06, $04, $00, $08, $06, $04, $02, $08 - db $00, $08, $02, $04, $00, $08, $06, $02, $04, $00, $06, $08, $04, $00, $06, $02 - db $00, $08, $02, $04, $00, $08, $06, $04, $02, $08, $00, $06, $02, $08, $00, $06 - db $02, $00, $06, $04, $02, $00, $06, $08, $02, $04, $00, $06, $08, $04, $02, $06 - db $00, $02, $08, $04, $00, $02, $06, $04, $08, $02, $06, $00, $04, $08, $06, $02 - db $04, $08, $06, $02, $00, $08, $04, $06, $00, $02, $04, $06, $00, $02, $04, $08 - db $02, $00, $04, $06, $02, $00, $08, $04, $02, $00, $06, $04, $08, $00, $06, $04 - db $04, $00, $02, $08, $04, $06, $00, $08, $02, $04, $06, $08, $00, $04, $06, $02 - db $06, $08, $04, $02, $06, $00, $08, $02, $04, $00, $06, $02, $08, $04, $06, $02 - db $04, $06, $02, $00, $08, $04, $06, $00, $08, $02, $06, $00, $08, $02, $04, $00 - db $02, $00, $06, $04, $02, $08, $06, $00, $04, $08, $02, $00, $04, $06, $08, $00 - db $08, $06, $04, $00, $08, $06, $02, $00, $08, $06, $04, $00, $08, $06, $04, $02 - db $02, $00, $06, $04, $08, $02, $00, $04, $08, $02, $00, $04, $06, $02, $08, $00 - db $04, $06, $08, $02, $00, $06, $04, $08, $02, $06, $00, $08, $04, $06, $02, $08 + db $02, $06, $00, $08, $04, $02, $06, $08, $04, $00, $06, $02, $04, $08, $00, $02 + db $06, $02, $04, $08, $00, $06, $04, $08, $02, $00, $06, $08, $02, $00, $06, $08 + db $02, $04, $00, $08, $06, $04, $00, $02, $06, $04, $00, $08, $06, $04, $02, $08 + db $00, $08, $02, $04, $00, $08, $06, $02, $04, $00, $06, $08, $04, $00, $06, $02 + db $00, $08, $02, $04, $00, $08, $06, $04, $02, $08, $00, $06, $02, $08, $00, $06 + db $02, $00, $06, $04, $02, $00, $06, $08, $02, $04, $00, $06, $08, $04, $02, $06 + db $00, $02, $08, $04, $00, $02, $06, $04, $08, $02, $06, $00, $04, $08, $06, $02 + db $04, $08, $06, $02, $00, $08, $04, $06, $00, $02, $04, $06, $00, $02, $04, $08 + db $02, $00, $04, $06, $02, $00, $08, $04, $02, $00, $06, $04, $08, $00, $06, $04 + db $04, $00, $02, $08, $04, $06, $00, $08, $02, $04, $06, $08, $00, $04, $06, $02 + db $06, $08, $04, $02, $06, $00, $08, $02, $04, $00, $06, $02, $08, $04, $06, $02 + db $04, $06, $02, $00, $08, $04, $06, $00, $08, $02, $06, $00, $08, $02, $04, $00 + db $02, $00, $06, $04, $02, $08, $06, $00, $04, $08, $02, $00, $04, $06, $08, $00 + db $08, $06, $04, $00, $08, $06, $02, $00, $08, $06, $04, $00, $08, $06, $04, $02 + db $02, $00, $06, $04, $08, $02, $00, $04, $08, $02, $00, $04, $06, $02, $08, $00 + db $04, $06, $08, $02, $00, $06, $04, $08, $02, $06, $00, $08, $04, $06, $02, $08 Data_f439: ; 0xf439 - db $05, $19, $0C, $4C, $00, $4C, $03, $4C, $FF, $00, $05, $19, $0C, $4C, $00, $4C - db $07, $4C, $FF, $00, $05, $19, $0C, $44, $00, $44, $03, $44, $06, $16, $05, $19 - db $0C, $4C, $00, $4C, $08, $4C, $FF, $00, $01, $4C, $06, $66, $0D, $4C, $FF, $00 - db $FF, $00, $05, $19, $0C, $4C, $00, $4C, $03, $4C, $FF, $00, $05, $19, $0C, $4C - db $00, $4C, $07, $4C, $FF, $00, $05, $19, $0C, $44, $00, $44, $03, $44, $06, $16 - db $05, $19, $0C, $4C, $00, $4C, $08, $4C, $FF, $00, $01, $3F, $06, $3F, $0D, $3F - db $09, $3F, $FF, $00, $05, $11, $0C, $4F, $00, $4F, $03, $4F, $FF, $00, $05, $11 - db $0C, $4F, $01, $4F, $07, $4F, $FF, $00, $05, $11, $0C, $44, $00, $44, $03, $44 - db $06, $1E, $05, $11, $0C, $4F, $01, $4F, $08, $4F, $FF, $00, $02, $66, $06, $4C - db $0D, $4C, $FF, $00, $FF, $00, $05, $0A, $0C, $51, $00, $51, $03, $51, $FF, $00 - db $05, $0A, $0C, $51, $01, $51, $07, $51, $FF, $00, $05, $0A, $0C, $44, $00, $44 - db $03, $44, $06, $26, $05, $0A, $0C, $51, $01, $51, $08, $51, $FF, $00, $01, $3F - db $06, $3F, $0D, $3F, $09, $3F, $FF, $00, $05, $0A, $0C, $51, $00, $51, $03, $51 - db $FF, $00, $05, $0A, $0C, $51, $01, $51, $07, $51, $FF, $00, $05, $0A, $0C, $44 - db $00, $44, $03, $44, $06, $26, $05, $0A, $0C, $51, $01, $51, $08, $51, $FF, $00 - db $01, $26, $06, $26, $0D, $26, $04, $8C, $FF, $00 + db $05, $19, $0C, $4C, $00, $4C, $03, $4C, $FF, $00, $05, $19, $0C, $4C, $00, $4C + db $07, $4C, $FF, $00, $05, $19, $0C, $44, $00, $44, $03, $44, $06, $16, $05, $19 + db $0C, $4C, $00, $4C, $08, $4C, $FF, $00, $01, $4C, $06, $66, $0D, $4C, $FF, $00 + db $FF, $00, $05, $19, $0C, $4C, $00, $4C, $03, $4C, $FF, $00, $05, $19, $0C, $4C + db $00, $4C, $07, $4C, $FF, $00, $05, $19, $0C, $44, $00, $44, $03, $44, $06, $16 + db $05, $19, $0C, $4C, $00, $4C, $08, $4C, $FF, $00, $01, $3F, $06, $3F, $0D, $3F + db $09, $3F, $FF, $00, $05, $11, $0C, $4F, $00, $4F, $03, $4F, $FF, $00, $05, $11 + db $0C, $4F, $01, $4F, $07, $4F, $FF, $00, $05, $11, $0C, $44, $00, $44, $03, $44 + db $06, $1E, $05, $11, $0C, $4F, $01, $4F, $08, $4F, $FF, $00, $02, $66, $06, $4C + db $0D, $4C, $FF, $00, $FF, $00, $05, $0A, $0C, $51, $00, $51, $03, $51, $FF, $00 + db $05, $0A, $0C, $51, $01, $51, $07, $51, $FF, $00, $05, $0A, $0C, $44, $00, $44 + db $03, $44, $06, $26, $05, $0A, $0C, $51, $01, $51, $08, $51, $FF, $00, $01, $3F + db $06, $3F, $0D, $3F, $09, $3F, $FF, $00, $05, $0A, $0C, $51, $00, $51, $03, $51 + db $FF, $00, $05, $0A, $0C, $51, $01, $51, $07, $51, $FF, $00, $05, $0A, $0C, $44 + db $00, $44, $03, $44, $06, $26, $05, $0A, $0C, $51, $01, $51, $08, $51, $FF, $00 + db $01, $26, $06, $26, $0D, $26, $04, $8C, $FF, $00 Func_f533: ; 0xf533 - call Func_30e8 - call Func_f55c - call Func_f57f - ld a, $60 - ld [$ffa6], a - dec a - ld [$ffa2], a - ld a, $fd - ld [$ffaf], a - call Func_f5a0 - ld a, $90 - ld [$ffa6], a - ld a, $83 - ld [$ffa2], a - ld [$ffa8], a - ld a, $ff - ld [$ffaf], a - call Func_30e8 - ret + call Func_30e8 + call Func_f55c + call Func_f57f + ld a, $60 + ld [$ffa6], a + dec a + ld [$ffa2], a + ld a, $fd + ld [$ffaf], a + call Func_f5a0 + ld a, $90 + ld [$ffa6], a + ld a, $83 + ld [$ffa2], a + ld [$ffa8], a + ld a, $ff + ld [$ffaf], a + call Func_30e8 + ret Func_f55c: ; 0xf55c - ld a, [hGameBoyColorFlag] - and a - jr nz, .gameboyColor - ld a, $35 - ld hl, $61c0 - ld de, $8830 - ld bc, $0010 - call LoadVRAMData - ret + ld a, [hGameBoyColorFlag] + and a + jr nz, .gameboyColor + ld a, $35 + ld hl, $61c0 + ld de, $8830 + ld bc, $0010 + call LoadVRAMData + ret .gameboyColor - ld a, $35 - ld hl, $63c0 - ld de, $8830 - ld bc, $0010 - call LoadVRAMData - ret + ld a, $35 + ld hl, $63c0 + ld de, $8830 + ld bc, $0010 + call LoadVRAMData + ret Func_f57f: ; 0xf57f - xor a - ld [$d4aa], a - ld hl, wcBottomMessageText - ld a, $81 - ld b, $40 + xor a + ld [$d4aa], a + ld hl, wcBottomMessageText + ld a, $81 + ld b, $40 .clearLoop - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - dec b - jr nz, .clearLoop - ld a, $0 - ld hl, wcBottomMessageText - ld de, vBGMap1 - ld bc, $00c0 - call LoadVRAMData - ret + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + dec b + jr nz, .clearLoop + ld a, $0 + ld hl, wcBottomMessageText + ld de, vBGMap1 + ld bc, $00c0 + call LoadVRAMData + ret Func_f5a0: ; 0xf5a0 - ld de, $c540 - ld hl, $3069 ; todo - call Func_f7b1 - ld de, $c580 - ld hl, $3070 - call Func_f7b1 - ld hl, $d489 - call Func_f8b5 - ld hl, $d48f - call Func_f8b5 - ld a, $1 - ld [$d4ab], a - call Func_f626 - call Func_f64e - call Func_f60a - call Func_f676 - ld a, $1 - ld [$d4ab], a - call Func_f70d - ld a, [$d616] - and a - ret z - ld a, $10 - call SetSongBank - ld de, $0005 - call PlaySong - ld hl, wcBottomMessageText - ld bc, $0040 - call Func_f81b - ld de, $c520 - ld hl, $3094 - call Func_f7b1 - ld bc, $0040 - ld de, $0000 - call Func_f80d + ld de, $c540 + ld hl, $3069 ; todo + call Func_f7b1 + ld de, $c580 + ld hl, $3070 + call Func_f7b1 + ld hl, $d489 + call Func_f8b5 + ld hl, $d48f + call Func_f8b5 + ld a, $1 + ld [$d4ab], a + call Func_f626 + call Func_f64e + call Func_f60a + call Func_f676 + ld a, $1 + ld [$d4ab], a + call Func_f70d + ld a, [$d616] + and a + ret z + ld a, $10 + call SetSongBank + ld de, $0005 + call PlaySong + ld hl, wcBottomMessageText + ld bc, $0040 + call Func_f81b + ld de, $c520 + ld hl, $3094 + call Func_f7b1 + ld bc, $0040 + ld de, $0000 + call Func_f80d .asm_f602 - rst $10 - ld a, [hNewlyPressedButtons] - bit BIT_A_BUTTON, a - jr z, .asm_f602 - ret + rst $10 + ld a, [hNewlyPressedButtons] + bit BIT_A_BUTTON, a + jr z, .asm_f602 + ret Func_f60a: ; 0xf60a - ld a, [wCurrentStage] - rst $18 ; calls JumpToFuncInTable + ld a, [wCurrentStage] + rst $18 ; calls JumpToFuncInTable CallTable_f60d: ; 0xf60d - ; STAGE_RED_FIELD_TOP - dw Func_f945 + ; STAGE_RED_FIELD_TOP + dw Func_f945 - ; STAGE_RED_FIELD_BOTTOM - dw Func_f945 + ; STAGE_RED_FIELD_BOTTOM + dw Func_f945 - dw Func_f9f2 + dw Func_f9f2 - dw Func_f9f2 + dw Func_f9f2 - ; STAGE_BLUE_FIELD_TOP - dw Func_f9f3 + ; STAGE_BLUE_FIELD_TOP + dw Func_f9f3 - ; STAGE_BLUE_FIELD_BOTTOM - dw Func_f9f3 + ; STAGE_BLUE_FIELD_BOTTOM + dw Func_f9f3 - ; STAGE_GENGAR_BONUS - dw Func_faf6 + ; STAGE_GENGAR_BONUS + dw Func_faf6 - ; STAGE_GENGAR_BONUS - dw Func_faf6 + ; STAGE_GENGAR_BONUS + dw Func_faf6 - ; STAGE_MEWTWO_BONUS - dw Func_faf7 + ; STAGE_MEWTWO_BONUS + dw Func_faf7 - ; STAGE_MEWTWO_BONUS - dw Func_faf7 + ; STAGE_MEWTWO_BONUS + dw Func_faf7 - ; STAGE_MEOWTH_BONUS - dw Func_faf8 + ; STAGE_MEOWTH_BONUS + dw Func_faf8 - ; STAGE_MEOWTH_BONUS - dw Func_faf8 + ; STAGE_MEOWTH_BONUS + dw Func_faf8 Func_f626: ; 0xf626 - ld de, $c501 - ld hl, $3006 ; todo - call Func_f7b1 - ld hl, $c501 - ld a, [$d628] - call Func_f78e - ld bc, $0040 - ld de, $0000 - call Func_f80d - ld hl, $d628 - ld de, PointsData_f921 - call Func_f853 - call Func_f824 - ret + ld de, $c501 + ld hl, $3006 ; todo + call Func_f7b1 + ld hl, $c501 + ld a, [$d628] + call Func_f78e + ld bc, $0040 + ld de, $0000 + call Func_f80d + ld hl, $d628 + ld de, PointsData_f921 + call Func_f853 + call Func_f824 + ret Func_f64e: ; 0xf64e - ld de, wcBottomMessageText - ld hl, $3019 ; todo - call Func_f7b1 - ld hl, wcBottomMessageText - ld a, [$d629] - call Func_f78e - ld bc, $0040 - ld de, $0000 - call Func_f80d - ld hl, $d629 - ld de, PointsData_f927 - call Func_f853 - call Func_f824 - ret + ld de, wcBottomMessageText + ld hl, $3019 ; todo + call Func_f7b1 + ld hl, wcBottomMessageText + ld a, [$d629] + call Func_f78e + ld bc, $0040 + ld de, $0000 + call Func_f80d + ld hl, $d629 + ld de, PointsData_f927 + call Func_f853 + call Func_f824 + ret Func_f676: ; 0xf676 - ld b, $4 + ld b, $4 .asm_f678 - push bc - ld hl, $c520 - ld de, wcBottomMessageText - ld bc, $00e0 - call Func_65d - ld bc, $00c0 - ld de, $0000 - call Func_f80d - ld a, [$d4ab] - and a - jr z, .asm_f69f - rst $10 - ld a, [hNewlyPressedButtons] - bit BIT_A_BUTTON, a - jr z, .asm_f69f - xor a - ld [$d4ab], a + push bc + ld hl, $c520 + ld de, wcBottomMessageText + ld bc, $00e0 + call LocalCopyData + ld bc, $00c0 + ld de, $0000 + call Func_f80d + ld a, [$d4ab] + and a + jr z, .asm_f69f + rst $10 + ld a, [hNewlyPressedButtons] + bit BIT_A_BUTTON, a + jr z, .asm_f69f + xor a + ld [$d4ab], a .asm_f69f - pop bc - dec b - jr nz, .asm_f678 - ld de, $c540 - ld hl, $307a ; todo - call Func_f7b1 - ld de, $c580 - ld hl, $3086 ; todo - call Func_f7b1 - ld hl, $c550 - ld a, [$d482] - call Func_f78e - ld bc, $0040 - ld de, $0040 - call Func_f80d + pop bc + dec b + jr nz, .asm_f678 + ld de, $c540 + ld hl, $307a ; todo + call Func_f7b1 + ld de, $c580 + ld hl, $3086 ; todo + call Func_f7b1 + ld hl, $c550 + ld a, [$d482] + call Func_f78e + ld bc, $0040 + ld de, $0040 + call Func_f80d .asm_f6c7 - push de - push hl - ld hl, $d494 - ld de, $c586 - call Func_f8bd - ld bc, $0040 - ld de, $0080 - call Func_f80d - ld de, $003e - call PlaySoundEffect - ld a, [$d4ab] - and a - jr z, .asm_f6f2 - rst $10 - ld a, [hNewlyPressedButtons] - bit BIT_A_BUTTON, a - jr z, .asm_f6f2 - xor a - ld [$d4ab], a + push de + push hl + ld hl, $d494 + ld de, $c586 + call Func_f8bd + ld bc, $0040 + ld de, $0080 + call Func_f80d + ld de, $003e + call PlaySoundEffect + ld a, [$d4ab] + and a + jr z, .asm_f6f2 + rst $10 + ld a, [hNewlyPressedButtons] + bit BIT_A_BUTTON, a + jr z, .asm_f6f2 + xor a + ld [$d4ab], a .asm_f6f2 - pop hl - pop de - ld a, [$d482] - and a - jr z, .asm_f709 - dec a - ld [$d482], a - ld hl, $d48f - ld de, $d489 - call Func_f902 - jr .asm_f6c7 + pop hl + pop de + ld a, [$d482] + and a + jr z, .asm_f709 + dec a + ld [$d482], a + ld hl, $d48f + ld de, $d489 + call Func_f902 + jr .asm_f6c7 .asm_f709 - call Func_f83a - ret + call Func_f83a + ret Func_f70d: ; 0xf70d - ld b, $4 + ld b, $4 .asm_f70f - push bc - ld hl, $c520 - ld de, wcBottomMessageText - ld bc, $00e0 - call Func_65d - ld bc, $00c0 - ld de, $0000 - call Func_f80d - ld a, [$d4ab] - and a - jr z, .asm_f736 - rst $10 - ld a, [hNewlyPressedButtons] - bit BIT_A_BUTTON, a - jr z, .asm_f736 - xor a - ld [$d4ab], a + push bc + ld hl, $c520 + ld de, wcBottomMessageText + ld bc, $00e0 + call LocalCopyData + ld bc, $00c0 + ld de, $0000 + call Func_f80d + ld a, [$d4ab] + and a + jr z, .asm_f736 + rst $10 + ld a, [hNewlyPressedButtons] + bit BIT_A_BUTTON, a + jr z, .asm_f736 + xor a + ld [$d4ab], a .asm_f736 - pop bc - dec b - jr nz, .asm_f70f - ld de, $c560 - ld hl, $308d - call Func_f7b1 - ld hl, $d46f - ld de, $c566 - call Func_f8bd - ld bc, $0040 - ld de, $0060 - call Func_f80d - ld de, $003e - call PlaySoundEffect - ld a, [$d4ab] - and a - jr z, .asm_f76c - rst $10 - ld a, [hNewlyPressedButtons] - bit BIT_A_BUTTON, a - jr z, .asm_f76c - xor a - ld [$d4ab], a + pop bc + dec b + jr nz, .asm_f70f + ld de, $c560 + ld hl, $308d + call Func_f7b1 + ld hl, $d46f + ld de, $c566 + call Func_f8bd + ld bc, $0040 + ld de, $0060 + call Func_f80d + ld de, $003e + call PlaySoundEffect + ld a, [$d4ab] + and a + jr z, .asm_f76c + rst $10 + ld a, [hNewlyPressedButtons] + bit BIT_A_BUTTON, a + jr z, .asm_f76c + xor a + ld [$d4ab], a .asm_f76c - ld hl, wScore - ld de, $d48f - call Func_f902 - ld hl, $d46f - ld de, $c566 - call Func_f8bd - ld bc, $0040 - ld de, $0060 - call Func_f80d - call Func_f83a - call Func_f83a - ret + ld hl, wScore + ld de, $d48f + call Func_f902 + ld hl, $d46f + ld de, $c566 + call Func_f8bd + ld bc, $0040 + ld de, $0060 + call Func_f80d + call Func_f83a + call Func_f83a + ret Func_f78e: ; 0xf78e - push hl - call ConvertHexByteToDecWord - pop hl - ld c, $1 - ld a, d - call .asm_f7a4 - inc hl - ld a, e - swap a - call .asm_f7a4 - inc hl - ld c, $0 - ld a, e - ; fall through + push hl + call ConvertHexByteToDecWord + pop hl + ld c, $1 + ld a, d + call .asm_f7a4 + inc hl + ld a, e + swap a + call .asm_f7a4 + inc hl + ld c, $0 + ld a, e + ; fall through .asm_f7a4 - and $f - jr nz, .asm_f7ab - ld a, c - and a - ret nz + and $f + jr nz, .asm_f7ab + ld a, c + and a + ret nz .asm_f7ab - add $86 - ld [hl], a - ld c, $0 - ret + add $86 + ld [hl], a + ld c, $0 + ret Func_f7b1: ; 0xf7b1 - ld a, [$d805] - and a - jr nz, .asm_f7e0 + ld a, [$d805] + and a + jr nz, .asm_f7e0 .asm_f7b7 - ld a, [hli] - and a - ret z - cp $30 - jr c, .asm_f7c6 - cp $3a - jr nc, .asm_f7c6 - add $56 - jr .asm_f7dc + ld a, [hli] + and a + ret z + cp $30 + jr c, .asm_f7c6 + cp $3a + jr nc, .asm_f7c6 + add $56 + jr .asm_f7dc .asm_f7c6 - cp $41 - jr c, .asm_f7d2 - cp $5b - jr nc, .asm_f7d2 - add $bf - jr .asm_f7dc + cp $41 + jr c, .asm_f7d2 + cp $5b + jr nc, .asm_f7d2 + add $bf + jr .asm_f7dc .asm_f7d2 - cp $65 - jr nz, .asm_f7da - ld a, $83 - jr .asm_f7dc + cp $65 + jr nz, .asm_f7da + ld a, $83 + jr .asm_f7dc .asm_f7da - ld a, $81 + ld a, $81 .asm_f7dc - ld [de], a - inc de - jr .asm_f7b7 + ld [de], a + inc de + jr .asm_f7b7 .asm_f7e0 - ld a, [hli] - and a - ret z - cp $30 - jr c, .asm_f7ef - cp $3a - jr nc, .asm_f7ef - add $56 - jr .asm_f809 + ld a, [hli] + and a + ret z + cp $30 + jr c, .asm_f7ef + cp $3a + jr nc, .asm_f7ef + add $56 + jr .asm_f809 .asm_f7ef - cp $a0 - jr c, .asm_f7fb - cp $e0 - jr nc, .asm_f7fb - sub $80 - jr .asm_f809 + cp $a0 + jr c, .asm_f7fb + cp $e0 + jr nc, .asm_f7fb + sub $80 + jr .asm_f809 .asm_f7fb - cp $e0 - jr c, .asm_f807 - cp $f4 - jr nc, .asm_f807 - sub $50 - jr .asm_f809 + cp $e0 + jr c, .asm_f807 + cp $f4 + jr nc, .asm_f807 + sub $50 + jr .asm_f809 .asm_f807 - ld a, $81 + ld a, $81 .asm_f809 - ld [de], a - inc de - jr .asm_f7e0 + ld [de], a + inc de + jr .asm_f7e0 Func_f80d: ; 0xf80d - ld hl, $9c00 - add hl, de - push hl - ld hl, wcBottomMessageText - add hl, de - pop de - call LoadVRAMData - ret + ld hl, $9c00 + add hl, de + push hl + ld hl, wcBottomMessageText + add hl, de + pop de + call LoadVRAMData + ret Func_f81b: ; 0xf81b - ld a, $81 - ld [hli], a - dec bc - ld a, b - or c - jr nz, Func_f81b - ret + ld a, $81 + ld [hli], a + dec bc + ld a, b + or c + jr nz, Func_f81b + ret Func_f824: ; 0xf824 - call Func_f83a - ld hl, wcBottomMessageText - ld bc, $0040 - call Func_f81b - ld hl, $c548 - ld bc, $0038 - call Func_f81b - ret + call Func_f83a + ld hl, wcBottomMessageText + ld bc, $0040 + call Func_f81b + ld hl, $c548 + ld bc, $0038 + call Func_f81b + ret Func_f83a: ; 0xf83a - ld a, [$d4ab] - and a - ret z - ld b, $46 + ld a, [$d4ab] + and a + ret z + ld b, $46 .asm_f841 - push bc - rst $10 - pop bc - ld a, [hNewlyPressedButtons] - bit BIT_A_BUTTON, a - jr nz, .asm_f84e - dec b - jr nz, .asm_f841 - ret + push bc + rst $10 + pop bc + ld a, [hNewlyPressedButtons] + bit BIT_A_BUTTON, a + jr nz, .asm_f84e + dec b + jr nz, .asm_f841 + ret .asm_f84e - xor a - ld [$d4ab], a - ret + xor a + ld [$d4ab], a + ret Func_f853: ; 0xf853 - push hl - ld hl, $d483 - call Func_f8b5 - pop hl + push hl + ld hl, $d483 + call Func_f8b5 + pop hl .asm_f85b - push de - push hl - ld hl, $d488 - ld de, $c546 - call Func_f8bd - ld bc, $0040 - ld de, $0040 - call Func_f80d - ld de, $003e - call PlaySoundEffect - ld a, [$d4ab] - and a - jr z, .asm_f886 - rst $10 - ld a, [hNewlyPressedButtons] - bit BIT_A_BUTTON, a - jr z, .asm_f886 - xor a - ld [$d4ab], a + push de + push hl + ld hl, $d488 + ld de, $c546 + call Func_f8bd + ld bc, $0040 + ld de, $0040 + call Func_f80d + ld de, $003e + call PlaySoundEffect + ld a, [$d4ab] + and a + jr z, .asm_f886 + rst $10 + ld a, [hNewlyPressedButtons] + bit BIT_A_BUTTON, a + jr z, .asm_f886 + xor a + ld [$d4ab], a .asm_f886 - pop hl - pop de - ld a, [hl] - and a - jr z, .asm_f899 - dec [hl] - push de - push hl - ld hl, $d483 - call Func_f902 - pop hl - pop de - jr .asm_f85b + pop hl + pop de + ld a, [hl] + and a + jr z, .asm_f899 + dec [hl] + push de + push hl + ld hl, $d483 + call Func_f902 + pop hl + pop de + jr .asm_f85b .asm_f899 - ld hl, $d489 - ld de, $d483 - call Func_f902 - ld hl, $d48e - ld de, $c586 - call Func_f8bd - ld bc, $0040 - ld de, $0080 - call Func_f80d - ret + ld hl, $d489 + ld de, $d483 + call Func_f902 + ld hl, $d48e + ld de, $c586 + call Func_f8bd + ld bc, $0040 + ld de, $0080 + call Func_f80d + ret Func_f8b5: ; 0xf8b5 - xor a - ld b, $6 + xor a + ld b, $6 .asm_f8b8 - ld [hli], a - dec b - jr nz, .asm_f8b8 - ret + ld [hli], a + dec b + jr nz, .asm_f8b8 + ret Func_f8bd: ; 0xf8bd - ld bc, $0c01 + ld bc, $0c01 .asm_f8c0 - ld a, [hl] - swap a - call Func_f8d5 - inc de - dec b - ld a, [hld] - call Func_f8d5 - inc de - dec b - jr nz, .asm_f8c0 - ld a, $86 - ld [de], a - inc de - ret + ld a, [hl] + swap a + call Func_f8d5 + inc de + dec b + ld a, [hld] + call Func_f8d5 + inc de + dec b + jr nz, .asm_f8c0 + ld a, $86 + ld [de], a + inc de + ret Func_f8d5: ; 0xf8d5 - and $f - jr nz, .asm_f8e0 - ld a, b - dec a - jr z, .asm_f8e0 - ld a, c - and a - ret nz + and $f + jr nz, .asm_f8e0 + ld a, b + dec a + jr z, .asm_f8e0 + ld a, c + and a + ret nz .asm_f8e0 - add $86 - ld [de], a - ld c, $0 - ld a, b - cp $c - jr z, .asm_f8f5 - cp $9 - jr z, .asm_f8f5 - cp $6 - jr z, .asm_f8f5 - cp $3 - ret nz + add $86 + ld [de], a + ld c, $0 + ld a, b + cp $c + jr z, .asm_f8f5 + cp $9 + jr z, .asm_f8f5 + cp $6 + jr z, .asm_f8f5 + cp $3 + ret nz .asm_f8f5 - push de - ld a, e - add $20 - ld e, a - jr nc, .asm_f8fd - inc d + push de + ld a, e + add $20 + ld e, a + jr nc, .asm_f8fd + inc d .asm_f8fd - ld a, $82 - ld [de], a - pop de - ret + ld a, $82 + ld [de], a + pop de + ret Func_f902: ; 0xf902 - ld a, [de] - add [hl] - daa - ld [hli], a - inc de - ld a, [de] - adc [hl] - daa - ld [hli], a - inc de - ld a, [de] - adc [hl] - daa - ld [hli], a - inc de - ld a, [de] - adc [hl] - daa - ld [hli], a - inc de - ld a, [de] - adc [hl] - daa - ld [hli], a - inc de - ld a, [de] - adc [hl] - daa - ld [hli], a - inc de - ret + ld a, [de] + add [hl] + daa + ld [hli], a + inc de + ld a, [de] + adc [hl] + daa + ld [hli], a + inc de + ld a, [de] + adc [hl] + daa + ld [hli], a + inc de + ld a, [de] + adc [hl] + daa + ld [hli], a + inc de + ld a, [de] + adc [hl] + daa + ld [hli], a + inc de + ld a, [de] + adc [hl] + daa + ld [hli], a + inc de + ret PointsData_f921: ; 0xf921 - bigBCD6 50000 + bigBCD6 50000 PointsData_f927: ; 0xf927 - bigBCD6 75000 + bigBCD6 75000 PointsData_f92d: ; 0xf92d - bigBCD6 7500 + bigBCD6 7500 PointsData_f933: ; 0xf933 - bigBCD6 5000 + bigBCD6 5000 PointsData_f939: ; 0xf939 - bigBCD6 2500 + bigBCD6 2500 PointsData_f93f: ; 0xf93f - bigBCD6 1000 + bigBCD6 1000 Func_f945: ; 0xf945 - call Func_f952 - call Func_f97a - call Func_f9a2 - call Func_f9ca - ret + call Func_f952 + call Func_f97a + call Func_f9a2 + call Func_f9ca + ret Func_f952: ; 0xf952 - ld de, $c503 - ld hl, $302d - call Func_f7b1 - ld hl, $c503 - ld a, [$d62a] - call Func_f78e - ld bc, $0040 - ld de, $0000 - call Func_f80d - ld hl, $d62a - ld de, PointsData_f92d - call Func_f853 - call Func_f824 - ret + ld de, $c503 + ld hl, $302d + call Func_f7b1 + ld hl, $c503 + ld a, [$d62a] + call Func_f78e + ld bc, $0040 + ld de, $0000 + call Func_f80d + ld hl, $d62a + ld de, PointsData_f92d + call Func_f853 + call Func_f824 + ret Func_f97a: ; 0xf97a - ld de, $c504 - ld hl, $303c - call Func_f7b1 - ld hl, $c504 - ld a, [$d62b] - call Func_f78e - ld bc, $0040 - ld de, $0000 - call Func_f80d - ld hl, $d62b - ld de, PointsData_f933 - call Func_f853 - call Func_f824 - ret + ld de, $c504 + ld hl, $303c + call Func_f7b1 + ld hl, $c504 + ld a, [$d62b] + call Func_f78e + ld bc, $0040 + ld de, $0000 + call Func_f80d + ld hl, $d62b + ld de, PointsData_f933 + call Func_f853 + call Func_f824 + ret Func_f9a2: ; 0xf9a2 - ld de, $c503 - ld hl, $3048 - call Func_f7b1 - ld hl, $c503 - ld a, [$d62c] - call Func_f78e - ld bc, $0040 - ld de, $0000 - call Func_f80d - ld hl, $d62c - ld de, PointsData_f939 - call Func_f853 - call Func_f824 - ret + ld de, $c503 + ld hl, $3048 + call Func_f7b1 + ld hl, $c503 + ld a, [$d62c] + call Func_f78e + ld bc, $0040 + ld de, $0000 + call Func_f80d + ld hl, $d62c + ld de, PointsData_f939 + call Func_f853 + call Func_f824 + ret Func_f9ca: ; 0xf9ca - ld de, $c501 - ld hl, $3057 - call Func_f7b1 - ld hl, $c501 - ld a, [$d62d] - call Func_f78e - ld bc, $0040 - ld de, $0000 - call Func_f80d - ld hl, $d62d - ld de, PointsData_f93f - call Func_f853 - call Func_f824 - ret + ld de, $c501 + ld hl, $3057 + call Func_f7b1 + ld hl, $c501 + ld a, [$d62d] + call Func_f78e + ld bc, $0040 + ld de, $0000 + call Func_f80d + ld hl, $d62d + ld de, PointsData_f93f + call Func_f853 + call Func_f824 + ret Func_f9f2: ; 0xf9f2 - ret + ret Func_f9f3: ; 0xf9f3 - call Func_fa06 - call Func_fa2e - call Func_fa56 - call Func_fa7e - call Func_faa6 - call Func_face - ret + call Func_fa06 + call Func_fa2e + call Func_fa56 + call Func_fa7e + call Func_faa6 + call Func_face + ret Func_fa06: ; 0xfa06 - ld de, $c504 - ld hl, $30c1 - call Func_f7b1 - ld hl, $c504 - ld a, [$d63b] - call Func_f78e - ld bc, $0040 - ld de, $0000 - call Func_f80d - ld hl, $d63b - ld de, PointsData_f92d - call Func_f853 - call Func_f824 - ret + ld de, $c504 + ld hl, $30c1 + call Func_f7b1 + ld hl, $c504 + ld a, [$d63b] + call Func_f78e + ld bc, $0040 + ld de, $0000 + call Func_f80d + ld hl, $d63b + ld de, PointsData_f92d + call Func_f853 + call Func_f824 + ret Func_fa2e: ; 0xfa2e - ld de, $c504 - ld hl, $30ce - call Func_f7b1 - ld hl, $c504 - ld a, [$d63a] - call Func_f78e - ld bc, $0040 - ld de, $0000 - call Func_f80d - ld hl, $d63a - ld de, PointsData_f92d - call Func_f853 - call Func_f824 - ret + ld de, $c504 + ld hl, $30ce + call Func_f7b1 + ld hl, $c504 + ld a, [$d63a] + call Func_f78e + ld bc, $0040 + ld de, $0000 + call Func_f80d + ld hl, $d63a + ld de, PointsData_f92d + call Func_f853 + call Func_f824 + ret Func_fa56: ; 0xfa56 - ld de, $c504 - ld hl, $30b5 - call Func_f7b1 - ld hl, $c504 - ld a, [$d63d] - call Func_f78e - ld bc, $0040 - ld de, $0000 - call Func_f80d - ld hl, $d63d - ld de, PointsData_f933 - call Func_f853 - call Func_f824 - ret + ld de, $c504 + ld hl, $30b5 + call Func_f7b1 + ld hl, $c504 + ld a, [$d63d] + call Func_f78e + ld bc, $0040 + ld de, $0000 + call Func_f80d + ld hl, $d63d + ld de, PointsData_f933 + call Func_f853 + call Func_f824 + ret Func_fa7e: ; 0xfa7e - ld de, $c504 - ld hl, $30a9 - call Func_f7b1 - ld hl, $c504 - ld a, [$d63c] - call Func_f78e - ld bc, $0040 - ld de, $0000 - call Func_f80d - ld hl, $d63c - ld de, PointsData_f933 - call Func_f853 - call Func_f824 - ret + ld de, $c504 + ld hl, $30a9 + call Func_f7b1 + ld hl, $c504 + ld a, [$d63c] + call Func_f78e + ld bc, $0040 + ld de, $0000 + call Func_f80d + ld hl, $d63c + ld de, PointsData_f933 + call Func_f853 + call Func_f824 + ret Func_faa6: ; 0xfaa6 - ld de, $c503 - ld hl, $3048 - call Func_f7b1 - ld hl, $c503 - ld a, [$d62c] - call Func_f78e - ld bc, $0040 - ld de, $0000 - call Func_f80d - ld hl, $d62c - ld de, PointsData_f939 - call Func_f853 - call Func_f824 - ret + ld de, $c503 + ld hl, $3048 + call Func_f7b1 + ld hl, $c503 + ld a, [$d62c] + call Func_f78e + ld bc, $0040 + ld de, $0000 + call Func_f80d + ld hl, $d62c + ld de, PointsData_f939 + call Func_f853 + call Func_f824 + ret Func_face: ; 0xface :) - ld de, $c501 - ld hl, $3057 - call Func_f7b1 - ld hl, $c501 - ld a, [$d62d] - call Func_f78e - ld bc, $0040 - ld de, $0000 - call Func_f80d - ld hl, $d62d - ld de, PointsData_f93f - call Func_f853 - call Func_f824 - ret + ld de, $c501 + ld hl, $3057 + call Func_f7b1 + ld hl, $c501 + ld a, [$d62d] + call Func_f78e + ld bc, $0040 + ld de, $0000 + call Func_f80d + ld hl, $d62d + ld de, PointsData_f93f + call Func_f853 + call Func_f824 + ret Func_faf6: ; 0xfaf6 - ret + ret Func_faf7: ; 0xfaf7 - ret + ret Func_faf8: ; 0xfaf8 - ret + ret -INCBIN "baserom.gbc",$faf9,$10000 - $faf9 + dr $faf9, $10000 SECTION "bank4", ROMX, BANK[$4] Func_10000: ; 0x10000 - ld c, a - ld a, [wInSpecialMode] - and a - ret z - ld a, c - ld [$d54c], a - ld a, [wSpecialMode] - cp $1 - jp z, Func_10a95 - cp $2 - jr nz, .asm_10021 - ld [$ff8a], a - ld a, Bank(Func_301ce) - ld hl, Func_301ce - call BankSwitch - ret + ld c, a + ld a, [wInSpecialMode] + and a + ret z + ld a, c + ld [$d54c], a + ld a, [wSpecialMode] + cp $1 + jp z, Func_10a95 + cp $2 + jr nz, .asm_10021 + ld [$ff8a], a + ld a, Bank(Func_301ce) + ld hl, Func_301ce + call BankSwitch + ret .asm_10021 - ld a, [wCurrentStage] - call CallInFollowingTable + ld a, [wCurrentStage] + call CallInFollowingTable CallTable_10027: ; 0x10027 - ; STAGE_RED_FIELD_TOP - dw Func_20000 - db Bank(Func_20000), $00 + ; STAGE_RED_FIELD_TOP + dw Func_20000 + db Bank(Func_20000), $00 - ; STAGE_RED_FIELD_BOTTOM - dw Func_20000 - db Bank(Func_20000), $00 + ; STAGE_RED_FIELD_BOTTOM + dw Func_20000 + db Bank(Func_20000), $00 - dw Func_20000 - db Bank(Func_20000), $00 + dw Func_20000 + db Bank(Func_20000), $00 - dw Func_20000 - db Bank(Func_20000), $00 + dw Func_20000 + db Bank(Func_20000), $00 - ; STAGE_BLUE_FIELD_TOP - dw Func_202bc - db Bank(Func_202bc), $00 + ; STAGE_BLUE_FIELD_TOP + dw Func_202bc + db Bank(Func_202bc), $00 - ; STAGE_BLUE_FIELD_BOTTOM - dw Func_202bc - db Bank(Func_202bc), $00 + ; STAGE_BLUE_FIELD_BOTTOM + dw Func_202bc + db Bank(Func_202bc), $00 StartCatchEmMode: ; 0x1003f - ld a, [wInSpecialMode] ; current game mode? - and a - ret nz ; don't start catch 'em mode if we're already doing something like Map Move mode - ld a, $1 - ld [wInSpecialMode], a ; set special mode flag - xor a - ld [wSpecialMode], a - ld [$d54d], a - ld a, [wCurrentStage] - sla a - ld c, a - ld b, $0 - push bc - ld hl, WildMonOffsetsPointers - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [wCurrentMap] - sla a - ld c, a - add hl, bc - ld a, [hli] - ld c, a - ld a, [hl] - ld b, a - pop de - ld hl, WildMonPointers - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - add hl, bc - call GenRandom - and $f - call CheckForMew - ld c, a - ld b, $0 - add hl, bc - ld a, [wRareMonsFlag] ; this gets set to $08 when the rare mons should be used. - sla a - ld c, a - add hl, bc - ld a, [hl] ; a contains mon id - dec a - ld [wCurrentCatchEmMon], a - ld a, [wCurrentCatchEmMon] - ld c, a - ld b, $0 - ld hl, EvolutionLineIds - add hl, bc - ld c, [hl] - ld h, b - ld l, c - add hl, bc - add hl, bc ; multiply the evolution line id by 3 - ld bc, Data_13685 - add hl, bc - ld a, [hli] - ld [$d5c1], a - ld [$d5be], a - ld a, [hli] - ld [$d5c2], a - ld a, [hli] - ld [$d5c3], a - ld hl, $d586 - ld a, [$d5b6] - ld c, a - and a - ld b, $18 - jr z, .asm_100c7 + ld a, [wInSpecialMode] ; current game mode? + and a + ret nz ; don't start catch 'em mode if we're already doing something like Map Move mode + ld a, $1 + ld [wInSpecialMode], a ; set special mode flag + xor a + ld [wSpecialMode], a + ld [$d54d], a + ld a, [wCurrentStage] + sla a + ld c, a + ld b, $0 + push bc + ld hl, WildMonOffsetsPointers + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [wCurrentMap] + sla a + ld c, a + add hl, bc + ld a, [hli] + ld c, a + ld a, [hl] + ld b, a + pop de + ld hl, WildMonPointers + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + add hl, bc + call GenRandom + and $f + call CheckForMew + ld c, a + ld b, $0 + add hl, bc + ld a, [wRareMonsFlag] ; this gets set to $08 when the rare mons should be used. + sla a + ld c, a + add hl, bc + ld a, [hl] ; a contains mon id + dec a + ld [wCurrentCatchEmMon], a + ld a, [wCurrentCatchEmMon] + ld c, a + ld b, $0 + ld hl, EvolutionLineIds + add hl, bc + ld c, [hl] + ld h, b + ld l, c + add hl, bc + add hl, bc ; multiply the evolution line id by 3 + ld bc, Data_13685 + add hl, bc + ld a, [hli] + ld [$d5c1], a + ld [$d5be], a + ld a, [hli] + ld [$d5c2], a + ld a, [hli] + ld [$d5c3], a + ld hl, $d586 + ld a, [$d5b6] + ld c, a + and a + ld b, $18 + jr z, .asm_100c7 .asm_100ba - ld a, $1 - ld [hli], a - xor a - ld [hli], a - dec b - dec c - jr nz, .asm_100ba - ld a, b - and a - jr z, .asm_100ce + ld a, $1 + ld [hli], a + xor a + ld [hli], a + dec b + dec c + jr nz, .asm_100ba + ld a, b + and a + jr z, .asm_100ce .asm_100c7 - xor a - ld [hli], a - inc a - ld [hli], a - dec b - jr nz, .asm_100c7 + xor a + ld [hli], a + inc a + ld [hli], a + dec b + jr nz, .asm_100c7 .asm_100ce - ld a, [wCurrentCatchEmMon] - ld c, a - ld b, $0 - sla c - rl b - ld hl, CatchEmTimerData - add hl, bc - ld a, [hli] - ld c, a - ld a, [hl] - ld b, a - ld [$ff8a], a - ld a, Bank(StartTimer) - ld hl, StartTimer - call BankSwitch - ld [$ff8a], a - ld a, Bank(InitBallSaverForCatchEmMode) - ld hl, InitBallSaverForCatchEmMode - call BankSwitch - call Func_10696 - call Func_3579 - ld a, [wCurrentStage] - bit 0, a - jr z, .asm_1011d - ld a, $28 - ld hl, $6300 - ld de, $8ae0 - ld bc, $0020 - call Func_735 - ld a, $0 - ld hl, $2898 - ld de, $9906 - ld bc, $0008 - call Func_735 + ld a, [wCurrentCatchEmMon] + ld c, a + ld b, $0 + sla c + rl b + ld hl, CatchEmTimerData + add hl, bc + ld a, [hli] + ld c, a + ld a, [hl] + ld b, a + ld [$ff8a], a + ld a, Bank(StartTimer) + ld hl, StartTimer + call BankSwitch + ld [$ff8a], a + ld a, Bank(InitBallSaverForCatchEmMode) + ld hl, InitBallSaverForCatchEmMode + call BankSwitch + call Func_10696 + call Func_3579 + ld a, [wCurrentStage] + bit 0, a + jr z, .asm_1011d + ld a, $28 + ld hl, $6300 + ld de, $8ae0 + ld bc, $0020 + call Func_735 + ld a, $0 + ld hl, $2898 + ld de, $9906 + ld bc, $0008 + call Func_735 .asm_1011d - call SetPokemonSeenFlag - ld a, [wCurrentStage] - rst $18 ; calls JumpToFuncInTable + call SetPokemonSeenFlag + ld a, [wCurrentStage] + rst $18 ; calls JumpToFuncInTable CallTable_10124: ; 0x10124 - ; STAGE_RED_FIELD_TOP - dw Func_10871 + ; STAGE_RED_FIELD_TOP + dw Func_10871 - ; STAGE_RED_FIELD_BOTTOM - dw Func_10871 + ; STAGE_RED_FIELD_BOTTOM + dw Func_10871 - dw Func_1098a + dw Func_1098a - dw Func_1098a + dw Func_1098a - ; STAGE_BLUE_FIELD_TOP - dw Func_1098c + ; STAGE_BLUE_FIELD_TOP + dw Func_1098c - ; STAGE_BLUE_FIELD_BOTTOM - dw Func_1098c + ; STAGE_BLUE_FIELD_BOTTOM + dw Func_1098c CheckForMew: ; Sets the encountered mon to Mew if the following conditions are met: @@ -20269,2306 +20312,2304 @@ CheckForMew: ; 2. The current map is Indigo Plateu (it does a roundabout way of checking this) ; 3. The right alley has been hit three times ; 4. The Mewtwo Bonus Stage completion counter equals 2. - push af - cp $f ; random number equals $f - jr nz, .asm_10155 - ld a, c - cp $60 ; check if low-byte of map mons offset is Indigo Plateau - jr nz, .asm_10155 - ld a, b - cp $1 ; check if high-byte of map mons offset is Indigo Plateau - jr nz, .asm_10155 - ld a, [wRareMonsFlag] - cp $8 - jr nz, .asm_10155 - ld a, [wNumMewtwoBonusCompletions] - cp $2 - jr nz, .asm_10155 - pop af - xor a - ld [wNumMewtwoBonusCompletions], a - ld a, $10 - ret + push af + cp $f ; random number equals $f + jr nz, .asm_10155 + ld a, c + cp $60 ; check if low-byte of map mons offset is Indigo Plateau + jr nz, .asm_10155 + ld a, b + cp $1 ; check if high-byte of map mons offset is Indigo Plateau + jr nz, .asm_10155 + ld a, [wRareMonsFlag] + cp $8 + jr nz, .asm_10155 + ld a, [wNumMewtwoBonusCompletions] + cp $2 + jr nz, .asm_10155 + pop af + xor a + ld [wNumMewtwoBonusCompletions], a + ld a, $10 + ret .asm_10155 - pop af - ret + pop af + ret Func_10157: ; 0x10157 - xor a - ld [wInSpecialMode], a - ld [$d5bb], a - ld [$d5c6], a - ld [$d5b6], a - ld [wNumMonHits], a - call Func_10488 - ld [$ff8a], a - ld a, Bank(Func_86d2) - ld hl, Func_86d2 - call BankSwitch - ld a, [wCurrentStage] - rst $18 ; calls JumpToFuncInTable + xor a + ld [wInSpecialMode], a + ld [$d5bb], a + ld [$d5c6], a + ld [$d5b6], a + ld [wNumMonHits], a + call Func_10488 + ld [$ff8a], a + ld a, Bank(Func_86d2) + ld hl, Func_86d2 + call BankSwitch + ld a, [wCurrentStage] + rst $18 ; calls JumpToFuncInTable CallTable_10178: ; 0x10178 - ; STAGE_RED_FIELD_TOP - dw Func_108f5 + ; STAGE_RED_FIELD_TOP + dw Func_108f5 - ; STAGE_RED_FIELD_BOTTOM - dw Func_108f5 + ; STAGE_RED_FIELD_BOTTOM + dw Func_108f5 - dw Func_1098b + dw Func_1098b - dw Func_1098b + dw Func_1098b - ; STAGE_BLUE_FIELD_TOP - dw Func_109fc + ; STAGE_BLUE_FIELD_TOP + dw Func_109fc - ; STAGE_BLUE_FIELD_BOTTOM - dw Func_109fc + ; STAGE_BLUE_FIELD_BOTTOM + dw Func_109fc Func_10184: ; 0x10184 - ld a, [wCurrentStage] - bit 0, a - ret z - ld a, [wCurrentCatchEmMon] - ld c, a - ld b, $0 - sla c - rl b - add c - ld c, a - jr nc, .asm_10199 - inc b + ld a, [wCurrentStage] + bit 0, a + ret z + ld a, [wCurrentCatchEmMon] + ld c, a + ld b, $0 + sla c + rl b + add c + ld c, a + jr nc, .asm_10199 + inc b .asm_10199 - ld hl, MonBillboardPicPointers - add hl, bc - ld a, [hli] - ld [$ff8c], a - ld a, [hli] - ld [$ff8d], a - ld a, [hl] - ld [$ff8e], a - ld hl, MonBillboardPaletteMapPointers - add hl, bc - ld a, [hli] - ld [$ff8f], a - ld a, [hli] - ld [$ff90], a - ld a, [hli] - ld [$ff91], a - ld de, wc000 - ld hl, $d586 - ld c, $0 + ld hl, MonBillboardPicPointers + add hl, bc + ld a, [hli] + ld [$ff8c], a + ld a, [hli] + ld [$ff8d], a + ld a, [hl] + ld [$ff8e], a + ld hl, MonBillboardPaletteMapPointers + add hl, bc + ld a, [hli] + ld [$ff8f], a + ld a, [hli] + ld [$ff90], a + ld a, [hli] + ld [$ff91], a + ld de, wc000 + ld hl, $d586 + ld c, $0 .asm_101bb - ld a, [hli] - cp [hl] - ld [hli], a - jr z, .asm_101d2 - ld b, a - call nz, Func_101d9 - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_101d2 - ld a, [wCurrentStage] - bit 0, a - ld a, b - call nz, Func_10230 + ld a, [hli] + cp [hl] + ld [hli], a + jr z, .asm_101d2 + ld b, a + call nz, Func_101d9 + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_101d2 + ld a, [wCurrentStage] + bit 0, a + ld a, b + call nz, Func_10230 .asm_101d2 - inc c - ld a, c - cp $18 - jr nz, .asm_101bb - ret + inc c + ld a, c + cp $18 + jr nz, .asm_101bb + ret Func_101d9: ; 0x101d9 - push bc - push hl - push de - push af - ld a, $10 - ld [de], a - inc de - ld a, $1 - ld [de], a - inc de - ld b, $0 - ld hl, Data_102a4 - add hl, bc - ld c, [hl] - sla c - rl b - sla c - rl b - sla c - rl b - sla c - rl b - ld hl, $8900 - add hl, bc - ld a, l - ld [de], a - inc de - ld a, h - ld [de], a - inc de - ld a, [$ff8c] - ld l, a - ld a, [$ff8d] - ld h, a - add hl, bc - pop af - and a - jr nz, .asm_10215 - ld bc, $0180 - add hl, bc + push bc + push hl + push de + push af + ld a, $10 + ld [de], a + inc de + ld a, $1 + ld [de], a + inc de + ld b, $0 + ld hl, Data_102a4 + add hl, bc + ld c, [hl] + sla c + rl b + sla c + rl b + sla c + rl b + sla c + rl b + ld hl, $8900 + add hl, bc + ld a, l + ld [de], a + inc de + ld a, h + ld [de], a + inc de + ld a, [$ff8c] + ld l, a + ld a, [$ff8d] + ld h, a + add hl, bc + pop af + and a + jr nz, .asm_10215 + ld bc, $0180 + add hl, bc .asm_10215 - ld a, l - ld [de], a - inc de - ld a, h - ld [de], a - inc de - ld a, [$ff8e] - ld [de], a - inc de - ld a, $0 - ld [de], a - inc de - pop bc - push de - xor a - ld de, $11d2 - call Func_10c5 - pop de - pop hl - pop bc - ret + ld a, l + ld [de], a + inc de + ld a, h + ld [de], a + inc de + ld a, [$ff8e] + ld [de], a + inc de + ld a, $0 + ld [de], a + inc de + pop bc + push de + xor a + ld de, $11d2 + call Func_10c5 + pop de + pop hl + pop bc + ret Func_10230: ; 0x10230 - push bc - push hl - push de - push af - ld a, $1 - ld [de], a - inc de - ld [de], a - inc de - ld b, $0 - ld hl, Data_102a4 - add hl, bc - ld c, [hl] - sla c - ld hl, PointerTable_10274 - add hl, bc - ld a, [hli] - ld [de], a - inc de - ld a, [hl] - ld [de], a - inc de - srl c - ld a, [$ff8f] - ld l, a - ld a, [$ff90] - ld h, a - add hl, bc - pop af - and a - ld a, [$ff91] - call ReadByteFromBank - jr nz, .asm_10261 - ld a, $5 + push bc + push hl + push de + push af + ld a, $1 + ld [de], a + inc de + ld [de], a + inc de + ld b, $0 + ld hl, Data_102a4 + add hl, bc + ld c, [hl] + sla c + ld hl, PointerTable_10274 + add hl, bc + ld a, [hli] + ld [de], a + inc de + ld a, [hl] + ld [de], a + inc de + srl c + ld a, [$ff8f] + ld l, a + ld a, [$ff90] + ld h, a + add hl, bc + pop af + and a + ld a, [$ff91] + call ReadByteFromBank + jr nz, .asm_10261 + ld a, $5 .asm_10261 - ld [de], a - inc de - ld a, $0 - ld [de], a - inc de - pop bc - push de - xor a - ld de, $118d - call Func_10c5 - pop de - pop hl - pop bc - ret + ld [de], a + inc de + ld a, $0 + ld [de], a + inc de + pop bc + push de + xor a + ld de, $118d + call Func_10c5 + pop de + pop hl + pop bc + ret PointerTable_10274: ; 0x10274 - dw $9887 - dw $9888 - dw $9889 - dw $988A - dw $988B - dw $988C - dw $98A7 - dw $98A8 - dw $98A9 - dw $98AA - dw $98AB - dw $98AC - dw $98C7 - dw $98C8 - dw $98C9 - dw $98CA - dw $98CB - dw $98CC - dw $98E7 - dw $98E8 - dw $98E9 - dw $98EA - dw $98EB - dw $98EC + dw $9887 + dw $9888 + dw $9889 + dw $988A + dw $988B + dw $988C + dw $98A7 + dw $98A8 + dw $98A9 + dw $98AA + dw $98AB + dw $98AC + dw $98C7 + dw $98C8 + dw $98C9 + dw $98CA + dw $98CB + dw $98CC + dw $98E7 + dw $98E8 + dw $98E9 + dw $98EA + dw $98EB + dw $98EC Data_102a4: ; 0x102a4 - db $00, $07, $06, $01, $0E, $15, $14, $0F, $04, $0B, $0A, $05, $0C, $13, $12, $0D, $02, $09, $08, $03, $10, $17, $16, $11 + db $00, $07, $06, $01, $0E, $15, $14, $0F, $04, $0B, $0A, $05, $0C, $13, $12, $0D, $02, $09, $08, $03, $10, $17, $16, $11 Func_102bc: ; 0x102bc - ld a, [wCurrentCatchEmMon] - ld c, a - ld b, $0 - sla c - rl b - add c - ld c, a - jr nc, .asm_102cb - inc b + ld a, [wCurrentCatchEmMon] + ld c, a + ld b, $0 + sla c + rl b + add c + ld c, a + jr nc, .asm_102cb + inc b .asm_102cb - ld hl, MonBillboardPalettePointers - add hl, bc - ld a, [hli] - ld [$ff8c], a - ld a, [hli] - ld [$ff8d], a - ld a, [hl] - ld [$ff8e], a - ld de, $c1b8 - ld a, $10 - ld [de], a - inc de - ld a, $8 - ld [de], a - inc de - ld a, $30 - ld [de], a - inc de - ld a, [$ff8c] - ld [de], a - inc de - ld a, [$ff8d] - ld [de], a - inc de - ld a, [$ff8e] - ld [de], a - inc de - ld a, $0 - ld [de], a - xor a - ld bc, $c1b8 - ld de, $1266 - call Func_10c5 - ret + ld hl, MonBillboardPalettePointers + add hl, bc + ld a, [hli] + ld [$ff8c], a + ld a, [hli] + ld [$ff8d], a + ld a, [hl] + ld [$ff8e], a + ld de, $c1b8 + ld a, $10 + ld [de], a + inc de + ld a, $8 + ld [de], a + inc de + ld a, $30 + ld [de], a + inc de + ld a, [$ff8c] + ld [de], a + inc de + ld a, [$ff8d] + ld [de], a + inc de + ld a, [$ff8e] + ld [de], a + inc de + ld a, $0 + ld [de], a + xor a + ld bc, $c1b8 + ld de, $1266 + call Func_10c5 + ret Func_10301: ; 0x10301 - ld a, [wCurrentCatchEmMon] - ld c, a - ld b, $0 - sla c - rl b - add c - ld c, a - jr nc, .asm_10310 - inc b + ld a, [wCurrentCatchEmMon] + ld c, a + ld b, $0 + sla c + rl b + add c + ld c, a + jr nc, .asm_10310 + inc b .asm_10310 - ld hl, MonAnimatedPalettePointers - add hl, bc - ld a, [hli] - ld [$ff8c], a - ld a, [hli] - ld [$ff8d], a - ld a, [hl] - ld [$ff8e], a - ld de, $c1b8 - ld a, $10 - ld [de], a - inc de - ld a, $4 - ld [de], a - inc de - ld a, $58 - ld [de], a - inc de - ld a, [$ff8c] - ld [de], a - inc de - ld a, [$ff8d] - ld [de], a - inc de - ld a, [$ff8e] - ld [de], a - inc de - ld a, $4 - ld [de], a - inc de - ld a, $68 - ld [de], a - inc de - ld a, [$ff8c] - ld l, a - ld a, [$ff8d] - ld h, a - ld bc, $0008 - add hl, bc - ld a, l - ld [de], a - inc de - ld a, h - ld [de], a - inc de - ld a, [$ff8e] - ld [de], a - inc de - ld a, $0 - ld [de], a - xor a - ld bc, $c1b8 - ld de, $1266 - call Func_10c5 - ret + ld hl, MonAnimatedPalettePointers + add hl, bc + ld a, [hli] + ld [$ff8c], a + ld a, [hli] + ld [$ff8d], a + ld a, [hl] + ld [$ff8e], a + ld de, $c1b8 + ld a, $10 + ld [de], a + inc de + ld a, $4 + ld [de], a + inc de + ld a, $58 + ld [de], a + inc de + ld a, [$ff8c] + ld [de], a + inc de + ld a, [$ff8d] + ld [de], a + inc de + ld a, [$ff8e] + ld [de], a + inc de + ld a, $4 + ld [de], a + inc de + ld a, $68 + ld [de], a + inc de + ld a, [$ff8c] + ld l, a + ld a, [$ff8d] + ld h, a + ld bc, $0008 + add hl, bc + ld a, l + ld [de], a + inc de + ld a, h + ld [de], a + inc de + ld a, [$ff8e] + ld [de], a + inc de + ld a, $0 + ld [de], a + xor a + ld bc, $c1b8 + ld de, $1266 + call Func_10c5 + ret Func_10362: ; 0x10362 - ld a, [wCurrentCatchEmMon] - ld c, a - ld b, $0 - sla c - rl b - add c - ld c, a - jr nc, .asm_10371 - inc b + ld a, [wCurrentCatchEmMon] + ld c, a + ld b, $0 + sla c + rl b + add c + ld c, a + jr nc, .asm_10371 + inc b .asm_10371 - ld hl, MonAnimatedPicPointers - add hl, bc - ld a, [hli] - ld [$ff8c], a - ld a, [hli] - ld [$ff8d], a - ld a, [hl] - ld [$ff8e], a - ld de, $c150 - ld bc, $0000 + ld hl, MonAnimatedPicPointers + add hl, bc + ld a, [hli] + ld [$ff8c], a + ld a, [hli] + ld [$ff8d], a + ld a, [hl] + ld [$ff8e], a + ld de, $c150 + ld bc, $0000 .asm_10384 - call Func_1038e - inc c - ld a, c - cp $d - jr nz, .asm_10384 - ret + call Func_1038e + inc c + ld a, c + cp $d + jr nz, .asm_10384 + ret Func_1038e: ; 0x1038e - push bc - push de - ld a, c - sla a - add c - ld c, a - sla c - ld hl, Data_103c6 - add hl, bc - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [$ff8c] - add [hl] - ld [de], a - inc hl - inc de - ld a, [$ff8d] - adc [hl] - ld [de], a - inc de - ld a, [$ff8e] - ld [de], a - inc de - ld a, $0 - ld [de], a - inc de - pop bc - push de - xor a - ld de, $11d2 - call Func_10c5 - pop de - pop bc - ret + push bc + push de + ld a, c + sla a + add c + ld c, a + sla c + ld hl, Data_103c6 + add hl, bc + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [$ff8c] + add [hl] + ld [de], a + inc hl + inc de + ld a, [$ff8d] + adc [hl] + ld [de], a + inc de + ld a, [$ff8e] + ld [de], a + inc de + ld a, $0 + ld [de], a + inc de + pop bc + push de + xor a + ld de, $11d2 + call Func_10c5 + pop de + pop bc + ret Data_103c6: ; 0x103c6 ; TODO: this might have pointers in it - db $40, $04, $00, $89, $00, $00 - db $40, $04, $40, $89, $40, $00 - db $40, $04, $80, $89, $80, $00 - db $40, $04, $C0, $89, $C0, $00 - db $40, $04, $00, $8A, $00, $01 - db $40, $04, $40, $8A, $40, $01 - db $20, $02, $80, $8A, $80, $01 - db $20, $02, $A0, $81, $A0, $01 - db $40, $04, $C0, $81, $C0, $01 - db $40, $04, $00, $82, $00, $02 - db $40, $04, $40, $82, $40, $02 - db $40, $04, $80, $82, $80, $02 - db $40, $04, $C0, $82, $C0, $02 + db $40, $04, $00, $89, $00, $00 + db $40, $04, $40, $89, $40, $00 + db $40, $04, $80, $89, $80, $00 + db $40, $04, $C0, $89, $C0, $00 + db $40, $04, $00, $8A, $00, $01 + db $40, $04, $40, $8A, $40, $01 + db $20, $02, $80, $8A, $80, $01 + db $20, $02, $A0, $81, $A0, $01 + db $40, $04, $C0, $81, $C0, $01 + db $40, $04, $00, $82, $00, $02 + db $40, $04, $40, $82, $40, $02 + db $40, $04, $80, $82, $80, $02 + db $40, $04, $C0, $82, $C0, $02 Func_10414: ; 0x10414 - ld a, $4 - ld bc, $4420 - ld de, $11b5 - call Func_10c5 - ret + ld a, $4 + ld bc, $4420 + ld de, $11b5 + call Func_10c5 + ret -INCBIN "baserom.gbc",$10420,$10432 - $10420 + dr $10420, $10432 Func_10432: ; 0x10432 - ld a, $4 - ld bc, $443e - ld de, LoadTileLists - call Func_10c5 - ret + ld a, $4 + ld bc, $443e + ld de, LoadTileLists + call Func_10c5 + ret -INCBIN "baserom.gbc",$1043e,$10464 - $1043e + dr $1043e, $10464 Func_10464: ; 0x10464 - ld a, [wCurrentCatchEmMon] - ld c, a - ld b, $0 - sla c - rl b - add c - ld c, a - jr nc, .noCarry - inc b + ld a, [wCurrentCatchEmMon] + ld c, a + ld b, $0 + sla c + rl b + add c + ld c, a + jr nc, .noCarry + inc b .noCarry - ld hl, MonAnimatedCollisionMaskPointers - add hl, bc - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hl] - ld h, b - ld l, c - ld de, wMonAnimatedCollisionMask - ld bc, $0080 - call CopyDataToRAM - ret + ld hl, MonAnimatedCollisionMaskPointers + add hl, bc + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hl] + ld h, b + ld l, c + ld de, wMonAnimatedCollisionMask + ld bc, $0080 + call FarCopyData + ret Func_10488: ; 0x10488 - xor a - ld hl, wMonAnimatedCollisionMask - ld b, $20 + xor a + ld hl, wMonAnimatedCollisionMask + ld b, $20 .asm_1048e - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - dec b - jr nz, .asm_1048e - ret + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + dec b + jr nz, .asm_1048e + ret Func_10496: ; 0x10496 - xor a - ld [$d5c6], a - ld a, $2a - ld hl, $47e0 - ld de, $87e0 - ld bc, $0020 - call LoadVRAMData - ld a, $2a - ld hl, $4800 - ld de, $8900 - ld bc, $0180 - call LoadVRAMData - call LoadShakeBallGfx - ld hl, BallCaptureAnimationData - ld de, wBallCaptureAnimationFrameCounter - call CopyHLToDE - ld a, $1 - ld [$d5f3], a - xor a - ld [wBallXVelocity], a - ld [wBallXVelocity + 1], a - ld [wBallYVelocity], a - ld [wBallYVelocity + 1], a - xor a - ld [$d548], a - ld [$d549], a - ld de, $000b - call PlaySoundEffect - ret + xor a + ld [$d5c6], a + ld a, $2a + ld hl, $47e0 + ld de, $87e0 + ld bc, $0020 + call LoadVRAMData + ld a, $2a + ld hl, $4800 + ld de, $8900 + ld bc, $0180 + call LoadVRAMData + call LoadShakeBallGfx + ld hl, BallCaptureAnimationData + ld de, wBallCaptureAnimationFrameCounter + call CopyHLToDE + ld a, $1 + ld [$d5f3], a + xor a + ld [wBallXVelocity], a + ld [wBallXVelocity + 1], a + ld [wBallYVelocity], a + ld [wBallYVelocity + 1], a + xor a + ld [$d548], a + ld [$d549], a + ld de, $000b + call PlaySoundEffect + ret LoadShakeBallGfx: ; 0x104e2 ; Loads the graphics for the ball shaking after a pokemon is caught. - ld a, [wBallType] - cp GREAT_BALL - jr nc, .notPokeball - ld a, Bank(PinballPokeballShakeGfx) - ld hl, PinballPokeballShakeGfx - ld de, $8380 - ld bc, $0040 - call LoadVRAMData - ret + ld a, [wBallType] + cp GREAT_BALL + jr nc, .notPokeball + ld a, Bank(PinballPokeballShakeGfx) + ld hl, PinballPokeballShakeGfx + ld de, $8380 + ld bc, $0040 + call LoadVRAMData + ret .notPokeball - cp ULTRA_BALL - jr nc, .notGreatball - ld a, Bank(PinballGreatballShakeGfx) - ld hl, PinballGreatballShakeGfx - ld de, $8380 - ld bc, $0040 - call LoadVRAMData - ret + cp ULTRA_BALL + jr nc, .notGreatball + ld a, Bank(PinballGreatballShakeGfx) + ld hl, PinballGreatballShakeGfx + ld de, $8380 + ld bc, $0040 + call LoadVRAMData + ret .notGreatball - cp MASTER_BALL - jr nc, .notUltraBall - ld a, Bank(PinballUltraballShakeGfx) - ld hl, PinballUltraballShakeGfx - ld de, $8380 - ld bc, $0040 - call LoadVRAMData - ret + cp MASTER_BALL + jr nc, .notUltraBall + ld a, Bank(PinballUltraballShakeGfx) + ld hl, PinballUltraballShakeGfx + ld de, $8380 + ld bc, $0040 + call LoadVRAMData + ret .notUltraBall - ld a, Bank(PinballMasterballShakeGfx) - ld hl, PinballMasterballShakeGfx - ld de, $8380 - ld bc, $0040 - call LoadVRAMData - ret + ld a, Bank(PinballMasterballShakeGfx) + ld hl, PinballMasterballShakeGfx + ld de, $8380 + ld bc, $0040 + call LoadVRAMData + ret CapturePokemon: ; 0x1052d - ld a, [wBallCaptureAnimationFrame] - cp $c - jr nz, .asm_10541 - ld a, [wBallCaptureAnimationFrameCounter] - cp $1 - jr nz, .asm_10541 - ld de, $0041 - call PlaySoundEffect + ld a, [wBallCaptureAnimationFrame] + cp $c + jr nz, .asm_10541 + ld a, [wBallCaptureAnimationFrameCounter] + cp $1 + jr nz, .asm_10541 + ld de, $0041 + call PlaySoundEffect .asm_10541 - ld hl, BallCaptureAnimationData - ld de, wBallCaptureAnimationFrameCounter - call UpdateAnimation - ld a, [wBallCaptureAnimationFrameIndex] - cp $1 - jr nz, .asm_1055d - ld a, [wBallCaptureAnimationFrameCounter] - cp $1 - jr nz, .asm_1055d - xor a - ld [$d5bb], a - ret + ld hl, BallCaptureAnimationData + ld de, wBallCaptureAnimationFrameCounter + call UpdateAnimation + ld a, [wBallCaptureAnimationFrameIndex] + cp $1 + jr nz, .asm_1055d + ld a, [wBallCaptureAnimationFrameCounter] + cp $1 + jr nz, .asm_1055d + xor a + ld [$d5bb], a + ret .asm_1055d - ld a, [wBallCaptureAnimationFrameIndex] - cp $15 - ret nz - ld a, [wBallCaptureAnimationFrameCounter] - cp $1 - ret nz - call Func_3475 - ld de, $0000 - call PlaySong - rst $10 - ld de, $2329 - call PlaySoundEffect - call Func_10825 - call Func_3475 - ld a, [wNumPartyMons] - and a - call z, Func_10848 - ld a, $50 - ld [$d4b4], a - ld a, $40 - ld [$d4b6], a - ld a, $80 - ld [wBallXVelocity], a - xor a - ld [wBallXPos], a - ld [wBallYPos], a - ld [$d5f3], a - ld a, $1 - ld [$d548], a - ld [$d549], a - ld [$ff8a], a - ld a, Bank(Func_dc00) - ld hl, Func_dc00 - call BankSwitch - call Func_10157 - ld de, $0001 - call PlaySong - ld hl, $d628 - call Func_e4a - jr nc, .asm_105d1 - ld c, $a - call Func_e55 - ld [$ff8a], a - ld a, Bank(Func_30164) - ld hl, Func_30164 - call z, BankSwitch + ld a, [wBallCaptureAnimationFrameIndex] + cp $15 + ret nz + ld a, [wBallCaptureAnimationFrameCounter] + cp $1 + ret nz + call Func_3475 + ld de, $0000 + call PlaySong + rst $10 + ld de, $2329 + call PlaySoundEffect + call Func_10825 + call Func_3475 + ld a, [wNumPartyMons] + and a + call z, Func_10848 + ld a, $50 + ld [$d4b4], a + ld a, $40 + ld [$d4b6], a + ld a, $80 + ld [wBallXVelocity], a + xor a + ld [wBallXPos], a + ld [wBallYPos], a + ld [$d5f3], a + ld a, $1 + ld [$d548], a + ld [$d549], a + ld [$ff8a], a + ld a, Bank(Func_dc00) + ld hl, Func_dc00 + call BankSwitch + call Func_10157 + ld de, $0001 + call PlaySong + ld hl, $d628 + call Func_e4a + jr nc, .asm_105d1 + ld c, $a + call Func_e55 + ld [$ff8a], a + ld a, Bank(Func_30164) + ld hl, Func_30164 + call z, BankSwitch .asm_105d1 - call SetPokemonOwnedFlag - ld a, [$d624] - cp $3 - ret z - inc a - ld [$d625], a - ld a, $80 - ld [$d626], a - ret + call SetPokemonOwnedFlag + ld a, [$d624] + cp $3 + ret z + inc a + ld [$d625], a + ld a, $80 + ld [$d626], a + ret BallCaptureAnimationData: ; 0x105e4 ; Each entry is [OAM id][duration] - db $05, $00 - db $05, $01 - db $05, $02 - db $04, $03 - db $06, $04 - db $08, $05 - db $07, $06 - db $05, $07 - db $04, $08 - db $04, $09 - db $04, $0A - db $04, $0B - db $24, $0A - db $09, $0C - db $09, $0A - db $09, $0C - db $27, $0A - db $09, $0C - db $09, $0A - db $09, $0C - db $24, $0A - db $01, $0A - db $00 ; terminator + db $05, $00 + db $05, $01 + db $05, $02 + db $04, $03 + db $06, $04 + db $08, $05 + db $07, $06 + db $05, $07 + db $04, $08 + db $04, $09 + db $04, $0A + db $04, $0B + db $24, $0A + db $09, $0C + db $09, $0A + db $09, $0C + db $27, $0A + db $09, $0C + db $09, $0A + db $09, $0C + db $24, $0A + db $01, $0A + db $00 ; terminator Func_10611: ; 0x10611 - and a - ret z - dec a - sla a - ld c, a - ld b, $0 - ld hl, $462a - add hl, bc - ld a, [hli] - ld c, a - ld a, [hl] - ld b, a - ld a, $4 - ld de, $11d2 - call Func_10c5 - ret - -INCBIN "baserom.gbc",$1062a,$10648 - $1062a + and a + ret z + dec a + sla a + ld c, a + ld b, $0 + ld hl, $462a + add hl, bc + ld a, [hli] + ld c, a + ld a, [hl] + ld b, a + ld a, $4 + ld de, $11d2 + call Func_10c5 + ret + + dr $1062a, $10648 Func_10648: ; 0x10648 - call Func_10184 - ld a, [$d54e] - dec a - ld [$d54e], a - jr nz, .asm_10677 - ld a, $14 - ld [$d54e], a - ld hl, $d586 - ld b, $18 + call Func_10184 + ld a, [$d54e] + dec a + ld [$d54e], a + jr nz, .asm_10677 + ld a, $14 + ld [$d54e], a + ld hl, $d586 + ld b, $18 .asm_1065e - ld a, [$d54f] - and $1 - ld [hli], a - xor $1 - ld [hli], a - dec b - jr nz, .asm_1065e - ld a, [$d54f] - dec a - ld [$d54f], a - jr nz, .asm_10677 - ld hl, $d54d - inc [hl] + ld a, [$d54f] + and $1 + ld [hli], a + xor $1 + ld [hli], a + dec b + jr nz, .asm_1065e + ld a, [$d54f] + dec a + ld [$d54f], a + jr nz, .asm_10677 + ld hl, $d54d + inc [hl] .asm_10677 - ret + ret Func_10678: ; 0x10678 - ld a, [wCurrentCatchEmMon] - ld c, a - ld b, $0 - ld hl, MonAnimatedSpriteTypes - add hl, bc - ld a, [hl] - ld [$d5bc], a - ld [$d5bd], a - ld a, $1 - ld [$d5bb], a - xor a - ld [$d5bf], a - ld [wNumMonHits], a - ret + ld a, [wCurrentCatchEmMon] + ld c, a + ld b, $0 + ld hl, MonAnimatedSpriteTypes + add hl, bc + ld a, [hl] + ld [$d5bc], a + ld [$d5bd], a + ld a, $1 + ld [$d5bb], a + xor a + ld [$d5bf], a + ld [wNumMonHits], a + ret Func_10696: ; 0x10696 - call Func_30e8 - call Func_30db - ld hl, $d5cc - ld de, $29b7 - call Func_32aa - ret + call Func_30e8 + call Func_30db + ld hl, $d5cc + ld de, $29b7 + call Func_32aa + ret Func_106a6: ; 0x106a6 - call Func_30e8 - call Func_30db - ld hl, $d5cc - ld de, $29d0 - call Func_32aa - ret + call Func_30e8 + call Func_30db + ld hl, $d5cc + ld de, $29d0 + call Func_32aa + ret Func_106b6: ; 0x106b6 - ld a, [wCurrentCatchEmMon] - ld c, a - ld b, $0 - sla c - rl b - sla c - rl b - sla c - rl b - sla c - rl b ; bc was just multiplied by 16 - ld hl, PokemonNames + 1 - add hl, bc - ld de, $2a67 ; todo "You got an" - ld bc, $2a91 ; todo - ld a, [hl] - ; check if mon's name starts with a vowel, so it can print "an", instead of "a" - cp "A" - jr z, .asm_106f1 - cp "I" - jr z, .asm_106f1 - cp "U" - jr z, .asm_106f1 - cp "E" - jr z, .asm_106f1 - cp "O" - jr z, .asm_106f1 - ld de, $2a56 ; todo "You got a" - ld bc, $2a79 + ld a, [wCurrentCatchEmMon] + ld c, a + ld b, $0 + sla c + rl b + sla c + rl b + sla c + rl b + sla c + rl b ; bc was just multiplied by 16 + ld hl, PokemonNames + 1 + add hl, bc + ld de, $2a67 ; todo "You got an" + ld bc, $2a91 ; todo + ld a, [hl] + ; check if mon's name starts with a vowel, so it can print "an", instead of "a" + cp "A" + jr z, .asm_106f1 + cp "I" + jr z, .asm_106f1 + cp "U" + jr z, .asm_106f1 + cp "E" + jr z, .asm_106f1 + cp "O" + jr z, .asm_106f1 + ld de, $2a56 ; todo "You got a" + ld bc, $2a79 .asm_106f1 - push hl - push bc - push de - call Func_30e8 - call Func_30db - ld hl, $d5cc - pop de - call Func_32aa - ld hl, $d5d4 - pop de - call Func_32aa - pop hl - ld de, $c520 - ld b, $0 ; count the number of letters in mon's name in register b + push hl + push bc + push de + call Func_30e8 + call Func_30db + ld hl, $d5cc + pop de + call Func_32aa + ld hl, $d5d4 + pop de + call Func_32aa + pop hl + ld de, $c520 + ld b, $0 ; count the number of letters in mon's name in register b .readLetter - ld a, [hli] - and a - jr z, .endOfName - ld [de], a - inc de - inc b - jr .readLetter + ld a, [hli] + and a + jr z, .endOfName + ld [de], a + inc de + inc b + jr .readLetter .endOfName - ld a, $20 - ld [de], a - inc de - xor a - ld [de], a - ld a, [$d5db] - add b - ld [$d5db], a - ld a, $14 - sub b - srl a - ld b, a - ld a, [$d5d8] - add b - ld [$d5d8], a - ret + ld a, $20 + ld [de], a + inc de + xor a + ld [de], a + ld a, [$d5db] + add b + ld [$d5db], a + ld a, $14 + sub b + srl a + ld b, a + ld a, [$d5d8] + add b + ld [$d5d8], a + ret Func_10732: ; 0x10732 - ld a, [wCurrentCatchEmMon] - inc a - ld e, a - ld d, $0 - call PlayCry - ret + ld a, [wCurrentCatchEmMon] + inc a + ld e, a + ld d, $0 + call PlayCry + ret AddCaughtPokemonToParty: ; 0x1073d - ld a, [wNumPartyMons] - ld c, a - ld b, $0 - ld hl, wPartyMons - add hl, bc - ld a, [wCurrentCatchEmMon] - ld [hl], a - ld a, [wNumPartyMons] - inc a - ld [wNumPartyMons], a - ret + ld a, [wNumPartyMons] + ld c, a + ld b, $0 + ld hl, wPartyMons + add hl, bc + ld a, [wCurrentCatchEmMon] + ld [hl], a + ld a, [wNumPartyMons] + inc a + ld [wNumPartyMons], a + ret SetPokemonSeenFlag: ; 0x10753 - ld a, [wSpecialMode] - and a - ld a, [wCurrentCatchEmMon] - jr z, .asm_10766 - ld a, [wCurrentEvolutionMon] - cp $ff - jr nz, .asm_10766 - ld a, [wCurrentCatchEmMon] + ld a, [wSpecialMode] + and a + ld a, [wCurrentCatchEmMon] + jr z, .asm_10766 + ld a, [wCurrentEvolutionMon] + cp $ff + jr nz, .asm_10766 + ld a, [wCurrentCatchEmMon] .asm_10766 - ld c, a - ld b, $0 - ld hl, wPokedexFlags - add hl, bc - set 0, [hl] - ld hl, wPokedexFlags - ld de, $a10c - ld bc, $0098 - call SaveData - ret + ld c, a + ld b, $0 + ld hl, wPokedexFlags + add hl, bc + set 0, [hl] + ld hl, wPokedexFlags + ld de, $a10c + ld bc, $0098 + call SaveData + ret SetPokemonOwnedFlag: ; 0x1077c - ld a, [wSpecialMode] - and a - ld a, [wCurrentCatchEmMon] - jr z, .asm_1078f - ld a, [wCurrentEvolutionMon] - cp $ff - jr nz, .asm_1078f - ld a, [wCurrentCatchEmMon] + ld a, [wSpecialMode] + and a + ld a, [wCurrentCatchEmMon] + jr z, .asm_1078f + ld a, [wCurrentEvolutionMon] + cp $ff + jr nz, .asm_1078f + ld a, [wCurrentCatchEmMon] .asm_1078f - ld c, a - ld b, $0 - ld hl, wPokedexFlags - add hl, bc - set 1, [hl] - ld hl, wPokedexFlags - ld de, $a10c - ld bc, $0098 - call SaveData - ret + ld c, a + ld b, $0 + ld hl, wPokedexFlags + add hl, bc + set 1, [hl] + ld hl, wPokedexFlags + ld de, $a10c + ld bc, $0098 + call SaveData + ret Func_107a5: ; 0x107a5 - xor a - ld hl, wIndicatorStates - ld b, $13 + xor a + ld hl, wIndicatorStates + ld b, $13 .asm_107ab - ld [hli], a - dec b - jr nz, .asm_107ab - ret + ld [hli], a + dec b + jr nz, .asm_107ab + ret Func_107b0: ; 0x107b0 - xor a - ld [$d604], a - ld [wIndicatorStates + 4], a - ld [$ff8a], a - ld a, Bank(Func_16425) - ld hl, Func_16425 - call BankSwitch - ret + xor a + ld [$d604], a + ld [wIndicatorStates + 4], a + ld [$ff8a], a + ld a, Bank(Func_16425) + ld hl, Func_16425 + call BankSwitch + ret Func_107c2: ; 0x107c2 - ld a, $1e - ld [$d607], a - ret + ld a, $1e + ld [$d607], a + ret Func_107c8: ; 0x107c8 - ld a, [wRightAlleyCount] - cp $3 - jr z, .asm_107d1 - set 7, a + ld a, [wRightAlleyCount] + cp $3 + jr z, .asm_107d1 + set 7, a .asm_107d1 - ld [wIndicatorStates + 1], a - ld a, [wRightAlleyCount] - cp $2 - jr c, .asm_107e0 - ld a, $80 - ld [wIndicatorStates + 3], a + ld [wIndicatorStates + 1], a + ld a, [wRightAlleyCount] + cp $2 + jr c, .asm_107e0 + ld a, $80 + ld [wIndicatorStates + 3], a .asm_107e0 - ld a, [wLeftAlleyCount] - set 7, a - ld [wIndicatorStates], a - ret + ld a, [wLeftAlleyCount] + set 7, a + ld [wIndicatorStates], a + ret Func_107e9: ; 0x107e9 - ld a, [wLeftAlleyCount] - cp $3 - ld a, $4 - jr nz, .asm_107f4 - ld a, $6 + ld a, [wLeftAlleyCount] + cp $3 + ld a, $4 + jr nz, .asm_107f4 + ld a, $6 .asm_107f4 - ld [$d7ad], a - ret + ld [$d7ad], a + ret Func_107f8: ; 0x107f8 - ld a, [wTimerFrames] - and a - ret nz - ld a, [wTimerMinutes] - and a - ret nz - ld a, [wTimerSeconds] - cp $20 - jr nz, .asm_10810 - ld de, $0749 - call PlaySoundEffect - ret + ld a, [wTimerFrames] + and a + ret nz + ld a, [wTimerMinutes] + and a + ret nz + ld a, [wTimerSeconds] + cp $20 + jr nz, .asm_10810 + ld de, $0749 + call PlaySoundEffect + ret .asm_10810 - cp $10 - jr nz, .asm_1081b - ld de, $0a4a - call PlaySoundEffect - ret + cp $10 + jr nz, .asm_1081b + ld de, $0a4a + call PlaySoundEffect + ret .asm_1081b - cp $5 - ret nz - ld de, $0d4b - call PlaySoundEffect - ret + cp $5 + ret nz + ld de, $0d4b + call PlaySoundEffect + ret Func_10825: ; 0x10825 - call Func_3556 - push bc - push de - call Func_351c - call Func_30e8 - call Func_30db - ld hl, $d5e9 - ld de, $2a50 - call Func_3372 - pop de - pop bc - ld hl, $d5e4 - ld de, $2a43 - call Func_3357 - ret + call Func_3556 + push bc + push de + call Func_351c + call Func_30e8 + call Func_30db + ld hl, $d5e9 + ld de, $2a50 + call Func_3372 + pop de + pop bc + ld hl, $d5e4 + ld de, $2a43 + call Func_3357 + ret Func_10848: ; 0x10848 - ld bc, $34fa - ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch - call Func_30e8 - call Func_30db - ld hl, $d5d4 - ld de, $2a0c - call Func_32aa - ld hl, $d5cc - ld de, $29e8 - call Func_32aa - call Func_3475 - ret + ld bc, $34fa + ld [$ff8a], a + ld a, Bank(Func_8588) + ld hl, Func_8588 + call BankSwitch + call Func_30e8 + call Func_30db + ld hl, $d5d4 + ld de, $2a0c + call Func_32aa + ld hl, $d5cc + ld de, $29e8 + call Func_32aa + call Func_3475 + ret Func_10871: ; 0x10871 - ld a, [wCurrentCatchEmMon] - ld c, a - ld b, $0 - ld hl, EvolutionLineIds - add hl, bc - ld a, [hl] ; a contains evolution line id - ld c, a - ld b, $0 - ld l, c - ld h, b - sla l - rl h - sla l - rl h - sla l - rl h - sla l - rl h - add hl, bc - add hl, bc - add hl, bc - ld c, l - ld b, h - ld hl, CatchEmModeInitialIndicatorStates - add hl, bc - ld de, wIndicatorStates - ld b, $13 ; number of indicators + ld a, [wCurrentCatchEmMon] + ld c, a + ld b, $0 + ld hl, EvolutionLineIds + add hl, bc + ld a, [hl] ; a contains evolution line id + ld c, a + ld b, $0 + ld l, c + ld h, b + sla l + rl h + sla l + rl h + sla l + rl h + sla l + rl h + add hl, bc + add hl, bc + add hl, bc + ld c, l + ld b, h + ld hl, CatchEmModeInitialIndicatorStates + add hl, bc + ld de, wIndicatorStates + ld b, $13 ; number of indicators .loop - ld a, [hli] - ld [de], a - inc de - dec b - jr nz, .loop - xor a - ld [wRightAlleyCount], a - call Func_107b0 - ld a, $4 - ld [$d7ad], a - ld de, $0002 - call PlaySong - ld a, [wCurrentStage] - bit 0, a - jr nz, .asm_108d3 - ld [$ff8a], a - ld a, Bank(LoadStageCollisionAttributes) - ld hl, LoadStageCollisionAttributes - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_159f4) - ld hl, Func_159f4 - call BankSwitch - ret + ld a, [hli] + ld [de], a + inc de + dec b + jr nz, .loop + xor a + ld [wRightAlleyCount], a + call Func_107b0 + ld a, $4 + ld [$d7ad], a + ld de, $0002 + call PlaySong + ld a, [wCurrentStage] + bit 0, a + jr nz, .asm_108d3 + ld [$ff8a], a + ld a, Bank(LoadStageCollisionAttributes) + ld hl, LoadStageCollisionAttributes + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_159f4) + ld hl, Func_159f4 + call BankSwitch + ret .asm_108d3 - ld [$ff8a], a - ld a, Bank(Func_14135) - ld hl, Func_14135 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_10184) - ld hl, Func_10184 - call BankSwitch - ld a, [hGameBoyColorFlag] - and a - ld [$ff8a], a - ld a, Bank(Func_102bc) - ld hl, Func_102bc - call nz, BankSwitch - ret + ld [$ff8a], a + ld a, Bank(Func_14135) + ld hl, Func_14135 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_10184) + ld hl, Func_10184 + call BankSwitch + ld a, [hGameBoyColorFlag] + and a + ld [$ff8a], a + ld a, Bank(Func_102bc) + ld hl, Func_102bc + call nz, BankSwitch + ret Func_108f5: ; 0x108f5 - call Func_107a5 - call Func_107c2 - call Func_107c8 - call Func_107e9 - ld a, [wCurrentStage] - bit 0, a - ret z - ld [$ff8a], a - ld a, Bank(Func_14135) - ld hl, Func_14135 - call BankSwitch - call Func_10432 - ld [$ff8a], a - ld a, Bank(Func_30253) - ld hl, Func_30253 - call BankSwitch - ld a, $36 - ld hl, $6c00 - ld de, $81a0 - ld bc, $0160 - call LoadVRAMData - ld a, $36 - ld hl, $6de0 - ld de, $8380 - ld bc, $0020 - call LoadVRAMData - ld hl, $4958 - ld a, $4 - call Func_10aa - ld a, [$d624] - ld [$ff8a], a - ld a, Bank(Func_174d4) - ld hl, Func_174d4 - call BankSwitch - ld hl, $497d - ld a, $4 - call Func_10aa - ret - -INCBIN "baserom.gbc",$10958,$1098a - $10958 + call Func_107a5 + call Func_107c2 + call Func_107c8 + call Func_107e9 + ld a, [wCurrentStage] + bit 0, a + ret z + ld [$ff8a], a + ld a, Bank(Func_14135) + ld hl, Func_14135 + call BankSwitch + call Func_10432 + ld [$ff8a], a + ld a, Bank(Func_30253) + ld hl, Func_30253 + call BankSwitch + ld a, $36 + ld hl, $6c00 + ld de, $81a0 + ld bc, $0160 + call LoadVRAMData + ld a, $36 + ld hl, $6de0 + ld de, $8380 + ld bc, $0020 + call LoadVRAMData + ld hl, $4958 + ld a, $4 + call Func_10aa + ld a, [$d624] + ld [$ff8a], a + ld a, Bank(Func_174d4) + ld hl, Func_174d4 + call BankSwitch + ld hl, $497d + ld a, $4 + call Func_10aa + ret + + dr $10958, $1098a Func_1098a: ; 0x1098a - ret + ret Func_1098b: ; 0x1098b - ret - -INCBIN "baserom.gbc",$1098c,$1098c - $1098c + ret Func_1098c: ; 0x1098c - ld a, [wCurrentCatchEmMon] - ld c, a - ld b, $0 - ld hl, EvolutionLineIds - add hl, bc - ld a, [hl] - ld c, a - ld b, $0 - ld l, c - ld h, b - sla l - rl h - sla l - rl h - sla l - rl h - sla l - rl h - add hl, bc - add hl, bc - add hl, bc - ld c, l - ld b, h - ld hl, CatchEmModeInitialIndicatorStates - add hl, bc - ld de, wIndicatorStates - ld b, $13 ; number of indicators + ld a, [wCurrentCatchEmMon] + ld c, a + ld b, $0 + ld hl, EvolutionLineIds + add hl, bc + ld a, [hl] + ld c, a + ld b, $0 + ld l, c + ld h, b + sla l + rl h + sla l + rl h + sla l + rl h + sla l + rl h + add hl, bc + add hl, bc + add hl, bc + ld c, l + ld b, h + ld hl, CatchEmModeInitialIndicatorStates + add hl, bc + ld de, wIndicatorStates + ld b, $13 ; number of indicators .loop - ld a, [hli] - ld [de], a - inc de - dec b - jr nz, .loop - xor a - ld [wRightAlleyCount], a - ld [$ff8a], a - ld a, Bank(Func_1f2ed) - ld hl, Func_1f2ed - call BankSwitch - ld de, $0002 - call PlaySong - ld a, [wCurrentStage] - bit 0, a - ret z - ld [$ff8a], a - ld a, Bank(Func_1c2cb) - ld hl, Func_1c2cb - call BankSwitch - ld [$ff8a], a - ld a, $4 - ld hl, Func_10184 - call BankSwitch - ld a, [hGameBoyColorFlag] - and a - ld [$ff8a], a - ld a, Bank(Func_102bc) - ld hl, Func_102bc - call nz, BankSwitch - ret + ld a, [hli] + ld [de], a + inc de + dec b + jr nz, .loop + xor a + ld [wRightAlleyCount], a + ld [$ff8a], a + ld a, Bank(Func_1f2ed) + ld hl, Func_1f2ed + call BankSwitch + ld de, $0002 + call PlaySong + ld a, [wCurrentStage] + bit 0, a + ret z + ld [$ff8a], a + ld a, Bank(Func_1c2cb) + ld hl, Func_1c2cb + call BankSwitch + ld [$ff8a], a + ld a, $4 + ld hl, Func_10184 + call BankSwitch + ld a, [hGameBoyColorFlag] + and a + ld [$ff8a], a + ld a, Bank(Func_102bc) + ld hl, Func_102bc + call nz, BankSwitch + ret Func_109fc: ; 0x109fc - call Func_107a5 - call Func_107c2 - ld [$ff8a], a - ld a, Bank(Func_1f2ff) - ld hl, Func_1f2ff - call BankSwitch - ld a, [wCurrentStage] - bit 0, a - ret z - ld [$ff8a], a - ld a, Bank(Func_1c2cb) - ld hl, Func_1c2cb - call BankSwitch - call Func_10432 - ld [$ff8a], a - ld a, Bank(Func_30253) - ld hl, Func_30253 - call BankSwitch - ld a, $36 - ld hl, $6c00 - ld de, $81a0 - ld bc, $0160 - call LoadVRAMData - ld a, $36 - ld hl, $6de0 - ld de, $8380 - ld bc, $0020 - call LoadVRAMData - ld hl, $4a63 - ld a, $4 - call Func_10aa - ld a, [$d624] - ld [$ff8a], a - ld a, Bank(Func_174d4) - ld hl, Func_174d4 - call BankSwitch - ld hl, $4a88 - ld a, $4 - call Func_10aa - ret - -INCBIN "baserom.gbc",$10a63,$10a95 - $10a63 + call Func_107a5 + call Func_107c2 + ld [$ff8a], a + ld a, Bank(Func_1f2ff) + ld hl, Func_1f2ff + call BankSwitch + ld a, [wCurrentStage] + bit 0, a + ret z + ld [$ff8a], a + ld a, Bank(Func_1c2cb) + ld hl, Func_1c2cb + call BankSwitch + call Func_10432 + ld [$ff8a], a + ld a, Bank(Func_30253) + ld hl, Func_30253 + call BankSwitch + ld a, $36 + ld hl, $6c00 + ld de, $81a0 + ld bc, $0160 + call LoadVRAMData + ld a, $36 + ld hl, $6de0 + ld de, $8380 + ld bc, $0020 + call LoadVRAMData + ld hl, $4a63 + ld a, $4 + call Func_10aa + ld a, [$d624] + ld [$ff8a], a + ld a, Bank(Func_174d4) + ld hl, Func_174d4 + call BankSwitch + ld hl, $4a88 + ld a, $4 + call Func_10aa + ret + + dr $10a63, $10a95 Func_10a95: ; 0x19a95 - ld a, [wCurrentStage] - call CallInFollowingTable + ld a, [wCurrentStage] + call CallInFollowingTable PointerTable_10a9b: ; 0x10a9b - ; STAGE_RED_FIELD_TOP - dw Func_20581 - db Bank(Func_20581), $00 + ; STAGE_RED_FIELD_TOP + dw Func_20581 + db Bank(Func_20581), $00 - ; STAGE_RED_FIELD_BOTTOM - dw Func_20581 - db Bank(Func_20581), $00 + ; STAGE_RED_FIELD_BOTTOM + dw Func_20581 + db Bank(Func_20581), $00 - dw Func_20581 - db Bank(Func_20581), $00 + dw Func_20581 + db Bank(Func_20581), $00 - dw Func_20581 - db Bank(Func_20581), $00 + dw Func_20581 + db Bank(Func_20581), $00 - ; STAGE_BLUE_FIELD_TOP - dw Func_20bae - db Bank(Func_20bae), $00 + ; STAGE_BLUE_FIELD_TOP + dw Func_20bae + db Bank(Func_20bae), $00 - ; STAGE_BLUE_FIELD_BOTTOM - dw Func_20bae - db Bank(Func_20bae), $00 + ; STAGE_BLUE_FIELD_BOTTOM + dw Func_20bae + db Bank(Func_20bae), $00 Func_10ab3: ; 0x10ab3 - ld a, [wInSpecialMode] - and a - ret nz - ld a, [wCurrentStage] - rst $18 ; calls JumpToFuncInTable + ld a, [wInSpecialMode] + and a + ret nz + ld a, [wCurrentStage] + rst $18 ; calls JumpToFuncInTable CallTable_10abc: ; 0x10abc - ; STAGE_RED_FIELD_TOP - dw Func_10ebb + ; STAGE_RED_FIELD_TOP + dw Func_10ebb - ; STAGE_RED_FIELD_BOTTOM - dw Func_10ebb + ; STAGE_RED_FIELD_BOTTOM + dw Func_10ebb - dw Func_11054 + dw Func_11054 - dw Func_11054 + dw Func_11054 - ; STAGE_BLUE_FIELD_TOP - dw Func_11061 + ; STAGE_BLUE_FIELD_TOP + dw Func_11061 - ; STAGE_BLUE_FIELD_BOTTOM - dw Func_11061 + ; STAGE_BLUE_FIELD_BOTTOM + dw Func_11061 Func_10ac8: ; 0x10ac8 - xor a - ld [$d5ca], a - call Func_30e8 - xor a - ld [wInSpecialMode], a - ld [$d5bb], a - ld [$d5b6], a - ld [wNumMonHits], a - ld [$d551], a - ld [$d554], a - call Func_10488 - ld [$ff8a], a - ld a, Bank(Func_86d2) - ld hl, Func_86d2 - call BankSwitch - ld a, [wCurrentStage] - rst $18 ; calls JumpToFuncInTable + xor a + ld [$d5ca], a + call Func_30e8 + xor a + ld [wInSpecialMode], a + ld [$d5bb], a + ld [$d5b6], a + ld [wNumMonHits], a + ld [$d551], a + ld [$d554], a + call Func_10488 + ld [$ff8a], a + ld a, Bank(Func_86d2) + ld hl, Func_86d2 + call BankSwitch + ld a, [wCurrentStage] + rst $18 ; calls JumpToFuncInTable CallTable_10af3: ; 0x10af3 - ; STAGE_RED_FIELD_TOP - dw Func_10fe3 + ; STAGE_RED_FIELD_TOP + dw Func_10fe3 - ; STAGE_RED_FIELD_BOTTOM - dw Func_10fe3 + ; STAGE_RED_FIELD_BOTTOM + dw Func_10fe3 - dw Func_11060 + dw Func_11060 - dw Func_11060 + dw Func_11060 - ; STAGE_BLUE_FIELD_TOP - dw Func_11195 + ; STAGE_BLUE_FIELD_TOP + dw Func_11195 - ; STAGE_BLUE_FIELD_TOP - dw Func_11195 + ; STAGE_BLUE_FIELD_TOP + dw Func_11195 Func_10aff: ; 0x10aff - ld a, [wCurrentStage] - res 0, a - ld c, a - ld b, $0 - srl c - sla a - sla a - sla a - sub c - ld c, a - ld hl, VideoData_10b2a - add hl, bc - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hli] - push af - push bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - pop hl - pop af - call LoadVRAMData - ret + ld a, [wCurrentStage] + res 0, a + ld c, a + ld b, $0 + srl c + sla a + sla a + sla a + sub c + ld c, a + ld hl, VideoData_10b2a + add hl, bc + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hli] + push af + push bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + pop hl + pop af + call LoadVRAMData + ret VideoData_10b2a: ; 0x10b2a - dwb $7A00, $25 - dw $8900 - dw $E0 + dwb $7A00, $25 + dw $8900 + dw $E0 - dwb $7A00, $25 - dw $8900 - dw $E0 + dwb $7A00, $25 + dw $8900 + dw $E0 - dwb $7A00, $25 - dw $8900 - dw $E0 + dwb $7A00, $25 + dw $8900 + dw $E0 Func_10b3f: ; 0x10b3f - call Func_30e8 - call Func_30db - ld hl, $d5cc - ld a, [wCurrentEvolutionType] - cp EVO_EXPERIENCE - ld de, $2aa9 - jr z, .asm_10b55 - ld de, $2abf + call Func_30e8 + call Func_30db + ld hl, $d5cc + ld a, [wCurrentEvolutionType] + cp EVO_EXPERIENCE + ld de, $2aa9 + jr z, .asm_10b55 + ld de, $2abf .asm_10b55 - call Func_32aa - ret + call Func_32aa + ret Func_10b59: ; 0x10b59 - xor a - ld [$d4aa], a - ld hl, wcBottomMessageText - ld a, $81 - ld b, $30 + xor a + ld [$d4aa], a + ld hl, wcBottomMessageText + ld a, $81 + ld b, $30 .asm_10b64 - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - dec b - jr nz, .asm_10b64 - ld hl, wPartyMons - call Func_10b8e - ld a, $35 - ld hl, $6450 - ld de, $8880 - ld bc, $0030 - call LoadVRAMData - ld a, $0 - ld hl, wcBottomMessageText - ld de, $9c00 - ld bc, $00c0 - call LoadVRAMData - ret + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + dec b + jr nz, .asm_10b64 + ld hl, wPartyMons + call Func_10b8e + ld a, $35 + ld hl, $6450 + ld de, $8880 + ld bc, $0030 + call LoadVRAMData + ld a, $0 + ld hl, wcBottomMessageText + ld de, $9c00 + ld bc, $00c0 + call LoadVRAMData + ret Func_10b8e: ; 0x10b8e - ld a, [wNumPartyMons] - ld c, $0 - ld b, a + ld a, [wNumPartyMons] + ld c, $0 + ld b, a .asm_10b94 - ld a, [hli] - call Func_10ba2 - inc c - ld a, c - cp $6 - jr z, .asm_10ba1 - dec b - jr nz, .asm_10b94 + ld a, [hli] + call Func_10ba2 + inc c + ld a, c + cp $6 + jr z, .asm_10ba1 + dec b + jr nz, .asm_10b94 .asm_10ba1 - ret + ret Func_10ba2: ; 0x10ba2 - push bc - push hl - swap c - sla c - ld b, $0 - ld hl, wcBottomMessageText - add hl, bc - ld d, h - ld e, l - ld c, a - ld b, $0 - sla c - rl b - sla c - rl b - sla c - rl b - sla c - rl b - ld hl, PokemonNames - add hl, bc - ld a, $81 - ld [de], a - inc de - ld a, $81 - ld [de], a - inc de - ld a, $81 - ld [de], a - inc de - ld a, $81 - ld [de], a - inc de - call Func_3125 + push bc + push hl + swap c + sla c + ld b, $0 + ld hl, wcBottomMessageText + add hl, bc + ld d, h + ld e, l + ld c, a + ld b, $0 + sla c + rl b + sla c + rl b + sla c + rl b + sla c + rl b + ld hl, PokemonNames + add hl, bc + ld a, $81 + ld [de], a + inc de + ld a, $81 + ld [de], a + inc de + ld a, $81 + ld [de], a + inc de + ld a, $81 + ld [de], a + inc de + call Func_3125 .asm_10bda - ld a, e - and $1f - cp $14 - jr nc, .asm_10be7 - ld a, $81 - ld [de], a - inc de - jr .asm_10bda + ld a, e + and $1f + cp $14 + jr nc, .asm_10be7 + ld a, $81 + ld [de], a + inc de + jr .asm_10bda .asm_10be7 - pop hl - pop bc - ret + pop hl + pop bc + ret Func_10bea: ; 0x10bea - xor a - ld [$d461], a - ld [$d462], a - ld [$d463], a + xor a + ld [$d461], a + ld [$d462], a + ld [$d463], a .asm_10bf4 - call Func_10c0c - call Func_b2e - call Func_10c38 - rst $10 - ld a, [$d809] - bit 0, a - jr z, .asm_10bf4 - ld de, $0001 - call PlaySoundEffect - ret + call Func_10c0c + call Func_b2e + call Func_10c38 + rst $10 + ld a, [$d809] + bit 0, a + jr z, .asm_10bf4 + ld de, $0001 + call PlaySoundEffect + ret Func_10c0c: ; 0x10c0c - ld a, [$d80a] - ld b, a - ld a, [wNumPartyMons] - ld c, a - ld a, [$d461] - bit 6, b - jr z, .asm_10c28 - and a - ret z - dec a - ld [$d461], a - ld de, $0003 - call PlaySoundEffect - ret + ld a, [$d80a] + ld b, a + ld a, [wNumPartyMons] + ld c, a + ld a, [$d461] + bit 6, b + jr z, .asm_10c28 + and a + ret z + dec a + ld [$d461], a + ld de, $0003 + call PlaySoundEffect + ret .asm_10c28 - bit 7, b - ret z - inc a - cp c - ret z - ld [$d461], a - ld de, $0003 - call PlaySoundEffect - ret + bit 7, b + ret z + inc a + cp c + ret z + ld [$d461], a + ld de, $0003 + call PlaySoundEffect + ret Func_10c38: ; 0x10c38 - ld a, [$d461] - ld hl, $d462 - sub [hl] - jr nc, .asm_10c45 - dec [hl] - xor a - jr .asm_10c4c + ld a, [$d461] + ld hl, $d462 + sub [hl] + jr nc, .asm_10c45 + dec [hl] + xor a + jr .asm_10c4c .asm_10c45 - cp $6 - jr c, .asm_10c4c - inc [hl] - ld a, $5 + cp $6 + jr c, .asm_10c4c + inc [hl] + ld a, $5 .asm_10c4c - ld c, a - push bc - ld a, [hl] - ld c, a - ld b, $0 - ld hl, wPartyMons - add hl, bc - call Func_10b8e - ld a, [hJoypadState] - and a - ld a, [$d463] - jr z, .asm_10c62 - xor a + ld c, a + push bc + ld a, [hl] + ld c, a + ld b, $0 + ld hl, wPartyMons + add hl, bc + call Func_10b8e + ld a, [hJoypadState] + and a + ld a, [$d463] + jr z, .asm_10c62 + xor a .asm_10c62 - inc a - ld [$d463], a - bit 3, a - pop bc - jr nz, .asm_10c78 - swap c - sla c - ld b, $0 - ld hl, $c503 - add hl, bc - ld a, $88 - ld [hl], a + inc a + ld [$d463], a + bit 3, a + pop bc + jr nz, .asm_10c78 + swap c + sla c + ld b, $0 + ld hl, $c503 + add hl, bc + ld a, $88 + ld [hl], a .asm_10c78 - ld a, [$d462] - and a - jr z, .asm_10c83 - ld a, $8a - ld [$c511], a + ld a, [$d462] + and a + jr z, .asm_10c83 + ld a, $8a + ld [$c511], a .asm_10c83 - ld a, [$d462] - add $7 - jr z, .asm_10c96 - ld c, a - ld a, [wNumPartyMons] - cp c - jr c, .asm_10c96 - ld a, $89 - ld [$c5b1], a + ld a, [$d462] + add $7 + jr z, .asm_10c96 + ld c, a + ld a, [wNumPartyMons] + cp c + jr c, .asm_10c96 + ld a, $89 + ld [$c5b1], a .asm_10c96 - ld a, $0 - ld hl, wcBottomMessageText - ld de, $9c00 - ld bc, $00c0 - call LoadVRAMData - ret + ld a, $0 + ld hl, wcBottomMessageText + ld de, $9c00 + ld bc, $00c0 + call LoadVRAMData + ret Func_10ca5: ; 0x10ca5 - ld a, [$d461] - ld c, a - ld b, $0 - ld hl, wPartyMons - add hl, bc - ld a, [wCurrentEvolutionMon] - cp $ff - ret z - ld [hl], a - ret + ld a, [$d461] + ld c, a + ld b, $0 + ld hl, wPartyMons + add hl, bc + ld a, [wCurrentEvolutionMon] + cp $ff + ret z + ld [hl], a + ret Func_10cb7: ; 0x10cb7 - call Func_30e8 - call Func_10b59 - ld a, $60 - ld [$ffa6], a - dec a - ld [$ffa2], a - ld a, $fd - ld [$ffaf], a - call Func_10bea - ld a, $86 - ld [$ffa6], a - ld a, $83 - ld [$ffa2], a - ld [$ffa8], a - ld a, $ff - ld [$ffaf], a - ld a, [hGameBoyColorFlag] - and a - jr nz, .asm_10cee - ld a, $18 - ld hl, $7080 - ld de, $8880 - ld bc, $0030 - call LoadVRAMData - jr .asm_10cfc + call Func_30e8 + call Func_10b59 + ld a, $60 + ld [$ffa6], a + dec a + ld [$ffa2], a + ld a, $fd + ld [$ffaf], a + call Func_10bea + ld a, $86 + ld [$ffa6], a + ld a, $83 + ld [$ffa2], a + ld [$ffa8], a + ld a, $ff + ld [$ffaf], a + ld a, [hGameBoyColorFlag] + and a + jr nz, .asm_10cee + ld a, $18 + ld hl, $7080 + ld de, $8880 + ld bc, $0030 + call LoadVRAMData + jr .asm_10cfc .asm_10cee - ld a, $27 - ld hl, $4080 - ld de, $8880 - ld bc, $0030 - call LoadVRAMData + ld a, $27 + ld hl, $4080 + ld de, $8880 + ld bc, $0030 + call LoadVRAMData .asm_10cfc - call Func_30e8 - ld a, $1 - ld [$d4aa], a - ld [wInSpecialMode], a - ld [wSpecialMode], a - xor a - ld [$d54d], a - ld a, [$d461] - ld c, a - ld b, $0 - ld hl, wPartyMons - add hl, bc - ld a, [hl] - ld [wCurrentCatchEmMon], a - ret + call Func_30e8 + ld a, $1 + ld [$d4aa], a + ld [wInSpecialMode], a + ld [wSpecialMode], a + xor a + ld [$d54d], a + ld a, [$d461] + ld c, a + ld b, $0 + ld hl, wPartyMons + add hl, bc + ld a, [hl] + ld [wCurrentCatchEmMon], a + ret Func_10d1d: ; 0x10d1d - ld hl, $d586 - ld b, $18 + ld hl, $d586 + ld b, $18 .asm_10d22 - ld a, $1 - ld [hli], a - xor a - ld [hli], a - dec b - jr nz, .asm_10d22 - ld a, [wCurrentCatchEmMon] - ld c, a - ld b, $0 - ld hl, Data_1298b - add hl, bc - ld a, [hl] - add $2 - ld [$d555], a - xor a - ld hl, $d566 - ld b, $13 + ld a, $1 + ld [hli], a + xor a + ld [hli], a + dec b + jr nz, .asm_10d22 + ld a, [wCurrentCatchEmMon] + ld c, a + ld b, $0 + ld hl, Data_1298b + add hl, bc + ld a, [hl] + add $2 + ld [$d555], a + xor a + ld hl, $d566 + ld b, $13 .asm_10d40 - ld [hli], a - dec b - jr nz, .asm_10d40 - ld a, [wCurrentCatchEmMon] - ld c, a - ld b, $0 - sla c - rl b - ld hl, CatchEmTimerData - add hl, bc - ld a, [hli] - ld c, a - ld a, [hl] - ld b, a - ld [$ff8a], a - ld a, Bank(StartTimer) - ld hl, StartTimer - call BankSwitch - ld a, [wCurrentCatchEmMon] - ld c, a - ld b, $0 - sla c ; multiply mon id by 6 - rl b - add c - ld c, a - jr nc, .noCarry - inc b + ld [hli], a + dec b + jr nz, .asm_10d40 + ld a, [wCurrentCatchEmMon] + ld c, a + ld b, $0 + sla c + rl b + ld hl, CatchEmTimerData + add hl, bc + ld a, [hli] + ld c, a + ld a, [hl] + ld b, a + ld [$ff8a], a + ld a, Bank(StartTimer) + ld hl, StartTimer + call BankSwitch + ld a, [wCurrentCatchEmMon] + ld c, a + ld b, $0 + sla c ; multiply mon id by 6 + rl b + add c + ld c, a + jr nc, .noCarry + inc b .noCarry - sla c - rl b - ld hl, MonEvolutions - add hl, bc - push hl - ld bc, $03ff + sla c + rl b + ld hl, MonEvolutions + add hl, bc + push hl + ld bc, $03ff .countMonEvolutionsLoop - ld a, [hli] - and a - jr z, .noEvolution - inc c + ld a, [hli] + and a + jr z, .noEvolution + inc c .noEvolution - inc hl - dec b - jr nz, .countMonEvolutionsLoop - ld a, c - cp $ff - jr nz, .asm_10d8a - xor a + inc hl + dec b + jr nz, .countMonEvolutionsLoop + ld a, c + cp $ff + jr nz, .asm_10d8a + xor a .asm_10d8a - call Func_a21 - sla a - ld c, a - pop hl - add hl, bc ; hl points to one of three entries in mon's evolution data - ld a, [hli] ; a = mon id of evolution - dec a - ld [wCurrentEvolutionMon], a - ld a, [hl] ; a = evoluion type id - ld [wCurrentEvolutionType], a - xor a - ld [$d554], a - ld [$d556], a - ld [$d557], a - ld hl, $d55c - ld a, $1 - ld b, $3 + call Func_a21 + sla a + ld c, a + pop hl + add hl, bc ; hl points to one of three entries in mon's evolution data + ld a, [hli] ; a = mon id of evolution + dec a + ld [wCurrentEvolutionMon], a + ld a, [hl] ; a = evoluion type id + ld [wCurrentEvolutionType], a + xor a + ld [$d554], a + ld [$d556], a + ld [$d557], a + ld hl, $d55c + ld a, $1 + ld b, $3 .asm_10dac - ld [hli], a - dec b - jr nz, .asm_10dac - xor a - ld b, $7 + ld [hli], a + dec b + jr nz, .asm_10dac + xor a + ld b, $7 .asm_10db3 - ld [hli], a - dec b - jr nz, .asm_10db3 - ld de, $d55c - ld a, [$d555] - ld c, a - inc a - ld b, a + ld [hli], a + dec b + jr nz, .asm_10db3 + ld de, $d55c + ld a, [$d555] + ld c, a + inc a + ld b, a .asm_10dc0 - push bc - ld a, c - call Func_a21 - ld c, a - ld b, $0 - ld hl, $d55c - add hl, bc - ld c, [hl] - ld a, [de] - ld [hl], a - ld a, c - ld [de], a - pop bc - inc de - dec b - jr nz, .asm_10dc0 - ld [$ff8a], a - ld a, Bank(InitBallSaverForCatchEmMode) - ld hl, InitBallSaverForCatchEmMode - call BankSwitch - call Func_10b3f - call Func_3579 - ld a, [wCurrentStage] - bit 0, a - jr z, .asm_10e09 - ld a, $28 - ld hl, $6300 - ld de, $8ae0 - ld bc, $0020 - call Func_735 - ld a, $0 - ld hl, $2898 - ld de, $9906 - ld bc, $0008 - call Func_735 + push bc + ld a, c + call Func_a21 + ld c, a + ld b, $0 + ld hl, $d55c + add hl, bc + ld c, [hl] + ld a, [de] + ld [hl], a + ld a, c + ld [de], a + pop bc + inc de + dec b + jr nz, .asm_10dc0 + ld [$ff8a], a + ld a, Bank(InitBallSaverForCatchEmMode) + ld hl, InitBallSaverForCatchEmMode + call BankSwitch + call Func_10b3f + call Func_3579 + ld a, [wCurrentStage] + bit 0, a + jr z, .asm_10e09 + ld a, $28 + ld hl, $6300 + ld de, $8ae0 + ld bc, $0020 + call Func_735 + ld a, $0 + ld hl, $2898 + ld de, $9906 + ld bc, $0008 + call Func_735 .asm_10e09 - ret + ret Func_10e0a: ; 0x10e0a - ld a, [wCurrentEvolutionMon] - cp $ff - jp z, Func_10e8b - ld c, a - ld b, $0 - sla c - rl b - sla c - rl b - sla c - rl b - sla c - rl b - ld hl, PokemonNames + 1 - add hl, bc - ld de, $2b02 ; "It evolved into an" - ld bc, $2b34 - ld a, [hl] - ; check if mon's name starts with a vowel, so it can print "an", instead of "a" - cp "A" - jr z, .nameStartsWithVowel - cp "I" - jr z, .nameStartsWithVowel - cp "U" - jr z, .nameStartsWithVowel - cp "E" - jr z, .nameStartsWithVowel - cp "O" - jr z, .nameStartsWithVowel - ld de, $2ae9 ; "It evolved into a" - ld bc, $2b1c + ld a, [wCurrentEvolutionMon] + cp $ff + jp z, Func_10e8b + ld c, a + ld b, $0 + sla c + rl b + sla c + rl b + sla c + rl b + sla c + rl b + ld hl, PokemonNames + 1 + add hl, bc + ld de, $2b02 ; "It evolved into an" + ld bc, $2b34 + ld a, [hl] + ; check if mon's name starts with a vowel, so it can print "an", instead of "a" + cp "A" + jr z, .nameStartsWithVowel + cp "I" + jr z, .nameStartsWithVowel + cp "U" + jr z, .nameStartsWithVowel + cp "E" + jr z, .nameStartsWithVowel + cp "O" + jr z, .nameStartsWithVowel + ld de, $2ae9 ; "It evolved into a" + ld bc, $2b1c .nameStartsWithVowel - push hl - push bc - push de - call Func_30e8 - call Func_30db - ld hl, $d5cc - pop de - call Func_32aa - ld hl, $d5d4 - pop de - call Func_32aa - pop hl - ld de, $c520 - ld b, $0 + push hl + push bc + push de + call Func_30e8 + call Func_30db + ld hl, $d5cc + pop de + call Func_32aa + ld hl, $d5d4 + pop de + call Func_32aa + pop hl + ld de, $c520 + ld b, $0 .asm_10e67 - ld a, [hli] - and a - jr z, .asm_10e70 - ld [de], a - inc de - inc b - jr .asm_10e67 + ld a, [hli] + and a + jr z, .asm_10e70 + ld [de], a + inc de + inc b + jr .asm_10e67 .asm_10e70 - ld a, $20 - ld [de], a - inc de - xor a - ld [de], a - ld a, [$d5db] - add b - ld [$d5db], a - ld a, $14 - sub b - srl a - ld b, a - ld a, [$d5d8] - add b - ld [$d5d8], a - ret + ld a, $20 + ld [de], a + inc de + xor a + ld [de], a + ld a, [$d5db] + add b + ld [$d5db], a + ld a, $14 + sub b + srl a + ld b, a + ld a, [$d5d8] + add b + ld [$d5d8], a + ret Func_10e8b: ; 0x10e8b - ld bc, $34e8 - ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch - ld bc, $0100 - ld de, $0000 - push bc - push de - call Func_30e8 - call Func_30db - ld hl, $d5d4 - ld de, $2b6b - call Func_32cc - pop de - pop bc - ld hl, $d5cc - ld de, $2b4c - call Func_32aa - ret + ld bc, $34e8 + ld [$ff8a], a + ld a, Bank(Func_8588) + ld hl, Func_8588 + call BankSwitch + ld bc, $0100 + ld de, $0000 + push bc + push de + call Func_30e8 + call Func_30db + ld hl, $d5d4 + ld de, $2b6b + call Func_32cc + pop de + pop bc + ld hl, $d5cc + ld de, $2b4c + call Func_32aa + ret Func_10ebb: ; 0x10ebb - ld a, [wNumPartyMons] - and a - ret z - call Func_10cb7 - call Func_10d1d - ld a, [$d555] - sub $2 - ld c, a - sla c - ld hl, IndicatorStatesPointerTable_10f3b - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld de, wIndicatorStates - ld b, $13 + ld a, [wNumPartyMons] + and a + ret z + call Func_10cb7 + call Func_10d1d + ld a, [$d555] + sub $2 + ld c, a + sla c + ld hl, IndicatorStatesPointerTable_10f3b + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld de, wIndicatorStates + ld b, $13 .asm_10eda - ld a, [hli] - ld [de], a - inc de - dec b - jr nz, .asm_10eda - xor a - ld [wLeftAlleyCount], a - call Func_107b0 - ld a, $2 - ld [$d7ad], a - ld de, $0002 - call PlaySong - call SetPokemonSeenFlag - ld a, [wCurrentStage] - bit 0, a - jr nz, .asm_10f0b - ld a, $36 - ld hl, $7e80 - ld de, $8900 - ld bc, $00e0 - call Func_735 - ret + ld a, [hli] + ld [de], a + inc de + dec b + jr nz, .asm_10eda + xor a + ld [wLeftAlleyCount], a + call Func_107b0 + ld a, $2 + ld [$d7ad], a + ld de, $0002 + call PlaySong + call SetPokemonSeenFlag + ld a, [wCurrentStage] + bit 0, a + jr nz, .asm_10f0b + ld a, $36 + ld hl, $7e80 + ld de, $8900 + ld bc, $00e0 + call Func_735 + ret .asm_10f0b - ld a, $36 - ld hl, $7e80 - ld de, $8200 - ld bc, $00e0 - call Func_735 - ld [$ff8a], a - ld a, Bank(Func_14135) - ld hl, Func_14135 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_10184) - ld hl, Func_10184 - call BankSwitch - ld a, [hGameBoyColorFlag] - and a - ld [$ff8a], a - ld a, Bank(Func_102bc) - ld hl, Func_102bc - call nz, BankSwitch - ret + ld a, $36 + ld hl, $7e80 + ld de, $8200 + ld bc, $00e0 + call Func_735 + ld [$ff8a], a + ld a, Bank(Func_14135) + ld hl, Func_14135 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_10184) + ld hl, Func_10184 + call BankSwitch + ld a, [hGameBoyColorFlag] + and a + ld [$ff8a], a + ld a, Bank(Func_102bc) + ld hl, Func_102bc + call nz, BankSwitch + ret IndicatorStatesPointerTable_10f3b: ; 0x10f3b - dw IndicatorStates_10f4b - dw IndicatorStates_10f5e - dw IndicatorStates_10f71 - dw IndicatorStates_10f84 - dw IndicatorStates_10f97 - dw IndicatorStates_10faa - dw IndicatorStates_10fbd - dw IndicatorStates_10fd0 + dw IndicatorStates_10f4b + dw IndicatorStates_10f5e + dw IndicatorStates_10f71 + dw IndicatorStates_10f84 + dw IndicatorStates_10f97 + dw IndicatorStates_10faa + dw IndicatorStates_10fbd + dw IndicatorStates_10fd0 IndicatorStates_10f4b: ; 0x10f4b - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $01, $01, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $01, $01, $00, $00, $00, $00 IndicatorStates_10f5e: ; 0x10f5e - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $01, $00, $01, $01, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $01, $00, $01, $01, $00, $00, $00, $00 IndicatorStates_10f71: ; 0x10f71 - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $01, $01, $01, $01, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $01, $01, $01, $01, $00, $00, $00, $00 IndicatorStates_10f84: ; 0x10f84 - db $00, $00, $00, $00, $00, $00, $00, $00, $01, $01, $00, $01, $01, $01, $01, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00, $01, $01, $00, $01, $01, $01, $01, $00, $00, $00, $00 IndicatorStates_10f97: ; 0x10f97 - db $00, $00, $00, $80, $00, $00, $00, $00, $01, $01, $01, $01, $01, $01, $01, $00, $00, $00, $00 + db $00, $00, $00, $80, $00, $00, $00, $00, $01, $01, $01, $01, $01, $01, $01, $00, $00, $00, $00 IndicatorStates_10faa: ; 0x10faa - db $00, $00, $80, $80, $00, $00, $00, $00, $01, $01, $01, $01, $01, $01, $01, $00, $00, $00, $00 + db $00, $00, $80, $80, $00, $00, $00, $00, $01, $01, $01, $01, $01, $01, $01, $00, $00, $00, $00 IndicatorStates_10fbd: ; 0x10fbd - db $00, $00, $80, $80, $00, $00, $00, $01, $01, $01, $01, $01, $01, $01, $01, $00, $00, $00, $00 + db $00, $00, $80, $80, $00, $00, $00, $01, $01, $01, $01, $01, $01, $01, $01, $00, $00, $00, $00 IndicatorStates_10fd0: ; 0x10fd0 - db $00, $00, $80, $80, $00, $00, $01, $01, $01, $01, $01, $01, $01, $01, $01, $00, $00, $00, $00 + db $00, $00, $80, $80, $00, $00, $01, $01, $01, $01, $01, $01, $01, $01, $01, $00, $00, $00, $00 Func_10fe3: ; 0x10fe3 - call Func_107a5 - call Func_107c2 - call Func_107c8 - call Func_107e9 - ld a, [wCurrentStage] - bit 0, a - jp z, Func_10aff - ld [$ff8a], a - ld a, Bank(Func_14135) - ld hl, Func_14135 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_16425) - ld hl, Func_16425 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_30253) - ld hl, Func_30253 - call BankSwitch - ld a, $36 - ld hl, $6c60 - ld de, $8200 - ld bc, $00e0 - call LoadVRAMData - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_11036 - ld a, $37 - ld hl, $4af8 - ld de, $0078 - ld bc, $0008 - call Func_7dc + call Func_107a5 + call Func_107c2 + call Func_107c8 + call Func_107e9 + ld a, [wCurrentStage] + bit 0, a + jp z, Func_10aff + ld [$ff8a], a + ld a, Bank(Func_14135) + ld hl, Func_14135 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_16425) + ld hl, Func_16425 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_30253) + ld hl, Func_30253 + call BankSwitch + ld a, $36 + ld hl, $6c60 + ld de, $8200 + ld bc, $00e0 + call LoadVRAMData + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_11036 + ld a, $37 + ld hl, $4af8 + ld de, $0078 + ld bc, $0008 + call Func_7dc .asm_11036 - ld hl, $4958 - ld a, $4 - call Func_10aa - ld a, [$d624] - ld [$ff8a], a - ld a, Bank(Func_174d4) - ld hl, Func_174d4 - call BankSwitch - ld hl, $497d - ld a, $4 - call Func_10aa - ret + ld hl, $4958 + ld a, $4 + call Func_10aa + ld a, [$d624] + ld [$ff8a], a + ld a, Bank(Func_174d4) + ld hl, Func_174d4 + call BankSwitch + ld hl, $497d + ld a, $4 + call Func_10aa + ret Func_11054: ; 0x11054 - ld a, [wNumPartyMons] - and a - ret z - call Func_10cb7 - call Func_10d1d - ret + ld a, [wNumPartyMons] + and a + ret z + call Func_10cb7 + call Func_10d1d + ret Func_11060: ; 0x11060 - ret + ret Func_11061: ; 0x11061 - ld a, [wNumPartyMons] - and a - ret z - call Func_10cb7 - call Func_10d1d - ld a, $1 - ld [$d643], a - ld a, [$d555] - sub $2 - ld c, a - sla c - ld hl, IndicatorStatesPointerTable_110ed - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld de, wIndicatorStates - ld b, $13 + ld a, [wNumPartyMons] + and a + ret z + call Func_10cb7 + call Func_10d1d + ld a, $1 + ld [$d643], a + ld a, [$d555] + sub $2 + ld c, a + sla c + ld hl, IndicatorStatesPointerTable_110ed + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld de, wIndicatorStates + ld b, $13 .asm_11085 - ld a, [hli] - ld [de], a - inc de - dec b - jr nz, .asm_11085 - xor a - ld [wLeftAlleyCount], a - ld [$ff8a], a - ld a, Bank(Func_1f2ed) - ld hl, Func_1f2ed - call BankSwitch - ld a, $2 - ld [$d7ad], a - ld de, $0002 - call PlaySong - call SetPokemonSeenFlag - ld a, [wCurrentStage] - bit 0, a - jr nz, .asm_110bd - ld a, $36 - ld hl, $7e80 - ld de, $8600 - ld bc, $00e0 - call Func_735 - ret + ld a, [hli] + ld [de], a + inc de + dec b + jr nz, .asm_11085 + xor a + ld [wLeftAlleyCount], a + ld [$ff8a], a + ld a, Bank(Func_1f2ed) + ld hl, Func_1f2ed + call BankSwitch + ld a, $2 + ld [$d7ad], a + ld de, $0002 + call PlaySong + call SetPokemonSeenFlag + ld a, [wCurrentStage] + bit 0, a + jr nz, .asm_110bd + ld a, $36 + ld hl, $7e80 + ld de, $8600 + ld bc, $00e0 + call Func_735 + ret .asm_110bd - ld a, $36 - ld hl, $7e80 - ld de, $8200 - ld bc, $00e0 - call Func_735 - ld [$ff8a], a - ld a, Bank(Func_1c2cb) - ld hl, Func_1c2cb - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_10184) - ld hl, Func_10184 - call BankSwitch - ld a, [hGameBoyColorFlag] - and a - ld [$ff8a], a - ld a, Bank(Func_102bc) - ld hl, Func_102bc - call nz, BankSwitch - ret + ld a, $36 + ld hl, $7e80 + ld de, $8200 + ld bc, $00e0 + call Func_735 + ld [$ff8a], a + ld a, Bank(Func_1c2cb) + ld hl, Func_1c2cb + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_10184) + ld hl, Func_10184 + call BankSwitch + ld a, [hGameBoyColorFlag] + and a + ld [$ff8a], a + ld a, Bank(Func_102bc) + ld hl, Func_102bc + call nz, BankSwitch + ret IndicatorStatesPointerTable_110ed: ; 0x110ed - dw IndicatorStates_110fd - dw IndicatorStates_11110 - dw IndicatorStates_11123 - dw IndicatorStates_11136 - dw IndicatorStates_11149 - dw IndicatorStates_1115c - dw IndicatorStates_1116f - dw IndicatorStates_11182 + dw IndicatorStates_110fd + dw IndicatorStates_11110 + dw IndicatorStates_11123 + dw IndicatorStates_11136 + dw IndicatorStates_11149 + dw IndicatorStates_1115c + dw IndicatorStates_1116f + dw IndicatorStates_11182 IndicatorStates_110fd: ; 0x110fd - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $01, $01, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $01, $01, $00, $00, $00, $00 IndicatorStates_11110: ; 0x11110 - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $01, $00, $01, $01, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $01, $00, $01, $01, $00, $00, $00, $00 IndicatorStates_11123: ; 0x11123 - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $01, $01, $01, $01, $00, $00, $00, $00 + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $01, $01, $01, $01, $00, $00, $00, $00 IndicatorStates_11136: ; 0x11136 - db $00, $00, $80, $00, $00, $00, $00, $00, $01, $01, $00, $01, $01, $01, $01, $00, $00, $00, $00 + db $00, $00, $80, $00, $00, $00, $00, $00, $01, $01, $00, $01, $01, $01, $01, $00, $00, $00, $00 IndicatorStates_11149: ; 0x11149 - db $00, $00, $80, $80, $00, $00, $00, $00, $01, $01, $01, $01, $01, $01, $01, $00, $00, $00, $00 + db $00, $00, $80, $80, $00, $00, $00, $00, $01, $01, $01, $01, $01, $01, $01, $00, $00, $00, $00 IndicatorStates_1115c: ; 0x1115c - db $00, $00, $80, $80, $00, $00, $00, $00, $01, $01, $01, $01, $01, $01, $01, $00, $00, $00, $00 + db $00, $00, $80, $80, $00, $00, $00, $00, $01, $01, $01, $01, $01, $01, $01, $00, $00, $00, $00 IndicatorStates_1116f: ; 0x1116f - db $80, $00, $80, $80, $00, $00, $00, $01, $01, $01, $01, $01, $01, $01, $01, $00, $00, $00, $00 + db $80, $00, $80, $80, $00, $00, $00, $01, $01, $01, $01, $01, $01, $01, $01, $00, $00, $00, $00 IndicatorStates_11182: ; 0x11182 - db $80, $00, $80, $80, $00, $00, $01, $01, $01, $01, $01, $01, $01, $01, $01, $00, $00, $00, $00 + db $80, $00, $80, $80, $00, $00, $01, $01, $01, $01, $01, $01, $01, $01, $01, $00, $00, $00, $00 Func_11195: ; 0x11195 - xor a - ld [$d643], a - call Func_107a5 - call Func_107c2 - ld [$ff8a], a - ld a, Bank(Func_1f2ff) - ld hl, Func_1f2ff - call BankSwitch - ld a, [wCurrentStage] - bit 0, a - jp z, Func_1120e - ld [$ff8a], a - ld a, Bank(Func_1c2cb) - ld hl, Func_1c2cb - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_1e8f6) - ld hl, Func_1e8f6 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_30253) - ld hl, Func_30253 - call BankSwitch - ld a, $36 - ld hl, $6c60 - ld de, $8200 - ld bc, $00e0 - call LoadVRAMData - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_111f0 - ld a, $37 - ld hl, $4bf8 - ld de, $0078 - ld bc, $0008 - call Func_7dc + xor a + ld [$d643], a + call Func_107a5 + call Func_107c2 + ld [$ff8a], a + ld a, Bank(Func_1f2ff) + ld hl, Func_1f2ff + call BankSwitch + ld a, [wCurrentStage] + bit 0, a + jp z, Func_1120e + ld [$ff8a], a + ld a, Bank(Func_1c2cb) + ld hl, Func_1c2cb + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_1e8f6) + ld hl, Func_1e8f6 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_30253) + ld hl, Func_30253 + call BankSwitch + ld a, $36 + ld hl, $6c60 + ld de, $8200 + ld bc, $00e0 + call LoadVRAMData + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_111f0 + ld a, $37 + ld hl, $4bf8 + ld de, $0078 + ld bc, $0008 + call Func_7dc .asm_111f0 - ld hl, $4a63 - ld a, $4 - call Func_10aa - ld a, [$d624] - ld [$ff8a], a - ld a, Bank(Func_174d4) - ld hl, Func_174d4 - call BankSwitch - ld hl, $4a88 - ld a, $4 - call Func_10aa - ret + ld hl, $4a63 + ld a, $4 + call Func_10aa + ld a, [$d624] + ld [$ff8a], a + ld a, Bank(Func_174d4) + ld hl, Func_174d4 + call BankSwitch + ld hl, $4a88 + ld a, $4 + call Func_10aa + ret Func_1120e: ; 0x1120e - ld a, [wCurrentStage] - sub $4 - res 0, a - ld c, a - ld b, $0 - srl c - sla a - sla a - sla a - sub c - ld c, a - ld hl, VRAMData_1123b - add hl, bc - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hli] - push af - push bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - pop hl - pop af - call LoadVRAMData - ret + ld a, [wCurrentStage] + sub $4 + res 0, a + ld c, a + ld b, $0 + srl c + sla a + sla a + sla a + sub c + ld c, a + ld hl, VRAMData_1123b + add hl, bc + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hli] + push af + push bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + pop hl + pop af + call LoadVRAMData + ret VRAMData_1123b: ; 0x1123b - dwb $6600, $35 - dw $8600, $E0 + dwb $6600, $35 + dw $8600, $E0 - dwb $6600, $35 - dw $8600, $E0 + dwb $6600, $35 + dw $8600, $E0 - dwb $6600, $35 - dw $8600, $E0 + dwb $6600, $35 + dw $8600, $E0 - dwb $6600, $35 - dw $8600, $E0 + dwb $6600, $35 + dw $8600, $E0 - dwb $6600, $35 - dw $8600, $E0 + dwb $6600, $35 + dw $8600, $E0 - dwb $6600, $35 - dw $8600, $E0 + dwb $6600, $35 + dw $8600, $E0 - dwb $6600, $35 - dw $8600, $E0 + dwb $6600, $35 + dw $8600, $E0 WildMonOffsetsPointers: ; 0x1126c - dw RedStageWildMonDataOffsets - dw RedStageWildMonDataOffsets - dw RedStageWildMonDataOffsets - dw RedStageWildMonDataOffsets - dw BlueStageWildMonDataOffsets - dw BlueStageWildMonDataOffsets + dw RedStageWildMonDataOffsets + dw RedStageWildMonDataOffsets + dw RedStageWildMonDataOffsets + dw RedStageWildMonDataOffsets + dw BlueStageWildMonDataOffsets + dw BlueStageWildMonDataOffsets RedStageWildMonDataOffsets: ; 0x11278 - dw (RedStagePalletTownWildMons - RedStageWildMons) ; PALLET_TOWN - dw $0000 ; VIRIDIAN_CITY (unused in Red Stage) - dw (RedStageViridianForestWildMons - RedStageWildMons) ; VIRIDIAN_FOREST - dw (RedStagePewterCityWildMons - RedStageWildMons) ; PEWTER_CITY - dw $0000 ; MT_MOON (unused in Red Stage) - dw (RedStageCeruleanCityWildMons - RedStageWildMons) ; CERULEAN_CITY - dw (RedStageVermilionSeasideWildMons - RedStageWildMons) ; VERMILION_SEASIDE - dw $0000 ; VERMILION_STREETS (unused in Red Stage) - dw (RedStageRockMountainWildMons - RedStageWildMons) ; ROCK_MOUNTAIN - dw (RedStageLavenderTownWildMons - RedStageWildMons) ; LAVENDER_TOWN - dw $0000 ; CELADON_CITY (unused in Red Stage) - dw (RedStageCyclingRoadWildMons - RedStageWildMons) ; CYCLING_ROAD - dw $0000 ; FUCHSIA_CITY (unused in Red Stage) - dw (RedStageSafariZoneWildMons - RedStageWildMons) ; SAFARI_ZONE - dw $0000 ; SAFFRON_CITY (unused in Red Stage) - dw (RedStageSeafoamIslandsWildMons - RedStageWildMons) ; SEAFOAM_ISLANDS - dw (RedStageCinnabarIslandWildMons - RedStageWildMons) ; CINNABAR_ISLAND - dw (RedStageIndigoPlateauWildMons - RedStageWildMons) ; INDIGO_PLATEAU + dw (RedStagePalletTownWildMons - RedStageWildMons) ; PALLET_TOWN + dw $0000 ; VIRIDIAN_CITY (unused in Red Stage) + dw (RedStageViridianForestWildMons - RedStageWildMons) ; VIRIDIAN_FOREST + dw (RedStagePewterCityWildMons - RedStageWildMons) ; PEWTER_CITY + dw $0000 ; MT_MOON (unused in Red Stage) + dw (RedStageCeruleanCityWildMons - RedStageWildMons) ; CERULEAN_CITY + dw (RedStageVermilionSeasideWildMons - RedStageWildMons) ; VERMILION_SEASIDE + dw $0000 ; VERMILION_STREETS (unused in Red Stage) + dw (RedStageRockMountainWildMons - RedStageWildMons) ; ROCK_MOUNTAIN + dw (RedStageLavenderTownWildMons - RedStageWildMons) ; LAVENDER_TOWN + dw $0000 ; CELADON_CITY (unused in Red Stage) + dw (RedStageCyclingRoadWildMons - RedStageWildMons) ; CYCLING_ROAD + dw $0000 ; FUCHSIA_CITY (unused in Red Stage) + dw (RedStageSafariZoneWildMons - RedStageWildMons) ; SAFARI_ZONE + dw $0000 ; SAFFRON_CITY (unused in Red Stage) + dw (RedStageSeafoamIslandsWildMons - RedStageWildMons) ; SEAFOAM_ISLANDS + dw (RedStageCinnabarIslandWildMons - RedStageWildMons) ; CINNABAR_ISLAND + dw (RedStageIndigoPlateauWildMons - RedStageWildMons) ; INDIGO_PLATEAU BlueStageWildMonDataOffsets: ; 0x1129c - dw $0000 ; PALLET_TOWN (unused in Blue Stage) - dw (BlueStageViridianCityWildMons - BlueStageWildMons) ; VIRIDIAN_CITY - dw (BlueStageViridianForestWildMons - BlueStageWildMons) ; VIRIDIAN_FOREST - dw $0000 ; PEWTER_CITY (unused in Blue Stage) - dw (BlueStageMtMoonWildMons - BlueStageWildMons) ; MT_MOON - dw (BlueStageCeruleanCityWildMons - BlueStageWildMons) ; CERULEAN_CITY - dw $0000 ; VERMILION_SEASIDE (unused in Blue Stage) - dw (BlueStageVermilionStreetsWildMons - BlueStageWildMons) ; VERMILION_STREETS - dw (BlueStageRockMountainWildMons - BlueStageWildMons) ; ROCK_MOUNTAIN - dw $0000 ; LAVENDER_TOWN (unused in Blue Stage) - dw (BlueStageCeladonCityWildMons - BlueStageWildMons) ; CELADON_CITY - dw $0000 ; CYCLING_ROAD (unused in Blue Stage) - dw (BlueStageFuchsiaCityWildMons - BlueStageWildMons) ; FUCHSIA_CITY - dw (BlueStageSafariZoneWildMons - BlueStageWildMons) ; SAFARI_ZONE - dw (BlueStageSaffronCityWildMons - BlueStageWildMons) ; SAFFRON_CITY - dw $0000 ; SEAFOAM_ISLANDS (unused in Blue Stage) - dw (BlueStageCinnabarIslandWildMons - BlueStageWildMons) ; CINNABAR_ISLAND - dw (BlueStageIndigoPlateauWildMons - BlueStageWildMons) ; INDIGO_PLATEAU + dw $0000 ; PALLET_TOWN (unused in Blue Stage) + dw (BlueStageViridianCityWildMons - BlueStageWildMons) ; VIRIDIAN_CITY + dw (BlueStageViridianForestWildMons - BlueStageWildMons) ; VIRIDIAN_FOREST + dw $0000 ; PEWTER_CITY (unused in Blue Stage) + dw (BlueStageMtMoonWildMons - BlueStageWildMons) ; MT_MOON + dw (BlueStageCeruleanCityWildMons - BlueStageWildMons) ; CERULEAN_CITY + dw $0000 ; VERMILION_SEASIDE (unused in Blue Stage) + dw (BlueStageVermilionStreetsWildMons - BlueStageWildMons) ; VERMILION_STREETS + dw (BlueStageRockMountainWildMons - BlueStageWildMons) ; ROCK_MOUNTAIN + dw $0000 ; LAVENDER_TOWN (unused in Blue Stage) + dw (BlueStageCeladonCityWildMons - BlueStageWildMons) ; CELADON_CITY + dw $0000 ; CYCLING_ROAD (unused in Blue Stage) + dw (BlueStageFuchsiaCityWildMons - BlueStageWildMons) ; FUCHSIA_CITY + dw (BlueStageSafariZoneWildMons - BlueStageWildMons) ; SAFARI_ZONE + dw (BlueStageSaffronCityWildMons - BlueStageWildMons) ; SAFFRON_CITY + dw $0000 ; SEAFOAM_ISLANDS (unused in Blue Stage) + dw (BlueStageCinnabarIslandWildMons - BlueStageWildMons) ; CINNABAR_ISLAND + dw (BlueStageIndigoPlateauWildMons - BlueStageWildMons) ; INDIGO_PLATEAU WildMonPointers: ; 0x112c0 - dw RedStageWildMons - dw RedStageWildMons - dw RedStageWildMons - dw RedStageWildMons - dw BlueStageWildMons - dw BlueStageWildMons + dw RedStageWildMons + dw RedStageWildMons + dw RedStageWildMons + dw RedStageWildMons + dw BlueStageWildMons + dw BlueStageWildMons INCLUDE "data/red_wild_mons.asm" INCLUDE "data/blue_wild_mons.asm" -INCBIN "baserom.gbc",$115ce,$1161d - $115ce + dr $115ce, $1161d INCLUDE "data/evolution_lines.asm" @@ -22576,760 +22617,760 @@ MonEvolutions: ; 0x116b3 ; Lists the possible evolution types for each pokemon ; Each pokemon has three entries becuase Eevee has three ; evolution possibilities. - ; BULBASAUR - db IVYSAUR, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; IVYSAUR - db VENUSAUR, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; VENUSAUR - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; CHARMANDER - db CHARMELEON, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; CHARMELEON - db CHARIZARD, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; CHARIZARD - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; SQUIRTLE - db WARTORTLE, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; WARTORTLE - db BLASTOISE, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; BLASTOISE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; CATERPIE - db METAPOD, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; METAPOD - db BUTTERFREE, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; BUTTERFREE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; WEEDLE - db KAKUNA, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; KAKUNA - db BEEDRILL, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; BEEDRILL - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; PIDGEY - db PIDGEOTTO, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; PIDGEOTTO - db PIDGEOT, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; PIDGEOT - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; RATTATA - db RATICATE, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; RATICATE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; SPEAROW - db FEAROW, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; FEAROW - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; EKANS - db ARBOK, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; ARBOK - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; PIKACHU - db RAICHU, EVO_THUNDER_STONE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; RAICHU - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; SANDSHREW - db SANDSLASH, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; SANDSLASH - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; NIDORAN_F - db NIDORINA, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; NIDORINA - db NIDOQUEEN, EVO_MOON_STONE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; NIDOQUEEN - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; NIDORAN_M - db NIDORINO, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; NIDORINO - db NIDOKING, EVO_MOON_STONE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; NIDOKING - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; CLEFAIRY - db CLEFABLE, EVO_MOON_STONE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; CLEFABLE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; VULPIX - db NINETALES, EVO_FIRE_STONE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; NINETALES - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; JIGGLYPUFF - db WIGGLYTUFF, EVO_MOON_STONE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; WIGGLYTUFF - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; ZUBAT - db GOLBAT, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; GOLBAT - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; ODDISH - db GLOOM, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; GLOOM - db VILEPLUME, EVO_LEAF_STONE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; VILEPLUME - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; PARAS - db PARASECT, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; PARASECT - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; VENONAT - db VENOMOTH, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; VENOMOTH - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; DIGLETT - db DUGTRIO, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; DUGTRIO - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; MEOWTH - db PERSIAN, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; PERSIAN - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; PSYDUCK - db GOLDUCK, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; GOLDUCK - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; MANKEY - db PRIMEAPE, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; PRIMEAPE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; GROWLITHE - db ARCANINE, EVO_FIRE_STONE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; ARCANINE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; POLIWAG - db POLIWHIRL, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; POLIWHIRL - db POLIWRATH, EVO_WATER_STONE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; POLIWRATH - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; ABRA - db KADABRA, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; KADABRA - db ALAKAZAM, EVO_LINK_CABLE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; ALAKAZAM - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; MACHOP - db MACHOKE, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; MACHOKE - db MACHAMP, EVO_LINK_CABLE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; MACHAMP - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; BELLSPROUT - db WEEPINBELL, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; WEEPINBELL - db VICTREEBEL, EVO_LEAF_STONE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; VICTREEBEL - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; TENTACOOL - db TENTACRUEL, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; TENTACRUEL - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; GEODUDE - db GRAVELER, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; GRAVELER - db GOLEM, EVO_LINK_CABLE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; GOLEM - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; PONYTA - db RAPIDASH, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; RAPIDASH - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; SLOWPOKE - db SLOWBRO, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; SLOWBRO - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; MAGNEMITE - db MAGNETON, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; MAGNETON - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; FARFETCH_D - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; DODUO - db DODRIO, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; DODRIO - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; SEEL - db DEWGONG, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; DEWGONG - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; GRIMER - db MUK, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; MUK - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; SHELLDER - db CLOYSTER, EVO_WATER_STONE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; CLOYSTER - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; GASTLY - db HAUNTER, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; HAUNTER - db GENGAR, EVO_LINK_CABLE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; GENGAR - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; ONIX - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; DROWZEE - db HYPNO, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; HYPNO - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; KRABBY - db KINGLER, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; KINGLER - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; VOLTORB - db ELECTRODE, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; ELECTRODE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; EXEGGCUTE - db EXEGGUTOR, EVO_LEAF_STONE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; EXEGGUTOR - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; CUBONE - db MAROWAK, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; MAROWAK - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; HITMONLEE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; HITMONCHAN - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; LICKITUNG - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; KOFFING - db WEEZING, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; WEEZING - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; RHYHORN - db RHYDON, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; RHYDON - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; CHANSEY - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; TANGELA - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; KANGASKHAN - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; HORSEA - db SEADRA, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; SEADRA - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; GOLDEEN - db SEAKING, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; SEAKING - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; STARYU - db STARMIE, EVO_WATER_STONE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; STARMIE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; MR_MIME - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; SCYTHER - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; JYNX - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; ELECTABUZZ - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; MAGMAR - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; PINSIR - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; TAUROS - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; MAGIKARP - db GYARADOS, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; GYARADOS - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; LAPRAS - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; DITTO - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; EEVEE - db VAPOREON, EVO_WATER_STONE - db JOLTEON, EVO_THUNDER_STONE - db FLAREON, EVO_FIRE_STONE - - ; VAPOREON - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; JOLTEON - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; FLAREON - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; PORYGON - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; OMANYTE - db OMASTAR, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; OMASTAR - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; KABUTO - db KABUTOPS, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; KABUTOPS - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; AERODACTYL - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; SNORLAX - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; ARTICUNO - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; ZAPDOS - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; MOLTRES - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; DRATINI - db DRAGONAIR, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; DRAGONAIR - db DRAGONITE, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; DRAGONITE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; MEWTWO - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; MEW - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE + ; BULBASAUR + db IVYSAUR, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; IVYSAUR + db VENUSAUR, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; VENUSAUR + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; CHARMANDER + db CHARMELEON, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; CHARMELEON + db CHARIZARD, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; CHARIZARD + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; SQUIRTLE + db WARTORTLE, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; WARTORTLE + db BLASTOISE, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; BLASTOISE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; CATERPIE + db METAPOD, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; METAPOD + db BUTTERFREE, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; BUTTERFREE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; WEEDLE + db KAKUNA, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; KAKUNA + db BEEDRILL, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; BEEDRILL + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; PIDGEY + db PIDGEOTTO, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; PIDGEOTTO + db PIDGEOT, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; PIDGEOT + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; RATTATA + db RATICATE, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; RATICATE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; SPEAROW + db FEAROW, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; FEAROW + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; EKANS + db ARBOK, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; ARBOK + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; PIKACHU + db RAICHU, EVO_THUNDER_STONE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; RAICHU + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; SANDSHREW + db SANDSLASH, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; SANDSLASH + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; NIDORAN_F + db NIDORINA, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; NIDORINA + db NIDOQUEEN, EVO_MOON_STONE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; NIDOQUEEN + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; NIDORAN_M + db NIDORINO, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; NIDORINO + db NIDOKING, EVO_MOON_STONE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; NIDOKING + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; CLEFAIRY + db CLEFABLE, EVO_MOON_STONE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; CLEFABLE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; VULPIX + db NINETALES, EVO_FIRE_STONE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; NINETALES + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; JIGGLYPUFF + db WIGGLYTUFF, EVO_MOON_STONE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; WIGGLYTUFF + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; ZUBAT + db GOLBAT, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; GOLBAT + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; ODDISH + db GLOOM, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; GLOOM + db VILEPLUME, EVO_LEAF_STONE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; VILEPLUME + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; PARAS + db PARASECT, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; PARASECT + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; VENONAT + db VENOMOTH, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; VENOMOTH + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; DIGLETT + db DUGTRIO, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; DUGTRIO + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; MEOWTH + db PERSIAN, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; PERSIAN + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; PSYDUCK + db GOLDUCK, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; GOLDUCK + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; MANKEY + db PRIMEAPE, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; PRIMEAPE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; GROWLITHE + db ARCANINE, EVO_FIRE_STONE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; ARCANINE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; POLIWAG + db POLIWHIRL, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; POLIWHIRL + db POLIWRATH, EVO_WATER_STONE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; POLIWRATH + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; ABRA + db KADABRA, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; KADABRA + db ALAKAZAM, EVO_LINK_CABLE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; ALAKAZAM + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; MACHOP + db MACHOKE, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; MACHOKE + db MACHAMP, EVO_LINK_CABLE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; MACHAMP + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; BELLSPROUT + db WEEPINBELL, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; WEEPINBELL + db VICTREEBEL, EVO_LEAF_STONE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; VICTREEBEL + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; TENTACOOL + db TENTACRUEL, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; TENTACRUEL + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; GEODUDE + db GRAVELER, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; GRAVELER + db GOLEM, EVO_LINK_CABLE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; GOLEM + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; PONYTA + db RAPIDASH, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; RAPIDASH + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; SLOWPOKE + db SLOWBRO, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; SLOWBRO + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; MAGNEMITE + db MAGNETON, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; MAGNETON + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; FARFETCH_D + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; DODUO + db DODRIO, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; DODRIO + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; SEEL + db DEWGONG, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; DEWGONG + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; GRIMER + db MUK, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; MUK + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; SHELLDER + db CLOYSTER, EVO_WATER_STONE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; CLOYSTER + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; GASTLY + db HAUNTER, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; HAUNTER + db GENGAR, EVO_LINK_CABLE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; GENGAR + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; ONIX + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; DROWZEE + db HYPNO, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; HYPNO + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; KRABBY + db KINGLER, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; KINGLER + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; VOLTORB + db ELECTRODE, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; ELECTRODE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; EXEGGCUTE + db EXEGGUTOR, EVO_LEAF_STONE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; EXEGGUTOR + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; CUBONE + db MAROWAK, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; MAROWAK + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; HITMONLEE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; HITMONCHAN + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; LICKITUNG + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; KOFFING + db WEEZING, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; WEEZING + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; RHYHORN + db RHYDON, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; RHYDON + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; CHANSEY + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; TANGELA + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; KANGASKHAN + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; HORSEA + db SEADRA, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; SEADRA + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; GOLDEEN + db SEAKING, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; SEAKING + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; STARYU + db STARMIE, EVO_WATER_STONE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; STARMIE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; MR_MIME + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; SCYTHER + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; JYNX + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; ELECTABUZZ + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; MAGMAR + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; PINSIR + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; TAUROS + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; MAGIKARP + db GYARADOS, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; GYARADOS + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; LAPRAS + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; DITTO + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; EEVEE + db VAPOREON, EVO_WATER_STONE + db JOLTEON, EVO_THUNDER_STONE + db FLAREON, EVO_FIRE_STONE + + ; VAPOREON + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; JOLTEON + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; FLAREON + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; PORYGON + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; OMANYTE + db OMASTAR, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; OMASTAR + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; KABUTO + db KABUTOPS, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; KABUTOPS + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; AERODACTYL + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; SNORLAX + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; ARTICUNO + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; ZAPDOS + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; MOLTRES + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; DRATINI + db DRAGONAIR, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; DRAGONAIR + db DRAGONITE, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; DRAGONITE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; MEWTWO + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; MEW + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE INCLUDE "data/mon_names.asm" @@ -23339,24924 +23380,24912 @@ CatchEmModeInitialIndicatorStates: ; 0x123ae ; For some reason, each pokemon evolution line has its own entry, but ; they're all exactly the same. ; See wIndicatorStates, for a description of indicators. - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_BULBASAUR - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_CHARMANDER - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_SQUIRTLE - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_CATERPIE - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_WEEDLE - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_PIDGEY - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_RATTATA - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_SPEAROW - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_EKANS - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_PIKACHU - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_SANDSHREW - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_NIDORAN_F - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_NIDORAN_M - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_CLEFAIRY - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_VULPIX - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_JIGGLYPUFF - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_ZUBAT - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_ODDISH - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_PARAS - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_VENONAT - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_DIGLETT - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_MEOWTH - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_PSYDUCK - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_MANKEY - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_GROWLITHE - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_POLIWAG - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_ABRA - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_MACHOP - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_BELLSPROUT - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_TENTACOOL - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_GEODUDE - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_PONYTA - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_SLOWPOKE - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_MAGNEMITE - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_FARFETCH_D - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_DODUO - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_SEEL - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_GRIMER - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_SHELLDER - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_GASTLY - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_ONIX - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_DROWZEE - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_KRABBY - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_VOLTORB - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_EXEGGCUTE - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_CUBONE - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_HITMONLEE - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_HITMONCHAN - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_LICKITUNG - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_KOFFING - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_RHYHORN - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_CHANSEY - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_TANGELA - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_KANGASKHAN - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_HORSEA - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_GOLDEEN - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_STARYU - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_MR_MIME - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_SCYTHER - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_JYNX - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_ELECTABUZZ - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_MAGMAR - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_PINSIR - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_TAUROS - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_MAGIKARP - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_LAPRAS - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_DITTO - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_EEVEE - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_PORYGON - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_OMANYTE - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_KABUTO - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_AERODACTYL - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_SNORLAX - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_ARTICUNO - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_ZAPDOS - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_MOLTRES - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_DRATINI - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_MEWTWO - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_MEW + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_BULBASAUR + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_CHARMANDER + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_SQUIRTLE + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_CATERPIE + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_WEEDLE + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_PIDGEY + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_RATTATA + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_SPEAROW + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_EKANS + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_PIKACHU + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_SANDSHREW + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_NIDORAN_F + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_NIDORAN_M + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_CLEFAIRY + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_VULPIX + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_JIGGLYPUFF + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_ZUBAT + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_ODDISH + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_PARAS + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_VENONAT + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_DIGLETT + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_MEOWTH + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_PSYDUCK + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_MANKEY + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_GROWLITHE + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_POLIWAG + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_ABRA + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_MACHOP + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_BELLSPROUT + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_TENTACOOL + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_GEODUDE + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_PONYTA + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_SLOWPOKE + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_MAGNEMITE + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_FARFETCH_D + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_DODUO + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_SEEL + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_GRIMER + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_SHELLDER + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_GASTLY + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_ONIX + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_DROWZEE + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_KRABBY + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_VOLTORB + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_EXEGGCUTE + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_CUBONE + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_HITMONLEE + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_HITMONCHAN + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_LICKITUNG + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_KOFFING + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_RHYHORN + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_CHANSEY + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_TANGELA + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_KANGASKHAN + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_HORSEA + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_GOLDEEN + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_STARYU + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_MR_MIME + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_SCYTHER + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_JYNX + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_ELECTABUZZ + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_MAGMAR + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_PINSIR + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_TAUROS + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_MAGIKARP + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_LAPRAS + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_DITTO + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_EEVEE + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_PORYGON + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_OMANYTE + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_KABUTO + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_AERODACTYL + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_SNORLAX + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_ARTICUNO + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_ZAPDOS + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_MOLTRES + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_DRATINI + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_MEWTWO + db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; EVOLINE_MEW Data_1298b: ; 0x1298b - db $01 ; BULBASAUR - db $02 ; IVYSAUR - db $03 ; VENUSAUR - db $01 ; CHARMANDER - db $02 ; CHARMELEON - db $03 ; CHARIZARD - db $01 ; SQUIRTLE - db $02 ; WARTORTLE - db $03 ; BLASTOISE - db $01 ; CATERPIE - db $02 ; METAPOD - db $03 ; BUTTERFREE - db $01 ; WEEDLE - db $02 ; KAKUNA - db $03 ; BEEDRILL - db $01 ; PIDGEY - db $02 ; PIDGEOTTO - db $03 ; PIDGEOT - db $01 ; RATTATA - db $03 ; RATICATE - db $01 ; SPEAROW - db $03 ; FEAROW - db $01 ; EKANS - db $03 ; ARBOK - db $01 ; PIKACHU - db $03 ; RAICHU - db $01 ; SANDSHREW - db $03 ; SANDSLASH - db $01 ; NIDORAN_F - db $02 ; NIDORINA - db $04 ; NIDOQUEEN - db $01 ; NIDORAN_M - db $02 ; NIDORINO - db $04 ; NIDOKING - db $02 ; CLEFAIRY - db $03 ; CLEFABLE - db $02 ; VULPIX - db $03 ; NINETALES - db $02 ; JIGGLYPUFF - db $03 ; WIGGLYTUFF - db $02 ; ZUBAT - db $03 ; GOLBAT - db $01 ; ODDISH - db $02 ; GLOOM - db $04 ; VILEPLUME - db $02 ; PARAS - db $03 ; PARASECT - db $02 ; VENONAT - db $03 ; VENOMOTH - db $02 ; DIGLETT - db $03 ; DUGTRIO - db $02 ; MEOWTH - db $03 ; PERSIAN - db $02 ; PSYDUCK - db $03 ; GOLDUCK - db $02 ; MANKEY - db $03 ; PRIMEAPE - db $02 ; GROWLITHE - db $03 ; ARCANINE - db $01 ; POLIWAG - db $02 ; POLIWHIRL - db $04 ; POLIWRATH - db $01 ; ABRA - db $02 ; KADABRA - db $04 ; ALAKAZAM - db $01 ; MACHOP - db $02 ; MACHOKE - db $04 ; MACHAMP - db $01 ; BELLSPROUT - db $02 ; WEEPINBELL - db $04 ; VICTREEBEL - db $02 ; TENTACOOL - db $03 ; TENTACRUEL - db $01 ; GEODUDE - db $02 ; GRAVELER - db $04 ; GOLEM - db $02 ; PONYTA - db $03 ; RAPIDASH - db $02 ; SLOWPOKE - db $03 ; SLOWBRO - db $02 ; MAGNEMITE - db $03 ; MAGNETON - db $04 ; FARFETCH_D - db $02 ; DODUO - db $03 ; DODRIO - db $02 ; SEEL - db $03 ; DEWGONG - db $02 ; GRIMER - db $03 ; MUK - db $02 ; SHELLDER - db $03 ; CLOYSTER - db $01 ; GASTLY - db $02 ; HAUNTER - db $04 ; GENGAR - db $04 ; ONIX - db $02 ; DROWZEE - db $03 ; HYPNO - db $02 ; KRABBY - db $03 ; KINGLER - db $02 ; VOLTORB - db $03 ; ELECTRODE - db $02 ; EXEGGCUTE - db $03 ; EXEGGUTOR - db $02 ; CUBONE - db $03 ; MAROWAK - db $04 ; HITMONLEE - db $04 ; HITMONCHAN - db $04 ; LICKITUNG - db $02 ; KOFFING - db $03 ; WEEZING - db $02 ; RHYHORN - db $03 ; RHYDON - db $04 ; CHANSEY - db $04 ; TANGELA - db $04 ; KANGASKHAN - db $04 ; HORSEA - db $04 ; SEADRA - db $02 ; GOLDEEN - db $03 ; SEAKING - db $02 ; STARYU - db $03 ; STARMIE - db $04 ; MR_MIME - db $04 ; SCYTHER - db $04 ; JYNX - db $04 ; ELECTABUZZ - db $04 ; MAGMAR - db $04 ; PINSIR - db $04 ; TAUROS - db $02 ; MAGIKARP - db $03 ; GYARADOS - db $04 ; LAPRAS - db $04 ; DITTO - db $02 ; EEVEE - db $03 ; VAPOREON - db $03 ; JOLTEON - db $03 ; FLAREON - db $04 ; PORYGON - db $02 ; OMANYTE - db $03 ; OMASTAR - db $02 ; KABUTO - db $03 ; KABUTOPS - db $04 ; AERODACTYL - db $04 ; SNORLAX - db $04 ; ARTICUNO - db $04 ; ZAPDOS - db $04 ; MOLTRES - db $01 ; DRATINI - db $02 ; DRAGONAIR - db $04 ; DRAGONITE - db $04 ; MEWTWO - db $06 ; MEW + db $01 ; BULBASAUR + db $02 ; IVYSAUR + db $03 ; VENUSAUR + db $01 ; CHARMANDER + db $02 ; CHARMELEON + db $03 ; CHARIZARD + db $01 ; SQUIRTLE + db $02 ; WARTORTLE + db $03 ; BLASTOISE + db $01 ; CATERPIE + db $02 ; METAPOD + db $03 ; BUTTERFREE + db $01 ; WEEDLE + db $02 ; KAKUNA + db $03 ; BEEDRILL + db $01 ; PIDGEY + db $02 ; PIDGEOTTO + db $03 ; PIDGEOT + db $01 ; RATTATA + db $03 ; RATICATE + db $01 ; SPEAROW + db $03 ; FEAROW + db $01 ; EKANS + db $03 ; ARBOK + db $01 ; PIKACHU + db $03 ; RAICHU + db $01 ; SANDSHREW + db $03 ; SANDSLASH + db $01 ; NIDORAN_F + db $02 ; NIDORINA + db $04 ; NIDOQUEEN + db $01 ; NIDORAN_M + db $02 ; NIDORINO + db $04 ; NIDOKING + db $02 ; CLEFAIRY + db $03 ; CLEFABLE + db $02 ; VULPIX + db $03 ; NINETALES + db $02 ; JIGGLYPUFF + db $03 ; WIGGLYTUFF + db $02 ; ZUBAT + db $03 ; GOLBAT + db $01 ; ODDISH + db $02 ; GLOOM + db $04 ; VILEPLUME + db $02 ; PARAS + db $03 ; PARASECT + db $02 ; VENONAT + db $03 ; VENOMOTH + db $02 ; DIGLETT + db $03 ; DUGTRIO + db $02 ; MEOWTH + db $03 ; PERSIAN + db $02 ; PSYDUCK + db $03 ; GOLDUCK + db $02 ; MANKEY + db $03 ; PRIMEAPE + db $02 ; GROWLITHE + db $03 ; ARCANINE + db $01 ; POLIWAG + db $02 ; POLIWHIRL + db $04 ; POLIWRATH + db $01 ; ABRA + db $02 ; KADABRA + db $04 ; ALAKAZAM + db $01 ; MACHOP + db $02 ; MACHOKE + db $04 ; MACHAMP + db $01 ; BELLSPROUT + db $02 ; WEEPINBELL + db $04 ; VICTREEBEL + db $02 ; TENTACOOL + db $03 ; TENTACRUEL + db $01 ; GEODUDE + db $02 ; GRAVELER + db $04 ; GOLEM + db $02 ; PONYTA + db $03 ; RAPIDASH + db $02 ; SLOWPOKE + db $03 ; SLOWBRO + db $02 ; MAGNEMITE + db $03 ; MAGNETON + db $04 ; FARFETCH_D + db $02 ; DODUO + db $03 ; DODRIO + db $02 ; SEEL + db $03 ; DEWGONG + db $02 ; GRIMER + db $03 ; MUK + db $02 ; SHELLDER + db $03 ; CLOYSTER + db $01 ; GASTLY + db $02 ; HAUNTER + db $04 ; GENGAR + db $04 ; ONIX + db $02 ; DROWZEE + db $03 ; HYPNO + db $02 ; KRABBY + db $03 ; KINGLER + db $02 ; VOLTORB + db $03 ; ELECTRODE + db $02 ; EXEGGCUTE + db $03 ; EXEGGUTOR + db $02 ; CUBONE + db $03 ; MAROWAK + db $04 ; HITMONLEE + db $04 ; HITMONCHAN + db $04 ; LICKITUNG + db $02 ; KOFFING + db $03 ; WEEZING + db $02 ; RHYHORN + db $03 ; RHYDON + db $04 ; CHANSEY + db $04 ; TANGELA + db $04 ; KANGASKHAN + db $04 ; HORSEA + db $04 ; SEADRA + db $02 ; GOLDEEN + db $03 ; SEAKING + db $02 ; STARYU + db $03 ; STARMIE + db $04 ; MR_MIME + db $04 ; SCYTHER + db $04 ; JYNX + db $04 ; ELECTABUZZ + db $04 ; MAGMAR + db $04 ; PINSIR + db $04 ; TAUROS + db $02 ; MAGIKARP + db $03 ; GYARADOS + db $04 ; LAPRAS + db $04 ; DITTO + db $02 ; EEVEE + db $03 ; VAPOREON + db $03 ; JOLTEON + db $03 ; FLAREON + db $04 ; PORYGON + db $02 ; OMANYTE + db $03 ; OMASTAR + db $02 ; KABUTO + db $03 ; KABUTOPS + db $04 ; AERODACTYL + db $04 ; SNORLAX + db $04 ; ARTICUNO + db $04 ; ZAPDOS + db $04 ; MOLTRES + db $01 ; DRATINI + db $02 ; DRAGONAIR + db $04 ; DRAGONITE + db $04 ; MEWTWO + db $06 ; MEW INCLUDE "data/catchem_timer_values.asm" MonBillboardPicPointers: ; 0x12b50 - dwb BulbasaurPic, Bank(BulbasaurPic) - dwb IvysaurPic, Bank(IvysaurPic) - dwb VenusaurPic, Bank(VenusaurPic) - dwb CharmanderPic, Bank(CharmanderPic) - dwb CharmeleonPic, Bank(CharmeleonPic) - dwb CharizardPic, Bank(CharizardPic) - dwb SquirtlePic, Bank(SquirtlePic) - dwb WartortlePic, Bank(WartortlePic) - dwb BlastoisePic, Bank(BlastoisePic) - dwb CaterpiePic, Bank(CaterpiePic) - dwb MetapodPic, Bank(MetapodPic) - dwb ButterfreePic, Bank(ButterfreePic) - dwb WeedlePic, Bank(WeedlePic) - dwb KakunaPic, Bank(KakunaPic) - dwb BeedrillPic, Bank(BeedrillPic) - dwb PidgeyPic, Bank(PidgeyPic) - dwb PidgeottoPic, Bank(PidgeottoPic) - dwb PidgeotPic, Bank(PidgeotPic) - dwb RattataPic, Bank(RattataPic) - dwb RaticatePic, Bank(RaticatePic) - dwb SpearowPic, Bank(SpearowPic) - dwb FearowPic, Bank(FearowPic) - dwb EkansPic, Bank(EkansPic) - dwb ArbokPic, Bank(ArbokPic) - dwb PikachuPic, Bank(PikachuPic) - dwb RaichuPic, Bank(RaichuPic) - dwb SandshrewPic, Bank(SandshrewPic) - dwb SandslashPic, Bank(SandslashPic) - dwb Nidoran_FPic, Bank(Nidoran_FPic) - dwb NidorinaPic, Bank(NidorinaPic) - dwb NidoqueenPic, Bank(NidoqueenPic) - dwb Nidoran_MPic, Bank(Nidoran_MPic) - dwb NidorinoPic, Bank(NidorinoPic) - dwb NidokingPic, Bank(NidokingPic) - dwb ClefairyPic, Bank(ClefairyPic) - dwb ClefablePic, Bank(ClefablePic) - dwb VulpixPic, Bank(VulpixPic) - dwb NinetalesPic, Bank(NinetalesPic) - dwb JigglypuffPic, Bank(JigglypuffPic) - dwb WigglytuffPic, Bank(WigglytuffPic) - dwb ZubatPic, Bank(ZubatPic) - dwb GolbatPic, Bank(GolbatPic) - dwb OddishPic, Bank(OddishPic) - dwb GloomPic, Bank(GloomPic) - dwb VileplumePic, Bank(VileplumePic) - dwb ParasPic, Bank(ParasPic) - dwb ParasectPic, Bank(ParasectPic) - dwb VenonatPic, Bank(VenonatPic) - dwb VenomothPic, Bank(VenomothPic) - dwb DiglettPic, Bank(DiglettPic) - dwb DugtrioPic, Bank(DugtrioPic) - dwb MeowthPic, Bank(MeowthPic) - dwb PersianPic, Bank(PersianPic) - dwb PsyduckPic, Bank(PsyduckPic) - dwb GolduckPic, Bank(GolduckPic) - dwb MankeyPic, Bank(MankeyPic) - dwb PrimeapePic, Bank(PrimeapePic) - dwb GrowlithePic, Bank(GrowlithePic) - dwb ArcaninePic, Bank(ArcaninePic) - dwb PoliwagPic, Bank(PoliwagPic) - dwb PoliwhirlPic, Bank(PoliwhirlPic) - dwb PoliwrathPic, Bank(PoliwrathPic) - dwb AbraPic, Bank(AbraPic) - dwb KadabraPic, Bank(KadabraPic) - dwb AlakazamPic, Bank(AlakazamPic) - dwb MachopPic, Bank(MachopPic) - dwb MachokePic, Bank(MachokePic) - dwb MachampPic, Bank(MachampPic) - dwb BellsproutPic, Bank(BellsproutPic) - dwb WeepinbellPic, Bank(WeepinbellPic) - dwb VictreebellPic, Bank(VictreebellPic) - dwb TentacoolPic, Bank(TentacoolPic) - dwb TentacruelPic, Bank(TentacruelPic) - dwb GeodudePic, Bank(GeodudePic) - dwb GravelerPic, Bank(GravelerPic) - dwb GolemPic, Bank(GolemPic) - dwb PonytaPic, Bank(PonytaPic) - dwb RapidashPic, Bank(RapidashPic) - dwb SlowpokePic, Bank(SlowpokePic) - dwb SlowbroPic, Bank(SlowbroPic) - dwb MagnemitePic, Bank(MagnemitePic) - dwb MagnetonPic, Bank(MagnetonPic) - dwb Farfetch_dPic, Bank(Farfetch_dPic) - dwb DoduoPic, Bank(DoduoPic) - dwb DodrioPic, Bank(DodrioPic) - dwb SeelPic, Bank(SeelPic) - dwb DewgongPic, Bank(DewgongPic) - dwb GrimerPic, Bank(GrimerPic) - dwb MukPic, Bank(MukPic) - dwb ShellderPic, Bank(ShellderPic) - dwb CloysterPic, Bank(CloysterPic) - dwb GastlyPic, Bank(GastlyPic) - dwb HaunterPic, Bank(HaunterPic) - dwb GengarPic, Bank(GengarPic) - dwb OnixPic, Bank(OnixPic) - dwb DrowzeePic, Bank(DrowzeePic) - dwb HypnoPic, Bank(HypnoPic) - dwb KrabbyPic, Bank(KrabbyPic) - dwb KinglerPic, Bank(KinglerPic) - dwb VoltorbPic, Bank(VoltorbPic) - dwb ElectrodePic, Bank(ElectrodePic) - dwb ExeggcutePic, Bank(ExeggcutePic) - dwb ExeggutorPic, Bank(ExeggutorPic) - dwb CubonePic, Bank(CubonePic) - dwb MarowakPic, Bank(MarowakPic) - dwb HitmonleePic, Bank(HitmonleePic) - dwb HitmonchanPic, Bank(HitmonchanPic) - dwb LickitungPic, Bank(LickitungPic) - dwb KoffingPic, Bank(KoffingPic) - dwb WeezingPic, Bank(WeezingPic) - dwb RhyhornPic, Bank(RhyhornPic) - dwb RhydonPic, Bank(RhydonPic) - dwb ChanseyPic, Bank(ChanseyPic) - dwb TangelaPic, Bank(TangelaPic) - dwb KangaskhanPic, Bank(KangaskhanPic) - dwb HorseaPic, Bank(HorseaPic) - dwb SeadraPic, Bank(SeadraPic) - dwb GoldeenPic, Bank(GoldeenPic) - dwb SeakingPic, Bank(SeakingPic) - dwb StaryuPic, Bank(StaryuPic) - dwb StarmiePic, Bank(StarmiePic) - dwb Mr_MimePic, Bank(Mr_MimePic) - dwb ScytherPic, Bank(ScytherPic) - dwb JynxPic, Bank(JynxPic) - dwb ElectabuzzPic, Bank(ElectabuzzPic) - dwb MagmarPic, Bank(MagmarPic) - dwb PinsirPic, Bank(PinsirPic) - dwb TaurosPic, Bank(TaurosPic) - dwb MagikarpPic, Bank(MagikarpPic) - dwb GyaradosPic, Bank(GyaradosPic) - dwb LaprasPic, Bank(LaprasPic) - dwb DittoPic, Bank(DittoPic) - dwb EeveePic, Bank(EeveePic) - dwb VaporeonPic, Bank(VaporeonPic) - dwb JolteonPic, Bank(JolteonPic) - dwb FlareonPic, Bank(FlareonPic) - dwb PorygonPic, Bank(PorygonPic) - dwb OmanytePic, Bank(OmanytePic) - dwb OmastarPic, Bank(OmastarPic) - dwb KabutoPic, Bank(KabutoPic) - dwb KabutopsPic, Bank(KabutopsPic) - dwb AerodactylPic, Bank(AerodactylPic) - dwb SnorlaxPic, Bank(SnorlaxPic) - dwb ArticunoPic, Bank(ArticunoPic) - dwb ZapdosPic, Bank(ZapdosPic) - dwb MoltresPic, Bank(MoltresPic) - dwb DratiniPic, Bank(DratiniPic) - dwb DragonairPic, Bank(DragonairPic) - dwb DragonitePic, Bank(DragonitePic) - dwb MewtwoPic, Bank(MewtwoPic) - dwb MewPic, Bank(MewPic) + dwb BulbasaurPic, Bank(BulbasaurPic) + dwb IvysaurPic, Bank(IvysaurPic) + dwb VenusaurPic, Bank(VenusaurPic) + dwb CharmanderPic, Bank(CharmanderPic) + dwb CharmeleonPic, Bank(CharmeleonPic) + dwb CharizardPic, Bank(CharizardPic) + dwb SquirtlePic, Bank(SquirtlePic) + dwb WartortlePic, Bank(WartortlePic) + dwb BlastoisePic, Bank(BlastoisePic) + dwb CaterpiePic, Bank(CaterpiePic) + dwb MetapodPic, Bank(MetapodPic) + dwb ButterfreePic, Bank(ButterfreePic) + dwb WeedlePic, Bank(WeedlePic) + dwb KakunaPic, Bank(KakunaPic) + dwb BeedrillPic, Bank(BeedrillPic) + dwb PidgeyPic, Bank(PidgeyPic) + dwb PidgeottoPic, Bank(PidgeottoPic) + dwb PidgeotPic, Bank(PidgeotPic) + dwb RattataPic, Bank(RattataPic) + dwb RaticatePic, Bank(RaticatePic) + dwb SpearowPic, Bank(SpearowPic) + dwb FearowPic, Bank(FearowPic) + dwb EkansPic, Bank(EkansPic) + dwb ArbokPic, Bank(ArbokPic) + dwb PikachuPic, Bank(PikachuPic) + dwb RaichuPic, Bank(RaichuPic) + dwb SandshrewPic, Bank(SandshrewPic) + dwb SandslashPic, Bank(SandslashPic) + dwb Nidoran_FPic, Bank(Nidoran_FPic) + dwb NidorinaPic, Bank(NidorinaPic) + dwb NidoqueenPic, Bank(NidoqueenPic) + dwb Nidoran_MPic, Bank(Nidoran_MPic) + dwb NidorinoPic, Bank(NidorinoPic) + dwb NidokingPic, Bank(NidokingPic) + dwb ClefairyPic, Bank(ClefairyPic) + dwb ClefablePic, Bank(ClefablePic) + dwb VulpixPic, Bank(VulpixPic) + dwb NinetalesPic, Bank(NinetalesPic) + dwb JigglypuffPic, Bank(JigglypuffPic) + dwb WigglytuffPic, Bank(WigglytuffPic) + dwb ZubatPic, Bank(ZubatPic) + dwb GolbatPic, Bank(GolbatPic) + dwb OddishPic, Bank(OddishPic) + dwb GloomPic, Bank(GloomPic) + dwb VileplumePic, Bank(VileplumePic) + dwb ParasPic, Bank(ParasPic) + dwb ParasectPic, Bank(ParasectPic) + dwb VenonatPic, Bank(VenonatPic) + dwb VenomothPic, Bank(VenomothPic) + dwb DiglettPic, Bank(DiglettPic) + dwb DugtrioPic, Bank(DugtrioPic) + dwb MeowthPic, Bank(MeowthPic) + dwb PersianPic, Bank(PersianPic) + dwb PsyduckPic, Bank(PsyduckPic) + dwb GolduckPic, Bank(GolduckPic) + dwb MankeyPic, Bank(MankeyPic) + dwb PrimeapePic, Bank(PrimeapePic) + dwb GrowlithePic, Bank(GrowlithePic) + dwb ArcaninePic, Bank(ArcaninePic) + dwb PoliwagPic, Bank(PoliwagPic) + dwb PoliwhirlPic, Bank(PoliwhirlPic) + dwb PoliwrathPic, Bank(PoliwrathPic) + dwb AbraPic, Bank(AbraPic) + dwb KadabraPic, Bank(KadabraPic) + dwb AlakazamPic, Bank(AlakazamPic) + dwb MachopPic, Bank(MachopPic) + dwb MachokePic, Bank(MachokePic) + dwb MachampPic, Bank(MachampPic) + dwb BellsproutPic, Bank(BellsproutPic) + dwb WeepinbellPic, Bank(WeepinbellPic) + dwb VictreebellPic, Bank(VictreebellPic) + dwb TentacoolPic, Bank(TentacoolPic) + dwb TentacruelPic, Bank(TentacruelPic) + dwb GeodudePic, Bank(GeodudePic) + dwb GravelerPic, Bank(GravelerPic) + dwb GolemPic, Bank(GolemPic) + dwb PonytaPic, Bank(PonytaPic) + dwb RapidashPic, Bank(RapidashPic) + dwb SlowpokePic, Bank(SlowpokePic) + dwb SlowbroPic, Bank(SlowbroPic) + dwb MagnemitePic, Bank(MagnemitePic) + dwb MagnetonPic, Bank(MagnetonPic) + dwb Farfetch_dPic, Bank(Farfetch_dPic) + dwb DoduoPic, Bank(DoduoPic) + dwb DodrioPic, Bank(DodrioPic) + dwb SeelPic, Bank(SeelPic) + dwb DewgongPic, Bank(DewgongPic) + dwb GrimerPic, Bank(GrimerPic) + dwb MukPic, Bank(MukPic) + dwb ShellderPic, Bank(ShellderPic) + dwb CloysterPic, Bank(CloysterPic) + dwb GastlyPic, Bank(GastlyPic) + dwb HaunterPic, Bank(HaunterPic) + dwb GengarPic, Bank(GengarPic) + dwb OnixPic, Bank(OnixPic) + dwb DrowzeePic, Bank(DrowzeePic) + dwb HypnoPic, Bank(HypnoPic) + dwb KrabbyPic, Bank(KrabbyPic) + dwb KinglerPic, Bank(KinglerPic) + dwb VoltorbPic, Bank(VoltorbPic) + dwb ElectrodePic, Bank(ElectrodePic) + dwb ExeggcutePic, Bank(ExeggcutePic) + dwb ExeggutorPic, Bank(ExeggutorPic) + dwb CubonePic, Bank(CubonePic) + dwb MarowakPic, Bank(MarowakPic) + dwb HitmonleePic, Bank(HitmonleePic) + dwb HitmonchanPic, Bank(HitmonchanPic) + dwb LickitungPic, Bank(LickitungPic) + dwb KoffingPic, Bank(KoffingPic) + dwb WeezingPic, Bank(WeezingPic) + dwb RhyhornPic, Bank(RhyhornPic) + dwb RhydonPic, Bank(RhydonPic) + dwb ChanseyPic, Bank(ChanseyPic) + dwb TangelaPic, Bank(TangelaPic) + dwb KangaskhanPic, Bank(KangaskhanPic) + dwb HorseaPic, Bank(HorseaPic) + dwb SeadraPic, Bank(SeadraPic) + dwb GoldeenPic, Bank(GoldeenPic) + dwb SeakingPic, Bank(SeakingPic) + dwb StaryuPic, Bank(StaryuPic) + dwb StarmiePic, Bank(StarmiePic) + dwb Mr_MimePic, Bank(Mr_MimePic) + dwb ScytherPic, Bank(ScytherPic) + dwb JynxPic, Bank(JynxPic) + dwb ElectabuzzPic, Bank(ElectabuzzPic) + dwb MagmarPic, Bank(MagmarPic) + dwb PinsirPic, Bank(PinsirPic) + dwb TaurosPic, Bank(TaurosPic) + dwb MagikarpPic, Bank(MagikarpPic) + dwb GyaradosPic, Bank(GyaradosPic) + dwb LaprasPic, Bank(LaprasPic) + dwb DittoPic, Bank(DittoPic) + dwb EeveePic, Bank(EeveePic) + dwb VaporeonPic, Bank(VaporeonPic) + dwb JolteonPic, Bank(JolteonPic) + dwb FlareonPic, Bank(FlareonPic) + dwb PorygonPic, Bank(PorygonPic) + dwb OmanytePic, Bank(OmanytePic) + dwb OmastarPic, Bank(OmastarPic) + dwb KabutoPic, Bank(KabutoPic) + dwb KabutopsPic, Bank(KabutopsPic) + dwb AerodactylPic, Bank(AerodactylPic) + dwb SnorlaxPic, Bank(SnorlaxPic) + dwb ArticunoPic, Bank(ArticunoPic) + dwb ZapdosPic, Bank(ZapdosPic) + dwb MoltresPic, Bank(MoltresPic) + dwb DratiniPic, Bank(DratiniPic) + dwb DragonairPic, Bank(DragonairPic) + dwb DragonitePic, Bank(DragonitePic) + dwb MewtwoPic, Bank(MewtwoPic) + dwb MewPic, Bank(MewPic) MonBillboardPaletteMapPointers: ; 0x12d15 - dwb BulbasaurBillboardBGPaletteMap, Bank(BulbasaurBillboardBGPaletteMap) - dwb IvysaurBillboardBGPaletteMap, Bank(IvysaurBillboardBGPaletteMap) - dwb VenusaurBillboardBGPaletteMap, Bank(VenusaurBillboardBGPaletteMap) - dwb CharmanderBillboardBGPaletteMap, Bank(CharmanderBillboardBGPaletteMap) - dwb CharmeleonBillboardBGPaletteMap, Bank(CharmeleonBillboardBGPaletteMap) - dwb CharizardBillboardBGPaletteMap, Bank(CharizardBillboardBGPaletteMap) - dwb SquirtleBillboardBGPaletteMap, Bank(SquirtleBillboardBGPaletteMap) - dwb WartortleBillboardBGPaletteMap, Bank(WartortleBillboardBGPaletteMap) - dwb BlastoiseBillboardBGPaletteMap, Bank(BlastoiseBillboardBGPaletteMap) - dwb CaterpieBillboardBGPaletteMap, Bank(CaterpieBillboardBGPaletteMap) - dwb MetapodBillboardBGPaletteMap, Bank(MetapodBillboardBGPaletteMap) - dwb ButterfreeBillboardBGPaletteMap, Bank(ButterfreeBillboardBGPaletteMap) - dwb WeedleBillboardBGPaletteMap, Bank(WeedleBillboardBGPaletteMap) - dwb KakunaBillboardBGPaletteMap, Bank(KakunaBillboardBGPaletteMap) - dwb BeedrillBillboardBGPaletteMap, Bank(BeedrillBillboardBGPaletteMap) - dwb PidgeyBillboardBGPaletteMap, Bank(PidgeyBillboardBGPaletteMap) - dwb PidgeottoBillboardBGPaletteMap, Bank(PidgeottoBillboardBGPaletteMap) - dwb PidgeotBillboardBGPaletteMap, Bank(PidgeotBillboardBGPaletteMap) - dwb RattataBillboardBGPaletteMap, Bank(RattataBillboardBGPaletteMap) - dwb RaticateBillboardBGPaletteMap, Bank(RaticateBillboardBGPaletteMap) - dwb SpearowBillboardBGPaletteMap, Bank(SpearowBillboardBGPaletteMap) - dwb FearowBillboardBGPaletteMap, Bank(FearowBillboardBGPaletteMap) - dwb EkansBillboardBGPaletteMap, Bank(EkansBillboardBGPaletteMap) - dwb ArbokBillboardBGPaletteMap, Bank(ArbokBillboardBGPaletteMap) - dwb PikachuBillboardBGPaletteMap, Bank(PikachuBillboardBGPaletteMap) - dwb RaichuBillboardBGPaletteMap, Bank(RaichuBillboardBGPaletteMap) - dwb SandshrewBillboardBGPaletteMap, Bank(SandshrewBillboardBGPaletteMap) - dwb SandslashBillboardBGPaletteMap, Bank(SandslashBillboardBGPaletteMap) - dwb NidoranFBillboardBGPaletteMap, Bank(NidoranFBillboardBGPaletteMap) - dwb NidorinaBillboardBGPaletteMap, Bank(NidorinaBillboardBGPaletteMap) - dwb NidoqueenBillboardBGPaletteMap, Bank(NidoqueenBillboardBGPaletteMap) - dwb NidoranMBillboardBGPaletteMap, Bank(NidoranMBillboardBGPaletteMap) - dwb NidorinoBillboardBGPaletteMap, Bank(NidorinoBillboardBGPaletteMap) - dwb NidokingBillboardBGPaletteMap, Bank(NidokingBillboardBGPaletteMap) - dwb ClefairyBillboardBGPaletteMap, Bank(ClefairyBillboardBGPaletteMap) - dwb ClefableBillboardBGPaletteMap, Bank(ClefableBillboardBGPaletteMap) - dwb VulpixBillboardBGPaletteMap, Bank(VulpixBillboardBGPaletteMap) - dwb NinetalesBillboardBGPaletteMap, Bank(NinetalesBillboardBGPaletteMap) - dwb JigglypuffBillboardBGPaletteMap, Bank(JigglypuffBillboardBGPaletteMap) - dwb WigglytuffBillboardBGPaletteMap, Bank(WigglytuffBillboardBGPaletteMap) - dwb ZubatBillboardBGPaletteMap, Bank(ZubatBillboardBGPaletteMap) - dwb GolbatBillboardBGPaletteMap, Bank(GolbatBillboardBGPaletteMap) - dwb OddishBillboardBGPaletteMap, Bank(OddishBillboardBGPaletteMap) - dwb GloomBillboardBGPaletteMap, Bank(GloomBillboardBGPaletteMap) - dwb VileplumeBillboardBGPaletteMap, Bank(VileplumeBillboardBGPaletteMap) - dwb ParasBillboardBGPaletteMap, Bank(ParasBillboardBGPaletteMap) - dwb ParasectBillboardBGPaletteMap, Bank(ParasectBillboardBGPaletteMap) - dwb VenonatBillboardBGPaletteMap, Bank(VenonatBillboardBGPaletteMap) - dwb VenomothBillboardBGPaletteMap, Bank(VenomothBillboardBGPaletteMap) - dwb DiglettBillboardBGPaletteMap, Bank(DiglettBillboardBGPaletteMap) - dwb DugtrioBillboardBGPaletteMap, Bank(DugtrioBillboardBGPaletteMap) - dwb MeowthBillboardBGPaletteMap, Bank(MeowthBillboardBGPaletteMap) - dwb PersianBillboardBGPaletteMap, Bank(PersianBillboardBGPaletteMap) - dwb PsyduckBillboardBGPaletteMap, Bank(PsyduckBillboardBGPaletteMap) - dwb GolduckBillboardBGPaletteMap, Bank(GolduckBillboardBGPaletteMap) - dwb MankeyBillboardBGPaletteMap, Bank(MankeyBillboardBGPaletteMap) - dwb PrimeapeBillboardBGPaletteMap, Bank(PrimeapeBillboardBGPaletteMap) - dwb GrowlitheBillboardBGPaletteMap, Bank(GrowlitheBillboardBGPaletteMap) - dwb ArcanineBillboardBGPaletteMap, Bank(ArcanineBillboardBGPaletteMap) - dwb PoliwagBillboardBGPaletteMap, Bank(PoliwagBillboardBGPaletteMap) - dwb PoliwhirlBillboardBGPaletteMap, Bank(PoliwhirlBillboardBGPaletteMap) - dwb PoliwrathBillboardBGPaletteMap, Bank(PoliwrathBillboardBGPaletteMap) - dwb AbraBillboardBGPaletteMap, Bank(AbraBillboardBGPaletteMap) - dwb KadabraBillboardBGPaletteMap, Bank(KadabraBillboardBGPaletteMap) - dwb AlakazamBillboardBGPaletteMap, Bank(AlakazamBillboardBGPaletteMap) - dwb MachopBillboardBGPaletteMap, Bank(MachopBillboardBGPaletteMap) - dwb MachokeBillboardBGPaletteMap, Bank(MachokeBillboardBGPaletteMap) - dwb MachampBillboardBGPaletteMap, Bank(MachampBillboardBGPaletteMap) - dwb BellsproutBillboardBGPaletteMap, Bank(BellsproutBillboardBGPaletteMap) - dwb WeepinbellBillboardBGPaletteMap, Bank(WeepinbellBillboardBGPaletteMap) - dwb VictreebellBillboardBGPaletteMap, Bank(VictreebellBillboardBGPaletteMap) - dwb TentacoolBillboardBGPaletteMap, Bank(TentacoolBillboardBGPaletteMap) - dwb TentacruelBillboardBGPaletteMap, Bank(TentacruelBillboardBGPaletteMap) - dwb GeodudeBillboardBGPaletteMap, Bank(GeodudeBillboardBGPaletteMap) - dwb GravelerBillboardBGPaletteMap, Bank(GravelerBillboardBGPaletteMap) - dwb GolemBillboardBGPaletteMap, Bank(GolemBillboardBGPaletteMap) - dwb PonytaBillboardBGPaletteMap, Bank(PonytaBillboardBGPaletteMap) - dwb RapidashBillboardBGPaletteMap, Bank(RapidashBillboardBGPaletteMap) - dwb SlowpokeBillboardBGPaletteMap, Bank(SlowpokeBillboardBGPaletteMap) - dwb SlowbroBillboardBGPaletteMap, Bank(SlowbroBillboardBGPaletteMap) - dwb MagnemiteBillboardBGPaletteMap, Bank(MagnemiteBillboardBGPaletteMap) - dwb MagnetonBillboardBGPaletteMap, Bank(MagnetonBillboardBGPaletteMap) - dwb FarfetchdBillboardBGPaletteMap, Bank(FarfetchdBillboardBGPaletteMap) - dwb DoduoBillboardBGPaletteMap, Bank(DoduoBillboardBGPaletteMap) - dwb DodrioBillboardBGPaletteMap, Bank(DodrioBillboardBGPaletteMap) - dwb SeelBillboardBGPaletteMap, Bank(SeelBillboardBGPaletteMap) - dwb DewgongBillboardBGPaletteMap, Bank(DewgongBillboardBGPaletteMap) - dwb GrimerBillboardBGPaletteMap, Bank(GrimerBillboardBGPaletteMap) - dwb MukBillboardBGPaletteMap, Bank(MukBillboardBGPaletteMap) - dwb ShellderBillboardBGPaletteMap, Bank(ShellderBillboardBGPaletteMap) - dwb CloysterBillboardBGPaletteMap, Bank(CloysterBillboardBGPaletteMap) - dwb GastlyBillboardBGPaletteMap, Bank(GastlyBillboardBGPaletteMap) - dwb HaunterBillboardBGPaletteMap, Bank(HaunterBillboardBGPaletteMap) - dwb GengarBillboardBGPaletteMap, Bank(GengarBillboardBGPaletteMap) - dwb OnixBillboardBGPaletteMap, Bank(OnixBillboardBGPaletteMap) - dwb DrowzeeBillboardBGPaletteMap, Bank(DrowzeeBillboardBGPaletteMap) - dwb HypnoBillboardBGPaletteMap, Bank(HypnoBillboardBGPaletteMap) - dwb KrabbyBillboardBGPaletteMap, Bank(KrabbyBillboardBGPaletteMap) - dwb KinglerBillboardBGPaletteMap, Bank(KinglerBillboardBGPaletteMap) - dwb VoltorbBillboardBGPaletteMap, Bank(VoltorbBillboardBGPaletteMap) - dwb ElectrodeBillboardBGPaletteMap, Bank(ElectrodeBillboardBGPaletteMap) - dwb ExeggcuteBillboardBGPaletteMap, Bank(ExeggcuteBillboardBGPaletteMap) - dwb ExeggutorBillboardBGPaletteMap, Bank(ExeggutorBillboardBGPaletteMap) - dwb CuboneBillboardBGPaletteMap, Bank(CuboneBillboardBGPaletteMap) - dwb MarowakBillboardBGPaletteMap, Bank(MarowakBillboardBGPaletteMap) - dwb HitmonleeBillboardBGPaletteMap, Bank(HitmonleeBillboardBGPaletteMap) - dwb HitmonchanBillboardBGPaletteMap, Bank(HitmonchanBillboardBGPaletteMap) - dwb LickitungBillboardBGPaletteMap, Bank(LickitungBillboardBGPaletteMap) - dwb KoffingBillboardBGPaletteMap, Bank(KoffingBillboardBGPaletteMap) - dwb WeezingBillboardBGPaletteMap, Bank(WeezingBillboardBGPaletteMap) - dwb RhyhornBillboardBGPaletteMap, Bank(RhyhornBillboardBGPaletteMap) - dwb RhydonBillboardBGPaletteMap, Bank(RhydonBillboardBGPaletteMap) - dwb ChanseyBillboardBGPaletteMap, Bank(ChanseyBillboardBGPaletteMap) - dwb TangelaBillboardBGPaletteMap, Bank(TangelaBillboardBGPaletteMap) - dwb KangaskhanBillboardBGPaletteMap, Bank(KangaskhanBillboardBGPaletteMap) - dwb HorseaBillboardBGPaletteMap, Bank(HorseaBillboardBGPaletteMap) - dwb SeadraBillboardBGPaletteMap, Bank(SeadraBillboardBGPaletteMap) - dwb GoldeenBillboardBGPaletteMap, Bank(GoldeenBillboardBGPaletteMap) - dwb SeakingBillboardBGPaletteMap, Bank(SeakingBillboardBGPaletteMap) - dwb StaryuBillboardBGPaletteMap, Bank(StaryuBillboardBGPaletteMap) - dwb StarmieBillboardBGPaletteMap, Bank(StarmieBillboardBGPaletteMap) - dwb MrMimeBillboardBGPaletteMap, Bank(MrMimeBillboardBGPaletteMap) - dwb ScytherBillboardBGPaletteMap, Bank(ScytherBillboardBGPaletteMap) - dwb JynxBillboardBGPaletteMap, Bank(JynxBillboardBGPaletteMap) - dwb ElectabuzzBillboardBGPaletteMap, Bank(ElectabuzzBillboardBGPaletteMap) - dwb MagmarBillboardBGPaletteMap, Bank(MagmarBillboardBGPaletteMap) - dwb PinsirBillboardBGPaletteMap, Bank(PinsirBillboardBGPaletteMap) - dwb TaurosBillboardBGPaletteMap, Bank(TaurosBillboardBGPaletteMap) - dwb MagikarpBillboardBGPaletteMap, Bank(MagikarpBillboardBGPaletteMap) - dwb GyaradosBillboardBGPaletteMap, Bank(GyaradosBillboardBGPaletteMap) - dwb LaprasBillboardBGPaletteMap, Bank(LaprasBillboardBGPaletteMap) - dwb DittoBillboardBGPaletteMap, Bank(DittoBillboardBGPaletteMap) - dwb EeveeBillboardBGPaletteMap, Bank(EeveeBillboardBGPaletteMap) - dwb VaporeonBillboardBGPaletteMap, Bank(VaporeonBillboardBGPaletteMap) - dwb JolteonBillboardBGPaletteMap, Bank(JolteonBillboardBGPaletteMap) - dwb FlareonBillboardBGPaletteMap, Bank(FlareonBillboardBGPaletteMap) - dwb PorygonBillboardBGPaletteMap, Bank(PorygonBillboardBGPaletteMap) - dwb OmanyteBillboardBGPaletteMap, Bank(OmanyteBillboardBGPaletteMap) - dwb OmastarBillboardBGPaletteMap, Bank(OmastarBillboardBGPaletteMap) - dwb KabutoBillboardBGPaletteMap, Bank(KabutoBillboardBGPaletteMap) - dwb KabutopsBillboardBGPaletteMap, Bank(KabutopsBillboardBGPaletteMap) - dwb AerodactylBillboardBGPaletteMap, Bank(AerodactylBillboardBGPaletteMap) - dwb SnorlaxBillboardBGPaletteMap, Bank(SnorlaxBillboardBGPaletteMap) - dwb ArticunoBillboardBGPaletteMap, Bank(ArticunoBillboardBGPaletteMap) - dwb ZapdosBillboardBGPaletteMap, Bank(ZapdosBillboardBGPaletteMap) - dwb MoltresBillboardBGPaletteMap, Bank(MoltresBillboardBGPaletteMap) - dwb DratiniBillboardBGPaletteMap, Bank(DratiniBillboardBGPaletteMap) - dwb DragonairBillboardBGPaletteMap, Bank(DragonairBillboardBGPaletteMap) - dwb DragoniteBillboardBGPaletteMap, Bank(DragoniteBillboardBGPaletteMap) - dwb MewtwoBillboardBGPaletteMap, Bank(MewtwoBillboardBGPaletteMap) - dwb MewBillboardBGPaletteMap, Bank(MewBillboardBGPaletteMap) + dwb BulbasaurBillboardBGPaletteMap, Bank(BulbasaurBillboardBGPaletteMap) + dwb IvysaurBillboardBGPaletteMap, Bank(IvysaurBillboardBGPaletteMap) + dwb VenusaurBillboardBGPaletteMap, Bank(VenusaurBillboardBGPaletteMap) + dwb CharmanderBillboardBGPaletteMap, Bank(CharmanderBillboardBGPaletteMap) + dwb CharmeleonBillboardBGPaletteMap, Bank(CharmeleonBillboardBGPaletteMap) + dwb CharizardBillboardBGPaletteMap, Bank(CharizardBillboardBGPaletteMap) + dwb SquirtleBillboardBGPaletteMap, Bank(SquirtleBillboardBGPaletteMap) + dwb WartortleBillboardBGPaletteMap, Bank(WartortleBillboardBGPaletteMap) + dwb BlastoiseBillboardBGPaletteMap, Bank(BlastoiseBillboardBGPaletteMap) + dwb CaterpieBillboardBGPaletteMap, Bank(CaterpieBillboardBGPaletteMap) + dwb MetapodBillboardBGPaletteMap, Bank(MetapodBillboardBGPaletteMap) + dwb ButterfreeBillboardBGPaletteMap, Bank(ButterfreeBillboardBGPaletteMap) + dwb WeedleBillboardBGPaletteMap, Bank(WeedleBillboardBGPaletteMap) + dwb KakunaBillboardBGPaletteMap, Bank(KakunaBillboardBGPaletteMap) + dwb BeedrillBillboardBGPaletteMap, Bank(BeedrillBillboardBGPaletteMap) + dwb PidgeyBillboardBGPaletteMap, Bank(PidgeyBillboardBGPaletteMap) + dwb PidgeottoBillboardBGPaletteMap, Bank(PidgeottoBillboardBGPaletteMap) + dwb PidgeotBillboardBGPaletteMap, Bank(PidgeotBillboardBGPaletteMap) + dwb RattataBillboardBGPaletteMap, Bank(RattataBillboardBGPaletteMap) + dwb RaticateBillboardBGPaletteMap, Bank(RaticateBillboardBGPaletteMap) + dwb SpearowBillboardBGPaletteMap, Bank(SpearowBillboardBGPaletteMap) + dwb FearowBillboardBGPaletteMap, Bank(FearowBillboardBGPaletteMap) + dwb EkansBillboardBGPaletteMap, Bank(EkansBillboardBGPaletteMap) + dwb ArbokBillboardBGPaletteMap, Bank(ArbokBillboardBGPaletteMap) + dwb PikachuBillboardBGPaletteMap, Bank(PikachuBillboardBGPaletteMap) + dwb RaichuBillboardBGPaletteMap, Bank(RaichuBillboardBGPaletteMap) + dwb SandshrewBillboardBGPaletteMap, Bank(SandshrewBillboardBGPaletteMap) + dwb SandslashBillboardBGPaletteMap, Bank(SandslashBillboardBGPaletteMap) + dwb NidoranFBillboardBGPaletteMap, Bank(NidoranFBillboardBGPaletteMap) + dwb NidorinaBillboardBGPaletteMap, Bank(NidorinaBillboardBGPaletteMap) + dwb NidoqueenBillboardBGPaletteMap, Bank(NidoqueenBillboardBGPaletteMap) + dwb NidoranMBillboardBGPaletteMap, Bank(NidoranMBillboardBGPaletteMap) + dwb NidorinoBillboardBGPaletteMap, Bank(NidorinoBillboardBGPaletteMap) + dwb NidokingBillboardBGPaletteMap, Bank(NidokingBillboardBGPaletteMap) + dwb ClefairyBillboardBGPaletteMap, Bank(ClefairyBillboardBGPaletteMap) + dwb ClefableBillboardBGPaletteMap, Bank(ClefableBillboardBGPaletteMap) + dwb VulpixBillboardBGPaletteMap, Bank(VulpixBillboardBGPaletteMap) + dwb NinetalesBillboardBGPaletteMap, Bank(NinetalesBillboardBGPaletteMap) + dwb JigglypuffBillboardBGPaletteMap, Bank(JigglypuffBillboardBGPaletteMap) + dwb WigglytuffBillboardBGPaletteMap, Bank(WigglytuffBillboardBGPaletteMap) + dwb ZubatBillboardBGPaletteMap, Bank(ZubatBillboardBGPaletteMap) + dwb GolbatBillboardBGPaletteMap, Bank(GolbatBillboardBGPaletteMap) + dwb OddishBillboardBGPaletteMap, Bank(OddishBillboardBGPaletteMap) + dwb GloomBillboardBGPaletteMap, Bank(GloomBillboardBGPaletteMap) + dwb VileplumeBillboardBGPaletteMap, Bank(VileplumeBillboardBGPaletteMap) + dwb ParasBillboardBGPaletteMap, Bank(ParasBillboardBGPaletteMap) + dwb ParasectBillboardBGPaletteMap, Bank(ParasectBillboardBGPaletteMap) + dwb VenonatBillboardBGPaletteMap, Bank(VenonatBillboardBGPaletteMap) + dwb VenomothBillboardBGPaletteMap, Bank(VenomothBillboardBGPaletteMap) + dwb DiglettBillboardBGPaletteMap, Bank(DiglettBillboardBGPaletteMap) + dwb DugtrioBillboardBGPaletteMap, Bank(DugtrioBillboardBGPaletteMap) + dwb MeowthBillboardBGPaletteMap, Bank(MeowthBillboardBGPaletteMap) + dwb PersianBillboardBGPaletteMap, Bank(PersianBillboardBGPaletteMap) + dwb PsyduckBillboardBGPaletteMap, Bank(PsyduckBillboardBGPaletteMap) + dwb GolduckBillboardBGPaletteMap, Bank(GolduckBillboardBGPaletteMap) + dwb MankeyBillboardBGPaletteMap, Bank(MankeyBillboardBGPaletteMap) + dwb PrimeapeBillboardBGPaletteMap, Bank(PrimeapeBillboardBGPaletteMap) + dwb GrowlitheBillboardBGPaletteMap, Bank(GrowlitheBillboardBGPaletteMap) + dwb ArcanineBillboardBGPaletteMap, Bank(ArcanineBillboardBGPaletteMap) + dwb PoliwagBillboardBGPaletteMap, Bank(PoliwagBillboardBGPaletteMap) + dwb PoliwhirlBillboardBGPaletteMap, Bank(PoliwhirlBillboardBGPaletteMap) + dwb PoliwrathBillboardBGPaletteMap, Bank(PoliwrathBillboardBGPaletteMap) + dwb AbraBillboardBGPaletteMap, Bank(AbraBillboardBGPaletteMap) + dwb KadabraBillboardBGPaletteMap, Bank(KadabraBillboardBGPaletteMap) + dwb AlakazamBillboardBGPaletteMap, Bank(AlakazamBillboardBGPaletteMap) + dwb MachopBillboardBGPaletteMap, Bank(MachopBillboardBGPaletteMap) + dwb MachokeBillboardBGPaletteMap, Bank(MachokeBillboardBGPaletteMap) + dwb MachampBillboardBGPaletteMap, Bank(MachampBillboardBGPaletteMap) + dwb BellsproutBillboardBGPaletteMap, Bank(BellsproutBillboardBGPaletteMap) + dwb WeepinbellBillboardBGPaletteMap, Bank(WeepinbellBillboardBGPaletteMap) + dwb VictreebellBillboardBGPaletteMap, Bank(VictreebellBillboardBGPaletteMap) + dwb TentacoolBillboardBGPaletteMap, Bank(TentacoolBillboardBGPaletteMap) + dwb TentacruelBillboardBGPaletteMap, Bank(TentacruelBillboardBGPaletteMap) + dwb GeodudeBillboardBGPaletteMap, Bank(GeodudeBillboardBGPaletteMap) + dwb GravelerBillboardBGPaletteMap, Bank(GravelerBillboardBGPaletteMap) + dwb GolemBillboardBGPaletteMap, Bank(GolemBillboardBGPaletteMap) + dwb PonytaBillboardBGPaletteMap, Bank(PonytaBillboardBGPaletteMap) + dwb RapidashBillboardBGPaletteMap, Bank(RapidashBillboardBGPaletteMap) + dwb SlowpokeBillboardBGPaletteMap, Bank(SlowpokeBillboardBGPaletteMap) + dwb SlowbroBillboardBGPaletteMap, Bank(SlowbroBillboardBGPaletteMap) + dwb MagnemiteBillboardBGPaletteMap, Bank(MagnemiteBillboardBGPaletteMap) + dwb MagnetonBillboardBGPaletteMap, Bank(MagnetonBillboardBGPaletteMap) + dwb FarfetchdBillboardBGPaletteMap, Bank(FarfetchdBillboardBGPaletteMap) + dwb DoduoBillboardBGPaletteMap, Bank(DoduoBillboardBGPaletteMap) + dwb DodrioBillboardBGPaletteMap, Bank(DodrioBillboardBGPaletteMap) + dwb SeelBillboardBGPaletteMap, Bank(SeelBillboardBGPaletteMap) + dwb DewgongBillboardBGPaletteMap, Bank(DewgongBillboardBGPaletteMap) + dwb GrimerBillboardBGPaletteMap, Bank(GrimerBillboardBGPaletteMap) + dwb MukBillboardBGPaletteMap, Bank(MukBillboardBGPaletteMap) + dwb ShellderBillboardBGPaletteMap, Bank(ShellderBillboardBGPaletteMap) + dwb CloysterBillboardBGPaletteMap, Bank(CloysterBillboardBGPaletteMap) + dwb GastlyBillboardBGPaletteMap, Bank(GastlyBillboardBGPaletteMap) + dwb HaunterBillboardBGPaletteMap, Bank(HaunterBillboardBGPaletteMap) + dwb GengarBillboardBGPaletteMap, Bank(GengarBillboardBGPaletteMap) + dwb OnixBillboardBGPaletteMap, Bank(OnixBillboardBGPaletteMap) + dwb DrowzeeBillboardBGPaletteMap, Bank(DrowzeeBillboardBGPaletteMap) + dwb HypnoBillboardBGPaletteMap, Bank(HypnoBillboardBGPaletteMap) + dwb KrabbyBillboardBGPaletteMap, Bank(KrabbyBillboardBGPaletteMap) + dwb KinglerBillboardBGPaletteMap, Bank(KinglerBillboardBGPaletteMap) + dwb VoltorbBillboardBGPaletteMap, Bank(VoltorbBillboardBGPaletteMap) + dwb ElectrodeBillboardBGPaletteMap, Bank(ElectrodeBillboardBGPaletteMap) + dwb ExeggcuteBillboardBGPaletteMap, Bank(ExeggcuteBillboardBGPaletteMap) + dwb ExeggutorBillboardBGPaletteMap, Bank(ExeggutorBillboardBGPaletteMap) + dwb CuboneBillboardBGPaletteMap, Bank(CuboneBillboardBGPaletteMap) + dwb MarowakBillboardBGPaletteMap, Bank(MarowakBillboardBGPaletteMap) + dwb HitmonleeBillboardBGPaletteMap, Bank(HitmonleeBillboardBGPaletteMap) + dwb HitmonchanBillboardBGPaletteMap, Bank(HitmonchanBillboardBGPaletteMap) + dwb LickitungBillboardBGPaletteMap, Bank(LickitungBillboardBGPaletteMap) + dwb KoffingBillboardBGPaletteMap, Bank(KoffingBillboardBGPaletteMap) + dwb WeezingBillboardBGPaletteMap, Bank(WeezingBillboardBGPaletteMap) + dwb RhyhornBillboardBGPaletteMap, Bank(RhyhornBillboardBGPaletteMap) + dwb RhydonBillboardBGPaletteMap, Bank(RhydonBillboardBGPaletteMap) + dwb ChanseyBillboardBGPaletteMap, Bank(ChanseyBillboardBGPaletteMap) + dwb TangelaBillboardBGPaletteMap, Bank(TangelaBillboardBGPaletteMap) + dwb KangaskhanBillboardBGPaletteMap, Bank(KangaskhanBillboardBGPaletteMap) + dwb HorseaBillboardBGPaletteMap, Bank(HorseaBillboardBGPaletteMap) + dwb SeadraBillboardBGPaletteMap, Bank(SeadraBillboardBGPaletteMap) + dwb GoldeenBillboardBGPaletteMap, Bank(GoldeenBillboardBGPaletteMap) + dwb SeakingBillboardBGPaletteMap, Bank(SeakingBillboardBGPaletteMap) + dwb StaryuBillboardBGPaletteMap, Bank(StaryuBillboardBGPaletteMap) + dwb StarmieBillboardBGPaletteMap, Bank(StarmieBillboardBGPaletteMap) + dwb MrMimeBillboardBGPaletteMap, Bank(MrMimeBillboardBGPaletteMap) + dwb ScytherBillboardBGPaletteMap, Bank(ScytherBillboardBGPaletteMap) + dwb JynxBillboardBGPaletteMap, Bank(JynxBillboardBGPaletteMap) + dwb ElectabuzzBillboardBGPaletteMap, Bank(ElectabuzzBillboardBGPaletteMap) + dwb MagmarBillboardBGPaletteMap, Bank(MagmarBillboardBGPaletteMap) + dwb PinsirBillboardBGPaletteMap, Bank(PinsirBillboardBGPaletteMap) + dwb TaurosBillboardBGPaletteMap, Bank(TaurosBillboardBGPaletteMap) + dwb MagikarpBillboardBGPaletteMap, Bank(MagikarpBillboardBGPaletteMap) + dwb GyaradosBillboardBGPaletteMap, Bank(GyaradosBillboardBGPaletteMap) + dwb LaprasBillboardBGPaletteMap, Bank(LaprasBillboardBGPaletteMap) + dwb DittoBillboardBGPaletteMap, Bank(DittoBillboardBGPaletteMap) + dwb EeveeBillboardBGPaletteMap, Bank(EeveeBillboardBGPaletteMap) + dwb VaporeonBillboardBGPaletteMap, Bank(VaporeonBillboardBGPaletteMap) + dwb JolteonBillboardBGPaletteMap, Bank(JolteonBillboardBGPaletteMap) + dwb FlareonBillboardBGPaletteMap, Bank(FlareonBillboardBGPaletteMap) + dwb PorygonBillboardBGPaletteMap, Bank(PorygonBillboardBGPaletteMap) + dwb OmanyteBillboardBGPaletteMap, Bank(OmanyteBillboardBGPaletteMap) + dwb OmastarBillboardBGPaletteMap, Bank(OmastarBillboardBGPaletteMap) + dwb KabutoBillboardBGPaletteMap, Bank(KabutoBillboardBGPaletteMap) + dwb KabutopsBillboardBGPaletteMap, Bank(KabutopsBillboardBGPaletteMap) + dwb AerodactylBillboardBGPaletteMap, Bank(AerodactylBillboardBGPaletteMap) + dwb SnorlaxBillboardBGPaletteMap, Bank(SnorlaxBillboardBGPaletteMap) + dwb ArticunoBillboardBGPaletteMap, Bank(ArticunoBillboardBGPaletteMap) + dwb ZapdosBillboardBGPaletteMap, Bank(ZapdosBillboardBGPaletteMap) + dwb MoltresBillboardBGPaletteMap, Bank(MoltresBillboardBGPaletteMap) + dwb DratiniBillboardBGPaletteMap, Bank(DratiniBillboardBGPaletteMap) + dwb DragonairBillboardBGPaletteMap, Bank(DragonairBillboardBGPaletteMap) + dwb DragoniteBillboardBGPaletteMap, Bank(DragoniteBillboardBGPaletteMap) + dwb MewtwoBillboardBGPaletteMap, Bank(MewtwoBillboardBGPaletteMap) + dwb MewBillboardBGPaletteMap, Bank(MewBillboardBGPaletteMap) MonBillboardPalettePointers: ; 0x12eda - dwb BulbasaurBillboardBGPalette1, Bank(BulbasaurBillboardBGPalette1) - dwb IvysaurBillboardBGPalette1, Bank(IvysaurBillboardBGPalette1) - dwb VenusaurBillboardBGPalette1, Bank(VenusaurBillboardBGPalette1) - dwb CharmanderBillboardBGPalette1, Bank(CharmanderBillboardBGPalette1) - dwb CharmeleonBillboardBGPalette1, Bank(CharmeleonBillboardBGPalette1) - dwb CharizardBillboardBGPalette1, Bank(CharizardBillboardBGPalette1) - dwb SquirtleBillboardBGPalette1, Bank(SquirtleBillboardBGPalette1) - dwb WartortleBillboardBGPalette1, Bank(WartortleBillboardBGPalette1) - dwb BlastoiseBillboardBGPalette1, Bank(BlastoiseBillboardBGPalette1) - dwb CaterpieBillboardBGPalette1, Bank(CaterpieBillboardBGPalette1) - dwb MetapodBillboardBGPalette1, Bank(MetapodBillboardBGPalette1) - dwb ButterfreeBillboardBGPalette1, Bank(ButterfreeBillboardBGPalette1) - dwb WeedleBillboardBGPalette1, Bank(WeedleBillboardBGPalette1) - dwb KakunaBillboardBGPalette1, Bank(KakunaBillboardBGPalette1) - dwb BeedrillBillboardBGPalette1, Bank(BeedrillBillboardBGPalette1) - dwb PidgeyBillboardBGPalette1, Bank(PidgeyBillboardBGPalette1) - dwb PidgeottoBillboardBGPalette1, Bank(PidgeottoBillboardBGPalette1) - dwb PidgeotBillboardBGPalette1, Bank(PidgeotBillboardBGPalette1) - dwb RattataBillboardBGPalette1, Bank(RattataBillboardBGPalette1) - dwb RaticateBillboardBGPalette1, Bank(RaticateBillboardBGPalette1) - dwb SpearowBillboardBGPalette1, Bank(SpearowBillboardBGPalette1) - dwb FearowBillboardBGPalette1, Bank(FearowBillboardBGPalette1) - dwb EkansBillboardBGPalette1, Bank(EkansBillboardBGPalette1) - dwb ArbokBillboardBGPalette1, Bank(ArbokBillboardBGPalette1) - dwb PikachuBillboardBGPalette1, Bank(PikachuBillboardBGPalette1) - dwb RaichuBillboardBGPalette1, Bank(RaichuBillboardBGPalette1) - dwb SandshrewBillboardBGPalette1, Bank(SandshrewBillboardBGPalette1) - dwb SandslashBillboardBGPalette1, Bank(SandslashBillboardBGPalette1) - dwb NidoranFBillboardBGPalette1, Bank(NidoranFBillboardBGPalette1) - dwb NidorinaBillboardBGPalette1, Bank(NidorinaBillboardBGPalette1) - dwb NidoqueenBillboardBGPalette1, Bank(NidoqueenBillboardBGPalette1) - dwb NidoranMBillboardBGPalette1, Bank(NidoranMBillboardBGPalette1) - dwb NidorinoBillboardBGPalette1, Bank(NidorinoBillboardBGPalette1) - dwb NidokingBillboardBGPalette1, Bank(NidokingBillboardBGPalette1) - dwb ClefairyBillboardBGPalette1, Bank(ClefairyBillboardBGPalette1) - dwb ClefableBillboardBGPalette1, Bank(ClefableBillboardBGPalette1) - dwb VulpixBillboardBGPalette1, Bank(VulpixBillboardBGPalette1) - dwb NinetalesBillboardBGPalette1, Bank(NinetalesBillboardBGPalette1) - dwb JigglypuffBillboardBGPalette1, Bank(JigglypuffBillboardBGPalette1) - dwb WigglytuffBillboardBGPalette1, Bank(WigglytuffBillboardBGPalette1) - dwb ZubatBillboardBGPalette1, Bank(ZubatBillboardBGPalette1) - dwb GolbatBillboardBGPalette1, Bank(GolbatBillboardBGPalette1) - dwb OddishBillboardBGPalette1, Bank(OddishBillboardBGPalette1) - dwb GloomBillboardBGPalette1, Bank(GloomBillboardBGPalette1) - dwb VileplumeBillboardBGPalette1, Bank(VileplumeBillboardBGPalette1) - dwb ParasBillboardBGPalette1, Bank(ParasBillboardBGPalette1) - dwb ParasectBillboardBGPalette1, Bank(ParasectBillboardBGPalette1) - dwb VenonatBillboardBGPalette1, Bank(VenonatBillboardBGPalette1) - dwb VenomothBillboardBGPalette1, Bank(VenomothBillboardBGPalette1) - dwb DiglettBillboardBGPalette1, Bank(DiglettBillboardBGPalette1) - dwb DugtrioBillboardBGPalette1, Bank(DugtrioBillboardBGPalette1) - dwb MeowthBillboardBGPalette1, Bank(MeowthBillboardBGPalette1) - dwb PersianBillboardBGPalette1, Bank(PersianBillboardBGPalette1) - dwb PsyduckBillboardBGPalette1, Bank(PsyduckBillboardBGPalette1) - dwb GolduckBillboardBGPalette1, Bank(GolduckBillboardBGPalette1) - dwb MankeyBillboardBGPalette1, Bank(MankeyBillboardBGPalette1) - dwb PrimeapeBillboardBGPalette1, Bank(PrimeapeBillboardBGPalette1) - dwb GrowlitheBillboardBGPalette1, Bank(GrowlitheBillboardBGPalette1) - dwb ArcanineBillboardBGPalette1, Bank(ArcanineBillboardBGPalette1) - dwb PoliwagBillboardBGPalette1, Bank(PoliwagBillboardBGPalette1) - dwb PoliwhirlBillboardBGPalette1, Bank(PoliwhirlBillboardBGPalette1) - dwb PoliwrathBillboardBGPalette1, Bank(PoliwrathBillboardBGPalette1) - dwb AbraBillboardBGPalette1, Bank(AbraBillboardBGPalette1) - dwb KadabraBillboardBGPalette1, Bank(KadabraBillboardBGPalette1) - dwb AlakazamBillboardBGPalette1, Bank(AlakazamBillboardBGPalette1) - dwb MachopBillboardBGPalette1, Bank(MachopBillboardBGPalette1) - dwb MachokeBillboardBGPalette1, Bank(MachokeBillboardBGPalette1) - dwb MachampBillboardBGPalette1, Bank(MachampBillboardBGPalette1) - dwb BellsproutBillboardBGPalette1, Bank(BellsproutBillboardBGPalette1) - dwb WeepinbellBillboardBGPalette1, Bank(WeepinbellBillboardBGPalette1) - dwb VictreebellBillboardBGPalette1, Bank(VictreebellBillboardBGPalette1) - dwb TentacoolBillboardBGPalette1, Bank(TentacoolBillboardBGPalette1) - dwb TentacruelBillboardBGPalette1, Bank(TentacruelBillboardBGPalette1) - dwb GeodudeBillboardBGPalette1, Bank(GeodudeBillboardBGPalette1) - dwb GravelerBillboardBGPalette1, Bank(GravelerBillboardBGPalette1) - dwb GolemBillboardBGPalette1, Bank(GolemBillboardBGPalette1) - dwb PonytaBillboardBGPalette1, Bank(PonytaBillboardBGPalette1) - dwb RapidashBillboardBGPalette1, Bank(RapidashBillboardBGPalette1) - dwb SlowpokeBillboardBGPalette1, Bank(SlowpokeBillboardBGPalette1) - dwb SlowbroBillboardBGPalette1, Bank(SlowbroBillboardBGPalette1) - dwb MagnemiteBillboardBGPalette1, Bank(MagnemiteBillboardBGPalette1) - dwb MagnetonBillboardBGPalette1, Bank(MagnetonBillboardBGPalette1) - dwb FarfetchdBillboardBGPalette1, Bank(FarfetchdBillboardBGPalette1) - dwb DoduoBillboardBGPalette1, Bank(DoduoBillboardBGPalette1) - dwb DodrioBillboardBGPalette1, Bank(DodrioBillboardBGPalette1) - dwb SeelBillboardBGPalette1, Bank(SeelBillboardBGPalette1) - dwb DewgongBillboardBGPalette1, Bank(DewgongBillboardBGPalette1) - dwb GrimerBillboardBGPalette1, Bank(GrimerBillboardBGPalette1) - dwb MukBillboardBGPalette1, Bank(MukBillboardBGPalette1) - dwb ShellderBillboardBGPalette1, Bank(ShellderBillboardBGPalette1) - dwb CloysterBillboardBGPalette1, Bank(CloysterBillboardBGPalette1) - dwb GastlyBillboardBGPalette1, Bank(GastlyBillboardBGPalette1) - dwb HaunterBillboardBGPalette1, Bank(HaunterBillboardBGPalette1) - dwb GengarBillboardBGPalette1, Bank(GengarBillboardBGPalette1) - dwb OnixBillboardBGPalette1, Bank(OnixBillboardBGPalette1) - dwb DrowzeeBillboardBGPalette1, Bank(DrowzeeBillboardBGPalette1) - dwb HypnoBillboardBGPalette1, Bank(HypnoBillboardBGPalette1) - dwb KrabbyBillboardBGPalette1, Bank(KrabbyBillboardBGPalette1) - dwb KinglerBillboardBGPalette1, Bank(KinglerBillboardBGPalette1) - dwb VoltorbBillboardBGPalette1, Bank(VoltorbBillboardBGPalette1) - dwb ElectrodeBillboardBGPalette1, Bank(ElectrodeBillboardBGPalette1) - dwb ExeggcuteBillboardBGPalette1, Bank(ExeggcuteBillboardBGPalette1) - dwb ExeggutorBillboardBGPalette1, Bank(ExeggutorBillboardBGPalette1) - dwb CuboneBillboardBGPalette1, Bank(CuboneBillboardBGPalette1) - dwb MarowakBillboardBGPalette1, Bank(MarowakBillboardBGPalette1) - dwb HitmonleeBillboardBGPalette1, Bank(HitmonleeBillboardBGPalette1) - dwb HitmonchanBillboardBGPalette1, Bank(HitmonchanBillboardBGPalette1) - dwb LickitungBillboardBGPalette1, Bank(LickitungBillboardBGPalette1) - dwb KoffingBillboardBGPalette1, Bank(KoffingBillboardBGPalette1) - dwb WeezingBillboardBGPalette1, Bank(WeezingBillboardBGPalette1) - dwb RhyhornBillboardBGPalette1, Bank(RhyhornBillboardBGPalette1) - dwb RhydonBillboardBGPalette1, Bank(RhydonBillboardBGPalette1) - dwb ChanseyBillboardBGPalette1, Bank(ChanseyBillboardBGPalette1) - dwb TangelaBillboardBGPalette1, Bank(TangelaBillboardBGPalette1) - dwb KangaskhanBillboardBGPalette1, Bank(KangaskhanBillboardBGPalette1) - dwb HorseaBillboardBGPalette1, Bank(HorseaBillboardBGPalette1) - dwb SeadraBillboardBGPalette1, Bank(SeadraBillboardBGPalette1) - dwb GoldeenBillboardBGPalette1, Bank(GoldeenBillboardBGPalette1) - dwb SeakingBillboardBGPalette1, Bank(SeakingBillboardBGPalette1) - dwb StaryuBillboardBGPalette1, Bank(StaryuBillboardBGPalette1) - dwb StarmieBillboardBGPalette1, Bank(StarmieBillboardBGPalette1) - dwb MrMimeBillboardBGPalette1, Bank(MrMimeBillboardBGPalette1) - dwb ScytherBillboardBGPalette1, Bank(ScytherBillboardBGPalette1) - dwb JynxBillboardBGPalette1, Bank(JynxBillboardBGPalette1) - dwb ElectabuzzBillboardBGPalette1, Bank(ElectabuzzBillboardBGPalette1) - dwb MagmarBillboardBGPalette1, Bank(MagmarBillboardBGPalette1) - dwb PinsirBillboardBGPalette1, Bank(PinsirBillboardBGPalette1) - dwb TaurosBillboardBGPalette1, Bank(TaurosBillboardBGPalette1) - dwb MagikarpBillboardBGPalette1, Bank(MagikarpBillboardBGPalette1) - dwb GyaradosBillboardBGPalette1, Bank(GyaradosBillboardBGPalette1) - dwb LaprasBillboardBGPalette1, Bank(LaprasBillboardBGPalette1) - dwb DittoBillboardBGPalette1, Bank(DittoBillboardBGPalette1) - dwb EeveeBillboardBGPalette1, Bank(EeveeBillboardBGPalette1) - dwb VaporeonBillboardBGPalette1, Bank(VaporeonBillboardBGPalette1) - dwb JolteonBillboardBGPalette1, Bank(JolteonBillboardBGPalette1) - dwb FlareonBillboardBGPalette1, Bank(FlareonBillboardBGPalette1) - dwb PorygonBillboardBGPalette1, Bank(PorygonBillboardBGPalette1) - dwb OmanyteBillboardBGPalette1, Bank(OmanyteBillboardBGPalette1) - dwb OmastarBillboardBGPalette1, Bank(OmastarBillboardBGPalette1) - dwb KabutoBillboardBGPalette1, Bank(KabutoBillboardBGPalette1) - dwb KabutopsBillboardBGPalette1, Bank(KabutopsBillboardBGPalette1) - dwb AerodactylBillboardBGPalette1, Bank(AerodactylBillboardBGPalette1) - dwb SnorlaxBillboardBGPalette1, Bank(SnorlaxBillboardBGPalette1) - dwb ArticunoBillboardBGPalette1, Bank(ArticunoBillboardBGPalette1) - dwb ZapdosBillboardBGPalette1, Bank(ZapdosBillboardBGPalette1) - dwb MoltresBillboardBGPalette1, Bank(MoltresBillboardBGPalette1) - dwb DratiniBillboardBGPalette1, Bank(DratiniBillboardBGPalette1) - dwb DragonairBillboardBGPalette1, Bank(DragonairBillboardBGPalette1) - dwb DragoniteBillboardBGPalette1, Bank(DragoniteBillboardBGPalette1) - dwb MewtwoBillboardBGPalette1, Bank(MewtwoBillboardBGPalette1) - dwb MewBillboardBGPalette1, Bank(MewBillboardBGPalette1) + dwb BulbasaurBillboardBGPalette1, Bank(BulbasaurBillboardBGPalette1) + dwb IvysaurBillboardBGPalette1, Bank(IvysaurBillboardBGPalette1) + dwb VenusaurBillboardBGPalette1, Bank(VenusaurBillboardBGPalette1) + dwb CharmanderBillboardBGPalette1, Bank(CharmanderBillboardBGPalette1) + dwb CharmeleonBillboardBGPalette1, Bank(CharmeleonBillboardBGPalette1) + dwb CharizardBillboardBGPalette1, Bank(CharizardBillboardBGPalette1) + dwb SquirtleBillboardBGPalette1, Bank(SquirtleBillboardBGPalette1) + dwb WartortleBillboardBGPalette1, Bank(WartortleBillboardBGPalette1) + dwb BlastoiseBillboardBGPalette1, Bank(BlastoiseBillboardBGPalette1) + dwb CaterpieBillboardBGPalette1, Bank(CaterpieBillboardBGPalette1) + dwb MetapodBillboardBGPalette1, Bank(MetapodBillboardBGPalette1) + dwb ButterfreeBillboardBGPalette1, Bank(ButterfreeBillboardBGPalette1) + dwb WeedleBillboardBGPalette1, Bank(WeedleBillboardBGPalette1) + dwb KakunaBillboardBGPalette1, Bank(KakunaBillboardBGPalette1) + dwb BeedrillBillboardBGPalette1, Bank(BeedrillBillboardBGPalette1) + dwb PidgeyBillboardBGPalette1, Bank(PidgeyBillboardBGPalette1) + dwb PidgeottoBillboardBGPalette1, Bank(PidgeottoBillboardBGPalette1) + dwb PidgeotBillboardBGPalette1, Bank(PidgeotBillboardBGPalette1) + dwb RattataBillboardBGPalette1, Bank(RattataBillboardBGPalette1) + dwb RaticateBillboardBGPalette1, Bank(RaticateBillboardBGPalette1) + dwb SpearowBillboardBGPalette1, Bank(SpearowBillboardBGPalette1) + dwb FearowBillboardBGPalette1, Bank(FearowBillboardBGPalette1) + dwb EkansBillboardBGPalette1, Bank(EkansBillboardBGPalette1) + dwb ArbokBillboardBGPalette1, Bank(ArbokBillboardBGPalette1) + dwb PikachuBillboardBGPalette1, Bank(PikachuBillboardBGPalette1) + dwb RaichuBillboardBGPalette1, Bank(RaichuBillboardBGPalette1) + dwb SandshrewBillboardBGPalette1, Bank(SandshrewBillboardBGPalette1) + dwb SandslashBillboardBGPalette1, Bank(SandslashBillboardBGPalette1) + dwb NidoranFBillboardBGPalette1, Bank(NidoranFBillboardBGPalette1) + dwb NidorinaBillboardBGPalette1, Bank(NidorinaBillboardBGPalette1) + dwb NidoqueenBillboardBGPalette1, Bank(NidoqueenBillboardBGPalette1) + dwb NidoranMBillboardBGPalette1, Bank(NidoranMBillboardBGPalette1) + dwb NidorinoBillboardBGPalette1, Bank(NidorinoBillboardBGPalette1) + dwb NidokingBillboardBGPalette1, Bank(NidokingBillboardBGPalette1) + dwb ClefairyBillboardBGPalette1, Bank(ClefairyBillboardBGPalette1) + dwb ClefableBillboardBGPalette1, Bank(ClefableBillboardBGPalette1) + dwb VulpixBillboardBGPalette1, Bank(VulpixBillboardBGPalette1) + dwb NinetalesBillboardBGPalette1, Bank(NinetalesBillboardBGPalette1) + dwb JigglypuffBillboardBGPalette1, Bank(JigglypuffBillboardBGPalette1) + dwb WigglytuffBillboardBGPalette1, Bank(WigglytuffBillboardBGPalette1) + dwb ZubatBillboardBGPalette1, Bank(ZubatBillboardBGPalette1) + dwb GolbatBillboardBGPalette1, Bank(GolbatBillboardBGPalette1) + dwb OddishBillboardBGPalette1, Bank(OddishBillboardBGPalette1) + dwb GloomBillboardBGPalette1, Bank(GloomBillboardBGPalette1) + dwb VileplumeBillboardBGPalette1, Bank(VileplumeBillboardBGPalette1) + dwb ParasBillboardBGPalette1, Bank(ParasBillboardBGPalette1) + dwb ParasectBillboardBGPalette1, Bank(ParasectBillboardBGPalette1) + dwb VenonatBillboardBGPalette1, Bank(VenonatBillboardBGPalette1) + dwb VenomothBillboardBGPalette1, Bank(VenomothBillboardBGPalette1) + dwb DiglettBillboardBGPalette1, Bank(DiglettBillboardBGPalette1) + dwb DugtrioBillboardBGPalette1, Bank(DugtrioBillboardBGPalette1) + dwb MeowthBillboardBGPalette1, Bank(MeowthBillboardBGPalette1) + dwb PersianBillboardBGPalette1, Bank(PersianBillboardBGPalette1) + dwb PsyduckBillboardBGPalette1, Bank(PsyduckBillboardBGPalette1) + dwb GolduckBillboardBGPalette1, Bank(GolduckBillboardBGPalette1) + dwb MankeyBillboardBGPalette1, Bank(MankeyBillboardBGPalette1) + dwb PrimeapeBillboardBGPalette1, Bank(PrimeapeBillboardBGPalette1) + dwb GrowlitheBillboardBGPalette1, Bank(GrowlitheBillboardBGPalette1) + dwb ArcanineBillboardBGPalette1, Bank(ArcanineBillboardBGPalette1) + dwb PoliwagBillboardBGPalette1, Bank(PoliwagBillboardBGPalette1) + dwb PoliwhirlBillboardBGPalette1, Bank(PoliwhirlBillboardBGPalette1) + dwb PoliwrathBillboardBGPalette1, Bank(PoliwrathBillboardBGPalette1) + dwb AbraBillboardBGPalette1, Bank(AbraBillboardBGPalette1) + dwb KadabraBillboardBGPalette1, Bank(KadabraBillboardBGPalette1) + dwb AlakazamBillboardBGPalette1, Bank(AlakazamBillboardBGPalette1) + dwb MachopBillboardBGPalette1, Bank(MachopBillboardBGPalette1) + dwb MachokeBillboardBGPalette1, Bank(MachokeBillboardBGPalette1) + dwb MachampBillboardBGPalette1, Bank(MachampBillboardBGPalette1) + dwb BellsproutBillboardBGPalette1, Bank(BellsproutBillboardBGPalette1) + dwb WeepinbellBillboardBGPalette1, Bank(WeepinbellBillboardBGPalette1) + dwb VictreebellBillboardBGPalette1, Bank(VictreebellBillboardBGPalette1) + dwb TentacoolBillboardBGPalette1, Bank(TentacoolBillboardBGPalette1) + dwb TentacruelBillboardBGPalette1, Bank(TentacruelBillboardBGPalette1) + dwb GeodudeBillboardBGPalette1, Bank(GeodudeBillboardBGPalette1) + dwb GravelerBillboardBGPalette1, Bank(GravelerBillboardBGPalette1) + dwb GolemBillboardBGPalette1, Bank(GolemBillboardBGPalette1) + dwb PonytaBillboardBGPalette1, Bank(PonytaBillboardBGPalette1) + dwb RapidashBillboardBGPalette1, Bank(RapidashBillboardBGPalette1) + dwb SlowpokeBillboardBGPalette1, Bank(SlowpokeBillboardBGPalette1) + dwb SlowbroBillboardBGPalette1, Bank(SlowbroBillboardBGPalette1) + dwb MagnemiteBillboardBGPalette1, Bank(MagnemiteBillboardBGPalette1) + dwb MagnetonBillboardBGPalette1, Bank(MagnetonBillboardBGPalette1) + dwb FarfetchdBillboardBGPalette1, Bank(FarfetchdBillboardBGPalette1) + dwb DoduoBillboardBGPalette1, Bank(DoduoBillboardBGPalette1) + dwb DodrioBillboardBGPalette1, Bank(DodrioBillboardBGPalette1) + dwb SeelBillboardBGPalette1, Bank(SeelBillboardBGPalette1) + dwb DewgongBillboardBGPalette1, Bank(DewgongBillboardBGPalette1) + dwb GrimerBillboardBGPalette1, Bank(GrimerBillboardBGPalette1) + dwb MukBillboardBGPalette1, Bank(MukBillboardBGPalette1) + dwb ShellderBillboardBGPalette1, Bank(ShellderBillboardBGPalette1) + dwb CloysterBillboardBGPalette1, Bank(CloysterBillboardBGPalette1) + dwb GastlyBillboardBGPalette1, Bank(GastlyBillboardBGPalette1) + dwb HaunterBillboardBGPalette1, Bank(HaunterBillboardBGPalette1) + dwb GengarBillboardBGPalette1, Bank(GengarBillboardBGPalette1) + dwb OnixBillboardBGPalette1, Bank(OnixBillboardBGPalette1) + dwb DrowzeeBillboardBGPalette1, Bank(DrowzeeBillboardBGPalette1) + dwb HypnoBillboardBGPalette1, Bank(HypnoBillboardBGPalette1) + dwb KrabbyBillboardBGPalette1, Bank(KrabbyBillboardBGPalette1) + dwb KinglerBillboardBGPalette1, Bank(KinglerBillboardBGPalette1) + dwb VoltorbBillboardBGPalette1, Bank(VoltorbBillboardBGPalette1) + dwb ElectrodeBillboardBGPalette1, Bank(ElectrodeBillboardBGPalette1) + dwb ExeggcuteBillboardBGPalette1, Bank(ExeggcuteBillboardBGPalette1) + dwb ExeggutorBillboardBGPalette1, Bank(ExeggutorBillboardBGPalette1) + dwb CuboneBillboardBGPalette1, Bank(CuboneBillboardBGPalette1) + dwb MarowakBillboardBGPalette1, Bank(MarowakBillboardBGPalette1) + dwb HitmonleeBillboardBGPalette1, Bank(HitmonleeBillboardBGPalette1) + dwb HitmonchanBillboardBGPalette1, Bank(HitmonchanBillboardBGPalette1) + dwb LickitungBillboardBGPalette1, Bank(LickitungBillboardBGPalette1) + dwb KoffingBillboardBGPalette1, Bank(KoffingBillboardBGPalette1) + dwb WeezingBillboardBGPalette1, Bank(WeezingBillboardBGPalette1) + dwb RhyhornBillboardBGPalette1, Bank(RhyhornBillboardBGPalette1) + dwb RhydonBillboardBGPalette1, Bank(RhydonBillboardBGPalette1) + dwb ChanseyBillboardBGPalette1, Bank(ChanseyBillboardBGPalette1) + dwb TangelaBillboardBGPalette1, Bank(TangelaBillboardBGPalette1) + dwb KangaskhanBillboardBGPalette1, Bank(KangaskhanBillboardBGPalette1) + dwb HorseaBillboardBGPalette1, Bank(HorseaBillboardBGPalette1) + dwb SeadraBillboardBGPalette1, Bank(SeadraBillboardBGPalette1) + dwb GoldeenBillboardBGPalette1, Bank(GoldeenBillboardBGPalette1) + dwb SeakingBillboardBGPalette1, Bank(SeakingBillboardBGPalette1) + dwb StaryuBillboardBGPalette1, Bank(StaryuBillboardBGPalette1) + dwb StarmieBillboardBGPalette1, Bank(StarmieBillboardBGPalette1) + dwb MrMimeBillboardBGPalette1, Bank(MrMimeBillboardBGPalette1) + dwb ScytherBillboardBGPalette1, Bank(ScytherBillboardBGPalette1) + dwb JynxBillboardBGPalette1, Bank(JynxBillboardBGPalette1) + dwb ElectabuzzBillboardBGPalette1, Bank(ElectabuzzBillboardBGPalette1) + dwb MagmarBillboardBGPalette1, Bank(MagmarBillboardBGPalette1) + dwb PinsirBillboardBGPalette1, Bank(PinsirBillboardBGPalette1) + dwb TaurosBillboardBGPalette1, Bank(TaurosBillboardBGPalette1) + dwb MagikarpBillboardBGPalette1, Bank(MagikarpBillboardBGPalette1) + dwb GyaradosBillboardBGPalette1, Bank(GyaradosBillboardBGPalette1) + dwb LaprasBillboardBGPalette1, Bank(LaprasBillboardBGPalette1) + dwb DittoBillboardBGPalette1, Bank(DittoBillboardBGPalette1) + dwb EeveeBillboardBGPalette1, Bank(EeveeBillboardBGPalette1) + dwb VaporeonBillboardBGPalette1, Bank(VaporeonBillboardBGPalette1) + dwb JolteonBillboardBGPalette1, Bank(JolteonBillboardBGPalette1) + dwb FlareonBillboardBGPalette1, Bank(FlareonBillboardBGPalette1) + dwb PorygonBillboardBGPalette1, Bank(PorygonBillboardBGPalette1) + dwb OmanyteBillboardBGPalette1, Bank(OmanyteBillboardBGPalette1) + dwb OmastarBillboardBGPalette1, Bank(OmastarBillboardBGPalette1) + dwb KabutoBillboardBGPalette1, Bank(KabutoBillboardBGPalette1) + dwb KabutopsBillboardBGPalette1, Bank(KabutopsBillboardBGPalette1) + dwb AerodactylBillboardBGPalette1, Bank(AerodactylBillboardBGPalette1) + dwb SnorlaxBillboardBGPalette1, Bank(SnorlaxBillboardBGPalette1) + dwb ArticunoBillboardBGPalette1, Bank(ArticunoBillboardBGPalette1) + dwb ZapdosBillboardBGPalette1, Bank(ZapdosBillboardBGPalette1) + dwb MoltresBillboardBGPalette1, Bank(MoltresBillboardBGPalette1) + dwb DratiniBillboardBGPalette1, Bank(DratiniBillboardBGPalette1) + dwb DragonairBillboardBGPalette1, Bank(DragonairBillboardBGPalette1) + dwb DragoniteBillboardBGPalette1, Bank(DragoniteBillboardBGPalette1) + dwb MewtwoBillboardBGPalette1, Bank(MewtwoBillboardBGPalette1) + dwb MewBillboardBGPalette1, Bank(MewBillboardBGPalette1) MonAnimatedPalettePointers: ; 0x1309f - dwb BulbasaurAnimatedObjPalette1, Bank(BulbasaurAnimatedObjPalette1) - dwb BulbasaurAnimatedObjPalette1, Bank(BulbasaurAnimatedObjPalette1) - dwb BulbasaurAnimatedObjPalette1, Bank(BulbasaurAnimatedObjPalette1) - dwb CharmanderAnimatedObjPalette1, Bank(CharmanderAnimatedObjPalette1) - dwb CharmanderAnimatedObjPalette1, Bank(CharmanderAnimatedObjPalette1) - dwb CharmanderAnimatedObjPalette1, Bank(CharmanderAnimatedObjPalette1) - dwb SquirtleAnimatedObjPalette1, Bank(SquirtleAnimatedObjPalette1) - dwb SquirtleAnimatedObjPalette1, Bank(SquirtleAnimatedObjPalette1) - dwb SquirtleAnimatedObjPalette1, Bank(SquirtleAnimatedObjPalette1) - dwb CaterpieAnimatedObjPalette1, Bank(CaterpieAnimatedObjPalette1) - dwb CaterpieAnimatedObjPalette1, Bank(CaterpieAnimatedObjPalette1) - dwb CaterpieAnimatedObjPalette1, Bank(CaterpieAnimatedObjPalette1) - dwb WeedleAnimatedObjPalette1, Bank(WeedleAnimatedObjPalette1) - dwb WeedleAnimatedObjPalette1, Bank(WeedleAnimatedObjPalette1) - dwb WeedleAnimatedObjPalette1, Bank(WeedleAnimatedObjPalette1) - dwb PidgeyAnimatedObjPalette1, Bank(PidgeyAnimatedObjPalette1) - dwb PidgeyAnimatedObjPalette1, Bank(PidgeyAnimatedObjPalette1) - dwb PidgeyAnimatedObjPalette1, Bank(PidgeyAnimatedObjPalette1) - dwb RattataAnimatedObjPalette1, Bank(RattataAnimatedObjPalette1) - dwb RattataAnimatedObjPalette1, Bank(RattataAnimatedObjPalette1) - dwb SpearowAnimatedObjPalette1, Bank(SpearowAnimatedObjPalette1) - dwb SpearowAnimatedObjPalette1, Bank(SpearowAnimatedObjPalette1) - dwb EkansAnimatedObjPalette1, Bank(EkansAnimatedObjPalette1) - dwb EkansAnimatedObjPalette1, Bank(EkansAnimatedObjPalette1) - dwb PikachuAnimatedObjPalette1, Bank(PikachuAnimatedObjPalette1) - dwb PikachuAnimatedObjPalette1, Bank(PikachuAnimatedObjPalette1) - dwb SandshrewAnimatedObjPalette1, Bank(SandshrewAnimatedObjPalette1) - dwb SandshrewAnimatedObjPalette1, Bank(SandshrewAnimatedObjPalette1) - dwb NidoranFAnimatedObjPalette1, Bank(NidoranFAnimatedObjPalette1) - dwb NidoranFAnimatedObjPalette1, Bank(NidoranFAnimatedObjPalette1) - dwb NidoranFAnimatedObjPalette1, Bank(NidoranFAnimatedObjPalette1) - dwb NidoranMAnimatedObjPalette1, Bank(NidoranMAnimatedObjPalette1) - dwb NidoranMAnimatedObjPalette1, Bank(NidoranMAnimatedObjPalette1) - dwb NidoranMAnimatedObjPalette1, Bank(NidoranMAnimatedObjPalette1) - dwb ClefairyAnimatedObjPalette1, Bank(ClefairyAnimatedObjPalette1) - dwb ClefairyAnimatedObjPalette1, Bank(ClefairyAnimatedObjPalette1) - dwb VulpixAnimatedObjPalette1, Bank(VulpixAnimatedObjPalette1) - dwb VulpixAnimatedObjPalette1, Bank(VulpixAnimatedObjPalette1) - dwb JigglypuffAnimatedObjPalette1, Bank(JigglypuffAnimatedObjPalette1) - dwb JigglypuffAnimatedObjPalette1, Bank(JigglypuffAnimatedObjPalette1) - dwb ZubatAnimatedObjPalette1, Bank(ZubatAnimatedObjPalette1) - dwb ZubatAnimatedObjPalette1, Bank(ZubatAnimatedObjPalette1) - dwb OddishAnimatedObjPalette1, Bank(OddishAnimatedObjPalette1) - dwb OddishAnimatedObjPalette1, Bank(OddishAnimatedObjPalette1) - dwb OddishAnimatedObjPalette1, Bank(OddishAnimatedObjPalette1) - dwb ParasAnimatedObjPalette1, Bank(ParasAnimatedObjPalette1) - dwb ParasAnimatedObjPalette1, Bank(ParasAnimatedObjPalette1) - dwb VenonatAnimatedObjPalette1, Bank(VenonatAnimatedObjPalette1) - dwb VenonatAnimatedObjPalette1, Bank(VenonatAnimatedObjPalette1) - dwb DiglettAnimatedObjPalette1, Bank(DiglettAnimatedObjPalette1) - dwb DiglettAnimatedObjPalette1, Bank(DiglettAnimatedObjPalette1) - dwb MeowthAnimatedObjPalette1, Bank(MeowthAnimatedObjPalette1) - dwb MeowthAnimatedObjPalette1, Bank(MeowthAnimatedObjPalette1) - dwb PsyduckAnimatedObjPalette1, Bank(PsyduckAnimatedObjPalette1) - dwb PsyduckAnimatedObjPalette1, Bank(PsyduckAnimatedObjPalette1) - dwb MankeyAnimatedObjPalette1, Bank(MankeyAnimatedObjPalette1) - dwb MankeyAnimatedObjPalette1, Bank(MankeyAnimatedObjPalette1) - dwb GrowlitheAnimatedObjPalette1, Bank(GrowlitheAnimatedObjPalette1) - dwb GrowlitheAnimatedObjPalette1, Bank(GrowlitheAnimatedObjPalette1) - dwb PoliwagAnimatedObjPalette1, Bank(PoliwagAnimatedObjPalette1) - dwb PoliwagAnimatedObjPalette1, Bank(PoliwagAnimatedObjPalette1) - dwb PoliwagAnimatedObjPalette1, Bank(PoliwagAnimatedObjPalette1) - dwb AbraAnimatedObjPalette1, Bank(AbraAnimatedObjPalette1) - dwb AbraAnimatedObjPalette1, Bank(AbraAnimatedObjPalette1) - dwb AbraAnimatedObjPalette1, Bank(AbraAnimatedObjPalette1) - dwb MachopAnimatedObjPalette1, Bank(MachopAnimatedObjPalette1) - dwb MachopAnimatedObjPalette1, Bank(MachopAnimatedObjPalette1) - dwb MachopAnimatedObjPalette1, Bank(MachopAnimatedObjPalette1) - dwb BellsproutAnimatedObjPalette1, Bank(BellsproutAnimatedObjPalette1) - dwb BellsproutAnimatedObjPalette1, Bank(BellsproutAnimatedObjPalette1) - dwb BellsproutAnimatedObjPalette1, Bank(BellsproutAnimatedObjPalette1) - dwb TentacoolAnimatedObjPalette1, Bank(TentacoolAnimatedObjPalette1) - dwb TentacoolAnimatedObjPalette1, Bank(TentacoolAnimatedObjPalette1) - dwb GeodudeAnimatedObjPalette1, Bank(GeodudeAnimatedObjPalette1) - dwb GeodudeAnimatedObjPalette1, Bank(GeodudeAnimatedObjPalette1) - dwb GeodudeAnimatedObjPalette1, Bank(GeodudeAnimatedObjPalette1) - dwb PonytaAnimatedObjPalette1, Bank(PonytaAnimatedObjPalette1) - dwb PonytaAnimatedObjPalette1, Bank(PonytaAnimatedObjPalette1) - dwb SlowpokeAnimatedObjPalette1, Bank(SlowpokeAnimatedObjPalette1) - dwb SlowpokeAnimatedObjPalette1, Bank(SlowpokeAnimatedObjPalette1) - dwb MagnemiteAnimatedObjPalette1, Bank(MagnemiteAnimatedObjPalette1) - dwb MagnemiteAnimatedObjPalette1, Bank(MagnemiteAnimatedObjPalette1) - dwb FarfetchdAnimatedObjPalette1, Bank(FarfetchdAnimatedObjPalette1) - dwb DoduoAnimatedObjPalette1, Bank(DoduoAnimatedObjPalette1) - dwb DoduoAnimatedObjPalette1, Bank(DoduoAnimatedObjPalette1) - dwb SeelAnimatedObjPalette1, Bank(SeelAnimatedObjPalette1) - dwb SeelAnimatedObjPalette1, Bank(SeelAnimatedObjPalette1) - dwb GrimerAnimatedObjPalette1, Bank(GrimerAnimatedObjPalette1) - dwb GrimerAnimatedObjPalette1, Bank(GrimerAnimatedObjPalette1) - dwb ShellderAnimatedObjPalette1, Bank(ShellderAnimatedObjPalette1) - dwb ShellderAnimatedObjPalette1, Bank(ShellderAnimatedObjPalette1) - dwb GastlyAnimatedObjPalette1, Bank(GastlyAnimatedObjPalette1) - dwb GastlyAnimatedObjPalette1, Bank(GastlyAnimatedObjPalette1) - dwb GastlyAnimatedObjPalette1, Bank(GastlyAnimatedObjPalette1) - dwb OnixAnimatedObjPalette1, Bank(OnixAnimatedObjPalette1) - dwb DrowzeeAnimatedObjPalette1, Bank(DrowzeeAnimatedObjPalette1) - dwb DrowzeeAnimatedObjPalette1, Bank(DrowzeeAnimatedObjPalette1) - dwb KrabbyAnimatedObjPalette1, Bank(KrabbyAnimatedObjPalette1) - dwb KrabbyAnimatedObjPalette1, Bank(KrabbyAnimatedObjPalette1) - dwb VoltorbAnimatedObjPalette1, Bank(VoltorbAnimatedObjPalette1) - dwb VoltorbAnimatedObjPalette1, Bank(VoltorbAnimatedObjPalette1) - dwb ExeggcuteAnimatedObjPalette1, Bank(ExeggcuteAnimatedObjPalette1) - dwb ExeggcuteAnimatedObjPalette1, Bank(ExeggcuteAnimatedObjPalette1) - dwb CuboneAnimatedObjPalette1, Bank(CuboneAnimatedObjPalette1) - dwb CuboneAnimatedObjPalette1, Bank(CuboneAnimatedObjPalette1) - dwb HitmonleeAnimatedObjPalette1, Bank(HitmonleeAnimatedObjPalette1) - dwb HitmonchanAnimatedObjPalette1, Bank(HitmonchanAnimatedObjPalette1) - dwb LickitungAnimatedObjPalette1, Bank(LickitungAnimatedObjPalette1) - dwb KoffingAnimatedObjPalette1, Bank(KoffingAnimatedObjPalette1) - dwb KoffingAnimatedObjPalette1, Bank(KoffingAnimatedObjPalette1) - dwb RhyhornAnimatedObjPalette1, Bank(RhyhornAnimatedObjPalette1) - dwb RhyhornAnimatedObjPalette1, Bank(RhyhornAnimatedObjPalette1) - dwb ChanseyAnimatedObjPalette1, Bank(ChanseyAnimatedObjPalette1) - dwb TangelaAnimatedObjPalette1, Bank(TangelaAnimatedObjPalette1) - dwb KangaskhanAnimatedObjPalette1, Bank(KangaskhanAnimatedObjPalette1) - dwb HorseaAnimatedObjPalette1, Bank(HorseaAnimatedObjPalette1) - dwb HorseaAnimatedObjPalette1, Bank(HorseaAnimatedObjPalette1) - dwb GoldeenAnimatedObjPalette1, Bank(GoldeenAnimatedObjPalette1) - dwb GoldeenAnimatedObjPalette1, Bank(GoldeenAnimatedObjPalette1) - dwb StaryuAnimatedObjPalette1, Bank(StaryuAnimatedObjPalette1) - dwb StaryuAnimatedObjPalette1, Bank(StaryuAnimatedObjPalette1) - dwb MrMimeAnimatedObjPalette1, Bank(MrMimeAnimatedObjPalette1) - dwb ScytherAnimatedObjPalette1, Bank(ScytherAnimatedObjPalette1) - dwb JynxAnimatedObjPalette1, Bank(JynxAnimatedObjPalette1) - dwb ElectabuzzAnimatedObjPalette1, Bank(ElectabuzzAnimatedObjPalette1) - dwb MagmarAnimatedObjPalette1, Bank(MagmarAnimatedObjPalette1) - dwb PinsirAnimatedObjPalette1, Bank(PinsirAnimatedObjPalette1) - dwb TaurosAnimatedObjPalette1, Bank(TaurosAnimatedObjPalette1) - dwb MagikarpAnimatedObjPalette1, Bank(MagikarpAnimatedObjPalette1) - dwb MagikarpAnimatedObjPalette1, Bank(MagikarpAnimatedObjPalette1) - dwb LaprasAnimatedObjPalette1, Bank(LaprasAnimatedObjPalette1) - dwb DittoAnimatedObjPalette1, Bank(DittoAnimatedObjPalette1) - dwb EeveeAnimatedObjPalette1, Bank(EeveeAnimatedObjPalette1) - dwb EeveeAnimatedObjPalette1, Bank(EeveeAnimatedObjPalette1) - dwb EeveeAnimatedObjPalette1, Bank(EeveeAnimatedObjPalette1) - dwb EeveeAnimatedObjPalette1, Bank(EeveeAnimatedObjPalette1) - dwb PorygonAnimatedObjPalette1, Bank(PorygonAnimatedObjPalette1) - dwb OmanyteAnimatedObjPalette1, Bank(OmanyteAnimatedObjPalette1) - dwb OmanyteAnimatedObjPalette1, Bank(OmanyteAnimatedObjPalette1) - dwb KabutoAnimatedObjPalette1, Bank(KabutoAnimatedObjPalette1) - dwb KabutoAnimatedObjPalette1, Bank(KabutoAnimatedObjPalette1) - dwb AerodactylAnimatedObjPalette1, Bank(AerodactylAnimatedObjPalette1) - dwb SnorlaxAnimatedObjPalette1, Bank(SnorlaxAnimatedObjPalette1) - dwb ArticunoAnimatedObjPalette1, Bank(ArticunoAnimatedObjPalette1) - dwb ZapdosAnimatedObjPalette1, Bank(ZapdosAnimatedObjPalette1) - dwb MoltresAnimatedObjPalette1, Bank(MoltresAnimatedObjPalette1) - dwb DratiniAnimatedObjPalette1, Bank(DratiniAnimatedObjPalette1) - dwb DratiniAnimatedObjPalette1, Bank(DratiniAnimatedObjPalette1) - dwb DratiniAnimatedObjPalette1, Bank(DratiniAnimatedObjPalette1) - dwb MewtwoAnimatedObjPalette1, Bank(MewtwoAnimatedObjPalette1) - dwb MewAnimatedObjPalette1, Bank(MewAnimatedObjPalette1) + dwb BulbasaurAnimatedObjPalette1, Bank(BulbasaurAnimatedObjPalette1) + dwb BulbasaurAnimatedObjPalette1, Bank(BulbasaurAnimatedObjPalette1) + dwb BulbasaurAnimatedObjPalette1, Bank(BulbasaurAnimatedObjPalette1) + dwb CharmanderAnimatedObjPalette1, Bank(CharmanderAnimatedObjPalette1) + dwb CharmanderAnimatedObjPalette1, Bank(CharmanderAnimatedObjPalette1) + dwb CharmanderAnimatedObjPalette1, Bank(CharmanderAnimatedObjPalette1) + dwb SquirtleAnimatedObjPalette1, Bank(SquirtleAnimatedObjPalette1) + dwb SquirtleAnimatedObjPalette1, Bank(SquirtleAnimatedObjPalette1) + dwb SquirtleAnimatedObjPalette1, Bank(SquirtleAnimatedObjPalette1) + dwb CaterpieAnimatedObjPalette1, Bank(CaterpieAnimatedObjPalette1) + dwb CaterpieAnimatedObjPalette1, Bank(CaterpieAnimatedObjPalette1) + dwb CaterpieAnimatedObjPalette1, Bank(CaterpieAnimatedObjPalette1) + dwb WeedleAnimatedObjPalette1, Bank(WeedleAnimatedObjPalette1) + dwb WeedleAnimatedObjPalette1, Bank(WeedleAnimatedObjPalette1) + dwb WeedleAnimatedObjPalette1, Bank(WeedleAnimatedObjPalette1) + dwb PidgeyAnimatedObjPalette1, Bank(PidgeyAnimatedObjPalette1) + dwb PidgeyAnimatedObjPalette1, Bank(PidgeyAnimatedObjPalette1) + dwb PidgeyAnimatedObjPalette1, Bank(PidgeyAnimatedObjPalette1) + dwb RattataAnimatedObjPalette1, Bank(RattataAnimatedObjPalette1) + dwb RattataAnimatedObjPalette1, Bank(RattataAnimatedObjPalette1) + dwb SpearowAnimatedObjPalette1, Bank(SpearowAnimatedObjPalette1) + dwb SpearowAnimatedObjPalette1, Bank(SpearowAnimatedObjPalette1) + dwb EkansAnimatedObjPalette1, Bank(EkansAnimatedObjPalette1) + dwb EkansAnimatedObjPalette1, Bank(EkansAnimatedObjPalette1) + dwb PikachuAnimatedObjPalette1, Bank(PikachuAnimatedObjPalette1) + dwb PikachuAnimatedObjPalette1, Bank(PikachuAnimatedObjPalette1) + dwb SandshrewAnimatedObjPalette1, Bank(SandshrewAnimatedObjPalette1) + dwb SandshrewAnimatedObjPalette1, Bank(SandshrewAnimatedObjPalette1) + dwb NidoranFAnimatedObjPalette1, Bank(NidoranFAnimatedObjPalette1) + dwb NidoranFAnimatedObjPalette1, Bank(NidoranFAnimatedObjPalette1) + dwb NidoranFAnimatedObjPalette1, Bank(NidoranFAnimatedObjPalette1) + dwb NidoranMAnimatedObjPalette1, Bank(NidoranMAnimatedObjPalette1) + dwb NidoranMAnimatedObjPalette1, Bank(NidoranMAnimatedObjPalette1) + dwb NidoranMAnimatedObjPalette1, Bank(NidoranMAnimatedObjPalette1) + dwb ClefairyAnimatedObjPalette1, Bank(ClefairyAnimatedObjPalette1) + dwb ClefairyAnimatedObjPalette1, Bank(ClefairyAnimatedObjPalette1) + dwb VulpixAnimatedObjPalette1, Bank(VulpixAnimatedObjPalette1) + dwb VulpixAnimatedObjPalette1, Bank(VulpixAnimatedObjPalette1) + dwb JigglypuffAnimatedObjPalette1, Bank(JigglypuffAnimatedObjPalette1) + dwb JigglypuffAnimatedObjPalette1, Bank(JigglypuffAnimatedObjPalette1) + dwb ZubatAnimatedObjPalette1, Bank(ZubatAnimatedObjPalette1) + dwb ZubatAnimatedObjPalette1, Bank(ZubatAnimatedObjPalette1) + dwb OddishAnimatedObjPalette1, Bank(OddishAnimatedObjPalette1) + dwb OddishAnimatedObjPalette1, Bank(OddishAnimatedObjPalette1) + dwb OddishAnimatedObjPalette1, Bank(OddishAnimatedObjPalette1) + dwb ParasAnimatedObjPalette1, Bank(ParasAnimatedObjPalette1) + dwb ParasAnimatedObjPalette1, Bank(ParasAnimatedObjPalette1) + dwb VenonatAnimatedObjPalette1, Bank(VenonatAnimatedObjPalette1) + dwb VenonatAnimatedObjPalette1, Bank(VenonatAnimatedObjPalette1) + dwb DiglettAnimatedObjPalette1, Bank(DiglettAnimatedObjPalette1) + dwb DiglettAnimatedObjPalette1, Bank(DiglettAnimatedObjPalette1) + dwb MeowthAnimatedObjPalette1, Bank(MeowthAnimatedObjPalette1) + dwb MeowthAnimatedObjPalette1, Bank(MeowthAnimatedObjPalette1) + dwb PsyduckAnimatedObjPalette1, Bank(PsyduckAnimatedObjPalette1) + dwb PsyduckAnimatedObjPalette1, Bank(PsyduckAnimatedObjPalette1) + dwb MankeyAnimatedObjPalette1, Bank(MankeyAnimatedObjPalette1) + dwb MankeyAnimatedObjPalette1, Bank(MankeyAnimatedObjPalette1) + dwb GrowlitheAnimatedObjPalette1, Bank(GrowlitheAnimatedObjPalette1) + dwb GrowlitheAnimatedObjPalette1, Bank(GrowlitheAnimatedObjPalette1) + dwb PoliwagAnimatedObjPalette1, Bank(PoliwagAnimatedObjPalette1) + dwb PoliwagAnimatedObjPalette1, Bank(PoliwagAnimatedObjPalette1) + dwb PoliwagAnimatedObjPalette1, Bank(PoliwagAnimatedObjPalette1) + dwb AbraAnimatedObjPalette1, Bank(AbraAnimatedObjPalette1) + dwb AbraAnimatedObjPalette1, Bank(AbraAnimatedObjPalette1) + dwb AbraAnimatedObjPalette1, Bank(AbraAnimatedObjPalette1) + dwb MachopAnimatedObjPalette1, Bank(MachopAnimatedObjPalette1) + dwb MachopAnimatedObjPalette1, Bank(MachopAnimatedObjPalette1) + dwb MachopAnimatedObjPalette1, Bank(MachopAnimatedObjPalette1) + dwb BellsproutAnimatedObjPalette1, Bank(BellsproutAnimatedObjPalette1) + dwb BellsproutAnimatedObjPalette1, Bank(BellsproutAnimatedObjPalette1) + dwb BellsproutAnimatedObjPalette1, Bank(BellsproutAnimatedObjPalette1) + dwb TentacoolAnimatedObjPalette1, Bank(TentacoolAnimatedObjPalette1) + dwb TentacoolAnimatedObjPalette1, Bank(TentacoolAnimatedObjPalette1) + dwb GeodudeAnimatedObjPalette1, Bank(GeodudeAnimatedObjPalette1) + dwb GeodudeAnimatedObjPalette1, Bank(GeodudeAnimatedObjPalette1) + dwb GeodudeAnimatedObjPalette1, Bank(GeodudeAnimatedObjPalette1) + dwb PonytaAnimatedObjPalette1, Bank(PonytaAnimatedObjPalette1) + dwb PonytaAnimatedObjPalette1, Bank(PonytaAnimatedObjPalette1) + dwb SlowpokeAnimatedObjPalette1, Bank(SlowpokeAnimatedObjPalette1) + dwb SlowpokeAnimatedObjPalette1, Bank(SlowpokeAnimatedObjPalette1) + dwb MagnemiteAnimatedObjPalette1, Bank(MagnemiteAnimatedObjPalette1) + dwb MagnemiteAnimatedObjPalette1, Bank(MagnemiteAnimatedObjPalette1) + dwb FarfetchdAnimatedObjPalette1, Bank(FarfetchdAnimatedObjPalette1) + dwb DoduoAnimatedObjPalette1, Bank(DoduoAnimatedObjPalette1) + dwb DoduoAnimatedObjPalette1, Bank(DoduoAnimatedObjPalette1) + dwb SeelAnimatedObjPalette1, Bank(SeelAnimatedObjPalette1) + dwb SeelAnimatedObjPalette1, Bank(SeelAnimatedObjPalette1) + dwb GrimerAnimatedObjPalette1, Bank(GrimerAnimatedObjPalette1) + dwb GrimerAnimatedObjPalette1, Bank(GrimerAnimatedObjPalette1) + dwb ShellderAnimatedObjPalette1, Bank(ShellderAnimatedObjPalette1) + dwb ShellderAnimatedObjPalette1, Bank(ShellderAnimatedObjPalette1) + dwb GastlyAnimatedObjPalette1, Bank(GastlyAnimatedObjPalette1) + dwb GastlyAnimatedObjPalette1, Bank(GastlyAnimatedObjPalette1) + dwb GastlyAnimatedObjPalette1, Bank(GastlyAnimatedObjPalette1) + dwb OnixAnimatedObjPalette1, Bank(OnixAnimatedObjPalette1) + dwb DrowzeeAnimatedObjPalette1, Bank(DrowzeeAnimatedObjPalette1) + dwb DrowzeeAnimatedObjPalette1, Bank(DrowzeeAnimatedObjPalette1) + dwb KrabbyAnimatedObjPalette1, Bank(KrabbyAnimatedObjPalette1) + dwb KrabbyAnimatedObjPalette1, Bank(KrabbyAnimatedObjPalette1) + dwb VoltorbAnimatedObjPalette1, Bank(VoltorbAnimatedObjPalette1) + dwb VoltorbAnimatedObjPalette1, Bank(VoltorbAnimatedObjPalette1) + dwb ExeggcuteAnimatedObjPalette1, Bank(ExeggcuteAnimatedObjPalette1) + dwb ExeggcuteAnimatedObjPalette1, Bank(ExeggcuteAnimatedObjPalette1) + dwb CuboneAnimatedObjPalette1, Bank(CuboneAnimatedObjPalette1) + dwb CuboneAnimatedObjPalette1, Bank(CuboneAnimatedObjPalette1) + dwb HitmonleeAnimatedObjPalette1, Bank(HitmonleeAnimatedObjPalette1) + dwb HitmonchanAnimatedObjPalette1, Bank(HitmonchanAnimatedObjPalette1) + dwb LickitungAnimatedObjPalette1, Bank(LickitungAnimatedObjPalette1) + dwb KoffingAnimatedObjPalette1, Bank(KoffingAnimatedObjPalette1) + dwb KoffingAnimatedObjPalette1, Bank(KoffingAnimatedObjPalette1) + dwb RhyhornAnimatedObjPalette1, Bank(RhyhornAnimatedObjPalette1) + dwb RhyhornAnimatedObjPalette1, Bank(RhyhornAnimatedObjPalette1) + dwb ChanseyAnimatedObjPalette1, Bank(ChanseyAnimatedObjPalette1) + dwb TangelaAnimatedObjPalette1, Bank(TangelaAnimatedObjPalette1) + dwb KangaskhanAnimatedObjPalette1, Bank(KangaskhanAnimatedObjPalette1) + dwb HorseaAnimatedObjPalette1, Bank(HorseaAnimatedObjPalette1) + dwb HorseaAnimatedObjPalette1, Bank(HorseaAnimatedObjPalette1) + dwb GoldeenAnimatedObjPalette1, Bank(GoldeenAnimatedObjPalette1) + dwb GoldeenAnimatedObjPalette1, Bank(GoldeenAnimatedObjPalette1) + dwb StaryuAnimatedObjPalette1, Bank(StaryuAnimatedObjPalette1) + dwb StaryuAnimatedObjPalette1, Bank(StaryuAnimatedObjPalette1) + dwb MrMimeAnimatedObjPalette1, Bank(MrMimeAnimatedObjPalette1) + dwb ScytherAnimatedObjPalette1, Bank(ScytherAnimatedObjPalette1) + dwb JynxAnimatedObjPalette1, Bank(JynxAnimatedObjPalette1) + dwb ElectabuzzAnimatedObjPalette1, Bank(ElectabuzzAnimatedObjPalette1) + dwb MagmarAnimatedObjPalette1, Bank(MagmarAnimatedObjPalette1) + dwb PinsirAnimatedObjPalette1, Bank(PinsirAnimatedObjPalette1) + dwb TaurosAnimatedObjPalette1, Bank(TaurosAnimatedObjPalette1) + dwb MagikarpAnimatedObjPalette1, Bank(MagikarpAnimatedObjPalette1) + dwb MagikarpAnimatedObjPalette1, Bank(MagikarpAnimatedObjPalette1) + dwb LaprasAnimatedObjPalette1, Bank(LaprasAnimatedObjPalette1) + dwb DittoAnimatedObjPalette1, Bank(DittoAnimatedObjPalette1) + dwb EeveeAnimatedObjPalette1, Bank(EeveeAnimatedObjPalette1) + dwb EeveeAnimatedObjPalette1, Bank(EeveeAnimatedObjPalette1) + dwb EeveeAnimatedObjPalette1, Bank(EeveeAnimatedObjPalette1) + dwb EeveeAnimatedObjPalette1, Bank(EeveeAnimatedObjPalette1) + dwb PorygonAnimatedObjPalette1, Bank(PorygonAnimatedObjPalette1) + dwb OmanyteAnimatedObjPalette1, Bank(OmanyteAnimatedObjPalette1) + dwb OmanyteAnimatedObjPalette1, Bank(OmanyteAnimatedObjPalette1) + dwb KabutoAnimatedObjPalette1, Bank(KabutoAnimatedObjPalette1) + dwb KabutoAnimatedObjPalette1, Bank(KabutoAnimatedObjPalette1) + dwb AerodactylAnimatedObjPalette1, Bank(AerodactylAnimatedObjPalette1) + dwb SnorlaxAnimatedObjPalette1, Bank(SnorlaxAnimatedObjPalette1) + dwb ArticunoAnimatedObjPalette1, Bank(ArticunoAnimatedObjPalette1) + dwb ZapdosAnimatedObjPalette1, Bank(ZapdosAnimatedObjPalette1) + dwb MoltresAnimatedObjPalette1, Bank(MoltresAnimatedObjPalette1) + dwb DratiniAnimatedObjPalette1, Bank(DratiniAnimatedObjPalette1) + dwb DratiniAnimatedObjPalette1, Bank(DratiniAnimatedObjPalette1) + dwb DratiniAnimatedObjPalette1, Bank(DratiniAnimatedObjPalette1) + dwb MewtwoAnimatedObjPalette1, Bank(MewtwoAnimatedObjPalette1) + dwb MewAnimatedObjPalette1, Bank(MewAnimatedObjPalette1) MonAnimatedPicPointers: ; 0x13264 - dwb BulbasaurAnimatedPic, Bank(BulbasaurAnimatedPic) - dwb BulbasaurAnimatedPic, Bank(BulbasaurAnimatedPic) - dwb BulbasaurAnimatedPic, Bank(BulbasaurAnimatedPic) - dwb CharmanderAnimatedPic, Bank(CharmanderAnimatedPic) - dwb CharmanderAnimatedPic, Bank(CharmanderAnimatedPic) - dwb CharmanderAnimatedPic, Bank(CharmanderAnimatedPic) - dwb SquirtleAnimatedPic, Bank(SquirtleAnimatedPic) - dwb SquirtleAnimatedPic, Bank(SquirtleAnimatedPic) - dwb SquirtleAnimatedPic, Bank(SquirtleAnimatedPic) - dwb CaterpieAnimatedPic, Bank(CaterpieAnimatedPic) - dwb CaterpieAnimatedPic, Bank(CaterpieAnimatedPic) - dwb CaterpieAnimatedPic, Bank(CaterpieAnimatedPic) - dwb WeedleAnimatedPic, Bank(WeedleAnimatedPic) - dwb WeedleAnimatedPic, Bank(WeedleAnimatedPic) - dwb WeedleAnimatedPic, Bank(WeedleAnimatedPic) - dwb PidgeyAnimatedPic, Bank(PidgeyAnimatedPic) - dwb PidgeyAnimatedPic, Bank(PidgeyAnimatedPic) - dwb PidgeyAnimatedPic, Bank(PidgeyAnimatedPic) - dwb RattataAnimatedPic, Bank(RattataAnimatedPic) - dwb RattataAnimatedPic, Bank(RattataAnimatedPic) - dwb SpearowAnimatedPic, Bank(SpearowAnimatedPic) - dwb SpearowAnimatedPic, Bank(SpearowAnimatedPic) - dwb EkansAnimatedPic, Bank(EkansAnimatedPic) - dwb EkansAnimatedPic, Bank(EkansAnimatedPic) - dwb PikachuAnimatedPic, Bank(PikachuAnimatedPic) - dwb PikachuAnimatedPic, Bank(PikachuAnimatedPic) - dwb SandshrewAnimatedPic, Bank(SandshrewAnimatedPic) - dwb SandshrewAnimatedPic, Bank(SandshrewAnimatedPic) - dwb NidoranFAnimatedPic, Bank(NidoranFAnimatedPic) - dwb NidoranFAnimatedPic, Bank(NidoranFAnimatedPic) - dwb NidoranFAnimatedPic, Bank(NidoranFAnimatedPic) - dwb NidoranMAnimatedPic, Bank(NidoranMAnimatedPic) - dwb NidoranMAnimatedPic, Bank(NidoranMAnimatedPic) - dwb NidoranMAnimatedPic, Bank(NidoranMAnimatedPic) - dwb ClefairyAnimatedPic, Bank(ClefairyAnimatedPic) - dwb ClefairyAnimatedPic, Bank(ClefairyAnimatedPic) - dwb VulpixAnimatedPic, Bank(VulpixAnimatedPic) - dwb VulpixAnimatedPic, Bank(VulpixAnimatedPic) - dwb JigglypuffAnimatedPic, Bank(JigglypuffAnimatedPic) - dwb JigglypuffAnimatedPic, Bank(JigglypuffAnimatedPic) - dwb ZubatAnimatedPic, Bank(ZubatAnimatedPic) - dwb ZubatAnimatedPic, Bank(ZubatAnimatedPic) - dwb OddishAnimatedPic, Bank(OddishAnimatedPic) - dwb OddishAnimatedPic, Bank(OddishAnimatedPic) - dwb OddishAnimatedPic, Bank(OddishAnimatedPic) - dwb ParasAnimatedPic, Bank(ParasAnimatedPic) - dwb ParasAnimatedPic, Bank(ParasAnimatedPic) - dwb VenonatAnimatedPic, Bank(VenonatAnimatedPic) - dwb VenonatAnimatedPic, Bank(VenonatAnimatedPic) - dwb DiglettAnimatedPic, Bank(DiglettAnimatedPic) - dwb DiglettAnimatedPic, Bank(DiglettAnimatedPic) - dwb MeowthAnimatedPic, Bank(MeowthAnimatedPic) - dwb MeowthAnimatedPic, Bank(MeowthAnimatedPic) - dwb PsyduckAnimatedPic, Bank(PsyduckAnimatedPic) - dwb PsyduckAnimatedPic, Bank(PsyduckAnimatedPic) - dwb MankeyAnimatedPic, Bank(MankeyAnimatedPic) - dwb MankeyAnimatedPic, Bank(MankeyAnimatedPic) - dwb GrowlitheAnimatedPic, Bank(GrowlitheAnimatedPic) - dwb GrowlitheAnimatedPic, Bank(GrowlitheAnimatedPic) - dwb PoliwagAnimatedPic, Bank(PoliwagAnimatedPic) - dwb PoliwagAnimatedPic, Bank(PoliwagAnimatedPic) - dwb PoliwagAnimatedPic, Bank(PoliwagAnimatedPic) - dwb AbraAnimatedPic, Bank(AbraAnimatedPic) - dwb AbraAnimatedPic, Bank(AbraAnimatedPic) - dwb AbraAnimatedPic, Bank(AbraAnimatedPic) - dwb MachopAnimatedPic, Bank(MachopAnimatedPic) - dwb MachopAnimatedPic, Bank(MachopAnimatedPic) - dwb MachopAnimatedPic, Bank(MachopAnimatedPic) - dwb BellsproutAnimatedPic, Bank(BellsproutAnimatedPic) - dwb BellsproutAnimatedPic, Bank(BellsproutAnimatedPic) - dwb BellsproutAnimatedPic, Bank(BellsproutAnimatedPic) - dwb TentacoolAnimatedPic, Bank(TentacoolAnimatedPic) - dwb TentacoolAnimatedPic, Bank(TentacoolAnimatedPic) - dwb GeodudeAnimatedPic, Bank(GeodudeAnimatedPic) - dwb GeodudeAnimatedPic, Bank(GeodudeAnimatedPic) - dwb GeodudeAnimatedPic, Bank(GeodudeAnimatedPic) - dwb PonytaAnimatedPic, Bank(PonytaAnimatedPic) - dwb PonytaAnimatedPic, Bank(PonytaAnimatedPic) - dwb SlowpokeAnimatedPic, Bank(SlowpokeAnimatedPic) - dwb SlowpokeAnimatedPic, Bank(SlowpokeAnimatedPic) - dwb MagnemiteAnimatedPic, Bank(MagnemiteAnimatedPic) - dwb MagnemiteAnimatedPic, Bank(MagnemiteAnimatedPic) - dwb FarfetchdAnimatedPic, Bank(FarfetchdAnimatedPic) - dwb DoduoAnimatedPic, Bank(DoduoAnimatedPic) - dwb DoduoAnimatedPic, Bank(DoduoAnimatedPic) - dwb SeelAnimatedPic, Bank(SeelAnimatedPic) - dwb SeelAnimatedPic, Bank(SeelAnimatedPic) - dwb GrimerAnimatedPic, Bank(GrimerAnimatedPic) - dwb GrimerAnimatedPic, Bank(GrimerAnimatedPic) - dwb ShellderAnimatedPic, Bank(ShellderAnimatedPic) - dwb ShellderAnimatedPic, Bank(ShellderAnimatedPic) - dwb GastlyAnimatedPic, Bank(GastlyAnimatedPic) - dwb GastlyAnimatedPic, Bank(GastlyAnimatedPic) - dwb GastlyAnimatedPic, Bank(GastlyAnimatedPic) - dwb OnixAnimatedPic, Bank(OnixAnimatedPic) - dwb DrowzeeAnimatedPic, Bank(DrowzeeAnimatedPic) - dwb DrowzeeAnimatedPic, Bank(DrowzeeAnimatedPic) - dwb KrabbyAnimatedPic, Bank(KrabbyAnimatedPic) - dwb KrabbyAnimatedPic, Bank(KrabbyAnimatedPic) - dwb VoltorbAnimatedPic, Bank(VoltorbAnimatedPic) - dwb VoltorbAnimatedPic, Bank(VoltorbAnimatedPic) - dwb ExeggcuteAnimatedPic, Bank(ExeggcuteAnimatedPic) - dwb ExeggcuteAnimatedPic, Bank(ExeggcuteAnimatedPic) - dwb CuboneAnimatedPic, Bank(CuboneAnimatedPic) - dwb CuboneAnimatedPic, Bank(CuboneAnimatedPic) - dwb HitmonleeAnimatedPic, Bank(HitmonleeAnimatedPic) - dwb HitmonchanAnimatedPic, Bank(HitmonchanAnimatedPic) - dwb LickitungAnimatedPic, Bank(LickitungAnimatedPic) - dwb KoffingAnimatedPic, Bank(KoffingAnimatedPic) - dwb KoffingAnimatedPic, Bank(KoffingAnimatedPic) - dwb RhyhornAnimatedPic, Bank(RhyhornAnimatedPic) - dwb RhyhornAnimatedPic, Bank(RhyhornAnimatedPic) - dwb ChanseyAnimatedPic, Bank(ChanseyAnimatedPic) - dwb TangelaAnimatedPic, Bank(TangelaAnimatedPic) - dwb KangaskhanAnimatedPic, Bank(KangaskhanAnimatedPic) - dwb HorseaAnimatedPic, Bank(HorseaAnimatedPic) - dwb HorseaAnimatedPic, Bank(HorseaAnimatedPic) - dwb GoldeenAnimatedPic, Bank(GoldeenAnimatedPic) - dwb GoldeenAnimatedPic, Bank(GoldeenAnimatedPic) - dwb StaryuAnimatedPic, Bank(StaryuAnimatedPic) - dwb StaryuAnimatedPic, Bank(StaryuAnimatedPic) - dwb MrMimeAnimatedPic, Bank(MrMimeAnimatedPic) - dwb ScytherAnimatedPic, Bank(ScytherAnimatedPic) - dwb JynxAnimatedPic, Bank(JynxAnimatedPic) - dwb ElectabuzzAnimatedPic, Bank(ElectabuzzAnimatedPic) - dwb MagmarAnimatedPic, Bank(MagmarAnimatedPic) - dwb PinsirAnimatedPic, Bank(PinsirAnimatedPic) - dwb TaurosAnimatedPic, Bank(TaurosAnimatedPic) - dwb MagikarpAnimatedPic, Bank(MagikarpAnimatedPic) - dwb MagikarpAnimatedPic, Bank(MagikarpAnimatedPic) - dwb LaprasAnimatedPic, Bank(LaprasAnimatedPic) - dwb DittoAnimatedPic, Bank(DittoAnimatedPic) - dwb EeveeAnimatedPic, Bank(EeveeAnimatedPic) - dwb EeveeAnimatedPic, Bank(EeveeAnimatedPic) - dwb EeveeAnimatedPic, Bank(EeveeAnimatedPic) - dwb EeveeAnimatedPic, Bank(EeveeAnimatedPic) - dwb PorygonAnimatedPic, Bank(PorygonAnimatedPic) - dwb OmanyteAnimatedPic, Bank(OmanyteAnimatedPic) - dwb OmanyteAnimatedPic, Bank(OmanyteAnimatedPic) - dwb KabutoAnimatedPic, Bank(KabutoAnimatedPic) - dwb KabutoAnimatedPic, Bank(KabutoAnimatedPic) - dwb AerodactylAnimatedPic, Bank(AerodactylAnimatedPic) - dwb SnorlaxAnimatedPic, Bank(SnorlaxAnimatedPic) - dwb ArticunoAnimatedPic, Bank(ArticunoAnimatedPic) - dwb ZapdosAnimatedPic, Bank(ZapdosAnimatedPic) - dwb MoltresAnimatedPic, Bank(MoltresAnimatedPic) - dwb DratiniAnimatedPic, Bank(DratiniAnimatedPic) - dwb DratiniAnimatedPic, Bank(DratiniAnimatedPic) - dwb DratiniAnimatedPic, Bank(DratiniAnimatedPic) - dwb MewtwoAnimatedPic, Bank(MewtwoAnimatedPic) - dwb MewAnimatedPic, Bank(MewAnimatedPic) + dwb BulbasaurAnimatedPic, Bank(BulbasaurAnimatedPic) + dwb BulbasaurAnimatedPic, Bank(BulbasaurAnimatedPic) + dwb BulbasaurAnimatedPic, Bank(BulbasaurAnimatedPic) + dwb CharmanderAnimatedPic, Bank(CharmanderAnimatedPic) + dwb CharmanderAnimatedPic, Bank(CharmanderAnimatedPic) + dwb CharmanderAnimatedPic, Bank(CharmanderAnimatedPic) + dwb SquirtleAnimatedPic, Bank(SquirtleAnimatedPic) + dwb SquirtleAnimatedPic, Bank(SquirtleAnimatedPic) + dwb SquirtleAnimatedPic, Bank(SquirtleAnimatedPic) + dwb CaterpieAnimatedPic, Bank(CaterpieAnimatedPic) + dwb CaterpieAnimatedPic, Bank(CaterpieAnimatedPic) + dwb CaterpieAnimatedPic, Bank(CaterpieAnimatedPic) + dwb WeedleAnimatedPic, Bank(WeedleAnimatedPic) + dwb WeedleAnimatedPic, Bank(WeedleAnimatedPic) + dwb WeedleAnimatedPic, Bank(WeedleAnimatedPic) + dwb PidgeyAnimatedPic, Bank(PidgeyAnimatedPic) + dwb PidgeyAnimatedPic, Bank(PidgeyAnimatedPic) + dwb PidgeyAnimatedPic, Bank(PidgeyAnimatedPic) + dwb RattataAnimatedPic, Bank(RattataAnimatedPic) + dwb RattataAnimatedPic, Bank(RattataAnimatedPic) + dwb SpearowAnimatedPic, Bank(SpearowAnimatedPic) + dwb SpearowAnimatedPic, Bank(SpearowAnimatedPic) + dwb EkansAnimatedPic, Bank(EkansAnimatedPic) + dwb EkansAnimatedPic, Bank(EkansAnimatedPic) + dwb PikachuAnimatedPic, Bank(PikachuAnimatedPic) + dwb PikachuAnimatedPic, Bank(PikachuAnimatedPic) + dwb SandshrewAnimatedPic, Bank(SandshrewAnimatedPic) + dwb SandshrewAnimatedPic, Bank(SandshrewAnimatedPic) + dwb NidoranFAnimatedPic, Bank(NidoranFAnimatedPic) + dwb NidoranFAnimatedPic, Bank(NidoranFAnimatedPic) + dwb NidoranFAnimatedPic, Bank(NidoranFAnimatedPic) + dwb NidoranMAnimatedPic, Bank(NidoranMAnimatedPic) + dwb NidoranMAnimatedPic, Bank(NidoranMAnimatedPic) + dwb NidoranMAnimatedPic, Bank(NidoranMAnimatedPic) + dwb ClefairyAnimatedPic, Bank(ClefairyAnimatedPic) + dwb ClefairyAnimatedPic, Bank(ClefairyAnimatedPic) + dwb VulpixAnimatedPic, Bank(VulpixAnimatedPic) + dwb VulpixAnimatedPic, Bank(VulpixAnimatedPic) + dwb JigglypuffAnimatedPic, Bank(JigglypuffAnimatedPic) + dwb JigglypuffAnimatedPic, Bank(JigglypuffAnimatedPic) + dwb ZubatAnimatedPic, Bank(ZubatAnimatedPic) + dwb ZubatAnimatedPic, Bank(ZubatAnimatedPic) + dwb OddishAnimatedPic, Bank(OddishAnimatedPic) + dwb OddishAnimatedPic, Bank(OddishAnimatedPic) + dwb OddishAnimatedPic, Bank(OddishAnimatedPic) + dwb ParasAnimatedPic, Bank(ParasAnimatedPic) + dwb ParasAnimatedPic, Bank(ParasAnimatedPic) + dwb VenonatAnimatedPic, Bank(VenonatAnimatedPic) + dwb VenonatAnimatedPic, Bank(VenonatAnimatedPic) + dwb DiglettAnimatedPic, Bank(DiglettAnimatedPic) + dwb DiglettAnimatedPic, Bank(DiglettAnimatedPic) + dwb MeowthAnimatedPic, Bank(MeowthAnimatedPic) + dwb MeowthAnimatedPic, Bank(MeowthAnimatedPic) + dwb PsyduckAnimatedPic, Bank(PsyduckAnimatedPic) + dwb PsyduckAnimatedPic, Bank(PsyduckAnimatedPic) + dwb MankeyAnimatedPic, Bank(MankeyAnimatedPic) + dwb MankeyAnimatedPic, Bank(MankeyAnimatedPic) + dwb GrowlitheAnimatedPic, Bank(GrowlitheAnimatedPic) + dwb GrowlitheAnimatedPic, Bank(GrowlitheAnimatedPic) + dwb PoliwagAnimatedPic, Bank(PoliwagAnimatedPic) + dwb PoliwagAnimatedPic, Bank(PoliwagAnimatedPic) + dwb PoliwagAnimatedPic, Bank(PoliwagAnimatedPic) + dwb AbraAnimatedPic, Bank(AbraAnimatedPic) + dwb AbraAnimatedPic, Bank(AbraAnimatedPic) + dwb AbraAnimatedPic, Bank(AbraAnimatedPic) + dwb MachopAnimatedPic, Bank(MachopAnimatedPic) + dwb MachopAnimatedPic, Bank(MachopAnimatedPic) + dwb MachopAnimatedPic, Bank(MachopAnimatedPic) + dwb BellsproutAnimatedPic, Bank(BellsproutAnimatedPic) + dwb BellsproutAnimatedPic, Bank(BellsproutAnimatedPic) + dwb BellsproutAnimatedPic, Bank(BellsproutAnimatedPic) + dwb TentacoolAnimatedPic, Bank(TentacoolAnimatedPic) + dwb TentacoolAnimatedPic, Bank(TentacoolAnimatedPic) + dwb GeodudeAnimatedPic, Bank(GeodudeAnimatedPic) + dwb GeodudeAnimatedPic, Bank(GeodudeAnimatedPic) + dwb GeodudeAnimatedPic, Bank(GeodudeAnimatedPic) + dwb PonytaAnimatedPic, Bank(PonytaAnimatedPic) + dwb PonytaAnimatedPic, Bank(PonytaAnimatedPic) + dwb SlowpokeAnimatedPic, Bank(SlowpokeAnimatedPic) + dwb SlowpokeAnimatedPic, Bank(SlowpokeAnimatedPic) + dwb MagnemiteAnimatedPic, Bank(MagnemiteAnimatedPic) + dwb MagnemiteAnimatedPic, Bank(MagnemiteAnimatedPic) + dwb FarfetchdAnimatedPic, Bank(FarfetchdAnimatedPic) + dwb DoduoAnimatedPic, Bank(DoduoAnimatedPic) + dwb DoduoAnimatedPic, Bank(DoduoAnimatedPic) + dwb SeelAnimatedPic, Bank(SeelAnimatedPic) + dwb SeelAnimatedPic, Bank(SeelAnimatedPic) + dwb GrimerAnimatedPic, Bank(GrimerAnimatedPic) + dwb GrimerAnimatedPic, Bank(GrimerAnimatedPic) + dwb ShellderAnimatedPic, Bank(ShellderAnimatedPic) + dwb ShellderAnimatedPic, Bank(ShellderAnimatedPic) + dwb GastlyAnimatedPic, Bank(GastlyAnimatedPic) + dwb GastlyAnimatedPic, Bank(GastlyAnimatedPic) + dwb GastlyAnimatedPic, Bank(GastlyAnimatedPic) + dwb OnixAnimatedPic, Bank(OnixAnimatedPic) + dwb DrowzeeAnimatedPic, Bank(DrowzeeAnimatedPic) + dwb DrowzeeAnimatedPic, Bank(DrowzeeAnimatedPic) + dwb KrabbyAnimatedPic, Bank(KrabbyAnimatedPic) + dwb KrabbyAnimatedPic, Bank(KrabbyAnimatedPic) + dwb VoltorbAnimatedPic, Bank(VoltorbAnimatedPic) + dwb VoltorbAnimatedPic, Bank(VoltorbAnimatedPic) + dwb ExeggcuteAnimatedPic, Bank(ExeggcuteAnimatedPic) + dwb ExeggcuteAnimatedPic, Bank(ExeggcuteAnimatedPic) + dwb CuboneAnimatedPic, Bank(CuboneAnimatedPic) + dwb CuboneAnimatedPic, Bank(CuboneAnimatedPic) + dwb HitmonleeAnimatedPic, Bank(HitmonleeAnimatedPic) + dwb HitmonchanAnimatedPic, Bank(HitmonchanAnimatedPic) + dwb LickitungAnimatedPic, Bank(LickitungAnimatedPic) + dwb KoffingAnimatedPic, Bank(KoffingAnimatedPic) + dwb KoffingAnimatedPic, Bank(KoffingAnimatedPic) + dwb RhyhornAnimatedPic, Bank(RhyhornAnimatedPic) + dwb RhyhornAnimatedPic, Bank(RhyhornAnimatedPic) + dwb ChanseyAnimatedPic, Bank(ChanseyAnimatedPic) + dwb TangelaAnimatedPic, Bank(TangelaAnimatedPic) + dwb KangaskhanAnimatedPic, Bank(KangaskhanAnimatedPic) + dwb HorseaAnimatedPic, Bank(HorseaAnimatedPic) + dwb HorseaAnimatedPic, Bank(HorseaAnimatedPic) + dwb GoldeenAnimatedPic, Bank(GoldeenAnimatedPic) + dwb GoldeenAnimatedPic, Bank(GoldeenAnimatedPic) + dwb StaryuAnimatedPic, Bank(StaryuAnimatedPic) + dwb StaryuAnimatedPic, Bank(StaryuAnimatedPic) + dwb MrMimeAnimatedPic, Bank(MrMimeAnimatedPic) + dwb ScytherAnimatedPic, Bank(ScytherAnimatedPic) + dwb JynxAnimatedPic, Bank(JynxAnimatedPic) + dwb ElectabuzzAnimatedPic, Bank(ElectabuzzAnimatedPic) + dwb MagmarAnimatedPic, Bank(MagmarAnimatedPic) + dwb PinsirAnimatedPic, Bank(PinsirAnimatedPic) + dwb TaurosAnimatedPic, Bank(TaurosAnimatedPic) + dwb MagikarpAnimatedPic, Bank(MagikarpAnimatedPic) + dwb MagikarpAnimatedPic, Bank(MagikarpAnimatedPic) + dwb LaprasAnimatedPic, Bank(LaprasAnimatedPic) + dwb DittoAnimatedPic, Bank(DittoAnimatedPic) + dwb EeveeAnimatedPic, Bank(EeveeAnimatedPic) + dwb EeveeAnimatedPic, Bank(EeveeAnimatedPic) + dwb EeveeAnimatedPic, Bank(EeveeAnimatedPic) + dwb EeveeAnimatedPic, Bank(EeveeAnimatedPic) + dwb PorygonAnimatedPic, Bank(PorygonAnimatedPic) + dwb OmanyteAnimatedPic, Bank(OmanyteAnimatedPic) + dwb OmanyteAnimatedPic, Bank(OmanyteAnimatedPic) + dwb KabutoAnimatedPic, Bank(KabutoAnimatedPic) + dwb KabutoAnimatedPic, Bank(KabutoAnimatedPic) + dwb AerodactylAnimatedPic, Bank(AerodactylAnimatedPic) + dwb SnorlaxAnimatedPic, Bank(SnorlaxAnimatedPic) + dwb ArticunoAnimatedPic, Bank(ArticunoAnimatedPic) + dwb ZapdosAnimatedPic, Bank(ZapdosAnimatedPic) + dwb MoltresAnimatedPic, Bank(MoltresAnimatedPic) + dwb DratiniAnimatedPic, Bank(DratiniAnimatedPic) + dwb DratiniAnimatedPic, Bank(DratiniAnimatedPic) + dwb DratiniAnimatedPic, Bank(DratiniAnimatedPic) + dwb MewtwoAnimatedPic, Bank(MewtwoAnimatedPic) + dwb MewAnimatedPic, Bank(MewAnimatedPic) MonAnimatedSpriteTypes: ; 0x13429 ; Each mon has an animated sprite tilemap type. ; $03 is bulbasaur's ; $00 is squirtle's ; All other mon's use $06 - db $03 ; BULBASAUR - db $FF ; IVYSAUR - db $FF ; VENUSAUR - db $06 ; CHARMANDER - db $FF ; CHARMELEON - db $FF ; CHARIZARD - db $00 ; SQUIRTLE - db $FF ; WARTORTLE - db $FF ; BLASTOISE - db $06 ; CATERPIE - db $FF ; METAPOD - db $FF ; BUTTERFREE - db $06 ; WEEDLE - db $FF ; KAKUNA - db $FF ; BEEDRILL - db $06 ; PIDGEY - db $FF ; PIDGEOTTO - db $FF ; PIDGEOT - db $06 ; RATTATA - db $FF ; RATICATE - db $06 ; SPEAROW - db $FF ; FEAROW - db $06 ; EKANS - db $FF ; ARBOK - db $06 ; PIKACHU - db $FF ; RAICHU - db $06 ; SANDSHREW - db $FF ; SANDSLASH - db $06 ; NIDORAN_F - db $FF ; NIDORINA - db $FF ; NIDOQUEEN - db $06 ; NIDORAN_M - db $FF ; NIDORINO - db $FF ; NIDOKING - db $06 ; CLEFAIRY - db $FF ; CLEFABLE - db $06 ; VULPIX - db $FF ; NINETALES - db $06 ; JIGGLYPUFF - db $FF ; WIGGLYTUFF - db $06 ; ZUBAT - db $FF ; GOLBAT - db $06 ; ODDISH - db $FF ; GLOOM - db $FF ; VILEPLUME - db $06 ; PARAS - db $FF ; PARASECT - db $06 ; VENONAT - db $FF ; VENOMOTH - db $06 ; DIGLETT - db $FF ; DUGTRIO - db $06 ; MEOWTH - db $FF ; PERSIAN - db $06 ; PSYDUCK - db $FF ; GOLDUCK - db $06 ; MANKEY - db $FF ; PRIMEAPE - db $06 ; GROWLITHE - db $FF ; ARCANINE - db $06 ; POLIWAG - db $FF ; POLIWHIRL - db $FF ; POLIWRATH - db $06 ; ABRA - db $FF ; KADABRA - db $FF ; ALAKAZAM - db $06 ; MACHOP - db $FF ; MACHOKE - db $FF ; MACHAMP - db $06 ; BELLSPROUT - db $FF ; WEEPINBELL - db $FF ; VICTREEBEL - db $06 ; TENTACOOL - db $FF ; TENTACRUEL - db $06 ; GEODUDE - db $FF ; GRAVELER - db $FF ; GOLEM - db $06 ; PONYTA - db $FF ; RAPIDASH - db $06 ; SLOWPOKE - db $FF ; SLOWBRO - db $06 ; MAGNEMITE - db $FF ; MAGNETON - db $06 ; FARFETCH_D - db $06 ; DODUO - db $FF ; DODRIO - db $06 ; SEEL - db $FF ; DEWGONG - db $06 ; GRIMER - db $FF ; MUK - db $06 ; SHELLDER - db $FF ; CLOYSTER - db $06 ; GASTLY - db $FF ; HAUNTER - db $FF ; GENGAR - db $06 ; ONIX - db $06 ; DROWZEE - db $FF ; HYPNO - db $06 ; KRABBY - db $FF ; KINGLER - db $06 ; VOLTORB - db $FF ; ELECTRODE - db $06 ; EXEGGCUTE - db $FF ; EXEGGUTOR - db $06 ; CUBONE - db $FF ; MAROWAK - db $06 ; HITMONLEE - db $06 ; HITMONCHAN - db $06 ; LICKITUNG - db $06 ; KOFFING - db $FF ; WEEZING - db $06 ; RHYHORN - db $FF ; RHYDON - db $06 ; CHANSEY - db $06 ; TANGELA - db $06 ; KANGASKHAN - db $06 ; HORSEA - db $FF ; SEADRA - db $06 ; GOLDEEN - db $FF ; SEAKING - db $06 ; STARYU - db $FF ; STARMIE - db $06 ; MR_MIME - db $06 ; SCYTHER - db $06 ; JYNX - db $06 ; ELECTABUZZ - db $06 ; MAGMAR - db $06 ; PINSIR - db $06 ; TAUROS - db $06 ; MAGIKARP - db $FF ; GYARADOS - db $06 ; LAPRAS - db $06 ; DITTO - db $06 ; EEVEE - db $FF ; VAPOREON - db $FF ; JOLTEON - db $FF ; FLAREON - db $06 ; PORYGON - db $09 ; OMANYTE - db $FF ; OMASTAR - db $06 ; KABUTO - db $FF ; KABUTOPS - db $06 ; AERODACTYL - db $06 ; SNORLAX - db $06 ; ARTICUNO - db $06 ; ZAPDOS - db $06 ; MOLTRES - db $06 ; DRATINI - db $FF ; DRAGONAIR - db $FF ; DRAGONITE - db $06 ; MEWTWO - db $06 ; MEW + db $03 ; BULBASAUR + db $FF ; IVYSAUR + db $FF ; VENUSAUR + db $06 ; CHARMANDER + db $FF ; CHARMELEON + db $FF ; CHARIZARD + db $00 ; SQUIRTLE + db $FF ; WARTORTLE + db $FF ; BLASTOISE + db $06 ; CATERPIE + db $FF ; METAPOD + db $FF ; BUTTERFREE + db $06 ; WEEDLE + db $FF ; KAKUNA + db $FF ; BEEDRILL + db $06 ; PIDGEY + db $FF ; PIDGEOTTO + db $FF ; PIDGEOT + db $06 ; RATTATA + db $FF ; RATICATE + db $06 ; SPEAROW + db $FF ; FEAROW + db $06 ; EKANS + db $FF ; ARBOK + db $06 ; PIKACHU + db $FF ; RAICHU + db $06 ; SANDSHREW + db $FF ; SANDSLASH + db $06 ; NIDORAN_F + db $FF ; NIDORINA + db $FF ; NIDOQUEEN + db $06 ; NIDORAN_M + db $FF ; NIDORINO + db $FF ; NIDOKING + db $06 ; CLEFAIRY + db $FF ; CLEFABLE + db $06 ; VULPIX + db $FF ; NINETALES + db $06 ; JIGGLYPUFF + db $FF ; WIGGLYTUFF + db $06 ; ZUBAT + db $FF ; GOLBAT + db $06 ; ODDISH + db $FF ; GLOOM + db $FF ; VILEPLUME + db $06 ; PARAS + db $FF ; PARASECT + db $06 ; VENONAT + db $FF ; VENOMOTH + db $06 ; DIGLETT + db $FF ; DUGTRIO + db $06 ; MEOWTH + db $FF ; PERSIAN + db $06 ; PSYDUCK + db $FF ; GOLDUCK + db $06 ; MANKEY + db $FF ; PRIMEAPE + db $06 ; GROWLITHE + db $FF ; ARCANINE + db $06 ; POLIWAG + db $FF ; POLIWHIRL + db $FF ; POLIWRATH + db $06 ; ABRA + db $FF ; KADABRA + db $FF ; ALAKAZAM + db $06 ; MACHOP + db $FF ; MACHOKE + db $FF ; MACHAMP + db $06 ; BELLSPROUT + db $FF ; WEEPINBELL + db $FF ; VICTREEBEL + db $06 ; TENTACOOL + db $FF ; TENTACRUEL + db $06 ; GEODUDE + db $FF ; GRAVELER + db $FF ; GOLEM + db $06 ; PONYTA + db $FF ; RAPIDASH + db $06 ; SLOWPOKE + db $FF ; SLOWBRO + db $06 ; MAGNEMITE + db $FF ; MAGNETON + db $06 ; FARFETCH_D + db $06 ; DODUO + db $FF ; DODRIO + db $06 ; SEEL + db $FF ; DEWGONG + db $06 ; GRIMER + db $FF ; MUK + db $06 ; SHELLDER + db $FF ; CLOYSTER + db $06 ; GASTLY + db $FF ; HAUNTER + db $FF ; GENGAR + db $06 ; ONIX + db $06 ; DROWZEE + db $FF ; HYPNO + db $06 ; KRABBY + db $FF ; KINGLER + db $06 ; VOLTORB + db $FF ; ELECTRODE + db $06 ; EXEGGCUTE + db $FF ; EXEGGUTOR + db $06 ; CUBONE + db $FF ; MAROWAK + db $06 ; HITMONLEE + db $06 ; HITMONCHAN + db $06 ; LICKITUNG + db $06 ; KOFFING + db $FF ; WEEZING + db $06 ; RHYHORN + db $FF ; RHYDON + db $06 ; CHANSEY + db $06 ; TANGELA + db $06 ; KANGASKHAN + db $06 ; HORSEA + db $FF ; SEADRA + db $06 ; GOLDEEN + db $FF ; SEAKING + db $06 ; STARYU + db $FF ; STARMIE + db $06 ; MR_MIME + db $06 ; SCYTHER + db $06 ; JYNX + db $06 ; ELECTABUZZ + db $06 ; MAGMAR + db $06 ; PINSIR + db $06 ; TAUROS + db $06 ; MAGIKARP + db $FF ; GYARADOS + db $06 ; LAPRAS + db $06 ; DITTO + db $06 ; EEVEE + db $FF ; VAPOREON + db $FF ; JOLTEON + db $FF ; FLAREON + db $06 ; PORYGON + db $09 ; OMANYTE + db $FF ; OMASTAR + db $06 ; KABUTO + db $FF ; KABUTOPS + db $06 ; AERODACTYL + db $06 ; SNORLAX + db $06 ; ARTICUNO + db $06 ; ZAPDOS + db $06 ; MOLTRES + db $06 ; DRATINI + db $FF ; DRAGONAIR + db $FF ; DRAGONITE + db $06 ; MEWTWO + db $06 ; MEW MonAnimatedCollisionMaskPointers: ; 0x134c0 ; Pointers to the collision masks of the animated sprites of mons. ; Note only, evolution mons use an arbitrary non-evolved mon entry, since it will never be used. - dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) - dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) - dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) - dwb CharmanderAnimatedCollisionMask, Bank(CharmanderAnimatedCollisionMask) - dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) - dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) - dwb SquirtleAnimatedCollisionMask, Bank(SquirtleAnimatedCollisionMask) - dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) - dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) - dwb CaterpieAnimatedCollisionMask, Bank(CaterpieAnimatedCollisionMask) - dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) - dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) - dwb WeedleAnimatedCollisionMask, Bank(WeedleAnimatedCollisionMask) - dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) - dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) - dwb PidgeyAnimatedCollisionMask, Bank(PidgeyAnimatedCollisionMask) - dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) - dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) - dwb RattataAnimatedCollisionMask, Bank(RattataAnimatedCollisionMask) - dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) - dwb SpearowAnimatedCollisionMask, Bank(SpearowAnimatedCollisionMask) - dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) - dwb EkansAnimatedCollisionMask, Bank(EkansAnimatedCollisionMask) - dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) - dwb PikachuAnimatedCollisionMask, Bank(PikachuAnimatedCollisionMask) - dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) - dwb SandshrewAnimatedCollisionMask, Bank(SandshrewAnimatedCollisionMask) - dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) - dwb NidoranfAnimatedCollisionMask, Bank(NidoranfAnimatedCollisionMask) - dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) - dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) - dwb NidoranmAnimatedCollisionMask, Bank(NidoranmAnimatedCollisionMask) - dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) - dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) - dwb ClefairyAnimatedCollisionMask, Bank(ClefairyAnimatedCollisionMask) - dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) - dwb VulpixAnimatedCollisionMask, Bank(VulpixAnimatedCollisionMask) - dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) - dwb JigglypuffAnimatedCollisionMask, Bank(JigglypuffAnimatedCollisionMask) - dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) - dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) - dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) - dwb OddishAnimatedCollisionMask, Bank(OddishAnimatedCollisionMask) - dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) - dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) - dwb ParasAnimatedCollisionMask, Bank(ParasAnimatedCollisionMask) - dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) - dwb VenonatAnimatedCollisionMask, Bank(VenonatAnimatedCollisionMask) - dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) - dwb DiglettAnimatedCollisionMask, Bank(DiglettAnimatedCollisionMask) - dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) - dwb MeowthAnimatedCollisionMask, Bank(MeowthAnimatedCollisionMask) - dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) - dwb PsyduckAnimatedCollisionMask, Bank(PsyduckAnimatedCollisionMask) - dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) - dwb MankeyAnimatedCollisionMask, Bank(MankeyAnimatedCollisionMask) - dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) - dwb GrowlitheAnimatedCollisionMask, Bank(GrowlitheAnimatedCollisionMask) - dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) - dwb PoliwagAnimatedCollisionMask, Bank(PoliwagAnimatedCollisionMask) - dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) - dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) - dwb AbraAnimatedCollisionMask, Bank(AbraAnimatedCollisionMask) - dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) - dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) - dwb MachopAnimatedCollisionMask, Bank(MachopAnimatedCollisionMask) - dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) - dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) - dwb BellsproutAnimatedCollisionMask, Bank(BellsproutAnimatedCollisionMask) - dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) - dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) - dwb TentacoolAnimatedCollisionMask, Bank(TentacoolAnimatedCollisionMask) - dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) - dwb GeodudeAnimatedCollisionMask, Bank(GeodudeAnimatedCollisionMask) - dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) - dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) - dwb PonytaAnimatedCollisionMask, Bank(PonytaAnimatedCollisionMask) - dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) - dwb SlowpokeAnimatedCollisionMask, Bank(SlowpokeAnimatedCollisionMask) - dwb SlowpokeAnimatedCollisionMask, Bank(SlowpokeAnimatedCollisionMask) - dwb MagnemiteAnimatedCollisionMask, Bank(MagnemiteAnimatedCollisionMask) - dwb SlowpokeAnimatedCollisionMask, Bank(SlowpokeAnimatedCollisionMask) - dwb FarfetchdAnimatedCollisionMask, Bank(FarfetchdAnimatedCollisionMask) - dwb DoduoAnimatedCollisionMask, Bank(DoduoAnimatedCollisionMask) - dwb SlowpokeAnimatedCollisionMask, Bank(SlowpokeAnimatedCollisionMask) - dwb SeelAnimatedCollisionMask, Bank(SeelAnimatedCollisionMask) - dwb SlowpokeAnimatedCollisionMask, Bank(SlowpokeAnimatedCollisionMask) - dwb GrimerAnimatedCollisionMask, Bank(GrimerAnimatedCollisionMask) - dwb SlowpokeAnimatedCollisionMask, Bank(SlowpokeAnimatedCollisionMask) - dwb ShellderAnimatedCollisionMask, Bank(ShellderAnimatedCollisionMask) - dwb SlowpokeAnimatedCollisionMask, Bank(SlowpokeAnimatedCollisionMask) - dwb GastlyAnimatedCollisionMask, Bank(GastlyAnimatedCollisionMask) - dwb SlowpokeAnimatedCollisionMask, Bank(SlowpokeAnimatedCollisionMask) - dwb SlowpokeAnimatedCollisionMask, Bank(SlowpokeAnimatedCollisionMask) - dwb OnixAnimatedCollisionMask, Bank(OnixAnimatedCollisionMask) - dwb DrowzeeAnimatedCollisionMask, Bank(DrowzeeAnimatedCollisionMask) - dwb SlowpokeAnimatedCollisionMask, Bank(SlowpokeAnimatedCollisionMask) - dwb KrabbyAnimatedCollisionMask, Bank(KrabbyAnimatedCollisionMask) - dwb SlowpokeAnimatedCollisionMask, Bank(SlowpokeAnimatedCollisionMask) - dwb VoltorbAnimatedCollisionMask, Bank(VoltorbAnimatedCollisionMask) - dwb SlowpokeAnimatedCollisionMask, Bank(SlowpokeAnimatedCollisionMask) - dwb ExeggcuteAnimatedCollisionMask, Bank(ExeggcuteAnimatedCollisionMask) - dwb SlowpokeAnimatedCollisionMask, Bank(SlowpokeAnimatedCollisionMask) - dwb CuboneAnimatedCollisionMask, Bank(CuboneAnimatedCollisionMask) - dwb SlowpokeAnimatedCollisionMask, Bank(SlowpokeAnimatedCollisionMask) - dwb HitmonleeAnimatedCollisionMask, Bank(HitmonleeAnimatedCollisionMask) - dwb HitmonchanAnimatedCollisionMask, Bank(HitmonchanAnimatedCollisionMask) - dwb LickitungAnimatedCollisionMask, Bank(LickitungAnimatedCollisionMask) - dwb KoffingAnimatedCollisionMask, Bank(KoffingAnimatedCollisionMask) - dwb LickitungAnimatedCollisionMask, Bank(LickitungAnimatedCollisionMask) - dwb RhyhornAnimatedCollisionMask, Bank(RhyhornAnimatedCollisionMask) - dwb LickitungAnimatedCollisionMask, Bank(LickitungAnimatedCollisionMask) - dwb ChanseyAnimatedCollisionMask, Bank(ChanseyAnimatedCollisionMask) - dwb TangelaAnimatedCollisionMask, Bank(TangelaAnimatedCollisionMask) - dwb KangaskhanAnimatedCollisionMask, Bank(KangaskhanAnimatedCollisionMask) - dwb HorseaAnimatedCollisionMask, Bank(HorseaAnimatedCollisionMask) - dwb LickitungAnimatedCollisionMask, Bank(LickitungAnimatedCollisionMask) - dwb GoldeenAnimatedCollisionMask, Bank(GoldeenAnimatedCollisionMask) - dwb LickitungAnimatedCollisionMask, Bank(LickitungAnimatedCollisionMask) - dwb StaryuAnimatedCollisionMask, Bank(StaryuAnimatedCollisionMask) - dwb LickitungAnimatedCollisionMask, Bank(LickitungAnimatedCollisionMask) - dwb MrMimeAnimatedCollisionMask, Bank(MrMimeAnimatedCollisionMask) - dwb ScytherAnimatedCollisionMask, Bank(ScytherAnimatedCollisionMask) - dwb JynxAnimatedCollisionMask, Bank(JynxAnimatedCollisionMask) - dwb ElectabuzzAnimatedCollisionMask, Bank(ElectabuzzAnimatedCollisionMask) - dwb MagmarAnimatedCollisionMask, Bank(MagmarAnimatedCollisionMask) - dwb PinsirAnimatedCollisionMask, Bank(PinsirAnimatedCollisionMask) - dwb TaurosAnimatedCollisionMask, Bank(TaurosAnimatedCollisionMask) - dwb MagikarpAnimatedCollisionMask, Bank(MagikarpAnimatedCollisionMask) - dwb MagikarpAnimatedCollisionMask, Bank(MagikarpAnimatedCollisionMask) - dwb LaprasAnimatedCollisionMask, Bank(LaprasAnimatedCollisionMask) - dwb DittoAnimatedCollisionMask, Bank(DittoAnimatedCollisionMask) - dwb EeveeAnimatedCollisionMask, Bank(EeveeAnimatedCollisionMask) - dwb MagikarpAnimatedCollisionMask, Bank(MagikarpAnimatedCollisionMask) - dwb MagikarpAnimatedCollisionMask, Bank(MagikarpAnimatedCollisionMask) - dwb MagikarpAnimatedCollisionMask, Bank(MagikarpAnimatedCollisionMask) - dwb PorygonAnimatedCollisionMask, Bank(PorygonAnimatedCollisionMask) - dwb OmanyteAnimatedCollisionMask, Bank(OmanyteAnimatedCollisionMask) - dwb MagikarpAnimatedCollisionMask, Bank(MagikarpAnimatedCollisionMask) - dwb KabutoAnimatedCollisionMask, Bank(KabutoAnimatedCollisionMask) - dwb MagikarpAnimatedCollisionMask, Bank(MagikarpAnimatedCollisionMask) - dwb AerodactylAnimatedCollisionMask, Bank(AerodactylAnimatedCollisionMask) - dwb SnorlaxAnimatedCollisionMask, Bank(SnorlaxAnimatedCollisionMask) - dwb ArticunoAnimatedCollisionMask, Bank(ArticunoAnimatedCollisionMask) - dwb ZapdosAnimatedCollisionMask, Bank(ZapdosAnimatedCollisionMask) - dwb MoltresAnimatedCollisionMask, Bank(MoltresAnimatedCollisionMask) - dwb DratiniAnimatedCollisionMask, Bank(DratiniAnimatedCollisionMask) - dwb MagikarpAnimatedCollisionMask, Bank(MagikarpAnimatedCollisionMask) - dwb MagikarpAnimatedCollisionMask, Bank(MagikarpAnimatedCollisionMask) - dwb MewtwoAnimatedCollisionMask, Bank(MewtwoAnimatedCollisionMask) - dwb MewAnimatedCollisionMask, Bank(MewAnimatedCollisionMask) + dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) + dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) + dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) + dwb CharmanderAnimatedCollisionMask, Bank(CharmanderAnimatedCollisionMask) + dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) + dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) + dwb SquirtleAnimatedCollisionMask, Bank(SquirtleAnimatedCollisionMask) + dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) + dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) + dwb CaterpieAnimatedCollisionMask, Bank(CaterpieAnimatedCollisionMask) + dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) + dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) + dwb WeedleAnimatedCollisionMask, Bank(WeedleAnimatedCollisionMask) + dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) + dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) + dwb PidgeyAnimatedCollisionMask, Bank(PidgeyAnimatedCollisionMask) + dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) + dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) + dwb RattataAnimatedCollisionMask, Bank(RattataAnimatedCollisionMask) + dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) + dwb SpearowAnimatedCollisionMask, Bank(SpearowAnimatedCollisionMask) + dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) + dwb EkansAnimatedCollisionMask, Bank(EkansAnimatedCollisionMask) + dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) + dwb PikachuAnimatedCollisionMask, Bank(PikachuAnimatedCollisionMask) + dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) + dwb SandshrewAnimatedCollisionMask, Bank(SandshrewAnimatedCollisionMask) + dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) + dwb NidoranfAnimatedCollisionMask, Bank(NidoranfAnimatedCollisionMask) + dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) + dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) + dwb NidoranmAnimatedCollisionMask, Bank(NidoranmAnimatedCollisionMask) + dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) + dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) + dwb ClefairyAnimatedCollisionMask, Bank(ClefairyAnimatedCollisionMask) + dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) + dwb VulpixAnimatedCollisionMask, Bank(VulpixAnimatedCollisionMask) + dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) + dwb JigglypuffAnimatedCollisionMask, Bank(JigglypuffAnimatedCollisionMask) + dwb BulbasaurAnimatedCollisionMask, Bank(BulbasaurAnimatedCollisionMask) + dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) + dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) + dwb OddishAnimatedCollisionMask, Bank(OddishAnimatedCollisionMask) + dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) + dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) + dwb ParasAnimatedCollisionMask, Bank(ParasAnimatedCollisionMask) + dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) + dwb VenonatAnimatedCollisionMask, Bank(VenonatAnimatedCollisionMask) + dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) + dwb DiglettAnimatedCollisionMask, Bank(DiglettAnimatedCollisionMask) + dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) + dwb MeowthAnimatedCollisionMask, Bank(MeowthAnimatedCollisionMask) + dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) + dwb PsyduckAnimatedCollisionMask, Bank(PsyduckAnimatedCollisionMask) + dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) + dwb MankeyAnimatedCollisionMask, Bank(MankeyAnimatedCollisionMask) + dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) + dwb GrowlitheAnimatedCollisionMask, Bank(GrowlitheAnimatedCollisionMask) + dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) + dwb PoliwagAnimatedCollisionMask, Bank(PoliwagAnimatedCollisionMask) + dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) + dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) + dwb AbraAnimatedCollisionMask, Bank(AbraAnimatedCollisionMask) + dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) + dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) + dwb MachopAnimatedCollisionMask, Bank(MachopAnimatedCollisionMask) + dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) + dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) + dwb BellsproutAnimatedCollisionMask, Bank(BellsproutAnimatedCollisionMask) + dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) + dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) + dwb TentacoolAnimatedCollisionMask, Bank(TentacoolAnimatedCollisionMask) + dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) + dwb GeodudeAnimatedCollisionMask, Bank(GeodudeAnimatedCollisionMask) + dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) + dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) + dwb PonytaAnimatedCollisionMask, Bank(PonytaAnimatedCollisionMask) + dwb ZubatAnimatedCollisionMask, Bank(ZubatAnimatedCollisionMask) + dwb SlowpokeAnimatedCollisionMask, Bank(SlowpokeAnimatedCollisionMask) + dwb SlowpokeAnimatedCollisionMask, Bank(SlowpokeAnimatedCollisionMask) + dwb MagnemiteAnimatedCollisionMask, Bank(MagnemiteAnimatedCollisionMask) + dwb SlowpokeAnimatedCollisionMask, Bank(SlowpokeAnimatedCollisionMask) + dwb FarfetchdAnimatedCollisionMask, Bank(FarfetchdAnimatedCollisionMask) + dwb DoduoAnimatedCollisionMask, Bank(DoduoAnimatedCollisionMask) + dwb SlowpokeAnimatedCollisionMask, Bank(SlowpokeAnimatedCollisionMask) + dwb SeelAnimatedCollisionMask, Bank(SeelAnimatedCollisionMask) + dwb SlowpokeAnimatedCollisionMask, Bank(SlowpokeAnimatedCollisionMask) + dwb GrimerAnimatedCollisionMask, Bank(GrimerAnimatedCollisionMask) + dwb SlowpokeAnimatedCollisionMask, Bank(SlowpokeAnimatedCollisionMask) + dwb ShellderAnimatedCollisionMask, Bank(ShellderAnimatedCollisionMask) + dwb SlowpokeAnimatedCollisionMask, Bank(SlowpokeAnimatedCollisionMask) + dwb GastlyAnimatedCollisionMask, Bank(GastlyAnimatedCollisionMask) + dwb SlowpokeAnimatedCollisionMask, Bank(SlowpokeAnimatedCollisionMask) + dwb SlowpokeAnimatedCollisionMask, Bank(SlowpokeAnimatedCollisionMask) + dwb OnixAnimatedCollisionMask, Bank(OnixAnimatedCollisionMask) + dwb DrowzeeAnimatedCollisionMask, Bank(DrowzeeAnimatedCollisionMask) + dwb SlowpokeAnimatedCollisionMask, Bank(SlowpokeAnimatedCollisionMask) + dwb KrabbyAnimatedCollisionMask, Bank(KrabbyAnimatedCollisionMask) + dwb SlowpokeAnimatedCollisionMask, Bank(SlowpokeAnimatedCollisionMask) + dwb VoltorbAnimatedCollisionMask, Bank(VoltorbAnimatedCollisionMask) + dwb SlowpokeAnimatedCollisionMask, Bank(SlowpokeAnimatedCollisionMask) + dwb ExeggcuteAnimatedCollisionMask, Bank(ExeggcuteAnimatedCollisionMask) + dwb SlowpokeAnimatedCollisionMask, Bank(SlowpokeAnimatedCollisionMask) + dwb CuboneAnimatedCollisionMask, Bank(CuboneAnimatedCollisionMask) + dwb SlowpokeAnimatedCollisionMask, Bank(SlowpokeAnimatedCollisionMask) + dwb HitmonleeAnimatedCollisionMask, Bank(HitmonleeAnimatedCollisionMask) + dwb HitmonchanAnimatedCollisionMask, Bank(HitmonchanAnimatedCollisionMask) + dwb LickitungAnimatedCollisionMask, Bank(LickitungAnimatedCollisionMask) + dwb KoffingAnimatedCollisionMask, Bank(KoffingAnimatedCollisionMask) + dwb LickitungAnimatedCollisionMask, Bank(LickitungAnimatedCollisionMask) + dwb RhyhornAnimatedCollisionMask, Bank(RhyhornAnimatedCollisionMask) + dwb LickitungAnimatedCollisionMask, Bank(LickitungAnimatedCollisionMask) + dwb ChanseyAnimatedCollisionMask, Bank(ChanseyAnimatedCollisionMask) + dwb TangelaAnimatedCollisionMask, Bank(TangelaAnimatedCollisionMask) + dwb KangaskhanAnimatedCollisionMask, Bank(KangaskhanAnimatedCollisionMask) + dwb HorseaAnimatedCollisionMask, Bank(HorseaAnimatedCollisionMask) + dwb LickitungAnimatedCollisionMask, Bank(LickitungAnimatedCollisionMask) + dwb GoldeenAnimatedCollisionMask, Bank(GoldeenAnimatedCollisionMask) + dwb LickitungAnimatedCollisionMask, Bank(LickitungAnimatedCollisionMask) + dwb StaryuAnimatedCollisionMask, Bank(StaryuAnimatedCollisionMask) + dwb LickitungAnimatedCollisionMask, Bank(LickitungAnimatedCollisionMask) + dwb MrMimeAnimatedCollisionMask, Bank(MrMimeAnimatedCollisionMask) + dwb ScytherAnimatedCollisionMask, Bank(ScytherAnimatedCollisionMask) + dwb JynxAnimatedCollisionMask, Bank(JynxAnimatedCollisionMask) + dwb ElectabuzzAnimatedCollisionMask, Bank(ElectabuzzAnimatedCollisionMask) + dwb MagmarAnimatedCollisionMask, Bank(MagmarAnimatedCollisionMask) + dwb PinsirAnimatedCollisionMask, Bank(PinsirAnimatedCollisionMask) + dwb TaurosAnimatedCollisionMask, Bank(TaurosAnimatedCollisionMask) + dwb MagikarpAnimatedCollisionMask, Bank(MagikarpAnimatedCollisionMask) + dwb MagikarpAnimatedCollisionMask, Bank(MagikarpAnimatedCollisionMask) + dwb LaprasAnimatedCollisionMask, Bank(LaprasAnimatedCollisionMask) + dwb DittoAnimatedCollisionMask, Bank(DittoAnimatedCollisionMask) + dwb EeveeAnimatedCollisionMask, Bank(EeveeAnimatedCollisionMask) + dwb MagikarpAnimatedCollisionMask, Bank(MagikarpAnimatedCollisionMask) + dwb MagikarpAnimatedCollisionMask, Bank(MagikarpAnimatedCollisionMask) + dwb MagikarpAnimatedCollisionMask, Bank(MagikarpAnimatedCollisionMask) + dwb PorygonAnimatedCollisionMask, Bank(PorygonAnimatedCollisionMask) + dwb OmanyteAnimatedCollisionMask, Bank(OmanyteAnimatedCollisionMask) + dwb MagikarpAnimatedCollisionMask, Bank(MagikarpAnimatedCollisionMask) + dwb KabutoAnimatedCollisionMask, Bank(KabutoAnimatedCollisionMask) + dwb MagikarpAnimatedCollisionMask, Bank(MagikarpAnimatedCollisionMask) + dwb AerodactylAnimatedCollisionMask, Bank(AerodactylAnimatedCollisionMask) + dwb SnorlaxAnimatedCollisionMask, Bank(SnorlaxAnimatedCollisionMask) + dwb ArticunoAnimatedCollisionMask, Bank(ArticunoAnimatedCollisionMask) + dwb ZapdosAnimatedCollisionMask, Bank(ZapdosAnimatedCollisionMask) + dwb MoltresAnimatedCollisionMask, Bank(MoltresAnimatedCollisionMask) + dwb DratiniAnimatedCollisionMask, Bank(DratiniAnimatedCollisionMask) + dwb MagikarpAnimatedCollisionMask, Bank(MagikarpAnimatedCollisionMask) + dwb MagikarpAnimatedCollisionMask, Bank(MagikarpAnimatedCollisionMask) + dwb MewtwoAnimatedCollisionMask, Bank(MewtwoAnimatedCollisionMask) + dwb MewAnimatedCollisionMask, Bank(MewAnimatedCollisionMask) Data_13685: ; 0x13685 ; Each 3-byte entry is related to an evolution line. Don't know what this is for, yet. - db $12, $12, $10 - db $10, $10, $10 - db $12, $12, $0E - db $14, $14, $12 - db $14, $14, $10 - db $0A, $0A, $0E - db $11, $13, $10 - db $0B, $0B, $10 - db $12, $12, $0E - db $12, $14, $0E - db $10, $12, $10 - db $11, $12, $0E - db $11, $12, $0E - db $12, $13, $10 - db $11, $11, $10 - db $12, $12, $10 - db $08, $08, $10 - db $10, $10, $10 - db $10, $10, $10 - db $11, $11, $0E - db $10, $10, $0E - db $14, $14, $0E - db $30, $30, $10 - db $12, $12, $10 - db $12, $12, $10 - db $10, $10, $10 - db $10, $10, $10 - db $12, $14, $10 - db $10, $12, $10 - db $0C, $0C, $12 - db $12, $14, $0C - db $12, $14, $0E - db $30, $30, $10 - db $14, $14, $10 - db $12, $12, $0E - db $12, $12, $0E - db $14, $14, $0E - db $12, $12, $10 - db $14, $14, $0E - db $10, $10, $0E - db $12, $12, $10 - db $14, $14, $10 - db $14, $12, $10 - db $02, $02, $10 - db $12, $12, $10 - db $12, $12, $10 - db $14, $10, $10 - db $14, $10, $10 - db $14, $12, $10 - db $11, $11, $10 - db $14, $14, $10 - db $12, $12, $10 - db $10, $10, $10 - db $12, $12, $10 - db $0F, $0F, $0E - db $12, $12, $0E - db $23, $23, $10 - db $13, $13, $10 - db $13, $13, $10 - db $12, $12, $10 - db $12, $14, $10 - db $14, $14, $0E - db $12, $12, $0E - db $12, $14, $10 - db $18, $18, $0C - db $16, $16, $0C - db $14, $14, $10 - db $12, $12, $10 - db $10, $10, $0E - db $12, $12, $0E - db $12, $12, $0E - db $0C, $0C, $12 - db $26, $36, $12 - db $13, $13, $10 - db $13, $13, $10 - db $13, $13, $10 - db $12, $12, $0E - db $14, $14, $0E - db $14, $14, $0E + db $12, $12, $10 + db $10, $10, $10 + db $12, $12, $0E + db $14, $14, $12 + db $14, $14, $10 + db $0A, $0A, $0E + db $11, $13, $10 + db $0B, $0B, $10 + db $12, $12, $0E + db $12, $14, $0E + db $10, $12, $10 + db $11, $12, $0E + db $11, $12, $0E + db $12, $13, $10 + db $11, $11, $10 + db $12, $12, $10 + db $08, $08, $10 + db $10, $10, $10 + db $10, $10, $10 + db $11, $11, $0E + db $10, $10, $0E + db $14, $14, $0E + db $30, $30, $10 + db $12, $12, $10 + db $12, $12, $10 + db $10, $10, $10 + db $10, $10, $10 + db $12, $14, $10 + db $10, $12, $10 + db $0C, $0C, $12 + db $12, $14, $0C + db $12, $14, $0E + db $30, $30, $10 + db $14, $14, $10 + db $12, $12, $0E + db $12, $12, $0E + db $14, $14, $0E + db $12, $12, $10 + db $14, $14, $0E + db $10, $10, $0E + db $12, $12, $10 + db $14, $14, $10 + db $14, $12, $10 + db $02, $02, $10 + db $12, $12, $10 + db $12, $12, $10 + db $14, $10, $10 + db $14, $10, $10 + db $14, $12, $10 + db $11, $11, $10 + db $14, $14, $10 + db $12, $12, $10 + db $10, $10, $10 + db $12, $12, $10 + db $0F, $0F, $0E + db $12, $12, $0E + db $23, $23, $10 + db $13, $13, $10 + db $13, $13, $10 + db $12, $12, $10 + db $12, $14, $10 + db $14, $14, $0E + db $12, $12, $0E + db $12, $14, $10 + db $18, $18, $0C + db $16, $16, $0C + db $14, $14, $10 + db $12, $12, $10 + db $10, $10, $0E + db $12, $12, $0E + db $12, $12, $0E + db $0C, $0C, $12 + db $26, $36, $12 + db $13, $13, $10 + db $13, $13, $10 + db $13, $13, $10 + db $12, $12, $0E + db $14, $14, $0E + db $14, $14, $0E SECTION "bank5", ROMX, BANK[$5] Func_14000: ; 0x14000 - call Func_14091 - call Func_159f4 - call Func_15450 - call Func_16859 - call Func_14ece - call Func_14234 - call Func_16425 - call Func_142fc - call Func_1404a - ret + call Func_14091 + call Func_159f4 + call Func_15450 + call Func_16859 + call Func_14ece + call Func_14234 + call Func_16425 + call Func_142fc + call Func_1404a + ret Func_1401c: ; 0x1401c - call Func_14091 - call Func_14377 - call Func_14135 - call Func_asm_1522d - call Func_14282 - call Func_1414b - call Func_14234 - call Func_14746 - call Func_14707 - call Func_140f9 - call Func_16878 - call Func_140e2 - call Func_16425 - call Func_142fc - call Func_1404a - ret + call Func_14091 + call Func_14377 + call Func_14135 + call Func_asm_1522d + call Func_14282 + call Func_1414b + call Func_14234 + call Func_14746 + call Func_14707 + call Func_140f9 + call Func_16878 + call Func_140e2 + call Func_16425 + call Func_142fc + call Func_1404a + ret Func_1404a: ; 0x1404a - ld a, [$d57d] - and a - ret z - ld a, [hGameBoyColorFlag] - and a - ret nz - ld a, [$d580] - and a - ret z - ld a, $f - ld [$d581], a - call Func_1762f - ld hl, $d582 - ld a, $ff - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a - ld hl, $d582 - ld a, [wTimerMinutes] - and $f - call Func_1764f - ld a, [wTimerSeconds] - swap a - and $f - call Func_1764f - ld a, [wTimerSeconds] - and $f - call Func_1764f - ld a, e - srl a - srl a - ld d, $90 - call Func_1764f - ret + ld a, [$d57d] + and a + ret z + ld a, [hGameBoyColorFlag] + and a + ret nz + ld a, [$d580] + and a + ret z + ld a, $f + ld [$d581], a + call Func_1762f + ld hl, $d582 + ld a, $ff + ld [hli], a + ld [hli], a + ld [hli], a + ld [hl], a + ld hl, $d582 + ld a, [wTimerMinutes] + and $f + call Func_1764f + ld a, [wTimerSeconds] + swap a + and $f + call Func_1764f + ld a, [wTimerSeconds] + and $f + call Func_1764f + ld a, e + srl a + srl a + ld d, $90 + call Func_1764f + ret Func_14091: ; 0x14091 - ld a, $ff - ld [$d4d7], a - ld [$d4db], a - ld a, [$d4b4] - ld [$d4c5], a - ld a, [$d4b6] - ld [$d4c6], a - ld a, [wBallRotation] - ld [$d4c7], a - ld a, [$d503] - and a - ret z - xor a - ld [$d503], a - ld a, [$d502] - res 1, a - ld [$d502], a - and $1 - ld c, a - ld a, [wStageCollisionState] - and $fe - or c - ld [wStageCollisionState], a - ld de, $0007 - call PlaySoundEffect - ld a, [wCurrentStage] - bit 0, a - ret nz - ld [$ff8a], a - ld a, Bank(LoadStageCollisionAttributes) - ld hl, LoadStageCollisionAttributes - call BankSwitch - call Func_159f4 - ret + ld a, $ff + ld [$d4d7], a + ld [$d4db], a + ld a, [$d4b4] + ld [$d4c5], a + ld a, [$d4b6] + ld [$d4c6], a + ld a, [wBallRotation] + ld [$d4c7], a + ld a, [$d503] + and a + ret z + xor a + ld [$d503], a + ld a, [$d502] + res 1, a + ld [$d502], a + and $1 + ld c, a + ld a, [wStageCollisionState] + and $fe + or c + ld [wStageCollisionState], a + ld de, $0007 + call PlaySoundEffect + ld a, [wCurrentStage] + bit 0, a + ret nz + ld [$ff8a], a + ld a, Bank(LoadStageCollisionAttributes) + ld hl, LoadStageCollisionAttributes + call BankSwitch + call Func_159f4 + ret Func_140e2: ; 0x140e2 - ld a, $ff - ld [$d60e], a - ld [$d60f], a - ld a, [$d60c] - call Func_16f28 - ld a, [$d60d] - add $14 - call Func_16f28 - ret + ld a, $ff + ld [$d60e], a + ld [$d60f], a + ld a, [$d60c] + call Func_16f28 + ld a, [$d60d] + add $14 + call Func_16f28 + ret Func_140f9: ; 0x140f9 - ld a, [$d4ef] - and a - jr z, .asm_1410c - xor a - ld a, $66 - ld [$c7e3], a - ld a, $67 - ld [$c803], a - ld a, $2 + ld a, [$d4ef] + and a + jr z, .asm_1410c + xor a + ld a, $66 + ld [$c7e3], a + ld a, $67 + ld [$c803], a + ld a, $2 .asm_1410c - call Func_149d9 - ld a, [wLeftMapMoveCounter] - call Func_149f5 - ld a, [$d4f1] - and a - jr z, .asm_14127 - ld a, $6a - ld [$c7f0], a - ld a, $6b - ld [$c810], a - ld a, $2 + call Func_149d9 + ld a, [wLeftMapMoveCounter] + call Func_149f5 + ld a, [$d4f1] + and a + jr z, .asm_14127 + ld a, $6a + ld [$c7f0], a + ld a, $6b + ld [$c810], a + ld a, $2 .asm_14127 - add $3 - call Func_149d9 - ld a, [wRightMapMoveCounter] - add $4 - call Func_149f5 - ret + add $3 + call Func_149d9 + ld a, [wRightMapMoveCounter] + add $4 + call Func_149f5 + ret Func_14135: ; 0x14135 - ld bc, $0000 + ld bc, $0000 .asm_14138 - push bc - ld hl, wIndicatorStates - add hl, bc - ld a, [hl] - res 7, a - call Func_169cd - pop bc - inc c - ld a, c - cp $5 - jr nz, .asm_14138 - ret + push bc + ld hl, wIndicatorStates + add hl, bc + ld a, [hl] + res 7, a + call Func_169cd + pop bc + inc c + ld a, c + cp $5 + jr nz, .asm_14138 + ret Func_1414b: ; 0x1414b - ld a, [wInSpecialMode] - and a - ret z - ld a, [wSpecialMode] - cp $2 - ret z - ld a, [$d5c6] - and a - jr nz, .asm_14165 - ld a, [$d5f3] - and a - jr nz, .asm_14165 - jp Func_14210 + ld a, [wInSpecialMode] + and a + ret z + ld a, [wSpecialMode] + cp $2 + ret z + ld a, [$d5c6] + and a + jr nz, .asm_14165 + ld a, [$d5f3] + and a + jr nz, .asm_14165 + jp Func_14210 .asm_14165 - ld [$ff8a], a - ld a, Bank(Func_141f2) - ld hl, Func_141f2 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_10362) - ld hl, Func_10362 - call BankSwitch - ld a, [hGameBoyColorFlag] - and a - ld [$ff8a], a - ld a, Bank(Func_10301) - ld hl, Func_10301 - call nz, BankSwitch - ld a, [$d5f3] - and a - ret z - ld a, $2a - ld hl, $47e0 - ld de, $87e0 - ld bc, $0020 - call CopyDataToRAM - ld a, $2a - ld hl, $4800 - ld de, $8900 - ld bc, $0180 - call CopyDataToRAM - ld a, [wBallType] - cp GREAT_BALL - jr nc, .notPokeball - ld a, Bank(PinballPokeballShakeGfx) - ld hl, PinballPokeballShakeGfx - ld de, $8380 - ld bc, $0040 - call CopyDataToRAM - ret + ld [$ff8a], a + ld a, Bank(Func_141f2) + ld hl, Func_141f2 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_10362) + ld hl, Func_10362 + call BankSwitch + ld a, [hGameBoyColorFlag] + and a + ld [$ff8a], a + ld a, Bank(Func_10301) + ld hl, Func_10301 + call nz, BankSwitch + ld a, [$d5f3] + and a + ret z + ld a, $2a + ld hl, $47e0 + ld de, $87e0 + ld bc, $0020 + call FarCopyData + ld a, $2a + ld hl, $4800 + ld de, $8900 + ld bc, $0180 + call FarCopyData + ld a, [wBallType] + cp GREAT_BALL + jr nc, .notPokeball + ld a, Bank(PinballPokeballShakeGfx) + ld hl, PinballPokeballShakeGfx + ld de, $8380 + ld bc, $0040 + call FarCopyData + ret .notPokeball - cp ULTRA_BALL - jr nc, .notGreatball - ld a, Bank(PinballGreatballShakeGfx) - ld hl, PinballGreatballShakeGfx - ld de, $8380 - ld bc, $0040 - call CopyDataToRAM - ret + cp ULTRA_BALL + jr nc, .notGreatball + ld a, Bank(PinballGreatballShakeGfx) + ld hl, PinballGreatballShakeGfx + ld de, $8380 + ld bc, $0040 + call FarCopyData + ret .notGreatball - cp MASTER_BALL - jr nc, .notUltraball - ld a, Bank(PinballUltraballShakeGfx) - ld hl, PinballUltraballShakeGfx - ld de, $8380 - ld bc, $0040 - call CopyDataToRAM - ret + cp MASTER_BALL + jr nc, .notUltraball + ld a, Bank(PinballUltraballShakeGfx) + ld hl, PinballUltraballShakeGfx + ld de, $8380 + ld bc, $0040 + call FarCopyData + ret .notUltraball - ld a, Bank(PinballMasterballShakeGfx) - ld hl, PinballMasterballShakeGfx - ld de, $8380 - ld bc, $0040 - call CopyDataToRAM - ret + ld a, Bank(PinballMasterballShakeGfx) + ld hl, PinballMasterballShakeGfx + ld de, $8380 + ld bc, $0040 + call FarCopyData + ret Func_141f2: ; 0x141f2 - ld a, $80 - ld hl, $9887 - call Func_14209 - ld hl, $98a7 - call Func_14209 - ld hl, $98c7 - call Func_14209 - ld hl, $98e7 - ; fall through + ld a, $80 + ld hl, $9887 + call Func_14209 + ld hl, $98a7 + call Func_14209 + ld hl, $98c7 + call Func_14209 + ld hl, $98e7 + ; fall through Func_14209: ; 0x14209 - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ret + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ret Func_14210: ; 0x14210 - ld hl, $d586 - ld b, $18 + ld hl, $d586 + ld b, $18 .asm_14215 - ld a, [hli] - xor $1 - ld [hli], a - dec b - jr nz, .asm_14215 - ld [$ff8a], a - ld a, Bank(Func_10184) - ld hl, Func_10184 - call BankSwitch - ld a, [hGameBoyColorFlag] - and a - ld [$ff8a], a - ld a, Bank(Func_102bc) - ld hl, Func_102bc - call nz, BankSwitch - ret + ld a, [hli] + xor $1 + ld [hli], a + dec b + jr nz, .asm_14215 + ld [$ff8a], a + ld a, Bank(Func_10184) + ld hl, Func_10184 + call BankSwitch + ld a, [hGameBoyColorFlag] + and a + ld [$ff8a], a + ld a, Bank(Func_102bc) + ld hl, Func_102bc + call nz, BankSwitch + ret Func_14234: ; 0x14234 - ld a, [wInSpecialMode] - and a - ret z - ld a, [wSpecialMode] - cp $1 - ret nz - ld a, [$d554] - cp $3 - ret z - ld a, [wCurrentStage] - bit 0, a - jr nz, .asm_1425c - ld a, $36 - ld hl, $7e80 - ld de, $8900 - ld bc, $00e0 - call CopyDataToRAM - jr .asm_1426a + ld a, [wInSpecialMode] + and a + ret z + ld a, [wSpecialMode] + cp $1 + ret nz + ld a, [$d554] + cp $3 + ret z + ld a, [wCurrentStage] + bit 0, a + jr nz, .asm_1425c + ld a, $36 + ld hl, $7e80 + ld de, $8900 + ld bc, $00e0 + call FarCopyData + jr .asm_1426a .asm_1425c - ld a, $36 - ld hl, $7e80 - ld de, $8200 - ld bc, $00e0 - call CopyDataToRAM + ld a, $36 + ld hl, $7e80 + ld de, $8200 + ld bc, $00e0 + call FarCopyData .asm_1426a - ld a, [$d551] - and a - ret z - ld a, [hGameBoyColorFlag] - and a - ret z - ld a, $37 - ld hl, $5188 - ld de, $0070 - ld bc, $0010 - call Func_6fd - ret + ld a, [$d551] + and a + ret z + ld a, [hGameBoyColorFlag] + and a + ret z + ld a, $37 + ld hl, $5188 + ld de, $0070 + ld bc, $0010 + call Func_6fd + ret Func_14282: ; 0x14282 - ld a, [wInSpecialMode] - and a - jr z, .asm_1429e - ld a, [wSpecialMode] - and a - jr nz, .asm_14296 - ld a, [wNumMonHits] - and a - call nz, Func_142b3 - ret + ld a, [wInSpecialMode] + and a + jr z, .asm_1429e + ld a, [wSpecialMode] + and a + jr nz, .asm_14296 + ld a, [wNumMonHits] + and a + call nz, Func_142b3 + ret .asm_14296 - cp $1 - jr nz, .asm_1429e - call Func_142c3 - ret + cp $1 + jr nz, .asm_1429e + call Func_142c3 + ret .asm_1429e - ld a, [$d624] - call Func_174d4 - ld a, $36 - ld hl, $4f60 - ld de, $8ae0 - ld bc, $0020 - call CopyDataToRAM - ret + ld a, [$d624] + call Func_174d4 + ld a, $36 + ld hl, $4f60 + ld de, $8ae0 + ld bc, $0020 + call FarCopyData + ret Func_142b3: ; 0x142b3 - push af - ld [$ff8a], a - ld a, Bank(Func_10611) - ld hl, Func_10611 - call BankSwitch - pop af - dec a - jr nz, Func_142b3 - ret + push af + ld [$ff8a], a + ld a, Bank(Func_10611) + ld hl, Func_10611 + call BankSwitch + pop af + dec a + jr nz, Func_142b3 + ret Func_142c3: ; 0x142c3 - ld de, $0000 - ld a, [$d554] - and a - ret z - ld b, a + ld de, $0000 + ld a, [$d554] + and a + ret z + ld b, a .asm_142cc - ld a, [wCurrentEvolutionType] - call Func_142d7 - inc de - dec b - jr nz, .asm_142cc - ret + ld a, [wCurrentEvolutionType] + call Func_142d7 + inc de + dec b + jr nz, .asm_142cc + ret Func_142d7: ; 0x142d7 - push bc - push de - dec a - ld c, a - ld b, $0 - swap c - sla c - ld hl, $4e80 - add hl, bc - swap e - sla e - push hl - ld hl, $8ae0 - add hl, de - ld d, h - ld e, l - pop hl - ld bc, $0020 - ld a, $36 - call CopyDataToRAM - pop de - pop bc - ret + push bc + push de + dec a + ld c, a + ld b, $0 + swap c + sla c + ld hl, $4e80 + add hl, bc + swap e + sla e + push hl + ld hl, $8ae0 + add hl, de + ld d, h + ld e, l + pop hl + ld bc, $0020 + ld a, $36 + call FarCopyData + pop de + pop bc + ret Func_142fc: ; 0x142fc - ld a, [$d4c8] - and a - jr nz, .asm_1430e - ld [$ff8a], a - ld a, Bank(LoadBallGfx) - ld hl, LoadBallGfx - call BankSwitch - jr .asm_14328 + ld a, [$d4c8] + and a + jr nz, .asm_1430e + ld [$ff8a], a + ld a, Bank(LoadBallGfx) + ld hl, LoadBallGfx + call BankSwitch + jr .asm_14328 .asm_1430e - cp $1 - jr nz, .asm_1431e - ld [$ff8a], a - ld a, Bank(LoadMiniBallGfx) - ld hl, LoadMiniBallGfx - call BankSwitch - jr .asm_14328 + cp $1 + jr nz, .asm_1431e + ld [$ff8a], a + ld a, Bank(LoadMiniBallGfx) + ld hl, LoadMiniBallGfx + call BankSwitch + jr .asm_14328 .asm_1431e - ld [$ff8a], a - ld a, Bank(Func_dd62) - ld hl, Func_dd62 - call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_dd62) + ld hl, Func_dd62 + call BankSwitch .asm_14328 - ld a, [hGameBoyColorFlag] - and a - ret z - ld a, [wBallType] - cp GREAT_BALL - jr nc, .notPokeball - ld a, $37 - ld hl, $5168 - ld de, $0040 - ld bc, $0008 - call Func_6fd - ret + ld a, [hGameBoyColorFlag] + and a + ret z + ld a, [wBallType] + cp GREAT_BALL + jr nc, .notPokeball + ld a, $37 + ld hl, $5168 + ld de, $0040 + ld bc, $0008 + call Func_6fd + ret .notPokeball - cp ULTRA_BALL - jr nc, .notGreatball - ld a, $37 - ld hl, $5170 - ld de, $0040 - ld bc, $0008 - call Func_6fd - ret + cp ULTRA_BALL + jr nc, .notGreatball + ld a, $37 + ld hl, $5170 + ld de, $0040 + ld bc, $0008 + call Func_6fd + ret .notGreatball - cp MASTER_BALL - jr nc, .notUltraball - ld a, $37 - ld hl, $5178 - ld de, $0040 - ld bc, $0008 - call Func_6fd - ret + cp MASTER_BALL + jr nc, .notUltraball + ld a, $37 + ld hl, $5178 + ld de, $0040 + ld bc, $0008 + call Func_6fd + ret .notUltraball - ld a, $37 - ld hl, $5180 - ld de, $0040 - ld bc, $0008 - call Func_6fd - ret + ld a, $37 + ld hl, $5180 + ld de, $0040 + ld bc, $0008 + call Func_6fd + ret Func_14377: ; 0x14377 - ld a, [wInSpecialMode] - and a - jr nz, .asm_143b1 - ld a, [$d609] - and a - jr z, .asm_14393 - ld a, [$d498] - add $15 - ld [$ff8a], a - ld a, Bank(Func_30256) - ld hl, Func_30256 - call BankSwitch - ret + ld a, [wInSpecialMode] + and a + jr nz, .asm_143b1 + ld a, [$d609] + and a + jr z, .asm_14393 + ld a, [$d498] + add $15 + ld [$ff8a], a + ld a, Bank(Func_30256) + ld hl, Func_30256 + call BankSwitch + ret .asm_14393 - ld a, [$d608] - and a - jr z, .asm_143a6 - ld a, $1a - ld [$ff8a], a - ld a, Bank(Func_30256) - ld hl, Func_30256 - call BankSwitch - ret + ld a, [$d608] + and a + jr z, .asm_143a6 + ld a, $1a + ld [$ff8a], a + ld a, Bank(Func_30256) + ld hl, Func_30256 + call BankSwitch + ret .asm_143a6 - ld [$ff8a], a - ld a, Bank(Func_30253) - ld hl, Func_30253 - call BankSwitch - ret + ld [$ff8a], a + ld a, Bank(Func_30253) + ld hl, Func_30253 + call BankSwitch + ret .asm_143b1 - ld a, [wSpecialMode] - cp $2 - ret nz - ld a, [$d54d] - cp $3 - jr nz, .asm_143c9 - ld [$ff8a], a - ld a, Bank(Func_30253) - ld hl, Func_30253 - call BankSwitch - ret + ld a, [wSpecialMode] + cp $2 + ret nz + ld a, [$d54d] + cp $3 + jr nz, .asm_143c9 + ld [$ff8a], a + ld a, Bank(Func_30253) + ld hl, Func_30253 + call BankSwitch + ret .asm_143c9 - ld a, [$d604] - and a - ld a, $14 - jr nz, .asm_143d6 - ld a, [$d55a] - add $12 + ld a, [$d604] + and a + ld a, $14 + jr nz, .asm_143d6 + ld a, [$d55a] + add $12 .asm_143d6 - ld [$ff8a], a - ld a, Bank(Func_30256) - ld hl, Func_30256 - call BankSwitch - ret + ld [$ff8a], a + ld a, Bank(Func_30256) + ld hl, Func_30256 + call BankSwitch + ret Func_143e1: ; 0x143e1 ; not collisions. - call Func_14474 ; voltorbs - call Func_14498 - call Func_144b6 - call Func_144c0 - call Func_144da - call Func_14439 - call Func_144ac - jp Func_1441e + call Func_14474 ; voltorbs + call Func_14498 + call Func_144b6 + call Func_144c0 + call Func_144da + call Func_14439 + call Func_144ac + jp Func_1441e Func_143f9: ; 0x143f9 - ld a, [wBallYPos + 1] - cp $56 - jr nc, .asm_14412 - call Func_1444d - call Func_144cd - call Func_14467 - call Func_1445a - call Func_14443 - jp Func_1441e + ld a, [wBallYPos + 1] + cp $56 + jr nc, .asm_14412 + call Func_1444d + call Func_144cd + call Func_14467 + call Func_1445a + call Func_14443 + jp Func_1441e .asm_14412 - call Func_14481 - call Func_144e4 - call Func_144a2 - jp Func_1448e + call Func_14481 + call Func_144e4 + call Func_144a2 + jp Func_1448e Func_1441e: ; 0x1441e - xor a - ld [$d578], a - ld a, [$d551] - and a - ret z - ld a, [wCurrentStage] - ld hl, RedStageEvolutionTrinketCoordinatePointers - ld c, a - ld b, $0 - sla c - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - jp PinballCollideWithPoints - -INCBIN "baserom.gbc",$14439,$14439 - $14439 + xor a + ld [$d578], a + ld a, [$d551] + and a + ret z + ld a, [wCurrentStage] + ld hl, RedStageEvolutionTrinketCoordinatePointers + ld c, a + ld b, $0 + sla c + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + jp PinballCollideWithPoints Func_14439: ; 0x14439 - ld de, $45b5 - ld bc, $d5fe - scf - jp Func_2775 + ld de, $45b5 + ld bc, $d5fe + scf + jp Func_2775 Func_14443: ; 0x14443 - ld de, $45bb - ld bc, $d601 - scf - jp Func_2775 + ld de, $45bb + ld bc, $d601 + scf + jp Func_2775 Func_1444d: ; 0x1444d - ld de, $45af - ld hl, $459d - ld bc, $d5c7 - and a - jp Func_2775 + ld de, $45af + ld hl, $459d + ld bc, $d5c7 + and a + jp Func_2775 Func_1445a: ; 0x1445a - ld de, $45c9 - ld hl, $45c1 - ld bc, $d60a - and a - jp Func_2775 + ld de, $45c9 + ld hl, $45c1 + ld bc, $d60a + and a + jp Func_2775 Func_14467: ; 0x14467 - ld de, $44f4 - ld hl, $44ee - ld bc, $d4ed - and a - jp Func_2775 + ld de, $44f4 + ld hl, $44ee + ld bc, $d4ed + and a + jp Func_2775 Func_14474: ; 0x14474 - ld de, $4515 ; todo - ld hl, $44fd ; todo - ld bc, $d4cb - and a - jp Func_2775 + ld de, $4515 ; todo + ld hl, $44fd ; todo + ld bc, $d4cb + and a + jp Func_2775 Func_14481: ; 0x14481 - ld de, $452d - ld hl, $4521 - ld bc, $d4d8 - and a - jp Func_2775 + ld de, $452d + ld hl, $4521 + ld bc, $d4d8 + and a + jp Func_2775 Func_1448e: ; 0x1448e - ld de, $4536 - ld bc, $d4dc - scf - jp Func_2775 + ld de, $4536 + ld bc, $d4dc + scf + jp Func_2775 Func_14498: ; 0x14498 - ld de, $453c ; todo - ld bc, $d507 - scf - jp Func_2775 + ld de, $453c ; todo + ld bc, $d507 + scf + jp Func_2775 Func_144a2: ; 0x144a2 - ld de, $4542 - ld bc, $d50d - scf - jp Func_2775 + ld de, $4542 + ld bc, $d50d + scf + jp Func_2775 Func_144ac: ; 0x144ac - ld de, $4551 - ld bc, $d5f7 - scf - jp Func_2775 + ld de, $4551 + ld bc, $d5f7 + scf + jp Func_2775 Func_144b6: ; 0x144b6 - ld de, $455d ; todo - ld bc, $d51f - scf - jp Func_2775 + ld de, $455d ; todo + ld bc, $d51f + scf + jp Func_2775 Func_144c0: ; 0x144c0 - ld de, $457d ; todo - ld hl, $4578 ; todo - ld bc, $d500 - and a - jp Func_2775 + ld de, $457d ; todo + ld hl, $4578 ; todo + ld bc, $d500 + and a + jp Func_2775 Func_144cd: ; 0x144cd - ld de, $4588 - ld hl, $4583 - ld bc, $d500 - and a - jp Func_2775 - -INCBIN "baserom.gbc",$144da,$144da - $144da + ld de, $4588 + ld hl, $4583 + ld bc, $d500 + and a + jp Func_2775 Func_144da: ; 0x144da - ld de, $458e - ld bc, $d4fb - scf - jp Func_2775 + ld de, $458e + ld bc, $d4fb + scf + jp Func_2775 Func_144e4: ; 0x144e4 - ld de, $4594 - ld bc, $d515 - scf - jp Func_2775 + ld de, $4594 + ld bc, $d515 + scf + jp Func_2775 -INCBIN "baserom.gbc",$144ee,$145d2 - $144ee + dr $144ee, $145d2 RedStageEvolutionTrinketCoordinatePointers: ; 0x145d2 - dw RedStageTopEvolutionTrinketCoords - dw RedStageBottomEvolutionTrinketCoords + dw RedStageTopEvolutionTrinketCoords + dw RedStageBottomEvolutionTrinketCoords RedStageTopEvolutionTrinketCoords: ; 0x156d6 ; First byte is just non-zero to signify that the array hasn't ended. ; Second byte is x coordinate. ; Third byte is y coordinate. - db $01, $44, $14 - db $01, $2A, $1A - db $01, $5E, $1A - db $01, $11, $2D - db $01, $77, $2D - db $01, $16, $3E - db $01, $77, $3E - db $01, $06, $6D - db $01, $83, $6D - db $01, $41, $82 - db $01, $51, $82 - db $01, $69, $82 - db $00 ; terminator + db $01, $44, $14 + db $01, $2A, $1A + db $01, $5E, $1A + db $01, $11, $2D + db $01, $77, $2D + db $01, $16, $3E + db $01, $77, $3E + db $01, $06, $6D + db $01, $83, $6D + db $01, $41, $82 + db $01, $51, $82 + db $01, $69, $82 + db $00 ; terminator RedStageBottomEvolutionTrinketCoords: ; 0x145fb ; First byte is just non-zero to signify that the array hasn't ended. ; Second byte is x coordinate. ; Third byte is y coordinate. - db $01, $35, $1B - db $01, $53, $1B - db $01, $29, $1F - db $01, $5F, $1F - db $01, $26, $34 - db $01, $62, $34 - db $00 ; terminator + db $01, $35, $1B + db $01, $53, $1B + db $01, $29, $1F + db $01, $5F, $1F + db $01, $26, $34 + db $01, $62, $34 + db $00 ; terminator Func_1460e: ; 0x1460e ; not collisions - call Func_14d85 - call Func_14dea - call Func_1535d - call HandleBallTypeUpgradeCounterRedField - call Func_15270 - call Func_1581f - call Func_1660c - call Func_16781 - call Func_15e93 - call Func_160f0 - call Func_161e0 - call Func_164e3 - call Func_146a9 - call Func_174ea - call Func_148cf - ld [$ff8a], a - ld a, Bank(Func_30188) - ld hl, Func_30188 - call BankSwitch - ld a, $0 - ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch - ret + call Func_14d85 + call Func_14dea + call Func_1535d + call HandleBallTypeUpgradeCounterRedField + call Func_15270 + call Func_1581f + call Func_1660c + call Func_16781 + call Func_15e93 + call Func_160f0 + call Func_161e0 + call Func_164e3 + call Func_146a9 + call Func_174ea + call Func_148cf + ld [$ff8a], a + ld a, Bank(Func_30188) + ld hl, Func_30188 + call BankSwitch + ld a, $0 + ld [$ff8a], a + ld a, Bank(Func_10000) + ld hl, Func_10000 + call BankSwitch + ret Func_14652: ; 0x14652 - call Func_14795 - call Func_15f86 - call Func_147aa - call Func_14880 - call Func_14e10 - call Func_154a9 - call HandleBallTypeUpgradeCounterRedField - call Func_151cb - call Func_1652d - call Func_1660c - call Func_167ff - call Func_169a6 - call Func_16d9d - call Func_16279 - call Func_161af - call Func_164e3 - call Func_14733 - call Func_146a2 - call Func_174d0 - ld [$ff8a], a - ld a, Bank(Func_30188) - ld hl, Func_30188 - call BankSwitch - ld a, $0 - ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch - ret + call Func_14795 + call Func_15f86 + call Func_147aa + call Func_14880 + call Func_14e10 + call Func_154a9 + call HandleBallTypeUpgradeCounterRedField + call Func_151cb + call Func_1652d + call Func_1660c + call Func_167ff + call Func_169a6 + call Func_16d9d + call Func_16279 + call Func_161af + call Func_164e3 + call Func_14733 + call Func_146a2 + call Func_174d0 + ld [$ff8a], a + ld a, Bank(Func_30188) + ld hl, Func_30188 + call BankSwitch + ld a, $0 + ld [$ff8a], a + ld a, Bank(Func_10000) + ld hl, Func_10000 + call BankSwitch + ret Func_146a2: ; 0x146a2 - call Func_146a9 - call nz, Func_14707 - ret + call Func_146a9 + call nz, Func_14707 + ret Func_146a9: ; 0x146a9 - ld a, [wBallSaverTimerFrames] - ld hl, wBallSaverTimerSeconds - or [hl] - ret z - ld a, [wBallXPos + 1] - cp $9a - jr nc, .asm_146e8 - ld a, [wBallSaverTimerFrames] - dec a - ld [wBallSaverTimerFrames], a - bit 7, a - jr z, .asm_146e8 - ld a, $3b - ld [wBallSaverTimerFrames], a - ld a, [hl] - dec a - bit 7, a - jr nz, .asm_146cf - ld [hl], a + ld a, [wBallSaverTimerFrames] + ld hl, wBallSaverTimerSeconds + or [hl] + ret z + ld a, [wBallXPos + 1] + cp $9a + jr nc, .asm_146e8 + ld a, [wBallSaverTimerFrames] + dec a + ld [wBallSaverTimerFrames], a + bit 7, a + jr z, .asm_146e8 + ld a, $3b + ld [wBallSaverTimerFrames], a + ld a, [hl] + dec a + bit 7, a + jr nz, .asm_146cf + ld [hl], a .asm_146cf - inc a - ld c, $0 - cp $2 - jr c, .asm_146e4 - ld c, $4 - cp $6 - jr c, .asm_146e4 - ld c, $10 - cp $b - jr c, .asm_146e4 - ld c, $ff + inc a + ld c, $0 + cp $2 + jr c, .asm_146e4 + ld c, $4 + cp $6 + jr c, .asm_146e4 + ld c, $10 + cp $b + jr c, .asm_146e4 + ld c, $ff .asm_146e4 - ld a, c - ld [$d4a2], a + ld a, c + ld [$d4a2], a .asm_146e8 - ld a, [$d4a2] - ld c, $0 - and a - jr z, .asm_146fe - ld c, $1 - cp $ff - jr z, .asm_146fe - ld hl, $ffb3 - and [hl] - jr z, .asm_146fe - ld c, $0 + ld a, [$d4a2] + ld c, $0 + and a + jr z, .asm_146fe + ld c, $1 + cp $ff + jr z, .asm_146fe + ld hl, $ffb3 + and [hl] + jr z, .asm_146fe + ld c, $0 .asm_146fe - ld a, [wBallSaverIconOn] - cp c - ld a, c - ld [wBallSaverIconOn], a - ret + ld a, [wBallSaverIconOn] + cp c + ld a, c + ld [wBallSaverIconOn], a + ret Func_14707: ; 0x14707 - ld a, [wBallSaverIconOn] - and a - jr nz, .asm_1471c - ld a, $5 - ld hl, $472b - ld de, $99a8 - ld bc, $0004 - call Func_735 - ret + ld a, [wBallSaverIconOn] + and a + jr nz, .asm_1471c + ld a, $5 + ld hl, $472b + ld de, $99a8 + ld bc, $0004 + call Func_735 + ret .asm_1471c - ld a, $5 - ld hl, $472f - ld de, $99a8 - ld bc, $0004 - call Func_735 - ret + ld a, $5 + ld hl, $472f + ld de, $99a8 + ld bc, $0004 + call Func_735 + ret -INCBIN "baserom.gbc",$1472b,$14733 - $1472b + dr $1472b, $14733 Func_14733: ; 0x14733 - ld c, $0 - ld a, [$d49b] - and a - jr z, .asm_1473d - ld c, $1 + ld c, $0 + ld a, [$d49b] + and a + jr z, .asm_1473d + ld c, $1 .asm_1473d - ld a, [$d4a9] - cp c - ld a, c - ld [$d4a9], a - ret z - ; fall through + ld a, [$d4a9] + cp c + ld a, c + ld [$d4a9], a + ret z + ; fall through Func_14746: ; 0x14746 - ld c, $0 - ld a, [$d49b] - and a - jr z, .asm_14750 - ld c, $2 + ld c, $0 + ld a, [$d49b] + and a + jr z, .asm_14750 + ld c, $2 .asm_14750 - ld b, $0 - ld hl, $475f - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld a, $5 - call Func_10aa - ret - -INCBIN "baserom.gbc",$1475f,$14795 - $1475f + ld b, $0 + ld hl, $475f + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld a, $5 + call Func_10aa + ret + + dr $1475f, $14795 Func_14795: ; 0x14795 - ld a, [$d5c7] - and a - ret z - xor a - ld [$d5c7], a - ld a, $1 - ld [$d5bf], a - ld de, $0006 - call PlaySoundEffect - ret + ld a, [$d5c7] + and a + ret z + xor a + ld [$d5c7], a + ld a, $1 + ld [$d5bf], a + ld de, $0006 + call PlaySoundEffect + ret Func_147aa: ; 0x147aa - ld a, [$d4ed] - and a - jp z, .asm_14834 - xor a - ld [$d4ed], a - ld a, [$d4ee] - sub $1 - sla a - ld c, a - ld b, $0 - ld hl, wLeftMapMoveCounter - add hl, bc - ld a, [hl] - cp $3 - jr z, .asm_14834 - inc a - ld [hld], a - ld [hl], $50 - ld hl, $d4f7 - add hl, bc - ld a, $e0 - ld [hli], a - ld a, $1 - ld [hl], a - ld a, c - and a - jr z, .asm_14807 - ld a, $6a - ld [$c7f0], a - ld a, $6b - ld [$c810], a - ld a, $5 - call Func_149d9 - ld a, [wRightMapMoveCounter] - add $4 - call Func_149f5 - ld a, $8 - ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch - ld a, [wRightMapMoveCounter] - cp $3 - call z, Func_14920 - jr .asm_14830 + ld a, [$d4ed] + and a + jp z, .asm_14834 + xor a + ld [$d4ed], a + ld a, [$d4ee] + sub $1 + sla a + ld c, a + ld b, $0 + ld hl, wLeftMapMoveCounter + add hl, bc + ld a, [hl] + cp $3 + jr z, .asm_14834 + inc a + ld [hld], a + ld [hl], $50 + ld hl, $d4f7 + add hl, bc + ld a, $e0 + ld [hli], a + ld a, $1 + ld [hl], a + ld a, c + and a + jr z, .asm_14807 + ld a, $6a + ld [$c7f0], a + ld a, $6b + ld [$c810], a + ld a, $5 + call Func_149d9 + ld a, [wRightMapMoveCounter] + add $4 + call Func_149f5 + ld a, $8 + ld [$ff8a], a + ld a, Bank(Func_10000) + ld hl, Func_10000 + call BankSwitch + ld a, [wRightMapMoveCounter] + cp $3 + call z, Func_14920 + jr .asm_14830 .asm_14807 - ld a, $66 - ld [$c7e3], a - ld a, $67 - ld [$c803], a - ld a, $2 - call Func_149d9 - ld a, [wLeftMapMoveCounter] - call Func_149f5 - ld a, $7 - ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch - ld a, [wLeftMapMoveCounter] - cp $3 - call z, Func_14947 + ld a, $66 + ld [$c7e3], a + ld a, $67 + ld [$c803], a + ld a, $2 + call Func_149d9 + ld a, [wLeftMapMoveCounter] + call Func_149f5 + ld a, $7 + ld [$ff8a], a + ld a, Bank(Func_10000) + ld hl, Func_10000 + call BankSwitch + ld a, [wLeftMapMoveCounter] + cp $3 + call z, Func_14947 .asm_14830 - call Func_1496d - ret + call Func_1496d + ret .asm_14834 - ld a, [$d4ef] - and a - jr z, .asm_14857 - dec a - ld [$d4ef], a - jr nz, .asm_14857 - ld a, [wLeftMapMoveCounter] - sub $3 - jr nz, .asm_1484d - ld [wLeftMapMoveCounter], a - call Func_149f5 + ld a, [$d4ef] + and a + jr z, .asm_14857 + dec a + ld [$d4ef], a + jr nz, .asm_14857 + ld a, [wLeftMapMoveCounter] + sub $3 + jr nz, .asm_1484d + ld [wLeftMapMoveCounter], a + call Func_149f5 .asm_1484d - ld a, $64 - ld [$c7e3], a - ld a, $65 - ld [$c803], a + ld a, $64 + ld [$c7e3], a + ld a, $65 + ld [$c803], a .asm_14857 - ld a, [$d4f1] - and a - jr z, .asm_1487c - dec a - ld [$d4f1], a - jr nz, .asm_1487c - ld a, [wRightMapMoveCounter] - sub $3 - jr nz, .asm_14872 - ld [wRightMapMoveCounter], a - add $4 - call Func_149f5 + ld a, [$d4f1] + and a + jr z, .asm_1487c + dec a + ld [$d4f1], a + jr nz, .asm_1487c + ld a, [wRightMapMoveCounter] + sub $3 + jr nz, .asm_14872 + ld [wRightMapMoveCounter], a + add $4 + call Func_149f5 .asm_14872 - ld a, $68 - ld [$c7f0], a - ld a, $69 - ld [$c810], a + ld a, $68 + ld [$c7f0], a + ld a, $69 + ld [$c810], a .asm_1487c - call Func_14990 - ret + call Func_14990 + ret Func_14880: ; 0x14880 - ld hl, $d4f7 - dec [hl] - ld a, [hli] - cp $ff - jr nz, .asm_148a6 - dec [hl] - ld a, [hld] - cp $ff - jr nz, .asm_148a6 - ld a, $e0 - ld [hli], a - ld a, $1 - ld [hl], a - ld a, [wLeftMapMoveCounter] - and a - jr z, .asm_148a6 - cp $3 - jr z, .asm_148a6 - dec a - ld [wLeftMapMoveCounter], a - call Func_149f5 + ld hl, $d4f7 + dec [hl] + ld a, [hli] + cp $ff + jr nz, .asm_148a6 + dec [hl] + ld a, [hld] + cp $ff + jr nz, .asm_148a6 + ld a, $e0 + ld [hli], a + ld a, $1 + ld [hl], a + ld a, [wLeftMapMoveCounter] + and a + jr z, .asm_148a6 + cp $3 + jr z, .asm_148a6 + dec a + ld [wLeftMapMoveCounter], a + call Func_149f5 .asm_148a6 - ld hl, $d4f9 - dec [hl] - ld a, [hli] - cp $ff - jr nz, .asm_148ce - dec [hl] - ld a, [hld] - cp $ff - jr nz, .asm_148ce - ld a, $e0 - ld [hli], a - ld a, $1 - ld [hl], a - ld a, [wRightMapMoveCounter] - and a - jr z, .asm_148ce - cp $3 - jr z, .asm_148ce - dec a - ld [wRightMapMoveCounter], a - add $4 - call Func_149f5 + ld hl, $d4f9 + dec [hl] + ld a, [hli] + cp $ff + jr nz, .asm_148ce + dec [hl] + ld a, [hld] + cp $ff + jr nz, .asm_148ce + ld a, $e0 + ld [hli], a + ld a, $1 + ld [hl], a + ld a, [wRightMapMoveCounter] + and a + jr z, .asm_148ce + cp $3 + jr z, .asm_148ce + dec a + ld [wRightMapMoveCounter], a + add $4 + call Func_149f5 .asm_148ce - ret + ret Func_148cf: ; 0x148cf - ld b, $0 - ld hl, $d4f8 - ld a, [hld] - or [hl] - jr z, .asm_148f8 - dec [hl] - ld a, [hli] - cp $ff - jr nz, .asm_148f8 - dec [hl] - ld a, [hld] - cp $ff - jr nz, .asm_148f8 - ld a, $e0 - ld [hli], a - ld a, $1 - ld [hl], a - ld a, [wLeftMapMoveCounter] - and a - jr z, .asm_148f8 - cp $3 - jr z, .asm_148f8 - dec a - ld [wLeftMapMoveCounter], a + ld b, $0 + ld hl, $d4f8 + ld a, [hld] + or [hl] + jr z, .asm_148f8 + dec [hl] + ld a, [hli] + cp $ff + jr nz, .asm_148f8 + dec [hl] + ld a, [hld] + cp $ff + jr nz, .asm_148f8 + ld a, $e0 + ld [hli], a + ld a, $1 + ld [hl], a + ld a, [wLeftMapMoveCounter] + and a + jr z, .asm_148f8 + cp $3 + jr z, .asm_148f8 + dec a + ld [wLeftMapMoveCounter], a .asm_148f8 - ld hl, $d4fa - ld a, [hld] - or [hl] - jr z, .asm_1491f - dec [hl] - ld a, [hli] - cp $ff - jr nz, .asm_1491f - dec [hl] - ld a, [hld] - cp $ff - jr nz, .asm_1491f - ld a, $e0 - ld [hli], a - ld a, $1 - ld [hl], a - ld a, [wRightMapMoveCounter] - and a - jr z, .asm_1491f - cp $3 - jr z, .asm_1491f - dec a - ld [wRightMapMoveCounter], a + ld hl, $d4fa + ld a, [hld] + or [hl] + jr z, .asm_1491f + dec [hl] + ld a, [hli] + cp $ff + jr nz, .asm_1491f + dec [hl] + ld a, [hld] + cp $ff + jr nz, .asm_1491f + ld a, $e0 + ld [hli], a + ld a, $1 + ld [hl], a + ld a, [wRightMapMoveCounter] + and a + jr z, .asm_1491f + cp $3 + jr z, .asm_1491f + dec a + ld [wRightMapMoveCounter], a .asm_1491f - ret + ret Func_14920: ; 0x14920 - ld hl, $d62b - call Func_e4a - jr nc, .asm_14937 - ld c, $a - call Func_e55 - ld [$ff8a], a - ld a, Bank(Func_30164) - ld hl, Func_30164 - call z, BankSwitch + ld hl, $d62b + call Func_e4a + jr nc, .asm_14937 + ld c, $a + call Func_e55 + ld [$ff8a], a + ld a, Bank(Func_30164) + ld hl, Func_30164 + call z, BankSwitch .asm_14937 - ld a, $1 - ld [$d55a], a - ld [$ff8a], a - ld a, Bank(StartMapMoveMode) - ld hl, StartMapMoveMode - call BankSwitch - ret + ld a, $1 + ld [$d55a], a + ld [$ff8a], a + ld a, Bank(StartMapMoveMode) + ld hl, StartMapMoveMode + call BankSwitch + ret Func_14947: ; 0x14947 - ld hl, $d62b - call Func_e4a - jr nc, .asm_1495e - ld c, $a - call Func_e55 - ld [$ff8a], a - ld a, Bank(Func_30164) - ld hl, Func_30164 - call z, BankSwitch + ld hl, $d62b + call Func_e4a + jr nc, .asm_1495e + ld c, $a + call Func_e55 + ld [$ff8a], a + ld a, Bank(Func_30164) + ld hl, Func_30164 + call z, BankSwitch .asm_1495e - xor a - ld [$d55a], a - ld [$ff8a], a - ld a, Bank(StartMapMoveMode) - ld hl, StartMapMoveMode - call BankSwitch - ret + xor a + ld [$d55a], a + ld [$ff8a], a + ld a, Bank(StartMapMoveMode) + ld hl, StartMapMoveMode + call BankSwitch + ret Func_1496d: ; 0x1496d - ld a, $55 - ld [$d803], a - ld a, $4 - ld [$d804], a - ld a, $2 - ld [$d7eb], a - ld bc, $34be - ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch - ld de, $000f - call PlaySoundEffect - ret + ld a, $55 + ld [$d803], a + ld a, $4 + ld [$d804], a + ld a, $2 + ld [$d7eb], a + ld bc, $34be + ld [$ff8a], a + ld a, Bank(Func_8576) + ld hl, Func_8576 + call BankSwitch + ld de, $000f + call PlaySoundEffect + ret Func_14990: ; 0x14990 - ld a, [$d4ef] - and a - jr nz, .asm_149b6 - ld a, [wLeftMapMoveDiglettAnimationCounter] - and a - jr z, .asm_149a2 - dec a - ld [wLeftMapMoveDiglettAnimationCounter], a - jr .asm_149b6 + ld a, [$d4ef] + and a + jr nz, .asm_149b6 + ld a, [wLeftMapMoveDiglettAnimationCounter] + and a + jr z, .asm_149a2 + dec a + ld [wLeftMapMoveDiglettAnimationCounter], a + jr .asm_149b6 .asm_149a2 - call Func_1130 - ret nz - ld a, $14 - ld [wLeftMapMoveDiglettAnimationCounter], a - ld a, [wLeftMapMoveDiglettFrame] - xor $1 - ld [wLeftMapMoveDiglettFrame], a - call Func_149d9 + call Func_1130 + ret nz + ld a, $14 + ld [wLeftMapMoveDiglettAnimationCounter], a + ld a, [wLeftMapMoveDiglettFrame] + xor $1 + ld [wLeftMapMoveDiglettFrame], a + call Func_149d9 .asm_149b6 - ld a, [$d4f1] - and a - ret nz - ld a, [wRightMapMoveDiglettAnimationCounter] - and a - jr z, .asm_149c6 - dec a - ld [wRightMapMoveDiglettAnimationCounter], a - ret + ld a, [$d4f1] + and a + ret nz + ld a, [wRightMapMoveDiglettAnimationCounter] + and a + jr z, .asm_149c6 + dec a + ld [wRightMapMoveDiglettAnimationCounter], a + ret .asm_149c6 - call Func_1130 - ret nz - ld a, $14 - ld [wRightMapMoveDiglettAnimationCounter], a - ld a, [wRightMapMoveDiglettFrame] - xor $1 - ld [wRightMapMoveDiglettFrame], a - add $3 - ; fall through + call Func_1130 + ret nz + ld a, $14 + ld [wRightMapMoveDiglettAnimationCounter], a + ld a, [wRightMapMoveDiglettFrame] + xor $1 + ld [wRightMapMoveDiglettFrame], a + add $3 + ; fall through Func_149d9: ; 0x149d9 - sla a - ld c, a - ld b, $0 - ld hl, $4a11 ; todo - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_149e9 - ld hl, $4a83 ; todo + sla a + ld c, a + ld b, $0 + ld hl, $4a11 ; todo + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_149e9 + ld hl, $4a83 ; todo .asm_149e9 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - or h - ret z - ld a, $5 - call Func_10aa - ret + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + or h + ret z + ld a, $5 + call Func_10aa + ret Func_149f5: ; 0x149f5 - sla a - ld c, a - ld b, $0 - ld hl, $4af5 ; todo - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_14a05 - ld hl, $4c8d ; todo + sla a + ld c, a + ld b, $0 + ld hl, $4af5 ; todo + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_14a05 + ld hl, $4c8d ; todo .asm_14a05 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - or h - ret z - ld a, $5 - call Func_10aa - ret - -INCBIN "baserom.gbc",$14a11,$14d85 - $14a11 + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + or h + ret z + ld a, $5 + call Func_10aa + ret + + dr $14a11, $14d85 Func_14d85: ; 0x14d85 - ld a, [$d4cb] - and a - jr z, .asm_14db9 - xor a - ld [$d4cb], a - call Func_14dc9 - ld a, $10 - ld [$d4d6], a - ld a, [$d4cc] - sub $3 - ld [$d4d7], a - ld a, $4 - ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch - ld bc, $34be - ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch - ret + ld a, [$d4cb] + and a + jr z, .asm_14db9 + xor a + ld [$d4cb], a + call Func_14dc9 + ld a, $10 + ld [$d4d6], a + ld a, [$d4cc] + sub $3 + ld [$d4d7], a + ld a, $4 + ld [$ff8a], a + ld a, Bank(Func_10000) + ld hl, Func_10000 + call BankSwitch + ld bc, $34be + ld [$ff8a], a + ld a, Bank(Func_8576) + ld hl, Func_8576 + call BankSwitch + ret .asm_14db9 - ld a, [$d4d6] - and a - ret z - dec a - ld [$d4d6], a - ret nz - ld a, $ff - ld [$d4d7], a - ret + ld a, [$d4d6] + and a + ret z + dec a + ld [$d4d6], a + ret nz + ld a, $ff + ld [$d4d7], a + ret Func_14dc9: ; 0x14dc9 - ld a, $ff - ld [$d803], a - ld a, $3 - ld [$d804], a - ld hl, $0200 - ld a, l - ld [$d7bc], a - ld a, h - ld [$d7bd], a - ld a, $80 - ld [wFlipperCollision], a - ld de, $000e - call PlaySoundEffect - ret + ld a, $ff + ld [$d803], a + ld a, $3 + ld [$d804], a + ld hl, $0200 + ld a, l + ld [$d7bc], a + ld a, h + ld [$d7bd], a + ld a, $80 + ld [wFlipperCollision], a + ld de, $000e + call PlaySoundEffect + ret Func_14dea: ; 0x14dea - ld a, [$d507] - and a - jr z, Func_14e10 - xor a - ld [$d507], a - ld a, [wBallYVelocity] - ld c, a - ld a, [wBallYVelocity + 1] - ld b, a - ld a, c - ld [$d50b], a - ld a, b - ld [$d50c], a - ld a, $c - ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch - ; fall through + ld a, [$d507] + and a + jr z, Func_14e10 + xor a + ld [$d507], a + ld a, [wBallYVelocity] + ld c, a + ld a, [wBallYVelocity + 1] + ld b, a + ld a, c + ld [$d50b], a + ld a, b + ld [$d50c], a + ld a, $c + ld [$ff8a], a + ld a, Bank(Func_10000) + ld hl, Func_10000 + call BankSwitch + ; fall through Func_14e10: ; 0x14e10 - ld hl, $d50b - ld a, [hli] - or [hl] - ret z - ld a, [$d50b] - ld c, a - ld a, [$d50c] - ld b, a - bit 7, b - jr nz, .asm_14e2e - ld a, c - sub $7 - ld c, a - ld a, b - sbc $0 - ld b, a - jr nc, .asm_14e3b - jr .asm_14e38 + ld hl, $d50b + ld a, [hli] + or [hl] + ret z + ld a, [$d50b] + ld c, a + ld a, [$d50c] + ld b, a + bit 7, b + jr nz, .asm_14e2e + ld a, c + sub $7 + ld c, a + ld a, b + sbc $0 + ld b, a + jr nc, .asm_14e3b + jr .asm_14e38 .asm_14e2e - ld a, c - add $7 - ld c, a - ld a, b - adc $0 - ld b, a - jr nc, .asm_14e3b + ld a, c + add $7 + ld c, a + ld a, b + adc $0 + ld b, a + jr nc, .asm_14e3b .asm_14e38 - ld bc, $0000 + ld bc, $0000 .asm_14e3b - ld a, c - ld [$d50b], a - ld a, b - ld [$d50c], a - ld hl, $d50b - ld a, [$d509] - add [hl] - ld [$d509], a - inc hl - ld a, [$d50a] - adc [hl] - bit 7, a - ld c, $0 - jr z, .asm_14e5e - add $18 - ld c, $1 - jr .asm_14e66 + ld a, c + ld [$d50b], a + ld a, b + ld [$d50c], a + ld hl, $d50b + ld a, [$d509] + add [hl] + ld [$d509], a + inc hl + ld a, [$d50a] + adc [hl] + bit 7, a + ld c, $0 + jr z, .asm_14e5e + add $18 + ld c, $1 + jr .asm_14e66 .asm_14e5e - cp $18 - jr c, .asm_14e66 - sub $18 - ld c, $1 + cp $18 + jr c, .asm_14e66 + sub $18 + ld c, $1 .asm_14e66 - ld [$d50a], a - ld a, c - and a - ret z - ld bc, $34ac - ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch - ld hl, $d62d - call Func_e4a - ld a, [$d517] - cp $f - jr nz, .asm_14e8a - call Func_14ea7 - ret + ld [$d50a], a + ld a, c + and a + ret z + ld bc, $34ac + ld [$ff8a], a + ld a, Bank(Func_8576) + ld hl, Func_8576 + call BankSwitch + ld hl, $d62d + call Func_e4a + ld a, [$d517] + cp $f + jr nz, .asm_14e8a + call Func_14ea7 + ret .asm_14e8a - inc a - ld [$d517], a - call Func_14ea7 - ld a, [$d517] - cp $f - jr nz, .asm_14e9d - ld a, $64 - ld [$d51e], a + inc a + ld [$d517], a + call Func_14ea7 + ld a, [$d517] + cp $f + jr nz, .asm_14e9d + ld a, $64 + ld [$d51e], a .asm_14e9d - ld a, [wCurrentStage] - bit 0, a - ret nz - call Func_14ece - ret + ld a, [wCurrentStage] + bit 0, a + ret nz + call Func_14ece + ret Func_14ea7: ; 0x14ea7 - ld a, [$d51e] - and a - ret nz - ld a, [$d517] - ld c, a - ld b, $0 - ld hl, $4ebe ; todo - add hl, bc - ld a, [hl] - ld e, a - ld d, $0 - call PlaySoundEffect - ret - -INCBIN "baserom.gbc",$14ebe,$14ece - $14ebe + ld a, [$d51e] + and a + ret nz + ld a, [$d517] + ld c, a + ld b, $0 + ld hl, $4ebe ; todo + add hl, bc + ld a, [hl] + ld e, a + ld d, $0 + call PlaySoundEffect + ret + + dr $14ebe, $14ece Func_14ece: ; 0x14ece - ld a, [$d517] - ld c, a - sla c - ld b, $0 - ld hl, $4eeb ; todo - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_14ee1 - ld hl, $509b + ld a, [$d517] + ld c, a + sla c + ld b, $0 + ld hl, $4eeb ; todo + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_14ee1 + ld hl, $509b .asm_14ee1 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld a, $5 - call Func_10aa - ret + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld a, $5 + call Func_10aa + ret -INCBIN "baserom.gbc",$14eeb,$151cb - $14eeb + dr $14eeb, $151cb Func_151cb: ; 0x151cb - ld a, [$d50d] - and a - jr z, .asm_15229 - xor a - ld [$d50d], a - ld a, [$d513] - and a - jr nz, .asm_15229 - ld a, [$d50e] - sub $a - ld c, a - ld b, $0 - ld hl, $d50f - add hl, bc - ld a, [hl] - ld [hl], $1 - and a - ret nz - ld bc, $34b2 - ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch - ld hl, $d50f - ld a, [hli] - and [hl] - inc hl - and [hl] - inc hl - and [hl] - jr z, Func_asm_1522d - ld a, $1 - ld [$d513], a - ld a, $80 - ld [$d514], a - ld bc, $34b8 - ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch - ld de, $0009 - call PlaySoundEffect - ld hl, $d62c - call Func_e4a - jr Func_asm_1522d + ld a, [$d50d] + and a + jr z, .asm_15229 + xor a + ld [$d50d], a + ld a, [$d513] + and a + jr nz, .asm_15229 + ld a, [$d50e] + sub $a + ld c, a + ld b, $0 + ld hl, $d50f + add hl, bc + ld a, [hl] + ld [hl], $1 + and a + ret nz + ld bc, $34b2 + ld [$ff8a], a + ld a, Bank(Func_8576) + ld hl, Func_8576 + call BankSwitch + ld hl, $d50f + ld a, [hli] + and [hl] + inc hl + and [hl] + inc hl + and [hl] + jr z, Func_asm_1522d + ld a, $1 + ld [$d513], a + ld a, $80 + ld [$d514], a + ld bc, $34b8 + ld [$ff8a], a + ld a, Bank(Func_8576) + ld hl, Func_8576 + call BankSwitch + ld de, $0009 + call PlaySoundEffect + ld hl, $d62c + call Func_e4a + jr Func_asm_1522d .asm_15229 - call Func_15270 - ret z - ; fall through + call Func_15270 + ret z + ; fall through Func_asm_1522d: ; 0x1522d - ld hl, $d512 - ld b, $4 + ld hl, $d512 + ld b, $4 .asm_15232 - ld a, [hld] - push hl - call Func_1523c - pop hl - dec b - jr nz, .asm_15232 - ret + ld a, [hld] + push hl + call Func_1523c + pop hl + dec b + jr nz, .asm_15232 + ret Func_1523c: ; 0x1523c - and a - jr z, .asm_1524e - ld a, [hGameBoyColorFlag] - and a - jr nz, .asm_15249 - ld hl, $52dd ; todo - jr .asm_1525b + and a + jr z, .asm_1524e + ld a, [hGameBoyColorFlag] + and a + jr nz, .asm_15249 + ld hl, $52dd ; todo + jr .asm_1525b .asm_15249 - ld hl, $531d ; todo - jr .asm_1525b + ld hl, $531d ; todo + jr .asm_1525b .asm_1524e - ld a, [hGameBoyColorFlag] - and a - jr nz, .asm_15258 - ld hl, $52e5 - jr .asm_1525b + ld a, [hGameBoyColorFlag] + and a + jr nz, .asm_15258 + ld hl, $52e5 + jr .asm_1525b .asm_15258 - ld hl, $5325 + ld hl, $5325 .asm_1525b - push bc - dec b - sla b - ld e, b - ld d, $0 - add hl, de - ld c, [hl] - inc hl - ld b, [hl] - ld a, $5 - ld de, LoadTileLists - call Func_10c5 - pop bc - ret + push bc + dec b + sla b + ld e, b + ld d, $0 + add hl, de + ld c, [hl] + inc hl + ld b, [hl] + ld a, $5 + ld de, LoadTileLists + call Func_10c5 + pop bc + ret Func_15270: ; 0x15270 - ld a, [$d513] - and a - jr z, .asm_152a6 - ld a, [$d514] - dec a - ld [$d514], a - jr nz, .asm_1528d - ld [$d513], a - ld a, $1 - ld [$d608], a - ld a, $3 - ld [$d607], a - xor a + ld a, [$d513] + and a + jr z, .asm_152a6 + ld a, [$d514] + dec a + ld [$d514], a + jr nz, .asm_1528d + ld [$d513], a + ld a, $1 + ld [$d608], a + ld a, $3 + ld [$d607], a + xor a .asm_1528d - and $7 - ret nz - ld a, [$d514] - srl a - srl a - srl a - and $1 - ld hl, $d50f - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a - ld a, $1 - and a - ret + and $7 + ret nz + ld a, [$d514] + srl a + srl a + srl a + and $1 + ld hl, $d50f + ld [hli], a + ld [hli], a + ld [hli], a + ld [hl], a + ld a, $1 + and a + ret .asm_152a6 - ld hl, wKeyConfigLeftFlipper - call IsKeyPressed - jr z, .asm_152c2 - ld hl, $d50f - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - ld a, c - ld [hld], a - ld a, d - ld [hld], a - ld a, e - ld [hld], a - ld a, b - ld [hl], a - ret + ld hl, wKeyConfigLeftFlipper + call IsKeyPressed + jr z, .asm_152c2 + ld hl, $d50f + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + ld a, c + ld [hld], a + ld a, d + ld [hld], a + ld a, e + ld [hld], a + ld a, b + ld [hl], a + ret .asm_152c2 - ld hl, wKeyConfigRightFlipper - call IsKeyPressed - ret z - ld hl, $d50f - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - ld a, e - ld [hld], a - ld a, b - ld [hld], a - ld a, c - ld [hld], a - ld a, d - ld [hl], a - ret - -INCBIN "baserom.gbc",$152dd,$1535d - $152dd + ld hl, wKeyConfigRightFlipper + call IsKeyPressed + ret z + ld hl, $d50f + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + ld a, e + ld [hld], a + ld a, b + ld [hld], a + ld a, c + ld [hld], a + ld a, d + ld [hl], a + ret + + dr $152dd, $1535d Func_1535d: ; 0x1535d - ld a, [$d5f7] - and a - jp z, .asm_1544c - xor a - ld [$d5f7], a - ld a, [wStageCollisionState] - bit 0, a - jp z, .asm_1544c - ld a, [$d5fc] - and a - jp nz, .asm_1544c - xor a - ld [wRightAlleyTrigger], a - ld [wLeftAlleyTrigger], a - ld [wSecondaryLeftAlleyTrigger], a - call Func_159c9 - ld a, $b - ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch - ld a, [$d5f8] - sub $e - ld c, a - ld b, $0 - ld hl, $d5f9 - add hl, bc - ld a, [hl] - ld [hl], $1 - and a - ret nz - ld bc, $34b2 - ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch - ld hl, $d5f9 - ld a, [hli] - and [hl] - inc hl - and [hl] - jr nz, .asm_153c0 - ld de, $0009 - call PlaySoundEffect - jp Func_15450 + ld a, [$d5f7] + and a + jp z, .asm_1544c + xor a + ld [$d5f7], a + ld a, [wStageCollisionState] + bit 0, a + jp z, .asm_1544c + ld a, [$d5fc] + and a + jp nz, .asm_1544c + xor a + ld [wRightAlleyTrigger], a + ld [wLeftAlleyTrigger], a + ld [wSecondaryLeftAlleyTrigger], a + call Func_159c9 + ld a, $b + ld [$ff8a], a + ld a, Bank(Func_10000) + ld hl, Func_10000 + call BankSwitch + ld a, [$d5f8] + sub $e + ld c, a + ld b, $0 + ld hl, $d5f9 + add hl, bc + ld a, [hl] + ld [hl], $1 + and a + ret nz + ld bc, $34b2 + ld [$ff8a], a + ld a, Bank(Func_8576) + ld hl, Func_8576 + call BankSwitch + ld hl, $d5f9 + ld a, [hli] + and [hl] + inc hl + and [hl] + jr nz, .asm_153c0 + ld de, $0009 + call PlaySoundEffect + jp Func_15450 .asm_153c0 - ld a, $1 - ld [$d5fc], a - ld a, $80 - ld [$d5fd], a - ; load approximately 1 minute of frames into wBallTypeCounter - ld a, $10 - ld [wBallTypeCounter], a - ld a, $e - ld [wBallTypeCounter + 1], a - ld bc, $34b8 - ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch - ld a, [wBallType] - cp MASTER_BALL - jr z, .masterBall - ld de, $063a - call PlaySoundEffect - call Func_30e8 - call Func_30db - ld de, $2907 - ld hl, $d5cc - call Func_32aa - ld a, [wBallType] - ld c, a - ld b, $0 - ld hl, BallTypeProgressionRedField - add hl, bc - ld a, [hl] - ld [wBallType], a - add $30 - ld [$c512], a - jr .asm_15447 + ld a, $1 + ld [$d5fc], a + ld a, $80 + ld [$d5fd], a + ; load approximately 1 minute of frames into wBallTypeCounter + ld a, $10 + ld [wBallTypeCounter], a + ld a, $e + ld [wBallTypeCounter + 1], a + ld bc, $34b8 + ld [$ff8a], a + ld a, Bank(Func_8576) + ld hl, Func_8576 + call BankSwitch + ld a, [wBallType] + cp MASTER_BALL + jr z, .masterBall + ld de, $063a + call PlaySoundEffect + call Func_30e8 + call Func_30db + ld de, $2907 + ld hl, $d5cc + call Func_32aa + ld a, [wBallType] + ld c, a + ld b, $0 + ld hl, BallTypeProgressionRedField + add hl, bc + ld a, [hl] + ld [wBallType], a + add $30 + ld [$c512], a + jr .asm_15447 .masterBall - ld de, $0f4d - call PlaySoundEffect - ld bc, $34e8 - ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch - ld bc, $0100 - ld de, $0000 - push bc - push de - call Func_30e8 - call Func_30db - ld hl, $d5d4 - ld de, $2948 - call Func_32cc - pop de - pop bc - ld hl, $d5cc - ld de, $2922 - call Func_32aa + ld de, $0f4d + call PlaySoundEffect + ld bc, $34e8 + ld [$ff8a], a + ld a, Bank(Func_8588) + ld hl, Func_8588 + call BankSwitch + ld bc, $0100 + ld de, $0000 + push bc + push de + call Func_30e8 + call Func_30db + ld hl, $d5d4 + ld de, $2948 + call Func_32cc + pop de + pop bc + ld hl, $d5cc + ld de, $2922 + call Func_32aa .asm_15447 - call Func_155a7 - jr Func_15450 + call Func_155a7 + jr Func_15450 .asm_1544c - call Func_154a9 - ret z + call Func_154a9 + ret z Func_15450 - ld a, [wStageCollisionState] - bit 0, a - ret z - ld hl, $d5fb - ld b, $3 + ld a, [wStageCollisionState] + bit 0, a + ret z + ld hl, $d5fb + ld b, $3 .asm_1545b - ld a, [hld] - push hl - call Func_15465 - pop hl - dec b - jr nz, .asm_1545b - ret + ld a, [hld] + push hl + call Func_15465 + pop hl + dec b + jr nz, .asm_1545b + ret Func_15465: ; 0x15465 - and a - jr z, .asm_15477 - ld a, [hGameBoyColorFlag] - and a - jr nz, .asm_15472 - ld hl, $5511 ; todo - jr .asm_15484 + and a + jr z, .asm_15477 + ld a, [hGameBoyColorFlag] + and a + jr nz, .asm_15472 + ld hl, $5511 ; todo + jr .asm_15484 .asm_15472 - ld hl, $5543 ; todo - jr .asm_15484 + ld hl, $5543 ; todo + jr .asm_15484 .asm_15477 - ld a, [hGameBoyColorFlag] - and a - jr nz, .asm_15481 - ld hl, $5517 ; todo - jr .asm_15484 + ld a, [hGameBoyColorFlag] + and a + jr nz, .asm_15481 + ld hl, $5517 ; todo + jr .asm_15484 .asm_15481 - ld hl, $5549 ; todo + ld hl, $5549 ; todo .asm_15484 - push bc - dec b - sla b - ld e, b - ld d, $0 - add hl, de - ld c, [hl] - inc hl - ld b, [hl] - ld a, $5 - ld de, LoadTileLists - call Func_10c5 - pop bc - ret + push bc + dec b + sla b + ld e, b + ld d, $0 + add hl, de + ld c, [hl] + inc hl + ld b, [hl] + ld a, $5 + ld de, LoadTileLists + call Func_10c5 + pop bc + ret Func_15499: ; 0x15499 - ld a, [hGameBoyColorFlag] - and a - ret nz - ld b, $3 + ld a, [hGameBoyColorFlag] + and a + ret nz + ld b, $3 .asm_1549f - push hl - xor a - call Func_15465 - pop hl - dec b - jr nz, .asm_1549f - ret + push hl + xor a + call Func_15465 + pop hl + dec b + jr nz, .asm_1549f + ret Func_154a9: ; 0x154a9 - ld a, [$d5fc] - and a - jr z, .asm_154d6 - ld a, [$d5fd] - dec a - ld [$d5fd], a - jr nz, .asm_154bb - ld [$d5fc], a + ld a, [$d5fc] + and a + jr z, .asm_154d6 + ld a, [$d5fd] + dec a + ld [$d5fd], a + jr nz, .asm_154bb + ld [$d5fc], a .asm_154bb - and $7 - jr nz, .asm_154d4 - ld a, [$d5fd] - srl a - srl a - srl a - and $1 - ld hl, $d5f9 - ld [hli], a - ld [hli], a - ld [hl], a - ld a, $1 - and a - ret + and $7 + jr nz, .asm_154d4 + ld a, [$d5fd] + srl a + srl a + srl a + and $1 + ld hl, $d5f9 + ld [hli], a + ld [hli], a + ld [hl], a + ld a, $1 + and a + ret .asm_154d4 - xor a - ret + xor a + ret .asm_154d6 - ld hl, wKeyConfigLeftFlipper - call IsKeyPressed - jr z, .asm_154ee - ld hl, $d5f9 - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hl] - ld e, a - ld a, c - ld [hld], a - ld a, e - ld [hld], a - ld a, b - ld [hl], a - ret + ld hl, wKeyConfigLeftFlipper + call IsKeyPressed + jr z, .asm_154ee + ld hl, $d5f9 + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hl] + ld e, a + ld a, c + ld [hld], a + ld a, e + ld [hld], a + ld a, b + ld [hl], a + ret .asm_154ee - ld hl, wKeyConfigRightFlipper - call IsKeyPressed - ret z - ld hl, $d5f9 - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hl] - ld e, a - ld a, b - ld [hld], a - ld a, c - ld [hld], a - ld a, e - ld [hl], a - ret + ld hl, wKeyConfigRightFlipper + call IsKeyPressed + ret z + ld hl, $d5f9 + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hl] + ld e, a + ld a, b + ld [hld], a + ld a, c + ld [hld], a + ld a, e + ld [hl], a + ret BallTypeProgressionRedField: ; 0x15505 ; Determines the next upgrade for the Ball. - db GREAT_BALL ; POKE_BALL -> GREAT_BALL - db GREAT_BALL ; unused - db ULTRA_BALL ; GREAT_BALL -> ULTRA_BALL - db MASTER_BALL ; ULTRA_BALL -> MASTER_BALL - db MASTER_BALL ; unused - db MASTER_BALL ; MASTER_BALL -> MASTER_BALL + db GREAT_BALL ; POKE_BALL -> GREAT_BALL + db GREAT_BALL ; unused + db ULTRA_BALL ; GREAT_BALL -> ULTRA_BALL + db MASTER_BALL ; ULTRA_BALL -> MASTER_BALL + db MASTER_BALL ; unused + db MASTER_BALL ; MASTER_BALL -> MASTER_BALL BallTypeDegradationRedField: ; 0x1550b ; Determines the previous upgrade for the Ball. - db POKE_BALL ; POKE_BALL -> POKE_BALL - db POKE_BALL ; unused - db POKE_BALL ; GREAT_BALL -> POKE_BALL - db GREAT_BALL ; ULTRA_BALL -> GREAT_BALL - db ULTRA_BALL ; unused - db ULTRA_BALL ; MASTER_BALL -> GREAT_BALL + db POKE_BALL ; POKE_BALL -> POKE_BALL + db POKE_BALL ; unused + db POKE_BALL ; GREAT_BALL -> POKE_BALL + db GREAT_BALL ; ULTRA_BALL -> GREAT_BALL + db ULTRA_BALL ; unused + db ULTRA_BALL ; MASTER_BALL -> GREAT_BALL -INCBIN "baserom.gbc",$15511,$15575 - $15511 + dr $15511, $15575 HandleBallTypeUpgradeCounterRedField: ; 0x15575 - ld a, [$d5f3] - and a - ret nz - ld hl, wBallTypeCounter - ld a, [hli] - ld c, a - ld b, [hl] - or b - ret z - dec bc - ld a, b - ld [hld], a - ld [hl], c - or c - ret nz - ; counter is now 0! Degrade the ball upgrade. - ld a, [wBallType] - ld c, a - ld b, $0 - ld hl, BallTypeDegradationRedField - add hl, bc - ld a, [hl] - ld [wBallType], a - and a - jr z, .pokeball - ; load approximately 1 minute of frames into wBallTypeCounter - ld a, $10 - ld [wBallTypeCounter], a - ld a, $e - ld [wBallTypeCounter + 1], a + ld a, [$d5f3] + and a + ret nz + ld hl, wBallTypeCounter + ld a, [hli] + ld c, a + ld b, [hl] + or b + ret z + dec bc + ld a, b + ld [hld], a + ld [hl], c + or c + ret nz + ; counter is now 0! Degrade the ball upgrade. + ld a, [wBallType] + ld c, a + ld b, $0 + ld hl, BallTypeDegradationRedField + add hl, bc + ld a, [hl] + ld [wBallType], a + and a + jr z, .pokeball + ; load approximately 1 minute of frames into wBallTypeCounter + ld a, $10 + ld [wBallTypeCounter], a + ld a, $e + ld [wBallTypeCounter + 1], a .pokeball - call Func_155a7 - ret + call Func_155a7 + ret Func_155a7: ; 0x155a7 - ld a, [wBallType] - ld c, a - sla c - ld b, $0 - ld hl, $55d7 ; todo - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld a, $5 - call Func_10aa - ; fall through + ld a, [wBallType] + ld c, a + sla c + ld b, $0 + ld hl, $55d7 ; todo + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld a, $5 + call Func_10aa + ; fall through Func_155bb: ; 0x155bb - ld a, [hGameBoyColorFlag] - and a - ret z - ; gameboy color - ld a, [wBallType] - sla a - ld c, a - ld b, $0 - ld hl, $57f7 ; todo - add hl, bc - ld c, [hl] - inc hl - ld b, [hl] - ld a, $5 - ld de, $1266 - call Func_10c5 - ret - -INCBIN "baserom.gbc",$155d7,$1581f - $155d7 + ld a, [hGameBoyColorFlag] + and a + ret z + ; gameboy color + ld a, [wBallType] + sla a + ld c, a + ld b, $0 + ld hl, $57f7 ; todo + add hl, bc + ld c, [hl] + inc hl + ld b, [hl] + ld a, $5 + ld de, $1266 + call Func_10c5 + ret + + dr $155d7, $1581f Func_1581f: ; 0x1581f - ld a, [$d51f] - and a - ret z - xor a - ld [$d51f], a - ld bc, $34a6 - ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch - ld a, [$d520] - sub $11 - ld c, a - ld b, $0 - ld hl, $d521 - add hl, bc - ld [hl], $1 - ld a, [$d521] - and a - call nz, Func_1587c - ld a, [$d522] - and a - call nz, Func_158c0 - ld a, [$d523] - and a - call nz, Func_15904 - ld a, [$d524] - and a - call nz, HandleLeftAlleyTriggerRedField - ld a, [$d525] - and a - call nz, Func_15931 - ld a, [$d526] - and a - call nz, Func_15944 - ld a, [$d527] - and a - call nz, HandleRightAlleyTriggerRedField - ld a, [$d528] - and a - call nz, Func_15990 - ret + ld a, [$d51f] + and a + ret z + xor a + ld [$d51f], a + ld bc, $34a6 + ld [$ff8a], a + ld a, Bank(Func_8576) + ld hl, Func_8576 + call BankSwitch + ld a, [$d520] + sub $11 + ld c, a + ld b, $0 + ld hl, $d521 + add hl, bc + ld [hl], $1 + ld a, [$d521] + and a + call nz, Func_1587c + ld a, [$d522] + and a + call nz, Func_158c0 + ld a, [$d523] + and a + call nz, Func_15904 + ld a, [$d524] + and a + call nz, HandleLeftAlleyTriggerRedField + ld a, [$d525] + and a + call nz, Func_15931 + ld a, [$d526] + and a + call nz, Func_15944 + ld a, [$d527] + and a + call nz, HandleRightAlleyTriggerRedField + ld a, [$d528] + and a + call nz, Func_15990 + ret Func_1587c: ; 0x1587c - xor a - ld [$d521], a - ld a, [wLeftAlleyTrigger] - and a - ret z - xor a - ld [wLeftAlleyTrigger], a - ld a, $1 - ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch - ret c - ld a, [wLeftAlleyCount] - cp $3 - ret z - inc a - ld [wLeftAlleyCount], a - set 7, a - ld [wIndicatorStates], a - cp $83 - ret nz - ld a, [wStageCollisionState] - and $1 - or $6 - ld [wStageCollisionState], a - ld [$ff8a], a - ld a, Bank(LoadStageCollisionAttributes) - ld hl, LoadStageCollisionAttributes - call BankSwitch - call Func_159f4 - ret + xor a + ld [$d521], a + ld a, [wLeftAlleyTrigger] + and a + ret z + xor a + ld [wLeftAlleyTrigger], a + ld a, $1 + ld [$ff8a], a + ld a, Bank(Func_10000) + ld hl, Func_10000 + call BankSwitch + ret c + ld a, [wLeftAlleyCount] + cp $3 + ret z + inc a + ld [wLeftAlleyCount], a + set 7, a + ld [wIndicatorStates], a + cp $83 + ret nz + ld a, [wStageCollisionState] + and $1 + or $6 + ld [wStageCollisionState], a + ld [$ff8a], a + ld a, Bank(LoadStageCollisionAttributes) + ld hl, LoadStageCollisionAttributes + call BankSwitch + call Func_159f4 + ret Func_158c0: ; 0x158c0 - xor a - ld [$d522], a - ld a, [wLeftAlleyTrigger] - and a - ret z - xor a - ld [wLeftAlleyTrigger], a - ld a, $1 - ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch - ret c - ld a, [wLeftAlleyCount] - cp $3 - ret z - inc a - ld [wLeftAlleyCount], a - set 7, a - ld [wIndicatorStates], a - cp $83 - ret nz - ld a, [wStageCollisionState] - and $1 - or $6 - ld [wStageCollisionState], a - ld [$ff8a], a - ld a, Bank(LoadStageCollisionAttributes) - ld hl, LoadStageCollisionAttributes - call BankSwitch - call Func_159f4 - ret + xor a + ld [$d522], a + ld a, [wLeftAlleyTrigger] + and a + ret z + xor a + ld [wLeftAlleyTrigger], a + ld a, $1 + ld [$ff8a], a + ld a, Bank(Func_10000) + ld hl, Func_10000 + call BankSwitch + ret c + ld a, [wLeftAlleyCount] + cp $3 + ret z + inc a + ld [wLeftAlleyCount], a + set 7, a + ld [wIndicatorStates], a + cp $83 + ret nz + ld a, [wStageCollisionState] + and $1 + or $6 + ld [wStageCollisionState], a + ld [$ff8a], a + ld a, Bank(LoadStageCollisionAttributes) + ld hl, LoadStageCollisionAttributes + call BankSwitch + call Func_159f4 + ret Func_15904: ; 0x15904 - xor a - ld [$d523], a - ld a, [wSecondaryLeftAlleyTrigger] - and a - ret z - xor a - ld [wSecondaryLeftAlleyTrigger], a - ld a, $3 - ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch - ret + xor a + ld [$d523], a + ld a, [wSecondaryLeftAlleyTrigger] + and a + ret z + xor a + ld [wSecondaryLeftAlleyTrigger], a + ld a, $3 + ld [$ff8a], a + ld a, Bank(Func_10000) + ld hl, Func_10000 + call BankSwitch + ret HandleLeftAlleyTriggerRedField: ; 0x1591e ; Ball passed over the left alley trigger point in the Red Field. - xor a - ld [$d524], a - ld [wRightAlleyTrigger], a - ld [wSecondaryLeftAlleyTrigger], a - ld a, $1 - ld [wLeftAlleyTrigger], a - call Func_159c9 - ret + xor a + ld [$d524], a + ld [wRightAlleyTrigger], a + ld [wSecondaryLeftAlleyTrigger], a + ld a, $1 + ld [wLeftAlleyTrigger], a + call Func_159c9 + ret Func_15931: ; 0x15931 - xor a - ld [$d525], a - ld [wRightAlleyTrigger], a - ld [wLeftAlleyTrigger], a - ld a, $1 - ld [wSecondaryLeftAlleyTrigger], a - call Func_159c9 - ret + xor a + ld [$d525], a + ld [wRightAlleyTrigger], a + ld [wLeftAlleyTrigger], a + ld a, $1 + ld [wSecondaryLeftAlleyTrigger], a + call Func_159c9 + ret Func_15944: ; 0x15944 - xor a - ld [$d526], a - ld a, [wRightAlleyTrigger] - and a - ret z - xor a - ld [wRightAlleyTrigger], a - ld a, $2 - ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch - ret c - ld a, [wRightAlleyCount] - cp $3 - ret z - inc a - ld [wRightAlleyCount], a - cp $3 - jr z, .asm_1596e - set 7, a + xor a + ld [$d526], a + ld a, [wRightAlleyTrigger] + and a + ret z + xor a + ld [wRightAlleyTrigger], a + ld a, $2 + ld [$ff8a], a + ld a, Bank(Func_10000) + ld hl, Func_10000 + call BankSwitch + ret c + ld a, [wRightAlleyCount] + cp $3 + ret z + inc a + ld [wRightAlleyCount], a + cp $3 + jr z, .asm_1596e + set 7, a .asm_1596e - ld [wIndicatorStates + 1], a - ld a, [wRightAlleyCount] - cp $2 - ret c - ld a, $80 - ld [wIndicatorStates + 3], a - ret + ld [wIndicatorStates + 1], a + ld a, [wRightAlleyCount] + cp $2 + ret c + ld a, $80 + ld [wIndicatorStates + 3], a + ret HandleRightAlleyTriggerRedField: ; 0x1597d ; Ball passed over the right alley trigger point in the Red Field. - xor a - ld [$d527], a - ld [wLeftAlleyTrigger], a - ld [wSecondaryLeftAlleyTrigger], a - ld a, $1 - ld [wRightAlleyTrigger], a - call Func_159c9 - ret + xor a + ld [$d527], a + ld [wLeftAlleyTrigger], a + ld [wSecondaryLeftAlleyTrigger], a + ld a, $1 + ld [wRightAlleyTrigger], a + call Func_159c9 + ret Func_15990: ; 0x15990 - xor a - ld [$d528], a - ld a, [wRightAlleyTrigger] - and a - ret z - xor a - ld [wRightAlleyTrigger], a - ld a, $2 - ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch - ret c - ld a, [wRightAlleyCount] - cp $3 - ret z - inc a - ld [wRightAlleyCount], a - cp $3 - jr z, .asm_159ba - set 7, a + xor a + ld [$d528], a + ld a, [wRightAlleyTrigger] + and a + ret z + xor a + ld [wRightAlleyTrigger], a + ld a, $2 + ld [$ff8a], a + ld a, Bank(Func_10000) + ld hl, Func_10000 + call BankSwitch + ret c + ld a, [wRightAlleyCount] + cp $3 + ret z + inc a + ld [wRightAlleyCount], a + cp $3 + jr z, .asm_159ba + set 7, a .asm_159ba - ld [wIndicatorStates + 1], a - ld a, [wRightAlleyCount] - cp $2 - ret c - ld a, $80 - ld [wIndicatorStates + 3], a - ret + ld [wIndicatorStates + 1], a + ld a, [wRightAlleyCount] + cp $2 + ret c + ld a, $80 + ld [wIndicatorStates + 3], a + ret Func_159c9: ; 0x159c9 - ld a, [$d7ad] - bit 7, a - ret nz - ld c, a - ld a, [wStageCollisionState] - and $1 - or c - ld [wStageCollisionState], a - ld a, $ff - ld [$d7ad], a - ld [$ff8a], a - ld a, Bank(LoadStageCollisionAttributes) - ld hl, LoadStageCollisionAttributes - call BankSwitch - call Func_159f4 - ld a, $1 - ld [$d580], a - call Func_1404a - ret + ld a, [$d7ad] + bit 7, a + ret nz + ld c, a + ld a, [wStageCollisionState] + and $1 + or c + ld [wStageCollisionState], a + ld a, $ff + ld [$d7ad], a + ld [$ff8a], a + ld a, Bank(LoadStageCollisionAttributes) + ld hl, LoadStageCollisionAttributes + call BankSwitch + call Func_159f4 + ld a, $1 + ld [$d580], a + call Func_1404a + ret Func_159f4: ; 0x159f4 - ld a, [$ff9e] - bit 7, a - jr z, .asm_15a13 - ld a, [$d7f2] - and $fe - ld c, a - ld a, [wStageCollisionState] - and $fe - cp c - jr z, .asm_15a13 - add c - cp $2 - jr z, .asm_15a13 - ld de, $0000 - call PlaySoundEffect + ld a, [$ff9e] + bit 7, a + jr z, .asm_15a13 + ld a, [$d7f2] + and $fe + ld c, a + ld a, [wStageCollisionState] + and $fe + cp c + jr z, .asm_15a13 + add c + cp $2 + jr z, .asm_15a13 + ld de, $0000 + call PlaySoundEffect .asm_15a13 - ld a, [$d7f2] - swap a - ld c, a - ld a, [wStageCollisionState] - sla a - or c - ld c, a - ld b, $0 - ld hl, $5a3f ; todo - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_15a2d - ld hl, $5d05 + ld a, [$d7f2] + swap a + ld c, a + ld a, [wStageCollisionState] + sla a + or c + ld c, a + ld b, $0 + ld hl, $5a3f ; todo + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_15a2d + ld hl, $5d05 .asm_15a2d - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - or h - ret z - ld a, $5 - call Func_10aa - ld a, [wStageCollisionState] - ld [$d7f2], a - ret - -INCBIN "baserom.gbc",$15a3f,$15e93 - $15a3f + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + or h + ret z + ld a, $5 + call Func_10aa + ld a, [wStageCollisionState] + ld [$d7f2], a + ret + + dr $15a3f, $15e93 Func_15e93: ; 0x15e93 - ld a, [$d4fb] - and a - jr z, .asm_15eda - xor a - ld [$d4fb], a - ld bc, $34d0 - ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch - ld de, $0005 - call PlaySoundEffect - ld hl, BellsproutAnimationData - ld de, wBellsproutAnimationFrameCounter - call CopyHLToDE - xor a - ld [wBallXVelocity], a - ld [wBallXVelocity + 1], a - ld [wBallYVelocity], a - ld [wBallYVelocity + 1], a - ld [wBallXPos], a - ld [wBallYPos], a - ld a, $7c - ld [wBallXPos + 1], a - ld a, $78 - ld [wBallYPos + 1], a - xor a - ld [$d549], a + ld a, [$d4fb] + and a + jr z, .asm_15eda + xor a + ld [$d4fb], a + ld bc, $34d0 + ld [$ff8a], a + ld a, Bank(Func_8576) + ld hl, Func_8576 + call BankSwitch + ld de, $0005 + call PlaySoundEffect + ld hl, BellsproutAnimationData + ld de, wBellsproutAnimationFrameCounter + call CopyHLToDE + xor a + ld [wBallXVelocity], a + ld [wBallXVelocity + 1], a + ld [wBallYVelocity], a + ld [wBallYVelocity + 1], a + ld [wBallXPos], a + ld [wBallYPos], a + ld a, $7c + ld [wBallXPos + 1], a + ld a, $78 + ld [wBallYPos + 1], a + xor a + ld [$d549], a .asm_15eda - ld hl, BellsproutAnimationData - ld de, wBellsproutAnimationFrameCounter - call UpdateAnimation - push af - ld a, [wBellsproutAnimationFrameCounter] - and a - jr nz, .asm_15ef8 - ld a, $19 - ld [wBellsproutAnimationFrameCounter], a - xor a - ld [wBellsproutAnimationFrame], a - ld a, $6 - ld [wBellsproutAnimationFrameIndex], a + ld hl, BellsproutAnimationData + ld de, wBellsproutAnimationFrameCounter + call UpdateAnimation + push af + ld a, [wBellsproutAnimationFrameCounter] + and a + jr nz, .asm_15ef8 + ld a, $19 + ld [wBellsproutAnimationFrameCounter], a + xor a + ld [wBellsproutAnimationFrame], a + ld a, $6 + ld [wBellsproutAnimationFrameIndex], a .asm_15ef8 - pop af - ret nc - ld a, [wBellsproutAnimationFrameIndex] - cp $1 - jr nz, .asm_15f35 - xor a - ld [$d548], a - ld a, [wRightAlleyCount] - cp $2 - jr c, .noCatchEmMode - ld a, $8 - jr nz, .asm_15f11 - xor a + pop af + ret nc + ld a, [wBellsproutAnimationFrameIndex] + cp $1 + jr nz, .asm_15f35 + xor a + ld [$d548], a + ld a, [wRightAlleyCount] + cp $2 + jr c, .noCatchEmMode + ld a, $8 + jr nz, .asm_15f11 + xor a .asm_15f11 - ld [wRareMonsFlag], a - ld [$ff8a], a - ld a, Bank(StartCatchEmMode) - ld hl, StartCatchEmMode - call BankSwitch + ld [wRareMonsFlag], a + ld [$ff8a], a + ld a, Bank(StartCatchEmMode) + ld hl, StartCatchEmMode + call BankSwitch .noCatchEmMode - ld hl, $d62a - call Func_e4a - ret nc - ld c, $19 - call Func_e55 - ld [$ff8a], a - ld a, Bank(Func_30164) - ld hl, Func_30164 - call z, BankSwitch - ret + ld hl, $d62a + call Func_e4a + ret nc + ld c, $19 + call Func_e55 + ld [$ff8a], a + ld a, Bank(Func_30164) + ld hl, Func_30164 + call z, BankSwitch + ret .asm_15f35 - ld a, [wBellsproutAnimationFrameIndex] - cp $4 - jr nz, .asm_15f42 - ld a, $1 - ld [$d548], a - ret + ld a, [wBellsproutAnimationFrameIndex] + cp $4 + jr nz, .asm_15f42 + ld a, $1 + ld [$d548], a + ret .asm_15f42 - ld a, [wBellsproutAnimationFrameIndex] - cp $5 - ret nz - ld a, $1 - ld [$d549], a - xor a - ld [wBallXVelocity + 1], a - ld a, $2 - ld [wBallYVelocity + 1], a - ld de, $0006 - call PlaySoundEffect - ld a, $5 - ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch - ret + ld a, [wBellsproutAnimationFrameIndex] + cp $5 + ret nz + ld a, $1 + ld [$d549], a + xor a + ld [wBallXVelocity + 1], a + ld a, $2 + ld [wBallYVelocity + 1], a + ld de, $0006 + call PlaySoundEffect + ld a, $5 + ld [$ff8a], a + ld a, Bank(Func_10000) + ld hl, Func_10000 + call BankSwitch + ret BellsproutAnimationData: ; 0x15f69 ; Each entry is [duration][OAM id] - db $08, $01 - db $06, $02 - db $20, $03 - db $06, $02 - db $08, $01 - db $01, $00 - db $29, $00 - db $28, $01 - db $2A, $00 - db $27, $01 - db $29, $00 - db $28, $01 - db $2B, $00 - db $28, $01 - db $00 ; terminator + db $08, $01 + db $06, $02 + db $20, $03 + db $06, $02 + db $08, $01 + db $01, $00 + db $29, $00 + db $28, $01 + db $2A, $00 + db $27, $01 + db $29, $00 + db $28, $01 + db $2B, $00 + db $28, $01 + db $00 ; terminator Func_15f86: ; 0x15f86 - ld a, [$d4d8] - and a - jr z, .asm_15f99 - call Func_5fb8 - call Func_15fa6 - xor a - ld [$d4d8], a - call Func_15fda + ld a, [$d4d8] + and a + jr z, .asm_15f99 + call Func_5fb8 + call Func_15fa6 + xor a + ld [$d4d8], a + call Func_15fda .asm_15f99 - ld a, [$d4da] - and a - ret z - dec a - ld [$d4da], a - call z, Func_5fb8 - ret + ld a, [$d4da] + and a + ret z + dec a + ld [$d4da], a + call z, Func_5fb8 + ret Func_15fa6: ; 0x15fa6 - ld a, $10 - ld [$d4da], a - ld a, [$d4d9] - sub $6 - ld [$d4db], a - sla a - inc a - jr asm_15fc0 + ld a, $10 + ld [$d4da], a + ld a, [$d4d9] + sub $6 + ld [$d4db], a + sla a + inc a + jr asm_15fc0 Func_5fb8: ; 0x5fb8 - ld a, [$d4db] - cp $ff - ret z - sla a + ld a, [$d4db] + cp $ff + ret z + sla a asm_15fc0 - sla a - ld c, a - ld b, $0 - ld hl, $6010 ; todo - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_15fd0 - ld hl, $6080 + sla a + ld c, a + ld b, $0 + ld hl, $6010 ; todo + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_15fd0 + ld hl, $6080 .asm_15fd0 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld a, $5 - call Func_10aa - ret + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld a, $5 + call Func_10aa + ret Func_15fda: ; 0x15fda - ld a, $ff - ld [$d803], a - ld a, $3 - ld [$d804], a - ld hl, $0200 - ld a, l - ld [$d7bc], a - ld a, h - ld [$d7bd], a - ld a, $80 - ld [wFlipperCollision], a - ld a, [$d4d9] - sub $6 - ld c, a - ld b, $0 - ld hl, $600e - add hl, bc - ld a, [$d7ea] - add [hl] - ld [$d7ea], a - ld de, $000b - call PlaySoundEffect - ret - -INCBIN "baserom.gbc",$1600e,$160f0 - $1600e + ld a, $ff + ld [$d803], a + ld a, $3 + ld [$d804], a + ld hl, $0200 + ld a, l + ld [$d7bc], a + ld a, h + ld [$d7bd], a + ld a, $80 + ld [wFlipperCollision], a + ld a, [$d4d9] + sub $6 + ld c, a + ld b, $0 + ld hl, $600e + add hl, bc + ld a, [$d7ea] + add [hl] + ld [$d7ea], a + ld de, $000b + call PlaySoundEffect + ret + + dr $1600e, $160f0 Func_160f0: ; 0x160f0 - ld a, [$d5fe] - and a - jr z, .asm_16137 - xor a - ld [$d5fe], a - ld bc, $34d0 - ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch - ld de, $0021 - call PlaySoundEffect - xor a - ld hl, wBallXVelocity - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [$d549], a - ld [wBallXPos], a - ld [wBallYPos], a - ld a, $11 - ld [wBallXPos + 1], a - ld a, $23 - ld [wBallYPos + 1], a - ld a, $10 - ld [$d600], a - ld a, $5 - ld [$d803], a - ld a, $8 - ld [$d804], a + ld a, [$d5fe] + and a + jr z, .asm_16137 + xor a + ld [$d5fe], a + ld bc, $34d0 + ld [$ff8a], a + ld a, Bank(Func_8576) + ld hl, Func_8576 + call BankSwitch + ld de, $0021 + call PlaySoundEffect + xor a + ld hl, wBallXVelocity + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [$d549], a + ld [wBallXPos], a + ld [wBallYPos], a + ld a, $11 + ld [wBallXPos + 1], a + ld a, $23 + ld [wBallYPos + 1], a + ld a, $10 + ld [$d600], a + ld a, $5 + ld [$d803], a + ld a, $8 + ld [$d804], a .asm_16137 - ld a, [$d600] - and a - ret z - dec a - ld [$d600], a - cp $f - jr nz, .asm_1614f - ld [$ff8a], a - ld a, Bank(LoadMiniBallGfx) - ld hl, LoadMiniBallGfx - call BankSwitch - ret + ld a, [$d600] + and a + ret z + dec a + ld [$d600], a + cp $f + jr nz, .asm_1614f + ld [$ff8a], a + ld a, Bank(LoadMiniBallGfx) + ld hl, LoadMiniBallGfx + call BankSwitch + ret .asm_1614f - cp $c - jr nz, .asm_1615e - ld [$ff8a], a - ld a, Bank(Func_dd62) - ld hl, Func_dd62 - call BankSwitch - ret + cp $c + jr nz, .asm_1615e + ld [$ff8a], a + ld a, Bank(Func_dd62) + ld hl, Func_dd62 + call BankSwitch + ret .asm_1615e - cp $9 - jr nz, .asm_1616d - xor a - ld [$d548], a - ld [wBallSpin], a - ld [wBallRotation], a - ret + cp $9 + jr nz, .asm_1616d + xor a + ld [$d548], a + ld [wBallSpin], a + ld [wBallRotation], a + ret .asm_1616d - cp $6 - jr nz, .asm_1618e - ld [$ff8a], a - ld a, Bank(Func_10ab3) - ld hl, Func_10ab3 - call BankSwitch - ld a, $1 - ld [$d548], a - ld [$d549], a - ld a, $5 - ld [$d803], a - ld a, $8 - ld [$d804], a - ret + cp $6 + jr nz, .asm_1618e + ld [$ff8a], a + ld a, Bank(Func_10ab3) + ld hl, Func_10ab3 + call BankSwitch + ld a, $1 + ld [$d548], a + ld [$d549], a + ld a, $5 + ld [$d803], a + ld a, $8 + ld [$d804], a + ret .asm_1618e - cp $3 - jr nz, .asm_1619d - ld [$ff8a], a - ld a, Bank(LoadMiniBallGfx) - ld hl, LoadMiniBallGfx - call BankSwitch - ret + cp $3 + jr nz, .asm_1619d + ld [$ff8a], a + ld a, Bank(LoadMiniBallGfx) + ld hl, LoadMiniBallGfx + call BankSwitch + ret .asm_1619d - and a - ret nz - ld [$ff8a], a - ld a, Bank(LoadBallGfx) - ld hl, LoadBallGfx - call BankSwitch - ld a, $2 - ld [wBallYVelocity + 1], a - ret + and a + ret nz + ld [$ff8a], a + ld a, Bank(LoadBallGfx) + ld hl, LoadBallGfx + call BankSwitch + ld a, $2 + ld [wBallYVelocity + 1], a + ret Func_161af: ; 0x161af - ld a, [$d604] - and a - ret z - ld a, [wBallYPos + 1] - sub $fe - cp $30 - ret nc - ld c, $0 - ld b, a - ld h, b - ld l, c - srl b - rr c - srl b - rr c - srl h - rr l - add hl, bc - ld a, [wBallXPos + 1] - sub $38 - cp $30 - ret nc - ld c, a - ld b, $0 - sla c - sla c - add hl, bc - jr asm_1620f + ld a, [$d604] + and a + ret z + ld a, [wBallYPos + 1] + sub $fe + cp $30 + ret nc + ld c, $0 + ld b, a + ld h, b + ld l, c + srl b + rr c + srl b + rr c + srl h + rr l + add hl, bc + ld a, [wBallXPos + 1] + sub $38 + cp $30 + ret nc + ld c, a + ld b, $0 + sla c + sla c + add hl, bc + jr asm_1620f Func_161e0: ; 0x161e0 - ld a, [$d604] - and a - ret z - ld a, [wBallYPos + 1] - sub $86 - cp $30 - ret nc - ld c, $0 - ld b, a - ld h, b - ld l, c - srl b - rr c - srl b - rr c - srl h - rr l - add hl, bc - ld a, [wBallXPos + 1] - sub $38 - cp $30 - ret nc - ld c, a - ld b, $0 - sla c - sla c - add hl, bc + ld a, [$d604] + and a + ret z + ld a, [wBallYPos + 1] + sub $86 + cp $30 + ret nc + ld c, $0 + ld b, a + ld h, b + ld l, c + srl b + rr c + srl b + rr c + srl h + rr l + add hl, bc + ld a, [wBallXPos + 1] + sub $38 + cp $30 + ret nc + ld c, a + ld b, $0 + sla c + sla c + add hl, bc asm_1620f: ; 0x1620f - ld bc, $4000 - add hl, bc - ld de, wBallXVelocity - ld a, $3c - call ReadByteFromBank - ld c, a - ld a, [de] - add c - ld [de], a - inc de - inc hl - ld a, $3c - call ReadByteFromBank - ld b, a - ld a, [de] - adc b - ld [de], a - inc de - inc hl - push bc - ld a, $3c - call ReadByteFromBank - ld c, a - ld a, [de] - add c - ld [de], a - inc de - inc hl - ld a, $3c - call ReadByteFromBank - ld b, a - ld a, [de] - adc b - ld [de], a - inc de - inc hl - bit 7, b - jr z, .asm_1624e - ld a, c - cpl - ld c, a - ld a, b - cpl - ld b, a - inc bc + ld bc, $4000 + add hl, bc + ld de, wBallXVelocity + ld a, $3c + call ReadByteFromBank + ld c, a + ld a, [de] + add c + ld [de], a + inc de + inc hl + ld a, $3c + call ReadByteFromBank + ld b, a + ld a, [de] + adc b + ld [de], a + inc de + inc hl + push bc + ld a, $3c + call ReadByteFromBank + ld c, a + ld a, [de] + add c + ld [de], a + inc de + inc hl + ld a, $3c + call ReadByteFromBank + ld b, a + ld a, [de] + adc b + ld [de], a + inc de + inc hl + bit 7, b + jr z, .asm_1624e + ld a, c + cpl + ld c, a + ld a, b + cpl + ld b, a + inc bc .asm_1624e - pop hl - bit 7, h - jr z, .asm_1625a - ld a, l - cpl - ld l, a - ld a, h - cpl - ld h, a - inc hl + pop hl + bit 7, h + jr z, .asm_1625a + ld a, l + cpl + ld l, a + ld a, h + cpl + ld h, a + inc hl .asm_1625a - add hl, bc - sla l - rl h - ld a, h - cp $2 - ret c - ld a, [$d804] - and a - ret nz - ld a, $5 - ld [$d803], a - ld a, $8 - ld [$d804], a - ld de, $0004 - call PlaySoundEffect - ret + add hl, bc + sla l + rl h + ld a, h + cp $2 + ret c + ld a, [$d804] + and a + ret nz + ld a, $5 + ld [$d803], a + ld a, $8 + ld [$d804], a + ld de, $0004 + call PlaySoundEffect + ret Func_16279: ; 0x16279 - ld a, [$d601] - and a - jr z, .asm_162ae - xor a - ld [$d601], a - ld a, [$d604] - and a - ret z - ld a, [$d603] - and a - jr nz, .asm_162ae - xor a - ld hl, wBallXVelocity - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [$d549], a - ld [wBallXPos], a - ld [wBallYPos], a - ld a, $50 - ld [wBallXPos + 1], a - ld a, $16 - ld [wBallYPos + 1], a - ld a, $13 - ld [$d603], a + ld a, [$d601] + and a + jr z, .asm_162ae + xor a + ld [$d601], a + ld a, [$d604] + and a + ret z + ld a, [$d603] + and a + jr nz, .asm_162ae + xor a + ld hl, wBallXVelocity + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [$d549], a + ld [wBallXPos], a + ld [wBallYPos], a + ld a, $50 + ld [wBallXPos + 1], a + ld a, $16 + ld [wBallYPos + 1], a + ld a, $13 + ld [$d603], a .asm_162ae - ld a, [$d603] - and a - ret z - dec a - ld [$d603], a - ld a, $18 - ld [$d606], a - ld a, [$d603] - cp $12 - jr nz, .asm_162d4 - ld de, $0021 - call PlaySoundEffect - ld [$ff8a], a - ld a, Bank(LoadMiniBallGfx) - ld hl, LoadMiniBallGfx - call BankSwitch - ret + ld a, [$d603] + and a + ret z + dec a + ld [$d603], a + ld a, $18 + ld [$d606], a + ld a, [$d603] + cp $12 + jr nz, .asm_162d4 + ld de, $0021 + call PlaySoundEffect + ld [$ff8a], a + ld a, Bank(LoadMiniBallGfx) + ld hl, LoadMiniBallGfx + call BankSwitch + ret .asm_162d4 - cp $f - jr nz, .asm_162e3 - ld [$ff8a], a - ld a, Bank(Func_dd62) - ld hl, Func_dd62 - call BankSwitch - ret + cp $f + jr nz, .asm_162e3 + ld [$ff8a], a + ld a, Bank(Func_dd62) + ld hl, Func_dd62 + call BankSwitch + ret .asm_162e3 - cp $c - jr nz, .asm_162f2 - xor a - ld [$d548], a - ld [wBallSpin], a - ld [wBallRotation], a - ret + cp $c + jr nz, .asm_162f2 + xor a + ld [$d548], a + ld [wBallSpin], a + ld [wBallRotation], a + ret .asm_162f2 - cp $9 - jr nz, .asm_162fa - call Func_16352 - ret + cp $9 + jr nz, .asm_162fa + call Func_16352 + ret .asm_162fa - cp $6 - jr nz, .asm_16317 - xor a - ld [$d604], a - ld a, $5 - ld [$d803], a - ld a, $8 - ld [$d804], a - ld [$ff8a], a - ld a, Bank(LoadMiniBallGfx) - ld hl, LoadMiniBallGfx - call BankSwitch - ret + cp $6 + jr nz, .asm_16317 + xor a + ld [$d604], a + ld a, $5 + ld [$d803], a + ld a, $8 + ld [$d804], a + ld [$ff8a], a + ld a, Bank(LoadMiniBallGfx) + ld hl, LoadMiniBallGfx + call BankSwitch + ret .asm_16317 - cp $3 - jr nz, .asm_16330 - ld [$ff8a], a - ld a, Bank(LoadBallGfx) - ld hl, LoadBallGfx - call BankSwitch - ld a, $2 - ld [wBallYVelocity + 1], a - ld a, $80 - ld [wBallXVelocity], a - ret + cp $3 + jr nz, .asm_16330 + ld [$ff8a], a + ld a, Bank(LoadBallGfx) + ld hl, LoadBallGfx + call BankSwitch + ld a, $2 + ld [wBallYVelocity + 1], a + ld a, $80 + ld [wBallXVelocity], a + ret .asm_16330 - and a - ret nz - call Func_16425 - ld a, [$d622] - cp $1 - ret nz - call GenRandom - and $8 - ld [wRareMonsFlag], a - ld [$ff8a], a - ld a, Bank(StartCatchEmMode) - ld hl, StartCatchEmMode - call BankSwitch - xor a - ld [$d622], a - ret + and a + ret nz + call Func_16425 + ld a, [$d622] + cp $1 + ret nz + call GenRandom + and $8 + ld [wRareMonsFlag], a + ld [$ff8a], a + ld a, Bank(StartCatchEmMode) + ld hl, StartCatchEmMode + call BankSwitch + xor a + ld [$d622], a + ret Func_16352: ; 0x16352 - xor a - ld [wIndicatorStates + 4], a - ld a, $d - ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch - jr nc, .asm_1636d - ld a, $1 - ld [$d548], a - ld [$d549], a - ret + xor a + ld [wIndicatorStates + 4], a + ld a, $d + ld [$ff8a], a + ld a, Bank(Func_10000) + ld hl, Func_10000 + call BankSwitch + jr nc, .asm_1636d + ld a, $1 + ld [$d548], a + ld [$d549], a + ret .asm_1636d - ld a, [$d624] - cp $3 - jr nz, .asm_163b3 - ld a, [$d607] - and a - jr nz, .asm_163b3 + ld a, [$d624] + cp $3 + jr nz, .asm_163b3 + ld a, [$d607] + and a + jr nz, .asm_163b3 .asm_1637a - ld a, [$d623] - and a - jr nz, .asm_16389 - xor a - ld [$d625], a - ld a, $40 - ld [$d626], a + ld a, [$d623] + and a + jr nz, .asm_16389 + xor a + ld [$d625], a + ld a, $40 + ld [$d626], a .asm_16389 - xor a - ld [$d623], a - ld a, $1 - ld [$d495], a - ld [$d4ae], a - ld a, [$d498] - ld c, a - ld b, $0 - ld hl, $6420 - add hl, bc - ld a, [hl] - ld [$d497], a - call Func_163f2 - xor a - ld [$d609], a - ld [$d622], a - ld a, $1e - ld [$d607], a - ret + xor a + ld [$d623], a + ld a, $1 + ld [$d495], a + ld [$d4ae], a + ld a, [$d498] + ld c, a + ld b, $0 + ld hl, $6420 + add hl, bc + ld a, [hl] + ld [$d497], a + call Func_163f2 + xor a + ld [$d609], a + ld [$d622], a + ld a, $1e + ld [$d607], a + ret .asm_163b3 - ld [$ff8a], a - ld a, Bank(Func_ed8e) - ld hl, Func_ed8e - call BankSwitch - xor a - ld [$d608], a - ld a, [$d61d] - cp $d - jr nc, .asm_1637a - ld a, $1 - ld [$d548], a - ld [$d549], a - ld a, [$d622] - cp $2 - ret nz - ld [$ff8a], a - ld a, Bank(Func_10ab3) - ld hl, Func_10ab3 - call BankSwitch - ld a, [$d7ad] - ld c, a - ld a, [wStageCollisionState] - and $1 - or c - ld [wStageCollisionState], a - xor a - ld [$d622], a - ret + ld [$ff8a], a + ld a, Bank(Func_ed8e) + ld hl, Func_ed8e + call BankSwitch + xor a + ld [$d608], a + ld a, [$d61d] + cp $d + jr nc, .asm_1637a + ld a, $1 + ld [$d548], a + ld [$d549], a + ld a, [$d622] + cp $2 + ret nz + ld [$ff8a], a + ld a, Bank(Func_10ab3) + ld hl, Func_10ab3 + call BankSwitch + ld a, [$d7ad] + ld c, a + ld a, [wStageCollisionState] + and $1 + or c + ld [wStageCollisionState], a + xor a + ld [$d622], a + ret Func_163f2: ; 0x163f2 - call Func_30e8 - call Func_30db - ld hl, $d5dc - ld a, [$d497] - ld de, $2e83 - cp $d - jr z, .asm_1640f - ld de, $2e9e - cp $7 - jr z, .asm_1640f - ld de, $2eb8 + call Func_30e8 + call Func_30db + ld hl, $d5dc + ld a, [$d497] + ld de, $2e83 + cp $d + jr z, .asm_1640f + ld de, $2e9e + cp $7 + jr z, .asm_1640f + ld de, $2eb8 .asm_1640f - call Func_32aa - ld de, $0000 - call PlaySong - rst $10 - ld de, $3c23 - call PlaySoundEffect - ret + call Func_32aa + ld de, $0000 + call PlaySong + rst $10 + ld de, $3c23 + call PlaySoundEffect + ret -INCBIN "baserom.gbc",$16420,$16425 - $16420 + dr $16420, $16425 Func_16425: ; 0x16425 - ld a, [wCurrentStage] - and $1 - sla a - ld c, a - ld a, [$d604] - add c - sla a - ld c, a - ld b, $0 - ld hl, $644d ; todo - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_16441 - ld hl, $64a1 ; todo + ld a, [wCurrentStage] + and $1 + sla a + ld c, a + ld a, [$d604] + add c + sla a + ld c, a + ld b, $0 + ld hl, $644d ; todo + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_16441 + ld hl, $64a1 ; todo .asm_16441 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - or h - ret z - ld a, $5 - call Func_10aa - ret - -INCBIN "baserom.gbc",$1644d,$164e3 - $1644d + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + or h + ret z + ld a, $5 + call Func_10aa + ret + + dr $1644d, $164e3 Func_164e3: ; 0x164e3 - ld a, [$d607] - and a - ret z - dec a - ld [$d607], a - ret nz - ld a, [wInSpecialMode] - and a - ret nz - ld a, [$d609] - and a - jr z, .asm_164ff - ld a, [$d498] - add $15 - jr .asm_16506 + ld a, [$d607] + and a + ret z + dec a + ld [$d607], a + ret nz + ld a, [wInSpecialMode] + and a + ret nz + ld a, [$d609] + and a + jr z, .asm_164ff + ld a, [$d498] + add $15 + jr .asm_16506 .asm_164ff - ld a, [$d608] - and a - ret z - ld a, $1a + ld a, [$d608] + and a + ret z + ld a, $1a .asm_16506 - ld hl, wCurrentStage - bit 0, [hl] - ld [$ff8a], a - ld a, Bank(Func_30256) - ld hl, Func_30256 - call nz, BankSwitch - ld a, [$d604] - and a - ret nz - ld a, $1 - ld [$d604], a - ld a, $80 - ld [wIndicatorStates + 4], a - ld a, [wCurrentStage] - bit 0, a - call nz, Func_16425 - ret + ld hl, wCurrentStage + bit 0, [hl] + ld [$ff8a], a + ld a, Bank(Func_30256) + ld hl, Func_30256 + call nz, BankSwitch + ld a, [$d604] + and a + ret nz + ld a, $1 + ld [$d604], a + ld a, $80 + ld [wIndicatorStates + 4], a + ld a, [wCurrentStage] + bit 0, a + call nz, Func_16425 + ret Func_1652d: ; 0x1652d - ld a, [$d4dc] - and a - ret z - xor a - ld [$d4dc], a - ld a, [$d4de] - and a - jr z, .asm_16566 - xor a - ld [wRightAlleyTrigger], a - ld [wLeftAlleyTrigger], a - ld [wSecondaryLeftAlleyTrigger], a - ld hl, wBallXVelocity - ld [hli], a - ld [hl], a - ld [wBallSpin], a - ld [wBallRotation], a - ld a, $80 - ld [wBallYVelocity], a - ld a, $fa - ld [wBallYVelocity + 1], a - ld a, $1 - ld [$d549], a - ld de, $000a - call PlaySoundEffect + ld a, [$d4dc] + and a + ret z + xor a + ld [$d4dc], a + ld a, [$d4de] + and a + jr z, .asm_16566 + xor a + ld [wRightAlleyTrigger], a + ld [wLeftAlleyTrigger], a + ld [wSecondaryLeftAlleyTrigger], a + ld hl, wBallXVelocity + ld [hli], a + ld [hl], a + ld [wBallSpin], a + ld [wBallRotation], a + ld a, $80 + ld [wBallYVelocity], a + ld a, $fa + ld [wBallYVelocity + 1], a + ld a, $1 + ld [$d549], a + ld de, $000a + call PlaySoundEffect .asm_16566 - ld a, $ff - ld [$d4ec], a - ld a, [$d4de] - and a - ret nz - ld a, [$d4e0] - and a - jr nz, .asm_16582 - call Func_1658f - ld a, $1 - ld [$d4e0], a - ld [$d4de], a - ret + ld a, $ff + ld [$d4ec], a + ld a, [$d4de] + and a + ret nz + ld a, [$d4e0] + and a + jr nz, .asm_16582 + call Func_1658f + ld a, $1 + ld [$d4e0], a + ld [$d4de], a + ret .asm_16582 - ld hl, wKeyConfigBallStart - call IsKeyPressed - ret z - ld a, $1 - ld [$d4de], a - ret + ld hl, wKeyConfigBallStart + call IsKeyPressed + ret z + ld a, $1 + ld [$d4de], a + ret Func_1658f: ; 0x1658f - ld a, [hGameBoyColorFlag] - and a - ld [$ff8a], a - ld a, Bank(Func_f269) - ld hl, Func_f269 - call nz, BankSwitch + ld a, [hGameBoyColorFlag] + and a + ld [$ff8a], a + ld a, Bank(Func_f269) + ld hl, Func_f269 + call nz, BankSwitch .showNextMap - ld a, [wInitialMapSelectionIndex] - inc a - cp $7 ; number of maps to choose from at the start of play - jr c, .gotMapId - xor a ; wrap around to 0 + ld a, [wInitialMapSelectionIndex] + inc a + cp $7 ; number of maps to choose from at the start of play + jr c, .gotMapId + xor a ; wrap around to 0 .gotMapId - ld [wInitialMapSelectionIndex], a - ld c, a - ld b, $0 - ld hl, RedStageInitialMaps - add hl, bc - ld a, [hl] - ld [wCurrentMap], a - push af - ld de, $0048 - call PlaySoundEffect - pop af - add $29 ; map billboard pictures start at the $29th entry in BillboardPicturePointers - ld [$ff8a], a - ld a, Bank(LoadBillboardPicture) - ld hl, LoadBillboardPicture - call BankSwitch - ld b, $20 ; number of frames to delay before the next map is shown + ld [wInitialMapSelectionIndex], a + ld c, a + ld b, $0 + ld hl, RedStageInitialMaps + add hl, bc + ld a, [hl] + ld [wCurrentMap], a + push af + ld de, $0048 + call PlaySoundEffect + pop af + add $29 ; map billboard pictures start at the $29th entry in BillboardPicturePointers + ld [$ff8a], a + ld a, Bank(LoadBillboardPicture) + ld hl, LoadBillboardPicture + call BankSwitch + ld b, $20 ; number of frames to delay before the next map is shown .waitOnCurrentMap - push bc - ld [$ff8a], a - ld a, Bank(Func_eeee) - ld hl, Func_eeee - call BankSwitch - ld hl, wKeyConfigBallStart - call IsKeyPressed - jr nz, .ballStartKeyPressed - pop bc - dec b - jr nz, .waitOnCurrentMap - jr .showNextMap + push bc + ld [$ff8a], a + ld a, Bank(Func_eeee) + ld hl, Func_eeee + call BankSwitch + ld hl, wKeyConfigBallStart + call IsKeyPressed + jr nz, .ballStartKeyPressed + pop bc + dec b + jr nz, .waitOnCurrentMap + jr .showNextMap .ballStartKeyPressed - pop bc - ld [$ff8a], a - ld a, Bank(Func_30253) - ld hl, Func_30253 - call BankSwitch - ld bc, $2cd1 - ld [$ff8a], a - ld a, Bank(Func_3118f) - ld hl, Func_3118f - call BankSwitch - ld a, [wCurrentMap] - ld [$d4e3], a - xor a - ld [$d4e2], a - ret + pop bc + ld [$ff8a], a + ld a, Bank(Func_30253) + ld hl, Func_30253 + call BankSwitch + ld bc, $2cd1 + ld [$ff8a], a + ld a, Bank(Func_3118f) + ld hl, Func_3118f + call BankSwitch + ld a, [wCurrentMap] + ld [$d4e3], a + xor a + ld [$d4e2], a + ret RedStageInitialMaps: ; 0x16605 - db PALLET_TOWN - db VIRIDIAN_FOREST - db PEWTER_CITY - db CERULEAN_CITY - db VERMILION_SEASIDE - db ROCK_MOUNTAIN - db LAVENDER_TOWN + db PALLET_TOWN + db VIRIDIAN_FOREST + db PEWTER_CITY + db CERULEAN_CITY + db VERMILION_SEASIDE + db ROCK_MOUNTAIN + db LAVENDER_TOWN Func_1660c: ; 0x1660c - ld a, [$d515] - and a - jr z, .asm_1667b - xor a - ld [$d515], a - ld a, [$d51c] - and a - jr nz, .asm_1667b - ld a, [$d51d] - and a - jr nz, .asm_16634 - ld a, [$d516] - sub $1c - ld hl, $d518 - cp [hl] - jr nz, .asm_1667b - ld a, [$d517] - cp $f - jr nz, .asm_16667 + ld a, [$d515] + and a + jr z, .asm_1667b + xor a + ld [$d515], a + ld a, [$d51c] + and a + jr nz, .asm_1667b + ld a, [$d51d] + and a + jr nz, .asm_16634 + ld a, [$d516] + sub $1c + ld hl, $d518 + cp [hl] + jr nz, .asm_1667b + ld a, [$d517] + cp $f + jr nz, .asm_16667 .asm_16634 - ld hl, PikachuSaverAnimationDataBlueStage - ld de, wPikachuSaverAnimationFrameCounter - call CopyHLToDE - ld a, [$d51d] - and a - jr nz, .asm_16647 - xor a - ld [$d517], a + ld hl, PikachuSaverAnimationDataBlueStage + ld de, wPikachuSaverAnimationFrameCounter + call CopyHLToDE + ld a, [$d51d] + and a + jr nz, .asm_16647 + xor a + ld [$d517], a .asm_16647 - ld a, $1 - ld [$d51c], a - xor a - ld [wBallXVelocity], a - ld [wBallXVelocity + 1], a - ld [wBallYVelocity], a - ld [wBallYVelocity + 1], a - ld [wBallSpin], a - ld [wBallRotation], a - ld [$d549], a - call Func_30e8 - jr .asm_1667b + ld a, $1 + ld [$d51c], a + xor a + ld [wBallXVelocity], a + ld [wBallXVelocity + 1], a + ld [wBallYVelocity], a + ld [wBallYVelocity + 1], a + ld [wBallSpin], a + ld [wBallRotation], a + ld [$d549], a + call Func_30e8 + jr .asm_1667b .asm_16667 - ld hl, PikachuSaverAnimation2DataBlueStage - ld de, wPikachuSaverAnimationFrameCounter - call CopyHLToDE - ld a, $2 - ld [$d51c], a - ld de, $003b - call PlaySoundEffect + ld hl, PikachuSaverAnimation2DataBlueStage + ld de, wPikachuSaverAnimationFrameCounter + call CopyHLToDE + ld a, $2 + ld [$d51c], a + ld de, $003b + call PlaySoundEffect .asm_1667b - ld a, [$d51c] - and a - call z, Func_16766 - call Func_1669e - ld a, [$d517] - cp $f - ret nz - ld a, [$d51e] - and a - ret z - dec a - ld [$d51e], a - cp $5a - ret nz - ld de, $0f22 - call PlaySoundEffect - ret + ld a, [$d51c] + and a + call z, Func_16766 + call Func_1669e + ld a, [$d517] + cp $f + ret nz + ld a, [$d51e] + and a + ret z + dec a + ld [$d51e], a + cp $5a + ret nz + ld de, $0f22 + call PlaySoundEffect + ret Func_1669e: ; 0x1669e - ld a, [$d51c] - cp $1 - jr nz, .asm_16719 - ld hl, PikachuSaverAnimationDataBlueStage - ld de, wPikachuSaverAnimationFrameCounter - call UpdateAnimation - ret nc - ld a, [wPikachuSaverAnimationFrameIndex] - cp $1 - jr nz, .asm_166f7 - xor a - ld [$d85d], a - call Func_310a - rst $10 - ld a, $1 - ld [$ff8a], a - ld a, Bank(PlayPikachuSoundClip) - ld hl, PlayPikachuSoundClip - call BankSwitch - ld a, $1 - ld [$d85d], a - ld a, $ff - ld [$d803], a - ld a, $60 - ld [$d804], a - ld hl, $d62e - call Func_e4a - jr nc, .asm_166f0 - ld c, $a - call Func_e55 - ld [$ff8a], a - ld a, Bank(Func_30164) - ld hl, Func_30164 - call z, BankSwitch + ld a, [$d51c] + cp $1 + jr nz, .asm_16719 + ld hl, PikachuSaverAnimationDataBlueStage + ld de, wPikachuSaverAnimationFrameCounter + call UpdateAnimation + ret nc + ld a, [wPikachuSaverAnimationFrameIndex] + cp $1 + jr nz, .asm_166f7 + xor a + ld [$d85d], a + call Func_310a + rst $10 + ld a, $1 + ld [$ff8a], a + ld a, Bank(PlayPikachuSoundClip) + ld hl, PlayPikachuSoundClip + call BankSwitch + ld a, $1 + ld [$d85d], a + ld a, $ff + ld [$d803], a + ld a, $60 + ld [$d804], a + ld hl, $d62e + call Func_e4a + jr nc, .asm_166f0 + ld c, $a + call Func_e55 + ld [$ff8a], a + ld a, Bank(Func_30164) + ld hl, Func_30164 + call z, BankSwitch .asm_166f0 - ld de, $1610 - call PlaySoundEffect - ret + ld de, $1610 + call PlaySoundEffect + ret .asm_166f7 - ld a, [wPikachuSaverAnimationFrameIndex] - cp $11 - ret nz - ld a, $fc - ld [wBallYVelocity + 1], a - ld a, $1 - ld [$d549], a - ld bc, $34ca - ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch - xor a - ld [$d51c], a - ret + ld a, [wPikachuSaverAnimationFrameIndex] + cp $11 + ret nz + ld a, $fc + ld [wBallYVelocity + 1], a + ld a, $1 + ld [$d549], a + ld bc, $34ca + ld [$ff8a], a + ld a, Bank(Func_8576) + ld hl, Func_8576 + call BankSwitch + xor a + ld [$d51c], a + ret .asm_16719 - cp $2 - jr nz, .asm_16732 - ld hl, PikachuSaverAnimation2DataBlueStage - ld de, wPikachuSaverAnimationFrameCounter - call UpdateAnimation - ret nc - ld a, [wPikachuSaverAnimationFrameIndex] - cp $1 - ret nz - xor a - ld [$d51c], a - ret + cp $2 + jr nz, .asm_16732 + ld hl, PikachuSaverAnimation2DataBlueStage + ld de, wPikachuSaverAnimationFrameCounter + call UpdateAnimation + ret nc + ld a, [wPikachuSaverAnimationFrameIndex] + cp $1 + ret nz + xor a + ld [$d51c], a + ret .asm_16732 - ld a, [$ffb3] - swap a - and $1 - ld [wPikachuSaverAnimationFrame], a - ret + ld a, [$ffb3] + swap a + and $1 + ld [wPikachuSaverAnimationFrame], a + ret PikachuSaverAnimationDataBlueStage: ; 0x1673c ; Each entry is [duration][OAM id] - db $0C, $02 - db $05, $03 - db $05, $02 - db $05, $04 - db $05, $05 - db $05, $02 - db $06, $06 - db $06, $07 - db $06, $08 - db $06, $02 - db $06, $05 - db $06, $08 - db $06, $07 - db $06, $02 - db $06, $08 - db $06, $07 - db $06, $02 - db $01, $00 - db $00 + db $0C, $02 + db $05, $03 + db $05, $02 + db $05, $04 + db $05, $05 + db $05, $02 + db $06, $06 + db $06, $07 + db $06, $08 + db $06, $02 + db $06, $05 + db $06, $08 + db $06, $07 + db $06, $02 + db $06, $08 + db $06, $07 + db $06, $02 + db $01, $00 + db $00 PikachuSaverAnimation2DataBlueStage: ; 0x16761 ; Each entry is [duration][OAM id] - db $0C, $02 - db $01, $00 - db $00 + db $0C, $02 + db $01, $00 + db $00 Func_16766: ; 0x16766 - ld hl, wKeyConfigLeftFlipper - call IsKeyPressed2 - jr z, .asm_16774 - ld hl, $d518 - ld [hl], $0 - ret + ld hl, wKeyConfigLeftFlipper + call IsKeyPressed2 + jr z, .asm_16774 + ld hl, $d518 + ld [hl], $0 + ret .asm_16774 - ld hl, wKeyConfigRightFlipper - call IsKeyPressed2 - ret z - ld hl, $d518 - ld [hl], $1 - ret + ld hl, wKeyConfigRightFlipper + call IsKeyPressed2 + ret z + ld hl, $d518 + ld [hl], $1 + ret Func_16781: ; 0x16781 - ld a, [$d500] - and a - jr z, .asm_167bd - xor a - ld [$d500], a - ld a, [$d503] - and a - jr nz, .asm_167c2 - ld bc, $34ca - ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch - ld a, [$d502] - xor $1 - set 1, a - ld [$d502], a - ld a, $14 - ld [$d503], a - call Func_16859 - ld a, $6 - ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch - ret + ld a, [$d500] + and a + jr z, .asm_167bd + xor a + ld [$d500], a + ld a, [$d503] + and a + jr nz, .asm_167c2 + ld bc, $34ca + ld [$ff8a], a + ld a, Bank(Func_8576) + ld hl, Func_8576 + call BankSwitch + ld a, [$d502] + xor $1 + set 1, a + ld [$d502], a + ld a, $14 + ld [$d503], a + call Func_16859 + ld a, $6 + ld [$ff8a], a + ld a, Bank(Func_10000) + ld hl, Func_10000 + call BankSwitch + ret .asm_167bd - ld a, [$d503] - and a - ret z + ld a, [$d503] + and a + ret z .asm_167c2 - dec a - ld [$d503], a - ret nz - ld a, [$d502] - res 1, a - ld [$d502], a - call Func_16859 - ld a, [$d502] - and $1 - ld c, a - ld a, [wStageCollisionState] - and $fe - or c - ld [wStageCollisionState], a - ld [$ff8a], a - ld a, Bank(LoadStageCollisionAttributes) - ld hl, LoadStageCollisionAttributes - call BankSwitch - call Func_159f4 - ld de, $0007 - call PlaySoundEffect - ld a, [wStageCollisionState] - bit 0, a - jp nz, Func_15450 - jp Func_15499 + dec a + ld [$d503], a + ret nz + ld a, [$d502] + res 1, a + ld [$d502], a + call Func_16859 + ld a, [$d502] + and $1 + ld c, a + ld a, [wStageCollisionState] + and $fe + or c + ld [wStageCollisionState], a + ld [$ff8a], a + ld a, Bank(LoadStageCollisionAttributes) + ld hl, LoadStageCollisionAttributes + call BankSwitch + call Func_159f4 + ld de, $0007 + call PlaySoundEffect + ld a, [wStageCollisionState] + bit 0, a + jp nz, Func_15450 + jp Func_15499 Func_167ff: ; 0x167ff - ld a, [$d500] - and a - jr z, .asm_16839 - xor a - ld [$d500], a - ld a, [$d503] - and a - jr nz, .asm_1683e - ld bc, $34ca - ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch - ld a, [$d502] - xor $1 - ld [$d502], a - ld a, $14 - ld [$d503], a - call Func_16878 - ld a, $6 - ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch - ret + ld a, [$d500] + and a + jr z, .asm_16839 + xor a + ld [$d500], a + ld a, [$d503] + and a + jr nz, .asm_1683e + ld bc, $34ca + ld [$ff8a], a + ld a, Bank(Func_8576) + ld hl, Func_8576 + call BankSwitch + ld a, [$d502] + xor $1 + ld [$d502], a + ld a, $14 + ld [$d503], a + call Func_16878 + ld a, $6 + ld [$ff8a], a + ld a, Bank(Func_10000) + ld hl, Func_10000 + call BankSwitch + ret .asm_16839 - ld a, [$d503] - and a - ret z + ld a, [$d503] + and a + ret z .asm_1683e - dec a - ld [$d503], a - ret nz - ld a, [$d502] - and $1 - ld c, a - ld a, [wStageCollisionState] - and $fe - or c - ld [wStageCollisionState], a - ld de, $0007 - call PlaySoundEffect - ret + dec a + ld [$d503], a + ret nz + ld a, [$d502] + and $1 + ld c, a + ld a, [wStageCollisionState] + and $fe + or c + ld [wStageCollisionState], a + ld de, $0007 + call PlaySoundEffect + ret Func_16859: ; 0x16859 - ld a, [$d502] - sla a - ld c, a - ld b, $0 - ld hl, $6899 ; todo - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_1686c - ld hl, $6910 ; todo + ld a, [$d502] + sla a + ld c, a + ld b, $0 + ld hl, $6899 ; todo + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_1686c + ld hl, $6910 ; todo .asm_1686c - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - or h - ret z - ld a, $5 - call Func_10aa - ret + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + or h + ret z + ld a, $5 + call Func_10aa + ret Func_16878: ; 0x16878 - ld a, [$d502] - and $1 - sla a - ld c, a - ld b, $0 - ld hl, $695a ; todo - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_1688d - ld hl, $6980 ; todo + ld a, [$d502] + and $1 + sla a + ld c, a + ld b, $0 + ld hl, $695a ; todo + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_1688d + ld hl, $6980 ; todo .asm_1688d - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - or h - ret z - ld a, $5 - call Func_10aa - ret - -INCBIN "baserom.gbc",$16899,$169a6 - $16899 + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + or h + ret z + ld a, $5 + call Func_10aa + ret + + dr $16899, $169a6 Func_169a6: ; 0x169a6 - ld a, [$ffb3] - and $1f - ret nz - ld bc, $0000 + ld a, [$ffb3] + and $1f + ret nz + ld bc, $0000 .asm_169ae - push bc - ld hl, wIndicatorStates - add hl, bc - bit 7, [hl] - jr z, .asm_169c5 - ld a, [hl] - res 7, a - ld hl, $ffb3 - bit 5, [hl] - jr z, .asm_169c2 - inc a + push bc + ld hl, wIndicatorStates + add hl, bc + bit 7, [hl] + jr z, .asm_169c5 + ld a, [hl] + res 7, a + ld hl, $ffb3 + bit 5, [hl] + jr z, .asm_169c2 + inc a .asm_169c2 - call Func_169cd + call Func_169cd .asm_169c5 - pop bc - inc c - ld a, c - cp $5 - jr nz, .asm_169ae - ret + pop bc + inc c + ld a, c + cp $5 + jr nz, .asm_169ae + ret Func_169cd: ; 0x169cd - push af - sla c - ld hl, $69ed - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_169db - ld hl, $6bef + push af + sla c + ld hl, $69ed + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_169db + ld hl, $6bef .asm_169db - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - pop af - sla a - ld c, a - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld a, $5 - call Func_10aa - ret - -INCBIN "baserom.gbc",$169ed,$16d9d - $169ed + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + pop af + sla a + ld c, a + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld a, $5 + call Func_10aa + ret + + dr $169ed, $16d9d Func_16d9d: ; 016d9d - ld a, [$d60a] - and a - jp z, Func_16e51 - xor a - ld [$d60a], a - ld de, $000d - call PlaySoundEffect - ld a, [$d60b] - sub $21 - jr nz, .asm_16ddc - ld a, $9 - ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch - ld a, [$d610] - cp $3 - jr nz, .asm_16e35 - ld a, $1 - ld [$d610], a - ld a, $3 - ld [$d611], a - ld a, [$d60c] - set 7, a - ld [$d60c], a - jr .asm_16e35 + ld a, [$d60a] + and a + jp z, Func_16e51 + xor a + ld [$d60a], a + ld de, $000d + call PlaySoundEffect + ld a, [$d60b] + sub $21 + jr nz, .asm_16ddc + ld a, $9 + ld [$ff8a], a + ld a, Bank(Func_10000) + ld hl, Func_10000 + call BankSwitch + ld a, [$d610] + cp $3 + jr nz, .asm_16e35 + ld a, $1 + ld [$d610], a + ld a, $3 + ld [$d611], a + ld a, [$d60c] + set 7, a + ld [$d60c], a + jr .asm_16e35 .asm_16ddc - ld a, $a - ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch - ld a, [$d611] - cp $3 - jr nz, .asm_16e35 - ld a, $1 - ld [$d610], a - ld a, $1 - ld [$d611], a - ld a, $80 - ld [$d612], a - ld a, [$d60d] - set 7, a - ld [$d60d], a - ld a, [$d482] - inc a - cp $64 - jr c, .asm_16e10 - ld a, $63 + ld a, $a + ld [$ff8a], a + ld a, Bank(Func_10000) + ld hl, Func_10000 + call BankSwitch + ld a, [$d611] + cp $3 + jr nz, .asm_16e35 + ld a, $1 + ld [$d610], a + ld a, $1 + ld [$d611], a + ld a, $80 + ld [$d612], a + ld a, [$d60d] + set 7, a + ld [$d60d], a + ld a, [$d482] + inc a + cp $64 + jr c, .asm_16e10 + ld a, $63 .asm_16e10 - ld [$d482], a - jr nc, .asm_16e24 - ld c, $19 - call Func_e55 - ld [$ff8a], a - ld a, Bank(Func_30164) - ld hl, Func_30164 - call z, BankSwitch + ld [$d482], a + jr nc, .asm_16e24 + ld c, $19 + call Func_e55 + ld [$ff8a], a + ld a, Bank(Func_30164) + ld hl, Func_30164 + call z, BankSwitch .asm_16e24 - ld a, [$d60c] - ld [$d614], a - ld a, [$d60d] - ld [$d615], a - ld a, $1 - ld [$d613], a + ld a, [$d60c] + ld [$d614], a + ld a, [$d60d] + ld [$d615], a + ld a, $1 + ld [$d613], a .asm_16e35 - ld bc, $34ac - ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch - ld a, [$d60c] - call Func_16f28 - ld a, [$d60d] - add $14 - call Func_16f28 - ret + ld bc, $34ac + ld [$ff8a], a + ld a, Bank(Func_8576) + ld hl, Func_8576 + call BankSwitch + ld a, [$d60c] + call Func_16f28 + ld a, [$d60d] + add $14 + call Func_16f28 + ret Func_16e51: ; 0x16e51 - call Func_16ef5 - ld a, [$d612] - and a - jr z, .asm_16e8f - dec a - ld [$d612], a - cp $70 - jr nz, .asm_16e6e - ld a, $2 - ld [$d610], a - ld a, $2 - ld [$d611], a - jr .asm_16e8f + call Func_16ef5 + ld a, [$d612] + and a + jr z, .asm_16e8f + dec a + ld [$d612], a + cp $70 + jr nz, .asm_16e6e + ld a, $2 + ld [$d610], a + ld a, $2 + ld [$d611], a + jr .asm_16e8f .asm_16e6e - and a - jr nz, .asm_16e8f - ld a, $3 - ld [$d610], a - xor a - ld [$d611], a - ld a, [$d482] - call Func_16f95 - ld a, [$d60c] - call Func_16f28 - ld a, [$d60d] - add $14 - call Func_16f28 - ret + and a + jr nz, .asm_16e8f + ld a, $3 + ld [$d610], a + xor a + ld [$d611], a + ld a, [$d482] + call Func_16f95 + ld a, [$d60c] + call Func_16f28 + ld a, [$d60d] + add $14 + call Func_16f28 + ret .asm_16e8f - ld a, [$d610] - cp $2 - jr c, .asm_16ec1 - cp $3 - ld a, [$ffb3] - jr c, .asm_16ea0 - srl a - srl a + ld a, [$d610] + cp $2 + jr c, .asm_16ec1 + cp $3 + ld a, [$ffb3] + jr c, .asm_16ea0 + srl a + srl a .asm_16ea0 - ld b, a - and $3 - jr nz, .asm_16ec1 - bit 3, b - jr nz, .asm_16eb6 - ld a, [$d60c] - res 7, a - ld [$d60c], a - call Func_16f28 - jr .asm_16ec1 + ld b, a + and $3 + jr nz, .asm_16ec1 + bit 3, b + jr nz, .asm_16eb6 + ld a, [$d60c] + res 7, a + ld [$d60c], a + call Func_16f28 + jr .asm_16ec1 .asm_16eb6 - ld a, [$d60c] - set 7, a - ld [$d60c], a - call Func_16f28 + ld a, [$d60c] + set 7, a + ld [$d60c], a + call Func_16f28 .asm_16ec1 - ld a, [$d611] - cp $2 - ret c - cp $3 - ld a, [$ffb3] - jr c, .asm_16ed1 - srl a - srl a + ld a, [$d611] + cp $2 + ret c + cp $3 + ld a, [$ffb3] + jr c, .asm_16ed1 + srl a + srl a .asm_16ed1 - ld b, a - and $3 - ret nz - bit 3, b - jr nz, .asm_16ee7 - ld a, [$d60d] - res 7, a - ld [$d60d], a - add $14 - call Func_16f28 - ret + ld b, a + and $3 + ret nz + bit 3, b + jr nz, .asm_16ee7 + ld a, [$d60d] + res 7, a + ld [$d60d], a + add $14 + call Func_16f28 + ret .asm_16ee7 - ld a, [$d60d] - set 7, a - ld [$d60d], a - add $14 - call Func_16f28 - ret + ld a, [$d60d] + set 7, a + ld [$d60d], a + add $14 + call Func_16f28 + ret Func_16ef5: ; 0x16ef5 - ld a, [$d5ca] - and a - ret nz - ld a, [$d613] - and a - ret z - xor a - ld [$d613], a - call Func_30e8 - call Func_30db - ld hl, $d5cc - ld de, $2958 - call Func_32aa - ld hl, $c512 - ld a, [$d614] - and $7f - jr z, .asm_16f1f - add $30 - ld [hli], a + ld a, [$d5ca] + and a + ret nz + ld a, [$d613] + and a + ret z + xor a + ld [$d613], a + call Func_30e8 + call Func_30db + ld hl, $d5cc + ld de, $2958 + call Func_32aa + ld hl, $c512 + ld a, [$d614] + and $7f + jr z, .asm_16f1f + add $30 + ld [hli], a .asm_16f1f - ld a, [$d615] - res 7, a - add $30 - ld [hl], a - ret + ld a, [$d615] + res 7, a + add $30 + ld [hl], a + ret Func_16f28: ; 0x16f28 - push af - ld a, [hGameBoyColorFlag] - and a - jr nz, .asm_16f33 - pop af - call Func_16f38 - ret + push af + ld a, [hGameBoyColorFlag] + and a + jr nz, .asm_16f33 + pop af + call Func_16f38 + ret .asm_16f33 - pop af - call Func_16f7b - ret + pop af + call Func_16f7b + ret Func_16f38: ; 0x16f38 - push af - res 7, a - ld hl, $d60e - cp $14 - jr c, .asm_16f47 - ld hl, $d60f - sub $a + push af + res 7, a + ld hl, $d60e + cp $14 + jr c, .asm_16f47 + ld hl, $d60f + sub $a .asm_16f47 - cp [hl] - jr z, .asm_16f5c - ld [hl], a - ld c, a - ld b, $0 - sla c - ld hl, $6fc8 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld a, $5 - call Func_10aa + cp [hl] + jr z, .asm_16f5c + ld [hl], a + ld c, a + ld b, $0 + sla c + ld hl, $6fc8 + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld a, $5 + call Func_10aa .asm_16f5c - pop af - ld bc, $0000 - bit 7, a - jr z, .asm_16f68 - res 7, a - set 1, c + pop af + ld bc, $0000 + bit 7, a + jr z, .asm_16f68 + res 7, a + set 1, c .asm_16f68 - cp $14 - jr c, .asm_16f6e - set 2, c + cp $14 + jr c, .asm_16f6e + set 2, c .asm_16f6e - ld hl, $71e4 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld a, $5 - call Func_10aa - ret + ld hl, $71e4 + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld a, $5 + call Func_10aa + ret Func_16f7b: ; 0x16f7b - bit 7, a - jr z, .asm_16f83 - res 7, a - add $a + bit 7, a + jr z, .asm_16f83 + res 7, a + add $a .asm_16f83 - ld c, a - ld b, $0 - sla c - ld hl, $7228 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld a, $5 - call Func_10aa - ret + ld c, a + ld b, $0 + sla c + ld hl, $7228 + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld a, $5 + call Func_10aa + ret Func_16f95: ; 0x16f95 - ld a, [$d482] - inc a - cp $64 - jr c, .asm_16f9f - ld a, $63 + ld a, [$d482] + inc a + cp $64 + jr c, .asm_16f9f + ld a, $63 .asm_16f9f - ld b, a - xor a - ld hl, $6fc1 ; todo - ld c, $7 + ld b, a + xor a + ld hl, $6fc1 ; todo + ld c, $7 .asm_16fa6 - bit 0, b - jr z, .asm_16fac - add [hl] - daa + bit 0, b + jr z, .asm_16fac + add [hl] + daa .asm_16fac - srl b - inc hl - dec c - jr nz, .asm_16fa6 - push af - swap a - and $f - ld [$d60c], a - pop af - and $f - ld [$d60d], a - ret - -INCBIN "baserom.gbc",$16fc1,$174d0 - $16fc1 + srl b + inc hl + dec c + jr nz, .asm_16fa6 + push af + swap a + and $f + ld [$d60c], a + pop af + and $f + ld [$d60d], a + ret + + dr $16fc1, $174d0 Func_174d0: ; 0x174d0 - call Func_174ea - ret nc - ; fall through + call Func_174ea + ret nc + ; fall through Func_174d4: ; 0x174d4 - sla a - ld c, a - ld b, $0 - ld hl, $7528 ; todo - add hl, bc - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, $5 - ld de, LoadTileLists - call Func_10c5 - ret + sla a + ld c, a + ld b, $0 + ld hl, $7528 ; todo + add hl, bc + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, $5 + ld de, LoadTileLists + call Func_10c5 + ret Func_174ea: ; 0x174ea - ld a, [$d624] - ld hl, $d625 - cp [hl] - ret z - ld a, [$d626] - dec a - ld [$d626], a - jr nz, .asm_17514 - ld a, [$d625] - ld [$d624], a - cp $3 - jr c, .asm_1750f - ld a, $1 - ld [$d609], a - ld a, $3 - ld [$d607], a + ld a, [$d624] + ld hl, $d625 + cp [hl] + ret z + ld a, [$d626] + dec a + ld [$d626], a + jr nz, .asm_17514 + ld a, [$d625] + ld [$d624], a + cp $3 + jr c, .asm_1750f + ld a, $1 + ld [$d609], a + ld a, $3 + ld [$d607], a .asm_1750f - ld a, [$d624] - scf - ret + ld a, [$d624] + scf + ret .asm_17514 - and $7 - ret nz - ld a, [$d626] - bit 3, a - jr nz, .asm_17523 - ld a, [$d624] - scf - ret + and $7 + ret nz + ld a, [$d626] + bit 3, a + jr nz, .asm_17523 + ld a, [$d624] + scf + ret .asm_17523 - ld a, [$d625] - scf - ret + ld a, [$d625] + scf + ret -INCBIN "baserom.gbc",$17528,$1755c - $17528 + dr $17528, $1755c Func_1755c: ; 0x1755c - ld bc, $7f00 - call Func_175a4 - call Func_17cc4 - call Func_17d34 - call Func_17d59 - call Func_17d7a - call Func_17d92 - call Func_17de1 - call Func_17e81 - call Func_17efb - call Func_17f64 - ret + ld bc, $7f00 + call Func_175a4 + call Func_17cc4 + call Func_17d34 + call Func_17d59 + call Func_17d7a + call Func_17d92 + call Func_17de1 + call Func_17e81 + call Func_17efb + call Func_17f64 + ret Func_1757e: ; 0x1757e - ld bc, $7f00 - call Func_175a4 - call Func_17c67 - call Func_17c96 - call Func_17e08 - ld [$ff8a], a - ld a, Bank(Func_e4a1) - ld hl, Func_e4a1 - call BankSwitch - call Func_17e81 - call Func_17f0f - call Func_17f75 - call Func_17fca - ret + ld bc, $7f00 + call Func_175a4 + call Func_17c67 + call Func_17c96 + call Func_17e08 + ld [$ff8a], a + ld a, Bank(Func_e4a1) + ld hl, Func_e4a1 + call BankSwitch + call Func_17e81 + call Func_17f0f + call Func_17f75 + call Func_17fca + ret Func_175a4: ; 0x175a4 - ld a, [$d57d] - and a - ret z - ld a, [hGameBoyColorFlag] - and a - jr nz, DrawTimer - ld a, [$d580] - and a - ret z - ld a, [$d581] - and a - jr z, .asm_175be - dec a - ld [$d581], a - ret + ld a, [$d57d] + and a + ret z + ld a, [hGameBoyColorFlag] + and a + jr nz, DrawTimer + ld a, [$d580] + and a + ret z + ld a, [$d581] + and a + jr z, .asm_175be + dec a + ld [$d581], a + ret .asm_175be - call Func_1762f - ld hl, $d582 - ld a, [wTimerMinutes] - and $f - call Func_1764f - ld a, [wTimerSeconds] - swap a - and $f - call Func_1764f - ld a, [wTimerSeconds] - and $f - call Func_1764f - ld d, $0 - ld hl, $7615 - add hl, de - ld a, [hli] - call Func_17627 - ld a, [hli] - call Func_17627 - ld a, [hli] - call Func_17627 - ld a, [hli] - call Func_17627 - ret + call Func_1762f + ld hl, $d582 + ld a, [wTimerMinutes] + and $f + call Func_1764f + ld a, [wTimerSeconds] + swap a + and $f + call Func_1764f + ld a, [wTimerSeconds] + and $f + call Func_1764f + ld d, $0 + ld hl, $7615 + add hl, de + ld a, [hli] + call Func_17627 + ld a, [hli] + call Func_17627 + ld a, [hli] + call Func_17627 + ld a, [hli] + call Func_17627 + ret DrawTimer: ; 0x175f5 ; Loads the OAM data for the timer in the top-right corner of the screen. - ld a, [wTimerMinutes] - and $f - call DrawTimerDigit - ld a, $a ; colon - call DrawTimerDigit - ld a, [wTimerSeconds] - swap a - and $f - call DrawTimerDigit ; tens digit of the minutes - ld a, [wTimerSeconds] - and $f - call DrawTimerDigit ; ones digit of the minutes - ret - -INCBIN "baserom.gbc",$17615,$17625 - $17615 + ld a, [wTimerMinutes] + and $f + call DrawTimerDigit + ld a, $a ; colon + call DrawTimerDigit + ld a, [wTimerSeconds] + swap a + and $f + call DrawTimerDigit ; tens digit of the minutes + ld a, [wTimerSeconds] + and $f + call DrawTimerDigit ; ones digit of the minutes + ret + + dr $17615, $17625 DrawTimerDigit: ; 0x17625 - add $b1 ; the timer digits' OAM ids start at $b1 - ; fall through + add $b1 ; the timer digits' OAM ids start at $b1 + ; fall through Func_17627: ; 0x17627 - call LoadOAMData - ld a, b - add $8 - ld b, a - ret + call LoadOAMData + ld a, b + add $8 + ld b, a + ret Func_1762f: ; 0x1762f - ld de, $600c - ld a, [wCurrentStage] - cp $6 - ret nc - ld de, $0000 - bit 0, a - ret z - ld de, $3004 - ld a, [wInSpecialMode] - and a - ret z - ld a, [wSpecialMode] - and a - ret nz - ld de, $3008 - ret + ld de, $600c + ld a, [wCurrentStage] + cp $6 + ret nc + ld de, $0000 + bit 0, a + ret z + ld de, $3004 + ld a, [wInSpecialMode] + and a + ret z + ld a, [wSpecialMode] + and a + ret nz + ld de, $3008 + ret Func_1764f: ; 0x1764f - push bc - push de - cp [hl] - jr z, .asm_1765d - push af - push hl - add d - call Func_17665 - pop hl - pop af - ld [hl], a + push bc + push de + cp [hl] + jr z, .asm_1765d + push af + push hl + add d + call Func_17665 + pop hl + pop af + ld [hl], a .asm_1765d - inc hl - pop de - ld a, d - add $10 - ld d, a - pop bc - ret + inc hl + pop de + ld a, d + add $10 + ld d, a + pop bc + ret Func_17665: ; 0x17665 - ld c, a - ld b, $0 - sla c - rl b - ld hl, $7679 ; todo - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld a, $5 - call Func_10aa - ret - -INCBIN "baserom.gbc",$17679,$17c67 - $17679 + ld c, a + ld b, $0 + sla c + rl b + ld hl, $7679 ; todo + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld a, $5 + call Func_10aa + ret + + dr $17679, $17c67 Func_17c67: ; 0x17c67 - ld a, [$d5f3] - and a - ret z - ld a, $50 - ld hl, hBoardXShift - sub [hl] - ld b, a - ld a, $38 - ld hl, hBoardYShift - sub [hl] - ld c, a - ld a, [wBallCaptureAnimationFrame] - ld e, a - ld d, $0 - ld hl, $7c89 - add hl, de - ld a, [hl] - call LoadOAMData - ret - -INCBIN "baserom.gbc",$17c89,$17c96 - $17c89 + ld a, [$d5f3] + and a + ret z + ld a, $50 + ld hl, hBoardXShift + sub [hl] + ld b, a + ld a, $38 + ld hl, hBoardYShift + sub [hl] + ld c, a + ld a, [wBallCaptureAnimationFrame] + ld e, a + ld d, $0 + ld hl, $7c89 + add hl, de + ld a, [hl] + call LoadOAMData + ret + + dr $17c89, $17c96 Func_17c96: ; 0x17c96 - ld a, [$d5bb] - and a - ret z - ld a, $50 - ld hl, hBoardXShift - sub [hl] - ld b, a - ld a, $3e - ld hl, hBoardYShift - sub [hl] - ld c, a - ld a, [$d5bd] - ld e, a - ld d, $0 - ld hl, $7cb8 - add hl, de - ld a, [hl] - call LoadOAMData - ret - -INCBIN "baserom.gbc",$17cb8,$17cc4 - $17cb8 + ld a, [$d5bb] + and a + ret z + ld a, $50 + ld hl, hBoardXShift + sub [hl] + ld b, a + ld a, $3e + ld hl, hBoardYShift + sub [hl] + ld c, a + ld a, [$d5bd] + ld e, a + ld d, $0 + ld hl, $7cb8 + add hl, de + ld a, [hl] + call LoadOAMData + ret + + dr $17cb8, $17cc4 Func_17cc4: ; 0x17cc4 - ld de, $d4cd - ld hl, $7d15 - call Func_17cdc - ld de, $d4d0 - ld hl, $7d1b - call Func_17cdc - ld de, $d4d3 - ld hl, $7d21 - ; fall through + ld de, $d4cd + ld hl, $7d15 + call Func_17cdc + ld de, $d4d0 + ld hl, $7d1b + call Func_17cdc + ld de, $d4d3 + ld hl, $7d21 + ; fall through Func_17cdc: ; 0x17cdc - push hl - ld hl, $7d27 - call UpdateAnimation - ld h, d - ld l, e - ld a, [hl] - and a - jr nz, .asm_17cf6 - call GenRandom - and $7 - add $1e - ld [hli], a - ld a, $1 - ld [hli], a - xor a - ld [hl], a + push hl + ld hl, $7d27 + call UpdateAnimation + ld h, d + ld l, e + ld a, [hl] + and a + jr nz, .asm_17cf6 + call GenRandom + and $7 + add $1e + ld [hli], a + ld a, $1 + ld [hli], a + xor a + ld [hl], a .asm_17cf6 - pop hl - inc de - ld a, [hBoardXShift] - ld b, a - ld a, [hli] - sub b - ld b, a - ld a, [hBoardYShift] - ld c, a - ld a, [hli] - sub c - ld c, a - ld a, [$d4d7] - sub [hl] - inc hl - jr z, .asm_17d0c - ld a, [de] + pop hl + inc de + ld a, [hBoardXShift] + ld b, a + ld a, [hli] + sub b + ld b, a + ld a, [hBoardYShift] + ld c, a + ld a, [hli] + sub c + ld c, a + ld a, [$d4d7] + sub [hl] + inc hl + jr z, .asm_17d0c + ld a, [de] .asm_17d0c - ld e, a - ld d, $0 - add hl, de - ld a, [hl] - call LoadOAMData - ret + ld e, a + ld d, $0 + add hl, de + ld a, [hl] + call LoadOAMData + ret -INCBIN "baserom.gbc",$17d15,$17d34 - $17d15 + dr $17d15, $17d34 Func_17d34: ; 0x17d34 - ld a, $0 - ld hl, hBoardXShift - sub [hl] - ld b, a - ld a, $10 - ld hl, hBoardYShift - sub [hl] - ld c, a - ld a, [wStageCollisionState] - ld e, a - ld d, $0 - ld hl, $7d51 - add hl, de - ld a, [hl] - call LoadOAMData - ret - -INCBIN "baserom.gbc",$17d51,$17d59 - $17d51 + ld a, $0 + ld hl, hBoardXShift + sub [hl] + ld b, a + ld a, $10 + ld hl, hBoardYShift + sub [hl] + ld c, a + ld a, [wStageCollisionState] + ld e, a + ld d, $0 + ld hl, $7d51 + add hl, de + ld a, [hl] + call LoadOAMData + ret + + dr $17d51, $17d59 Func_17d59: ; 0x17d59 - ld a, $74 - ld hl, hBoardXShift - sub [hl] - ld b, a - ld a, $52 - ld hl, hBoardYShift - sub [hl] - ld c, a - ld a, [wBellsproutAnimationFrame] - ld e, a - ld d, $0 - ld hl, $7d76 - add hl, de - ld a, [hl] - call LoadOAMData - ret - -INCBIN "baserom.gbc",$17d76,$17d7a - $17d76 + ld a, $74 + ld hl, hBoardXShift + sub [hl] + ld b, a + ld a, $52 + ld hl, hBoardYShift + sub [hl] + ld c, a + ld a, [wBellsproutAnimationFrame] + ld e, a + ld d, $0 + ld hl, $7d76 + add hl, de + ld a, [hl] + call LoadOAMData + ret + + dr $17d76, $17d7a Func_17d7a: ; 0x17d7a - ld a, [hGameBoyColorFlag] - and a - ret z - ld a, $67 - ld hl, hBoardXShift - sub [hl] - ld b, a - ld a, $54 - ld hl, hBoardYShift - sub [hl] - ld c, a - ld a, $cc - call LoadOAMData - ret + ld a, [hGameBoyColorFlag] + and a + ret z + ld a, $67 + ld hl, hBoardXShift + sub [hl] + ld b, a + ld a, $54 + ld hl, hBoardYShift + sub [hl] + ld c, a + ld a, $cc + call LoadOAMData + ret Func_17d92: ; 0x17d92 - ld a, [hGameBoyColorFlag] - and a - ret z - ld hl, $7dd0 - ld de, $d504 - call UpdateAnimation - ld a, [$d504] - and a - jr nz, .asm_17db1 - ld a, $13 - ld [$d504], a - xor a - ld [$d505], a - ld [$d506], a + ld a, [hGameBoyColorFlag] + and a + ret z + ld hl, $7dd0 + ld de, $d504 + call UpdateAnimation + ld a, [$d504] + and a + jr nz, .asm_17db1 + ld a, $13 + ld [$d504], a + xor a + ld [$d505], a + ld [$d506], a .asm_17db1 - ld a, $2b - ld hl, hBoardXShift - sub [hl] - ld b, a - ld a, $69 - ld hl, hBoardYShift - sub [hl] - ld c, a - ld a, [$d505] - ld e, a - ld d, $0 - ld hl, $7dce - add hl, de - ld a, [hl] - call LoadOAMData - ret - -INCBIN "baserom.gbc",$17dce,$17de1 - $17dce + ld a, $2b + ld hl, hBoardXShift + sub [hl] + ld b, a + ld a, $69 + ld hl, hBoardYShift + sub [hl] + ld c, a + ld a, [$d505] + ld e, a + ld d, $0 + ld hl, $7dce + add hl, de + ld a, [hl] + call LoadOAMData + ret + + dr $17dce, $17de1 Func_17de1: ; 0x17de1 - ld a, $88 - ld hl, hBoardXShift - sub [hl] - ld b, a - ld a, $5a - ld hl, hBoardYShift - sub [hl] - ld c, a - ld a, [$d50a] - srl a - srl a - ld e, a - ld d, $0 - ld hl, $7e02 - add hl, de - ld a, [hl] - call LoadOAMData - ret - -INCBIN "baserom.gbc",$17e02,$17e08 - $17e02 + ld a, $88 + ld hl, hBoardXShift + sub [hl] + ld b, a + ld a, $5a + ld hl, hBoardYShift + sub [hl] + ld c, a + ld a, [$d50a] + srl a + srl a + ld e, a + ld d, $0 + ld hl, $7e02 + add hl, de + ld a, [hl] + call LoadOAMData + ret + + dr $17e02, $17e08 Func_17e08: ; 0x17e08 - ld a, [hBoardXShift] - ld d, a - ld a, [hBoardYShift] - ld e, a - ld a, [$d51d] - and a - ld a, [$d518] - jr z, .asm_17e33 - ld a, [$d51c] - and a - jr nz, .asm_17e29 - ld a, [$ffb3] - srl a - srl a - srl a - and $1 - jr .asm_17e33 + ld a, [hBoardXShift] + ld d, a + ld a, [hBoardYShift] + ld e, a + ld a, [$d51d] + and a + ld a, [$d518] + jr z, .asm_17e33 + ld a, [$d51c] + and a + jr nz, .asm_17e29 + ld a, [$ffb3] + srl a + srl a + srl a + and $1 + jr .asm_17e33 .asm_17e29 - ld a, [$d4b4] - cp $50 - ld a, $1 - jr nc, .asm_17e33 - xor a + ld a, [$d4b4] + cp $50 + ld a, $1 + jr nc, .asm_17e33 + xor a .asm_17e33 - sla a - ld c, a - ld b, $0 - ld hl, $7e4b - add hl, bc - ld a, [hli] - sub d - ld b, a - ld a, [hli] - sub e - ld c, a - ld a, [wPikachuSaverAnimationFrame] - add $e - call LoadOAMData - ret - -INCBIN "baserom.gbc",$17e4b,$17e81 - $17e4b + sla a + ld c, a + ld b, $0 + ld hl, $7e4b + add hl, bc + ld a, [hli] + sub d + ld b, a + ld a, [hli] + sub e + ld c, a + ld a, [wPikachuSaverAnimationFrame] + add $e + call LoadOAMData + ret + + dr $17e4b, $17e81 Func_17e81: ; 0x17e81 - ld a, [$d548] - and a - ret z - ld hl, wBallSpin - ld a, [wBallRotation] - add [hl] - ld [wBallRotation], a - ld a, [wBallXPos + 1] - inc a - ld hl, hBoardXShift - sub [hl] - ld b, a - ld a, [wBallYPos + 1] - inc a - sub $10 - ld hl, hBoardYShift - sub [hl] - ld c, a - ld a, [wBallRotation] - srl a - srl a - srl a ; divide wBallRotation by 8 because - srl a ; there are 8 frames of the ball spinning - and $7 - add $0 - call LoadOAMData - ld a, [hGameBoyColorFlag] - and a - ret nz - ld a, [hGameBoyColorFlag] - and a - ret nz - ld a, [$fffb] - and a - ret nz - ld a, [$d4c5] - inc a - ld hl, hBoardXShift - sub [hl] - ld b, a - ld a, [$d4c6] - inc a - sub $10 - ld hl, hBoardYShift - sub [hl] - ld c, a - ld a, [$d4c7] - srl a - srl a - srl a - srl a - and $7 - add $0 - call LoadOAMData - ld a, [wBallXPos + 1] - ld [$d4c5], a - ld a, [wBallYPos + 1] - ld [$d4c6], a - ld a, [wBallRotation] - ld [$d4c7], a - ret + ld a, [$d548] + and a + ret z + ld hl, wBallSpin + ld a, [wBallRotation] + add [hl] + ld [wBallRotation], a + ld a, [wBallXPos + 1] + inc a + ld hl, hBoardXShift + sub [hl] + ld b, a + ld a, [wBallYPos + 1] + inc a + sub $10 + ld hl, hBoardYShift + sub [hl] + ld c, a + ld a, [wBallRotation] + srl a + srl a + srl a ; divide wBallRotation by 8 because + srl a ; there are 8 frames of the ball spinning + and $7 + add $0 + call LoadOAMData + ld a, [hGameBoyColorFlag] + and a + ret nz + ld a, [hGameBoyColorFlag] + and a + ret nz + ld a, [$fffb] + and a + ret nz + ld a, [$d4c5] + inc a + ld hl, hBoardXShift + sub [hl] + ld b, a + ld a, [$d4c6] + inc a + sub $10 + ld hl, hBoardYShift + sub [hl] + ld c, a + ld a, [$d4c7] + srl a + srl a + srl a + srl a + and $7 + add $0 + call LoadOAMData + ld a, [wBallXPos + 1] + ld [$d4c5], a + ld a, [wBallYPos + 1] + ld [$d4c6], a + ld a, [wBallRotation] + ld [$d4c7], a + ret Func_17efb: ; 0x17efb - ld a, [$d551] - and a - ret nz - ld a, [$ffb3] - bit 4, a - ret z - ld de, wIndicatorStates + 5 - ld hl, $7f3a - ld b, $6 - jr asm_17f21 + ld a, [$d551] + and a + ret nz + ld a, [$ffb3] + bit 4, a + ret z + ld de, wIndicatorStates + 5 + ld hl, $7f3a + ld b, $6 + jr asm_17f21 Func_17f0f: ; 0x17f0f - ld a, [$d551] - and a - ret nz - ld a, [$ffb3] - bit 4, a - ret z - ld de, wIndicatorStates + 11 - ld hl, $7f4c - ld b, $8 + ld a, [$d551] + and a + ret nz + ld a, [$ffb3] + bit 4, a + ret z + ld de, wIndicatorStates + 11 + ld hl, $7f4c + ld b, $8 asm_17f21: ; 0x17f21 - push bc - ld a, [hBoardXShift] - ld b, a - ld a, [hli] - sub b - ld b, a - ld a, [hBoardYShift] - ld c, a - ld a, [hli] - sub c - ld c, a - ld a, [de] - and a - ld a, [hli] - call nz, LoadOAMData - pop bc - inc de - dec b - jr nz, asm_17f21 - ret - -INCBIN "baserom.gbc",$17f3a,$17f64 - $17f3a + push bc + ld a, [hBoardXShift] + ld b, a + ld a, [hli] + sub b + ld b, a + ld a, [hBoardYShift] + ld c, a + ld a, [hli] + sub c + ld c, a + ld a, [de] + and a + ld a, [hli] + call nz, LoadOAMData + pop bc + inc de + dec b + jr nz, asm_17f21 + ret + + dr $17f3a, $17f64 Func_17f64: ; 0x17f64 - ld a, [$d551] - and a - ret z - ld de, $d566 - ld hl, $7fa6 - ld b, $c - ld c, $39 - jr asm_17f84 + ld a, [$d551] + and a + ret z + ld de, $d566 + ld hl, $7fa6 + ld b, $c + ld c, $39 + jr asm_17f84 Func_17f75: ; 0x17f75 - ld a, [$d551] - and a - ret z - ld de, $d572 - ld hl, $7fbe - ld b, $6 - ld c, $40 + ld a, [$d551] + and a + ret z + ld de, $d572 + ld hl, $7fbe + ld b, $6 + ld c, $40 asm_17f84: ; 0x17f84 - push bc - ld a, [de] - add c - cp c - push af - ld a, [hBoardXShift] - ld b, a - ld a, [hli] - sub b - ld b, a - ld a, [hBoardYShift] - ld c, a - ld a, [hli] - sub c - ld c, a - ld a, [$ffb3] - and $e - jr nz, .asm_17f9c - dec c + push bc + ld a, [de] + add c + cp c + push af + ld a, [hBoardXShift] + ld b, a + ld a, [hli] + sub b + ld b, a + ld a, [hBoardYShift] + ld c, a + ld a, [hli] + sub c + ld c, a + ld a, [$ffb3] + and $e + jr nz, .asm_17f9c + dec c .asm_17f9c - pop af - call nz, LoadOAMData - pop bc - inc de - dec b - jr nz, asm_17f84 - ret + pop af + call nz, LoadOAMData + pop bc + inc de + dec b + jr nz, asm_17f84 + ret -INCBIN "baserom.gbc",$17fa6,$17fca - $17fa6 + dr $17fa6, $17fca Func_17fca: ; 0x17fca - ld a, [$d604] - and a - ret z - ld a, [$d606] - inc a - ld [$d606], a - ld a, $40 - ld hl, hBoardXShift - sub [hl] - ld b, a - ld a, $1 - ld hl, hBoardYShift - sub [hl] - ld c, a - ld a, [$d606] - srl a - srl a - srl a - and $3 - add $4f - cp $52 - call nz, LoadOAMData - ret - -INCBIN "baserom.gbc",$17ff7,$18000 - $17ff7 + ld a, [$d604] + and a + ret z + ld a, [$d606] + inc a + ld [$d606], a + ld a, $40 + ld hl, hBoardXShift + sub [hl] + ld b, a + ld a, $1 + ld hl, hBoardYShift + sub [hl] + ld c, a + ld a, [$d606] + srl a + srl a + srl a + and $3 + add $4f + cp $52 + call nz, LoadOAMData + ret + + dr $17ff7, $18000 SECTION "bank6", ROMX, BANK[$6] Func_18000: ; 0x18000 - ld hl, wc000 - ld bc, $0a00 - call ClearData - ld a, $1 - ld [$ff4f], a - ld hl, $9c00 - ld bc, $0400 - call ClearData - xor a - ld [$ff4f], a - ld hl, $d4cb - ld bc, $032e - call ClearData - xor a - ld hl, $d46f - ld [hld], a - ld [hld], a - ld [hld], a - ld [hld], a - ld [hld], a - ld [hl], a - ld [wNumPartyMons], a - ld [$d49b], a - ld [$d4c9], a - ld a, $1 - ld [$d49d], a - ld a, $3 - ld [$d49e], a - ld [$ff8a], a - ld a, Bank(Func_dbba) - ld hl, Func_dbba - call BankSwitch - ret + ld hl, wc000 + ld bc, $0a00 + call ClearData + ld a, $1 + ld [rVBK], a + ld hl, $9c00 + ld bc, $0400 + call ClearData + xor a + ld [rVBK], a + ld hl, $d4cb + ld bc, $032e + call ClearData + xor a + ld hl, $d46f + ld [hld], a + ld [hld], a + ld [hld], a + ld [hld], a + ld [hld], a + ld [hl], a + ld [wNumPartyMons], a + ld [$d49b], a + ld [$d4c9], a + ld a, $1 + ld [$d49d], a + ld a, $3 + ld [$d49e], a + ld [$ff8a], a + ld a, Bank(Func_dbba) + ld hl, Func_dbba + call BankSwitch + ret Func_1804a: ; 0x1804a - ld a, $0 - ld [wBallXPos], a - ld a, $b0 - ld [wBallXPos + 1], a - ld a, $0 - ld [wBallYPos], a - ld a, $98 - ld [wBallYPos + 1], a - ret + ld a, $0 + ld [wBallXPos], a + ld a, $b0 + ld [wBallXPos + 1], a + ld a, $0 + ld [wBallYPos], a + ld a, $98 + ld [wBallYPos + 1], a + ret Func_1805f: ; 0x1805f - ret + ret Func_18060: ; 0x18060 - ret + ret Func_18061: ; 0x18061 - ret + ret Func_18062: ; 0x18062 - ld [$ff8a], a - ld a, Bank(Func_1448e) - ld hl, Func_1448e - call BankSwitch - ret + ld [$ff8a], a + ld a, Bank(Func_1448e) + ld hl, Func_1448e + call BankSwitch + ret Func_1806d: ; 0x1806d - ret + ret Func_1806e: ; 0x1806e - ld [$ff8a], a - ld a, Bank(Func_1652d) - ld hl, Func_1652d - call BankSwitch - ret + ld [$ff8a], a + ld a, Bank(Func_1652d) + ld hl, Func_1652d + call BankSwitch + ret Func_18079: ; 0x18079 - ld [$ff8a], a - ld a, Bank(Func_17e81) - ld hl, Func_17e81 - call BankSwitch - ret + ld [$ff8a], a + ld a, Bank(Func_17e81) + ld hl, Func_17e81 + call BankSwitch + ret Func_18084: ; 0x18084 - ld [$ff8a], a - ld a, Bank(Func_e4a1) - ld hl, Func_e4a1 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_17e81) - ld hl, Func_17e81 - call BankSwitch - ret + ld [$ff8a], a + ld a, Bank(Func_e4a1) + ld hl, Func_e4a1 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_17e81) + ld hl, Func_17e81 + call BankSwitch + ret InitGengarBonusStage: ; 0x18099 - ld a, [$d7c1] - and a - jr z, .asm_180ac - xor a - ld [$d674], a - ld a, $8 - ld [$d690], a - ld [$d6a1], a - ret + ld a, [$d7c1] + and a + jr z, .asm_180ac + xor a + ld [$d674], a + ld a, $8 + ld [$d690], a + ld [$d6a1], a + ret .asm_180ac - ld a, $1 - ld [$d7ac], a - ld a, [wBallType] - ld [wBallTypeBackup], a - xor a - ld [$d4c8], a - ld [wBallType], a - ld [$d49a], a - ld hl, $4121 ; todo - ld de, $d659 - call Func_18112 - call Func_18112 - call Func_18112 - ld hl, $413c ; todo - ld de, $d67e - call Func_18112 - call Func_18112 - ld hl, $414e ; todo - ld de, $d698 - call Func_18112 - xor a - ld [$d67b], a - ld [$d695], a - ld hl, $d6a2 - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [$d656], a - ld bc, $0130 ; 1 minute 30 seconds - ld [$ff8a], a - ld a, Bank(StartTimer) - ld hl, StartTimer - call BankSwitch - ld a, $f - call SetSongBank - ld de, $0005 - call PlaySong - ret + ld a, $1 + ld [$d7ac], a + ld a, [wBallType] + ld [wBallTypeBackup], a + xor a + ld [$d4c8], a + ld [wBallType], a + ld [$d49a], a + ld hl, $4121 ; todo + ld de, $d659 + call Func_18112 + call Func_18112 + call Func_18112 + ld hl, $413c ; todo + ld de, $d67e + call Func_18112 + call Func_18112 + ld hl, $414e ; todo + ld de, $d698 + call Func_18112 + xor a + ld [$d67b], a + ld [$d695], a + ld hl, $d6a2 + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [$d656], a + ld bc, $0130 ; 1 minute 30 seconds + ld [$ff8a], a + ld a, Bank(StartTimer) + ld hl, StartTimer + call BankSwitch + ld a, $f + call SetSongBank + ld de, $0005 + call PlaySong + ret Func_18112: ; 0x18112 - ld b, $3 + ld b, $3 .asm_18114 - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - dec b - jr nz, .asm_18114 - ret - -INCBIN "baserom.gbc",$18121,$18157 - $18121 + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + dec b + jr nz, .asm_18114 + ret + + dr $18121, $18157 StartBallGengarBonusStage: ; 0x18157 - ld a, $0 - ld [wBallXPos], a - ld a, $a6 - ld [wBallXPos + 1], a - ld a, $0 - ld [wBallYPos], a - ld a, $56 - ld [wBallYPos + 1], a - xor a - ld [$d7ab], a - ld [wStageCollisionState], a - ld [$d653], a - xor a - ld [$d674], a - ld a, $8 - ld [$d690], a - ld [$d6a1], a - ld a, [$d4c9] - and a - ret z - xor a - ld [$d4c9], a - ret + ld a, $0 + ld [wBallXPos], a + ld a, $a6 + ld [wBallXPos + 1], a + ld a, $0 + ld [wBallYPos], a + ld a, $56 + ld [wBallYPos + 1], a + xor a + ld [$d7ab], a + ld [wStageCollisionState], a + ld [$d653], a + xor a + ld [$d674], a + ld a, $8 + ld [$d690], a + ld [$d6a1], a + ld a, [$d4c9] + and a + ret z + xor a + ld [$d4c9], a + ret Func_1818b: ; 0x1818b - ld [$ff8a], a - ld a, Bank(Func_142fc) - ld hl, Func_142fc - call BankSwitch - call Func_2862 - call Func_18d72 - ld a, [$d7c1] - ld [$ff8a], a - ld a, Bank(Func_1404a) - ld hl, Func_1404a - call BankSwitch - and a - ret z - call Func_183db - call Func_18d91 - ret + ld [$ff8a], a + ld a, Bank(Func_142fc) + ld hl, Func_142fc + call BankSwitch + call Func_2862 + call Func_18d72 + ld a, [$d7c1] + ld [$ff8a], a + ld a, Bank(Func_1404a) + ld hl, Func_1404a + call BankSwitch + and a + ret z + call Func_183db + call Func_18d91 + ret Func_181b1: ; 0x181b1 - call Func_181be - call Func_18259 - call Func_182e4 - call Func_18350 - ret + call Func_181be + call Func_18259 + call Func_182e4 + call Func_18350 + ret Func_181be: ; 0x181be - ld a, [$d659] - and a - ret z - ld a, [$d65f] - ld b, a - ld a, [$d661] - add $10 - ld c, a - ld a, [$d65b] - call Func_1820d - ld a, $1 - jr c, .asm_181fe - ld a, [$d668] - ld b, a - ld a, [$d66a] - add $10 - ld c, a - ld a, [$d664] - call Func_1820d - ld a, $2 - jr c, .asm_181fe - ld a, [$d671] - ld b, a - ld a, [$d673] - add $10 - ld c, a - ld a, [$d66d] - call Func_1820d - ld a, $3 - ret nc + ld a, [$d659] + and a + ret z + ld a, [$d65f] + ld b, a + ld a, [$d661] + add $10 + ld c, a + ld a, [$d65b] + call Func_1820d + ld a, $1 + jr c, .asm_181fe + ld a, [$d668] + ld b, a + ld a, [$d66a] + add $10 + ld c, a + ld a, [$d664] + call Func_1820d + ld a, $2 + jr c, .asm_181fe + ld a, [$d671] + ld b, a + ld a, [$d673] + add $10 + ld c, a + ld a, [$d66d] + call Func_1820d + ld a, $3 + ret nc .asm_181fe - ld [$d4eb], a - ld [$d657], a - add $4 - ld [$d4ea], a - ld [$d658], a - ret + ld [$d4eb], a + ld [$d657], a + add $4 + ld [$d4ea], a + ld [$d658], a + ret Func_1820d: ; 0x1820d - cp $4 - jr z, .asm_18257 - ld a, [wBallXPos + 1] - sub b - cp $20 - jr nc, .asm_18257 - ld b, a - ld a, [wBallYPos + 1] - sub c - cp $20 - jr nc, .asm_18257 - ld c, a - ld e, c - ld d, $0 - sla e - rl d - sla e - rl d - sla e - rl d - sla e - rl d - sla e - rl d - ld l, b - ld h, $0 - add hl, de - ld de, $5100 - add hl, de - ld a, $3a - call ReadByteFromBank - bit 7, a - jr nz, .asm_18257 - sla a - ld [$d7ea], a - ld a, $1 - ld [$d7e9], a - scf - ret + cp $4 + jr z, .asm_18257 + ld a, [wBallXPos + 1] + sub b + cp $20 + jr nc, .asm_18257 + ld b, a + ld a, [wBallYPos + 1] + sub c + cp $20 + jr nc, .asm_18257 + ld c, a + ld e, c + ld d, $0 + sla e + rl d + sla e + rl d + sla e + rl d + sla e + rl d + sla e + rl d + ld l, b + ld h, $0 + add hl, de + ld de, $5100 + add hl, de + ld a, $3a + call ReadByteFromBank + bit 7, a + jr nz, .asm_18257 + sla a + ld [$d7ea], a + ld a, $1 + ld [$d7e9], a + scf + ret .asm_18257 - and a - ret + and a + ret Func_18259: ; 0x18259 - ld a, [$d67e] - and a - ret z - ld a, [$d684] - add $fe - ld b, a - ld a, [$d686] - add $c - ld c, a - ld a, [$d680] - call Func_18298 - ld a, $1 - jr c, .asm_18289 - ld a, [$d68d] - add $fe - ld b, a - ld a, [$d68f] - add $c - ld c, a - ld a, [$d689] - call Func_18298 - ld a, $2 - ret nc + ld a, [$d67e] + and a + ret z + ld a, [$d684] + add $fe + ld b, a + ld a, [$d686] + add $c + ld c, a + ld a, [$d680] + call Func_18298 + ld a, $1 + jr c, .asm_18289 + ld a, [$d68d] + add $fe + ld b, a + ld a, [$d68f] + add $c + ld c, a + ld a, [$d689] + call Func_18298 + ld a, $2 + ret nc .asm_18289 - ld [$d4eb], a - ld [$d67c], a - add $7 - ld [$d4ea], a - ld [$d67d], a - ret + ld [$d4eb], a + ld [$d67c], a + add $7 + ld [$d4ea], a + ld [$d67d], a + ret Func_18298: ; 0x18298 - cp $5 - jr z, .asm_182e2 - ld a, [wBallXPos + 1] - sub b - cp $20 - jr nc, .asm_182e2 - ld b, a - ld a, [wBallYPos + 1] - sub c - cp $28 - jr nc, .asm_182e2 - ld c, a - ld e, c - ld d, $0 - sla e - rl d - sla e - rl d - sla e - rl d - sla e - rl d - sla e - rl d - ld l, b - ld h, $0 - add hl, de - ld de, $4c00 - add hl, de - ld a, $3a - call ReadByteFromBank - bit 7, a - jr nz, .asm_182e2 - sla a - ld [$d7ea], a - ld a, $1 - ld [$d7e9], a - scf - ret + cp $5 + jr z, .asm_182e2 + ld a, [wBallXPos + 1] + sub b + cp $20 + jr nc, .asm_182e2 + ld b, a + ld a, [wBallYPos + 1] + sub c + cp $28 + jr nc, .asm_182e2 + ld c, a + ld e, c + ld d, $0 + sla e + rl d + sla e + rl d + sla e + rl d + sla e + rl d + sla e + rl d + ld l, b + ld h, $0 + add hl, de + ld de, $4c00 + add hl, de + ld a, $3a + call ReadByteFromBank + bit 7, a + jr nz, .asm_182e2 + sla a + ld [$d7ea], a + ld a, $1 + ld [$d7e9], a + scf + ret .asm_182e2 - and a - ret + and a + ret Func_182e4: ; 0x182e4 - ld a, [$d698] - and a - ret z - ld a, [$d69e] - ld b, a - ld a, [$d6a0] - add $c - ld c, a - call Func_18308 - ld a, $1 - ret nc - ld [$d4eb], a - ld [$d696], a - add $9 - ld [$d4ea], a - ld [$d697], a - ret + ld a, [$d698] + and a + ret z + ld a, [$d69e] + ld b, a + ld a, [$d6a0] + add $c + ld c, a + call Func_18308 + ld a, $1 + ret nc + ld [$d4eb], a + ld [$d696], a + add $9 + ld [$d4ea], a + ld [$d697], a + ret Func_18308: ; 0x18308 - ld a, [wBallXPos + 1] - sub b - cp $30 - jr nc, .asm_1834e - ld b, a - ld a, [wBallYPos + 1] - sub c - cp $40 - jr nc, .asm_1834e - ld c, a - ld a, c - sla a - add c - ld e, a - ld d, $0 - sla e - rl d - sla e - rl d - sla e - rl d - sla e - rl d - ld l, b - ld h, $0 - add hl, de - ld de, $4000 - add hl, de - ld a, $3a - call ReadByteFromBank - bit 7, a - jr nz, .asm_1834e - sla a - ld [$d7ea], a - ld a, $1 - ld [$d7e9], a - scf - ret + ld a, [wBallXPos + 1] + sub b + cp $30 + jr nc, .asm_1834e + ld b, a + ld a, [wBallYPos + 1] + sub c + cp $40 + jr nc, .asm_1834e + ld c, a + ld a, c + sla a + add c + ld e, a + ld d, $0 + sla e + rl d + sla e + rl d + sla e + rl d + sla e + rl d + ld l, b + ld h, $0 + add hl, de + ld de, $4000 + add hl, de + ld a, $3a + call ReadByteFromBank + bit 7, a + jr nz, .asm_1834e + sla a + ld [$d7ea], a + ld a, $1 + ld [$d7e9], a + scf + ret .asm_1834e - and a - ret + and a + ret Func_18350: ; 0x18350 - ld de, $4368 ; todo - ld hl, $435d ; todo - ld bc, $d654 - and a - jp Func_2775 + ld de, $4368 ; todo + ld hl, $435d ; todo + ld bc, $d654 + and a + jp Func_2775 -INCBIN "baserom.gbc",$1835d,$18377 - $1835d + dr $1835d, $18377 Func_18377: ; 0x18377 - call Func_18464 - call Func_1860b - call Func_187b1 - call Func_18d34 - call Func_183b7 - ld [$ff8a], a - ld a, Bank(Func_107f8) - ld hl, Func_107f8 - call BankSwitch - ld a, [$d57e] - and a - ret z - xor a - ld [$d57e], a - ld a, $1 - ld [$d7be], a - call Func_2862 - ld [$ff8a], a - ld a, Bank(Func_86d2) - ld hl, Func_86d2 - call BankSwitch - ld a, [$d6a2] - cp $5 - ret nc - ld a, $1 - ld [$d6a8], a - ret + call Func_18464 + call Func_1860b + call Func_187b1 + call Func_18d34 + call Func_183b7 + ld [$ff8a], a + ld a, Bank(Func_107f8) + ld hl, Func_107f8 + call BankSwitch + ld a, [$d57e] + and a + ret z + xor a + ld [$d57e], a + ld a, $1 + ld [$d7be], a + call Func_2862 + ld [$ff8a], a + ld a, Bank(Func_86d2) + ld hl, Func_86d2 + call BankSwitch + ld a, [$d6a2] + cp $5 + ret nc + ld a, $1 + ld [$d6a8], a + ret Func_183b7: ; 0x183b7 - ld a, [$d653] - and a - ret nz - ld a, [$d4b4] - cp $8a - ret nc - ld a, $1 - ld [wStageCollisionState], a - ld [$d653], a - ld [$ff8a], a - ld a, Bank(LoadStageCollisionAttributes) - ld hl, LoadStageCollisionAttributes - call BankSwitch - call Func_183db - call Func_18d91 - ret + ld a, [$d653] + and a + ret nz + ld a, [$d4b4] + cp $8a + ret nc + ld a, $1 + ld [wStageCollisionState], a + ld [$d653], a + ld [$ff8a], a + ld a, Bank(LoadStageCollisionAttributes) + ld hl, LoadStageCollisionAttributes + call BankSwitch + call Func_183db + call Func_18d91 + ret Func_183db: ; 0x183db - ld a, [wStageCollisionState] - sla a - ld c, a - ld b, $0 - ld hl, $43f8 - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_183ee - ld hl, $442e + ld a, [wStageCollisionState] + sla a + ld c, a + ld b, $0 + ld hl, $43f8 + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_183ee + ld hl, $442e .asm_183ee - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld a, $6 - call Func_10aa - ret + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld a, $6 + call Func_10aa + ret -INCBIN "baserom.gbc",$183f8,$18464 - $183f8 + dr $183f8, $18464 Func_18464: ; 0x18464 - ld a, [$d659] - and a - ret z - ld a, [$d657] - and a - jr z, .asm_184d5 - xor a - ld [$d657], a - ld a, [$d7be] - and a - jr nz, .asm_184d5 - ld a, [$d658] - sub $5 - ld c, a - sla a - sla a - sla a - add c - ld c, a - ld b, $0 - ld hl, $d65d - add hl, bc - ld d, h - ld e, l - ld a, [de] - and a - jr nz, .asm_184d5 - push de - dec de - dec de - dec de - ld hl, $45e6 - call CopyHLToDE - pop de - ld a, $1 - ld [de], a - ld a, [$d67b] - inc a - ld [$d67b], a - ld bc, $34d6 - ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch - ld a, $33 - ld [$d803], a - ld a, $8 - ld [$d804], a - ld hl, $0100 - ld a, l - ld [$d7bc], a - ld a, h - ld [$d7bd], a - ld a, $80 - ld [wFlipperCollision], a - ld de, $002c - call PlaySoundEffect + ld a, [$d659] + and a + ret z + ld a, [$d657] + and a + jr z, .asm_184d5 + xor a + ld [$d657], a + ld a, [$d7be] + and a + jr nz, .asm_184d5 + ld a, [$d658] + sub $5 + ld c, a + sla a + sla a + sla a + add c + ld c, a + ld b, $0 + ld hl, $d65d + add hl, bc + ld d, h + ld e, l + ld a, [de] + and a + jr nz, .asm_184d5 + push de + dec de + dec de + dec de + ld hl, $45e6 + call CopyHLToDE + pop de + ld a, $1 + ld [de], a + ld a, [$d67b] + inc a + ld [$d67b], a + ld bc, $34d6 + ld [$ff8a], a + ld a, Bank(Func_8588) + ld hl, Func_8588 + call BankSwitch + ld a, $33 + ld [$d803], a + ld a, $8 + ld [$d804], a + ld hl, $0100 + ld a, l + ld [$d7bc], a + ld a, h + ld [$d7bd], a + ld a, $80 + ld [wFlipperCollision], a + ld de, $002c + call PlaySoundEffect .asm_184d5 - ld bc, $0830 - ld de, $d65d - ld hl, $d675 - call Func_1850c - ld bc, $5078 - ld de, $d666 - ld hl, $d677 - call Func_1850c - ld bc, $3050 - ld de, $d66f - ld hl, $d679 - call Func_1850c - ld de, $d65d - call Func_18562 - ld de, $d666 - call Func_18562 - ld de, $d66f - call Func_18562 - ret + ld bc, $0830 + ld de, $d65d + ld hl, $d675 + call Func_1850c + ld bc, $5078 + ld de, $d666 + ld hl, $d677 + call Func_1850c + ld bc, $3050 + ld de, $d66f + ld hl, $d679 + call Func_1850c + ld de, $d65d + call Func_18562 + ld de, $d666 + call Func_18562 + ld de, $d66f + call Func_18562 + ret Func_1850c: ; 0x1850c - ld a, [de] - and a - ret nz - inc de - push hl - ld a, [hli] - push af - push bc - ld a, [hl] - inc a - and $1f - ld [hl], a - ld c, a - ld b, $0 - ld hl, $4542 - add hl, bc - pop bc - pop af - and a - jr nz, .asm_18534 - ld a, [de] - add [hl] - ld [de], a - inc de - ld a, [de] - adc $0 - ld [de], a - pop hl - cp c - ret c - ld a, $1 - ld [hl], a - ret + ld a, [de] + and a + ret nz + inc de + push hl + ld a, [hli] + push af + push bc + ld a, [hl] + inc a + and $1f + ld [hl], a + ld c, a + ld b, $0 + ld hl, $4542 + add hl, bc + pop bc + pop af + and a + jr nz, .asm_18534 + ld a, [de] + add [hl] + ld [de], a + inc de + ld a, [de] + adc $0 + ld [de], a + pop hl + cp c + ret c + ld a, $1 + ld [hl], a + ret .asm_18534 - ld a, [de] - sub [hl] - ld [de], a - inc de - ld a, [de] - sbc $0 - ld [de], a - pop hl - cp b - ret nc - xor a - ld [hl], a - ret - -INCBIN "baserom.gbc",$18542,$18562 - $18542 + ld a, [de] + sub [hl] + ld [de], a + inc de + ld a, [de] + sbc $0 + ld [de], a + pop hl + cp b + ret nc + xor a + ld [hl], a + ret + + dr $18542, $18562 Func_18562: ; 0x18562 - ld a, [de] - sla a - ld c, a - ld b, $0 - ld hl, $45d9 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - push de - dec de - dec de - dec de - call UpdateAnimation - pop de - ret nc - ld a, [de] - dec de - and a - jr nz, .asm_1858a - ld a, [de] - cp $4 - ret nz - ld hl, $45dd - dec de - dec de - call CopyHLToDE - ret + ld a, [de] + sla a + ld c, a + ld b, $0 + ld hl, $45d9 + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + push de + dec de + dec de + dec de + call UpdateAnimation + pop de + ret nc + ld a, [de] + dec de + and a + jr nz, .asm_1858a + ld a, [de] + cp $4 + ret nz + ld hl, $45dd + dec de + dec de + call CopyHLToDE + ret .asm_1858a - cp $1 - ret nz - ld a, [de] - cp $12 - ret nz - ld a, [$d67b] - cp $a - jr nz, .asm_185b1 - ld a, $1 - ld [$d67e], a - ld [$d687], a - xor a - ld [$d659], a - ld [$d662], a - ld [$d66b], a - ld de, $0006 - call PlaySong - ret + cp $1 + ret nz + ld a, [de] + cp $12 + ret nz + ld a, [$d67b] + cp $a + jr nz, .asm_185b1 + ld a, $1 + ld [$d67e], a + ld [$d687], a + xor a + ld [$d659], a + ld [$d662], a + ld [$d66b], a + ld de, $0006 + call PlaySong + ret .asm_185b1 - ld c, a - ld a, [$d65d] - and a - jr nz, .asm_185b9 - inc c + ld c, a + ld a, [$d65d] + and a + jr nz, .asm_185b9 + inc c .asm_185b9 - ld a, [$d666] - and a - jr nz, .asm_185c0 - inc c + ld a, [$d666] + and a + jr nz, .asm_185c0 + inc c .asm_185c0 - ld a, [$d66f] - and a - jr nz, .asm_185c7 - inc c + ld a, [$d66f] + and a + jr nz, .asm_185c7 + inc c .asm_185c7 - ld a, c - cp $a - ret nc - ld hl, $45dd - push de - dec de - dec de - call CopyHLToDE - pop de - inc de - xor a - ld [de], a - ret - -INCBIN "baserom.gbc",$185d9,$1860b - $185d9 + ld a, c + cp $a + ret nc + ld hl, $45dd + push de + dec de + dec de + call CopyHLToDE + pop de + inc de + xor a + ld [de], a + ret + + dr $185d9, $1860b Func_1860b: ; 0x1860b - ld a, [$d67e] - and a - ret z - ld a, [$d67c] - and a - jr z, .asm_1867c - xor a - ld [$d67c], a - ld a, [$d7be] - and a - jr nz, .asm_1867c - ld a, [$d67d] - sub $8 - ld c, a - sla a - sla a - sla a - add c - ld c, a - ld b, $0 - ld hl, $d682 - add hl, bc - ld d, h - ld e, l - ld a, [de] - and a - jr nz, .asm_1867c - push de - dec de - dec de - dec de - ld hl, $478a - call CopyHLToDE - pop de - ld a, $1 - ld [de], a - ld a, [$d695] - inc a - ld [$d695], a - ld bc, $34e2 - ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch - ld a, $33 - ld [$d803], a - ld a, $8 - ld [$d804], a - ld hl, $0100 - ld a, l - ld [$d7bc], a - ld a, h - ld [$d7bd], a - ld a, $80 - ld [wFlipperCollision], a - ld de, $002d - call PlaySoundEffect + ld a, [$d67e] + and a + ret z + ld a, [$d67c] + and a + jr z, .asm_1867c + xor a + ld [$d67c], a + ld a, [$d7be] + and a + jr nz, .asm_1867c + ld a, [$d67d] + sub $8 + ld c, a + sla a + sla a + sla a + add c + ld c, a + ld b, $0 + ld hl, $d682 + add hl, bc + ld d, h + ld e, l + ld a, [de] + and a + jr nz, .asm_1867c + push de + dec de + dec de + dec de + ld hl, $478a + call CopyHLToDE + pop de + ld a, $1 + ld [de], a + ld a, [$d695] + inc a + ld [$d695], a + ld bc, $34e2 + ld [$ff8a], a + ld a, Bank(Func_8588) + ld hl, Func_8588 + call BankSwitch + ld a, $33 + ld [$d803], a + ld a, $8 + ld [$d804], a + ld hl, $0100 + ld a, l + ld [$d7bc], a + ld a, h + ld [$d7bd], a + ld a, $80 + ld [wFlipperCollision], a + ld de, $002d + call PlaySoundEffect .asm_1867c - ld bc, $5078 - ld de, $d682 - ld hl, $d691 - call Func_186a1 - ld bc, $1038 - ld de, $d68b - ld hl, $d693 - call Func_186a1 - ld de, $d682 - call Func_186f7 - ld de, $d68b - call Func_186f7 - ret + ld bc, $5078 + ld de, $d682 + ld hl, $d691 + call Func_186a1 + ld bc, $1038 + ld de, $d68b + ld hl, $d693 + call Func_186a1 + ld de, $d682 + call Func_186f7 + ld de, $d68b + call Func_186f7 + ret Func_186a1: ; 0x186a1 - ld a, [de] - and a - ret nz - inc de - push hl - ld a, [hli] - push af - push bc - ld a, [hl] - inc a - and $1f - ld [hl], a - ld c, a - ld b, $0 - ld hl, $46d7 - add hl, bc - pop bc - pop af - and a - jr nz, .asm_186c9 - ld a, [de] - add [hl] - ld [de], a - inc de - ld a, [de] - adc $0 - ld [de], a - pop hl - cp c - ret c - ld a, $1 - ld [hl], a - ret + ld a, [de] + and a + ret nz + inc de + push hl + ld a, [hli] + push af + push bc + ld a, [hl] + inc a + and $1f + ld [hl], a + ld c, a + ld b, $0 + ld hl, $46d7 + add hl, bc + pop bc + pop af + and a + jr nz, .asm_186c9 + ld a, [de] + add [hl] + ld [de], a + inc de + ld a, [de] + adc $0 + ld [de], a + pop hl + cp c + ret c + ld a, $1 + ld [hl], a + ret .asm_186c9 - ld a, [de] - sub [hl] - ld [de], a - inc de - ld a, [de] - sbc $0 - ld [de], a - pop hl - cp b - ret nc - xor a - ld [hl], a - ret - -INCBIN "baserom.gbc",$186d7,$186f7 - $186d7 + ld a, [de] + sub [hl] + ld [de], a + inc de + ld a, [de] + sbc $0 + ld [de], a + pop hl + cp b + ret nc + xor a + ld [hl], a + ret + + dr $186d7, $186f7 Func_186f7: ; 0x186f7 - ld a, [de] - sla a - ld c, a - ld b, $0 - ld hl, $477d - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - push de - dec de - dec de - dec de - call UpdateAnimation - pop de - ret nc - ld a, [de] - dec de - and a - jr nz, .asm_1871f - ld a, [de] - cp $4 - ret nz - ld hl, $4781 - dec de - dec de - call CopyHLToDE - ret + ld a, [de] + sla a + ld c, a + ld b, $0 + ld hl, $477d + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + push de + dec de + dec de + dec de + call UpdateAnimation + pop de + ret nc + ld a, [de] + dec de + and a + jr nz, .asm_1871f + ld a, [de] + cp $4 + ret nz + ld hl, $4781 + dec de + dec de + call CopyHLToDE + ret .asm_1871f - cp $1 - ret nz - ld a, [de] - cp $12 - jr nz, .asm_18761 - ld a, [$d695] - cp $a - jr nz, .asm_18740 - ld a, $1 - ld [$d656], a - call Func_18d72 - call Func_18d91 - ld de, $0000 - call PlaySong - ret + cp $1 + ret nz + ld a, [de] + cp $12 + jr nz, .asm_18761 + ld a, [$d695] + cp $a + jr nz, .asm_18740 + ld a, $1 + ld [$d656], a + call Func_18d72 + call Func_18d91 + ld de, $0000 + call PlaySong + ret .asm_18740 - ld c, a - ld a, [$d682] - and a - jr nz, .asm_18748 - inc c + ld c, a + ld a, [$d682] + and a + jr nz, .asm_18748 + inc c .asm_18748 - ld a, [$d68b] - and a - jr nz, .asm_1874f - inc c + ld a, [$d68b] + and a + jr nz, .asm_1874f + inc c .asm_1874f - ld a, c - cp $a - ret nc - ld hl, $4781 - push de - dec de - dec de - call CopyHLToDE - pop de - inc de - xor a - ld [de], a - ret + ld a, c + cp $a + ret nc + ld hl, $4781 + push de + dec de + dec de + call CopyHLToDE + pop de + inc de + xor a + ld [de], a + ret .asm_18761 - cp $13 - ret nz - ld a, [$d695] - cp $a - ret nz - ld a, $1 - ld [$d698], a - xor a - ld [$d67e], a - ld [$d687], a - ld de, GENGAR - call PlayCry - ret - -INCBIN "baserom.gbc",$1877d,$187b1 - $1877d + cp $13 + ret nz + ld a, [$d695] + cp $a + ret nz + ld a, $1 + ld [$d698], a + xor a + ld [$d67e], a + ld [$d687], a + ld de, GENGAR + call PlayCry + ret + + dr $1877d, $187b1 Func_187b1: ; 0x187b1 - ld a, [$d698] - and a - ret z - ld a, [$d696] - and a - jp z, .asm_1885d - xor a - ld [$d696], a - ld a, [$d7be] - and a - jp nz, .asm_1885d - ld a, [$d697] - sub $a - ld c, a - sla a - sla a - sla a - add c - ld c, a - ld b, $0 - ld hl, $d69c - add hl, bc - ld d, h - ld e, l - ld a, [de] - and a - jp nz, .asm_1885d - push de - dec de - dec de - dec de - ld a, [$d6a2] - inc a - ld [$d6a2], a - cp $5 - jr nc, .asm_18804 - ld hl, $4b2b - call CopyHLToDE - pop de - ld a, $2 - ld [de], a - ld de, $0037 - call PlaySoundEffect - jr .asm_18826 + ld a, [$d698] + and a + ret z + ld a, [$d696] + and a + jp z, .asm_1885d + xor a + ld [$d696], a + ld a, [$d7be] + and a + jp nz, .asm_1885d + ld a, [$d697] + sub $a + ld c, a + sla a + sla a + sla a + add c + ld c, a + ld b, $0 + ld hl, $d69c + add hl, bc + ld d, h + ld e, l + ld a, [de] + and a + jp nz, .asm_1885d + push de + dec de + dec de + dec de + ld a, [$d6a2] + inc a + ld [$d6a2], a + cp $5 + jr nc, .asm_18804 + ld hl, $4b2b + call CopyHLToDE + pop de + ld a, $2 + ld [de], a + ld de, $0037 + call PlaySoundEffect + jr .asm_18826 .asm_18804 - ld hl, $4b32 - call CopyHLToDE - pop de - ld a, $3 - ld [de], a - ld a, $1 - ld [$d7be], a - call Func_2862 - ld [$ff8a], a - ld a, Bank(Func_86d2) - ld hl, Func_86d2 - call BankSwitch - ld de, $0000 - call PlaySong + ld hl, $4b32 + call CopyHLToDE + pop de + ld a, $3 + ld [de], a + ld a, $1 + ld [$d7be], a + call Func_2862 + ld [$ff8a], a + ld a, Bank(Func_86d2) + ld hl, Func_86d2 + call BankSwitch + ld de, $0000 + call PlaySong .asm_18826 - ld bc, $34ee - ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch - ld a, $33 - ld [$d803], a - ld a, $8 - ld [$d804], a - ld hl, $0200 - ld a, l - ld [$d7bc], a - ld a, h - ld [$d7bd], a - ld a, $80 - ld [wFlipperCollision], a - ld a, [$d69f] - add $0 - ld [$d69f], a - ld a, [$d6a0] - adc $ff - ld [$d6a0], a + ld bc, $34ee + ld [$ff8a], a + ld a, Bank(Func_8588) + ld hl, Func_8588 + call BankSwitch + ld a, $33 + ld [$d803], a + ld a, $8 + ld [$d804], a + ld hl, $0200 + ld a, l + ld [$d7bc], a + ld a, h + ld [$d7bd], a + ld a, $80 + ld [wFlipperCollision], a + ld a, [$d69f] + add $0 + ld [$d69f], a + ld a, [$d6a0] + adc $ff + ld [$d6a0], a .asm_1885d - ld a, [$d69c] - cp $2 - jr nc, .asm_18869 - call Func_18876 - jr .asm_1886c + ld a, [$d69c] + cp $2 + jr nc, .asm_18869 + call Func_18876 + jr .asm_1886c .asm_18869 - call Func_188e1 + call Func_188e1 .asm_1886c - ld de, $d69c - call Func_189af - call Func_1894c - ret + ld de, $d69c + call Func_189af + call Func_1894c + ret Func_18876: ; 0x18876 - ld a, [$d6a3] - cp $1 - jr z, .asm_1889b - cp $2 - jr z, .asm_1889b - ld a, [$d69a] - cp $1 - jr z, .asm_1888c - cp $2 - jr nz, .asm_1889b + ld a, [$d6a3] + cp $1 + jr z, .asm_1889b + cp $2 + jr z, .asm_1889b + ld a, [$d69a] + cp $1 + jr z, .asm_1888c + cp $2 + jr nz, .asm_1889b .asm_1888c - ld a, $1 - ld [$d6a4], a - ld a, $11 - ld [$d803], a - ld a, $8 - ld [$d804], a + ld a, $1 + ld [$d6a4], a + ld a, $11 + ld [$d803], a + ld a, $8 + ld [$d804], a .asm_1889b - ld a, [$d69a] - ld hl, $d6a3 - cp [hl] - ret z - ld a, [$d69c] - and a - jr nz, .asm_188da - ld a, [$d6a0] - add $80 - cp $a0 - jr nc, .asm_188da - ld a, [$d69a] - and a - jr z, .asm_188ca - ld a, [$d69f] - add $0 - ld [$d69f], a - ld a, [$d6a0] - adc $3 - ld [$d6a0], a - jr .asm_188da + ld a, [$d69a] + ld hl, $d6a3 + cp [hl] + ret z + ld a, [$d69c] + and a + jr nz, .asm_188da + ld a, [$d6a0] + add $80 + cp $a0 + jr nc, .asm_188da + ld a, [$d69a] + and a + jr z, .asm_188ca + ld a, [$d69f] + add $0 + ld [$d69f], a + ld a, [$d6a0] + adc $3 + ld [$d6a0], a + jr .asm_188da .asm_188ca - ld a, [$d69f] - add $0 - ld [$d69f], a - ld a, [$d6a0] - adc $1 - ld [$d6a0], a + ld a, [$d69f] + add $0 + ld [$d69f], a + ld a, [$d6a0] + adc $1 + ld [$d6a0], a .asm_188da - ld a, [$d69a] - ld [$d6a3], a - ret + ld a, [$d69a] + ld [$d6a3], a + ret Func_188e1: ; 0x188e1 - ld a, [$d6a3] - cp $1 - jr z, .asm_18901 - cp $2 - jr z, .asm_18901 - ld a, [$d69a] - cp $1 - jr z, .asm_188f7 - cp $2 - jr nz, .asm_18901 + ld a, [$d6a3] + cp $1 + jr z, .asm_18901 + cp $2 + jr z, .asm_18901 + ld a, [$d69a] + cp $1 + jr z, .asm_188f7 + cp $2 + jr nz, .asm_18901 .asm_188f7 - ld a, $1 - ld [$d803], a - ld a, $8 - ld [$d804], a + ld a, $1 + ld [$d803], a + ld a, $8 + ld [$d804], a .asm_18901 - ld a, [$d69a] - cp $6 - ret z - ld a, [$d69a] - ld hl, $d6a3 - cp [hl] - ret z - ld a, [$d69c] - cp $3 - jr nz, .asm_1891d - ld a, [$d69b] - cp $9 - jr c, .asm_18945 + ld a, [$d69a] + cp $6 + ret z + ld a, [$d69a] + ld hl, $d6a3 + cp [hl] + ret z + ld a, [$d69c] + cp $3 + jr nz, .asm_1891d + ld a, [$d69b] + cp $9 + jr c, .asm_18945 .asm_1891d - ld a, [$d69a] - and a - jr z, .asm_18935 - ld a, [$d69f] - add $0 - ld [$d69f], a - ld a, [$d6a0] - adc $fd - ld [$d6a0], a - jr .asm_18945 + ld a, [$d69a] + and a + jr z, .asm_18935 + ld a, [$d69f] + add $0 + ld [$d69f], a + ld a, [$d6a0] + adc $fd + ld [$d6a0], a + jr .asm_18945 .asm_18935 - ld a, [$d69f] - add $0 - ld [$d69f], a - ld a, [$d6a0] - adc $ff - ld [$d6a0], a + ld a, [$d69f] + add $0 + ld [$d69f], a + ld a, [$d6a0] + adc $ff + ld [$d6a0], a .asm_18945 - ld a, [$d69a] - ld [$d6a3], a - ret + ld a, [$d69a] + ld [$d6a3], a + ret Func_1894c: ; 0x1894c - ld a, [$d6a6] - and a - jr nz, .asm_1898f - ld a, [$d6a4] - and a - jr z, .asm_1898f - ld a, [$d6a5] - cp $3 - jr z, .asm_18980 - inc a - ld [$d6a5], a - ld a, [$d548] - ld hl, $d549 - and [hl] - jr z, .asm_18973 - ld a, [$d4b6] - inc a - ld [$d4b6], a + ld a, [$d6a6] + and a + jr nz, .asm_1898f + ld a, [$d6a4] + and a + jr z, .asm_1898f + ld a, [$d6a5] + cp $3 + jr z, .asm_18980 + inc a + ld [$d6a5], a + ld a, [$d548] + ld hl, $d549 + and [hl] + jr z, .asm_18973 + ld a, [$d4b6] + inc a + ld [$d4b6], a .asm_18973 - ld a, [$d7a0] - dec a - ld [$d7a0], a - ld a, $1 - ld [wUpperTiltPushing], a - ret + ld a, [$d7a0] + dec a + ld [$d7a0], a + ld a, $1 + ld [wUpperTiltPushing], a + ret .asm_18980 - ld de, $002b - call PlaySoundEffect - ld a, $1 - ld [$d6a6], a - xor a - ld [$d6a4], a + ld de, $002b + call PlaySoundEffect + ld a, $1 + ld [$d6a6], a + xor a + ld [$d6a4], a .asm_1898f - xor a - ld [wUpperTiltPushing], a - ld a, [$d6a5] - and a - jr z, .asm_189a5 - dec a - ld [$d6a5], a - ld a, [$d7a0] - inc a - ld [$d7a0], a - ret + xor a + ld [wUpperTiltPushing], a + ld a, [$d6a5] + and a + jr z, .asm_189a5 + dec a + ld [$d6a5], a + ld a, [$d7a0] + inc a + ld [$d7a0], a + ret .asm_189a5 - ld a, [$d6a4] - and a - ret nz - xor a - ld [$d6a6], a - ret + ld a, [$d6a4] + and a + ret nz + xor a + ld [$d6a6], a + ret Func_189af: ; 0x189af - ld a, [de] - sla a - ld c, a - ld b, $0 - ld hl, $4a57 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - push de - dec de - dec de - dec de - call UpdateAnimation - pop de - ret nc - ld a, [de] - dec de - and a - jr nz, .asm_189d7 - ld a, [de] - cp $4 - ret nz - ld hl, $4a61 - dec de - dec de - call CopyHLToDE - ret + ld a, [de] + sla a + ld c, a + ld b, $0 + ld hl, $4a57 + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + push de + dec de + dec de + dec de + call UpdateAnimation + pop de + ret nc + ld a, [de] + dec de + and a + jr nz, .asm_189d7 + ld a, [de] + cp $4 + ret nz + ld hl, $4a61 + dec de + dec de + call CopyHLToDE + ret .asm_189d7 - cp $1 - jr nz, .asm_189ed - ld a, [de] - cp $60 - ret nz - ld hl, $4a61 - push de - dec de - dec de - call CopyHLToDE - pop de - inc de - xor a - ld [de], a - ret + cp $1 + jr nz, .asm_189ed + ld a, [de] + cp $60 + ret nz + ld hl, $4a61 + push de + dec de + dec de + call CopyHLToDE + pop de + inc de + xor a + ld [de], a + ret .asm_189ed - cp $2 - jr nz, .asm_18a04 - ld a, [de] - cp $3 - ret nz - ld hl, $4a6a - push de - dec de - dec de - call CopyHLToDE - pop de - inc de - ld a, $1 - ld [de], a - ret + cp $2 + jr nz, .asm_18a04 + ld a, [de] + cp $3 + ret nz + ld hl, $4a6a + push de + dec de + dec de + call CopyHLToDE + pop de + inc de + ld a, $1 + ld [de], a + ret .asm_18a04 - cp $3 - jr nz, .asm_18a3c - ld a, [de] - cp $1 - jr nz, .asm_18a14 - ld de, $002e - call PlaySoundEffect - ret + cp $3 + jr nz, .asm_18a3c + ld a, [de] + cp $1 + jr nz, .asm_18a14 + ld de, $002e + call PlaySoundEffect + ret .asm_18a14 - cp $fe - ret nz - ld a, $1 - ld [$d6a8], a - ld a, $1 - ld [$d498], a - ld a, $1 - ld [$d49a], a - call Func_30e8 - call Func_30db - ld hl, $d5dc - ld de, $2f7b - call Func_32aa - ld de, $4b2a - call PlaySoundEffect - ret + cp $fe + ret nz + ld a, $1 + ld [$d6a8], a + ld a, $1 + ld [$d498], a + ld a, $1 + ld [$d49a], a + call Func_30e8 + call Func_30db + ld hl, $d5dc + ld de, $2f7b + call Func_32aa + ld de, $4b2a + call PlaySoundEffect + ret .asm_18a3c - cp $4 - ret nz - ld a, [de] - cp $2 - ret nz - ld hl, $4a61 - push de - dec de - dec de - call CopyHLToDE - pop de - inc de - xor a - ld [de], a - ld de, $0007 - call PlaySong - ret - -INCBIN "baserom.gbc",$18a57,$18d34 - $18a57 + cp $4 + ret nz + ld a, [de] + cp $2 + ret nz + ld hl, $4a61 + push de + dec de + dec de + call CopyHLToDE + pop de + inc de + xor a + ld [de], a + ld de, $0007 + call PlaySong + ret + + dr $18a57, $18d34 Func_18d34: ; 0x18d34 - ld a, [$d654] - and a - jr z, .asm_18d71 - xor a - ld [$d654], a - ld a, [$d7be] - and a - jr nz, .asm_18d71 - ld bc, $34b2 - ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch - ld a, $ff - ld [$d803], a - ld a, $3 - ld [$d804], a - ld hl, $0100 - ld a, l - ld [$d7bc], a - ld a, h - ld [$d7bd], a - ld a, $80 - ld [wFlipperCollision], a - ld de, $002f - call Func_4d8 + ld a, [$d654] + and a + jr z, .asm_18d71 + xor a + ld [$d654], a + ld a, [$d7be] + and a + jr nz, .asm_18d71 + ld bc, $34b2 + ld [$ff8a], a + ld a, Bank(Func_8588) + ld hl, Func_8588 + call BankSwitch + ld a, $ff + ld [$d803], a + ld a, $3 + ld [$d804], a + ld hl, $0100 + ld a, l + ld [$d7bc], a + ld a, h + ld [$d7bd], a + ld a, $80 + ld [wFlipperCollision], a + ld de, $002f + call Func_4d8 .asm_18d71 - ret + ret Func_18d72: ; 0x18d72 - ld a, [$d656] - sla a - ld c, a - ld b, $0 - ld hl, $4ddb - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_18d85 - ld hl, $4ed1 + ld a, [$d656] + sla a + ld c, a + ld b, $0 + ld hl, $4ddb + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_18d85 + ld hl, $4ed1 .asm_18d85 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - or h - ret z - ld a, $6 - call Func_10aa - ret + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + or h + ret z + ld a, $6 + call Func_10aa + ret Func_18d91: ; 0x18d91 - ld a, [$d656] - and a - ld hl, $4dc9 - jr z, .asm_18d9d - ld hl, $4dd2 + ld a, [$d656] + and a + ld hl, $4dc9 + jr z, .asm_18d9d + ld hl, $4dd2 .asm_18d9d - ld de, $c7c7 - call Func_18db2 - ld de, $c7ae - call Func_18db2 - ld de, $c823 - call Func_18db2 - ld de, $c84d - ; fall through + ld de, $c7c7 + call Func_18db2 + ld de, $c7ae + call Func_18db2 + ld de, $c823 + call Func_18db2 + ld de, $c84d + ; fall through Func_18db2: ; 0x18db2 - push hl - ld b, $3 + push hl + ld b, $3 .asm_18db5 - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - ld a, e - add $1e - ld e, a - jr nc, .asm_18dc4 - inc d + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + ld a, e + add $1e + ld e, a + jr nc, .asm_18dc4 + inc d .asm_18dc4 - dec b - jr nz, .asm_18db5 - pop hl - ret + dec b + jr nz, .asm_18db5 + pop hl + ret -INCBIN "baserom.gbc",$18dc9,$18faf - $18dc9 + dr $18dc9, $18faf Func_18faf: ; 0x18faf - ld bc, $7f00 - ld [$ff8a], a - ld a, Bank(Func_175a4) - ld hl, Func_175a4 - call BankSwitch - call Func_19020 - call Func_190b9 - call Func_19185 - ld [$ff8a], a - ld a, Bank(Func_e4a1) - ld hl, Func_e4a1 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_17e81) - ld hl, Func_17e81 - call BankSwitch - ret - -INCBIN "baserom.gbc",$18fda,$19020 - $18fda + ld bc, $7f00 + ld [$ff8a], a + ld a, Bank(Func_175a4) + ld hl, Func_175a4 + call BankSwitch + call Func_19020 + call Func_190b9 + call Func_19185 + ld [$ff8a], a + ld a, Bank(Func_e4a1) + ld hl, Func_e4a1 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_17e81) + ld hl, Func_17e81 + call BankSwitch + ret + + dr $18fda, $19020 Func_19020: ; 0x19020 - ld de, $d659 - call Func_19033 - ld de, $d662 - call Func_19033 - ld de, $d66b - call Func_19033 - ret + ld de, $d659 + call Func_19033 + ld de, $d662 + call Func_19033 + ld de, $d66b + call Func_19033 + ret Func_19033: ; 0x19033 - ld a, [de] - and a - ret z + ld a, [de] + and a + ret z .asm_19036 - call Func_19070 - jr nc, .asm_19042 - ld a, [$ff40] - bit 7, a - jr z, .asm_19036 - ret + call Func_19070 + jr nc, .asm_19042 + ld a, [rLCDC] + bit 7, a + jr z, .asm_19036 + ret .asm_19042 - inc de - inc de - inc de - inc de - inc de - inc de - ld a, [de] - ld hl, hBoardXShift - sub [hl] - ld b, a - inc de - inc de - ld a, [de] - ld hl, hBoardYShift - sub [hl] - ld c, a - dec de - dec de - dec de - dec de - dec de - dec de - ld a, [de] - ld e, a - ld d, $0 - ld hl, $506b - add hl, de - ld a, [hl] - cp $ff - call nz, LoadOAMData2 - ret - -INCBIN "baserom.gbc",$1906b,$19070 - $1906b + inc de + inc de + inc de + inc de + inc de + inc de + ld a, [de] + ld hl, hBoardXShift + sub [hl] + ld b, a + inc de + inc de + ld a, [de] + ld hl, hBoardYShift + sub [hl] + ld c, a + dec de + dec de + dec de + dec de + dec de + dec de + ld a, [de] + ld e, a + ld d, $0 + ld hl, $506b + add hl, de + ld a, [hl] + cp $ff + call nz, LoadOAMData2 + ret + + dr $1906b, $19070 Func_19070: ; 0x19070 - ld a, [$d674] - and a - ret z - push de - dec a - ld [$d674], a - sla a - sla a - ld c, a - ld b, $0 - ld hl, $50a9 - add hl, bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld h, [hl] - ld l, a - ld a, $22 - ld bc, $0060 - call Func_735 - ld a, $8 - ld [$d690], a - ld [$d6a1], a - xor a - ld [$d67e], a - ld [$d687], a - ld [$d698], a - pop de - scf - ret - -INCBIN "baserom.gbc",$190a9,$190b9 - $190a9 + ld a, [$d674] + and a + ret z + push de + dec a + ld [$d674], a + sla a + sla a + ld c, a + ld b, $0 + ld hl, $50a9 + add hl, bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld h, [hl] + ld l, a + ld a, $22 + ld bc, $0060 + call Func_735 + ld a, $8 + ld [$d690], a + ld [$d6a1], a + xor a + ld [$d67e], a + ld [$d687], a + ld [$d698], a + pop de + scf + ret + + dr $190a9, $190b9 Func_190b9: ; 0x190b9 - ld de, $d67e - call Func_190c6 - ld de, $d687 - call Func_190c6 - ret + ld de, $d67e + call Func_190c6 + ld de, $d687 + call Func_190c6 + ret Func_190c6: ; 0x190c6 - ld a, [de] - and a - ret z + ld a, [de] + and a + ret z .asm_190c9 - call Func_19104 - jr nc, .asm_190d5 - ld a, [$ff40] - bit 7, a - jr z, .asm_190c9 - ret + call Func_19104 + jr nc, .asm_190d5 + ld a, [rLCDC] + bit 7, a + jr z, .asm_190c9 + ret .asm_190d5 - inc de - inc de - inc de - inc de - inc de - inc de - ld a, [de] - ld hl, hBoardXShift - sub [hl] - ld b, a - inc de - inc de - ld a, [de] - ld hl, hBoardYShift - sub [hl] - ld c, a - dec de - dec de - dec de - dec de - dec de - dec de - ld a, [de] - ld e, a - ld d, $0 - ld hl, $50fe - add hl, de - ld a, [hl] - cp $ff - call nz, LoadOAMData2 - ret - -INCBIN "baserom.gbc",$190fe,$19104 - $190fe + inc de + inc de + inc de + inc de + inc de + inc de + ld a, [de] + ld hl, hBoardXShift + sub [hl] + ld b, a + inc de + inc de + ld a, [de] + ld hl, hBoardYShift + sub [hl] + ld c, a + dec de + dec de + dec de + dec de + dec de + dec de + ld a, [de] + ld e, a + ld d, $0 + ld hl, $50fe + add hl, de + ld a, [hl] + cp $ff + call nz, LoadOAMData2 + ret + + dr $190fe, $19104 Func_19104: ; 0x19104 - ld a, [$d690] - and a - ret z - push de - dec a - ld [$d690], a - sla a - sla a - sla a - ld c, a - ld b, $0 - ld hl, $5145 - add hl, bc - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld h, [hl] - ld l, a - ld a, $21 - call Func_735 - ld a, $4 - ld [$d674], a - ld a, $8 - ld [$d6a1], a - xor a - ld [$d659], a - ld [$d662], a - ld [$d66b], a - ld [$d698], a - pop de - scf - ret - -INCBIN "baserom.gbc",$19145,$19185 - $19145 + ld a, [$d690] + and a + ret z + push de + dec a + ld [$d690], a + sla a + sla a + sla a + ld c, a + ld b, $0 + ld hl, $5145 + add hl, bc + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld h, [hl] + ld l, a + ld a, $21 + call Func_735 + ld a, $4 + ld [$d674], a + ld a, $8 + ld [$d6a1], a + xor a + ld [$d659], a + ld [$d662], a + ld [$d66b], a + ld [$d698], a + pop de + scf + ret + + dr $19145, $19185 Func_19185: ; 0x19185 - ld de, $d698 - call Func_1918c - ret + ld de, $d698 + call Func_1918c + ret Func_1918c: ; 0x1918c - ld a, [de] - and a - ret z + ld a, [de] + and a + ret z .asm_1918f - call Func_191cb - jr nc, .asm_1919b - ld a, [$ff40] - bit 7, a - jr z, .asm_1918f - ret + call Func_191cb + jr nc, .asm_1919b + ld a, [rLCDC] + bit 7, a + jr z, .asm_1918f + ret .asm_1919b - inc de - inc de - inc de - inc de - inc de - inc de - ld a, [de] - ld hl, hBoardXShift - sub [hl] - ld b, a - inc de - inc de - ld a, [de] - ld hl, hBoardYShift - sub [hl] - ld c, a - dec de - dec de - dec de - dec de - dec de - dec de - ld a, [de] - ld e, a - ld d, $0 - ld hl, $51c4 - add hl, de - ld a, [hl] - cp $ff - call nz, LoadOAMData2 - ret - -INCBIN "baserom.gbc",$191c4,$191cb - $191c4 + inc de + inc de + inc de + inc de + inc de + inc de + ld a, [de] + ld hl, hBoardXShift + sub [hl] + ld b, a + inc de + inc de + ld a, [de] + ld hl, hBoardYShift + sub [hl] + ld c, a + dec de + dec de + dec de + dec de + dec de + dec de + ld a, [de] + ld e, a + ld d, $0 + ld hl, $51c4 + add hl, de + ld a, [hl] + cp $ff + call nz, LoadOAMData2 + ret + + dr $191c4, $191cb Func_191cb: ; 0x191cb - ld a, [$d6a1] - and a - ret z - push de - dec a - ld [$d6a1], a - sla a - sla a - sla a - ld c, a - ld b, $0 - ld hl, $520f - add hl, bc - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld h, [hl] - ld l, a - ld a, $26 - call Func_735 - ld a, $4 - ld [$d674], a - ld a, $8 - ld [$d690], a - xor a - ld [$d659], a - ld [$d662], a - ld [$d66b], a - ld [$d67e], a - ld [$d687], a - pop de - scf - ret - -INCBIN "baserom.gbc",$1920f,$1924f - $1920f + ld a, [$d6a1] + and a + ret z + push de + dec a + ld [$d6a1], a + sla a + sla a + sla a + ld c, a + ld b, $0 + ld hl, $520f + add hl, bc + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld h, [hl] + ld l, a + ld a, $26 + call Func_735 + ld a, $4 + ld [$d674], a + ld a, $8 + ld [$d690], a + xor a + ld [$d659], a + ld [$d662], a + ld [$d66b], a + ld [$d67e], a + ld [$d687], a + pop de + scf + ret + + dr $1920f, $1924f InitMewtwoBonusStage: ; 0x1924f - ld a, [$d7c1] - and a - ret nz - xor a - ld [wStageCollisionState], a - ld a, $1 - ld [$d7ac], a - ld a, [wBallType] - ld [wBallTypeBackup], a - xor a - ld [$d4c8], a - ld [wBallType], a - ld [$d49a], a - ld hl, $52ab ; todo - ld de, $d6b6 - ld b, $c + ld a, [$d7c1] + and a + ret nz + xor a + ld [wStageCollisionState], a + ld a, $1 + ld [$d7ac], a + ld a, [wBallType] + ld [wBallTypeBackup], a + xor a + ld [$d4c8], a + ld [wBallType], a + ld [$d49a], a + ld hl, $52ab ; todo + ld de, $d6b6 + ld b, $c .asm_19275 - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - dec b - jr nz, .asm_19275 - ld hl, $52db ; todo - ld de, $d6ac - ld b, $8 + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + dec b + jr nz, .asm_19275 + ld hl, $52db ; todo + ld de, $d6ac + ld b, $8 .asm_1928c - ld a, [hli] - ld [de], a - inc de - dec b - jr nz, .asm_1928c - ld bc, $0200 ; 2 minutes 0 seconds - ld [$ff8a], a - ld a, Bank(StartTimer) - ld hl, StartTimer - call BankSwitch - ld a, $12 - call SetSongBank - ld de, $0001 - call PlaySong - ret - -INCBIN "baserom.gbc",$192ab,$192e3 - $192ab + ld a, [hli] + ld [de], a + inc de + dec b + jr nz, .asm_1928c + ld bc, $0200 ; 2 minutes 0 seconds + ld [$ff8a], a + ld a, Bank(StartTimer) + ld hl, StartTimer + call BankSwitch + ld a, $12 + call SetSongBank + ld de, $0001 + call PlaySong + ret + + dr $192ab, $192e3 StartBallMewtwoBonusStage: ; 0x192e3 - ld a, $0 - ld [wBallXPos], a - ld a, $a6 - ld [wBallXPos + 1], a - ld a, $0 - ld [wBallYPos], a - ld a, $56 - ld [wBallYPos + 1], a - ld a, $80 - ld [wBallXVelocity], a - xor a - ld [$d7ab], a - ld [wStageCollisionState], a - ld [$d6a9], a - ld a, [$d4c9] - and a - ret z - xor a - ld [$d4c9], a - ret + ld a, $0 + ld [wBallXPos], a + ld a, $a6 + ld [wBallXPos + 1], a + ld a, $0 + ld [wBallYPos], a + ld a, $56 + ld [wBallYPos + 1], a + ld a, $80 + ld [wBallXVelocity], a + xor a + ld [$d7ab], a + ld [wStageCollisionState], a + ld [$d6a9], a + ld a, [$d4c9] + and a + ret z + xor a + ld [$d4c9], a + ret Func_19310: ; 0x19310 - ld [$ff8a], a - ld a, Bank(Func_142fc) - ld hl, Func_142fc - call BankSwitch - call Func_2862 - ld [$ff8a], a - ld a, Bank(Func_1404a) - ld hl, Func_1404a - call BankSwitch - ld a, [$d7c1] - and a - ret z - call Func_194ac - ret + ld [$ff8a], a + ld a, Bank(Func_142fc) + ld hl, Func_142fc + call BankSwitch + call Func_2862 + ld [$ff8a], a + ld a, Bank(Func_1404a) + ld hl, Func_1404a + call BankSwitch + ld a, [$d7c1] + and a + ret z + call Func_194ac + ret Func_19330: ; 0x19330 - call Func_19414 - call Func_19337 - ret + call Func_19414 + call Func_19337 + ret Func_19337: ; 0x19337 - ld hl, $d6bb - ld bc, $0601 + ld hl, $d6bb + ld bc, $0601 .asm_1933d - push bc - push hl - ld a, [hli] - add $f8 - ld b, a - ld a, [hld] - add $8 - ld c, a - dec hl - dec hl - dec hl - ld a, [hl] - dec hl - dec hl - bit 0, [hl] - call nz, Func_1936f - pop hl - pop bc - ld a, c - jr c, .asm_19360 - ld de, $0008 - add hl, de - inc c - dec b - jr nz, .asm_1933d - ret + push bc + push hl + ld a, [hli] + add $f8 + ld b, a + ld a, [hld] + add $8 + ld c, a + dec hl + dec hl + dec hl + ld a, [hl] + dec hl + dec hl + bit 0, [hl] + call nz, Func_1936f + pop hl + pop bc + ld a, c + jr c, .asm_19360 + ld de, $0008 + add hl, de + inc c + dec b + jr nz, .asm_1933d + ret .asm_19360 - ld [$d4eb], a - ld [$d6b4], a - add $0 - ld [$d4ea], a - ld [$d6b5], a - ret + ld [$d4eb], a + ld [$d6b4], a + add $0 + ld [$d4ea], a + ld [$d6b5], a + ret Func_1936f: ; 0x1936f - cp $b - jp z, Func_19412 - ld a, [wBallXPos + 1] - sub b - cp $20 - jp nc, Func_19412 - ld b, a - ld a, [wBallYPos + 1] - sub c - cp $20 - jp nc, Func_19412 - ld c, a - ld e, a - ld d, $0 - sla e - rl d - sla e - rl d - sla e - rl d - sla e - rl d - sla e - rl d - ld l, b - ld h, $0 - add hl, de - sla l - rl h - sla l - rl h - ld de, $4000 - add hl, de - ld de, wBallXVelocity - ld a, $39 - call ReadByteFromBank - ld c, a - ld a, [de] - add c - ld [de], a - inc de - inc hl - ld a, $39 - call ReadByteFromBank - ld b, a - ld a, [de] - adc b - ld [de], a - inc de - inc hl - push bc - ld a, $39 - call ReadByteFromBank - ld c, a - ld a, [de] - add c - ld [de], a - inc de - inc hl - ld a, $39 - call ReadByteFromBank - ld b, a - ld a, [de] - adc b - ld [de], a - inc de - inc hl - bit 7, b - jr z, .asm_193ea - ld a, c - cpl - ld c, a - ld a, b - cpl - ld b, a - inc bc + cp $b + jp z, Func_19412 + ld a, [wBallXPos + 1] + sub b + cp $20 + jp nc, Func_19412 + ld b, a + ld a, [wBallYPos + 1] + sub c + cp $20 + jp nc, Func_19412 + ld c, a + ld e, a + ld d, $0 + sla e + rl d + sla e + rl d + sla e + rl d + sla e + rl d + sla e + rl d + ld l, b + ld h, $0 + add hl, de + sla l + rl h + sla l + rl h + ld de, $4000 + add hl, de + ld de, wBallXVelocity + ld a, $39 + call ReadByteFromBank + ld c, a + ld a, [de] + add c + ld [de], a + inc de + inc hl + ld a, $39 + call ReadByteFromBank + ld b, a + ld a, [de] + adc b + ld [de], a + inc de + inc hl + push bc + ld a, $39 + call ReadByteFromBank + ld c, a + ld a, [de] + add c + ld [de], a + inc de + inc hl + ld a, $39 + call ReadByteFromBank + ld b, a + ld a, [de] + adc b + ld [de], a + inc de + inc hl + bit 7, b + jr z, .asm_193ea + ld a, c + cpl + ld c, a + ld a, b + cpl + ld b, a + inc bc .asm_193ea - pop hl - bit 7, h - jr z, .asm_193f6 - ld a, l - cpl - ld l, a - ld a, h - cpl - ld h, a - inc hl + pop hl + bit 7, h + jr z, .asm_193f6 + ld a, l + cpl + ld l, a + ld a, h + cpl + ld h, a + inc hl .asm_193f6 - add hl, bc - sla l - rl h - ld a, h - cp $2 - jr c, .asm_19410 - ld a, [$d804] - and a - jr nz, .asm_19410 - ld a, $5 - ld [$d803], a - ld a, $8 - ld [$d804], a + add hl, bc + sla l + rl h + ld a, h + cp $2 + jr c, .asm_19410 + ld a, [$d804] + and a + jr nz, .asm_19410 + ld a, $5 + ld [$d803], a + ld a, $8 + ld [$d804], a .asm_19410 - scf - ret + scf + ret Func_19412: ; 0x19312 - and a - ret + and a + ret Func_19414: ; 0x19414 - ld a, [$d4ea] - inc a - jr nz, .asm_1944f - ld a, [$d6aa] - bit 7, a - jr nz, .asm_1944f - ld a, [$d7e9] - and a - ret z - ld a, [$d7f5] - sub $10 - ret c - cp $c - ret nc - ld a, $1 - ld [$d4eb], a - add $6 - ld [$d4ea], a - ld b, a - ld hl, $d6aa - ld [hl], $0 - ld a, [$d4ec] - cp b - jr z, .asm_1944f - ld a, [$d4eb] - ld [hli], a - ld a, [$d4ea] - ld [hl], a - scf - ret + ld a, [$d4ea] + inc a + jr nz, .asm_1944f + ld a, [$d6aa] + bit 7, a + jr nz, .asm_1944f + ld a, [$d7e9] + and a + ret z + ld a, [$d7f5] + sub $10 + ret c + cp $c + ret nc + ld a, $1 + ld [$d4eb], a + add $6 + ld [$d4ea], a + ld b, a + ld hl, $d6aa + ld [hl], $0 + ld a, [$d4ec] + cp b + jr z, .asm_1944f + ld a, [$d4eb] + ld [hli], a + ld a, [$d4ea] + ld [hl], a + scf + ret .asm_1944f - and a - ret + and a + ret Func_19451: ; 0x19451 - call Func_19531 - call Func_19701 - call Func_1948b - ld [$ff8a], a - ld a, Bank(Func_107f8) - ld hl, Func_107f8 - call BankSwitch - ld a, [$d57e] - and a - ret z - xor a - ld [$d57e], a - ld a, $1 - ld [$d7be], a - call Func_2862 - ld [$ff8a], a - ld a, Bank(Func_86d2) - ld hl, Func_86d2 - call BankSwitch - ld a, [$d6b1] - cp $8 - ret nc - ld a, $1 - ld [$d6b3], a - ret + call Func_19531 + call Func_19701 + call Func_1948b + ld [$ff8a], a + ld a, Bank(Func_107f8) + ld hl, Func_107f8 + call BankSwitch + ld a, [$d57e] + and a + ret z + xor a + ld [$d57e], a + ld a, $1 + ld [$d7be], a + call Func_2862 + ld [$ff8a], a + ld a, Bank(Func_86d2) + ld hl, Func_86d2 + call BankSwitch + ld a, [$d6b1] + cp $8 + ret nc + ld a, $1 + ld [$d6b3], a + ret Func_1948b: ; 0x1948b - ld a, [$d6a9] - and a - ret nz - ld a, [$d4b4] - cp $8a - ret nc - ld a, $1 - ld [wStageCollisionState], a - ld [$d6a9], a - ld [$ff8a], a - ld a, Bank(LoadStageCollisionAttributes) - ld hl, LoadStageCollisionAttributes - call BankSwitch - call Func_194ac - ret + ld a, [$d6a9] + and a + ret nz + ld a, [$d4b4] + cp $8a + ret nc + ld a, $1 + ld [wStageCollisionState], a + ld [$d6a9], a + ld [$ff8a], a + ld a, Bank(LoadStageCollisionAttributes) + ld hl, LoadStageCollisionAttributes + call BankSwitch + call Func_194ac + ret Func_194ac: ; 0x194ac - ld a, [wStageCollisionState] - sla a - ld c, a - ld b, $0 - ld hl, $54c9 - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_194bf - ld hl, $54fd + ld a, [wStageCollisionState] + sla a + ld c, a + ld b, $0 + ld hl, $54c9 + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_194bf + ld hl, $54fd .asm_194bf - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld a, $6 - call Func_10aa - ret + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld a, $6 + call Func_10aa + ret -INCBIN "baserom.gbc",$194c9,$19531 - $194c9 + dr $194c9, $19531 Func_19531: ; 0x19531 - ld a, [$d6aa] - and a - jr z, .asm_195a2 - xor a - ld [$d6aa], a - ld a, [$d7be] - and a - jr nz, .asm_195a2 - ld a, [$d6af] - cp $2 - jr nc, .asm_195a2 - ld bc, $34ee - ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch - ld a, [$d6b0] - inc a - cp $3 - jr nz, .asm_19565 - ld a, [$d6b1] - inc a - ld [$d6b1], a - xor a + ld a, [$d6aa] + and a + jr z, .asm_195a2 + xor a + ld [$d6aa], a + ld a, [$d7be] + and a + jr nz, .asm_195a2 + ld a, [$d6af] + cp $2 + jr nc, .asm_195a2 + ld bc, $34ee + ld [$ff8a], a + ld a, Bank(Func_8588) + ld hl, Func_8588 + call BankSwitch + ld a, [$d6b0] + inc a + cp $3 + jr nz, .asm_19565 + ld a, [$d6b1] + inc a + ld [$d6b1], a + xor a .asm_19565 - ld [$d6b0], a - call Func_1988e - ld a, [$d6b1] - cp $8 - jr z, .asm_19582 - ld a, $2 - ld de, $d6ae - call Func_19679 - ld de, $0039 - call PlaySoundEffect - jr .asm_195a2 + ld [$d6b0], a + call Func_1988e + ld a, [$d6b1] + cp $8 + jr z, .asm_19582 + ld a, $2 + ld de, $d6ae + call Func_19679 + ld de, $0039 + call PlaySoundEffect + jr .asm_195a2 .asm_19582 - ld a, $3 - ld de, $d6ae - call Func_19679 - ld a, $1 - ld [$d7be], a - call Func_2862 - ld [$ff8a], a - ld a, Bank(Func_86d2) - ld hl, Func_86d2 - call BankSwitch - ld de, $0000 - call PlaySong + ld a, $3 + ld de, $d6ae + call Func_19679 + ld a, $1 + ld [$d7be], a + call Func_2862 + ld [$ff8a], a + ld a, Bank(Func_86d2) + ld hl, Func_86d2 + call BankSwitch + ld de, $0000 + call PlaySong .asm_195a2 - call Func_195ac - ld de, $d6af - call Func_195f5 - ret + call Func_195ac + ld de, $d6af + call Func_195f5 + ret Func_195ac: ; 0x195ac - ld a, [$d6af] - and a - ret nz - ld hl, $d6bd - ld de, $0008 - ld b, $6 + ld a, [$d6af] + and a + ret nz + ld hl, $d6bd + ld de, $0008 + ld b, $6 .asm_195b9 - ld a, [hl] - cp $2b - jr nz, .asm_195ce - dec hl - dec hl - dec hl - ld a, [hl] - cp $2 - ret nz - ld a, $1 - ld de, $d6ae - call Func_19679 - ret + ld a, [hl] + cp $2b + jr nz, .asm_195ce + dec hl + dec hl + dec hl + ld a, [hl] + cp $2 + ret nz + ld a, $1 + ld de, $d6ae + call Func_19679 + ret .asm_195ce - add hl, de - dec b - jr nz, .asm_195b9 - ret + add hl, de + dec b + jr nz, .asm_195b9 + ret Func_195d3: ; 0x195d3 - ld hl, $d6bd - ld de, $0008 - ld b, $6 + ld hl, $d6bd + ld de, $0008 + ld b, $6 .asm_195db - ld a, [hl] - cp $18 - jr nz, .asm_195f0 - dec hl - dec hl - dec hl - ld a, [hl] - cp $2 - ret nz - ld d, h - ld e, l - dec de - ld a, $1 - call Func_19876 - ret + ld a, [hl] + cp $18 + jr nz, .asm_195f0 + dec hl + dec hl + dec hl + ld a, [hl] + cp $2 + ret nz + ld d, h + ld e, l + dec de + ld a, $1 + call Func_19876 + ret .asm_195f0 - add hl, de - dec b - jr nz, .asm_195db - ret + add hl, de + dec b + jr nz, .asm_195db + ret Func_195f5: ; 0x195f5 - ld a, [de] - sla a - ld c, a - ld b, $0 - ld hl, $5691 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - push de - dec de - dec de - dec de - call UpdateAnimation - pop de - ret nc - ld a, [de] - rst $18 ; calls JumpToFuncInTable + ld a, [de] + sla a + ld c, a + ld b, $0 + ld hl, $5691 + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + push de + dec de + dec de + dec de + call UpdateAnimation + pop de + ret nc + ld a, [de] + rst $18 ; calls JumpToFuncInTable CallTable_1960d: ; 0x1960d - dw Func_19615 - dw Func_1961e - dw Func_1962f - dw Func_19638 + dw Func_19615 + dw Func_1961e + dw Func_1962f + dw Func_19638 Func_19615: ; 0x19615 - dec de - ld a, [de] - cp $4 - ret nz - xor a - jp Func_19679 + dec de + ld a, [de] + cp $4 + ret nz + xor a + jp Func_19679 Func_1961e: ; 0x1961e - dec de - ld a, [de] - cp $c - jr nz, .asm_19628 - call Func_195d3 - ret + dec de + ld a, [de] + cp $c + jr nz, .asm_19628 + call Func_195d3 + ret .asm_19628 - cp $d - ret nz - xor a - jp Func_19679 + cp $d + ret nz + xor a + jp Func_19679 Func_1962f: ; 0x1962f - dec de - ld a, [de] - cp $1 - ret nz - xor a - jp Func_19679 + dec de + ld a, [de] + cp $1 + ret nz + xor a + jp Func_19679 Func_19638: ; 0x19638 - dec de - ld a, [de] - cp $1 - jr nz, .asm_19645 - ld de, $0040 - call PlaySoundEffect - ret + dec de + ld a, [de] + cp $1 + jr nz, .asm_19645 + ld de, $0040 + call PlaySoundEffect + ret .asm_19645 - cp $20 - ret nz - ld a, $1 - ld [$d6b3], a - ld a, [$d499] - ld [$d498], a - ld a, [wNumMewtwoBonusCompletions] - cp $2 ; only counts up to 2. Gets reset to 0 when Mew is encountered in Catch 'Em Mode. - jr z, .asm_1965e - inc a - ld [wNumMewtwoBonusCompletions], a + cp $20 + ret nz + ld a, $1 + ld [$d6b3], a + ld a, [$d499] + ld [$d498], a + ld a, [wNumMewtwoBonusCompletions] + cp $2 ; only counts up to 2. Gets reset to 0 when Mew is encountered in Catch 'Em Mode. + jr z, .asm_1965e + inc a + ld [wNumMewtwoBonusCompletions], a .asm_1965e - ld a, $1 - ld [$d49a], a - call Func_30e8 - call Func_30db - ld hl, $d5dc + ld a, $1 + ld [$d49a], a + call Func_30e8 + call Func_30db + ld hl, $d5dc .asm_1966b - ld de, $2f97 - call Func_32aa - ld de, $4b2a - call PlaySoundEffect - ret + ld de, $2f97 + call Func_32aa + ld de, $4b2a + call PlaySoundEffect + ret Func_19679: ; 0x19679 - push af - sla a - ld c, a - ld b, $0 - ld hl, $5691 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - push de - dec de - dec de - call CopyHLToDE - pop de - inc de - pop af - ld [de], a - ret - -INCBIN "baserom.gbc",$19691,$19701 - $19691 + push af + sla a + ld c, a + ld b, $0 + ld hl, $5691 + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + push de + dec de + dec de + call CopyHLToDE + pop de + inc de + pop af + ld [de], a + ret + + dr $19691, $19701 Func_19701: ; 0x19701 - ld a, [$d6b4] - and a - jr z, .asm_19742 - xor a - ld [$d6b4], a - ld a, [$d7be] - and a - jr nz, .asm_19742 - ld a, [$d6b5] - sub $1 - sla a - sla a - sla a - ld c, a - ld b, $0 - ld hl, $d6ba - add hl, bc - ld d, h - ld e, l - ld a, [de] - and a - jr nz, .asm_19742 - dec de - ld a, $2 - call Func_19876 - ld bc, $34d6 - ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch - ld de, $0038 - call PlaySoundEffect + ld a, [$d6b4] + and a + jr z, .asm_19742 + xor a + ld [$d6b4], a + ld a, [$d7be] + and a + jr nz, .asm_19742 + ld a, [$d6b5] + sub $1 + sla a + sla a + sla a + ld c, a + ld b, $0 + ld hl, $d6ba + add hl, bc + ld d, h + ld e, l + ld a, [de] + and a + jr nz, .asm_19742 + dec de + ld a, $2 + call Func_19876 + ld bc, $34d6 + ld [$ff8a], a + ld a, Bank(Func_8588) + ld hl, Func_8588 + call BankSwitch + ld de, $0038 + call PlaySoundEffect .asm_19742 - ld de, $d6bd - call Func_1978b - ld de, $d6c5 - call Func_1978b - ld de, $d6cd - call Func_1978b - ld de, $d6d5 - call Func_1978b - ld de, $d6dd - call Func_1978b - ld de, $d6e5 - call Func_1978b - ld de, $d6b6 - call Func_19833 - ld de, $d6be - call Func_19833 - ld de, $d6c6 - call Func_19833 - ld de, $d6ce - call Func_19833 - ld de, $d6d6 - call Func_19833 - ld de, $d6de - call Func_19833 - ret + ld de, $d6bd + call Func_1978b + ld de, $d6c5 + call Func_1978b + ld de, $d6cd + call Func_1978b + ld de, $d6d5 + call Func_1978b + ld de, $d6dd + call Func_1978b + ld de, $d6e5 + call Func_1978b + ld de, $d6b6 + call Func_19833 + ld de, $d6be + call Func_19833 + ld de, $d6c6 + call Func_19833 + ld de, $d6ce + call Func_19833 + ld de, $d6d6 + call Func_19833 + ld de, $d6de + call Func_19833 + ret Func_1978b: ; 0x1978b - ld a, [de] - ld c, a - ld b, $0 - sla c - inc a - cp $48 - jr c, .asm_19797 - xor a + ld a, [de] + ld c, a + ld b, $0 + sla c + inc a + cp $48 + jr c, .asm_19797 + xor a .asm_19797 - ld [de], a - ld hl, $57a4 - add hl, bc - dec de - ld a, [hld] - ld [de], a - dec de - ld a, [hl] - ld [de], a - ret - -INCBIN "baserom.gbc",$197a3,$19833 - $197a3 + ld [de], a + ld hl, $57a4 + add hl, bc + dec de + ld a, [hld] + ld [de], a + dec de + ld a, [hl] + ld [de], a + ret + + dr $197a3, $19833 Func_19833: ; 0x19833 - ld a, [de] - and a - ret z - inc de - inc de - inc de - inc de - ld a, [de] - sla a - ld c, a - ld b, $0 - ld hl, $5916 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - push de - dec de - dec de - dec de - call UpdateAnimation - pop de - ret nc - ld a, [de] - rst $18 ; calls JumpToFuncInTable + ld a, [de] + and a + ret z + inc de + inc de + inc de + inc de + ld a, [de] + sla a + ld c, a + ld b, $0 + ld hl, $5916 + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + push de + dec de + dec de + dec de + call UpdateAnimation + pop de + ret nc + ld a, [de] + rst $18 ; calls JumpToFuncInTable CallTable_19852: ; 0x19852 - dw Func_1985a - dw Func_19863 - dw Func_1986c - dw Func_1986d + dw Func_1985a + dw Func_19863 + dw Func_1986c + dw Func_1986d Func_1985a: ; 0x1985a - dec de - ld a, [de] - cp $6 - ret nz - xor a - jp Func_19876 + dec de + ld a, [de] + cp $6 + ret nz + xor a + jp Func_19876 Func_19863: ; 0x19863 - dec de - ld a, [de] - cp $7 - ret nz - xor a - jp Func_19876 + dec de + ld a, [de] + cp $7 + ret nz + xor a + jp Func_19876 Func_1986c: ; 0x1986c - ret + ret Func_1986d: ; 0x1986d - dec de - ld a, [de] - cp $1 - ret nz - xor a - jp Func_19876 + dec de + ld a, [de] + cp $1 + ret nz + xor a + jp Func_19876 Func_19876: ; 0x19876 - push af - sla a - ld c, a - ld b, $0 - ld hl, $5916 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - push de - dec de - dec de - call CopyHLToDE - pop de - inc de - pop af - ld [de], a - ret + push af + sla a + ld c, a + ld b, $0 + ld hl, $5916 + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + push de + dec de + dec de + call CopyHLToDE + pop de + inc de + pop af + ld [de], a + ret Func_1988e: ; 0x1988e - ld a, [$d6b1] - sla a - sla a - sla a - ld c, a - ld b, $0 - ld hl, $58ce - add hl, bc - ld de, $d6bd - ld b, $6 + ld a, [$d6b1] + sla a + sla a + sla a + ld c, a + ld b, $0 + ld hl, $58ce + add hl, bc + ld de, $d6bd + ld b, $6 .asm_198a3 - ld a, [hli] - push bc - push de - push hl - bit 7, a - jr nz, .asm_198b7 - ld [de], a - dec de - dec de - dec de - dec de - ld a, $3 - call Func_19876 - jr .asm_198c0 + ld a, [hli] + push bc + push de + push hl + bit 7, a + jr nz, .asm_198b7 + ld [de], a + dec de + dec de + dec de + dec de + ld a, $3 + call Func_19876 + jr .asm_198c0 .asm_198b7 - dec de - dec de - dec de - dec de - dec de - dec de - dec de - xor a - ld [de], a + dec de + dec de + dec de + dec de + dec de + dec de + dec de + xor a + ld [de], a .asm_198c0 - pop hl - pop de - pop bc - ld a, e - add $8 - ld e, a - jr nc, .asm_198ca - inc d + pop hl + pop de + pop bc + ld a, e + add $8 + ld e, a + jr nc, .asm_198ca + inc d .asm_198ca - dec b - jr nz, .asm_198a3 - ret + dec b + jr nz, .asm_198a3 + ret -INCBIN "baserom.gbc",$198ce,$1994e - $198ce + dr $198ce, $1994e Func_1994e: ; 0x1994e - ld bc, $7f65 - ld [$ff8a], a - ld a, Bank(Func_175a4) - ld hl, Func_175a4 - call BankSwitch - call Func_1999d - ld [$ff8a], a - ld a, Bank(Func_e4a1) - ld hl, Func_e4a1 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_17e81) - ld hl, Func_17e81 - call BankSwitch - call Func_19976 - ret + ld bc, $7f65 + ld [$ff8a], a + ld a, Bank(Func_175a4) + ld hl, Func_175a4 + call BankSwitch + call Func_1999d + ld [$ff8a], a + ld a, Bank(Func_e4a1) + ld hl, Func_e4a1 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_17e81) + ld hl, Func_17e81 + call BankSwitch + call Func_19976 + ret Func_19976: ; 0x19976 - ld a, $40 - ld hl, hBoardXShift - sub [hl] - ld b, a - ld a, $0 - ld hl, hBoardYShift - sub [hl] - ld c, a - ld a, [$d6ad] - ld e, a - ld d, $0 - ld hl, $5995 - add hl, de - ld a, [hl] - cp $ff - call nz, LoadOAMData2 - ret - -INCBIN "baserom.gbc",$19995,$1999d - $19995 + ld a, $40 + ld hl, hBoardXShift + sub [hl] + ld b, a + ld a, $0 + ld hl, hBoardYShift + sub [hl] + ld c, a + ld a, [$d6ad] + ld e, a + ld d, $0 + ld hl, $5995 + add hl, de + ld a, [hl] + cp $ff + call nz, LoadOAMData2 + ret + + dr $19995, $1999d Func_1999d: ; 0x1999d - ld de, $d6b6 - call Func_199be - ld de, $d6be - call Func_199be - ld de, $d6c6 - call Func_199be - ld de, $d6ce - call Func_199be - ld de, $d6d6 - call Func_199be - ld de, $d6de - ; fall through + ld de, $d6b6 + call Func_199be + ld de, $d6be + call Func_199be + ld de, $d6c6 + call Func_199be + ld de, $d6ce + call Func_199be + ld de, $d6d6 + call Func_199be + ld de, $d6de + ; fall through Func_199be: ; 0x199be - ld a, [de] - and a - ret z - inc de - inc de - inc de - inc de - inc de - ld a, [de] - ld hl, hBoardXShift - sub [hl] - ld b, a - inc de - ld a, [de] - ld hl, hBoardYShift - sub [hl] - ld c, a - dec de - dec de - dec de - dec de - ld a, [de] - ld e, a - ld d, $0 - ld hl, $59e6 - add hl, de - ld a, [hl] - cp $ff - call nz, LoadOAMData2 - ret - -INCBIN "baserom.gbc",$199e6,$199f2 - $199e6 + ld a, [de] + and a + ret z + inc de + inc de + inc de + inc de + inc de + ld a, [de] + ld hl, hBoardXShift + sub [hl] + ld b, a + inc de + ld a, [de] + ld hl, hBoardYShift + sub [hl] + ld c, a + dec de + dec de + dec de + dec de + ld a, [de] + ld e, a + ld d, $0 + ld hl, $59e6 + add hl, de + ld a, [hl] + cp $ff + call nz, LoadOAMData2 + ret + + dr $199e6, $199f2 InitDiglettBonusStage: ; 0x199f2 - ld a, [$d7c1] - and a - ret nz - xor a - ld [wStageCollisionState], a - ld a, $1 - ld [$d7ac], a - ld a, [wBallType] - ld [wBallTypeBackup], a - xor a - ld [$d4c8], a - ld [wBallType], a - ld [$d49a], a - ; initialize all digletts to hiding - ld a, $1 ; hiding diglett state - ld hl, wDiglettStates - ld b, NUM_DIGLETTS + ld a, [$d7c1] + and a + ret nz + xor a + ld [wStageCollisionState], a + ld a, $1 + ld [$d7ac], a + ld a, [wBallType] + ld [wBallTypeBackup], a + xor a + ld [$d4c8], a + ld [wBallType], a + ld [$d49a], a + ; initialize all digletts to hiding + ld a, $1 ; hiding diglett state + ld hl, wDiglettStates + ld b, NUM_DIGLETTS .initDiglettsLoop - ld [hli], a - dec b - jr nz, .initDiglettsLoop - ld a, $1 - ld [wDugtrioAnimationFrameCounter], a - ld a, $c - ld [wDugtrioAnimationFrame], a - xor a - ld [wDugtrioAnimationFrameIndex], a - ld [wDugrioState], a - ld a, $11 - call SetSongBank - ld de, $0001 - call PlaySong - ret + ld [hli], a + dec b + jr nz, .initDiglettsLoop + ld a, $1 + ld [wDugtrioAnimationFrameCounter], a + ld a, $c + ld [wDugtrioAnimationFrame], a + xor a + ld [wDugtrioAnimationFrameIndex], a + ld [wDugrioState], a + ld a, $11 + call SetSongBank + ld de, $0001 + call PlaySong + ret StartBallDiglettBonusStage: ; 0x19a38 - ld a, $0 - ld [wBallXPos], a - ld a, $a6 - ld [wBallXPos + 1], a - ld a, $0 - ld [wBallYPos], a - ld a, $56 - ld [wBallYPos + 1], a - ld a, $40 - ld [wBallXVelocity], a - xor a - ld [$d7ab], a - ld [wStageCollisionState], a - ld [$d73a], a - ld hl, wDiglettStates - ld b, NUM_DIGLETTS + ld a, $0 + ld [wBallXPos], a + ld a, $a6 + ld [wBallXPos + 1], a + ld a, $0 + ld [wBallYPos], a + ld a, $56 + ld [wBallYPos + 1], a + ld a, $40 + ld [wBallXVelocity], a + xor a + ld [$d7ab], a + ld [wStageCollisionState], a + ld [$d73a], a + ld hl, wDiglettStates + ld b, NUM_DIGLETTS .asm_19a60 - ld a, [hl] - and a - jr z, .asm_19a67 - ld a, $1 ; hiding diglett state - ld [hl], a + ld a, [hl] + and a + jr z, .asm_19a67 + ld a, $1 ; hiding diglett state + ld [hl], a .asm_19a67 - inc hl - dec b - jr nz, .asm_19a60 - xor a - ld [wCurrentDiglett], a - ld [wDiglettsInitializedFlag], a - ld [$d765], a - ret + inc hl + dec b + jr nz, .asm_19a60 + xor a + ld [wCurrentDiglett], a + ld [wDiglettsInitializedFlag], a + ld [$d765], a + ret Func_19a76: ; 0x19a76 - ld [$ff8a], a - ld a, Bank(Func_142fc) - ld hl, Func_142fc - call BankSwitch - call Func_2862 - ld a, [$d7c1] - and a - ret z - call Func_19bbd - call Func_19a96 - ld a, [wDugrioState] - and a - call nz, Func_1ac2c - ret + ld [$ff8a], a + ld a, Bank(Func_142fc) + ld hl, Func_142fc + call BankSwitch + call Func_2862 + ld a, [$d7c1] + and a + ret z + call Func_19bbd + call Func_19a96 + ld a, [wDugrioState] + and a + call nz, Func_1ac2c + ret Func_19a96: ; 0x19a96 - ld hl, wDiglettStates - ld bc, NUM_DIGLETTS << 8 + ld hl, wDiglettStates + ld bc, NUM_DIGLETTS << 8 .asm_19a9c - ld a, [hli] - and a - jr z, .asm_19aae - push bc - push hl - push af - call Func_19da8 - pop af - cp $6 - call c, Func_19dcd - pop hl - pop bc + ld a, [hli] + and a + jr z, .asm_19aae + push bc + push hl + push af + call Func_19da8 + pop af + cp $6 + call c, Func_19dcd + pop hl + pop bc .asm_19aae - inc c - dec b - jr nz, .asm_19a9c - ret + inc c + dec b + jr nz, .asm_19a9c + ret Func_19ab3: ; 0x19ab3 - call Func_19aba - call Func_19b4b - ret + call Func_19aba + call Func_19b4b + ret Func_19aba: ; 0x19aba - ld a, [$d4ea] - inc a - jr nz, .asm_19b16 - ld a, [$d73b] - bit 7, a - jr nz, .asm_19b16 - ld a, [$d7e9] - and a - ret z - ld a, [$d7f5] - sub $19 - ret c - cp $33 - ret nc - ld c, a - ld b, $0 - ld hl, $5b18 ; todo - add hl, bc - ld a, [hl] - cp $a - jr nc, .asm_19aed - ld a, [wBallXPos + 1] - cp $48 - ld a, $11 - jr nc, .asm_19af7 - xor a - jr .asm_19af7 + ld a, [$d4ea] + inc a + jr nz, .asm_19b16 + ld a, [$d73b] + bit 7, a + jr nz, .asm_19b16 + ld a, [$d7e9] + and a + ret z + ld a, [$d7f5] + sub $19 + ret c + cp $33 + ret nc + ld c, a + ld b, $0 + ld hl, $5b18 ; todo + add hl, bc + ld a, [hl] + cp $a + jr nc, .asm_19aed + ld a, [wBallXPos + 1] + cp $48 + ld a, $11 + jr nc, .asm_19af7 + xor a + jr .asm_19af7 .asm_19aed - ld a, [wBallXPos + 1] - cp $68 - ld a, $11 - jr nc, .asm_19af7 - xor a + ld a, [wBallXPos + 1] + cp $68 + ld a, $11 + jr nc, .asm_19af7 + xor a .asm_19af7 - add [hl] - ld [$d4eb], a - add $0 - ld [$d4ea], a - ld b, a - ld hl, $d73b - ld [hl], $0 - ld a, [$d4ec] - cp b - jr z, .asm_19b16 - ld a, [$d4eb] - ld [hli], a - ld a, [$d4ea] - ld [hl], a - scf - ret + add [hl] + ld [$d4eb], a + add $0 + ld [$d4ea], a + ld b, a + ld hl, $d73b + ld [hl], $0 + ld a, [$d4ec] + cp b + jr z, .asm_19b16 + ld a, [$d4eb] + ld [hli], a + ld a, [$d4ea] + ld [hl], a + scf + ret .asm_19b16 - and a - ret + and a + ret -INCBIN "baserom.gbc",$19b18,$19b4b - $19b18 + dr $19b18, $19b4b Func_19b4b: ; 0x19b4b - ld a, [$d4ea] - inc a - jr nz, .asm_19b86 - ld a, [$d75f] - bit 7, a - jr nz, .asm_19b86 - ld a, [$d7e9] - and a - ret z - ld a, [$d7f5] - sub $14 - ret c - cp $5 - ret nc - ld a, $1 - ld [$d4eb], a - add $1f - ld [$d4ea], a - ld b, a - ld hl, $d75f - ld [hl], $0 - ld a, [$d4ec] - cp b - jr z, .asm_19b86 - ld a, [$d4eb] - ld [hli], a - ld a, [$d4ea] - ld [hl], a - scf - ret + ld a, [$d4ea] + inc a + jr nz, .asm_19b86 + ld a, [$d75f] + bit 7, a + jr nz, .asm_19b86 + ld a, [$d7e9] + and a + ret z + ld a, [$d7f5] + sub $14 + ret c + cp $5 + ret nc + ld a, $1 + ld [$d4eb], a + add $1f + ld [$d4ea], a + ld b, a + ld hl, $d75f + ld [hl], $0 + ld a, [$d4ec] + cp b + jr z, .asm_19b86 + ld a, [$d4eb] + ld [hli], a + ld a, [$d4ea] + ld [hl], a + scf + ret .asm_19b86 - and a - ret + and a + ret Func_19b88: ; 0x19b88 - call Func_19c52 - call Func_1aad4 - call Func_19b92 - ret + call Func_19c52 + call Func_1aad4 + call Func_19b92 + ret Func_19b92: ; 0x19b92 - ld a, [$d73a] - and a - ret nz - ld a, [$d4b4] - cp $8a - ret nc - ld a, $1 - ld [wStageCollisionState], a - ld [$d73a], a - xor a - ld [$c853], a - ld [$c873], a - ld [$c893], a - ld a, $5 - ld [$c872], a - ld a, $7 - ld [$c892], a - call Func_19bbd - ret + ld a, [$d73a] + and a + ret nz + ld a, [$d4b4] + cp $8a + ret nc + ld a, $1 + ld [wStageCollisionState], a + ld [$d73a], a + xor a + ld [$c853], a + ld [$c873], a + ld [$c893], a + ld a, $5 + ld [$c872], a + ld a, $7 + ld [$c892], a + call Func_19bbd + ret Func_19bbd: ; 0x19bbd - ld a, [wStageCollisionState] - sla a - ld c, a - ld b, $0 - ld hl, $5bda - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_19bd0 - ld hl, $5c16 + ld a, [wStageCollisionState] + sla a + ld c, a + ld b, $0 + ld hl, $5bda + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_19bd0 + ld hl, $5c16 .asm_19bd0 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld a, $6 - call Func_10aa - ret + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld a, $6 + call Func_10aa + ret -INCBIN "baserom.gbc",$19bda,$19c52 - $19bda + dr $19bda, $19c52 Func_19c52: ; 0x19c52 - ld a, [$d73b] - and a - jr z, .asm_19cc8 - xor a - ld [$d73b], a - ld bc, $34d6 - ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch - ld de, $0035 - call PlaySoundEffect - ld hl, $0100 - ld a, l - ld [$d7bc], a - ld a, h - ld [$d7bd], a - ld a, $80 - ld [wFlipperCollision], a - ld a, [$d73c] - sub $1 - ld c, a - ld b, $0 - ld hl, wDiglettStates - add hl, bc - ld a, [hl] - cp $6 - jr nc, .asm_19cc8 - ld a, $8 - ld [hl], a - call Func_19da8 - call Func_19df0 - ld hl, wDiglettStates - ld bc, NUM_DIGLETTS << 8 - xor a + ld a, [$d73b] + and a + jr z, .asm_19cc8 + xor a + ld [$d73b], a + ld bc, $34d6 + ld [$ff8a], a + ld a, Bank(Func_8588) + ld hl, Func_8588 + call BankSwitch + ld de, $0035 + call PlaySoundEffect + ld hl, $0100 + ld a, l + ld [$d7bc], a + ld a, h + ld [$d7bd], a + ld a, $80 + ld [wFlipperCollision], a + ld a, [$d73c] + sub $1 + ld c, a + ld b, $0 + ld hl, wDiglettStates + add hl, bc + ld a, [hl] + cp $6 + jr nc, .asm_19cc8 + ld a, $8 + ld [hl], a + call Func_19da8 + call Func_19df0 + ld hl, wDiglettStates + ld bc, NUM_DIGLETTS << 8 + xor a .asm_19ca0 - ld a, [hli] - and a - jr z, .asm_19ca8 - cp $6 - jr c, .asm_19ca9 + ld a, [hli] + and a + jr z, .asm_19ca8 + cp $6 + jr c, .asm_19ca9 .asm_19ca8 - inc c + inc c .asm_19ca9 - dec b - jr nz, .asm_19ca0 - ld a, c - cp NUM_DIGLETTS - jr nz, .asm_19cc8 - ld hl, $6c75 - ld de, wDugtrioAnimationFrameCounter - call CopyHLToDE - ld a, $1 - ld [wDugrioState], a - call Func_1ac2c - ld de, $0002 - call PlaySong + dec b + jr nz, .asm_19ca0 + ld a, c + cp NUM_DIGLETTS + jr nz, .asm_19cc8 + ld hl, $6c75 + ld de, wDugtrioAnimationFrameCounter + call CopyHLToDE + ld a, $1 + ld [wDugrioState], a + call Func_1ac2c + ld de, $0002 + call PlaySong .asm_19cc8 - call Func_19cdd - ld a, [$d765] - and a - ret nz - ld a, $1 - ld [$d765], a - ld a, [wDugrioState] - and a - call nz, Func_1ac2c - ret + call Func_19cdd + ld a, [$d765] + and a + ret nz + ld a, $1 + ld [$d765], a + ld a, [wDugrioState] + and a + call nz, Func_1ac2c + ret Func_19cdd: ; 0x19cdd - ld a, [wDiglettsInitializedFlag] - and a - jr nz, .alreadyInitializedDigletts - ld a, [wDiglettInitDelayCounter] - add DIGLETT_INITIALIZE_DELAY - ld [wDiglettInitDelayCounter], a - ret nc - ld hl, DiglettInitializeOrder - ld a, [wCurrentDiglett] - ld c, a - ld b, $0 - add hl, bc - ld b, $1 + ld a, [wDiglettsInitializedFlag] + and a + jr nz, .alreadyInitializedDigletts + ld a, [wDiglettInitDelayCounter] + add DIGLETT_INITIALIZE_DELAY + ld [wDiglettInitDelayCounter], a + ret nc + ld hl, DiglettInitializeOrder + ld a, [wCurrentDiglett] + ld c, a + ld b, $0 + add hl, bc + ld b, $1 .asm_19cf8 - push bc - ld a, [hli] - bit 7, a - jr z, .asm_19d02 - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [hli] + push bc + ld a, [hli] + bit 7, a + jr z, .asm_19d02 + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [hli] .asm_19d02 - push hl - ld c, a - ld b, $0 - ld hl, wDiglettStates - add hl, bc - ld a, [hl] - and a - jr z, .asm_19d29 - dec a - jr nz, .asm_19d21 - ; pick a random starting state for the diglett that isn't the "hiding" state - call GenRandom - and $3 - add $2 - ld [hl], a - call Func_19da8 - call Func_19dcd - jr .asm_19d29 + push hl + ld c, a + ld b, $0 + ld hl, wDiglettStates + add hl, bc + ld a, [hl] + and a + jr z, .asm_19d29 + dec a + jr nz, .asm_19d21 + ; pick a random starting state for the diglett that isn't the "hiding" state + call GenRandom + and $3 + add $2 + ld [hl], a + call Func_19da8 + call Func_19dcd + jr .asm_19d29 .asm_19d21 - and $3 - add $2 - ld [hl], a - call Func_19da8 + and $3 + add $2 + ld [hl], a + call Func_19da8 .asm_19d29 - pop hl - pop bc - dec b - jr nz, .asm_19cf8 - ld hl, wDiglettsInitializedFlag - ld a, [wCurrentDiglett] - add $1 - cp NUM_DIGLETTS - jr c, .notDoneInitializingDigletts - set 0, [hl] - sub NUM_DIGLETTS + pop hl + pop bc + dec b + jr nz, .asm_19cf8 + ld hl, wDiglettsInitializedFlag + ld a, [wCurrentDiglett] + add $1 + cp NUM_DIGLETTS + jr c, .notDoneInitializingDigletts + set 0, [hl] + sub NUM_DIGLETTS .notDoneInitializingDigletts - ld [wCurrentDiglett], a - ret + ld [wCurrentDiglett], a + ret .alreadyInitializedDigletts - ld hl, DiglettUpdateOrder - ld a, [wCurrentDiglett] - ld c, a - ld b, $0 - add hl, bc - ld b, $4 ; update 4 digletts + ld hl, DiglettUpdateOrder + ld a, [wCurrentDiglett] + ld c, a + ld b, $0 + add hl, bc + ld b, $4 ; update 4 digletts .updateDiglettLoop - push bc - ld a, [hli] - bit 7, a - jr z, .asm_19d58 - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [hli] + push bc + ld a, [hli] + bit 7, a + jr z, .asm_19d58 + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [hli] .asm_19d58 - push hl - ld c, a - ld b, $0 - ld hl, wDiglettStates - add hl, bc - ld a, [hl] - and a - jr z, .asm_19d8f - dec a - jr nz, .asm_19d77 - call GenRandom - and $3 - add $2 - ld [hl], a - call Func_19da8 - call Func_19dcd - jr .asm_19d8f + push hl + ld c, a + ld b, $0 + ld hl, wDiglettStates + add hl, bc + ld a, [hl] + and a + jr z, .asm_19d8f + dec a + jr nz, .asm_19d77 + call GenRandom + and $3 + add $2 + ld [hl], a + call Func_19da8 + call Func_19dcd + jr .asm_19d8f .asm_19d77 - cp $5 - jr c, .incrementDiglettState - ld [hl], a - jr nz, .asm_19d8f - xor a - ld [hl], a - ld a, $1 - call Func_19da8 - jr .asm_19d8f + cp $5 + jr c, .incrementDiglettState + ld [hl], a + jr nz, .asm_19d8f + xor a + ld [hl], a + ld a, $1 + call Func_19da8 + jr .asm_19d8f .incrementDiglettState - and $3 - add $2 - ld [hl], a - call Func_19da8 + and $3 + add $2 + ld [hl], a + call Func_19da8 .asm_19d8f - pop hl - pop bc - dec b - jr nz, .updateDiglettLoop - ld hl, wDiglettsInitializedFlag - ld a, [wCurrentDiglett] - add $4 - cp NUM_DIGLETTS - jr c, .asm_19da4 - set 0, [hl] - sub NUM_DIGLETTS + pop hl + pop bc + dec b + jr nz, .updateDiglettLoop + ld hl, wDiglettsInitializedFlag + ld a, [wCurrentDiglett] + add $4 + cp NUM_DIGLETTS + jr c, .asm_19da4 + set 0, [hl] + sub NUM_DIGLETTS .asm_19da4 - ld [wCurrentDiglett], a - ret + ld [wCurrentDiglett], a + ret Func_19da8: ; 0x19da8 ; input: a = diglett state ; c = diglett index - cp $6 - jr c, .asm_19dae - ld a, $6 ; "getting hit" state + cp $6 + jr c, .asm_19dae + ld a, $6 ; "getting hit" state .asm_19dae - push bc - ld b, a - sla c - ld a, c - sla c - add c - add b ; a = (index * 6) + state - dec a - ld c, a - ld b, $0 ; bc = (index * 6) + state - 1 - sla c - rl b ; bc = 2 * ((index * 6) + state - 1) - ld hl, DiglettTileDataPointers - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld a, Bank(DiglettTileDataPointers) - call Func_10aa - pop bc - ret + push bc + ld b, a + sla c + ld a, c + sla c + add c + add b ; a = (index * 6) + state + dec a + ld c, a + ld b, $0 ; bc = (index * 6) + state - 1 + sla c + rl b ; bc = 2 * ((index * 6) + state - 1) + ld hl, DiglettTileDataPointers + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld a, Bank(DiglettTileDataPointers) + call Func_10aa + pop bc + ret Func_19dcd: ; 0x19dcd - sla c - ld a, c - sla c - add c - ld c, a - ld b, $0 - ld hl, $5e13 - add hl, bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - ld a, e - add $1f - ld e, a - jr nc, .asm_19dea - inc d + sla c + ld a, c + sla c + add c + ld c, a + ld b, $0 + ld hl, $5e13 + add hl, bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + ld a, e + add $1f + ld e, a + jr nc, .asm_19dea + inc d .asm_19dea - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - ret + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + ret Func_19df0: ; 0x19df0 - sla c - ld a, c - sla c - add c - ld c, a - ld b, $0 - ld hl, $5e13 - add hl, bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, $2 - ld [de], a - inc de - ld [de], a - ld a, e - add $1f - ld e, a - jr nc, .asm_19e0d - inc d + sla c + ld a, c + sla c + add c + ld c, a + ld b, $0 + ld hl, $5e13 + add hl, bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, $2 + ld [de], a + inc de + ld [de], a + ld a, e + add $1f + ld e, a + jr nc, .asm_19e0d + inc d .asm_19e0d - ld a, $2 - ld [de], a - inc de - ld [de], a - ret + ld a, $2 + ld [de], a + inc de + ld [de], a + ret -INCBIN "baserom.gbc",$19e13,$19ed1 - $19e13 + dr $19e13, $19ed1 INCLUDE "data/diglett_stage/diglett_stage_animation_data.asm" Func_1aad4: ; 0x1aad4 - ld a, [$d75f] - and a - jr z, .asm_1ab2c - xor a - ld [$d75f], a - ld a, [wDugrioState] - bit 0, a - jr z, .asm_1ab2c - cp $7 - jr z, .asm_1ab2c - inc a - ld [wDugrioState], a - sla a - ld c, a - ld b, $0 - ld hl, $6c62 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld de, wDugtrioAnimationFrameCounter - call CopyHLToDE - ld bc, $34ee - ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch - ld de, $0036 - call PlaySoundEffect - ld a, $33 - ld [$d803], a - ld a, $8 - ld [$d804], a - ld hl, $0200 - ld a, l - ld [$d7bc], a - ld a, h - ld [$d7bd], a - ld a, $80 - ld [wFlipperCollision], a + ld a, [$d75f] + and a + jr z, .asm_1ab2c + xor a + ld [$d75f], a + ld a, [wDugrioState] + bit 0, a + jr z, .asm_1ab2c + cp $7 + jr z, .asm_1ab2c + inc a + ld [wDugrioState], a + sla a + ld c, a + ld b, $0 + ld hl, $6c62 + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld de, wDugtrioAnimationFrameCounter + call CopyHLToDE + ld bc, $34ee + ld [$ff8a], a + ld a, Bank(Func_8588) + ld hl, Func_8588 + call BankSwitch + ld de, $0036 + call PlaySoundEffect + ld a, $33 + ld [$d803], a + ld a, $8 + ld [$d804], a + ld hl, $0200 + ld a, l + ld [$d7bc], a + ld a, h + ld [$d7bd], a + ld a, $80 + ld [wFlipperCollision], a .asm_1ab2c - call Func_1ab30 - ret + call Func_1ab30 + ret Func_1ab30: ; 0x1ab30 - ld a, [wDugrioState] - sla a - ld c, a - ld b, $0 - ld hl, $6c62 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld de, wDugtrioAnimationFrameCounter - call UpdateAnimation - ret nc - ld a, [wDugrioState] - and a - ret z - cp $1 - jr nz, .asm_1ab64 - ld a, [wDugtrioAnimationFrameIndex] - cp $3 - ret nz - ld hl, $6c75 - ld de, wDugtrioAnimationFrameCounter - call CopyHLToDE - ld a, $1 - ld [wDugrioState], a - ret + ld a, [wDugrioState] + sla a + ld c, a + ld b, $0 + ld hl, $6c62 + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld de, wDugtrioAnimationFrameCounter + call UpdateAnimation + ret nc + ld a, [wDugrioState] + and a + ret z + cp $1 + jr nz, .asm_1ab64 + ld a, [wDugtrioAnimationFrameIndex] + cp $3 + ret nz + ld hl, $6c75 + ld de, wDugtrioAnimationFrameCounter + call CopyHLToDE + ld a, $1 + ld [wDugrioState], a + ret .asm_1ab64 - cp $2 - jr nz, .asm_1ab7d - ld a, [wDugtrioAnimationFrameIndex] - cp $1 - ret nz - ld hl, $6c7f - ld de, wDugtrioAnimationFrameCounter - call CopyHLToDE - ld a, $3 - ld [wDugrioState], a - ret + cp $2 + jr nz, .asm_1ab7d + ld a, [wDugtrioAnimationFrameIndex] + cp $1 + ret nz + ld hl, $6c7f + ld de, wDugtrioAnimationFrameCounter + call CopyHLToDE + ld a, $3 + ld [wDugrioState], a + ret .asm_1ab7d - cp $3 - jr nz, .asm_1ab96 - ld a, [wDugtrioAnimationFrameIndex] - cp $3 - ret nz - ld hl, $6c7f - ld de, wDugtrioAnimationFrameCounter - call CopyHLToDE - ld a, $3 - ld [wDugrioState], a - ret + cp $3 + jr nz, .asm_1ab96 + ld a, [wDugtrioAnimationFrameIndex] + cp $3 + ret nz + ld hl, $6c7f + ld de, wDugtrioAnimationFrameCounter + call CopyHLToDE + ld a, $3 + ld [wDugrioState], a + ret .asm_1ab96 - cp $4 - jr nz, .asm_1abaf - ld a, [wDugtrioAnimationFrameIndex] - cp $1 - ret nz - ld hl, $6c89 - ld de, wDugtrioAnimationFrameCounter - call CopyHLToDE - ld a, $5 - ld [wDugrioState], a - ret + cp $4 + jr nz, .asm_1abaf + ld a, [wDugtrioAnimationFrameIndex] + cp $1 + ret nz + ld hl, $6c89 + ld de, wDugtrioAnimationFrameCounter + call CopyHLToDE + ld a, $5 + ld [wDugrioState], a + ret .asm_1abaf - cp $5 - jr nz, .asm_1abc8 - ld a, [wDugtrioAnimationFrameIndex] - cp $3 - ret nz - ld hl, $6c89 - ld de, wDugtrioAnimationFrameCounter - call CopyHLToDE - ld a, $5 - ld [wDugrioState], a - ret + cp $5 + jr nz, .asm_1abc8 + ld a, [wDugtrioAnimationFrameIndex] + cp $3 + ret nz + ld hl, $6c89 + ld de, wDugtrioAnimationFrameCounter + call CopyHLToDE + ld a, $5 + ld [wDugrioState], a + ret .asm_1abc8 - cp $6 - jr nz, .asm_1abe1 - ld a, [wDugtrioAnimationFrameIndex] - cp $1 - ret nz - ld hl, $6c93 - ld de, wDugtrioAnimationFrameCounter - call CopyHLToDE - ld a, $7 - ld [wDugrioState], a - ret + cp $6 + jr nz, .asm_1abe1 + ld a, [wDugtrioAnimationFrameIndex] + cp $1 + ret nz + ld hl, $6c93 + ld de, wDugtrioAnimationFrameCounter + call CopyHLToDE + ld a, $7 + ld [wDugrioState], a + ret .asm_1abe1 - cp $7 - ret nz - ld a, [wDugtrioAnimationFrameIndex] - cp $1 - jr nz, .asm_1abf2 - ld de, $0000 - call PlaySong - ret + cp $7 + ret nz + ld a, [wDugtrioAnimationFrameIndex] + cp $1 + jr nz, .asm_1abf2 + ld de, $0000 + call PlaySong + ret .asm_1abf2 - cp $2 - ret nz - ld hl, $6c72 - ld de, wDugtrioAnimationFrameCounter - call CopyHLToDE - xor a - ld [wDugrioState], a - ld [$d498], a - ld a, $1 - ld [$d49a], a - call Func_30e8 - call Func_30db - ld hl, $d5dc - ld de, $2fb3 - call Func_32aa - ld de, $4b2a - call PlaySoundEffect - ld a, $1 - ld [$d7be], a - call Func_2862 - ld hl, $6c56 - jr asm_1ac2f + cp $2 + ret nz + ld hl, $6c72 + ld de, wDugtrioAnimationFrameCounter + call CopyHLToDE + xor a + ld [wDugrioState], a + ld [$d498], a + ld a, $1 + ld [$d49a], a + call Func_30e8 + call Func_30db + ld hl, $d5dc + ld de, $2fb3 + call Func_32aa + ld de, $4b2a + call PlaySoundEffect + ld a, $1 + ld [$d7be], a + call Func_2862 + ld hl, $6c56 + jr asm_1ac2f Func_1ac2c: ; 0x1ac2c - ld hl, $6c4a + ld hl, $6c4a asm_1ac2f: - ld de, $c768 - ld b, $3 + ld de, $c768 + ld b, $3 .asm_1ac34 - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - ld a, e - add $1d - ld e, a - jr nc, .asm_1ac46 - inc d + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + ld a, e + add $1d + ld e, a + jr nc, .asm_1ac46 + inc d .asm_1ac46 - dec b - jr nz, .asm_1ac34 - ret + dec b + jr nz, .asm_1ac34 + ret -INCBIN "baserom.gbc",$1ac4a,$1ac98 - $1ac4a + dr $1ac4a, $1ac98 Func_1ac98: ; 0x1ac98 - ld [$ff8a], a - ld a, Bank(Func_e4a1) - ld hl, Func_e4a1 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_17e81) - ld hl, Func_17e81 - call BankSwitch - call Func_1acb0 - ret + ld [$ff8a], a + ld a, Bank(Func_e4a1) + ld hl, Func_e4a1 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_17e81) + ld hl, Func_17e81 + call BankSwitch + call Func_1acb0 + ret Func_1acb0: ; 0x1acb0 - ld a, $40 - ld hl, hBoardXShift - sub [hl] - ld b, a - ld a, $0 - ld hl, hBoardYShift - sub [hl] - ld c, a - ld a, [wDugtrioAnimationFrame] - ld e, a - ld d, $0 - ld hl, $6ccf - add hl, de - ld a, [hl] - bit 7, a - call z, LoadOAMData2 - ret - -INCBIN "baserom.gbc",$1accf,$1c000 - $1accf + ld a, $40 + ld hl, hBoardXShift + sub [hl] + ld b, a + ld a, $0 + ld hl, hBoardYShift + sub [hl] + ld c, a + ld a, [wDugtrioAnimationFrame] + ld e, a + ld d, $0 + ld hl, $6ccf + add hl, de + ld a, [hl] + bit 7, a + call z, LoadOAMData2 + ret + + dr $1accf, $1c000 SECTION "bank7", ROMX, BANK[$7] InitBlueField: ; 0x1c000 - ld a, [$d7c1] - and a - ret nz - xor a - ld hl, $d46f - ld [hld], a - ld [hld], a - ld [hld], a - ld [hld], a - ld [hld], a - ld [hl], a - ld [wNumPartyMons], a - ld [$d49b], a - ld [$d4c9], a - ld [wBallType], a - ld [$d4c8], a - ld hl, $d624 - ld [hli], a - ld [hli], a - ld [hli], a - ld [$d7ac], a - ld [$d7be], a - ld [wCurrentMap], a ; PALLET_TOWN - ld a, $1 - ld [$d49d], a - ld [$d482], a - ld a, $2 - ld [wRightAlleyCount], a - ld a, $3 - ld [$d49e], a - ld [$d610], a - ld a, $2 - ld [$d498], a - ld [$d499], a - ld a, $80 - ld [wIndicatorStates], a - ld [wIndicatorStates + 3], a - ld a, $82 - ld [wIndicatorStates + 1], a - xor a - ld [$d648], a - ld [$d649], a - ld [$d64a], a - ld [$d643], a - ld [$d644], a - ld [$d645], a - ld [$d646], a - ld [$ff8a], a - ld a, Bank(Func_dbba) - ld hl, Func_dbba - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_1d65f) - ld hl, Func_1d65f - call BankSwitch - ld a, $10 - call SetSongBank - ld de, $0001 - call PlaySong - ret + ld a, [$d7c1] + and a + ret nz + xor a + ld hl, $d46f + ld [hld], a + ld [hld], a + ld [hld], a + ld [hld], a + ld [hld], a + ld [hl], a + ld [wNumPartyMons], a + ld [$d49b], a + ld [$d4c9], a + ld [wBallType], a + ld [$d4c8], a + ld hl, $d624 + ld [hli], a + ld [hli], a + ld [hli], a + ld [$d7ac], a + ld [$d7be], a + ld [wCurrentMap], a ; PALLET_TOWN + ld a, $1 + ld [$d49d], a + ld [$d482], a + ld a, $2 + ld [wRightAlleyCount], a + ld a, $3 + ld [$d49e], a + ld [$d610], a + ld a, $2 + ld [$d498], a + ld [$d499], a + ld a, $80 + ld [wIndicatorStates], a + ld [wIndicatorStates + 3], a + ld a, $82 + ld [wIndicatorStates + 1], a + xor a + ld [$d648], a + ld [$d649], a + ld [$d64a], a + ld [$d643], a + ld [$d644], a + ld [$d645], a + ld [$d646], a + ld [$ff8a], a + ld a, Bank(Func_dbba) + ld hl, Func_dbba + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_1d65f) + ld hl, Func_1d65f + call BankSwitch + ld a, $10 + call SetSongBank + ld de, $0001 + call PlaySong + ret StartBallBlueField: ; 0x1c08d - ld a, [$d496] - and a - jp nz, StartBallAfterBonusStageBlueField - ld a, $0 - ld [wBallXPos], a - ld a, $a7 - ld [wBallXPos + 1], a - ld a, $0 - ld [wBallYPos], a - ld a, $98 - ld [wBallYPos + 1], a - xor a - ld [$d549], a - ld [$d580], a - call Func_1c7c7 - ld a, [$d4c9] - and a - ret z - xor a - ld [$d4c9], a - xor a - ld [$d50b], a - ld [$d50c], a - ld [$d51d], a - ld [$d51e], a - ld [$d517], a - ld hl, $d50f - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [wLeftMapMoveCounter], a - ld [wRightMapMoveCounter], a - ld hl, $d5f9 - ld [hli], a - ld [hli], a - ld [hli], a - ld [wBallType], a - ld [$d611], a - ld [$d612], a - ld [$d628], a - ld [$d629], a - ld [$d62a], a - ld [$d62b], a - ld [$d62c], a - ld [$d63a], a - ld [$d63b], a - ld [$d63d], a - ld [$d63c], a - ld [$d62d], a - ld [$d62e], a - ld [$d613], a - inc a - ld [$d482], a - ld [$d4ef], a - ld [$d4f1], a - ld a, $3 - ld [$d610], a - call Func_1d65f - ld a, $10 - call SetSongBank - ld de, $0001 - call PlaySong - ret + ld a, [$d496] + and a + jp nz, StartBallAfterBonusStageBlueField + ld a, $0 + ld [wBallXPos], a + ld a, $a7 + ld [wBallXPos + 1], a + ld a, $0 + ld [wBallYPos], a + ld a, $98 + ld [wBallYPos + 1], a + xor a + ld [$d549], a + ld [$d580], a + call Func_1c7c7 + ld a, [$d4c9] + and a + ret z + xor a + ld [$d4c9], a + xor a + ld [$d50b], a + ld [$d50c], a + ld [$d51d], a + ld [$d51e], a + ld [$d517], a + ld hl, $d50f + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [wLeftMapMoveCounter], a + ld [wRightMapMoveCounter], a + ld hl, $d5f9 + ld [hli], a + ld [hli], a + ld [hli], a + ld [wBallType], a + ld [$d611], a + ld [$d612], a + ld [$d628], a + ld [$d629], a + ld [$d62a], a + ld [$d62b], a + ld [$d62c], a + ld [$d63a], a + ld [$d63b], a + ld [$d63d], a + ld [$d63c], a + ld [$d62d], a + ld [$d62e], a + ld [$d613], a + inc a + ld [$d482], a + ld [$d4ef], a + ld [$d4f1], a + ld a, $3 + ld [$d610], a + call Func_1d65f + ld a, $10 + call SetSongBank + ld de, $0001 + call PlaySong + ret StartBallAfterBonusStageBlueField: ; 0x1c129 - ld a, $0 - ld [wBallXPos], a - ld a, $50 - ld [wBallXPos + 1], a - ld a, $0 - ld [wBallYPos], a - ld a, $16 - ld [wBallYPos + 1], a - xor a - ld [wBallYVelocity], a - ld [wBallYVelocity + 1], a - ld [wBallXVelocity], a - ld [wBallXVelocity + 1], a - ld [$d496], a - ld [$d7ab], a - ld [$d7be], a - ld a, [wBallTypeBackup] - ld [wBallType], a - ld a, $10 - call SetSongBank - ld de, $0001 - call PlaySong - ret + ld a, $0 + ld [wBallXPos], a + ld a, $50 + ld [wBallXPos + 1], a + ld a, $0 + ld [wBallYPos], a + ld a, $16 + ld [wBallYPos + 1], a + xor a + ld [wBallYVelocity], a + ld [wBallYVelocity + 1], a + ld [wBallXVelocity], a + ld [wBallXVelocity + 1], a + ld [$d496], a + ld [$d7ab], a + ld [$d7be], a + ld a, [wBallTypeBackup] + ld [wBallType], a + ld a, $10 + call SetSongBank + ld de, $0001 + call PlaySong + ret Func_1c165: ; 0x1c165 - call asm_1e475 - call Func_1cb43 - call Func_1c3ee - call Func_1e8f6 - ld [$ff8a], a - ld a, Bank(Func_142fc) - ld hl, Func_142fc - call BankSwitch - ld a, $1 - ld [$d640], a - call Func_1f18a - ld [$ff8a], a - ld a, Bank(Func_1404a) - ld hl, Func_1404a - call BankSwitch - call Func_1c203 - ret + call asm_1e475 + call Func_1cb43 + call Func_1c3ee + call Func_1e8f6 + ld [$ff8a], a + ld a, Bank(Func_142fc) + ld hl, Func_142fc + call BankSwitch + ld a, $1 + ld [$d640], a + call Func_1f18a + ld [$ff8a], a + ld a, Bank(Func_1404a) + ld hl, Func_1404a + call BankSwitch + call Func_1c203 + ret Func_1c191: ; 0x1c191 - call Func_1c1db - call Func_1c4b6 - call Func_1c2cb - call Func_1e627 - call Func_1c43c - call Func_1c305 - call Func_1c3ee - ld [$ff8a], a - ld a, Bank(Func_14746) - ld hl, Func_14746 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_14707) - ld hl, Func_14707 - call BankSwitch - call Func_1c235 - call Func_1c21e - call Func_1e8f6 - ld [$ff8a], a - ld a, Bank(Func_142fc) - ld hl, Func_142fc - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_1404a) - ld hl, Func_1404a - call BankSwitch - call Func_1c203 - ret + call Func_1c1db + call Func_1c4b6 + call Func_1c2cb + call Func_1e627 + call Func_1c43c + call Func_1c305 + call Func_1c3ee + ld [$ff8a], a + ld a, Bank(Func_14746) + ld hl, Func_14746 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_14707) + ld hl, Func_14707 + call BankSwitch + call Func_1c235 + call Func_1c21e + call Func_1e8f6 + ld [$ff8a], a + ld a, Bank(Func_142fc) + ld hl, Func_142fc + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_1404a) + ld hl, Func_1404a + call BankSwitch + call Func_1c203 + ret Func_1c1db: ; 0x1c1db - ld a, [$d641] - cp $0 - ret z - ld a, $1 - ld [$d640], a - ld a, $0 - ld [$d641], a - ld a, [wBlueStageForceFieldDirection] - cp $2 ; down direction - ret nz - ld a, $0 - ld [wBlueStageForceFieldDirection], a - ld a, $1 ; right direction - ld [$d64a], a - xor a - ld [$d649], a - ld [$d648], a - ret + ld a, [$d641] + cp $0 + ret z + ld a, $1 + ld [$d640], a + ld a, $0 + ld [$d641], a + ld a, [wBlueStageForceFieldDirection] + cp $2 ; down direction + ret nz + ld a, $0 + ld [wBlueStageForceFieldDirection], a + ld a, $1 ; right direction + ld [$d64a], a + xor a + ld [$d649], a + ld [$d648], a + ret Func_1c203: ; 0x1c203 - ld a, $ff - ld [$d4d7], a - ld [$d4db], a - ld a, [$d4b4] - ld [$d4c5], a - ld a, [$d4b6] - ld [$d4c6], a - ld a, [wBallRotation] - ld [$d4c7], a - ret + ld a, $ff + ld [$d4d7], a + ld [$d4db], a + ld a, [$d4b4] + ld [$d4c5], a + ld a, [$d4b6] + ld [$d4c6], a + ld a, [wBallRotation] + ld [$d4c7], a + ret Func_1c21e: ; 0x1c21e - ld a, $ff - ld [$d60e], a - ld [$d60f], a - ld a, [$d60c] - call Func_1d5f2 - ld a, [$d60d] - add $14 - call Func_1d5f2 - ret + ld a, $ff + ld [$d60e], a + ld [$d60f], a + ld a, [$d60c] + call Func_1d5f2 + ld a, [$d60d] + add $14 + call Func_1d5f2 + ret Func_1c235: ; 0x1c235 - ld a, [wLeftMapMoveDiglettAnimationCounter] - and a - jr z, .asm_1c249 - ld a, $54 - ld [$c7e3], a - ld a, $55 - ld [$c803], a - ld a, $1 - jr .asm_1c24a + ld a, [wLeftMapMoveDiglettAnimationCounter] + and a + jr z, .asm_1c249 + ld a, $54 + ld [$c7e3], a + ld a, $55 + ld [$c803], a + ld a, $1 + jr .asm_1c24a .asm_1c249 - xor a + xor a .asm_1c24a - call Func_1de4b - ld a, [wLeftMapMoveCounter] - call Func_1de6f - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_1c267 - ld a, [wLeftMapMoveCounter] - cp $0 - jr z, .asm_1c264 - ld b, $7 - add b - jr .asm_1c269 + call Func_1de4b + ld a, [wLeftMapMoveCounter] + call Func_1de6f + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_1c267 + ld a, [wLeftMapMoveCounter] + cp $0 + jr z, .asm_1c264 + ld b, $7 + add b + jr .asm_1c269 .asm_1c264 - xor a - jr .asm_1c269 + xor a + jr .asm_1c269 .asm_1c267 - ld a, $8 + ld a, $8 .asm_1c269 - call Func_1de6f - ld a, [wRightMapMoveDiglettFrame] - and a - jr z, .asm_1c295 - ld a, $52 - ld [$c7f0], a - ld a, $53 - ld [$c810], a - ld a, [$d644] - and a - jr z, .asm_1c28a - ld a, [$d55a] - and a - jr nz, .asm_1c2bd - jr .asm_1c291 + call Func_1de6f + ld a, [wRightMapMoveDiglettFrame] + and a + jr z, .asm_1c295 + ld a, $52 + ld [$c7f0], a + ld a, $53 + ld [$c810], a + ld a, [$d644] + and a + jr z, .asm_1c28a + ld a, [$d55a] + and a + jr nz, .asm_1c2bd + jr .asm_1c291 .asm_1c28a - ld a, [wRightMapMoveCounter] - add $3 - jr .asm_1c297 + ld a, [wRightMapMoveCounter] + add $3 + jr .asm_1c297 .asm_1c291 - ld a, $3 - jr .asm_1c297 + ld a, $3 + jr .asm_1c297 .asm_1c295 - ld a, $2 + ld a, $2 .asm_1c297 - call Func_1de4b - ld a, [wRightMapMoveCounter] - add $4 - call Func_1de6f - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_1c2b7 - ld a, [wRightMapMoveCounter] - cp $0 - jr z, .asm_1c2b3 - ld b, $a - add b - jr .asm_1c2b9 + call Func_1de4b + ld a, [wRightMapMoveCounter] + add $4 + call Func_1de6f + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_1c2b7 + ld a, [wRightMapMoveCounter] + cp $0 + jr z, .asm_1c2b3 + ld b, $a + add b + jr .asm_1c2b9 .asm_1c2b3 - ld a, $4 - jr .asm_1c2b9 + ld a, $4 + jr .asm_1c2b9 .asm_1c2b7 - ld a, $9 + ld a, $9 .asm_1c2b9 - call Func_1de6f - ret + call Func_1de6f + ret .asm_1c2bd - ld a, $6 - call Func_1de4b - ld a, [wRightMapMoveCounter] - add $4 - call Func_1de6f - ret + ld a, $6 + call Func_1de4b + ld a, [wRightMapMoveCounter] + add $4 + call Func_1de6f + ret Func_1c2cb: ; 0x1c2cb - ld a, [wCurrentStage] - bit 0, a - ret z - ld bc, $0000 + ld a, [wCurrentStage] + bit 0, a + ret z + ld bc, $0000 .asm_1c2d4 - push bc - ld hl, wIndicatorStates - add hl, bc - ld a, [hl] - res 7, a - call Func_1eb41 - pop bc - inc c - ld a, c - cp $2 - jr nz, .asm_1c2d4 - ld bc, $0002 + push bc + ld hl, wIndicatorStates + add hl, bc + ld a, [hl] + res 7, a + call Func_1eb41 + pop bc + inc c + ld a, c + cp $2 + jr nz, .asm_1c2d4 + ld bc, $0002 .asm_1c2e9 - push bc - ld hl, wIndicatorStates - add hl, bc - ld a, [hl] - push af - ld hl, $d648 - add hl, bc - dec hl - dec hl - ld a, [hl] - ld d, a - pop af - add d - call Func_1eb41 - pop bc - inc c - ld a, c - cp $5 - jr nz, .asm_1c2e9 - ret + push bc + ld hl, wIndicatorStates + add hl, bc + ld a, [hl] + push af + ld hl, $d648 + add hl, bc + dec hl + dec hl + ld a, [hl] + ld d, a + pop af + add d + call Func_1eb41 + pop bc + inc c + ld a, c + cp $5 + jr nz, .asm_1c2e9 + ret Func_1c305: ; 0x1c305 - ld a, [wInSpecialMode] - and a - ret z - ld a, [wSpecialMode] - cp $2 - ret z - ld a, [$d5c6] - and a - jr nz, .asm_1c31f - ld a, [$d5f3] - and a - jr nz, .asm_1c31f - jp Func_1c3ca + ld a, [wInSpecialMode] + and a + ret z + ld a, [wSpecialMode] + cp $2 + ret z + ld a, [$d5c6] + and a + jr nz, .asm_1c31f + ld a, [$d5f3] + and a + jr nz, .asm_1c31f + jp Func_1c3ca .asm_1c31f - ld [$ff8a], a - ld a, Bank(Func_1c3ac) - ld hl, Func_1c3ac - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_10362) - ld hl, Func_10362 - call BankSwitch - ld a, [hGameBoyColorFlag] - and a - ld [$ff8a], a - ld a, Bank(Func_10301) - ld hl, Func_10301 - call nz, BankSwitch - ld a, [$d5f3] - and a - ret z - ld a, $2a - ld hl, $47e0 - ld de, $87e0 - ld bc, $0020 - call CopyDataToRAM - ld a, $2a - ld hl, $4800 - ld de, $8900 - ld bc, $0180 - call CopyDataToRAM - ld a, [wBallType] - cp GREAT_BALL - jr nc, .notPokeball - ld a, Bank(PinballPokeballShakeGfx) - ld hl, PinballPokeballShakeGfx - ld de, $8380 - ld bc, $0040 - call CopyDataToRAM - ret + ld [$ff8a], a + ld a, Bank(Func_1c3ac) + ld hl, Func_1c3ac + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_10362) + ld hl, Func_10362 + call BankSwitch + ld a, [hGameBoyColorFlag] + and a + ld [$ff8a], a + ld a, Bank(Func_10301) + ld hl, Func_10301 + call nz, BankSwitch + ld a, [$d5f3] + and a + ret z + ld a, $2a + ld hl, $47e0 + ld de, $87e0 + ld bc, $0020 + call FarCopyData + ld a, $2a + ld hl, $4800 + ld de, $8900 + ld bc, $0180 + call FarCopyData + ld a, [wBallType] + cp GREAT_BALL + jr nc, .notPokeball + ld a, Bank(PinballPokeballShakeGfx) + ld hl, PinballPokeballShakeGfx + ld de, $8380 + ld bc, $0040 + call FarCopyData + ret .notPokeball - cp ULTRA_BALL - jr nc, .notGreatball - ld a, Bank(PinballGreatballShakeGfx) - ld hl, PinballGreatballShakeGfx - ld de, $8380 - ld bc, $0040 - call CopyDataToRAM - ret + cp ULTRA_BALL + jr nc, .notGreatball + ld a, Bank(PinballGreatballShakeGfx) + ld hl, PinballGreatballShakeGfx + ld de, $8380 + ld bc, $0040 + call FarCopyData + ret .notGreatball - cp MASTER_BALL - jr nc, .notUltraBall - ld a, Bank(PinballUltraballShakeGfx) - ld hl, PinballUltraballShakeGfx - ld de, $8380 - ld bc, $0040 - call CopyDataToRAM - ret + cp MASTER_BALL + jr nc, .notUltraBall + ld a, Bank(PinballUltraballShakeGfx) + ld hl, PinballUltraballShakeGfx + ld de, $8380 + ld bc, $0040 + call FarCopyData + ret .notUltraBall - ld a, Bank(PinballMasterballShakeGfx) - ld hl, PinballMasterballShakeGfx - ld de, $8380 - ld bc, $0040 - call CopyDataToRAM - ret + ld a, Bank(PinballMasterballShakeGfx) + ld hl, PinballMasterballShakeGfx + ld de, $8380 + ld bc, $0040 + call FarCopyData + ret Func_1c3ac: ; 0x1c3ac - ld a, $80 - ld hl, $9887 - call Func_1c3c3 - ld hl, $98a7 - call Func_1c3c3 - ld hl, $98c7 - call Func_1c3c3 - ld hl, $98e7 - ; fall through + ld a, $80 + ld hl, $9887 + call Func_1c3c3 + ld hl, $98a7 + call Func_1c3c3 + ld hl, $98c7 + call Func_1c3c3 + ld hl, $98e7 + ; fall through Func_1c3c3: ; 0x1c3c3 - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ret + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ret Func_1c3ca: ; 0x1c3ca - ld hl, $d586 - ld b, $18 + ld hl, $d586 + ld b, $18 .asm_1c3cf - ld a, [hli] - xor $1 - ld [hli], a - dec b - jr nz, .asm_1c3cf - ld [$ff8a], a - ld a, Bank(Func_10184) - ld hl, Func_10184 - call BankSwitch - ld a, [hGameBoyColorFlag] - and a - ld [$ff8a], a - ld a, Bank(Func_102bc) - ld hl, Func_102bc - call nz, BankSwitch - ret + ld a, [hli] + xor $1 + ld [hli], a + dec b + jr nz, .asm_1c3cf + ld [$ff8a], a + ld a, Bank(Func_10184) + ld hl, Func_10184 + call BankSwitch + ld a, [hGameBoyColorFlag] + and a + ld [$ff8a], a + ld a, Bank(Func_102bc) + ld hl, Func_102bc + call nz, BankSwitch + ret Func_1c3ee: ; 0x1c3ee - ld a, [wInSpecialMode] - and a - ret z - ld a, [wSpecialMode] - cp $1 - ret nz - ld a, [$d554] - cp $3 - ret z - ld a, [wCurrentStage] - bit 0, a - jr nz, .asm_1c416 - ld a, $36 - ld hl, $7e80 - ld de, $8600 - ld bc, $00e0 - call CopyDataToRAM - jr .asm_1c424 + ld a, [wInSpecialMode] + and a + ret z + ld a, [wSpecialMode] + cp $1 + ret nz + ld a, [$d554] + cp $3 + ret z + ld a, [wCurrentStage] + bit 0, a + jr nz, .asm_1c416 + ld a, $36 + ld hl, $7e80 + ld de, $8600 + ld bc, $00e0 + call FarCopyData + jr .asm_1c424 .asm_1c416 - ld a, $36 - ld hl, $7e80 - ld de, $8200 - ld bc, $00e0 - call CopyDataToRAM + ld a, $36 + ld hl, $7e80 + ld de, $8200 + ld bc, $00e0 + call FarCopyData .asm_1c424 - ld a, [$d551] - and a - ret z - ld a, [hGameBoyColorFlag] - and a - ret z - ld a, $37 - ld hl, $5188 - ld de, $0070 - ld bc, $0010 - call Func_6fd - ret + ld a, [$d551] + and a + ret z + ld a, [hGameBoyColorFlag] + and a + ret z + ld a, $37 + ld hl, $5188 + ld de, $0070 + ld bc, $0010 + call Func_6fd + ret Func_1c43c: ; 0x1c43c - ld a, [wInSpecialMode] - and a - jr z, .asm_1c458 - ld a, [wSpecialMode] - and a - jr nz, .asm_1c450 - ld a, [wNumMonHits] - and a - call nz, Func_1c46d - ret + ld a, [wInSpecialMode] + and a + jr z, .asm_1c458 + ld a, [wSpecialMode] + and a + jr nz, .asm_1c450 + ld a, [wNumMonHits] + and a + call nz, Func_1c46d + ret .asm_1c450 - cp $1 - jr nz, .asm_1c458 - call Func_1c47d - ret + cp $1 + jr nz, .asm_1c458 + call Func_1c47d + ret .asm_1c458 - ld a, [$d624] - call Func_1f265 - ld a, $36 - ld hl, $4f60 - ld de, $8ae0 - ld bc, $0020 - call CopyDataToRAM - ret + ld a, [$d624] + call Func_1f265 + ld a, $36 + ld hl, $4f60 + ld de, $8ae0 + ld bc, $0020 + call FarCopyData + ret Func_1c46d: ; 0x1c46d - push af - ld [$ff8a], a - ld a, Bank(Func_10611) - ld hl, Func_10611 - call BankSwitch - pop af - dec a - jr nz, Func_1c46d - ret + push af + ld [$ff8a], a + ld a, Bank(Func_10611) + ld hl, Func_10611 + call BankSwitch + pop af + dec a + jr nz, Func_1c46d + ret Func_1c47d: ; 0x1c47d - ld de, $0000 - ld a, [$d554] - and a - ret z - ld b, a + ld de, $0000 + ld a, [$d554] + and a + ret z + ld b, a .asm_1c486 - ld a, [wCurrentEvolutionType] - call Func_1c491 - inc de - dec b - jr nz, .asm_1c486 - ret + ld a, [wCurrentEvolutionType] + call Func_1c491 + inc de + dec b + jr nz, .asm_1c486 + ret Func_1c491: ; 0x1c491 - push bc - push de - dec a - ld c, a - ld b, $0 - swap c - sla c - ld hl, $4e80 - add hl, bc - swap e - sla e - push hl - ld hl, $8ae0 - add hl, de - ld d, h - ld e, l - pop hl - ld bc, $0020 - ld a, $36 - call CopyDataToRAM - pop de - pop bc - ret + push bc + push de + dec a + ld c, a + ld b, $0 + swap c + sla c + ld hl, $4e80 + add hl, bc + swap e + sla e + push hl + ld hl, $8ae0 + add hl, de + ld d, h + ld e, l + pop hl + ld bc, $0020 + ld a, $36 + call FarCopyData + pop de + pop bc + ret Func_1c4b6: ; 0x1c4b6 - ld a, [wInSpecialMode] - and a - jr nz, .asm_1c4f0 - ld a, [$d609] - and a - jr z, .asm_1c4d2 - ld a, [$d498] - add $15 - ld [$ff8a], a - ld a, Bank(Func_30256) - ld hl, Func_30256 - call BankSwitch - ret + ld a, [wInSpecialMode] + and a + jr nz, .asm_1c4f0 + ld a, [$d609] + and a + jr z, .asm_1c4d2 + ld a, [$d498] + add $15 + ld [$ff8a], a + ld a, Bank(Func_30256) + ld hl, Func_30256 + call BankSwitch + ret .asm_1c4d2 - ld a, [$d608] - and a - jr z, .asm_1c4e5 - ld a, $1a - ld [$ff8a], a - ld a, Bank(Func_30256) - ld hl, Func_30256 - call BankSwitch - ret + ld a, [$d608] + and a + jr z, .asm_1c4e5 + ld a, $1a + ld [$ff8a], a + ld a, Bank(Func_30256) + ld hl, Func_30256 + call BankSwitch + ret .asm_1c4e5 - ld [$ff8a], a - ld a, Bank(Func_30253) - ld hl, Func_30253 - call BankSwitch - ret + ld [$ff8a], a + ld a, Bank(Func_30253) + ld hl, Func_30253 + call BankSwitch + ret .asm_1c4f0 - ld a, [wSpecialMode] - cp $2 - ret nz - ld a, [$d54d] - cp $3 - jr nz, .asm_1c508 - ld [$ff8a], a - ld a, Bank(Func_30253) - ld hl, Func_30253 - call BankSwitch - ret + ld a, [wSpecialMode] + cp $2 + ret nz + ld a, [$d54d] + cp $3 + jr nz, .asm_1c508 + ld [$ff8a], a + ld a, Bank(Func_30253) + ld hl, Func_30253 + call BankSwitch + ret .asm_1c508 - ld a, [$d604] - and a - ld a, $14 - jr nz, .asm_1c515 - ld a, [$d55a] - add $12 + ld a, [$d604] + and a + ld a, $14 + jr nz, .asm_1c515 + ld a, [$d55a] + add $12 .asm_1c515 - ld [$ff8a], a - ld a, Bank(Func_30256) - ld hl, Func_30256 - call BankSwitch - ret + ld [$ff8a], a + ld a, Bank(Func_30256) + ld hl, Func_30256 + call BankSwitch + ret Func_1c520: ; 0x1c520 - call Func_1c55a ; shellders - call Func_1c567 ; spinner - call Func_1c57e - call Func_1c592 - call Func_1c588 - call Func_1c5c0 - call Func_1c5eb - ret + call Func_1c55a ; shellders + call Func_1c567 ; spinner + call Func_1c57e + call Func_1c592 + call Func_1c588 + call Func_1c5c0 + call Func_1c5eb + ret Func_1c536: ; 0x1c536 - ld a, [wBallYPos + 1] - cp $56 - jr nc, .asm_1c54d - call Func_1c5de - call Func_1c5b3 - call Func_1c5a6 - call Func_1c5d4 - call Func_1c5eb - ret + ld a, [wBallYPos + 1] + cp $56 + jr nc, .asm_1c54d + call Func_1c5de + call Func_1c5b3 + call Func_1c5a6 + call Func_1c5d4 + call Func_1c5eb + ret .asm_1c54d - call Func_1c571 - call Func_1c59c - call Func_1c5ca - call Func_1c607 - ret + call Func_1c571 + call Func_1c59c + call Func_1c5ca + call Func_1c607 + ret Func_1c55a: ; 0x1c55a - ld de, $4644 - ld hl, $462e - ld bc, $d4cb - and a - jp Func_2775 + ld de, $4644 + ld hl, $462e + ld bc, $d4cb + and a + jp Func_2775 Func_1c567: ; 0x1c567 - ld de, $4650 - ld bc, $d507 - scf - jp Func_2775 + ld de, $4650 + ld bc, $d507 + scf + jp Func_2775 Func_1c571: ; 0x1c571 - ld de, $4625 - ld hl, $4611 - ld bc, $d4d8 - and a - jp Func_2775 + ld de, $4625 + ld hl, $4611 + ld bc, $d4d8 + and a + jp Func_2775 Func_1c57e: ; 0x1c57e - ld de, $4656 - ld bc, $d51f - scf - jp Func_2775 + ld de, $4656 + ld bc, $d51f + scf + jp Func_2775 Func_1c588: ; 0x1c588 - ld de, $4665 - ld bc, $d635 - scf - jp Func_2775 + ld de, $4665 + ld bc, $d635 + scf + jp Func_2775 Func_1c592: ; 0x1c592 - ld de, $466b - ld bc, $d630 - scf - jp Func_2775 + ld de, $466b + ld bc, $d630 + scf + jp Func_2775 Func_1c59c: ; 0x1c59c - ld de, $4671 - ld bc, $d515 - scf - jp Func_2775 + ld de, $4671 + ld bc, $d515 + scf + jp Func_2775 Func_1c5a6: ; 0x1c5a6 - ld de, $4686 - ld hl, $467a - ld bc, $d60a - and a - jp Func_2775 + ld de, $4686 + ld hl, $467a + ld bc, $d60a + and a + jp Func_2775 Func_1c5b3: ; 0x1c5b3 - ld de, $4695 - ld hl, $468f - ld bc, $d4ed - and a - jp Func_2775 + ld de, $4695 + ld hl, $468f + ld bc, $d4ed + and a + jp Func_2775 Func_1c5c0: ; 0x1c5c0 - ld de, $469e - ld bc, $d5f7 - scf - jp Func_2775 + ld de, $469e + ld bc, $d5f7 + scf + jp Func_2775 Func_1c5ca: ; 0x1c5ca - ld de, $46aa - ld bc, $d50d - scf - jp Func_2775 + ld de, $46aa + ld bc, $d50d + scf + jp Func_2775 Func_1c5d4: ; 0x1c5d4 - ld de, $46b9 - ld bc, $d601 - scf - jp Func_2775 + ld de, $46b9 + ld bc, $d601 + scf + jp Func_2775 Func_1c5de: ; 0x1c5de - ld de, $46d1 - ld hl, $46bf - ld bc, $d5c7 - and a - jp Func_2775 + ld de, $46d1 + ld hl, $46bf + ld bc, $d5c7 + and a + jp Func_2775 Func_1c5eb: ; 0x1c5eb - xor a - ld [$d578], a - ld a, [$d551] - and a - ret z - ld a, [wCurrentStage] - bit 0, a - jr nz, .asm_1c601 - ld hl, BlueTopEvolutionTrinketCoords - jp PinballCollideWithPoints + xor a + ld [$d578], a + ld a, [$d551] + and a + ret z + ld a, [wCurrentStage] + bit 0, a + jr nz, .asm_1c601 + ld hl, BlueTopEvolutionTrinketCoords + jp PinballCollideWithPoints .asm_1c601 - ld hl, BlueBottomEvolutionTrinketCoords - jp PinballCollideWithPoints + ld hl, BlueBottomEvolutionTrinketCoords + jp PinballCollideWithPoints Func_1c607: ; 0x1c607 - ld de, $470f - ld bc, $d4dc - scf - jp Func_2775 + ld de, $470f + ld bc, $d4dc + scf + jp Func_2775 -INCBIN "baserom.gbc",$1c611,$1c6d7 - $1c611 + dr $1c611, $1c6d7 BlueTopEvolutionTrinketCoords: ; 0x1c6d7 ; First byte is just non-zero to signify that the array hasn't ended. ; Second byte is x coordinate. ; Third byte is y coordinate. - db $01, $44, $11 - db $01, $23, $1B - db $01, $65, $1B - db $01, $0D, $2E - db $01, $7A, $2E - db $01, $05, $48 - db $01, $44, $88 - db $01, $83, $48 - db $01, $02, $6E - db $01, $2E, $88 - db $01, $59, $88 - db $01, $85, $6E - db $00 + db $01, $44, $11 + db $01, $23, $1B + db $01, $65, $1B + db $01, $0D, $2E + db $01, $7A, $2E + db $01, $05, $48 + db $01, $44, $88 + db $01, $83, $48 + db $01, $02, $6E + db $01, $2E, $88 + db $01, $59, $88 + db $01, $85, $6E + db $00 BlueBottomEvolutionTrinketCoords: ; 0x1c6fc ; First byte is just non-zero to signify that the array hasn't ended. ; Second byte is x coordinate. ; Third byte is y coordinate. - db $01, $33, $1B - db $01, $55, $1B - db $01, $29, $1F - db $01, $5F, $1F - db $01, $1D, $35 - db $01, $6B, $35 - db $00 + db $01, $33, $1B + db $01, $55, $1B + db $01, $29, $1F + db $01, $5F, $1F + db $01, $1D, $35 + db $01, $6B, $35 + db $00 -INCBIN "baserom.gbc",$1c70f,$1c715 - $1c70f + dr $1c70f, $1c715 Func_1c715: ; 0x1c715 - call Func_1c9c1 - call Func_1ca5f - call Func_1e356 - call HandleBallTypeUpgradeCounterBlueField - call Func_1e66a - call Func_1cfaa - call Func_1d0a1 - call Func_1d216 - call HandleEnteringCloyster - call Func_1ea3b - call Func_1dbd2 - call Func_1ef09 - call Func_1e9c0 - call Func_1c8b6 - call Func_1f18a - ld [$ff8a], a - ld a, Bank(Func_146a9) - ld hl, Func_146a9 - call BankSwitch - call Func_1f27b - call Func_1df15 - ld [$ff8a], a - ld a, Bank(Func_30188) - ld hl, Func_30188 - call BankSwitch - ld a, $0 - ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch - ret + call Func_1c9c1 + call Func_1ca5f + call Func_1e356 + call HandleBallTypeUpgradeCounterBlueField + call Func_1e66a + call Func_1cfaa + call Func_1d0a1 + call Func_1d216 + call HandleEnteringCloyster + call Func_1ea3b + call Func_1dbd2 + call Func_1ef09 + call Func_1e9c0 + call Func_1c8b6 + call Func_1f18a + ld [$ff8a], a + ld a, Bank(Func_146a9) + ld hl, Func_146a9 + call BankSwitch + call Func_1f27b + call Func_1df15 + ld [$ff8a], a + ld a, Bank(Func_30188) + ld hl, Func_30188 + call BankSwitch + ld a, $0 + ld [$ff8a], a + ld a, Bank(Func_10000) + ld hl, Func_10000 + call BankSwitch + ret Func_1c769: ; 0x1c769 - call Func_1ca4a - call Func_1ce40 - call Func_1dbd2 - call Func_1ca85 - call Func_1e4b8 - call HandleBallTypeUpgradeCounterBlueField - call Func_1e5c5 - call Func_1c7d7 - call Func_1d0a1 - call Func_1ead4 - call Func_1d438 - call Func_1e757 - call Func_1e9c0 - call Func_1ea0a - call Func_1c8b6 - ld [$ff8a], a - ld a, Bank(Func_14733) - ld hl, Func_14733 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_146a2) - ld hl, Func_146a2 - call BankSwitch - call Func_1f261 - call Func_1de93 - ld [$ff8a], a - ld a, Bank(Func_30188) - ld hl, Func_30188 - call BankSwitch - ld a, $0 - ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch - ret + call Func_1ca4a + call Func_1ce40 + call Func_1dbd2 + call Func_1ca85 + call Func_1e4b8 + call HandleBallTypeUpgradeCounterBlueField + call Func_1e5c5 + call Func_1c7d7 + call Func_1d0a1 + call Func_1ead4 + call Func_1d438 + call Func_1e757 + call Func_1e9c0 + call Func_1ea0a + call Func_1c8b6 + ld [$ff8a], a + ld a, Bank(Func_14733) + ld hl, Func_14733 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_146a2) + ld hl, Func_146a2 + call BankSwitch + call Func_1f261 + call Func_1de93 + ld [$ff8a], a + ld a, Bank(Func_30188) + ld hl, Func_30188 + call BankSwitch + ld a, $0 + ld [$ff8a], a + ld a, Bank(Func_10000) + ld hl, Func_10000 + call BankSwitch + ret Func_1c7c7: ; 0x1c7c7 - ld a, $0 - ld [wStageCollisionState], a - ld [$ff8a], a - ld a, Bank(LoadStageCollisionAttributes) - ld hl, LoadStageCollisionAttributes - call BankSwitch - ret + ld a, $0 + ld [wStageCollisionState], a + ld [$ff8a], a + ld a, Bank(LoadStageCollisionAttributes) + ld hl, LoadStageCollisionAttributes + call BankSwitch + ret Func_1c7d7: ; 0x1c7d7 - ld a, [$d4dc] - and a - ret z - xor a - ld [$d4dc], a - ld a, [$d4de] - and a - jr z, .asm_1c810 - xor a - ld [wRightAlleyTrigger], a - ld [wLeftAlleyTrigger], a - ld [wSecondaryLeftAlleyTrigger], a - ld hl, wBallXVelocity - ld [hli], a - ld [hl], a - ld [wBallSpin], a - ld [wBallRotation], a - ld a, $71 - ld [wBallYVelocity], a - ld a, $fa - ld [wBallYVelocity + 1], a - ld a, $1 - ld [$d549], a - ld de, $000a - call PlaySoundEffect + ld a, [$d4dc] + and a + ret z + xor a + ld [$d4dc], a + ld a, [$d4de] + and a + jr z, .asm_1c810 + xor a + ld [wRightAlleyTrigger], a + ld [wLeftAlleyTrigger], a + ld [wSecondaryLeftAlleyTrigger], a + ld hl, wBallXVelocity + ld [hli], a + ld [hl], a + ld [wBallSpin], a + ld [wBallRotation], a + ld a, $71 + ld [wBallYVelocity], a + ld a, $fa + ld [wBallYVelocity + 1], a + ld a, $1 + ld [$d549], a + ld de, $000a + call PlaySoundEffect .asm_1c810 - ld a, $ff - ld [$d4ec], a - ld a, [$d4de] - and a - ret nz - ld a, [$d4e0] - and a - jr nz, .asm_1c82c - call Func_1c839 - ld a, $1 - ld [$d4e0], a - ld [$d4de], a - ret + ld a, $ff + ld [$d4ec], a + ld a, [$d4de] + and a + ret nz + ld a, [$d4e0] + and a + jr nz, .asm_1c82c + call Func_1c839 + ld a, $1 + ld [$d4e0], a + ld [$d4de], a + ret .asm_1c82c - ld hl, wKeyConfigBallStart - call IsKeyPressed - ret z - ld a, $1 - ld [$d4de], a - ret + ld hl, wKeyConfigBallStart + call IsKeyPressed + ret z + ld a, $1 + ld [$d4de], a + ret Func_1c839: ; 0x1c839 - ld a, [hGameBoyColorFlag] - and a - ld [$ff8a], a - ld a, Bank(Func_f269) - ld hl, Func_f269 - call nz, BankSwitch + ld a, [hGameBoyColorFlag] + and a + ld [$ff8a], a + ld a, Bank(Func_f269) + ld hl, Func_f269 + call nz, BankSwitch .showNextMap - ld a, [wInitialMapSelectionIndex] - inc a - cp $7 ; number of maps to choose from at the start of play - jr c, .gotMapId - xor a ; wrap around to 0 + ld a, [wInitialMapSelectionIndex] + inc a + cp $7 ; number of maps to choose from at the start of play + jr c, .gotMapId + xor a ; wrap around to 0 .gotMapId - ld [wInitialMapSelectionIndex], a - ld c, a - ld b, $0 - ld hl, BlueStageInitialMaps - add hl, bc - ld a, [hl] - ld [wCurrentMap], a - push af - ld de, $0048 - call PlaySoundEffect - pop af - add $29 ; map billboard pictures start at the $29th entry in BillboardPicturePointers - ld [$ff8a], a - ld a, Bank(LoadBillboardPicture) - ld hl, LoadBillboardPicture - call BankSwitch - ld b, $20 ; number of frames to delay before the next map is shown + ld [wInitialMapSelectionIndex], a + ld c, a + ld b, $0 + ld hl, BlueStageInitialMaps + add hl, bc + ld a, [hl] + ld [wCurrentMap], a + push af + ld de, $0048 + call PlaySoundEffect + pop af + add $29 ; map billboard pictures start at the $29th entry in BillboardPicturePointers + ld [$ff8a], a + ld a, Bank(LoadBillboardPicture) + ld hl, LoadBillboardPicture + call BankSwitch + ld b, $20 ; number of frames to delay before the next map is shown .waitOnCurrentMap - push bc - ld [$ff8a], a - ld a, Bank(Func_eeee) - ld hl, Func_eeee - call BankSwitch - ld hl, wKeyConfigBallStart - call IsKeyPressed - jr nz, .ballStartKeyPressed - pop bc - dec b - jr nz, .waitOnCurrentMap - jr .showNextMap + push bc + ld [$ff8a], a + ld a, Bank(Func_eeee) + ld hl, Func_eeee + call BankSwitch + ld hl, wKeyConfigBallStart + call IsKeyPressed + jr nz, .ballStartKeyPressed + pop bc + dec b + jr nz, .waitOnCurrentMap + jr .showNextMap .ballStartKeyPressed - pop bc - ld [$ff8a], a - ld a, Bank(Func_30253) - ld hl, Func_30253 - call BankSwitch - ld bc, $2cd1 - ld [$ff8a], a - ld a, Bank(Func_3118f) - ld hl, Func_3118f - call BankSwitch - ld a, [wCurrentMap] - ld [$d4e3], a - xor a - ld [$d4e2], a - ret + pop bc + ld [$ff8a], a + ld a, Bank(Func_30253) + ld hl, Func_30253 + call BankSwitch + ld bc, $2cd1 + ld [$ff8a], a + ld a, Bank(Func_3118f) + ld hl, Func_3118f + call BankSwitch + ld a, [wCurrentMap] + ld [$d4e3], a + xor a + ld [$d4e2], a + ret BlueStageInitialMaps: ; 0x1c8af - db VIRIDIAN_CITY - db VIRIDIAN_FOREST - db MT_MOON - db CERULEAN_CITY - db VERMILION_STREETS - db ROCK_MOUNTAIN - db CELADON_CITY + db VIRIDIAN_CITY + db VIRIDIAN_FOREST + db MT_MOON + db CERULEAN_CITY + db VERMILION_STREETS + db ROCK_MOUNTAIN + db CELADON_CITY Func_1c8b6: ; 0x1c8b6 - ld a, [$d64c] - inc a - cp $3c - jr z, .asm_1c8c2 - ld [$d64c], a - ret + ld a, [$d64c] + inc a + cp $3c + jr z, .asm_1c8c2 + ld [$d64c], a + ret .asm_1c8c2 - xor a - ld [$d64c], a - ld hl, $d64d - inc [hl] - ld a, [hl] - cp $5 - ret nz - ld a, [$d644] - and a - jr nz, .asm_1c8e1 - ld a, [$d643] - and a - jr nz, .asm_1c8e5 - ld a, [wRightAlleyCount] - cp $2 - jr nc, .asm_1c8e5 + xor a + ld [$d64c], a + ld hl, $d64d + inc [hl] + ld a, [hl] + cp $5 + ret nz + ld a, [$d644] + and a + jr nz, .asm_1c8e1 + ld a, [$d643] + and a + jr nz, .asm_1c8e5 + ld a, [wRightAlleyCount] + cp $2 + jr nc, .asm_1c8e5 .asm_1c8e1 - xor a - ld [$d64b], a + xor a + ld [$d64b], a .asm_1c8e5 - ld a, [$d644] - and a - jr nz, .asm_1c8f8 - ld a, [$d643] - and a - jr nz, .asm_1c8fc - ld a, [wLeftAlleyCount] - cp $3 - jr z, .asm_1c8fc + ld a, [$d644] + and a + jr nz, .asm_1c8f8 + ld a, [$d643] + and a + jr nz, .asm_1c8fc + ld a, [wLeftAlleyCount] + cp $3 + jr z, .asm_1c8fc .asm_1c8f8 - xor a - ld [$d64b], a + xor a + ld [$d64b], a .asm_1c8fc - xor a - ld [$d64d], a - xor a - ld [$d64a], a - ld [$d649], a - ld [$d648], a - ld a, [wBlueStageForceFieldDirection] - cp $1 ; right direction - jr z, .asm_1c97f - cp $3 ; left direction - jr z, .asm_1c97f + xor a + ld [$d64d], a + xor a + ld [$d64a], a + ld [$d649], a + ld [$d648], a + ld a, [wBlueStageForceFieldDirection] + cp $1 ; right direction + jr z, .asm_1c97f + cp $3 ; left direction + jr z, .asm_1c97f .asm_1c915 - ld a, [$d644] - cp $0 - jr z, .asm_1c925 - ld a, [$d55a] - cp $0 - jr nz, .asm_1c933 - jr .asm_1c947 + ld a, [$d644] + cp $0 + jr z, .asm_1c925 + ld a, [$d55a] + cp $0 + jr nz, .asm_1c933 + jr .asm_1c947 .asm_1c925 - ld a, [$d643] - cp $0 - jr nz, .asm_1c933 - ld a, [wRightAlleyCount] - cp $2 - jr c, .asm_1c947 + ld a, [$d643] + cp $0 + jr nz, .asm_1c933 + ld a, [wRightAlleyCount] + cp $2 + jr c, .asm_1c947 .asm_1c933 - ld a, [$d64b] - cp $1 - jr z, .asm_1c947 - ld a, $1 ; right direction - ld [wBlueStageForceFieldDirection], a - ld [$d64b], a - ld [$d640], a - jr .asm_1c99e + ld a, [$d64b] + cp $1 + jr z, .asm_1c947 + ld a, $1 ; right direction + ld [wBlueStageForceFieldDirection], a + ld [$d64b], a + ld [$d640], a + jr .asm_1c99e .asm_1c947 - ld a, [$d644] - cp $0 - jr z, .asm_1c955 - ld a, [$d55a] - cp $0 - jr z, .asm_1c969 + ld a, [$d644] + cp $0 + jr z, .asm_1c955 + ld a, [$d55a] + cp $0 + jr z, .asm_1c969 .asm_1c955 - ld a, [$d643] - cp $0 - jr nz, .asm_1c969 - ld a, [wLeftAlleyCount] - cp $3 - jr nz, .asm_1c97f - ld a, [wInSpecialMode] - and a - jr nz, .asm_1c97f + ld a, [$d643] + cp $0 + jr nz, .asm_1c969 + ld a, [wLeftAlleyCount] + cp $3 + jr nz, .asm_1c97f + ld a, [wInSpecialMode] + and a + jr nz, .asm_1c97f .asm_1c969 - ld a, [$d64b] - cp $3 - jr z, .asm_1c915 - ld a, $3 ; left direction - ld [wBlueStageForceFieldDirection], a - ld [$d64b], a - ld a, $1 - ld [$d640], a - jr .asm_1c99e + ld a, [$d64b] + cp $3 + jr z, .asm_1c915 + ld a, $3 ; left direction + ld [wBlueStageForceFieldDirection], a + ld [$d64b], a + ld a, $1 + ld [$d640], a + jr .asm_1c99e .asm_1c97f - ld a, [$d641] - and a - jr nz, .asm_1c993 - xor a - ld [wBlueStageForceFieldDirection], a - ld a, $1 - ld [$d640], a - ld [$d64a], a - jr .asm_1c99e + ld a, [$d641] + and a + jr nz, .asm_1c993 + xor a + ld [wBlueStageForceFieldDirection], a + ld a, $1 + ld [$d640], a + ld [$d64a], a + jr .asm_1c99e .asm_1c993 - ld a, $2 ; down direction - ld [wBlueStageForceFieldDirection], a - ld a, $1 - ld [$d640], a - ret + ld a, $2 ; down direction + ld [wBlueStageForceFieldDirection], a + ld a, $1 + ld [$d640], a + ret .asm_1c99e - ld a, [wBlueStageForceFieldDirection] - cp $0 ; up direction - jr nz, .asm_1c9ac - ld a, $1 - ld [$d64a], a - jr .asm_1c9c0 + ld a, [wBlueStageForceFieldDirection] + cp $0 ; up direction + jr nz, .asm_1c9ac + ld a, $1 + ld [$d64a], a + jr .asm_1c9c0 .asm_1c9ac - cp $1 - jr nz, .asm_1c9b7 - ld a, $1 - ld [$d649], a - jr .asm_1c9c0 + cp $1 + jr nz, .asm_1c9b7 + ld a, $1 + ld [$d649], a + jr .asm_1c9c0 .asm_1c9b7 - cp $3 - jr nz, .asm_1c9c0 - ld a, $1 - ld [$d648], a + cp $3 + jr nz, .asm_1c9c0 + ld a, $1 + ld [$d648], a .asm_1c9c0 - ret + ret Func_1c9c1: ; 0x1c9c1 - ld a, [$d4cb] - and a - jr z, .asm_1ca19 - xor a - ld [$d4cb], a - call Func_1ca29 - ld a, [$d641] - and a - jr nz, .asm_1c9f2 - ld a, $1 - ld [$d641], a - ld a, [wBlueStageForceFieldDirection] - cp $0 ; up direction - jr nz, .asm_1c9f2 - ld a, $2 ; down direction - ld [wBlueStageForceFieldDirection], a - ld a, $1 - ld [$d640], a - ld a, $3 - ld [$d64c], a - ld [$d64d], a + ld a, [$d4cb] + and a + jr z, .asm_1ca19 + xor a + ld [$d4cb], a + call Func_1ca29 + ld a, [$d641] + and a + jr nz, .asm_1c9f2 + ld a, $1 + ld [$d641], a + ld a, [wBlueStageForceFieldDirection] + cp $0 ; up direction + jr nz, .asm_1c9f2 + ld a, $2 ; down direction + ld [wBlueStageForceFieldDirection], a + ld a, $1 + ld [$d640], a + ld a, $3 + ld [$d64c], a + ld [$d64d], a .asm_1c9f2 - ld a, $10 - ld [$d4d6], a - ld a, [$d4cc] - sub $3 - ld [$d4d7], a - ld a, $4 - ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch - ld bc, $34be - ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch - ret + ld a, $10 + ld [$d4d6], a + ld a, [$d4cc] + sub $3 + ld [$d4d7], a + ld a, $4 + ld [$ff8a], a + ld a, Bank(Func_10000) + ld hl, Func_10000 + call BankSwitch + ld bc, $34be + ld [$ff8a], a + ld a, Bank(Func_8576) + ld hl, Func_8576 + call BankSwitch + ret .asm_1ca19 - ld a, [$d4d6] - and a - ret z - dec a - ld [$d4d6], a - ret nz - ld a, $ff - ld [$d4d7], a - ret + ld a, [$d4d6] + and a + ret z + dec a + ld [$d4d6], a + ret nz + ld a, $ff + ld [$d4d7], a + ret Func_1ca29: ; 0x1ca29 - ld a, $ff - ld [$d803], a - ld a, $3 - ld [$d804], a - ld hl, $0200 - ld a, l - ld [$d7bc], a - ld a, h - ld [$d7bd], a - ld a, $80 - ld [wFlipperCollision], a - ld de, $000e - call PlaySoundEffect - ret + ld a, $ff + ld [$d803], a + ld a, $3 + ld [$d804], a + ld hl, $0200 + ld a, l + ld [$d7bc], a + ld a, h + ld [$d7bd], a + ld a, $80 + ld [wFlipperCollision], a + ld de, $000e + call PlaySoundEffect + ret Func_1ca4a: ; 1ca4a - ld a, [$d5c7] - and a - ret z - xor a - ld [$d5c7], a - ld a, $1 - ld [$d5bf], a - ld de, $0006 - call PlaySoundEffect - ret - -INCBIN "baserom.gbc",$1ca5f,$1ca5f - $1ca5f + ld a, [$d5c7] + and a + ret z + xor a + ld [$d5c7], a + ld a, $1 + ld [$d5bf], a + ld de, $0006 + call PlaySoundEffect + ret Func_1ca5f: ; 0x1ca5f - ld a, [$d507] - and a - jr z, Func_1ca85 - xor a - ld [$d507], a - ld a, [wBallYVelocity] - ld c, a - ld a, [wBallYVelocity + 1] - ld b, a - ld a, c - ld [$d50b], a - ld a, b - ld [$d50c], a - ld a, $c - ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch - ; fall through + ld a, [$d507] + and a + jr z, Func_1ca85 + xor a + ld [$d507], a + ld a, [wBallYVelocity] + ld c, a + ld a, [wBallYVelocity + 1] + ld b, a + ld a, c + ld [$d50b], a + ld a, b + ld [$d50c], a + ld a, $c + ld [$ff8a], a + ld a, Bank(Func_10000) + ld hl, Func_10000 + call BankSwitch + ; fall through Func_1ca85: ; 0x1ca85 - ld hl, $d50b - ld a, [hli] - or [hl] - ret z - ld a, [$d50b] - ld c, a - ld a, [$d50c] - ld b, a - bit 7, b - jr nz, .asm_1caa3 - ld a, c - sub $7 - ld c, a - ld a, b - sbc $0 - ld b, a - jr nc, .asm_1cab0 - jr .asm_1caad + ld hl, $d50b + ld a, [hli] + or [hl] + ret z + ld a, [$d50b] + ld c, a + ld a, [$d50c] + ld b, a + bit 7, b + jr nz, .asm_1caa3 + ld a, c + sub $7 + ld c, a + ld a, b + sbc $0 + ld b, a + jr nc, .asm_1cab0 + jr .asm_1caad .asm_1caa3 - ld a, c - add $7 - ld c, a - ld a, b - adc $0 - ld b, a - jr nc, .asm_1cab0 + ld a, c + add $7 + ld c, a + ld a, b + adc $0 + ld b, a + jr nc, .asm_1cab0 .asm_1caad - ld bc, $0000 + ld bc, $0000 .asm_1cab0 - ld a, c - ld [$d50b], a - ld a, b - ld [$d50c], a - ld hl, $d50b - ld a, [$d509] - add [hl] - ld [$d509], a - inc hl - ld a, [$d50a] - adc [hl] - bit 7, a - ld c, $0 - jr z, .asm_1cad3 - add $18 - ld c, $1 - jr .asm_1cadb + ld a, c + ld [$d50b], a + ld a, b + ld [$d50c], a + ld hl, $d50b + ld a, [$d509] + add [hl] + ld [$d509], a + inc hl + ld a, [$d50a] + adc [hl] + bit 7, a + ld c, $0 + jr z, .asm_1cad3 + add $18 + ld c, $1 + jr .asm_1cadb .asm_1cad3 - cp $18 - jr c, .asm_1cadb - sub $18 - ld c, $1 + cp $18 + jr c, .asm_1cadb + sub $18 + ld c, $1 .asm_1cadb - ld [$d50a], a - ld a, c - and a - ret z - ld bc, $34ac - ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch - ld hl, $d62d - call Func_e4a - ld a, [$d517] - cp $f - jr nz, .asm_1caff - call Func_1cb1c - ret + ld [$d50a], a + ld a, c + and a + ret z + ld bc, $34ac + ld [$ff8a], a + ld a, Bank(Func_8576) + ld hl, Func_8576 + call BankSwitch + ld hl, $d62d + call Func_e4a + ld a, [$d517] + cp $f + jr nz, .asm_1caff + call Func_1cb1c + ret .asm_1caff - inc a - ld [$d517], a - call Func_1cb1c - ld a, [$d517] - cp $f - jr nz, .asm_1cb12 - ld a, $64 - ld [$d51e], a + inc a + ld [$d517], a + call Func_1cb1c + ld a, [$d517] + cp $f + jr nz, .asm_1cb12 + ld a, $64 + ld [$d51e], a .asm_1cb12 - ld a, [wCurrentStage] - bit 0, a - ret nz - call Func_1cb43 - ret + ld a, [wCurrentStage] + bit 0, a + ret nz + call Func_1cb43 + ret Func_1cb1c: ; 0x1cb1c - ld a, [$d51e] - and a - ret nz - ld a, [$d517] - ld c, a - ld b, $0 - ld hl, $4b33 ; todo - add hl, bc - ld a, [hl] - ld e, a - ld d, $0 - call PlaySoundEffect - ret - -INCBIN "baserom.gbc",$1cb33,$1cb43 - $1cb33 + ld a, [$d51e] + and a + ret nz + ld a, [$d517] + ld c, a + ld b, $0 + ld hl, $4b33 ; todo + add hl, bc + ld a, [hl] + ld e, a + ld d, $0 + call PlaySoundEffect + ret + + dr $1cb33, $1cb43 Func_1cb43: ; 0x1cb43 - ld a, [$d517] - ld c, a - sla c - ld b, $0 - ld hl, $4b60 ; todo - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_1cb56 - ld hl, $4d10 ; todo + ld a, [$d517] + ld c, a + sla c + ld b, $0 + ld hl, $4b60 ; todo + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_1cb56 + ld hl, $4d10 ; todo .asm_1cb56 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld a, $7 - call Func_10aa - ret + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld a, $7 + call Func_10aa + ret -INCBIN "baserom.gbc",$1cb60,$1ce40 - $1cb60 + dr $1cb60, $1ce40 Func_1ce40: ; 1ce40 - ld a, [$d4d8] - and a - jr z, .asm_1ce53 - call Func_1ce72 - call Func_1ce60 - xor a - ld [$d4d8], a - call Func_1ce94 + ld a, [$d4d8] + and a + jr z, .asm_1ce53 + call Func_1ce72 + call Func_1ce60 + xor a + ld [$d4d8], a + call Func_1ce94 .asm_1ce53 - ld a, [$d4da] - and a - ret z - dec a - ld [$d4da], a - call z, Func_1ce72 - ret + ld a, [$d4da] + and a + ret z + dec a + ld [$d4da], a + call z, Func_1ce72 + ret Func_1ce60: ; 0x1ce60 - ld a, $10 - ld [$d4da], a - ld a, [$d4d9] - sub $1 - ld [$d4db], a - sla a - inc a - jr asm_1ce7a + ld a, $10 + ld [$d4da], a + ld a, [$d4d9] + sub $1 + ld [$d4db], a + sla a + inc a + jr asm_1ce7a Func_1ce72: ; 1ce72 - ld a, [$d4db] - cp $ff - ret z - sla a + ld a, [$d4db] + cp $ff + ret z + sla a asm_1ce7a: ; 0x1ce7a - sla a - ld c, a - ld b, $0 - ld hl, $4eca - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_1ce8a - ld hl, $4f3a + sla a + ld c, a + ld b, $0 + ld hl, $4eca + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_1ce8a + ld hl, $4f3a .asm_1ce8a - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld a, $7 - call Func_10aa - ret + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld a, $7 + call Func_10aa + ret Func_1ce94: ; 0x1ce94 - ld a, $ff - ld [$d803], a - ld a, $3 - ld [$d804], a - ld hl, $0200 - ld a, l - ld [$d7bc], a - ld a, h - ld [$d7bd], a - ld a, $80 - ld [wFlipperCollision], a - ld a, [$d4d9] - sub $1 - ld c, a - ld b, $0 - ld hl, $4ec8 - add hl, bc - ld a, [$d7ea] - add [hl] - ld [$d7ea], a - ld de, $000b - call PlaySoundEffect - ret - -INCBIN "baserom.gbc",$1cec8,$1cfaa - $1cec8 + ld a, $ff + ld [$d803], a + ld a, $3 + ld [$d804], a + ld hl, $0200 + ld a, l + ld [$d7bc], a + ld a, h + ld [$d7bd], a + ld a, $80 + ld [wFlipperCollision], a + ld a, [$d4d9] + sub $1 + ld c, a + ld b, $0 + ld hl, $4ec8 + add hl, bc + ld a, [$d7ea] + add [hl] + ld [$d7ea], a + ld de, $000b + call PlaySoundEffect + ret + + dr $1cec8, $1cfaa Func_1cfaa: ; 0x1cfaa - ld a, [$d51f] - and a - ret z - xor a - ld [$d51f], a - ld bc, $34a6 - ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch - ld a, [wStageCollisionState] - cp $0 - jr nz, .asm_1cfe5 - ld a, $1 - ld [wStageCollisionState], a - ld [$ff8a], a - ld a, Bank(LoadStageCollisionAttributes) - ld hl, LoadStageCollisionAttributes - call BankSwitch - ld a, $1 - ld [$d580], a - ld [$ff8a], a - ld a, Bank(Func_1404a) - ld hl, Func_1404a - call BankSwitch + ld a, [$d51f] + and a + ret z + xor a + ld [$d51f], a + ld bc, $34a6 + ld [$ff8a], a + ld a, Bank(Func_8576) + ld hl, Func_8576 + call BankSwitch + ld a, [wStageCollisionState] + cp $0 + jr nz, .asm_1cfe5 + ld a, $1 + ld [wStageCollisionState], a + ld [$ff8a], a + ld a, Bank(LoadStageCollisionAttributes) + ld hl, LoadStageCollisionAttributes + call BankSwitch + ld a, $1 + ld [$d580], a + ld [$ff8a], a + ld a, Bank(Func_1404a) + ld hl, Func_1404a + call BankSwitch .asm_1cfe5 - ld a, [$d520] - sub $7 - ld c, a - ld b, $0 - ld hl, $d521 - add hl, bc - ld [hl], $1 - ld a, [$d521] - and a - call nz, Func_1d010 - ld a, [$d522] - and a - call nz, Func_1d047 - ld a, [$d523] - and a - call nz, HandleLeftAlleyTriggerBlueField - ld a, [$d524] - and a - call nz, HandleRightAlleyTriggerBlueField - ret + ld a, [$d520] + sub $7 + ld c, a + ld b, $0 + ld hl, $d521 + add hl, bc + ld [hl], $1 + ld a, [$d521] + and a + call nz, Func_1d010 + ld a, [$d522] + and a + call nz, Func_1d047 + ld a, [$d523] + and a + call nz, HandleLeftAlleyTriggerBlueField + ld a, [$d524] + and a + call nz, HandleRightAlleyTriggerBlueField + ret Func_1d010: ; 0x1d010 - xor a - ld [$d521], a - ld a, [wLeftAlleyTrigger] - and a - ret z - xor a - ld [wLeftAlleyTrigger], a - ld a, $1 - ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch - ret c - ld a, [wLeftAlleyCount] - cp $3 - ret z - inc a - ld [wLeftAlleyCount], a - cp $3 - jr z, .asm_1d03e - set 7, a - ld [wIndicatorStates], a - ret + xor a + ld [$d521], a + ld a, [wLeftAlleyTrigger] + and a + ret z + xor a + ld [wLeftAlleyTrigger], a + ld a, $1 + ld [$ff8a], a + ld a, Bank(Func_10000) + ld hl, Func_10000 + call BankSwitch + ret c + ld a, [wLeftAlleyCount] + cp $3 + ret z + inc a + ld [wLeftAlleyCount], a + cp $3 + jr z, .asm_1d03e + set 7, a + ld [wIndicatorStates], a + ret .asm_1d03e - ld [wIndicatorStates], a - ld a, $80 - ld [wIndicatorStates + 2], a - ret + ld [wIndicatorStates], a + ld a, $80 + ld [wIndicatorStates + 2], a + ret Func_1d047: ; 0x1d047 - xor a - ld [$d522], a - ld a, [wRightAlleyTrigger] - and a - ret z - xor a - ld [wRightAlleyTrigger], a - ld a, $2 - ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch - ret c - ld a, [wRightAlleyCount] - cp $3 - ret z - inc a - ld [wRightAlleyCount], a - cp $3 - jr z, .asm_1d071 - set 7, a + xor a + ld [$d522], a + ld a, [wRightAlleyTrigger] + and a + ret z + xor a + ld [wRightAlleyTrigger], a + ld a, $2 + ld [$ff8a], a + ld a, Bank(Func_10000) + ld hl, Func_10000 + call BankSwitch + ret c + ld a, [wRightAlleyCount] + cp $3 + ret z + inc a + ld [wRightAlleyCount], a + cp $3 + jr z, .asm_1d071 + set 7, a .asm_1d071 - ld [wIndicatorStates + 1], a - ld a, [wRightAlleyCount] - cp $2 - ret c - ld a, $80 - ld [wIndicatorStates + 3], a - ret + ld [wIndicatorStates + 1], a + ld a, [wRightAlleyCount] + cp $2 + ret c + ld a, $80 + ld [wIndicatorStates + 3], a + ret HandleLeftAlleyTriggerBlueField: ; 0x1d080 ; Ball passed over the left alley trigger point in the Blue Field. - xor a - ld [$d523], a - ld [wRightAlleyTrigger], a - ld [wSecondaryLeftAlleyTrigger], a - ld a, $1 - ld [wLeftAlleyTrigger], a - ret c - ret + xor a + ld [$d523], a + ld [wRightAlleyTrigger], a + ld [wSecondaryLeftAlleyTrigger], a + ld a, $1 + ld [wLeftAlleyTrigger], a + ret c + ret HandleRightAlleyTriggerBlueField: ; 0x1d091 ; Ball passed over the right alley trigger point in the Blue Field. - xor a - ld [$d524], a - ld [wLeftAlleyTrigger], a - ld [wSecondaryLeftAlleyTrigger], a - ld a, $1 - ld [wRightAlleyTrigger], a - ret + xor a + ld [$d524], a + ld [wLeftAlleyTrigger], a + ld [wSecondaryLeftAlleyTrigger], a + ld a, $1 + ld [wRightAlleyTrigger], a + ret Func_1d0a1: ; 0x1d0a1 - ld a, [$d515] - and a - jr z, .asm_1d110 - xor a - ld [$d515], a - ld a, [$d51c] - and a - jr nz, .asm_1d110 - ld a, [$d51d] - and a - jr nz, .asm_1d0c9 - ld a, [$d516] - sub $d - ld hl, $d518 - cp [hl] - jr nz, .asm_1d110 - ld a, [$d517] - cp $f - jr nz, .asm_1d0fc + ld a, [$d515] + and a + jr z, .asm_1d110 + xor a + ld [$d515], a + ld a, [$d51c] + and a + jr nz, .asm_1d110 + ld a, [$d51d] + and a + jr nz, .asm_1d0c9 + ld a, [$d516] + sub $d + ld hl, $d518 + cp [hl] + jr nz, .asm_1d110 + ld a, [$d517] + cp $f + jr nz, .asm_1d0fc .asm_1d0c9 - ld hl, PikachuSaverAnimationDataRedStage - ld de, wPikachuSaverAnimationFrameCounter - call CopyHLToDE - ld a, [$d51d] - and a - jr nz, .asm_1d0dc - xor a - ld [$d517], a + ld hl, PikachuSaverAnimationDataRedStage + ld de, wPikachuSaverAnimationFrameCounter + call CopyHLToDE + ld a, [$d51d] + and a + jr nz, .asm_1d0dc + xor a + ld [$d517], a .asm_1d0dc - ld a, $1 - ld [$d51c], a - xor a - ld [wBallXVelocity], a - ld [wBallXVelocity + 1], a - ld [wBallYVelocity], a - ld [wBallYVelocity + 1], a - ld [wBallSpin], a - ld [wBallRotation], a - ld [$d549], a - call Func_30e8 - jr .asm_1d110 + ld a, $1 + ld [$d51c], a + xor a + ld [wBallXVelocity], a + ld [wBallXVelocity + 1], a + ld [wBallYVelocity], a + ld [wBallYVelocity + 1], a + ld [wBallSpin], a + ld [wBallRotation], a + ld [$d549], a + call Func_30e8 + jr .asm_1d110 .asm_1d0fc - ld hl, PikachuSaverAnimation2DataRedStage - ld de, wPikachuSaverAnimationFrameCounter - call CopyHLToDE - ld a, $2 - ld [$d51c], a - ld de, $003b - call PlaySoundEffect + ld hl, PikachuSaverAnimation2DataRedStage + ld de, wPikachuSaverAnimationFrameCounter + call CopyHLToDE + ld a, $2 + ld [$d51c], a + ld de, $003b + call PlaySoundEffect .asm_1d110 - ld a, [$d51c] - and a - call z, Func_1d1fb - call Func_1d133 - ld a, [$d517] - cp $f - ret nz - ld a, [$d51e] - and a - ret z - dec a - ld [$d51e], a - cp $5a - ret nz - ld de, $0f22 - call PlaySoundEffect - ret + ld a, [$d51c] + and a + call z, Func_1d1fb + call Func_1d133 + ld a, [$d517] + cp $f + ret nz + ld a, [$d51e] + and a + ret z + dec a + ld [$d51e], a + cp $5a + ret nz + ld de, $0f22 + call PlaySoundEffect + ret Func_1d133: ; 0x1d133 - ld a, [$d51c] - cp $1 - jr nz, .asm_1d1ae - ld hl, PikachuSaverAnimationDataRedStage - ld de, wPikachuSaverAnimationFrameCounter - call UpdateAnimation - ret nc - ld a, [wPikachuSaverAnimationFrameIndex] - cp $1 - jr nz, .asm_1d18c - xor a - ld [$d85d], a - call Func_310a - rst $10 - ld a, $1 - ld [$ff8a], a - ld a, Bank(PlayPikachuSoundClip) - ld hl, PlayPikachuSoundClip - call BankSwitch - ld a, $1 - ld [$d85d], a - ld a, $ff - ld [$d803], a - ld a, $60 - ld [$d804], a - ld hl, $d62e - call Func_e4a - jr nc, .asm_1d185 - ld c, $a - call Func_e55 - ld [$ff8a], a - ld a, Bank(Func_30164) - ld hl, Func_30164 - call z, BankSwitch + ld a, [$d51c] + cp $1 + jr nz, .asm_1d1ae + ld hl, PikachuSaverAnimationDataRedStage + ld de, wPikachuSaverAnimationFrameCounter + call UpdateAnimation + ret nc + ld a, [wPikachuSaverAnimationFrameIndex] + cp $1 + jr nz, .asm_1d18c + xor a + ld [$d85d], a + call Func_310a + rst $10 + ld a, $1 + ld [$ff8a], a + ld a, Bank(PlayPikachuSoundClip) + ld hl, PlayPikachuSoundClip + call BankSwitch + ld a, $1 + ld [$d85d], a + ld a, $ff + ld [$d803], a + ld a, $60 + ld [$d804], a + ld hl, $d62e + call Func_e4a + jr nc, .asm_1d185 + ld c, $a + call Func_e55 + ld [$ff8a], a + ld a, Bank(Func_30164) + ld hl, Func_30164 + call z, BankSwitch .asm_1d185 - ld de, $1610 - call PlaySoundEffect - ret + ld de, $1610 + call PlaySoundEffect + ret .asm_1d18c - ld a, [wPikachuSaverAnimationFrameIndex] - cp $11 - ret nz - ld a, $fc - ld [wBallYVelocity + 1], a - ld a, $1 - ld [$d549], a - ld bc, $34ca - ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch - xor a - ld [$d51c], a - ret + ld a, [wPikachuSaverAnimationFrameIndex] + cp $11 + ret nz + ld a, $fc + ld [wBallYVelocity + 1], a + ld a, $1 + ld [$d549], a + ld bc, $34ca + ld [$ff8a], a + ld a, Bank(Func_8576) + ld hl, Func_8576 + call BankSwitch + xor a + ld [$d51c], a + ret .asm_1d1ae - cp $2 - jr nz, .asm_1d1c7 - ld hl, PikachuSaverAnimation2DataRedStage - ld de, wPikachuSaverAnimationFrameCounter - call UpdateAnimation - ret nc - ld a, [wPikachuSaverAnimationFrameIndex] - cp $1 - ret nz - xor a - ld [$d51c], a - ret + cp $2 + jr nz, .asm_1d1c7 + ld hl, PikachuSaverAnimation2DataRedStage + ld de, wPikachuSaverAnimationFrameCounter + call UpdateAnimation + ret nc + ld a, [wPikachuSaverAnimationFrameIndex] + cp $1 + ret nz + xor a + ld [$d51c], a + ret .asm_1d1c7 - ld a, [$ffb3] - swap a - and $1 - ld [wPikachuSaverAnimationFrame], a - ret + ld a, [$ffb3] + swap a + and $1 + ld [wPikachuSaverAnimationFrame], a + ret PikachuSaverAnimationDataRedStage: ; 0x1d1d1 ; Each entry is [duration][OAM id] - db $0C, $02 - db $05, $03 - db $05, $02 - db $05, $04 - db $05, $05 - db $05, $02 - db $06, $06 - db $06, $07 - db $06, $08 - db $06, $02 - db $06, $05 - db $06, $08 - db $06, $07 - db $06, $02 - db $06, $08 - db $06, $07 - db $06, $02 - db $01, $00 - db $00 + db $0C, $02 + db $05, $03 + db $05, $02 + db $05, $04 + db $05, $05 + db $05, $02 + db $06, $06 + db $06, $07 + db $06, $08 + db $06, $02 + db $06, $05 + db $06, $08 + db $06, $07 + db $06, $02 + db $06, $08 + db $06, $07 + db $06, $02 + db $01, $00 + db $00 PikachuSaverAnimation2DataRedStage: ; 0x1d1f6 ; Each entry is [duration][OAM id] - db $0C, $02 - db $01, $00 - db $00 + db $0C, $02 + db $01, $00 + db $00 Func_1d1fb: ; 0x1d1fb - ld hl, wKeyConfigLeftFlipper - call IsKeyPressed2 - jr z, .asm_1d209 - ld hl, $d518 - ld [hl], $0 - ret + ld hl, wKeyConfigLeftFlipper + call IsKeyPressed2 + jr z, .asm_1d209 + ld hl, $d518 + ld [hl], $0 + ret .asm_1d209 - ld hl, wKeyConfigRightFlipper - call IsKeyPressed2 - ret z - ld hl, $d518 - ld [hl], $1 - ret + ld hl, wKeyConfigRightFlipper + call IsKeyPressed2 + ret z + ld hl, $d518 + ld [hl], $1 + ret Func_1d216: ; 0x1d216 - ld a, [$d630] - and a - jr z, .asm_1d253 - xor a - ld [$d630], a - ld bc, $34d0 - ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch - ld de, $0005 - call PlaySoundEffect - ld hl, $5312 ; todo - ld de, $d632 - call CopyHLToDE - xor a - ld [wBallXVelocity], a - ld [wBallXVelocity + 1], a - ld [wBallYVelocity], a - ld [wBallYVelocity + 1], a - ld [wBallXPos], a - ld [wBallYPos], a - xor a - ld [$d549], a + ld a, [$d630] + and a + jr z, .asm_1d253 + xor a + ld [$d630], a + ld bc, $34d0 + ld [$ff8a], a + ld a, Bank(Func_8576) + ld hl, Func_8576 + call BankSwitch + ld de, $0005 + call PlaySoundEffect + ld hl, $5312 ; todo + ld de, $d632 + call CopyHLToDE + xor a + ld [wBallXVelocity], a + ld [wBallXVelocity + 1], a + ld [wBallYVelocity], a + ld [wBallYVelocity + 1], a + ld [wBallXPos], a + ld [wBallYPos], a + xor a + ld [$d549], a .asm_1d253 - ld hl, $5312 ; todo - ld de, $d632 - call UpdateAnimation - push af - ld a, [$d632] - and a - jr nz, .asm_1d271 - ld a, $19 - ld [$d632], a - xor a - ld [$d633], a - ld a, $6 - ld [$d634], a + ld hl, $5312 ; todo + ld de, $d632 + call UpdateAnimation + push af + ld a, [$d632] + and a + jr nz, .asm_1d271 + ld a, $19 + ld [$d632], a + xor a + ld [$d633], a + ld a, $6 + ld [$d634], a .asm_1d271 - pop af - ret nc - ld a, [$d634] - cp $1 - jr nz, .asm_1d2b6 - xor a - ld [$d548], a - ld a, [wLeftAlleyCount] - cp $3 - jr nz, .asm_1d299 - ld [$ff8a], a - ld a, Bank(Func_10ab3) - ld hl, Func_10ab3 - call BankSwitch - ld a, [$d643] - and a - ret z - ld a, $1 - ld [$d642], a + pop af + ret nc + ld a, [$d634] + cp $1 + jr nz, .asm_1d2b6 + xor a + ld [$d548], a + ld a, [wLeftAlleyCount] + cp $3 + jr nz, .asm_1d299 + ld [$ff8a], a + ld a, Bank(Func_10ab3) + ld hl, Func_10ab3 + call BankSwitch + ld a, [$d643] + and a + ret z + ld a, $1 + ld [$d642], a .asm_1d299 - ld hl, $d63a - call Func_e4a - ld hl, $d62a - call Func_e4a - ret nc - ld c, $19 - call Func_e55 - ld [$ff8a], a - ld a, Bank(Func_30164) - ld hl, Func_30164 - call z, BankSwitch - ret + ld hl, $d63a + call Func_e4a + ld hl, $d62a + call Func_e4a + ret nc + ld c, $19 + call Func_e55 + ld [$ff8a], a + ld a, Bank(Func_30164) + ld hl, Func_30164 + call z, BankSwitch + ret .asm_1d2b6 - ld a, [$d634] - cp $4 - jr nz, .asm_1d2c3 - ld a, $1 - ld [$d548], a - ret + ld a, [$d634] + cp $4 + jr nz, .asm_1d2c3 + ld a, $1 + ld [$d548], a + ret .asm_1d2c3 - ld a, [$d634] - cp $5 - ret nz - ld a, $1 - ld [$d549], a - ld a, $b0 - ld [wBallXVelocity], a - ld a, $0 - ld [wBallXVelocity + 1], a - xor a - ld [wBallYVelocity], a - ld [wBallYVelocity + 1], a - ld de, $0006 - call PlaySoundEffect - ld a, [$d642] - cp $0 - jr nz, .asm_1d2f8 - ld a, $f - ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch + ld a, [$d634] + cp $5 + ret nz + ld a, $1 + ld [$d549], a + ld a, $b0 + ld [wBallXVelocity], a + ld a, $0 + ld [wBallXVelocity + 1], a + xor a + ld [wBallYVelocity], a + ld [wBallYVelocity + 1], a + ld de, $0006 + call PlaySoundEffect + ld a, [$d642] + cp $0 + jr nz, .asm_1d2f8 + ld a, $f + ld [$ff8a], a + ld a, Bank(Func_10000) + ld hl, Func_10000 + call BankSwitch .asm_1d2f8 - xor a - ld [$d642], a - ld [$d64c], a - ld [$d64d], a - ld a, $1 - ld [$d641], a - ld a, $2 ; down direction - ld [wBlueStageForceFieldDirection], a - ld a, $1 - ld [$d640], a - ret - -INCBIN "baserom.gbc",$1d312,$1d32d - $1d312 + xor a + ld [$d642], a + ld [$d64c], a + ld [$d64d], a + ld a, $1 + ld [$d641], a + ld a, $2 ; down direction + ld [wBlueStageForceFieldDirection], a + ld a, $1 + ld [$d640], a + ret + + dr $1d312, $1d32d HandleEnteringCloyster: ; 0x1d32d - ld a, [$d635] - and a - jr z, .asm_1d36a - xor a - ld [$d635], a - ld bc, $34d0 - ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch - ld de, $0005 - call PlaySoundEffect - ld hl, $541d - ld de, $d637 - call CopyHLToDE - xor a - ld [wBallXVelocity], a - ld [wBallXVelocity + 1], a - ld [wBallYVelocity], a - ld [wBallYVelocity + 1], a - ld [wBallXPos], a - ld [wBallYPos], a - xor a - ld [$d549], a + ld a, [$d635] + and a + jr z, .asm_1d36a + xor a + ld [$d635], a + ld bc, $34d0 + ld [$ff8a], a + ld a, Bank(Func_8576) + ld hl, Func_8576 + call BankSwitch + ld de, $0005 + call PlaySoundEffect + ld hl, $541d + ld de, $d637 + call CopyHLToDE + xor a + ld [wBallXVelocity], a + ld [wBallXVelocity + 1], a + ld [wBallYVelocity], a + ld [wBallYVelocity + 1], a + ld [wBallXPos], a + ld [wBallYPos], a + xor a + ld [$d549], a .asm_1d36a - ld hl, $541d - ld de, $d637 - call UpdateAnimation - push af - ld a, [$d637] - and a - jr nz, .asm_1d388 - ld a, $19 - ld [$d637], a - xor a - ld [$d638], a - ld a, $6 - ld [$d639], a + ld hl, $541d + ld de, $d637 + call UpdateAnimation + push af + ld a, [$d637] + and a + jr nz, .asm_1d388 + ld a, $19 + ld [$d637], a + xor a + ld [$d638], a + ld a, $6 + ld [$d639], a .asm_1d388 - pop af - ret nc - ld a, [$d639] - cp $1 - jr nz, .asm_1d3cb - xor a - ld [$d548], a - ld a, [wRightAlleyCount] - cp $2 - jr c, .noCatchEmMode - ld a, $8 - jr nz, .asm_1d3a1 - xor a + pop af + ret nc + ld a, [$d639] + cp $1 + jr nz, .asm_1d3cb + xor a + ld [$d548], a + ld a, [wRightAlleyCount] + cp $2 + jr c, .noCatchEmMode + ld a, $8 + jr nz, .asm_1d3a1 + xor a .asm_1d3a1 - ld [wRareMonsFlag], a - ld [$ff8a], a - ld a, Bank(StartCatchEmMode) - ld hl, StartCatchEmMode - call BankSwitch + ld [wRareMonsFlag], a + ld [$ff8a], a + ld a, Bank(StartCatchEmMode) + ld hl, StartCatchEmMode + call BankSwitch .noCatchEmMode - ld hl, $d63b - call Func_e4a - ld hl, $d62a - call Func_e4a - ret nc - ld c, $19 - call Func_e55 - ld [$ff8a], a - ld a, Bank(Func_30164) - ld hl, Func_30164 - call z, BankSwitch - ret + ld hl, $d63b + call Func_e4a + ld hl, $d62a + call Func_e4a + ret nc + ld c, $19 + call Func_e55 + ld [$ff8a], a + ld a, Bank(Func_30164) + ld hl, Func_30164 + call z, BankSwitch + ret .asm_1d3cb - ld a, [$d639] - cp $4 - jr nz, .asm_1d3d8 - ld a, $1 - ld [$d548], a - ret + ld a, [$d639] + cp $4 + jr nz, .asm_1d3d8 + ld a, $1 + ld [$d548], a + ret .asm_1d3d8 - ld a, [$d639] - cp $5 - ret nz - ld a, $1 - ld [$d549], a - ld a, $4f - ld [wBallXVelocity], a - ld a, $ff - ld [wBallXVelocity + 1], a - xor a - ld [wBallYVelocity], a - ld [wBallYVelocity + 1], a - ld de, $0006 - call PlaySoundEffect - ld a, $e - ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch - xor a - ld [$d64c], a - ld [$d64d], a - ld a, $1 - ld [$d641], a - ld a, $2 ; down direction - ld [wBlueStageForceFieldDirection], a - ld a, $1 - ld [$d640], a - ret - -INCBIN "baserom.gbc",$1d41d,$1d438 - $1d41d + ld a, [$d639] + cp $5 + ret nz + ld a, $1 + ld [$d549], a + ld a, $4f + ld [wBallXVelocity], a + ld a, $ff + ld [wBallXVelocity + 1], a + xor a + ld [wBallYVelocity], a + ld [wBallYVelocity + 1], a + ld de, $0006 + call PlaySoundEffect + ld a, $e + ld [$ff8a], a + ld a, Bank(Func_10000) + ld hl, Func_10000 + call BankSwitch + xor a + ld [$d64c], a + ld [$d64d], a + ld a, $1 + ld [$d641], a + ld a, $2 ; down direction + ld [wBlueStageForceFieldDirection], a + ld a, $1 + ld [$d640], a + ret + + dr $1d41d, $1d438 Func_1d438: ; 0x1d438 - call Func_1d692 - ld a, [$d60a] - and a - jp z, Func_1d51b - xor a - ld [$d60a], a - ld de, $000d - call PlaySoundEffect - ld a, [$d60b] - sub $f - jr nz, .asm_1d48e - ld a, [hGameBoyColorFlag] - and a - jr nz, .asm_1d45c - ld a, $1f - jr .asm_1d45e + call Func_1d692 + ld a, [$d60a] + and a + jp z, Func_1d51b + xor a + ld [$d60a], a + ld de, $000d + call PlaySoundEffect + ld a, [$d60b] + sub $f + jr nz, .asm_1d48e + ld a, [hGameBoyColorFlag] + and a + jr nz, .asm_1d45c + ld a, $1f + jr .asm_1d45e .asm_1d45c - ld a, $29 + ld a, $29 .asm_1d45e - call Func_1d5f2 - ld a, $3c - ld [$d647], a - ld a, $9 - ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch - ld a, [$d610] - cp $3 - jp nz, asm_1d4fa - ld a, $1 - ld [$d610], a - ld a, $3 - ld [$d611], a - ld a, [$d60c] - set 7, a - ld [$d60c], a - jr asm_1d4fa + call Func_1d5f2 + ld a, $3c + ld [$d647], a + ld a, $9 + ld [$ff8a], a + ld a, Bank(Func_10000) + ld hl, Func_10000 + call BankSwitch + ld a, [$d610] + cp $3 + jp nz, asm_1d4fa + ld a, $1 + ld [$d610], a + ld a, $3 + ld [$d611], a + ld a, [$d60c] + set 7, a + ld [$d60c], a + jr asm_1d4fa .asm_1d48e - ld a, [hGameBoyColorFlag] - and a - jr nz, .asm_1d497 - ld a, $21 - jr .asm_1d499 + ld a, [hGameBoyColorFlag] + and a + jr nz, .asm_1d497 + ld a, $21 + jr .asm_1d499 .asm_1d497 - ld a, $2b + ld a, $2b .asm_1d499 - call Func_1d5f2 - ld a, $1e - ld [$d647], a - ld a, $a - ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch - ld a, [$d611] - cp $3 - jr nz, asm_1d4fa - ld a, $1 - ld [$d610], a - ld a, $1 - ld [$d611], a - ld a, $80 - ld [$d612], a - ld a, [$d60d] - set 7, a - ld [$d60d], a - ld a, [$d482] - inc a - cp $64 - jr c, .asm_1d4d5 - ld a, $63 + call Func_1d5f2 + ld a, $1e + ld [$d647], a + ld a, $a + ld [$ff8a], a + ld a, Bank(Func_10000) + ld hl, Func_10000 + call BankSwitch + ld a, [$d611] + cp $3 + jr nz, asm_1d4fa + ld a, $1 + ld [$d610], a + ld a, $1 + ld [$d611], a + ld a, $80 + ld [$d612], a + ld a, [$d60d] + set 7, a + ld [$d60d], a + ld a, [$d482] + inc a + cp $64 + jr c, .asm_1d4d5 + ld a, $63 .asm_1d4d5 - ld [$d482], a - jr nc, .asm_1d4e9 - ld c, $19 - call Func_e55 - ld [$ff8a], a - ld a, Bank(Func_30164) - ld hl, Func_30164 - call z, BankSwitch + ld [$d482], a + jr nc, .asm_1d4e9 + ld c, $19 + call Func_e55 + ld [$ff8a], a + ld a, Bank(Func_30164) + ld hl, Func_30164 + call z, BankSwitch .asm_1d4e9 - ld a, [$d60c] - ld [$d614], a - ld a, [$d60d] - ld [$d615], a - ld a, $1 - ld [$d613], a + ld a, [$d60c] + ld [$d614], a + ld a, [$d60d] + ld [$d615], a + ld a, $1 + ld [$d613], a asm_1d4fa: ; 0x1d4fa - ld bc, $34ac - ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch - ld a, [$d60c] - call Func_1d5f2 - ld a, [$d60d] - add $14 - call Func_1d5f2 - ld a, $3c - ld [$d647], a - ret + ld bc, $34ac + ld [$ff8a], a + ld a, Bank(Func_8576) + ld hl, Func_8576 + call BankSwitch + ld a, [$d60c] + call Func_1d5f2 + ld a, [$d60d] + add $14 + call Func_1d5f2 + ld a, $3c + ld [$d647], a + ret Func_1d51b: ; 0x1d51b - call Func_1d5bf - ld a, [$d612] - and a - jr z, .asm_1d559 - dec a - ld [$d612], a - cp $70 - jr nz, .asm_1d538 - ld a, $2 - ld [$d610], a - ld a, $2 - ld [$d611], a - jr .asm_1d559 + call Func_1d5bf + ld a, [$d612] + and a + jr z, .asm_1d559 + dec a + ld [$d612], a + cp $70 + jr nz, .asm_1d538 + ld a, $2 + ld [$d610], a + ld a, $2 + ld [$d611], a + jr .asm_1d559 .asm_1d538 - and a - jr nz, .asm_1d559 - ld a, $3 - ld [$d610], a - xor a - ld [$d611], a - ld a, [$d482] - call Func_1d65f - ld a, [$d60c] - call Func_1d5f2 - ld a, [$d60d] - add $14 - call Func_1d5f2 - ret + and a + jr nz, .asm_1d559 + ld a, $3 + ld [$d610], a + xor a + ld [$d611], a + ld a, [$d482] + call Func_1d65f + ld a, [$d60c] + call Func_1d5f2 + ld a, [$d60d] + add $14 + call Func_1d5f2 + ret .asm_1d559 - ld a, [$d610] - cp $2 - jr c, .asm_1d58b - cp $3 - ld a, [$ffb3] - jr c, .asm_1d56a - srl a - srl a + ld a, [$d610] + cp $2 + jr c, .asm_1d58b + cp $3 + ld a, [$ffb3] + jr c, .asm_1d56a + srl a + srl a .asm_1d56a - ld b, a - and $3 - jr nz, .asm_1d58b - bit 3, b - jr nz, .asm_1d580 - ld a, [$d60c] - res 7, a - ld [$d60c], a - call Func_1d5f2 - jr .asm_1d58b + ld b, a + and $3 + jr nz, .asm_1d58b + bit 3, b + jr nz, .asm_1d580 + ld a, [$d60c] + res 7, a + ld [$d60c], a + call Func_1d5f2 + jr .asm_1d58b .asm_1d580 - ld a, [$d60c] - set 7, a - ld [$d60c], a - call Func_1d5f2 + ld a, [$d60c] + set 7, a + ld [$d60c], a + call Func_1d5f2 .asm_1d58b - ld a, [$d611] - cp $2 - ret c - cp $3 - ld a, [$ffb3] - jr c, .asm_1d59b - srl a - srl a + ld a, [$d611] + cp $2 + ret c + cp $3 + ld a, [$ffb3] + jr c, .asm_1d59b + srl a + srl a .asm_1d59b - ld b, a - and $3 - ret nz - bit 3, b - jr nz, .asm_1d5b1 - ld a, [$d60d] - res 7, a - ld [$d60d], a - add $14 - call Func_1d5f2 - ret + ld b, a + and $3 + ret nz + bit 3, b + jr nz, .asm_1d5b1 + ld a, [$d60d] + res 7, a + ld [$d60d], a + add $14 + call Func_1d5f2 + ret .asm_1d5b1 - ld a, [$d60d] - set 7, a - ld [$d60d], a - add $14 - call Func_1d5f2 - ret + ld a, [$d60d] + set 7, a + ld [$d60d], a + add $14 + call Func_1d5f2 + ret Func_1d5bf: ; 0x1d5bf - ld a, [$d5ca] - and a - ret nz - ld a, [$d613] - and a - ret z - xor a - ld [$d613], a - call Func_30e8 - call Func_30db - ld hl, $d5cc - ld de, $2958 - call Func_32aa - ld hl, $c512 - ld a, [$d614] - and $7f - jr z, .asm_1d5e9 - add $30 - ld [hli], a + ld a, [$d5ca] + and a + ret nz + ld a, [$d613] + and a + ret z + xor a + ld [$d613], a + call Func_30e8 + call Func_30db + ld hl, $d5cc + ld de, $2958 + call Func_32aa + ld hl, $c512 + ld a, [$d614] + and $7f + jr z, .asm_1d5e9 + add $30 + ld [hli], a .asm_1d5e9 - ld a, [$d615] - res 7, a - add $30 - ld [hl], a - ret + ld a, [$d615] + res 7, a + add $30 + ld [hl], a + ret Func_1d5f2: ; 0x1d5f2 - push af - ld a, [hGameBoyColorFlag] - and a - jr nz, .asm_1d5fd - pop af - call Func_1d602 - ret + push af + ld a, [hGameBoyColorFlag] + and a + jr nz, .asm_1d5fd + pop af + call Func_1d602 + ret .asm_1d5fd - pop af - call Func_1d645 - ret + pop af + call Func_1d645 + ret Func_1d602: ; 0x1d602 - push af - res 7, a - ld hl, $d60e - cp $14 - jr c, .asm_1d611 - ld hl, $d60f - sub $a + push af + res 7, a + ld hl, $d60e + cp $14 + jr c, .asm_1d611 + ld hl, $d60f + sub $a .asm_1d611 - cp [hl] - jr z, .asm_1d626 - ld [hl], a - ld c, a - ld b, $0 - sla c - ld hl, $56be - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld a, $7 - call Func_10aa + cp [hl] + jr z, .asm_1d626 + ld [hl], a + ld c, a + ld b, $0 + sla c + ld hl, $56be + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld a, $7 + call Func_10aa .asm_1d626 - pop af - ld bc, $0000 - bit 7, a - jr z, .asm_1d632 - res 7, a - set 1, c + pop af + ld bc, $0000 + bit 7, a + jr z, .asm_1d632 + res 7, a + set 1, c .asm_1d632 - cp $14 - jr c, .asm_1d638 - set 2, c + cp $14 + jr c, .asm_1d638 + set 2, c .asm_1d638 - ld hl, $5946 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld a, $7 - call Func_10aa - ret + ld hl, $5946 + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld a, $7 + call Func_10aa + ret Func_1d645: ; 0x1d645 - bit 7, a - jr z, .asm_1d64d - res 7, a - add $a + bit 7, a + jr z, .asm_1d64d + res 7, a + add $a .asm_1d64d - ld c, a - ld b, $0 - sla c - ld hl, $597a - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld a, $7 - call Func_10aa - ret + ld c, a + ld b, $0 + sla c + ld hl, $597a + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld a, $7 + call Func_10aa + ret Func_1d65f: ; 0x1d65f - ld a, [$d482] - inc a - cp $64 - jr c, .asm_1d669 - ld a, $63 + ld a, [$d482] + inc a + cp $64 + jr c, .asm_1d669 + ld a, $63 .asm_1d669 - ld b, a - xor a - ld hl, $568b ; todo - ld c, $7 + ld b, a + xor a + ld hl, $568b ; todo + ld c, $7 .asm_1d670 - bit 0, b - jr z, .asm_1d676 - add [hl] - daa + bit 0, b + jr z, .asm_1d676 + add [hl] + daa .asm_1d676 - srl b - inc hl - dec c - jr nz, .asm_1d670 - push af - swap a - and $f - ld [$d60c], a - pop af - and $f - ld [$d60d], a - ret - -INCBIN "baserom.gbc",$1d68b,$1d692 - $1d68b + srl b + inc hl + dec c + jr nz, .asm_1d670 + push af + swap a + and $f + ld [$d60c], a + pop af + and $f + ld [$d60d], a + ret + + dr $1d68b, $1d692 Func_1d692: ; 0x1d692 - ld a, [$d647] - cp $1 - jr z, .asm_1d69e - dec a - ld [$d647], a - ret + ld a, [$d647] + cp $1 + jr z, .asm_1d69e + dec a + ld [$d647], a + ret .asm_1d69e - ld a, $0 - ld [$d647], a - ld a, [hGameBoyColorFlag] - and a - jr nz, .asm_1d6b3 - ld a, $1e - call Func_1d5f2 - ld a, $20 - call Func_1d5f2 - ret + ld a, $0 + ld [$d647], a + ld a, [hGameBoyColorFlag] + and a + jr nz, .asm_1d6b3 + ld a, $1e + call Func_1d5f2 + ld a, $20 + call Func_1d5f2 + ret .asm_1d6b3 - ld a, $2a - call Func_1d5f2 - ld a, $28 - call Func_1d5f2 - ret + ld a, $2a + call Func_1d5f2 + ld a, $28 + call Func_1d5f2 + ret -INCBIN "baserom.gbc",$1d6be,$1dbd2 - $1d6be + dr $1d6be, $1dbd2 Func_1dbd2: ; 0x1dbd2 - ld a, [$d4ed] - and a - jp z, Func_1dc8e - cp $2 - jr z, .asm_1dc33 - xor a - ld [$d4ed], a - ld hl, wLeftMapMoveCounter - ld a, [hl] - cp $3 - jp z, Func_1dc8e - inc a - ld [hl], a - ld hl, $d4f7 - ld a, $e0 - ld [hli], a - ld a, $1 - ld [hl], a - ld a, [wCurrentStage] - bit 0, a - jr z, .asm_1dc06 - ld a, $54 - ld [$c7e3], a - ld a, $55 - ld [$c803], a + ld a, [$d4ed] + and a + jp z, Func_1dc8e + cp $2 + jr z, .asm_1dc33 + xor a + ld [$d4ed], a + ld hl, wLeftMapMoveCounter + ld a, [hl] + cp $3 + jp z, Func_1dc8e + inc a + ld [hl], a + ld hl, $d4f7 + ld a, $e0 + ld [hli], a + ld a, $1 + ld [hl], a + ld a, [wCurrentStage] + bit 0, a + jr z, .asm_1dc06 + ld a, $54 + ld [$c7e3], a + ld a, $55 + ld [$c803], a .asm_1dc06 - ld a, $1 - call Func_1de4b - ld a, [wLeftMapMoveCounter] - call Func_1de6f - ld a, [wLeftMapMoveCounter] - cp $3 - ld a, $7 - ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch - ld a, $2 - ld [$d646], a - ld a, $78 - ld [wLeftMapMoveDiglettAnimationCounter], a - ld a, $14 - ld [wLeftMapMoveDiglettFrame], a - jr .asm_1dc8a + ld a, $1 + call Func_1de4b + ld a, [wLeftMapMoveCounter] + call Func_1de6f + ld a, [wLeftMapMoveCounter] + cp $3 + ld a, $7 + ld [$ff8a], a + ld a, Bank(Func_10000) + ld hl, Func_10000 + call BankSwitch + ld a, $2 + ld [$d646], a + ld a, $78 + ld [wLeftMapMoveDiglettAnimationCounter], a + ld a, $14 + ld [wLeftMapMoveDiglettFrame], a + jr .asm_1dc8a .asm_1dc33 - xor a - ld [$d4ed], a - ld hl, wRightMapMoveCounter - ld a, [hl] - cp $3 - jp z, Func_1dc8e - inc a - ld [hl], a - ld hl, $d4f9 - ld a, $e0 - ld [hli], a - ld a, $1 - ld [hl], a - ld a, [wCurrentStage] - bit 0, a - jr z, .asm_1dc5c - ld a, $52 - ld [$c7f0], a - ld a, $53 - ld [$c810], a + xor a + ld [$d4ed], a + ld hl, wRightMapMoveCounter + ld a, [hl] + cp $3 + jp z, Func_1dc8e + inc a + ld [hl], a + ld hl, $d4f9 + ld a, $e0 + ld [hli], a + ld a, $1 + ld [hl], a + ld a, [wCurrentStage] + bit 0, a + jr z, .asm_1dc5c + ld a, $52 + ld [$c7f0], a + ld a, $53 + ld [$c810], a .asm_1dc5c - ld a, $3 - call Func_1de4b - ld a, [wRightMapMoveCounter] - cp $3 - ld a, $8 - ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch - ld a, [wRightMapMoveCounter] - cp $3 - ccf - call z, Func_1ddf4 - ld a, $2 - ld [$d645], a - ld a, $28 - ld [wRightMapMoveDiglettAnimationCounter], a - ld a, $78 - ld [wRightMapMoveDiglettFrame], a + ld a, $3 + call Func_1de4b + ld a, [wRightMapMoveCounter] + cp $3 + ld a, $8 + ld [$ff8a], a + ld a, Bank(Func_10000) + ld hl, Func_10000 + call BankSwitch + ld a, [wRightMapMoveCounter] + cp $3 + ccf + call z, Func_1ddf4 + ld a, $2 + ld [$d645], a + ld a, $28 + ld [wRightMapMoveDiglettAnimationCounter], a + ld a, $78 + ld [wRightMapMoveDiglettFrame], a .asm_1dc8a - call Func_1de22 - ret + call Func_1de22 + ret Func_1dc8e: ; 0x1dc8e - call Func_1dc95 - call Func_1dd2e - ret + call Func_1dc95 + call Func_1dd2e + ret Func_1dc95: ; 0x1dc95 - ld a, [$d646] - cp $0 - ret z - ld a, [wLeftMapMoveDiglettAnimationCounter] - and a - jr z, .asm_1dceb - dec a - ld [wLeftMapMoveDiglettAnimationCounter], a - ld a, [$d644] - and a - ret nz - ld a, [wLeftMapMoveDiglettFrame] - cp $1 - jr z, .asm_1dcb9 - cp $0 - ret z - dec a - ld [wLeftMapMoveDiglettFrame], a - ret + ld a, [$d646] + cp $0 + ret z + ld a, [wLeftMapMoveDiglettAnimationCounter] + and a + jr z, .asm_1dceb + dec a + ld [wLeftMapMoveDiglettAnimationCounter], a + ld a, [$d644] + and a + ret nz + ld a, [wLeftMapMoveDiglettFrame] + cp $1 + jr z, .asm_1dcb9 + cp $0 + ret z + dec a + ld [wLeftMapMoveDiglettFrame], a + ret .asm_1dcb9 - ld a, [$d646] - cp $2 - ret nz - call Func_1130 - ret nz - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_1dcd7 - ld a, [wLeftMapMoveCounter] - cp $0 - jr z, .asm_1dcd4 - ld b, $7 - add b - jr .asm_1dcd9 + ld a, [$d646] + cp $2 + ret nz + call Func_1130 + ret nz + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_1dcd7 + ld a, [wLeftMapMoveCounter] + cp $0 + jr z, .asm_1dcd4 + ld b, $7 + add b + jr .asm_1dcd9 .asm_1dcd4 - xor a - jr .asm_1dcd9 + xor a + jr .asm_1dcd9 .asm_1dcd7 - ld a, $8 + ld a, $8 .asm_1dcd9 - call Func_1de6f - ld a, [wLeftMapMoveCounter] - cp $3 - ccf - call z, Func_1ddc7 - ld a, $1 - ld [$d646], a - ret + call Func_1de6f + ld a, [wLeftMapMoveCounter] + cp $3 + ccf + call z, Func_1ddc7 + ld a, $1 + ld [$d646], a + ret .asm_1dceb - ld a, [$d646] - cp $1 - ret nz - ld a, [wLeftMapMoveDiglettAnimationCounter] - and a - ret nz - ld a, $0 - call Func_1de4b - ld a, [wCurrentStage] - bit 0, a - jr z, .asm_1dd0c - ld a, $5e - ld [$c7e3], a - ld a, $5f - ld [$c803], a + ld a, [$d646] + cp $1 + ret nz + ld a, [wLeftMapMoveDiglettAnimationCounter] + and a + ret nz + ld a, $0 + call Func_1de4b + ld a, [wCurrentStage] + bit 0, a + jr z, .asm_1dd0c + ld a, $5e + ld [$c7e3], a + ld a, $5f + ld [$c803], a .asm_1dd0c - ld a, $0 - ld [$d646], a - ld a, [wLeftMapMoveCounter] - sub $3 - ret nz - ld a, [wLeftMapMoveCounter] - sub $3 - ld [wLeftMapMoveCounter], a - call Func_1de6f - ld a, $0 - call Func_1de4b - ld a, $0 - ld [$d646], a - ret - -INCBIN "baserom.gbc",$1dd2d,$1dd2e - $1dd2d + ld a, $0 + ld [$d646], a + ld a, [wLeftMapMoveCounter] + sub $3 + ret nz + ld a, [wLeftMapMoveCounter] + sub $3 + ld [wLeftMapMoveCounter], a + call Func_1de6f + ld a, $0 + call Func_1de4b + ld a, $0 + ld [$d646], a + ret + + dr $1dd2d, $1dd2e Func_1dd2e: ; 0x1dd2e - ld a, [$d645] - cp $0 - ret z - cp $1 - jr z, .asm_1dd53 - cp $3 - jr z, .asm_1dd69 - ld a, [wRightMapMoveDiglettAnimationCounter] - cp $0 - jr z, .asm_1dd48 - dec a - ld [wRightMapMoveDiglettAnimationCounter], a - ret + ld a, [$d645] + cp $0 + ret z + cp $1 + jr z, .asm_1dd53 + cp $3 + jr z, .asm_1dd69 + ld a, [wRightMapMoveDiglettAnimationCounter] + cp $0 + jr z, .asm_1dd48 + dec a + ld [wRightMapMoveDiglettAnimationCounter], a + ret .asm_1dd48 - ld a, $2 - call Func_1de4b - ld a, $1 - ld [$d645], a - ret + ld a, $2 + call Func_1de4b + ld a, $1 + ld [$d645], a + ret .asm_1dd53 - ld a, [wRightMapMoveCounter] - add $4 - call Func_1de6f - ld a, [wRightMapMoveCounter] - add $3 - call Func_1de4b - ld a, $3 - ld [$d645], a - ret + ld a, [wRightMapMoveCounter] + add $4 + call Func_1de6f + ld a, [wRightMapMoveCounter] + add $3 + call Func_1de4b + ld a, $3 + ld [$d645], a + ret .asm_1dd69 - ld a, [wRightMapMoveDiglettFrame] - and a - jr z, .asm_1dd74 - dec a - ld [wRightMapMoveDiglettFrame], a - ret + ld a, [wRightMapMoveDiglettFrame] + and a + jr z, .asm_1dd74 + dec a + ld [wRightMapMoveDiglettFrame], a + ret .asm_1dd74 - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_1dd89 - ld a, [wRightMapMoveCounter] - cp $0 - jr z, .asm_1dd85 - ld b, $a - add b - jr .asm_1dd8b + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_1dd89 + ld a, [wRightMapMoveCounter] + cp $0 + jr z, .asm_1dd85 + ld b, $a + add b + jr .asm_1dd8b .asm_1dd85 - ld a, $4 - jr .asm_1dd8b + ld a, $4 + jr .asm_1dd8b .asm_1dd89 - ld a, $9 + ld a, $9 .asm_1dd8b - call Func_1de6f - ld a, $2 - call Func_1de4b - ld a, [wCurrentStage] - bit 0, a - jr z, .asm_1dda9 - ld a, $24 - ld [$c7f0], a - ld a, $25 - ld [$c810], a - ld a, $0 - ld [$d645], a + call Func_1de6f + ld a, $2 + call Func_1de4b + ld a, [wCurrentStage] + bit 0, a + jr z, .asm_1dda9 + ld a, $24 + ld [$c7f0], a + ld a, $25 + ld [$c810], a + ld a, $0 + ld [$d645], a .asm_1dda9 - ld a, [wRightMapMoveCounter] - sub $3 - ret nz - ld a, [wRightMapMoveCounter] - sub $3 - ld [wRightMapMoveCounter], a - ld a, $4 - call Func_1de6f - ld a, $2 - call Func_1de4b - ld a, $0 - ld [$d645], a - ret + ld a, [wRightMapMoveCounter] + sub $3 + ret nz + ld a, [wRightMapMoveCounter] + sub $3 + ld [wRightMapMoveCounter], a + ld a, $4 + call Func_1de6f + ld a, $2 + call Func_1de4b + ld a, $0 + ld [$d645], a + ret Func_1ddc7: ; 0x1ddc7 - ld hl, $d63d - call Func_e4a - ld hl, $d62b - call Func_e4a - jr nc, .asm_1dde4 - ld c, $a - call Func_e55 - ld [$ff8a], a - ld a, Bank(Func_30164) - ld hl, Func_30164 - call z, BankSwitch + ld hl, $d63d + call Func_e4a + ld hl, $d62b + call Func_e4a + jr nc, .asm_1dde4 + ld c, $a + call Func_e55 + ld [$ff8a], a + ld a, Bank(Func_30164) + ld hl, Func_30164 + call z, BankSwitch .asm_1dde4 - xor a - ld [$d55a], a - ld [$ff8a], a - ld a, Bank(StartMapMoveMode) - ld hl, StartMapMoveMode - call BankSwitch - scf - ret + xor a + ld [$d55a], a + ld [$ff8a], a + ld a, Bank(StartMapMoveMode) + ld hl, StartMapMoveMode + call BankSwitch + scf + ret Func_1ddf4: ; 0x1ddf4 - ld hl, $d63c - call Func_e4a - ld hl, $d62b - call Func_e4a - jr nc, .asm_1de11 - ld c, $a - call Func_e55 - ld [$ff8a], a - ld a, Bank(Func_30164) - ld hl, Func_30164 - call z, BankSwitch + ld hl, $d63c + call Func_e4a + ld hl, $d62b + call Func_e4a + jr nc, .asm_1de11 + ld c, $a + call Func_e55 + ld [$ff8a], a + ld a, Bank(Func_30164) + ld hl, Func_30164 + call z, BankSwitch .asm_1de11 - ld a, $1 - ld [$d55a], a - ld [$ff8a], a - ld a, Bank(StartMapMoveMode) - ld hl, StartMapMoveMode - call BankSwitch - scf - ret + ld a, $1 + ld [$d55a], a + ld [$ff8a], a + ld a, Bank(StartMapMoveMode) + ld hl, StartMapMoveMode + call BankSwitch + scf + ret Func_1de22: ; 0x1de22 - ld a, [wCurrentStage] - bit 0, a - ret z - ld a, $55 - ld [$d803], a - ld a, $4 - ld [$d804], a - ld a, $2 - ld [$d7eb], a - ld bc, $34be - ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch - ld de, $000f - call PlaySoundEffect - ret + ld a, [wCurrentStage] + bit 0, a + ret z + ld a, $55 + ld [$d803], a + ld a, $4 + ld [$d804], a + ld a, $2 + ld [$d7eb], a + ld bc, $34be + ld [$ff8a], a + ld a, Bank(Func_8576) + ld hl, Func_8576 + call BankSwitch + ld de, $000f + call PlaySoundEffect + ret Func_1de4b: ; 0x1de4b - ld b, a - ld a, [wCurrentStage] - bit 0, a - ret z - ld a, b - sla a - ld c, a - ld b, $0 - ld hl, $5f66 - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_1de63 - ld hl, $600f + ld b, a + ld a, [wCurrentStage] + bit 0, a + ret z + ld a, b + sla a + ld c, a + ld b, $0 + ld hl, $5f66 + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_1de63 + ld hl, $600f .asm_1de63 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - or h - ret z - ld a, $7 - call Func_10aa - ret + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + or h + ret z + ld a, $7 + call Func_10aa + ret Func_1de6f: ; 0x1de6f - ld b, a - ld a, [wCurrentStage] - bit 0, a - ret z - ld a, b - sla a - ld c, a - ld b, $0 - ld hl, $60a4 - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_1de87 - ld hl, $61d6 + ld b, a + ld a, [wCurrentStage] + bit 0, a + ret z + ld a, b + sla a + ld c, a + ld b, $0 + ld hl, $60a4 + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_1de87 + ld hl, $61d6 .asm_1de87 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - or h - ret z - ld a, $7 - call Func_10aa - ret + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + or h + ret z + ld a, $7 + call Func_10aa + ret Func_1de93: ; 0x1de93 - ld hl, $d4f7 - dec [hl] - ld a, [hli] - cp $ff - jr nz, .asm_1ded2 - dec [hl] - ld a, [hld] - cp $ff - jr nz, .asm_1ded2 - ld a, $e0 - ld [hli], a - ld a, $1 - ld [hl], a - ld a, [wLeftMapMoveCounter] - and a - jr z, .asm_1ded2 - cp $3 - jr z, .asm_1ded2 - dec a - ld [wLeftMapMoveCounter], a - call Func_1de6f - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_1decd - ld a, [wLeftMapMoveCounter] - cp $0 - jr z, .asm_1deca - ld b, $7 - add b - jr .asm_1decf + ld hl, $d4f7 + dec [hl] + ld a, [hli] + cp $ff + jr nz, .asm_1ded2 + dec [hl] + ld a, [hld] + cp $ff + jr nz, .asm_1ded2 + ld a, $e0 + ld [hli], a + ld a, $1 + ld [hl], a + ld a, [wLeftMapMoveCounter] + and a + jr z, .asm_1ded2 + cp $3 + jr z, .asm_1ded2 + dec a + ld [wLeftMapMoveCounter], a + call Func_1de6f + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_1decd + ld a, [wLeftMapMoveCounter] + cp $0 + jr z, .asm_1deca + ld b, $7 + add b + jr .asm_1decf .asm_1deca - xor a - jr .asm_1decf + xor a + jr .asm_1decf .asm_1decd - ld a, $8 + ld a, $8 .asm_1decf - call Func_1de6f + call Func_1de6f .asm_1ded2 - ld hl, $d4f9 - dec [hl] - ld a, [hli] - cp $ff - jr nz, .asm_1df14 - dec [hl] - ld a, [hld] - cp $ff - jr nz, .asm_1df14 - ld a, $e0 - ld [hli], a - ld a, $1 - ld [hl], a - ld a, [wRightMapMoveCounter] - and a - jr z, .asm_1df14 - cp $3 - jr z, .asm_1df14 - dec a - ld [wRightMapMoveCounter], a - add $4 - call Func_1de6f - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_1df0f - ld a, [wRightMapMoveCounter] - cp $0 - jr z, .asm_1df0b - ld b, $a - add b - jr .asm_1df11 + ld hl, $d4f9 + dec [hl] + ld a, [hli] + cp $ff + jr nz, .asm_1df14 + dec [hl] + ld a, [hld] + cp $ff + jr nz, .asm_1df14 + ld a, $e0 + ld [hli], a + ld a, $1 + ld [hl], a + ld a, [wRightMapMoveCounter] + and a + jr z, .asm_1df14 + cp $3 + jr z, .asm_1df14 + dec a + ld [wRightMapMoveCounter], a + add $4 + call Func_1de6f + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_1df0f + ld a, [wRightMapMoveCounter] + cp $0 + jr z, .asm_1df0b + ld b, $a + add b + jr .asm_1df11 .asm_1df0b - ld a, $4 - jr .asm_1df11 + ld a, $4 + jr .asm_1df11 .asm_1df0f - ld a, $9 + ld a, $9 .asm_1df11 - call Func_1de6f + call Func_1de6f .asm_1df14 - ret + ret Func_1df15: ; 0x1df15 - ld b, $0 - ld hl, $d4f8 - ld a, [hld] - or [hl] - jr z, .asm_1df3e - dec [hl] - ld a, [hli] - cp $ff - jr nz, .asm_1df3e - dec [hl] - ld a, [hld] - cp $ff - jr nz, .asm_1df3e - ld a, $e0 - ld [hli], a - ld a, $1 - ld [hl], a - ld a, [wLeftMapMoveCounter] - and a - jr z, .asm_1df3e - cp $3 - jr z, .asm_1df3e - dec a - ld [wLeftMapMoveCounter], a + ld b, $0 + ld hl, $d4f8 + ld a, [hld] + or [hl] + jr z, .asm_1df3e + dec [hl] + ld a, [hli] + cp $ff + jr nz, .asm_1df3e + dec [hl] + ld a, [hld] + cp $ff + jr nz, .asm_1df3e + ld a, $e0 + ld [hli], a + ld a, $1 + ld [hl], a + ld a, [wLeftMapMoveCounter] + and a + jr z, .asm_1df3e + cp $3 + jr z, .asm_1df3e + dec a + ld [wLeftMapMoveCounter], a .asm_1df3e - ld hl, $d4fa - ld a, [hld] - or [hl] - jr z, .asm_1df65 - dec [hl] - ld a, [hli] - cp $ff - jr nz, .asm_1df65 - dec [hl] - ld a, [hld] - cp $ff - jr nz, .asm_1df65 - ld a, $e0 - ld [hli], a - ld a, $1 - ld [hl], a - ld a, [wRightMapMoveCounter] - and a - jr z, .asm_1df65 - cp $3 - jr z, .asm_1df65 - dec a - ld [wRightMapMoveCounter], a + ld hl, $d4fa + ld a, [hld] + or [hl] + jr z, .asm_1df65 + dec [hl] + ld a, [hli] + cp $ff + jr nz, .asm_1df65 + dec [hl] + ld a, [hld] + cp $ff + jr nz, .asm_1df65 + ld a, $e0 + ld [hli], a + ld a, $1 + ld [hl], a + ld a, [wRightMapMoveCounter] + and a + jr z, .asm_1df65 + cp $3 + jr z, .asm_1df65 + dec a + ld [wRightMapMoveCounter], a .asm_1df65 - ret + ret -INCBIN "baserom.gbc",$1df66,$1e356 - $1df66 + dr $1df66, $1e356 Func_1e356: ; 0x1e356 - ld a, [$d5f7] - and a - jp z, Func_1e471 - xor a - ld [$d5f7], a - ld a, [wStageCollisionState] - cp $0 - jr nz, .asm_1e386 - ld a, $1 - ld [wStageCollisionState], a - ld [$ff8a], a - ld a, Bank(LoadStageCollisionAttributes) - ld hl, LoadStageCollisionAttributes - call BankSwitch - ld a, $1 - ld [$d580], a - ld [$ff8a], a - ld a, Bank(Func_1404a) - ld hl, Func_1404a - call BankSwitch + ld a, [$d5f7] + and a + jp z, Func_1e471 + xor a + ld [$d5f7], a + ld a, [wStageCollisionState] + cp $0 + jr nz, .asm_1e386 + ld a, $1 + ld [wStageCollisionState], a + ld [$ff8a], a + ld a, Bank(LoadStageCollisionAttributes) + ld hl, LoadStageCollisionAttributes + call BankSwitch + ld a, $1 + ld [$d580], a + ld [$ff8a], a + ld a, Bank(Func_1404a) + ld hl, Func_1404a + call BankSwitch .asm_1e386 - ld a, [wStageCollisionState] - bit 0, a - jp z, Func_1e471 - ld a, [$d5fc] - and a - jp nz, Func_1e471 - xor a - ld [wRightAlleyTrigger], a - ld [wLeftAlleyTrigger], a - ld [wSecondaryLeftAlleyTrigger], a - ld a, $b - ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch - ld a, [$d5f8] - sub $13 - ld c, a - ld b, $0 - ld hl, $d5f9 - add hl, bc - ld a, [hl] - ld [hl], $1 - and a - jr z, .asm_1e3bf - ld [hl], $0 + ld a, [wStageCollisionState] + bit 0, a + jp z, Func_1e471 + ld a, [$d5fc] + and a + jp nz, Func_1e471 + xor a + ld [wRightAlleyTrigger], a + ld [wLeftAlleyTrigger], a + ld [wSecondaryLeftAlleyTrigger], a + ld a, $b + ld [$ff8a], a + ld a, Bank(Func_10000) + ld hl, Func_10000 + call BankSwitch + ld a, [$d5f8] + sub $13 + ld c, a + ld b, $0 + ld hl, $d5f9 + add hl, bc + ld a, [hl] + ld [hl], $1 + and a + jr z, .asm_1e3bf + ld [hl], $0 .asm_1e3bf - ld bc, $34b2 - ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch - ld hl, $d5f9 - ld a, [hli] - and [hl] - inc hl - and [hl] - jr nz, .asm_1e3de - ld de, $0009 - call PlaySoundEffect - jp asm_1e475 + ld bc, $34b2 + ld [$ff8a], a + ld a, Bank(Func_8576) + ld hl, Func_8576 + call BankSwitch + ld hl, $d5f9 + ld a, [hli] + and [hl] + inc hl + and [hl] + jr nz, .asm_1e3de + ld de, $0009 + call PlaySoundEffect + jp asm_1e475 .asm_1e3de - ld a, $1 - ld [$d5fc], a - ld a, $80 - ld [$d5fd], a - ; load approximately 1 minute of frames into wBallTypeCounter - ld a, $10 - ld [wBallTypeCounter], a - ld a, $e - ld [wBallTypeCounter + 1], a - ld bc, $34b8 - ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch - ld a, [wBallType] - cp MASTER_BALL - jr z, .masterBall - ld de, $063a - call PlaySoundEffect - call Func_30e8 - call Func_30db - ld hl, $d5cc - ld de, $2907 - call Func_32aa - ld a, [wBallType] - ld c, a - ld b, $0 - ld hl, BallTypeProgression2BlueField - add hl, bc - ld a, [hl] - ld [wBallType], a - add $30 - ld [$c512], a - jr .asm_1e465 + ld a, $1 + ld [$d5fc], a + ld a, $80 + ld [$d5fd], a + ; load approximately 1 minute of frames into wBallTypeCounter + ld a, $10 + ld [wBallTypeCounter], a + ld a, $e + ld [wBallTypeCounter + 1], a + ld bc, $34b8 + ld [$ff8a], a + ld a, Bank(Func_8576) + ld hl, Func_8576 + call BankSwitch + ld a, [wBallType] + cp MASTER_BALL + jr z, .masterBall + ld de, $063a + call PlaySoundEffect + call Func_30e8 + call Func_30db + ld hl, $d5cc + ld de, $2907 + call Func_32aa + ld a, [wBallType] + ld c, a + ld b, $0 + ld hl, BallTypeProgression2BlueField + add hl, bc + ld a, [hl] + ld [wBallType], a + add $30 + ld [$c512], a + jr .asm_1e465 .masterBall - ld de, $0f4d - call PlaySoundEffect - ld bc, $34e8 - ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch - ld bc, $0100 - ld de, $0000 - push bc - push de - call Func_30e8 - call Func_30db - ld hl, $d5d4 - ld de, $2948 - call Func_32cc - pop de - pop bc - ld hl, $d5cc - ld de, $2922 - call Func_32aa + ld de, $0f4d + call PlaySoundEffect + ld bc, $34e8 + ld [$ff8a], a + ld a, Bank(Func_8588) + ld hl, Func_8588 + call BankSwitch + ld bc, $0100 + ld de, $0000 + push bc + push de + call Func_30e8 + call Func_30db + ld hl, $d5d4 + ld de, $2948 + call Func_32cc + pop de + pop bc + ld hl, $d5cc + ld de, $2922 + call Func_32aa .asm_1e465 - ld [$ff8a], a - ld a, Bank(Func_155a7) - ld hl, Func_155a7 - call BankSwitch - jr asm_1e475 + ld [$ff8a], a + ld a, Bank(Func_155a7) + ld hl, Func_155a7 + call BankSwitch + jr asm_1e475 Func_1e471: ; 0x1e471 - call Func_1e4b8 - ret z + call Func_1e4b8 + ret z asm_1e475: ; 0x1e475 - ld hl, $d5fb - ld b, $3 + ld hl, $d5fb + ld b, $3 .asm_1e47a - ld a, [hld] - push hl - call Func_1e484 - pop hl - dec b - jr nz, .asm_1e47a - ret + ld a, [hld] + push hl + call Func_1e484 + pop hl + dec b + jr nz, .asm_1e47a + ret Func_1e484: ; 0x1e484 - and a - jr z, .asm_1e496 - ld a, [hGameBoyColorFlag] - and a - jr nz, .asm_1e491 - ld hl, $6520 - jr .asm_1e4a3 + and a + jr z, .asm_1e496 + ld a, [hGameBoyColorFlag] + and a + jr nz, .asm_1e491 + ld hl, $6520 + jr .asm_1e4a3 .asm_1e491 - ld hl, $6556 - jr .asm_1e4a3 + ld hl, $6556 + jr .asm_1e4a3 .asm_1e496 - ld a, [hGameBoyColorFlag] - and a - jr nz, .asm_1e4a0 - ld hl, $6526 - jr .asm_1e4a3 + ld a, [hGameBoyColorFlag] + and a + jr nz, .asm_1e4a0 + ld hl, $6526 + jr .asm_1e4a3 .asm_1e4a0 - ld hl, $655c + ld hl, $655c .asm_1e4a3 - push bc - dec b - sla b - ld e, b - ld d, $0 - add hl, de - ld c, [hl] - inc hl - ld b, [hl] - ld a, $7 - ld de, LoadTileLists - call Func_10c5 - pop bc - ret + push bc + dec b + sla b + ld e, b + ld d, $0 + add hl, de + ld c, [hl] + inc hl + ld b, [hl] + ld a, $7 + ld de, LoadTileLists + call Func_10c5 + pop bc + ret Func_1e4b8: ; 0x1e4b8 - ld a, [$d5fc] - and a - jr z, .asm_1e4e5 - ld a, [$d5fd] - dec a - ld [$d5fd], a - jr nz, .asm_1e4ca - ld [$d5fc], a + ld a, [$d5fc] + and a + jr z, .asm_1e4e5 + ld a, [$d5fd] + dec a + ld [$d5fd], a + jr nz, .asm_1e4ca + ld [$d5fc], a .asm_1e4ca - and $7 - jr nz, .asm_1e4e3 - ld a, [$d5fd] - srl a - srl a - srl a - and $1 - ld hl, $d5f9 - ld [hli], a - ld [hli], a - ld [hl], a - ld a, $1 - and a - ret + and $7 + jr nz, .asm_1e4e3 + ld a, [$d5fd] + srl a + srl a + srl a + and $1 + ld hl, $d5f9 + ld [hli], a + ld [hli], a + ld [hl], a + ld a, $1 + and a + ret .asm_1e4e3 - xor a - ret + xor a + ret .asm_1e4e5 - ld hl, wKeyConfigLeftFlipper - call IsKeyPressed - jr z, .leftFlipperKeyIsPressed - ; left flipper key is pressed - ld hl, $d5f9 - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hl] - ld e, a - ld a, c - ld [hld], a - ld a, e - ld [hld], a - ld a, b - ld [hl], a - ret + ld hl, wKeyConfigLeftFlipper + call IsKeyPressed + jr z, .leftFlipperKeyIsPressed + ; left flipper key is pressed + ld hl, $d5f9 + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hl] + ld e, a + ld a, c + ld [hld], a + ld a, e + ld [hld], a + ld a, b + ld [hl], a + ret .leftFlipperKeyIsPressed - ld hl, wKeyConfigRightFlipper - call IsKeyPressed - ret z - ; right flipper key is pressed - ld hl, $d5f9 - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hl] - ld e, a - ld a, b - ld [hld], a - ld a, c - ld [hld], a - ld a, e - ld [hl], a - ret + ld hl, wKeyConfigRightFlipper + call IsKeyPressed + ret z + ; right flipper key is pressed + ld hl, $d5f9 + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hl] + ld e, a + ld a, b + ld [hld], a + ld a, c + ld [hld], a + ld a, e + ld [hl], a + ret BallTypeProgression2BlueField: ; 0x1e514 ; Determines the next upgrade for the Ball. - db GREAT_BALL ; POKE_BALL -> GREAT_BALL - db GREAT_BALL ; unused - db ULTRA_BALL ; GREAT_BALL -> ULTRA_BALL - db MASTER_BALL ; ULTRA_BALL -> MASTER_BALL - db MASTER_BALL ; unused - db MASTER_BALL ; MASTER_BALL -> MASTER_BALL + db GREAT_BALL ; POKE_BALL -> GREAT_BALL + db GREAT_BALL ; unused + db ULTRA_BALL ; GREAT_BALL -> ULTRA_BALL + db MASTER_BALL ; ULTRA_BALL -> MASTER_BALL + db MASTER_BALL ; unused + db MASTER_BALL ; MASTER_BALL -> MASTER_BALL BallTypeDegradation2BlueField: ; 0x1e51a ; Determines the previous upgrade for the Ball. - db POKE_BALL ; POKE_BALL -> POKE_BALL - db POKE_BALL ; unused - db POKE_BALL ; GREAT_BALL -> POKE_BALL - db GREAT_BALL ; ULTRA_BALL -> GREAT_BALL - db ULTRA_BALL ; unused - db ULTRA_BALL ; MASTER_BALL -> GREAT_BALL + db POKE_BALL ; POKE_BALL -> POKE_BALL + db POKE_BALL ; unused + db POKE_BALL ; GREAT_BALL -> POKE_BALL + db GREAT_BALL ; ULTRA_BALL -> GREAT_BALL + db ULTRA_BALL ; unused + db ULTRA_BALL ; MASTER_BALL -> GREAT_BALL -INCBIN "baserom.gbc",$1e520,$1e58c - $1e520 + dr $1e520, $1e58c HandleBallTypeUpgradeCounterBlueField: ; 0x1e58c - ld a, [$d5f3] - and a - ret nz - ; check if counter is at 0 - ld hl, wBallTypeCounter - ld a, [hli] - ld c, a - ld b, [hl] - or b - ret z - dec bc - ld a, b - ld [hld], a - ld [hl], c - or c - ret nz - ; counter is now 0! Degrade the ball upgrade. - ld a, [wBallType] - ld c, a - ld b, $0 - ld hl, BallTypeDegradation2BlueField - add hl, bc - ld a, [hl] - ld [wBallType], a - and a - jr z, .pokeball - ; load approximately 1 minute of frames into wBallTypeCounter - ld a, $10 - ld [wBallTypeCounter], a - ld a, $e - ld [wBallTypeCounter + 1], a + ld a, [$d5f3] + and a + ret nz + ; check if counter is at 0 + ld hl, wBallTypeCounter + ld a, [hli] + ld c, a + ld b, [hl] + or b + ret z + dec bc + ld a, b + ld [hld], a + ld [hl], c + or c + ret nz + ; counter is now 0! Degrade the ball upgrade. + ld a, [wBallType] + ld c, a + ld b, $0 + ld hl, BallTypeDegradation2BlueField + add hl, bc + ld a, [hl] + ld [wBallType], a + and a + jr z, .pokeball + ; load approximately 1 minute of frames into wBallTypeCounter + ld a, $10 + ld [wBallTypeCounter], a + ld a, $e + ld [wBallTypeCounter + 1], a .pokeball - ld [$ff8a], a - ld a, Bank(Func_155a7) - ld hl, Func_155a7 - call BankSwitch - ret + ld [$ff8a], a + ld a, Bank(Func_155a7) + ld hl, Func_155a7 + call BankSwitch + ret Func_1e5c5: ; 0x1e5c5 - ld a, [$d50d] - and a - jr z, .asm_1e623 - xor a - ld [$d50d], a - ld a, [$d513] - and a - jr nz, .asm_1e623 - ld a, [$d50e] - sub $16 - ld c, a - ld b, $0 - ld hl, $d50f - add hl, bc - ld a, [hl] - ld [hl], $1 - and a - ret nz - ld bc, $34b2 - ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch - ld hl, $d50f - ld a, [hli] - and [hl] - inc hl - and [hl] - inc hl - and [hl] - jr z, Func_1e627 - ld a, $1 - ld [$d513], a - ld a, $80 - ld [$d514], a - ld bc, $34b8 - ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch - ld de, $0009 - call PlaySoundEffect - ld hl, $d62c - call Func_e4a - jr Func_1e627 + ld a, [$d50d] + and a + jr z, .asm_1e623 + xor a + ld [$d50d], a + ld a, [$d513] + and a + jr nz, .asm_1e623 + ld a, [$d50e] + sub $16 + ld c, a + ld b, $0 + ld hl, $d50f + add hl, bc + ld a, [hl] + ld [hl], $1 + and a + ret nz + ld bc, $34b2 + ld [$ff8a], a + ld a, Bank(Func_8576) + ld hl, Func_8576 + call BankSwitch + ld hl, $d50f + ld a, [hli] + and [hl] + inc hl + and [hl] + inc hl + and [hl] + jr z, Func_1e627 + ld a, $1 + ld [$d513], a + ld a, $80 + ld [$d514], a + ld bc, $34b8 + ld [$ff8a], a + ld a, Bank(Func_8576) + ld hl, Func_8576 + call BankSwitch + ld de, $0009 + call PlaySoundEffect + ld hl, $d62c + call Func_e4a + jr Func_1e627 .asm_1e623 - call Func_1e66a - ret z - ; fall through + call Func_1e66a + ret z + ; fall through Func_1e627: ; 0x1e627 - ld hl, $d512 - ld b, $4 + ld hl, $d512 + ld b, $4 .asm_1e62c - ld a, [hld] - push hl - call Func_1e636 - pop hl - dec b - jr nz, .asm_1e62c - ret + ld a, [hld] + push hl + call Func_1e636 + pop hl + dec b + jr nz, .asm_1e62c + ret Func_1e636: ; 0x1e636 - and a - jr z, .asm_1e648 - ld a, [hGameBoyColorFlag] - and a - jr nz, .asm_1e643 - ld hl, $66d7 - jr .asm_1e655 + and a + jr z, .asm_1e648 + ld a, [hGameBoyColorFlag] + and a + jr nz, .asm_1e643 + ld hl, $66d7 + jr .asm_1e655 .asm_1e643 - ld hl, $6717 - jr .asm_1e655 + ld hl, $6717 + jr .asm_1e655 .asm_1e648 - ld a, [hGameBoyColorFlag] - and a - jr nz, .asm_1e652 - ld hl, $66df - jr .asm_1e655 + ld a, [hGameBoyColorFlag] + and a + jr nz, .asm_1e652 + ld hl, $66df + jr .asm_1e655 .asm_1e652 - ld hl, $671f + ld hl, $671f .asm_1e655 - push bc - dec b - sla b - ld e, b - ld d, $0 - add hl, de - ld c, [hl] - inc hl - ld b, [hl] - ld a, $7 - ld de, LoadTileLists - call Func_10c5 - pop bc - ret + push bc + dec b + sla b + ld e, b + ld d, $0 + add hl, de + ld c, [hl] + inc hl + ld b, [hl] + ld a, $7 + ld de, LoadTileLists + call Func_10c5 + pop bc + ret Func_1e66a: ; 0x1e66a - ld a, [$d513] - and a - jr z, .asm_1e6a0 - ld a, [$d514] - dec a - ld [$d514], a - jr nz, .asm_1e687 - ld [$d513], a - ld a, $1 - ld [$d608], a - ld a, $3 - ld [$d607], a - xor a + ld a, [$d513] + and a + jr z, .asm_1e6a0 + ld a, [$d514] + dec a + ld [$d514], a + jr nz, .asm_1e687 + ld [$d513], a + ld a, $1 + ld [$d608], a + ld a, $3 + ld [$d607], a + xor a .asm_1e687 - and $7 - ret nz - ld a, [$d514] - srl a - srl a - srl a - and $1 - ld hl, $d50f - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a - ld a, $1 - and a - ret + and $7 + ret nz + ld a, [$d514] + srl a + srl a + srl a + and $1 + ld hl, $d50f + ld [hli], a + ld [hli], a + ld [hli], a + ld [hl], a + ld a, $1 + and a + ret .asm_1e6a0 - ld hl, wKeyConfigLeftFlipper - call IsKeyPressed - jr z, .asm_1e6bc - ld hl, $d50f - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - ld a, c - ld [hld], a - ld a, d - ld [hld], a - ld a, e - ld [hld], a - ld a, b - ld [hl], a - ret + ld hl, wKeyConfigLeftFlipper + call IsKeyPressed + jr z, .asm_1e6bc + ld hl, $d50f + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + ld a, c + ld [hld], a + ld a, d + ld [hld], a + ld a, e + ld [hld], a + ld a, b + ld [hl], a + ret .asm_1e6bc - ld hl, wKeyConfigRightFlipper - call IsKeyPressed - ret z - ld hl, $d50f - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - ld a, e - ld [hld], a - ld a, b - ld [hld], a - ld a, c - ld [hld], a - ld a, d - ld [hl], a - ret - -INCBIN "baserom.gbc",$1e6d7,$1e757 - $1e6d7 + ld hl, wKeyConfigRightFlipper + call IsKeyPressed + ret z + ld hl, $d50f + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + ld a, e + ld [hld], a + ld a, b + ld [hld], a + ld a, c + ld [hld], a + ld a, d + ld [hl], a + ret + + dr $1e6d7, $1e757 Func_1e757: ; 0x1e757 - ld a, [$d601] - and a - jr z, .asm_1e78c - xor a - ld [$d601], a - ld a, [$d604] - and a - ret z - ld a, [$d603] - and a - jr nz, .asm_1e78c - xor a - ld hl, wBallXVelocity - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [$d549], a - ld [wBallXPos], a - ld [wBallYPos], a - ld a, $50 - ld [wBallXPos + 1], a - ld a, $16 - ld [wBallYPos + 1], a - ld a, $13 - ld [$d603], a + ld a, [$d601] + and a + jr z, .asm_1e78c + xor a + ld [$d601], a + ld a, [$d604] + and a + ret z + ld a, [$d603] + and a + jr nz, .asm_1e78c + xor a + ld hl, wBallXVelocity + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [$d549], a + ld [wBallXPos], a + ld [wBallYPos], a + ld a, $50 + ld [wBallXPos + 1], a + ld a, $16 + ld [wBallYPos + 1], a + ld a, $13 + ld [$d603], a .asm_1e78c - ld a, [$d603] - and a - ret z - dec a - ld [$d603], a - ld a, $18 - ld [$d606], a - ld a, [$d603] - cp $12 - jr nz, .asm_1e7b2 - ld de, $0021 - call PlaySoundEffect - ld [$ff8a], a - ld a, Bank(LoadMiniBallGfx) - ld hl, LoadMiniBallGfx - call BankSwitch - ret + ld a, [$d603] + and a + ret z + dec a + ld [$d603], a + ld a, $18 + ld [$d606], a + ld a, [$d603] + cp $12 + jr nz, .asm_1e7b2 + ld de, $0021 + call PlaySoundEffect + ld [$ff8a], a + ld a, Bank(LoadMiniBallGfx) + ld hl, LoadMiniBallGfx + call BankSwitch + ret .asm_1e7b2 - cp $f - jr nz, .asm_1e7c1 - ld [$ff8a], a - ld a, Bank(Func_dd62) - ld hl, Func_dd62 - call BankSwitch - ret + cp $f + jr nz, .asm_1e7c1 + ld [$ff8a], a + ld a, Bank(Func_dd62) + ld hl, Func_dd62 + call BankSwitch + ret .asm_1e7c1 - cp $c - jr nz, .asm_1e7d0 - xor a - ld [$d548], a - ld [wBallSpin], a - ld [wBallRotation], a - ret + cp $c + jr nz, .asm_1e7d0 + xor a + ld [$d548], a + ld [wBallSpin], a + ld [wBallRotation], a + ret .asm_1e7d0 - cp $9 - jr nz, .asm_1e7d8 - call Func_1e830 - ret + cp $9 + jr nz, .asm_1e7d8 + call Func_1e830 + ret .asm_1e7d8 - cp $6 - jr nz, .asm_1e7f5 - xor a - ld [$d604], a - ld a, $5 - ld [$d803], a - ld a, $8 - ld [$d804], a - ld [$ff8a], a - ld a, Bank(LoadMiniBallGfx) - ld hl, LoadMiniBallGfx - call BankSwitch - ret + cp $6 + jr nz, .asm_1e7f5 + xor a + ld [$d604], a + ld a, $5 + ld [$d803], a + ld a, $8 + ld [$d804], a + ld [$ff8a], a + ld a, Bank(LoadMiniBallGfx) + ld hl, LoadMiniBallGfx + call BankSwitch + ret .asm_1e7f5 - cp $3 - jr nz, .asm_1e80e - ld [$ff8a], a - ld a, Bank(LoadBallGfx) - ld hl, LoadBallGfx - call BankSwitch - ld a, $2 - ld [wBallYVelocity + 1], a - ld a, $80 - ld [wBallXVelocity], a - ret + cp $3 + jr nz, .asm_1e80e + ld [$ff8a], a + ld a, Bank(LoadBallGfx) + ld hl, LoadBallGfx + call BankSwitch + ld a, $2 + ld [wBallYVelocity + 1], a + ld a, $80 + ld [wBallXVelocity], a + ret .asm_1e80e - and a - ret nz - call Func_1e8f6 - ld a, [$d622] - cp $1 - ret nz - call GenRandom - and $8 - ld [wRareMonsFlag], a - ld [$ff8a], a - ld a, Bank(StartCatchEmMode) - ld hl, StartCatchEmMode - call BankSwitch - xor a - ld [$d622], a - ret + and a + ret nz + call Func_1e8f6 + ld a, [$d622] + cp $1 + ret nz + call GenRandom + and $8 + ld [wRareMonsFlag], a + ld [$ff8a], a + ld a, Bank(StartCatchEmMode) + ld hl, StartCatchEmMode + call BankSwitch + xor a + ld [$d622], a + ret Func_1e830: ; 0x1e830 - xor a - ld [wIndicatorStates + 4], a - ld a, $d - ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch - jr nc, .asm_1e84b - ld a, $1 - ld [$d548], a - ld [$d549], a - ret + xor a + ld [wIndicatorStates + 4], a + ld a, $d + ld [$ff8a], a + ld a, Bank(Func_10000) + ld hl, Func_10000 + call BankSwitch + jr nc, .asm_1e84b + ld a, $1 + ld [$d548], a + ld [$d549], a + ret .asm_1e84b - ld a, [$d624] - cp $3 - jr nz, .asm_1e891 - ld a, [$d607] - and a - jr nz, .asm_1e891 + ld a, [$d624] + cp $3 + jr nz, .asm_1e891 + ld a, [$d607] + and a + jr nz, .asm_1e891 .asm_1e858 - ld a, [$d623] - and a - jr nz, .asm_1e867 - xor a - ld [$d625], a - ld a, $40 - ld [$d626], a + ld a, [$d623] + and a + jr nz, .asm_1e867 + xor a + ld [$d625], a + ld a, $40 + ld [$d626], a .asm_1e867 - xor a - ld [$d623], a - ld a, $1 - ld [$d495], a - ld [$d4ae], a - ld a, [$d498] - ld c, a - ld b, $0 - ld hl, $68f1 - add hl, bc - ld a, [hl] - ld [$d497], a - call Func_1e8c3 - xor a - ld [$d609], a - ld [$d622], a - ld a, $1e - ld [$d607], a - ret + xor a + ld [$d623], a + ld a, $1 + ld [$d495], a + ld [$d4ae], a + ld a, [$d498] + ld c, a + ld b, $0 + ld hl, $68f1 + add hl, bc + ld a, [hl] + ld [$d497], a + call Func_1e8c3 + xor a + ld [$d609], a + ld [$d622], a + ld a, $1e + ld [$d607], a + ret .asm_1e891 - ld [$ff8a], a - ld a, Bank(Func_ed8e) - ld hl, Func_ed8e - call BankSwitch - xor a - ld [$d608], a - ld a, [$d61d] - cp $d - jr nc, .asm_1e858 - ld a, $1 - ld [$d548], a - ld [$d549], a - ld a, [$d622] - cp $2 - ret nz - ld [$ff8a], a - ld a, Bank(Func_10ab3) - ld hl, Func_10ab3 - call BankSwitch - xor a - ld [$d622], a - ret + ld [$ff8a], a + ld a, Bank(Func_ed8e) + ld hl, Func_ed8e + call BankSwitch + xor a + ld [$d608], a + ld a, [$d61d] + cp $d + jr nc, .asm_1e858 + ld a, $1 + ld [$d548], a + ld [$d549], a + ld a, [$d622] + cp $2 + ret nz + ld [$ff8a], a + ld a, Bank(Func_10ab3) + ld hl, Func_10ab3 + call BankSwitch + xor a + ld [$d622], a + ret Func_1e8c3: ; 0x1e8c3 - call Func_30e8 - call Func_30db - ld hl, $d5dc - ld a, [$d497] - ld de, $2ed2 - cp $b - jr z, .asm_1e8e0 - ld de, $2eec - cp $f - jr z, .asm_1e8e0 - ld de, $2eb8 + call Func_30e8 + call Func_30db + ld hl, $d5dc + ld a, [$d497] + ld de, $2ed2 + cp $b + jr z, .asm_1e8e0 + ld de, $2eec + cp $f + jr z, .asm_1e8e0 + ld de, $2eb8 .asm_1e8e0 - call Func_32aa - ld de, $0000 - call PlaySong - rst $10 - ld de, $3c23 - call PlaySoundEffect - ret + call Func_32aa + ld de, $0000 + call PlaySong + rst $10 + ld de, $3c23 + call PlaySoundEffect + ret -INCBIN "baserom.gbc",$1e8f1,$1e8f6 - $1e8f1 + dr $1e8f1, $1e8f6 Func_1e8f6: ; 0x1e8f6 - ld a, [wCurrentStage] - and $1 - sla a - ld c, a - ld a, [$d604] - add c - sla a - ld c, a - ld b, $0 - ld hl, $691e - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_1e912 - ld hl, $6970 + ld a, [wCurrentStage] + and $1 + sla a + ld c, a + ld a, [$d604] + add c + sla a + ld c, a + ld b, $0 + ld hl, $691e + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_1e912 + ld hl, $6970 .asm_1e912 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - or h - ret z - ld a, $7 - call Func_10aa - ret - -INCBIN "baserom.gbc",$1e91e,$1e9c0 - $1e91e + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + or h + ret z + ld a, $7 + call Func_10aa + ret + + dr $1e91e, $1e9c0 Func_1e9c0: ; 0x1e9c0 - ld a, [$d607] - and a - ret z - dec a - ld [$d607], a - ret nz - ld a, [wInSpecialMode] - and a - ret nz - ld a, [$d609] - and a - jr z, .asm_1e9dc - ld a, [$d498] - add $15 - jr .asm_1e9e3 + ld a, [$d607] + and a + ret z + dec a + ld [$d607], a + ret nz + ld a, [wInSpecialMode] + and a + ret nz + ld a, [$d609] + and a + jr z, .asm_1e9dc + ld a, [$d498] + add $15 + jr .asm_1e9e3 .asm_1e9dc - ld a, [$d608] - and a - ret z - ld a, $1a + ld a, [$d608] + and a + ret z + ld a, $1a .asm_1e9e3 - ld hl, wCurrentStage - bit 0, [hl] - ld [$ff8a], a - ld a, Bank(Func_30256) - ld hl, Func_30256 - call nz, BankSwitch - ld a, [$d604] - and a - ret nz - ld a, $1 - ld [$d604], a - ld a, $80 - ld [wIndicatorStates + 4], a - ld a, [wCurrentStage] - bit 0, a - call nz, Func_1e8f6 - ret + ld hl, wCurrentStage + bit 0, [hl] + ld [$ff8a], a + ld a, Bank(Func_30256) + ld hl, Func_30256 + call nz, BankSwitch + ld a, [$d604] + and a + ret nz + ld a, $1 + ld [$d604], a + ld a, $80 + ld [wIndicatorStates + 4], a + ld a, [wCurrentStage] + bit 0, a + call nz, Func_1e8f6 + ret Func_1ea0a: ; 0x1ea0a - ld a, [$d604] - and a - ret z - ld a, [wBallYPos + 1] - sub $fe - cp $30 - ret nc - ld c, $0 - ld b, a - ld h, b - ld l, c - srl b - rr c - srl b - rr c - srl h - rr l - add hl, bc - ld a, [wBallXPos + 1] - sub $38 - cp $30 - ret nc - ld c, a - ld b, $0 - sla c - sla c - add hl, bc - jr asm_1ea6a + ld a, [$d604] + and a + ret z + ld a, [wBallYPos + 1] + sub $fe + cp $30 + ret nc + ld c, $0 + ld b, a + ld h, b + ld l, c + srl b + rr c + srl b + rr c + srl h + rr l + add hl, bc + ld a, [wBallXPos + 1] + sub $38 + cp $30 + ret nc + ld c, a + ld b, $0 + sla c + sla c + add hl, bc + jr asm_1ea6a Func_1ea3b: ; 0x1ea3b - ld a, [$d604] - and a - ret z - ld a, [wBallYPos + 1] - sub $86 - cp $30 - ret nc - ld c, $0 - ld b, a - ld h, b - ld l, c - srl b - rr c - srl b - rr c - srl h - rr l - add hl, bc - ld a, [wBallXPos + 1] - sub $38 - cp $30 - ret nc - ld c, a - ld b, $0 - sla c - sla c - add hl, bc - ; fall through + ld a, [$d604] + and a + ret z + ld a, [wBallYPos + 1] + sub $86 + cp $30 + ret nc + ld c, $0 + ld b, a + ld h, b + ld l, c + srl b + rr c + srl b + rr c + srl h + rr l + add hl, bc + ld a, [wBallXPos + 1] + sub $38 + cp $30 + ret nc + ld c, a + ld b, $0 + sla c + sla c + add hl, bc + ; fall through asm_1ea6a: ; 0x1ea6a - ld bc, $4000 - add hl, bc - ld de, wBallXVelocity - ld a, $3c - call ReadByteFromBank - ld c, a - ld a, [de] - add c - ld [de], a - inc de - inc hl - ld a, $3c - call ReadByteFromBank - ld b, a - ld a, [de] - adc b - ld [de], a - inc de - inc hl - push bc - ld a, $3c - call ReadByteFromBank - ld c, a - ld a, [de] - add c - ld [de], a - inc de - inc hl - ld a, $3c - call ReadByteFromBank - ld b, a - ld a, [de] - adc b - ld [de], a - inc de - inc hl - bit 7, b - jr z, .asm_1eaa9 - ld a, c - cpl - ld c, a - ld a, b - cpl - ld b, a - inc bc + ld bc, $4000 + add hl, bc + ld de, wBallXVelocity + ld a, $3c + call ReadByteFromBank + ld c, a + ld a, [de] + add c + ld [de], a + inc de + inc hl + ld a, $3c + call ReadByteFromBank + ld b, a + ld a, [de] + adc b + ld [de], a + inc de + inc hl + push bc + ld a, $3c + call ReadByteFromBank + ld c, a + ld a, [de] + add c + ld [de], a + inc de + inc hl + ld a, $3c + call ReadByteFromBank + ld b, a + ld a, [de] + adc b + ld [de], a + inc de + inc hl + bit 7, b + jr z, .asm_1eaa9 + ld a, c + cpl + ld c, a + ld a, b + cpl + ld b, a + inc bc .asm_1eaa9 - pop hl - bit 7, h - jr z, .asm_1eab5 - ld a, l - cpl - ld l, a - ld a, h - cpl - ld h, a - inc hl + pop hl + bit 7, h + jr z, .asm_1eab5 + ld a, l + cpl + ld l, a + ld a, h + cpl + ld h, a + inc hl .asm_1eab5 - add hl, bc - sla l - rl h - ld a, h - cp $2 - ret c - ld a, [$d804] - and a - ret nz - ld a, $5 - ld [$d803], a - ld a, $8 - ld [$d804], a - ld de, $0004 - call PlaySoundEffect - ret + add hl, bc + sla l + rl h + ld a, h + cp $2 + ret c + ld a, [$d804] + and a + ret nz + ld a, $5 + ld [$d803], a + ld a, $8 + ld [$d804], a + ld de, $0004 + call PlaySoundEffect + ret Func_1ead4: ; 0x1ead4 - ld a, [$ffb3] - and $f - ret nz - ld bc, $0000 + ld a, [$ffb3] + and $f + ret nz + ld bc, $0000 .asm_1eadc - push bc - ld hl, wIndicatorStates - add hl, bc - ld a, [hl] - cp $1 - jr z, .asm_1eaf8 - bit 7, [hl] - jr z, .asm_1eaf8 - ld a, [hl] - res 7, a - ld hl, $ffb3 - bit 4, [hl] - jr z, .asm_1eaf5 - inc a + push bc + ld hl, wIndicatorStates + add hl, bc + ld a, [hl] + cp $1 + jr z, .asm_1eaf8 + bit 7, [hl] + jr z, .asm_1eaf8 + ld a, [hl] + res 7, a + ld hl, $ffb3 + bit 4, [hl] + jr z, .asm_1eaf5 + inc a .asm_1eaf5 - call Func_1eb41 + call Func_1eb41 .asm_1eaf8 - pop bc - inc c - ld a, c - cp $2 - jr nz, .asm_1eadc - ld a, [$ffb3] - and $f - ret nz - ld a, [wCurrentStage] - bit 0, a - ret z - ld bc, $0002 + pop bc + inc c + ld a, c + cp $2 + jr nz, .asm_1eadc + ld a, [$ffb3] + and $f + ret nz + ld a, [wCurrentStage] + bit 0, a + ret z + ld bc, $0002 .asm_1eb0d - push bc - ld hl, wIndicatorStates - add hl, bc - ld a, [hl] - cp $1 - jr z, .asm_1eb29 - bit 7, [hl] - jr z, .asm_1eb29 - ld a, [hl] - res 7, a - ld hl, $ffb3 - bit 4, [hl] - jr z, .asm_1eb2b - inc a - inc a - jr .asm_1eb2b + push bc + ld hl, wIndicatorStates + add hl, bc + ld a, [hl] + cp $1 + jr z, .asm_1eb29 + bit 7, [hl] + jr z, .asm_1eb29 + ld a, [hl] + res 7, a + ld hl, $ffb3 + bit 4, [hl] + jr z, .asm_1eb2b + inc a + inc a + jr .asm_1eb2b .asm_1eb29 - ld a, $0 + ld a, $0 .asm_1eb2b - push af - ld hl, $d648 - add hl, bc - dec hl - dec hl - ld a, [hl] - ld d, a - pop af - add d - call Func_1eb41 - pop bc - inc c - ld a, c - cp $5 - jr nz, .asm_1eb0d - ret + push af + ld hl, $d648 + add hl, bc + dec hl + dec hl + ld a, [hl] + ld d, a + pop af + add d + call Func_1eb41 + pop bc + inc c + ld a, c + cp $5 + jr nz, .asm_1eb0d + ret Func_1eb41: ; 0x1eb41 - push af - sla c - ld hl, $6b61 - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_1eb4f - ld hl, $6d51 + push af + sla c + ld hl, $6b61 + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_1eb4f + ld hl, $6d51 .asm_1eb4f - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - pop af - sla a - ld c, a - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld a, $7 - call Func_10aa - ret - -INCBIN "baserom.gbc",$1eb61,$1ef09 - $1eb61 + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + pop af + sla a + ld c, a + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld a, $7 + call Func_10aa + ret + + dr $1eb61, $1ef09 Func_1ef09: ; 0x1ef09 - ld a, [wBlueStageForceFieldDirection] - cp $0 ; up direction - jp z, Func_1ef20 - cp $1 ; right direction - jp z, Func_1ef4d - cp $2 ; down direction - jp z, Func_1ef7e - cp $3 ; left direction - jp z, Func_1efae - - ; fall through - ; default to upward forcefield + ld a, [wBlueStageForceFieldDirection] + cp $0 ; up direction + jp z, Func_1ef20 + cp $1 ; right direction + jp z, Func_1ef4d + cp $2 ; down direction + jp z, Func_1ef7e + cp $3 ; left direction + jp z, Func_1efae + + ; fall through + ; default to upward forcefield Func_1ef20: ; 0x1ef20 - ld a, [wBallYPos + 1] - sub $60 - cp $30 - ret nc - ld c, $0 - ld b, a - ld h, b - ld l, c - srl b - rr c - srl b - rr c - srl h - rr l - add hl, bc - ld a, [wBallXPos + 1] - sub $38 - cp $30 - ret nc - ld c, a - ld b, $0 - sla c - sla c - add hl, bc - jp Func_1efdc + ld a, [wBallYPos + 1] + sub $60 + cp $30 + ret nc + ld c, $0 + ld b, a + ld h, b + ld l, c + srl b + rr c + srl b + rr c + srl h + rr l + add hl, bc + ld a, [wBallXPos + 1] + sub $38 + cp $30 + ret nc + ld c, a + ld b, $0 + sla c + sla c + add hl, bc + jp Func_1efdc Func_1ef4d: ; 0x1ef4d - ld a, [wBallXPos + 1] - sub $38 - cp $30 - ret nc - ld c, a - ld a, $30 - sub c - ld c, $0 - ld b, a - ld h, b - ld l, c - srl b - rr c - srl b - rr c - srl h - rr l - add hl, bc - ld a, [wBallYPos + 1] - sub $60 - cp $30 - ret nc - ld c, a - ld b, $0 - sla c - sla c - add hl, bc - jp Func_1efdc + ld a, [wBallXPos + 1] + sub $38 + cp $30 + ret nc + ld c, a + ld a, $30 + sub c + ld c, $0 + ld b, a + ld h, b + ld l, c + srl b + rr c + srl b + rr c + srl h + rr l + add hl, bc + ld a, [wBallYPos + 1] + sub $60 + cp $30 + ret nc + ld c, a + ld b, $0 + sla c + sla c + add hl, bc + jp Func_1efdc Func_1ef7e: ; 0x1ef7e - ld a, [wBallYPos + 1] - sub $60 - cp $30 - ret nc - ld c, a - ld a, $30 - sub c - ld c, $0 - ld b, a - ld h, b - ld l, c - srl b - rr c - srl b - rr c - srl h - rr l - add hl, bc - ld a, [wBallXPos + 1] - sub $38 - cp $30 - ret nc - ld c, a - ld b, $0 - sla c - sla c - add hl, bc - jr Func_1efdc + ld a, [wBallYPos + 1] + sub $60 + cp $30 + ret nc + ld c, a + ld a, $30 + sub c + ld c, $0 + ld b, a + ld h, b + ld l, c + srl b + rr c + srl b + rr c + srl h + rr l + add hl, bc + ld a, [wBallXPos + 1] + sub $38 + cp $30 + ret nc + ld c, a + ld b, $0 + sla c + sla c + add hl, bc + jr Func_1efdc Func_1efae: ; 0x1efae - ld a, [wBallXPos + 1] - sub $38 - cp $30 - ret nc - ld c, $0 - ld b, a - ld h, b - ld l, c - srl b - rr c - srl b - rr c - srl h - rr l - add hl, bc - ld a, [wBallYPos + 1] - sub $60 - cp $30 - ret nc - ld c, a - ld a, $30 - sub c - ld c, a - ld b, $0 - sla c - sla c - add hl, bc - ; fall through + ld a, [wBallXPos + 1] + sub $38 + cp $30 + ret nc + ld c, $0 + ld b, a + ld h, b + ld l, c + srl b + rr c + srl b + rr c + srl h + rr l + add hl, bc + ld a, [wBallYPos + 1] + sub $60 + cp $30 + ret nc + ld c, a + ld a, $30 + sub c + ld c, a + ld b, $0 + sla c + sla c + add hl, bc + ; fall through Func_1efdc: ; 0x1efdc - ld a, [wBlueStageForceFieldDirection] - cp $0 ; up direction - jp z, Func_1eff3 - cp $1 ; right direction - jp z, LoadOAMData2e - cp $2 ; down direction - jp z, Func_1f057 - cp $3 ; left direction - jp z, Func_1f124 - - ; fall through - ; default to upward forcefield + ld a, [wBlueStageForceFieldDirection] + cp $0 ; up direction + jp z, Func_1eff3 + cp $1 ; right direction + jp z, LoadOAMData2e + cp $2 ; down direction + jp z, Func_1f057 + cp $3 ; left direction + jp z, Func_1f124 + + ; fall through + ; default to upward forcefield Func_1eff3: ; 0x1eff3 - ld bc, $4000 - add hl, bc - ld de, wBallXVelocity - ld a, $3b - call ReadByteFromBank - ld c, a - ld a, [de] - add c - ld [de], a - inc de - inc hl - ld a, $3b - call ReadByteFromBank - ld b, a - ld a, [de] - adc b - ld [de], a - inc de - inc hl - push bc - ld a, $3b - call ReadByteFromBank - ld c, a - ld a, [de] - add c - ld [de], a - inc de - inc hl - ld a, $3b - call ReadByteFromBank - ld b, a - ld a, [de] - adc b - ld [de], a - inc de - inc hl - bit 7, b - jr z, .asm_1f032 - ld a, c - cpl - ld c, a - ld a, b - cpl - ld b, a - inc bc + ld bc, $4000 + add hl, bc + ld de, wBallXVelocity + ld a, $3b + call ReadByteFromBank + ld c, a + ld a, [de] + add c + ld [de], a + inc de + inc hl + ld a, $3b + call ReadByteFromBank + ld b, a + ld a, [de] + adc b + ld [de], a + inc de + inc hl + push bc + ld a, $3b + call ReadByteFromBank + ld c, a + ld a, [de] + add c + ld [de], a + inc de + inc hl + ld a, $3b + call ReadByteFromBank + ld b, a + ld a, [de] + adc b + ld [de], a + inc de + inc hl + bit 7, b + jr z, .asm_1f032 + ld a, c + cpl + ld c, a + ld a, b + cpl + ld b, a + inc bc .asm_1f032 - pop hl - bit 7, h - jr z, .asm_1f03e - ld a, l - cpl - ld l, a - ld a, h - cpl - ld h, a - inc hl + pop hl + bit 7, h + jr z, .asm_1f03e + ld a, l + cpl + ld l, a + ld a, h + cpl + ld h, a + inc hl .asm_1f03e - add hl, bc - sla l - rl h - ld a, h - cp $2 - ret c - ld a, [$d804] - and a - ret nz - ld a, $5 - ld [$d803], a - ld a, $8 - ld [$d804], a - ret + add hl, bc + sla l + rl h + ld a, h + cp $2 + ret c + ld a, [$d804] + and a + ret nz + ld a, $5 + ld [$d803], a + ld a, $8 + ld [$d804], a + ret Func_1f057: ; 0x1f057 - ld bc, $4000 - add hl, bc - ld de, wBallXVelocity - bit 2, l - ret nz - ld a, $3b - call ReadByteFromBank - ld c, a - ld a, [de] - add c - ld [de], a - inc de - inc hl - ld a, $3b - call ReadByteFromBank - ld b, a - ld a, [de] - adc b - ld [de], a - inc de - inc hl - push bc - ld a, $3b - call ReadByteFromBank - ld c, a - ld a, [de] - sub c - ld [de], a - inc de - inc hl - ld a, $3b - call ReadByteFromBank - ld b, a - ld a, [de] - sbc b - ld [de], a - inc de - inc hl - bit 7, b - jr z, .asm_1f099 - ld a, c - cpl - ld c, a - ld a, b - cpl - ld b, a - inc bc + ld bc, $4000 + add hl, bc + ld de, wBallXVelocity + bit 2, l + ret nz + ld a, $3b + call ReadByteFromBank + ld c, a + ld a, [de] + add c + ld [de], a + inc de + inc hl + ld a, $3b + call ReadByteFromBank + ld b, a + ld a, [de] + adc b + ld [de], a + inc de + inc hl + push bc + ld a, $3b + call ReadByteFromBank + ld c, a + ld a, [de] + sub c + ld [de], a + inc de + inc hl + ld a, $3b + call ReadByteFromBank + ld b, a + ld a, [de] + sbc b + ld [de], a + inc de + inc hl + bit 7, b + jr z, .asm_1f099 + ld a, c + cpl + ld c, a + ld a, b + cpl + ld b, a + inc bc .asm_1f099 - pop hl - bit 7, h - jr z, .asm_1f0a5 - ld a, l - cpl - ld l, a - ld a, h - cpl - ld h, a - inc hl + pop hl + bit 7, h + jr z, .asm_1f0a5 + ld a, l + cpl + ld l, a + ld a, h + cpl + ld h, a + inc hl .asm_1f0a5 - add hl, bc - sla l - rl h - ld a, h - cp $2 - ret c - ld a, [$d804] - and a - ret nz - ld a, $5 - ld [$d803], a - ld a, $8 - ld [$d804], a - ret + add hl, bc + sla l + rl h + ld a, h + cp $2 + ret c + ld a, [$d804] + and a + ret nz + ld a, $5 + ld [$d803], a + ld a, $8 + ld [$d804], a + ret LoadOAMData2e: ; 0x1f0be - ld bc, $4000 - add hl, bc - ld de, wBallYVelocity - ld a, $3b - call ReadByteFromBank - ld c, a - ld a, [de] - add c - ld [de], a - inc de - inc hl - ld a, $3b - call ReadByteFromBank - ld b, a - ld a, [de] - adc b - ld [de], a - inc hl - push bc - dec de - dec de - dec de - ld a, $3b - call ReadByteFromBank - ld c, a - ld a, [de] - sub c - ld [de], a - inc de - inc hl - ld a, $3b - call ReadByteFromBank - ld b, a - ld a, [de] - sbc b - ld [de], a - inc de - inc hl - bit 7, b - jr z, .asm_1f0ff - ld a, c - cpl - ld c, a - ld a, b - cpl - ld b, a - inc bc + ld bc, $4000 + add hl, bc + ld de, wBallYVelocity + ld a, $3b + call ReadByteFromBank + ld c, a + ld a, [de] + add c + ld [de], a + inc de + inc hl + ld a, $3b + call ReadByteFromBank + ld b, a + ld a, [de] + adc b + ld [de], a + inc hl + push bc + dec de + dec de + dec de + ld a, $3b + call ReadByteFromBank + ld c, a + ld a, [de] + sub c + ld [de], a + inc de + inc hl + ld a, $3b + call ReadByteFromBank + ld b, a + ld a, [de] + sbc b + ld [de], a + inc de + inc hl + bit 7, b + jr z, .asm_1f0ff + ld a, c + cpl + ld c, a + ld a, b + cpl + ld b, a + inc bc .asm_1f0ff - pop hl - bit 7, h - jr z, .asm_1f10b - ld a, l - cpl - ld l, a - ld a, h - cpl - ld h, a - inc hl + pop hl + bit 7, h + jr z, .asm_1f10b + ld a, l + cpl + ld l, a + ld a, h + cpl + ld h, a + inc hl .asm_1f10b - add hl, bc - sla l - rl h - ld a, h - cp $2 - ret c - ld a, [$d804] - and a - ret nz - ld a, $5 - ld [$d803], a - ld a, $8 - ld [$d804], a - ret + add hl, bc + sla l + rl h + ld a, h + cp $2 + ret c + ld a, [$d804] + and a + ret nz + ld a, $5 + ld [$d803], a + ld a, $8 + ld [$d804], a + ret Func_1f124: ; 0x1f124 - ld bc, $4000 - add hl, bc - ld de, wBallYVelocity - ld a, $3b - call ReadByteFromBank - ld c, a - ld a, [de] - sub c - ld [de], a - inc de - inc hl - ld a, $3b - call ReadByteFromBank - ld b, a - ld a, [de] - sbc b - ld [de], a - inc hl - push bc - dec de - dec de - dec de - ld a, $3b - call ReadByteFromBank - ld c, a - ld a, [de] - add c - ld [de], a - inc de - inc hl - ld a, $3b - call ReadByteFromBank - ld b, a - ld a, [de] - adc b - ld [de], a - inc de - inc hl - bit 7, b - jr z, .asm_1f165 - ld a, c - cpl - ld c, a - ld a, b - cpl - ld b, a - inc bc + ld bc, $4000 + add hl, bc + ld de, wBallYVelocity + ld a, $3b + call ReadByteFromBank + ld c, a + ld a, [de] + sub c + ld [de], a + inc de + inc hl + ld a, $3b + call ReadByteFromBank + ld b, a + ld a, [de] + sbc b + ld [de], a + inc hl + push bc + dec de + dec de + dec de + ld a, $3b + call ReadByteFromBank + ld c, a + ld a, [de] + add c + ld [de], a + inc de + inc hl + ld a, $3b + call ReadByteFromBank + ld b, a + ld a, [de] + adc b + ld [de], a + inc de + inc hl + bit 7, b + jr z, .asm_1f165 + ld a, c + cpl + ld c, a + ld a, b + cpl + ld b, a + inc bc .asm_1f165 - pop hl - bit 7, h - jr z, .asm_1f171 - ld a, l - cpl - ld l, a - ld a, h - cpl - ld h, a - inc hl + pop hl + bit 7, h + jr z, .asm_1f171 + ld a, l + cpl + ld l, a + ld a, h + cpl + ld h, a + inc hl .asm_1f171 - add hl, bc - sla l - rl h - ld a, h - cp $2 - ret c - ld a, [$d804] - and a - ret nz - ld a, $5 - ld [$d803], a - ld a, $8 - ld [$d804], a - ret + add hl, bc + sla l + rl h + ld a, h + cp $2 + ret c + ld a, [$d804] + and a + ret nz + ld a, $5 + ld [$d803], a + ld a, $8 + ld [$d804], a + ret Func_1f18a: ; 0x1f18a - ld a, [$d640] - cp $0 - jr z, .asm_1f1b4 - ld a, [wBlueStageForceFieldDirection] - sla a - ld c, a - ld b, $0 - ld hl, $71b5 - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_1f1a4 - ld hl, $7201 + ld a, [$d640] + cp $0 + jr z, .asm_1f1b4 + ld a, [wBlueStageForceFieldDirection] + sla a + ld c, a + ld b, $0 + ld hl, $71b5 + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_1f1a4 + ld hl, $7201 .asm_1f1a4 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - or h - ret z - ld a, $7 - call Func_10aa - ld a, $0 - ld [$d640], a + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + or h + ret z + ld a, $7 + call Func_10aa + ld a, $0 + ld [$d640], a .asm_1f1b4 - ret + ret -INCBIN "baserom.gbc",$1f1b5,$1f261 - $1f1b5 + dr $1f1b5, $1f261 Func_1f261: ; 0x1f261 - call Func_1f27b - ret nc - ; fall through + call Func_1f27b + ret nc + ; fall through Func_1f265: ; 0x1f265 - sla a - ld c, a - ld b, $0 - ld hl, $72b9 - add hl, bc - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, $7 - ld de, LoadTileLists - call Func_10c5 - ret + sla a + ld c, a + ld b, $0 + ld hl, $72b9 + add hl, bc + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, $7 + ld de, LoadTileLists + call Func_10c5 + ret Func_1f27b: ; 0x1f27b - ld a, [$d624] - ld hl, $d625 - cp [hl] - ret z - ld a, [$d626] - dec a - ld [$d626], a - jr nz, .asm_1f2a5 - ld a, [$d625] - ld [$d624], a - cp $3 - jr c, .asm_1f2a0 - ld a, $1 - ld [$d609], a - ld a, $3 - ld [$d607], a + ld a, [$d624] + ld hl, $d625 + cp [hl] + ret z + ld a, [$d626] + dec a + ld [$d626], a + jr nz, .asm_1f2a5 + ld a, [$d625] + ld [$d624], a + cp $3 + jr c, .asm_1f2a0 + ld a, $1 + ld [$d609], a + ld a, $3 + ld [$d607], a .asm_1f2a0 - ld a, [$d624] - scf - ret + ld a, [$d624] + scf + ret .asm_1f2a5 - and $7 - ret nz - ld a, [$d626] - bit 3, a - jr nz, .asm_1f2b4 - ld a, [$d624] - scf - ret + and $7 + ret nz + ld a, [$d626] + bit 3, a + jr nz, .asm_1f2b4 + ld a, [$d624] + scf + ret .asm_1f2b4 - ld a, [$d625] - scf - ret + ld a, [$d625] + scf + ret -INCBIN "baserom.gbc",$1f2b9,$1f2ed - $1f2b9 + dr $1f2b9, $1f2ed Func_1f2ed: ; 0x1f2ed - xor a - ld [$d604], a - ld [wIndicatorStates + 4], a - ld [$ff8a], a - ld a, Bank(Func_1e8f6) ; this is in the same bank... - ld hl, Func_1e8f6 - call BankSwitch - ret + xor a + ld [$d604], a + ld [wIndicatorStates + 4], a + ld [$ff8a], a + ld a, Bank(Func_1e8f6) ; this is in the same bank... + ld hl, Func_1e8f6 + call BankSwitch + ret Func_1f2ff: ; 0x1f2ff - ld a, [wLeftAlleyCount] - cp $3 - jr c, .asm_1f30b - ld a, $80 - ld [wIndicatorStates + 2], a + ld a, [wLeftAlleyCount] + cp $3 + jr c, .asm_1f30b + ld a, $80 + ld [wIndicatorStates + 2], a .asm_1f30b - ld a, [wLeftAlleyCount] - cp $3 - jr z, .asm_1f314 - set 7, a + ld a, [wLeftAlleyCount] + cp $3 + jr z, .asm_1f314 + set 7, a .asm_1f314 - ld [wIndicatorStates], a - ld a, [wRightAlleyCount] - cp $2 - jr c, .asm_1f323 - ld a, $80 - ld [wIndicatorStates + 3], a + ld [wIndicatorStates], a + ld a, [wRightAlleyCount] + cp $2 + jr c, .asm_1f323 + ld a, $80 + ld [wIndicatorStates + 3], a .asm_1f323 - ld a, [wRightAlleyCount] - cp $3 - jr z, .asm_1f32c - set 7, a + ld a, [wRightAlleyCount] + cp $3 + jr z, .asm_1f32c + set 7, a .asm_1f32c - ld [wIndicatorStates + 1], a - ret + ld [wIndicatorStates + 1], a + ret Func_1f330: ; 0x1f330 - ld bc, $7f00 - ld [$ff8a], a - ld a, Bank(Func_175a4) - ld hl, Func_175a4 - call BankSwitch - call Func_1f395 - call Func_1f3e1 - call Func_1f408 - call Func_1f428 - ld [$ff8a], a - ld a, Bank(Func_17e81) - ld hl, Func_17e81 - call BankSwitch - call Func_1f48f - call Func_1f4f8 - ret + ld bc, $7f00 + ld [$ff8a], a + ld a, Bank(Func_175a4) + ld hl, Func_175a4 + call BankSwitch + call Func_1f395 + call Func_1f3e1 + call Func_1f408 + call Func_1f428 + ld [$ff8a], a + ld a, Bank(Func_17e81) + ld hl, Func_17e81 + call BankSwitch + call Func_1f48f + call Func_1f4f8 + ret Func_1f35a: ; 0x1f35a - ld bc, $7f00 - ld [$ff8a], a - ld a, Bank(Func_175a4) - ld hl, Func_175a4 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_17c67) - ld hl, Func_17c67 - call BankSwitch - call Func_1f58b - call Func_1f448 - ld [$ff8a], a - ld a, Bank(Func_e4a1) - ld hl, Func_e4a1 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_17e81) - ld hl, Func_17e81 - call BankSwitch - call Func_1f4a3 - call Func_1f509 - call Func_1f55e - ret + ld bc, $7f00 + ld [$ff8a], a + ld a, Bank(Func_175a4) + ld hl, Func_175a4 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_17c67) + ld hl, Func_17c67 + call BankSwitch + call Func_1f58b + call Func_1f448 + ld [$ff8a], a + ld a, Bank(Func_e4a1) + ld hl, Func_e4a1 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_17e81) + ld hl, Func_17e81 + call BankSwitch + call Func_1f4a3 + call Func_1f509 + call Func_1f55e + ret Func_1f395: ; 0x1f395 - ld de, $d4cd - ld hl, $73cf - call Func_1f3ad - ld de, $d4d0 - ld hl, $73d5 - call Func_1f3ad - ld de, $d4d3 - ld hl, $73db - ; fall through + ld de, $d4cd + ld hl, $73cf + call Func_1f3ad + ld de, $d4d0 + ld hl, $73d5 + call Func_1f3ad + ld de, $d4d3 + ld hl, $73db + ; fall through Func_1f3ad: ; 0x1f3ad - ld a, [hBoardXShift] - ld b, a - ld a, [hli] - sub b - ld b, a - ld a, [hBoardYShift] - ld c, a - ld a, [hli] - sub c - ld c, a - ld a, [$d4d7] - sub [hl] - inc hl - jr z, .asm_1f3c4 - ld a, $0 - jr .asm_1f3c6 + ld a, [hBoardXShift] + ld b, a + ld a, [hli] + sub b + ld b, a + ld a, [hBoardYShift] + ld c, a + ld a, [hli] + sub c + ld c, a + ld a, [$d4d7] + sub [hl] + inc hl + jr z, .asm_1f3c4 + ld a, $0 + jr .asm_1f3c6 .asm_1f3c4 - ld a, $1 + ld a, $1 .asm_1f3c6 - ld e, a - ld d, $0 - add hl, de - ld a, [hl] - call LoadOAMData - ret + ld e, a + ld d, $0 + add hl, de + ld a, [hl] + call LoadOAMData + ret -INCBIN "baserom.gbc",$1f3cf,$1f3e1 - $1f3cf + dr $1f3cf, $1f3e1 Func_1f3e1: ; 0x1f3e1 - ld a, $8a - ld hl, hBoardXShift - sub [hl] - ld b, a - ld a, $53 - ld hl, hBoardYShift - sub [hl] - ld c, a - ld a, [$d50a] - srl a - srl a - ld e, a - ld d, $0 - ld hl, $7402 - add hl, de - ld a, [hl] - call LoadOAMData - ret - -INCBIN "baserom.gbc",$1f402,$1f408 - $1f402 + ld a, $8a + ld hl, hBoardXShift + sub [hl] + ld b, a + ld a, $53 + ld hl, hBoardYShift + sub [hl] + ld c, a + ld a, [$d50a] + srl a + srl a + ld e, a + ld d, $0 + ld hl, $7402 + add hl, de + ld a, [hl] + call LoadOAMData + ret + + dr $1f402, $1f408 Func_1f408: ; 0x1f408 - ld a, $18 - ld hl, hBoardXShift - sub [hl] - ld b, a - ld a, $5f - ld hl, hBoardYShift - sub [hl] - ld c, a - ld a, [$d633] - ld e, a - ld d, $0 - ld hl, $7425 - add hl, de - ld a, [hl] - call LoadOAMData - ret - -INCBIN "baserom.gbc",$1f425,$1f428 - $1f425 + ld a, $18 + ld hl, hBoardXShift + sub [hl] + ld b, a + ld a, $5f + ld hl, hBoardYShift + sub [hl] + ld c, a + ld a, [$d633] + ld e, a + ld d, $0 + ld hl, $7425 + add hl, de + ld a, [hl] + call LoadOAMData + ret + + dr $1f425, $1f428 Func_1f428: ; 0x1f428 - ld a, $70 - ld hl, hBoardXShift - sub [hl] - ld b, a - ld a, $59 - ld hl, hBoardYShift - sub [hl] - ld c, a - ld a, [$d638] - ld e, a - ld d, $0 - ld hl, $7445 - add hl, de - ld a, [hl] - call LoadOAMData - ret - -INCBIN "baserom.gbc",$1f445,$1f448 - $1f445 + ld a, $70 + ld hl, hBoardXShift + sub [hl] + ld b, a + ld a, $59 + ld hl, hBoardYShift + sub [hl] + ld c, a + ld a, [$d638] + ld e, a + ld d, $0 + ld hl, $7445 + add hl, de + ld a, [hl] + call LoadOAMData + ret + + dr $1f445, $1f448 Func_1f448: ; 0x1f448 - ld a, [hBoardXShift] - ld d, a - ld a, [hBoardYShift] - ld e, a - ld a, [$d51d] - and a - ld a, [$d518] - jr z, .asm_1f473 - ld a, [$d51c] - and a - jr nz, .asm_1f469 - ld a, [$ffb3] - srl a - srl a - srl a - and $1 - jr .asm_1f473 + ld a, [hBoardXShift] + ld d, a + ld a, [hBoardYShift] + ld e, a + ld a, [$d51d] + and a + ld a, [$d518] + jr z, .asm_1f473 + ld a, [$d51c] + and a + jr nz, .asm_1f469 + ld a, [$ffb3] + srl a + srl a + srl a + and $1 + jr .asm_1f473 .asm_1f469 - ld a, [$d4b4] - cp $50 - ld a, $1 - jr nc, .asm_1f473 - xor a + ld a, [$d4b4] + cp $50 + ld a, $1 + jr nc, .asm_1f473 + xor a .asm_1f473 - sla a - ld c, a - ld b, $0 - ld hl, $748b - add hl, bc - ld a, [hli] - sub d - ld b, a - ld a, [hli] - sub e - ld c, a - ld a, [wPikachuSaverAnimationFrame] - add $e - call LoadOAMData - ret - -INCBIN "baserom.gbc",$1f48b,$1f48f - $1f48b + sla a + ld c, a + ld b, $0 + ld hl, $748b + add hl, bc + ld a, [hli] + sub d + ld b, a + ld a, [hli] + sub e + ld c, a + ld a, [wPikachuSaverAnimationFrame] + add $e + call LoadOAMData + ret + + dr $1f48b, $1f48f Func_1f48f: ; 0x1f48f - ld a, [$d551] - and a - ret nz - ld a, [$ffb3] - bit 4, a - ret z - ld de, wIndicatorStates + 5 - ld hl, $74ce - ld b, $6 - jr asm_1f4b5 + ld a, [$d551] + and a + ret nz + ld a, [$ffb3] + bit 4, a + ret z + ld de, wIndicatorStates + 5 + ld hl, $74ce + ld b, $6 + jr asm_1f4b5 Func_1f4a3: ; 0x1f4a3 - ld a, [$d551] - and a - ret nz - ld a, [$ffb3] - bit 4, a - ret z - ld de, wIndicatorStates + 11 - ld hl, $74e0 - ld b, $8 + ld a, [$d551] + and a + ret nz + ld a, [$ffb3] + bit 4, a + ret z + ld de, wIndicatorStates + 11 + ld hl, $74e0 + ld b, $8 asm_1f4b5: - push bc - ld a, [hBoardXShift] - ld b, a - ld a, [hli] - sub b - ld b, a - ld a, [hBoardYShift] - ld c, a - ld a, [hli] - sub c - ld c, a - ld a, [de] - and a - ld a, [hli] - call nz, LoadOAMData - pop bc - inc de - dec b - jr nz, asm_1f4b5 - ret - -INCBIN "baserom.gbc",$1f4ce,$1f4f8 - $1f4ce + push bc + ld a, [hBoardXShift] + ld b, a + ld a, [hli] + sub b + ld b, a + ld a, [hBoardYShift] + ld c, a + ld a, [hli] + sub c + ld c, a + ld a, [de] + and a + ld a, [hli] + call nz, LoadOAMData + pop bc + inc de + dec b + jr nz, asm_1f4b5 + ret + + dr $1f4ce, $1f4f8 Func_1f4f8: ; 0x1f4f8 - ld a, [$d551] - and a - ret z - ld de, $d566 - ld hl, $753a - ld b, $c - ld c, $47 - jr asm_1f518 + ld a, [$d551] + and a + ret z + ld de, $d566 + ld hl, $753a + ld b, $c + ld c, $47 + jr asm_1f518 Func_1f509: ; 0x1f509 - ld a, [$d551] - and a - ret z - ld de, $d572 - ld hl, $7552 - ld b, $6 - ld c, $40 + ld a, [$d551] + and a + ret z + ld de, $d572 + ld hl, $7552 + ld b, $6 + ld c, $40 asm_1f518: ; 0x1f518 - push bc - ld a, [de] - add c - cp c - push af - ld a, [hBoardXShift] - ld b, a - ld a, [hli] - sub b - ld b, a - ld a, [hBoardYShift] - ld c, a - ld a, [hli] - sub c - ld c, a - ld a, [$ffb3] - and $e - jr nz, .asm_1f530 - dec c + push bc + ld a, [de] + add c + cp c + push af + ld a, [hBoardXShift] + ld b, a + ld a, [hli] + sub b + ld b, a + ld a, [hBoardYShift] + ld c, a + ld a, [hli] + sub c + ld c, a + ld a, [$ffb3] + and $e + jr nz, .asm_1f530 + dec c .asm_1f530 - pop af - call nz, LoadOAMData - pop bc - inc de - dec b - jr nz, asm_1f518 - ret + pop af + call nz, LoadOAMData + pop bc + inc de + dec b + jr nz, asm_1f518 + ret -INCBIN "baserom.gbc",$1f53a,$1f55e - $1f53a + dr $1f53a, $1f55e Func_1f55e: ; 0x1f55e - ld a, [$d604] - and a - ret z - ld a, [$d606] - inc a - ld [$d606], a - ld a, $40 - ld hl, hBoardXShift - sub [hl] - ld b, a - ld a, $1 - ld hl, hBoardYShift - sub [hl] - ld c, a - ld a, [$d606] - srl a - srl a - srl a - and $3 - add $4f - cp $52 - call nz, LoadOAMData - ret + ld a, [$d604] + and a + ret z + ld a, [$d606] + inc a + ld [$d606], a + ld a, $40 + ld hl, hBoardXShift + sub [hl] + ld b, a + ld a, $1 + ld hl, hBoardYShift + sub [hl] + ld c, a + ld a, [$d606] + srl a + srl a + srl a + and $3 + add $4f + cp $52 + call nz, LoadOAMData + ret Func_1f58b: ; 0x1f58b - ld a, [$d5bb] - and a - ret z - ld a, $50 - ld hl, hBoardXShift - sub [hl] - ld b, a - ld a, $3e - ld hl, hBoardYShift - sub [hl] - ld c, a - ld a, [$d5bd] - ld e, a - ld d, $0 - ld hl, $75ad - add hl, de - ld a, [hl] - call LoadOAMData - ret - -INCBIN "baserom.gbc",$1f5ad,$20000 - $1f5ad + ld a, [$d5bb] + and a + ret z + ld a, $50 + ld hl, hBoardXShift + sub [hl] + ld b, a + ld a, $3e + ld hl, hBoardYShift + sub [hl] + ld c, a + ld a, [$d5bd] + ld e, a + ld d, $0 + ld hl, $75ad + add hl, de + ld a, [hl] + call LoadOAMData + ret + + dr $1f5ad, $20000 SECTION "bank8", ROMX, BANK[$8] Func_20000: ; 0x20000 - ld a, [$d54c] - cp $4 - jp z, Func_20230 - cp $c - jp z, Func_202a8 - cp $5 - jp z, Func_202b2 - cp $0 - jr z, .asm_20018 - scf - ret + ld a, [$d54c] + cp $4 + jp z, Func_20230 + cp $c + jp z, Func_202a8 + cp $5 + jp z, Func_202b2 + cp $0 + jr z, .asm_20018 + scf + ret .asm_20018 - call Func_201f2 - ld a, [$d54d] - call CallInFollowingTable + call Func_201f2 + ld a, [$d54d] + call CallInFollowingTable PointerTable_20021: ; 0x20021 - dw Func_20041 - db Bank(Func_20041), $00 + dw Func_20041 + db Bank(Func_20041), $00 - dw Func_2005f - db Bank(Func_2005f), $00 + dw Func_2005f + db Bank(Func_2005f), $00 - dw Func_2006b - db Bank(Func_2006b), $00 + dw Func_2006b + db Bank(Func_2006b), $00 - dw Func_200a3 - db Bank(Func_200a3), $00 + dw Func_200a3 + db Bank(Func_200a3), $00 - dw Func_200d3 - db Bank(Func_200d3), $00 + dw Func_200d3 + db Bank(Func_200d3), $00 - dw Func_20193 - db Bank(Func_20193), $00 + dw Func_20193 + db Bank(Func_20193), $00 - dw CapturePokemonRedStage - db Bank(CapturePokemonRedStage), $00 + dw CapturePokemonRedStage + db Bank(CapturePokemonRedStage), $00 - dw Func_201ce - db Bank(Func_201ce), $00 + dw Func_201ce + db Bank(Func_201ce), $00 Func_20041: ; 0x20041 - ld a, [$d5b6] - cp $18 - jr nz, .asm_2005d - ld a, [wCurrentStage] - bit 0, a - jr z, .asm_2005d - ld hl, $d54d - inc [hl] - ld a, $14 - ld [$d54e], a - ld a, $5 - ld [$d54f], a + ld a, [$d5b6] + cp $18 + jr nz, .asm_2005d + ld a, [wCurrentStage] + bit 0, a + jr z, .asm_2005d + ld hl, $d54d + inc [hl] + ld a, $14 + ld [$d54e], a + ld a, $5 + ld [$d54f], a .asm_2005d - scf - ret + scf + ret Func_2005f: ; 0x2005f - ld [$ff8a], a - ld a, Bank(Func_10648) - ld hl, Func_10648 - call BankSwitch - scf - ret + ld [$ff8a], a + ld a, Bank(Func_10648) + ld hl, Func_10648 + call BankSwitch + scf + ret Func_2006b: ; 0x2006b - ld a, [wCurrentStage] - bit 0, a - jr z, .asm_20098 - call Func_1130 - jr nz, .asm_200a1 - ld [$ff8a], a - ld a, Bank(Func_10414) - ld hl, Func_10414 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_10362) - ld hl, Func_10362 - call BankSwitch - ld a, [hGameBoyColorFlag] - and a - ld [$ff8a], a - ld a, Bank(Func_10301) - ld hl, Func_10301 - call nz, BankSwitch + ld a, [wCurrentStage] + bit 0, a + jr z, .asm_20098 + call Func_1130 + jr nz, .asm_200a1 + ld [$ff8a], a + ld a, Bank(Func_10414) + ld hl, Func_10414 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_10362) + ld hl, Func_10362 + call BankSwitch + ld a, [hGameBoyColorFlag] + and a + ld [$ff8a], a + ld a, Bank(Func_10301) + ld hl, Func_10301 + call nz, BankSwitch .asm_20098 - ld a, $1 - ld [$d5c6], a - ld hl, $d54d - inc [hl] + ld a, $1 + ld [$d5c6], a + ld hl, $d54d + inc [hl] .asm_200a1 - scf - ret + scf + ret Func_200a3: ; 0x200a3 - ld a, [wCurrentStage] - bit 0, a - jr z, .asm_200af - call Func_1130 - jr nz, .asm_200d1 + ld a, [wCurrentStage] + bit 0, a + jr z, .asm_200af + call Func_1130 + jr nz, .asm_200d1 .asm_200af - ld [$ff8a], a - ld a, Bank(Func_10678) - ld hl, Func_10678 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_10732) - ld hl, Func_10732 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_10464) - ld hl, Func_10464 - call BankSwitch - ld hl, $d54d - inc [hl] + ld [$ff8a], a + ld a, Bank(Func_10678) + ld hl, Func_10678 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_10732) + ld hl, Func_10732 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_10464) + ld hl, Func_10464 + call BankSwitch + ld hl, $d54d + inc [hl] .asm_200d1 - scf - ret + scf + ret Func_200d3: ; 0x200d3 - ld a, [$d5be] - dec a - ld [$d5be], a - jr z, .asm_200e6 - ld a, [$d5c4] - inc a - ld [$d5c4], a - and $3 - ret nz + ld a, [$d5be] + dec a + ld [$d5be], a + jr z, .asm_200e6 + ld a, [$d5c4] + inc a + ld [$d5c4], a + and $3 + ret nz .asm_200e6 - ld a, [$d5bf] - and a - jp z, .asm_20167 - xor a - ld [$d5bf], a - ld a, [$d5c3] - ld [$d5be], a - xor a - ld [$d5c4], a - ld a, [wCurrentCatchEmMon] - cp MEW - 1 - jr nz, .notMew - ld a, [$d5c5] - inc a - ld [$d5c5], a - jr nz, .asm_20116 + ld a, [$d5bf] + and a + jp z, .asm_20167 + xor a + ld [$d5bf], a + ld a, [$d5c3] + ld [$d5be], a + xor a + ld [$d5c4], a + ld a, [wCurrentCatchEmMon] + cp MEW - 1 + jr nz, .notMew + ld a, [$d5c5] + inc a + ld [$d5c5], a + jr nz, .asm_20116 .notMew - ld a, [wNumMonHits] - cp $3 - jr z, .hitMonThreeTimes - inc a - ld [wNumMonHits], a + ld a, [wNumMonHits] + cp $3 + jr z, .hitMonThreeTimes + inc a + ld [wNumMonHits], a .asm_20116 - ld bc, $34dc - ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch - ld bc, $0030 - ld de, $0000 - push bc - push de - call Func_30e8 - call Func_30db - ld hl, $d5e9 - ld de, $2a2a - call Func_3372 - pop de - pop bc - ld hl, $d5e4 - ld de, $2a21 - call Func_3357 - ld a, [wNumMonHits] - ld [$ff8a], a - ld a, Bank(Func_10611) - ld hl, Func_10611 - call BankSwitch - ld c, $2 - jr .asm_2018a + ld bc, $34dc + ld [$ff8a], a + ld a, Bank(Func_8588) + ld hl, Func_8588 + call BankSwitch + ld bc, $0030 + ld de, $0000 + push bc + push de + call Func_30e8 + call Func_30db + ld hl, $d5e9 + ld de, $2a2a + call Func_3372 + pop de + pop bc + ld hl, $d5e4 + ld de, $2a21 + call Func_3357 + ld a, [wNumMonHits] + ld [$ff8a], a + ld a, Bank(Func_10611) + ld hl, Func_10611 + call BankSwitch + ld c, $2 + jr .asm_2018a .hitMonThreeTimes - xor a - ld [$d57e], a - ld a, $1 - ld [$d57f], a - ld hl, $d54d - inc [hl] - ld c, $2 - jr .asm_2018a + xor a + ld [$d57e], a + ld a, $1 + ld [$d57f], a + ld hl, $d54d + inc [hl] + ld c, $2 + jr .asm_2018a .asm_20167 - ld a, [$d5be] - and a - ret nz - ld a, [$d5bc] - ld c, a - ld a, [$d5bd] - sub c - cp $1 - ld c, $0 - jr nc, .asm_2017c - ld c, $1 + ld a, [$d5be] + and a + ret nz + ld a, [$d5bc] + ld c, a + ld a, [$d5bd] + sub c + cp $1 + ld c, $0 + jr nc, .asm_2017c + ld c, $1 .asm_2017c - ld b, $0 - ld hl, $d5c1 - add hl, bc - ld a, [hl] - ld [$d5be], a - xor a - ld [$d5c4], a + ld b, $0 + ld hl, $d5c1 + add hl, bc + ld a, [hl] + ld [$d5be], a + xor a + ld [$d5c4], a .asm_2018a - ld a, [$d5bc] - add c - ld [$d5bd], a - scf - ret + ld a, [$d5bc] + add c + ld [$d5bd], a + scf + ret Func_20193: ; 0x20193 - ld a, [$d580] - and a - jr z, .asm_2019e - xor a - ld [$d580], a - ret + ld a, [$d580] + and a + jr z, .asm_2019e + xor a + ld [$d580], a + ret .asm_2019e - ld [$ff8a], a - ld a, Bank(Func_10496) - ld hl, Func_10496 - call BankSwitch - ld hl, $d54d - inc [hl] - ld [$ff8a], a - ld a, Bank(Func_106b6) - ld hl, Func_106b6 - call BankSwitch - ld [$ff8a], a - ld a, Bank(AddCaughtPokemonToParty) - ld hl, AddCaughtPokemonToParty - call BankSwitch - scf - ret + ld [$ff8a], a + ld a, Bank(Func_10496) + ld hl, Func_10496 + call BankSwitch + ld hl, $d54d + inc [hl] + ld [$ff8a], a + ld a, Bank(Func_106b6) + ld hl, Func_106b6 + call BankSwitch + ld [$ff8a], a + ld a, Bank(AddCaughtPokemonToParty) + ld hl, AddCaughtPokemonToParty + call BankSwitch + scf + ret CapturePokemonRedStage: ; 0x201c2 - ld [$ff8a], a - ld a, Bank(CapturePokemon) - ld hl, CapturePokemon - call BankSwitch - scf - ret + ld [$ff8a], a + ld a, Bank(CapturePokemon) + ld hl, CapturePokemon + call BankSwitch + scf + ret Func_201ce: ; 0x201ce - ld a, [$d5ca] - and a - ret nz - call Func_30e8 - ld [$ff8a], a - ld a, Bank(Func_dc00) - ld hl, Func_dc00 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_10157) - ld hl, Func_10157 - call BankSwitch - ld de, $0001 - call PlaySong - scf - ret + ld a, [$d5ca] + and a + ret nz + call Func_30e8 + ld [$ff8a], a + ld a, Bank(Func_dc00) + ld hl, Func_dc00 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_10157) + ld hl, Func_10157 + call BankSwitch + ld de, $0001 + call PlaySong + scf + ret Func_201f2: ; 0x201f2 - ld [$ff8a], a - ld a, Bank(Func_107f8) - ld hl, Func_107f8 - call BankSwitch - ld a, [$d57e] - and a - ret z - xor a - ld [$d57e], a - ld a, $7 - ld [$d54d], a - ld a, [wCurrentCatchEmMon] - cp NUM_POKEMON - 1 - jr nz, .asm_2021b - ld [$ff8a], a - ld a, Bank(SetPokemonOwnedFlag) - ld hl, SetPokemonOwnedFlag - call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_107f8) + ld hl, Func_107f8 + call BankSwitch + ld a, [$d57e] + and a + ret z + xor a + ld [$d57e], a + ld a, $7 + ld [$d54d], a + ld a, [wCurrentCatchEmMon] + cp NUM_POKEMON - 1 + jr nz, .asm_2021b + ld [$ff8a], a + ld a, Bank(SetPokemonOwnedFlag) + ld hl, SetPokemonOwnedFlag + call BankSwitch .asm_2021b - ld [$ff8a], a - ld a, Bank(Func_86d2) - ld hl, Func_86d2 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_106a6) - ld hl, Func_106a6 - call BankSwitch - ret + ld [$ff8a], a + ld a, Bank(Func_86d2) + ld hl, Func_86d2 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_106a6) + ld hl, Func_106a6 + call BankSwitch + ret Func_20230: ; 0x20230 - ld a, [$d5b6] - cp $18 - jr z, .asm_2029d - sla a - ld c, a - ld b, $0 - ld hl, $d586 - add hl, bc - ld d, $4 + ld a, [$d5b6] + cp $18 + jr z, .asm_2029d + sla a + ld c, a + ld b, $0 + ld hl, $d586 + add hl, bc + ld d, $4 .asm_20242 - ld a, $1 - ld [hli], a - inc hl - ld a, l - cp $b6 - jr z, .asm_2024e - dec d - jr nz, .asm_20242 + ld a, $1 + ld [hli], a + inc hl + ld a, l + cp $b6 + jr z, .asm_2024e + dec d + jr nz, .asm_20242 .asm_2024e - ld a, [$d5b6] - add $4 - cp $18 - jr c, .asm_20259 - ld a, $18 + ld a, [$d5b6] + add $4 + cp $18 + jr c, .asm_20259 + ld a, $18 .asm_20259 - ld [$d5b6], a - cp $18 - jr nz, .asm_20264 - xor a - ld [wIndicatorStates + 9], a + ld [$d5b6], a + cp $18 + jr nz, .asm_20264 + xor a + ld [wIndicatorStates + 9], a .asm_20264 - ld [$ff8a], a - ld a, Bank(Func_10184) - ld hl, Func_10184 - call BankSwitch - ld bc, $34d6 - ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch - ld bc, $0010 - ld de, $0000 - push bc - push de - call Func_30e8 - call Func_30db - ld hl, $d5e9 - ld de, $2a3d - call Func_3372 - pop de - pop bc - ld hl, $d5e4 - ld de, $2a30 - call Func_3357 + ld [$ff8a], a + ld a, Bank(Func_10184) + ld hl, Func_10184 + call BankSwitch + ld bc, $34d6 + ld [$ff8a], a + ld a, Bank(Func_8588) + ld hl, Func_8588 + call BankSwitch + ld bc, $0010 + ld de, $0000 + push bc + push de + call Func_30e8 + call Func_30db + ld hl, $d5e9 + ld de, $2a3d + call Func_3372 + pop de + pop bc + ld hl, $d5e4 + ld de, $2a30 + call Func_3357 .asm_2029d - ld bc, $0001 - ld de, $0000 - call Func_3538 - scf - ret + ld bc, $0001 + ld de, $0000 + call Func_3538 + scf + ret Func_202a8: ; 0x202a8 - ld bc, $0000 - ld de, $1000 - call Func_3538 - ret + ld bc, $0000 + ld de, $1000 + call Func_3538 + ret Func_202b2: ; 0x202b2 - ld bc, $0005 - ld de, $0000 - call Func_3538 - ret + ld bc, $0005 + ld de, $0000 + call Func_3538 + ret Func_202bc: ; 0x202bc - ld a, [$d54c] - cp $4 - jp z, Func_204f1 - cp $c - jp z, Func_20569 - cp $f - jp z, Func_20573 - cp $e - jp z, Func_2057a - cp $0 - jr z, .asm_202d9 - scf - ret + ld a, [$d54c] + cp $4 + jp z, Func_204f1 + cp $c + jp z, Func_20569 + cp $f + jp z, Func_20573 + cp $e + jp z, Func_2057a + cp $0 + jr z, .asm_202d9 + scf + ret .asm_202d9 - call Func_204b3 - ld a, [$d54d] - call CallInFollowingTable + call Func_204b3 + ld a, [$d54d] + call CallInFollowingTable PointerTable_202e2: ; 0x202e2 - dw Func_20302 - db Bank(Func_20302), $00 + dw Func_20302 + db Bank(Func_20302), $00 - dw Func_20320 - db Bank(Func_20320), $00 + dw Func_20320 + db Bank(Func_20320), $00 - dw Func_2032c - db Bank(Func_2032c), $00 + dw Func_2032c + db Bank(Func_2032c), $00 - dw Func_20364 - db Bank(Func_20364), $00 + dw Func_20364 + db Bank(Func_20364), $00 - dw Func_20394 - db Bank(Func_20394), $00 + dw Func_20394 + db Bank(Func_20394), $00 - dw Func_20454 - db Bank(Func_20454), $00 + dw Func_20454 + db Bank(Func_20454), $00 - dw CapturePokemonBlueStage - db Bank(CapturePokemonBlueStage), $00 + dw CapturePokemonBlueStage + db Bank(CapturePokemonBlueStage), $00 - dw Func_2048f - db Bank(Func_2048f), $00 + dw Func_2048f + db Bank(Func_2048f), $00 Func_20302: ; 0x20302 - ld a, [$d5b6] - cp $18 - jr nz, .asm_2031e - ld a, [wCurrentStage] - bit 0, a - jr z, .asm_2031e - ld hl, $d54d - inc [hl] - ld a, $14 - ld [$d54e], a - ld a, $5 - ld [$d54f], a + ld a, [$d5b6] + cp $18 + jr nz, .asm_2031e + ld a, [wCurrentStage] + bit 0, a + jr z, .asm_2031e + ld hl, $d54d + inc [hl] + ld a, $14 + ld [$d54e], a + ld a, $5 + ld [$d54f], a .asm_2031e - scf - ret + scf + ret Func_20320: ; 0x20320 - ld [$ff8a], a - ld a, Bank(Func_10648) - ld hl, Func_10648 - call BankSwitch - scf - ret + ld [$ff8a], a + ld a, Bank(Func_10648) + ld hl, Func_10648 + call BankSwitch + scf + ret Func_2032c: ; 0x2032c - ld a, [wCurrentStage] - bit 0, a - jr z, .asm_20333 - call Func_1130 - jr nz, .asm_20362 - ld [$ff8a], a - ld a, Bank(Func_10414) - ld hl, Func_10414 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_10362) - ld hl, Func_10362 - call BankSwitch - ld a, [hGameBoyColorFlag] - and a - ld [$ff8a], a - ld a, Bank(Func_10301) - ld hl, Func_10301 - call nz, BankSwitch + ld a, [wCurrentStage] + bit 0, a + jr z, .asm_20333 + call Func_1130 + jr nz, .asm_20362 + ld [$ff8a], a + ld a, Bank(Func_10414) + ld hl, Func_10414 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_10362) + ld hl, Func_10362 + call BankSwitch + ld a, [hGameBoyColorFlag] + and a + ld [$ff8a], a + ld a, Bank(Func_10301) + ld hl, Func_10301 + call nz, BankSwitch .asm_20333 - ld a, $1 - ld [$d5c6], a - ld hl, $d54d - inc [hl] + ld a, $1 + ld [$d5c6], a + ld hl, $d54d + inc [hl] .asm_20362 - scf - ret + scf + ret Func_20364: ; 0x20364 - ld a, [wCurrentStage] - bit 0, a - jr z, .asm_20370 - call Func_1130 - jr nz, .asm_20392 + ld a, [wCurrentStage] + bit 0, a + jr z, .asm_20370 + call Func_1130 + jr nz, .asm_20392 .asm_20370 - ld [$ff8a], a - ld a, Bank(Func_10678) - ld hl, Func_10678 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_10732) - ld hl, Func_10732 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_10464) - ld hl, Func_10464 - call BankSwitch - ld hl, $d54d - inc [hl] + ld [$ff8a], a + ld a, Bank(Func_10678) + ld hl, Func_10678 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_10732) + ld hl, Func_10732 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_10464) + ld hl, Func_10464 + call BankSwitch + ld hl, $d54d + inc [hl] .asm_20392 - scf - ret + scf + ret Func_20394: ; 0x20394 - ld a, [$d5be] - dec a - ld [$d5be], a - jr z, .asm_203a7 - ld a, [$d5c4] - inc a - ld [$d5c4], a - and $3 - ret nz + ld a, [$d5be] + dec a + ld [$d5be], a + jr z, .asm_203a7 + ld a, [$d5c4] + inc a + ld [$d5c4], a + and $3 + ret nz .asm_203a7 - ld a, [$d5bf] - and a - jp z, .asm_20428 - xor a - ld [$d5bf], a - ld a, [$d5c3] - ld [$d5be], a - xor a - ld [$d5c4], a - ld a, [wCurrentCatchEmMon] - cp MEW - 1 - jr nz, .notMew - ld a, [$d5c5] - inc a - ld [$d5c5], a - jr nz, .asm_203d7 + ld a, [$d5bf] + and a + jp z, .asm_20428 + xor a + ld [$d5bf], a + ld a, [$d5c3] + ld [$d5be], a + xor a + ld [$d5c4], a + ld a, [wCurrentCatchEmMon] + cp MEW - 1 + jr nz, .notMew + ld a, [$d5c5] + inc a + ld [$d5c5], a + jr nz, .asm_203d7 .notMew - ld a, [wNumMonHits] - cp $3 - jr z, .asm_20417 - inc a - ld [wNumMonHits], a + ld a, [wNumMonHits] + cp $3 + jr z, .asm_20417 + inc a + ld [wNumMonHits], a .asm_203d7 - ld bc, $34dc - ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch - ld bc, $0030 - ld de, $0000 - push bc - push de - call Func_30e8 - call Func_30db - ld hl, $d5e9 - ld de, $2a2a - call Func_3372 - pop de - pop bc - ld hl, $d5e4 - ld de, $2a21 - call Func_3357 - ld a, [wNumMonHits] - ld [$ff8a], a - ld a, Bank(Func_10611) - ld hl, Func_10611 - call BankSwitch - ld c, $2 - jr .asm_2044b + ld bc, $34dc + ld [$ff8a], a + ld a, Bank(Func_8588) + ld hl, Func_8588 + call BankSwitch + ld bc, $0030 + ld de, $0000 + push bc + push de + call Func_30e8 + call Func_30db + ld hl, $d5e9 + ld de, $2a2a + call Func_3372 + pop de + pop bc + ld hl, $d5e4 + ld de, $2a21 + call Func_3357 + ld a, [wNumMonHits] + ld [$ff8a], a + ld a, Bank(Func_10611) + ld hl, Func_10611 + call BankSwitch + ld c, $2 + jr .asm_2044b .asm_20417 - xor a - ld [$d57e], a - ld a, $1 - ld [$d57f], a - ld hl, $d54d - inc [hl] - ld c, $2 - jr .asm_2044b + xor a + ld [$d57e], a + ld a, $1 + ld [$d57f], a + ld hl, $d54d + inc [hl] + ld c, $2 + jr .asm_2044b .asm_20428 - ld a, [$d5be] - and a - ret nz - ld a, [$d5bc] - ld c, a - ld a, [$d5bd] - sub c - cp $1 - ld c, $0 - jr nc, .asm_2043d - ld c, $1 + ld a, [$d5be] + and a + ret nz + ld a, [$d5bc] + ld c, a + ld a, [$d5bd] + sub c + cp $1 + ld c, $0 + jr nc, .asm_2043d + ld c, $1 .asm_2043d - ld b, $0 - ld hl, $d5c1 - add hl, bc - ld a, [hl] - ld [$d5be], a - xor a - ld [$d5c4], a + ld b, $0 + ld hl, $d5c1 + add hl, bc + ld a, [hl] + ld [$d5be], a + xor a + ld [$d5c4], a .asm_2044b - ld a, [$d5bc] - add c - ld [$d5bd], a - scf - ret + ld a, [$d5bc] + add c + ld [$d5bd], a + scf + ret Func_20454: ; 0x20454 - ld a, [$d580] - and a - jr z, .asm_2045f - xor a - ld [$d580], a - ret + ld a, [$d580] + and a + jr z, .asm_2045f + xor a + ld [$d580], a + ret .asm_2045f - ld [$ff8a], a - ld a, Bank(Func_10496) - ld hl, Func_10496 - call BankSwitch - ld hl, $d54d - inc [hl] - ld [$ff8a], a - ld a, Bank(Func_106b6) - ld hl, Func_106b6 - call BankSwitch - ld [$ff8a], a - ld a, Bank(AddCaughtPokemonToParty) - ld hl, AddCaughtPokemonToParty - call BankSwitch - scf - ret + ld [$ff8a], a + ld a, Bank(Func_10496) + ld hl, Func_10496 + call BankSwitch + ld hl, $d54d + inc [hl] + ld [$ff8a], a + ld a, Bank(Func_106b6) + ld hl, Func_106b6 + call BankSwitch + ld [$ff8a], a + ld a, Bank(AddCaughtPokemonToParty) + ld hl, AddCaughtPokemonToParty + call BankSwitch + scf + ret CapturePokemonBlueStage: ; 0x20483 - ld [$ff8a], a - ld a, Bank(CapturePokemon) - ld hl, CapturePokemon - call BankSwitch - scf - ret + ld [$ff8a], a + ld a, Bank(CapturePokemon) + ld hl, CapturePokemon + call BankSwitch + scf + ret Func_2048f: ; 0x2048f - ld a, [$d5ca] - and a - ret nz - call Func_30e8 - ld [$ff8a], a - ld a, Bank(Func_dc00) - ld hl, Func_dc00 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_10157) - ld hl, Func_10157 - call BankSwitch - ld de, $0001 - call PlaySong - scf - ret + ld a, [$d5ca] + and a + ret nz + call Func_30e8 + ld [$ff8a], a + ld a, Bank(Func_dc00) + ld hl, Func_dc00 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_10157) + ld hl, Func_10157 + call BankSwitch + ld de, $0001 + call PlaySong + scf + ret Func_204b3: ; 0x204b3 - ld [$ff8a], a - ld a, Bank(Func_107f8) - ld hl, Func_107f8 - call BankSwitch - ld a, [$d57e] - and a - ret z - xor a - ld [$d57e], a - ld a, $7 - ld [$d54d], a - ld a, [wCurrentCatchEmMon] - cp MEW - 1 - jr nz, .notMew - ld [$ff8a], a - ld a, Bank(SetPokemonOwnedFlag) - ld hl, SetPokemonOwnedFlag - call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_107f8) + ld hl, Func_107f8 + call BankSwitch + ld a, [$d57e] + and a + ret z + xor a + ld [$d57e], a + ld a, $7 + ld [$d54d], a + ld a, [wCurrentCatchEmMon] + cp MEW - 1 + jr nz, .notMew + ld [$ff8a], a + ld a, Bank(SetPokemonOwnedFlag) + ld hl, SetPokemonOwnedFlag + call BankSwitch .notMew - ld [$ff8a], a - ld a, Bank(Func_86d2) - ld hl, Func_86d2 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_106a6) - ld hl, Func_106a6 - call BankSwitch - ret + ld [$ff8a], a + ld a, Bank(Func_86d2) + ld hl, Func_86d2 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_106a6) + ld hl, Func_106a6 + call BankSwitch + ret Func_204f1: ; 0x204f1 - ld a, [$d5b6] - cp $18 - jr z, .asm_2055e - sla a - ld c, a - ld b, $0 - ld hl, $d586 - add hl, bc - ld d, $4 + ld a, [$d5b6] + cp $18 + jr z, .asm_2055e + sla a + ld c, a + ld b, $0 + ld hl, $d586 + add hl, bc + ld d, $4 .asm_20503 - ld a, $1 - ld [hli], a - inc hl - ld a, l - cp $b6 ; TODO: This is the low byte of a pointer - jr z, .asm_2050f - dec d - jr nz, .asm_20503 + ld a, $1 + ld [hli], a + inc hl + ld a, l + cp $b6 ; TODO: This is the low byte of a pointer + jr z, .asm_2050f + dec d + jr nz, .asm_20503 .asm_2050f - ld a, [$d5b6] - add $4 - cp $18 - jr c, .asm_2051a - ld a, $18 + ld a, [$d5b6] + add $4 + cp $18 + jr c, .asm_2051a + ld a, $18 .asm_2051a - ld [$d5b6], a - cp $18 - jr nz, .asm_20525 - xor a - ld [wIndicatorStates + 9], a + ld [$d5b6], a + cp $18 + jr nz, .asm_20525 + xor a + ld [wIndicatorStates + 9], a .asm_20525 - ld [$ff8a], a - ld a, Bank(Func_10184) - ld hl, Func_10184 - call BankSwitch - ld bc, $34d6 - ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch - ld bc, $0010 - ld de, $0000 - push bc - push de - call Func_30e8 - call Func_30db - ld hl, $d5e9 - ld de, $2a3d - call Func_3372 - pop de - pop bc - ld hl, $d5e4 - ld de, $2a30 - call Func_3357 + ld [$ff8a], a + ld a, Bank(Func_10184) + ld hl, Func_10184 + call BankSwitch + ld bc, $34d6 + ld [$ff8a], a + ld a, Bank(Func_8588) + ld hl, Func_8588 + call BankSwitch + ld bc, $0010 + ld de, $0000 + push bc + push de + call Func_30e8 + call Func_30db + ld hl, $d5e9 + ld de, $2a3d + call Func_3372 + pop de + pop bc + ld hl, $d5e4 + ld de, $2a30 + call Func_3357 .asm_2055e - ld bc, $0001 - ld de, $0000 - call Func_3538 - scf - ret + ld bc, $0001 + ld de, $0000 + call Func_3538 + scf + ret Func_20569: ; 0x20569 - ld bc, $0000 - ld de, $1000 - call Func_3538 - ret + ld bc, $0000 + ld de, $1000 + call Func_3538 + ret Func_20573: ; 0x20573 - ld bc, $0005 - ld de, $0000 - ret + ld bc, $0005 + ld de, $0000 + ret Func_2057a: ; 0x2057a - ld bc, $0005 - ld de, $0000 - ret + ld bc, $0005 + ld de, $0000 + ret Func_20581: ; 0x20581 - ld a, [$d54c] - cp $4 - jp z, Func_2080f - cp $3 - jp z, Func_20839 - cp $5 - jp z, Func_2085a - cp $6 - jp z, Func_20887 - cp $7 - jp z, Func_208a8 - cp $8 - jp z, Func_208c9 - cp $9 - jp z, Func_208ea - cp $a - jp z, Func_2090b - cp $b - jp z, Func_2092c - cp $c - jp z, Func_2094d - cp $d - jp z, Func_20b02 - cp $2 - jp z, Func_20a65 - cp $1 - jp z, Func_20a82 - cp $0 - jr z, .asm_205cb - scf - ret + ld a, [$d54c] + cp $4 + jp z, Func_2080f + cp $3 + jp z, Func_20839 + cp $5 + jp z, Func_2085a + cp $6 + jp z, Func_20887 + cp $7 + jp z, Func_208a8 + cp $8 + jp z, Func_208c9 + cp $9 + jp z, Func_208ea + cp $a + jp z, Func_2090b + cp $b + jp z, Func_2092c + cp $c + jp z, Func_2094d + cp $d + jp z, Func_20b02 + cp $2 + jp z, Func_20a65 + cp $1 + jp z, Func_20a82 + cp $0 + jr z, .asm_205cb + scf + ret .asm_205cb - call Func_2077b - ld a, [$d54d] - call CallInFollowingTable + call Func_2077b + ld a, [$d54d] + call CallInFollowingTable PointerTable_205d4: ; 0x205d4 - dw Func_205e0 - db Bank(Func_205e0), $00 + dw Func_205e0 + db Bank(Func_205e0), $00 - dw Func_2070b - db Bank(Func_2070b), $00 + dw Func_2070b + db Bank(Func_2070b), $00 - dw Func_20757 - db Bank(Func_20757), $00 + dw Func_20757 + db Bank(Func_20757), $00 Func_205e0: ; 0x205e0 - ld a, [wCurrentStage] - ld b, a - ld a, [$d578] - and a - ret z - dec a - bit 0, b - jr z, .asm_205f0 - add $c + ld a, [wCurrentStage] + ld b, a + ld a, [$d578] + and a + ret z + dec a + bit 0, b + jr z, .asm_205f0 + add $c .asm_205f0 - ld c, a - ld b, $0 - ld hl, $d566 - add hl, bc - ld a, [hl] - and a - ret z - xor a - ld [hl], a - ld [$d551], a - call Func_20651 - ld a, [$d558] - ld [wIndicatorStates + 2], a - ld a, [$d559] - ld [wIndicatorStates + 3], a - ld [wIndicatorStates + 10], a - ld a, [wCurrentStage] - bit 0, a - ld [$ff8a], a - ld a, Bank(Func_14135) - ld hl, Func_14135 - call nz, BankSwitch - ld bc, $34e8 - ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch - call Func_30e8 - call Func_30db - ld de, $2bd8 - ld hl, $d5cc - call Func_32aa - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_2064f - ld a, $37 - ld hl, $4af0 - ld de, $0070 - ld bc, $0008 - call Func_7dc + ld c, a + ld b, $0 + ld hl, $d566 + add hl, bc + ld a, [hl] + and a + ret z + xor a + ld [hl], a + ld [$d551], a + call Func_20651 + ld a, [$d558] + ld [wIndicatorStates + 2], a + ld a, [$d559] + ld [wIndicatorStates + 3], a + ld [wIndicatorStates + 10], a + ld a, [wCurrentStage] + bit 0, a + ld [$ff8a], a + ld a, Bank(Func_14135) + ld hl, Func_14135 + call nz, BankSwitch + ld bc, $34e8 + ld [$ff8a], a + ld a, Bank(Func_8588) + ld hl, Func_8588 + call BankSwitch + call Func_30e8 + call Func_30db + ld de, $2bd8 + ld hl, $d5cc + call Func_32aa + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_2064f + ld a, $37 + ld hl, $4af0 + ld de, $0070 + ld bc, $0008 + call Func_7dc .asm_2064f - scf - ret + scf + ret Func_20651: ; 0x20651 - ld a, [wCurrentStage] - bit 0, a - jr z, .asm_20681 - ld a, [wCurrentEvolutionType] - dec a - ld c, a - ld b, $0 - swap c - sla c - ld hl, $4e80 - add hl, bc - ld a, [$d554] - ld c, a - ld b, $0 - swap c - sla c - push hl - ld hl, $8ae0 - add hl, bc - ld d, h - ld e, l - pop hl - ld bc, $0020 - ld a, $36 - call LoadVRAMData + ld a, [wCurrentStage] + bit 0, a + jr z, .asm_20681 + ld a, [wCurrentEvolutionType] + dec a + ld c, a + ld b, $0 + swap c + sla c + ld hl, $4e80 + add hl, bc + ld a, [$d554] + ld c, a + ld b, $0 + swap c + sla c + push hl + ld hl, $8ae0 + add hl, bc + ld d, h + ld e, l + pop hl + ld bc, $0020 + ld a, $36 + call LoadVRAMData .asm_20681 - ld a, [$d554] - inc a - ld [$d554], a - cp $1 - jr nz, .asm_20693 - ld de, $0728 - call PlaySoundEffect - ret + ld a, [$d554] + inc a + ld [$d554], a + cp $1 + jr nz, .asm_20693 + ld de, $0728 + call PlaySoundEffect + ret .asm_20693 - cp $2 - jr nz, .asm_2069e - ld de, $0744 - call PlaySoundEffect - ret + cp $2 + jr nz, .asm_2069e + ld de, $0744 + call PlaySoundEffect + ret .asm_2069e - cp $3 - ret nz - ld de, $0745 - call PlaySoundEffect - ld a, $1 - ld [$d604], a - ld a, $80 - ld [wIndicatorStates + 4], a - xor a - ld [wIndicatorStates + 9], a - ld [wIndicatorStates + 2], a - ld [wIndicatorStates + 3], a - ld [wIndicatorStates + 10], a - ld [wIndicatorStates + 8], a - ld [wIndicatorStates + 13], a - ld [wIndicatorStates + 14], a - ld [wIndicatorStates + 11], a - ld [wIndicatorStates + 12], a - ld [wIndicatorStates + 6], a - ld [wIndicatorStates + 7], a - ld [$d558], a - ld [$d559], a - ld a, [wCurrentStage] - bit 0, a - ret z - ld a, $36 - ld hl, $6c60 - ld de, $8200 - ld bc, $00e0 - call LoadVRAMData - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_20700 - ld a, $37 - ld hl, $4af8 - ld de, $0078 - ld bc, $0008 - call Func_7dc + cp $3 + ret nz + ld de, $0745 + call PlaySoundEffect + ld a, $1 + ld [$d604], a + ld a, $80 + ld [wIndicatorStates + 4], a + xor a + ld [wIndicatorStates + 9], a + ld [wIndicatorStates + 2], a + ld [wIndicatorStates + 3], a + ld [wIndicatorStates + 10], a + ld [wIndicatorStates + 8], a + ld [wIndicatorStates + 13], a + ld [wIndicatorStates + 14], a + ld [wIndicatorStates + 11], a + ld [wIndicatorStates + 12], a + ld [wIndicatorStates + 6], a + ld [wIndicatorStates + 7], a + ld [$d558], a + ld [$d559], a + ld a, [wCurrentStage] + bit 0, a + ret z + ld a, $36 + ld hl, $6c60 + ld de, $8200 + ld bc, $00e0 + call LoadVRAMData + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_20700 + ld a, $37 + ld hl, $4af8 + ld de, $0078 + ld bc, $0008 + call Func_7dc .asm_20700 - ld [$ff8a], a - ld a, Bank(Func_16425) - ld hl, Func_16425 - call BankSwitch - ret + ld [$ff8a], a + ld a, Bank(Func_16425) + ld hl, Func_16425 + call BankSwitch + ret Func_2070b: ; 0x2070b - ld [$ff8a], a - ld a, Bank(Func_dc00) - ld hl, Func_dc00 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_10ca5) - ld hl, Func_10ca5 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_10ac8) - ld hl, Func_10ac8 - call BankSwitch - ld de, $0001 - call PlaySong - ld hl, $d629 - call Func_e4a - ld [$ff8a], a - ld a, Bank(SetPokemonOwnedFlag) - ld hl, SetPokemonOwnedFlag - call BankSwitch - ld a, [$d624] - cp $3 - ret z - add $2 - cp $3 - jr c, .asm_2074d - ld a, $3 + ld [$ff8a], a + ld a, Bank(Func_dc00) + ld hl, Func_dc00 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_10ca5) + ld hl, Func_10ca5 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_10ac8) + ld hl, Func_10ac8 + call BankSwitch + ld de, $0001 + call PlaySong + ld hl, $d629 + call Func_e4a + ld [$ff8a], a + ld a, Bank(SetPokemonOwnedFlag) + ld hl, SetPokemonOwnedFlag + call BankSwitch + ld a, [$d624] + cp $3 + ret z + add $2 + cp $3 + jr c, .asm_2074d + ld a, $3 .asm_2074d - ld [$d625], a - ld a, $80 - ld [$d626], a - scf - ret + ld [$d625], a + ld a, $80 + ld [$d626], a + scf + ret Func_20757: ; 0x20757 - ld a, [$d5ca] - and a - ret nz - call Func_30e8 - ld [$ff8a], a - ld a, Bank(Func_dc00) - ld hl, Func_dc00 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_10ac8) - ld hl, Func_10ac8 - call BankSwitch - ld de, $0001 - call PlaySong - scf - ret + ld a, [$d5ca] + and a + ret nz + call Func_30e8 + ld [$ff8a], a + ld a, Bank(Func_dc00) + ld hl, Func_dc00 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_10ac8) + ld hl, Func_10ac8 + call BankSwitch + ld de, $0001 + call PlaySong + scf + ret Func_2077b: ; 0x2077b - ld hl, $d556 - ld a, [hli] - ld c, a - ld b, [hl] - or b - jr z, .asm_2078e - dec bc - ld a, b - ld [hld], a - ld [hl], c - or c - jr nz, .asm_2078e - call Func_20a55 + ld hl, $d556 + ld a, [hli] + ld c, a + ld b, [hl] + or b + jr z, .asm_2078e + dec bc + ld a, b + ld [hld], a + ld [hl], c + or c + jr nz, .asm_2078e + call Func_20a55 .asm_2078e - ld [$ff8a], a - ld a, Bank(Func_107f8) - ld hl, Func_107f8 - call BankSwitch - ld a, [$d57e] - and a - ret z - xor a - ld [$d57e], a - ld a, $2 - ld [$d54d], a - xor a - ld [$d604], a - ld hl, wIndicatorStates - ld [wIndicatorStates + 4], a - ld [wIndicatorStates + 9], a - ld [wIndicatorStates + 2], a - ld [wIndicatorStates + 3], a - ld [wIndicatorStates + 10], a - ld [wIndicatorStates + 8], a - ld [wIndicatorStates + 13], a - ld [wIndicatorStates + 14], a - ld [wIndicatorStates + 11], a - ld [wIndicatorStates + 12], a - ld [wIndicatorStates + 6], a - ld [wIndicatorStates + 7], a - ld [$d558], a - ld [$d559], a - ld [$d551], a - ld a, [wCurrentStage] - bit 0, a - jr z, .asm_207f5 - ld [$ff8a], a - ld a, Bank(Func_14135) - ld hl, Func_14135 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_16425) - ld hl, Func_16425 - call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_107f8) + ld hl, Func_107f8 + call BankSwitch + ld a, [$d57e] + and a + ret z + xor a + ld [$d57e], a + ld a, $2 + ld [$d54d], a + xor a + ld [$d604], a + ld hl, wIndicatorStates + ld [wIndicatorStates + 4], a + ld [wIndicatorStates + 9], a + ld [wIndicatorStates + 2], a + ld [wIndicatorStates + 3], a + ld [wIndicatorStates + 10], a + ld [wIndicatorStates + 8], a + ld [wIndicatorStates + 13], a + ld [wIndicatorStates + 14], a + ld [wIndicatorStates + 11], a + ld [wIndicatorStates + 12], a + ld [wIndicatorStates + 6], a + ld [wIndicatorStates + 7], a + ld [$d558], a + ld [$d559], a + ld [$d551], a + ld a, [wCurrentStage] + bit 0, a + jr z, .asm_207f5 + ld [$ff8a], a + ld a, Bank(Func_14135) + ld hl, Func_14135 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_16425) + ld hl, Func_16425 + call BankSwitch .asm_207f5 - ld [$ff8a], a - ld a, Bank(Func_86d2) - ld hl, Func_86d2 - call BankSwitch - call Func_30e8 - call Func_30db - ld hl, $d5cc - ld de, $2ad1 - call Func_32aa - ret + ld [$ff8a], a + ld a, Bank(Func_86d2) + ld hl, Func_86d2 + call BankSwitch + call Func_30e8 + call Func_30db + ld hl, $d5cc + ld de, $2ad1 + call Func_32aa + ret Func_2080f: ; 0x2080f - ld bc, $0001 - ld de, $5000 - call Func_3538 - ld a, [$d551] - and a - jr nz, .asm_20837 - ld a, [wIndicatorStates + 9] - and a - jr z, .asm_20837 - xor a - ld [wIndicatorStates + 9], a - ld a, [$d55c] - and a - ld a, $0 - ld [$d55c], a - jp nz, Func_20977 - jp Func_209eb + ld bc, $0001 + ld de, $5000 + call Func_3538 + ld a, [$d551] + and a + jr nz, .asm_20837 + ld a, [wIndicatorStates + 9] + and a + jr z, .asm_20837 + xor a + ld [wIndicatorStates + 9], a + ld a, [$d55c] + and a + ld a, $0 + ld [$d55c], a + jp nz, Func_20977 + jp Func_209eb .asm_20837 - scf - ret + scf + ret Func_20839: ; 0x20839 - ld a, [$d551] - and a - jr nz, .asm_20858 - ld a, [wIndicatorStates + 2] - and a - jr z, .asm_20858 - xor a - ld [wIndicatorStates + 2], a - ld a, [$d563] - and a - ld a, $0 - ld [$d563], a - jp nz, Func_20977 - jp Func_209eb + ld a, [$d551] + and a + jr nz, .asm_20858 + ld a, [wIndicatorStates + 2] + and a + jr z, .asm_20858 + xor a + ld [wIndicatorStates + 2], a + ld a, [$d563] + and a + ld a, $0 + ld [$d563], a + jp nz, Func_20977 + jp Func_209eb .asm_20858 - scf - ret + scf + ret Func_2085a: ; 0x2085a - ld bc, $0007 - ld de, $5000 - call Func_3538 - ld a, [$d551] - and a - jr nz, .asm_20885 - ld a, [wIndicatorStates + 3] - and a - jr z, .asm_20885 - xor a - ld [wIndicatorStates + 3], a - ld [wIndicatorStates + 10], a - ld a, [$d562] - and a - ld a, $0 - ld [$d562], a - jp nz, Func_20977 - jp Func_209eb + ld bc, $0007 + ld de, $5000 + call Func_3538 + ld a, [$d551] + and a + jr nz, .asm_20885 + ld a, [wIndicatorStates + 3] + and a + jr z, .asm_20885 + xor a + ld [wIndicatorStates + 3], a + ld [wIndicatorStates + 10], a + ld a, [$d562] + and a + ld a, $0 + ld [$d562], a + jp nz, Func_20977 + jp Func_209eb .asm_20885 - scf - ret + scf + ret Func_20887: ; 0x20887 - ld a, [$d551] - and a - jr nz, .asm_208a6 - ld a, [wIndicatorStates + 8] - and a - jr z, .asm_208a6 - xor a - ld [wIndicatorStates + 8], a - ld a, [$d561] - and a - ld a, $0 - ld [$d561], a - jp nz, Func_20977 - jp Func_209eb + ld a, [$d551] + and a + jr nz, .asm_208a6 + ld a, [wIndicatorStates + 8] + and a + jr z, .asm_208a6 + xor a + ld [wIndicatorStates + 8], a + ld a, [$d561] + and a + ld a, $0 + ld [$d561], a + jp nz, Func_20977 + jp Func_209eb .asm_208a6 - scf - ret + scf + ret Func_208a8: ; 0x208a8 - ld a, [$d551] - and a - jr nz, .asm_208c7 - ld a, [wIndicatorStates + 13] - and a - jr z, .asm_208c7 - xor a - ld [wIndicatorStates + 13], a - ld a, [$d55d] - and a - ld a, $0 - ld [$d55d], a - jp nz, Func_20977 - jp Func_209eb + ld a, [$d551] + and a + jr nz, .asm_208c7 + ld a, [wIndicatorStates + 13] + and a + jr z, .asm_208c7 + xor a + ld [wIndicatorStates + 13], a + ld a, [$d55d] + and a + ld a, $0 + ld [$d55d], a + jp nz, Func_20977 + jp Func_209eb .asm_208c7 - scf - ret + scf + ret Func_208c9: ; 0x208c9 - ld a, [$d551] - and a - jr nz, .asm_208e8 - ld a, [wIndicatorStates + 14] - and a - jr z, .asm_208e8 - xor a - ld [wIndicatorStates + 14], a - ld a, [$d55e] - and a - ld a, $0 - ld [$d55e], a - jp nz, Func_20977 - jp Func_209eb + ld a, [$d551] + and a + jr nz, .asm_208e8 + ld a, [wIndicatorStates + 14] + and a + jr z, .asm_208e8 + xor a + ld [wIndicatorStates + 14], a + ld a, [$d55e] + and a + ld a, $0 + ld [$d55e], a + jp nz, Func_20977 + jp Func_209eb .asm_208e8 - scf - ret + scf + ret Func_208ea: ; 0x208ea - ld a, [$d551] - and a - jr nz, .asm_20909 - ld a, [wIndicatorStates + 11] - and a - jr z, .asm_20909 - xor a - ld [wIndicatorStates + 11], a - ld a, [$d55f] - and a - ld a, $0 - ld [$d55f], a - jp nz, Func_20977 - jp Func_209eb + ld a, [$d551] + and a + jr nz, .asm_20909 + ld a, [wIndicatorStates + 11] + and a + jr z, .asm_20909 + xor a + ld [wIndicatorStates + 11], a + ld a, [$d55f] + and a + ld a, $0 + ld [$d55f], a + jp nz, Func_20977 + jp Func_209eb .asm_20909 - scf - ret + scf + ret Func_2090b: ; 0x2090b - ld a, [$d551] - and a - jr nz, .asm_2092a - ld a, [wIndicatorStates + 12] - and a - jr z, .asm_2092a - xor a - ld [wIndicatorStates + 12], a - ld a, [$d560] - and a - ld a, $0 - ld [$d560], a - jp nz, Func_20977 - jp Func_209eb + ld a, [$d551] + and a + jr nz, .asm_2092a + ld a, [wIndicatorStates + 12] + and a + jr z, .asm_2092a + xor a + ld [wIndicatorStates + 12], a + ld a, [$d560] + and a + ld a, $0 + ld [$d560], a + jp nz, Func_20977 + jp Func_209eb .asm_2092a - scf - ret + scf + ret Func_2092c: ; 0x2092c - ld a, [$d551] - and a - jr nz, .asm_2094b - ld a, [wIndicatorStates + 6] - and a - jr z, .asm_2094b - xor a - ld [wIndicatorStates + 6], a - ld a, [$d565] - and a - ld a, $0 - ld [$d565], a - jp nz, Func_20977 - jp Func_209eb + ld a, [$d551] + and a + jr nz, .asm_2094b + ld a, [wIndicatorStates + 6] + and a + jr z, .asm_2094b + xor a + ld [wIndicatorStates + 6], a + ld a, [$d565] + and a + ld a, $0 + ld [$d565], a + jp nz, Func_20977 + jp Func_209eb .asm_2094b - scf - ret + scf + ret Func_2094d: ; 0x2094d - ld bc, $0000 - ld de, $1500 - call Func_3538 - ld a, [$d551] - and a - jr nz, .asm_20975 - ld a, [wIndicatorStates + 7] - and a - jr z, .asm_20975 - xor a - ld [wIndicatorStates + 7], a - ld a, [$d564] - and a - ld a, $0 - ld [$d564], a - jp nz, Func_20977 - jp Func_209eb + ld bc, $0000 + ld de, $1500 + call Func_3538 + ld a, [$d551] + and a + jr nz, .asm_20975 + ld a, [wIndicatorStates + 7] + and a + jr z, .asm_20975 + xor a + ld [wIndicatorStates + 7], a + ld a, [$d564] + and a + ld a, $0 + ld [$d564], a + jp nz, Func_20977 + jp Func_209eb .asm_20975 - scf - ret + scf + ret Func_20977: ; 0x20977 - ld de, $0746 - call PlaySoundEffect - call Func_20af5 - ld a, [wCurrentEvolutionType] - ld [hl], a - ld [$d551], a - ld a, [wIndicatorStates + 2] - ld [$d558], a - ld a, [wIndicatorStates + 3] - ld [$d559], a - xor a - ld [wIndicatorStates + 2], a - ld [wIndicatorStates + 3], a - ld [wIndicatorStates + 10], a - ld a, [wCurrentStage] - bit 0, a - ld [$ff8a], a - ld a, Bank(Func_14135) - ld hl, Func_14135 - call nz, BankSwitch - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_209bf - ld a, $37 - ld hl, $5188 - ld de, $0070 - ld bc, $0010 - call Func_7dc + ld de, $0746 + call PlaySoundEffect + call Func_20af5 + ld a, [wCurrentEvolutionType] + ld [hl], a + ld [$d551], a + ld a, [wIndicatorStates + 2] + ld [$d558], a + ld a, [wIndicatorStates + 3] + ld [$d559], a + xor a + ld [wIndicatorStates + 2], a + ld [wIndicatorStates + 3], a + ld [wIndicatorStates + 10], a + ld a, [wCurrentStage] + bit 0, a + ld [$ff8a], a + ld a, Bank(Func_14135) + ld hl, Func_14135 + call nz, BankSwitch + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_209bf + ld a, $37 + ld hl, $5188 + ld de, $0070 + ld bc, $0010 + call Func_7dc .asm_209bf - ld bc, $34dc - ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch - call Func_30e8 - call Func_30db - ld a, [wCurrentEvolutionType] - dec a - ld c, a - ld b, $0 - sla c - ld hl, $2bf0 - add hl, bc - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - ld hl, $d5cc - call Func_32aa - scf - ret + ld bc, $34dc + ld [$ff8a], a + ld a, Bank(Func_8588) + ld hl, Func_8588 + call BankSwitch + call Func_30e8 + call Func_30db + ld a, [wCurrentEvolutionType] + dec a + ld c, a + ld b, $0 + sla c + ld hl, $2bf0 + add hl, bc + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + ld hl, $d5cc + call Func_32aa + scf + ret Func_209eb: ; 0x209eb - ld de, $0747 - call PlaySoundEffect - ld a, $1 - ld [$d551], a - ld a, $80 - ld [wIndicatorStates], a - ld [wIndicatorStates + 1], a - ld a, [wIndicatorStates + 2] - ld [$d558], a - ld a, [wIndicatorStates + 3] - ld [$d559], a - xor a - ld [wIndicatorStates + 2], a - ld [wIndicatorStates + 3], a - ld [wIndicatorStates + 10], a - ld a, [wCurrentStage] - bit 0, a - ld [$ff8a], a - ld a, Bank(Func_14135) - ld hl, Func_14135 - call nz, BankSwitch - ld a, $58 - ld [$d556], a - ld a, $2 - ld [$d557], a - ld bc, $34dc - ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch - call Func_30e8 - call Func_30db - ld hl, $d5cc - ld a, [wCurrentEvolutionType] - cp EVO_EXPERIENCE - ld de, $2b7b - jr z, .asm_20a50 - ld de, $2b93 + ld de, $0747 + call PlaySoundEffect + ld a, $1 + ld [$d551], a + ld a, $80 + ld [wIndicatorStates], a + ld [wIndicatorStates + 1], a + ld a, [wIndicatorStates + 2] + ld [$d558], a + ld a, [wIndicatorStates + 3] + ld [$d559], a + xor a + ld [wIndicatorStates + 2], a + ld [wIndicatorStates + 3], a + ld [wIndicatorStates + 10], a + ld a, [wCurrentStage] + bit 0, a + ld [$ff8a], a + ld a, Bank(Func_14135) + ld hl, Func_14135 + call nz, BankSwitch + ld a, $58 + ld [$d556], a + ld a, $2 + ld [$d557], a + ld bc, $34dc + ld [$ff8a], a + ld a, Bank(Func_8588) + ld hl, Func_8588 + call BankSwitch + call Func_30e8 + call Func_30db + ld hl, $d5cc + ld a, [wCurrentEvolutionType] + cp EVO_EXPERIENCE + ld de, $2b7b + jr z, .asm_20a50 + ld de, $2b93 .asm_20a50 - call Func_32aa - scf - ret + call Func_32aa + scf + ret Func_20a55: ; 0x20a55 - ld a, [$d551] - and a - jr z, .asm_20a63 - ld a, [wIndicatorStates + 1] - and a - jr z, .asm_20a63 - jr asm_20a9f + ld a, [$d551] + and a + jr z, .asm_20a63 + ld a, [wIndicatorStates + 1] + and a + jr z, .asm_20a63 + jr asm_20a9f .asm_20a63 - scf - ret + scf + ret Func_20a65: ; 0x20a65 - ld a, [$d551] - and a - jr z, .asm_20a80 - ld a, [wIndicatorStates + 1] - and a - jr z, .asm_20a80 - ld bc, $34d0 - ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch - jr asm_20a9f + ld a, [$d551] + and a + jr z, .asm_20a80 + ld a, [wIndicatorStates + 1] + and a + jr z, .asm_20a80 + ld bc, $34d0 + ld [$ff8a], a + ld a, Bank(Func_8588) + ld hl, Func_8588 + call BankSwitch + jr asm_20a9f .asm_20a80 - scf - ret + scf + ret Func_20a82: ; 0x20a82 - ld a, [$d551] - and a - jr z, .asm_20a9d - ld a, [wIndicatorStates] - and a - jr z, .asm_20a9d - ld bc, $34d0 - ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch - jr asm_20a9f + ld a, [$d551] + and a + jr z, .asm_20a9d + ld a, [wIndicatorStates] + and a + jr z, .asm_20a9d + ld bc, $34d0 + ld [$ff8a], a + ld a, Bank(Func_8588) + ld hl, Func_8588 + call BankSwitch + jr asm_20a9f .asm_20a9d - scf - ret + scf + ret asm_20a9f: - xor a - ld [wIndicatorStates], a - ld [wIndicatorStates + 1], a - ld [$d551], a - ld a, [$d558] - ld [wIndicatorStates + 2], a - ld a, [$d559] - ld [wIndicatorStates + 3], a - ld [wIndicatorStates + 10], a - ld a, [$d4ac] - bit 0, a - ld [$ff8a], a - ld a, Bank(Func_14135) - ld hl, Func_14135 - call nz, BankSwitch - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_20ada - ld a, $37 - ld hl, $4af0 - ld de, $0070 - ld bc, $0008 - call Func_7dc + xor a + ld [wIndicatorStates], a + ld [wIndicatorStates + 1], a + ld [$d551], a + ld a, [$d558] + ld [wIndicatorStates + 2], a + ld a, [$d559] + ld [wIndicatorStates + 3], a + ld [wIndicatorStates + 10], a + ld a, [$d4ac] + bit 0, a + ld [$ff8a], a + ld a, Bank(Func_14135) + ld hl, Func_14135 + call nz, BankSwitch + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_20ada + ld a, $37 + ld hl, $4af0 + ld de, $0070 + ld bc, $0008 + call Func_7dc .asm_20ada - call Func_30e8 - call Func_30db - ld a, [wCurrentEvolutionType] - cp EVO_EXPERIENCE - ld de, $2ba9 - jr z, .asm_20aed - ld de, $2bc2 + call Func_30e8 + call Func_30db + ld a, [wCurrentEvolutionType] + cp EVO_EXPERIENCE + ld de, $2ba9 + jr z, .asm_20aed + ld de, $2bc2 .asm_20aed - ld hl, $d5cc - call Func_32aa - scf - ret + ld hl, $d5cc + call Func_32aa + scf + ret Func_20af5: ; 0x20af5 - ld a, $11 - call Func_a21 - ld c, a - ld b, $0 - ld hl, $d566 - add hl, bc - ret + ld a, $11 + call Func_a21 + ld c, a + ld b, $0 + ld hl, $d566 + add hl, bc + ret Func_20b02: ; 0x20b02 - ld a, [wCurrentEvolutionMon] - cp $ff - jr nz, .asm_20b0c - ld a, [wCurrentCatchEmMon] + ld a, [wCurrentEvolutionMon] + cp $ff + jr nz, .asm_20b0c + ld a, [wCurrentCatchEmMon] .asm_20b0c - ld c, a - ld b, $0 - sla c - rl b - add c - ld c, a - jr nc, .asm_20b18 - inc b + ld c, a + ld b, $0 + sla c + rl b + add c + ld c, a + jr nc, .asm_20b18 + inc b .asm_20b18 - push bc - ld hl, MonBillboardPicPointers - add hl, bc - ld a, Bank(MonBillboardPicPointers) - call ReadByteFromBank - inc hl - ld c, a - ld a, Bank(MonBillboardPicPointers) - call ReadByteFromBank - inc hl - ld b, a - ld a, Bank(MonBillboardPicPointers) - call ReadByteFromBank - ld h, b - ld l, c - ld de, $8900 - ld bc, $0180 - call Func_735 - pop bc - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_20b80 - push bc - ld hl, MonBillboardPaletteMapPointers - add hl, bc - ld a, Bank(MonBillboardPaletteMapPointers) - call ReadByteFromBank - inc hl - ld e, a - ld a, Bank(MonBillboardPaletteMapPointers) - call ReadByteFromBank - inc hl - ld d, a - ld a, Bank(MonBillboardPaletteMapPointers) - call ReadByteFromBank - ld hl, $9887 - call Func_86f - pop bc - ld hl, MonBillboardPalettePointers - add hl, bc - ld a, Bank(MonBillboardPalettePointers) - call ReadByteFromBank - inc hl - ld e, a - ld a, Bank(MonBillboardPalettePointers) - call ReadByteFromBank - inc hl - ld d, a - ld a, Bank(MonBillboardPalettePointers) - call ReadByteFromBank - ld bc, $10b0 - ld hl, $ff68 - call Func_8e1 + push bc + ld hl, MonBillboardPicPointers + add hl, bc + ld a, Bank(MonBillboardPicPointers) + call ReadByteFromBank + inc hl + ld c, a + ld a, Bank(MonBillboardPicPointers) + call ReadByteFromBank + inc hl + ld b, a + ld a, Bank(MonBillboardPicPointers) + call ReadByteFromBank + ld h, b + ld l, c + ld de, $8900 + ld bc, $0180 + call Func_735 + pop bc + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_20b80 + push bc + ld hl, MonBillboardPaletteMapPointers + add hl, bc + ld a, Bank(MonBillboardPaletteMapPointers) + call ReadByteFromBank + inc hl + ld e, a + ld a, Bank(MonBillboardPaletteMapPointers) + call ReadByteFromBank + inc hl + ld d, a + ld a, Bank(MonBillboardPaletteMapPointers) + call ReadByteFromBank + ld hl, $9887 + call Func_86f + pop bc + ld hl, MonBillboardPalettePointers + add hl, bc + ld a, Bank(MonBillboardPalettePointers) + call ReadByteFromBank + inc hl + ld e, a + ld a, Bank(MonBillboardPalettePointers) + call ReadByteFromBank + inc hl + ld d, a + ld a, Bank(MonBillboardPalettePointers) + call ReadByteFromBank + ld bc, $10b0 + ld hl, rBGPI + call Func_8e1 .asm_20b80 - ld [$ff8a], a - ld a, Bank(Func_10e0a) - ld hl, Func_10e0a - call BankSwitch - call Func_3475 - ld de, $0000 - call PlaySong - rst $10 - ld de, $2d26 - call PlaySoundEffect - ld [$ff8a], a - ld a, Bank(Func_10825) - ld hl, Func_10825 - call BankSwitch - call Func_3475 - ld a, $1 - ld [$d54d], a - scf - ret + ld [$ff8a], a + ld a, Bank(Func_10e0a) + ld hl, Func_10e0a + call BankSwitch + call Func_3475 + ld de, $0000 + call PlaySong + rst $10 + ld de, $2d26 + call PlaySoundEffect + ld [$ff8a], a + ld a, Bank(Func_10825) + ld hl, Func_10825 + call BankSwitch + call Func_3475 + ld a, $1 + ld [$d54d], a + scf + ret Func_20bae: ; 0x20bae - ld a, [$d54c] - cp $4 - jp z, Func_20e34 - cp $1 - jp z, Func_21089 - cp $e - jp z, Func_20e5e - cp $f - jp z, Func_20e82 - cp $7 - jp z, Func_20ea6 - cp $8 - jp z, Func_20ec7 - cp $9 - jp z, Func_20ee8 - cp $a - jp z, Func_20f09 - cp $b - jp z, Func_20f2a - cp $c - jp z, Func_20f4b - cp $d - jp z, Func_2112a - cp $2 - jp z, Func_2105c - cp $0 - jr z, .asm_20bf3 - scf - ret + ld a, [$d54c] + cp $4 + jp z, Func_20e34 + cp $1 + jp z, Func_21089 + cp $e + jp z, Func_20e5e + cp $f + jp z, Func_20e82 + cp $7 + jp z, Func_20ea6 + cp $8 + jp z, Func_20ec7 + cp $9 + jp z, Func_20ee8 + cp $a + jp z, Func_20f09 + cp $b + jp z, Func_20f2a + cp $c + jp z, Func_20f4b + cp $d + jp z, Func_2112a + cp $2 + jp z, Func_2105c + cp $0 + jr z, .asm_20bf3 + scf + ret .asm_20bf3 - call Func_20da0 - ld a, [$d54d] - call CallInFollowingTable + call Func_20da0 + ld a, [$d54d] + call CallInFollowingTable PointerTable_20bfc: ; 0x20bfc - dw Func_20c08 - db Bank(Func_20c08), $00 + dw Func_20c08 + db Bank(Func_20c08), $00 - dw Func_20d30 - db Bank(Func_20d30), $00 + dw Func_20d30 + db Bank(Func_20d30), $00 - dw Func_20d7c - db Bank(Func_20d7c), $00 + dw Func_20d7c + db Bank(Func_20d7c), $00 Func_20c08: ; 0x20c08 - ld a, [wCurrentStage] - ld b, a - ld a, [$d578] - and a - ret z - dec a - bit 0, b - jr z, .asm_20c18 - add $c + ld a, [wCurrentStage] + ld b, a + ld a, [$d578] + and a + ret z + dec a + bit 0, b + jr z, .asm_20c18 + add $c .asm_20c18 - ld c, a - ld b, $0 - ld hl, $d566 - add hl, bc - ld a, [hl] - and a - ret z - xor a - ld [hl], a - ld [$d551], a - call Func_20c76 - ld a, [$d558] - ld [wIndicatorStates], a - ld a, [$d559] - ld [wIndicatorStates + 3], a - ld a, [wCurrentStage] - bit 0, a - ld [$ff8a], a - ld a, Bank(Func_1c2cb) - ld hl, Func_1c2cb - call nz, BankSwitch - ld bc, $34e8 - ld [$ff8a], a - ld a, $2 - ld hl, $4588 + ld c, a + ld b, $0 + ld hl, $d566 + add hl, bc + ld a, [hl] + and a + ret z + xor a + ld [hl], a + ld [$d551], a + call Func_20c76 + ld a, [$d558] + ld [wIndicatorStates], a + ld a, [$d559] + ld [wIndicatorStates + 3], a + ld a, [wCurrentStage] + bit 0, a + ld [$ff8a], a + ld a, Bank(Func_1c2cb) + ld hl, Func_1c2cb + call nz, BankSwitch + ld bc, $34e8 + ld [$ff8a], a + ld a, $2 + ld hl, $4588 .asm_20c4f - call BankSwitch - call Func_30e8 - call Func_30db - ld de, $2bd8 - ld hl, $d5cc - call Func_32aa - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_20c74 - ld a, $37 - ld hl, $4bf0 - ld de, $0070 - ld bc, $0008 - call Func_7dc + call BankSwitch + call Func_30e8 + call Func_30db + ld de, $2bd8 + ld hl, $d5cc + call Func_32aa + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_20c74 + ld a, $37 + ld hl, $4bf0 + ld de, $0070 + ld bc, $0008 + call Func_7dc .asm_20c74 - scf - ret + scf + ret Func_20c76: ; 0x20c76 - ld a, [wCurrentStage] - bit 0, a - jr z, .asm_20ca6 - ld a, [wCurrentEvolutionType] - dec a - ld c, a - ld b, $0 - swap c - sla c - ld hl, $4e80 - add hl, bc - ld a, [$d554] - ld c, a - ld b, $0 - swap c - sla c - push hl - ld hl, $8ae0 - add hl, bc - ld d, h - ld e, l - pop hl - ld bc, $0020 - ld a, $36 - call LoadVRAMData + ld a, [wCurrentStage] + bit 0, a + jr z, .asm_20ca6 + ld a, [wCurrentEvolutionType] + dec a + ld c, a + ld b, $0 + swap c + sla c + ld hl, $4e80 + add hl, bc + ld a, [$d554] + ld c, a + ld b, $0 + swap c + sla c + push hl + ld hl, $8ae0 + add hl, bc + ld d, h + ld e, l + pop hl + ld bc, $0020 + ld a, $36 + call LoadVRAMData .asm_20ca6 - ld a, [$d554] - inc a - ld [$d554], a - cp $1 - jr nz, .asm_20cb8 - ld de, $0728 - call PlaySoundEffect - ret + ld a, [$d554] + inc a + ld [$d554], a + cp $1 + jr nz, .asm_20cb8 + ld de, $0728 + call PlaySoundEffect + ret .asm_20cb8 - cp $2 - jr nz, .asm_20cc3 - ld de, $0744 - call PlaySoundEffect - ret + cp $2 + jr nz, .asm_20cc3 + ld de, $0744 + call PlaySoundEffect + ret .asm_20cc3 - cp $3 - ret nz - ld de, $0745 - call PlaySoundEffect - ld a, $1 - ld [$d604], a - ld a, $80 - ld [wIndicatorStates + 4], a - xor a - ld [wIndicatorStates + 9], a - ld [wIndicatorStates + 2], a - ld [wIndicatorStates + 3], a - ld [wIndicatorStates + 8], a - ld [wIndicatorStates + 13], a - ld [wIndicatorStates + 14], a - ld [wIndicatorStates + 11], a - ld [wIndicatorStates + 12], a - ld [wIndicatorStates + 10], a - ld [wIndicatorStates + 6], a - ld [wIndicatorStates + 7], a - ld [$d558], a - ld [$d559], a - ld a, [wCurrentStage] - bit 0, a - ret z - ld a, $36 - ld hl, $6c60 - ld de, $8200 - ld bc, $00e0 - call LoadVRAMData - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_20d25 - ld a, $37 - ld hl, $4bf8 - ld de, $0078 - ld bc, $0008 - call Func_7dc + cp $3 + ret nz + ld de, $0745 + call PlaySoundEffect + ld a, $1 + ld [$d604], a + ld a, $80 + ld [wIndicatorStates + 4], a + xor a + ld [wIndicatorStates + 9], a + ld [wIndicatorStates + 2], a + ld [wIndicatorStates + 3], a + ld [wIndicatorStates + 8], a + ld [wIndicatorStates + 13], a + ld [wIndicatorStates + 14], a + ld [wIndicatorStates + 11], a + ld [wIndicatorStates + 12], a + ld [wIndicatorStates + 10], a + ld [wIndicatorStates + 6], a + ld [wIndicatorStates + 7], a + ld [$d558], a + ld [$d559], a + ld a, [wCurrentStage] + bit 0, a + ret z + ld a, $36 + ld hl, $6c60 + ld de, $8200 + ld bc, $00e0 + call LoadVRAMData + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_20d25 + ld a, $37 + ld hl, $4bf8 + ld de, $0078 + ld bc, $0008 + call Func_7dc .asm_20d25 - ld [$ff8a], a - ld a, Bank(Func_1e8f6) - ld hl, Func_1e8f6 - call BankSwitch - ret + ld [$ff8a], a + ld a, Bank(Func_1e8f6) + ld hl, Func_1e8f6 + call BankSwitch + ret Func_20d30: ; 0x20d30 - ld [$ff8a], a - ld a, Bank(Func_dc00) - ld hl, Func_dc00 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_10ca5) - ld hl, Func_10ca5 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_10ac8) - ld hl, Func_10ac8 - call BankSwitch - ld de, $0001 - call PlaySong - ld hl, $d629 - call Func_e4a - ld [$ff8a], a - ld a, Bank(SetPokemonOwnedFlag) - ld hl, SetPokemonOwnedFlag - call BankSwitch - ld a, [$d624] - cp $3 - ret z - add $2 - cp $3 - jr c, .asm_20d72 - ld a, $3 + ld [$ff8a], a + ld a, Bank(Func_dc00) + ld hl, Func_dc00 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_10ca5) + ld hl, Func_10ca5 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_10ac8) + ld hl, Func_10ac8 + call BankSwitch + ld de, $0001 + call PlaySong + ld hl, $d629 + call Func_e4a + ld [$ff8a], a + ld a, Bank(SetPokemonOwnedFlag) + ld hl, SetPokemonOwnedFlag + call BankSwitch + ld a, [$d624] + cp $3 + ret z + add $2 + cp $3 + jr c, .asm_20d72 + ld a, $3 .asm_20d72 - ld [$d625], a - ld a, $80 - ld [$d626], a - scf - ret + ld [$d625], a + ld a, $80 + ld [$d626], a + scf + ret Func_20d7c: ; 0x20d7c - ld a, [$d5ca] - and a - ret nz - call Func_30e8 - ld [$ff8a], a - ld a, Bank(Func_dc00) - ld hl, Func_dc00 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_10ac8) - ld hl, Func_10ac8 - call BankSwitch - ld de, $0001 - call PlaySong - scf - ret + ld a, [$d5ca] + and a + ret nz + call Func_30e8 + ld [$ff8a], a + ld a, Bank(Func_dc00) + ld hl, Func_dc00 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_10ac8) + ld hl, Func_10ac8 + call BankSwitch + ld de, $0001 + call PlaySong + scf + ret Func_20da0: ; 0x20da0 - ld hl, $d556 - ld a, [hli] - ld c, a - ld b, [hl] - or b - jr z, .asm_20db3 - dec bc - ld a, b - ld [hld], a - ld [hl], c - or c - jr nz, .asm_20db3 - call Func_21079 + ld hl, $d556 + ld a, [hli] + ld c, a + ld b, [hl] + or b + jr z, .asm_20db3 + dec bc + ld a, b + ld [hld], a + ld [hl], c + or c + jr nz, .asm_20db3 + call Func_21079 .asm_20db3 - ld [$ff8a], a - ld a, Bank(Func_107f8) - ld hl, Func_107f8 - call BankSwitch - ld a, [$d57e] - and a - ret z - xor a - ld [$d57e], a - ld a, $2 - ld [$d54d], a - xor a - ld [$d604], a - ld hl, wIndicatorStates - ld [wIndicatorStates + 4], a - ld [wIndicatorStates + 9], a - ld [wIndicatorStates + 2], a - ld [wIndicatorStates + 3], a - ld [wIndicatorStates + 8], a - ld [wIndicatorStates + 13], a - ld [wIndicatorStates + 14], a - ld [wIndicatorStates + 11], a - ld [wIndicatorStates + 12], a - ld [wIndicatorStates + 10], a - ld [wIndicatorStates + 6], a - ld [wIndicatorStates + 7], a - ld [$d558], a - ld [$d559], a - ld [$d551], a - ld a, [wCurrentStage] - bit 0, a - jr z, .asm_20e1a - ld [$ff8a], a - ld a, Bank(Func_1c2cb) - ld hl, Func_1c2cb - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_1e8f6) - ld hl, Func_1e8f6 - call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_107f8) + ld hl, Func_107f8 + call BankSwitch + ld a, [$d57e] + and a + ret z + xor a + ld [$d57e], a + ld a, $2 + ld [$d54d], a + xor a + ld [$d604], a + ld hl, wIndicatorStates + ld [wIndicatorStates + 4], a + ld [wIndicatorStates + 9], a + ld [wIndicatorStates + 2], a + ld [wIndicatorStates + 3], a + ld [wIndicatorStates + 8], a + ld [wIndicatorStates + 13], a + ld [wIndicatorStates + 14], a + ld [wIndicatorStates + 11], a + ld [wIndicatorStates + 12], a + ld [wIndicatorStates + 10], a + ld [wIndicatorStates + 6], a + ld [wIndicatorStates + 7], a + ld [$d558], a + ld [$d559], a + ld [$d551], a + ld a, [wCurrentStage] + bit 0, a + jr z, .asm_20e1a + ld [$ff8a], a + ld a, Bank(Func_1c2cb) + ld hl, Func_1c2cb + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_1e8f6) + ld hl, Func_1e8f6 + call BankSwitch .asm_20e1a - ld [$ff8a], a - ld a, Bank(Func_86d2) - ld hl, Func_86d2 - call BankSwitch - call Func_30e8 - call Func_30db - ld hl, $d5cc - ld de, $2ad1 - call Func_32aa - ret + ld [$ff8a], a + ld a, Bank(Func_86d2) + ld hl, Func_86d2 + call BankSwitch + call Func_30e8 + call Func_30db + ld hl, $d5cc + ld de, $2ad1 + call Func_32aa + ret Func_20e34: ; 0x20e34 - ld bc, $0001 - ld de, $5000 - call Func_3538 - ld a, [$d551] - and a - jr nz, .asm_20e5c - ld a, [wIndicatorStates + 9] - and a - jr z, .asm_20e5c - xor a - ld [wIndicatorStates + 9], a - ld a, [$d55c] - and a - ld a, $0 - ld [$d55c], a - jp nz, Func_20f75 - jp Func_20fef + ld bc, $0001 + ld de, $5000 + call Func_3538 + ld a, [$d551] + and a + jr nz, .asm_20e5c + ld a, [wIndicatorStates + 9] + and a + jr z, .asm_20e5c + xor a + ld [wIndicatorStates + 9], a + ld a, [$d55c] + and a + ld a, $0 + ld [$d55c], a + jp nz, Func_20f75 + jp Func_20fef .asm_20e5c - scf - ret + scf + ret Func_20e5e: ; 0x20e5e - ld a, [$d551] - and a - jr nz, .asm_20e80 - ld a, [wIndicatorStates + 3] - and a - jr z, .asm_20e80 - xor a - ld [wIndicatorStates + 3], a - ld [wIndicatorStates + 10], a - ld a, [$d562] - and a - ld a, $0 - ld [$d562], a - jp nz, Func_20f75 - jp Func_20fef + ld a, [$d551] + and a + jr nz, .asm_20e80 + ld a, [wIndicatorStates + 3] + and a + jr z, .asm_20e80 + xor a + ld [wIndicatorStates + 3], a + ld [wIndicatorStates + 10], a + ld a, [$d562] + and a + ld a, $0 + ld [$d562], a + jp nz, Func_20f75 + jp Func_20fef .asm_20e80 - scf - ret + scf + ret Func_20e82: ; 0x20e82 - ld a, [$d551] - and a - jr nz, .asm_20ea4 - ld a, [wIndicatorStates + 8] - and a - jr z, .asm_20ea4 - xor a - ld [wIndicatorStates + 8], a - ld [wIndicatorStates + 2], a - ld a, [$d561] - and a - ld a, $0 - ld [$d561], a - jp nz, Func_20f75 - jp Func_20fef + ld a, [$d551] + and a + jr nz, .asm_20ea4 + ld a, [wIndicatorStates + 8] + and a + jr z, .asm_20ea4 + xor a + ld [wIndicatorStates + 8], a + ld [wIndicatorStates + 2], a + ld a, [$d561] + and a + ld a, $0 + ld [$d561], a + jp nz, Func_20f75 + jp Func_20fef .asm_20ea4 - scf - ret + scf + ret Func_20ea6: ; 0x20ea6 - ld a, [$d551] - and a - jr nz, .asm_20ec5 - ld a, [wIndicatorStates + 13] - and a - jr z, .asm_20ec5 - xor a - ld [wIndicatorStates + 13], a - ld a, [$d55d] - and a - ld a, $0 - ld [$d55d], a - jp nz, Func_20f75 - jp Func_20fef + ld a, [$d551] + and a + jr nz, .asm_20ec5 + ld a, [wIndicatorStates + 13] + and a + jr z, .asm_20ec5 + xor a + ld [wIndicatorStates + 13], a + ld a, [$d55d] + and a + ld a, $0 + ld [$d55d], a + jp nz, Func_20f75 + jp Func_20fef .asm_20ec5 - scf - ret + scf + ret Func_20ec7: ; 0x20ec7 - ld a, [$d551] - and a - jr nz, .asm_20ee6 - ld a, [wIndicatorStates + 14] - and a - jr z, .asm_20ee6 - xor a - ld [wIndicatorStates + 14], a - ld a, [$d55e] - and a - ld a, $0 - ld [$d55e], a - jp nz, Func_20f75 - jp Func_20fef + ld a, [$d551] + and a + jr nz, .asm_20ee6 + ld a, [wIndicatorStates + 14] + and a + jr z, .asm_20ee6 + xor a + ld [wIndicatorStates + 14], a + ld a, [$d55e] + and a + ld a, $0 + ld [$d55e], a + jp nz, Func_20f75 + jp Func_20fef .asm_20ee6 - scf - ret + scf + ret Func_20ee8: ; 0x20ee8 - ld a, [$d551] - and a - jr nz, .asm_20f07 - ld a, [wIndicatorStates + 11] - and a - jr z, .asm_20f07 - xor a - ld [wIndicatorStates + 11], a - ld a, [$d55f] - and a - ld a, $0 - ld [$d55f], a - jp nz, Func_20f75 - jp Func_20fef + ld a, [$d551] + and a + jr nz, .asm_20f07 + ld a, [wIndicatorStates + 11] + and a + jr z, .asm_20f07 + xor a + ld [wIndicatorStates + 11], a + ld a, [$d55f] + and a + ld a, $0 + ld [$d55f], a + jp nz, Func_20f75 + jp Func_20fef .asm_20f07 - scf - ret + scf + ret Func_20f09: ; 0x20f09 - ld a, [$d551] - and a - jr nz, .asm_20f28 - ld a, [wIndicatorStates + 12] - and a - jr z, .asm_20f28 - xor a - ld [wIndicatorStates + 12], a - ld a, [$d560] - and a - ld a, $0 - ld [$d560], a - jp nz, Func_20f75 - jp Func_20fef + ld a, [$d551] + and a + jr nz, .asm_20f28 + ld a, [wIndicatorStates + 12] + and a + jr z, .asm_20f28 + xor a + ld [wIndicatorStates + 12], a + ld a, [$d560] + and a + ld a, $0 + ld [$d560], a + jp nz, Func_20f75 + jp Func_20fef .asm_20f28 - scf - ret + scf + ret Func_20f2a: ; 0x20f2a - ld a, [$d551] - and a - jr nz, .asm_20f49 - ld a, [wIndicatorStates + 6] - and a - jr z, .asm_20f49 - xor a - ld [wIndicatorStates + 6], a - ld a, [$d565] - and a - ld a, $0 - ld [$d565], a - jp nz, Func_20f75 - jp Func_20fef + ld a, [$d551] + and a + jr nz, .asm_20f49 + ld a, [wIndicatorStates + 6] + and a + jr z, .asm_20f49 + xor a + ld [wIndicatorStates + 6], a + ld a, [$d565] + and a + ld a, $0 + ld [$d565], a + jp nz, Func_20f75 + jp Func_20fef .asm_20f49 - scf - ret + scf + ret Func_20f4b: ; 0x20f4b - ld bc, $0000 - ld de, $1500 - call Func_3538 - ld a, [$d551] - and a - jr nz, .asm_20f73 - ld a, [wIndicatorStates + 7] - and a - jr z, .asm_20f73 - xor a - ld [wIndicatorStates + 7], a - ld a, [$d564] - and a - ld a, $0 - ld [$d564], a - jp nz, Func_20f75 - jp Func_20fef + ld bc, $0000 + ld de, $1500 + call Func_3538 + ld a, [$d551] + and a + jr nz, .asm_20f73 + ld a, [wIndicatorStates + 7] + and a + jr z, .asm_20f73 + xor a + ld [wIndicatorStates + 7], a + ld a, [$d564] + and a + ld a, $0 + ld [$d564], a + jp nz, Func_20f75 + jp Func_20fef .asm_20f73 - scf - ret + scf + ret Func_20f75: ; 0x20f75 - ld de, $0746 - call PlaySoundEffect - call Func_2111d - ld a, [wCurrentEvolutionType] - ld [hl], a - ld [$d551], a - ld a, [wIndicatorStates] - ld [$d558], a - ld a, [wIndicatorStates + 3] - ld [$d559], a - ld a, [wIndicatorStates + 2] - ld [$d63f], a - xor a - ld [wIndicatorStates], a - ld [wIndicatorStates + 2], a - ld [wIndicatorStates + 3], a - ld a, [wCurrentStage] - bit 0, a - ld [$ff8a], a - ld a, Bank(Func_1c2cb) - ld hl, Func_1c2cb - call nz, BankSwitch - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_20fc3 - ld a, $37 - ld hl, $5188 - ld de, $0070 - ld bc, $0010 - call Func_7dc + ld de, $0746 + call PlaySoundEffect + call Func_2111d + ld a, [wCurrentEvolutionType] + ld [hl], a + ld [$d551], a + ld a, [wIndicatorStates] + ld [$d558], a + ld a, [wIndicatorStates + 3] + ld [$d559], a + ld a, [wIndicatorStates + 2] + ld [$d63f], a + xor a + ld [wIndicatorStates], a + ld [wIndicatorStates + 2], a + ld [wIndicatorStates + 3], a + ld a, [wCurrentStage] + bit 0, a + ld [$ff8a], a + ld a, Bank(Func_1c2cb) + ld hl, Func_1c2cb + call nz, BankSwitch + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_20fc3 + ld a, $37 + ld hl, $5188 + ld de, $0070 + ld bc, $0010 + call Func_7dc .asm_20fc3 - ld bc, $34dc - ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch - call Func_30e8 - call Func_30db - ld a, [wCurrentEvolutionType] - dec a - ld c, a - ld b, $0 - sla c - ld hl, $2bf0 - add hl, bc - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - ld hl, $d5cc - call Func_32aa - scf - ret + ld bc, $34dc + ld [$ff8a], a + ld a, Bank(Func_8588) + ld hl, Func_8588 + call BankSwitch + call Func_30e8 + call Func_30db + ld a, [wCurrentEvolutionType] + dec a + ld c, a + ld b, $0 + sla c + ld hl, $2bf0 + add hl, bc + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + ld hl, $d5cc + call Func_32aa + scf + ret Func_20fef: ; 0x20fef - ld de, $0747 - call PlaySoundEffect - ld a, $1 - ld [$d551], a - ld a, [wIndicatorStates] - ld [$d558], a - ld a, $80 - ld [wIndicatorStates], a - ld [wIndicatorStates + 1], a - ld a, [wIndicatorStates + 3] - ld [$d559], a - ld a, [wIndicatorStates + 2] - ld [$d63f], a - xor a - ld [wIndicatorStates + 2], a - ld [wIndicatorStates + 3], a - ld a, [wCurrentStage] - bit 0, a - ld [$ff8a], a - ld a, Bank(Func_1c2cb) - ld hl, Func_1c2cb - call nz, BankSwitch - ld a, $58 - ld [$d556], a - ld a, $2 - ld [$d557], a - ld bc, $34dc - ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch - call Func_30e8 - call Func_30db - ld hl, $d5cc - ld a, [wCurrentEvolutionType] - cp EVO_EXPERIENCE - ld de, $2b7b - jr z, .asm_21057 - ld de, $2b93 + ld de, $0747 + call PlaySoundEffect + ld a, $1 + ld [$d551], a + ld a, [wIndicatorStates] + ld [$d558], a + ld a, $80 + ld [wIndicatorStates], a + ld [wIndicatorStates + 1], a + ld a, [wIndicatorStates + 3] + ld [$d559], a + ld a, [wIndicatorStates + 2] + ld [$d63f], a + xor a + ld [wIndicatorStates + 2], a + ld [wIndicatorStates + 3], a + ld a, [wCurrentStage] + bit 0, a + ld [$ff8a], a + ld a, Bank(Func_1c2cb) + ld hl, Func_1c2cb + call nz, BankSwitch + ld a, $58 + ld [$d556], a + ld a, $2 + ld [$d557], a + ld bc, $34dc + ld [$ff8a], a + ld a, Bank(Func_8588) + ld hl, Func_8588 + call BankSwitch + call Func_30e8 + call Func_30db + ld hl, $d5cc + ld a, [wCurrentEvolutionType] + cp EVO_EXPERIENCE + ld de, $2b7b + jr z, .asm_21057 + ld de, $2b93 .asm_21057 - call Func_32aa - scf - ret + call Func_32aa + scf + ret Func_2105c: ; 0x2105c - ld a, [$d551] - and a - jr z, .asm_21077 - ld a, [wIndicatorStates + 1] - and a - jr z, .asm_21077 - ld bc, $34d0 - ld [$ff8a], a - ld a, $2 - ld hl, $4588 - call BankSwitch - jr asm_210c7 + ld a, [$d551] + and a + jr z, .asm_21077 + ld a, [wIndicatorStates + 1] + and a + jr z, .asm_21077 + ld bc, $34d0 + ld [$ff8a], a + ld a, $2 + ld hl, $4588 + call BankSwitch + jr asm_210c7 .asm_21077 - scf - ret + scf + ret Func_21079: ; 0x21079 - ld a, [$d551] - and a - jr z, .asm_21087 - ld a, [wIndicatorStates + 1] - and a - jr z, .asm_21087 - jr asm_210c7 + ld a, [$d551] + and a + jr z, .asm_21087 + ld a, [wIndicatorStates + 1] + and a + jr z, .asm_21087 + jr asm_210c7 .asm_21087 - scf - ret + scf + ret Func_21089: ; 0x21089 - ld a, [$d551] - and a - jr nz, .asm_210aa - ld a, [wIndicatorStates] - and a - jr z, .asm_210a8 - xor a - ld [wIndicatorStates], a - ld a, [$d563] - and a - ld a, $0 - ld [$d563], a - jp nz, Func_20f75 - jp Func_20fef + ld a, [$d551] + and a + jr nz, .asm_210aa + ld a, [wIndicatorStates] + and a + jr z, .asm_210a8 + xor a + ld [wIndicatorStates], a + ld a, [$d563] + and a + ld a, $0 + ld [$d563], a + jp nz, Func_20f75 + jp Func_20fef .asm_210a8 - scf - ret + scf + ret .asm_210aa - ld a, [$d551] - and a - jr z, .asm_210c5 - ld a, [wIndicatorStates] - and a - jr z, .asm_210c5 - ld bc, $34d0 - ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch - jr asm_210c7 + ld a, [$d551] + and a + jr z, .asm_210c5 + ld a, [wIndicatorStates] + and a + jr z, .asm_210c5 + ld bc, $34d0 + ld [$ff8a], a + ld a, Bank(Func_8588) + ld hl, Func_8588 + call BankSwitch + jr asm_210c7 .asm_210c5 - scf - ret + scf + ret asm_210c7: - xor a - ld [wIndicatorStates + 1], a - ld [$d551], a - ld a, [$d558] - ld [wIndicatorStates], a - ld a, [$d559] - ld [wIndicatorStates + 3], a - ld a, [$d63f] - ld [wIndicatorStates + 2], a - ld a, [wCurrentStage] - bit 0, a - ld [$ff8a], a - ld a, Bank(Func_1c2cb) - ld hl, Func_1c2cb - call nz, BankSwitch - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_21102 - ld a, $37 - ld hl, $4bf0 - ld de, $0070 - ld bc, $0008 - call Func_7dc + xor a + ld [wIndicatorStates + 1], a + ld [$d551], a + ld a, [$d558] + ld [wIndicatorStates], a + ld a, [$d559] + ld [wIndicatorStates + 3], a + ld a, [$d63f] + ld [wIndicatorStates + 2], a + ld a, [wCurrentStage] + bit 0, a + ld [$ff8a], a + ld a, Bank(Func_1c2cb) + ld hl, Func_1c2cb + call nz, BankSwitch + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_21102 + ld a, $37 + ld hl, $4bf0 + ld de, $0070 + ld bc, $0008 + call Func_7dc .asm_21102 - call Func_30e8 - call Func_30db - ld a, [wCurrentEvolutionType] - cp EVO_EXPERIENCE - ld de, $2ba9 - jr z, .asm_21115 - ld de, $2bc2 + call Func_30e8 + call Func_30db + ld a, [wCurrentEvolutionType] + cp EVO_EXPERIENCE + ld de, $2ba9 + jr z, .asm_21115 + ld de, $2bc2 .asm_21115 - ld hl, $d5cc - call Func_32aa - scf - ret + ld hl, $d5cc + call Func_32aa + scf + ret Func_2111d: ; 0x2111d - ld a, $11 - call Func_a21 - ld c, a - ld b, $0 - ld hl, $d566 - add hl, bc - ret + ld a, $11 + call Func_a21 + ld c, a + ld b, $0 + ld hl, $d566 + add hl, bc + ret Func_2112a: ; 0x2112a - ld a, [wCurrentEvolutionMon] - cp $ff - jr nz, .asm_21134 - ld a, [wCurrentCatchEmMon] + ld a, [wCurrentEvolutionMon] + cp $ff + jr nz, .asm_21134 + ld a, [wCurrentCatchEmMon] .asm_21134 - ld c, a - ld b, $0 - sla c - rl b - add c - ld c, a - jr nc, .asm_21140 - inc b + ld c, a + ld b, $0 + sla c + rl b + add c + ld c, a + jr nc, .asm_21140 + inc b .asm_21140 - push bc - ld hl, MonBillboardPicPointers - add hl, bc - ld a, Bank(MonBillboardPicPointers) - call ReadByteFromBank - inc hl - ld c, a - ld a, Bank(MonBillboardPicPointers) - call ReadByteFromBank - inc hl - ld b, a - ld a, Bank(MonBillboardPicPointers) - call ReadByteFromBank - ld h, b - ld l, c - ld de, $8900 - ld bc, $0180 - call Func_735 - pop bc - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_211a8 - push bc - ld hl, MonBillboardPaletteMapPointers - add hl, bc - ld a, Bank(MonBillboardPaletteMapPointers) - call ReadByteFromBank - inc hl - ld e, a - ld a, Bank(MonBillboardPaletteMapPointers) - call ReadByteFromBank - inc hl - ld d, a - ld a, Bank(MonBillboardPaletteMapPointers) - call ReadByteFromBank - ld hl, $9887 - call Func_86f - pop bc - ld hl, MonBillboardPalettePointers - add hl, bc - ld a, Bank(MonBillboardPalettePointers) - call ReadByteFromBank - inc hl - ld e, a - ld a, Bank(MonBillboardPalettePointers) - call ReadByteFromBank - inc hl - ld d, a - ld a, Bank(MonBillboardPalettePointers) - call ReadByteFromBank - ld bc, $10b0 - ld hl, $ff68 - call Func_8e1 + push bc + ld hl, MonBillboardPicPointers + add hl, bc + ld a, Bank(MonBillboardPicPointers) + call ReadByteFromBank + inc hl + ld c, a + ld a, Bank(MonBillboardPicPointers) + call ReadByteFromBank + inc hl + ld b, a + ld a, Bank(MonBillboardPicPointers) + call ReadByteFromBank + ld h, b + ld l, c + ld de, $8900 + ld bc, $0180 + call Func_735 + pop bc + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_211a8 + push bc + ld hl, MonBillboardPaletteMapPointers + add hl, bc + ld a, Bank(MonBillboardPaletteMapPointers) + call ReadByteFromBank + inc hl + ld e, a + ld a, Bank(MonBillboardPaletteMapPointers) + call ReadByteFromBank + inc hl + ld d, a + ld a, Bank(MonBillboardPaletteMapPointers) + call ReadByteFromBank + ld hl, $9887 + call Func_86f + pop bc + ld hl, MonBillboardPalettePointers + add hl, bc + ld a, Bank(MonBillboardPalettePointers) + call ReadByteFromBank + inc hl + ld e, a + ld a, Bank(MonBillboardPalettePointers) + call ReadByteFromBank + inc hl + ld d, a + ld a, Bank(MonBillboardPalettePointers) + call ReadByteFromBank + ld bc, $10b0 + ld hl, rBGPI + call Func_8e1 .asm_211a8 - ld [$ff8a], a - ld a, Bank(Func_10e0a) - ld hl, Func_10e0a - call BankSwitch - call Func_3475 - ld de, $0000 - call PlaySong - rst $10 - ld de, $2d26 - call PlaySoundEffect - ld [$ff8a], a - ld a, Bank(Func_10825) - ld hl, Func_10825 - call BankSwitch - call Func_3475 - ld a, $1 - ld [$d54d], a - scf - ret - -INCBIN "baserom.gbc",$211d6,$24000 - $211d6 + ld [$ff8a], a + ld a, Bank(Func_10e0a) + ld hl, Func_10e0a + call BankSwitch + call Func_3475 + ld de, $0000 + call PlaySong + rst $10 + ld de, $2d26 + call PlaySoundEffect + ld [$ff8a], a + ld a, Bank(Func_10825) + ld hl, Func_10825 + call BankSwitch + call Func_3475 + ld a, $1 + ld [$d54d], a + scf + ret + + dr $211d6, $24000 SECTION "bank9", ROMX, BANK[$9] InitMeowthBonusStage: ; 0x24000 - ld a, [$d7c1] - and a - ret nz - xor a - ld [$d4c8], a - ld [wStageCollisionState], a - ld a, [wBallType] - ld [wBallTypeBackup], a - xor a - ld [$d4c8], a - ld [wBallType], a - ld [$d49a], a - ld a, $1 - ld [$d7ac], a - ld a, $40 - ld [wMeowthXPosition], a - ld a, $20 - ld [wMeowthYPosition], a - ld a, $10 - ld [wMeowthAnimationFrameCounter], a - xor a - ld [wMeowthStageScore], a - ld [$d70b], a - ld [wMeowthStageBonusCounter], a - ld [$d713], a - ld [$d739], a - ld bc, $0100 ; 1 minute 0 seconds - ld [$ff8a], a - ld a, Bank(StartTimer) - ld hl, StartTimer - call BankSwitch - ld a, $12 - call SetSongBank - ld de, $0004 - call PlaySong - ret + ld a, [$d7c1] + and a + ret nz + xor a + ld [$d4c8], a + ld [wStageCollisionState], a + ld a, [wBallType] + ld [wBallTypeBackup], a + xor a + ld [$d4c8], a + ld [wBallType], a + ld [$d49a], a + ld a, $1 + ld [$d7ac], a + ld a, $40 + ld [wMeowthXPosition], a + ld a, $20 + ld [wMeowthYPosition], a + ld a, $10 + ld [wMeowthAnimationFrameCounter], a + xor a + ld [wMeowthStageScore], a + ld [$d70b], a + ld [wMeowthStageBonusCounter], a + ld [$d713], a + ld [$d739], a + ld bc, $0100 ; 1 minute 0 seconds + ld [$ff8a], a + ld a, Bank(StartTimer) + ld hl, StartTimer + call BankSwitch + ld a, $12 + call SetSongBank + ld de, $0004 + call PlaySong + ret StartBallMeowthBonusStage: ; 0x24059 - ld a, $0 - ld [wBallXPos], a - ld a, $a6 - ld [wBallXPos + 1], a - ld a, $0 - ld [wBallYPos], a - ld a, $56 - ld [wBallYPos + 1], a - ld a, $40 - ld [wBallXVelocity], a - xor a - ld [$d7ab], a - ld [wStageCollisionState], a - ld [$d6e6], a - ld hl, $d6f3 - ld b, $16 + ld a, $0 + ld [wBallXPos], a + ld a, $a6 + ld [wBallXPos + 1], a + ld a, $0 + ld [wBallYPos], a + ld a, $56 + ld [wBallYPos + 1], a + ld a, $40 + ld [wBallXVelocity], a + xor a + ld [$d7ab], a + ld [wStageCollisionState], a + ld [$d6e6], a + ld hl, $d6f3 + ld b, $16 .asm_24081 - ld a, [hl] - and a - jr z, .asm_24088 - ld a, $1 - ld [hl], a + ld a, [hl] + and a + jr z, .asm_24088 + ld a, $1 + ld [hl], a .asm_24088 - inc hl - dec b - jr nz, .asm_24081 - ld a, $1 - ld [$d7ac], a - ld a, $40 - ld [wMeowthXPosition], a - ld a, $20 - ld [wMeowthYPosition], a - ld a, $10 - ld [wMeowthAnimationFrameCounter], a - ld a, $ff ; walk left - ld [wMeowthXMovement], a - xor a - ld [wMeowthAnimationFrame], a - ld [$d6ec], a - ld [wMeowthAnimationFrameIndex], a - ld [$d70b], a - ld [$d70c], a - ld a, $c8 - ld [$d71a], a - ld [$d727], a - ld [$d71b], a - ld [$d728], a - ld [$d71c], a - ld [$d729], a - ld [$d724], a - ld [$d731], a - ld [$d725], a - ld [$d732], a - ld [$d726], a - ld [$d733], a - xor a - ld [$d717], a - ld [$d718], a - ld [$d719], a - ld [$d721], a - ld [$d722], a - ld [$d723], a - ld [$d714], a - ld [$d715], a - ld [$d716], a - ld [$d71e], a - ld [$d71f], a - ld [$d720], a - ld [$d64e], a - ld [$d64f], a - ld [$d650], a - ld [$d651], a - ld [$d795], a - ld [$d796], a - ld [$d797], a - ld [$d798], a - ld [$d799], a - ld [$d79a], a - ld a, [$d4c9] - and a - ret z - xor a - ld [$d4c9], a - ret + inc hl + dec b + jr nz, .asm_24081 + ld a, $1 + ld [$d7ac], a + ld a, $40 + ld [wMeowthXPosition], a + ld a, $20 + ld [wMeowthYPosition], a + ld a, $10 + ld [wMeowthAnimationFrameCounter], a + ld a, $ff ; walk left + ld [wMeowthXMovement], a + xor a + ld [wMeowthAnimationFrame], a + ld [$d6ec], a + ld [wMeowthAnimationFrameIndex], a + ld [$d70b], a + ld [$d70c], a + ld a, $c8 + ld [$d71a], a + ld [$d727], a + ld [$d71b], a + ld [$d728], a + ld [$d71c], a + ld [$d729], a + ld [$d724], a + ld [$d731], a + ld [$d725], a + ld [$d732], a + ld [$d726], a + ld [$d733], a + xor a + ld [$d717], a + ld [$d718], a + ld [$d719], a + ld [$d721], a + ld [$d722], a + ld [$d723], a + ld [$d714], a + ld [$d715], a + ld [$d716], a + ld [$d71e], a + ld [$d71f], a + ld [$d720], a + ld [$d64e], a + ld [$d64f], a + ld [$d650], a + ld [$d651], a + ld [$d795], a + ld [$d796], a + ld [$d797], a + ld [$d798], a + ld [$d799], a + ld [$d79a], a + ld a, [$d4c9] + and a + ret z + xor a + ld [$d4c9], a + ret Func_24128: ; 0x24128 - ld [$ff8a], a - ld a, Bank(Func_142fc) - ld hl, Func_142fc - call BankSwitch - call Func_2862 - ld [$ff8a], a - ld a, Bank(Func_24fa3) - ld hl, Func_24fa3 - call BankSwitch - call Func_24516 - ld [$ff8a], a - ld a, Bank(Func_1404a) - ld hl, Func_1404a - call BankSwitch - ret + ld [$ff8a], a + ld a, Bank(Func_142fc) + ld hl, Func_142fc + call BankSwitch + call Func_2862 + ld [$ff8a], a + ld a, Bank(Func_24fa3) + ld hl, Func_24fa3 + call BankSwitch + call Func_24516 + ld [$ff8a], a + ld a, Bank(Func_1404a) + ld hl, Func_1404a + call BankSwitch + ret Func_2414d: ; 0x2414d - call Func_24157 - call Func_24214 - call Func_242bb - ret + call Func_24157 + call Func_24214 + call Func_242bb + ret Func_24157: ; 0x24157 - ld a, [$d6e7] - cp $0 - ret nz - ld a, [wMeowthXPosition] - add $f7 - ld b, a - ld a, [wMeowthYPosition] - add $6 - ld c, a - call Func_24170 - ld a, $3 - ret nc - ret + ld a, [$d6e7] + cp $0 + ret nz + ld a, [wMeowthXPosition] + add $f7 + ld b, a + ld a, [wMeowthYPosition] + add $6 + ld c, a + call Func_24170 + ld a, $3 + ret nc + ret Func_24170: ; 0x24170 - ld a, [wBallXPos + 1] - sub b - cp $30 - jp nc, .asm_24212 - ld b, a - ld a, [wBallYPos + 1] - sub c - cp $28 - jp nc, .asm_24212 - ld c, a - ld e, c - ld d, $0 - sla e - rl d - sla e - rl d - sla e - rl d - ld h, d - ld l, e - sla e - rl d - add hl, de - ld d, h - ld e, l - sla e - rl d - ld l, b - ld h, $0 - add hl, de - ld de, $5500 - add hl, de - ld a, $3a - call ReadByteFromBank - bit 7, a - jr nz, .asm_24212 - sla a - ld [$d7ea], a - ld a, $1 - ld [$d7e9], a - ld a, [$d6ec] - cp $2 - ret z - cp $3 - ret z - ld a, [$d713] - and a - ret nz - ld a, [wMeowthYMovement] - and a - jr z, .asm_241ed - ld a, [wMeowthYMovement] - cp $1 - jr nz, .asm_241df - ld a, [$d70b] - cp $3 - jr z, .asm_241eb - jr .asm_241e6 + ld a, [wBallXPos + 1] + sub b + cp $30 + jp nc, .asm_24212 + ld b, a + ld a, [wBallYPos + 1] + sub c + cp $28 + jp nc, .asm_24212 + ld c, a + ld e, c + ld d, $0 + sla e + rl d + sla e + rl d + sla e + rl d + ld h, d + ld l, e + sla e + rl d + add hl, de + ld d, h + ld e, l + sla e + rl d + ld l, b + ld h, $0 + add hl, de + ld de, $5500 + add hl, de + ld a, $3a + call ReadByteFromBank + bit 7, a + jr nz, .asm_24212 + sla a + ld [$d7ea], a + ld a, $1 + ld [$d7e9], a + ld a, [$d6ec] + cp $2 + ret z + cp $3 + ret z + ld a, [$d713] + and a + ret nz + ld a, [wMeowthYMovement] + and a + jr z, .asm_241ed + ld a, [wMeowthYMovement] + cp $1 + jr nz, .asm_241df + ld a, [$d70b] + cp $3 + jr z, .asm_241eb + jr .asm_241e6 .asm_241df - ld a, [$d70c] - cp $3 - jr z, .asm_241eb + ld a, [$d70c] + cp $3 + jr z, .asm_241eb .asm_241e6 - ld a, $2 - ld [$d6e7], a + ld a, $2 + ld [$d6e7], a .asm_241eb - scf - ret + scf + ret .asm_241ed - ld a, [wMeowthYPosition] - cp $20 - jr nz, .asm_241fd - ld a, [$d70b] - cp $3 - jr z, .asm_24210 - jr .asm_2420b + ld a, [wMeowthYPosition] + cp $20 + jr nz, .asm_241fd + ld a, [$d70b] + cp $3 + jr z, .asm_24210 + jr .asm_2420b .asm_241fd - ld a, [wMeowthYPosition] - cp $10 - jr nz, .asm_24210 - ld a, [$d70c] - cp $3 - jr z, .asm_24210 + ld a, [wMeowthYPosition] + cp $10 + jr nz, .asm_24210 + ld a, [$d70c] + cp $3 + jr z, .asm_24210 .asm_2420b - ld a, $1 - ld [$d6e7], a + ld a, $1 + ld [$d6e7], a .asm_24210 - scf - ret + scf + ret .asm_24212 - and a - ret + and a + ret Func_24214: ; 0x24214 - ld a, [$d717] - cp $2 - jr nz, .asm_2422e - ld a, [$d71a] - sub $4 - ld b, a - ld a, [$d727] - add $c - ld c, a - call Func_24272 - ld a, $0 - jr c, .asm_24260 + ld a, [$d717] + cp $2 + jr nz, .asm_2422e + ld a, [$d71a] + sub $4 + ld b, a + ld a, [$d727] + add $c + ld c, a + call Func_24272 + ld a, $0 + jr c, .asm_24260 .asm_2422e - ld a, [$d718] - cp $2 - jr nz, .asm_24248 - ld a, [$d71b] - sub $4 - ld b, a - ld a, [$d728] - add $c - ld c, a - call Func_24272 - ld a, $1 - jr c, .asm_24260 + ld a, [$d718] + cp $2 + jr nz, .asm_24248 + ld a, [$d71b] + sub $4 + ld b, a + ld a, [$d728] + add $c + ld c, a + call Func_24272 + ld a, $1 + jr c, .asm_24260 .asm_24248 - ld a, [$d719] - cp $2 - ret nz - ld a, [$d71c] - sub $4 - ld b, a - ld a, [$d729] - add $c - ld c, a - call Func_24272 - ld a, $2 - ret nc + ld a, [$d719] + cp $2 + ret nz + ld a, [$d71c] + sub $4 + ld b, a + ld a, [$d729] + add $c + ld c, a + call Func_24272 + ld a, $2 + ret nc .asm_24260 - ld b, $0 - ld c, a - ld hl, $d717 - add hl, bc - ld a, $3 - ld [hl], a - ld hl, $d714 - add hl, bc - ld a, $0 - ld [hl], a - ret + ld b, $0 + ld c, a + ld hl, $d717 + add hl, bc + ld a, $3 + ld [hl], a + ld hl, $d714 + add hl, bc + ld a, $0 + ld [hl], a + ret Func_24272: ; 0x24272 - ld a, [wBallXPos + 1] - sub b - cp $18 - jr nc, .asm_242b9 - ld b, a - ld a, [wBallYPos + 1] - sub c - cp $18 - jr nc, .asm_242b9 - ld c, a - ld e, c - ld d, $0 - sla e - rl d - sla e - rl d - sla e - rl d - ld h, d - ld l, e - sla e - rl d - add hl, de - ld d, h - ld e, l - ld l, b - ld h, $0 - add hl, de - ld de, $5c80 ; todo - add hl, de - ld a, $3a - call ReadByteFromBank - bit 7, a - jr nz, .asm_242b9 - sla a - ld [$d7ea], a - ld a, $1 - ld [$d7e9], a - scf - ret + ld a, [wBallXPos + 1] + sub b + cp $18 + jr nc, .asm_242b9 + ld b, a + ld a, [wBallYPos + 1] + sub c + cp $18 + jr nc, .asm_242b9 + ld c, a + ld e, c + ld d, $0 + sla e + rl d + sla e + rl d + sla e + rl d + ld h, d + ld l, e + sla e + rl d + add hl, de + ld d, h + ld e, l + ld l, b + ld h, $0 + add hl, de + ld de, $5c80 ; todo + add hl, de + ld a, $3a + call ReadByteFromBank + bit 7, a + jr nz, .asm_242b9 + sla a + ld [$d7ea], a + ld a, $1 + ld [$d7e9], a + scf + ret .asm_242b9 - and a - ret + and a + ret Func_242bb: ; 0x242bb - ld a, [$d721] - cp $2 - jr nz, .asm_242d5 - ld a, [$d724] - sub $4 - ld b, a - ld a, [$d731] - add $c - ld c, a - call Func_24272 - ld a, $0 - jr c, .asm_24307 + ld a, [$d721] + cp $2 + jr nz, .asm_242d5 + ld a, [$d724] + sub $4 + ld b, a + ld a, [$d731] + add $c + ld c, a + call Func_24272 + ld a, $0 + jr c, .asm_24307 .asm_242d5 - ld a, [$d722] - cp $2 - jr nz, .asm_242ef - ld a, [$d725] - sub $4 - ld b, a - ld a, [$d732] - add $c - ld c, a - call Func_24272 - ld a, $1 - jr c, .asm_24307 + ld a, [$d722] + cp $2 + jr nz, .asm_242ef + ld a, [$d725] + sub $4 + ld b, a + ld a, [$d732] + add $c + ld c, a + call Func_24272 + ld a, $1 + jr c, .asm_24307 .asm_242ef - ld a, [$d723] - cp $2 - ret nz - ld a, [$d726] - sub $4 - ld b, a - ld a, [$d733] - add $c - ld c, a - call Func_24272 - ld a, $2 - ret nc + ld a, [$d723] + cp $2 + ret nz + ld a, [$d726] + sub $4 + ld b, a + ld a, [$d733] + add $c + ld c, a + call Func_24272 + ld a, $2 + ret nc .asm_24307 - ld b, $0 - ld c, a - ld hl, $d721 - add hl, bc - ld a, $3 - ld [hl], a - ld hl, $d71e - add hl, bc - ld a, $0 - ld [hl], a - ret + ld b, $0 + ld c, a + ld hl, $d721 + add hl, bc + ld a, $3 + ld [hl], a + ld hl, $d71e + add hl, bc + ld a, $0 + ld [hl], a + ret Func_24319: ; 0x2438f - ld a, [$d6f4] - cp $0 - jr z, .asm_24333 - ld a, [$d71a] - sub $4 - ld b, a - ld a, [$d727] - add $4 - ld c, a - call Func_24405 - ld a, $0 - jr c, .asm_24373 + ld a, [$d6f4] + cp $0 + jr z, .asm_24333 + ld a, [$d71a] + sub $4 + ld b, a + ld a, [$d727] + add $4 + ld c, a + call Func_24405 + ld a, $0 + jr c, .asm_24373 .asm_24333 - ld a, [$d6f4] - cp $1 - jr z, .asm_2434d - ld a, [$d71b] - sub $4 - ld b, a - ld a, [$d728] - add $4 - ld c, a - call Func_24405 - ld a, $1 - jr c, .asm_24373 + ld a, [$d6f4] + cp $1 + jr z, .asm_2434d + ld a, [$d71b] + sub $4 + ld b, a + ld a, [$d728] + add $4 + ld c, a + call Func_24405 + ld a, $1 + jr c, .asm_24373 .asm_2434d - ld a, [$d6f4] - cp $2 - ret z - ld a, [$d71c] - sub $4 - ld b, a - ld a, [$d729] - add $4 - ld c, a - call Func_24405 - ld a, $2 - jr c, .asm_24373 - ld a, [$d6f4] - ld b, $0 - ld c, a - ld hl, $d6f8 - add hl, bc - ld [hl], $0 - ret + ld a, [$d6f4] + cp $2 + ret z + ld a, [$d71c] + sub $4 + ld b, a + ld a, [$d729] + add $4 + ld c, a + call Func_24405 + ld a, $2 + jr c, .asm_24373 + ld a, [$d6f4] + ld b, $0 + ld c, a + ld hl, $d6f8 + add hl, bc + ld [hl], $0 + ret .asm_24373 - ld a, [$d6f4] - ld b, $0 - ld c, a - ld hl, $d6f8 - add hl, bc - inc [hl] - ld d, $4 - ld a, [$d6f4] - add d - ld d, a - ld a, [hl] - cp d - ret nc - ld hl, $d6f5 - add hl, bc - ld [hl], $0 - ret + ld a, [$d6f4] + ld b, $0 + ld c, a + ld hl, $d6f8 + add hl, bc + inc [hl] + ld d, $4 + ld a, [$d6f4] + add d + ld d, a + ld a, [hl] + cp d + ret nc + ld hl, $d6f5 + add hl, bc + ld [hl], $0 + ret Func_2438f: ; 0x2438f - ld a, [$d6f4] - cp $a - jr z, .asm_243a9 - ld a, [$d724] - sub $4 - ld b, a - ld a, [$d731] - add $4 - ld c, a - call Func_24405 - ld a, $a - jr c, .asm_243e9 + ld a, [$d6f4] + cp $a + jr z, .asm_243a9 + ld a, [$d724] + sub $4 + ld b, a + ld a, [$d731] + add $4 + ld c, a + call Func_24405 + ld a, $a + jr c, .asm_243e9 .asm_243a9 - ld a, [$d6f4] - cp $b - jr z, .asm_243c3 - ld a, [$d725] - sub $4 - ld b, a - ld a, [$d732] - add $4 - ld c, a - call Func_24405 - ld a, $b - jr c, .asm_243e9 + ld a, [$d6f4] + cp $b + jr z, .asm_243c3 + ld a, [$d725] + sub $4 + ld b, a + ld a, [$d732] + add $4 + ld c, a + call Func_24405 + ld a, $b + jr c, .asm_243e9 .asm_243c3 - ld a, [$d6f4] - cp $c - ret z - ld a, [$d726] - sub $4 - ld b, a - ld a, [$d733] - add $4 - ld c, a - call Func_24405 - ld a, $c - jr c, .asm_243e9 - ld a, [$d6f4] - ld b, $0 - ld c, a - ld hl, $d6f8 - add hl, bc - ld [hl], $0 - ret + ld a, [$d6f4] + cp $c + ret z + ld a, [$d726] + sub $4 + ld b, a + ld a, [$d733] + add $4 + ld c, a + call Func_24405 + ld a, $c + jr c, .asm_243e9 + ld a, [$d6f4] + ld b, $0 + ld c, a + ld hl, $d6f8 + add hl, bc + ld [hl], $0 + ret .asm_243e9 - ld a, [$d6f4] - ld b, $0 - ld c, a - ld hl, $d6f8 - add hl, bc - inc [hl] - ld d, $4 - ld a, [$d6f4] - add d - ld d, a - ld a, [hl] - cp d - ret nc - ld hl, $d6f5 - add hl, bc - ld [hl], $0 - ret + ld a, [$d6f4] + ld b, $0 + ld c, a + ld hl, $d6f8 + add hl, bc + inc [hl] + ld d, $4 + ld a, [$d6f4] + add d + ld d, a + ld a, [hl] + cp d + ret nc + ld hl, $d6f5 + add hl, bc + ld [hl], $0 + ret Func_24405: ; 0x24405 - ld hl, $d71a - ld a, [$d6f4] - ld e, a - ld d, $0 - add hl, de - ld a, [hl] - add $8 - sub b - cp $18 - jr nc, .asm_24428 - ld b, a - ld hl, $d727 - add hl, de - ld a, [hl] - add $8 - sub c - cp $18 - jr nc, .asm_24428 - ld c, a - ld d, b - scf - ret + ld hl, $d71a + ld a, [$d6f4] + ld e, a + ld d, $0 + add hl, de + ld a, [hl] + add $8 + sub b + cp $18 + jr nc, .asm_24428 + ld b, a + ld hl, $d727 + add hl, de + ld a, [hl] + add $8 + sub c + cp $18 + jr nc, .asm_24428 + ld c, a + ld d, b + scf + ret .asm_24428 - and a - ret - -INCBIN "baserom.gbc",$2442a,$2442a - $2442a + and a + ret Func_2442a: ; 0x2442a - ld a, [$d710] - jr nz, .asm_2443f - ld a, [wMeowthStageBonusCounter] - dec a - dec a - cp $fe - jr z, .asm_24447 - cp $ff - jr z, .asm_24447 - ld [$d79a], a + ld a, [$d710] + jr nz, .asm_2443f + ld a, [wMeowthStageBonusCounter] + dec a + dec a + cp $fe + jr z, .asm_24447 + cp $ff + jr z, .asm_24447 + ld [$d79a], a .asm_2443f - ld de, $d79a - call Func_24f00 - jr .asm_2444b + ld de, $d79a + call Func_24f00 + jr .asm_2444b .asm_24447 - xor a - ld [$d79a], a + xor a + ld [$d79a], a .asm_2444b - call Func_244f5 - call Func_245ab - call Func_248ac - call Func_24d07 - ld a, [wMeowthStageScore] - cp $14 - jr c, .asm_24498 - ld a, [$d712] - cp $2 - jr nc, .asm_24498 - ld a, [$d498] - cp $4 - ret z - ld a, $4 - ld [$d712], a - ld [$d498], a - ld a, $96 - ld [$d739], a - ld de, $0000 - call PlaySong - ld a, $1 - ld [$d49a], a - call Func_30e8 - call Func_30db - ld hl, $d5dc - ld de, $2fd0 - call Func_32aa - ld de, $4b2a - call PlaySoundEffect + call Func_244f5 + call Func_245ab + call Func_248ac + call Func_24d07 + ld a, [wMeowthStageScore] + cp $14 + jr c, .asm_24498 + ld a, [$d712] + cp $2 + jr nc, .asm_24498 + ld a, [$d498] + cp $4 + ret z + ld a, $4 + ld [$d712], a + ld [$d498], a + ld a, $96 + ld [$d739], a + ld de, $0000 + call PlaySong + ld a, $1 + ld [$d49a], a + call Func_30e8 + call Func_30db + ld hl, $d5dc + ld de, $2fd0 + call Func_32aa + ld de, $4b2a + call PlaySoundEffect .asm_24498 - ld a, [$d712] - cp $4 - jr nz, .asm_244b0 - ld a, [$d800] - and a - jr nz, .asm_244b0 - ld de, $0004 - call PlaySong - ld a, $5 - ld [$d712], a + ld a, [$d712] + cp $4 + jr nz, .asm_244b0 + ld a, [$d800] + and a + jr nz, .asm_244b0 + ld de, $0004 + call PlaySong + ld a, $5 + ld [$d712], a .asm_244b0 - ld a, [$d712] - cp $4 - jr z, .asm_244c1 - ld [$ff8a], a - ld a, Bank(Func_107f8) - ld hl, Func_107f8 - call BankSwitch + ld a, [$d712] + cp $4 + jr z, .asm_244c1 + ld [$ff8a], a + ld a, Bank(Func_107f8) + ld hl, Func_107f8 + call BankSwitch .asm_244c1 - ld a, [$d57e] - and a - ret z - xor a - ld [$d57e], a - ld a, $1 - ld [$d7be], a - call Func_2862 - ld [$ff8a], a - ld a, Bank(Func_86d2) - ld hl, Func_86d2 - call BankSwitch - ld a, $1 - ld [$d713], a - ld a, $1 - ld [$d712], a - ld hl, $4704 - ld de, wMeowthAnimationFrameCounter - call CopyHLToDE - ld a, $4 - ld [$d6ec], a - ret + ld a, [$d57e] + and a + ret z + xor a + ld [$d57e], a + ld a, $1 + ld [$d7be], a + call Func_2862 + ld [$ff8a], a + ld a, Bank(Func_86d2) + ld hl, Func_86d2 + call BankSwitch + ld a, $1 + ld [$d713], a + ld a, $1 + ld [$d712], a + ld hl, $4704 + ld de, wMeowthAnimationFrameCounter + call CopyHLToDE + ld a, $4 + ld [$d6ec], a + ret Func_244f5: ; 0x244f5 - ld a, [$d6e6] - and a - ret nz - ld a, [$d4b4] - cp $8a - ret nc - ld a, $1 - ld [wStageCollisionState], a - ld [$d6e6], a - ld [$ff8a], a - ld a, Bank(LoadStageCollisionAttributes) - ld hl, LoadStageCollisionAttributes - call BankSwitch - call Func_24516 - ret + ld a, [$d6e6] + and a + ret nz + ld a, [$d4b4] + cp $8a + ret nc + ld a, $1 + ld [wStageCollisionState], a + ld [$d6e6], a + ld [$ff8a], a + ld a, Bank(LoadStageCollisionAttributes) + ld hl, LoadStageCollisionAttributes + call BankSwitch + call Func_24516 + ret Func_24516: ; 0x24516 - ld a, [wStageCollisionState] - sla a - ld c, a - ld b, $0 - ld hl, $4533 - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_24529 - ld hl, $456f + ld a, [wStageCollisionState] + sla a + ld c, a + ld b, $0 + ld hl, $4533 + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_24529 + ld hl, $456f .asm_24529 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld a, $9 - call Func_10aa - ret + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld a, $9 + call Func_10aa + ret -INCBIN "baserom.gbc",$24533,$245ab - $24533 + dr $24533, $245ab Func_245ab: ; 0x245ab - ld a, [$d6e7] - and a - jr z, .asm_24621 - cp $2 - jr z, .asm_24621 - ld a, $1 - ld [$d6f3], a - ld a, [wMeowthYPosition] - cp $20 - jr z, .asm_245c7 - cp $10 - jr z, .asm_245cc - jr .asm_245cf + ld a, [$d6e7] + and a + jr z, .asm_24621 + cp $2 + jr z, .asm_24621 + ld a, $1 + ld [$d6f3], a + ld a, [wMeowthYPosition] + cp $20 + jr z, .asm_245c7 + cp $10 + jr z, .asm_245cc + jr .asm_245cf .asm_245c7 - call Func_247d9 - jr .asm_245cf + call Func_247d9 + jr .asm_245cf .asm_245cc - call Func_24c28 + call Func_24c28 .asm_245cf - xor a - ld [$d6e7], a - ld [$d6f3], a - ld a, $ff - ld [$d803], a - ld a, $3 - ld [$d804], a - ld de, $0033 - call PlaySoundEffect - ld bc, $34c4 - ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch - xor a - ld [wMeowthStageBonusCounter], a - ld a, [$d6ec] - cp $2 - jr nc, .asm_24621 - and a - jr nz, .asm_24611 - ld hl, $46fe - ld de, wMeowthAnimationFrameCounter - call CopyHLToDE - ld a, $2 - ld [$d6ec], a - jr .asm_24651 + xor a + ld [$d6e7], a + ld [$d6f3], a + ld a, $ff + ld [$d803], a + ld a, $3 + ld [$d804], a + ld de, $0033 + call PlaySoundEffect + ld bc, $34c4 + ld [$ff8a], a + ld a, Bank(Func_8576) + ld hl, Func_8576 + call BankSwitch + xor a + ld [wMeowthStageBonusCounter], a + ld a, [$d6ec] + cp $2 + jr nc, .asm_24621 + and a + jr nz, .asm_24611 + ld hl, $46fe + ld de, wMeowthAnimationFrameCounter + call CopyHLToDE + ld a, $2 + ld [$d6ec], a + jr .asm_24651 .asm_24611 - ld hl, $4701 - ld de, wMeowthAnimationFrameCounter - call CopyHLToDE - ld a, $3 - ld [$d6ec], a - jr .asm_24651 + ld hl, $4701 + ld de, wMeowthAnimationFrameCounter + call CopyHLToDE + ld a, $3 + ld [$d6ec], a + jr .asm_24651 .asm_24621 - ld a, [$d713] - and a - jr z, .asm_2462e - ld a, $4 - ld [$d6ec], a - jr .asm_24651 + ld a, [$d713] + and a + jr z, .asm_2462e + ld a, $4 + ld [$d6ec], a + jr .asm_24651 .asm_2462e - ld a, [$d6ec] - cp $2 - jr nc, .asm_24651 - ld a, [$d70b] - cp $3 - jr nz, .asm_24651 - ld a, [$d70c] - cp $3 - jr nz, .asm_24651 - ld hl, $4704 - ld de, wMeowthAnimationFrameCounter - call CopyHLToDE - ld a, $4 - ld [$d6ec], a + ld a, [$d6ec] + cp $2 + jr nc, .asm_24651 + ld a, [$d70b] + cp $3 + jr nz, .asm_24651 + ld a, [$d70c] + cp $3 + jr nz, .asm_24651 + ld hl, $4704 + ld de, wMeowthAnimationFrameCounter + call CopyHLToDE + ld a, $4 + ld [$d6ec], a .asm_24651 - ld a, [$d6ec] - cp $2 - call c, Func_24709 - call Func_2465d - ret + ld a, [$d6ec] + cp $2 + call c, Func_24709 + call Func_2465d + ret Func_2465d: ; 0x2465d - ld a, [$d6ec] - sla a - ld c, a - ld b, $0 - ld hl, $46e2 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld de, wMeowthAnimationFrameCounter - call UpdateAnimation - ret nc - ld a, [$d6ec] - and a - jr nz, .asm_24689 - ld a, [wMeowthAnimationFrameIndex] - cp $4 - ret nz - ld hl, $46ec - ld de, wMeowthAnimationFrameCounter - call CopyHLToDE - ret + ld a, [$d6ec] + sla a + ld c, a + ld b, $0 + ld hl, $46e2 + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld de, wMeowthAnimationFrameCounter + call UpdateAnimation + ret nc + ld a, [$d6ec] + and a + jr nz, .asm_24689 + ld a, [wMeowthAnimationFrameIndex] + cp $4 + ret nz + ld hl, $46ec + ld de, wMeowthAnimationFrameCounter + call CopyHLToDE + ret .asm_24689 - cp $1 - jr nz, .asm_2469d - ld a, [wMeowthAnimationFrameIndex] - cp $4 - ret nz - ld hl, $46f5 - ld de, wMeowthAnimationFrameCounter - call CopyHLToDE - ret + cp $1 + jr nz, .asm_2469d + ld a, [wMeowthAnimationFrameIndex] + cp $4 + ret nz + ld hl, $46f5 + ld de, wMeowthAnimationFrameCounter + call CopyHLToDE + ret .asm_2469d - cp $2 - jr nz, .asm_246b5 - ld a, [wMeowthAnimationFrameIndex] - cp $1 - ret nz - ld hl, $46ec - ld de, wMeowthAnimationFrameCounter - call CopyHLToDE - xor a - ld [$d6ec], a - ret + cp $2 + jr nz, .asm_246b5 + ld a, [wMeowthAnimationFrameIndex] + cp $1 + ret nz + ld hl, $46ec + ld de, wMeowthAnimationFrameCounter + call CopyHLToDE + xor a + ld [$d6ec], a + ret .asm_246b5 - cp $3 - jr nz, .asm_246ce - ld a, [wMeowthAnimationFrameIndex] - cp $1 - ret nz - ld hl, $46f5 - ld de, wMeowthAnimationFrameCounter - call CopyHLToDE - ld a, $1 - ld [$d6ec], a - ret + cp $3 + jr nz, .asm_246ce + ld a, [wMeowthAnimationFrameIndex] + cp $1 + ret nz + ld hl, $46f5 + ld de, wMeowthAnimationFrameCounter + call CopyHLToDE + ld a, $1 + ld [$d6ec], a + ret .asm_246ce - cp $4 - jr nz, .asm_24689 - ld a, [wMeowthAnimationFrameIndex] - cp $2 - ret nz - ld hl, $4704 - ld de, wMeowthAnimationFrameCounter - call CopyHLToDE - ret - -INCBIN "baserom.gbc",$246e2,$24709 - $246e2 + cp $4 + jr nz, .asm_24689 + ld a, [wMeowthAnimationFrameIndex] + cp $2 + ret nz + ld hl, $4704 + ld de, wMeowthAnimationFrameCounter + call CopyHLToDE + ret + + dr $246e2, $24709 Func_24709: ; 0x24709 - ld a, [wMeowthXPosition] - ld hl, wMeowthXMovement - add [hl] - ld [wMeowthXPosition], a - ld hl, wMeowthYMovement - ld a, [hl] - and a - jr z, .asm_24730 - bit 7, [hl] - ld a, [wMeowthYPosition] - jr nz, .asm_24724 - inc a - jr .asm_24725 + ld a, [wMeowthXPosition] + ld hl, wMeowthXMovement + add [hl] + ld [wMeowthXPosition], a + ld hl, wMeowthYMovement + ld a, [hl] + and a + jr z, .asm_24730 + bit 7, [hl] + ld a, [wMeowthYPosition] + jr nz, .asm_24724 + inc a + jr .asm_24725 .asm_24724 - dec a + dec a .asm_24725 - cp $21 - jr z, .asm_24730 - cp $f - jr z, .asm_24730 - ld [wMeowthYPosition], a + cp $21 + jr z, .asm_24730 + cp $f + jr z, .asm_24730 + ld [wMeowthYPosition], a .asm_24730 - call Func_24737 - call Func_2476d - ret + call Func_24737 + call Func_2476d + ret Func_24737: ; 0x24737 - ld a, [wMeowthXPosition] - cp $8 - jr nc, .asm_24742 - ld a, $1 - jr .asm_2475a + ld a, [wMeowthXPosition] + cp $8 + jr nc, .asm_24742 + ld a, $1 + jr .asm_2475a .asm_24742 - cp $78 - jr c, .asm_2474a - ld a, $ff - jr .asm_2475a + cp $78 + jr c, .asm_2474a + ld a, $ff + jr .asm_2475a .asm_2474a - ld a, [$ffb3] - and $3f - ret nz - call GenRandom - bit 7, a - ld a, $1 - jr z, .asm_2475a - ld a, $ff + ld a, [$ffb3] + and $3f + ret nz + call GenRandom + bit 7, a + ld a, $1 + jr z, .asm_2475a + ld a, $ff .asm_2475a - ld [wMeowthXMovement], a - bit 7, a - ld a, $1 - jr z, .asm_24764 - xor a + ld [wMeowthXMovement], a + bit 7, a + ld a, $1 + jr z, .asm_24764 + xor a .asm_24764 - ld [$d6ec], a - ld a, $2 - ld [wMeowthAnimationFrameCounter], a - ret + ld [$d6ec], a + ld a, $2 + ld [wMeowthAnimationFrameCounter], a + ret Func_2476d: ; 0x2476d - ld a, [wMeowthYMovement] - and a - jr z, .asm_247ab - cp $1 - jr z, .asm_24791 - ld a, [wMeowthYPosition] - cp $10 - jr nz, .asm_2478d - ld a, [$d6e7] - cp $2 - jr nz, .asm_2478a - ld a, $1 - ld [$d6e7], a + ld a, [wMeowthYMovement] + and a + jr z, .asm_247ab + cp $1 + jr z, .asm_24791 + ld a, [wMeowthYPosition] + cp $10 + jr nz, .asm_2478d + ld a, [$d6e7] + cp $2 + jr nz, .asm_2478a + ld a, $1 + ld [$d6e7], a .asm_2478a - xor a - jr .asm_247c9 + xor a + jr .asm_247c9 .asm_2478d - ld a, $ff - jr .asm_247c9 + ld a, $ff + jr .asm_247c9 .asm_24791 - ld a, [wMeowthYPosition] - cp $20 - jr nz, .asm_247a7 - ld a, [$d6e7] - cp $2 - jr nz, .asm_247a4 - ld a, $1 - ld [$d6e7], a + ld a, [wMeowthYPosition] + cp $20 + jr nz, .asm_247a7 + ld a, [$d6e7] + cp $2 + jr nz, .asm_247a4 + ld a, $1 + ld [$d6e7], a .asm_247a4 - xor a - jr .asm_247c9 + xor a + jr .asm_247c9 .asm_247a7 - ld a, $1 - jr .asm_247c9 + ld a, $1 + jr .asm_247c9 .asm_247ab - ld a, [$d70b] - cp $3 - jr z, .asm_247cd - ld a, [$d70c] - cp $3 - jr z, .asm_247d3 - ld a, [$ffb3] - and $3f - ret nz - call GenRandom - bit 0, a - ld a, $1 - jr z, .asm_247c9 - ld a, $ff + ld a, [$d70b] + cp $3 + jr z, .asm_247cd + ld a, [$d70c] + cp $3 + jr z, .asm_247d3 + ld a, [$ffb3] + and $3f + ret nz + call GenRandom + bit 0, a + ld a, $1 + jr z, .asm_247c9 + ld a, $ff .asm_247c9 - ld [wMeowthYMovement], a - ret + ld [wMeowthYMovement], a + ret .asm_247cd - ld a, $ff - ld [wMeowthYMovement], a - ret + ld a, $ff + ld [wMeowthYMovement], a + ret .asm_247d3 - ld a, $1 - ld [wMeowthYMovement], a - ret + ld a, $1 + ld [wMeowthYMovement], a + ret Func_247d9: ; 0x247d9 - ld a, [$d6f3] - and a - ret z - ld a, [$d71a] - cp $c8 - jr nz, .asm_24823 - ld a, [wMeowthXPosition] - add $8 - ld [$d71a], a - ld a, [wMeowthYPosition] - add $fb - ld [$d727], a - ld a, $1 - ld [$d717], a - xor a - ld [$d6f3], a - ld [$d714], a - ld [$d6f5], a - ld [$d6f8], a - ld [$d6fb], a - ld a, [wMeowthXPosition] - add $14 - ld b, a - ld a, [$d4b4] - cp b - jr nc, .asm_2481d - ld a, $0 - ld [$d72a], a - jr .asm_24822 + ld a, [$d6f3] + and a + ret z + ld a, [$d71a] + cp $c8 + jr nz, .asm_24823 + ld a, [wMeowthXPosition] + add $8 + ld [$d71a], a + ld a, [wMeowthYPosition] + add $fb + ld [$d727], a + ld a, $1 + ld [$d717], a + xor a + ld [$d6f3], a + ld [$d714], a + ld [$d6f5], a + ld [$d6f8], a + ld [$d6fb], a + ld a, [wMeowthXPosition] + add $14 + ld b, a + ld a, [$d4b4] + cp b + jr nc, .asm_2481d + ld a, $0 + ld [$d72a], a + jr .asm_24822 .asm_2481d - ld a, $1 - ld [$d72a], a + ld a, $1 + ld [$d72a], a .asm_24822 - ret + ret .asm_24823 - ld a, [$d71b] - cp $c8 - jr nz, .asm_24868 - ld a, [wMeowthXPosition] - add $8 - ld [$d71b], a - ld a, [wMeowthYPosition] - add $fb - ld [$d728], a - ld a, $1 - ld [$d718], a - xor a - ld [$d6f3], a - ld [$d715], a - ld [$d6f6], a - ld [$d6f9], a - ld [$d6fc], a - ld a, [wMeowthXPosition] - add $14 - ld b, a - ld a, [$d4b4] - cp b - jr nc, .asm_24862 - ld a, $0 - ld [$d72b], a - jr .asm_24867 + ld a, [$d71b] + cp $c8 + jr nz, .asm_24868 + ld a, [wMeowthXPosition] + add $8 + ld [$d71b], a + ld a, [wMeowthYPosition] + add $fb + ld [$d728], a + ld a, $1 + ld [$d718], a + xor a + ld [$d6f3], a + ld [$d715], a + ld [$d6f6], a + ld [$d6f9], a + ld [$d6fc], a + ld a, [wMeowthXPosition] + add $14 + ld b, a + ld a, [$d4b4] + cp b + jr nc, .asm_24862 + ld a, $0 + ld [$d72b], a + jr .asm_24867 .asm_24862 - ld a, $1 - ld [$d72b], a + ld a, $1 + ld [$d72b], a .asm_24867 - ret + ret .asm_24868 - ld a, [$d71c] - cp $c8 - ret nz - ld a, [wMeowthXPosition] - add $8 - ld [$d71c], a - ld a, [wMeowthYPosition] - add $fb - ld [$d729], a - ld a, $1 - ld [$d719], a - xor a - ld [$d6f3], a - ld [$d716], a - ld [$d6f7], a - ld [$d6fa], a - ld [$d6fd], a - ld a, [wMeowthXPosition] - add $14 - ld b, a - ld a, [$d4b4] - cp b - jr nc, .asm_248a6 - ld a, $0 - ld [$d72c], a - jr .asm_248ab + ld a, [$d71c] + cp $c8 + ret nz + ld a, [wMeowthXPosition] + add $8 + ld [$d71c], a + ld a, [wMeowthYPosition] + add $fb + ld [$d729], a + ld a, $1 + ld [$d719], a + xor a + ld [$d6f3], a + ld [$d716], a + ld [$d6f7], a + ld [$d6fa], a + ld [$d6fd], a + ld a, [wMeowthXPosition] + add $14 + ld b, a + ld a, [$d4b4] + cp b + jr nc, .asm_248a6 + ld a, $0 + ld [$d72c], a + jr .asm_248ab .asm_248a6 - ld a, $1 - ld [$d72c], a + ld a, $1 + ld [$d72c], a .asm_248ab - ret + ret Func_248ac: ; 0x248ac - ld a, [$d717] - cp $1 - jr nz, .asm_248d3 - ld a, [$d714] - cp $a - jr z, .asm_248c4 - ld a, $0 - ld [$d6f4], a - call Func_24a30 - jr .asm_248d3 + ld a, [$d717] + cp $1 + jr nz, .asm_248d3 + ld a, [$d714] + cp $a + jr z, .asm_248c4 + ld a, $0 + ld [$d6f4], a + call Func_24a30 + jr .asm_248d3 .asm_248c4 - ld hl, $d70b - inc [hl] - ld a, $2 - ld [$d717], a - ld de, $0034 - call PlaySoundEffect + ld hl, $d70b + inc [hl] + ld a, $2 + ld [$d717], a + ld de, $0034 + call PlaySoundEffect .asm_248d3 - ld a, [$d718] - cp $1 - jr nz, .asm_248fa - ld a, [$d715] - cp $a - jr z, .asm_248eb - ld a, $1 - ld [$d6f4], a - call Func_24a30 - jr .asm_248fa + ld a, [$d718] + cp $1 + jr nz, .asm_248fa + ld a, [$d715] + cp $a + jr z, .asm_248eb + ld a, $1 + ld [$d6f4], a + call Func_24a30 + jr .asm_248fa .asm_248eb - ld hl, $d70b - inc [hl] - ld a, $2 - ld [$d718], a - ld de, $0034 - call PlaySoundEffect + ld hl, $d70b + inc [hl] + ld a, $2 + ld [$d718], a + ld de, $0034 + call PlaySoundEffect .asm_248fa - ld a, [$d719] - cp $1 - jr nz, .asm_24921 - ld a, [$d716] - cp $a - jr z, .asm_24912 - ld a, $2 - ld [$d6f4], a - call Func_24a30 - jr .asm_24921 + ld a, [$d719] + cp $1 + jr nz, .asm_24921 + ld a, [$d716] + cp $a + jr z, .asm_24912 + ld a, $2 + ld [$d6f4], a + call Func_24a30 + jr .asm_24921 .asm_24912 - ld hl, $d70b - inc [hl] - ld a, $2 - ld [$d719], a - ld de, $0034 - call PlaySoundEffect + ld hl, $d70b + inc [hl] + ld a, $2 + ld [$d719], a + ld de, $0034 + call PlaySoundEffect .asm_24921 - ld a, [$d717] - cp $2 - jr nz, .asm_2492c - ld hl, $d714 - inc [hl] + ld a, [$d717] + cp $2 + jr nz, .asm_2492c + ld hl, $d714 + inc [hl] .asm_2492c - ld a, [$d718] - cp $2 - jr nz, .asm_24937 - ld hl, $d715 - inc [hl] + ld a, [$d718] + cp $2 + jr nz, .asm_24937 + ld hl, $d715 + inc [hl] .asm_24937 - ld a, [$d719] - cp $2 - jr nz, .asm_24942 - ld hl, $d716 - inc [hl] + ld a, [$d719] + cp $2 + jr nz, .asm_24942 + ld hl, $d716 + inc [hl] .asm_24942 - ld a, [$d717] - cp $3 - jr nz, .asm_24968 - ld a, [$d71a] - ld b, a - ld a, [$d727] - ld c, a - ld hl, $d714 - inc [hl] - ld a, [hl] - cp $2 - jr nz, .asm_2495f - call Func_24e7f - jr .asm_24968 + ld a, [$d717] + cp $3 + jr nz, .asm_24968 + ld a, [$d71a] + ld b, a + ld a, [$d727] + ld c, a + ld hl, $d714 + inc [hl] + ld a, [hl] + cp $2 + jr nz, .asm_2495f + call Func_24e7f + jr .asm_24968 .asm_2495f - cp $a - jr nz, .asm_24968 - ld a, $4 - ld [$d717], a + cp $a + jr nz, .asm_24968 + ld a, $4 + ld [$d717], a .asm_24968 - ld a, [$d718] - cp $3 - jr nz, .asm_2498e - ld a, [$d71b] - ld b, a - ld a, [$d728] - ld c, a - ld hl, $d715 - inc [hl] - ld a, [hl] - cp $2 - jr nz, .asm_24985 - call Func_24e7f - jr .asm_2498e + ld a, [$d718] + cp $3 + jr nz, .asm_2498e + ld a, [$d71b] + ld b, a + ld a, [$d728] + ld c, a + ld hl, $d715 + inc [hl] + ld a, [hl] + cp $2 + jr nz, .asm_24985 + call Func_24e7f + jr .asm_2498e .asm_24985 - cp $a - jr nz, .asm_2498e - ld a, $4 - ld [$d718], a + cp $a + jr nz, .asm_2498e + ld a, $4 + ld [$d718], a .asm_2498e - ld a, [$d719] - cp $3 - jr nz, .asm_249b4 - ld a, [$d71c] - ld b, a - ld a, [$d729] - ld c, a - ld hl, $d716 - inc [hl] - ld a, [hl] - cp $2 - jr nz, .asm_249ab - call Func_24e7f - jr .asm_249b4 + ld a, [$d719] + cp $3 + jr nz, .asm_249b4 + ld a, [$d71c] + ld b, a + ld a, [$d729] + ld c, a + ld hl, $d716 + inc [hl] + ld a, [hl] + cp $2 + jr nz, .asm_249ab + call Func_24e7f + jr .asm_249b4 .asm_249ab - cp $a - jr nz, .asm_249b4 - ld a, $4 - ld [$d719], a + cp $a + jr nz, .asm_249b4 + ld a, $4 + ld [$d719], a .asm_249b4 - ld a, [$d717] - cp $4 - jr nz, .asm_249d0 - ld a, $c8 - ld [$d71a], a - ld [$d727], a - xor a - ld [$d717], a - ld hl, $d70b - dec [hl] - ld a, [hl] - cp $2 - jr z, .asm_24a06 + ld a, [$d717] + cp $4 + jr nz, .asm_249d0 + ld a, $c8 + ld [$d71a], a + ld [$d727], a + xor a + ld [$d717], a + ld hl, $d70b + dec [hl] + ld a, [hl] + cp $2 + jr z, .asm_24a06 .asm_249d0 - ld a, [$d718] - cp $4 - jr nz, .asm_249ec - ld a, $c8 - ld [$d71b], a - ld [$d728], a - xor a - ld [$d718], a - ld hl, $d70b - dec [hl] - ld a, [hl] - cp $2 - jr z, .asm_24a06 + ld a, [$d718] + cp $4 + jr nz, .asm_249ec + ld a, $c8 + ld [$d71b], a + ld [$d728], a + xor a + ld [$d718], a + ld hl, $d70b + dec [hl] + ld a, [hl] + cp $2 + jr z, .asm_24a06 .asm_249ec - ld a, [$d719] - cp $4 - ret nz - ld a, $c8 - ld [$d71c], a - ld [$d729], a - xor a - ld [$d719], a - ld hl, $d70b - dec [hl] - ld a, [hl] - cp $2 - ret nz + ld a, [$d719] + cp $4 + ret nz + ld a, $c8 + ld [$d71c], a + ld [$d729], a + xor a + ld [$d719], a + ld hl, $d70b + dec [hl] + ld a, [hl] + cp $2 + ret nz .asm_24a06 - ld a, [$d713] - and a - ret nz - ld a, [wMeowthXMovement] - cp $ff - jr z, .asm_24a21 - ld hl, $46f5 - ld de, wMeowthAnimationFrameCounter - call CopyHLToDE - ld a, $1 - ld [$d6ec], a - ret + ld a, [$d713] + and a + ret nz + ld a, [wMeowthXMovement] + cp $ff + jr z, .asm_24a21 + ld hl, $46f5 + ld de, wMeowthAnimationFrameCounter + call CopyHLToDE + ld a, $1 + ld [$d6ec], a + ret .asm_24a21 - ld hl, $46ec - ld de, wMeowthAnimationFrameCounter - call CopyHLToDE - ld a, $0 - ld [$d6ec], a - ret + ld hl, $46ec + ld de, wMeowthAnimationFrameCounter + call CopyHLToDE + ld a, $0 + ld [$d6ec], a + ret Func_24a30: ; 0x24a30 - ld a, [$d6f4] - ld c, a - ld b, $0 - ld hl, $d6f8 - add hl, bc - ld a, [hl] - and a - jr z, .asm_24a42 - call Func_24b41 - ret + ld a, [$d6f4] + ld c, a + ld b, $0 + ld hl, $d6f8 + add hl, bc + ld a, [hl] + and a + jr z, .asm_24a42 + call Func_24b41 + ret .asm_24a42 - ld a, [$d6f4] - ld c, a - ld b, $0 - ld hl, $d6f5 - add hl, bc - ld a, [hl] - bit 2, a - jr z, .asm_24a5e - bit 1, a - jr nz, .asm_24a5e - bit 0, a - jr nz, .asm_24a5e - ld hl, $d714 - add hl, bc - inc [hl] + ld a, [$d6f4] + ld c, a + ld b, $0 + ld hl, $d6f5 + add hl, bc + ld a, [hl] + bit 2, a + jr z, .asm_24a5e + bit 1, a + jr nz, .asm_24a5e + bit 0, a + jr nz, .asm_24a5e + ld hl, $d714 + add hl, bc + inc [hl] .asm_24a5e - ld hl, $d6f5 - add hl, bc - ld a, [hl] - ld hl, $4af1 - ld e, a - ld d, $0 - add hl, de - ld hl, $d72a - add hl, bc - ld a, [hl] - and a - jr nz, .asm_24a97 + ld hl, $d6f5 + add hl, bc + ld a, [hl] + ld hl, $4af1 + ld e, a + ld d, $0 + add hl, de + ld hl, $d72a + add hl, bc + ld a, [hl] + and a + jr nz, .asm_24a97 .asm_24a72 - ld hl, $d72a - add hl, bc - ld [hl], $0 - ld hl, $d71a - add hl, bc - ld a, [hl] - push af - ld hl, $d6f5 - add hl, bc - ld a, [hl] - ld e, a - ld d, $0 - ld hl, $4af1 - add hl, de - pop af - add [hl] - cp $8e - jr nc, .asm_24a97 - ld hl, $d71a - add hl, bc - ld [hl], a - jr .asm_24abf + ld hl, $d72a + add hl, bc + ld [hl], $0 + ld hl, $d71a + add hl, bc + ld a, [hl] + push af + ld hl, $d6f5 + add hl, bc + ld a, [hl] + ld e, a + ld d, $0 + ld hl, $4af1 + add hl, de + pop af + add [hl] + cp $8e + jr nc, .asm_24a97 + ld hl, $d71a + add hl, bc + ld [hl], a + jr .asm_24abf .asm_24a97 - ld hl, $d72a - add hl, bc - ld [hl], $1 - ld hl, $d6f5 - add hl, bc - ld a, [hl] - ld e, a - ld d, $0 - ld hl, $4af1 - add hl, de - ld a, [hl] - ld d, a - ld a, $ff - sub d - inc a - ld d, a - ld hl, $d71a - add hl, bc - ld a, [hl] - add d - cp $5 - jr c, .asm_24a72 - ld hl, $d71a - add hl, bc - ld [hl], a + ld hl, $d72a + add hl, bc + ld [hl], $1 + ld hl, $d6f5 + add hl, bc + ld a, [hl] + ld e, a + ld d, $0 + ld hl, $4af1 + add hl, de + ld a, [hl] + ld d, a + ld a, $ff + sub d + inc a + ld d, a + ld hl, $d71a + add hl, bc + ld a, [hl] + add d + cp $5 + jr c, .asm_24a72 + ld hl, $d71a + add hl, bc + ld [hl], a .asm_24abf - ld hl, $d6f5 - add hl, bc - ld a, [hl] - ld e, a - ld d, $0 - ld hl, $4af1 - add hl, de - inc hl - ld a, [hl] - ld d, a - ld hl, $d727 - add hl, bc - ld a, [hl] - add d - ld hl, $d727 - add hl, bc - ld [hl], a - ld hl, $d6f5 - add hl, bc - inc [hl] - inc [hl] - ld a, [hl] - cp $46 - jr nz, .asm_24af0 - ld a, c - cp $9 - jr c, .asm_24aed - call Func_2438f - ret + ld hl, $d6f5 + add hl, bc + ld a, [hl] + ld e, a + ld d, $0 + ld hl, $4af1 + add hl, de + inc hl + ld a, [hl] + ld d, a + ld hl, $d727 + add hl, bc + ld a, [hl] + add d + ld hl, $d727 + add hl, bc + ld [hl], a + ld hl, $d6f5 + add hl, bc + inc [hl] + inc [hl] + ld a, [hl] + cp $46 + jr nz, .asm_24af0 + ld a, c + cp $9 + jr c, .asm_24aed + call Func_2438f + ret .asm_24aed - call Func_24319 + call Func_24319 .asm_24af0 - ret + ret -INCBIN "baserom.gbc",$24af1,$24b41 - $24af1 + dr $24af1, $24b41 Func_24b41: ; 0x24b41 - ld a, [$d6f4] - ld b, $0 - ld c, a - ld hl, $d6f5 - add hl, bc - ld a, [hl] - cp $14 - jp nc, Func_24bf6 - ld hl, $d6f5 - add hl, bc - ld a, [hl] - ld hl, $4c0a - ld e, a - ld d, $0 - add hl, de - ld hl, $d72a - add hl, bc - ld a, [hl] - and a - jr nz, .asm_24b8a + ld a, [$d6f4] + ld b, $0 + ld c, a + ld hl, $d6f5 + add hl, bc + ld a, [hl] + cp $14 + jp nc, Func_24bf6 + ld hl, $d6f5 + add hl, bc + ld a, [hl] + ld hl, $4c0a + ld e, a + ld d, $0 + add hl, de + ld hl, $d72a + add hl, bc + ld a, [hl] + and a + jr nz, .asm_24b8a .asm_24b65 - ld hl, $d72a - add hl, bc - ld [hl], $0 - ld hl, $d71a - add hl, bc - ld a, [hl] - push af - ld hl, $d6f5 - add hl, bc - ld a, [hl] - ld e, a - ld d, $0 - ld hl, $4c0a - add hl, de - pop af - add [hl] - cp $90 - jr nc, .asm_24b8a - ld hl, $d71a - add hl, bc - ld [hl], a - jr .asm_24bb2 + ld hl, $d72a + add hl, bc + ld [hl], $0 + ld hl, $d71a + add hl, bc + ld a, [hl] + push af + ld hl, $d6f5 + add hl, bc + ld a, [hl] + ld e, a + ld d, $0 + ld hl, $4c0a + add hl, de + pop af + add [hl] + cp $90 + jr nc, .asm_24b8a + ld hl, $d71a + add hl, bc + ld [hl], a + jr .asm_24bb2 .asm_24b8a - ld hl, $d72a - add hl, bc - ld [hl], $1 - ld hl, $d6f5 - add hl, bc - ld a, [hl] - ld e, a - ld d, $0 - ld hl, $4c0a - add hl, de - ld a, [hl] - ld d, a - ld a, $ff - sub d - inc a - ld d, a - ld hl, $d71a - add hl, bc - ld a, [hl] - add d - cp $6 - jr c, .asm_24b65 - ld hl, $d71a - add hl, bc - ld [hl], a + ld hl, $d72a + add hl, bc + ld [hl], $1 + ld hl, $d6f5 + add hl, bc + ld a, [hl] + ld e, a + ld d, $0 + ld hl, $4c0a + add hl, de + ld a, [hl] + ld d, a + ld a, $ff + sub d + inc a + ld d, a + ld hl, $d71a + add hl, bc + ld a, [hl] + add d + cp $6 + jr c, .asm_24b65 + ld hl, $d71a + add hl, bc + ld [hl], a .asm_24bb2 - ld hl, $d6f5 - add hl, bc - ld a, [hl] - ld e, a - ld d, $0 - ld hl, $4c0a - add hl, de - inc hl - ld a, [hl] - ld d, a - ld hl, $d727 - add hl, bc - ld a, [hl] - add d - ld hl, $d727 - add hl, bc - ld [hl], a - ld hl, $d6f5 - add hl, bc - inc [hl] - inc [hl] - ld a, [hl] - cp $12 - jr nz, .asm_24bf4 - ld a, c - cp $9 - jr c, .asm_24be1 - call Func_2438f - jr .asm_24be4 + ld hl, $d6f5 + add hl, bc + ld a, [hl] + ld e, a + ld d, $0 + ld hl, $4c0a + add hl, de + inc hl + ld a, [hl] + ld d, a + ld hl, $d727 + add hl, bc + ld a, [hl] + add d + ld hl, $d727 + add hl, bc + ld [hl], a + ld hl, $d6f5 + add hl, bc + inc [hl] + inc [hl] + ld a, [hl] + cp $12 + jr nz, .asm_24bf4 + ld a, c + cp $9 + jr c, .asm_24be1 + call Func_2438f + jr .asm_24be4 .asm_24be1 - call Func_24319 + call Func_24319 .asm_24be4 - ld a, [$d6f4] - ld b, $0 - ld c, a - ld hl, $d6f8 - add hl, bc - ld a, [hl] - and a - jr nz, .asm_24bf4 - ld [hl], $1 + ld a, [$d6f4] + ld b, $0 + ld c, a + ld hl, $d6f8 + add hl, bc + ld a, [hl] + and a + jr nz, .asm_24bf4 + ld [hl], $1 .asm_24bf4 - scf - ret + scf + ret Func_24bf6: ; 0x24bf6 - ld a, [$d6f4] - ld b, $0 - ld c, a - ld hl, $d6f8 - add hl, bc - ld [hl], $0 - ld hl, $d714 - add hl, bc - ld [hl], $a - ccf - ret - -INCBIN "baserom.gbc",$24c0a,$24c28 - $24c0a + ld a, [$d6f4] + ld b, $0 + ld c, a + ld hl, $d6f8 + add hl, bc + ld [hl], $0 + ld hl, $d714 + add hl, bc + ld [hl], $a + ccf + ret + + dr $24c0a, $24c28 Func_24c28: ; 0x24c28 - ld a, [$d6f3] - and a - ret z - ld a, [$d724] - cp $c8 - jr nz, .asm_24c76 - ld a, [wMeowthXPosition] - add $8 - ld [$d724], a - ld a, [wMeowthYPosition] - add $fb - ld [$d731], a - ld a, $1 - ld [$d721], a - ld hl, $d70c - inc [hl] - xor a - ld [$d6f3], a - ld [$d71e], a - ld [$d6ff], a - ld [$d702], a - ld [$d705], a - ld a, [wMeowthXPosition] - add $14 - ld b, a - ld a, [$d4b4] - cp b - jr nc, .asm_24c70 - ld a, $0 - ld [$d734], a - jr .asm_24c75 + ld a, [$d6f3] + and a + ret z + ld a, [$d724] + cp $c8 + jr nz, .asm_24c76 + ld a, [wMeowthXPosition] + add $8 + ld [$d724], a + ld a, [wMeowthYPosition] + add $fb + ld [$d731], a + ld a, $1 + ld [$d721], a + ld hl, $d70c + inc [hl] + xor a + ld [$d6f3], a + ld [$d71e], a + ld [$d6ff], a + ld [$d702], a + ld [$d705], a + ld a, [wMeowthXPosition] + add $14 + ld b, a + ld a, [$d4b4] + cp b + jr nc, .asm_24c70 + ld a, $0 + ld [$d734], a + jr .asm_24c75 .asm_24c70 - ld a, $1 - ld [$d734], a + ld a, $1 + ld [$d734], a .asm_24c75 - ret + ret .asm_24c76 - ld a, [$d725] - cp $c8 - jr nz, .asm_24cbf - ld a, [wMeowthXPosition] - add $8 - ld [$d725], a - ld a, [wMeowthYPosition] - add $fb - ld [$d732], a - ld a, $1 - ld [$d722], a - ld hl, $d70c - inc [hl] - xor a - ld [$d6f3], a - ld [$d71f], a - ld [$d700], a - ld [$d703], a - ld [$d706], a - ld a, [$d6f7] - add $14 - ld b, a - ld a, [$d4b4] - cp b - jr nc, .asm_24cb9 - ld a, $0 - ld [$d735], a - jr .asm_24cbe + ld a, [$d725] + cp $c8 + jr nz, .asm_24cbf + ld a, [wMeowthXPosition] + add $8 + ld [$d725], a + ld a, [wMeowthYPosition] + add $fb + ld [$d732], a + ld a, $1 + ld [$d722], a + ld hl, $d70c + inc [hl] + xor a + ld [$d6f3], a + ld [$d71f], a + ld [$d700], a + ld [$d703], a + ld [$d706], a + ld a, [$d6f7] + add $14 + ld b, a + ld a, [$d4b4] + cp b + jr nc, .asm_24cb9 + ld a, $0 + ld [$d735], a + jr .asm_24cbe .asm_24cb9 - ld a, $1 - ld [$d735], a + ld a, $1 + ld [$d735], a .asm_24cbe - ret + ret .asm_24cbf - ld a, [$d726] - cp $c8 - ret nz - ld a, [wMeowthXPosition] - add $8 - ld [$d726], a - ld a, [wMeowthYPosition] - add $fb - ld [$d733], a - ld a, $1 - ld [$d723], a - ld hl, $d70c - inc [hl] - xor a - ld [$d6f3], a - ld [$d720], a - ld [$d701], a - ld [$d704], a - ld [$d707], a - ld a, [wMeowthXPosition] - add $14 - ld b, a - ld a, [$d4b4] - cp b - jr nc, .asm_24d01 - ld a, $0 - ld [$d736], a - jr .asm_24d06 + ld a, [$d726] + cp $c8 + ret nz + ld a, [wMeowthXPosition] + add $8 + ld [$d726], a + ld a, [wMeowthYPosition] + add $fb + ld [$d733], a + ld a, $1 + ld [$d723], a + ld hl, $d70c + inc [hl] + xor a + ld [$d6f3], a + ld [$d720], a + ld [$d701], a + ld [$d704], a + ld [$d707], a + ld a, [wMeowthXPosition] + add $14 + ld b, a + ld a, [$d4b4] + cp b + jr nc, .asm_24d01 + ld a, $0 + ld [$d736], a + jr .asm_24d06 .asm_24d01 - ld a, $1 - ld [$d736], a + ld a, $1 + ld [$d736], a .asm_24d06 - ret + ret Func_24d07: ; 0x24d07 - ld a, [$d721] - cp $1 - jr nz, .asm_24d2a - ld a, [$d71e] - cp $a - jr z, .asm_24d1f - ld a, $a - ld [$d6f4], a - call Func_24a30 - jr .asm_24d2a + ld a, [$d721] + cp $1 + jr nz, .asm_24d2a + ld a, [$d71e] + cp $a + jr z, .asm_24d1f + ld a, $a + ld [$d6f4], a + call Func_24a30 + jr .asm_24d2a .asm_24d1f - ld a, $2 - ld [$d721], a - ld de, $0034 - call PlaySoundEffect + ld a, $2 + ld [$d721], a + ld de, $0034 + call PlaySoundEffect .asm_24d2a - ld a, [$d722] - cp $1 - jr nz, .asm_24d4d - ld a, [$d71f] - cp $a - jr z, .asm_24d42 - ld a, $b - ld [$d6f4], a - call Func_24a30 - jr .asm_24d4d + ld a, [$d722] + cp $1 + jr nz, .asm_24d4d + ld a, [$d71f] + cp $a + jr z, .asm_24d42 + ld a, $b + ld [$d6f4], a + call Func_24a30 + jr .asm_24d4d .asm_24d42 - ld a, $2 - ld [$d722], a - ld de, $0034 - call PlaySoundEffect + ld a, $2 + ld [$d722], a + ld de, $0034 + call PlaySoundEffect .asm_24d4d - ld a, [$d723] - cp $1 - jr nz, .asm_24d70 - ld a, [$d720] - cp $a - jr z, .asm_24d65 - ld a, $c - ld [$d6f4], a - call Func_24a30 - jr .asm_24d70 + ld a, [$d723] + cp $1 + jr nz, .asm_24d70 + ld a, [$d720] + cp $a + jr z, .asm_24d65 + ld a, $c + ld [$d6f4], a + call Func_24a30 + jr .asm_24d70 .asm_24d65 - ld a, $2 - ld [$d723], a - ld de, $0034 - call PlaySoundEffect + ld a, $2 + ld [$d723], a + ld de, $0034 + call PlaySoundEffect .asm_24d70 - ld a, [$d721] - cp $2 - jr nz, .asm_24d7b - ld hl, $d71e - inc [hl] + ld a, [$d721] + cp $2 + jr nz, .asm_24d7b + ld hl, $d71e + inc [hl] .asm_24d7b - ld a, [$d722] - cp $2 - jr nz, .asm_24d86 - ld hl, $d71f - inc [hl] + ld a, [$d722] + cp $2 + jr nz, .asm_24d86 + ld hl, $d71f + inc [hl] .asm_24d86 - ld a, [$d723] - cp $2 - jr nz, .asm_24d91 - ld hl, $d720 - inc [hl] + ld a, [$d723] + cp $2 + jr nz, .asm_24d91 + ld hl, $d720 + inc [hl] .asm_24d91 - ld a, [$d721] - cp $3 - jr nz, .asm_24db7 - ld a, [$d724] - ld b, a - ld a, [$d731] - ld c, a - ld hl, $d71e - inc [hl] - ld a, [hl] - cp $2 - jr nz, .asm_24dae - call Func_24e7f - jr .asm_24db7 + ld a, [$d721] + cp $3 + jr nz, .asm_24db7 + ld a, [$d724] + ld b, a + ld a, [$d731] + ld c, a + ld hl, $d71e + inc [hl] + ld a, [hl] + cp $2 + jr nz, .asm_24dae + call Func_24e7f + jr .asm_24db7 .asm_24dae - cp $a - jr nz, .asm_24db7 - ld a, $4 - ld [$d721], a + cp $a + jr nz, .asm_24db7 + ld a, $4 + ld [$d721], a .asm_24db7 - ld a, [$d722] - cp $3 - jr nz, .asm_24ddd - ld a, [$d725] - ld b, a - ld a, [$d732] - ld c, a - ld hl, $d71f - inc [hl] - ld a, [hl] - cp $2 - jr nz, .asm_24dd4 - call Func_24e7f - jr .asm_24ddd + ld a, [$d722] + cp $3 + jr nz, .asm_24ddd + ld a, [$d725] + ld b, a + ld a, [$d732] + ld c, a + ld hl, $d71f + inc [hl] + ld a, [hl] + cp $2 + jr nz, .asm_24dd4 + call Func_24e7f + jr .asm_24ddd .asm_24dd4 - cp $a - jr nz, .asm_24ddd - ld a, $4 - ld [$d722], a + cp $a + jr nz, .asm_24ddd + ld a, $4 + ld [$d722], a .asm_24ddd - ld a, [$d723] - cp $3 - jr nz, .asm_24e03 - ld a, [$d726] - ld b, a - ld a, [$d733] - ld c, a - ld hl, $d720 - inc [hl] - ld a, [hl] - cp $2 - jr nz, .asm_24dfa - call Func_24e7f - jr .asm_24e03 + ld a, [$d723] + cp $3 + jr nz, .asm_24e03 + ld a, [$d726] + ld b, a + ld a, [$d733] + ld c, a + ld hl, $d720 + inc [hl] + ld a, [hl] + cp $2 + jr nz, .asm_24dfa + call Func_24e7f + jr .asm_24e03 .asm_24dfa - cp $a - jr nz, .asm_24e03 - ld a, $4 - ld [$d723], a + cp $a + jr nz, .asm_24e03 + ld a, $4 + ld [$d723], a .asm_24e03 - ld a, [$d721] - cp $4 - jr nz, .asm_24e1f - ld a, $c8 - ld [$d724], a - ld [$d731], a - xor a - ld [$d721], a - ld hl, $d70c - dec [hl] - ld a, [hl] - cp $2 - jr z, .asm_24e55 + ld a, [$d721] + cp $4 + jr nz, .asm_24e1f + ld a, $c8 + ld [$d724], a + ld [$d731], a + xor a + ld [$d721], a + ld hl, $d70c + dec [hl] + ld a, [hl] + cp $2 + jr z, .asm_24e55 .asm_24e1f - ld a, [$d722] - cp $4 - jr nz, .asm_24e3b - ld a, $c8 - ld [$d725], a - ld [$d732], a - xor a - ld [$d722], a - ld hl, $d70c - dec [hl] - ld a, [hl] - cp $2 - jr z, .asm_24e55 + ld a, [$d722] + cp $4 + jr nz, .asm_24e3b + ld a, $c8 + ld [$d725], a + ld [$d732], a + xor a + ld [$d722], a + ld hl, $d70c + dec [hl] + ld a, [hl] + cp $2 + jr z, .asm_24e55 .asm_24e3b - ld a, [$d723] - cp $4 - ret nz - ld a, $c8 - ld [$d726], a - ld [$d733], a - xor a - ld [$d723], a - ld hl, $d70c - dec [hl] - ld a, [hl] - cp $2 - ret nz + ld a, [$d723] + cp $4 + ret nz + ld a, $c8 + ld [$d726], a + ld [$d733], a + xor a + ld [$d723], a + ld hl, $d70c + dec [hl] + ld a, [hl] + cp $2 + ret nz .asm_24e55 - ld a, [$d713] - and a - ret nz - ld a, [wMeowthXMovement] - cp $ff - jr z, .asm_24e70 - ld hl, $46f5 - ld de, wMeowthAnimationFrameCounter - call CopyHLToDE - ld a, $1 - ld [$d6ec], a - ret + ld a, [$d713] + and a + ret nz + ld a, [wMeowthXMovement] + cp $ff + jr z, .asm_24e70 + ld hl, $46f5 + ld de, wMeowthAnimationFrameCounter + call CopyHLToDE + ld a, $1 + ld [$d6ec], a + ret .asm_24e70 - ld hl, $46ec - ld de, wMeowthAnimationFrameCounter - call CopyHLToDE - ld a, $0 - ld [$d6ec], a - ret + ld hl, $46ec + ld de, wMeowthAnimationFrameCounter + call CopyHLToDE + ld a, $0 + ld [$d6ec], a + ret Func_24e7f: ; 0x24e7f - ld a, b - ld [$d79c], a - ld a, c - ld [$d79e], a - ld hl, wMeowthStageBonusCounter - inc [hl] - ld a, [hl] - cp $7 ; maximum bonus - jr nz, .asm_24e92 - xor a - ld [hl], a + ld a, b + ld [$d79c], a + ld a, c + ld [$d79e], a + ld hl, wMeowthStageBonusCounter + inc [hl] + ld a, [hl] + cp $7 ; maximum bonus + jr nz, .asm_24e92 + xor a + ld [hl], a .asm_24e92 - ld a, $ff - ld [$d803], a - ld a, $3 - ld [$d804], a - ld de, $0032 - call PlaySoundEffect - ld a, [wMeowthStageBonusCounter] - dec a + ld a, $ff + ld [$d803], a + ld a, $3 + ld [$d804], a + ld de, $0032 + call PlaySoundEffect + ld a, [wMeowthStageBonusCounter] + dec a .asm_24ea6 - push af - ld bc, $34d6 - ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch - ld hl, wMeowthStageScore - inc [hl] - pop af - and a - jr z, .asm_24ebf - dec a - jr .asm_24ea6 + push af + ld bc, $34d6 + ld [$ff8a], a + ld a, Bank(Func_8576) + ld hl, Func_8576 + call BankSwitch + ld hl, wMeowthStageScore + inc [hl] + pop af + and a + jr z, .asm_24ebf + dec a + jr .asm_24ea6 .asm_24ebf - ld a, [wMeowthStageBonusCounter] - dec a - dec a - cp $fe - jr z, .asm_24ed7 - cp $ff - jr z, .asm_24ed7 - ld [$d79a], a - ld de, $d79a - call Func_24ee7 - jr .asm_24ede + ld a, [wMeowthStageBonusCounter] + dec a + dec a + cp $fe + jr z, .asm_24ed7 + cp $ff + jr z, .asm_24ed7 + ld [$d79a], a + ld de, $d79a + call Func_24ee7 + jr .asm_24ede .asm_24ed7 - xor a - ld [$d79a], a - ld [$d795], a + xor a + ld [$d79a], a + ld [$d795], a .asm_24ede - ld a, $1 - ld [$d64e], a - call Func_24fa3 - ret + ld a, $1 + ld [$d64e], a + call Func_24fa3 + ret Func_24ee7: ; 0x24ee7 - ld a, $ff - ld [$d795], a - ld a, [de] - sla a - ld c, a - ld b, $0 - ld hl, $4f30 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - dec de - dec de - dec de - call CopyHLToDE - ret + ld a, $ff + ld [$d795], a + ld a, [de] + sla a + ld c, a + ld b, $0 + ld hl, $4f30 + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + dec de + dec de + dec de + call CopyHLToDE + ret Func_24f00: ; 0x24f00 - ld a, [de] - sla a - ld c, a - ld b, $0 - ld hl, $4f30 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - push de - dec de - dec de - dec de - call UpdateAnimation - pop de - ld a, $1 - ld [$d710], a - ret nc - dec de - ld a, [de] - cp $a - ret nz - xor a - ld [de], a - ld [$d79c], a - ld [$d79e], a - ld [$d795], a - xor a - ld [$d710], a - ret - -INCBIN "baserom.gbc",$24f30,$24fa3 - $24f30 + ld a, [de] + sla a + ld c, a + ld b, $0 + ld hl, $4f30 + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + push de + dec de + dec de + dec de + call UpdateAnimation + pop de + ld a, $1 + ld [$d710], a + ret nc + dec de + ld a, [de] + cp $a + ret nz + xor a + ld [de], a + ld [$d79c], a + ld [$d79e], a + ld [$d795], a + xor a + ld [$d710], a + ret + + dr $24f30, $24fa3 Func_24fa3: ; 0x24fa3 - ld a, [wMeowthStageScore] - ld c, a - ld b, $0 + ld a, [wMeowthStageScore] + ld c, a + ld b, $0 .asm_24fa9 - ld a, c - and a - jr z, .asm_24fb5 - ld a, b - add $8 - ld b, a - dec c - ld a, c - jr .asm_24fa9 + ld a, c + and a + jr z, .asm_24fb5 + ld a, b + add $8 + ld b, a + dec c + ld a, c + jr .asm_24fa9 .asm_24fb5 - ld a, b - and a - jr z, .asm_24fbb - sub $8 + ld a, b + and a + jr z, .asm_24fbb + sub $8 .asm_24fbb - ld [$d652], a - ld a, [wMeowthStageBonusCounter] - and a - jr z, .asm_24fca - ld b, a - ld a, [wMeowthStageScore] - inc a - sub b + ld [$d652], a + ld a, [wMeowthStageBonusCounter] + and a + jr z, .asm_24fca + ld b, a + ld a, [wMeowthStageScore] + inc a + sub b .asm_24fca - ld [$d651], a - ld a, $0 - ld [$d64e], a - ld a, [wMeowthStageScore] - and a - ret z - cp $15 - jr c, .asm_24fe2 - ld a, $14 - ld [wMeowthStageScore], a - jr .asm_24fed + ld [$d651], a + ld a, $0 + ld [$d64e], a + ld a, [wMeowthStageScore] + and a + ret z + cp $15 + jr c, .asm_24fe2 + ld a, $14 + ld [wMeowthStageScore], a + jr .asm_24fed .asm_24fe2 - push af - xor a - ld [$d650], a - ld a, $1 - ld [$d64e], a - pop af + push af + xor a + ld [$d650], a + ld a, $1 + ld [$d64e], a + pop af .asm_24fed - sla a - ld c, a - ld b, $0 - ld hl, $5007 - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_24ffd - ld hl, $5421 + sla a + ld c, a + ld b, $0 + ld hl, $5007 + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_24ffd + ld hl, $5421 .asm_24ffd - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld a, $9 - call Func_10aa - ret + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld a, $9 + call Func_10aa + ret -INCBIN "baserom.gbc",$25007,$2583b - $25007 + dr $25007, $2583b Func_2583b: ; 0x2583b - ld bc, $7f65 - ld [$ff8a], a - ld a, Bank(Func_175a4) - ld hl, Func_175a4 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_e4a1) - ld hl, Func_e4a1 - call BankSwitch - call Func_259fe - call Func_25895 - call Func_2595e - call Func_2586c - ld [$ff8a], a - ld a, Bank(Func_17e81) - ld hl, Func_17e81 - call BankSwitch - call Func_25a39 - ret + ld bc, $7f65 + ld [$ff8a], a + ld a, Bank(Func_175a4) + ld hl, Func_175a4 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_e4a1) + ld hl, Func_e4a1 + call BankSwitch + call Func_259fe + call Func_25895 + call Func_2595e + call Func_2586c + ld [$ff8a], a + ld a, Bank(Func_17e81) + ld hl, Func_17e81 + call BankSwitch + call Func_25a39 + ret Func_2586c: ; 0x2586c - ld a, [wMeowthXPosition] - ld hl, hBoardXShift - sub [hl] - ld b, a - ld a, [wMeowthYPosition] - ld hl, hBoardYShift - sub [hl] - ld c, a - ld a, [wMeowthAnimationFrame] - ld e, a - ld d, $0 - ld hl, $588b - add hl, de - ld a, [hl] - call LoadOAMData2 - ret - -INCBIN "baserom.gbc",$2588b,$25895 - $2588b + ld a, [wMeowthXPosition] + ld hl, hBoardXShift + sub [hl] + ld b, a + ld a, [wMeowthYPosition] + ld hl, hBoardYShift + sub [hl] + ld c, a + ld a, [wMeowthAnimationFrame] + ld e, a + ld d, $0 + ld hl, $588b + add hl, de + ld a, [hl] + call LoadOAMData2 + ret + + dr $2588b, $25895 Func_25895: ; 0x25895 - ld a, [$d714] - cp $b - jr nz, .asm_258a0 - xor a - ld [$d714], a + ld a, [$d714] + cp $b + jr nz, .asm_258a0 + xor a + ld [$d714], a .asm_258a0 - ld a, [$d715] - cp $b - jr nz, .asm_258ab - xor a - ld [$d715], a + ld a, [$d715] + cp $b + jr nz, .asm_258ab + xor a + ld [$d715], a .asm_258ab - ld a, [$d716] - cp $b - jr nz, .asm_258b6 - xor a - ld [$d716], a + ld a, [$d716] + cp $b + jr nz, .asm_258b6 + xor a + ld [$d716], a .asm_258b6 - ld a, [$d71a] - ld hl, hBoardXShift - sub [hl] - ld b, a - ld a, [$d727] - ld hl, hBoardYShift - sub [hl] - ld c, a - ld a, [$d717] - sla a - ld e, a - ld d, $0 - ld hl, $5935 - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [$d714] - ld e, a - ld d, $0 - add hl, de - ld a, [hl] - call LoadOAMData2 - ld a, [$d71b] - ld hl, hBoardXShift - sub [hl] - ld b, a - ld a, [$d728] - ld hl, hBoardYShift - sub [hl] - ld c, a - ld a, [$d718] - sla a - ld e, a - ld d, $0 - ld hl, $5935 - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [$d715] - ld e, a - ld d, $0 - add hl, de - ld a, [hl] - call LoadOAMData2 - ld a, [$d71c] - ld hl, hBoardXShift - sub [hl] - ld b, a - ld a, [$d729] - ld hl, hBoardYShift - sub [hl] - ld c, a - ld a, [$d719] - sla a - ld e, a - ld d, $0 - ld hl, $5935 - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [$d716] - ld e, a - ld d, $0 - add hl, de - ld a, [hl] - call LoadOAMData2 - ret - -INCBIN "baserom.gbc",$25935,$2595e - $25935 + ld a, [$d71a] + ld hl, hBoardXShift + sub [hl] + ld b, a + ld a, [$d727] + ld hl, hBoardYShift + sub [hl] + ld c, a + ld a, [$d717] + sla a + ld e, a + ld d, $0 + ld hl, $5935 + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [$d714] + ld e, a + ld d, $0 + add hl, de + ld a, [hl] + call LoadOAMData2 + ld a, [$d71b] + ld hl, hBoardXShift + sub [hl] + ld b, a + ld a, [$d728] + ld hl, hBoardYShift + sub [hl] + ld c, a + ld a, [$d718] + sla a + ld e, a + ld d, $0 + ld hl, $5935 + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [$d715] + ld e, a + ld d, $0 + add hl, de + ld a, [hl] + call LoadOAMData2 + ld a, [$d71c] + ld hl, hBoardXShift + sub [hl] + ld b, a + ld a, [$d729] + ld hl, hBoardYShift + sub [hl] + ld c, a + ld a, [$d719] + sla a + ld e, a + ld d, $0 + ld hl, $5935 + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [$d716] + ld e, a + ld d, $0 + add hl, de + ld a, [hl] + call LoadOAMData2 + ret + + dr $25935, $2595e Func_2595e: ; 0x2595e - ld a, [$d71e] - cp $b - jr nz, .asm_25969 - xor a - ld [$d71e], a + ld a, [$d71e] + cp $b + jr nz, .asm_25969 + xor a + ld [$d71e], a .asm_25969 - ld a, [$d71f] - cp $b - jr nz, .asm_25974 - xor a - ld [$d71f], a + ld a, [$d71f] + cp $b + jr nz, .asm_25974 + xor a + ld [$d71f], a .asm_25974 - ld a, [$d720] - cp $b - jr nz, .asm_2597f - xor a - ld [$d720], a + ld a, [$d720] + cp $b + jr nz, .asm_2597f + xor a + ld [$d720], a .asm_2597f - ld a, [$d724] - ld hl, hBoardXShift - sub [hl] - ld b, a - ld a, [$d731] - ld hl, hBoardYShift - sub [hl] - ld c, a - ld a, [$d721] - sla a - ld e, a - ld d, $0 - ld hl, $5935 - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [$d71e] - ld e, a - ld d, $0 - add hl, de - ld a, [hl] - call LoadOAMData2 - ld a, [$d725] - ld hl, hBoardXShift - sub [hl] - ld b, a - ld a, [$d732] - ld hl, hBoardYShift - sub [hl] - ld c, a - ld a, [$d722] - sla a - ld e, a - ld d, $0 - ld hl, $5935 - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [$d71f] - ld e, a - ld d, $0 - add hl, de - ld a, [hl] - call LoadOAMData2 - ld a, [$d726] - ld hl, hBoardXShift - sub [hl] - ld b, a - ld a, [$d733] - ld hl, hBoardYShift - sub [hl] - ld c, a - ld a, [$d723] - sla a - ld e, a - ld d, $0 - ld hl, $5935 - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [$d720] - ld e, a - ld d, $0 - add hl, de - ld a, [hl] - call LoadOAMData2 - ret + ld a, [$d724] + ld hl, hBoardXShift + sub [hl] + ld b, a + ld a, [$d731] + ld hl, hBoardYShift + sub [hl] + ld c, a + ld a, [$d721] + sla a + ld e, a + ld d, $0 + ld hl, $5935 + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [$d71e] + ld e, a + ld d, $0 + add hl, de + ld a, [hl] + call LoadOAMData2 + ld a, [$d725] + ld hl, hBoardXShift + sub [hl] + ld b, a + ld a, [$d732] + ld hl, hBoardYShift + sub [hl] + ld c, a + ld a, [$d722] + sla a + ld e, a + ld d, $0 + ld hl, $5935 + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [$d71f] + ld e, a + ld d, $0 + add hl, de + ld a, [hl] + call LoadOAMData2 + ld a, [$d726] + ld hl, hBoardXShift + sub [hl] + ld b, a + ld a, [$d733] + ld hl, hBoardYShift + sub [hl] + ld c, a + ld a, [$d723] + sla a + ld e, a + ld d, $0 + ld hl, $5935 + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [$d720] + ld e, a + ld d, $0 + add hl, de + ld a, [hl] + call LoadOAMData2 + ret Func_259fe: ; 0x259fe - ld a, [$d795] - and a - ret z - ld de, $d79c - ld a, [de] - ld hl, hBoardXShift - sub [hl] - ld b, a - inc de - inc de - ld a, [de] - ld hl, hBoardYShift - sub [hl] - ld c, a - dec de - dec de - dec de - dec de - dec de - dec de - ld a, [de] - ld e, a - ld d, $0 - ld hl, $5a29 - add hl, de - ld a, [hl] - cp $ff - call nz, LoadOAMData2 - ret - -INCBIN "baserom.gbc",$25a29,$25a39 - $25a29 + ld a, [$d795] + and a + ret z + ld de, $d79c + ld a, [de] + ld hl, hBoardXShift + sub [hl] + ld b, a + inc de + inc de + ld a, [de] + ld hl, hBoardYShift + sub [hl] + ld c, a + dec de + dec de + dec de + dec de + dec de + dec de + ld a, [de] + ld e, a + ld d, $0 + ld hl, $5a29 + add hl, de + ld a, [hl] + cp $ff + call nz, LoadOAMData2 + ret + + dr $25a29, $25a39 Func_25a39: ; 0x25a39 - ld a, [$d64e] - and a - ret z - ld a, [$d652] - ld hl, hBoardXShift - sub [hl] - ld b, a - xor a - ld hl, hBoardYShift - sub [hl] - ld c, a - ld a, [$d64f] - cp $a - jr c, .asm_25a58 - ld de, $0000 - jr .asm_25a5b + ld a, [$d64e] + and a + ret z + ld a, [$d652] + ld hl, hBoardXShift + sub [hl] + ld b, a + xor a + ld hl, hBoardYShift + sub [hl] + ld c, a + ld a, [$d64f] + cp $a + jr c, .asm_25a58 + ld de, $0000 + jr .asm_25a5b .asm_25a58 - ld de, $0001 + ld de, $0001 .asm_25a5b - ld hl, $5a7a - add hl, de - ld a, [hl] - call LoadOAMData2 - ld hl, $d64f - inc [hl] - ld a, [hl] - cp $14 - ret c - ld [hl], $0 - ld hl, $d650 - inc [hl] - ld a, [hl] - cp $a - ret nz - xor a - ld [$d64e], a - ret - -INCBIN "baserom.gbc",$25a7a,$25a7c - $25a7a + ld hl, $5a7a + add hl, de + ld a, [hl] + call LoadOAMData2 + ld hl, $d64f + inc [hl] + ld a, [hl] + cp $14 + ret c + ld [hl], $0 + ld hl, $d650 + inc [hl] + ld a, [hl] + cp $a + ret nz + xor a + ld [$d64e], a + ret + + dr $25a7a, $25a7c InitSeelBonusStage: ; 0x25a7c - ld a, [$d7c1] - and a - ret nz - xor a - ld [$d4c8], a - ld [wStageCollisionState], a - ld a, $1 - ld [$d7ac], a - ld a, [wBallType] - ld [wBallTypeBackup], a - xor a - ld [$d4c8], a - ld [wBallType], a - ld [$d49a], a - ld hl, $5ae5 ; todo - ld de, $d76d - call Func_25ad8 - ld de, $d777 - call Func_25ad8 - ld de, $d781 - call Func_25ad8 - xor a - ld [$d793], a - ld [$d791], a - ld [$d792], a - ld [$d739], a - ld bc, $0130 ; 1 minute 30 seconds - ld [$ff8a], a - ld a, Bank(StartTimer) - ld hl, StartTimer - call BankSwitch - ld a, $11 - call SetSongBank - ld de, $0003 - call PlaySong - ret + ld a, [$d7c1] + and a + ret nz + xor a + ld [$d4c8], a + ld [wStageCollisionState], a + ld a, $1 + ld [$d7ac], a + ld a, [wBallType] + ld [wBallTypeBackup], a + xor a + ld [$d4c8], a + ld [wBallType], a + ld [$d49a], a + ld hl, $5ae5 ; todo + ld de, $d76d + call Func_25ad8 + ld de, $d777 + call Func_25ad8 + ld de, $d781 + call Func_25ad8 + xor a + ld [$d793], a + ld [$d791], a + ld [$d792], a + ld [$d739], a + ld bc, $0130 ; 1 minute 30 seconds + ld [$ff8a], a + ld a, Bank(StartTimer) + ld hl, StartTimer + call BankSwitch + ld a, $11 + call SetSongBank + ld de, $0003 + call PlaySong + ret Func_25ad8: ; 0x25ad8 - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ret - -INCBIN "baserom.gbc",$25ae5,$25af1 - $25ae5 + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ret + + dr $25ae5, $25af1 StartBallSeelBonusStage: ; 0x25af1 - ld a, $0 - ld [wBallXPos], a - ld a, $a6 - ld [wBallXPos + 1], a - ld a, $0 - ld [wBallYPos], a - ld a, $56 - ld [wBallYPos + 1], a - ld a, $80 - ld [wBallXVelocity], a - xor a - ld [$d7ab], a - ld [wStageCollisionState], a - ld [$d766], a - ld a, $0 - ld [$d772], a - ld a, $1 - ld [$d77c], a - ld a, $0 - ld [$d786], a - ld a, $4 - ld [$d775], a - ld [$d77f], a - ld [$d76b], a - ld a, $1 - ld [$d76c], a - ld a, $4 - ld [$d776], a - ld a, $1 - ld [$d780], a - ld a, $5 - ld [$d771], a - ld [$d77b], a - ld [$d785], a - ld a, $ff - ld [$d79a], a - xor a - ld [$d792], a - ld [$d791], a - ld [$d64e], a - ld [$d64f], a - ld [$d650], a - ld [$d651], a - ld [$d795], a - ld [$d796], a - ld [$d797], a - ld [$d798], a - ld [$d799], a - ld [$d79a], a - ld de, $d76b - ld a, [$d76c] - call Func_26137 - ld de, $d775 - ld a, [$d776] - call Func_26137 - ld de, $d77f - ld a, [$d780] - call Func_26137 - ld a, [$d4c9] - and a - ret z - xor a - ld [$d4c9], a - ret + ld a, $0 + ld [wBallXPos], a + ld a, $a6 + ld [wBallXPos + 1], a + ld a, $0 + ld [wBallYPos], a + ld a, $56 + ld [wBallYPos + 1], a + ld a, $80 + ld [wBallXVelocity], a + xor a + ld [$d7ab], a + ld [wStageCollisionState], a + ld [$d766], a + ld a, $0 + ld [$d772], a + ld a, $1 + ld [$d77c], a + ld a, $0 + ld [$d786], a + ld a, $4 + ld [$d775], a + ld [$d77f], a + ld [$d76b], a + ld a, $1 + ld [$d76c], a + ld a, $4 + ld [$d776], a + ld a, $1 + ld [$d780], a + ld a, $5 + ld [$d771], a + ld [$d77b], a + ld [$d785], a + ld a, $ff + ld [$d79a], a + xor a + ld [$d792], a + ld [$d791], a + ld [$d64e], a + ld [$d64f], a + ld [$d650], a + ld [$d651], a + ld [$d795], a + ld [$d796], a + ld [$d797], a + ld [$d798], a + ld [$d799], a + ld [$d79a], a + ld de, $d76b + ld a, [$d76c] + call Func_26137 + ld de, $d775 + ld a, [$d776] + call Func_26137 + ld de, $d77f + ld a, [$d780] + call Func_26137 + ld a, [$d4c9] + and a + ret z + xor a + ld [$d4c9], a + ret Func_25b97: ; 0x25b97 - ld [$ff8a], a - ld a, Bank(Func_142fc) - ld hl, Func_142fc - call BankSwitch - call Func_2862 - ld [$ff8a], a - ld a, Bank(Func_262f4) - ld hl, Func_262f4 - call BankSwitch - call Func_25d0e - ld [$ff8a], a - ld a, Bank(Func_1404a) - ld hl, Func_1404a - call BankSwitch - ret + ld [$ff8a], a + ld a, Bank(Func_142fc) + ld hl, Func_142fc + call BankSwitch + call Func_2862 + ld [$ff8a], a + ld a, Bank(Func_262f4) + ld hl, Func_262f4 + call BankSwitch + call Func_25d0e + ld [$ff8a], a + ld a, Bank(Func_1404a) + ld hl, Func_1404a + call BankSwitch + ret Func_25bbc: ; 0x25bbc - call Func_25bc0 - ret + call Func_25bc0 + ret Func_25bc0: ; 0x25bc0 - ld a, [$d76c] - cp $0 - jr nz, .asm_25bd8 - ld a, [$d76e] - ld b, a - ld a, [$d770] - add $14 - ld c, a - call Func_25c12 - ld a, $0 - jr c, .asm_25c09 + ld a, [$d76c] + cp $0 + jr nz, .asm_25bd8 + ld a, [$d76e] + ld b, a + ld a, [$d770] + add $14 + ld c, a + call Func_25c12 + ld a, $0 + jr c, .asm_25c09 .asm_25bd8 - ld a, [$d776] - cp $0 - jr nz, .asm_25bf0 - ld a, [$d778] - ld b, a - ld a, [$d77a] - add $14 - ld c, a - call Func_25c12 - ld a, $1 - jr c, .asm_25c09 + ld a, [$d776] + cp $0 + jr nz, .asm_25bf0 + ld a, [$d778] + ld b, a + ld a, [$d77a] + add $14 + ld c, a + call Func_25c12 + ld a, $1 + jr c, .asm_25c09 .asm_25bf0 - ld a, [$d780] - cp $0 - jr nz, .asm_25c08 - ld a, [$d782] - ld b, a - ld a, [$d784] - add $14 - ld c, a - call Func_25c12 - ld a, $2 - jr c, .asm_25c09 + ld a, [$d780] + cp $0 + jr nz, .asm_25c08 + ld a, [$d782] + ld b, a + ld a, [$d784] + add $14 + ld c, a + call Func_25c12 + ld a, $2 + jr c, .asm_25c09 .asm_25c08 - ret + ret .asm_25c09 - ld [$d768], a - ld a, $1 - ld [$d767], a - ret + ld [$d768], a + ld a, $1 + ld [$d767], a + ret Func_25c12: ; 0x25c12 - ld a, [wBallXPos + 1] - sub b - cp $20 - jr nc, .asm_25c58 - ld b, a - ld a, [wBallYPos + 1] - sub c - cp $20 - jr nc, .asm_25c58 - ld c, a - ld e, c - ld d, $0 - sla e - rl d - sla e - rl d - sla e - rl d - sla e - rl d - sla e - rl d - ld l, b - ld h, $0 - add hl, de - ld de, $5100 ; todo - add hl, de - ld a, $3a ; TODO: hardcoded bank - call ReadByteFromBank - bit 7, a - jr nz, .asm_25c58 - sla a - ld [$d7ea], a - ld a, $1 - ld [$d7e9], a - scf - ret + ld a, [wBallXPos + 1] + sub b + cp $20 + jr nc, .asm_25c58 + ld b, a + ld a, [wBallYPos + 1] + sub c + cp $20 + jr nc, .asm_25c58 + ld c, a + ld e, c + ld d, $0 + sla e + rl d + sla e + rl d + sla e + rl d + sla e + rl d + sla e + rl d + ld l, b + ld h, $0 + add hl, de + ld de, $5100 ; todo + add hl, de + ld a, $3a ; TODO: hardcoded bank + call ReadByteFromBank + bit 7, a + jr nz, .asm_25c58 + sla a + ld [$d7ea], a + ld a, $1 + ld [$d7e9], a + scf + ret .asm_25c58 - and a - ret + and a + ret Func_25c5a: ; 0x25c5a - call Func_25da3 - call Func_25ced - ld a, [$d793] - cp $14 - jr c, .asm_25c98 - ld a, [$d794] - cp $2 - jr nc, .asm_25c98 - ld a, $1 - ld [$d498], a - ld de, $0000 - call PlaySong - ld a, $1 - ld [$d49a], a - call Func_30e8 - call Func_30db - ld hl, $d5dc - ld de, $2fec - call Func_32aa - ld a, $2 - ld [$d794], a - ld de, $4b2a - call PlaySoundEffect + call Func_25da3 + call Func_25ced + ld a, [$d793] + cp $14 + jr c, .asm_25c98 + ld a, [$d794] + cp $2 + jr nc, .asm_25c98 + ld a, $1 + ld [$d498], a + ld de, $0000 + call PlaySong + ld a, $1 + ld [$d49a], a + call Func_30e8 + call Func_30db + ld hl, $d5dc + ld de, $2fec + call Func_32aa + ld a, $2 + ld [$d794], a + ld de, $4b2a + call PlaySoundEffect .asm_25c98 - ld a, [$d794] - cp $2 - jr nz, .asm_25cb0 - ld a, [$d800] - and a - jr nz, .asm_25cb0 - ld de, $0003 - call PlaySong - ld a, $5 - ld [$d794], a + ld a, [$d794] + cp $2 + jr nz, .asm_25cb0 + ld a, [$d800] + and a + jr nz, .asm_25cb0 + ld de, $0003 + call PlaySong + ld a, $5 + ld [$d794], a .asm_25cb0 - ld a, [$d794] - cp $2 - jr z, .asm_25cc1 - ld [$ff8a], a - ld a, Bank(Func_107f8) - ld hl, Func_107f8 - call BankSwitch + ld a, [$d794] + cp $2 + jr z, .asm_25cc1 + ld [$ff8a], a + ld a, Bank(Func_107f8) + ld hl, Func_107f8 + call BankSwitch .asm_25cc1 - ld a, [$d57e] - and a - ret z - xor a - ld [$d57e], a - ld a, $1 - ld [$d7be], a - call Func_2862 - ld [$ff8a], a - ld a, Bank(Func_86d2) - ld hl, Func_86d2 - call BankSwitch - ld a, $3 - ld [$d791], a - ld a, [$d794] - cp $5 - ret z - ld a, $1 - ld [$d794], a - ret + ld a, [$d57e] + and a + ret z + xor a + ld [$d57e], a + ld a, $1 + ld [$d7be], a + call Func_2862 + ld [$ff8a], a + ld a, Bank(Func_86d2) + ld hl, Func_86d2 + call BankSwitch + ld a, $3 + ld [$d791], a + ld a, [$d794] + cp $5 + ret z + ld a, $1 + ld [$d794], a + ret Func_25ced: ; 0x25ced - ld a, [$d766] - and a - ret nz - ld a, [$d4b4] - cp $8a - ret nc - ld a, $1 - ld [wStageCollisionState], a - ld [$d766], a - ld [$ff8a], a - ld a, Bank(LoadStageCollisionAttributes) - ld hl, LoadStageCollisionAttributes - call BankSwitch - call Func_25d0e - ret + ld a, [$d766] + and a + ret nz + ld a, [$d4b4] + cp $8a + ret nc + ld a, $1 + ld [wStageCollisionState], a + ld [$d766], a + ld [$ff8a], a + ld a, Bank(LoadStageCollisionAttributes) + ld hl, LoadStageCollisionAttributes + call BankSwitch + call Func_25d0e + ret Func_25d0e: ; 0x25d0e - ld a, [wStageCollisionState] - sla a - ld c, a - ld b, $0 - ld hl, $5d2b - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_25d21 - ld hl, $5d67 + ld a, [wStageCollisionState] + sla a + ld c, a + ld b, $0 + ld hl, $5d2b + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_25d21 + ld hl, $5d67 .asm_25d21 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld a, $9 - call Func_10aa - ret + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld a, $9 + call Func_10aa + ret -INCBIN "baserom.gbc",$25d2b,$25da3 - $25d2b + dr $25d2b, $25da3 Func_25da3: ; 0x25da3 - ld a, [$d767] - and a - jp z, .asm_25e38 - xor a - ld [$d767], a - ld a, [$d768] - sla a - ld c, a - sla a - sla a - add c - ld c, a - ld b, $0 - ld hl, $d76c - add hl, bc - ld d, h - ld e, l - ld a, $9 - ld [de], a - dec de - dec de - dec de - push bc - ld hl, $61d8 - call CopyHLToDE - pop bc - ld hl, $d76e - add hl, bc - ld a, [hl] - ld [$d79c], a - ld hl, $d770 - add hl, bc - ld a, [hl] - add $8 - ld [$d79e], a - ld a, [$d792] - cp $9 - jr nz, .asm_25df1 - ld a, $0 - ld [$d792], a - ld [$d79a], a + ld a, [$d767] + and a + jp z, .asm_25e38 + xor a + ld [$d767], a + ld a, [$d768] + sla a + ld c, a + sla a + sla a + add c + ld c, a + ld b, $0 + ld hl, $d76c + add hl, bc + ld d, h + ld e, l + ld a, $9 + ld [de], a + dec de + dec de + dec de + push bc + ld hl, $61d8 + call CopyHLToDE + pop bc + ld hl, $d76e + add hl, bc + ld a, [hl] + ld [$d79c], a + ld hl, $d770 + add hl, bc + ld a, [hl] + add $8 + ld [$d79e], a + ld a, [$d792] + cp $9 + jr nz, .asm_25df1 + ld a, $0 + ld [$d792], a + ld [$d79a], a .asm_25df1 - ld a, [$d792] - dec a - cp $ff - jr z, .asm_25e04 - ld [$d79a], a - ld de, $d79a - call Func_261f9 - jr .asm_25e07 + ld a, [$d792] + dec a + cp $ff + jr z, .asm_25e04 + ld [$d79a], a + ld de, $d79a + call Func_261f9 + jr .asm_25e07 .asm_25e04 - ld [$d79a], a + ld [$d79a], a .asm_25e07 - ld a, $33 - ld [$d803], a - ld a, $8 - ld [$d804], a - ld de, $0030 - call PlaySoundEffect - call Func_25e85 - ld hl, $d792 - inc [hl] - ld a, [$d793] - cp $14 - ret nc - ld hl, $d793 - inc [hl] - ld a, [$d792] - dec a - ld b, a - ld a, [hl] - add b - ld [hl], a - ld a, $1 - ld [$d64e], a - call Func_262f4 + ld a, $33 + ld [$d803], a + ld a, $8 + ld [$d804], a + ld de, $0030 + call PlaySoundEffect + call Func_25e85 + ld hl, $d792 + inc [hl] + ld a, [$d793] + cp $14 + ret nc + ld hl, $d793 + inc [hl] + ld a, [$d792] + dec a + ld b, a + ld a, [hl] + add b + ld [hl], a + ld a, $1 + ld [$d64e], a + call Func_262f4 .asm_25e38 - ld de, $d76c ; I think these three calls are one for each Seel swimming around - call Func_25f47 - ld de, $d776 - call Func_25f47 - ld de, $d780 - call Func_25f47 - ld a, [$d792] - dec a - cp $ff - jr z, .asm_25e5d - ld [$d79a], a - ld de, $d79a - call Func_26212 - jr .asm_25e60 + ld de, $d76c ; I think these three calls are one for each Seel swimming around + call Func_25f47 + ld de, $d776 + call Func_25f47 + ld de, $d780 + call Func_25f47 + ld a, [$d792] + dec a + cp $ff + jr z, .asm_25e5d + ld [$d79a], a + ld de, $d79a + call Func_26212 + jr .asm_25e60 .asm_25e5d - ld [$d79a], a + ld [$d79a], a .asm_25e60 - ld bc, $087a ; again, probably one call for each Seel swimming around - ld de, $d76d - ld hl, $d772 - call Func_25ec5 - ld bc, $087a - ld de, $d777 - ld hl, $d77c - call Func_25ec5 - ld bc, $087a - ld de, $d781 - ld hl, $d786 - call Func_25ec5 - ret + ld bc, $087a ; again, probably one call for each Seel swimming around + ld de, $d76d + ld hl, $d772 + call Func_25ec5 + ld bc, $087a + ld de, $d777 + ld hl, $d77c + call Func_25ec5 + ld bc, $087a + ld de, $d781 + ld hl, $d786 + call Func_25ec5 + ret Func_25e85: ; 0x25e85 - ld a, [$d792] - inc a - ld d, $1 - ld e, a - ld a, $1 + ld a, [$d792] + inc a + ld d, $1 + ld e, a + ld a, $1 .asm_25e8e - cp e - jr z, .asm_25e96 - sla d - inc a - jr .asm_25e8e + cp e + jr z, .asm_25e96 + sla d + inc a + jr .asm_25e8e .asm_25e96 - push de - ld a, d - cp $32 - jr nc, .asm_25ead - ld bc, $34d6 - ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch - pop de - dec d - jr .asm_25ebf + push de + ld a, d + cp $32 + jr nc, .asm_25ead + ld bc, $34d6 + ld [$ff8a], a + ld a, Bank(Func_8576) + ld hl, Func_8576 + call BankSwitch + pop de + dec d + jr .asm_25ebf .asm_25ead - ld bc, $34ee - ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch - pop de - ld a, d - sub $32 - ld d, a + ld bc, $34ee + ld [$ff8a], a + ld a, Bank(Func_8576) + ld hl, Func_8576 + call BankSwitch + pop de + ld a, d + sub $32 + ld d, a .asm_25ebf - ld a, d - cp $0 - jr nz, .asm_25e96 - ret + ld a, d + cp $0 + jr nz, .asm_25e96 + ret Func_25ec5: ; 0x25ec5 - dec de - ld a, [de] - cp $1 - jr z, .asm_25ece - cp $4 - ret nz + dec de + ld a, [de] + cp $1 + jr z, .asm_25ece + cp $4 + ret nz .asm_25ece - inc de - push hl - ld a, [hld] - push af - push bc - ld a, [hl] - and $f - ld c, a - ld b, $0 - ld hl, $5f27 - add hl, bc - pop bc - pop af - and a - jr nz, .asm_25f05 - ld a, [de] - add [hl] - ld [de], a - inc de - ld a, [de] - adc $0 - ld [de], a - pop hl - cp c - ret c - ld a, $1 - ld [hl], a - dec hl - dec hl - dec hl - dec hl - dec hl - dec hl - ld a, $7 - ld [hl], a - dec hl - dec hl - dec hl - ld d, h - ld e, l - ld hl, $61c2 - call CopyHLToDE - ret + inc de + push hl + ld a, [hld] + push af + push bc + ld a, [hl] + and $f + ld c, a + ld b, $0 + ld hl, $5f27 + add hl, bc + pop bc + pop af + and a + jr nz, .asm_25f05 + ld a, [de] + add [hl] + ld [de], a + inc de + ld a, [de] + adc $0 + ld [de], a + pop hl + cp c + ret c + ld a, $1 + ld [hl], a + dec hl + dec hl + dec hl + dec hl + dec hl + dec hl + ld a, $7 + ld [hl], a + dec hl + dec hl + dec hl + ld d, h + ld e, l + ld hl, $61c2 + call CopyHLToDE + ret .asm_25f05 - ld a, [de] - sub [hl] - ld [de], a - inc de - ld a, [de] - sbc $0 - ld [de], a - pop hl - cp b - ret nc - xor a - ld [hl], a - dec hl - dec hl - dec hl - dec hl - dec hl - dec hl - ld a, $8 - ld [hl], a - dec hl - dec hl - dec hl - ld d, h - ld e, l - ld hl, $61cd - call CopyHLToDE - ret - -INCBIN "baserom.gbc",$25f27,$25f47 - $25f27 + ld a, [de] + sub [hl] + ld [de], a + inc de + ld a, [de] + sbc $0 + ld [de], a + pop hl + cp b + ret nc + xor a + ld [hl], a + dec hl + dec hl + dec hl + dec hl + dec hl + dec hl + ld a, $8 + ld [hl], a + dec hl + dec hl + dec hl + ld d, h + ld e, l + ld hl, $61cd + call CopyHLToDE + ret + + dr $25f27, $25f47 Func_25f47: ; 0x25f47 - ld a, [de] - sla a - ld c, a - ld b, $0 - ld hl, $614f - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - push de - dec de - dec de - dec de - call UpdateAnimation - pop de - ret nc - ld a, [de] - rst $18 ; calls JumpToFuncInTable + ld a, [de] + sla a + ld c, a + ld b, $0 + ld hl, $614f + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + push de + dec de + dec de + dec de + call UpdateAnimation + pop de + ret nc + ld a, [de] + rst $18 ; calls JumpToFuncInTable CallTable_25f5f: ; 0x25f5f - dw Func_25f77 - dw Func_25fbe - dw Func_25ff3 - dw Func_2602a - dw Func_2604c - dw Func_2607f - dw Func_260b6 - dw Func_260d8 - dw Func_260e2 - dw Func_260ec - dw Func_26109 - dw Func_26120 + dw Func_25f77 + dw Func_25fbe + dw Func_25ff3 + dw Func_2602a + dw Func_2604c + dw Func_2607f + dw Func_260b6 + dw Func_260d8 + dw Func_260e2 + dw Func_260ec + dw Func_26109 + dw Func_26120 Func_25f77: ; 0x25f77 - dec de - ld a, [de] - cp $2 - ret nz - push de - inc de - inc de - inc de - inc de - inc de - inc de - ld a, [de] - dec a - ld [de], a - ld a, $3 - jr z, .asm_25f8f - pop de - xor a - jp Func_26137 + dec de + ld a, [de] + cp $2 + ret nz + push de + inc de + inc de + inc de + inc de + inc de + inc de + ld a, [de] + dec a + ld [de], a + ld a, $3 + jr z, .asm_25f8f + pop de + xor a + jp Func_26137 .asm_25f8f - ld hl, $d792 - ld [hl], $0 - call GenRandom - bit 7, a - jr z, .asm_25fa2 - inc de - ld a, $1 - ld [de], a - dec de - jr .asm_25fa7 + ld hl, $d792 + ld [hl], $0 + call GenRandom + bit 7, a + jr z, .asm_25fa2 + inc de + ld a, $1 + ld [de], a + dec de + jr .asm_25fa7 .asm_25fa2 - inc de - ld a, $0 - ld [de], a - dec de + inc de + ld a, $0 + ld [de], a + dec de .asm_25fa7 - inc de - ld a, [de] - and a - jr z, .asm_25fb0 - ld a, $6 - jr .asm_25fb2 + inc de + ld a, [de] + and a + jr z, .asm_25fb0 + ld a, $6 + jr .asm_25fb2 .asm_25fb0 - ld a, $3 + ld a, $3 .asm_25fb2 - push af - ld de, $0031 - call PlaySoundEffect - pop af - pop de - jp Func_26137 + push af + ld de, $0031 + call PlaySoundEffect + pop af + pop de + jp Func_26137 Func_25fbe: ; 0x25fbe - dec de - ld a, [de] - cp $4 - ret nz - push de - inc de - inc de - inc de - inc de - inc de - inc de - ld a, [de] - dec a - ld [de], a - jr z, .asm_25fd5 - pop de - ld a, $1 - jp Func_26137 + dec de + ld a, [de] + cp $4 + ret nz + push de + inc de + inc de + inc de + inc de + inc de + inc de + ld a, [de] + dec a + ld [de], a + jr z, .asm_25fd5 + pop de + ld a, $1 + jp Func_26137 .asm_25fd5 - ld a, [$d791] - cp $0 - jr z, .asm_25fe9 - ld a, $2 - ld [de], a - pop de - ld a, $4 - ld [de], a - ld a, $1 - jp Func_26137 - - ret ; unused instruction + ld a, [$d791] + cp $0 + jr z, .asm_25fe9 + ld a, $2 + ld [de], a + pop de + ld a, $4 + ld [de], a + ld a, $1 + jp Func_26137 + + ret ; unused instruction .asm_25fe9 - ld hl, $d791 - inc [hl] - pop de - ld a, $2 - jp Func_26137 + ld hl, $d791 + inc [hl] + pop de + ld a, $2 + jp Func_26137 Func_25ff3: ; 0x25ff3 - dec de - ld a, [de] - cp $7 - ret nz - xor a - call Func_26137 - inc de - inc de - inc de - inc de - inc de - ld a, [$d792] - cp $6 - jr nc, .asm_26020 - cp $2 - jr nc, .asm_26016 - ld a, $3 - ld [de], a - ld de, $0031 - call PlaySoundEffect - ret + dec de + ld a, [de] + cp $7 + ret nz + xor a + call Func_26137 + inc de + inc de + inc de + inc de + inc de + ld a, [$d792] + cp $6 + jr nc, .asm_26020 + cp $2 + jr nc, .asm_26016 + ld a, $3 + ld [de], a + ld de, $0031 + call PlaySoundEffect + ret .asm_26016 - ld a, $2 - ld [de], a - ld de, $0031 - call PlaySoundEffect - ret + ld a, $2 + ld [de], a + ld de, $0031 + call PlaySoundEffect + ret .asm_26020 - ld a, $1 - ld [de], a - ld de, $0031 - call PlaySoundEffect - ret + ld a, $1 + ld [de], a + ld de, $0031 + call PlaySoundEffect + ret Func_2602a: ; 0x2602a - dec de - ld a, [de] - cp $9 - ret nz - ld a, $1 - call Func_26137 - inc de - inc de - inc de - inc de - inc de - call GenRandom - bit 7, a - jr z, .asm_26044 - ld a, $3 - jr .asm_26046 + dec de + ld a, [de] + cp $9 + ret nz + ld a, $1 + call Func_26137 + inc de + inc de + inc de + inc de + inc de + call GenRandom + bit 7, a + jr z, .asm_26044 + ld a, $3 + jr .asm_26046 .asm_26044 - ld a, $5 + ld a, $5 .asm_26046 - ld [de], a - ld hl, $d791 - dec [hl] - ret + ld [de], a + ld hl, $d791 + dec [hl] + ret Func_2604c: ; 0x2604c - dec de - ld a, [de] - cp $4 - ret nz - push de - inc de - inc de - inc de - inc de - inc de - inc de - ld a, [de] - dec a - ld [de], a - jr z, .asm_26063 - pop de - ld a, $4 - jp Func_26137 + dec de + ld a, [de] + cp $4 + ret nz + push de + inc de + inc de + inc de + inc de + inc de + inc de + ld a, [de] + dec a + ld [de], a + jr z, .asm_26063 + pop de + ld a, $4 + jp Func_26137 .asm_26063 - ld a, [$d791] - cp $0 - jr z, .asm_26075 - ld a, $2 - ld [de], a - pop de - ld a, $4 - ld [de], a - jp Func_26137 - - ret ; unused instruction + ld a, [$d791] + cp $0 + jr z, .asm_26075 + ld a, $2 + ld [de], a + pop de + ld a, $4 + ld [de], a + jp Func_26137 + + ret ; unused instruction .asm_26075 - ld hl, $d791 - inc [hl] - pop de - ld a, $5 - jp Func_26137 + ld hl, $d791 + inc [hl] + pop de + ld a, $5 + jp Func_26137 Func_2607f: ; 0x2607f - dec de - ld a, [de] - cp $7 - ret nz - xor a - call Func_26137 - inc de - inc de - inc de - inc de - inc de - ld a, [$d792] - cp $6 - jr nc, .asm_260ac - cp $2 - jr nc, .asm_260a2 - ld a, $3 - ld [de], a - ld de, $0031 - call PlaySoundEffect - ret + dec de + ld a, [de] + cp $7 + ret nz + xor a + call Func_26137 + inc de + inc de + inc de + inc de + inc de + ld a, [$d792] + cp $6 + jr nc, .asm_260ac + cp $2 + jr nc, .asm_260a2 + ld a, $3 + ld [de], a + ld de, $0031 + call PlaySoundEffect + ret .asm_260a2 - ld a, $2 - ld [de], a - ld de, $0031 - call PlaySoundEffect - ret + ld a, $2 + ld [de], a + ld de, $0031 + call PlaySoundEffect + ret .asm_260ac - ld a, $1 - ld [de], a - ld de, $0031 - call PlaySoundEffect - ret + ld a, $1 + ld [de], a + ld de, $0031 + call PlaySoundEffect + ret Func_260b6: ; 0x260b6 - dec de - ld a, [de] - cp $9 - ret nz - ld a, $4 - call Func_26137 - inc de - inc de - inc de - inc de - inc de - call GenRandom - bit 7, a - jr z, .asm_260d0 - ld a, $3 - jr .asm_260d2 + dec de + ld a, [de] + cp $9 + ret nz + ld a, $4 + call Func_26137 + inc de + inc de + inc de + inc de + inc de + call GenRandom + bit 7, a + jr z, .asm_260d0 + ld a, $3 + jr .asm_260d2 .asm_260d0 - ld a, $5 + ld a, $5 .asm_260d2 - ld [de], a - ld hl, $d791 - dec [hl] - ret + ld [de], a + ld hl, $d791 + dec [hl] + ret Func_260d8: ; 0x260d8 - dec de - ld a, [de] - cp $5 - ret nz - ld a, $4 - jp Func_26137 + dec de + ld a, [de] + cp $5 + ret nz + ld a, $4 + jp Func_26137 Func_260e2: ; 0x260e2 - dec de - ld a, [de] - cp $5 - ret nz - ld a, $1 - jp Func_26137 + dec de + ld a, [de] + cp $5 + ret nz + ld a, $1 + jp Func_26137 Func_260ec: ; 0x260ec - dec de - ld a, [de] - cp $1 - ret nz - push de - inc de - inc de - inc de - inc de - inc de - inc de - inc de - ld a, [de] - and a - jr z, .asm_26103 - pop de - ld a, $b - jp Func_26137 + dec de + ld a, [de] + cp $1 + ret nz + push de + inc de + inc de + inc de + inc de + inc de + inc de + inc de + ld a, [de] + and a + jr z, .asm_26103 + pop de + ld a, $b + jp Func_26137 .asm_26103 - pop de - ld a, $a - jp Func_26137 + pop de + ld a, $a + jp Func_26137 Func_26109: ; 0x26109 - dec de - ld a, [de] - cp $7 - ret nz - ld a, $1 - call Func_26137 - inc de - inc de - inc de - inc de - inc de - ld a, $5 - ld [de], a - ld hl, $d791 - dec [hl] - ret + dec de + ld a, [de] + cp $7 + ret nz + ld a, $1 + call Func_26137 + inc de + inc de + inc de + inc de + inc de + ld a, $5 + ld [de], a + ld hl, $d791 + dec [hl] + ret Func_26120: ; 0x26120 - dec de - ld a, [de] - cp $7 - ret nz - ld a, $4 - call Func_26137 - inc de - inc de - inc de - inc de - inc de - ld a, $5 - ld [de], a - ld hl, $d791 - dec [hl] - ret + dec de + ld a, [de] + cp $7 + ret nz + ld a, $4 + call Func_26137 + inc de + inc de + inc de + inc de + inc de + ld a, $5 + ld [de], a + ld hl, $d791 + dec [hl] + ret Func_26137: ; 0x26137 - push af - sla a - ld c, a - ld b, $0 - ld hl, $614f ; todo - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - push de - dec de - dec de - call CopyHLToDE - pop de - inc de - pop af - ld [de], a - ret - -INCBIN "baserom.gbc",$2614f,$261f9 - $2614f + push af + sla a + ld c, a + ld b, $0 + ld hl, $614f ; todo + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + push de + dec de + dec de + call CopyHLToDE + pop de + inc de + pop af + ld [de], a + ret + + dr $2614f, $261f9 Func_261f9: ; 0x261f9 - ld a, $ff - ld [$d795], a - ld a, [de] - sla a - ld c, a - ld b, $0 - ld hl, $623a - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - dec de - dec de - dec de - call CopyHLToDE - ret + ld a, $ff + ld [$d795], a + ld a, [de] + sla a + ld c, a + ld b, $0 + ld hl, $623a + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + dec de + dec de + dec de + call CopyHLToDE + ret Func_26212: ; 0x26212 - ld a, [de] - sla a - ld c, a - ld b, $0 - ld hl, $623a - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - push de - dec de - dec de - dec de - call UpdateAnimation - pop de - ret nc - dec de - ld a, [de] - cp $a - ret nz - xor a - ld [de], a - ld [$d79c], a - ld [$d79e], a - ld a, a - ld [$d795], a - ret - -INCBIN "baserom.gbc",$2623a,$262f4 - $2623a + ld a, [de] + sla a + ld c, a + ld b, $0 + ld hl, $623a + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + push de + dec de + dec de + dec de + call UpdateAnimation + pop de + ret nc + dec de + ld a, [de] + cp $a + ret nz + xor a + ld [de], a + ld [$d79c], a + ld [$d79e], a + ld a, a + ld [$d795], a + ret + + dr $2623a, $262f4 Func_262f4: ; 0x262f4 - ld a, [$d793] - ld c, a - ld b, $0 + ld a, [$d793] + ld c, a + ld b, $0 .asm_262fa - ld a, c - and a - jr z, .asm_26306 - ld a, b - add $8 - ld b, a - dec c - ld a, c - jr .asm_262fa + ld a, c + and a + jr z, .asm_26306 + ld a, b + add $8 + ld b, a + dec c + ld a, c + jr .asm_262fa .asm_26306 - ld a, b - and a - jr z, .asm_2630c - sub $8 + ld a, b + and a + jr z, .asm_2630c + sub $8 .asm_2630c - ld [$d652], a - ld a, [$d792] - and a - jr z, .asm_2631b - ld b, a - ld a, [$d793] - inc a - sub b + ld [$d652], a + ld a, [$d792] + and a + jr z, .asm_2631b + ld b, a + ld a, [$d793] + inc a + sub b .asm_2631b - ld [$d651], a - ld a, [$d793] - cp $15 - jr c, .asm_2632a - ld a, $14 - ld [$d793], a + ld [$d651], a + ld a, [$d793] + cp $15 + jr c, .asm_2632a + ld a, $14 + ld [$d793], a .asm_2632a - push af - xor a - ld [$d650], a - pop af - sla a - ld c, a - ld b, $0 - ld hl, $634a - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_26340 - ld hl, $6764 + push af + xor a + ld [$d650], a + pop af + sla a + ld c, a + ld b, $0 + ld hl, $634a + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_26340 + ld hl, $6764 .asm_26340 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld a, $9 - call Func_10aa - ret + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld a, $9 + call Func_10aa + ret -INCBIN "baserom.gbc",$2634a,$26b7e - $2634a + dr $2634a, $26b7e Func_26b7e: ; 0x26b7e - ld bc, $7f65 - ld [$ff8a], a - ld a, Bank(Func_175a4) - ld hl, Func_175a4 - call BankSwitch - call Func_26bf7 - ld [$ff8a], a - ld a, Bank(Func_e4a1) - ld hl, Func_e4a1 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_17e81) - ld hl, Func_17e81 - call BankSwitch - call Func_26ba9 - call Func_26c3c - ret + ld bc, $7f65 + ld [$ff8a], a + ld a, Bank(Func_175a4) + ld hl, Func_175a4 + call BankSwitch + call Func_26bf7 + ld [$ff8a], a + ld a, Bank(Func_e4a1) + ld hl, Func_e4a1 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_17e81) + ld hl, Func_17e81 + call BankSwitch + call Func_26ba9 + call Func_26c3c + ret Func_26ba9: ; 0x26ba9 - ld de, $d76e - call Func_26bbc - ld de, $d778 - call Func_26bbc - ld de, $d782 - call Func_26bbc - ret + ld de, $d76e + call Func_26bbc + ld de, $d778 + call Func_26bbc + ld de, $d782 + call Func_26bbc + ret Func_26bbc: ; 0x26bbc - ld a, [de] - ld hl, hBoardXShift - sub [hl] - ld b, a - inc de - inc de - ld a, [de] - ld hl, hBoardYShift - sub [hl] - ld c, a - dec de - dec de - dec de - dec de - dec de - dec de - ld a, [de] - ld e, a - ld d, $0 - ld hl, $6bdf - add hl, de - ld a, [hl] - cp $ff - call nz, LoadOAMData2 - ret - -INCBIN "baserom.gbc",$26bdf,$26bf7 - $26bdf + ld a, [de] + ld hl, hBoardXShift + sub [hl] + ld b, a + inc de + inc de + ld a, [de] + ld hl, hBoardYShift + sub [hl] + ld c, a + dec de + dec de + dec de + dec de + dec de + dec de + ld a, [de] + ld e, a + ld d, $0 + ld hl, $6bdf + add hl, de + ld a, [hl] + cp $ff + call nz, LoadOAMData2 + ret + + dr $26bdf, $26bf7 Func_26bf7: ; 0x26bf7: ; 0x26bf7 - ld a, [$d795] - cp $0 - ret z - ld de, $d79c - ld a, [de] - ld hl, hBoardXShift - sub [hl] - ld b, a - inc de - inc de - ld a, [de] - ld hl, hBoardYShift - sub [hl] - ld c, a - dec de - dec de - dec de - dec de - dec de - dec de - ld a, [de] - ld e, a - ld d, $0 - ld hl, $6c23 - add hl, de - ld a, [hl] - cp $ff - call nz, LoadOAMData2 - ret - -INCBIN "baserom.gbc",$26c23,$26c3c - $26c23 + ld a, [$d795] + cp $0 + ret z + ld de, $d79c + ld a, [de] + ld hl, hBoardXShift + sub [hl] + ld b, a + inc de + inc de + ld a, [de] + ld hl, hBoardYShift + sub [hl] + ld c, a + dec de + dec de + dec de + dec de + dec de + dec de + ld a, [de] + ld e, a + ld d, $0 + ld hl, $6c23 + add hl, de + ld a, [hl] + cp $ff + call nz, LoadOAMData2 + ret + + dr $26c23, $26c3c Func_26c3c: ; 0x26c3c - ld a, [$d64e] - and a - ret z - ld a, [$d652] - ld hl, hBoardXShift - sub [hl] - ld b, a - xor a - ld hl, hBoardYShift - sub [hl] - ld c, a - ld a, [$d64f] - cp $a - jr c, .asm_26c5b - ld de, $0000 - jr .asm_26c5e + ld a, [$d64e] + and a + ret z + ld a, [$d652] + ld hl, hBoardXShift + sub [hl] + ld b, a + xor a + ld hl, hBoardYShift + sub [hl] + ld c, a + ld a, [$d64f] + cp $a + jr c, .asm_26c5b + ld de, $0000 + jr .asm_26c5e .asm_26c5b - ld de, $0001 + ld de, $0001 .asm_26c5e - ld hl, $6c7d - add hl, de - ld a, [hl] - call LoadOAMData2 - ld hl, $d64f - inc [hl] - ld a, [hl] - cp $14 - ret c - ld [hl], $0 - ld hl, $d650 - inc [hl] - ld a, [hl] - cp $a - ret nz - xor a - ld [$d64e], a - ret - -INCBIN "baserom.gbc",$26c7d,$28000 - $26c7d + ld hl, $6c7d + add hl, de + ld a, [hl] + call LoadOAMData2 + ld hl, $d64f + inc [hl] + ld a, [hl] + cp $14 + ret c + ld [hl], $0 + ld hl, $d650 + inc [hl] + ld a, [hl] + cp $a + ret nz + xor a + ld [$d64e], a + ret + + dr $26c7d, $28000 SECTION "banka", ROMX, BANK[$a] HandlePokedexScreen: ; 0x28000 - ld a, [wScreenState] - rst $18 ; calls JumpToFuncInTable + ld a, [wScreenState] + rst $18 ; calls JumpToFuncInTable PointerTable_28004: ; 0x28004 - dw LoadPokedexScreen - dw MainPokedexScreen - dw MonInfoPokedexScreen - dw Func_282e9 ; not sure if this is used ever... - dw ExitPokedexScreen + dw LoadPokedexScreen + dw MainPokedexScreen + dw MonInfoPokedexScreen + dw Func_282e9 ; not sure if this is used ever... + dw ExitPokedexScreen LoadPokedexScreen: ; 0x2800e - ld a, $23 - ld [$ff9e], a - ld a, $e4 - ld [$d80c], a - ld a, $93 - ld [$d80d], a - ld a, $e4 - ld [$d80e], a - xor a - ld [hBoardXShift], a - ld a, $8 - ld [hBoardYShift], a - ld a, $7 - ld [$ffa7], a - ld a, $8c - ld [$ffa6], a - ld a, $3b - ld [$ffa2], a - ld [$ffa8], a - ld [$ffa9], a - ld [$ffaa], a - ld hl, $ff9f - set 6, [hl] - ld hl, $ffff - set 1, [hl] - ld a, $2 - ld [$ffb0], a - ld hl, PointerTable_280a2 - ld a, [hGameBoyColorFlag] - call LoadVideoData - xor a - ld [wCurPokedexIndex], a - ld [wPokedexOffset], a - ld [$d95b], a - ld [$d95c], a - ld [$d960], a - ld [$d961], a - ld [$d95e], a - ld a, $1 - ld [$d862], a - call ClearOAMBuffer - call Func_285db - call Func_28931 - call Func_289c8 - call Func_28a15 - call Func_28972 - call Func_28a8a - call Func_28ad1 - call Func_28add - call CountNumSeenOwnedMons - call Func_b66 - ld a, $f - call SetSongBank - ld de, $0004 - call PlaySong - call Func_588 - call Func_bbe - ld hl, wScreenState - inc [hl] - ret + ld a, $23 + ld [$ff9e], a + ld a, $e4 + ld [$d80c], a + ld a, $93 + ld [$d80d], a + ld a, $e4 + ld [$d80e], a + xor a + ld [hBoardXShift], a + ld a, $8 + ld [hBoardYShift], a + ld a, $7 + ld [$ffa7], a + ld a, $8c + ld [$ffa6], a + ld a, $3b + ld [$ffa2], a + ld [$ffa8], a + ld [$ffa9], a + ld [$ffaa], a + ld hl, $ff9f + set 6, [hl] + ld hl, rIE + set 1, [hl] + ld a, $2 + ld [$ffb0], a + ld hl, PointerTable_280a2 + ld a, [hGameBoyColorFlag] + call LoadVideoData + xor a + ld [wCurPokedexIndex], a + ld [wPokedexOffset], a + ld [$d95b], a + ld [$d95c], a + ld [$d960], a + ld [$d961], a + ld [$d95e], a + ld a, $1 + ld [$d862], a + call ClearOAMBuffer + call Func_285db + call Func_28931 + call Func_289c8 + call Func_28a15 + call Func_28972 + call Func_28a8a + call Func_28ad1 + call Func_28add + call CountNumSeenOwnedMons + call Func_b66 + ld a, $f + call SetSongBank + ld de, $0004 + call PlaySong + call Func_588 + call Func_bbe + ld hl, wScreenState + inc [hl] + ret PointerTable_280a2: ; 0x280a2 - dw Data_280a6 - dw Data_280c4 + dw Data_280a6 + dw Data_280c4 Data_280a6: ; 0x280a6 - dw $5800 - db $2B - dw vTiles0 - dw $6000 + dw $5800 + db $2B + dw vTiles0 + dw $6000 - dw $5000 - db $31 - dw $9800 - dw $1000 + dw $5000 + db $31 + dw $9800 + dw $1000 - dw $4800 - db $31 - dw vBGMap1 - dw $800 + dw $4800 + db $31 + dw vBGMap1 + dw $800 - dw $4800 - db $31 - dw $9e00 - dw $800 + dw $4800 + db $31 + dw $9e00 + dw $800 - db $FF, $FF ; terminators + db $FF, $FF ; terminators Data_280c4: ; 0x280c4 - dw $5800 - db $2B - dw vTiles0 - dw $6000 - - dw $5000 - db $31 - dw $9800 - dw $1000 - - dw $5400 - db $31 - dw $9800 - dw $1002 - - dw $4800 - db $31 - dw vBGMap1 - dw $800 - - dw $4800 - db $31 - dw $9e00 - dw $800 - - dw $4c00 - db $31 - dw vBGMap1 - dw $802 - - dw $4c00 - db $31 - dw $9e00 - dw $802 - - dw $4e80 - db $37 - dw $0000 - dw $101 - - db $FF, $FF ; terminators + dw $5800 + db $2B + dw vTiles0 + dw $6000 + + dw $5000 + db $31 + dw $9800 + dw $1000 + + dw $5400 + db $31 + dw $9800 + dw $1002 + + dw $4800 + db $31 + dw vBGMap1 + dw $800 + + dw $4800 + db $31 + dw $9e00 + dw $800 + + dw $4c00 + db $31 + dw vBGMap1 + dw $802 + + dw $4c00 + db $31 + dw $9e00 + dw $802 + + dw $4e80 + db $37 + dw $0000 + dw $101 + + db $FF, $FF ; terminators MainPokedexScreen: ; 0x280fe - call Func_28513 - ld a, [hNewlyPressedButtons] - bit BIT_A_BUTTON, a - jr z, .asm_28142 - ld a, [$d95f] - and a - jp nz, .asm_28174 - ld a, [wCurPokedexIndex] - ld c, a - ld b, $0 - ld hl, wPokedexFlags - add hl, bc - ld a, [hl] - and a - jp z, .asm_28174 - push hl - ld a, [wCurPokedexIndex] - inc a - ld e, a - ld d, $0 - call PlayCry - pop hl - bit 1, [hl] - jp z, .asm_28174 - call Func_288c6 - call Func_2885c - call Func_926 - call Func_2887c - call Func_2885c - ld hl, wScreenState - inc [hl] - ret + call Func_28513 + ld a, [hNewlyPressedButtons] + bit BIT_A_BUTTON, a + jr z, .asm_28142 + ld a, [$d95f] + and a + jp nz, .asm_28174 + ld a, [wCurPokedexIndex] + ld c, a + ld b, $0 + ld hl, wPokedexFlags + add hl, bc + ld a, [hl] + and a + jp z, .asm_28174 + push hl + ld a, [wCurPokedexIndex] + inc a + ld e, a + ld d, $0 + call PlayCry + pop hl + bit 1, [hl] + jp z, .asm_28174 + call Func_288c6 + call Func_2885c + call Func_926 + call Func_2887c + call Func_2885c + ld hl, wScreenState + inc [hl] + ret .asm_28142 - bit BIT_B_BUTTON, a - jr z, .asm_2814f - call Func_285db - ld a, $4 - ld [wScreenState], a - ret + bit BIT_B_BUTTON, a + jr z, .asm_2814f + call Func_285db + ld a, $4 + ld [wScreenState], a + ret .asm_2814f - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_28174 - ld a, [hJoypadState] - bit BIT_START, a - jr z, .asm_28168 - ld a, [$d960] - and a - ld a, $ff - ld [$d960], a - call z, Func_28add - jr .asm_28174 + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_28174 + ld a, [hJoypadState] + bit BIT_START, a + jr z, .asm_28168 + ld a, [$d960] + and a + ld a, $ff + ld [$d960], a + call z, Func_28add + jr .asm_28174 .asm_28168 - ld a, [$d960] - and a - ld a, $0 - ld [$d960], a - call nz, Func_28add + ld a, [$d960] + and a + ld a, $0 + ld [$d960], a + call nz, Func_28add .asm_28174 - call Func_285db - ret + call Func_285db + ret MonInfoPokedexScreen: ; 0x28178 - ld a, [$d956] - bit 0, a - jr z, .asm_28190 - ld a, [hNewlyPressedButtons] - bit BIT_A_BUTTON, a - jr z, .asm_2818a - call Func_28912 - jr .asm_281a2 + ld a, [$d956] + bit 0, a + jr z, .asm_28190 + ld a, [hNewlyPressedButtons] + bit BIT_A_BUTTON, a + jr z, .asm_2818a + call Func_28912 + jr .asm_281a2 .asm_2818a - bit 1, a - jr z, .asm_281a2 - jr .asm_28196 + bit 1, a + jr z, .asm_281a2 + jr .asm_28196 .asm_28190 - ld a, [hNewlyPressedButtons] - and $3 - jr z, .asm_281a2 + ld a, [hNewlyPressedButtons] + and $3 + jr z, .asm_281a2 .asm_28196 - call Func_288a2 - call Func_285db - ld a, $1 - ld [wScreenState], a - ret + call Func_288a2 + call Func_285db + ld a, $1 + ld [wScreenState], a + ret .asm_281a2 - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_281c7 - ld a, [hJoypadState] - bit BIT_START, a - jr z, .asm_281bb - ld a, [$d960] - and a - ld a, $ff - ld [$d960], a - call z, Func_28add - jr .asm_281c7 + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_281c7 + ld a, [hJoypadState] + bit BIT_START, a + jr z, .asm_281bb + ld a, [$d960] + and a + ld a, $ff + ld [$d960], a + call z, Func_28add + jr .asm_281c7 .asm_281bb - ld a, [$d960] - and a - ld a, $0 - ld [$d960], a - call nz, Func_28add + ld a, [$d960] + and a + ld a, $0 + ld [$d960], a + call nz, Func_28add .asm_281c7 - call Func_2885c - ret + call Func_2885c + ret -INCBIN "baserom.gbc",$281cb,$282e9 - $281cb + dr $281cb, $282e9 Func_282e9: ; 0x282e9 - ld a, [$d960] - and a - jr z, .asm_28318 - ld a, [wCurPokedexIndex] - ld c, a - ld b, $0 - ld hl, MonAnimatedSpriteTypes - add hl, bc - ld a, Bank(MonAnimatedSpriteTypes) - call ReadByteFromBank - ld c, a - ld a, [$ffb3] - swap a - and $7 - cp $7 - jr z, .asm_2830d - and $1 - jr .asm_2830f + ld a, [$d960] + and a + jr z, .asm_28318 + ld a, [wCurPokedexIndex] + ld c, a + ld b, $0 + ld hl, MonAnimatedSpriteTypes + add hl, bc + ld a, Bank(MonAnimatedSpriteTypes) + call ReadByteFromBank + ld c, a + ld a, [$ffb3] + swap a + and $7 + cp $7 + jr z, .asm_2830d + and $1 + jr .asm_2830f .asm_2830d - ld a, $2 + ld a, $2 .asm_2830f - add c - add $a5 - ld bc, $2030 - call LoadOAMData + add c + add $a5 + ld bc, $2030 + call LoadOAMData .asm_28318 - ld a, [$daa2] - sla a - ld c, a - ld b, $0 - ld hl, $42b9 ; todo - add hl, bc - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, $63 - call LoadOAMData - call Func_28368 - ld a, [hNewlyPressedButtons] - and $6 - jr z, .asm_28367 - ld a, $31 - ld hl, $4800 ; todo - ld de, vBGMap1 - ld bc, $0200 - call LoadVRAMData - ld a, $1 - ld [$ff4f], a - ld a, $31 - ld hl, $4c00 ; todo - ld de, vBGMap1 - ld bc, $0200 - call LoadVRAMData - xor a - ld [$ff4f], a - call Func_28972 - call Func_28a8a - call Func_28ad1 - ld a, $1 - ld [wScreenState], a + ld a, [$daa2] + sla a + ld c, a + ld b, $0 + ld hl, $42b9 ; todo + add hl, bc + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, $63 + call LoadOAMData + call Func_28368 + ld a, [hNewlyPressedButtons] + and $6 + jr z, .asm_28367 + ld a, $31 + ld hl, $4800 ; todo + ld de, vBGMap1 + ld bc, $0200 + call LoadVRAMData + ld a, $1 + ld [rVBK], a + ld a, $31 + ld hl, $4c00 ; todo + ld de, vBGMap1 + ld bc, $0200 + call LoadVRAMData + xor a + ld [rVBK], a + call Func_28972 + call Func_28a8a + call Func_28ad1 + ld a, $1 + ld [wScreenState], a .asm_28367 - ret + ret Func_28368: ; 0x28368 - ld a, [hJoypadState] - bit BIT_A_BUTTON, a - jr nz, .asm_28371 - jp Func_284bc + ld a, [hJoypadState] + bit BIT_A_BUTTON, a + jr nz, .asm_28371 + jp Func_284bc .asm_28371 - ld a, [hPressedButtons] - ld b, a - ld a, [$daa2] - ld e, a - ld d, $0 - ld hl, $da8a - add hl, de - ld a, [hl] - bit 5, b - jr z, .asm_28386 - dec a - jr .asm_2838a + ld a, [hPressedButtons] + ld b, a + ld a, [$daa2] + ld e, a + ld d, $0 + ld hl, $da8a + add hl, de + ld a, [hl] + bit 5, b + jr z, .asm_28386 + dec a + jr .asm_2838a .asm_28386 - bit 4, b - ret z - inc a + bit 4, b + ret z + inc a .asm_2838a - and $1f - ld [hl], a - push af - sla e - rl d - ld hl, $4289 ; todo - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - pop af - push af - swap a - and $f - call PutTileInVRAM - inc hl - pop af - and $f - call PutTileInVRAM - ld hl, $442c ; todo - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [hld] - ld c, a - ld b, $0 - sla c - rl b - sla c - rl b - sla c - rl b - sla c - rl b - sla c - rl b - ld a, [hld] - or c - ld c, a - sla c - rl b - sla c - rl b - sla c - rl b - sla c - rl b - sla c - rl b - ld a, [hl] - or c - ld c, a - ld a, [$d960] - and a - jr nz, .asm_283ff - ld hl, $445c ; todo - add hl, de - ld a, [hl] - ld hl, $ff68 - call PutTileInVRAM - ld hl, $ff69 - ld a, c - call PutTileInVRAM - ld a, b - call PutTileInVRAM - ret + and $1f + ld [hl], a + push af + sla e + rl d + ld hl, $4289 ; todo + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + pop af + push af + swap a + and $f + call PutTileInVRAM + inc hl + pop af + and $f + call PutTileInVRAM + ld hl, $442c ; todo + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [hld] + ld c, a + ld b, $0 + sla c + rl b + sla c + rl b + sla c + rl b + sla c + rl b + sla c + rl b + ld a, [hld] + or c + ld c, a + sla c + rl b + sla c + rl b + sla c + rl b + sla c + rl b + sla c + rl b + ld a, [hl] + or c + ld c, a + ld a, [$d960] + and a + jr nz, .asm_283ff + ld hl, $445c ; todo + add hl, de + ld a, [hl] + ld hl, rBGPI + call PutTileInVRAM + ld hl, rBGPD + ld a, c + call PutTileInVRAM + ld a, b + call PutTileInVRAM + ret .asm_283ff - ld hl, $445c ; todo - add hl, de - ld a, [hl] - ld hl, $ff68 - call PutTileInVRAM - ld hl, $ff69 - ld a, c - call PutTileInVRAM - ld a, b - call PutTileInVRAM - ld hl, $448c ; todo - add hl, de - ld a, [hl] - ld hl, $ff6a - call PutTileInVRAM - ld hl, $ff6b - ld a, c - call PutTileInVRAM - ld a, b - call PutTileInVRAM - ret - -INCBIN "baserom.gbc",$2842c,$284bc - $2842c + ld hl, $445c ; todo + add hl, de + ld a, [hl] + ld hl, rBGPI + call PutTileInVRAM + ld hl, rBGPD + ld a, c + call PutTileInVRAM + ld a, b + call PutTileInVRAM + ld hl, $448c ; todo + add hl, de + ld a, [hl] + ld hl, rOBPI + call PutTileInVRAM + ld hl, rOBPD + ld a, c + call PutTileInVRAM + ld a, b + call PutTileInVRAM + ret + + dr $2842c, $284bc Func_284bc: ; 0x284bc - ld a, [hPressedButtons] - ld b, a - ld a, [$daa2] - bit 5, b - jr z, .asm_284cd - dec a - bit 7, a - jr nz, .asm_284ef - jr .asm_284f5 + ld a, [hPressedButtons] + ld b, a + ld a, [$daa2] + bit 5, b + jr z, .asm_284cd + dec a + bit 7, a + jr nz, .asm_284ef + jr .asm_284f5 .asm_284cd - bit 4, b - jr z, .asm_284d8 - inc a - cp $18 - jr nc, .asm_284f3 - jr .asm_284f5 + bit 4, b + jr z, .asm_284d8 + inc a + cp $18 + jr nc, .asm_284f3 + jr .asm_284f5 .asm_284d8 - bit 6, b - jr z, .asm_284e4 - sub $3 - bit 7, a - jr nz, .asm_284ef - jr .asm_284f5 + bit 6, b + jr z, .asm_284e4 + sub $3 + bit 7, a + jr nz, .asm_284ef + jr .asm_284f5 .asm_284e4 - bit 7, b - ret z - add $3 - cp $18 - jr nc, .asm_284f3 - jr .asm_284f5 + bit 7, b + ret z + add $3 + cp $18 + jr nc, .asm_284f3 + jr .asm_284f5 .asm_284ef - add $18 - jr .asm_284f5 + add $18 + jr .asm_284f5 .asm_284f3 - sub $18 + sub $18 .asm_284f5 - ld [$daa2], a - ret + ld [$daa2], a + ret ExitPokedexScreen: ; 0x284f9 - call Func_cb5 - call Func_576 - ld hl, $ff9f - res 6, [hl] - ld hl, $ffff - res 1, [hl] - ld a, SCREEN_TITLESCREEN - ld [wCurrentScreen], a - xor a - ld [wScreenState], a - ret + call Func_cb5 + call Func_576 + ld hl, $ff9f + res 6, [hl] + ld hl, rIE + res 1, [hl] + ld a, SCREEN_TITLESCREEN + ld [wCurrentScreen], a + xor a + ld [wScreenState], a + ret Func_28513: ; 0x28513 - ld a, [hPressedButtons] - ld hl, $d95e - or [hl] - ld [hl], a - ld a, [$d95c] - and a - ret nz - ld a, [$d95e] - ld b, a - ld a, [$d9f8] - and a - ld a, NUM_POKEMON - 1 - jr z, .asm_2852d - ld a, NUM_POKEMON + ld a, [hPressedButtons] + ld hl, $d95e + or [hl] + ld [hl], a + ld a, [$d95c] + and a + ret nz + ld a, [$d95e] + ld b, a + ld a, [$d9f8] + and a + ld a, NUM_POKEMON - 1 + jr z, .asm_2852d + ld a, NUM_POKEMON .asm_2852d - ld d, a - ld a, [wCurPokedexIndex] - bit 6, b - jr z, .asm_28548 - and a - jr z, .asm_285a9 - dec a - ld [wCurPokedexIndex], a - ld a, $4 - ld [$d95c], a - ld a, $1 - ld [$d95f], a - jr .asm_285a9 + ld d, a + ld a, [wCurPokedexIndex] + bit 6, b + jr z, .asm_28548 + and a + jr z, .asm_285a9 + dec a + ld [wCurPokedexIndex], a + ld a, $4 + ld [$d95c], a + ld a, $1 + ld [$d95f], a + jr .asm_285a9 .asm_28548 - bit 7, b - jr z, .asm_2855f - inc a - cp d - jr z, .asm_285a9 - ld [wCurPokedexIndex], a - ld a, $4 - ld [$d95c], a - ld a, $1 - ld [$d95f], a - jr .asm_285a9 + bit 7, b + jr z, .asm_2855f + inc a + cp d + jr z, .asm_285a9 + ld [wCurPokedexIndex], a + ld a, $4 + ld [$d95c], a + ld a, $1 + ld [$d95f], a + jr .asm_285a9 .asm_2855f - ld a, d - sub $9 - ld d, a - ld a, [wPokedexOffset] - ld c, $5 - bit 5, b - jr z, .asm_28586 - cp $5 - jr nc, .asm_28571 - ld c, a + ld a, d + sub $9 + ld d, a + ld a, [wPokedexOffset] + ld c, $5 + bit 5, b + jr z, .asm_28586 + cp $5 + jr nc, .asm_28571 + ld c, a .asm_28571 - sub c - ld [wPokedexOffset], a - ld a, [wCurPokedexIndex] - sub c - ld [wCurPokedexIndex], a - ld a, $1 - ld [$d95f], a - call Func_285ca - jr .asm_285aa + sub c + ld [wPokedexOffset], a + ld a, [wCurPokedexIndex] + sub c + ld [wCurPokedexIndex], a + ld a, $1 + ld [$d95f], a + call Func_285ca + jr .asm_285aa .asm_28586 - bit 4, b - jr z, .asm_285ae - cp d - jr c, .asm_28594 - push af - cpl - add d - add $5 - ld c, a - pop af + bit 4, b + jr z, .asm_285ae + cp d + jr c, .asm_28594 + push af + cpl + add d + add $5 + ld c, a + pop af .asm_28594 - add c - ld [wPokedexOffset], a - ld a, [wCurPokedexIndex] - add c - ld [wCurPokedexIndex], a - ld a, $1 - ld [$d95f], a - call Func_285ca - jr .asm_285aa + add c + ld [wPokedexOffset], a + ld a, [wCurPokedexIndex] + add c + ld [wCurPokedexIndex], a + ld a, $1 + ld [$d95f], a + call Func_285ca + jr .asm_285aa .asm_285a9 - xor a + xor a .asm_285aa - ld [$d95e], a - ret + ld [$d95e], a + ret .asm_285ae - ld a, [$d95f] - and a - ret z - ld de, $0003 - call PlaySoundEffect - call Func_28931 - call Func_289c8 - call Func_28a15 - call Func_28add - xor a - ld [$d95f], a - ret + ld a, [$d95f] + and a + ret z + ld de, $0003 + call PlaySoundEffect + call Func_28931 + call Func_289c8 + call Func_28a15 + call Func_28add + xor a + ld [$d95f], a + ret Func_285ca: ; 0x285ca - xor a - ld [$d80a], a - call Func_28972 - call Func_28a8a - call Func_28ad1 - ld a, [$d80a] - ret + xor a + ld [$d80a], a + call Func_28972 + call Func_28a8a + call Func_28ad1 + ld a, [$d80a] + ret Func_285db: ; 0x285db - ld a, [wCurPokedexIndex] - ld c, a - ld b, $0 - ld hl, wPokedexFlags - add hl, bc - bit 1, [hl] ; has pokemon been seen or captured? - call nz, Func_287e7 - ld bc, $8c38 - ld a, $64 - call LoadOAMData - ld bc, $8840 - ld a, $65 - call LoadOAMData - ld bc, $8888 - ld a, $66 - call LoadOAMData - call DrawCornerInfoPokedexScreen - ld a, [wCurPokedexIndex] - ld c, a - ld b, $0 - ld hl, $7136 ; todo - add hl, bc - ld a, [hl] - add $49 - ld c, a - ld b, $90 - ld a, [$d95b] - srl a - srl a - and $3 - ld e, a - ld d, $0 - ld hl, $4687 ; todo - add hl, de - ld a, [hl] - call LoadOAMData - ld a, [wCurPokedexIndex] - ld hl, wPokedexOffset - sub [hl] - jr nc, .asm_2863b - dec [hl] - ld a, $1 - ld [$d95d], a - xor a - jr .asm_28647 + ld a, [wCurPokedexIndex] + ld c, a + ld b, $0 + ld hl, wPokedexFlags + add hl, bc + bit 1, [hl] ; has pokemon been seen or captured? + call nz, Func_287e7 + ld bc, $8c38 + ld a, $64 + call LoadOAMData + ld bc, $8840 + ld a, $65 + call LoadOAMData + ld bc, $8888 + ld a, $66 + call LoadOAMData + call DrawCornerInfoPokedexScreen + ld a, [wCurPokedexIndex] + ld c, a + ld b, $0 + ld hl, $7136 ; todo + add hl, bc + ld a, [hl] + add $49 + ld c, a + ld b, $90 + ld a, [$d95b] + srl a + srl a + and $3 + ld e, a + ld d, $0 + ld hl, $4687 ; todo + add hl, de + ld a, [hl] + call LoadOAMData + ld a, [wCurPokedexIndex] + ld hl, wPokedexOffset + sub [hl] + jr nc, .asm_2863b + dec [hl] + ld a, $1 + ld [$d95d], a + xor a + jr .asm_28647 .asm_2863b - cp $5 - jr c, .asm_28647 - ld a, $1 - ld [$d95d], a - inc [hl] - ld a, $4 + cp $5 + jr c, .asm_28647 + ld a, $1 + ld [$d95d], a + inc [hl] + ld a, $4 .asm_28647 - ld c, a - push bc - ld a, [hJoypadState] - and a - ld a, [$d95b] - jr z, .asm_28652 - xor a + ld c, a + push bc + ld a, [hJoypadState] + and a + ld a, [$d95b] + jr z, .asm_28652 + xor a .asm_28652 - inc a - ld [$d95b], a - bit 3, a - jr nz, .asm_28667 - swap c - ld a, c - add $40 - ld c, a - ld b, $10 - ld a, $63 - call LoadOAMData + inc a + ld [$d95b], a + bit 3, a + jr nz, .asm_28667 + swap c + ld a, c + add $40 + ld c, a + ld b, $10 + ld a, $63 + call LoadOAMData .asm_28667 - pop bc - ld a, [$d95c] - and a - ret z - dec a - ld [$d95c], a - sla a - ld e, a - ld d, $0 - push hl - ld hl, PointerTable_2867f - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] + pop bc + ld a, [$d95c] + and a + ret z + dec a + ld [$d95c], a + sla a + ld e, a + ld d, $0 + push hl + ld hl, PointerTable_2867f + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] PointerTable_2867f: ; 0x2867f - dw Func_286dd - dw Func_28721 - dw Func_286dd - dw Func_28765 + dw Func_286dd + dw Func_28721 + dw Func_286dd + dw Func_28765 -INCBIN "baserom.gbc",$28687,$2868b - $28687 + dr $28687, $2868b DrawCornerInfoPokedexScreen: ; 0x2868b ; If player is holding SELECT button, it draws the seen/own count in the top-right corner. ; Otherwise, it draws the word "POKeDEX". - ld a, [hJoypadState] - bit BIT_SELECT, a - jr z, .asm_286c8 - ld bc, $6d03 - ld a, [wNumPokemonSeen + 1] - call LoadSeenOwnDigitOAM - ld a, [wNumPokemonSeen] - swap a - call LoadSeenOwnDigitOAM - ld a, [wNumPokemonSeen] - call LoadSeenOwnDigitOAM - ld bc, $8202 - ld a, $76 - call LoadOAMData ; draws the "/" between the seen/owned numbers - ld bc, $8703 - ld a, [wNumPokemonOwned + 1] - call LoadSeenOwnDigitOAM - ld a, [wNumPokemonOwned] - swap a - call LoadSeenOwnDigitOAM - ld a, [wNumPokemonOwned] - call LoadSeenOwnDigitOAM - ret + ld a, [hJoypadState] + bit BIT_SELECT, a + jr z, .asm_286c8 + ld bc, $6d03 + ld a, [wNumPokemonSeen + 1] + call LoadSeenOwnDigitOAM + ld a, [wNumPokemonSeen] + swap a + call LoadSeenOwnDigitOAM + ld a, [wNumPokemonSeen] + call LoadSeenOwnDigitOAM + ld bc, $8202 + ld a, $76 + call LoadOAMData ; draws the "/" between the seen/owned numbers + ld bc, $8703 + ld a, [wNumPokemonOwned + 1] + call LoadSeenOwnDigitOAM + ld a, [wNumPokemonOwned] + swap a + call LoadSeenOwnDigitOAM + ld a, [wNumPokemonOwned] + call LoadSeenOwnDigitOAM + ret .asm_286c8 - ld bc, $6800 - ld a, $6a - call LoadOAMData - ret + ld bc, $6800 + ld a, $6a + call LoadOAMData + ret LoadSeenOwnDigitOAM: ; 0x286d1 - and $f - add $6c - call LoadOAMData - ld a, b - add $7 ; adds 7 pixels to the next digit's x position on screen - ld b, a - ret + and $f + add $6c + call LoadOAMData + ld a, b + add $7 ; adds 7 pixels to the next digit's x position on screen + ld b, a + ret Func_286dd: ; 0x286dd - pop hl - ld a, [$d862] - and a - jr nz, .asm_286ff - push bc - push hl - ld a, [$d863] - ld e, a - ld a, [$d864] - ld d, a - ld hl, $c010 - xor a - ld bc, $00a0 - call Func_735 - ld a, $1 - ld [$d862], a - pop hl - pop bc + pop hl + ld a, [$d862] + and a + jr nz, .asm_286ff + push bc + push hl + ld a, [$d863] + ld e, a + ld a, [$d864] + ld d, a + ld hl, $c010 + xor a + ld bc, $00a0 + call Func_735 + ld a, $1 + ld [$d862], a + pop hl + pop bc .asm_286ff - ld a, [$d95d] - and a - ret z - ld a, [$d95c] - and a - jr nz, .asm_2870d - ld [$d95d], a + ld a, [$d95d] + and a + ret z + ld a, [$d95c] + and a + jr nz, .asm_2870d + ld [$d95d], a .asm_2870d - ld a, c - and a - jr nz, .asm_28719 - ld hl, $ffab - dec [hl] - dec [hl] - dec [hl] - dec [hl] - ret + ld a, c + and a + jr nz, .asm_28719 + ld hl, $ffab + dec [hl] + dec [hl] + dec [hl] + dec [hl] + ret .asm_28719 - ld hl, $ffab - inc [hl] - inc [hl] - inc [hl] - inc [hl] - ret + ld hl, $ffab + inc [hl] + inc [hl] + inc [hl] + inc [hl] + ret Func_28721: ; 0x28721 - pop hl - ld a, [$d95d] - and a - ret z - ld a, c - and a - jr nz, .asm_28747 - ld a, [hl] - push af - sla a - and $1e - ld c, a - ld b, $0 - ld hl, $47c7 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - pop af - call Func_28aaa - ld hl, $ffab - dec [hl] - dec [hl] - dec [hl] - dec [hl] - ret + pop hl + ld a, [$d95d] + and a + ret z + ld a, c + and a + jr nz, .asm_28747 + ld a, [hl] + push af + sla a + and $1e + ld c, a + ld b, $0 + ld hl, $47c7 + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + pop af + call Func_28aaa + ld hl, $ffab + dec [hl] + dec [hl] + dec [hl] + dec [hl] + ret .asm_28747 - ld a, [hl] - add $5 - push af - sla a - and $1e - ld c, a - ld b, $0 - ld hl, $47c7 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - pop af - call Func_28aaa - ld hl, $ffab - inc [hl] - inc [hl] - inc [hl] - inc [hl] - ret + ld a, [hl] + add $5 + push af + sla a + and $1e + ld c, a + ld b, $0 + ld hl, $47c7 + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + pop af + call Func_28aaa + ld hl, $ffab + inc [hl] + inc [hl] + inc [hl] + inc [hl] + ret Func_28765: ; 0x28765 - pop hl - ld a, [$d95d] - and a - ret z - ld a, c - and a - jr nz, .asm_28791 - push hl - ld a, [hl] - sla a - and $e - ld c, a - ld b, $0 - ld hl, $47b7 - add hl, bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld hl, $ffab - dec [hl] - dec [hl] - dec [hl] - dec [hl] - pop hl - xor a - ld [$d862], a - ld a, [hl] - call Func_28993 - ret + pop hl + ld a, [$d95d] + and a + ret z + ld a, c + and a + jr nz, .asm_28791 + push hl + ld a, [hl] + sla a + and $e + ld c, a + ld b, $0 + ld hl, $47b7 + add hl, bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld hl, $ffab + dec [hl] + dec [hl] + dec [hl] + dec [hl] + pop hl + xor a + ld [$d862], a + ld a, [hl] + call Func_28993 + ret .asm_28791 - push hl - ld a, [hl] - add $5 - sla a - and $e - ld c, a - ld b, $0 - ld hl, $47b7 - add hl, bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld hl, $ffab - inc [hl] - inc [hl] - inc [hl] - inc [hl] - pop hl - xor a - ld [$d862], a - ld a, [hl] - add $5 - call Func_28993 - ret - -INCBIN "baserom.gbc",$287b7,$287e7 - $287b7 + push hl + ld a, [hl] + add $5 + sla a + and $e + ld c, a + ld b, $0 + ld hl, $47b7 + add hl, bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld hl, $ffab + inc [hl] + inc [hl] + inc [hl] + inc [hl] + pop hl + xor a + ld [$d862], a + ld a, [hl] + add $5 + call Func_28993 + ret + + dr $287b7, $287e7 Func_287e7: ; 0x287e7 - ld a, [$d960] - and a - ret z - ld a, [$d95f] - and a - ret nz - ld a, [wCurPokedexIndex] - ld c, a - ld b, $0 - ld hl, MonAnimatedSpriteTypes - add hl, bc - ld a, Bank(MonAnimatedSpriteTypes) - call ReadByteFromBank - bit 7, a - ret nz - ld [$d5bc], a - call Func_28815 - ld a, [$d5bd] - add $a5 - ld bc, $2030 - call LoadOAMData - ret + ld a, [$d960] + and a + ret z + ld a, [$d95f] + and a + ret nz + ld a, [wCurPokedexIndex] + ld c, a + ld b, $0 + ld hl, MonAnimatedSpriteTypes + add hl, bc + ld a, Bank(MonAnimatedSpriteTypes) + call ReadByteFromBank + bit 7, a + ret nz + ld [$d5bc], a + call Func_28815 + ld a, [$d5bd] + add $a5 + ld bc, $2030 + call LoadOAMData + ret Func_28815: ; 0x28815 - ld a, [$d5be] - dec a - ld [$d5be], a - ret nz - ld a, [$d5bf] - inc a - and $7 - ld [$d5bf], a - jr nz, .asm_28836 - ld a, [$d5c3] - ld [$d5be], a - xor a - ld [$d5c4], a - ld c, $2 - jr .asm_28854 + ld a, [$d5be] + dec a + ld [$d5be], a + ret nz + ld a, [$d5bf] + inc a + and $7 + ld [$d5bf], a + jr nz, .asm_28836 + ld a, [$d5c3] + ld [$d5be], a + xor a + ld [$d5c4], a + ld c, $2 + jr .asm_28854 .asm_28836 - ld a, [$d5bc] - ld c, a - ld a, [$d5bd] - sub c - cp $1 - ld c, $0 - jr nc, .asm_28846 - ld c, $1 + ld a, [$d5bc] + ld c, a + ld a, [$d5bd] + sub c + cp $1 + ld c, $0 + jr nc, .asm_28846 + ld c, $1 .asm_28846 - ld b, $0 - ld hl, $d5c1 - add hl, bc - ld a, [hl] - ld [$d5be], a - xor a - ld [$d5c4], a + ld b, $0 + ld hl, $d5c1 + add hl, bc + ld a, [hl] + ld [$d5be], a + xor a + ld [$d5c4], a .asm_28854 - ld a, [$d5bc] - add c - ld [$d5bd], a - ret + ld a, [$d5bc] + add c + ld [$d5bd], a + ret Func_2885c: ; 0x2885c - ld a, [wCurPokedexIndex] - ld c, a - ld b, $0 - ld hl, wPokedexFlags - add hl, bc - bit 1, [hl] - call nz, Func_287e7 - ld bc, $8888 - ld a, $66 - call LoadOAMData - ld bc, $6800 - ld a, $6a - call LoadOAMData - ret + ld a, [wCurPokedexIndex] + ld c, a + ld b, $0 + ld hl, wPokedexFlags + add hl, bc + bit 1, [hl] + call nz, Func_287e7 + ld bc, $8888 + ld a, $66 + call LoadOAMData + ld bc, $6800 + ld a, $6a + call LoadOAMData + ret Func_2887c: ; 0x2887c - ld a, $31 - ld hl, $5120 ; todo - ld de, $9900 - ld bc, $0100 - call LoadVRAMData - ld a, $3f - ld [$ffa2], a - ld a, $47 - ld [$ffa9], a - ld b, $33 + ld a, $31 + ld hl, $5120 ; todo + ld de, $9900 + ld bc, $0100 + call LoadVRAMData + ld a, $3f + ld [$ffa2], a + ld a, $47 + ld [$ffa9], a + ld b, $33 .asm_28894 - push bc - ld a, $7a - sub b - ld [$ffa9], a - rst $10 - pop bc - dec b - dec b - dec b - jr nz, .asm_28894 - ret + push bc + ld a, $7a + sub b + ld [$ffa9], a + rst $10 + pop bc + dec b + dec b + dec b + jr nz, .asm_28894 + ret Func_288a2: ; 0x288a2 - ld b, $33 + ld b, $33 .asm_288a4 - push bc - ld a, $44 - add b - ld [$ffa9], a - rst $10 - pop bc - dec b - dec b - dec b - jr nz, .asm_288a4 - ld a, $3b - ld [$ffa2], a - ld [$ffa9], a - ld a, $31 - ld hl, $5100 ; todo - ld de, $9900 - ld bc, $0020 - call LoadVRAMData - ret + push bc + ld a, $44 + add b + ld [$ffa9], a + rst $10 + pop bc + dec b + dec b + dec b + jr nz, .asm_288a4 + ld a, $3b + ld [$ffa2], a + ld [$ffa9], a + ld a, $31 + ld hl, $5100 ; todo + ld de, $9900 + ld bc, $0020 + call LoadVRAMData + ret Func_288c6: ; 0x288c6 - ld a, [wCurPokedexIndex] - ld c, a - ld b, $0 - ld hl, wPokedexFlags - add hl, bc - bit 1, [hl] - ld hl, $4000 - jr z, .asm_288f4 - ld a, [wCurPokedexIndex] - ld c, a - ld b, $0 - sla c - rl b - ld hl, $4002 ; todo - add hl, bc - ld a, $b - call ReadByteFromBank - inc hl - ld c, a - ld a, $b - call ReadByteFromBank - ld b, a - ld h, b - ld l, c + ld a, [wCurPokedexIndex] + ld c, a + ld b, $0 + ld hl, wPokedexFlags + add hl, bc + bit 1, [hl] + ld hl, $4000 + jr z, .asm_288f4 + ld a, [wCurPokedexIndex] + ld c, a + ld b, $0 + sla c + rl b + ld hl, $4002 ; todo + add hl, bc + ld a, $b + call ReadByteFromBank + inc hl + ld c, a + ld a, $b + call ReadByteFromBank + ld b, a + ld h, b + ld l, c .asm_288f4 - xor a - ld [$d860], a - ld [$d861], a - ld bc, $906c - ld de, $8900 - call Func_28d97 - rl a - ld [$d956], a - ld a, l - ld [$d957], a - ld a, h - ld [$d958], a - ret + xor a + ld [$d860], a + ld [$d861], a + ld bc, $906c + ld de, $8900 + call Func_28d97 + rl a + ld [$d956], a + ld a, l + ld [$d957], a + ld a, h + ld [$d958], a + ret Func_28912: ; 0x28912 - ld bc, $906c - ld de, $8900 - ld a, [$d957] - ld l, a - ld a, [$d958] - ld h, a - call Func_28d97 - rl a - ld [$d956], a - ld a, l - ld [$d957], a - ld a, h - ld [$d958], a - ret + ld bc, $906c + ld de, $8900 + ld a, [$d957] + ld l, a + ld a, [$d958] + ld h, a + call Func_28d97 + rl a + ld [$d956], a + ld a, l + ld [$d957], a + ld a, h + ld [$d958], a + ret Func_28931: ; 0x28931 - ld a, [wCurPokedexIndex] - ld c, a - ld b, $0 - ld hl, wPokedexFlags - add hl, bc - ld a, [hl] - and a - ld hl, $4970 ; todo - jr z, .asm_2895d - ld a, [wCurPokedexIndex] - ld c, a - ld b, $0 - ld h, b - ld l, c - sla l - rl h - sla l - rl h - sla l - rl h - add hl, bc - add hl, bc - add hl, bc - ld bc, $5892 - add hl, bc + ld a, [wCurPokedexIndex] + ld c, a + ld b, $0 + ld hl, wPokedexFlags + add hl, bc + ld a, [hl] + and a + ld hl, $4970 ; todo + jr z, .asm_2895d + ld a, [wCurPokedexIndex] + ld c, a + ld b, $0 + ld h, b + ld l, c + sla l + rl h + sla l + rl h + sla l + rl h + add hl, bc + add hl, bc + add hl, bc + ld bc, $5892 + add hl, bc .asm_2895d - ld a, $ff - ld [$d860], a - xor a - ld [$d861], a - ld bc, $500a - ld de, $9500 - call Func_28e09 - ret + ld a, $ff + ld [$d860], a + xor a + ld [$d861], a + ld bc, $500a + ld de, $9500 + call Func_28e09 + ret -INCBIN "baserom.gbc",$28970,$28972 - $28970 + dr $28970, $28972 Func_28972: ; 0x28972 - ld a, [wPokedexOffset] - ld c, a - ld b, $6 + ld a, [wPokedexOffset] + ld c, a + ld b, $6 .asm_28978 - push bc - ld a, c - sla a - and $e - ld e, a - ld d, $0 - ld hl, $47b7 ; todo - add hl, de - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - ld a, c - call Func_28993 - pop bc - inc c - dec b - jr nz, .asm_28978 - ret + push bc + ld a, c + sla a + and $e + ld e, a + ld d, $0 + ld hl, $47b7 ; todo + add hl, de + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + ld a, c + call Func_28993 + pop bc + inc c + dec b + jr nz, .asm_28978 + ret Func_28993: ; 0x28993 - push hl - ld c, a - ld b, $0 - ld hl, wPokedexFlags - add hl, bc - ld a, [hl] - and a - ld hl, $49c6 ; todo - jr z, .asm_289b7 - ld h, b - ld l, c - sla l - rl h - sla l - rl h - sla l - rl h - add hl, bc - add hl, bc - add hl, bc - ld bc, $5892 ; todo - add hl, bc + push hl + ld c, a + ld b, $0 + ld hl, wPokedexFlags + add hl, bc + ld a, [hl] + and a + ld hl, $49c6 ; todo + jr z, .asm_289b7 + ld h, b + ld l, c + sla l + rl h + sla l + rl h + sla l + rl h + add hl, bc + add hl, bc + add hl, bc + ld bc, $5892 ; todo + add hl, bc .asm_289b7 - xor a - ld [$d860], a - ld [$d861], a - ld bc, $500a ; todo - call Func_28e09 - pop hl - ret + xor a + ld [$d860], a + ld [$d861], a + ld bc, $500a ; todo + call Func_28e09 + pop hl + ret -INCBIN "baserom.gbc",$289c6,$289c8 - $289c6 + dr $289c6, $289c8 Func_289c8: ; 0x289c8 - ld a, [wCurPokedexIndex] - ld c, a - ld b, $0 - ld hl, wPokedexFlags - add hl, bc - bit 1, [hl] - ld hl, $4a12 ; todo - jr z, .asm_289fe - ld a, [wCurPokedexIndex] - ld c, a - ld b, $0 - ld hl, MonDexTypeIDs - add hl, bc - ld c, [hl] - ld h, b - ld l, c - sla l - rl h - sla l - rl h - sla l - rl h - add hl, bc - add hl, bc - add hl, bc ; value * 11 - sla l - rl h - add hl, bc ; value * 23 - ld bc, $5fa6 ; todo - add hl, bc + ld a, [wCurPokedexIndex] + ld c, a + ld b, $0 + ld hl, wPokedexFlags + add hl, bc + bit 1, [hl] + ld hl, $4a12 ; todo + jr z, .asm_289fe + ld a, [wCurPokedexIndex] + ld c, a + ld b, $0 + ld hl, MonDexTypeIDs + add hl, bc + ld c, [hl] + ld h, b + ld l, c + sla l + rl h + sla l + rl h + sla l + rl h + add hl, bc + add hl, bc + add hl, bc ; value * 11 + sla l + rl h + add hl, bc ; value * 23 + ld bc, $5fa6 ; todo + add hl, bc .asm_289fe - ld a, $ff - ld [$d860], a - ld a, $4 - ld [$d861], a - ld bc, $5816 - ld de, $95a0 - call Func_28e09 - ret + ld a, $ff + ld [$d860], a + ld a, $4 + ld [$d861], a + ld bc, $5816 + ld de, $95a0 + call Func_28e09 + ret -INCBIN "baserom.gbc",$28a12,$28a15 - $28a12 + dr $28a12, $28a15 Func_28a15: ; 0x28a15 - ld a, [wCurPokedexIndex] - ld c, a - ld b, $0 - ld h, b - ld l, c - sla l - rl h - add hl, bc - sla l - rl h - add hl, bc - sla l - rl h - add hl, bc - ld bc, $685d ; todo - add hl, bc - ld d, h - ld e, l - ld a, $0 - ld [$d865], a - push de - ld hl, $9844 - call Func_28d71 - pop de - inc de - inc de - inc de - inc de - ld a, [wCurPokedexIndex] - ld c, a - ld b, $0 - ld hl, wPokedexFlags - add hl, bc - bit 1, [hl] - jr nz, .asm_28a54 - ld de, $4a7f ; todo + ld a, [wCurPokedexIndex] + ld c, a + ld b, $0 + ld h, b + ld l, c + sla l + rl h + add hl, bc + sla l + rl h + add hl, bc + sla l + rl h + add hl, bc + ld bc, $685d ; todo + add hl, bc + ld d, h + ld e, l + ld a, $0 + ld [$d865], a + push de + ld hl, $9844 + call Func_28d71 + pop de + inc de + inc de + inc de + inc de + ld a, [wCurPokedexIndex] + ld c, a + ld b, $0 + ld hl, wPokedexFlags + add hl, bc + bit 1, [hl] + jr nz, .asm_28a54 + ld de, $4a7f ; todo .asm_28a54 - push de - ld hl, $98c8 - call Func_28d71 - pop de - inc de - inc de - inc de - inc de - inc de - push de - ld hl, $98ce - call Func_28d71 - pop de - inc de - inc de - inc de - inc de - inc de - ld hl, $98f0 - ld a, [$ff40] - bit 7, a - jr nz, .asm_28a7a - ld a, [de] - ld [hl], a - ret + push de + ld hl, $98c8 + call Func_28d71 + pop de + inc de + inc de + inc de + inc de + inc de + push de + ld hl, $98ce + call Func_28d71 + pop de + inc de + inc de + inc de + inc de + inc de + ld hl, $98f0 + ld a, [rLCDC] + bit 7, a + jr nz, .asm_28a7a + ld a, [de] + ld [hl], a + ret .asm_28a7a - ld a, [de] - call PutTileInVRAM - ret + ld a, [de] + call PutTileInVRAM + ret -INCBIN "baserom.gbc",$28a7f,$28a8a - $28a7f + dr $28a7f, $28a8a Func_28a8a: ; 0x28a8a - ld a, [wPokedexOffset] - ld c, a - ld b, $6 + ld a, [wPokedexOffset] + ld c, a + ld b, $6 .asm_28a90 - push bc - ld a, c - sla a - and $1e - ld e, a - ld d, $0 - ld hl, $47c7 ; todo - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - ld a, c - call Func_28aaa - pop bc - inc c - dec b - jr nz, .asm_28a90 - ret + push bc + ld a, c + sla a + and $1e + ld e, a + ld d, $0 + ld hl, $47c7 ; todo + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + ld a, c + call Func_28aaa + pop bc + inc c + dec b + jr nz, .asm_28a90 + ret Func_28aaa: ; 0x28aaa - push hl - ld c, a - ld b, $0 - ld h, b - ld l, c - sla l - rl h - add hl, bc - sla l - rl h - add hl, bc - sla l - rl h - add hl, bc - ld bc, $685d ; todo - add hl, bc - ld d, h - ld e, l - ld a, $23 - ld [$d865], a - pop hl - push hl - call Func_28d71 - pop hl - ret + push hl + ld c, a + ld b, $0 + ld h, b + ld l, c + sla l + rl h + add hl, bc + sla l + rl h + add hl, bc + sla l + rl h + add hl, bc + ld bc, $685d ; todo + add hl, bc + ld d, h + ld e, l + ld a, $23 + ld [$d865], a + pop hl + push hl + call Func_28d71 + pop hl + ret Func_28ad1: ; 0x28ad1 - ld a, [wPokedexOffset] - swap a - and $f0 - sub $3c - ld [$ffab], a - ret + ld a, [wPokedexOffset] + swap a + and $f0 + sub $3c + ld [$ffab], a + ret Func_28add: ; 0x28add - ld a, [wCurPokedexIndex] - ld c, a - ld b, $0 - ld hl, wPokedexFlags - add hl, bc - ld a, [hl] - and a - jp z, Func_28b76 - dec a - jp z, Func_28baf - ld a, [$d960] - and a - jr z, .asm_28afc - call Func_28cc2 - jp z, Func_28bf5 + ld a, [wCurPokedexIndex] + ld c, a + ld b, $0 + ld hl, wPokedexFlags + add hl, bc + ld a, [hl] + and a + jp z, Func_28b76 + dec a + jp z, Func_28baf + ld a, [$d960] + and a + jr z, .asm_28afc + call Func_28cc2 + jp z, Func_28bf5 .asm_28afc - ld a, [wCurPokedexIndex] - ld c, a - ld b, $0 - sla c - rl b - add c - ld c, a - jr nc, .asm_28b0b - inc b + ld a, [wCurPokedexIndex] + ld c, a + ld b, $0 + sla c + rl b + add c + ld c, a + jr nc, .asm_28b0b + inc b .asm_28b0b - push bc - ld hl, MonBillboardPicPointers - add hl, bc - ld a, Bank(MonBillboardPicPointers) - call ReadByteFromBank - inc hl - ld c, a - ld a, Bank(MonBillboardPicPointers) - call ReadByteFromBank - inc hl - ld b, a - ld a, Bank(MonBillboardPicPointers) - call ReadByteFromBank - ld h, b - ld l, c - ld de, $9000 - ld bc, $0180 - call Func_735 - call Func_28cd4 - pop bc - ld a, [hGameBoyColorFlag] - and a - ret z - push bc - ld hl, MonBillboardPaletteMapPointers ; todo - add hl, bc - ld a, Bank(MonBillboardPaletteMapPointers) - call ReadByteFromBank - inc hl - ld e, a - ld a, Bank(MonBillboardPaletteMapPointers) - call ReadByteFromBank - inc hl - ld d, a - ld a, Bank(MonBillboardPaletteMapPointers) - call ReadByteFromBank - ld hl, $9861 - call Func_86f - pop bc - ld hl, MonBillboardPalettePointers - add hl, bc - ld a, Bank(MonBillboardPalettePointers) - call ReadByteFromBank - inc hl - ld e, a - ld a, Bank(MonBillboardPalettePointers) - call ReadByteFromBank - inc hl - ld d, a - ld a, Bank(MonBillboardPalettePointers) - call ReadByteFromBank - ld bc, $10b0 - ld hl, $ff68 - call Func_8e1 - ret + push bc + ld hl, MonBillboardPicPointers + add hl, bc + ld a, Bank(MonBillboardPicPointers) + call ReadByteFromBank + inc hl + ld c, a + ld a, Bank(MonBillboardPicPointers) + call ReadByteFromBank + inc hl + ld b, a + ld a, Bank(MonBillboardPicPointers) + call ReadByteFromBank + ld h, b + ld l, c + ld de, $9000 + ld bc, $0180 + call Func_735 + call Func_28cd4 + pop bc + ld a, [hGameBoyColorFlag] + and a + ret z + push bc + ld hl, MonBillboardPaletteMapPointers ; todo + add hl, bc + ld a, Bank(MonBillboardPaletteMapPointers) + call ReadByteFromBank + inc hl + ld e, a + ld a, Bank(MonBillboardPaletteMapPointers) + call ReadByteFromBank + inc hl + ld d, a + ld a, Bank(MonBillboardPaletteMapPointers) + call ReadByteFromBank + ld hl, $9861 + call Func_86f + pop bc + ld hl, MonBillboardPalettePointers + add hl, bc + ld a, Bank(MonBillboardPalettePointers) + call ReadByteFromBank + inc hl + ld e, a + ld a, Bank(MonBillboardPalettePointers) + call ReadByteFromBank + inc hl + ld d, a + ld a, Bank(MonBillboardPalettePointers) + call ReadByteFromBank + ld bc, $10b0 + ld hl, rBGPI + call Func_8e1 + ret Func_28b76: ; 0x28b76 - ld a, $1c - ld hl, $5500 - ld de, $9000 - ld bc, $0180 - call Func_735 - call Func_28cd4 - ld a, [hGameBoyColorFlag] - and a - ret z - ld a, $a - ld de, $4b97 - ld hl, $9861 - call Func_86f - ret - -INCBIN "baserom.gbc",$28b97,$28baf - $28b97 + ld a, $1c + ld hl, $5500 + ld de, $9000 + ld bc, $0180 + call Func_735 + call Func_28cd4 + ld a, [hGameBoyColorFlag] + and a + ret z + ld a, $a + ld de, $4b97 + ld hl, $9861 + call Func_86f + ret + + dr $28b97, $28baf Func_28baf: ; 0x28baf - ld a, [wCurPokedexIndex] - ld c, a - ld b, $0 - sla c - rl b - add c - ld c, a - jr nc, .asm_28bbe - inc b + ld a, [wCurPokedexIndex] + ld c, a + ld b, $0 + sla c + rl b + add c + ld c, a + jr nc, .asm_28bbe + inc b .asm_28bbe - ld hl, MonBillboardPicPointers - add hl, bc - ld a, Bank(MonBillboardPicPointers) - call ReadByteFromBank - inc hl - ld c, a - ld a, Bank(MonBillboardPicPointers) - call ReadByteFromBank - inc hl - ld b, a - ld a, Bank(MonBillboardPicPointers) - call ReadByteFromBank - ld hl, $0180 - add hl, bc - ld de, $9000 - ld bc, $0180 - call Func_735 - call Func_28cd4 - ld a, [hGameBoyColorFlag] - and a - ret z - ld a, $a - ld de, $4b97 ; todo - ld hl, $9861 - call Func_86f - ret + ld hl, MonBillboardPicPointers + add hl, bc + ld a, Bank(MonBillboardPicPointers) + call ReadByteFromBank + inc hl + ld c, a + ld a, Bank(MonBillboardPicPointers) + call ReadByteFromBank + inc hl + ld b, a + ld a, Bank(MonBillboardPicPointers) + call ReadByteFromBank + ld hl, $0180 + add hl, bc + ld de, $9000 + ld bc, $0180 + call Func_735 + call Func_28cd4 + ld a, [hGameBoyColorFlag] + and a + ret z + ld a, $a + ld de, $4b97 ; todo + ld hl, $9861 + call Func_86f + ret Func_28bf5: ; 0x28bf5 - ld a, [wCurPokedexIndex] - ld c, a - ld b, $0 - sla c - rl b - add c - ld c, a - jr nc, .asm_28c04 - inc b + ld a, [wCurPokedexIndex] + ld c, a + ld b, $0 + sla c + rl b + add c + ld c, a + jr nc, .asm_28c04 + inc b .asm_28c04 - push bc - ld a, $1 - ld [$ff4f], a - ld hl, MonAnimatedPicPointers - add hl, bc - ld a, Bank(MonAnimatedPicPointers) - call ReadByteFromBank - inc hl - ld c, a - ld a, Bank(MonAnimatedPicPointers) - call ReadByteFromBank - inc hl - ld b, a - ld a, Bank(MonAnimatedPicPointers) - call ReadByteFromBank - ld h, b - ld l, c - ld de, vTiles0 - ld bc, $0300 - call Func_735 - xor a - ld [$ff4f], a - pop bc - push bc - ld a, [wCurPokedexIndex] - ld c, a - ld b, $0 - ld hl, $561d ; todo - add hl, bc - ld a, $4 - call ReadByteFromBank - ld c, a - ld b, $0 - sla c - rl b - add c - ld c, a - jr nc, .asm_28c4b - inc b + push bc + ld a, $1 + ld [rVBK], a + ld hl, MonAnimatedPicPointers + add hl, bc + ld a, Bank(MonAnimatedPicPointers) + call ReadByteFromBank + inc hl + ld c, a + ld a, Bank(MonAnimatedPicPointers) + call ReadByteFromBank + inc hl + ld b, a + ld a, Bank(MonAnimatedPicPointers) + call ReadByteFromBank + ld h, b + ld l, c + ld de, vTiles0 + ld bc, $0300 + call Func_735 + xor a + ld [rVBK], a + pop bc + push bc + ld a, [wCurPokedexIndex] + ld c, a + ld b, $0 + ld hl, $561d ; todo + add hl, bc + ld a, $4 + call ReadByteFromBank + ld c, a + ld b, $0 + sla c + rl b + add c + ld c, a + jr nc, .asm_28c4b + inc b .asm_28c4b - ld hl, Data_13685 - add hl, bc - ld a, Bank(Data_13685) - call ReadByteFromBank - ld [$d5c1], a - ld [$d5be], a - inc hl - ld a, Bank(Data_13685) - call ReadByteFromBank - ld [$d5c2], a - inc hl - ld a, Bank(Data_13685) - call ReadByteFromBank - ld [$d5c3], a - ld a, [wCurPokedexIndex] - ld c, a - ld b, $0 - ld hl, MonAnimatedSpriteTypes - add hl, bc - ld a, Bank(MonAnimatedSpriteTypes) - call ReadByteFromBank - ld [$d5bc], a - ld [$d5bd], a - call Func_28cf8 - pop bc - ld a, [hGameBoyColorFlag] - and a - ret z - ld hl, MonAnimatedPalettePointers - add hl, bc - ld a, Bank(MonAnimatedPalettePointers) - call ReadByteFromBank - inc hl - ld e, a - ld a, Bank(MonAnimatedPalettePointers) - call ReadByteFromBank - inc hl - ld d, a - ld a, Bank(MonAnimatedPalettePointers) - call ReadByteFromBank - push af - push de - ld bc, $10b0 - ld hl, $ff68 - call Func_8e1 - pop de - pop af - push af - ld bc, $08d8 - ld hl, $ff6a - call Func_8e1 - pop af - ld bc, $08e8 - ld hl, $ff6a - call Func_8e1 - ret + ld hl, Data_13685 + add hl, bc + ld a, Bank(Data_13685) + call ReadByteFromBank + ld [$d5c1], a + ld [$d5be], a + inc hl + ld a, Bank(Data_13685) + call ReadByteFromBank + ld [$d5c2], a + inc hl + ld a, Bank(Data_13685) + call ReadByteFromBank + ld [$d5c3], a + ld a, [wCurPokedexIndex] + ld c, a + ld b, $0 + ld hl, MonAnimatedSpriteTypes + add hl, bc + ld a, Bank(MonAnimatedSpriteTypes) + call ReadByteFromBank + ld [$d5bc], a + ld [$d5bd], a + call Func_28cf8 + pop bc + ld a, [hGameBoyColorFlag] + and a + ret z + ld hl, MonAnimatedPalettePointers + add hl, bc + ld a, Bank(MonAnimatedPalettePointers) + call ReadByteFromBank + inc hl + ld e, a + ld a, Bank(MonAnimatedPalettePointers) + call ReadByteFromBank + inc hl + ld d, a + ld a, Bank(MonAnimatedPalettePointers) + call ReadByteFromBank + push af + push de + ld bc, $10b0 + ld hl, rBGPI + call Func_8e1 + pop de + pop af + push af + ld bc, $08d8 + ld hl, rOBPI + call Func_8e1 + pop af + ld bc, $08e8 + ld hl, rOBPI + call Func_8e1 + ret Func_28cc2: ; 0x28cc2 - ld a, [wCurPokedexIndex] - ld c, a - ld b, $0 - ld hl, MonAnimatedSpriteTypes - add hl, bc - ld a, Bank(MonAnimatedSpriteTypes) - call ReadByteFromBank - bit 7, a - ret + ld a, [wCurPokedexIndex] + ld c, a + ld b, $0 + ld hl, MonAnimatedSpriteTypes + add hl, bc + ld a, Bank(MonAnimatedSpriteTypes) + call ReadByteFromBank + bit 7, a + ret Func_28cd4: ; 0x28cd4 - xor a - ld hl, $d961 - cp [hl] - ret z - ld [hl], a - ld de, .Data_28ce0 - jr asm_28d1d + xor a + ld hl, $d961 + cp [hl] + ret z + ld [hl], a + ld de, .Data_28ce0 + jr asm_28d1d .Data_28ce0: ; 0x28ce0 - db $0 - db $1 - db $2 - db $3 - db $4 - db $5 - db $6 - db $7 - db $8 - db $9 - db $a - db $b - db $c - db $d - db $e - db $f - db $10 - db $11 - db $12 - db $13 - db $14 - db $15 - db $16 - db $17 + db $0 + db $1 + db $2 + db $3 + db $4 + db $5 + db $6 + db $7 + db $8 + db $9 + db $a + db $b + db $c + db $d + db $e + db $f + db $10 + db $11 + db $12 + db $13 + db $14 + db $15 + db $16 + db $17 Func_28cf8: ; 0x28cf8 - ld a, $1 - ld hl, $d961 - cp [hl] - ret z - ld [hl], a - ld de, .data_28d05 - jr asm_28d1d + ld a, $1 + ld hl, $d961 + cp [hl] + ret z + ld [hl], a + ld de, .data_28d05 + jr asm_28d1d .data_28d05 - db $fe - db $fe - db $fe - db $fe - db $fe - db $fe - db $fe - db $fe - db $fe - db $fe - db $fe - db $fe - db $fe - db $fe - db $fe - db $fe - db $fe - db $fe - db $fe - db $fe - db $fe - db $fe - db $fe - db $fe + db $fe + db $fe + db $fe + db $fe + db $fe + db $fe + db $fe + db $fe + db $fe + db $fe + db $fe + db $fe + db $fe + db $fe + db $fe + db $fe + db $fe + db $fe + db $fe + db $fe + db $fe + db $fe + db $fe + db $fe asm_28d1d - ld hl, $9861 - ld b, $4 + ld hl, $9861 + ld b, $4 .asm_28d22 - ld c, $6 + ld c, $6 .asm_28d24 - ld a, [de] - call PutTileInVRAM - inc de - inc hl - dec c - jr nz, .asm_28d24 - ld a, l - add $1a - ld l, a - dec b - jr nz, .asm_28d22 - ret + ld a, [de] + call PutTileInVRAM + inc de + inc hl + dec c + jr nz, .asm_28d24 + ld a, l + add $1a + ld l, a + dec b + jr nz, .asm_28d22 + ret CountNumSeenOwnedMons: ; 0x28d35 - ld hl, wPokedexFlags - ld de, $0000 ; keep a running count: d = owned, e = seen - ld b, NUM_POKEMON + ld hl, wPokedexFlags + ld de, $0000 ; keep a running count: d = owned, e = seen + ld b, NUM_POKEMON .checkSeen - bit 0, [hl] ; is mon seen? - jr z, .checkOwned - inc e + bit 0, [hl] ; is mon seen? + jr z, .checkOwned + inc e .checkOwned - bit 1, [hl] ; is mon owned? - jr z, .nextMon - inc d + bit 1, [hl] ; is mon owned? + jr z, .nextMon + inc d .nextMon - inc hl - dec b - jr nz, .checkSeen - push de - ld a, d - call ConvertHexByteToDecWord - ld a, e - ld [wNumPokemonSeen], a - ld a, d - ld [wNumPokemonSeen + 1], a - pop de - ld a, e - call ConvertHexByteToDecWord - ld a, e - ld [wNumPokemonOwned], a - ld a, d - ld [wNumPokemonOwned + 1], a - ret + inc hl + dec b + jr nz, .checkSeen + push de + ld a, d + call ConvertHexByteToDecWord + ld a, e + ld [wNumPokemonSeen], a + ld a, d + ld [wNumPokemonSeen + 1], a + pop de + ld a, e + call ConvertHexByteToDecWord + ld a, e + ld [wNumPokemonOwned], a + ld a, d + ld [wNumPokemonOwned + 1], a + ret ClearPokedexData: ; 0x28d66 - ld hl, wPokedexFlags - xor a - ld b, NUM_POKEMON + ld hl, wPokedexFlags + xor a + ld b, NUM_POKEMON .asm_28d6c - ld [hli], a - dec b - jr nz, .asm_28d6c - ret + ld [hli], a + dec b + jr nz, .asm_28d6c + ret Func_28d71: ; 0x28d71 - ld a, [$d865] - ld c, a - ld a, [de] - inc de - and a - ret z - cp $20 - jr nz, .asm_28d81 - ld a, $ff - jr .asm_28d82 + ld a, [$d865] + ld c, a + ld a, [de] + inc de + and a + ret z + cp $20 + jr nz, .asm_28d81 + ld a, $ff + jr .asm_28d82 .asm_28d81 - add c + add c .asm_28d82 - call Func_28d88 - inc hl - jr Func_28d71 + call Func_28d88 + inc hl + jr Func_28d71 Func_28d88: ; 0x28d88 - push af - ld a, [$ff40] - bit 7, a - jr nz, .asm_28d92 - pop af - ld [hl], a - ret + push af + ld a, [rLCDC] + bit 7, a + jr nz, .asm_28d92 + pop af + ld [hl], a + ret .asm_28d92 - pop af - call PutTileInVRAM - ret + pop af + call PutTileInVRAM + ret Func_28d97: ; 0x28d97 - push de - ld a, b - ld [$ff8c], a - ld [$ff8d], a - ld a, c - ld [$ff8f], a - xor a - ld [$ff8e], a - ld [$ff90], a - ld [$ff91], a - call Func_28e73 + push de + ld a, b + ld [$ff8c], a + ld [$ff8d], a + ld a, c + ld [$ff8f], a + xor a + ld [$ff8e], a + ld [$ff90], a + ld [$ff91], a + call Func_28e73 .asm_28daa - call Func_2957c - jr nc, .asm_28dcb - push hl - ld [$ff92], a - cp $ff - jr nz, .asm_28dbb - call Func_208c - jr .asm_28dc8 + call Func_2957c + jr nc, .asm_28dcb + push hl + ld [$ff92], a + cp $ff + jr nz, .asm_28dbb + call Func_208c + jr .asm_28dc8 .asm_28dbb - ld c, a - ld b, $0 - ld hl, CharacterWidths - add hl, bc - ld a, [hl] - ld [$ff93], a - call Func_206d + ld c, a + ld b, $0 + ld hl, CharacterWidths + add hl, bc + ld a, [hl] + ld [$ff93], a + call Func_206d .asm_28dc8 - pop hl - jr nc, .asm_28daa + pop hl + jr nc, .asm_28daa .asm_28dcb - pop de - push af - ld a, e - ld [$d863], a - ld a, d - ld [$d864], a - ld a, [$d862] - and a - jr nz, .asm_28ddd - pop af - ret + pop de + push af + ld a, e + ld [$d863], a + ld a, d + ld [$d864], a + ld a, [$d862] + and a + jr nz, .asm_28ddd + pop af + ret .asm_28ddd - push hl - ld a, [$d861] - ld c, a - ld b, $0 - bit 7, c - jr z, .asm_28de9 - dec b + push hl + ld a, [$d861] + ld c, a + ld b, $0 + bit 7, c + jr z, .asm_28de9 + dec b .asm_28de9 - ld hl, $c010 - add hl, bc - ld a, [$ff8f] - ld c, a - ld b, $0 - sla c - rl b - sla c - rl b - sla c - rl b - sla c - rl b - xor a - call Func_735 - pop hl - pop af - ret + ld hl, $c010 + add hl, bc + ld a, [$ff8f] + ld c, a + ld b, $0 + sla c + rl b + sla c + rl b + sla c + rl b + sla c + rl b + xor a + call Func_735 + pop hl + pop af + ret Func_28e09: ; 0x28e09 - push de - ld a, b - ld [$ff8c], a - ld [$ff8d], a - ld a, c - ld [$ff8f], a - xor a - ld [$ff8e], a - ld [$ff90], a - ld [$ff91], a - call Func_28e73 + push de + ld a, b + ld [$ff8c], a + ld [$ff8d], a + ld a, c + ld [$ff8f], a + xor a + ld [$ff8e], a + ld [$ff90], a + ld [$ff91], a + call Func_28e73 .asm_28e1c - call Func_295e1 - jr nc, .asm_28e35 - push hl - ld [$ff92], a - ld c, a - ld b, $0 - ld hl, CharacterWidths - add hl, bc - ld a, [hl] - ld [$ff93], a - call Func_206d - pop hl - jr nc, .asm_28e1c - nop + call Func_295e1 + jr nc, .asm_28e35 + push hl + ld [$ff92], a + ld c, a + ld b, $0 + ld hl, CharacterWidths + add hl, bc + ld a, [hl] + ld [$ff93], a + call Func_206d + pop hl + jr nc, .asm_28e1c + nop .asm_28e35 - pop de - push af - ld a, e - ld [$d863], a - ld a, d - ld [$d864], a - ld a, [$d862] - and a - jr nz, .asm_28e47 - pop af - ret + pop de + push af + ld a, e + ld [$d863], a + ld a, d + ld [$d864], a + ld a, [$d862] + and a + jr nz, .asm_28e47 + pop af + ret .asm_28e47 - push hl - ld a, [$d861] - ld c, a - ld b, $0 - bit 7, c - jr z, .asm_28e53 - dec b + push hl + ld a, [$d861] + ld c, a + ld b, $0 + bit 7, c + jr z, .asm_28e53 + dec b .asm_28e53 - ld hl, $c010 - add hl, bc - ld a, [$ff8f] - ld c, a - ld b, $0 - sla c - rl b - sla c - rl b - sla c - rl b - sla c - rl b - xor a - call Func_735 - pop hl - pop af - ret + ld hl, $c010 + add hl, bc + ld a, [$ff8f] + ld c, a + ld b, $0 + sla c + rl b + sla c + rl b + sla c + rl b + sla c + rl b + xor a + call Func_735 + pop hl + pop af + ret Func_28e73: ; 0x28e73 - push hl - ld a, [$ff8f] - ld c, a - ld b, $0 - sla c - rl b - sla c - rl b - sla c - rl b - sla c - rl b - ld hl, $5566 ; todo - ld a, l - sub c - ld l, a - ld a, h - sbc b - ld h, a - push hl - ld hl, wc000 - ld a, [$d860] - ret - -INCBIN "baserom.gbc",$28e9a,$2957c - $28e9a + push hl + ld a, [$ff8f] + ld c, a + ld b, $0 + sla c + rl b + sla c + rl b + sla c + rl b + sla c + rl b + ld hl, $5566 ; todo + ld a, l + sub c + ld l, a + ld a, h + sbc b + ld h, a + push hl + ld hl, wc000 + ld a, [$d860] + ret + + dr $28e9a, $2957c Func_2957c: ; 0x2957c - ld a, $b - call ReadByteFromBank - inc hl - and a - ret z - cp $d - jr nz, .asm_2958c - ld a, $ff - scf - ret + ld a, $b + call ReadByteFromBank + inc hl + and a + ret z + cp $d + jr nz, .asm_2958c + ld a, $ff + scf + ret .asm_2958c - cp $30 - jr c, .asm_29594 - cp $3a - jr c, .asm_295be + cp $30 + jr c, .asm_29594 + cp $3a + jr c, .asm_295be .asm_29594 - cp $41 - jr c, .asm_2959c - cp $5b - jr c, .asm_295c2 + cp $41 + jr c, .asm_2959c + cp $5b + jr c, .asm_295c2 .asm_2959c - cp $61 - jr c, .asm_295a4 - cp $7b - jr c, .asm_295c6 + cp $61 + jr c, .asm_295a4 + cp $7b + jr c, .asm_295c6 .asm_295a4 - cp $20 - jr z, .asm_295ca - cp $2c - jr z, .asm_295cd - cp $2e - jr z, .asm_295d1 - cp $60 - jr z, .asm_295d5 - cp $2d - jr z, .asm_295d9 - cp $40 - jr z, .asm_295dd - and a - ret + cp $20 + jr z, .asm_295ca + cp $2c + jr z, .asm_295cd + cp $2e + jr z, .asm_295d1 + cp $60 + jr z, .asm_295d5 + cp $2d + jr z, .asm_295d9 + cp $40 + jr z, .asm_295dd + and a + ret .asm_295be - sub $88 - scf - ret + sub $88 + scf + ret .asm_295c2 - sub $8e - scf - ret + sub $8e + scf + ret .asm_295c6 - sub $94 - scf - ret + sub $94 + scf + ret .asm_295ca - xor a - scf - ret + xor a + scf + ret .asm_295cd - ld a, $f3 - scf - ret + ld a, $f3 + scf + ret .asm_295d1 - ld a, $f4 - scf - ret + ld a, $f4 + scf + ret .asm_295d5 - ld a, $fa - scf - ret + ld a, $fa + scf + ret .asm_295d9 - ld a, $b2 - scf - ret + ld a, $b2 + scf + ret .asm_295dd - ld a, $f9 - scf - ret + ld a, $f9 + scf + ret Func_295e1: ; 0x295e1 - ld a, [hli] - and a - ret z - cp $80 - jr nc, .asm_295ed - ld c, a - ld b, $0 - jr .asm_295f0 + ld a, [hli] + and a + ret z + cp $80 + jr nc, .asm_295ed + ld c, a + ld b, $0 + jr .asm_295f0 .asm_295ed - ld b, a - ld a, [hli] - ld c, a + ld b, a + ld a, [hli] + ld c, a .asm_295f0 - ld a, b - and a - jr nz, .asm_295f9 - ld a, c - sub $20 - scf - ret + ld a, b + and a + jr nz, .asm_295f9 + ld a, c + sub $20 + scf + ret .asm_295f9 - push hl - call Func_29605 - ld c, a - ld b, $0 - add hl, bc - ld a, [hl] - pop hl - scf - ret + push hl + call Func_29605 + ld c, a + ld b, $0 + add hl, bc + ld a, [hl] + pop hl + scf + ret Func_29605: ; 0x29605 - ld a, b - cp $81 - jr nz, .asm_29611 - ld hl, $562f ; todo - ld a, c - sub $40 - ret + ld a, b + cp $81 + jr nz, .asm_29611 + ld hl, $562f ; todo + ld a, c + sub $40 + ret .asm_29611 - cp $83 - jr nz, .asm_2961c - ld hl, $573b ; todo - ld a, c - sub $40 - ret + cp $83 + jr nz, .asm_2961c + ld hl, $573b ; todo + ld a, c + sub $40 + ret .asm_2961c - ld a, c - cp $9f - jr nc, .asm_29628 - ld hl, $569c ; todo - ld a, c - sub $4f - ret + ld a, c + cp $9f + jr nc, .asm_29628 + ld hl, $569c ; todo + ld a, c + sub $4f + ret .asm_29628 - ld hl, $56e8 ; todo - ld a, c - sub $9f - ret + ld hl, $56e8 ; todo + ld a, c + sub $9f + ret -INCBIN "baserom.gbc",$2962f,$29792 - $2962f + dr $2962f, $29792 CharacterWidths: ; 0x29792 ; The Pokedex shows variable-width font. This list specifies the width of every letter (tile?) - db $05 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $05 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $06 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $08 ; "A" - db $07 ; "B" - db $07 ; "C" - db $07 ; "D" - db $07 ; "E" - db $07 ; "F" - db $07 ; "G" - db $07 ; "H" - db $05 ; "I" - db $08 ; "J" - db $07 ; "K" - db $07 ; "L" - db $08 ; "M" - db $07 ; "N" - db $07 ; "O" - db $07 ; "P" - db $08 ; "Q" - db $07 ; "R" - db $07 ; "S" - db $08 ; "T" - db $07 ; "U" - db $08 ; "V" - db $08 ; "W" - db $08 ; "X" - db $08 ; "Y" - db $08 ; "Z" - db $07 - db $08 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $08 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $05 - db $08 - db $07 - db $07 - db $08 - db $07 - db $07 - db $07 - db $08 - db $07 - db $07 - db $08 - db $07 - db $08 - db $08 - db $08 - db $08 - db $08 - db $07 ; "a" - db $07 ; "b" - db $07 ; "c" - db $07 ; "d" - db $07 ; "e" - db $07 ; "f" - db $07 ; "g" - db $07 ; "h" - db $03 ; "i" - db $07 ; "j" - db $07 ; "k" - db $03 ; "l" - db $08 ; "m" - db $07 ; "n" - db $07 ; "o" - db $07 ; "p" - db $07 ; "q" - db $07 ; "r" - db $07 ; "s" - db $07 ; "t" - db $07 ; "u" - db $07 ; "v" - db $08 ; "w" - db $07 ; "x" - db $07 ; "y" - db $07 ; "z" - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $07 - db $03 - db $07 - db $05 - db $05 - db $05 - db $05 - db $05 - db $07 - db $07 - db $07 - db $07 - db $05 - db $07 - db $07 - db $07 - db $07 - db $07 - -INCBIN "baserom.gbc",$29892,$29f0f - $29892 + db $05 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $05 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $06 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $08 ; "A" + db $07 ; "B" + db $07 ; "C" + db $07 ; "D" + db $07 ; "E" + db $07 ; "F" + db $07 ; "G" + db $07 ; "H" + db $05 ; "I" + db $08 ; "J" + db $07 ; "K" + db $07 ; "L" + db $08 ; "M" + db $07 ; "N" + db $07 ; "O" + db $07 ; "P" + db $08 ; "Q" + db $07 ; "R" + db $07 ; "S" + db $08 ; "T" + db $07 ; "U" + db $08 ; "V" + db $08 ; "W" + db $08 ; "X" + db $08 ; "Y" + db $08 ; "Z" + db $07 + db $08 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $08 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $05 + db $08 + db $07 + db $07 + db $08 + db $07 + db $07 + db $07 + db $08 + db $07 + db $07 + db $08 + db $07 + db $08 + db $08 + db $08 + db $08 + db $08 + db $07 ; "a" + db $07 ; "b" + db $07 ; "c" + db $07 ; "d" + db $07 ; "e" + db $07 ; "f" + db $07 ; "g" + db $07 ; "h" + db $03 ; "i" + db $07 ; "j" + db $07 ; "k" + db $03 ; "l" + db $08 ; "m" + db $07 ; "n" + db $07 ; "o" + db $07 ; "p" + db $07 ; "q" + db $07 ; "r" + db $07 ; "s" + db $07 ; "t" + db $07 ; "u" + db $07 ; "v" + db $08 ; "w" + db $07 ; "x" + db $07 ; "y" + db $07 ; "z" + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $07 + db $03 + db $07 + db $05 + db $05 + db $05 + db $05 + db $05 + db $07 + db $07 + db $07 + db $07 + db $05 + db $07 + db $07 + db $07 + db $07 + db $07 + + dr $29892, $29f0f MonDexTypeIDs: ; 0x29f0f - db $00 - db $00 - db $00 - db $01 - db $02 - db $02 - db $03 - db $04 - db $05 - db $06 - db $07 - db $08 - db $09 - db $07 - db $0A - db $0B - db $0C - db $0C - db $60 - db $60 - db $0B - db $0E - db $0F - db $10 - db $0D - db $0D - db $0D - db $0D - db $11 - db $11 - db $12 - db $11 - db $11 - db $12 - db $13 - db $13 - db $14 - db $14 - db $15 - db $15 - db $16 - db $16 - db $17 - db $17 - db $18 - db $19 - db $19 - db $1A - db $1B - db $1C - db $1C - db $1D - db $1E - db $1F - db $1F - db $20 - db $20 - db $21 - db $22 - db $23 - db $23 - db $23 - db $24 - db $24 - db $24 - db $25 - db $25 - db $25 - db $18 - db $26 - db $26 - db $27 - db $27 - db $28 - db $28 - db $29 - db $2A - db $2A - db $2B - db $2C - db $2D - db $2D - db $2E - db $2F - db $30 - db $31 - db $31 - db $32 - db $32 - db $33 - db $33 - db $34 - db $34 - db $35 - db $36 - db $37 - db $37 - db $38 - db $39 - db $3A - db $3A - db $3B - db $3C - db $3D - db $3E - db $3F - db $40 - db $41 - db $42 - db $42 - db $43 - db $12 - db $3B - db $44 - db $45 - db $46 - db $46 - db $47 - db $47 - db $48 - db $49 - db $4A - db $4B - db $4C - db $4D - db $4E - db $4F - db $50 - db $51 - db $52 - db $53 - db $54 - db $55 - db $56 - db $57 - db $58 - db $59 - db $5A - db $5A - db $05 - db $05 - db $5B - db $5C - db $5D - db $4D - db $02 - db $46 - db $46 - db $46 - db $5E - db $5F - -INCBIN "baserom.gbc",$29fa6,$2c000 - $29fa6 + db $00 + db $00 + db $00 + db $01 + db $02 + db $02 + db $03 + db $04 + db $05 + db $06 + db $07 + db $08 + db $09 + db $07 + db $0A + db $0B + db $0C + db $0C + db $60 + db $60 + db $0B + db $0E + db $0F + db $10 + db $0D + db $0D + db $0D + db $0D + db $11 + db $11 + db $12 + db $11 + db $11 + db $12 + db $13 + db $13 + db $14 + db $14 + db $15 + db $15 + db $16 + db $16 + db $17 + db $17 + db $18 + db $19 + db $19 + db $1A + db $1B + db $1C + db $1C + db $1D + db $1E + db $1F + db $1F + db $20 + db $20 + db $21 + db $22 + db $23 + db $23 + db $23 + db $24 + db $24 + db $24 + db $25 + db $25 + db $25 + db $18 + db $26 + db $26 + db $27 + db $27 + db $28 + db $28 + db $29 + db $2A + db $2A + db $2B + db $2C + db $2D + db $2D + db $2E + db $2F + db $30 + db $31 + db $31 + db $32 + db $32 + db $33 + db $33 + db $34 + db $34 + db $35 + db $36 + db $37 + db $37 + db $38 + db $39 + db $3A + db $3A + db $3B + db $3C + db $3D + db $3E + db $3F + db $40 + db $41 + db $42 + db $42 + db $43 + db $12 + db $3B + db $44 + db $45 + db $46 + db $46 + db $47 + db $47 + db $48 + db $49 + db $4A + db $4B + db $4C + db $4D + db $4E + db $4F + db $50 + db $51 + db $52 + db $53 + db $54 + db $55 + db $56 + db $57 + db $58 + db $59 + db $5A + db $5A + db $05 + db $05 + db $5B + db $5C + db $5D + db $4D + db $02 + db $46 + db $46 + db $46 + db $5E + db $5F + + dr $29fa6, $2c000 SECTION "bankb", ROMX, BANK[$b] Unknown_2c000: ; 0x2c000 - db $20, $00 + db $20, $00 PokedexDescriptionPointers: ; 0x2c002 - dw BulbasaurPokedexDescription - dw IvysaurPokedexDescription - dw VenusaurPokedexDescription - dw CharmanderPokedexDescription - dw CharmeleonPokedexDescription - dw CharizardPokedexDescription - dw SquirtlePokedexDescription - dw WartortlePokedexDescription - dw BlastoisePokedexDescription - dw CaterpiePokedexDescription - dw MetapodPokedexDescription - dw ButterfreePokedexDescription - dw WeedlePokedexDescription - dw KakunaPokedexDescription - dw BeedrillPokedexDescription - dw PidgeyPokedexDescription - dw PidgeottoPokedexDescription - dw PidgeotPokedexDescription - dw RattataPokedexDescription - dw RaticatePokedexDescription - dw SpearowPokedexDescription - dw FearowPokedexDescription - dw EkansPokedexDescription - dw ArbokPokedexDescription - dw PikachuPokedexDescription - dw RaichuPokedexDescription - dw SandshrewPokedexDescription - dw SandslashPokedexDescription - dw NidoranFPokedexDescription - dw NidorinaPokedexDescription - dw NidoqueenPokedexDescription - dw NidoranMPokedexDescription - dw NidorinoPokedexDescription - dw NidokingPokedexDescription - dw ClefairyPokedexDescription - dw ClefablePokedexDescription - dw VulpixPokedexDescription - dw NinetalesPokedexDescription - dw JigglypuffPokedexDescription - dw WigglytuffPokedexDescription - dw ZubatPokedexDescription - dw GolbatPokedexDescription - dw OddishPokedexDescription - dw GloomPokedexDescription - dw VileplumePokedexDescription - dw ParasPokedexDescription - dw ParasectPokedexDescription - dw VenonatPokedexDescription - dw VenomothPokedexDescription - dw DiglettPokedexDescription - dw DugtrioPokedexDescription - dw MeowthPokedexDescription - dw PersianPokedexDescription - dw PsyduckPokedexDescription - dw GolduckPokedexDescription - dw MankeyPokedexDescription - dw PrimeapePokedexDescription - dw GrowlithePokedexDescription - dw ArcaninePokedexDescription - dw PoliwagPokedexDescription - dw PoliwhirlPokedexDescription - dw PoliwrathPokedexDescription - dw AbraPokedexDescription - dw KadabraPokedexDescription - dw AlakazamPokedexDescription - dw MachopPokedexDescription - dw MachokePokedexDescription - dw MachampPokedexDescription - dw BellsproutPokedexDescription - dw WeepinbellPokedexDescription - dw VictreebellPokedexDescription - dw TentacoolPokedexDescription - dw TentacruelPokedexDescription - dw GeodudePokedexDescription - dw GravelerPokedexDescription - dw GolemPokedexDescription - dw PonytaPokedexDescription - dw RapidashPokedexDescription - dw SlowpokePokedexDescription - dw SlowbroPokedexDescription - dw MagnemitePokedexDescription - dw MagnetonPokedexDescription - dw FarfetchdPokedexDescription - dw DoduoPokedexDescription - dw DodrioPokedexDescription - dw SeelPokedexDescription - dw DewgongPokedexDescription - dw GrimerPokedexDescription - dw MukPokedexDescription - dw ShellderPokedexDescription - dw CloysterPokedexDescription - dw GastlyPokedexDescription - dw HaunterPokedexDescription - dw GengarPokedexDescription - dw OnixPokedexDescription - dw DrowzeePokedexDescription - dw HypnoPokedexDescription - dw KrabbyPokedexDescription - dw KinglerPokedexDescription - dw VoltorbPokedexDescription - dw ElectrodePokedexDescription - dw ExeggcutePokedexDescription - dw ExeggutorPokedexDescription - dw CubonePokedexDescription - dw MarowakPokedexDescription - dw HitmonleePokedexDescription - dw HitmonchanPokedexDescription - dw LickitungPokedexDescription - dw KoffingPokedexDescription - dw WeezingPokedexDescription - dw RhyhornPokedexDescription - dw RhydonPokedexDescription - dw ChanseyPokedexDescription - dw TangelaPokedexDescription - dw KangaskhanPokedexDescription - dw HorseaPokedexDescription - dw SeadraPokedexDescription - dw GoldeenPokedexDescription - dw SeakingPokedexDescription - dw StaryuPokedexDescription - dw StarmiePokedexDescription - dw MrMimePokedexDescription - dw ScytherPokedexDescription - dw JynxPokedexDescription - dw ElectabuzzPokedexDescription - dw MagmarPokedexDescription - dw PinsirPokedexDescription - dw TaurosPokedexDescription - dw MagikarpPokedexDescription - dw GyaradosPokedexDescription - dw LaprasPokedexDescription - dw DittoPokedexDescription - dw EeveePokedexDescription - dw VaporeonPokedexDescription - dw JolteonPokedexDescription - dw FlareonPokedexDescription - dw PorygonPokedexDescription - dw OmanytePokedexDescription - dw OmastarPokedexDescription - dw KabutoPokedexDescription - dw KabutopsPokedexDescription - dw AerodactylPokedexDescription - dw SnorlaxPokedexDescription - dw ArticunoPokedexDescription - dw ZapdosPokedexDescription - dw MoltresPokedexDescription - dw DratiniPokedexDescription - dw DragonairPokedexDescription - dw DragonitePokedexDescription - dw MewtwoPokedexDescription - dw MewPokedexDescription + dw BulbasaurPokedexDescription + dw IvysaurPokedexDescription + dw VenusaurPokedexDescription + dw CharmanderPokedexDescription + dw CharmeleonPokedexDescription + dw CharizardPokedexDescription + dw SquirtlePokedexDescription + dw WartortlePokedexDescription + dw BlastoisePokedexDescription + dw CaterpiePokedexDescription + dw MetapodPokedexDescription + dw ButterfreePokedexDescription + dw WeedlePokedexDescription + dw KakunaPokedexDescription + dw BeedrillPokedexDescription + dw PidgeyPokedexDescription + dw PidgeottoPokedexDescription + dw PidgeotPokedexDescription + dw RattataPokedexDescription + dw RaticatePokedexDescription + dw SpearowPokedexDescription + dw FearowPokedexDescription + dw EkansPokedexDescription + dw ArbokPokedexDescription + dw PikachuPokedexDescription + dw RaichuPokedexDescription + dw SandshrewPokedexDescription + dw SandslashPokedexDescription + dw NidoranFPokedexDescription + dw NidorinaPokedexDescription + dw NidoqueenPokedexDescription + dw NidoranMPokedexDescription + dw NidorinoPokedexDescription + dw NidokingPokedexDescription + dw ClefairyPokedexDescription + dw ClefablePokedexDescription + dw VulpixPokedexDescription + dw NinetalesPokedexDescription + dw JigglypuffPokedexDescription + dw WigglytuffPokedexDescription + dw ZubatPokedexDescription + dw GolbatPokedexDescription + dw OddishPokedexDescription + dw GloomPokedexDescription + dw VileplumePokedexDescription + dw ParasPokedexDescription + dw ParasectPokedexDescription + dw VenonatPokedexDescription + dw VenomothPokedexDescription + dw DiglettPokedexDescription + dw DugtrioPokedexDescription + dw MeowthPokedexDescription + dw PersianPokedexDescription + dw PsyduckPokedexDescription + dw GolduckPokedexDescription + dw MankeyPokedexDescription + dw PrimeapePokedexDescription + dw GrowlithePokedexDescription + dw ArcaninePokedexDescription + dw PoliwagPokedexDescription + dw PoliwhirlPokedexDescription + dw PoliwrathPokedexDescription + dw AbraPokedexDescription + dw KadabraPokedexDescription + dw AlakazamPokedexDescription + dw MachopPokedexDescription + dw MachokePokedexDescription + dw MachampPokedexDescription + dw BellsproutPokedexDescription + dw WeepinbellPokedexDescription + dw VictreebellPokedexDescription + dw TentacoolPokedexDescription + dw TentacruelPokedexDescription + dw GeodudePokedexDescription + dw GravelerPokedexDescription + dw GolemPokedexDescription + dw PonytaPokedexDescription + dw RapidashPokedexDescription + dw SlowpokePokedexDescription + dw SlowbroPokedexDescription + dw MagnemitePokedexDescription + dw MagnetonPokedexDescription + dw FarfetchdPokedexDescription + dw DoduoPokedexDescription + dw DodrioPokedexDescription + dw SeelPokedexDescription + dw DewgongPokedexDescription + dw GrimerPokedexDescription + dw MukPokedexDescription + dw ShellderPokedexDescription + dw CloysterPokedexDescription + dw GastlyPokedexDescription + dw HaunterPokedexDescription + dw GengarPokedexDescription + dw OnixPokedexDescription + dw DrowzeePokedexDescription + dw HypnoPokedexDescription + dw KrabbyPokedexDescription + dw KinglerPokedexDescription + dw VoltorbPokedexDescription + dw ElectrodePokedexDescription + dw ExeggcutePokedexDescription + dw ExeggutorPokedexDescription + dw CubonePokedexDescription + dw MarowakPokedexDescription + dw HitmonleePokedexDescription + dw HitmonchanPokedexDescription + dw LickitungPokedexDescription + dw KoffingPokedexDescription + dw WeezingPokedexDescription + dw RhyhornPokedexDescription + dw RhydonPokedexDescription + dw ChanseyPokedexDescription + dw TangelaPokedexDescription + dw KangaskhanPokedexDescription + dw HorseaPokedexDescription + dw SeadraPokedexDescription + dw GoldeenPokedexDescription + dw SeakingPokedexDescription + dw StaryuPokedexDescription + dw StarmiePokedexDescription + dw MrMimePokedexDescription + dw ScytherPokedexDescription + dw JynxPokedexDescription + dw ElectabuzzPokedexDescription + dw MagmarPokedexDescription + dw PinsirPokedexDescription + dw TaurosPokedexDescription + dw MagikarpPokedexDescription + dw GyaradosPokedexDescription + dw LaprasPokedexDescription + dw DittoPokedexDescription + dw EeveePokedexDescription + dw VaporeonPokedexDescription + dw JolteonPokedexDescription + dw FlareonPokedexDescription + dw PorygonPokedexDescription + dw OmanytePokedexDescription + dw OmastarPokedexDescription + dw KabutoPokedexDescription + dw KabutopsPokedexDescription + dw AerodactylPokedexDescription + dw SnorlaxPokedexDescription + dw ArticunoPokedexDescription + dw ZapdosPokedexDescription + dw MoltresPokedexDescription + dw DratiniPokedexDescription + dw DragonairPokedexDescription + dw DragonitePokedexDescription + dw MewtwoPokedexDescription + dw MewPokedexDescription RhydonPokedexDescription: ; 0x2c130 - dex_text "Protected by an" - dex_line "armor-like hide," - dex_line "it is capable of" - dex_line "living in molten" - dex_line "lava of 3,600" - dex_line "degrees." - dex_end + dex_text "Protected by an" + dex_line "armor-like hide," + dex_line "it is capable of" + dex_line "living in molten" + dex_line "lava of 3,600" + dex_line "degrees." + dex_end KangaskhanPokedexDescription: ; 0x2c18a - dex_text "The infant rarely" - dex_line "ventures out of" - dex_line "its mother`s" - dex_line "protective pouch" - dex_line "until it is 3" - dex_line "years old." - dex_end + dex_text "The infant rarely" + dex_line "ventures out of" + dex_line "its mother`s" + dex_line "protective pouch" + dex_line "until it is 3" + dex_line "years old." + dex_end NidoranMPokedexDescription: ; 0x2c1e3 - dex_text "Stiffens its ears" - dex_line "to sense danger." - dex_line "The larger its" - dex_line "horns, the more" - dex_line "powerful its" - dex_line "secreted venom." - dex_end + dex_text "Stiffens its ears" + dex_line "to sense danger." + dex_line "The larger its" + dex_line "horns, the more" + dex_line "powerful its" + dex_line "secreted venom." + dex_end ClefairyPokedexDescription: ; 0x2c242 - dex_text "Its magical and" - dex_line "cute appeal has" - dex_line "many admirers." - dex_line "It is rare and" - dex_line "found only in" - dex_line "certain areas." - dex_end + dex_text "Its magical and" + dex_line "cute appeal has" + dex_line "many admirers." + dex_line "It is rare and" + dex_line "found only in" + dex_line "certain areas." + dex_end SpearowPokedexDescription: ; 0x2c29d - dex_text "Eats bugs in" - dex_line "grassy areas. It" - dex_line "has to flap its" - dex_line "short wings at" - dex_line "high speed to" - dex_line "stay airborne." - dex_end + dex_text "Eats bugs in" + dex_line "grassy areas. It" + dex_line "has to flap its" + dex_line "short wings at" + dex_line "high speed to" + dex_line "stay airborne." + dex_end VoltorbPokedexDescription: ; 0x2c2f7 - dex_text "Usually found in" - dex_line "power plants." - dex_line "Easily mistaken" - dex_line "for a POKé BALL," - dex_line "they have zapped" - dex_line "many people." - dex_end + dex_text "Usually found in" + dex_line "power plants." + dex_line "Easily mistaken" + dex_line "for a POKé BALL," + dex_line "they have zapped" + dex_line "many people." + dex_end NidokingPokedexDescription: ; 0x2c355 - dex_text "It uses its" - dex_line "powerful tail in" - dex_line "battle to smash," - dex_line "constrict, then" - dex_line "break the prey`s" - dex_line "bones." - dex_end + dex_text "It uses its" + dex_line "powerful tail in" + dex_line "battle to smash," + dex_line "constrict, then" + dex_line "break the prey`s" + dex_line "bones." + dex_end SlowbroPokedexDescription: ; 0x2c3ab - dex_text "The SHELLDER that" - dex_line "is latched onto" - dex_line "SLOWPOKE`s tail" - dex_line "is said to feed" - dex_line "on the host`s left" - dex_line "over scraps." - dex_end + dex_text "The SHELLDER that" + dex_line "is latched onto" + dex_line "SLOWPOKE`s tail" + dex_line "is said to feed" + dex_line "on the host`s left" + dex_line "over scraps." + dex_end IvysaurPokedexDescription: ; 0x2c40d - dex_text "When the bulb on" - dex_line "its back grows" - dex_line "large, it appears" - dex_line "to lose the" - dex_line "ability to stand" - dex_line "on its hind legs." - dex_end + dex_text "When the bulb on" + dex_line "its back grows" + dex_line "large, it appears" + dex_line "to lose the" + dex_line "ability to stand" + dex_line "on its hind legs." + dex_end ExeggutorPokedexDescription: ; 0x2c46e - dex_text "Legend has it that" - dex_line "on rare occasions," - dex_line "one of its heads" - dex_line "will drop off and" - dex_line "continue on as an" - dex_line "EXEGGCUTE." - dex_end + dex_text "Legend has it that" + dex_line "on rare occasions," + dex_line "one of its heads" + dex_line "will drop off and" + dex_line "continue on as an" + dex_line "EXEGGCUTE." + dex_end LickitungPokedexDescription: ; 0x2c4d4 - dex_text "Its tongue can be" - dex_line "extended like a" - dex_line "chameleon`s. It" - dex_line "leaves a tingling" - dex_line "sensation when it" - dex_line "licks enemies." - dex_end + dex_text "Its tongue can be" + dex_line "extended like a" + dex_line "chameleon`s. It" + dex_line "leaves a tingling" + dex_line "sensation when it" + dex_line "licks enemies." + dex_end ExeggcutePokedexDescription: ; 0x2c539 - dex_text "Often mistaken" - dex_line "for eggs." - dex_line "When disturbed," - dex_line "they quickly" - dex_line "gather and attack" - dex_line "in swarms." - dex_end + dex_text "Often mistaken" + dex_line "for eggs." + dex_line "When disturbed," + dex_line "they quickly" + dex_line "gather and attack" + dex_line "in swarms." + dex_end GrimerPokedexDescription: ; 0x2c58c - dex_text "Appears in filthy" - dex_line "areas. Thrives by" - dex_line "sucking up" - dex_line "polluted sludge" - dex_line "that is pumped" - dex_line "out of factories." - dex_end + dex_text "Appears in filthy" + dex_line "areas. Thrives by" + dex_line "sucking up" + dex_line "polluted sludge" + dex_line "that is pumped" + dex_line "out of factories." + dex_end GengarPokedexDescription: ; 0x2c5ec - dex_text "Under a full moon," - dex_line "this POKéMON" - dex_line "likes to mimic" - dex_line "the shadows of" - dex_line "people and laugh" - dex_line "at their fright." - dex_end + dex_text "Under a full moon," + dex_line "this POKéMON" + dex_line "likes to mimic" + dex_line "the shadows of" + dex_line "people and laugh" + dex_line "at their fright." + dex_end NidoranFPokedexDescription: ; 0x2c64c - dex_text "Although small," - dex_line "its venomous" - dex_line "barbs render this" - dex_line "POKéMON dangerous." - dex_line "The female has" - dex_line "smaller horns." - dex_end + dex_text "Although small," + dex_line "its venomous" + dex_line "barbs render this" + dex_line "POKéMON dangerous." + dex_line "The female has" + dex_line "smaller horns." + dex_end NidoqueenPokedexDescription: ; 0x2c6ac - dex_text "Its hard scales" - dex_line "provide strong" - dex_line "protection. It" - dex_line "uses its hefty" - dex_line "bulk to execute" - dex_line "powerful moves." - dex_end + dex_text "Its hard scales" + dex_line "provide strong" + dex_line "protection. It" + dex_line "uses its hefty" + dex_line "bulk to execute" + dex_line "powerful moves." + dex_end CubonePokedexDescription: ; 0x2c709 - dex_text "Because it never" - dex_line "removes its skull" - dex_line "helmet, no one" - dex_line "has ever seen" - dex_line "this POKéMON`s" - dex_line "real face." - dex_end + dex_text "Because it never" + dex_line "removes its skull" + dex_line "helmet, no one" + dex_line "has ever seen" + dex_line "this POKéMON`s" + dex_line "real face." + dex_end RhyhornPokedexDescription: ; 0x2c763 - dex_text "Its massive bones" - dex_line "are 1000 times" - dex_line "harder than human" - dex_line "bones. It can" - dex_line "easily knock a" - dex_line "trailer flying." - dex_end + dex_text "Its massive bones" + dex_line "are 1000 times" + dex_line "harder than human" + dex_line "bones. It can" + dex_line "easily knock a" + dex_line "trailer flying." + dex_end LaprasPokedexDescription: ; 0x2c7c3 - dex_text "A POKéMON that" - dex_line "has been over-" - dex_line "hunted almost to" - dex_line "extinction. It" - dex_line "can ferry people" - dex_line "across the water." - dex_end + dex_text "A POKéMON that" + dex_line "has been over-" + dex_line "hunted almost to" + dex_line "extinction. It" + dex_line "can ferry people" + dex_line "across the water." + dex_end ArcaninePokedexDescription: ; 0x2c824 - dex_text "A POKéMON that" - dex_line "has been admired" - dex_line "since the past" - dex_line "for its beauty." - dex_line "It runs agilely" - dex_line "as if on wings." - dex_end + dex_text "A POKéMON that" + dex_line "has been admired" + dex_line "since the past" + dex_line "for its beauty." + dex_line "It runs agilely" + dex_line "as if on wings." + dex_end MewPokedexDescription: ; 0x2c883 - dex_text "So rare that it" - dex_line "is still said to" - dex_line "be a mirage by" - dex_line "many experts. Only" - dex_line "a few people have" - dex_line "seen it worldwide. " - dex_end + dex_text "So rare that it" + dex_line "is still said to" + dex_line "be a mirage by" + dex_line "many experts. Only" + dex_line "a few people have" + dex_line "seen it worldwide. " + dex_end GyaradosPokedexDescription: ; 0x2c8ec - dex_text "Rarely seen in" - dex_line "the wild. Huge" - dex_line "and vicious, it" - dex_line "is capable of" - dex_line "destroying entire" - dex_line "cities in a rage." - dex_end + dex_text "Rarely seen in" + dex_line "the wild. Huge" + dex_line "and vicious, it" + dex_line "is capable of" + dex_line "destroying entire" + dex_line "cities in a rage." + dex_end ShellderPokedexDescription: ; 0x2c94c - dex_text "Its hard shell" - dex_line "repels any kind" - dex_line "of attack." - dex_line "It is vulnerable" - dex_line "only when its" - dex_line "shell is open." - dex_end + dex_text "Its hard shell" + dex_line "repels any kind" + dex_line "of attack." + dex_line "It is vulnerable" + dex_line "only when its" + dex_line "shell is open." + dex_end TentacoolPokedexDescription: ; 0x2c9a4 - dex_text "Drifts in shallow" - dex_line "seas. Anglers who" - dex_line "hook them by" - dex_line "accident are" - dex_line "often punished by" - dex_line "its stinging acid." - dex_end + dex_text "Drifts in shallow" + dex_line "seas. Anglers who" + dex_line "hook them by" + dex_line "accident are" + dex_line "often punished by" + dex_line "its stinging acid." + dex_end GastlyPokedexDescription: ; 0x2ca07 - dex_text "Almost invisible," - dex_line "this gaseous" - dex_line "POKéMON cloaks" - dex_line "the target and" - dex_line "puts it to sleep" - dex_line "without notice." - dex_end + dex_text "Almost invisible," + dex_line "this gaseous" + dex_line "POKéMON cloaks" + dex_line "the target and" + dex_line "puts it to sleep" + dex_line "without notice." + dex_end ScytherPokedexDescription: ; 0x2ca65 - dex_text "With ninja-like" - dex_line "agility and speed," - dex_line "it can create the" - dex_line "illusion that" - dex_line "there is more" - dex_line "than one." - dex_end + dex_text "With ninja-like" + dex_line "agility and speed," + dex_line "it can create the" + dex_line "illusion that" + dex_line "there is more" + dex_line "than one." + dex_end StaryuPokedexDescription: ; 0x2cac0 - dex_text "An enigmatic" - dex_line "POKéMON that can" - dex_line "effortlessly" - dex_line "regenerate any" - dex_line "appendage it" - dex_line "loses in battle." - dex_end + dex_text "An enigmatic" + dex_line "POKéMON that can" + dex_line "effortlessly" + dex_line "regenerate any" + dex_line "appendage it" + dex_line "loses in battle." + dex_end BlastoisePokedexDescription: ; 0x2cb18 - dex_text "A brutal POKéMON" - dex_line "with pressurized" - dex_line "water jets on its" - dex_line "shell. They are" - dex_line "used for high" - dex_line "speed tackles." - dex_end + dex_text "A brutal POKéMON" + dex_line "with pressurized" + dex_line "water jets on its" + dex_line "shell. They are" + dex_line "used for high" + dex_line "speed tackles." + dex_end PinsirPokedexDescription: ; 0x2cb79 - dex_text "If it fails to" - dex_line "crush the victim" - dex_line "in its pincers," - dex_line "it will swing it" - dex_line "around and toss" - dex_line "it hard." - dex_end + dex_text "If it fails to" + dex_line "crush the victim" + dex_line "in its pincers," + dex_line "it will swing it" + dex_line "around and toss" + dex_line "it hard." + dex_end TangelaPokedexDescription: ; 0x2cbd3 - dex_text "The whole body is" - dex_line "swathed with wide" - dex_line "vines that are" - dex_line "similar to sea-" - dex_line "weed. Its vines" - dex_line "shake as it walks." - dex_end + dex_text "The whole body is" + dex_line "swathed with wide" + dex_line "vines that are" + dex_line "similar to sea-" + dex_line "weed. Its vines" + dex_line "shake as it walks." + dex_end GrowlithePokedexDescription: ; 0x2cc39 - dex_text "Very protective" - dex_line "of its territory." - dex_line "It will bark and" - dex_line "bite to repel" - dex_line "intruders from" - dex_line "its space." - dex_end + dex_text "Very protective" + dex_line "of its territory." + dex_line "It will bark and" + dex_line "bite to repel" + dex_line "intruders from" + dex_line "its space." + dex_end OnixPokedexDescription: ; 0x2cc94 - dex_text "As it grows, the" - dex_line "stone portions of" - dex_line "its body harden" - dex_line "to become similar" - dex_line "to a diamond, but" - dex_line "colored black." - dex_end + dex_text "As it grows, the" + dex_line "stone portions of" + dex_line "its body harden" + dex_line "to become similar" + dex_line "to a diamond, but" + dex_line "colored black." + dex_end FearowPokedexDescription: ; 0x2ccfa - dex_text "With its huge and" - dex_line "magnificent wings," - dex_line "it can keep aloft" - dex_line "without ever" - dex_line "having to land" - dex_line "for rest." - dex_end + dex_text "With its huge and" + dex_line "magnificent wings," + dex_line "it can keep aloft" + dex_line "without ever" + dex_line "having to land" + dex_line "for rest." + dex_end PidgeyPokedexDescription: ; 0x2cd57 - dex_text "A common sight in" - dex_line "forests and woods." - dex_line "It flaps its" - dex_line "wings at ground" - dex_line "level to kick up" - dex_line "blinding sand." - dex_end + dex_text "A common sight in" + dex_line "forests and woods." + dex_line "It flaps its" + dex_line "wings at ground" + dex_line "level to kick up" + dex_line "blinding sand." + dex_end SlowpokePokedexDescription: ; 0x2cdb9 - dex_text "Incredibly slow" - dex_line "and dopey. It" - dex_line "takes 5 seconds" - dex_line "for it to feel" - dex_line "pain when under" - dex_line "attack." - dex_end + dex_text "Incredibly slow" + dex_line "and dopey. It" + dex_line "takes 5 seconds" + dex_line "for it to feel" + dex_line "pain when under" + dex_line "attack." + dex_end KadabraPokedexDescription: ; 0x2ce0e - dex_text "It emits special" - dex_line "alpha waves from" - dex_line "its body that" - dex_line "induce headaches" - dex_line "just by being" - dex_line "close by." - dex_end + dex_text "It emits special" + dex_line "alpha waves from" + dex_line "its body that" + dex_line "induce headaches" + dex_line "just by being" + dex_line "close by." + dex_end GravelerPokedexDescription: ; 0x2ce67 - dex_text "Rolls down slopes" - dex_line "to move. It rolls" - dex_line "over any obstacle" - dex_line "without slowing" - dex_line "or changing its" - dex_line "direction." - dex_end + dex_text "Rolls down slopes" + dex_line "to move. It rolls" + dex_line "over any obstacle" + dex_line "without slowing" + dex_line "or changing its" + dex_line "direction." + dex_end ChanseyPokedexDescription: ; 0x2cec8 - dex_text "A rare and elusive" - dex_line "POKéMON that is" - dex_line "said to bring" - dex_line "happiness to those" - dex_line "who manage to get" - dex_line "it." - dex_end + dex_text "A rare and elusive" + dex_line "POKéMON that is" + dex_line "said to bring" + dex_line "happiness to those" + dex_line "who manage to get" + dex_line "it." + dex_end MachokePokedexDescription: ; 0x2cf22 - dex_text "Its muscular body" - dex_line "is so powerful, it" - dex_line "must wear a power" - dex_line "save belt to be" - dex_line "able to regulate" - dex_line "its motions." - dex_end + dex_text "Its muscular body" + dex_line "is so powerful, it" + dex_line "must wear a power" + dex_line "save belt to be" + dex_line "able to regulate" + dex_line "its motions." + dex_end MrMimePokedexDescription: ; 0x2cf87 - dex_text "If interrupted" - dex_line "while it is" - dex_line "miming, it will" - dex_line "slap around the" - dex_line "offender with its" - dex_line "broad hands." - dex_end + dex_text "If interrupted" + dex_line "while it is" + dex_line "miming, it will" + dex_line "slap around the" + dex_line "offender with its" + dex_line "broad hands." + dex_end HitmonleePokedexDescription: ; 0x2cfe1 - dex_text "When in a hurry," - dex_line "its legs lengthen" - dex_line "progressively." - dex_line "It runs smoothly" - dex_line "with extra long," - dex_line "loping strides." - dex_end + dex_text "When in a hurry," + dex_line "its legs lengthen" + dex_line "progressively." + dex_line "It runs smoothly" + dex_line "with extra long," + dex_line "loping strides." + dex_end HitmonchanPokedexDescription: ; 0x2d045 - dex_text "While apparently" - dex_line "doing nothing, it" - dex_line "fires punches in" - dex_line "lightning fast" - dex_line "volleys that are" - dex_line "impossible to see. " - dex_end + dex_text "While apparently" + dex_line "doing nothing, it" + dex_line "fires punches in" + dex_line "lightning fast" + dex_line "volleys that are" + dex_line "impossible to see. " + dex_end ArbokPokedexDescription: ; 0x2d0ad - dex_text "It is rumored that" - dex_line "the ferocious" - dex_line "warning markings" - dex_line "on its belly" - dex_line "differ from area" - dex_line "to area." - dex_end + dex_text "It is rumored that" + dex_line "the ferocious" + dex_line "warning markings" + dex_line "on its belly" + dex_line "differ from area" + dex_line "to area." + dex_end ParasectPokedexDescription: ; 0x2d106 - dex_text "A host-parasite" - dex_line "pair in which the" - dex_line "parasite mushroom" - dex_line "has taken over the" - dex_line "host bug. Prefers" - dex_line "damp places. " - dex_end + dex_text "A host-parasite" + dex_line "pair in which the" + dex_line "parasite mushroom" + dex_line "has taken over the" + dex_line "host bug. Prefers" + dex_line "damp places. " + dex_end PsyduckPokedexDescription: ; 0x2d16d - dex_text "While lulling its" - dex_line "enemies with its" - dex_line "vacant look, this" - dex_line "wily POKéMON will" - dex_line "use psychokinetic" - dex_line "powers." - dex_end + dex_text "While lulling its" + dex_line "enemies with its" + dex_line "vacant look, this" + dex_line "wily POKéMON will" + dex_line "use psychokinetic" + dex_line "powers." + dex_end DrowzeePokedexDescription: ; 0x2d1ce - dex_text "Puts enemies to" - dex_line "sleep then eats" - dex_line "their dreams." - dex_line "Occasionally gets" - dex_line "sick from eating" - dex_line "bad dreams." - dex_end + dex_text "Puts enemies to" + dex_line "sleep then eats" + dex_line "their dreams." + dex_line "Occasionally gets" + dex_line "sick from eating" + dex_line "bad dreams." + dex_end GolemPokedexDescription: ; 0x2d22b - dex_text "Its boulder-like" - dex_line "body is extremely" - dex_line "hard. It can" - dex_line "easily withstand" - dex_line "dynamite blasts" - dex_line "without damage." - dex_end + dex_text "Its boulder-like" + dex_line "body is extremely" + dex_line "hard. It can" + dex_line "easily withstand" + dex_line "dynamite blasts" + dex_line "without damage." + dex_end MagmarPokedexDescription: ; 0x2d28c - dex_text "Its body always" - dex_line "burns with an" - dex_line "orange glow that" - dex_line "enables it to" - dex_line "hide perfectly" - dex_line "among flames." - dex_end + dex_text "Its body always" + dex_line "burns with an" + dex_line "orange glow that" + dex_line "enables it to" + dex_line "hide perfectly" + dex_line "among flames." + dex_end ElectabuzzPokedexDescription: ; 0x2d2e6 - dex_text "Normally found" - dex_line "near power plants," - dex_line "they can wander" - dex_line "away and cause" - dex_line "major blackouts" - dex_line "in cities." - dex_end + dex_text "Normally found" + dex_line "near power plants," + dex_line "they can wander" + dex_line "away and cause" + dex_line "major blackouts" + dex_line "in cities." + dex_end MagnetonPokedexDescription: ; 0x2d342 - dex_text "Formed by several" - dex_line "MAGNEMITEs linked" - dex_line "together. They" - dex_line "frequently appear" - dex_line "when sunspots" - dex_line "flare up." - dex_end + dex_text "Formed by several" + dex_line "MAGNEMITEs linked" + dex_line "together. They" + dex_line "frequently appear" + dex_line "when sunspots" + dex_line "flare up." + dex_end KoffingPokedexDescription: ; 0x2d39f - dex_text "Because it stores" - dex_line "several kinds of" - dex_line "toxic gases in" - dex_line "its body, it is" - dex_line "prone to exploding" - dex_line "without warning." - dex_end + dex_text "Because it stores" + dex_line "several kinds of" + dex_line "toxic gases in" + dex_line "its body, it is" + dex_line "prone to exploding" + dex_line "without warning." + dex_end MankeyPokedexDescription: ; 0x2d405 - dex_text "Extremely quick to" - dex_line "anger. It could" - dex_line "be docile one" - dex_line "moment then" - dex_line "thrashing away" - dex_line "the next instant." - dex_end + dex_text "Extremely quick to" + dex_line "anger. It could" + dex_line "be docile one" + dex_line "moment then" + dex_line "thrashing away" + dex_line "the next instant." + dex_end SeelPokedexDescription: ; 0x2d463 - dex_text "The protruding" - dex_line "horn on its head" - dex_line "is very hard." - dex_line "It is used for" - dex_line "bashing through" - dex_line "thick ice." - dex_end + dex_text "The protruding" + dex_line "horn on its head" + dex_line "is very hard." + dex_line "It is used for" + dex_line "bashing through" + dex_line "thick ice." + dex_end DiglettPokedexDescription: ; 0x2d4bb - dex_text "Lives about one" - dex_line "yard underground" - dex_line "where it feeds on" - dex_line "plant roots. It" - dex_line "sometimes appears" - dex_line "above ground." - dex_end + dex_text "Lives about one" + dex_line "yard underground" + dex_line "where it feeds on" + dex_line "plant roots. It" + dex_line "sometimes appears" + dex_line "above ground." + dex_end TaurosPokedexDescription: ; 0x2d51e - dex_text "When it targets" - dex_line "an enemy, it" - dex_line "charges furiously" - dex_line "while whipping its" - dex_line "body with its" - dex_line "long tails." - dex_end + dex_text "When it targets" + dex_line "an enemy, it" + dex_line "charges furiously" + dex_line "while whipping its" + dex_line "body with its" + dex_line "long tails." + dex_end FarfetchdPokedexDescription: ; 0x2d57a - dex_text "The sprig of" - dex_line "green onions it" - dex_line "holds is its" - dex_line "weapon. It is" - dex_line "used much like a" - dex_line "metal sword." - dex_end + dex_text "The sprig of" + dex_line "green onions it" + dex_line "holds is its" + dex_line "weapon. It is" + dex_line "used much like a" + dex_line "metal sword." + dex_end VenonatPokedexDescription: ; 0x2d5d0 - dex_text "Lives in the" - dex_line "shadows of tall" - dex_line "trees where it" - dex_line "eats insects. It" - dex_line "is attracted by" - dex_line "light at night." - dex_end + dex_text "Lives in the" + dex_line "shadows of tall" + dex_line "trees where it" + dex_line "eats insects. It" + dex_line "is attracted by" + dex_line "light at night." + dex_end DragonitePokedexDescription: ; 0x2d62d - dex_text "An extremely" - dex_line "rarely seen" - dex_line "marine POKéMON." - dex_line "Its intelligence" - dex_line "is said to match" - dex_line "that of humans." - dex_end + dex_text "An extremely" + dex_line "rarely seen" + dex_line "marine POKéMON." + dex_line "Its intelligence" + dex_line "is said to match" + dex_line "that of humans." + dex_end DoduoPokedexDescription: ; 0x2d688 - dex_text "A bird that makes" - dex_line "up for its poor" - dex_line "flying with its" - dex_line "fast foot speed." - dex_line "Leaves giant" - dex_line "footprints." - dex_end + dex_text "A bird that makes" + dex_line "up for its poor" + dex_line "flying with its" + dex_line "fast foot speed." + dex_line "Leaves giant" + dex_line "footprints." + dex_end PoliwagPokedexDescription: ; 0x2d6e4 - dex_text "Its newly grown" - dex_line "legs prevent it" - dex_line "from running. It" - dex_line "appears to prefer" - dex_line "swimming than" - dex_line "trying to stand." - dex_end + dex_text "Its newly grown" + dex_line "legs prevent it" + dex_line "from running. It" + dex_line "appears to prefer" + dex_line "swimming than" + dex_line "trying to stand." + dex_end JynxPokedexDescription: ; 0x2d746 - dex_text "It seductively" - dex_line "wiggles its hips" - dex_line "as it walks. It" - dex_line "can cause people" - dex_line "to dance in" - dex_line "unison with it." - dex_end + dex_text "It seductively" + dex_line "wiggles its hips" + dex_line "as it walks. It" + dex_line "can cause people" + dex_line "to dance in" + dex_line "unison with it." + dex_end MoltresPokedexDescription: ; 0x2d7a3 - dex_text "Known as the" - dex_line "legendary bird of" - dex_line "fire. Every flap" - dex_line "of its wings" - dex_line "creates a dazzling" - dex_line "flash of flames." - dex_end + dex_text "Known as the" + dex_line "legendary bird of" + dex_line "fire. Every flap" + dex_line "of its wings" + dex_line "creates a dazzling" + dex_line "flash of flames." + dex_end ArticunoPokedexDescription: ; 0x2d804 - dex_text "A legendary bird" - dex_line "POKéMON that is" - dex_line "said to appear to" - dex_line "doomed people who" - dex_line "are lost in icy" - dex_line "mountains." - dex_end + dex_text "A legendary bird" + dex_line "POKéMON that is" + dex_line "said to appear to" + dex_line "doomed people who" + dex_line "are lost in icy" + dex_line "mountains." + dex_end ZapdosPokedexDescription: ; 0x2d864 - dex_text "A legendary bird" - dex_line "POKéMON that is" - dex_line "said to appear" - dex_line "from clouds while" - dex_line "dropping enormous" - dex_line "lightning bolts." - dex_end + dex_text "A legendary bird" + dex_line "POKéMON that is" + dex_line "said to appear" + dex_line "from clouds while" + dex_line "dropping enormous" + dex_line "lightning bolts." + dex_end DittoPokedexDescription: ; 0x2d8c9 - dex_text "Capable of copying" - dex_line "an enemy`s genetic" - dex_line "code to instantly" - dex_line "transform itself" - dex_line "into a duplicate" - dex_line "of the enemy." - dex_end + dex_text "Capable of copying" + dex_line "an enemy`s genetic" + dex_line "code to instantly" + dex_line "transform itself" + dex_line "into a duplicate" + dex_line "of the enemy." + dex_end MeowthPokedexDescription: ; 0x2d931 - dex_text "Adores circular" - dex_line "objects. Wanders" - dex_line "the streets on a" - dex_line "nightly basis to" - dex_line "look for dropped" - dex_line "loose change." - dex_end + dex_text "Adores circular" + dex_line "objects. Wanders" + dex_line "the streets on a" + dex_line "nightly basis to" + dex_line "look for dropped" + dex_line "loose change." + dex_end KrabbyPokedexDescription: ; 0x2d993 - dex_text "Its pincers are" - dex_line "not only powerful" - dex_line "weapons, they are" - dex_line "used for balance" - dex_line "when walking" - dex_line "sideways." - dex_end + dex_text "Its pincers are" + dex_line "not only powerful" + dex_line "weapons, they are" + dex_line "used for balance" + dex_line "when walking" + dex_line "sideways." + dex_end VulpixPokedexDescription: ; 0x2d9ef - dex_text "At the time of" - dex_line "birth, it has" - dex_line "just one tail." - dex_line "The tail splits" - dex_line "from its tip as" - dex_line "it grows older." - dex_end + dex_text "At the time of" + dex_line "birth, it has" + dex_line "just one tail." + dex_line "The tail splits" + dex_line "from its tip as" + dex_line "it grows older." + dex_end NinetalesPokedexDescription: ; 0x2da4b - dex_text "Very smart and" - dex_line "very vengeful." - dex_line "Grabbing one of" - dex_line "its many tails" - dex_line "could result in a" - dex_line "1000-year curse." - dex_end + dex_text "Very smart and" + dex_line "very vengeful." + dex_line "Grabbing one of" + dex_line "its many tails" + dex_line "could result in a" + dex_line "1000-year curse." + dex_end PikachuPokedexDescription: ; 0x2daab - dex_text "When several of" - dex_line "these POKéMON" - dex_line "gather, their" - dex_line "electricity could" - dex_line "build and cause" - dex_line "lightning storms." - dex_end + dex_text "When several of" + dex_line "these POKéMON" + dex_line "gather, their" + dex_line "electricity could" + dex_line "build and cause" + dex_line "lightning storms." + dex_end RaichuPokedexDescription: ; 0x2db0b - dex_text "Its long tail" - dex_line "serves as a" - dex_line "ground to protect" - dex_line "itself from its" - dex_line "own high voltage" - dex_line "power." - dex_end + dex_text "Its long tail" + dex_line "serves as a" + dex_line "ground to protect" + dex_line "itself from its" + dex_line "own high voltage" + dex_line "power." + dex_end DratiniPokedexDescription: ; 0x2db5f - dex_text "Long considered a" - dex_line "mythical POKéMON" - dex_line "until recently" - dex_line "when a small" - dex_line "colony was found" - dex_line "living underwater." - dex_end + dex_text "Long considered a" + dex_line "mythical POKéMON" + dex_line "until recently" + dex_line "when a small" + dex_line "colony was found" + dex_line "living underwater." + dex_end DragonairPokedexDescription: ; 0x2dbc2 - dex_text "A mystical POKéMON" - dex_line "that exudes a" - dex_line "gentle aura." - dex_line "Has the ability" - dex_line "to change climate" - dex_line "conditions." - dex_end + dex_text "A mystical POKéMON" + dex_line "that exudes a" + dex_line "gentle aura." + dex_line "Has the ability" + dex_line "to change climate" + dex_line "conditions." + dex_end KabutoPokedexDescription: ; 0x2dc1e - dex_text "A POKéMON that" - dex_line "was resurrected" - dex_line "from a fossil" - dex_line "found in what was" - dex_line "once the ocean" - dex_line "floor eons ago." - dex_end + dex_text "A POKéMON that" + dex_line "was resurrected" + dex_line "from a fossil" + dex_line "found in what was" + dex_line "once the ocean" + dex_line "floor eons ago." + dex_end KabutopsPokedexDescription: ; 0x2dc7c - dex_text "Its sleek shape is" - dex_line "perfect for swim-" - dex_line "ming. It slashes" - dex_line "prey with its" - dex_line "claws and drains" - dex_line "the body fluids." - dex_end + dex_text "Its sleek shape is" + dex_line "perfect for swim-" + dex_line "ming. It slashes" + dex_line "prey with its" + dex_line "claws and drains" + dex_line "the body fluids." + dex_end HorseaPokedexDescription: ; 0x2dce2 - dex_text "Known to shoot" - dex_line "down flying bugs" - dex_line "with precision" - dex_line "blasts of ink" - dex_line "from the surface" - dex_line "of the water." - dex_end + dex_text "Known to shoot" + dex_line "down flying bugs" + dex_line "with precision" + dex_line "blasts of ink" + dex_line "from the surface" + dex_line "of the water." + dex_end SeadraPokedexDescription: ; 0x2dd3e - dex_text "Capable of swim-" - dex_line "ming backwards by" - dex_line "rapidly flapping" - dex_line "its wing-like" - dex_line "pectoral fins and" - dex_line "stout tail." - dex_end + dex_text "Capable of swim-" + dex_line "ming backwards by" + dex_line "rapidly flapping" + dex_line "its wing-like" + dex_line "pectoral fins and" + dex_line "stout tail." + dex_end SandshrewPokedexDescription: ; 0x2dd9e - dex_text "Burrows deep" - dex_line "underground in" - dex_line "arid locations" - dex_line "far from water." - dex_line "It only emerges" - dex_line "to hunt for food." - dex_end + dex_text "Burrows deep" + dex_line "underground in" + dex_line "arid locations" + dex_line "far from water." + dex_line "It only emerges" + dex_line "to hunt for food." + dex_end SandslashPokedexDescription: ; 0x2ddfb - dex_text "Curls up into a" - dex_line "spiny ball when" - dex_line "threatened. It" - dex_line "can roll while" - dex_line "curled up to" - dex_line "attack or escape." - dex_end + dex_text "Curls up into a" + dex_line "spiny ball when" + dex_line "threatened. It" + dex_line "can roll while" + dex_line "curled up to" + dex_line "attack or escape." + dex_end OmanytePokedexDescription: ; 0x2de58 - dex_text "Although long" - dex_line "extinct, in rare" - dex_line "cases, it can be" - dex_line "genetically" - dex_line "resurrected from" - dex_line "fossils." - dex_end + dex_text "Although long" + dex_line "extinct, in rare" + dex_line "cases, it can be" + dex_line "genetically" + dex_line "resurrected from" + dex_line "fossils." + dex_end OmastarPokedexDescription: ; 0x2deae - dex_text "A prehistoric" - dex_line "POKéMON that died" - dex_line "out when its" - dex_line "heavy shell made" - dex_line "it impossible to" - dex_line "catch prey." - dex_end + dex_text "A prehistoric" + dex_line "POKéMON that died" + dex_line "out when its" + dex_line "heavy shell made" + dex_line "it impossible to" + dex_line "catch prey." + dex_end JigglypuffPokedexDescription: ; 0x2df09 - dex_text "When its huge eyes" - dex_line "light up, it sings" - dex_line "a mysteriously" - dex_line "soothing melody" - dex_line "that lulls its" - dex_line "enemies to sleep." - dex_end + dex_text "When its huge eyes" + dex_line "light up, it sings" + dex_line "a mysteriously" + dex_line "soothing melody" + dex_line "that lulls its" + dex_line "enemies to sleep." + dex_end WigglytuffPokedexDescription: ; 0x2df6f - dex_text "The body is soft" - dex_line "and rubbery. When" - dex_line "angered, it will" - dex_line "suck in air and" - dex_line "inflate itself to" - dex_line "an enormous size." - dex_end + dex_text "The body is soft" + dex_line "and rubbery. When" + dex_line "angered, it will" + dex_line "suck in air and" + dex_line "inflate itself to" + dex_line "an enormous size." + dex_end EeveePokedexDescription: ; 0x2dfd7 - dex_text "Its genetic code" - dex_line "is irregular." - dex_line "It may mutate if" - dex_line "it is exposed to" - dex_line "radiation from" - dex_line "element STONEs." - dex_end + dex_text "Its genetic code" + dex_line "is irregular." + dex_line "It may mutate if" + dex_line "it is exposed to" + dex_line "radiation from" + dex_line "element STONEs." + dex_end FlareonPokedexDescription: ; 0x2e037 - dex_text "When storing" - dex_line "thermal energy in" - dex_line "its body, its" - dex_line "temperature could" - dex_line "soar to over 1600" - dex_line "degrees." - dex_end + dex_text "When storing" + dex_line "thermal energy in" + dex_line "its body, its" + dex_line "temperature could" + dex_line "soar to over 1600" + dex_line "degrees." + dex_end JolteonPokedexDescription: ; 0x2e091 - dex_text "It accumulates" - dex_line "negative ions in" - dex_line "the atmosphere to" - dex_line "blast out 10000-" - dex_line "volt lightning" - dex_line "bolts." - dex_end + dex_text "It accumulates" + dex_line "negative ions in" + dex_line "the atmosphere to" + dex_line "blast out 10000-" + dex_line "volt lightning" + dex_line "bolts." + dex_end VaporeonPokedexDescription: ; 0x2e0ea - dex_text "Lives close to" - dex_line "water. Its long" - dex_line "tail is ridged" - dex_line "with a fin which" - dex_line "is often mistaken" - dex_line "for a mermaid`s." - dex_end + dex_text "Lives close to" + dex_line "water. Its long" + dex_line "tail is ridged" + dex_line "with a fin which" + dex_line "is often mistaken" + dex_line "for a mermaid`s." + dex_end MachopPokedexDescription: ; 0x2e14c - dex_text "Loves to build" - dex_line "its muscles." - dex_line "It trains in all" - dex_line "styles of martial" - dex_line "arts to become" - dex_line "even stronger." - dex_end + dex_text "Loves to build" + dex_line "its muscles." + dex_line "It trains in all" + dex_line "styles of martial" + dex_line "arts to become" + dex_line "even stronger." + dex_end ZubatPokedexDescription: ; 0x2e1a9 - dex_text "Forms colonies in" - dex_line "perpetually dark" - dex_line "places. Uses" - dex_line "ultrasonic waves" - dex_line "to identify and" - dex_line "approach targets." - dex_end + dex_text "Forms colonies in" + dex_line "perpetually dark" + dex_line "places. Uses" + dex_line "ultrasonic waves" + dex_line "to identify and" + dex_line "approach targets." + dex_end EkansPokedexDescription: ; 0x2e20c - dex_text "Moves silently" - dex_line "and stealthily." - dex_line "Eats the eggs of" - dex_line "birds, such as" - dex_line "PIDGEY and" - dex_line "SPEAROW, whole." - dex_end + dex_text "Moves silently" + dex_line "and stealthily." + dex_line "Eats the eggs of" + dex_line "birds, such as" + dex_line "PIDGEY and" + dex_line "SPEAROW, whole." + dex_end ParasPokedexDescription: ; 0x2e266 - dex_text "Burrows to suck" - dex_line "tree roots. The" - dex_line "mushrooms on its" - dex_line "back grow by draw-" - dex_line "ing nutrients from" - dex_line "the bug host." - dex_end + dex_text "Burrows to suck" + dex_line "tree roots. The" + dex_line "mushrooms on its" + dex_line "back grow by draw-" + dex_line "ing nutrients from" + dex_line "the bug host." + dex_end PoliwhirlPokedexDescription: ; 0x2e2cb - dex_text "Capable of living" - dex_line "in or out of" - dex_line "water. When out" - dex_line "of water, it" - dex_line "sweats to keep" - dex_line "its body slimy." - dex_end + dex_text "Capable of living" + dex_line "in or out of" + dex_line "water. When out" + dex_line "of water, it" + dex_line "sweats to keep" + dex_line "its body slimy." + dex_end PoliwrathPokedexDescription: ; 0x2e326 - dex_text "An adept swimmer" - dex_line "at both the front" - dex_line "crawl and breast" - dex_line "stroke. Easily" - dex_line "overtakes the best" - dex_line "human swimmers." - dex_end + dex_text "An adept swimmer" + dex_line "at both the front" + dex_line "crawl and breast" + dex_line "stroke. Easily" + dex_line "overtakes the best" + dex_line "human swimmers." + dex_end WeedlePokedexDescription: ; 0x2e38c - dex_text "Often found in" - dex_line "forests, eating" - dex_line "leaves." - dex_line "It has a sharp" - dex_line "venomous stinger" - dex_line "on its head." - dex_end + dex_text "Often found in" + dex_line "forests, eating" + dex_line "leaves." + dex_line "It has a sharp" + dex_line "venomous stinger" + dex_line "on its head." + dex_end KakunaPokedexDescription: ; 0x2e3e0 - dex_text "Almost incapable" - dex_line "of moving, this" - dex_line "POKéMON can only" - dex_line "harden its shell" - dex_line "to protect itself" - dex_line "from predators." - dex_end + dex_text "Almost incapable" + dex_line "of moving, this" + dex_line "POKéMON can only" + dex_line "harden its shell" + dex_line "to protect itself" + dex_line "from predators." + dex_end BeedrillPokedexDescription: ; 0x2e445 - dex_text "Flies at high" - dex_line "speed and attacks" - dex_line "using its large" - dex_line "venomous stingers" - dex_line "on its forelegs" - dex_line "and tail." - dex_end + dex_text "Flies at high" + dex_line "speed and attacks" + dex_line "using its large" + dex_line "venomous stingers" + dex_line "on its forelegs" + dex_line "and tail." + dex_end DodrioPokedexDescription: ; 0x2e4a1 - dex_text "Uses its three" - dex_line "brains to execute" - dex_line "complex plans." - dex_line "While two heads" - dex_line "sleep, one head" - dex_line "stays awake." - dex_end + dex_text "Uses its three" + dex_line "brains to execute" + dex_line "complex plans." + dex_line "While two heads" + dex_line "sleep, one head" + dex_line "stays awake." + dex_end PrimeapePokedexDescription: ; 0x2e4fe - dex_text "Always furious" - dex_line "and tenacious to" - dex_line "boot. It will not" - dex_line "abandon chasing" - dex_line "its quarry until" - dex_line "it is caught." - dex_end + dex_text "Always furious" + dex_line "and tenacious to" + dex_line "boot. It will not" + dex_line "abandon chasing" + dex_line "its quarry until" + dex_line "it is caught." + dex_end DugtrioPokedexDescription: ; 0x2e55f - dex_text "A team of DIGLETT" - dex_line "triplets." - dex_line "It triggers huge" - dex_line "earthquakes by" - dex_line "burrowing 60 miles" - dex_line "underground." - dex_end + dex_text "A team of DIGLETT" + dex_line "triplets." + dex_line "It triggers huge" + dex_line "earthquakes by" + dex_line "burrowing 60 miles" + dex_line "underground." + dex_end VenomothPokedexDescription: ; 0x2e5bb - dex_text "The dust-like" - dex_line "scales covering" - dex_line "its wings are" - dex_line "color coded to" - dex_line "indicate the kinds" - dex_line "of poison it has." - dex_end + dex_text "The dust-like" + dex_line "scales covering" + dex_line "its wings are" + dex_line "color coded to" + dex_line "indicate the kinds" + dex_line "of poison it has." + dex_end DewgongPokedexDescription: ; 0x2e61b - dex_text "Stores thermal" - dex_line "energy in its" - dex_line "body. Swims at a" - dex_line "steady 8 knots" - dex_line "even in intensely" - dex_line "cold waters. " - dex_end + dex_text "Stores thermal" + dex_line "energy in its" + dex_line "body. Swims at a" + dex_line "steady 8 knots" + dex_line "even in intensely" + dex_line "cold waters. " + dex_end CaterpiePokedexDescription: ; 0x2e678 - dex_text "Its short feet" - dex_line "are tipped with" - dex_line "suction pads that" - dex_line "enable it to" - dex_line "tirelessly climb" - dex_line "slopes and walls." - dex_end + dex_text "Its short feet" + dex_line "are tipped with" + dex_line "suction pads that" + dex_line "enable it to" + dex_line "tirelessly climb" + dex_line "slopes and walls." + dex_end MetapodPokedexDescription: ; 0x2e6d9 - dex_text "This POKéMON is" - dex_line "vulnerable to" - dex_line "attack while its" - dex_line "shell is soft," - dex_line "exposing its weak" - dex_line "and tender body." - dex_end + dex_text "This POKéMON is" + dex_line "vulnerable to" + dex_line "attack while its" + dex_line "shell is soft," + dex_line "exposing its weak" + dex_line "and tender body." + dex_end ButterfreePokedexDescription: ; 0x2e73a - dex_text "In battle, it" - dex_line "flaps its wings" - dex_line "at high speed to" - dex_line "release highly" - dex_line "toxic dust into" - dex_line "the air." - dex_end + dex_text "In battle, it" + dex_line "flaps its wings" + dex_line "at high speed to" + dex_line "release highly" + dex_line "toxic dust into" + dex_line "the air." + dex_end MachampPokedexDescription: ; 0x2e791 - dex_text "Using its heavy" - dex_line "muscles, it throws" - dex_line "powerful punches" - dex_line "that can send the" - dex_line "victim clear over" - dex_line "the horizon. " - dex_end + dex_text "Using its heavy" + dex_line "muscles, it throws" + dex_line "powerful punches" + dex_line "that can send the" + dex_line "victim clear over" + dex_line "the horizon. " + dex_end GolduckPokedexDescription: ; 0x2e7f7 - dex_text "Often seen swim-" - dex_line "ming elegantly by" - dex_line "lake shores. It" - dex_line "is often mistaken" - dex_line "for the Japanese" - dex_line "monster, Kappa." - dex_end + dex_text "Often seen swim-" + dex_line "ming elegantly by" + dex_line "lake shores. It" + dex_line "is often mistaken" + dex_line "for the Japanese" + dex_line "monster, Kappa." + dex_end HypnoPokedexDescription: ; 0x2e85d - dex_text "When it locks eyes" - dex_line "with an enemy, it" - dex_line "will use a mix of" - dex_line "PSI moves such as" - dex_line "HYPNOSIS and" - dex_line "CONFUSION." - dex_end + dex_text "When it locks eyes" + dex_line "with an enemy, it" + dex_line "will use a mix of" + dex_line "PSI moves such as" + dex_line "HYPNOSIS and" + dex_line "CONFUSION." + dex_end GolbatPokedexDescription: ; 0x2e8be - dex_text "Once it strikes," - dex_line "it will not stop" - dex_line "draining energy" - dex_line "from the victim" - dex_line "even if it gets" - dex_line "too heavy to fly." - dex_end + dex_text "Once it strikes," + dex_line "it will not stop" + dex_line "draining energy" + dex_line "from the victim" + dex_line "even if it gets" + dex_line "too heavy to fly." + dex_end MewtwoPokedexDescription: ; 0x2e922 - dex_text "It was created by" - dex_line "a scientist after" - dex_line "years of horrific" - dex_line "gene splicing and" - dex_line "DNA engineering" - dex_line "experiments." - dex_end + dex_text "It was created by" + dex_line "a scientist after" + dex_line "years of horrific" + dex_line "gene splicing and" + dex_line "DNA engineering" + dex_line "experiments." + dex_end SnorlaxPokedexDescription: ; 0x2e987 - dex_text "Very lazy. Just" - dex_line "eats and sleeps." - dex_line "As its rotund" - dex_line "bulk builds, it" - dex_line "becomes steadily" - dex_line "more slothful." - dex_end + dex_text "Very lazy. Just" + dex_line "eats and sleeps." + dex_line "As its rotund" + dex_line "bulk builds, it" + dex_line "becomes steadily" + dex_line "more slothful." + dex_end MagikarpPokedexDescription: ; 0x2e9e6 - dex_text "In the distant" - dex_line "past, it was" - dex_line "somewhat stronger" - dex_line "than the horribly" - dex_line "weak descendants" - dex_line "that exist today." - dex_end + dex_text "In the distant" + dex_line "past, it was" + dex_line "somewhat stronger" + dex_line "than the horribly" + dex_line "weak descendants" + dex_line "that exist today." + dex_end MukPokedexDescription: ; 0x2ea49 - dex_text "Thickly covered" - dex_line "with a filthy," - dex_line "vile sludge. It" - dex_line "is so toxic, even" - dex_line "its footprints" - dex_line "contain poison." - dex_end + dex_text "Thickly covered" + dex_line "with a filthy," + dex_line "vile sludge. It" + dex_line "is so toxic, even" + dex_line "its footprints" + dex_line "contain poison." + dex_end KinglerPokedexDescription: ; 0x2eaa9 - dex_text "The large pincer" - dex_line "has 10000 hp of" - dex_line "crushing power." - dex_line "However, its huge" - dex_line "size makes it" - dex_line "unwieldy to use." - dex_end + dex_text "The large pincer" + dex_line "has 10000 hp of" + dex_line "crushing power." + dex_line "However, its huge" + dex_line "size makes it" + dex_line "unwieldy to use." + dex_end CloysterPokedexDescription: ; 0x2eb0b - dex_text "When attacked, it" - dex_line "launches its" - dex_line "horns in quick" - dex_line "volleys. Its" - dex_line "innards have" - dex_line "never been seen." - dex_end + dex_text "When attacked, it" + dex_line "launches its" + dex_line "horns in quick" + dex_line "volleys. Its" + dex_line "innards have" + dex_line "never been seen." + dex_end ElectrodePokedexDescription: ; 0x2eb64 - dex_text "It stores electric" - dex_line "energy under very" - dex_line "high pressure." - dex_line "It often explodes" - dex_line "with little or no" - dex_line "provocation." - dex_end + dex_text "It stores electric" + dex_line "energy under very" + dex_line "high pressure." + dex_line "It often explodes" + dex_line "with little or no" + dex_line "provocation." + dex_end ClefablePokedexDescription: ; 0x2ebc9 - dex_text "A timid fairy" - dex_line "POKéMON that is" - dex_line "rarely seen. It" - dex_line "will run and hide" - dex_line "the moment it" - dex_line "senses people." - dex_end + dex_text "A timid fairy" + dex_line "POKéMON that is" + dex_line "rarely seen. It" + dex_line "will run and hide" + dex_line "the moment it" + dex_line "senses people." + dex_end WeezingPokedexDescription: ; 0x2ec26 - dex_text "Where two kinds" - dex_line "of poison gases" - dex_line "meet, 2 KOFFINGs" - dex_line "can fuse into a" - dex_line "WEEZING over many" - dex_line "years." - dex_end + dex_text "Where two kinds" + dex_line "of poison gases" + dex_line "meet, 2 KOFFINGs" + dex_line "can fuse into a" + dex_line "WEEZING over many" + dex_line "years." + dex_end PersianPokedexDescription: ; 0x2ec80 - dex_text "Although its fur" - dex_line "has many admirers," - dex_line "it is tough to" - dex_line "raise as a pet" - dex_line "because of its" - dex_line "fickle meanness." - dex_end + dex_text "Although its fur" + dex_line "has many admirers," + dex_line "it is tough to" + dex_line "raise as a pet" + dex_line "because of its" + dex_line "fickle meanness." + dex_end MarowakPokedexDescription: ; 0x2ece2 - dex_text "The bone it holds" - dex_line "is its key weapon." - dex_line "It throws the" - dex_line "bone skillfully" - dex_line "like a boomerang" - dex_line "to KO targets." - dex_end + dex_text "The bone it holds" + dex_line "is its key weapon." + dex_line "It throws the" + dex_line "bone skillfully" + dex_line "like a boomerang" + dex_line "to KO targets." + dex_end HaunterPokedexDescription: ; 0x2ed45 - dex_text "Because of its" - dex_line "ability to slip" - dex_line "through block" - dex_line "walls, it is said" - dex_line "to be from an-" - dex_line "other dimension." - dex_end + dex_text "Because of its" + dex_line "ability to slip" + dex_line "through block" + dex_line "walls, it is said" + dex_line "to be from an-" + dex_line "other dimension." + dex_end AbraPokedexDescription: ; 0x2eda4 - dex_text "Using its ability" - dex_line "to read minds, it" - dex_line "will identify" - dex_line "impending danger" - dex_line "and TELEPORT to" - dex_line "safety." - dex_end + dex_text "Using its ability" + dex_line "to read minds, it" + dex_line "will identify" + dex_line "impending danger" + dex_line "and TELEPORT to" + dex_line "safety." + dex_end AlakazamPokedexDescription: ; 0x2edff - dex_text "Its brain can out-" - dex_line "perform a super-" - dex_line "computer." - dex_line "Its intelligence" - dex_line "quotient is said" - dex_line "to be 5,000." - dex_end + dex_text "Its brain can out-" + dex_line "perform a super-" + dex_line "computer." + dex_line "Its intelligence" + dex_line "quotient is said" + dex_line "to be 5,000." + dex_end PidgeottoPokedexDescription: ; 0x2ee5c - dex_text "Very protective" - dex_line "of its sprawling" - dex_line "territorial area," - dex_line "this POKéMON will" - dex_line "fiercely peck at" - dex_line "any intruder." - dex_end + dex_text "Very protective" + dex_line "of its sprawling" + dex_line "territorial area," + dex_line "this POKéMON will" + dex_line "fiercely peck at" + dex_line "any intruder." + dex_end PidgeotPokedexDescription: ; 0x2eec0 - dex_text "When hunting, it" - dex_line "skims the surface" - dex_line "of water at high" - dex_line "speed to pick off" - dex_line "unwary prey such" - dex_line "as MAGIKARP." - dex_end + dex_text "When hunting, it" + dex_line "skims the surface" + dex_line "of water at high" + dex_line "speed to pick off" + dex_line "unwary prey such" + dex_line "as MAGIKARP." + dex_end StarmiePokedexDescription: ; 0x2ef24 - dex_text "Its central core" - dex_line "glows with the" - dex_line "seven colors of" - dex_line "the rainbow. Some" - dex_line "people value the" - dex_line "core as a gem." - dex_end + dex_text "Its central core" + dex_line "glows with the" + dex_line "seven colors of" + dex_line "the rainbow. Some" + dex_line "people value the" + dex_line "core as a gem." + dex_end BulbasaurPokedexDescription: ; 0x2ef86 - dex_text "A strange seed was" - dex_line "planted on its" - dex_line "back at birth." - dex_line "The plant sprouts" - dex_line "and grows with" - dex_line "this POKéMON." - dex_end + dex_text "A strange seed was" + dex_line "planted on its" + dex_line "back at birth." + dex_line "The plant sprouts" + dex_line "and grows with" + dex_line "this POKéMON." + dex_end VenusaurPokedexDescription: ; 0x2efe6 - dex_text "The plant blooms" - dex_line "when it is" - dex_line "absorbing solar" - dex_line "energy. It stays" - dex_line "on the move to" - dex_line "seek sunlight." - dex_end + dex_text "The plant blooms" + dex_line "when it is" + dex_line "absorbing solar" + dex_line "energy. It stays" + dex_line "on the move to" + dex_line "seek sunlight." + dex_end TentacruelPokedexDescription: ; 0x2f041 - dex_text "The tentacles are" - dex_line "normally kept" - dex_line "short. On hunts," - dex_line "they are extended" - dex_line "to ensnare and" - dex_line "immobilize prey." - dex_end + dex_text "The tentacles are" + dex_line "normally kept" + dex_line "short. On hunts," + dex_line "they are extended" + dex_line "to ensnare and" + dex_line "immobilize prey." + dex_end GoldeenPokedexDescription: ; 0x2f0a4 - dex_text "Its tail fin" - dex_line "billows like an" - dex_line "elegant ballroom" - dex_line "dress, giving it" - dex_line "the nickname of" - dex_line "the Water Queen." - dex_end + dex_text "Its tail fin" + dex_line "billows like an" + dex_line "elegant ballroom" + dex_line "dress, giving it" + dex_line "the nickname of" + dex_line "the Water Queen." + dex_end SeakingPokedexDescription: ; 0x2f104 - dex_text "In the autumn" - dex_line "spawning season," - dex_line "they can be seen" - dex_line "swimming power-" - dex_line "fully up rivers" - dex_line "and creeks." - dex_end + dex_text "In the autumn" + dex_line "spawning season," + dex_line "they can be seen" + dex_line "swimming power-" + dex_line "fully up rivers" + dex_line "and creeks." + dex_end PonytaPokedexDescription: ; 0x2f160 - dex_text "Its hooves are 10" - dex_line "times harder than" - dex_line "diamonds. It can" - dex_line "trample anything" - dex_line "completely flat" - dex_line "in little time." - dex_end + dex_text "Its hooves are 10" + dex_line "times harder than" + dex_line "diamonds. It can" + dex_line "trample anything" + dex_line "completely flat" + dex_line "in little time." + dex_end RapidashPokedexDescription: ; 0x2f1c6 - dex_text "Very competitive," - dex_line "this POKéMON will" - dex_line "chase anything" - dex_line "that moves fast" - dex_line "in the hopes of" - dex_line "racing it." - dex_end + dex_text "Very competitive," + dex_line "this POKéMON will" + dex_line "chase anything" + dex_line "that moves fast" + dex_line "in the hopes of" + dex_line "racing it." + dex_end RattataPokedexDescription: ; 0x2f224 - dex_text "Bites anything" - dex_line "when it attacks." - dex_line "Small and very" - dex_line "quick, it is a" - dex_line "common sight in" - dex_line "many places." - dex_end + dex_text "Bites anything" + dex_line "when it attacks." + dex_line "Small and very" + dex_line "quick, it is a" + dex_line "common sight in" + dex_line "many places." + dex_end RaticatePokedexDescription: ; 0x2f27f - dex_text "It uses its whis-" - dex_line "kers to maintain" - dex_line "its balance." - dex_line "It apparently" - dex_line "slows down if" - dex_line "they are cut off." - dex_end + dex_text "It uses its whis-" + dex_line "kers to maintain" + dex_line "its balance." + dex_line "It apparently" + dex_line "slows down if" + dex_line "they are cut off." + dex_end NidorinoPokedexDescription: ; 0x2f2dd - dex_text "An aggressive" - dex_line "POKéMON that is" - dex_line "quick to attack." - dex_line "The horn on its" - dex_line "head secretes a" - dex_line "powerful venom." - dex_end + dex_text "An aggressive" + dex_line "POKéMON that is" + dex_line "quick to attack." + dex_line "The horn on its" + dex_line "head secretes a" + dex_line "powerful venom." + dex_end NidorinaPokedexDescription: ; 0x2f33c - dex_text "The female`s horn" - dex_line "develops slowly." - dex_line "Prefers physical" - dex_line "attacks such as" - dex_line "clawing and" - dex_line "biting." - dex_end + dex_text "The female`s horn" + dex_line "develops slowly." + dex_line "Prefers physical" + dex_line "attacks such as" + dex_line "clawing and" + dex_line "biting." + dex_end GeodudePokedexDescription: ; 0x2f394 - dex_text "Found in fields" - dex_line "and mountains." - dex_line "Mistaking them" - dex_line "for boulders," - dex_line "people often step" - dex_line "or trip on them." - dex_end + dex_text "Found in fields" + dex_line "and mountains." + dex_line "Mistaking them" + dex_line "for boulders," + dex_line "people often step" + dex_line "or trip on them." + dex_end PorygonPokedexDescription: ; 0x2f3f3 - dex_text "A POKéMON that" - dex_line "consists entirely" - dex_line "of programming" - dex_line "code. Capable of" - dex_line "moving freely in" - dex_line "cyberspace." - dex_end + dex_text "A POKéMON that" + dex_line "consists entirely" + dex_line "of programming" + dex_line "code. Capable of" + dex_line "moving freely in" + dex_line "cyberspace." + dex_end AerodactylPokedexDescription: ; 0x2f451 - dex_text "A ferocious, pre-" - dex_line "historic POKéMON" - dex_line "that goes for the" - dex_line "enemy`s throat" - dex_line "with its serrated" - dex_line "saw-like fangs." - dex_end + dex_text "A ferocious, pre-" + dex_line "historic POKéMON" + dex_line "that goes for the" + dex_line "enemy`s throat" + dex_line "with its serrated" + dex_line "saw-like fangs." + dex_end MagnemitePokedexDescription: ; 0x2f4b7 - dex_text "Uses anti-gravity" - dex_line "to stay suspended." - dex_line "Appears without" - dex_line "warning and uses" - dex_line "THUNDER WAVE and" - dex_line "similar moves." - dex_end + dex_text "Uses anti-gravity" + dex_line "to stay suspended." + dex_line "Appears without" + dex_line "warning and uses" + dex_line "THUNDER WAVE and" + dex_line "similar moves." + dex_end CharmanderPokedexDescription: ; 0x2f51d - dex_text "Obviously prefers" - dex_line "hot places. When" - dex_line "it rains, steam" - dex_line "is said to spout" - dex_line "from the tip of" - dex_line "its tail." - dex_end + dex_text "Obviously prefers" + dex_line "hot places. When" + dex_line "it rains, steam" + dex_line "is said to spout" + dex_line "from the tip of" + dex_line "its tail." + dex_end SquirtlePokedexDescription: ; 0x2f57b - dex_text "After birth, its" - dex_line "back swells and" - dex_line "hardens into a" - dex_line "shell. Powerfully" - dex_line "sprays foam from" - dex_line "its mouth." - dex_end + dex_text "After birth, its" + dex_line "back swells and" + dex_line "hardens into a" + dex_line "shell. Powerfully" + dex_line "sprays foam from" + dex_line "its mouth." + dex_end CharmeleonPokedexDescription: ; 0x2f5d9 - dex_text "When it swings" - dex_line "its burning tail," - dex_line "it elevates the" - dex_line "temperature to" - dex_line "unbearably high" - dex_line "levels." - dex_end + dex_text "When it swings" + dex_line "its burning tail," + dex_line "it elevates the" + dex_line "temperature to" + dex_line "unbearably high" + dex_line "levels." + dex_end WartortlePokedexDescription: ; 0x2f631 - dex_text "Often hides in" - dex_line "water to stalk" - dex_line "unwary prey. For" - dex_line "swimming fast, it" - dex_line "moves its ears to" - dex_line "maintain balance." - dex_end + dex_text "Often hides in" + dex_line "water to stalk" + dex_line "unwary prey. For" + dex_line "swimming fast, it" + dex_line "moves its ears to" + dex_line "maintain balance." + dex_end CharizardPokedexDescription: ; 0x2f696 - dex_text "Spits fire that" - dex_line "is hot enough to" - dex_line "melt boulders." - dex_line "Known to cause" - dex_line "forest fires" - dex_line "unintentionally." - dex_end + dex_text "Spits fire that" + dex_line "is hot enough to" + dex_line "melt boulders." + dex_line "Known to cause" + dex_line "forest fires" + dex_line "unintentionally." + dex_end OddishPokedexDescription: ; 0x2f6f3 - dex_text "During the day," - dex_line "it keeps its face" - dex_line "buried in the" - dex_line "ground. At night," - dex_line "it wanders around" - dex_line "sowing its seeds." - dex_end + dex_text "During the day," + dex_line "it keeps its face" + dex_line "buried in the" + dex_line "ground. At night," + dex_line "it wanders around" + dex_line "sowing its seeds." + dex_end GloomPokedexDescription: ; 0x2f759 - dex_text "The fluid that" - dex_line "oozes from its" - dex_line "mouth isn`t drool." - dex_line "It is a nectar" - dex_line "that is used to" - dex_line "attract prey." - dex_end + dex_text "The fluid that" + dex_line "oozes from its" + dex_line "mouth isn`t drool." + dex_line "It is a nectar" + dex_line "that is used to" + dex_line "attract prey." + dex_end VileplumePokedexDescription: ; 0x2f7b7 - dex_text "The larger its" - dex_line "petals, the more" - dex_line "toxic pollen it" - dex_line "contains. Its big" - dex_line "head is heavy and" - dex_line "hard to hold up." - dex_end + dex_text "The larger its" + dex_line "petals, the more" + dex_line "toxic pollen it" + dex_line "contains. Its big" + dex_line "head is heavy and" + dex_line "hard to hold up." + dex_end BellsproutPokedexDescription: ; 0x2f81c - dex_text "A carnivorous" - dex_line "POKéMON that traps" - dex_line "and eats bugs." - dex_line "It uses its root" - dex_line "feet to soak up" - dex_line "needed moisture." - dex_end + dex_text "A carnivorous" + dex_line "POKéMON that traps" + dex_line "and eats bugs." + dex_line "It uses its root" + dex_line "feet to soak up" + dex_line "needed moisture." + dex_end WeepinbellPokedexDescription: ; 0x2f87e - dex_text "It spits out" - dex_line "POISONPOWDER to" - dex_line "immobilize the" - dex_line "enemy and then" - dex_line "finishes it with" - dex_line "a spray of ACID." - dex_end + dex_text "It spits out" + dex_line "POISONPOWDER to" + dex_line "immobilize the" + dex_line "enemy and then" + dex_line "finishes it with" + dex_line "a spray of ACID." + dex_end VictreebellPokedexDescription: ; 0x2f8d8 - dex_text "Said to live in" - dex_line "huge colonies" - dex_line "deep in jungles," - dex_line "although no one" - dex_line "has ever returned" - dex_line "from there." - dex_end + dex_text "Said to live in" + dex_line "huge colonies" + dex_line "deep in jungles," + dex_line "although no one" + dex_line "has ever returned" + dex_line "from there." + dex_end SECTION "bankc", ROMX, BANK[$c] InitRedField: ; 0x30000 - ld a, [$d7c1] - and a - ret nz - xor a - ld hl, $d46f - ld [hld], a - ld [hld], a - ld [hld], a - ld [hld], a - ld [hld], a - ld [hl], a - ld [wNumPartyMons], a - ld [$d49b], a - ld [$d4c9], a - ld [wBallType], a - ld [$d4c8], a - ld hl, $d624 - ld [hli], a - ld [hli], a - ld [hli], a - ld [$d7ac], a - ld [$d7be], a - ld [wCurrentMap], a ; PALLET_TOWN - ld a, $1 - ld [$d49d], a - ld [$d482], a - ld a, $2 - ld [wRightAlleyCount], a - ld a, $3 - ld [$d49e], a - ld [$d610], a - ld [$d498], a - ld [$d499], a - ld a, $4 - ld [wStageCollisionState], a - ld [$d7ad], a - ld a, $80 - ld [wIndicatorStates], a - ld [wIndicatorStates + 3], a - ld a, $82 - ld [wIndicatorStates + 1], a - ld [$ff8a], a - ld a, Bank(Func_dbba) - ld hl, Func_dbba - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_16f95) - ld hl, Func_16f95 - call BankSwitch - ld a, $f - call SetSongBank - ld de, $0001 - call PlaySong - ret + ld a, [$d7c1] + and a + ret nz + xor a + ld hl, $d46f + ld [hld], a + ld [hld], a + ld [hld], a + ld [hld], a + ld [hld], a + ld [hl], a + ld [wNumPartyMons], a + ld [$d49b], a + ld [$d4c9], a + ld [wBallType], a + ld [$d4c8], a + ld hl, $d624 + ld [hli], a + ld [hli], a + ld [hli], a + ld [$d7ac], a + ld [$d7be], a + ld [wCurrentMap], a ; PALLET_TOWN + ld a, $1 + ld [$d49d], a + ld [$d482], a + ld a, $2 + ld [wRightAlleyCount], a + ld a, $3 + ld [$d49e], a + ld [$d610], a + ld [$d498], a + ld [$d499], a + ld a, $4 + ld [wStageCollisionState], a + ld [$d7ad], a + ld a, $80 + ld [wIndicatorStates], a + ld [wIndicatorStates + 3], a + ld a, $82 + ld [wIndicatorStates + 1], a + ld [$ff8a], a + ld a, Bank(Func_dbba) + ld hl, Func_dbba + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_16f95) + ld hl, Func_16f95 + call BankSwitch + ld a, $f + call SetSongBank + ld de, $0001 + call PlaySong + ret StartBallRedField: ; 0x3007d - ld a, [$d496] - and a - jp nz, StartBallAfterBonusStageRedField - ld a, $0 - ld [wBallXPos], a - ld a, $a7 - ld [wBallXPos + 1], a - ld a, $0 - ld [wBallYPos], a - ld a, $98 - ld [wBallYPos + 1], a - xor a - ld [$d549], a - ld [$d580], a - ld a, [$d7ad] - bit 7, a - jr z, .asm_300ae - ld a, [wStageCollisionState] - res 0, a - ld [$d7ad], a + ld a, [$d496] + and a + jp nz, StartBallAfterBonusStageRedField + ld a, $0 + ld [wBallXPos], a + ld a, $a7 + ld [wBallXPos + 1], a + ld a, $0 + ld [wBallYPos], a + ld a, $98 + ld [wBallYPos + 1], a + xor a + ld [$d549], a + ld [$d580], a + ld a, [$d7ad] + bit 7, a + jr z, .asm_300ae + ld a, [wStageCollisionState] + res 0, a + ld [$d7ad], a .asm_300ae - ld a, [wStageCollisionState] - and $1 - ld [wStageCollisionState], a - ld a, [$d4c9] - and a - ret z - xor a - ld [$d4c9], a - xor a - ld [$d50b], a - ld [$d50c], a - ld [$d51d], a - ld [$d517], a - ld [$d51e], a - ld hl, $d50f - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [wLeftMapMoveCounter], a - ld [wRightMapMoveCounter], a - ld hl, $d5f9 - ld [hli], a - ld [hli], a - ld [hli], a - ld [wBallType], a - ld [$d611], a - ld [$d612], a - ld [$d628], a - ld [$d629], a - ld [$d62a], a - ld [$d62b], a - ld [$d62c], a - ld [$d62d], a - ld [$d62e], a - ld [$d613], a - inc a - ld [$d482], a - ld [$d4ef], a - ld [$d4f1], a - ld a, $3 - ld [$d610], a - ld [$ff8a], a - ld a, Bank(Func_16f95) - ld hl, Func_16f95 - call BankSwitch - ld a, $f - call SetSongBank - ld de, $0001 - call PlaySong - ret + ld a, [wStageCollisionState] + and $1 + ld [wStageCollisionState], a + ld a, [$d4c9] + and a + ret z + xor a + ld [$d4c9], a + xor a + ld [$d50b], a + ld [$d50c], a + ld [$d51d], a + ld [$d517], a + ld [$d51e], a + ld hl, $d50f + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [wLeftMapMoveCounter], a + ld [wRightMapMoveCounter], a + ld hl, $d5f9 + ld [hli], a + ld [hli], a + ld [hli], a + ld [wBallType], a + ld [$d611], a + ld [$d612], a + ld [$d628], a + ld [$d629], a + ld [$d62a], a + ld [$d62b], a + ld [$d62c], a + ld [$d62d], a + ld [$d62e], a + ld [$d613], a + inc a + ld [$d482], a + ld [$d4ef], a + ld [$d4f1], a + ld a, $3 + ld [$d610], a + ld [$ff8a], a + ld a, Bank(Func_16f95) + ld hl, Func_16f95 + call BankSwitch + ld a, $f + call SetSongBank + ld de, $0001 + call PlaySong + ret StartBallAfterBonusStageRedField: ; 0x30128 - ld a, $0 - ld [wBallXPos], a - ld a, $50 - ld [wBallXPos + 1], a - ld a, $0 - ld [wBallYPos], a - ld a, $16 - ld [wBallYPos + 1], a - xor a - ld [wBallYVelocity], a - ld [wBallYVelocity + 1], a - ld [wBallXVelocity], a - ld [wBallXVelocity + 1], a - ld [$d496], a - ld [$d7ab], a - ld [$d7be], a - ld a, [wBallTypeBackup] - ld [wBallType], a - ld a, $f - call SetSongBank - ld de, $0001 - call PlaySong - ret + ld a, $0 + ld [wBallXPos], a + ld a, $50 + ld [wBallXPos + 1], a + ld a, $0 + ld [wBallYPos], a + ld a, $16 + ld [wBallYPos + 1], a + xor a + ld [wBallYVelocity], a + ld [wBallYVelocity + 1], a + ld [wBallXVelocity], a + ld [wBallXVelocity + 1], a + ld [$d496], a + ld [$d7ab], a + ld [$d7be], a + ld a, [wBallTypeBackup] + ld [wBallType], a + ld a, $f + call SetSongBank + ld de, $0001 + call PlaySong + ret Func_30164: ; 0x30164 - ld a, [$d49b] - inc a - cp $b - jr z, .asm_30175 - ld [$d49b], a - ld a, $1 - ld [$d4ca], a - ret + ld a, [$d49b] + inc a + cp $b + jr z, .asm_30175 + ld [$d49b], a + ld a, $1 + ld [$d4ca], a + ret .asm_30175 - ld bc, $34f4 - ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch - ld a, $2 - ld [$d4ca], a - ret + ld bc, $34f4 + ld [$ff8a], a + ld a, Bank(Func_8588) + ld hl, Func_8588 + call BankSwitch + ld a, $2 + ld [$d4ca], a + ret Func_30188: ; 0x30188 - ld a, [$d5ca] - and a - ret nz - ld a, [$d4ca] - and a - ret z - cp $1 - jr nz, .asm_301a7 - call Func_30e8 - call Func_30db - ld hl, $d5cc - ld de, $2974 - call Func_32aa - jr .asm_301c9 + ld a, [$d5ca] + and a + ret nz + ld a, [$d4ca] + and a + ret z + cp $1 + jr nz, .asm_301a7 + call Func_30e8 + call Func_30db + ld hl, $d5cc + ld de, $2974 + call Func_32aa + jr .asm_301c9 .asm_301a7 - ld bc, $1000 - ld de, $0000 - push bc - push de - call Func_30e8 - call Func_30db - ld hl, $d5d4 - ld de, $29a6 - call Func_32cc - pop de - pop bc - ld hl, $d5cc - ld de, $2986 - call Func_32aa + ld bc, $1000 + ld de, $0000 + push bc + push de + call Func_30e8 + call Func_30db + ld hl, $d5d4 + ld de, $29a6 + call Func_32cc + pop de + pop bc + ld hl, $d5cc + ld de, $2986 + call Func_32aa .asm_301c9 - xor a - ld [$d4ca], a - ret + xor a + ld [$d4ca], a + ret Func_301ce: ; 0x301ce - ld a, [wCurrentStage] - call CallInFollowingTable + ld a, [wCurrentStage] + call CallInFollowingTable PointerTable_301d4: ; 0x301d4 - dw Func_314ae - db Bank(Func_314ae), $00 + dw Func_314ae + db Bank(Func_314ae), $00 - dw Func_314ae - db Bank(Func_314ae), $00 + dw Func_314ae + db Bank(Func_314ae), $00 - dw Func_314ae - db Bank(Func_314ae), $00 + dw Func_314ae + db Bank(Func_314ae), $00 - dw Func_314ae - db Bank(Func_314ae), $00 + dw Func_314ae + db Bank(Func_314ae), $00 - dw Func_3161b - db Bank(Func_3161b), $00 + dw Func_3161b + db Bank(Func_3161b), $00 - dw Func_3161b - db Bank(Func_3161b), $00 + dw Func_3161b + db Bank(Func_3161b), $00 StartMapMoveMode: ; 0x301ec - ld a, [wInSpecialMode] - and a - ret nz - ld a, $1 - ld [wInSpecialMode], a - ld a, $2 - ld [wSpecialMode], a - xor a - ld [$d54d], a - ld bc, $0030 ; 30 seconds - ld [$ff8a], a - ld a, Bank(StartTimer) - ld hl, StartTimer - call BankSwitch - ld a, [wCurrentStage] - bit 0, a - jr z, .asm_3021b - ld a, [$d55a] - add $12 - call Func_30256 + ld a, [wInSpecialMode] + and a + ret nz + ld a, $1 + ld [wInSpecialMode], a + ld a, $2 + ld [wSpecialMode], a + xor a + ld [$d54d], a + ld bc, $0030 ; 30 seconds + ld [$ff8a], a + ld a, Bank(StartTimer) + ld hl, StartTimer + call BankSwitch + ld a, [wCurrentStage] + bit 0, a + jr z, .asm_3021b + ld a, [$d55a] + add $12 + call Func_30256 .asm_3021b - ld a, [wCurrentStage] - rst $18 ; calls JumpToFuncInTable + ld a, [wCurrentStage] + rst $18 ; calls JumpToFuncInTable CallTable_3021f: ; 0x3021f - ; STAGE_RED_FIELD_TOP - dw Func_311b4 + ; STAGE_RED_FIELD_TOP + dw Func_311b4 - ; STAGE_RED_FIELD_BOTTOM - dw Func_311b4 + ; STAGE_RED_FIELD_BOTTOM + dw Func_311b4 - dw Func_31324 + dw Func_31324 - dw Func_31324 + dw Func_31324 - ; STAGE_BLUE_FIELD_TOP - dw Func_31326 + ; STAGE_BLUE_FIELD_TOP + dw Func_31326 - ; STAGE_BLUE_FIELD_BOTTOM - dw Func_31326 + ; STAGE_BLUE_FIELD_BOTTOM + dw Func_31326 Func_3022b: ; 0x3022b - xor a - ld [$d5ca], a - call Func_30e8 - xor a - ld [wInSpecialMode], a - ld [wSpecialMode], a - ld [$ff8a], a - ld a, Bank(Func_86d2) - ld hl, Func_86d2 - call BankSwitch - ld a, [wCurrentStage] - rst $18 ; calls JumpToFuncInTable + xor a + ld [$d5ca], a + call Func_30e8 + xor a + ld [wInSpecialMode], a + ld [wSpecialMode], a + ld [$ff8a], a + ld a, Bank(Func_86d2) + ld hl, Func_86d2 + call BankSwitch + ld a, [wCurrentStage] + rst $18 ; calls JumpToFuncInTable CallTable_30247: ; 0x30247 - ; STAGE_RED_FIELD_TOP - dw Func_31234 + ; STAGE_RED_FIELD_TOP + dw Func_31234 - ; STAGE_RED_FIELD_BOTTOM - dw Func_31234 + ; STAGE_RED_FIELD_BOTTOM + dw Func_31234 - dw Func_31325 + dw Func_31325 - dw Func_31325 + dw Func_31325 - ; STAGE_BLUE_FIELD_TOP - dw Func_313c3 + ; STAGE_BLUE_FIELD_TOP + dw Func_313c3 - ; STAGE_BLUE_FIELD_TOP - dw Func_313c3 - -INCBIN "baserom.gbc",$30253,$30253 - $30253 + ; STAGE_BLUE_FIELD_TOP + dw Func_313c3 Func_30253: ; 0x30253 - ld a, [wCurrentMap] - ; fall through + ld a, [wCurrentMap] + ; fall through Func_30256: ; 0x30256 - sla a - ld c, a - ld b, $0 - push bc - ld hl, PointerTable_3027a - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld a, $c - call Func_10aa - pop bc - ld a, [hGameBoyColorFlag] - and a - ret z - ld hl, PointerTable_30ceb - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld a, $c - call Func_10aa - ret + sla a + ld c, a + ld b, $0 + push bc + ld hl, PointerTable_3027a + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld a, $c + call Func_10aa + pop bc + ld a, [hGameBoyColorFlag] + and a + ret z + ld hl, PointerTable_30ceb + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld a, $c + call Func_10aa + ret PointerTable_3027a: ; 0x3027a - dw Data_302b0 - dw Data_302c1 - dw Data_302d2 - dw Data_302e3 - dw Data_302f4 - dw Data_30305 - dw Data_30316 - dw Data_30327 - dw Data_30338 - dw Data_30349 - dw Data_3035a - dw Data_3036b - dw Data_3037c - dw Data_3038d - dw Data_3039e - dw Data_303af - dw Data_303c0 - dw Data_303d1 - dw Data_303e2 - dw Data_303f3 - dw Data_30404 - dw Data_30415 - dw Data_30426 - dw Data_30437 - dw Data_30448 - dw Data_30459 - dw Data_3046a + dw Data_302b0 + dw Data_302c1 + dw Data_302d2 + dw Data_302e3 + dw Data_302f4 + dw Data_30305 + dw Data_30316 + dw Data_30327 + dw Data_30338 + dw Data_30349 + dw Data_3035a + dw Data_3036b + dw Data_3037c + dw Data_3038d + dw Data_3039e + dw Data_303af + dw Data_303c0 + dw Data_303d1 + dw Data_303e2 + dw Data_303f3 + dw Data_30404 + dw Data_30415 + dw Data_30426 + dw Data_30437 + dw Data_30448 + dw Data_30459 + dw Data_3046a Data_302b0: ; 0x302b0 - db $08, $7B, $44, $85, $44, $8F, $44, $99, $44, $A3, $44, $AD, $44, $B7, $44, $C1, $44 + db $08, $7B, $44, $85, $44, $8F, $44, $99, $44, $A3, $44, $AD, $44, $B7, $44, $C1, $44 Data_302c1: ; 0x302c1 - db $08, $CB, $44, $D5, $44, $DF, $44, $E9, $44, $F3, $44, $FD, $44, $07, $45, $11, $45 + db $08, $CB, $44, $D5, $44, $DF, $44, $E9, $44, $F3, $44, $FD, $44, $07, $45, $11, $45 Data_302d2: ; 0x302d2 - db $08, $1B, $45, $25, $45, $2F, $45, $39, $45, $43, $45, $4D, $45, $57, $45, $61, $45 + db $08, $1B, $45, $25, $45, $2F, $45, $39, $45, $43, $45, $4D, $45, $57, $45, $61, $45 Data_302e3: ; 0x302e3 - db $08, $6B, $45, $75, $45, $7F, $45, $89, $45, $93, $45, $9D, $45, $A7, $45, $B1, $45 + db $08, $6B, $45, $75, $45, $7F, $45, $89, $45, $93, $45, $9D, $45, $A7, $45, $B1, $45 Data_302f4: ; 0x302f4 - db $08, $BB, $45, $C5, $45, $CF, $45, $D9, $45, $E3, $45, $ED, $45, $F7, $45, $01, $46 + db $08, $BB, $45, $C5, $45, $CF, $45, $D9, $45, $E3, $45, $ED, $45, $F7, $45, $01, $46 Data_30305: ; 0x30305 - db $08, $0B, $46, $15, $46, $1F, $46, $29, $46, $33, $46, $3D, $46, $47, $46, $51, $46 + db $08, $0B, $46, $15, $46, $1F, $46, $29, $46, $33, $46, $3D, $46, $47, $46, $51, $46 Data_30316: ; 0x30316 - db $08, $5B, $46, $65, $46, $6F, $46, $79, $46, $83, $46, $8D, $46, $97, $46, $A1, $46 + db $08, $5B, $46, $65, $46, $6F, $46, $79, $46, $83, $46, $8D, $46, $97, $46, $A1, $46 Data_30327: ; 0x30327 - db $08, $AB, $46, $B5, $46, $BF, $46, $C9, $46, $D3, $46, $DD, $46, $E7, $46, $F1, $46 + db $08, $AB, $46, $B5, $46, $BF, $46, $C9, $46, $D3, $46, $DD, $46, $E7, $46, $F1, $46 Data_30338: ; 0x30338 - db $08, $FB, $46, $05, $47, $0F, $47, $19, $47, $23, $47, $2D, $47, $37, $47, $41, $47 + db $08, $FB, $46, $05, $47, $0F, $47, $19, $47, $23, $47, $2D, $47, $37, $47, $41, $47 Data_30349: ; 0x30349 - db $08, $4B, $47, $55, $47, $5F, $47, $69, $47, $73, $47, $7D, $47, $87, $47, $91, $47 + db $08, $4B, $47, $55, $47, $5F, $47, $69, $47, $73, $47, $7D, $47, $87, $47, $91, $47 Data_3035a: ; 0x3035a - db $08, $9B, $47, $A5, $47, $AF, $47, $B9, $47, $C3, $47, $CD, $47, $D7, $47, $E1, $47 + db $08, $9B, $47, $A5, $47, $AF, $47, $B9, $47, $C3, $47, $CD, $47, $D7, $47, $E1, $47 Data_3036b: ; 0x3036b - db $08, $EB, $47, $F5, $47, $FF, $47, $09, $48, $13, $48, $1D, $48, $27, $48, $31, $48 + db $08, $EB, $47, $F5, $47, $FF, $47, $09, $48, $13, $48, $1D, $48, $27, $48, $31, $48 Data_3037c: ; 0x3037c - db $08, $3B, $48, $45, $48, $4F, $48, $59, $48, $63, $48, $6D, $48, $77, $48, $81, $48 + db $08, $3B, $48, $45, $48, $4F, $48, $59, $48, $63, $48, $6D, $48, $77, $48, $81, $48 Data_3038d: ; 0x3038d - db $08, $8B, $48, $95, $48, $9F, $48, $A9, $48, $B3, $48, $BD, $48, $C7, $48, $D1, $48 + db $08, $8B, $48, $95, $48, $9F, $48, $A9, $48, $B3, $48, $BD, $48, $C7, $48, $D1, $48 Data_3039e: ; 0x3039e - db $08, $DB, $48, $E5, $48, $EF, $48, $F9, $48, $03, $49, $0D, $49, $17, $49, $21, $49 + db $08, $DB, $48, $E5, $48, $EF, $48, $F9, $48, $03, $49, $0D, $49, $17, $49, $21, $49 Data_303af: ; 0x303af - db $08, $2B, $49, $35, $49, $3F, $49, $49, $49, $53, $49, $5D, $49, $67, $49, $71, $49 + db $08, $2B, $49, $35, $49, $3F, $49, $49, $49, $53, $49, $5D, $49, $67, $49, $71, $49 Data_303c0: ; 0x303c0 - db $08, $7B, $49, $85, $49, $8F, $49, $99, $49, $A3, $49, $AD, $49, $B7, $49, $C1, $49 + db $08, $7B, $49, $85, $49, $8F, $49, $99, $49, $A3, $49, $AD, $49, $B7, $49, $C1, $49 Data_303d1: ; 0x303d1 - db $08, $CB, $49, $D5, $49, $DF, $49, $E9, $49, $F3, $49, $FD, $49, $07, $4A, $11, $4A + db $08, $CB, $49, $D5, $49, $DF, $49, $E9, $49, $F3, $49, $FD, $49, $07, $4A, $11, $4A Data_303e2: ; 0x303e2 - db $08, $1B, $4A, $25, $4A, $2F, $4A, $39, $4A, $43, $4A, $4D, $4A, $57, $4A, $61, $4A + db $08, $1B, $4A, $25, $4A, $2F, $4A, $39, $4A, $43, $4A, $4D, $4A, $57, $4A, $61, $4A Data_303f3: ; 0x303f3 - db $08, $6B, $4A, $75, $4A, $7F, $4A, $89, $4A, $93, $4A, $9D, $4A, $A7, $4A, $B1, $4A + db $08, $6B, $4A, $75, $4A, $7F, $4A, $89, $4A, $93, $4A, $9D, $4A, $A7, $4A, $B1, $4A Data_30404: ; 0x30404 - db $08, $BB, $4A, $C5, $4A, $CF, $4A, $D9, $4A, $E3, $4A, $ED, $4A, $F7, $4A, $01, $4B + db $08, $BB, $4A, $C5, $4A, $CF, $4A, $D9, $4A, $E3, $4A, $ED, $4A, $F7, $4A, $01, $4B Data_30415: ; 0x30415 - db $08, $0B, $4B, $15, $4B, $1F, $4B, $29, $4B, $33, $4B, $3D, $4B, $47, $4B, $51, $4B + db $08, $0B, $4B, $15, $4B, $1F, $4B, $29, $4B, $33, $4B, $3D, $4B, $47, $4B, $51, $4B Data_30426: ; 0x30426 - db $08, $5B, $4B, $65, $4B, $6F, $4B, $79, $4B, $83, $4B, $8D, $4B, $97, $4B, $A1, $4B + db $08, $5B, $4B, $65, $4B, $6F, $4B, $79, $4B, $83, $4B, $8D, $4B, $97, $4B, $A1, $4B Data_30437: ; 0x30437 - db $08, $AB, $4B, $B5, $4B, $BF, $4B, $C9, $4B, $D3, $4B, $DD, $4B, $E7, $4B, $F1, $4B + db $08, $AB, $4B, $B5, $4B, $BF, $4B, $C9, $4B, $D3, $4B, $DD, $4B, $E7, $4B, $F1, $4B Data_30448: ; 0x30448 - db $08, $FB, $4B, $05, $4C, $0F, $4C, $19, $4C, $23, $4C, $2D, $4C, $37, $4C, $41, $4C + db $08, $FB, $4B, $05, $4C, $0F, $4C, $19, $4C, $23, $4C, $2D, $4C, $37, $4C, $41, $4C Data_30459: ; 0x30459 - db $08, $4B, $4C, $55, $4C, $5F, $4C, $69, $4C, $73, $4C, $7D, $4C, $87, $4C, $91, $4C + db $08, $4B, $4C, $55, $4C, $5F, $4C, $69, $4C, $73, $4C, $7D, $4C, $87, $4C, $91, $4C Data_3046a: ; 0x3046a - db $08, $9B, $4C, $A5, $4C, $AF, $4C, $B9, $4C, $C3, $4C, $CD, $4C, $D7, $4C, $E1, $4C + db $08, $9B, $4C, $A5, $4C, $AF, $4C, $B9, $4C, $C3, $4C, $CD, $4C, $D7, $4C, $E1, $4C -INCBIN "baserom.gbc",$3047b,$30ceb - $3047b + dr $3047b, $30ceb PointerTable_30ceb: ; 0x30ceb - dw Data_30d21 - dw Data_30d26 - dw Data_30d2b - dw Data_30d30 - dw Data_30d35 - dw Data_30d3a - dw Data_30d3f - dw Data_30d44 - dw Data_30d49 - dw Data_30d4e - dw Data_30d53 - dw Data_30d58 - dw Data_30d5d - dw Data_30d62 - dw Data_30d67 - dw Data_30d6c - dw Data_30d71 - dw Data_30d76 - dw Data_30d7b - dw Data_30d80 - dw Data_30d85 - dw Data_30d8a - dw Data_30d8f - dw Data_30d94 - dw Data_30d99 - dw Data_30d9e - dw Data_30da3 + dw Data_30d21 + dw Data_30d26 + dw Data_30d2b + dw Data_30d30 + dw Data_30d35 + dw Data_30d3a + dw Data_30d3f + dw Data_30d44 + dw Data_30d49 + dw Data_30d4e + dw Data_30d53 + dw Data_30d58 + dw Data_30d5d + dw Data_30d62 + dw Data_30d67 + dw Data_30d6c + dw Data_30d71 + dw Data_30d76 + dw Data_30d7b + dw Data_30d80 + dw Data_30d85 + dw Data_30d8a + dw Data_30d8f + dw Data_30d94 + dw Data_30d99 + dw Data_30d9e + dw Data_30da3 Data_30d21: ; 0x30d21 - db $02, $A8, $4D, $B1, $4D + db $02, $A8, $4D, $B1, $4D Data_30d26: ; 0x30d26 - db $02, $CD, $4D, $D6, $4D + db $02, $CD, $4D, $D6, $4D Data_30d2b: ; 0x30d2b - db $02, $F2, $4D, $FB, $4D + db $02, $F2, $4D, $FB, $4D Data_30d30: ; 0x30d30 - db $02, $17, $4E, $20, $4E + db $02, $17, $4E, $20, $4E Data_30d35: ; 0x30d35 - db $02, $3C, $4E, $45, $4E + db $02, $3C, $4E, $45, $4E Data_30d3a: ; 0x30d3a - db $02, $61, $4E, $6A, $4E + db $02, $61, $4E, $6A, $4E Data_30d3f: ; 0x30d3f - db $02, $86, $4E, $8F, $4E + db $02, $86, $4E, $8F, $4E Data_30d44: ; 0x30d44 - db $02, $AB, $4E, $B4, $4E + db $02, $AB, $4E, $B4, $4E Data_30d49: ; 0x30d49 - db $02, $D0, $4E, $D9, $4E + db $02, $D0, $4E, $D9, $4E Data_30d4e: ; 0x30d4e - db $02, $F5, $4E, $FE, $4E + db $02, $F5, $4E, $FE, $4E Data_30d53: ; 0x30d53 - db $02, $1A, $4F, $23, $4F + db $02, $1A, $4F, $23, $4F Data_30d58: ; 0x30d58 - db $02, $3F, $4F, $48, $4F + db $02, $3F, $4F, $48, $4F Data_30d5d: ; 0x30d5d - db $02, $64, $4F, $6D, $4F + db $02, $64, $4F, $6D, $4F Data_30d62: ; 0x30d62 - db $02, $89, $4F, $92, $4F + db $02, $89, $4F, $92, $4F Data_30d67: ; 0x30d67 - db $02, $AE, $4F, $B7, $4F + db $02, $AE, $4F, $B7, $4F Data_30d6c: ; 0x30d6c - db $02, $D3, $4F, $DC, $4F + db $02, $D3, $4F, $DC, $4F Data_30d71: ; 0x30d71 - db $02, $F8, $4F, $01, $50 + db $02, $F8, $4F, $01, $50 Data_30d76: ; 0x30d76 - db $02, $1D, $50, $26, $50 + db $02, $1D, $50, $26, $50 Data_30d7b: ; 0x30d7b - db $02, $42, $50, $4B, $50 + db $02, $42, $50, $4B, $50 Data_30d80: ; 0x30d80 - db $02, $67, $50, $70, $50 + db $02, $67, $50, $70, $50 Data_30d85: ; 0x30d85 - db $02, $8C, $50, $95, $50 + db $02, $8C, $50, $95, $50 Data_30d8a: ; 0x30d8a - db $02, $B1, $50, $BA, $50 + db $02, $B1, $50, $BA, $50 Data_30d8f: ; 0x30d8f - db $02, $D6, $50, $DF, $50 + db $02, $D6, $50, $DF, $50 Data_30d94: ; 0x30d94 - db $02, $FB, $50, $04, $51 + db $02, $FB, $50, $04, $51 Data_30d99: ; 0x30d99 - db $02, $20, $51, $29, $51 + db $02, $20, $51, $29, $51 Data_30d9e: ; 0x30d9e - db $02, $45, $51, $4E, $51 + db $02, $45, $51, $4E, $51 Data_30da3: ; 0x30da3 - db $02, $6A, $51, $73, $51 + db $02, $6A, $51, $73, $51 -INCBIN "baserom.gbc",$30da8,$3118f - $30da8 + dr $30da8, $3118f Func_3118f: ; 0x3118f - push bc - call Func_30e8 - call Func_30db - ld a, [wCurrentMap] - sla a - ld c, a - ld b, $0 - ld hl, $2ce3 ; todo - add hl, bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld hl, $d5d4 - call Func_32aa - pop de - ld hl, $d5cc - call Func_32aa - ret + push bc + call Func_30e8 + call Func_30db + ld a, [wCurrentMap] + sla a + ld c, a + ld b, $0 + ld hl, $2ce3 ; todo + add hl, bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld hl, $d5d4 + call Func_32aa + pop de + ld hl, $d5cc + call Func_32aa + ret Func_311b4: ; 0x311b4 - ld a, [$d55a] - and a - jr nz, .asm_311ce - ld a, $80 - ld [wIndicatorStates], a - ld [wIndicatorStates + 2], a - xor a - ld [wIndicatorStates + 1], a - ld [wIndicatorStates + 3], a - ld [wIndicatorStates + 4], a - jr .asm_311e2 + ld a, [$d55a] + and a + jr nz, .asm_311ce + ld a, $80 + ld [wIndicatorStates], a + ld [wIndicatorStates + 2], a + xor a + ld [wIndicatorStates + 1], a + ld [wIndicatorStates + 3], a + ld [wIndicatorStates + 4], a + jr .asm_311e2 .asm_311ce - ld a, $80 - ld [wIndicatorStates + 1], a - ld [wIndicatorStates + 3], a - xor a - ld [wIndicatorStates], a - ld [wIndicatorStates + 2], a - ld [wIndicatorStates + 4], a - jr .asm_311e2 + ld a, $80 + ld [wIndicatorStates + 1], a + ld [wIndicatorStates + 3], a + xor a + ld [wIndicatorStates], a + ld [wIndicatorStates + 2], a + ld [wIndicatorStates + 4], a + jr .asm_311e2 .asm_311e2 - ld a, $2 - ld [$ff8a], a - ld a, Bank(Func_149d9) - ld hl, Func_149d9 - call BankSwitch - ld a, $5 - ld [$ff8a], a - ld a, Bank(Func_149d9) - ld hl, Func_149d9 - call BankSwitch - ld a, $6a - ld [$c7f0], a - ld a, $6b - ld [$c810], a - ld a, $66 - ld [$c7e3], a - ld a, $67 - ld [$c803], a - ld [$ff8a], a - ld a, Bank(Func_107b0) - ld hl, Func_107b0 - call BankSwitch - ld a, $4 - ld [$d7ad], a - ld de, $0003 - call PlaySong - ld a, [wCurrentStage] - bit 0, a - ret z - ld [$ff8a], a - ld a, Bank(Func_14135) - ld hl, Func_14135 - call BankSwitch - ret + ld a, $2 + ld [$ff8a], a + ld a, Bank(Func_149d9) + ld hl, Func_149d9 + call BankSwitch + ld a, $5 + ld [$ff8a], a + ld a, Bank(Func_149d9) + ld hl, Func_149d9 + call BankSwitch + ld a, $6a + ld [$c7f0], a + ld a, $6b + ld [$c810], a + ld a, $66 + ld [$c7e3], a + ld a, $67 + ld [$c803], a + ld [$ff8a], a + ld a, Bank(Func_107b0) + ld hl, Func_107b0 + call BankSwitch + ld a, $4 + ld [$d7ad], a + ld de, $0003 + call PlaySong + ld a, [wCurrentStage] + bit 0, a + ret z + ld [$ff8a], a + ld a, Bank(Func_14135) + ld hl, Func_14135 + call BankSwitch + ret Func_31234: ; 0x31234 - ld [$ff8a], a - ld a, Bank(Func_107a5) - ld hl, Func_107a5 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_107c2) - ld hl, Func_107c2 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_107c8) - ld hl, Func_107c8 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_107e9) - ld hl, Func_107e9 - call BankSwitch - ld a, [wCurrentStage] - bit 0, a - ret z - ld [$ff8a], a - ld a, Bank(Func_14135) - ld hl, Func_14135 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_16425) - ld hl, Func_16425 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_30253) - ld hl, Func_30253 - call BankSwitch - ret + ld [$ff8a], a + ld a, Bank(Func_107a5) + ld hl, Func_107a5 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_107c2) + ld hl, Func_107c2 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_107c8) + ld hl, Func_107c8 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_107e9) + ld hl, Func_107e9 + call BankSwitch + ld a, [wCurrentStage] + bit 0, a + ret z + ld [$ff8a], a + ld a, Bank(Func_14135) + ld hl, Func_14135 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_16425) + ld hl, Func_16425 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_30253) + ld hl, Func_30253 + call BankSwitch + ret Func_31281: ; 0x31282 - ld a, [$d4e2] - inc a - cp $6 - jr c, .asm_3129e - ld a, $ff - ld [$d4e3], a - ld [$d4e4], a - ld [$d4e5], a - ld [$d4e6], a - ld [$d4e7], a - ld [$d4e8], a - xor a + ld a, [$d4e2] + inc a + cp $6 + jr c, .asm_3129e + ld a, $ff + ld [$d4e3], a + ld [$d4e4], a + ld [$d4e5], a + ld [$d4e6], a + ld [$d4e7], a + ld [$d4e8], a + xor a .asm_3129e - ld [$d4e2], a - cp $3 - jr c, .asm_312b2 - cp $5 - jr c, .asm_312e7 - ld a, INDIGO_PLATEAU - ld [wCurrentMap], a - ld [$d4e8], a - ret + ld [$d4e2], a + cp $3 + jr c, .asm_312b2 + cp $5 + jr c, .asm_312e7 + ld a, INDIGO_PLATEAU + ld [wCurrentMap], a + ld [$d4e8], a + ret .asm_312b2 - call GenRandom - and $7 - cp $7 - jr nc, .asm_312b2 - ld c, a - ld b, $0 - ld hl, $5319 - add hl, bc - ld c, [hl] - ld hl, $d4e3 - ld a, [$d4e2] - and a - jr z, .asm_312d4 - ld b, a + call GenRandom + and $7 + cp $7 + jr nc, .asm_312b2 + ld c, a + ld b, $0 + ld hl, $5319 + add hl, bc + ld c, [hl] + ld hl, $d4e3 + ld a, [$d4e2] + and a + jr z, .asm_312d4 + ld b, a .asm_312cd - ld a, [hli] - cp c - jr z, .asm_312b2 - dec b - jr nz, .asm_312cd + ld a, [hli] + cp c + jr z, .asm_312b2 + dec b + jr nz, .asm_312cd .asm_312d4 - ld a, c - ld [wCurrentMap], a - ld a, [$d4e2] - ld c, a - ld b, $0 - ld hl, $d4e3 - add hl, bc - ld a, [wCurrentMap] - ld [hl], a - ret + ld a, c + ld [wCurrentMap], a + ld a, [$d4e2] + ld c, a + ld b, $0 + ld hl, $d4e3 + add hl, bc + ld a, [wCurrentMap] + ld [hl], a + ret .asm_312e7 - call GenRandom - and $3 - ld c, a - ld b, $0 - ld hl, $5320 - add hl, bc - ld c, [hl] - ld hl, $d4e6 - ld a, [$d4e2] - sub $3 - jr z, .asm_31306 - ld b, a + call GenRandom + and $3 + ld c, a + ld b, $0 + ld hl, $5320 + add hl, bc + ld c, [hl] + ld hl, $d4e6 + ld a, [$d4e2] + sub $3 + jr z, .asm_31306 + ld b, a .asm_312ff - ld a, [hli] - cp c - jr z, .asm_312e7 - dec b - jr nz, .asm_312ff + ld a, [hli] + cp c + jr z, .asm_312e7 + dec b + jr nz, .asm_312ff .asm_31306 - ld a, c - ld [wCurrentMap], a - ld a, [$d4e2] - ld c, a - ld b, $0 - ld hl, $d4e3 - add hl, bc - ld a, [wCurrentMap] - ld [hl], a - ret - -INCBIN "baserom.gbc",$31319,$31324 - $31319 + ld a, c + ld [wCurrentMap], a + ld a, [$d4e2] + ld c, a + ld b, $0 + ld hl, $d4e3 + add hl, bc + ld a, [wCurrentMap] + ld [hl], a + ret + + dr $31319, $31324 Func_31324: ; 0x31324 - ret + ret Func_31325: ; 0x31325 - ret - -INCBIN "baserom.gbc",$31326,$31326 - $31326 + ret Func_31326: ; 0x31326 - ld a, [$d55a] - and a - jr nz, .asm_3134c - ld a, $80 - ld [wIndicatorStates], a - ld [wIndicatorStates + 2], a - xor a - ld [wIndicatorStates + 1], a - ld [wIndicatorStates + 3], a - ld [wIndicatorStates + 4], a - ld a, $3 - ld [$ff8a], a - ld a, Bank(Func_1de4b) - ld hl, Func_1de4b - call BankSwitch - jr .asm_31382 + ld a, [$d55a] + and a + jr nz, .asm_3134c + ld a, $80 + ld [wIndicatorStates], a + ld [wIndicatorStates + 2], a + xor a + ld [wIndicatorStates + 1], a + ld [wIndicatorStates + 3], a + ld [wIndicatorStates + 4], a + ld a, $3 + ld [$ff8a], a + ld a, Bank(Func_1de4b) + ld hl, Func_1de4b + call BankSwitch + jr .asm_31382 .asm_3134c - ld a, $80 - ld [wIndicatorStates + 1], a - ld [wIndicatorStates + 3], a - xor a - ld [wIndicatorStates], a - ld [wIndicatorStates + 2], a - ld [wIndicatorStates + 4], a - ld a, $1 - ld [$ff8a], a - ld a, Bank(Func_1de4b) - ld hl, Func_1de4b - call BankSwitch - ld a, $6 - ld [$ff8a], a - ld a, Bank(Func_1de4b) - ld hl, Func_1de4b - call BankSwitch - ld a, $7 ; TODO: this might be the bank of Func_1de6f - ld [$ff8a], a - ld a, Bank(Func_1de6f) - ld hl, Func_1de6f - call BankSwitch + ld a, $80 + ld [wIndicatorStates + 1], a + ld [wIndicatorStates + 3], a + xor a + ld [wIndicatorStates], a + ld [wIndicatorStates + 2], a + ld [wIndicatorStates + 4], a + ld a, $1 + ld [$ff8a], a + ld a, Bank(Func_1de4b) + ld hl, Func_1de4b + call BankSwitch + ld a, $6 + ld [$ff8a], a + ld a, Bank(Func_1de4b) + ld hl, Func_1de4b + call BankSwitch + ld a, $7 ; TODO: this might be the bank of Func_1de6f + ld [$ff8a], a + ld a, Bank(Func_1de6f) + ld hl, Func_1de6f + call BankSwitch .asm_31382 - ld a, [wCurrentStage] - bit 0, a - jr z, .asm_3139d - ld a, $54 - ld [$c7e3], a - ld a, $55 - ld [$c803], a - ld a, $52 - ld [$c7f0], a - ld a, $53 - ld [$c810], a + ld a, [wCurrentStage] + bit 0, a + jr z, .asm_3139d + ld a, $54 + ld [$c7e3], a + ld a, $55 + ld [$c803], a + ld a, $52 + ld [$c7f0], a + ld a, $53 + ld [$c810], a .asm_3139d - ld a, $1 - ld [$d644], a - ld [$ff8a], a - ld a, Bank(Func_1f2ed) - ld hl, Func_1f2ed - call BankSwitch - ld de, $0003 - call PlaySong - ld a, [wCurrentStage] - bit 0, a - ret z - ld [$ff8a], a - ld a, Bank(Func_1c2cb) - ld hl, Func_1c2cb - call BankSwitch - ret + ld a, $1 + ld [$d644], a + ld [$ff8a], a + ld a, Bank(Func_1f2ed) + ld hl, Func_1f2ed + call BankSwitch + ld de, $0003 + call PlaySong + ld a, [wCurrentStage] + bit 0, a + ret z + ld [$ff8a], a + ld a, Bank(Func_1c2cb) + ld hl, Func_1c2cb + call BankSwitch + ret Func_313c3: ; 0x313c3 - ld [$ff8a], a - ld a, Bank(Func_107a5) - ld hl, Func_107a5 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_107c2) - ld hl, Func_107c2 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_1f2ff) - ld hl, Func_1f2ff - call BankSwitch - ld a, $0 - ld [$d644], a - ld a, [wCurrentStage] - bit 0, a - ret z - ld [$ff8a], a - ld a, Bank(Func_1c2cb) - ld hl, Func_1c2cb - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_1e8f6) - ld hl, Func_1e8f6 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_30253) - ld hl, Func_30253 - call BankSwitch - ret + ld [$ff8a], a + ld a, Bank(Func_107a5) + ld hl, Func_107a5 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_107c2) + ld hl, Func_107c2 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_1f2ff) + ld hl, Func_1f2ff + call BankSwitch + ld a, $0 + ld [$d644], a + ld a, [wCurrentStage] + bit 0, a + ret z + ld [$ff8a], a + ld a, Bank(Func_1c2cb) + ld hl, Func_1c2cb + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_1e8f6) + ld hl, Func_1e8f6 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_30253) + ld hl, Func_30253 + call BankSwitch + ret Func_3140b: ; 0x3140b - ld a, [$d4e2] - inc a - cp $6 - jr c, .asm_31428 - ld a, $ff - ld [$d4e3], a - ld [$d4e4], a - ld [$d4e5], a - ld [$d4e6], a - ld [$d4e7], a - ld [$d4e8], a - xor a + ld a, [$d4e2] + inc a + cp $6 + jr c, .asm_31428 + ld a, $ff + ld [$d4e3], a + ld [$d4e4], a + ld [$d4e5], a + ld [$d4e6], a + ld [$d4e7], a + ld [$d4e8], a + xor a .asm_31428 - ld [$d4e2], a - cp $3 - jr c, .asm_3143c - cp $5 - jr c, .asm_31471 - ld a, INDIGO_PLATEAU - ld [wCurrentMap], a - ld [$d4e8], a - ret + ld [$d4e2], a + cp $3 + jr c, .asm_3143c + cp $5 + jr c, .asm_31471 + ld a, INDIGO_PLATEAU + ld [wCurrentMap], a + ld [$d4e8], a + ret .asm_3143c - call GenRandom - and $7 - cp $7 - jr nc, .asm_3143c - ld c, a - ld b, $0 - ld hl, $54a3 - add hl, bc - ld c, [hl] - ld hl, $d4e3 - ld a, [$d4e2] - and a - jr z, .asm_3145e - ld b, a + call GenRandom + and $7 + cp $7 + jr nc, .asm_3143c + ld c, a + ld b, $0 + ld hl, $54a3 + add hl, bc + ld c, [hl] + ld hl, $d4e3 + ld a, [$d4e2] + and a + jr z, .asm_3145e + ld b, a .asm_31457 - ld a, [hli] - cp c - jr z, .asm_3143c - dec b - jr nz, .asm_31457 + ld a, [hli] + cp c + jr z, .asm_3143c + dec b + jr nz, .asm_31457 .asm_3145e - ld a, c - ld [wCurrentMap], a - ld a, [$d4e2] - ld c, a - ld b, $0 - ld hl, $d4e3 - add hl, bc - ld a, [wCurrentMap] - ld [hl], a - ret + ld a, c + ld [wCurrentMap], a + ld a, [$d4e2] + ld c, a + ld b, $0 + ld hl, $d4e3 + add hl, bc + ld a, [wCurrentMap] + ld [hl], a + ret .asm_31471 - call GenRandom - and $3 - ld c, a - ld b, $0 - ld hl, $54aa - add hl, bc - ld c, [hl] - ld hl, $d4e6 - ld a, [$d4e2] - sub $3 - jr z, .asm_31490 - ld b, a + call GenRandom + and $3 + ld c, a + ld b, $0 + ld hl, $54aa + add hl, bc + ld c, [hl] + ld hl, $d4e6 + ld a, [$d4e2] + sub $3 + jr z, .asm_31490 + ld b, a .asm_31489 - ld a, [hli] - cp c - jr z, .asm_31471 - dec b - jr nz, .asm_31489 + ld a, [hli] + cp c + jr z, .asm_31471 + dec b + jr nz, .asm_31489 .asm_31490 - ld a, c - ld [wCurrentMap], a - ld a, [$d4e2] - ld c, a - ld b, $0 - ld hl, $d4e3 - add hl, bc - ld a, [wCurrentMap] - ld [hl], a - ret - -INCBIN "baserom.gbc",$314a3,$314ae - $314a3 + ld a, c + ld [wCurrentMap], a + ld a, [$d4e2] + ld c, a + ld b, $0 + ld hl, $d4e3 + add hl, bc + ld a, [wCurrentMap] + ld [hl], a + ret + + dr $314a3, $314ae Func_314ae: ; 0x314ae - ld a, [$d57d] - and a - ld a, [$d54c] - jr z, .asm_314d0 - cp $1 - jp z, Func_31591 - cp $3 - jp z, Func_31591 - cp $2 - jp z, Func_315b3 - cp $5 - jp z, Func_315b3 - cp $d - jp z, Func_315d5 + ld a, [$d57d] + and a + ld a, [$d54c] + jr z, .asm_314d0 + cp $1 + jp z, Func_31591 + cp $3 + jp z, Func_31591 + cp $2 + jp z, Func_315b3 + cp $5 + jp z, Func_315b3 + cp $d + jp z, Func_315d5 .asm_314d0 - cp $0 - jr z, .asm_314d6 - scf - ret + cp $0 + jr z, .asm_314d6 + scf + ret .asm_314d6 - call Func_3151f - ld a, [$d54d] - call CallInFollowingTable + call Func_3151f + ld a, [$d54d] + call CallInFollowingTable PointerTable_314df: ; 0xd13df - dw Func_314ef - db Bank(Func_314ef), $00 + dw Func_314ef + db Bank(Func_314ef), $00 - dw Func_314f1 - db Bank(Func_314f1), $00 + dw Func_314f1 + db Bank(Func_314f1), $00 - dw Func_314f3 - db Bank(Func_314f3), $00 + dw Func_314f3 + db Bank(Func_314f3), $00 - dw Func_31505 - db Bank(Func_31505), $00 + dw Func_31505 + db Bank(Func_31505), $00 Func_314ef: ; 0x314ef - scf - ret + scf + ret Func_314f1: ; 0x314f1 - scf - ret + scf + ret Func_314f3: ; 0x314f3 - ld [$ff8a], a - ld a, Bank(Func_3022b) - ld hl, Func_3022b - call BankSwitch - ld de, $0001 - call PlaySong - scf - ret + ld [$ff8a], a + ld a, Bank(Func_3022b) + ld hl, Func_3022b + call BankSwitch + ld de, $0001 + call PlaySong + scf + ret Func_31505: ; 0x31505 - ld a, [$d5ca] - and a - ret nz - call Func_30e8 - ld [$ff8a], a - ld a, Bank(Func_3022b) - ld hl, Func_3022b - call BankSwitch - ld de, $0001 - call PlaySong - scf - ret + ld a, [$d5ca] + and a + ret nz + call Func_30e8 + ld [$ff8a], a + ld a, Bank(Func_3022b) + ld hl, Func_3022b + call BankSwitch + ld de, $0001 + call PlaySong + scf + ret Func_3151f: ; 0x3151f - ld a, $50 - ld [$d4ef], a - ld [$d4f1], a - ld [$ff8a], a - ld a, Bank(Func_107f8) - ld hl, Func_107f8 - call BankSwitch - ld a, [$d57e] - and a - ret z - xor a - ld [$d57e], a - ld a, $3 - ld [$d54d], a - xor a - ld [$d604], a - ld [wIndicatorStates], a - ld [wIndicatorStates + 1], a - ld [wIndicatorStates + 2], a - ld [wIndicatorStates + 3], a - ld [wIndicatorStates + 4], a - ld a, [wCurrentStage] - bit 0, a - jr z, .asm_31577 - ld [$ff8a], a - ld a, Bank(Func_14135) - ld hl, Func_14135 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_16425) - ld hl, Func_16425 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_30253) - ld hl, Func_30253 - call BankSwitch + ld a, $50 + ld [$d4ef], a + ld [$d4f1], a + ld [$ff8a], a + ld a, Bank(Func_107f8) + ld hl, Func_107f8 + call BankSwitch + ld a, [$d57e] + and a + ret z + xor a + ld [$d57e], a + ld a, $3 + ld [$d54d], a + xor a + ld [$d604], a + ld [wIndicatorStates], a + ld [wIndicatorStates + 1], a + ld [wIndicatorStates + 2], a + ld [wIndicatorStates + 3], a + ld [wIndicatorStates + 4], a + ld a, [wCurrentStage] + bit 0, a + jr z, .asm_31577 + ld [$ff8a], a + ld a, Bank(Func_14135) + ld hl, Func_14135 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_16425) + ld hl, Func_16425 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_30253) + ld hl, Func_30253 + call BankSwitch .asm_31577 - ld [$ff8a], a - ld a, Bank(Func_86d2) - ld hl, Func_86d2 - call BankSwitch - call Func_30e8 - call Func_30db - ld hl, $d5cc - ld de, $2ca8 - call Func_32aa - ret + ld [$ff8a], a + ld a, Bank(Func_86d2) + ld hl, Func_86d2 + call BankSwitch + call Func_30e8 + call Func_30db + ld hl, $d5cc + ld de, $2ca8 + call Func_32aa + ret Func_31591: ; 0x31591 - ld a, [$d55a] - and a - jr nz, .asm_315b1 - ld a, [wIndicatorStates] - and a - jr z, .asm_315b1 - xor a - ld [wIndicatorStates], a - ld [wIndicatorStates + 2], a - ld a, $80 - ld [wIndicatorStates + 4], a - ld a, $1 - ld [$d604], a - ld [$d54d], a + ld a, [$d55a] + and a + jr nz, .asm_315b1 + ld a, [wIndicatorStates] + and a + jr z, .asm_315b1 + xor a + ld [wIndicatorStates], a + ld [wIndicatorStates + 2], a + ld a, $80 + ld [wIndicatorStates + 4], a + ld a, $1 + ld [$d604], a + ld [$d54d], a .asm_315b1 - scf - ret + scf + ret Func_315b3: ; 0x315b3 - ld a, [$d55a] - and a - jr z, .asm_315d3 - ld a, [wIndicatorStates + 1] - and a - jr z, .asm_315d3 - xor a - ld [wIndicatorStates + 1], a - ld [wIndicatorStates + 3], a - ld a, $80 - ld [wIndicatorStates + 4], a - ld a, $1 - ld [$d604], a - ld [$d54d], a + ld a, [$d55a] + and a + jr z, .asm_315d3 + ld a, [wIndicatorStates + 1] + and a + jr z, .asm_315d3 + xor a + ld [wIndicatorStates + 1], a + ld [wIndicatorStates + 3], a + ld a, $80 + ld [wIndicatorStates + 4], a + ld a, $1 + ld [$d604], a + ld [$d54d], a .asm_315d3 - scf - ret + scf + ret Func_315d5: ; 0x315d5 - ld de, $0000 - call PlaySong - rst $10 - ld [$ff8a], a - ld a, Bank(Func_31281) - ld hl, Func_31281 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_30253) - ld hl, Func_30253 - call BankSwitch - ld de, $2525 - call PlaySoundEffect - ld bc, $2cbf - ld [$ff8a], a - ld a, Bank(Func_3118f) - ld hl, Func_3118f - call BankSwitch + ld de, $0000 + call PlaySong + rst $10 + ld [$ff8a], a + ld a, Bank(Func_31281) + ld hl, Func_31281 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_30253) + ld hl, Func_30253 + call BankSwitch + ld de, $2525 + call PlaySoundEffect + ld bc, $2cbf + ld [$ff8a], a + ld a, Bank(Func_3118f) + ld hl, Func_3118f + call BankSwitch .asm_31603 - ld [$ff8a], a - ld a, Bank(Func_33e3) - ld hl, Func_33e3 - call BankSwitch - rst $10 - ld a, [$d5ca] - and a - jr nz, .asm_31603 - ld a, $2 - ld [$d54d], a - scf - ret + ld [$ff8a], a + ld a, Bank(Func_33e3) + ld hl, Func_33e3 + call BankSwitch + rst $10 + ld a, [$d5ca] + and a + jr nz, .asm_31603 + ld a, $2 + ld [$d54d], a + scf + ret Func_3161b: ; 0x3161b - ld a, [$d57d] - and a - ld a, [$d54c] - jr z, .asm_3163d - cp $1 - jp z, Func_31708 - cp $f - jp z, Func_31708 - cp $2 - jp z, Func_3172a - cp $e - jp z, Func_3172a - cp $d - jp z, Func_3174c + ld a, [$d57d] + and a + ld a, [$d54c] + jr z, .asm_3163d + cp $1 + jp z, Func_31708 + cp $f + jp z, Func_31708 + cp $2 + jp z, Func_3172a + cp $e + jp z, Func_3172a + cp $d + jp z, Func_3174c .asm_3163d - cp $0 - jr z, .asm_31643 - scf - ret + cp $0 + jr z, .asm_31643 + scf + ret .asm_31643 - call Func_3168c - ld a, [$d54d] - call CallInFollowingTable + call Func_3168c + ld a, [$d54d] + call CallInFollowingTable PointerTable_3164c: ; 0x3164c - dw Func_3165c - db Bank(Func_3165c), $00 + dw Func_3165c + db Bank(Func_3165c), $00 - dw Func_3165e - db Bank(Func_3165e), $00 + dw Func_3165e + db Bank(Func_3165e), $00 - dw Func_31660 - db Bank(Func_31660), $00 + dw Func_31660 + db Bank(Func_31660), $00 - dw Func_31672 - db Bank(Func_31672), $00 + dw Func_31672 + db Bank(Func_31672), $00 Func_3165c: ; 0x3165c - scf - ret + scf + ret Func_3165e: ; 0x3165e - scf - ret + scf + ret Func_31660: ; 0x31660 - ld [$ff8a], a - ld a, Bank(Func_3022b) - ld hl, Func_3022b - call BankSwitch - ld de, $0001 - call PlaySong - scf - ret + ld [$ff8a], a + ld a, Bank(Func_3022b) + ld hl, Func_3022b + call BankSwitch + ld de, $0001 + call PlaySong + scf + ret Func_31672: ; 0x31672 - ld a, [$d5ca] - and a - ret nz - call Func_30e8 - ld [$ff8a], a - ld a, Bank(Func_3022b) - ld hl, Func_3022b - call BankSwitch - ld de, $0001 - call PlaySong - scf - ret + ld a, [$d5ca] + and a + ret nz + call Func_30e8 + ld [$ff8a], a + ld a, Bank(Func_3022b) + ld hl, Func_3022b + call BankSwitch + ld de, $0001 + call PlaySong + scf + ret Func_3168c: ; 0x3168c - ld a, $50 - ld [wLeftMapMoveDiglettAnimationCounter], a - ld [wRightMapMoveDiglettFrame], a - ld a, $3 - ld [$d645], a - ld a, $1 - ld [$d646], a - ld [$ff8a], a - ld a, Bank(Func_107f8) - ld hl, Func_107f8 - call BankSwitch - ld a, [$d57e] - and a - ret z - xor a - ld [$d57e], a - ld a, $3 - ld [$d54d], a - xor a - ld [$d604], a - ld [wIndicatorStates], a - ld [wIndicatorStates + 1], a - ld [wIndicatorStates + 2], a - ld [wIndicatorStates + 3], a - ld [wIndicatorStates + 4], a - ld a, [wCurrentStage] - bit 0, a - jr z, .asm_316ee - ld [$ff8a], a - ld a, Bank(Func_1c2cb) - ld hl, Func_1c2cb - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_1e8f6) - ld hl, Func_1e8f6 - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_30253) - ld hl, Func_30253 - call BankSwitch + ld a, $50 + ld [wLeftMapMoveDiglettAnimationCounter], a + ld [wRightMapMoveDiglettFrame], a + ld a, $3 + ld [$d645], a + ld a, $1 + ld [$d646], a + ld [$ff8a], a + ld a, Bank(Func_107f8) + ld hl, Func_107f8 + call BankSwitch + ld a, [$d57e] + and a + ret z + xor a + ld [$d57e], a + ld a, $3 + ld [$d54d], a + xor a + ld [$d604], a + ld [wIndicatorStates], a + ld [wIndicatorStates + 1], a + ld [wIndicatorStates + 2], a + ld [wIndicatorStates + 3], a + ld [wIndicatorStates + 4], a + ld a, [wCurrentStage] + bit 0, a + jr z, .asm_316ee + ld [$ff8a], a + ld a, Bank(Func_1c2cb) + ld hl, Func_1c2cb + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_1e8f6) + ld hl, Func_1e8f6 + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_30253) + ld hl, Func_30253 + call BankSwitch .asm_316ee - ld [$ff8a], a - ld a, Bank(Func_86d2) - ld hl, Func_86d2 - call BankSwitch - call Func_30e8 - call Func_30db - ld hl, $d5cc - ld de, $2ca8 - call Func_32aa - ret + ld [$ff8a], a + ld a, Bank(Func_86d2) + ld hl, Func_86d2 + call BankSwitch + call Func_30e8 + call Func_30db + ld hl, $d5cc + ld de, $2ca8 + call Func_32aa + ret Func_31708: ; 0x31708 - ld a, [$d55a] - and a - jr nz, .asm_31728 - ld a, [wIndicatorStates] - and a - jr z, .asm_31728 - xor a - ld [wIndicatorStates], a - ld [wIndicatorStates + 2], a - ld a, $80 - ld [wIndicatorStates + 4], a - ld a, $1 - ld [$d604], a - ld [$d54d], a + ld a, [$d55a] + and a + jr nz, .asm_31728 + ld a, [wIndicatorStates] + and a + jr z, .asm_31728 + xor a + ld [wIndicatorStates], a + ld [wIndicatorStates + 2], a + ld a, $80 + ld [wIndicatorStates + 4], a + ld a, $1 + ld [$d604], a + ld [$d54d], a .asm_31728 - scf - ret + scf + ret Func_3172a: ; 0x3172a - ld a, [$d55a] - and a - jr z, .asm_3174a - ld a, [wIndicatorStates + 1] - and a - jr z, .asm_3174a - xor a - ld [wIndicatorStates + 1], a - ld [wIndicatorStates + 3], a - ld a, $80 - ld [wIndicatorStates + 4], a - ld a, $1 - ld [$d604], a - ld [$d54d], a + ld a, [$d55a] + and a + jr z, .asm_3174a + ld a, [wIndicatorStates + 1] + and a + jr z, .asm_3174a + xor a + ld [wIndicatorStates + 1], a + ld [wIndicatorStates + 3], a + ld a, $80 + ld [wIndicatorStates + 4], a + ld a, $1 + ld [$d604], a + ld [$d54d], a .asm_3174a - scf - ret + scf + ret Func_3174c: ; 0x3174c - ld de, $0000 - call PlaySong - rst $10 - ld [$ff8a], a - ld a, Bank(Func_3140b) - ld hl, Func_3140b - call BankSwitch - ld [$ff8a], a - ld a, Bank(Func_30253) - ld hl, Func_30253 - call BankSwitch - ld de, $2525 - call PlaySoundEffect - ld bc, $2cbf - ld [$ff8a], a - ld a, Bank(Func_3118f) - ld hl, Func_3118f - call BankSwitch + ld de, $0000 + call PlaySong + rst $10 + ld [$ff8a], a + ld a, Bank(Func_3140b) + ld hl, Func_3140b + call BankSwitch + ld [$ff8a], a + ld a, Bank(Func_30253) + ld hl, Func_30253 + call BankSwitch + ld de, $2525 + call PlaySoundEffect + ld bc, $2cbf + ld [$ff8a], a + ld a, Bank(Func_3118f) + ld hl, Func_3118f + call BankSwitch .asm_3177a - ld [$ff8a], a - ld a, Bank(Func_33e3) - ld hl, Func_33e3 - call BankSwitch - rst $10 - ld a, [$d5ca] - and a - jr nz, .asm_3177a - ld a, $2 - ld [$d54d], a - scf - ret - -INCBIN "baserom.gbc",$31792,$34000 - $31792 + ld [$ff8a], a + ld a, Bank(Func_33e3) + ld hl, Func_33e3 + call BankSwitch + rst $10 + ld a, [$d5ca] + and a + jr nz, .asm_3177a + ld a, $2 + ld [$d54d], a + scf + ret + + dr $31792, $34000 SECTION "bankd", ROMX, BANK[$d] @@ -48266,1848 +48295,1902 @@ SlotOnPic: ; 0x34000 SlotOffPic: ; 0x34180 INCBIN "gfx/billboard/slot/slot_off.2bpp" -INCBIN "baserom.gbc",$34300,$37f00 - $34300 + dr $34300, $37f00 StageSeelBonusCollisionMasks: ; 0x37f00 - INCBIN "data/collision/masks/seel_bonus.masks" + INCBIN "data/collision/masks/seel_bonus.masks" SECTION "banke", ROMX, BANK[$e] - -INCBIN "baserom.gbc",$38000,$3c000 - $38000 ; 0x38000 - +Data_38000: + db $89, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 + +Data_38010: + db $89, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 + +Data_38020: + db $51, $10, $00, $10, $00, $10, $00, $10, $00, $80, $00, $00, $00, $00, $00, $00 + +Data_38030: + db $a9, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 + dr $38040, $3809a ; 0x38000 + +Data_3809a: + db $00, $00, $00 + db $40, $40, $40 + db $90, $90, $90 + db $e4, $e4, $e4 + +Data_380a6: + db $59, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 + dr $380b6, $38156 ; 0x38000 + +Data_38156: + db $99, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 + dr $38166, $39166 + +Data_39166: + db $99, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 + dr $39176, $3a176 ; 0x38000 + +Data_3a176: + db $a1, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 + dr $3a186, $3a9e6 ; 0x38000 + +Data_3a9e6: + db $79, $5d, $08, $00, $0b, $8c, $d0, $f4, $60, $00, $00, $00, $00, $00, $00, $00 +Data_3a9f6: + db $79, $52, $08, $00, $0b, $a9, $e7, $9f, $01, $c0, $7e, $e8, $e8, $e8, $e8, $e0 +Data_3aa06: + db $79, $47, $08, $00, $0b, $c4, $d0, $16, $a5, $cb, $c9, $05, $d0, $10, $a2, $28 +Data_3aa16: + db $79, $3c, $08, $00, $0b, $f0, $12, $a5, $c9, $c9, $c8, $d0, $1c, $a5, $ca, $c9 +Data_3aa26: + db $79, $31, $08, $00, $0b, $0c, $a5, $ca, $c9, $7e, $d0, $06, $a5, $cb, $c9, $7e +Data_3aa36: + db $79, $26, $08, $00, $0b, $39, $cd, $48, $0c, $d0, $34, $a5, $c9, $c9, $80, $d0 +Data_3aa46: + db $79, $1b, $08, $00, $0b, $ea, $ea, $ea, $ea, $ea, $a9, $01, $cd, $4f, $0c, $d0 +Data_3aa56: + db $79, $10, $08, $00, $0b, $4c, $20, $08, $ea, $ea, $ea, $ea, $ea, $60, $ea, $ea +Data_3aa66: + db $b9, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 +Data_3aa76: + db $b9, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 + + dr $3aa86, $3c000 ; 0x38000 SECTION "bankf", ROMX, BANK[$f] Func_3c000: ; 0x3c000 - push hl - push de - push bc - push af - call Func_3cb1b - ld hl, $dd01 - ld de, $01af + push hl + push de + push bc + push af + call Func_3cb1b + ld hl, $dd01 + ld de, $01af .clearLoop - xor a - ld [hli], a - dec de - ld a, e - or d - jr nz, .clearLoop - ld hl, $ff24 - xor a - ld [hli], a - ld [hli], a - ld a, $80 - ld [hli], a - ld hl, $ff10 - ld e, $4 + xor a + ld [hli], a + dec de + ld a, e + or d + jr nz, .clearLoop + ld hl, rNR50 + xor a + ld [hli], a + ld [hli], a + ld a, $80 + ld [hli], a + ld hl, rNR10 + ld e, $4 .asm_3c022 - xor a - ld [hli], a - ld [hli], a - ld a, $8 - ld [hli], a - xor a - ld [hli], a - ld a, $80 - ld [hli], a - dec e - jr nz, .asm_3c022 - ld a, $8 - ld [$de9a], a - ld a, $77 - ld [$de98], a - call Func_3cb15 - pop af - pop bc - pop de - pop hl - ret + xor a + ld [hli], a + ld [hli], a + ld a, $8 + ld [hli], a + xor a + ld [hli], a + ld a, $80 + ld [hli], a + dec e + jr nz, .asm_3c022 + ld a, $8 + ld [$de9a], a + ld a, $77 + ld [$de98], a + call Func_3cb15 + pop af + pop bc + pop de + pop hl + ret Func_3c042: ; 0x3c042 - ld a, [de] - inc de - and $7 - ld [$deae], a - ld c, a - ld b, $0 - ld hl, WRAMPointerTable_3cc92 - add hl, bc - add hl, bc - ld c, [hl] - inc hl - ld b, [hl] - ld hl, $0002 - add hl, bc - res 0, [hl] - push de - xor a - ld hl, $0000 - add hl, bc - ld e, $32 + ld a, [de] + inc de + and $7 + ld [$deae], a + ld c, a + ld b, $0 + ld hl, WRAMPointerTable_3cc92 + add hl, bc + add hl, bc + ld c, [hl] + inc hl + ld b, [hl] + ld hl, $0002 + add hl, bc + res 0, [hl] + push de + xor a + ld hl, $0000 + add hl, bc + ld e, $32 .loop - ld [hli], a - dec e - jr nz, .loop - ld hl, $0017 - add hl, bc - xor a - ld [hli], a - inc a - ld [hl], a - ld hl, $0028 - add hl, bc - ld [hl], a - pop de - ld hl, $0005 - add hl, bc - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hl], a - inc de - ld hl, $0000 - add hl, bc - ld a, [$de9b] - ld [hli], a - ld a, [$de9c] - ld [hl], a - ret - -INCBIN "baserom.gbc",$3c08b,$3c090 - $3c08b + ld [hli], a + dec e + jr nz, .loop + ld hl, $0017 + add hl, bc + xor a + ld [hli], a + inc a + ld [hl], a + ld hl, $0028 + add hl, bc + ld [hl], a + pop de + ld hl, $0005 + add hl, bc + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hl], a + inc de + ld hl, $0000 + add hl, bc + ld a, [$de9b] + ld [hli], a + ld a, [$de9c] + ld [hl], a + ret + + dr $3c08b, $3c090 PlaySong_BankF: ; 0x3c090 - push de - call Func_3c000 - pop de - call Func_3cb1b - ld hl, $de9b - ld [hl], e - inc hl - ld [hl], d - ld hl, SongHeaderPointers0F - add hl, de - add hl, de - ld e, [hl] - inc hl - ld d, [hl] - ld a, [de] - rlca - rlca - and $3 - inc a + push de + call Func_3c000 + pop de + call Func_3cb1b + ld hl, $de9b + ld [hl], e + inc hl + ld [hl], d + ld hl, SongHeaderPointers0F + add hl, de + add hl, de + ld e, [hl] + inc hl + ld d, [hl] + ld a, [de] + rlca + rlca + and $3 + inc a .asm_3c0ac - push af - call Func_3c042 - call Func_3cadf - pop af - dec a - jr nz, .asm_3c0ac - call Func_3cb15 - ret + push af + call Func_3c042 + call Func_3cadf + pop af + dec a + jr nz, .asm_3c0ac + call Func_3cb15 + ret -INCBIN "baserom.gbc",$3c0bb,$3c0c0 - $3c0bb + dr $3c0bb, $3c0c0 PlaySoundEffect_BankF: ; 0x3c0c0 - call Func_3cb1b - ld hl, $de9b - ld [hl], e - inc hl - ld [hl], d - ld hl, PointerTable_3e3ce - add hl, de - add hl, de - ld e, [hl] - inc hl - ld d, [hl] - ld a, [de] - rlca - rlca - and $3 - inc a + call Func_3cb1b + ld hl, $de9b + ld [hl], e + inc hl + ld [hl], d + ld hl, PointerTable_3e3ce + add hl, de + add hl, de + ld e, [hl] + inc hl + ld d, [hl] + ld a, [de] + rlca + rlca + and $3 + inc a .asm_3c0d7 - push af - call Func_3c042 - ld hl, $0002 - add hl, bc - set 3, [hl] - call Func_3cadf - pop af - dec a - jr nz, .asm_3c0d7 - call Func_3cb15 - ret - -INCBIN "baserom.gbc",$3c0ec,$3c0f0 - $3c0ec + push af + call Func_3c042 + ld hl, $0002 + add hl, bc + set 3, [hl] + call Func_3cadf + pop af + dec a + jr nz, .asm_3c0d7 + call Func_3cb15 + ret + + dr $3c0ec, $3c0f0 PlayCry_BankF: ; 0x3c0f0 ; Plays a Pokemon cry. ; Input: e = mon id - call Func_3cb1b - ld a, e - and a - ret z - dec e - ld d, $0 - ld hl, CryData - add hl, de - add hl, de - add hl, de - add hl, de - add hl, de - add hl, de - ld e, [hl] - inc hl - ld d, [hl] ; de = base cry id - inc hl - ld a, [hli] - ld [$dea8], a - ld a, [hli] - ld [$dea9], a ; dea8 = cry pitch - ld a, [hli] - ld [$deaa], a - ld a, [hl] - ld [$deab], a ; deaa = cry length - ld hl, $de9b - ld [hl], e - inc hl - ld [hl], d - ld hl, CryBasePointers - add hl, de - add hl, de - ld e, [hl] - inc hl - ld d, [hl] - ld a, [de] - rlca - rlca - and $3 - inc a + call Func_3cb1b + ld a, e + and a + ret z + dec e + ld d, $0 + ld hl, CryData + add hl, de + add hl, de + add hl, de + add hl, de + add hl, de + add hl, de + ld e, [hl] + inc hl + ld d, [hl] ; de = base cry id + inc hl + ld a, [hli] + ld [$dea8], a + ld a, [hli] + ld [$dea9], a ; dea8 = cry pitch + ld a, [hli] + ld [$deaa], a + ld a, [hl] + ld [$deab], a ; deaa = cry length + ld hl, $de9b + ld [hl], e + inc hl + ld [hl], d + ld hl, CryBasePointers + add hl, de + add hl, de + ld e, [hl] + inc hl + ld d, [hl] + ld a, [de] + rlca + rlca + and $3 + inc a .asm_3c12a - push af - call Func_3c042 - ld hl, $0002 - add hl, bc - set 5, [hl] - ld hl, $0003 - add hl, bc - set 4, [hl] - ld hl, $0026 - add hl, bc - ld a, [$dea8] - ld [hli], a - ld a, [$dea9] - ld [hl], a - ld a, [$de97] - and $3 - cp $3 - jr nc, .asm_3c15b - ld hl, $0017 - add hl, bc - ld a, [$deaa] - ld [hli], a - ld a, [$deab] - ld [hl], a + push af + call Func_3c042 + ld hl, $0002 + add hl, bc + set 5, [hl] + ld hl, $0003 + add hl, bc + set 4, [hl] + ld hl, $0026 + add hl, bc + ld a, [$dea8] + ld [hli], a + ld a, [$dea9] + ld [hl], a + ld a, [$de97] + and $3 + cp $3 + jr nc, .asm_3c15b + ld hl, $0017 + add hl, bc + ld a, [$deaa] + ld [hli], a + ld a, [$deab] + ld [hl], a .asm_3c15b - call Func_3cadf - pop af - dec a - jr nz, .asm_3c12a - ld a, [$deac] - and a - jr nz, .asm_3c173 - ld a, [$de98] - ld [$deac], a - ld a, $77 - ld [$de98], a + call Func_3cadf + pop af + dec a + jr nz, .asm_3c12a + ld a, [$deac] + and a + jr nz, .asm_3c173 + ld a, [$de98] + ld [$deac], a + ld a, $77 + ld [$de98], a .asm_3c173 - ld a, $1 - ld [$dead], a - call Func_3cb15 - ret + ld a, $1 + ld [$dead], a + call Func_3cb15 + ret -INCBIN "baserom.gbc",$3c17c,$3c180 - $3c17c + dr $3c17c, $3c180 Func_3c180: ; 0x3c180 - ld a, [$dd00] - and a - ret z - xor a - ld [$de97], a - ld [$de99], a - ld bc, $dd01 + ld a, [$dd00] + and a + ret z + xor a + ld [$de97], a + ld [$de99], a + ld bc, $dd01 .asm_3c18f - ld hl, $0002 - add hl, bc - bit 0, [hl] - jp z, .asm_3c22d - ld hl, $0014 - add hl, bc - ld a, [hl] - cp $2 - jr c, .asm_3c1a4 - dec [hl] - jr .asm_3c1c1 + ld hl, $0002 + add hl, bc + bit 0, [hl] + jp z, .asm_3c22d + ld hl, $0014 + add hl, bc + ld a, [hl] + cp $2 + jr c, .asm_3c1a4 + dec [hl] + jr .asm_3c1c1 .asm_3c1a4 - ld hl, $001c - add hl, bc - ld a, [hl] - ld hl, $001b - add hl, bc - ld [hl], a - ld hl, $0025 - add hl, bc - ld a, [hl] - ld hl, $0024 - add hl, bc - ld [hl], a - ld hl, $0003 - add hl, bc - res 1, [hl] - call Func_3c670 + ld hl, $001c + add hl, bc + ld a, [hl] + ld hl, $001b + add hl, bc + ld [hl], a + ld hl, $0025 + add hl, bc + ld a, [hl] + ld hl, $0024 + add hl, bc + ld [hl], a + ld hl, $0003 + add hl, bc + res 1, [hl] + call Func_3c670 .asm_3c1c1 - ld hl, $000d - add hl, bc - ld a, [hli] - ld [$de91], a - ld a, [hli] - ld [$de92], a - ld a, [hli] - ld [$de93], a - ld a, [hl] - ld [$de94], a - call Func_3c4f0 - call Func_3c632 - ld a, [$dead] - and a - jr z, .asm_3c20a - ld a, [$de97] - cp $4 - jr nc, .asm_3c219 - ld hl, $ddcb - bit 0, [hl] - jr nz, .asm_3c204 - ld hl, $ddfd - bit 0, [hl] - jr nz, .asm_3c204 - ld hl, $de2f - bit 0, [hl] - jr nz, .asm_3c204 - ld hl, $de61 - bit 0, [hl] - jr z, .asm_3c20a + ld hl, $000d + add hl, bc + ld a, [hli] + ld [$de91], a + ld a, [hli] + ld [$de92], a + ld a, [hli] + ld [$de93], a + ld a, [hl] + ld [$de94], a + call Func_3c4f0 + call Func_3c632 + ld a, [$dead] + and a + jr z, .asm_3c20a + ld a, [$de97] + cp $4 + jr nc, .asm_3c219 + ld hl, $ddcb + bit 0, [hl] + jr nz, .asm_3c204 + ld hl, $ddfd + bit 0, [hl] + jr nz, .asm_3c204 + ld hl, $de2f + bit 0, [hl] + jr nz, .asm_3c204 + ld hl, $de61 + bit 0, [hl] + jr z, .asm_3c20a .asm_3c204 - ld hl, $000b - add hl, bc - set 5, [hl] + ld hl, $000b + add hl, bc + set 5, [hl] .asm_3c20a - ld a, [$de97] - cp $4 - jr nc, .asm_3c219 - ld hl, $00ca - add hl, bc - bit 0, [hl] - jr nz, .asm_3c227 + ld a, [$de97] + cp $4 + jr nc, .asm_3c219 + ld hl, $00ca + add hl, bc + bit 0, [hl] + jr nz, .asm_3c227 .asm_3c219 - call Func_3c24d - ld hl, $0019 - add hl, bc - ld a, [$de99] - or [hl] - ld [$de99], a + call Func_3c24d + ld hl, $0019 + add hl, bc + ld a, [$de99] + or [hl] + ld [$de99], a .asm_3c227 - ld hl, $000b - add hl, bc - xor a - ld [hl], a + ld hl, $000b + add hl, bc + xor a + ld [hl], a .asm_3c22d - ld hl, $0032 - add hl, bc - ld c, l - ld b, h - ld a, [$de97] - inc a - ld [$de97], a - cp $8 - jp nz, .asm_3c18f - call Func_3c40d - ld a, [$de98] - ld [$ff24], a - ld a, [$de99] - ld [$ff25], a - ret + ld hl, $0032 + add hl, bc + ld c, l + ld b, h + ld a, [$de97] + inc a + ld [$de97], a + cp $8 + jp nz, .asm_3c18f + call Func_3c40d + ld a, [$de98] + ld [rNR50], a + ld a, [$de99] + ld [rNR51], a + ret Func_3c24d: ; 0x3c24d - ld hl, PointerTable_3c25e - ld a, [$de97] - and $7 - add a - ld e, a - ld d, $0 - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] + ld hl, PointerTable_3c25e + ld a, [$de97] + and $7 + add a + ld e, a + ld d, $0 + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] PointerTable_3c25e: ; 0x3c25e - dw Func_3c26e - dw Func_3c2e0 - dw Func_3c349 - dw Func_3c3cf - dw Func_3c26e - dw Func_3c2e0 - dw Func_3c349 - dw Func_3c3cf + dw Func_3c26e + dw Func_3c2e0 + dw Func_3c349 + dw Func_3c3cf + dw Func_3c26e + dw Func_3c2e0 + dw Func_3c349 + dw Func_3c3cf Func_3c26e: ; 0x3c26e - ld hl, $000b - add hl, bc - bit 3, [hl] - jr z, .asm_3c27b - ld a, [$de9a] - ld [$ff10], a + ld hl, $000b + add hl, bc + bit 3, [hl] + jr z, .asm_3c27b + ld a, [$de9a] + ld [rNR10], a .asm_3c27b - bit 5, [hl] - jr nz, .asm_3c2ba - bit 4, [hl] - jr nz, .asm_3c2c6 - bit 6, [hl] - jr nz, .asm_3c2b4 - bit 1, [hl] - jr z, .asm_3c295 - ld a, [$de93] - ld [$ff13], a - ld a, [$de94] - ld [$ff14], a + bit 5, [hl] + jr nz, .asm_3c2ba + bit 4, [hl] + jr nz, .asm_3c2c6 + bit 6, [hl] + jr nz, .asm_3c2b4 + bit 1, [hl] + jr z, .asm_3c295 + ld a, [$de93] + ld [rNR13], a + ld a, [$de94] + ld [rNR14], a .asm_3c295 - bit 2, [hl] - jr z, .asm_3c2a5 - ld a, [$de92] - ld [$ff12], a - ld a, [$de94] - or $80 - ld [$ff14], a + bit 2, [hl] + jr z, .asm_3c2a5 + ld a, [$de92] + ld [rNR12], a + ld a, [$de94] + or $80 + ld [rNR14], a .asm_3c2a5 - bit 0, [hl] - ret z - ld a, [$de91] - ld d, a - ld a, [$ff11] - and $3f - or d - ld [$ff11], a - ret + bit 0, [hl] + ret z + ld a, [$de91] + ld d, a + ld a, [rNR11] + and $3f + or d + ld [rNR11], a + ret .asm_3c2b4 - ld a, [$de93] - ld [$ff13], a - ret + ld a, [$de93] + ld [rNR13], a + ret .asm_3c2ba - ld a, $8 - ld [$ff12], a - ld a, [$de94] - or $80 - ld [$ff14], a - ret + ld a, $8 + ld [rNR12], a + ld a, [$de94] + or $80 + ld [rNR14], a + ret .asm_3c2c6 - ld hl, $de91 - ld a, $3f - or [hl] - ld [$ff11], a - ld a, [$de92] - ld [$ff12], a - ld a, [$de93] - ld [$ff13], a - ld a, [$de94] - or $80 - ld [$ff14], a - ret + ld hl, $de91 + ld a, $3f + or [hl] + ld [rNR11], a + ld a, [$de92] + ld [rNR12], a + ld a, [$de93] + ld [rNR13], a + ld a, [$de94] + or $80 + ld [rNR14], a + ret Func_3c2e0: ; 0x3c2e0 - ld hl, $000b - add hl, bc - bit 5, [hl] - jr nz, .asm_3c323 - bit 4, [hl] - jr nz, .asm_3c32f - bit 6, [hl] - jr nz, .asm_3c31d - bit 1, [hl] - jr z, .asm_3c2fe - ld a, [$de93] - ld [$ff18], a - ld a, [$de94] - ld [$ff19], a + ld hl, $000b + add hl, bc + bit 5, [hl] + jr nz, .asm_3c323 + bit 4, [hl] + jr nz, .asm_3c32f + bit 6, [hl] + jr nz, .asm_3c31d + bit 1, [hl] + jr z, .asm_3c2fe + ld a, [$de93] + ld [rNR23], a + ld a, [$de94] + ld [rNR24], a .asm_3c2fe - bit 2, [hl] - jr z, .asm_3c30e - ld a, [$de92] - ld [$ff17], a - ld a, [$de94] - or $80 - ld [$ff19], a + bit 2, [hl] + jr z, .asm_3c30e + ld a, [$de92] + ld [rNR22], a + ld a, [$de94] + or $80 + ld [rNR24], a .asm_3c30e - bit 0, [hl] - ret z - ld a, [$de91] - ld d, a - ld a, [$ff16] - and $3f - or d - ld [$ff16], a - ret + bit 0, [hl] + ret z + ld a, [$de91] + ld d, a + ld a, [rNR21] + and $3f + or d + ld [rNR21], a + ret .asm_3c31d - ld a, [$de93] - ld [$ff18], a - ret + ld a, [$de93] + ld [rNR23], a + ret .asm_3c323 - ld a, $8 - ld [$ff17], a - ld a, [$de94] - or $80 - ld [$ff19], a - ret + ld a, $8 + ld [rNR22], a + ld a, [$de94] + or $80 + ld [rNR24], a + ret .asm_3c32f - ld hl, $de91 - ld a, $3f - or [hl] - ld [$ff16], a - ld a, [$de92] - ld [$ff17], a - ld a, [$de93] - ld [$ff18], a - ld a, [$de94] - or $80 - ld [$ff19], a - ret + ld hl, $de91 + ld a, $3f + or [hl] + ld [rNR21], a + ld a, [$de92] + ld [rNR22], a + ld a, [$de93] + ld [rNR23], a + ld a, [$de94] + or $80 + ld [rNR24], a + ret Func_3c349: ; 0x3c349 - ld hl, $000b - add hl, bc - bit 5, [hl] - jr nz, .asm_3c387 - bit 4, [hl] - jr nz, .asm_3c38b - bit 6, [hl] - jr nz, .asm_3c381 - bit 1, [hl] - jr z, .asm_3c367 - ld a, [$de93] - ld [$ff1d], a - ld a, [$de94] - ld [$ff1e], a + ld hl, $000b + add hl, bc + bit 5, [hl] + jr nz, .asm_3c387 + bit 4, [hl] + jr nz, .asm_3c38b + bit 6, [hl] + jr nz, .asm_3c381 + bit 1, [hl] + jr z, .asm_3c367 + ld a, [$de93] + ld [rNR33], a + ld a, [$de94] + ld [rNR34], a .asm_3c367 - bit 2, [hl] - ret z - xor a - ld [$ff1a], a - call LoadWavePattern - ld a, $80 - ld [$ff1a], a - ld a, [$de93] - ld [$ff1d], a - ld a, [$de94] - or $80 - ld [$ff1e], a - ret + bit 2, [hl] + ret z + xor a + ld [rNR30], a + call LoadWavePattern + ld a, $80 + ld [rNR30], a + ld a, [$de93] + ld [rNR33], a + ld a, [$de94] + or $80 + ld [rNR34], a + ret .asm_3c381 - ld a, [$de93] - ld [$ff1d], a - ret + ld a, [$de93] + ld [rNR33], a + ret .asm_3c387 - xor a - ld [$ff1a], a - ret + xor a + ld [rNR30], a + ret .asm_3c38b - ld a, $3f - ld [$ff1b], a - xor a - ld [$ff1a], a - call LoadWavePattern - ld a, $80 - ld [$ff1a], a - ld a, [$de93] - ld [$ff1d], a - ld a, [$de94] - or $80 - ld [$ff1e], a - ret + ld a, $3f + ld [rNR31], a + xor a + ld [rNR30], a + call LoadWavePattern + ld a, $80 + ld [rNR30], a + ld a, [$de93] + ld [rNR33], a + ld a, [$de94] + or $80 + ld [rNR34], a + ret LoadWavePattern: ; 0x3c3a6 - push hl - ld a, [$de92] - and $f - ld l, a - ld h, $0 - add hl, hl - add hl, hl - add hl, hl - add hl, hl - ld de, WavePatterns_BankF - add hl, de - ld de, $ff30 - push bc - ld b, $10 + push hl + ld a, [$de92] + and $f + ld l, a + ld h, $0 + add hl, hl + add hl, hl + add hl, hl + add hl, hl + ld de, WavePatterns_BankF + add hl, de + ld de, rWave_0 + push bc + ld b, $10 .loop - ld a, [hli] - ld [de], a - inc de - dec b - jr nz, .loop - pop bc - pop hl - ld a, [$de92] - and $f0 - sla a - ld [$ff1c], a ; set volume of wave channel - ret + ld a, [hli] + ld [de], a + inc de + dec b + jr nz, .loop + pop bc + pop hl + ld a, [$de92] + and $f0 + sla a + ld [rNR32], a ; set volume of wave channel + ret Func_3c3cf: ; 0x3c3cf - ld hl, $000b - add hl, bc - bit 5, [hl] - jr nz, .asm_3c3f1 - bit 4, [hl] - jr nz, .asm_3c3fa - bit 1, [hl] - jr z, .asm_3c3e4 - ld a, [$de93] - ld [$ff22], a + ld hl, $000b + add hl, bc + bit 5, [hl] + jr nz, .asm_3c3f1 + bit 4, [hl] + jr nz, .asm_3c3fa + bit 1, [hl] + jr z, .asm_3c3e4 + ld a, [$de93] + ld [rNR43], a .asm_3c3e4 - bit 2, [hl] - ret z - ld a, [$de92] - ld [$ff21], a - ld a, $80 - ld [$ff23], a - ret + bit 2, [hl] + ret z + ld a, [$de92] + ld [rNR42], a + ld a, $80 + ld [rNR44], a + ret .asm_3c3f1 - ld a, $8 - ld [$ff21], a - ld a, $80 - ld [$ff23], a - ret + ld a, $8 + ld [rNR42], a + ld a, $80 + ld [rNR44], a + ret .asm_3c3fa - ld a, $3f - ld [$ff20], a - ld a, [$de92] - ld [$ff21], a - ld a, [$de93] - ld [$ff22], a - ld a, $80 - ld [$ff23], a - ret + ld a, $3f + ld [rNR41], a + ld a, [$de92] + ld [rNR42], a + ld a, [$de93] + ld [rNR43], a + ld a, $80 + ld [rNR44], a + ret Func_3c40d: ; 0x3c40d - ld a, [$dea2] - and a - ret z - ld a, [$dea3] - and a - jr z, .asm_3c41d - dec a - ld [$dea3], a - ret + ld a, [$dea2] + and a + ret z + ld a, [$dea3] + and a + jr z, .asm_3c41d + dec a + ld [$dea3], a + ret .asm_3c41d - ld a, [$dea2] - ld d, a - and $7f - ld [$dea3], a - ld a, [$de98] - and $7 - bit 7, d - jr nz, .asm_3c448 - and a - jr z, .asm_3c435 - dec a - jr .asm_3c454 + ld a, [$dea2] + ld d, a + and $7f + ld [$dea3], a + ld a, [$de98] + and $7 + bit 7, d + jr nz, .asm_3c448 + and a + jr z, .asm_3c435 + dec a + jr .asm_3c454 .asm_3c435 - ld a, [$dea4] - ld e, a - ld a, [$dea5] - ld d, a - push bc - call PlaySong_BankF - pop bc - ld hl, $dea2 - set 7, [hl] - ret + ld a, [$dea4] + ld e, a + ld a, [$dea5] + ld d, a + push bc + call PlaySong_BankF + pop bc + ld hl, $dea2 + set 7, [hl] + ret .asm_3c448 - cp $7 - jr nc, .asm_3c44f - inc a - jr .asm_3c454 + cp $7 + jr nc, .asm_3c44f + inc a + jr .asm_3c454 .asm_3c44f - xor a - ld [$dea2], a - ret + xor a + ld [$dea2], a + ret .asm_3c454 - ld d, a - swap a - or d - ld [$de98], a - ret + ld d, a + swap a + or d + ld [$de98], a + ret Func_3c45c: ; 0x3c45c - ld hl, $0003 - add hl, bc - bit 1, [hl] - ret z - ld hl, $0014 - add hl, bc - ld a, [hl] - ld hl, $de95 - sub [hl] - jr nc, .asm_3c470 - ld a, $1 + ld hl, $0003 + add hl, bc + bit 1, [hl] + ret z + ld hl, $0014 + add hl, bc + ld a, [hl] + ld hl, $de95 + sub [hl] + jr nc, .asm_3c470 + ld a, $1 .asm_3c470 - ld [hl], a - ld hl, $000f - add hl, bc - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $001f - add hl, bc - ld a, e - sub [hl] - ld e, a - ld a, d - sbc $0 - ld d, a - ld hl, $0020 - add hl, bc - sub [hl] - jr nc, .asm_3c4ab - ld hl, $0004 - add hl, bc - set 1, [hl] - ld hl, $000f - add hl, bc - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $001f - add hl, bc - ld a, [hl] - sub e - ld e, a - ld a, d - sbc $0 - ld d, a - ld hl, $0020 - add hl, bc - ld a, [hl] - sub d - ld d, a - jr .asm_3c4c9 + ld [hl], a + ld hl, $000f + add hl, bc + ld e, [hl] + inc hl + ld d, [hl] + ld hl, $001f + add hl, bc + ld a, e + sub [hl] + ld e, a + ld a, d + sbc $0 + ld d, a + ld hl, $0020 + add hl, bc + sub [hl] + jr nc, .asm_3c4ab + ld hl, $0004 + add hl, bc + set 1, [hl] + ld hl, $000f + add hl, bc + ld e, [hl] + inc hl + ld d, [hl] + ld hl, $001f + add hl, bc + ld a, [hl] + sub e + ld e, a + ld a, d + sbc $0 + ld d, a + ld hl, $0020 + add hl, bc + ld a, [hl] + sub d + ld d, a + jr .asm_3c4c9 .asm_3c4ab - ld hl, $0004 - add hl, bc - res 1, [hl] - ld hl, $000f - add hl, bc - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $001f - add hl, bc - ld a, e - sub [hl] - ld e, a - ld a, d - sbc $0 - ld d, a - ld hl, $0020 - add hl, bc - sub [hl] - ld d, a + ld hl, $0004 + add hl, bc + res 1, [hl] + ld hl, $000f + add hl, bc + ld e, [hl] + inc hl + ld d, [hl] + ld hl, $001f + add hl, bc + ld a, e + sub [hl] + ld e, a + ld a, d + sbc $0 + ld d, a + ld hl, $0020 + add hl, bc + sub [hl] + ld d, a .asm_3c4c9 - push bc - ld hl, $de95 - ld b, $0 + push bc + ld hl, $de95 + ld b, $0 .asm_3c4cf - inc b - ld a, e - sub [hl] - ld e, a - jr nc, .asm_3c4cf - ld a, d - and a - jr z, .asm_3c4dc - dec d - jr .asm_3c4cf + inc b + ld a, e + sub [hl] + ld e, a + jr nc, .asm_3c4cf + ld a, d + and a + jr z, .asm_3c4dc + dec d + jr .asm_3c4cf .asm_3c4dc - ld a, e - add [hl] - ld d, b - pop bc - ld hl, $0021 - add hl, bc - ld [hl], d - ld hl, $0022 - add hl, bc - ld [hl], a - ld hl, $0023 - add hl, bc - xor a - ld [hl], a - - ; fall through + ld a, e + add [hl] + ld d, b + pop bc + ld hl, $0021 + add hl, bc + ld [hl], d + ld hl, $0022 + add hl, bc + ld [hl], a + ld hl, $0023 + add hl, bc + xor a + ld [hl], a + + ; fall through Func_3c4f0: ; 0x3c4f0 - ld hl, $0003 - add hl, bc - bit 2, [hl] - jr z, .asm_3c50b - ld hl, $001a - add hl, bc - ld a, [hl] - rlca - rlca - ld [hl], a - and $c0 - ld [$de91], a - ld hl, $000b - add hl, bc - set 0, [hl] + ld hl, $0003 + add hl, bc + bit 2, [hl] + jr z, .asm_3c50b + ld hl, $001a + add hl, bc + ld a, [hl] + rlca + rlca + ld [hl], a + and $c0 + ld [$de91], a + ld hl, $000b + add hl, bc + set 0, [hl] .asm_3c50b - ld hl, $0003 - add hl, bc - bit 4, [hl] - jr z, .asm_3c529 - ld hl, $0026 - add hl, bc - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $de93 - ld a, [hli] - ld h, [hl] - ld l, a - add hl, de - ld e, l - ld d, h - ld hl, $de93 - ld [hl], e - inc hl - ld [hl], d + ld hl, $0003 + add hl, bc + bit 4, [hl] + jr z, .asm_3c529 + ld hl, $0026 + add hl, bc + ld e, [hl] + inc hl + ld d, [hl] + ld hl, $de93 + ld a, [hli] + ld h, [hl] + ld l, a + add hl, de + ld e, l + ld d, h + ld hl, $de93 + ld [hl], e + inc hl + ld [hl], d .asm_3c529 - ld hl, $0003 - add hl, bc - bit 1, [hl] - jp z, .asm_3c5c1 - ld hl, $000f - add hl, bc - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $0004 - add hl, bc - bit 1, [hl] - jr z, .asm_3c574 - ld hl, $0021 - add hl, bc - ld l, [hl] - ld h, $0 - add hl, de - ld d, h - ld e, l - ld hl, $0022 - add hl, bc - ld a, [hl] - ld hl, $0023 - add hl, bc - add [hl] - ld [hl], a - ld a, $0 - adc e - ld e, a - ld a, $0 - adc d - ld d, a - ld hl, $0020 - add hl, bc - ld a, [hl] - cp d - jp c, .asm_3c5a1 - jr nz, .asm_3c5b4 - ld hl, $001f - add hl, bc - ld a, [hl] - cp e - jp c, .asm_3c5a1 - jr .asm_3c5b4 + ld hl, $0003 + add hl, bc + bit 1, [hl] + jp z, .asm_3c5c1 + ld hl, $000f + add hl, bc + ld e, [hl] + inc hl + ld d, [hl] + ld hl, $0004 + add hl, bc + bit 1, [hl] + jr z, .asm_3c574 + ld hl, $0021 + add hl, bc + ld l, [hl] + ld h, $0 + add hl, de + ld d, h + ld e, l + ld hl, $0022 + add hl, bc + ld a, [hl] + ld hl, $0023 + add hl, bc + add [hl] + ld [hl], a + ld a, $0 + adc e + ld e, a + ld a, $0 + adc d + ld d, a + ld hl, $0020 + add hl, bc + ld a, [hl] + cp d + jp c, .asm_3c5a1 + jr nz, .asm_3c5b4 + ld hl, $001f + add hl, bc + ld a, [hl] + cp e + jp c, .asm_3c5a1 + jr .asm_3c5b4 .asm_3c574 - ld a, e - ld hl, $0021 - add hl, bc - ld e, [hl] - sub e - ld e, a - ld a, d - sbc $0 - ld d, a - ld hl, $0022 - add hl, bc - ld a, [hl] - add a - ld [hl], a - ld a, e - sbc $0 - ld e, a - ld a, d - sbc $0 - ld d, a - ld hl, $0020 - add hl, bc - ld a, d - cp [hl] - jr c, .asm_3c5a1 - jr nz, .asm_3c5b4 - ld hl, $001f - add hl, bc - ld a, e - cp [hl] - jr nc, .asm_3c5b4 + ld a, e + ld hl, $0021 + add hl, bc + ld e, [hl] + sub e + ld e, a + ld a, d + sbc $0 + ld d, a + ld hl, $0022 + add hl, bc + ld a, [hl] + add a + ld [hl], a + ld a, e + sbc $0 + ld e, a + ld a, d + sbc $0 + ld d, a + ld hl, $0020 + add hl, bc + ld a, d + cp [hl] + jr c, .asm_3c5a1 + jr nz, .asm_3c5b4 + ld hl, $001f + add hl, bc + ld a, e + cp [hl] + jr nc, .asm_3c5b4 .asm_3c5a1 - ld hl, $0003 - add hl, bc - res 1, [hl] - ld hl, $0004 - add hl, bc - res 1, [hl] - ld hl, $0020 - add hl, bc - ld e, [hl] - inc hl - ld d, [hl] + ld hl, $0003 + add hl, bc + res 1, [hl] + ld hl, $0004 + add hl, bc + res 1, [hl] + ld hl, $0020 + add hl, bc + ld e, [hl] + inc hl + ld d, [hl] .asm_3c5b4 - ld hl, $000f - add hl, bc - ld [hl], e - inc hl - ld [hl], d - ld hl, $000b - add hl, bc - set 1, [hl] + ld hl, $000f + add hl, bc + ld [hl], e + inc hl + ld [hl], d + ld hl, $000b + add hl, bc + set 1, [hl] .asm_3c5c1 - ld hl, $0003 - add hl, bc - bit 0, [hl] - jr z, .asm_3c61a - ld hl, $001b - add hl, bc - ld a, [hl] - and a - jr nz, .asm_3c5e3 - ld hl, $001d - add hl, bc - ld a, [hl] - and a - jr z, .asm_3c61a - ld d, a - ld hl, $001e - add hl, bc - ld a, [hl] - and $f - jr z, .asm_3c5e6 + ld hl, $0003 + add hl, bc + bit 0, [hl] + jr z, .asm_3c61a + ld hl, $001b + add hl, bc + ld a, [hl] + and a + jr nz, .asm_3c5e3 + ld hl, $001d + add hl, bc + ld a, [hl] + and a + jr z, .asm_3c61a + ld d, a + ld hl, $001e + add hl, bc + ld a, [hl] + and $f + jr z, .asm_3c5e6 .asm_3c5e3 - dec [hl] - jr .asm_3c61a + dec [hl] + jr .asm_3c61a .asm_3c5e6 - ld a, [hl] - swap [hl] - or [hl] - ld [hl], a - ld a, [$de93] - ld e, a - ld hl, $0004 - add hl, bc - bit 0, [hl] - jr z, .asm_3c605 - res 0, [hl] - ld a, d - and $f - ld d, a - ld a, e - sub d - jr nc, .asm_3c611 - ld a, $0 - jr .asm_3c611 + ld a, [hl] + swap [hl] + or [hl] + ld [hl], a + ld a, [$de93] + ld e, a + ld hl, $0004 + add hl, bc + bit 0, [hl] + jr z, .asm_3c605 + res 0, [hl] + ld a, d + and $f + ld d, a + ld a, e + sub d + jr nc, .asm_3c611 + ld a, $0 + jr .asm_3c611 .asm_3c605 - set 0, [hl] - ld a, d - and $f0 - swap a - add e - jr nc, .asm_3c611 - ld a, $ff + set 0, [hl] + ld a, d + and $f0 + swap a + add e + jr nc, .asm_3c611 + ld a, $ff .asm_3c611 - ld [$de93], a - ld hl, $000b - add hl, bc - set 6, [hl] + ld [$de93], a + ld hl, $000b + add hl, bc + set 6, [hl] .asm_3c61a - ld hl, $0003 - add hl, bc - bit 3, [hl] - ret z - ld hl, $0024 - add hl, bc - ld a, [hl] - and a - jr z, .asm_3c62b - dec [hl] - ret + ld hl, $0003 + add hl, bc + bit 3, [hl] + ret z + ld hl, $0024 + add hl, bc + ld a, [hl] + and a + jr z, .asm_3c62b + dec [hl] + ret .asm_3c62b - ld hl, $000b - add hl, bc - set 5, [hl] - ret + ld hl, $000b + add hl, bc + set 5, [hl] + ret Func_3c632: ; 0x3c632 - ld hl, $0002 - add hl, bc - bit 4, [hl] - ret z - ld a, [$de9f] - and a - jr z, .asm_3c644 - dec a - ld [$de9f], a - ret + ld hl, $0002 + add hl, bc + bit 4, [hl] + ret z + ld a, [$de9f] + and a + jr z, .asm_3c644 + dec a + ld [$de9f], a + ret .asm_3c644 - ld hl, $de9d - ld e, [hl] - inc hl - ld d, [hl] - ld a, [de] - inc de - cp $ff - ret z - and $f - inc a - ld [$de9f], a - ld a, [de] - inc de - ld [$de92], a - ld a, [de] - inc de - ld [$de93], a - xor a - ld [$de94], a - ld hl, $de9d - ld [hl], e - inc hl - ld [hl], d - ld hl, $000b - add hl, bc - set 4, [hl] - ret + ld hl, $de9d + ld e, [hl] + inc hl + ld d, [hl] + ld a, [de] + inc de + cp $ff + ret z + and $f + inc a + ld [$de9f], a + ld a, [de] + inc de + ld [$de92], a + ld a, [de] + inc de + ld [$de93], a + xor a + ld [$de94], a + ld hl, $de9d + ld [hl], e + inc hl + ld [hl], d + ld hl, $000b + add hl, bc + set 4, [hl] + ret Func_3c670: ; 0x3c670 - call Func_3ca10 - cp $ff - jr z, .asm_3c6c9 - cp $d0 - jr c, .asm_3c680 + call Func_3ca10 + cp $ff + jr z, .asm_3c6c9 + cp $d0 + jr c, .asm_3c680 .asm_3c67b - call Func_3c786 - jr Func_3c670 + call Func_3c786 + jr Func_3c670 .asm_3c680 - ld hl, $0002 - add hl, bc - bit 3, [hl] - jp nz, Func_3c723 - bit 5, [hl] - jp nz, Func_3c723 - bit 4, [hl] - jp nz, Func_3c750 - ld a, [$de96] - and $f - call Func_3ca5b - ld a, [$de96] - swap a - and $f - jr z, .asm_3c6c2 - ld hl, $0011 - add hl, bc - ld [hl], a - ld e, a - ld hl, $0012 - add hl, bc - ld d, [hl] - call Func_3ca2b - ld hl, $000f - add hl, bc - ld [hl], e - inc hl - ld [hl], d - ld hl, $000b - add hl, bc - set 4, [hl] - jp Func_3c45c + ld hl, $0002 + add hl, bc + bit 3, [hl] + jp nz, Func_3c723 + bit 5, [hl] + jp nz, Func_3c723 + bit 4, [hl] + jp nz, Func_3c750 + ld a, [$de96] + and $f + call Func_3ca5b + ld a, [$de96] + swap a + and $f + jr z, .asm_3c6c2 + ld hl, $0011 + add hl, bc + ld [hl], a + ld e, a + ld hl, $0012 + add hl, bc + ld d, [hl] + call Func_3ca2b + ld hl, $000f + add hl, bc + ld [hl], e + inc hl + ld [hl], d + ld hl, $000b + add hl, bc + set 4, [hl] + jp Func_3c45c .asm_3c6c2 - ld hl, $000b - add hl, bc - set 5, [hl] - ret + ld hl, $000b + add hl, bc + set 5, [hl] + ret .asm_3c6c9 - ld hl, $0002 - add hl, bc - bit 1, [hl] - jr nz, .asm_3c67b - ld a, [$de97] - cp $4 - jr nc, .asm_3c6e0 - ld hl, $00ca - add hl, bc - bit 0, [hl] - jr nz, .asm_3c6f6 + ld hl, $0002 + add hl, bc + bit 1, [hl] + jr nz, .asm_3c67b + ld a, [$de97] + cp $4 + jr nc, .asm_3c6e0 + ld hl, $00ca + add hl, bc + bit 0, [hl] + jr nz, .asm_3c6f6 .asm_3c6e0 - ld hl, $0002 - add hl, bc - bit 5, [hl] - call nz, Func_3c704 - ld a, [$de97] - cp $4 - jr nz, .asm_3c6f6 - xor a - ld [$ff10], a - ld [$de9a], a + ld hl, $0002 + add hl, bc + bit 5, [hl] + call nz, Func_3c704 + ld a, [$de97] + cp $4 + jr nz, .asm_3c6f6 + xor a + ld [rNR10], a + ld [$de9a], a .asm_3c6f6 - ld hl, $0002 - add hl, bc - res 0, [hl] - ld hl, $0000 - add hl, bc - xor a - ld [hli], a - ld [hli], a - ret + ld hl, $0002 + add hl, bc + res 0, [hl] + ld hl, $0000 + add hl, bc + xor a + ld [hli], a + ld [hli], a + ret Func_3c704: ; 0x3c704 - ld a, [$de97] - cp $4 - ret nz - xor a - ld hl, $de21 - ld [hli], a - ld [hl], a - ld hl, $de85 - ld [hli], a - ld [hl], a - ld a, [$deac] - ld [$de98], a - xor a - ld [$deac], a - ld [$dead], a - ret + ld a, [$de97] + cp $4 + ret nz + xor a + ld hl, $de21 + ld [hli], a + ld [hl], a + ld hl, $de85 + ld [hli], a + ld [hl], a + ld a, [$deac] + ld [$de98], a + xor a + ld [$deac], a + ld [$dead], a + ret Func_3c723: ; 0x3c723 - ld hl, $000b - add hl, bc - set 4, [hl] - ld a, [$de96] - call Func_3ca5b - call Func_3ca10 - ld hl, $000e - add hl, bc - ld [hl], a - call Func_3ca10 - ld hl, $000f - add hl, bc - ld [hl], a - ld a, [$de97] - and $3 - cp $3 - ret z - call Func_3ca10 - ld hl, $0010 - add hl, bc - ld [hl], a - ret + ld hl, $000b + add hl, bc + set 4, [hl] + ld a, [$de96] + call Func_3ca5b + call Func_3ca10 + ld hl, $000e + add hl, bc + ld [hl], a + call Func_3ca10 + ld hl, $000f + add hl, bc + ld [hl], a + ld a, [$de97] + and $3 + cp $3 + ret z + call Func_3ca10 + ld hl, $0010 + add hl, bc + ld [hl], a + ret Func_3c750: ; 0x3c750 - ld a, [$de97] - cp $3 - ret nz - ld a, [$de96] - and $f - call Func_3ca5b - ld a, [$dea1] - ld e, a - ld d, $0 - ld hl, $4ba2 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [$de96] - swap a - and $f - ret z - ld e, a - ld d, $0 - add hl, de - add hl, de - ld a, [hli] - ld [$de9d], a - ld a, [hl] - ld [$de9e], a - xor a - ld [$de9f], a - ret + ld a, [$de97] + cp $3 + ret nz + ld a, [$de96] + and $f + call Func_3ca5b + ld a, [$dea1] + ld e, a + ld d, $0 + ld hl, $4ba2 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [$de96] + swap a + and $f + ret z + ld e, a + ld d, $0 + add hl, de + add hl, de + ld a, [hli] + ld [$de9d], a + ld a, [hl] + ld [$de9e], a + xor a + ld [$de9f], a + ret Func_3c786: ; 0x3c786 - ld a, [$de96] - sub $d0 - ld e, a - ld d, $0 - ld hl, PointerTable_3c797 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] + ld a, [$de96] + sub $d0 + ld e, a + ld d, $0 + ld hl, PointerTable_3c797 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] PointerTable_3c797: ; 0x3c797 - dw Func_3c9b6 - dw Func_3c9b6 - dw Func_3c9b6 - dw Func_3c9b6 - dw Func_3c9b6 - dw Func_3c9b6 - dw Func_3c9b6 - dw Func_3c9b6 - dw Func_3c973 - dw Func_3c9c1 - dw Func_3c9aa - dw Func_3c994 - dw Func_3c9a1 - dw Func_3c987 - dw Func_3c939 - dw Func_3c951 - dw Func_3c8ff - dw Func_3c8c4 - dw Func_3c8b5 - dw Func_3c95f - dw Func_3c9ca - dw Func_3c9da - dw Func_3c926 - dw Func_3c7f7 - dw Func_3c7f7 - dw Func_3c9e9 - dw Func_3c7f7 - dw Func_3c7f7 - dw Func_3ca05 - dw Func_3ca0b - dw Func_3c7f7 - dw Func_3c7f7 - dw Func_3c7f7 - dw Func_3c7f7 - dw Func_3c7f7 - dw Func_3c7f7 - dw Func_3c7f7 - dw Func_3c7f7 - dw Func_3c7f7 - dw Func_3c7f7 - dw Func_3c7f7 - dw Func_3c7f7 - dw Func_3c885 - dw Func_3c88e - dw Func_3c833 - dw Func_3c843 - dw Func_3c80d - dw Func_3c7f8 + dw Func_3c9b6 + dw Func_3c9b6 + dw Func_3c9b6 + dw Func_3c9b6 + dw Func_3c9b6 + dw Func_3c9b6 + dw Func_3c9b6 + dw Func_3c9b6 + dw Func_3c973 + dw Func_3c9c1 + dw Func_3c9aa + dw Func_3c994 + dw Func_3c9a1 + dw Func_3c987 + dw Func_3c939 + dw Func_3c951 + dw Func_3c8ff + dw Func_3c8c4 + dw Func_3c8b5 + dw Func_3c95f + dw Func_3c9ca + dw Func_3c9da + dw Func_3c926 + dw Func_3c7f7 + dw Func_3c7f7 + dw Func_3c9e9 + dw Func_3c7f7 + dw Func_3c7f7 + dw Func_3ca05 + dw Func_3ca0b + dw Func_3c7f7 + dw Func_3c7f7 + dw Func_3c7f7 + dw Func_3c7f7 + dw Func_3c7f7 + dw Func_3c7f7 + dw Func_3c7f7 + dw Func_3c7f7 + dw Func_3c7f7 + dw Func_3c7f7 + dw Func_3c7f7 + dw Func_3c7f7 + dw Func_3c885 + dw Func_3c88e + dw Func_3c833 + dw Func_3c843 + dw Func_3c80d + dw Func_3c7f8 Func_3c7f7: ; 0x3c7f7 - ret + ret Func_3c7f8: ; 0x3c7f8 - ld hl, $0002 - add hl, bc - res 1, [hl] - ld hl, $0007 - add hl, bc - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $0005 - add hl, bc - ld [hl], e - inc hl - ld [hl], d - ret + ld hl, $0002 + add hl, bc + res 1, [hl] + ld hl, $0007 + add hl, bc + ld e, [hl] + inc hl + ld d, [hl] + ld hl, $0005 + add hl, bc + ld [hl], e + inc hl + ld [hl], d + ret Func_3c80d: ; 0x3c80d - call Func_3ca10 - ld e, a - call Func_3ca10 - ld d, a - push de - ld hl, $0005 - add hl, bc - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $0007 - add hl, bc - ld [hl], e - inc hl - ld [hl], d - pop de - ld hl, $0005 - add hl, bc - ld [hl], e - inc hl - ld [hl], d - ld hl, $0002 - add hl, bc - set 1, [hl] - ret + call Func_3ca10 + ld e, a + call Func_3ca10 + ld d, a + push de + ld hl, $0005 + add hl, bc + ld e, [hl] + inc hl + ld d, [hl] + ld hl, $0007 + add hl, bc + ld [hl], e + inc hl + ld [hl], d + pop de + ld hl, $0005 + add hl, bc + ld [hl], e + inc hl + ld [hl], d + ld hl, $0002 + add hl, bc + set 1, [hl] + ret Func_3c833: ; 0x3c833 - call Func_3ca10 - ld e, a - call Func_3ca10 - ld d, a - ld hl, $0005 - add hl, bc - ld [hl], e - inc hl - ld [hl], d - ret + call Func_3ca10 + ld e, a + call Func_3ca10 + ld d, a + ld hl, $0005 + add hl, bc + ld [hl], e + inc hl + ld [hl], d + ret Func_3c843: ; 0x3c843 - call Func_3ca10 - ld hl, $0002 - add hl, bc - bit 2, [hl] - jr nz, .asm_3c859 - and a - jr z, .asm_3c862 - dec a - set 2, [hl] - ld hl, $0016 - add hl, bc - ld [hl], a + call Func_3ca10 + ld hl, $0002 + add hl, bc + bit 2, [hl] + jr nz, .asm_3c859 + and a + jr z, .asm_3c862 + dec a + set 2, [hl] + ld hl, $0016 + add hl, bc + ld [hl], a .asm_3c859 - ld hl, $0016 - add hl, bc - ld a, [hl] - and a - jr z, .asm_3c872 - dec [hl] + ld hl, $0016 + add hl, bc + ld a, [hl] + and a + jr z, .asm_3c872 + dec [hl] .asm_3c862 - call Func_3ca10 - ld e, a - call Func_3ca10 - ld d, a - ld hl, $0005 - add hl, bc - ld [hl], e - inc hl - ld [hl], d - ret + call Func_3ca10 + ld e, a + call Func_3ca10 + ld d, a + ld hl, $0005 + add hl, bc + ld [hl], e + inc hl + ld [hl], d + ret .asm_3c872 - ld hl, $0002 - add hl, bc - res 2, [hl] - ld hl, $0005 - add hl, bc - ld e, [hl] - inc hl - ld d, [hl] - inc de - inc de - ld [hl], d - dec hl - ld [hl], e - ret + ld hl, $0002 + add hl, bc + res 2, [hl] + ld hl, $0005 + add hl, bc + ld e, [hl] + inc hl + ld d, [hl] + inc de + inc de + ld [hl], d + dec hl + ld [hl], e + ret Func_3c885: ; 0x3c885 - call Func_3ca10 - ld hl, $000c - add hl, bc - ld [hl], a - ret + call Func_3ca10 + ld hl, $000c + add hl, bc + ld [hl], a + ret Func_3c88e: ; 0x3c88e - call Func_3ca10 - ld hl, $000c - add hl, bc - cp [hl] - jr z, .asm_3c8a5 - ld hl, $0005 - add hl, bc - ld e, [hl] - inc hl - ld d, [hl] - inc de - inc de - ld [hl], d - dec hl - ld [hl], e - ret + call Func_3ca10 + ld hl, $000c + add hl, bc + cp [hl] + jr z, .asm_3c8a5 + ld hl, $0005 + add hl, bc + ld e, [hl] + inc hl + ld d, [hl] + inc de + inc de + ld [hl], d + dec hl + ld [hl], e + ret .asm_3c8a5 - call Func_3ca10 - ld e, a - call Func_3ca10 - ld d, a - ld hl, $0005 - add hl, bc - ld [hl], e - inc hl - ld [hl], d - ret + call Func_3ca10 + ld e, a + call Func_3ca10 + ld d, a + ld hl, $0005 + add hl, bc + ld [hl], e + inc hl + ld [hl], d + ret Func_3c8b5: ; 0x3c8b5 - call Func_3ca10 - ld hl, $0025 - add hl, bc - ld [hl], a - ld hl, $0003 - add hl, bc - set 3, [hl] - ret + call Func_3ca10 + ld hl, $0025 + add hl, bc + ld [hl], a + ld hl, $0003 + add hl, bc + set 3, [hl] + ret Func_3c8c4: ; 0x3c8c4 - ld hl, $0003 - add hl, bc - set 0, [hl] - ld hl, $0004 - add hl, bc - res 0, [hl] - call Func_3ca10 - ld hl, $001c - add hl, bc - ld [hl], a - ld hl, $001b - add hl, bc - ld [hl], a - call Func_3ca10 - ld hl, $001d - add hl, bc - ld d, a - and $f0 - swap a - srl a - ld e, a - adc $0 - swap a - or e - ld [hl], a - ld hl, $001e - add hl, bc - ld a, d - and $f - ld d, a - swap a - or d - ld [hl], a - ret + ld hl, $0003 + add hl, bc + set 0, [hl] + ld hl, $0004 + add hl, bc + res 0, [hl] + call Func_3ca10 + ld hl, $001c + add hl, bc + ld [hl], a + ld hl, $001b + add hl, bc + ld [hl], a + call Func_3ca10 + ld hl, $001d + add hl, bc + ld d, a + and $f0 + swap a + srl a + ld e, a + adc $0 + swap a + or e + ld [hl], a + ld hl, $001e + add hl, bc + ld a, d + and $f + ld d, a + swap a + or d + ld [hl], a + ret Func_3c8ff: ; 0x3c8ff - call Func_3ca10 - ld [$de95], a - call Func_3ca10 - ld d, a - and $f - ld e, a - ld a, d - swap a - and $f - ld d, a - call Func_3ca2b - ld hl, $001f - add hl, bc - ld [hl], e - ld hl, $0020 - add hl, bc - ld [hl], d - ld hl, $0003 - add hl, bc - set 1, [hl] - ret + call Func_3ca10 + ld [$de95], a + call Func_3ca10 + ld d, a + and $f + ld e, a + ld a, d + swap a + and $f + ld d, a + call Func_3ca2b + ld hl, $001f + add hl, bc + ld [hl], e + ld hl, $0020 + add hl, bc + ld [hl], d + ld hl, $0003 + add hl, bc + set 1, [hl] + ret Func_3c926: ; 0x3c926 - ld hl, $0003 - add hl, bc - set 4, [hl] - ld hl, $0027 - add hl, bc - call Func_3ca10 - ld [hld], a - call Func_3ca10 - ld [hl], a - ret + ld hl, $0003 + add hl, bc + set 4, [hl] + ld hl, $0027 + add hl, bc + call Func_3ca10 + ld [hld], a + call Func_3ca10 + ld [hl], a + ret Func_3c939: ; 0x3c939 - ld hl, $0003 - add hl, bc - set 2, [hl] - call Func_3ca10 - rrca - rrca - ld hl, $001a - add hl, bc - ld [hl], a - and $c0 - ld hl, $000d - add hl, bc - ld [hl], a - ret + ld hl, $0003 + add hl, bc + set 2, [hl] + call Func_3ca10 + rrca + rrca + ld hl, $001a + add hl, bc + ld [hl], a + and $c0 + ld hl, $000d + add hl, bc + ld [hl], a + ret Func_3c951: ; 0x3c951 - ld hl, $0002 - add hl, bc - bit 3, [hl] - jr z, .asm_3c95c - res 3, [hl] - ret + ld hl, $0002 + add hl, bc + bit 3, [hl] + jr z, .asm_3c95c + res 3, [hl] + ret .asm_3c95c - set 3, [hl] - ret + set 3, [hl] + ret Func_3c95f: ; 0x3c95f - ld hl, $0002 - add hl, bc - bit 4, [hl] - jr z, .asm_3c96a - res 4, [hl] - ret + ld hl, $0002 + add hl, bc + bit 4, [hl] + jr z, .asm_3c96a + res 4, [hl] + ret .asm_3c96a - set 4, [hl] - call Func_3ca10 - ld [$dea1], a - ret + set 4, [hl] + call Func_3ca10 + ld [$dea1], a + ret Func_3c973: ; 0x3c973 - call Func_3ca10 - ld hl, $0028 - add hl, bc - ld [hl], a - ld a, [$de97] - and $3 - cp $3 - ret z - call Func_3c9a1 - ret + call Func_3ca10 + ld hl, $0028 + add hl, bc + ld [hl], a + ld a, [$de97] + and $3 + cp $3 + ret z + call Func_3c9a1 + ret Func_3c987: ; 0x3c987 - call Func_3ca10 - ld [$de9a], a - ld hl, $000b - add hl, bc - set 3, [hl] - ret + call Func_3ca10 + ld [$de9a], a + ld hl, $000b + add hl, bc + set 3, [hl] + ret Func_3c994: ; 0x3c994 - call Func_3ca10 - rrca - rrca - and $c0 - ld hl, $000d - add hl, bc - ld [hl], a - ret + call Func_3ca10 + rrca + rrca + and $c0 + ld hl, $000d + add hl, bc + ld [hl], a + ret Func_3c9a1: ; 0x3c9a1 - call Func_3ca10 - ld hl, $000e - add hl, bc - ld [hl], a - ret + call Func_3ca10 + ld hl, $000e + add hl, bc + ld [hl], a + ret Func_3c9aa: ; 0x3c9aa - call Func_3ca10 - ld d, a - call Func_3ca10 - ld e, a - call Func_3ca95 - ret + call Func_3ca10 + ld d, a + call Func_3ca10 + ld e, a + call Func_3ca95 + ret Func_3c9b6: ; 0x3c9b6 - ld hl, $0012 - add hl, bc - ld a, [$de96] - and $7 - ld [hl], a - ret + ld hl, $0012 + add hl, bc + ld a, [$de96] + and $7 + ld [hl], a + ret Func_3c9c1: ; 0x3c9c1 - call Func_3ca10 - ld hl, $0013 - add hl, bc - ld [hl], a - ret + call Func_3ca10 + ld hl, $0013 + add hl, bc + ld [hl], a + ret Func_3c9ca: ; 0x3c9ca - ld a, [$de97] - call Func_3caf4 - call Func_3ca10 - ld hl, $0019 - add hl, bc - and [hl] - ld [hl], a - ret + ld a, [$de97] + call Func_3caf4 + call Func_3ca10 + ld hl, $0019 + add hl, bc + and [hl] + ld [hl], a + ret Func_3c9da: ; 0x3c9da - call Func_3ca10 - ld a, [$dea2] - and a - ret nz - ld a, [$de96] - ld [$de98], a - ret + call Func_3ca10 + ld a, [$dea2] + and a + ret nz + ld a, [$de96] + ld [$de98], a + ret Func_3c9e9: ; 0x3c9e9 - call Func_3ca10 - ld e, a - cp $80 - jr nc, .asm_3c9f5 - ld d, $0 - jr .asm_3c9f7 + call Func_3ca10 + ld e, a + cp $80 + jr nc, .asm_3c9f5 + ld d, $0 + jr .asm_3c9f7 .asm_3c9f5 - ld d, $ff + ld d, $ff .asm_3c9f7 - ld hl, $0017 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - add hl, de - ld e, l - ld d, h - call Func_3ca95 - ret + ld hl, $0017 + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + add hl, de + ld e, l + ld d, h + call Func_3ca95 + ret Func_3ca05: ; 0x3ca05 - ld a, $1 - ld [$dead], a - ret + ld a, $1 + ld [$dead], a + ret Func_3ca0b: ; 0x3ca0b - xor a - ld [$dead], a - ret + xor a + ld [$dead], a + ret Func_3ca10: ; 0x3ca10 - push hl - push de - ld hl, $0005 - add hl, bc - ld e, [hl] - inc hl - ld d, [hl] - ld a, [de] - ld [$de96], a - inc de - ld hl, $0005 - add hl, bc - ld [hl], e - inc hl - ld [hl], d - pop de - pop hl - ld a, [$de96] - ret + push hl + push de + ld hl, $0005 + add hl, bc + ld e, [hl] + inc hl + ld d, [hl] + ld a, [de] + ld [$de96], a + inc de + ld hl, $0005 + add hl, bc + ld [hl], e + inc hl + ld [hl], d + pop de + pop hl + ld a, [$de96] + ret Func_3ca2b: ; 0x3ca2b - ld hl, $0013 - add hl, bc - ld a, [hl] - swap a - and $f - add d - push af - ld hl, $0013 - add hl, bc - ld a, [hl] - and $f - ld l, a - ld d, $0 - ld h, d - add hl, de - add hl, hl - ld de, $4b20 ; todo - add hl, de - ld e, [hl] - inc hl - ld d, [hl] - pop af + ld hl, $0013 + add hl, bc + ld a, [hl] + swap a + and $f + add d + push af + ld hl, $0013 + add hl, bc + ld a, [hl] + and $f + ld l, a + ld d, $0 + ld h, d + add hl, de + add hl, hl + ld de, $4b20 ; todo + add hl, de + ld e, [hl] + inc hl + ld d, [hl] + pop af .asm_3ca4b - cp $7 - jr nc, .asm_3ca56 - sra d - rr e - inc a - jr .asm_3ca4b + cp $7 + jr nc, .asm_3ca56 + sra d + rr e + inc a + jr .asm_3ca4b .asm_3ca56 - ld a, d - and $7 - ld d, a - ret + ld a, d + and $7 + ld d, a + ret Func_3ca5b: ; 0x3ca5b - inc a - ld e, a - ld d, $0 - ld hl, $0028 - add hl, bc - ld a, [hl] - ld l, $0 - call Func_3ca86 - ld a, l - ld hl, $0017 - add hl, bc - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $0015 - add hl, bc - ld l, [hl] - call Func_3ca86 - ld e, l - ld d, h - ld hl, $0015 - add hl, bc - ld [hl], e - ld hl, $0014 - add hl, bc - ld [hl], d - ret + inc a + ld e, a + ld d, $0 + ld hl, $0028 + add hl, bc + ld a, [hl] + ld l, $0 + call Func_3ca86 + ld a, l + ld hl, $0017 + add hl, bc + ld e, [hl] + inc hl + ld d, [hl] + ld hl, $0015 + add hl, bc + ld l, [hl] + call Func_3ca86 + ld e, l + ld d, h + ld hl, $0015 + add hl, bc + ld [hl], e + ld hl, $0014 + add hl, bc + ld [hl], d + ret Func_3ca86: ; 0x3ca86 - ld h, $0 + ld h, $0 .asm_3ca88 - srl a - jr nc, .asm_3ca8d - add hl, de + srl a + jr nc, .asm_3ca8d + add hl, de .asm_3ca8d - sla e - rl d - and a - jr nz, .asm_3ca88 - ret + sla e + rl d + and a + jr nz, .asm_3ca88 + ret Func_3ca95: ; 0x3ca95 - push bc - ld a, [$de97] - cp $4 - jr nc, .asm_3cab7 - ld bc, $dd01 - call Func_3cad1 - ld bc, $dd33 - call Func_3cad1 - ld bc, $dd65 - call Func_3cad1 - ld bc, $dd97 - call Func_3cad1 - jr .asm_3cacf + push bc + ld a, [$de97] + cp $4 + jr nc, .asm_3cab7 + ld bc, $dd01 + call Func_3cad1 + ld bc, $dd33 + call Func_3cad1 + ld bc, $dd65 + call Func_3cad1 + ld bc, $dd97 + call Func_3cad1 + jr .asm_3cacf .asm_3cab7 - ld bc, $ddc9 - call Func_3cad1 - ld bc, $ddfb - call Func_3cad1 - ld bc, $de2d - call Func_3cad1 - ld bc, $de5f - call Func_3cad1 + ld bc, $ddc9 + call Func_3cad1 + ld bc, $ddfb + call Func_3cad1 + ld bc, $de2d + call Func_3cad1 + ld bc, $de5f + call Func_3cad1 .asm_3cacf - pop bc - ret + pop bc + ret Func_3cad1: ; 0x3cad1 - ld hl, $0017 - add hl, bc - ld [hl], e - inc hl - ld [hl], d - xor a - ld hl, $0015 - add hl, bc - ld [hl], a - ret + ld hl, $0017 + add hl, bc + ld [hl], e + inc hl + ld [hl], d + xor a + ld hl, $0015 + add hl, bc + ld [hl], a + ret Func_3cadf: ; 0x3cadf - call Func_3cb06 - ld a, [$deae] - jr .asm_3caea - ld a, [$de97] + call Func_3cb06 + ld a, [$deae] + jr .asm_3caea + ld a, [$de97] .asm_3caea - call Func_3caf4 - ld hl, $0002 - add hl, bc - set 0, [hl] - ret + call Func_3caf4 + ld hl, $0002 + add hl, bc + set 0, [hl] + ret Func_3caf4: ; 0x3caf4 - push de - and $3 - ld e, a - ld d, $0 - ld hl, Data_3cc8e - add hl, de - ld a, [hl] - ld hl, $0019 - add hl, bc - ld [hl], a - pop de - ret + push de + and $3 + ld e, a + ld d, $0 + ld hl, Data_3cc8e + add hl, de + ld a, [hl] + ld hl, $0019 + add hl, bc + ld [hl], a + pop de + ret Func_3cb06: ; 0x3cb06 - ld a, [$deae] - and $3 - cp $0 - ret nz - xor a - ld [$ff10], a - ld [$de9a], a - ret + ld a, [$deae] + and $3 + cp $0 + ret nz + xor a + ld [rNR10], a + ld [$de9a], a + ret Func_3cb15: ; 0x3cb15 - ld a, $1 - ld [$dd00], a - ret + ld a, $1 + ld [$dd00], a + ret Func_3cb1b: ; 0x3cb1b - xor a - ld [$dd00], a - ret + xor a + ld [$dd00], a + ret -INCBIN "baserom.gbc",$3cb20,$3cb52 - $3cb20 + dr $3cb20, $3cb52 WavePatterns_BankF: WavePattern0_BankF: ; 0x3cb52 - db $02, $46, $8A, $CE, $FF, $FE, $ED, $DC, $CB, $A9, $87, $65, $44, $33, $22, $11 + db $02, $46, $8A, $CE, $FF, $FE, $ED, $DC, $CB, $A9, $87, $65, $44, $33, $22, $11 WavePattern1_BankF: ; 0x3cb62 - db $02, $46, $8A, $CE, $EF, $FF, $FE, $EE, $DD, $CB, $A9, $87, $65, $43, $22, $11 + db $02, $46, $8A, $CE, $EF, $FF, $FE, $EE, $DD, $CB, $A9, $87, $65, $43, $22, $11 WavePattern2_BankF: ; 0x3cb72 - db $01, $23, $43, $21, $FE, $CA, $8A, $CE, $01, $23, $43, $21, $FE, $CA, $8A, $CE + db $01, $23, $43, $21, $FE, $CA, $8A, $CE, $01, $23, $43, $21, $FE, $CA, $8A, $CE WavePattern3_BankF: ; 0x3cb82 - db $00, $11, $22, $33, $44, $33, $22, $11, $FF, $EE, $CC, $AA, $88, $AA, $CC, $EE + db $00, $11, $22, $33, $44, $33, $22, $11, $FF, $EE, $CC, $AA, $88, $AA, $CC, $EE WavePattern4_BankF: ; 0x3cb92 - db $00, $11, $22, $33, $44, $33, $22, $11, $FF, $EE, $CC, $AA, $88, $AA, $CC, $EE + db $00, $11, $22, $33, $44, $33, $22, $11, $FF, $EE, $CC, $AA, $88, $AA, $CC, $EE -INCBIN "baserom.gbc",$3cba2,$3cc8e - $3cba2 + dr $3cba2, $3cc8e Data_3cc8e: ; 0x3cc8e - db $11, $22, $44, $88 + db $11, $22, $44, $88 WRAMPointerTable_3cc92: ; 0x3cc92 - dw $DD01 - dw $DD33 - dw $DD65 - dw $DD97 + dw $DD01 + dw $DD33 + dw $DD65 + dw $DD97 -INCBIN "baserom.gbc",$3cc9a,$3cca2 - $3cc9a + dr $3cc9a, $3cca2 SongHeaderPointers0F: ; 0x3cca2 dw Music_Nothing0F @@ -50130,592 +50213,592 @@ INCLUDE "audio/music/haunterinthegraveyard.asm" INCLUDE "audio/music/gengarinthegraveyard.asm" PointerTable_3e3ce: ; 0x3e3ce - dw $646A - dw $6480 - dw $649A - dw $64BA - dw $64D0 - dw $64E0 - dw $64F0 - dw $6500 - dw $651A - dw $652E - dw $6544 - dw $6554 - dw $657C - dw $6589 - dw $659F - dw $65B5 - dw $65C5 - dw $65E2 - dw $65F4 - dw $6606 - dw $6618 - dw $662A - dw $663C - dw $664E - dw $6660 - dw $6672 - dw $6684 - dw $6696 - dw $66A8 - dw $66BA - dw $66CC - dw $66DE - dw $66F0 - dw $6702 - dw $671A - dw $675D - dw $6810 - dw $68AE - dw $696D - dw $6A25 - dw $6A68 - dw $6A82 - dw $6B17 - dw $6BF9 - dw $6C17 - dw $6C31 - dw $6C4B - dw $6C7D - dw $6C8F - dw $6CA7 - dw $6CB7 - dw $6CD1 - dw $6CE9 - dw $6CFF - dw $6D15 - dw $6D31 - dw $6D4D - dw $6D65 - dw $6D78 - dw $6D98 - dw $6DB0 - dw $6DC0 - dw $6DD0 - dw $6DE3 - dw $6DF3 - dw $6E1C - dw $6E32 - dw $6E48 - dw $6E5E - dw $6E78 - dw $6E92 - dw $6EAA - dw $6EC4 - dw $6ED4 - dw $6EEA - dw $6F00 - dw $6F16 - dw $6F27 - -INCBIN "baserom.gbc",$3e46a,$3ef63 - $3e46a + dw $646A + dw $6480 + dw $649A + dw $64BA + dw $64D0 + dw $64E0 + dw $64F0 + dw $6500 + dw $651A + dw $652E + dw $6544 + dw $6554 + dw $657C + dw $6589 + dw $659F + dw $65B5 + dw $65C5 + dw $65E2 + dw $65F4 + dw $6606 + dw $6618 + dw $662A + dw $663C + dw $664E + dw $6660 + dw $6672 + dw $6684 + dw $6696 + dw $66A8 + dw $66BA + dw $66CC + dw $66DE + dw $66F0 + dw $6702 + dw $671A + dw $675D + dw $6810 + dw $68AE + dw $696D + dw $6A25 + dw $6A68 + dw $6A82 + dw $6B17 + dw $6BF9 + dw $6C17 + dw $6C31 + dw $6C4B + dw $6C7D + dw $6C8F + dw $6CA7 + dw $6CB7 + dw $6CD1 + dw $6CE9 + dw $6CFF + dw $6D15 + dw $6D31 + dw $6D4D + dw $6D65 + dw $6D78 + dw $6D98 + dw $6DB0 + dw $6DC0 + dw $6DD0 + dw $6DE3 + dw $6DF3 + dw $6E1C + dw $6E32 + dw $6E48 + dw $6E5E + dw $6E78 + dw $6E92 + dw $6EAA + dw $6EC4 + dw $6ED4 + dw $6EEA + dw $6F00 + dw $6F16 + dw $6F27 + + dr $3e46a, $3ef63 CryBasePointers: ; 0x3ef63 - dw Cry_00_Header_BankF - dw Cry_01_Header_BankF - dw Cry_02_Header_BankF - dw Cry_03_Header_BankF - dw Cry_04_Header_BankF - dw Cry_05_Header_BankF - dw Cry_06_Header_BankF - dw Cry_07_Header_BankF - dw Cry_08_Header_BankF - dw Cry_09_Header_BankF - dw Cry_0A_Header_BankF - dw Cry_0B_Header_BankF - dw Cry_0C_Header_BankF - dw Cry_0D_Header_BankF - dw Cry_0E_Header_BankF - dw Cry_0F_Header_BankF - dw Cry_10_Header_BankF - dw Cry_11_Header_BankF - dw Cry_12_Header_BankF - dw Cry_13_Header_BankF - dw Cry_14_Header_BankF - dw Cry_15_Header_BankF - dw Cry_16_Header_BankF - dw Cry_17_Header_BankF - dw Cry_18_Header_BankF - dw Cry_19_Header_BankF - dw Cry_1A_Header_BankF - dw Cry_1B_Header_BankF - dw Cry_1C_Header_BankF - dw Cry_1D_Header_BankF - dw Cry_1E_Header_BankF - dw Cry_1F_Header_BankF - dw Cry_20_Header_BankF - dw Cry_21_Header_BankF - dw Cry_22_Header_BankF - dw Cry_23_Header_BankF - dw Cry_24_Header_BankF - dw Cry_25_Header_BankF + dw Cry_00_Header_BankF + dw Cry_01_Header_BankF + dw Cry_02_Header_BankF + dw Cry_03_Header_BankF + dw Cry_04_Header_BankF + dw Cry_05_Header_BankF + dw Cry_06_Header_BankF + dw Cry_07_Header_BankF + dw Cry_08_Header_BankF + dw Cry_09_Header_BankF + dw Cry_0A_Header_BankF + dw Cry_0B_Header_BankF + dw Cry_0C_Header_BankF + dw Cry_0D_Header_BankF + dw Cry_0E_Header_BankF + dw Cry_0F_Header_BankF + dw Cry_10_Header_BankF + dw Cry_11_Header_BankF + dw Cry_12_Header_BankF + dw Cry_13_Header_BankF + dw Cry_14_Header_BankF + dw Cry_15_Header_BankF + dw Cry_16_Header_BankF + dw Cry_17_Header_BankF + dw Cry_18_Header_BankF + dw Cry_19_Header_BankF + dw Cry_1A_Header_BankF + dw Cry_1B_Header_BankF + dw Cry_1C_Header_BankF + dw Cry_1D_Header_BankF + dw Cry_1E_Header_BankF + dw Cry_1F_Header_BankF + dw Cry_20_Header_BankF + dw Cry_21_Header_BankF + dw Cry_22_Header_BankF + dw Cry_23_Header_BankF + dw Cry_24_Header_BankF + dw Cry_25_Header_BankF CryData: ; 0x3efaf ; Each entry is in the following format: ; [base cry id], [pitch], [length - dw $000F, $0080, $0081 ; BULBASAUR - dw $000F, $0020, $0100 ; IVYSAUR - dw $000F, $0000, $0140 ; VENUSAUR - dw $0004, $0060, $00C0 ; CHARMANDER - dw $0004, $0020, $00C0 ; CHARMELEON - dw $0004, $0000, $0100 ; CHARIZARD - dw $001D, $0060, $00C0 ; SQUIRTLE - dw $001D, $0020, $00C0 ; WARTORTLE - dw $0013, $0000, $0100 ; BLASTOISE - dw $0016, $0080, $00A0 ; CATERPIE - dw $001C, $00CC, $0081 ; METAPOD - dw $0016, $0077, $00C0 ; BUTTERFREE - dw $0015, $00EE, $0081 ; WEEDLE - dw $0013, $00FF, $0081 ; KAKUNA - dw $0013, $0060, $0100 ; BEEDRILL - dw $000E, $00DF, $0084 ; PIDGEY - dw $0014, $0028, $0140 ; PIDGEOTTO - dw $0014, $0011, $017F ; PIDGEOT - dw $0022, $0000, $0100 ; RATTATA - dw $0022, $0020, $017F ; RATICATE - dw $0010, $0000, $0100 ; SPEAROW - dw $0018, $0040, $0120 ; FEAROW - dw $0017, $0012, $00C0 ; EKANS - dw $0017, $00E0, $0090 ; ARBOK - dw $000F, $00EE, $0081 ; PIKACHU - dw $0009, $00EE, $0088 ; RAICHU - dw $0000, $0020, $00C0 ; SANDSHREW - dw $0000, $00FF, $017F ; SANDSLASH - dw $0001, $0000, $0100 ; NIDORAN_F - dw $0001, $002C, $0160 ; NIDORINA - dw $000A, $0000, $0100 ; NIDOQUEEN - dw $0000, $0000, $0100 ; NIDORAN_M - dw $0000, $002C, $0140 ; NIDORINO - dw $0009, $0000, $0100 ; NIDOKING - dw $0019, $00CC, $0081 ; CLEFAIRY - dw $0019, $00AA, $00A0 ; CLEFABLE - dw $0024, $004F, $0090 ; VULPIX - dw $0024, $0088, $00E0 ; NINETALES - dw $000E, $00FF, $00B5 ; JIGGLYPUFF - dw $000E, $0068, $00E0 ; WIGGLYTUFF - dw $001D, $00E0, $0100 ; ZUBAT - dw $001D, $00FA, $0100 ; GOLBAT - dw $0008, $00DD, $0081 ; ODDISH - dw $0008, $00AA, $00C0 ; GLOOM - dw $0023, $0022, $017F ; VILEPLUME - dw $001E, $0020, $0160 ; PARAS - dw $001E, $0042, $017F ; PARASECT - dw $001A, $0044, $00C0 ; VENONAT - dw $001A, $0029, $0100 ; VENOMOTH - dw $000B, $00AA, $0081 ; DIGLETT - dw $000B, $002A, $0090 ; DUGTRIO - dw $0019, $0077, $0090 ; MEOWTH - dw $0019, $0099, $017F ; PERSIAN - dw $0021, $0020, $00E0 ; PSYDUCK - dw $0021, $00FF, $00C0 ; GOLDUCK - dw $000A, $00DD, $00E0 ; MANKEY - dw $000A, $00AF, $00C0 ; PRIMEAPE - dw $001F, $0020, $00C0 ; GROWLITHE - dw $0015, $0000, $0100 ; ARCANINE - dw $000E, $00FF, $017F ; POLIWAG - dw $000E, $0077, $00E0 ; POLIWHIRL - dw $000E, $0000, $017F ; POLIWRATH - dw $001C, $00C0, $0081 ; ABRA - dw $001C, $00A8, $0140 ; KADABRA - dw $001C, $0098, $017F ; ALAKAZAM - dw $001F, $00EE, $0081 ; MACHOP - dw $001F, $0048, $00E0 ; MACHOKE - dw $001F, $0008, $0140 ; MACHAMP - dw $0021, $0055, $0081 ; BELLSPROUT - dw $0025, $0044, $00A0 ; WEEPINBELL - dw $0025, $0066, $014C ; VICTREEBEL - dw $001A, $0000, $0100 ; TENTACOOL - dw $001A, $00EE, $017F ; TENTACRUEL - dw $0024, $00F0, $0090 ; GEODUDE - dw $0024, $0000, $0100 ; GRAVELER - dw $0012, $00E0, $00C0 ; GOLEM - dw $0025, $0000, $0100 ; PONYTA - dw $0025, $0020, $0140 ; RAPIDASH - dw $0002, $0000, $0100 ; SLOWPOKE - dw $001F, $0000, $0100 ; SLOWBRO - dw $001C, $0080, $00E0 ; MAGNEMITE - dw $001C, $0020, $0140 ; MAGNETON - dw $0010, $00DD, $0081 ; FARFETCH_D - dw $000B, $00BB, $0081 ; DODUO - dw $000B, $0099, $00A0 ; DODRIO - dw $000C, $0088, $0140 ; SEEL - dw $000C, $0023, $017F ; DEWGONG - dw $0005, $0000, $0100 ; GRIMER - dw $0007, $00EF, $017F ; MUK - dw $0018, $0000, $0100 ; SHELLDER - dw $0018, $006F, $0160 ; CLOYSTER - dw $001C, $0000, $0100 ; GASTLY - dw $001C, $0030, $00C0 ; HAUNTER - dw $0007, $0000, $017F ; GENGAR - dw $0017, $00FF, $0140 ; ONIX - dw $000D, $0088, $00A0 ; DROWZEE - dw $000D, $00EE, $00C0 ; HYPNO - dw $0020, $0020, $0160 ; KRABBY - dw $0020, $00EE, $0160 ; KINGLER - dw $0006, $00ED, $0100 ; VOLTORB - dw $0006, $00A8, $0110 ; ELECTRODE - dw $000B, $0000, $0100 ; EXEGGCUTE - dw $000D, $0000, $0100 ; EXEGGUTOR - dw $0019, $0000, $0100 ; CUBONE - dw $0008, $004F, $00E0 ; MAROWAK - dw $0012, $0080, $0140 ; HITMONLEE - dw $000C, $00EE, $0140 ; HITMONCHAN - dw $000C, $0000, $0100 ; LICKITUNG - dw $0012, $00E6, $015D ; KOFFING - dw $0012, $00FF, $017F ; WEEZING - dw $0004, $0000, $0100 ; RHYHORN - dw $0011, $0000, $0100 ; RHYDON - dw $0014, $000A, $0140 ; CHANSEY - dw $0012, $0000, $0100 ; TANGELA - dw $0003, $0000, $0100 ; KANGASKHAN - dw $0019, $0099, $0090 ; HORSEA - dw $0019, $003C, $0081 ; SEADRA - dw $0016, $0080, $00C0 ; GOLDEEN - dw $0016, $0010, $017F ; SEAKING - dw $001E, $0002, $00A0 ; STARYU - dw $001E, $0000, $0100 ; STARMIE - dw $0020, $0008, $00C0 ; MR_MIME - dw $0016, $0000, $0100 ; SCYTHER - dw $000D, $00FF, $017F ; JYNX - dw $0006, $008F, $017F ; ELECTABUZZ - dw $0004, $00FF, $00B0 ; MAGMAR - dw $0014, $0000, $0100 ; PINSIR - dw $001D, $0011, $00C0 ; TAUROS - dw $0017, $0080, $0080 ; MAGIKARP - dw $0017, $0000, $0100 ; GYARADOS - dw $001B, $0000, $0100 ; LAPRAS - dw $000E, $00FF, $017F ; DITTO - dw $001A, $0088, $00E0 ; EEVEE - dw $001A, $00AA, $017F ; VAPOREON - dw $001A, $003D, $0100 ; JOLTEON - dw $001A, $0010, $00A0 ; FLAREON - dw $0025, $00AA, $017F ; PORYGON - dw $001F, $00F0, $0081 ; OMANYTE - dw $001F, $00FF, $00C0 ; OMASTAR - dw $0016, $00BB, $00C0 ; KABUTO - dw $0018, $00EE, $0081 ; KABUTOPS - dw $0023, $0020, $0170 ; AERODACTYL - dw $0005, $0055, $0081 ; SNORLAX - dw $0009, $0080, $00C0 ; ARTICUNO - dw $0018, $00FF, $0100 ; ZAPDOS - dw $0009, $00F8, $00C0 ; MOLTRES - dw $000F, $0060, $00C0 ; DRATINI - dw $000F, $0040, $0100 ; DRAGONAIR - dw $000F, $003C, $0140 ; DRAGONITE - dw $001E, $0099, $017F ; MEWTWO - dw $001E, $00EE, $017F ; MEW + dw $000F, $0080, $0081 ; BULBASAUR + dw $000F, $0020, $0100 ; IVYSAUR + dw $000F, $0000, $0140 ; VENUSAUR + dw $0004, $0060, $00C0 ; CHARMANDER + dw $0004, $0020, $00C0 ; CHARMELEON + dw $0004, $0000, $0100 ; CHARIZARD + dw $001D, $0060, $00C0 ; SQUIRTLE + dw $001D, $0020, $00C0 ; WARTORTLE + dw $0013, $0000, $0100 ; BLASTOISE + dw $0016, $0080, $00A0 ; CATERPIE + dw $001C, $00CC, $0081 ; METAPOD + dw $0016, $0077, $00C0 ; BUTTERFREE + dw $0015, $00EE, $0081 ; WEEDLE + dw $0013, $00FF, $0081 ; KAKUNA + dw $0013, $0060, $0100 ; BEEDRILL + dw $000E, $00DF, $0084 ; PIDGEY + dw $0014, $0028, $0140 ; PIDGEOTTO + dw $0014, $0011, $017F ; PIDGEOT + dw $0022, $0000, $0100 ; RATTATA + dw $0022, $0020, $017F ; RATICATE + dw $0010, $0000, $0100 ; SPEAROW + dw $0018, $0040, $0120 ; FEAROW + dw $0017, $0012, $00C0 ; EKANS + dw $0017, $00E0, $0090 ; ARBOK + dw $000F, $00EE, $0081 ; PIKACHU + dw $0009, $00EE, $0088 ; RAICHU + dw $0000, $0020, $00C0 ; SANDSHREW + dw $0000, $00FF, $017F ; SANDSLASH + dw $0001, $0000, $0100 ; NIDORAN_F + dw $0001, $002C, $0160 ; NIDORINA + dw $000A, $0000, $0100 ; NIDOQUEEN + dw $0000, $0000, $0100 ; NIDORAN_M + dw $0000, $002C, $0140 ; NIDORINO + dw $0009, $0000, $0100 ; NIDOKING + dw $0019, $00CC, $0081 ; CLEFAIRY + dw $0019, $00AA, $00A0 ; CLEFABLE + dw $0024, $004F, $0090 ; VULPIX + dw $0024, $0088, $00E0 ; NINETALES + dw $000E, $00FF, $00B5 ; JIGGLYPUFF + dw $000E, $0068, $00E0 ; WIGGLYTUFF + dw $001D, $00E0, $0100 ; ZUBAT + dw $001D, $00FA, $0100 ; GOLBAT + dw $0008, $00DD, $0081 ; ODDISH + dw $0008, $00AA, $00C0 ; GLOOM + dw $0023, $0022, $017F ; VILEPLUME + dw $001E, $0020, $0160 ; PARAS + dw $001E, $0042, $017F ; PARASECT + dw $001A, $0044, $00C0 ; VENONAT + dw $001A, $0029, $0100 ; VENOMOTH + dw $000B, $00AA, $0081 ; DIGLETT + dw $000B, $002A, $0090 ; DUGTRIO + dw $0019, $0077, $0090 ; MEOWTH + dw $0019, $0099, $017F ; PERSIAN + dw $0021, $0020, $00E0 ; PSYDUCK + dw $0021, $00FF, $00C0 ; GOLDUCK + dw $000A, $00DD, $00E0 ; MANKEY + dw $000A, $00AF, $00C0 ; PRIMEAPE + dw $001F, $0020, $00C0 ; GROWLITHE + dw $0015, $0000, $0100 ; ARCANINE + dw $000E, $00FF, $017F ; POLIWAG + dw $000E, $0077, $00E0 ; POLIWHIRL + dw $000E, $0000, $017F ; POLIWRATH + dw $001C, $00C0, $0081 ; ABRA + dw $001C, $00A8, $0140 ; KADABRA + dw $001C, $0098, $017F ; ALAKAZAM + dw $001F, $00EE, $0081 ; MACHOP + dw $001F, $0048, $00E0 ; MACHOKE + dw $001F, $0008, $0140 ; MACHAMP + dw $0021, $0055, $0081 ; BELLSPROUT + dw $0025, $0044, $00A0 ; WEEPINBELL + dw $0025, $0066, $014C ; VICTREEBEL + dw $001A, $0000, $0100 ; TENTACOOL + dw $001A, $00EE, $017F ; TENTACRUEL + dw $0024, $00F0, $0090 ; GEODUDE + dw $0024, $0000, $0100 ; GRAVELER + dw $0012, $00E0, $00C0 ; GOLEM + dw $0025, $0000, $0100 ; PONYTA + dw $0025, $0020, $0140 ; RAPIDASH + dw $0002, $0000, $0100 ; SLOWPOKE + dw $001F, $0000, $0100 ; SLOWBRO + dw $001C, $0080, $00E0 ; MAGNEMITE + dw $001C, $0020, $0140 ; MAGNETON + dw $0010, $00DD, $0081 ; FARFETCH_D + dw $000B, $00BB, $0081 ; DODUO + dw $000B, $0099, $00A0 ; DODRIO + dw $000C, $0088, $0140 ; SEEL + dw $000C, $0023, $017F ; DEWGONG + dw $0005, $0000, $0100 ; GRIMER + dw $0007, $00EF, $017F ; MUK + dw $0018, $0000, $0100 ; SHELLDER + dw $0018, $006F, $0160 ; CLOYSTER + dw $001C, $0000, $0100 ; GASTLY + dw $001C, $0030, $00C0 ; HAUNTER + dw $0007, $0000, $017F ; GENGAR + dw $0017, $00FF, $0140 ; ONIX + dw $000D, $0088, $00A0 ; DROWZEE + dw $000D, $00EE, $00C0 ; HYPNO + dw $0020, $0020, $0160 ; KRABBY + dw $0020, $00EE, $0160 ; KINGLER + dw $0006, $00ED, $0100 ; VOLTORB + dw $0006, $00A8, $0110 ; ELECTRODE + dw $000B, $0000, $0100 ; EXEGGCUTE + dw $000D, $0000, $0100 ; EXEGGUTOR + dw $0019, $0000, $0100 ; CUBONE + dw $0008, $004F, $00E0 ; MAROWAK + dw $0012, $0080, $0140 ; HITMONLEE + dw $000C, $00EE, $0140 ; HITMONCHAN + dw $000C, $0000, $0100 ; LICKITUNG + dw $0012, $00E6, $015D ; KOFFING + dw $0012, $00FF, $017F ; WEEZING + dw $0004, $0000, $0100 ; RHYHORN + dw $0011, $0000, $0100 ; RHYDON + dw $0014, $000A, $0140 ; CHANSEY + dw $0012, $0000, $0100 ; TANGELA + dw $0003, $0000, $0100 ; KANGASKHAN + dw $0019, $0099, $0090 ; HORSEA + dw $0019, $003C, $0081 ; SEADRA + dw $0016, $0080, $00C0 ; GOLDEEN + dw $0016, $0010, $017F ; SEAKING + dw $001E, $0002, $00A0 ; STARYU + dw $001E, $0000, $0100 ; STARMIE + dw $0020, $0008, $00C0 ; MR_MIME + dw $0016, $0000, $0100 ; SCYTHER + dw $000D, $00FF, $017F ; JYNX + dw $0006, $008F, $017F ; ELECTABUZZ + dw $0004, $00FF, $00B0 ; MAGMAR + dw $0014, $0000, $0100 ; PINSIR + dw $001D, $0011, $00C0 ; TAUROS + dw $0017, $0080, $0080 ; MAGIKARP + dw $0017, $0000, $0100 ; GYARADOS + dw $001B, $0000, $0100 ; LAPRAS + dw $000E, $00FF, $017F ; DITTO + dw $001A, $0088, $00E0 ; EEVEE + dw $001A, $00AA, $017F ; VAPOREON + dw $001A, $003D, $0100 ; JOLTEON + dw $001A, $0010, $00A0 ; FLAREON + dw $0025, $00AA, $017F ; PORYGON + dw $001F, $00F0, $0081 ; OMANYTE + dw $001F, $00FF, $00C0 ; OMASTAR + dw $0016, $00BB, $00C0 ; KABUTO + dw $0018, $00EE, $0081 ; KABUTOPS + dw $0023, $0020, $0170 ; AERODACTYL + dw $0005, $0055, $0081 ; SNORLAX + dw $0009, $0080, $00C0 ; ARTICUNO + dw $0018, $00FF, $0100 ; ZAPDOS + dw $0009, $00F8, $00C0 ; MOLTRES + dw $000F, $0060, $00C0 ; DRATINI + dw $000F, $0040, $0100 ; DRAGONAIR + dw $000F, $003C, $0140 ; DRAGONITE + dw $001E, $0099, $017F ; MEWTWO + dw $001E, $00EE, $017F ; MEW Cry_00_Header_BankF: ; 0x3f339 - db $84 - dw $7733 - db $05 - dw $7742 - db $07 - dw $7751 + db $84 + dw $7733 + db $05 + dw $7742 + db $07 + dw $7751 Cry_01_Header_BankF: ; 0x3f342 - db $84 - dw $7943 - db $05 - dw $7956 - db $07 - dw $7969 + db $84 + dw $7943 + db $05 + dw $7956 + db $07 + dw $7969 Cry_02_Header_BankF: ; 0x3f34b - db $84 - dw $78B8 - db $05 - dw $78C7 - db $07 - dw $78D5 + db $84 + dw $78B8 + db $05 + dw $78C7 + db $07 + dw $78D5 Cry_03_Header_BankF: ; 0x3f354 - db $84 - dw $7652 - db $05 - dw $7671 - db $07 - dw $7690 + db $84 + dw $7652 + db $05 + dw $7671 + db $07 + dw $7690 Cry_04_Header_BankF: ; 0x3f35d - db $84 - dw $7A01 - db $05 - dw $7A20 - db $07 - dw $7A3F + db $84 + dw $7A01 + db $05 + dw $7A20 + db $07 + dw $7A3F Cry_05_Header_BankF: ; 0x3f366 - db $84 - dw $77E1 - db $05 - dw $77F4 - db $07 - dw $7806 + db $84 + dw $77E1 + db $05 + dw $77F4 + db $07 + dw $7806 Cry_06_Header_BankF: ; 0x3f36f - db $84 - dw $778B - db $05 - dw $77A5 - db $07 - dw $77A6 + db $84 + dw $778B + db $05 + dw $77A5 + db $07 + dw $77A6 Cry_07_Header_BankF: ; 0x3f378 - db $84 - dw $77B9 - db $05 - dw $77C8 - db $07 - dw $77D7 + db $84 + dw $77B9 + db $05 + dw $77C8 + db $07 + dw $77D7 Cry_08_Header_BankF: ; 0x3f381 - db $84 - dw $79D1 - db $05 - dw $79E4 - db $07 - dw $79F7 + db $84 + dw $79D1 + db $05 + dw $79E4 + db $07 + dw $79F7 Cry_09_Header_BankF: ; 0x3f38a - db $84 - dw $74DB - db $05 - dw $74F8 - db $07 - dw $7519 + db $84 + dw $74DB + db $05 + dw $74F8 + db $07 + dw $7519 Cry_0A_Header_BankF: ; 0x3f393 - db $84 - dw $7976 - db $05 - dw $7995 - db $07 - dw $79B8 + db $84 + dw $7976 + db $05 + dw $7995 + db $07 + dw $79B8 Cry_0B_Header_BankF: ; 0x3f39c - db $84 - dw $7807 - db $05 - dw $7832 - db $07 - dw $7851 + db $84 + dw $7807 + db $05 + dw $7832 + db $07 + dw $7851 Cry_0C_Header_BankF: ; 0x3f3a5 - db $84 - dw $786A - db $05 - dw $7891 - db $07 - dw $78B7 + db $84 + dw $786A + db $05 + dw $7891 + db $07 + dw $78B7 Cry_0D_Header_BankF: ; 0x3f3ae - db $84 - dw $78D6 - db $05 - dw $78F5 - db $07 - dw $7924 + db $84 + dw $78D6 + db $05 + dw $78F5 + db $07 + dw $7924 Cry_0E_Header_BankF: ; 0x3f - db $84 - dw $775B - db $05 - dw $776E - db $07 - dw $7781 + db $84 + dw $775B + db $05 + dw $776E + db $07 + dw $7781 Cry_0F_Header_BankF: ; 0x3f - db $84 - dw $769D - db $05 - dw $76B8 - db $07 - dw $76D3 + db $84 + dw $769D + db $05 + dw $76B8 + db $07 + dw $76D3 Cry_10_Header_BankF: ; 0x3f3b7 - db $84 - dw $76E3 - db $05 - dw $7706 - db $07 - dw $7729 + db $84 + dw $76E3 + db $05 + dw $7706 + db $07 + dw $7729 Cry_11_Header_BankF: ; 0x3f3c0 - db $84 - dw $75BF - db $05 - dw $75DE - db $07 - dw $7601 + db $84 + dw $75BF + db $05 + dw $75DE + db $07 + dw $7601 Cry_12_Header_BankF: ; 0x3f3c9 - db $84 - dw $7AD7 - db $05 - dw $7AEA - db $07 - dw $7AFD + db $84 + dw $7AD7 + db $05 + dw $7AEA + db $07 + dw $7AFD Cry_13_Header_BankF: ; 0x3f3d2 - db $84 - dw $7B0A - db $05 - dw $7B25 - db $07 - dw $7B40 + db $84 + dw $7B0A + db $05 + dw $7B25 + db $07 + dw $7B40 Cry_14_Header_BankF: ; 0x3f3db - db $84 - dw $7B53 - db $05 - dw $7B62 - db $07 - dw $7B71 + db $84 + dw $7B53 + db $05 + dw $7B62 + db $07 + dw $7B71 Cry_15_Header_BankF: ; 0x3f3e4 - db $84 - dw $7BE1 - db $05 - dw $7BFC - db $07 - dw $7C17 + db $84 + dw $7BE1 + db $05 + dw $7BFC + db $07 + dw $7C17 Cry_16_Header_BankF: ; 0x3f3ed - db $84 - dw $7A74 - db $05 - dw $7A83 - db $07 - dw $7A92 + db $84 + dw $7A74 + db $05 + dw $7A83 + db $07 + dw $7A92 Cry_17_Header_BankF: ; 0x3f3f6 - db $84 - dw $7C2A - db $05 - dw $7C3D - db $07 - dw $7C50 + db $84 + dw $7C2A + db $05 + dw $7C3D + db $07 + dw $7C50 Cry_18_Header_BankF: ; 0x3f3ff - db $84 - dw $7D3A - db $05 - dw $7D5D - db $07 - dw $7D80 + db $84 + dw $7D3A + db $05 + dw $7D5D + db $07 + dw $7D80 Cry_19_Header_BankF: ; 0x3f408 - db $84 - dw $7A52 - db $05 - dw $7A61 - db $07 - dw $7A73 + db $84 + dw $7A52 + db $05 + dw $7A61 + db $07 + dw $7A73 Cry_1A_Header_BankF: ; 0x3f411 - db $84 - dw $7CAB - db $05 - dw $7CC6 - db $07 - dw $7CE1 + db $84 + dw $7CAB + db $05 + dw $7CC6 + db $07 + dw $7CE1 Cry_1B_Header_BankF: ; 0x3f41a - db $84 - dw $7A9C - db $05 - dw $7AB3 - db $07 - dw $7ACA + db $84 + dw $7A9C + db $05 + dw $7AB3 + db $07 + dw $7ACA Cry_1C_Header_BankF: ; 0x3f423 - db $84 - dw $7C5D - db $05 - dw $7C80 - db $07 - dw $7C9B + db $84 + dw $7C5D + db $05 + dw $7C80 + db $07 + dw $7C9B Cry_1D_Header_BankF: ; 0x3f42c - db $84 - dw $7CF4 - db $05 - dw $7D0F - db $07 - dw $7D2A + db $84 + dw $7CF4 + db $05 + dw $7D0F + db $07 + dw $7D2A Cry_1E_Header_BankF: ; 0x3f435 - db $84 - dw $7B7B - db $05 - dw $7B9E - db $07 - dw $7BC5 + db $84 + dw $7B7B + db $05 + dw $7B9E + db $07 + dw $7BC5 Cry_1F_Header_BankF: ; 0x3f43e - db $84 - dw $7D93 - db $05 - dw $7DA6 - db $07 - dw $7DB9 + db $84 + dw $7D93 + db $05 + dw $7DA6 + db $07 + dw $7DB9 Cry_20_Header_BankF: ; 0x3f447 - db $84 - dw $7DC6 - db $05 - dw $7DD9 - db $07 - dw $7DEC + db $84 + dw $7DC6 + db $05 + dw $7DD9 + db $07 + dw $7DEC Cry_21_Header_BankF: ; 0x3f450 - db $84 - dw $7DF9 - db $05 - dw $7E1C - db $07 - dw $7E3E + db $84 + dw $7DF9 + db $05 + dw $7E1C + db $07 + dw $7E3E Cry_22_Header_BankF: ; 0x3f459 - db $84 - dw $7E3F - db $05 - dw $7E52 - db $07 - dw $7E65 + db $84 + dw $7E3F + db $05 + dw $7E52 + db $07 + dw $7E65 Cry_23_Header_BankF: ; 0x3f462 - db $84 - dw $7532 - db $05 - dw $7549 - db $07 - dw $755C + db $84 + dw $7532 + db $05 + dw $7549 + db $07 + dw $755C Cry_24_Header_BankF: ; 0x3f46b - db $84 - dw $7569 - db $05 - dw $758C - db $07 - dw $75AF + db $84 + dw $7569 + db $05 + dw $758C + db $07 + dw $75AF Cry_25_Header_BankF: ; 0x3f474 - db $84 - dw $7617 - db $05 - dw $762E - db $07 - dw $7645 + db $84 + dw $7617 + db $05 + dw $762E + db $07 + dw $7645 -INCBIN "baserom.gbc",$3f48f,$40000 - $3f48f + dr $3f48f, $40000 SECTION "bank10", ROMX, BANK[$10] -INCBIN "baserom.gbc",$40000,$40ca2 - $40000 + dr $40000, $40ca2 SongHeaderPointers10: ; 0x40ca2 dw Music_Nothing10 @@ -50733,12 +50816,12 @@ INCLUDE "audio/music/hiscore.asm" INCLUDE "audio/music/gameover.asm" INCLUDE "audio/music/hurryupblue.asm" -INCBIN "baserom.gbc",$4255b,$44000 - $4255b + dr $4255b, $44000 SECTION "bank11", ROMX, BANK[$11] -INCBIN "baserom.gbc",$44000,$44ca2 - $44000 + dr $44000, $44ca2 SongHeaderPointers11: ; 0x44ca2 dw Music_Nothing11 @@ -50754,12 +50837,12 @@ INCLUDE "audio/music/whackthedugtrio.asm" INCLUDE "audio/music/seelstage.asm" INCLUDE "audio/music/title.asm" -INCBIN "baserom.gbc",$462d3,$48000 - $462d3 + dr $462d3, $48000 SECTION "bank12", ROMX, BANK[$12] -INCBIN "baserom.gbc",$48000,$48ca2 - $48000 + dr $48000, $48ca2 SongHeaderPointers12: ; 0x48ca2 dw Music_Nothing12 @@ -50775,12 +50858,12 @@ INCLUDE "audio/music/options.asm" INCLUDE "audio/music/fieldselect.asm" INCLUDE "audio/music/meowthstage.asm" -INCBIN "baserom.gbc",$49c04,$4c000 - $49c04 + dr $49c04, $4c000 SECTION "bank13", ROMX, BANK[$13] -INCBIN "baserom.gbc",$4c000,$4cca2 - $4c000 + dr $4c000, $4cca2 SongHeaderPointers13: ; 0x4cca2 dw Music_Nothing13 @@ -50792,159 +50875,159 @@ INCLUDE "audio/music/nothing13.asm" INCLUDE "audio/music/endcredits.asm" INCLUDE "audio/music/nameentry.asm" -INCBIN "baserom.gbc",$4def4,$50000 - $4def4 + dr $4def4, $50000 SECTION "bank14", ROMX, BANK[$14] PlayPikachuSoundClip: ; 0x50000 ; Plays the pcm (pulse-code modulation) sound clip of one of the pikachu noises. - sla a - ld c, a - ld b, $0 - ld hl, PikachuSoundClipPointers - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - push hl - di - ld b, $4 + sla a + ld c, a + ld b, $0 + ld hl, PikachuSoundClipPointers + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + push hl + di + ld b, $4 .asm_50010 - ld a, [$ff44] - and a - jr nz, .asm_50010 - dec b - jr nz, .asm_50010 - xor a - ld [$ff24], a - ld [$ff25], a - ld a, $80 - ld [$ff26], a - xor a - ld [$ff1a], a - ld hl, $d84b - ld c, $30 - ld b, $10 + ld a, [rLY] + and a + jr nz, .asm_50010 + dec b + jr nz, .asm_50010 + xor a + ld [rNR50], a + ld [rNR51], a + ld a, $80 + ld [rNR52], a + xor a + ld [rNR30], a + ld hl, $d84b + ld c, $30 + ld b, $10 .asm_5002b - ld a, [$ff00+c] - ld [hli], a - ld a, $ff - ld [$ff00+c], a - inc c - dec b - jr nz, .asm_5002b - ld a, $80 - ld [$ff1a], a - ld a, $ff - ld [$ff1b], a - ld a, $20 - ld [$ff1c], a - ld a, $ff - ld [$ff1d], a - ld a, $87 - ld [$ff1e], a - ld a, $77 - ld [$ff24], a - ld a, $44 - ld [$ff25], a - pop hl - call PlayPikachuPCM - xor a - ld [$ff24], a - ld [$ff25], a - ld [$ff26], a - ld hl, $d84b - ld c, $30 - ld b, $10 + ld a, [$ff00+c] + ld [hli], a + ld a, $ff + ld [$ff00+c], a + inc c + dec b + jr nz, .asm_5002b + ld a, $80 + ld [rNR30], a + ld a, $ff + ld [rNR31], a + ld a, $20 + ld [rNR32], a + ld a, $ff + ld [rNR33], a + ld a, $87 + ld [rNR34], a + ld a, $77 + ld [rNR50], a + ld a, $44 + ld [rNR51], a + pop hl + call PlayPikachuPCM + xor a + ld [rNR50], a + ld [rNR51], a + ld [rNR52], a + ld hl, $d84b + ld c, $30 + ld b, $10 .asm_50062 - ld a, [hli] - ld [$ff00+c], a - inc c - dec b - jr nz, .asm_50062 - ld a, $77 - ld [$ff24], a - ld a, $ff - ld [$ff25], a - ld a, $80 - ld [$ff26], a - ei - ret + ld a, [hli] + ld [$ff00+c], a + inc c + dec b + jr nz, .asm_50062 + ld a, $77 + ld [rNR50], a + ld a, $ff + ld [rNR51], a + ld a, $80 + ld [rNR52], a + ei + ret PikachuSoundClipPointers: ; 0x50076 - dw PikachuBillboardBonusSoundClip - dw PikachuThundershockSoundClip + dw PikachuBillboardBonusSoundClip + dw PikachuThundershockSoundClip PikachuBillboardBonusSoundClip: ; 0x5007a - dw $caf ; length of the pcm data (todo: there is probably a way to do this dynamically with rgbds) - INCBIN "audio/sound_clips/pi_ka_chu.pcm" + dw $caf ; length of the pcm data (todo: there is probably a way to do this dynamically with rgbds) + INCBIN "audio/sound_clips/pi_ka_chu.pcm" - db $1f ; unused + db $1f ; unused PikachuThundershockSoundClip: ; 0x50d2c - dw $1227 ; length of the pcm data (todo: there is probably a way to do this dynamically with rgbds) - INCBIN "audio/sound_clips/piiiiikaaaa.pcm" + dw $1227 ; length of the pcm data (todo: there is probably a way to do this dynamically with rgbds) + INCBIN "audio/sound_clips/piiiiikaaaa.pcm" - db $f0, $00, $00 ; unused + db $f0, $00, $00 ; unused PlayPikachuPCM: ; 0x51f56 ; Plays the audio PCM at [hl] - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ; bc = number of bytes in the sound clip's PCM (pulse-code modulation) + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ; bc = number of bytes in the sound clip's PCM (pulse-code modulation) .loop - ld a, [hli] - ld d, a - ld a, $3 + ld a, [hli] + ld d, a + ld a, $3 .playSingleSample - dec a - jr nz, .playSingleSample - call LoadNextSoundClipSample - call PlaySoundClipSample - call LoadNextSoundClipSample - call PlaySoundClipSample - call LoadNextSoundClipSample - call PlaySoundClipSample - call LoadNextSoundClipSample - call PlaySoundClipSample - call LoadNextSoundClipSample - call PlaySoundClipSample - call LoadNextSoundClipSample - call PlaySoundClipSample - call LoadNextSoundClipSample - call PlaySoundClipSample - call LoadNextSoundClipSample - dec bc - ld a, c - or b - jr nz, .loop - ret + dec a + jr nz, .playSingleSample + call LoadNextSoundClipSample + call PlaySoundClipSample + call LoadNextSoundClipSample + call PlaySoundClipSample + call LoadNextSoundClipSample + call PlaySoundClipSample + call LoadNextSoundClipSample + call PlaySoundClipSample + call LoadNextSoundClipSample + call PlaySoundClipSample + call LoadNextSoundClipSample + call PlaySoundClipSample + call LoadNextSoundClipSample + call PlaySoundClipSample + call LoadNextSoundClipSample + dec bc + ld a, c + or b + jr nz, .loop + ret LoadNextSoundClipSample: ; 0x51f94 - ld a, d - and $80 - srl a - srl a - ld [$ff1c], a - sla d - ret + ld a, d + and $80 + srl a + srl a + ld [rNR32], a + sla d + ret PlaySoundClipSample: ; 0x51fa0 - ld a, $3 + ld a, $3 .loop - dec a - jr nz, .loop - ret + dec a + jr nz, .loop + ret -INCBIN "baserom.gbc",$51fa6,$54000 - $51fa6 + dr $51fa6, $54000 SECTION "bank15", ROMX, BANK[$15] -INCBIN "baserom.gbc",$54000,$58000 - $54000 ; 0x54000 + dr $54000, $58000 ; 0x54000 SECTION "bank16", ROMX, BANK[$16] @@ -51035,180 +51118,180 @@ GoToSeelBonusOffPic: ; 0x5bd80 INCBIN "gfx/billboard/bonus_stages/gotoseelbonus_off.2bpp" ChanseyBillboardBGPalette1: ; 0x5bf00 - RGB 31, 31, 31 - RGB 31, 15, 20 - RGB 27, 5, 7 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 15, 20 + RGB 27, 5, 7 + RGB 0, 0, 0 ChanseyBillboardBGPalette2: ; 0x5bf08 - RGB 31, 31, 31 - RGB 31, 15, 20 - RGB 27, 5, 7 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 15, 20 + RGB 27, 5, 7 + RGB 0, 0, 0 TangelaBillboardBGPalette1: ; 0x5bf10 - RGB 31, 31, 31 - RGB 15, 21, 29 - RGB 4, 8, 18 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 15, 21, 29 + RGB 4, 8, 18 + RGB 0, 0, 0 TangelaBillboardBGPalette2: ; 0x5bf18 - RGB 31, 31, 31 - RGB 15, 21, 29 - RGB 4, 8, 18 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 15, 21, 29 + RGB 4, 8, 18 + RGB 0, 0, 0 KangaskhanBillboardBGPalette1: ; 0x5bf20 - RGB 31, 31, 31 - RGB 31, 18, 9 - RGB 17, 10, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 18, 9 + RGB 17, 10, 4 + RGB 0, 0, 0 KangaskhanBillboardBGPalette2: ; 0x5bf28 - RGB 31, 31, 31 - RGB 31, 18, 9 - RGB 17, 10, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 18, 9 + RGB 17, 10, 4 + RGB 0, 0, 0 HorseaBillboardBGPalette1: ; 0x5bf30 - RGB 31, 31, 31 - RGB 12, 19, 31 - RGB 4, 7, 22 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 12, 19, 31 + RGB 4, 7, 22 + RGB 0, 0, 0 HorseaBillboardBGPalette2: ; 0x5bf38 - RGB 31, 31, 31 - RGB 25, 26, 3 - RGB 4, 7, 22 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 25, 26, 3 + RGB 4, 7, 22 + RGB 0, 0, 0 SeadraBillboardBGPalette1: ; 0x5bf40 - RGB 31, 31, 31 - RGB 12, 19, 31 - RGB 4, 7, 22 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 12, 19, 31 + RGB 4, 7, 22 + RGB 0, 0, 0 SeadraBillboardBGPalette2: ; 0x5bf48 - RGB 31, 31, 31 - RGB 12, 19, 31 - RGB 4, 7, 22 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 12, 19, 31 + RGB 4, 7, 22 + RGB 0, 0, 0 GoldeenBillboardBGPalette1: ; 0x5bf50 - RGB 31, 31, 31 - RGB 30, 16, 4 - RGB 29, 3, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 30, 16, 4 + RGB 29, 3, 0 + RGB 0, 0, 0 GoldeenBillboardBGPalette2: ; 0x5bf58 - RGB 31, 31, 31 - RGB 30, 16, 4 - RGB 29, 3, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 30, 16, 4 + RGB 29, 3, 0 + RGB 0, 0, 0 SeakingBillboardBGPalette1: ; 0x5bf60 - RGB 31, 31, 31 - RGB 29, 17, 5 - RGB 31, 5, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 29, 17, 5 + RGB 31, 5, 0 + RGB 0, 0, 0 SeakingBillboardBGPalette2: ; 0x5bf68 - RGB 31, 31, 31 - RGB 29, 17, 5 - RGB 31, 5, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 29, 17, 5 + RGB 31, 5, 0 + RGB 0, 0, 0 StaryuBillboardBGPalette1: ; 0x5bf70 - RGB 31, 31, 31 - RGB 31, 20, 0 - RGB 19, 3, 6 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 20, 0 + RGB 19, 3, 6 + RGB 0, 0, 0 StaryuBillboardBGPalette2: ; 0x5bf78 - RGB 31, 31, 31 - RGB 31, 16, 8 - RGB 25, 3, 2 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 16, 8 + RGB 25, 3, 2 + RGB 0, 0, 0 StarmieBillboardBGPalette1: ; 0x5bf80 - RGB 31, 31, 31 - RGB 31, 17, 0 - RGB 15, 8, 16 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 17, 0 + RGB 15, 8, 16 + RGB 0, 0, 0 StarmieBillboardBGPalette2: ; 0x5bf88 - RGB 31, 31, 31 - RGB 31, 16, 8 - RGB 25, 3, 2 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 16, 8 + RGB 25, 3, 2 + RGB 0, 0, 0 MrMimeBillboardBGPalette1: ; 0x5bf90 - RGB 31, 31, 31 - RGB 31, 17, 19 - RGB 28, 6, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 17, 19 + RGB 28, 6, 4 + RGB 0, 0, 0 MrMimeBillboardBGPalette2: ; 0x5bf98 - RGB 31, 31, 31 - RGB 31, 17, 19 - RGB 28, 6, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 17, 19 + RGB 28, 6, 4 + RGB 0, 0, 0 ScytherBillboardBGPalette1: ; 0x5bfa0 - RGB 31, 31, 31 - RGB 17, 31, 4 - RGB 4, 16, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 17, 31, 4 + RGB 4, 16, 4 + RGB 0, 0, 0 ScytherBillboardBGPalette2: ; 0x5bfa8 - RGB 31, 31, 31 - RGB 17, 31, 4 - RGB 4, 16, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 17, 31, 4 + RGB 4, 16, 4 + RGB 0, 0, 0 JynxBillboardBGPalette1: ; 0x5bfb0 - RGB 31, 31, 31 - RGB 29, 13, 15 - RGB 30, 6, 1 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 29, 13, 15 + RGB 30, 6, 1 + RGB 0, 0, 0 JynxBillboardBGPalette2: ; 0x5bfb8 - RGB 31, 31, 31 - RGB 31, 21, 0 - RGB 30, 6, 1 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 21, 0 + RGB 30, 6, 1 + RGB 0, 0, 0 ElectabuzzBillboardBGPalette1: ; 0x5bfc0 - RGB 31, 31, 31 - RGB 31, 27, 0 - RGB 19, 11, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 27, 0 + RGB 19, 11, 0 + RGB 0, 0, 0 ElectabuzzBillboardBGPalette2: ; 0x5bfc8 - RGB 31, 31, 31 - RGB 31, 27, 0 - RGB 19, 11, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 27, 0 + RGB 19, 11, 0 + RGB 0, 0, 0 MagmarBillboardBGPalette1: ; 0x5bfd0 - RGB 31, 31, 31 - RGB 31, 27, 0 - RGB 28, 6, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 27, 0 + RGB 28, 6, 0 + RGB 0, 0, 0 MagmarBillboardBGPalette2: ; 0x5bfd8 - RGB 31, 31, 31 - RGB 31, 27, 0 - RGB 28, 6, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 27, 0 + RGB 28, 6, 0 + RGB 0, 0, 0 PinsirBillboardBGPalette1: ; 0x5bfe0 - RGB 31, 31, 31 - RGB 17, 23, 10 - RGB 21, 10, 3 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 17, 23, 10 + RGB 21, 10, 3 + RGB 0, 0, 0 PinsirBillboardBGPalette2: ; 0x5bfe8 - RGB 31, 31, 31 - RGB 31, 19, 8 - RGB 21, 10, 3 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 19, 8 + RGB 21, 10, 3 + RGB 0, 0, 0 TaurosBillboardBGPalette1: ; 0x5bff0 - RGB 31, 31, 31 - RGB 31, 18, 7 - RGB 17, 9, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 18, 7 + RGB 17, 9, 0 + RGB 0, 0, 0 TaurosBillboardBGPalette2: ; 0x5bff8 - RGB 31, 31, 31 - RGB 14, 16, 20 - RGB 17, 9, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 14, 16, 20 + RGB 17, 9, 0 + RGB 0, 0, 0 SECTION "bank17", ROMX, BANK[$17] @@ -51287,7 +51370,7 @@ BigReward9000000PointsOffPic: ; 0x5f480 INCBIN "gfx/billboard/slot/9000000points_off.2bpp" MeowthBonusBaseGameBoyGfx: ; 0x5f600 - INCBIN "gfx/stage/meowth_bonus/meowth_bonus_base_gameboy.2bpp" + INCBIN "gfx/stage/meowth_bonus/meowth_bonus_base_gameboy.2bpp" SECTION "bank18", ROMX, BANK[$18] @@ -51358,12 +51441,12 @@ KadabraSilhouettePic: ; 0x62e80 INCBIN "gfx/billboard/mon_silhouettes/kadabra.2bpp" StageRedFieldTopStatusBarSymbolsGfx_GameBoy: ; 0x63000 - INCBIN "gfx/stage/red_top/status_bar_symbols_gameboy.2bpp" + INCBIN "gfx/stage/red_top/status_bar_symbols_gameboy.2bpp" -INCBIN "baserom.gbc",$63100,$632a0 - $63100 + dr $63100, $632a0 StageRedFieldTopBaseGameBoyGfx: ; 0x632a0 - INCBIN "gfx/stage/red_top/red_top_base_gameboy.2bpp" + INCBIN "gfx/stage/red_top/red_top_base_gameboy.2bpp" SECTION "bank19", ROMX, BANK[$19] @@ -51434,7 +51517,7 @@ VenonatSilhouettePic: ; 0x66e80 INCBIN "gfx/billboard/mon_silhouettes/venonat.2bpp" StageBlueFieldBottomBaseGameBoyGfx: ; 0x67000 - INCBIN "gfx/stage/blue_bottom/blue_bottom_base_gameboy.2bpp" + INCBIN "gfx/stage/blue_bottom/blue_bottom_base_gameboy.2bpp" SECTION "bank1a", ROMX, BANK[$1a] @@ -51505,12 +51588,12 @@ TaurosSilhouettePic: ; 0x6ae80 INCBIN "gfx/billboard/mon_silhouettes/tauros.2bpp" StageBlueFieldTopStatusBarSymbolsGfx_GameBoy: ; 0x6b000 - INCBIN "gfx/stage/blue_top/status_bar_symbols_gameboy.2bpp" + INCBIN "gfx/stage/blue_top/status_bar_symbols_gameboy.2bpp" -INCBIN "baserom.gbc",$6b100,$6b2a0 - $6b100 + dr $6b100, $6b2a0 StageBlueFieldTopBaseGameBoyGfx: ; 0x6b2a0 - INCBIN "gfx/stage/blue_top/blue_top_base_gameboy.2bpp" + INCBIN "gfx/stage/blue_top/blue_top_base_gameboy.2bpp" SECTION "bank1b", ROMX, BANK[$1b] @@ -51581,7 +51664,7 @@ ArticunoSilhouettePic: ; 0x6ee80 INCBIN "gfx/billboard/mon_silhouettes/articuno.2bpp" UnusedStageGfx: ; 0x6f000 - INCBIN "gfx/stage/unused_stage.2bpp" + INCBIN "gfx/stage/unused_stage.2bpp" SECTION "bank1c", ROMX, BANK[$1c] @@ -51615,10 +51698,10 @@ MewPic: ; 0x71200 MewSilhouettePic: ; 0x71380 INCBIN "gfx/billboard/mon_silhouettes/mew.2bpp" -INCBIN "baserom.gbc",$71500,$73000 - $71500 + dr $71500, $73000 GengarBonusBaseGameBoyGfx: ; 0x73000 - INCBIN "gfx/stage/gengar_bonus/gengar_bonus_base_gameboy.2bpp" + INCBIN "gfx/stage/gengar_bonus/gengar_bonus_base_gameboy.2bpp" SECTION "bank1d", ROMX, BANK[$1d] @@ -51689,7 +51772,7 @@ Nidoran_MSilhouettePic: ; 0x76e80 INCBIN "gfx/billboard/mon_silhouettes/nidoran_m.2bpp" StageRedFieldBottomBaseGameBoyGfx: ; 0x77000 - INCBIN "gfx/stage/red_bottom/red_bottom_base_gameboy.2bpp" + INCBIN "gfx/stage/red_bottom/red_bottom_base_gameboy.2bpp" SECTION "bank1e", ROMX, BANK[$1e] @@ -51781,180 +51864,180 @@ BonusMultiplierX5OffPic: ; 0x7bd80 INCBIN "gfx/billboard/slot/bonusmultiplierX5_off.2bpp" MagikarpBillboardBGPalette1: ; 0x7bf00 - RGB 31, 31, 31 - RGB 29, 28, 4 - RGB 31, 7, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 29, 28, 4 + RGB 31, 7, 0 + RGB 0, 0, 0 MagikarpBillboardBGPalette2: ; 0x7bf08 - RGB 31, 31, 31 - RGB 31, 14, 12 - RGB 31, 7, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 14, 12 + RGB 31, 7, 0 + RGB 0, 0, 0 GyaradosBillboardBGPalette1: ; 0x7bf10 - RGB 31, 31, 31 - RGB 12, 18, 31 - RGB 3, 9, 14 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 12, 18, 31 + RGB 3, 9, 14 + RGB 0, 0, 0 GyaradosBillboardBGPalette2: ; 0x7bf18 - RGB 31, 31, 31 - RGB 31, 14, 16 - RGB 15, 3, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 14, 16 + RGB 15, 3, 0 + RGB 0, 0, 0 LaprasBillboardBGPalette1: ; 0x7bf20 - RGB 31, 31, 31 - RGB 12, 19, 31 - RGB 5, 8, 19 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 12, 19, 31 + RGB 5, 8, 19 + RGB 0, 0, 0 LaprasBillboardBGPalette2: ; 0x7bf28 - RGB 31, 31, 31 - RGB 12, 19, 31 - RGB 5, 8, 19 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 12, 19, 31 + RGB 5, 8, 19 + RGB 0, 0, 0 DittoBillboardBGPalette1: ; 0x7bf30 - RGB 31, 31, 31 - RGB 26, 9, 21 - RGB 15, 2, 10 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 26, 9, 21 + RGB 15, 2, 10 + RGB 0, 0, 0 DittoBillboardBGPalette2: ; 0x7bf38 - RGB 31, 31, 31 - RGB 26, 9, 21 - RGB 15, 2, 10 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 26, 9, 21 + RGB 15, 2, 10 + RGB 0, 0, 0 EeveeBillboardBGPalette1: ; 0x7bf40 - RGB 31, 31, 31 - RGB 25, 16, 4 - RGB 12, 7, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 25, 16, 4 + RGB 12, 7, 0 + RGB 0, 0, 0 EeveeBillboardBGPalette2: ; 0x7bf48 - RGB 31, 31, 31 - RGB 25, 16, 4 - RGB 12, 7, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 25, 16, 4 + RGB 12, 7, 0 + RGB 0, 0, 0 VaporeonBillboardBGPalette1: ; 0x7bf50 - RGB 31, 31, 31 - RGB 10, 18, 29 - RGB 4, 6, 14 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 10, 18, 29 + RGB 4, 6, 14 + RGB 0, 0, 0 VaporeonBillboardBGPalette2: ; 0x7bf58 - RGB 31, 31, 31 - RGB 31, 28, 7 - RGB 4, 6, 14 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 28, 7 + RGB 4, 6, 14 + RGB 0, 0, 0 JolteonBillboardBGPalette1: ; 0x7bf60 - RGB 31, 31, 31 - RGB 31, 26, 0 - RGB 15, 10, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 26, 0 + RGB 15, 10, 0 + RGB 0, 0, 0 JolteonBillboardBGPalette2: ; 0x7bf68 - RGB 31, 31, 31 - RGB 31, 26, 0 - RGB 15, 10, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 26, 0 + RGB 15, 10, 0 + RGB 0, 0, 0 FlareonBillboardBGPalette1: ; 0x7bf70 - RGB 31, 31, 31 - RGB 31, 27, 0 - RGB 31, 6, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 27, 0 + RGB 31, 6, 0 + RGB 0, 0, 0 FlareonBillboardBGPalette2: ; 0x7bf78 - RGB 31, 31, 31 - RGB 31, 27, 0 - RGB 31, 6, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 27, 0 + RGB 31, 6, 0 + RGB 0, 0, 0 PorygonBillboardBGPalette1: ; 0x7bf80 - RGB 31, 31, 31 - RGB 29, 12, 13 - RGB 2, 10, 17 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 29, 12, 13 + RGB 2, 10, 17 + RGB 0, 0, 0 PorygonBillboardBGPalette2: ; 0x7bf88 - RGB 31, 31, 31 - RGB 5, 23, 31 - RGB 2, 10, 17 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 5, 23, 31 + RGB 2, 10, 17 + RGB 0, 0, 0 OmanyteBillboardBGPalette1: ; 0x7bf90 - RGB 31, 31, 31 - RGB 22, 21, 14 - RGB 0, 15, 25 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 22, 21, 14 + RGB 0, 15, 25 + RGB 0, 0, 0 OmanyteBillboardBGPalette2: ; 0x7bf98 - RGB 31, 31, 31 - RGB 11, 26, 29 - RGB 0, 15, 25 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 11, 26, 29 + RGB 0, 15, 25 + RGB 0, 0, 0 OmastarBillboardBGPalette1: ; 0x7bfa0 - RGB 31, 31, 31 - RGB 22, 21, 14 - RGB 0, 15, 25 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 22, 21, 14 + RGB 0, 15, 25 + RGB 0, 0, 0 OmastarBillboardBGPalette2: ; 0x7bfa8 - RGB 31, 31, 31 - RGB 11, 26, 29 - RGB 0, 15, 25 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 11, 26, 29 + RGB 0, 15, 25 + RGB 0, 0, 0 KabutoBillboardBGPalette1: ; 0x7bfb0 - RGB 31, 31, 31 - RGB 29, 18, 0 - RGB 14, 6, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 29, 18, 0 + RGB 14, 6, 0 + RGB 0, 0, 0 KabutoBillboardBGPalette2: ; 0x7bfb8 - RGB 31, 6, 0 - RGB 29, 18, 0 - RGB 14, 6, 0 - RGB 0, 0, 0 + RGB 31, 6, 0 + RGB 29, 18, 0 + RGB 14, 6, 0 + RGB 0, 0, 0 KabutopsBillboardBGPalette1: ; 0x7bfc0 - RGB 31, 31, 31 - RGB 31, 22, 13 - RGB 19, 12, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 22, 13 + RGB 19, 12, 0 + RGB 0, 0, 0 KabutopsBillboardBGPalette2: ; 0x7bfc8 - RGB 31, 31, 31 - RGB 16, 25, 12 - RGB 19, 12, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 16, 25, 12 + RGB 19, 12, 0 + RGB 0, 0, 0 AerodactylBillboardBGPalette1: ; 0x7bfd0 - RGB 31, 31, 31 - RGB 20, 18, 31 - RGB 8, 6, 15 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 18, 31 + RGB 8, 6, 15 + RGB 0, 0, 0 AerodactylBillboardBGPalette2: ; 0x7bfd8 - RGB 31, 31, 31 - RGB 20, 18, 31 - RGB 17, 3, 25 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 18, 31 + RGB 17, 3, 25 + RGB 0, 0, 0 SnorlaxBillboardBGPalette1: ; 0x7bfe0 - RGB 31, 31, 31 - RGB 31, 27, 9 - RGB 5, 6, 14 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 27, 9 + RGB 5, 6, 14 + RGB 0, 0, 0 SnorlaxBillboardBGPalette2: ; 0x7bfe8 - RGB 31, 31, 31 - RGB 31, 27, 9 - RGB 28, 6, 2 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 27, 9 + RGB 28, 6, 2 + RGB 0, 0, 0 ArticunoBillboardBGPalette1: ; 0x7bff0 - RGB 31, 31, 31 - RGB 13, 27, 29 - RGB 5, 13, 24 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 13, 27, 29 + RGB 5, 13, 24 + RGB 0, 0, 0 ArticunoBillboardBGPalette2: ; 0x7bff8 - RGB 31, 31, 31 - RGB 13, 27, 29 - RGB 5, 13, 24 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 13, 27, 29 + RGB 5, 13, 24 + RGB 0, 0, 0 SECTION "bank1f", ROMX, BANK[$1f] @@ -51993,10 +52076,10 @@ HitmonchanAnimatedPic: ; 0x7ed00 INCBIN "gfx/billboard/mon_animated/hitmonchan.w32.interleave.2bpp" MewtwoBonusBaseGameBoyGfx: ; 0x7f000 - INCBIN "gfx/stage/mewtwo_bonus/mewtwo_bonus_base_gameboy.2bpp" + INCBIN "gfx/stage/mewtwo_bonus/mewtwo_bonus_base_gameboy.2bpp" EraseAllDataGfx: ; 0x7fd00: ; 0x7fd00 - INCBIN "gfx/erase_all_data.2bpp" + INCBIN "gfx/erase_all_data.2bpp" SECTION "bank20", ROMX, BANK[$20] @@ -52035,10 +52118,10 @@ TaurosAnimatedPic: ; 0x82d00 INCBIN "gfx/billboard/mon_animated/tauros.w32.interleave.2bpp" MewtwoBonusBaseGameBoyColorGfx: ; 0x83000 - INCBIN "gfx/stage/mewtwo_bonus/mewtwo_bonus_base_gameboycolor.2bpp" + INCBIN "gfx/stage/mewtwo_bonus/mewtwo_bonus_base_gameboycolor.2bpp" StageDiglettBonusCollisionMasks: ; 0x83d00 - INCBIN "data/collision/masks/diglett_bonus.masks" + INCBIN "data/collision/masks/diglett_bonus.masks" SECTION "bank21", ROMX, BANK[$21] @@ -52074,17 +52157,17 @@ MewtwoAnimatedPic: ; 0x86700 MewAnimatedPic: ; 0x86a00 INCBIN "gfx/billboard/mon_animated/mew.w32.interleave.2bpp" -INCBIN "baserom.gbc",$86d00,$87000 - $86d00 + dr $86d00, $87000 DiglettBonusBaseGameBoyColorGfx: ; 0x87000 - INCBIN "gfx/stage/diglett_bonus/diglett_bonus_base_gameboycolor.2bpp" + INCBIN "gfx/stage/diglett_bonus/diglett_bonus_base_gameboycolor.2bpp" -INCBIN "baserom.gbc",$87e00,$87e80 - $87e00 + dr $87e00, $87e80 GengarBonusHaunter1Gfx: ; 0x87e80 - INCBIN "gfx/stage/gengar_bonus/haunter_1.2bpp" + INCBIN "gfx/stage/gengar_bonus/haunter_1.2bpp" GengarBonusHaunter2Gfx: ; 0x87ea0 - INCBIN "gfx/stage/gengar_bonus/haunter_2.w32.interleave.2bpp" + INCBIN "gfx/stage/gengar_bonus/haunter_2.w32.interleave.2bpp" SECTION "bank22", ROMX, BANK[$22] @@ -52124,190 +52207,190 @@ PonytaAnimatedPic: ; 0x8ad00 FieldSelectScreenGfx: FieldSelectBlinkingBorderGfx: ; 0x8b000 - INCBIN "gfx/field_select/blinking_border.2bpp" + INCBIN "gfx/field_select/blinking_border.2bpp" FieldSelectGfx: ; 0x8b100 - INCBIN "gfx/field_select/field_select_tiles.2bpp" + INCBIN "gfx/field_select/field_select_tiles.2bpp" GengarBonusGastlyGfx: ; 0x8bd00 - INCBIN "gfx/stage/gengar_bonus/gastly.w32.interleave.2bpp" + INCBIN "gfx/stage/gengar_bonus/gastly.w32.interleave.2bpp" -INCBIN "baserom.gbc",$8be80,$8bf00 - $8be80 + dr $8be80, $8bf00 BulbasaurBillboardBGPalette1: ; 0x8bf00 - RGB 31, 31, 31 - RGB 0, 19, 13 - RGB 26, 1, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 19, 13 + RGB 26, 1, 0 + RGB 0, 0, 0 BulbasaurBillboardBGPalette2: ; 0x8bf08 - RGB 31, 31, 31 - RGB 0, 19, 13 - RGB 0, 9, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 19, 13 + RGB 0, 9, 0 + RGB 0, 0, 0 IvysaurBillboardBGPalette1: ; 0x8bf10 - RGB 31, 31, 31 - RGB 0, 19, 13 - RGB 0, 12, 6 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 19, 13 + RGB 0, 12, 6 + RGB 0, 0, 0 IvysaurBillboardBGPalette2: ; 0x8bf18 - RGB 31, 31, 31 - RGB 25, 17, 3 - RGB 0, 12, 6 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 25, 17, 3 + RGB 0, 12, 6 + RGB 0, 0, 0 VenusaurBillboardBGPalette1: ; 0x8bf20 - RGB 31, 31, 31 - RGB 0, 19, 13 - RGB 26, 1, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 19, 13 + RGB 26, 1, 0 + RGB 0, 0, 0 VenusaurBillboardBGPalette2: ; 0x8bf28 - RGB 31, 31, 31 - RGB 0, 19, 13 - RGB 5, 15, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 19, 13 + RGB 5, 15, 0 + RGB 0, 0, 0 CharmanderBillboardBGPalette1: ; 0x8bf30 - RGB 31, 31, 31 - RGB 31, 17, 1 - RGB 26, 0, 0 - RGB 3, 2, 0 + RGB 31, 31, 31 + RGB 31, 17, 1 + RGB 26, 0, 0 + RGB 3, 2, 0 CharmanderBillboardBGPalette2: ; 0x8bf38 - RGB 31, 31, 31 - RGB 31, 17, 1 - RGB 26, 0, 0 - RGB 3, 2, 0 + RGB 31, 31, 31 + RGB 31, 17, 1 + RGB 26, 0, 0 + RGB 3, 2, 0 CharmeleonBillboardBGPalette1: ; 0x8bf40 - RGB 31, 31, 31 - RGB 31, 17, 1 - RGB 26, 4, 0 - RGB 3, 2, 0 + RGB 31, 31, 31 + RGB 31, 17, 1 + RGB 26, 4, 0 + RGB 3, 2, 0 CharmeleonBillboardBGPalette2: ; 0x8bf48 - RGB 31, 31, 31 - RGB 31, 17, 1 - RGB 26, 4, 0 - RGB 3, 2, 0 + RGB 31, 31, 31 + RGB 31, 17, 1 + RGB 26, 4, 0 + RGB 3, 2, 0 CharizardBillboardBGPalette1: ; 0x8bf50 - RGB 31, 31, 31 - RGB 31, 17, 1 - RGB 26, 4, 0 - RGB 3, 2, 0 + RGB 31, 31, 31 + RGB 31, 17, 1 + RGB 26, 4, 0 + RGB 3, 2, 0 CharizardBillboardBGPalette2: ; 0x8bf58 - RGB 31, 31, 31 - RGB 31, 17, 1 - RGB 26, 4, 0 - RGB 3, 2, 0 + RGB 31, 31, 31 + RGB 31, 17, 1 + RGB 26, 4, 0 + RGB 3, 2, 0 SquirtleBillboardBGPalette1: ; 0x8bf60 - RGB 31, 31, 31 - RGB 26, 23, 0 - RGB 0, 16, 31 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 26, 23, 0 + RGB 0, 16, 31 + RGB 0, 0, 0 SquirtleBillboardBGPalette2: ; 0x8bf68 - RGB 31, 31, 31 - RGB 14, 27, 31 - RGB 0, 16, 31 - RGB 0, 1, 3 + RGB 31, 31, 31 + RGB 14, 27, 31 + RGB 0, 16, 31 + RGB 0, 1, 3 WartortleBillboardBGPalette1: ; 0x8bf70 - RGB 31, 31, 31 - RGB 29, 23, 0 - RGB 0, 16, 31 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 29, 23, 0 + RGB 0, 16, 31 + RGB 0, 0, 0 WartortleBillboardBGPalette2: ; 0x8bf78 - RGB 31, 31, 31 - RGB 14, 27, 31 - RGB 0, 16, 31 - RGB 0, 1, 3 + RGB 31, 31, 31 + RGB 14, 27, 31 + RGB 0, 16, 31 + RGB 0, 1, 3 BlastoiseBillboardBGPalette1: ; 0x8bf80 - RGB 31, 31, 31 - RGB 27, 20, 10 - RGB 12, 6, 3 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 27, 20, 10 + RGB 12, 6, 3 + RGB 0, 0, 0 BlastoiseBillboardBGPalette2: ; 0x8bf88 - RGB 31, 31, 31 - RGB 11, 18, 31 - RGB 2, 6, 19 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 11, 18, 31 + RGB 2, 6, 19 + RGB 0, 0, 0 CaterpieBillboardBGPalette1: ; 0x8bf90 - RGB 31, 31, 31 - RGB 23, 27, 5 - RGB 3, 17, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 23, 27, 5 + RGB 3, 17, 0 + RGB 0, 0, 0 CaterpieBillboardBGPalette2: ; 0x8bf98 - RGB 31, 31, 31 - RGB 23, 27, 5 - RGB 3, 17, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 23, 27, 5 + RGB 3, 17, 0 + RGB 0, 0, 0 MetapodBillboardBGPalette1: ; 0x8bfa0 - RGB 31, 31, 31 - RGB 23, 27, 5 - RGB 7, 18, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 23, 27, 5 + RGB 7, 18, 0 + RGB 0, 0, 0 MetapodBillboardBGPalette2: ; 0x8bfa8 - RGB 31, 31, 31 - RGB 23, 27, 5 - RGB 7, 18, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 23, 27, 5 + RGB 7, 18, 0 + RGB 0, 0, 0 ButterfreeBillboardBGPalette1: ; 0x8bfb0 - RGB 31, 31, 31 - RGB 31, 15, 0 - RGB 31, 0, 1 - RGB 3, 2, 0 + RGB 31, 31, 31 + RGB 31, 15, 0 + RGB 31, 0, 1 + RGB 3, 2, 0 ButterfreeBillboardBGPalette2: ; 0x8bfb8 - RGB 31, 31, 31 - RGB 11, 13, 31 - RGB 9, 8, 18 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 11, 13, 31 + RGB 9, 8, 18 + RGB 0, 0, 0 WeedleBillboardBGPalette1: ; 0x8bfc0 - RGB 31, 31, 31 - RGB 29, 25, 0 - RGB 25, 6, 7 - RGB 3, 2, 0 + RGB 31, 31, 31 + RGB 29, 25, 0 + RGB 25, 6, 7 + RGB 3, 2, 0 WeedleBillboardBGPalette2: ; 0x8bfc8 - RGB 31, 31, 31 - RGB 29, 25, 0 - RGB 25, 6, 7 - RGB 3, 2, 0 + RGB 31, 31, 31 + RGB 29, 25, 0 + RGB 25, 6, 7 + RGB 3, 2, 0 KakunaBillboardBGPalette1: ; 0x8bfd0 - RGB 31, 31, 31 - RGB 28, 24, 0 - RGB 18, 12, 0 - RGB 3, 2, 0 + RGB 31, 31, 31 + RGB 28, 24, 0 + RGB 18, 12, 0 + RGB 3, 2, 0 KakunaBillboardBGPalette2: ; 0x8bfd8 - RGB 31, 31, 31 - RGB 28, 24, 0 - RGB 18, 12, 0 - RGB 3, 2, 0 + RGB 31, 31, 31 + RGB 28, 24, 0 + RGB 18, 12, 0 + RGB 3, 2, 0 BeedrillBillboardBGPalette1: ; 0x8bfe0 - RGB 31, 31, 31 - RGB 30, 27, 0 - RGB 21, 7, 0 - RGB 3, 2, 0 + RGB 31, 31, 31 + RGB 30, 27, 0 + RGB 21, 7, 0 + RGB 3, 2, 0 BeedrillBillboardBGPalette2: ; 0x8bfe8 - RGB 31, 31, 31 - RGB 30, 27, 0 - RGB 21, 7, 0 - RGB 3, 2, 0 + RGB 31, 31, 31 + RGB 30, 27, 0 + RGB 21, 7, 0 + RGB 3, 2, 0 PidgeyBillboardBGPalette1: ; 0x8bff0 - RGB 31, 31, 31 - RGB 30, 25, 1 - RGB 26, 9, 3 - RGB 3, 2, 0 + RGB 31, 31, 31 + RGB 30, 25, 1 + RGB 26, 9, 3 + RGB 3, 2, 0 PidgeyBillboardBGPalette2: ; 0x8bff8 - RGB 31, 31, 31 - RGB 30, 25, 1 - RGB 26, 9, 3 - RGB 3, 2, 0 + RGB 31, 31, 31 + RGB 30, 25, 1 + RGB 26, 9, 3 + RGB 3, 2, 0 SECTION "bank23", ROMX, BANK[$23] @@ -52346,185 +52429,185 @@ JigglypuffAnimatedPic: ; 0x8ed00 INCBIN "gfx/billboard/mon_animated/jigglypuff.w32.interleave.2bpp" DiglettBonusBaseGameBoyGfx: ; 0x8f000 - INCBIN "gfx/stage/diglett_bonus/diglett_bonus_base_gameboy.2bpp" + INCBIN "gfx/stage/diglett_bonus/diglett_bonus_base_gameboy.2bpp" -INCBIN "baserom.gbc",$8fd00,$8ff00 - $8fd00 + dr $8fd00, $8ff00 PalletTownBillboardBGPalette1: ; 0x8ff00 - RGB 31, 31, 31 - RGB 22, 18, 17 - RGB 0, 19, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 22, 18, 17 + RGB 0, 19, 0 + RGB 0, 0, 0 PalletTownBillboardBGPalette2: ; 0x8ff08 - RGB 31, 31, 31 - RGB 24, 9, 3 - RGB 0, 4, 25 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 24, 9, 3 + RGB 0, 4, 25 + RGB 0, 0, 0 ViridianCityBillboardBGPalette1: ; 0x8ff10 - RGB 31, 31, 31 - RGB 0, 14, 31 - RGB 0, 22, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 14, 31 + RGB 0, 22, 0 + RGB 0, 0, 0 ViridianCityBillboardBGPalette2: ; 0x8ff18 - RGB 31, 31, 31 - RGB 26, 15, 3 - RGB 0, 22, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 26, 15, 3 + RGB 0, 22, 0 + RGB 0, 0, 0 ViridianForestBillboardBGPalette1: ; 0x8ff20 - RGB 31, 31, 31 - RGB 31, 20, 3 - RGB 2, 16, 1 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 20, 3 + RGB 2, 16, 1 + RGB 0, 0, 0 ViridianForestBillboardBGPalette2: ; 0x8ff28 - RGB 31, 31, 31 - RGB 31, 20, 3 - RGB 24, 6, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 20, 3 + RGB 24, 6, 0 + RGB 0, 0, 0 PewterCityBillboardBGPalette1: ; 0x8ff30 - RGB 31, 31, 31 - RGB 27, 20, 10 - RGB 2, 16, 1 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 27, 20, 10 + RGB 2, 16, 1 + RGB 0, 0, 0 PewterCityBillboardBGPalette2: ; 0x8ff38 - RGB 31, 31, 31 - RGB 5, 17, 31 - RGB 26, 3, 1 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 5, 17, 31 + RGB 26, 3, 1 + RGB 0, 0, 0 MtMoonBillboardBGPalette1: ; 0x8ff40 - RGB 31, 28, 2 - RGB 19, 20, 27 - RGB 2, 7, 20 - RGB 0, 0, 0 + RGB 31, 28, 2 + RGB 19, 20, 27 + RGB 2, 7, 20 + RGB 0, 0, 0 MtMoonBillboardBGPalette2: ; 0x8ff48 - RGB 31, 28, 2 - RGB 19, 20, 27 - RGB 2, 7, 20 - RGB 0, 0, 0 + RGB 31, 28, 2 + RGB 19, 20, 27 + RGB 2, 7, 20 + RGB 0, 0, 0 CeruleanCityBillboardBGPalette1: ; 0x8ff50 - RGB 31, 22, 5 - RGB 16, 22, 4 - RGB 1, 15, 0 - RGB 0, 0, 0 + RGB 31, 22, 5 + RGB 16, 22, 4 + RGB 1, 15, 0 + RGB 0, 0, 0 CeruleanCityBillboardBGPalette2: ; 0x8ff58 - RGB 31, 31, 31 - RGB 16, 22, 31 - RGB 3, 11, 31 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 16, 22, 31 + RGB 3, 11, 31 + RGB 0, 0, 0 VermilionSeasideBillboardBGPalette1: ; 0x8ff60 - RGB 31, 31, 31 - RGB 8, 20, 31 - RGB 2, 8, 23 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 8, 20, 31 + RGB 2, 8, 23 + RGB 0, 0, 0 VermilionSeasideBillboardBGPalette2: ; 0x8ff68 - RGB 31, 31, 31 - RGB 22, 22, 22 - RGB 21, 8, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 22, 22, 22 + RGB 21, 8, 0 + RGB 0, 0, 0 VermilionStreetsBillboardBGPalette1: ; 0x8ff70 - RGB 31, 31, 31 - RGB 20, 22, 25 - RGB 31, 8, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 22, 25 + RGB 31, 8, 0 + RGB 0, 0, 0 VermilionStreetsBillboardBGPalette2: ; 0x8ff78 - RGB 31, 31, 31 - RGB 20, 22, 25 - RGB 7, 8, 13 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 22, 25 + RGB 7, 8, 13 + RGB 0, 0, 0 RockMountainBillboardBGPalette1: ; 0x8ff80 - RGB 31, 31, 31 - RGB 27, 13, 4 - RGB 21, 5, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 27, 13, 4 + RGB 21, 5, 0 + RGB 0, 0, 0 RockMountainBillboardBGPalette2: ; 0x8ff88 - RGB 3, 18, 31 - RGB 27, 13, 4 - RGB 2, 16, 1 - RGB 0, 0, 0 + RGB 3, 18, 31 + RGB 27, 13, 4 + RGB 2, 16, 1 + RGB 0, 0, 0 LavenderTownBillboardBGPalette1: ; 0x8ff90 - RGB 31, 31, 10 - RGB 11, 18, 31 - RGB 2, 6, 19 - RGB 0, 0, 0 + RGB 31, 31, 10 + RGB 11, 18, 31 + RGB 2, 6, 19 + RGB 0, 0, 0 LavenderTownBillboardBGPalette2: ; 0x8ff98 - RGB 31, 31, 31 - RGB 11, 18, 31 - RGB 2, 6, 19 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 11, 18, 31 + RGB 2, 6, 19 + RGB 0, 0, 0 CeladonCityBillboardBGPalette1: ; 0x8ffa0 - RGB 31, 31, 31 - RGB 11, 19, 31 - RGB 29, 8, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 11, 19, 31 + RGB 29, 8, 4 + RGB 0, 0, 0 CeladonCityBillboardBGPalette2: ; 0x8ffa8 - RGB 31, 31, 31 - RGB 31, 9, 9 - RGB 16, 2, 2 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 9, 9 + RGB 16, 2, 2 + RGB 0, 0, 0 CyclingRoadBillboardBGPalette1: ; 0x8ffb0 - RGB 31, 24, 15 - RGB 11, 21, 5 - RGB 31, 9, 5 - RGB 0, 0, 0 + RGB 31, 24, 15 + RGB 11, 21, 5 + RGB 31, 9, 5 + RGB 0, 0, 0 CyclingRoadBillboardBGPalette2: ; 0x8ffb8 - RGB 31, 22, 13 - RGB 11, 21, 5 - RGB 0, 15, 0 - RGB 0, 0, 0 + RGB 31, 22, 13 + RGB 11, 21, 5 + RGB 0, 15, 0 + RGB 0, 0, 0 FuchsiaCityBillboardBGPalette1: ; 0x8ffc0 - RGB 31, 31, 31 - RGB 10, 25, 31 - RGB 26, 3, 1 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 10, 25, 31 + RGB 26, 3, 1 + RGB 0, 0, 0 FuchsiaCityBillboardBGPalette2: ; 0x8ffc8 - RGB 31, 31, 31 - RGB 27, 23, 6 - RGB 28, 6, 3 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 27, 23, 6 + RGB 28, 6, 3 + RGB 0, 0, 0 SafariZoneBillboardBGPalette1: ; 0x8ffd0 - RGB 31, 31, 31 - RGB 13, 27, 31 - RGB 4, 19, 27 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 13, 27, 31 + RGB 4, 19, 27 + RGB 0, 0, 0 SafariZoneBillboardBGPalette2: ; 0x8ffd8 - RGB 29, 21, 17 - RGB 13, 19, 5 - RGB 0, 14, 0 - RGB 0, 0, 0 + RGB 29, 21, 17 + RGB 13, 19, 5 + RGB 0, 14, 0 + RGB 0, 0, 0 SaffronCityBillboardBGPalette1: ; 0x8ffe0 - RGB 31, 31, 31 - RGB 8, 19, 31 - RGB 2, 7, 26 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 8, 19, 31 + RGB 2, 7, 26 + RGB 0, 0, 0 SaffronCityBillboardBGPalette2: ; 0x8ffe8 - RGB 31, 31, 31 - RGB 27, 28, 1 - RGB 24, 7, 5 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 27, 28, 1 + RGB 24, 7, 5 + RGB 0, 0, 0 SeafoamIslandsBillboardBGPalette1: ; 0x8fff0 - RGB 24, 27, 30 - RGB 31, 24, 1 - RGB 2, 15, 1 - RGB 0, 0, 0 + RGB 24, 27, 30 + RGB 31, 24, 1 + RGB 2, 15, 1 + RGB 0, 0, 0 SeafoamIslandsBillboardBGPalette2: ; 0x8fff8 - RGB 24, 27, 30 - RGB 0, 14, 31 - RGB 0, 9, 23 - RGB 0, 0, 0 + RGB 24, 27, 30 + RGB 0, 14, 31 + RGB 0, 9, 23 + RGB 0, 0, 0 SECTION "bank24", ROMX, BANK[$24] @@ -52595,21 +52678,21 @@ RhydonSilhouettePic: ; 0x92e80 INCBIN "gfx/billboard/mon_silhouettes/rhydon.2bpp" SeelBonusBaseGameBoyGfx: ; 0x93000 - INCBIN "gfx/stage/seel_bonus/seel_bonus_base_gameboy.2bpp" + INCBIN "gfx/stage/seel_bonus/seel_bonus_base_gameboy.2bpp" CinnabarIslandBillboardBGPaletteMap: ; 0x93c00 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $7, $7, $6, $6 - db $6, $6, $7, $7, $7, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $7, $7, $6, $6 + db $6, $6, $7, $7, $7, $6 + db $6, $6, $6, $6, $6, $6 IndigoPlateauBillboardBGPaletteMap: ; 0x93c18 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $7, $7, $7, $7, $7, $7 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $7, $7, $7, $7, $7, $7 -INCBIN "baserom.gbc",$93c39,$94000 - $93c39 + dr $93c39, $94000 SECTION "bank25", ROMX, BANK[$25] @@ -52680,14 +52763,14 @@ DrowzeeSilhouettePic: ; 0x96e80 INCBIN "gfx/billboard/mon_silhouettes/drowzee.2bpp" SeelBonusBaseGameBoyColorGfx: ; 0x97000 - INCBIN "gfx/stage/seel_bonus/seel_bonus_base_gameboycolor.2bpp" + INCBIN "gfx/stage/seel_bonus/seel_bonus_base_gameboycolor.2bpp" StageRedFieldTopGfx3: ; 0x97a00 - INCBIN "gfx/stage/red_top/red_top_3.2bpp" + INCBIN "gfx/stage/red_top/red_top_3.2bpp" StageRedFieldTopGfx1: ; 0x97ba0 - INCBIN "gfx/stage/red_top/red_top_1.2bpp" + INCBIN "gfx/stage/red_top/red_top_1.2bpp" StageRedFieldTopGfx2: ; 0x97e00 - INCBIN "gfx/stage/red_top/red_top_2.2bpp" + INCBIN "gfx/stage/red_top/red_top_2.2bpp" SECTION "bank26", ROMX, BANK[$26] @@ -52758,69 +52841,69 @@ SlowbroSilhouettePic: ; 0x9ae80 INCBIN "gfx/billboard/mon_silhouettes/slowbro.2bpp" SeelBonusSeel3Gfx: ; 0x9b000 - INCBIN "gfx/stage/seel_bonus/seel_3.2bpp" + INCBIN "gfx/stage/seel_bonus/seel_3.2bpp" SeelBonusSeel1Gfx: ; 0x9b1a0 - INCBIN "gfx/stage/seel_bonus/seel_1.2bpp" + INCBIN "gfx/stage/seel_bonus/seel_1.2bpp" SeelBonusSeel2Gfx: ; 0x9b400 - INCBIN "gfx/stage/seel_bonus/seel_2.2bpp" + INCBIN "gfx/stage/seel_bonus/seel_2.2bpp" SeelBonusSeel4Gfx: ; 0x9b460 - INCBIN "gfx/stage/seel_bonus/seel_4.2bpp" + INCBIN "gfx/stage/seel_bonus/seel_4.2bpp" -INCBIN "baserom.gbc",$9b900,$9bba0 - $9b900 + dr $9b900, $9bba0 GengarBonusGengar1Gfx: ; 0x9bba0 - INCBIN "gfx/stage/gengar_bonus/gengar_1.2bpp" + INCBIN "gfx/stage/gengar_bonus/gengar_1.2bpp" GengarBonusGengar2Gfx: ; 0x9bd00 - INCBIN "gfx/stage/gengar_bonus/gengar_2.2bpp" + INCBIN "gfx/stage/gengar_bonus/gengar_2.2bpp" GengarBonusGengar3Gfx: ; 0x9bd60 - INCBIN "gfx/stage/gengar_bonus/gengar_3.2bpp" + INCBIN "gfx/stage/gengar_bonus/gengar_3.2bpp" SECTION "bank27", ROMX, BANK[$27] StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor: ; 0x9c000 - INCBIN "gfx/stage/red_top/status_bar_symbols_gameboycolor.2bpp" + INCBIN "gfx/stage/red_top/status_bar_symbols_gameboycolor.2bpp" -INCBIN "baserom.gbc",$9c100,$9c2a0 - $9c100 + dr $9c100, $9c2a0 StageRedFieldTopBaseGameBoyColorGfx: ; 0x9c2a0 - INCBIN "gfx/stage/red_top/red_top_base_gameboycolor.2bpp" + INCBIN "gfx/stage/red_top/red_top_base_gameboycolor.2bpp" StageRedFieldTopGfx4: ; 0x9d000 - INCBIN "gfx/stage/red_top/red_top_4.2bpp" + INCBIN "gfx/stage/red_top/red_top_4.2bpp" GengarBonusBaseGameBoyColorGfx: ; 0x9e000 - INCBIN "gfx/stage/gengar_bonus/gengar_bonus_base_gameboycolor.2bpp" + INCBIN "gfx/stage/gengar_bonus/gengar_bonus_base_gameboycolor.2bpp" GengarBonus1Gfx: ; 0x9f000 - INCBIN "gfx/stage/gengar_bonus/gengar_bonus_1.2bpp" + INCBIN "gfx/stage/gengar_bonus/gengar_bonus_1.2bpp" SECTION "bank28", ROMX, BANK[$28] StageBlueFieldTopStatusBarSymbolsGfx_GameBoyColor: ; 0xa0000 - INCBIN "gfx/stage/blue_top/status_bar_symbols_gameboycolor.2bpp" + INCBIN "gfx/stage/blue_top/status_bar_symbols_gameboycolor.2bpp" -INCBIN "baserom.gbc",$a0100,$a02a0 - $a0100 + dr $a0100, $a02a0 StageBlueFieldTopBaseGameBoyColorGfx: ; 0xa02a0 - INCBIN "gfx/stage/blue_top/blue_top_base_gameboycolor.2bpp" + INCBIN "gfx/stage/blue_top/blue_top_base_gameboycolor.2bpp" StageBlueFieldTopGfx4: ; 0xa1000 - INCBIN "gfx/stage/blue_top/blue_top_4.2bpp" + INCBIN "gfx/stage/blue_top/blue_top_4.2bpp" StageRedFieldBottomBaseGameBoyColorGfx: ; 0xa2000 - INCBIN "gfx/stage/red_bottom/red_bottom_base_gameboycolor.2bpp" + INCBIN "gfx/stage/red_bottom/red_bottom_base_gameboycolor.2bpp" StageRedFieldBottomGfx5: ; 0xa3000 - INCBIN "gfx/stage/red_bottom/red_bottom_5.2bpp" + INCBIN "gfx/stage/red_bottom/red_bottom_5.2bpp" SECTION "bank29", ROMX, BANK[$29] StageBlueFieldBottomBaseGameBoyColorGfx: ; 0xa4000 - INCBIN "gfx/stage/blue_bottom/blue_bottom_base_gameboycolor.2bpp" + INCBIN "gfx/stage/blue_bottom/blue_bottom_base_gameboycolor.2bpp" StageBlueFieldBottomGfx1: ; 0xa5000 - INCBIN "gfx/stage/blue_bottom/blue_bottom_1.2bpp" + INCBIN "gfx/stage/blue_bottom/blue_bottom_1.2bpp" PalletTownPic: ; 0xa6000 INCBIN "gfx/billboard/maps/pallettown.2bpp" @@ -52858,5118 +52941,5131 @@ CinnabarIslandPic: ; 0xa7800 INCBIN "gfx/billboard/maps/cinnabarisland.2bpp" IndigoPlateauPic: ; 0xa7980 INCBIN "gfx/billboard/maps/indigoplateau.2bpp" - -INCBIN "baserom.gbc",$a7b00,$a8000 - $a7b00 ; 0xa7b00 +GFX_a7b00: + dr $a7b00, $a8000 ; 0xa7b00 SECTION "bank2a", ROMX, BANK[$2a] -INCBIN "baserom.gbc",$a8000,$a82c0 - $a8000 + dr $a8000, $a82c0 PinballGreatballShakeGfx: ; 0xa82c0 - INCBIN "gfx/stage/ball_greatball_shake.w16.interleave.2bpp" + INCBIN "gfx/stage/ball_greatball_shake.w16.interleave.2bpp" PinballUltraballShakeGfx: ; 0xa8300 - INCBIN "gfx/stage/ball_ultraball_shake.w16.interleave.2bpp" + INCBIN "gfx/stage/ball_ultraball_shake.w16.interleave.2bpp" PinballMasterballShakeGfx: ; 0xa8340 - INCBIN "gfx/stage/ball_masterball_shake.w16.interleave.2bpp" + INCBIN "gfx/stage/ball_masterball_shake.w16.interleave.2bpp" PinballPokeballShakeGfx: ; 0xa8380 - INCBIN "gfx/stage/ball_pokeball_shake.w16.interleave.2bpp" + INCBIN "gfx/stage/ball_pokeball_shake.w16.interleave.2bpp" StageSharedPikaBoltGfx: ; 0xa83c0 - INCBIN "gfx/stage/shared/pika_bolt.2bpp" + INCBIN "gfx/stage/shared/pika_bolt.2bpp" PinballPokeballGfx: ; 0xa8400 - INCBIN "gfx/stage/ball_pokeball.w32.interleave.2bpp" + INCBIN "gfx/stage/ball_pokeball.w32.interleave.2bpp" FlipperGfx: ; 0xa8600 - INCBIN "gfx/stage/flipper.2bpp" + INCBIN "gfx/stage/flipper.2bpp" PikachuSaverGfx: ; 0xa8720 - INCBIN "gfx/stage/pikachu_saver.2bpp" + INCBIN "gfx/stage/pikachu_saver.2bpp" -INCBIN "baserom.gbc",$a8800,$a8a00 - $a8800 + dr $a8800, $a8a00 PinballGreatballGfx: ; 0xa8a00 - INCBIN "gfx/stage/ball_greatball.w32.interleave.2bpp" + INCBIN "gfx/stage/ball_greatball.w32.interleave.2bpp" PinballUltraballGfx: ; 0xa8c00 - INCBIN "gfx/stage/ball_ultraball.w32.interleave.2bpp" + INCBIN "gfx/stage/ball_ultraball.w32.interleave.2bpp" PinballMasterballGfx: ; 0xa8e00 - INCBIN "gfx/stage/ball_masterball.w32.interleave.2bpp" + INCBIN "gfx/stage/ball_masterball.w32.interleave.2bpp" PinballPokeballMiniGfx: ; 0xa9000 - INCBIN "gfx/stage/ball_pokeball_mini.w32.interleave.2bpp" + INCBIN "gfx/stage/ball_pokeball_mini.w32.interleave.2bpp" PinballGreatballMiniGfx: ; 0xa9200 - INCBIN "gfx/stage/ball_greatball_mini.w32.interleave.2bpp" + INCBIN "gfx/stage/ball_greatball_mini.w32.interleave.2bpp" PinballUltraballMiniGfx: ; 0xa9400 - INCBIN "gfx/stage/ball_ultraball_mini.w32.interleave.2bpp" + INCBIN "gfx/stage/ball_ultraball_mini.w32.interleave.2bpp" PinballMasterballMiniGfx: ; 0xa9600 - INCBIN "gfx/stage/ball_masterball_mini.w32.interleave.2bpp" + INCBIN "gfx/stage/ball_masterball_mini.w32.interleave.2bpp" PinballBallMiniGfx: ; 0xa9800 - INCBIN "gfx/stage/ball_mini.w32.interleave.2bpp" + INCBIN "gfx/stage/ball_mini.w32.interleave.2bpp" HighScoresBaseGameBoyGfx: ; 0xa9a00 - INCBIN "gfx/high_scores/high_scores_base_gameboy.2bpp" + INCBIN "gfx/high_scores/high_scores_base_gameboy.2bpp" MeowthBonusBaseGameBoyColorGfx: ; 0xab200 - INCBIN "gfx/stage/meowth_bonus/meowth_bonus_base_gameboycolor.2bpp" + INCBIN "gfx/stage/meowth_bonus/meowth_bonus_base_gameboycolor.2bpp" PaletteTownBillboardBGPaletteMap: ; 0xabb00 - db $6, $7, $7, $7, $7, $7 - db $6, $6, $6, $6, $6, $7 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $7, $7, $7, $7 + db $6, $7, $7, $7, $7, $7 + db $6, $6, $6, $6, $6, $7 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $7, $7, $7, $7 ViridianCityBillboardBGPaletteMap: ; 0xabb18 - db $6, $6, $6, $6, $7, $6 - db $6, $6, $6, $6, $7, $6 - db $7, $7, $7, $7, $7, $6 - db $7, $7, $7, $7, $7, $6 + db $6, $6, $6, $6, $7, $6 + db $6, $6, $6, $6, $7, $6 + db $7, $7, $7, $7, $7, $6 + db $7, $7, $7, $7, $7, $6 ViridianForestBillboardBGPaletteMap: ; 0xabb30 - db $6, $7, $6, $6, $7, $6 - db $7, $7, $7, $7, $7, $6 - db $6, $7, $6, $6, $7, $6 - db $6, $7, $7, $7, $7, $6 + db $6, $7, $6, $6, $7, $6 + db $7, $7, $7, $7, $7, $6 + db $6, $7, $6, $6, $7, $6 + db $6, $7, $7, $7, $7, $6 PewterCityBillboardBGPaletteMap: ; 0xabb48 - db $7, $7, $7, $7, $7, $7 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $7, $7, $7, $7, $7, $7 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 MtMoonBillboardBGPaletteMap: ; 0xabb60 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 CeruleanCityBillboardBGPaletteMap: ; 0xabb78 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 VermilionSeasideBillboardBGPaletteMap: ; 0xabb90 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $7, $7, $7, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $7, $7, $7, $6, $6, $6 VermilionStreetsBillboardBGPaletteMap: ; 0xabba8 - db $6, $6, $6, $6, $6, $7 - db $6, $6, $7, $7, $7, $7 - db $6, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 + db $6, $6, $6, $6, $6, $7 + db $6, $6, $7, $7, $7, $7 + db $6, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 RockMountainBillboardBGPaletteMap: ; 0xabbc0 - db $7, $7, $7, $7, $7, $7 - db $6, $6, $7, $7, $7, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $7, $7, $7, $7, $7, $7 + db $6, $6, $7, $7, $7, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 LavenderTownBillboardBGPaletteMap: ; 0xabbd8 - db $6, $7, $7, $6, $6, $6 - db $6, $7, $7, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $7, $7, $6, $6, $6 + db $6, $7, $7, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 CeladonCityBillboardBGPaletteMap: ; 0xabbf0 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $7, $7, $7, $7 - db $6, $6, $7, $7, $7, $7 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $7, $7, $7, $7 + db $6, $6, $7, $7, $7, $7 CyclingRoadBillboardBGPaletteMap: ; 0xabc08 - db $7, $7, $7, $7, $6, $6 - db $7, $6, $6, $6, $6, $7 - db $6, $6, $6, $6, $6, $7 - db $6, $6, $6, $6, $7, $7 + db $7, $7, $7, $7, $6, $6 + db $7, $6, $6, $6, $6, $7 + db $6, $6, $6, $6, $6, $7 + db $6, $6, $6, $6, $7, $7 FuchsiaCityBillboardBGPaletteMap: ; 0xabc20 - db $7, $6, $6, $6, $6, $6 - db $7, $6, $6, $6, $6, $6 - db $7, $7, $7, $6, $6, $7 - db $7, $7, $7, $7, $7, $7 + db $7, $6, $6, $6, $6, $6 + db $7, $6, $6, $6, $6, $6 + db $7, $7, $7, $6, $6, $7 + db $7, $7, $7, $7, $7, $7 SafariZoneBillboardBGPaletteMap: ; 0xabc38 - db $6, $6, $6, $6, $6, $6 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 + db $6, $6, $6, $6, $6, $6 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 SaffronCityBillboardBGPaletteMap: ; 0xabc50 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $7, $7, $7, $6, $7, $7 - db $7, $7, $7, $7, $7, $7 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $7, $7, $7, $6, $7, $7 + db $7, $7, $7, $7, $7, $7 SeafoamIslandsBillboardBGPaletteMap: ; 0xabc68 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $6, $7, $7, $7 - db $7, $7, $7, $6, $7, $7 - db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $6, $7, $7, $7 + db $7, $7, $7, $6, $7, $7 + db $7, $7, $7, $7, $7, $7 -INCBIN "baserom.gbc",$abc80,$abf00 - $abc80 + dr $abc80, $abf00 BulbasaurAnimatedObjPalette1: ; 0xabf00 - RGB 31, 31, 31 - RGB 5, 21, 30 - RGB 1, 3, 22 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 5, 21, 30 + RGB 1, 3, 22 + RGB 0, 0, 0 BulbasaurAnimatedObjPalette2: ; 0xabf08 - RGB 31, 31, 31 - RGB 0, 21, 15 - RGB 0, 12, 6 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 21, 15 + RGB 0, 12, 6 + RGB 0, 0, 0 CharmanderAnimatedObjPalette1: ; 0xabf10 - RGB 31, 31, 31 - RGB 31, 17, 0 - RGB 26, 1, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 17, 0 + RGB 26, 1, 0 + RGB 0, 0, 0 CharmanderAnimatedObjPalette2: ; 0xabf18 - RGB 31, 31, 31 - RGB 31, 17, 0 - RGB 26, 1, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 17, 0 + RGB 26, 1, 0 + RGB 0, 0, 0 SquirtleAnimatedObjPalette1: ; 0xabf20 - RGB 31, 31, 31 - RGB 4, 19, 31 - RGB 1, 5, 17 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 4, 19, 31 + RGB 1, 5, 17 + RGB 0, 0, 0 SquirtleAnimatedObjPalette2: ; 0xabf28 - RGB 31, 31, 31 - RGB 31, 20, 11 - RGB 14, 9, 3 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 20, 11 + RGB 14, 9, 3 + RGB 0, 0, 0 CaterpieAnimatedObjPalette1: ; 0xabf30 - RGB 31, 31, 31 - RGB 0, 25, 9 - RGB 27, 13, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 25, 9 + RGB 27, 13, 0 + RGB 0, 0, 0 CaterpieAnimatedObjPalette2: ; 0xabf38 - RGB 31, 31, 31 - RGB 0, 25, 9 - RGB 27, 13, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 25, 9 + RGB 27, 13, 0 + RGB 0, 0, 0 WeedleAnimatedObjPalette1: ; 0xabf40 - RGB 31, 31, 31 - RGB 31, 25, 3 - RGB 25, 9, 7 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 25, 3 + RGB 25, 9, 7 + RGB 0, 0, 0 WeedleAnimatedObjPalette2: ; 0xabf48 - RGB 31, 31, 31 - RGB 31, 25, 3 - RGB 25, 9, 7 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 25, 3 + RGB 25, 9, 7 + RGB 0, 0, 0 PidgeyAnimatedObjPalette1: ; 0xabf50 - RGB 31, 31, 31 - RGB 31, 20, 11 - RGB 21, 10, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 20, 11 + RGB 21, 10, 4 + RGB 0, 0, 0 PidgeyAnimatedObjPalette2: ; 0xabf58 - RGB 31, 31, 31 - RGB 31, 20, 11 - RGB 21, 10, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 20, 11 + RGB 21, 10, 4 + RGB 0, 0, 0 RattataAnimatedObjPalette1: ; 0xabf60 - RGB 31, 31, 31 - RGB 30, 12, 23 - RGB 20, 4, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 30, 12, 23 + RGB 20, 4, 8 + RGB 0, 0, 0 RattataAnimatedObjPalette2: ; 0xabf68 - RGB 31, 31, 31 - RGB 30, 12, 23 - RGB 20, 4, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 30, 12, 23 + RGB 20, 4, 8 + RGB 0, 0, 0 SpearowAnimatedObjPalette1: ; 0xabf70 - RGB 31, 31, 31 - RGB 31, 22, 14 - RGB 24, 4, 2 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 22, 14 + RGB 24, 4, 2 + RGB 0, 0, 0 SpearowAnimatedObjPalette2: ; 0xabf78 - RGB 31, 31, 31 - RGB 31, 22, 14 - RGB 24, 4, 2 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 22, 14 + RGB 24, 4, 2 + RGB 0, 0, 0 EkansAnimatedObjPalette1: ; 0xabf80 - RGB 31, 31, 31 - RGB 30, 26, 12 - RGB 20, 7, 12 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 30, 26, 12 + RGB 20, 7, 12 + RGB 0, 0, 0 EkansAnimatedObjPalette2: ; 0xabf88 - RGB 31, 31, 31 - RGB 30, 26, 12 - RGB 20, 7, 12 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 30, 26, 12 + RGB 20, 7, 12 + RGB 0, 0, 0 PikachuAnimatedObjPalette1: ; 0xabf90 - RGB 31, 31, 31 - RGB 31, 29, 0 - RGB 23, 10, 0 - RGB 3, 3, 0 + RGB 31, 31, 31 + RGB 31, 29, 0 + RGB 23, 10, 0 + RGB 3, 3, 0 PikachuAnimatedObjPalette2: ; 0xabf98 - RGB 31, 31, 31 - RGB 31, 29, 0 - RGB 23, 10, 0 - RGB 3, 3, 0 + RGB 31, 31, 31 + RGB 31, 29, 0 + RGB 23, 10, 0 + RGB 3, 3, 0 SandshrewAnimatedObjPalette1: ; 0xabfa0 - RGB 31, 31, 31 - RGB 30, 25, 3 - RGB 19, 11, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 30, 25, 3 + RGB 19, 11, 0 + RGB 0, 0, 0 SandshrewAnimatedObjPalette2: ; 0xabfa8 - RGB 31, 31, 31 - RGB 30, 25, 3 - RGB 19, 11, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 30, 25, 3 + RGB 19, 11, 0 + RGB 0, 0, 0 NidoranFAnimatedObjPalette1: ; 0xabfb0 - RGB 31, 31, 31 - RGB 19, 23, 30 - RGB 8, 8, 24 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 19, 23, 30 + RGB 8, 8, 24 + RGB 0, 0, 0 NidoranFAnimatedObjPalette2: ; 0xabfb8 - RGB 31, 31, 31 - RGB 19, 23, 30 - RGB 8, 8, 24 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 19, 23, 30 + RGB 8, 8, 24 + RGB 0, 0, 0 NidoranMAnimatedObjPalette1: ; 0xabfc0 - RGB 31, 31, 31 - RGB 28, 16, 25 - RGB 20, 5, 12 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 28, 16, 25 + RGB 20, 5, 12 + RGB 0, 0, 0 NidoranMAnimatedObjPalette2: ; 0xabfc8 - RGB 31, 31, 31 - RGB 28, 16, 25 - RGB 20, 5, 12 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 28, 16, 25 + RGB 20, 5, 12 + RGB 0, 0, 0 ClefairyAnimatedObjPalette1: ; 0xabfd0 - RGB 31, 31, 31 - RGB 31, 20, 20 - RGB 23, 5, 6 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 20, 20 + RGB 23, 5, 6 + RGB 0, 0, 0 ClefairyAnimatedObjPalette2: ; 0xabfd8 - RGB 31, 31, 31 - RGB 31, 20, 20 - RGB 23, 5, 6 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 20, 20 + RGB 23, 5, 6 + RGB 0, 0, 0 VulpixAnimatedObjPalette1: ; 0xabfe0 - RGB 31, 31, 31 - RGB 30, 20, 13 - RGB 27, 8, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 30, 20, 13 + RGB 27, 8, 0 + RGB 0, 0, 0 VulpixAnimatedObjPalette2: ; 0xabfe8 - RGB 31, 31, 31 - RGB 30, 20, 13 - RGB 27, 8, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 30, 20, 13 + RGB 27, 8, 0 + RGB 0, 0, 0 JigglypuffAnimatedObjPalette1: ; 0xabff0 - RGB 31, 31, 31 - RGB 31, 18, 18 - RGB 7, 6, 27 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 18, 18 + RGB 7, 6, 27 + RGB 0, 0, 0 JigglypuffAnimatedObjPalette2: ; 0xabff8 - RGB 31, 31, 31 - RGB 31, 18, 18 - RGB 7, 6, 27 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 18, 18 + RGB 7, 6, 27 + RGB 0, 0, 0 SECTION "bank2b", ROMX, BANK[$2b] TitlescreenFadeInGfx: ; 0xac000 - INCBIN "gfx/titlescreen/titlescreen_fade_in.2bpp" + INCBIN "gfx/titlescreen/titlescreen_fade_in.2bpp" -INCBIN "baserom.gbc",$ad800,$af000 - $ad800 + dr $ad800, $af000 StageBlueFieldBottomCollisionMasks: ; 0xaf000 - INCBIN "data/collision/masks/blue_stage_bottom.masks" + INCBIN "data/collision/masks/blue_stage_bottom.masks" -INCBIN "baserom.gbc",$af800,$af900 - $af800 + dr $af800, $af900 DiglettBonusDugtrio3Gfx: ; 0xaf900 - INCBIN "gfx/stage/diglett_bonus/dugtrio_3.2bpp" + INCBIN "gfx/stage/diglett_bonus/dugtrio_3.2bpp" DiglettBonusDugtrio1Gfx: ; 0xafaa0 - INCBIN "gfx/stage/diglett_bonus/dugtrio_1.2bpp" + INCBIN "gfx/stage/diglett_bonus/dugtrio_1.2bpp" DiglettBonusDugtrio2Gfx: ; 0xafd00 - INCBIN "gfx/stage/diglett_bonus/dugtrio_2.2bpp" + INCBIN "gfx/stage/diglett_bonus/dugtrio_2.2bpp" DiglettBonusDugtrio4Gfx: ; 0xafd60 - INCBIN "gfx/stage/diglett_bonus/dugtrio_4.2bpp" + INCBIN "gfx/stage/diglett_bonus/dugtrio_4.2bpp" SECTION "bank2c", ROMX, BANK[$2c] -INCBIN "baserom.gbc",$b0000,$b3000 - $b0000 + dr $b0000, $b3000 StageRedFieldTopCollisionAttributes6: ; 0xb3000 - INCBIN "data/collision/maps/red_stage_top_6.collision" + INCBIN "data/collision/maps/red_stage_top_6.collision" -INCBIN "baserom.gbc",$b3400,$b3800 - $b3400 + dr $b3400, $b3800 FieldSelectTilemap: ; 0xb3800 - INCBIN "gfx/tilemaps/field_select.map" + INCBIN "gfx/tilemaps/field_select.map" FieldSelectBGAttributes: ; 0xb3c00 - INCBIN "gfx/bgattr/field_select.bgattr" + INCBIN "gfx/bgattr/field_select.bgattr" SECTION "bank2d", ROMX, BANK[$2d] TitlescreenGfx: ; 0xb4000 - INCBIN "gfx/titlescreen/titlescreen.2bpp" + INCBIN "gfx/titlescreen/titlescreen.2bpp" OptionMenuAndKeyConfigGfx: OptionMenuBlankGfx: ; 0xb5800 - INCBIN "gfx/option_menu/blank.2bpp" + INCBIN "gfx/option_menu/blank.2bpp" OptionMenuArrowGfx: ; 0xb5a00 - INCBIN "gfx/option_menu/arrow.2bpp" + INCBIN "gfx/option_menu/arrow.2bpp" OptionMenuPikaBubbleGfx: ; 0xb5a20 - INCBIN "gfx/option_menu/pika_bubble.2bpp" + INCBIN "gfx/option_menu/pika_bubble.2bpp" OptionMenuBouncingPokeballGfx: ; 0xb5a80 - INCBIN "gfx/option_menu/bouncing_pokeball.2bpp" + INCBIN "gfx/option_menu/bouncing_pokeball.2bpp" OptionMenuRumblePikachuAnimationGfx: ; 0xb5b40 - INCBIN "gfx/option_menu/rumble_pikachu_animation.2bpp" + INCBIN "gfx/option_menu/rumble_pikachu_animation.2bpp" OptionMenuPsyduckGfx: ; 0xb5c00 - INCBIN "gfx/option_menu/psyduck.2bpp" + INCBIN "gfx/option_menu/psyduck.2bpp" OptionMenuBoldArrowGfx: ; 0xb5fc0 - INCBIN "gfx/option_menu/bold_arrow.2bpp" + INCBIN "gfx/option_menu/bold_arrow.2bpp" OptionMenuUnknownGfx: ; 0xb5fd0 - INCBIN "baserom.gbc",$b5fd0,$b6020 - $b5fd0 + dr $b5fd0, $b6020 OptionMenuOptionTextGfx: ; 0xb6020 - INCBIN "gfx/option_menu/option_text.2bpp" + INCBIN "gfx/option_menu/option_text.2bpp" OptionMenuPikachuGfx: ; 0xb6080 - INCBIN "gfx/option_menu/pikachu.2bpp" + INCBIN "gfx/option_menu/pikachu.2bpp" OptionMenuPsyduckFeetGfx: ; 0xb6170 - INCBIN "gfx/option_menu/psyduck_feet.2bpp" + INCBIN "gfx/option_menu/psyduck_feet.2bpp" OptionMenuUnknown2Gfx: ; 0xb6200 - INCBIN "baserom.gbc",$b6200,$b6250 - $b6200 + dr $b6200, $b6250 OptionMenuRumbleTextGfx: ; 0xb6250 - INCBIN "gfx/option_menu/rumble_text.2bpp" + INCBIN "gfx/option_menu/rumble_text.2bpp" OptionMenuUnknown3Gfx: ; 0xb62b0 - INCBIN "baserom.gbc",$b62b0,$b6320 - $b62b0 + dr $b62b0, $b6320 OptionMenuKeyCoTextGfx: ; 0xb6320 - INCBIN "gfx/option_menu/key_co_text.2bpp" + INCBIN "gfx/option_menu/key_co_text.2bpp" OptionMenuSoundTestDigitsGfx: ; 0xb6370 - INCBIN "gfx/option_menu/sound_test_digits.2bpp" + INCBIN "gfx/option_menu/sound_test_digits.2bpp" OptionMenuNfigTextGfx: ; 0xb6470 - INCBIN "gfx/option_menu/nfig_text.2bpp" + INCBIN "gfx/option_menu/nfig_text.2bpp" OptionMenuUnknown4Gfx: ; 0xb64a0 - INCBIN "baserom.gbc",$b64a0,$b6500 - $b64a0 + dr $b64a0, $b6500 KeyConfigResetTextGfx: ; 0xb6500 - INCBIN "gfx/key_config/reset_text.2bpp" + INCBIN "gfx/key_config/reset_text.2bpp" KeyConfigBallStartTextGfx: ; 0xb6560 - INCBIN "gfx/key_config/ball_start_text.2bpp" + INCBIN "gfx/key_config/ball_start_text.2bpp" KeyConfigLeftFlipperTextGfx: ; 0xb65f0 - INCBIN "gfx/key_config/left_flipper_text.2bpp" + INCBIN "gfx/key_config/left_flipper_text.2bpp" KeyConfigRightFlipperTextGfx: ; 0xb6680 - INCBIN "gfx/key_config/right_flipper_text.2bpp" + INCBIN "gfx/key_config/right_flipper_text.2bpp" KeyConfigTiltTextGfx: ; 0xb6710 - INCBIN "gfx/key_config/tilt_text.2bpp" + INCBIN "gfx/key_config/tilt_text.2bpp" KeyConfigMenuTextGfx: ; 0xb6810 - INCBIN "gfx/key_config/menu_text.2bpp" + INCBIN "gfx/key_config/menu_text.2bpp" KeyConfigKeyConfigTextGfx: ; 0xb6880 - INCBIN "gfx/key_config/key_config_text.2bpp" + INCBIN "gfx/key_config/key_config_text.2bpp" KeyConfigIconsGfx: ; 0xb6900 - INCBIN "gfx/key_config/icons.2bpp" + INCBIN "gfx/key_config/icons.2bpp" OptionMenuSoundTextTextGfx: ; 0xb6a40 - INCBIN "gfx/option_menu/sound_test_text.2bpp" + INCBIN "gfx/option_menu/sound_test_text.2bpp" OptionMenuOnOffTextGfx: ; 0xb6ad0 - INCBIN "gfx/option_menu/on_off_text.2bpp" + INCBIN "gfx/option_menu/on_off_text.2bpp" OptionMenuBGMSETextGfx: ; 0xb6b10 - INCBIN "gfx/option_menu/bgm_se_text.2bpp" + INCBIN "gfx/option_menu/bgm_se_text.2bpp" StageRedFieldTopCollisionAttributes5: ; 0xb6c00 - INCBIN "data/collision/maps/red_stage_top_5.collision" + INCBIN "data/collision/maps/red_stage_top_5.collision" -INCBIN "baserom.gbc",$b7000,$b7400 - $b7000 + dr $b7000, $b7400 StageRedFieldTopCollisionAttributes4: ; 0xb7400 - INCBIN "data/collision/maps/red_stage_top_4.collision" + INCBIN "data/collision/maps/red_stage_top_4.collision" -INCBIN "baserom.gbc",$b7800,$b7c00 - $b7800 + dr $b7800, $b7c00 PidgeottoBillboardBGPaletteMap: ; 0xb7c00 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 PidgeotBillboardBGPaletteMap: ; 0xb7c18 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 RattataBillboardBGPaletteMap: ; 0xb7c30 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 RaticateBillboardBGPaletteMap: ; 0xb7c48 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 SpearowBillboardBGPaletteMap: ; 0xb7c60 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 FearowBillboardBGPaletteMap: ; 0xb7c78 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 EkansBillboardBGPaletteMap: ; 0xb7c90 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 ArbokBillboardBGPaletteMap: ; 0xb7ca8 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 PikachuBillboardBGPaletteMap: ; 0xb7cc0 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 RaichuBillboardBGPaletteMap: ; 0xb7cd8 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 SandshrewBillboardBGPaletteMap: ; 0xb7cf0 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 SandslashBillboardBGPaletteMap: ; 0xb7d08 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 NidoranFBillboardBGPaletteMap: ; 0xb7d20 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 NidorinaBillboardBGPaletteMap: ; 0xb7d38 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 NidoqueenBillboardBGPaletteMap: ; 0xb7d50 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 NidoranMBillboardBGPaletteMap: ; 0xb7d68 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 -INCBIN "baserom.gbc",$b7d80,$b8000 - $b7d80 ; 0xb7d80 + dr $b7d80, $b8000 ; 0xb7d80 SECTION "bank2e", ROMX, BANK[$2e] StageRedFieldTopCollisionAttributes3: ; 0xb8000 - INCBIN "data/collision/maps/red_stage_top_3.collision" + INCBIN "data/collision/maps/red_stage_top_3.collision" -INCBIN "baserom.gbc",$b8400,$b8800 - $b8400 + dr $b8400, $b8800 StageRedFieldTopCollisionAttributes2: ; 0xb8800 - INCBIN "data/collision/maps/red_stage_top_2.collision" + INCBIN "data/collision/maps/red_stage_top_2.collision" -INCBIN "baserom.gbc",$b8c00,$b9000 - $b8c00 + dr $b8c00, $b9000 StageRedFieldTopCollisionAttributes1: ; 0xb9000 - INCBIN "data/collision/maps/red_stage_top_1.collision" + INCBIN "data/collision/maps/red_stage_top_1.collision" -INCBIN "baserom.gbc",$b9400,$b9800 - $b9400 + dr $b9400, $b9800 StageRedFieldTopCollisionAttributes0: ; 0xb9800 - INCBIN "data/collision/maps/red_stage_top_0.collision" + INCBIN "data/collision/maps/red_stage_top_0.collision" -INCBIN "baserom.gbc",$b9c00,$ba000 - $b9c00 + dr $b9c00, $ba000 StageRedFieldTopTilemap_GameBoy: ; 0xba000 - INCBIN "gfx/tilemaps/stage_red_field_top_gameboy.map" + INCBIN "gfx/tilemaps/stage_red_field_top_gameboy.map" -INCBIN "baserom.gbc",$ba400,$ba800 - $ba400 + dr $ba400, $ba800 StageRedFieldBottomTilemap_GameBoy: ; 0xba800 - INCBIN "gfx/tilemaps/stage_red_field_bottom_gameboy.map" + INCBIN "gfx/tilemaps/stage_red_field_bottom_gameboy.map" -INCBIN "baserom.gbc",$bac00,$bb000 - $bac00 + dr $bac00, $bb000 StageRedFieldTopCollisionMasks0: ; 0xbb000 - INCBIN "data/collision/masks/red_stage_top_0.masks" + INCBIN "data/collision/masks/red_stage_top_0.masks" StageRedFieldTopCollisionMasks1: ; 0xbb800 - INCBIN "data/collision/masks/red_stage_top_1.masks" + INCBIN "data/collision/masks/red_stage_top_1.masks" SECTION "bank2f", ROMX, BANK[$2f] StageRedFieldTopCollisionMasks2: ; 0xbc000 - INCBIN "data/collision/masks/red_stage_top_2.masks" + INCBIN "data/collision/masks/red_stage_top_2.masks" StageRedFieldTopCollisionMasks3: ; 0xbc800 - INCBIN "data/collision/masks/red_stage_top_3.masks" + INCBIN "data/collision/masks/red_stage_top_3.masks" StageRedFieldTopCollisionAttributes7: ; 0xbd000 - INCBIN "data/collision/maps/red_stage_top_7.collision" + INCBIN "data/collision/maps/red_stage_top_7.collision" -INCBIN "baserom.gbc",$bd400,$bd800 - $bd400 + dr $bd400, $bd800 StageRedFieldBottomCollisionAttributes: ; 0xbd800 - INCBIN "data/collision/maps/red_stage_bottom.collision" + INCBIN "data/collision/maps/red_stage_bottom.collision" -INCBIN "baserom.gbc",$bdc00,$be000 - $bdc00 + dr $bdc00, $be000 StageRedFieldTopTilemap_GameBoyColor: ; 0xbe000 - INCBIN "gfx/tilemaps/stage_red_field_top_gameboycolor.map" + INCBIN "gfx/tilemaps/stage_red_field_top_gameboycolor.map" StageRedFieldTopTilemap2_GameBoyColor: ; 0xbe400 - INCBIN "gfx/tilemaps/stage_red_field_top_gameboycolor_2.map" + INCBIN "gfx/tilemaps/stage_red_field_top_gameboycolor_2.map" StageRedFieldBottomTilemap_GameBoyColor: ; 0xbe800 - INCBIN "gfx/tilemaps/stage_red_field_bottom_gameboycolor.map" + INCBIN "gfx/tilemaps/stage_red_field_bottom_gameboycolor.map" StageRedFieldBottomTilemap2_GameBoyColor: ; 0xbec00 - INCBIN "gfx/tilemaps/stage_red_field_bottom_gameboycolor_2.map" + INCBIN "gfx/tilemaps/stage_red_field_bottom_gameboycolor_2.map" StageBlueFieldTopTilemap_GameBoy: ; 0xbf000 - INCBIN "gfx/tilemaps/stage_blue_field_top_gameboy.map" + INCBIN "gfx/tilemaps/stage_blue_field_top_gameboy.map" -INCBIN "baserom.gbc",$bf400,$bf800 - $bf400 + dr $bf400, $bf800 EraseAllDataTilemap: ; 0xbf800 - INCBIN "gfx/tilemaps/erase_all_data.map" + INCBIN "gfx/tilemaps/erase_all_data.map" EraseAllDataBGAttributes: ; 0xbfc00 - INCBIN "gfx/bgattr/erase_all_data.bgattr" + INCBIN "gfx/bgattr/erase_all_data.bgattr" SECTION "bank30", ROMX, BANK[$30] StageBlueFieldBottomTilemap_GameBoy: ; 0xc0000 - INCBIN "gfx/tilemaps/stage_blue_field_bottom_gameboy.map" + INCBIN "gfx/tilemaps/stage_blue_field_bottom_gameboy.map" -INCBIN "baserom.gbc",$c0400,$c0800 - $c0400 + dr $c0400, $c0800 StageBlueFieldTopCollisionMasks: ; 0xc0800 - INCBIN "data/collision/masks/blue_stage_top.masks" + INCBIN "data/collision/masks/blue_stage_top.masks" StageBlueFieldTopCollisionAttributesBallEntrance: ; 0xc1000 - INCBIN "data/collision/maps/blue_stage_top_ball_entrance.collision" + INCBIN "data/collision/maps/blue_stage_top_ball_entrance.collision" -INCBIN "baserom.gbc",$c1400,$c1800 - $c1400 + dr $c1400, $c1800 HighScoresTilemap2: ; 0xc1800 - INCBIN "gfx/tilemaps/high_scores_screen_2.map" + INCBIN "gfx/tilemaps/high_scores_screen_2.map" HighScoresTilemap5: ; 0xc1c00 - INCBIN "gfx/tilemaps/high_scores_screen_5.map" + INCBIN "gfx/tilemaps/high_scores_screen_5.map" HighScoresTilemap: ; 0xc2000 - INCBIN "gfx/tilemaps/high_scores_screen.map" + INCBIN "gfx/tilemaps/high_scores_screen.map" HighScoresTilemap4: ; 0xc2400 - INCBIN "gfx/tilemaps/high_scores_screen_4.map" + INCBIN "gfx/tilemaps/high_scores_screen_4.map" StageBlueFieldTopCollisionAttributes: ; 0xc2800 - INCBIN "data/collision/maps/blue_stage_top.collision" + INCBIN "data/collision/maps/blue_stage_top.collision" -INCBIN "baserom.gbc",$c2c00,$c3000 - $c2c00 + dr $c2c00, $c3000 OptionMenuTilemap2: ; 0xc3000 - INCBIN "gfx/tilemaps/option_menu_2.map" + INCBIN "gfx/tilemaps/option_menu_2.map" -INCBIN "baserom.gbc",$c3240,$c3400 - $c3240 + dr $c3240, $c3400 OptionMenuTilemap4: ; 0xc3400 - INCBIN "gfx/tilemaps/option_menu_4.map" + INCBIN "gfx/tilemaps/option_menu_4.map" -INCBIN "baserom.gbc",$c3640,$c3800 - $c3640 + dr $c3640, $c3800 OptionMenuTilemap: ; 0xc3800 - INCBIN "gfx/tilemaps/option_menu.map" + INCBIN "gfx/tilemaps/option_menu.map" -INCBIN "baserom.gbc",$c3a40,$c3c00 - $c3a40 + dr $c3a40, $c3c00 OptionMenuTilemap3: ; 0xc3c00 - INCBIN "gfx/tilemaps/option_menu_3.map" + INCBIN "gfx/tilemaps/option_menu_3.map" -INCBIN "baserom.gbc",$c3e40,$c4000 - $c3e40 + dr $c3e40, $c4000 SECTION "bank31", ROMX, BANK[$31] StageBlueFieldBottomCollisionAttributes: ; 0xc4000 - INCBIN "data/collision/maps/blue_stage_bottom.collision" + INCBIN "data/collision/maps/blue_stage_bottom.collision" -INCBIN "baserom.gbc",$c4400,$c5800 - $c4400 + dr $c4400, $c5800 TitlescreenTilemap: ; 0xc5800 - INCBIN "gfx/tilemaps/titlescreen.map" + INCBIN "gfx/tilemaps/titlescreen.map" TitlescreenBGAttributes: ; 0xc5c00 - INCBIN "gfx/bgattr/titlescreen.bgattr" + INCBIN "gfx/bgattr/titlescreen.bgattr" -INCBIN "baserom.gbc",$c5e40,$c6000 - $c5e40 + dr $c5e40, $c6000 CopyrightScreenTilemap: ; 0xc6000 - INCBIN "gfx/tilemaps/copyright_screen.map" + INCBIN "gfx/tilemaps/copyright_screen.map" CopyrightScreenBGAttributes: ; 0xc6400 - INCBIN "gfx/bgattr/copyright_screen.bgattr" + INCBIN "gfx/bgattr/copyright_screen.bgattr" StageBlueFieldTopTilemap_GameBoyColor: ; 0xc6800 - INCBIN "gfx/tilemaps/stage_blue_field_top_gameboycolor.map" + INCBIN "gfx/tilemaps/stage_blue_field_top_gameboycolor.map" StageBlueFieldTopTilemap2_GameBoyColor: ; 0xc6c00 - INCBIN "gfx/tilemaps/stage_blue_field_top_gameboycolor_2.map" + INCBIN "gfx/tilemaps/stage_blue_field_top_gameboycolor_2.map" StageBlueFieldBottomTilemap_GameBoyColor: ; 0xc7000 - INCBIN "gfx/tilemaps/stage_blue_field_bottom_gameboycolor.map" + INCBIN "gfx/tilemaps/stage_blue_field_bottom_gameboycolor.map" StageBlueFieldBottomTilemap2_GameBoyColor: ; 0xc7400 - INCBIN "gfx/tilemaps/stage_blue_field_bottom_gameboycolor_2.map" + INCBIN "gfx/tilemaps/stage_blue_field_bottom_gameboycolor_2.map" StageGengarBonusCollisionAttributesBallEntrance: ; 0xc7800 - INCBIN "data/collision/maps/gengar_bonus_ball_entrance.collision" + INCBIN "data/collision/maps/gengar_bonus_ball_entrance.collision" SECTION "bank32", ROMX, BANK[$32] StageGengarBonusCollisionAttributes: ; 0xc8000 - INCBIN "data/collision/maps/gengar_bonus.collision" + INCBIN "data/collision/maps/gengar_bonus.collision" -INCBIN "baserom.gbc",$c8400,$c8800 - $c8400 + dr $c8400, $c8800 GengarBonusTilemap_GameBoy: ; 0xc8800 - INCBIN "gfx/tilemaps/stage_gengar_bonus_gameboy.map" + INCBIN "gfx/tilemaps/stage_gengar_bonus_gameboy.map" -INCBIN "baserom.gbc",$c8c00,$c9000 - $c8c00 + dr $c8c00, $c9000 GengarBonusBottomTilemap_GameBoyColor: ; 0xc9000 - INCBIN "gfx/tilemaps/stage_gengar_bonus_gameboycolor.map" + INCBIN "gfx/tilemaps/stage_gengar_bonus_gameboycolor.map" GengarBonusBottomTilemap2_GameBoyColor: ; 0xc9400 - INCBIN "gfx/tilemaps/stage_gengar_bonus_gameboycolor_2.map" + INCBIN "gfx/tilemaps/stage_gengar_bonus_gameboycolor_2.map" MewtwoBonus3Gfx: ; 0xc9800 - INCBIN "gfx/stage/mewtwo_bonus/mewtwo_3.2bpp" + INCBIN "gfx/stage/mewtwo_bonus/mewtwo_3.2bpp" MewtwoBonus1Gfx: ; 0xc99a0 - INCBIN "gfx/stage/mewtwo_bonus/mewtwo_1.2bpp" + INCBIN "gfx/stage/mewtwo_bonus/mewtwo_1.2bpp" MewtwoBonus2Gfx: ; 0xc9c00 - INCBIN "gfx/stage/mewtwo_bonus/mewtwo_2.2bpp" + INCBIN "gfx/stage/mewtwo_bonus/mewtwo_2.2bpp" MewtwoBonus4Gfx: ; 0xc9c60 - INCBIN "gfx/stage/mewtwo_bonus/mewtwo_4.2bpp" + INCBIN "gfx/stage/mewtwo_bonus/mewtwo_4.2bpp" -INCBIN "baserom.gbc",$c9f00,$ca000 - $c9f00 + dr $c9f00, $ca000 StageMewtwoBonusCollisionAttributesBallEntrance: ; 0xca000 - INCBIN "data/collision/maps/mewtwo_bonus_ball_entrance.collision" + INCBIN "data/collision/maps/mewtwo_bonus_ball_entrance.collision" -INCBIN "baserom.gbc",$ca400,$ca800 - $ca400 + dr $ca400, $ca800 StageMewtwoBonusCollisionAttributes: ; 0xca800 - INCBIN "data/collision/maps/mewtwo_bonus.collision" + INCBIN "data/collision/maps/mewtwo_bonus.collision" -INCBIN "baserom.gbc",$cac00,$cb000 - $cac00 + dr $cac00, $cb000 MewtwoBonusTilemap_GameBoy: ; 0xcb000 - INCBIN "gfx/tilemaps/stage_mewtwo_bonus_gameboy.map" + INCBIN "gfx/tilemaps/stage_mewtwo_bonus_gameboy.map" -INCBIN "baserom.gbc",$cb400,$cb800 - $cb400 + dr $cb400, $cb800 MewtoBonusBottomTilemap_GameBoyColor: ; 0xcb800 - INCBIN "gfx/tilemaps/stage_mewtwo_bonus_gameboycolor.map" + INCBIN "gfx/tilemaps/stage_mewtwo_bonus_gameboycolor.map" MewtoBonusBottomTilemap2_GameBoyColor: ; 0xcbc00 - INCBIN "gfx/tilemaps/stage_mewtwo_bonus_gameboycolor_2.map" + INCBIN "gfx/tilemaps/stage_mewtwo_bonus_gameboycolor_2.map" SECTION "bank33", ROMX, BANK[$33] MeowthBonusMeowth3Gfx: ; 0xcc000 - INCBIN "gfx/stage/meowth_bonus/meowth_3.2bpp" + INCBIN "gfx/stage/meowth_bonus/meowth_3.2bpp" MeowthBonusMeowth1Gfx: ; 0xcc1a0 - INCBIN "gfx/stage/meowth_bonus/meowth_1.2bpp" + INCBIN "gfx/stage/meowth_bonus/meowth_1.2bpp" MeowthBonusMeowth2Gfx: ; 0xcc400 - INCBIN "gfx/stage/meowth_bonus/meowth_2.2bpp" + INCBIN "gfx/stage/meowth_bonus/meowth_2.2bpp" MeowthBonusMeowth4Gfx: ; 0xcc460 - INCBIN "gfx/stage/meowth_bonus/meowth_4.2bpp" + INCBIN "gfx/stage/meowth_bonus/meowth_4.2bpp" -INCBIN "baserom.gbc",$cc7c0,$cc800 - $cc7c0 + dr $cc7c0, $cc800 StageMeowthBonusCollisionAttributesBallEntrance: ; 0xcc800 - INCBIN "data/collision/maps/meowth_bonus_ball_entrance.collision" + INCBIN "data/collision/maps/meowth_bonus_ball_entrance.collision" -INCBIN "baserom.gbc",$ccc00,$cd000 - $ccc00 + dr $ccc00, $cd000 StageMeowthBonusCollisionAttributes: ; 0xcd000 - INCBIN "data/collision/maps/meowth_bonus.collision" + INCBIN "data/collision/maps/meowth_bonus.collision" -INCBIN "baserom.gbc",$cd400,$cd800 - $cd400 + dr $cd400, $cd800 MeowthBonusTilemap_GameBoy: ; 0xcd800 - INCBIN "gfx/tilemaps/stage_meowth_bonus_gameboy.map" + INCBIN "gfx/tilemaps/stage_meowth_bonus_gameboy.map" -INCBIN "baserom.gbc",$cdc00,$ce000 - $cdc00 + dr $cdc00, $ce000 MeowthBonusTilemap_GameBoyColor: ; 0xce000 - INCBIN "gfx/tilemaps/stage_meowth_bonus_gameboycolor.map" + INCBIN "gfx/tilemaps/stage_meowth_bonus_gameboycolor.map" MeowthBonusTilemap2_GameBoyColor: ; 0xce400 - INCBIN "gfx/tilemaps/stage_meowth_bonus_gameboycolor_2.map" + INCBIN "gfx/tilemaps/stage_meowth_bonus_gameboycolor_2.map" StageDiglettBonusCollisionAttributesBallEntrance: ; 0xce800 - INCBIN "data/collision/maps/diglett_bonus_ball_entrance.collision" + INCBIN "data/collision/maps/diglett_bonus_ball_entrance.collision" -INCBIN "baserom.gbc",$cec00,$cf000 - $cec00 + dr $cec00, $cf000 StageDiglettBonusCollisionAttributes: ; 0xcf000 - INCBIN "data/collision/maps/diglett_bonus.collision" + INCBIN "data/collision/maps/diglett_bonus.collision" -INCBIN "baserom.gbc",$cf400,$cf800 - $cf400 + dr $cf400, $cf800 DiglettBonusTilemap_GameBoy: ; 0xcf800 - INCBIN "gfx/tilemaps/stage_diglett_bonus_gameboy.map" + INCBIN "gfx/tilemaps/stage_diglett_bonus_gameboy.map" -INCBIN "baserom.gbc",$cfc00,$d0000 - $cfc00 + dr $cfc00, $d0000 SECTION "bank34", ROMX, BANK[$34] MagikarpAnimatedCollisionMask: ; 0xd04000 - INCBIN "data/collision/mon_masks/magikarp_collision.1bpp" + INCBIN "data/collision/mon_masks/magikarp_collision.1bpp" LaprasAnimatedCollisionMask: ; 0xd04080 - INCBIN "data/collision/mon_masks/lapras_collision.1bpp" + INCBIN "data/collision/mon_masks/lapras_collision.1bpp" DittoAnimatedCollisionMask: ; 0xd04100 - INCBIN "data/collision/mon_masks/ditto_collision.1bpp" + INCBIN "data/collision/mon_masks/ditto_collision.1bpp" EeveeAnimatedCollisionMask: ; 0xd04180 - INCBIN "data/collision/mon_masks/eevee_collision.1bpp" + INCBIN "data/collision/mon_masks/eevee_collision.1bpp" PorygonAnimatedCollisionMask: ; 0xd04200 - INCBIN "data/collision/mon_masks/porygon_collision.1bpp" + INCBIN "data/collision/mon_masks/porygon_collision.1bpp" OmanyteAnimatedCollisionMask: ; 0xd04280 - INCBIN "data/collision/mon_masks/omanyte_collision.1bpp" + INCBIN "data/collision/mon_masks/omanyte_collision.1bpp" KabutoAnimatedCollisionMask: ; 0xd04300 - INCBIN "data/collision/mon_masks/kabuto_collision.1bpp" + INCBIN "data/collision/mon_masks/kabuto_collision.1bpp" AerodactylAnimatedCollisionMask: ; 0xd04380 - INCBIN "data/collision/mon_masks/aerodactyl_collision.1bpp" + INCBIN "data/collision/mon_masks/aerodactyl_collision.1bpp" SnorlaxAnimatedCollisionMask: ; 0xd04400 - INCBIN "data/collision/mon_masks/snorlax_collision.1bpp" + INCBIN "data/collision/mon_masks/snorlax_collision.1bpp" ArticunoAnimatedCollisionMask: ; 0xd04480 - INCBIN "data/collision/mon_masks/articuno_collision.1bpp" + INCBIN "data/collision/mon_masks/articuno_collision.1bpp" ZapdosAnimatedCollisionMask: ; 0xd04500 - INCBIN "data/collision/mon_masks/zapdos_collision.1bpp" + INCBIN "data/collision/mon_masks/zapdos_collision.1bpp" MoltresAnimatedCollisionMask: ; 0xd04580 - INCBIN "data/collision/mon_masks/moltres_collision.1bpp" + INCBIN "data/collision/mon_masks/moltres_collision.1bpp" DratiniAnimatedCollisionMask: ; 0xd04600 - INCBIN "data/collision/mon_masks/dratini_collision.1bpp" + INCBIN "data/collision/mon_masks/dratini_collision.1bpp" MewtwoAnimatedCollisionMask: ; 0xd04680 - INCBIN "data/collision/mon_masks/mewtwo_collision.1bpp" + INCBIN "data/collision/mon_masks/mewtwo_collision.1bpp" MewAnimatedCollisionMask: ; 0xd04700 - INCBIN "data/collision/mon_masks/mew_collision.1bpp" + INCBIN "data/collision/mon_masks/mew_collision.1bpp" INCBIN "baserom.gbc",$d0780,$80 LickitungAnimatedCollisionMask: ; 0xd04800 - INCBIN "data/collision/mon_masks/lickitung_collision.1bpp" + INCBIN "data/collision/mon_masks/lickitung_collision.1bpp" KoffingAnimatedCollisionMask: ; 0xd04880 - INCBIN "data/collision/mon_masks/koffing_collision.1bpp" + INCBIN "data/collision/mon_masks/koffing_collision.1bpp" RhyhornAnimatedCollisionMask: ; 0xd04900 - INCBIN "data/collision/mon_masks/rhyhorn_collision.1bpp" + INCBIN "data/collision/mon_masks/rhyhorn_collision.1bpp" ChanseyAnimatedCollisionMask: ; 0xd04980 - INCBIN "data/collision/mon_masks/chansey_collision.1bpp" + INCBIN "data/collision/mon_masks/chansey_collision.1bpp" TangelaAnimatedCollisionMask: ; 0xd04A00 - INCBIN "data/collision/mon_masks/tangela_collision.1bpp" + INCBIN "data/collision/mon_masks/tangela_collision.1bpp" KangaskhanAnimatedCollisionMask: ; 0xd04A80 - INCBIN "data/collision/mon_masks/kangaskhan_collision.1bpp" + INCBIN "data/collision/mon_masks/kangaskhan_collision.1bpp" HorseaAnimatedCollisionMask: ; 0xd04B00 - INCBIN "data/collision/mon_masks/horsea_collision.1bpp" + INCBIN "data/collision/mon_masks/horsea_collision.1bpp" GoldeenAnimatedCollisionMask: ; 0xd04B80 - INCBIN "data/collision/mon_masks/goldeen_collision.1bpp" + INCBIN "data/collision/mon_masks/goldeen_collision.1bpp" StaryuAnimatedCollisionMask: ; 0xd04C00 - INCBIN "data/collision/mon_masks/staryu_collision.1bpp" + INCBIN "data/collision/mon_masks/staryu_collision.1bpp" MrMimeAnimatedCollisionMask: ; 0xd04C80 - INCBIN "data/collision/mon_masks/mrmime_collision.1bpp" + INCBIN "data/collision/mon_masks/mrmime_collision.1bpp" ScytherAnimatedCollisionMask: ; 0xd04D00 - INCBIN "data/collision/mon_masks/scyther_collision.1bpp" + INCBIN "data/collision/mon_masks/scyther_collision.1bpp" JynxAnimatedCollisionMask: ; 0xd04D80 - INCBIN "data/collision/mon_masks/jynx_collision.1bpp" + INCBIN "data/collision/mon_masks/jynx_collision.1bpp" ElectabuzzAnimatedCollisionMask: ; 0xd04E00 - INCBIN "data/collision/mon_masks/electabuzz_collision.1bpp" + INCBIN "data/collision/mon_masks/electabuzz_collision.1bpp" MagmarAnimatedCollisionMask: ; 0xd04E80 - INCBIN "data/collision/mon_masks/magmar_collision.1bpp" + INCBIN "data/collision/mon_masks/magmar_collision.1bpp" PinsirAnimatedCollisionMask: ; 0xd04F00 - INCBIN "data/collision/mon_masks/pinsir_collision.1bpp" + INCBIN "data/collision/mon_masks/pinsir_collision.1bpp" TaurosAnimatedCollisionMask: ; 0xd04F80 - INCBIN "data/collision/mon_masks/tauros_collision.1bpp" + INCBIN "data/collision/mon_masks/tauros_collision.1bpp" SlowpokeAnimatedCollisionMask: ; 0xd05000 - INCBIN "data/collision/mon_masks/slowpoke_collision.1bpp" + INCBIN "data/collision/mon_masks/slowpoke_collision.1bpp" MagnemiteAnimatedCollisionMask: ; 0xd05080 - INCBIN "data/collision/mon_masks/magnemite_collision.1bpp" + INCBIN "data/collision/mon_masks/magnemite_collision.1bpp" FarfetchdAnimatedCollisionMask: ; 0xd05100 - INCBIN "data/collision/mon_masks/farfetchd_collision.1bpp" + INCBIN "data/collision/mon_masks/farfetchd_collision.1bpp" DoduoAnimatedCollisionMask: ; 0xd05180 - INCBIN "data/collision/mon_masks/doduo_collision.1bpp" + INCBIN "data/collision/mon_masks/doduo_collision.1bpp" SeelAnimatedCollisionMask: ; 0xd05200 - INCBIN "data/collision/mon_masks/seel_collision.1bpp" + INCBIN "data/collision/mon_masks/seel_collision.1bpp" GrimerAnimatedCollisionMask: ; 0xd05280 - INCBIN "data/collision/mon_masks/grimer_collision.1bpp" + INCBIN "data/collision/mon_masks/grimer_collision.1bpp" ShellderAnimatedCollisionMask: ; 0xd05300 - INCBIN "data/collision/mon_masks/shellder_collision.1bpp" + INCBIN "data/collision/mon_masks/shellder_collision.1bpp" GastlyAnimatedCollisionMask: ; 0xd05380 - INCBIN "data/collision/mon_masks/gastly_collision.1bpp" + INCBIN "data/collision/mon_masks/gastly_collision.1bpp" OnixAnimatedCollisionMask: ; 0xd05400 - INCBIN "data/collision/mon_masks/onix_collision.1bpp" + INCBIN "data/collision/mon_masks/onix_collision.1bpp" DrowzeeAnimatedCollisionMask: ; 0xd05480 - INCBIN "data/collision/mon_masks/drowzee_collision.1bpp" + INCBIN "data/collision/mon_masks/drowzee_collision.1bpp" KrabbyAnimatedCollisionMask: ; 0xd05500 - INCBIN "data/collision/mon_masks/krabby_collision.1bpp" + INCBIN "data/collision/mon_masks/krabby_collision.1bpp" VoltorbAnimatedCollisionMask: ; 0xd05580 - INCBIN "data/collision/mon_masks/voltorb_collision.1bpp" + INCBIN "data/collision/mon_masks/voltorb_collision.1bpp" ExeggcuteAnimatedCollisionMask: ; 0xd05600 - INCBIN "data/collision/mon_masks/exeggcute_collision.1bpp" + INCBIN "data/collision/mon_masks/exeggcute_collision.1bpp" CuboneAnimatedCollisionMask: ; 0xd05680 - INCBIN "data/collision/mon_masks/cubone_collision.1bpp" + INCBIN "data/collision/mon_masks/cubone_collision.1bpp" HitmonleeAnimatedCollisionMask: ; 0xd05700 - INCBIN "data/collision/mon_masks/hitmonlee_collision.1bpp" + INCBIN "data/collision/mon_masks/hitmonlee_collision.1bpp" HitmonchanAnimatedCollisionMask: ; 0xd05780 - INCBIN "data/collision/mon_masks/hitmonchan_collision.1bpp" + INCBIN "data/collision/mon_masks/hitmonchan_collision.1bpp" ZubatAnimatedCollisionMask: ; 0xd05800 - INCBIN "data/collision/mon_masks/zubat_collision.1bpp" + INCBIN "data/collision/mon_masks/zubat_collision.1bpp" OddishAnimatedCollisionMask: ; 0xd05880 - INCBIN "data/collision/mon_masks/oddish_collision.1bpp" + INCBIN "data/collision/mon_masks/oddish_collision.1bpp" ParasAnimatedCollisionMask: ; 0xd05900 - INCBIN "data/collision/mon_masks/paras_collision.1bpp" + INCBIN "data/collision/mon_masks/paras_collision.1bpp" VenonatAnimatedCollisionMask: ; 0xd05980 - INCBIN "data/collision/mon_masks/venonat_collision.1bpp" + INCBIN "data/collision/mon_masks/venonat_collision.1bpp" DiglettAnimatedCollisionMask: ; 0xd05A00 - INCBIN "data/collision/mon_masks/diglett_collision.1bpp" + INCBIN "data/collision/mon_masks/diglett_collision.1bpp" MeowthAnimatedCollisionMask: ; 0xd05A80 - INCBIN "data/collision/mon_masks/meowth_collision.1bpp" + INCBIN "data/collision/mon_masks/meowth_collision.1bpp" PsyduckAnimatedCollisionMask: ; 0xd05B00 - INCBIN "data/collision/mon_masks/psyduck_collision.1bpp" + INCBIN "data/collision/mon_masks/psyduck_collision.1bpp" MankeyAnimatedCollisionMask: ; 0xd05B80 - INCBIN "data/collision/mon_masks/mankey_collision.1bpp" + INCBIN "data/collision/mon_masks/mankey_collision.1bpp" GrowlitheAnimatedCollisionMask: ; 0xd05C00 - INCBIN "data/collision/mon_masks/growlithe_collision.1bpp" + INCBIN "data/collision/mon_masks/growlithe_collision.1bpp" PoliwagAnimatedCollisionMask: ; 0xd05C80 - INCBIN "data/collision/mon_masks/poliwag_collision.1bpp" + INCBIN "data/collision/mon_masks/poliwag_collision.1bpp" AbraAnimatedCollisionMask: ; 0xd05D00 - INCBIN "data/collision/mon_masks/abra_collision.1bpp" + INCBIN "data/collision/mon_masks/abra_collision.1bpp" MachopAnimatedCollisionMask: ; 0xd05D80 - INCBIN "data/collision/mon_masks/machop_collision.1bpp" + INCBIN "data/collision/mon_masks/machop_collision.1bpp" BellsproutAnimatedCollisionMask: ; 0xd05E00 - INCBIN "data/collision/mon_masks/bellsprout_collision.1bpp" + INCBIN "data/collision/mon_masks/bellsprout_collision.1bpp" TentacoolAnimatedCollisionMask: ; 0xd05E80 - INCBIN "data/collision/mon_masks/tentacool_collision.1bpp" + INCBIN "data/collision/mon_masks/tentacool_collision.1bpp" GeodudeAnimatedCollisionMask: ; 0xd05F00 - INCBIN "data/collision/mon_masks/geodude_collision.1bpp" + INCBIN "data/collision/mon_masks/geodude_collision.1bpp" PonytaAnimatedCollisionMask: ; 0xd05F80 - INCBIN "data/collision/mon_masks/ponyta_collision.1bpp" + INCBIN "data/collision/mon_masks/ponyta_collision.1bpp" BulbasaurAnimatedCollisionMask: ; 0xd06000 - INCBIN "data/collision/mon_masks/bulbasaur_collision.1bpp" + INCBIN "data/collision/mon_masks/bulbasaur_collision.1bpp" CharmanderAnimatedCollisionMask: ; 0xd06080 - INCBIN "data/collision/mon_masks/charmander_collision.1bpp" + INCBIN "data/collision/mon_masks/charmander_collision.1bpp" SquirtleAnimatedCollisionMask: ; 0xd06100 - INCBIN "data/collision/mon_masks/squirtle_collision.1bpp" + INCBIN "data/collision/mon_masks/squirtle_collision.1bpp" CaterpieAnimatedCollisionMask: ; 0xd06180 - INCBIN "data/collision/mon_masks/caterpie_collision.1bpp" + INCBIN "data/collision/mon_masks/caterpie_collision.1bpp" WeedleAnimatedCollisionMask: ; 0xd06200 - INCBIN "data/collision/mon_masks/weedle_collision.1bpp" + INCBIN "data/collision/mon_masks/weedle_collision.1bpp" PidgeyAnimatedCollisionMask: ; 0xd06280 - INCBIN "data/collision/mon_masks/pidgey_collision.1bpp" + INCBIN "data/collision/mon_masks/pidgey_collision.1bpp" RattataAnimatedCollisionMask: ; 0xd06300 - INCBIN "data/collision/mon_masks/rattata_collision.1bpp" + INCBIN "data/collision/mon_masks/rattata_collision.1bpp" SpearowAnimatedCollisionMask: ; 0xd06380 - INCBIN "data/collision/mon_masks/spearow_collision.1bpp" + INCBIN "data/collision/mon_masks/spearow_collision.1bpp" EkansAnimatedCollisionMask: ; 0xd06400 - INCBIN "data/collision/mon_masks/ekans_collision.1bpp" + INCBIN "data/collision/mon_masks/ekans_collision.1bpp" PikachuAnimatedCollisionMask: ; 0xd06480 - INCBIN "data/collision/mon_masks/pikachu_collision.1bpp" + INCBIN "data/collision/mon_masks/pikachu_collision.1bpp" SandshrewAnimatedCollisionMask: ; 0xd06500 - INCBIN "data/collision/mon_masks/sandshrew_collision.1bpp" + INCBIN "data/collision/mon_masks/sandshrew_collision.1bpp" NidoranfAnimatedCollisionMask: ; 0xd06580 - INCBIN "data/collision/mon_masks/nidoranf_collision.1bpp" + INCBIN "data/collision/mon_masks/nidoranf_collision.1bpp" NidoranmAnimatedCollisionMask: ; 0xd06600 - INCBIN "data/collision/mon_masks/nidoranm_collision.1bpp" + INCBIN "data/collision/mon_masks/nidoranm_collision.1bpp" ClefairyAnimatedCollisionMask: ; 0xd06680 - INCBIN "data/collision/mon_masks/clefairy_collision.1bpp" + INCBIN "data/collision/mon_masks/clefairy_collision.1bpp" VulpixAnimatedCollisionMask: ; 0xd06700 - INCBIN "data/collision/mon_masks/vulpix_collision.1bpp" + INCBIN "data/collision/mon_masks/vulpix_collision.1bpp" JigglypuffAnimatedCollisionMask: ; 0xd06780 - INCBIN "data/collision/mon_masks/jigglypuff_collision.1bpp" + INCBIN "data/collision/mon_masks/jigglypuff_collision.1bpp" -INCBIN "baserom.gbc",$d2800,$d3000 - $d2800 + dr $d2800, $d3000 DiglettBonusTilemap_GameBoyColor: ; 0xd3000 - INCBIN "gfx/tilemaps/stage_diglett_bonus_gameboycolor.map" + INCBIN "gfx/tilemaps/stage_diglett_bonus_gameboycolor.map" DiglettBonusTilemap2_GameBoyColor: ; 0xd3400 - INCBIN "gfx/tilemaps/stage_diglett_bonus_gameboycolor_2.map" + INCBIN "gfx/tilemaps/stage_diglett_bonus_gameboycolor_2.map" -INCBIN "baserom.gbc",$d3800,$d4000 - $d3800 + dr $d3800, $d4000 SECTION "bank35", ROMX, BANK[$35] StageSeelBonusCollisionAttributesBallEntrance: ; 0xd4000 - INCBIN "data/collision/maps/seel_bonus_ball_entrance.collision" + INCBIN "data/collision/maps/seel_bonus_ball_entrance.collision" -INCBIN "baserom.gbc",$d4400,$d4800 - $d4400 + dr $d4400, $d4800 StageSeelBonusCollisionAttributes: ; 0xd4800 - INCBIN "data/collision/maps/seel_bonus.collision" + INCBIN "data/collision/maps/seel_bonus.collision" -INCBIN "baserom.gbc",$d4c00,$d5000 - $d4c00 + dr $d4c00, $d5000 SeelBonusTilemap_GameBoy: ; 0xd5000 - INCBIN "gfx/tilemaps/stage_seel_bonus_gameboy.map" + INCBIN "gfx/tilemaps/stage_seel_bonus_gameboy.map" -INCBIN "baserom.gbc",$d5400,$d5800 - $d5400 + dr $d5400, $d5800 SeelBonusTilemap_GameBoyColor: ; 0xd5800 - INCBIN "gfx/tilemaps/stage_seel_bonus_gameboycolor.map" + INCBIN "gfx/tilemaps/stage_seel_bonus_gameboycolor.map" SeelBonusTilemap2_GameBoyColor: ; 0xd5c00 - INCBIN "gfx/tilemaps/stage_seel_bonus_gameboycolor_2.map" + INCBIN "gfx/tilemaps/stage_seel_bonus_gameboycolor_2.map" Alphabet1Gfx: ; 0xd6000 - INCBIN "gfx/stage/alphabet_1.2bpp" + INCBIN "gfx/stage/alphabet_1.2bpp" -INCBIN "baserom.gbc",$d61a0,$d6200 - $d61a0 + dr $d61a0, $d6200 Alphabet2Gfx: ; 0xd6200 - INCBIN "gfx/stage/alphabet_2.2bpp" + INCBIN "gfx/stage/alphabet_2.2bpp" -INCBIN "baserom.gbc",$d63a0,$d6450 - $d63a0 + dr $d63a0, $d6450 InGameMenuSymbolsGfx: ; 0xd6450 - INCBIN "gfx/stage/menu_symbols.2bpp" + INCBIN "gfx/stage/menu_symbols.2bpp" -INCBIN "baserom.gbc",$d6490,$d6600 - $d6490 + dr $d6490, $d6600 StageBlueFieldTopGfx3: ; 0xd6600 - INCBIN "gfx/stage/blue_top/blue_top_3.2bpp" + INCBIN "gfx/stage/blue_top/blue_top_3.2bpp" StageBlueFieldTopGfx1: ; 0xd67a0 - INCBIN "gfx/stage/blue_top/blue_top_1.2bpp" + INCBIN "gfx/stage/blue_top/blue_top_1.2bpp" StageBlueFieldTopGfx2: ; 0xd6a00 - INCBIN "gfx/stage/blue_top/blue_top_2.2bpp" + INCBIN "gfx/stage/blue_top/blue_top_2.2bpp" StageRedJapaneseCharactersGfx: ; 0xd6c00 - INCBIN "gfx/stage/red_bottom/japanese_characters.2bpp" + INCBIN "gfx/stage/red_bottom/japanese_characters.2bpp" StageRedJapaneseCharactersGfx2: ; 0xd7000 - INCBIN "gfx/stage/red_bottom/japanese_characters_2.2bpp" + INCBIN "gfx/stage/red_bottom/japanese_characters_2.2bpp" NidorinoBillboardBGPaletteMap: ; 0xd7200 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 NidokingBillboardBGPaletteMap: ; 0xd7218 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 ClefairyBillboardBGPaletteMap: ; 0xd7230 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 ClefableBillboardBGPaletteMap: ; 0xd7248 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 VulpixBillboardBGPaletteMap: ; 0xd7260 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 NinetalesBillboardBGPaletteMap: ; 0xd7278 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 JigglypuffBillboardBGPaletteMap: ; 0xd7290 - db $6, $6, $6, $6, $6, $6 - db $6, $7, $7, $7, $7, $6 - db $6, $7, $7, $7, $7, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $7, $7, $7, $7, $6 + db $6, $7, $7, $7, $7, $6 + db $6, $6, $6, $6, $6, $6 WigglytuffBillboardBGPaletteMap: ; 0xd72a8 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $7, $6, $6 - db $6, $7, $6, $7, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $7, $6, $6 + db $6, $7, $6, $7, $6, $6 + db $6, $6, $6, $6, $6, $6 ZubatBillboardBGPaletteMap: ; 0xd72c0 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 GolbatBillboardBGPaletteMap: ; 0xd72d8 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 OddishBillboardBGPaletteMap: ; 0xd72f0 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $7, $7, $6, $6 - db $6, $7, $7, $7, $7, $6 - db $6, $7, $7, $7, $7, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $7, $7, $6, $6 + db $6, $7, $7, $7, $7, $6 + db $6, $7, $7, $7, $7, $6 GloomBillboardBGPaletteMap: ; 0xd7308 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $7, $7, $7, $7, $6 - db $7, $7, $7, $7, $7, $7 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $7, $7, $7, $7, $6 + db $7, $7, $7, $7, $7, $7 VileplumeBillboardBGPaletteMap: ; 0xd7320 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $7, $7, $7, $7, $6 - db $6, $6, $7, $7, $7, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $7, $7, $7, $7, $6 + db $6, $6, $7, $7, $7, $6 ParasBillboardBGPaletteMap: ; 0xd7338 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 ParasectBillboardBGPaletteMap: ; 0xd7350 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 VenonatBillboardBGPaletteMap: ; 0xd7368 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 -INCBIN "baserom.gbc",$d7380,$d7600 - $d7380 + dr $d7380, $d7600 VenomothBillboardBGPaletteMap: ; 0xd7600 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 DiglettBillboardBGPaletteMap: ; 0xd7618 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $7, $7, $6, $6 - db $6, $6, $7, $7, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $7, $7, $6, $6 + db $6, $6, $7, $7, $6, $6 DugtrioBillboardBGPaletteMap: ; 0xd7630 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $7, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $7, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 MeowthBillboardBGPaletteMap: ; 0xd7648 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $7, $7, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $7, $7, $6, $6 PersianBillboardBGPaletteMap: ; 0xd7660 - db $6, $6, $6, $6, $6, $6 - db $7, $7, $7, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $7, $7, $7, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 PsyduckBillboardBGPaletteMap: ; 0xd7678 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 GolduckBillboardBGPaletteMap: ; 0xd7690 - db $6, $7, $7, $7, $6, $6 - db $6, $7, $7, $7, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $7, $7, $7, $6, $6 + db $6, $7, $7, $7, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 MankeyBillboardBGPaletteMap: ; 0xd76a8 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 PrimeapeBillboardBGPaletteMap: ; 0xd76c0 - db $6, $6, $6, $6, $6, $6 - db $7, $6, $6, $6, $6, $7 - db $7, $6, $6, $6, $6, $7 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $7, $6, $6, $6, $6, $7 + db $7, $6, $6, $6, $6, $7 + db $6, $6, $6, $6, $6, $6 GrowlitheBillboardBGPaletteMap: ; 0xd76d8 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $7, $7, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $7, $7, $6, $6, $6 ArcanineBillboardBGPaletteMap: ; 0xd76f0 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 PoliwagBillboardBGPaletteMap: ; 0xd7708 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $7, $6, $6, $6 - db $6, $6, $7, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $7, $6, $6, $6 + db $6, $6, $7, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 PoliwhirlBillboardBGPaletteMap: ; 0xd7720 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 PoliwrathBillboardBGPaletteMap: ; 0xd7738 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 AbraBillboardBGPaletteMap: ; 0xd7750 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 KadabraBillboardBGPaletteMap: ; 0xd7768 - db $6, $6, $6, $6, $6, $6 - db $6, $7, $6, $6, $6, $6 - db $6, $7, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $7, $6, $6, $6, $6 + db $6, $7, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 -INCBIN "baserom.gbc",$d7780,$d7a00 - $d7780 + dr $d7780, $d7a00 AlakazamBillboardBGPaletteMap: ; 0xd7a00 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $7, $6, $6, $7, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $7, $6, $6, $7, $6 + db $6, $6, $6, $6, $6, $6 MachopBillboardBGPaletteMap: ; 0xd7a18 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $7 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $7 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 MachokeBillboardBGPaletteMap: ; 0xd7a30 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $7, $7, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $7, $7, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 MachampBillboardBGPaletteMap: ; 0xd7a48 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $7, $7, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $7, $7, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 BellsproutBillboardBGPaletteMap: ; 0xd7a60 - db $6, $6, $6, $6, $7, $7 - db $6, $7, $7, $6, $7, $7 - db $6, $7, $7, $6, $6, $7 - db $6, $6, $6, $6, $7, $7 + db $6, $6, $6, $6, $7, $7 + db $6, $7, $7, $6, $7, $7 + db $6, $7, $7, $6, $6, $7 + db $6, $6, $6, $6, $7, $7 WeepinbellBillboardBGPaletteMap: ; 0xd7a78 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $7, $7, $7, $6, $6, $6 - db $7, $7, $7, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $7, $7, $7, $6, $6, $6 + db $7, $7, $7, $6, $6, $6 VictreebellBillboardBGPaletteMap: ; 0xd7a90 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $7, $6, $6, $6 - db $6, $6, $7, $7, $7, $7 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $7, $6, $6, $6 + db $6, $6, $7, $7, $7, $7 + db $6, $6, $6, $6, $6, $6 TentacoolBillboardBGPaletteMap: ; 0xd7aa8 - db $6, $7, $6, $6, $7, $6 - db $6, $6, $7, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $7, $6, $6, $7, $6 + db $6, $6, $7, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 TentacruelBillboardBGPaletteMap: ; 0xd7ac0 - db $6, $6, $7, $6, $7, $6 - db $6, $6, $6, $7, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $7, $6, $7, $6 + db $6, $6, $6, $7, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 GeodudeBillboardBGPaletteMap: ; 0xd7ad8 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 GravelerBillboardBGPaletteMap: ; 0xd7af0 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 GolemBillboardBGPaletteMap: ; 0xd7b08 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $7, $7, $6, $6, $6 - db $6, $7, $7, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $7, $7, $6, $6, $6 + db $6, $7, $7, $6, $6, $6 PonytaBillboardBGPaletteMap: ; 0xd7b20 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $6, $6, $7 - db $6, $6, $6, $6, $6, $7 - db $6, $6, $6, $6, $6, $6 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $6, $6, $7 + db $6, $6, $6, $6, $6, $7 + db $6, $6, $6, $6, $6, $6 RapidashBillboardBGPaletteMap: ; 0xd7b38 - db $7, $7, $7, $7, $7, $6 - db $7, $7, $7, $6, $7, $6 - db $7, $7, $6, $6, $6, $6 - db $7, $7, $6, $6, $6, $6 + db $7, $7, $7, $7, $7, $6 + db $7, $7, $7, $6, $7, $6 + db $7, $7, $6, $6, $6, $6 + db $7, $7, $6, $6, $6, $6 SlowpokeBillboardBGPaletteMap: ; 0xd7b50 - db $6, $6, $6, $6, $6, $6 - db $7, $7, $7, $7, $6, $6 - db $7, $7, $7, $7, $6, $6 - db $7, $7, $7, $7, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $7, $7, $7, $7, $6, $6 + db $7, $7, $7, $7, $6, $6 + db $7, $7, $7, $7, $6, $6 SlowbroBillboardBGPaletteMap: ; 0xd7b68 - db $7, $7, $7, $7, $7, $7 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $7, $7, $7, $7, $7, $7 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 -INCBIN "baserom.gbc",$d7b80,$d8000 - $d7b80 + dr $d7b80, $d8000 SECTION "bank36", ROMX, BANK[$36] -INCBIN "baserom.gbc",$d8000,$d8400 - $d8000 + dr $d8000, $d8400 MagnemiteBillboardBGPaletteMap: ; 0xd8400 - db $7, $7, $6, $6, $6, $6 - db $7, $7, $6, $6, $6, $7 - db $6, $6, $6, $6, $6, $7 - db $6, $6, $6, $6, $6, $6 + db $7, $7, $6, $6, $6, $6 + db $7, $7, $6, $6, $6, $7 + db $6, $6, $6, $6, $6, $7 + db $6, $6, $6, $6, $6, $6 MagnetonBillboardBGPaletteMap: ; 0xd8418 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 FarfetchdBillboardBGPaletteMap: ; 0xd8430 - db $6, $6, $6, $6, $7, $7 - db $6, $6, $6, $6, $7, $7 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $7, $7 + db $6, $6, $6, $6, $7, $7 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 DoduoBillboardBGPaletteMap: ; 0xd8448 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 DodrioBillboardBGPaletteMap: ; 0xd8460 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 SeelBillboardBGPaletteMap: ; 0xd8478 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $7, $7, $6 - db $6, $6, $7, $7, $7, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $7, $7, $6 + db $6, $6, $7, $7, $7, $6 DewgongBillboardBGPaletteMap: ; 0xd8490 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 GrimerBillboardBGPaletteMap: ; 0xd84a8 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 MukBillboardBGPaletteMap: ; 0xd84c0 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 ShellderBillboardBGPaletteMap: ; 0xd84d8 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $7, $7, $7, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $7, $7, $7, $6, $6 CloysterBillboardBGPaletteMap: ; 0xd84f0 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 GastlyBillboardBGPaletteMap: ; 0xd8508 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $7, $7, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $7, $7, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 HaunterBillboardBGPaletteMap: ; 0xd8520 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $7, $7, $7, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $7, $7, $7, $6, $6 + db $6, $6, $6, $6, $6, $6 GengarBillboardBGPaletteMap: ; 0xd8538 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $7, $6, $7, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $7, $6, $7, $6 + db $6, $6, $6, $6, $6, $6 OnixBillboardBGPaletteMap: ; 0xd8550 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 DrowzeeBillboardBGPaletteMap: ; 0xd8568 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 -INCBIN "baserom.gbc",$d8580,$d8800 - $d8580 + dr $d8580, $d8800 HypnoBillboardBGPaletteMap: ; 0xd8800 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $7, $7 - db $7, $6, $6, $6, $7, $7 - db $7, $6, $6, $6, $7, $7 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $7, $7 + db $7, $6, $6, $6, $7, $7 + db $7, $6, $6, $6, $7, $7 KrabbyBillboardBGPaletteMap: ; 0xd8818 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 KinglerBillboardBGPaletteMap: ; 0xd8830 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 VoltorbBillboardBGPaletteMap: ; 0xd8848 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $7 - db $6, $6, $6, $6, $7, $7 - db $7, $6, $6, $7, $7, $7 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $7 + db $6, $6, $6, $6, $7, $7 + db $7, $6, $6, $7, $7, $7 ElectrodeBillboardBGPaletteMap: ; 0xd8860 - db $6, $6, $6, $7, $7, $6 - db $6, $6, $6, $7, $7, $7 - db $6, $6, $6, $6, $7, $7 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $7, $7, $6 + db $6, $6, $6, $7, $7, $7 + db $6, $6, $6, $6, $7, $7 + db $6, $6, $6, $6, $6, $6 ExeggcuteBillboardBGPaletteMap: ; 0xd8878 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 ExeggutorBillboardBGPaletteMap: ; 0xd8890 - db $6, $6, $6, $6, $6, $6 - db $6, $7, $7, $7, $7, $6 - db $6, $7, $7, $7, $7, $6 - db $6, $7, $7, $7, $7, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $7, $7, $7, $7, $6 + db $6, $7, $7, $7, $7, $6 + db $6, $7, $7, $7, $7, $6 CuboneBillboardBGPaletteMap: ; 0xd88a8 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $7, $7, $7, $7, $7, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $7, $7, $7, $7, $7, $6 MarowakBillboardBGPaletteMap: ; 0xd88c0 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $7, $7 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $7, $7 HitmonleeBillboardBGPaletteMap: ; 0xd88d8 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 HitmonchanBillboardBGPaletteMap: ; 0xd88f0 - db $6, $6, $7, $7, $7, $7 - db $6, $6, $6, $7, $7, $7 - db $6, $6, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 + db $6, $6, $7, $7, $7, $7 + db $6, $6, $6, $7, $7, $7 + db $6, $6, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 LickitungBillboardBGPaletteMap: ; 0xd8908 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $7, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $7, $6, $6 KoffingBillboardBGPaletteMap: ; 0xd8920 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $7, $7, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $7, $7, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 WeezingBillboardBGPaletteMap: ; 0xd8938 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 RhyhornBillboardBGPaletteMap: ; 0xd8950 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 RhydonBillboardBGPaletteMap: ; 0xd8968 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 -INCBIN "baserom.gbc",$d8980,$d8c00 - $d8980 + dr $d8980, $d8c00 SaverTextOffGfx: ; 0xd8c00 - INCBIN "gfx/stage/saver_off.2bpp" + INCBIN "gfx/stage/saver_off.2bpp" -INCBIN "baserom.gbc",$d8c40,$d9000 - $d8c40 + dr $d8c40, $d9000 StageRedFieldBottomCollisionMasks: ; 0xd9000 - INCBIN "data/collision/masks/red_stage_bottom.masks" + INCBIN "data/collision/masks/red_stage_bottom.masks" MagikarpBillboardBGPaletteMap: ; 0xd9400 - db $6, $6, $6, $6, $6, $6 - db $7, $7, $6, $6, $6, $6 - db $7, $7, $6, $6, $6, $6 - db $7, $7, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $7, $7, $6, $6, $6, $6 + db $7, $7, $6, $6, $6, $6 + db $7, $7, $6, $6, $6, $6 GyaradosBillboardBGPaletteMap: ; 0xd9418 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $7, $7, $6, $6 - db $6, $6, $7, $7, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $7, $7, $6, $6 + db $6, $6, $7, $7, $6, $6 LaprasBillboardBGPaletteMap: ; 0xd9430 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 DittoBillboardBGPaletteMap: ; 0xd9448 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 EeveeBillboardBGPaletteMap: ; 0xd9460 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 VaporeonBillboardBGPaletteMap: ; 0xd9478 - db $7, $7, $7, $6, $6, $6 - db $7, $7, $6, $6, $7, $7 - db $7, $7, $6, $6, $7, $7 - db $6, $6, $6, $6, $6, $6 + db $7, $7, $7, $6, $6, $6 + db $7, $7, $6, $6, $7, $7 + db $7, $7, $6, $6, $7, $7 + db $6, $6, $6, $6, $6, $6 JolteonBillboardBGPaletteMap: ; 0xd9490 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 FlareonBillboardBGPaletteMap: ; 0xd94a8 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 PorygonBillboardBGPaletteMap: ; 0xd94c0 - db $6, $6, $6, $6, $7, $6 - db $6, $6, $7, $6, $6, $7 - db $6, $7, $7, $6, $6, $7 - db $6, $7, $7, $7, $6, $6 + db $6, $6, $6, $6, $7, $6 + db $6, $6, $7, $6, $6, $7 + db $6, $7, $7, $6, $6, $7 + db $6, $7, $7, $7, $6, $6 OmanyteBillboardBGPaletteMap: ; 0xd94d8 - db $6, $7, $6, $6, $6, $6 - db $6, $7, $6, $6, $6, $6 - db $7, $7, $6, $6, $6, $6 - db $7, $7, $6, $6, $6, $6 + db $6, $7, $6, $6, $6, $6 + db $6, $7, $6, $6, $6, $6 + db $7, $7, $6, $6, $6, $6 + db $7, $7, $6, $6, $6, $6 OmastarBillboardBGPaletteMap: ; 0xd94f0 - db $6, $6, $6, $6, $7, $6 - db $6, $6, $6, $6, $7, $7 - db $6, $7, $7, $6, $6, $7 - db $6, $6, $7, $6, $6, $7 + db $6, $6, $6, $6, $7, $6 + db $6, $6, $6, $6, $7, $7 + db $6, $7, $7, $6, $6, $7 + db $6, $6, $7, $6, $6, $7 KabutoBillboardBGPaletteMap: ; 0xd9508 - db $6, $6, $6, $7, $7, $6 - db $6, $6, $7, $7, $7, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $7, $7, $6 + db $6, $6, $7, $7, $7, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 KabutopsBillboardBGPaletteMap: ; 0xd9520 - db $7, $6, $6, $6, $6, $7 - db $7, $6, $6, $6, $7, $7 - db $7, $6, $6, $7, $6, $7 - db $6, $6, $7, $7, $6, $6 + db $7, $6, $6, $6, $6, $7 + db $7, $6, $6, $6, $7, $7 + db $7, $6, $6, $7, $6, $7 + db $6, $6, $7, $7, $6, $6 AerodactylBillboardBGPaletteMap: ; 0xd9538 - db $7, $7, $6, $6, $7, $7 - db $7, $7, $6, $7, $7, $7 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $7, $7, $6, $6, $7, $7 + db $7, $7, $6, $7, $7, $7 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 SnorlaxBillboardBGPaletteMap: ; 0xd9550 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $7, $7, $6, $6 - db $6, $6, $7, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $7, $7, $6, $6 + db $6, $6, $7, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 ArticunoBillboardBGPaletteMap: ; 0xd9568 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 -INCBIN "baserom.gbc",$d9580,$d9800 - $d9580 + dr $d9580, $d9800 ZapdosBillboardBGPaletteMap: ; 0xd9800 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 MoltresBillboardBGPaletteMap: ; 0xd9818 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 DratiniBillboardBGPaletteMap: ; 0xd9830 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 DragonairBillboardBGPaletteMap: ; 0xd9848 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 DragoniteBillboardBGPaletteMap: ; 0xd9860 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $7, $6, $6, $6, $6, $7 - db $7, $7, $6, $6, $7, $7 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $7, $6, $6, $6, $6, $7 + db $7, $7, $6, $6, $7, $7 MewtwoBillboardBGPaletteMap: ; 0xd9878 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $7, $7, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $7, $7, $6, $6 + db $6, $6, $6, $6, $6, $6 MewBillboardBGPaletteMap: ; 0xd9890 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $7, $7, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $7, $7, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 -INCBIN "baserom.gbc",$d98a8,$d9c00 - $d98a8 + dr $d98a8, $d9c00 UnusedTextGfx: ; 0xd9c00 - INCBIN "gfx/unused_text.2bpp" + INCBIN "gfx/unused_text.2bpp" CopyrightTextGfx: ; 0xda000 - INCBIN "gfx/copyright_text.2bpp" + INCBIN "gfx/copyright_text.2bpp" ChanseyBillboardBGPaletteMap: ; 0xda400 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 TangelaBillboardBGPaletteMap: ; 0xda418 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 KangaskhanBillboardBGPaletteMap: ; 0xda430 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 HorseaBillboardBGPaletteMap: ; 0xda448 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $7, $7 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $7, $7 SeadraBillboardBGPaletteMap: ; 0xda460 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 GoldeenBillboardBGPaletteMap: ; 0xda478 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 SeakingBillboardBGPaletteMap: ; 0xda490 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 StaryuBillboardBGPaletteMap: ; 0xda4a8 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $7, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $7, $6, $6 + db $6, $6, $6, $6, $6, $6 StarmieBillboardBGPaletteMap: ; 0xda4c0 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $7, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $7, $6, $6 + db $6, $6, $6, $6, $6, $6 MrMimeBillboardBGPaletteMap: ; 0xda4d8 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 ScytherBillboardBGPaletteMap: ; 0xda4f0 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 JynxBillboardBGPaletteMap: ; 0xda508 - db $6, $7, $7, $7, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $7, $6, $6, $6 + db $6, $7, $7, $7, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $7, $6, $6, $6 ElectabuzzBillboardBGPaletteMap: ; 0xda520 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 MagmarBillboardBGPaletteMap: ; 0xda538 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 PinsirBillboardBGPaletteMap: ; 0xda550 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $7, $6, $6, $6 - db $6, $6, $7, $6, $6, $6 - db $6, $6, $6, $6, $7, $7 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $7, $6, $6, $6 + db $6, $6, $7, $6, $6, $6 + db $6, $6, $6, $6, $7, $7 TaurosBillboardBGPaletteMap: ; 0xda568 - db $7, $7, $6, $6, $7, $7 - db $7, $7, $6, $7, $7, $7 - db $6, $7, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $7, $7, $6, $6, $7, $7 + db $7, $7, $6, $7, $7, $7 + db $6, $7, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 -INCBIN "baserom.gbc",$da580,$da800 - $da580 + dr $da580, $da800 BulbasaurBillboardBGPaletteMap: ; 0xda800 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $6, $7, $7 - db $7, $7, $7, $6, $6, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $6, $7, $7 + db $7, $7, $7, $6, $6, $7 IvysaurBillboardBGPaletteMap: ; 0xda818 - db $6, $7, $7, $7, $7, $7 - db $7, $6, $6, $6, $6, $7 - db $6, $6, $6, $7, $6, $7 - db $6, $6, $6, $7, $7, $7 + db $6, $7, $7, $7, $7, $7 + db $7, $6, $6, $6, $6, $7 + db $6, $6, $6, $7, $6, $7 + db $6, $6, $6, $7, $7, $7 VenusaurBillboardBGPaletteMap: ; 0xda830 - db $7, $7, $6, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $6, $6, $6, $6, $7 - db $7, $7, $6, $6, $6, $7 + db $7, $7, $6, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $6, $6, $6, $6, $7 + db $7, $7, $6, $6, $6, $7 CharmanderBillboardBGPaletteMap: ; 0xda848 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 CharmeleonBillboardBGPaletteMap: ; 0xda860 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 CharizardBillboardBGPaletteMap: ; 0xda878 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 SquirtleBillboardBGPaletteMap: ; 0xda890 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $6, $6, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $6, $6, $7, $7 WartortleBillboardBGPaletteMap: ; 0xda8a8 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $6, $6, $7, $7 - db $7, $6, $6, $6, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $6, $6, $7, $7 + db $7, $6, $6, $6, $7, $7 BlastoiseBillboardBGPaletteMap: ; 0xda8c0 - db $6, $6, $6, $6, $7, $7 - db $6, $7, $7, $7, $7, $7 - db $6, $6, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 + db $6, $6, $6, $6, $7, $7 + db $6, $7, $7, $7, $7, $7 + db $6, $6, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 CaterpieBillboardBGPaletteMap: ; 0xda8d8 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 - db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 + db $6, $6, $6, $6, $6, $6 MetapodBillboardBGPaletteMap: ; 0xda8f0 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 ButterfreeBillboardBGPaletteMap: ; 0xda908 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $6, $6, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $6, $6, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 WeedleBillboardBGPaletteMap: ; 0xda920 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 KakunaBillboardBGPaletteMap: ; 0xda938 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 BeedrillBillboardBGPaletteMap: ; 0xda950 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 PidgeyBillboardBGPaletteMap: ; 0xda968 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 - db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 + db $7, $7, $7, $7, $7, $7 -INCBIN "baserom.gbc",$da980,$dac00 - $da980 + dr $da980, $dac00 StageSharedBonusSlotGlowGfx: ; 0xdac00 - INCBIN "gfx/stage/shared/bonus_slot_glow.2bpp" + INCBIN "gfx/stage/shared/bonus_slot_glow.2bpp" -INCBIN "baserom.gbc",$dad60,$dade0 - $dad60 + dr $dad60, $dade0 StageSharedBonusSlotGlow2Gfx: ; 0xdade0 - INCBIN "gfx/stage/shared/bonus_slot_glow_2.2bpp" + INCBIN "gfx/stage/shared/bonus_slot_glow_2.2bpp" StageRedFieldTopGfx5: ; 0xdae00 - INCBIN "gfx/stage/red_top/red_top_5.2bpp" + INCBIN "gfx/stage/red_top/red_top_5.2bpp" -INCBIN "baserom.gbc",$db000,$db200 - $db000 + dr $db000, $db200 TimerDigitsGfx: ; 0xdb200 - INCBIN "gfx/stage/timer_digits.2bpp" + INCBIN "gfx/stage/timer_digits.2bpp" -INCBIN "baserom.gbc",$db360,$db600 - $db360 + dr $db360, $db600 StageGengarBonusCollisionMasks: ; 0xdb600 - INCBIN "data/collision/masks/gengar_bonus.masks" + INCBIN "data/collision/masks/gengar_bonus.masks" ZubatAnimatedObjPalette1: ; 0xdb780 - RGB 31, 31, 31 - RGB 15, 19, 31 - RGB 14, 9, 21 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 15, 19, 31 + RGB 14, 9, 21 + RGB 0, 0, 0 ZubatAnimatedObjPalette2: ; 0xdb3788 - RGB 31, 31, 31 - RGB 15, 19, 31 - RGB 14, 9, 21 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 15, 19, 31 + RGB 14, 9, 21 + RGB 0, 0, 0 OddishAnimatedObjPalette1: ; 0xdb790 - RGB 31, 31, 31 - RGB 27, 29, 5 - RGB 5, 16, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 27, 29, 5 + RGB 5, 16, 0 + RGB 0, 0, 0 OddishAnimatedObjPalette2: ; 0xdb798 - RGB 31, 31, 31 - RGB 27, 29, 5 - RGB 5, 16, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 27, 29, 5 + RGB 5, 16, 0 + RGB 0, 0, 0 ParasAnimatedObjPalette1: ; 0xdb7a0 - RGB 31, 31, 31 - RGB 31, 15, 1 - RGB 22, 5, 2 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 15, 1 + RGB 22, 5, 2 + RGB 0, 0, 0 ParasAnimatedObjPalette2: ; 0xdb7a8 - RGB 31, 31, 31 - RGB 31, 15, 1 - RGB 22, 5, 2 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 15, 1 + RGB 22, 5, 2 + RGB 0, 0, 0 VenonatAnimatedObjPalette1: ; 0xdb7b0 - RGB 31, 31, 31 - RGB 24, 15, 28 - RGB 12, 5, 18 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 24, 15, 28 + RGB 12, 5, 18 + RGB 0, 0, 0 VenonatAnimatedObjPalette2: ; 0xdb7b8 - RGB 31, 31, 31 - RGB 24, 15, 28 - RGB 12, 5, 18 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 24, 15, 28 + RGB 12, 5, 18 + RGB 0, 0, 0 DiglettAnimatedObjPalette1: ; 0xdb7c0 - RGB 31, 31, 31 - RGB 31, 18, 1 - RGB 24, 9, 3 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 18, 1 + RGB 24, 9, 3 + RGB 0, 0, 0 DiglettAnimatedObjPalette2: ; 0xdb7c8 - RGB 31, 31, 31 - RGB 31, 18, 1 - RGB 24, 9, 3 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 18, 1 + RGB 24, 9, 3 + RGB 0, 0, 0 MeowthAnimatedObjPalette1: ; 0xdb7d0 - RGB 31, 31, 31 - RGB 30, 25, 16 - RGB 23, 12, 6 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 30, 25, 16 + RGB 23, 12, 6 + RGB 0, 0, 0 MeowthAnimatedObjPalette2: ; 0xdb7d8 - RGB 31, 31, 31 - RGB 30, 25, 16 - RGB 23, 12, 6 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 30, 25, 16 + RGB 23, 12, 6 + RGB 0, 0, 0 PsyduckAnimatedObjPalette1: ; 0xdb7e0 - RGB 31, 31, 31 - RGB 31, 31, 0 - RGB 19, 17, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 31, 0 + RGB 19, 17, 0 + RGB 0, 0, 0 PsyduckAnimatedObjPalette2: ; 0xdb7e8 - RGB 31, 31, 31 - RGB 31, 31, 0 - RGB 19, 17, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 31, 0 + RGB 19, 17, 0 + RGB 0, 0, 0 MankeyAnimatedObjPalette1: ; 0xdb7f0 - RGB 31, 31, 31 - RGB 31, 21, 19 - RGB 23, 8, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 21, 19 + RGB 23, 8, 4 + RGB 0, 0, 0 MankeyAnimatedObjPalette2: ; 0xdb7f8 - RGB 31, 31, 31 - RGB 31, 21, 19 - RGB 23, 8, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 21, 19 + RGB 23, 8, 4 + RGB 0, 0, 0 GrowlitheAnimatedObjPalette1: ; 0xdb800 - RGB 31, 31, 31 - RGB 31, 18, 1 - RGB 24, 9, 3 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 18, 1 + RGB 24, 9, 3 + RGB 0, 0, 0 GrowlitheAnimatedObjPalette2: ; 0xdb808 - RGB 31, 31, 31 - RGB 31, 18, 1 - RGB 24, 9, 3 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 18, 1 + RGB 24, 9, 3 + RGB 0, 0, 0 PoliwagAnimatedObjPalette1: ; 0xdb810 - RGB 31, 31, 31 - RGB 17, 19, 23 - RGB 9, 10, 12 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 17, 19, 23 + RGB 9, 10, 12 + RGB 0, 0, 0 PoliwagAnimatedObjPalette2: ; 0xdb818 - RGB 31, 31, 31 - RGB 17, 19, 23 - RGB 9, 10, 12 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 17, 19, 23 + RGB 9, 10, 12 + RGB 0, 0, 0 AbraAnimatedObjPalette1: ; 0xdb820 - RGB 31, 31, 31 - RGB 30, 24, 0 - RGB 17, 10, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 30, 24, 0 + RGB 17, 10, 4 + RGB 0, 0, 0 AbraAnimatedObjPalette2: ; 0xdb828 - RGB 31, 31, 31 - RGB 30, 24, 0 - RGB 17, 10, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 30, 24, 0 + RGB 17, 10, 4 + RGB 0, 0, 0 MachopAnimatedObjPalette1: ; 0xdb830 - RGB 31, 31, 31 - RGB 17, 19, 23 - RGB 9, 10, 12 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 17, 19, 23 + RGB 9, 10, 12 + RGB 0, 0, 0 MachopAnimatedObjPalette2: ; 0xdb838 - RGB 31, 31, 31 - RGB 17, 19, 23 - RGB 9, 10, 12 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 17, 19, 23 + RGB 9, 10, 12 + RGB 0, 0, 0 BellsproutAnimatedObjPalette1: ; 0xdb840 - RGB 31, 31, 31 - RGB 29, 26, 5 - RGB 5, 16, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 29, 26, 5 + RGB 5, 16, 0 + RGB 0, 0, 0 BellsproutAnimatedObjPalette2: ; 0xdb848 - RGB 31, 31, 31 - RGB 29, 26, 5 - RGB 5, 16, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 29, 26, 5 + RGB 5, 16, 0 + RGB 0, 0, 0 TentacoolAnimatedObjPalette1: ; 0xdb850 - RGB 31, 31, 31 - RGB 16, 22, 31 - RGB 0, 11, 22 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 16, 22, 31 + RGB 0, 11, 22 + RGB 0, 0, 0 TentacoolAnimatedObjPalette2: ; 0xdb858 - RGB 31, 31, 31 - RGB 16, 22, 31 - RGB 0, 11, 22 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 16, 22, 31 + RGB 0, 11, 22 + RGB 0, 0, 0 GeodudeAnimatedObjPalette1: ; 0xdb860 - RGB 31, 31, 31 - RGB 19, 23, 20 - RGB 8, 11, 7 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 19, 23, 20 + RGB 8, 11, 7 + RGB 0, 0, 0 GeodudeAnimatedObjPalette2: ; 0xdb868 - RGB 31, 31, 31 - RGB 19, 23, 20 - RGB 8, 11, 7 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 19, 23, 20 + RGB 8, 11, 7 + RGB 0, 0, 0 PonytaAnimatedObjPalette1: ; 0xdb870 - RGB 31, 31, 31 - RGB 31, 28, 11 - RGB 31, 6, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 28, 11 + RGB 31, 6, 0 + RGB 0, 0, 0 PonytaAnimatedObjPalette2: ; 0xdb878 - RGB 31, 31, 31 - RGB 31, 28, 11 - RGB 31, 6, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 28, 11 + RGB 31, 6, 0 + RGB 0, 0, 0 SlowpokeAnimatedObjPalette1: ; 0xdb880 - RGB 31, 31, 31 - RGB 31, 18, 16 - RGB 31, 11, 9 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 18, 16 + RGB 31, 11, 9 + RGB 0, 0, 0 SlowpokeAnimatedObjPalette2: ; 0xdb888 - RGB 31, 31, 31 - RGB 31, 18, 16 - RGB 31, 11, 9 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 18, 16 + RGB 31, 11, 9 + RGB 0, 0, 0 MagnemiteAnimatedObjPalette1: ; 0xdb890 - RGB 31, 31, 31 - RGB 17, 19, 23 - RGB 9, 10, 12 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 17, 19, 23 + RGB 9, 10, 12 + RGB 0, 0, 0 MagnemiteAnimatedObjPalette2: ; 0xdb898 - RGB 31, 31, 31 - RGB 17, 19, 23 - RGB 9, 10, 12 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 17, 19, 23 + RGB 9, 10, 12 + RGB 0, 0, 0 FarfetchdAnimatedObjPalette1: ; 0xdb8a0 - RGB 31, 31, 31 - RGB 31, 22, 5 - RGB 19, 11, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 22, 5 + RGB 19, 11, 4 + RGB 0, 0, 0 FarfetchdAnimatedObjPalette2: ; 0xdb8a8 - RGB 31, 31, 31 - RGB 31, 22, 5 - RGB 19, 11, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 22, 5 + RGB 19, 11, 4 + RGB 0, 0, 0 DoduoAnimatedObjPalette1: ; 0xdb8b0 - RGB 31, 31, 31 - RGB 30, 20, 5 - RGB 22, 5, 2 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 30, 20, 5 + RGB 22, 5, 2 + RGB 0, 0, 0 DoduoAnimatedObjPalette2: ; 0xdb8b8 - RGB 31, 31, 31 - RGB 30, 20, 5 - RGB 22, 5, 2 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 30, 20, 5 + RGB 22, 5, 2 + RGB 0, 0, 0 SeelAnimatedObjPalette1: ; 0xdb8c0 - RGB 31, 31, 31 - RGB 20, 24, 29 - RGB 8, 11, 20 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 24, 29 + RGB 8, 11, 20 + RGB 0, 0, 0 SeelAnimatedObjPalette2: ; 0xdb8c8 - RGB 31, 31, 31 - RGB 20, 24, 29 - RGB 8, 11, 20 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 24, 29 + RGB 8, 11, 20 + RGB 0, 0, 0 GrimerAnimatedObjPalette1: ; 0xdb8d0 - RGB 31, 31, 31 - RGB 27, 15, 31 - RGB 16, 7, 19 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 27, 15, 31 + RGB 16, 7, 19 + RGB 0, 0, 0 GrimerAnimatedObjPalette2: ; 0xdb8d8 - RGB 31, 31, 31 - RGB 27, 15, 31 - RGB 16, 7, 19 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 27, 15, 31 + RGB 16, 7, 19 + RGB 0, 0, 0 ShellderAnimatedObjPalette1: ; 0xdb8e0 - RGB 31, 31, 31 - RGB 26, 19, 29 - RGB 15, 11, 17 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 26, 19, 29 + RGB 15, 11, 17 + RGB 0, 0, 0 ShellderAnimatedObjPalette2: ; 0xdb8e8 - RGB 31, 31, 31 - RGB 26, 19, 29 - RGB 15, 11, 17 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 26, 19, 29 + RGB 15, 11, 17 + RGB 0, 0, 0 GastlyAnimatedObjPalette1: ; 0xdb8f0 - RGB 31, 31, 31 - RGB 25, 17, 28 - RGB 12, 7, 15 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 25, 17, 28 + RGB 12, 7, 15 + RGB 0, 0, 0 GastlyAnimatedObjPalette2: ; 0xdb8f8 - RGB 31, 31, 31 - RGB 31, 23, 17 - RGB 23, 8, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 23, 17 + RGB 23, 8, 4 + RGB 0, 0, 0 OnixAnimatedObjPalette1: ; 0xdb900 - RGB 31, 31, 31 - RGB 17, 19, 23 - RGB 9, 10, 12 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 17, 19, 23 + RGB 9, 10, 12 + RGB 0, 0, 0 OnixAnimatedObjPalette2: ; 0xdb908 - RGB 31, 31, 31 - RGB 17, 19, 23 - RGB 9, 10, 12 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 17, 19, 23 + RGB 9, 10, 12 + RGB 0, 0, 0 DrowzeeAnimatedObjPalette1: ; 0xdb910 - RGB 31, 31, 31 - RGB 30, 24, 0 - RGB 17, 10, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 30, 24, 0 + RGB 17, 10, 4 + RGB 0, 0, 0 DrowzeeAnimatedObjPalette2: ; 0xdb918 - RGB 31, 31, 31 - RGB 30, 24, 0 - RGB 17, 10, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 30, 24, 0 + RGB 17, 10, 4 + RGB 0, 0, 0 KrabbyAnimatedObjPalette1: ; 0xdb920 - RGB 31, 31, 31 - RGB 31, 20, 8 - RGB 28, 6, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 20, 8 + RGB 28, 6, 0 + RGB 0, 0, 0 KrabbyAnimatedObjPalette2: ; 0xdb928 - RGB 31, 31, 31 - RGB 31, 20, 8 - RGB 28, 6, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 20, 8 + RGB 28, 6, 0 + RGB 0, 0, 0 VoltorbAnimatedObjPalette1: ; 0xdb930 - RGB 31, 31, 31 - RGB 31, 17, 14 - RGB 31, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 17, 14 + RGB 31, 0, 0 + RGB 0, 0, 0 VoltorbAnimatedObjPalette2: ; 0xdb938 - RGB 31, 31, 31 - RGB 31, 17, 14 - RGB 31, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 17, 14 + RGB 31, 0, 0 + RGB 0, 0, 0 ExeggcuteAnimatedObjPalette1: ; 0xdb940 - RGB 31, 31, 31 - RGB 31, 17, 16 - RGB 20, 8, 5 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 17, 16 + RGB 20, 8, 5 + RGB 0, 0, 0 ExeggcuteAnimatedObjPalette2: ; 0xdb948 - RGB 31, 31, 31 - RGB 31, 17, 16 - RGB 20, 8, 5 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 17, 16 + RGB 20, 8, 5 + RGB 0, 0, 0 CuboneAnimatedObjPalette1: ; 0xdb950 - RGB 31, 31, 31 - RGB 30, 15, 5 - RGB 18, 9, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 30, 15, 5 + RGB 18, 9, 4 + RGB 0, 0, 0 CuboneAnimatedObjPalette2: ; 0xdb958 - RGB 31, 31, 31 - RGB 20, 22, 29 - RGB 13, 8, 6 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 22, 29 + RGB 13, 8, 6 + RGB 0, 0, 0 HitmonleeAnimatedObjPalette1: ; 0xdb960 - RGB 31, 31, 31 - RGB 26, 13, 7 - RGB 16, 10, 7 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 26, 13, 7 + RGB 16, 10, 7 + RGB 0, 0, 0 HitmonleeAnimatedObjPalette2: ; 0xdb968 - RGB 31, 31, 31 - RGB 26, 13, 7 - RGB 16, 10, 7 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 26, 13, 7 + RGB 16, 10, 7 + RGB 0, 0, 0 HitmonchanAnimatedObjPalette1: ; 0xdb970 - RGB 31, 31, 31 - RGB 27, 17, 10 - RGB 24, 4, 2 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 27, 17, 10 + RGB 24, 4, 2 + RGB 0, 0, 0 HitmonchanAnimatedObjPalette2: ; 0xdb978 - RGB 31, 31, 31 - RGB 27, 17, 10 - RGB 24, 4, 2 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 27, 17, 10 + RGB 24, 4, 2 + RGB 0, 0, 0 LickitungAnimatedObjPalette1: ; 0xdb980 - RGB 31, 31, 31 - RGB 31, 18, 16 - RGB 31, 11, 9 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 18, 16 + RGB 31, 11, 9 + RGB 0, 0, 0 LickitungAnimatedObjPalette2: ; 0xdb988 - RGB 31, 31, 31 - RGB 31, 18, 16 - RGB 31, 11, 9 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 18, 16 + RGB 31, 11, 9 + RGB 0, 0, 0 KoffingAnimatedObjPalette1: ; 0xdb990 - RGB 31, 31, 31 - RGB 26, 19, 29 - RGB 15, 11, 17 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 26, 19, 29 + RGB 15, 11, 17 + RGB 0, 0, 0 KoffingAnimatedObjPalette2: ; 0xdb998 - RGB 31, 31, 31 - RGB 26, 19, 29 - RGB 15, 11, 17 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 26, 19, 29 + RGB 15, 11, 17 + RGB 0, 0, 0 RhyhornAnimatedObjPalette1: ; 0xdb9a0 - RGB 31, 31, 31 - RGB 26, 13, 24 - RGB 15, 4, 14 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 26, 13, 24 + RGB 15, 4, 14 + RGB 0, 0, 0 RhyhornAnimatedObjPalette2: ; 0xdb9a8 - RGB 31, 31, 31 - RGB 26, 13, 24 - RGB 15, 4, 14 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 26, 13, 24 + RGB 15, 4, 14 + RGB 0, 0, 0 ChanseyAnimatedObjPalette1: ; 0xdb9b0 - RGB 31, 31, 31 - RGB 31, 18, 16 - RGB 31, 11, 9 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 18, 16 + RGB 31, 11, 9 + RGB 0, 0, 0 ChanseyAnimatedObjPalette2: ; 0xdb9b8 - RGB 31, 31, 31 - RGB 31, 18, 16 - RGB 31, 11, 9 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 18, 16 + RGB 31, 11, 9 + RGB 0, 0, 0 TangelaAnimatedObjPalette1: ; 0xdb9c0 - RGB 31, 31, 31 - RGB 13, 19, 31 - RGB 1, 6, 20 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 13, 19, 31 + RGB 1, 6, 20 + RGB 0, 0, 0 TangelaAnimatedObjPalette2: ; 0xdb9c8 - RGB 31, 31, 31 - RGB 13, 19, 31 - RGB 1, 6, 20 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 13, 19, 31 + RGB 1, 6, 20 + RGB 0, 0, 0 KangaskhanAnimatedObjPalette1: ; 0xdb9d0 - RGB 31, 31, 31 - RGB 28, 21, 11 - RGB 16, 10, 5 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 28, 21, 11 + RGB 16, 10, 5 + RGB 0, 0, 0 KangaskhanAnimatedObjPalette2: ; 0xdb9d8 - RGB 31, 31, 31 - RGB 28, 21, 11 - RGB 16, 10, 5 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 28, 21, 11 + RGB 16, 10, 5 + RGB 0, 0, 0 HorseaAnimatedObjPalette1: ; 0xdb9e0 - RGB 31, 31, 31 - RGB 13, 19, 31 - RGB 1, 6, 20 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 13, 19, 31 + RGB 1, 6, 20 + RGB 0, 0, 0 HorseaAnimatedObjPalette2: ; 0xdb9e8 - RGB 31, 31, 31 - RGB 13, 19, 31 - RGB 1, 6, 20 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 13, 19, 31 + RGB 1, 6, 20 + RGB 0, 0, 0 GoldeenAnimatedObjPalette1: ; 0xdb9f0 - RGB 31, 31, 31 - RGB 31, 18, 16 - RGB 29, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 18, 16 + RGB 29, 0, 0 + RGB 0, 0, 0 GoldeenAnimatedObjPalette2: ; 0xdb9f8 - RGB 31, 31, 31 - RGB 31, 18, 16 - RGB 29, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 18, 16 + RGB 29, 0, 0 + RGB 0, 0, 0 StaryuAnimatedObjPalette1: ; 0xdba00 - RGB 31, 31, 31 - RGB 31, 22, 5 - RGB 19, 7, 1 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 22, 5 + RGB 19, 7, 1 + RGB 0, 0, 0 StaryuAnimatedObjPalette2: ; 0xdba08 - RGB 31, 31, 31 - RGB 31, 22, 5 - RGB 19, 7, 1 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 22, 5 + RGB 19, 7, 1 + RGB 0, 0, 0 MrMimeAnimatedObjPalette1: ; 0xdba10 - RGB 31, 31, 31 - RGB 31, 18, 16 - RGB 29, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 18, 16 + RGB 29, 0, 0 + RGB 0, 0, 0 MrMimeAnimatedObjPalette2: ; 0xdba18 - RGB 31, 31, 31 - RGB 31, 18, 16 - RGB 29, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 18, 16 + RGB 29, 0, 0 + RGB 0, 0, 0 ScytherAnimatedObjPalette1: ; 0xdba20 - RGB 31, 31, 31 - RGB 22, 29, 5 - RGB 6, 17, 1 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 22, 29, 5 + RGB 6, 17, 1 + RGB 0, 0, 0 ScytherAnimatedObjPalette2: ; 0xdba28 - RGB 31, 31, 31 - RGB 22, 29, 5 - RGB 6, 17, 1 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 22, 29, 5 + RGB 6, 17, 1 + RGB 0, 0, 0 JynxAnimatedObjPalette1: ; 0xdba30 - RGB 31, 31, 31 - RGB 31, 16, 16 - RGB 25, 1, 3 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 16, 16 + RGB 25, 1, 3 + RGB 0, 0, 0 JynxAnimatedObjPalette2: ; 0xdba38 - RGB 31, 31, 31 - RGB 31, 16, 16 - RGB 25, 1, 3 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 16, 16 + RGB 25, 1, 3 + RGB 0, 0, 0 ElectabuzzAnimatedObjPalette1: ; 0xdba40 - RGB 31, 31, 31 - RGB 31, 30, 0 - RGB 21, 14, 1 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 30, 0 + RGB 21, 14, 1 + RGB 0, 0, 0 ElectabuzzAnimatedObjPalette2: ; 0xdba48 - RGB 31, 31, 31 - RGB 31, 30, 0 - RGB 21, 14, 1 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 30, 0 + RGB 21, 14, 1 + RGB 0, 0, 0 MagmarAnimatedObjPalette1: ; 0xdba50 - RGB 31, 31, 31 - RGB 31, 23, 2 - RGB 31, 3, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 23, 2 + RGB 31, 3, 0 + RGB 0, 0, 0 MagmarAnimatedObjPalette2: ; 0xdba58 - RGB 31, 31, 31 - RGB 31, 23, 2 - RGB 31, 3, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 23, 2 + RGB 31, 3, 0 + RGB 0, 0, 0 PinsirAnimatedObjPalette1: ; 0xdba60 - RGB 31, 31, 31 - RGB 28, 20, 13 - RGB 17, 12, 6 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 28, 20, 13 + RGB 17, 12, 6 + RGB 0, 0, 0 PinsirAnimatedObjPalette2: ; 0xdba68 - RGB 31, 31, 31 - RGB 28, 20, 13 - RGB 17, 12, 6 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 28, 20, 13 + RGB 17, 12, 6 + RGB 0, 0, 0 TaurosAnimatedObjPalette1: ; 0xdba70 - RGB 31, 31, 31 - RGB 31, 21, 5 - RGB 20, 9, 3 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 21, 5 + RGB 20, 9, 3 + RGB 0, 0, 0 TaurosAnimatedObjPalette2: ; 0xdba78 - RGB 31, 31, 31 - RGB 31, 21, 5 - RGB 20, 9, 3 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 21, 5 + RGB 20, 9, 3 + RGB 0, 0, 0 PidgeottoBillboardBGPalette1: ; 0xdba80 - RGB 31, 31, 31 - RGB 30, 21, 0 - RGB 28, 6, 1 - RGB 3, 2, 0 + RGB 31, 31, 31 + RGB 30, 21, 0 + RGB 28, 6, 1 + RGB 3, 2, 0 PidgeottoBillboardBGPalette2: ; 0xdba88 - RGB 31, 31, 31 - RGB 30, 21, 0 - RGB 28, 6, 1 - RGB 3, 2, 0 + RGB 31, 31, 31 + RGB 30, 21, 0 + RGB 28, 6, 1 + RGB 3, 2, 0 PidgeotBillboardBGPalette1: ; 0xdba90 - RGB 31, 31, 31 - RGB 26, 23, 0 - RGB 28, 6, 1 - RGB 3, 2, 0 + RGB 31, 31, 31 + RGB 26, 23, 0 + RGB 28, 6, 1 + RGB 3, 2, 0 PidgeotBillboardBGPalette2: ; 0xdba98 - RGB 31, 31, 31 - RGB 26, 23, 0 - RGB 28, 6, 1 - RGB 3, 2, 0 + RGB 31, 31, 31 + RGB 26, 23, 0 + RGB 28, 6, 1 + RGB 3, 2, 0 RattataBillboardBGPalette1: ; 0xdbaa0 - RGB 31, 31, 31 - RGB 30, 16, 24 - RGB 21, 4, 7 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 30, 16, 24 + RGB 21, 4, 7 + RGB 0, 0, 0 RattataBillboardBGPalette2: ; 0xdbaa8 - RGB 31, 31, 31 - RGB 30, 16, 24 - RGB 21, 4, 7 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 30, 16, 24 + RGB 21, 4, 7 + RGB 0, 0, 0 RaticateBillboardBGPalette1: ; 0xdbab0 - RGB 31, 31, 31 - RGB 30, 24, 7 - RGB 27, 7, 0 - RGB 3, 2, 0 + RGB 31, 31, 31 + RGB 30, 24, 7 + RGB 27, 7, 0 + RGB 3, 2, 0 RaticateBillboardBGPalette2: ; 0xdbab8 - RGB 31, 31, 31 - RGB 30, 24, 7 - RGB 27, 7, 0 - RGB 3, 2, 0 + RGB 31, 31, 31 + RGB 30, 24, 7 + RGB 27, 7, 0 + RGB 3, 2, 0 SpearowBillboardBGPalette1: ; 0xdbac0 - RGB 31, 31, 31 - RGB 31, 24, 2 - RGB 30, 3, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 24, 2 + RGB 30, 3, 0 + RGB 0, 0, 0 SpearowBillboardBGPalette2: ; 0xdbac8 - RGB 31, 31, 31 - RGB 31, 24, 2 - RGB 30, 3, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 24, 2 + RGB 30, 3, 0 + RGB 0, 0, 0 FearowBillboardBGPalette1: ; 0xdbad0 - RGB 31, 31, 31 - RGB 31, 24, 2 - RGB 30, 3, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 24, 2 + RGB 30, 3, 0 + RGB 0, 0, 0 FearowBillboardBGPalette2: ; 0xdbad8 - RGB 31, 31, 31 - RGB 31, 24, 2 - RGB 30, 3, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 24, 2 + RGB 30, 3, 0 + RGB 0, 0, 0 EkansBillboardBGPalette1: ; 0xdbae0 - RGB 31, 31, 31 - RGB 30, 16, 24 - RGB 21, 4, 7 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 30, 16, 24 + RGB 21, 4, 7 + RGB 0, 0, 0 EkansBillboardBGPalette2: ; 0xdbae8 - RGB 31, 31, 31 - RGB 30, 16, 24 - RGB 21, 4, 7 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 30, 16, 24 + RGB 21, 4, 7 + RGB 0, 0, 0 ArbokBillboardBGPalette1: ; 0xdbaf0 - RGB 31, 31, 31 - RGB 30, 16, 24 - RGB 26, 1, 5 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 30, 16, 24 + RGB 26, 1, 5 + RGB 0, 0, 0 ArbokBillboardBGPalette2: ; 0xdbaf8 - RGB 31, 31, 31 - RGB 30, 16, 24 - RGB 26, 1, 5 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 30, 16, 24 + RGB 26, 1, 5 + RGB 0, 0, 0 PikachuBillboardBGPalette1: ; 0xdbb00 - RGB 31, 31, 31 - RGB 30, 24, 4 - RGB 27, 7, 0 - RGB 3, 2, 0 + RGB 31, 31, 31 + RGB 30, 24, 4 + RGB 27, 7, 0 + RGB 3, 2, 0 PikachuBillboardBGPalette2: ; 0xdbb08 - RGB 31, 31, 31 - RGB 30, 24, 4 - RGB 27, 7, 0 - RGB 3, 2, 0 + RGB 31, 31, 31 + RGB 30, 24, 4 + RGB 27, 7, 0 + RGB 3, 2, 0 RaichuBillboardBGPalette1: ; 0xdbb10 - RGB 31, 31, 31 - RGB 30, 26, 3 - RGB 29, 16, 0 - RGB 3, 2, 0 + RGB 31, 31, 31 + RGB 30, 26, 3 + RGB 29, 16, 0 + RGB 3, 2, 0 RaichuBillboardBGPalette2: ; 0xdbb18 - RGB 31, 31, 31 - RGB 30, 26, 3 - RGB 29, 16, 0 - RGB 3, 2, 0 + RGB 31, 31, 31 + RGB 30, 26, 3 + RGB 29, 16, 0 + RGB 3, 2, 0 SandshrewBillboardBGPalette1: ; 0xdbb20 - RGB 31, 31, 31 - RGB 31, 25, 7 - RGB 23, 14, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 25, 7 + RGB 23, 14, 0 + RGB 0, 0, 0 SandshrewBillboardBGPalette2: ; 0xdbb28 - RGB 31, 31, 31 - RGB 31, 25, 7 - RGB 23, 14, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 25, 7 + RGB 23, 14, 0 + RGB 0, 0, 0 SandslashBillboardBGPalette1: ; 0xdbb30 - RGB 31, 31, 31 - RGB 31, 25, 7 - RGB 25, 10, 0 - RGB 3, 2, 0 + RGB 31, 31, 31 + RGB 31, 25, 7 + RGB 25, 10, 0 + RGB 3, 2, 0 SandslashBillboardBGPalette2: ; 0xdbb38 - RGB 31, 31, 31 - RGB 31, 25, 7 - RGB 25, 10, 0 - RGB 3, 2, 0 + RGB 31, 31, 31 + RGB 31, 25, 7 + RGB 25, 10, 0 + RGB 3, 2, 0 NidoranFBillboardBGPalette1: ; 0xdbb40 - RGB 31, 31, 31 - RGB 19, 23, 31 - RGB 8, 8, 24 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 19, 23, 31 + RGB 8, 8, 24 + RGB 0, 0, 0 NidoranFBillboardBGPalette2: ; 0xdbb48 - RGB 31, 31, 31 - RGB 19, 23, 31 - RGB 8, 8, 24 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 19, 23, 31 + RGB 8, 8, 24 + RGB 0, 0, 0 NidorinaBillboardBGPalette1: ; 0xdbb50 - RGB 31, 31, 31 - RGB 19, 23, 31 - RGB 8, 8, 24 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 19, 23, 31 + RGB 8, 8, 24 + RGB 0, 0, 0 NidorinaBillboardBGPalette2: ; 0xdbb58 - RGB 31, 31, 31 - RGB 19, 23, 31 - RGB 8, 8, 24 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 19, 23, 31 + RGB 8, 8, 24 + RGB 0, 0, 0 NidoqueenBillboardBGPalette1: ; 0xdbb60 - RGB 31, 31, 31 - RGB 10, 18, 31 - RGB 6, 5, 23 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 10, 18, 31 + RGB 6, 5, 23 + RGB 0, 0, 0 NidoqueenBillboardBGPalette2: ; 0xdbb68 - RGB 31, 31, 31 - RGB 10, 18, 31 - RGB 6, 5, 23 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 10, 18, 31 + RGB 6, 5, 23 + RGB 0, 0, 0 NidoranMBillboardBGPalette1: ; 0xdbb70 - RGB 31, 31, 31 - RGB 28, 16, 25 - RGB 17, 1, 12 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 28, 16, 25 + RGB 17, 1, 12 + RGB 0, 0, 0 NidoranMBillboardBGPalette2: ; 0xdbb78 - RGB 31, 31, 31 - RGB 28, 16, 25 - RGB 17, 1, 12 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 28, 16, 25 + RGB 17, 1, 12 + RGB 0, 0, 0 StageRedFieldTopGfx6: ; 0xdbb80 - INCBIN "gfx/stage/red_top/red_top_6.2bpp" + INCBIN "gfx/stage/red_top/red_top_6.2bpp" -INCBIN "baserom.gbc",$dbbc0,$dbc80 - $dbbc0 + dr $dbbc0, $dbc80 StageMewtwoBonusCollisionMasks: ; 0xdbc80 - INCBIN "data/collision/masks/mewtwo_bonus.masks" + INCBIN "data/collision/masks/mewtwo_bonus.masks" MagikarpAnimatedObjPalette1: ; 0xdbd80 - RGB 31, 31, 31 - RGB 31, 16, 10 - RGB 28, 6, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 16, 10 + RGB 28, 6, 0 + RGB 0, 0, 0 MagikarpAnimatedObjPalette2: ; 0xdbd88 - RGB 31, 31, 31 - RGB 31, 16, 10 - RGB 28, 6, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 16, 10 + RGB 28, 6, 0 + RGB 0, 0, 0 LaprasAnimatedObjPalette1: ; 0xdbd90 - RGB 31, 31, 31 - RGB 11, 22, 31 - RGB 0, 10, 30 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 11, 22, 31 + RGB 0, 10, 30 + RGB 0, 0, 0 LaprasAnimatedObjPalette2: ; 0xdbd98 - RGB 31, 31, 31 - RGB 11, 22, 31 - RGB 0, 10, 30 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 11, 22, 31 + RGB 0, 10, 30 + RGB 0, 0, 0 DittoAnimatedObjPalette1: ; 0xdbda0 - RGB 31, 31, 31 - RGB 25, 18, 28 - RGB 15, 7, 16 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 25, 18, 28 + RGB 15, 7, 16 + RGB 0, 0, 0 DittoAnimatedObjPalette2: ; 0xdbda8 - RGB 31, 31, 31 - RGB 25, 18, 28 - RGB 15, 7, 16 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 25, 18, 28 + RGB 15, 7, 16 + RGB 0, 0, 0 EeveeAnimatedObjPalette1: ; 0xdbdb0 - RGB 31, 31, 31 - RGB 29, 20, 10 - RGB 17, 9, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 29, 20, 10 + RGB 17, 9, 4 + RGB 0, 0, 0 EeveeAnimatedObjPalette2: ; 0xdbdb8 - RGB 31, 31, 31 - RGB 29, 20, 10 - RGB 17, 9, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 29, 20, 10 + RGB 17, 9, 4 + RGB 0, 0, 0 PorygonAnimatedObjPalette1: ; 0xdbdc0 - RGB 31, 31, 31 - RGB 29, 8, 20 - RGB 0, 0, 31 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 29, 8, 20 + RGB 0, 0, 31 + RGB 0, 0, 0 PorygonAnimatedObjPalette2: ; 0xdbdc8 - RGB 31, 31, 31 - RGB 29, 8, 20 - RGB 0, 0, 31 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 29, 8, 20 + RGB 0, 0, 31 + RGB 0, 0, 0 OmanyteAnimatedObjPalette1: ; 0xdbdd0 - RGB 31, 31, 31 - RGB 13, 18, 31 - RGB 1, 6, 20 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 13, 18, 31 + RGB 1, 6, 20 + RGB 0, 0, 0 OmanyteAnimatedObjPalette2: ; 0xdbdd8 - RGB 31, 31, 31 - RGB 13, 18, 31 - RGB 1, 6, 20 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 13, 18, 31 + RGB 1, 6, 20 + RGB 0, 0, 0 KabutoAnimatedObjPalette1: ; 0xdbde0 - RGB 31, 31, 31 - RGB 29, 21, 6 - RGB 20, 7, 1 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 29, 21, 6 + RGB 20, 7, 1 + RGB 0, 0, 0 KabutoAnimatedObjPalette2: ; 0xdbde8 - RGB 31, 31, 31 - RGB 29, 21, 6 - RGB 20, 7, 1 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 29, 21, 6 + RGB 20, 7, 1 + RGB 0, 0, 0 AerodactylAnimatedObjPalette1: ; 0xdbdf0 - RGB 31, 31, 31 - RGB 25, 20, 29 - RGB 10, 8, 17 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 25, 20, 29 + RGB 10, 8, 17 + RGB 0, 0, 0 AerodactylAnimatedObjPalette2: ; 0xdbdf8 - RGB 31, 31, 31 - RGB 25, 20, 29 - RGB 10, 8, 17 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 25, 20, 29 + RGB 10, 8, 17 + RGB 0, 0, 0 SnorlaxAnimatedObjPalette1: ; 0xdbe00 - RGB 31, 31, 31 - RGB 31, 25, 9 - RGB 17, 7, 2 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 25, 9 + RGB 17, 7, 2 + RGB 0, 0, 0 SnorlaxAnimatedObjPalette2: ; 0xdbe08 - RGB 31, 31, 31 - RGB 31, 25, 9 - RGB 17, 7, 2 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 25, 9 + RGB 17, 7, 2 + RGB 0, 0, 0 ArticunoAnimatedObjPalette1: ; 0xdbe10 - RGB 31, 31, 31 - RGB 11, 22, 31 - RGB 0, 4, 31 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 11, 22, 31 + RGB 0, 4, 31 + RGB 0, 0, 0 ArticunoAnimatedObjPalette2: ; 0xdbe18 - RGB 31, 31, 31 - RGB 11, 22, 31 - RGB 0, 4, 31 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 11, 22, 31 + RGB 0, 4, 31 + RGB 0, 0, 0 ZapdosAnimatedObjPalette1: ; 0xdbe20 - RGB 31, 31, 31 - RGB 31, 29, 0 - RGB 22, 7, 3 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 29, 0 + RGB 22, 7, 3 + RGB 0, 0, 0 ZapdosAnimatedObjPalette2: ; 0xdbe28 - RGB 31, 31, 31 - RGB 31, 29, 0 - RGB 22, 7, 3 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 29, 0 + RGB 22, 7, 3 + RGB 0, 0, 0 MoltresAnimatedObjPalette1: ; 0xdbe30 - RGB 31, 31, 31 - RGB 31, 26, 0 - RGB 31, 3, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 26, 0 + RGB 31, 3, 0 + RGB 0, 0, 0 MoltresAnimatedObjPalette2: ; 0xdbe38 - RGB 31, 31, 31 - RGB 31, 26, 0 - RGB 31, 3, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 26, 0 + RGB 31, 3, 0 + RGB 0, 0, 0 DratiniAnimatedObjPalette1: ; 0xdbe40 - RGB 31, 31, 31 - RGB 20, 22, 31 - RGB 6, 8, 18 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 22, 31 + RGB 6, 8, 18 + RGB 0, 0, 0 DratiniAnimatedObjPalette2: ; 0xdbe48 - RGB 31, 31, 31 - RGB 20, 22, 31 - RGB 6, 8, 18 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 22, 31 + RGB 6, 8, 18 + RGB 0, 0, 0 MewtwoAnimatedObjPalette1: ; 0xdbe50 - RGB 31, 31, 31 - RGB 31, 19, 27 - RGB 23, 8, 17 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 19, 27 + RGB 23, 8, 17 + RGB 0, 0, 0 MewtwoAnimatedObjPalette2: ; 0xdbe58 - RGB 31, 31, 31 - RGB 31, 19, 27 - RGB 23, 8, 17 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 19, 27 + RGB 23, 8, 17 + RGB 0, 0, 0 MewAnimatedObjPalette1: ; 0xdbe60 - RGB 31, 31, 31 - RGB 31, 19, 27 - RGB 23, 8, 17 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 19, 27 + RGB 23, 8, 17 + RGB 0, 0, 0 MewAnimatedObjPalette2: ; 0xdbe68 - RGB 31, 31, 31 - RGB 31, 19, 27 - RGB 23, 8, 17 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 19, 27 + RGB 23, 8, 17 + RGB 0, 0, 0 -INCBIN "baserom.gbc",$dbe70,$dc000 - $dbe70 + dr $dbe70, $dc000 SECTION "bank37", ROMX, BANK[$37] StageSharedArrowsGfx: ; 0xdc000 - INCBIN "gfx/stage/shared/arrows.2bpp" + INCBIN "gfx/stage/shared/arrows.2bpp" -INCBIN "baserom.gbc",$dc080,$dc100 - $dc080 + dr $dc080, $dc100 NidorinoBillboardBGPalette1: ; 0xdc100 - RGB 31, 31, 31 - RGB 31, 15, 24 - RGB 21, 3, 15 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 15, 24 + RGB 21, 3, 15 + RGB 0, 0, 0 NidorinoBillboardBGPalette2: ; 0xdc108 - RGB 31, 31, 31 - RGB 31, 15, 24 - RGB 21, 3, 15 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 15, 24 + RGB 21, 3, 15 + RGB 0, 0, 0 NidokingBillboardBGPalette1: ; 0xdc110 - RGB 31, 31, 31 - RGB 25, 14, 31 - RGB 17, 0, 26 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 25, 14, 31 + RGB 17, 0, 26 + RGB 0, 0, 0 NidokingBillboardBGPalette2: ; 0xdc118 - RGB 31, 31, 31 - RGB 25, 14, 31 - RGB 17, 0, 26 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 25, 14, 31 + RGB 17, 0, 26 + RGB 0, 0, 0 ClefairyBillboardBGPalette1: ; 0xdc120 - RGB 31, 31, 31 - RGB 31, 14, 18 - RGB 20, 8, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 14, 18 + RGB 20, 8, 4 + RGB 0, 0, 0 ClefairyBillboardBGPalette2: ; 0xdc128 - RGB 31, 31, 31 - RGB 31, 14, 18 - RGB 20, 8, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 14, 18 + RGB 20, 8, 4 + RGB 0, 0, 0 ClefableBillboardBGPalette1: ; 0xdc130 - RGB 31, 31, 31 - RGB 31, 14, 18 - RGB 20, 8, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 14, 18 + RGB 20, 8, 4 + RGB 0, 0, 0 ClefableBillboardBGPalette2: ; 0xdc138 - RGB 31, 31, 31 - RGB 31, 14, 18 - RGB 20, 8, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 14, 18 + RGB 20, 8, 4 + RGB 0, 0, 0 VulpixBillboardBGPalette1: ; 0xdc140 - RGB 31, 31, 31 - RGB 31, 17, 13 - RGB 25, 6, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 17, 13 + RGB 25, 6, 0 + RGB 0, 0, 0 VulpixBillboardBGPalette2: ; 0xdc148 - RGB 31, 31, 31 - RGB 31, 17, 13 - RGB 25, 6, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 17, 13 + RGB 25, 6, 0 + RGB 0, 0, 0 NinetalesBillboardBGPalette1: ; 0xdc150 - RGB 31, 31, 31 - RGB 28, 26, 0 - RGB 23, 12, 3 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 28, 26, 0 + RGB 23, 12, 3 + RGB 0, 0, 0 NinetalesBillboardBGPalette2: ; 0xdc158 - RGB 31, 31, 31 - RGB 28, 26, 0 - RGB 23, 12, 3 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 28, 26, 0 + RGB 23, 12, 3 + RGB 0, 0, 0 JigglypuffBillboardBGPalette1: ; 0xdc160 - RGB 31, 31, 31 - RGB 31, 16, 19 - RGB 22, 6, 11 - RGB 3, 2, 0 + RGB 31, 31, 31 + RGB 31, 16, 19 + RGB 22, 6, 11 + RGB 3, 2, 0 JigglypuffBillboardBGPalette2: ; 0xdc168 - RGB 31, 31, 31 - RGB 31, 16, 19 - RGB 13, 2, 21 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 16, 19 + RGB 13, 2, 21 + RGB 0, 0, 0 WigglytuffBillboardBGPalette1: ; 0xdc170 - RGB 31, 31, 31 - RGB 31, 16, 19 - RGB 22, 6, 11 - RGB 3, 2, 0 + RGB 31, 31, 31 + RGB 31, 16, 19 + RGB 22, 6, 11 + RGB 3, 2, 0 WigglytuffBillboardBGPalette2: ; 0xdc178 - RGB 31, 31, 31 - RGB 31, 16, 19 - RGB 13, 5, 19 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 16, 19 + RGB 13, 5, 19 + RGB 0, 0, 0 ZubatBillboardBGPalette1: ; 0xdc180 - RGB 31, 31, 31 - RGB 14, 15, 30 - RGB 10, 5, 26 - RGB 3, 2, 0 + RGB 31, 31, 31 + RGB 14, 15, 30 + RGB 10, 5, 26 + RGB 3, 2, 0 ZubatBillboardBGPalette2: ; 0xdc188 - RGB 31, 31, 31 - RGB 14, 15, 30 - RGB 10, 5, 26 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 14, 15, 30 + RGB 10, 5, 26 + RGB 0, 0, 0 GolbatBillboardBGPalette1: ; 0xdc190 - RGB 31, 31, 31 - RGB 15, 15, 30 - RGB 10, 5, 26 - RGB 3, 2, 0 + RGB 31, 31, 31 + RGB 15, 15, 30 + RGB 10, 5, 26 + RGB 3, 2, 0 GolbatBillboardBGPalette2: ; 0xdc198 - RGB 31, 31, 31 - RGB 15, 15, 30 - RGB 10, 5, 26 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 15, 15, 30 + RGB 10, 5, 26 + RGB 0, 0, 0 OddishBillboardBGPalette1: ; 0xdc1a0 - RGB 31, 31, 31 - RGB 22, 28, 2 - RGB 7, 18, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 22, 28, 2 + RGB 7, 18, 0 + RGB 0, 0, 0 OddishBillboardBGPalette2: ; 0xdc1a8 - RGB 31, 31, 31 - RGB 31, 6, 0 - RGB 4, 8, 14 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 6, 0 + RGB 4, 8, 14 + RGB 0, 0, 0 GloomBillboardBGPalette1: ; 0xdc1b0 - RGB 31, 31, 31 - RGB 30, 19, 15 - RGB 28, 4, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 30, 19, 15 + RGB 28, 4, 0 + RGB 0, 0, 0 GloomBillboardBGPalette2: ; 0xdc1b8 - RGB 31, 31, 31 - RGB 19, 20, 31 - RGB 4, 8, 14 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 19, 20, 31 + RGB 4, 8, 14 + RGB 0, 0, 0 VileplumeBillboardBGPalette1: ; 0xdc1c0 - RGB 31, 31, 31 - RGB 30, 19, 15 - RGB 28, 4, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 30, 19, 15 + RGB 28, 4, 0 + RGB 0, 0, 0 VileplumeBillboardBGPalette2: ; 0xdc1c8 - RGB 31, 31, 31 - RGB 19, 20, 31 - RGB 4, 8, 14 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 19, 20, 31 + RGB 4, 8, 14 + RGB 0, 0, 0 ParasBillboardBGPalette1: ; 0xdc1d0 - RGB 31, 31, 31 - RGB 31, 20, 11 - RGB 23, 6, 3 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 20, 11 + RGB 23, 6, 3 + RGB 0, 0, 0 ParasBillboardBGPalette2: ; 0xdc1d8 - RGB 31, 31, 31 - RGB 31, 20, 11 - RGB 23, 6, 3 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 20, 11 + RGB 23, 6, 3 + RGB 0, 0, 0 ParasectBillboardBGPalette1: ; 0xdc1e0 - RGB 31, 31, 31 - RGB 31, 20, 11 - RGB 23, 6, 3 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 20, 11 + RGB 23, 6, 3 + RGB 0, 0, 0 ParasectBillboardBGPalette2: ; 0xdc1e8 - RGB 31, 31, 31 - RGB 31, 20, 11 - RGB 23, 6, 3 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 20, 11 + RGB 23, 6, 3 + RGB 0, 0, 0 VenonatBillboardBGPalette1: ; 0xdc1f0 - RGB 31, 31, 31 - RGB 24, 15, 28 - RGB 12, 5, 18 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 24, 15, 28 + RGB 12, 5, 18 + RGB 0, 0, 0 VenonatBillboardBGPalette2: ; 0xdc1f8 - RGB 31, 31, 31 - RGB 24, 15, 28 - RGB 12, 5, 18 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 24, 15, 28 + RGB 12, 5, 18 + RGB 0, 0, 0 VenomothBillboardBGPalette1: ; 0xdc200 - RGB 31, 31, 31 - RGB 27, 17, 29 - RGB 17, 7, 16 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 27, 17, 29 + RGB 17, 7, 16 + RGB 0, 0, 0 VenomothBillboardBGPalette2: ; 0xdc208 - RGB 31, 31, 31 - RGB 27, 17, 29 - RGB 17, 7, 16 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 27, 17, 29 + RGB 17, 7, 16 + RGB 0, 0, 0 DiglettBillboardBGPalette1: ; 0xdc210 - RGB 31, 31, 31 - RGB 24, 17, 5 - RGB 15, 7, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 24, 17, 5 + RGB 15, 7, 0 + RGB 0, 0, 0 DiglettBillboardBGPalette2: ; 0xdc218 - RGB 31, 31, 31 - RGB 24, 17, 5 - RGB 23, 3, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 24, 17, 5 + RGB 23, 3, 0 + RGB 0, 0, 0 DugtrioBillboardBGPalette1: ; 0xdc220 - RGB 31, 31, 31 - RGB 24, 17, 5 - RGB 15, 7, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 24, 17, 5 + RGB 15, 7, 0 + RGB 0, 0, 0 DugtrioBillboardBGPalette2: ; 0xdc228 - RGB 31, 31, 31 - RGB 24, 17, 5 - RGB 23, 3, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 24, 17, 5 + RGB 23, 3, 0 + RGB 0, 0, 0 MeowthBillboardBGPalette1: ; 0xdc230 - RGB 31, 31, 31 - RGB 29, 28, 7 - RGB 19, 10, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 29, 28, 7 + RGB 19, 10, 0 + RGB 0, 0, 0 MeowthBillboardBGPalette2: ; 0xdc238 - RGB 31, 31, 31 - RGB 29, 28, 7 - RGB 31, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 29, 28, 7 + RGB 31, 0, 0 + RGB 0, 0, 0 PersianBillboardBGPalette1: ; 0xdc240 - RGB 31, 31, 31 - RGB 29, 28, 7 - RGB 19, 10, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 29, 28, 7 + RGB 19, 10, 0 + RGB 0, 0, 0 PersianBillboardBGPalette2: ; 0xdc248 - RGB 31, 31, 31 - RGB 29, 28, 7 - RGB 31, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 29, 28, 7 + RGB 31, 0, 0 + RGB 0, 0, 0 PsyduckBillboardBGPalette1: ; 0xdc250 - RGB 31, 31, 31 - RGB 31, 31, 0 - RGB 19, 17, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 31, 0 + RGB 19, 17, 0 + RGB 0, 0, 0 PsyduckBillboardBGPalette2: ; 0xdc258 - RGB 31, 31, 31 - RGB 31, 31, 0 - RGB 19, 17, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 31, 0 + RGB 19, 17, 0 + RGB 0, 0, 0 GolduckBillboardBGPalette1: ; 0xdc260 - RGB 31, 31, 31 - RGB 26, 25, 7 - RGB 13, 15, 27 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 26, 25, 7 + RGB 13, 15, 27 + RGB 0, 0, 0 GolduckBillboardBGPalette2: ; 0xdc268 - RGB 31, 31, 31 - RGB 31, 0, 0 - RGB 13, 15, 27 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 0, 0 + RGB 13, 15, 27 + RGB 0, 0, 0 MankeyBillboardBGPalette1: ; 0xdc270 - RGB 31, 31, 31 - RGB 28, 20, 17 - RGB 22, 9, 5 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 28, 20, 17 + RGB 22, 9, 5 + RGB 0, 0, 0 MankeyBillboardBGPalette2: ; 0xdc278 - RGB 31, 31, 31 - RGB 28, 20, 17 - RGB 22, 9, 5 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 28, 20, 17 + RGB 22, 9, 5 + RGB 0, 0, 0 PrimeapeBillboardBGPalette1: ; 0xdc280 - RGB 31, 31, 31 - RGB 28, 20, 17 - RGB 22, 9, 5 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 28, 20, 17 + RGB 22, 9, 5 + RGB 0, 0, 0 PrimeapeBillboardBGPalette2: ; 0xdc288 - RGB 31, 31, 31 - RGB 15, 15, 15 - RGB 22, 9, 5 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 15, 15, 15 + RGB 22, 9, 5 + RGB 0, 0, 0 GrowlitheBillboardBGPalette1: ; 0xdc290 - RGB 31, 31, 31 - RGB 28, 27, 10 - RGB 26, 12, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 28, 27, 10 + RGB 26, 12, 0 + RGB 0, 0, 0 GrowlitheBillboardBGPalette2: ; 0xdc298 - RGB 31, 31, 31 - RGB 28, 27, 10 - RGB 31, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 28, 27, 10 + RGB 31, 0, 0 + RGB 0, 0, 0 ArcanineBillboardBGPalette1: ; 0xdc2a0 - RGB 31, 31, 31 - RGB 28, 27, 10 - RGB 26, 12, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 28, 27, 10 + RGB 26, 12, 0 + RGB 0, 0, 0 ArcanineBillboardBGPalette2: ; 0xdc2a8 - RGB 31, 31, 31 - RGB 28, 27, 10 - RGB 31, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 28, 27, 10 + RGB 31, 0, 0 + RGB 0, 0, 0 PoliwagBillboardBGPalette1: ; 0xdc2b0 - RGB 31, 31, 31 - RGB 20, 20, 27 - RGB 11, 11, 18 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 27 + RGB 11, 11, 18 + RGB 0, 0, 0 PoliwagBillboardBGPalette2: ; 0xdc2b8 - RGB 31, 31, 31 - RGB 31, 17, 14 - RGB 11, 11, 18 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 17, 14 + RGB 11, 11, 18 + RGB 0, 0, 0 PoliwhirlBillboardBGPalette1: ; 0xdc2c0 - RGB 31, 31, 31 - RGB 20, 20, 27 - RGB 11, 11, 18 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 27 + RGB 11, 11, 18 + RGB 0, 0, 0 PoliwhirlBillboardBGPalette2: ; 0xdc2c8 - RGB 31, 31, 31 - RGB 20, 20, 27 - RGB 11, 11, 18 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 27 + RGB 11, 11, 18 + RGB 0, 0, 0 PoliwrathBillboardBGPalette1: ; 0xdc2d0 - RGB 31, 31, 31 - RGB 20, 20, 27 - RGB 11, 11, 18 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 27 + RGB 11, 11, 18 + RGB 0, 0, 0 PoliwrathBillboardBGPalette2: ; 0xdc2d8 - RGB 31, 31, 31 - RGB 20, 20, 27 - RGB 11, 11, 18 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 27 + RGB 11, 11, 18 + RGB 0, 0, 0 AbraBillboardBGPalette1: ; 0xdc2e0 - RGB 31, 31, 31 - RGB 31, 30, 0 - RGB 19, 11, 6 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 30, 0 + RGB 19, 11, 6 + RGB 0, 0, 0 AbraBillboardBGPalette2: ; 0xdc2e8 - RGB 31, 31, 31 - RGB 31, 30, 0 - RGB 19, 11, 6 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 30, 0 + RGB 19, 11, 6 + RGB 0, 0, 0 KadabraBillboardBGPalette1: ; 0xdc2f0 - RGB 31, 31, 31 - RGB 31, 30, 0 - RGB 19, 11, 6 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 30, 0 + RGB 19, 11, 6 + RGB 0, 0, 0 KadabraBillboardBGPalette2: ; 0xdc2f8 - RGB 31, 31, 31 - RGB 21, 21, 21 - RGB 19, 11, 6 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 21, 21, 21 + RGB 19, 11, 6 + RGB 0, 0, 0 HypnoBillboardBGPalette1: ; 0xdc300 - RGB 31, 31, 31 - RGB 31, 30, 0 - RGB 21, 15, 5 + RGB 31, 31, 31 + RGB 31, 30, 0 + RGB 21, 15, 5 HypnoBillboardBGPalette2: ; 0xdc308 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 19, 23, 31 - RGB 21, 15, 5 - RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 19, 23, 31 + RGB 21, 15, 5 + RGB 0, 0, 0 KrabbyBillboardBGPalette1: ; 0xdc310 - RGB 31, 31, 31 - RGB 31, 16, 17 - RGB 25, 6, 0 + RGB 31, 31, 31 + RGB 31, 16, 17 + RGB 25, 6, 0 KrabbyBillboardBGPalette2: ; 0xdc318 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 31, 16, 17 - RGB 25, 6, 0 - RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 16, 17 + RGB 25, 6, 0 + RGB 0, 0, 0 KinglerBillboardBGPalette1: ; 0xdc320 - RGB 31, 31, 31 - RGB 31, 16, 17 - RGB 25, 6, 0 + RGB 31, 31, 31 + RGB 31, 16, 17 + RGB 25, 6, 0 KinglerBillboardBGPalette2: ; 0xdc328 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 31, 16, 17 - RGB 25, 6, 0 - RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 16, 17 + RGB 25, 6, 0 + RGB 0, 0, 0 VoltorbBillboardBGPalette1: ; 0xdc330 - RGB 31, 31, 31 - RGB 31, 16, 17 - RGB 25, 6, 0 + RGB 31, 31, 31 + RGB 31, 16, 17 + RGB 25, 6, 0 VoltorbBillboardBGPalette2: ; 0xdc338 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 19, 23, 31 - RGB 25, 6, 0 - RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 19, 23, 31 + RGB 25, 6, 0 + RGB 0, 0, 0 ElectrodeBillboardBGPalette1: ; 0xdc340 - RGB 31, 31, 31 - RGB 31, 15, 12 - RGB 25, 6, 0 + RGB 31, 31, 31 + RGB 31, 15, 12 + RGB 25, 6, 0 ElectrodeBillboardBGPalette2: ; 0xdc348 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 19, 23, 31 - RGB 25, 6, 0 - RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 19, 23, 31 + RGB 25, 6, 0 + RGB 0, 0, 0 ExeggcuteBillboardBGPalette1: ; 0xdc350 - RGB 31, 31, 31 - RGB 31, 15, 12 - RGB 18, 8, 6 + RGB 31, 31, 31 + RGB 31, 15, 12 + RGB 18, 8, 6 ExeggcuteBillboardBGPalette2: ; 0xdc358 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 31, 15, 12 - RGB 18, 8, 6 - RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 15, 12 + RGB 18, 8, 6 + RGB 0, 0, 0 ExeggutorBillboardBGPalette1: ; 0xdc360 - RGB 31, 31, 31 - RGB 31, 27, 5 - RGB 7, 18, 0 + RGB 31, 31, 31 + RGB 31, 27, 5 + RGB 7, 18, 0 ExeggutorBillboardBGPalette2: ; 0xdc368 - RGB 3, 2, 0 - RGB 31, 31, 31 - RGB 31, 23, 5 - RGB 20, 10, 3 - RGB 0, 0, 0 + RGB 3, 2, 0 + RGB 31, 31, 31 + RGB 31, 23, 5 + RGB 20, 10, 3 + RGB 0, 0, 0 CuboneBillboardBGPalette1: ; 0xdc370 - RGB 31, 31, 31 - RGB 18, 20, 27 - RGB 20, 10, 3 + RGB 31, 31, 31 + RGB 18, 20, 27 + RGB 20, 10, 3 CuboneBillboardBGPalette2: ; 0xdc378 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 29, 23, 10 - RGB 20, 10, 3 - RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 29, 23, 10 + RGB 20, 10, 3 + RGB 0, 0, 0 MarowakBillboardBGPalette1: ; 0xdc380 - RGB 31, 31, 31 - RGB 18, 20, 27 - RGB 20, 10, 3 + RGB 31, 31, 31 + RGB 18, 20, 27 + RGB 20, 10, 3 MarowakBillboardBGPalette2: ; 0xdc388 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 29, 23, 10 - RGB 20, 10, 3 - RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 29, 23, 10 + RGB 20, 10, 3 + RGB 0, 0, 0 HitmonleeBillboardBGPalette1: ; 0xdc390 - RGB 31, 31, 31 - RGB 29, 23, 10 - RGB 21, 13, 3 + RGB 31, 31, 31 + RGB 29, 23, 10 + RGB 21, 13, 3 HitmonleeBillboardBGPalette2: ; 0xdc398 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 29, 23, 10 - RGB 21, 13, 3 - RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 29, 23, 10 + RGB 21, 13, 3 + RGB 0, 0, 0 HitmonchanBillboardBGPalette1: ; 0xdc3a0 - RGB 31, 31, 31 - RGB 31, 21, 13 - RGB 23, 3, 3 + RGB 31, 31, 31 + RGB 31, 21, 13 + RGB 23, 3, 3 HitmonchanBillboardBGPalette2: ; 0xdc3a8 - RGB 3, 2, 0 - RGB 31, 31, 31 - RGB 31, 21, 13 - RGB 22, 3, 25 - RGB 0, 0, 0 + RGB 3, 2, 0 + RGB 31, 31, 31 + RGB 31, 21, 13 + RGB 22, 3, 25 + RGB 0, 0, 0 LickitungBillboardBGPalette1: ; 0xdc3b0 - RGB 31, 31, 31 - RGB 31, 21, 21 - RGB 31, 9, 8 + RGB 31, 31, 31 + RGB 31, 21, 21 + RGB 31, 9, 8 LickitungBillboardBGPalette2: ; 0xdc3b8 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 31, 20, 12 - RGB 31, 9, 8 - RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 20, 12 + RGB 31, 9, 8 + RGB 0, 0, 0 KoffingBillboardBGPalette1: ; 0xdc3c0 - RGB 31, 31, 31 - RGB 21, 13, 28 - RGB 10, 7, 14 + RGB 31, 31, 31 + RGB 21, 13, 28 + RGB 10, 7, 14 KoffingBillboardBGPalette2: ; 0xdc3c8 - RGB 3, 2, 0 - RGB 31, 31, 31 - RGB 21, 13, 28 - RGB 21, 4, 7 - RGB 0, 0, 0 + RGB 3, 2, 0 + RGB 31, 31, 31 + RGB 21, 13, 28 + RGB 21, 4, 7 + RGB 0, 0, 0 WeezingBillboardBGPalette1: ; 0xdc3d0 - RGB 31, 31, 31 - RGB 21, 13, 28 - RGB 10, 7, 14 + RGB 31, 31, 31 + RGB 21, 13, 28 + RGB 10, 7, 14 WeezingBillboardBGPalette2: ; 0xdc3d8 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 21, 13, 28 - RGB 21, 4, 7 - RGB 3, 2, 0 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 21, 13, 28 + RGB 21, 4, 7 + RGB 3, 2, 0 RhyhornBillboardBGPalette1: ; 0xdc3e0 - RGB 31, 31, 31 - RGB 21, 21, 21 - RGB 13, 11, 16 + RGB 31, 31, 31 + RGB 21, 21, 21 + RGB 13, 11, 16 RhyhornBillboardBGPalette2: ; 0xdc3e8 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 21, 21, 21 - RGB 13, 11, 16 - RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 21, 21, 21 + RGB 13, 11, 16 + RGB 0, 0, 0 RhydonBillboardBGPalette1: ; 0xdc3f0 - RGB 31, 31, 31 - RGB 21, 21, 21 - RGB 13, 11, 16 + RGB 31, 31, 31 + RGB 21, 21, 21 + RGB 13, 11, 16 RhydonBillboardBGPalette2: ; 0xdc3f8 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 21, 21, 21 - RGB 13, 11, 16 - RGB 0, 0, 0 + RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 21, 21, 21 + RGB 13, 11, 16 + RGB 0, 0, 0 MagnemiteBillboardBGPalette1: ; 0xdc400 - RGB 31, 31, 31 - RGB 20, 20, 26 - RGB 11, 11, 20 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 26 + RGB 11, 11, 20 + RGB 0, 0, 0 MagnemiteBillboardBGPalette2: ; 0xdc408 - RGB 31, 31, 31 - RGB 20, 20, 26 - RGB 31, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 26 + RGB 31, 0, 0 + RGB 0, 0, 0 MagnetonBillboardBGPalette1: ; 0xdc410 - RGB 31, 31, 31 - RGB 20, 20, 26 - RGB 11, 11, 20 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 26 + RGB 11, 11, 20 + RGB 0, 0, 0 MagnetonBillboardBGPalette2: ; 0xdc418 - RGB 31, 31, 31 - RGB 20, 20, 26 - RGB 11, 11, 20 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 26 + RGB 11, 11, 20 + RGB 0, 0, 0 FarfetchdBillboardBGPalette1: ; 0xdc420 - RGB 31, 31, 31 - RGB 31, 29, 13 - RGB 20, 12, 9 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 29, 13 + RGB 20, 12, 9 + RGB 0, 0, 0 FarfetchdBillboardBGPalette2: ; 0xdc428 - RGB 31, 31, 31 - RGB 21, 31, 17 - RGB 7, 20, 6 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 21, 31, 17 + RGB 7, 20, 6 + RGB 0, 0, 0 DoduoBillboardBGPalette1: ; 0xdc430 - RGB 31, 31, 31 - RGB 29, 26, 14 - RGB 26, 16, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 29, 26, 14 + RGB 26, 16, 4 + RGB 0, 0, 0 DoduoBillboardBGPalette2: ; 0xdc438 - RGB 31, 31, 31 - RGB 29, 26, 14 - RGB 26, 16, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 29, 26, 14 + RGB 26, 16, 4 + RGB 0, 0, 0 DodrioBillboardBGPalette1: ; 0xdc440 - RGB 31, 31, 31 - RGB 29, 26, 14 - RGB 26, 16, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 29, 26, 14 + RGB 26, 16, 4 + RGB 0, 0, 0 DodrioBillboardBGPalette2: ; 0xdc448 - RGB 31, 31, 31 - RGB 29, 26, 14 - RGB 26, 16, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 29, 26, 14 + RGB 26, 16, 4 + RGB 0, 0, 0 SeelBillboardBGPalette1: ; 0xdc450 - RGB 31, 31, 31 - RGB 20, 20, 26 - RGB 11, 11, 20 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 26 + RGB 11, 11, 20 + RGB 0, 0, 0 SeelBillboardBGPalette2: ; 0xdc458 - RGB 31, 31, 31 - RGB 29, 26, 14 - RGB 31, 11, 10 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 29, 26, 14 + RGB 31, 11, 10 + RGB 0, 0, 0 DewgongBillboardBGPalette1: ; 0xdc460 - RGB 31, 31, 31 - RGB 20, 20, 26 - RGB 11, 11, 20 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 26 + RGB 11, 11, 20 + RGB 0, 0, 0 DewgongBillboardBGPalette2: ; 0xdc468 - RGB 31, 31, 31 - RGB 20, 20, 26 - RGB 11, 11, 20 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 26 + RGB 11, 11, 20 + RGB 0, 0, 0 GrimerBillboardBGPalette1: ; 0xdc470 - RGB 31, 31, 31 - RGB 27, 18, 30 - RGB 15, 7, 19 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 27, 18, 30 + RGB 15, 7, 19 + RGB 0, 0, 0 GrimerBillboardBGPalette2: ; 0xdc478 - RGB 31, 31, 31 - RGB 27, 18, 30 - RGB 15, 7, 19 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 27, 18, 30 + RGB 15, 7, 19 + RGB 0, 0, 0 MukBillboardBGPalette1: ; 0xdc480 - RGB 31, 31, 31 - RGB 27, 18, 30 - RGB 15, 7, 19 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 27, 18, 30 + RGB 15, 7, 19 + RGB 0, 0, 0 MukBillboardBGPalette2: ; 0xdc488 - RGB 31, 31, 31 - RGB 27, 18, 30 - RGB 15, 7, 19 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 27, 18, 30 + RGB 15, 7, 19 + RGB 0, 0, 0 ShellderBillboardBGPalette1: ; 0xdc490 - RGB 31, 31, 31 - RGB 24, 21, 25 - RGB 13, 11, 15 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 24, 21, 25 + RGB 13, 11, 15 + RGB 0, 0, 0 ShellderBillboardBGPalette2: ; 0xdc498 - RGB 31, 31, 31 - RGB 24, 21, 25 - RGB 31, 13, 13 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 24, 21, 25 + RGB 31, 13, 13 + RGB 0, 0, 0 CloysterBillboardBGPalette1: ; 0xdc4a0 - RGB 31, 31, 31 - RGB 25, 21, 26 - RGB 14, 11, 16 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 25, 21, 26 + RGB 14, 11, 16 + RGB 0, 0, 0 CloysterBillboardBGPalette2: ; 0xdc4a8 - RGB 31, 31, 31 - RGB 25, 21, 26 - RGB 14, 11, 16 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 25, 21, 26 + RGB 14, 11, 16 + RGB 0, 0, 0 GastlyBillboardBGPalette1: ; 0xdc4b0 - RGB 31, 31, 31 - RGB 26, 18, 27 - RGB 15, 8, 16 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 26, 18, 27 + RGB 15, 8, 16 + RGB 0, 0, 0 GastlyBillboardBGPalette2: ; 0xdc4b8 - RGB 31, 31, 31 - RGB 26, 18, 27 - RGB 26, 10, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 26, 18, 27 + RGB 26, 10, 8 + RGB 0, 0, 0 HaunterBillboardBGPalette1: ; 0xdc4c0 - RGB 31, 31, 31 - RGB 26, 18, 27 - RGB 15, 8, 16 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 26, 18, 27 + RGB 15, 8, 16 + RGB 0, 0, 0 HaunterBillboardBGPalette2: ; 0xdc4c8 - RGB 31, 31, 31 - RGB 31, 13, 13 - RGB 14, 9, 15 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 13, 13 + RGB 14, 9, 15 + RGB 0, 0, 0 GengarBillboardBGPalette1: ; 0xdc4d0 - RGB 31, 31, 31 - RGB 18, 21, 23 - RGB 10, 12, 13 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 18, 21, 23 + RGB 10, 12, 13 + RGB 0, 0, 0 GengarBillboardBGPalette2: ; 0xdc4d8 - RGB 31, 31, 31 - RGB 31, 11, 6 - RGB 10, 12, 13 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 11, 6 + RGB 10, 12, 13 + RGB 0, 0, 0 OnixBillboardBGPalette1: ; 0xdc4e0 - RGB 31, 31, 31 - RGB 20, 20, 24 - RGB 10, 10, 14 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 24 + RGB 10, 10, 14 + RGB 0, 0, 0 OnixBillboardBGPalette2: ; 0xdc4e8 - RGB 31, 31, 31 - RGB 20, 20, 24 - RGB 10, 10, 14 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 24 + RGB 10, 10, 14 + RGB 0, 0, 0 DrowzeeBillboardBGPalette1: ; 0xdc4f0 - RGB 31, 31, 31 - RGB 31, 30, 0 - RGB 21, 19, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 30, 0 + RGB 21, 19, 0 + RGB 0, 0, 0 DrowzeeBillboardBGPalette2: ; 0xdc4f8 - RGB 31, 31, 31 - RGB 31, 30, 0 - RGB 21, 19, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 30, 0 + RGB 21, 19, 0 + RGB 0, 0, 0 AlakazamBillboardBGPalette1: ; 0xdc500 - RGB 31, 31, 31 - RGB 31, 30, 0 - RGB 19, 11, 6 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 30, 0 + RGB 19, 11, 6 + RGB 0, 0, 0 AlakazamBillboardBGPalette2: ; 0xdc508 - RGB 31, 31, 31 - RGB 21, 21, 21 - RGB 19, 11, 6 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 21, 21, 21 + RGB 19, 11, 6 + RGB 0, 0, 0 MachopBillboardBGPalette1: ; 0xdc510 - RGB 31, 31, 31 - RGB 19, 19, 21 - RGB 12, 12, 13 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 19, 19, 21 + RGB 12, 12, 13 + RGB 0, 0, 0 MachopBillboardBGPalette2: ; 0xdc518 - RGB 31, 31, 31 - RGB 19, 19, 21 - RGB 31, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 19, 19, 21 + RGB 31, 0, 0 + RGB 0, 0, 0 MachokeBillboardBGPalette1: ; 0xdc520 - RGB 31, 31, 31 - RGB 18, 18, 22 - RGB 11, 11, 14 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 18, 18, 22 + RGB 11, 11, 14 + RGB 0, 0, 0 MachokeBillboardBGPalette2: ; 0xdc528 - RGB 31, 31, 31 - RGB 18, 18, 22 - RGB 31, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 18, 18, 22 + RGB 31, 0, 0 + RGB 0, 0, 0 MachampBillboardBGPalette1: ; 0xdc530 - RGB 31, 31, 31 - RGB 18, 21, 22 - RGB 9, 12, 13 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 18, 21, 22 + RGB 9, 12, 13 + RGB 0, 0, 0 MachampBillboardBGPalette2: ; 0xdc538 - RGB 31, 31, 31 - RGB 18, 21, 22 - RGB 31, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 18, 21, 22 + RGB 31, 0, 0 + RGB 0, 0, 0 BellsproutBillboardBGPalette1: ; 0xdc540 - RGB 31, 31, 31 - RGB 26, 29, 7 - RGB 11, 20, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 26, 29, 7 + RGB 11, 20, 0 + RGB 0, 0, 0 BellsproutBillboardBGPalette2: ; 0xdc548 - RGB 31, 31, 31 - RGB 26, 29, 7 - RGB 31, 11, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 26, 29, 7 + RGB 31, 11, 8 + RGB 0, 0, 0 WeepinbellBillboardBGPalette1: ; 0xdc550 - RGB 31, 31, 31 - RGB 26, 29, 7 - RGB 11, 20, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 26, 29, 7 + RGB 11, 20, 0 + RGB 0, 0, 0 WeepinbellBillboardBGPalette2: ; 0xdc558 - RGB 31, 31, 31 - RGB 26, 29, 7 - RGB 31, 11, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 26, 29, 7 + RGB 31, 11, 8 + RGB 0, 0, 0 VictreebellBillboardBGPalette1: ; 0xdc560 - RGB 31, 31, 31 - RGB 29, 31, 9 - RGB 11, 20, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 29, 31, 9 + RGB 11, 20, 0 + RGB 0, 0, 0 VictreebellBillboardBGPalette2: ; 0xdc568 - RGB 31, 31, 31 - RGB 29, 31, 9 - RGB 31, 11, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 29, 31, 9 + RGB 31, 11, 8 + RGB 0, 0, 0 TentacoolBillboardBGPalette1: ; 0xdc570 - RGB 31, 31, 31 - RGB 16, 22, 31 - RGB 0, 11, 22 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 16, 22, 31 + RGB 0, 11, 22 + RGB 0, 0, 0 TentacoolBillboardBGPalette2: ; 0xdc578 - RGB 31, 31, 31 - RGB 16, 22, 31 - RGB 31, 5, 6 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 16, 22, 31 + RGB 31, 5, 6 + RGB 0, 0, 0 TentacruelBillboardBGPalette1: ; 0xdc580 - RGB 31, 31, 31 - RGB 16, 22, 31 - RGB 0, 11, 22 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 16, 22, 31 + RGB 0, 11, 22 + RGB 0, 0, 0 TentacruelBillboardBGPalette2: ; 0xdc588 - RGB 31, 31, 31 - RGB 16, 22, 31 - RGB 31, 5, 6 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 16, 22, 31 + RGB 31, 5, 6 + RGB 0, 0, 0 GeodudeBillboardBGPalette1: ; 0xdc590 - RGB 31, 31, 31 - RGB 20, 23, 22 - RGB 10, 13, 12 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 23, 22 + RGB 10, 13, 12 + RGB 0, 0, 0 GeodudeBillboardBGPalette2: ; 0xdc598 - RGB 31, 31, 31 - RGB 20, 23, 22 - RGB 10, 13, 12 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 23, 22 + RGB 10, 13, 12 + RGB 0, 0, 0 GravelerBillboardBGPalette1: ; 0xdc5a0 - RGB 31, 31, 31 - RGB 20, 23, 22 - RGB 10, 13, 12 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 23, 22 + RGB 10, 13, 12 + RGB 0, 0, 0 GravelerBillboardBGPalette2: ; 0xdc5a8 - RGB 31, 31, 31 - RGB 20, 23, 22 - RGB 10, 13, 12 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 23, 22 + RGB 10, 13, 12 + RGB 0, 0, 0 GolemBillboardBGPalette1: ; 0xdc5b0 - RGB 31, 31, 31 - RGB 26, 25, 15 - RGB 10, 13, 12 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 26, 25, 15 + RGB 10, 13, 12 + RGB 0, 0, 0 GolemBillboardBGPalette2: ; 0xdc5b8 - RGB 31, 31, 31 - RGB 26, 25, 15 - RGB 31, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 26, 25, 15 + RGB 31, 0, 0 + RGB 0, 0, 0 PonytaBillboardBGPalette1: ; 0xdc5c0 - RGB 31, 31, 31 - RGB 27, 26, 11 - RGB 31, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 27, 26, 11 + RGB 31, 0, 0 + RGB 0, 0, 0 PonytaBillboardBGPalette2: ; 0xdc5c8 - RGB 31, 31, 31 - RGB 31, 29, 0 - RGB 31, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 29, 0 + RGB 31, 0, 0 + RGB 0, 0, 0 RapidashBillboardBGPalette1: ; 0xdc5d0 - RGB 31, 31, 31 - RGB 27, 26, 11 - RGB 31, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 27, 26, 11 + RGB 31, 0, 0 + RGB 0, 0, 0 RapidashBillboardBGPalette2: ; 0xdc5d8 - RGB 31, 31, 31 - RGB 31, 29, 0 - RGB 31, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 29, 0 + RGB 31, 0, 0 + RGB 0, 0, 0 SlowpokeBillboardBGPalette1: ; 0xdc5e0 - RGB 31, 31, 31 - RGB 31, 21, 21 - RGB 31, 11, 11 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 21, 21 + RGB 31, 11, 11 + RGB 0, 0, 0 SlowpokeBillboardBGPalette2: ; 0xdc5e8 - RGB 31, 31, 31 - RGB 31, 27, 15 - RGB 31, 11, 11 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 27, 15 + RGB 31, 11, 11 + RGB 0, 0, 0 SlowbroBillboardBGPalette1: ; 0xdc5f0 - RGB 31, 31, 31 - RGB 31, 27, 15 - RGB 31, 11, 11 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 27, 15 + RGB 31, 11, 11 + RGB 0, 0, 0 SlowbroBillboardBGPalette2: ; 0xdc5f8 - RGB 31, 31, 31 - RGB 23, 23, 23 - RGB 12, 12, 12 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 23, 23, 23 + RGB 12, 12, 12 + RGB 0, 0, 0 StageMeowthBonusCollisionMasks: ; 0xdc600 - INCBIN "data/collision/masks/meowth_bonus.masks" + INCBIN "data/collision/masks/meowth_bonus.masks" ZapdosBillboardBGPalette1: ; 0xdc700 - RGB 31, 31, 31 - RGB 29, 27, 0 - RGB 20, 6, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 29, 27, 0 + RGB 20, 6, 0 + RGB 0, 0, 0 ZapdosBillboardBGPalette2: ; 0xdc708 - RGB 31, 31, 31 - RGB 29, 27, 0 - RGB 20, 6, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 29, 27, 0 + RGB 20, 6, 0 + RGB 0, 0, 0 MoltresBillboardBGPalette1: ; 0xdc710 - RGB 31, 31, 31 - RGB 30, 25, 0 - RGB 30, 6, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 30, 25, 0 + RGB 30, 6, 0 + RGB 0, 0, 0 MoltresBillboardBGPalette2: ; 0xdc718 - RGB 31, 31, 31 - RGB 30, 25, 0 - RGB 30, 6, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 30, 25, 0 + RGB 30, 6, 0 + RGB 0, 0, 0 DratiniBillboardBGPalette1: ; 0xdc720 - RGB 31, 31, 31 - RGB 17, 19, 24 - RGB 6, 11, 15 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 17, 19, 24 + RGB 6, 11, 15 + RGB 0, 0, 0 DratiniBillboardBGPalette2: ; 0xdc728 - RGB 31, 31, 31 - RGB 17, 19, 24 - RGB 6, 11, 15 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 17, 19, 24 + RGB 6, 11, 15 + RGB 0, 0, 0 DragonairBillboardBGPalette1: ; 0xdc730 - RGB 31, 31, 31 - RGB 9, 19, 30 - RGB 2, 4, 26 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 9, 19, 30 + RGB 2, 4, 26 + RGB 0, 0, 0 DragonairBillboardBGPalette2: ; 0xdc738 - RGB 31, 31, 31 - RGB 9, 19, 30 - RGB 2, 4, 26 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 9, 19, 30 + RGB 2, 4, 26 + RGB 0, 0, 0 DragoniteBillboardBGPalette1: ; 0xdc740 - RGB 31, 31, 31 - RGB 31, 23, 7 - RGB 27, 11, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 23, 7 + RGB 27, 11, 0 + RGB 0, 0, 0 DragoniteBillboardBGPalette2: ; 0xdc748 - RGB 31, 31, 31 - RGB 13, 22, 16 - RGB 27, 11, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 13, 22, 16 + RGB 27, 11, 0 + RGB 0, 0, 0 MewtwoBillboardBGPalette1: ; 0xdc750 - RGB 31, 31, 31 - RGB 28, 23, 28 - RGB 13, 7, 20 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 28, 23, 28 + RGB 13, 7, 20 + RGB 0, 0, 0 MewtwoBillboardBGPalette2: ; 0xdc758 - RGB 31, 31, 31 - RGB 28, 23, 28 - RGB 20, 5, 18 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 28, 23, 28 + RGB 20, 5, 18 + RGB 0, 0, 0 MewBillboardBGPalette1: ; 0xdc760 - RGB 31, 31, 31 - RGB 31, 18, 24 - RGB 31, 7, 12 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 18, 24 + RGB 31, 7, 12 + RGB 0, 0, 0 MewBillboardBGPalette2: ; 0xdc768 - RGB 31, 31, 31 - RGB 31, 18, 24 - RGB 0, 10, 31 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 18, 24 + RGB 0, 10, 31 + RGB 0, 0, 0 -INCBIN "baserom.gbc",$dc770,$dc880 - $dc770 + dr $dc770, $dc880 SeelBonusPalettes: ; 0xdc880 SeelBonusBGPalette0: ; 0xdc880 - RGB 31, 31, 31 - RGB 13, 20, 31 - RGB 31, 4, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 13, 20, 31 + RGB 31, 4, 4 + RGB 0, 0, 0 SeelBonusBGPalette1: ; 0xdc888 - RGB 31, 31, 31 - RGB 30, 24, 4 - RGB 27, 7, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 30, 24, 4 + RGB 27, 7, 0 + RGB 0, 0, 0 SeelBonusBGPalette2: ; 0xdc890 - RGB 31, 31, 31 - RGB 31, 0, 0 - RGB 16, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 0, 0 + RGB 16, 0, 0 + RGB 0, 0, 0 SeelBonusBGPalette3: ; 0xdc898 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 SeelBonusBGPalette4: ; 0xdc8a0 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 SeelBonusBGPalette5: ; 0xdc8a8 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 SeelBonusBGPalette6: ; 0xdc8b0 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 SeelBonusBGPalette7: ; 0xdc8b8 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 SeelBonusOBJPalette0: ; 0xdc8c0 - RGB 20, 20, 20 - RGB 31, 31, 31 - RGB 31, 5, 4 - RGB 0, 0, 0 + RGB 20, 20, 20 + RGB 31, 31, 31 + RGB 31, 5, 4 + RGB 0, 0, 0 SeelBonusOBJPalette1: ; 0xdc8c8 - RGB 31, 31, 31 - RGB 20, 20, 26 - RGB 31, 11, 10 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 26 + RGB 31, 11, 10 + RGB 0, 0, 0 SeelBonusOBJPalette2: ; 0xdc8d0 - RGB 20, 20, 20 - RGB 31, 31, 31 - RGB 21, 21, 27 - RGB 0, 0, 0 + RGB 20, 20, 20 + RGB 31, 31, 31 + RGB 21, 21, 27 + RGB 0, 0, 0 SeelBonusOBJPalette3: ; 0xdc8d8 - RGB 31, 31, 31 - RGB 20, 20, 26 - RGB 11, 11, 20 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 26 + RGB 11, 11, 20 + RGB 0, 0, 0 SeelBonusOBJPalette4: ; 0xdc8e0 - RGB 20, 20, 20 - RGB 31, 31, 31 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 20, 20, 20 + RGB 31, 31, 31 + RGB 8, 8, 8 + RGB 0, 0, 0 SeelBonusOBJPalette5: ; 0xdc8e8 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 SeelBonusOBJPalette6: ; 0xdc8f0 - RGB 20, 20, 20 - RGB 31, 31, 31 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 20, 20, 20 + RGB 31, 31, 31 + RGB 8, 8, 8 + RGB 0, 0, 0 SeelBonusOBJPalette7: ; 0xdc8f8 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 -INCBIN "baserom.gbc",$dc900,$dc980 - $dc900 + dr $dc900, $dc980 StageRedFieldTopPalettes: ; 0xdc980 StageRedFieldTopBGPalette0: ; 0xdc980 - RGB 31, 31, 31 - RGB 13, 20, 31 - RGB 31, 4, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 13, 20, 31 + RGB 31, 4, 4 + RGB 0, 0, 0 StageRedFieldTopBGPalette1: ; 0xdc988 - RGB 31, 31, 31 - RGB 24, 31, 0 - RGB 31, 0, 0 - RGB 3, 0, 0 + RGB 31, 31, 31 + RGB 24, 31, 0 + RGB 31, 0, 0 + RGB 3, 0, 0 StageRedFieldTopBGPalette2: ; 0xdc990 - RGB 31, 31, 31 - RGB 11, 25, 31 - RGB 0, 11, 31 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 11, 25, 31 + RGB 0, 11, 31 + RGB 0, 0, 0 StageRedFieldTopBGPalette3: ; 0xdc998 - RGB 31, 31, 31 - RGB 31, 13, 13 - RGB 31, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 13, 13 + RGB 31, 0, 0 + RGB 0, 0, 0 StageRedFieldTopBGPalette4: ; 0xdc9a0 - RGB 31, 31, 31 - RGB 31, 0, 31 - RGB 31, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 0, 31 + RGB 31, 0, 0 + RGB 0, 0, 0 StageRedFieldTopBGPalette5: ; 0xdc9a8 - RGB 24, 31, 0 - RGB 31, 0, 31 - RGB 31, 0, 0 - RGB 0, 0, 0 + RGB 24, 31, 0 + RGB 31, 0, 31 + RGB 31, 0, 0 + RGB 0, 0, 0 StageRedFieldTopBGPalette6: ; 0xdc9b0 - RGB 31, 31, 31 - RGB 13, 13, 31 - RGB 31, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 13, 13, 31 + RGB 31, 0, 0 + RGB 0, 0, 0 StageRedFieldTopBGPalette7: ; 0xdc9b8 - RGB 31, 31, 31 - RGB 31, 13, 13 - RGB 31, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 13, 13 + RGB 31, 0, 0 + RGB 0, 0, 0 StageRedFieldTopOBJPalette0: ; 0xdc9c0 - RGB 21, 21, 21 - RGB 31, 31, 31 - RGB 31, 5, 4 - RGB 0, 0, 0 + RGB 21, 21, 21 + RGB 31, 31, 31 + RGB 31, 5, 4 + RGB 0, 0, 0 StageRedFieldTopOBJPalette1: ; 0xdc9c8 - RGB 31, 31, 31 - RGB 31, 19, 22 - RGB 21, 0, 0 - RGB 4, 0, 0 + RGB 31, 31, 31 + RGB 31, 19, 22 + RGB 21, 0, 0 + RGB 4, 0, 0 StageRedFieldTopOBJPalette2: ; 0xdc9d0 - RGB 20, 20, 20 - RGB 31, 31, 31 - RGB 31, 0, 31 - RGB 0, 0, 0 + RGB 20, 20, 20 + RGB 31, 31, 31 + RGB 31, 0, 31 + RGB 0, 0, 0 StageRedFieldTopOBJPalette3: ; 0xdc9d8 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 22, 0 - RGB 10, 4, 0 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 22, 0 + RGB 10, 4, 0 StageRedFieldTopOBJPalette4: ; 0xdc9e0 - RGB 20, 20, 20 - RGB 18, 31, 18 - RGB 5, 19, 0 - RGB 0, 7, 0 + RGB 20, 20, 20 + RGB 18, 31, 18 + RGB 5, 19, 0 + RGB 0, 7, 0 StageRedFieldTopOBJPalette5: ; 0xdc9e8 - RGB 31, 31, 31 - RGB 31, 20, 0 - RGB 31, 15, 16 - RGB 5, 2, 0 + RGB 31, 31, 31 + RGB 31, 20, 0 + RGB 31, 15, 16 + RGB 5, 2, 0 StageRedFieldTopOBJPalette6: ; 0xdc9f0 - RGB 20, 20, 20 - RGB 0, 31, 25 - RGB 0, 18, 14 - RGB 0, 0, 0 + RGB 20, 20, 20 + RGB 0, 31, 25 + RGB 0, 18, 14 + RGB 0, 0, 0 StageRedFieldTopOBJPalette7: ; 0xdc9f8 - RGB 31, 31, 31 - RGB 31, 15, 13 - RGB 21, 0, 0 - RGB 4, 0, 0 + RGB 31, 31, 31 + RGB 31, 15, 13 + RGB 21, 0, 0 + RGB 4, 0, 0 DiglettBonusPalettes: ; 0xdca00 DiglettBonusBGPalette0: ; 0xdca00 - RGB 31, 31, 31 - RGB 13, 20, 31 - RGB 31, 4, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 13, 20, 31 + RGB 31, 4, 4 + RGB 0, 0, 0 DiglettBonusBGPalette1: ; 0xdca08 - RGB 31, 31, 31 - RGB 10, 24, 20 - RGB 5, 13, 10 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 10, 24, 20 + RGB 5, 13, 10 + RGB 0, 0, 0 DiglettBonusBGPalette2: ; 0xdca10 - RGB 31, 31, 31 - RGB 31, 0, 0 - RGB 16, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 0, 0 + RGB 16, 0, 0 + RGB 0, 0, 0 DiglettBonusBGPalette3: ; 0xdca18 - RGB 31, 31, 31 - RGB 31, 18, 8 - RGB 27, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 18, 8 + RGB 27, 0, 0 + RGB 0, 0, 0 DiglettBonusBGPalette4: ; 0xdca20 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 DiglettBonusBGPalette5: ; 0xdca28 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 DiglettBonusBGPalette6: ; 0xdca30 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 DiglettBonusBGPalette7: ; 0xdca38 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 DiglettBonusOBJPalette0: ; 0xdca40 - RGB 20, 20, 20 - RGB 31, 31, 31 - RGB 31, 5, 4 - RGB 0, 0, 0 + RGB 20, 20, 20 + RGB 31, 31, 31 + RGB 31, 5, 4 + RGB 0, 0, 0 DiglettBonusOBJPalette1: ; 0xdca48 - RGB 31, 31, 31 - RGB 31, 18, 8 - RGB 27, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 18, 8 + RGB 27, 0, 0 + RGB 0, 0, 0 DiglettBonusOBJPalette2: ; 0xdca50 - RGB 20, 20, 20 - RGB 31, 31, 31 - RGB 21, 21, 27 - RGB 0, 0, 0 + RGB 20, 20, 20 + RGB 31, 31, 31 + RGB 21, 21, 27 + RGB 0, 0, 0 DiglettBonusOBJPalette3: ; 0xdca58 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 DiglettBonusOBJPalette4: ; 0xdca60 - RGB 20, 20, 20 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 20, 20, 20 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 DiglettBonusOBJPalette5: ; 0xdca68 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 DiglettBonusOBJPalette6: ; 0xdca70 - RGB 20, 20, 20 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 20, 20, 20 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 DiglettBonusOBJPalette7: ; 0xdca78 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 StageRedFieldBottomPalettes: ; 0xdca80 StageRedFieldBottomBGPalette0: ; 0xdca80 - RGB 31, 31, 31 - RGB 13, 20, 31 - RGB 31, 4, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 13, 20, 31 + RGB 31, 4, 4 + RGB 0, 0, 0 StageRedFieldBottomBGPalette1: ; 0xdca88 - RGB 31, 31, 31 - RGB 24, 31, 0 - RGB 31, 0, 0 - RGB 3, 0, 0 + RGB 31, 31, 31 + RGB 24, 31, 0 + RGB 31, 0, 0 + RGB 3, 0, 0 StageRedFieldBottomBGPalette2: ; 0xdca90 - RGB 31, 31, 31 - RGB 11, 25, 31 - RGB 0, 11, 31 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 11, 25, 31 + RGB 0, 11, 31 + RGB 0, 0, 0 StageRedFieldBottomBGPalette3: ; 0xdca98 - RGB 31, 31, 31 - RGB 31, 13, 13 - RGB 31, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 13, 13 + RGB 31, 0, 0 + RGB 0, 0, 0 StageRedFieldBottomBGPalette4: ; 0xdcaa0 - RGB 31, 31, 31 - RGB 31, 0, 31 - RGB 31, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 0, 31 + RGB 31, 0, 0 + RGB 0, 0, 0 StageRedFieldBottomBGPalette5: ; 0xdcaa8 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 StageRedFieldBottomBGPalette6: ; 0xdcab0 - RGB 29, 30, 31 - RGB 27, 20, 10 - RGB 2, 16, 1 - RGB 0, 0, 0 + RGB 29, 30, 31 + RGB 27, 20, 10 + RGB 2, 16, 1 + RGB 0, 0, 0 StageRedFieldBottomBGPalette7: ; 0xdcab8 - RGB 29, 30, 31 - RGB 5, 17, 31 - RGB 26, 3, 1 - RGB 0, 0, 0 + RGB 29, 30, 31 + RGB 5, 17, 31 + RGB 26, 3, 1 + RGB 0, 0, 0 StageRedFieldBottomOBJPalette0: ; 0xdcac0 - RGB 21, 21, 21 - RGB 31, 31, 31 - RGB 31, 5, 4 - RGB 0, 0, 0 + RGB 21, 21, 21 + RGB 31, 31, 31 + RGB 31, 5, 4 + RGB 0, 0, 0 StageRedFieldBottomOBJPalette1: ; 0xdcac8 - RGB 31, 31, 31 - RGB 21, 21, 21 - RGB 27, 21, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 21, 21, 21 + RGB 27, 21, 0 + RGB 0, 0, 0 StageRedFieldBottomOBJPalette2: ; 0xdcad0 - RGB 21, 21, 21 - RGB 31, 31, 31 - RGB 21, 21, 27 - RGB 0, 0, 0 + RGB 21, 21, 21 + RGB 31, 31, 31 + RGB 21, 21, 27 + RGB 0, 0, 0 StageRedFieldBottomOBJPalette3: ; 0xdcad8 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 8, 8, 8 + RGB 0, 0, 0 StageRedFieldBottomOBJPalette4: ; 0xdcae0 - RGB 21, 21, 21 - RGB 31, 28, 0 - RGB 29, 0, 0 - RGB 0, 0, 0 + RGB 21, 21, 21 + RGB 31, 28, 0 + RGB 29, 0, 0 + RGB 0, 0, 0 StageRedFieldBottomOBJPalette5: ; 0xdcae8 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 8, 8, 8 + RGB 0, 0, 0 StageRedFieldBottomOBJPalette6: ; 0xdcaf0 - RGB 20, 20, 20 - RGB 0, 31, 25 - RGB 0, 18, 14 - RGB 0, 0, 0 + RGB 20, 20, 20 + RGB 0, 31, 25 + RGB 0, 18, 14 + RGB 0, 0, 0 StageRedFieldBottomOBJPalette7: ; 0xdcaf8 - RGB 31, 31, 31 - RGB 31, 30, 16 - RGB 27, 24, 8 - RGB 23, 19, 3 + RGB 31, 31, 31 + RGB 31, 30, 16 + RGB 27, 24, 8 + RGB 23, 19, 3 StageBlueFieldTopPalettes: ; 0xdcb00 StageBlueFieldTopBGPalette0: ; 0xdcb00 - RGB 31, 31, 31 - RGB 13, 20, 31 - RGB 31, 4, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 13, 20, 31 + RGB 31, 4, 4 + RGB 0, 0, 0 StageBlueFieldTopBGPalette1: ; 0xdcb08 - RGB 31, 31, 31 - RGB 11, 25, 31 - RGB 0, 11, 31 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 11, 25, 31 + RGB 0, 11, 31 + RGB 0, 0, 0 StageBlueFieldTopBGPalette2: ; 0xdcb10 - RGB 31, 31, 31 - RGB 4, 23, 13 - RGB 0, 13, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 4, 23, 13 + RGB 0, 13, 4 + RGB 0, 0, 0 StageBlueFieldTopBGPalette3: ; 0xdcb18 - RGB 31, 31, 31 - RGB 31, 29, 0 - RGB 15, 8, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 29, 0 + RGB 15, 8, 0 + RGB 0, 0, 0 StageBlueFieldTopBGPalette4: ; 0xdcb20 - RGB 31, 31, 31 - RGB 31, 0, 0 - RGB 16, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 0, 0 + RGB 16, 0, 0 + RGB 0, 0, 0 StageBlueFieldTopBGPalette5: ; 0xdcb28 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 StageBlueFieldTopBGPalette6: ; 0xdcb30 - RGB 31, 31, 31 - RGB 13, 13, 31 - RGB 31, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 13, 13, 31 + RGB 31, 0, 0 + RGB 0, 0, 0 StageBlueFieldTopBGPalette7: ; 0xdcb38 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 StageBlueFieldTopOBJPalette0: ; 0xdcb40 - RGB 21, 21, 21 - RGB 31, 31, 31 - RGB 31, 5, 4 - RGB 0, 0, 0 + RGB 21, 21, 21 + RGB 31, 31, 31 + RGB 31, 5, 4 + RGB 0, 0, 0 StageBlueFieldTopOBJPalette1: ; 0xdcb48 - RGB 31, 31, 31 - RGB 31, 13, 15 - RGB 23, 4, 6 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 13, 15 + RGB 23, 4, 6 + RGB 0, 0, 0 StageBlueFieldTopOBJPalette2: ; 0xdcb50 - RGB 21, 21, 21 - RGB 31, 31, 31 - RGB 31, 26, 0 - RGB 10, 6, 0 + RGB 21, 21, 21 + RGB 31, 31, 31 + RGB 31, 26, 0 + RGB 10, 6, 0 StageBlueFieldTopOBJPalette3: ; 0xdcb58 - RGB 31, 31, 31 - RGB 24, 22, 26 - RGB 12, 10, 14 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 24, 22, 26 + RGB 12, 10, 14 + RGB 0, 0, 0 StageBlueFieldTopOBJPalette4: ; 0xdcb60 - RGB 21, 21, 21 - RGB 31, 31, 31 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 21, 21, 21 + RGB 31, 31, 31 + RGB 8, 8, 8 + RGB 0, 0, 0 StageBlueFieldTopOBJPalette5: ; 0xdcb68 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 8, 8, 8 + RGB 0, 0, 0 StageBlueFieldTopOBJPalette6: ; 0xdcb70 - RGB 21, 21, 21 - RGB 0, 31, 25 - RGB 0, 18, 14 - RGB 0, 0, 0 + RGB 21, 21, 21 + RGB 0, 31, 25 + RGB 0, 18, 14 + RGB 0, 0, 0 StageBlueFieldTopOBJPalette7: ; 0xdcb78 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 8, 8, 8 + RGB 0, 0, 0 StageBlueFieldBottomPalettes: ; 0xdcb80 StageBlueFieldBottomBGPalette0: ; 0xdcb80 - RGB 31, 31, 31 - RGB 13, 20, 31 - RGB 31, 4, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 13, 20, 31 + RGB 31, 4, 4 + RGB 0, 0, 0 StageBlueFieldBottomBGPalette1: ; 0xdcb88 - RGB 31, 31, 31 - RGB 11, 25, 31 - RGB 0, 11, 31 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 11, 25, 31 + RGB 0, 11, 31 + RGB 0, 0, 0 StageBlueFieldBottomBGPalette2: ; 0xdcb90 - RGB 31, 31, 31 - RGB 4, 23, 13 - RGB 0, 13, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 4, 23, 13 + RGB 0, 13, 4 + RGB 0, 0, 0 StageBlueFieldBottomBGPalette3: ; 0xdcb98 - RGB 31, 31, 31 - RGB 31, 29, 0 - RGB 15, 8, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 29, 0 + RGB 15, 8, 0 + RGB 0, 0, 0 StageBlueFieldBottomBGPalette4: ; 0xdcba0 - RGB 31, 31, 31 - RGB 31, 0, 0 - RGB 16, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 0, 0 + RGB 16, 0, 0 + RGB 0, 0, 0 StageBlueFieldBottomBGPalette5: ; 0xdcba8 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 StageBlueFieldBottomBGPalette6: ; 0xdcbb0 - RGB 31, 31, 31 - RGB 15, 20, 31 - RGB 7, 11, 21 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 15, 20, 31 + RGB 7, 11, 21 + RGB 0, 0, 0 StageBlueFieldBottomBGPalette7: ; 0xdcbb8 - RGB 31, 31, 31 - RGB 27, 20, 10 - RGB 24, 7, 5 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 27, 20, 10 + RGB 24, 7, 5 + RGB 0, 0, 0 StageBlueFieldBottomOBJPalette0: ; 0xdcbc0 - RGB 21, 21, 21 - RGB 31, 31, 31 - RGB 31, 5, 4 - RGB 0, 0, 0 + RGB 21, 21, 21 + RGB 31, 31, 31 + RGB 31, 5, 4 + RGB 0, 0, 0 StageBlueFieldBottomOBJPalette1: ; 0xdcbc8 - RGB 31, 31, 31 - RGB 21, 21, 21 - RGB 27, 21, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 21, 21, 21 + RGB 27, 21, 0 + RGB 0, 0, 0 StageBlueFieldBottomOBJPalette2: ; 0xdcbd0 - RGB 21, 21, 21 - RGB 31, 31, 31 - RGB 21, 21, 27 - RGB 0, 0, 0 + RGB 21, 21, 21 + RGB 31, 31, 31 + RGB 21, 21, 27 + RGB 0, 0, 0 StageBlueFieldBottomOBJPalette3: ; 0xdcbd8 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 8, 8, 8 + RGB 0, 0, 0 StageBlueFieldBottomOBJPalette4: ; 0xdcbe0 - RGB 21, 21, 21 - RGB 31, 28, 0 - RGB 29, 0, 0 - RGB 0, 0, 0 + RGB 21, 21, 21 + RGB 31, 28, 0 + RGB 29, 0, 0 + RGB 0, 0, 0 StageBlueFieldBottomOBJPalette5: ; 0xdcbe8 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 8, 8, 8 + RGB 0, 0, 0 StageBlueFieldBottomOBJPalette6: ; 0xdcbf0 - RGB 21, 21, 21 - RGB 0, 31, 25 - RGB 0, 18, 14 - RGB 0, 0, 0 + RGB 21, 21, 21 + RGB 0, 31, 25 + RGB 0, 18, 14 + RGB 0, 0, 0 StageBlueFieldBottomOBJPalette7: ; 0xdcbf8 - RGB 31, 31, 31 - RGB 31, 30, 16 - RGB 27, 24, 8 - RGB 23, 19, 3 + RGB 31, 31, 31 + RGB 31, 30, 16 + RGB 27, 24, 8 + RGB 23, 19, 3 PaletteData_dcc00: ; 0xdcc00 - RGB 31, 31, 31 - RGB 31, 28, 0 - RGB 0, 11, 31 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 28, 0 + RGB 0, 11, 31 + RGB 0, 0, 0 PaletteData_dcc08: ; 0xdcc08 - RGB 31, 31, 31 - RGB 31, 28, 0 - RGB 29, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 28, 0 + RGB 29, 0, 0 + RGB 0, 0, 0 PaletteData_dcc10: ; 0xdcc10 - RGB 31, 31, 31 - RGB 31, 0, 0 - RGB 16, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 0, 0 + RGB 16, 0, 0 + RGB 0, 0, 0 PaletteData_dcc18: ; 0xdcc18 - RGB 31, 31, 31 - RGB 31, 29, 0 - RGB 15, 8, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 29, 0 + RGB 15, 8, 0 + RGB 0, 0, 0 PaletteData_dcc20: ; 0xdcc20 - RGB 31, 31, 31 - RGB 4, 23, 13 - RGB 29, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 4, 23, 13 + RGB 29, 0, 0 + RGB 0, 0, 0 PaletteData_dcc28: ; 0xdcc28 - RGB 31, 31, 31 - RGB 29, 0, 0 - RGB 0, 0, 22 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 29, 0, 0 + RGB 0, 0, 22 + RGB 0, 0, 0 PaletteData_dcc30: ; 0xdcc30 - RGB 31, 31, 31 - RGB 31, 0, 15 - RGB 11, 0, 13 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 0, 15 + RGB 11, 0, 13 + RGB 0, 0, 0 PaletteData_dcc38: ; 0xdcc38 - RGB 31, 31, 31 - RGB 11, 25, 31 - RGB 0, 11, 31 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 11, 25, 31 + RGB 0, 11, 31 + RGB 0, 0, 0 PaletteData_dcc40: ; 0xdcc40 - RGB 31, 31, 31 - RGB 15, 15, 19 - RGB 31, 0, 31 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 15, 15, 19 + RGB 31, 0, 31 + RGB 0, 0, 0 PaletteData_dcc48: ; 0xdcc48 - RGB 31, 31, 31 - RGB 31, 25, 31 - RGB 31, 0, 31 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 25, 31 + RGB 31, 0, 31 + RGB 0, 0, 0 PaletteData_dcc50: ; 0xdcc50 - RGB 31, 31, 31 - RGB 31, 31, 0 - RGB 27, 11, 2 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 31, 0 + RGB 27, 11, 2 + RGB 0, 0, 0 PaletteData_dcc58: ; 0xdcc58 - RGB 31, 31, 31 - RGB 31, 18, 8 - RGB 27, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 18, 8 + RGB 27, 0, 0 + RGB 0, 0, 0 PaletteData_dcc60: ; 0xdcc60 - RGB 31, 31, 31 - RGB 20, 20, 26 - RGB 31, 11, 10 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 26 + RGB 31, 11, 10 + RGB 0, 0, 0 -INCBIN "baserom.gbc",$dcc68,$dcc80 - $dcc68 + dr $dcc68, $dcc80 MeowthBonusPalettes: ; 0xdcc80 MeowthBonusBGPalette0: ; 0xdcc80 - RGB 31, 31, 31 - RGB 13, 20, 31 - RGB 31, 4, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 13, 20, 31 + RGB 31, 4, 4 + RGB 0, 0, 0 MeowthBonusBGPalette1: ; 0xdcc88 - RGB 31, 31, 31 - RGB 31, 16, 0 - RGB 15, 7, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 16, 0 + RGB 15, 7, 0 + RGB 0, 0, 0 MeowthBonusBGPalette2: ; 0xdcc90 - RGB 31, 31, 31 - RGB 31, 0, 0 - RGB 16, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 0, 0 + RGB 16, 0, 0 + RGB 0, 0, 0 MeowthBonusBGPalette3: ; 0xdcc98 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 MeowthBonusBGPalette4: ; 0xdcca0 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 MeowthBonusBGPalette5: ; 0xdcca8 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 MeowthBonusBGPalette6: ; 0xdccb0 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 MeowthBonusBGPalette7: ; 0xdccb8 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 MeowthBonusOBJPalette0: ; 0xdccc0 - RGB 20, 20, 20 - RGB 31, 31, 31 - RGB 31, 5, 4 - RGB 0, 0, 0 + RGB 20, 20, 20 + RGB 31, 31, 31 + RGB 31, 5, 4 + RGB 0, 0, 0 MeowthBonusOBJPalette1: ; 0xdccc8 - RGB 31, 31, 31 - RGB 31, 26, 16 - RGB 25, 9, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 26, 16 + RGB 25, 9, 0 + RGB 0, 0, 0 MeowthBonusOBJPalette2: ; 0xdccd0 - RGB 20, 20, 20 - RGB 31, 31, 31 - RGB 21, 21, 27 - RGB 0, 0, 0 + RGB 20, 20, 20 + RGB 31, 31, 31 + RGB 21, 21, 27 + RGB 0, 0, 0 MeowthBonusOBJPalette3: ; 0xdccd8 - RGB 31, 31, 31 - RGB 31, 31, 0 - RGB 23, 7, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 31, 0 + RGB 23, 7, 0 + RGB 0, 0, 0 MeowthBonusOBJPalette4: ; 0xdcce0 - RGB 20, 20, 20 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 20, 20, 20 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 MeowthBonusOBJPalette5: ; 0xdcce8 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 MeowthBonusOBJPalette6: ; 0xdccf0 - RGB 20, 20, 20 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 20, 20, 20 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 MeowthBonusOBJPalette7: ; 0xdccf8 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 HighScoresBlueStagePalettes: ; 0xdcd00 HighScoresBlueStageBGPalette0: ; 0xdcd00 - RGB 31, 31, 31 - RGB 23, 23, 23 - RGB 14, 14, 14 - RGB 5, 5, 5 + RGB 31, 31, 31 + RGB 23, 23, 23 + RGB 14, 14, 14 + RGB 5, 5, 5 HighScoresBlueStageBGPalette1: ; 0xdcd08 - RGB 31, 31, 31 - RGB 31, 0, 0 - RGB 9, 9, 27 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 0, 0 + RGB 9, 9, 27 + RGB 0, 0, 0 HighScoresBlueStageBGPalette2: ; 0xdcd10 - RGB 31, 31, 31 - RGB 31, 8, 0 - RGB 9, 9, 27 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 8, 0 + RGB 9, 9, 27 + RGB 0, 0, 0 HighScoresBlueStageBGPalette3: ; 0xdcd18 - RGB 31, 31, 31 - RGB 31, 16, 0 - RGB 9, 9, 27 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 16, 0 + RGB 9, 9, 27 + RGB 0, 0, 0 HighScoresBlueStageBGPalette4: ; 0xdcd20 - RGB 31, 31, 31 - RGB 31, 24, 0 - RGB 9, 9, 27 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 24, 0 + RGB 9, 9, 27 + RGB 0, 0, 0 HighScoresBlueStageBGPalette5: ; 0xdcd28 - RGB 31, 31, 31 - RGB 31, 31, 0 - RGB 9, 9, 27 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 31, 0 + RGB 9, 9, 27 + RGB 0, 0, 0 HighScoresBlueStageBGPalette6: ; 0xdcd30 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 HighScoresBlueStageBGPalette7: ; 0xdcd38 - RGB 31, 29, 4 - RGB 29, 18, 0 - RGB 31, 0, 0 - RGB 5, 5, 5 + RGB 31, 29, 4 + RGB 29, 18, 0 + RGB 31, 0, 0 + RGB 5, 5, 5 HighScoresBlueStageOBJPalette0: ; 0xdcd40 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 9, 9, 27 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 9, 9, 27 + RGB 0, 0, 0 HighScoresBlueStageOBJPalette1: ; 0xdcd48 - RGB 31, 31, 31 - RGB 31, 29, 4 - RGB 29, 18, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 29, 4 + RGB 29, 18, 0 + RGB 0, 0, 0 HighScoresBlueStageOBJPalette2: ; 0xdcd50 - RGB 20, 20, 20 - RGB 31, 31, 31 - RGB 14, 14, 14 - RGB 5, 5, 5 + RGB 20, 20, 20 + RGB 31, 31, 31 + RGB 14, 14, 14 + RGB 5, 5, 5 HighScoresBlueStageOBJPalette3: ; 0xdcd58 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 HighScoresBlueStageOBJPalette4: ; 0xdcd60 - RGB 31, 31, 31 - RGB 31, 0, 0 - RGB 31, 31, 31 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 0, 0 + RGB 31, 31, 31 + RGB 0, 0, 0 HighScoresBlueStageOBJPalette5: ; 0xdcd68 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 HighScoresBlueStageOBJPalette6: ; 0xdcd70 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 HighScoresBlueStageOBJPalette7: ; 0xdcd88 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 HighScoresRedStagePalettes: ; 0xdcd80 HighScoresRedStageBGPalette0: ; 0xdcd80 - RGB 31, 31, 31 - RGB 23, 23, 23 - RGB 14, 14, 14 - RGB 5, 5, 5 + RGB 31, 31, 31 + RGB 23, 23, 23 + RGB 14, 14, 14 + RGB 5, 5, 5 HighScoresRedStageBGPalette1: ; 0xdcd88 - RGB 31, 31, 31 - RGB 0, 0, 31 - RGB 31, 6, 6 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 0, 31 + RGB 31, 6, 6 + RGB 0, 0, 0 HighScoresRedStageBGPalette2: ; 0xdcd90 - RGB 31, 31, 31 - RGB 0, 8, 31 - RGB 31, 6, 6 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 8, 31 + RGB 31, 6, 6 + RGB 0, 0, 0 HighScoresRedStageBGPalette3: ; 0xdcd98 - RGB 31, 31, 31 - RGB 0, 16, 31 - RGB 31, 6, 6 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 16, 31 + RGB 31, 6, 6 + RGB 0, 0, 0 HighScoresRedStageBGPalette4: ; 0xdcda0 - RGB 31, 31, 31 - RGB 0, 24, 31 - RGB 31, 6, 6 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 24, 31 + RGB 31, 6, 6 + RGB 0, 0, 0 HighScoresRedStageBGPalette5: ; 0xdcda8 - RGB 31, 31, 31 - RGB 0, 31, 31 - RGB 31, 6, 6 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 31, 31 + RGB 31, 6, 6 + RGB 0, 0, 0 HighScoresRedStageBGPalette6: ; 0xdcdb0 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 HighScoresRedStageBGPalette7: ; 0xdcdb8 - RGB 31, 29, 4 - RGB 29, 18, 0 - RGB 31, 0, 0 - RGB 5, 5, 5 + RGB 31, 29, 4 + RGB 29, 18, 0 + RGB 31, 0, 0 + RGB 5, 5, 5 HighScoresRedStageOBJPalette0: ; 0xdcdc0 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 6, 6 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 6, 6 + RGB 0, 0, 0 HighScoresRedStageOBJPalette1: ; 0xdcdc8 - RGB 31, 31, 31 - RGB 31, 29, 4 - RGB 29, 18, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 29, 4 + RGB 29, 18, 0 + RGB 0, 0, 0 HighScoresRedStageOBJPalette2: ; 0xdcdd0 - RGB 20, 20, 20 - RGB 31, 31, 31 - RGB 14, 14, 14 - RGB 5, 5, 5 + RGB 20, 20, 20 + RGB 31, 31, 31 + RGB 14, 14, 14 + RGB 5, 5, 5 HighScoresRedStageOBJPalette3: ; 0xdcdd8 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 HighScoresRedStageOBJPalette4: ; 0xdcde0 - RGB 31, 31, 31 - RGB 31, 0, 0 - RGB 31, 31, 31 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 0, 0 + RGB 31, 31, 31 + RGB 0, 0, 0 HighScoresRedStageOBJPalette5: ; 0xdcde8 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 HighScoresRedStageOBJPalette6: ; 0xdcdf0 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 HighScoresRedStageOBJPalette7: ; 0xdcdf8 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 OptionMenuPalettes: ; 0xdce00 OptionMenuBGPalette0: ; 0xdce00 - RGB 31, 31, 31 - RGB 31, 30, 9 - RGB 22, 21, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 30, 9 + RGB 22, 21, 0 + RGB 0, 0, 0 OptionMenuBGPalette1: ; 0xdce08 - RGB 31, 31, 31 - RGB 31, 29, 0 - RGB 31, 8, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 29, 0 + RGB 31, 8, 0 + RGB 0, 0, 0 OptionMenuBGPalette2: ; 0xdce10 - RGB 31, 31, 31 - RGB 31, 29, 0 - RGB 26, 18, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 29, 0 + RGB 26, 18, 0 + RGB 0, 0, 0 OptionMenuBGPalette3: ; 0xdce18 - RGB 31, 31, 31 - RGB 31, 29, 0 - RGB 22, 10, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 29, 0 + RGB 22, 10, 0 + RGB 0, 0, 0 OptionMenuBGPalette4: ; 0xdce20 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 OptionMenuBGPalette5: ; 0xdce28 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 OptionMenuBGPalette6: ; 0xdce30 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 OptionMenuBGPalette7: ; 0xdce38 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 OptionMenuOBJPalette0: ; 0xdce40 - RGB 31, 31, 31 - RGB 31, 29, 0 - RGB 31, 8, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 29, 0 + RGB 31, 8, 0 + RGB 0, 0, 0 OptionMenuOBJPalette1: ; 0xdce48 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 29, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 29, 0 + RGB 0, 0, 0 OptionMenuOBJPalette2: ; 0xdce50 - RGB 31, 31, 31 - RGB 31, 31, 11 - RGB 26, 23, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 31, 11 + RGB 26, 23, 0 + RGB 0, 0, 0 OptionMenuOBJPalette3: ; 0xdce58 - RGB 31, 31, 31 - RGB 22, 22, 22 - RGB 11, 11, 11 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 22, 22, 22 + RGB 11, 11, 11 + RGB 0, 0, 0 OptionMenuOBJPalette4: ; 0xdce60 - RGB 31, 31, 31 - RGB 23, 23, 27 - RGB 31, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 23, 23, 27 + RGB 31, 0, 0 + RGB 0, 0, 0 OptionMenuOBJPalette5: ; 0xdce68 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 OptionMenuOBJPalette6: ; 0xdce70 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 OptionMenuOBJPalette7: ; 0xdce78 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 -INCBIN "baserom.gbc",$dce80,$dcf00 - $dce80 + dr $dce80, $dcf00 MewtwoBonusPalettes: ; 0xdcf00 MewtwoBonusBGPalette0: ; 0xdcf00 - RGB 31, 31, 31 - RGB 13, 20, 31 - RGB 31, 4, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 13, 20, 31 + RGB 31, 4, 4 + RGB 0, 0, 0 MewtwoBonusBGPalette1: ; 0xdcf08 - RGB 31, 31, 31 - RGB 15, 15, 21 - RGB 6, 6, 11 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 15, 15, 21 + RGB 6, 6, 11 + RGB 0, 0, 0 MewtwoBonusBGPalette2: ; 0xdcf10 - RGB 31, 31, 31 - RGB 31, 0, 0 - RGB 16, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 0, 0 + RGB 16, 0, 0 + RGB 0, 0, 0 MewtwoBonusBGPalette3: ; 0xdcf18 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 MewtwoBonusBGPalette4: ; 0xdcf20 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 MewtwoBonusBGPalette5: ; 0xdcf28 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 MewtwoBonusBGPalette6: ; 0xdcf30 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 MewtwoBonusBGPalette7: ; 0xdcf38 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 MewtwoBonusOBJPalette0: ; 0xdcf40 - RGB 20, 20, 20 - RGB 31, 31, 31 - RGB 31, 5, 4 - RGB 0, 0, 0 + RGB 20, 20, 20 + RGB 31, 31, 31 + RGB 31, 5, 4 + RGB 0, 0, 0 MewtwoBonusOBJPalette1: ; 0xdcf48 - RGB 31, 31, 31 - RGB 24, 19, 0 - RGB 13, 8, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 24, 19, 0 + RGB 13, 8, 0 + RGB 0, 0, 0 MewtwoBonusOBJPalette2: ; 0xdcf50 - RGB 20, 20, 20 - RGB 31, 31, 31 - RGB 21, 21, 27 - RGB 0, 0, 0 + RGB 20, 20, 20 + RGB 31, 31, 31 + RGB 21, 21, 27 + RGB 0, 0, 0 MewtwoBonusOBJPalette3: ; 0xdcf58 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 MewtwoBonusOBJPalette4: ; 0xdcf60 - RGB 20, 20, 20 - RGB 31, 25, 31 - RGB 31, 0, 31 - RGB 0, 0, 0 + RGB 20, 20, 20 + RGB 31, 25, 31 + RGB 31, 0, 31 + RGB 0, 0, 0 MewtwoBonusOBJPalette5: ; 0xdcf68 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 MewtwoBonusOBJPalette6: ; 0xdcf70 - RGB 20, 20, 20 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 20, 20, 20 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 MewtwoBonusOBJPalette7: ; 0xdcf78 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 TitlescreenPalettes: ; 0xdcf80 TitlescreenBGPalette0: ; 0xdcf80 - RGB 31, 31, 31 - RGB 31, 29, 0 - RGB 31, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 29, 0 + RGB 31, 0, 0 + RGB 0, 0, 0 TitlescreenBGPalette1: ; 0xdcf88 - RGB 31, 31, 31 - RGB 0, 12, 26 - RGB 31, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 12, 26 + RGB 31, 0, 0 + RGB 0, 0, 0 TitlescreenBGPalette2: ; 0xdcf90 - RGB 31, 31, 31 - RGB 23, 31, 24 - RGB 31, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 23, 31, 24 + RGB 31, 0, 0 + RGB 0, 0, 0 TitlescreenBGPalette3: ; 0xdcf98 - RGB 31, 31, 31 - RGB 31, 29, 0 - RGB 0, 12, 26 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 29, 0 + RGB 0, 12, 26 + RGB 0, 0, 0 TitlescreenBGPalette4: ; 0xdcfa0 - RGB 31, 31, 31 - RGB 20, 20, 31 - RGB 0, 12, 26 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 31 + RGB 0, 12, 26 + RGB 0, 0, 0 TitlescreenBGPalette5: ; 0xdcfa8 - RGB 31, 31, 31 - RGB 23, 31, 24 - RGB 0, 12, 26 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 23, 31, 24 + RGB 0, 12, 26 + RGB 0, 0, 0 TitlescreenBGPalette6: ; 0xdcfb0 - RGB 31, 31, 31 - RGB 20, 20, 31 - RGB 23, 31, 24 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 31 + RGB 23, 31, 24 + RGB 0, 0, 0 TitlescreenBGPalette7: ; 0xdcfb8 - RGB 0, 6, 0 - RGB 0, 6, 0 - RGB 0, 6, 0 - RGB 0, 6, 0 + RGB 0, 6, 0 + RGB 0, 6, 0 + RGB 0, 6, 0 + RGB 0, 6, 0 TitlescreenOBJPalette0: ; 0xdcfc0 - RGB 20, 20, 20 - RGB 31, 31, 31 - RGB 31, 29, 0 - RGB 0, 0, 0 + RGB 20, 20, 20 + RGB 31, 31, 31 + RGB 31, 29, 0 + RGB 0, 0, 0 TitlescreenOBJPalette1: ; 0xdcfc8 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 0, 0 + RGB 0, 0, 0 TitlescreenOBJPalette2: ; 0xdcfd0 - RGB 20, 20, 20 - RGB 31, 31, 31 - RGB 23, 23, 27 - RGB 0, 0, 0 + RGB 20, 20, 20 + RGB 31, 31, 31 + RGB 23, 23, 27 + RGB 0, 0, 0 TitlescreenOBJPalette3: ; 0xdcfd8 - RGB 0, 6, 0 - RGB 0, 6, 0 - RGB 0, 6, 0 - RGB 0, 6, 0 + RGB 0, 6, 0 + RGB 0, 6, 0 + RGB 0, 6, 0 + RGB 0, 6, 0 TitlescreenOBJPalette4: ; 0xdcfe0 - RGB 0, 6, 0 - RGB 0, 6, 0 - RGB 0, 6, 0 - RGB 0, 6, 0 + RGB 0, 6, 0 + RGB 0, 6, 0 + RGB 0, 6, 0 + RGB 0, 6, 0 TitlescreenOBJPalette5: ; 0xdcfe8 - RGB 0, 6, 0 - RGB 0, 6, 0 - RGB 0, 6, 0 - RGB 0, 6, 0 + RGB 0, 6, 0 + RGB 0, 6, 0 + RGB 0, 6, 0 + RGB 0, 6, 0 TitlescreenOBJPalette6: ; 0xdcff0 - RGB 0, 6, 0 - RGB 0, 6, 0 - RGB 0, 6, 0 - RGB 0, 6, 0 + RGB 0, 6, 0 + RGB 0, 6, 0 + RGB 0, 6, 0 + RGB 0, 6, 0 TitlescreenOBJPalette7: ; 0xdcff8 - RGB 0, 6, 0 - RGB 0, 6, 0 - RGB 0, 6, 0 - RGB 0, 6, 0 + RGB 0, 6, 0 + RGB 0, 6, 0 + RGB 0, 6, 0 + RGB 0, 6, 0 CopyrightScreenPalettes: ; 0xdd000 CopyrightScreenBGPalette0: ; 0xdd000 - RGB 31, 31, 31 - RGB 22, 22, 22 - RGB 11, 11, 11 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 22, 22, 22 + RGB 11, 11, 11 + RGB 0, 0, 0 CopyrightScreenBGPalette1: ; 0xdd008 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 CopyrightScreenBGPalette2: ; 0xdd010 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 CopyrightScreenBGPalette3: ; 0xdd018 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 CopyrightScreenBGPalette4: ; 0xdd020 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 CopyrightScreenBGPalette5: ; 0xdd028 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 CopyrightScreenBGPalette6: ; 0xdd030 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 CopyrightScreenBGPalette7: ; 0xdd038 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 CopyrightScreenOBJPalette0: ; 0xdd040 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 22, 22, 22 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 22, 22, 22 + RGB 0, 0, 0 CopyrightScreenOBJPalette1: ; 0xdd048 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 11, 11, 11 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 11, 11, 11 + RGB 0, 0, 0 CopyrightScreenOBJPalette2: ; 0xdd050 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 CopyrightScreenOBJPalette3: ; 0xdd058 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 CopyrightScreenOBJPalette4: ; 0xdd060 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 CopyrightScreenOBJPalette5: ; 0xdd068 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 CopyrightScreenOBJPalette6: ; 0xdd070 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 CopyrightScreenOBJPalette7: ; 0xdd078 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 31, 31 GengarBonusPalettes: ; 0xdd080 GengarBonusBGPalette0: ; 0xdd080 - RGB 31, 31, 31 - RGB 13, 20, 31 - RGB 31, 4, 4 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 13, 20, 31 + RGB 31, 4, 4 + RGB 0, 0, 0 GengarBonusBGPalette1: ; 0xdd088 - RGB 28, 31, 4 - RGB 8, 14, 31 - RGB 4, 5, 15 - RGB 0, 0, 0 + RGB 28, 31, 4 + RGB 8, 14, 31 + RGB 4, 5, 15 + RGB 0, 0, 0 GengarBonusBGPalette2: ; 0xdd090 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 GengarBonusBGPalette3: ; 0xdd098 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 GengarBonusBGPalette4: ; 0xdd0a0 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 GengarBonusBGPalette5: ; 0xdd0a8 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 GengarBonusBGPalette6: ; 0xdd0b0 - RGB 31, 31, 31 - RGB 13, 13, 31 - RGB 31, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 13, 13, 31 + RGB 31, 0, 0 + RGB 0, 0, 0 GengarBonusBGPalette7: ; 0xdd0b8 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 GengarBonusOBJPalette0: ; 0xdd0c0 - RGB 20, 20, 20 - RGB 31, 31, 31 - RGB 31, 5, 4 - RGB 0, 0, 0 + RGB 20, 20, 20 + RGB 31, 31, 31 + RGB 31, 5, 4 + RGB 0, 0, 0 GengarBonusOBJPalette1: ; 0xdd0c8 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 GengarBonusOBJPalette2: ; 0xdd0d0 - RGB 20, 20, 20 - RGB 31, 31, 31 - RGB 21, 21, 27 - RGB 0, 0, 0 + RGB 20, 20, 20 + RGB 31, 31, 31 + RGB 21, 21, 27 + RGB 0, 0, 0 GengarBonusOBJPalette3: ; 0xdd0d8 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 GengarBonusOBJPalette4: ; 0xdd0e0 - RGB 20, 20, 20 - RGB 31, 31, 31 - RGB 29, 0, 31 - RGB 0, 0, 0 + RGB 20, 20, 20 + RGB 31, 31, 31 + RGB 29, 0, 31 + RGB 0, 0, 0 GengarBonusOBJPalette5: ; 0xdd0e8 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 GengarBonusOBJPalette6: ; 0xdd0f0 - RGB 20, 20, 20 - RGB 31, 31, 31 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 20, 20, 20 + RGB 31, 31, 31 + RGB 8, 8, 8 + RGB 0, 0, 0 GengarBonusOBJPalette7: ; 0xdd0f8 - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 8, 8, 8 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 20, 20, 20 + RGB 8, 8, 8 + RGB 0, 0, 0 FieldSelectScreenPalettes: ; 0xdd100 FieldSelectScreenBGPalette0: ; 0xdd100 - RGB 31, 31, 31 - RGB 31, 20, 0 - RGB 31, 0, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 20, 0 + RGB 31, 0, 0 + RGB 0, 0, 0 FieldSelectScreenBGPalette1: ; 0xdd108 - RGB 31, 31, 31 - RGB 0, 22, 31 - RGB 0, 0, 31 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 0, 22, 31 + RGB 0, 0, 31 + RGB 0, 0, 0 FieldSelectScreenBGPalette2: ; 0xdd110 - RGB 31, 31, 31 - RGB 31, 0, 0 - RGB 0, 25, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 31, 0, 0 + RGB 0, 25, 0 + RGB 0, 0, 0 FieldSelectScreenBGPalette3: ; 0xdd118 - RGB 31, 0, 31 - RGB 31, 0, 31 - RGB 31, 0, 31 - RGB 31, 0, 31 + RGB 31, 0, 31 + RGB 31, 0, 31 + RGB 31, 0, 31 + RGB 31, 0, 31 FieldSelectScreenBGPalette4: ; 0xdd120 - RGB 31, 0, 31 - RGB 31, 0, 31 - RGB 31, 0, 31 - RGB 31, 0, 31 + RGB 31, 0, 31 + RGB 31, 0, 31 + RGB 31, 0, 31 + RGB 31, 0, 31 FieldSelectScreenBGPalette5: ; 0xdd128 - RGB 31, 0, 31 - RGB 31, 0, 31 - RGB 31, 0, 31 - RGB 31, 0, 31 + RGB 31, 0, 31 + RGB 31, 0, 31 + RGB 31, 0, 31 + RGB 31, 0, 31 FieldSelectScreenBGPalette6: ; 0xdd130 - RGB 31, 0, 31 - RGB 31, 0, 31 - RGB 31, 0, 31 - RGB 31, 0, 31 + RGB 31, 0, 31 + RGB 31, 0, 31 + RGB 31, 0, 31 + RGB 31, 0, 31 FieldSelectScreenBGPalette7: ; 0xdd138 - RGB 31, 0, 31 - RGB 31, 0, 31 - RGB 31, 0, 31 - RGB 31, 0, 31 + RGB 31, 0, 31 + RGB 31, 0, 31 + RGB 31, 0, 31 + RGB 31, 0, 31 FieldSelectScreenOBJPalette0: ; 0xdd140 - RGB 10, 10, 10 - RGB 31, 31, 31 - RGB 21, 21, 21 - RGB 0, 0, 0 + RGB 10, 10, 10 + RGB 31, 31, 31 + RGB 21, 21, 21 + RGB 0, 0, 0 CinnabarIslandBillboardBGPalette1: ; 0xdd148 - RGB 31, 31, 31 - RGB 14, 21, 0 - RGB 0, 10, 31 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 14, 21, 0 + RGB 0, 10, 31 + RGB 0, 0, 0 CinnabarIslandBillboardBGPalette2: ; 0xdd150 - RGB 31, 31, 31 - RGB 14, 21, 0 - RGB 2, 11, 1 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 14, 21, 0 + RGB 2, 11, 1 + RGB 0, 0, 0 IndigoPlateauBillboardBGPalette1: ; 0xdd158 - RGB 31, 31, 31 - RGB 11, 18, 31 - RGB 7, 9, 19 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 11, 18, 31 + RGB 7, 9, 19 + RGB 0, 0, 0 IndigoPlateauBillboardBGPalette2: ; 0xdd160 - RGB 31, 31, 31 - RGB 11, 18, 31 - RGB 9, 20, 0 - RGB 0, 0, 0 + RGB 31, 31, 31 + RGB 11, 18, 31 + RGB 9, 20, 0 + RGB 0, 0, 0 PokeBallObjPalette: ; 0xdd168 - RGB 21, 21, 21 - RGB 31, 31, 31 - RGB 31, 5, 4 - RGB 0, 0, 0 + RGB 21, 21, 21 + RGB 31, 31, 31 + RGB 31, 5, 4 + RGB 0, 0, 0 GreatBallObjPalette: ; 0xdd170 - RGB 21, 21, 21 - RGB 31, 31, 31 - RGB 2, 8, 31 - RGB 0, 0, 0 + RGB 21, 21, 21 + RGB 31, 31, 31 + RGB 2, 8, 31 + RGB 0, 0, 0 UltraBallObjPalette: ; 0xdd178 - RGB 21, 21, 21 - RGB 31, 31, 31 - RGB 27, 21, 0 - RGB 0, 0, 0 + RGB 21, 21, 21 + RGB 31, 31, 31 + RGB 27, 21, 0 + RGB 0, 0, 0 MasterBallObjPalette: ; 0xdd180 - RGB 21, 21, 21 - RGB 31, 31, 31 - RGB 21, 3, 21 - RGB 0, 0, 0 + RGB 21, 21, 21 + RGB 31, 31, 31 + RGB 21, 3, 21 + RGB 0, 0, 0 -INCBIN "baserom.gbc",$dd188,$e0000 - $dd188 + dr $dd188, $e0000 SECTION "bank38", ROMX, BANK[$38] -INCBIN "baserom.gbc",$e0000,$e4000 - $e0000 ; 0xe0000 + dr $e0000, $e4000 ; 0xe0000 SECTION "bank39", ROMX, BANK[$39] -INCBIN "baserom.gbc",$e4000,$e8000 - $e4000 ; 0xe4000 + dr $e4000, $e8000 ; 0xe4000 SECTION "bank3a", ROMX, BANK[$3a] -INCBIN "baserom.gbc",$e8000,$ec000 - $e8000 ; 0xe8000 + dr $e8000, $ec000 ; 0xe8000 SECTION "bank3b", ROMX, BANK[$3b] -INCBIN "baserom.gbc",$ec000,$f0000 - $ec000 ; 0xec000 + dr $ec000, $f0000 ; 0xec000 SECTION "bank3c", ROMX, BANK[$3c] -INCBIN "baserom.gbc",$f0000,$f4000 - $f0000 ; 0xf0000 + dr $f0000, $f2400 ; 0xf0000 + +TiltRightOnlyForce: ; 0xf2400 + INCBIN "data/tilt/right_only" +TiltUpRightForce: + INCBIN "data/tilt/up_right" +TiltUpOnlyForce: + INCBIN "data/tilt/up_only" +TiltUpLeftForce: + INCBIN "data/tilt/up_left" +TiltLeftOnlyForce: + INCBIN "data/tilt/left_only" + + dr $f3800, $f4000 ; 0xf0000 SECTION "bank3d", ROMX, BANK[$3d] FlipperHorizontalCollisionAttributes: ; 0xf4000 - INCBIN "data/collision/flippers/horizontal_attributes_0" + INCBIN "data/collision/flippers/horizontal_attributes_0" SECTION "bank3e", ROMX, BANK[$3e] FlipperHorizontalCollisionAttributes2: ; 0xf8000 - INCBIN "data/collision/flippers/horizontal_attributes_1" + INCBIN "data/collision/flippers/horizontal_attributes_1" FlipperVerticalCollisionAttributes: ; 0xfa000 - INCBIN "data/collision/flippers/vertical_attributes_0" + INCBIN "data/collision/flippers/vertical_attributes_0" SECTION "bank3f", ROMX, BANK[$3f] FlipperVerticalCollisionAttributes2: ; 0xfc000 - INCBIN "data/collision/flippers/vertical_attributes_1" + INCBIN "data/collision/flippers/vertical_attributes_1" -- cgit v1.2.3 From 19312b09372a5a090fa63f0341f0e86a8c4c86bf Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 4 Dec 2016 18:53:37 -0500 Subject: More hardcoded pointers --- charmap.asm | 26 ---- data/mon_names.asm | 302 ++++++++++++++++++++++---------------------- gfx/stage/e_acute_color.png | Bin 0 -> 82 bytes gfx/stage/e_acute_mono.png | Bin 0 -> 82 bytes gfx/unknown/a8800.png | Bin 0 -> 399 bytes main.asm | 275 ++++++++++++++++++++++------------------ 6 files changed, 302 insertions(+), 301 deletions(-) create mode 100644 gfx/stage/e_acute_color.png create mode 100644 gfx/stage/e_acute_mono.png create mode 100644 gfx/unknown/a8800.png diff --git a/charmap.asm b/charmap.asm index d07807e..765c33d 100755 --- a/charmap.asm +++ b/charmap.asm @@ -5,32 +5,6 @@ charmap "♂", $24 charmap ".", $2E charmap "é", $40 -charmap "A", $41 -charmap "B", $42 -charmap "C", $43 -charmap "D", $44 -charmap "E", $45 -charmap "F", $46 -charmap "G", $47 -charmap "H", $48 -charmap "I", $49 -charmap "J", $4A -charmap "K", $4B -charmap "L", $4C -charmap "M", $4D -charmap "N", $4E -charmap "O", $4F -charmap "P", $50 -charmap "Q", $51 -charmap "R", $52 -charmap "S", $53 -charmap "T", $54 -charmap "U", $55 -charmap "V", $56 -charmap "W", $57 -charmap "X", $58 -charmap "Y", $59 -charmap "Z", $5A charmap "♀", $5C diff --git a/data/mon_names.asm b/data/mon_names.asm index a63ea52..53926e3 100755 --- a/data/mon_names.asm +++ b/data/mon_names.asm @@ -1,154 +1,154 @@ PokemonNames: ; 0x11a4e ; The first byte of each entry is the symbol displayed to the left of the mon's ; name in the evolution menu. Fully-evolved pokemon have an asterisk next to their names. - db $20, "BULBASAUR@", $20, $20, $20, $20, $20 - db $20, "IVYSAUR@", $20, $20, $20, $20, $20, $20, $20 - db $2a, "VENUSAUR@", $20, $20, $20, $20, $20, $20 - db $20, "CHARMANDER@", $20, $20, $20, $20 - db $20, "CHARMELEON@", $20, $20, $20, $20 - db $2a, "CHARIZARD@", $20, $20, $20, $20, $20 - db $20, "SQUIRTLE@", $20, $20, $20, $20, $20, $20 - db $20, "WARTORTLE@", $20, $20, $20, $20, $20 - db $2a, "BLASTOISE@", $20, $20, $20, $20, $20 - db $20, "CATERPIE@", $20, $20, $20, $20, $20, $20 - db $20, "METAPOD@", $20, $20, $20, $20, $20, $20, $20 - db $2a, "BUTTERFREE@", $20, $20, $20, $20 - db $20, "WEEDLE@", $20, $20, $20, $20, $20, $20, $20, $20 - db $20, "KAKUNA@", $20, $20, $20, $20, $20, $20, $20, $20 - db $2a, "BEEDRILL@", $20, $20, $20, $20, $20, $20 - db $20, "PIDGEY@", $20, $20, $20, $20, $20, $20, $20, $20 - db $20, "PIDGEOTTO@", $20, $20, $20, $20, $20 - db $2a, "PIDGEOT@", $20, $20, $20, $20, $20, $20, $20 - db $20, "RATTATA@", $20, $20, $20, $20, $20, $20, $20 - db $2a, "RATICATE@", $20, $20, $20, $20, $20, $20 - db $20, "SPEAROW@", $20, $20, $20, $20, $20, $20, $20 - db $2a, "FEAROW@", $20, $20, $20, $20, $20, $20, $20, $20 - db $20, "EKANS@", $20, $20, $20, $20, $20, $20, $20, $20, $20 - db $2a, "ARBOK@", $20, $20, $20, $20, $20, $20, $20, $20, $20 - db $20, "PIKACHU@", $20, $20, $20, $20, $20, $20, $20 - db $2a, "RAICHU@", $20, $20, $20, $20, $20, $20, $20, $20 - db $20, "SANDSHREW@", $20, $20, $20, $20, $20 - db $2a, "SANDSLASH@", $20, $20, $20, $20, $20 - db $20, "NIDORAN♂@", $20, $20, $20, $20, $20, $20 - db $20, "NIDORINA@", $20, $20, $20, $20, $20, $20 - db $2a, "NIDOQUEEN@", $20, $20, $20, $20, $20 - db $20, "NIDORAN♀@", $20, $20, $20, $20, $20, $20 - db $20, "NIDORINO@", $20, $20, $20, $20, $20, $20 - db $2a, "NIDOKING@", $20, $20, $20, $20, $20, $20 - db $20, "CLEFAIRY@", $20, $20, $20, $20, $20, $20 - db $2a, "CLEFABLE@", $20, $20, $20, $20, $20, $20 - db $20, "VULPIX@", $20, $20, $20, $20, $20, $20, $20, $20 - db $2a, "NINETALES@", $20, $20, $20, $20, $20 - db $20, "JIGGLYPUFF@", $20, $20, $20, $20 - db $2a, "WIGGLYTUFF@", $20, $20, $20, $20 - db $20, "ZUBAT@", $20, $20, $20, $20, $20, $20, $20, $20, $20 - db $2a, "GOLBAT@", $20, $20, $20, $20, $20, $20, $20, $20 - db $20, "ODDISH@", $20, $20, $20, $20, $20, $20, $20, $20 - db $20, "GLOOM@", $20, $20, $20, $20, $20, $20, $20, $20, $20 - db $2a, "VILEPLUME@", $20, $20, $20, $20, $20 - db $20, "PARAS@", $20, $20, $20, $20, $20, $20, $20, $20, $20 - db $2a, "PARASECT@", $20, $20, $20, $20, $20, $20 - db $20, "VENONAT@", $20, $20, $20, $20, $20, $20, $20 - db $2a, "VENOMOTH@", $20, $20, $20, $20, $20, $20 - db $20, "DIGLETT@", $20, $20, $20, $20, $20, $20, $20 - db $2a, "DUGTRIO@", $20, $20, $20, $20, $20, $20, $20 - db $20, "MEOWTH@", $20, $20, $20, $20, $20, $20, $20, $20 - db $2a, "PERSIAN@", $20, $20, $20, $20, $20, $20, $20 - db $20, "PSYDUCK@", $20, $20, $20, $20, $20, $20, $20 - db $2a, "GOLDUCK@", $20, $20, $20, $20, $20, $20, $20 - db $20, "MANKEY@", $20, $20, $20, $20, $20, $20, $20, $20 - db $2a, "PRIMEAPE@", $20, $20, $20, $20, $20, $20 - db $20, "GROWLITHE@", $20, $20, $20, $20, $20 - db $2a, "ARCANINE@", $20, $20, $20, $20, $20, $20 - db $20, "POLIWAG@", $20, $20, $20, $20, $20, $20, $20 - db $20, "POLIWHIRL@", $20, $20, $20, $20, $20 - db $2a, "POLIWRATH@", $20, $20, $20, $20, $20 - db $20, "ABRA@", $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 - db $20, "KADABRA@", $20, $20, $20, $20, $20, $20, $20 - db $2a, "ALAKAZAM@", $20, $20, $20, $20, $20, $20 - db $20, "MACHOP@", $20, $20, $20, $20, $20, $20, $20, $20 - db $20, "MACHOKE@", $20, $20, $20, $20, $20, $20, $20 - db $2a, "MACHAMP@", $20, $20, $20, $20, $20, $20, $20 - db $20, "BELLSPROUT@", $20, $20, $20, $20 - db $20, "WEEPINBELL@", $20, $20, $20, $20 - db $2a, "VICTREEBEL@", $20, $20, $20, $20 - db $20, "TENTACOOL@", $20, $20, $20, $20, $20 - db $2a, "TENTACRUEL@", $20, $20, $20, $20 - db $20, "GEODUDE@", $20, $20, $20, $20, $20, $20, $20 - db $20, "GRAVELER@", $20, $20, $20, $20, $20, $20 - db $2a, "GOLEM@", $20, $20, $20, $20, $20, $20, $20, $20, $20 - db $20, "PONYTA@", $20, $20, $20, $20, $20, $20, $20, $20 - db $2a, "RAPIDASH@", $20, $20, $20, $20, $20, $20 - db $20, "SLOWPOKE@", $20, $20, $20, $20, $20, $20 - db $2a, "SLOWBRO@", $20, $20, $20, $20, $20, $20, $20 - db $20, "MAGNEMITE@", $20, $20, $20, $20, $20 - db $2a, "MAGNETON@", $20, $20, $20, $20, $20, $20 - db $2a, "FARFETCH'D@", $20, $20, $20, $20 - db $20, "DODUO@", $20, $20, $20, $20, $20, $20, $20, $20, $20 - db $2a, "DODRIO@", $20, $20, $20, $20, $20, $20, $20, $20 - db $20, "SEEL@", $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 - db $2a, "DEWGONG@", $20, $20, $20, $20, $20, $20, $20 - db $20, "GRIMER@", $20, $20, $20, $20, $20, $20, $20, $20 - db $2a, "MUK@", $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 - db $20, "SHELLDER@", $20, $20, $20, $20, $20, $20 - db $2a, "CLOYSTER@", $20, $20, $20, $20, $20, $20 - db $20, "GASTLY@", $20, $20, $20, $20, $20, $20, $20, $20 - db $20, "HAUNTER@", $20, $20, $20, $20, $20, $20, $20 - db $2a, "GENGAR@", $20, $20, $20, $20, $20, $20, $20, $20 - db $2a, "ONIX@", $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 - db $20, "DROWZEE@", $20, $20, $20, $20, $20, $20, $20 - db $2a, "HYPNO@", $20, $20, $20, $20, $20, $20, $20, $20, $20 - db $20, "KRABBY@", $20, $20, $20, $20, $20, $20, $20, $20 - db $2a, "KINGLER@", $20, $20, $20, $20, $20, $20, $20 - db $20, "VOLTORB@", $20, $20, $20, $20, $20, $20, $20 - db $2a, "ELECTRODE@", $20, $20, $20, $20, $20 - db $20, "EXEGGCUTE@", $20, $20, $20, $20, $20 - db $2a, "EXEGGUTOR@", $20, $20, $20, $20, $20 - db $20, "CUBONE@", $20, $20, $20, $20, $20, $20, $20, $20 - db $2a, "MAROWAK@", $20, $20, $20, $20, $20, $20, $20 - db $2a, "HITMONLEE@", $20, $20, $20, $20, $20 - db $2a, "HITMONCHAN@", $20, $20, $20, $20 - db $2a, "LICKITUNG@", $20, $20, $20, $20, $20 - db $20, "KOFFING@", $20, $20, $20, $20, $20, $20, $20 - db $2a, "WEEZING@", $20, $20, $20, $20, $20, $20, $20 - db $20, "RHYHORN@", $20, $20, $20, $20, $20, $20, $20 - db $2a, "RHYDON@", $20, $20, $20, $20, $20, $20, $20, $20 - db $2a, "CHANSEY@", $20, $20, $20, $20, $20, $20, $20 - db $2a, "TANGELA@", $20, $20, $20, $20, $20, $20, $20 - db $2a, "KANGASKHAN@", $20, $20, $20, $20 - db $20, "HORSEA@", $20, $20, $20, $20, $20, $20, $20, $20 - db $2a, "SEADRA@", $20, $20, $20, $20, $20, $20, $20, $20 - db $20, "GOLDEEN@", $20, $20, $20, $20, $20, $20, $20 - db $2a, "SEAKING@", $20, $20, $20, $20, $20, $20, $20 - db $20, "STARYU@", $20, $20, $20, $20, $20, $20, $20, $20 - db $2a, "STARMIE@", $20, $20, $20, $20, $20, $20, $20 - db $2a, "MR.MIME@", $20, $20, $20, $20, $20, $20, $20 - db $2a, "SCYTHER@", $20, $20, $20, $20, $20, $20, $20 - db $2a, "JYNX@", $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 - db $2a, "ELECTABUZZ@", $20, $20, $20, $20 - db $2a, "MAGMAR@", $20, $20, $20, $20, $20, $20, $20, $20 - db $2a, "PINSIR@", $20, $20, $20, $20, $20, $20, $20, $20 - db $2a, "TAUROS@", $20, $20, $20, $20, $20, $20, $20, $20 - db $20, "MAGIKARP@", $20, $20, $20, $20, $20, $20 - db $2a, "GYARADOS@", $20, $20, $20, $20, $20, $20 - db $2a, "LAPRAS@", $20, $20, $20, $20, $20, $20, $20, $20 - db $2a, "DITTO@", $20, $20, $20, $20, $20, $20, $20, $20, $20 - db $20, "EEVEE@", $20, $20, $20, $20, $20, $20, $20, $20, $20 - db $2a, "VAPOREON@", $20, $20, $20, $20, $20, $20 - db $2a, "JOLTEON@", $20, $20, $20, $20, $20, $20, $20 - db $2a, "FLAREON@", $20, $20, $20, $20, $20, $20, $20 - db $2a, "PORYGON@", $20, $20, $20, $20, $20, $20, $20 - db $20, "OMANYTE@", $20, $20, $20, $20, $20, $20, $20 - db $2a, "OMASTAR@", $20, $20, $20, $20, $20, $20, $20 - db $20, "KABUTO@", $20, $20, $20, $20, $20, $20, $20, $20 - db $2a, "KABUTOPS@", $20, $20, $20, $20, $20, $20 - db $2a, "AERODACTYL@", $20, $20, $20, $20 - db $2a, "SNORLAX@", $20, $20, $20, $20, $20, $20, $20 - db $2a, "ARTICUNO@", $20, $20, $20, $20, $20, $20 - db $2a, "ZAPDOS@", $20, $20, $20, $20, $20, $20, $20, $20 - db $2a, "MOLTRES@", $20, $20, $20, $20, $20, $20, $20 - db $20, "DRATINI@", $20, $20, $20, $20, $20, $20, $20 - db $20, "DRAGONAIR@", $20, $20, $20, $20, $20 - db $2a, "DRAGONITE@", $20, $20, $20, $20, $20 - db $2a, "MEWTWO@", $20, $20, $20, $20, $20, $20, $20, $20 - db $2a, "MEW@", $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20 + db " BULBASAUR@ " + db " IVYSAUR@ " + db "*VENUSAUR@ " + db " CHARMANDER@ " + db " CHARMELEON@ " + db "*CHARIZARD@ " + db " SQUIRTLE@ " + db " WARTORTLE@ " + db "*BLASTOISE@ " + db " CATERPIE@ " + db " METAPOD@ " + db "*BUTTERFREE@ " + db " WEEDLE@ " + db " KAKUNA@ " + db "*BEEDRILL@ " + db " PIDGEY@ " + db " PIDGEOTTO@ " + db "*PIDGEOT@ " + db " RATTATA@ " + db "*RATICATE@ " + db " SPEAROW@ " + db "*FEAROW@ " + db " EKANS@ " + db "*ARBOK@ " + db " PIKACHU@ " + db "*RAICHU@ " + db " SANDSHREW@ " + db "*SANDSLASH@ " + db " NIDORAN♂@ " + db " NIDORINA@ " + db "*NIDOQUEEN@ " + db " NIDORAN♀@ " + db " NIDORINO@ " + db "*NIDOKING@ " + db " CLEFAIRY@ " + db "*CLEFABLE@ " + db " VULPIX@ " + db "*NINETALES@ " + db " JIGGLYPUFF@ " + db "*WIGGLYTUFF@ " + db " ZUBAT@ " + db "*GOLBAT@ " + db " ODDISH@ " + db " GLOOM@ " + db "*VILEPLUME@ " + db " PARAS@ " + db "*PARASECT@ " + db " VENONAT@ " + db "*VENOMOTH@ " + db " DIGLETT@ " + db "*DUGTRIO@ " + db " MEOWTH@ " + db "*PERSIAN@ " + db " PSYDUCK@ " + db "*GOLDUCK@ " + db " MANKEY@ " + db "*PRIMEAPE@ " + db " GROWLITHE@ " + db "*ARCANINE@ " + db " POLIWAG@ " + db " POLIWHIRL@ " + db "*POLIWRATH@ " + db " ABRA@ " + db " KADABRA@ " + db "*ALAKAZAM@ " + db " MACHOP@ " + db " MACHOKE@ " + db "*MACHAMP@ " + db " BELLSPROUT@ " + db " WEEPINBELL@ " + db "*VICTREEBEL@ " + db " TENTACOOL@ " + db "*TENTACRUEL@ " + db " GEODUDE@ " + db " GRAVELER@ " + db "*GOLEM@ " + db " PONYTA@ " + db "*RAPIDASH@ " + db " SLOWPOKE@ " + db "*SLOWBRO@ " + db " MAGNEMITE@ " + db "*MAGNETON@ " + db "*FARFETCH'D@ " + db " DODUO@ " + db "*DODRIO@ " + db " SEEL@ " + db "*DEWGONG@ " + db " GRIMER@ " + db "*MUK@ " + db " SHELLDER@ " + db "*CLOYSTER@ " + db " GASTLY@ " + db " HAUNTER@ " + db "*GENGAR@ " + db "*ONIX@ " + db " DROWZEE@ " + db "*HYPNO@ " + db " KRABBY@ " + db "*KINGLER@ " + db " VOLTORB@ " + db "*ELECTRODE@ " + db " EXEGGCUTE@ " + db "*EXEGGUTOR@ " + db " CUBONE@ " + db "*MAROWAK@ " + db "*HITMONLEE@ " + db "*HITMONCHAN@ " + db "*LICKITUNG@ " + db " KOFFING@ " + db "*WEEZING@ " + db " RHYHORN@ " + db "*RHYDON@ " + db "*CHANSEY@ " + db "*TANGELA@ " + db "*KANGASKHAN@ " + db " HORSEA@ " + db "*SEADRA@ " + db " GOLDEEN@ " + db "*SEAKING@ " + db " STARYU@ " + db "*STARMIE@ " + db "*MR.MIME@ " + db "*SCYTHER@ " + db "*JYNX@ " + db "*ELECTABUZZ@ " + db "*MAGMAR@ " + db "*PINSIR@ " + db "*TAUROS@ " + db " MAGIKARP@ " + db "*GYARADOS@ " + db "*LAPRAS@ " + db "*DITTO@ " + db " EEVEE@ " + db "*VAPOREON@ " + db "*JOLTEON@ " + db "*FLAREON@ " + db "*PORYGON@ " + db " OMANYTE@ " + db "*OMASTAR@ " + db " KABUTO@ " + db "*KABUTOPS@ " + db "*AERODACTYL@ " + db "*SNORLAX@ " + db "*ARTICUNO@ " + db "*ZAPDOS@ " + db "*MOLTRES@ " + db " DRATINI@ " + db " DRAGONAIR@ " + db "*DRAGONITE@ " + db "*MEWTWO@ " + db "*MEW@ " diff --git a/gfx/stage/e_acute_color.png b/gfx/stage/e_acute_color.png new file mode 100644 index 0000000..1921813 Binary files /dev/null and b/gfx/stage/e_acute_color.png differ diff --git a/gfx/stage/e_acute_mono.png b/gfx/stage/e_acute_mono.png new file mode 100644 index 0000000..bf129fb Binary files /dev/null and b/gfx/stage/e_acute_mono.png differ diff --git a/gfx/unknown/a8800.png b/gfx/unknown/a8800.png new file mode 100644 index 0000000..c867f92 Binary files /dev/null and b/gfx/unknown/a8800.png differ diff --git a/main.asm b/main.asm index 0c5ee8a..48ef845 100755 --- a/main.asm +++ b/main.asm @@ -2177,7 +2177,7 @@ Func_e69: ; 0xe69 .asm_e77 dec a jr nz, .asm_e77 - ld hl, $c640 + ld hl, wcBottomMessageText + $140 call Func_eef push hl ld hl, $9c00 @@ -2203,7 +2203,7 @@ Func_e69: ; 0xe69 ld hl, $9c10 call Func_ef8 pop hl - ld hl, $c6c0 + ld hl, wcBottomMessageText + $1c0 call Func_eef push hl ld hl, $9c20 @@ -5659,6 +5659,7 @@ Data_2894: RGB 27, 10, 10 RGB 20, 04, 04 +Data_2898: dr $2898, $28a0 CopyHLToDE: ; 0x28a0 @@ -5709,7 +5710,7 @@ UpdateAnimation: ; 0x28a9 pop de ret - dr $28c9, $30db +INCLUDE "text.asm" Func_30db: ; 0x30db ld a, $86 @@ -5721,7 +5722,7 @@ Func_30db: ; 0x30db Func_30e8: ; 0x30e8 ld a, $81 - ld hl, $c600 + ld hl, wcBottomMessageText + $100 ld b, $40 .asm_30ef ld [hli], a @@ -5741,7 +5742,7 @@ Func_30e8: ; 0x30e8 Func_310a: ; 0x310a ld a, $81 - ld hl, $c640 + ld hl, wcBottomMessageText + $140 ld b, $5 .asm_3111 ld [hli], a @@ -5750,7 +5751,7 @@ Func_310a: ; 0x310a ld [hli], a dec b jr nz, .asm_3111 - ld hl, $c6c0 + ld hl, wcBottomMessageText + $1c0 ld b, $5 .asm_311d ld [hli], a @@ -5993,7 +5994,7 @@ Func_32aa: ; 0x32aa inc de pop af ld l, a - ld h, $c5 + ld h, wcBottomMessageText / $100 .asm_32c5 ld a, [de] ld [hli], a @@ -11190,7 +11191,7 @@ SetMaxScore: ; 0x8637 Func_8645: ; 0x8645 xor a ld [$d49f], a - ld de, $c647 + ld de, wcBottomMessageText + $147 call Func_8524 ret @@ -11303,10 +11304,10 @@ HandleInGameMenu: ; 0x86d7 ld [hli], a dec b jr nz, .clearLoop - ld de, $c524 + ld de, wcBottomMessageText + $24 ld hl, SaveText call Func_8797 - ld de, $c564 + ld de, wcBottomMessageText + $64 ld hl, CancelText call Func_8797 ld a, Bank(InGameMenuSymbolsGfx) @@ -11429,15 +11430,15 @@ MoveInGameMenuCursor: ; 0x87c5 DrawInGameMenu: ; 0x87ed ld a, $81 - ld [$c523], a - ld [$c563], a + ld [wcBottomMessageText + $23], a + ld [wcBottomMessageText + $63], a ld a, [wInGameMenuIndex] ld c, a swap c sla c sla c ld b, $0 - ld hl, $c523 + ld hl, wcBottomMessageText + $23 add hl, bc ld a, $86 ld [hl], a @@ -14602,7 +14603,7 @@ Func_cdce: ; 0xcdce ld a, $7 ld [$abf6], a pop af - ld hl, $c50d + ld hl, wcBottomMessageText + $0d ld b, $5 .asm_ce7c push bc @@ -16457,12 +16458,12 @@ HighScoresStageMapping: ; 0xdb99 Func_dba9: ; 0xdba9 ld a, $85 - ld [$c644], a + ld [wcBottomMessageText + $144], a ld a, [$d49d] xor $3 inc a add $86 - ld [$c645], a + ld [wcBottomMessageText + $145], a ret Func_dbba: ; 0xdbba @@ -16593,7 +16594,7 @@ Func_dc6d: ; 0xdc6d ret Func_dc7c: ; 0xdc7c - ld hl, $c640 + ld hl, wcBottomMessageText + $140 ld a, $83 ld [hli], a ld a, $81 @@ -16602,7 +16603,7 @@ Func_dc7c: ; 0xdc7c ld [hl], a ld a, [wNumPartyMons] call ConvertHexByteToDecWord - ld hl, $c641 + ld hl, wcBottomMessageText + $141 ld c, $1 ld a, d call .asm_dca0 @@ -16632,7 +16633,7 @@ Func_dcb4: ; 0xdcb4 jr nz, .asm_dcbf ld a, $84 .asm_dcbf - ld [$c646], a + ld [wcBottomMessageText + $146], a ret LoadBallGfx: ; 0xdcc3 @@ -18830,7 +18831,7 @@ UpgradeBallBlueField: ; 0xf040 ld a, [hl] ld [wBallType], a add $30 - ld [$c512], a + ld [wcBottomMessageText + $12], a jr .asm_f0b0 .masterBall ld de, $0f4d @@ -19349,15 +19350,15 @@ Func_f55c: ; 0xf55c ld a, [hGameBoyColorFlag] and a jr nz, .gameboyColor - ld a, $35 - ld hl, $61c0 + ld a, BANK(GFX_d61c0) + ld hl, GFX_d61c0 ld de, $8830 ld bc, $0010 call LoadVRAMData ret .gameboyColor - ld a, $35 - ld hl, $63c0 + ld a, BANK(GFX_d63c0) + ld hl, GFX_d63c0 ld de, $8830 ld bc, $0010 call LoadVRAMData @@ -19384,10 +19385,10 @@ Func_f57f: ; 0xf57f ret Func_f5a0: ; 0xf5a0 - ld de, $c540 + ld de, wcBottomMessageText + $40 ld hl, $3069 ; todo call Func_f7b1 - ld de, $c580 + ld de, wcBottomMessageText + $80 ld hl, $3070 call Func_f7b1 ld hl, $d489 @@ -19413,7 +19414,7 @@ Func_f5a0: ; 0xf5a0 ld hl, wcBottomMessageText ld bc, $0040 call Func_f81b - ld de, $c520 + ld de, wcBottomMessageText + $20 ld hl, $3094 call Func_f7b1 ld bc, $0040 @@ -19465,10 +19466,10 @@ CallTable_f60d: ; 0xf60d dw Func_faf8 Func_f626: ; 0xf626 - ld de, $c501 + ld de, wcBottomMessageText + $01 ld hl, $3006 ; todo call Func_f7b1 - ld hl, $c501 + ld hl, wcBottomMessageText + $01 ld a, [$d628] call Func_f78e ld bc, $0040 @@ -19500,7 +19501,7 @@ Func_f676: ; 0xf676 ld b, $4 .asm_f678 push bc - ld hl, $c520 + ld hl, wcBottomMessageText + $20 ld de, wcBottomMessageText ld bc, $00e0 call LocalCopyData @@ -19520,13 +19521,13 @@ Func_f676: ; 0xf676 pop bc dec b jr nz, .asm_f678 - ld de, $c540 + ld de, wcBottomMessageText + $40 ld hl, $307a ; todo call Func_f7b1 - ld de, $c580 + ld de, wcBottomMessageText + $80 ld hl, $3086 ; todo call Func_f7b1 - ld hl, $c550 + ld hl, wcBottomMessageText + $50 ld a, [$d482] call Func_f78e ld bc, $0040 @@ -19536,7 +19537,7 @@ Func_f676: ; 0xf676 push de push hl ld hl, $d494 - ld de, $c586 + ld de, wcBottomMessageText + $86 call Func_f8bd ld bc, $0040 ld de, $0080 @@ -19572,7 +19573,7 @@ Func_f70d: ; 0xf70d ld b, $4 .asm_f70f push bc - ld hl, $c520 + ld hl, wcBottomMessageText + $20 ld de, wcBottomMessageText ld bc, $00e0 call LocalCopyData @@ -19592,11 +19593,11 @@ Func_f70d: ; 0xf70d pop bc dec b jr nz, .asm_f70f - ld de, $c560 + ld de, wcBottomMessageText + $60 ld hl, $308d call Func_f7b1 ld hl, $d46f - ld de, $c566 + ld de, wcBottomMessageText + $66 call Func_f8bd ld bc, $0040 ld de, $0060 @@ -19617,7 +19618,7 @@ Func_f70d: ; 0xf70d ld de, $d48f call Func_f902 ld hl, $d46f - ld de, $c566 + ld de, wcBottomMessageText + $66 call Func_f8bd ld bc, $0040 ld de, $0060 @@ -19657,25 +19658,25 @@ Func_f7b1: ; 0xf7b1 ld a, [$d805] and a jr nz, .asm_f7e0 -.asm_f7b7 +.loop ld a, [hli] and a ret z - cp $30 + cp "0" jr c, .asm_f7c6 - cp $3a + cp "9" + 1 jr nc, .asm_f7c6 add $56 jr .asm_f7dc .asm_f7c6 - cp $41 + cp "A" jr c, .asm_f7d2 - cp $5b + cp "Z" + 1 jr nc, .asm_f7d2 add $bf jr .asm_f7dc .asm_f7d2 - cp $65 + cp "e" jr nz, .asm_f7da ld a, $83 jr .asm_f7dc @@ -19684,14 +19685,15 @@ Func_f7b1: ; 0xf7b1 .asm_f7dc ld [de], a inc de - jr .asm_f7b7 + jr .loop + .asm_f7e0 ld a, [hli] and a ret z - cp $30 + cp "0" jr c, .asm_f7ef - cp $3a + cp "9" + 1 jr nc, .asm_f7ef add $56 jr .asm_f809 @@ -19740,7 +19742,7 @@ Func_f824: ; 0xf824 ld hl, wcBottomMessageText ld bc, $0040 call Func_f81b - ld hl, $c548 + ld hl, wcBottomMessageText + $48 ld bc, $0038 call Func_f81b ret @@ -19774,7 +19776,7 @@ Func_f853: ; 0xf853 push de push hl ld hl, $d488 - ld de, $c546 + ld de, wcBottomMessageText + $46 call Func_f8bd ld bc, $0040 ld de, $0040 @@ -19809,7 +19811,7 @@ Func_f853: ; 0xf853 ld de, $d483 call Func_f902 ld hl, $d48e - ld de, $c586 + ld de, wcBottomMessageText + $86 call Func_f8bd ld bc, $0040 ld de, $0080 @@ -19932,10 +19934,10 @@ Func_f945: ; 0xf945 ret Func_f952: ; 0xf952 - ld de, $c503 - ld hl, $302d + ld de, wcBottomMessageText + $03 + ld hl, BellsproutCounterText call Func_f7b1 - ld hl, $c503 + ld hl, wcBottomMessageText + $03 ld a, [$d62a] call Func_f78e ld bc, $0040 @@ -19948,10 +19950,10 @@ Func_f952: ; 0xf952 ret Func_f97a: ; 0xf97a - ld de, $c504 - ld hl, $303c + ld de, wcBottomMessageText + $04 + ld hl, DugtrioCounterText call Func_f7b1 - ld hl, $c504 + ld hl, wcBottomMessageText + $04 ld a, [$d62b] call Func_f78e ld bc, $0040 @@ -19964,10 +19966,10 @@ Func_f97a: ; 0xf97a ret Func_f9a2: ; 0xf9a2 - ld de, $c503 - ld hl, $3048 + ld de, wcBottomMessageText + $03 + ld hl, CaveShotCounterText call Func_f7b1 - ld hl, $c503 + ld hl, wcBottomMessageText + $03 ld a, [$d62c] call Func_f78e ld bc, $0040 @@ -19980,10 +19982,10 @@ Func_f9a2: ; 0xf9a2 ret Func_f9ca: ; 0xf9ca - ld de, $c501 - ld hl, $3057 + ld de, wcBottomMessageText + $01 + ld hl, SpinnerTurnsCounterText call Func_f7b1 - ld hl, $c501 + ld hl, wcBottomMessageText + $01 ld a, [$d62d] call Func_f78e ld bc, $0040 @@ -20008,10 +20010,10 @@ Func_f9f3: ; 0xf9f3 ret Func_fa06: ; 0xfa06 - ld de, $c504 - ld hl, $30c1 + ld de, wcBottomMessageText + $04 + ld hl, CloysterCounterText call Func_f7b1 - ld hl, $c504 + ld hl, wcBottomMessageText + $04 ld a, [$d63b] call Func_f78e ld bc, $0040 @@ -20024,10 +20026,10 @@ Func_fa06: ; 0xfa06 ret Func_fa2e: ; 0xfa2e - ld de, $c504 - ld hl, $30ce + ld de, wcBottomMessageText + $04 + ld hl, SlowpokeCounterText call Func_f7b1 - ld hl, $c504 + ld hl, wcBottomMessageText + $04 ld a, [$d63a] call Func_f78e ld bc, $0040 @@ -20040,10 +20042,10 @@ Func_fa2e: ; 0xfa2e ret Func_fa56: ; 0xfa56 - ld de, $c504 - ld hl, $30b5 + ld de, wcBottomMessageText + $04 + ld hl, PoliwagCounterText call Func_f7b1 - ld hl, $c504 + ld hl, wcBottomMessageText + $04 ld a, [$d63d] call Func_f78e ld bc, $0040 @@ -20056,10 +20058,10 @@ Func_fa56: ; 0xfa56 ret Func_fa7e: ; 0xfa7e - ld de, $c504 - ld hl, $30a9 + ld de, wcBottomMessageText + $04 + ld hl, PsyduckCounterText call Func_f7b1 - ld hl, $c504 + ld hl, wcBottomMessageText + $04 ld a, [$d63c] call Func_f78e ld bc, $0040 @@ -20072,10 +20074,10 @@ Func_fa7e: ; 0xfa7e ret Func_faa6: ; 0xfaa6 - ld de, $c503 - ld hl, $3048 + ld de, wcBottomMessageText + $03 + ld hl, CaveShotCounterText call Func_f7b1 - ld hl, $c503 + ld hl, wcBottomMessageText + $03 ld a, [$d62c] call Func_f78e ld bc, $0040 @@ -20088,10 +20090,10 @@ Func_faa6: ; 0xfaa6 ret Func_face: ; 0xface :) - ld de, $c501 - ld hl, $3057 + ld de, wcBottomMessageText + $01 + ld hl, SpinnerTurnsCounterText call Func_f7b1 - ld hl, $c501 + ld hl, wcBottomMessageText + $01 ld a, [$d62d] call Func_f78e ld bc, $0040 @@ -20112,7 +20114,11 @@ Func_faf7: ; 0xfaf7 Func_faf8: ; 0xfaf8 ret - dr $faf9, $10000 +; XXX + ret + +; XXX + ret SECTION "bank4", ROMX, BANK[$4] @@ -20275,13 +20281,13 @@ StartCatchEmMode: ; 0x1003f ld a, [wCurrentStage] bit 0, a jr z, .asm_1011d - ld a, $28 - ld hl, $6300 + ld a, BANK(StageRedFieldBottomBaseGameBoyColorGfx) + ld hl, StageRedFieldBottomBaseGameBoyColorGfx + $300 ld de, $8ae0 ld bc, $0020 call Func_735 ld a, $0 - ld hl, $2898 + ld hl, Data_2898 ld de, $9906 ld bc, $0008 call Func_735 @@ -20309,7 +20315,7 @@ CallTable_10124: ; 0x10124 CheckForMew: ; Sets the encountered mon to Mew if the following conditions are met: ; 1. Random number in register a equals $f -; 2. The current map is Indigo Plateu (it does a roundabout way of checking this) +; 2. The current map is Indigo Plateau (it does a roundabout way of checking this) ; 3. The right alley has been hit three times ; 4. The Mewtwo Bonus Stage completion counter equals 2. push af @@ -20828,13 +20834,13 @@ Func_10488: ; 0x10488 Func_10496: ; 0x10496 xor a ld [$d5c6], a - ld a, $2a - ld hl, $47e0 + ld a, BANK(PikachuSaverGfx) + ld hl, PikachuSaverGfx + $c0 ld de, $87e0 ld bc, $0020 call LoadVRAMData - ld a, $2a - ld hl, $4800 + ld a, BANK(GFX_a8800) + ld hl, GFX_a8800 ld de, $8900 ld bc, $0180 call LoadVRAMData @@ -21006,7 +21012,7 @@ Func_10611: ; 0x10611 sla a ld c, a ld b, $0 - ld hl, $462a + ld hl, Data_1062a add hl, bc ld a, [hli] ld c, a @@ -21017,6 +21023,7 @@ Func_10611: ; 0x10611 call Func_10c5 ret +Data_1062a: dr $1062a, $10648 Func_10648: ; 0x10648 @@ -21121,7 +21128,7 @@ Func_106b6: ; 0x106b6 pop de call Func_32aa pop hl - ld de, $c520 + ld de, wcBottomMessageText + $20 ld b, $0 ; count the number of letters in mon's name in register b .readLetter ld a, [hli] @@ -21412,17 +21419,17 @@ Func_108f5: ; 0x108f5 ld a, Bank(Func_30253) ld hl, Func_30253 call BankSwitch - ld a, $36 - ld hl, $6c00 + ld a, Bank(StageSharedBonusSlotGlowGfx) + ld hl, StageSharedBonusSlotGlowGfx ld de, $81a0 ld bc, $0160 call LoadVRAMData - ld a, $36 - ld hl, $6de0 + ld a, BANK(StageSharedBonusSlotGlow2Gfx) + ld hl, StageSharedBonusSlotGlow2Gfx ld de, $8380 ld bc, $0020 call LoadVRAMData - ld hl, $4958 + ld hl, Data_10958 ld a, $4 call Func_10aa ld a, [$d624] @@ -21430,12 +21437,16 @@ Func_108f5: ; 0x108f5 ld a, Bank(Func_174d4) ld hl, Func_174d4 call BankSwitch - ld hl, $497d + ld hl, Data_1097d ld a, $4 call Func_10aa ret - dr $10958, $1098a +Data_10958: + dr $10958, $1097d + +Data_1097d: + dr $1097d, $1098a Func_1098a: ; 0x1098a ret @@ -21523,17 +21534,17 @@ Func_109fc: ; 0x109fc ld a, Bank(Func_30253) ld hl, Func_30253 call BankSwitch - ld a, $36 - ld hl, $6c00 + ld a, BANK(StageSharedBonusSlotGlowGfx) + ld hl, StageSharedBonusSlotGlowGfx ld de, $81a0 ld bc, $0160 call LoadVRAMData - ld a, $36 - ld hl, $6de0 + ld a, BANK(StageSharedBonusSlotGlow2Gfx) + ld hl, StageSharedBonusSlotGlow2Gfx ld de, $8380 ld bc, $0020 call LoadVRAMData - ld hl, $4a63 + ld hl, Data_10a63 ld a, $4 call Func_10aa ld a, [$d624] @@ -21541,12 +21552,16 @@ Func_109fc: ; 0x109fc ld a, Bank(Func_174d4) ld hl, Func_174d4 call BankSwitch - ld hl, $4a88 + ld hl, Data_10a88 ld a, $4 call Func_10aa ret - dr $10a63, $10a95 +Data_10a63: + dr $10a63, $10a88 + +Data_10a88: + dr $10a88, $10a95 Func_10a95: ; 0x19a95 ld a, [wCurrentStage] @@ -21685,9 +21700,9 @@ Func_10b3f: ; 0x10b3f ld hl, $d5cc ld a, [wCurrentEvolutionType] cp EVO_EXPERIENCE - ld de, $2aa9 + ld de, StartTrainingText jr z, .asm_10b55 - ld de, $2abf + ld de, FindItemsText .asm_10b55 call Func_32aa ret @@ -21707,8 +21722,8 @@ Func_10b59: ; 0x10b59 jr nz, .asm_10b64 ld hl, wPartyMons call Func_10b8e - ld a, $35 - ld hl, $6450 + ld a, BANK(InGameMenuSymbolsGfx) + ld hl, InGameMenuSymbolsGfx ld de, $8880 ld bc, $0030 call LoadVRAMData @@ -21863,7 +21878,7 @@ Func_10c38: ; 0x10c38 swap c sla c ld b, $0 - ld hl, $c503 + ld hl, wcBottomMessageText + $03 add hl, bc ld a, $88 ld [hl], a @@ -21872,7 +21887,7 @@ Func_10c38: ; 0x10c38 and a jr z, .asm_10c83 ld a, $8a - ld [$c511], a + ld [wcBottomMessageText + $11], a .asm_10c83 ld a, [$d462] add $7 @@ -21882,7 +21897,7 @@ Func_10c38: ; 0x10c38 cp c jr c, .asm_10c96 ld a, $89 - ld [$c5b1], a + ld [wcBottomMessageText + $b1], a .asm_10c96 ld a, $0 ld hl, wcBottomMessageText @@ -21923,15 +21938,15 @@ Func_10cb7: ; 0x10cb7 ld a, [hGameBoyColorFlag] and a jr nz, .asm_10cee - ld a, $18 - ld hl, $7080 + ld a, BANK(StageRedFieldTopStatusBarSymbolsGfx_GameBoy) + ld hl, StageRedFieldTopStatusBarSymbolsGfx_GameBoy + $80 ld de, $8880 ld bc, $0030 call LoadVRAMData jr .asm_10cfc .asm_10cee - ld a, $27 - ld hl, $4080 + ld a, BANK(StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor) + ld hl, StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor + $80 ld de, $8880 ld bc, $0030 call LoadVRAMData @@ -22138,7 +22153,7 @@ Func_10e0a: ; 0x10e0a pop de call Func_32aa pop hl - ld de, $c520 + ld de, wcBottomMessageText + $20 ld b, $0 .asm_10e67 ld a, [hli] @@ -26440,7 +26455,7 @@ Func_1535d: ; 0x1535d ld a, [hl] ld [wBallType], a add $30 - ld [$c512], a + ld [wcBottomMessageText + $12], a jr .asm_15447 .masterBall ld de, $0f4d @@ -28361,7 +28376,7 @@ Func_16ef5: ; 0x16ef5 ld hl, $d5cc ld de, $2958 call Func_32aa - ld hl, $c512 + ld hl, wcBottomMessageText + $12 ld a, [$d614] and $7f jr z, .asm_16f1f @@ -34670,7 +34685,7 @@ Func_1d5bf: ; 0x1d5bf ld hl, $d5cc ld de, $2958 call Func_32aa - ld hl, $c512 + ld hl, wcBottomMessageText + $12 ld a, [$d614] and $7f jr z, .asm_1d5e9 @@ -35417,7 +35432,7 @@ Func_1e356: ; 0x1e356 ld a, [hl] ld [wBallType], a add $30 - ld [$c512], a + ld [wcBottomMessageText + $12], a jr .asm_1e465 .masterBall ld de, $0f4d @@ -52969,7 +52984,10 @@ FlipperGfx: ; 0xa8600 PikachuSaverGfx: ; 0xa8720 INCBIN "gfx/stage/pikachu_saver.2bpp" - dr $a8800, $a8a00 +GFX_a8800: + INCBIN "gfx/unknown/a8800.2bpp" + + dr $a8980, $a8a00 PinballGreatballGfx: ; 0xa8a00 INCBIN "gfx/stage/ball_greatball.w32.interleave.2bpp" @@ -53943,12 +53961,21 @@ SeelBonusTilemap2_GameBoyColor: ; 0xd5c00 Alphabet1Gfx: ; 0xd6000 INCBIN "gfx/stage/alphabet_1.2bpp" - dr $d61a0, $d6200 + dr $d61a0, $d61c0 + +GFX_d61c0: + INCBIN "gfx/stage/e_acute_mono.2bpp" + + dr $d61d0, $d6200 Alphabet2Gfx: ; 0xd6200 INCBIN "gfx/stage/alphabet_2.2bpp" - dr $d63a0, $d6450 + dr $d63a0, $d63c0 + +GFX_d63c0: + INCBIN "gfx/stage/e_acute_color.2bpp" + dr $d63d0, $d6450 InGameMenuSymbolsGfx: ; 0xd6450 INCBIN "gfx/stage/menu_symbols.2bpp" -- cgit v1.2.3 From d4166fdc19bb3ecf27936e2ddbb329db4313f834 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 4 Dec 2016 21:06:14 -0500 Subject: Text dump --- main.asm | 18 ++-- text.asm | 356 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 365 insertions(+), 9 deletions(-) create mode 100755 text.asm diff --git a/main.asm b/main.asm index 48ef845..dc207c8 100755 --- a/main.asm +++ b/main.asm @@ -22095,13 +22095,13 @@ Func_10d1d: ; 0x10d1d ld a, [wCurrentStage] bit 0, a jr z, .asm_10e09 - ld a, $28 - ld hl, $6300 + ld a, BANK(StageRedFieldBottomBaseGameBoyColorGfx) + ld hl, StageRedFieldBottomBaseGameBoyColorGfx + $300 ld de, $8ae0 ld bc, $0020 call Func_735 ld a, $0 - ld hl, $2898 + ld hl, Data_2898 ld de, $9906 ld bc, $0008 call Func_735 @@ -22124,8 +22124,8 @@ Func_10e0a: ; 0x10e0a rl b ld hl, PokemonNames + 1 add hl, bc - ld de, $2b02 ; "It evolved into an" - ld bc, $2b34 + ld de, ItEvolvedIntoAnText ; "It evolved into an" + ld bc, Data_2b34 ld a, [hl] ; check if mon's name starts with a vowel, so it can print "an", instead of "a" cp "A" @@ -22138,8 +22138,8 @@ Func_10e0a: ; 0x10e0a jr z, .nameStartsWithVowel cp "O" jr z, .nameStartsWithVowel - ld de, $2ae9 ; "It evolved into a" - ld bc, $2b1c + ld de, ItEvolvedIntoAText ; "It evolved into a" + ld bc, Data_2b1c .nameStartsWithVowel push hl push bc @@ -22194,12 +22194,12 @@ Func_10e8b: ; 0x10e8b call Func_30e8 call Func_30db ld hl, $d5d4 - ld de, $2b6b + ld de, Data_2b6b call Func_32cc pop de pop bc ld hl, $d5cc - ld de, $2b4c + ld de, EvolutionSpecialBonusText call Func_32aa ret diff --git a/text.asm b/text.asm new file mode 100755 index 0000000..b46105e --- /dev/null +++ b/text.asm @@ -0,0 +1,356 @@ +BallSavedText: + db $05, $54, $45, $14, $00, $33 + db "BALL SAVED @" + +ShootAgainText: + db $05, $54, $44, $14, $00, $34 + db "SHOOT AGAIN @" + +EndOfBallBonusText: + db $05, $54, $41, $14, $00, $3a + db "END OF BALL BONUS @" + +FieldMultiplierText: + db $05, $54, $40, $14, $00, $3c + db "FIELD MULTIPLIER x0 @" + +FieldMultiplierSpecialBonusText: + db $07, $54, $00, $00, $00, $33 + db "FIELD MULTIPLIER SPECIAL BONUS @" + +DigitsText1to8: + db $07, $73, $46, $14, $20, $50 + db "12345678 @" + +BonusMultiplierText: + db $05, $54, $40, $14, $00, $3d + db "BONUS MULTIPLIER x0 @" + +ExtraBallText: + db $05, $54, $45, $14, $00, $33 + db "EXTRA BALL @" + +ExtraBallSpecialBonusText: + db $07, $54, $00, $00, $00, $2d + db "EXTRA BALL SPECIAL BONUS @" + +DigitsText1to9: + db $07, $6d, $45, $14, $20, $4b + db "123456789 @" + +LetsGetPokemonText: + db $05, $54, $41, $14, $00, $3a + db "LET'S GET POKeMON @" + +PokemonRanAwayText: + db $05, $54, $42, $14, $00, $39 + db "POKeMON RAN AWAY @" + +PokemonCaughtSpecialBonusText: + db $07, $54, $00, $00, $00, $31 + db "POKeMON CAUGHT SPECIAL BONUS @" + +OneBillionText: + db $07, $6e, $45, $14, $20, $50 + db "1,000,000,000 @" + +Data_2a21: + dr $2a21, $2a56 + +YouGotAText: + db $05, $54, $00, $00, $00, $1e + db "YOU GOT A @" + +YouGotAnText: + db $05, $54, $00, $00, $00, $1f + db "YOU GOT AN @" + +Data_2a79: + db $05, $5e, $40, $14, $20, $43 + db " @" + +Data_2a91: + db $05, $5f, $40, $14, $20, $44 + db " @" + +StartTrainingText: + db $05, $54, $43, $14, $00, $37 + db "START TRAINING @" + +FindItemsText: + db $05, $54, $45, $14, $00, $33 + db "FIND ITEMS @" + +EvolutionFailedText: + db $05, $54, $42, $14, $00, $39 + db "EVOLUTION FAILED @" + +ItEvolvedIntoAText: + db $05, $54, $00, $00, $00, $26 + db "IT EVOLVED INTO A @" + +ItEvolvedIntoAnText: + db $05, $54, $00, $00, $00, $27 + db "IT EVOLVED INTO AN @" + +Data_2b1c: + db $05, $66, $40, $14, $20, $4b + db " @" + +Data_2b34: + db $05, $67, $40, $14, $20, $4c + db " @" + +EvolutionSpecialBonusText: + db $07, $54, $00, $00, $00, $2c + db "EVOLUTION SPECIAL BONUS @" + +Data_2b6b: + db $07, $6c, $46, $14, $20, $49 + db "12345678 @" + +Data_2b7b: + db $05, $54, $42, $14, $00, $39 + db "POKeMON IS TIRED @" + +Data_2b93: + db $05, $54, $43, $14, $00, $37 + db "ITEM NOT FOUND @" + +Data_2ba9: + db $05, $54, $41, $14, $00, $3a + db "POKeMON RECOVERED @" + +Data_2bc2: + db $05, $54, $43, $14, $00, $37 + db "TRY NEXT PLACE @" + +Data_2bd8: + db $05, $54, $42, $14, $00, $39 + db "YEAH! YOU GOT IT @" + +Data_2bf0: + dr $2bf0, $2bfe + +Data_2bfe: + db $05, $54, $43, $14, $00, $37 + db "GET EXPERIENCE @" + +Data_2c14: + db $05, $54, $42, $14, $00, $39 + db "GET A FIRE STONE @" + +Data_2c2c: + db $05, $54, $41, $14, $00, $3a + db "GET A WATER STONE @" + +Data_2c45: + db $05, $54, $40, $14, $00, $3c + db "GET A THUNDER STONE @" + +Data_2c60: + db $05, $54, $42, $14, $00, $39 + db "GET A LEAF STONE @" + +Data_2c78: + db $05, $54, $42, $14, $00, $39 + db "GET A MOON STONE @" + +Data_2c90: + db $05, $54, $42, $14, $00, $39 + db "GET A LINK CABLE @" + +Data_2ca8: + db $05, $54, $42, $14, $00, $38 + db "MAP MOVE FAILED @" + +Data_2cbf: + db $05, $54, $00, $00, $00, $1f + db "ARRIVED AT @" + +Data_2cd1: + db $05, $54, $00, $00, $00, $1f + db "START FROM @" + +Data_2ce3: + dr $2ce3, $2d07 + +Data_2d07: + db $05, $5f, $44, $14, $20, $3f + db "PALLET TOWN @" + +Data_2d1a: + db $05, $5f, $43, $14, $20, $41 + db "VIRIDIAN CITY @" + +Data_2d2f: + db $05, $5f, $42, $14, $20, $43 + db "VIRIDIAN FOREST @" + +Data_2d46: + db $05, $5f, $44, $14, $20, $3f + db "PEWTER CITY @" + +Data_2d59: + db $05, $5f, $46, $14, $20, $3b + db "MT.MOON @" + +Data_2d68: + db $05, $5f, $43, $14, $20, $41 + db "CERULEAN CITY @" + +Data_2d7d: + db $05, $5f, $40, $14, $20, $47 + db "VERMILION : SEASIDE @" + +Data_2d98: + db $05, $5f, $40, $14, $20, $47 + db "VERMILION : STREETS @" + +Data_2db3: + db $05, $5f, $43, $14, $20, $41 + db "ROCK MOUNTAIN @" + +Data_2dc8: + db $05, $5f, $43, $14, $20, $41 + db "LAVENDER TOWN @" + +Data_2ddd: + db $05, $5f, $44, $14, $20, $40 + db "CELADON CITY @" + +Data_2df1: + db $05, $5f, $44, $14, $20, $40 + db "CYCLING ROAD @" + +Data_2e05: + db $05, $5f, $44, $14, $20, $3f + db "FUCHIA CITY @" + +Data_2e18: + db $05, $5f, $44, $14, $20, $3f + db "SAFARI ZONE @" + +Data_2e2b: + db $05, $5f, $44, $14, $20, $40 + db "SAFFRON CITY @" + +Data_2e3f: + db $05, $5f, $42, $14, $20, $43 + db "SEAFOAM ISLANDS @" + +Data_2e56: + db $05, $5f, $42, $14, $20, $43 + db "CINNABAR ISLAND @" + +Data_2e6d: + db $05, $5f, $43, $14, $20, $42 + db "INDIGO PLATEAU @" + +Data_2e83: + db $05, $54, $40, $14, $00, $3c + db "GO TO DIGLETT STAGE @" + +Data_2e9e: + db $05, $54, $41, $14, $00, $3b + db "GO TO GENGAR STAGE @" + +Data_2eb8: + db $05, $54, $41, $14, $00, $3b + db "GO TO MEWTWO STAGE @" + +Data_2ed2: + db $05, $54, $41, $14, $00, $3b + db "GO TO MEOWTH STAGE @" + +Data_2eec: + db $05, $54, $42, $14, $00, $39 + db "GO TO SEEL STAGE @" + +Data_2f04: + db $05, $54, $42, $14, $00, $39 + db "END GENGAR STAGE @" + +Data_2f1c: + db $05, $54, $42, $14, $00, $39 + db "END MEWTWO STAGE @" + +Data_2f34: + db $05, $54, $41, $14, $00, $3a + db "END DIGLETT STAGE @" + +Data_2f4d: + db $05, $54, $42, $14, $00, $39 + db "END MEOWTH STAGE @" + +Data_2f65: + db $05, $54, $43, $14, $00, $37 + db "END SEEL STAGE @" + +Data_2f7b: + db $05, $54, $40, $14, $00, $3d + db "GENGAR STAGE CLEARED @" + +Data_2f97: + db $05, $54, $40, $14, $00, $3d + db "MEWTWO STAGE CLEARED @" + +Data_2fb3: + db $05, $54, $3f, $14, $00, $3e + db "DIGLETT STAGE CLEARED @" + +Data_2fd0: + db $05, $54, $40, $14, $00, $3d + db "MEOWTH STAGE CLEARED @" + +Data_2fec: + db $05, $54, $41, $14, $00, $3b + db "SEEL STAGE CLEARED @" + +Data_3006: + db " 0 POKeMON CAUGHT@" + +Data_3019: + db " 0 POKeMON EVOLVED@" + +BellsproutCounterText: + db " 0 BELLSPROUT@" + +DugtrioCounterText: + db " 0 DUGTRIO@" + +CaveShotCounterText: + db " 0 CAVE SHOTS@" + +SpinnerTurnsCounterText: + db " 0 SPINNER TURNS@" + +Data_3069: + db " BONUS@" + +Data_3070: + db " SUBTOTAL@" + +Data_307a: + db " MULTIPLIER@" + +Data_3086: + db " TOTAL@" + +Data_308d: + db " SCORE@" + +Data_3094: + db " GAME OVER @" + +PsyduckCounterText: + db " 0 PSYDUCK@" + +PoliwagCounterText: + db " 0 POLIWAG@" + +CloysterCounterText: + db " 0 CLOYSTER@" + +SlowpokeCounterText: + db " 0 SLOWPOKE@" -- cgit v1.2.3 From 79ae43e434f9472f24ce4bb59d3448485511ced5 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 4 Dec 2016 22:13:56 -0500 Subject: more resolution of hardcoded labels --- constants/evolution_line_constants.asm | 160 +- constants/map_constants.asm | 36 +- constants/pokemon_constants.asm | 302 +- data/blue_wild_mons.asm | 770 ++--- data/catchem_timer_values.asm | 302 +- .../diglett_stage/diglett_stage_animation_data.asm | 3600 ++++++++++---------- data/evolution_lines.asm | 158 +- data/mon_names.asm | 302 +- data/red_wild_mons.asm | 770 ++--- hram.asm | 10 +- macros.asm | 31 +- main.asm | 2280 +++++-------- wram.asm | 439 +-- 13 files changed, 4246 insertions(+), 4914 deletions(-) diff --git a/constants/evolution_line_constants.asm b/constants/evolution_line_constants.asm index dea3519..871da64 100755 --- a/constants/evolution_line_constants.asm +++ b/constants/evolution_line_constants.asm @@ -1,81 +1,81 @@ const_value = 0 - - const EVOLINE_BULBASAUR ; $0 - const EVOLINE_CHARMANDER ; $1 - const EVOLINE_SQUIRTLE ; $2 - const EVOLINE_CATERPIE ; $3 - const EVOLINE_WEEDLE ; $4 - const EVOLINE_PIDGEY ; $5 - const EVOLINE_RATTATA ; $6 - const EVOLINE_SPEAROW ; $7 - const EVOLINE_EKANS ; $8 - const EVOLINE_PIKACHU ; $9 - const EVOLINE_SANDSHREW ; $a - const EVOLINE_NIDORAN_F ; $b - const EVOLINE_NIDORAN_M ; $c - const EVOLINE_CLEFAIRY ; $d - const EVOLINE_VULPIX ; $e - const EVOLINE_JIGGLYPUFF ; $f - const EVOLINE_ZUBAT ; $10 - const EVOLINE_ODDISH ; $11 - const EVOLINE_PARAS ; $12 - const EVOLINE_VENONAT ; $13 - const EVOLINE_DIGLETT ; $14 - const EVOLINE_MEOWTH ; $15 - const EVOLINE_PSYDUCK ; $16 - const EVOLINE_MANKEY ; $17 - const EVOLINE_GROWLITHE ; $18 - const EVOLINE_POLIWAG ; $19 - const EVOLINE_ABRA ; $1a - const EVOLINE_MACHOP ; $1b - const EVOLINE_BELLSPROUT ; $1c - const EVOLINE_TENTACOOL ; $1d - const EVOLINE_GEODUDE ; $1e - const EVOLINE_PONYTA ; $1f - const EVOLINE_SLOWPOKE ; $20 - const EVOLINE_MAGNEMITE ; $21 - const EVOLINE_FARFETCH_D ; $22 - const EVOLINE_DODUO ; $23 - const EVOLINE_SEEL ; $24 - const EVOLINE_GRIMER ; $25 - const EVOLINE_SHELLDER ; $26 - const EVOLINE_GASTLY ; $27 - const EVOLINE_ONIX ; $28 - const EVOLINE_DROWZEE ; $29 - const EVOLINE_KRABBY ; $2a - const EVOLINE_VOLTORB ; $2b - const EVOLINE_EXEGGCUTE ; $2c - const EVOLINE_CUBONE ; $2d - const EVOLINE_HITMONLEE ; $2e - const EVOLINE_HITMONCHAN ; $2f - const EVOLINE_LICKITUNG ; $30 - const EVOLINE_KOFFING ; $31 - const EVOLINE_RHYHORN ; $32 - const EVOLINE_CHANSEY ; $33 - const EVOLINE_TANGELA ; $34 - const EVOLINE_KANGASKHAN ; $35 - const EVOLINE_HORSEA ; $36 - const EVOLINE_GOLDEEN ; $37 - const EVOLINE_STARYU ; $38 - const EVOLINE_MR_MIME ; $39 - const EVOLINE_SCYTHER ; $3a - const EVOLINE_JYNX ; $3b - const EVOLINE_ELECTABUZZ ; $3c - const EVOLINE_MAGMAR ; $3d - const EVOLINE_PINSIR ; $3e - const EVOLINE_TAUROS ; $3f - const EVOLINE_MAGIKARP ; $40 - const EVOLINE_LAPRAS ; $41 - const EVOLINE_DITTO ; $42 - const EVOLINE_EEVEE ; $43 - const EVOLINE_PORYGON ; $44 - const EVOLINE_OMANYTE ; $45 - const EVOLINE_KABUTO ; $46 - const EVOLINE_AERODACTYL ; $47 - const EVOLINE_SNORLAX ; $48 - const EVOLINE_ARTICUNO ; $49 - const EVOLINE_ZAPDOS ; $4a - const EVOLINE_MOLTRES ; $4b - const EVOLINE_DRATINI ; $4c - const EVOLINE_MEWTWO ; $4d - const EVOLINE_MEW ; $4e + + const EVOLINE_BULBASAUR ; $0 + const EVOLINE_CHARMANDER ; $1 + const EVOLINE_SQUIRTLE ; $2 + const EVOLINE_CATERPIE ; $3 + const EVOLINE_WEEDLE ; $4 + const EVOLINE_PIDGEY ; $5 + const EVOLINE_RATTATA ; $6 + const EVOLINE_SPEAROW ; $7 + const EVOLINE_EKANS ; $8 + const EVOLINE_PIKACHU ; $9 + const EVOLINE_SANDSHREW ; $a + const EVOLINE_NIDORAN_F ; $b + const EVOLINE_NIDORAN_M ; $c + const EVOLINE_CLEFAIRY ; $d + const EVOLINE_VULPIX ; $e + const EVOLINE_JIGGLYPUFF ; $f + const EVOLINE_ZUBAT ; $10 + const EVOLINE_ODDISH ; $11 + const EVOLINE_PARAS ; $12 + const EVOLINE_VENONAT ; $13 + const EVOLINE_DIGLETT ; $14 + const EVOLINE_MEOWTH ; $15 + const EVOLINE_PSYDUCK ; $16 + const EVOLINE_MANKEY ; $17 + const EVOLINE_GROWLITHE ; $18 + const EVOLINE_POLIWAG ; $19 + const EVOLINE_ABRA ; $1a + const EVOLINE_MACHOP ; $1b + const EVOLINE_BELLSPROUT ; $1c + const EVOLINE_TENTACOOL ; $1d + const EVOLINE_GEODUDE ; $1e + const EVOLINE_PONYTA ; $1f + const EVOLINE_SLOWPOKE ; $20 + const EVOLINE_MAGNEMITE ; $21 + const EVOLINE_FARFETCH_D ; $22 + const EVOLINE_DODUO ; $23 + const EVOLINE_SEEL ; $24 + const EVOLINE_GRIMER ; $25 + const EVOLINE_SHELLDER ; $26 + const EVOLINE_GASTLY ; $27 + const EVOLINE_ONIX ; $28 + const EVOLINE_DROWZEE ; $29 + const EVOLINE_KRABBY ; $2a + const EVOLINE_VOLTORB ; $2b + const EVOLINE_EXEGGCUTE ; $2c + const EVOLINE_CUBONE ; $2d + const EVOLINE_HITMONLEE ; $2e + const EVOLINE_HITMONCHAN ; $2f + const EVOLINE_LICKITUNG ; $30 + const EVOLINE_KOFFING ; $31 + const EVOLINE_RHYHORN ; $32 + const EVOLINE_CHANSEY ; $33 + const EVOLINE_TANGELA ; $34 + const EVOLINE_KANGASKHAN ; $35 + const EVOLINE_HORSEA ; $36 + const EVOLINE_GOLDEEN ; $37 + const EVOLINE_STARYU ; $38 + const EVOLINE_MR_MIME ; $39 + const EVOLINE_SCYTHER ; $3a + const EVOLINE_JYNX ; $3b + const EVOLINE_ELECTABUZZ ; $3c + const EVOLINE_MAGMAR ; $3d + const EVOLINE_PINSIR ; $3e + const EVOLINE_TAUROS ; $3f + const EVOLINE_MAGIKARP ; $40 + const EVOLINE_LAPRAS ; $41 + const EVOLINE_DITTO ; $42 + const EVOLINE_EEVEE ; $43 + const EVOLINE_PORYGON ; $44 + const EVOLINE_OMANYTE ; $45 + const EVOLINE_KABUTO ; $46 + const EVOLINE_AERODACTYL ; $47 + const EVOLINE_SNORLAX ; $48 + const EVOLINE_ARTICUNO ; $49 + const EVOLINE_ZAPDOS ; $4a + const EVOLINE_MOLTRES ; $4b + const EVOLINE_DRATINI ; $4c + const EVOLINE_MEWTWO ; $4d + const EVOLINE_MEW ; $4e diff --git a/constants/map_constants.asm b/constants/map_constants.asm index 2572e86..1a28b53 100755 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -1,20 +1,20 @@ const_value = 0 - const PALLET_TOWN ; $0 - const VIRIDIAN_CITY ; $1 - const VIRIDIAN_FOREST ; $2 - const PEWTER_CITY ; $3 - const MT_MOON ; $4 - const CERULEAN_CITY ; $5 - const VERMILION_SEASIDE ; $6 - const VERMILION_STREETS ; $7 - const ROCK_MOUNTAIN ; $8 - const LAVENDER_TOWN ; $9 - const CELADON_CITY ; $a - const CYCLING_ROAD ; $b - const FUCHSIA_CITY ; $c - const SAFARI_ZONE ; $d - const SAFFRON_CITY ; $e - const SEAFOAM_ISLANDS ; $f - const CINNABAR_ISLAND ; $10 - const INDIGO_PLATEAU ; $11 + const PALLET_TOWN ; $0 + const VIRIDIAN_CITY ; $1 + const VIRIDIAN_FOREST ; $2 + const PEWTER_CITY ; $3 + const MT_MOON ; $4 + const CERULEAN_CITY ; $5 + const VERMILION_SEASIDE ; $6 + const VERMILION_STREETS ; $7 + const ROCK_MOUNTAIN ; $8 + const LAVENDER_TOWN ; $9 + const CELADON_CITY ; $a + const CYCLING_ROAD ; $b + const FUCHSIA_CITY ; $c + const SAFARI_ZONE ; $d + const SAFFRON_CITY ; $e + const SEAFOAM_ISLANDS ; $f + const CINNABAR_ISLAND ; $10 + const INDIGO_PLATEAU ; $11 diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm index 10c58d6..fff8fdc 100755 --- a/constants/pokemon_constants.asm +++ b/constants/pokemon_constants.asm @@ -1,155 +1,155 @@ const_value = 1 - const BULBASAUR ; $1 - const IVYSAUR ; $2 - const VENUSAUR ; $3 - const CHARMANDER ; $4 - const CHARMELEON ; $5 - const CHARIZARD ; $6 - const SQUIRTLE ; $7 - const WARTORTLE ; $8 - const BLASTOISE ; $9 - const CATERPIE ; $a - const METAPOD ; $b - const BUTTERFREE ; $c - const WEEDLE ; $d - const KAKUNA ; $e - const BEEDRILL ; $f - const PIDGEY ; $10 - const PIDGEOTTO ; $11 - const PIDGEOT ; $12 - const RATTATA ; $13 - const RATICATE ; $14 - const SPEAROW ; $15 - const FEAROW ; $16 - const EKANS ; $17 - const ARBOK ; $18 - const PIKACHU ; $19 - const RAICHU ; $1a - const SANDSHREW ; $1b - const SANDSLASH ; $1c - const NIDORAN_F ; $1d - const NIDORINA ; $1e - const NIDOQUEEN ; $1f - const NIDORAN_M ; $20 - const NIDORINO ; $21 - const NIDOKING ; $22 - const CLEFAIRY ; $23 - const CLEFABLE ; $24 - const VULPIX ; $25 - const NINETALES ; $26 - const JIGGLYPUFF ; $27 - const WIGGLYTUFF ; $28 - const ZUBAT ; $29 - const GOLBAT ; $2a - const ODDISH ; $2b - const GLOOM ; $2c - const VILEPLUME ; $2d - const PARAS ; $2e - const PARASECT ; $2f - const VENONAT ; $30 - const VENOMOTH ; $31 - const DIGLETT ; $32 - const DUGTRIO ; $33 - const MEOWTH ; $34 - const PERSIAN ; $35 - const PSYDUCK ; $36 - const GOLDUCK ; $37 - const MANKEY ; $38 - const PRIMEAPE ; $39 - const GROWLITHE ; $3a - const ARCANINE ; $3b - const POLIWAG ; $3c - const POLIWHIRL ; $3d - const POLIWRATH ; $3e - const ABRA ; $3f - const KADABRA ; $40 - const ALAKAZAM ; $41 - const MACHOP ; $42 - const MACHOKE ; $43 - const MACHAMP ; $44 - const BELLSPROUT ; $45 - const WEEPINBELL ; $46 - const VICTREEBEL ; $47 - const TENTACOOL ; $48 - const TENTACRUEL ; $49 - const GEODUDE ; $4a - const GRAVELER ; $4b - const GOLEM ; $4c - const PONYTA ; $4d - const RAPIDASH ; $4e - const SLOWPOKE ; $4f - const SLOWBRO ; $50 - const MAGNEMITE ; $51 - const MAGNETON ; $52 - const FARFETCH_D ; $53 - const DODUO ; $54 - const DODRIO ; $55 - const SEEL ; $56 - const DEWGONG ; $57 - const GRIMER ; $58 - const MUK ; $59 - const SHELLDER ; $5a - const CLOYSTER ; $5b - const GASTLY ; $5c - const HAUNTER ; $5d - const GENGAR ; $5e - const ONIX ; $5f - const DROWZEE ; $60 - const HYPNO ; $61 - const KRABBY ; $62 - const KINGLER ; $63 - const VOLTORB ; $64 - const ELECTRODE ; $65 - const EXEGGCUTE ; $66 - const EXEGGUTOR ; $67 - const CUBONE ; $68 - const MAROWAK ; $69 - const HITMONLEE ; $6a - const HITMONCHAN ; $6b - const LICKITUNG ; $6c - const KOFFING ; $6d - const WEEZING ; $6e - const RHYHORN ; $6f - const RHYDON ; $70 - const CHANSEY ; $71 - const TANGELA ; $72 - const KANGASKHAN ; $73 - const HORSEA ; $74 - const SEADRA ; $75 - const GOLDEEN ; $76 - const SEAKING ; $77 - const STARYU ; $78 - const STARMIE ; $79 - const MR_MIME ; $7a - const SCYTHER ; $7b - const JYNX ; $7c - const ELECTABUZZ ; $7d - const MAGMAR ; $7e - const PINSIR ; $7f - const TAUROS ; $80 - const MAGIKARP ; $81 - const GYARADOS ; $82 - const LAPRAS ; $83 - const DITTO ; $84 - const EEVEE ; $85 - const VAPOREON ; $86 - const JOLTEON ; $87 - const FLAREON ; $88 - const PORYGON ; $89 - const OMANYTE ; $8a - const OMASTAR ; $8b - const KABUTO ; $8c - const KABUTOPS ; $8d - const AERODACTYL ; $8e - const SNORLAX ; $8f - const ARTICUNO ; $90 - const ZAPDOS ; $91 - const MOLTRES ; $92 - const DRATINI ; $93 - const DRAGONAIR ; $94 - const DRAGONITE ; $95 - const MEWTWO ; $96 - const MEW ; $97 + const BULBASAUR ; $1 + const IVYSAUR ; $2 + const VENUSAUR ; $3 + const CHARMANDER ; $4 + const CHARMELEON ; $5 + const CHARIZARD ; $6 + const SQUIRTLE ; $7 + const WARTORTLE ; $8 + const BLASTOISE ; $9 + const CATERPIE ; $a + const METAPOD ; $b + const BUTTERFREE ; $c + const WEEDLE ; $d + const KAKUNA ; $e + const BEEDRILL ; $f + const PIDGEY ; $10 + const PIDGEOTTO ; $11 + const PIDGEOT ; $12 + const RATTATA ; $13 + const RATICATE ; $14 + const SPEAROW ; $15 + const FEAROW ; $16 + const EKANS ; $17 + const ARBOK ; $18 + const PIKACHU ; $19 + const RAICHU ; $1a + const SANDSHREW ; $1b + const SANDSLASH ; $1c + const NIDORAN_F ; $1d + const NIDORINA ; $1e + const NIDOQUEEN ; $1f + const NIDORAN_M ; $20 + const NIDORINO ; $21 + const NIDOKING ; $22 + const CLEFAIRY ; $23 + const CLEFABLE ; $24 + const VULPIX ; $25 + const NINETALES ; $26 + const JIGGLYPUFF ; $27 + const WIGGLYTUFF ; $28 + const ZUBAT ; $29 + const GOLBAT ; $2a + const ODDISH ; $2b + const GLOOM ; $2c + const VILEPLUME ; $2d + const PARAS ; $2e + const PARASECT ; $2f + const VENONAT ; $30 + const VENOMOTH ; $31 + const DIGLETT ; $32 + const DUGTRIO ; $33 + const MEOWTH ; $34 + const PERSIAN ; $35 + const PSYDUCK ; $36 + const GOLDUCK ; $37 + const MANKEY ; $38 + const PRIMEAPE ; $39 + const GROWLITHE ; $3a + const ARCANINE ; $3b + const POLIWAG ; $3c + const POLIWHIRL ; $3d + const POLIWRATH ; $3e + const ABRA ; $3f + const KADABRA ; $40 + const ALAKAZAM ; $41 + const MACHOP ; $42 + const MACHOKE ; $43 + const MACHAMP ; $44 + const BELLSPROUT ; $45 + const WEEPINBELL ; $46 + const VICTREEBEL ; $47 + const TENTACOOL ; $48 + const TENTACRUEL ; $49 + const GEODUDE ; $4a + const GRAVELER ; $4b + const GOLEM ; $4c + const PONYTA ; $4d + const RAPIDASH ; $4e + const SLOWPOKE ; $4f + const SLOWBRO ; $50 + const MAGNEMITE ; $51 + const MAGNETON ; $52 + const FARFETCH_D ; $53 + const DODUO ; $54 + const DODRIO ; $55 + const SEEL ; $56 + const DEWGONG ; $57 + const GRIMER ; $58 + const MUK ; $59 + const SHELLDER ; $5a + const CLOYSTER ; $5b + const GASTLY ; $5c + const HAUNTER ; $5d + const GENGAR ; $5e + const ONIX ; $5f + const DROWZEE ; $60 + const HYPNO ; $61 + const KRABBY ; $62 + const KINGLER ; $63 + const VOLTORB ; $64 + const ELECTRODE ; $65 + const EXEGGCUTE ; $66 + const EXEGGUTOR ; $67 + const CUBONE ; $68 + const MAROWAK ; $69 + const HITMONLEE ; $6a + const HITMONCHAN ; $6b + const LICKITUNG ; $6c + const KOFFING ; $6d + const WEEZING ; $6e + const RHYHORN ; $6f + const RHYDON ; $70 + const CHANSEY ; $71 + const TANGELA ; $72 + const KANGASKHAN ; $73 + const HORSEA ; $74 + const SEADRA ; $75 + const GOLDEEN ; $76 + const SEAKING ; $77 + const STARYU ; $78 + const STARMIE ; $79 + const MR_MIME ; $7a + const SCYTHER ; $7b + const JYNX ; $7c + const ELECTABUZZ ; $7d + const MAGMAR ; $7e + const PINSIR ; $7f + const TAUROS ; $80 + const MAGIKARP ; $81 + const GYARADOS ; $82 + const LAPRAS ; $83 + const DITTO ; $84 + const EEVEE ; $85 + const VAPOREON ; $86 + const JOLTEON ; $87 + const FLAREON ; $88 + const PORYGON ; $89 + const OMANYTE ; $8a + const OMASTAR ; $8b + const KABUTO ; $8c + const KABUTOPS ; $8d + const AERODACTYL ; $8e + const SNORLAX ; $8f + const ARTICUNO ; $90 + const ZAPDOS ; $91 + const MOLTRES ; $92 + const DRATINI ; $93 + const DRAGONAIR ; $94 + const DRAGONITE ; $95 + const MEWTWO ; $96 + const MEW ; $97 NUM_POKEMON EQU 151 diff --git a/data/blue_wild_mons.asm b/data/blue_wild_mons.asm index 2fe50fc..98581b9 100755 --- a/data/blue_wild_mons.asm +++ b/data/blue_wild_mons.asm @@ -1,434 +1,434 @@ BlueStageWildMons: ; 0x1144d BlueStageViridianCityWildMons: ; 0x1144d - db BULBASAUR - db SQUIRTLE - db SQUIRTLE - db SQUIRTLE - db SQUIRTLE - db SQUIRTLE - db SPEAROW - db NIDORAN_F - db NIDORAN_F - db NIDORAN_F - db NIDORAN_M - db NIDORAN_M - db NIDORAN_M - db POLIWAG - db TENTACOOL - db GOLDEEN + db BULBASAUR + db SQUIRTLE + db SQUIRTLE + db SQUIRTLE + db SQUIRTLE + db SQUIRTLE + db SPEAROW + db NIDORAN_F + db NIDORAN_F + db NIDORAN_F + db NIDORAN_M + db NIDORAN_M + db NIDORAN_M + db POLIWAG + db TENTACOOL + db GOLDEEN BlueStagePalleViridianCityonsRare: ; 0x1145d - db BULBASAUR - db BULBASAUR - db BULBASAUR - db SQUIRTLE - db SPEAROW - db SPEAROW - db NIDORAN_F - db NIDORAN_F - db NIDORAN_M - db NIDORAN_M - db POLIWAG - db POLIWAG - db TENTACOOL - db TENTACOOL - db GOLDEEN - db GOLDEEN + db BULBASAUR + db BULBASAUR + db BULBASAUR + db SQUIRTLE + db SPEAROW + db SPEAROW + db NIDORAN_F + db NIDORAN_F + db NIDORAN_M + db NIDORAN_M + db POLIWAG + db POLIWAG + db TENTACOOL + db TENTACOOL + db GOLDEEN + db GOLDEEN BlueStageViridianForestWildMons: ; 0x1146d - db CATERPIE - db CATERPIE - db CATERPIE - db CATERPIE - db CATERPIE - db PIDGEY - db PIDGEY - db PIDGEY - db PIDGEY - db PIDGEY - db RATTATA - db RATTATA - db RATTATA - db RATTATA - db RATTATA - db PIKACHU + db CATERPIE + db CATERPIE + db CATERPIE + db CATERPIE + db CATERPIE + db PIDGEY + db PIDGEY + db PIDGEY + db PIDGEY + db PIDGEY + db RATTATA + db RATTATA + db RATTATA + db RATTATA + db RATTATA + db PIKACHU BlueStageViridianForestWildMonsRare: ; 0x1147d - db CATERPIE - db CATERPIE - db CATERPIE - db WEEDLE - db WEEDLE - db PIDGEY - db PIDGEY - db RATTATA - db RATTATA - db PIKACHU - db PIKACHU - db PIKACHU - db PIKACHU - db PIKACHU - db PIKACHU - db PIKACHU + db CATERPIE + db CATERPIE + db CATERPIE + db WEEDLE + db WEEDLE + db PIDGEY + db PIDGEY + db RATTATA + db RATTATA + db PIKACHU + db PIKACHU + db PIKACHU + db PIKACHU + db PIKACHU + db PIKACHU + db PIKACHU BlueStageMtMoonWildMons: ; 0x1148d - db RATTATA - db SPEAROW - db SPEAROW - db EKANS - db EKANS - db SANDSHREW - db SANDSHREW - db ZUBAT - db ZUBAT - db PARAS - db PARAS - db PSYDUCK - db GEODUDE - db GEODUDE - db KRABBY - db GOLDEEN + db RATTATA + db SPEAROW + db SPEAROW + db EKANS + db EKANS + db SANDSHREW + db SANDSHREW + db ZUBAT + db ZUBAT + db PARAS + db PARAS + db PSYDUCK + db GEODUDE + db GEODUDE + db KRABBY + db GOLDEEN BlueStageMtMoonWildMonsRare: ; 0x1149d - db EKANS - db EKANS - db SANDSHREW - db SANDSHREW - db CLEFAIRY - db CLEFAIRY - db CLEFAIRY - db CLEFAIRY - db CLEFAIRY - db CLEFAIRY - db ZUBAT - db ZUBAT - db PARAS - db PARAS - db GEODUDE - db GEODUDE + db EKANS + db EKANS + db SANDSHREW + db SANDSHREW + db CLEFAIRY + db CLEFAIRY + db CLEFAIRY + db CLEFAIRY + db CLEFAIRY + db CLEFAIRY + db ZUBAT + db ZUBAT + db PARAS + db PARAS + db GEODUDE + db GEODUDE BlueStageCeruleanCityWildMons: ; 0x114ad - db CATERPIE - db CATERPIE - db PIDGEY - db MEOWTH - db MEOWTH - db MEOWTH - db PSYDUCK - db ABRA - db ABRA - db BELLSPROUT - db BELLSPROUT - db BELLSPROUT - db BELLSPROUT - db BELLSPROUT - db KRABBY - db GOLDEEN + db CATERPIE + db CATERPIE + db PIDGEY + db MEOWTH + db MEOWTH + db MEOWTH + db PSYDUCK + db ABRA + db ABRA + db BELLSPROUT + db BELLSPROUT + db BELLSPROUT + db BELLSPROUT + db BELLSPROUT + db KRABBY + db GOLDEEN BlueStageCeruleanCityWildMonsRare: ; 0x114bd - db WEEDLE - db NIDORAN_M - db MEOWTH - db MEOWTH - db PSYDUCK - db PSYDUCK - db ABRA - db ABRA - db ABRA - db BELLSPROUT - db KRABBY - db GOLDEEN - db GOLDEEN - db JYNX - db JYNX - db JYNX + db WEEDLE + db NIDORAN_M + db MEOWTH + db MEOWTH + db PSYDUCK + db PSYDUCK + db ABRA + db ABRA + db ABRA + db BELLSPROUT + db KRABBY + db GOLDEEN + db GOLDEEN + db JYNX + db JYNX + db JYNX BlueStageVermilionStreetsWildMons: ; 0x114cd - db PIDGEY - db SPEAROW - db SANDSHREW - db SANDSHREW - db MEOWTH - db MEOWTH - db BELLSPROUT - db BELLSPROUT - db SHELLDER - db SHELLDER - db SHELLDER - db DROWZEE - db DROWZEE - db KRABBY - db KRABBY - db KRABBY + db PIDGEY + db SPEAROW + db SANDSHREW + db SANDSHREW + db MEOWTH + db MEOWTH + db BELLSPROUT + db BELLSPROUT + db SHELLDER + db SHELLDER + db SHELLDER + db DROWZEE + db DROWZEE + db KRABBY + db KRABBY + db KRABBY BlueStageVermilionStreetsWildMonsRare: ; 0x114dd - db SANDSHREW - db SANDSHREW - db SANDSHREW - db SANDSHREW - db MEOWTH - db BELLSPROUT - db FARFETCH_D - db FARFETCH_D - db FARFETCH_D - db FARFETCH_D - db SHELLDER - db SHELLDER - db DROWZEE - db DROWZEE - db KRABBY - db KRABBY + db SANDSHREW + db SANDSHREW + db SANDSHREW + db SANDSHREW + db MEOWTH + db BELLSPROUT + db FARFETCH_D + db FARFETCH_D + db FARFETCH_D + db FARFETCH_D + db SHELLDER + db SHELLDER + db DROWZEE + db DROWZEE + db KRABBY + db KRABBY BlueStageRockMountainWildMons: ; 0x114ed - db RATTATA - db SPEAROW - db SANDSHREW - db SANDSHREW - db ZUBAT - db DIGLETT - db DIGLETT - db DIGLETT - db DIGLETT - db MACHOP - db GEODUDE - db SLOWPOKE - db ONIX - db VOLTORB - db VOLTORB - db VOLTORB + db RATTATA + db SPEAROW + db SANDSHREW + db SANDSHREW + db ZUBAT + db DIGLETT + db DIGLETT + db DIGLETT + db DIGLETT + db MACHOP + db GEODUDE + db SLOWPOKE + db ONIX + db VOLTORB + db VOLTORB + db VOLTORB BlueStageRockMountainWildMonsRare: ; 0x114fd - db ZUBAT - db ZUBAT - db DIGLETT - db MACHOP - db MACHOP - db GEODUDE - db GEODUDE - db SLOWPOKE - db SLOWPOKE - db ONIX - db ONIX - db VOLTORB - db VOLTORB - db MR_MIME - db MR_MIME - db MR_MIME + db ZUBAT + db ZUBAT + db DIGLETT + db MACHOP + db MACHOP + db GEODUDE + db GEODUDE + db SLOWPOKE + db SLOWPOKE + db ONIX + db ONIX + db VOLTORB + db VOLTORB + db MR_MIME + db MR_MIME + db MR_MIME BlueStageCeladonCityWildMons: ; 0x1150d - db PIDGEY - db PIDGEY - db VULPIX - db VULPIX - db ODDISH - db ODDISH - db MEOWTH - db MEOWTH - db MEOWTH - db MANKEY - db MANKEY - db MANKEY - db GROWLITHE - db GROWLITHE - db BELLSPROUT - db BELLSPROUT + db PIDGEY + db PIDGEY + db VULPIX + db VULPIX + db ODDISH + db ODDISH + db MEOWTH + db MEOWTH + db MEOWTH + db MANKEY + db MANKEY + db MANKEY + db GROWLITHE + db GROWLITHE + db BELLSPROUT + db BELLSPROUT BlueStageCeladonCityWildMonsRare: ; 0x1151d - db CLEFAIRY - db CLEFAIRY - db ABRA - db ABRA - db SCYTHER - db PINSIR - db EEVEE - db EEVEE - db EEVEE - db PORYGON - db PORYGON - db PORYGON - db PORYGON - db DRATINI - db DRATINI - db DRATINI + db CLEFAIRY + db CLEFAIRY + db ABRA + db ABRA + db SCYTHER + db PINSIR + db EEVEE + db EEVEE + db EEVEE + db PORYGON + db PORYGON + db PORYGON + db PORYGON + db DRATINI + db DRATINI + db DRATINI BlueStageFuchsiaCityWildMons: ; 0x1152d - db VENONAT - db VENONAT - db KRABBY - db KRABBY - db KRABBY - db EXEGGCUTE - db EXEGGCUTE - db KANGASKHAN - db KANGASKHAN - db GOLDEEN - db GOLDEEN - db GOLDEEN - db MAGIKARP - db MAGIKARP - db MAGIKARP - db MAGIKARP + db VENONAT + db VENONAT + db KRABBY + db KRABBY + db KRABBY + db EXEGGCUTE + db EXEGGCUTE + db KANGASKHAN + db KANGASKHAN + db GOLDEEN + db GOLDEEN + db GOLDEEN + db MAGIKARP + db MAGIKARP + db MAGIKARP + db MAGIKARP BlueStageFuchsiaCityWildMonsRare: ; 0x1153d - db VENONAT - db VENONAT - db VENONAT - db VENONAT - db KRABBY - db EXEGGCUTE - db EXEGGCUTE - db EXEGGCUTE - db EXEGGCUTE - db KANGASKHAN - db KANGASKHAN - db KANGASKHAN - db KANGASKHAN - db GOLDEEN - db MAGIKARP - db MAGIKARP + db VENONAT + db VENONAT + db VENONAT + db VENONAT + db KRABBY + db EXEGGCUTE + db EXEGGCUTE + db EXEGGCUTE + db EXEGGCUTE + db KANGASKHAN + db KANGASKHAN + db KANGASKHAN + db KANGASKHAN + db GOLDEEN + db MAGIKARP + db MAGIKARP BlueStageSafariZoneWildMons: ; 0x1154d - db NIDORAN_F - db NIDORAN_F - db NIDORAN_F - db NIDORAN_F - db PARAS - db PARAS - db PARAS - db PARAS - db DODUO - db DODUO - db DODUO - db DODUO - db RHYHORN - db RHYHORN - db RHYHORN - db RHYHORN + db NIDORAN_F + db NIDORAN_F + db NIDORAN_F + db NIDORAN_F + db PARAS + db PARAS + db PARAS + db PARAS + db DODUO + db DODUO + db DODUO + db DODUO + db RHYHORN + db RHYHORN + db RHYHORN + db RHYHORN BlueStageSafariZoneWildMonsRare: ; 0x1155d - db NIDORAN_F - db NIDORAN_F - db PARAS - db PARAS - db RHYHORN - db RHYHORN - db CHANSEY - db CHANSEY - db CHANSEY - db CHANSEY - db PINSIR - db PINSIR - db TAUROS - db TAUROS - db DRATINI - db DRATINI + db NIDORAN_F + db NIDORAN_F + db PARAS + db PARAS + db RHYHORN + db RHYHORN + db CHANSEY + db CHANSEY + db CHANSEY + db CHANSEY + db PINSIR + db PINSIR + db TAUROS + db TAUROS + db DRATINI + db DRATINI BlueStageSaffronCityWildMons: ; 0x1156d - db PIDGEY - db PIDGEY - db EKANS - db EKANS - db EKANS - db SANDSHREW - db SANDSHREW - db SANDSHREW - db VULPIX - db ODDISH - db ODDISH - db MEOWTH - db MANKEY - db GROWLITHE - db BELLSPROUT - db BELLSPROUT + db PIDGEY + db PIDGEY + db EKANS + db EKANS + db EKANS + db SANDSHREW + db SANDSHREW + db SANDSHREW + db VULPIX + db ODDISH + db ODDISH + db MEOWTH + db MANKEY + db GROWLITHE + db BELLSPROUT + db BELLSPROUT BlueStageSaffronCityWildMonsRare: ; 0x1157d - db PIDGEY - db EKANS - db SANDSHREW - db VULPIX - db MEOWTH - db MANKEY - db GROWLITHE - db HITMONLEE - db HITMONLEE - db HITMONLEE - db HITMONCHAN - db HITMONCHAN - db HITMONCHAN - db LAPRAS - db LAPRAS - db LAPRAS + db PIDGEY + db EKANS + db SANDSHREW + db VULPIX + db MEOWTH + db MANKEY + db GROWLITHE + db HITMONLEE + db HITMONLEE + db HITMONLEE + db HITMONCHAN + db HITMONCHAN + db HITMONCHAN + db LAPRAS + db LAPRAS + db LAPRAS BlueStageCinnabarIslandWildMons: ; 0x1158d - db VULPIX - db VULPIX - db VULPIX - db PONYTA - db PONYTA - db PONYTA - db PONYTA - db PONYTA - db GRIMER - db GRIMER - db KOFFING - db KOFFING - db KOFFING - db KOFFING - db TANGELA - db TANGELA + db VULPIX + db VULPIX + db VULPIX + db PONYTA + db PONYTA + db PONYTA + db PONYTA + db PONYTA + db GRIMER + db GRIMER + db KOFFING + db KOFFING + db KOFFING + db KOFFING + db TANGELA + db TANGELA BlueStageCinnabarIslandWildMonsRare: ; 0x1159d - db VULPIX - db PONYTA - db PONYTA - db GRIMER - db GRIMER - db KOFFING - db KOFFING - db TANGELA - db TANGELA - db TANGELA - db MAGMAR - db MAGMAR - db MAGMAR - db AERODACTYL - db AERODACTYL - db AERODACTYL + db VULPIX + db PONYTA + db PONYTA + db GRIMER + db GRIMER + db KOFFING + db KOFFING + db TANGELA + db TANGELA + db TANGELA + db MAGMAR + db MAGMAR + db MAGMAR + db AERODACTYL + db AERODACTYL + db AERODACTYL BlueStageIndigoPlateauWildMons: ; 0x115ad - db SPEAROW - db SANDSHREW - db ZUBAT - db ZUBAT - db MACHOP - db MACHOP - db MACHOP - db GEODUDE - db GEODUDE - db GEODUDE - db ONIX - db ONIX - db ONIX - db DITTO - db DITTO - db DITTO + db SPEAROW + db SANDSHREW + db ZUBAT + db ZUBAT + db MACHOP + db MACHOP + db MACHOP + db GEODUDE + db GEODUDE + db GEODUDE + db ONIX + db ONIX + db ONIX + db DITTO + db DITTO + db DITTO BlueStageIndigoPlateauWildMonsRare: ; 0x115bd - db SPEAROW - db SANDSHREW - db ZUBAT - db MACHOP - db GEODUDE - db ONIX - db DITTO - db DITTO - db DITTO - db DITTO - db MOLTRES - db MOLTRES - db MOLTRES - db MEWTWO - db MEWTWO - db MEWTWO + db SPEAROW + db SANDSHREW + db ZUBAT + db MACHOP + db GEODUDE + db ONIX + db DITTO + db DITTO + db DITTO + db DITTO + db MOLTRES + db MOLTRES + db MOLTRES + db MEWTWO + db MEWTWO + db MEWTWO - db MEW + db MEW diff --git a/data/catchem_timer_values.asm b/data/catchem_timer_values.asm index 15bf275..5e7c776 100755 --- a/data/catchem_timer_values.asm +++ b/data/catchem_timer_values.asm @@ -4,154 +4,154 @@ CatchEmTimerData: ; 0x12a22 ; different pokemon have different times, in order to add difficulty. ; First byte = seconds value ; Second byte = minutes value - db $00, $02 ; BULBASAUR - db $00, $02 ; IVYSAUR - db $00, $02 ; VENUSAUR - db $00, $02 ; CHARMANDER - db $00, $02 ; CHARMELEON - db $00, $02 ; CHARIZARD - db $00, $02 ; SQUIRTLE - db $00, $02 ; WARTORTLE - db $00, $02 ; BLASTOISE - db $00, $02 ; CATERPIE - db $00, $02 ; METAPOD - db $00, $02 ; BUTTERFREE - db $00, $02 ; WEEDLE - db $00, $02 ; KAKUNA - db $00, $02 ; BEEDRILL - db $00, $02 ; PIDGEY - db $00, $02 ; PIDGEOTTO - db $00, $02 ; PIDGEOT - db $00, $02 ; RATTATA - db $00, $02 ; RATICATE - db $00, $02 ; SPEAROW - db $00, $02 ; FEAROW - db $00, $02 ; EKANS - db $00, $02 ; ARBOK - db $00, $02 ; PIKACHU - db $00, $02 ; RAICHU - db $00, $02 ; SANDSHREW - db $00, $02 ; SANDSLASH - db $00, $02 ; NIDORAN_F - db $00, $02 ; NIDORINA - db $00, $02 ; NIDOQUEEN - db $00, $02 ; NIDORAN_M - db $00, $02 ; NIDORINO - db $00, $02 ; NIDOKING - db $00, $02 ; CLEFAIRY - db $00, $02 ; CLEFABLE - db $00, $02 ; VULPIX - db $00, $02 ; NINETALES - db $00, $02 ; JIGGLYPUFF - db $00, $02 ; WIGGLYTUFF - db $00, $02 ; ZUBAT - db $00, $02 ; GOLBAT - db $00, $02 ; ODDISH - db $00, $02 ; GLOOM - db $00, $02 ; VILEPLUME - db $00, $02 ; PARAS - db $00, $02 ; PARASECT - db $00, $02 ; VENONAT - db $00, $02 ; VENOMOTH - db $00, $02 ; DIGLETT - db $00, $02 ; DUGTRIO - db $00, $02 ; MEOWTH - db $00, $02 ; PERSIAN - db $00, $02 ; PSYDUCK - db $00, $02 ; GOLDUCK - db $00, $02 ; MANKEY - db $00, $02 ; PRIMEAPE - db $00, $02 ; GROWLITHE - db $00, $02 ; ARCANINE - db $00, $02 ; POLIWAG - db $00, $02 ; POLIWHIRL - db $00, $02 ; POLIWRATH - db $00, $02 ; ABRA - db $00, $02 ; KADABRA - db $00, $02 ; ALAKAZAM - db $00, $02 ; MACHOP - db $00, $02 ; MACHOKE - db $00, $02 ; MACHAMP - db $00, $02 ; BELLSPROUT - db $00, $02 ; WEEPINBELL - db $00, $02 ; VICTREEBEL - db $00, $02 ; TENTACOOL - db $00, $02 ; TENTACRUEL - db $00, $02 ; GEODUDE - db $00, $02 ; GRAVELER - db $00, $02 ; GOLEM - db $00, $02 ; PONYTA - db $00, $02 ; RAPIDASH - db $00, $02 ; SLOWPOKE - db $00, $02 ; SLOWBRO - db $00, $02 ; MAGNEMITE - db $00, $02 ; MAGNETON - db $00, $02 ; FARFETCH_D - db $00, $02 ; DODUO - db $00, $02 ; DODRIO - db $00, $02 ; SEEL - db $00, $02 ; DEWGONG - db $00, $02 ; GRIMER - db $00, $02 ; MUK - db $00, $02 ; SHELLDER - db $00, $02 ; CLOYSTER - db $00, $02 ; GASTLY - db $00, $02 ; HAUNTER - db $00, $02 ; GENGAR - db $00, $02 ; ONIX - db $00, $02 ; DROWZEE - db $00, $02 ; HYPNO - db $00, $02 ; KRABBY - db $00, $02 ; KINGLER - db $00, $02 ; VOLTORB - db $00, $02 ; ELECTRODE - db $00, $02 ; EXEGGCUTE - db $00, $02 ; EXEGGUTOR - db $00, $02 ; CUBONE - db $00, $02 ; MAROWAK - db $00, $02 ; HITMONLEE - db $00, $02 ; HITMONCHAN - db $00, $02 ; LICKITUNG - db $00, $02 ; KOFFING - db $00, $02 ; WEEZING - db $00, $02 ; RHYHORN - db $00, $02 ; RHYDON - db $00, $02 ; CHANSEY - db $00, $02 ; TANGELA - db $00, $02 ; KANGASKHAN - db $00, $02 ; HORSEA - db $00, $02 ; SEADRA - db $00, $02 ; GOLDEEN - db $00, $02 ; SEAKING - db $00, $02 ; STARYU - db $00, $02 ; STARMIE - db $00, $02 ; MR_MIME - db $00, $02 ; SCYTHER - db $00, $02 ; JYNX - db $00, $02 ; ELECTABUZZ - db $00, $02 ; MAGMAR - db $00, $02 ; PINSIR - db $00, $02 ; TAUROS - db $00, $02 ; MAGIKARP - db $00, $02 ; GYARADOS - db $00, $02 ; LAPRAS - db $00, $02 ; DITTO - db $00, $02 ; EEVEE - db $00, $02 ; VAPOREON - db $00, $02 ; JOLTEON - db $00, $02 ; FLAREON - db $00, $02 ; PORYGON - db $00, $02 ; OMANYTE - db $00, $02 ; OMASTAR - db $00, $02 ; KABUTO - db $00, $02 ; KABUTOPS - db $00, $02 ; AERODACTYL - db $00, $02 ; SNORLAX - db $00, $02 ; ARTICUNO - db $00, $02 ; ZAPDOS - db $00, $02 ; MOLTRES - db $00, $02 ; DRATINI - db $00, $02 ; DRAGONAIR - db $00, $02 ; DRAGONITE - db $00, $02 ; MEWTWO - db $00, $02 ; MEW + db $00, $02 ; BULBASAUR + db $00, $02 ; IVYSAUR + db $00, $02 ; VENUSAUR + db $00, $02 ; CHARMANDER + db $00, $02 ; CHARMELEON + db $00, $02 ; CHARIZARD + db $00, $02 ; SQUIRTLE + db $00, $02 ; WARTORTLE + db $00, $02 ; BLASTOISE + db $00, $02 ; CATERPIE + db $00, $02 ; METAPOD + db $00, $02 ; BUTTERFREE + db $00, $02 ; WEEDLE + db $00, $02 ; KAKUNA + db $00, $02 ; BEEDRILL + db $00, $02 ; PIDGEY + db $00, $02 ; PIDGEOTTO + db $00, $02 ; PIDGEOT + db $00, $02 ; RATTATA + db $00, $02 ; RATICATE + db $00, $02 ; SPEAROW + db $00, $02 ; FEAROW + db $00, $02 ; EKANS + db $00, $02 ; ARBOK + db $00, $02 ; PIKACHU + db $00, $02 ; RAICHU + db $00, $02 ; SANDSHREW + db $00, $02 ; SANDSLASH + db $00, $02 ; NIDORAN_F + db $00, $02 ; NIDORINA + db $00, $02 ; NIDOQUEEN + db $00, $02 ; NIDORAN_M + db $00, $02 ; NIDORINO + db $00, $02 ; NIDOKING + db $00, $02 ; CLEFAIRY + db $00, $02 ; CLEFABLE + db $00, $02 ; VULPIX + db $00, $02 ; NINETALES + db $00, $02 ; JIGGLYPUFF + db $00, $02 ; WIGGLYTUFF + db $00, $02 ; ZUBAT + db $00, $02 ; GOLBAT + db $00, $02 ; ODDISH + db $00, $02 ; GLOOM + db $00, $02 ; VILEPLUME + db $00, $02 ; PARAS + db $00, $02 ; PARASECT + db $00, $02 ; VENONAT + db $00, $02 ; VENOMOTH + db $00, $02 ; DIGLETT + db $00, $02 ; DUGTRIO + db $00, $02 ; MEOWTH + db $00, $02 ; PERSIAN + db $00, $02 ; PSYDUCK + db $00, $02 ; GOLDUCK + db $00, $02 ; MANKEY + db $00, $02 ; PRIMEAPE + db $00, $02 ; GROWLITHE + db $00, $02 ; ARCANINE + db $00, $02 ; POLIWAG + db $00, $02 ; POLIWHIRL + db $00, $02 ; POLIWRATH + db $00, $02 ; ABRA + db $00, $02 ; KADABRA + db $00, $02 ; ALAKAZAM + db $00, $02 ; MACHOP + db $00, $02 ; MACHOKE + db $00, $02 ; MACHAMP + db $00, $02 ; BELLSPROUT + db $00, $02 ; WEEPINBELL + db $00, $02 ; VICTREEBEL + db $00, $02 ; TENTACOOL + db $00, $02 ; TENTACRUEL + db $00, $02 ; GEODUDE + db $00, $02 ; GRAVELER + db $00, $02 ; GOLEM + db $00, $02 ; PONYTA + db $00, $02 ; RAPIDASH + db $00, $02 ; SLOWPOKE + db $00, $02 ; SLOWBRO + db $00, $02 ; MAGNEMITE + db $00, $02 ; MAGNETON + db $00, $02 ; FARFETCH_D + db $00, $02 ; DODUO + db $00, $02 ; DODRIO + db $00, $02 ; SEEL + db $00, $02 ; DEWGONG + db $00, $02 ; GRIMER + db $00, $02 ; MUK + db $00, $02 ; SHELLDER + db $00, $02 ; CLOYSTER + db $00, $02 ; GASTLY + db $00, $02 ; HAUNTER + db $00, $02 ; GENGAR + db $00, $02 ; ONIX + db $00, $02 ; DROWZEE + db $00, $02 ; HYPNO + db $00, $02 ; KRABBY + db $00, $02 ; KINGLER + db $00, $02 ; VOLTORB + db $00, $02 ; ELECTRODE + db $00, $02 ; EXEGGCUTE + db $00, $02 ; EXEGGUTOR + db $00, $02 ; CUBONE + db $00, $02 ; MAROWAK + db $00, $02 ; HITMONLEE + db $00, $02 ; HITMONCHAN + db $00, $02 ; LICKITUNG + db $00, $02 ; KOFFING + db $00, $02 ; WEEZING + db $00, $02 ; RHYHORN + db $00, $02 ; RHYDON + db $00, $02 ; CHANSEY + db $00, $02 ; TANGELA + db $00, $02 ; KANGASKHAN + db $00, $02 ; HORSEA + db $00, $02 ; SEADRA + db $00, $02 ; GOLDEEN + db $00, $02 ; SEAKING + db $00, $02 ; STARYU + db $00, $02 ; STARMIE + db $00, $02 ; MR_MIME + db $00, $02 ; SCYTHER + db $00, $02 ; JYNX + db $00, $02 ; ELECTABUZZ + db $00, $02 ; MAGMAR + db $00, $02 ; PINSIR + db $00, $02 ; TAUROS + db $00, $02 ; MAGIKARP + db $00, $02 ; GYARADOS + db $00, $02 ; LAPRAS + db $00, $02 ; DITTO + db $00, $02 ; EEVEE + db $00, $02 ; VAPOREON + db $00, $02 ; JOLTEON + db $00, $02 ; FLAREON + db $00, $02 ; PORYGON + db $00, $02 ; OMANYTE + db $00, $02 ; OMASTAR + db $00, $02 ; KABUTO + db $00, $02 ; KABUTOPS + db $00, $02 ; AERODACTYL + db $00, $02 ; SNORLAX + db $00, $02 ; ARTICUNO + db $00, $02 ; ZAPDOS + db $00, $02 ; MOLTRES + db $00, $02 ; DRATINI + db $00, $02 ; DRAGONAIR + db $00, $02 ; DRAGONITE + db $00, $02 ; MEWTWO + db $00, $02 ; MEW diff --git a/data/diglett_stage/diglett_stage_animation_data.asm b/data/diglett_stage/diglett_stage_animation_data.asm index 0a407c5..2a0384d 100755 --- a/data/diglett_stage/diglett_stage_animation_data.asm +++ b/data/diglett_stage/diglett_stage_animation_data.asm @@ -1,2275 +1,2275 @@ DiglettInitializeOrder: ; 0x19ed1 ; This list specifies the order that digletts are initialized. ; Each byte corresponds to an entry in wDiglettStates. - db $00 - db $1C - db $01 - db $1D - db $03 - db $19 - db $06 - db $15 - db $02 - db $1E - db $04 - db $1A - db $07 - db $16 - db $0A - db $11 - db $05 - db $1B - db $08 - db $17 - db $0B - db $12 - db $0E - db $09 - db $18 - db $0C - db $13 - db $0F - db $0D - db $14 - db $10 - dbw $FF, DiglettInitializeOrder ; terminator + db $00 + db $1C + db $01 + db $1D + db $03 + db $19 + db $06 + db $15 + db $02 + db $1E + db $04 + db $1A + db $07 + db $16 + db $0A + db $11 + db $05 + db $1B + db $08 + db $17 + db $0B + db $12 + db $0E + db $09 + db $18 + db $0C + db $13 + db $0F + db $0D + db $14 + db $10 + dbw $FF, DiglettInitializeOrder ; terminator DiglettUpdateOrder: ; 0x19ef3 ; This list specifies the order that digletts are updated. ; Each byte corresponds to an entry in wDiglettStates - db $00 - db $11 - db $03 - db $14 - db $06 - db $17 - db $09 - db $1A - db $0C - db $1D - db $0F - db $01 - db $12 - db $04 - db $15 - db $07 - db $18 - db $0A - db $1B - db $0D - db $1E - db $10 - db $02 - db $13 - db $05 - db $16 - db $08 - db $19 - db $0B - db $1C - db $0E - dbw $FF, DiglettUpdateOrder ; terminator + db $00 + db $11 + db $03 + db $14 + db $06 + db $17 + db $09 + db $1A + db $0C + db $1D + db $0F + db $01 + db $12 + db $04 + db $15 + db $07 + db $18 + db $0A + db $1B + db $0D + db $1E + db $10 + db $02 + db $13 + db $05 + db $16 + db $08 + db $19 + db $0B + db $1C + db $0E + dbw $FF, DiglettUpdateOrder ; terminator DiglettTileDataPointers: ; 0x19f15 - dw DiglettTileDataPointer_1a095 - dw DiglettTileDataPointer_1a089 - dw DiglettTileDataPointer_1a08c - dw DiglettTileDataPointer_1a089 - dw DiglettTileDataPointer_1a08f - dw DiglettTileDataPointer_1a092 - dw DiglettTileDataPointer_1a0a4 - dw DiglettTileDataPointer_1a098 - dw DiglettTileDataPointer_1a09b - dw DiglettTileDataPointer_1a098 - dw DiglettTileDataPointer_1a09e - dw DiglettTileDataPointer_1a0a1 - dw DiglettTileDataPointer_1a0b3 - dw DiglettTileDataPointer_1a0a7 - dw DiglettTileDataPointer_1a0aa - dw DiglettTileDataPointer_1a0a7 - dw DiglettTileDataPointer_1a0ad - dw DiglettTileDataPointer_1a0b0 - dw DiglettTileDataPointer_1a0c2 - dw DiglettTileDataPointer_1a0b6 - dw DiglettTileDataPointer_1a0b9 - dw DiglettTileDataPointer_1a0b6 - dw DiglettTileDataPointer_1a0bc - dw DiglettTileDataPointer_1a0bf - dw DiglettTileDataPointer_1a0d1 - dw DiglettTileDataPointer_1a0c5 - dw DiglettTileDataPointer_1a0c8 - dw DiglettTileDataPointer_1a0c5 - dw DiglettTileDataPointer_1a0cb - dw DiglettTileDataPointer_1a0ce - dw DiglettTileDataPointer_1a0e0 - dw DiglettTileDataPointer_1a0d4 - dw DiglettTileDataPointer_1a0d7 - dw DiglettTileDataPointer_1a0d4 - dw DiglettTileDataPointer_1a0da - dw DiglettTileDataPointer_1a0dd - dw DiglettTileDataPointer_1a0ef - dw DiglettTileDataPointer_1a0e3 - dw DiglettTileDataPointer_1a0e6 - dw DiglettTileDataPointer_1a0e3 - dw DiglettTileDataPointer_1a0e9 - dw DiglettTileDataPointer_1a0ec - dw DiglettTileDataPointer_1a0fe - dw DiglettTileDataPointer_1a0f2 - dw DiglettTileDataPointer_1a0f5 - dw DiglettTileDataPointer_1a0f2 - dw DiglettTileDataPointer_1a0f8 - dw DiglettTileDataPointer_1a0fb - dw DiglettTileDataPointer_1a10d - dw DiglettTileDataPointer_1a101 - dw DiglettTileDataPointer_1a104 - dw DiglettTileDataPointer_1a101 - dw DiglettTileDataPointer_1a107 - dw DiglettTileDataPointer_1a10a - dw DiglettTileDataPointer_1a11c - dw DiglettTileDataPointer_1a110 - dw DiglettTileDataPointer_1a113 - dw DiglettTileDataPointer_1a110 - dw DiglettTileDataPointer_1a116 - dw DiglettTileDataPointer_1a119 - dw DiglettTileDataPointer_1a12b - dw DiglettTileDataPointer_1a11f - dw DiglettTileDataPointer_1a122 - dw DiglettTileDataPointer_1a11f - dw DiglettTileDataPointer_1a125 - dw DiglettTileDataPointer_1a128 - dw DiglettTileDataPointer_1a13a - dw DiglettTileDataPointer_1a12e - dw DiglettTileDataPointer_1a131 - dw DiglettTileDataPointer_1a12e - dw DiglettTileDataPointer_1a134 - dw DiglettTileDataPointer_1a137 - dw DiglettTileDataPointer_1a149 - dw DiglettTileDataPointer_1a13d - dw DiglettTileDataPointer_1a140 - dw DiglettTileDataPointer_1a13d - dw DiglettTileDataPointer_1a143 - dw DiglettTileDataPointer_1a146 - dw DiglettTileDataPointer_1a158 - dw DiglettTileDataPointer_1a14c - dw DiglettTileDataPointer_1a14f - dw DiglettTileDataPointer_1a14c - dw DiglettTileDataPointer_1a152 - dw DiglettTileDataPointer_1a155 - dw DiglettTileDataPointer_1a167 - dw DiglettTileDataPointer_1a15b - dw DiglettTileDataPointer_1a15e - dw DiglettTileDataPointer_1a15b - dw DiglettTileDataPointer_1a161 - dw DiglettTileDataPointer_1a164 - dw DiglettTileDataPointer_1a176 - dw DiglettTileDataPointer_1a16a - dw DiglettTileDataPointer_1a16d - dw DiglettTileDataPointer_1a16a - dw DiglettTileDataPointer_1a170 - dw DiglettTileDataPointer_1a173 - dw DiglettTileDataPointer_1a185 - dw DiglettTileDataPointer_1a179 - dw DiglettTileDataPointer_1a17c - dw DiglettTileDataPointer_1a179 - dw DiglettTileDataPointer_1a17f - dw DiglettTileDataPointer_1a182 - dw DiglettTileDataPointer_1a194 - dw DiglettTileDataPointer_1a188 - dw DiglettTileDataPointer_1a18b - dw DiglettTileDataPointer_1a188 - dw DiglettTileDataPointer_1a18e - dw DiglettTileDataPointer_1a191 - dw DiglettTileDataPointer_1a1a3 - dw DiglettTileDataPointer_1a197 - dw DiglettTileDataPointer_1a19a - dw DiglettTileDataPointer_1a197 - dw DiglettTileDataPointer_1a19d - dw DiglettTileDataPointer_1a1a0 - dw DiglettTileDataPointer_1a1b2 - dw DiglettTileDataPointer_1a1a6 - dw DiglettTileDataPointer_1a1a9 - dw DiglettTileDataPointer_1a1a6 - dw DiglettTileDataPointer_1a1ac - dw DiglettTileDataPointer_1a1af - dw DiglettTileDataPointer_1a1c1 - dw DiglettTileDataPointer_1a1b5 - dw DiglettTileDataPointer_1a1b8 - dw DiglettTileDataPointer_1a1b5 - dw DiglettTileDataPointer_1a1bb - dw DiglettTileDataPointer_1a1be - dw DiglettTileDataPointer_1a1d0 - dw DiglettTileDataPointer_1a1c4 - dw DiglettTileDataPointer_1a1c7 - dw DiglettTileDataPointer_1a1c4 - dw DiglettTileDataPointer_1a1ca - dw DiglettTileDataPointer_1a1cd - dw DiglettTileDataPointer_1a1df - dw DiglettTileDataPointer_1a1d3 - dw DiglettTileDataPointer_1a1d6 - dw DiglettTileDataPointer_1a1d3 - dw DiglettTileDataPointer_1a1d9 - dw DiglettTileDataPointer_1a1dc - dw DiglettTileDataPointer_1a1ee - dw DiglettTileDataPointer_1a1e2 - dw DiglettTileDataPointer_1a1e5 - dw DiglettTileDataPointer_1a1e2 - dw DiglettTileDataPointer_1a1e8 - dw DiglettTileDataPointer_1a1eb - dw DiglettTileDataPointer_1a1fd - dw DiglettTileDataPointer_1a1f1 - dw DiglettTileDataPointer_1a1f4 - dw DiglettTileDataPointer_1a1f1 - dw DiglettTileDataPointer_1a1f7 - dw DiglettTileDataPointer_1a1fa - dw DiglettTileDataPointer_1a20c - dw DiglettTileDataPointer_1a200 - dw DiglettTileDataPointer_1a203 - dw DiglettTileDataPointer_1a200 - dw DiglettTileDataPointer_1a206 - dw DiglettTileDataPointer_1a209 - dw DiglettTileDataPointer_1a21b - dw DiglettTileDataPointer_1a20f - dw DiglettTileDataPointer_1a212 - dw DiglettTileDataPointer_1a20f - dw DiglettTileDataPointer_1a215 - dw DiglettTileDataPointer_1a218 - dw DiglettTileDataPointer_1a22a - dw DiglettTileDataPointer_1a21e - dw DiglettTileDataPointer_1a221 - dw DiglettTileDataPointer_1a21e - dw DiglettTileDataPointer_1a224 - dw DiglettTileDataPointer_1a227 - dw DiglettTileDataPointer_1a239 - dw DiglettTileDataPointer_1a22d - dw DiglettTileDataPointer_1a230 - dw DiglettTileDataPointer_1a22d - dw DiglettTileDataPointer_1a233 - dw DiglettTileDataPointer_1a236 - dw DiglettTileDataPointer_1a248 - dw DiglettTileDataPointer_1a23c - dw DiglettTileDataPointer_1a23f - dw DiglettTileDataPointer_1a23c - dw DiglettTileDataPointer_1a242 - dw DiglettTileDataPointer_1a245 - dw DiglettTileDataPointer_1a257 - dw DiglettTileDataPointer_1a24b - dw DiglettTileDataPointer_1a24e - dw DiglettTileDataPointer_1a24b - dw DiglettTileDataPointer_1a251 - dw DiglettTileDataPointer_1a254 + dw DiglettTileDataPointer_1a095 + dw DiglettTileDataPointer_1a089 + dw DiglettTileDataPointer_1a08c + dw DiglettTileDataPointer_1a089 + dw DiglettTileDataPointer_1a08f + dw DiglettTileDataPointer_1a092 + dw DiglettTileDataPointer_1a0a4 + dw DiglettTileDataPointer_1a098 + dw DiglettTileDataPointer_1a09b + dw DiglettTileDataPointer_1a098 + dw DiglettTileDataPointer_1a09e + dw DiglettTileDataPointer_1a0a1 + dw DiglettTileDataPointer_1a0b3 + dw DiglettTileDataPointer_1a0a7 + dw DiglettTileDataPointer_1a0aa + dw DiglettTileDataPointer_1a0a7 + dw DiglettTileDataPointer_1a0ad + dw DiglettTileDataPointer_1a0b0 + dw DiglettTileDataPointer_1a0c2 + dw DiglettTileDataPointer_1a0b6 + dw DiglettTileDataPointer_1a0b9 + dw DiglettTileDataPointer_1a0b6 + dw DiglettTileDataPointer_1a0bc + dw DiglettTileDataPointer_1a0bf + dw DiglettTileDataPointer_1a0d1 + dw DiglettTileDataPointer_1a0c5 + dw DiglettTileDataPointer_1a0c8 + dw DiglettTileDataPointer_1a0c5 + dw DiglettTileDataPointer_1a0cb + dw DiglettTileDataPointer_1a0ce + dw DiglettTileDataPointer_1a0e0 + dw DiglettTileDataPointer_1a0d4 + dw DiglettTileDataPointer_1a0d7 + dw DiglettTileDataPointer_1a0d4 + dw DiglettTileDataPointer_1a0da + dw DiglettTileDataPointer_1a0dd + dw DiglettTileDataPointer_1a0ef + dw DiglettTileDataPointer_1a0e3 + dw DiglettTileDataPointer_1a0e6 + dw DiglettTileDataPointer_1a0e3 + dw DiglettTileDataPointer_1a0e9 + dw DiglettTileDataPointer_1a0ec + dw DiglettTileDataPointer_1a0fe + dw DiglettTileDataPointer_1a0f2 + dw DiglettTileDataPointer_1a0f5 + dw DiglettTileDataPointer_1a0f2 + dw DiglettTileDataPointer_1a0f8 + dw DiglettTileDataPointer_1a0fb + dw DiglettTileDataPointer_1a10d + dw DiglettTileDataPointer_1a101 + dw DiglettTileDataPointer_1a104 + dw DiglettTileDataPointer_1a101 + dw DiglettTileDataPointer_1a107 + dw DiglettTileDataPointer_1a10a + dw DiglettTileDataPointer_1a11c + dw DiglettTileDataPointer_1a110 + dw DiglettTileDataPointer_1a113 + dw DiglettTileDataPointer_1a110 + dw DiglettTileDataPointer_1a116 + dw DiglettTileDataPointer_1a119 + dw DiglettTileDataPointer_1a12b + dw DiglettTileDataPointer_1a11f + dw DiglettTileDataPointer_1a122 + dw DiglettTileDataPointer_1a11f + dw DiglettTileDataPointer_1a125 + dw DiglettTileDataPointer_1a128 + dw DiglettTileDataPointer_1a13a + dw DiglettTileDataPointer_1a12e + dw DiglettTileDataPointer_1a131 + dw DiglettTileDataPointer_1a12e + dw DiglettTileDataPointer_1a134 + dw DiglettTileDataPointer_1a137 + dw DiglettTileDataPointer_1a149 + dw DiglettTileDataPointer_1a13d + dw DiglettTileDataPointer_1a140 + dw DiglettTileDataPointer_1a13d + dw DiglettTileDataPointer_1a143 + dw DiglettTileDataPointer_1a146 + dw DiglettTileDataPointer_1a158 + dw DiglettTileDataPointer_1a14c + dw DiglettTileDataPointer_1a14f + dw DiglettTileDataPointer_1a14c + dw DiglettTileDataPointer_1a152 + dw DiglettTileDataPointer_1a155 + dw DiglettTileDataPointer_1a167 + dw DiglettTileDataPointer_1a15b + dw DiglettTileDataPointer_1a15e + dw DiglettTileDataPointer_1a15b + dw DiglettTileDataPointer_1a161 + dw DiglettTileDataPointer_1a164 + dw DiglettTileDataPointer_1a176 + dw DiglettTileDataPointer_1a16a + dw DiglettTileDataPointer_1a16d + dw DiglettTileDataPointer_1a16a + dw DiglettTileDataPointer_1a170 + dw DiglettTileDataPointer_1a173 + dw DiglettTileDataPointer_1a185 + dw DiglettTileDataPointer_1a179 + dw DiglettTileDataPointer_1a17c + dw DiglettTileDataPointer_1a179 + dw DiglettTileDataPointer_1a17f + dw DiglettTileDataPointer_1a182 + dw DiglettTileDataPointer_1a194 + dw DiglettTileDataPointer_1a188 + dw DiglettTileDataPointer_1a18b + dw DiglettTileDataPointer_1a188 + dw DiglettTileDataPointer_1a18e + dw DiglettTileDataPointer_1a191 + dw DiglettTileDataPointer_1a1a3 + dw DiglettTileDataPointer_1a197 + dw DiglettTileDataPointer_1a19a + dw DiglettTileDataPointer_1a197 + dw DiglettTileDataPointer_1a19d + dw DiglettTileDataPointer_1a1a0 + dw DiglettTileDataPointer_1a1b2 + dw DiglettTileDataPointer_1a1a6 + dw DiglettTileDataPointer_1a1a9 + dw DiglettTileDataPointer_1a1a6 + dw DiglettTileDataPointer_1a1ac + dw DiglettTileDataPointer_1a1af + dw DiglettTileDataPointer_1a1c1 + dw DiglettTileDataPointer_1a1b5 + dw DiglettTileDataPointer_1a1b8 + dw DiglettTileDataPointer_1a1b5 + dw DiglettTileDataPointer_1a1bb + dw DiglettTileDataPointer_1a1be + dw DiglettTileDataPointer_1a1d0 + dw DiglettTileDataPointer_1a1c4 + dw DiglettTileDataPointer_1a1c7 + dw DiglettTileDataPointer_1a1c4 + dw DiglettTileDataPointer_1a1ca + dw DiglettTileDataPointer_1a1cd + dw DiglettTileDataPointer_1a1df + dw DiglettTileDataPointer_1a1d3 + dw DiglettTileDataPointer_1a1d6 + dw DiglettTileDataPointer_1a1d3 + dw DiglettTileDataPointer_1a1d9 + dw DiglettTileDataPointer_1a1dc + dw DiglettTileDataPointer_1a1ee + dw DiglettTileDataPointer_1a1e2 + dw DiglettTileDataPointer_1a1e5 + dw DiglettTileDataPointer_1a1e2 + dw DiglettTileDataPointer_1a1e8 + dw DiglettTileDataPointer_1a1eb + dw DiglettTileDataPointer_1a1fd + dw DiglettTileDataPointer_1a1f1 + dw DiglettTileDataPointer_1a1f4 + dw DiglettTileDataPointer_1a1f1 + dw DiglettTileDataPointer_1a1f7 + dw DiglettTileDataPointer_1a1fa + dw DiglettTileDataPointer_1a20c + dw DiglettTileDataPointer_1a200 + dw DiglettTileDataPointer_1a203 + dw DiglettTileDataPointer_1a200 + dw DiglettTileDataPointer_1a206 + dw DiglettTileDataPointer_1a209 + dw DiglettTileDataPointer_1a21b + dw DiglettTileDataPointer_1a20f + dw DiglettTileDataPointer_1a212 + dw DiglettTileDataPointer_1a20f + dw DiglettTileDataPointer_1a215 + dw DiglettTileDataPointer_1a218 + dw DiglettTileDataPointer_1a22a + dw DiglettTileDataPointer_1a21e + dw DiglettTileDataPointer_1a221 + dw DiglettTileDataPointer_1a21e + dw DiglettTileDataPointer_1a224 + dw DiglettTileDataPointer_1a227 + dw DiglettTileDataPointer_1a239 + dw DiglettTileDataPointer_1a22d + dw DiglettTileDataPointer_1a230 + dw DiglettTileDataPointer_1a22d + dw DiglettTileDataPointer_1a233 + dw DiglettTileDataPointer_1a236 + dw DiglettTileDataPointer_1a248 + dw DiglettTileDataPointer_1a23c + dw DiglettTileDataPointer_1a23f + dw DiglettTileDataPointer_1a23c + dw DiglettTileDataPointer_1a242 + dw DiglettTileDataPointer_1a245 + dw DiglettTileDataPointer_1a257 + dw DiglettTileDataPointer_1a24b + dw DiglettTileDataPointer_1a24e + dw DiglettTileDataPointer_1a24b + dw DiglettTileDataPointer_1a251 + dw DiglettTileDataPointer_1a254 DiglettTileDataPointer_1a089: ; 0x1a089 - dbw $01, DiglettTileData_1a25a + dbw $01, DiglettTileData_1a25a DiglettTileDataPointer_1a08c: ; 0x1a08c - dbw $01, DiglettTileData_1a268 + dbw $01, DiglettTileData_1a268 DiglettTileDataPointer_1a08f: ; 0x1a08f - dbw $01, DiglettTileData_1a276 + dbw $01, DiglettTileData_1a276 DiglettTileDataPointer_1a092: ; 0x1a092 - dbw $01, DiglettTileData_1a284 + dbw $01, DiglettTileData_1a284 DiglettTileDataPointer_1a095: ; 0x1a095 - dbw $01, DiglettTileData_1a292 + dbw $01, DiglettTileData_1a292 DiglettTileDataPointer_1a098: ; 0x1a098 - dbw $01, DiglettTileData_1a2a0 + dbw $01, DiglettTileData_1a2a0 DiglettTileDataPointer_1a09b: ; 0x1a09b - dbw $01, DiglettTileData_1a2ae + dbw $01, DiglettTileData_1a2ae DiglettTileDataPointer_1a09e: ; 0x1a09e - dbw $01, DiglettTileData_1a2bc + dbw $01, DiglettTileData_1a2bc DiglettTileDataPointer_1a0a1: ; 0x1a0a1 - dbw $01, DiglettTileData_1a2ca + dbw $01, DiglettTileData_1a2ca DiglettTileDataPointer_1a0a4: ; 0x1a0a4 - dbw $01, DiglettTileData_1a2d8 + dbw $01, DiglettTileData_1a2d8 DiglettTileDataPointer_1a0a7: ; 0x1a0a7 - dbw $01, DiglettTileData_1a2e6 + dbw $01, DiglettTileData_1a2e6 DiglettTileDataPointer_1a0aa: ; 0x1a0aa - dbw $01, DiglettTileData_1a2f4 + dbw $01, DiglettTileData_1a2f4 DiglettTileDataPointer_1a0ad: ; 0x1a0ad - dbw $01, DiglettTileData_1a302 + dbw $01, DiglettTileData_1a302 DiglettTileDataPointer_1a0b0: ; 0x1a0b0 - dbw $01, DiglettTileData_1a310 + dbw $01, DiglettTileData_1a310 DiglettTileDataPointer_1a0b3: ; 0x1a0b3 - dbw $01, DiglettTileData_1a31e + dbw $01, DiglettTileData_1a31e DiglettTileDataPointer_1a0b6: ; 0x1a0b6 - dbw $01, DiglettTileData_1a32c + dbw $01, DiglettTileData_1a32c DiglettTileDataPointer_1a0b9: ; 0x1a0b9 - dbw $01, DiglettTileData_1a33a + dbw $01, DiglettTileData_1a33a DiglettTileDataPointer_1a0bc: ; 0x1a0bc - dbw $01, DiglettTileData_1a348 + dbw $01, DiglettTileData_1a348 DiglettTileDataPointer_1a0bf: ; 0x1a0bf - dbw $01, DiglettTileData_1a356 + dbw $01, DiglettTileData_1a356 DiglettTileDataPointer_1a0c2: ; 0x1a0c2 - dbw $01, DiglettTileData_1a364 + dbw $01, DiglettTileData_1a364 DiglettTileDataPointer_1a0c5: ; 0x1a0c5 - dbw $01, DiglettTileData_1a372 + dbw $01, DiglettTileData_1a372 DiglettTileDataPointer_1a0c8: ; 0x1a0c8 - dbw $01, DiglettTileData_1a380 + dbw $01, DiglettTileData_1a380 DiglettTileDataPointer_1a0cb: ; 0x1a0cb - dbw $01, DiglettTileData_1a38e + dbw $01, DiglettTileData_1a38e DiglettTileDataPointer_1a0ce: ; 0x1a0ce - dbw $01, DiglettTileData_1a39c + dbw $01, DiglettTileData_1a39c DiglettTileDataPointer_1a0d1: ; 0x1a0d1 - dbw $01, DiglettTileData_1a3aa + dbw $01, DiglettTileData_1a3aa DiglettTileDataPointer_1a0d4: ; 0x1a0d4 - dbw $01, DiglettTileData_1a3b8 + dbw $01, DiglettTileData_1a3b8 DiglettTileDataPointer_1a0d7: ; 0x1a0d7 - dbw $01, DiglettTileData_1a3c6 + dbw $01, DiglettTileData_1a3c6 DiglettTileDataPointer_1a0da: ; 0x1a0da - dbw $01, DiglettTileData_1a3d4 + dbw $01, DiglettTileData_1a3d4 DiglettTileDataPointer_1a0dd: ; 0x1a0dd - dbw $01, DiglettTileData_1a3e2 + dbw $01, DiglettTileData_1a3e2 DiglettTileDataPointer_1a0e0: ; 0x1a0e0 - dbw $01, DiglettTileData_1a3f0 + dbw $01, DiglettTileData_1a3f0 DiglettTileDataPointer_1a0e3: ; 0x1a0e3 - dbw $01, DiglettTileData_1a3fe + dbw $01, DiglettTileData_1a3fe DiglettTileDataPointer_1a0e6: ; 0x1a0e6 - dbw $01, DiglettTileData_1a40c + dbw $01, DiglettTileData_1a40c DiglettTileDataPointer_1a0e9: ; 0x1a0e9 - dbw $01, DiglettTileData_1a41a + dbw $01, DiglettTileData_1a41a DiglettTileDataPointer_1a0ec: ; 0x1a0ec - dbw $01, DiglettTileData_1a428 + dbw $01, DiglettTileData_1a428 DiglettTileDataPointer_1a0ef: ; 0x1a0ef - dbw $01, DiglettTileData_1a436 + dbw $01, DiglettTileData_1a436 DiglettTileDataPointer_1a0f2: ; 0x1a0f2 - dbw $01, DiglettTileData_1a444 + dbw $01, DiglettTileData_1a444 DiglettTileDataPointer_1a0f5: ; 0x1a0f5 - dbw $01, DiglettTileData_1a452 + dbw $01, DiglettTileData_1a452 DiglettTileDataPointer_1a0f8: ; 0x1a0f8 - dbw $01, DiglettTileData_1a460 + dbw $01, DiglettTileData_1a460 DiglettTileDataPointer_1a0fb: ; 0x1a0fb - dbw $01, DiglettTileData_1a46e + dbw $01, DiglettTileData_1a46e DiglettTileDataPointer_1a0fe: ; 0x1a0fe - dbw $01, DiglettTileData_1a47c + dbw $01, DiglettTileData_1a47c DiglettTileDataPointer_1a101: ; 0x1a101 - dbw $01, DiglettTileData_1a48a + dbw $01, DiglettTileData_1a48a DiglettTileDataPointer_1a104: ; 0x1a104 - dbw $01, DiglettTileData_1a498 + dbw $01, DiglettTileData_1a498 DiglettTileDataPointer_1a107: ; 0x1a107 - dbw $01, DiglettTileData_1a4a6 + dbw $01, DiglettTileData_1a4a6 DiglettTileDataPointer_1a10a: ; 0x1a10a - dbw $01, DiglettTileData_1a4b4 + dbw $01, DiglettTileData_1a4b4 DiglettTileDataPointer_1a10d: ; 0x1a10d - dbw $01, DiglettTileData_1a4c2 + dbw $01, DiglettTileData_1a4c2 DiglettTileDataPointer_1a110: ; 0x1a110 - dbw $01, DiglettTileData_1a4d0 + dbw $01, DiglettTileData_1a4d0 DiglettTileDataPointer_1a113: ; 0x1a113 - dbw $01, DiglettTileData_1a4de + dbw $01, DiglettTileData_1a4de DiglettTileDataPointer_1a116: ; 0x1a116 - dbw $01, DiglettTileData_1a4ec + dbw $01, DiglettTileData_1a4ec DiglettTileDataPointer_1a119: ; 0x1a119 - dbw $01, DiglettTileData_1a4fa + dbw $01, DiglettTileData_1a4fa DiglettTileDataPointer_1a11c: ; 0x1a11c - dbw $01, DiglettTileData_1a508 + dbw $01, DiglettTileData_1a508 DiglettTileDataPointer_1a11f: ; 0x1a11f - dbw $01, DiglettTileData_1a516 + dbw $01, DiglettTileData_1a516 DiglettTileDataPointer_1a122: ; 0x1a122 - dbw $01, DiglettTileData_1a524 + dbw $01, DiglettTileData_1a524 DiglettTileDataPointer_1a125: ; 0x1a125 - dbw $01, DiglettTileData_1a532 + dbw $01, DiglettTileData_1a532 DiglettTileDataPointer_1a128: ; 0x1a128 - dbw $01, DiglettTileData_1a540 + dbw $01, DiglettTileData_1a540 DiglettTileDataPointer_1a12b: ; 0x1a12b - dbw $01, DiglettTileData_1a54e + dbw $01, DiglettTileData_1a54e DiglettTileDataPointer_1a12e: ; 0x1a12e - dbw $01, DiglettTileData_1a55c + dbw $01, DiglettTileData_1a55c DiglettTileDataPointer_1a131: ; 0x1a131 - dbw $01, DiglettTileData_1a56a + dbw $01, DiglettTileData_1a56a DiglettTileDataPointer_1a134: ; 0x1a134 - dbw $01, DiglettTileData_1a578 + dbw $01, DiglettTileData_1a578 DiglettTileDataPointer_1a137: ; 0x1a137 - dbw $01, DiglettTileData_1a586 + dbw $01, DiglettTileData_1a586 DiglettTileDataPointer_1a13a: ; 0x1a13a - dbw $01, DiglettTileData_1a594 + dbw $01, DiglettTileData_1a594 DiglettTileDataPointer_1a13d: ; 0x1a13d - dbw $01, DiglettTileData_1a5a2 + dbw $01, DiglettTileData_1a5a2 DiglettTileDataPointer_1a140: ; 0x1a140 - dbw $01, DiglettTileData_1a5b0 + dbw $01, DiglettTileData_1a5b0 DiglettTileDataPointer_1a143: ; 0x1a143 - dbw $01, DiglettTileData_1a5be + dbw $01, DiglettTileData_1a5be DiglettTileDataPointer_1a146: ; 0x1a146 - dbw $01, DiglettTileData_1a5cc + dbw $01, DiglettTileData_1a5cc DiglettTileDataPointer_1a149: ; 0x1a149 - dbw $01, DiglettTileData_1a5da + dbw $01, DiglettTileData_1a5da DiglettTileDataPointer_1a14c: ; 0x1a14c - dbw $01, DiglettTileData_1a5e8 + dbw $01, DiglettTileData_1a5e8 DiglettTileDataPointer_1a14f: ; 0x1a14f - dbw $01, DiglettTileData_1a5f6 + dbw $01, DiglettTileData_1a5f6 DiglettTileDataPointer_1a152: ; 0x1a152 - dbw $01, DiglettTileData_1a604 + dbw $01, DiglettTileData_1a604 DiglettTileDataPointer_1a155: ; 0x1a155 - dbw $01, DiglettTileData_1a612 + dbw $01, DiglettTileData_1a612 DiglettTileDataPointer_1a158: ; 0x1a158 - dbw $01, DiglettTileData_1a620 + dbw $01, DiglettTileData_1a620 DiglettTileDataPointer_1a15b: ; 0x1a15b - dbw $01, DiglettTileData_1a62e + dbw $01, DiglettTileData_1a62e DiglettTileDataPointer_1a15e: ; 0x1a15e - dbw $01, DiglettTileData_1a63c + dbw $01, DiglettTileData_1a63c DiglettTileDataPointer_1a161: ; 0x1a161 - dbw $01, DiglettTileData_1a64a + dbw $01, DiglettTileData_1a64a DiglettTileDataPointer_1a164: ; 0x1a164 - dbw $01, DiglettTileData_1a658 + dbw $01, DiglettTileData_1a658 DiglettTileDataPointer_1a167: ; 0x1a167 - dbw $01, DiglettTileData_1a666 + dbw $01, DiglettTileData_1a666 DiglettTileDataPointer_1a16a: ; 0x1a16a - dbw $01, DiglettTileData_1a674 + dbw $01, DiglettTileData_1a674 DiglettTileDataPointer_1a16d: ; 0x1a16d - dbw $01, DiglettTileData_1a682 + dbw $01, DiglettTileData_1a682 DiglettTileDataPointer_1a170: ; 0x1a170 - dbw $01, DiglettTileData_1a690 + dbw $01, DiglettTileData_1a690 DiglettTileDataPointer_1a173: ; 0x1a173 - dbw $01, DiglettTileData_1a69e + dbw $01, DiglettTileData_1a69e DiglettTileDataPointer_1a176: ; 0x1a176 - dbw $01, DiglettTileData_1a6ac + dbw $01, DiglettTileData_1a6ac DiglettTileDataPointer_1a179: ; 0x1a179 - dbw $01, DiglettTileData_1a6ba + dbw $01, DiglettTileData_1a6ba DiglettTileDataPointer_1a17c: ; 0x1a17c - dbw $01, DiglettTileData_1a6c8 + dbw $01, DiglettTileData_1a6c8 DiglettTileDataPointer_1a17f: ; 0x1a17f - dbw $01, DiglettTileData_1a6d6 + dbw $01, DiglettTileData_1a6d6 DiglettTileDataPointer_1a182: ; 0x1a182 - dbw $01, DiglettTileData_1a6e4 + dbw $01, DiglettTileData_1a6e4 DiglettTileDataPointer_1a185: ; 0x1a185 - dbw $01, DiglettTileData_1a6f2 + dbw $01, DiglettTileData_1a6f2 DiglettTileDataPointer_1a188: ; 0x1a188 - dbw $01, DiglettTileData_1a700 + dbw $01, DiglettTileData_1a700 DiglettTileDataPointer_1a18b: ; 0x1a18b - dbw $01, DiglettTileData_1a70e + dbw $01, DiglettTileData_1a70e DiglettTileDataPointer_1a18e: ; 0x1a18e - dbw $01, DiglettTileData_1a71c + dbw $01, DiglettTileData_1a71c DiglettTileDataPointer_1a191: ; 0x1a191 - dbw $01, DiglettTileData_1a72a + dbw $01, DiglettTileData_1a72a DiglettTileDataPointer_1a194: ; 0x1a194 - dbw $01, DiglettTileData_1a738 + dbw $01, DiglettTileData_1a738 DiglettTileDataPointer_1a197: ; 0x1a197 - dbw $01, DiglettTileData_1a746 + dbw $01, DiglettTileData_1a746 DiglettTileDataPointer_1a19a: ; 0x1a19a - dbw $01, DiglettTileData_1a754 + dbw $01, DiglettTileData_1a754 DiglettTileDataPointer_1a19d: ; 0x1a19d - dbw $01, DiglettTileData_1a762 + dbw $01, DiglettTileData_1a762 DiglettTileDataPointer_1a1a0: ; 0x1a1a0 - dbw $01, DiglettTileData_1a770 + dbw $01, DiglettTileData_1a770 DiglettTileDataPointer_1a1a3: ; 0x1a1a3 - dbw $01, DiglettTileData_1a77e + dbw $01, DiglettTileData_1a77e DiglettTileDataPointer_1a1a6: ; 0x1a1a6 - dbw $01, DiglettTileData_1a78c + dbw $01, DiglettTileData_1a78c DiglettTileDataPointer_1a1a9: ; 0x1a1a9 - dbw $01, DiglettTileData_1a79a + dbw $01, DiglettTileData_1a79a DiglettTileDataPointer_1a1ac: ; 0x1a1ac - dbw $01, DiglettTileData_1a7a8 + dbw $01, DiglettTileData_1a7a8 DiglettTileDataPointer_1a1af: ; 0x1a1af - dbw $01, DiglettTileData_1a7b6 + dbw $01, DiglettTileData_1a7b6 DiglettTileDataPointer_1a1b2: ; 0x1a1b2 - dbw $01, DiglettTileData_1a7c4 + dbw $01, DiglettTileData_1a7c4 DiglettTileDataPointer_1a1b5: ; 0x1a1b5 - dbw $01, DiglettTileData_1a7d2 + dbw $01, DiglettTileData_1a7d2 DiglettTileDataPointer_1a1b8: ; 0x1a1b8 - dbw $01, DiglettTileData_1a7e0 + dbw $01, DiglettTileData_1a7e0 DiglettTileDataPointer_1a1bb: ; 0x1a1bb - dbw $01, DiglettTileData_1a7ee + dbw $01, DiglettTileData_1a7ee DiglettTileDataPointer_1a1be: ; 0x1a1be - dbw $01, DiglettTileData_1a7fc + dbw $01, DiglettTileData_1a7fc DiglettTileDataPointer_1a1c1: ; 0x1a1c1 - dbw $01, DiglettTileData_1a80a + dbw $01, DiglettTileData_1a80a DiglettTileDataPointer_1a1c4: ; 0x1a1c4 - dbw $01, DiglettTileData_1a818 + dbw $01, DiglettTileData_1a818 DiglettTileDataPointer_1a1c7: ; 0x1a1c7 - dbw $01, DiglettTileData_1a826 + dbw $01, DiglettTileData_1a826 DiglettTileDataPointer_1a1ca: ; 0x1a1ca - dbw $01, DiglettTileData_1a834 + dbw $01, DiglettTileData_1a834 DiglettTileDataPointer_1a1cd: ; 0x1a1cd - dbw $01, DiglettTileData_1a842 + dbw $01, DiglettTileData_1a842 DiglettTileDataPointer_1a1d0: ; 0x1a1d0 - dbw $01, DiglettTileData_1a850 + dbw $01, DiglettTileData_1a850 DiglettTileDataPointer_1a1d3: ; 0x1a1d3 - dbw $01, DiglettTileData_1a85e + dbw $01, DiglettTileData_1a85e DiglettTileDataPointer_1a1d6: ; 0x1a1d6 - dbw $01, DiglettTileData_1a86c + dbw $01, DiglettTileData_1a86c DiglettTileDataPointer_1a1d9: ; 0x1a1d9 - dbw $01, DiglettTileData_1a87a + dbw $01, DiglettTileData_1a87a DiglettTileDataPointer_1a1dc: ; 0x1a1dc - dbw $01, DiglettTileData_1a888 + dbw $01, DiglettTileData_1a888 DiglettTileDataPointer_1a1df: ; 0x1a1df - dbw $01, DiglettTileData_1a896 + dbw $01, DiglettTileData_1a896 DiglettTileDataPointer_1a1e2: ; 0x1a1e2 - dbw $01, DiglettTileData_1a8a4 + dbw $01, DiglettTileData_1a8a4 DiglettTileDataPointer_1a1e5: ; 0x1a1e5 - dbw $01, DiglettTileData_1a8b2 + dbw $01, DiglettTileData_1a8b2 DiglettTileDataPointer_1a1e8: ; 0x1a1e8 - dbw $01, DiglettTileData_1a8c0 + dbw $01, DiglettTileData_1a8c0 DiglettTileDataPointer_1a1eb: ; 0x1a1eb - dbw $01, DiglettTileData_1a8ce + dbw $01, DiglettTileData_1a8ce DiglettTileDataPointer_1a1ee: ; 0x1a1ee - dbw $01, DiglettTileData_1a8dc + dbw $01, DiglettTileData_1a8dc DiglettTileDataPointer_1a1f1: ; 0x1a1f1 - dbw $01, DiglettTileData_1a8ea + dbw $01, DiglettTileData_1a8ea DiglettTileDataPointer_1a1f4: ; 0x1a1f4 - dbw $01, DiglettTileData_1a8f8 + dbw $01, DiglettTileData_1a8f8 DiglettTileDataPointer_1a1f7: ; 0x1a1f7 - dbw $01, DiglettTileData_1a906 + dbw $01, DiglettTileData_1a906 DiglettTileDataPointer_1a1fa: ; 0x1a1fa - dbw $01, DiglettTileData_1a914 + dbw $01, DiglettTileData_1a914 DiglettTileDataPointer_1a1fd: ; 0x1a1fd - dbw $01, DiglettTileData_1a922 + dbw $01, DiglettTileData_1a922 DiglettTileDataPointer_1a200: ; 0x1a200 - dbw $01, DiglettTileData_1a930 + dbw $01, DiglettTileData_1a930 DiglettTileDataPointer_1a203: ; 0x1a203 - dbw $01, DiglettTileData_1a93e + dbw $01, DiglettTileData_1a93e DiglettTileDataPointer_1a206: ; 0x1a206 - dbw $01, DiglettTileData_1a94c + dbw $01, DiglettTileData_1a94c DiglettTileDataPointer_1a209: ; 0x1a209 - dbw $01, DiglettTileData_1a95a + dbw $01, DiglettTileData_1a95a DiglettTileDataPointer_1a20c: ; 0x1a20c - dbw $01, DiglettTileData_1a968 + dbw $01, DiglettTileData_1a968 DiglettTileDataPointer_1a20f: ; 0x1a20f - dbw $01, DiglettTileData_1a976 + dbw $01, DiglettTileData_1a976 DiglettTileDataPointer_1a212: ; 0x1a212 - dbw $01, DiglettTileData_1a984 + dbw $01, DiglettTileData_1a984 DiglettTileDataPointer_1a215: ; 0x1a215 - dbw $01, DiglettTileData_1a992 + dbw $01, DiglettTileData_1a992 DiglettTileDataPointer_1a218: ; 0x1a218 - dbw $01, DiglettTileData_1a9a0 + dbw $01, DiglettTileData_1a9a0 DiglettTileDataPointer_1a21b: ; 0x1a21b - dbw $01, DiglettTileData_1a9ae + dbw $01, DiglettTileData_1a9ae DiglettTileDataPointer_1a21e: ; 0x1a21e - dbw $01, DiglettTileData_1a9bc + dbw $01, DiglettTileData_1a9bc DiglettTileDataPointer_1a221: ; 0x1a221 - dbw $01, DiglettTileData_1a9ca + dbw $01, DiglettTileData_1a9ca DiglettTileDataPointer_1a224: ; 0x1a224 - dbw $01, DiglettTileData_1a9d8 + dbw $01, DiglettTileData_1a9d8 DiglettTileDataPointer_1a227: ; 0x1a227 - dbw $01, DiglettTileData_1a9e6 + dbw $01, DiglettTileData_1a9e6 DiglettTileDataPointer_1a22a: ; 0x1a22a - dbw $01, DiglettTileData_1a9f4 + dbw $01, DiglettTileData_1a9f4 DiglettTileDataPointer_1a22d: ; 0x1a22d - dbw $01, DiglettTileData_1aa02 + dbw $01, DiglettTileData_1aa02 DiglettTileDataPointer_1a230: ; 0x1a230 - dbw $01, DiglettTileData_1aa10 + dbw $01, DiglettTileData_1aa10 DiglettTileDataPointer_1a233: ; 0x1a233 - dbw $01, DiglettTileData_1aa1e + dbw $01, DiglettTileData_1aa1e DiglettTileDataPointer_1a236: ; 0x1a236 - dbw $01, DiglettTileData_1aa2c + dbw $01, DiglettTileData_1aa2c DiglettTileDataPointer_1a239: ; 0x1a239 - dbw $01, DiglettTileData_1aa3a + dbw $01, DiglettTileData_1aa3a DiglettTileDataPointer_1a23c: ; 0x1a23c - dbw $01, DiglettTileData_1aa48 + dbw $01, DiglettTileData_1aa48 DiglettTileDataPointer_1a23f: ; 0x1a23f - dbw $01, DiglettTileData_1aa56 + dbw $01, DiglettTileData_1aa56 DiglettTileDataPointer_1a242: ; 0x1a242 - dbw $01, DiglettTileData_1aa64 + dbw $01, DiglettTileData_1aa64 DiglettTileDataPointer_1a245: ; 0x1a245 - dbw $01, DiglettTileData_1aa72 + dbw $01, DiglettTileData_1aa72 DiglettTileDataPointer_1a248: ; 0x1a248 - dbw $01, DiglettTileData_1aa80 + dbw $01, DiglettTileData_1aa80 DiglettTileDataPointer_1a24b: ; 0x1a24b - dbw $01, DiglettTileData_1aa8e + dbw $01, DiglettTileData_1aa8e DiglettTileDataPointer_1a24e: ; 0x1a24e - dbw $01, DiglettTileData_1aa9c + dbw $01, DiglettTileData_1aa9c DiglettTileDataPointer_1a251: ; 0x1a251 - dbw $01, DiglettTileData_1aaaa + dbw $01, DiglettTileData_1aaaa DiglettTileDataPointer_1a254: ; 0x1a254 - dbw $01, DiglettTileData_1aab8 + dbw $01, DiglettTileData_1aab8 DiglettTileDataPointer_1a257: ; 0x1a257 - dbw $01, DiglettTileData_1aac6 + dbw $01, DiglettTileData_1aac6 DiglettTileData_1a25a: ; 0x1a25a - dw LoadTileLists - db $04 - db $02 - dw $9861 - db $35, $36 - db $02 - dw $9881 - db $37, $38 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9861 + db $35, $36 + db $02 + dw $9881 + db $37, $38 + db $00 ; terminator DiglettTileData_1a268: ; 0x1a268 - dw LoadTileLists - db $04 - db $02 - dw $9861 - db $39, $3A - db $02 - dw $9881 - db $3B, $3C - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9861 + db $39, $3A + db $02 + dw $9881 + db $3B, $3C + db $00 ; terminator DiglettTileData_1a276: ; 0x1a276 - dw LoadTileLists - db $04 - db $02 - dw $9861 - db $3D, $3E - db $02 - dw $9881 - db $3F, $40 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9861 + db $3D, $3E + db $02 + dw $9881 + db $3F, $40 + db $00 ; terminator DiglettTileData_1a284: ; 0x1a284 - dw LoadTileLists - db $04 - db $02 - dw $9861 - db $41, $42 - db $02 - dw $9881 - db $43, $44 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9861 + db $41, $42 + db $02 + dw $9881 + db $43, $44 + db $00 ; terminator DiglettTileData_1a292: ; 0x1a292 - dw LoadTileLists - db $04 - db $02 - dw $9861 - db $45, $46 - db $02 - dw $9881 - db $47, $48 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9861 + db $45, $46 + db $02 + dw $9881 + db $47, $48 + db $00 ; terminator DiglettTileData_1a2a0: ; 0x1a2a0 - dw LoadTileLists - db $04 - db $02 - dw $98A1 - db $35, $36 - db $02 - dw $98C1 - db $37, $38 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98A1 + db $35, $36 + db $02 + dw $98C1 + db $37, $38 + db $00 ; terminator DiglettTileData_1a2ae: ; 0x1a2ae - dw LoadTileLists - db $04 - db $02 - dw $98A1 - db $39, $3A - db $02 - dw $98C1 - db $3B, $3C - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98A1 + db $39, $3A + db $02 + dw $98C1 + db $3B, $3C + db $00 ; terminator DiglettTileData_1a2bc: ; 0x1a2bc - dw LoadTileLists - db $04 - db $02 - dw $98A1 - db $3D, $3E - db $02 - dw $98C1 - db $3F, $40 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98A1 + db $3D, $3E + db $02 + dw $98C1 + db $3F, $40 + db $00 ; terminator DiglettTileData_1a2ca: ; 0x1a2ca - dw LoadTileLists - db $04 - db $02 - dw $98A1 - db $41, $42 - db $02 - dw $98C1 - db $43, $44 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98A1 + db $41, $42 + db $02 + dw $98C1 + db $43, $44 + db $00 ; terminator DiglettTileData_1a2d8: ; 0x1a2d8 - dw LoadTileLists - db $04 - db $02 - dw $98A1 - db $45, $46 - db $02 - dw $98C1 - db $47, $48 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98A1 + db $45, $46 + db $02 + dw $98C1 + db $47, $48 + db $00 ; terminator DiglettTileData_1a2e6: ; 0x1a2e6 - dw LoadTileLists - db $04 - db $02 - dw $98E1 - db $35, $36 - db $02 - dw $9901 - db $37, $38 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98E1 + db $35, $36 + db $02 + dw $9901 + db $37, $38 + db $00 ; terminator DiglettTileData_1a2f4: ; 0x1a2f4 - dw LoadTileLists - db $04 - db $02 - dw $98E1 - db $39, $3A - db $02 - dw $9901 - db $3B, $3C - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98E1 + db $39, $3A + db $02 + dw $9901 + db $3B, $3C + db $00 ; terminator DiglettTileData_1a302: ; 0x1a302 - dw LoadTileLists - db $04 - db $02 - dw $98E1 - db $3D, $3E - db $02 - dw $9901 - db $3F, $40 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98E1 + db $3D, $3E + db $02 + dw $9901 + db $3F, $40 + db $00 ; terminator DiglettTileData_1a310: ; 0x1a310 - dw LoadTileLists - db $04 - db $02 - dw $98E1 - db $41, $42 - db $02 - dw $9901 - db $43, $44 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98E1 + db $41, $42 + db $02 + dw $9901 + db $43, $44 + db $00 ; terminator DiglettTileData_1a31e: ; 0x1a31e - dw LoadTileLists - db $04 - db $02 - dw $98E1 - db $45, $46 - db $02 - dw $9901 - db $47, $48 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98E1 + db $45, $46 + db $02 + dw $9901 + db $47, $48 + db $00 ; terminator DiglettTileData_1a32c: ; 0x1a32c - dw LoadTileLists - db $04 - db $02 - dw $9883 - db $35, $36 - db $02 - dw $98A3 - db $37, $38 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9883 + db $35, $36 + db $02 + dw $98A3 + db $37, $38 + db $00 ; terminator DiglettTileData_1a33a: ; 0x1a33a - dw LoadTileLists - db $04 - db $02 - dw $9883 - db $39, $3A - db $02 - dw $98A3 - db $3B, $3C - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9883 + db $39, $3A + db $02 + dw $98A3 + db $3B, $3C + db $00 ; terminator DiglettTileData_1a348: ; 0x1a348 - dw LoadTileLists - db $04 - db $02 - dw $9883 - db $3D, $3E - db $02 - dw $98A3 - db $3F, $40 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9883 + db $3D, $3E + db $02 + dw $98A3 + db $3F, $40 + db $00 ; terminator DiglettTileData_1a356: ; 0x1a356 - dw LoadTileLists - db $04 - db $02 - dw $9883 - db $41, $42 - db $02 - dw $98A3 - db $43, $44 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9883 + db $41, $42 + db $02 + dw $98A3 + db $43, $44 + db $00 ; terminator DiglettTileData_1a364: ; 0x1a364 - dw LoadTileLists - db $04 - db $02 - dw $9883 - db $45, $46 - db $02 - dw $98A3 - db $47, $48 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9883 + db $45, $46 + db $02 + dw $98A3 + db $47, $48 + db $00 ; terminator DiglettTileData_1a372: ; 0x1a372 - dw LoadTileLists - db $04 - db $02 - dw $98C3 - db $35, $36 - db $02 - dw $98E3 - db $37, $38 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98C3 + db $35, $36 + db $02 + dw $98E3 + db $37, $38 + db $00 ; terminator DiglettTileData_1a380: ; 0x1a380 - dw LoadTileLists - db $04 - db $02 - dw $98C3 - db $39, $3A - db $02 - dw $98E3 - db $3B, $3C - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98C3 + db $39, $3A + db $02 + dw $98E3 + db $3B, $3C + db $00 ; terminator DiglettTileData_1a38e: ; 0x1a38e - dw LoadTileLists - db $04 - db $02 - dw $98C3 - db $3D, $3E - db $02 - dw $98E3 - db $3F, $40 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98C3 + db $3D, $3E + db $02 + dw $98E3 + db $3F, $40 + db $00 ; terminator DiglettTileData_1a39c: ; 0x1a39c - dw LoadTileLists - db $04 - db $02 - dw $98C3 - db $41, $42 - db $02 - dw $98E3 - db $43, $44 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98C3 + db $41, $42 + db $02 + dw $98E3 + db $43, $44 + db $00 ; terminator DiglettTileData_1a3aa: ; 0x1a3aa - dw LoadTileLists - db $04 - db $02 - dw $98C3 - db $45, $46 - db $02 - dw $98E3 - db $47, $48 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98C3 + db $45, $46 + db $02 + dw $98E3 + db $47, $48 + db $00 ; terminator DiglettTileData_1a3b8: ; 0x1a3b8 - dw LoadTileLists - db $04 - db $02 - dw $9903 - db $35, $36 - db $02 - dw $9923 - db $37, $38 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9903 + db $35, $36 + db $02 + dw $9923 + db $37, $38 + db $00 ; terminator DiglettTileData_1a3c6: ; 0x1a3c6 - dw LoadTileLists - db $04 - db $02 - dw $9903 - db $39, $3A - db $02 - dw $9923 - db $3B, $3C - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9903 + db $39, $3A + db $02 + dw $9923 + db $3B, $3C + db $00 ; terminator DiglettTileData_1a3d4: ; 0x1a3d4 - dw LoadTileLists - db $04 - db $02 - dw $9903 - db $3D, $3E - db $02 - dw $9923 - db $3F, $40 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9903 + db $3D, $3E + db $02 + dw $9923 + db $3F, $40 + db $00 ; terminator DiglettTileData_1a3e2: ; 0x1a3e2 - dw LoadTileLists - db $04 - db $02 - dw $9903 - db $41, $42 - db $02 - dw $9923 - db $43, $44 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9903 + db $41, $42 + db $02 + dw $9923 + db $43, $44 + db $00 ; terminator DiglettTileData_1a3f0: ; 0x1a3f0 - dw LoadTileLists - db $04 - db $02 - dw $9903 - db $45, $46 - db $02 - dw $9923 - db $47, $48 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9903 + db $45, $46 + db $02 + dw $9923 + db $47, $48 + db $00 ; terminator DiglettTileData_1a3fe: ; 0x1a3fe - dw LoadTileLists - db $04 - db $02 - dw $9865 - db $35, $36 - db $02 - dw $9885 - db $37, $38 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9865 + db $35, $36 + db $02 + dw $9885 + db $37, $38 + db $00 ; terminator DiglettTileData_1a40c: ; 0x1a40c - dw LoadTileLists - db $04 - db $02 - dw $9865 - db $39, $3A - db $02 - dw $9885 - db $3B, $3C - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9865 + db $39, $3A + db $02 + dw $9885 + db $3B, $3C + db $00 ; terminator DiglettTileData_1a41a: ; 0x1a41a - dw LoadTileLists - db $04 - db $02 - dw $9865 - db $3D, $3E - db $02 - dw $9885 - db $3F, $40 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9865 + db $3D, $3E + db $02 + dw $9885 + db $3F, $40 + db $00 ; terminator DiglettTileData_1a428: ; 0x1a428 - dw LoadTileLists - db $04 - db $02 - dw $9865 - db $41, $42 - db $02 - dw $9885 - db $43, $44 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9865 + db $41, $42 + db $02 + dw $9885 + db $43, $44 + db $00 ; terminator DiglettTileData_1a436: ; 0x1a436 - dw LoadTileLists - db $04 - db $02 - dw $9865 - db $45, $46 - db $02 - dw $9885 - db $47, $48 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9865 + db $45, $46 + db $02 + dw $9885 + db $47, $48 + db $00 ; terminator DiglettTileData_1a444: ; 0x1a444 - dw LoadTileLists - db $04 - db $02 - dw $98A5 - db $35, $36 - db $02 - dw $98C5 - db $37, $38 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98A5 + db $35, $36 + db $02 + dw $98C5 + db $37, $38 + db $00 ; terminator DiglettTileData_1a452: ; 0x1a452 - dw LoadTileLists - db $04 - db $02 - dw $98A5 - db $39, $3A - db $02 - dw $98C5 - db $3B, $3C - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98A5 + db $39, $3A + db $02 + dw $98C5 + db $3B, $3C + db $00 ; terminator DiglettTileData_1a460: ; 0x1a460 - dw LoadTileLists - db $04 - db $02 - dw $98A5 - db $3D, $3E - db $02 - dw $98C5 - db $3F, $40 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98A5 + db $3D, $3E + db $02 + dw $98C5 + db $3F, $40 + db $00 ; terminator DiglettTileData_1a46e: ; 0x1a46e - dw LoadTileLists - db $04 - db $02 - dw $98A5 - db $41, $42 - db $02 - dw $98C5 - db $43, $44 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98A5 + db $41, $42 + db $02 + dw $98C5 + db $43, $44 + db $00 ; terminator DiglettTileData_1a47c: ; 0x1a47c - dw LoadTileLists - db $04 - db $02 - dw $98A5 - db $45, $46 - db $02 - dw $98C5 - db $47, $48 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98A5 + db $45, $46 + db $02 + dw $98C5 + db $47, $48 + db $00 ; terminator DiglettTileData_1a48a: ; 0x1a48a - dw LoadTileLists - db $04 - db $02 - dw $98E5 - db $35, $36 - db $02 - dw $9905 - db $37, $38 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98E5 + db $35, $36 + db $02 + dw $9905 + db $37, $38 + db $00 ; terminator DiglettTileData_1a498: ; 0x1a498 - dw LoadTileLists - db $04 - db $02 - dw $98E5 - db $39, $3A - db $02 - dw $9905 - db $3B, $3C - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98E5 + db $39, $3A + db $02 + dw $9905 + db $3B, $3C + db $00 ; terminator DiglettTileData_1a4a6: ; 0x1a4a6 - dw LoadTileLists - db $04 - db $02 - dw $98E5 - db $3D, $3E - db $02 - dw $9905 - db $3F, $40 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98E5 + db $3D, $3E + db $02 + dw $9905 + db $3F, $40 + db $00 ; terminator DiglettTileData_1a4b4: ; 0x1a4b4 - dw LoadTileLists - db $04 - db $02 - dw $98E5 - db $41, $42 - db $02 - dw $9905 - db $43, $44 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98E5 + db $41, $42 + db $02 + dw $9905 + db $43, $44 + db $00 ; terminator DiglettTileData_1a4c2: ; 0x1a4c2 - dw LoadTileLists - db $04 - db $02 - dw $98E5 - db $45, $46 - db $02 - dw $9905 - db $47, $48 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98E5 + db $45, $46 + db $02 + dw $9905 + db $47, $48 + db $00 ; terminator DiglettTileData_1a4d0: ; 0x1a4d0 - dw LoadTileLists - db $04 - db $02 - dw $9925 - db $35, $36 - db $02 - dw $9945 - db $37, $38 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9925 + db $35, $36 + db $02 + dw $9945 + db $37, $38 + db $00 ; terminator DiglettTileData_1a4de: ; 0x1a4de - dw LoadTileLists - db $04 - db $02 - dw $9925 - db $39, $3A - db $02 - dw $9945 - db $3B, $3C - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9925 + db $39, $3A + db $02 + dw $9945 + db $3B, $3C + db $00 ; terminator DiglettTileData_1a4ec: ; 0x1a4ec - dw LoadTileLists - db $04 - db $02 - dw $9925 - db $3D, $3E - db $02 - dw $9945 - db $3F, $40 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9925 + db $3D, $3E + db $02 + dw $9945 + db $3F, $40 + db $00 ; terminator DiglettTileData_1a4fa: ; 0x1a4fa - dw LoadTileLists - db $04 - db $02 - dw $9925 - db $41, $42 - db $02 - dw $9945 - db $43, $44 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9925 + db $41, $42 + db $02 + dw $9945 + db $43, $44 + db $00 ; terminator DiglettTileData_1a508: ; 0x1a508 - dw LoadTileLists - db $04 - db $02 - dw $9925 - db $45, $46 - db $02 - dw $9945 - db $47, $48 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9925 + db $45, $46 + db $02 + dw $9945 + db $47, $48 + db $00 ; terminator DiglettTileData_1a516: ; 0x1a516 - dw LoadTileLists - db $04 - db $02 - dw $9887 - db $35, $36 - db $02 - dw $98A7 - db $37, $38 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9887 + db $35, $36 + db $02 + dw $98A7 + db $37, $38 + db $00 ; terminator DiglettTileData_1a524: ; 0x1a524 - dw LoadTileLists - db $04 - db $02 - dw $9887 - db $39, $3A - db $02 - dw $98A7 - db $3B, $3C - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9887 + db $39, $3A + db $02 + dw $98A7 + db $3B, $3C + db $00 ; terminator DiglettTileData_1a532: ; 0x1a532 - dw LoadTileLists - db $04 - db $02 - dw $9887 - db $3D, $3E - db $02 - dw $98A7 - db $3F, $40 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9887 + db $3D, $3E + db $02 + dw $98A7 + db $3F, $40 + db $00 ; terminator DiglettTileData_1a540: ; 0x1a540 - dw LoadTileLists - db $04 - db $02 - dw $9887 - db $41, $42 - db $02 - dw $98A7 - db $43, $44 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9887 + db $41, $42 + db $02 + dw $98A7 + db $43, $44 + db $00 ; terminator DiglettTileData_1a54e: ; 0x1a54e - dw LoadTileLists - db $04 - db $02 - dw $9887 - db $45, $46 - db $02 - dw $98A7 - db $47, $48 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9887 + db $45, $46 + db $02 + dw $98A7 + db $47, $48 + db $00 ; terminator DiglettTileData_1a55c: ; 0x1a55c - dw LoadTileLists - db $04 - db $02 - dw $98C7 - db $35, $36 - db $02 - dw $98E7 - db $37, $38 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98C7 + db $35, $36 + db $02 + dw $98E7 + db $37, $38 + db $00 ; terminator DiglettTileData_1a56a: ; 0x1a56a - dw LoadTileLists - db $04 - db $02 - dw $98C7 - db $39, $3A - db $02 - dw $98E7 - db $3B, $3C - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98C7 + db $39, $3A + db $02 + dw $98E7 + db $3B, $3C + db $00 ; terminator DiglettTileData_1a578: ; 0x1a578 - dw LoadTileLists - db $04 - db $02 - dw $98C7 - db $3D, $3E - db $02 - dw $98E7 - db $3F, $40 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98C7 + db $3D, $3E + db $02 + dw $98E7 + db $3F, $40 + db $00 ; terminator DiglettTileData_1a586: ; 0x1a586 - dw LoadTileLists - db $04 - db $02 - dw $98C7 - db $41, $42 - db $02 - dw $98E7 - db $43, $44 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98C7 + db $41, $42 + db $02 + dw $98E7 + db $43, $44 + db $00 ; terminator DiglettTileData_1a594: ; 0x1a594 - dw LoadTileLists - db $04 - db $02 - dw $98C7 - db $45, $46 - db $02 - dw $98E7 - db $47, $48 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98C7 + db $45, $46 + db $02 + dw $98E7 + db $47, $48 + db $00 ; terminator DiglettTileData_1a5a2: ; 0x1a5a2 - dw LoadTileLists - db $04 - db $02 - dw $9907 - db $35, $36 - db $02 - dw $9927 - db $37, $38 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9907 + db $35, $36 + db $02 + dw $9927 + db $37, $38 + db $00 ; terminator DiglettTileData_1a5b0: ; 0x1a5b0 - dw LoadTileLists - db $04 - db $02 - dw $9907 - db $39, $3A - db $02 - dw $9927 - db $3B, $3C - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9907 + db $39, $3A + db $02 + dw $9927 + db $3B, $3C + db $00 ; terminator DiglettTileData_1a5be: ; 0x1a5be - dw LoadTileLists - db $04 - db $02 - dw $9907 - db $3D, $3E - db $02 - dw $9927 - db $3F, $40 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9907 + db $3D, $3E + db $02 + dw $9927 + db $3F, $40 + db $00 ; terminator DiglettTileData_1a5cc: ; 0x1a5cc - dw LoadTileLists - db $04 - db $02 - dw $9907 - db $41, $42 - db $02 - dw $9927 - db $43, $44 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9907 + db $41, $42 + db $02 + dw $9927 + db $43, $44 + db $00 ; terminator DiglettTileData_1a5da: ; 0x1a5da - dw LoadTileLists - db $04 - db $02 - dw $9907 - db $45, $46 - db $02 - dw $9927 - db $47, $48 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9907 + db $45, $46 + db $02 + dw $9927 + db $47, $48 + db $00 ; terminator DiglettTileData_1a5e8: ; 0x1a5e8 - dw LoadTileLists - db $04 - db $02 - dw $9947 - db $35, $36 - db $02 - dw $9967 - db $37, $38 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9947 + db $35, $36 + db $02 + dw $9967 + db $37, $38 + db $00 ; terminator DiglettTileData_1a5f6: ; 0x1a5f6 - dw LoadTileLists - db $04 - db $02 - dw $9947 - db $39, $3A - db $02 - dw $9967 - db $3B, $3C - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9947 + db $39, $3A + db $02 + dw $9967 + db $3B, $3C + db $00 ; terminator DiglettTileData_1a604: ; 0x1a604 - dw LoadTileLists - db $04 - db $02 - dw $9947 - db $3D, $3E - db $02 - dw $9967 - db $3F, $40 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9947 + db $3D, $3E + db $02 + dw $9967 + db $3F, $40 + db $00 ; terminator DiglettTileData_1a612: ; 0x1a612 - dw LoadTileLists - db $04 - db $02 - dw $9947 - db $41, $42 - db $02 - dw $9967 - db $43, $44 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9947 + db $41, $42 + db $02 + dw $9967 + db $43, $44 + db $00 ; terminator DiglettTileData_1a620: ; 0x1a620 - dw LoadTileLists - db $04 - db $02 - dw $9947 - db $45, $46 - db $02 - dw $9967 - db $47, $48 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9947 + db $45, $46 + db $02 + dw $9967 + db $47, $48 + db $00 ; terminator DiglettTileData_1a62e: ; 0x1a62e - dw LoadTileLists - db $04 - db $02 - dw $98A9 - db $35, $36 - db $02 - dw $98C9 - db $37, $38 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98A9 + db $35, $36 + db $02 + dw $98C9 + db $37, $38 + db $00 ; terminator DiglettTileData_1a63c: ; 0x1a63c - dw LoadTileLists - db $04 - db $02 - dw $98A9 - db $39, $3A - db $02 - dw $98C9 - db $3B, $3C - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98A9 + db $39, $3A + db $02 + dw $98C9 + db $3B, $3C + db $00 ; terminator DiglettTileData_1a64a: ; 0x1a64a - dw LoadTileLists - db $04 - db $02 - dw $98A9 - db $3D, $3E - db $02 - dw $98C9 - db $3F, $40 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98A9 + db $3D, $3E + db $02 + dw $98C9 + db $3F, $40 + db $00 ; terminator DiglettTileData_1a658: ; 0x1a658 - dw LoadTileLists - db $04 - db $02 - dw $98A9 - db $41, $42 - db $02 - dw $98C9 - db $43, $44 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98A9 + db $41, $42 + db $02 + dw $98C9 + db $43, $44 + db $00 ; terminator DiglettTileData_1a666: ; 0x1a666 - dw LoadTileLists - db $04 - db $02 - dw $98A9 - db $45, $46 - db $02 - dw $98C9 - db $47, $48 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98A9 + db $45, $46 + db $02 + dw $98C9 + db $47, $48 + db $00 ; terminator DiglettTileData_1a674: ; 0x1a674 - dw LoadTileLists - db $04 - db $02 - dw $98E9 - db $35, $36 - db $02 - dw $9909 - db $37, $38 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98E9 + db $35, $36 + db $02 + dw $9909 + db $37, $38 + db $00 ; terminator DiglettTileData_1a682: ; 0x1a682 - dw LoadTileLists - db $04 - db $02 - dw $98E9 - db $39, $3A - db $02 - dw $9909 - db $3B, $3C - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98E9 + db $39, $3A + db $02 + dw $9909 + db $3B, $3C + db $00 ; terminator DiglettTileData_1a690: ; 0x1a690 - dw LoadTileLists - db $04 - db $02 - dw $98E9 - db $3D, $3E - db $02 - dw $9909 - db $3F, $40 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98E9 + db $3D, $3E + db $02 + dw $9909 + db $3F, $40 + db $00 ; terminator DiglettTileData_1a69e: ; 0x1a69e - dw LoadTileLists - db $04 - db $02 - dw $98E9 - db $41, $42 - db $02 - dw $9909 - db $43, $44 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98E9 + db $41, $42 + db $02 + dw $9909 + db $43, $44 + db $00 ; terminator DiglettTileData_1a6ac: ; 0x1a6ac - dw LoadTileLists - db $04 - db $02 - dw $98E9 - db $45, $46 - db $02 - dw $9909 - db $47, $48 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98E9 + db $45, $46 + db $02 + dw $9909 + db $47, $48 + db $00 ; terminator DiglettTileData_1a6ba: ; 0x1a6ba - dw LoadTileLists - db $04 - db $02 - dw $9929 - db $35, $36 - db $02 - dw $9949 - db $37, $38 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9929 + db $35, $36 + db $02 + dw $9949 + db $37, $38 + db $00 ; terminator DiglettTileData_1a6c8: ; 0x1a6c8 - dw LoadTileLists - db $04 - db $02 - dw $9929 - db $39, $3A - db $02 - dw $9949 - db $3B, $3C - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9929 + db $39, $3A + db $02 + dw $9949 + db $3B, $3C + db $00 ; terminator DiglettTileData_1a6d6: ; 0x1a6d6 - dw LoadTileLists - db $04 - db $02 - dw $9929 - db $3D, $3E - db $02 - dw $9949 - db $3F, $40 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9929 + db $3D, $3E + db $02 + dw $9949 + db $3F, $40 + db $00 ; terminator DiglettTileData_1a6e4: ; 0x1a6e4 - dw LoadTileLists - db $04 - db $02 - dw $9929 - db $41, $42 - db $02 - dw $9949 - db $43, $44 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9929 + db $41, $42 + db $02 + dw $9949 + db $43, $44 + db $00 ; terminator DiglettTileData_1a6f2: ; 0x1a6f2 - dw LoadTileLists - db $04 - db $02 - dw $9929 - db $45, $46 - db $02 - dw $9949 - db $47, $48 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9929 + db $45, $46 + db $02 + dw $9949 + db $47, $48 + db $00 ; terminator DiglettTileData_1a700: ; 0x1a700 - dw LoadTileLists - db $04 - db $02 - dw $988B - db $35, $36 - db $02 - dw $98AB - db $37, $38 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $988B + db $35, $36 + db $02 + dw $98AB + db $37, $38 + db $00 ; terminator DiglettTileData_1a70e: ; 0x1a70e - dw LoadTileLists - db $04 - db $02 - dw $988B - db $39, $3A - db $02 - dw $98AB - db $3B, $3C - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $988B + db $39, $3A + db $02 + dw $98AB + db $3B, $3C + db $00 ; terminator DiglettTileData_1a71c: ; 0x1a71c - dw LoadTileLists - db $04 - db $02 - dw $988B - db $3D, $3E - db $02 - dw $98AB - db $3F, $40 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $988B + db $3D, $3E + db $02 + dw $98AB + db $3F, $40 + db $00 ; terminator DiglettTileData_1a72a: ; 0x1a72a - dw LoadTileLists - db $04 - db $02 - dw $988B - db $41, $42 - db $02 - dw $98AB - db $43, $44 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $988B + db $41, $42 + db $02 + dw $98AB + db $43, $44 + db $00 ; terminator DiglettTileData_1a738: ; 0x1a738 - dw LoadTileLists - db $04 - db $02 - dw $988B - db $45, $46 - db $02 - dw $98AB - db $47, $48 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $988B + db $45, $46 + db $02 + dw $98AB + db $47, $48 + db $00 ; terminator DiglettTileData_1a746: ; 0x1a746 - dw LoadTileLists - db $04 - db $02 - dw $98CB - db $35, $36 - db $02 - dw $98EB - db $37, $38 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98CB + db $35, $36 + db $02 + dw $98EB + db $37, $38 + db $00 ; terminator DiglettTileData_1a754: ; 0x1a754 - dw LoadTileLists - db $04 - db $02 - dw $98CB - db $39, $3A - db $02 - dw $98EB - db $3B, $3C - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98CB + db $39, $3A + db $02 + dw $98EB + db $3B, $3C + db $00 ; terminator DiglettTileData_1a762: ; 0x1a762 - dw LoadTileLists - db $04 - db $02 - dw $98CB - db $3D, $3E - db $02 - dw $98EB - db $3F, $40 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98CB + db $3D, $3E + db $02 + dw $98EB + db $3F, $40 + db $00 ; terminator DiglettTileData_1a770: ; 0x1a770 - dw LoadTileLists - db $04 - db $02 - dw $98CB - db $41, $42 - db $02 - dw $98EB - db $43, $44 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98CB + db $41, $42 + db $02 + dw $98EB + db $43, $44 + db $00 ; terminator DiglettTileData_1a77e: ; 0x1a77e - dw LoadTileLists - db $04 - db $02 - dw $98CB - db $45, $46 - db $02 - dw $98EB - db $47, $48 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98CB + db $45, $46 + db $02 + dw $98EB + db $47, $48 + db $00 ; terminator DiglettTileData_1a78c: ; 0x1a78c - dw LoadTileLists - db $04 - db $02 - dw $990B - db $35, $36 - db $02 - dw $992B - db $37, $38 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $990B + db $35, $36 + db $02 + dw $992B + db $37, $38 + db $00 ; terminator DiglettTileData_1a79a: ; 0x1a79a - dw LoadTileLists - db $04 - db $02 - dw $990B - db $39, $3A - db $02 - dw $992B - db $3B, $3C - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $990B + db $39, $3A + db $02 + dw $992B + db $3B, $3C + db $00 ; terminator DiglettTileData_1a7a8: ; 0x1a7a8 - dw LoadTileLists - db $04 - db $02 - dw $990B - db $3D, $3E - db $02 - dw $992B - db $3F, $40 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $990B + db $3D, $3E + db $02 + dw $992B + db $3F, $40 + db $00 ; terminator DiglettTileData_1a7b6: ; 0x1a7b6 - dw LoadTileLists - db $04 - db $02 - dw $990B - db $41, $42 - db $02 - dw $992B - db $43, $44 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $990B + db $41, $42 + db $02 + dw $992B + db $43, $44 + db $00 ; terminator DiglettTileData_1a7c4: ; 0x1a7c4 - dw LoadTileLists - db $04 - db $02 - dw $990B - db $45, $46 - db $02 - dw $992B - db $47, $48 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $990B + db $45, $46 + db $02 + dw $992B + db $47, $48 + db $00 ; terminator DiglettTileData_1a7d2: ; 0x1a7d2 - dw LoadTileLists - db $04 - db $02 - dw $994B - db $35, $36 - db $02 - dw $996B - db $37, $38 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $994B + db $35, $36 + db $02 + dw $996B + db $37, $38 + db $00 ; terminator DiglettTileData_1a7e0: ; 0x1a7e0 - dw LoadTileLists - db $04 - db $02 - dw $994B - db $39, $3A - db $02 - dw $996B - db $3B, $3C - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $994B + db $39, $3A + db $02 + dw $996B + db $3B, $3C + db $00 ; terminator DiglettTileData_1a7ee: ; 0x1a7ee - dw LoadTileLists - db $04 - db $02 - dw $994B - db $3D, $3E - db $02 - dw $996B - db $3F, $40 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $994B + db $3D, $3E + db $02 + dw $996B + db $3F, $40 + db $00 ; terminator DiglettTileData_1a7fc: ; 0x1a7fc - dw LoadTileLists - db $04 - db $02 - dw $994B - db $41, $42 - db $02 - dw $996B - db $43, $44 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $994B + db $41, $42 + db $02 + dw $996B + db $43, $44 + db $00 ; terminator DiglettTileData_1a80a: ; 0x1a80a - dw LoadTileLists - db $04 - db $02 - dw $994B - db $45, $46 - db $02 - dw $996B - db $47, $48 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $994B + db $45, $46 + db $02 + dw $996B + db $47, $48 + db $00 ; terminator DiglettTileData_1a818: ; 0x1a818 - dw LoadTileLists - db $04 - db $02 - dw $986D - db $35, $36 - db $02 - dw $988D - db $37, $38 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $986D + db $35, $36 + db $02 + dw $988D + db $37, $38 + db $00 ; terminator DiglettTileData_1a826: ; 0x1a826 - dw LoadTileLists - db $04 - db $02 - dw $986D - db $39, $3A - db $02 - dw $988D - db $3B, $3C - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $986D + db $39, $3A + db $02 + dw $988D + db $3B, $3C + db $00 ; terminator DiglettTileData_1a834: ; 0x1a834 - dw LoadTileLists - db $04 - db $02 - dw $986D - db $3D, $3E - db $02 - dw $988D - db $3F, $40 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $986D + db $3D, $3E + db $02 + dw $988D + db $3F, $40 + db $00 ; terminator DiglettTileData_1a842: ; 0x1a842 - dw LoadTileLists - db $04 - db $02 - dw $986D - db $41, $42 - db $02 - dw $988D - db $43, $44 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $986D + db $41, $42 + db $02 + dw $988D + db $43, $44 + db $00 ; terminator DiglettTileData_1a850: ; 0x1a850 - dw LoadTileLists - db $04 - db $02 - dw $986D - db $45, $46 - db $02 - dw $988D - db $47, $48 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $986D + db $45, $46 + db $02 + dw $988D + db $47, $48 + db $00 ; terminator DiglettTileData_1a85e: ; 0x1a85e - dw LoadTileLists - db $04 - db $02 - dw $98AD - db $35, $36 - db $02 - dw $98CD - db $37, $38 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98AD + db $35, $36 + db $02 + dw $98CD + db $37, $38 + db $00 ; terminator DiglettTileData_1a86c: ; 0x1a86c - dw LoadTileLists - db $04 - db $02 - dw $98AD - db $39, $3A - db $02 - dw $98CD - db $3B, $3C - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98AD + db $39, $3A + db $02 + dw $98CD + db $3B, $3C + db $00 ; terminator DiglettTileData_1a87a: ; 0x1a87a - dw LoadTileLists - db $04 - db $02 - dw $98AD - db $3D, $3E - db $02 - dw $98CD - db $3F, $40 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98AD + db $3D, $3E + db $02 + dw $98CD + db $3F, $40 + db $00 ; terminator DiglettTileData_1a888: ; 0x1a888 - dw LoadTileLists - db $04 - db $02 - dw $98AD - db $41, $42 - db $02 - dw $98CD - db $43, $44 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98AD + db $41, $42 + db $02 + dw $98CD + db $43, $44 + db $00 ; terminator DiglettTileData_1a896: ; 0x1a896 - dw LoadTileLists - db $04 - db $02 - dw $98AD - db $45, $46 - db $02 - dw $98CD - db $47, $48 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98AD + db $45, $46 + db $02 + dw $98CD + db $47, $48 + db $00 ; terminator DiglettTileData_1a8a4: ; 0x1a8a4 - dw LoadTileLists - db $04 - db $02 - dw $98ED - db $35, $36 - db $02 - dw $990D - db $37, $38 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98ED + db $35, $36 + db $02 + dw $990D + db $37, $38 + db $00 ; terminator DiglettTileData_1a8b2: ; 0x1a8b2 - dw LoadTileLists - db $04 - db $02 - dw $98ED - db $39, $3A - db $02 - dw $990D - db $3B, $3C - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98ED + db $39, $3A + db $02 + dw $990D + db $3B, $3C + db $00 ; terminator DiglettTileData_1a8c0: ; 0x1a8c0 - dw LoadTileLists - db $04 - db $02 - dw $98ED - db $3D, $3E - db $02 - dw $990D - db $3F, $40 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98ED + db $3D, $3E + db $02 + dw $990D + db $3F, $40 + db $00 ; terminator DiglettTileData_1a8ce: ; 0x1a8ce - dw LoadTileLists - db $04 - db $02 - dw $98ED - db $41, $42 - db $02 - dw $990D - db $43, $44 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98ED + db $41, $42 + db $02 + dw $990D + db $43, $44 + db $00 ; terminator DiglettTileData_1a8dc: ; 0x1a8dc - dw LoadTileLists - db $04 - db $02 - dw $98ED - db $45, $46 - db $02 - dw $990D - db $47, $48 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98ED + db $45, $46 + db $02 + dw $990D + db $47, $48 + db $00 ; terminator DiglettTileData_1a8ea: ; 0x1a8ea - dw LoadTileLists - db $04 - db $02 - dw $992D - db $35, $36 - db $02 - dw $994D - db $37, $38 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $992D + db $35, $36 + db $02 + dw $994D + db $37, $38 + db $00 ; terminator DiglettTileData_1a8f8: ; 0x1a8f8 - dw LoadTileLists - db $04 - db $02 - dw $992D - db $39, $3A - db $02 - dw $994D - db $3B, $3C - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $992D + db $39, $3A + db $02 + dw $994D + db $3B, $3C + db $00 ; terminator DiglettTileData_1a906: ; 0x1a906 - dw LoadTileLists - db $04 - db $02 - dw $992D - db $3D, $3E - db $02 - dw $994D - db $3F, $40 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $992D + db $3D, $3E + db $02 + dw $994D + db $3F, $40 + db $00 ; terminator DiglettTileData_1a914: ; 0x1a914 - dw LoadTileLists - db $04 - db $02 - dw $992D - db $41, $42 - db $02 - dw $994D - db $43, $44 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $992D + db $41, $42 + db $02 + dw $994D + db $43, $44 + db $00 ; terminator DiglettTileData_1a922: ; 0x1a922 - dw LoadTileLists - db $04 - db $02 - dw $992D - db $45, $46 - db $02 - dw $994D - db $47, $48 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $992D + db $45, $46 + db $02 + dw $994D + db $47, $48 + db $00 ; terminator DiglettTileData_1a930: ; 0x1a930 - dw LoadTileLists - db $04 - db $02 - dw $988F - db $35, $36 - db $02 - dw $98AF - db $37, $38 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $988F + db $35, $36 + db $02 + dw $98AF + db $37, $38 + db $00 ; terminator DiglettTileData_1a93e: ; 0x1a93e - dw LoadTileLists - db $04 - db $02 - dw $988F - db $39, $3A - db $02 - dw $98AF - db $3B, $3C - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $988F + db $39, $3A + db $02 + dw $98AF + db $3B, $3C + db $00 ; terminator DiglettTileData_1a94c: ; 0x1a94c - dw LoadTileLists - db $04 - db $02 - dw $988F - db $3D, $3E - db $02 - dw $98AF - db $3F, $40 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $988F + db $3D, $3E + db $02 + dw $98AF + db $3F, $40 + db $00 ; terminator DiglettTileData_1a95a: ; 0x1a95a - dw LoadTileLists - db $04 - db $02 - dw $988F - db $41, $42 - db $02 - dw $98AF - db $43, $44 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $988F + db $41, $42 + db $02 + dw $98AF + db $43, $44 + db $00 ; terminator DiglettTileData_1a968: ; 0x1a968 - dw LoadTileLists - db $04 - db $02 - dw $988F - db $45, $46 - db $02 - dw $98AF - db $47, $48 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $988F + db $45, $46 + db $02 + dw $98AF + db $47, $48 + db $00 ; terminator DiglettTileData_1a976: ; 0x1a976 - dw LoadTileLists - db $04 - db $02 - dw $98CF - db $35, $36 - db $02 - dw $98EF - db $37, $38 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98CF + db $35, $36 + db $02 + dw $98EF + db $37, $38 + db $00 ; terminator DiglettTileData_1a984: ; 0x1a984 - dw LoadTileLists - db $04 - db $02 - dw $98CF - db $39, $3A - db $02 - dw $98EF - db $3B, $3C - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98CF + db $39, $3A + db $02 + dw $98EF + db $3B, $3C + db $00 ; terminator DiglettTileData_1a992: ; 0x1a992 - dw LoadTileLists - db $04 - db $02 - dw $98CF - db $3D, $3E - db $02 - dw $98EF - db $3F, $40 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98CF + db $3D, $3E + db $02 + dw $98EF + db $3F, $40 + db $00 ; terminator DiglettTileData_1a9a0: ; 0x1a9a0 - dw LoadTileLists - db $04 - db $02 - dw $98CF - db $41, $42 - db $02 - dw $98EF - db $43, $44 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98CF + db $41, $42 + db $02 + dw $98EF + db $43, $44 + db $00 ; terminator DiglettTileData_1a9ae: ; 0x1a9ae - dw LoadTileLists - db $04 - db $02 - dw $98CF - db $45, $46 - db $02 - dw $98EF - db $47, $48 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98CF + db $45, $46 + db $02 + dw $98EF + db $47, $48 + db $00 ; terminator DiglettTileData_1a9bc: ; 0x1a9bc - dw LoadTileLists - db $04 - db $02 - dw $990F - db $35, $36 - db $02 - dw $992F - db $37, $38 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $990F + db $35, $36 + db $02 + dw $992F + db $37, $38 + db $00 ; terminator DiglettTileData_1a9ca: ; 0x1a9ca - dw LoadTileLists - db $04 - db $02 - dw $990F - db $39, $3A - db $02 - dw $992F - db $3B, $3C - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $990F + db $39, $3A + db $02 + dw $992F + db $3B, $3C + db $00 ; terminator DiglettTileData_1a9d8: ; 0x1a9d8 - dw LoadTileLists - db $04 - db $02 - dw $990F - db $3D, $3E - db $02 - dw $992F - db $3F, $40 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $990F + db $3D, $3E + db $02 + dw $992F + db $3F, $40 + db $00 ; terminator DiglettTileData_1a9e6: ; 0x1a9e6 - dw LoadTileLists - db $04 - db $02 - dw $990F - db $41, $42 - db $02 - dw $992F - db $43, $44 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $990F + db $41, $42 + db $02 + dw $992F + db $43, $44 + db $00 ; terminator DiglettTileData_1a9f4: ; 0x1a9f4 - dw LoadTileLists - db $04 - db $02 - dw $990F - db $45, $46 - db $02 - dw $992F - db $47, $48 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $990F + db $45, $46 + db $02 + dw $992F + db $47, $48 + db $00 ; terminator DiglettTileData_1aa02: ; 0x1aa02 - dw LoadTileLists - db $04 - db $02 - dw $9871 - db $35, $36 - db $02 - dw $9891 - db $37, $38 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9871 + db $35, $36 + db $02 + dw $9891 + db $37, $38 + db $00 ; terminator DiglettTileData_1aa10: ; 0x1aa10 - dw LoadTileLists - db $04 - db $02 - dw $9871 - db $39, $3A - db $02 - dw $9891 - db $3B, $3C - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9871 + db $39, $3A + db $02 + dw $9891 + db $3B, $3C + db $00 ; terminator DiglettTileData_1aa1e: ; 0x1aa1e - dw LoadTileLists - db $04 - db $02 - dw $9871 - db $3D, $3E - db $02 - dw $9891 - db $3F, $40 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9871 + db $3D, $3E + db $02 + dw $9891 + db $3F, $40 + db $00 ; terminator DiglettTileData_1aa2c: ; 0x1aa2c - dw LoadTileLists - db $04 - db $02 - dw $9871 - db $41, $42 - db $02 - dw $9891 - db $43, $44 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9871 + db $41, $42 + db $02 + dw $9891 + db $43, $44 + db $00 ; terminator DiglettTileData_1aa3a: ; 0x1aa3a - dw LoadTileLists - db $04 - db $02 - dw $9871 - db $45, $46 - db $02 - dw $9891 - db $47, $48 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $9871 + db $45, $46 + db $02 + dw $9891 + db $47, $48 + db $00 ; terminator DiglettTileData_1aa48: ; 0x1aa48 - dw LoadTileLists - db $04 - db $02 - dw $98B1 - db $35, $36 - db $02 - dw $98D1 - db $37, $38 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98B1 + db $35, $36 + db $02 + dw $98D1 + db $37, $38 + db $00 ; terminator DiglettTileData_1aa56: ; 0x1aa56 - dw LoadTileLists - db $04 - db $02 - dw $98B1 - db $39, $3A - db $02 - dw $98D1 - db $3B, $3C - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98B1 + db $39, $3A + db $02 + dw $98D1 + db $3B, $3C + db $00 ; terminator DiglettTileData_1aa64: ; 0x1aa64 - dw LoadTileLists - db $04 - db $02 - dw $98B1 - db $3D, $3E - db $02 - dw $98D1 - db $3F, $40 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98B1 + db $3D, $3E + db $02 + dw $98D1 + db $3F, $40 + db $00 ; terminator DiglettTileData_1aa72: ; 0x1aa72 - dw LoadTileLists - db $04 - db $02 - dw $98B1 - db $41, $42 - db $02 - dw $98D1 - db $43, $44 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98B1 + db $41, $42 + db $02 + dw $98D1 + db $43, $44 + db $00 ; terminator DiglettTileData_1aa80: ; 0x1aa80 - dw LoadTileLists - db $04 - db $02 - dw $98B1 - db $45, $46 - db $02 - dw $98D1 - db $47, $48 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98B1 + db $45, $46 + db $02 + dw $98D1 + db $47, $48 + db $00 ; terminator DiglettTileData_1aa8e: ; 0x1aa8e - dw LoadTileLists - db $04 - db $02 - dw $98F1 - db $35, $36 - db $02 - dw $9911 - db $37, $38 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98F1 + db $35, $36 + db $02 + dw $9911 + db $37, $38 + db $00 ; terminator DiglettTileData_1aa9c: ; 0x1aa9c - dw LoadTileLists - db $04 - db $02 - dw $98F1 - db $39, $3A - db $02 - dw $9911 - db $3B, $3C - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98F1 + db $39, $3A + db $02 + dw $9911 + db $3B, $3C + db $00 ; terminator DiglettTileData_1aaaa: ; 0x1aaaa - dw LoadTileLists - db $04 - db $02 - dw $98F1 - db $3D, $3E - db $02 - dw $9911 - db $3F, $40 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98F1 + db $3D, $3E + db $02 + dw $9911 + db $3F, $40 + db $00 ; terminator DiglettTileData_1aab8: ; 0x1aab8 - dw LoadTileLists - db $04 - db $02 - dw $98F1 - db $41, $42 - db $02 - dw $9911 - db $43, $44 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98F1 + db $41, $42 + db $02 + dw $9911 + db $43, $44 + db $00 ; terminator DiglettTileData_1aac6: ; 0x1aac6 - dw LoadTileLists - db $04 - db $02 - dw $98F1 - db $45, $46 - db $02 - dw $9911 - db $47, $48 - db $00 ; terminator + dw LoadTileLists + db $04 + db $02 + dw $98F1 + db $45, $46 + db $02 + dw $9911 + db $47, $48 + db $00 ; terminator diff --git a/data/evolution_lines.asm b/data/evolution_lines.asm index 8dc55c2..43f7308 100755 --- a/data/evolution_lines.asm +++ b/data/evolution_lines.asm @@ -1,81 +1,81 @@ EvolutionLineIds: ; 0x1161d ; Each byte corresponds to a mon in the PokeDex. - db EVOLINE_BULBASAUR, EVOLINE_BULBASAUR, EVOLINE_BULBASAUR - db EVOLINE_CHARMANDER, EVOLINE_CHARMANDER, EVOLINE_CHARMANDER - db EVOLINE_SQUIRTLE, EVOLINE_SQUIRTLE, EVOLINE_SQUIRTLE - db EVOLINE_CATERPIE, EVOLINE_CATERPIE, EVOLINE_CATERPIE - db EVOLINE_WEEDLE, EVOLINE_WEEDLE, EVOLINE_WEEDLE - db EVOLINE_PIDGEY, EVOLINE_PIDGEY, EVOLINE_PIDGEY - db EVOLINE_RATTATA, EVOLINE_RATTATA - db EVOLINE_SPEAROW, EVOLINE_SPEAROW - db EVOLINE_EKANS, EVOLINE_EKANS - db EVOLINE_PIKACHU, EVOLINE_PIKACHU - db EVOLINE_SANDSHREW, EVOLINE_SANDSHREW - db EVOLINE_NIDORAN_F, EVOLINE_NIDORAN_F, EVOLINE_NIDORAN_F - db EVOLINE_NIDORAN_M, EVOLINE_NIDORAN_M, EVOLINE_NIDORAN_M - db EVOLINE_CLEFAIRY, EVOLINE_CLEFAIRY - db EVOLINE_VULPIX, EVOLINE_VULPIX - db EVOLINE_JIGGLYPUFF, EVOLINE_JIGGLYPUFF - db EVOLINE_ZUBAT, EVOLINE_ZUBAT - db EVOLINE_ODDISH, EVOLINE_ODDISH, EVOLINE_ODDISH - db EVOLINE_PARAS,EVOLINE_PARAS - db EVOLINE_VENONAT,EVOLINE_VENONAT - db EVOLINE_DIGLETT, EVOLINE_DIGLETT - db EVOLINE_MEOWTH, EVOLINE_MEOWTH - db EVOLINE_PSYDUCK, EVOLINE_PSYDUCK - db EVOLINE_MANKEY, EVOLINE_MANKEY - db EVOLINE_GROWLITHE, EVOLINE_GROWLITHE - db EVOLINE_POLIWAG, EVOLINE_POLIWAG, EVOLINE_POLIWAG - db EVOLINE_ABRA, EVOLINE_ABRA, EVOLINE_ABRA - db EVOLINE_MACHOP, EVOLINE_MACHOP, EVOLINE_MACHOP - db EVOLINE_BELLSPROUT, EVOLINE_BELLSPROUT, EVOLINE_BELLSPROUT - db EVOLINE_TENTACOOL, EVOLINE_TENTACOOL - db EVOLINE_GEODUDE, EVOLINE_GEODUDE, EVOLINE_GEODUDE - db EVOLINE_PONYTA, EVOLINE_PONYTA - db EVOLINE_SLOWPOKE, EVOLINE_SLOWPOKE - db EVOLINE_MAGNEMITE, EVOLINE_MAGNEMITE - db EVOLINE_FARFETCH_D - db EVOLINE_DODUO, EVOLINE_DODUO - db EVOLINE_SEEL, EVOLINE_SEEL - db EVOLINE_GRIMER, EVOLINE_GRIMER - db EVOLINE_SHELLDER, EVOLINE_SHELLDER - db EVOLINE_GASTLY, EVOLINE_GASTLY, EVOLINE_GASTLY - db EVOLINE_ONIX - db EVOLINE_DROWZEE, EVOLINE_DROWZEE - db EVOLINE_KRABBY, EVOLINE_KRABBY - db EVOLINE_VOLTORB, EVOLINE_VOLTORB - db EVOLINE_EXEGGCUTE, EVOLINE_EXEGGCUTE - db EVOLINE_CUBONE, EVOLINE_CUBONE - db EVOLINE_HITMONLEE - db EVOLINE_HITMONCHAN - db EVOLINE_LICKITUNG - db EVOLINE_KOFFING, EVOLINE_KOFFING - db EVOLINE_RHYHORN, EVOLINE_RHYHORN - db EVOLINE_CHANSEY - db EVOLINE_TANGELA - db EVOLINE_KANGASKHAN - db EVOLINE_HORSEA, EVOLINE_HORSEA - db EVOLINE_GOLDEEN, EVOLINE_GOLDEEN - db EVOLINE_STARYU, EVOLINE_STARYU - db EVOLINE_MR_MIME - db EVOLINE_SCYTHER - db EVOLINE_JYNX - db EVOLINE_ELECTABUZZ - db EVOLINE_MAGMAR - db EVOLINE_PINSIR - db EVOLINE_TAUROS - db EVOLINE_MAGIKARP, EVOLINE_MAGIKARP - db EVOLINE_LAPRAS - db EVOLINE_DITTO - db EVOLINE_EEVEE, EVOLINE_EEVEE, EVOLINE_EEVEE, EVOLINE_EEVEE - db EVOLINE_PORYGON - db EVOLINE_OMANYTE, EVOLINE_OMANYTE - db EVOLINE_KABUTO, EVOLINE_KABUTO - db EVOLINE_AERODACTYL - db EVOLINE_SNORLAX - db EVOLINE_ARTICUNO - db EVOLINE_ZAPDOS - db EVOLINE_MOLTRES - db EVOLINE_DRATINI, EVOLINE_DRATINI, EVOLINE_DRATINI - db EVOLINE_MEWTWO - db EVOLINE_MEW + db EVOLINE_BULBASAUR, EVOLINE_BULBASAUR, EVOLINE_BULBASAUR + db EVOLINE_CHARMANDER, EVOLINE_CHARMANDER, EVOLINE_CHARMANDER + db EVOLINE_SQUIRTLE, EVOLINE_SQUIRTLE, EVOLINE_SQUIRTLE + db EVOLINE_CATERPIE, EVOLINE_CATERPIE, EVOLINE_CATERPIE + db EVOLINE_WEEDLE, EVOLINE_WEEDLE, EVOLINE_WEEDLE + db EVOLINE_PIDGEY, EVOLINE_PIDGEY, EVOLINE_PIDGEY + db EVOLINE_RATTATA, EVOLINE_RATTATA + db EVOLINE_SPEAROW, EVOLINE_SPEAROW + db EVOLINE_EKANS, EVOLINE_EKANS + db EVOLINE_PIKACHU, EVOLINE_PIKACHU + db EVOLINE_SANDSHREW, EVOLINE_SANDSHREW + db EVOLINE_NIDORAN_F, EVOLINE_NIDORAN_F, EVOLINE_NIDORAN_F + db EVOLINE_NIDORAN_M, EVOLINE_NIDORAN_M, EVOLINE_NIDORAN_M + db EVOLINE_CLEFAIRY, EVOLINE_CLEFAIRY + db EVOLINE_VULPIX, EVOLINE_VULPIX + db EVOLINE_JIGGLYPUFF, EVOLINE_JIGGLYPUFF + db EVOLINE_ZUBAT, EVOLINE_ZUBAT + db EVOLINE_ODDISH, EVOLINE_ODDISH, EVOLINE_ODDISH + db EVOLINE_PARAS,EVOLINE_PARAS + db EVOLINE_VENONAT,EVOLINE_VENONAT + db EVOLINE_DIGLETT, EVOLINE_DIGLETT + db EVOLINE_MEOWTH, EVOLINE_MEOWTH + db EVOLINE_PSYDUCK, EVOLINE_PSYDUCK + db EVOLINE_MANKEY, EVOLINE_MANKEY + db EVOLINE_GROWLITHE, EVOLINE_GROWLITHE + db EVOLINE_POLIWAG, EVOLINE_POLIWAG, EVOLINE_POLIWAG + db EVOLINE_ABRA, EVOLINE_ABRA, EVOLINE_ABRA + db EVOLINE_MACHOP, EVOLINE_MACHOP, EVOLINE_MACHOP + db EVOLINE_BELLSPROUT, EVOLINE_BELLSPROUT, EVOLINE_BELLSPROUT + db EVOLINE_TENTACOOL, EVOLINE_TENTACOOL + db EVOLINE_GEODUDE, EVOLINE_GEODUDE, EVOLINE_GEODUDE + db EVOLINE_PONYTA, EVOLINE_PONYTA + db EVOLINE_SLOWPOKE, EVOLINE_SLOWPOKE + db EVOLINE_MAGNEMITE, EVOLINE_MAGNEMITE + db EVOLINE_FARFETCH_D + db EVOLINE_DODUO, EVOLINE_DODUO + db EVOLINE_SEEL, EVOLINE_SEEL + db EVOLINE_GRIMER, EVOLINE_GRIMER + db EVOLINE_SHELLDER, EVOLINE_SHELLDER + db EVOLINE_GASTLY, EVOLINE_GASTLY, EVOLINE_GASTLY + db EVOLINE_ONIX + db EVOLINE_DROWZEE, EVOLINE_DROWZEE + db EVOLINE_KRABBY, EVOLINE_KRABBY + db EVOLINE_VOLTORB, EVOLINE_VOLTORB + db EVOLINE_EXEGGCUTE, EVOLINE_EXEGGCUTE + db EVOLINE_CUBONE, EVOLINE_CUBONE + db EVOLINE_HITMONLEE + db EVOLINE_HITMONCHAN + db EVOLINE_LICKITUNG + db EVOLINE_KOFFING, EVOLINE_KOFFING + db EVOLINE_RHYHORN, EVOLINE_RHYHORN + db EVOLINE_CHANSEY + db EVOLINE_TANGELA + db EVOLINE_KANGASKHAN + db EVOLINE_HORSEA, EVOLINE_HORSEA + db EVOLINE_GOLDEEN, EVOLINE_GOLDEEN + db EVOLINE_STARYU, EVOLINE_STARYU + db EVOLINE_MR_MIME + db EVOLINE_SCYTHER + db EVOLINE_JYNX + db EVOLINE_ELECTABUZZ + db EVOLINE_MAGMAR + db EVOLINE_PINSIR + db EVOLINE_TAUROS + db EVOLINE_MAGIKARP, EVOLINE_MAGIKARP + db EVOLINE_LAPRAS + db EVOLINE_DITTO + db EVOLINE_EEVEE, EVOLINE_EEVEE, EVOLINE_EEVEE, EVOLINE_EEVEE + db EVOLINE_PORYGON + db EVOLINE_OMANYTE, EVOLINE_OMANYTE + db EVOLINE_KABUTO, EVOLINE_KABUTO + db EVOLINE_AERODACTYL + db EVOLINE_SNORLAX + db EVOLINE_ARTICUNO + db EVOLINE_ZAPDOS + db EVOLINE_MOLTRES + db EVOLINE_DRATINI, EVOLINE_DRATINI, EVOLINE_DRATINI + db EVOLINE_MEWTWO + db EVOLINE_MEW diff --git a/data/mon_names.asm b/data/mon_names.asm index 53926e3..aaa5d2c 100755 --- a/data/mon_names.asm +++ b/data/mon_names.asm @@ -1,154 +1,154 @@ PokemonNames: ; 0x11a4e ; The first byte of each entry is the symbol displayed to the left of the mon's ; name in the evolution menu. Fully-evolved pokemon have an asterisk next to their names. - db " BULBASAUR@ " - db " IVYSAUR@ " - db "*VENUSAUR@ " - db " CHARMANDER@ " - db " CHARMELEON@ " - db "*CHARIZARD@ " - db " SQUIRTLE@ " - db " WARTORTLE@ " - db "*BLASTOISE@ " - db " CATERPIE@ " - db " METAPOD@ " - db "*BUTTERFREE@ " - db " WEEDLE@ " - db " KAKUNA@ " - db "*BEEDRILL@ " - db " PIDGEY@ " - db " PIDGEOTTO@ " - db "*PIDGEOT@ " - db " RATTATA@ " - db "*RATICATE@ " - db " SPEAROW@ " - db "*FEAROW@ " - db " EKANS@ " - db "*ARBOK@ " - db " PIKACHU@ " - db "*RAICHU@ " - db " SANDSHREW@ " - db "*SANDSLASH@ " - db " NIDORAN♂@ " - db " NIDORINA@ " - db "*NIDOQUEEN@ " - db " NIDORAN♀@ " - db " NIDORINO@ " - db "*NIDOKING@ " - db " CLEFAIRY@ " - db "*CLEFABLE@ " - db " VULPIX@ " - db "*NINETALES@ " - db " JIGGLYPUFF@ " - db "*WIGGLYTUFF@ " - db " ZUBAT@ " - db "*GOLBAT@ " - db " ODDISH@ " - db " GLOOM@ " - db "*VILEPLUME@ " - db " PARAS@ " - db "*PARASECT@ " - db " VENONAT@ " - db "*VENOMOTH@ " - db " DIGLETT@ " - db "*DUGTRIO@ " - db " MEOWTH@ " - db "*PERSIAN@ " - db " PSYDUCK@ " - db "*GOLDUCK@ " - db " MANKEY@ " - db "*PRIMEAPE@ " - db " GROWLITHE@ " - db "*ARCANINE@ " - db " POLIWAG@ " - db " POLIWHIRL@ " - db "*POLIWRATH@ " - db " ABRA@ " - db " KADABRA@ " - db "*ALAKAZAM@ " - db " MACHOP@ " - db " MACHOKE@ " - db "*MACHAMP@ " - db " BELLSPROUT@ " - db " WEEPINBELL@ " - db "*VICTREEBEL@ " - db " TENTACOOL@ " - db "*TENTACRUEL@ " - db " GEODUDE@ " - db " GRAVELER@ " - db "*GOLEM@ " - db " PONYTA@ " - db "*RAPIDASH@ " - db " SLOWPOKE@ " - db "*SLOWBRO@ " - db " MAGNEMITE@ " - db "*MAGNETON@ " - db "*FARFETCH'D@ " - db " DODUO@ " - db "*DODRIO@ " - db " SEEL@ " - db "*DEWGONG@ " - db " GRIMER@ " - db "*MUK@ " - db " SHELLDER@ " - db "*CLOYSTER@ " - db " GASTLY@ " - db " HAUNTER@ " - db "*GENGAR@ " - db "*ONIX@ " - db " DROWZEE@ " - db "*HYPNO@ " - db " KRABBY@ " - db "*KINGLER@ " - db " VOLTORB@ " - db "*ELECTRODE@ " - db " EXEGGCUTE@ " - db "*EXEGGUTOR@ " - db " CUBONE@ " - db "*MAROWAK@ " - db "*HITMONLEE@ " - db "*HITMONCHAN@ " - db "*LICKITUNG@ " - db " KOFFING@ " - db "*WEEZING@ " - db " RHYHORN@ " - db "*RHYDON@ " - db "*CHANSEY@ " - db "*TANGELA@ " - db "*KANGASKHAN@ " - db " HORSEA@ " - db "*SEADRA@ " - db " GOLDEEN@ " - db "*SEAKING@ " - db " STARYU@ " - db "*STARMIE@ " - db "*MR.MIME@ " - db "*SCYTHER@ " - db "*JYNX@ " - db "*ELECTABUZZ@ " - db "*MAGMAR@ " - db "*PINSIR@ " - db "*TAUROS@ " - db " MAGIKARP@ " - db "*GYARADOS@ " - db "*LAPRAS@ " - db "*DITTO@ " - db " EEVEE@ " - db "*VAPOREON@ " - db "*JOLTEON@ " - db "*FLAREON@ " - db "*PORYGON@ " - db " OMANYTE@ " - db "*OMASTAR@ " - db " KABUTO@ " - db "*KABUTOPS@ " - db "*AERODACTYL@ " - db "*SNORLAX@ " - db "*ARTICUNO@ " - db "*ZAPDOS@ " - db "*MOLTRES@ " - db " DRATINI@ " - db " DRAGONAIR@ " - db "*DRAGONITE@ " - db "*MEWTWO@ " - db "*MEW@ " + db " BULBASAUR@ " + db " IVYSAUR@ " + db "*VENUSAUR@ " + db " CHARMANDER@ " + db " CHARMELEON@ " + db "*CHARIZARD@ " + db " SQUIRTLE@ " + db " WARTORTLE@ " + db "*BLASTOISE@ " + db " CATERPIE@ " + db " METAPOD@ " + db "*BUTTERFREE@ " + db " WEEDLE@ " + db " KAKUNA@ " + db "*BEEDRILL@ " + db " PIDGEY@ " + db " PIDGEOTTO@ " + db "*PIDGEOT@ " + db " RATTATA@ " + db "*RATICATE@ " + db " SPEAROW@ " + db "*FEAROW@ " + db " EKANS@ " + db "*ARBOK@ " + db " PIKACHU@ " + db "*RAICHU@ " + db " SANDSHREW@ " + db "*SANDSLASH@ " + db " NIDORAN♂@ " + db " NIDORINA@ " + db "*NIDOQUEEN@ " + db " NIDORAN♀@ " + db " NIDORINO@ " + db "*NIDOKING@ " + db " CLEFAIRY@ " + db "*CLEFABLE@ " + db " VULPIX@ " + db "*NINETALES@ " + db " JIGGLYPUFF@ " + db "*WIGGLYTUFF@ " + db " ZUBAT@ " + db "*GOLBAT@ " + db " ODDISH@ " + db " GLOOM@ " + db "*VILEPLUME@ " + db " PARAS@ " + db "*PARASECT@ " + db " VENONAT@ " + db "*VENOMOTH@ " + db " DIGLETT@ " + db "*DUGTRIO@ " + db " MEOWTH@ " + db "*PERSIAN@ " + db " PSYDUCK@ " + db "*GOLDUCK@ " + db " MANKEY@ " + db "*PRIMEAPE@ " + db " GROWLITHE@ " + db "*ARCANINE@ " + db " POLIWAG@ " + db " POLIWHIRL@ " + db "*POLIWRATH@ " + db " ABRA@ " + db " KADABRA@ " + db "*ALAKAZAM@ " + db " MACHOP@ " + db " MACHOKE@ " + db "*MACHAMP@ " + db " BELLSPROUT@ " + db " WEEPINBELL@ " + db "*VICTREEBEL@ " + db " TENTACOOL@ " + db "*TENTACRUEL@ " + db " GEODUDE@ " + db " GRAVELER@ " + db "*GOLEM@ " + db " PONYTA@ " + db "*RAPIDASH@ " + db " SLOWPOKE@ " + db "*SLOWBRO@ " + db " MAGNEMITE@ " + db "*MAGNETON@ " + db "*FARFETCH'D@ " + db " DODUO@ " + db "*DODRIO@ " + db " SEEL@ " + db "*DEWGONG@ " + db " GRIMER@ " + db "*MUK@ " + db " SHELLDER@ " + db "*CLOYSTER@ " + db " GASTLY@ " + db " HAUNTER@ " + db "*GENGAR@ " + db "*ONIX@ " + db " DROWZEE@ " + db "*HYPNO@ " + db " KRABBY@ " + db "*KINGLER@ " + db " VOLTORB@ " + db "*ELECTRODE@ " + db " EXEGGCUTE@ " + db "*EXEGGUTOR@ " + db " CUBONE@ " + db "*MAROWAK@ " + db "*HITMONLEE@ " + db "*HITMONCHAN@ " + db "*LICKITUNG@ " + db " KOFFING@ " + db "*WEEZING@ " + db " RHYHORN@ " + db "*RHYDON@ " + db "*CHANSEY@ " + db "*TANGELA@ " + db "*KANGASKHAN@ " + db " HORSEA@ " + db "*SEADRA@ " + db " GOLDEEN@ " + db "*SEAKING@ " + db " STARYU@ " + db "*STARMIE@ " + db "*MR.MIME@ " + db "*SCYTHER@ " + db "*JYNX@ " + db "*ELECTABUZZ@ " + db "*MAGMAR@ " + db "*PINSIR@ " + db "*TAUROS@ " + db " MAGIKARP@ " + db "*GYARADOS@ " + db "*LAPRAS@ " + db "*DITTO@ " + db " EEVEE@ " + db "*VAPOREON@ " + db "*JOLTEON@ " + db "*FLAREON@ " + db "*PORYGON@ " + db " OMANYTE@ " + db "*OMASTAR@ " + db " KABUTO@ " + db "*KABUTOPS@ " + db "*AERODACTYL@ " + db "*SNORLAX@ " + db "*ARTICUNO@ " + db "*ZAPDOS@ " + db "*MOLTRES@ " + db " DRATINI@ " + db " DRAGONAIR@ " + db "*DRAGONITE@ " + db "*MEWTWO@ " + db "*MEW@ " diff --git a/data/red_wild_mons.asm b/data/red_wild_mons.asm index 60a4574..b9533ac 100755 --- a/data/red_wild_mons.asm +++ b/data/red_wild_mons.asm @@ -1,434 +1,434 @@ RedStageWildMons: ; 0x112cc RedStagePalletTownWildMons: ; 0x112cc - db BULBASAUR - db CHARMANDER - db CHARMANDER - db CHARMANDER - db CHARMANDER - db CHARMANDER - db CHARMANDER - db PIDGEY - db PIDGEY - db PIDGEY - db RATTATA - db RATTATA - db RATTATA - db NIDORAN_M - db POLIWAG - db TENTACOOL + db BULBASAUR + db CHARMANDER + db CHARMANDER + db CHARMANDER + db CHARMANDER + db CHARMANDER + db CHARMANDER + db PIDGEY + db PIDGEY + db PIDGEY + db RATTATA + db RATTATA + db RATTATA + db NIDORAN_M + db POLIWAG + db TENTACOOL RedStagePalletTownWildMonsRare: ; 0x112dc - db BULBASAUR - db BULBASAUR - db BULBASAUR - db CHARMANDER - db PIDGEY - db RATTATA - db NIDORAN_M - db NIDORAN_M - db NIDORAN_M - db POLIWAG - db POLIWAG - db POLIWAG - db POLIWAG - db TENTACOOL - db TENTACOOL - db TENTACOOL + db BULBASAUR + db BULBASAUR + db BULBASAUR + db CHARMANDER + db PIDGEY + db RATTATA + db NIDORAN_M + db NIDORAN_M + db NIDORAN_M + db POLIWAG + db POLIWAG + db POLIWAG + db POLIWAG + db TENTACOOL + db TENTACOOL + db TENTACOOL RedStageViridianForestWildMons: ; 0x112ec - db WEEDLE - db WEEDLE - db WEEDLE - db WEEDLE - db WEEDLE - db PIDGEY - db PIDGEY - db PIDGEY - db PIDGEY - db PIDGEY - db RATTATA - db RATTATA - db RATTATA - db RATTATA - db RATTATA - db PIKACHU + db WEEDLE + db WEEDLE + db WEEDLE + db WEEDLE + db WEEDLE + db PIDGEY + db PIDGEY + db PIDGEY + db PIDGEY + db PIDGEY + db RATTATA + db RATTATA + db RATTATA + db RATTATA + db RATTATA + db PIKACHU RedStageViridianForestWildMonsRare: ; 0x112fc - db CATERPIE - db CATERPIE - db WEEDLE - db WEEDLE - db WEEDLE - db PIDGEY - db PIDGEY - db RATTATA - db RATTATA - db PIKACHU - db PIKACHU - db PIKACHU - db PIKACHU - db PIKACHU - db PIKACHU - db PIKACHU + db CATERPIE + db CATERPIE + db WEEDLE + db WEEDLE + db WEEDLE + db PIDGEY + db PIDGEY + db RATTATA + db RATTATA + db PIKACHU + db PIKACHU + db PIKACHU + db PIKACHU + db PIKACHU + db PIKACHU + db PIKACHU RedStagePewterCityWildMons: ; 0x1130c - db PIDGEY - db PIDGEY - db SPEAROW - db SPEAROW - db SPEAROW - db SPEAROW - db SPEAROW - db SPEAROW - db EKANS - db JIGGLYPUFF - db JIGGLYPUFF - db JIGGLYPUFF - db JIGGLYPUFF - db JIGGLYPUFF - db MAGIKARP - db MAGIKARP + db PIDGEY + db PIDGEY + db SPEAROW + db SPEAROW + db SPEAROW + db SPEAROW + db SPEAROW + db SPEAROW + db EKANS + db JIGGLYPUFF + db JIGGLYPUFF + db JIGGLYPUFF + db JIGGLYPUFF + db JIGGLYPUFF + db MAGIKARP + db MAGIKARP RedStagePewterCityWildMonsRare: ; 0x1131c - db PIDGEY - db PIDGEY - db SPEAROW - db SPEAROW - db SPEAROW - db EKANS - db EKANS - db EKANS - db EKANS - db JIGGLYPUFF - db JIGGLYPUFF - db JIGGLYPUFF - db MAGIKARP - db MAGIKARP - db MAGIKARP - db MAGIKARP + db PIDGEY + db PIDGEY + db SPEAROW + db SPEAROW + db SPEAROW + db EKANS + db EKANS + db EKANS + db EKANS + db JIGGLYPUFF + db JIGGLYPUFF + db JIGGLYPUFF + db MAGIKARP + db MAGIKARP + db MAGIKARP + db MAGIKARP RedStageCeruleanCityWildMons: ; 0x1132c - db WEEDLE - db WEEDLE - db PIDGEY - db ODDISH - db ODDISH - db ODDISH - db ODDISH - db ODDISH - db PSYDUCK - db MANKEY - db MANKEY - db MANKEY - db ABRA - db ABRA - db KRABBY - db GOLDEEN + db WEEDLE + db WEEDLE + db PIDGEY + db ODDISH + db ODDISH + db ODDISH + db ODDISH + db ODDISH + db PSYDUCK + db MANKEY + db MANKEY + db MANKEY + db ABRA + db ABRA + db KRABBY + db GOLDEEN RedStageCeruleanCityWildMonsRare: ; 0x1133c - db CATERPIE - db NIDORAN_M - db ODDISH - db PSYDUCK - db PSYDUCK - db MANKEY - db MANKEY - db ABRA - db ABRA - db ABRA - db KRABBY - db GOLDEEN - db GOLDEEN - db JYNX - db JYNX - db JYNX + db CATERPIE + db NIDORAN_M + db ODDISH + db PSYDUCK + db PSYDUCK + db MANKEY + db MANKEY + db ABRA + db ABRA + db ABRA + db KRABBY + db GOLDEEN + db GOLDEEN + db JYNX + db JYNX + db JYNX RedStageVermilionSeasideWildMons: ; 0x1134c - db PIDGEY - db SPEAROW - db EKANS - db EKANS - db ODDISH - db ODDISH - db MANKEY - db MANKEY - db SHELLDER - db SHELLDER - db SHELLDER - db DROWZEE - db DROWZEE - db KRABBY - db KRABBY - db KRABBY + db PIDGEY + db SPEAROW + db EKANS + db EKANS + db ODDISH + db ODDISH + db MANKEY + db MANKEY + db SHELLDER + db SHELLDER + db SHELLDER + db DROWZEE + db DROWZEE + db KRABBY + db KRABBY + db KRABBY RedStageVermilionSeasideWildMonsRare: ; 0x1135c - db EKANS - db EKANS - db EKANS - db EKANS - db ODDISH - db MANKEY - db FARFETCH_D - db FARFETCH_D - db FARFETCH_D - db FARFETCH_D - db SHELLDER - db SHELLDER - db DROWZEE - db DROWZEE - db KRABBY - db KRABBY + db EKANS + db EKANS + db EKANS + db EKANS + db ODDISH + db MANKEY + db FARFETCH_D + db FARFETCH_D + db FARFETCH_D + db FARFETCH_D + db SHELLDER + db SHELLDER + db DROWZEE + db DROWZEE + db KRABBY + db KRABBY RedStageRockMountainWildMons: ; 0x1136c - db RATTATA - db SPEAROW - db EKANS - db EKANS - db EKANS - db ZUBAT - db DIGLETT - db DIGLETT - db DIGLETT - db MACHOP - db GEODUDE - db SLOWPOKE - db ONIX - db VOLTORB - db VOLTORB - db VOLTORB + db RATTATA + db SPEAROW + db EKANS + db EKANS + db EKANS + db ZUBAT + db DIGLETT + db DIGLETT + db DIGLETT + db MACHOP + db GEODUDE + db SLOWPOKE + db ONIX + db VOLTORB + db VOLTORB + db VOLTORB RedStageRockMountainWildMonsRare: ; 0x1137c - db ZUBAT - db ZUBAT - db DIGLETT - db MACHOP - db MACHOP - db GEODUDE - db GEODUDE - db SLOWPOKE - db SLOWPOKE - db ONIX - db ONIX - db VOLTORB - db VOLTORB - db MR_MIME - db MR_MIME - db MR_MIME + db ZUBAT + db ZUBAT + db DIGLETT + db MACHOP + db MACHOP + db GEODUDE + db GEODUDE + db SLOWPOKE + db SLOWPOKE + db ONIX + db ONIX + db VOLTORB + db VOLTORB + db MR_MIME + db MR_MIME + db MR_MIME RedStageLavenderTownWildMons: ; 0x1138c - db PIDGEY - db PIDGEY - db EKANS - db EKANS - db MANKEY - db MANKEY - db GROWLITHE - db GROWLITHE - db MAGNEMITE - db MAGNEMITE - db GASTLY - db GASTLY - db GASTLY - db GASTLY - db GASTLY - db CUBONE + db PIDGEY + db PIDGEY + db EKANS + db EKANS + db MANKEY + db MANKEY + db GROWLITHE + db GROWLITHE + db MAGNEMITE + db MAGNEMITE + db GASTLY + db GASTLY + db GASTLY + db GASTLY + db GASTLY + db CUBONE RedStageLavenderTownWildMonsRare: ; 0x1139c - db EKANS - db MANKEY - db GROWLITHE - db MAGNEMITE - db MAGNEMITE - db GASTLY - db GASTLY - db CUBONE - db CUBONE - db CUBONE - db ELECTABUZZ - db ELECTABUZZ - db ELECTABUZZ - db ZAPDOS - db ZAPDOS - db ZAPDOS + db EKANS + db MANKEY + db GROWLITHE + db MAGNEMITE + db MAGNEMITE + db GASTLY + db GASTLY + db CUBONE + db CUBONE + db CUBONE + db ELECTABUZZ + db ELECTABUZZ + db ELECTABUZZ + db ZAPDOS + db ZAPDOS + db ZAPDOS RedStageCyclingRoadWildMons: ; 0x113ac - db RATTATA - db RATTATA - db SPEAROW - db SPEAROW - db TENTACOOL - db TENTACOOL - db DODUO - db DODUO - db DODUO - db KRABBY - db KRABBY - db LICKITUNG - db GOLDEEN - db GOLDEEN - db MAGIKARP - db MAGIKARP + db RATTATA + db RATTATA + db SPEAROW + db SPEAROW + db TENTACOOL + db TENTACOOL + db DODUO + db DODUO + db DODUO + db KRABBY + db KRABBY + db LICKITUNG + db GOLDEEN + db GOLDEEN + db MAGIKARP + db MAGIKARP RedStageCyclingRoadWildMonsRare: ; 0x113bc - db TENTACOOL - db DODUO - db DODUO - db DODUO - db DODUO - db DODUO - db KRABBY - db LICKITUNG - db LICKITUNG - db LICKITUNG - db LICKITUNG - db GOLDEEN - db MAGIKARP - db SNORLAX - db SNORLAX - db SNORLAX + db TENTACOOL + db DODUO + db DODUO + db DODUO + db DODUO + db DODUO + db KRABBY + db LICKITUNG + db LICKITUNG + db LICKITUNG + db LICKITUNG + db GOLDEEN + db MAGIKARP + db SNORLAX + db SNORLAX + db SNORLAX RedStageSafariZoneWildMons: ; 0x113cc - db NIDORAN_M - db NIDORAN_M - db NIDORAN_M - db NIDORAN_M - db PARAS - db PARAS - db PARAS - db PARAS - db DODUO - db DODUO - db DODUO - db DODUO - db RHYHORN - db RHYHORN - db RHYHORN - db RHYHORN + db NIDORAN_M + db NIDORAN_M + db NIDORAN_M + db NIDORAN_M + db PARAS + db PARAS + db PARAS + db PARAS + db DODUO + db DODUO + db DODUO + db DODUO + db RHYHORN + db RHYHORN + db RHYHORN + db RHYHORN RedStageSafariZoneWildMonsRare: ; 0x113dc - db NIDORAN_M - db NIDORAN_M - db PARAS - db PARAS - db RHYHORN - db RHYHORN - db CHANSEY - db CHANSEY - db CHANSEY - db CHANSEY - db SCYTHER - db SCYTHER - db TAUROS - db TAUROS - db DRATINI - db DRATINI + db NIDORAN_M + db NIDORAN_M + db PARAS + db PARAS + db RHYHORN + db RHYHORN + db CHANSEY + db CHANSEY + db CHANSEY + db CHANSEY + db SCYTHER + db SCYTHER + db TAUROS + db TAUROS + db DRATINI + db DRATINI RedStageSeafoamIslandsWildMons: ; 0x113ec - db ZUBAT - db PSYDUCK - db TENTACOOL - db SLOWPOKE - db SEEL - db SHELLDER - db KRABBY - db HORSEA - db HORSEA - db HORSEA - db HORSEA - db GOLDEEN - db STARYU - db STARYU - db STARYU - db STARYU + db ZUBAT + db PSYDUCK + db TENTACOOL + db SLOWPOKE + db SEEL + db SHELLDER + db KRABBY + db HORSEA + db HORSEA + db HORSEA + db HORSEA + db GOLDEEN + db STARYU + db STARYU + db STARYU + db STARYU RedStageSeafoamIslandsWildMonsRare: ; 0x113fc - db SEEL - db SEEL - db SEEL - db SEEL - db SEEL - db GOLDEEN - db GOLDEEN - db GOLDEEN - db GOLDEEN - db STARYU - db STARYU - db STARYU - db STARYU - db ARTICUNO - db ARTICUNO - db ARTICUNO + db SEEL + db SEEL + db SEEL + db SEEL + db SEEL + db GOLDEEN + db GOLDEEN + db GOLDEEN + db GOLDEEN + db STARYU + db STARYU + db STARYU + db STARYU + db ARTICUNO + db ARTICUNO + db ARTICUNO RedStageCinnabarIslandWildMons: ; 0x1140c - db GROWLITHE - db GROWLITHE - db GROWLITHE - db GROWLITHE - db PONYTA - db PONYTA - db PONYTA - db PONYTA - db GRIMER - db GRIMER - db KOFFING - db KOFFING - db KOFFING - db KOFFING - db TANGELA - db TANGELA + db GROWLITHE + db GROWLITHE + db GROWLITHE + db GROWLITHE + db PONYTA + db PONYTA + db PONYTA + db PONYTA + db GRIMER + db GRIMER + db KOFFING + db KOFFING + db KOFFING + db KOFFING + db TANGELA + db TANGELA RedStageCinnabarIslandWildMonsRare: ; 0x1141c - db GROWLITHE - db GROWLITHE - db PONYTA - db PONYTA - db GRIMER - db KOFFING - db KOFFING - db TANGELA - db TANGELA - db TANGELA - db OMANYTE - db OMANYTE - db OMANYTE - db KABUTO - db KABUTO - db KABUTO + db GROWLITHE + db GROWLITHE + db PONYTA + db PONYTA + db GRIMER + db KOFFING + db KOFFING + db TANGELA + db TANGELA + db TANGELA + db OMANYTE + db OMANYTE + db OMANYTE + db KABUTO + db KABUTO + db KABUTO RedStageIndigoPlateauWildMons: ; 0x1142c - db SPEAROW - db EKANS - db ZUBAT - db ZUBAT - db MACHOP - db MACHOP - db MACHOP - db GEODUDE - db GEODUDE - db GEODUDE - db ONIX - db ONIX - db ONIX - db DITTO - db DITTO - db DITTO + db SPEAROW + db EKANS + db ZUBAT + db ZUBAT + db MACHOP + db MACHOP + db MACHOP + db GEODUDE + db GEODUDE + db GEODUDE + db ONIX + db ONIX + db ONIX + db DITTO + db DITTO + db DITTO RedStageIndigoPlateauWildMonsRare: ; 0x1143c - db SPEAROW - db EKANS - db ZUBAT - db MACHOP - db GEODUDE - db ONIX - db DITTO - db DITTO - db DITTO - db DITTO - db MOLTRES - db MOLTRES - db MOLTRES - db MEWTWO - db MEWTWO - db MEWTWO + db SPEAROW + db EKANS + db ZUBAT + db MACHOP + db GEODUDE + db ONIX + db DITTO + db DITTO + db DITTO + db DITTO + db MOLTRES + db MOLTRES + db MOLTRES + db MEWTWO + db MEWTWO + db MEWTWO - db MEW + db MEW diff --git a/hram.asm b/hram.asm index df763df..0c23cd1 100755 --- a/hram.asm +++ b/hram.asm @@ -1,18 +1,18 @@ hPushOAM EQU $FF80 hJoypadState EQU $FF98 ; current state of buttons. See joy_constants.asm for which bits - ; correspond to which buttons. + ; correspond to which buttons. hNewlyPressedButtons EQU $FF99 ; buttons that were pressed in the current frame. hPressedButtons EQU $FF9A ; buttons that were pressed last frame and current frame(?) hPrevPreviousJoypadState EQU $FF9B ; joypad state from two frames ago. See joy_constants.asm for - ; which bits correspond to which buttons. (need a better name for this...) + ; which bits correspond to which buttons. (need a better name for this...) hPreviousJoypadState EQU $FF9C ; prevoius frame's joypad state. See joy_constants.asm for - ; which bits correspond to which buttons. + ; which bits correspond to which buttons. hBoardYShift EQU $FFA0 ; Vertical pixel offset of the board. For example, the board is shifted - ; by small amounts when "tilt up" is used. + ; by small amounts when "tilt up" is used. hBoardXShift EQU $FFA1 ; Horizontal pixel offset of the board. For example, the board is shifted - ; $20 pixels to the right when launching the ball at the start of a round. + ; $20 pixels to the right when launching the ball at the start of a round. hFlipperYCollisionAttribute EQU $FFBF ; Vertical collision attribute for when ball collides with a flipper. diff --git a/macros.asm b/macros.asm index 6895aae..425f2b2 100755 --- a/macros.asm +++ b/macros.asm @@ -1,5 +1,8 @@ INCLUDE "macros/sound.asm" +AdvanceFrame EQUS "$10" +JumpTable EQUS "$18" + dex_text EQUS "db " ; Start beginning of pokedex description dex_line EQUS "db $0d," ; Start new line in pokedex description dex_end EQUS "db $00" ; Terminate the pokedex description @@ -38,16 +41,30 @@ bigdw: MACRO ; big-endian word dx 2, \1 ENDM +farcall: MACRO + ld a, BANK(\1) + ld hl, \1 + call BankSwitch + ENDM + +callba EQUS "farcall" + +callab: MACRO + ld hl, \1 + ld a, BANK(\1) + call BankSwitch + ENDM + bigBCD6: MACRO ; There is probably a better name for this macro. ; It write a BCD in big-endian form. - dn ((\1) / 10) % 10, (\1) % 10 - dn ((\1) / 1000) % 10, ((\1) / 100) % 10 - dn ((\1) / 100000) % 10, ((\1) / 10000) % 10 - dn ((\1) / 10000000) % 10, ((\1) / 1000000) % 10 - dn ((\1) / 1000000000) % 10, ((\1) / 100000000) % 10 - dn ((\1) / 100000000000) % 10, ((\1) / 10000000000) % 10 - ENDM + dn ((\1) / 10) % 10, (\1) % 10 + dn ((\1) / 1000) % 10, ((\1) / 100) % 10 + dn ((\1) / 100000) % 10, ((\1) / 10000) % 10 + dn ((\1) / 10000000) % 10, ((\1) / 1000000) % 10 + dn ((\1) / 1000000000) % 10, ((\1) / 100000000) % 10 + dn ((\1) / 100000000000) % 10, ((\1) / 10000000000) % 10 + ENDM ; Constant enumeration is useful for mons, maps, etc. const_def: MACRO diff --git a/main.asm b/main.asm index dc207c8..9facf42 100755 --- a/main.asm +++ b/main.asm @@ -7,7 +7,7 @@ SECTION "rst 00", ROM0 [$00] jp Entry SECTION "rst 10", ROM0 [$10] - jp Func_468 + jp DelayFrame SECTION "rst 18", ROM0 [$18] jp JumpToFuncInTable @@ -15,20 +15,20 @@ SECTION "rst 18", ROM0 [$18] SECTION "rst 20", ROM0 [$20] jp Func_486 -SECTION "rst 40", ROM0 [$40] - jp Func_2f2 +SECTION "VBlankInt", ROM0 [$40] + jp VBlank -SECTION "rst 48", ROM0 [$48] - jp Func_3ec +SECTION "HBlankInt", ROM0 [$48] + jp LCD -SECTION "rst 50", ROM0 [$50] - jp Func_418 +SECTION "TimerInt", ROM0 [$50] + jp Timer -SECTION "rst 58", ROM0 [$58] - jp Func_445 +SECTION "SerialInt", ROM0 [$58] + jp Serial -SECTION "rst 60", ROM0 [$60] - jp Func_467 +SECTION "JoypadInt", ROM0 [$60] + jp Joypad SECTION "Entry", ROM0 [$100] @@ -154,7 +154,7 @@ Start: ; 0x150 call Func_97a xor a ld [$daa3], a - ld a, Bank(Func_1ffc) + ld a, BANK(Func_1ffc) ld hl, Func_1ffc call BankSwitchSimple Func_23b: ; 0x23b @@ -173,7 +173,7 @@ Func_23b: ; 0x23b dr $24e, $2f2 -Func_2f2: ; 0x2f2 +VBlank: ; 0x2f2 push af push bc push de @@ -303,7 +303,7 @@ Func_2f2: ; 0x2f2 dr $3c3, $3ec -Func_3ec: ; 0x3ec +LCD: ; 0x3ec push af push bc push de @@ -338,7 +338,7 @@ PointerTable_408: ; 0x408 dw Func_10a4 dw Func_10a7 -Func_418: ; 0x418 +Timer: ; 0x418 ei push af push bc @@ -368,7 +368,7 @@ Func_418: ; 0x418 pop af reti -Func_445: ; 0x445 +Serial: ; 0x445 push af push bc push de @@ -393,10 +393,10 @@ Data_45d: Data_462: db $64, $16, $66, $04, $c9 -Func_467: ; 0x467 +Joypad: ; 0x467 reti -Func_468: ; 0x468 +DelayFrame: ; 0x468 ld a, [rLCDC] bit 7, a ret z @@ -411,7 +411,7 @@ Func_468: ; 0x468 JumpToFuncInTable: ; 0x477 ; Jumps to a function in the pointer table immediately following -; a "rst $18" call. Function must be in the same Bank as the pointer table. +; a "rst JumpTable" call. Function must be in the same Bank as the pointer table. ; input: a = index of function in table sla a pop hl @@ -1327,7 +1327,7 @@ Func_926: ; 0x926 Func_93f: ; 0x93f push bc - rst $10 + rst AdvanceFrame pop bc dec bc ld a, c @@ -3595,7 +3595,7 @@ Func_1a89: ; 0x1a89 ld a, [hNewlyPressedButtons] bit 1, a jp nz, Func_1bd3 - rst $10 + rst AdvanceFrame jr Func_1a89 Func_1aa9: ; 0x1aa9 @@ -3726,7 +3726,7 @@ Func_1b3d: ; 0x1b3d ld a, [hNewlyPressedButtons] bit BIT_B_BUTTON, a jp nz, Func_1bd3 - rst $10 + rst AdvanceFrame jr Func_1b3d Func_1b60: ; 0x1b60 @@ -3747,7 +3747,7 @@ Func_1b60: ; 0x1b60 ld a, [hNewlyPressedButtons] bit BIT_B_BUTTON, a jp nz, Func_1bd3 - rst $10 + rst AdvanceFrame jr Func_1b60 Func_1b88: ; 0x1b88 @@ -3766,7 +3766,7 @@ Func_1b88: ; 0x1b88 ld a, [hNewlyPressedButtons] bit BIT_B_BUTTON, a jp nz, Func_1bd3 - rst $10 + rst AdvanceFrame jr Func_1b88 Func_1ba7: ; 0x1ba7 @@ -4310,9 +4310,7 @@ Func_1ffc: ; 0x1ffc ld a, $4 ld [$d807], a ld [$ff8a], a - ld a, Bank(Func_3c000) - ld hl, Func_3c000 - call BankSwitch + callba Func_3c000 ld a, $1 ld [$d85d], a ld a, $37 @@ -4326,7 +4324,7 @@ Func_1ffc: ; 0x1ffc call Func_2043 call Func_926 call Func_b2e - rst $10 + rst AdvanceFrame jr .asm_2025 Func_2034: ; 0x2034 @@ -6340,18 +6338,63 @@ Func_3475: ; 0x3475 ld hl, HandleFlippers call nz, BankSwitch ld [$ff8a], a - ld a, Bank(Func_84b7) - ld hl, Func_84b7 - call BankSwitch + callba Func_84b7 call Func_33e3 call Func_926 - rst $10 + rst AdvanceFrame ld a, [$d5ca] and a jr nz, Func_3475 ret - dr $34a6, $351c +Data_34a6: + dx 6, $050000000000 +Data_34ac: + dx 6, $100000000000 +Data_34b2: + dx 6, $000100000000 +Data_34b8: + dx 6, $000400000000 +Data_34be: + dx 6, $000500000000 +Data_34c4: + dx 6, $001000000000 +Data_34ca: + dx 6, $005000000000 +Data_34d0: + dx 6, $000001000000 +Data_34d6: + dx 6, $000010000000 +Data_34dc: + dx 6, $000030000000 +Data_34e2: + dx 6, $000050000000 +Data_34e8: + dx 6, $000000010000 +Data_34ee: + dx 6, $000000050000 +Data_34f4: + dx 6, $000000100000 +Data_34fa: + dx 6, $000000000100 + +Func_3500: + ld hl, $d464 + ld a, e + ld [hli], a + ld a, d + ld [hli], a + ld a, c + ld [hli], a + ld a, b + ld [hli], a + xor a + ld [hli], a + ld [hl], a + ld bc, $d464 + ldh [$ff8a], a + callba AddBCDScore + ret Func_351c: ; 0x351c ld hl, $d464 @@ -6368,9 +6411,7 @@ Func_351c: ; 0x351c ld [hl], a ld bc, $d464 ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch + callba Func_8588 ret Func_3538: ; 0x3538 @@ -10136,7 +10177,7 @@ SECTION "bank2", ROMX, BANK[$2] Func_8000: ; 0x8000 ld a, [wScreenState] - rst $18 ; calls JumpToFuncInTable + rst JumpTable ; calls JumpToFuncInTable CallTable_8004: ; 0x8004 dw Func_800a dw Func_8104 @@ -10378,7 +10419,7 @@ Func_814e: ; 0x414e HandleEraseAllDataMenu: ; 0x815d ld a, [wScreenState] - rst $18 ; calls JumpToFuncInTable + rst JumpTable ; calls JumpToFuncInTable EraseAllDataMenuFunctions: ; 0x8161 dw CheckForResetButtonCombo dw HandleEraseAllDataInput @@ -10492,7 +10533,7 @@ ExitEraseAllDataMenu: ; 0x820f HandleCopyrightScreen: ; 0x821e ld a, [wScreenState] - rst $18 ; calls JumpToFuncInTable + rst JumpTable ; calls JumpToFuncInTable CopyrightScreenFunctions: ; 0x8222 dw FadeInCopyrightScreen dw DisplayCopyrightScreen @@ -10542,7 +10583,7 @@ DisplayCopyrightScreen: ; 0x8290 ld b, $5a ; number of frames to show the copyright screen .delayLoop push bc - rst $10 ; wait for next frame + rst AdvanceFrame ; wait for next frame pop bc ld a, b cp $2d ; player can press A button to skip copyright screen once counter is below $2d @@ -10567,9 +10608,7 @@ FadeOutCopyrightScreenAndLoadData: ; 0x82a8 call Func_f0c jr c, .loadedHighScores ld [$ff8a], a - ld a, Bank(CopyInitialHighScores) - ld hl, CopyInitialHighScores - call BankSwitch + callba CopyInitialHighScores .loadedHighScores ld hl, $a10c ld de, wPokedexFlags @@ -10577,9 +10616,7 @@ FadeOutCopyrightScreenAndLoadData: ; 0x82a8 call Func_f0c jr c, .asm_82de ld [$ff8a], a - ld a, Bank(ClearPokedexData) - ld hl, ClearPokedexData - call BankSwitch + callba ClearPokedexData .asm_82de ld hl, $a244 ld de, wKeyConfigs @@ -10587,9 +10624,7 @@ FadeOutCopyrightScreenAndLoadData: ; 0x82a8 call Func_f0c jr c, .asm_82f6 ld [$ff8a], a - ld a, Bank(SaveDefaultKeyConfigs) - ld hl, SaveDefaultKeyConfigs - call BankSwitch + callba SaveDefaultKeyConfigs .asm_82f6 ld hl, $a268 ld de, wPartyMons @@ -10820,9 +10855,7 @@ Func_8444: ; 0x8444 and a jr z, .asm_8460 ld [$ff8a], a - ld a, Bank(Func_10464) - ld hl, Func_10464 - call BankSwitch + callba Func_10464 .asm_8460 ret @@ -11020,7 +11053,7 @@ Func_8543: ; 0x8543 dr $8569, $8576 -Func_8576: ; 0x8576 +AddBCDScore: ; 0x8576 ld h, b ld l, c ld a, [$d477] @@ -11242,9 +11275,7 @@ StartTimer: ; 0x867d ld a, $1 ld [$d580], a ld [$ff8a], a - ld a, Bank(Func_1404a) - ld hl, Func_1404a - call BankSwitch + callba Func_1404a ret Func_86a4: ; 0x86a4 @@ -11395,7 +11426,7 @@ HandleInGameMenuSelection: ; 0x87ac .waitForAButton call MoveInGameMenuCursor call DrawInGameMenu - rst $10 + rst AdvanceFrame ld a, [hNewlyPressedButtons] bit BIT_A_BUTTON, a jr z, .waitForAButton @@ -12582,7 +12613,7 @@ SECTION "bank3", ROMX, BANK[$3] HandleTitlescreen: ; 0xc000 ld a, [wScreenState] - rst $18 ; calls JumpToFuncInTable + rst JumpTable ; calls JumpToFuncInTable TitlescreenFunctions: ; 0xc004 dw FadeInTitlescreen dw TitlescreenLoop ; titlescreen loop @@ -12665,7 +12696,7 @@ TitlescreenLoop: ; 0xc089 .noPreviouslySavedGame ld de, $0000 call PlaySong - rst $10 + rst AdvanceFrame ld de, $0027 call PlaySoundEffect ld bc, $0037 @@ -12718,7 +12749,7 @@ Func_c10e: ; 0xc10e jr z, .asm_c17c ld de, $0000 call PlaySong - rst $10 + rst AdvanceFrame ld de, $0027 call PlaySoundEffect ld bc, $0041 @@ -12767,7 +12798,7 @@ Func_c10e: ; 0xc10e ld [$d911], a .asm_c18f call Func_926 - rst $10 + rst AdvanceFrame call Func_c1b1 ld a, [$d910] cp $e @@ -13042,7 +13073,7 @@ Data_c32b: ; 0xc32b HandleOptionsScreen: ; 0xc34a ld a, [wScreenState] - rst $18 ; calls JumpToFuncInTable + rst JumpTable ; calls JumpToFuncInTable OptionsScreenFunctions: ; 0xc34e dw Func_c35a dw Func_c400 @@ -13345,7 +13376,7 @@ Func_c55a: ; 0xc55a call Func_c621 call Func_c554 call Func_926 - rst $10 + rst AdvanceFrame pop hl pop bc ld a, [hJoypadState] @@ -13386,7 +13417,7 @@ Func_c55a: ; 0xc55a call Func_c621 call Func_c554 call Func_926 - rst $10 + rst AdvanceFrame pop hl pop de pop bc @@ -13492,9 +13523,9 @@ Func_c691: ; 0xc91 ret z ld de, $0000 call PlaySong - rst $10 - rst $10 - rst $10 + rst AdvanceFrame + rst AdvanceFrame + rst AdvanceFrame ld a, $12 call SetSongBank ld de, $0002 @@ -13542,9 +13573,9 @@ Func_c6e8: ; 0xc6e8 jr z, UpdateSoundTestBackgroundMusicSelection ld de, $0000 call PlaySong - rst $10 - rst $10 - rst $10 + rst AdvanceFrame + rst AdvanceFrame + rst AdvanceFrame ld a, [wSoundTestCurrentBackgroundMusic] sla a ld c, a @@ -14100,7 +14131,7 @@ DefaultKeyConfigs: ; 0xca55 HandleHighScoresScreen: ; 0xca7f ld a, [wScreenState] - rst $18 ; calls JumpToFuncInTable + rst JumpTable ; calls JumpToFuncInTable HighScoresScreenFunctions: ; 0xca83 dw Func_ca8f dw Func_cb14 @@ -14434,7 +14465,7 @@ Func_ccb6: ; 0xccb6 ld a, $94 call LoadOAMData .asm_cd16 - rst $10 + rst AdvanceFrame ld a, [hNewlyPressedButtons] bit BIT_B_BUTTON, a jr z, .asm_cd24 @@ -14498,7 +14529,7 @@ Func_cd6c: ; 0xcd6c jr z, .asm_cdbb ld de, $0000 call PlaySong - rst $10 + rst AdvanceFrame call Func_cdce push af ld de, $0004 @@ -14583,7 +14614,7 @@ Func_cdce: ; 0xcdce ld [$abf6], a pop af call Func_ceca - rst $10 + rst AdvanceFrame ld hl, $c4cc ld b, $5 .asm_ce5d @@ -14640,7 +14671,7 @@ Func_cdce: ; 0xcdce ld [$abf6], a pop af call Func_ceca - rst $10 + rst AdvanceFrame push af ld a, $a ld [$abf6], a @@ -14667,7 +14698,7 @@ SendHighScores: ; 0xced1 ld a, $8f call LoadOAMData call Func_926 - rst $10 + rst AdvanceFrame ld a, $1 ld [$d8e9], a ld b, $b4 ; maximum attempts to send high scores @@ -14733,13 +14764,13 @@ Func_cf58: ; 0xcf58 ld de, $0002 call PlaySoundEffect call ClearOAMBuffer - rst $10 + rst AdvanceFrame pop af ld bc, $473b ; todo add $8f call LoadOAMData .asm_cf6f - rst $10 + rst AdvanceFrame ld a, [hNewlyPressedButtons] bit BIT_A_BUTTON, a jr z, .asm_cf6f @@ -15605,7 +15636,7 @@ Func_d4cf: ; 0xd4cf inc [hl] inc [hl] inc [hl] - rst $10 + rst AdvanceFrame pop bc dec b jr nz, .asm_d508 @@ -15646,7 +15677,7 @@ Func_d4cf: ; 0xd4cf dec [hl] dec [hl] dec [hl] - rst $10 + rst AdvanceFrame pop bc dec b jr nz, .asm_d551 @@ -15666,7 +15697,7 @@ Func_d57b: ; 0xd57b ld [$ffab], a ld a, $10 ld [$ffad], a - rst $10 + rst AdvanceFrame ld a, BANK(HighScoresTilemap) ld hl, HighScoresTilemap ld de, $9800 @@ -15694,7 +15725,7 @@ Func_d57b: ; 0xd57b inc [hl] ld hl, $ffad dec [hl] - rst $10 + rst AdvanceFrame pop bc dec b jr nz, .asm_d5c1 @@ -15708,7 +15739,7 @@ Func_d5d0: ; 0xd5d0 dec [hl] ld hl, $ffad inc [hl] - rst $10 + rst AdvanceFrame pop bc dec b jr nz, .asm_d5d2 @@ -15845,7 +15876,7 @@ Func_d6b6: ; 0xd6b6 HandleFieldSelectScreen: ; 0xd6d3 ld a, [wScreenState] - rst $18 ; calls JumpToFuncInTable + rst JumpTable ; calls JumpToFuncInTable FieldSelectScreenFunctions: ; 0xd6d7 dw LoadFieldSelectScreen dw ChooseFieldToPlay @@ -16050,7 +16081,7 @@ Data_d84f: HandlePinballGame: ; 0xd853 ld a, [wScreenState] - rst $18 ; calls JumpToFuncInTable + rst JumpTable ; calls JumpToFuncInTable PinballGameScreenFunctions: ; 0xd857 dw Func_d861 dw Func_d87f @@ -16062,9 +16093,7 @@ Func_d861: ; 0xd861 xor a ld [$d908], a ld [$ff8a], a - ld a, Bank(InitializeStage) - ld hl, InitializeStage - call BankSwitch + callba InitializeStage call Func_30e8 ld a, $1 ld [$d85d], a @@ -16100,26 +16129,16 @@ Func_d87f: ; 0xd87f ld a, $1 ld [$ffb0], a ld [$ff8a], a - ld a, Bank(StartBallForStage) - ld hl, StartBallForStage - call BankSwitch + callba StartBallForStage ld [$ff8a], a - ld a, Bank(LoadStageCollisionAttributes) - ld hl, LoadStageCollisionAttributes - call BankSwitch + callba LoadStageCollisionAttributes ld [$ff8a], a - ld a, Bank(Func_e6c2) - ld hl, Func_e6c2 - call BankSwitch + callba Func_e6c2 ld [$ff8a], a - ld a, Bank(Func_ed5e) - ld hl, Func_ed5e - call BankSwitch + callba Func_ed5e call ClearOAMBuffer ld [$ff8a], a - ld a, Bank(Func_84b7) - ld hl, Func_84b7 - call BankSwitch + callba Func_84b7 ld a, [$d849] and a call nz, Func_e5d @@ -16167,9 +16186,7 @@ Func_d909: ; 0xd909 ld de, $034c call PlaySoundEffect ld [$ff8a], a - ld a, Bank(HandleInGameMenu) - ld hl, HandleInGameMenu - call BankSwitch + callba HandleInGameMenu jp z, SaveGame .didntPressMenuKey ld a, [$d7e9] ; check for collision flag @@ -16215,29 +16232,19 @@ Func_d909: ; 0xd909 .asm_d9a2 call MoveBallPosition ld [$ff8a], a - ld a, Bank(Func_ece9) - ld hl, Func_ece9 - call BankSwitch + callba Func_ece9 ld [$ff8a], a - ld a, Bank(Func_84b7) - ld hl, Func_84b7 - call BankSwitch + callba Func_84b7 call Func_33e3 ld a, [$d5cb] and a jr nz, .asm_d9e9 ld [$ff8a], a - ld a, Bank(Func_85c7) - ld hl, Func_85c7 - call BankSwitch + callba Func_85c7 ld [$ff8a], a - ld a, Bank(Func_8650) - ld hl, Func_8650 - call BankSwitch + callba Func_8650 ld [$ff8a], a - ld a, Bank(Func_8645) - ld hl, Func_8645 - call BankSwitch + callba Func_8645 call Func_dba9 call Func_dc7c call Func_dcb4 @@ -16298,14 +16305,10 @@ Func_da36: ; 0xda36 ld hl, HandleFlippers call nz, BankSwitch ld [$ff8a], a - ld a, Bank(Func_84b7) - ld hl, Func_84b7 - call BankSwitch + callba Func_84b7 call Func_33e3 ld [$ff8a], a - ld a, Bank(Func_85c7) - ld hl, Func_85c7 - call BankSwitch + callba Func_85c7 ld a, [$d5ca] and a ret nz @@ -16338,7 +16341,7 @@ Func_da36: ; 0xda36 Func_dab2: ; 0xdab2 xor a ld [$d803], a - ld a, [$d616] + ld a, [wGameOver] and a jp nz, TransitionToHighScoresScreen ld a, [$d495] @@ -16409,7 +16412,7 @@ Func_dab2: ; 0xdab2 TransitionToHighScoresScreen: ; 0xdb5d xor a - ld [$d616], a + ld [wGameOver], a ld de, $0000 call PlaySong ld bc, $0004 @@ -16529,14 +16532,12 @@ Func_dc00: ; 0xdc00 bit 0, a ret z ld [$ff8a], a - ld a, Bank(Func_14707) - ld hl, Func_14707 - call BankSwitch + callba Func_14707 ret Func_dc49: ; 0xdc49 ld a, [wCurrentStage] - rst $18 ; calls JumpToFuncInTable + rst JumpTable ; calls JumpToFuncInTable CallTable_dc4d: ; 0xdc4d ; STAGE_RED_FIELD_TOP dw Func_dd76 @@ -16782,7 +16783,7 @@ Func_dd76: ; 0xdd76 ld de, $28ee call Func_dc6d ld a, $1 - ld [$d616], a + ld [wGameOver], a ret Func_ddfd: ; 0xddfd @@ -16793,9 +16794,7 @@ Func_ddfd: ; 0xddfd and a jr nz, .asm_de14 ld [$ff8a], a - ld a, Bank(Func_10157) - ld hl, Func_10157 - call BankSwitch + callba Func_10157 jr .asm_de40 .asm_de14 cp $1 @@ -16805,9 +16804,7 @@ Func_ddfd: ; 0xddfd ld a, $1e ld [$d607], a ld [$ff8a], a - ld a, Bank(Func_10ac8) - ld hl, Func_10ac8 - call BankSwitch + callba Func_10ac8 jr .asm_de40 .asm_de2d xor a @@ -16815,9 +16812,7 @@ Func_ddfd: ; 0xddfd ld a, $1e ld [$d607], a ld [$ff8a], a - ld a, Bank(Func_3022b) - ld hl, Func_3022b - call BankSwitch + callba Func_3022b .asm_de40 ld a, [$d7ad] ld c, a @@ -16890,7 +16885,7 @@ Func_de4f: ; 0xde4f ld de, $28ee call Func_dc6d ld a, $1 - ld [$d616], a + ld [wGameOver], a ret Func_ded6: ; 0xded6 @@ -16901,9 +16896,7 @@ Func_ded6: ; 0xded6 and a jr nz, .asm_deec ld [$ff8a], a - ld a, Bank(Func_10157) - ld hl, Func_10157 - call BankSwitch + callba Func_10157 ret .asm_deec cp $1 @@ -16913,9 +16906,7 @@ Func_ded6: ; 0xded6 ld a, $1e ld [$d607], a ld [$ff8a], a - ld a, Bank(Func_10ac8) - ld hl, Func_10ac8 - call BankSwitch + callba Func_10ac8 ret .asm_df05 ld a, $0 @@ -16923,9 +16914,7 @@ Func_ded6: ; 0xded6 ld a, $1e ld [$d607], a ld [$ff8a], a - ld a, Bank(Func_3022b) - ld hl, Func_3022b - call BankSwitch + callba Func_3022b ret Func_df1a: ; 0xdf1a @@ -17050,9 +17039,7 @@ Func_dfe2: ; 0xdfe2 .asm_e002 ld [wMeowthStageScore], a ld [$ff8a], a - ld a, Bank(Func_24fa3) - ld hl, Func_24fa3 - call BankSwitch + callba Func_24fa3 .asm_e00f ld a, [$d4ad] ld hl, wCurrentStage @@ -17134,9 +17121,7 @@ Func_e08b: ; 0xe08b .asm_e0ab ld [$d793], a ld [$ff8a], a - ld a, Bank(Func_262f4) - ld hl, Func_262f4 - call BankSwitch + callba Func_262f4 .asm_e0b8 ld a, [$d4ad] ld hl, wCurrentStage @@ -17191,12 +17176,12 @@ Func_e118: ; 0xe118 ld [wRightFlipperAnimationState], a ld hl, wKeyConfigLeftFlipper call IsKeyPressed2 - ld hl, $fccd + ld hl, -$0333 jr z, .asm_e13b ld a, [$d7be] and a jr nz, .asm_e13b - ld hl, $0333 + ld hl, $0333 .asm_e13b ld a, [$d7af] and a @@ -17236,12 +17221,12 @@ Func_e118: ; 0xe118 ld [$d7af], a ld hl, wKeyConfigRightFlipper call IsKeyPressed2 - ld hl, $fccd + ld hl, -$0333 jr z, .asm_e18e ld a, [$d7be] and a jr nz, .asm_e18e - ld hl, $0333 + ld hl, $0333 .asm_e18e ld a, [$d7b3] and a @@ -17934,9 +17919,7 @@ Func_e674: ; 0xe674 ld [$d548], a ld [$d803], a ld [$ff8a], a - ld a, Bank(Func_84b7) - ld hl, Func_84b7 - call BankSwitch + callba Func_84b7 call Func_926 pop af ld [$d548], a @@ -17946,7 +17929,7 @@ Func_e674: ; 0xe674 ld [$ffa3], a ld [$ffa4], a ld [$ffa5], a - rst $10 + rst AdvanceFrame call Func_e5d call Func_576 call ClearOAMBuffer @@ -17986,9 +17969,7 @@ Func_e6c2: ; 0xe6c2 xor a ld [$d7f2], a ld [$ff8a], a - ld a, Bank(Func_8471) - ld hl, Func_8471 - call BankSwitch + callba Func_8471 ret StageGfxPointers_GameBoy: ; 0xe6f7 @@ -18340,9 +18321,7 @@ Func_ece9: ; 0xece9 ld a, $1 ld [$d4ae], a ld [$ff8a], a - ld a, Bank(Func_dc49) - ld hl, Func_dc49 - call BankSwitch + callba Func_dc49 ret BallMovingUpStageTransitions: ; 0xed3e @@ -18441,12 +18420,10 @@ Func_ed8e: ; 0xed8e ld hl, HandleFlippers call nz, BankSwitch ld [$ff8a], a - ld a, Bank(Func_84b7) - ld hl, Func_84b7 - call BankSwitch + callba Func_84b7 call Func_33e3 call Func_926 - rst $10 + rst AdvanceFrame ld a, [$d7af] and a jr nz, .asm_edac @@ -18535,7 +18512,7 @@ Func_ed8e: ; 0xed8e ld b, $28 .asm_ee80 push bc - rst $10 + rst AdvanceFrame pop bc call Func_ef1e jr nz, .asm_ee8b @@ -18561,7 +18538,7 @@ Func_ed8e: ; 0xed8e ld a, [$d61d] call LoadBillboardOffPicture .asm_eeae - rst $10 + rst AdvanceFrame pop bc call Func_ef1e jr nz, .asm_eeb8 @@ -18576,7 +18553,7 @@ Func_ed8e: ; 0xed8e .asm_eec3 ld [$d619], a ld a, [$d61d] - rst $18 ; calls JumpToFuncInTable + rst JumpTable ; calls JumpToFuncInTable CallTable_eeca: ; 0xeeca dw Func_ef35 dw Func_ef4f @@ -18703,21 +18680,17 @@ Func_ef83: ; 0xef83 xor a ld [$d85d], a call Func_310a - rst $10 + rst AdvanceFrame ld a, $0 ld [$ff8a], a - ld a, Bank(PlayPikachuSoundClip) - ld hl, PlayPikachuSoundClip - call BankSwitch + callba PlayPikachuSoundClip ld a, $1 ld [$d85d], a ret Func_efa7: ; 0xefa7 ld [$ff8a], a - ld a, Bank(Func_30164) - ld hl, Func_30164 - call BankSwitch + callba Func_30164 ret Func_efb2: ; 0xefb2 @@ -18741,7 +18714,7 @@ Func_efb2: ; 0xefb2 add $12 call LoadBillboardOffPicture .asm_efd8 - rst $10 + rst AdvanceFrame pop bc ld a, [hNewlyPressedButtons] and $21 @@ -18779,7 +18752,7 @@ Func_eff3: ; 0xeff3 add $1b call LoadBillboardOffPicture .asm_f019 - rst $10 + rst AdvanceFrame pop bc ld a, [hNewlyPressedButtons] and $21 @@ -18838,9 +18811,7 @@ UpgradeBallBlueField: ; 0xf040 call PlaySoundEffect ld bc, $34e8 ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch + callba Func_8588 ld bc, $100 ld de, $0000 push bc @@ -18857,9 +18828,7 @@ UpgradeBallBlueField: ; 0xf040 call Func_32aa .asm_f0b0 ld [$ff8a], a - ld a, Bank(Func_155bb) - ld hl, Func_155bb - call BankSwitch + callba Func_155bb ret BallTypeProgressionBlueField: ; 0xf0bb @@ -18892,7 +18861,7 @@ Func_f0c1: ; 0xf0c1 add $24 call LoadBillboardOffPicture .asm_f0e7 - rst $10 + rst AdvanceFrame pop bc ld a, [hNewlyPressedButtons] and $21 @@ -18925,20 +18894,14 @@ Func_f0c1: ; 0xf0c1 ld hl, Func_30164 call nz, BankSwitch ld [$ff8a], a - ld a, Bank(Func_16f95) - ld hl, Func_16f95 - call BankSwitch + callba Func_16f95 ld a, [$d60c] ld [$ff8a], a - ld a, Bank(Func_f154) - ld hl, Func_f154 - call BankSwitch ; no need for BankSwitch here... + callba Func_f154 ; no need for BankSwitch here... ld a, [$d60d] add $14 ld [$ff8a], a - ld a, Bank(Func_f154) - ld hl, Func_f154 - call BankSwitch ; no need for BankSwitch here... + callba Func_f154 ; no need for BankSwitch here... ret Func_f14a: ; 0xf14a @@ -19386,11 +19349,11 @@ Func_f57f: ; 0xf57f Func_f5a0: ; 0xf5a0 ld de, wcBottomMessageText + $40 - ld hl, $3069 ; todo - call Func_f7b1 + ld hl, Data_3069 ; todo + call PrintTextNoHeader ld de, wcBottomMessageText + $80 - ld hl, $3070 - call Func_f7b1 + ld hl, Data_3070 + call PrintTextNoHeader ld hl, $d489 call Func_f8b5 ld hl, $d48f @@ -19404,7 +19367,7 @@ Func_f5a0: ; 0xf5a0 ld a, $1 ld [$d4ab], a call Func_f70d - ld a, [$d616] + ld a, [wGameOver] and a ret z ld a, $10 @@ -19415,13 +19378,13 @@ Func_f5a0: ; 0xf5a0 ld bc, $0040 call Func_f81b ld de, wcBottomMessageText + $20 - ld hl, $3094 - call Func_f7b1 + ld hl, Data_3094 + call PrintTextNoHeader ld bc, $0040 ld de, $0000 call Func_f80d .asm_f602 - rst $10 + rst AdvanceFrame ld a, [hNewlyPressedButtons] bit BIT_A_BUTTON, a jr z, .asm_f602 @@ -19429,7 +19392,7 @@ Func_f5a0: ; 0xf5a0 Func_f60a: ; 0xf60a ld a, [wCurrentStage] - rst $18 ; calls JumpToFuncInTable + rst JumpTable ; calls JumpToFuncInTable CallTable_f60d: ; 0xf60d ; STAGE_RED_FIELD_TOP dw Func_f945 @@ -19467,8 +19430,8 @@ CallTable_f60d: ; 0xf60d Func_f626: ; 0xf626 ld de, wcBottomMessageText + $01 - ld hl, $3006 ; todo - call Func_f7b1 + ld hl, Data_3006 ; todo + call PrintTextNoHeader ld hl, wcBottomMessageText + $01 ld a, [$d628] call Func_f78e @@ -19483,8 +19446,8 @@ Func_f626: ; 0xf626 Func_f64e: ; 0xf64e ld de, wcBottomMessageText - ld hl, $3019 ; todo - call Func_f7b1 + ld hl, Data_3019 ; todo + call PrintTextNoHeader ld hl, wcBottomMessageText ld a, [$d629] call Func_f78e @@ -19511,7 +19474,7 @@ Func_f676: ; 0xf676 ld a, [$d4ab] and a jr z, .asm_f69f - rst $10 + rst AdvanceFrame ld a, [hNewlyPressedButtons] bit BIT_A_BUTTON, a jr z, .asm_f69f @@ -19522,11 +19485,11 @@ Func_f676: ; 0xf676 dec b jr nz, .asm_f678 ld de, wcBottomMessageText + $40 - ld hl, $307a ; todo - call Func_f7b1 + ld hl, Data_307a ; todo + call PrintTextNoHeader ld de, wcBottomMessageText + $80 - ld hl, $3086 ; todo - call Func_f7b1 + ld hl, Data_3086 ; todo + call PrintTextNoHeader ld hl, wcBottomMessageText + $50 ld a, [$d482] call Func_f78e @@ -19547,7 +19510,7 @@ Func_f676: ; 0xf676 ld a, [$d4ab] and a jr z, .asm_f6f2 - rst $10 + rst AdvanceFrame ld a, [hNewlyPressedButtons] bit BIT_A_BUTTON, a jr z, .asm_f6f2 @@ -19583,7 +19546,7 @@ Func_f70d: ; 0xf70d ld a, [$d4ab] and a jr z, .asm_f736 - rst $10 + rst AdvanceFrame ld a, [hNewlyPressedButtons] bit BIT_A_BUTTON, a jr z, .asm_f736 @@ -19594,8 +19557,8 @@ Func_f70d: ; 0xf70d dec b jr nz, .asm_f70f ld de, wcBottomMessageText + $60 - ld hl, $308d - call Func_f7b1 + ld hl, Data_308d + call PrintTextNoHeader ld hl, $d46f ld de, wcBottomMessageText + $66 call Func_f8bd @@ -19607,7 +19570,7 @@ Func_f70d: ; 0xf70d ld a, [$d4ab] and a jr z, .asm_f76c - rst $10 + rst AdvanceFrame ld a, [hNewlyPressedButtons] bit BIT_A_BUTTON, a jr z, .asm_f76c @@ -19654,7 +19617,7 @@ Func_f78e: ; 0xf78e ld c, $0 ret -Func_f7b1: ; 0xf7b1 +PrintTextNoHeader: ; 0xf7b1 ld a, [$d805] and a jr nz, .asm_f7e0 @@ -19754,7 +19717,7 @@ Func_f83a: ; 0xf83a ld b, $46 .asm_f841 push bc - rst $10 + rst AdvanceFrame pop bc ld a, [hNewlyPressedButtons] bit BIT_A_BUTTON, a @@ -19786,7 +19749,7 @@ Func_f853: ; 0xf853 ld a, [$d4ab] and a jr z, .asm_f886 - rst $10 + rst AdvanceFrame ld a, [hNewlyPressedButtons] bit BIT_A_BUTTON, a jr z, .asm_f886 @@ -19936,7 +19899,7 @@ Func_f945: ; 0xf945 Func_f952: ; 0xf952 ld de, wcBottomMessageText + $03 ld hl, BellsproutCounterText - call Func_f7b1 + call PrintTextNoHeader ld hl, wcBottomMessageText + $03 ld a, [$d62a] call Func_f78e @@ -19952,7 +19915,7 @@ Func_f952: ; 0xf952 Func_f97a: ; 0xf97a ld de, wcBottomMessageText + $04 ld hl, DugtrioCounterText - call Func_f7b1 + call PrintTextNoHeader ld hl, wcBottomMessageText + $04 ld a, [$d62b] call Func_f78e @@ -19968,7 +19931,7 @@ Func_f97a: ; 0xf97a Func_f9a2: ; 0xf9a2 ld de, wcBottomMessageText + $03 ld hl, CaveShotCounterText - call Func_f7b1 + call PrintTextNoHeader ld hl, wcBottomMessageText + $03 ld a, [$d62c] call Func_f78e @@ -19984,7 +19947,7 @@ Func_f9a2: ; 0xf9a2 Func_f9ca: ; 0xf9ca ld de, wcBottomMessageText + $01 ld hl, SpinnerTurnsCounterText - call Func_f7b1 + call PrintTextNoHeader ld hl, wcBottomMessageText + $01 ld a, [$d62d] call Func_f78e @@ -20012,7 +19975,7 @@ Func_f9f3: ; 0xf9f3 Func_fa06: ; 0xfa06 ld de, wcBottomMessageText + $04 ld hl, CloysterCounterText - call Func_f7b1 + call PrintTextNoHeader ld hl, wcBottomMessageText + $04 ld a, [$d63b] call Func_f78e @@ -20028,7 +19991,7 @@ Func_fa06: ; 0xfa06 Func_fa2e: ; 0xfa2e ld de, wcBottomMessageText + $04 ld hl, SlowpokeCounterText - call Func_f7b1 + call PrintTextNoHeader ld hl, wcBottomMessageText + $04 ld a, [$d63a] call Func_f78e @@ -20044,7 +20007,7 @@ Func_fa2e: ; 0xfa2e Func_fa56: ; 0xfa56 ld de, wcBottomMessageText + $04 ld hl, PoliwagCounterText - call Func_f7b1 + call PrintTextNoHeader ld hl, wcBottomMessageText + $04 ld a, [$d63d] call Func_f78e @@ -20060,7 +20023,7 @@ Func_fa56: ; 0xfa56 Func_fa7e: ; 0xfa7e ld de, wcBottomMessageText + $04 ld hl, PsyduckCounterText - call Func_f7b1 + call PrintTextNoHeader ld hl, wcBottomMessageText + $04 ld a, [$d63c] call Func_f78e @@ -20076,7 +20039,7 @@ Func_fa7e: ; 0xfa7e Func_faa6: ; 0xfaa6 ld de, wcBottomMessageText + $03 ld hl, CaveShotCounterText - call Func_f7b1 + call PrintTextNoHeader ld hl, wcBottomMessageText + $03 ld a, [$d62c] call Func_f78e @@ -20092,7 +20055,7 @@ Func_faa6: ; 0xfaa6 Func_face: ; 0xface :) ld de, wcBottomMessageText + $01 ld hl, SpinnerTurnsCounterText - call Func_f7b1 + call PrintTextNoHeader ld hl, wcBottomMessageText + $01 ld a, [$d62d] call Func_f78e @@ -20136,9 +20099,7 @@ Func_10000: ; 0x10000 cp $2 jr nz, .asm_10021 ld [$ff8a], a - ld a, Bank(Func_301ce) - ld hl, Func_301ce - call BankSwitch + callba Func_301ce ret .asm_10021 ld a, [wCurrentStage] @@ -20269,13 +20230,9 @@ StartCatchEmMode: ; 0x1003f ld a, [hl] ld b, a ld [$ff8a], a - ld a, Bank(StartTimer) - ld hl, StartTimer - call BankSwitch + callba StartTimer ld [$ff8a], a - ld a, Bank(InitBallSaverForCatchEmMode) - ld hl, InitBallSaverForCatchEmMode - call BankSwitch + callba InitBallSaverForCatchEmMode call Func_10696 call Func_3579 ld a, [wCurrentStage] @@ -20294,7 +20251,7 @@ StartCatchEmMode: ; 0x1003f .asm_1011d call SetPokemonSeenFlag ld a, [wCurrentStage] - rst $18 ; calls JumpToFuncInTable + rst JumpTable ; calls JumpToFuncInTable CallTable_10124: ; 0x10124 ; STAGE_RED_FIELD_TOP dw Func_10871 @@ -20351,11 +20308,9 @@ Func_10157: ; 0x10157 ld [wNumMonHits], a call Func_10488 ld [$ff8a], a - ld a, Bank(Func_86d2) - ld hl, Func_86d2 - call BankSwitch + callba Func_86d2 ld a, [wCurrentStage] - rst $18 ; calls JumpToFuncInTable + rst JumpTable ; calls JumpToFuncInTable CallTable_10178: ; 0x10178 ; STAGE_RED_FIELD_TOP dw Func_108f5 @@ -20931,7 +20886,7 @@ CapturePokemon: ; 0x1052d call Func_3475 ld de, $0000 call PlaySong - rst $10 + rst AdvanceFrame ld de, $2329 call PlaySoundEffect call Func_10825 @@ -20953,9 +20908,7 @@ CapturePokemon: ; 0x1052d ld [$d548], a ld [$d549], a ld [$ff8a], a - ld a, Bank(Func_dc00) - ld hl, Func_dc00 - call BankSwitch + callba Func_dc00 call Func_10157 ld de, $0001 call PlaySong @@ -21234,9 +21187,7 @@ Func_107b0: ; 0x107b0 ld [$d604], a ld [wIndicatorStates + 4], a ld [$ff8a], a - ld a, Bank(Func_16425) - ld hl, Func_16425 - call BankSwitch + callba Func_16425 ret Func_107c2: ; 0x107c2 @@ -21318,9 +21269,7 @@ Func_10825: ; 0x10825 Func_10848: ; 0x10848 ld bc, $34fa ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch + callba Func_8588 call Func_30e8 call Func_30db ld hl, $d5d4 @@ -21377,23 +21326,15 @@ Func_10871: ; 0x10871 bit 0, a jr nz, .asm_108d3 ld [$ff8a], a - ld a, Bank(LoadStageCollisionAttributes) - ld hl, LoadStageCollisionAttributes - call BankSwitch + callba LoadStageCollisionAttributes ld [$ff8a], a - ld a, Bank(Func_159f4) - ld hl, Func_159f4 - call BankSwitch + callba Func_159f4 ret .asm_108d3 ld [$ff8a], a - ld a, Bank(Func_14135) - ld hl, Func_14135 - call BankSwitch + callba Func_14135 ld [$ff8a], a - ld a, Bank(Func_10184) - ld hl, Func_10184 - call BankSwitch + callba Func_10184 ld a, [hGameBoyColorFlag] and a ld [$ff8a], a @@ -21411,14 +21352,10 @@ Func_108f5: ; 0x108f5 bit 0, a ret z ld [$ff8a], a - ld a, Bank(Func_14135) - ld hl, Func_14135 - call BankSwitch + callba Func_14135 call Func_10432 ld [$ff8a], a - ld a, Bank(Func_30253) - ld hl, Func_30253 - call BankSwitch + callba Func_30253 ld a, Bank(StageSharedBonusSlotGlowGfx) ld hl, StageSharedBonusSlotGlowGfx ld de, $81a0 @@ -21434,9 +21371,7 @@ Func_108f5: ; 0x108f5 call Func_10aa ld a, [$d624] ld [$ff8a], a - ld a, Bank(Func_174d4) - ld hl, Func_174d4 - call BankSwitch + callba Func_174d4 ld hl, Data_1097d ld a, $4 call Func_10aa @@ -21491,18 +21426,14 @@ Func_1098c: ; 0x1098c xor a ld [wRightAlleyCount], a ld [$ff8a], a - ld a, Bank(Func_1f2ed) - ld hl, Func_1f2ed - call BankSwitch + callba Func_1f2ed ld de, $0002 call PlaySong ld a, [wCurrentStage] bit 0, a ret z ld [$ff8a], a - ld a, Bank(Func_1c2cb) - ld hl, Func_1c2cb - call BankSwitch + callba Func_1c2cb ld [$ff8a], a ld a, $4 ld hl, Func_10184 @@ -21519,21 +21450,15 @@ Func_109fc: ; 0x109fc call Func_107a5 call Func_107c2 ld [$ff8a], a - ld a, Bank(Func_1f2ff) - ld hl, Func_1f2ff - call BankSwitch + callba Func_1f2ff ld a, [wCurrentStage] bit 0, a ret z ld [$ff8a], a - ld a, Bank(Func_1c2cb) - ld hl, Func_1c2cb - call BankSwitch + callba Func_1c2cb call Func_10432 ld [$ff8a], a - ld a, Bank(Func_30253) - ld hl, Func_30253 - call BankSwitch + callba Func_30253 ld a, BANK(StageSharedBonusSlotGlowGfx) ld hl, StageSharedBonusSlotGlowGfx ld de, $81a0 @@ -21549,9 +21474,7 @@ Func_109fc: ; 0x109fc call Func_10aa ld a, [$d624] ld [$ff8a], a - ld a, Bank(Func_174d4) - ld hl, Func_174d4 - call BankSwitch + callba Func_174d4 ld hl, Data_10a88 ld a, $4 call Func_10aa @@ -21594,7 +21517,7 @@ Func_10ab3: ; 0x10ab3 and a ret nz ld a, [wCurrentStage] - rst $18 ; calls JumpToFuncInTable + rst JumpTable ; calls JumpToFuncInTable CallTable_10abc: ; 0x10abc ; STAGE_RED_FIELD_TOP dw Func_10ebb @@ -21625,11 +21548,9 @@ Func_10ac8: ; 0x10ac8 ld [$d554], a call Func_10488 ld [$ff8a], a - ld a, Bank(Func_86d2) - ld hl, Func_86d2 - call BankSwitch + callba Func_86d2 ld a, [wCurrentStage] - rst $18 ; calls JumpToFuncInTable + rst JumpTable ; calls JumpToFuncInTable CallTable_10af3: ; 0x10af3 ; STAGE_RED_FIELD_TOP dw Func_10fe3 @@ -21808,7 +21729,7 @@ Func_10bea: ; 0x10bea call Func_10c0c call Func_b2e call Func_10c38 - rst $10 + rst AdvanceFrame ld a, [$d809] bit 0, a jr z, .asm_10bf4 @@ -22004,9 +21925,7 @@ Func_10d1d: ; 0x10d1d ld a, [hl] ld b, a ld [$ff8a], a - ld a, Bank(StartTimer) - ld hl, StartTimer - call BankSwitch + callba StartTimer ld a, [wCurrentCatchEmMon] ld c, a ld b, $0 @@ -22087,9 +22006,7 @@ Func_10d1d: ; 0x10d1d dec b jr nz, .asm_10dc0 ld [$ff8a], a - ld a, Bank(InitBallSaverForCatchEmMode) - ld hl, InitBallSaverForCatchEmMode - call BankSwitch + callba InitBallSaverForCatchEmMode call Func_10b3f call Func_3579 ld a, [wCurrentStage] @@ -22184,9 +22101,7 @@ Func_10e0a: ; 0x10e0a Func_10e8b: ; 0x10e8b ld bc, $34e8 ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch + callba Func_8588 ld bc, $0100 ld de, $0000 push bc @@ -22237,26 +22152,22 @@ Func_10ebb: ; 0x10ebb ld a, [wCurrentStage] bit 0, a jr nz, .asm_10f0b - ld a, $36 - ld hl, $7e80 + ld a, BANK(Data_dbe80) + ld hl, Data_dbe80 ld de, $8900 ld bc, $00e0 call Func_735 ret .asm_10f0b - ld a, $36 - ld hl, $7e80 + ld a, BANK(Data_dbe80) + ld hl, Data_dbe80 ld de, $8200 ld bc, $00e0 call Func_735 ld [$ff8a], a - ld a, Bank(Func_14135) - ld hl, Func_14135 - call BankSwitch + callba Func_14135 ld [$ff8a], a - ld a, Bank(Func_10184) - ld hl, Func_10184 - call BankSwitch + callba Func_10184 ld a, [hGameBoyColorFlag] and a ld [$ff8a], a @@ -22308,41 +22219,33 @@ Func_10fe3: ; 0x10fe3 bit 0, a jp z, Func_10aff ld [$ff8a], a - ld a, Bank(Func_14135) - ld hl, Func_14135 - call BankSwitch + callba Func_14135 ld [$ff8a], a - ld a, Bank(Func_16425) - ld hl, Func_16425 - call BankSwitch + callba Func_16425 ld [$ff8a], a - ld a, Bank(Func_30253) - ld hl, Func_30253 - call BankSwitch - ld a, $36 - ld hl, $6c60 + callba Func_30253 + ld a, BANK(StageSharedBonusSlotGlowGfx) + ld hl, StageSharedBonusSlotGlowGfx + $60 ld de, $8200 ld bc, $00e0 call LoadVRAMData ld a, [hGameBoyColorFlag] and a jr z, .asm_11036 - ld a, $37 - ld hl, $4af8 + ld a, BANK(StageRedFieldBottomOBJPalette7) + ld hl, StageRedFieldBottomOBJPalette7 ld de, $0078 ld bc, $0008 call Func_7dc .asm_11036 - ld hl, $4958 - ld a, $4 + ld hl, Data_10958 + ld a, BANK(Data_10958) call Func_10aa ld a, [$d624] ld [$ff8a], a - ld a, Bank(Func_174d4) - ld hl, Func_174d4 - call BankSwitch - ld hl, $497d - ld a, $4 + callba Func_174d4 + ld hl, Data_1097d + ld a, BANK(Data_1097d) call Func_10aa ret @@ -22385,9 +22288,7 @@ Func_11061: ; 0x11061 xor a ld [wLeftAlleyCount], a ld [$ff8a], a - ld a, Bank(Func_1f2ed) - ld hl, Func_1f2ed - call BankSwitch + callba Func_1f2ed ld a, $2 ld [$d7ad], a ld de, $0002 @@ -22396,26 +22297,22 @@ Func_11061: ; 0x11061 ld a, [wCurrentStage] bit 0, a jr nz, .asm_110bd - ld a, $36 - ld hl, $7e80 + ld a, BANK(Data_dbe80) + ld hl, Data_dbe80 ld de, $8600 ld bc, $00e0 call Func_735 ret .asm_110bd - ld a, $36 - ld hl, $7e80 + ld a, BANK(Data_dbe80) + ld hl, Data_dbe80 ld de, $8200 ld bc, $00e0 call Func_735 ld [$ff8a], a - ld a, Bank(Func_1c2cb) - ld hl, Func_1c2cb - call BankSwitch + callba Func_1c2cb ld [$ff8a], a - ld a, Bank(Func_10184) - ld hl, Func_10184 - call BankSwitch + callba Func_10184 ld a, [hGameBoyColorFlag] and a ld [$ff8a], a @@ -22464,48 +22361,38 @@ Func_11195: ; 0x11195 call Func_107a5 call Func_107c2 ld [$ff8a], a - ld a, Bank(Func_1f2ff) - ld hl, Func_1f2ff - call BankSwitch + callba Func_1f2ff ld a, [wCurrentStage] bit 0, a jp z, Func_1120e ld [$ff8a], a - ld a, Bank(Func_1c2cb) - ld hl, Func_1c2cb - call BankSwitch + callba Func_1c2cb ld [$ff8a], a - ld a, Bank(Func_1e8f6) - ld hl, Func_1e8f6 - call BankSwitch + callba Func_1e8f6 ld [$ff8a], a - ld a, Bank(Func_30253) - ld hl, Func_30253 - call BankSwitch - ld a, $36 - ld hl, $6c60 + callba Func_30253 + ld a, Bank(StageSharedBonusSlotGlowGfx) + ld hl, StageSharedBonusSlotGlowGfx + $60 ld de, $8200 ld bc, $00e0 call LoadVRAMData ld a, [hGameBoyColorFlag] and a jr z, .asm_111f0 - ld a, $37 - ld hl, $4bf8 + ld a, BANK(StageBlueFieldBottomOBJPalette7) + ld hl, StageBlueFieldBottomOBJPalette7 ld de, $0078 ld bc, $0008 call Func_7dc .asm_111f0 - ld hl, $4a63 - ld a, $4 + ld hl, Data_10a63 + ld a, BANK(Data_10a63) call Func_10aa ld a, [$d624] ld [$ff8a], a - ld a, Bank(Func_174d4) - ld hl, Func_174d4 - call BankSwitch - ld hl, $4a88 - ld a, $4 + callba Func_174d4 + ld hl, Data_10a88 + ld a, BANK(Data_10a88) call Func_10aa ret @@ -24889,9 +24776,7 @@ Func_14091: ; 0x14091 bit 0, a ret nz ld [$ff8a], a - ld a, Bank(LoadStageCollisionAttributes) - ld hl, LoadStageCollisionAttributes - call BankSwitch + callba LoadStageCollisionAttributes call Func_159f4 ret @@ -24968,13 +24853,9 @@ Func_1414b: ; 0x1414b jp Func_14210 .asm_14165 ld [$ff8a], a - ld a, Bank(Func_141f2) - ld hl, Func_141f2 - call BankSwitch + callba Func_141f2 ld [$ff8a], a - ld a, Bank(Func_10362) - ld hl, Func_10362 - call BankSwitch + callba Func_10362 ld a, [hGameBoyColorFlag] and a ld [$ff8a], a @@ -24984,13 +24865,13 @@ Func_1414b: ; 0x1414b ld a, [$d5f3] and a ret z - ld a, $2a - ld hl, $47e0 + ld a, BANK(PikachuSaverGfx) + ld hl, PikachuSaverGfx + $c0 ld de, $87e0 ld bc, $0020 call FarCopyData - ld a, $2a - ld hl, $4800 + ld a, BANK(GFX_a8800) + ld hl, GFX_a8800 ld de, $8900 ld bc, $0180 call FarCopyData @@ -25059,9 +24940,7 @@ Func_14210: ; 0x14210 dec b jr nz, .asm_14215 ld [$ff8a], a - ld a, Bank(Func_10184) - ld hl, Func_10184 - call BankSwitch + callba Func_10184 ld a, [hGameBoyColorFlag] and a ld [$ff8a], a @@ -25083,15 +24962,15 @@ Func_14234: ; 0x14234 ld a, [wCurrentStage] bit 0, a jr nz, .asm_1425c - ld a, $36 - ld hl, $7e80 + ld a, BANK(Data_dbe80) + ld hl, Data_dbe80 ld de, $8900 ld bc, $00e0 call FarCopyData jr .asm_1426a .asm_1425c - ld a, $36 - ld hl, $7e80 + ld a, BANK(Data_dbe80) + ld hl, Data_dbe80 ld de, $8200 ld bc, $00e0 call FarCopyData @@ -25102,8 +24981,8 @@ Func_14234: ; 0x14234 ld a, [hGameBoyColorFlag] and a ret z - ld a, $37 - ld hl, $5188 + ld a, BANK(Data_dd188) + ld hl, Data_dd188 ld de, $0070 ld bc, $0010 call Func_6fd @@ -25128,8 +25007,8 @@ Func_14282: ; 0x14282 .asm_1429e ld a, [$d624] call Func_174d4 - ld a, $36 - ld hl, $4f60 + ld a, BANK(Data_d8f60) + ld hl, Data_d8f60 ld de, $8ae0 ld bc, $0020 call FarCopyData @@ -25138,9 +25017,7 @@ Func_14282: ; 0x14282 Func_142b3: ; 0x142b3 push af ld [$ff8a], a - ld a, Bank(Func_10611) - ld hl, Func_10611 - call BankSwitch + callba Func_10611 pop af dec a jr nz, Func_142b3 @@ -25168,7 +25045,7 @@ Func_142d7: ; 0x142d7 ld b, $0 swap c sla c - ld hl, $4e80 + ld hl, Data_d8e80 add hl, bc swap e sla e @@ -25179,7 +25056,7 @@ Func_142d7: ; 0x142d7 ld e, l pop hl ld bc, $0020 - ld a, $36 + ld a, BANK(Data_d8e80) call FarCopyData pop de pop bc @@ -25190,23 +25067,17 @@ Func_142fc: ; 0x142fc and a jr nz, .asm_1430e ld [$ff8a], a - ld a, Bank(LoadBallGfx) - ld hl, LoadBallGfx - call BankSwitch + callba LoadBallGfx jr .asm_14328 .asm_1430e cp $1 jr nz, .asm_1431e ld [$ff8a], a - ld a, Bank(LoadMiniBallGfx) - ld hl, LoadMiniBallGfx - call BankSwitch + callba LoadMiniBallGfx jr .asm_14328 .asm_1431e ld [$ff8a], a - ld a, Bank(Func_dd62) - ld hl, Func_dd62 - call BankSwitch + callba Func_dd62 .asm_14328 ld a, [hGameBoyColorFlag] and a @@ -25214,8 +25085,8 @@ Func_142fc: ; 0x142fc ld a, [wBallType] cp GREAT_BALL jr nc, .notPokeball - ld a, $37 - ld hl, $5168 + ld a, BANK(PokeBallObjPalette) + ld hl, PokeBallObjPalette ld de, $0040 ld bc, $0008 call Func_6fd @@ -25223,8 +25094,8 @@ Func_142fc: ; 0x142fc .notPokeball cp ULTRA_BALL jr nc, .notGreatball - ld a, $37 - ld hl, $5170 + ld a, BANK(GreatBallObjPalette) + ld hl, GreatBallObjPalette ld de, $0040 ld bc, $0008 call Func_6fd @@ -25232,15 +25103,15 @@ Func_142fc: ; 0x142fc .notGreatball cp MASTER_BALL jr nc, .notUltraball - ld a, $37 - ld hl, $5178 + ld a, BANK(UltraBallObjPalette) + ld hl, UltraBallObjPalette ld de, $0040 ld bc, $0008 call Func_6fd ret .notUltraball - ld a, $37 - ld hl, $5180 + ld a, BANK(MasterBallObjPalette) + ld hl, MasterBallObjPalette ld de, $0040 ld bc, $0008 call Func_6fd @@ -25256,9 +25127,7 @@ Func_14377: ; 0x14377 ld a, [$d498] add $15 ld [$ff8a], a - ld a, Bank(Func_30256) - ld hl, Func_30256 - call BankSwitch + callba Func_30256 ret .asm_14393 ld a, [$d608] @@ -25266,15 +25135,11 @@ Func_14377: ; 0x14377 jr z, .asm_143a6 ld a, $1a ld [$ff8a], a - ld a, Bank(Func_30256) - ld hl, Func_30256 - call BankSwitch + callba Func_30256 ret .asm_143a6 ld [$ff8a], a - ld a, Bank(Func_30253) - ld hl, Func_30253 - call BankSwitch + callba Func_30253 ret .asm_143b1 ld a, [wSpecialMode] @@ -25284,9 +25149,7 @@ Func_14377: ; 0x14377 cp $3 jr nz, .asm_143c9 ld [$ff8a], a - ld a, Bank(Func_30253) - ld hl, Func_30253 - call BankSwitch + callba Func_30253 ret .asm_143c9 ld a, [$d604] @@ -25297,9 +25160,7 @@ Func_14377: ; 0x14377 add $12 .asm_143d6 ld [$ff8a], a - ld a, Bank(Func_30256) - ld hl, Func_30256 - call BankSwitch + callba Func_30256 ret Func_143e1: ; 0x143e1 @@ -25347,109 +25208,176 @@ Func_1441e: ; 0x1441e jp PinballCollideWithPoints Func_14439: ; 0x14439 - ld de, $45b5 + ld de, Data_145b5 ld bc, $d5fe scf jp Func_2775 Func_14443: ; 0x14443 - ld de, $45bb + ld de, Data_145bb ld bc, $d601 scf jp Func_2775 Func_1444d: ; 0x1444d - ld de, $45af - ld hl, $459d + ld de, Data_145af + ld hl, Data_1459d ld bc, $d5c7 and a jp Func_2775 Func_1445a: ; 0x1445a - ld de, $45c9 - ld hl, $45c1 + ld de, Data_145c9 + ld hl, Data_145c1 ld bc, $d60a and a jp Func_2775 Func_14467: ; 0x14467 - ld de, $44f4 - ld hl, $44ee + ld de, Data_144f4 + ld hl, Data_144ee ld bc, $d4ed and a jp Func_2775 Func_14474: ; 0x14474 - ld de, $4515 ; todo - ld hl, $44fd ; todo + ld de, Data_14515 ; todo + ld hl, Data_144fd ; todo ld bc, $d4cb and a jp Func_2775 Func_14481: ; 0x14481 - ld de, $452d - ld hl, $4521 + ld de, Data_1452d + ld hl, Data_14521 ld bc, $d4d8 and a jp Func_2775 Func_1448e: ; 0x1448e - ld de, $4536 + ld de, Data_14536 ld bc, $d4dc scf jp Func_2775 Func_14498: ; 0x14498 - ld de, $453c ; todo + ld de, Data_1453c ; todo ld bc, $d507 scf jp Func_2775 Func_144a2: ; 0x144a2 - ld de, $4542 + ld de, Data_14542 ld bc, $d50d scf jp Func_2775 Func_144ac: ; 0x144ac - ld de, $4551 + ld de, Data_14551 ld bc, $d5f7 scf jp Func_2775 Func_144b6: ; 0x144b6 - ld de, $455d ; todo + ld de, Data_1455d ; todo ld bc, $d51f scf jp Func_2775 Func_144c0: ; 0x144c0 - ld de, $457d ; todo - ld hl, $4578 ; todo + ld de, Data_1457d ; todo + ld hl, Data_14578 ; todo ld bc, $d500 and a jp Func_2775 Func_144cd: ; 0x144cd - ld de, $4588 - ld hl, $4583 + ld de, Data_14588 + ld hl, Data_14583 ld bc, $d500 and a jp Func_2775 Func_144da: ; 0x144da - ld de, $458e + ld de, Data_1458e ld bc, $d4fb scf jp Func_2775 Func_144e4: ; 0x144e4 - ld de, $4594 + ld de, Data_14594 ld bc, $d515 scf jp Func_2775 - dr $144ee, $145d2 +Data_144ee: + dr $144ee, $144f4 + +Data_144f4: + dr $144f4, $144fd + +Data_144fd: + dr $144fd, $14515 + +Data_14515: + dr $14515, $14521 + +Data_14521: + dr $14521, $1452d + +Data_1452d: + dr $1452d, $14536 + +Data_14536: + dr $14536, $1453c + +Data_1453c: + dr $1453c, $14542 + +Data_14542: + dr $14542, $14551 + +Data_14551: + dr $14551, $1455d + +Data_1455d: + dr $1455d, $14578 + +Data_14578: + dr $14578, $1457d + +Data_1457d: + dr $1457d, $14583 + +Data_14583: + dr $14583, $14588 + +Data_14588: + dr $14588, $1458e + +Data_1458e: + dr $1458e, $14594 + +Data_14594: + dr $14594, $1459d + +Data_1459d: + dr $1459d, $145af + +Data_145af: + dr $145af, $145b5 + +Data_145b5: + dr $145b5, $145bb + +Data_145bb: + dr $145bb, $145c1 + +Data_145c1: + dr $145c1, $145c9 + +Data_145c9: + dr $145c9, $145d2 RedStageEvolutionTrinketCoordinatePointers: ; 0x145d2 dw RedStageTopEvolutionTrinketCoords @@ -25503,14 +25431,10 @@ Func_1460e: ; 0x1460e call Func_174ea call Func_148cf ld [$ff8a], a - ld a, Bank(Func_30188) - ld hl, Func_30188 - call BankSwitch + callba Func_30188 ld a, $0 ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch + callba Func_10000 ret Func_14652: ; 0x14652 @@ -25534,14 +25458,10 @@ Func_14652: ; 0x14652 call Func_146a2 call Func_174d0 ld [$ff8a], a - ld a, Bank(Func_30188) - ld hl, Func_30188 - call BankSwitch + callba Func_30188 ld a, $0 ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch + callba Func_10000 ret Func_146a2: ; 0x146a2 @@ -25607,21 +25527,25 @@ Func_14707: ; 0x14707 ld a, [wBallSaverIconOn] and a jr nz, .asm_1471c - ld a, $5 - ld hl, $472b + ld a, BANK(Data_1172b) + ld hl, Data_1172b ld de, $99a8 ld bc, $0004 call Func_735 ret .asm_1471c - ld a, $5 - ld hl, $472f + ld a, BANK(Data_1472f) + ld hl, Data_1472f ld de, $99a8 ld bc, $0004 call Func_735 ret - dr $1472b, $14733 +Data_1172b: + dr $1472b, $1472f + +Data_1472f: + dr $1472f, $14733 Func_14733: ; 0x14733 ld c, $0 @@ -25645,15 +25569,16 @@ Func_14746: ; 0x14746 ld c, $2 .asm_14750 ld b, $0 - ld hl, $475f + ld hl, Data_1475f add hl, bc ld a, [hli] ld h, [hl] ld l, a - ld a, $5 + ld a, BANK(Data_1475f) call Func_10aa ret +Data_1475f: dr $1475f, $14795 Func_14795: ; 0x14795 @@ -25707,9 +25632,7 @@ Func_147aa: ; 0x147aa call Func_149f5 ld a, $8 ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch + callba Func_10000 ld a, [wRightMapMoveCounter] cp $3 call z, Func_14920 @@ -25725,9 +25648,7 @@ Func_147aa: ; 0x147aa call Func_149f5 ld a, $7 ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch + callba Func_10000 ld a, [wLeftMapMoveCounter] cp $3 call z, Func_14947 @@ -25887,9 +25808,7 @@ Func_14920: ; 0x14920 ld a, $1 ld [$d55a], a ld [$ff8a], a - ld a, Bank(StartMapMoveMode) - ld hl, StartMapMoveMode - call BankSwitch + callba StartMapMoveMode ret Func_14947: ; 0x14947 @@ -25906,9 +25825,7 @@ Func_14947: ; 0x14947 xor a ld [$d55a], a ld [$ff8a], a - ld a, Bank(StartMapMoveMode) - ld hl, StartMapMoveMode - call BankSwitch + callba StartMapMoveMode ret Func_1496d: ; 0x1496d @@ -25920,9 +25837,7 @@ Func_1496d: ; 0x1496d ld [$d7eb], a ld bc, $34be ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch + callba AddBCDScore ld de, $000f call PlaySoundEffect ret @@ -25970,11 +25885,11 @@ Func_149d9: ; 0x149d9 sla a ld c, a ld b, $0 - ld hl, $4a11 ; todo + ld hl, Data_14a11 ld a, [hGameBoyColorFlag] and a jr z, .asm_149e9 - ld hl, $4a83 ; todo + ld hl, Data_14a83 .asm_149e9 add hl, bc ld a, [hli] @@ -25982,7 +25897,7 @@ Func_149d9: ; 0x149d9 ld l, a or h ret z - ld a, $5 + ld a, BANK(Data_14a11) call Func_10aa ret @@ -25990,11 +25905,11 @@ Func_149f5: ; 0x149f5 sla a ld c, a ld b, $0 - ld hl, $4af5 ; todo + ld hl, Data_14af5 ld a, [hGameBoyColorFlag] and a jr z, .asm_14a05 - ld hl, $4c8d ; todo + ld hl, Data_14c8d .asm_14a05 add hl, bc ld a, [hli] @@ -26002,11 +25917,21 @@ Func_149f5: ; 0x149f5 ld l, a or h ret z - ld a, $5 + ld a, BANK(Data_14af5) call Func_10aa ret - dr $14a11, $14d85 +Data_14a11: + dr $14a11, $14a83 + +Data_14a83: + dr $14a83, $14af5 + +Data_14af5: + dr $14af5, $14c8d + +Data_14c8d: + dr $14c8d, $14d85 Func_14d85: ; 0x14d85 ld a, [$d4cb] @@ -26022,14 +25947,10 @@ Func_14d85: ; 0x14d85 ld [$d4d7], a ld a, $4 ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch - ld bc, $34be + callba Func_10000 + ld bc, Data_34be ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch + callba AddBCDScore ret .asm_14db9 ld a, [$d4d6] @@ -26074,9 +25995,7 @@ Func_14dea: ; 0x14dea ld [$d50c], a ld a, $c ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch + callba Func_10000 ; fall through Func_14e10: ; 0x14e10 ld hl, $d50b @@ -26135,11 +26054,9 @@ Func_14e10: ; 0x14e10 ld a, c and a ret z - ld bc, $34ac + ld bc, Data_34ac ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch + callba AddBCDScore ld hl, $d62d call Func_e4a ld a, [$d517] @@ -26170,7 +26087,7 @@ Func_14ea7: ; 0x14ea7 ld a, [$d517] ld c, a ld b, $0 - ld hl, $4ebe ; todo + ld hl, Data_14ebe add hl, bc ld a, [hl] ld e, a @@ -26178,6 +26095,7 @@ Func_14ea7: ; 0x14ea7 call PlaySoundEffect ret +Data_14ebe: dr $14ebe, $14ece Func_14ece: ; 0x14ece @@ -26185,21 +26103,25 @@ Func_14ece: ; 0x14ece ld c, a sla c ld b, $0 - ld hl, $4eeb ; todo + ld hl, Data_14eeb ld a, [hGameBoyColorFlag] and a jr z, .asm_14ee1 - ld hl, $509b + ld hl, Data_1509b .asm_14ee1 add hl, bc ld a, [hli] ld h, [hl] ld l, a - ld a, $5 + ld a, BANK(Data_14eeb) call Func_10aa ret - dr $14eeb, $151cb +Data_14eeb: + dr $14eeb, $1509b + +Data_1509b: + dr $1509b, $151cb Func_151cb: ; 0x151cb ld a, [$d50d] @@ -26220,11 +26142,9 @@ Func_151cb: ; 0x151cb ld [hl], $1 and a ret nz - ld bc, $34b2 + ld bc, Data_34b2 ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch + callba AddBCDScore ld hl, $d50f ld a, [hli] and [hl] @@ -26237,11 +26157,9 @@ Func_151cb: ; 0x151cb ld [$d513], a ld a, $80 ld [$d514], a - ld bc, $34b8 + ld bc, Data_34b8 ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch + callba AddBCDScore ld de, $0009 call PlaySoundEffect ld hl, $d62c @@ -26395,9 +26313,7 @@ Func_1535d: ; 0x1535d call Func_159c9 ld a, $b ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch + callba Func_10000 ld a, [$d5f8] sub $e ld c, a @@ -26410,9 +26326,7 @@ Func_1535d: ; 0x1535d ret nz ld bc, $34b2 ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch + callba AddBCDScore ld hl, $d5f9 ld a, [hli] and [hl] @@ -26434,9 +26348,7 @@ Func_1535d: ; 0x1535d ld [wBallTypeCounter + 1], a ld bc, $34b8 ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch + callba AddBCDScore ld a, [wBallType] cp MASTER_BALL jr z, .masterBall @@ -26462,9 +26374,7 @@ Func_1535d: ; 0x1535d call PlaySoundEffect ld bc, $34e8 ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch + callba Func_8588 ld bc, $0100 ld de, $0000 push bc @@ -26712,9 +26622,7 @@ Func_1581f: ; 0x1581f ld [$d51f], a ld bc, $34a6 ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch + callba AddBCDScore ld a, [$d520] sub $11 ld c, a @@ -26758,9 +26666,7 @@ Func_1587c: ; 0x1587c ld [wLeftAlleyTrigger], a ld a, $1 ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch + callba Func_10000 ret c ld a, [wLeftAlleyCount] cp $3 @@ -26776,9 +26682,7 @@ Func_1587c: ; 0x1587c or $6 ld [wStageCollisionState], a ld [$ff8a], a - ld a, Bank(LoadStageCollisionAttributes) - ld hl, LoadStageCollisionAttributes - call BankSwitch + callba LoadStageCollisionAttributes call Func_159f4 ret @@ -26792,9 +26696,7 @@ Func_158c0: ; 0x158c0 ld [wLeftAlleyTrigger], a ld a, $1 ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch + callba Func_10000 ret c ld a, [wLeftAlleyCount] cp $3 @@ -26810,9 +26712,7 @@ Func_158c0: ; 0x158c0 or $6 ld [wStageCollisionState], a ld [$ff8a], a - ld a, Bank(LoadStageCollisionAttributes) - ld hl, LoadStageCollisionAttributes - call BankSwitch + callba LoadStageCollisionAttributes call Func_159f4 ret @@ -26826,9 +26726,7 @@ Func_15904: ; 0x15904 ld [wSecondaryLeftAlleyTrigger], a ld a, $3 ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch + callba Func_10000 ret HandleLeftAlleyTriggerRedField: ; 0x1591e @@ -26862,9 +26760,7 @@ Func_15944: ; 0x15944 ld [wRightAlleyTrigger], a ld a, $2 ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch + callba Func_10000 ret c ld a, [wRightAlleyCount] cp $3 @@ -26904,9 +26800,7 @@ Func_15990: ; 0x15990 ld [wRightAlleyTrigger], a ld a, $2 ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch + callba Func_10000 ret c ld a, [wRightAlleyCount] cp $3 @@ -26937,9 +26831,7 @@ Func_159c9: ; 0x159c9 ld a, $ff ld [$d7ad], a ld [$ff8a], a - ld a, Bank(LoadStageCollisionAttributes) - ld hl, LoadStageCollisionAttributes - call BankSwitch + callba LoadStageCollisionAttributes call Func_159f4 ld a, $1 ld [$d580], a @@ -26999,9 +26891,7 @@ Func_15e93: ; 0x15e93 ld [$d4fb], a ld bc, $34d0 ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch + callba AddBCDScore ld de, $0005 call PlaySoundEffect ld hl, BellsproutAnimationData @@ -27051,9 +26941,7 @@ Func_15e93: ; 0x15e93 .asm_15f11 ld [wRareMonsFlag], a ld [$ff8a], a - ld a, Bank(StartCatchEmMode) - ld hl, StartCatchEmMode - call BankSwitch + callba StartCatchEmMode .noCatchEmMode ld hl, $d62a call Func_e4a @@ -27086,9 +26974,7 @@ Func_15e93: ; 0x15e93 call PlaySoundEffect ld a, $5 ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch + callba Func_10000 ret BellsproutAnimationData: ; 0x15f69 @@ -27195,9 +27081,7 @@ Func_160f0: ; 0x160f0 ld [$d5fe], a ld bc, $34d0 ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch + callba AddBCDScore ld de, $0021 call PlaySoundEffect xor a @@ -27228,17 +27112,13 @@ Func_160f0: ; 0x160f0 cp $f jr nz, .asm_1614f ld [$ff8a], a - ld a, Bank(LoadMiniBallGfx) - ld hl, LoadMiniBallGfx - call BankSwitch + callba LoadMiniBallGfx ret .asm_1614f cp $c jr nz, .asm_1615e ld [$ff8a], a - ld a, Bank(Func_dd62) - ld hl, Func_dd62 - call BankSwitch + callba Func_dd62 ret .asm_1615e cp $9 @@ -27252,9 +27132,7 @@ Func_160f0: ; 0x160f0 cp $6 jr nz, .asm_1618e ld [$ff8a], a - ld a, Bank(Func_10ab3) - ld hl, Func_10ab3 - call BankSwitch + callba Func_10ab3 ld a, $1 ld [$d548], a ld [$d549], a @@ -27267,17 +27145,13 @@ Func_160f0: ; 0x160f0 cp $3 jr nz, .asm_1619d ld [$ff8a], a - ld a, Bank(LoadMiniBallGfx) - ld hl, LoadMiniBallGfx - call BankSwitch + callba LoadMiniBallGfx ret .asm_1619d and a ret nz ld [$ff8a], a - ld a, Bank(LoadBallGfx) - ld hl, LoadBallGfx - call BankSwitch + callba LoadBallGfx ld a, $2 ld [wBallYVelocity + 1], a ret @@ -27456,17 +27330,13 @@ Func_16279: ; 0x16279 ld de, $0021 call PlaySoundEffect ld [$ff8a], a - ld a, Bank(LoadMiniBallGfx) - ld hl, LoadMiniBallGfx - call BankSwitch + callba LoadMiniBallGfx ret .asm_162d4 cp $f jr nz, .asm_162e3 ld [$ff8a], a - ld a, Bank(Func_dd62) - ld hl, Func_dd62 - call BankSwitch + callba Func_dd62 ret .asm_162e3 cp $c @@ -27491,17 +27361,13 @@ Func_16279: ; 0x16279 ld a, $8 ld [$d804], a ld [$ff8a], a - ld a, Bank(LoadMiniBallGfx) - ld hl, LoadMiniBallGfx - call BankSwitch + callba LoadMiniBallGfx ret .asm_16317 cp $3 jr nz, .asm_16330 ld [$ff8a], a - ld a, Bank(LoadBallGfx) - ld hl, LoadBallGfx - call BankSwitch + callba LoadBallGfx ld a, $2 ld [wBallYVelocity + 1], a ld a, $80 @@ -27518,9 +27384,7 @@ Func_16279: ; 0x16279 and $8 ld [wRareMonsFlag], a ld [$ff8a], a - ld a, Bank(StartCatchEmMode) - ld hl, StartCatchEmMode - call BankSwitch + callba StartCatchEmMode xor a ld [$d622], a ret @@ -27530,9 +27394,7 @@ Func_16352: ; 0x16352 ld [wIndicatorStates + 4], a ld a, $d ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch + callba Func_10000 jr nc, .asm_1636d ld a, $1 ld [$d548], a @@ -27575,9 +27437,7 @@ Func_16352: ; 0x16352 ret .asm_163b3 ld [$ff8a], a - ld a, Bank(Func_ed8e) - ld hl, Func_ed8e - call BankSwitch + callba Func_ed8e xor a ld [$d608], a ld a, [$d61d] @@ -27590,9 +27450,7 @@ Func_16352: ; 0x16352 cp $2 ret nz ld [$ff8a], a - ld a, Bank(Func_10ab3) - ld hl, Func_10ab3 - call BankSwitch + callba Func_10ab3 ld a, [$d7ad] ld c, a ld a, [wStageCollisionState] @@ -27619,7 +27477,7 @@ Func_163f2: ; 0x163f2 call Func_32aa ld de, $0000 call PlaySong - rst $10 + rst AdvanceFrame ld de, $3c23 call PlaySoundEffect ret @@ -27769,16 +27627,12 @@ Func_1658f: ; 0x1658f pop af add $29 ; map billboard pictures start at the $29th entry in BillboardPicturePointers ld [$ff8a], a - ld a, Bank(LoadBillboardPicture) - ld hl, LoadBillboardPicture - call BankSwitch + callba LoadBillboardPicture ld b, $20 ; number of frames to delay before the next map is shown .waitOnCurrentMap push bc ld [$ff8a], a - ld a, Bank(Func_eeee) - ld hl, Func_eeee - call BankSwitch + callba Func_eeee ld hl, wKeyConfigBallStart call IsKeyPressed jr nz, .ballStartKeyPressed @@ -27789,14 +27643,10 @@ Func_1658f: ; 0x1658f .ballStartKeyPressed pop bc ld [$ff8a], a - ld a, Bank(Func_30253) - ld hl, Func_30253 - call BankSwitch + callba Func_30253 ld bc, $2cd1 ld [$ff8a], a - ld a, Bank(Func_3118f) - ld hl, Func_3118f - call BankSwitch + callba Func_3118f ld a, [wCurrentMap] ld [$d4e3], a xor a @@ -27895,12 +27745,10 @@ Func_1669e: ; 0x1669e xor a ld [$d85d], a call Func_310a - rst $10 + rst AdvanceFrame ld a, $1 ld [$ff8a], a - ld a, Bank(PlayPikachuSoundClip) - ld hl, PlayPikachuSoundClip - call BankSwitch + callba PlayPikachuSoundClip ld a, $1 ld [$d85d], a ld a, $ff @@ -27930,9 +27778,7 @@ Func_1669e: ; 0x1669e ld [$d549], a ld bc, $34ca ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch + callba AddBCDScore xor a ld [$d51c], a ret @@ -28010,9 +27856,7 @@ Func_16781: ; 0x16781 jr nz, .asm_167c2 ld bc, $34ca ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch + callba AddBCDScore ld a, [$d502] xor $1 set 1, a @@ -28022,9 +27866,7 @@ Func_16781: ; 0x16781 call Func_16859 ld a, $6 ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch + callba Func_10000 ret .asm_167bd ld a, [$d503] @@ -28046,9 +27888,7 @@ Func_16781: ; 0x16781 or c ld [wStageCollisionState], a ld [$ff8a], a - ld a, Bank(LoadStageCollisionAttributes) - ld hl, LoadStageCollisionAttributes - call BankSwitch + callba LoadStageCollisionAttributes call Func_159f4 ld de, $0007 call PlaySoundEffect @@ -28068,9 +27908,7 @@ Func_167ff: ; 0x167ff jr nz, .asm_1683e ld bc, $34ca ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch + callba AddBCDScore ld a, [$d502] xor $1 ld [$d502], a @@ -28079,9 +27917,7 @@ Func_167ff: ; 0x167ff call Func_16878 ld a, $6 ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch + callba Func_10000 ret .asm_16839 ld a, [$d503] @@ -28213,9 +28049,7 @@ Func_16d9d: ; 016d9d jr nz, .asm_16ddc ld a, $9 ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch + callba Func_10000 ld a, [$d610] cp $3 jr nz, .asm_16e35 @@ -28230,9 +28064,7 @@ Func_16d9d: ; 016d9d .asm_16ddc ld a, $a ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch + callba Func_10000 ld a, [$d611] cp $3 jr nz, .asm_16e35 @@ -28269,9 +28101,7 @@ Func_16d9d: ; 016d9d .asm_16e35 ld bc, $34ac ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch + callba AddBCDScore ld a, [$d60c] call Func_16f28 ld a, [$d60d] @@ -28573,9 +28403,7 @@ Func_1757e: ; 0x1757e call Func_17c96 call Func_17e08 ld [$ff8a], a - ld a, Bank(Func_e4a1) - ld hl, Func_e4a1 - call BankSwitch + callba Func_e4a1 call Func_17e81 call Func_17f0f call Func_17f75 @@ -29184,9 +29012,7 @@ Func_18000: ; 0x18000 ld a, $3 ld [$d49e], a ld [$ff8a], a - ld a, Bank(Func_dbba) - ld hl, Func_dbba - call BankSwitch + callba Func_dbba ret Func_1804a: ; 0x1804a @@ -29211,9 +29037,7 @@ Func_18061: ; 0x18061 Func_18062: ; 0x18062 ld [$ff8a], a - ld a, Bank(Func_1448e) - ld hl, Func_1448e - call BankSwitch + callba Func_1448e ret Func_1806d: ; 0x1806d @@ -29221,27 +29045,19 @@ Func_1806d: ; 0x1806d Func_1806e: ; 0x1806e ld [$ff8a], a - ld a, Bank(Func_1652d) - ld hl, Func_1652d - call BankSwitch + callba Func_1652d ret Func_18079: ; 0x18079 ld [$ff8a], a - ld a, Bank(Func_17e81) - ld hl, Func_17e81 - call BankSwitch + callba Func_17e81 ret Func_18084: ; 0x18084 ld [$ff8a], a - ld a, Bank(Func_e4a1) - ld hl, Func_e4a1 - call BankSwitch + callba Func_e4a1 ld [$ff8a], a - ld a, Bank(Func_17e81) - ld hl, Func_17e81 - call BankSwitch + callba Func_17e81 ret InitGengarBonusStage: ; 0x18099 @@ -29289,9 +29105,7 @@ InitGengarBonusStage: ; 0x18099 ld [$d656], a ld bc, $0130 ; 1 minute 30 seconds ld [$ff8a], a - ld a, Bank(StartTimer) - ld hl, StartTimer - call BankSwitch + callba StartTimer ld a, $f call SetSongBank ld de, $0005 @@ -29343,16 +29157,12 @@ StartBallGengarBonusStage: ; 0x18157 Func_1818b: ; 0x1818b ld [$ff8a], a - ld a, Bank(Func_142fc) - ld hl, Func_142fc - call BankSwitch + callba Func_142fc call Func_2862 call Func_18d72 ld a, [$d7c1] ld [$ff8a], a - ld a, Bank(Func_1404a) - ld hl, Func_1404a - call BankSwitch + callba Func_1404a and a ret z call Func_183db @@ -29603,9 +29413,7 @@ Func_18377: ; 0x18377 call Func_18d34 call Func_183b7 ld [$ff8a], a - ld a, Bank(Func_107f8) - ld hl, Func_107f8 - call BankSwitch + callba Func_107f8 ld a, [$d57e] and a ret z @@ -29615,9 +29423,7 @@ Func_18377: ; 0x18377 ld [$d7be], a call Func_2862 ld [$ff8a], a - ld a, Bank(Func_86d2) - ld hl, Func_86d2 - call BankSwitch + callba Func_86d2 ld a, [$d6a2] cp $5 ret nc @@ -29636,9 +29442,7 @@ Func_183b7: ; 0x183b7 ld [wStageCollisionState], a ld [$d653], a ld [$ff8a], a - ld a, Bank(LoadStageCollisionAttributes) - ld hl, LoadStageCollisionAttributes - call BankSwitch + callba LoadStageCollisionAttributes call Func_183db call Func_18d91 ret @@ -29706,9 +29510,7 @@ Func_18464: ; 0x18464 ld [$d67b], a ld bc, $34d6 ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch + callba Func_8588 ld a, $33 ld [$d803], a ld a, $8 @@ -29917,9 +29719,7 @@ Func_1860b: ; 0x1860b ld [$d695], a ld bc, $34e2 ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch + callba Func_8588 ld a, $33 ld [$d803], a ld a, $8 @@ -30141,17 +29941,13 @@ Func_187b1: ; 0x187b1 ld [$d7be], a call Func_2862 ld [$ff8a], a - ld a, Bank(Func_86d2) - ld hl, Func_86d2 - call BankSwitch + callba Func_86d2 ld de, $0000 call PlaySong .asm_18826 ld bc, $34ee ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch + callba Func_8588 ld a, $33 ld [$d803], a ld a, $8 @@ -30460,9 +30256,7 @@ Func_18d34: ; 0x18d34 jr nz, .asm_18d71 ld bc, $34b2 ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch + callba Func_8588 ld a, $ff ld [$d803], a ld a, $3 @@ -30544,20 +30338,14 @@ Func_18db2: ; 0x18db2 Func_18faf: ; 0x18faf ld bc, $7f00 ld [$ff8a], a - ld a, Bank(Func_175a4) - ld hl, Func_175a4 - call BankSwitch + callba Func_175a4 call Func_19020 call Func_190b9 call Func_19185 ld [$ff8a], a - ld a, Bank(Func_e4a1) - ld hl, Func_e4a1 - call BankSwitch + callba Func_e4a1 ld [$ff8a], a - ld a, Bank(Func_17e81) - ld hl, Func_17e81 - call BankSwitch + callba Func_17e81 ret dr $18fda, $19020 @@ -30885,9 +30673,7 @@ InitMewtwoBonusStage: ; 0x1924f jr nz, .asm_1928c ld bc, $0200 ; 2 minutes 0 seconds ld [$ff8a], a - ld a, Bank(StartTimer) - ld hl, StartTimer - call BankSwitch + callba StartTimer ld a, $12 call SetSongBank ld de, $0001 @@ -30920,14 +30706,10 @@ StartBallMewtwoBonusStage: ; 0x192e3 Func_19310: ; 0x19310 ld [$ff8a], a - ld a, Bank(Func_142fc) - ld hl, Func_142fc - call BankSwitch + callba Func_142fc call Func_2862 ld [$ff8a], a - ld a, Bank(Func_1404a) - ld hl, Func_1404a - call BankSwitch + callba Func_1404a ld a, [$d7c1] and a ret z @@ -31127,9 +30909,7 @@ Func_19451: ; 0x19451 call Func_19701 call Func_1948b ld [$ff8a], a - ld a, Bank(Func_107f8) - ld hl, Func_107f8 - call BankSwitch + callba Func_107f8 ld a, [$d57e] and a ret z @@ -31139,9 +30919,7 @@ Func_19451: ; 0x19451 ld [$d7be], a call Func_2862 ld [$ff8a], a - ld a, Bank(Func_86d2) - ld hl, Func_86d2 - call BankSwitch + callba Func_86d2 ld a, [$d6b1] cp $8 ret nc @@ -31160,9 +30938,7 @@ Func_1948b: ; 0x1948b ld [wStageCollisionState], a ld [$d6a9], a ld [$ff8a], a - ld a, Bank(LoadStageCollisionAttributes) - ld hl, LoadStageCollisionAttributes - call BankSwitch + callba LoadStageCollisionAttributes call Func_194ac ret @@ -31201,9 +30977,7 @@ Func_19531: ; 0x19531 jr nc, .asm_195a2 ld bc, $34ee ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch + callba Func_8588 ld a, [$d6b0] inc a cp $3 @@ -31232,9 +31006,7 @@ Func_19531: ; 0x19531 ld [$d7be], a call Func_2862 ld [$ff8a], a - ld a, Bank(Func_86d2) - ld hl, Func_86d2 - call BankSwitch + callba Func_86d2 ld de, $0000 call PlaySong .asm_195a2 @@ -31314,7 +31086,7 @@ Func_195f5: ; 0x195f5 pop de ret nc ld a, [de] - rst $18 ; calls JumpToFuncInTable + rst JumpTable ; calls JumpToFuncInTable CallTable_1960d: ; 0x1960d dw Func_19615 dw Func_1961e @@ -31433,9 +31205,7 @@ Func_19701: ; 0x19701 call Func_19876 ld bc, $34d6 ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch + callba Func_8588 ld de, $0038 call PlaySoundEffect .asm_19742 @@ -31513,7 +31283,7 @@ Func_19833: ; 0x19833 pop de ret nc ld a, [de] - rst $18 ; calls JumpToFuncInTable + rst JumpTable ; calls JumpToFuncInTable CallTable_19852: ; 0x19852 dw Func_1985a dw Func_19863 @@ -31622,18 +31392,12 @@ Func_1988e: ; 0x1988e Func_1994e: ; 0x1994e ld bc, $7f65 ld [$ff8a], a - ld a, Bank(Func_175a4) - ld hl, Func_175a4 - call BankSwitch + callba Func_175a4 call Func_1999d ld [$ff8a], a - ld a, Bank(Func_e4a1) - ld hl, Func_e4a1 - call BankSwitch + callba Func_e4a1 ld [$ff8a], a - ld a, Bank(Func_17e81) - ld hl, Func_17e81 - call BankSwitch + callba Func_17e81 call Func_19976 ret @@ -31776,9 +31540,7 @@ StartBallDiglettBonusStage: ; 0x19a38 Func_19a76: ; 0x19a76 ld [$ff8a], a - ld a, Bank(Func_142fc) - ld hl, Func_142fc - call BankSwitch + callba Func_142fc call Func_2862 ld a, [$d7c1] and a @@ -31965,9 +31727,7 @@ Func_19c52: ; 0x19c52 ld [$d73b], a ld bc, $34d6 ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch + callba Func_8588 ld de, $0035 call PlaySoundEffect ld hl, $0100 @@ -32272,9 +32032,7 @@ Func_1aad4: ; 0x1aad4 call CopyHLToDE ld bc, $34ee ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch + callba Func_8588 ld de, $0036 call PlaySoundEffect ld a, $33 @@ -32443,13 +32201,9 @@ asm_1ac2f: Func_1ac98: ; 0x1ac98 ld [$ff8a], a - ld a, Bank(Func_e4a1) - ld hl, Func_e4a1 - call BankSwitch + callba Func_e4a1 ld [$ff8a], a - ld a, Bank(Func_17e81) - ld hl, Func_17e81 - call BankSwitch + callba Func_17e81 call Func_1acb0 ret @@ -32526,13 +32280,9 @@ InitBlueField: ; 0x1c000 ld [$d645], a ld [$d646], a ld [$ff8a], a - ld a, Bank(Func_dbba) - ld hl, Func_dbba - call BankSwitch + callba Func_dbba ld [$ff8a], a - ld a, Bank(Func_1d65f) - ld hl, Func_1d65f - call BankSwitch + callba Func_1d65f ld a, $10 call SetSongBank ld de, $0001 @@ -32636,16 +32386,12 @@ Func_1c165: ; 0x1c165 call Func_1c3ee call Func_1e8f6 ld [$ff8a], a - ld a, Bank(Func_142fc) - ld hl, Func_142fc - call BankSwitch + callba Func_142fc ld a, $1 ld [$d640], a call Func_1f18a ld [$ff8a], a - ld a, Bank(Func_1404a) - ld hl, Func_1404a - call BankSwitch + callba Func_1404a call Func_1c203 ret @@ -32658,24 +32404,16 @@ Func_1c191: ; 0x1c191 call Func_1c305 call Func_1c3ee ld [$ff8a], a - ld a, Bank(Func_14746) - ld hl, Func_14746 - call BankSwitch + callba Func_14746 ld [$ff8a], a - ld a, Bank(Func_14707) - ld hl, Func_14707 - call BankSwitch + callba Func_14707 call Func_1c235 call Func_1c21e call Func_1e8f6 ld [$ff8a], a - ld a, Bank(Func_142fc) - ld hl, Func_142fc - call BankSwitch + callba Func_142fc ld [$ff8a], a - ld a, Bank(Func_1404a) - ld hl, Func_1404a - call BankSwitch + callba Func_1404a call Func_1c203 ret @@ -32863,13 +32601,9 @@ Func_1c305: ; 0x1c305 jp Func_1c3ca .asm_1c31f ld [$ff8a], a - ld a, Bank(Func_1c3ac) - ld hl, Func_1c3ac - call BankSwitch + callba Func_1c3ac ld [$ff8a], a - ld a, Bank(Func_10362) - ld hl, Func_10362 - call BankSwitch + callba Func_10362 ld a, [hGameBoyColorFlag] and a ld [$ff8a], a @@ -32954,9 +32688,7 @@ Func_1c3ca: ; 0x1c3ca dec b jr nz, .asm_1c3cf ld [$ff8a], a - ld a, Bank(Func_10184) - ld hl, Func_10184 - call BankSwitch + callba Func_10184 ld a, [hGameBoyColorFlag] and a ld [$ff8a], a @@ -33033,9 +32765,7 @@ Func_1c43c: ; 0x1c43c Func_1c46d: ; 0x1c46d push af ld [$ff8a], a - ld a, Bank(Func_10611) - ld hl, Func_10611 - call BankSwitch + callba Func_10611 pop af dec a jr nz, Func_1c46d @@ -33090,9 +32820,7 @@ Func_1c4b6: ; 0x1c4b6 ld a, [$d498] add $15 ld [$ff8a], a - ld a, Bank(Func_30256) - ld hl, Func_30256 - call BankSwitch + callba Func_30256 ret .asm_1c4d2 ld a, [$d608] @@ -33100,15 +32828,11 @@ Func_1c4b6: ; 0x1c4b6 jr z, .asm_1c4e5 ld a, $1a ld [$ff8a], a - ld a, Bank(Func_30256) - ld hl, Func_30256 - call BankSwitch + callba Func_30256 ret .asm_1c4e5 ld [$ff8a], a - ld a, Bank(Func_30253) - ld hl, Func_30253 - call BankSwitch + callba Func_30253 ret .asm_1c4f0 ld a, [wSpecialMode] @@ -33118,9 +32842,7 @@ Func_1c4b6: ; 0x1c4b6 cp $3 jr nz, .asm_1c508 ld [$ff8a], a - ld a, Bank(Func_30253) - ld hl, Func_30253 - call BankSwitch + callba Func_30253 ret .asm_1c508 ld a, [$d604] @@ -33131,9 +32853,7 @@ Func_1c4b6: ; 0x1c4b6 add $12 .asm_1c515 ld [$ff8a], a - ld a, Bank(Func_30256) - ld hl, Func_30256 - call BankSwitch + callba Func_30256 ret Func_1c520: ; 0x1c520 @@ -33318,20 +33038,14 @@ Func_1c715: ; 0x1c715 call Func_1c8b6 call Func_1f18a ld [$ff8a], a - ld a, Bank(Func_146a9) - ld hl, Func_146a9 - call BankSwitch + callba Func_146a9 call Func_1f27b call Func_1df15 ld [$ff8a], a - ld a, Bank(Func_30188) - ld hl, Func_30188 - call BankSwitch + callba Func_30188 ld a, $0 ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch + callba Func_10000 ret Func_1c769: ; 0x1c769 @@ -33351,33 +33065,23 @@ Func_1c769: ; 0x1c769 call Func_1ea0a call Func_1c8b6 ld [$ff8a], a - ld a, Bank(Func_14733) - ld hl, Func_14733 - call BankSwitch + callba Func_14733 ld [$ff8a], a - ld a, Bank(Func_146a2) - ld hl, Func_146a2 - call BankSwitch + callba Func_146a2 call Func_1f261 call Func_1de93 ld [$ff8a], a - ld a, Bank(Func_30188) - ld hl, Func_30188 - call BankSwitch + callba Func_30188 ld a, $0 ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch + callba Func_10000 ret Func_1c7c7: ; 0x1c7c7 ld a, $0 ld [wStageCollisionState], a ld [$ff8a], a - ld a, Bank(LoadStageCollisionAttributes) - ld hl, LoadStageCollisionAttributes - call BankSwitch + callba LoadStageCollisionAttributes ret Func_1c7d7: ; 0x1c7d7 @@ -33455,16 +33159,12 @@ Func_1c839: ; 0x1c839 pop af add $29 ; map billboard pictures start at the $29th entry in BillboardPicturePointers ld [$ff8a], a - ld a, Bank(LoadBillboardPicture) - ld hl, LoadBillboardPicture - call BankSwitch + callba LoadBillboardPicture ld b, $20 ; number of frames to delay before the next map is shown .waitOnCurrentMap push bc ld [$ff8a], a - ld a, Bank(Func_eeee) - ld hl, Func_eeee - call BankSwitch + callba Func_eeee ld hl, wKeyConfigBallStart call IsKeyPressed jr nz, .ballStartKeyPressed @@ -33475,14 +33175,10 @@ Func_1c839: ; 0x1c839 .ballStartKeyPressed pop bc ld [$ff8a], a - ld a, Bank(Func_30253) - ld hl, Func_30253 - call BankSwitch + callba Func_30253 ld bc, $2cd1 ld [$ff8a], a - ld a, Bank(Func_3118f) - ld hl, Func_3118f - call BankSwitch + callba Func_3118f ld a, [wCurrentMap] ld [$d4e3], a xor a @@ -33668,14 +33364,10 @@ Func_1c9c1: ; 0x1c9c1 ld [$d4d7], a ld a, $4 ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch + callba Func_10000 ld bc, $34be ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch + callba AddBCDScore ret .asm_1ca19 ld a, [$d4d6] @@ -33732,9 +33424,7 @@ Func_1ca5f: ; 0x1ca5f ld [$d50c], a ld a, $c ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch + callba Func_10000 ; fall through Func_1ca85: ; 0x1ca85 @@ -33796,9 +33486,7 @@ Func_1ca85: ; 0x1ca85 ret z ld bc, $34ac ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch + callba AddBCDScore ld hl, $d62d call Func_e4a ld a, [$d517] @@ -33946,24 +33634,18 @@ Func_1cfaa: ; 0x1cfaa ld [$d51f], a ld bc, $34a6 ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch + callba AddBCDScore ld a, [wStageCollisionState] cp $0 jr nz, .asm_1cfe5 ld a, $1 ld [wStageCollisionState], a ld [$ff8a], a - ld a, Bank(LoadStageCollisionAttributes) - ld hl, LoadStageCollisionAttributes - call BankSwitch + callba LoadStageCollisionAttributes ld a, $1 ld [$d580], a ld [$ff8a], a - ld a, Bank(Func_1404a) - ld hl, Func_1404a - call BankSwitch + callba Func_1404a .asm_1cfe5 ld a, [$d520] sub $7 @@ -33996,9 +33678,7 @@ Func_1d010: ; 0x1d010 ld [wLeftAlleyTrigger], a ld a, $1 ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch + callba Func_10000 ret c ld a, [wLeftAlleyCount] cp $3 @@ -34026,9 +33706,7 @@ Func_1d047: ; 0x1d047 ld [wRightAlleyTrigger], a ld a, $2 ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch + callba Func_10000 ret c ld a, [wRightAlleyCount] cp $3 @@ -34151,12 +33829,10 @@ Func_1d133: ; 0x1d133 xor a ld [$d85d], a call Func_310a - rst $10 + rst AdvanceFrame ld a, $1 ld [$ff8a], a - ld a, Bank(PlayPikachuSoundClip) - ld hl, PlayPikachuSoundClip - call BankSwitch + callba PlayPikachuSoundClip ld a, $1 ld [$d85d], a ld a, $ff @@ -34186,9 +33862,7 @@ Func_1d133: ; 0x1d133 ld [$d549], a ld bc, $34ca ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch + callba AddBCDScore xor a ld [$d51c], a ret @@ -34263,9 +33937,7 @@ Func_1d216: ; 0x1d216 ld [$d630], a ld bc, $34d0 ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch + callba AddBCDScore ld de, $0005 call PlaySoundEffect ld hl, $5312 ; todo @@ -34306,9 +33978,7 @@ Func_1d216: ; 0x1d216 cp $3 jr nz, .asm_1d299 ld [$ff8a], a - ld a, Bank(Func_10ab3) - ld hl, Func_10ab3 - call BankSwitch + callba Func_10ab3 ld a, [$d643] and a ret z @@ -34354,9 +34024,7 @@ Func_1d216: ; 0x1d216 jr nz, .asm_1d2f8 ld a, $f ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch + callba Func_10000 .asm_1d2f8 xor a ld [$d642], a @@ -34380,9 +34048,7 @@ HandleEnteringCloyster: ; 0x1d32d ld [$d635], a ld bc, $34d0 ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch + callba AddBCDScore ld de, $0005 call PlaySoundEffect ld hl, $541d @@ -34428,9 +34094,7 @@ HandleEnteringCloyster: ; 0x1d32d .asm_1d3a1 ld [wRareMonsFlag], a ld [$ff8a], a - ld a, Bank(StartCatchEmMode) - ld hl, StartCatchEmMode - call BankSwitch + callba StartCatchEmMode .noCatchEmMode ld hl, $d63b call Func_e4a @@ -34468,9 +34132,7 @@ HandleEnteringCloyster: ; 0x1d32d call PlaySoundEffect ld a, $e ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch + callba Func_10000 xor a ld [$d64c], a ld [$d64d], a @@ -34509,9 +34171,7 @@ Func_1d438: ; 0x1d438 ld [$d647], a ld a, $9 ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch + callba Func_10000 ld a, [$d610] cp $3 jp nz, asm_1d4fa @@ -34537,9 +34197,7 @@ Func_1d438: ; 0x1d438 ld [$d647], a ld a, $a ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch + callba Func_10000 ld a, [$d611] cp $3 jr nz, asm_1d4fa @@ -34576,9 +34234,7 @@ Func_1d438: ; 0x1d438 asm_1d4fa: ; 0x1d4fa ld bc, $34ac ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch + callba AddBCDScore ld a, [$d60c] call Func_1d5f2 ld a, [$d60d] @@ -34866,9 +34522,7 @@ Func_1dbd2: ; 0x1dbd2 cp $3 ld a, $7 ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch + callba Func_10000 ld a, $2 ld [$d646], a ld a, $78 @@ -34904,9 +34558,7 @@ Func_1dbd2: ; 0x1dbd2 cp $3 ld a, $8 ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch + callba Func_10000 ld a, [wRightMapMoveCounter] cp $3 ccf @@ -35105,9 +34757,7 @@ Func_1ddc7: ; 0x1ddc7 xor a ld [$d55a], a ld [$ff8a], a - ld a, Bank(StartMapMoveMode) - ld hl, StartMapMoveMode - call BankSwitch + callba StartMapMoveMode scf ret @@ -35127,9 +34777,7 @@ Func_1ddf4: ; 0x1ddf4 ld a, $1 ld [$d55a], a ld [$ff8a], a - ld a, Bank(StartMapMoveMode) - ld hl, StartMapMoveMode - call BankSwitch + callba StartMapMoveMode scf ret @@ -35145,9 +34793,7 @@ Func_1de22: ; 0x1de22 ld [$d7eb], a ld bc, $34be ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch + callba AddBCDScore ld de, $000f call PlaySoundEffect ret @@ -35348,15 +34994,11 @@ Func_1e356: ; 0x1e356 ld a, $1 ld [wStageCollisionState], a ld [$ff8a], a - ld a, Bank(LoadStageCollisionAttributes) - ld hl, LoadStageCollisionAttributes - call BankSwitch + callba LoadStageCollisionAttributes ld a, $1 ld [$d580], a ld [$ff8a], a - ld a, Bank(Func_1404a) - ld hl, Func_1404a - call BankSwitch + callba Func_1404a .asm_1e386 ld a, [wStageCollisionState] bit 0, a @@ -35370,9 +35012,7 @@ Func_1e356: ; 0x1e356 ld [wSecondaryLeftAlleyTrigger], a ld a, $b ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch + callba Func_10000 ld a, [$d5f8] sub $13 ld c, a @@ -35387,9 +35027,7 @@ Func_1e356: ; 0x1e356 .asm_1e3bf ld bc, $34b2 ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch + callba AddBCDScore ld hl, $d5f9 ld a, [hli] and [hl] @@ -35411,9 +35049,7 @@ Func_1e356: ; 0x1e356 ld [wBallTypeCounter + 1], a ld bc, $34b8 ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch + callba AddBCDScore ld a, [wBallType] cp MASTER_BALL jr z, .masterBall @@ -35439,9 +35075,7 @@ Func_1e356: ; 0x1e356 call PlaySoundEffect ld bc, $34e8 ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch + callba Func_8588 ld bc, $0100 ld de, $0000 push bc @@ -35458,9 +35092,7 @@ Func_1e356: ; 0x1e356 call Func_32aa .asm_1e465 ld [$ff8a], a - ld a, Bank(Func_155a7) - ld hl, Func_155a7 - call BankSwitch + callba Func_155a7 jr asm_1e475 Func_1e471: ; 0x1e471 @@ -35633,9 +35265,7 @@ HandleBallTypeUpgradeCounterBlueField: ; 0x1e58c ld [wBallTypeCounter + 1], a .pokeball ld [$ff8a], a - ld a, Bank(Func_155a7) - ld hl, Func_155a7 - call BankSwitch + callba Func_155a7 ret Func_1e5c5: ; 0x1e5c5 @@ -35659,9 +35289,7 @@ Func_1e5c5: ; 0x1e5c5 ret nz ld bc, $34b2 ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch + callba AddBCDScore ld hl, $d50f ld a, [hli] and [hl] @@ -35676,9 +35304,7 @@ Func_1e5c5: ; 0x1e5c5 ld [$d514], a ld bc, $34b8 ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch + callba AddBCDScore ld de, $0009 call PlaySoundEffect ld hl, $d62c @@ -35854,17 +35480,13 @@ Func_1e757: ; 0x1e757 ld de, $0021 call PlaySoundEffect ld [$ff8a], a - ld a, Bank(LoadMiniBallGfx) - ld hl, LoadMiniBallGfx - call BankSwitch + callba LoadMiniBallGfx ret .asm_1e7b2 cp $f jr nz, .asm_1e7c1 ld [$ff8a], a - ld a, Bank(Func_dd62) - ld hl, Func_dd62 - call BankSwitch + callba Func_dd62 ret .asm_1e7c1 cp $c @@ -35889,17 +35511,13 @@ Func_1e757: ; 0x1e757 ld a, $8 ld [$d804], a ld [$ff8a], a - ld a, Bank(LoadMiniBallGfx) - ld hl, LoadMiniBallGfx - call BankSwitch + callba LoadMiniBallGfx ret .asm_1e7f5 cp $3 jr nz, .asm_1e80e ld [$ff8a], a - ld a, Bank(LoadBallGfx) - ld hl, LoadBallGfx - call BankSwitch + callba LoadBallGfx ld a, $2 ld [wBallYVelocity + 1], a ld a, $80 @@ -35916,9 +35534,7 @@ Func_1e757: ; 0x1e757 and $8 ld [wRareMonsFlag], a ld [$ff8a], a - ld a, Bank(StartCatchEmMode) - ld hl, StartCatchEmMode - call BankSwitch + callba StartCatchEmMode xor a ld [$d622], a ret @@ -35928,9 +35544,7 @@ Func_1e830: ; 0x1e830 ld [wIndicatorStates + 4], a ld a, $d ld [$ff8a], a - ld a, Bank(Func_10000) - ld hl, Func_10000 - call BankSwitch + callba Func_10000 jr nc, .asm_1e84b ld a, $1 ld [$d548], a @@ -35973,9 +35587,7 @@ Func_1e830: ; 0x1e830 ret .asm_1e891 ld [$ff8a], a - ld a, Bank(Func_ed8e) - ld hl, Func_ed8e - call BankSwitch + callba Func_ed8e xor a ld [$d608], a ld a, [$d61d] @@ -35988,9 +35600,7 @@ Func_1e830: ; 0x1e830 cp $2 ret nz ld [$ff8a], a - ld a, Bank(Func_10ab3) - ld hl, Func_10ab3 - call BankSwitch + callba Func_10ab3 xor a ld [$d622], a ret @@ -36011,7 +35621,7 @@ Func_1e8c3: ; 0x1e8c3 call Func_32aa ld de, $0000 call PlaySong - rst $10 + rst AdvanceFrame ld de, $3c23 call PlaySoundEffect ret @@ -36887,17 +36497,13 @@ Func_1f2ff: ; 0x1f2ff Func_1f330: ; 0x1f330 ld bc, $7f00 ld [$ff8a], a - ld a, Bank(Func_175a4) - ld hl, Func_175a4 - call BankSwitch + callba Func_175a4 call Func_1f395 call Func_1f3e1 call Func_1f408 call Func_1f428 ld [$ff8a], a - ld a, Bank(Func_17e81) - ld hl, Func_17e81 - call BankSwitch + callba Func_17e81 call Func_1f48f call Func_1f4f8 ret @@ -36905,23 +36511,15 @@ Func_1f330: ; 0x1f330 Func_1f35a: ; 0x1f35a ld bc, $7f00 ld [$ff8a], a - ld a, Bank(Func_175a4) - ld hl, Func_175a4 - call BankSwitch + callba Func_175a4 ld [$ff8a], a - ld a, Bank(Func_17c67) - ld hl, Func_17c67 - call BankSwitch + callba Func_17c67 call Func_1f58b call Func_1f448 ld [$ff8a], a - ld a, Bank(Func_e4a1) - ld hl, Func_e4a1 - call BankSwitch + callba Func_e4a1 ld [$ff8a], a - ld a, Bank(Func_17e81) - ld hl, Func_17e81 - call BankSwitch + callba Func_17e81 call Func_1f4a3 call Func_1f509 call Func_1f55e @@ -37278,9 +36876,7 @@ Func_20041: ; 0x20041 Func_2005f: ; 0x2005f ld [$ff8a], a - ld a, Bank(Func_10648) - ld hl, Func_10648 - call BankSwitch + callba Func_10648 scf ret @@ -37291,13 +36887,9 @@ Func_2006b: ; 0x2006b call Func_1130 jr nz, .asm_200a1 ld [$ff8a], a - ld a, Bank(Func_10414) - ld hl, Func_10414 - call BankSwitch + callba Func_10414 ld [$ff8a], a - ld a, Bank(Func_10362) - ld hl, Func_10362 - call BankSwitch + callba Func_10362 ld a, [hGameBoyColorFlag] and a ld [$ff8a], a @@ -37321,17 +36913,11 @@ Func_200a3: ; 0x200a3 jr nz, .asm_200d1 .asm_200af ld [$ff8a], a - ld a, Bank(Func_10678) - ld hl, Func_10678 - call BankSwitch + callba Func_10678 ld [$ff8a], a - ld a, Bank(Func_10732) - ld hl, Func_10732 - call BankSwitch + callba Func_10732 ld [$ff8a], a - ld a, Bank(Func_10464) - ld hl, Func_10464 - call BankSwitch + callba Func_10464 ld hl, $d54d inc [hl] .asm_200d1 @@ -37374,9 +36960,7 @@ Func_200d3: ; 0x200d3 .asm_20116 ld bc, $34dc ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch + callba Func_8588 ld bc, $0030 ld de, $0000 push bc @@ -37393,9 +36977,7 @@ Func_200d3: ; 0x200d3 call Func_3357 ld a, [wNumMonHits] ld [$ff8a], a - ld a, Bank(Func_10611) - ld hl, Func_10611 - call BankSwitch + callba Func_10611 ld c, $2 jr .asm_2018a .hitMonThreeTimes @@ -37443,27 +37025,19 @@ Func_20193: ; 0x20193 ret .asm_2019e ld [$ff8a], a - ld a, Bank(Func_10496) - ld hl, Func_10496 - call BankSwitch + callba Func_10496 ld hl, $d54d inc [hl] ld [$ff8a], a - ld a, Bank(Func_106b6) - ld hl, Func_106b6 - call BankSwitch + callba Func_106b6 ld [$ff8a], a - ld a, Bank(AddCaughtPokemonToParty) - ld hl, AddCaughtPokemonToParty - call BankSwitch + callba AddCaughtPokemonToParty scf ret CapturePokemonRedStage: ; 0x201c2 ld [$ff8a], a - ld a, Bank(CapturePokemon) - ld hl, CapturePokemon - call BankSwitch + callba CapturePokemon scf ret @@ -37473,13 +37047,9 @@ Func_201ce: ; 0x201ce ret nz call Func_30e8 ld [$ff8a], a - ld a, Bank(Func_dc00) - ld hl, Func_dc00 - call BankSwitch + callba Func_dc00 ld [$ff8a], a - ld a, Bank(Func_10157) - ld hl, Func_10157 - call BankSwitch + callba Func_10157 ld de, $0001 call PlaySong scf @@ -37487,9 +37057,7 @@ Func_201ce: ; 0x201ce Func_201f2: ; 0x201f2 ld [$ff8a], a - ld a, Bank(Func_107f8) - ld hl, Func_107f8 - call BankSwitch + callba Func_107f8 ld a, [$d57e] and a ret z @@ -37501,18 +37069,12 @@ Func_201f2: ; 0x201f2 cp NUM_POKEMON - 1 jr nz, .asm_2021b ld [$ff8a], a - ld a, Bank(SetPokemonOwnedFlag) - ld hl, SetPokemonOwnedFlag - call BankSwitch + callba SetPokemonOwnedFlag .asm_2021b ld [$ff8a], a - ld a, Bank(Func_86d2) - ld hl, Func_86d2 - call BankSwitch + callba Func_86d2 ld [$ff8a], a - ld a, Bank(Func_106a6) - ld hl, Func_106a6 - call BankSwitch + callba Func_106a6 ret Func_20230: ; 0x20230 @@ -37548,14 +37110,10 @@ Func_20230: ; 0x20230 ld [wIndicatorStates + 9], a .asm_20264 ld [$ff8a], a - ld a, Bank(Func_10184) - ld hl, Func_10184 - call BankSwitch + callba Func_10184 ld bc, $34d6 ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch + callba Func_8588 ld bc, $0010 ld de, $0000 push bc @@ -37651,9 +37209,7 @@ Func_20302: ; 0x20302 Func_20320: ; 0x20320 ld [$ff8a], a - ld a, Bank(Func_10648) - ld hl, Func_10648 - call BankSwitch + callba Func_10648 scf ret @@ -37664,13 +37220,9 @@ Func_2032c: ; 0x2032c call Func_1130 jr nz, .asm_20362 ld [$ff8a], a - ld a, Bank(Func_10414) - ld hl, Func_10414 - call BankSwitch + callba Func_10414 ld [$ff8a], a - ld a, Bank(Func_10362) - ld hl, Func_10362 - call BankSwitch + callba Func_10362 ld a, [hGameBoyColorFlag] and a ld [$ff8a], a @@ -37694,17 +37246,11 @@ Func_20364: ; 0x20364 jr nz, .asm_20392 .asm_20370 ld [$ff8a], a - ld a, Bank(Func_10678) - ld hl, Func_10678 - call BankSwitch + callba Func_10678 ld [$ff8a], a - ld a, Bank(Func_10732) - ld hl, Func_10732 - call BankSwitch + callba Func_10732 ld [$ff8a], a - ld a, Bank(Func_10464) - ld hl, Func_10464 - call BankSwitch + callba Func_10464 ld hl, $d54d inc [hl] .asm_20392 @@ -37747,9 +37293,7 @@ Func_20394: ; 0x20394 .asm_203d7 ld bc, $34dc ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch + callba Func_8588 ld bc, $0030 ld de, $0000 push bc @@ -37766,9 +37310,7 @@ Func_20394: ; 0x20394 call Func_3357 ld a, [wNumMonHits] ld [$ff8a], a - ld a, Bank(Func_10611) - ld hl, Func_10611 - call BankSwitch + callba Func_10611 ld c, $2 jr .asm_2044b .asm_20417 @@ -37816,27 +37358,19 @@ Func_20454: ; 0x20454 ret .asm_2045f ld [$ff8a], a - ld a, Bank(Func_10496) - ld hl, Func_10496 - call BankSwitch + callba Func_10496 ld hl, $d54d inc [hl] ld [$ff8a], a - ld a, Bank(Func_106b6) - ld hl, Func_106b6 - call BankSwitch + callba Func_106b6 ld [$ff8a], a - ld a, Bank(AddCaughtPokemonToParty) - ld hl, AddCaughtPokemonToParty - call BankSwitch + callba AddCaughtPokemonToParty scf ret CapturePokemonBlueStage: ; 0x20483 ld [$ff8a], a - ld a, Bank(CapturePokemon) - ld hl, CapturePokemon - call BankSwitch + callba CapturePokemon scf ret @@ -37846,13 +37380,9 @@ Func_2048f: ; 0x2048f ret nz call Func_30e8 ld [$ff8a], a - ld a, Bank(Func_dc00) - ld hl, Func_dc00 - call BankSwitch + callba Func_dc00 ld [$ff8a], a - ld a, Bank(Func_10157) - ld hl, Func_10157 - call BankSwitch + callba Func_10157 ld de, $0001 call PlaySong scf @@ -37860,9 +37390,7 @@ Func_2048f: ; 0x2048f Func_204b3: ; 0x204b3 ld [$ff8a], a - ld a, Bank(Func_107f8) - ld hl, Func_107f8 - call BankSwitch + callba Func_107f8 ld a, [$d57e] and a ret z @@ -37874,18 +37402,12 @@ Func_204b3: ; 0x204b3 cp MEW - 1 jr nz, .notMew ld [$ff8a], a - ld a, Bank(SetPokemonOwnedFlag) - ld hl, SetPokemonOwnedFlag - call BankSwitch + callba SetPokemonOwnedFlag .notMew ld [$ff8a], a - ld a, Bank(Func_86d2) - ld hl, Func_86d2 - call BankSwitch + callba Func_86d2 ld [$ff8a], a - ld a, Bank(Func_106a6) - ld hl, Func_106a6 - call BankSwitch + callba Func_106a6 ret Func_204f1: ; 0x204f1 @@ -37921,14 +37443,10 @@ Func_204f1: ; 0x204f1 ld [wIndicatorStates + 9], a .asm_20525 ld [$ff8a], a - ld a, Bank(Func_10184) - ld hl, Func_10184 - call BankSwitch + callba Func_10184 ld bc, $34d6 ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch + callba Func_8588 ld bc, $0010 ld de, $0000 push bc @@ -38047,9 +37565,7 @@ Func_205e0: ; 0x205e0 call nz, BankSwitch ld bc, $34e8 ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch + callba Func_8588 call Func_30e8 call Func_30db ld de, $2bd8 @@ -38149,32 +37665,22 @@ Func_20651: ; 0x20651 call Func_7dc .asm_20700 ld [$ff8a], a - ld a, Bank(Func_16425) - ld hl, Func_16425 - call BankSwitch + callba Func_16425 ret Func_2070b: ; 0x2070b ld [$ff8a], a - ld a, Bank(Func_dc00) - ld hl, Func_dc00 - call BankSwitch + callba Func_dc00 ld [$ff8a], a - ld a, Bank(Func_10ca5) - ld hl, Func_10ca5 - call BankSwitch + callba Func_10ca5 ld [$ff8a], a - ld a, Bank(Func_10ac8) - ld hl, Func_10ac8 - call BankSwitch + callba Func_10ac8 ld de, $0001 call PlaySong ld hl, $d629 call Func_e4a ld [$ff8a], a - ld a, Bank(SetPokemonOwnedFlag) - ld hl, SetPokemonOwnedFlag - call BankSwitch + callba SetPokemonOwnedFlag ld a, [$d624] cp $3 ret z @@ -38195,13 +37701,9 @@ Func_20757: ; 0x20757 ret nz call Func_30e8 ld [$ff8a], a - ld a, Bank(Func_dc00) - ld hl, Func_dc00 - call BankSwitch + callba Func_dc00 ld [$ff8a], a - ld a, Bank(Func_10ac8) - ld hl, Func_10ac8 - call BankSwitch + callba Func_10ac8 ld de, $0001 call PlaySong scf @@ -38223,9 +37725,7 @@ Func_2077b: ; 0x2077b call Func_20a55 .asm_2078e ld [$ff8a], a - ld a, Bank(Func_107f8) - ld hl, Func_107f8 - call BankSwitch + callba Func_107f8 ld a, [$d57e] and a ret z @@ -38255,18 +37755,12 @@ Func_2077b: ; 0x2077b bit 0, a jr z, .asm_207f5 ld [$ff8a], a - ld a, Bank(Func_14135) - ld hl, Func_14135 - call BankSwitch + callba Func_14135 ld [$ff8a], a - ld a, Bank(Func_16425) - ld hl, Func_16425 - call BankSwitch + callba Func_16425 .asm_207f5 ld [$ff8a], a - ld a, Bank(Func_86d2) - ld hl, Func_86d2 - call BankSwitch + callba Func_86d2 call Func_30e8 call Func_30db ld hl, $d5cc @@ -38506,9 +38000,7 @@ Func_20977: ; 0x20977 .asm_209bf ld bc, $34dc ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch + callba Func_8588 call Func_30e8 call Func_30db ld a, [wCurrentEvolutionType] @@ -38555,9 +38047,7 @@ Func_209eb: ; 0x209eb ld [$d557], a ld bc, $34dc ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch + callba Func_8588 call Func_30e8 call Func_30db ld hl, $d5cc @@ -38592,9 +38082,7 @@ Func_20a65: ; 0x20a65 jr z, .asm_20a80 ld bc, $34d0 ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch + callba Func_8588 jr asm_20a9f .asm_20a80 scf @@ -38609,9 +38097,7 @@ Func_20a82: ; 0x20a82 jr z, .asm_20a9d ld bc, $34d0 ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch + callba Func_8588 jr asm_20a9f .asm_20a9d scf @@ -38733,19 +38219,15 @@ Func_20b02: ; 0x20b02 call Func_8e1 .asm_20b80 ld [$ff8a], a - ld a, Bank(Func_10e0a) - ld hl, Func_10e0a - call BankSwitch + callba Func_10e0a call Func_3475 ld de, $0000 call PlaySong - rst $10 + rst AdvanceFrame ld de, $2d26 call PlaySoundEffect ld [$ff8a], a - ld a, Bank(Func_10825) - ld hl, Func_10825 - call BankSwitch + callba Func_10825 call Func_3475 ld a, $1 ld [$d54d], a @@ -38933,32 +38415,22 @@ Func_20c76: ; 0x20c76 call Func_7dc .asm_20d25 ld [$ff8a], a - ld a, Bank(Func_1e8f6) - ld hl, Func_1e8f6 - call BankSwitch + callba Func_1e8f6 ret Func_20d30: ; 0x20d30 ld [$ff8a], a - ld a, Bank(Func_dc00) - ld hl, Func_dc00 - call BankSwitch + callba Func_dc00 ld [$ff8a], a - ld a, Bank(Func_10ca5) - ld hl, Func_10ca5 - call BankSwitch + callba Func_10ca5 ld [$ff8a], a - ld a, Bank(Func_10ac8) - ld hl, Func_10ac8 - call BankSwitch + callba Func_10ac8 ld de, $0001 call PlaySong ld hl, $d629 call Func_e4a ld [$ff8a], a - ld a, Bank(SetPokemonOwnedFlag) - ld hl, SetPokemonOwnedFlag - call BankSwitch + callba SetPokemonOwnedFlag ld a, [$d624] cp $3 ret z @@ -38979,13 +38451,9 @@ Func_20d7c: ; 0x20d7c ret nz call Func_30e8 ld [$ff8a], a - ld a, Bank(Func_dc00) - ld hl, Func_dc00 - call BankSwitch + callba Func_dc00 ld [$ff8a], a - ld a, Bank(Func_10ac8) - ld hl, Func_10ac8 - call BankSwitch + callba Func_10ac8 ld de, $0001 call PlaySong scf @@ -39007,9 +38475,7 @@ Func_20da0: ; 0x20da0 call Func_21079 .asm_20db3 ld [$ff8a], a - ld a, Bank(Func_107f8) - ld hl, Func_107f8 - call BankSwitch + callba Func_107f8 ld a, [$d57e] and a ret z @@ -39039,18 +38505,12 @@ Func_20da0: ; 0x20da0 bit 0, a jr z, .asm_20e1a ld [$ff8a], a - ld a, Bank(Func_1c2cb) - ld hl, Func_1c2cb - call BankSwitch + callba Func_1c2cb ld [$ff8a], a - ld a, Bank(Func_1e8f6) - ld hl, Func_1e8f6 - call BankSwitch + callba Func_1e8f6 .asm_20e1a ld [$ff8a], a - ld a, Bank(Func_86d2) - ld hl, Func_86d2 - call BankSwitch + callba Func_86d2 call Func_30e8 call Func_30db ld hl, $d5cc @@ -39271,9 +38731,7 @@ Func_20f75: ; 0x20f75 .asm_20fc3 ld bc, $34dc ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch + callba Func_8588 call Func_30e8 call Func_30db ld a, [wCurrentEvolutionType] @@ -39321,9 +38779,7 @@ Func_20fef: ; 0x20fef ld [$d557], a ld bc, $34dc ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch + callba Func_8588 call Func_30e8 call Func_30db ld hl, $d5cc @@ -39393,9 +38849,7 @@ Func_21089: ; 0x21089 jr z, .asm_210c5 ld bc, $34d0 ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch + callba Func_8588 jr asm_210c7 .asm_210c5 scf @@ -39517,19 +38971,15 @@ Func_2112a: ; 0x2112a call Func_8e1 .asm_211a8 ld [$ff8a], a - ld a, Bank(Func_10e0a) - ld hl, Func_10e0a - call BankSwitch + callba Func_10e0a call Func_3475 ld de, $0000 call PlaySong - rst $10 + rst AdvanceFrame ld de, $2d26 call PlaySoundEffect ld [$ff8a], a - ld a, Bank(Func_10825) - ld hl, Func_10825 - call BankSwitch + callba Func_10825 call Func_3475 ld a, $1 ld [$d54d], a @@ -39570,9 +39020,7 @@ InitMeowthBonusStage: ; 0x24000 ld [$d739], a ld bc, $0100 ; 1 minute 0 seconds ld [$ff8a], a - ld a, Bank(StartTimer) - ld hl, StartTimer - call BankSwitch + callba StartTimer ld a, $12 call SetSongBank ld de, $0004 @@ -39667,19 +39115,13 @@ StartBallMeowthBonusStage: ; 0x24059 Func_24128: ; 0x24128 ld [$ff8a], a - ld a, Bank(Func_142fc) - ld hl, Func_142fc - call BankSwitch + callba Func_142fc call Func_2862 ld [$ff8a], a - ld a, Bank(Func_24fa3) - ld hl, Func_24fa3 - call BankSwitch + callba Func_24fa3 call Func_24516 ld [$ff8a], a - ld a, Bank(Func_1404a) - ld hl, Func_1404a - call BankSwitch + callba Func_1404a ret Func_2414d: ; 0x2414d @@ -40167,9 +39609,7 @@ Func_2442a: ; 0x2442a cp $4 jr z, .asm_244c1 ld [$ff8a], a - ld a, Bank(Func_107f8) - ld hl, Func_107f8 - call BankSwitch + callba Func_107f8 .asm_244c1 ld a, [$d57e] and a @@ -40180,9 +39620,7 @@ Func_2442a: ; 0x2442a ld [$d7be], a call Func_2862 ld [$ff8a], a - ld a, Bank(Func_86d2) - ld hl, Func_86d2 - call BankSwitch + callba Func_86d2 ld a, $1 ld [$d713], a ld a, $1 @@ -40205,9 +39643,7 @@ Func_244f5: ; 0x244f5 ld [wStageCollisionState], a ld [$d6e6], a ld [$ff8a], a - ld a, Bank(LoadStageCollisionAttributes) - ld hl, LoadStageCollisionAttributes - call BankSwitch + callba LoadStageCollisionAttributes call Func_24516 ret @@ -40263,9 +39699,7 @@ Func_245ab: ; 0x245ab call PlaySoundEffect ld bc, $34c4 ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch + callba AddBCDScore xor a ld [wMeowthStageBonusCounter], a ld a, [$d6ec] @@ -41378,9 +40812,7 @@ Func_24e7f: ; 0x24e7f push af ld bc, $34d6 ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch + callba AddBCDScore ld hl, wMeowthStageScore inc [hl] pop af @@ -41532,21 +40964,15 @@ Func_24fa3: ; 0x24fa3 Func_2583b: ; 0x2583b ld bc, $7f65 ld [$ff8a], a - ld a, Bank(Func_175a4) - ld hl, Func_175a4 - call BankSwitch + callba Func_175a4 ld [$ff8a], a - ld a, Bank(Func_e4a1) - ld hl, Func_e4a1 - call BankSwitch + callba Func_e4a1 call Func_259fe call Func_25895 call Func_2595e call Func_2586c ld [$ff8a], a - ld a, Bank(Func_17e81) - ld hl, Func_17e81 - call BankSwitch + callba Func_17e81 call Func_25a39 ret @@ -41855,9 +41281,7 @@ InitSeelBonusStage: ; 0x25a7c ld [$d739], a ld bc, $0130 ; 1 minute 30 seconds ld [$ff8a], a - ld a, Bank(StartTimer) - ld hl, StartTimer - call BankSwitch + callba StartTimer ld a, $11 call SetSongBank ld de, $0003 @@ -41949,19 +41373,13 @@ StartBallSeelBonusStage: ; 0x25af1 Func_25b97: ; 0x25b97 ld [$ff8a], a - ld a, Bank(Func_142fc) - ld hl, Func_142fc - call BankSwitch + callba Func_142fc call Func_2862 ld [$ff8a], a - ld a, Bank(Func_262f4) - ld hl, Func_262f4 - call BankSwitch + callba Func_262f4 call Func_25d0e ld [$ff8a], a - ld a, Bank(Func_1404a) - ld hl, Func_1404a - call BankSwitch + callba Func_1404a ret Func_25bbc: ; 0x25bbc @@ -42094,9 +41512,7 @@ Func_25c5a: ; 0x25c5a cp $2 jr z, .asm_25cc1 ld [$ff8a], a - ld a, Bank(Func_107f8) - ld hl, Func_107f8 - call BankSwitch + callba Func_107f8 .asm_25cc1 ld a, [$d57e] and a @@ -42107,9 +41523,7 @@ Func_25c5a: ; 0x25c5a ld [$d7be], a call Func_2862 ld [$ff8a], a - ld a, Bank(Func_86d2) - ld hl, Func_86d2 - call BankSwitch + callba Func_86d2 ld a, $3 ld [$d791], a ld a, [$d794] @@ -42130,9 +41544,7 @@ Func_25ced: ; 0x25ced ld [wStageCollisionState], a ld [$d766], a ld [$ff8a], a - ld a, Bank(LoadStageCollisionAttributes) - ld hl, LoadStageCollisionAttributes - call BankSwitch + callba LoadStageCollisionAttributes call Func_25d0e ret @@ -42285,18 +41697,14 @@ Func_25e85: ; 0x25e85 jr nc, .asm_25ead ld bc, $34d6 ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch + callba AddBCDScore pop de dec d jr .asm_25ebf .asm_25ead ld bc, $34ee ld [$ff8a], a - ld a, Bank(Func_8576) - ld hl, Func_8576 - call BankSwitch + callba AddBCDScore pop de ld a, d sub $32 @@ -42408,7 +41816,7 @@ Func_25f47: ; 0x25f47 pop de ret nc ld a, [de] - rst $18 ; calls JumpToFuncInTable + rst JumpTable ; calls JumpToFuncInTable CallTable_25f5f: ; 0x25f5f dw Func_25f77 dw Func_25fbe @@ -42884,18 +42292,12 @@ Func_262f4: ; 0x262f4 Func_26b7e: ; 0x26b7e ld bc, $7f65 ld [$ff8a], a - ld a, Bank(Func_175a4) - ld hl, Func_175a4 - call BankSwitch + callba Func_175a4 call Func_26bf7 ld [$ff8a], a - ld a, Bank(Func_e4a1) - ld hl, Func_e4a1 - call BankSwitch + callba Func_e4a1 ld [$ff8a], a - ld a, Bank(Func_17e81) - ld hl, Func_17e81 - call BankSwitch + callba Func_17e81 call Func_26ba9 call Func_26c3c ret @@ -43017,7 +42419,7 @@ SECTION "banka", ROMX, BANK[$a] HandlePokedexScreen: ; 0x28000 ld a, [wScreenState] - rst $18 ; calls JumpToFuncInTable + rst JumpTable ; calls JumpToFuncInTable PointerTable_28004: ; 0x28004 dw LoadPokedexScreen dw MainPokedexScreen @@ -44001,7 +43403,7 @@ Func_2887c: ; 0x2887c ld a, $7a sub b ld [$ffa9], a - rst $10 + rst AdvanceFrame pop bc dec b dec b @@ -44016,7 +43418,7 @@ Func_288a2: ; 0x288a2 ld a, $44 add b ld [$ffa9], a - rst $10 + rst AdvanceFrame pop bc dec b dec b @@ -47063,13 +46465,9 @@ InitRedField: ; 0x30000 ld a, $82 ld [wIndicatorStates + 1], a ld [$ff8a], a - ld a, Bank(Func_dbba) - ld hl, Func_dbba - call BankSwitch + callba Func_dbba ld [$ff8a], a - ld a, Bank(Func_16f95) - ld hl, Func_16f95 - call BankSwitch + callba Func_16f95 ld a, $f call SetSongBank ld de, $0001 @@ -47141,9 +46539,7 @@ StartBallRedField: ; 0x3007d ld a, $3 ld [$d610], a ld [$ff8a], a - ld a, Bank(Func_16f95) - ld hl, Func_16f95 - call BankSwitch + callba Func_16f95 ld a, $f call SetSongBank ld de, $0001 @@ -47187,9 +46583,7 @@ Func_30164: ; 0x30164 .asm_30175 ld bc, $34f4 ld [$ff8a], a - ld a, Bank(Func_8588) - ld hl, Func_8588 - call BankSwitch + callba Func_8588 ld a, $2 ld [$d4ca], a ret @@ -47263,9 +46657,7 @@ StartMapMoveMode: ; 0x301ec ld [$d54d], a ld bc, $0030 ; 30 seconds ld [$ff8a], a - ld a, Bank(StartTimer) - ld hl, StartTimer - call BankSwitch + callba StartTimer ld a, [wCurrentStage] bit 0, a jr z, .asm_3021b @@ -47274,7 +46666,7 @@ StartMapMoveMode: ; 0x301ec call Func_30256 .asm_3021b ld a, [wCurrentStage] - rst $18 ; calls JumpToFuncInTable + rst JumpTable ; calls JumpToFuncInTable CallTable_3021f: ; 0x3021f ; STAGE_RED_FIELD_TOP dw Func_311b4 @@ -47300,11 +46692,9 @@ Func_3022b: ; 0x3022b ld [wInSpecialMode], a ld [wSpecialMode], a ld [$ff8a], a - ld a, Bank(Func_86d2) - ld hl, Func_86d2 - call BankSwitch + callba Func_86d2 ld a, [wCurrentStage] - rst $18 ; calls JumpToFuncInTable + rst JumpTable ; calls JumpToFuncInTable CallTable_30247: ; 0x30247 ; STAGE_RED_FIELD_TOP dw Func_31234 @@ -47567,14 +46957,10 @@ Func_311b4: ; 0x311b4 .asm_311e2 ld a, $2 ld [$ff8a], a - ld a, Bank(Func_149d9) - ld hl, Func_149d9 - call BankSwitch + callba Func_149d9 ld a, $5 ld [$ff8a], a - ld a, Bank(Func_149d9) - ld hl, Func_149d9 - call BankSwitch + callba Func_149d9 ld a, $6a ld [$c7f0], a ld a, $6b @@ -47584,9 +46970,7 @@ Func_311b4: ; 0x311b4 ld a, $67 ld [$c803], a ld [$ff8a], a - ld a, Bank(Func_107b0) - ld hl, Func_107b0 - call BankSwitch + callba Func_107b0 ld a, $4 ld [$d7ad], a ld de, $0003 @@ -47595,43 +46979,27 @@ Func_311b4: ; 0x311b4 bit 0, a ret z ld [$ff8a], a - ld a, Bank(Func_14135) - ld hl, Func_14135 - call BankSwitch + callba Func_14135 ret Func_31234: ; 0x31234 ld [$ff8a], a - ld a, Bank(Func_107a5) - ld hl, Func_107a5 - call BankSwitch + callba Func_107a5 ld [$ff8a], a - ld a, Bank(Func_107c2) - ld hl, Func_107c2 - call BankSwitch + callba Func_107c2 ld [$ff8a], a - ld a, Bank(Func_107c8) - ld hl, Func_107c8 - call BankSwitch + callba Func_107c8 ld [$ff8a], a - ld a, Bank(Func_107e9) - ld hl, Func_107e9 - call BankSwitch + callba Func_107e9 ld a, [wCurrentStage] bit 0, a ret z ld [$ff8a], a - ld a, Bank(Func_14135) - ld hl, Func_14135 - call BankSwitch + callba Func_14135 ld [$ff8a], a - ld a, Bank(Func_16425) - ld hl, Func_16425 - call BankSwitch + callba Func_16425 ld [$ff8a], a - ld a, Bank(Func_30253) - ld hl, Func_30253 - call BankSwitch + callba Func_30253 ret Func_31281: ; 0x31282 @@ -47741,9 +47109,7 @@ Func_31326: ; 0x31326 ld [wIndicatorStates + 4], a ld a, $3 ld [$ff8a], a - ld a, Bank(Func_1de4b) - ld hl, Func_1de4b - call BankSwitch + callba Func_1de4b jr .asm_31382 .asm_3134c ld a, $80 @@ -47755,19 +47121,13 @@ Func_31326: ; 0x31326 ld [wIndicatorStates + 4], a ld a, $1 ld [$ff8a], a - ld a, Bank(Func_1de4b) - ld hl, Func_1de4b - call BankSwitch + callba Func_1de4b ld a, $6 ld [$ff8a], a - ld a, Bank(Func_1de4b) - ld hl, Func_1de4b - call BankSwitch + callba Func_1de4b ld a, $7 ; TODO: this might be the bank of Func_1de6f ld [$ff8a], a - ld a, Bank(Func_1de6f) - ld hl, Func_1de6f - call BankSwitch + callba Func_1de6f .asm_31382 ld a, [wCurrentStage] bit 0, a @@ -47784,50 +47144,34 @@ Func_31326: ; 0x31326 ld a, $1 ld [$d644], a ld [$ff8a], a - ld a, Bank(Func_1f2ed) - ld hl, Func_1f2ed - call BankSwitch + callba Func_1f2ed ld de, $0003 call PlaySong ld a, [wCurrentStage] bit 0, a ret z ld [$ff8a], a - ld a, Bank(Func_1c2cb) - ld hl, Func_1c2cb - call BankSwitch + callba Func_1c2cb ret Func_313c3: ; 0x313c3 ld [$ff8a], a - ld a, Bank(Func_107a5) - ld hl, Func_107a5 - call BankSwitch + callba Func_107a5 ld [$ff8a], a - ld a, Bank(Func_107c2) - ld hl, Func_107c2 - call BankSwitch + callba Func_107c2 ld [$ff8a], a - ld a, Bank(Func_1f2ff) - ld hl, Func_1f2ff - call BankSwitch + callba Func_1f2ff ld a, $0 ld [$d644], a ld a, [wCurrentStage] bit 0, a ret z ld [$ff8a], a - ld a, Bank(Func_1c2cb) - ld hl, Func_1c2cb - call BankSwitch + callba Func_1c2cb ld [$ff8a], a - ld a, Bank(Func_1e8f6) - ld hl, Func_1e8f6 - call BankSwitch + callba Func_1e8f6 ld [$ff8a], a - ld a, Bank(Func_30253) - ld hl, Func_30253 - call BankSwitch + callba Func_30253 ret Func_3140b: ; 0x3140b @@ -47965,9 +47309,7 @@ Func_314f1: ; 0x314f1 Func_314f3: ; 0x314f3 ld [$ff8a], a - ld a, Bank(Func_3022b) - ld hl, Func_3022b - call BankSwitch + callba Func_3022b ld de, $0001 call PlaySong scf @@ -47979,9 +47321,7 @@ Func_31505: ; 0x31505 ret nz call Func_30e8 ld [$ff8a], a - ld a, Bank(Func_3022b) - ld hl, Func_3022b - call BankSwitch + callba Func_3022b ld de, $0001 call PlaySong scf @@ -47992,9 +47332,7 @@ Func_3151f: ; 0x3151f ld [$d4ef], a ld [$d4f1], a ld [$ff8a], a - ld a, Bank(Func_107f8) - ld hl, Func_107f8 - call BankSwitch + callba Func_107f8 ld a, [$d57e] and a ret z @@ -48013,22 +47351,14 @@ Func_3151f: ; 0x3151f bit 0, a jr z, .asm_31577 ld [$ff8a], a - ld a, Bank(Func_14135) - ld hl, Func_14135 - call BankSwitch + callba Func_14135 ld [$ff8a], a - ld a, Bank(Func_16425) - ld hl, Func_16425 - call BankSwitch + callba Func_16425 ld [$ff8a], a - ld a, Bank(Func_30253) - ld hl, Func_30253 - call BankSwitch + callba Func_30253 .asm_31577 ld [$ff8a], a - ld a, Bank(Func_86d2) - ld hl, Func_86d2 - call BankSwitch + callba Func_86d2 call Func_30e8 call Func_30db ld hl, $d5cc @@ -48077,28 +47407,20 @@ Func_315b3: ; 0x315b3 Func_315d5: ; 0x315d5 ld de, $0000 call PlaySong - rst $10 + rst AdvanceFrame ld [$ff8a], a - ld a, Bank(Func_31281) - ld hl, Func_31281 - call BankSwitch + callba Func_31281 ld [$ff8a], a - ld a, Bank(Func_30253) - ld hl, Func_30253 - call BankSwitch + callba Func_30253 ld de, $2525 call PlaySoundEffect ld bc, $2cbf ld [$ff8a], a - ld a, Bank(Func_3118f) - ld hl, Func_3118f - call BankSwitch + callba Func_3118f .asm_31603 ld [$ff8a], a - ld a, Bank(Func_33e3) - ld hl, Func_33e3 - call BankSwitch - rst $10 + callba Func_33e3 + rst AdvanceFrame ld a, [$d5ca] and a jr nz, .asm_31603 @@ -48154,9 +47476,7 @@ Func_3165e: ; 0x3165e Func_31660: ; 0x31660 ld [$ff8a], a - ld a, Bank(Func_3022b) - ld hl, Func_3022b - call BankSwitch + callba Func_3022b ld de, $0001 call PlaySong scf @@ -48168,9 +47488,7 @@ Func_31672: ; 0x31672 ret nz call Func_30e8 ld [$ff8a], a - ld a, Bank(Func_3022b) - ld hl, Func_3022b - call BankSwitch + callba Func_3022b ld de, $0001 call PlaySong scf @@ -48185,9 +47503,7 @@ Func_3168c: ; 0x3168c ld a, $1 ld [$d646], a ld [$ff8a], a - ld a, Bank(Func_107f8) - ld hl, Func_107f8 - call BankSwitch + callba Func_107f8 ld a, [$d57e] and a ret z @@ -48206,22 +47522,14 @@ Func_3168c: ; 0x3168c bit 0, a jr z, .asm_316ee ld [$ff8a], a - ld a, Bank(Func_1c2cb) - ld hl, Func_1c2cb - call BankSwitch + callba Func_1c2cb ld [$ff8a], a - ld a, Bank(Func_1e8f6) - ld hl, Func_1e8f6 - call BankSwitch + callba Func_1e8f6 ld [$ff8a], a - ld a, Bank(Func_30253) - ld hl, Func_30253 - call BankSwitch + callba Func_30253 .asm_316ee ld [$ff8a], a - ld a, Bank(Func_86d2) - ld hl, Func_86d2 - call BankSwitch + callba Func_86d2 call Func_30e8 call Func_30db ld hl, $d5cc @@ -48270,28 +47578,20 @@ Func_3172a: ; 0x3172a Func_3174c: ; 0x3174c ld de, $0000 call PlaySong - rst $10 + rst AdvanceFrame ld [$ff8a], a - ld a, Bank(Func_3140b) - ld hl, Func_3140b - call BankSwitch + callba Func_3140b ld [$ff8a], a - ld a, Bank(Func_30253) - ld hl, Func_30253 - call BankSwitch + callba Func_30253 ld de, $2525 call PlaySoundEffect ld bc, $2cbf ld [$ff8a], a - ld a, Bank(Func_3118f) - ld hl, Func_3118f - call BankSwitch + callba Func_3118f .asm_3177a ld [$ff8a], a - ld a, Bank(Func_33e3) - ld hl, Func_33e3 - call BankSwitch - rst $10 + callba Func_33e3 + rst AdvanceFrame ld a, [$d5ca] and a jr nz, .asm_3177a @@ -54492,7 +53792,13 @@ RhydonBillboardBGPaletteMap: ; 0xd8968 SaverTextOffGfx: ; 0xd8c00 INCBIN "gfx/stage/saver_off.2bpp" - dr $d8c40, $d9000 + dr $d8c40, $d8e80 + +Data_d8e80: + dr $d8e80, $d8f60 + +Data_d8f60: + dr $d8f60, $d9000 StageRedFieldBottomCollisionMasks: ; 0xd9000 INCBIN "data/collision/masks/red_stage_bottom.masks" @@ -55739,7 +55045,10 @@ MewAnimatedObjPalette2: ; 0xdbe68 RGB 23, 8, 17 RGB 0, 0, 0 - dr $dbe70, $dc000 + dr $dbe70, $dbe80 + +Data_dbe80: + dr $dbe80, $dc000 SECTION "bank37", ROMX, BANK[$37] @@ -58036,6 +57345,7 @@ MasterBallObjPalette: ; 0xdd180 RGB 21, 3, 21 RGB 0, 0, 0 +Data_dd188: dr $dd188, $e0000 diff --git a/wram.asm b/wram.asm index 3c31929..a1ddab6 100755 --- a/wram.asm +++ b/wram.asm @@ -2,196 +2,196 @@ SECTION "WRAM Bank 0", WRAM0 wc000:: - ds $400 + ds $400 wMonAnimatedCollisionMask:: ; 0xc400 - ds $80 + ds $80 - ds $80 + ds $80 wcBottomMessageText:: ; 0xc500 - ds $200 + ds $200 wStageCollisionMap:: ; 0xc700 ; Collision data for each tile for the current stage. - ds $300 + ds $300 - ds $600 + ds $600 SECTION "WRAM Bank 1", WRAMX, BANK[1] wOAMBuffer:: ; d000 - ; buffer for OAM data. Copied to OAM by DMA - ds 4 * 40 + ; buffer for OAM data. Copied to OAM by DMA + ds 4 * 40 - ds $160 + ds $160 wPaletteData:: ; 0xd200 - ; 16 palette definitions - ds $100 + ; 16 palette definitions + ds $100 wPartyMons:: ; 0xd300 ; List of pokemon in the player's party. ; When a pokemon is caught, it's appended to this list. ; When a pokemon is evolved, the pokemon's evolution replaces its entry in the list. - ds $160 + ds $160 wNumPartyMons:: ; ; 0xd460 ; Number of pokemon in the wPartyMons list. - ds 1 + ds 1 - ds 9 + ds 9 wScore:: ; 0xd46a ; player's current score - ds 6 + ds 6 - ds $e + ds $e wBallType:: ; 0xd47e ; PokeBall, Great Ball, Ultra Ball, or Master Ball - ds 1 + ds 1 wBallTypeCounter:: ; 0xd47f ; two-byte counter that represents how many frames remain until the Ball uprade goes down to the next level. - ds 2 + ds 2 wBallTypeBackup:: ; 0xd481 ; Holds the ball type during bonus stages, since they always use a regular pokeball. - ds 1 + ds 1 - ds $1f + ds $1f wBallSaverIconOn:: ; 0xd4a1 ; The blue Ball Saver icon is illuminated when this byte is non-zero. - ds 1 + ds 1 - ds 1 + ds 1 wBallSaverTimerFrames:: ; 0xd4a3 ; Count the number of frames until wBallSaverTimerSeconds should be decremented - ds 1 + ds 1 wBallSaverTimerSeconds:: ; 0xd4a4 ; Remaining seconds for Ball Saver - ds 1 + ds 1 - ds 1 + ds 1 wBallSaverTimerFramesBackup:: ; 0xd4a6 ; Used to store a backup of wBallSaverTimerFrames - ds 1 + ds 1 wBallSaverTimerSecondsBackup:: ; 0xd4a7 ; Used to store a backup of wBallSaverTimerSeconds - ds 1 + ds 1 - ds 4 + ds 4 wCurrentStage:: ; 0xd4ac - ds 1 + ds 1 - ds 2 + ds 2 wStageCollisionState:: ; 0xd4af ; Stores the current collision state id for the stage ; For example, the Red stage can have different collision states when ; the Ditto lane is open, or when there is a wall above the Voltorbs. - ds 1 + ds 1 - ds 3 + ds 3 wBallXPos:: ; 0xd4b3 ; x coordinate of the center of the pokeball ; little-endian word ; Most-significant byte is the pixel, and least-significant byte is fraction of a pixel - ds 2 + ds 2 wBallYPos:: ; 0xd4b5 ; y coordinate of the center of the pokeball ; little-endian word ; Most-significant byte is the pixel, and least-significant byte is fraction of a pixel - ds 2 + ds 2 wPreviousBallXPos:: ; 0xd4b7 ; x coordinate of the center of the pokeball in the previous frame ; little-endian word ; Most-significant byte is the pixel, and least-significant byte is fraction of a pixel - ds 2 + ds 2 wPreviousBallYPos:: ; 0xd4b9 ; y coordinate of the center of the pokeball in the previous frame ; little-endian word ; Most-significant byte is the pixel, and least-significant byte is fraction of a pixel - ds 2 + ds 2 wBallXVelocity:: ; 0xd4bb ; little-endian word ; This is added to wBallXPos every frame. - ds 2 + ds 2 wBallYVelocity:: ; 0xd4bd ; little-endian word ; This is added to wBallYPos every frame. - ds 2 + ds 2 - ds 4 + ds 4 wBallSpin:: ; 0xd4c3 - ds 1 + ds 1 wBallRotation:: ; 0xd4c4 ; wBallSpin is added to this every frame - ds 1 + ds 1 - ds $1c + ds $1c wInitialMapSelectionIndex:: ; 0xd4e1 ; index to keep track of the spinning map selection at the start of a new game - ds 1 + ds 1 - ds $d + ds $d - ds 1 + ds 1 wLeftMapMoveCounter:: ; 0xd4f0 ; Diglett or Poliwag counter that counts to three to trigger a Map Move - ds 1 + ds 1 - ds 1 + ds 1 wRightMapMoveCounter:: ; 0xd4f2 ; Diglett or Psyduck counter that counts to three to trigger a Map Move\ - ds 1 + ds 1 wLeftMapMoveDiglettAnimationCounter:: ; 0xd4f3 ; Counter that loops to control the left-side map move diglett head bobbing animation - ds 1 + ds 1 wLeftMapMoveDiglettFrame:: ; 0xd4f4 ; Contains frame for map move diglett head bobbing animation - ds 1 + ds 1 wRightMapMoveDiglettAnimationCounter :: ; 0xd4f5 ; Counter that loops to control the left-side map move diglett head bobbing animation - ds 1 + ds 1 wRightMapMoveDiglettFrame:: ; 0xd4f6 ; Contains frame for map move diglett head bobbing animation - ds 1 + ds 1 - ds 6 + ds 6 wBellsproutAnimationFrameCounter:: ; 0xd4fd - ds 1 + ds 1 wBellsproutAnimationFrame:: ; 0xd4fe - ds 1 + ds 1 wBellsproutAnimationFrameIndex:: ; 0xd4ff - ds 1 + ds 1 - ds $19 + ds $19 wPikachuSaverAnimationFrameCounter:: ; 0xd519 - ds 1 + ds 1 wPikachuSaverAnimationFrame:: ; 0xd51a - ds 1 + ds 1 wPikachuSaverAnimationFrameIndex:: ; 0xd51b - ds 1 + ds 1 - ds $13 + ds $13 wIndicatorStates:: ; 0xd52f ; Each byte represents the status of each possible indicator on the stage. @@ -199,104 +199,109 @@ wIndicatorStates:: ; 0xd52f ; a certain area. For example, when the Cloyster can be entered in the Blue ; Stage, the blue right arrow will starting blinking in the bottom half of that ; stage. - ds $13 + ds $13 wLeftAlleyTrigger:: ; 0xd542 ; Set to $1 when ball passes over the bottom-left corner of the Blue/Red field top screen ; It's used to determine if the Ball was hit up the left side alley. - ds 1 + ds 1 wLeftAlleyCount:: ; 0xd543 ; Increments when the Ball travels up the left alley. ; When the count is 3, evolution mode can be triggered. - ds 1 + ds 1 wRightAlleyTrigger:: ; 0xd544 ; Set to $1 when Ball passes over the bottom-right corner of the Blue/Red field top screen ; It's used to determine if the Ball was hit up the right side alley. - ds 1 + ds 1 wRightAlleyCount:: ; 0xd545 ; Increments when the Ball travels up the right alley. ; When the count is 2, Catch 'Em Mode can be triggered. ; If the count is 3, the current map's rare pokemon will be used for Catch 'Em Mode. - ds 1 + ds 1 wSecondaryLeftAlleyTrigger:: ; 0xd546 ; Set to $1 when Ball passes over the bottom of the skinny alley between the left alley and Staryu button on the Red Field top screen. ; It's used to determine if the Ball was hit up the Red Stage's secondary left-side alley. - ds 1 + ds 1 - ds 3 + ds 3 wCurrentMap:: ; 0xd54a ; Current map during play. See map_constants.asm - ds 1 + ds 1 wInSpecialMode:: ; 0xd54b ; Set to non-zero when things like Catch 'em Mode or Map Move mode start. - ds 1 + ds 1 - ds 4 + ds 4 wSpecialMode:: ; 0xd550 ; wInSpecialMode must be non-zero to activate this. ; 0 = Catch Em Mode ; 1 = Evolution Mode ; 2 = Map Move Mode - ds 1 + ds 1 - ds 1 + ds 1 wCurrentEvolutionMon:: ; 0xd552 ; Current mon id for Evolution Mode. ; It stores (mon id - 1). - ds 1 + ds 1 wCurrentEvolutionType:: ; 0xd553 ; Evolution type for the current mon in Evolution Mode. ; See evolution_type_constants.asm - ds 1 + ds 1 - ds 7 + ds 7 wRareMonsFlag:: ; 0xd55b ; Gets set to $8 when the rare mons should be used for catch 'em mode. $8 is then doubled to add $10 to the base address of the map's wild mons table. - ds 1 + ds 1 - ds $1d + ds $1d wCurrentCatchEmMon:: ; 0xd579 ; Current mon id for CatchEm Mode. ; It stores (mon id - 1). - ds 1 + ds 1 wTimerSeconds:: ; 0xd57a - ds 1 + ds 1 wTimerMinutes:: ; 0xd57b - ds 1 + ds 1 wTimerFrames:: ; 0xd57c - ds 1 + ds 1 - ds $43 + ds $43 wNumMonHits:: ; 0xd5c0 ; Number of times the wild pokemon has been hit in Catch'em mode - ds 1 + ds 1 - ds $33 + ds $33 wBallCaptureAnimationFrameCounter:: ; 0xd5f4 - ds 1 + ds 1 wBallCaptureAnimationFrame:: ; 0xd5f5 ; OAM id - ds 1 + ds 1 wBallCaptureAnimationFrameIndex:: ; 0xd5f6 - ds 1 + ds 1 - ds $38 + ds $1f + +wGameOver:: + ds 1 + + ds $18 ; d617 ; Number of times the Mewtwo Bonus stage has been defeated. ; Counts up at most to 2, and is reset if Mew is encountered. wNumMewtwoBonusCompletions:: ; 0xd62f - ds 1 + ds 1 - ds $e + ds $e wBlueStageForceFieldDirection:: ; 0xd63e ; Controls the direction of the arrow force field in between Cloyster and Slowpoke in the Blue Stage. @@ -304,54 +309,54 @@ wBlueStageForceFieldDirection:: ; 0xd63e ; $1 = right ; $2 = down ; $3 = left - ds 1 + ds 1 - ds $aa + ds $aa wMeowthAnimationFrameCounter:: ; 0xd6e9 ; Counts down. When it hits 0, the next animation frame happens. - ds 1 + ds 1 wMeowthAnimationFrame:: ; 0xd6ea ; OAM id - ds 1 + ds 1 wMeowthAnimationFrameIndex:: ; 0xd6eb - ds 1 + ds 1 - ds 1 + ds 1 wMeowthXPosition:: ; 0xd6ed - ds 1 + ds 1 wMeowthYPosition:: ; 0xd6ee - ds 1 + ds 1 - ds 1 + ds 1 wMeowthXMovement:: ; 0xd6f0 ; Used to move meowth horizontally. ; Value is $01 when moving right. ; Value is $ff when moving left. - ds 1 + ds 1 wMeowthYMovement:: ; 0xd6f1 ; Used to move meowth vertically. ; Value is $01 when moving down. ; Value is $ff when moving up. - ds 1 + ds 1 - ds $1d + ds $1d wMeowthStageBonusCounter:: ; 0xd70f ; Keeps track of how many bonus points you get from collecting a coin. ; The bonus increases by 1 each time you collect a coin. ; If Meowth is hit, the bonus resets to 0. - ds 1 + ds 1 - ds 1 + ds 1 wMeowthStageScore:: ; 0xd711 ; Number of Meowth coins collected. - ds 1 + ds 1 - ds $2b + ds $2b wDiglettStates:: ; 0xd73d ; Each diglett has a sprite state 1 - 5. @@ -363,29 +368,29 @@ wDiglettStates:: ; 0xd73d ; $4 = straight up ; $5 = leaning right ; $6 = getting hit - ds 31 + ds 31 wCurrentDiglett:: ; 0xd75c ; Keeps track of which diglett is being updated. - ds 1 + ds 1 wDiglettsInitializedFlag:: ; 0xd75d ; bit 0 is set after all digletts have been initialized - ds 1 + ds 1 wDiglettInitDelayCounter:: ; 0xd75e ; used to faciliate how fast the digletts are initialized - ds 1 + ds 1 - ds 2 + ds 2 wDugtrioAnimationFrameCounter:: ; 0xd761 - ds 1 + ds 1 wDugtrioAnimationFrame:: ; 0xd762 ; OAM id - ds 1 + ds 1 wDugtrioAnimationFrameIndex:: ; 0xd763 - ds 1 + ds 1 wDugrioState:: ; 0xd764 ; Similar function as wDiglettStates. @@ -397,280 +402,280 @@ wDugrioState:: ; 0xd764 ; $5 = 1 healthy dugtrio ; $6 = Getting hit third time ; $7 = Disappearing - ds 1 + ds 1 - ds $3c + ds $3c wLeftTiltCounter:: ; 0xd7a1 ; Counts up to 3 and back down to time the left tilt animation - ds 1 + ds 1 wLeftTiltReset:: ; 0xd7a2 ; Set to $1 when the left tilt button has been held down long enough - ds 1 + ds 1 wRightTiltCounter:: ; 0xd7a3 ; Counts up to 3 and back down to time the right tilt animation - ds 1 + ds 1 wRightTiltReset:: ; 0xd7a4 ; Set to $1 when the right tilt button has been held down long enough - ds 1 + ds 1 wUpperTiltCounter:: ; 0xd7a5 ; Counts up to 3 and back down to time the upper tilt animation - ds 1 + ds 1 wUpperTiltReset:: ; 0xd7a6 ; Set to $1 when the upper tilt button has been held down long enough - ds 1 + ds 1 wLeftTiltPushing:: ; 0xd7a7 ; Set to $1 when the left tilt is in the first half of its animation - ds 1 + ds 1 wRightTiltPushing:: ; 0xd7a8 ; Set to $1 when the right tilt is in the first half of its animation - ds 1 + ds 1 wUpperTiltPushing:: ; 0xd7a9 ; Set to $1 when the upper tilt is in the first half of its animation - ds 1 + ds 1 - ds 12 + ds 12 wLeftFlipperAnimationState:: ; 0xd7b6 ; Counts from $0 to $f when using the left flipper. - ds 1 + ds 1 wRightFlipperAnimationState:: ; 0xd7b7 ; Counts from $0 to $f when using the right flipper. - ds 1 + ds 1 wFlipperXCollisionAttribute:: ; 0xd7b8 ; Goes with hFlipperYCollisionAttribute - ds 1 + ds 1 wFlipperCollision:: ; 0xd7b9 ; Set to $1 when the ball is colliding with a flipper - ds 1 + ds 1 - ds 9 + ds 9 wSubTileBallXPos:: ; 0xd7c3 - ds 1 + ds 1 wSubTileBallYPos:: ; 0xd7c4 - ds 1 + ds 1 wUpperLeftCollisionAttribute:: ; 0xd7c5 - ds 1 + ds 1 wLowerLeftCollisionAttribute:: ; 0xd7c6 - ds 1 + ds 1 wUpperRightCollisionAttribute:: ; 0xd7c7 - ds 1 + ds 1 wLowerRightCollisionAttribute:: ; 0xd7c8 - ds 1 + ds 1 - ds $23 + ds $23 wStageCollisionMapPointer:: ; 0xd7ec ; pointer to the current collision map (always points to wStageCollisionMapPointer, except when loading new attributes) - ds 2 + ds 2 wStageCollisionMapBank:: ; 0xd7ee ; holds bank of current collision map (always $00, except when loading new attributes) - ds 1 + ds 1 wStageCollisionMasksPointer:: ; 0xd7ef ; Pointer to the current collision masks array - ds 2 + ds 2 wStageCollisionMasksBank:: ; 0xd7f1 ; Holds bank of current collision masks array - ds 1 + ds 1 - ds 7 + ds 7 wInGameMenuIndex:: ; 0xd7f9 - ds 1 + ds 1 - ds $61 + ds $61 wCurrentSongBank:: ; 0xd85b - ds 1 + ds 1 - ds $95 + ds $95 wCurrentScreen:: ; 0xd8f1 ; The game is driven by state machines. This is the current screen. - ds 1 + ds 1 wScreenState:: ; 0xd8f2 ; The game is driven by state machines. This is the current state for the current screen. - ds 1 + ds 1 - ds 22 + ds 22 wTitleScreenCursorSelection:: ; 0xd909 ; 0 = Game Start ; 1 = PokeDex ; 2 = Option - ds 1 + ds 1 wTitleScreenGameStartCursorSelection:: ; 0xd90a ; 0 = New Game ; 1 = Continue - ds 1 + ds 1 - ds 1 + ds 1 wTitleScreenBlinkAnimationFrame:: ; 0xd90c ; Pikachu's blinking animation is looped through frames. This keeps track of the current frame. - ds 1 + ds 1 wTitleScreenBlinkAnimationCounter:: ; 0xd90d ; Counts down. When it hits 0, wTitleScreenBlinkAnimationFrame is incremented. - ds 1 + ds 1 wTitleScreenBouncingBallAnimationFrame:: ; 0xd90e ; The bouncing Pokeball on the title screen has a 6-frame animation. This keeps track of the current frame. - ds 1 + ds 1 wTitleScreenPokeballAnimationCounter:: ; 0xd90f - ds 1 + ds 1 - ds 2 + ds 2 wFieldSelectBlinkingBorderTimer:: ; 0xd912 ; Number of frames to blink the field select screen border after the player chooses a field. - ds 1 + ds 1 wSelectedFieldIndex:: ; d913 ; $0 if player is hovering cursor over Red Stage ; $1 if player is hovering cursor over Blue Stage - ds 1 + ds 1 wFieldSelectBlinkingBorderFrame:: ; 0xd914 ; The blinking border's current animation frame. - ds 1 + ds 1 - ds 5 + ds 5 wSoundTestCurrentBackgroundMusic:: ; d91a - ds 1 + ds 1 wSoundTextCurrentSoundEffect:: ; 0xd91b - ds 1 + ds 1 - ds 44 + ds 44 wKeyConfigs:: ; 0xd948 ; each function map to two joypad buttons (see joy_constants.asm) wKeyConfigBallStart:: ; 0xd948 - ds 2 + ds 2 wKeyConfigLeftFlipper:: ; 0xd94a - ds 2 + ds 2 wKeyConfigRightFlipper:: ; 0xd94c - ds 2 + ds 2 wKeyConfigLeftTilt:: ; 0xd94e - ds 2 + ds 2 wKeyConfigRightTilt:: ; 0xd950 - ds 2 + ds 2 wKeyConfigUpperTilt:: ; 0xd952 - ds 2 + ds 2 wKeyConfigMenu:: ; 0xd954 - ds 2 + ds 2 - ds 3 + ds 3 wCurPokedexIndex:: ; 0xd959 ; Stores the mon index of which pokemon the cursor is on in the Pokedex screen. - ds 1 + ds 1 wPokedexOffset:: ; 0xd95a ; Stores the number of pokedex entries that are above the current displayed pokemon entries. - ds 1 + ds 1 - ds 7 + ds 7 wPokedexFlags:: ; 0xd962 ; Each pokemon is represented by one byte in the normal Pokedex order ; byte == 0: mon hasn't been seen ; byte == 1: mon has been seen ; byte >= 2: mon has been captured - ds 151 + ds 151 wNumPokemonSeen:: ; 0xd9f9 - ds 2 + ds 2 wNumPokemonOwned:: ; 0xd9fb - ds 2 + ds 2 wRedHighScores:: ; 0xd9fd wRedHighScore1Points:: ; 0xd9fd - ds 6 + ds 6 wRedHighScore1Name:: ; 0xda03 - ds 3 - ds 4 + ds 3 + ds 4 wRedHighScore2Points:: ; 0xda0a - ds 6 + ds 6 wRedHighScore2Name:: ; 0xda10 - ds 3 - ds 4 + ds 3 + ds 4 wRedHighScore3Points:: ; 0xda17 - ds 6 + ds 6 wRedHighScore3Name:: ; 0xda1d - ds 3 - ds 4 + ds 3 + ds 4 wRedHighScore4Points:: ; 0xda24 - ds 6 + ds 6 wRedHighScore4Name:: ; 0xda2a - ds 3 - ds 4 + ds 3 + ds 4 wRedHighScore5Points:: ; 0xda31 - ds 6 + ds 6 wRedHighScore5Name:: ; 0xda37 - ds 3 - ds 4 + ds 3 + ds 4 wBlueHighScores:: ; 0xda3e wBlueHighScore1Points:: ; 0xda3e - ds 6 + ds 6 wBlueHighScore1Name:: ; 0xda44 - ds 3 - ds 4 + ds 3 + ds 4 wBlueHighScore2Points:: ; 0xda4b - ds 6 + ds 6 wBlueHighScore2Name:: ; 0xda52 - ds 3 - ds 4 + ds 3 + ds 4 wBlueHighScore3Points:: ; 0xda58 - ds 6 + ds 6 wBlueHighScore3Name:: ; 0xda5e - ds 3 - ds 4 + ds 3 + ds 4 wBlueHighScore4Points:: ; 0xda65 - ds 6 + ds 6 wBlueHighScore4Name:: ; 0xda6b - ds 3 - ds 4 + ds 3 + ds 4 wBlueHighScore5Points:: ; 0xda72 - ds 6 + ds 6 wBlueHighScore5Name:: ; 0xda78 - ds 3 - ds 4 + ds 3 + ds 4 - ds 4 + ds 4 wHighScoresStage:: ; 0xda83 ; Current stage's high scores. ; 0 = Red Stage ; 1 = Blue stage - ds 1 + ds 1 wHighScoresArrowAnimationCounter:: ; 0xda84 ; Counts up to $28 and wraps around to $0 to control the animation of the ; arrows in the bottom corner of the high scores screen. - ds 1 + ds 1 - ds 2 + ds 2 wSendHighScoresAnimationFrameCounter:: ; 0xda87 - ds 1 + ds 1 wSendHighScoresAnimationFrame:: ; 0xda88 - ds 1 + ds 1 wSendHighScoresAnimationFrameIndex:: ; 0xda89 - ds 1 + ds 1 -- cgit v1.2.3 From f18199ff10f21575ff0d27fb3023f874fb292819 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 5 Dec 2016 08:44:47 -0500 Subject: Still more ROM label resolution --- main.asm | 1064 +++++++++++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 874 insertions(+), 190 deletions(-) diff --git a/main.asm b/main.asm index 9facf42..7781bb5 100755 --- a/main.asm +++ b/main.asm @@ -30,7 +30,6 @@ SECTION "SerialInt", ROM0 [$58] SECTION "JoypadInt", ROM0 [$60] jp Joypad - SECTION "Entry", ROM0 [$100] Entry: ; 0x100 @@ -165,6 +164,7 @@ Func_23b: ; 0x23b ld [hGameBoyColorFlag], a ld [$fffd], a ret + .asm_248 xor a ld [hGameBoyColorFlag], a @@ -289,6 +289,7 @@ VBlank: ; 0x2f2 jr z, .asm_3b5 set 3, [hl] jr .asm_3b7 + .asm_3b5 res 3, [hl] .asm_3b7 @@ -588,6 +589,7 @@ BankSwitch: ; 0x54f pop de pop hl ret + .doJump ld a, [$ff8b] ld e, a @@ -953,6 +955,7 @@ LoadVRAMData: ; 0x73f ld [MBC5RomBank], a scf jr .asm_756 + .asm_752 ld [MBC5SRamBank], a and a @@ -1023,6 +1026,7 @@ FarCopyPalettes: ; 0x790 ld [MBC5RomBank], a scf jr .asm_7b1 + .asm_7ad ld [MBC5SRamBank], a and a @@ -1072,6 +1076,7 @@ Func_7dc: ; 0x7dc ld [MBC5RomBank], a scf jr .asm_7f3 + .asm_7ef ld [MBC5SRamBank], a and a @@ -1219,6 +1224,7 @@ Func_86f: ; 0x86f ld [hLoadedROMBank], a ld [MBC5RomBank], a ret + .asm_8ac ld b, $4 .asm_8ae @@ -1278,6 +1284,7 @@ Func_8e1: ; 0x8e1 ld [hLoadedROMBank], a ld [MBC5RomBank], a ret + .asm_902 ld a, c call PutTileInVRAM @@ -1384,6 +1391,7 @@ Func_97a: ; 0x97a jr c, .asm_989 sub d jr .asm_983 + .asm_989 ld [$d80f], a ld [$d848], a @@ -1526,6 +1534,7 @@ ReadJoypad: ; 0xab8 ld a, [$d807] ld [$ff9d], a jr .asm_b1a + .asm_b15 ld a, [$d806] ld [$ff9d], a @@ -1567,6 +1576,7 @@ IsKeyPressed2: ; 0xb36 jr z, .asm_b48 xor a ret + .asm_b48 ld a, $1 and a @@ -1595,6 +1605,7 @@ IsKeyPressed: ; 0xb4c ld a, [hNewlyPressedButtons] and [hl] ret + .asm_b64 xor a ret @@ -1608,6 +1619,7 @@ Func_b66: ; 0xb66 ld [$ffa4], a ld [$ffa5], a ret + .asm_b73 ld de, rBGPI ld hl, $d200 ; todo @@ -1752,6 +1764,7 @@ Func_c2d: ; 0xc2d dec c jr nz, .asm_c34 ret + .asm_c49 ld c, $40 .asm_c4b @@ -2143,6 +2156,7 @@ Func_e4a: ; 0xe4a ld [hl], a scf ret + .asm_e53 and a ret @@ -2152,6 +2166,7 @@ Func_e55: ; 0xe55 jr c, .asm_e5b sub c jr Func_e55 + .asm_e5b and a ret @@ -2305,6 +2320,7 @@ Func_f34: ; 0xf34 call Func_f7e jr nc, .asm_f3f ret + .asm_f3f add hl, bc inc hl @@ -2351,6 +2367,7 @@ Func_f62: ; 0xf62 jr nz, .asm_f71 scf jr .asm_f72 + .asm_f71 and a .asm_f72 @@ -2393,6 +2410,7 @@ Func_f7e: ; 0xf7e jr nz, .asm_f9c scf jr .asm_f9d + .asm_f9c and a .asm_f9d @@ -2483,6 +2501,7 @@ Func_fea: ; 0xfea ld a, b ld [rSCY], a jp Func_3ff + .asm_1015 ld a, [rLY] cp [hl] @@ -2504,6 +2523,7 @@ Func_fea: ; 0xfea ld a, b ld [rLYC], a jp Func_3ff + .asm_1037 ld hl, $ffaa ld a, [rLY] @@ -2550,6 +2570,7 @@ Func_105d: ; 0x105d ld a, c ld [rLYC], a jp Func_3ff + .asm_1080 ld hl, $ffaa ld a, [rLY] @@ -2723,6 +2744,7 @@ Func_113a: ; 0x113a pop hl inc l jr .loop + .done ld a, l ld [$d7fc], a @@ -2816,6 +2838,7 @@ Func_12a1: ; 0x12a1 jr z, .asm_12e5 call Func_12ec jr .asm_12b5 + .asm_12e5 pop af ld [hLoadedROMBank], a @@ -2872,6 +2895,7 @@ Func_12f8: ; 0x12f8 call Func_12ec and a ret + .asm_1346 ld a, BANK(Data_38000) ld hl, Data_38000 @@ -3141,6 +3165,7 @@ Func_16fd: ; 0x16fd ld [$d8ae], a ld a, [$d8c7] jr .asm_173a + .asm_172e scf ret @@ -3155,6 +3180,7 @@ Func_16fd: ; 0x16fd .asm_173a and a ret + .asm_173c xor a ld a, $f0 @@ -3172,6 +3198,7 @@ Func_1740: ; 0x1740 .asm_174f ld a, $f0 ret + .asm_1752 ld a, [$d8e2] and a @@ -3207,6 +3234,7 @@ Func_1779: ; 0x1779 jr z, .asm_1790 ld a, $f0 ret + .asm_1790 ld a, [$d8db] and a @@ -3249,11 +3277,13 @@ Func_1779: ; 0x1779 pop hl ld c, a jp .asm_17d9 + .asm_17d6 ld bc, $0280 .asm_17d9 call Func_1989 jp Func_19e5 + .asm_17df ld a, [$d8c5] cp $2 @@ -3318,6 +3348,7 @@ Func_1779: ; 0x1779 ld a, [$d8c0] ld h, a jp .asm_17d9 + .asm_1859 push af ld a, $1 @@ -3331,6 +3362,7 @@ Func_1779: ; 0x1779 pop af .asm_1869 ret + .asm_186a ld a, [$d8dd] and a @@ -3352,6 +3384,7 @@ Func_18ac: ; 0x18ac ret z ld a, $f0 ret + .asm_18be ld a, [$d8db] and a @@ -3504,6 +3537,7 @@ Func_19e5: ; 0x19e5 .asm_19f6 scf ret + .asm_19f8 ld a, [$d8cb] cp $1 @@ -3591,6 +3625,7 @@ Func_1a89: ; 0x1a89 jp nz, Func_1bb2 and a ret + .asm_1a9f ld a, [hNewlyPressedButtons] bit 1, a @@ -3722,6 +3757,7 @@ Func_1b3d: ; 0x1b3d jr z, .asm_1b56 and a ret + .asm_1b56 ld a, [hNewlyPressedButtons] bit BIT_B_BUTTON, a @@ -3743,6 +3779,7 @@ Func_1b60: ; 0x1b60 call Func_93f and a ret + .asm_1b7e ld a, [hNewlyPressedButtons] bit BIT_B_BUTTON, a @@ -3762,6 +3799,7 @@ Func_1b88: ; 0x1b88 call Func_16a2 and a ret + .asm_1b9d ld a, [hNewlyPressedButtons] bit BIT_B_BUTTON, a @@ -3834,6 +3872,7 @@ Func_1be3: ; 0x1be3 inc hl ld [hl], $c ret + .asm_1c0c ld [hl], $6 inc hl @@ -4028,6 +4067,7 @@ Func_1d44: ; 0x1d44 inc a ld [$d8e5], a jr .asm_1d78 + .asm_1d75 call Func_1ed3 .asm_1d78 @@ -4042,6 +4082,7 @@ Func_1d44: ; 0x1d44 ld d, a call Func_1c32 jr .asm_1d9b + .asm_1d8d ld a, [$d8ed] ld d, a @@ -4057,8 +4098,10 @@ Func_1d44: ; 0x1d44 call Func_1ed4 call Func_1ed4 jr .asm_1d78 + .asm_1dac jr .asm_1d59 + .asm_1dae call Func_1ed3 call Func_1ed3 @@ -4176,6 +4219,7 @@ Func_1e3b: ; 0x1e3b set 0, a ld e, a jr .asm_1e8c + .asm_1e88 ld a, e res 0, a @@ -4191,6 +4235,7 @@ Func_1e3b: ; 0x1e3b call Func_1ed4 call Func_1ed4 jr .asm_1e74 + .asm_1ea0 ld a, e ld [hli], a @@ -4202,10 +4247,12 @@ Func_1e3b: ; 0x1e3b inc a ld [$d8e5], a jr .asm_1eb7 + .asm_1eb4 call Func_1ed3 .asm_1eb7 jr .asm_1e6c + .asm_1eb9 ld d, $0 call Func_1c1b @@ -4291,6 +4338,7 @@ asm_1f3b: ; 0x1f3b ld [hli], a inc de jr .loadOAMDataLoop + .doneReadingOAMData ld a, l ld [$d802], a @@ -4334,6 +4382,7 @@ Func_2034: ; 0x2034 dec a ld [$d804], a ret + .asm_203f ld [$d803], a ret @@ -4394,6 +4443,7 @@ Func_206d: ; 0x206d ld [MBC5RomBank], a and a ret + .asm_2084 pop af ld [hLoadedROMBank], a @@ -4414,6 +4464,7 @@ Func_208c: ; 0x208c ld [MBC5RomBank], a and a ret + .asm_20a3 pop af ld [hLoadedROMBank], a @@ -4426,6 +4477,7 @@ Func_20ab: ; 0x20ab xor a ld [$ffb6], a jr .asm_20c6 + push af ld a, b xor c @@ -4483,6 +4535,7 @@ Func_20ab: ; 0x20ab pop af ccf jr .asm_20f2 + .asm_20f1 pop af .asm_20f2 @@ -4614,6 +4667,7 @@ _LimitBallVelocity: ; 0x2189 ld a, $7 ; max positive velocity ld [hl], a ret + .negativeVelocity cp $f9 ret nc @@ -4646,11 +4700,13 @@ AddVelocityToPosition: ; 0x21c3 jr c, .asm_21da ld bc, $04ff jr .asm_21de + .asm_21d1 cp $fc jr nc, .asm_21da ld bc, $fb01 jr .asm_21de + .asm_21da ld b, a dec de @@ -4916,6 +4972,7 @@ Func_22b5: ; 0x22b5 ld b, $0 add hl, bc jr .asm_237b + .asm_235e ld c, a ld b, $0 @@ -4986,6 +5043,7 @@ Func_22b5: ; 0x22b5 cp $11 jr nc, .asm_23ee jr .asm_23b5 + .asm_23c1 ld a, [hli] inc b @@ -4995,6 +5053,7 @@ Func_22b5: ; 0x22b5 cp $11 jr nc, .asm_23ee jr .asm_23c1 + .asm_23cd push de ld d, $1 @@ -5121,6 +5180,7 @@ Func_248a: ; 0x248a pop af and a ret + .asm_2495 pop af cp $d0 @@ -5136,6 +5196,7 @@ Func_248a: ; 0x248a ld h, $c4 scf ret + .asm_24ab push de sub $e0 @@ -5167,6 +5228,7 @@ Func_248a: ; 0x248a pop de scf ret + .asm_24e0 bit 4, b ld hl, Data_3b00 @@ -5457,6 +5519,7 @@ Func_2775: ; 0x2775 ld [hl], a scf ret + .asm_27a2 and a ret @@ -5637,6 +5700,7 @@ Func_2862: ; 0x2862 call FarCopyPalettes .asm_287b ret + .asm_287c ld a, [hGameBoyColorFlag] and a @@ -5808,61 +5872,74 @@ asm_312b: ; 0x312b jr c, .asm_31d0 .asm_3173 jr .asm_3132 + .asm_3175 ld a, c jr .asm_31d2 + .asm_3178 inc c dec e jr .asm_31d3 + .asm_317c xor a call Func_31e1 ld a, $83 jr .asm_31d2 + .asm_3184 ld a, $1 call Func_31e1 ld a, $84 jr .asm_31d2 + .asm_318d ld a, $2 call Func_31e1 ld a, $85 jr .asm_31d2 + .asm_3196 ld a, $3 call Func_31e1 ld a, $83 jr .asm_31d2 + .asm_319f ld a, $4 call Func_31e1 ld a, $87 jr .asm_31d2 + .asm_31a8 ld a, $5 call Func_31e1 ld a, $85 jr .asm_31d2 + .asm_31b1 ld a, $6 call Func_31e1 ld a, $85 jr .asm_31d2 + .asm_31ba ld a, $7 call Func_31e1 ld a, $86 jr .asm_31d2 + .asm_31c3 ld a, $8 call Func_31e1 ld a, $83 jr .asm_31d2 + .asm_31cc add $56 jr .asm_31d2 + .asm_31d0 add $bf .asm_31d2 @@ -5942,19 +6019,24 @@ Func_3268: ; 0x3268 jr c, .asm_3293 .asm_328d jr Func_3268 + .asm_328f sub $80 jr .asm_32a0 + .asm_3293 sub $50 jr .asm_32a0 + .asm_3297 ld a, c jr .asm_32a0 + .asm_329a inc c dec e jr .asm_32a1 + .asm_329e add $56 .asm_32a0 @@ -6247,6 +6329,7 @@ Func_33e3: ; 0x33e3 jr nz, .asm_33ed ld [$d5cb], a ret + .asm_33ed ld c, $0 ld a, [$d5cc] @@ -6317,6 +6400,7 @@ Func_33e3: ; 0x33e3 ld bc, $0040 call Func_735 ret + .gameboyColor ld a, Bank(StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor) ld hl, $30 + StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor @@ -6347,35 +6431,35 @@ Func_3475: ; 0x3475 jr nz, Func_3475 ret -Data_34a6: +FiftyBillionPoints: ; 34a6 dx 6, $050000000000 -Data_34ac: +OneHundredBillionPoints: ; 34ac dx 6, $100000000000 -Data_34b2: +OneHundredMillionPoints: ; 34b2 dx 6, $000100000000 -Data_34b8: +FourHundredMillionPoints: ; 34b8 dx 6, $000400000000 -Data_34be: +FiveHundredMillionPoints: ; 34be dx 6, $000500000000 -Data_34c4: +OneBillionPoints: ; 34c4 dx 6, $001000000000 -Data_34ca: +FiveBillionPoints: ; 34ca dx 6, $005000000000 -Data_34d0: +OneMillionPoints: ; 34d0 dx 6, $000001000000 -Data_34d6: +TenMillionPoints: ; 34d6 dx 6, $000010000000 -Data_34dc: +ThirtyMillionPoints: ; 34dc dx 6, $000030000000 -Data_34e2: +FiftyMillionPoints: ; 34e2 dx 6, $000050000000 -Data_34e8: +TenThousandPoints: ; 34e8 dx 6, $000000010000 -Data_34ee: +FiftyThousandPoints: ; 34ee dx 6, $000000050000 -Data_34f4: +OneHundredThousandPoints: ; 34f4 dx 6, $000000100000 -Data_34fa: +OneHundredPoints: ; 34fa dx 6, $000000000100 Func_3500: @@ -6500,6 +6584,7 @@ HandleLeftTilt: ; 0x358c ld a, $1 ld [wLeftTiltPushing], a ret + .startCoolDown ld a, $1 ld [wLeftTiltReset], a @@ -6515,6 +6600,7 @@ HandleLeftTilt: ; 0x358c dec a ld [$d79f], a ret + .done ld hl, wKeyConfigLeftTilt call IsKeyPressed2 @@ -6554,6 +6640,7 @@ HandleRightTilt: ; 0x35f3 ld a, $1 ld [wRightTiltPushing], a ret + .startCoolDown ld a, $1 ld [wRightTiltReset], a @@ -6569,6 +6656,7 @@ HandleRightTilt: ; 0x35f3 inc a ld [$d79f], a ret + .done ld hl, wKeyConfigRightTilt call IsKeyPressed2 @@ -6608,6 +6696,7 @@ HandleUpperTilt: ; 0x365a ld a, $1 ld [wUpperTiltPushing], a ret + .startCoolDown ld a, $1 ld [wUpperTiltReset], a @@ -6623,6 +6712,7 @@ HandleUpperTilt: ; 0x365a inc a ld [$d7a0], a ret + .done ld hl, wKeyConfigUpperTilt call IsKeyPressed2 @@ -6714,7 +6804,6 @@ Data_3c80: dr $3e00, $4000 - SECTION "bank1", ROMX, BANK[$1] OAMDataPointers: ; 0x4000 @@ -10172,7 +10261,6 @@ OAMData2_84: ; 0x625d ; Free Space 0x6262 - SECTION "bank2", ROMX, BANK[$2] Func_8000: ; 0x8000 @@ -10198,6 +10286,7 @@ Func_800a: ; 0x800a xor a ld [wScreenState], a ret + .asm_8021 ld a, $45 ld [$ff9e], a @@ -10364,12 +10453,14 @@ Func_8104: ; 0x8104 xor $1 ld [hGameBoyColorFlag], a jr .asm_811d + .asm_8115 bit BIT_A_BUTTON, b ret z ld hl, wScreenState inc [hl] ret + .asm_811d ld a, [hGameBoyColorFlag] and a @@ -10379,6 +10470,7 @@ Func_8104: ; 0x8104 ld de, LoadTileLists ; todo call Func_10c5 ret + .asm_812e ld a, Bank(Data_8144) ld bc, Data_8144 @@ -10432,6 +10524,7 @@ CheckForResetButtonCombo: ; 0x8167 ld hl, wCurrentScreen inc [hl] ret + .heldCorrectButtons ld a, $41 ld [$ff9e], a @@ -10515,6 +10608,7 @@ HandleEraseAllDataInput: ; 0x81d4 ld hl, wScreenState inc [hl] ret + .checkForBButton bit BIT_B_BUTTON, a ret z @@ -10654,6 +10748,7 @@ InitializeStage: ; 0x8311 ld a, $0 call Func_63e jr .asm_833c + .asm_8331 ld hl, vBGMap1 ld bc, $0400 @@ -10736,6 +10831,7 @@ Func_8388: ; 0x8388 ld bc, $0037 call ClearData ret + .asm_8398 ld a, [wCurrentStage] cp $6 @@ -10758,6 +10854,7 @@ StartBallForStage: ; 0x83ba call Func_8444 call Func_8461 ret + .asm_83c7 xor a ld [wBallXVelocity], a @@ -11153,6 +11250,7 @@ Func_85c7: ; 0x85c7 ld a, [$d479] ld [$d478], a ret + .asm_85f3 ld a, [de] add [hl] @@ -11235,6 +11333,7 @@ Func_8650: ; 0x8650 ld a, $86 ld [$ffa6], a ret + .bottomStage ld a, [wBallYPos + 1] cp $84 @@ -11247,6 +11346,7 @@ Func_8650: ; 0x8650 .asm_866d ld [$ffa6], a ret + .asm_8670 ld a, [$ffa6] add $3 @@ -11297,6 +11397,7 @@ Func_86a4: ; 0x86a4 ld a, $1 ld [$d57e], a ret + .asm_86c3 ld a, [hl] sub $1 @@ -11389,6 +11490,7 @@ HandleInGameMenu: ; 0x86d7 ld bc, $0010 call LoadVRAMData jr .asm_8786 + .asm_8778 ld a, Bank(StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor) ld hl, StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor + $60 @@ -11448,6 +11550,7 @@ MoveInGameMenuCursor: ; 0x87c5 ld de, $0003 call PlaySoundEffect ret + .didntPressUp bit BIT_D_DOWN, b ret z @@ -12608,7 +12711,6 @@ Func_8ee0: ; 0x8ee0 PokedexCharactersGfx: ; 0xa000 INCBIN "gfx/pokedex/characters.interleave.2bpp" - SECTION "bank3", ROMX, BANK[$3] HandleTitlescreen: ; 0xc000 @@ -12693,6 +12795,7 @@ TitlescreenLoop: ; 0xc089 ld hl, wScreenState inc [hl] ret + .noPreviouslySavedGame ld de, $0000 call PlaySong @@ -12704,12 +12807,14 @@ TitlescreenLoop: ; 0xc089 ld a, $3 ld [wScreenState], a ret + .asm_c0d3 ld de, $0001 call PlaySoundEffect ld a, $3 ld [wScreenState], a ret + .AButtonNotPressed bit BIT_B_BUTTON, a ; was B button pressed? ret z @@ -12780,6 +12885,7 @@ Func_c10e: ; 0xc10e ld a, $0 ld [wScreenState], a ret + .asm_c173 xor a ld [$d7c1], a @@ -12787,6 +12893,7 @@ Func_c10e: ; 0xc10e ld hl, wScreenState inc [hl] ret + .asm_c17c bit 1, a ret z @@ -12871,6 +12978,7 @@ Func_c1fc: ; 0xc1fc ld de, $0003 call PlaySoundEffect ret + .asm_c20f bit 7, b ret z @@ -13017,6 +13125,7 @@ Func_c2df: ; 0xc2df ld a, [wTitleScreenGameStartCursorSelection] add $58 jr .asm_c2fd + .asm_c2f0 ld a, [$d910] sla a @@ -13163,6 +13272,7 @@ Func_c41a: ; 0xc41a ret z dec a jr .asm_c430 + .asm_c429 bit 7, b ret z @@ -13198,6 +13308,7 @@ Func_c447: ; 0xc447 ld a, $3 ld [wScreenState], a ret + .asm_c465 cp $1 jr nz, .asm_c477 @@ -13207,6 +13318,7 @@ Func_c447: ; 0xc447 ld a, $4 ld [wScreenState], a ret + .asm_c477 ld de, $0000 call PlaySong @@ -13253,6 +13365,7 @@ Func_c4b4: ; 0xc4b4 ld de, $0003 call PlaySoundEffect ret + .asm_c4ce bit BIT_D_RIGHT, b ret z @@ -13315,6 +13428,7 @@ Func_c534: ; 0xc534 ret z dec a jr .asm_c54a + .asm_c543 bit BIT_D_DOWN, b ret z @@ -13344,6 +13458,7 @@ Func_c55a: ; 0xc55a call SaveDefaultKeyConfigs call Func_c948 ret + .asm_c572 ld a, [hNewlyPressedButtons] bit BIT_A_BUTTON, a @@ -13386,6 +13501,7 @@ Func_c55a: ; 0xc55a call Func_c9be call Func_c95f jr .asm_c59f + .asm_c5c2 or c jr nz, .asm_c59f @@ -13431,6 +13547,7 @@ Func_c55a: ; 0xc55a call Func_c9be call Func_c95f jr .asm_c5e9 + .asm_c613 or c jr nz, .asm_c5e9 @@ -13546,6 +13663,7 @@ Func_c6bf: ; 0xc6bf ret z dec a jr .asm_c6d5 + .asm_c6ce bit BIT_D_DOWN, b ret z @@ -13601,6 +13719,7 @@ UpdateSoundTestBackgroundMusicSelection: ; 0xc715 jr z, .saveBackgroundMusicID ld a, NUM_SONGS - 1 jr .saveBackgroundMusicID + .checkIfRightPressed bit BIT_D_RIGHT, b ; was the right dpad button pressed? ret z @@ -13622,6 +13741,7 @@ UpdateSoundTestSoundEffectSelection: ; 0xc73a ld d, $0 call PlaySoundEffect ret + .didntPressAButton ld a, [hPressedButtons] ; joypad state ld b, a @@ -13633,6 +13753,7 @@ UpdateSoundTestSoundEffectSelection: ; 0xc73a jr z, .saveSoundEffectID ld a, NUM_SOUND_EFFECTS - 1 jr .saveSoundEffectID + .checkIfRightPressed bit BIT_D_RIGHT, b ; was the right dpad button pressed? ret z @@ -13981,6 +14102,7 @@ Func_c95f: ; 0xc95f ld a, $1a call Func_c9aa jr .asm_c996 + .asm_c994 inc de inc de @@ -14056,6 +14178,7 @@ Func_c9ff: ; 0xc9ff ld [hl], $ff inc c jr .asm_ca0e + .asm_ca0c ld [hl], $0 .asm_ca0e @@ -14170,6 +14293,7 @@ Func_ca8f: ; 0xca8f dec c jr nz, .asm_cab5 jr .asm_cad0 + .asm_cac2 dec hl dec c @@ -14287,6 +14411,7 @@ Func_cb14: ; 0xcb14 ld de, $0001 call PlaySong jr .asm_cba6 + .asm_cb9b ld a, $13 call SetSongBank @@ -14302,6 +14427,7 @@ Func_cb14: ; 0xcb14 ld hl, wScreenState inc [hl] ret + .asm_cbbd ld a, $10 call SetSongBank @@ -14430,6 +14556,7 @@ Func_ccb6: ; 0xccb6 ld hl, wScreenState inc [hl] ret + .asm_ccd1 bit 1, a jr z, .asm_cce4 @@ -14440,6 +14567,7 @@ Func_ccb6: ; 0xccb6 ld hl, wScreenState inc [hl] ret + .asm_cce4 bit 3, a jr z, .asm_ccfb @@ -14451,6 +14579,7 @@ Func_ccb6: ; 0xccb6 ld hl, wScreenState inc [hl] ret + .asm_ccfb ld a, [hJoypadState] cp (SELECT | D_UP) @@ -14472,6 +14601,7 @@ Func_ccb6: ; 0xccb6 ld de, $0001 call PlaySoundEffect ret + .asm_cd24 bit 0, a jr z, .asm_cd16 @@ -14523,6 +14653,7 @@ Func_cd6c: ; 0xcd6c call LoadOAMData call Func_d042 jr .asm_cdc6 + .asm_cda1 ld a, [$d8f0] and a @@ -14588,6 +14719,7 @@ Func_cdce: ; 0xcdce cp $0 jp nz, .asm_ceb6 jr .asm_ce4d + .asm_ce23 push af ld a, $4 @@ -14665,6 +14797,7 @@ Func_cdce: ; 0xcdce call SaveData and a ret + .asm_ceb6 push af ld a, $9 @@ -14716,9 +14849,11 @@ SendHighScores: ; 0xced1 and a jr z, .asm_cefa jr .asm_cf0e + .asm_cf09 call Func_1c50 jr .continueAttempts + .asm_cf0e ld hl, SendHighScoresAnimationData ld de, wSendHighScoresAnimationFrameCounter @@ -14791,6 +14926,7 @@ Func_cf7d: ; 0xcf7d ld de, $0003 call PlaySoundEffect ret + .asm_cf95 bit 7, b ret z @@ -14902,6 +15038,7 @@ Func_d017: ; 0xd017 call Func_d035 scf ret + .asm_d030 call Func_d035 and a @@ -14931,6 +15068,7 @@ Func_d042: ; 0xd042 jr z, .asm_d052 ld a, $7f jr .asm_d058 + .asm_d052 bit BIT_D_RIGHT, b jr z, .asm_d058 @@ -15116,6 +15254,7 @@ Func_d18b: ; 0xd18b jr nz, .asm_d1c7 ld a, $a jr .asm_d1c7 + .asm_d1bd bit 5, b ret z @@ -15150,6 +15289,7 @@ Func_d1d2: ; 0xd1d2 ld bc, $0082 call SaveData ret + .asm_d1fc bit 1, b ret z @@ -15175,6 +15315,7 @@ Func_d211: ; 0xd211 xor a ld [$da82], a ret + .asm_d221 ld a, [$da82] inc a @@ -15600,6 +15741,7 @@ Func_d4cf: ; 0xd4cf ld de, $0003 call PlaySoundEffect jr .asm_d4f0 + .asm_d4e3 bit 5, b ret z @@ -15608,6 +15750,7 @@ Func_d4cf: ; 0xd4cf ld de, $0003 call PlaySoundEffect jr .asm_d537 + .asm_d4f0 call ClearOAMBuffer call Func_d57b @@ -15649,6 +15792,7 @@ Func_d4cf: ; 0xd4cf ld [wHighScoresStage], a call Func_d5d0 ret + .asm_d537 call ClearOAMBuffer call Func_d57b @@ -15984,6 +16128,7 @@ ExitFieldSelectScreen: ; 0xd774 xor a ld [wScreenState], a ret + .pressedB pop af ld a, SCREEN_TITLESCREEN @@ -16012,6 +16157,7 @@ MoveFieldSelectCursor: ; 0xd7d3 ld de, $003c call PlaySoundEffect ret + .didntPressLeft bit BIT_D_RIGHT, b ret z @@ -16221,6 +16367,7 @@ Func_d909: ; 0xd909 adc h ld b, a jr .asm_d999 + .asm_d993 ld a, [$d7f8] and a @@ -16331,6 +16478,7 @@ Func_da36: ; 0xda36 ld de, $28db call Func_32aa ret + .asm_daa9 xor a ld [$d49c], a @@ -16362,6 +16510,7 @@ Func_dab2: ; 0xdab2 ld a, $1 ld [wScreenState], a ret + .asm_dae6 ld de, $0000 call PlaySong @@ -16388,6 +16537,7 @@ Func_dab2: ; 0xdab2 ld a, $0 ld [wScreenState], a ret + .asm_db28 ld de, $0000 call PlaySong @@ -16649,6 +16799,7 @@ LoadBallGfx: ; 0xdcc3 ld bc, $0200 call Func_735 ret + .notPokeBall cp ULTRA_BALL jr nc, .notGreatBall @@ -16658,6 +16809,7 @@ LoadBallGfx: ; 0xdcc3 ld bc, $0200 call Func_735 ret + .notGreatBall cp MASTER_BALL jr nc, .notUltraBall @@ -16667,6 +16819,7 @@ LoadBallGfx: ; 0xdcc3 ld bc, $0200 call Func_735 ret + .notUltraBall ld a, Bank(PinballMasterballGfx) ld hl, PinballMasterballGfx @@ -16687,6 +16840,7 @@ LoadMiniBallGfx: ; 0xdd12 ld bc, $0200 call Func_735 ret + .notPokeBall cp ULTRA_BALL jr nc, .notGreatBall @@ -16696,6 +16850,7 @@ LoadMiniBallGfx: ; 0xdd12 ld bc, $0200 call Func_735 ret + .notGreatBall cp MASTER_BALL jr nc, .notUltraBall @@ -16705,6 +16860,7 @@ LoadMiniBallGfx: ; 0xdd12 ld bc, $0200 call Func_735 ret + .notUltraBall ld a, Bank(PinballMasterballMiniGfx) ld hl, PinballMasterballMiniGfx @@ -16745,6 +16901,7 @@ Func_dd76: ; 0xdd76 ld de, $1502 call PlaySoundEffect ret + .asm_dda3 ld de, $0000 call PlaySong @@ -16769,6 +16926,7 @@ Func_dd76: ; 0xdd76 ld de, $28ee call Func_dc6d ret + .asm_dddd ld a, [$d49d] ld hl, $d49e @@ -16779,6 +16937,7 @@ Func_dd76: ; 0xdd76 ld de, $28ee call Func_dc6d ret + .asm_ddf1 ld de, $28ee call Func_dc6d @@ -16796,6 +16955,7 @@ Func_ddfd: ; 0xddfd ld [$ff8a], a callba Func_10157 jr .asm_de40 + .asm_de14 cp $1 jr nz, .asm_de2d @@ -16806,6 +16966,7 @@ Func_ddfd: ; 0xddfd ld [$ff8a], a callba Func_10ac8 jr .asm_de40 + .asm_de2d xor a ld [$d604], a @@ -16847,6 +17008,7 @@ Func_de4f: ; 0xde4f ld de, $1502 call PlaySoundEffect ret + .asm_de7c ld de, $0000 call PlaySong @@ -16871,6 +17033,7 @@ Func_de4f: ; 0xde4f ld de, $28ee call Func_dc6d ret + .asm_deb6 ld a, [$d49d] ld hl, $d49e @@ -16881,6 +17044,7 @@ Func_de4f: ; 0xde4f ld de, $28ee call Func_dc6d ret + .asm_deca ld de, $28ee call Func_dc6d @@ -16898,6 +17062,7 @@ Func_ded6: ; 0xded6 ld [$ff8a], a callba Func_10157 ret + .asm_deec cp $1 jr nz, .asm_df05 @@ -16908,6 +17073,7 @@ Func_ded6: ; 0xded6 ld [$ff8a], a callba Func_10ac8 ret + .asm_df05 ld a, $0 ld [$d604], a @@ -16948,6 +17114,7 @@ Func_df1a: ; 0xdf1a ld de, $0002 call PlaySoundEffect ret + .asm_df57 xor a ld [$d495], a @@ -16998,6 +17165,7 @@ Func_df7e: ; 0xdf7e ld de, $000b call PlaySoundEffect ret + .asm_dfbb xor a ld [$d495], a @@ -17034,6 +17202,7 @@ Func_dfe2: ; 0xdfe2 jr c, .asm_e001 sub $4 jr .asm_e002 + .asm_e001 xor a .asm_e002 @@ -17051,6 +17220,7 @@ Func_dfe2: ; 0xdfe2 ld de, $0002 call PlaySoundEffect ret + .asm_e025 xor a ld [$d57e], a @@ -17116,6 +17286,7 @@ Func_e08b: ; 0xe08b jr c, .asm_e0aa sub $4 jr .asm_e0ab + .asm_e0aa xor a .asm_e0ab @@ -17131,6 +17302,7 @@ Func_e08b: ; 0xe08b cp $0 jr nz, .asm_e0c8 ret + .asm_e0c8 ld de, $0002 call PlaySoundEffect @@ -17212,6 +17384,7 @@ Func_e118: ; 0xe118 jr c, .asm_e172 ld hl, $0f00 jr .asm_e172 + .asm_e16f ld hl, $0000 .asm_e172 @@ -17257,6 +17430,7 @@ Func_e118: ; 0xe118 jr c, .asm_e1c5 ld hl, $0f00 jr .asm_e1c5 + .asm_e1c2 ld hl, $0000 .asm_e1c5 @@ -17276,6 +17450,7 @@ PlayFlipperSoundIfPressed: ; 0xe1ce ld de, $000c call PlaySoundEffect ret + .asm_e1e2 ld hl, wKeyConfigRightFlipper call IsKeyPressed @@ -17406,6 +17581,7 @@ ReadFlipperCollisionAttributes: ; 0xe25a ld h, a ld a, Bank(FlipperHorizontalCollisionAttributes) jr .readAttributeByte + .secondBank ld a, Bank(FlipperHorizontalCollisionAttributes2) .readAttributeByte @@ -17421,9 +17597,11 @@ ReadFlipperCollisionAttributes: ; 0xe25a jr c, .asm_e2be dec a jr .asm_e270 + .asm_e2be inc a jr .asm_e270 + .collision pop af ; a = flipper animation state(?) ld a, b ; a = collision attribute @@ -17437,6 +17615,7 @@ ReadFlipperCollisionAttributes: ; 0xe25a ld h, a ld a, Bank(FlipperVerticalCollisionAttributes) jr .asm_e2d8 + .asm_e2d3 add $20 ld h, a @@ -17578,6 +17757,7 @@ Func_e410: ; 0xe410 rr h rr l ret + .asm_e43c pop af rr h @@ -17668,6 +17848,7 @@ Func_e4a1: ; 0xe4a1 jr z, .asm_e4d4 ld a, $18 jr .asm_e4d6 + .asm_e4d4 ld a, $b .asm_e4d6 @@ -17699,6 +17880,7 @@ Func_e4a1: ; 0xe4a1 jr z, .asm_e504 ld a, $17 jr .asm_e506 + .asm_e504 ld a, $8 .asm_e506 @@ -18303,6 +18485,7 @@ Func_ece9: ; 0xece9 sub $88 ld [wBallYPos + 1], a ret + .asm_ed13 ld a, [wCurrentStage] ld c, a @@ -18317,6 +18500,7 @@ Func_ece9: ; 0xece9 add $88 ld [wBallYPos + 1], a ret + .asm_ed2e ld a, $1 ld [$d4ae], a @@ -18498,6 +18682,7 @@ Func_ed8e: ; 0xed8e or b ld [$d61a], a jp .asm_6df7 + .asm_ee69 ld a, [$d61d] cp $5 @@ -18505,6 +18690,7 @@ Func_ed8e: ; 0xed8e ld de, $0c42 call PlaySoundEffect jr .asm_ee7e + .asm_ee78 ld de, $0c43 call PlaySoundEffect @@ -18534,6 +18720,7 @@ Func_ed8e: ; 0xed8e ld a, [$d61d] call LoadBillboardPicture jr .asm_eeae + .asm_eea8 ld a, [$d61d] call LoadBillboardOffPicture @@ -18593,9 +18780,11 @@ Func_eef9: ; 0xeef9 jr nz, .asm_ef06 ld a, $7 ret + .asm_ef06 ld a, $8 ret + .asm_ef09 cp $9 jr nz, .asm_ef14 @@ -18604,6 +18793,7 @@ Func_eef9: ; 0xeef9 add [hl] pop hl ret + .asm_ef14 cp $d ret nz @@ -18709,6 +18899,7 @@ Func_efb2: ; 0xefb2 add $12 call LoadBillboardPicture jr .asm_efd8 + .asm_efd0 ld a, [$d61f] add $12 @@ -18747,6 +18938,7 @@ Func_eff3: ; 0xeff3 add $1b call LoadBillboardPicture jr .asm_f019 + .asm_f011 ld a, [$d61f] add $1b @@ -18806,10 +18998,11 @@ UpgradeBallBlueField: ; 0xf040 add $30 ld [wcBottomMessageText + $12], a jr .asm_f0b0 + .masterBall ld de, $0f4d call PlaySoundEffect - ld bc, $34e8 + ld bc, TenThousandPoints ld [$ff8a], a callba Func_8588 ld bc, $100 @@ -18856,6 +19049,7 @@ Func_f0c1: ; 0xf0c1 add $24 call LoadBillboardPicture jr .asm_f0e7 + .asm_f0df ld a, [$d61f] add $24 @@ -19319,6 +19513,7 @@ Func_f55c: ; 0xf55c ld bc, $0010 call LoadVRAMData ret + .gameboyColor ld a, BANK(GFX_d63c0) ld hl, GFX_d63c0 @@ -19528,6 +19723,7 @@ Func_f676: ; 0xf676 ld de, $d489 call Func_f902 jr .asm_f6c7 + .asm_f709 call Func_f83a ret @@ -19631,6 +19827,7 @@ PrintTextNoHeader: ; 0xf7b1 jr nc, .asm_f7c6 add $56 jr .asm_f7dc + .asm_f7c6 cp "A" jr c, .asm_f7d2 @@ -19638,11 +19835,13 @@ PrintTextNoHeader: ; 0xf7b1 jr nc, .asm_f7d2 add $bf jr .asm_f7dc + .asm_f7d2 cp "e" jr nz, .asm_f7da ld a, $83 jr .asm_f7dc + .asm_f7da ld a, $81 .asm_f7dc @@ -19660,6 +19859,7 @@ PrintTextNoHeader: ; 0xf7b1 jr nc, .asm_f7ef add $56 jr .asm_f809 + .asm_f7ef cp $a0 jr c, .asm_f7fb @@ -19667,6 +19867,7 @@ PrintTextNoHeader: ; 0xf7b1 jr nc, .asm_f7fb sub $80 jr .asm_f809 + .asm_f7fb cp $e0 jr c, .asm_f807 @@ -19674,6 +19875,7 @@ PrintTextNoHeader: ; 0xf7b1 jr nc, .asm_f807 sub $50 jr .asm_f809 + .asm_f807 ld a, $81 .asm_f809 @@ -19725,6 +19927,7 @@ Func_f83a: ; 0xf83a dec b jr nz, .asm_f841 ret + .asm_f84e xor a ld [$d4ab], a @@ -19769,6 +19972,7 @@ Func_f853: ; 0xf853 pop hl pop de jr .asm_f85b + .asm_f899 ld hl, $d489 ld de, $d483 @@ -20083,7 +20287,6 @@ Func_faf8: ; 0xfaf8 ; XXX ret - SECTION "bank4", ROMX, BANK[$4] Func_10000: ; 0x10000 @@ -20101,6 +20304,7 @@ Func_10000: ; 0x10000 ld [$ff8a], a callba Func_301ce ret + .asm_10021 ld a, [wCurrentStage] call CallInFollowingTable @@ -20295,6 +20499,7 @@ CheckForMew: ld [wNumMewtwoBonusCompletions], a ld a, $10 ret + .asm_10155 pop af ret @@ -20828,6 +21033,7 @@ LoadShakeBallGfx: ; 0x104e2 ld bc, $0040 call LoadVRAMData ret + .notPokeball cp ULTRA_BALL jr nc, .notGreatball @@ -20837,6 +21043,7 @@ LoadShakeBallGfx: ; 0x104e2 ld bc, $0040 call LoadVRAMData ret + .notGreatball cp MASTER_BALL jr nc, .notUltraBall @@ -20846,6 +21053,7 @@ LoadShakeBallGfx: ; 0x104e2 ld bc, $0040 call LoadVRAMData ret + .notUltraBall ld a, Bank(PinballMasterballShakeGfx) ld hl, PinballMasterballShakeGfx @@ -20876,6 +21084,7 @@ CapturePokemon: ; 0x1052d xor a ld [$d5bb], a ret + .asm_1055d ld a, [wBallCaptureAnimationFrameIndex] cp $15 @@ -21091,6 +21300,7 @@ Func_106b6: ; 0x106b6 inc de inc b jr .readLetter + .endOfName ld a, $20 ld [de], a @@ -21236,12 +21446,14 @@ Func_107f8: ; 0x107f8 ld de, $0749 call PlaySoundEffect ret + .asm_10810 cp $10 jr nz, .asm_1081b ld de, $0a4a call PlaySoundEffect ret + .asm_1081b cp $5 ret nz @@ -21267,7 +21479,7 @@ Func_10825: ; 0x10825 ret Func_10848: ; 0x10848 - ld bc, $34fa + ld bc, OneHundredPoints ld [$ff8a], a callba Func_8588 call Func_30e8 @@ -21330,6 +21542,7 @@ Func_10871: ; 0x10871 ld [$ff8a], a callba Func_159f4 ret + .asm_108d3 ld [$ff8a], a callba Func_14135 @@ -21614,7 +21827,6 @@ VideoData_10b2a: ; 0x10b2a dw $8900 dw $E0 - Func_10b3f: ; 0x10b3f call Func_30e8 call Func_30db @@ -21715,6 +21927,7 @@ Func_10ba2: ; 0x10ba2 ld [de], a inc de jr .asm_10bda + .asm_10be7 pop hl pop bc @@ -21752,6 +21965,7 @@ Func_10c0c: ; 0x10c0c ld de, $0003 call PlaySoundEffect ret + .asm_10c28 bit 7, b ret z @@ -21771,6 +21985,7 @@ Func_10c38: ; 0x10c38 dec [hl] xor a jr .asm_10c4c + .asm_10c45 cp $6 jr c, .asm_10c4c @@ -21865,6 +22080,7 @@ Func_10cb7: ; 0x10cb7 ld bc, $0030 call LoadVRAMData jr .asm_10cfc + .asm_10cee ld a, BANK(StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor) ld hl, StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor + $80 @@ -22080,6 +22296,7 @@ Func_10e0a: ; 0x10e0a inc de inc b jr .asm_10e67 + .asm_10e70 ld a, $20 ld [de], a @@ -22099,7 +22316,7 @@ Func_10e0a: ; 0x10e0a ret Func_10e8b: ; 0x10e8b - ld bc, $34e8 + ld bc, TenThousandPoints ld [$ff8a], a callba Func_8588 ld bc, $0100 @@ -22158,6 +22375,7 @@ Func_10ebb: ; 0x10ebb ld bc, $00e0 call Func_735 ret + .asm_10f0b ld a, BANK(Data_dbe80) ld hl, Data_dbe80 @@ -22303,6 +22521,7 @@ Func_11061: ; 0x11061 ld bc, $00e0 call Func_735 ret + .asm_110bd ld a, BANK(Data_dbe80) ld hl, Data_dbe80 @@ -23274,7 +23493,6 @@ MonEvolutions: ; 0x116b3 db $00, EVO_EXPERIENCE db $00, EVO_EXPERIENCE - INCLUDE "data/mon_names.asm" CatchEmModeInitialIndicatorStates: ; 0x123ae @@ -24676,7 +24894,6 @@ Data_13685: ; 0x13685 db $14, $14, $0E db $14, $14, $0E - SECTION "bank5", ROMX, BANK[$5] Func_14000: ; 0x14000 @@ -24851,6 +25068,7 @@ Func_1414b: ; 0x1414b and a jr nz, .asm_14165 jp Func_14210 + .asm_14165 ld [$ff8a], a callba Func_141f2 @@ -24884,6 +25102,7 @@ Func_1414b: ; 0x1414b ld bc, $0040 call FarCopyData ret + .notPokeball cp ULTRA_BALL jr nc, .notGreatball @@ -24893,6 +25112,7 @@ Func_1414b: ; 0x1414b ld bc, $0040 call FarCopyData ret + .notGreatball cp MASTER_BALL jr nc, .notUltraball @@ -24902,6 +25122,7 @@ Func_1414b: ; 0x1414b ld bc, $0040 call FarCopyData ret + .notUltraball ld a, Bank(PinballMasterballShakeGfx) ld hl, PinballMasterballShakeGfx @@ -24968,6 +25189,7 @@ Func_14234: ; 0x14234 ld bc, $00e0 call FarCopyData jr .asm_1426a + .asm_1425c ld a, BANK(Data_dbe80) ld hl, Data_dbe80 @@ -24999,11 +25221,13 @@ Func_14282: ; 0x14282 and a call nz, Func_142b3 ret + .asm_14296 cp $1 jr nz, .asm_1429e call Func_142c3 ret + .asm_1429e ld a, [$d624] call Func_174d4 @@ -25069,12 +25293,14 @@ Func_142fc: ; 0x142fc ld [$ff8a], a callba LoadBallGfx jr .asm_14328 + .asm_1430e cp $1 jr nz, .asm_1431e ld [$ff8a], a callba LoadMiniBallGfx jr .asm_14328 + .asm_1431e ld [$ff8a], a callba Func_dd62 @@ -25091,6 +25317,7 @@ Func_142fc: ; 0x142fc ld bc, $0008 call Func_6fd ret + .notPokeball cp ULTRA_BALL jr nc, .notGreatball @@ -25100,6 +25327,7 @@ Func_142fc: ; 0x142fc ld bc, $0008 call Func_6fd ret + .notGreatball cp MASTER_BALL jr nc, .notUltraball @@ -25109,6 +25337,7 @@ Func_142fc: ; 0x142fc ld bc, $0008 call Func_6fd ret + .notUltraball ld a, BANK(MasterBallObjPalette) ld hl, MasterBallObjPalette @@ -25129,6 +25358,7 @@ Func_14377: ; 0x14377 ld [$ff8a], a callba Func_30256 ret + .asm_14393 ld a, [$d608] and a @@ -25137,10 +25367,12 @@ Func_14377: ; 0x14377 ld [$ff8a], a callba Func_30256 ret + .asm_143a6 ld [$ff8a], a callba Func_30253 ret + .asm_143b1 ld a, [wSpecialMode] cp $2 @@ -25151,6 +25383,7 @@ Func_14377: ; 0x14377 ld [$ff8a], a callba Func_30253 ret + .asm_143c9 ld a, [$d604] and a @@ -25184,6 +25417,7 @@ Func_143f9: ; 0x143f9 call Func_1445a call Func_14443 jp Func_1441e + .asm_14412 call Func_14481 call Func_144e4 @@ -25533,6 +25767,7 @@ Func_14707: ; 0x14707 ld bc, $0004 call Func_735 ret + .asm_1471c ld a, BANK(Data_1472f) ld hl, Data_1472f @@ -25637,6 +25872,7 @@ Func_147aa: ; 0x147aa cp $3 call z, Func_14920 jr .asm_14830 + .asm_14807 ld a, $66 ld [$c7e3], a @@ -25655,6 +25891,7 @@ Func_147aa: ; 0x147aa .asm_14830 call Func_1496d ret + .asm_14834 ld a, [$d4ef] and a @@ -25835,7 +26072,7 @@ Func_1496d: ; 0x1496d ld [$d804], a ld a, $2 ld [$d7eb], a - ld bc, $34be + ld bc, FiveHundredMillionPoints ld [$ff8a], a callba AddBCDScore ld de, $000f @@ -25852,6 +26089,7 @@ Func_14990: ; 0x14990 dec a ld [wLeftMapMoveDiglettAnimationCounter], a jr .asm_149b6 + .asm_149a2 call Func_1130 ret nz @@ -25871,6 +26109,7 @@ Func_14990: ; 0x14990 dec a ld [wRightMapMoveDiglettAnimationCounter], a ret + .asm_149c6 call Func_1130 ret nz @@ -25948,10 +26187,11 @@ Func_14d85: ; 0x14d85 ld a, $4 ld [$ff8a], a callba Func_10000 - ld bc, Data_34be + ld bc, FiveHundredMillionPoints ld [$ff8a], a callba AddBCDScore ret + .asm_14db9 ld a, [$d4d6] and a @@ -26016,6 +26256,7 @@ Func_14e10: ; 0x14e10 ld b, a jr nc, .asm_14e3b jr .asm_14e38 + .asm_14e2e ld a, c add $7 @@ -26044,6 +26285,7 @@ Func_14e10: ; 0x14e10 add $18 ld c, $1 jr .asm_14e66 + .asm_14e5e cp $18 jr c, .asm_14e66 @@ -26054,7 +26296,7 @@ Func_14e10: ; 0x14e10 ld a, c and a ret z - ld bc, Data_34ac + ld bc, OneHundredBillionPoints ld [$ff8a], a callba AddBCDScore ld hl, $d62d @@ -26064,6 +26306,7 @@ Func_14e10: ; 0x14e10 jr nz, .asm_14e8a call Func_14ea7 ret + .asm_14e8a inc a ld [$d517], a @@ -26142,7 +26385,7 @@ Func_151cb: ; 0x151cb ld [hl], $1 and a ret nz - ld bc, Data_34b2 + ld bc, OneHundredMillionPoints ld [$ff8a], a callba AddBCDScore ld hl, $d50f @@ -26157,7 +26400,7 @@ Func_151cb: ; 0x151cb ld [$d513], a ld a, $80 ld [$d514], a - ld bc, Data_34b8 + ld bc, FourHundredMillionPoints ld [$ff8a], a callba AddBCDScore ld de, $0009 @@ -26165,6 +26408,7 @@ Func_151cb: ; 0x151cb ld hl, $d62c call Func_e4a jr Func_asm_1522d + .asm_15229 call Func_15270 ret z @@ -26188,19 +26432,22 @@ Func_1523c: ; 0x1523c ld a, [hGameBoyColorFlag] and a jr nz, .asm_15249 - ld hl, $52dd ; todo + ld hl, Data_152dd jr .asm_1525b + .asm_15249 - ld hl, $531d ; todo + ld hl, Data_1531d jr .asm_1525b + .asm_1524e ld a, [hGameBoyColorFlag] and a jr nz, .asm_15258 - ld hl, $52e5 + ld hl, Data_152e5 jr .asm_1525b + .asm_15258 - ld hl, $5325 + ld hl, Data_15325 .asm_1525b push bc dec b @@ -26247,6 +26494,7 @@ Func_15270: ; 0x15270 ld a, $1 and a ret + .asm_152a6 ld hl, wKeyConfigLeftFlipper call IsKeyPressed @@ -26269,6 +26517,7 @@ Func_15270: ; 0x15270 ld a, b ld [hl], a ret + .asm_152c2 ld hl, wKeyConfigRightFlipper call IsKeyPressed @@ -26292,7 +26541,17 @@ Func_15270: ; 0x15270 ld [hl], a ret - dr $152dd, $1535d +Data_152dd: + dr $152dd, $152e5 + +Data_152e5: + dr $152e5, $1531d + +Data_1531d: + dr $1531d, $15325 + +Data_15325: + dr $15325, $1535d Func_1535d: ; 0x1535d ld a, [$d5f7] @@ -26324,7 +26583,7 @@ Func_1535d: ; 0x1535d ld [hl], $1 and a ret nz - ld bc, $34b2 + ld bc, OneHundredMillionPoints ld [$ff8a], a callba AddBCDScore ld hl, $d5f9 @@ -26336,6 +26595,7 @@ Func_1535d: ; 0x1535d ld de, $0009 call PlaySoundEffect jp Func_15450 + .asm_153c0 ld a, $1 ld [$d5fc], a @@ -26346,7 +26606,7 @@ Func_1535d: ; 0x1535d ld [wBallTypeCounter], a ld a, $e ld [wBallTypeCounter + 1], a - ld bc, $34b8 + ld bc, FourHundredMillionPoints ld [$ff8a], a callba AddBCDScore ld a, [wBallType] @@ -26369,10 +26629,11 @@ Func_1535d: ; 0x1535d add $30 ld [wcBottomMessageText + $12], a jr .asm_15447 + .masterBall ld de, $0f4d call PlaySoundEffect - ld bc, $34e8 + ld bc, TenThousandPoints ld [$ff8a], a callba Func_8588 ld bc, $0100 @@ -26392,6 +26653,7 @@ Func_1535d: ; 0x1535d .asm_15447 call Func_155a7 jr Func_15450 + .asm_1544c call Func_154a9 ret z @@ -26417,19 +26679,22 @@ Func_15465: ; 0x15465 ld a, [hGameBoyColorFlag] and a jr nz, .asm_15472 - ld hl, $5511 ; todo + ld hl, Data_15511 jr .asm_15484 + .asm_15472 - ld hl, $5543 ; todo + ld hl, Data_15543 jr .asm_15484 + .asm_15477 ld a, [hGameBoyColorFlag] and a jr nz, .asm_15481 - ld hl, $5517 ; todo + ld hl, Data_15517 jr .asm_15484 + .asm_15481 - ld hl, $5549 ; todo + ld hl, Data_15549 .asm_15484 push bc dec b @@ -26484,9 +26749,11 @@ Func_154a9: ; 0x154a9 ld a, $1 and a ret + .asm_154d4 xor a ret + .asm_154d6 ld hl, wKeyConfigLeftFlipper call IsKeyPressed @@ -26505,6 +26772,7 @@ Func_154a9: ; 0x154a9 ld a, b ld [hl], a ret + .asm_154ee ld hl, wKeyConfigRightFlipper call IsKeyPressed @@ -26542,7 +26810,17 @@ BallTypeDegradationRedField: ; 0x1550b db ULTRA_BALL ; unused db ULTRA_BALL ; MASTER_BALL -> GREAT_BALL - dr $15511, $15575 +Data_15511: + dr $15511, $15517 + +Data_15517: + dr $15517, $15543 + +Data_15543: + dr $15543, $15549 + +Data_15549: + dr $15549, $15575 HandleBallTypeUpgradeCounterRedField: ; 0x15575 ld a, [$d5f3] @@ -26584,7 +26862,7 @@ Func_155a7: ; 0x155a7 ld c, a sla c ld b, $0 - ld hl, $55d7 ; todo + ld hl, Data_155d7 add hl, bc ld a, [hli] ld h, [hl] @@ -26602,7 +26880,7 @@ Func_155bb: ; 0x155bb sla a ld c, a ld b, $0 - ld hl, $57f7 ; todo + ld hl, Data_157f7 add hl, bc ld c, [hl] inc hl @@ -26612,7 +26890,11 @@ Func_155bb: ; 0x155bb call Func_10c5 ret - dr $155d7, $1581f +Data_155d7: + dr $155d7, $157f7 + +Data_157f7: + dr $157f7, $1581f Func_1581f: ; 0x1581f ld a, [$d51f] @@ -26620,7 +26902,7 @@ Func_1581f: ; 0x1581f ret z xor a ld [$d51f], a - ld bc, $34a6 + ld bc, FiftyBillionPoints ld [$ff8a], a callba AddBCDScore ld a, [$d520] @@ -26863,11 +27145,11 @@ Func_159f4: ; 0x159f4 or c ld c, a ld b, $0 - ld hl, $5a3f ; todo + ld hl, Data_15a3f ld a, [hGameBoyColorFlag] and a jr z, .asm_15a2d - ld hl, $5d05 + ld hl, Data_15d05 .asm_15a2d add hl, bc ld a, [hli] @@ -26881,7 +27163,11 @@ Func_159f4: ; 0x159f4 ld [$d7f2], a ret - dr $15a3f, $15e93 +Data_15a3f: + dr $15a3f, $15d05 + +Data_15d05: + dr $15d05, $15e93 Func_15e93: ; 0x15e93 ld a, [$d4fb] @@ -26889,7 +27175,7 @@ Func_15e93: ; 0x15e93 jr z, .asm_15eda xor a ld [$d4fb], a - ld bc, $34d0 + ld bc, OneMillionPoints ld [$ff8a], a callba AddBCDScore ld de, $0005 @@ -26953,6 +27239,7 @@ Func_15e93: ; 0x15e93 ld hl, Func_30164 call z, BankSwitch ret + .asm_15f35 ld a, [wBellsproutAnimationFrameIndex] cp $4 @@ -26960,6 +27247,7 @@ Func_15e93: ; 0x15e93 ld a, $1 ld [$d548], a ret + .asm_15f42 ld a, [wBellsproutAnimationFrameIndex] cp $5 @@ -27032,11 +27320,11 @@ asm_15fc0 sla a ld c, a ld b, $0 - ld hl, $6010 ; todo + ld hl, Data_16010 ld a, [hGameBoyColorFlag] and a jr z, .asm_15fd0 - ld hl, $6080 + ld hl, Data_16080 .asm_15fd0 add hl, bc ld a, [hli] @@ -27062,7 +27350,7 @@ Func_15fda: ; 0x15fda sub $6 ld c, a ld b, $0 - ld hl, $600e + ld hl, Data_1600e add hl, bc ld a, [$d7ea] add [hl] @@ -27071,7 +27359,14 @@ Func_15fda: ; 0x15fda call PlaySoundEffect ret - dr $1600e, $160f0 +Data_1600e: + dr $1600e, $16010 + +Data_16010: + dr $16010, $16080 + +Data_16080: + dr $16080, $160f0 Func_160f0: ; 0x160f0 ld a, [$d5fe] @@ -27079,7 +27374,7 @@ Func_160f0: ; 0x160f0 jr z, .asm_16137 xor a ld [$d5fe], a - ld bc, $34d0 + ld bc, OneMillionPoints ld [$ff8a], a callba AddBCDScore ld de, $0021 @@ -27114,12 +27409,14 @@ Func_160f0: ; 0x160f0 ld [$ff8a], a callba LoadMiniBallGfx ret + .asm_1614f cp $c jr nz, .asm_1615e ld [$ff8a], a callba Func_dd62 ret + .asm_1615e cp $9 jr nz, .asm_1616d @@ -27128,6 +27425,7 @@ Func_160f0: ; 0x160f0 ld [wBallSpin], a ld [wBallRotation], a ret + .asm_1616d cp $6 jr nz, .asm_1618e @@ -27141,12 +27439,14 @@ Func_160f0: ; 0x160f0 ld a, $8 ld [$d804], a ret + .asm_1618e cp $3 jr nz, .asm_1619d ld [$ff8a], a callba LoadMiniBallGfx ret + .asm_1619d and a ret nz @@ -27332,12 +27632,14 @@ Func_16279: ; 0x16279 ld [$ff8a], a callba LoadMiniBallGfx ret + .asm_162d4 cp $f jr nz, .asm_162e3 ld [$ff8a], a callba Func_dd62 ret + .asm_162e3 cp $c jr nz, .asm_162f2 @@ -27346,11 +27648,13 @@ Func_16279: ; 0x16279 ld [wBallSpin], a ld [wBallRotation], a ret + .asm_162f2 cp $9 jr nz, .asm_162fa call Func_16352 ret + .asm_162fa cp $6 jr nz, .asm_16317 @@ -27363,6 +27667,7 @@ Func_16279: ; 0x16279 ld [$ff8a], a callba LoadMiniBallGfx ret + .asm_16317 cp $3 jr nz, .asm_16330 @@ -27373,6 +27678,7 @@ Func_16279: ; 0x16279 ld a, $80 ld [wBallXVelocity], a ret + .asm_16330 and a ret nz @@ -27400,6 +27706,7 @@ Func_16352: ; 0x16352 ld [$d548], a ld [$d549], a ret + .asm_1636d ld a, [$d624] cp $3 @@ -27424,7 +27731,7 @@ Func_16352: ; 0x16352 ld a, [$d498] ld c, a ld b, $0 - ld hl, $6420 + ld hl, Data_16420 add hl, bc ld a, [hl] ld [$d497], a @@ -27435,6 +27742,7 @@ Func_16352: ; 0x16352 ld a, $1e ld [$d607], a ret + .asm_163b3 ld [$ff8a], a callba Func_ed8e @@ -27466,13 +27774,13 @@ Func_163f2: ; 0x163f2 call Func_30db ld hl, $d5dc ld a, [$d497] - ld de, $2e83 + ld de, Data_2e83 cp $d jr z, .asm_1640f - ld de, $2e9e + ld de, Data_2e9e cp $7 jr z, .asm_1640f - ld de, $2eb8 + ld de, Data_2eb8 .asm_1640f call Func_32aa ld de, $0000 @@ -27482,6 +27790,7 @@ Func_163f2: ; 0x163f2 call PlaySoundEffect ret +Data_16420: dr $16420, $16425 Func_16425: ; 0x16425 @@ -27494,11 +27803,11 @@ Func_16425: ; 0x16425 sla a ld c, a ld b, $0 - ld hl, $644d ; todo + ld hl, Data_1644d ld a, [hGameBoyColorFlag] and a jr z, .asm_16441 - ld hl, $64a1 ; todo + ld hl, Data_164a1 .asm_16441 add hl, bc ld a, [hli] @@ -27510,7 +27819,11 @@ Func_16425: ; 0x16425 call Func_10aa ret - dr $1644d, $164e3 +Data_1644d: + dr $1644d, $164a1 + +Data_164a1: + dr $164a1, $164e3 Func_164e3: ; 0x164e3 ld a, [$d607] @@ -27528,6 +27841,7 @@ Func_164e3: ; 0x164e3 ld a, [$d498] add $15 jr .asm_16506 + .asm_164ff ld a, [$d608] and a @@ -27592,6 +27906,7 @@ Func_1652d: ; 0x1652d ld [$d4e0], a ld [$d4de], a ret + .asm_16582 ld hl, wKeyConfigBallStart call IsKeyPressed @@ -27640,11 +27955,12 @@ Func_1658f: ; 0x1658f dec b jr nz, .waitOnCurrentMap jr .showNextMap + .ballStartKeyPressed pop bc ld [$ff8a], a callba Func_30253 - ld bc, $2cd1 + ld bc, Data_2cd1 ld [$ff8a], a callba Func_3118f ld a, [wCurrentMap] @@ -27704,6 +28020,7 @@ Func_1660c: ; 0x1660c ld [$d549], a call Func_30e8 jr .asm_1667b + .asm_16667 ld hl, PikachuSaverAnimation2DataBlueStage ld de, wPikachuSaverAnimationFrameCounter @@ -27768,6 +28085,7 @@ Func_1669e: ; 0x1669e ld de, $1610 call PlaySoundEffect ret + .asm_166f7 ld a, [wPikachuSaverAnimationFrameIndex] cp $11 @@ -27776,12 +28094,13 @@ Func_1669e: ; 0x1669e ld [wBallYVelocity + 1], a ld a, $1 ld [$d549], a - ld bc, $34ca + ld bc, FiveBillionPoints ld [$ff8a], a callba AddBCDScore xor a ld [$d51c], a ret + .asm_16719 cp $2 jr nz, .asm_16732 @@ -27795,6 +28114,7 @@ Func_1669e: ; 0x1669e xor a ld [$d51c], a ret + .asm_16732 ld a, [$ffb3] swap a @@ -27837,6 +28157,7 @@ Func_16766: ; 0x16766 ld hl, $d518 ld [hl], $0 ret + .asm_16774 ld hl, wKeyConfigRightFlipper call IsKeyPressed2 @@ -27854,7 +28175,7 @@ Func_16781: ; 0x16781 ld a, [$d503] and a jr nz, .asm_167c2 - ld bc, $34ca + ld bc, FiveBillionPoints ld [$ff8a], a callba AddBCDScore ld a, [$d502] @@ -27868,6 +28189,7 @@ Func_16781: ; 0x16781 ld [$ff8a], a callba Func_10000 ret + .asm_167bd ld a, [$d503] and a @@ -27906,7 +28228,7 @@ Func_167ff: ; 0x167ff ld a, [$d503] and a jr nz, .asm_1683e - ld bc, $34ca + ld bc, FiveBillionPoints ld [$ff8a], a callba AddBCDScore ld a, [$d502] @@ -27919,6 +28241,7 @@ Func_167ff: ; 0x167ff ld [$ff8a], a callba Func_10000 ret + .asm_16839 ld a, [$d503] and a @@ -27943,11 +28266,11 @@ Func_16859: ; 0x16859 sla a ld c, a ld b, $0 - ld hl, $6899 ; todo + ld hl, Data_16899 ld a, [hGameBoyColorFlag] and a jr z, .asm_1686c - ld hl, $6910 ; todo + ld hl, Data_16910 .asm_1686c add hl, bc ld a, [hli] @@ -27965,11 +28288,11 @@ Func_16878: ; 0x16878 sla a ld c, a ld b, $0 - ld hl, $695a ; todo + ld hl, Data_1695a ld a, [hGameBoyColorFlag] and a jr z, .asm_1688d - ld hl, $6980 ; todo + ld hl, Data_16980 .asm_1688d add hl, bc ld a, [hli] @@ -27981,7 +28304,17 @@ Func_16878: ; 0x16878 call Func_10aa ret - dr $16899, $169a6 +Data_16899: + dr $16899, $16910 + +Data_16910: + dr $16910, $1695a + +Data_1695a: + dr $1695a, $16980 + +Data_16980: + dr $16980, $169a6 Func_169a6: ; 0x169a6 ld a, [$ffb3] @@ -28013,11 +28346,11 @@ Func_169a6: ; 0x169a6 Func_169cd: ; 0x169cd push af sla c - ld hl, $69ed + ld hl, Data_169ed ld a, [hGameBoyColorFlag] and a jr z, .asm_169db - ld hl, $6bef + ld hl, Data_16bef .asm_169db add hl, bc ld a, [hli] @@ -28034,7 +28367,11 @@ Func_169cd: ; 0x169cd call Func_10aa ret - dr $169ed, $16d9d +Data_169ed: + dr $169ed, $16bef + +Data_16bef: + dr $16bef, $16d9d Func_16d9d: ; 016d9d ld a, [$d60a] @@ -28061,6 +28398,7 @@ Func_16d9d: ; 016d9d set 7, a ld [$d60c], a jr .asm_16e35 + .asm_16ddc ld a, $a ld [$ff8a], a @@ -28099,7 +28437,7 @@ Func_16d9d: ; 016d9d ld a, $1 ld [$d613], a .asm_16e35 - ld bc, $34ac + ld bc, OneHundredBillionPoints ld [$ff8a], a callba AddBCDScore ld a, [$d60c] @@ -28123,6 +28461,7 @@ Func_16e51: ; 0x16e51 ld a, $2 ld [$d611], a jr .asm_16e8f + .asm_16e6e and a jr nz, .asm_16e8f @@ -28138,6 +28477,7 @@ Func_16e51: ; 0x16e51 add $14 call Func_16f28 ret + .asm_16e8f ld a, [$d610] cp $2 @@ -28158,6 +28498,7 @@ Func_16e51: ; 0x16e51 ld [$d60c], a call Func_16f28 jr .asm_16ec1 + .asm_16eb6 ld a, [$d60c] set 7, a @@ -28184,6 +28525,7 @@ Func_16e51: ; 0x16e51 add $14 call Func_16f28 ret + .asm_16ee7 ld a, [$d60d] set 7, a @@ -28204,7 +28546,7 @@ Func_16ef5: ; 0x16ef5 call Func_30e8 call Func_30db ld hl, $d5cc - ld de, $2958 + ld de, BonusMultiplierText call Func_32aa ld hl, wcBottomMessageText + $12 ld a, [$d614] @@ -28227,6 +28569,7 @@ Func_16f28: ; 0x16f28 pop af call Func_16f38 ret + .asm_16f33 pop af call Func_16f7b @@ -28247,7 +28590,7 @@ Func_16f38: ; 0x16f38 ld c, a ld b, $0 sla c - ld hl, $6fc8 + ld hl, Data_16fc8 add hl, bc ld a, [hli] ld h, [hl] @@ -28266,7 +28609,7 @@ Func_16f38: ; 0x16f38 jr c, .asm_16f6e set 2, c .asm_16f6e - ld hl, $71e4 + ld hl, Data_171e4 add hl, bc ld a, [hli] ld h, [hl] @@ -28284,7 +28627,7 @@ Func_16f7b: ; 0x16f7b ld c, a ld b, $0 sla c - ld hl, $7228 + ld hl, Data_17228 add hl, bc ld a, [hli] ld h, [hl] @@ -28302,7 +28645,7 @@ Func_16f95: ; 0x16f95 .asm_16f9f ld b, a xor a - ld hl, $6fc1 ; todo + ld hl, Data_16fc1 ld c, $7 .asm_16fa6 bit 0, b @@ -28323,7 +28666,17 @@ Func_16f95: ; 0x16f95 ld [$d60d], a ret - dr $16fc1, $174d0 +Data_16fc1: + dr $16fc1, $16fc8 + +Data_16fc8: + dr $16fc8, $171e4 + +Data_171e4: + dr $171e4, $17228 + +Data_17228: + dr $17228, $174d0 Func_174d0: ; 0x174d0 call Func_174ea @@ -28334,7 +28687,7 @@ Func_174d4: ; 0x174d4 sla a ld c, a ld b, $0 - ld hl, $7528 ; todo + ld hl, Data_17528 add hl, bc ld a, [hli] ld c, a @@ -28366,6 +28719,7 @@ Func_174ea: ; 0x174ea ld a, [$d624] scf ret + .asm_17514 and $7 ret nz @@ -28375,11 +28729,13 @@ Func_174ea: ; 0x174ea ld a, [$d624] scf ret + .asm_17523 ld a, [$d625] scf ret +Data_17528: dr $17528, $1755c Func_1755c: ; 0x1755c @@ -28426,6 +28782,7 @@ Func_175a4: ; 0x175a4 dec a ld [$d581], a ret + .asm_175be call Func_1762f ld hl, $d582 @@ -28440,7 +28797,7 @@ Func_175a4: ; 0x175a4 and $f call Func_1764f ld d, $0 - ld hl, $7615 + ld hl, Data_17615 add hl, de ld a, [hli] call Func_17627 @@ -28468,6 +28825,7 @@ DrawTimer: ; 0x175f5 call DrawTimerDigit ; ones digit of the minutes ret +Data_17615: dr $17615, $17625 DrawTimerDigit: ; 0x17625 @@ -28525,7 +28883,7 @@ Func_17665: ; 0x17665 ld b, $0 sla c rl b - ld hl, $7679 ; todo + ld hl, Data_17679 add hl, bc ld a, [hli] ld h, [hl] @@ -28534,6 +28892,7 @@ Func_17665: ; 0x17665 call Func_10aa ret +Data_17679: dr $17679, $17c67 Func_17c67: ; 0x17c67 @@ -28551,12 +28910,13 @@ Func_17c67: ; 0x17c67 ld a, [wBallCaptureAnimationFrame] ld e, a ld d, $0 - ld hl, $7c89 + ld hl, Data_17c89 add hl, de ld a, [hl] call LoadOAMData ret +Data_17c89: dr $17c89, $17c96 Func_17c96: ; 0x17c96 @@ -28574,28 +28934,29 @@ Func_17c96: ; 0x17c96 ld a, [$d5bd] ld e, a ld d, $0 - ld hl, $7cb8 + ld hl, Data_17cb8 add hl, de ld a, [hl] call LoadOAMData ret +Data_17cb8: dr $17cb8, $17cc4 Func_17cc4: ; 0x17cc4 ld de, $d4cd - ld hl, $7d15 + ld hl, Data_17d15 call Func_17cdc ld de, $d4d0 - ld hl, $7d1b + ld hl, Data_17d1b call Func_17cdc ld de, $d4d3 - ld hl, $7d21 + ld hl, Data_17d21 ; fall through Func_17cdc: ; 0x17cdc push hl - ld hl, $7d27 + ld hl, Data_17d27 call UpdateAnimation ld h, d ld l, e @@ -28636,7 +28997,17 @@ Func_17cdc: ; 0x17cdc call LoadOAMData ret - dr $17d15, $17d34 +Data_17d15: + dr $17d15, $17d1b + +Data_17d1b: + dr $17d1b, $17d21 + +Data_17d21: + dr $17d21, $17d27 + +Data_17d27: + dr $17d27, $17d34 Func_17d34: ; 0x17d34 ld a, $0 @@ -28650,12 +29021,13 @@ Func_17d34: ; 0x17d34 ld a, [wStageCollisionState] ld e, a ld d, $0 - ld hl, $7d51 + ld hl, Data_17d51 add hl, de ld a, [hl] call LoadOAMData ret +Data_17d51: dr $17d51, $17d59 Func_17d59: ; 0x17d59 @@ -28670,12 +29042,13 @@ Func_17d59: ; 0x17d59 ld a, [wBellsproutAnimationFrame] ld e, a ld d, $0 - ld hl, $7d76 + ld hl, Data_17d76 add hl, de ld a, [hl] call LoadOAMData ret +Data_17d76: dr $17d76, $17d7a Func_17d7a: ; 0x17d7a @@ -28769,6 +29142,7 @@ Func_17e08: ; 0x17e08 srl a and $1 jr .asm_17e33 + .asm_17e29 ld a, [$d4b4] cp $50 @@ -28979,7 +29353,6 @@ Func_17fca: ; 0x17fca dr $17ff7, $18000 - SECTION "bank6", ROMX, BANK[$6] Func_18000: ; 0x18000 @@ -29070,6 +29443,7 @@ InitGengarBonusStage: ; 0x18099 ld [$d690], a ld [$d6a1], a ret + .asm_180ac ld a, $1 ld [$d7ac], a @@ -29255,6 +29629,7 @@ Func_1820d: ; 0x1820d ld [$d7e9], a scf ret + .asm_18257 and a ret @@ -29331,6 +29706,7 @@ Func_18298: ; 0x18298 ld [$d7e9], a scf ret + .asm_182e2 and a ret @@ -29393,6 +29769,7 @@ Func_18308: ; 0x18308 ld [$d7e9], a scf ret + .asm_1834e and a ret @@ -29508,7 +29885,7 @@ Func_18464: ; 0x18464 ld a, [$d67b] inc a ld [$d67b], a - ld bc, $34d6 + ld bc, TenMillionPoints ld [$ff8a], a callba Func_8588 ld a, $33 @@ -29579,6 +29956,7 @@ Func_1850c: ; 0x1850c ld a, $1 ld [hl], a ret + .asm_18534 ld a, [de] sub [hl] @@ -29625,6 +30003,7 @@ Func_18562: ; 0x18562 dec de call CopyHLToDE ret + .asm_1858a cp $1 ret nz @@ -29644,6 +30023,7 @@ Func_18562: ; 0x18562 ld de, $0006 call PlaySong ret + .asm_185b1 ld c, a ld a, [$d65d] @@ -29717,7 +30097,7 @@ Func_1860b: ; 0x1860b ld a, [$d695] inc a ld [$d695], a - ld bc, $34e2 + ld bc, FiftyMillionPoints ld [$ff8a], a callba Func_8588 ld a, $33 @@ -29782,6 +30162,7 @@ Func_186a1: ; 0x186a1 ld a, $1 ld [hl], a ret + .asm_186c9 ld a, [de] sub [hl] @@ -29828,6 +30209,7 @@ Func_186f7: ; 0x186f7 dec de call CopyHLToDE ret + .asm_1871f cp $1 ret nz @@ -29844,6 +30226,7 @@ Func_186f7: ; 0x186f7 ld de, $0000 call PlaySong ret + .asm_18740 ld c, a ld a, [$d682] @@ -29869,6 +30252,7 @@ Func_186f7: ; 0x186f7 xor a ld [de], a ret + .asm_18761 cp $13 ret nz @@ -29931,6 +30315,7 @@ Func_187b1: ; 0x187b1 ld de, $0037 call PlaySoundEffect jr .asm_18826 + .asm_18804 ld hl, $4b32 call CopyHLToDE @@ -29945,7 +30330,7 @@ Func_187b1: ; 0x187b1 ld de, $0000 call PlaySong .asm_18826 - ld bc, $34ee + ld bc, FiftyThousandPoints ld [$ff8a], a callba Func_8588 ld a, $33 @@ -29971,6 +30356,7 @@ Func_187b1: ; 0x187b1 jr nc, .asm_18869 call Func_18876 jr .asm_1886c + .asm_18869 call Func_188e1 .asm_1886c @@ -30019,6 +30405,7 @@ Func_18876: ; 0x18876 adc $3 ld [$d6a0], a jr .asm_188da + .asm_188ca ld a, [$d69f] add $0 @@ -30072,6 +30459,7 @@ Func_188e1: ; 0x188e1 adc $fd ld [$d6a0], a jr .asm_18945 + .asm_18935 ld a, [$d69f] add $0 @@ -30110,6 +30498,7 @@ Func_1894c: ; 0x1894c ld a, $1 ld [wUpperTiltPushing], a ret + .asm_18980 ld de, $002b call PlaySoundEffect @@ -30129,6 +30518,7 @@ Func_1894c: ; 0x1894c inc a ld [$d7a0], a ret + .asm_189a5 ld a, [$d6a4] and a @@ -30166,6 +30556,7 @@ Func_189af: ; 0x189af dec de call CopyHLToDE ret + .asm_189d7 cp $1 jr nz, .asm_189ed @@ -30182,6 +30573,7 @@ Func_189af: ; 0x189af xor a ld [de], a ret + .asm_189ed cp $2 jr nz, .asm_18a04 @@ -30198,6 +30590,7 @@ Func_189af: ; 0x189af ld a, $1 ld [de], a ret + .asm_18a04 cp $3 jr nz, .asm_18a3c @@ -30207,6 +30600,7 @@ Func_189af: ; 0x189af ld de, $002e call PlaySoundEffect ret + .asm_18a14 cp $fe ret nz @@ -30224,6 +30618,7 @@ Func_189af: ; 0x189af ld de, $4b2a call PlaySoundEffect ret + .asm_18a3c cp $4 ret nz @@ -30254,7 +30649,7 @@ Func_18d34: ; 0x18d34 ld a, [$d7be] and a jr nz, .asm_18d71 - ld bc, $34b2 + ld bc, OneHundredMillionPoints ld [$ff8a], a callba Func_8588 ld a, $ff @@ -30370,6 +30765,7 @@ Func_19033: ; 0x19033 bit 7, a jr z, .asm_19036 ret + .asm_19042 inc de inc de @@ -30459,6 +30855,7 @@ Func_190c6: ; 0x190c6 bit 7, a jr z, .asm_190c9 ret + .asm_190d5 inc de inc de @@ -30552,6 +30949,7 @@ Func_1918c: ; 0x1918c bit 7, a jr z, .asm_1918f ret + .asm_1919b inc de inc de @@ -30751,6 +31149,7 @@ Func_19337: ; 0x19337 dec b jr nz, .asm_1933d ret + .asm_19360 ld [$d4eb], a ld [$d6b4], a @@ -30900,6 +31299,7 @@ Func_19414: ; 0x19414 ld [hl], a scf ret + .asm_1944f and a ret @@ -30975,7 +31375,7 @@ Func_19531: ; 0x19531 ld a, [$d6af] cp $2 jr nc, .asm_195a2 - ld bc, $34ee + ld bc, FiftyThousandPoints ld [$ff8a], a callba Func_8588 ld a, [$d6b0] @@ -30998,6 +31398,7 @@ Func_19531: ; 0x19531 ld de, $0039 call PlaySoundEffect jr .asm_195a2 + .asm_19582 ld a, $3 ld de, $d6ae @@ -31036,6 +31437,7 @@ Func_195ac: ; 0x195ac ld de, $d6ae call Func_19679 ret + .asm_195ce add hl, de dec b @@ -31062,6 +31464,7 @@ Func_195d3: ; 0x195d3 ld a, $1 call Func_19876 ret + .asm_195f0 add hl, de dec b @@ -31108,6 +31511,7 @@ Func_1961e: ; 0x1961e jr nz, .asm_19628 call Func_195d3 ret + .asm_19628 cp $d ret nz @@ -31130,6 +31534,7 @@ Func_19638: ; 0x19638 ld de, $0040 call PlaySoundEffect ret + .asm_19645 cp $20 ret nz @@ -31203,7 +31608,7 @@ Func_19701: ; 0x19701 dec de ld a, $2 call Func_19876 - ld bc, $34d6 + ld bc, TenMillionPoints ld [$ff8a], a callba Func_8588 ld de, $0038 @@ -31363,6 +31768,7 @@ Func_1988e: ; 0x1988e ld a, $3 call Func_19876 jr .asm_198c0 + .asm_198b7 dec de dec de @@ -31607,6 +32013,7 @@ Func_19aba: ; 0x19aba jr nc, .asm_19af7 xor a jr .asm_19af7 + .asm_19aed ld a, [wBallXPos + 1] cp $68 @@ -31630,6 +32037,7 @@ Func_19aba: ; 0x19aba ld [hl], a scf ret + .asm_19b16 and a ret @@ -31667,6 +32075,7 @@ Func_19b4b: ; 0x19b4b ld [hl], a scf ret + .asm_19b86 and a ret @@ -31725,7 +32134,7 @@ Func_19c52: ; 0x19c52 jr z, .asm_19cc8 xor a ld [$d73b], a - ld bc, $34d6 + ld bc, TenMillionPoints ld [$ff8a], a callba Func_8588 ld de, $0035 @@ -31829,6 +32238,7 @@ Func_19cdd: ; 0x19cdd call Func_19da8 call Func_19dcd jr .asm_19d29 + .asm_19d21 and $3 add $2 @@ -31849,6 +32259,7 @@ Func_19cdd: ; 0x19cdd .notDoneInitializingDigletts ld [wCurrentDiglett], a ret + .alreadyInitializedDigletts ld hl, DiglettUpdateOrder ld a, [wCurrentDiglett] @@ -31883,6 +32294,7 @@ Func_19cdd: ; 0x19cdd call Func_19da8 call Func_19dcd jr .asm_19d8f + .asm_19d77 cp $5 jr c, .incrementDiglettState @@ -31893,6 +32305,7 @@ Func_19cdd: ; 0x19cdd ld a, $1 call Func_19da8 jr .asm_19d8f + .incrementDiglettState and $3 add $2 @@ -32030,7 +32443,7 @@ Func_1aad4: ; 0x1aad4 ld l, a ld de, wDugtrioAnimationFrameCounter call CopyHLToDE - ld bc, $34ee + ld bc, FiftyThousandPoints ld [$ff8a], a callba Func_8588 ld de, $0036 @@ -32077,6 +32490,7 @@ Func_1ab30: ; 0x1ab30 ld a, $1 ld [wDugrioState], a ret + .asm_1ab64 cp $2 jr nz, .asm_1ab7d @@ -32089,6 +32503,7 @@ Func_1ab30: ; 0x1ab30 ld a, $3 ld [wDugrioState], a ret + .asm_1ab7d cp $3 jr nz, .asm_1ab96 @@ -32101,6 +32516,7 @@ Func_1ab30: ; 0x1ab30 ld a, $3 ld [wDugrioState], a ret + .asm_1ab96 cp $4 jr nz, .asm_1abaf @@ -32113,6 +32529,7 @@ Func_1ab30: ; 0x1ab30 ld a, $5 ld [wDugrioState], a ret + .asm_1abaf cp $5 jr nz, .asm_1abc8 @@ -32125,6 +32542,7 @@ Func_1ab30: ; 0x1ab30 ld a, $5 ld [wDugrioState], a ret + .asm_1abc8 cp $6 jr nz, .asm_1abe1 @@ -32137,6 +32555,7 @@ Func_1ab30: ; 0x1ab30 ld a, $7 ld [wDugrioState], a ret + .asm_1abe1 cp $7 ret nz @@ -32146,6 +32565,7 @@ Func_1ab30: ; 0x1ab30 ld de, $0000 call PlaySong ret + .asm_1abf2 cp $2 ret nz @@ -32228,7 +32648,6 @@ Func_1acb0: ; 0x1acb0 dr $1accf, $1c000 - SECTION "bank7", ROMX, BANK[$7] InitBlueField: ; 0x1c000 @@ -32470,6 +32889,7 @@ Func_1c235: ; 0x1c235 ld [$c803], a ld a, $1 jr .asm_1c24a + .asm_1c249 xor a .asm_1c24a @@ -32485,9 +32905,11 @@ Func_1c235: ; 0x1c235 ld b, $7 add b jr .asm_1c269 + .asm_1c264 xor a jr .asm_1c269 + .asm_1c267 ld a, $8 .asm_1c269 @@ -32506,13 +32928,16 @@ Func_1c235: ; 0x1c235 and a jr nz, .asm_1c2bd jr .asm_1c291 + .asm_1c28a ld a, [wRightMapMoveCounter] add $3 jr .asm_1c297 + .asm_1c291 ld a, $3 jr .asm_1c297 + .asm_1c295 ld a, $2 .asm_1c297 @@ -32529,14 +32954,17 @@ Func_1c235: ; 0x1c235 ld b, $a add b jr .asm_1c2b9 + .asm_1c2b3 ld a, $4 jr .asm_1c2b9 + .asm_1c2b7 ld a, $9 .asm_1c2b9 call Func_1de6f ret + .asm_1c2bd ld a, $6 call Func_1de4b @@ -32599,6 +33027,7 @@ Func_1c305: ; 0x1c305 and a jr nz, .asm_1c31f jp Func_1c3ca + .asm_1c31f ld [$ff8a], a callba Func_1c3ac @@ -32632,6 +33061,7 @@ Func_1c305: ; 0x1c305 ld bc, $0040 call FarCopyData ret + .notPokeball cp ULTRA_BALL jr nc, .notGreatball @@ -32641,6 +33071,7 @@ Func_1c305: ; 0x1c305 ld bc, $0040 call FarCopyData ret + .notGreatball cp MASTER_BALL jr nc, .notUltraBall @@ -32650,6 +33081,7 @@ Func_1c305: ; 0x1c305 ld bc, $0040 call FarCopyData ret + .notUltraBall ld a, Bank(PinballMasterballShakeGfx) ld hl, PinballMasterballShakeGfx @@ -32716,6 +33148,7 @@ Func_1c3ee: ; 0x1c3ee ld bc, $00e0 call FarCopyData jr .asm_1c424 + .asm_1c416 ld a, $36 ld hl, $7e80 @@ -32747,11 +33180,13 @@ Func_1c43c: ; 0x1c43c and a call nz, Func_1c46d ret + .asm_1c450 cp $1 jr nz, .asm_1c458 call Func_1c47d ret + .asm_1c458 ld a, [$d624] call Func_1f265 @@ -32822,6 +33257,7 @@ Func_1c4b6: ; 0x1c4b6 ld [$ff8a], a callba Func_30256 ret + .asm_1c4d2 ld a, [$d608] and a @@ -32830,10 +33266,12 @@ Func_1c4b6: ; 0x1c4b6 ld [$ff8a], a callba Func_30256 ret + .asm_1c4e5 ld [$ff8a], a callba Func_30253 ret + .asm_1c4f0 ld a, [wSpecialMode] cp $2 @@ -32844,6 +33282,7 @@ Func_1c4b6: ; 0x1c4b6 ld [$ff8a], a callba Func_30253 ret + .asm_1c508 ld a, [$d604] and a @@ -32876,6 +33315,7 @@ Func_1c536: ; 0x1c536 call Func_1c5d4 call Func_1c5eb ret + .asm_1c54d call Func_1c571 call Func_1c59c @@ -32977,6 +33417,7 @@ Func_1c5eb: ; 0x1c5eb jr nz, .asm_1c601 ld hl, BlueTopEvolutionTrinketCoords jp PinballCollideWithPoints + .asm_1c601 ld hl, BlueBottomEvolutionTrinketCoords jp PinballCollideWithPoints @@ -33124,6 +33565,7 @@ Func_1c7d7: ; 0x1c7d7 ld [$d4e0], a ld [$d4de], a ret + .asm_1c82c ld hl, wKeyConfigBallStart call IsKeyPressed @@ -33172,6 +33614,7 @@ Func_1c839: ; 0x1c839 dec b jr nz, .waitOnCurrentMap jr .showNextMap + .ballStartKeyPressed pop bc ld [$ff8a], a @@ -33201,6 +33644,7 @@ Func_1c8b6: ; 0x1c8b6 jr z, .asm_1c8c2 ld [$d64c], a ret + .asm_1c8c2 xor a ld [$d64c], a @@ -33254,6 +33698,7 @@ Func_1c8b6: ; 0x1c8b6 cp $0 jr nz, .asm_1c933 jr .asm_1c947 + .asm_1c925 ld a, [$d643] cp $0 @@ -33270,6 +33715,7 @@ Func_1c8b6: ; 0x1c8b6 ld [$d64b], a ld [$d640], a jr .asm_1c99e + .asm_1c947 ld a, [$d644] cp $0 @@ -33297,6 +33743,7 @@ Func_1c8b6: ; 0x1c8b6 ld a, $1 ld [$d640], a jr .asm_1c99e + .asm_1c97f ld a, [$d641] and a @@ -33307,12 +33754,14 @@ Func_1c8b6: ; 0x1c8b6 ld [$d640], a ld [$d64a], a jr .asm_1c99e + .asm_1c993 ld a, $2 ; down direction ld [wBlueStageForceFieldDirection], a ld a, $1 ld [$d640], a ret + .asm_1c99e ld a, [wBlueStageForceFieldDirection] cp $0 ; up direction @@ -33320,12 +33769,14 @@ Func_1c8b6: ; 0x1c8b6 ld a, $1 ld [$d64a], a jr .asm_1c9c0 + .asm_1c9ac cp $1 jr nz, .asm_1c9b7 ld a, $1 ld [$d649], a jr .asm_1c9c0 + .asm_1c9b7 cp $3 jr nz, .asm_1c9c0 @@ -33365,10 +33816,11 @@ Func_1c9c1: ; 0x1c9c1 ld a, $4 ld [$ff8a], a callba Func_10000 - ld bc, $34be + ld bc, FiveHundredMillionPoints ld [$ff8a], a callba AddBCDScore ret + .asm_1ca19 ld a, [$d4d6] and a @@ -33446,6 +33898,7 @@ Func_1ca85: ; 0x1ca85 ld b, a jr nc, .asm_1cab0 jr .asm_1caad + .asm_1caa3 ld a, c add $7 @@ -33474,6 +33927,7 @@ Func_1ca85: ; 0x1ca85 add $18 ld c, $1 jr .asm_1cadb + .asm_1cad3 cp $18 jr c, .asm_1cadb @@ -33484,7 +33938,7 @@ Func_1ca85: ; 0x1ca85 ld a, c and a ret z - ld bc, $34ac + ld bc, OneHundredBillionPoints ld [$ff8a], a callba AddBCDScore ld hl, $d62d @@ -33494,6 +33948,7 @@ Func_1ca85: ; 0x1ca85 jr nz, .asm_1caff call Func_1cb1c ret + .asm_1caff inc a ld [$d517], a @@ -33632,7 +34087,7 @@ Func_1cfaa: ; 0x1cfaa ret z xor a ld [$d51f], a - ld bc, $34a6 + ld bc, FiftyBillionPoints ld [$ff8a], a callba AddBCDScore ld a, [wStageCollisionState] @@ -33690,6 +34145,7 @@ Func_1d010: ; 0x1d010 set 7, a ld [wIndicatorStates], a ret + .asm_1d03e ld [wIndicatorStates], a ld a, $80 @@ -33788,6 +34244,7 @@ Func_1d0a1: ; 0x1d0a1 ld [$d549], a call Func_30e8 jr .asm_1d110 + .asm_1d0fc ld hl, PikachuSaverAnimation2DataRedStage ld de, wPikachuSaverAnimationFrameCounter @@ -33852,6 +34309,7 @@ Func_1d133: ; 0x1d133 ld de, $1610 call PlaySoundEffect ret + .asm_1d18c ld a, [wPikachuSaverAnimationFrameIndex] cp $11 @@ -33860,12 +34318,13 @@ Func_1d133: ; 0x1d133 ld [wBallYVelocity + 1], a ld a, $1 ld [$d549], a - ld bc, $34ca + ld bc, FiveBillionPoints ld [$ff8a], a callba AddBCDScore xor a ld [$d51c], a ret + .asm_1d1ae cp $2 jr nz, .asm_1d1c7 @@ -33879,6 +34338,7 @@ Func_1d133: ; 0x1d133 xor a ld [$d51c], a ret + .asm_1d1c7 ld a, [$ffb3] swap a @@ -33921,6 +34381,7 @@ Func_1d1fb: ; 0x1d1fb ld hl, $d518 ld [hl], $0 ret + .asm_1d209 ld hl, wKeyConfigRightFlipper call IsKeyPressed2 @@ -33935,7 +34396,7 @@ Func_1d216: ; 0x1d216 jr z, .asm_1d253 xor a ld [$d630], a - ld bc, $34d0 + ld bc, OneMillionPoints ld [$ff8a], a callba AddBCDScore ld de, $0005 @@ -33997,6 +34458,7 @@ Func_1d216: ; 0x1d216 ld hl, Func_30164 call z, BankSwitch ret + .asm_1d2b6 ld a, [$d634] cp $4 @@ -34004,6 +34466,7 @@ Func_1d216: ; 0x1d216 ld a, $1 ld [$d548], a ret + .asm_1d2c3 ld a, [$d634] cp $5 @@ -34046,7 +34509,7 @@ HandleEnteringCloyster: ; 0x1d32d jr z, .asm_1d36a xor a ld [$d635], a - ld bc, $34d0 + ld bc, OneMillionPoints ld [$ff8a], a callba AddBCDScore ld de, $0005 @@ -34108,6 +34571,7 @@ HandleEnteringCloyster: ; 0x1d32d ld hl, Func_30164 call z, BankSwitch ret + .asm_1d3cb ld a, [$d639] cp $4 @@ -34115,6 +34579,7 @@ HandleEnteringCloyster: ; 0x1d32d ld a, $1 ld [$d548], a ret + .asm_1d3d8 ld a, [$d639] cp $5 @@ -34163,6 +34628,7 @@ Func_1d438: ; 0x1d438 jr nz, .asm_1d45c ld a, $1f jr .asm_1d45e + .asm_1d45c ld a, $29 .asm_1d45e @@ -34183,12 +34649,14 @@ Func_1d438: ; 0x1d438 set 7, a ld [$d60c], a jr asm_1d4fa + .asm_1d48e ld a, [hGameBoyColorFlag] and a jr nz, .asm_1d497 ld a, $21 jr .asm_1d499 + .asm_1d497 ld a, $2b .asm_1d499 @@ -34232,7 +34700,7 @@ Func_1d438: ; 0x1d438 ld a, $1 ld [$d613], a asm_1d4fa: ; 0x1d4fa - ld bc, $34ac + ld bc, OneHundredBillionPoints ld [$ff8a], a callba AddBCDScore ld a, [$d60c] @@ -34258,6 +34726,7 @@ Func_1d51b: ; 0x1d51b ld a, $2 ld [$d611], a jr .asm_1d559 + .asm_1d538 and a jr nz, .asm_1d559 @@ -34273,6 +34742,7 @@ Func_1d51b: ; 0x1d51b add $14 call Func_1d5f2 ret + .asm_1d559 ld a, [$d610] cp $2 @@ -34293,6 +34763,7 @@ Func_1d51b: ; 0x1d51b ld [$d60c], a call Func_1d5f2 jr .asm_1d58b + .asm_1d580 ld a, [$d60c] set 7, a @@ -34319,6 +34790,7 @@ Func_1d51b: ; 0x1d51b add $14 call Func_1d5f2 ret + .asm_1d5b1 ld a, [$d60d] set 7, a @@ -34362,6 +34834,7 @@ Func_1d5f2: ; 0x1d5f2 pop af call Func_1d602 ret + .asm_1d5fd pop af call Func_1d645 @@ -34467,6 +34940,7 @@ Func_1d692: ; 0x1d692 dec a ld [$d647], a ret + .asm_1d69e ld a, $0 ld [$d647], a @@ -34478,6 +34952,7 @@ Func_1d692: ; 0x1d692 ld a, $20 call Func_1d5f2 ret + .asm_1d6b3 ld a, $2a call Func_1d5f2 @@ -34530,6 +35005,7 @@ Func_1dbd2: ; 0x1dbd2 ld a, $14 ld [wLeftMapMoveDiglettFrame], a jr .asm_1dc8a + .asm_1dc33 xor a ld [$d4ed], a @@ -34598,6 +35074,7 @@ Func_1dc95: ; 0x1dc95 dec a ld [wLeftMapMoveDiglettFrame], a ret + .asm_1dcb9 ld a, [$d646] cp $2 @@ -34613,9 +35090,11 @@ Func_1dc95: ; 0x1dc95 ld b, $7 add b jr .asm_1dcd9 + .asm_1dcd4 xor a jr .asm_1dcd9 + .asm_1dcd7 ld a, $8 .asm_1dcd9 @@ -34627,6 +35106,7 @@ Func_1dc95: ; 0x1dc95 ld a, $1 ld [$d646], a ret + .asm_1dceb ld a, [$d646] cp $1 @@ -34675,12 +35155,14 @@ Func_1dd2e: ; 0x1dd2e dec a ld [wRightMapMoveDiglettAnimationCounter], a ret + .asm_1dd48 ld a, $2 call Func_1de4b ld a, $1 ld [$d645], a ret + .asm_1dd53 ld a, [wRightMapMoveCounter] add $4 @@ -34691,6 +35173,7 @@ Func_1dd2e: ; 0x1dd2e ld a, $3 ld [$d645], a ret + .asm_1dd69 ld a, [wRightMapMoveDiglettFrame] and a @@ -34698,6 +35181,7 @@ Func_1dd2e: ; 0x1dd2e dec a ld [wRightMapMoveDiglettFrame], a ret + .asm_1dd74 ld a, [hGameBoyColorFlag] and a @@ -34708,9 +35192,11 @@ Func_1dd2e: ; 0x1dd2e ld b, $a add b jr .asm_1dd8b + .asm_1dd85 ld a, $4 jr .asm_1dd8b + .asm_1dd89 ld a, $9 .asm_1dd8b @@ -34791,7 +35277,7 @@ Func_1de22: ; 0x1de22 ld [$d804], a ld a, $2 ld [$d7eb], a - ld bc, $34be + ld bc, FiveHundredMillionPoints ld [$ff8a], a callba AddBCDScore ld de, $000f @@ -34879,9 +35365,11 @@ Func_1de93: ; 0x1de93 ld b, $7 add b jr .asm_1decf + .asm_1deca xor a jr .asm_1decf + .asm_1decd ld a, $8 .asm_1decf @@ -34918,9 +35406,11 @@ Func_1de93: ; 0x1de93 ld b, $a add b jr .asm_1df11 + .asm_1df0b ld a, $4 jr .asm_1df11 + .asm_1df0f ld a, $9 .asm_1df11 @@ -35025,7 +35515,7 @@ Func_1e356: ; 0x1e356 jr z, .asm_1e3bf ld [hl], $0 .asm_1e3bf - ld bc, $34b2 + ld bc, OneHundredMillionPoints ld [$ff8a], a callba AddBCDScore ld hl, $d5f9 @@ -35037,6 +35527,7 @@ Func_1e356: ; 0x1e356 ld de, $0009 call PlaySoundEffect jp asm_1e475 + .asm_1e3de ld a, $1 ld [$d5fc], a @@ -35047,7 +35538,7 @@ Func_1e356: ; 0x1e356 ld [wBallTypeCounter], a ld a, $e ld [wBallTypeCounter + 1], a - ld bc, $34b8 + ld bc, FourHundredMillionPoints ld [$ff8a], a callba AddBCDScore ld a, [wBallType] @@ -35070,10 +35561,11 @@ Func_1e356: ; 0x1e356 add $30 ld [wcBottomMessageText + $12], a jr .asm_1e465 + .masterBall ld de, $0f4d call PlaySoundEffect - ld bc, $34e8 + ld bc, TenThousandPoints ld [$ff8a], a callba Func_8588 ld bc, $0100 @@ -35118,15 +35610,18 @@ Func_1e484: ; 0x1e484 jr nz, .asm_1e491 ld hl, $6520 jr .asm_1e4a3 + .asm_1e491 ld hl, $6556 jr .asm_1e4a3 + .asm_1e496 ld a, [hGameBoyColorFlag] and a jr nz, .asm_1e4a0 ld hl, $6526 jr .asm_1e4a3 + .asm_1e4a0 ld hl, $655c .asm_1e4a3 @@ -35169,9 +35664,11 @@ Func_1e4b8: ; 0x1e4b8 ld a, $1 and a ret + .asm_1e4e3 xor a ret + .asm_1e4e5 ld hl, wKeyConfigLeftFlipper call IsKeyPressed @@ -35191,6 +35688,7 @@ Func_1e4b8: ; 0x1e4b8 ld a, b ld [hl], a ret + .leftFlipperKeyIsPressed ld hl, wKeyConfigRightFlipper call IsKeyPressed @@ -35287,7 +35785,7 @@ Func_1e5c5: ; 0x1e5c5 ld [hl], $1 and a ret nz - ld bc, $34b2 + ld bc, OneHundredMillionPoints ld [$ff8a], a callba AddBCDScore ld hl, $d50f @@ -35302,7 +35800,7 @@ Func_1e5c5: ; 0x1e5c5 ld [$d513], a ld a, $80 ld [$d514], a - ld bc, $34b8 + ld bc, FourHundredMillionPoints ld [$ff8a], a callba AddBCDScore ld de, $0009 @@ -35310,6 +35808,7 @@ Func_1e5c5: ; 0x1e5c5 ld hl, $d62c call Func_e4a jr Func_1e627 + .asm_1e623 call Func_1e66a ret z @@ -35335,15 +35834,18 @@ Func_1e636: ; 0x1e636 jr nz, .asm_1e643 ld hl, $66d7 jr .asm_1e655 + .asm_1e643 ld hl, $6717 jr .asm_1e655 + .asm_1e648 ld a, [hGameBoyColorFlag] and a jr nz, .asm_1e652 ld hl, $66df jr .asm_1e655 + .asm_1e652 ld hl, $671f .asm_1e655 @@ -35392,6 +35894,7 @@ Func_1e66a: ; 0x1e66a ld a, $1 and a ret + .asm_1e6a0 ld hl, wKeyConfigLeftFlipper call IsKeyPressed @@ -35414,6 +35917,7 @@ Func_1e66a: ; 0x1e66a ld a, b ld [hl], a ret + .asm_1e6bc ld hl, wKeyConfigRightFlipper call IsKeyPressed @@ -35482,12 +35986,14 @@ Func_1e757: ; 0x1e757 ld [$ff8a], a callba LoadMiniBallGfx ret + .asm_1e7b2 cp $f jr nz, .asm_1e7c1 ld [$ff8a], a callba Func_dd62 ret + .asm_1e7c1 cp $c jr nz, .asm_1e7d0 @@ -35496,11 +36002,13 @@ Func_1e757: ; 0x1e757 ld [wBallSpin], a ld [wBallRotation], a ret + .asm_1e7d0 cp $9 jr nz, .asm_1e7d8 call Func_1e830 ret + .asm_1e7d8 cp $6 jr nz, .asm_1e7f5 @@ -35513,6 +36021,7 @@ Func_1e757: ; 0x1e757 ld [$ff8a], a callba LoadMiniBallGfx ret + .asm_1e7f5 cp $3 jr nz, .asm_1e80e @@ -35523,6 +36032,7 @@ Func_1e757: ; 0x1e757 ld a, $80 ld [wBallXVelocity], a ret + .asm_1e80e and a ret nz @@ -35550,6 +36060,7 @@ Func_1e830: ; 0x1e830 ld [$d548], a ld [$d549], a ret + .asm_1e84b ld a, [$d624] cp $3 @@ -35585,6 +36096,7 @@ Func_1e830: ; 0x1e830 ld a, $1e ld [$d607], a ret + .asm_1e891 ld [$ff8a], a callba Func_ed8e @@ -35672,6 +36184,7 @@ Func_1e9c0: ; 0x1e9c0 ld a, [$d498] add $15 jr .asm_1e9e3 + .asm_1e9dc ld a, [$d608] and a @@ -35883,6 +36396,7 @@ Func_1ead4: ; 0x1ead4 inc a inc a jr .asm_1eb2b + .asm_1eb29 ld a, $0 .asm_1eb2b @@ -36441,6 +36955,7 @@ Func_1f27b: ; 0x1f27b ld a, [$d624] scf ret + .asm_1f2a5 and $7 ret nz @@ -36450,6 +36965,7 @@ Func_1f27b: ; 0x1f27b ld a, [$d624] scf ret + .asm_1f2b4 ld a, [$d625] scf @@ -36553,6 +37069,7 @@ Func_1f3ad: ; 0x1f3ad jr z, .asm_1f3c4 ld a, $0 jr .asm_1f3c6 + .asm_1f3c4 ld a, $1 .asm_1f3c6 @@ -36645,6 +37162,7 @@ Func_1f448: ; 0x1f448 srl a and $1 jr .asm_1f473 + .asm_1f469 ld a, [$d4b4] cp $50 @@ -36813,7 +37331,6 @@ Func_1f58b: ; 0x1f58b dr $1f5ad, $20000 - SECTION "bank8", ROMX, BANK[$8] Func_20000: ; 0x20000 @@ -36828,6 +37345,7 @@ Func_20000: ; 0x20000 jr z, .asm_20018 scf ret + .asm_20018 call Func_201f2 ld a, [$d54d] @@ -36958,7 +37476,7 @@ Func_200d3: ; 0x200d3 inc a ld [wNumMonHits], a .asm_20116 - ld bc, $34dc + ld bc, ThirtyMillionPoints ld [$ff8a], a callba Func_8588 ld bc, $0030 @@ -36980,6 +37498,7 @@ Func_200d3: ; 0x200d3 callba Func_10611 ld c, $2 jr .asm_2018a + .hitMonThreeTimes xor a ld [$d57e], a @@ -36989,6 +37508,7 @@ Func_200d3: ; 0x200d3 inc [hl] ld c, $2 jr .asm_2018a + .asm_20167 ld a, [$d5be] and a @@ -37023,6 +37543,7 @@ Func_20193: ; 0x20193 xor a ld [$d580], a ret + .asm_2019e ld [$ff8a], a callba Func_10496 @@ -37111,7 +37632,7 @@ Func_20230: ; 0x20230 .asm_20264 ld [$ff8a], a callba Func_10184 - ld bc, $34d6 + ld bc, TenMillionPoints ld [$ff8a], a callba Func_8588 ld bc, $0010 @@ -37161,6 +37682,7 @@ Func_202bc: ; 0x202bc jr z, .asm_202d9 scf ret + .asm_202d9 call Func_204b3 ld a, [$d54d] @@ -37291,7 +37813,7 @@ Func_20394: ; 0x20394 inc a ld [wNumMonHits], a .asm_203d7 - ld bc, $34dc + ld bc, ThirtyMillionPoints ld [$ff8a], a callba Func_8588 ld bc, $0030 @@ -37313,6 +37835,7 @@ Func_20394: ; 0x20394 callba Func_10611 ld c, $2 jr .asm_2044b + .asm_20417 xor a ld [$d57e], a @@ -37322,6 +37845,7 @@ Func_20394: ; 0x20394 inc [hl] ld c, $2 jr .asm_2044b + .asm_20428 ld a, [$d5be] and a @@ -37356,6 +37880,7 @@ Func_20454: ; 0x20454 xor a ld [$d580], a ret + .asm_2045f ld [$ff8a], a callba Func_10496 @@ -37444,7 +37969,7 @@ Func_204f1: ; 0x204f1 .asm_20525 ld [$ff8a], a callba Func_10184 - ld bc, $34d6 + ld bc, TenMillionPoints ld [$ff8a], a callba Func_8588 ld bc, $0010 @@ -37516,6 +38041,7 @@ Func_20581: ; 0x20581 jr z, .asm_205cb scf ret + .asm_205cb call Func_2077b ld a, [$d54d] @@ -37563,7 +38089,7 @@ Func_205e0: ; 0x205e0 ld a, Bank(Func_14135) ld hl, Func_14135 call nz, BankSwitch - ld bc, $34e8 + ld bc, TenThousandPoints ld [$ff8a], a callba Func_8588 call Func_30e8 @@ -37618,12 +38144,14 @@ Func_20651: ; 0x20651 ld de, $0728 call PlaySoundEffect ret + .asm_20693 cp $2 jr nz, .asm_2069e ld de, $0744 call PlaySoundEffect ret + .asm_2069e cp $3 ret nz @@ -37786,6 +38314,7 @@ Func_2080f: ; 0x2080f ld [$d55c], a jp nz, Func_20977 jp Func_209eb + .asm_20837 scf ret @@ -37805,6 +38334,7 @@ Func_20839: ; 0x20839 ld [$d563], a jp nz, Func_20977 jp Func_209eb + .asm_20858 scf ret @@ -37828,6 +38358,7 @@ Func_2085a: ; 0x2085a ld [$d562], a jp nz, Func_20977 jp Func_209eb + .asm_20885 scf ret @@ -37847,6 +38378,7 @@ Func_20887: ; 0x20887 ld [$d561], a jp nz, Func_20977 jp Func_209eb + .asm_208a6 scf ret @@ -37866,6 +38398,7 @@ Func_208a8: ; 0x208a8 ld [$d55d], a jp nz, Func_20977 jp Func_209eb + .asm_208c7 scf ret @@ -37885,6 +38418,7 @@ Func_208c9: ; 0x208c9 ld [$d55e], a jp nz, Func_20977 jp Func_209eb + .asm_208e8 scf ret @@ -37904,6 +38438,7 @@ Func_208ea: ; 0x208ea ld [$d55f], a jp nz, Func_20977 jp Func_209eb + .asm_20909 scf ret @@ -37923,6 +38458,7 @@ Func_2090b: ; 0x2090b ld [$d560], a jp nz, Func_20977 jp Func_209eb + .asm_2092a scf ret @@ -37942,6 +38478,7 @@ Func_2092c: ; 0x2092c ld [$d565], a jp nz, Func_20977 jp Func_209eb + .asm_2094b scf ret @@ -37964,6 +38501,7 @@ Func_2094d: ; 0x2094d ld [$d564], a jp nz, Func_20977 jp Func_209eb + .asm_20975 scf ret @@ -37998,7 +38536,7 @@ Func_20977: ; 0x20977 ld bc, $0010 call Func_7dc .asm_209bf - ld bc, $34dc + ld bc, ThirtyMillionPoints ld [$ff8a], a callba Func_8588 call Func_30e8 @@ -38045,7 +38583,7 @@ Func_209eb: ; 0x209eb ld [$d556], a ld a, $2 ld [$d557], a - ld bc, $34dc + ld bc, ThirtyMillionPoints ld [$ff8a], a callba Func_8588 call Func_30e8 @@ -38069,6 +38607,7 @@ Func_20a55: ; 0x20a55 and a jr z, .asm_20a63 jr asm_20a9f + .asm_20a63 scf ret @@ -38080,10 +38619,11 @@ Func_20a65: ; 0x20a65 ld a, [wIndicatorStates + 1] and a jr z, .asm_20a80 - ld bc, $34d0 + ld bc, OneMillionPoints ld [$ff8a], a callba Func_8588 jr asm_20a9f + .asm_20a80 scf ret @@ -38095,13 +38635,15 @@ Func_20a82: ; 0x20a82 ld a, [wIndicatorStates] and a jr z, .asm_20a9d - ld bc, $34d0 + ld bc, OneMillionPoints ld [$ff8a], a callba Func_8588 jr asm_20a9f + .asm_20a9d scf ret + asm_20a9f: xor a ld [wIndicatorStates], a @@ -38264,6 +38806,7 @@ Func_20bae: ; 0x20bae jr z, .asm_20bf3 scf ret + .asm_20bf3 call Func_20da0 ld a, [$d54d] @@ -38310,7 +38853,7 @@ Func_20c08: ; 0x20c08 ld a, Bank(Func_1c2cb) ld hl, Func_1c2cb call nz, BankSwitch - ld bc, $34e8 + ld bc, TenThousandPoints ld [$ff8a], a ld a, $2 ld hl, $4588 @@ -38368,12 +38911,14 @@ Func_20c76: ; 0x20c76 ld de, $0728 call PlaySoundEffect ret + .asm_20cb8 cp $2 jr nz, .asm_20cc3 ld de, $0744 call PlaySoundEffect ret + .asm_20cc3 cp $3 ret nz @@ -38536,6 +39081,7 @@ Func_20e34: ; 0x20e34 ld [$d55c], a jp nz, Func_20f75 jp Func_20fef + .asm_20e5c scf ret @@ -38556,6 +39102,7 @@ Func_20e5e: ; 0x20e5e ld [$d562], a jp nz, Func_20f75 jp Func_20fef + .asm_20e80 scf ret @@ -38576,6 +39123,7 @@ Func_20e82: ; 0x20e82 ld [$d561], a jp nz, Func_20f75 jp Func_20fef + .asm_20ea4 scf ret @@ -38595,6 +39143,7 @@ Func_20ea6: ; 0x20ea6 ld [$d55d], a jp nz, Func_20f75 jp Func_20fef + .asm_20ec5 scf ret @@ -38614,6 +39163,7 @@ Func_20ec7: ; 0x20ec7 ld [$d55e], a jp nz, Func_20f75 jp Func_20fef + .asm_20ee6 scf ret @@ -38633,6 +39183,7 @@ Func_20ee8: ; 0x20ee8 ld [$d55f], a jp nz, Func_20f75 jp Func_20fef + .asm_20f07 scf ret @@ -38652,6 +39203,7 @@ Func_20f09: ; 0x20f09 ld [$d560], a jp nz, Func_20f75 jp Func_20fef + .asm_20f28 scf ret @@ -38671,6 +39223,7 @@ Func_20f2a: ; 0x20f2a ld [$d565], a jp nz, Func_20f75 jp Func_20fef + .asm_20f49 scf ret @@ -38693,6 +39246,7 @@ Func_20f4b: ; 0x20f4b ld [$d564], a jp nz, Func_20f75 jp Func_20fef + .asm_20f73 scf ret @@ -38729,7 +39283,7 @@ Func_20f75: ; 0x20f75 ld bc, $0010 call Func_7dc .asm_20fc3 - ld bc, $34dc + ld bc, ThirtyMillionPoints ld [$ff8a], a callba Func_8588 call Func_30e8 @@ -38777,7 +39331,7 @@ Func_20fef: ; 0x20fef ld [$d556], a ld a, $2 ld [$d557], a - ld bc, $34dc + ld bc, ThirtyMillionPoints ld [$ff8a], a callba Func_8588 call Func_30e8 @@ -38800,12 +39354,13 @@ Func_2105c: ; 0x2105c ld a, [wIndicatorStates + 1] and a jr z, .asm_21077 - ld bc, $34d0 + ld bc, OneMillionPoints ld [$ff8a], a ld a, $2 ld hl, $4588 call BankSwitch jr asm_210c7 + .asm_21077 scf ret @@ -38818,6 +39373,7 @@ Func_21079: ; 0x21079 and a jr z, .asm_21087 jr asm_210c7 + .asm_21087 scf ret @@ -38837,9 +39393,11 @@ Func_21089: ; 0x21089 ld [$d563], a jp nz, Func_20f75 jp Func_20fef + .asm_210a8 scf ret + .asm_210aa ld a, [$d551] and a @@ -38847,13 +39405,15 @@ Func_21089: ; 0x21089 ld a, [wIndicatorStates] and a jr z, .asm_210c5 - ld bc, $34d0 + ld bc, OneMillionPoints ld [$ff8a], a callba Func_8588 jr asm_210c7 + .asm_210c5 scf ret + asm_210c7: xor a ld [wIndicatorStates + 1], a @@ -38988,7 +39548,6 @@ Func_2112a: ; 0x2112a dr $211d6, $24000 - SECTION "bank9", ROMX, BANK[$9] InitMeowthBonusStage: ; 0x24000 @@ -39204,6 +39763,7 @@ Func_24170: ; 0x24170 cp $3 jr z, .asm_241eb jr .asm_241e6 + .asm_241df ld a, [$d70c] cp $3 @@ -39214,6 +39774,7 @@ Func_24170: ; 0x24170 .asm_241eb scf ret + .asm_241ed ld a, [wMeowthYPosition] cp $20 @@ -39222,6 +39783,7 @@ Func_24170: ; 0x24170 cp $3 jr z, .asm_24210 jr .asm_2420b + .asm_241fd ld a, [wMeowthYPosition] cp $10 @@ -39235,6 +39797,7 @@ Func_24170: ; 0x24170 .asm_24210 scf ret + .asm_24212 and a ret @@ -39332,6 +39895,7 @@ Func_24272: ; 0x24272 ld [$d7e9], a scf ret + .asm_242b9 and a ret @@ -39434,6 +39998,7 @@ Func_24319: ; 0x2438f add hl, bc ld [hl], $0 ret + .asm_24373 ld a, [$d6f4] ld b, $0 @@ -39499,6 +40064,7 @@ Func_2438f: ; 0x2438f add hl, bc ld [hl], $0 ret + .asm_243e9 ld a, [$d6f4] ld b, $0 @@ -39541,6 +40107,7 @@ Func_24405: ; 0x24405 ld d, b scf ret + .asm_24428 and a ret @@ -39560,6 +40127,7 @@ Func_2442a: ; 0x2442a ld de, $d79a call Func_24f00 jr .asm_2444b + .asm_24447 xor a ld [$d79a], a @@ -39682,9 +40250,11 @@ Func_245ab: ; 0x245ab cp $10 jr z, .asm_245cc jr .asm_245cf + .asm_245c7 call Func_247d9 jr .asm_245cf + .asm_245cc call Func_24c28 .asm_245cf @@ -39697,7 +40267,7 @@ Func_245ab: ; 0x245ab ld [$d804], a ld de, $0033 call PlaySoundEffect - ld bc, $34c4 + ld bc, OneBillionPoints ld [$ff8a], a callba AddBCDScore xor a @@ -39713,6 +40283,7 @@ Func_245ab: ; 0x245ab ld a, $2 ld [$d6ec], a jr .asm_24651 + .asm_24611 ld hl, $4701 ld de, wMeowthAnimationFrameCounter @@ -39720,6 +40291,7 @@ Func_245ab: ; 0x245ab ld a, $3 ld [$d6ec], a jr .asm_24651 + .asm_24621 ld a, [$d713] and a @@ -39727,6 +40299,7 @@ Func_245ab: ; 0x245ab ld a, $4 ld [$d6ec], a jr .asm_24651 + .asm_2462e ld a, [$d6ec] cp $2 @@ -39772,6 +40345,7 @@ Func_2465d: ; 0x2465d ld de, wMeowthAnimationFrameCounter call CopyHLToDE ret + .asm_24689 cp $1 jr nz, .asm_2469d @@ -39782,6 +40356,7 @@ Func_2465d: ; 0x2465d ld de, wMeowthAnimationFrameCounter call CopyHLToDE ret + .asm_2469d cp $2 jr nz, .asm_246b5 @@ -39794,6 +40369,7 @@ Func_2465d: ; 0x2465d xor a ld [$d6ec], a ret + .asm_246b5 cp $3 jr nz, .asm_246ce @@ -39806,6 +40382,7 @@ Func_2465d: ; 0x2465d ld a, $1 ld [$d6ec], a ret + .asm_246ce cp $4 jr nz, .asm_24689 @@ -39833,6 +40410,7 @@ Func_24709: ; 0x24709 jr nz, .asm_24724 inc a jr .asm_24725 + .asm_24724 dec a .asm_24725 @@ -39852,11 +40430,13 @@ Func_24737: ; 0x24737 jr nc, .asm_24742 ld a, $1 jr .asm_2475a + .asm_24742 cp $78 jr c, .asm_2474a ld a, $ff jr .asm_2475a + .asm_2474a ld a, [$ffb3] and $3f @@ -39895,9 +40475,11 @@ Func_2476d: ; 0x2476d .asm_2478a xor a jr .asm_247c9 + .asm_2478d ld a, $ff jr .asm_247c9 + .asm_24791 ld a, [wMeowthYPosition] cp $20 @@ -39910,9 +40492,11 @@ Func_2476d: ; 0x2476d .asm_247a4 xor a jr .asm_247c9 + .asm_247a7 ld a, $1 jr .asm_247c9 + .asm_247ab ld a, [$d70b] cp $3 @@ -39931,10 +40515,12 @@ Func_2476d: ; 0x2476d .asm_247c9 ld [wMeowthYMovement], a ret + .asm_247cd ld a, $ff ld [wMeowthYMovement], a ret + .asm_247d3 ld a, $1 ld [wMeowthYMovement], a @@ -39970,11 +40556,13 @@ Func_247d9: ; 0x247d9 ld a, $0 ld [$d72a], a jr .asm_24822 + .asm_2481d ld a, $1 ld [$d72a], a .asm_24822 ret + .asm_24823 ld a, [$d71b] cp $c8 @@ -40002,11 +40590,13 @@ Func_247d9: ; 0x247d9 ld a, $0 ld [$d72b], a jr .asm_24867 + .asm_24862 ld a, $1 ld [$d72b], a .asm_24867 ret + .asm_24868 ld a, [$d71c] cp $c8 @@ -40034,6 +40624,7 @@ Func_247d9: ; 0x247d9 ld a, $0 ld [$d72c], a jr .asm_248ab + .asm_248a6 ld a, $1 ld [$d72c], a @@ -40051,6 +40642,7 @@ Func_248ac: ; 0x248ac ld [$d6f4], a call Func_24a30 jr .asm_248d3 + .asm_248c4 ld hl, $d70b inc [hl] @@ -40069,6 +40661,7 @@ Func_248ac: ; 0x248ac ld [$d6f4], a call Func_24a30 jr .asm_248fa + .asm_248eb ld hl, $d70b inc [hl] @@ -40087,6 +40680,7 @@ Func_248ac: ; 0x248ac ld [$d6f4], a call Func_24a30 jr .asm_24921 + .asm_24912 ld hl, $d70b inc [hl] @@ -40127,6 +40721,7 @@ Func_248ac: ; 0x248ac jr nz, .asm_2495f call Func_24e7f jr .asm_24968 + .asm_2495f cp $a jr nz, .asm_24968 @@ -40147,6 +40742,7 @@ Func_248ac: ; 0x248ac jr nz, .asm_24985 call Func_24e7f jr .asm_2498e + .asm_24985 cp $a jr nz, .asm_2498e @@ -40167,6 +40763,7 @@ Func_248ac: ; 0x248ac jr nz, .asm_249ab call Func_24e7f jr .asm_249b4 + .asm_249ab cp $a jr nz, .asm_249b4 @@ -40227,6 +40824,7 @@ Func_248ac: ; 0x248ac ld a, $1 ld [$d6ec], a ret + .asm_24a21 ld hl, $46ec ld de, wMeowthAnimationFrameCounter @@ -40246,6 +40844,7 @@ Func_24a30: ; 0x24a30 jr z, .asm_24a42 call Func_24b41 ret + .asm_24a42 ld a, [$d6f4] ld c, a @@ -40298,6 +40897,7 @@ Func_24a30: ; 0x24a30 add hl, bc ld [hl], a jr .asm_24abf + .asm_24a97 ld hl, $d72a add hl, bc @@ -40354,6 +40954,7 @@ Func_24a30: ; 0x24a30 jr c, .asm_24aed call Func_2438f ret + .asm_24aed call Func_24319 .asm_24af0 @@ -40405,6 +41006,7 @@ Func_24b41: ; 0x24b41 add hl, bc ld [hl], a jr .asm_24bb2 + .asm_24b8a ld hl, $d72a add hl, bc @@ -40461,6 +41063,7 @@ Func_24b41: ; 0x24b41 jr c, .asm_24be1 call Func_2438f jr .asm_24be4 + .asm_24be1 call Func_24319 .asm_24be4 @@ -40524,11 +41127,13 @@ Func_24c28: ; 0x24c28 ld a, $0 ld [$d734], a jr .asm_24c75 + .asm_24c70 ld a, $1 ld [$d734], a .asm_24c75 ret + .asm_24c76 ld a, [$d725] cp $c8 @@ -40558,11 +41163,13 @@ Func_24c28: ; 0x24c28 ld a, $0 ld [$d735], a jr .asm_24cbe + .asm_24cb9 ld a, $1 ld [$d735], a .asm_24cbe ret + .asm_24cbf ld a, [$d726] cp $c8 @@ -40592,6 +41199,7 @@ Func_24c28: ; 0x24c28 ld a, $0 ld [$d736], a jr .asm_24d06 + .asm_24d01 ld a, $1 ld [$d736], a @@ -40609,6 +41217,7 @@ Func_24d07: ; 0x24d07 ld [$d6f4], a call Func_24a30 jr .asm_24d2a + .asm_24d1f ld a, $2 ld [$d721], a @@ -40625,6 +41234,7 @@ Func_24d07: ; 0x24d07 ld [$d6f4], a call Func_24a30 jr .asm_24d4d + .asm_24d42 ld a, $2 ld [$d722], a @@ -40641,6 +41251,7 @@ Func_24d07: ; 0x24d07 ld [$d6f4], a call Func_24a30 jr .asm_24d70 + .asm_24d65 ld a, $2 ld [$d723], a @@ -40679,6 +41290,7 @@ Func_24d07: ; 0x24d07 jr nz, .asm_24dae call Func_24e7f jr .asm_24db7 + .asm_24dae cp $a jr nz, .asm_24db7 @@ -40699,6 +41311,7 @@ Func_24d07: ; 0x24d07 jr nz, .asm_24dd4 call Func_24e7f jr .asm_24ddd + .asm_24dd4 cp $a jr nz, .asm_24ddd @@ -40719,6 +41332,7 @@ Func_24d07: ; 0x24d07 jr nz, .asm_24dfa call Func_24e7f jr .asm_24e03 + .asm_24dfa cp $a jr nz, .asm_24e03 @@ -40779,6 +41393,7 @@ Func_24d07: ; 0x24d07 ld a, $1 ld [$d6ec], a ret + .asm_24e70 ld hl, $46ec ld de, wMeowthAnimationFrameCounter @@ -40810,7 +41425,7 @@ Func_24e7f: ; 0x24e7f dec a .asm_24ea6 push af - ld bc, $34d6 + ld bc, TenMillionPoints ld [$ff8a], a callba AddBCDScore ld hl, wMeowthStageScore @@ -40820,6 +41435,7 @@ Func_24e7f: ; 0x24e7f jr z, .asm_24ebf dec a jr .asm_24ea6 + .asm_24ebf ld a, [wMeowthStageBonusCounter] dec a @@ -40832,6 +41448,7 @@ Func_24e7f: ; 0x24e7f ld de, $d79a call Func_24ee7 jr .asm_24ede + .asm_24ed7 xor a ld [$d79a], a @@ -40908,6 +41525,7 @@ Func_24fa3: ; 0x24fa3 dec c ld a, c jr .asm_24fa9 + .asm_24fb5 ld a, b and a @@ -40934,6 +41552,7 @@ Func_24fa3: ; 0x24fa3 ld a, $14 ld [wMeowthStageScore], a jr .asm_24fed + .asm_24fe2 push af xor a @@ -41228,6 +41847,7 @@ Func_25a39: ; 0x25a39 jr c, .asm_25a58 ld de, $0000 jr .asm_25a5b + .asm_25a58 ld de, $0001 .asm_25a5b @@ -41424,6 +42044,7 @@ Func_25bc0: ; 0x25bc0 jr c, .asm_25c09 .asm_25c08 ret + .asm_25c09 ld [$d768], a ld a, $1 @@ -41468,6 +42089,7 @@ Func_25c12: ; 0x25c12 ld [$d7e9], a scf ret + .asm_25c58 and a ret @@ -41620,6 +42242,7 @@ Func_25da3: ; 0x25da3 ld de, $d79a call Func_261f9 jr .asm_25e07 + .asm_25e04 ld [$d79a], a .asm_25e07 @@ -41661,6 +42284,7 @@ Func_25da3: ; 0x25da3 ld de, $d79a call Func_26212 jr .asm_25e60 + .asm_25e5d ld [$d79a], a .asm_25e60 @@ -41690,19 +42314,21 @@ Func_25e85: ; 0x25e85 sla d inc a jr .asm_25e8e + .asm_25e96 push de ld a, d cp $32 jr nc, .asm_25ead - ld bc, $34d6 + ld bc, TenMillionPoints ld [$ff8a], a callba AddBCDScore pop de dec d jr .asm_25ebf + .asm_25ead - ld bc, $34ee + ld bc, FiftyThousandPoints ld [$ff8a], a callba AddBCDScore pop de @@ -41766,6 +42392,7 @@ Func_25ec5: ; 0x25ec5 ld hl, $61c2 call CopyHLToDE ret + .asm_25f05 ld a, [de] sub [hl] @@ -41851,6 +42478,7 @@ Func_25f77: ; 0x25f77 pop de xor a jp Func_26137 + .asm_25f8f ld hl, $d792 ld [hl], $0 @@ -41862,6 +42490,7 @@ Func_25f77: ; 0x25f77 ld [de], a dec de jr .asm_25fa7 + .asm_25fa2 inc de ld a, $0 @@ -41874,6 +42503,7 @@ Func_25f77: ; 0x25f77 jr z, .asm_25fb0 ld a, $6 jr .asm_25fb2 + .asm_25fb0 ld a, $3 .asm_25fb2 @@ -41903,6 +42533,7 @@ Func_25fbe: ; 0x25fbe pop de ld a, $1 jp Func_26137 + .asm_25fd5 ld a, [$d791] cp $0 @@ -41946,12 +42577,14 @@ Func_25ff3: ; 0x25ff3 ld de, $0031 call PlaySoundEffect ret + .asm_26016 ld a, $2 ld [de], a ld de, $0031 call PlaySoundEffect ret + .asm_26020 ld a, $1 ld [de], a @@ -41976,6 +42609,7 @@ Func_2602a: ; 0x2602a jr z, .asm_26044 ld a, $3 jr .asm_26046 + .asm_26044 ld a, $5 .asm_26046 @@ -42003,6 +42637,7 @@ Func_2604c: ; 0x2604c pop de ld a, $4 jp Func_26137 + .asm_26063 ld a, [$d791] cp $0 @@ -42045,12 +42680,14 @@ Func_2607f: ; 0x2607f ld de, $0031 call PlaySoundEffect ret + .asm_260a2 ld a, $2 ld [de], a ld de, $0031 call PlaySoundEffect ret + .asm_260ac ld a, $1 ld [de], a @@ -42075,6 +42712,7 @@ Func_260b6: ; 0x260b6 jr z, .asm_260d0 ld a, $3 jr .asm_260d2 + .asm_260d0 ld a, $5 .asm_260d2 @@ -42118,6 +42756,7 @@ Func_260ec: ; 0x260ec pop de ld a, $b jp Func_26137 + .asm_26103 pop de ld a, $a @@ -42244,6 +42883,7 @@ Func_262f4: ; 0x262f4 dec c ld a, c jr .asm_262fa + .asm_26306 ld a, b and a @@ -42390,6 +43030,7 @@ Func_26c3c: ; 0x26c3c jr c, .asm_26c5b ld de, $0000 jr .asm_26c5e + .asm_26c5b ld de, $0001 .asm_26c5e @@ -42414,7 +43055,6 @@ Func_26c3c: ; 0x26c3c dr $26c7d, $28000 - SECTION "banka", ROMX, BANK[$a] HandlePokedexScreen: ; 0x28000 @@ -42592,6 +43232,7 @@ MainPokedexScreen: ; 0x280fe ld hl, wScreenState inc [hl] ret + .asm_28142 bit BIT_B_BUTTON, a jr z, .asm_2814f @@ -42599,6 +43240,7 @@ MainPokedexScreen: ; 0x280fe ld a, $4 ld [wScreenState], a ret + .asm_2814f ld a, [hGameBoyColorFlag] and a @@ -42612,6 +43254,7 @@ MainPokedexScreen: ; 0x280fe ld [$d960], a call z, Func_28add jr .asm_28174 + .asm_28168 ld a, [$d960] and a @@ -42631,10 +43274,12 @@ MonInfoPokedexScreen: ; 0x28178 jr z, .asm_2818a call Func_28912 jr .asm_281a2 + .asm_2818a bit 1, a jr z, .asm_281a2 jr .asm_28196 + .asm_28190 ld a, [hNewlyPressedButtons] and $3 @@ -42645,6 +43290,7 @@ MonInfoPokedexScreen: ; 0x28178 ld a, $1 ld [wScreenState], a ret + .asm_281a2 ld a, [hGameBoyColorFlag] and a @@ -42658,6 +43304,7 @@ MonInfoPokedexScreen: ; 0x28178 ld [$d960], a call z, Func_28add jr .asm_281c7 + .asm_281bb ld a, [$d960] and a @@ -42689,6 +43336,7 @@ Func_282e9: ; 0x282e9 jr z, .asm_2830d and $1 jr .asm_2830f + .asm_2830d ld a, $2 .asm_2830f @@ -42740,6 +43388,7 @@ Func_28368: ; 0x28368 bit BIT_A_BUTTON, a jr nz, .asm_28371 jp Func_284bc + .asm_28371 ld a, [hPressedButtons] ld b, a @@ -42753,6 +43402,7 @@ Func_28368: ; 0x28368 jr z, .asm_28386 dec a jr .asm_2838a + .asm_28386 bit 4, b ret z @@ -42825,6 +43475,7 @@ Func_28368: ; 0x28368 ld a, b call PutTileInVRAM ret + .asm_283ff ld hl, $445c ; todo add hl, de @@ -42860,6 +43511,7 @@ Func_284bc: ; 0x284bc bit 7, a jr nz, .asm_284ef jr .asm_284f5 + .asm_284cd bit 4, b jr z, .asm_284d8 @@ -42867,6 +43519,7 @@ Func_284bc: ; 0x284bc cp $18 jr nc, .asm_284f3 jr .asm_284f5 + .asm_284d8 bit 6, b jr z, .asm_284e4 @@ -42874,6 +43527,7 @@ Func_284bc: ; 0x284bc bit 7, a jr nz, .asm_284ef jr .asm_284f5 + .asm_284e4 bit 7, b ret z @@ -42881,9 +43535,11 @@ Func_284bc: ; 0x284bc cp $18 jr nc, .asm_284f3 jr .asm_284f5 + .asm_284ef add $18 jr .asm_284f5 + .asm_284f3 sub $18 .asm_284f5 @@ -42932,6 +43588,7 @@ Func_28513: ; 0x28513 ld a, $1 ld [$d95f], a jr .asm_285a9 + .asm_28548 bit 7, b jr z, .asm_2855f @@ -42944,6 +43601,7 @@ Func_28513: ; 0x28513 ld a, $1 ld [$d95f], a jr .asm_285a9 + .asm_2855f ld a, d sub $9 @@ -42965,6 +43623,7 @@ Func_28513: ; 0x28513 ld [$d95f], a call Func_285ca jr .asm_285aa + .asm_28586 bit 4, b jr z, .asm_285ae @@ -42986,11 +43645,13 @@ Func_28513: ; 0x28513 ld [$d95f], a call Func_285ca jr .asm_285aa + .asm_285a9 xor a .asm_285aa ld [$d95e], a ret + .asm_285ae ld a, [$d95f] and a @@ -43060,6 +43721,7 @@ Func_285db: ; 0x285db ld [$d95d], a xor a jr .asm_28647 + .asm_2863b cp $5 jr c, .asm_28647 @@ -43139,6 +43801,7 @@ DrawCornerInfoPokedexScreen: ; 0x2868b ld a, [wNumPokemonOwned] call LoadSeenOwnDigitOAM ret + .asm_286c8 ld bc, $6800 ld a, $6a @@ -43191,6 +43854,7 @@ Func_286dd: ; 0x286dd dec [hl] dec [hl] ret + .asm_28719 ld hl, $ffab inc [hl] @@ -43226,6 +43890,7 @@ Func_28721: ; 0x28721 dec [hl] dec [hl] ret + .asm_28747 ld a, [hl] add $5 @@ -43279,6 +43944,7 @@ Func_28765: ; 0x28765 ld a, [hl] call Func_28993 ret + .asm_28791 push hl ld a, [hl] @@ -43348,6 +44014,7 @@ Func_28815: ; 0x28815 ld [$d5c4], a ld c, $2 jr .asm_28854 + .asm_28836 ld a, [$d5bc] ld c, a @@ -43693,6 +44360,7 @@ Func_28a15: ; 0x28a15 ld a, [de] ld [hl], a ret + .asm_28a7a ld a, [de] call PutTileInVRAM @@ -44159,6 +44827,7 @@ Func_28d71: ; 0x28d71 jr nz, .asm_28d81 ld a, $ff jr .asm_28d82 + .asm_28d81 add c .asm_28d82 @@ -44174,6 +44843,7 @@ Func_28d88: ; 0x28d88 pop af ld [hl], a ret + .asm_28d92 pop af call PutTileInVRAM @@ -44200,6 +44870,7 @@ Func_28d97: ; 0x28d97 jr nz, .asm_28dbb call Func_208c jr .asm_28dc8 + .asm_28dbb ld c, a ld b, $0 @@ -44223,6 +44894,7 @@ Func_28d97: ; 0x28d97 jr nz, .asm_28ddd pop af ret + .asm_28ddd push hl ld a, [$d861] @@ -44290,6 +44962,7 @@ Func_28e09: ; 0x28e09 jr nz, .asm_28e47 pop af ret + .asm_28e47 push hl ld a, [$d861] @@ -44356,6 +45029,7 @@ Func_2957c: ; 0x2957c ld a, $ff scf ret + .asm_2958c cp $30 jr c, .asm_29594 @@ -44386,38 +45060,47 @@ Func_2957c: ; 0x2957c jr z, .asm_295dd and a ret + .asm_295be sub $88 scf ret + .asm_295c2 sub $8e scf ret + .asm_295c6 sub $94 scf ret + .asm_295ca xor a scf ret + .asm_295cd ld a, $f3 scf ret + .asm_295d1 ld a, $f4 scf ret + .asm_295d5 ld a, $fa scf ret + .asm_295d9 ld a, $b2 scf ret + .asm_295dd ld a, $f9 scf @@ -44432,6 +45115,7 @@ Func_295e1: ; 0x295e1 ld c, a ld b, $0 jr .asm_295f0 + .asm_295ed ld b, a ld a, [hli] @@ -44444,6 +45128,7 @@ Func_295e1: ; 0x295e1 sub $20 scf ret + .asm_295f9 push hl call Func_29605 @@ -44463,6 +45148,7 @@ Func_29605: ; 0x29605 ld a, c sub $40 ret + .asm_29611 cp $83 jr nz, .asm_2961c @@ -44470,6 +45156,7 @@ Func_29605: ; 0x29605 ld a, c sub $40 ret + .asm_2961c ld a, c cp $9f @@ -44478,6 +45165,7 @@ Func_29605: ; 0x29605 ld a, c sub $4f ret + .asm_29628 ld hl, $56e8 ; todo ld a, c @@ -44902,7 +45590,6 @@ MonDexTypeIDs: ; 0x29f0f dr $29fa6, $2c000 - SECTION "bankb", ROMX, BANK[$b] Unknown_2c000: ; 0x2c000 @@ -46580,8 +47267,9 @@ Func_30164: ; 0x30164 ld a, $1 ld [$d4ca], a ret + .asm_30175 - ld bc, $34f4 + ld bc, OneHundredThousandPoints ld [$ff8a], a callba Func_8588 ld a, $2 @@ -46603,6 +47291,7 @@ Func_30188: ; 0x30188 ld de, $2974 call Func_32aa jr .asm_301c9 + .asm_301a7 ld bc, $1000 ld de, $0000 @@ -46945,6 +47634,7 @@ Func_311b4: ; 0x311b4 ld [wIndicatorStates + 3], a ld [wIndicatorStates + 4], a jr .asm_311e2 + .asm_311ce ld a, $80 ld [wIndicatorStates + 1], a @@ -46954,6 +47644,7 @@ Func_311b4: ; 0x311b4 ld [wIndicatorStates + 2], a ld [wIndicatorStates + 4], a jr .asm_311e2 + .asm_311e2 ld a, $2 ld [$ff8a], a @@ -47025,6 +47716,7 @@ Func_31281: ; 0x31282 ld [wCurrentMap], a ld [$d4e8], a ret + .asm_312b2 call GenRandom and $7 @@ -47057,6 +47749,7 @@ Func_31281: ; 0x31282 ld a, [wCurrentMap] ld [hl], a ret + .asm_312e7 call GenRandom and $3 @@ -47111,6 +47804,7 @@ Func_31326: ; 0x31326 ld [$ff8a], a callba Func_1de4b jr .asm_31382 + .asm_3134c ld a, $80 ld [wIndicatorStates + 1], a @@ -47197,6 +47891,7 @@ Func_3140b: ; 0x3140b ld [wCurrentMap], a ld [$d4e8], a ret + .asm_3143c call GenRandom and $7 @@ -47229,6 +47924,7 @@ Func_3140b: ; 0x3140b ld a, [wCurrentMap] ld [hl], a ret + .asm_31471 call GenRandom and $3 @@ -47282,6 +47978,7 @@ Func_314ae: ; 0x314ae jr z, .asm_314d6 scf ret + .asm_314d6 call Func_3151f ld a, [$d54d] @@ -47449,6 +48146,7 @@ Func_3161b: ; 0x3161b jr z, .asm_31643 scf ret + .asm_31643 call Func_3168c ld a, [$d54d] @@ -47602,7 +48300,6 @@ Func_3174c: ; 0x3174c dr $31792, $34000 - SECTION "bankd", ROMX, BANK[$d] SlotOnPic: ; 0x34000 @@ -47615,7 +48312,6 @@ SlotOffPic: ; 0x34180 StageSeelBonusCollisionMasks: ; 0x37f00 INCBIN "data/collision/masks/seel_bonus.masks" - SECTION "banke", ROMX, BANK[$e] Data_38000: db $89, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 @@ -47948,6 +48644,7 @@ Func_3c180: ; 0x3c180 jr c, .asm_3c1a4 dec [hl] jr .asm_3c1c1 + .asm_3c1a4 ld hl, $001c add hl, bc @@ -48098,10 +48795,12 @@ Func_3c26e: ; 0x3c26e or d ld [rNR11], a ret + .asm_3c2b4 ld a, [$de93] ld [rNR13], a ret + .asm_3c2ba ld a, $8 ld [rNR12], a @@ -48109,6 +48808,7 @@ Func_3c26e: ; 0x3c26e or $80 ld [rNR14], a ret + .asm_3c2c6 ld hl, $de91 ld a, $3f @@ -48156,10 +48856,12 @@ Func_3c2e0: ; 0x3c2e0 or d ld [rNR21], a ret + .asm_3c31d ld a, [$de93] ld [rNR23], a ret + .asm_3c323 ld a, $8 ld [rNR22], a @@ -48167,6 +48869,7 @@ Func_3c2e0: ; 0x3c2e0 or $80 ld [rNR24], a ret + .asm_3c32f ld hl, $de91 ld a, $3f @@ -48210,14 +48913,17 @@ Func_3c349: ; 0x3c349 or $80 ld [rNR34], a ret + .asm_3c381 ld a, [$de93] ld [rNR33], a ret + .asm_3c387 xor a ld [rNR30], a ret + .asm_3c38b ld a, $3f ld [rNR31], a @@ -48281,12 +48987,14 @@ Func_3c3cf: ; 0x3c3cf ld a, $80 ld [rNR44], a ret + .asm_3c3f1 ld a, $8 ld [rNR42], a ld a, $80 ld [rNR44], a ret + .asm_3c3fa ld a, $3f ld [rNR41], a @@ -48308,6 +49016,7 @@ Func_3c40d: ; 0x3c40d dec a ld [$dea3], a ret + .asm_3c41d ld a, [$dea2] ld d, a @@ -48321,6 +49030,7 @@ Func_3c40d: ; 0x3c40d jr z, .asm_3c435 dec a jr .asm_3c454 + .asm_3c435 ld a, [$dea4] ld e, a @@ -48332,15 +49042,18 @@ Func_3c40d: ; 0x3c40d ld hl, $dea2 set 7, [hl] ret + .asm_3c448 cp $7 jr nc, .asm_3c44f inc a jr .asm_3c454 + .asm_3c44f xor a ld [$dea2], a ret + .asm_3c454 ld d, a swap a @@ -48401,6 +49114,7 @@ Func_3c45c: ; 0x3c45c sub d ld d, a jr .asm_3c4c9 + .asm_3c4ab ld hl, $0004 add hl, bc @@ -48437,6 +49151,7 @@ Func_3c45c: ; 0x3c45c jr z, .asm_3c4dc dec d jr .asm_3c4cf + .asm_3c4dc ld a, e add [hl] @@ -48538,6 +49253,7 @@ Func_3c4f0: ; 0x3c4f0 cp e jp c, .asm_3c5a1 jr .asm_3c5b4 + .asm_3c574 ld a, e ld hl, $0021 @@ -48615,6 +49331,7 @@ Func_3c4f0: ; 0x3c4f0 .asm_3c5e3 dec [hl] jr .asm_3c61a + .asm_3c5e6 ld a, [hl] swap [hl] @@ -48635,6 +49352,7 @@ Func_3c4f0: ; 0x3c4f0 jr nc, .asm_3c611 ld a, $0 jr .asm_3c611 + .asm_3c605 set 0, [hl] ld a, d @@ -48660,6 +49378,7 @@ Func_3c4f0: ; 0x3c4f0 jr z, .asm_3c62b dec [hl] ret + .asm_3c62b ld hl, $000b add hl, bc @@ -48677,6 +49396,7 @@ Func_3c632: ; 0x3c632 dec a ld [$de9f], a ret + .asm_3c644 ld hl, $de9d ld e, [hl] @@ -48715,6 +49435,7 @@ Func_3c670: ; 0x3c670 .asm_3c67b call Func_3c786 jr Func_3c670 + .asm_3c680 ld hl, $0002 add hl, bc @@ -48748,11 +49469,13 @@ Func_3c670: ; 0x3c670 add hl, bc set 4, [hl] jp Func_3c45c + .asm_3c6c2 ld hl, $000b add hl, bc set 5, [hl] ret + .asm_3c6c9 ld hl, $0002 add hl, bc @@ -49013,6 +49736,7 @@ Func_3c843: ; 0x3c843 inc hl ld [hl], d ret + .asm_3c872 ld hl, $0002 add hl, bc @@ -49053,6 +49777,7 @@ Func_3c88e: ; 0x3c88e dec hl ld [hl], e ret + .asm_3c8a5 call Func_3ca10 ld e, a @@ -49169,6 +49894,7 @@ Func_3c951: ; 0x3c951 jr z, .asm_3c95c res 3, [hl] ret + .asm_3c95c set 3, [hl] ret @@ -49180,6 +49906,7 @@ Func_3c95f: ; 0x3c95f jr z, .asm_3c96a res 4, [hl] ret + .asm_3c96a set 4, [hl] call Func_3ca10 @@ -49272,6 +49999,7 @@ Func_3c9e9: ; 0x3c9e9 jr nc, .asm_3c9f5 ld d, $0 jr .asm_3c9f7 + .asm_3c9f5 ld d, $ff .asm_3c9f7 @@ -49347,6 +50075,7 @@ Func_3ca2b: ; 0x3ca2b rr e inc a jr .asm_3ca4b + .asm_3ca56 ld a, d and $7 @@ -49409,6 +50138,7 @@ Func_3ca95: ; 0x3ca95 ld bc, $dd97 call Func_3cad1 jr .asm_3cacf + .asm_3cab7 ld bc, $ddc9 call Func_3cad1 @@ -49438,6 +50168,7 @@ Func_3cadf: ; 0x3cadf call Func_3cb06 ld a, [$deae] jr .asm_3caea + ld a, [$de97] .asm_3caea call Func_3caf4 @@ -50110,7 +50841,6 @@ Cry_25_Header_BankF: ; 0x3f474 dr $3f48f, $40000 - SECTION "bank10", ROMX, BANK[$10] dr $40000, $40ca2 @@ -50133,7 +50863,6 @@ INCLUDE "audio/music/hurryupblue.asm" dr $4255b, $44000 - SECTION "bank11", ROMX, BANK[$11] dr $44000, $44ca2 @@ -50154,7 +50883,6 @@ INCLUDE "audio/music/title.asm" dr $462d3, $48000 - SECTION "bank12", ROMX, BANK[$12] dr $48000, $48ca2 @@ -50175,7 +50903,6 @@ INCLUDE "audio/music/meowthstage.asm" dr $49c04, $4c000 - SECTION "bank13", ROMX, BANK[$13] dr $4c000, $4cca2 @@ -50192,7 +50919,6 @@ INCLUDE "audio/music/nameentry.asm" dr $4def4, $50000 - SECTION "bank14", ROMX, BANK[$14] PlayPikachuSoundClip: ; 0x50000 @@ -50339,12 +51065,10 @@ PlaySoundClipSample: ; 0x51fa0 dr $51fa6, $54000 - SECTION "bank15", ROMX, BANK[$15] dr $54000, $58000 ; 0x54000 - SECTION "bank16", ROMX, BANK[$16] BallSaver30SecondsOnPic: ; 0x58000 @@ -50608,7 +51332,6 @@ TaurosBillboardBGPalette2: ; 0x5bff8 RGB 17, 9, 0 RGB 0, 0, 0 - SECTION "bank17", ROMX, BANK[$17] SmallReward100PointsOnPic: ; 0x5c000 @@ -50687,7 +51410,6 @@ BigReward9000000PointsOffPic: ; 0x5f480 MeowthBonusBaseGameBoyGfx: ; 0x5f600 INCBIN "gfx/stage/meowth_bonus/meowth_bonus_base_gameboy.2bpp" - SECTION "bank18", ROMX, BANK[$18] VenomothPic: ; 0x60000 @@ -50763,7 +51485,6 @@ StageRedFieldTopStatusBarSymbolsGfx_GameBoy: ; 0x63000 StageRedFieldTopBaseGameBoyGfx: ; 0x632a0 INCBIN "gfx/stage/red_top/red_top_base_gameboy.2bpp" - SECTION "bank19", ROMX, BANK[$19] NidorinoPic: ; 0x64000 @@ -50834,7 +51555,6 @@ VenonatSilhouettePic: ; 0x66e80 StageBlueFieldBottomBaseGameBoyGfx: ; 0x67000 INCBIN "gfx/stage/blue_bottom/blue_bottom_base_gameboy.2bpp" - SECTION "bank1a", ROMX, BANK[$1a] ChanseyPic: ; 0x68000 @@ -50910,7 +51630,6 @@ StageBlueFieldTopStatusBarSymbolsGfx_GameBoy: ; 0x6b000 StageBlueFieldTopBaseGameBoyGfx: ; 0x6b2a0 INCBIN "gfx/stage/blue_top/blue_top_base_gameboy.2bpp" - SECTION "bank1b", ROMX, BANK[$1b] MagikarpPic: ; 0x6c000 @@ -50981,7 +51700,6 @@ ArticunoSilhouettePic: ; 0x6ee80 UnusedStageGfx: ; 0x6f000 INCBIN "gfx/stage/unused_stage.2bpp" - SECTION "bank1c", ROMX, BANK[$1c] ZapdosPic: ; 0x70000 @@ -51018,7 +51736,6 @@ MewSilhouettePic: ; 0x71380 GengarBonusBaseGameBoyGfx: ; 0x73000 INCBIN "gfx/stage/gengar_bonus/gengar_bonus_base_gameboy.2bpp" - SECTION "bank1d", ROMX, BANK[$1d] PidgeottoPic: ; 0x74000 @@ -51089,7 +51806,6 @@ Nidoran_MSilhouettePic: ; 0x76e80 StageRedFieldBottomBaseGameBoyGfx: ; 0x77000 INCBIN "gfx/stage/red_bottom/red_bottom_base_gameboy.2bpp" - SECTION "bank1e", ROMX, BANK[$1e] BulbasaurPic: ; 0x78000 @@ -51354,7 +52070,6 @@ ArticunoBillboardBGPalette2: ; 0x7bff8 RGB 5, 13, 24 RGB 0, 0, 0 - SECTION "bank1f", ROMX, BANK[$1f] SlowpokeAnimatedPic: ; 0x7c000 @@ -51396,7 +52111,6 @@ MewtwoBonusBaseGameBoyGfx: ; 0x7f000 EraseAllDataGfx: ; 0x7fd00: ; 0x7fd00 INCBIN "gfx/erase_all_data.2bpp" - SECTION "bank20", ROMX, BANK[$20] LickitungAnimatedPic: ; 0x80000 @@ -51438,7 +52152,6 @@ MewtwoBonusBaseGameBoyColorGfx: ; 0x83000 StageDiglettBonusCollisionMasks: ; 0x83d00 INCBIN "data/collision/masks/diglett_bonus.masks" - SECTION "bank21", ROMX, BANK[$21] MagikarpAnimatedPic: ; 0x84000 @@ -51484,7 +52197,6 @@ GengarBonusHaunter1Gfx: ; 0x87e80 GengarBonusHaunter2Gfx: ; 0x87ea0 INCBIN "gfx/stage/gengar_bonus/haunter_2.w32.interleave.2bpp" - SECTION "bank22", ROMX, BANK[$22] ZubatAnimatedPic: ; 0x88000 @@ -51707,7 +52419,6 @@ PidgeyBillboardBGPalette2: ; 0x8bff8 RGB 26, 9, 3 RGB 3, 2, 0 - SECTION "bank23", ROMX, BANK[$23] BulbasaurAnimatedPic: ; 0x8c000 @@ -51924,7 +52635,6 @@ SeafoamIslandsBillboardBGPalette2: ; 0x8fff8 RGB 0, 9, 23 RGB 0, 0, 0 - SECTION "bank24", ROMX, BANK[$24] HypnoPic: ; 0x90000 @@ -52009,7 +52719,6 @@ IndigoPlateauBillboardBGPaletteMap: ; 0x93c18 dr $93c39, $94000 - SECTION "bank25", ROMX, BANK[$25] MagnemitePic: ; 0x94000 @@ -52087,7 +52796,6 @@ StageRedFieldTopGfx1: ; 0x97ba0 StageRedFieldTopGfx2: ; 0x97e00 INCBIN "gfx/stage/red_top/red_top_2.2bpp" - SECTION "bank26", ROMX, BANK[$26] AlakazamPic: ; 0x98000 @@ -52173,7 +52881,6 @@ GengarBonusGengar2Gfx: ; 0x9bd00 GengarBonusGengar3Gfx: ; 0x9bd60 INCBIN "gfx/stage/gengar_bonus/gengar_3.2bpp" - SECTION "bank27", ROMX, BANK[$27] StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor: ; 0x9c000 @@ -52192,7 +52899,6 @@ GengarBonusBaseGameBoyColorGfx: ; 0x9e000 GengarBonus1Gfx: ; 0x9f000 INCBIN "gfx/stage/gengar_bonus/gengar_bonus_1.2bpp" - SECTION "bank28", ROMX, BANK[$28] StageBlueFieldTopStatusBarSymbolsGfx_GameBoyColor: ; 0xa0000 @@ -52212,7 +52918,6 @@ StageRedFieldBottomBaseGameBoyColorGfx: ; 0xa2000 StageRedFieldBottomGfx5: ; 0xa3000 INCBIN "gfx/stage/red_bottom/red_bottom_5.2bpp" - SECTION "bank29", ROMX, BANK[$29] StageBlueFieldBottomBaseGameBoyColorGfx: ; 0xa4000 @@ -52587,7 +53292,6 @@ JigglypuffAnimatedObjPalette2: ; 0xabff8 RGB 7, 6, 27 RGB 0, 0, 0 - SECTION "bank2b", ROMX, BANK[$2b] TitlescreenFadeInGfx: ; 0xac000 @@ -52609,7 +53313,6 @@ DiglettBonusDugtrio2Gfx: ; 0xafd00 DiglettBonusDugtrio4Gfx: ; 0xafd60 INCBIN "gfx/stage/diglett_bonus/dugtrio_4.2bpp" - SECTION "bank2c", ROMX, BANK[$2c] dr $b0000, $b3000 @@ -52624,7 +53327,6 @@ FieldSelectTilemap: ; 0xb3800 FieldSelectBGAttributes: ; 0xb3c00 INCBIN "gfx/bgattr/field_select.bgattr" - SECTION "bank2d", ROMX, BANK[$2d] TitlescreenGfx: ; 0xb4000 @@ -52800,7 +53502,6 @@ NidoranMBillboardBGPaletteMap: ; 0xb7d68 dr $b7d80, $b8000 ; 0xb7d80 - SECTION "bank2e", ROMX, BANK[$2e] StageRedFieldTopCollisionAttributes3: ; 0xb8000 @@ -52839,7 +53540,6 @@ StageRedFieldTopCollisionMasks0: ; 0xbb000 StageRedFieldTopCollisionMasks1: ; 0xbb800 INCBIN "data/collision/masks/red_stage_top_1.masks" - SECTION "bank2f", ROMX, BANK[$2f] StageRedFieldTopCollisionMasks2: ; 0xbc000 @@ -52880,7 +53580,6 @@ EraseAllDataTilemap: ; 0xbf800 EraseAllDataBGAttributes: ; 0xbfc00 INCBIN "gfx/bgattr/erase_all_data.bgattr" - SECTION "bank30", ROMX, BANK[$30] StageBlueFieldBottomTilemap_GameBoy: ; 0xc0000 @@ -52930,7 +53629,6 @@ OptionMenuTilemap3: ; 0xc3c00 dr $c3e40, $c4000 - SECTION "bank31", ROMX, BANK[$31] StageBlueFieldBottomCollisionAttributes: ; 0xc4000 @@ -52963,7 +53661,6 @@ StageBlueFieldBottomTilemap2_GameBoyColor: ; 0xc7400 StageGengarBonusCollisionAttributesBallEntrance: ; 0xc7800 INCBIN "data/collision/maps/gengar_bonus_ball_entrance.collision" - SECTION "bank32", ROMX, BANK[$32] StageGengarBonusCollisionAttributes: ; 0xc8000 @@ -53012,7 +53709,6 @@ MewtoBonusBottomTilemap_GameBoyColor: ; 0xcb800 MewtoBonusBottomTilemap2_GameBoyColor: ; 0xcbc00 INCBIN "gfx/tilemaps/stage_mewtwo_bonus_gameboycolor_2.map" - SECTION "bank33", ROMX, BANK[$33] MeowthBonusMeowth3Gfx: ; 0xcc000 @@ -53061,7 +53757,6 @@ DiglettBonusTilemap_GameBoy: ; 0xcf800 dr $cfc00, $d0000 - SECTION "bank34", ROMX, BANK[$34] MagikarpAnimatedCollisionMask: ; 0xd04000 @@ -53235,7 +53930,6 @@ DiglettBonusTilemap2_GameBoyColor: ; 0xd3400 dr $d3800, $d4000 - SECTION "bank35", ROMX, BANK[$35] StageSeelBonusCollisionAttributesBallEntrance: ; 0xd4000 @@ -53588,7 +54282,6 @@ SlowbroBillboardBGPaletteMap: ; 0xd7b68 dr $d7b80, $d8000 - SECTION "bank36", ROMX, BANK[$36] dr $d8000, $d8400 @@ -55050,7 +55743,6 @@ MewAnimatedObjPalette2: ; 0xdbe68 Data_dbe80: dr $dbe80, $dc000 - SECTION "bank37", ROMX, BANK[$37] StageSharedArrowsGfx: ; 0xdc000 @@ -57348,27 +58040,22 @@ MasterBallObjPalette: ; 0xdd180 Data_dd188: dr $dd188, $e0000 - SECTION "bank38", ROMX, BANK[$38] dr $e0000, $e4000 ; 0xe0000 - SECTION "bank39", ROMX, BANK[$39] dr $e4000, $e8000 ; 0xe4000 - SECTION "bank3a", ROMX, BANK[$3a] dr $e8000, $ec000 ; 0xe8000 - SECTION "bank3b", ROMX, BANK[$3b] dr $ec000, $f0000 ; 0xec000 - SECTION "bank3c", ROMX, BANK[$3c] dr $f0000, $f2400 ; 0xf0000 @@ -57386,13 +58073,11 @@ TiltLeftOnlyForce: dr $f3800, $f4000 ; 0xf0000 - SECTION "bank3d", ROMX, BANK[$3d] FlipperHorizontalCollisionAttributes: ; 0xf4000 INCBIN "data/collision/flippers/horizontal_attributes_0" - SECTION "bank3e", ROMX, BANK[$3e] FlipperHorizontalCollisionAttributes2: ; 0xf8000 @@ -57401,7 +58086,6 @@ FlipperHorizontalCollisionAttributes2: ; 0xf8000 FlipperVerticalCollisionAttributes: ; 0xfa000 INCBIN "data/collision/flippers/vertical_attributes_0" - SECTION "bank3f", ROMX, BANK[$3f] FlipperVerticalCollisionAttributes2: ; 0xfc000 -- cgit v1.2.3 From 7acd1d4780c291f99756d7014af0f213db633754 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 5 Dec 2016 20:40:04 -0500 Subject: Bump tools --- pokemon-reverse-engineering-tools | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pokemon-reverse-engineering-tools b/pokemon-reverse-engineering-tools index 5648b88..74c620d 160000 --- a/pokemon-reverse-engineering-tools +++ b/pokemon-reverse-engineering-tools @@ -1 +1 @@ -Subproject commit 5648b88ec22a84624db709f2f3de7187234ee4f4 +Subproject commit 74c620d01ad59bfb09cf4111ace549b925fcb9ab -- cgit v1.2.3 From 428847218e03e32d67efee8adaa2ddc3b8fd2c21 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 5 Dec 2016 22:15:38 -0500 Subject: More pointers, including text --- main.asm | 326 +++++++++++++++++++++++++++++++++++++-------------------------- 1 file changed, 194 insertions(+), 132 deletions(-) diff --git a/main.asm b/main.asm index 7781bb5..df9ea04 100755 --- a/main.asm +++ b/main.asm @@ -6049,7 +6049,7 @@ Func_3268: ; 0x3268 inc e jr Func_3268 -Func_32aa: ; 0x32aa +LoadTextHeader: ; 0x32aa ld a, $1 ld [hli], a ld a, [de] @@ -16475,8 +16475,8 @@ Func_da36: ; 0xda36 call Func_30e8 call Func_30db ld hl, $d5dc - ld de, $28db - call Func_32aa + ld de, ShootAgainText + call LoadTextHeader ret .asm_daa9 @@ -16741,7 +16741,7 @@ Func_dc6d: ; 0xdc6d call Func_30db ld hl, $d5dc pop de - call Func_32aa + call LoadTextHeader ret Func_dc7c: ; 0xdc7c @@ -17130,8 +17130,8 @@ Func_df1a: ; 0xdf1a call Func_30e8 call Func_30db ld hl, $d5dc - ld de, $2f04 - call Func_32aa + ld de, Data_2f04 + call LoadTextHeader ret Func_df7e: ; 0xdf7e @@ -17181,8 +17181,8 @@ Func_df7e: ; 0xdf7e call Func_30e8 call Func_30db ld hl, $d5dc - ld de, $2f1c - call Func_32aa + ld de, Data_2f1c + call LoadTextHeader ret Func_dfe2: ; 0xdfe2 @@ -17240,8 +17240,8 @@ Func_dfe2: ; 0xdfe2 call Func_30e8 call Func_30db ld hl, $d5dc - ld de, $2f4d - call Func_32aa + ld de, Data_2f4d + call LoadTextHeader ret Func_e056: ; 0xe056 @@ -17265,8 +17265,8 @@ Func_e056: ; 0xe056 call Func_30e8 call Func_30db ld hl, $d5dc - ld de, $2f34 - call Func_32aa + ld de, Data_2f34 + call LoadTextHeader ret Func_e08b: ; 0xe08b @@ -17323,8 +17323,8 @@ Func_e08b: ; 0xe08b call Func_30e8 call Func_30db ld hl, $d5dc - ld de, $2f65 - call Func_32aa + ld de, Data_2f65 + call LoadTextHeader ret HandleFlippers: ; 0xe0fe @@ -18986,7 +18986,7 @@ UpgradeBallBlueField: ; 0xf040 call Func_30db ld de, $2907 ld hl, $d5cc - call Func_32aa + call LoadTextHeader ; upgrade ball type ld a, [wBallType] ld c, a @@ -19017,8 +19017,8 @@ UpgradeBallBlueField: ; 0xf040 pop de pop bc ld hl, $d5cc - ld de, $2922 - call Func_32aa + ld de, FieldMultiplierSpecialBonusText + call LoadTextHeader .asm_f0b0 ld [$ff8a], a callba Func_155bb @@ -21235,16 +21235,16 @@ Func_10696: ; 0x10696 call Func_30e8 call Func_30db ld hl, $d5cc - ld de, $29b7 - call Func_32aa + ld de, LetsGetPokemonText + call LoadTextHeader ret Func_106a6: ; 0x106a6 call Func_30e8 call Func_30db ld hl, $d5cc - ld de, $29d0 - call Func_32aa + ld de, PokemonRanAwayText + call LoadTextHeader ret Func_106b6: ; 0x106b6 @@ -21261,8 +21261,8 @@ Func_106b6: ; 0x106b6 rl b ; bc was just multiplied by 16 ld hl, PokemonNames + 1 add hl, bc - ld de, $2a67 ; todo "You got an" - ld bc, $2a91 ; todo + ld de, YouGotAnText ; todo "You got an" + ld bc, Data_2a91 ; todo ld a, [hl] ; check if mon's name starts with a vowel, so it can print "an", instead of "a" cp "A" @@ -21275,8 +21275,8 @@ Func_106b6: ; 0x106b6 jr z, .asm_106f1 cp "O" jr z, .asm_106f1 - ld de, $2a56 ; todo "You got a" - ld bc, $2a79 + ld de, YouGotAText ; todo "You got a" + ld bc, Data_2a79 .asm_106f1 push hl push bc @@ -21285,10 +21285,10 @@ Func_106b6: ; 0x106b6 call Func_30db ld hl, $d5cc pop de - call Func_32aa + call LoadTextHeader ld hl, $d5d4 pop de - call Func_32aa + call LoadTextHeader pop hl ld de, wcBottomMessageText + $20 ld b, $0 ; count the number of letters in mon's name in register b @@ -21485,11 +21485,11 @@ Func_10848: ; 0x10848 call Func_30e8 call Func_30db ld hl, $d5d4 - ld de, $2a0c - call Func_32aa + ld de, OneBillionText + call LoadTextHeader ld hl, $d5cc - ld de, $29e8 - call Func_32aa + ld de, PokemonCaughtSpecialBonusText + call LoadTextHeader call Func_3475 ret @@ -21837,7 +21837,7 @@ Func_10b3f: ; 0x10b3f jr z, .asm_10b55 ld de, FindItemsText .asm_10b55 - call Func_32aa + call LoadTextHeader ret Func_10b59: ; 0x10b59 @@ -22281,10 +22281,10 @@ Func_10e0a: ; 0x10e0a call Func_30db ld hl, $d5cc pop de - call Func_32aa + call LoadTextHeader ld hl, $d5d4 pop de - call Func_32aa + call LoadTextHeader pop hl ld de, wcBottomMessageText + $20 ld b, $0 @@ -22332,7 +22332,7 @@ Func_10e8b: ; 0x10e8b pop bc ld hl, $d5cc ld de, EvolutionSpecialBonusText - call Func_32aa + call LoadTextHeader ret Func_10ebb: ; 0x10ebb @@ -26618,7 +26618,7 @@ Func_1535d: ; 0x1535d call Func_30db ld de, $2907 ld hl, $d5cc - call Func_32aa + call LoadTextHeader ld a, [wBallType] ld c, a ld b, $0 @@ -26648,8 +26648,8 @@ Func_1535d: ; 0x1535d pop de pop bc ld hl, $d5cc - ld de, $2922 - call Func_32aa + ld de, FieldMultiplierSpecialBonusText + call LoadTextHeader .asm_15447 call Func_155a7 jr Func_15450 @@ -27782,7 +27782,7 @@ Func_163f2: ; 0x163f2 jr z, .asm_1640f ld de, Data_2eb8 .asm_1640f - call Func_32aa + call LoadTextHeader ld de, $0000 call PlaySong rst AdvanceFrame @@ -28547,7 +28547,7 @@ Func_16ef5: ; 0x16ef5 call Func_30db ld hl, $d5cc ld de, BonusMultiplierText - call Func_32aa + call LoadTextHeader ld hl, wcBottomMessageText + $12 ld a, [$d614] and $7f @@ -29071,7 +29071,7 @@ Func_17d92: ; 0x17d92 ld a, [hGameBoyColorFlag] and a ret z - ld hl, $7dd0 + ld hl, Data_17dd0 ld de, $d504 call UpdateAnimation ld a, [$d504] @@ -29094,13 +29094,17 @@ Func_17d92: ; 0x17d92 ld a, [$d505] ld e, a ld d, $0 - ld hl, $7dce + ld hl, Data_17dce add hl, de ld a, [hl] call LoadOAMData ret - dr $17dce, $17de1 +Data_17dce: + dr $17dce, $17dd0 + +Data_17dd0: + dr $17dd0, $17de1 Func_17de1: ; 0x17de1 ld a, $88 @@ -29116,12 +29120,13 @@ Func_17de1: ; 0x17de1 srl a ld e, a ld d, $0 - ld hl, $7e02 + ld hl, Data_17e02 add hl, de ld a, [hl] call LoadOAMData ret +Data_17e02: dr $17e02, $17e08 Func_17e08: ; 0x17e08 @@ -29153,7 +29158,7 @@ Func_17e08: ; 0x17e08 sla a ld c, a ld b, $0 - ld hl, $7e4b + ld hl, Data_17e4b add hl, bc ld a, [hli] sub d @@ -29166,6 +29171,7 @@ Func_17e08: ; 0x17e08 call LoadOAMData ret +Data_17e4b: dr $17e4b, $17e81 Func_17e81: ; 0x17e81 @@ -29239,7 +29245,7 @@ Func_17efb: ; 0x17efb bit 4, a ret z ld de, wIndicatorStates + 5 - ld hl, $7f3a + ld hl, Data_17f3a ld b, $6 jr asm_17f21 @@ -29251,7 +29257,7 @@ Func_17f0f: ; 0x17f0f bit 4, a ret z ld de, wIndicatorStates + 11 - ld hl, $7f4c + ld hl, Data_17f4c ld b, $8 asm_17f21: ; 0x17f21 push bc @@ -29275,14 +29281,18 @@ asm_17f21: ; 0x17f21 jr nz, asm_17f21 ret - dr $17f3a, $17f64 +Data_17f3a: + dr $17f3a, $17f4c + +Data_17f4c: + dr $17f4c, $17f64 Func_17f64: ; 0x17f64 ld a, [$d551] and a ret z ld de, $d566 - ld hl, $7fa6 + ld hl, Data_17fa6 ld b, $c ld c, $39 jr asm_17f84 @@ -29292,7 +29302,7 @@ Func_17f75: ; 0x17f75 and a ret z ld de, $d572 - ld hl, $7fbe + ld hl, Data_17fbe ld b, $6 ld c, $40 asm_17f84: ; 0x17f84 @@ -29324,7 +29334,11 @@ asm_17f84: ; 0x17f84 jr nz, asm_17f84 ret - dr $17fa6, $17fca +Data_17fa6: + dr $17fa6, $17fbe + +Data_17fbe: + dr $17fbe, $17fca Func_17fca: ; 0x17fca ld a, [$d604] @@ -29351,8 +29365,6 @@ Func_17fca: ; 0x17fca call nz, LoadOAMData ret - dr $17ff7, $18000 - SECTION "bank6", ROMX, BANK[$6] Func_18000: ; 0x18000 @@ -29453,16 +29465,16 @@ InitGengarBonusStage: ; 0x18099 ld [$d4c8], a ld [wBallType], a ld [$d49a], a - ld hl, $4121 ; todo + ld hl, Data_18121 ; todo ld de, $d659 call Func_18112 call Func_18112 call Func_18112 - ld hl, $413c ; todo + ld hl, Data_1813c ; todo ld de, $d67e call Func_18112 call Func_18112 - ld hl, $414e ; todo + ld hl, Data_1814e ; todo ld de, $d698 call Func_18112 xor a @@ -29502,7 +29514,14 @@ Func_18112: ; 0x18112 jr nz, .asm_18114 ret - dr $18121, $18157 +Data_18121: + dr $18121, $1813c + +Data_1813c: + dr $1813c, $1814e + +Data_1814e: + dr $1814e, $18157 StartBallGengarBonusStage: ; 0x18157 ld a, $0 @@ -29617,9 +29636,9 @@ Func_1820d: ; 0x1820d ld l, b ld h, $0 add hl, de - ld de, $5100 + ld de, Data_e9100 add hl, de - ld a, $3a + ld a, BANK(Data_e9100) call ReadByteFromBank bit 7, a jr nz, .asm_18257 @@ -29694,9 +29713,9 @@ Func_18298: ; 0x18298 ld l, b ld h, $0 add hl, de - ld de, $4c00 + ld de, Data_e8c00 add hl, de - ld a, $3a + ld a, BANK(Data_e8c00) call ReadByteFromBank bit 7, a jr nz, .asm_182e2 @@ -29757,9 +29776,9 @@ Func_18308: ; 0x18308 ld l, b ld h, $0 add hl, de - ld de, $4000 + ld de, Data_e8000 add hl, de - ld a, $3a + ld a, BANK(Data_e8000) call ReadByteFromBank bit 7, a jr nz, .asm_1834e @@ -29775,13 +29794,17 @@ Func_18308: ; 0x18308 ret Func_18350: ; 0x18350 - ld de, $4368 ; todo - ld hl, $435d ; todo + ld de, Data_18368 + ld hl, Data_1835d ld bc, $d654 and a jp Func_2775 - dr $1835d, $18377 +Data_1835d: + dr $1835d, $18368 + +Data_18368: + dr $18368, $18377 Func_18377: ; 0x18377 call Func_18464 @@ -29829,21 +29852,25 @@ Func_183db: ; 0x183db sla a ld c, a ld b, $0 - ld hl, $43f8 + ld hl, Data_183f8 ld a, [hGameBoyColorFlag] and a jr z, .asm_183ee - ld hl, $442e + ld hl, Data_1842e .asm_183ee add hl, bc ld a, [hli] ld h, [hl] ld l, a - ld a, $6 + ld a, BANK(Data_183f8) call Func_10aa ret - dr $183f8, $18464 +Data_183f8: + dr $183f8, $1842e + +Data_1842e: + dr $1842e, $18464 Func_18464: ; 0x18464 ld a, [$d659] @@ -29877,7 +29904,7 @@ Func_18464: ; 0x18464 dec de dec de dec de - ld hl, $45e6 + ld hl, Data_185e6 call CopyHLToDE pop de ld a, $1 @@ -29937,7 +29964,7 @@ Func_1850c: ; 0x1850c ld [hl], a ld c, a ld b, $0 - ld hl, $4542 + ld hl, Data_18542 add hl, bc pop bc pop af @@ -29972,6 +29999,7 @@ Func_1850c: ; 0x1850c ld [hl], a ret +Data_18542: dr $18542, $18562 Func_18562: ; 0x18562 @@ -29979,7 +30007,7 @@ Func_18562: ; 0x18562 sla a ld c, a ld b, $0 - ld hl, $45d9 + ld hl, Data_185d9 add hl, bc ld a, [hli] ld h, [hl] @@ -29998,7 +30026,7 @@ Func_18562: ; 0x18562 ld a, [de] cp $4 ret nz - ld hl, $45dd + ld hl, Data_185dd dec de dec de call CopyHLToDE @@ -30044,7 +30072,7 @@ Func_18562: ; 0x18562 ld a, c cp $a ret nc - ld hl, $45dd + ld hl, Data_185dd push de dec de dec de @@ -30055,7 +30083,14 @@ Func_18562: ; 0x18562 ld [de], a ret - dr $185d9, $1860b +Data_185d9: + dr $185d9, $185dd + +Data_185dd: + dr $185dd, $185e6 + +Data_185e6: + dr $185e6, $1860b Func_1860b: ; 0x1860b ld a, [$d67e] @@ -30089,7 +30124,7 @@ Func_1860b: ; 0x1860b dec de dec de dec de - ld hl, $478a + ld hl, Data_1878a call CopyHLToDE pop de ld a, $1 @@ -30143,7 +30178,7 @@ Func_186a1: ; 0x186a1 ld [hl], a ld c, a ld b, $0 - ld hl, $46d7 + ld hl, Data_186d7 add hl, bc pop bc pop af @@ -30178,6 +30213,7 @@ Func_186a1: ; 0x186a1 ld [hl], a ret +Data_186d7: dr $186d7, $186f7 Func_186f7: ; 0x186f7 @@ -30185,7 +30221,7 @@ Func_186f7: ; 0x186f7 sla a ld c, a ld b, $0 - ld hl, $477d + ld hl, Data_1877d add hl, bc ld a, [hli] ld h, [hl] @@ -30204,7 +30240,7 @@ Func_186f7: ; 0x186f7 ld a, [de] cp $4 ret nz - ld hl, $4781 + ld hl, Data_18781 dec de dec de call CopyHLToDE @@ -30242,7 +30278,7 @@ Func_186f7: ; 0x186f7 ld a, c cp $a ret nc - ld hl, $4781 + ld hl, Data_18781 push de dec de dec de @@ -30268,7 +30304,14 @@ Func_186f7: ; 0x186f7 call PlayCry ret - dr $1877d, $187b1 +Data_1877d: + dr $1877d, $18781 + +Data_18781: + dr $18781, $1878a + +Data_1878a: + dr $1878a, $187b1 Func_187b1: ; 0x187b1 ld a, [$d698] @@ -30307,7 +30350,7 @@ Func_187b1: ; 0x187b1 ld [$d6a2], a cp $5 jr nc, .asm_18804 - ld hl, $4b2b + ld hl, Data_18b2b call CopyHLToDE pop de ld a, $2 @@ -30317,7 +30360,7 @@ Func_187b1: ; 0x187b1 jr .asm_18826 .asm_18804 - ld hl, $4b32 + ld hl, Data_18b32 call CopyHLToDE pop de ld a, $3 @@ -30532,7 +30575,7 @@ Func_189af: ; 0x189af sla a ld c, a ld b, $0 - ld hl, $4a57 + ld hl, Data_18a57 add hl, bc ld a, [hli] ld h, [hl] @@ -30551,7 +30594,7 @@ Func_189af: ; 0x189af ld a, [de] cp $4 ret nz - ld hl, $4a61 + ld hl, Data_18a61 dec de dec de call CopyHLToDE @@ -30563,7 +30606,7 @@ Func_189af: ; 0x189af ld a, [de] cp $60 ret nz - ld hl, $4a61 + ld hl, Data_18a61 push de dec de dec de @@ -30580,7 +30623,7 @@ Func_189af: ; 0x189af ld a, [de] cp $3 ret nz - ld hl, $4a6a + ld hl, Data_18a6a push de dec de dec de @@ -30613,8 +30656,8 @@ Func_189af: ; 0x189af call Func_30e8 call Func_30db ld hl, $d5dc - ld de, $2f7b - call Func_32aa + ld de, Data_2f7b + call LoadTextHeader ld de, $4b2a call PlaySoundEffect ret @@ -30625,7 +30668,7 @@ Func_189af: ; 0x189af ld a, [de] cp $2 ret nz - ld hl, $4a61 + ld hl, Data_18a61 push de dec de dec de @@ -30638,7 +30681,20 @@ Func_189af: ; 0x189af call PlaySong ret - dr $18a57, $18d34 +Data_18a57: + dr $18a57, $18a61 + +Data_18a61: + dr $18a61, $18a6a + +Data_18a6a: + dr $18a6a, $18b2b + +Data_18b2b: + dr $18b2b, $18b32 + +Data_18b32: + dr $18b32, $18d34 Func_18d34: ; 0x18d34 ld a, [$d654] @@ -31554,8 +31610,8 @@ Func_19638: ; 0x19638 call Func_30db ld hl, $d5dc .asm_1966b - ld de, $2f97 - call Func_32aa + ld de, Data_2f97 + call LoadTextHeader ld de, $4b2a call PlaySoundEffect ret @@ -32580,8 +32636,8 @@ Func_1ab30: ; 0x1ab30 call Func_30e8 call Func_30db ld hl, $d5dc - ld de, $2fb3 - call Func_32aa + ld de, Data_2fb3 + call LoadTextHeader ld de, $4b2a call PlaySoundEffect ld a, $1 @@ -34811,8 +34867,8 @@ Func_1d5bf: ; 0x1d5bf call Func_30e8 call Func_30db ld hl, $d5cc - ld de, $2958 - call Func_32aa + ld de, BonusMultiplierText + call LoadTextHeader ld hl, wcBottomMessageText + $12 ld a, [$d614] and $7f @@ -35549,8 +35605,8 @@ Func_1e356: ; 0x1e356 call Func_30e8 call Func_30db ld hl, $d5cc - ld de, $2907 - call Func_32aa + ld de, FieldMultiplierText + call LoadTextHeader ld a, [wBallType] ld c, a ld b, $0 @@ -35575,13 +35631,13 @@ Func_1e356: ; 0x1e356 call Func_30e8 call Func_30db ld hl, $d5d4 - ld de, $2948 + ld de, DigitsText1to8 call Func_32cc pop de pop bc ld hl, $d5cc - ld de, $2922 - call Func_32aa + ld de, FieldMultiplierSpecialBonusText + call LoadTextHeader .asm_1e465 ld [$ff8a], a callba Func_155a7 @@ -36130,7 +36186,7 @@ Func_1e8c3: ; 0x1e8c3 jr z, .asm_1e8e0 ld de, $2eb8 .asm_1e8e0 - call Func_32aa + call LoadTextHeader ld de, $0000 call PlaySong rst AdvanceFrame @@ -38096,7 +38152,7 @@ Func_205e0: ; 0x205e0 call Func_30db ld de, $2bd8 ld hl, $d5cc - call Func_32aa + call LoadTextHeader ld a, [hGameBoyColorFlag] and a jr z, .asm_2064f @@ -38292,8 +38348,8 @@ Func_2077b: ; 0x2077b call Func_30e8 call Func_30db ld hl, $d5cc - ld de, $2ad1 - call Func_32aa + ld de, EvolutionFailedText + call LoadTextHeader ret Func_2080f: ; 0x2080f @@ -38553,7 +38609,7 @@ Func_20977: ; 0x20977 ld a, [hl] ld d, a ld hl, $d5cc - call Func_32aa + call LoadTextHeader scf ret @@ -38595,7 +38651,7 @@ Func_209eb: ; 0x209eb jr z, .asm_20a50 ld de, $2b93 .asm_20a50 - call Func_32aa + call LoadTextHeader scf ret @@ -38678,7 +38734,7 @@ asm_20a9f: ld de, $2bc2 .asm_20aed ld hl, $d5cc - call Func_32aa + call LoadTextHeader scf ret @@ -38863,7 +38919,7 @@ Func_20c08: ; 0x20c08 call Func_30db ld de, $2bd8 ld hl, $d5cc - call Func_32aa + call LoadTextHeader ld a, [hGameBoyColorFlag] and a jr z, .asm_20c74 @@ -39059,8 +39115,8 @@ Func_20da0: ; 0x20da0 call Func_30e8 call Func_30db ld hl, $d5cc - ld de, $2ad1 - call Func_32aa + ld de, EvolutionFailedText + call LoadTextHeader ret Func_20e34: ; 0x20e34 @@ -39300,7 +39356,7 @@ Func_20f75: ; 0x20f75 ld a, [hl] ld d, a ld hl, $d5cc - call Func_32aa + call LoadTextHeader scf ret @@ -39343,7 +39399,7 @@ Func_20fef: ; 0x20fef jr z, .asm_21057 ld de, $2b93 .asm_21057 - call Func_32aa + call LoadTextHeader scf ret @@ -39448,7 +39504,7 @@ asm_210c7: ld de, $2bc2 .asm_21115 ld hl, $d5cc - call Func_32aa + call LoadTextHeader scf ret @@ -40157,8 +40213,8 @@ Func_2442a: ; 0x2442a call Func_30e8 call Func_30db ld hl, $d5dc - ld de, $2fd0 - call Func_32aa + ld de, Data_2fd0 + call LoadTextHeader ld de, $4b2a call PlaySoundEffect .asm_24498 @@ -42112,8 +42168,8 @@ Func_25c5a: ; 0x25c5a call Func_30e8 call Func_30db ld hl, $d5dc - ld de, $2fec - call Func_32aa + ld de, Data_2fec + call LoadTextHeader ld a, $2 ld [$d794], a ld de, $4b2a @@ -47288,8 +47344,8 @@ Func_30188: ; 0x30188 call Func_30e8 call Func_30db ld hl, $d5cc - ld de, $2974 - call Func_32aa + ld de, ExtraBallText + call LoadTextHeader jr .asm_301c9 .asm_301a7 @@ -47300,13 +47356,13 @@ Func_30188: ; 0x30188 call Func_30e8 call Func_30db ld hl, $d5d4 - ld de, $29a6 + ld de, DigitsText1to9 call Func_32cc pop de pop bc ld hl, $d5cc - ld de, $2986 - call Func_32aa + ld de, ExtraBallSpecialBonusText + call LoadTextHeader .asm_301c9 xor a ld [$d4ca], a @@ -47616,10 +47672,10 @@ Func_3118f: ; 0x3118f ld a, [hli] ld d, a ld hl, $d5d4 - call Func_32aa + call LoadTextHeader pop de ld hl, $d5cc - call Func_32aa + call LoadTextHeader ret Func_311b4: ; 0x311b4 @@ -48059,8 +48115,8 @@ Func_3151f: ; 0x3151f call Func_30e8 call Func_30db ld hl, $d5cc - ld de, $2ca8 - call Func_32aa + ld de, Data_2ca8 + call LoadTextHeader ret Func_31591: ; 0x31591 @@ -48231,8 +48287,8 @@ Func_3168c: ; 0x3168c call Func_30e8 call Func_30db ld hl, $d5cc - ld de, $2ca8 - call Func_32aa + ld de, Data_2ca8 + call LoadTextHeader ret Func_31708: ; 0x31708 @@ -58049,8 +58105,14 @@ SECTION "bank39", ROMX, BANK[$39] dr $e4000, $e8000 ; 0xe4000 SECTION "bank3a", ROMX, BANK[$3a] +Data_e8000: + dr $e8000, $e8c00 ; 0xe8000 + +Data_e8c00: + dr $e8c00, $e9100 ; 0xe8000 - dr $e8000, $ec000 ; 0xe8000 +Data_e9100: + dr $e9100, $ec000 ; 0xe8000 SECTION "bank3b", ROMX, BANK[$3b] -- cgit v1.2.3 From 3f9e0e11a7ea6196da77b23f25f5399f6c5f2d01 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 5 Dec 2016 22:53:32 -0500 Subject: Finish pointers in bank 6 --- main.asm | 210 ++++++++++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 154 insertions(+), 56 deletions(-) diff --git a/main.asm b/main.asm index df9ea04..52b5f89 100755 --- a/main.asm +++ b/main.asm @@ -17566,7 +17566,7 @@ ReadFlipperCollisionAttributes: ; 0xe25a rl b sla c rl b ; bc = (x offset of flipper horizontal range) * 32 - ; Each row of the flipper collision attributes is 32 bytes long. + ; Each row of the flipper collision attributes is 32 bytes long. add hl, bc ; hl points to the start of the row in the flipper collisoin attributes ld a, [$ffbd] ; y offset of flipper vertical range ld c, a @@ -30729,11 +30729,11 @@ Func_18d72: ; 0x18d72 sla a ld c, a ld b, $0 - ld hl, $4ddb + ld hl, Data_18ddb ld a, [hGameBoyColorFlag] and a jr z, .asm_18d85 - ld hl, $4ed1 + ld hl, Data_18ed1 .asm_18d85 add hl, bc ld a, [hli] @@ -30748,9 +30748,9 @@ Func_18d72: ; 0x18d72 Func_18d91: ; 0x18d91 ld a, [$d656] and a - ld hl, $4dc9 + ld hl, Data_18dc9 jr z, .asm_18d9d - ld hl, $4dd2 + ld hl, Data_18dd2 .asm_18d9d ld de, $c7c7 call Func_18db2 @@ -30784,7 +30784,17 @@ Func_18db2: ; 0x18db2 pop hl ret - dr $18dc9, $18faf +Data_18dc9: + dr $18dc9, $18dd2 + +Data_18dd2: + dr $18dd2, $18ddb + +Data_18ddb: + dr $18ddb, $18ed1 + +Data_18ed1: + dr $18ed1, $18faf Func_18faf: ; 0x18faf ld bc, $7f00 @@ -30799,7 +30809,44 @@ Func_18faf: ; 0x18faf callba Func_17e81 ret - dr $18fda, $19020 +Func_18fda: + ld a, [hNewlyPressedButtons] + bit 6, a + ret z + ld a, [$d659] + and a + jr z, .asm_18ff8 + ld a, $1 + ld [$d67e], a + ld [$d687], a + xor a + ld [$d659], a + ld [$d662], a + ld [$d66b], a + ret + +.asm_18ff8 + ld a, [$d67e] + and a + jr z, .asm_1900b + ld a, $1 + ld [$d698], a + xor a + ld [$d67e], a + ld [$d687], a + ret + +.asm_1900b + ld a, [$d698] + and a + ret z + ld a, $1 + ld [$d659], a + ld [$d662], a + ld [$d66b], a + xor a + ld [$d698], a + ret Func_19020: ; 0x19020 ld de, $d659 @@ -30848,13 +30895,14 @@ Func_19033: ; 0x19033 ld a, [de] ld e, a ld d, $0 - ld hl, $506b + ld hl, Data_1906b add hl, de ld a, [hl] cp $ff call nz, LoadOAMData2 ret +Data_1906b: dr $1906b, $19070 Func_19070: ; 0x19070 @@ -30868,7 +30916,7 @@ Func_19070: ; 0x19070 sla a ld c, a ld b, $0 - ld hl, $50a9 + ld hl, Data_190a9 add hl, bc ld a, [hli] ld e, a @@ -30891,6 +30939,7 @@ Func_19070: ; 0x19070 scf ret +Data_190a9: dr $190a9, $190b9 Func_190b9: ; 0x190b9 @@ -30938,13 +30987,14 @@ Func_190c6: ; 0x190c6 ld a, [de] ld e, a ld d, $0 - ld hl, $50fe + ld hl, Data_190fe add hl, de ld a, [hl] cp $ff call nz, LoadOAMData2 ret +Data_190fe: dr $190fe, $19104 Func_19104: ; 0x19104 @@ -30959,7 +31009,7 @@ Func_19104: ; 0x19104 sla a ld c, a ld b, $0 - ld hl, $5145 + ld hl, Data_19145 add hl, bc ld a, [hli] ld c, a @@ -30987,6 +31037,7 @@ Func_19104: ; 0x19104 scf ret +Data_19145: dr $19145, $19185 Func_19185: ; 0x19185 @@ -31032,13 +31083,14 @@ Func_1918c: ; 0x1918c ld a, [de] ld e, a ld d, $0 - ld hl, $51c4 + ld hl, Data_191c4 add hl, de ld a, [hl] cp $ff call nz, LoadOAMData2 ret +Data_191c4: dr $191c4, $191cb Func_191cb: ; 0x191cb @@ -31053,7 +31105,7 @@ Func_191cb: ; 0x191cb sla a ld c, a ld b, $0 - ld hl, $520f + ld hl, Data_1920f add hl, bc ld a, [hli] ld c, a @@ -31082,6 +31134,7 @@ Func_191cb: ; 0x191cb scf ret +Data_1920f: dr $1920f, $1924f InitMewtwoBonusStage: ; 0x1924f @@ -31098,7 +31151,7 @@ InitMewtwoBonusStage: ; 0x1924f ld [$d4c8], a ld [wBallType], a ld [$d49a], a - ld hl, $52ab ; todo + ld hl, Data_192ab ld de, $d6b6 ld b, $c .asm_19275 @@ -31116,7 +31169,7 @@ InitMewtwoBonusStage: ; 0x1924f inc de dec b jr nz, .asm_19275 - ld hl, $52db ; todo + ld hl, Data_192db ld de, $d6ac ld b, $8 .asm_1928c @@ -31134,7 +31187,11 @@ InitMewtwoBonusStage: ; 0x1924f call PlaySong ret - dr $192ab, $192e3 +Data_192ab: + dr $192ab, $192db + +Data_192db: + dr $192db, $192e3 StartBallMewtwoBonusStage: ; 0x192e3 ld a, $0 @@ -31246,10 +31303,10 @@ Func_1936f: ; 0x1936f rl h sla l rl h - ld de, $4000 + ld de, Data_e4000 add hl, de ld de, wBallXVelocity - ld a, $39 + ld a, BANK(Data_e4000) call ReadByteFromBank ld c, a ld a, [de] @@ -31257,7 +31314,7 @@ Func_1936f: ; 0x1936f ld [de], a inc de inc hl - ld a, $39 + ld a, BANK(Data_e4000) call ReadByteFromBank ld b, a ld a, [de] @@ -31266,7 +31323,7 @@ Func_1936f: ; 0x1936f inc de inc hl push bc - ld a, $39 + ld a, BANK(Data_e4000) call ReadByteFromBank ld c, a ld a, [de] @@ -31274,7 +31331,7 @@ Func_1936f: ; 0x1936f ld [de], a inc de inc hl - ld a, $39 + ld a, BANK(Data_e4000) call ReadByteFromBank ld b, a ld a, [de] @@ -31403,11 +31460,11 @@ Func_194ac: ; 0x194ac sla a ld c, a ld b, $0 - ld hl, $54c9 + ld hl, Data_194c9 ld a, [hGameBoyColorFlag] and a jr z, .asm_194bf - ld hl, $54fd + ld hl, Data_194fd .asm_194bf add hl, bc ld a, [hli] @@ -31417,7 +31474,11 @@ Func_194ac: ; 0x194ac call Func_10aa ret - dr $194c9, $19531 +Data_194c9: + dr $194c9, $194fd + +Data_194fd: + dr $194fd, $19531 Func_19531: ; 0x19531 ld a, [$d6aa] @@ -31532,7 +31593,7 @@ Func_195f5: ; 0x195f5 sla a ld c, a ld b, $0 - ld hl, $5691 + ld hl, Data_19691 add hl, bc ld a, [hli] ld h, [hl] @@ -31621,7 +31682,7 @@ Func_19679: ; 0x19679 sla a ld c, a ld b, $0 - ld hl, $5691 + ld hl, Data_19691 add hl, bc ld a, [hli] ld h, [hl] @@ -31636,6 +31697,7 @@ Func_19679: ; 0x19679 ld [de], a ret +Data_19691: dr $19691, $19701 Func_19701: ; 0x19701 @@ -31707,7 +31769,7 @@ Func_1978b: ; 0x1978b xor a .asm_19797 ld [de], a - ld hl, $57a4 + ld hl, Data_197a3 + 1 add hl, bc dec de ld a, [hld] @@ -31717,6 +31779,7 @@ Func_1978b: ; 0x1978b ld [de], a ret +Data_197a3: dr $197a3, $19833 Func_19833: ; 0x19833 @@ -31731,7 +31794,7 @@ Func_19833: ; 0x19833 sla a ld c, a ld b, $0 - ld hl, $5916 + ld hl, Data_19916 add hl, bc ld a, [hli] ld h, [hl] @@ -31760,7 +31823,7 @@ Func_1985a: ; 0x1985a jp Func_19876 Func_19863: ; 0x19863 - dec de + dec de ld a, [de] cp $7 ret nz @@ -31783,7 +31846,7 @@ Func_19876: ; 0x19876 sla a ld c, a ld b, $0 - ld hl, $5916 + ld hl, Data_19916 add hl, bc ld a, [hli] ld h, [hl] @@ -31805,7 +31868,7 @@ Func_1988e: ; 0x1988e sla a ld c, a ld b, $0 - ld hl, $58ce + ld hl, Data_198ce add hl, bc ld de, $d6bd ld b, $6 @@ -31849,7 +31912,11 @@ Func_1988e: ; 0x1988e jr nz, .asm_198a3 ret - dr $198ce, $1994e +Data_198ce: + dr $198ce, $19916 + +Data_19916: + dr $19916, $1994e Func_1994e: ; 0x1994e ld bc, $7f65 @@ -31875,13 +31942,14 @@ Func_19976: ; 0x19976 ld a, [$d6ad] ld e, a ld d, $0 - ld hl, $5995 + ld hl, Data_19995 add hl, de ld a, [hl] cp $ff call nz, LoadOAMData2 ret +Data_19995: dr $19995, $1999d Func_1999d: ; 0x1999d @@ -31923,13 +31991,14 @@ Func_199be: ; 0x199be ld a, [de] ld e, a ld d, $0 - ld hl, $59e6 + ld hl, Data_199e6 add hl, de ld a, [hl] cp $ff call nz, LoadOAMData2 ret +Data_199e6: dr $199e6, $199f2 InitDiglettBonusStage: ; 0x199f2 @@ -32058,7 +32127,7 @@ Func_19aba: ; 0x19aba ret nc ld c, a ld b, $0 - ld hl, $5b18 ; todo + ld hl, Data_19b18 ; todo add hl, bc ld a, [hl] cp $a @@ -32098,6 +32167,7 @@ Func_19aba: ; 0x19aba and a ret +Data_19b18: dr $19b18, $19b4b Func_19b4b: ; 0x19b4b @@ -32168,11 +32238,11 @@ Func_19bbd: ; 0x19bbd sla a ld c, a ld b, $0 - ld hl, $5bda + ld hl, Data_19bda ld a, [hGameBoyColorFlag] and a jr z, .asm_19bd0 - ld hl, $5c16 + ld hl, Data_19c16 .asm_19bd0 add hl, bc ld a, [hli] @@ -32182,7 +32252,11 @@ Func_19bbd: ; 0x19bbd call Func_10aa ret - dr $19bda, $19c52 +Data_19bda: + dr $19bda, $19c16 + +Data_19c16: + dr $19c16, $19c52 Func_19c52: ; 0x19c52 ld a, [$d73b] @@ -32232,7 +32306,7 @@ Func_19c52: ; 0x19c52 ld a, c cp NUM_DIGLETTS jr nz, .asm_19cc8 - ld hl, $6c75 + ld hl, Data_1ac75 ld de, wDugtrioAnimationFrameCounter call CopyHLToDE ld a, $1 @@ -32419,7 +32493,7 @@ Func_19dcd: ; 0x19dcd add c ld c, a ld b, $0 - ld hl, $5e13 + ld hl, Data_19e13 add hl, bc ld a, [hli] ld e, a @@ -32450,7 +32524,7 @@ Func_19df0: ; 0x19df0 add c ld c, a ld b, $0 - ld hl, $5e13 + ld hl, Data_19e13 add hl, bc ld a, [hli] ld e, a @@ -32472,6 +32546,7 @@ Func_19df0: ; 0x19df0 ld [de], a ret +Data_19e13: dr $19e13, $19ed1 INCLUDE "data/diglett_stage/diglett_stage_animation_data.asm" @@ -32492,7 +32567,7 @@ Func_1aad4: ; 0x1aad4 sla a ld c, a ld b, $0 - ld hl, $6c62 + ld hl, Data_1ac62 add hl, bc ld a, [hli] ld h, [hl] @@ -32524,7 +32599,7 @@ Func_1ab30: ; 0x1ab30 sla a ld c, a ld b, $0 - ld hl, $6c62 + ld hl, Data_1ac62 add hl, bc ld a, [hli] ld h, [hl] @@ -32540,7 +32615,7 @@ Func_1ab30: ; 0x1ab30 ld a, [wDugtrioAnimationFrameIndex] cp $3 ret nz - ld hl, $6c75 + ld hl, Data_1ac75 ld de, wDugtrioAnimationFrameCounter call CopyHLToDE ld a, $1 @@ -32553,7 +32628,7 @@ Func_1ab30: ; 0x1ab30 ld a, [wDugtrioAnimationFrameIndex] cp $1 ret nz - ld hl, $6c7f + ld hl, Data_1ac7f ld de, wDugtrioAnimationFrameCounter call CopyHLToDE ld a, $3 @@ -32566,7 +32641,7 @@ Func_1ab30: ; 0x1ab30 ld a, [wDugtrioAnimationFrameIndex] cp $3 ret nz - ld hl, $6c7f + ld hl, Data_1ac7f ld de, wDugtrioAnimationFrameCounter call CopyHLToDE ld a, $3 @@ -32579,7 +32654,7 @@ Func_1ab30: ; 0x1ab30 ld a, [wDugtrioAnimationFrameIndex] cp $1 ret nz - ld hl, $6c89 + ld hl, Data_1ac89 ld de, wDugtrioAnimationFrameCounter call CopyHLToDE ld a, $5 @@ -32592,7 +32667,7 @@ Func_1ab30: ; 0x1ab30 ld a, [wDugtrioAnimationFrameIndex] cp $3 ret nz - ld hl, $6c89 + ld hl, Data_1ac89 ld de, wDugtrioAnimationFrameCounter call CopyHLToDE ld a, $5 @@ -32605,7 +32680,7 @@ Func_1ab30: ; 0x1ab30 ld a, [wDugtrioAnimationFrameIndex] cp $1 ret nz - ld hl, $6c93 + ld hl, Data_1ac93 ld de, wDugtrioAnimationFrameCounter call CopyHLToDE ld a, $7 @@ -32625,7 +32700,7 @@ Func_1ab30: ; 0x1ab30 .asm_1abf2 cp $2 ret nz - ld hl, $6c72 + ld hl, Data_1ac72 ld de, wDugtrioAnimationFrameCounter call CopyHLToDE xor a @@ -32643,11 +32718,11 @@ Func_1ab30: ; 0x1ab30 ld a, $1 ld [$d7be], a call Func_2862 - ld hl, $6c56 + ld hl, Data_1ac56 jr asm_1ac2f Func_1ac2c: ; 0x1ac2c - ld hl, $6c4a + ld hl, Data_1ac4a asm_1ac2f: ld de, $c768 ld b, $3 @@ -32673,7 +32748,29 @@ asm_1ac2f: jr nz, .asm_1ac34 ret - dr $1ac4a, $1ac98 +Data_1ac4a: + dr $1ac4a, $1ac56 + +Data_1ac56: + dr $1ac56, $1ac62 + +Data_1ac62: + dr $1ac62, $1ac72 + +Data_1ac72: + dr $1ac72, $1ac75 + +Data_1ac75: + dr $1ac75, $1ac7f + +Data_1ac7f: + dr $1ac7f, $1ac89 + +Data_1ac89: + dr $1ac89, $1ac93 + +Data_1ac93: + dr $1ac93, $1ac98 Func_1ac98: ; 0x1ac98 ld [$ff8a], a @@ -32695,14 +32792,15 @@ Func_1acb0: ; 0x1acb0 ld a, [wDugtrioAnimationFrame] ld e, a ld d, $0 - ld hl, $6ccf + ld hl, Data_1accf add hl, de ld a, [hl] bit 7, a call z, LoadOAMData2 ret - dr $1accf, $1c000 +Data_1accf: + dr $1accf, $1acde SECTION "bank7", ROMX, BANK[$7] @@ -58101,7 +58199,7 @@ SECTION "bank38", ROMX, BANK[$38] dr $e0000, $e4000 ; 0xe0000 SECTION "bank39", ROMX, BANK[$39] - +Data_e4000: dr $e4000, $e8000 ; 0xe4000 SECTION "bank3a", ROMX, BANK[$3a] -- cgit v1.2.3 From aeb626a814f893a6c9ce0a363d1f9691b02db5ed Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 5 Dec 2016 23:32:19 -0500 Subject: More hardcoded pointers --- main.asm | 131 ++++++++++++++++++++++++++++++++++++++++++++------------------- text.asm | 27 ++++++++++++- 2 files changed, 117 insertions(+), 41 deletions(-) diff --git a/main.asm b/main.asm index 52b5f89..f02b723 100755 --- a/main.asm +++ b/main.asm @@ -33196,13 +33196,13 @@ Func_1c305: ; 0x1c305 ld a, [$d5f3] and a ret z - ld a, $2a - ld hl, $47e0 + ld a, BANK(PikachuSaverGfx) + ld hl, PikachuSaverGfx + $c0 ld de, $87e0 ld bc, $0020 call FarCopyData - ld a, $2a - ld hl, $4800 + ld a, BANK(StageSharedPikaBoltGfx) + ld hl, GFX_a8800 ld de, $8900 ld bc, $0180 call FarCopyData @@ -33296,16 +33296,16 @@ Func_1c3ee: ; 0x1c3ee ld a, [wCurrentStage] bit 0, a jr nz, .asm_1c416 - ld a, $36 - ld hl, $7e80 + ld a, BANK(Data_dbe80) + ld hl, Data_dbe80 ld de, $8600 ld bc, $00e0 call FarCopyData jr .asm_1c424 .asm_1c416 - ld a, $36 - ld hl, $7e80 + ld a, BANK(Data_dbe80) + ld hl, Data_dbe80 ld de, $8200 ld bc, $00e0 call FarCopyData @@ -33316,8 +33316,8 @@ Func_1c3ee: ; 0x1c3ee ld a, [hGameBoyColorFlag] and a ret z - ld a, $37 - ld hl, $5188 + ld a, BANK(Data_dd188) + ld hl, Data_dd188 ld de, $0070 ld bc, $0010 call Func_6fd @@ -33344,8 +33344,8 @@ Func_1c43c: ; 0x1c43c .asm_1c458 ld a, [$d624] call Func_1f265 - ld a, $36 - ld hl, $4f60 + ld a, BANK(Data_d8f60) + ld hl, Data_d8f60 ld de, $8ae0 ld bc, $0020 call FarCopyData @@ -33382,7 +33382,7 @@ Func_1c491: ; 0x1c491 ld b, $0 swap c sla c - ld hl, $4e80 + ld hl, Data_d8e80 add hl, bc swap e sla e @@ -33393,7 +33393,7 @@ Func_1c491: ; 0x1c491 ld e, l pop hl ld bc, $0020 - ld a, $36 + ld a, BANK(Data_d8e80) call FarCopyData pop de pop bc @@ -33478,84 +33478,84 @@ Func_1c536: ; 0x1c536 ret Func_1c55a: ; 0x1c55a - ld de, $4644 - ld hl, $462e + ld de, Data_1c644 + ld hl, Data_1c62e ld bc, $d4cb and a jp Func_2775 Func_1c567: ; 0x1c567 - ld de, $4650 + ld de, Data_1c650 ld bc, $d507 scf jp Func_2775 Func_1c571: ; 0x1c571 - ld de, $4625 - ld hl, $4611 + ld de, Data_1c625 + ld hl, Data_1c611 ld bc, $d4d8 and a jp Func_2775 Func_1c57e: ; 0x1c57e - ld de, $4656 + ld de, Data_1c656 ld bc, $d51f scf jp Func_2775 Func_1c588: ; 0x1c588 - ld de, $4665 + ld de, Data_1c665 ld bc, $d635 scf jp Func_2775 Func_1c592: ; 0x1c592 - ld de, $466b + ld de, Data_1c66b ld bc, $d630 scf jp Func_2775 Func_1c59c: ; 0x1c59c - ld de, $4671 + ld de, Data_1c671 ld bc, $d515 scf jp Func_2775 Func_1c5a6: ; 0x1c5a6 - ld de, $4686 - ld hl, $467a + ld de, Data_1c686 + ld hl, Data_1c67a ld bc, $d60a and a jp Func_2775 Func_1c5b3: ; 0x1c5b3 - ld de, $4695 - ld hl, $468f + ld de, Data_1c695 + ld hl, Data_1c68f ld bc, $d4ed and a jp Func_2775 Func_1c5c0: ; 0x1c5c0 - ld de, $469e + ld de, Data_1c69e ld bc, $d5f7 scf jp Func_2775 Func_1c5ca: ; 0x1c5ca - ld de, $46aa + ld de, Data_1c6aa ld bc, $d50d scf jp Func_2775 Func_1c5d4: ; 0x1c5d4 - ld de, $46b9 + ld de, Data_1c6b9 ld bc, $d601 scf jp Func_2775 Func_1c5de: ; 0x1c5de - ld de, $46d1 - ld hl, $46bf + ld de, Data_1c6d1 + ld hl, Data_1c6bf ld bc, $d5c7 and a jp Func_2775 @@ -33577,12 +33577,64 @@ Func_1c5eb: ; 0x1c5eb jp PinballCollideWithPoints Func_1c607: ; 0x1c607 - ld de, $470f + ld de, Data_1c70f ld bc, $d4dc scf jp Func_2775 - dr $1c611, $1c6d7 +Data_1c611: + dr $1c611, $1c625 + +Data_1c625: + dr $1c625, $1c62e + +Data_1c62e: + dr $1c62e, $1c644 + +Data_1c644: + dr $1c644, $1c650 + +Data_1c650: + dr $1c650, $1c656 + +Data_1c656: + dr $1c656, $1c665 + +Data_1c665: + dr $1c665, $1c66b + +Data_1c66b: + dr $1c66b, $1c671 + +Data_1c671: + dr $1c671, $1c67a + +Data_1c67a: + dr $1c67a, $1c686 + +Data_1c686: + dr $1c686, $1c68f + +Data_1c68f: + dr $1c68f, $1c695 + +Data_1c695: + dr $1c695, $1c69e + +Data_1c69e: + dr $1c69e, $1c6aa + +Data_1c6aa: + dr $1c6aa, $1c6b9 + +Data_1c6b9: + dr $1c6b9, $1c6bf + +Data_1c6bf: + dr $1c6bf, $1c6d1 + +Data_1c6d1: + dr $1c6d1, $1c6d7 BlueTopEvolutionTrinketCoords: ; 0x1c6d7 ; First byte is just non-zero to signify that the array hasn't ended. @@ -33614,6 +33666,7 @@ BlueBottomEvolutionTrinketCoords: ; 0x1c6fc db $01, $6B, $35 db $00 +Data_1c70f: dr $1c70f, $1c715 Func_1c715: ; 0x1c715 @@ -33773,7 +33826,7 @@ Func_1c839: ; 0x1c839 pop bc ld [$ff8a], a callba Func_30253 - ld bc, $2cd1 + ld bc, Data_2cd1 ld [$ff8a], a callba Func_3118f ld a, [wCurrentMap] @@ -38700,7 +38753,7 @@ Func_20977: ; 0x20977 ld c, a ld b, $0 sla c - ld hl, $2bf0 + ld hl, Data_2bf0 add hl, bc ld a, [hli] ld e, a @@ -39447,7 +39500,7 @@ Func_20f75: ; 0x20f75 ld c, a ld b, $0 sla c - ld hl, $2bf0 + ld hl, Data_2bf0 add hl, bc ld a, [hli] ld e, a @@ -47763,7 +47816,7 @@ Func_3118f: ; 0x3118f sla a ld c, a ld b, $0 - ld hl, $2ce3 ; todo + ld hl, Data_2ce3 add hl, bc ld a, [hli] ld e, a @@ -48265,7 +48318,7 @@ Func_315d5: ; 0x315d5 callba Func_30253 ld de, $2525 call PlaySoundEffect - ld bc, $2cbf + ld bc, Data_2cbf ld [$ff8a], a callba Func_3118f .asm_31603 diff --git a/text.asm b/text.asm index b46105e..ae7bfc9 100755 --- a/text.asm +++ b/text.asm @@ -130,7 +130,13 @@ Data_2bd8: db "YEAH! YOU GOT IT @" Data_2bf0: - dr $2bf0, $2bfe + dw Data_2c45 + dw Data_2c78 + dw Data_2c14 + dw Data_2c60 + dw Data_2c2c + dw Data_2c90 + dw Data_2bfe Data_2bfe: db $05, $54, $43, $14, $00, $37 @@ -173,7 +179,24 @@ Data_2cd1: db "START FROM @" Data_2ce3: - dr $2ce3, $2d07 + dw Data_2d07 + dw Data_2d1a + dw Data_2d2f + dw Data_2d46 + dw Data_2d59 + dw Data_2d68 + dw Data_2d7d + dw Data_2d98 + dw Data_2db3 + dw Data_2dc8 + dw Data_2ddd + dw Data_2df1 + dw Data_2e05 + dw Data_2e18 + dw Data_2e2b + dw Data_2e3f + dw Data_2e56 + dw Data_2e6d Data_2d07: db $05, $5f, $44, $14, $20, $3f -- cgit v1.2.3 From fd2d384ef6c256686942428ee9900a86ad7effae Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 5 Dec 2016 23:43:46 -0500 Subject: Yet more hardcoded pointers --- main.asm | 183 ++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 94 insertions(+), 89 deletions(-) diff --git a/main.asm b/main.asm index f02b723..eeaeadf 100755 --- a/main.asm +++ b/main.asm @@ -6478,7 +6478,7 @@ Func_3500: ld bc, $d464 ldh [$ff8a], a callba AddBCDScore - ret + ret Func_351c: ; 0x351c ld hl, $d464 @@ -10515,7 +10515,7 @@ HandleEraseAllDataMenu: ; 0x815d EraseAllDataMenuFunctions: ; 0x8161 dw CheckForResetButtonCombo dw HandleEraseAllDataInput - dw ExitEraseAllDataMenu + dw ExitEraseAllDataMenu CheckForResetButtonCombo: ; 0x8167 ld a, [hJoypadState] @@ -13065,7 +13065,7 @@ HandleTitlescreenPokeballAnimation: ; 0xc278 ld e, $0 ld a, [wScreenState] ; TODO: I think this is the "titlescreen state" byte. cp $1 - jr nz, .loadOAM ; skip getting the correct animation frame + jr nz, .loadOAM ; skip getting the correct animation frame ld a, [wTitleScreenBouncingBallAnimationFrame] sla a ld e, a @@ -24814,85 +24814,85 @@ MonAnimatedCollisionMaskPointers: ; 0x134c0 Data_13685: ; 0x13685 ; Each 3-byte entry is related to an evolution line. Don't know what this is for, yet. - db $12, $12, $10 - db $10, $10, $10 - db $12, $12, $0E - db $14, $14, $12 - db $14, $14, $10 - db $0A, $0A, $0E - db $11, $13, $10 - db $0B, $0B, $10 - db $12, $12, $0E - db $12, $14, $0E - db $10, $12, $10 - db $11, $12, $0E - db $11, $12, $0E - db $12, $13, $10 - db $11, $11, $10 - db $12, $12, $10 - db $08, $08, $10 - db $10, $10, $10 - db $10, $10, $10 - db $11, $11, $0E - db $10, $10, $0E - db $14, $14, $0E - db $30, $30, $10 - db $12, $12, $10 - db $12, $12, $10 - db $10, $10, $10 - db $10, $10, $10 - db $12, $14, $10 - db $10, $12, $10 - db $0C, $0C, $12 - db $12, $14, $0C - db $12, $14, $0E - db $30, $30, $10 - db $14, $14, $10 - db $12, $12, $0E - db $12, $12, $0E - db $14, $14, $0E - db $12, $12, $10 - db $14, $14, $0E - db $10, $10, $0E - db $12, $12, $10 - db $14, $14, $10 - db $14, $12, $10 - db $02, $02, $10 - db $12, $12, $10 - db $12, $12, $10 - db $14, $10, $10 - db $14, $10, $10 - db $14, $12, $10 - db $11, $11, $10 - db $14, $14, $10 - db $12, $12, $10 - db $10, $10, $10 - db $12, $12, $10 - db $0F, $0F, $0E - db $12, $12, $0E - db $23, $23, $10 - db $13, $13, $10 - db $13, $13, $10 - db $12, $12, $10 - db $12, $14, $10 - db $14, $14, $0E - db $12, $12, $0E - db $12, $14, $10 - db $18, $18, $0C - db $16, $16, $0C - db $14, $14, $10 - db $12, $12, $10 - db $10, $10, $0E - db $12, $12, $0E - db $12, $12, $0E - db $0C, $0C, $12 - db $26, $36, $12 - db $13, $13, $10 - db $13, $13, $10 - db $13, $13, $10 - db $12, $12, $0E - db $14, $14, $0E - db $14, $14, $0E + db $12, $12, $10 ; EVOLINE_BULBASAUR + db $10, $10, $10 ; EVOLINE_CHARMANDER + db $12, $12, $0E ; EVOLINE_SQUIRTLE + db $14, $14, $12 ; EVOLINE_CATERPIE + db $14, $14, $10 ; EVOLINE_WEEDLE + db $0A, $0A, $0E ; EVOLINE_PIDGEY + db $11, $13, $10 ; EVOLINE_RATTATA + db $0B, $0B, $10 ; EVOLINE_SPEAROW + db $12, $12, $0E ; EVOLINE_EKANS + db $12, $14, $0E ; EVOLINE_PIKACHU + db $10, $12, $10 ; EVOLINE_SANDSHREW + db $11, $12, $0E ; EVOLINE_NIDORAN_F + db $11, $12, $0E ; EVOLINE_NIDORAN_M + db $12, $13, $10 ; EVOLINE_CLEFAIRY + db $11, $11, $10 ; EVOLINE_VULPIX + db $12, $12, $10 ; EVOLINE_JIGGLYPUFF + db $08, $08, $10 ; EVOLINE_ZUBAT + db $10, $10, $10 ; EVOLINE_ODDISH + db $10, $10, $10 ; EVOLINE_PARAS + db $11, $11, $0E ; EVOLINE_VENONAT + db $10, $10, $0E ; EVOLINE_DIGLETT + db $14, $14, $0E ; EVOLINE_MEOWTH + db $30, $30, $10 ; EVOLINE_PSYDUCK + db $12, $12, $10 ; EVOLINE_MANKEY + db $12, $12, $10 ; EVOLINE_GROWLITHE + db $10, $10, $10 ; EVOLINE_POLIWAG + db $10, $10, $10 ; EVOLINE_ABRA + db $12, $14, $10 ; EVOLINE_MACHOP + db $10, $12, $10 ; EVOLINE_BELLSPROUT + db $0C, $0C, $12 ; EVOLINE_TENTACOOL + db $12, $14, $0C ; EVOLINE_GEODUDE + db $12, $14, $0E ; EVOLINE_PONYTA + db $30, $30, $10 ; EVOLINE_SLOWPOKE + db $14, $14, $10 ; EVOLINE_MAGNEMITE + db $12, $12, $0E ; EVOLINE_FARFETCH_D + db $12, $12, $0E ; EVOLINE_DODUO + db $14, $14, $0E ; EVOLINE_SEEL + db $12, $12, $10 ; EVOLINE_GRIMER + db $14, $14, $0E ; EVOLINE_SHELLDER + db $10, $10, $0E ; EVOLINE_GASTLY + db $12, $12, $10 ; EVOLINE_ONIX + db $14, $14, $10 ; EVOLINE_DROWZEE + db $14, $12, $10 ; EVOLINE_KRABBY + db $02, $02, $10 ; EVOLINE_VOLTORB + db $12, $12, $10 ; EVOLINE_EXEGGCUTE + db $12, $12, $10 ; EVOLINE_CUBONE + db $14, $10, $10 ; EVOLINE_HITMONLEE + db $14, $10, $10 ; EVOLINE_HITMONCHAN + db $14, $12, $10 ; EVOLINE_LICKITUNG + db $11, $11, $10 ; EVOLINE_KOFFING + db $14, $14, $10 ; EVOLINE_RHYHORN + db $12, $12, $10 ; EVOLINE_CHANSEY + db $10, $10, $10 ; EVOLINE_TANGELA + db $12, $12, $10 ; EVOLINE_KANGASKHAN + db $0F, $0F, $0E ; EVOLINE_HORSEA + db $12, $12, $0E ; EVOLINE_GOLDEEN + db $23, $23, $10 ; EVOLINE_STARYU + db $13, $13, $10 ; EVOLINE_MR_MIME + db $13, $13, $10 ; EVOLINE_SCYTHER + db $12, $12, $10 ; EVOLINE_JYNX + db $12, $14, $10 ; EVOLINE_ELECTABUZZ + db $14, $14, $0E ; EVOLINE_MAGMAR + db $12, $12, $0E ; EVOLINE_PINSIR + db $12, $14, $10 ; EVOLINE_TAUROS + db $18, $18, $0C ; EVOLINE_MAGIKARP + db $16, $16, $0C ; EVOLINE_LAPRAS + db $14, $14, $10 ; EVOLINE_DITTO + db $12, $12, $10 ; EVOLINE_EEVEE + db $10, $10, $0E ; EVOLINE_PORYGON + db $12, $12, $0E ; EVOLINE_OMANYTE + db $12, $12, $0E ; EVOLINE_KABUTO + db $0C, $0C, $12 ; EVOLINE_AERODACTYL + db $26, $36, $12 ; EVOLINE_SNORLAX + db $13, $13, $10 ; EVOLINE_ARTICUNO + db $13, $13, $10 ; EVOLINE_ZAPDOS + db $13, $13, $10 ; EVOLINE_MOLTRES + db $12, $12, $0E ; EVOLINE_DRATINI + db $14, $14, $0E ; EVOLINE_MEWTWO + db $14, $14, $0E ; EVOLINE_MEW SECTION "bank5", ROMX, BANK[$5] @@ -34179,7 +34179,7 @@ Func_1cb1c: ; 0x1cb1c ld a, [$d517] ld c, a ld b, $0 - ld hl, $4b33 ; todo + ld hl, Data_1cb33 ; todo add hl, bc ld a, [hl] ld e, a @@ -34187,6 +34187,7 @@ Func_1cb1c: ; 0x1cb1c call PlaySoundEffect ret +Data_1cb33: dr $1cb33, $1cb43 Func_1cb43: ; 0x1cb43 @@ -34194,11 +34195,11 @@ Func_1cb43: ; 0x1cb43 ld c, a sla c ld b, $0 - ld hl, $4b60 ; todo + ld hl, Data_1cb60 ; todo ld a, [hGameBoyColorFlag] and a jr z, .asm_1cb56 - ld hl, $4d10 ; todo + ld hl, Data_1cd10 ; todo .asm_1cb56 add hl, bc ld a, [hli] @@ -34208,7 +34209,11 @@ Func_1cb43: ; 0x1cb43 call Func_10aa ret - dr $1cb60, $1ce40 +Data_1cb60: + dr $1cb60, $1cd10 + +Data_1cd10: + dr $1cd10, $1ce40 Func_1ce40: ; 1ce40 ld a, [$d4d8] @@ -47539,7 +47544,7 @@ PointerTable_301d4: ; 0x301d4 db Bank(Func_3161b), $00 dw Func_3161b - db Bank(Func_3161b), $00 + db Bank(Func_3161b), $00 StartMapMoveMode: ; 0x301ec ld a, [wInSpecialMode] @@ -50430,12 +50435,12 @@ WavePattern2_BankF: ; 0x3cb72 WavePattern3_BankF: ; 0x3cb82 db $00, $11, $22, $33, $44, $33, $22, $11, $FF, $EE, $CC, $AA, $88, $AA, $CC, $EE WavePattern4_BankF: ; 0x3cb92 - db $00, $11, $22, $33, $44, $33, $22, $11, $FF, $EE, $CC, $AA, $88, $AA, $CC, $EE + db $00, $11, $22, $33, $44, $33, $22, $11, $FF, $EE, $CC, $AA, $88, $AA, $CC, $EE dr $3cba2, $3cc8e Data_3cc8e: ; 0x3cc8e - db $11, $22, $44, $88 + db $11, $22, $44, $88 WRAMPointerTable_3cc92: ; 0x3cc92 dw $DD01 -- cgit v1.2.3 From 79b67d3768b7819a697fd3368261e6552247f58c Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 6 Dec 2016 08:29:01 -0500 Subject: Finish hardcoded ROM labels in bank 7 --- main.asm | 254 ++++++++++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 168 insertions(+), 86 deletions(-) diff --git a/main.asm b/main.asm index eeaeadf..b2ae67f 100755 --- a/main.asm +++ b/main.asm @@ -34252,11 +34252,11 @@ asm_1ce7a: ; 0x1ce7a sla a ld c, a ld b, $0 - ld hl, $4eca + ld hl, Data_1ceca ld a, [hGameBoyColorFlag] and a jr z, .asm_1ce8a - ld hl, $4f3a + ld hl, Data_1cf3a .asm_1ce8a add hl, bc ld a, [hli] @@ -34282,7 +34282,7 @@ Func_1ce94: ; 0x1ce94 sub $1 ld c, a ld b, $0 - ld hl, $4ec8 + ld hl, Data_1cec8 add hl, bc ld a, [$d7ea] add [hl] @@ -34291,7 +34291,14 @@ Func_1ce94: ; 0x1ce94 call PlaySoundEffect ret - dr $1cec8, $1cfaa +Data_1cec8: + dr $1cec8, $1ceca + +Data_1ceca: + dr $1ceca, $1cf3a + +Data_1cf3a: + dr $1cf3a, $1cfaa Func_1cfaa: ; 0x1cfaa ld a, [$d51f] @@ -34613,7 +34620,7 @@ Func_1d216: ; 0x1d216 callba AddBCDScore ld de, $0005 call PlaySoundEffect - ld hl, $5312 ; todo + ld hl, Data_1d312 ld de, $d632 call CopyHLToDE xor a @@ -34626,7 +34633,7 @@ Func_1d216: ; 0x1d216 xor a ld [$d549], a .asm_1d253 - ld hl, $5312 ; todo + ld hl, Data_1d312 ld de, $d632 call UpdateAnimation push af @@ -34713,6 +34720,7 @@ Func_1d216: ; 0x1d216 ld [$d640], a ret +Data_1d312: dr $1d312, $1d32d HandleEnteringCloyster: ; 0x1d32d @@ -34726,7 +34734,7 @@ HandleEnteringCloyster: ; 0x1d32d callba AddBCDScore ld de, $0005 call PlaySoundEffect - ld hl, $541d + ld hl, Data_1d41d ld de, $d637 call CopyHLToDE xor a @@ -34739,7 +34747,7 @@ HandleEnteringCloyster: ; 0x1d32d xor a ld [$d549], a .asm_1d36a - ld hl, $541d + ld hl, Data_1d41d ld de, $d637 call UpdateAnimation push af @@ -34821,6 +34829,7 @@ HandleEnteringCloyster: ; 0x1d32d ld [$d640], a ret +Data_1d41d: dr $1d41d, $1d438 Func_1d438: ; 0x1d438 @@ -35067,7 +35076,7 @@ Func_1d602: ; 0x1d602 ld c, a ld b, $0 sla c - ld hl, $56be + ld hl, Data_1d6be add hl, bc ld a, [hli] ld h, [hl] @@ -35086,7 +35095,7 @@ Func_1d602: ; 0x1d602 jr c, .asm_1d638 set 2, c .asm_1d638 - ld hl, $5946 + ld hl, Data_1d946 add hl, bc ld a, [hli] ld h, [hl] @@ -35104,7 +35113,7 @@ Func_1d645: ; 0x1d645 ld c, a ld b, $0 sla c - ld hl, $597a + ld hl, Data_1d97a add hl, bc ld a, [hli] ld h, [hl] @@ -35122,7 +35131,7 @@ Func_1d65f: ; 0x1d65f .asm_1d669 ld b, a xor a - ld hl, $568b ; todo + ld hl, Data_1d68b ld c, $7 .asm_1d670 bit 0, b @@ -35143,6 +35152,7 @@ Func_1d65f: ; 0x1d65f ld [$d60d], a ret +Data_1d68b: dr $1d68b, $1d692 Func_1d692: ; 0x1d692 @@ -35172,7 +35182,14 @@ Func_1d692: ; 0x1d692 call Func_1d5f2 ret - dr $1d6be, $1dbd2 +Data_1d6be: + dr $1d6be, $1d946 + +Data_1d946: + dr $1d946, $1d97a + +Data_1d97a: + dr $1d97a, $1dbd2 Func_1dbd2: ; 0x1dbd2 ld a, [$d4ed] @@ -35351,7 +35368,8 @@ Func_1dc95: ; 0x1dc95 ld [$d646], a ret - dr $1dd2d, $1dd2e +; XXX + ret Func_1dd2e: ; 0x1dd2e ld a, [$d645] @@ -35505,11 +35523,11 @@ Func_1de4b: ; 0x1de4b sla a ld c, a ld b, $0 - ld hl, $5f66 + ld hl, Data_1df66 ld a, [hGameBoyColorFlag] and a jr z, .asm_1de63 - ld hl, $600f + ld hl, Data_1e00f .asm_1de63 add hl, bc ld a, [hli] @@ -35530,11 +35548,11 @@ Func_1de6f: ; 0x1de6f sla a ld c, a ld b, $0 - ld hl, $60a4 + ld hl, Data_1e0a4 ld a, [hGameBoyColorFlag] and a jr z, .asm_1de87 - ld hl, $61d6 + ld hl, Data_1e1d6 .asm_1de87 add hl, bc ld a, [hli] @@ -35682,7 +35700,17 @@ Func_1df15: ; 0x1df15 .asm_1df65 ret - dr $1df66, $1e356 +Data_1df66: + dr $1df66, $1e00f + +Data_1e00f: + dr $1e00f, $1e0a4 + +Data_1e0a4: + dr $1e0a4, $1e1d6 + +Data_1e1d6: + dr $1e1d6, $1e356 Func_1e356: ; 0x1e356 ld a, [$d5f7] @@ -35820,22 +35848,22 @@ Func_1e484: ; 0x1e484 ld a, [hGameBoyColorFlag] and a jr nz, .asm_1e491 - ld hl, $6520 + ld hl, Data_1e520 jr .asm_1e4a3 .asm_1e491 - ld hl, $6556 + ld hl, Data_1e556 jr .asm_1e4a3 .asm_1e496 ld a, [hGameBoyColorFlag] and a jr nz, .asm_1e4a0 - ld hl, $6526 + ld hl, Data_1e526 jr .asm_1e4a3 .asm_1e4a0 - ld hl, $655c + ld hl, Data_1e55c .asm_1e4a3 push bc dec b @@ -35939,7 +35967,17 @@ BallTypeDegradation2BlueField: ; 0x1e51a db ULTRA_BALL ; unused db ULTRA_BALL ; MASTER_BALL -> GREAT_BALL - dr $1e520, $1e58c +Data_1e520: + dr $1e520, $1e526 + +Data_1e526: + dr $1e526, $1e556 + +Data_1e556: + dr $1e556, $1e55c + +Data_1e55c: + dr $1e55c, $1e58c HandleBallTypeUpgradeCounterBlueField: ; 0x1e58c ld a, [$d5f3] @@ -36044,22 +36082,22 @@ Func_1e636: ; 0x1e636 ld a, [hGameBoyColorFlag] and a jr nz, .asm_1e643 - ld hl, $66d7 + ld hl, Data_1e6d7 jr .asm_1e655 .asm_1e643 - ld hl, $6717 + ld hl, Data_1e717 jr .asm_1e655 .asm_1e648 ld a, [hGameBoyColorFlag] and a jr nz, .asm_1e652 - ld hl, $66df + ld hl, Data_1e6df jr .asm_1e655 .asm_1e652 - ld hl, $671f + ld hl, Data_1e71f .asm_1e655 push bc dec b @@ -36153,7 +36191,17 @@ Func_1e66a: ; 0x1e66a ld [hl], a ret - dr $1e6d7, $1e757 +Data_1e6d7: + dr $1e6d7, $1e6df + +Data_1e6df: + dr $1e6df, $1e717 + +Data_1e717: + dr $1e717, $1e71f + +Data_1e71f: + dr $1e71f, $1e757 Func_1e757: ; 0x1e757 ld a, [$d601] @@ -36297,7 +36345,7 @@ Func_1e830: ; 0x1e830 ld a, [$d498] ld c, a ld b, $0 - ld hl, $68f1 + ld hl, Data_1e8f1 add hl, bc ld a, [hl] ld [$d497], a @@ -36334,13 +36382,13 @@ Func_1e8c3: ; 0x1e8c3 call Func_30db ld hl, $d5dc ld a, [$d497] - ld de, $2ed2 + ld de, Data_2ed2 cp $b jr z, .asm_1e8e0 - ld de, $2eec + ld de, Data_2eec cp $f jr z, .asm_1e8e0 - ld de, $2eb8 + ld de, Data_2eb8 .asm_1e8e0 call LoadTextHeader ld de, $0000 @@ -36350,6 +36398,7 @@ Func_1e8c3: ; 0x1e8c3 call PlaySoundEffect ret +Data_1e8f1: dr $1e8f1, $1e8f6 Func_1e8f6: ; 0x1e8f6 @@ -36362,11 +36411,11 @@ Func_1e8f6: ; 0x1e8f6 sla a ld c, a ld b, $0 - ld hl, $691e + ld hl, Data_1e91e ld a, [hGameBoyColorFlag] and a jr z, .asm_1e912 - ld hl, $6970 + ld hl, Data_1e970 .asm_1e912 add hl, bc ld a, [hli] @@ -36378,7 +36427,11 @@ Func_1e8f6: ; 0x1e8f6 call Func_10aa ret - dr $1e91e, $1e9c0 +Data_1e91e: + dr $1e91e, $1e970 + +Data_1e970: + dr $1e970, $1e9c0 Func_1e9c0: ; 0x1e9c0 ld a, [$d607] @@ -36482,10 +36535,10 @@ Func_1ea3b: ; 0x1ea3b ; fall through asm_1ea6a: ; 0x1ea6a - ld bc, $4000 + ld bc, Data_f0000 add hl, bc ld de, wBallXVelocity - ld a, $3c + ld a, BANK(Data_f0000) call ReadByteFromBank ld c, a ld a, [de] @@ -36493,7 +36546,7 @@ asm_1ea6a: ; 0x1ea6a ld [de], a inc de inc hl - ld a, $3c + ld a, BANK(Data_f0000) call ReadByteFromBank ld b, a ld a, [de] @@ -36502,7 +36555,7 @@ asm_1ea6a: ; 0x1ea6a inc de inc hl push bc - ld a, $3c + ld a, BANK(Data_f0000) call ReadByteFromBank ld c, a ld a, [de] @@ -36510,7 +36563,7 @@ asm_1ea6a: ; 0x1ea6a ld [de], a inc de inc hl - ld a, $3c + ld a, BANK(Data_f0000) call ReadByteFromBank ld b, a ld a, [de] @@ -36632,11 +36685,11 @@ Func_1ead4: ; 0x1ead4 Func_1eb41: ; 0x1eb41 push af sla c - ld hl, $6b61 + ld hl, Data_1eb61 ld a, [hGameBoyColorFlag] and a jr z, .asm_1eb4f - ld hl, $6d51 + ld hl, Data_1ed51 .asm_1eb4f add hl, bc ld a, [hli] @@ -36653,7 +36706,11 @@ Func_1eb41: ; 0x1eb41 call Func_10aa ret - dr $1eb61, $1ef09 +Data_1eb61: + dr $1eb61, $1ed51 + +Data_1ed51: + dr $1ed51, $1ef09 Func_1ef09: ; 0x1ef09 ld a, [wBlueStageForceFieldDirection] @@ -36800,10 +36857,10 @@ Func_1efdc: ; 0x1efdc ; default to upward forcefield Func_1eff3: ; 0x1eff3 - ld bc, $4000 + ld bc, Data_ec000 add hl, bc ld de, wBallXVelocity - ld a, $3b + ld a, BANK(Data_ec000) call ReadByteFromBank ld c, a ld a, [de] @@ -36811,7 +36868,7 @@ Func_1eff3: ; 0x1eff3 ld [de], a inc de inc hl - ld a, $3b + ld a, BANK(Data_ec000) call ReadByteFromBank ld b, a ld a, [de] @@ -36820,7 +36877,7 @@ Func_1eff3: ; 0x1eff3 inc de inc hl push bc - ld a, $3b + ld a, BANK(Data_ec000) call ReadByteFromBank ld c, a ld a, [de] @@ -36828,7 +36885,7 @@ Func_1eff3: ; 0x1eff3 ld [de], a inc de inc hl - ld a, $3b + ld a, BANK(Data_ec000) call ReadByteFromBank ld b, a ld a, [de] @@ -36873,12 +36930,12 @@ Func_1eff3: ; 0x1eff3 ret Func_1f057: ; 0x1f057 - ld bc, $4000 + ld bc, Data_ec000 add hl, bc ld de, wBallXVelocity bit 2, l ret nz - ld a, $3b + ld a, BANK(Data_ec000) call ReadByteFromBank ld c, a ld a, [de] @@ -36886,7 +36943,7 @@ Func_1f057: ; 0x1f057 ld [de], a inc de inc hl - ld a, $3b + ld a, BANK(Data_ec000) call ReadByteFromBank ld b, a ld a, [de] @@ -36895,7 +36952,7 @@ Func_1f057: ; 0x1f057 inc de inc hl push bc - ld a, $3b + ld a, BANK(Data_ec000) call ReadByteFromBank ld c, a ld a, [de] @@ -36903,7 +36960,7 @@ Func_1f057: ; 0x1f057 ld [de], a inc de inc hl - ld a, $3b + ld a, BANK(Data_ec000) call ReadByteFromBank ld b, a ld a, [de] @@ -36948,10 +37005,10 @@ Func_1f057: ; 0x1f057 ret LoadOAMData2e: ; 0x1f0be - ld bc, $4000 + ld bc, Data_ec000 add hl, bc ld de, wBallYVelocity - ld a, $3b + ld a, BANK(Data_ec000) call ReadByteFromBank ld c, a ld a, [de] @@ -36959,7 +37016,7 @@ LoadOAMData2e: ; 0x1f0be ld [de], a inc de inc hl - ld a, $3b + ld a, BANK(Data_ec000) call ReadByteFromBank ld b, a ld a, [de] @@ -36970,7 +37027,7 @@ LoadOAMData2e: ; 0x1f0be dec de dec de dec de - ld a, $3b + ld a, BANK(Data_ec000) call ReadByteFromBank ld c, a ld a, [de] @@ -36978,7 +37035,7 @@ LoadOAMData2e: ; 0x1f0be ld [de], a inc de inc hl - ld a, $3b + ld a, BANK(Data_ec000) call ReadByteFromBank ld b, a ld a, [de] @@ -37023,10 +37080,10 @@ LoadOAMData2e: ; 0x1f0be ret Func_1f124: ; 0x1f124 - ld bc, $4000 + ld bc, Data_ec000 add hl, bc ld de, wBallYVelocity - ld a, $3b + ld a, BANK(Data_ec000) call ReadByteFromBank ld c, a ld a, [de] @@ -37034,7 +37091,7 @@ Func_1f124: ; 0x1f124 ld [de], a inc de inc hl - ld a, $3b + ld a, BANK(Data_ec000) call ReadByteFromBank ld b, a ld a, [de] @@ -37045,7 +37102,7 @@ Func_1f124: ; 0x1f124 dec de dec de dec de - ld a, $3b + ld a, BANK(Data_ec000) call ReadByteFromBank ld c, a ld a, [de] @@ -37053,7 +37110,7 @@ Func_1f124: ; 0x1f124 ld [de], a inc de inc hl - ld a, $3b + ld a, BANK(Data_ec000) call ReadByteFromBank ld b, a ld a, [de] @@ -37105,11 +37162,11 @@ Func_1f18a: ; 0x1f18a sla a ld c, a ld b, $0 - ld hl, $71b5 + ld hl, Data_1f1b5 ld a, [hGameBoyColorFlag] and a jr z, .asm_1f1a4 - ld hl, $7201 + ld hl, Data_1f201 .asm_1f1a4 add hl, bc ld a, [hli] @@ -37124,7 +37181,11 @@ Func_1f18a: ; 0x1f18a .asm_1f1b4 ret - dr $1f1b5, $1f261 +Data_1f1b5: + dr $1f1b5, $1f201 + +Data_1f201: + dr $1f201, $1f261 Func_1f261: ; 0x1f261 call Func_1f27b @@ -37135,7 +37196,7 @@ Func_1f265: ; 0x1f265 sla a ld c, a ld b, $0 - ld hl, $72b9 + ld hl, Data_1f2b9 add hl, bc ld a, [hli] ld c, a @@ -37183,6 +37244,7 @@ Func_1f27b: ; 0x1f27b scf ret +Data_1f2b9: dr $1f2b9, $1f2ed Func_1f2ed: ; 0x1f2ed @@ -37255,13 +37317,13 @@ Func_1f35a: ; 0x1f35a Func_1f395: ; 0x1f395 ld de, $d4cd - ld hl, $73cf + ld hl, Data_1f3cf call Func_1f3ad ld de, $d4d0 - ld hl, $73d5 + ld hl, Data_1f3d5 call Func_1f3ad ld de, $d4d3 - ld hl, $73db + ld hl, Data_1f3db ; fall through Func_1f3ad: ; 0x1f3ad @@ -37292,7 +37354,14 @@ Func_1f3ad: ; 0x1f3ad call LoadOAMData ret - dr $1f3cf, $1f3e1 +Data_1f3cf: + dr $1f3cf, $1f3d5 + +Data_1f3d5: + dr $1f3d5, $1f3db + +Data_1f3db: + dr $1f3db, $1f3e1 Func_1f3e1: ; 0x1f3e1 ld a, $8a @@ -37308,12 +37377,13 @@ Func_1f3e1: ; 0x1f3e1 srl a ld e, a ld d, $0 - ld hl, $7402 + ld hl, Data_1f402 add hl, de ld a, [hl] call LoadOAMData ret +Data_1f402: dr $1f402, $1f408 Func_1f408: ; 0x1f408 @@ -37328,12 +37398,13 @@ Func_1f408: ; 0x1f408 ld a, [$d633] ld e, a ld d, $0 - ld hl, $7425 + ld hl, Data_1f425 add hl, de ld a, [hl] call LoadOAMData ret +Data_1f425: dr $1f425, $1f428 Func_1f428: ; 0x1f428 @@ -37348,12 +37419,13 @@ Func_1f428: ; 0x1f428 ld a, [$d638] ld e, a ld d, $0 - ld hl, $7445 + ld hl, Data_1f445 add hl, de ld a, [hl] call LoadOAMData ret +Data_1f445: dr $1f445, $1f448 Func_1f448: ; 0x1f448 @@ -37385,7 +37457,7 @@ Func_1f448: ; 0x1f448 sla a ld c, a ld b, $0 - ld hl, $748b + ld hl, Data_1f48b add hl, bc ld a, [hli] sub d @@ -37398,6 +37470,7 @@ Func_1f448: ; 0x1f448 call LoadOAMData ret +Data_1f48b: dr $1f48b, $1f48f Func_1f48f: ; 0x1f48f @@ -37408,7 +37481,7 @@ Func_1f48f: ; 0x1f48f bit 4, a ret z ld de, wIndicatorStates + 5 - ld hl, $74ce + ld hl, Data_1f4ce ld b, $6 jr asm_1f4b5 @@ -37420,7 +37493,7 @@ Func_1f4a3: ; 0x1f4a3 bit 4, a ret z ld de, wIndicatorStates + 11 - ld hl, $74e0 + ld hl, Data_1f4e0 ld b, $8 asm_1f4b5: push bc @@ -37444,14 +37517,18 @@ asm_1f4b5: jr nz, asm_1f4b5 ret - dr $1f4ce, $1f4f8 +Data_1f4ce: + dr $1f4ce, $1f4e0 + +Data_1f4e0: + dr $1f4e0, $1f4f8 Func_1f4f8: ; 0x1f4f8 ld a, [$d551] and a ret z ld de, $d566 - ld hl, $753a + ld hl, Data_1f53a ld b, $c ld c, $47 jr asm_1f518 @@ -37461,7 +37538,7 @@ Func_1f509: ; 0x1f509 and a ret z ld de, $d572 - ld hl, $7552 + ld hl, Data_1f552 ld b, $6 ld c, $40 asm_1f518: ; 0x1f518 @@ -37493,7 +37570,11 @@ asm_1f518: ; 0x1f518 jr nz, asm_1f518 ret - dr $1f53a, $1f55e +Data_1f53a: + dr $1f53a, $1f552 + +Data_1f552: + dr $1f552, $1f55e Func_1f55e: ; 0x1f55e ld a, [$d604] @@ -37535,13 +37616,14 @@ Func_1f58b: ; 0x1f58b ld a, [$d5bd] ld e, a ld d, $0 - ld hl, $75ad + ld hl, Data_1f5ad add hl, de ld a, [hl] call LoadOAMData ret - dr $1f5ad, $20000 +Data_1f5ad: + dr $1f5ad, $1f5b9 SECTION "bank8", ROMX, BANK[$8] @@ -58271,11 +58353,11 @@ Data_e9100: dr $e9100, $ec000 ; 0xe8000 SECTION "bank3b", ROMX, BANK[$3b] - +Data_ec000: dr $ec000, $f0000 ; 0xec000 SECTION "bank3c", ROMX, BANK[$3c] - +Data_f0000: dr $f0000, $f2400 ; 0xf0000 TiltRightOnlyForce: ; 0xf2400 -- cgit v1.2.3 From a61698a37a176ac968bc242072f6467770279257 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 6 Dec 2016 08:52:34 -0500 Subject: WRAM labels --- main.asm | 7622 +++++++++++++++++++++++++++++++------------------------------- wram.asm | 2911 ++++++++++++++++++++---- 2 files changed, 6236 insertions(+), 4297 deletions(-) diff --git a/main.asm b/main.asm index b2ae67f..215f914 100755 --- a/main.asm +++ b/main.asm @@ -96,20 +96,20 @@ Start: ; 0x150 ld [MBC5RomBankOn], a ; Enable RAM Banking Mode ld a, $0 ld [MBC5SRamBank], a ; Load RAM Bank $0 - ld sp, $dfff ; Initialize stack pointer to the end of WRAM Bank $1 + ld sp, wdfff ; Initialize stack pointer to the end of WRAM Bank $1 ld hl, hPushOAM ld bc, $007e call ClearData ; Clear High RAM (HRAM) call WriteDMACodeToHRAM call ClearOAMBuffer xor a - ld [$d7fb], a - ld [$d7fc], a - ld [$d7fd], a + ld [wd7fb], a + ld [wd7fc], a + ld [wd7fd], a ld [$ffb0], a ld [$ffb1], a - ld [$d8e1], a - ld [$d7fe], a + ld [wd8e1], a + ld [wd7fe], a ld [$fffc], a ld hl, $ff9e xor a @@ -126,8 +126,8 @@ Start: ; 0x150 ld a, $a6 ld [hli], a ld a, $0 - ld [$d849], a - ld [$d84a], a + ld [wd849], a + ld [wd84a], a ld a, Bank(PlaySong_BankF) call SetSongBank call Func_23b @@ -143,16 +143,16 @@ Start: ; 0x150 and a jr z, .asm_222 ld a, $1 - ld [$d917], a + ld [wd917], a .asm_222 ld a, $1 ld [rIE], a ; Only enable LCD Status interrupt ei ld a, $ff - ld [$d810], a + ld [wd810], a call Func_97a xor a - ld [$daa3], a + ld [wdaa3], a ld a, BANK(Func_1ffc) ld hl, Func_1ffc call BankSwitchSimple @@ -226,7 +226,7 @@ VBlank: ; 0x2f2 ld a, [$ffad] ld [$ffae], a call ReadJoypad - ld a, [$daa3] + ld a, [wdaa3] and a jr nz, .asm_359 ld a, [hJoypadState] @@ -240,7 +240,7 @@ VBlank: ; 0x2f2 inc hl ld [hl], $3 ld a, $1 - ld [$daa3], a + ld [wdaa3], a .asm_359 ld hl, $ffb2 ld a, [hl] @@ -252,23 +252,23 @@ VBlank: ; 0x2f2 .asm_365 ld hl, $ffb4 inc [hl] - ld a, [$d8e1] + ld a, [wd8e1] and a call nz, Func_167b - ld a, [$d849] + ld a, [wd849] and a jr nz, .asm_37d - ld a, [$d85d] + ld a, [wd85d] and a call nz, Func_504 .asm_37d - ld a, [$d84a] + ld a, [wd84a] and a jr z, .asm_39d xor a - ld [$d84a], a + ld [wd84a], a ld a, $1 - ld [$d849], a + ld [wd849], a ld a, $bc ld [rTMA], a ld a, $0 @@ -279,12 +279,12 @@ VBlank: ; 0x2f2 ld [rTAC], a .asm_39d ld hl, MBC5SRamBank - ld a, [$d917] + ld a, [wd917] and a jr nz, .asm_3b5 - ld a, [$d803] + ld a, [wd803] rrca - ld [$d803], a + ld [wd803], a and $1 jr z, .asm_3b5 set 3, [hl] @@ -293,7 +293,7 @@ VBlank: ; 0x2f2 .asm_3b5 res 3, [hl] .asm_3b7 - ld a, [$d4aa] + ld a, [wd4aa] and a call nz, Func_e69 pop hl @@ -345,19 +345,19 @@ Timer: ; 0x418 push bc push de push hl - ld a, [$d849] + ld a, [wd849] and a jr z, .asm_42a - ld a, [$d85d] + ld a, [wd85d] and a call nz, Func_504 .asm_42a - ld a, [$d84a] + ld a, [wd84a] and a jr z, .asm_440 xor a - ld [$d84a], a - ld [$d849], a + ld [wd84a], a + ld [wd849], a ld a, $0 ld [rTAC], a ld hl, rIE @@ -447,9 +447,9 @@ PlaySong: ; 0x490 ld [hLoadedROMBank], a ld [MBC5RomBank], a ld a, e - ld [$d7bf], a + ld [wd7bf], a ld a, [wCurrentSongBank] - ld [$d7c0], a + ld [wd7c0], a call PlaySong_BankF ; this function is replicated in multiple banks. pop af ld [hLoadedROMBank], a @@ -458,10 +458,10 @@ PlaySong: ; 0x490 PlaySoundEffect: ; 0x4af ; input: de = sound effect id? I think d specifies something special and e holds the id - ld a, [$dead] + ld a, [wdead] and a ret nz - ld a, [$d800] + ld a, [wd800] and a jr z, .asm_4bd ld a, d @@ -469,7 +469,7 @@ PlaySoundEffect: ; 0x4af ret z .asm_4bd ld a, d - ld [$d800], a + ld [wd800], a ld d, $0 ld a, [hLoadedROMBank] push af @@ -486,10 +486,10 @@ Func_4d8: ; 0x4d8 push bc push de push hl - ld a, [$ddcb] - ld hl, $ddfd + ld a, [wddcb] + ld hl, wddfd or [hl] - ld hl, $de2f + ld hl, wde2f or [hl] and $1 call z, PlaySoundEffect @@ -522,16 +522,16 @@ Func_504: ; 0x504 pop af ld [hLoadedROMBank], a ld [MBC5RomBank], a - ld a, [$d801] + ld a, [wd801] inc a - ld [$d801], a + ld [wd801], a and $3 ret nz - ld a, [$d800] + ld a, [wd800] and a ret z dec a - ld [$d800], a + ld [wd800], a ret SetSongBank: ; 0x52c @@ -626,7 +626,7 @@ Func_597: ; 0x597 inc de ld b, $8 .asm_5a0 - ld a, [$d80c] + ld a, [wd80c] call Func_5c2 dec b jr nz, .asm_5a0 @@ -636,9 +636,9 @@ Func_597: ; 0x597 inc de ld b, $4 .asm_5b2 - ld a, [$d80d] + ld a, [wd80d] call Func_5c2 - ld a, [$d80e] + ld a, [wd80e] call Func_5c2 dec b jr nz, .asm_5b2 @@ -1310,11 +1310,11 @@ ClearOAMBuffer: ; 0x916 dec b jr nz, .loop xor a - ld [$d802], a + ld [wd802], a ret Func_926: ; 0x926 - ld a, [$d802] + ld a, [wd802] cp $a0 jr nc, .asm_93a ld l, a @@ -1329,7 +1329,7 @@ Func_926: ; 0x926 jr nz, .asm_936 .asm_93a xor a - ld [$d802], a + ld [wd802], a ret Func_93f: ; 0x93f @@ -1362,7 +1362,7 @@ GenRandom: ; 0x959 push bc push de push hl - ld a, [$d811] + ld a, [wd811] ld c, a ld b, $0 inc a @@ -1372,8 +1372,8 @@ GenRandom: ; 0x959 xor a ld bc, $0000 .asm_96e - ld [$d811], a - ld hl, $d812 + ld [wd811], a + ld hl, wd812 add hl, bc ld a, [hl] pop hl @@ -1382,7 +1382,7 @@ GenRandom: ; 0x959 ret Func_97a: ; 0x97a - ld a, [$d810] + ld a, [wd810] ld d, a ld a, $0 ld a, [$afff] @@ -1393,8 +1393,8 @@ Func_97a: ; 0x97a jr .asm_983 .asm_989 - ld [$d80f], a - ld [$d848], a + ld [wd80f], a + ld [wd848], a ld e, $1 ld hl, Data_9c4 ; todo ld a, $36 @@ -1404,17 +1404,17 @@ Func_97a: ; 0x97a inc hl ld b, $0 push hl - ld hl, $d812 + ld hl, wd812 add hl, bc ld [hl], e - ld a, [$d80f] + ld a, [wd80f] sub e jr nc, .asm_9a8 add d .asm_9a8 ld e, a ld a, [hl] - ld [$d80f], a + ld [wd80f], a pop hl pop af dec a @@ -1431,10 +1431,10 @@ Data_9c4: dr $9c4, $9fa Func_9fa: ; 0x9fa - ld a, [$d810] + ld a, [wd810] ld d, a - ld bc, $d812 - ld hl, $d831 + ld bc, wd812 + ld hl, wd831 ld e, $18 .asm_a06 ld a, [bc] @@ -1445,8 +1445,8 @@ Func_9fa: ; 0x9fa ld [bc], a dec e jr nz, .asm_a06 - ld bc, $d82a - ld hl, $d812 + ld bc, wd82a + ld hl, wd812 ld e, $1f .asm_a17 ld a, [bc] @@ -1531,17 +1531,17 @@ ReadJoypad: ; 0xab8 jr nz, .asm_b1a ld a, [hJoypadState] ld [hPressedButtons], a - ld a, [$d807] + ld a, [wd807] ld [$ff9d], a jr .asm_b1a .asm_b15 - ld a, [$d806] + ld a, [wd806] ld [$ff9d], a .asm_b1a ld a, [hJoypadState] ld [hPreviousJoypadState], a - ld hl, $d808 + ld hl, wd808 ld a, [hJoypadState] or [hl] ld [hli], a @@ -1554,7 +1554,7 @@ ReadJoypad: ; 0xab8 ret Func_b2e: ; 0xb2e - ld hl, $d808 + ld hl, wd808 xor a ld [hli], a ld [hli], a @@ -1622,7 +1622,7 @@ Func_b66: ; 0xb66 .asm_b73 ld de, rBGPI - ld hl, $d200 ; todo + ld hl, wPaletteData ; todo ld b, $0 ld c, $20 .asm_b7d @@ -1679,7 +1679,7 @@ Func_bbe: ; 0xbbe and a jp nz, Func_c19 ld hl, $ffa3 - ld de, $d80c + ld de, wd80c ld b, $3 .asm_bcc ld a, [de] @@ -1696,7 +1696,7 @@ Func_bbe: ; 0xbbe ld bc, $0002 call Func_93f ld hl, $ffa3 - ld de, $d80c + ld de, wd80c ld b, $3 .asm_be9 ld a, [de] @@ -1710,7 +1710,7 @@ Func_bbe: ; 0xbbe ld bc, $0002 call Func_93f ld hl, $ffa3 - ld de, $d80c + ld de, wd80c ld b, $3 .asm_c02 ld a, [de] @@ -1733,8 +1733,8 @@ Func_c19: ; 0xc19 ld b, $10 .asm_c1b push bc - ld de, $d200 - ld hl, $d280 + ld de, wPaletteData + ld hl, wd280 call Func_c2d call Func_d61 pop bc @@ -1889,16 +1889,16 @@ Func_cb5: ; 0xcb5 ret Func_cee: ; 0xcee - ld hl, $d280 + ld hl, wd280 ld de, rBGPI call Func_d9d - ld hl, $d2c0 + ld hl, wd2c0 ld de, rOBPI call Func_d9d ld b, $10 .asm_d02 push bc - ld hl, $d280 + ld hl, wd280 call Func_d11 call Func_d61 pop bc @@ -1967,7 +1967,7 @@ Func_d61: ; 0d61 ld a, [rIE] res 0, a ld [rIE], a - ld hl, $d280 + ld hl, wd280 ld de, rBGPI ld a, $80 ld [de], a @@ -2173,9 +2173,9 @@ Func_e55: ; 0xe55 Func_e5d: ; 0xe5d ld a, $1 - ld [$d84a], a + ld [wd84a], a .asm_e62 - ld a, [$d84a] + ld a, [wd84a] and a jr nz, .asm_e62 ret @@ -2641,7 +2641,7 @@ Func_10c5: ; 0x10c5 jr nc, .asm_10cc .asm_10d2 pop af - ld hl, $d7fb + ld hl, wd7fb ld l, [hl] ld h, $cb inc bc @@ -2663,7 +2663,7 @@ Func_10c5: ; 0x10c5 ld [MBC5RomBank], a dec bc ld a, [bc] - ld hl, $d7fa + ld hl, wd7fa add [hl] cp $30 jr c, .asm_10fe @@ -2675,14 +2675,14 @@ Func_10c5: ; 0x10c5 pop af ld [hLoadedROMBank], a ld [MBC5RomBank], a - ld hl, $d7fb + ld hl, wd7fb ld l, [hl] ld h, $ca inc l ld [hl], $0 dec l ld [hl], e - ld hl, $d7fb + ld hl, wd7fb inc [hl] ld a, [rLCDC] bit 7, a @@ -2697,21 +2697,21 @@ Func_10c5: ; 0x10c5 ret Func_1129: ; 0x1129 - ld a, [$d7fb] - ld [$d7fc], a + ld a, [wd7fb] + ld [wd7fc], a ret Func_1130: ; 0x1130 push hl - ld a, [$d7fb] - ld hl, $d7fc + ld a, [wd7fb] + ld hl, wd7fc cp [hl] pop hl ret Func_113a: ; 0x113a - ld hl, $d7fc - ld a, [$d7fb] + ld hl, wd7fc + ld a, [wd7fb] cp [hl] ret z ld l, [hl] @@ -2747,12 +2747,12 @@ Func_113a: ; 0x113a .done ld a, l - ld [$d7fc], a - ld hl, $d7fb + ld [wd7fc], a + ld hl, wd7fb cp [hl] ret nz xor a - ld [$d7fa], a + ld [wd7fa], a ret Func_117a: ; 0x117a @@ -3072,23 +3072,23 @@ Func_14a4: ; 0x14a4 dr $14c4, $167b Func_167b: ; 0x167b - ld a, [$d8ad] + ld a, [wd8ad] cp $1 ret nz - ld a, [$d8c7] + ld a, [wd8c7] cp $ff ret z - ld a, [$d8db] + ld a, [wd8db] and a ret nz - ld hl, $d8e0 + ld hl, wd8e0 inc [hl] ld a, [hl] cp $6 ret c xor a ld [hl], a - ld [$d8e2], a + ld [wd8e2], a call Func_18ac ret @@ -3098,42 +3098,42 @@ Func_16a2: ; 0x16a2 xor a ld [rSB], a ld [rSC], a - ld [$d8ad], a + ld [wd8ad], a dec a - ld [$d8c7], a - ld [$d8c8], a + ld [wd8c7], a + ld [wd8c8], a call Func_16b5 ret Func_16b5: ; 0x16b5 xor a - ld [$d8c5], a - ld [$d8ca], a - ld [$d8db], a + ld [wd8c5], a + ld [wd8ca], a + ld [wd8db], a ; fall through Func_16bf: ; 0x16bf xor a - ld [$d8af], a - ld [$d8b0], a - ld [$d8b1], a - ld [$d8b2], a - ld [$d8c6], a - ld [$d8c3], a - ld [$d8c4], a - ld [$d8b9], a - ld [$d8ba], a - ld [$d8dc], a - ld [$d8e2], a + ld [wd8af], a + ld [wd8b0], a + ld [wd8b1], a + ld [wd8b2], a + ld [wd8c6], a + ld [wd8c3], a + ld [wd8c4], a + ld [wd8b9], a + ld [wd8ba], a + ld [wd8dc], a + ld [wd8e2], a ret Func_16e2: ; 0x16e2 - ld a, [$d8db] + ld a, [wd8db] and a jr z, .asm_16ec call Func_16fd ret nc .asm_16ec - ld a, [$d8ae] + ld a, [wd8ae] cp $1 jr nz, .asm_16f7 call Func_16fd @@ -3143,15 +3143,15 @@ Func_16e2: ; 0x16e2 jp Func_19e5 Func_16fd: ; 0x16fd - ld a, [$d8c5] + ld a, [wd8c5] cp $2 jr nz, .asm_173c xor a - ld [$d8e0], a - ld [$d8ae], a + ld [wd8e0], a + ld [wd8ae], a inc a - ld [$d8ad], a - ld a, [$d8c7] + ld [wd8ad], a + ld a, [wd8c7] cp $ff jr z, .asm_1735 bit 0, a @@ -3161,9 +3161,9 @@ Func_16fd: ; 0x16fd bit 4, a jr z, .asm_173a xor a - ld [$d8ad], a - ld [$d8ae], a - ld a, [$d8c7] + ld [wd8ad], a + ld [wd8ae], a + ld a, [wd8c7] jr .asm_173a .asm_172e @@ -3171,11 +3171,11 @@ Func_16fd: ; 0x16fd ret xor a - ld [$d8ae], a + ld [wd8ae], a dec a .asm_1735 inc a - ld [$d8ad], a + ld [wd8ad], a dec a .asm_173a and a @@ -3187,7 +3187,7 @@ Func_16fd: ; 0x16fd ret Func_1740: ; 0x1740 - ld a, [$d8ad] + ld a, [wd8ad] cp $1 jr z, .asm_1752 cp $2 @@ -3200,22 +3200,22 @@ Func_1740: ; 0x1740 ret .asm_1752 - ld a, [$d8e2] + ld a, [wd8e2] and a jr nz, .asm_174f - ld a, [$d8db] + ld a, [wd8db] and a jr z, .asm_1762 call Func_16fd ret nc .asm_1762 - ld a, [$d8ae] + ld a, [wd8ae] cp $2 jr nz, .asm_176d call Func_16fd ret nc .asm_176d - ld a, [$d8c7] + ld a, [wd8c7] cp $ff ret z call Func_1932 @@ -3223,11 +3223,11 @@ Func_1740: ; 0x1740 Func_1779: ; 0x1779 ld c, a - ld a, [$d8ad] + ld a, [wd8ad] and a - ld a, [$d8c7] + ld a, [wd8c7] ret z - ld a, [$d8ad] + ld a, [wd8ad] cp $1 jr z, .asm_1790 cp $3 @@ -3236,41 +3236,41 @@ Func_1779: ; 0x1779 ret .asm_1790 - ld a, [$d8db] + ld a, [wd8db] and a jr nz, .asm_17df ld a, c inc a - ld [$d8de], a + ld [wd8de], a ld a, l - ld [$d8c1], a + ld [wd8c1], a ld a, h - ld [$d8c2], a - ld a, [$d8c7] + ld [wd8c2], a + ld a, [wd8c7] cp $ff ret z - ld a, [$d8ab] - ld [$d8ac], a + ld a, [wd8ab] + ld [wd8ac], a and a jr z, .asm_17d6 - ld a, [$d8de] + ld a, [wd8de] dec a dec a push af ld c, a ld b, $0 push hl - ld hl, $d89d + ld hl, wd89d add hl, bc ld a, [hl] pop hl - ld [$d8ac], a + ld [wd8ac], a pop af add a ld c, a ld b, $0 push hl - ld hl, $d88b + ld hl, wd88b add hl, bc ld a, [hli] ld b, [hl] @@ -3285,12 +3285,12 @@ Func_1779: ; 0x1779 jp Func_19e5 .asm_17df - ld a, [$d8c5] + ld a, [wd8c5] cp $2 ld a, $f0 jp nz, .asm_1869 - ld hl, $d8de - ld a, [$d8c7] + ld hl, wd8de + ld a, [wd8c7] bit 4, a jp nz, .asm_1859 bit 1, a @@ -3298,75 +3298,75 @@ Func_1779: ; 0x1779 bit 0, a jp nz, .asm_1804 dec [hl] - ld a, [$d8c7] + ld a, [wd8c7] jr z, .asm_1860 .asm_1804 ld a, [hl] cp $1 jr z, .asm_186a ld bc, $0280 - ld a, [$d8ab] - ld [$d8ac], a + ld a, [wd8ab] + ld [wd8ac], a and a jr z, .asm_1836 - ld a, [$d8de] + ld a, [wd8de] dec a dec a push af ld c, a ld b, $0 push hl - ld hl, $d89d + ld hl, wd89d add hl, bc ld a, [hl] pop hl - ld [$d8ac], a + ld [wd8ac], a pop af add a ld c, a ld b, $0 push hl - ld hl, $d88b + ld hl, wd88b add hl, bc ld a, [hli] ld b, [hl] pop hl ld c, a .asm_1836 - ld a, [$d8c7] + ld a, [wd8c7] bit 1, a jp nz, .asm_184e - ld a, [$d8bf] + ld a, [wd8bf] add $80 - ld [$d8bf], a - ld a, [$d8c0] + ld [wd8bf], a + ld a, [wd8c0] adc $2 - ld [$d8c0], a + ld [wd8c0], a .asm_184e - ld a, [$d8bf] + ld a, [wd8bf] ld l, a - ld a, [$d8c0] + ld a, [wd8c0] ld h, a jp .asm_17d9 .asm_1859 push af ld a, $1 - ld [$d8dc], a + ld [wd8dc], a pop af .asm_1860 push af xor a - ld [$d8cc], a - ld [$d8db], a + ld [wd8cc], a + ld [wd8db], a pop af .asm_1869 ret .asm_186a - ld a, [$d8dd] + ld a, [wd8dd] and a - ld a, [$d8c7] + ld a, [wd8c7] jr z, .asm_1860 call Func_19d7 jp Func_19e5 @@ -3374,7 +3374,7 @@ Func_1779: ; 0x1779 dr $1879, $18ac Func_18ac: ; 0x18ac - ld a, [$d8ad] + ld a, [wd8ad] cp $1 jr z, .asm_18be cp $3 @@ -3386,36 +3386,36 @@ Func_18ac: ; 0x18ac ret .asm_18be - ld a, [$d8db] + ld a, [wd8db] and a jr z, .asm_18c8 call Func_16fd ret nc .asm_18c8 - ld a, [$d8c7] + ld a, [wd8c7] cp $ff ret z call Func_19ca jp Func_19e5 Func_18d4: ; 0x18d4 - ld [$d8cb], a + ld [wd8cb], a ld a, d - ld [$d8cc], a + ld [wd8cc], a ld a, l - ld [$d8bb], a - ld [$d8bd], a + ld [wd8bb], a + ld [wd8bd], a ld a, h - ld [$d8bc], a - ld [$d8be], a + ld [wd8bc], a + ld [wd8be], a ld a, c - ld [$d8b3], a - ld [$d8b5], a + ld [wd8b3], a + ld [wd8b5], a ld a, b - ld [$d8b4], a - ld [$d8b6], a + ld [wd8b4], a + ld [wd8b6], a xor a - ld [$d8c5], a + ld [wd8c5], a call Func_16bf ret @@ -3443,33 +3443,33 @@ Func_1925: ; 0x1925 Func_1932: ; 0x19332 ld a, $2 ld d, $0 - ld hl, $d8cd + ld hl, wd8cd ld bc, $000c call Func_18d4 ld hl, Data_1909 - ld de, $d8cd + ld de, wd8cd ld bc, $0004 call LocalCopyData ld de, $0006 - ld a, [$d8a8] - ld [$d8d1], a + ld a, [wd8a8] + ld [wd8d1], a call Func_1982 - ld a, [$d8a9] - ld [$d8d2], a + ld a, [wd8a9] + ld [wd8d2], a call Func_1982 - ld a, [$d8aa] - ld [$d8d3], a + ld a, [wd8aa] + ld [wd8d3], a call Func_1982 - ld a, [$d8a7] - ld [$d8d4], a + ld a, [wd8a7] + ld [wd8d4], a call Func_1982 ld a, e - ld [$d8d5], a + ld [wd8d5], a ld a, d - ld [$d8d6], a + ld [wd8d6], a xor a - ld [$d8d7], a - ld [$d8d8], a + ld [wd8d7], a + ld [wd8d8], a ret Func_1982: ; 0x1982 @@ -3482,28 +3482,28 @@ Func_1982: ; 0x1982 Func_1989: ; 0x1989 ld a, l - ld [$d8bf], a + ld [wd8bf], a ld a, h - ld [$d8c0], a + ld [wd8c0], a ld a, c - ld [$d8b7], a + ld [wd8b7], a ld a, b - ld [$d8b8], a + ld [wd8b8], a push bc ld a, $3 ld d, $1 - ld hl, $d8cd + ld hl, wd8cd ld bc, $0004 call Func_18d4 ld a, [$190d] - ld [$d8cd], a - ld a, [$d8ac] - ld [$d8ce], a + ld [wd8cd], a + ld a, [wd8ac] + ld [wd8ce], a pop bc ld a, c - ld [$d8cf], a + ld [wd8cf], a ld a, b - ld [$d8d0], a + ld [wd8d0], a ret dr $19bd, $19ca @@ -3526,12 +3526,12 @@ Func_19d7: ; 0x19d7 ret Func_19e5: ; 0x19e5 - ld a, [$d8ad] + ld a, [wd8ad] cp $1 jr z, .asm_19f8 and a jr nz, .asm_19f6 - ld a, [$d8cb] + ld a, [wd8cb] cp $1 jr z, .asm_1a02 .asm_19f6 @@ -3539,17 +3539,17 @@ Func_19e5: ; 0x19e5 ret .asm_19f8 - ld a, [$d8cb] + ld a, [wd8cb] cp $1 jr z, .asm_19f6 - ld [$d8ad], a + ld [wd8ad], a .asm_1a02 xor a - ld [$d8c5], a - ld [$d8ae], a + ld [wd8c5], a + ld [wd8ae], a ld a, $1 - ld [$d8b9], a - ld [$d8db], a + ld [wd8b9], a + ld [wd8db], a ld a, [$18ff] ld [rSB], a ld a, $1 @@ -3567,7 +3567,7 @@ Func_1a21: ; 0x1a21 call Func_1aa9 call Func_1b3d jr c, .asm_1a3f - ld a, [$d86c] + ld a, [wd86c] and a jr z, .asm_1a29 call Func_1b60 @@ -3579,12 +3579,12 @@ Func_1a21: ; 0x1a21 Func_1a43: ; 0x1a43 xor a - ld [$d86e], a + ld [wd86e], a call Func_1a59 call Func_1a89 jr c, .asm_1a54 ld a, $1 - ld [$d86e], a + ld [wd86e], a .asm_1a54 call Func_1ba7 ret @@ -3592,26 +3592,26 @@ Func_1a43: ; 0x1a43 ret ; unused instruction? Func_1a59: ; 0x1a59 - ld [$d86a], a + ld [wd86a], a ld a, h - ld [$d869], a + ld [wd869], a ld a, l - ld [$d868], a + ld [wd868], a ld a, $80 - ld [$d866], a + ld [wd866], a ld a, $c2 - ld [$d867], a + ld [wd867], a xor a - ld [$d86b], a - ld [$d86c], a - ld [$d86d], a + ld [wd86b], a + ld [wd86c], a + ld [wd86d], a call Func_16a2 ld hl, rIE set 3, [hl] xor a ld [$ffb1], a ld a, $1 - ld [$d8e1], a + ld [wd8e1], a ret Func_1a89: ; 0x1a89 @@ -3620,7 +3620,7 @@ Func_1a89: ; 0x1a89 jr z, .asm_1a9f cp $ff jp z, Func_1bb2 - ld a, [$d8c8] + ld a, [wd8c8] cp $81 jp nz, Func_1bb2 and a @@ -3634,9 +3634,9 @@ Func_1a89: ; 0x1a89 jr Func_1a89 Func_1aa9: ; 0x1aa9 - ld a, [$d866] + ld a, [wd866] ld l, a - ld a, [$d867] + ld a, [wd867] ld h, a ld de, wc000 ld b, $2 @@ -3656,16 +3656,16 @@ Func_1aa9: ; 0x1aa9 dec b jr nz, .asm_1ab6 ld a, l - ld [$d866], a + ld [wd866], a ld a, h - ld [$d867], a - ld a, [$d86b] + ld [wd867], a + ld a, [wd86b] inc a - ld [$d86b], a + ld [wd86b], a cp $9 jr nz, .asm_1ae1 ld a, $1 - ld [$d86c], a + ld [wd86c], a .asm_1ae1 ret @@ -3680,14 +3680,14 @@ Func_1ae2: ; 0x1ae2 ld a, c and $f0 ld c, a - ld a, [$d868] + ld a, [wd868] ld l, a - ld a, [$d869] + ld a, [wd869] ld h, a add hl, bc ld a, [hLoadedROMBank] push af - ld a, [$d86a] + ld a, [wd86a] ld [hLoadedROMBank], a ld [MBC5RomBank], a ld a, [hli] @@ -3746,8 +3746,8 @@ Func_1ae2: ; 0x1ae2 ret Func_1b3d: ; 0x1b3d - ld a, [$d86c] - ld [$d8dd], a + ld a, [wd86c] + ld [wd8dd], a ld hl, wc000 ld a, $1 call Func_1779 @@ -3767,9 +3767,9 @@ Func_1b3d: ; 0x1b3d Func_1b60: ; 0x1b60 ld a, $1 - ld [$d8a8], a + ld [wd8a8], a ld a, $13 - ld [$d8a9], a + ld [wd8a9], a call Func_1740 cp $ff jp z, Func_1bb2 @@ -3788,7 +3788,7 @@ Func_1b60: ; 0x1b60 jr Func_1b60 Func_1b88: ; 0x1b88 - ld a, [$d8c7] + ld a, [wd8c7] ld b, a cp $ff jr z, Func_1bb2 @@ -3811,13 +3811,13 @@ Func_1ba7: ; 0x1ba7 ld hl, rIE res 3, [hl] xor a - ld [$d8e1], a + ld [wd8e1], a and a ret Func_1bb2: ; 0x1bb2 ld hl, Data_1bcf - ld a, [$d8c7] + ld a, [wd8c7] cp $ff jr z, .asm_1bc6 ld b, $3 @@ -3829,7 +3829,7 @@ Func_1bb2: ; 0x1bb2 jr nz, .asm_1bbe .asm_1bc6 ld a, [hl] - ld [$d86d], a + ld [wd86d], a call Func_16a2 scf ret @@ -3841,7 +3841,7 @@ Func_1bd3: ; 0x1bd3 ld de, $0001 call PlaySoundEffect ld a, $5 - ld [$d86d], a + ld [wd86d], a call Func_16a2 scf ret @@ -3850,7 +3850,7 @@ Func_1be3: ; 0x1be3 ld a, $c0 ld [rRP], a ld a, $ff - ld [$d8ea], a + ld [wd8ea], a xor a ld b, a .asm_1bee @@ -3858,7 +3858,7 @@ Func_1be3: ; 0x1be3 jr nz, .asm_1bee inc b jr nz, .asm_1bee - ld hl, $d8eb + ld hl, wd8eb ld a, [rKEY1] bit 7, a jr z, .asm_1c0c @@ -3921,7 +3921,7 @@ Func_1c32: ; 0x1c32 Func_1c50: ; 0x1c50 ld a, $1 - ld [$d8e9], a + ld [wd8e9], a ld b, $1a ld c, $56 ld d, $0 @@ -3948,7 +3948,7 @@ Func_1c50: ; 0x1c50 cp $2a jp nc, Func_1dc2 ld a, $0 - ld [$d8ea], a + ld [wd8ea], a ld d, b call Func_1c32 ld d, b @@ -3963,7 +3963,7 @@ Func_1c50: ; 0x1c50 Func_1ca1: ; 0x1ca1 ld a, $2 - ld [$d8e9], a + ld [wd8e9], a ld b, $1a ld c, $56 ld d, b @@ -4000,18 +4000,18 @@ Func_1ca1: ; 0x1ca1 ld d, $1a call Func_1c32 ld a, $0 - ld [$d8ea], a + ld [wd8ea], a ret dr $1cef, $1cf8 Func_1cf8: ; 0x1cf8 xor a - ld [$d8e4], a - ld [$d8e5], a + ld [wd8e4], a + ld [wd8e5], a push hl push bc - ld hl, $d8e6 + ld hl, wd8e6 ld a, $5a ld [hli], a ld [hl], b @@ -4024,24 +4024,24 @@ Func_1cf8: ; 0x1cf8 pop hl call Func_1ed3 call Func_1d44 - ld a, [$d8e4] - ld [$d8e6], a - ld a, [$d8e5] - ld [$d8e7], a - ld hl, $d8e6 + ld a, [wd8e4] + ld [wd8e6], a + ld a, [wd8e5] + ld [wd8e7], a + ld hl, wd8e6 ld b, $2 call Func_1d44 - ld hl, $d8ea + ld hl, wd8ea ld b, $1 call Func_1e3b - ld a, [$d8e6] - ld [$d8e4], a - ld a, [$d8e7] - ld [$d8e5], a + ld a, [wd8e6] + ld [wd8e4], a + ld a, [wd8e7] + ld [wd8e5], a ret Func_1d44: ; 0x1d44 - ld a, [$d8ea] + ld a, [wd8ea] cp $0 ret nz ld c, $56 @@ -4056,16 +4056,16 @@ Func_1d44: ; 0x1d44 inc b jr z, .asm_1dae ld a, $8 - ld [$d8e3], a + ld [wd8e3], a ld a, [hli] ld e, a - ld a, [$d8e4] + ld a, [wd8e4] add e - ld [$d8e4], a + ld [wd8e4], a jr nc, .asm_1d75 - ld a, [$d8e5] + ld a, [wd8e5] inc a - ld [$d8e5], a + ld [wd8e5], a jr .asm_1d78 .asm_1d75 @@ -4075,25 +4075,25 @@ Func_1d44: ; 0x1d44 rlca ld e, a jr nc, .asm_1d8d - ld a, [$d8eb] + ld a, [wd8eb] ld d, a call Func_1c2b - ld a, [$d8ec] + ld a, [wd8ec] ld d, a call Func_1c32 jr .asm_1d9b .asm_1d8d - ld a, [$d8ed] + ld a, [wd8ed] ld d, a call Func_1c2b - ld a, [$d8ee] + ld a, [wd8ee] ld d, a call Func_1c32 .asm_1d9b - ld a, [$d8e3] + ld a, [wd8e3] dec a - ld [$d8e3], a + ld [wd8e3], a jr z, .asm_1dac call Func_1ed4 call Func_1ed4 @@ -4114,43 +4114,43 @@ Func_1d44: ; 0x1d44 Func_1dc2: ; 0x1dc2 ld a, $2 - ld [$d8ea], a + ld [wd8ea], a ret dr $1dc8, $1dd1 Func_1dd1: ; 0x1dd1 - ld a, [$d8ea] + ld a, [wd8ea] or $4 - ld [$d8ea], a + ld [wd8ea], a ret Func_1dda: ; 0x1dda xor a - ld [$d8e4], a - ld [$d8e5], a + ld [wd8e4], a + ld [wd8e5], a push hl - ld hl, $d8e6 + ld hl, wd8e6 ld b, $2 call Func_1e3b - ld a, [$d8e7] - ld [$d8e8], a + ld a, [wd8e7] + ld [wd8e8], a ld b, a pop hl - ld a, [$d8e6] + ld a, [wd8e6] cp $5a jp nz, Func_1dd1 call Func_1e3b - ld a, [$d8e4] + ld a, [wd8e4] ld d, a - ld a, [$d8e5] + ld a, [wd8e5] ld e, a push de - ld hl, $d8e6 + ld hl, wd8e6 ld b, $2 call Func_1e3b pop de - ld hl, $d8e6 + ld hl, wd8e6 ld a, [hli] xor d ld b, a @@ -4158,26 +4158,26 @@ Func_1dda: ; 0x1dda xor e or b jr z, .asm_1e22 - ld a, [$d8ea] + ld a, [wd8ea] or $1 - ld [$d8ea], a + ld [wd8ea], a .asm_1e22 push de - ld hl, $d8ea + ld hl, wd8ea ld b, $1 call Func_1d44 pop de ld a, d - ld [$d8e4], a + ld [wd8e4], a ld a, e - ld [$d8e5], a - ld a, [$d8e8] + ld [wd8e5], a + ld a, [wd8e8] cp $82 ret z ret Func_1e3b: ; 0x1e3b - ld a, [$d8ea] + ld a, [wd8ea] cp $0 ret nz ld c, $56 @@ -4207,12 +4207,12 @@ Func_1e3b: ; 0x1e3b inc b jr z, .asm_1eb9 ld a, $8 - ld [$d8e3], a + ld [wd8e3], a .asm_1e74 ld d, $0 call Func_1c1b call Func_1c23 - ld a, [$d8ef] + ld a, [wd8ef] cp d jr nc, .asm_1e88 ld a, e @@ -4225,9 +4225,9 @@ Func_1e3b: ; 0x1e3b res 0, a ld e, a .asm_1e8c - ld a, [$d8e3] + ld a, [wd8e3] dec a - ld [$d8e3], a + ld [wd8e3], a jr z, .asm_1ea0 ld a, e rlca @@ -4239,13 +4239,13 @@ Func_1e3b: ; 0x1e3b .asm_1ea0 ld a, e ld [hli], a - ld a, [$d8e4] + ld a, [wd8e4] add e - ld [$d8e4], a + ld [wd8e4], a jr nc, .asm_1eb4 - ld a, [$d8e5] + ld a, [wd8e5] inc a - ld [$d8e5], a + ld [wd8e5], a jr .asm_1eb7 .asm_1eb4 @@ -4317,7 +4317,7 @@ asm_1f3b: ; 0x1f3b ld e, a ld a, [hl] ld d, a ; de points to OAM data - ld a, [$d802] + ld a, [wd802] ld l, a ld h, (wOAMBuffer >> 8) .loadOAMDataLoop @@ -4341,7 +4341,7 @@ asm_1f3b: ; 0x1f3b .doneReadingOAMData ld a, l - ld [$d802], a + ld [wd802], a pop af ld [hLoadedROMBank], a ld [MBC5RomBank], a @@ -4354,17 +4354,17 @@ asm_1f3b: ; 0x1f3b Func_1ffc: ; 0x1ffc ld a, $b - ld [$d806], a + ld [wd806], a ld a, $4 - ld [$d807], a + ld [wd807], a ld [$ff8a], a callba Func_3c000 ld a, $1 - ld [$d85d], a + ld [wd85d], a ld a, $37 - ld [$d470], a - ld [$d471], a - ld [$d472], a + ld [wd470], a + ld [wd471], a + ld [wd472], a ld a, SCREEN_ERASE_ALL_DATA ld [wCurrentScreen], a .asm_2025 @@ -4376,15 +4376,15 @@ Func_1ffc: ; 0x1ffc jr .asm_2025 Func_2034: ; 0x2034 - ld a, [$d804] + ld a, [wd804] and a jr z, .asm_203f dec a - ld [$d804], a + ld [wd804], a ret .asm_203f - ld [$d803], a + ld [wd803], a ret Func_2043: ; 0x2043 @@ -4635,7 +4635,7 @@ Func_2149: ; 0x2149 ApplyGravityToBall: ; 0x2168 ; Adds a constant to the pinball's y velocity. - ld a, [$d549] + ld a, [wd549] and a ret z ld de, $000b ; gravity added to y velocity every frame @@ -4775,7 +4775,7 @@ Func_21e7: ; 0x21e7 Func_222b: ; 0x222b push hl - ld hl, $d7f8 + ld hl, wd7f8 ld [hl], $ff bit 7, d jr nz, .asm_2297 @@ -4784,9 +4784,9 @@ Func_222b: ; 0x222b cp $3 jr c, .asm_2254 ld a, $ff - ld [$d803], a + ld [wd803], a ld a, $1 - ld [$d804], a + ld [wd804], a ld a, [wFlipperCollision] and a jr nz, .asm_2254 @@ -4803,7 +4803,7 @@ Func_222b: ; 0x222b ld l, e srl d rr e - ld a, [$d7eb] + ld a, [wd7eb] and a jr z, .asm_226c .asm_2268 @@ -4907,9 +4907,9 @@ Func_22b5: ; 0x22b5 ld b, $0 add hl, bc ld a, l - ld [$d7f3], a + ld [wd7f3], a ld a, h - ld [$d7f4], a + ld [wd7f4], a ld a, [wStageCollisionMapPointer] ld c, a ld a, [wStageCollisionMapPointer + 1] @@ -5000,7 +5000,7 @@ Func_22b5: ; 0x22b5 ld a, [de] inc de ld c, a - ld hl, $d7c9 + ld hl, wd7c9 add hl, bc pop af ld [hl], a @@ -5010,8 +5010,8 @@ Func_22b5: ; 0x22b5 pop af ld [hLoadedROMBank], a ld [MBC5RomBank], a - ld hl, $d7c9 - ld de, $d7d9 + ld hl, wd7c9 + ld de, wd7d9 ld b, $4 .asm_239a ld a, [hli] @@ -5028,7 +5028,7 @@ Func_22b5: ; 0x22b5 inc de dec b jr nz, .asm_239a - ld hl, $d7c9 + ld hl, wd7c9 ld de, $0000 ld b, $0 ld a, [hl] @@ -5085,7 +5085,7 @@ Func_22b5: ; 0x22b5 jr c, .asm_23c1 .asm_23ee ld a, e - ld [$d7e9], a + ld [wd7e9], a and a ret z ld a, [hLoadedROMBank] @@ -5099,7 +5099,7 @@ Func_22b5: ; 0x22b5 ld hl, Data_8817 add hl, de ld a, [hl] - ld [$d7ea], a + ld [wd7ea], a sla e rl d ld hl, Data_8917 @@ -5161,15 +5161,15 @@ Func_22b5: ; 0x22b5 ld hl, wUpperLeftCollisionAttribute add hl, bc ld a, [hl] - ld [$d7f5], a + ld [wd7f5], a ld hl, Data_250a ; todo add hl, bc - ld a, [$d7f3] + ld a, [wd7f3] add [hl] - ld [$d7f6], a - ld a, [$d7f4] + ld [wd7f6], a + ld a, [wd7f4] adc $0 - ld [$d7f7], a + ld [wd7f7], a ret Func_248a: ; 0x248a @@ -5206,11 +5206,11 @@ Func_248a: ; 0x248a jr nc, .asm_24e0 bit 4, b ld hl, Data_3800 - ld a, [$d7af] + ld a, [wd7af] jr z, .asm_24c8 res 4, b ld hl, Data_3980 - ld a, [$d7b3] + ld a, [wd7b3] .asm_24c8 ld de, $0080 cp $7 @@ -5232,11 +5232,11 @@ Func_248a: ; 0x248a .asm_24e0 bit 4, b ld hl, Data_3b00 - ld a, [$d7af] + ld a, [wd7af] jr z, .asm_24f2 res 4, b ld hl, Data_3c80 - ld a, [$d7b3] + ld a, [wd7b3] .asm_24f2 ld de, $0080 cp $7 @@ -5420,10 +5420,10 @@ Data_26be: Func_2720: ; 0x2720 ld a, $ff - ld [$d4ea], a + ld [wd4ea], a call Func_272f - ld a, [$d4ea] - ld [$d4ec], a + ld a, [wd4ea] + ld [wd4ec], a ret Func_272f: ; 0x272f @@ -5494,7 +5494,7 @@ CallTable_2735: ; 0x2735 db Bank(Func_25bbc), $00 Func_2775: ; 0x2775 - ld a, [$d4ea] + ld a, [wd4ea] inc a jr nz, .asm_27a2 ld a, [bc] @@ -5505,17 +5505,17 @@ Func_2775: ; 0x2775 call nc, Func_27da pop hl call c, Func_27a4 - ld a, [$d4ea] + ld a, [wd4ea] ld b, a pop hl ld [hl], $0 jr nc, .asm_27a2 - ld a, [$d4ec] + ld a, [wd4ec] cp b jr z, .asm_27a2 - ld a, [$d4eb] + ld a, [wd4eb] ld [hli], a - ld a, [$d4ea] + ld a, [wd4ea] ld [hl], a scf ret @@ -5526,7 +5526,7 @@ Func_2775: ; 0x2775 Func_27a4: ; 0x27a4 xor a - ld [$d4eb], a + ld [wd4eb], a ld a, [hli] ld d, a ld a, [hli] @@ -5536,11 +5536,11 @@ Func_27a4: ; 0x27a4 ld a, [wBallYPos + 1] ld c, a .asm_27b4 - ld a, [$d4eb] + ld a, [wd4eb] inc a - ld [$d4eb], a + ld [wd4eb], a ld a, [hli] - ld [$d4ea], a + ld [wd4ea], a cp $ff ret z ld a, [hli] @@ -5576,10 +5576,10 @@ Func_27da: ; 0x27da ld c, [hl] add hl, bc .asm_27e8 - ld a, [$d7e9] + ld a, [wd7e9] and a ret z - ld a, [$d7f5] + ld a, [wd7f5] ld b, a ld c, $ff .asm_27f3 @@ -5596,7 +5596,7 @@ PinballCollideWithPoints: ; 0x27fd ; Checks if pinball collides with any of the (x, y) points in the given list. ; Saves the index of the collided point. ; Input: hl = pointer to array of (x, y) points -; Output: Saves index of collided point in $d578 +; Output: Saves index of collided point in wd578 ld a, [wBallXPos + 1] ld b, a ld a, [wBallYPos + 1] @@ -5616,7 +5616,7 @@ PinballCollideWithPoints: ; 0x27fd cp $e8 jr c, .nextPoint ld a, d - ld [$d578], a + ld [wd578], a ret Func_281c: ; 0x281c @@ -5687,7 +5687,7 @@ CallTable_2822: ; 0x2822 db Bank(Func_25c5a), $00 Func_2862: ; 0x2862 - ld a, [$d7be] + ld a, [wd7be] and a jr nz, .asm_287c ld a, [hGameBoyColorFlag] @@ -5778,8 +5778,8 @@ Func_30db: ; 0x30db ld a, $86 ld [$ffa6], a ld a, $1 - ld [$d5ca], a - ld [$d5cb], a + ld [wd5ca], a + ld [wd5cb], a ret Func_30e8: ; 0x30e8 @@ -5794,12 +5794,12 @@ Func_30e8: ; 0x30e8 dec b jr nz, .asm_30ef xor a - ld [$d5cc], a - ld [$d5d4], a - ld [$d5dc], a - ld [$d5e4], a - ld [$d5e9], a - ld [$d5ee], a + ld [wd5cc], a + ld [wd5d4], a + ld [wd5dc], a + ld [wd5e4], a + ld [wd5e9], a + ld [wd5ee], a ret Func_310a: ; 0x310a @@ -5831,7 +5831,7 @@ Func_3125: ; 0x3125 Func_3129: ; 0x3129 ld b, $0 asm_312b: ; 0x312b - ld a, [$d805] + ld a, [wd805] and a jp nz, Func_3268 .asm_3132 @@ -6324,64 +6324,64 @@ Func_33c3: ; 0x33c3 ret Func_33e3: ; 0x33e3 - ld a, [$d5ca] + ld a, [wd5ca] and a jr nz, .asm_33ed - ld [$d5cb], a + ld [wd5cb], a ret .asm_33ed ld c, $0 - ld a, [$d5cc] + ld a, [wd5cc] and a jr z, .asm_33fe push bc - ld hl, $d5cc + ld hl, wd5cc call Func_3325 pop bc inc c .asm_33fe - ld a, [$d5d4] + ld a, [wd5d4] and a jr z, .asm_340d push bc - ld hl, $d5d4 + ld hl, wd5d4 call Func_3325 pop bc inc c .asm_340d - ld a, [$d5dc] + ld a, [wd5dc] and a jr z, .asm_341c push bc - ld hl, $d5dc + ld hl, wd5dc call Func_3325 pop bc inc c .asm_341c - ld a, [$d5e4] + ld a, [wd5e4] and a jr z, .asm_342b push bc - ld hl, $d5e4 + ld hl, wd5e4 call Func_33c3 pop bc inc c .asm_342b - ld a, [$d5e9] + ld a, [wd5e9] and a jr z, .asm_343a push bc - ld hl, $d5e9 + ld hl, wd5e9 call Func_33c3 pop bc inc c .asm_343a - ld a, [$d5ee] + ld a, [wd5ee] and a jr z, .asm_3449 push bc - ld hl, $d5ee + ld hl, wd5ee call Func_33c3 pop bc inc c @@ -6389,7 +6389,7 @@ Func_33e3: ; 0x33e3 ld a, c and a ret nz - ld [$d5ca], a + ld [wd5ca], a call Func_30e8 ld a, [hGameBoyColorFlag] and a @@ -6426,7 +6426,7 @@ Func_3475: ; 0x3475 call Func_33e3 call Func_926 rst AdvanceFrame - ld a, [$d5ca] + ld a, [wd5ca] and a jr nz, Func_3475 ret @@ -6463,7 +6463,7 @@ OneHundredPoints: ; 34fa dx 6, $000000000100 Func_3500: - ld hl, $d464 + ld hl, wd464 ld a, e ld [hli], a ld a, d @@ -6475,13 +6475,13 @@ Func_3500: xor a ld [hli], a ld [hl], a - ld bc, $d464 + ld bc, wd464 ldh [$ff8a], a callba AddBCDScore ret Func_351c: ; 0x351c - ld hl, $d464 + ld hl, wd464 ld a, e ld [hli], a ld a, d @@ -6493,13 +6493,13 @@ Func_351c: ; 0x351c xor a ld [hli], a ld [hl], a - ld bc, $d464 + ld bc, wd464 ld [$ff8a], a callba Func_8588 ret Func_3538: ; 0x3538 - ld hl, $d47a + ld hl, wd47a ld a, [hl] add e daa @@ -6517,7 +6517,7 @@ Func_3538: ; 0x3538 daa ld [hli], a ret nc - ld hl, $d47a + ld hl, wd47a ld a, $99 ld [hli], a ld [hli], a @@ -6526,20 +6526,20 @@ Func_3538: ; 0x3538 ret Func_3556: ; 0x3556 - ld a, [$d47a] + ld a, [wd47a] ld e, a - ld a, [$d47b] + ld a, [wd47b] ld d, a - ld a, [$d47c] + ld a, [wd47c] ld c, a - ld a, [$d47d] + ld a, [wd47d] ld b, a ret dr $3567, $3579 Func_3579: ; 0x3579 - ld hl, $d47a + ld hl, wd47a xor a ld [hli], a ld [hli], a @@ -6570,17 +6570,17 @@ HandleLeftTilt: ; 0x358c ld de, $003f call PlaySoundEffect .skipSoundEffect - ld a, [$d548] - ld hl, $d549 + ld a, [wd548] + ld hl, wd549 and [hl] jr z, .skipBallMovement ld a, [wBallXPos + 1] dec a ; move ball's position to the left by 1 pixel ld [wBallXPos + 1], a .skipBallMovement - ld a, [$d79f] + ld a, [wd79f] inc a - ld [$d79f], a + ld [wd79f], a ld a, $1 ld [wLeftTiltPushing], a ret @@ -6596,9 +6596,9 @@ HandleLeftTilt: ; 0x358c jr z, .done dec a ld [wLeftTiltCounter], a - ld a, [$d79f] + ld a, [wd79f] dec a - ld [$d79f], a + ld [wd79f], a ret .done @@ -6626,17 +6626,17 @@ HandleRightTilt: ; 0x35f3 ld de, $003f call PlaySoundEffect .skipSoundEffect - ld a, [$d548] - ld hl, $d549 + ld a, [wd548] + ld hl, wd549 and [hl] jr z, .skipBallMovement ld a, [wBallXPos + 1] inc a ; move ball's position to the right by 1 pixel ld [wBallXPos + 1], a .skipBallMovement - ld a, [$d79f] + ld a, [wd79f] dec a - ld [$d79f], a + ld [wd79f], a ld a, $1 ld [wRightTiltPushing], a ret @@ -6652,9 +6652,9 @@ HandleRightTilt: ; 0x35f3 jr z, .done dec a ld [wRightTiltCounter], a - ld a, [$d79f] + ld a, [wd79f] inc a - ld [$d79f], a + ld [wd79f], a ret .done @@ -6682,17 +6682,17 @@ HandleUpperTilt: ; 0x365a ld de, $003f call PlaySoundEffect .skipSoundEffect - ld a, [$d548] - ld hl, $d549 + ld a, [wd548] + ld hl, wd549 and [hl] jr z, .skipBallMovement ld a, [wBallYPos + 1] inc a ; move ball's position down by 1 pixel ld [wBallYPos + 1], a .skipBallMovement - ld a, [$d7a0] + ld a, [wd7a0] dec a - ld [$d7a0], a + ld [wd7a0], a ld a, $1 ld [wUpperTiltPushing], a ret @@ -6708,9 +6708,9 @@ HandleUpperTilt: ; 0x365a jr z, .done dec a ld [wUpperTiltCounter], a - ld a, [$d7a0] + ld a, [wd7a0] inc a - ld [$d7a0], a + ld [wd7a0], a ret .done @@ -6722,8 +6722,8 @@ HandleUpperTilt: ; 0x365a ret ApplyTiltForces: ; 0x36c1 - ld a, [$d548] - ld hl, $d549 + ld a, [wd548] + ld hl, wd549 and [hl] ret z ld c, $0 @@ -6745,7 +6745,7 @@ ApplyTiltForces: ; 0x36c1 ld l, a bit 7, h ret nz - ld a, [$d7ea] + ld a, [wd7ea] ld c, a ld b, $0 sla c @@ -10291,9 +10291,9 @@ Func_800a: ; 0x800a ld a, $45 ld [$ff9e], a ld a, $e4 - ld [$d80c], a - ld [$d80d], a - ld [$d80e], a + ld [wd80c], a + ld [wd80d], a + ld [wd80e], a xor a ld [hBoardXShift], a ld [hBoardYShift], a @@ -10529,10 +10529,10 @@ CheckForResetButtonCombo: ; 0x8167 ld a, $41 ld [$ff9e], a ld a, $e4 - ld [$d80c], a + ld [wd80c], a xor a - ld [$d80d], a - ld [$d80e], a + ld [wd80d], a + ld [wd80e], a ld [hBoardXShift], a ld [hBoardYShift], a ld a, [hGameBoyColorFlag] @@ -10637,10 +10637,10 @@ FadeInCopyrightScreen: ; 0x8228 ld a, $41 ld [$ff9e], a ld a, $e4 - ld [$d80c], a + ld [wd80c], a xor a - ld [$d80d], a - ld [$d80e], a + ld [wd80d], a + ld [wd80e], a ld [hBoardXShift], a ld [hBoardYShift], a ld a, [hGameBoyColorFlag] @@ -10726,7 +10726,7 @@ FadeOutCopyrightScreenAndLoadData: ; 0x82a8 call Func_f0c jr c, .asm_8308 xor a - ld [$d7c2], a ; if this is non-zero, the main menu will prompt for "continue or new game?". + ld [wd7c2], a ; if this is non-zero, the main menu will prompt for "continue or new game?". .asm_8308 ld hl, wCurrentScreen inc [hl] @@ -10740,7 +10740,7 @@ InitializeStage: ; 0x8311 call ClearData ld a, $1 ld [rVBK], a - ld a, [$d805] + ld a, [wd805] and a jr nz, .asm_8331 ld hl, vBGMap1 @@ -10824,7 +10824,7 @@ CallTable_8348: ; 0x8348 db Bank(InitSeelBonusStage), $00 Func_8388: ; 0x8388 - ld a, [$d7c1] + ld a, [wd7c1] and a jr z, .asm_8398 ld hl, wSubTileBallXPos @@ -10839,16 +10839,16 @@ Func_8388: ; 0x8388 ld hl, wPartyMons ld bc, $0170 call ClearData - ld hl, $d473 ; todo + ld hl, wd473 ; todo ld bc, $0039 call ClearData - ld hl, $d4ad + ld hl, wd4ad ld bc, $034d call ClearData ret StartBallForStage: ; 0x83ba - ld a, [$d7c1] + ld a, [wd7c1] and a jr z, .asm_83c7 call Func_8444 @@ -10861,21 +10861,21 @@ StartBallForStage: ; 0x83ba ld [wBallXVelocity + 1], a ld [wBallYVelocity], a ld [wBallYVelocity + 1], a - ld [$d7ae], a - ld [$d7af], a - ld [$d7b2], a - ld [$d7b3], a - ld [$d7b0], a - ld [$d7b1], a - ld [$d7b4], a - ld [$d7b5], a + ld [wd7ae], a + ld [wd7af], a + ld [wd7b2], a + ld [wd7b3], a + ld [wd7b0], a + ld [wd7b1], a + ld [wd7b4], a + ld [wd7b5], a ld [wBallSpin], a ld [wBallRotation], a inc a - ld [$d548], a - ld [$d549], a + ld [wd548], a + ld [wd549], a ld a, $20 - ld [$d7ab], a + ld [wd7ab], a ld a, [wCurrentStage] call CallInFollowingTable CallTable_8404: ; 0x8404 @@ -10948,7 +10948,7 @@ Func_8444: ; 0x8444 ld a, [wSpecialMode] and a jr nz, .asm_8460 - ld a, [$d5bb] + ld a, [wd5bb] and a jr z, .asm_8460 ld [$ff8a], a @@ -10957,9 +10957,9 @@ Func_8444: ; 0x8444 ret Func_8461: ; 0x8461 - ld a, [$d7c0] + ld a, [wd7c0] call SetSongBank - ld a, [$d7bf] + ld a, [wd7bf] ld e, a ld d, $0 call PlaySong @@ -11100,7 +11100,7 @@ PointerTable_84bd: ; 0x84bd dr $84fd, $8524 Func_8524: ; 0x8524 - ld hl, $d46f + ld hl, wd46f ld bc, $0c01 .asm_852a ld a, [hl] @@ -11153,7 +11153,7 @@ Func_8543: ; 0x8543 AddBCDScore: ; 0x8576 ld h, b ld l, c - ld a, [$d477] + ld a, [wd477] ld e, a ld d, $d4 ld a, [wBallType] @@ -11167,7 +11167,7 @@ AddBCDScore: ; 0x8576 Func_8588: ; 0x8588 ld h, b ld l, c - ld a, [$d477] + ld a, [wd477] ld e, a ld d, $d4 ld b, $1 @@ -11218,21 +11218,21 @@ asm_8592: dec b jr nz, asm_8592 ld a, e - ld [$d477], a + ld [wd477], a ret Func_85c7: ; 0x85c7 ld a, [$ffb3] and $3 ret nz - ld a, [$d478] + ld a, [wd478] ld l, a ld h, $d4 ld de, wScore - ld a, [$d477] + ld a, [wd477] cp l jr nz, .asm_85de - ld [$d479], a + ld [wd479], a .asm_85de push hl ld a, [hli] @@ -11247,8 +11247,8 @@ Func_85c7: ; 0x85c7 or [hl] pop hl jr nz, .asm_85f3 - ld a, [$d479] - ld [$d478], a + ld a, [wd479] + ld [wd478], a ret .asm_85f3 @@ -11301,9 +11301,9 @@ Func_85c7: ; 0x85c7 ld l, $0 .asm_862d ld a, l - ld [$d478], a + ld [wd478], a ld a, $1 - ld [$d49f], a + ld [wd49f], a ret SetMaxScore: ; 0x8637 @@ -11321,7 +11321,7 @@ SetMaxScore: ; 0x8637 Func_8645: ; 0x8645 xor a - ld [$d49f], a + ld [wd49f], a ld de, wcBottomMessageText + $147 call Func_8524 ret @@ -11368,18 +11368,18 @@ StartTimer: ; 0x867d ld [wTimerMinutes], a xor a ld [wTimerFrames], a - ld [$d57e], a - ld [$d57f], a + ld [wd57e], a + ld [wd57f], a ld a, $1 - ld [$d57d], a + ld [wd57d], a ld a, $1 - ld [$d580], a + ld [wd580], a ld [$ff8a], a callba Func_1404a ret Func_86a4: ; 0x86a4 - ld a, [$d57f] + ld a, [wd57f] and a ret nz ld a, [wTimerFrames] @@ -11395,7 +11395,7 @@ Func_86a4: ; 0x86a4 or [hl] jr nz, .asm_86c3 ld a, $1 - ld [$d57e], a + ld [wd57e], a ret .asm_86c3 @@ -11414,18 +11414,18 @@ Func_86a4: ; 0x86a4 Func_86d2: ; 0x86d2 xor a - ld [$d57d], a + ld [wd57d], a ret HandleInGameMenu: ; 0x86d7 ; Routine responsible for the "SAVE"/"CANCEL" menu. - ld a, [$d917] + ld a, [wd917] push af ld a, $1 - ld [$d917], a + ld [wd917], a call Func_30e8 xor a - ld [$d4aa], a + ld [wd4aa], a ld hl, wcBottomMessageText ld a, $81 ld b, $30 @@ -11463,14 +11463,14 @@ HandleInGameMenu: ; 0x86d7 and a jr nz, .pickedCancel ld a, $1 - ld [$d7c2], a + ld [wd7c2], a ld hl, wPartyMons ld de, $a268 ld bc, $04c3 call SaveData xor a - ld [$d803], a - ld [$d804], a + ld [wd803], a + ld [wd804], a .pickedCancel ld bc, $003c call Func_93f @@ -11500,9 +11500,9 @@ HandleInGameMenu: ; 0x86d7 .asm_8786 call Func_30e8 pop af - ld [$d917], a + ld [wd917], a ld a, $1 - ld [$d4aa], a + ld [wd4aa], a ld a, [wInGameMenuIndex] and a ret @@ -12412,7 +12412,7 @@ Func_8d17: ; 0x8d17 rl b sla c rl b - ld hl, $c010 + ld hl, wc010 add hl, bc ld d, h ld e, l @@ -12436,9 +12436,9 @@ Func_8d17: ; 0x8d17 ld hl, Data_8df9 add hl, bc ld a, [hl] - ld [$d85e], a + ld [wd85e], a cpl - ld [$d85f], a + ld [wd85f], a ld a, c add $58 ld b, a @@ -12451,10 +12451,10 @@ Func_8d17: ; 0x8d17 ld c, a ld a, [bc] ld c, a - ld a, [$d85e] + ld a, [wd85e] and c ld c, a - ld a, [$d860] + ld a, [wd860] ld b, a ld a, [de] xor b @@ -12480,10 +12480,10 @@ Func_8d17: ; 0x8d17 ld c, a ld a, [bc] ld c, a - ld a, [$d85f] + ld a, [wd85f] and c ld c, a - ld a, [$d860] + ld a, [wd860] ld b, a ld a, [de] xor b @@ -12570,7 +12570,7 @@ Func_8e01: ; 0x8e01 ld b, a sla c rl b - ld hl, $c010 + ld hl, wc010 add hl, bc ld d, h ld e, l @@ -12594,9 +12594,9 @@ Func_8e01: ; 0x8e01 ld hl, Data_8ed8 add hl, bc ld a, [hl] - ld [$d85e], a + ld [wd85e], a cpl - ld [$d85f], a + ld [wd85f], a ld a, c add $58 ld b, a @@ -12609,10 +12609,10 @@ Func_8e01: ; 0x8e01 ld c, a ld a, [bc] ld c, a - ld a, [$d85e] + ld a, [wd85e] and c ld c, a - ld a, [$d860] + ld a, [wd860] ld b, a ld a, [de] xor b @@ -12638,10 +12638,10 @@ Func_8e01: ; 0x8e01 ld c, a ld a, [bc] ld c, a - ld a, [$d85f] + ld a, [wd85f] and c ld c, a - ld a, [$d860] + ld a, [wd860] ld b, a ld a, [de] xor b @@ -12727,11 +12727,11 @@ FadeInTitlescreen: ; 0xc00e ld a, $43 ld [$ff9e], a ld a, $e4 - ld [$d80c], a + ld [wd80c], a ld a, $d2 - ld [$d80d], a + ld [wd80d], a ld a, $e1 - ld [$d80e], a + ld [wd80e], a xor a ld [hBoardXShift], a ld [hBoardYShift], a @@ -12781,15 +12781,15 @@ TitlescreenLoop: ; 0xc089 and a jr nz, .asm_c0d3 ; player chose "Game Start" - ld a, [$d7c2] ; if this is non-zero, the main menu will prompt for "continue or new game?". + ld a, [wd7c2] ; if this is non-zero, the main menu will prompt for "continue or new game?". and a jr z, .noPreviouslySavedGame ld de, $0001 call PlaySoundEffect xor a - ld [$d910], a + ld [wd910], a ld a, $2 - ld [$d911], a + ld [wd911], a ld a, $1 ld [wTitleScreenGameStartCursorSelection], a ld hl, wScreenState @@ -12846,7 +12846,7 @@ HandleTitlescreenAnimations: ; 0xc0f7 Func_c10e: ; 0xc10e call Func_c1a2 call Func_c1b1 - ld a, [$d910] + ld a, [wd910] cp $6 ret nz ld a, [hNewlyPressedButtons] @@ -12864,7 +12864,7 @@ Func_c10e: ; 0xc10e jr z, .asm_c177 call Func_cb5 call Func_576 - ld a, [$d7c2] + ld a, [wd7c2] and a jr z, .asm_c173 ld hl, $a268 @@ -12873,13 +12873,13 @@ Func_c10e: ; 0xc10e call Func_f0c jr nc, .asm_c173 xor a - ld [$d7c2], a + ld [wd7c2], a ld hl, wPartyMons ld de, $a268 ld bc, $04c3 call SaveData ld a, $1 - ld [$d7c1], a + ld [wd7c1], a ld a, $4 ld [wCurrentScreen], a ld a, $0 @@ -12888,7 +12888,7 @@ Func_c10e: ; 0xc10e .asm_c173 xor a - ld [$d7c1], a + ld [wd7c1], a .asm_c177 ld hl, wScreenState inc [hl] @@ -12900,14 +12900,14 @@ Func_c10e: ; 0xc10e ld de, $0001 call PlaySoundEffect ld a, $8 - ld [$d910], a + ld [wd910], a ld a, $2 - ld [$d911], a + ld [wd911], a .asm_c18f call Func_926 rst AdvanceFrame call Func_c1b1 - ld a, [$d910] + ld a, [wd910] cp $e jr nz, .asm_c18f ld hl, wScreenState @@ -12915,7 +12915,7 @@ Func_c10e: ; 0xc10e ret Func_c1a2: ; 0xc1a2 - ld a, [$d910] + ld a, [wd910] cp $6 ret nz ld hl, wTitleScreenGameStartCursorSelection @@ -12962,7 +12962,7 @@ GoToHighScoresFromTitlescreen: ; 0xc1e7 ld a, $1 ld [wScreenState], a xor a - ld [$da7f], a + ld [wda7f], a ret Func_c1fc: ; 0xc1fc @@ -13119,7 +13119,7 @@ TitleScreenPokeballCoordOffsets: ; 0xc2d9 Func_c2df: ; 0xc2df ld bc, $4446 ; pixel offsets, not data - ld a, [$d910] + ld a, [wd910] cp $6 jr nz, .asm_c2f0 ld a, [wTitleScreenGameStartCursorSelection] @@ -13127,7 +13127,7 @@ Func_c2df: ; 0xc2df jr .asm_c2fd .asm_c2f0 - ld a, [$d910] + ld a, [wd910] sla a ld e, a ld d, $0 @@ -13136,10 +13136,10 @@ Func_c2df: ; 0xc2df ld a, [hl] .asm_c2fd call LoadOAMData - ld a, [$d911] + ld a, [wd911] dec a jr nz, .asm_c327 - ld a, [$d910] + ld a, [wd910] sla a ld c, a ld b, $0 @@ -13147,10 +13147,10 @@ Func_c2df: ; 0xc2df add hl, bc ld a, [hl] and a - ld a, [$d910] + ld a, [wd910] jr z, .asm_c31d inc a - ld [$d910], a + ld [wd910], a .asm_c31d sla a ld c, a @@ -13159,7 +13159,7 @@ Func_c2df: ; 0xc2df add hl, bc ld a, [hl] .asm_c327 - ld [$d911], a + ld [wd911], a ret Data_c32b: ; 0xc32b @@ -13195,10 +13195,10 @@ Func_c35a: ; 0xc35a ld a, $47 ld [$ff9e], a ld a, $e4 - ld [$d80c], a - ld [$d80d], a + ld [wd80c], a + ld [wd80d], a ld a, $d2 - ld [$d80e], a + ld [wd80e], a xor a ld [hBoardXShift], a ld [hBoardYShift], a @@ -13207,10 +13207,10 @@ Func_c35a: ; 0xc35a call LoadVideoData call ClearOAMBuffer ld a, $2 - ld [$d921], a - ld [$d91d], a + ld [wd921], a + ld [wd91d], a ld a, $9 - ld [$d91f], a + ld [wd91f], a call Func_c43a call Func_c948 call Func_b66 @@ -13265,7 +13265,7 @@ Func_c400: ; 0xc400 Func_c41a: ; 0xc41a ld a, [hPressedButtons] ld b, a - ld a, [$d916] + ld a, [wd916] bit 6, b jr z, .asm_c429 and a @@ -13280,7 +13280,7 @@ Func_c41a: ; 0xc41a ret z inc a .asm_c430 - ld [$d916], a + ld [wd916], a ld de, $0003 call PlaySoundEffect ret @@ -13298,7 +13298,7 @@ Func_c447: ; 0xc447 ret z ld de, $0001 call PlaySoundEffect - ld a, [$d916] + ld a, [wd916] and a jr nz, .asm_c465 ld a, [$fffb] @@ -13345,8 +13345,8 @@ Func_c493: ; 0xc493 ld de, $0001 call PlaySoundEffect xor a - ld [$d803], a - ld [$d804], a + ld [wd803], a + ld [wd804], a ld a, $1 ld [wScreenState], a ret @@ -13354,13 +13354,13 @@ Func_c493: ; 0xc493 Func_c4b4: ; 0xc4b4 ld a, [hNewlyPressedButtons] ld b, a - ld a, [$d917] + ld a, [wd917] bit BIT_D_LEFT, b jr z, .asm_c4ce and a ret z dec a - ld [$d917], a + ld [wd917], a call Func_c4f4 ld de, $0003 call PlaySoundEffect @@ -13372,10 +13372,10 @@ Func_c4b4: ; 0xc4b4 cp $1 ret z inc a - ld [$d917], a + ld [wd917], a xor a - ld [$d803], a - ld [$d804], a + ld [wd803], a + ld [wd804], a ld de, $0003 call PlaySoundEffect ret @@ -13390,12 +13390,12 @@ Func_c4e6: ; 0xc4e6 Func_c4f4: ; 0xc4f4 xor a - ld [$d91c], a - ld [$d91e], a + ld [wd91c], a + ld [wd91e], a ld a, $2 - ld [$d91d], a + ld [wd91d], a ld a, $9 - ld [$d91f], a + ld [wd91f], a ret Func_c506: ; 0xc506 @@ -13421,7 +13421,7 @@ Func_c506: ; 0xc506 Func_c534: ; 0xc534 ld a, [hNewlyPressedButtons] ld b, a - ld a, [$d918] + ld a, [wd918] bit BIT_D_UP, b jr z, .asm_c543 and a @@ -13436,7 +13436,7 @@ Func_c534: ; 0xc534 ret z inc a .asm_c54a - ld [$d918], a + ld [wd918], a ld de, $0003 call PlaySoundEffect ret @@ -13447,7 +13447,7 @@ Func_c554: ; 0xc554 ret Func_c55a: ; 0xc55a - ld a, [$d918] + ld a, [wd918] and a jr nz, .asm_c572 ld a, [hNewlyPressedButtons] @@ -13467,7 +13467,7 @@ Func_c55a: ; 0xc55a call PlaySoundEffect ld bc, $001e call Func_93f - ld a, [$d918] + ld a, [wd918] dec a sla a ld c, a @@ -13477,7 +13477,7 @@ Func_c55a: ; 0xc55a ld a, [hli] ld h, [hl] ld l, a - ld a, [$d918] + ld a, [wd918] dec a sla a call Func_c644 @@ -13485,7 +13485,7 @@ Func_c55a: ; 0xc55a .asm_c59f push bc push hl - ld a, [$d918] + ld a, [wd918] dec a sla a call Func_c621 @@ -13505,7 +13505,7 @@ Func_c55a: ; 0xc55a .asm_c5c2 or c jr nz, .asm_c59f - ld a, [$d918] + ld a, [wd918] dec a sla a call Func_c639 @@ -13515,7 +13515,7 @@ Func_c55a: ; 0xc55a pop hl ld bc, $0020 add hl, bc - ld a, [$d918] + ld a, [wd918] dec a sla a inc a @@ -13526,7 +13526,7 @@ Func_c55a: ; 0xc55a push bc push de push hl - ld a, [$d918] + ld a, [wd918] dec a sla a inc a @@ -13551,7 +13551,7 @@ Func_c55a: ; 0xc55a .asm_c613 or c jr nz, .asm_c5e9 - ld a, [$d918] + ld a, [wd918] dec a sla a inc a @@ -13656,7 +13656,7 @@ Func_c691: ; 0xc91 Func_c6bf: ; 0xc6bf ld a, [hNewlyPressedButtons] ld b, a - ld a, [$d919] + ld a, [wd919] bit BIT_D_UP, b jr z, .asm_c6ce and a @@ -13671,7 +13671,7 @@ Func_c6bf: ; 0xc6bf ret z inc a .asm_c6d5 - ld [$d919], a + ld [wd919], a ret Func_c6d9: ; 0xc6d9 @@ -13683,7 +13683,7 @@ Func_c6d9: ; 0xc6d9 ret Func_c6e8: ; 0xc6e8 - ld a, [$d919] + ld a, [wd919] and a jr nz, UpdateSoundTestSoundEffectSelection ld a, [hNewlyPressedButtons] @@ -13812,16 +13812,16 @@ Func_c7ac: ; 0xc7ac ld a, [wScreenState] cp $1 jr z, .asm_c7cc - ld a, [$d916] + ld a, [wd916] and a jr nz, .asm_c7cc - ld a, [$d917] + ld a, [wd917] and a jr nz, .asm_c7cc - ld a, [$d91e] + ld a, [wd91e] cp $4 jr nz, .asm_c7cc - ld a, [$d91c] + ld a, [wd91c] ld c, a .asm_c7cc sla c @@ -13831,10 +13831,10 @@ Func_c7ac: ; 0xc7ac ld a, [hl] ld bc, $5050 call LoadOAMData - ld a, [$d91d] + ld a, [wd91d] dec a jr nz, .asm_c802 - ld a, [$d91c] + ld a, [wd91c] sla a ld c, a ld b, $0 @@ -13843,10 +13843,10 @@ Func_c7ac: ; 0xc7ac ld a, [hl] and a jr z, .asm_c7f5 - ld a, [$d91c] + ld a, [wd91c] inc a .asm_c7f5 - ld [$d91c], a + ld [wd91c], a sla a ld c, a ld b, $0 @@ -13854,7 +13854,7 @@ Func_c7ac: ; 0xc7ac add hl, bc ld a, [hl] .asm_c802 - ld [$d91d], a + ld [wd91d], a ret Data_c806: ; 0xc806 @@ -13865,13 +13865,13 @@ Func_c80b: ; 0xc80b ld a, [wScreenState] cp $1 jr z, .asm_c824 - ld a, [$d916] + ld a, [wd916] and a jr nz, .asm_c824 - ld a, [$d917] + ld a, [wd917] and a jr nz, .asm_c824 - ld a, [$d91e] + ld a, [wd91e] ld c, a .asm_c824 sla c @@ -13881,10 +13881,10 @@ Func_c80b: ; 0xc80b ld bc, $7870 ld a, [hl] call LoadOAMData - ld a, [$d91f] + ld a, [wd91f] dec a jr nz, .asm_c85a - ld a, [$d91e] + ld a, [wd91e] sla a ld c, a ld b, $0 @@ -13892,10 +13892,10 @@ Func_c80b: ; 0xc80b add hl, bc ld a, [hl] and a - ld a, [$d91e] + ld a, [wd91e] jr z, .asm_c850 inc a - ld [$d91e], a + ld [wd91e], a .asm_c850 sla a ld c, a @@ -13904,33 +13904,33 @@ Func_c80b: ; 0xc80b add hl, bc ld a, [hl] .asm_c85a - ld [$d91f], a + ld [wd91f], a ret Data_c85e: ; 0xc85e db $77, $09, $78, $09, $79, $09, $7A, $0D, $7A, $01, $00 Func_c869: ; 0xc869 - ld a, [$d916] + ld a, [wd916] and a ret nz - ld a, [$d917] + ld a, [wd917] and a ret nz - ld a, [$d91e] + ld a, [wd91e] cp $3 ret nz - ld a, [$d91f] + ld a, [wd91f] cp $1 ret nz ld a, $55 - ld [$d803], a + ld [wd803], a ld a, $40 - ld [$d804], a + ld [wd804], a ret Func_c88a: ; 0xc88a - ld a, [$d916] + ld a, [wd916] sla a ld c, a ld b, $0 @@ -13944,7 +13944,7 @@ Func_c88a: ; 0xc88a ld a, [wScreenState] cp $1 jr nz, .asm_c8a9 - ld a, [$d920] + ld a, [wd920] sla a ld e, a .asm_c8a9 @@ -13953,10 +13953,10 @@ Func_c88a: ; 0xc88a add hl, de ld a, [hl] call LoadOAMData - ld a, [$d921] + ld a, [wd921] dec a jr nz, .asm_c8da - ld a, [$d920] + ld a, [wd920] sla a ld c, a ld b, $0 @@ -13965,10 +13965,10 @@ Func_c88a: ; 0xc88a ld a, [hl] and a jr z, .asm_c8cd - ld a, [$d920] + ld a, [wd920] inc a .asm_c8cd - ld [$d920], a + ld [wd920], a sla a ld c, a ld b, $0 @@ -13976,7 +13976,7 @@ Func_c88a: ; 0xc88a add hl, bc ld a, [hl] .asm_c8da - ld [$d921], a + ld [wd921], a ret Data_c8de: ; 0xc8de @@ -13988,7 +13988,7 @@ Data_c8eb: ; 0xc8eb Func_c8f1: ; 0xc8f1 ld c, a ld b, $0 - ld hl, $d917 + ld hl, wd917 add hl, bc ld e, [hl] sla c @@ -14032,7 +14032,7 @@ OAMPixelOffsetData_c92a: ; 0xc92a dw $1068 Func_c92e: ; 0xc92e - ld a, [$d917] + ld a, [wd917] sla a ld c, a ld b, $0 @@ -14072,7 +14072,7 @@ Func_c95f: ; 0xc95f push hl push hl push af - ld hl, $d922 + ld hl, wd922 ld a, $81 ld [hli], a ld [hli], a @@ -14082,7 +14082,7 @@ Func_c95f: ; 0xc95f ld [hli], a ld [hl], a pop af - ld hl, $d922 + ld hl, wd922 ld de, Data_c9ae ld b, $8 .asm_c979 @@ -14111,7 +14111,7 @@ Func_c95f: ; 0xc95f dec b jr nz, .asm_c979 pop de - ld hl, $d922 + ld hl, wd922 ld a, $0 ld bc, $0008 call Func_735 @@ -14136,21 +14136,21 @@ Func_c9be: ; 0xc9be ld c, a xor b and c - ld hl, $d936 + ld hl, wd936 call Func_c9ff ld a, b - ld hl, $d93f + ld hl, wd93f call Func_c9ff - ld a, [$d947] + ld a, [wd947] cp $3 jr nc, .asm_c9f3 - ld hl, $d93e + ld hl, wd93e add [hl] sub $4 - ld hl, $d936 + ld hl, wd936 call nc, Func_ca15 - ld de, $d936 - ld hl, $d93f + ld de, wd936 + ld hl, wd93f ld b, $8 .asm_c9ec ld a, [de] @@ -14160,7 +14160,7 @@ Func_c9be: ; 0xc9be dec b jr nz, .asm_c9ec .asm_c9f3 - ld hl, $d93f + ld hl, wd93f call Func_ca29 pop hl pop bc @@ -14264,7 +14264,7 @@ HighScoresScreenFunctions: ; 0xca83 dw ExitHighScoresScreen Func_ca8f: ; 0xca8f - ld hl, $d473 + ld hl, wd473 call GenRandom ld [hli], a call GenRandom @@ -14273,15 +14273,15 @@ Func_ca8f: ; 0xca8f ld [hli], a call GenRandom ld [hli], a - ld hl, $da36 + ld hl, wda36 ld a, [wHighScoresStage] and a jr z, .asm_caae - ld hl, $da77 + ld hl, wda77 .asm_caae ld b, $5 .asm_cab0 - ld de, $d46f + ld de, wd46f ld c, $6 .asm_cab5 ld a, [de] @@ -14308,17 +14308,17 @@ Func_ca8f: ; 0xca8f jr nz, .asm_cab0 .asm_cad0 ld a, b - ld [$da81], a + ld [wda81], a xor a - ld [$da80], a + ld [wda80], a inc b - ld hl, $da30 - ld de, $da3d + ld hl, wda30 + ld de, wda3d ld a, [wHighScoresStage] and a jr z, .asm_caeb - ld hl, $da71 - ld de, $da7e + ld hl, wda71 + ld de, wda7e .asm_caeb ld a, $5 .asm_caed @@ -14326,7 +14326,7 @@ Func_ca8f: ; 0xca8f jr c, .asm_cb02 push af jr nz, .asm_caf6 - ld hl, $d476 + ld hl, wd476 .asm_caf6 ld c, $d .asm_caf8 @@ -14339,13 +14339,13 @@ Func_ca8f: ; 0xca8f dec a jr nz, .asm_caed .asm_cb02 - ld a, [$da81] + ld a, [wda81] cp $5 ld a, $1 jr nz, .asm_cb0c xor a .asm_cb0c - ld [$da7f], a + ld [wda7f], a ld hl, wScreenState inc [hl] ret @@ -14354,10 +14354,10 @@ Func_cb14: ; 0xcb14 ld a, $43 ld [$ff9e], a ld a, $e0 - ld [$d80c], a + ld [wd80c], a ld a, $e1 - ld [$d80d], a - ld [$d80e], a + ld [wd80d], a + ld [wd80e], a xor a ld [hBoardXShift], a ld [$ffab], a @@ -14385,13 +14385,13 @@ Func_cb14: ; 0xcb14 call LoadVideoData call ClearOAMBuffer ld a, $20 - ld [$da82], a + ld [wda82], a call Func_d211 ld hl, $99c0 - ld de, $da3d + ld de, wda3d call Func_d2cb ld hl, $9dc0 - ld de, $da7e + ld de, wda7e call Func_d2cb ld a, [wHighScoresStage] and a @@ -14400,10 +14400,10 @@ Func_cb14: ; 0xcb14 set 3, [hl] .asm_cb7f call Func_b66 - ld a, [$da7f] + ld a, [wda7f] and a jr z, .asm_cbbd - ld a, [$da81] + ld a, [wda81] and a jr nz, .asm_cb9b ld a, $13 @@ -14573,7 +14573,7 @@ Func_ccb6: ; 0xccb6 jr z, .asm_ccfb call Func_1a43 ld a, [hGameBoyColorFlag] - ld [$d8f0], a + ld [wd8f0], a ld de, $0001 call PlaySoundEffect ld hl, wScreenState @@ -14619,10 +14619,10 @@ Func_ccb6: ; 0xccb6 ld bc, $01c0 call LoadVRAMData ld hl, $99c0 - ld de, $da3d + ld de, wda3d call Func_d361 ld hl, $9dc0 - ld de, $da7e + ld de, wda7e call Func_d361 ld hl, wRedHighScore1Points ld de, $a000 @@ -14641,10 +14641,10 @@ Func_cd6c: ; 0xcd6c jr z, .asm_cdbb ld de, $0001 call PlaySoundEffect - ld a, [$da85] + ld a, [wda85] and a jr nz, .asm_cda1 - ld a, [$d86e] + ld a, [wd86e] and a jr z, .asm_cdbb call ClearOAMBuffer @@ -14655,7 +14655,7 @@ Func_cd6c: ; 0xcd6c jr .asm_cdc6 .asm_cda1 - ld a, [$d8f0] + ld a, [wd8f0] and a jr z, .asm_cdbb ld de, $0000 @@ -14693,10 +14693,10 @@ Func_cdce: ; 0xcdce ld [$abf6], a pop af di - ld a, [$d8ea] + ld a, [wd8ea] cp $0 jp nz, .asm_ceb6 - ld a, [$d8e9] + ld a, [wd8e9] cp $1 jr z, .asm_ce23 push af @@ -14706,16 +14706,16 @@ Func_cdce: ; 0xcdce ld b, $82 ld hl, wRedHighScore1Points call Func_1cf8 - ld a, [$d8ea] + ld a, [wd8ea] cp $0 jp nz, .asm_ceb6 push af ld a, $3 ld [$abf6], a pop af - ld hl, $c4c0 + ld hl, wc4c0 call Func_1dda - ld a, [$d8ea] + ld a, [wd8ea] cp $0 jp nz, .asm_ceb6 jr .asm_ce4d @@ -14725,9 +14725,9 @@ Func_cdce: ; 0xcdce ld a, $4 ld [$abf6], a pop af - ld hl, $c4c0 + ld hl, wc4c0 call Func_1dda - ld a, [$d8ea] + ld a, [wd8ea] cp $0 jr nz, .asm_ceb6 push af @@ -14737,7 +14737,7 @@ Func_cdce: ; 0xcdce ld b, $82 ld hl, wRedHighScore1Points call Func_1cf8 - ld a, [$d8ea] + ld a, [wd8ea] cp $0 jr nz, .asm_ceb6 .asm_ce4d @@ -14747,14 +14747,14 @@ Func_cdce: ; 0xcdce pop af call Func_ceca rst AdvanceFrame - ld hl, $c4cc + ld hl, wc4cc ld b, $5 .asm_ce5d push bc push hl ld d, h ld e, l - ld hl, $da3d + ld hl, wda3d call Func_cfcb pop hl pop bc @@ -14773,7 +14773,7 @@ Func_cdce: ; 0xcdce push hl ld d, h ld e, l - ld hl, $da7e + ld hl, wda7e call Func_cfcb pop hl pop bc @@ -14786,10 +14786,10 @@ Func_cdce: ; 0xcdce ld [$abf6], a pop af ld hl, $99c0 - ld de, $da3d + ld de, wda3d call Func_d361 ld hl, $9dc0 - ld de, $da7e + ld de, wda7e call Func_d361 ld hl, wRedHighScore1Points ld de, $a000 @@ -14833,7 +14833,7 @@ SendHighScores: ; 0xced1 call Func_926 rst AdvanceFrame ld a, $1 - ld [$d8e9], a + ld [wd8e9], a ld b, $b4 ; maximum attempts to send high scores .attemptToSendHighScoresLoop push bc @@ -14875,7 +14875,7 @@ SendHighScores: ; 0xced1 call CopyHLToDE .continueAttempts pop bc - ld a, [$d8ea] + ld a, [wd8ea] cp $0 ret z dec b @@ -14914,15 +14914,15 @@ Func_cf58: ; 0xcf58 ret Func_cf7d: ; 0xcf7d - ld a, [$d809] + ld a, [wd809] ld b, a - ld a, [$da85] + ld a, [wda85] bit 6, b jr z, .asm_cf95 and a ret z dec a - ld [$da85], a + ld [wda85], a ld de, $0003 call PlaySoundEffect ret @@ -14933,7 +14933,7 @@ Func_cf7d: ; 0xcf7d cp $1 ret z inc a - ld [$da85], a + ld [wda85], a ld de, $0003 call PlaySoundEffect ret @@ -14942,18 +14942,18 @@ Func_cfa6: ; 0xcfa6 ld bc, $473b ld a, $87 call LoadOAMData - ld a, [$d8f0] + ld a, [wd8f0] and a jr z, .asm_cfb6 ld a, $2 .asm_cfb6 ld e, a - ld a, [$d86e] + ld a, [wd86e] add e xor $3 add $8a call LoadOAMData - ld a, [$da85] + ld a, [wda85] add $88 call LoadOAMData ret @@ -15061,7 +15061,7 @@ Func_d035: ; 0xd035 Func_d042: ; 0xd042 ld a, [hJoypadState] - ld [$da86], a + ld [wda86], a ld b, a ld a, $80 bit BIT_D_LEFT, b @@ -15074,57 +15074,57 @@ Func_d042: ; 0xd042 jr z, .asm_d058 ld a, $10 .asm_d058 - ld [$d8a7], a + ld [wd8a7], a ld a, $e0 - ld [$d8aa], a + ld [wd8aa], a ld a, BANK(HighScoresTilemap) ld hl, HighScoresTilemap + $3c0 - ld de, $c280 + ld de, wc280 ld bc, $0040 call FarCopyData ld a, $0 ld hl, $9840 - ld de, $c2c0 + ld de, wc2c0 ld bc, $01c0 call LoadVRAMData ld a, BANK(HighScoresTilemap) ld hl, HighScoresTilemap + $280 - ld de, $c480 + ld de, wc480 ld bc, $0040 call FarCopyData call Func_d6b6 call Func_d0e3 ret c - ld a, [$da86] + ld a, [wda86] bit 2, a jr z, .asm_d0a2 - ld de, $da06 + ld de, wda06 call Func_d107 call Func_d0f5 ret c .asm_d0a2 ld a, BANK(HighScoresTilemap2) ld hl, HighScoresTilemap2 + $3c0 ; todo - ld de, $c280 + ld de, wc280 ld bc, $0040 call FarCopyData ld a, $0 ld hl, $9c40 - ld de, $c2c0 + ld de, wc2c0 ld bc, $01c0 call LoadVRAMData ld a, BANK(HighScoresTilemap2) ld hl, HighScoresTilemap2 + $280 ; todo - ld de, $c480 + ld de, wc480 ld bc, $0040 call FarCopyData call Func_d6b6 call Func_d0e3 ret c - ld a, [$da86] + ld a, [wda86] bit 2, a ret z - ld de, $da47 + ld de, wda47 call Func_d107 call Func_d0f5 ret @@ -15133,7 +15133,7 @@ Func_d0e3: ; 0xd0e3 ld a, BANK(HighScoresBaseGameBoyGfx) ld hl, HighScoresBaseGameBoyGfx + $800 call Func_1a21 - ld a, [$d86d] + ld a, [wd86d] and a ret z call Func_cf58 @@ -15144,7 +15144,7 @@ Func_d0f5: ; 0xd0f5 ld a, BANK(GFX_a7b00) ld hl, GFX_a7b00 call Func_1a21 - ld a, [$d86d] + ld a, [wd86d] and a ret z call Func_cf58 @@ -15152,7 +15152,7 @@ Func_d0f5: ; 0xd0f5 ret Func_d107: ; 0xd107 - ld hl, $c280 + ld hl, wc280 ld a, $c0 ld b, $20 .asm_d10e @@ -15161,7 +15161,7 @@ rept 32 endr dec b jr nz, .asm_d10e - ld hl, $c280 + ld hl, wc280 ld b, $5 .asm_d136 ld c, $4 @@ -15227,7 +15227,7 @@ ExitHighScoresScreen: ; 0xd171 Func_d18b: ; 0xd18b ld a, [hPressedButtons] ld b, a - ld a, [$da81] + ld a, [wda81] ld e, a sla e sla e @@ -15235,7 +15235,7 @@ Func_d18b: ; 0xd18b sla e add e ld e, a - ld a, [$da80] + ld a, [wda80] add e ld e, a ld d, $0 @@ -15272,7 +15272,7 @@ Func_d18b: ; 0xd18b Func_d1d2: ; 0xd1d2 ld a, [hNewlyPressedButtons] ld b, a - ld a, [$da80] + ld a, [wda80] bit BIT_A_BUTTON, b jr z, .asm_d1fc inc a @@ -15281,7 +15281,7 @@ Func_d1d2: ; 0xd1d2 ld de, $0745 call PlaySoundEffect xor a - ld [$da7f], a + ld [wda7f], a ld hl, wScreenState inc [hl] ld hl, wRedHighScore1Points @@ -15297,38 +15297,38 @@ Func_d1d2: ; 0xd1d2 ret z dec a .asm_d202 - ld [$da80], a + ld [wda80], a ld a, $20 - ld [$da82], a + ld [wda82], a ld de, $0001 call PlaySoundEffect ret Func_d211: ; 0xd211 ; related to high scores name entry? - ld a, [$da7f] + ld a, [wda7f] and a ret z ld a, [hJoypadState] and (D_RIGHT | D_LEFT) jr z, .asm_d221 xor a - ld [$da82], a + ld [wda82], a ret .asm_d221 - ld a, [$da82] + ld a, [wda82] inc a - ld [$da82], a + ld [wda82], a bit 5, a ret z - ld a, [$da81] + ld a, [wda81] ld e, a ld d, $0 ld hl, OAMPixelYOffsets_d247 add hl, de ld c, [hl] - ld a, [$da80] + ld a, [wda80] ld e, a ld d, $0 ld hl, OAMPixelXOffsets_d24c @@ -15674,7 +15674,7 @@ CopyInitialHighScoresForStage: ; 0xd40e INCLUDE "data/initial_high_scores.asm" ; 0xd42e Func_d46f: ; 0xd46f - ld a, [$da81] + ld a, [wda81] ld d, a sla a add d @@ -15686,7 +15686,7 @@ Func_d46f: ; 0xd46f rr e srl d rr e - ld a, [$da80] + ld a, [wda80] add e ld e, a ld hl, $9843 @@ -15697,7 +15697,7 @@ Func_d46f: ; 0xd46f .asm_d496 add hl, de push hl - ld a, [$da81] + ld a, [wda81] ld e, a sla e sla e @@ -15705,7 +15705,7 @@ Func_d46f: ; 0xd46f sla e add e ld e, a - ld a, [$da80] + ld a, [wda80] add e ld e, a ld d, $0 @@ -16011,7 +16011,7 @@ Func_d6b6: ; 0xd6b6 ld a, c cp NUM_POKEMON ret nz - ld hl, $c289 + ld hl, wc289 ld a, $56 ld [hli], a ld a, $57 @@ -16030,10 +16030,10 @@ LoadFieldSelectScreen: ; 0xd6dd ld a, $43 ld [$ff9e], a ld a, $e4 - ld [$d80c], a + ld [wd80c], a ld a, $d2 - ld [$d80d], a - ld [$d80e], a + ld [wd80d], a + ld [wd80e], a xor a ld [hBoardXShift], a ld [hBoardYShift], a @@ -16077,7 +16077,7 @@ ChooseFieldToPlay: ; 0xd74e ld a, [hNewlyPressedButtons] and (A_BUTTON | B_BUTTON) ret z - ld [$d8f6], a + ld [wd8f6], a ld a, $18 ; number of frames to blink the border after selecting the Field ld [wFieldSelectBlinkingBorderTimer], a ld a, $1 @@ -16089,7 +16089,7 @@ ChooseFieldToPlay: ; 0xd74e ret ExitFieldSelectScreen: ; 0xd774 - ld a, [$d8f6] ; this holds the button that was pressed (A or B) + ld a, [wd8f6] ; this holds the button that was pressed (A or B) bit BIT_A_BUTTON, a jr z, .didntPressA ld hl, Data_d846 @@ -16103,7 +16103,7 @@ ExitFieldSelectScreen: ; 0xd774 push af call Func_cb5 call Func_576 - ld a, [$d8f6] + ld a, [wd8f6] bit BIT_A_BUTTON, a jr z, .pressedB ld a, [wSelectedFieldIndex] @@ -16115,13 +16115,13 @@ ExitFieldSelectScreen: ; 0xd774 ld [wCurrentStage], a pop af xor a - ld [$d7c2], a + ld [wd7c2], a ld hl, wPartyMons ld de, $a268 ld bc, $04c3 call SaveData xor a - ld [$d7c1], a + ld [wd7c1], a ; Start a round of Pinball! Yayy ld a, SCREEN_PINBALL_GAME ld [wCurrentScreen], a @@ -16182,7 +16182,7 @@ AnimateBlinkingFieldSelectBorder: ; 0xd7fb ld c, a ld a, [hli] ld b, a - ld a, [$d915] + ld a, [wd915] sla a ld e, a ld d, $0 @@ -16199,10 +16199,10 @@ AnimateBlinkingFieldSelectBorder: ; 0xd7fb ld a, [hl] and a jr z, .asm_d82b - ld a, [$d915] + ld a, [wd915] inc a .asm_d82b - ld [$d915], a + ld [wd915], a sla a ld c, a ld b, $0 @@ -16237,13 +16237,13 @@ PinballGameScreenFunctions: ; 0xd857 Func_d861: ; 0xd861 xor a - ld [$d908], a + ld [wd908], a ld [$ff8a], a callba InitializeStage call Func_30e8 ld a, $1 - ld [$d85d], a - ld [$d4aa], a + ld [wd85d], a + ld [wd4aa], a ld hl, wScreenState inc [hl] ret @@ -16252,12 +16252,12 @@ Func_d87f: ; 0xd87f ld a, $67 ld [$ff9e], a ld a, $e4 - ld [$d80c], a + ld [wd80c], a ld a, $e1 - ld [$d80d], a + ld [wd80d], a ld a, $e4 - ld [$d80e], a - ld a, [$d7ab] + ld [wd80e], a + ld a, [wd7ab] ld [hBoardXShift], a xor a ld [hBoardYShift], a @@ -16285,13 +16285,13 @@ Func_d87f: ; 0xd87f call ClearOAMBuffer ld [$ff8a], a callba Func_84b7 - ld a, [$d849] + ld a, [wd849] and a call nz, Func_e5d ld a, $1 - ld [$d4aa], a + ld [wd4aa], a xor a - ld [$d7c1], a + ld [wd7c1], a call Func_b66 call Func_588 call Func_bbe @@ -16303,11 +16303,11 @@ Func_d909: ; 0xd909 ; main loop for stage logic xor a ld [wFlipperCollision], a - ld [$d7eb], a + ld [wd7eb], a call ApplyGravityToBall call LimitBallVelocity xor a - ld [$d7e9], a + ld [wd7e9], a call HandleTilts ld a, [wCurrentStage] bit 0, a @@ -16317,12 +16317,12 @@ Func_d909: ; 0xd909 call nz, BankSwitch ; only perform flipper routines on the lower-half of stages ld a, [wFlipperCollision] and a - ld a, [$d7ea] + ld a, [wd7ea] push af call Func_22b5 ; collision stuff pop af jr z, .noFlipperCollision - ld [$d7ea], a + ld [wd7ea], a .noFlipperCollision call Func_2720 ; not collision-related call Func_281c ; not collision-related @@ -16335,18 +16335,18 @@ Func_d909: ; 0xd909 callba HandleInGameMenu jp z, SaveGame .didntPressMenuKey - ld a, [$d7e9] ; check for collision flag + ld a, [wd7e9] ; check for collision flag and a jr z, .asm_d9a2 call ApplyTiltForces call LoadBallVelocity - ld a, [$d7ea] + ld a, [wd7ea] call Func_21e7 call Func_222b ld a, [wFlipperCollision] and a jr z, .asm_d993 - ld hl, $d7bc + ld hl, wd7bc ld a, [hli] ld h, [hl] ld l, a @@ -16356,7 +16356,7 @@ Func_d909: ; 0xd909 ld a, d sbc h ld d, a - ld hl, $d7ba + ld hl, wd7ba ld a, [hli] ld h, [hl] ld l, a @@ -16369,11 +16369,11 @@ Func_d909: ; 0xd909 jr .asm_d999 .asm_d993 - ld a, [$d7f8] + ld a, [wd7f8] and a jr nz, .asm_d9a2 .asm_d999 - ld a, [$d7ea] + ld a, [wd7ea] call Func_21e5 call SetBallVelocity .asm_d9a2 @@ -16383,7 +16383,7 @@ Func_d909: ; 0xd909 ld [$ff8a], a callba Func_84b7 call Func_33e3 - ld a, [$d5cb] + ld a, [wd5cb] and a jr nz, .asm_d9e9 ld [$ff8a], a @@ -16396,17 +16396,17 @@ Func_d909: ; 0xd909 call Func_dc7c call Func_dcb4 .asm_d9e9 - ld a, [$d57d] + ld a, [wd57d] and a ld [$ff8a], a ld a, Bank(Func_86a4) ld hl, Func_86a4 call nz, BankSwitch - ld a, [$d4ae] + ld a, [wd4ae] and a ret z xor a - ld [$d4ae], a + ld [wd4ae], a ld hl, wScreenState inc [hl] ret @@ -16417,7 +16417,7 @@ SaveGame: ; 0xda05 ld bc, $0004 call Func_93f call Func_cb5 - ld a, [$d849] + ld a, [wd849] and a call nz, Func_e5d call Func_576 @@ -16426,7 +16426,7 @@ SaveGame: ; 0xda05 ld hl, rIE res 1, [hl] xor a - ld [$d4aa], a + ld [wd4aa], a ld a, SCREEN_TITLESCREEN ld [wCurrentScreen], a xor a @@ -16439,11 +16439,11 @@ Func_da36: ; 0xda36 ld [hNewlyPressedButtons], a ld [hPressedButtons], a ld [wFlipperCollision], a - ld [$d7eb], a + ld [wd7eb], a xor a - ld [$d7e9], a - ld [$d548], a - ld [$d549], a + ld [wd7e9], a + ld [wd548], a + ld [wd549], a call HandleTilts ld a, [wCurrentStage] bit 0, a @@ -16456,50 +16456,50 @@ Func_da36: ; 0xda36 call Func_33e3 ld [$ff8a], a callba Func_85c7 - ld a, [$d5ca] + ld a, [wd5ca] and a ret nz - ld a, [$d4c9] + ld a, [wd4c9] and a jr z, .asm_daa9 - ld a, [$d49c] + ld a, [wd49c] cp $2 jr z, .asm_daa9 call Func_f533 - ld a, [$d49c] + ld a, [wd49c] and a jr z, .asm_daa9 ld a, $2 - ld [$d49c], a - ld [$d4aa], a + ld [wd49c], a + ld [wd4aa], a call Func_30e8 call Func_30db - ld hl, $d5dc + ld hl, wd5dc ld de, ShootAgainText call LoadTextHeader ret .asm_daa9 xor a - ld [$d49c], a + ld [wd49c], a ld hl, wScreenState inc [hl] ret Func_dab2: ; 0xdab2 xor a - ld [$d803], a + ld [wd803], a ld a, [wGameOver] and a jp nz, TransitionToHighScoresScreen - ld a, [$d495] + ld a, [wd495] and a jr nz, .asm_dae6 - ld a, [$d496] + ld a, [wd496] and a jr nz, .asm_db28 call Func_cb5 - ld a, [$d849] + ld a, [wd849] and a call z, Func_e5d call Func_576 @@ -16517,7 +16517,7 @@ Func_dab2: ; 0xdab2 ld bc, $0004 call Func_93f call Func_cb5 - ld a, [$d849] + ld a, [wd849] and a call nz, Func_e5d call Func_576 @@ -16526,14 +16526,14 @@ Func_dab2: ; 0xdab2 ld hl, rIE res 1, [hl] ld a, [wCurrentStage] - ld [$d4ad], a + ld [wd4ad], a ld a, [wStageCollisionState] - ld [$d4b0], a - ld a, [$d497] + ld [wd4b0], a + ld a, [wd497] ld [wCurrentStage], a xor a - ld [$d496], a - ld [$d495], a + ld [wd496], a + ld [wd495], a ld a, $0 ld [wScreenState], a ret @@ -16544,7 +16544,7 @@ Func_dab2: ; 0xdab2 ld bc, $0004 call Func_93f call Func_cb5 - ld a, [$d849] + ld a, [wd849] and a call nz, Func_e5d call Func_576 @@ -16552,9 +16552,9 @@ Func_dab2: ; 0xdab2 res 6, [hl] ld hl, rIE res 1, [hl] - ld a, [$d4ad] + ld a, [wd4ad] ld [wCurrentStage], a - ld a, [$d4b0] + ld a, [wd4b0] ld [wStageCollisionState], a ld a, $1 ld [wScreenState], a @@ -16574,7 +16574,7 @@ TransitionToHighScoresScreen: ; 0xdb5d ld hl, rIE res 1, [hl] xor a - ld [$d4aa], a + ld [wd4aa], a ld a, [wCurrentStage] ld c, a ld b, $0 @@ -16612,7 +16612,7 @@ HighScoresStageMapping: ; 0xdb99 Func_dba9: ; 0xdba9 ld a, $85 ld [wcBottomMessageText + $144], a - ld a, [$d49d] + ld a, [wd49d] xor $3 inc a add $86 @@ -16623,13 +16623,13 @@ Func_dbba: ; 0xdbba ld a, $1 ld [wBallSaverIconOn], a ld a, $ff - ld [$d4a2], a + ld [wd4a2], a ld a, $3b ld [wBallSaverTimerFrames], a ld a, $14 ld [wBallSaverTimerSeconds], a ld a, $2 - ld [$d4a5], a + ld [wd4a5], a ret InitBallSaverForCatchEmMode: ; 0xdbd4 @@ -16637,18 +16637,18 @@ InitBallSaverForCatchEmMode: ; 0xdbd4 ld [wBallSaverTimerFramesBackup], a ld a, [wBallSaverTimerSeconds] ld [wBallSaverTimerSecondsBackup], a - ld a, [$d4a5] - ld [$d4a8], a + ld a, [wd4a5] + ld [wd4a8], a ld a, $0 ld [wBallSaverIconOn], a ld a, $ff - ld [$d4a2], a + ld [wd4a2], a ld a, 59 ld [wBallSaverTimerFrames], a ld a, 60 ld [wBallSaverTimerSeconds], a ld a, $ff - ld [$d4a5], a + ld [wd4a5], a ret Func_dc00: ; 0xdc00 @@ -16656,8 +16656,8 @@ Func_dc00: ; 0xdc00 ld [wBallSaverTimerFrames], a ld a, [wBallSaverTimerSecondsBackup] ld [wBallSaverTimerSeconds], a - ld a, [$d4a8] - ld [$d4a5], a + ld a, [wd4a8] + ld [wd4a5], a ld a, [wBallSaverTimerSeconds] and a jr z, .asm_dc1a @@ -16677,7 +16677,7 @@ Func_dc00: ; 0xdc00 ld c, $ff .asm_dc34 ld a, c - ld [$d4a2], a + ld [wd4a2], a ld a, [wCurrentStage] bit 0, a ret z @@ -16739,7 +16739,7 @@ Func_dc6d: ; 0xdc6d push de call Func_30e8 call Func_30db - ld hl, $d5dc + ld hl, wd5dc pop de call LoadTextHeader ret @@ -16778,7 +16778,7 @@ Func_dc7c: ; 0xdc7c dr $dcad, $dcb4 Func_dcb4: ; 0xdcb4 - ld a, [$d517] + ld a, [wd517] cp $f ld a, $81 jr nz, .asm_dcbf @@ -16789,7 +16789,7 @@ Func_dcb4: ; 0xdcb4 LoadBallGfx: ; 0xdcc3 xor a - ld [$d4c8], a + ld [wd4c8], a ld a, [wBallType] cp GREAT_BALL jr nc, .notPokeBall @@ -16830,7 +16830,7 @@ LoadBallGfx: ; 0xdcc3 LoadMiniBallGfx: ; 0xdd12 ld a, $1 - ld [$d4c8], a + ld [wd4c8], a ld a, [wBallType] cp GREAT_BALL jr nc, .notPokeBall @@ -16871,7 +16871,7 @@ LoadMiniBallGfx: ; 0xdd12 Func_dd62: ; 0xdd62 ld a, $2 - ld [$d4c8], a + ld [wd4c8], a ld a, $2a ld hl, PinballBallMiniGfx ld de, $8400 @@ -16884,11 +16884,11 @@ Func_dd76: ; 0xdd76 ld hl, wBallSaverTimerSeconds or [hl] jr z, .asm_dda3 - ld a, [$d4a5] + ld a, [wd4a5] bit 7, a jr nz, .asm_dd9c dec a - ld [$d4a5], a + ld [wd4a5], a push af ld de, $28c9 call Func_dc6d @@ -16911,29 +16911,29 @@ Func_dd76: ; 0xdd76 call PlaySoundEffect call Func_dbba ld a, $1 - ld [$d4c9], a + ld [wd4c9], a xor a - ld [$d4de], a - ld [$d4df], a + ld [wd4de], a + ld [wd4df], a call Func_ddfd - ld a, [$d49b] + ld a, [wd49b] and a jr z, .asm_dddd dec a - ld [$d49b], a + ld [wd49b], a ld a, $1 - ld [$d49c], a + ld [wd49c], a ld de, $28ee call Func_dc6d ret .asm_dddd - ld a, [$d49d] - ld hl, $d49e + ld a, [wd49d] + ld hl, wd49e cp [hl] jr z, .asm_ddf1 inc a - ld [$d49d], a + ld [wd49d], a ld de, $28ee call Func_dc6d ret @@ -16960,22 +16960,22 @@ Func_ddfd: ; 0xddfd cp $1 jr nz, .asm_de2d xor a - ld [$d604], a + ld [wd604], a ld a, $1e - ld [$d607], a + ld [wd607], a ld [$ff8a], a callba Func_10ac8 jr .asm_de40 .asm_de2d xor a - ld [$d604], a + ld [wd604], a ld a, $1e - ld [$d607], a + ld [wd607], a ld [$ff8a], a callba Func_3022b .asm_de40 - ld a, [$d7ad] + ld a, [wd7ad] ld c, a ld a, [wStageCollisionState] and $1 @@ -16991,11 +16991,11 @@ Func_de4f: ; 0xde4f ld hl, wBallSaverTimerSeconds or [hl] jr z, .asm_de7c - ld a, [$d4a5] + ld a, [wd4a5] bit 7, a jr nz, .asm_de75 dec a - ld [$d4a5], a + ld [wd4a5], a push af ld de, $28c9 call Func_dc6d @@ -17018,29 +17018,29 @@ Func_de4f: ; 0xde4f call PlaySoundEffect call Func_dbba ld a, $1 - ld [$d4c9], a + ld [wd4c9], a xor a - ld [$d4de], a - ld [$d4df], a + ld [wd4de], a + ld [wd4df], a call Func_ded6 - ld a, [$d49b] + ld a, [wd49b] and a jr z, .asm_deb6 dec a - ld [$d49b], a + ld [wd49b], a ld a, $1 - ld [$d49c], a + ld [wd49c], a ld de, $28ee call Func_dc6d ret .asm_deb6 - ld a, [$d49d] - ld hl, $d49e + ld a, [wd49d] + ld hl, wd49e cp [hl] jr z, .asm_deca inc a - ld [$d49d], a + ld [wd49d], a ld de, $28ee call Func_dc6d ret @@ -17067,40 +17067,40 @@ Func_ded6: ; 0xded6 cp $1 jr nz, .asm_df05 ld a, $0 - ld [$d604], a + ld [wd604], a ld a, $1e - ld [$d607], a + ld [wd607], a ld [$ff8a], a callba Func_10ac8 ret .asm_df05 ld a, $0 - ld [$d604], a + ld [wd604], a ld a, $1e - ld [$d607], a + ld [wd607], a ld [$ff8a], a callba Func_3022b ret Func_df1a: ; 0xdf1a - ld a, [$d4ad] + ld a, [wd4ad] ld hl, wCurrentStage cp [hl] ret z - ld a, [$d6a8] + ld a, [wd6a8] and a jr nz, .asm_df57 - ld a, [$d6a2] + ld a, [wd6a2] cp $5 jr c, .asm_df50 xor a - ld [$d4ae], a - ld a, [$d6a7] + ld [wd4ae], a + ld a, [wd6a7] and a ret nz - ld [$d548], a - ld [$d549], a + ld [wd548], a + ld [wd549], a ld [wBallSpin], a ld [wBallRotation], a ld hl, wBallXVelocity @@ -17109,7 +17109,7 @@ Func_df1a: ; 0xdf1a ld [hli], a ld [hli], a ld a, $1 - ld [$d6a7], a + ld [wd6a7], a .asm_df50 ld de, $0002 call PlaySoundEffect @@ -17117,41 +17117,41 @@ Func_df1a: ; 0xdf1a .asm_df57 xor a - ld [$d495], a + ld [wd495], a ld a, $1 - ld [$d496], a + ld [wd496], a ld a, $2 - ld [$d4c8], a + ld [wd4c8], a xor a - ld [$d7ac], a - ld a, [$d49a] + ld [wd7ac], a + ld a, [wd49a] and a ret nz call Func_30e8 call Func_30db - ld hl, $d5dc + ld hl, wd5dc ld de, Data_2f04 call LoadTextHeader ret Func_df7e: ; 0xdf7e - ld a, [$d4ad] + ld a, [wd4ad] ld hl, wCurrentStage cp [hl] ret z - ld a, [$d6b3] + ld a, [wd6b3] and a jr nz, .asm_dfbb - ld a, [$d6b1] + ld a, [wd6b1] cp $8 jr c, .asm_dfb4 xor a - ld [$d4ae], a - ld a, [$d6b2] + ld [wd4ae], a + ld a, [wd6b2] and a ret nz - ld [$d548], a - ld [$d549], a + ld [wd548], a + ld [wd549], a ld [wBallSpin], a ld [wBallRotation], a ld hl, wBallXVelocity @@ -17160,7 +17160,7 @@ Func_df7e: ; 0xdf7e ld [hli], a ld [hli], a ld a, $1 - ld [$d6b2], a + ld [wd6b2], a .asm_dfb4 ld de, $000b call PlaySoundEffect @@ -17168,30 +17168,30 @@ Func_df7e: ; 0xdf7e .asm_dfbb xor a - ld [$d495], a + ld [wd495], a ld a, $1 - ld [$d496], a + ld [wd496], a ld a, $2 - ld [$d4c8], a + ld [wd4c8], a xor a - ld [$d7ac], a - ld a, [$d49a] + ld [wd7ac], a + ld a, [wd49a] and a ret nz call Func_30e8 call Func_30db - ld hl, $d5dc + ld hl, wd5dc ld de, Data_2f1c call LoadTextHeader ret Func_dfe2: ; 0xdfe2 xor a - ld [$d64e], a - ld a, [$d7be] + ld [wd64e], a + ld a, [wd7be] and a jr z, .asm_dff2 - ld a, [$d49a] + ld a, [wd49a] and a jr z, .asm_e00f .asm_dff2 @@ -17210,11 +17210,11 @@ Func_dfe2: ; 0xdfe2 ld [$ff8a], a callba Func_24fa3 .asm_e00f - ld a, [$d4ad] + ld a, [wd4ad] ld hl, wCurrentStage cp [hl] ret z - ld a, [$d712] + ld a, [wd712] cp $0 jr nz, .asm_e025 ld de, $0002 @@ -17223,63 +17223,63 @@ Func_dfe2: ; 0xdfe2 .asm_e025 xor a - ld [$d57e], a - ld [$d57d], a + ld [wd57e], a + ld [wd57d], a xor a - ld [$d495], a + ld [wd495], a ld a, $1 - ld [$d496], a + ld [wd496], a ld a, $2 - ld [$d4c8], a + ld [wd4c8], a xor a - ld [$d7ac], a - ld [$d712], a - ld a, [$d49a] + ld [wd7ac], a + ld [wd712], a + ld a, [wd49a] and a ret nz call Func_30e8 call Func_30db - ld hl, $d5dc + ld hl, wd5dc ld de, Data_2f4d call LoadTextHeader ret Func_e056: ; 0xe056 - ld a, [$d4ad] + ld a, [wd4ad] ld hl, wCurrentStage cp [hl] ret z ld de, $000b call PlaySoundEffect xor a - ld [$d495], a + ld [wd495], a ld a, $1 - ld [$d496], a + ld [wd496], a ld a, $2 - ld [$d4c8], a + ld [wd4c8], a xor a - ld [$d7ac], a - ld a, [$d49a] + ld [wd7ac], a + ld a, [wd49a] and a ret nz call Func_30e8 call Func_30db - ld hl, $d5dc + ld hl, wd5dc ld de, Data_2f34 call LoadTextHeader ret Func_e08b: ; 0xe08b xor a - ld [$d64e], a - ld a, [$d7be] + ld [wd64e], a + ld a, [wd7be] and a jr z, .asm_e09b - ld a, [$d49a] + ld a, [wd49a] and a jr z, .asm_e0b8 .asm_e09b - ld a, [$d793] + ld a, [wd793] cp $14 jr nc, .asm_e0b8 cp $5 @@ -17290,15 +17290,15 @@ Func_e08b: ; 0xe08b .asm_e0aa xor a .asm_e0ab - ld [$d793], a + ld [wd793], a ld [$ff8a], a callba Func_262f4 .asm_e0b8 - ld a, [$d4ad] + ld a, [wd4ad] ld hl, wCurrentStage cp [hl] ret z - ld a, [$d794] + ld a, [wd794] cp $0 jr nz, .asm_e0c8 ret @@ -17307,22 +17307,22 @@ Func_e08b: ; 0xe08b ld de, $0002 call PlaySoundEffect xor a - ld [$d57d], a - ld [$d57d], a - ld [$d495], a + ld [wd57d], a + ld [wd57d], a + ld [wd495], a ld a, $1 - ld [$d496], a + ld [wd496], a ld a, $2 - ld [$d4c8], a + ld [wd4c8], a xor a - ld [$d7ac], a - ld [$d794], a - ld a, [$d49a] + ld [wd7ac], a + ld [wd794], a + ld a, [wd49a] and a ret nz call Func_30e8 call Func_30db - ld hl, $d5dc + ld hl, wd5dc ld de, Data_2f65 call LoadTextHeader ret @@ -17331,8 +17331,8 @@ HandleFlippers: ; 0xe0fe xor a ld [wFlipperCollision], a ld [hFlipperYCollisionAttribute], a - ld [$d7ba], a - ld [$d7bb], a + ld [wd7ba], a + ld [wd7bb], a call Func_e118 call CheckFlipperCollision ld a, [wFlipperCollision] @@ -17342,20 +17342,20 @@ HandleFlippers: ; 0xe0fe Func_e118: ; 0xe118 call PlayFlipperSoundIfPressed - ld a, [$d7af] + ld a, [wd7af] ld [wLeftFlipperAnimationState], a - ld a, [$d7b3] + ld a, [wd7b3] ld [wRightFlipperAnimationState], a ld hl, wKeyConfigLeftFlipper call IsKeyPressed2 ld hl, -$0333 jr z, .asm_e13b - ld a, [$d7be] + ld a, [wd7be] and a jr nz, .asm_e13b ld hl, $0333 .asm_e13b - ld a, [$d7af] + ld a, [wd7af] and a jr nz, .asm_e145 bit 7, h @@ -17369,12 +17369,12 @@ Func_e118: ; 0xe118 ld hl, $0000 .asm_e150 ld a, l - ld [$d7b0], a + ld [wd7b0], a ld a, h - ld [$d7b1], a - ld a, [$d7ae] + ld [wd7b1], a + ld a, [wd7ae] ld c, a - ld a, [$d7af] + ld a, [wd7af] ld b, a add hl, bc bit 7, h @@ -17389,19 +17389,19 @@ Func_e118: ; 0xe118 ld hl, $0000 .asm_e172 ld a, l - ld [$d7ae], a + ld [wd7ae], a ld a, h - ld [$d7af], a + ld [wd7af], a ld hl, wKeyConfigRightFlipper call IsKeyPressed2 ld hl, -$0333 jr z, .asm_e18e - ld a, [$d7be] + ld a, [wd7be] and a jr nz, .asm_e18e ld hl, $0333 .asm_e18e - ld a, [$d7b3] + ld a, [wd7b3] and a jr nz, .asm_e198 bit 7, h @@ -17415,12 +17415,12 @@ Func_e118: ; 0xe118 ld hl, $0000 .asm_e1a3 ld a, l - ld [$d7b4], a + ld [wd7b4], a ld a, h - ld [$d7b5], a - ld a, [$d7b2] + ld [wd7b5], a + ld a, [wd7b2] ld c, a - ld a, [$d7b3] + ld a, [wd7b3] ld b, a add hl, bc bit 7, h @@ -17435,13 +17435,13 @@ Func_e118: ; 0xe118 ld hl, $0000 .asm_e1c5 ld a, l - ld [$d7b2], a + ld [wd7b2], a ld a, h - ld [$d7b3], a + ld [wd7b3], a ret PlayFlipperSoundIfPressed: ; 0xe1ce - ld a, [$d7be] + ld a, [wd7be] and a ret nz ld hl, wKeyConfigLeftFlipper @@ -17481,15 +17481,15 @@ CheckLeftFlipperCollision: inc c ld a, [wLeftFlipperAnimationState] ld [$ffc2], a - ld a, [$d7af] + ld a, [wd7af] ld [$ffc3], a call ReadFlipperCollisionAttributes ld a, [wFlipperCollision] and a ret z - ld a, [$d7b0] + ld a, [wd7b0] ld [$ffc0], a - ld a, [$d7b1] + ld a, [wd7b1] ld [$ffc1], a ret @@ -17515,16 +17515,16 @@ CheckRightFlipperCollision: ; 0xe226 inc c ld a, [wRightFlipperAnimationState] ld [$ffc2], a - ld a, [$d7b3] + ld a, [wd7b3] ld [$ffc3], a call ReadFlipperCollisionAttributes ld a, [wFlipperCollision] and a ret z ; collision with flipper occurred - ld a, [$d7b4] + ld a, [wd7b4] ld [$ffc0], a - ld a, [$d7b5] + ld a, [wd7b5] ld [$ffc1], a ret @@ -17768,13 +17768,13 @@ HandleFlipperCollision: ; 0xe442 ; This is called when the ball is colliding with either the ; right or left flipper. ld a, $1 - ld [$d7e9], a + ld [wd7e9], a xor a - ld [$d7f3], a - ld [$d7f4], a - ld [$d7f5], a - ld [$d7f6], a - ld [$d7f7], a + ld [wd7f3], a + ld [wd7f4], a + ld [wd7f5], a + ld [wd7f6], a + ld [wd7f7], a ld a, [hFlipperYCollisionAttribute] sla a ld c, a @@ -17795,9 +17795,9 @@ HandleFlipperCollision: ; 0xe442 rl d ; multiplied de by 4 call Func_e379 ld a, b - ld [$d7bc], a + ld [wd7bc], a ld a, l - ld [$d7bd], a + ld [wd7bd], a ld a, [wBallXPos + 1] cp $50 ; which flipper did the ball hit? ld a, [wFlipperXCollisionAttribute] @@ -17805,15 +17805,15 @@ HandleFlipperCollision: ; 0xe442 cpl ; invert the x collision attribute inc a .asm_e48b - ld [$d7ea], a + ld [wd7ea], a ld a, $1 - ld [$d7eb], a - ld a, [$d7bd] + ld [wd7eb], a + ld a, [wd7bd] bit 7, a ret z xor a - ld [$d7bc], a - ld [$d7bd], a + ld [wd7bc], a + ld [wd7bd], a ret Func_e4a1: ; 0xe4a1 @@ -17833,7 +17833,7 @@ Func_e4a1: ; 0xe4a1 ld c, a push hl ld hl, Data_e50e - ld a, [$d7af] + ld a, [wd7af] ld e, a ld d, $0 add hl, de @@ -17843,7 +17843,7 @@ Func_e4a1: ; 0xe4a1 ld a, [hGameBoyColorFlag] and a jr nz, .asm_e4d4 - ld a, [$d7be] + ld a, [wd7be] and a jr z, .asm_e4d4 ld a, $18 @@ -17865,7 +17865,7 @@ Func_e4a1: ; 0xe4a1 sub e ld c, a ld hl, Data_e523 - ld a, [$d7b3] + ld a, [wd7b3] ld e, a ld d, $0 add hl, de @@ -17875,7 +17875,7 @@ Func_e4a1: ; 0xe4a1 ld a, [hGameBoyColorFlag] and a jr nz, .asm_e504 - ld a, [$d7be] + ld a, [wd7be] and a jr z, .asm_e504 ld a, $17 @@ -18095,16 +18095,16 @@ LoadCollisionAttributes: ; 0xe656 Func_e674: ; 0xe674 push af - ld a, [$d548] + ld a, [wd548] push af xor a - ld [$d548], a - ld [$d803], a + ld [wd548], a + ld [wd803], a ld [$ff8a], a callba Func_84b7 call Func_926 pop af - ld [$d548], a + ld [wd548], a pop af ld [wCurrentStage], a xor a @@ -18133,7 +18133,7 @@ Func_e6c2: ; 0xe6c2 bit 0, a ld a, $86 jr z, .asm_e6d5 - ld a, [$d5ca] + ld a, [wd5ca] and a ld a, $86 jr nz, .asm_e6d5 @@ -18149,7 +18149,7 @@ Func_e6c2: ; 0xe6c2 ld a, [wCurrentStage] call LoadVideoData xor a - ld [$d7f2], a + ld [wd7f2], a ld [$ff8a], a callba Func_8471 ret @@ -18503,7 +18503,7 @@ Func_ece9: ; 0xece9 .asm_ed2e ld a, $1 - ld [$d4ae], a + ld [wd4ae], a ld [$ff8a], a callba Func_dc49 ret @@ -18549,8 +18549,8 @@ BallMovingDownStageTransitions: ; 0xed4e db $FF ; STAGE_SEEL_BONUS Func_ed5e: ; 0xed5e - ld hl, $d7ab - ld a, [$d7ac] + ld hl, wd7ab + ld a, [wd7ac] and a jr nz, .asm_ed7f ld a, [wBallXPos + 1] @@ -18559,7 +18559,7 @@ Func_ed5e: ; 0xed5e jr nc, .asm_ed72 ld a, $fe .asm_ed72 - ld [$d7aa], a + ld [wd7aa], a add [hl] cp $22 jr z, .asm_ed7f @@ -18568,29 +18568,29 @@ Func_ed5e: ; 0xed5e ld [hl], a .asm_ed7f ld a, [hl] - ld hl, $d79f + ld hl, wd79f sub [hl] ld [hBoardXShift], a xor a - ld hl, $d7a0 + ld hl, wd7a0 sub [hl] ld [hBoardYShift], a ret Func_ed8e: ; 0xed8e xor a - ld [$d803], a - ld [$d804], a - ld [$d622], a + ld [wd803], a + ld [wd804], a + ld [wd622], a ld a, [wNumPartyMons] - ld [$d620], a + ld [wd620], a ld a, [wBallType] ld c, a ld b, $0 ld hl, BallTypeMultipliers add hl, bc ld a, [hl] - ld [$d621], a + ld [wd621], a .asm_edac xor a ld [hJoypadState], a @@ -18608,10 +18608,10 @@ Func_ed8e: ; 0xed8e call Func_33e3 call Func_926 rst AdvanceFrame - ld a, [$d7af] + ld a, [wd7af] and a jr nz, .asm_edac - ld a, [$d7b3] + ld a, [wd7b3] and a jr nz, .asm_edac ld a, [hGameBoyColorFlag] @@ -18619,17 +18619,17 @@ Func_ed8e: ; 0xed8e call nz, Func_f269 call GenRandom and $f0 - ld [$d61a], a + ld [wd61a], a xor a - ld [$d61b], a - ld [$d61e], a + ld [wd61b], a + ld [wd61e], a .asm_6df7 - ld a, [$d61a] + ld a, [wd61a] ld c, a ld b, $0 ld hl, Data_f339 add hl, bc - ld a, [$d619] + ld a, [wd619] add [hl] ld c, a ld hl, Data_f439 @@ -18638,13 +18638,13 @@ Func_ed8e: ; 0xed8e bit 7, a jr nz, .asm_ee56 call Func_eef9 - ld [$d61d], a + ld [wd61d], a push af ld de, $0009 call PlaySoundEffect pop af call LoadBillboardOffPicture - ld a, [$d61b] + ld a, [wd61b] cp $a jr nc, .asm_ee29 ld a, $a @@ -18653,38 +18653,38 @@ Func_ed8e: ; 0xed8e .asm_ee2a push bc call Func_eeee - ld a, [$d61e] + ld a, [wd61e] and a jr nz, .asm_ee47 call Func_ef1e jr z, .asm_ee47 - ld [$d61e], a + ld [wd61e], a ld a, $32 - ld [$d61b], a + ld [wd61b], a ld de, $0728 call PlaySoundEffect .asm_ee47 pop bc dec b jr nz, .asm_ee2a - ld a, [$d61b] + ld a, [wd61b] inc a - ld [$d61b], a + ld [wd61b], a cp $3c jr z, .asm_ee69 .asm_ee56 - ld a, [$d61a] + ld a, [wd61a] and $f0 ld b, a - ld a, [$d61a] + ld a, [wd61a] inc a and $f or b - ld [$d61a], a + ld [wd61a], a jp .asm_6df7 .asm_ee69 - ld a, [$d61d] + ld a, [wd61d] cp $5 jr nz, .asm_ee78 ld de, $0c42 @@ -18707,7 +18707,7 @@ Func_ed8e: ; 0xed8e .asm_ee8b ld a, [hGameBoyColorFlag] and a - ld a, [$d61d] + ld a, [wd61d] call nz, Func_f2a0 ld b, $80 .asm_ee96 @@ -18717,12 +18717,12 @@ Func_ed8e: ; 0xed8e jr nz, .asm_eeae bit 4, b jr z, .asm_eea8 - ld a, [$d61d] + ld a, [wd61d] call LoadBillboardPicture jr .asm_eeae .asm_eea8 - ld a, [$d61d] + ld a, [wd61d] call LoadBillboardOffPicture .asm_eeae rst AdvanceFrame @@ -18732,14 +18732,14 @@ Func_ed8e: ; 0xed8e dec b jr nz, .asm_ee96 .asm_eeb8 - ld a, [$d619] + ld a, [wd619] add $a cp $fa jr nz, .asm_eec3 ld a, $64 .asm_eec3 - ld [$d619], a - ld a, [$d61d] + ld [wd619], a + ld a, [wd61d] rst JumpTable ; calls JumpToFuncInTable CallTable_eeca: ; 0xeeca dw Func_ef35 @@ -18775,7 +18775,7 @@ Func_eeee: ; 0xeeee Func_eef9: ; 0xeef9 cp $8 jr nz, .asm_ef09 - ld a, [$d620] + ld a, [wd620] and a jr nz, .asm_ef06 ld a, $7 @@ -18789,7 +18789,7 @@ Func_eef9: ; 0xeef9 cp $9 jr nz, .asm_ef14 push hl - ld hl, $d621 + ld hl, wd621 add [hl] pop hl ret @@ -18798,7 +18798,7 @@ Func_eef9: ; 0xeef9 cp $d ret nz push hl - ld hl, $d498 + ld hl, wd498 add [hl] pop hl ret @@ -18827,55 +18827,55 @@ Func_ef35: ; 0xef35 ld a, $0 ld [wBallSaverIconOn], a ld a, $ff - ld [$d4a2], a + ld [wd4a2], a ld a, $3b ld [wBallSaverTimerFrames], a ld a, $1e ld [wBallSaverTimerSeconds], a ld a, $2 - ld [$d4a5], a + ld [wd4a5], a ret Func_ef4f: ; 0xef4f ld a, $0 ld [wBallSaverIconOn], a ld a, $ff - ld [$d4a2], a + ld [wd4a2], a ld a, $3b ld [wBallSaverTimerFrames], a ld a, $3c ld [wBallSaverTimerSeconds], a ld a, $2 - ld [$d4a5], a + ld [wd4a5], a ret Func_ef69: ; 0xef69 ld a, $0 ld [wBallSaverIconOn], a ld a, $ff - ld [$d4a2], a + ld [wd4a2], a ld a, $3b ld [wBallSaverTimerFrames], a ld a, $5a ld [wBallSaverTimerSeconds], a ld a, $2 - ld [$d4a5], a + ld [wd4a5], a ret Func_ef83: ; 0xef83 ld a, $1 - ld [$d51d], a + ld [wd51d], a ld a, $f - ld [$d517], a + ld [wd517], a xor a - ld [$d85d], a + ld [wd85d], a call Func_310a rst AdvanceFrame ld a, $0 ld [$ff8a], a callba PlayPikachuSoundClip ld a, $1 - ld [$d85d], a + ld [wd85d], a ret Func_efa7: ; 0xefa7 @@ -18886,7 +18886,7 @@ Func_efa7: ; 0xefa7 Func_efb2: ; 0xefb2 ld a, $8 call Func_a21 - ld [$d61f], a + ld [wd61f], a ld b, $80 .asm_efbc push bc @@ -18895,13 +18895,13 @@ Func_efb2: ; 0xefb2 jr nz, .asm_efd8 bit 4, b jr z, .asm_efd0 - ld a, [$d61f] + ld a, [wd61f] add $12 call LoadBillboardPicture jr .asm_efd8 .asm_efd0 - ld a, [$d61f] + ld a, [wd61f] add $12 call LoadBillboardOffPicture .asm_efd8 @@ -18913,7 +18913,7 @@ Func_efb2: ; 0xefb2 dec b jr nz, .asm_efbc .asm_efe3 - ld a, [$d61f] + ld a, [wd61f] inc a swap a ld e, a @@ -18925,7 +18925,7 @@ Func_efb2: ; 0xefb2 Func_eff3: ; 0xeff3 ld a, $8 call Func_a21 - ld [$d61f], a + ld [wd61f], a ld b, $80 .asm_effd push bc @@ -18934,13 +18934,13 @@ Func_eff3: ; 0xeff3 jr nz, .asm_f019 bit 4, b jr z, .asm_f011 - ld a, [$d61f] + ld a, [wd61f] add $1b call LoadBillboardPicture jr .asm_f019 .asm_f011 - ld a, [$d61f] + ld a, [wd61f] add $1b call LoadBillboardOffPicture .asm_f019 @@ -18952,7 +18952,7 @@ Func_eff3: ; 0xeff3 dec b jr nz, .asm_effd .asm_f024 - ld a, [$d61f] + ld a, [wd61f] inc a swap a ld c, a @@ -18963,12 +18963,12 @@ Func_eff3: ; 0xeff3 Func_f034: ; 0xf034 ld a, $1 - ld [$d622], a + ld [wd622], a ret Func_f03a: ; 0xf03a ld a, $2 - ld [$d622], a + ld [wd622], a ret UpgradeBallBlueField: ; 0xf040 @@ -18985,7 +18985,7 @@ UpgradeBallBlueField: ; 0xf040 call Func_30e8 call Func_30db ld de, $2907 - ld hl, $d5cc + ld hl, wd5cc call LoadTextHeader ; upgrade ball type ld a, [wBallType] @@ -19011,12 +19011,12 @@ UpgradeBallBlueField: ; 0xf040 push de call Func_30e8 call Func_30db - ld hl, $d5d4 + ld hl, wd5d4 ld de, $2948 call Func_32cc pop de pop bc - ld hl, $d5cc + ld hl, wd5cc ld de, FieldMultiplierSpecialBonusText call LoadTextHeader .asm_f0b0 @@ -19036,7 +19036,7 @@ BallTypeProgressionBlueField: ; 0xf0bb Func_f0c1: ; 0xf0c1 ld a, $4 call Func_a21 - ld [$d61f], a + ld [wd61f], a ld b, $80 .asm_f0cb push bc @@ -19045,13 +19045,13 @@ Func_f0c1: ; 0xf0c1 jr nz, .asm_f0e7 bit 4, b jr z, .asm_f0df - ld a, [$d61f] + ld a, [wd61f] add $24 call LoadBillboardPicture jr .asm_f0e7 .asm_f0df - ld a, [$d61f] + ld a, [wd61f] add $24 call LoadBillboardOffPicture .asm_f0e7 @@ -19064,16 +19064,16 @@ Func_f0c1: ; 0xf0c1 jr nz, .asm_f0cb .asm_f0f2 ld a, $3 - ld [$d610], a + ld [wd610], a xor a - ld [$d611], a - ld [$d612], a - ld a, [$d482] + ld [wd611], a + ld [wd612], a + ld a, [wd482] call Func_f14a ld b, c - ld a, [$d61f] + ld a, [wd61f] inc a - ld hl, $d482 + ld hl, wd482 add [hl] cp $64 jr c, .asm_f113 @@ -19089,10 +19089,10 @@ Func_f0c1: ; 0xf0c1 call nz, BankSwitch ld [$ff8a], a callba Func_16f95 - ld a, [$d60c] + ld a, [wd60c] ld [$ff8a], a callba Func_f154 ; no need for BankSwitch here... - ld a, [$d60d] + ld a, [wd60d] add $14 ld [$ff8a], a callba Func_f154 ; no need for BankSwitch here... @@ -19131,7 +19131,7 @@ CallTable_f15a: ; 0xf15a Func_f172: ; 0xf172 ld a, $1 - ld [$d623], a + ld [wd623], a ret LoadBillboardPicture: ; 0xf178 @@ -19524,7 +19524,7 @@ Func_f55c: ; 0xf55c Func_f57f: ; 0xf57f xor a - ld [$d4aa], a + ld [wd4aa], a ld hl, wcBottomMessageText ld a, $81 ld b, $40 @@ -19549,18 +19549,18 @@ Func_f5a0: ; 0xf5a0 ld de, wcBottomMessageText + $80 ld hl, Data_3070 call PrintTextNoHeader - ld hl, $d489 + ld hl, wd489 call Func_f8b5 - ld hl, $d48f + ld hl, wd48f call Func_f8b5 ld a, $1 - ld [$d4ab], a + ld [wd4ab], a call Func_f626 call Func_f64e call Func_f60a call Func_f676 ld a, $1 - ld [$d4ab], a + ld [wd4ab], a call Func_f70d ld a, [wGameOver] and a @@ -19628,12 +19628,12 @@ Func_f626: ; 0xf626 ld hl, Data_3006 ; todo call PrintTextNoHeader ld hl, wcBottomMessageText + $01 - ld a, [$d628] + ld a, [wd628] call Func_f78e ld bc, $0040 ld de, $0000 call Func_f80d - ld hl, $d628 + ld hl, wd628 ld de, PointsData_f921 call Func_f853 call Func_f824 @@ -19644,12 +19644,12 @@ Func_f64e: ; 0xf64e ld hl, Data_3019 ; todo call PrintTextNoHeader ld hl, wcBottomMessageText - ld a, [$d629] + ld a, [wd629] call Func_f78e ld bc, $0040 ld de, $0000 call Func_f80d - ld hl, $d629 + ld hl, wd629 ld de, PointsData_f927 call Func_f853 call Func_f824 @@ -19666,7 +19666,7 @@ Func_f676: ; 0xf676 ld bc, $00c0 ld de, $0000 call Func_f80d - ld a, [$d4ab] + ld a, [wd4ab] and a jr z, .asm_f69f rst AdvanceFrame @@ -19674,7 +19674,7 @@ Func_f676: ; 0xf676 bit BIT_A_BUTTON, a jr z, .asm_f69f xor a - ld [$d4ab], a + ld [wd4ab], a .asm_f69f pop bc dec b @@ -19686,7 +19686,7 @@ Func_f676: ; 0xf676 ld hl, Data_3086 ; todo call PrintTextNoHeader ld hl, wcBottomMessageText + $50 - ld a, [$d482] + ld a, [wd482] call Func_f78e ld bc, $0040 ld de, $0040 @@ -19694,7 +19694,7 @@ Func_f676: ; 0xf676 .asm_f6c7 push de push hl - ld hl, $d494 + ld hl, wd494 ld de, wcBottomMessageText + $86 call Func_f8bd ld bc, $0040 @@ -19702,7 +19702,7 @@ Func_f676: ; 0xf676 call Func_f80d ld de, $003e call PlaySoundEffect - ld a, [$d4ab] + ld a, [wd4ab] and a jr z, .asm_f6f2 rst AdvanceFrame @@ -19710,17 +19710,17 @@ Func_f676: ; 0xf676 bit BIT_A_BUTTON, a jr z, .asm_f6f2 xor a - ld [$d4ab], a + ld [wd4ab], a .asm_f6f2 pop hl pop de - ld a, [$d482] + ld a, [wd482] and a jr z, .asm_f709 dec a - ld [$d482], a - ld hl, $d48f - ld de, $d489 + ld [wd482], a + ld hl, wd48f + ld de, wd489 call Func_f902 jr .asm_f6c7 @@ -19739,7 +19739,7 @@ Func_f70d: ; 0xf70d ld bc, $00c0 ld de, $0000 call Func_f80d - ld a, [$d4ab] + ld a, [wd4ab] and a jr z, .asm_f736 rst AdvanceFrame @@ -19747,7 +19747,7 @@ Func_f70d: ; 0xf70d bit BIT_A_BUTTON, a jr z, .asm_f736 xor a - ld [$d4ab], a + ld [wd4ab], a .asm_f736 pop bc dec b @@ -19755,7 +19755,7 @@ Func_f70d: ; 0xf70d ld de, wcBottomMessageText + $60 ld hl, Data_308d call PrintTextNoHeader - ld hl, $d46f + ld hl, wd46f ld de, wcBottomMessageText + $66 call Func_f8bd ld bc, $0040 @@ -19763,7 +19763,7 @@ Func_f70d: ; 0xf70d call Func_f80d ld de, $003e call PlaySoundEffect - ld a, [$d4ab] + ld a, [wd4ab] and a jr z, .asm_f76c rst AdvanceFrame @@ -19771,12 +19771,12 @@ Func_f70d: ; 0xf70d bit BIT_A_BUTTON, a jr z, .asm_f76c xor a - ld [$d4ab], a + ld [wd4ab], a .asm_f76c ld hl, wScore - ld de, $d48f + ld de, wd48f call Func_f902 - ld hl, $d46f + ld hl, wd46f ld de, wcBottomMessageText + $66 call Func_f8bd ld bc, $0040 @@ -19814,7 +19814,7 @@ Func_f78e: ; 0xf78e ret PrintTextNoHeader: ; 0xf7b1 - ld a, [$d805] + ld a, [wd805] and a jr nz, .asm_f7e0 .loop @@ -19913,7 +19913,7 @@ Func_f824: ; 0xf824 ret Func_f83a: ; 0xf83a - ld a, [$d4ab] + ld a, [wd4ab] and a ret z ld b, $46 @@ -19930,18 +19930,18 @@ Func_f83a: ; 0xf83a .asm_f84e xor a - ld [$d4ab], a + ld [wd4ab], a ret Func_f853: ; 0xf853 push hl - ld hl, $d483 + ld hl, wd483 call Func_f8b5 pop hl .asm_f85b push de push hl - ld hl, $d488 + ld hl, wd488 ld de, wcBottomMessageText + $46 call Func_f8bd ld bc, $0040 @@ -19949,7 +19949,7 @@ Func_f853: ; 0xf853 call Func_f80d ld de, $003e call PlaySoundEffect - ld a, [$d4ab] + ld a, [wd4ab] and a jr z, .asm_f886 rst AdvanceFrame @@ -19957,7 +19957,7 @@ Func_f853: ; 0xf853 bit BIT_A_BUTTON, a jr z, .asm_f886 xor a - ld [$d4ab], a + ld [wd4ab], a .asm_f886 pop hl pop de @@ -19967,17 +19967,17 @@ Func_f853: ; 0xf853 dec [hl] push de push hl - ld hl, $d483 + ld hl, wd483 call Func_f902 pop hl pop de jr .asm_f85b .asm_f899 - ld hl, $d489 - ld de, $d483 + ld hl, wd489 + ld de, wd483 call Func_f902 - ld hl, $d48e + ld hl, wd48e ld de, wcBottomMessageText + $86 call Func_f8bd ld bc, $0040 @@ -20105,12 +20105,12 @@ Func_f952: ; 0xf952 ld hl, BellsproutCounterText call PrintTextNoHeader ld hl, wcBottomMessageText + $03 - ld a, [$d62a] + ld a, [wd62a] call Func_f78e ld bc, $0040 ld de, $0000 call Func_f80d - ld hl, $d62a + ld hl, wd62a ld de, PointsData_f92d call Func_f853 call Func_f824 @@ -20121,12 +20121,12 @@ Func_f97a: ; 0xf97a ld hl, DugtrioCounterText call PrintTextNoHeader ld hl, wcBottomMessageText + $04 - ld a, [$d62b] + ld a, [wd62b] call Func_f78e ld bc, $0040 ld de, $0000 call Func_f80d - ld hl, $d62b + ld hl, wd62b ld de, PointsData_f933 call Func_f853 call Func_f824 @@ -20137,12 +20137,12 @@ Func_f9a2: ; 0xf9a2 ld hl, CaveShotCounterText call PrintTextNoHeader ld hl, wcBottomMessageText + $03 - ld a, [$d62c] + ld a, [wd62c] call Func_f78e ld bc, $0040 ld de, $0000 call Func_f80d - ld hl, $d62c + ld hl, wd62c ld de, PointsData_f939 call Func_f853 call Func_f824 @@ -20153,12 +20153,12 @@ Func_f9ca: ; 0xf9ca ld hl, SpinnerTurnsCounterText call PrintTextNoHeader ld hl, wcBottomMessageText + $01 - ld a, [$d62d] + ld a, [wd62d] call Func_f78e ld bc, $0040 ld de, $0000 call Func_f80d - ld hl, $d62d + ld hl, wd62d ld de, PointsData_f93f call Func_f853 call Func_f824 @@ -20181,12 +20181,12 @@ Func_fa06: ; 0xfa06 ld hl, CloysterCounterText call PrintTextNoHeader ld hl, wcBottomMessageText + $04 - ld a, [$d63b] + ld a, [wd63b] call Func_f78e ld bc, $0040 ld de, $0000 call Func_f80d - ld hl, $d63b + ld hl, wd63b ld de, PointsData_f92d call Func_f853 call Func_f824 @@ -20197,12 +20197,12 @@ Func_fa2e: ; 0xfa2e ld hl, SlowpokeCounterText call PrintTextNoHeader ld hl, wcBottomMessageText + $04 - ld a, [$d63a] + ld a, [wd63a] call Func_f78e ld bc, $0040 ld de, $0000 call Func_f80d - ld hl, $d63a + ld hl, wd63a ld de, PointsData_f92d call Func_f853 call Func_f824 @@ -20213,12 +20213,12 @@ Func_fa56: ; 0xfa56 ld hl, PoliwagCounterText call PrintTextNoHeader ld hl, wcBottomMessageText + $04 - ld a, [$d63d] + ld a, [wd63d] call Func_f78e ld bc, $0040 ld de, $0000 call Func_f80d - ld hl, $d63d + ld hl, wd63d ld de, PointsData_f933 call Func_f853 call Func_f824 @@ -20229,12 +20229,12 @@ Func_fa7e: ; 0xfa7e ld hl, PsyduckCounterText call PrintTextNoHeader ld hl, wcBottomMessageText + $04 - ld a, [$d63c] + ld a, [wd63c] call Func_f78e ld bc, $0040 ld de, $0000 call Func_f80d - ld hl, $d63c + ld hl, wd63c ld de, PointsData_f933 call Func_f853 call Func_f824 @@ -20245,12 +20245,12 @@ Func_faa6: ; 0xfaa6 ld hl, CaveShotCounterText call PrintTextNoHeader ld hl, wcBottomMessageText + $03 - ld a, [$d62c] + ld a, [wd62c] call Func_f78e ld bc, $0040 ld de, $0000 call Func_f80d - ld hl, $d62c + ld hl, wd62c ld de, PointsData_f939 call Func_f853 call Func_f824 @@ -20261,12 +20261,12 @@ Func_face: ; 0xface :) ld hl, SpinnerTurnsCounterText call PrintTextNoHeader ld hl, wcBottomMessageText + $01 - ld a, [$d62d] + ld a, [wd62d] call Func_f78e ld bc, $0040 ld de, $0000 call Func_f80d - ld hl, $d62d + ld hl, wd62d ld de, PointsData_f93f call Func_f853 call Func_f824 @@ -20295,7 +20295,7 @@ Func_10000: ; 0x10000 and a ret z ld a, c - ld [$d54c], a + ld [wd54c], a ld a, [wSpecialMode] cp $1 jp z, Func_10a95 @@ -20339,7 +20339,7 @@ StartCatchEmMode: ; 0x1003f ld [wInSpecialMode], a ; set special mode flag xor a ld [wSpecialMode], a - ld [$d54d], a + ld [wd54d], a ld a, [wCurrentStage] sla a ld c, a @@ -20391,14 +20391,14 @@ StartCatchEmMode: ; 0x1003f ld bc, Data_13685 add hl, bc ld a, [hli] - ld [$d5c1], a - ld [$d5be], a + ld [wd5c1], a + ld [wd5be], a ld a, [hli] - ld [$d5c2], a + ld [wd5c2], a ld a, [hli] - ld [$d5c3], a - ld hl, $d586 - ld a, [$d5b6] + ld [wd5c3], a + ld hl, wd586 + ld a, [wd5b6] ld c, a and a ld b, $18 @@ -20507,9 +20507,9 @@ CheckForMew: Func_10157: ; 0x10157 xor a ld [wInSpecialMode], a - ld [$d5bb], a - ld [$d5c6], a - ld [$d5b6], a + ld [wd5bb], a + ld [wd5c6], a + ld [wd5b6], a ld [wNumMonHits], a call Func_10488 ld [$ff8a], a @@ -20564,7 +20564,7 @@ Func_10184: ; 0x10184 ld a, [hli] ld [$ff91], a ld de, wc000 - ld hl, $d586 + ld hl, wd586 ld c, $0 .asm_101bb ld a, [hli] @@ -20750,7 +20750,7 @@ Func_102bc: ; 0x102bc ld [$ff8d], a ld a, [hl] ld [$ff8e], a - ld de, $c1b8 + ld de, wc1b8 ld a, $10 ld [de], a inc de @@ -20772,7 +20772,7 @@ Func_102bc: ; 0x102bc ld a, $0 ld [de], a xor a - ld bc, $c1b8 + ld bc, wc1b8 ld de, $1266 call Func_10c5 ret @@ -20796,7 +20796,7 @@ Func_10301: ; 0x10301 ld [$ff8d], a ld a, [hl] ld [$ff8e], a - ld de, $c1b8 + ld de, wc1b8 ld a, $10 ld [de], a inc de @@ -20839,7 +20839,7 @@ Func_10301: ; 0x10301 ld a, $0 ld [de], a xor a - ld bc, $c1b8 + ld bc, wc1b8 ld de, $1266 call Func_10c5 ret @@ -20863,7 +20863,7 @@ Func_10362: ; 0x10362 ld [$ff8d], a ld a, [hl] ld [$ff8e], a - ld de, $c150 + ld de, wc150 ld bc, $0000 .asm_10384 call Func_1038e @@ -20993,7 +20993,7 @@ Func_10488: ; 0x10488 Func_10496: ; 0x10496 xor a - ld [$d5c6], a + ld [wd5c6], a ld a, BANK(PikachuSaverGfx) ld hl, PikachuSaverGfx + $c0 ld de, $87e0 @@ -21009,15 +21009,15 @@ Func_10496: ; 0x10496 ld de, wBallCaptureAnimationFrameCounter call CopyHLToDE ld a, $1 - ld [$d5f3], a + ld [wd5f3], a xor a ld [wBallXVelocity], a ld [wBallXVelocity + 1], a ld [wBallYVelocity], a ld [wBallYVelocity + 1], a xor a - ld [$d548], a - ld [$d549], a + ld [wd548], a + ld [wd549], a ld de, $000b call PlaySoundEffect ret @@ -21082,7 +21082,7 @@ CapturePokemon: ; 0x1052d cp $1 jr nz, .asm_1055d xor a - ld [$d5bb], a + ld [wd5bb], a ret .asm_1055d @@ -21104,24 +21104,24 @@ CapturePokemon: ; 0x1052d and a call z, Func_10848 ld a, $50 - ld [$d4b4], a + ld [wd4b4], a ld a, $40 - ld [$d4b6], a + ld [wd4b6], a ld a, $80 ld [wBallXVelocity], a xor a ld [wBallXPos], a ld [wBallYPos], a - ld [$d5f3], a + ld [wd5f3], a ld a, $1 - ld [$d548], a - ld [$d549], a + ld [wd548], a + ld [wd549], a ld [$ff8a], a callba Func_dc00 call Func_10157 ld de, $0001 call PlaySong - ld hl, $d628 + ld hl, wd628 call Func_e4a jr nc, .asm_105d1 ld c, $a @@ -21132,13 +21132,13 @@ CapturePokemon: ; 0x1052d call z, BankSwitch .asm_105d1 call SetPokemonOwnedFlag - ld a, [$d624] + ld a, [wd624] cp $3 ret z inc a - ld [$d625], a + ld [wd625], a ld a, $80 - ld [$d626], a + ld [wd626], a ret BallCaptureAnimationData: ; 0x105e4 @@ -21190,27 +21190,27 @@ Data_1062a: Func_10648: ; 0x10648 call Func_10184 - ld a, [$d54e] + ld a, [wd54e] dec a - ld [$d54e], a + ld [wd54e], a jr nz, .asm_10677 ld a, $14 - ld [$d54e], a - ld hl, $d586 + ld [wd54e], a + ld hl, wd586 ld b, $18 .asm_1065e - ld a, [$d54f] + ld a, [wd54f] and $1 ld [hli], a xor $1 ld [hli], a dec b jr nz, .asm_1065e - ld a, [$d54f] + ld a, [wd54f] dec a - ld [$d54f], a + ld [wd54f], a jr nz, .asm_10677 - ld hl, $d54d + ld hl, wd54d inc [hl] .asm_10677 ret @@ -21222,19 +21222,19 @@ Func_10678: ; 0x10678 ld hl, MonAnimatedSpriteTypes add hl, bc ld a, [hl] - ld [$d5bc], a - ld [$d5bd], a + ld [wd5bc], a + ld [wd5bd], a ld a, $1 - ld [$d5bb], a + ld [wd5bb], a xor a - ld [$d5bf], a + ld [wd5bf], a ld [wNumMonHits], a ret Func_10696: ; 0x10696 call Func_30e8 call Func_30db - ld hl, $d5cc + ld hl, wd5cc ld de, LetsGetPokemonText call LoadTextHeader ret @@ -21242,7 +21242,7 @@ Func_10696: ; 0x10696 Func_106a6: ; 0x106a6 call Func_30e8 call Func_30db - ld hl, $d5cc + ld hl, wd5cc ld de, PokemonRanAwayText call LoadTextHeader ret @@ -21283,10 +21283,10 @@ Func_106b6: ; 0x106b6 push de call Func_30e8 call Func_30db - ld hl, $d5cc + ld hl, wd5cc pop de call LoadTextHeader - ld hl, $d5d4 + ld hl, wd5d4 pop de call LoadTextHeader pop hl @@ -21307,16 +21307,16 @@ Func_106b6: ; 0x106b6 inc de xor a ld [de], a - ld a, [$d5db] + ld a, [wd5db] add b - ld [$d5db], a + ld [wd5db], a ld a, $14 sub b srl a ld b, a - ld a, [$d5d8] + ld a, [wd5d8] add b - ld [$d5d8], a + ld [wd5d8], a ret Func_10732: ; 0x10732 @@ -21394,7 +21394,7 @@ Func_107a5: ; 0x107a5 Func_107b0: ; 0x107b0 xor a - ld [$d604], a + ld [wd604], a ld [wIndicatorStates + 4], a ld [$ff8a], a callba Func_16425 @@ -21402,7 +21402,7 @@ Func_107b0: ; 0x107b0 Func_107c2: ; 0x107c2 ld a, $1e - ld [$d607], a + ld [wd607], a ret Func_107c8: ; 0x107c8 @@ -21430,7 +21430,7 @@ Func_107e9: ; 0x107e9 jr nz, .asm_107f4 ld a, $6 .asm_107f4 - ld [$d7ad], a + ld [wd7ad], a ret Func_107f8: ; 0x107f8 @@ -21468,12 +21468,12 @@ Func_10825: ; 0x10825 call Func_351c call Func_30e8 call Func_30db - ld hl, $d5e9 + ld hl, wd5e9 ld de, $2a50 call Func_3372 pop de pop bc - ld hl, $d5e4 + ld hl, wd5e4 ld de, $2a43 call Func_3357 ret @@ -21484,10 +21484,10 @@ Func_10848: ; 0x10848 callba Func_8588 call Func_30e8 call Func_30db - ld hl, $d5d4 + ld hl, wd5d4 ld de, OneBillionText call LoadTextHeader - ld hl, $d5cc + ld hl, wd5cc ld de, PokemonCaughtSpecialBonusText call LoadTextHeader call Func_3475 @@ -21531,7 +21531,7 @@ Func_10871: ; 0x10871 ld [wRightAlleyCount], a call Func_107b0 ld a, $4 - ld [$d7ad], a + ld [wd7ad], a ld de, $0002 call PlaySong ld a, [wCurrentStage] @@ -21582,7 +21582,7 @@ Func_108f5: ; 0x108f5 ld hl, Data_10958 ld a, $4 call Func_10aa - ld a, [$d624] + ld a, [wd624] ld [$ff8a], a callba Func_174d4 ld hl, Data_1097d @@ -21685,7 +21685,7 @@ Func_109fc: ; 0x109fc ld hl, Data_10a63 ld a, $4 call Func_10aa - ld a, [$d624] + ld a, [wd624] ld [$ff8a], a callba Func_174d4 ld hl, Data_10a88 @@ -21750,15 +21750,15 @@ CallTable_10abc: ; 0x10abc Func_10ac8: ; 0x10ac8 xor a - ld [$d5ca], a + ld [wd5ca], a call Func_30e8 xor a ld [wInSpecialMode], a - ld [$d5bb], a - ld [$d5b6], a + ld [wd5bb], a + ld [wd5b6], a ld [wNumMonHits], a - ld [$d551], a - ld [$d554], a + ld [wd551], a + ld [wd554], a call Func_10488 ld [$ff8a], a callba Func_86d2 @@ -21830,7 +21830,7 @@ VideoData_10b2a: ; 0x10b2a Func_10b3f: ; 0x10b3f call Func_30e8 call Func_30db - ld hl, $d5cc + ld hl, wd5cc ld a, [wCurrentEvolutionType] cp EVO_EXPERIENCE ld de, StartTrainingText @@ -21842,7 +21842,7 @@ Func_10b3f: ; 0x10b3f Func_10b59: ; 0x10b59 xor a - ld [$d4aa], a + ld [wd4aa], a ld hl, wcBottomMessageText ld a, $81 ld b, $30 @@ -21935,15 +21935,15 @@ Func_10ba2: ; 0x10ba2 Func_10bea: ; 0x10bea xor a - ld [$d461], a - ld [$d462], a - ld [$d463], a + ld [wd461], a + ld [wd462], a + ld [wd463], a .asm_10bf4 call Func_10c0c call Func_b2e call Func_10c38 rst AdvanceFrame - ld a, [$d809] + ld a, [wd809] bit 0, a jr z, .asm_10bf4 ld de, $0001 @@ -21951,17 +21951,17 @@ Func_10bea: ; 0x10bea ret Func_10c0c: ; 0x10c0c - ld a, [$d80a] + ld a, [wd80a] ld b, a ld a, [wNumPartyMons] ld c, a - ld a, [$d461] + ld a, [wd461] bit 6, b jr z, .asm_10c28 and a ret z dec a - ld [$d461], a + ld [wd461], a ld de, $0003 call PlaySoundEffect ret @@ -21972,14 +21972,14 @@ Func_10c0c: ; 0x10c0c inc a cp c ret z - ld [$d461], a + ld [wd461], a ld de, $0003 call PlaySoundEffect ret Func_10c38: ; 0x10c38 - ld a, [$d461] - ld hl, $d462 + ld a, [wd461] + ld hl, wd462 sub [hl] jr nc, .asm_10c45 dec [hl] @@ -22002,12 +22002,12 @@ Func_10c38: ; 0x10c38 call Func_10b8e ld a, [hJoypadState] and a - ld a, [$d463] + ld a, [wd463] jr z, .asm_10c62 xor a .asm_10c62 inc a - ld [$d463], a + ld [wd463], a bit 3, a pop bc jr nz, .asm_10c78 @@ -22019,13 +22019,13 @@ Func_10c38: ; 0x10c38 ld a, $88 ld [hl], a .asm_10c78 - ld a, [$d462] + ld a, [wd462] and a jr z, .asm_10c83 ld a, $8a ld [wcBottomMessageText + $11], a .asm_10c83 - ld a, [$d462] + ld a, [wd462] add $7 jr z, .asm_10c96 ld c, a @@ -22043,7 +22043,7 @@ Func_10c38: ; 0x10c38 ret Func_10ca5: ; 0x10ca5 - ld a, [$d461] + ld a, [wd461] ld c, a ld b, $0 ld hl, wPartyMons @@ -22090,12 +22090,12 @@ Func_10cb7: ; 0x10cb7 .asm_10cfc call Func_30e8 ld a, $1 - ld [$d4aa], a + ld [wd4aa], a ld [wInSpecialMode], a ld [wSpecialMode], a xor a - ld [$d54d], a - ld a, [$d461] + ld [wd54d], a + ld a, [wd461] ld c, a ld b, $0 ld hl, wPartyMons @@ -22105,7 +22105,7 @@ Func_10cb7: ; 0x10cb7 ret Func_10d1d: ; 0x10d1d - ld hl, $d586 + ld hl, wd586 ld b, $18 .asm_10d22 ld a, $1 @@ -22121,9 +22121,9 @@ Func_10d1d: ; 0x10d1d add hl, bc ld a, [hl] add $2 - ld [$d555], a + ld [wd555], a xor a - ld hl, $d566 + ld hl, wd566 ld b, $13 .asm_10d40 ld [hli], a @@ -22183,10 +22183,10 @@ Func_10d1d: ; 0x10d1d ld a, [hl] ; a = evoluion type id ld [wCurrentEvolutionType], a xor a - ld [$d554], a - ld [$d556], a - ld [$d557], a - ld hl, $d55c + ld [wd554], a + ld [wd556], a + ld [wd557], a + ld hl, wd55c ld a, $1 ld b, $3 .asm_10dac @@ -22199,8 +22199,8 @@ Func_10d1d: ; 0x10d1d ld [hli], a dec b jr nz, .asm_10db3 - ld de, $d55c - ld a, [$d555] + ld de, wd55c + ld a, [wd555] ld c, a inc a ld b, a @@ -22210,7 +22210,7 @@ Func_10d1d: ; 0x10d1d call Func_a21 ld c, a ld b, $0 - ld hl, $d55c + ld hl, wd55c add hl, bc ld c, [hl] ld a, [de] @@ -22279,10 +22279,10 @@ Func_10e0a: ; 0x10e0a push de call Func_30e8 call Func_30db - ld hl, $d5cc + ld hl, wd5cc pop de call LoadTextHeader - ld hl, $d5d4 + ld hl, wd5d4 pop de call LoadTextHeader pop hl @@ -22303,16 +22303,16 @@ Func_10e0a: ; 0x10e0a inc de xor a ld [de], a - ld a, [$d5db] + ld a, [wd5db] add b - ld [$d5db], a + ld [wd5db], a ld a, $14 sub b srl a ld b, a - ld a, [$d5d8] + ld a, [wd5d8] add b - ld [$d5d8], a + ld [wd5d8], a ret Func_10e8b: ; 0x10e8b @@ -22325,12 +22325,12 @@ Func_10e8b: ; 0x10e8b push de call Func_30e8 call Func_30db - ld hl, $d5d4 + ld hl, wd5d4 ld de, Data_2b6b call Func_32cc pop de pop bc - ld hl, $d5cc + ld hl, wd5cc ld de, EvolutionSpecialBonusText call LoadTextHeader ret @@ -22341,7 +22341,7 @@ Func_10ebb: ; 0x10ebb ret z call Func_10cb7 call Func_10d1d - ld a, [$d555] + ld a, [wd555] sub $2 ld c, a sla c @@ -22362,7 +22362,7 @@ Func_10ebb: ; 0x10ebb ld [wLeftAlleyCount], a call Func_107b0 ld a, $2 - ld [$d7ad], a + ld [wd7ad], a ld de, $0002 call PlaySong call SetPokemonSeenFlag @@ -22459,7 +22459,7 @@ Func_10fe3: ; 0x10fe3 ld hl, Data_10958 ld a, BANK(Data_10958) call Func_10aa - ld a, [$d624] + ld a, [wd624] ld [$ff8a], a callba Func_174d4 ld hl, Data_1097d @@ -22485,8 +22485,8 @@ Func_11061: ; 0x11061 call Func_10cb7 call Func_10d1d ld a, $1 - ld [$d643], a - ld a, [$d555] + ld [wd643], a + ld a, [wd555] sub $2 ld c, a sla c @@ -22508,7 +22508,7 @@ Func_11061: ; 0x11061 ld [$ff8a], a callba Func_1f2ed ld a, $2 - ld [$d7ad], a + ld [wd7ad], a ld de, $0002 call PlaySong call SetPokemonSeenFlag @@ -22576,7 +22576,7 @@ IndicatorStates_11182: ; 0x11182 Func_11195: ; 0x11195 xor a - ld [$d643], a + ld [wd643], a call Func_107a5 call Func_107c2 ld [$ff8a], a @@ -22607,7 +22607,7 @@ Func_11195: ; 0x11195 ld hl, Data_10a63 ld a, BANK(Data_10a63) call Func_10aa - ld a, [$d624] + ld a, [wd624] ld [$ff8a], a callba Func_174d4 ld hl, Data_10a88 @@ -24927,25 +24927,25 @@ Func_1401c: ; 0x1401c ret Func_1404a: ; 0x1404a - ld a, [$d57d] + ld a, [wd57d] and a ret z ld a, [hGameBoyColorFlag] and a ret nz - ld a, [$d580] + ld a, [wd580] and a ret z ld a, $f - ld [$d581], a + ld [wd581], a call Func_1762f - ld hl, $d582 + ld hl, wd582 ld a, $ff ld [hli], a ld [hli], a ld [hli], a ld [hl], a - ld hl, $d582 + ld hl, wd582 ld a, [wTimerMinutes] and $f call Func_1764f @@ -24965,22 +24965,22 @@ Func_1404a: ; 0x1404a Func_14091: ; 0x14091 ld a, $ff - ld [$d4d7], a - ld [$d4db], a - ld a, [$d4b4] - ld [$d4c5], a - ld a, [$d4b6] - ld [$d4c6], a + ld [wd4d7], a + ld [wd4db], a + ld a, [wd4b4] + ld [wd4c5], a + ld a, [wd4b6] + ld [wd4c6], a ld a, [wBallRotation] - ld [$d4c7], a - ld a, [$d503] + ld [wd4c7], a + ld a, [wd503] and a ret z xor a - ld [$d503], a - ld a, [$d502] + ld [wd503], a + ld a, [wd502] res 1, a - ld [$d502], a + ld [wd502], a and $1 ld c, a ld a, [wStageCollisionState] @@ -24999,36 +24999,36 @@ Func_14091: ; 0x14091 Func_140e2: ; 0x140e2 ld a, $ff - ld [$d60e], a - ld [$d60f], a - ld a, [$d60c] + ld [wd60e], a + ld [wd60f], a + ld a, [wd60c] call Func_16f28 - ld a, [$d60d] + ld a, [wd60d] add $14 call Func_16f28 ret Func_140f9: ; 0x140f9 - ld a, [$d4ef] + ld a, [wd4ef] and a jr z, .asm_1410c xor a ld a, $66 - ld [$c7e3], a + ld [wc7e3], a ld a, $67 - ld [$c803], a + ld [wc803], a ld a, $2 .asm_1410c call Func_149d9 ld a, [wLeftMapMoveCounter] call Func_149f5 - ld a, [$d4f1] + ld a, [wd4f1] and a jr z, .asm_14127 ld a, $6a - ld [$c7f0], a + ld [wc7f0], a ld a, $6b - ld [$c810], a + ld [wc810], a ld a, $2 .asm_14127 add $3 @@ -25061,10 +25061,10 @@ Func_1414b: ; 0x1414b ld a, [wSpecialMode] cp $2 ret z - ld a, [$d5c6] + ld a, [wd5c6] and a jr nz, .asm_14165 - ld a, [$d5f3] + ld a, [wd5f3] and a jr nz, .asm_14165 jp Func_14210 @@ -25080,7 +25080,7 @@ Func_1414b: ; 0x1414b ld a, Bank(Func_10301) ld hl, Func_10301 call nz, BankSwitch - ld a, [$d5f3] + ld a, [wd5f3] and a ret z ld a, BANK(PikachuSaverGfx) @@ -25152,7 +25152,7 @@ Func_14209: ; 0x14209 ret Func_14210: ; 0x14210 - ld hl, $d586 + ld hl, wd586 ld b, $18 .asm_14215 ld a, [hli] @@ -25177,7 +25177,7 @@ Func_14234: ; 0x14234 ld a, [wSpecialMode] cp $1 ret nz - ld a, [$d554] + ld a, [wd554] cp $3 ret z ld a, [wCurrentStage] @@ -25197,7 +25197,7 @@ Func_14234: ; 0x14234 ld bc, $00e0 call FarCopyData .asm_1426a - ld a, [$d551] + ld a, [wd551] and a ret z ld a, [hGameBoyColorFlag] @@ -25229,7 +25229,7 @@ Func_14282: ; 0x14282 ret .asm_1429e - ld a, [$d624] + ld a, [wd624] call Func_174d4 ld a, BANK(Data_d8f60) ld hl, Data_d8f60 @@ -25249,7 +25249,7 @@ Func_142b3: ; 0x142b3 Func_142c3: ; 0x142c3 ld de, $0000 - ld a, [$d554] + ld a, [wd554] and a ret z ld b, a @@ -25287,7 +25287,7 @@ Func_142d7: ; 0x142d7 ret Func_142fc: ; 0x142fc - ld a, [$d4c8] + ld a, [wd4c8] and a jr nz, .asm_1430e ld [$ff8a], a @@ -25350,17 +25350,17 @@ Func_14377: ; 0x14377 ld a, [wInSpecialMode] and a jr nz, .asm_143b1 - ld a, [$d609] + ld a, [wd609] and a jr z, .asm_14393 - ld a, [$d498] + ld a, [wd498] add $15 ld [$ff8a], a callba Func_30256 ret .asm_14393 - ld a, [$d608] + ld a, [wd608] and a jr z, .asm_143a6 ld a, $1a @@ -25377,7 +25377,7 @@ Func_14377: ; 0x14377 ld a, [wSpecialMode] cp $2 ret nz - ld a, [$d54d] + ld a, [wd54d] cp $3 jr nz, .asm_143c9 ld [$ff8a], a @@ -25385,11 +25385,11 @@ Func_14377: ; 0x14377 ret .asm_143c9 - ld a, [$d604] + ld a, [wd604] and a ld a, $14 jr nz, .asm_143d6 - ld a, [$d55a] + ld a, [wd55a] add $12 .asm_143d6 ld [$ff8a], a @@ -25426,8 +25426,8 @@ Func_143f9: ; 0x143f9 Func_1441e: ; 0x1441e xor a - ld [$d578], a - ld a, [$d551] + ld [wd578], a + ld a, [wd551] and a ret z ld a, [wCurrentStage] @@ -25443,104 +25443,104 @@ Func_1441e: ; 0x1441e Func_14439: ; 0x14439 ld de, Data_145b5 - ld bc, $d5fe + ld bc, wd5fe scf jp Func_2775 Func_14443: ; 0x14443 ld de, Data_145bb - ld bc, $d601 + ld bc, wd601 scf jp Func_2775 Func_1444d: ; 0x1444d ld de, Data_145af ld hl, Data_1459d - ld bc, $d5c7 + ld bc, wd5c7 and a jp Func_2775 Func_1445a: ; 0x1445a ld de, Data_145c9 ld hl, Data_145c1 - ld bc, $d60a + ld bc, wd60a and a jp Func_2775 Func_14467: ; 0x14467 ld de, Data_144f4 ld hl, Data_144ee - ld bc, $d4ed + ld bc, wd4ed and a jp Func_2775 Func_14474: ; 0x14474 ld de, Data_14515 ; todo ld hl, Data_144fd ; todo - ld bc, $d4cb + ld bc, wd4cb and a jp Func_2775 Func_14481: ; 0x14481 ld de, Data_1452d ld hl, Data_14521 - ld bc, $d4d8 + ld bc, wd4d8 and a jp Func_2775 Func_1448e: ; 0x1448e ld de, Data_14536 - ld bc, $d4dc + ld bc, wd4dc scf jp Func_2775 Func_14498: ; 0x14498 ld de, Data_1453c ; todo - ld bc, $d507 + ld bc, wd507 scf jp Func_2775 Func_144a2: ; 0x144a2 ld de, Data_14542 - ld bc, $d50d + ld bc, wd50d scf jp Func_2775 Func_144ac: ; 0x144ac ld de, Data_14551 - ld bc, $d5f7 + ld bc, wd5f7 scf jp Func_2775 Func_144b6: ; 0x144b6 ld de, Data_1455d ; todo - ld bc, $d51f + ld bc, wd51f scf jp Func_2775 Func_144c0: ; 0x144c0 ld de, Data_1457d ; todo ld hl, Data_14578 ; todo - ld bc, $d500 + ld bc, wd500 and a jp Func_2775 Func_144cd: ; 0x144cd ld de, Data_14588 ld hl, Data_14583 - ld bc, $d500 + ld bc, wd500 and a jp Func_2775 Func_144da: ; 0x144da ld de, Data_1458e - ld bc, $d4fb + ld bc, wd4fb scf jp Func_2775 Func_144e4: ; 0x144e4 ld de, Data_14594 - ld bc, $d515 + ld bc, wd515 scf jp Func_2775 @@ -25737,9 +25737,9 @@ Func_146a9: ; 0x146a9 ld c, $ff .asm_146e4 ld a, c - ld [$d4a2], a + ld [wd4a2], a .asm_146e8 - ld a, [$d4a2] + ld a, [wd4a2] ld c, $0 and a jr z, .asm_146fe @@ -25784,21 +25784,21 @@ Data_1472f: Func_14733: ; 0x14733 ld c, $0 - ld a, [$d49b] + ld a, [wd49b] and a jr z, .asm_1473d ld c, $1 .asm_1473d - ld a, [$d4a9] + ld a, [wd4a9] cp c ld a, c - ld [$d4a9], a + ld [wd4a9], a ret z ; fall through Func_14746: ; 0x14746 ld c, $0 - ld a, [$d49b] + ld a, [wd49b] and a jr z, .asm_14750 ld c, $2 @@ -25817,24 +25817,24 @@ Data_1475f: dr $1475f, $14795 Func_14795: ; 0x14795 - ld a, [$d5c7] + ld a, [wd5c7] and a ret z xor a - ld [$d5c7], a + ld [wd5c7], a ld a, $1 - ld [$d5bf], a + ld [wd5bf], a ld de, $0006 call PlaySoundEffect ret Func_147aa: ; 0x147aa - ld a, [$d4ed] + ld a, [wd4ed] and a jp z, .asm_14834 xor a - ld [$d4ed], a - ld a, [$d4ee] + ld [wd4ed], a + ld a, [wd4ee] sub $1 sla a ld c, a @@ -25847,7 +25847,7 @@ Func_147aa: ; 0x147aa inc a ld [hld], a ld [hl], $50 - ld hl, $d4f7 + ld hl, wd4f7 add hl, bc ld a, $e0 ld [hli], a @@ -25857,9 +25857,9 @@ Func_147aa: ; 0x147aa and a jr z, .asm_14807 ld a, $6a - ld [$c7f0], a + ld [wc7f0], a ld a, $6b - ld [$c810], a + ld [wc810], a ld a, $5 call Func_149d9 ld a, [wRightMapMoveCounter] @@ -25875,9 +25875,9 @@ Func_147aa: ; 0x147aa .asm_14807 ld a, $66 - ld [$c7e3], a + ld [wc7e3], a ld a, $67 - ld [$c803], a + ld [wc803], a ld a, $2 call Func_149d9 ld a, [wLeftMapMoveCounter] @@ -25893,11 +25893,11 @@ Func_147aa: ; 0x147aa ret .asm_14834 - ld a, [$d4ef] + ld a, [wd4ef] and a jr z, .asm_14857 dec a - ld [$d4ef], a + ld [wd4ef], a jr nz, .asm_14857 ld a, [wLeftMapMoveCounter] sub $3 @@ -25906,15 +25906,15 @@ Func_147aa: ; 0x147aa call Func_149f5 .asm_1484d ld a, $64 - ld [$c7e3], a + ld [wc7e3], a ld a, $65 - ld [$c803], a + ld [wc803], a .asm_14857 - ld a, [$d4f1] + ld a, [wd4f1] and a jr z, .asm_1487c dec a - ld [$d4f1], a + ld [wd4f1], a jr nz, .asm_1487c ld a, [wRightMapMoveCounter] sub $3 @@ -25924,15 +25924,15 @@ Func_147aa: ; 0x147aa call Func_149f5 .asm_14872 ld a, $68 - ld [$c7f0], a + ld [wc7f0], a ld a, $69 - ld [$c810], a + ld [wc810], a .asm_1487c call Func_14990 ret Func_14880: ; 0x14880 - ld hl, $d4f7 + ld hl, wd4f7 dec [hl] ld a, [hli] cp $ff @@ -25954,7 +25954,7 @@ Func_14880: ; 0x14880 ld [wLeftMapMoveCounter], a call Func_149f5 .asm_148a6 - ld hl, $d4f9 + ld hl, wd4f9 dec [hl] ld a, [hli] cp $ff @@ -25981,7 +25981,7 @@ Func_14880: ; 0x14880 Func_148cf: ; 0x148cf ld b, $0 - ld hl, $d4f8 + ld hl, wd4f8 ld a, [hld] or [hl] jr z, .asm_148f8 @@ -26005,7 +26005,7 @@ Func_148cf: ; 0x148cf dec a ld [wLeftMapMoveCounter], a .asm_148f8 - ld hl, $d4fa + ld hl, wd4fa ld a, [hld] or [hl] jr z, .asm_1491f @@ -26032,7 +26032,7 @@ Func_148cf: ; 0x148cf ret Func_14920: ; 0x14920 - ld hl, $d62b + ld hl, wd62b call Func_e4a jr nc, .asm_14937 ld c, $a @@ -26043,13 +26043,13 @@ Func_14920: ; 0x14920 call z, BankSwitch .asm_14937 ld a, $1 - ld [$d55a], a + ld [wd55a], a ld [$ff8a], a callba StartMapMoveMode ret Func_14947: ; 0x14947 - ld hl, $d62b + ld hl, wd62b call Func_e4a jr nc, .asm_1495e ld c, $a @@ -26060,18 +26060,18 @@ Func_14947: ; 0x14947 call z, BankSwitch .asm_1495e xor a - ld [$d55a], a + ld [wd55a], a ld [$ff8a], a callba StartMapMoveMode ret Func_1496d: ; 0x1496d ld a, $55 - ld [$d803], a + ld [wd803], a ld a, $4 - ld [$d804], a + ld [wd804], a ld a, $2 - ld [$d7eb], a + ld [wd7eb], a ld bc, FiveHundredMillionPoints ld [$ff8a], a callba AddBCDScore @@ -26080,7 +26080,7 @@ Func_1496d: ; 0x1496d ret Func_14990: ; 0x14990 - ld a, [$d4ef] + ld a, [wd4ef] and a jr nz, .asm_149b6 ld a, [wLeftMapMoveDiglettAnimationCounter] @@ -26100,7 +26100,7 @@ Func_14990: ; 0x14990 ld [wLeftMapMoveDiglettFrame], a call Func_149d9 .asm_149b6 - ld a, [$d4f1] + ld a, [wd4f1] and a ret nz ld a, [wRightMapMoveDiglettAnimationCounter] @@ -26173,17 +26173,17 @@ Data_14c8d: dr $14c8d, $14d85 Func_14d85: ; 0x14d85 - ld a, [$d4cb] + ld a, [wd4cb] and a jr z, .asm_14db9 xor a - ld [$d4cb], a + ld [wd4cb], a call Func_14dc9 ld a, $10 - ld [$d4d6], a - ld a, [$d4cc] + ld [wd4d6], a + ld a, [wd4cc] sub $3 - ld [$d4d7], a + ld [wd4d7], a ld a, $4 ld [$ff8a], a callba Func_10000 @@ -26193,26 +26193,26 @@ Func_14d85: ; 0x14d85 ret .asm_14db9 - ld a, [$d4d6] + ld a, [wd4d6] and a ret z dec a - ld [$d4d6], a + ld [wd4d6], a ret nz ld a, $ff - ld [$d4d7], a + ld [wd4d7], a ret Func_14dc9: ; 0x14dc9 ld a, $ff - ld [$d803], a + ld [wd803], a ld a, $3 - ld [$d804], a + ld [wd804], a ld hl, $0200 ld a, l - ld [$d7bc], a + ld [wd7bc], a ld a, h - ld [$d7bd], a + ld [wd7bd], a ld a, $80 ld [wFlipperCollision], a ld de, $000e @@ -26220,31 +26220,31 @@ Func_14dc9: ; 0x14dc9 ret Func_14dea: ; 0x14dea - ld a, [$d507] + ld a, [wd507] and a jr z, Func_14e10 xor a - ld [$d507], a + ld [wd507], a ld a, [wBallYVelocity] ld c, a ld a, [wBallYVelocity + 1] ld b, a ld a, c - ld [$d50b], a + ld [wd50b], a ld a, b - ld [$d50c], a + ld [wd50c], a ld a, $c ld [$ff8a], a callba Func_10000 ; fall through Func_14e10: ; 0x14e10 - ld hl, $d50b + ld hl, wd50b ld a, [hli] or [hl] ret z - ld a, [$d50b] + ld a, [wd50b] ld c, a - ld a, [$d50c] + ld a, [wd50c] ld b, a bit 7, b jr nz, .asm_14e2e @@ -26269,15 +26269,15 @@ Func_14e10: ; 0x14e10 ld bc, $0000 .asm_14e3b ld a, c - ld [$d50b], a + ld [wd50b], a ld a, b - ld [$d50c], a - ld hl, $d50b - ld a, [$d509] + ld [wd50c], a + ld hl, wd50b + ld a, [wd509] add [hl] - ld [$d509], a + ld [wd509], a inc hl - ld a, [$d50a] + ld a, [wd50a] adc [hl] bit 7, a ld c, $0 @@ -26292,16 +26292,16 @@ Func_14e10: ; 0x14e10 sub $18 ld c, $1 .asm_14e66 - ld [$d50a], a + ld [wd50a], a ld a, c and a ret z ld bc, OneHundredBillionPoints ld [$ff8a], a callba AddBCDScore - ld hl, $d62d + ld hl, wd62d call Func_e4a - ld a, [$d517] + ld a, [wd517] cp $f jr nz, .asm_14e8a call Func_14ea7 @@ -26309,13 +26309,13 @@ Func_14e10: ; 0x14e10 .asm_14e8a inc a - ld [$d517], a + ld [wd517], a call Func_14ea7 - ld a, [$d517] + ld a, [wd517] cp $f jr nz, .asm_14e9d ld a, $64 - ld [$d51e], a + ld [wd51e], a .asm_14e9d ld a, [wCurrentStage] bit 0, a @@ -26324,10 +26324,10 @@ Func_14e10: ; 0x14e10 ret Func_14ea7: ; 0x14ea7 - ld a, [$d51e] + ld a, [wd51e] and a ret nz - ld a, [$d517] + ld a, [wd517] ld c, a ld b, $0 ld hl, Data_14ebe @@ -26342,7 +26342,7 @@ Data_14ebe: dr $14ebe, $14ece Func_14ece: ; 0x14ece - ld a, [$d517] + ld a, [wd517] ld c, a sla c ld b, $0 @@ -26367,19 +26367,19 @@ Data_1509b: dr $1509b, $151cb Func_151cb: ; 0x151cb - ld a, [$d50d] + ld a, [wd50d] and a jr z, .asm_15229 xor a - ld [$d50d], a - ld a, [$d513] + ld [wd50d], a + ld a, [wd513] and a jr nz, .asm_15229 - ld a, [$d50e] + ld a, [wd50e] sub $a ld c, a ld b, $0 - ld hl, $d50f + ld hl, wd50f add hl, bc ld a, [hl] ld [hl], $1 @@ -26388,7 +26388,7 @@ Func_151cb: ; 0x151cb ld bc, OneHundredMillionPoints ld [$ff8a], a callba AddBCDScore - ld hl, $d50f + ld hl, wd50f ld a, [hli] and [hl] inc hl @@ -26397,15 +26397,15 @@ Func_151cb: ; 0x151cb and [hl] jr z, Func_asm_1522d ld a, $1 - ld [$d513], a + ld [wd513], a ld a, $80 - ld [$d514], a + ld [wd514], a ld bc, FourHundredMillionPoints ld [$ff8a], a callba AddBCDScore ld de, $0009 call PlaySoundEffect - ld hl, $d62c + ld hl, wd62c call Func_e4a jr Func_asm_1522d @@ -26415,7 +26415,7 @@ Func_151cb: ; 0x151cb ; fall through Func_asm_1522d: ; 0x1522d - ld hl, $d512 + ld hl, wd512 ld b, $4 .asm_15232 ld a, [hld] @@ -26465,28 +26465,28 @@ Func_1523c: ; 0x1523c ret Func_15270: ; 0x15270 - ld a, [$d513] + ld a, [wd513] and a jr z, .asm_152a6 - ld a, [$d514] + ld a, [wd514] dec a - ld [$d514], a + ld [wd514], a jr nz, .asm_1528d - ld [$d513], a + ld [wd513], a ld a, $1 - ld [$d608], a + ld [wd608], a ld a, $3 - ld [$d607], a + ld [wd607], a xor a .asm_1528d and $7 ret nz - ld a, [$d514] + ld a, [wd514] srl a srl a srl a and $1 - ld hl, $d50f + ld hl, wd50f ld [hli], a ld [hli], a ld [hli], a @@ -26499,7 +26499,7 @@ Func_15270: ; 0x15270 ld hl, wKeyConfigLeftFlipper call IsKeyPressed jr z, .asm_152c2 - ld hl, $d50f + ld hl, wd50f ld a, [hli] ld c, a ld a, [hli] @@ -26522,7 +26522,7 @@ Func_15270: ; 0x15270 ld hl, wKeyConfigRightFlipper call IsKeyPressed ret z - ld hl, $d50f + ld hl, wd50f ld a, [hli] ld c, a ld a, [hli] @@ -26554,15 +26554,15 @@ Data_15325: dr $15325, $1535d Func_1535d: ; 0x1535d - ld a, [$d5f7] + ld a, [wd5f7] and a jp z, .asm_1544c xor a - ld [$d5f7], a + ld [wd5f7], a ld a, [wStageCollisionState] bit 0, a jp z, .asm_1544c - ld a, [$d5fc] + ld a, [wd5fc] and a jp nz, .asm_1544c xor a @@ -26573,11 +26573,11 @@ Func_1535d: ; 0x1535d ld a, $b ld [$ff8a], a callba Func_10000 - ld a, [$d5f8] + ld a, [wd5f8] sub $e ld c, a ld b, $0 - ld hl, $d5f9 + ld hl, wd5f9 add hl, bc ld a, [hl] ld [hl], $1 @@ -26586,7 +26586,7 @@ Func_1535d: ; 0x1535d ld bc, OneHundredMillionPoints ld [$ff8a], a callba AddBCDScore - ld hl, $d5f9 + ld hl, wd5f9 ld a, [hli] and [hl] inc hl @@ -26598,9 +26598,9 @@ Func_1535d: ; 0x1535d .asm_153c0 ld a, $1 - ld [$d5fc], a + ld [wd5fc], a ld a, $80 - ld [$d5fd], a + ld [wd5fd], a ; load approximately 1 minute of frames into wBallTypeCounter ld a, $10 ld [wBallTypeCounter], a @@ -26617,7 +26617,7 @@ Func_1535d: ; 0x1535d call Func_30e8 call Func_30db ld de, $2907 - ld hl, $d5cc + ld hl, wd5cc call LoadTextHeader ld a, [wBallType] ld c, a @@ -26642,12 +26642,12 @@ Func_1535d: ; 0x1535d push de call Func_30e8 call Func_30db - ld hl, $d5d4 + ld hl, wd5d4 ld de, $2948 call Func_32cc pop de pop bc - ld hl, $d5cc + ld hl, wd5cc ld de, FieldMultiplierSpecialBonusText call LoadTextHeader .asm_15447 @@ -26662,7 +26662,7 @@ Func_15450 ld a, [wStageCollisionState] bit 0, a ret z - ld hl, $d5fb + ld hl, wd5fb ld b, $3 .asm_1545b ld a, [hld] @@ -26726,23 +26726,23 @@ Func_15499: ; 0x15499 ret Func_154a9: ; 0x154a9 - ld a, [$d5fc] + ld a, [wd5fc] and a jr z, .asm_154d6 - ld a, [$d5fd] + ld a, [wd5fd] dec a - ld [$d5fd], a + ld [wd5fd], a jr nz, .asm_154bb - ld [$d5fc], a + ld [wd5fc], a .asm_154bb and $7 jr nz, .asm_154d4 - ld a, [$d5fd] + ld a, [wd5fd] srl a srl a srl a and $1 - ld hl, $d5f9 + ld hl, wd5f9 ld [hli], a ld [hli], a ld [hl], a @@ -26758,7 +26758,7 @@ Func_154a9: ; 0x154a9 ld hl, wKeyConfigLeftFlipper call IsKeyPressed jr z, .asm_154ee - ld hl, $d5f9 + ld hl, wd5f9 ld a, [hli] ld c, a ld a, [hli] @@ -26777,7 +26777,7 @@ Func_154a9: ; 0x154a9 ld hl, wKeyConfigRightFlipper call IsKeyPressed ret z - ld hl, $d5f9 + ld hl, wd5f9 ld a, [hli] ld c, a ld a, [hli] @@ -26823,7 +26823,7 @@ Data_15549: dr $15549, $15575 HandleBallTypeUpgradeCounterRedField: ; 0x15575 - ld a, [$d5f3] + ld a, [wd5f3] and a ret nz ld hl, wBallTypeCounter @@ -26897,50 +26897,50 @@ Data_157f7: dr $157f7, $1581f Func_1581f: ; 0x1581f - ld a, [$d51f] + ld a, [wd51f] and a ret z xor a - ld [$d51f], a + ld [wd51f], a ld bc, FiftyBillionPoints ld [$ff8a], a callba AddBCDScore - ld a, [$d520] + ld a, [wd520] sub $11 ld c, a ld b, $0 - ld hl, $d521 + ld hl, wd521 add hl, bc ld [hl], $1 - ld a, [$d521] + ld a, [wd521] and a call nz, Func_1587c - ld a, [$d522] + ld a, [wd522] and a call nz, Func_158c0 - ld a, [$d523] + ld a, [wd523] and a call nz, Func_15904 - ld a, [$d524] + ld a, [wd524] and a call nz, HandleLeftAlleyTriggerRedField - ld a, [$d525] + ld a, [wd525] and a call nz, Func_15931 - ld a, [$d526] + ld a, [wd526] and a call nz, Func_15944 - ld a, [$d527] + ld a, [wd527] and a call nz, HandleRightAlleyTriggerRedField - ld a, [$d528] + ld a, [wd528] and a call nz, Func_15990 ret Func_1587c: ; 0x1587c xor a - ld [$d521], a + ld [wd521], a ld a, [wLeftAlleyTrigger] and a ret z @@ -26970,7 +26970,7 @@ Func_1587c: ; 0x1587c Func_158c0: ; 0x158c0 xor a - ld [$d522], a + ld [wd522], a ld a, [wLeftAlleyTrigger] and a ret z @@ -27000,7 +27000,7 @@ Func_158c0: ; 0x158c0 Func_15904: ; 0x15904 xor a - ld [$d523], a + ld [wd523], a ld a, [wSecondaryLeftAlleyTrigger] and a ret z @@ -27014,7 +27014,7 @@ Func_15904: ; 0x15904 HandleLeftAlleyTriggerRedField: ; 0x1591e ; Ball passed over the left alley trigger point in the Red Field. xor a - ld [$d524], a + ld [wd524], a ld [wRightAlleyTrigger], a ld [wSecondaryLeftAlleyTrigger], a ld a, $1 @@ -27024,7 +27024,7 @@ HandleLeftAlleyTriggerRedField: ; 0x1591e Func_15931: ; 0x15931 xor a - ld [$d525], a + ld [wd525], a ld [wRightAlleyTrigger], a ld [wLeftAlleyTrigger], a ld a, $1 @@ -27034,7 +27034,7 @@ Func_15931: ; 0x15931 Func_15944: ; 0x15944 xor a - ld [$d526], a + ld [wd526], a ld a, [wRightAlleyTrigger] and a ret z @@ -27064,7 +27064,7 @@ Func_15944: ; 0x15944 HandleRightAlleyTriggerRedField: ; 0x1597d ; Ball passed over the right alley trigger point in the Red Field. xor a - ld [$d527], a + ld [wd527], a ld [wLeftAlleyTrigger], a ld [wSecondaryLeftAlleyTrigger], a ld a, $1 @@ -27074,7 +27074,7 @@ HandleRightAlleyTriggerRedField: ; 0x1597d Func_15990: ; 0x15990 xor a - ld [$d528], a + ld [wd528], a ld a, [wRightAlleyTrigger] and a ret z @@ -27102,7 +27102,7 @@ Func_15990: ; 0x15990 ret Func_159c9: ; 0x159c9 - ld a, [$d7ad] + ld a, [wd7ad] bit 7, a ret nz ld c, a @@ -27111,12 +27111,12 @@ Func_159c9: ; 0x159c9 or c ld [wStageCollisionState], a ld a, $ff - ld [$d7ad], a + ld [wd7ad], a ld [$ff8a], a callba LoadStageCollisionAttributes call Func_159f4 ld a, $1 - ld [$d580], a + ld [wd580], a call Func_1404a ret @@ -27124,7 +27124,7 @@ Func_159f4: ; 0x159f4 ld a, [$ff9e] bit 7, a jr z, .asm_15a13 - ld a, [$d7f2] + ld a, [wd7f2] and $fe ld c, a ld a, [wStageCollisionState] @@ -27137,7 +27137,7 @@ Func_159f4: ; 0x159f4 ld de, $0000 call PlaySoundEffect .asm_15a13 - ld a, [$d7f2] + ld a, [wd7f2] swap a ld c, a ld a, [wStageCollisionState] @@ -27160,7 +27160,7 @@ Func_159f4: ; 0x159f4 ld a, $5 call Func_10aa ld a, [wStageCollisionState] - ld [$d7f2], a + ld [wd7f2], a ret Data_15a3f: @@ -27170,11 +27170,11 @@ Data_15d05: dr $15d05, $15e93 Func_15e93: ; 0x15e93 - ld a, [$d4fb] + ld a, [wd4fb] and a jr z, .asm_15eda xor a - ld [$d4fb], a + ld [wd4fb], a ld bc, OneMillionPoints ld [$ff8a], a callba AddBCDScore @@ -27195,7 +27195,7 @@ Func_15e93: ; 0x15e93 ld a, $78 ld [wBallYPos + 1], a xor a - ld [$d549], a + ld [wd549], a .asm_15eda ld hl, BellsproutAnimationData ld de, wBellsproutAnimationFrameCounter @@ -27217,7 +27217,7 @@ Func_15e93: ; 0x15e93 cp $1 jr nz, .asm_15f35 xor a - ld [$d548], a + ld [wd548], a ld a, [wRightAlleyCount] cp $2 jr c, .noCatchEmMode @@ -27229,7 +27229,7 @@ Func_15e93: ; 0x15e93 ld [$ff8a], a callba StartCatchEmMode .noCatchEmMode - ld hl, $d62a + ld hl, wd62a call Func_e4a ret nc ld c, $19 @@ -27245,7 +27245,7 @@ Func_15e93: ; 0x15e93 cp $4 jr nz, .asm_15f42 ld a, $1 - ld [$d548], a + ld [wd548], a ret .asm_15f42 @@ -27253,7 +27253,7 @@ Func_15e93: ; 0x15e93 cp $5 ret nz ld a, $1 - ld [$d549], a + ld [wd549], a xor a ld [wBallXVelocity + 1], a ld a, $2 @@ -27284,35 +27284,35 @@ BellsproutAnimationData: ; 0x15f69 db $00 ; terminator Func_15f86: ; 0x15f86 - ld a, [$d4d8] + ld a, [wd4d8] and a jr z, .asm_15f99 call Func_5fb8 call Func_15fa6 xor a - ld [$d4d8], a + ld [wd4d8], a call Func_15fda .asm_15f99 - ld a, [$d4da] + ld a, [wd4da] and a ret z dec a - ld [$d4da], a + ld [wd4da], a call z, Func_5fb8 ret Func_15fa6: ; 0x15fa6 ld a, $10 - ld [$d4da], a - ld a, [$d4d9] + ld [wd4da], a + ld a, [wd4d9] sub $6 - ld [$d4db], a + ld [wd4db], a sla a inc a jr asm_15fc0 Func_5fb8: ; 0x5fb8 - ld a, [$d4db] + ld a, [wd4db] cp $ff ret z sla a @@ -27336,25 +27336,25 @@ asm_15fc0 Func_15fda: ; 0x15fda ld a, $ff - ld [$d803], a + ld [wd803], a ld a, $3 - ld [$d804], a + ld [wd804], a ld hl, $0200 ld a, l - ld [$d7bc], a + ld [wd7bc], a ld a, h - ld [$d7bd], a + ld [wd7bd], a ld a, $80 ld [wFlipperCollision], a - ld a, [$d4d9] + ld a, [wd4d9] sub $6 ld c, a ld b, $0 ld hl, Data_1600e add hl, bc - ld a, [$d7ea] + ld a, [wd7ea] add [hl] - ld [$d7ea], a + ld [wd7ea], a ld de, $000b call PlaySoundEffect ret @@ -27369,11 +27369,11 @@ Data_16080: dr $16080, $160f0 Func_160f0: ; 0x160f0 - ld a, [$d5fe] + ld a, [wd5fe] and a jr z, .asm_16137 xor a - ld [$d5fe], a + ld [wd5fe], a ld bc, OneMillionPoints ld [$ff8a], a callba AddBCDScore @@ -27385,7 +27385,7 @@ Func_160f0: ; 0x160f0 ld [hli], a ld [hli], a ld [hli], a - ld [$d549], a + ld [wd549], a ld [wBallXPos], a ld [wBallYPos], a ld a, $11 @@ -27393,17 +27393,17 @@ Func_160f0: ; 0x160f0 ld a, $23 ld [wBallYPos + 1], a ld a, $10 - ld [$d600], a + ld [wd600], a ld a, $5 - ld [$d803], a + ld [wd803], a ld a, $8 - ld [$d804], a + ld [wd804], a .asm_16137 - ld a, [$d600] + ld a, [wd600] and a ret z dec a - ld [$d600], a + ld [wd600], a cp $f jr nz, .asm_1614f ld [$ff8a], a @@ -27421,7 +27421,7 @@ Func_160f0: ; 0x160f0 cp $9 jr nz, .asm_1616d xor a - ld [$d548], a + ld [wd548], a ld [wBallSpin], a ld [wBallRotation], a ret @@ -27432,12 +27432,12 @@ Func_160f0: ; 0x160f0 ld [$ff8a], a callba Func_10ab3 ld a, $1 - ld [$d548], a - ld [$d549], a + ld [wd548], a + ld [wd549], a ld a, $5 - ld [$d803], a + ld [wd803], a ld a, $8 - ld [$d804], a + ld [wd804], a ret .asm_1618e @@ -27457,7 +27457,7 @@ Func_160f0: ; 0x160f0 ret Func_161af: ; 0x161af - ld a, [$d604] + ld a, [wd604] and a ret z ld a, [wBallYPos + 1] @@ -27487,7 +27487,7 @@ Func_161af: ; 0x161af jr asm_1620f Func_161e0: ; 0x161e0 - ld a, [$d604] + ld a, [wd604] and a ret z ld a, [wBallYPos + 1] @@ -27578,27 +27578,27 @@ asm_1620f: ; 0x1620f ld a, h cp $2 ret c - ld a, [$d804] + ld a, [wd804] and a ret nz ld a, $5 - ld [$d803], a + ld [wd803], a ld a, $8 - ld [$d804], a + ld [wd804], a ld de, $0004 call PlaySoundEffect ret Func_16279: ; 0x16279 - ld a, [$d601] + ld a, [wd601] and a jr z, .asm_162ae xor a - ld [$d601], a - ld a, [$d604] + ld [wd601], a + ld a, [wd604] and a ret z - ld a, [$d603] + ld a, [wd603] and a jr nz, .asm_162ae xor a @@ -27607,7 +27607,7 @@ Func_16279: ; 0x16279 ld [hli], a ld [hli], a ld [hli], a - ld [$d549], a + ld [wd549], a ld [wBallXPos], a ld [wBallYPos], a ld a, $50 @@ -27615,16 +27615,16 @@ Func_16279: ; 0x16279 ld a, $16 ld [wBallYPos + 1], a ld a, $13 - ld [$d603], a + ld [wd603], a .asm_162ae - ld a, [$d603] + ld a, [wd603] and a ret z dec a - ld [$d603], a + ld [wd603], a ld a, $18 - ld [$d606], a - ld a, [$d603] + ld [wd606], a + ld a, [wd603] cp $12 jr nz, .asm_162d4 ld de, $0021 @@ -27644,7 +27644,7 @@ Func_16279: ; 0x16279 cp $c jr nz, .asm_162f2 xor a - ld [$d548], a + ld [wd548], a ld [wBallSpin], a ld [wBallRotation], a ret @@ -27659,11 +27659,11 @@ Func_16279: ; 0x16279 cp $6 jr nz, .asm_16317 xor a - ld [$d604], a + ld [wd604], a ld a, $5 - ld [$d803], a + ld [wd803], a ld a, $8 - ld [$d804], a + ld [wd804], a ld [$ff8a], a callba LoadMiniBallGfx ret @@ -27683,7 +27683,7 @@ Func_16279: ; 0x16279 and a ret nz call Func_16425 - ld a, [$d622] + ld a, [wd622] cp $1 ret nz call GenRandom @@ -27692,7 +27692,7 @@ Func_16279: ; 0x16279 ld [$ff8a], a callba StartCatchEmMode xor a - ld [$d622], a + ld [wd622], a ret Func_16352: ; 0x16352 @@ -27703,77 +27703,77 @@ Func_16352: ; 0x16352 callba Func_10000 jr nc, .asm_1636d ld a, $1 - ld [$d548], a - ld [$d549], a + ld [wd548], a + ld [wd549], a ret .asm_1636d - ld a, [$d624] + ld a, [wd624] cp $3 jr nz, .asm_163b3 - ld a, [$d607] + ld a, [wd607] and a jr nz, .asm_163b3 .asm_1637a - ld a, [$d623] + ld a, [wd623] and a jr nz, .asm_16389 xor a - ld [$d625], a + ld [wd625], a ld a, $40 - ld [$d626], a + ld [wd626], a .asm_16389 xor a - ld [$d623], a + ld [wd623], a ld a, $1 - ld [$d495], a - ld [$d4ae], a - ld a, [$d498] + ld [wd495], a + ld [wd4ae], a + ld a, [wd498] ld c, a ld b, $0 ld hl, Data_16420 add hl, bc ld a, [hl] - ld [$d497], a + ld [wd497], a call Func_163f2 xor a - ld [$d609], a - ld [$d622], a + ld [wd609], a + ld [wd622], a ld a, $1e - ld [$d607], a + ld [wd607], a ret .asm_163b3 ld [$ff8a], a callba Func_ed8e xor a - ld [$d608], a - ld a, [$d61d] + ld [wd608], a + ld a, [wd61d] cp $d jr nc, .asm_1637a ld a, $1 - ld [$d548], a - ld [$d549], a - ld a, [$d622] + ld [wd548], a + ld [wd549], a + ld a, [wd622] cp $2 ret nz ld [$ff8a], a callba Func_10ab3 - ld a, [$d7ad] + ld a, [wd7ad] ld c, a ld a, [wStageCollisionState] and $1 or c ld [wStageCollisionState], a xor a - ld [$d622], a + ld [wd622], a ret Func_163f2: ; 0x163f2 call Func_30e8 call Func_30db - ld hl, $d5dc - ld a, [$d497] + ld hl, wd5dc + ld a, [wd497] ld de, Data_2e83 cp $d jr z, .asm_1640f @@ -27798,7 +27798,7 @@ Func_16425: ; 0x16425 and $1 sla a ld c, a - ld a, [$d604] + ld a, [wd604] add c sla a ld c, a @@ -27826,24 +27826,24 @@ Data_164a1: dr $164a1, $164e3 Func_164e3: ; 0x164e3 - ld a, [$d607] + ld a, [wd607] and a ret z dec a - ld [$d607], a + ld [wd607], a ret nz ld a, [wInSpecialMode] and a ret nz - ld a, [$d609] + ld a, [wd609] and a jr z, .asm_164ff - ld a, [$d498] + ld a, [wd498] add $15 jr .asm_16506 .asm_164ff - ld a, [$d608] + ld a, [wd608] and a ret z ld a, $1a @@ -27854,11 +27854,11 @@ Func_164e3: ; 0x164e3 ld a, Bank(Func_30256) ld hl, Func_30256 call nz, BankSwitch - ld a, [$d604] + ld a, [wd604] and a ret nz ld a, $1 - ld [$d604], a + ld [wd604], a ld a, $80 ld [wIndicatorStates + 4], a ld a, [wCurrentStage] @@ -27867,12 +27867,12 @@ Func_164e3: ; 0x164e3 ret Func_1652d: ; 0x1652d - ld a, [$d4dc] + ld a, [wd4dc] and a ret z xor a - ld [$d4dc], a - ld a, [$d4de] + ld [wd4dc], a + ld a, [wd4de] and a jr z, .asm_16566 xor a @@ -27889,22 +27889,22 @@ Func_1652d: ; 0x1652d ld a, $fa ld [wBallYVelocity + 1], a ld a, $1 - ld [$d549], a + ld [wd549], a ld de, $000a call PlaySoundEffect .asm_16566 ld a, $ff - ld [$d4ec], a - ld a, [$d4de] + ld [wd4ec], a + ld a, [wd4de] and a ret nz - ld a, [$d4e0] + ld a, [wd4e0] and a jr nz, .asm_16582 call Func_1658f ld a, $1 - ld [$d4e0], a - ld [$d4de], a + ld [wd4e0], a + ld [wd4de], a ret .asm_16582 @@ -27912,7 +27912,7 @@ Func_1652d: ; 0x1652d call IsKeyPressed ret z ld a, $1 - ld [$d4de], a + ld [wd4de], a ret Func_1658f: ; 0x1658f @@ -27964,9 +27964,9 @@ Func_1658f: ; 0x1658f ld [$ff8a], a callba Func_3118f ld a, [wCurrentMap] - ld [$d4e3], a + ld [wd4e3], a xor a - ld [$d4e2], a + ld [wd4e2], a ret RedStageInitialMaps: ; 0x16605 @@ -27979,37 +27979,37 @@ RedStageInitialMaps: ; 0x16605 db LAVENDER_TOWN Func_1660c: ; 0x1660c - ld a, [$d515] + ld a, [wd515] and a jr z, .asm_1667b xor a - ld [$d515], a - ld a, [$d51c] + ld [wd515], a + ld a, [wd51c] and a jr nz, .asm_1667b - ld a, [$d51d] + ld a, [wd51d] and a jr nz, .asm_16634 - ld a, [$d516] + ld a, [wd516] sub $1c - ld hl, $d518 + ld hl, wd518 cp [hl] jr nz, .asm_1667b - ld a, [$d517] + ld a, [wd517] cp $f jr nz, .asm_16667 .asm_16634 ld hl, PikachuSaverAnimationDataBlueStage ld de, wPikachuSaverAnimationFrameCounter call CopyHLToDE - ld a, [$d51d] + ld a, [wd51d] and a jr nz, .asm_16647 xor a - ld [$d517], a + ld [wd517], a .asm_16647 ld a, $1 - ld [$d51c], a + ld [wd51c], a xor a ld [wBallXVelocity], a ld [wBallXVelocity + 1], a @@ -28017,7 +28017,7 @@ Func_1660c: ; 0x1660c ld [wBallYVelocity + 1], a ld [wBallSpin], a ld [wBallRotation], a - ld [$d549], a + ld [wd549], a call Func_30e8 jr .asm_1667b @@ -28026,22 +28026,22 @@ Func_1660c: ; 0x1660c ld de, wPikachuSaverAnimationFrameCounter call CopyHLToDE ld a, $2 - ld [$d51c], a + ld [wd51c], a ld de, $003b call PlaySoundEffect .asm_1667b - ld a, [$d51c] + ld a, [wd51c] and a call z, Func_16766 call Func_1669e - ld a, [$d517] + ld a, [wd517] cp $f ret nz - ld a, [$d51e] + ld a, [wd51e] and a ret z dec a - ld [$d51e], a + ld [wd51e], a cp $5a ret nz ld de, $0f22 @@ -28049,7 +28049,7 @@ Func_1660c: ; 0x1660c ret Func_1669e: ; 0x1669e - ld a, [$d51c] + ld a, [wd51c] cp $1 jr nz, .asm_16719 ld hl, PikachuSaverAnimationDataBlueStage @@ -28060,19 +28060,19 @@ Func_1669e: ; 0x1669e cp $1 jr nz, .asm_166f7 xor a - ld [$d85d], a + ld [wd85d], a call Func_310a rst AdvanceFrame ld a, $1 ld [$ff8a], a callba PlayPikachuSoundClip ld a, $1 - ld [$d85d], a + ld [wd85d], a ld a, $ff - ld [$d803], a + ld [wd803], a ld a, $60 - ld [$d804], a - ld hl, $d62e + ld [wd804], a + ld hl, wd62e call Func_e4a jr nc, .asm_166f0 ld c, $a @@ -28093,12 +28093,12 @@ Func_1669e: ; 0x1669e ld a, $fc ld [wBallYVelocity + 1], a ld a, $1 - ld [$d549], a + ld [wd549], a ld bc, FiveBillionPoints ld [$ff8a], a callba AddBCDScore xor a - ld [$d51c], a + ld [wd51c], a ret .asm_16719 @@ -28112,7 +28112,7 @@ Func_1669e: ; 0x1669e cp $1 ret nz xor a - ld [$d51c], a + ld [wd51c], a ret .asm_16732 @@ -28154,7 +28154,7 @@ Func_16766: ; 0x16766 ld hl, wKeyConfigLeftFlipper call IsKeyPressed2 jr z, .asm_16774 - ld hl, $d518 + ld hl, wd518 ld [hl], $0 ret @@ -28162,28 +28162,28 @@ Func_16766: ; 0x16766 ld hl, wKeyConfigRightFlipper call IsKeyPressed2 ret z - ld hl, $d518 + ld hl, wd518 ld [hl], $1 ret Func_16781: ; 0x16781 - ld a, [$d500] + ld a, [wd500] and a jr z, .asm_167bd xor a - ld [$d500], a - ld a, [$d503] + ld [wd500], a + ld a, [wd503] and a jr nz, .asm_167c2 ld bc, FiveBillionPoints ld [$ff8a], a callba AddBCDScore - ld a, [$d502] + ld a, [wd502] xor $1 set 1, a - ld [$d502], a + ld [wd502], a ld a, $14 - ld [$d503], a + ld [wd503], a call Func_16859 ld a, $6 ld [$ff8a], a @@ -28191,18 +28191,18 @@ Func_16781: ; 0x16781 ret .asm_167bd - ld a, [$d503] + ld a, [wd503] and a ret z .asm_167c2 dec a - ld [$d503], a + ld [wd503], a ret nz - ld a, [$d502] + ld a, [wd502] res 1, a - ld [$d502], a + ld [wd502], a call Func_16859 - ld a, [$d502] + ld a, [wd502] and $1 ld c, a ld a, [wStageCollisionState] @@ -28220,22 +28220,22 @@ Func_16781: ; 0x16781 jp Func_15499 Func_167ff: ; 0x167ff - ld a, [$d500] + ld a, [wd500] and a jr z, .asm_16839 xor a - ld [$d500], a - ld a, [$d503] + ld [wd500], a + ld a, [wd503] and a jr nz, .asm_1683e ld bc, FiveBillionPoints ld [$ff8a], a callba AddBCDScore - ld a, [$d502] + ld a, [wd502] xor $1 - ld [$d502], a + ld [wd502], a ld a, $14 - ld [$d503], a + ld [wd503], a call Func_16878 ld a, $6 ld [$ff8a], a @@ -28243,14 +28243,14 @@ Func_167ff: ; 0x167ff ret .asm_16839 - ld a, [$d503] + ld a, [wd503] and a ret z .asm_1683e dec a - ld [$d503], a + ld [wd503], a ret nz - ld a, [$d502] + ld a, [wd502] and $1 ld c, a ld a, [wStageCollisionState] @@ -28262,7 +28262,7 @@ Func_167ff: ; 0x167ff ret Func_16859: ; 0x16859 - ld a, [$d502] + ld a, [wd502] sla a ld c, a ld b, $0 @@ -28283,7 +28283,7 @@ Func_16859: ; 0x16859 ret Func_16878: ; 0x16878 - ld a, [$d502] + ld a, [wd502] and $1 sla a ld c, a @@ -28374,54 +28374,54 @@ Data_16bef: dr $16bef, $16d9d Func_16d9d: ; 016d9d - ld a, [$d60a] + ld a, [wd60a] and a jp z, Func_16e51 xor a - ld [$d60a], a + ld [wd60a], a ld de, $000d call PlaySoundEffect - ld a, [$d60b] + ld a, [wd60b] sub $21 jr nz, .asm_16ddc ld a, $9 ld [$ff8a], a callba Func_10000 - ld a, [$d610] + ld a, [wd610] cp $3 jr nz, .asm_16e35 ld a, $1 - ld [$d610], a + ld [wd610], a ld a, $3 - ld [$d611], a - ld a, [$d60c] + ld [wd611], a + ld a, [wd60c] set 7, a - ld [$d60c], a + ld [wd60c], a jr .asm_16e35 .asm_16ddc ld a, $a ld [$ff8a], a callba Func_10000 - ld a, [$d611] + ld a, [wd611] cp $3 jr nz, .asm_16e35 ld a, $1 - ld [$d610], a + ld [wd610], a ld a, $1 - ld [$d611], a + ld [wd611], a ld a, $80 - ld [$d612], a - ld a, [$d60d] + ld [wd612], a + ld a, [wd60d] set 7, a - ld [$d60d], a - ld a, [$d482] + ld [wd60d], a + ld a, [wd482] inc a cp $64 jr c, .asm_16e10 ld a, $63 .asm_16e10 - ld [$d482], a + ld [wd482], a jr nc, .asm_16e24 ld c, $19 call Func_e55 @@ -28430,56 +28430,56 @@ Func_16d9d: ; 016d9d ld hl, Func_30164 call z, BankSwitch .asm_16e24 - ld a, [$d60c] - ld [$d614], a - ld a, [$d60d] - ld [$d615], a + ld a, [wd60c] + ld [wd614], a + ld a, [wd60d] + ld [wd615], a ld a, $1 - ld [$d613], a + ld [wd613], a .asm_16e35 ld bc, OneHundredBillionPoints ld [$ff8a], a callba AddBCDScore - ld a, [$d60c] + ld a, [wd60c] call Func_16f28 - ld a, [$d60d] + ld a, [wd60d] add $14 call Func_16f28 ret Func_16e51: ; 0x16e51 call Func_16ef5 - ld a, [$d612] + ld a, [wd612] and a jr z, .asm_16e8f dec a - ld [$d612], a + ld [wd612], a cp $70 jr nz, .asm_16e6e ld a, $2 - ld [$d610], a + ld [wd610], a ld a, $2 - ld [$d611], a + ld [wd611], a jr .asm_16e8f .asm_16e6e and a jr nz, .asm_16e8f ld a, $3 - ld [$d610], a + ld [wd610], a xor a - ld [$d611], a - ld a, [$d482] + ld [wd611], a + ld a, [wd482] call Func_16f95 - ld a, [$d60c] + ld a, [wd60c] call Func_16f28 - ld a, [$d60d] + ld a, [wd60d] add $14 call Func_16f28 ret .asm_16e8f - ld a, [$d610] + ld a, [wd610] cp $2 jr c, .asm_16ec1 cp $3 @@ -28493,19 +28493,19 @@ Func_16e51: ; 0x16e51 jr nz, .asm_16ec1 bit 3, b jr nz, .asm_16eb6 - ld a, [$d60c] + ld a, [wd60c] res 7, a - ld [$d60c], a + ld [wd60c], a call Func_16f28 jr .asm_16ec1 .asm_16eb6 - ld a, [$d60c] + ld a, [wd60c] set 7, a - ld [$d60c], a + ld [wd60c], a call Func_16f28 .asm_16ec1 - ld a, [$d611] + ld a, [wd611] cp $2 ret c cp $3 @@ -28519,43 +28519,43 @@ Func_16e51: ; 0x16e51 ret nz bit 3, b jr nz, .asm_16ee7 - ld a, [$d60d] + ld a, [wd60d] res 7, a - ld [$d60d], a + ld [wd60d], a add $14 call Func_16f28 ret .asm_16ee7 - ld a, [$d60d] + ld a, [wd60d] set 7, a - ld [$d60d], a + ld [wd60d], a add $14 call Func_16f28 ret Func_16ef5: ; 0x16ef5 - ld a, [$d5ca] + ld a, [wd5ca] and a ret nz - ld a, [$d613] + ld a, [wd613] and a ret z xor a - ld [$d613], a + ld [wd613], a call Func_30e8 call Func_30db - ld hl, $d5cc + ld hl, wd5cc ld de, BonusMultiplierText call LoadTextHeader ld hl, wcBottomMessageText + $12 - ld a, [$d614] + ld a, [wd614] and $7f jr z, .asm_16f1f add $30 ld [hli], a .asm_16f1f - ld a, [$d615] + ld a, [wd615] res 7, a add $30 ld [hl], a @@ -28578,10 +28578,10 @@ Func_16f28: ; 0x16f28 Func_16f38: ; 0x16f38 push af res 7, a - ld hl, $d60e + ld hl, wd60e cp $14 jr c, .asm_16f47 - ld hl, $d60f + ld hl, wd60f sub $a .asm_16f47 cp [hl] @@ -28637,7 +28637,7 @@ Func_16f7b: ; 0x16f7b ret Func_16f95: ; 0x16f95 - ld a, [$d482] + ld a, [wd482] inc a cp $64 jr c, .asm_16f9f @@ -28660,10 +28660,10 @@ Func_16f95: ; 0x16f95 push af swap a and $f - ld [$d60c], a + ld [wd60c], a pop af and $f - ld [$d60d], a + ld [wd60d], a ret Data_16fc1: @@ -28699,39 +28699,39 @@ Func_174d4: ; 0x174d4 ret Func_174ea: ; 0x174ea - ld a, [$d624] - ld hl, $d625 + ld a, [wd624] + ld hl, wd625 cp [hl] ret z - ld a, [$d626] + ld a, [wd626] dec a - ld [$d626], a + ld [wd626], a jr nz, .asm_17514 - ld a, [$d625] - ld [$d624], a + ld a, [wd625] + ld [wd624], a cp $3 jr c, .asm_1750f ld a, $1 - ld [$d609], a + ld [wd609], a ld a, $3 - ld [$d607], a + ld [wd607], a .asm_1750f - ld a, [$d624] + ld a, [wd624] scf ret .asm_17514 and $7 ret nz - ld a, [$d626] + ld a, [wd626] bit 3, a jr nz, .asm_17523 - ld a, [$d624] + ld a, [wd624] scf ret .asm_17523 - ld a, [$d625] + ld a, [wd625] scf ret @@ -28767,25 +28767,25 @@ Func_1757e: ; 0x1757e ret Func_175a4: ; 0x175a4 - ld a, [$d57d] + ld a, [wd57d] and a ret z ld a, [hGameBoyColorFlag] and a jr nz, DrawTimer - ld a, [$d580] + ld a, [wd580] and a ret z - ld a, [$d581] + ld a, [wd581] and a jr z, .asm_175be dec a - ld [$d581], a + ld [wd581], a ret .asm_175be call Func_1762f - ld hl, $d582 + ld hl, wd582 ld a, [wTimerMinutes] and $f call Func_1764f @@ -28896,7 +28896,7 @@ Data_17679: dr $17679, $17c67 Func_17c67: ; 0x17c67 - ld a, [$d5f3] + ld a, [wd5f3] and a ret z ld a, $50 @@ -28920,7 +28920,7 @@ Data_17c89: dr $17c89, $17c96 Func_17c96: ; 0x17c96 - ld a, [$d5bb] + ld a, [wd5bb] and a ret z ld a, $50 @@ -28931,7 +28931,7 @@ Func_17c96: ; 0x17c96 ld hl, hBoardYShift sub [hl] ld c, a - ld a, [$d5bd] + ld a, [wd5bd] ld e, a ld d, $0 ld hl, Data_17cb8 @@ -28944,13 +28944,13 @@ Data_17cb8: dr $17cb8, $17cc4 Func_17cc4: ; 0x17cc4 - ld de, $d4cd + ld de, wd4cd ld hl, Data_17d15 call Func_17cdc - ld de, $d4d0 + ld de, wd4d0 ld hl, Data_17d1b call Func_17cdc - ld de, $d4d3 + ld de, wd4d3 ld hl, Data_17d21 ; fall through @@ -28984,7 +28984,7 @@ Func_17cdc: ; 0x17cdc ld a, [hli] sub c ld c, a - ld a, [$d4d7] + ld a, [wd4d7] sub [hl] inc hl jr z, .asm_17d0c @@ -29072,16 +29072,16 @@ Func_17d92: ; 0x17d92 and a ret z ld hl, Data_17dd0 - ld de, $d504 + ld de, wd504 call UpdateAnimation - ld a, [$d504] + ld a, [wd504] and a jr nz, .asm_17db1 ld a, $13 - ld [$d504], a + ld [wd504], a xor a - ld [$d505], a - ld [$d506], a + ld [wd505], a + ld [wd506], a .asm_17db1 ld a, $2b ld hl, hBoardXShift @@ -29091,7 +29091,7 @@ Func_17d92: ; 0x17d92 ld hl, hBoardYShift sub [hl] ld c, a - ld a, [$d505] + ld a, [wd505] ld e, a ld d, $0 ld hl, Data_17dce @@ -29115,7 +29115,7 @@ Func_17de1: ; 0x17de1 ld hl, hBoardYShift sub [hl] ld c, a - ld a, [$d50a] + ld a, [wd50a] srl a srl a ld e, a @@ -29134,11 +29134,11 @@ Func_17e08: ; 0x17e08 ld d, a ld a, [hBoardYShift] ld e, a - ld a, [$d51d] + ld a, [wd51d] and a - ld a, [$d518] + ld a, [wd518] jr z, .asm_17e33 - ld a, [$d51c] + ld a, [wd51c] and a jr nz, .asm_17e29 ld a, [$ffb3] @@ -29149,7 +29149,7 @@ Func_17e08: ; 0x17e08 jr .asm_17e33 .asm_17e29 - ld a, [$d4b4] + ld a, [wd4b4] cp $50 ld a, $1 jr nc, .asm_17e33 @@ -29175,7 +29175,7 @@ Data_17e4b: dr $17e4b, $17e81 Func_17e81: ; 0x17e81 - ld a, [$d548] + ld a, [wd548] and a ret z ld hl, wBallSpin @@ -29210,18 +29210,18 @@ Func_17e81: ; 0x17e81 ld a, [$fffb] and a ret nz - ld a, [$d4c5] + ld a, [wd4c5] inc a ld hl, hBoardXShift sub [hl] ld b, a - ld a, [$d4c6] + ld a, [wd4c6] inc a sub $10 ld hl, hBoardYShift sub [hl] ld c, a - ld a, [$d4c7] + ld a, [wd4c7] srl a srl a srl a @@ -29230,15 +29230,15 @@ Func_17e81: ; 0x17e81 add $0 call LoadOAMData ld a, [wBallXPos + 1] - ld [$d4c5], a + ld [wd4c5], a ld a, [wBallYPos + 1] - ld [$d4c6], a + ld [wd4c6], a ld a, [wBallRotation] - ld [$d4c7], a + ld [wd4c7], a ret Func_17efb: ; 0x17efb - ld a, [$d551] + ld a, [wd551] and a ret nz ld a, [$ffb3] @@ -29250,7 +29250,7 @@ Func_17efb: ; 0x17efb jr asm_17f21 Func_17f0f: ; 0x17f0f - ld a, [$d551] + ld a, [wd551] and a ret nz ld a, [$ffb3] @@ -29288,20 +29288,20 @@ Data_17f4c: dr $17f4c, $17f64 Func_17f64: ; 0x17f64 - ld a, [$d551] + ld a, [wd551] and a ret z - ld de, $d566 + ld de, wd566 ld hl, Data_17fa6 ld b, $c ld c, $39 jr asm_17f84 Func_17f75: ; 0x17f75 - ld a, [$d551] + ld a, [wd551] and a ret z - ld de, $d572 + ld de, wd572 ld hl, Data_17fbe ld b, $6 ld c, $40 @@ -29341,12 +29341,12 @@ Data_17fbe: dr $17fbe, $17fca Func_17fca: ; 0x17fca - ld a, [$d604] + ld a, [wd604] and a ret z - ld a, [$d606] + ld a, [wd606] inc a - ld [$d606], a + ld [wd606], a ld a, $40 ld hl, hBoardXShift sub [hl] @@ -29355,7 +29355,7 @@ Func_17fca: ; 0x17fca ld hl, hBoardYShift sub [hl] ld c, a - ld a, [$d606] + ld a, [wd606] srl a srl a srl a @@ -29378,11 +29378,11 @@ Func_18000: ; 0x18000 call ClearData xor a ld [rVBK], a - ld hl, $d4cb + ld hl, wd4cb ld bc, $032e call ClearData xor a - ld hl, $d46f + ld hl, wd46f ld [hld], a ld [hld], a ld [hld], a @@ -29390,12 +29390,12 @@ Func_18000: ; 0x18000 ld [hld], a ld [hl], a ld [wNumPartyMons], a - ld [$d49b], a - ld [$d4c9], a + ld [wd49b], a + ld [wd4c9], a ld a, $1 - ld [$d49d], a + ld [wd49d], a ld a, $3 - ld [$d49e], a + ld [wd49e], a ld [$ff8a], a callba Func_dbba ret @@ -29446,41 +29446,41 @@ Func_18084: ; 0x18084 ret InitGengarBonusStage: ; 0x18099 - ld a, [$d7c1] + ld a, [wd7c1] and a jr z, .asm_180ac xor a - ld [$d674], a + ld [wd674], a ld a, $8 - ld [$d690], a - ld [$d6a1], a + ld [wd690], a + ld [wd6a1], a ret .asm_180ac ld a, $1 - ld [$d7ac], a + ld [wd7ac], a ld a, [wBallType] ld [wBallTypeBackup], a xor a - ld [$d4c8], a + ld [wd4c8], a ld [wBallType], a - ld [$d49a], a + ld [wd49a], a ld hl, Data_18121 ; todo - ld de, $d659 + ld de, wd659 call Func_18112 call Func_18112 call Func_18112 ld hl, Data_1813c ; todo - ld de, $d67e + ld de, wd67e call Func_18112 call Func_18112 ld hl, Data_1814e ; todo - ld de, $d698 + ld de, wd698 call Func_18112 xor a - ld [$d67b], a - ld [$d695], a - ld hl, $d6a2 + ld [wd67b], a + ld [wd695], a + ld hl, wd6a2 ld [hli], a ld [hli], a ld [hli], a @@ -29488,7 +29488,7 @@ InitGengarBonusStage: ; 0x18099 ld [hli], a ld [hli], a ld [hli], a - ld [$d656], a + ld [wd656], a ld bc, $0130 ; 1 minute 30 seconds ld [$ff8a], a callba StartTimer @@ -29533,19 +29533,19 @@ StartBallGengarBonusStage: ; 0x18157 ld a, $56 ld [wBallYPos + 1], a xor a - ld [$d7ab], a + ld [wd7ab], a ld [wStageCollisionState], a - ld [$d653], a + ld [wd653], a xor a - ld [$d674], a + ld [wd674], a ld a, $8 - ld [$d690], a - ld [$d6a1], a - ld a, [$d4c9] + ld [wd690], a + ld [wd6a1], a + ld a, [wd4c9] and a ret z xor a - ld [$d4c9], a + ld [wd4c9], a ret Func_1818b: ; 0x1818b @@ -29553,7 +29553,7 @@ Func_1818b: ; 0x1818b callba Func_142fc call Func_2862 call Func_18d72 - ld a, [$d7c1] + ld a, [wd7c1] ld [$ff8a], a callba Func_1404a and a @@ -29570,42 +29570,42 @@ Func_181b1: ; 0x181b1 ret Func_181be: ; 0x181be - ld a, [$d659] + ld a, [wd659] and a ret z - ld a, [$d65f] + ld a, [wd65f] ld b, a - ld a, [$d661] + ld a, [wd661] add $10 ld c, a - ld a, [$d65b] + ld a, [wd65b] call Func_1820d ld a, $1 jr c, .asm_181fe - ld a, [$d668] + ld a, [wd668] ld b, a - ld a, [$d66a] + ld a, [wd66a] add $10 ld c, a - ld a, [$d664] + ld a, [wd664] call Func_1820d ld a, $2 jr c, .asm_181fe - ld a, [$d671] + ld a, [wd671] ld b, a - ld a, [$d673] + ld a, [wd673] add $10 ld c, a - ld a, [$d66d] + ld a, [wd66d] call Func_1820d ld a, $3 ret nc .asm_181fe - ld [$d4eb], a - ld [$d657], a + ld [wd4eb], a + ld [wd657], a add $4 - ld [$d4ea], a - ld [$d658], a + ld [wd4ea], a + ld [wd658], a ret Func_1820d: ; 0x1820d @@ -29643,9 +29643,9 @@ Func_1820d: ; 0x1820d bit 7, a jr nz, .asm_18257 sla a - ld [$d7ea], a + ld [wd7ea], a ld a, $1 - ld [$d7e9], a + ld [wd7e9], a scf ret @@ -29654,35 +29654,35 @@ Func_1820d: ; 0x1820d ret Func_18259: ; 0x18259 - ld a, [$d67e] + ld a, [wd67e] and a ret z - ld a, [$d684] + ld a, [wd684] add $fe ld b, a - ld a, [$d686] + ld a, [wd686] add $c ld c, a - ld a, [$d680] + ld a, [wd680] call Func_18298 ld a, $1 jr c, .asm_18289 - ld a, [$d68d] + ld a, [wd68d] add $fe ld b, a - ld a, [$d68f] + ld a, [wd68f] add $c ld c, a - ld a, [$d689] + ld a, [wd689] call Func_18298 ld a, $2 ret nc .asm_18289 - ld [$d4eb], a - ld [$d67c], a + ld [wd4eb], a + ld [wd67c], a add $7 - ld [$d4ea], a - ld [$d67d], a + ld [wd4ea], a + ld [wd67d], a ret Func_18298: ; 0x18298 @@ -29720,9 +29720,9 @@ Func_18298: ; 0x18298 bit 7, a jr nz, .asm_182e2 sla a - ld [$d7ea], a + ld [wd7ea], a ld a, $1 - ld [$d7e9], a + ld [wd7e9], a scf ret @@ -29731,22 +29731,22 @@ Func_18298: ; 0x18298 ret Func_182e4: ; 0x182e4 - ld a, [$d698] + ld a, [wd698] and a ret z - ld a, [$d69e] + ld a, [wd69e] ld b, a - ld a, [$d6a0] + ld a, [wd6a0] add $c ld c, a call Func_18308 ld a, $1 ret nc - ld [$d4eb], a - ld [$d696], a + ld [wd4eb], a + ld [wd696], a add $9 - ld [$d4ea], a - ld [$d697], a + ld [wd4ea], a + ld [wd697], a ret Func_18308: ; 0x18308 @@ -29783,9 +29783,9 @@ Func_18308: ; 0x18308 bit 7, a jr nz, .asm_1834e sla a - ld [$d7ea], a + ld [wd7ea], a ld a, $1 - ld [$d7e9], a + ld [wd7e9], a scf ret @@ -29796,7 +29796,7 @@ Func_18308: ; 0x18308 Func_18350: ; 0x18350 ld de, Data_18368 ld hl, Data_1835d - ld bc, $d654 + ld bc, wd654 and a jp Func_2775 @@ -29814,33 +29814,33 @@ Func_18377: ; 0x18377 call Func_183b7 ld [$ff8a], a callba Func_107f8 - ld a, [$d57e] + ld a, [wd57e] and a ret z xor a - ld [$d57e], a + ld [wd57e], a ld a, $1 - ld [$d7be], a + ld [wd7be], a call Func_2862 ld [$ff8a], a callba Func_86d2 - ld a, [$d6a2] + ld a, [wd6a2] cp $5 ret nc ld a, $1 - ld [$d6a8], a + ld [wd6a8], a ret Func_183b7: ; 0x183b7 - ld a, [$d653] + ld a, [wd653] and a ret nz - ld a, [$d4b4] + ld a, [wd4b4] cp $8a ret nc ld a, $1 ld [wStageCollisionState], a - ld [$d653], a + ld [wd653], a ld [$ff8a], a callba LoadStageCollisionAttributes call Func_183db @@ -29873,18 +29873,18 @@ Data_1842e: dr $1842e, $18464 Func_18464: ; 0x18464 - ld a, [$d659] + ld a, [wd659] and a ret z - ld a, [$d657] + ld a, [wd657] and a jr z, .asm_184d5 xor a - ld [$d657], a - ld a, [$d7be] + ld [wd657], a + ld a, [wd7be] and a jr nz, .asm_184d5 - ld a, [$d658] + ld a, [wd658] sub $5 ld c, a sla a @@ -29893,7 +29893,7 @@ Func_18464: ; 0x18464 add c ld c, a ld b, $0 - ld hl, $d65d + ld hl, wd65d add hl, bc ld d, h ld e, l @@ -29909,43 +29909,43 @@ Func_18464: ; 0x18464 pop de ld a, $1 ld [de], a - ld a, [$d67b] + ld a, [wd67b] inc a - ld [$d67b], a + ld [wd67b], a ld bc, TenMillionPoints ld [$ff8a], a callba Func_8588 ld a, $33 - ld [$d803], a + ld [wd803], a ld a, $8 - ld [$d804], a + ld [wd804], a ld hl, $0100 ld a, l - ld [$d7bc], a + ld [wd7bc], a ld a, h - ld [$d7bd], a + ld [wd7bd], a ld a, $80 ld [wFlipperCollision], a ld de, $002c call PlaySoundEffect .asm_184d5 ld bc, $0830 - ld de, $d65d - ld hl, $d675 + ld de, wd65d + ld hl, wd675 call Func_1850c ld bc, $5078 - ld de, $d666 - ld hl, $d677 + ld de, wd666 + ld hl, wd677 call Func_1850c ld bc, $3050 - ld de, $d66f - ld hl, $d679 + ld de, wd66f + ld hl, wd679 call Func_1850c - ld de, $d65d + ld de, wd65d call Func_18562 - ld de, $d666 + ld de, wd666 call Func_18562 - ld de, $d66f + ld de, wd66f call Func_18562 ret @@ -30038,33 +30038,33 @@ Func_18562: ; 0x18562 ld a, [de] cp $12 ret nz - ld a, [$d67b] + ld a, [wd67b] cp $a jr nz, .asm_185b1 ld a, $1 - ld [$d67e], a - ld [$d687], a + ld [wd67e], a + ld [wd687], a xor a - ld [$d659], a - ld [$d662], a - ld [$d66b], a + ld [wd659], a + ld [wd662], a + ld [wd66b], a ld de, $0006 call PlaySong ret .asm_185b1 ld c, a - ld a, [$d65d] + ld a, [wd65d] and a jr nz, .asm_185b9 inc c .asm_185b9 - ld a, [$d666] + ld a, [wd666] and a jr nz, .asm_185c0 inc c .asm_185c0 - ld a, [$d66f] + ld a, [wd66f] and a jr nz, .asm_185c7 inc c @@ -30093,18 +30093,18 @@ Data_185e6: dr $185e6, $1860b Func_1860b: ; 0x1860b - ld a, [$d67e] + ld a, [wd67e] and a ret z - ld a, [$d67c] + ld a, [wd67c] and a jr z, .asm_1867c xor a - ld [$d67c], a - ld a, [$d7be] + ld [wd67c], a + ld a, [wd7be] and a jr nz, .asm_1867c - ld a, [$d67d] + ld a, [wd67d] sub $8 ld c, a sla a @@ -30113,7 +30113,7 @@ Func_1860b: ; 0x1860b add c ld c, a ld b, $0 - ld hl, $d682 + ld hl, wd682 add hl, bc ld d, h ld e, l @@ -30129,37 +30129,37 @@ Func_1860b: ; 0x1860b pop de ld a, $1 ld [de], a - ld a, [$d695] + ld a, [wd695] inc a - ld [$d695], a + ld [wd695], a ld bc, FiftyMillionPoints ld [$ff8a], a callba Func_8588 ld a, $33 - ld [$d803], a + ld [wd803], a ld a, $8 - ld [$d804], a + ld [wd804], a ld hl, $0100 ld a, l - ld [$d7bc], a + ld [wd7bc], a ld a, h - ld [$d7bd], a + ld [wd7bd], a ld a, $80 ld [wFlipperCollision], a ld de, $002d call PlaySoundEffect .asm_1867c ld bc, $5078 - ld de, $d682 - ld hl, $d691 + ld de, wd682 + ld hl, wd691 call Func_186a1 ld bc, $1038 - ld de, $d68b - ld hl, $d693 + ld de, wd68b + ld hl, wd693 call Func_186a1 - ld de, $d682 + ld de, wd682 call Func_186f7 - ld de, $d68b + ld de, wd68b call Func_186f7 ret @@ -30252,11 +30252,11 @@ Func_186f7: ; 0x186f7 ld a, [de] cp $12 jr nz, .asm_18761 - ld a, [$d695] + ld a, [wd695] cp $a jr nz, .asm_18740 ld a, $1 - ld [$d656], a + ld [wd656], a call Func_18d72 call Func_18d91 ld de, $0000 @@ -30265,12 +30265,12 @@ Func_186f7: ; 0x186f7 .asm_18740 ld c, a - ld a, [$d682] + ld a, [wd682] and a jr nz, .asm_18748 inc c .asm_18748 - ld a, [$d68b] + ld a, [wd68b] and a jr nz, .asm_1874f inc c @@ -30292,14 +30292,14 @@ Func_186f7: ; 0x186f7 .asm_18761 cp $13 ret nz - ld a, [$d695] + ld a, [wd695] cp $a ret nz ld a, $1 - ld [$d698], a + ld [wd698], a xor a - ld [$d67e], a - ld [$d687], a + ld [wd67e], a + ld [wd687], a ld de, GENGAR call PlayCry ret @@ -30314,18 +30314,18 @@ Data_1878a: dr $1878a, $187b1 Func_187b1: ; 0x187b1 - ld a, [$d698] + ld a, [wd698] and a ret z - ld a, [$d696] + ld a, [wd696] and a jp z, .asm_1885d xor a - ld [$d696], a - ld a, [$d7be] + ld [wd696], a + ld a, [wd7be] and a jp nz, .asm_1885d - ld a, [$d697] + ld a, [wd697] sub $a ld c, a sla a @@ -30334,7 +30334,7 @@ Func_187b1: ; 0x187b1 add c ld c, a ld b, $0 - ld hl, $d69c + ld hl, wd69c add hl, bc ld d, h ld e, l @@ -30345,9 +30345,9 @@ Func_187b1: ; 0x187b1 dec de dec de dec de - ld a, [$d6a2] + ld a, [wd6a2] inc a - ld [$d6a2], a + ld [wd6a2], a cp $5 jr nc, .asm_18804 ld hl, Data_18b2b @@ -30366,7 +30366,7 @@ Func_187b1: ; 0x187b1 ld a, $3 ld [de], a ld a, $1 - ld [$d7be], a + ld [wd7be], a call Func_2862 ld [$ff8a], a callba Func_86d2 @@ -30377,24 +30377,24 @@ Func_187b1: ; 0x187b1 ld [$ff8a], a callba Func_8588 ld a, $33 - ld [$d803], a + ld [wd803], a ld a, $8 - ld [$d804], a + ld [wd804], a ld hl, $0200 ld a, l - ld [$d7bc], a + ld [wd7bc], a ld a, h - ld [$d7bd], a + ld [wd7bd], a ld a, $80 ld [wFlipperCollision], a - ld a, [$d69f] + ld a, [wd69f] add $0 - ld [$d69f], a - ld a, [$d6a0] + ld [wd69f], a + ld a, [wd6a0] adc $ff - ld [$d6a0], a + ld [wd6a0], a .asm_1885d - ld a, [$d69c] + ld a, [wd69c] cp $2 jr nc, .asm_18869 call Func_18876 @@ -30403,141 +30403,141 @@ Func_187b1: ; 0x187b1 .asm_18869 call Func_188e1 .asm_1886c - ld de, $d69c + ld de, wd69c call Func_189af call Func_1894c ret Func_18876: ; 0x18876 - ld a, [$d6a3] + ld a, [wd6a3] cp $1 jr z, .asm_1889b cp $2 jr z, .asm_1889b - ld a, [$d69a] + ld a, [wd69a] cp $1 jr z, .asm_1888c cp $2 jr nz, .asm_1889b .asm_1888c ld a, $1 - ld [$d6a4], a + ld [wd6a4], a ld a, $11 - ld [$d803], a + ld [wd803], a ld a, $8 - ld [$d804], a + ld [wd804], a .asm_1889b - ld a, [$d69a] - ld hl, $d6a3 + ld a, [wd69a] + ld hl, wd6a3 cp [hl] ret z - ld a, [$d69c] + ld a, [wd69c] and a jr nz, .asm_188da - ld a, [$d6a0] + ld a, [wd6a0] add $80 cp $a0 jr nc, .asm_188da - ld a, [$d69a] + ld a, [wd69a] and a jr z, .asm_188ca - ld a, [$d69f] + ld a, [wd69f] add $0 - ld [$d69f], a - ld a, [$d6a0] + ld [wd69f], a + ld a, [wd6a0] adc $3 - ld [$d6a0], a + ld [wd6a0], a jr .asm_188da .asm_188ca - ld a, [$d69f] + ld a, [wd69f] add $0 - ld [$d69f], a - ld a, [$d6a0] + ld [wd69f], a + ld a, [wd6a0] adc $1 - ld [$d6a0], a + ld [wd6a0], a .asm_188da - ld a, [$d69a] - ld [$d6a3], a + ld a, [wd69a] + ld [wd6a3], a ret Func_188e1: ; 0x188e1 - ld a, [$d6a3] + ld a, [wd6a3] cp $1 jr z, .asm_18901 cp $2 jr z, .asm_18901 - ld a, [$d69a] + ld a, [wd69a] cp $1 jr z, .asm_188f7 cp $2 jr nz, .asm_18901 .asm_188f7 ld a, $1 - ld [$d803], a + ld [wd803], a ld a, $8 - ld [$d804], a + ld [wd804], a .asm_18901 - ld a, [$d69a] + ld a, [wd69a] cp $6 ret z - ld a, [$d69a] - ld hl, $d6a3 + ld a, [wd69a] + ld hl, wd6a3 cp [hl] ret z - ld a, [$d69c] + ld a, [wd69c] cp $3 jr nz, .asm_1891d - ld a, [$d69b] + ld a, [wd69b] cp $9 jr c, .asm_18945 .asm_1891d - ld a, [$d69a] + ld a, [wd69a] and a jr z, .asm_18935 - ld a, [$d69f] + ld a, [wd69f] add $0 - ld [$d69f], a - ld a, [$d6a0] + ld [wd69f], a + ld a, [wd6a0] adc $fd - ld [$d6a0], a + ld [wd6a0], a jr .asm_18945 .asm_18935 - ld a, [$d69f] + ld a, [wd69f] add $0 - ld [$d69f], a - ld a, [$d6a0] + ld [wd69f], a + ld a, [wd6a0] adc $ff - ld [$d6a0], a + ld [wd6a0], a .asm_18945 - ld a, [$d69a] - ld [$d6a3], a + ld a, [wd69a] + ld [wd6a3], a ret Func_1894c: ; 0x1894c - ld a, [$d6a6] + ld a, [wd6a6] and a jr nz, .asm_1898f - ld a, [$d6a4] + ld a, [wd6a4] and a jr z, .asm_1898f - ld a, [$d6a5] + ld a, [wd6a5] cp $3 jr z, .asm_18980 inc a - ld [$d6a5], a - ld a, [$d548] - ld hl, $d549 + ld [wd6a5], a + ld a, [wd548] + ld hl, wd549 and [hl] jr z, .asm_18973 - ld a, [$d4b6] + ld a, [wd4b6] inc a - ld [$d4b6], a + ld [wd4b6], a .asm_18973 - ld a, [$d7a0] + ld a, [wd7a0] dec a - ld [$d7a0], a + ld [wd7a0], a ld a, $1 ld [wUpperTiltPushing], a ret @@ -30546,28 +30546,28 @@ Func_1894c: ; 0x1894c ld de, $002b call PlaySoundEffect ld a, $1 - ld [$d6a6], a + ld [wd6a6], a xor a - ld [$d6a4], a + ld [wd6a4], a .asm_1898f xor a ld [wUpperTiltPushing], a - ld a, [$d6a5] + ld a, [wd6a5] and a jr z, .asm_189a5 dec a - ld [$d6a5], a - ld a, [$d7a0] + ld [wd6a5], a + ld a, [wd7a0] inc a - ld [$d7a0], a + ld [wd7a0], a ret .asm_189a5 - ld a, [$d6a4] + ld a, [wd6a4] and a ret nz xor a - ld [$d6a6], a + ld [wd6a6], a ret Func_189af: ; 0x189af @@ -30648,14 +30648,14 @@ Func_189af: ; 0x189af cp $fe ret nz ld a, $1 - ld [$d6a8], a + ld [wd6a8], a ld a, $1 - ld [$d498], a + ld [wd498], a ld a, $1 - ld [$d49a], a + ld [wd49a], a call Func_30e8 call Func_30db - ld hl, $d5dc + ld hl, wd5dc ld de, Data_2f7b call LoadTextHeader ld de, $4b2a @@ -30697,26 +30697,26 @@ Data_18b32: dr $18b32, $18d34 Func_18d34: ; 0x18d34 - ld a, [$d654] + ld a, [wd654] and a jr z, .asm_18d71 xor a - ld [$d654], a - ld a, [$d7be] + ld [wd654], a + ld a, [wd7be] and a jr nz, .asm_18d71 ld bc, OneHundredMillionPoints ld [$ff8a], a callba Func_8588 ld a, $ff - ld [$d803], a + ld [wd803], a ld a, $3 - ld [$d804], a + ld [wd804], a ld hl, $0100 ld a, l - ld [$d7bc], a + ld [wd7bc], a ld a, h - ld [$d7bd], a + ld [wd7bd], a ld a, $80 ld [wFlipperCollision], a ld de, $002f @@ -30725,7 +30725,7 @@ Func_18d34: ; 0x18d34 ret Func_18d72: ; 0x18d72 - ld a, [$d656] + ld a, [wd656] sla a ld c, a ld b, $0 @@ -30746,19 +30746,19 @@ Func_18d72: ; 0x18d72 ret Func_18d91: ; 0x18d91 - ld a, [$d656] + ld a, [wd656] and a ld hl, Data_18dc9 jr z, .asm_18d9d ld hl, Data_18dd2 .asm_18d9d - ld de, $c7c7 + ld de, wc7c7 call Func_18db2 - ld de, $c7ae + ld de, wc7ae call Func_18db2 - ld de, $c823 + ld de, wc823 call Func_18db2 - ld de, $c84d + ld de, wc84d ; fall through Func_18db2: ; 0x18db2 @@ -30813,47 +30813,47 @@ Func_18fda: ld a, [hNewlyPressedButtons] bit 6, a ret z - ld a, [$d659] + ld a, [wd659] and a jr z, .asm_18ff8 ld a, $1 - ld [$d67e], a - ld [$d687], a + ld [wd67e], a + ld [wd687], a xor a - ld [$d659], a - ld [$d662], a - ld [$d66b], a + ld [wd659], a + ld [wd662], a + ld [wd66b], a ret .asm_18ff8 - ld a, [$d67e] + ld a, [wd67e] and a jr z, .asm_1900b ld a, $1 - ld [$d698], a + ld [wd698], a xor a - ld [$d67e], a - ld [$d687], a + ld [wd67e], a + ld [wd687], a ret .asm_1900b - ld a, [$d698] + ld a, [wd698] and a ret z ld a, $1 - ld [$d659], a - ld [$d662], a - ld [$d66b], a + ld [wd659], a + ld [wd662], a + ld [wd66b], a xor a - ld [$d698], a + ld [wd698], a ret Func_19020: ; 0x19020 - ld de, $d659 + ld de, wd659 call Func_19033 - ld de, $d662 + ld de, wd662 call Func_19033 - ld de, $d66b + ld de, wd66b call Func_19033 ret @@ -30906,12 +30906,12 @@ Data_1906b: dr $1906b, $19070 Func_19070: ; 0x19070 - ld a, [$d674] + ld a, [wd674] and a ret z push de dec a - ld [$d674], a + ld [wd674], a sla a sla a ld c, a @@ -30929,12 +30929,12 @@ Func_19070: ; 0x19070 ld bc, $0060 call Func_735 ld a, $8 - ld [$d690], a - ld [$d6a1], a + ld [wd690], a + ld [wd6a1], a xor a - ld [$d67e], a - ld [$d687], a - ld [$d698], a + ld [wd67e], a + ld [wd687], a + ld [wd698], a pop de scf ret @@ -30943,9 +30943,9 @@ Data_190a9: dr $190a9, $190b9 Func_190b9: ; 0x190b9 - ld de, $d67e + ld de, wd67e call Func_190c6 - ld de, $d687 + ld de, wd687 call Func_190c6 ret @@ -30998,12 +30998,12 @@ Data_190fe: dr $190fe, $19104 Func_19104: ; 0x19104 - ld a, [$d690] + ld a, [wd690] and a ret z push de dec a - ld [$d690], a + ld [wd690], a sla a sla a sla a @@ -31025,14 +31025,14 @@ Func_19104: ; 0x19104 ld a, $21 call Func_735 ld a, $4 - ld [$d674], a + ld [wd674], a ld a, $8 - ld [$d6a1], a + ld [wd6a1], a xor a - ld [$d659], a - ld [$d662], a - ld [$d66b], a - ld [$d698], a + ld [wd659], a + ld [wd662], a + ld [wd66b], a + ld [wd698], a pop de scf ret @@ -31041,7 +31041,7 @@ Data_19145: dr $19145, $19185 Func_19185: ; 0x19185 - ld de, $d698 + ld de, wd698 call Func_1918c ret @@ -31094,12 +31094,12 @@ Data_191c4: dr $191c4, $191cb Func_191cb: ; 0x191cb - ld a, [$d6a1] + ld a, [wd6a1] and a ret z push de dec a - ld [$d6a1], a + ld [wd6a1], a sla a sla a sla a @@ -31121,15 +31121,15 @@ Func_191cb: ; 0x191cb ld a, $26 call Func_735 ld a, $4 - ld [$d674], a + ld [wd674], a ld a, $8 - ld [$d690], a + ld [wd690], a xor a - ld [$d659], a - ld [$d662], a - ld [$d66b], a - ld [$d67e], a - ld [$d687], a + ld [wd659], a + ld [wd662], a + ld [wd66b], a + ld [wd67e], a + ld [wd687], a pop de scf ret @@ -31138,21 +31138,21 @@ Data_1920f: dr $1920f, $1924f InitMewtwoBonusStage: ; 0x1924f - ld a, [$d7c1] + ld a, [wd7c1] and a ret nz xor a ld [wStageCollisionState], a ld a, $1 - ld [$d7ac], a + ld [wd7ac], a ld a, [wBallType] ld [wBallTypeBackup], a xor a - ld [$d4c8], a + ld [wd4c8], a ld [wBallType], a - ld [$d49a], a + ld [wd49a], a ld hl, Data_192ab - ld de, $d6b6 + ld de, wd6b6 ld b, $c .asm_19275 ld a, [hli] @@ -31170,7 +31170,7 @@ InitMewtwoBonusStage: ; 0x1924f dec b jr nz, .asm_19275 ld hl, Data_192db - ld de, $d6ac + ld de, wd6ac ld b, $8 .asm_1928c ld a, [hli] @@ -31205,14 +31205,14 @@ StartBallMewtwoBonusStage: ; 0x192e3 ld a, $80 ld [wBallXVelocity], a xor a - ld [$d7ab], a + ld [wd7ab], a ld [wStageCollisionState], a - ld [$d6a9], a - ld a, [$d4c9] + ld [wd6a9], a + ld a, [wd4c9] and a ret z xor a - ld [$d4c9], a + ld [wd4c9], a ret Func_19310: ; 0x19310 @@ -31221,7 +31221,7 @@ Func_19310: ; 0x19310 call Func_2862 ld [$ff8a], a callba Func_1404a - ld a, [$d7c1] + ld a, [wd7c1] and a ret z call Func_194ac @@ -31233,7 +31233,7 @@ Func_19330: ; 0x19330 ret Func_19337: ; 0x19337 - ld hl, $d6bb + ld hl, wd6bb ld bc, $0601 .asm_1933d push bc @@ -31264,11 +31264,11 @@ Func_19337: ; 0x19337 ret .asm_19360 - ld [$d4eb], a - ld [$d6b4], a + ld [wd4eb], a + ld [wd6b4], a add $0 - ld [$d4ea], a - ld [$d6b5], a + ld [wd4ea], a + ld [wd6b5], a ret Func_1936f: ; 0x1936f @@ -31366,13 +31366,13 @@ Func_1936f: ; 0x1936f ld a, h cp $2 jr c, .asm_19410 - ld a, [$d804] + ld a, [wd804] and a jr nz, .asm_19410 ld a, $5 - ld [$d803], a + ld [wd803], a ld a, $8 - ld [$d804], a + ld [wd804], a .asm_19410 scf ret @@ -31382,33 +31382,33 @@ Func_19412: ; 0x19312 ret Func_19414: ; 0x19414 - ld a, [$d4ea] + ld a, [wd4ea] inc a jr nz, .asm_1944f - ld a, [$d6aa] + ld a, [wd6aa] bit 7, a jr nz, .asm_1944f - ld a, [$d7e9] + ld a, [wd7e9] and a ret z - ld a, [$d7f5] + ld a, [wd7f5] sub $10 ret c cp $c ret nc ld a, $1 - ld [$d4eb], a + ld [wd4eb], a add $6 - ld [$d4ea], a + ld [wd4ea], a ld b, a - ld hl, $d6aa + ld hl, wd6aa ld [hl], $0 - ld a, [$d4ec] + ld a, [wd4ec] cp b jr z, .asm_1944f - ld a, [$d4eb] + ld a, [wd4eb] ld [hli], a - ld a, [$d4ea] + ld a, [wd4ea] ld [hl], a scf ret @@ -31423,33 +31423,33 @@ Func_19451: ; 0x19451 call Func_1948b ld [$ff8a], a callba Func_107f8 - ld a, [$d57e] + ld a, [wd57e] and a ret z xor a - ld [$d57e], a + ld [wd57e], a ld a, $1 - ld [$d7be], a + ld [wd7be], a call Func_2862 ld [$ff8a], a callba Func_86d2 - ld a, [$d6b1] + ld a, [wd6b1] cp $8 ret nc ld a, $1 - ld [$d6b3], a + ld [wd6b3], a ret Func_1948b: ; 0x1948b - ld a, [$d6a9] + ld a, [wd6a9] and a ret nz - ld a, [$d4b4] + ld a, [wd4b4] cp $8a ret nc ld a, $1 ld [wStageCollisionState], a - ld [$d6a9], a + ld [wd6a9], a ld [$ff8a], a callba LoadStageCollisionAttributes call Func_194ac @@ -31481,36 +31481,36 @@ Data_194fd: dr $194fd, $19531 Func_19531: ; 0x19531 - ld a, [$d6aa] + ld a, [wd6aa] and a jr z, .asm_195a2 xor a - ld [$d6aa], a - ld a, [$d7be] + ld [wd6aa], a + ld a, [wd7be] and a jr nz, .asm_195a2 - ld a, [$d6af] + ld a, [wd6af] cp $2 jr nc, .asm_195a2 ld bc, FiftyThousandPoints ld [$ff8a], a callba Func_8588 - ld a, [$d6b0] + ld a, [wd6b0] inc a cp $3 jr nz, .asm_19565 - ld a, [$d6b1] + ld a, [wd6b1] inc a - ld [$d6b1], a + ld [wd6b1], a xor a .asm_19565 - ld [$d6b0], a + ld [wd6b0], a call Func_1988e - ld a, [$d6b1] + ld a, [wd6b1] cp $8 jr z, .asm_19582 ld a, $2 - ld de, $d6ae + ld de, wd6ae call Func_19679 ld de, $0039 call PlaySoundEffect @@ -31518,10 +31518,10 @@ Func_19531: ; 0x19531 .asm_19582 ld a, $3 - ld de, $d6ae + ld de, wd6ae call Func_19679 ld a, $1 - ld [$d7be], a + ld [wd7be], a call Func_2862 ld [$ff8a], a callba Func_86d2 @@ -31529,15 +31529,15 @@ Func_19531: ; 0x19531 call PlaySong .asm_195a2 call Func_195ac - ld de, $d6af + ld de, wd6af call Func_195f5 ret Func_195ac: ; 0x195ac - ld a, [$d6af] + ld a, [wd6af] and a ret nz - ld hl, $d6bd + ld hl, wd6bd ld de, $0008 ld b, $6 .asm_195b9 @@ -31551,7 +31551,7 @@ Func_195ac: ; 0x195ac cp $2 ret nz ld a, $1 - ld de, $d6ae + ld de, wd6ae call Func_19679 ret @@ -31562,7 +31562,7 @@ Func_195ac: ; 0x195ac ret Func_195d3: ; 0x195d3 - ld hl, $d6bd + ld hl, wd6bd ld de, $0008 ld b, $6 .asm_195db @@ -31656,9 +31656,9 @@ Func_19638: ; 0x19638 cp $20 ret nz ld a, $1 - ld [$d6b3], a - ld a, [$d499] - ld [$d498], a + ld [wd6b3], a + ld a, [wd499] + ld [wd498], a ld a, [wNumMewtwoBonusCompletions] cp $2 ; only counts up to 2. Gets reset to 0 when Mew is encountered in Catch 'Em Mode. jr z, .asm_1965e @@ -31666,10 +31666,10 @@ Func_19638: ; 0x19638 ld [wNumMewtwoBonusCompletions], a .asm_1965e ld a, $1 - ld [$d49a], a + ld [wd49a], a call Func_30e8 call Func_30db - ld hl, $d5dc + ld hl, wd5dc .asm_1966b ld de, Data_2f97 call LoadTextHeader @@ -31701,22 +31701,22 @@ Data_19691: dr $19691, $19701 Func_19701: ; 0x19701 - ld a, [$d6b4] + ld a, [wd6b4] and a jr z, .asm_19742 xor a - ld [$d6b4], a - ld a, [$d7be] + ld [wd6b4], a + ld a, [wd7be] and a jr nz, .asm_19742 - ld a, [$d6b5] + ld a, [wd6b5] sub $1 sla a sla a sla a ld c, a ld b, $0 - ld hl, $d6ba + ld hl, wd6ba add hl, bc ld d, h ld e, l @@ -31732,29 +31732,29 @@ Func_19701: ; 0x19701 ld de, $0038 call PlaySoundEffect .asm_19742 - ld de, $d6bd + ld de, wd6bd call Func_1978b - ld de, $d6c5 + ld de, wd6c5 call Func_1978b - ld de, $d6cd + ld de, wd6cd call Func_1978b - ld de, $d6d5 + ld de, wd6d5 call Func_1978b - ld de, $d6dd + ld de, wd6dd call Func_1978b - ld de, $d6e5 + ld de, wd6e5 call Func_1978b - ld de, $d6b6 + ld de, wd6b6 call Func_19833 - ld de, $d6be + ld de, wd6be call Func_19833 - ld de, $d6c6 + ld de, wd6c6 call Func_19833 - ld de, $d6ce + ld de, wd6ce call Func_19833 - ld de, $d6d6 + ld de, wd6d6 call Func_19833 - ld de, $d6de + ld de, wd6de call Func_19833 ret @@ -31862,7 +31862,7 @@ Func_19876: ; 0x19876 ret Func_1988e: ; 0x1988e - ld a, [$d6b1] + ld a, [wd6b1] sla a sla a sla a @@ -31870,7 +31870,7 @@ Func_1988e: ; 0x1988e ld b, $0 ld hl, Data_198ce add hl, bc - ld de, $d6bd + ld de, wd6bd ld b, $6 .asm_198a3 ld a, [hli] @@ -31939,7 +31939,7 @@ Func_19976: ; 0x19976 ld hl, hBoardYShift sub [hl] ld c, a - ld a, [$d6ad] + ld a, [wd6ad] ld e, a ld d, $0 ld hl, Data_19995 @@ -31953,17 +31953,17 @@ Data_19995: dr $19995, $1999d Func_1999d: ; 0x1999d - ld de, $d6b6 + ld de, wd6b6 call Func_199be - ld de, $d6be + ld de, wd6be call Func_199be - ld de, $d6c6 + ld de, wd6c6 call Func_199be - ld de, $d6ce + ld de, wd6ce call Func_199be - ld de, $d6d6 + ld de, wd6d6 call Func_199be - ld de, $d6de + ld de, wd6de ; fall through Func_199be: ; 0x199be @@ -32002,19 +32002,19 @@ Data_199e6: dr $199e6, $199f2 InitDiglettBonusStage: ; 0x199f2 - ld a, [$d7c1] + ld a, [wd7c1] and a ret nz xor a ld [wStageCollisionState], a ld a, $1 - ld [$d7ac], a + ld [wd7ac], a ld a, [wBallType] ld [wBallTypeBackup], a xor a - ld [$d4c8], a + ld [wd4c8], a ld [wBallType], a - ld [$d49a], a + ld [wd49a], a ; initialize all digletts to hiding ld a, $1 ; hiding diglett state ld hl, wDiglettStates @@ -32048,9 +32048,9 @@ StartBallDiglettBonusStage: ; 0x19a38 ld a, $40 ld [wBallXVelocity], a xor a - ld [$d7ab], a + ld [wd7ab], a ld [wStageCollisionState], a - ld [$d73a], a + ld [wd73a], a ld hl, wDiglettStates ld b, NUM_DIGLETTS .asm_19a60 @@ -32066,14 +32066,14 @@ StartBallDiglettBonusStage: ; 0x19a38 xor a ld [wCurrentDiglett], a ld [wDiglettsInitializedFlag], a - ld [$d765], a + ld [wd765], a ret Func_19a76: ; 0x19a76 ld [$ff8a], a callba Func_142fc call Func_2862 - ld a, [$d7c1] + ld a, [wd7c1] and a ret z call Func_19bbd @@ -32111,16 +32111,16 @@ Func_19ab3: ; 0x19ab3 ret Func_19aba: ; 0x19aba - ld a, [$d4ea] + ld a, [wd4ea] inc a jr nz, .asm_19b16 - ld a, [$d73b] + ld a, [wd73b] bit 7, a jr nz, .asm_19b16 - ld a, [$d7e9] + ld a, [wd7e9] and a ret z - ld a, [$d7f5] + ld a, [wd7f5] sub $19 ret c cp $33 @@ -32147,18 +32147,18 @@ Func_19aba: ; 0x19aba xor a .asm_19af7 add [hl] - ld [$d4eb], a + ld [wd4eb], a add $0 - ld [$d4ea], a + ld [wd4ea], a ld b, a - ld hl, $d73b + ld hl, wd73b ld [hl], $0 - ld a, [$d4ec] + ld a, [wd4ec] cp b jr z, .asm_19b16 - ld a, [$d4eb] + ld a, [wd4eb] ld [hli], a - ld a, [$d4ea] + ld a, [wd4ea] ld [hl], a scf ret @@ -32171,33 +32171,33 @@ Data_19b18: dr $19b18, $19b4b Func_19b4b: ; 0x19b4b - ld a, [$d4ea] + ld a, [wd4ea] inc a jr nz, .asm_19b86 - ld a, [$d75f] + ld a, [wd75f] bit 7, a jr nz, .asm_19b86 - ld a, [$d7e9] + ld a, [wd7e9] and a ret z - ld a, [$d7f5] + ld a, [wd7f5] sub $14 ret c cp $5 ret nc ld a, $1 - ld [$d4eb], a + ld [wd4eb], a add $1f - ld [$d4ea], a + ld [wd4ea], a ld b, a - ld hl, $d75f + ld hl, wd75f ld [hl], $0 - ld a, [$d4ec] + ld a, [wd4ec] cp b jr z, .asm_19b86 - ld a, [$d4eb] + ld a, [wd4eb] ld [hli], a - ld a, [$d4ea] + ld a, [wd4ea] ld [hl], a scf ret @@ -32213,23 +32213,23 @@ Func_19b88: ; 0x19b88 ret Func_19b92: ; 0x19b92 - ld a, [$d73a] + ld a, [wd73a] and a ret nz - ld a, [$d4b4] + ld a, [wd4b4] cp $8a ret nc ld a, $1 ld [wStageCollisionState], a - ld [$d73a], a + ld [wd73a], a xor a - ld [$c853], a - ld [$c873], a - ld [$c893], a + ld [wc853], a + ld [wc873], a + ld [wc893], a ld a, $5 - ld [$c872], a + ld [wc872], a ld a, $7 - ld [$c892], a + ld [wc892], a call Func_19bbd ret @@ -32259,11 +32259,11 @@ Data_19c16: dr $19c16, $19c52 Func_19c52: ; 0x19c52 - ld a, [$d73b] + ld a, [wd73b] and a jr z, .asm_19cc8 xor a - ld [$d73b], a + ld [wd73b], a ld bc, TenMillionPoints ld [$ff8a], a callba Func_8588 @@ -32271,12 +32271,12 @@ Func_19c52: ; 0x19c52 call PlaySoundEffect ld hl, $0100 ld a, l - ld [$d7bc], a + ld [wd7bc], a ld a, h - ld [$d7bd], a + ld [wd7bd], a ld a, $80 ld [wFlipperCollision], a - ld a, [$d73c] + ld a, [wd73c] sub $1 ld c, a ld b, $0 @@ -32316,11 +32316,11 @@ Func_19c52: ; 0x19c52 call PlaySong .asm_19cc8 call Func_19cdd - ld a, [$d765] + ld a, [wd765] and a ret nz ld a, $1 - ld [$d765], a + ld [wd765], a ld a, [wDugrioState] and a call nz, Func_1ac2c @@ -32552,11 +32552,11 @@ Data_19e13: INCLUDE "data/diglett_stage/diglett_stage_animation_data.asm" Func_1aad4: ; 0x1aad4 - ld a, [$d75f] + ld a, [wd75f] and a jr z, .asm_1ab2c xor a - ld [$d75f], a + ld [wd75f], a ld a, [wDugrioState] bit 0, a jr z, .asm_1ab2c @@ -32580,14 +32580,14 @@ Func_1aad4: ; 0x1aad4 ld de, $0036 call PlaySoundEffect ld a, $33 - ld [$d803], a + ld [wd803], a ld a, $8 - ld [$d804], a + ld [wd804], a ld hl, $0200 ld a, l - ld [$d7bc], a + ld [wd7bc], a ld a, h - ld [$d7bd], a + ld [wd7bd], a ld a, $80 ld [wFlipperCollision], a .asm_1ab2c @@ -32705,18 +32705,18 @@ Func_1ab30: ; 0x1ab30 call CopyHLToDE xor a ld [wDugrioState], a - ld [$d498], a + ld [wd498], a ld a, $1 - ld [$d49a], a + ld [wd49a], a call Func_30e8 call Func_30db - ld hl, $d5dc + ld hl, wd5dc ld de, Data_2fb3 call LoadTextHeader ld de, $4b2a call PlaySoundEffect ld a, $1 - ld [$d7be], a + ld [wd7be], a call Func_2862 ld hl, Data_1ac56 jr asm_1ac2f @@ -32724,7 +32724,7 @@ Func_1ab30: ; 0x1ab30 Func_1ac2c: ; 0x1ac2c ld hl, Data_1ac4a asm_1ac2f: - ld de, $c768 + ld de, wc768 ld b, $3 .asm_1ac34 ld a, [hli] @@ -32805,11 +32805,11 @@ Data_1accf: SECTION "bank7", ROMX, BANK[$7] InitBlueField: ; 0x1c000 - ld a, [$d7c1] + ld a, [wd7c1] and a ret nz xor a - ld hl, $d46f + ld hl, wd46f ld [hld], a ld [hld], a ld [hld], a @@ -32817,41 +32817,41 @@ InitBlueField: ; 0x1c000 ld [hld], a ld [hl], a ld [wNumPartyMons], a - ld [$d49b], a - ld [$d4c9], a + ld [wd49b], a + ld [wd4c9], a ld [wBallType], a - ld [$d4c8], a - ld hl, $d624 + ld [wd4c8], a + ld hl, wd624 ld [hli], a ld [hli], a ld [hli], a - ld [$d7ac], a - ld [$d7be], a + ld [wd7ac], a + ld [wd7be], a ld [wCurrentMap], a ; PALLET_TOWN ld a, $1 - ld [$d49d], a - ld [$d482], a + ld [wd49d], a + ld [wd482], a ld a, $2 ld [wRightAlleyCount], a ld a, $3 - ld [$d49e], a - ld [$d610], a + ld [wd49e], a + ld [wd610], a ld a, $2 - ld [$d498], a - ld [$d499], a + ld [wd498], a + ld [wd499], a ld a, $80 ld [wIndicatorStates], a ld [wIndicatorStates + 3], a ld a, $82 ld [wIndicatorStates + 1], a xor a - ld [$d648], a - ld [$d649], a - ld [$d64a], a - ld [$d643], a - ld [$d644], a - ld [$d645], a - ld [$d646], a + ld [wd648], a + ld [wd649], a + ld [wd64a], a + ld [wd643], a + ld [wd644], a + ld [wd645], a + ld [wd646], a ld [$ff8a], a callba Func_dbba ld [$ff8a], a @@ -32863,7 +32863,7 @@ InitBlueField: ; 0x1c000 ret StartBallBlueField: ; 0x1c08d - ld a, [$d496] + ld a, [wd496] and a jp nz, StartBallAfterBonusStageBlueField ld a, $0 @@ -32875,52 +32875,52 @@ StartBallBlueField: ; 0x1c08d ld a, $98 ld [wBallYPos + 1], a xor a - ld [$d549], a - ld [$d580], a + ld [wd549], a + ld [wd580], a call Func_1c7c7 - ld a, [$d4c9] + ld a, [wd4c9] and a ret z xor a - ld [$d4c9], a + ld [wd4c9], a xor a - ld [$d50b], a - ld [$d50c], a - ld [$d51d], a - ld [$d51e], a - ld [$d517], a - ld hl, $d50f + ld [wd50b], a + ld [wd50c], a + ld [wd51d], a + ld [wd51e], a + ld [wd517], a + ld hl, wd50f ld [hli], a ld [hli], a ld [hli], a ld [hli], a ld [wLeftMapMoveCounter], a ld [wRightMapMoveCounter], a - ld hl, $d5f9 + ld hl, wd5f9 ld [hli], a ld [hli], a ld [hli], a ld [wBallType], a - ld [$d611], a - ld [$d612], a - ld [$d628], a - ld [$d629], a - ld [$d62a], a - ld [$d62b], a - ld [$d62c], a - ld [$d63a], a - ld [$d63b], a - ld [$d63d], a - ld [$d63c], a - ld [$d62d], a - ld [$d62e], a - ld [$d613], a + ld [wd611], a + ld [wd612], a + ld [wd628], a + ld [wd629], a + ld [wd62a], a + ld [wd62b], a + ld [wd62c], a + ld [wd63a], a + ld [wd63b], a + ld [wd63d], a + ld [wd63c], a + ld [wd62d], a + ld [wd62e], a + ld [wd613], a inc a - ld [$d482], a - ld [$d4ef], a - ld [$d4f1], a + ld [wd482], a + ld [wd4ef], a + ld [wd4f1], a ld a, $3 - ld [$d610], a + ld [wd610], a call Func_1d65f ld a, $10 call SetSongBank @@ -32942,9 +32942,9 @@ StartBallAfterBonusStageBlueField: ; 0x1c129 ld [wBallYVelocity + 1], a ld [wBallXVelocity], a ld [wBallXVelocity + 1], a - ld [$d496], a - ld [$d7ab], a - ld [$d7be], a + ld [wd496], a + ld [wd7ab], a + ld [wd7be], a ld a, [wBallTypeBackup] ld [wBallType], a ld a, $10 @@ -32961,7 +32961,7 @@ Func_1c165: ; 0x1c165 ld [$ff8a], a callba Func_142fc ld a, $1 - ld [$d640], a + ld [wd640], a call Func_1f18a ld [$ff8a], a callba Func_1404a @@ -32991,44 +32991,44 @@ Func_1c191: ; 0x1c191 ret Func_1c1db: ; 0x1c1db - ld a, [$d641] + ld a, [wd641] cp $0 ret z ld a, $1 - ld [$d640], a + ld [wd640], a ld a, $0 - ld [$d641], a + ld [wd641], a ld a, [wBlueStageForceFieldDirection] cp $2 ; down direction ret nz ld a, $0 ld [wBlueStageForceFieldDirection], a ld a, $1 ; right direction - ld [$d64a], a + ld [wd64a], a xor a - ld [$d649], a - ld [$d648], a + ld [wd649], a + ld [wd648], a ret Func_1c203: ; 0x1c203 ld a, $ff - ld [$d4d7], a - ld [$d4db], a - ld a, [$d4b4] - ld [$d4c5], a - ld a, [$d4b6] - ld [$d4c6], a + ld [wd4d7], a + ld [wd4db], a + ld a, [wd4b4] + ld [wd4c5], a + ld a, [wd4b6] + ld [wd4c6], a ld a, [wBallRotation] - ld [$d4c7], a + ld [wd4c7], a ret Func_1c21e: ; 0x1c21e ld a, $ff - ld [$d60e], a - ld [$d60f], a - ld a, [$d60c] + ld [wd60e], a + ld [wd60f], a + ld a, [wd60c] call Func_1d5f2 - ld a, [$d60d] + ld a, [wd60d] add $14 call Func_1d5f2 ret @@ -33038,9 +33038,9 @@ Func_1c235: ; 0x1c235 and a jr z, .asm_1c249 ld a, $54 - ld [$c7e3], a + ld [wc7e3], a ld a, $55 - ld [$c803], a + ld [wc803], a ld a, $1 jr .asm_1c24a @@ -33072,13 +33072,13 @@ Func_1c235: ; 0x1c235 and a jr z, .asm_1c295 ld a, $52 - ld [$c7f0], a + ld [wc7f0], a ld a, $53 - ld [$c810], a - ld a, [$d644] + ld [wc810], a + ld a, [wd644] and a jr z, .asm_1c28a - ld a, [$d55a] + ld a, [wd55a] and a jr nz, .asm_1c2bd jr .asm_1c291 @@ -33151,7 +33151,7 @@ Func_1c2cb: ; 0x1c2cb add hl, bc ld a, [hl] push af - ld hl, $d648 + ld hl, wd648 add hl, bc dec hl dec hl @@ -33174,10 +33174,10 @@ Func_1c305: ; 0x1c305 ld a, [wSpecialMode] cp $2 ret z - ld a, [$d5c6] + ld a, [wd5c6] and a jr nz, .asm_1c31f - ld a, [$d5f3] + ld a, [wd5f3] and a jr nz, .asm_1c31f jp Func_1c3ca @@ -33193,7 +33193,7 @@ Func_1c305: ; 0x1c305 ld a, Bank(Func_10301) ld hl, Func_10301 call nz, BankSwitch - ld a, [$d5f3] + ld a, [wd5f3] and a ret z ld a, BANK(PikachuSaverGfx) @@ -33265,7 +33265,7 @@ Func_1c3c3: ; 0x1c3c3 ret Func_1c3ca: ; 0x1c3ca - ld hl, $d586 + ld hl, wd586 ld b, $18 .asm_1c3cf ld a, [hli] @@ -33290,7 +33290,7 @@ Func_1c3ee: ; 0x1c3ee ld a, [wSpecialMode] cp $1 ret nz - ld a, [$d554] + ld a, [wd554] cp $3 ret z ld a, [wCurrentStage] @@ -33310,7 +33310,7 @@ Func_1c3ee: ; 0x1c3ee ld bc, $00e0 call FarCopyData .asm_1c424 - ld a, [$d551] + ld a, [wd551] and a ret z ld a, [hGameBoyColorFlag] @@ -33342,7 +33342,7 @@ Func_1c43c: ; 0x1c43c ret .asm_1c458 - ld a, [$d624] + ld a, [wd624] call Func_1f265 ld a, BANK(Data_d8f60) ld hl, Data_d8f60 @@ -33362,7 +33362,7 @@ Func_1c46d: ; 0x1c46d Func_1c47d: ; 0x1c47d ld de, $0000 - ld a, [$d554] + ld a, [wd554] and a ret z ld b, a @@ -33403,17 +33403,17 @@ Func_1c4b6: ; 0x1c4b6 ld a, [wInSpecialMode] and a jr nz, .asm_1c4f0 - ld a, [$d609] + ld a, [wd609] and a jr z, .asm_1c4d2 - ld a, [$d498] + ld a, [wd498] add $15 ld [$ff8a], a callba Func_30256 ret .asm_1c4d2 - ld a, [$d608] + ld a, [wd608] and a jr z, .asm_1c4e5 ld a, $1a @@ -33430,7 +33430,7 @@ Func_1c4b6: ; 0x1c4b6 ld a, [wSpecialMode] cp $2 ret nz - ld a, [$d54d] + ld a, [wd54d] cp $3 jr nz, .asm_1c508 ld [$ff8a], a @@ -33438,11 +33438,11 @@ Func_1c4b6: ; 0x1c4b6 ret .asm_1c508 - ld a, [$d604] + ld a, [wd604] and a ld a, $14 jr nz, .asm_1c515 - ld a, [$d55a] + ld a, [wd55a] add $12 .asm_1c515 ld [$ff8a], a @@ -33480,90 +33480,90 @@ Func_1c536: ; 0x1c536 Func_1c55a: ; 0x1c55a ld de, Data_1c644 ld hl, Data_1c62e - ld bc, $d4cb + ld bc, wd4cb and a jp Func_2775 Func_1c567: ; 0x1c567 ld de, Data_1c650 - ld bc, $d507 + ld bc, wd507 scf jp Func_2775 Func_1c571: ; 0x1c571 ld de, Data_1c625 ld hl, Data_1c611 - ld bc, $d4d8 + ld bc, wd4d8 and a jp Func_2775 Func_1c57e: ; 0x1c57e ld de, Data_1c656 - ld bc, $d51f + ld bc, wd51f scf jp Func_2775 Func_1c588: ; 0x1c588 ld de, Data_1c665 - ld bc, $d635 + ld bc, wd635 scf jp Func_2775 Func_1c592: ; 0x1c592 ld de, Data_1c66b - ld bc, $d630 + ld bc, wd630 scf jp Func_2775 Func_1c59c: ; 0x1c59c ld de, Data_1c671 - ld bc, $d515 + ld bc, wd515 scf jp Func_2775 Func_1c5a6: ; 0x1c5a6 ld de, Data_1c686 ld hl, Data_1c67a - ld bc, $d60a + ld bc, wd60a and a jp Func_2775 Func_1c5b3: ; 0x1c5b3 ld de, Data_1c695 ld hl, Data_1c68f - ld bc, $d4ed + ld bc, wd4ed and a jp Func_2775 Func_1c5c0: ; 0x1c5c0 ld de, Data_1c69e - ld bc, $d5f7 + ld bc, wd5f7 scf jp Func_2775 Func_1c5ca: ; 0x1c5ca ld de, Data_1c6aa - ld bc, $d50d + ld bc, wd50d scf jp Func_2775 Func_1c5d4: ; 0x1c5d4 ld de, Data_1c6b9 - ld bc, $d601 + ld bc, wd601 scf jp Func_2775 Func_1c5de: ; 0x1c5de ld de, Data_1c6d1 ld hl, Data_1c6bf - ld bc, $d5c7 + ld bc, wd5c7 and a jp Func_2775 Func_1c5eb: ; 0x1c5eb xor a - ld [$d578], a - ld a, [$d551] + ld [wd578], a + ld a, [wd551] and a ret z ld a, [wCurrentStage] @@ -33578,7 +33578,7 @@ Func_1c5eb: ; 0x1c5eb Func_1c607: ; 0x1c607 ld de, Data_1c70f - ld bc, $d4dc + ld bc, wd4dc scf jp Func_2775 @@ -33733,12 +33733,12 @@ Func_1c7c7: ; 0x1c7c7 ret Func_1c7d7: ; 0x1c7d7 - ld a, [$d4dc] + ld a, [wd4dc] and a ret z xor a - ld [$d4dc], a - ld a, [$d4de] + ld [wd4dc], a + ld a, [wd4de] and a jr z, .asm_1c810 xor a @@ -33755,22 +33755,22 @@ Func_1c7d7: ; 0x1c7d7 ld a, $fa ld [wBallYVelocity + 1], a ld a, $1 - ld [$d549], a + ld [wd549], a ld de, $000a call PlaySoundEffect .asm_1c810 ld a, $ff - ld [$d4ec], a - ld a, [$d4de] + ld [wd4ec], a + ld a, [wd4de] and a ret nz - ld a, [$d4e0] + ld a, [wd4e0] and a jr nz, .asm_1c82c call Func_1c839 ld a, $1 - ld [$d4e0], a - ld [$d4de], a + ld [wd4e0], a + ld [wd4de], a ret .asm_1c82c @@ -33778,7 +33778,7 @@ Func_1c7d7: ; 0x1c7d7 call IsKeyPressed ret z ld a, $1 - ld [$d4de], a + ld [wd4de], a ret Func_1c839: ; 0x1c839 @@ -33830,9 +33830,9 @@ Func_1c839: ; 0x1c839 ld [$ff8a], a callba Func_3118f ld a, [wCurrentMap] - ld [$d4e3], a + ld [wd4e3], a xor a - ld [$d4e2], a + ld [wd4e2], a ret BlueStageInitialMaps: ; 0x1c8af @@ -33845,25 +33845,25 @@ BlueStageInitialMaps: ; 0x1c8af db CELADON_CITY Func_1c8b6: ; 0x1c8b6 - ld a, [$d64c] + ld a, [wd64c] inc a cp $3c jr z, .asm_1c8c2 - ld [$d64c], a + ld [wd64c], a ret .asm_1c8c2 xor a - ld [$d64c], a - ld hl, $d64d + ld [wd64c], a + ld hl, wd64d inc [hl] ld a, [hl] cp $5 ret nz - ld a, [$d644] + ld a, [wd644] and a jr nz, .asm_1c8e1 - ld a, [$d643] + ld a, [wd643] and a jr nz, .asm_1c8e5 ld a, [wRightAlleyCount] @@ -33871,12 +33871,12 @@ Func_1c8b6: ; 0x1c8b6 jr nc, .asm_1c8e5 .asm_1c8e1 xor a - ld [$d64b], a + ld [wd64b], a .asm_1c8e5 - ld a, [$d644] + ld a, [wd644] and a jr nz, .asm_1c8f8 - ld a, [$d643] + ld a, [wd643] and a jr nz, .asm_1c8fc ld a, [wLeftAlleyCount] @@ -33884,54 +33884,54 @@ Func_1c8b6: ; 0x1c8b6 jr z, .asm_1c8fc .asm_1c8f8 xor a - ld [$d64b], a + ld [wd64b], a .asm_1c8fc xor a - ld [$d64d], a + ld [wd64d], a xor a - ld [$d64a], a - ld [$d649], a - ld [$d648], a + ld [wd64a], a + ld [wd649], a + ld [wd648], a ld a, [wBlueStageForceFieldDirection] cp $1 ; right direction jr z, .asm_1c97f cp $3 ; left direction jr z, .asm_1c97f .asm_1c915 - ld a, [$d644] + ld a, [wd644] cp $0 jr z, .asm_1c925 - ld a, [$d55a] + ld a, [wd55a] cp $0 jr nz, .asm_1c933 jr .asm_1c947 .asm_1c925 - ld a, [$d643] + ld a, [wd643] cp $0 jr nz, .asm_1c933 ld a, [wRightAlleyCount] cp $2 jr c, .asm_1c947 .asm_1c933 - ld a, [$d64b] + ld a, [wd64b] cp $1 jr z, .asm_1c947 ld a, $1 ; right direction ld [wBlueStageForceFieldDirection], a - ld [$d64b], a - ld [$d640], a + ld [wd64b], a + ld [wd640], a jr .asm_1c99e .asm_1c947 - ld a, [$d644] + ld a, [wd644] cp $0 jr z, .asm_1c955 - ld a, [$d55a] + ld a, [wd55a] cp $0 jr z, .asm_1c969 .asm_1c955 - ld a, [$d643] + ld a, [wd643] cp $0 jr nz, .asm_1c969 ld a, [wLeftAlleyCount] @@ -33941,32 +33941,32 @@ Func_1c8b6: ; 0x1c8b6 and a jr nz, .asm_1c97f .asm_1c969 - ld a, [$d64b] + ld a, [wd64b] cp $3 jr z, .asm_1c915 ld a, $3 ; left direction ld [wBlueStageForceFieldDirection], a - ld [$d64b], a + ld [wd64b], a ld a, $1 - ld [$d640], a + ld [wd640], a jr .asm_1c99e .asm_1c97f - ld a, [$d641] + ld a, [wd641] and a jr nz, .asm_1c993 xor a ld [wBlueStageForceFieldDirection], a ld a, $1 - ld [$d640], a - ld [$d64a], a + ld [wd640], a + ld [wd64a], a jr .asm_1c99e .asm_1c993 ld a, $2 ; down direction ld [wBlueStageForceFieldDirection], a ld a, $1 - ld [$d640], a + ld [wd640], a ret .asm_1c99e @@ -33974,52 +33974,52 @@ Func_1c8b6: ; 0x1c8b6 cp $0 ; up direction jr nz, .asm_1c9ac ld a, $1 - ld [$d64a], a + ld [wd64a], a jr .asm_1c9c0 .asm_1c9ac cp $1 jr nz, .asm_1c9b7 ld a, $1 - ld [$d649], a + ld [wd649], a jr .asm_1c9c0 .asm_1c9b7 cp $3 jr nz, .asm_1c9c0 ld a, $1 - ld [$d648], a + ld [wd648], a .asm_1c9c0 ret Func_1c9c1: ; 0x1c9c1 - ld a, [$d4cb] + ld a, [wd4cb] and a jr z, .asm_1ca19 xor a - ld [$d4cb], a + ld [wd4cb], a call Func_1ca29 - ld a, [$d641] + ld a, [wd641] and a jr nz, .asm_1c9f2 ld a, $1 - ld [$d641], a + ld [wd641], a ld a, [wBlueStageForceFieldDirection] cp $0 ; up direction jr nz, .asm_1c9f2 ld a, $2 ; down direction ld [wBlueStageForceFieldDirection], a ld a, $1 - ld [$d640], a + ld [wd640], a ld a, $3 - ld [$d64c], a - ld [$d64d], a + ld [wd64c], a + ld [wd64d], a .asm_1c9f2 ld a, $10 - ld [$d4d6], a - ld a, [$d4cc] + ld [wd4d6], a + ld a, [wd4cc] sub $3 - ld [$d4d7], a + ld [wd4d7], a ld a, $4 ld [$ff8a], a callba Func_10000 @@ -34029,26 +34029,26 @@ Func_1c9c1: ; 0x1c9c1 ret .asm_1ca19 - ld a, [$d4d6] + ld a, [wd4d6] and a ret z dec a - ld [$d4d6], a + ld [wd4d6], a ret nz ld a, $ff - ld [$d4d7], a + ld [wd4d7], a ret Func_1ca29: ; 0x1ca29 ld a, $ff - ld [$d803], a + ld [wd803], a ld a, $3 - ld [$d804], a + ld [wd804], a ld hl, $0200 ld a, l - ld [$d7bc], a + ld [wd7bc], a ld a, h - ld [$d7bd], a + ld [wd7bd], a ld a, $80 ld [wFlipperCollision], a ld de, $000e @@ -34056,44 +34056,44 @@ Func_1ca29: ; 0x1ca29 ret Func_1ca4a: ; 1ca4a - ld a, [$d5c7] + ld a, [wd5c7] and a ret z xor a - ld [$d5c7], a + ld [wd5c7], a ld a, $1 - ld [$d5bf], a + ld [wd5bf], a ld de, $0006 call PlaySoundEffect ret Func_1ca5f: ; 0x1ca5f - ld a, [$d507] + ld a, [wd507] and a jr z, Func_1ca85 xor a - ld [$d507], a + ld [wd507], a ld a, [wBallYVelocity] ld c, a ld a, [wBallYVelocity + 1] ld b, a ld a, c - ld [$d50b], a + ld [wd50b], a ld a, b - ld [$d50c], a + ld [wd50c], a ld a, $c ld [$ff8a], a callba Func_10000 ; fall through Func_1ca85: ; 0x1ca85 - ld hl, $d50b + ld hl, wd50b ld a, [hli] or [hl] ret z - ld a, [$d50b] + ld a, [wd50b] ld c, a - ld a, [$d50c] + ld a, [wd50c] ld b, a bit 7, b jr nz, .asm_1caa3 @@ -34118,15 +34118,15 @@ Func_1ca85: ; 0x1ca85 ld bc, $0000 .asm_1cab0 ld a, c - ld [$d50b], a + ld [wd50b], a ld a, b - ld [$d50c], a - ld hl, $d50b - ld a, [$d509] + ld [wd50c], a + ld hl, wd50b + ld a, [wd509] add [hl] - ld [$d509], a + ld [wd509], a inc hl - ld a, [$d50a] + ld a, [wd50a] adc [hl] bit 7, a ld c, $0 @@ -34141,16 +34141,16 @@ Func_1ca85: ; 0x1ca85 sub $18 ld c, $1 .asm_1cadb - ld [$d50a], a + ld [wd50a], a ld a, c and a ret z ld bc, OneHundredBillionPoints ld [$ff8a], a callba AddBCDScore - ld hl, $d62d + ld hl, wd62d call Func_e4a - ld a, [$d517] + ld a, [wd517] cp $f jr nz, .asm_1caff call Func_1cb1c @@ -34158,13 +34158,13 @@ Func_1ca85: ; 0x1ca85 .asm_1caff inc a - ld [$d517], a + ld [wd517], a call Func_1cb1c - ld a, [$d517] + ld a, [wd517] cp $f jr nz, .asm_1cb12 ld a, $64 - ld [$d51e], a + ld [wd51e], a .asm_1cb12 ld a, [wCurrentStage] bit 0, a @@ -34173,10 +34173,10 @@ Func_1ca85: ; 0x1ca85 ret Func_1cb1c: ; 0x1cb1c - ld a, [$d51e] + ld a, [wd51e] and a ret nz - ld a, [$d517] + ld a, [wd517] ld c, a ld b, $0 ld hl, Data_1cb33 ; todo @@ -34191,7 +34191,7 @@ Data_1cb33: dr $1cb33, $1cb43 Func_1cb43: ; 0x1cb43 - ld a, [$d517] + ld a, [wd517] ld c, a sla c ld b, $0 @@ -34216,35 +34216,35 @@ Data_1cd10: dr $1cd10, $1ce40 Func_1ce40: ; 1ce40 - ld a, [$d4d8] + ld a, [wd4d8] and a jr z, .asm_1ce53 call Func_1ce72 call Func_1ce60 xor a - ld [$d4d8], a + ld [wd4d8], a call Func_1ce94 .asm_1ce53 - ld a, [$d4da] + ld a, [wd4da] and a ret z dec a - ld [$d4da], a + ld [wd4da], a call z, Func_1ce72 ret Func_1ce60: ; 0x1ce60 ld a, $10 - ld [$d4da], a - ld a, [$d4d9] + ld [wd4da], a + ld a, [wd4d9] sub $1 - ld [$d4db], a + ld [wd4db], a sla a inc a jr asm_1ce7a Func_1ce72: ; 1ce72 - ld a, [$d4db] + ld a, [wd4db] cp $ff ret z sla a @@ -34268,25 +34268,25 @@ asm_1ce7a: ; 0x1ce7a Func_1ce94: ; 0x1ce94 ld a, $ff - ld [$d803], a + ld [wd803], a ld a, $3 - ld [$d804], a + ld [wd804], a ld hl, $0200 ld a, l - ld [$d7bc], a + ld [wd7bc], a ld a, h - ld [$d7bd], a + ld [wd7bd], a ld a, $80 ld [wFlipperCollision], a - ld a, [$d4d9] + ld a, [wd4d9] sub $1 ld c, a ld b, $0 ld hl, Data_1cec8 add hl, bc - ld a, [$d7ea] + ld a, [wd7ea] add [hl] - ld [$d7ea], a + ld [wd7ea], a ld de, $000b call PlaySoundEffect ret @@ -34301,11 +34301,11 @@ Data_1cf3a: dr $1cf3a, $1cfaa Func_1cfaa: ; 0x1cfaa - ld a, [$d51f] + ld a, [wd51f] and a ret z xor a - ld [$d51f], a + ld [wd51f], a ld bc, FiftyBillionPoints ld [$ff8a], a callba AddBCDScore @@ -34317,34 +34317,34 @@ Func_1cfaa: ; 0x1cfaa ld [$ff8a], a callba LoadStageCollisionAttributes ld a, $1 - ld [$d580], a + ld [wd580], a ld [$ff8a], a callba Func_1404a .asm_1cfe5 - ld a, [$d520] + ld a, [wd520] sub $7 ld c, a ld b, $0 - ld hl, $d521 + ld hl, wd521 add hl, bc ld [hl], $1 - ld a, [$d521] + ld a, [wd521] and a call nz, Func_1d010 - ld a, [$d522] + ld a, [wd522] and a call nz, Func_1d047 - ld a, [$d523] + ld a, [wd523] and a call nz, HandleLeftAlleyTriggerBlueField - ld a, [$d524] + ld a, [wd524] and a call nz, HandleRightAlleyTriggerBlueField ret Func_1d010: ; 0x1d010 xor a - ld [$d521], a + ld [wd521], a ld a, [wLeftAlleyTrigger] and a ret z @@ -34373,7 +34373,7 @@ Func_1d010: ; 0x1d010 Func_1d047: ; 0x1d047 xor a - ld [$d522], a + ld [wd522], a ld a, [wRightAlleyTrigger] and a ret z @@ -34403,7 +34403,7 @@ Func_1d047: ; 0x1d047 HandleLeftAlleyTriggerBlueField: ; 0x1d080 ; Ball passed over the left alley trigger point in the Blue Field. xor a - ld [$d523], a + ld [wd523], a ld [wRightAlleyTrigger], a ld [wSecondaryLeftAlleyTrigger], a ld a, $1 @@ -34414,7 +34414,7 @@ HandleLeftAlleyTriggerBlueField: ; 0x1d080 HandleRightAlleyTriggerBlueField: ; 0x1d091 ; Ball passed over the right alley trigger point in the Blue Field. xor a - ld [$d524], a + ld [wd524], a ld [wLeftAlleyTrigger], a ld [wSecondaryLeftAlleyTrigger], a ld a, $1 @@ -34422,37 +34422,37 @@ HandleRightAlleyTriggerBlueField: ; 0x1d091 ret Func_1d0a1: ; 0x1d0a1 - ld a, [$d515] + ld a, [wd515] and a jr z, .asm_1d110 xor a - ld [$d515], a - ld a, [$d51c] + ld [wd515], a + ld a, [wd51c] and a jr nz, .asm_1d110 - ld a, [$d51d] + ld a, [wd51d] and a jr nz, .asm_1d0c9 - ld a, [$d516] + ld a, [wd516] sub $d - ld hl, $d518 + ld hl, wd518 cp [hl] jr nz, .asm_1d110 - ld a, [$d517] + ld a, [wd517] cp $f jr nz, .asm_1d0fc .asm_1d0c9 ld hl, PikachuSaverAnimationDataRedStage ld de, wPikachuSaverAnimationFrameCounter call CopyHLToDE - ld a, [$d51d] + ld a, [wd51d] and a jr nz, .asm_1d0dc xor a - ld [$d517], a + ld [wd517], a .asm_1d0dc ld a, $1 - ld [$d51c], a + ld [wd51c], a xor a ld [wBallXVelocity], a ld [wBallXVelocity + 1], a @@ -34460,7 +34460,7 @@ Func_1d0a1: ; 0x1d0a1 ld [wBallYVelocity + 1], a ld [wBallSpin], a ld [wBallRotation], a - ld [$d549], a + ld [wd549], a call Func_30e8 jr .asm_1d110 @@ -34469,22 +34469,22 @@ Func_1d0a1: ; 0x1d0a1 ld de, wPikachuSaverAnimationFrameCounter call CopyHLToDE ld a, $2 - ld [$d51c], a + ld [wd51c], a ld de, $003b call PlaySoundEffect .asm_1d110 - ld a, [$d51c] + ld a, [wd51c] and a call z, Func_1d1fb call Func_1d133 - ld a, [$d517] + ld a, [wd517] cp $f ret nz - ld a, [$d51e] + ld a, [wd51e] and a ret z dec a - ld [$d51e], a + ld [wd51e], a cp $5a ret nz ld de, $0f22 @@ -34492,7 +34492,7 @@ Func_1d0a1: ; 0x1d0a1 ret Func_1d133: ; 0x1d133 - ld a, [$d51c] + ld a, [wd51c] cp $1 jr nz, .asm_1d1ae ld hl, PikachuSaverAnimationDataRedStage @@ -34503,19 +34503,19 @@ Func_1d133: ; 0x1d133 cp $1 jr nz, .asm_1d18c xor a - ld [$d85d], a + ld [wd85d], a call Func_310a rst AdvanceFrame ld a, $1 ld [$ff8a], a callba PlayPikachuSoundClip ld a, $1 - ld [$d85d], a + ld [wd85d], a ld a, $ff - ld [$d803], a + ld [wd803], a ld a, $60 - ld [$d804], a - ld hl, $d62e + ld [wd804], a + ld hl, wd62e call Func_e4a jr nc, .asm_1d185 ld c, $a @@ -34536,12 +34536,12 @@ Func_1d133: ; 0x1d133 ld a, $fc ld [wBallYVelocity + 1], a ld a, $1 - ld [$d549], a + ld [wd549], a ld bc, FiveBillionPoints ld [$ff8a], a callba AddBCDScore xor a - ld [$d51c], a + ld [wd51c], a ret .asm_1d1ae @@ -34555,7 +34555,7 @@ Func_1d133: ; 0x1d133 cp $1 ret nz xor a - ld [$d51c], a + ld [wd51c], a ret .asm_1d1c7 @@ -34597,7 +34597,7 @@ Func_1d1fb: ; 0x1d1fb ld hl, wKeyConfigLeftFlipper call IsKeyPressed2 jr z, .asm_1d209 - ld hl, $d518 + ld hl, wd518 ld [hl], $0 ret @@ -34605,23 +34605,23 @@ Func_1d1fb: ; 0x1d1fb ld hl, wKeyConfigRightFlipper call IsKeyPressed2 ret z - ld hl, $d518 + ld hl, wd518 ld [hl], $1 ret Func_1d216: ; 0x1d216 - ld a, [$d630] + ld a, [wd630] and a jr z, .asm_1d253 xor a - ld [$d630], a + ld [wd630], a ld bc, OneMillionPoints ld [$ff8a], a callba AddBCDScore ld de, $0005 call PlaySoundEffect ld hl, Data_1d312 - ld de, $d632 + ld de, wd632 call CopyHLToDE xor a ld [wBallXVelocity], a @@ -34631,43 +34631,43 @@ Func_1d216: ; 0x1d216 ld [wBallXPos], a ld [wBallYPos], a xor a - ld [$d549], a + ld [wd549], a .asm_1d253 ld hl, Data_1d312 - ld de, $d632 + ld de, wd632 call UpdateAnimation push af - ld a, [$d632] + ld a, [wd632] and a jr nz, .asm_1d271 ld a, $19 - ld [$d632], a + ld [wd632], a xor a - ld [$d633], a + ld [wd633], a ld a, $6 - ld [$d634], a + ld [wd634], a .asm_1d271 pop af ret nc - ld a, [$d634] + ld a, [wd634] cp $1 jr nz, .asm_1d2b6 xor a - ld [$d548], a + ld [wd548], a ld a, [wLeftAlleyCount] cp $3 jr nz, .asm_1d299 ld [$ff8a], a callba Func_10ab3 - ld a, [$d643] + ld a, [wd643] and a ret z ld a, $1 - ld [$d642], a + ld [wd642], a .asm_1d299 - ld hl, $d63a + ld hl, wd63a call Func_e4a - ld hl, $d62a + ld hl, wd62a call Func_e4a ret nc ld c, $19 @@ -34679,19 +34679,19 @@ Func_1d216: ; 0x1d216 ret .asm_1d2b6 - ld a, [$d634] + ld a, [wd634] cp $4 jr nz, .asm_1d2c3 ld a, $1 - ld [$d548], a + ld [wd548], a ret .asm_1d2c3 - ld a, [$d634] + ld a, [wd634] cp $5 ret nz ld a, $1 - ld [$d549], a + ld [wd549], a ld a, $b0 ld [wBallXVelocity], a ld a, $0 @@ -34701,7 +34701,7 @@ Func_1d216: ; 0x1d216 ld [wBallYVelocity + 1], a ld de, $0006 call PlaySoundEffect - ld a, [$d642] + ld a, [wd642] cp $0 jr nz, .asm_1d2f8 ld a, $f @@ -34709,33 +34709,33 @@ Func_1d216: ; 0x1d216 callba Func_10000 .asm_1d2f8 xor a - ld [$d642], a - ld [$d64c], a - ld [$d64d], a + ld [wd642], a + ld [wd64c], a + ld [wd64d], a ld a, $1 - ld [$d641], a + ld [wd641], a ld a, $2 ; down direction ld [wBlueStageForceFieldDirection], a ld a, $1 - ld [$d640], a + ld [wd640], a ret Data_1d312: dr $1d312, $1d32d HandleEnteringCloyster: ; 0x1d32d - ld a, [$d635] + ld a, [wd635] and a jr z, .asm_1d36a xor a - ld [$d635], a + ld [wd635], a ld bc, OneMillionPoints ld [$ff8a], a callba AddBCDScore ld de, $0005 call PlaySoundEffect ld hl, Data_1d41d - ld de, $d637 + ld de, wd637 call CopyHLToDE xor a ld [wBallXVelocity], a @@ -34745,29 +34745,29 @@ HandleEnteringCloyster: ; 0x1d32d ld [wBallXPos], a ld [wBallYPos], a xor a - ld [$d549], a + ld [wd549], a .asm_1d36a ld hl, Data_1d41d - ld de, $d637 + ld de, wd637 call UpdateAnimation push af - ld a, [$d637] + ld a, [wd637] and a jr nz, .asm_1d388 ld a, $19 - ld [$d637], a + ld [wd637], a xor a - ld [$d638], a + ld [wd638], a ld a, $6 - ld [$d639], a + ld [wd639], a .asm_1d388 pop af ret nc - ld a, [$d639] + ld a, [wd639] cp $1 jr nz, .asm_1d3cb xor a - ld [$d548], a + ld [wd548], a ld a, [wRightAlleyCount] cp $2 jr c, .noCatchEmMode @@ -34779,9 +34779,9 @@ HandleEnteringCloyster: ; 0x1d32d ld [$ff8a], a callba StartCatchEmMode .noCatchEmMode - ld hl, $d63b + ld hl, wd63b call Func_e4a - ld hl, $d62a + ld hl, wd62a call Func_e4a ret nc ld c, $19 @@ -34793,19 +34793,19 @@ HandleEnteringCloyster: ; 0x1d32d ret .asm_1d3cb - ld a, [$d639] + ld a, [wd639] cp $4 jr nz, .asm_1d3d8 ld a, $1 - ld [$d548], a + ld [wd548], a ret .asm_1d3d8 - ld a, [$d639] + ld a, [wd639] cp $5 ret nz ld a, $1 - ld [$d549], a + ld [wd549], a ld a, $4f ld [wBallXVelocity], a ld a, $ff @@ -34819,14 +34819,14 @@ HandleEnteringCloyster: ; 0x1d32d ld [$ff8a], a callba Func_10000 xor a - ld [$d64c], a - ld [$d64d], a + ld [wd64c], a + ld [wd64d], a ld a, $1 - ld [$d641], a + ld [wd641], a ld a, $2 ; down direction ld [wBlueStageForceFieldDirection], a ld a, $1 - ld [$d640], a + ld [wd640], a ret Data_1d41d: @@ -34834,14 +34834,14 @@ Data_1d41d: Func_1d438: ; 0x1d438 call Func_1d692 - ld a, [$d60a] + ld a, [wd60a] and a jp z, Func_1d51b xor a - ld [$d60a], a + ld [wd60a], a ld de, $000d call PlaySoundEffect - ld a, [$d60b] + ld a, [wd60b] sub $f jr nz, .asm_1d48e ld a, [hGameBoyColorFlag] @@ -34855,20 +34855,20 @@ Func_1d438: ; 0x1d438 .asm_1d45e call Func_1d5f2 ld a, $3c - ld [$d647], a + ld [wd647], a ld a, $9 ld [$ff8a], a callba Func_10000 - ld a, [$d610] + ld a, [wd610] cp $3 jp nz, asm_1d4fa ld a, $1 - ld [$d610], a + ld [wd610], a ld a, $3 - ld [$d611], a - ld a, [$d60c] + ld [wd611], a + ld a, [wd60c] set 7, a - ld [$d60c], a + ld [wd60c], a jr asm_1d4fa .asm_1d48e @@ -34883,29 +34883,29 @@ Func_1d438: ; 0x1d438 .asm_1d499 call Func_1d5f2 ld a, $1e - ld [$d647], a + ld [wd647], a ld a, $a ld [$ff8a], a callba Func_10000 - ld a, [$d611] + ld a, [wd611] cp $3 jr nz, asm_1d4fa ld a, $1 - ld [$d610], a + ld [wd610], a ld a, $1 - ld [$d611], a + ld [wd611], a ld a, $80 - ld [$d612], a - ld a, [$d60d] + ld [wd612], a + ld a, [wd60d] set 7, a - ld [$d60d], a - ld a, [$d482] + ld [wd60d], a + ld a, [wd482] inc a cp $64 jr c, .asm_1d4d5 ld a, $63 .asm_1d4d5 - ld [$d482], a + ld [wd482], a jr nc, .asm_1d4e9 ld c, $19 call Func_e55 @@ -34914,58 +34914,58 @@ Func_1d438: ; 0x1d438 ld hl, Func_30164 call z, BankSwitch .asm_1d4e9 - ld a, [$d60c] - ld [$d614], a - ld a, [$d60d] - ld [$d615], a + ld a, [wd60c] + ld [wd614], a + ld a, [wd60d] + ld [wd615], a ld a, $1 - ld [$d613], a + ld [wd613], a asm_1d4fa: ; 0x1d4fa ld bc, OneHundredBillionPoints ld [$ff8a], a callba AddBCDScore - ld a, [$d60c] + ld a, [wd60c] call Func_1d5f2 - ld a, [$d60d] + ld a, [wd60d] add $14 call Func_1d5f2 ld a, $3c - ld [$d647], a + ld [wd647], a ret Func_1d51b: ; 0x1d51b call Func_1d5bf - ld a, [$d612] + ld a, [wd612] and a jr z, .asm_1d559 dec a - ld [$d612], a + ld [wd612], a cp $70 jr nz, .asm_1d538 ld a, $2 - ld [$d610], a + ld [wd610], a ld a, $2 - ld [$d611], a + ld [wd611], a jr .asm_1d559 .asm_1d538 and a jr nz, .asm_1d559 ld a, $3 - ld [$d610], a + ld [wd610], a xor a - ld [$d611], a - ld a, [$d482] + ld [wd611], a + ld a, [wd482] call Func_1d65f - ld a, [$d60c] + ld a, [wd60c] call Func_1d5f2 - ld a, [$d60d] + ld a, [wd60d] add $14 call Func_1d5f2 ret .asm_1d559 - ld a, [$d610] + ld a, [wd610] cp $2 jr c, .asm_1d58b cp $3 @@ -34979,19 +34979,19 @@ Func_1d51b: ; 0x1d51b jr nz, .asm_1d58b bit 3, b jr nz, .asm_1d580 - ld a, [$d60c] + ld a, [wd60c] res 7, a - ld [$d60c], a + ld [wd60c], a call Func_1d5f2 jr .asm_1d58b .asm_1d580 - ld a, [$d60c] + ld a, [wd60c] set 7, a - ld [$d60c], a + ld [wd60c], a call Func_1d5f2 .asm_1d58b - ld a, [$d611] + ld a, [wd611] cp $2 ret c cp $3 @@ -35005,43 +35005,43 @@ Func_1d51b: ; 0x1d51b ret nz bit 3, b jr nz, .asm_1d5b1 - ld a, [$d60d] + ld a, [wd60d] res 7, a - ld [$d60d], a + ld [wd60d], a add $14 call Func_1d5f2 ret .asm_1d5b1 - ld a, [$d60d] + ld a, [wd60d] set 7, a - ld [$d60d], a + ld [wd60d], a add $14 call Func_1d5f2 ret Func_1d5bf: ; 0x1d5bf - ld a, [$d5ca] + ld a, [wd5ca] and a ret nz - ld a, [$d613] + ld a, [wd613] and a ret z xor a - ld [$d613], a + ld [wd613], a call Func_30e8 call Func_30db - ld hl, $d5cc + ld hl, wd5cc ld de, BonusMultiplierText call LoadTextHeader ld hl, wcBottomMessageText + $12 - ld a, [$d614] + ld a, [wd614] and $7f jr z, .asm_1d5e9 add $30 ld [hli], a .asm_1d5e9 - ld a, [$d615] + ld a, [wd615] res 7, a add $30 ld [hl], a @@ -35064,10 +35064,10 @@ Func_1d5f2: ; 0x1d5f2 Func_1d602: ; 0x1d602 push af res 7, a - ld hl, $d60e + ld hl, wd60e cp $14 jr c, .asm_1d611 - ld hl, $d60f + ld hl, wd60f sub $a .asm_1d611 cp [hl] @@ -35123,7 +35123,7 @@ Func_1d645: ; 0x1d645 ret Func_1d65f: ; 0x1d65f - ld a, [$d482] + ld a, [wd482] inc a cp $64 jr c, .asm_1d669 @@ -35146,26 +35146,26 @@ Func_1d65f: ; 0x1d65f push af swap a and $f - ld [$d60c], a + ld [wd60c], a pop af and $f - ld [$d60d], a + ld [wd60d], a ret Data_1d68b: dr $1d68b, $1d692 Func_1d692: ; 0x1d692 - ld a, [$d647] + ld a, [wd647] cp $1 jr z, .asm_1d69e dec a - ld [$d647], a + ld [wd647], a ret .asm_1d69e ld a, $0 - ld [$d647], a + ld [wd647], a ld a, [hGameBoyColorFlag] and a jr nz, .asm_1d6b3 @@ -35192,20 +35192,20 @@ Data_1d97a: dr $1d97a, $1dbd2 Func_1dbd2: ; 0x1dbd2 - ld a, [$d4ed] + ld a, [wd4ed] and a jp z, Func_1dc8e cp $2 jr z, .asm_1dc33 xor a - ld [$d4ed], a + ld [wd4ed], a ld hl, wLeftMapMoveCounter ld a, [hl] cp $3 jp z, Func_1dc8e inc a ld [hl], a - ld hl, $d4f7 + ld hl, wd4f7 ld a, $e0 ld [hli], a ld a, $1 @@ -35214,9 +35214,9 @@ Func_1dbd2: ; 0x1dbd2 bit 0, a jr z, .asm_1dc06 ld a, $54 - ld [$c7e3], a + ld [wc7e3], a ld a, $55 - ld [$c803], a + ld [wc803], a .asm_1dc06 ld a, $1 call Func_1de4b @@ -35228,7 +35228,7 @@ Func_1dbd2: ; 0x1dbd2 ld [$ff8a], a callba Func_10000 ld a, $2 - ld [$d646], a + ld [wd646], a ld a, $78 ld [wLeftMapMoveDiglettAnimationCounter], a ld a, $14 @@ -35237,14 +35237,14 @@ Func_1dbd2: ; 0x1dbd2 .asm_1dc33 xor a - ld [$d4ed], a + ld [wd4ed], a ld hl, wRightMapMoveCounter ld a, [hl] cp $3 jp z, Func_1dc8e inc a ld [hl], a - ld hl, $d4f9 + ld hl, wd4f9 ld a, $e0 ld [hli], a ld a, $1 @@ -35253,9 +35253,9 @@ Func_1dbd2: ; 0x1dbd2 bit 0, a jr z, .asm_1dc5c ld a, $52 - ld [$c7f0], a + ld [wc7f0], a ld a, $53 - ld [$c810], a + ld [wc810], a .asm_1dc5c ld a, $3 call Func_1de4b @@ -35269,7 +35269,7 @@ Func_1dbd2: ; 0x1dbd2 ccf call z, Func_1ddf4 ld a, $2 - ld [$d645], a + ld [wd645], a ld a, $28 ld [wRightMapMoveDiglettAnimationCounter], a ld a, $78 @@ -35284,7 +35284,7 @@ Func_1dc8e: ; 0x1dc8e ret Func_1dc95: ; 0x1dc95 - ld a, [$d646] + ld a, [wd646] cp $0 ret z ld a, [wLeftMapMoveDiglettAnimationCounter] @@ -35292,7 +35292,7 @@ Func_1dc95: ; 0x1dc95 jr z, .asm_1dceb dec a ld [wLeftMapMoveDiglettAnimationCounter], a - ld a, [$d644] + ld a, [wd644] and a ret nz ld a, [wLeftMapMoveDiglettFrame] @@ -35305,7 +35305,7 @@ Func_1dc95: ; 0x1dc95 ret .asm_1dcb9 - ld a, [$d646] + ld a, [wd646] cp $2 ret nz call Func_1130 @@ -35333,11 +35333,11 @@ Func_1dc95: ; 0x1dc95 ccf call z, Func_1ddc7 ld a, $1 - ld [$d646], a + ld [wd646], a ret .asm_1dceb - ld a, [$d646] + ld a, [wd646] cp $1 ret nz ld a, [wLeftMapMoveDiglettAnimationCounter] @@ -35349,12 +35349,12 @@ Func_1dc95: ; 0x1dc95 bit 0, a jr z, .asm_1dd0c ld a, $5e - ld [$c7e3], a + ld [wc7e3], a ld a, $5f - ld [$c803], a + ld [wc803], a .asm_1dd0c ld a, $0 - ld [$d646], a + ld [wd646], a ld a, [wLeftMapMoveCounter] sub $3 ret nz @@ -35365,14 +35365,14 @@ Func_1dc95: ; 0x1dc95 ld a, $0 call Func_1de4b ld a, $0 - ld [$d646], a + ld [wd646], a ret ; XXX ret Func_1dd2e: ; 0x1dd2e - ld a, [$d645] + ld a, [wd645] cp $0 ret z cp $1 @@ -35390,7 +35390,7 @@ Func_1dd2e: ; 0x1dd2e ld a, $2 call Func_1de4b ld a, $1 - ld [$d645], a + ld [wd645], a ret .asm_1dd53 @@ -35401,7 +35401,7 @@ Func_1dd2e: ; 0x1dd2e add $3 call Func_1de4b ld a, $3 - ld [$d645], a + ld [wd645], a ret .asm_1dd69 @@ -35437,11 +35437,11 @@ Func_1dd2e: ; 0x1dd2e bit 0, a jr z, .asm_1dda9 ld a, $24 - ld [$c7f0], a + ld [wc7f0], a ld a, $25 - ld [$c810], a + ld [wc810], a ld a, $0 - ld [$d645], a + ld [wd645], a .asm_1dda9 ld a, [wRightMapMoveCounter] sub $3 @@ -35454,13 +35454,13 @@ Func_1dd2e: ; 0x1dd2e ld a, $2 call Func_1de4b ld a, $0 - ld [$d645], a + ld [wd645], a ret Func_1ddc7: ; 0x1ddc7 - ld hl, $d63d + ld hl, wd63d call Func_e4a - ld hl, $d62b + ld hl, wd62b call Func_e4a jr nc, .asm_1dde4 ld c, $a @@ -35471,16 +35471,16 @@ Func_1ddc7: ; 0x1ddc7 call z, BankSwitch .asm_1dde4 xor a - ld [$d55a], a + ld [wd55a], a ld [$ff8a], a callba StartMapMoveMode scf ret Func_1ddf4: ; 0x1ddf4 - ld hl, $d63c + ld hl, wd63c call Func_e4a - ld hl, $d62b + ld hl, wd62b call Func_e4a jr nc, .asm_1de11 ld c, $a @@ -35491,7 +35491,7 @@ Func_1ddf4: ; 0x1ddf4 call z, BankSwitch .asm_1de11 ld a, $1 - ld [$d55a], a + ld [wd55a], a ld [$ff8a], a callba StartMapMoveMode scf @@ -35502,11 +35502,11 @@ Func_1de22: ; 0x1de22 bit 0, a ret z ld a, $55 - ld [$d803], a + ld [wd803], a ld a, $4 - ld [$d804], a + ld [wd804], a ld a, $2 - ld [$d7eb], a + ld [wd7eb], a ld bc, FiveHundredMillionPoints ld [$ff8a], a callba AddBCDScore @@ -35565,7 +35565,7 @@ Func_1de6f: ; 0x1de6f ret Func_1de93: ; 0x1de93 - ld hl, $d4f7 + ld hl, wd4f7 dec [hl] ld a, [hli] cp $ff @@ -35605,7 +35605,7 @@ Func_1de93: ; 0x1de93 .asm_1decf call Func_1de6f .asm_1ded2 - ld hl, $d4f9 + ld hl, wd4f9 dec [hl] ld a, [hli] cp $ff @@ -35650,7 +35650,7 @@ Func_1de93: ; 0x1de93 Func_1df15: ; 0x1df15 ld b, $0 - ld hl, $d4f8 + ld hl, wd4f8 ld a, [hld] or [hl] jr z, .asm_1df3e @@ -35674,7 +35674,7 @@ Func_1df15: ; 0x1df15 dec a ld [wLeftMapMoveCounter], a .asm_1df3e - ld hl, $d4fa + ld hl, wd4fa ld a, [hld] or [hl] jr z, .asm_1df65 @@ -35713,11 +35713,11 @@ Data_1e1d6: dr $1e1d6, $1e356 Func_1e356: ; 0x1e356 - ld a, [$d5f7] + ld a, [wd5f7] and a jp z, Func_1e471 xor a - ld [$d5f7], a + ld [wd5f7], a ld a, [wStageCollisionState] cp $0 jr nz, .asm_1e386 @@ -35726,14 +35726,14 @@ Func_1e356: ; 0x1e356 ld [$ff8a], a callba LoadStageCollisionAttributes ld a, $1 - ld [$d580], a + ld [wd580], a ld [$ff8a], a callba Func_1404a .asm_1e386 ld a, [wStageCollisionState] bit 0, a jp z, Func_1e471 - ld a, [$d5fc] + ld a, [wd5fc] and a jp nz, Func_1e471 xor a @@ -35743,11 +35743,11 @@ Func_1e356: ; 0x1e356 ld a, $b ld [$ff8a], a callba Func_10000 - ld a, [$d5f8] + ld a, [wd5f8] sub $13 ld c, a ld b, $0 - ld hl, $d5f9 + ld hl, wd5f9 add hl, bc ld a, [hl] ld [hl], $1 @@ -35758,7 +35758,7 @@ Func_1e356: ; 0x1e356 ld bc, OneHundredMillionPoints ld [$ff8a], a callba AddBCDScore - ld hl, $d5f9 + ld hl, wd5f9 ld a, [hli] and [hl] inc hl @@ -35770,9 +35770,9 @@ Func_1e356: ; 0x1e356 .asm_1e3de ld a, $1 - ld [$d5fc], a + ld [wd5fc], a ld a, $80 - ld [$d5fd], a + ld [wd5fd], a ; load approximately 1 minute of frames into wBallTypeCounter ld a, $10 ld [wBallTypeCounter], a @@ -35788,7 +35788,7 @@ Func_1e356: ; 0x1e356 call PlaySoundEffect call Func_30e8 call Func_30db - ld hl, $d5cc + ld hl, wd5cc ld de, FieldMultiplierText call LoadTextHeader ld a, [wBallType] @@ -35814,12 +35814,12 @@ Func_1e356: ; 0x1e356 push de call Func_30e8 call Func_30db - ld hl, $d5d4 + ld hl, wd5d4 ld de, DigitsText1to8 call Func_32cc pop de pop bc - ld hl, $d5cc + ld hl, wd5cc ld de, FieldMultiplierSpecialBonusText call LoadTextHeader .asm_1e465 @@ -35831,7 +35831,7 @@ Func_1e471: ; 0x1e471 call Func_1e4b8 ret z asm_1e475: ; 0x1e475 - ld hl, $d5fb + ld hl, wd5fb ld b, $3 .asm_1e47a ld a, [hld] @@ -35881,23 +35881,23 @@ Func_1e484: ; 0x1e484 ret Func_1e4b8: ; 0x1e4b8 - ld a, [$d5fc] + ld a, [wd5fc] and a jr z, .asm_1e4e5 - ld a, [$d5fd] + ld a, [wd5fd] dec a - ld [$d5fd], a + ld [wd5fd], a jr nz, .asm_1e4ca - ld [$d5fc], a + ld [wd5fc], a .asm_1e4ca and $7 jr nz, .asm_1e4e3 - ld a, [$d5fd] + ld a, [wd5fd] srl a srl a srl a and $1 - ld hl, $d5f9 + ld hl, wd5f9 ld [hli], a ld [hli], a ld [hl], a @@ -35914,7 +35914,7 @@ Func_1e4b8: ; 0x1e4b8 call IsKeyPressed jr z, .leftFlipperKeyIsPressed ; left flipper key is pressed - ld hl, $d5f9 + ld hl, wd5f9 ld a, [hli] ld c, a ld a, [hli] @@ -35934,7 +35934,7 @@ Func_1e4b8: ; 0x1e4b8 call IsKeyPressed ret z ; right flipper key is pressed - ld hl, $d5f9 + ld hl, wd5f9 ld a, [hli] ld c, a ld a, [hli] @@ -35980,7 +35980,7 @@ Data_1e55c: dr $1e55c, $1e58c HandleBallTypeUpgradeCounterBlueField: ; 0x1e58c - ld a, [$d5f3] + ld a, [wd5f3] and a ret nz ; check if counter is at 0 @@ -36017,19 +36017,19 @@ HandleBallTypeUpgradeCounterBlueField: ; 0x1e58c ret Func_1e5c5: ; 0x1e5c5 - ld a, [$d50d] + ld a, [wd50d] and a jr z, .asm_1e623 xor a - ld [$d50d], a - ld a, [$d513] + ld [wd50d], a + ld a, [wd513] and a jr nz, .asm_1e623 - ld a, [$d50e] + ld a, [wd50e] sub $16 ld c, a ld b, $0 - ld hl, $d50f + ld hl, wd50f add hl, bc ld a, [hl] ld [hl], $1 @@ -36038,7 +36038,7 @@ Func_1e5c5: ; 0x1e5c5 ld bc, OneHundredMillionPoints ld [$ff8a], a callba AddBCDScore - ld hl, $d50f + ld hl, wd50f ld a, [hli] and [hl] inc hl @@ -36047,15 +36047,15 @@ Func_1e5c5: ; 0x1e5c5 and [hl] jr z, Func_1e627 ld a, $1 - ld [$d513], a + ld [wd513], a ld a, $80 - ld [$d514], a + ld [wd514], a ld bc, FourHundredMillionPoints ld [$ff8a], a callba AddBCDScore ld de, $0009 call PlaySoundEffect - ld hl, $d62c + ld hl, wd62c call Func_e4a jr Func_1e627 @@ -36065,7 +36065,7 @@ Func_1e5c5: ; 0x1e5c5 ; fall through Func_1e627: ; 0x1e627 - ld hl, $d512 + ld hl, wd512 ld b, $4 .asm_1e62c ld a, [hld] @@ -36115,28 +36115,28 @@ Func_1e636: ; 0x1e636 ret Func_1e66a: ; 0x1e66a - ld a, [$d513] + ld a, [wd513] and a jr z, .asm_1e6a0 - ld a, [$d514] + ld a, [wd514] dec a - ld [$d514], a + ld [wd514], a jr nz, .asm_1e687 - ld [$d513], a + ld [wd513], a ld a, $1 - ld [$d608], a + ld [wd608], a ld a, $3 - ld [$d607], a + ld [wd607], a xor a .asm_1e687 and $7 ret nz - ld a, [$d514] + ld a, [wd514] srl a srl a srl a and $1 - ld hl, $d50f + ld hl, wd50f ld [hli], a ld [hli], a ld [hli], a @@ -36149,7 +36149,7 @@ Func_1e66a: ; 0x1e66a ld hl, wKeyConfigLeftFlipper call IsKeyPressed jr z, .asm_1e6bc - ld hl, $d50f + ld hl, wd50f ld a, [hli] ld c, a ld a, [hli] @@ -36172,7 +36172,7 @@ Func_1e66a: ; 0x1e66a ld hl, wKeyConfigRightFlipper call IsKeyPressed ret z - ld hl, $d50f + ld hl, wd50f ld a, [hli] ld c, a ld a, [hli] @@ -36204,15 +36204,15 @@ Data_1e71f: dr $1e71f, $1e757 Func_1e757: ; 0x1e757 - ld a, [$d601] + ld a, [wd601] and a jr z, .asm_1e78c xor a - ld [$d601], a - ld a, [$d604] + ld [wd601], a + ld a, [wd604] and a ret z - ld a, [$d603] + ld a, [wd603] and a jr nz, .asm_1e78c xor a @@ -36221,7 +36221,7 @@ Func_1e757: ; 0x1e757 ld [hli], a ld [hli], a ld [hli], a - ld [$d549], a + ld [wd549], a ld [wBallXPos], a ld [wBallYPos], a ld a, $50 @@ -36229,16 +36229,16 @@ Func_1e757: ; 0x1e757 ld a, $16 ld [wBallYPos + 1], a ld a, $13 - ld [$d603], a + ld [wd603], a .asm_1e78c - ld a, [$d603] + ld a, [wd603] and a ret z dec a - ld [$d603], a + ld [wd603], a ld a, $18 - ld [$d606], a - ld a, [$d603] + ld [wd606], a + ld a, [wd603] cp $12 jr nz, .asm_1e7b2 ld de, $0021 @@ -36258,7 +36258,7 @@ Func_1e757: ; 0x1e757 cp $c jr nz, .asm_1e7d0 xor a - ld [$d548], a + ld [wd548], a ld [wBallSpin], a ld [wBallRotation], a ret @@ -36273,11 +36273,11 @@ Func_1e757: ; 0x1e757 cp $6 jr nz, .asm_1e7f5 xor a - ld [$d604], a + ld [wd604], a ld a, $5 - ld [$d803], a + ld [wd803], a ld a, $8 - ld [$d804], a + ld [wd804], a ld [$ff8a], a callba LoadMiniBallGfx ret @@ -36297,7 +36297,7 @@ Func_1e757: ; 0x1e757 and a ret nz call Func_1e8f6 - ld a, [$d622] + ld a, [wd622] cp $1 ret nz call GenRandom @@ -36306,7 +36306,7 @@ Func_1e757: ; 0x1e757 ld [$ff8a], a callba StartCatchEmMode xor a - ld [$d622], a + ld [wd622], a ret Func_1e830: ; 0x1e830 @@ -36317,71 +36317,71 @@ Func_1e830: ; 0x1e830 callba Func_10000 jr nc, .asm_1e84b ld a, $1 - ld [$d548], a - ld [$d549], a + ld [wd548], a + ld [wd549], a ret .asm_1e84b - ld a, [$d624] + ld a, [wd624] cp $3 jr nz, .asm_1e891 - ld a, [$d607] + ld a, [wd607] and a jr nz, .asm_1e891 .asm_1e858 - ld a, [$d623] + ld a, [wd623] and a jr nz, .asm_1e867 xor a - ld [$d625], a + ld [wd625], a ld a, $40 - ld [$d626], a + ld [wd626], a .asm_1e867 xor a - ld [$d623], a + ld [wd623], a ld a, $1 - ld [$d495], a - ld [$d4ae], a - ld a, [$d498] + ld [wd495], a + ld [wd4ae], a + ld a, [wd498] ld c, a ld b, $0 ld hl, Data_1e8f1 add hl, bc ld a, [hl] - ld [$d497], a + ld [wd497], a call Func_1e8c3 xor a - ld [$d609], a - ld [$d622], a + ld [wd609], a + ld [wd622], a ld a, $1e - ld [$d607], a + ld [wd607], a ret .asm_1e891 ld [$ff8a], a callba Func_ed8e xor a - ld [$d608], a - ld a, [$d61d] + ld [wd608], a + ld a, [wd61d] cp $d jr nc, .asm_1e858 ld a, $1 - ld [$d548], a - ld [$d549], a - ld a, [$d622] + ld [wd548], a + ld [wd549], a + ld a, [wd622] cp $2 ret nz ld [$ff8a], a callba Func_10ab3 xor a - ld [$d622], a + ld [wd622], a ret Func_1e8c3: ; 0x1e8c3 call Func_30e8 call Func_30db - ld hl, $d5dc - ld a, [$d497] + ld hl, wd5dc + ld a, [wd497] ld de, Data_2ed2 cp $b jr z, .asm_1e8e0 @@ -36406,7 +36406,7 @@ Func_1e8f6: ; 0x1e8f6 and $1 sla a ld c, a - ld a, [$d604] + ld a, [wd604] add c sla a ld c, a @@ -36434,24 +36434,24 @@ Data_1e970: dr $1e970, $1e9c0 Func_1e9c0: ; 0x1e9c0 - ld a, [$d607] + ld a, [wd607] and a ret z dec a - ld [$d607], a + ld [wd607], a ret nz ld a, [wInSpecialMode] and a ret nz - ld a, [$d609] + ld a, [wd609] and a jr z, .asm_1e9dc - ld a, [$d498] + ld a, [wd498] add $15 jr .asm_1e9e3 .asm_1e9dc - ld a, [$d608] + ld a, [wd608] and a ret z ld a, $1a @@ -36462,11 +36462,11 @@ Func_1e9c0: ; 0x1e9c0 ld a, Bank(Func_30256) ld hl, Func_30256 call nz, BankSwitch - ld a, [$d604] + ld a, [wd604] and a ret nz ld a, $1 - ld [$d604], a + ld [wd604], a ld a, $80 ld [wIndicatorStates + 4], a ld a, [wCurrentStage] @@ -36475,7 +36475,7 @@ Func_1e9c0: ; 0x1e9c0 ret Func_1ea0a: ; 0x1ea0a - ld a, [$d604] + ld a, [wd604] and a ret z ld a, [wBallYPos + 1] @@ -36505,7 +36505,7 @@ Func_1ea0a: ; 0x1ea0a jr asm_1ea6a Func_1ea3b: ; 0x1ea3b - ld a, [$d604] + ld a, [wd604] and a ret z ld a, [wBallYPos + 1] @@ -36598,13 +36598,13 @@ asm_1ea6a: ; 0x1ea6a ld a, h cp $2 ret c - ld a, [$d804] + ld a, [wd804] and a ret nz ld a, $5 - ld [$d803], a + ld [wd803], a ld a, $8 - ld [$d804], a + ld [wd804], a ld de, $0004 call PlaySoundEffect ret @@ -36666,7 +36666,7 @@ Func_1ead4: ; 0x1ead4 ld a, $0 .asm_1eb2b push af - ld hl, $d648 + ld hl, wd648 add hl, bc dec hl dec hl @@ -36920,13 +36920,13 @@ Func_1eff3: ; 0x1eff3 ld a, h cp $2 ret c - ld a, [$d804] + ld a, [wd804] and a ret nz ld a, $5 - ld [$d803], a + ld [wd803], a ld a, $8 - ld [$d804], a + ld [wd804], a ret Func_1f057: ; 0x1f057 @@ -36995,13 +36995,13 @@ Func_1f057: ; 0x1f057 ld a, h cp $2 ret c - ld a, [$d804] + ld a, [wd804] and a ret nz ld a, $5 - ld [$d803], a + ld [wd803], a ld a, $8 - ld [$d804], a + ld [wd804], a ret LoadOAMData2e: ; 0x1f0be @@ -37070,13 +37070,13 @@ LoadOAMData2e: ; 0x1f0be ld a, h cp $2 ret c - ld a, [$d804] + ld a, [wd804] and a ret nz ld a, $5 - ld [$d803], a + ld [wd803], a ld a, $8 - ld [$d804], a + ld [wd804], a ret Func_1f124: ; 0x1f124 @@ -37145,17 +37145,17 @@ Func_1f124: ; 0x1f124 ld a, h cp $2 ret c - ld a, [$d804] + ld a, [wd804] and a ret nz ld a, $5 - ld [$d803], a + ld [wd803], a ld a, $8 - ld [$d804], a + ld [wd804], a ret Func_1f18a: ; 0x1f18a - ld a, [$d640] + ld a, [wd640] cp $0 jr z, .asm_1f1b4 ld a, [wBlueStageForceFieldDirection] @@ -37177,7 +37177,7 @@ Func_1f18a: ; 0x1f18a ld a, $7 call Func_10aa ld a, $0 - ld [$d640], a + ld [wd640], a .asm_1f1b4 ret @@ -37208,39 +37208,39 @@ Func_1f265: ; 0x1f265 ret Func_1f27b: ; 0x1f27b - ld a, [$d624] - ld hl, $d625 + ld a, [wd624] + ld hl, wd625 cp [hl] ret z - ld a, [$d626] + ld a, [wd626] dec a - ld [$d626], a + ld [wd626], a jr nz, .asm_1f2a5 - ld a, [$d625] - ld [$d624], a + ld a, [wd625] + ld [wd624], a cp $3 jr c, .asm_1f2a0 ld a, $1 - ld [$d609], a + ld [wd609], a ld a, $3 - ld [$d607], a + ld [wd607], a .asm_1f2a0 - ld a, [$d624] + ld a, [wd624] scf ret .asm_1f2a5 and $7 ret nz - ld a, [$d626] + ld a, [wd626] bit 3, a jr nz, .asm_1f2b4 - ld a, [$d624] + ld a, [wd624] scf ret .asm_1f2b4 - ld a, [$d625] + ld a, [wd625] scf ret @@ -37249,7 +37249,7 @@ Data_1f2b9: Func_1f2ed: ; 0x1f2ed xor a - ld [$d604], a + ld [wd604], a ld [wIndicatorStates + 4], a ld [$ff8a], a ld a, Bank(Func_1e8f6) ; this is in the same bank... @@ -37316,13 +37316,13 @@ Func_1f35a: ; 0x1f35a ret Func_1f395: ; 0x1f395 - ld de, $d4cd + ld de, wd4cd ld hl, Data_1f3cf call Func_1f3ad - ld de, $d4d0 + ld de, wd4d0 ld hl, Data_1f3d5 call Func_1f3ad - ld de, $d4d3 + ld de, wd4d3 ld hl, Data_1f3db ; fall through @@ -37337,7 +37337,7 @@ Func_1f3ad: ; 0x1f3ad ld a, [hli] sub c ld c, a - ld a, [$d4d7] + ld a, [wd4d7] sub [hl] inc hl jr z, .asm_1f3c4 @@ -37372,7 +37372,7 @@ Func_1f3e1: ; 0x1f3e1 ld hl, hBoardYShift sub [hl] ld c, a - ld a, [$d50a] + ld a, [wd50a] srl a srl a ld e, a @@ -37395,7 +37395,7 @@ Func_1f408: ; 0x1f408 ld hl, hBoardYShift sub [hl] ld c, a - ld a, [$d633] + ld a, [wd633] ld e, a ld d, $0 ld hl, Data_1f425 @@ -37416,7 +37416,7 @@ Func_1f428: ; 0x1f428 ld hl, hBoardYShift sub [hl] ld c, a - ld a, [$d638] + ld a, [wd638] ld e, a ld d, $0 ld hl, Data_1f445 @@ -37433,11 +37433,11 @@ Func_1f448: ; 0x1f448 ld d, a ld a, [hBoardYShift] ld e, a - ld a, [$d51d] + ld a, [wd51d] and a - ld a, [$d518] + ld a, [wd518] jr z, .asm_1f473 - ld a, [$d51c] + ld a, [wd51c] and a jr nz, .asm_1f469 ld a, [$ffb3] @@ -37448,7 +37448,7 @@ Func_1f448: ; 0x1f448 jr .asm_1f473 .asm_1f469 - ld a, [$d4b4] + ld a, [wd4b4] cp $50 ld a, $1 jr nc, .asm_1f473 @@ -37474,7 +37474,7 @@ Data_1f48b: dr $1f48b, $1f48f Func_1f48f: ; 0x1f48f - ld a, [$d551] + ld a, [wd551] and a ret nz ld a, [$ffb3] @@ -37486,7 +37486,7 @@ Func_1f48f: ; 0x1f48f jr asm_1f4b5 Func_1f4a3: ; 0x1f4a3 - ld a, [$d551] + ld a, [wd551] and a ret nz ld a, [$ffb3] @@ -37524,20 +37524,20 @@ Data_1f4e0: dr $1f4e0, $1f4f8 Func_1f4f8: ; 0x1f4f8 - ld a, [$d551] + ld a, [wd551] and a ret z - ld de, $d566 + ld de, wd566 ld hl, Data_1f53a ld b, $c ld c, $47 jr asm_1f518 Func_1f509: ; 0x1f509 - ld a, [$d551] + ld a, [wd551] and a ret z - ld de, $d572 + ld de, wd572 ld hl, Data_1f552 ld b, $6 ld c, $40 @@ -37577,12 +37577,12 @@ Data_1f552: dr $1f552, $1f55e Func_1f55e: ; 0x1f55e - ld a, [$d604] + ld a, [wd604] and a ret z - ld a, [$d606] + ld a, [wd606] inc a - ld [$d606], a + ld [wd606], a ld a, $40 ld hl, hBoardXShift sub [hl] @@ -37591,7 +37591,7 @@ Func_1f55e: ; 0x1f55e ld hl, hBoardYShift sub [hl] ld c, a - ld a, [$d606] + ld a, [wd606] srl a srl a srl a @@ -37602,7 +37602,7 @@ Func_1f55e: ; 0x1f55e ret Func_1f58b: ; 0x1f58b - ld a, [$d5bb] + ld a, [wd5bb] and a ret z ld a, $50 @@ -37613,7 +37613,7 @@ Func_1f58b: ; 0x1f58b ld hl, hBoardYShift sub [hl] ld c, a - ld a, [$d5bd] + ld a, [wd5bd] ld e, a ld d, $0 ld hl, Data_1f5ad @@ -37628,7 +37628,7 @@ Data_1f5ad: SECTION "bank8", ROMX, BANK[$8] Func_20000: ; 0x20000 - ld a, [$d54c] + ld a, [wd54c] cp $4 jp z, Func_20230 cp $c @@ -37642,7 +37642,7 @@ Func_20000: ; 0x20000 .asm_20018 call Func_201f2 - ld a, [$d54d] + ld a, [wd54d] call CallInFollowingTable PointerTable_20021: ; 0x20021 dw Func_20041 @@ -37670,18 +37670,18 @@ PointerTable_20021: ; 0x20021 db Bank(Func_201ce), $00 Func_20041: ; 0x20041 - ld a, [$d5b6] + ld a, [wd5b6] cp $18 jr nz, .asm_2005d ld a, [wCurrentStage] bit 0, a jr z, .asm_2005d - ld hl, $d54d + ld hl, wd54d inc [hl] ld a, $14 - ld [$d54e], a + ld [wd54e], a ld a, $5 - ld [$d54f], a + ld [wd54f], a .asm_2005d scf ret @@ -37710,8 +37710,8 @@ Func_2006b: ; 0x2006b call nz, BankSwitch .asm_20098 ld a, $1 - ld [$d5c6], a - ld hl, $d54d + ld [wd5c6], a + ld hl, wd54d inc [hl] .asm_200a1 scf @@ -37730,38 +37730,38 @@ Func_200a3: ; 0x200a3 callba Func_10732 ld [$ff8a], a callba Func_10464 - ld hl, $d54d + ld hl, wd54d inc [hl] .asm_200d1 scf ret Func_200d3: ; 0x200d3 - ld a, [$d5be] + ld a, [wd5be] dec a - ld [$d5be], a + ld [wd5be], a jr z, .asm_200e6 - ld a, [$d5c4] + ld a, [wd5c4] inc a - ld [$d5c4], a + ld [wd5c4], a and $3 ret nz .asm_200e6 - ld a, [$d5bf] + ld a, [wd5bf] and a jp z, .asm_20167 xor a - ld [$d5bf], a - ld a, [$d5c3] - ld [$d5be], a + ld [wd5bf], a + ld a, [wd5c3] + ld [wd5be], a xor a - ld [$d5c4], a + ld [wd5c4], a ld a, [wCurrentCatchEmMon] cp MEW - 1 jr nz, .notMew - ld a, [$d5c5] + ld a, [wd5c5] inc a - ld [$d5c5], a + ld [wd5c5], a jr nz, .asm_20116 .notMew ld a, [wNumMonHits] @@ -37779,12 +37779,12 @@ Func_200d3: ; 0x200d3 push de call Func_30e8 call Func_30db - ld hl, $d5e9 + ld hl, wd5e9 ld de, $2a2a call Func_3372 pop de pop bc - ld hl, $d5e4 + ld hl, wd5e4 ld de, $2a21 call Func_3357 ld a, [wNumMonHits] @@ -37795,21 +37795,21 @@ Func_200d3: ; 0x200d3 .hitMonThreeTimes xor a - ld [$d57e], a + ld [wd57e], a ld a, $1 - ld [$d57f], a - ld hl, $d54d + ld [wd57f], a + ld hl, wd54d inc [hl] ld c, $2 jr .asm_2018a .asm_20167 - ld a, [$d5be] + ld a, [wd5be] and a ret nz - ld a, [$d5bc] + ld a, [wd5bc] ld c, a - ld a, [$d5bd] + ld a, [wd5bd] sub c cp $1 ld c, $0 @@ -37817,31 +37817,31 @@ Func_200d3: ; 0x200d3 ld c, $1 .asm_2017c ld b, $0 - ld hl, $d5c1 + ld hl, wd5c1 add hl, bc ld a, [hl] - ld [$d5be], a + ld [wd5be], a xor a - ld [$d5c4], a + ld [wd5c4], a .asm_2018a - ld a, [$d5bc] + ld a, [wd5bc] add c - ld [$d5bd], a + ld [wd5bd], a scf ret Func_20193: ; 0x20193 - ld a, [$d580] + ld a, [wd580] and a jr z, .asm_2019e xor a - ld [$d580], a + ld [wd580], a ret .asm_2019e ld [$ff8a], a callba Func_10496 - ld hl, $d54d + ld hl, wd54d inc [hl] ld [$ff8a], a callba Func_106b6 @@ -37857,7 +37857,7 @@ CapturePokemonRedStage: ; 0x201c2 ret Func_201ce: ; 0x201ce - ld a, [$d5ca] + ld a, [wd5ca] and a ret nz call Func_30e8 @@ -37873,13 +37873,13 @@ Func_201ce: ; 0x201ce Func_201f2: ; 0x201f2 ld [$ff8a], a callba Func_107f8 - ld a, [$d57e] + ld a, [wd57e] and a ret z xor a - ld [$d57e], a + ld [wd57e], a ld a, $7 - ld [$d54d], a + ld [wd54d], a ld a, [wCurrentCatchEmMon] cp NUM_POKEMON - 1 jr nz, .asm_2021b @@ -37893,13 +37893,13 @@ Func_201f2: ; 0x201f2 ret Func_20230: ; 0x20230 - ld a, [$d5b6] + ld a, [wd5b6] cp $18 jr z, .asm_2029d sla a ld c, a ld b, $0 - ld hl, $d586 + ld hl, wd586 add hl, bc ld d, $4 .asm_20242 @@ -37912,13 +37912,13 @@ Func_20230: ; 0x20230 dec d jr nz, .asm_20242 .asm_2024e - ld a, [$d5b6] + ld a, [wd5b6] add $4 cp $18 jr c, .asm_20259 ld a, $18 .asm_20259 - ld [$d5b6], a + ld [wd5b6], a cp $18 jr nz, .asm_20264 xor a @@ -37935,12 +37935,12 @@ Func_20230: ; 0x20230 push de call Func_30e8 call Func_30db - ld hl, $d5e9 + ld hl, wd5e9 ld de, $2a3d call Func_3372 pop de pop bc - ld hl, $d5e4 + ld hl, wd5e4 ld de, $2a30 call Func_3357 .asm_2029d @@ -37963,7 +37963,7 @@ Func_202b2: ; 0x202b2 ret Func_202bc: ; 0x202bc - ld a, [$d54c] + ld a, [wd54c] cp $4 jp z, Func_204f1 cp $c @@ -37979,7 +37979,7 @@ Func_202bc: ; 0x202bc .asm_202d9 call Func_204b3 - ld a, [$d54d] + ld a, [wd54d] call CallInFollowingTable PointerTable_202e2: ; 0x202e2 dw Func_20302 @@ -38007,18 +38007,18 @@ PointerTable_202e2: ; 0x202e2 db Bank(Func_2048f), $00 Func_20302: ; 0x20302 - ld a, [$d5b6] + ld a, [wd5b6] cp $18 jr nz, .asm_2031e ld a, [wCurrentStage] bit 0, a jr z, .asm_2031e - ld hl, $d54d + ld hl, wd54d inc [hl] ld a, $14 - ld [$d54e], a + ld [wd54e], a ld a, $5 - ld [$d54f], a + ld [wd54f], a .asm_2031e scf ret @@ -38047,8 +38047,8 @@ Func_2032c: ; 0x2032c call nz, BankSwitch .asm_20333 ld a, $1 - ld [$d5c6], a - ld hl, $d54d + ld [wd5c6], a + ld hl, wd54d inc [hl] .asm_20362 scf @@ -38067,38 +38067,38 @@ Func_20364: ; 0x20364 callba Func_10732 ld [$ff8a], a callba Func_10464 - ld hl, $d54d + ld hl, wd54d inc [hl] .asm_20392 scf ret Func_20394: ; 0x20394 - ld a, [$d5be] + ld a, [wd5be] dec a - ld [$d5be], a + ld [wd5be], a jr z, .asm_203a7 - ld a, [$d5c4] + ld a, [wd5c4] inc a - ld [$d5c4], a + ld [wd5c4], a and $3 ret nz .asm_203a7 - ld a, [$d5bf] + ld a, [wd5bf] and a jp z, .asm_20428 xor a - ld [$d5bf], a - ld a, [$d5c3] - ld [$d5be], a + ld [wd5bf], a + ld a, [wd5c3] + ld [wd5be], a xor a - ld [$d5c4], a + ld [wd5c4], a ld a, [wCurrentCatchEmMon] cp MEW - 1 jr nz, .notMew - ld a, [$d5c5] + ld a, [wd5c5] inc a - ld [$d5c5], a + ld [wd5c5], a jr nz, .asm_203d7 .notMew ld a, [wNumMonHits] @@ -38116,12 +38116,12 @@ Func_20394: ; 0x20394 push de call Func_30e8 call Func_30db - ld hl, $d5e9 + ld hl, wd5e9 ld de, $2a2a call Func_3372 pop de pop bc - ld hl, $d5e4 + ld hl, wd5e4 ld de, $2a21 call Func_3357 ld a, [wNumMonHits] @@ -38132,21 +38132,21 @@ Func_20394: ; 0x20394 .asm_20417 xor a - ld [$d57e], a + ld [wd57e], a ld a, $1 - ld [$d57f], a - ld hl, $d54d + ld [wd57f], a + ld hl, wd54d inc [hl] ld c, $2 jr .asm_2044b .asm_20428 - ld a, [$d5be] + ld a, [wd5be] and a ret nz - ld a, [$d5bc] + ld a, [wd5bc] ld c, a - ld a, [$d5bd] + ld a, [wd5bd] sub c cp $1 ld c, $0 @@ -38154,31 +38154,31 @@ Func_20394: ; 0x20394 ld c, $1 .asm_2043d ld b, $0 - ld hl, $d5c1 + ld hl, wd5c1 add hl, bc ld a, [hl] - ld [$d5be], a + ld [wd5be], a xor a - ld [$d5c4], a + ld [wd5c4], a .asm_2044b - ld a, [$d5bc] + ld a, [wd5bc] add c - ld [$d5bd], a + ld [wd5bd], a scf ret Func_20454: ; 0x20454 - ld a, [$d580] + ld a, [wd580] and a jr z, .asm_2045f xor a - ld [$d580], a + ld [wd580], a ret .asm_2045f ld [$ff8a], a callba Func_10496 - ld hl, $d54d + ld hl, wd54d inc [hl] ld [$ff8a], a callba Func_106b6 @@ -38194,7 +38194,7 @@ CapturePokemonBlueStage: ; 0x20483 ret Func_2048f: ; 0x2048f - ld a, [$d5ca] + ld a, [wd5ca] and a ret nz call Func_30e8 @@ -38210,13 +38210,13 @@ Func_2048f: ; 0x2048f Func_204b3: ; 0x204b3 ld [$ff8a], a callba Func_107f8 - ld a, [$d57e] + ld a, [wd57e] and a ret z xor a - ld [$d57e], a + ld [wd57e], a ld a, $7 - ld [$d54d], a + ld [wd54d], a ld a, [wCurrentCatchEmMon] cp MEW - 1 jr nz, .notMew @@ -38230,13 +38230,13 @@ Func_204b3: ; 0x204b3 ret Func_204f1: ; 0x204f1 - ld a, [$d5b6] + ld a, [wd5b6] cp $18 jr z, .asm_2055e sla a ld c, a ld b, $0 - ld hl, $d586 + ld hl, wd586 add hl, bc ld d, $4 .asm_20503 @@ -38249,13 +38249,13 @@ Func_204f1: ; 0x204f1 dec d jr nz, .asm_20503 .asm_2050f - ld a, [$d5b6] + ld a, [wd5b6] add $4 cp $18 jr c, .asm_2051a ld a, $18 .asm_2051a - ld [$d5b6], a + ld [wd5b6], a cp $18 jr nz, .asm_20525 xor a @@ -38272,12 +38272,12 @@ Func_204f1: ; 0x204f1 push de call Func_30e8 call Func_30db - ld hl, $d5e9 + ld hl, wd5e9 ld de, $2a3d call Func_3372 pop de pop bc - ld hl, $d5e4 + ld hl, wd5e4 ld de, $2a30 call Func_3357 .asm_2055e @@ -38304,7 +38304,7 @@ Func_2057a: ; 0x2057a ret Func_20581: ; 0x20581 - ld a, [$d54c] + ld a, [wd54c] cp $4 jp z, Func_2080f cp $3 @@ -38338,7 +38338,7 @@ Func_20581: ; 0x20581 .asm_205cb call Func_2077b - ld a, [$d54d] + ld a, [wd54d] call CallInFollowingTable PointerTable_205d4: ; 0x205d4 dw Func_205e0 @@ -38353,7 +38353,7 @@ PointerTable_205d4: ; 0x205d4 Func_205e0: ; 0x205e0 ld a, [wCurrentStage] ld b, a - ld a, [$d578] + ld a, [wd578] and a ret z dec a @@ -38363,18 +38363,18 @@ Func_205e0: ; 0x205e0 .asm_205f0 ld c, a ld b, $0 - ld hl, $d566 + ld hl, wd566 add hl, bc ld a, [hl] and a ret z xor a ld [hl], a - ld [$d551], a + ld [wd551], a call Func_20651 - ld a, [$d558] + ld a, [wd558] ld [wIndicatorStates + 2], a - ld a, [$d559] + ld a, [wd559] ld [wIndicatorStates + 3], a ld [wIndicatorStates + 10], a ld a, [wCurrentStage] @@ -38389,7 +38389,7 @@ Func_205e0: ; 0x205e0 call Func_30e8 call Func_30db ld de, $2bd8 - ld hl, $d5cc + ld hl, wd5cc call LoadTextHeader ld a, [hGameBoyColorFlag] and a @@ -38415,7 +38415,7 @@ Func_20651: ; 0x20651 sla c ld hl, $4e80 add hl, bc - ld a, [$d554] + ld a, [wd554] ld c, a ld b, $0 swap c @@ -38430,9 +38430,9 @@ Func_20651: ; 0x20651 ld a, $36 call LoadVRAMData .asm_20681 - ld a, [$d554] + ld a, [wd554] inc a - ld [$d554], a + ld [wd554], a cp $1 jr nz, .asm_20693 ld de, $0728 @@ -38452,7 +38452,7 @@ Func_20651: ; 0x20651 ld de, $0745 call PlaySoundEffect ld a, $1 - ld [$d604], a + ld [wd604], a ld a, $80 ld [wIndicatorStates + 4], a xor a @@ -38467,8 +38467,8 @@ Func_20651: ; 0x20651 ld [wIndicatorStates + 12], a ld [wIndicatorStates + 6], a ld [wIndicatorStates + 7], a - ld [$d558], a - ld [$d559], a + ld [wd558], a + ld [wd559], a ld a, [wCurrentStage] bit 0, a ret z @@ -38499,11 +38499,11 @@ Func_2070b: ; 0x2070b callba Func_10ac8 ld de, $0001 call PlaySong - ld hl, $d629 + ld hl, wd629 call Func_e4a ld [$ff8a], a callba SetPokemonOwnedFlag - ld a, [$d624] + ld a, [wd624] cp $3 ret z add $2 @@ -38511,14 +38511,14 @@ Func_2070b: ; 0x2070b jr c, .asm_2074d ld a, $3 .asm_2074d - ld [$d625], a + ld [wd625], a ld a, $80 - ld [$d626], a + ld [wd626], a scf ret Func_20757: ; 0x20757 - ld a, [$d5ca] + ld a, [wd5ca] and a ret nz call Func_30e8 @@ -38532,7 +38532,7 @@ Func_20757: ; 0x20757 ret Func_2077b: ; 0x2077b - ld hl, $d556 + ld hl, wd556 ld a, [hli] ld c, a ld b, [hl] @@ -38548,15 +38548,15 @@ Func_2077b: ; 0x2077b .asm_2078e ld [$ff8a], a callba Func_107f8 - ld a, [$d57e] + ld a, [wd57e] and a ret z xor a - ld [$d57e], a + ld [wd57e], a ld a, $2 - ld [$d54d], a + ld [wd54d], a xor a - ld [$d604], a + ld [wd604], a ld hl, wIndicatorStates ld [wIndicatorStates + 4], a ld [wIndicatorStates + 9], a @@ -38570,9 +38570,9 @@ Func_2077b: ; 0x2077b ld [wIndicatorStates + 12], a ld [wIndicatorStates + 6], a ld [wIndicatorStates + 7], a - ld [$d558], a - ld [$d559], a - ld [$d551], a + ld [wd558], a + ld [wd559], a + ld [wd551], a ld a, [wCurrentStage] bit 0, a jr z, .asm_207f5 @@ -38585,7 +38585,7 @@ Func_2077b: ; 0x2077b callba Func_86d2 call Func_30e8 call Func_30db - ld hl, $d5cc + ld hl, wd5cc ld de, EvolutionFailedText call LoadTextHeader ret @@ -38594,7 +38594,7 @@ Func_2080f: ; 0x2080f ld bc, $0001 ld de, $5000 call Func_3538 - ld a, [$d551] + ld a, [wd551] and a jr nz, .asm_20837 ld a, [wIndicatorStates + 9] @@ -38602,10 +38602,10 @@ Func_2080f: ; 0x2080f jr z, .asm_20837 xor a ld [wIndicatorStates + 9], a - ld a, [$d55c] + ld a, [wd55c] and a ld a, $0 - ld [$d55c], a + ld [wd55c], a jp nz, Func_20977 jp Func_209eb @@ -38614,7 +38614,7 @@ Func_2080f: ; 0x2080f ret Func_20839: ; 0x20839 - ld a, [$d551] + ld a, [wd551] and a jr nz, .asm_20858 ld a, [wIndicatorStates + 2] @@ -38622,10 +38622,10 @@ Func_20839: ; 0x20839 jr z, .asm_20858 xor a ld [wIndicatorStates + 2], a - ld a, [$d563] + ld a, [wd563] and a ld a, $0 - ld [$d563], a + ld [wd563], a jp nz, Func_20977 jp Func_209eb @@ -38637,7 +38637,7 @@ Func_2085a: ; 0x2085a ld bc, $0007 ld de, $5000 call Func_3538 - ld a, [$d551] + ld a, [wd551] and a jr nz, .asm_20885 ld a, [wIndicatorStates + 3] @@ -38646,10 +38646,10 @@ Func_2085a: ; 0x2085a xor a ld [wIndicatorStates + 3], a ld [wIndicatorStates + 10], a - ld a, [$d562] + ld a, [wd562] and a ld a, $0 - ld [$d562], a + ld [wd562], a jp nz, Func_20977 jp Func_209eb @@ -38658,7 +38658,7 @@ Func_2085a: ; 0x2085a ret Func_20887: ; 0x20887 - ld a, [$d551] + ld a, [wd551] and a jr nz, .asm_208a6 ld a, [wIndicatorStates + 8] @@ -38666,10 +38666,10 @@ Func_20887: ; 0x20887 jr z, .asm_208a6 xor a ld [wIndicatorStates + 8], a - ld a, [$d561] + ld a, [wd561] and a ld a, $0 - ld [$d561], a + ld [wd561], a jp nz, Func_20977 jp Func_209eb @@ -38678,7 +38678,7 @@ Func_20887: ; 0x20887 ret Func_208a8: ; 0x208a8 - ld a, [$d551] + ld a, [wd551] and a jr nz, .asm_208c7 ld a, [wIndicatorStates + 13] @@ -38686,10 +38686,10 @@ Func_208a8: ; 0x208a8 jr z, .asm_208c7 xor a ld [wIndicatorStates + 13], a - ld a, [$d55d] + ld a, [wd55d] and a ld a, $0 - ld [$d55d], a + ld [wd55d], a jp nz, Func_20977 jp Func_209eb @@ -38698,7 +38698,7 @@ Func_208a8: ; 0x208a8 ret Func_208c9: ; 0x208c9 - ld a, [$d551] + ld a, [wd551] and a jr nz, .asm_208e8 ld a, [wIndicatorStates + 14] @@ -38706,10 +38706,10 @@ Func_208c9: ; 0x208c9 jr z, .asm_208e8 xor a ld [wIndicatorStates + 14], a - ld a, [$d55e] + ld a, [wd55e] and a ld a, $0 - ld [$d55e], a + ld [wd55e], a jp nz, Func_20977 jp Func_209eb @@ -38718,7 +38718,7 @@ Func_208c9: ; 0x208c9 ret Func_208ea: ; 0x208ea - ld a, [$d551] + ld a, [wd551] and a jr nz, .asm_20909 ld a, [wIndicatorStates + 11] @@ -38726,10 +38726,10 @@ Func_208ea: ; 0x208ea jr z, .asm_20909 xor a ld [wIndicatorStates + 11], a - ld a, [$d55f] + ld a, [wd55f] and a ld a, $0 - ld [$d55f], a + ld [wd55f], a jp nz, Func_20977 jp Func_209eb @@ -38738,7 +38738,7 @@ Func_208ea: ; 0x208ea ret Func_2090b: ; 0x2090b - ld a, [$d551] + ld a, [wd551] and a jr nz, .asm_2092a ld a, [wIndicatorStates + 12] @@ -38746,10 +38746,10 @@ Func_2090b: ; 0x2090b jr z, .asm_2092a xor a ld [wIndicatorStates + 12], a - ld a, [$d560] + ld a, [wd560] and a ld a, $0 - ld [$d560], a + ld [wd560], a jp nz, Func_20977 jp Func_209eb @@ -38758,7 +38758,7 @@ Func_2090b: ; 0x2090b ret Func_2092c: ; 0x2092c - ld a, [$d551] + ld a, [wd551] and a jr nz, .asm_2094b ld a, [wIndicatorStates + 6] @@ -38766,10 +38766,10 @@ Func_2092c: ; 0x2092c jr z, .asm_2094b xor a ld [wIndicatorStates + 6], a - ld a, [$d565] + ld a, [wd565] and a ld a, $0 - ld [$d565], a + ld [wd565], a jp nz, Func_20977 jp Func_209eb @@ -38781,7 +38781,7 @@ Func_2094d: ; 0x2094d ld bc, $0000 ld de, $1500 call Func_3538 - ld a, [$d551] + ld a, [wd551] and a jr nz, .asm_20975 ld a, [wIndicatorStates + 7] @@ -38789,10 +38789,10 @@ Func_2094d: ; 0x2094d jr z, .asm_20975 xor a ld [wIndicatorStates + 7], a - ld a, [$d564] + ld a, [wd564] and a ld a, $0 - ld [$d564], a + ld [wd564], a jp nz, Func_20977 jp Func_209eb @@ -38806,11 +38806,11 @@ Func_20977: ; 0x20977 call Func_20af5 ld a, [wCurrentEvolutionType] ld [hl], a - ld [$d551], a + ld [wd551], a ld a, [wIndicatorStates + 2] - ld [$d558], a + ld [wd558], a ld a, [wIndicatorStates + 3] - ld [$d559], a + ld [wd559], a xor a ld [wIndicatorStates + 2], a ld [wIndicatorStates + 3], a @@ -38846,7 +38846,7 @@ Func_20977: ; 0x20977 ld e, a ld a, [hl] ld d, a - ld hl, $d5cc + ld hl, wd5cc call LoadTextHeader scf ret @@ -38855,14 +38855,14 @@ Func_209eb: ; 0x209eb ld de, $0747 call PlaySoundEffect ld a, $1 - ld [$d551], a + ld [wd551], a ld a, $80 ld [wIndicatorStates], a ld [wIndicatorStates + 1], a ld a, [wIndicatorStates + 2] - ld [$d558], a + ld [wd558], a ld a, [wIndicatorStates + 3] - ld [$d559], a + ld [wd559], a xor a ld [wIndicatorStates + 2], a ld [wIndicatorStates + 3], a @@ -38874,15 +38874,15 @@ Func_209eb: ; 0x209eb ld hl, Func_14135 call nz, BankSwitch ld a, $58 - ld [$d556], a + ld [wd556], a ld a, $2 - ld [$d557], a + ld [wd557], a ld bc, ThirtyMillionPoints ld [$ff8a], a callba Func_8588 call Func_30e8 call Func_30db - ld hl, $d5cc + ld hl, wd5cc ld a, [wCurrentEvolutionType] cp EVO_EXPERIENCE ld de, $2b7b @@ -38894,7 +38894,7 @@ Func_209eb: ; 0x209eb ret Func_20a55: ; 0x20a55 - ld a, [$d551] + ld a, [wd551] and a jr z, .asm_20a63 ld a, [wIndicatorStates + 1] @@ -38907,7 +38907,7 @@ Func_20a55: ; 0x20a55 ret Func_20a65: ; 0x20a65 - ld a, [$d551] + ld a, [wd551] and a jr z, .asm_20a80 ld a, [wIndicatorStates + 1] @@ -38923,7 +38923,7 @@ Func_20a65: ; 0x20a65 ret Func_20a82: ; 0x20a82 - ld a, [$d551] + ld a, [wd551] and a jr z, .asm_20a9d ld a, [wIndicatorStates] @@ -38942,13 +38942,13 @@ asm_20a9f: xor a ld [wIndicatorStates], a ld [wIndicatorStates + 1], a - ld [$d551], a - ld a, [$d558] + ld [wd551], a + ld a, [wd558] ld [wIndicatorStates + 2], a - ld a, [$d559] + ld a, [wd559] ld [wIndicatorStates + 3], a ld [wIndicatorStates + 10], a - ld a, [$d4ac] + ld a, [wCurrentStage] bit 0, a ld [$ff8a], a ld a, Bank(Func_14135) @@ -38971,7 +38971,7 @@ asm_20a9f: jr z, .asm_20aed ld de, $2bc2 .asm_20aed - ld hl, $d5cc + ld hl, wd5cc call LoadTextHeader scf ret @@ -38981,7 +38981,7 @@ Func_20af5: ; 0x20af5 call Func_a21 ld c, a ld b, $0 - ld hl, $d566 + ld hl, wd566 add hl, bc ret @@ -39066,12 +39066,12 @@ Func_20b02: ; 0x20b02 callba Func_10825 call Func_3475 ld a, $1 - ld [$d54d], a + ld [wd54d], a scf ret Func_20bae: ; 0x20bae - ld a, [$d54c] + ld a, [wd54c] cp $4 jp z, Func_20e34 cp $1 @@ -39103,7 +39103,7 @@ Func_20bae: ; 0x20bae .asm_20bf3 call Func_20da0 - ld a, [$d54d] + ld a, [wd54d] call CallInFollowingTable PointerTable_20bfc: ; 0x20bfc dw Func_20c08 @@ -39118,7 +39118,7 @@ PointerTable_20bfc: ; 0x20bfc Func_20c08: ; 0x20c08 ld a, [wCurrentStage] ld b, a - ld a, [$d578] + ld a, [wd578] and a ret z dec a @@ -39128,18 +39128,18 @@ Func_20c08: ; 0x20c08 .asm_20c18 ld c, a ld b, $0 - ld hl, $d566 + ld hl, wd566 add hl, bc ld a, [hl] and a ret z xor a ld [hl], a - ld [$d551], a + ld [wd551], a call Func_20c76 - ld a, [$d558] + ld a, [wd558] ld [wIndicatorStates], a - ld a, [$d559] + ld a, [wd559] ld [wIndicatorStates + 3], a ld a, [wCurrentStage] bit 0, a @@ -39156,7 +39156,7 @@ Func_20c08: ; 0x20c08 call Func_30e8 call Func_30db ld de, $2bd8 - ld hl, $d5cc + ld hl, wd5cc call LoadTextHeader ld a, [hGameBoyColorFlag] and a @@ -39182,7 +39182,7 @@ Func_20c76: ; 0x20c76 sla c ld hl, $4e80 add hl, bc - ld a, [$d554] + ld a, [wd554] ld c, a ld b, $0 swap c @@ -39197,9 +39197,9 @@ Func_20c76: ; 0x20c76 ld a, $36 call LoadVRAMData .asm_20ca6 - ld a, [$d554] + ld a, [wd554] inc a - ld [$d554], a + ld [wd554], a cp $1 jr nz, .asm_20cb8 ld de, $0728 @@ -39219,7 +39219,7 @@ Func_20c76: ; 0x20c76 ld de, $0745 call PlaySoundEffect ld a, $1 - ld [$d604], a + ld [wd604], a ld a, $80 ld [wIndicatorStates + 4], a xor a @@ -39234,8 +39234,8 @@ Func_20c76: ; 0x20c76 ld [wIndicatorStates + 10], a ld [wIndicatorStates + 6], a ld [wIndicatorStates + 7], a - ld [$d558], a - ld [$d559], a + ld [wd558], a + ld [wd559], a ld a, [wCurrentStage] bit 0, a ret z @@ -39266,11 +39266,11 @@ Func_20d30: ; 0x20d30 callba Func_10ac8 ld de, $0001 call PlaySong - ld hl, $d629 + ld hl, wd629 call Func_e4a ld [$ff8a], a callba SetPokemonOwnedFlag - ld a, [$d624] + ld a, [wd624] cp $3 ret z add $2 @@ -39278,14 +39278,14 @@ Func_20d30: ; 0x20d30 jr c, .asm_20d72 ld a, $3 .asm_20d72 - ld [$d625], a + ld [wd625], a ld a, $80 - ld [$d626], a + ld [wd626], a scf ret Func_20d7c: ; 0x20d7c - ld a, [$d5ca] + ld a, [wd5ca] and a ret nz call Func_30e8 @@ -39299,7 +39299,7 @@ Func_20d7c: ; 0x20d7c ret Func_20da0: ; 0x20da0 - ld hl, $d556 + ld hl, wd556 ld a, [hli] ld c, a ld b, [hl] @@ -39315,15 +39315,15 @@ Func_20da0: ; 0x20da0 .asm_20db3 ld [$ff8a], a callba Func_107f8 - ld a, [$d57e] + ld a, [wd57e] and a ret z xor a - ld [$d57e], a + ld [wd57e], a ld a, $2 - ld [$d54d], a + ld [wd54d], a xor a - ld [$d604], a + ld [wd604], a ld hl, wIndicatorStates ld [wIndicatorStates + 4], a ld [wIndicatorStates + 9], a @@ -39337,9 +39337,9 @@ Func_20da0: ; 0x20da0 ld [wIndicatorStates + 10], a ld [wIndicatorStates + 6], a ld [wIndicatorStates + 7], a - ld [$d558], a - ld [$d559], a - ld [$d551], a + ld [wd558], a + ld [wd559], a + ld [wd551], a ld a, [wCurrentStage] bit 0, a jr z, .asm_20e1a @@ -39352,7 +39352,7 @@ Func_20da0: ; 0x20da0 callba Func_86d2 call Func_30e8 call Func_30db - ld hl, $d5cc + ld hl, wd5cc ld de, EvolutionFailedText call LoadTextHeader ret @@ -39361,7 +39361,7 @@ Func_20e34: ; 0x20e34 ld bc, $0001 ld de, $5000 call Func_3538 - ld a, [$d551] + ld a, [wd551] and a jr nz, .asm_20e5c ld a, [wIndicatorStates + 9] @@ -39369,10 +39369,10 @@ Func_20e34: ; 0x20e34 jr z, .asm_20e5c xor a ld [wIndicatorStates + 9], a - ld a, [$d55c] + ld a, [wd55c] and a ld a, $0 - ld [$d55c], a + ld [wd55c], a jp nz, Func_20f75 jp Func_20fef @@ -39381,7 +39381,7 @@ Func_20e34: ; 0x20e34 ret Func_20e5e: ; 0x20e5e - ld a, [$d551] + ld a, [wd551] and a jr nz, .asm_20e80 ld a, [wIndicatorStates + 3] @@ -39390,10 +39390,10 @@ Func_20e5e: ; 0x20e5e xor a ld [wIndicatorStates + 3], a ld [wIndicatorStates + 10], a - ld a, [$d562] + ld a, [wd562] and a ld a, $0 - ld [$d562], a + ld [wd562], a jp nz, Func_20f75 jp Func_20fef @@ -39402,7 +39402,7 @@ Func_20e5e: ; 0x20e5e ret Func_20e82: ; 0x20e82 - ld a, [$d551] + ld a, [wd551] and a jr nz, .asm_20ea4 ld a, [wIndicatorStates + 8] @@ -39411,10 +39411,10 @@ Func_20e82: ; 0x20e82 xor a ld [wIndicatorStates + 8], a ld [wIndicatorStates + 2], a - ld a, [$d561] + ld a, [wd561] and a ld a, $0 - ld [$d561], a + ld [wd561], a jp nz, Func_20f75 jp Func_20fef @@ -39423,7 +39423,7 @@ Func_20e82: ; 0x20e82 ret Func_20ea6: ; 0x20ea6 - ld a, [$d551] + ld a, [wd551] and a jr nz, .asm_20ec5 ld a, [wIndicatorStates + 13] @@ -39431,10 +39431,10 @@ Func_20ea6: ; 0x20ea6 jr z, .asm_20ec5 xor a ld [wIndicatorStates + 13], a - ld a, [$d55d] + ld a, [wd55d] and a ld a, $0 - ld [$d55d], a + ld [wd55d], a jp nz, Func_20f75 jp Func_20fef @@ -39443,7 +39443,7 @@ Func_20ea6: ; 0x20ea6 ret Func_20ec7: ; 0x20ec7 - ld a, [$d551] + ld a, [wd551] and a jr nz, .asm_20ee6 ld a, [wIndicatorStates + 14] @@ -39451,10 +39451,10 @@ Func_20ec7: ; 0x20ec7 jr z, .asm_20ee6 xor a ld [wIndicatorStates + 14], a - ld a, [$d55e] + ld a, [wd55e] and a ld a, $0 - ld [$d55e], a + ld [wd55e], a jp nz, Func_20f75 jp Func_20fef @@ -39463,7 +39463,7 @@ Func_20ec7: ; 0x20ec7 ret Func_20ee8: ; 0x20ee8 - ld a, [$d551] + ld a, [wd551] and a jr nz, .asm_20f07 ld a, [wIndicatorStates + 11] @@ -39471,10 +39471,10 @@ Func_20ee8: ; 0x20ee8 jr z, .asm_20f07 xor a ld [wIndicatorStates + 11], a - ld a, [$d55f] + ld a, [wd55f] and a ld a, $0 - ld [$d55f], a + ld [wd55f], a jp nz, Func_20f75 jp Func_20fef @@ -39483,7 +39483,7 @@ Func_20ee8: ; 0x20ee8 ret Func_20f09: ; 0x20f09 - ld a, [$d551] + ld a, [wd551] and a jr nz, .asm_20f28 ld a, [wIndicatorStates + 12] @@ -39491,10 +39491,10 @@ Func_20f09: ; 0x20f09 jr z, .asm_20f28 xor a ld [wIndicatorStates + 12], a - ld a, [$d560] + ld a, [wd560] and a ld a, $0 - ld [$d560], a + ld [wd560], a jp nz, Func_20f75 jp Func_20fef @@ -39503,7 +39503,7 @@ Func_20f09: ; 0x20f09 ret Func_20f2a: ; 0x20f2a - ld a, [$d551] + ld a, [wd551] and a jr nz, .asm_20f49 ld a, [wIndicatorStates + 6] @@ -39511,10 +39511,10 @@ Func_20f2a: ; 0x20f2a jr z, .asm_20f49 xor a ld [wIndicatorStates + 6], a - ld a, [$d565] + ld a, [wd565] and a ld a, $0 - ld [$d565], a + ld [wd565], a jp nz, Func_20f75 jp Func_20fef @@ -39526,7 +39526,7 @@ Func_20f4b: ; 0x20f4b ld bc, $0000 ld de, $1500 call Func_3538 - ld a, [$d551] + ld a, [wd551] and a jr nz, .asm_20f73 ld a, [wIndicatorStates + 7] @@ -39534,10 +39534,10 @@ Func_20f4b: ; 0x20f4b jr z, .asm_20f73 xor a ld [wIndicatorStates + 7], a - ld a, [$d564] + ld a, [wd564] and a ld a, $0 - ld [$d564], a + ld [wd564], a jp nz, Func_20f75 jp Func_20fef @@ -39551,13 +39551,13 @@ Func_20f75: ; 0x20f75 call Func_2111d ld a, [wCurrentEvolutionType] ld [hl], a - ld [$d551], a + ld [wd551], a ld a, [wIndicatorStates] - ld [$d558], a + ld [wd558], a ld a, [wIndicatorStates + 3] - ld [$d559], a + ld [wd559], a ld a, [wIndicatorStates + 2] - ld [$d63f], a + ld [wd63f], a xor a ld [wIndicatorStates], a ld [wIndicatorStates + 2], a @@ -39593,7 +39593,7 @@ Func_20f75: ; 0x20f75 ld e, a ld a, [hl] ld d, a - ld hl, $d5cc + ld hl, wd5cc call LoadTextHeader scf ret @@ -39602,16 +39602,16 @@ Func_20fef: ; 0x20fef ld de, $0747 call PlaySoundEffect ld a, $1 - ld [$d551], a + ld [wd551], a ld a, [wIndicatorStates] - ld [$d558], a + ld [wd558], a ld a, $80 ld [wIndicatorStates], a ld [wIndicatorStates + 1], a ld a, [wIndicatorStates + 3] - ld [$d559], a + ld [wd559], a ld a, [wIndicatorStates + 2] - ld [$d63f], a + ld [wd63f], a xor a ld [wIndicatorStates + 2], a ld [wIndicatorStates + 3], a @@ -39622,15 +39622,15 @@ Func_20fef: ; 0x20fef ld hl, Func_1c2cb call nz, BankSwitch ld a, $58 - ld [$d556], a + ld [wd556], a ld a, $2 - ld [$d557], a + ld [wd557], a ld bc, ThirtyMillionPoints ld [$ff8a], a callba Func_8588 call Func_30e8 call Func_30db - ld hl, $d5cc + ld hl, wd5cc ld a, [wCurrentEvolutionType] cp EVO_EXPERIENCE ld de, $2b7b @@ -39642,7 +39642,7 @@ Func_20fef: ; 0x20fef ret Func_2105c: ; 0x2105c - ld a, [$d551] + ld a, [wd551] and a jr z, .asm_21077 ld a, [wIndicatorStates + 1] @@ -39660,7 +39660,7 @@ Func_2105c: ; 0x2105c ret Func_21079: ; 0x21079 - ld a, [$d551] + ld a, [wd551] and a jr z, .asm_21087 ld a, [wIndicatorStates + 1] @@ -39673,7 +39673,7 @@ Func_21079: ; 0x21079 ret Func_21089: ; 0x21089 - ld a, [$d551] + ld a, [wd551] and a jr nz, .asm_210aa ld a, [wIndicatorStates] @@ -39681,10 +39681,10 @@ Func_21089: ; 0x21089 jr z, .asm_210a8 xor a ld [wIndicatorStates], a - ld a, [$d563] + ld a, [wd563] and a ld a, $0 - ld [$d563], a + ld [wd563], a jp nz, Func_20f75 jp Func_20fef @@ -39693,7 +39693,7 @@ Func_21089: ; 0x21089 ret .asm_210aa - ld a, [$d551] + ld a, [wd551] and a jr z, .asm_210c5 ld a, [wIndicatorStates] @@ -39711,12 +39711,12 @@ Func_21089: ; 0x21089 asm_210c7: xor a ld [wIndicatorStates + 1], a - ld [$d551], a - ld a, [$d558] + ld [wd551], a + ld a, [wd558] ld [wIndicatorStates], a - ld a, [$d559] + ld a, [wd559] ld [wIndicatorStates + 3], a - ld a, [$d63f] + ld a, [wd63f] ld [wIndicatorStates + 2], a ld a, [wCurrentStage] bit 0, a @@ -39741,7 +39741,7 @@ asm_210c7: jr z, .asm_21115 ld de, $2bc2 .asm_21115 - ld hl, $d5cc + ld hl, wd5cc call LoadTextHeader scf ret @@ -39751,7 +39751,7 @@ Func_2111d: ; 0x2111d call Func_a21 ld c, a ld b, $0 - ld hl, $d566 + ld hl, wd566 add hl, bc ret @@ -39836,7 +39836,7 @@ Func_2112a: ; 0x2112a callba Func_10825 call Func_3475 ld a, $1 - ld [$d54d], a + ld [wd54d], a scf ret @@ -39845,20 +39845,20 @@ Func_2112a: ; 0x2112a SECTION "bank9", ROMX, BANK[$9] InitMeowthBonusStage: ; 0x24000 - ld a, [$d7c1] + ld a, [wd7c1] and a ret nz xor a - ld [$d4c8], a + ld [wd4c8], a ld [wStageCollisionState], a ld a, [wBallType] ld [wBallTypeBackup], a xor a - ld [$d4c8], a + ld [wd4c8], a ld [wBallType], a - ld [$d49a], a + ld [wd49a], a ld a, $1 - ld [$d7ac], a + ld [wd7ac], a ld a, $40 ld [wMeowthXPosition], a ld a, $20 @@ -39867,10 +39867,10 @@ InitMeowthBonusStage: ; 0x24000 ld [wMeowthAnimationFrameCounter], a xor a ld [wMeowthStageScore], a - ld [$d70b], a + ld [wd70b], a ld [wMeowthStageBonusCounter], a - ld [$d713], a - ld [$d739], a + ld [wd713], a + ld [wd739], a ld bc, $0100 ; 1 minute 0 seconds ld [$ff8a], a callba StartTimer @@ -39892,10 +39892,10 @@ StartBallMeowthBonusStage: ; 0x24059 ld a, $40 ld [wBallXVelocity], a xor a - ld [$d7ab], a + ld [wd7ab], a ld [wStageCollisionState], a - ld [$d6e6], a - ld hl, $d6f3 + ld [wd6e6], a + ld hl, wd6f3 ld b, $16 .asm_24081 ld a, [hl] @@ -39908,7 +39908,7 @@ StartBallMeowthBonusStage: ; 0x24059 dec b jr nz, .asm_24081 ld a, $1 - ld [$d7ac], a + ld [wd7ac], a ld a, $40 ld [wMeowthXPosition], a ld a, $20 @@ -39919,51 +39919,51 @@ StartBallMeowthBonusStage: ; 0x24059 ld [wMeowthXMovement], a xor a ld [wMeowthAnimationFrame], a - ld [$d6ec], a + ld [wd6ec], a ld [wMeowthAnimationFrameIndex], a - ld [$d70b], a - ld [$d70c], a + ld [wd70b], a + ld [wd70c], a ld a, $c8 - ld [$d71a], a - ld [$d727], a - ld [$d71b], a - ld [$d728], a - ld [$d71c], a - ld [$d729], a - ld [$d724], a - ld [$d731], a - ld [$d725], a - ld [$d732], a - ld [$d726], a - ld [$d733], a - xor a - ld [$d717], a - ld [$d718], a - ld [$d719], a - ld [$d721], a - ld [$d722], a - ld [$d723], a - ld [$d714], a - ld [$d715], a - ld [$d716], a - ld [$d71e], a - ld [$d71f], a - ld [$d720], a - ld [$d64e], a - ld [$d64f], a - ld [$d650], a - ld [$d651], a - ld [$d795], a - ld [$d796], a - ld [$d797], a - ld [$d798], a - ld [$d799], a - ld [$d79a], a - ld a, [$d4c9] - and a - ret z - xor a - ld [$d4c9], a + ld [wd71a], a + ld [wd727], a + ld [wd71b], a + ld [wd728], a + ld [wd71c], a + ld [wd729], a + ld [wd724], a + ld [wd731], a + ld [wd725], a + ld [wd732], a + ld [wd726], a + ld [wd733], a + xor a + ld [wd717], a + ld [wd718], a + ld [wd719], a + ld [wd721], a + ld [wd722], a + ld [wd723], a + ld [wd714], a + ld [wd715], a + ld [wd716], a + ld [wd71e], a + ld [wd71f], a + ld [wd720], a + ld [wd64e], a + ld [wd64f], a + ld [wd650], a + ld [wd651], a + ld [wd795], a + ld [wd796], a + ld [wd797], a + ld [wd798], a + ld [wd799], a + ld [wd79a], a + ld a, [wd4c9] + and a + ret z + xor a + ld [wd4c9], a ret Func_24128: ; 0x24128 @@ -39984,7 +39984,7 @@ Func_2414d: ; 0x2414d ret Func_24157: ; 0x24157 - ld a, [$d6e7] + ld a, [wd6e7] cp $0 ret nz ld a, [wMeowthXPosition] @@ -40036,15 +40036,15 @@ Func_24170: ; 0x24170 bit 7, a jr nz, .asm_24212 sla a - ld [$d7ea], a + ld [wd7ea], a ld a, $1 - ld [$d7e9], a - ld a, [$d6ec] + ld [wd7e9], a + ld a, [wd6ec] cp $2 ret z cp $3 ret z - ld a, [$d713] + ld a, [wd713] and a ret nz ld a, [wMeowthYMovement] @@ -40053,18 +40053,18 @@ Func_24170: ; 0x24170 ld a, [wMeowthYMovement] cp $1 jr nz, .asm_241df - ld a, [$d70b] + ld a, [wd70b] cp $3 jr z, .asm_241eb jr .asm_241e6 .asm_241df - ld a, [$d70c] + ld a, [wd70c] cp $3 jr z, .asm_241eb .asm_241e6 ld a, $2 - ld [$d6e7], a + ld [wd6e7], a .asm_241eb scf ret @@ -40073,7 +40073,7 @@ Func_24170: ; 0x24170 ld a, [wMeowthYPosition] cp $20 jr nz, .asm_241fd - ld a, [$d70b] + ld a, [wd70b] cp $3 jr z, .asm_24210 jr .asm_2420b @@ -40082,12 +40082,12 @@ Func_24170: ; 0x24170 ld a, [wMeowthYPosition] cp $10 jr nz, .asm_24210 - ld a, [$d70c] + ld a, [wd70c] cp $3 jr z, .asm_24210 .asm_2420b ld a, $1 - ld [$d6e7], a + ld [wd6e7], a .asm_24210 scf ret @@ -40097,39 +40097,39 @@ Func_24170: ; 0x24170 ret Func_24214: ; 0x24214 - ld a, [$d717] + ld a, [wd717] cp $2 jr nz, .asm_2422e - ld a, [$d71a] + ld a, [wd71a] sub $4 ld b, a - ld a, [$d727] + ld a, [wd727] add $c ld c, a call Func_24272 ld a, $0 jr c, .asm_24260 .asm_2422e - ld a, [$d718] + ld a, [wd718] cp $2 jr nz, .asm_24248 - ld a, [$d71b] + ld a, [wd71b] sub $4 ld b, a - ld a, [$d728] + ld a, [wd728] add $c ld c, a call Func_24272 ld a, $1 jr c, .asm_24260 .asm_24248 - ld a, [$d719] + ld a, [wd719] cp $2 ret nz - ld a, [$d71c] + ld a, [wd71c] sub $4 ld b, a - ld a, [$d729] + ld a, [wd729] add $c ld c, a call Func_24272 @@ -40138,11 +40138,11 @@ Func_24214: ; 0x24214 .asm_24260 ld b, $0 ld c, a - ld hl, $d717 + ld hl, wd717 add hl, bc ld a, $3 ld [hl], a - ld hl, $d714 + ld hl, wd714 add hl, bc ld a, $0 ld [hl], a @@ -40184,9 +40184,9 @@ Func_24272: ; 0x24272 bit 7, a jr nz, .asm_242b9 sla a - ld [$d7ea], a + ld [wd7ea], a ld a, $1 - ld [$d7e9], a + ld [wd7e9], a scf ret @@ -40195,39 +40195,39 @@ Func_24272: ; 0x24272 ret Func_242bb: ; 0x242bb - ld a, [$d721] + ld a, [wd721] cp $2 jr nz, .asm_242d5 - ld a, [$d724] + ld a, [wd724] sub $4 ld b, a - ld a, [$d731] + ld a, [wd731] add $c ld c, a call Func_24272 ld a, $0 jr c, .asm_24307 .asm_242d5 - ld a, [$d722] + ld a, [wd722] cp $2 jr nz, .asm_242ef - ld a, [$d725] + ld a, [wd725] sub $4 ld b, a - ld a, [$d732] + ld a, [wd732] add $c ld c, a call Func_24272 ld a, $1 jr c, .asm_24307 .asm_242ef - ld a, [$d723] + ld a, [wd723] cp $2 ret nz - ld a, [$d726] + ld a, [wd726] sub $4 ld b, a - ld a, [$d733] + ld a, [wd733] add $c ld c, a call Func_24272 @@ -40236,151 +40236,151 @@ Func_242bb: ; 0x242bb .asm_24307 ld b, $0 ld c, a - ld hl, $d721 + ld hl, wd721 add hl, bc ld a, $3 ld [hl], a - ld hl, $d71e + ld hl, wd71e add hl, bc ld a, $0 ld [hl], a ret Func_24319: ; 0x2438f - ld a, [$d6f4] + ld a, [wd6f4] cp $0 jr z, .asm_24333 - ld a, [$d71a] + ld a, [wd71a] sub $4 ld b, a - ld a, [$d727] + ld a, [wd727] add $4 ld c, a call Func_24405 ld a, $0 jr c, .asm_24373 .asm_24333 - ld a, [$d6f4] + ld a, [wd6f4] cp $1 jr z, .asm_2434d - ld a, [$d71b] + ld a, [wd71b] sub $4 ld b, a - ld a, [$d728] + ld a, [wd728] add $4 ld c, a call Func_24405 ld a, $1 jr c, .asm_24373 .asm_2434d - ld a, [$d6f4] + ld a, [wd6f4] cp $2 ret z - ld a, [$d71c] + ld a, [wd71c] sub $4 ld b, a - ld a, [$d729] + ld a, [wd729] add $4 ld c, a call Func_24405 ld a, $2 jr c, .asm_24373 - ld a, [$d6f4] + ld a, [wd6f4] ld b, $0 ld c, a - ld hl, $d6f8 + ld hl, wd6f8 add hl, bc ld [hl], $0 ret .asm_24373 - ld a, [$d6f4] + ld a, [wd6f4] ld b, $0 ld c, a - ld hl, $d6f8 + ld hl, wd6f8 add hl, bc inc [hl] ld d, $4 - ld a, [$d6f4] + ld a, [wd6f4] add d ld d, a ld a, [hl] cp d ret nc - ld hl, $d6f5 + ld hl, wd6f5 add hl, bc ld [hl], $0 ret Func_2438f: ; 0x2438f - ld a, [$d6f4] + ld a, [wd6f4] cp $a jr z, .asm_243a9 - ld a, [$d724] + ld a, [wd724] sub $4 ld b, a - ld a, [$d731] + ld a, [wd731] add $4 ld c, a call Func_24405 ld a, $a jr c, .asm_243e9 .asm_243a9 - ld a, [$d6f4] + ld a, [wd6f4] cp $b jr z, .asm_243c3 - ld a, [$d725] + ld a, [wd725] sub $4 ld b, a - ld a, [$d732] + ld a, [wd732] add $4 ld c, a call Func_24405 ld a, $b jr c, .asm_243e9 .asm_243c3 - ld a, [$d6f4] + ld a, [wd6f4] cp $c ret z - ld a, [$d726] + ld a, [wd726] sub $4 ld b, a - ld a, [$d733] + ld a, [wd733] add $4 ld c, a call Func_24405 ld a, $c jr c, .asm_243e9 - ld a, [$d6f4] + ld a, [wd6f4] ld b, $0 ld c, a - ld hl, $d6f8 + ld hl, wd6f8 add hl, bc ld [hl], $0 ret .asm_243e9 - ld a, [$d6f4] + ld a, [wd6f4] ld b, $0 ld c, a - ld hl, $d6f8 + ld hl, wd6f8 add hl, bc inc [hl] ld d, $4 - ld a, [$d6f4] + ld a, [wd6f4] add d ld d, a ld a, [hl] cp d ret nc - ld hl, $d6f5 + ld hl, wd6f5 add hl, bc ld [hl], $0 ret Func_24405: ; 0x24405 - ld hl, $d71a - ld a, [$d6f4] + ld hl, wd71a + ld a, [wd6f4] ld e, a ld d, $0 add hl, de @@ -40390,7 +40390,7 @@ Func_24405: ; 0x24405 cp $18 jr nc, .asm_24428 ld b, a - ld hl, $d727 + ld hl, wd727 add hl, de ld a, [hl] add $8 @@ -40407,7 +40407,7 @@ Func_24405: ; 0x24405 ret Func_2442a: ; 0x2442a - ld a, [$d710] + ld a, [wd710] jr nz, .asm_2443f ld a, [wMeowthStageBonusCounter] dec a @@ -40416,15 +40416,15 @@ Func_2442a: ; 0x2442a jr z, .asm_24447 cp $ff jr z, .asm_24447 - ld [$d79a], a + ld [wd79a], a .asm_2443f - ld de, $d79a + ld de, wd79a call Func_24f00 jr .asm_2444b .asm_24447 xor a - ld [$d79a], a + ld [wd79a], a .asm_2444b call Func_244f5 call Func_245ab @@ -40433,77 +40433,77 @@ Func_2442a: ; 0x2442a ld a, [wMeowthStageScore] cp $14 jr c, .asm_24498 - ld a, [$d712] + ld a, [wd712] cp $2 jr nc, .asm_24498 - ld a, [$d498] + ld a, [wd498] cp $4 ret z ld a, $4 - ld [$d712], a - ld [$d498], a + ld [wd712], a + ld [wd498], a ld a, $96 - ld [$d739], a + ld [wd739], a ld de, $0000 call PlaySong ld a, $1 - ld [$d49a], a + ld [wd49a], a call Func_30e8 call Func_30db - ld hl, $d5dc + ld hl, wd5dc ld de, Data_2fd0 call LoadTextHeader ld de, $4b2a call PlaySoundEffect .asm_24498 - ld a, [$d712] + ld a, [wd712] cp $4 jr nz, .asm_244b0 - ld a, [$d800] + ld a, [wd800] and a jr nz, .asm_244b0 ld de, $0004 call PlaySong ld a, $5 - ld [$d712], a + ld [wd712], a .asm_244b0 - ld a, [$d712] + ld a, [wd712] cp $4 jr z, .asm_244c1 ld [$ff8a], a callba Func_107f8 .asm_244c1 - ld a, [$d57e] + ld a, [wd57e] and a ret z xor a - ld [$d57e], a + ld [wd57e], a ld a, $1 - ld [$d7be], a + ld [wd7be], a call Func_2862 ld [$ff8a], a callba Func_86d2 ld a, $1 - ld [$d713], a + ld [wd713], a ld a, $1 - ld [$d712], a + ld [wd712], a ld hl, $4704 ld de, wMeowthAnimationFrameCounter call CopyHLToDE ld a, $4 - ld [$d6ec], a + ld [wd6ec], a ret Func_244f5: ; 0x244f5 - ld a, [$d6e6] + ld a, [wd6e6] and a ret nz - ld a, [$d4b4] + ld a, [wd4b4] cp $8a ret nc ld a, $1 ld [wStageCollisionState], a - ld [$d6e6], a + ld [wd6e6], a ld [$ff8a], a callba LoadStageCollisionAttributes call Func_24516 @@ -40531,13 +40531,13 @@ Func_24516: ; 0x24516 dr $24533, $245ab Func_245ab: ; 0x245ab - ld a, [$d6e7] + ld a, [wd6e7] and a jr z, .asm_24621 cp $2 jr z, .asm_24621 ld a, $1 - ld [$d6f3], a + ld [wd6f3], a ld a, [wMeowthYPosition] cp $20 jr z, .asm_245c7 @@ -40553,12 +40553,12 @@ Func_245ab: ; 0x245ab call Func_24c28 .asm_245cf xor a - ld [$d6e7], a - ld [$d6f3], a + ld [wd6e7], a + ld [wd6f3], a ld a, $ff - ld [$d803], a + ld [wd803], a ld a, $3 - ld [$d804], a + ld [wd804], a ld de, $0033 call PlaySoundEffect ld bc, OneBillionPoints @@ -40566,7 +40566,7 @@ Func_245ab: ; 0x245ab callba AddBCDScore xor a ld [wMeowthStageBonusCounter], a - ld a, [$d6ec] + ld a, [wd6ec] cp $2 jr nc, .asm_24621 and a @@ -40575,7 +40575,7 @@ Func_245ab: ; 0x245ab ld de, wMeowthAnimationFrameCounter call CopyHLToDE ld a, $2 - ld [$d6ec], a + ld [wd6ec], a jr .asm_24651 .asm_24611 @@ -40583,41 +40583,41 @@ Func_245ab: ; 0x245ab ld de, wMeowthAnimationFrameCounter call CopyHLToDE ld a, $3 - ld [$d6ec], a + ld [wd6ec], a jr .asm_24651 .asm_24621 - ld a, [$d713] + ld a, [wd713] and a jr z, .asm_2462e ld a, $4 - ld [$d6ec], a + ld [wd6ec], a jr .asm_24651 .asm_2462e - ld a, [$d6ec] + ld a, [wd6ec] cp $2 jr nc, .asm_24651 - ld a, [$d70b] + ld a, [wd70b] cp $3 jr nz, .asm_24651 - ld a, [$d70c] + ld a, [wd70c] cp $3 jr nz, .asm_24651 ld hl, $4704 ld de, wMeowthAnimationFrameCounter call CopyHLToDE ld a, $4 - ld [$d6ec], a + ld [wd6ec], a .asm_24651 - ld a, [$d6ec] + ld a, [wd6ec] cp $2 call c, Func_24709 call Func_2465d ret Func_2465d: ; 0x2465d - ld a, [$d6ec] + ld a, [wd6ec] sla a ld c, a ld b, $0 @@ -40629,7 +40629,7 @@ Func_2465d: ; 0x2465d ld de, wMeowthAnimationFrameCounter call UpdateAnimation ret nc - ld a, [$d6ec] + ld a, [wd6ec] and a jr nz, .asm_24689 ld a, [wMeowthAnimationFrameIndex] @@ -40661,7 +40661,7 @@ Func_2465d: ; 0x2465d ld de, wMeowthAnimationFrameCounter call CopyHLToDE xor a - ld [$d6ec], a + ld [wd6ec], a ret .asm_246b5 @@ -40674,7 +40674,7 @@ Func_2465d: ; 0x2465d ld de, wMeowthAnimationFrameCounter call CopyHLToDE ld a, $1 - ld [$d6ec], a + ld [wd6ec], a ret .asm_246ce @@ -40747,7 +40747,7 @@ Func_24737: ; 0x24737 jr z, .asm_24764 xor a .asm_24764 - ld [$d6ec], a + ld [wd6ec], a ld a, $2 ld [wMeowthAnimationFrameCounter], a ret @@ -40761,11 +40761,11 @@ Func_2476d: ; 0x2476d ld a, [wMeowthYPosition] cp $10 jr nz, .asm_2478d - ld a, [$d6e7] + ld a, [wd6e7] cp $2 jr nz, .asm_2478a ld a, $1 - ld [$d6e7], a + ld [wd6e7], a .asm_2478a xor a jr .asm_247c9 @@ -40778,11 +40778,11 @@ Func_2476d: ; 0x2476d ld a, [wMeowthYPosition] cp $20 jr nz, .asm_247a7 - ld a, [$d6e7] + ld a, [wd6e7] cp $2 jr nz, .asm_247a4 ld a, $1 - ld [$d6e7], a + ld [wd6e7], a .asm_247a4 xor a jr .asm_247c9 @@ -40792,10 +40792,10 @@ Func_2476d: ; 0x2476d jr .asm_247c9 .asm_247ab - ld a, [$d70b] + ld a, [wd70b] cp $3 jr z, .asm_247cd - ld a, [$d70c] + ld a, [wd70c] cp $3 jr z, .asm_247d3 ld a, [$ffb3] @@ -40821,194 +40821,194 @@ Func_2476d: ; 0x2476d ret Func_247d9: ; 0x247d9 - ld a, [$d6f3] + ld a, [wd6f3] and a ret z - ld a, [$d71a] + ld a, [wd71a] cp $c8 jr nz, .asm_24823 ld a, [wMeowthXPosition] add $8 - ld [$d71a], a + ld [wd71a], a ld a, [wMeowthYPosition] add $fb - ld [$d727], a + ld [wd727], a ld a, $1 - ld [$d717], a + ld [wd717], a xor a - ld [$d6f3], a - ld [$d714], a - ld [$d6f5], a - ld [$d6f8], a - ld [$d6fb], a + ld [wd6f3], a + ld [wd714], a + ld [wd6f5], a + ld [wd6f8], a + ld [wd6fb], a ld a, [wMeowthXPosition] add $14 ld b, a - ld a, [$d4b4] + ld a, [wd4b4] cp b jr nc, .asm_2481d ld a, $0 - ld [$d72a], a + ld [wd72a], a jr .asm_24822 .asm_2481d ld a, $1 - ld [$d72a], a + ld [wd72a], a .asm_24822 ret .asm_24823 - ld a, [$d71b] + ld a, [wd71b] cp $c8 jr nz, .asm_24868 ld a, [wMeowthXPosition] add $8 - ld [$d71b], a + ld [wd71b], a ld a, [wMeowthYPosition] add $fb - ld [$d728], a + ld [wd728], a ld a, $1 - ld [$d718], a + ld [wd718], a xor a - ld [$d6f3], a - ld [$d715], a - ld [$d6f6], a - ld [$d6f9], a - ld [$d6fc], a + ld [wd6f3], a + ld [wd715], a + ld [wd6f6], a + ld [wd6f9], a + ld [wd6fc], a ld a, [wMeowthXPosition] add $14 ld b, a - ld a, [$d4b4] + ld a, [wd4b4] cp b jr nc, .asm_24862 ld a, $0 - ld [$d72b], a + ld [wd72b], a jr .asm_24867 .asm_24862 ld a, $1 - ld [$d72b], a + ld [wd72b], a .asm_24867 ret .asm_24868 - ld a, [$d71c] + ld a, [wd71c] cp $c8 ret nz ld a, [wMeowthXPosition] add $8 - ld [$d71c], a + ld [wd71c], a ld a, [wMeowthYPosition] add $fb - ld [$d729], a + ld [wd729], a ld a, $1 - ld [$d719], a + ld [wd719], a xor a - ld [$d6f3], a - ld [$d716], a - ld [$d6f7], a - ld [$d6fa], a - ld [$d6fd], a + ld [wd6f3], a + ld [wd716], a + ld [wd6f7], a + ld [wd6fa], a + ld [wd6fd], a ld a, [wMeowthXPosition] add $14 ld b, a - ld a, [$d4b4] + ld a, [wd4b4] cp b jr nc, .asm_248a6 ld a, $0 - ld [$d72c], a + ld [wd72c], a jr .asm_248ab .asm_248a6 ld a, $1 - ld [$d72c], a + ld [wd72c], a .asm_248ab ret Func_248ac: ; 0x248ac - ld a, [$d717] + ld a, [wd717] cp $1 jr nz, .asm_248d3 - ld a, [$d714] + ld a, [wd714] cp $a jr z, .asm_248c4 ld a, $0 - ld [$d6f4], a + ld [wd6f4], a call Func_24a30 jr .asm_248d3 .asm_248c4 - ld hl, $d70b + ld hl, wd70b inc [hl] ld a, $2 - ld [$d717], a + ld [wd717], a ld de, $0034 call PlaySoundEffect .asm_248d3 - ld a, [$d718] + ld a, [wd718] cp $1 jr nz, .asm_248fa - ld a, [$d715] + ld a, [wd715] cp $a jr z, .asm_248eb ld a, $1 - ld [$d6f4], a + ld [wd6f4], a call Func_24a30 jr .asm_248fa .asm_248eb - ld hl, $d70b + ld hl, wd70b inc [hl] ld a, $2 - ld [$d718], a + ld [wd718], a ld de, $0034 call PlaySoundEffect .asm_248fa - ld a, [$d719] + ld a, [wd719] cp $1 jr nz, .asm_24921 - ld a, [$d716] + ld a, [wd716] cp $a jr z, .asm_24912 ld a, $2 - ld [$d6f4], a + ld [wd6f4], a call Func_24a30 jr .asm_24921 .asm_24912 - ld hl, $d70b + ld hl, wd70b inc [hl] ld a, $2 - ld [$d719], a + ld [wd719], a ld de, $0034 call PlaySoundEffect .asm_24921 - ld a, [$d717] + ld a, [wd717] cp $2 jr nz, .asm_2492c - ld hl, $d714 + ld hl, wd714 inc [hl] .asm_2492c - ld a, [$d718] + ld a, [wd718] cp $2 jr nz, .asm_24937 - ld hl, $d715 + ld hl, wd715 inc [hl] .asm_24937 - ld a, [$d719] + ld a, [wd719] cp $2 jr nz, .asm_24942 - ld hl, $d716 + ld hl, wd716 inc [hl] .asm_24942 - ld a, [$d717] + ld a, [wd717] cp $3 jr nz, .asm_24968 - ld a, [$d71a] + ld a, [wd71a] ld b, a - ld a, [$d727] + ld a, [wd727] ld c, a - ld hl, $d714 + ld hl, wd714 inc [hl] ld a, [hl] cp $2 @@ -41020,16 +41020,16 @@ Func_248ac: ; 0x248ac cp $a jr nz, .asm_24968 ld a, $4 - ld [$d717], a + ld [wd717], a .asm_24968 - ld a, [$d718] + ld a, [wd718] cp $3 jr nz, .asm_2498e - ld a, [$d71b] + ld a, [wd71b] ld b, a - ld a, [$d728] + ld a, [wd728] ld c, a - ld hl, $d715 + ld hl, wd715 inc [hl] ld a, [hl] cp $2 @@ -41041,16 +41041,16 @@ Func_248ac: ; 0x248ac cp $a jr nz, .asm_2498e ld a, $4 - ld [$d718], a + ld [wd718], a .asm_2498e - ld a, [$d719] + ld a, [wd719] cp $3 jr nz, .asm_249b4 - ld a, [$d71c] + ld a, [wd71c] ld b, a - ld a, [$d729] + ld a, [wd729] ld c, a - ld hl, $d716 + ld hl, wd716 inc [hl] ld a, [hl] cp $2 @@ -41062,51 +41062,51 @@ Func_248ac: ; 0x248ac cp $a jr nz, .asm_249b4 ld a, $4 - ld [$d719], a + ld [wd719], a .asm_249b4 - ld a, [$d717] + ld a, [wd717] cp $4 jr nz, .asm_249d0 ld a, $c8 - ld [$d71a], a - ld [$d727], a + ld [wd71a], a + ld [wd727], a xor a - ld [$d717], a - ld hl, $d70b + ld [wd717], a + ld hl, wd70b dec [hl] ld a, [hl] cp $2 jr z, .asm_24a06 .asm_249d0 - ld a, [$d718] + ld a, [wd718] cp $4 jr nz, .asm_249ec ld a, $c8 - ld [$d71b], a - ld [$d728], a + ld [wd71b], a + ld [wd728], a xor a - ld [$d718], a - ld hl, $d70b + ld [wd718], a + ld hl, wd70b dec [hl] ld a, [hl] cp $2 jr z, .asm_24a06 .asm_249ec - ld a, [$d719] + ld a, [wd719] cp $4 ret nz ld a, $c8 - ld [$d71c], a - ld [$d729], a + ld [wd71c], a + ld [wd729], a xor a - ld [$d719], a - ld hl, $d70b + ld [wd719], a + ld hl, wd70b dec [hl] ld a, [hl] cp $2 ret nz .asm_24a06 - ld a, [$d713] + ld a, [wd713] and a ret nz ld a, [wMeowthXMovement] @@ -41116,7 +41116,7 @@ Func_248ac: ; 0x248ac ld de, wMeowthAnimationFrameCounter call CopyHLToDE ld a, $1 - ld [$d6ec], a + ld [wd6ec], a ret .asm_24a21 @@ -41124,14 +41124,14 @@ Func_248ac: ; 0x248ac ld de, wMeowthAnimationFrameCounter call CopyHLToDE ld a, $0 - ld [$d6ec], a + ld [wd6ec], a ret Func_24a30: ; 0x24a30 - ld a, [$d6f4] + ld a, [wd6f4] ld c, a ld b, $0 - ld hl, $d6f8 + ld hl, wd6f8 add hl, bc ld a, [hl] and a @@ -41140,10 +41140,10 @@ Func_24a30: ; 0x24a30 ret .asm_24a42 - ld a, [$d6f4] + ld a, [wd6f4] ld c, a ld b, $0 - ld hl, $d6f5 + ld hl, wd6f5 add hl, bc ld a, [hl] bit 2, a @@ -41152,31 +41152,31 @@ Func_24a30: ; 0x24a30 jr nz, .asm_24a5e bit 0, a jr nz, .asm_24a5e - ld hl, $d714 + ld hl, wd714 add hl, bc inc [hl] .asm_24a5e - ld hl, $d6f5 + ld hl, wd6f5 add hl, bc ld a, [hl] ld hl, $4af1 ld e, a ld d, $0 add hl, de - ld hl, $d72a + ld hl, wd72a add hl, bc ld a, [hl] and a jr nz, .asm_24a97 .asm_24a72 - ld hl, $d72a + ld hl, wd72a add hl, bc ld [hl], $0 - ld hl, $d71a + ld hl, wd71a add hl, bc ld a, [hl] push af - ld hl, $d6f5 + ld hl, wd6f5 add hl, bc ld a, [hl] ld e, a @@ -41187,16 +41187,16 @@ Func_24a30: ; 0x24a30 add [hl] cp $8e jr nc, .asm_24a97 - ld hl, $d71a + ld hl, wd71a add hl, bc ld [hl], a jr .asm_24abf .asm_24a97 - ld hl, $d72a + ld hl, wd72a add hl, bc ld [hl], $1 - ld hl, $d6f5 + ld hl, wd6f5 add hl, bc ld a, [hl] ld e, a @@ -41209,17 +41209,17 @@ Func_24a30: ; 0x24a30 sub d inc a ld d, a - ld hl, $d71a + ld hl, wd71a add hl, bc ld a, [hl] add d cp $5 jr c, .asm_24a72 - ld hl, $d71a + ld hl, wd71a add hl, bc ld [hl], a .asm_24abf - ld hl, $d6f5 + ld hl, wd6f5 add hl, bc ld a, [hl] ld e, a @@ -41229,14 +41229,14 @@ Func_24a30: ; 0x24a30 inc hl ld a, [hl] ld d, a - ld hl, $d727 + ld hl, wd727 add hl, bc ld a, [hl] add d - ld hl, $d727 + ld hl, wd727 add hl, bc ld [hl], a - ld hl, $d6f5 + ld hl, wd6f5 add hl, bc inc [hl] inc [hl] @@ -41257,35 +41257,35 @@ Func_24a30: ; 0x24a30 dr $24af1, $24b41 Func_24b41: ; 0x24b41 - ld a, [$d6f4] + ld a, [wd6f4] ld b, $0 ld c, a - ld hl, $d6f5 + ld hl, wd6f5 add hl, bc ld a, [hl] cp $14 jp nc, Func_24bf6 - ld hl, $d6f5 + ld hl, wd6f5 add hl, bc ld a, [hl] ld hl, $4c0a ld e, a ld d, $0 add hl, de - ld hl, $d72a + ld hl, wd72a add hl, bc ld a, [hl] and a jr nz, .asm_24b8a .asm_24b65 - ld hl, $d72a + ld hl, wd72a add hl, bc ld [hl], $0 - ld hl, $d71a + ld hl, wd71a add hl, bc ld a, [hl] push af - ld hl, $d6f5 + ld hl, wd6f5 add hl, bc ld a, [hl] ld e, a @@ -41296,16 +41296,16 @@ Func_24b41: ; 0x24b41 add [hl] cp $90 jr nc, .asm_24b8a - ld hl, $d71a + ld hl, wd71a add hl, bc ld [hl], a jr .asm_24bb2 .asm_24b8a - ld hl, $d72a + ld hl, wd72a add hl, bc ld [hl], $1 - ld hl, $d6f5 + ld hl, wd6f5 add hl, bc ld a, [hl] ld e, a @@ -41318,17 +41318,17 @@ Func_24b41: ; 0x24b41 sub d inc a ld d, a - ld hl, $d71a + ld hl, wd71a add hl, bc ld a, [hl] add d cp $6 jr c, .asm_24b65 - ld hl, $d71a + ld hl, wd71a add hl, bc ld [hl], a .asm_24bb2 - ld hl, $d6f5 + ld hl, wd6f5 add hl, bc ld a, [hl] ld e, a @@ -41338,14 +41338,14 @@ Func_24b41: ; 0x24b41 inc hl ld a, [hl] ld d, a - ld hl, $d727 + ld hl, wd727 add hl, bc ld a, [hl] add d - ld hl, $d727 + ld hl, wd727 add hl, bc ld [hl], a - ld hl, $d6f5 + ld hl, wd6f5 add hl, bc inc [hl] inc [hl] @@ -41361,10 +41361,10 @@ Func_24b41: ; 0x24b41 .asm_24be1 call Func_24319 .asm_24be4 - ld a, [$d6f4] + ld a, [wd6f4] ld b, $0 ld c, a - ld hl, $d6f8 + ld hl, wd6f8 add hl, bc ld a, [hl] and a @@ -41375,13 +41375,13 @@ Func_24b41: ; 0x24b41 ret Func_24bf6: ; 0x24bf6 - ld a, [$d6f4] + ld a, [wd6f4] ld b, $0 ld c, a - ld hl, $d6f8 + ld hl, wd6f8 add hl, bc ld [hl], $0 - ld hl, $d714 + ld hl, wd714 add hl, bc ld [hl], $a ccf @@ -41390,194 +41390,194 @@ Func_24bf6: ; 0x24bf6 dr $24c0a, $24c28 Func_24c28: ; 0x24c28 - ld a, [$d6f3] + ld a, [wd6f3] and a ret z - ld a, [$d724] + ld a, [wd724] cp $c8 jr nz, .asm_24c76 ld a, [wMeowthXPosition] add $8 - ld [$d724], a + ld [wd724], a ld a, [wMeowthYPosition] add $fb - ld [$d731], a + ld [wd731], a ld a, $1 - ld [$d721], a - ld hl, $d70c + ld [wd721], a + ld hl, wd70c inc [hl] xor a - ld [$d6f3], a - ld [$d71e], a - ld [$d6ff], a - ld [$d702], a - ld [$d705], a + ld [wd6f3], a + ld [wd71e], a + ld [wd6ff], a + ld [wd702], a + ld [wd705], a ld a, [wMeowthXPosition] add $14 ld b, a - ld a, [$d4b4] + ld a, [wd4b4] cp b jr nc, .asm_24c70 ld a, $0 - ld [$d734], a + ld [wd734], a jr .asm_24c75 .asm_24c70 ld a, $1 - ld [$d734], a + ld [wd734], a .asm_24c75 ret .asm_24c76 - ld a, [$d725] + ld a, [wd725] cp $c8 jr nz, .asm_24cbf ld a, [wMeowthXPosition] add $8 - ld [$d725], a + ld [wd725], a ld a, [wMeowthYPosition] add $fb - ld [$d732], a + ld [wd732], a ld a, $1 - ld [$d722], a - ld hl, $d70c + ld [wd722], a + ld hl, wd70c inc [hl] xor a - ld [$d6f3], a - ld [$d71f], a - ld [$d700], a - ld [$d703], a - ld [$d706], a - ld a, [$d6f7] + ld [wd6f3], a + ld [wd71f], a + ld [wd700], a + ld [wd703], a + ld [wd706], a + ld a, [wd6f7] add $14 ld b, a - ld a, [$d4b4] + ld a, [wd4b4] cp b jr nc, .asm_24cb9 ld a, $0 - ld [$d735], a + ld [wd735], a jr .asm_24cbe .asm_24cb9 ld a, $1 - ld [$d735], a + ld [wd735], a .asm_24cbe ret .asm_24cbf - ld a, [$d726] + ld a, [wd726] cp $c8 ret nz ld a, [wMeowthXPosition] add $8 - ld [$d726], a + ld [wd726], a ld a, [wMeowthYPosition] add $fb - ld [$d733], a + ld [wd733], a ld a, $1 - ld [$d723], a - ld hl, $d70c + ld [wd723], a + ld hl, wd70c inc [hl] xor a - ld [$d6f3], a - ld [$d720], a - ld [$d701], a - ld [$d704], a - ld [$d707], a + ld [wd6f3], a + ld [wd720], a + ld [wd701], a + ld [wd704], a + ld [wd707], a ld a, [wMeowthXPosition] add $14 ld b, a - ld a, [$d4b4] + ld a, [wd4b4] cp b jr nc, .asm_24d01 ld a, $0 - ld [$d736], a + ld [wd736], a jr .asm_24d06 .asm_24d01 ld a, $1 - ld [$d736], a + ld [wd736], a .asm_24d06 ret Func_24d07: ; 0x24d07 - ld a, [$d721] + ld a, [wd721] cp $1 jr nz, .asm_24d2a - ld a, [$d71e] + ld a, [wd71e] cp $a jr z, .asm_24d1f ld a, $a - ld [$d6f4], a + ld [wd6f4], a call Func_24a30 jr .asm_24d2a .asm_24d1f ld a, $2 - ld [$d721], a + ld [wd721], a ld de, $0034 call PlaySoundEffect .asm_24d2a - ld a, [$d722] + ld a, [wd722] cp $1 jr nz, .asm_24d4d - ld a, [$d71f] + ld a, [wd71f] cp $a jr z, .asm_24d42 ld a, $b - ld [$d6f4], a + ld [wd6f4], a call Func_24a30 jr .asm_24d4d .asm_24d42 ld a, $2 - ld [$d722], a + ld [wd722], a ld de, $0034 call PlaySoundEffect .asm_24d4d - ld a, [$d723] + ld a, [wd723] cp $1 jr nz, .asm_24d70 - ld a, [$d720] + ld a, [wd720] cp $a jr z, .asm_24d65 ld a, $c - ld [$d6f4], a + ld [wd6f4], a call Func_24a30 jr .asm_24d70 .asm_24d65 ld a, $2 - ld [$d723], a + ld [wd723], a ld de, $0034 call PlaySoundEffect .asm_24d70 - ld a, [$d721] + ld a, [wd721] cp $2 jr nz, .asm_24d7b - ld hl, $d71e + ld hl, wd71e inc [hl] .asm_24d7b - ld a, [$d722] + ld a, [wd722] cp $2 jr nz, .asm_24d86 - ld hl, $d71f + ld hl, wd71f inc [hl] .asm_24d86 - ld a, [$d723] + ld a, [wd723] cp $2 jr nz, .asm_24d91 - ld hl, $d720 + ld hl, wd720 inc [hl] .asm_24d91 - ld a, [$d721] + ld a, [wd721] cp $3 jr nz, .asm_24db7 - ld a, [$d724] + ld a, [wd724] ld b, a - ld a, [$d731] + ld a, [wd731] ld c, a - ld hl, $d71e + ld hl, wd71e inc [hl] ld a, [hl] cp $2 @@ -41589,16 +41589,16 @@ Func_24d07: ; 0x24d07 cp $a jr nz, .asm_24db7 ld a, $4 - ld [$d721], a + ld [wd721], a .asm_24db7 - ld a, [$d722] + ld a, [wd722] cp $3 jr nz, .asm_24ddd - ld a, [$d725] + ld a, [wd725] ld b, a - ld a, [$d732] + ld a, [wd732] ld c, a - ld hl, $d71f + ld hl, wd71f inc [hl] ld a, [hl] cp $2 @@ -41610,16 +41610,16 @@ Func_24d07: ; 0x24d07 cp $a jr nz, .asm_24ddd ld a, $4 - ld [$d722], a + ld [wd722], a .asm_24ddd - ld a, [$d723] + ld a, [wd723] cp $3 jr nz, .asm_24e03 - ld a, [$d726] + ld a, [wd726] ld b, a - ld a, [$d733] + ld a, [wd733] ld c, a - ld hl, $d720 + ld hl, wd720 inc [hl] ld a, [hl] cp $2 @@ -41631,51 +41631,51 @@ Func_24d07: ; 0x24d07 cp $a jr nz, .asm_24e03 ld a, $4 - ld [$d723], a + ld [wd723], a .asm_24e03 - ld a, [$d721] + ld a, [wd721] cp $4 jr nz, .asm_24e1f ld a, $c8 - ld [$d724], a - ld [$d731], a + ld [wd724], a + ld [wd731], a xor a - ld [$d721], a - ld hl, $d70c + ld [wd721], a + ld hl, wd70c dec [hl] ld a, [hl] cp $2 jr z, .asm_24e55 .asm_24e1f - ld a, [$d722] + ld a, [wd722] cp $4 jr nz, .asm_24e3b ld a, $c8 - ld [$d725], a - ld [$d732], a + ld [wd725], a + ld [wd732], a xor a - ld [$d722], a - ld hl, $d70c + ld [wd722], a + ld hl, wd70c dec [hl] ld a, [hl] cp $2 jr z, .asm_24e55 .asm_24e3b - ld a, [$d723] + ld a, [wd723] cp $4 ret nz ld a, $c8 - ld [$d726], a - ld [$d733], a + ld [wd726], a + ld [wd733], a xor a - ld [$d723], a - ld hl, $d70c + ld [wd723], a + ld hl, wd70c dec [hl] ld a, [hl] cp $2 ret nz .asm_24e55 - ld a, [$d713] + ld a, [wd713] and a ret nz ld a, [wMeowthXMovement] @@ -41685,7 +41685,7 @@ Func_24d07: ; 0x24d07 ld de, wMeowthAnimationFrameCounter call CopyHLToDE ld a, $1 - ld [$d6ec], a + ld [wd6ec], a ret .asm_24e70 @@ -41693,14 +41693,14 @@ Func_24d07: ; 0x24d07 ld de, wMeowthAnimationFrameCounter call CopyHLToDE ld a, $0 - ld [$d6ec], a + ld [wd6ec], a ret Func_24e7f: ; 0x24e7f ld a, b - ld [$d79c], a + ld [wd79c], a ld a, c - ld [$d79e], a + ld [wd79e], a ld hl, wMeowthStageBonusCounter inc [hl] ld a, [hl] @@ -41710,9 +41710,9 @@ Func_24e7f: ; 0x24e7f ld [hl], a .asm_24e92 ld a, $ff - ld [$d803], a + ld [wd803], a ld a, $3 - ld [$d804], a + ld [wd804], a ld de, $0032 call PlaySoundEffect ld a, [wMeowthStageBonusCounter] @@ -41738,24 +41738,24 @@ Func_24e7f: ; 0x24e7f jr z, .asm_24ed7 cp $ff jr z, .asm_24ed7 - ld [$d79a], a - ld de, $d79a + ld [wd79a], a + ld de, wd79a call Func_24ee7 jr .asm_24ede .asm_24ed7 xor a - ld [$d79a], a - ld [$d795], a + ld [wd79a], a + ld [wd795], a .asm_24ede ld a, $1 - ld [$d64e], a + ld [wd64e], a call Func_24fa3 ret Func_24ee7: ; 0x24ee7 ld a, $ff - ld [$d795], a + ld [wd795], a ld a, [de] sla a ld c, a @@ -41788,7 +41788,7 @@ Func_24f00: ; 0x24f00 call UpdateAnimation pop de ld a, $1 - ld [$d710], a + ld [wd710], a ret nc dec de ld a, [de] @@ -41796,11 +41796,11 @@ Func_24f00: ; 0x24f00 ret nz xor a ld [de], a - ld [$d79c], a - ld [$d79e], a - ld [$d795], a + ld [wd79c], a + ld [wd79e], a + ld [wd795], a xor a - ld [$d710], a + ld [wd710], a ret dr $24f30, $24fa3 @@ -41826,7 +41826,7 @@ Func_24fa3: ; 0x24fa3 jr z, .asm_24fbb sub $8 .asm_24fbb - ld [$d652], a + ld [wd652], a ld a, [wMeowthStageBonusCounter] and a jr z, .asm_24fca @@ -41835,9 +41835,9 @@ Func_24fa3: ; 0x24fa3 inc a sub b .asm_24fca - ld [$d651], a + ld [wd651], a ld a, $0 - ld [$d64e], a + ld [wd64e], a ld a, [wMeowthStageScore] and a ret z @@ -41850,9 +41850,9 @@ Func_24fa3: ; 0x24fa3 .asm_24fe2 push af xor a - ld [$d650], a + ld [wd650], a ld a, $1 - ld [$d64e], a + ld [wd64e], a pop af .asm_24fed sla a @@ -41910,33 +41910,33 @@ Func_2586c: ; 0x2586c dr $2588b, $25895 Func_25895: ; 0x25895 - ld a, [$d714] + ld a, [wd714] cp $b jr nz, .asm_258a0 xor a - ld [$d714], a + ld [wd714], a .asm_258a0 - ld a, [$d715] + ld a, [wd715] cp $b jr nz, .asm_258ab xor a - ld [$d715], a + ld [wd715], a .asm_258ab - ld a, [$d716] + ld a, [wd716] cp $b jr nz, .asm_258b6 xor a - ld [$d716], a + ld [wd716], a .asm_258b6 - ld a, [$d71a] + ld a, [wd71a] ld hl, hBoardXShift sub [hl] ld b, a - ld a, [$d727] + ld a, [wd727] ld hl, hBoardYShift sub [hl] ld c, a - ld a, [$d717] + ld a, [wd717] sla a ld e, a ld d, $0 @@ -41945,21 +41945,21 @@ Func_25895: ; 0x25895 ld a, [hli] ld h, [hl] ld l, a - ld a, [$d714] + ld a, [wd714] ld e, a ld d, $0 add hl, de ld a, [hl] call LoadOAMData2 - ld a, [$d71b] + ld a, [wd71b] ld hl, hBoardXShift sub [hl] ld b, a - ld a, [$d728] + ld a, [wd728] ld hl, hBoardYShift sub [hl] ld c, a - ld a, [$d718] + ld a, [wd718] sla a ld e, a ld d, $0 @@ -41968,21 +41968,21 @@ Func_25895: ; 0x25895 ld a, [hli] ld h, [hl] ld l, a - ld a, [$d715] + ld a, [wd715] ld e, a ld d, $0 add hl, de ld a, [hl] call LoadOAMData2 - ld a, [$d71c] + ld a, [wd71c] ld hl, hBoardXShift sub [hl] ld b, a - ld a, [$d729] + ld a, [wd729] ld hl, hBoardYShift sub [hl] ld c, a - ld a, [$d719] + ld a, [wd719] sla a ld e, a ld d, $0 @@ -41991,7 +41991,7 @@ Func_25895: ; 0x25895 ld a, [hli] ld h, [hl] ld l, a - ld a, [$d716] + ld a, [wd716] ld e, a ld d, $0 add hl, de @@ -42002,33 +42002,33 @@ Func_25895: ; 0x25895 dr $25935, $2595e Func_2595e: ; 0x2595e - ld a, [$d71e] + ld a, [wd71e] cp $b jr nz, .asm_25969 xor a - ld [$d71e], a + ld [wd71e], a .asm_25969 - ld a, [$d71f] + ld a, [wd71f] cp $b jr nz, .asm_25974 xor a - ld [$d71f], a + ld [wd71f], a .asm_25974 - ld a, [$d720] + ld a, [wd720] cp $b jr nz, .asm_2597f xor a - ld [$d720], a + ld [wd720], a .asm_2597f - ld a, [$d724] + ld a, [wd724] ld hl, hBoardXShift sub [hl] ld b, a - ld a, [$d731] + ld a, [wd731] ld hl, hBoardYShift sub [hl] ld c, a - ld a, [$d721] + ld a, [wd721] sla a ld e, a ld d, $0 @@ -42037,21 +42037,21 @@ Func_2595e: ; 0x2595e ld a, [hli] ld h, [hl] ld l, a - ld a, [$d71e] + ld a, [wd71e] ld e, a ld d, $0 add hl, de ld a, [hl] call LoadOAMData2 - ld a, [$d725] + ld a, [wd725] ld hl, hBoardXShift sub [hl] ld b, a - ld a, [$d732] + ld a, [wd732] ld hl, hBoardYShift sub [hl] ld c, a - ld a, [$d722] + ld a, [wd722] sla a ld e, a ld d, $0 @@ -42060,21 +42060,21 @@ Func_2595e: ; 0x2595e ld a, [hli] ld h, [hl] ld l, a - ld a, [$d71f] + ld a, [wd71f] ld e, a ld d, $0 add hl, de ld a, [hl] call LoadOAMData2 - ld a, [$d726] + ld a, [wd726] ld hl, hBoardXShift sub [hl] ld b, a - ld a, [$d733] + ld a, [wd733] ld hl, hBoardYShift sub [hl] ld c, a - ld a, [$d723] + ld a, [wd723] sla a ld e, a ld d, $0 @@ -42083,7 +42083,7 @@ Func_2595e: ; 0x2595e ld a, [hli] ld h, [hl] ld l, a - ld a, [$d720] + ld a, [wd720] ld e, a ld d, $0 add hl, de @@ -42092,10 +42092,10 @@ Func_2595e: ; 0x2595e ret Func_259fe: ; 0x259fe - ld a, [$d795] + ld a, [wd795] and a ret z - ld de, $d79c + ld de, wd79c ld a, [de] ld hl, hBoardXShift sub [hl] @@ -42125,10 +42125,10 @@ Func_259fe: ; 0x259fe dr $25a29, $25a39 Func_25a39: ; 0x25a39 - ld a, [$d64e] + ld a, [wd64e] and a ret z - ld a, [$d652] + ld a, [wd652] ld hl, hBoardXShift sub [hl] ld b, a @@ -42136,7 +42136,7 @@ Func_25a39: ; 0x25a39 ld hl, hBoardYShift sub [hl] ld c, a - ld a, [$d64f] + ld a, [wd64f] cp $a jr c, .asm_25a58 ld de, $0000 @@ -42149,50 +42149,50 @@ Func_25a39: ; 0x25a39 add hl, de ld a, [hl] call LoadOAMData2 - ld hl, $d64f + ld hl, wd64f inc [hl] ld a, [hl] cp $14 ret c ld [hl], $0 - ld hl, $d650 + ld hl, wd650 inc [hl] ld a, [hl] cp $a ret nz xor a - ld [$d64e], a + ld [wd64e], a ret dr $25a7a, $25a7c InitSeelBonusStage: ; 0x25a7c - ld a, [$d7c1] + ld a, [wd7c1] and a ret nz xor a - ld [$d4c8], a + ld [wd4c8], a ld [wStageCollisionState], a ld a, $1 - ld [$d7ac], a + ld [wd7ac], a ld a, [wBallType] ld [wBallTypeBackup], a xor a - ld [$d4c8], a + ld [wd4c8], a ld [wBallType], a - ld [$d49a], a + ld [wd49a], a ld hl, $5ae5 ; todo - ld de, $d76d + ld de, wd76d call Func_25ad8 - ld de, $d777 + ld de, wd777 call Func_25ad8 - ld de, $d781 + ld de, wd781 call Func_25ad8 xor a - ld [$d793], a - ld [$d791], a - ld [$d792], a - ld [$d739], a + ld [wd793], a + ld [wd791], a + ld [wd792], a + ld [wd739], a ld bc, $0130 ; 1 minute 30 seconds ld [$ff8a], a callba StartTimer @@ -42231,58 +42231,58 @@ StartBallSeelBonusStage: ; 0x25af1 ld a, $80 ld [wBallXVelocity], a xor a - ld [$d7ab], a + ld [wd7ab], a ld [wStageCollisionState], a - ld [$d766], a + ld [wd766], a ld a, $0 - ld [$d772], a + ld [wd772], a ld a, $1 - ld [$d77c], a + ld [wd77c], a ld a, $0 - ld [$d786], a + ld [wd786], a ld a, $4 - ld [$d775], a - ld [$d77f], a - ld [$d76b], a + ld [wd775], a + ld [wd77f], a + ld [wd76b], a ld a, $1 - ld [$d76c], a + ld [wd76c], a ld a, $4 - ld [$d776], a + ld [wd776], a ld a, $1 - ld [$d780], a + ld [wd780], a ld a, $5 - ld [$d771], a - ld [$d77b], a - ld [$d785], a + ld [wd771], a + ld [wd77b], a + ld [wd785], a ld a, $ff - ld [$d79a], a - xor a - ld [$d792], a - ld [$d791], a - ld [$d64e], a - ld [$d64f], a - ld [$d650], a - ld [$d651], a - ld [$d795], a - ld [$d796], a - ld [$d797], a - ld [$d798], a - ld [$d799], a - ld [$d79a], a - ld de, $d76b - ld a, [$d76c] + ld [wd79a], a + xor a + ld [wd792], a + ld [wd791], a + ld [wd64e], a + ld [wd64f], a + ld [wd650], a + ld [wd651], a + ld [wd795], a + ld [wd796], a + ld [wd797], a + ld [wd798], a + ld [wd799], a + ld [wd79a], a + ld de, wd76b + ld a, [wd76c] call Func_26137 - ld de, $d775 - ld a, [$d776] + ld de, wd775 + ld a, [wd776] call Func_26137 - ld de, $d77f - ld a, [$d780] + ld de, wd77f + ld a, [wd780] call Func_26137 - ld a, [$d4c9] + ld a, [wd4c9] and a ret z xor a - ld [$d4c9], a + ld [wd4c9], a ret Func_25b97: ; 0x25b97 @@ -42301,36 +42301,36 @@ Func_25bbc: ; 0x25bbc ret Func_25bc0: ; 0x25bc0 - ld a, [$d76c] + ld a, [wd76c] cp $0 jr nz, .asm_25bd8 - ld a, [$d76e] + ld a, [wd76e] ld b, a - ld a, [$d770] + ld a, [wd770] add $14 ld c, a call Func_25c12 ld a, $0 jr c, .asm_25c09 .asm_25bd8 - ld a, [$d776] + ld a, [wd776] cp $0 jr nz, .asm_25bf0 - ld a, [$d778] + ld a, [wd778] ld b, a - ld a, [$d77a] + ld a, [wd77a] add $14 ld c, a call Func_25c12 ld a, $1 jr c, .asm_25c09 .asm_25bf0 - ld a, [$d780] + ld a, [wd780] cp $0 jr nz, .asm_25c08 - ld a, [$d782] + ld a, [wd782] ld b, a - ld a, [$d784] + ld a, [wd784] add $14 ld c, a call Func_25c12 @@ -42340,9 +42340,9 @@ Func_25bc0: ; 0x25bc0 ret .asm_25c09 - ld [$d768], a + ld [wd768], a ld a, $1 - ld [$d767], a + ld [wd767], a ret Func_25c12: ; 0x25c12 @@ -42378,9 +42378,9 @@ Func_25c12: ; 0x25c12 bit 7, a jr nz, .asm_25c58 sla a - ld [$d7ea], a + ld [wd7ea], a ld a, $1 - ld [$d7e9], a + ld [wd7e9], a scf ret @@ -42391,74 +42391,74 @@ Func_25c12: ; 0x25c12 Func_25c5a: ; 0x25c5a call Func_25da3 call Func_25ced - ld a, [$d793] + ld a, [wd793] cp $14 jr c, .asm_25c98 - ld a, [$d794] + ld a, [wd794] cp $2 jr nc, .asm_25c98 ld a, $1 - ld [$d498], a + ld [wd498], a ld de, $0000 call PlaySong ld a, $1 - ld [$d49a], a + ld [wd49a], a call Func_30e8 call Func_30db - ld hl, $d5dc + ld hl, wd5dc ld de, Data_2fec call LoadTextHeader ld a, $2 - ld [$d794], a + ld [wd794], a ld de, $4b2a call PlaySoundEffect .asm_25c98 - ld a, [$d794] + ld a, [wd794] cp $2 jr nz, .asm_25cb0 - ld a, [$d800] + ld a, [wd800] and a jr nz, .asm_25cb0 ld de, $0003 call PlaySong ld a, $5 - ld [$d794], a + ld [wd794], a .asm_25cb0 - ld a, [$d794] + ld a, [wd794] cp $2 jr z, .asm_25cc1 ld [$ff8a], a callba Func_107f8 .asm_25cc1 - ld a, [$d57e] + ld a, [wd57e] and a ret z xor a - ld [$d57e], a + ld [wd57e], a ld a, $1 - ld [$d7be], a + ld [wd7be], a call Func_2862 ld [$ff8a], a callba Func_86d2 ld a, $3 - ld [$d791], a - ld a, [$d794] + ld [wd791], a + ld a, [wd794] cp $5 ret z ld a, $1 - ld [$d794], a + ld [wd794], a ret Func_25ced: ; 0x25ced - ld a, [$d766] + ld a, [wd766] and a ret nz - ld a, [$d4b4] + ld a, [wd4b4] cp $8a ret nc ld a, $1 ld [wStageCollisionState], a - ld [$d766], a + ld [wd766], a ld [$ff8a], a callba LoadStageCollisionAttributes call Func_25d0e @@ -42486,12 +42486,12 @@ Func_25d0e: ; 0x25d0e dr $25d2b, $25da3 Func_25da3: ; 0x25da3 - ld a, [$d767] + ld a, [wd767] and a jp z, .asm_25e38 xor a - ld [$d767], a - ld a, [$d768] + ld [wd767], a + ld a, [wd768] sla a ld c, a sla a @@ -42499,7 +42499,7 @@ Func_25da3: ; 0x25da3 add c ld c, a ld b, $0 - ld hl, $d76c + ld hl, wd76c add hl, bc ld d, h ld e, l @@ -42512,92 +42512,92 @@ Func_25da3: ; 0x25da3 ld hl, $61d8 call CopyHLToDE pop bc - ld hl, $d76e + ld hl, wd76e add hl, bc ld a, [hl] - ld [$d79c], a - ld hl, $d770 + ld [wd79c], a + ld hl, wd770 add hl, bc ld a, [hl] add $8 - ld [$d79e], a - ld a, [$d792] + ld [wd79e], a + ld a, [wd792] cp $9 jr nz, .asm_25df1 ld a, $0 - ld [$d792], a - ld [$d79a], a + ld [wd792], a + ld [wd79a], a .asm_25df1 - ld a, [$d792] + ld a, [wd792] dec a cp $ff jr z, .asm_25e04 - ld [$d79a], a - ld de, $d79a + ld [wd79a], a + ld de, wd79a call Func_261f9 jr .asm_25e07 .asm_25e04 - ld [$d79a], a + ld [wd79a], a .asm_25e07 ld a, $33 - ld [$d803], a + ld [wd803], a ld a, $8 - ld [$d804], a + ld [wd804], a ld de, $0030 call PlaySoundEffect call Func_25e85 - ld hl, $d792 + ld hl, wd792 inc [hl] - ld a, [$d793] + ld a, [wd793] cp $14 ret nc - ld hl, $d793 + ld hl, wd793 inc [hl] - ld a, [$d792] + ld a, [wd792] dec a ld b, a ld a, [hl] add b ld [hl], a ld a, $1 - ld [$d64e], a + ld [wd64e], a call Func_262f4 .asm_25e38 - ld de, $d76c ; I think these three calls are one for each Seel swimming around + ld de, wd76c ; I think these three calls are one for each Seel swimming around call Func_25f47 - ld de, $d776 + ld de, wd776 call Func_25f47 - ld de, $d780 + ld de, wd780 call Func_25f47 - ld a, [$d792] + ld a, [wd792] dec a cp $ff jr z, .asm_25e5d - ld [$d79a], a - ld de, $d79a + ld [wd79a], a + ld de, wd79a call Func_26212 jr .asm_25e60 .asm_25e5d - ld [$d79a], a + ld [wd79a], a .asm_25e60 ld bc, $087a ; again, probably one call for each Seel swimming around - ld de, $d76d - ld hl, $d772 + ld de, wd76d + ld hl, wd772 call Func_25ec5 ld bc, $087a - ld de, $d777 - ld hl, $d77c + ld de, wd777 + ld hl, wd77c call Func_25ec5 ld bc, $087a - ld de, $d781 - ld hl, $d786 + ld de, wd781 + ld hl, wd786 call Func_25ec5 ret Func_25e85: ; 0x25e85 - ld a, [$d792] + ld a, [wd792] inc a ld d, $1 ld e, a @@ -42774,7 +42774,7 @@ Func_25f77: ; 0x25f77 jp Func_26137 .asm_25f8f - ld hl, $d792 + ld hl, wd792 ld [hl], $0 call GenRandom bit 7, a @@ -42829,7 +42829,7 @@ Func_25fbe: ; 0x25fbe jp Func_26137 .asm_25fd5 - ld a, [$d791] + ld a, [wd791] cp $0 jr z, .asm_25fe9 ld a, $2 @@ -42843,7 +42843,7 @@ Func_25fbe: ; 0x25fbe ret ; unused instruction .asm_25fe9 - ld hl, $d791 + ld hl, wd791 inc [hl] pop de ld a, $2 @@ -42861,7 +42861,7 @@ Func_25ff3: ; 0x25ff3 inc de inc de inc de - ld a, [$d792] + ld a, [wd792] cp $6 jr nc, .asm_26020 cp $2 @@ -42908,7 +42908,7 @@ Func_2602a: ; 0x2602a ld a, $5 .asm_26046 ld [de], a - ld hl, $d791 + ld hl, wd791 dec [hl] ret @@ -42933,7 +42933,7 @@ Func_2604c: ; 0x2604c jp Func_26137 .asm_26063 - ld a, [$d791] + ld a, [wd791] cp $0 jr z, .asm_26075 ld a, $2 @@ -42946,7 +42946,7 @@ Func_2604c: ; 0x2604c ret ; unused instruction .asm_26075 - ld hl, $d791 + ld hl, wd791 inc [hl] pop de ld a, $5 @@ -42964,7 +42964,7 @@ Func_2607f: ; 0x2607f inc de inc de inc de - ld a, [$d792] + ld a, [wd792] cp $6 jr nc, .asm_260ac cp $2 @@ -43011,7 +43011,7 @@ Func_260b6: ; 0x260b6 ld a, $5 .asm_260d2 ld [de], a - ld hl, $d791 + ld hl, wd791 dec [hl] ret @@ -43070,7 +43070,7 @@ Func_26109: ; 0x26109 inc de ld a, $5 ld [de], a - ld hl, $d791 + ld hl, wd791 dec [hl] ret @@ -43088,7 +43088,7 @@ Func_26120: ; 0x26120 inc de ld a, $5 ld [de], a - ld hl, $d791 + ld hl, wd791 dec [hl] ret @@ -43116,7 +43116,7 @@ Func_26137: ; 0x26137 Func_261f9: ; 0x261f9 ld a, $ff - ld [$d795], a + ld [wd795], a ld a, [de] sla a ld c, a @@ -43155,16 +43155,16 @@ Func_26212: ; 0x26212 ret nz xor a ld [de], a - ld [$d79c], a - ld [$d79e], a + ld [wd79c], a + ld [wd79e], a ld a, a - ld [$d795], a + ld [wd795], a ret dr $2623a, $262f4 Func_262f4: ; 0x262f4 - ld a, [$d793] + ld a, [wd793] ld c, a ld b, $0 .asm_262fa @@ -43184,25 +43184,25 @@ Func_262f4: ; 0x262f4 jr z, .asm_2630c sub $8 .asm_2630c - ld [$d652], a - ld a, [$d792] + ld [wd652], a + ld a, [wd792] and a jr z, .asm_2631b ld b, a - ld a, [$d793] + ld a, [wd793] inc a sub b .asm_2631b - ld [$d651], a - ld a, [$d793] + ld [wd651], a + ld a, [wd793] cp $15 jr c, .asm_2632a ld a, $14 - ld [$d793], a + ld [wd793], a .asm_2632a push af xor a - ld [$d650], a + ld [wd650], a pop af sla a ld c, a @@ -43237,11 +43237,11 @@ Func_26b7e: ; 0x26b7e ret Func_26ba9: ; 0x26ba9 - ld de, $d76e + ld de, wd76e call Func_26bbc - ld de, $d778 + ld de, wd778 call Func_26bbc - ld de, $d782 + ld de, wd782 call Func_26bbc ret @@ -43275,10 +43275,10 @@ Func_26bbc: ; 0x26bbc dr $26bdf, $26bf7 Func_26bf7: ; 0x26bf7: ; 0x26bf7 - ld a, [$d795] + ld a, [wd795] cp $0 ret z - ld de, $d79c + ld de, wd79c ld a, [de] ld hl, hBoardXShift sub [hl] @@ -43308,10 +43308,10 @@ Func_26bf7: ; 0x26bf7: ; 0x26bf7 dr $26c23, $26c3c Func_26c3c: ; 0x26c3c - ld a, [$d64e] + ld a, [wd64e] and a ret z - ld a, [$d652] + ld a, [wd652] ld hl, hBoardXShift sub [hl] ld b, a @@ -43319,7 +43319,7 @@ Func_26c3c: ; 0x26c3c ld hl, hBoardYShift sub [hl] ld c, a - ld a, [$d64f] + ld a, [wd64f] cp $a jr c, .asm_26c5b ld de, $0000 @@ -43332,19 +43332,19 @@ Func_26c3c: ; 0x26c3c add hl, de ld a, [hl] call LoadOAMData2 - ld hl, $d64f + ld hl, wd64f inc [hl] ld a, [hl] cp $14 ret c ld [hl], $0 - ld hl, $d650 + ld hl, wd650 inc [hl] ld a, [hl] cp $a ret nz xor a - ld [$d64e], a + ld [wd64e], a ret dr $26c7d, $28000 @@ -43365,11 +43365,11 @@ LoadPokedexScreen: ; 0x2800e ld a, $23 ld [$ff9e], a ld a, $e4 - ld [$d80c], a + ld [wd80c], a ld a, $93 - ld [$d80d], a + ld [wd80d], a ld a, $e4 - ld [$d80e], a + ld [wd80e], a xor a ld [hBoardXShift], a ld a, $8 @@ -43395,13 +43395,13 @@ LoadPokedexScreen: ; 0x2800e xor a ld [wCurPokedexIndex], a ld [wPokedexOffset], a - ld [$d95b], a - ld [$d95c], a - ld [$d960], a - ld [$d961], a - ld [$d95e], a + ld [wd95b], a + ld [wd95c], a + ld [wd960], a + ld [wd961], a + ld [wd95e], a ld a, $1 - ld [$d862], a + ld [wd862], a call ClearOAMBuffer call Func_285db call Func_28931 @@ -43498,7 +43498,7 @@ MainPokedexScreen: ; 0x280fe ld a, [hNewlyPressedButtons] bit BIT_A_BUTTON, a jr z, .asm_28142 - ld a, [$d95f] + ld a, [wd95f] and a jp nz, .asm_28174 ld a, [wCurPokedexIndex] @@ -43542,25 +43542,25 @@ MainPokedexScreen: ; 0x280fe ld a, [hJoypadState] bit BIT_START, a jr z, .asm_28168 - ld a, [$d960] + ld a, [wd960] and a ld a, $ff - ld [$d960], a + ld [wd960], a call z, Func_28add jr .asm_28174 .asm_28168 - ld a, [$d960] + ld a, [wd960] and a ld a, $0 - ld [$d960], a + ld [wd960], a call nz, Func_28add .asm_28174 call Func_285db ret MonInfoPokedexScreen: ; 0x28178 - ld a, [$d956] + ld a, [wd956] bit 0, a jr z, .asm_28190 ld a, [hNewlyPressedButtons] @@ -43592,18 +43592,18 @@ MonInfoPokedexScreen: ; 0x28178 ld a, [hJoypadState] bit BIT_START, a jr z, .asm_281bb - ld a, [$d960] + ld a, [wd960] and a ld a, $ff - ld [$d960], a + ld [wd960], a call z, Func_28add jr .asm_281c7 .asm_281bb - ld a, [$d960] + ld a, [wd960] and a ld a, $0 - ld [$d960], a + ld [wd960], a call nz, Func_28add .asm_281c7 call Func_2885c @@ -43612,7 +43612,7 @@ MonInfoPokedexScreen: ; 0x28178 dr $281cb, $282e9 Func_282e9: ; 0x282e9 - ld a, [$d960] + ld a, [wd960] and a jr z, .asm_28318 ld a, [wCurPokedexIndex] @@ -43639,7 +43639,7 @@ Func_282e9: ; 0x282e9 ld bc, $2030 call LoadOAMData .asm_28318 - ld a, [$daa2] + ld a, [wdaa2] sla a ld c, a ld b, $0 @@ -43686,10 +43686,10 @@ Func_28368: ; 0x28368 .asm_28371 ld a, [hPressedButtons] ld b, a - ld a, [$daa2] + ld a, [wdaa2] ld e, a ld d, $0 - ld hl, $da8a + ld hl, wda8a add hl, de ld a, [hl] bit 5, b @@ -43755,7 +43755,7 @@ Func_28368: ; 0x28368 ld a, [hl] or c ld c, a - ld a, [$d960] + ld a, [wd960] and a jr nz, .asm_283ff ld hl, $445c ; todo @@ -43798,7 +43798,7 @@ Func_28368: ; 0x28368 Func_284bc: ; 0x284bc ld a, [hPressedButtons] ld b, a - ld a, [$daa2] + ld a, [wdaa2] bit 5, b jr z, .asm_284cd dec a @@ -43837,7 +43837,7 @@ Func_284bc: ; 0x284bc .asm_284f3 sub $18 .asm_284f5 - ld [$daa2], a + ld [wdaa2], a ret ExitPokedexScreen: ; 0x284f9 @@ -43855,15 +43855,15 @@ ExitPokedexScreen: ; 0x284f9 Func_28513: ; 0x28513 ld a, [hPressedButtons] - ld hl, $d95e + ld hl, wd95e or [hl] ld [hl], a - ld a, [$d95c] + ld a, [wd95c] and a ret nz - ld a, [$d95e] + ld a, [wd95e] ld b, a - ld a, [$d9f8] + ld a, [wd9f8] and a ld a, NUM_POKEMON - 1 jr z, .asm_2852d @@ -43878,9 +43878,9 @@ Func_28513: ; 0x28513 dec a ld [wCurPokedexIndex], a ld a, $4 - ld [$d95c], a + ld [wd95c], a ld a, $1 - ld [$d95f], a + ld [wd95f], a jr .asm_285a9 .asm_28548 @@ -43891,9 +43891,9 @@ Func_28513: ; 0x28513 jr z, .asm_285a9 ld [wCurPokedexIndex], a ld a, $4 - ld [$d95c], a + ld [wd95c], a ld a, $1 - ld [$d95f], a + ld [wd95f], a jr .asm_285a9 .asm_2855f @@ -43914,7 +43914,7 @@ Func_28513: ; 0x28513 sub c ld [wCurPokedexIndex], a ld a, $1 - ld [$d95f], a + ld [wd95f], a call Func_285ca jr .asm_285aa @@ -43936,18 +43936,18 @@ Func_28513: ; 0x28513 add c ld [wCurPokedexIndex], a ld a, $1 - ld [$d95f], a + ld [wd95f], a call Func_285ca jr .asm_285aa .asm_285a9 xor a .asm_285aa - ld [$d95e], a + ld [wd95e], a ret .asm_285ae - ld a, [$d95f] + ld a, [wd95f] and a ret z ld de, $0003 @@ -43957,16 +43957,16 @@ Func_28513: ; 0x28513 call Func_28a15 call Func_28add xor a - ld [$d95f], a + ld [wd95f], a ret Func_285ca: ; 0x285ca xor a - ld [$d80a], a + ld [wd80a], a call Func_28972 call Func_28a8a call Func_28ad1 - ld a, [$d80a] + ld a, [wd80a] ret Func_285db: ; 0x285db @@ -43996,7 +43996,7 @@ Func_285db: ; 0x285db add $49 ld c, a ld b, $90 - ld a, [$d95b] + ld a, [wd95b] srl a srl a and $3 @@ -44012,7 +44012,7 @@ Func_285db: ; 0x285db jr nc, .asm_2863b dec [hl] ld a, $1 - ld [$d95d], a + ld [wd95d], a xor a jr .asm_28647 @@ -44020,7 +44020,7 @@ Func_285db: ; 0x285db cp $5 jr c, .asm_28647 ld a, $1 - ld [$d95d], a + ld [wd95d], a inc [hl] ld a, $4 .asm_28647 @@ -44028,12 +44028,12 @@ Func_285db: ; 0x285db push bc ld a, [hJoypadState] and a - ld a, [$d95b] + ld a, [wd95b] jr z, .asm_28652 xor a .asm_28652 inc a - ld [$d95b], a + ld [wd95b], a bit 3, a jr nz, .asm_28667 swap c @@ -44045,11 +44045,11 @@ Func_285db: ; 0x285db call LoadOAMData .asm_28667 pop bc - ld a, [$d95c] + ld a, [wd95c] and a ret z dec a - ld [$d95c], a + ld [wd95c], a sla a ld e, a ld d, $0 @@ -44113,31 +44113,31 @@ LoadSeenOwnDigitOAM: ; 0x286d1 Func_286dd: ; 0x286dd pop hl - ld a, [$d862] + ld a, [wd862] and a jr nz, .asm_286ff push bc push hl - ld a, [$d863] + ld a, [wd863] ld e, a - ld a, [$d864] + ld a, [wd864] ld d, a - ld hl, $c010 + ld hl, wc010 xor a ld bc, $00a0 call Func_735 ld a, $1 - ld [$d862], a + ld [wd862], a pop hl pop bc .asm_286ff - ld a, [$d95d] + ld a, [wd95d] and a ret z - ld a, [$d95c] + ld a, [wd95c] and a jr nz, .asm_2870d - ld [$d95d], a + ld [wd95d], a .asm_2870d ld a, c and a @@ -44159,7 +44159,7 @@ Func_286dd: ; 0x286dd Func_28721: ; 0x28721 pop hl - ld a, [$d95d] + ld a, [wd95d] and a ret z ld a, c @@ -44209,7 +44209,7 @@ Func_28721: ; 0x28721 Func_28765: ; 0x28765 pop hl - ld a, [$d95d] + ld a, [wd95d] and a ret z ld a, c @@ -44234,7 +44234,7 @@ Func_28765: ; 0x28765 dec [hl] pop hl xor a - ld [$d862], a + ld [wd862], a ld a, [hl] call Func_28993 ret @@ -44260,7 +44260,7 @@ Func_28765: ; 0x28765 inc [hl] pop hl xor a - ld [$d862], a + ld [wd862], a ld a, [hl] add $5 call Func_28993 @@ -44269,10 +44269,10 @@ Func_28765: ; 0x28765 dr $287b7, $287e7 Func_287e7: ; 0x287e7 - ld a, [$d960] + ld a, [wd960] and a ret z - ld a, [$d95f] + ld a, [wd95f] and a ret nz ld a, [wCurPokedexIndex] @@ -44284,35 +44284,35 @@ Func_287e7: ; 0x287e7 call ReadByteFromBank bit 7, a ret nz - ld [$d5bc], a + ld [wd5bc], a call Func_28815 - ld a, [$d5bd] + ld a, [wd5bd] add $a5 ld bc, $2030 call LoadOAMData ret Func_28815: ; 0x28815 - ld a, [$d5be] + ld a, [wd5be] dec a - ld [$d5be], a + ld [wd5be], a ret nz - ld a, [$d5bf] + ld a, [wd5bf] inc a and $7 - ld [$d5bf], a + ld [wd5bf], a jr nz, .asm_28836 - ld a, [$d5c3] - ld [$d5be], a + ld a, [wd5c3] + ld [wd5be], a xor a - ld [$d5c4], a + ld [wd5c4], a ld c, $2 jr .asm_28854 .asm_28836 - ld a, [$d5bc] + ld a, [wd5bc] ld c, a - ld a, [$d5bd] + ld a, [wd5bd] sub c cp $1 ld c, $0 @@ -44320,16 +44320,16 @@ Func_28815: ; 0x28815 ld c, $1 .asm_28846 ld b, $0 - ld hl, $d5c1 + ld hl, wd5c1 add hl, bc ld a, [hl] - ld [$d5be], a + ld [wd5be], a xor a - ld [$d5c4], a + ld [wd5c4], a .asm_28854 - ld a, [$d5bc] + ld a, [wd5bc] add c - ld [$d5bd], a + ld [wd5bd], a ret Func_2885c: ; 0x2885c @@ -44422,33 +44422,33 @@ Func_288c6: ; 0x288c6 ld l, c .asm_288f4 xor a - ld [$d860], a - ld [$d861], a + ld [wd860], a + ld [wd861], a ld bc, $906c ld de, $8900 call Func_28d97 rl a - ld [$d956], a + ld [wd956], a ld a, l - ld [$d957], a + ld [wd957], a ld a, h - ld [$d958], a + ld [wd958], a ret Func_28912: ; 0x28912 ld bc, $906c ld de, $8900 - ld a, [$d957] + ld a, [wd957] ld l, a - ld a, [$d958] + ld a, [wd958] ld h, a call Func_28d97 rl a - ld [$d956], a + ld [wd956], a ld a, l - ld [$d957], a + ld [wd957], a ld a, h - ld [$d958], a + ld [wd958], a ret Func_28931: ; 0x28931 @@ -44479,9 +44479,9 @@ Func_28931: ; 0x28931 add hl, bc .asm_2895d ld a, $ff - ld [$d860], a + ld [wd860], a xor a - ld [$d861], a + ld [wd861], a ld bc, $500a ld de, $9500 call Func_28e09 @@ -44539,8 +44539,8 @@ Func_28993: ; 0x28993 add hl, bc .asm_289b7 xor a - ld [$d860], a - ld [$d861], a + ld [wd860], a + ld [wd861], a ld bc, $500a ; todo call Func_28e09 pop hl @@ -44581,9 +44581,9 @@ Func_289c8: ; 0x289c8 add hl, bc .asm_289fe ld a, $ff - ld [$d860], a + ld [wd860], a ld a, $4 - ld [$d861], a + ld [wd861], a ld bc, $5816 ld de, $95a0 call Func_28e09 @@ -44611,7 +44611,7 @@ Func_28a15: ; 0x28a15 ld d, h ld e, l ld a, $0 - ld [$d865], a + ld [wd865], a push de ld hl, $9844 call Func_28d71 @@ -44706,7 +44706,7 @@ Func_28aaa: ; 0x28aaa ld d, h ld e, l ld a, $23 - ld [$d865], a + ld [wd865], a pop hl push hl call Func_28d71 @@ -44732,7 +44732,7 @@ Func_28add: ; 0x28add jp z, Func_28b76 dec a jp z, Func_28baf - ld a, [$d960] + ld a, [wd960] and a jr z, .asm_28afc call Func_28cc2 @@ -44915,16 +44915,16 @@ Func_28bf5: ; 0x28bf5 add hl, bc ld a, Bank(Data_13685) call ReadByteFromBank - ld [$d5c1], a - ld [$d5be], a + ld [wd5c1], a + ld [wd5be], a inc hl ld a, Bank(Data_13685) call ReadByteFromBank - ld [$d5c2], a + ld [wd5c2], a inc hl ld a, Bank(Data_13685) call ReadByteFromBank - ld [$d5c3], a + ld [wd5c3], a ld a, [wCurPokedexIndex] ld c, a ld b, $0 @@ -44932,8 +44932,8 @@ Func_28bf5: ; 0x28bf5 add hl, bc ld a, Bank(MonAnimatedSpriteTypes) call ReadByteFromBank - ld [$d5bc], a - ld [$d5bd], a + ld [wd5bc], a + ld [wd5bd], a call Func_28cf8 pop bc ld a, [hGameBoyColorFlag] @@ -44981,7 +44981,7 @@ Func_28cc2: ; 0x28cc2 Func_28cd4: ; 0x28cd4 xor a - ld hl, $d961 + ld hl, wd961 cp [hl] ret z ld [hl], a @@ -45016,7 +45016,7 @@ Func_28cd4: ; 0x28cd4 Func_28cf8: ; 0x28cf8 ld a, $1 - ld hl, $d961 + ld hl, wd961 cp [hl] ret z ld [hl], a @@ -45111,7 +45111,7 @@ ClearPokedexData: ; 0x28d66 ret Func_28d71: ; 0x28d71 - ld a, [$d865] + ld a, [wd865] ld c, a ld a, [de] inc de @@ -45180,10 +45180,10 @@ Func_28d97: ; 0x28d97 pop de push af ld a, e - ld [$d863], a + ld [wd863], a ld a, d - ld [$d864], a - ld a, [$d862] + ld [wd864], a + ld a, [wd862] and a jr nz, .asm_28ddd pop af @@ -45191,14 +45191,14 @@ Func_28d97: ; 0x28d97 .asm_28ddd push hl - ld a, [$d861] + ld a, [wd861] ld c, a ld b, $0 bit 7, c jr z, .asm_28de9 dec b .asm_28de9 - ld hl, $c010 + ld hl, wc010 add hl, bc ld a, [$ff8f] ld c, a @@ -45248,10 +45248,10 @@ Func_28e09: ; 0x28e09 pop de push af ld a, e - ld [$d863], a + ld [wd863], a ld a, d - ld [$d864], a - ld a, [$d862] + ld [wd864], a + ld a, [wd862] and a jr nz, .asm_28e47 pop af @@ -45259,14 +45259,14 @@ Func_28e09: ; 0x28e09 .asm_28e47 push hl - ld a, [$d861] + ld a, [wd861] ld c, a ld b, $0 bit 7, c jr z, .asm_28e53 dec b .asm_28e53 - ld hl, $c010 + ld hl, wc010 add hl, bc ld a, [$ff8f] ld c, a @@ -45307,7 +45307,7 @@ Func_28e73: ; 0x28e73 ld h, a push hl ld hl, wc000 - ld a, [$d860] + ld a, [wd860] ret dr $28e9a, $2957c @@ -47404,11 +47404,11 @@ VictreebellPokedexDescription: ; 0x2f8d8 SECTION "bankc", ROMX, BANK[$c] InitRedField: ; 0x30000 - ld a, [$d7c1] + ld a, [wd7c1] and a ret nz xor a - ld hl, $d46f + ld hl, wd46f ld [hld], a ld [hld], a ld [hld], a @@ -47416,30 +47416,30 @@ InitRedField: ; 0x30000 ld [hld], a ld [hl], a ld [wNumPartyMons], a - ld [$d49b], a - ld [$d4c9], a + ld [wd49b], a + ld [wd4c9], a ld [wBallType], a - ld [$d4c8], a - ld hl, $d624 + ld [wd4c8], a + ld hl, wd624 ld [hli], a ld [hli], a ld [hli], a - ld [$d7ac], a - ld [$d7be], a + ld [wd7ac], a + ld [wd7be], a ld [wCurrentMap], a ; PALLET_TOWN ld a, $1 - ld [$d49d], a - ld [$d482], a + ld [wd49d], a + ld [wd482], a ld a, $2 ld [wRightAlleyCount], a ld a, $3 - ld [$d49e], a - ld [$d610], a - ld [$d498], a - ld [$d499], a + ld [wd49e], a + ld [wd610], a + ld [wd498], a + ld [wd499], a ld a, $4 ld [wStageCollisionState], a - ld [$d7ad], a + ld [wd7ad], a ld a, $80 ld [wIndicatorStates], a ld [wIndicatorStates + 3], a @@ -47456,7 +47456,7 @@ InitRedField: ; 0x30000 ret StartBallRedField: ; 0x3007d - ld a, [$d496] + ld a, [wd496] and a jp nz, StartBallAfterBonusStageRedField ld a, $0 @@ -47468,57 +47468,57 @@ StartBallRedField: ; 0x3007d ld a, $98 ld [wBallYPos + 1], a xor a - ld [$d549], a - ld [$d580], a - ld a, [$d7ad] + ld [wd549], a + ld [wd580], a + ld a, [wd7ad] bit 7, a jr z, .asm_300ae ld a, [wStageCollisionState] res 0, a - ld [$d7ad], a + ld [wd7ad], a .asm_300ae ld a, [wStageCollisionState] and $1 ld [wStageCollisionState], a - ld a, [$d4c9] + ld a, [wd4c9] and a ret z xor a - ld [$d4c9], a + ld [wd4c9], a xor a - ld [$d50b], a - ld [$d50c], a - ld [$d51d], a - ld [$d517], a - ld [$d51e], a - ld hl, $d50f + ld [wd50b], a + ld [wd50c], a + ld [wd51d], a + ld [wd517], a + ld [wd51e], a + ld hl, wd50f ld [hli], a ld [hli], a ld [hli], a ld [hli], a ld [wLeftMapMoveCounter], a ld [wRightMapMoveCounter], a - ld hl, $d5f9 + ld hl, wd5f9 ld [hli], a ld [hli], a ld [hli], a ld [wBallType], a - ld [$d611], a - ld [$d612], a - ld [$d628], a - ld [$d629], a - ld [$d62a], a - ld [$d62b], a - ld [$d62c], a - ld [$d62d], a - ld [$d62e], a - ld [$d613], a + ld [wd611], a + ld [wd612], a + ld [wd628], a + ld [wd629], a + ld [wd62a], a + ld [wd62b], a + ld [wd62c], a + ld [wd62d], a + ld [wd62e], a + ld [wd613], a inc a - ld [$d482], a - ld [$d4ef], a - ld [$d4f1], a + ld [wd482], a + ld [wd4ef], a + ld [wd4f1], a ld a, $3 - ld [$d610], a + ld [wd610], a ld [$ff8a], a callba Func_16f95 ld a, $f @@ -47541,9 +47541,9 @@ StartBallAfterBonusStageRedField: ; 0x30128 ld [wBallYVelocity + 1], a ld [wBallXVelocity], a ld [wBallXVelocity + 1], a - ld [$d496], a - ld [$d7ab], a - ld [$d7be], a + ld [wd496], a + ld [wd7ab], a + ld [wd7be], a ld a, [wBallTypeBackup] ld [wBallType], a ld a, $f @@ -47553,13 +47553,13 @@ StartBallAfterBonusStageRedField: ; 0x30128 ret Func_30164: ; 0x30164 - ld a, [$d49b] + ld a, [wd49b] inc a cp $b jr z, .asm_30175 - ld [$d49b], a + ld [wd49b], a ld a, $1 - ld [$d4ca], a + ld [wd4ca], a ret .asm_30175 @@ -47567,21 +47567,21 @@ Func_30164: ; 0x30164 ld [$ff8a], a callba Func_8588 ld a, $2 - ld [$d4ca], a + ld [wd4ca], a ret Func_30188: ; 0x30188 - ld a, [$d5ca] + ld a, [wd5ca] and a ret nz - ld a, [$d4ca] + ld a, [wd4ca] and a ret z cp $1 jr nz, .asm_301a7 call Func_30e8 call Func_30db - ld hl, $d5cc + ld hl, wd5cc ld de, ExtraBallText call LoadTextHeader jr .asm_301c9 @@ -47593,17 +47593,17 @@ Func_30188: ; 0x30188 push de call Func_30e8 call Func_30db - ld hl, $d5d4 + ld hl, wd5d4 ld de, DigitsText1to9 call Func_32cc pop de pop bc - ld hl, $d5cc + ld hl, wd5cc ld de, ExtraBallSpecialBonusText call LoadTextHeader .asm_301c9 xor a - ld [$d4ca], a + ld [wd4ca], a ret Func_301ce: ; 0x301ce @@ -47637,14 +47637,14 @@ StartMapMoveMode: ; 0x301ec ld a, $2 ld [wSpecialMode], a xor a - ld [$d54d], a + ld [wd54d], a ld bc, $0030 ; 30 seconds ld [$ff8a], a callba StartTimer ld a, [wCurrentStage] bit 0, a jr z, .asm_3021b - ld a, [$d55a] + ld a, [wd55a] add $12 call Func_30256 .asm_3021b @@ -47669,7 +47669,7 @@ CallTable_3021f: ; 0x3021f Func_3022b: ; 0x3022b xor a - ld [$d5ca], a + ld [wd5ca], a call Func_30e8 xor a ld [wInSpecialMode], a @@ -47909,15 +47909,15 @@ Func_3118f: ; 0x3118f ld e, a ld a, [hli] ld d, a - ld hl, $d5d4 + ld hl, wd5d4 call LoadTextHeader pop de - ld hl, $d5cc + ld hl, wd5cc call LoadTextHeader ret Func_311b4: ; 0x311b4 - ld a, [$d55a] + ld a, [wd55a] and a jr nz, .asm_311ce ld a, $80 @@ -47947,17 +47947,17 @@ Func_311b4: ; 0x311b4 ld [$ff8a], a callba Func_149d9 ld a, $6a - ld [$c7f0], a + ld [wc7f0], a ld a, $6b - ld [$c810], a + ld [wc810], a ld a, $66 - ld [$c7e3], a + ld [wc7e3], a ld a, $67 - ld [$c803], a + ld [wc803], a ld [$ff8a], a callba Func_107b0 ld a, $4 - ld [$d7ad], a + ld [wd7ad], a ld de, $0003 call PlaySong ld a, [wCurrentStage] @@ -47988,27 +47988,27 @@ Func_31234: ; 0x31234 ret Func_31281: ; 0x31282 - ld a, [$d4e2] + ld a, [wd4e2] inc a cp $6 jr c, .asm_3129e ld a, $ff - ld [$d4e3], a - ld [$d4e4], a - ld [$d4e5], a - ld [$d4e6], a - ld [$d4e7], a - ld [$d4e8], a + ld [wd4e3], a + ld [wd4e4], a + ld [wd4e5], a + ld [wd4e6], a + ld [wd4e7], a + ld [wd4e8], a xor a .asm_3129e - ld [$d4e2], a + ld [wd4e2], a cp $3 jr c, .asm_312b2 cp $5 jr c, .asm_312e7 ld a, INDIGO_PLATEAU ld [wCurrentMap], a - ld [$d4e8], a + ld [wd4e8], a ret .asm_312b2 @@ -48021,8 +48021,8 @@ Func_31281: ; 0x31282 ld hl, $5319 add hl, bc ld c, [hl] - ld hl, $d4e3 - ld a, [$d4e2] + ld hl, wd4e3 + ld a, [wd4e2] and a jr z, .asm_312d4 ld b, a @@ -48035,10 +48035,10 @@ Func_31281: ; 0x31282 .asm_312d4 ld a, c ld [wCurrentMap], a - ld a, [$d4e2] + ld a, [wd4e2] ld c, a ld b, $0 - ld hl, $d4e3 + ld hl, wd4e3 add hl, bc ld a, [wCurrentMap] ld [hl], a @@ -48052,8 +48052,8 @@ Func_31281: ; 0x31282 ld hl, $5320 add hl, bc ld c, [hl] - ld hl, $d4e6 - ld a, [$d4e2] + ld hl, wd4e6 + ld a, [wd4e2] sub $3 jr z, .asm_31306 ld b, a @@ -48066,10 +48066,10 @@ Func_31281: ; 0x31282 .asm_31306 ld a, c ld [wCurrentMap], a - ld a, [$d4e2] + ld a, [wd4e2] ld c, a ld b, $0 - ld hl, $d4e3 + ld hl, wd4e3 add hl, bc ld a, [wCurrentMap] ld [hl], a @@ -48084,7 +48084,7 @@ Func_31325: ; 0x31325 ret Func_31326: ; 0x31326 - ld a, [$d55a] + ld a, [wd55a] and a jr nz, .asm_3134c ld a, $80 @@ -48121,16 +48121,16 @@ Func_31326: ; 0x31326 bit 0, a jr z, .asm_3139d ld a, $54 - ld [$c7e3], a + ld [wc7e3], a ld a, $55 - ld [$c803], a + ld [wc803], a ld a, $52 - ld [$c7f0], a + ld [wc7f0], a ld a, $53 - ld [$c810], a + ld [wc810], a .asm_3139d ld a, $1 - ld [$d644], a + ld [wd644], a ld [$ff8a], a callba Func_1f2ed ld de, $0003 @@ -48150,7 +48150,7 @@ Func_313c3: ; 0x313c3 ld [$ff8a], a callba Func_1f2ff ld a, $0 - ld [$d644], a + ld [wd644], a ld a, [wCurrentStage] bit 0, a ret z @@ -48163,27 +48163,27 @@ Func_313c3: ; 0x313c3 ret Func_3140b: ; 0x3140b - ld a, [$d4e2] + ld a, [wd4e2] inc a cp $6 jr c, .asm_31428 ld a, $ff - ld [$d4e3], a - ld [$d4e4], a - ld [$d4e5], a - ld [$d4e6], a - ld [$d4e7], a - ld [$d4e8], a + ld [wd4e3], a + ld [wd4e4], a + ld [wd4e5], a + ld [wd4e6], a + ld [wd4e7], a + ld [wd4e8], a xor a .asm_31428 - ld [$d4e2], a + ld [wd4e2], a cp $3 jr c, .asm_3143c cp $5 jr c, .asm_31471 ld a, INDIGO_PLATEAU ld [wCurrentMap], a - ld [$d4e8], a + ld [wd4e8], a ret .asm_3143c @@ -48196,8 +48196,8 @@ Func_3140b: ; 0x3140b ld hl, $54a3 add hl, bc ld c, [hl] - ld hl, $d4e3 - ld a, [$d4e2] + ld hl, wd4e3 + ld a, [wd4e2] and a jr z, .asm_3145e ld b, a @@ -48210,10 +48210,10 @@ Func_3140b: ; 0x3140b .asm_3145e ld a, c ld [wCurrentMap], a - ld a, [$d4e2] + ld a, [wd4e2] ld c, a ld b, $0 - ld hl, $d4e3 + ld hl, wd4e3 add hl, bc ld a, [wCurrentMap] ld [hl], a @@ -48227,8 +48227,8 @@ Func_3140b: ; 0x3140b ld hl, $54aa add hl, bc ld c, [hl] - ld hl, $d4e6 - ld a, [$d4e2] + ld hl, wd4e6 + ld a, [wd4e2] sub $3 jr z, .asm_31490 ld b, a @@ -48241,10 +48241,10 @@ Func_3140b: ; 0x3140b .asm_31490 ld a, c ld [wCurrentMap], a - ld a, [$d4e2] + ld a, [wd4e2] ld c, a ld b, $0 - ld hl, $d4e3 + ld hl, wd4e3 add hl, bc ld a, [wCurrentMap] ld [hl], a @@ -48253,9 +48253,9 @@ Func_3140b: ; 0x3140b dr $314a3, $314ae Func_314ae: ; 0x314ae - ld a, [$d57d] + ld a, [wd57d] and a - ld a, [$d54c] + ld a, [wd54c] jr z, .asm_314d0 cp $1 jp z, Func_31591 @@ -48275,7 +48275,7 @@ Func_314ae: ; 0x314ae .asm_314d6 call Func_3151f - ld a, [$d54d] + ld a, [wd54d] call CallInFollowingTable PointerTable_314df: ; 0xd13df dw Func_314ef @@ -48307,7 +48307,7 @@ Func_314f3: ; 0x314f3 ret Func_31505: ; 0x31505 - ld a, [$d5ca] + ld a, [wd5ca] and a ret nz call Func_30e8 @@ -48320,19 +48320,19 @@ Func_31505: ; 0x31505 Func_3151f: ; 0x3151f ld a, $50 - ld [$d4ef], a - ld [$d4f1], a + ld [wd4ef], a + ld [wd4f1], a ld [$ff8a], a callba Func_107f8 - ld a, [$d57e] + ld a, [wd57e] and a ret z xor a - ld [$d57e], a + ld [wd57e], a ld a, $3 - ld [$d54d], a + ld [wd54d], a xor a - ld [$d604], a + ld [wd604], a ld [wIndicatorStates], a ld [wIndicatorStates + 1], a ld [wIndicatorStates + 2], a @@ -48352,13 +48352,13 @@ Func_3151f: ; 0x3151f callba Func_86d2 call Func_30e8 call Func_30db - ld hl, $d5cc + ld hl, wd5cc ld de, Data_2ca8 call LoadTextHeader ret Func_31591: ; 0x31591 - ld a, [$d55a] + ld a, [wd55a] and a jr nz, .asm_315b1 ld a, [wIndicatorStates] @@ -48370,14 +48370,14 @@ Func_31591: ; 0x31591 ld a, $80 ld [wIndicatorStates + 4], a ld a, $1 - ld [$d604], a - ld [$d54d], a + ld [wd604], a + ld [wd54d], a .asm_315b1 scf ret Func_315b3: ; 0x315b3 - ld a, [$d55a] + ld a, [wd55a] and a jr z, .asm_315d3 ld a, [wIndicatorStates + 1] @@ -48389,8 +48389,8 @@ Func_315b3: ; 0x315b3 ld a, $80 ld [wIndicatorStates + 4], a ld a, $1 - ld [$d604], a - ld [$d54d], a + ld [wd604], a + ld [wd54d], a .asm_315d3 scf ret @@ -48412,18 +48412,18 @@ Func_315d5: ; 0x315d5 ld [$ff8a], a callba Func_33e3 rst AdvanceFrame - ld a, [$d5ca] + ld a, [wd5ca] and a jr nz, .asm_31603 ld a, $2 - ld [$d54d], a + ld [wd54d], a scf ret Func_3161b: ; 0x3161b - ld a, [$d57d] + ld a, [wd57d] and a - ld a, [$d54c] + ld a, [wd54c] jr z, .asm_3163d cp $1 jp z, Func_31708 @@ -48443,7 +48443,7 @@ Func_3161b: ; 0x3161b .asm_31643 call Func_3168c - ld a, [$d54d] + ld a, [wd54d] call CallInFollowingTable PointerTable_3164c: ; 0x3164c dw Func_3165c @@ -48475,7 +48475,7 @@ Func_31660: ; 0x31660 ret Func_31672: ; 0x31672 - ld a, [$d5ca] + ld a, [wd5ca] and a ret nz call Func_30e8 @@ -48491,20 +48491,20 @@ Func_3168c: ; 0x3168c ld [wLeftMapMoveDiglettAnimationCounter], a ld [wRightMapMoveDiglettFrame], a ld a, $3 - ld [$d645], a + ld [wd645], a ld a, $1 - ld [$d646], a + ld [wd646], a ld [$ff8a], a callba Func_107f8 - ld a, [$d57e] + ld a, [wd57e] and a ret z xor a - ld [$d57e], a + ld [wd57e], a ld a, $3 - ld [$d54d], a + ld [wd54d], a xor a - ld [$d604], a + ld [wd604], a ld [wIndicatorStates], a ld [wIndicatorStates + 1], a ld [wIndicatorStates + 2], a @@ -48524,13 +48524,13 @@ Func_3168c: ; 0x3168c callba Func_86d2 call Func_30e8 call Func_30db - ld hl, $d5cc + ld hl, wd5cc ld de, Data_2ca8 call LoadTextHeader ret Func_31708: ; 0x31708 - ld a, [$d55a] + ld a, [wd55a] and a jr nz, .asm_31728 ld a, [wIndicatorStates] @@ -48542,14 +48542,14 @@ Func_31708: ; 0x31708 ld a, $80 ld [wIndicatorStates + 4], a ld a, $1 - ld [$d604], a - ld [$d54d], a + ld [wd604], a + ld [wd54d], a .asm_31728 scf ret Func_3172a: ; 0x3172a - ld a, [$d55a] + ld a, [wd55a] and a jr z, .asm_3174a ld a, [wIndicatorStates + 1] @@ -48561,8 +48561,8 @@ Func_3172a: ; 0x3172a ld a, $80 ld [wIndicatorStates + 4], a ld a, $1 - ld [$d604], a - ld [$d54d], a + ld [wd604], a + ld [wd54d], a .asm_3174a scf ret @@ -48584,11 +48584,11 @@ Func_3174c: ; 0x3174c ld [$ff8a], a callba Func_33e3 rst AdvanceFrame - ld a, [$d5ca] + ld a, [wd5ca] and a jr nz, .asm_3177a ld a, $2 - ld [$d54d], a + ld [wd54d], a scf ret @@ -48673,7 +48673,7 @@ Func_3c000: ; 0x3c000 push bc push af call Func_3cb1b - ld hl, $dd01 + ld hl, wdd01 ld de, $01af .clearLoop xor a @@ -48703,9 +48703,9 @@ Func_3c000: ; 0x3c000 dec e jr nz, .asm_3c022 ld a, $8 - ld [$de9a], a + ld [wde9a], a ld a, $77 - ld [$de98], a + ld [wde98], a call Func_3cb15 pop af pop bc @@ -48717,7 +48717,7 @@ Func_3c042: ; 0x3c042 ld a, [de] inc de and $7 - ld [$deae], a + ld [wdeae], a ld c, a ld b, $0 ld hl, WRAMPointerTable_3cc92 @@ -48758,9 +48758,9 @@ Func_3c042: ; 0x3c042 inc de ld hl, $0000 add hl, bc - ld a, [$de9b] + ld a, [wde9b] ld [hli], a - ld a, [$de9c] + ld a, [wde9c] ld [hl], a ret @@ -48771,7 +48771,7 @@ PlaySong_BankF: ; 0x3c090 call Func_3c000 pop de call Func_3cb1b - ld hl, $de9b + ld hl, wde9b ld [hl], e inc hl ld [hl], d @@ -48800,7 +48800,7 @@ PlaySong_BankF: ; 0x3c090 PlaySoundEffect_BankF: ; 0x3c0c0 call Func_3cb1b - ld hl, $de9b + ld hl, wde9b ld [hl], e inc hl ld [hl], d @@ -48851,14 +48851,14 @@ PlayCry_BankF: ; 0x3c0f0 ld d, [hl] ; de = base cry id inc hl ld a, [hli] - ld [$dea8], a + ld [wdea8], a ld a, [hli] - ld [$dea9], a ; dea8 = cry pitch + ld [wdea9], a ; dea8 = cry pitch ld a, [hli] - ld [$deaa], a + ld [wdeaa], a ld a, [hl] - ld [$deab], a ; deaa = cry length - ld hl, $de9b + ld [wdeab], a ; deaa = cry length + ld hl, wde9b ld [hl], e inc hl ld [hl], d @@ -48884,48 +48884,48 @@ PlayCry_BankF: ; 0x3c0f0 set 4, [hl] ld hl, $0026 add hl, bc - ld a, [$dea8] + ld a, [wdea8] ld [hli], a - ld a, [$dea9] + ld a, [wdea9] ld [hl], a - ld a, [$de97] + ld a, [wde97] and $3 cp $3 jr nc, .asm_3c15b ld hl, $0017 add hl, bc - ld a, [$deaa] + ld a, [wdeaa] ld [hli], a - ld a, [$deab] + ld a, [wdeab] ld [hl], a .asm_3c15b call Func_3cadf pop af dec a jr nz, .asm_3c12a - ld a, [$deac] + ld a, [wdeac] and a jr nz, .asm_3c173 - ld a, [$de98] - ld [$deac], a + ld a, [wde98] + ld [wdeac], a ld a, $77 - ld [$de98], a + ld [wde98], a .asm_3c173 ld a, $1 - ld [$dead], a + ld [wdead], a call Func_3cb15 ret dr $3c17c, $3c180 Func_3c180: ; 0x3c180 - ld a, [$dd00] + ld a, [wdd00] and a ret z xor a - ld [$de97], a - ld [$de99], a - ld bc, $dd01 + ld [wde97], a + ld [wde99], a + ld bc, wdd01 .asm_3c18f ld hl, $0002 add hl, bc @@ -48960,31 +48960,31 @@ Func_3c180: ; 0x3c180 ld hl, $000d add hl, bc ld a, [hli] - ld [$de91], a + ld [wde91], a ld a, [hli] - ld [$de92], a + ld [wde92], a ld a, [hli] - ld [$de93], a + ld [wde93], a ld a, [hl] - ld [$de94], a + ld [wde94], a call Func_3c4f0 call Func_3c632 - ld a, [$dead] + ld a, [wdead] and a jr z, .asm_3c20a - ld a, [$de97] + ld a, [wde97] cp $4 jr nc, .asm_3c219 - ld hl, $ddcb + ld hl, wddcb bit 0, [hl] jr nz, .asm_3c204 - ld hl, $ddfd + ld hl, wddfd bit 0, [hl] jr nz, .asm_3c204 - ld hl, $de2f + ld hl, wde2f bit 0, [hl] jr nz, .asm_3c204 - ld hl, $de61 + ld hl, wde61 bit 0, [hl] jr z, .asm_3c20a .asm_3c204 @@ -48992,7 +48992,7 @@ Func_3c180: ; 0x3c180 add hl, bc set 5, [hl] .asm_3c20a - ld a, [$de97] + ld a, [wde97] cp $4 jr nc, .asm_3c219 ld hl, $00ca @@ -49003,9 +49003,9 @@ Func_3c180: ; 0x3c180 call Func_3c24d ld hl, $0019 add hl, bc - ld a, [$de99] + ld a, [wde99] or [hl] - ld [$de99], a + ld [wde99], a .asm_3c227 ld hl, $000b add hl, bc @@ -49016,21 +49016,21 @@ Func_3c180: ; 0x3c180 add hl, bc ld c, l ld b, h - ld a, [$de97] + ld a, [wde97] inc a - ld [$de97], a + ld [wde97], a cp $8 jp nz, .asm_3c18f call Func_3c40d - ld a, [$de98] + ld a, [wde98] ld [rNR50], a - ld a, [$de99] + ld a, [wde99] ld [rNR51], a ret Func_3c24d: ; 0x3c24d ld hl, PointerTable_3c25e - ld a, [$de97] + ld a, [wde97] and $7 add a ld e, a @@ -49056,7 +49056,7 @@ Func_3c26e: ; 0x3c26e add hl, bc bit 3, [hl] jr z, .asm_3c27b - ld a, [$de9a] + ld a, [wde9a] ld [rNR10], a .asm_3c27b bit 5, [hl] @@ -49067,22 +49067,22 @@ Func_3c26e: ; 0x3c26e jr nz, .asm_3c2b4 bit 1, [hl] jr z, .asm_3c295 - ld a, [$de93] + ld a, [wde93] ld [rNR13], a - ld a, [$de94] + ld a, [wde94] ld [rNR14], a .asm_3c295 bit 2, [hl] jr z, .asm_3c2a5 - ld a, [$de92] + ld a, [wde92] ld [rNR12], a - ld a, [$de94] + ld a, [wde94] or $80 ld [rNR14], a .asm_3c2a5 bit 0, [hl] ret z - ld a, [$de91] + ld a, [wde91] ld d, a ld a, [rNR11] and $3f @@ -49091,28 +49091,28 @@ Func_3c26e: ; 0x3c26e ret .asm_3c2b4 - ld a, [$de93] + ld a, [wde93] ld [rNR13], a ret .asm_3c2ba ld a, $8 ld [rNR12], a - ld a, [$de94] + ld a, [wde94] or $80 ld [rNR14], a ret .asm_3c2c6 - ld hl, $de91 + ld hl, wde91 ld a, $3f or [hl] ld [rNR11], a - ld a, [$de92] + ld a, [wde92] ld [rNR12], a - ld a, [$de93] + ld a, [wde93] ld [rNR13], a - ld a, [$de94] + ld a, [wde94] or $80 ld [rNR14], a ret @@ -49128,22 +49128,22 @@ Func_3c2e0: ; 0x3c2e0 jr nz, .asm_3c31d bit 1, [hl] jr z, .asm_3c2fe - ld a, [$de93] + ld a, [wde93] ld [rNR23], a - ld a, [$de94] + ld a, [wde94] ld [rNR24], a .asm_3c2fe bit 2, [hl] jr z, .asm_3c30e - ld a, [$de92] + ld a, [wde92] ld [rNR22], a - ld a, [$de94] + ld a, [wde94] or $80 ld [rNR24], a .asm_3c30e bit 0, [hl] ret z - ld a, [$de91] + ld a, [wde91] ld d, a ld a, [rNR21] and $3f @@ -49152,28 +49152,28 @@ Func_3c2e0: ; 0x3c2e0 ret .asm_3c31d - ld a, [$de93] + ld a, [wde93] ld [rNR23], a ret .asm_3c323 ld a, $8 ld [rNR22], a - ld a, [$de94] + ld a, [wde94] or $80 ld [rNR24], a ret .asm_3c32f - ld hl, $de91 + ld hl, wde91 ld a, $3f or [hl] ld [rNR21], a - ld a, [$de92] + ld a, [wde92] ld [rNR22], a - ld a, [$de93] + ld a, [wde93] ld [rNR23], a - ld a, [$de94] + ld a, [wde94] or $80 ld [rNR24], a ret @@ -49189,9 +49189,9 @@ Func_3c349: ; 0x3c349 jr nz, .asm_3c381 bit 1, [hl] jr z, .asm_3c367 - ld a, [$de93] + ld a, [wde93] ld [rNR33], a - ld a, [$de94] + ld a, [wde94] ld [rNR34], a .asm_3c367 bit 2, [hl] @@ -49201,15 +49201,15 @@ Func_3c349: ; 0x3c349 call LoadWavePattern ld a, $80 ld [rNR30], a - ld a, [$de93] + ld a, [wde93] ld [rNR33], a - ld a, [$de94] + ld a, [wde94] or $80 ld [rNR34], a ret .asm_3c381 - ld a, [$de93] + ld a, [wde93] ld [rNR33], a ret @@ -49226,16 +49226,16 @@ Func_3c349: ; 0x3c349 call LoadWavePattern ld a, $80 ld [rNR30], a - ld a, [$de93] + ld a, [wde93] ld [rNR33], a - ld a, [$de94] + ld a, [wde94] or $80 ld [rNR34], a ret LoadWavePattern: ; 0x3c3a6 push hl - ld a, [$de92] + ld a, [wde92] and $f ld l, a ld h, $0 @@ -49256,7 +49256,7 @@ LoadWavePattern: ; 0x3c3a6 jr nz, .loop pop bc pop hl - ld a, [$de92] + ld a, [wde92] and $f0 sla a ld [rNR32], a ; set volume of wave channel @@ -49271,12 +49271,12 @@ Func_3c3cf: ; 0x3c3cf jr nz, .asm_3c3fa bit 1, [hl] jr z, .asm_3c3e4 - ld a, [$de93] + ld a, [wde93] ld [rNR43], a .asm_3c3e4 bit 2, [hl] ret z - ld a, [$de92] + ld a, [wde92] ld [rNR42], a ld a, $80 ld [rNR44], a @@ -49292,31 +49292,31 @@ Func_3c3cf: ; 0x3c3cf .asm_3c3fa ld a, $3f ld [rNR41], a - ld a, [$de92] + ld a, [wde92] ld [rNR42], a - ld a, [$de93] + ld a, [wde93] ld [rNR43], a ld a, $80 ld [rNR44], a ret Func_3c40d: ; 0x3c40d - ld a, [$dea2] + ld a, [wdea2] and a ret z - ld a, [$dea3] + ld a, [wdea3] and a jr z, .asm_3c41d dec a - ld [$dea3], a + ld [wdea3], a ret .asm_3c41d - ld a, [$dea2] + ld a, [wdea2] ld d, a and $7f - ld [$dea3], a - ld a, [$de98] + ld [wdea3], a + ld a, [wde98] and $7 bit 7, d jr nz, .asm_3c448 @@ -49326,14 +49326,14 @@ Func_3c40d: ; 0x3c40d jr .asm_3c454 .asm_3c435 - ld a, [$dea4] + ld a, [wdea4] ld e, a - ld a, [$dea5] + ld a, [wdea5] ld d, a push bc call PlaySong_BankF pop bc - ld hl, $dea2 + ld hl, wdea2 set 7, [hl] ret @@ -49345,14 +49345,14 @@ Func_3c40d: ; 0x3c40d .asm_3c44f xor a - ld [$dea2], a + ld [wdea2], a ret .asm_3c454 ld d, a swap a or d - ld [$de98], a + ld [wde98], a ret Func_3c45c: ; 0x3c45c @@ -49363,7 +49363,7 @@ Func_3c45c: ; 0x3c45c ld hl, $0014 add hl, bc ld a, [hl] - ld hl, $de95 + ld hl, wde95 sub [hl] jr nc, .asm_3c470 ld a, $1 @@ -49432,7 +49432,7 @@ Func_3c45c: ; 0x3c45c ld d, a .asm_3c4c9 push bc - ld hl, $de95 + ld hl, wde95 ld b, $0 .asm_3c4cf inc b @@ -49476,7 +49476,7 @@ Func_3c4f0: ; 0x3c4f0 rlca ld [hl], a and $c0 - ld [$de91], a + ld [wde91], a ld hl, $000b add hl, bc set 0, [hl] @@ -49490,14 +49490,14 @@ Func_3c4f0: ; 0x3c4f0 ld e, [hl] inc hl ld d, [hl] - ld hl, $de93 + ld hl, wde93 ld a, [hli] ld h, [hl] ld l, a add hl, de ld e, l ld d, h - ld hl, $de93 + ld hl, wde93 ld [hl], e inc hl ld [hl], d @@ -49631,7 +49631,7 @@ Func_3c4f0: ; 0x3c4f0 swap [hl] or [hl] ld [hl], a - ld a, [$de93] + ld a, [wde93] ld e, a ld hl, $0004 add hl, bc @@ -49656,7 +49656,7 @@ Func_3c4f0: ; 0x3c4f0 jr nc, .asm_3c611 ld a, $ff .asm_3c611 - ld [$de93], a + ld [wde93], a ld hl, $000b add hl, bc set 6, [hl] @@ -49684,15 +49684,15 @@ Func_3c632: ; 0x3c632 add hl, bc bit 4, [hl] ret z - ld a, [$de9f] + ld a, [wde9f] and a jr z, .asm_3c644 dec a - ld [$de9f], a + ld [wde9f], a ret .asm_3c644 - ld hl, $de9d + ld hl, wde9d ld e, [hl] inc hl ld d, [hl] @@ -49702,16 +49702,16 @@ Func_3c632: ; 0x3c632 ret z and $f inc a - ld [$de9f], a + ld [wde9f], a ld a, [de] inc de - ld [$de92], a + ld [wde92], a ld a, [de] inc de - ld [$de93], a + ld [wde93], a xor a - ld [$de94], a - ld hl, $de9d + ld [wde94], a + ld hl, wde9d ld [hl], e inc hl ld [hl], d @@ -49739,10 +49739,10 @@ Func_3c670: ; 0x3c670 jp nz, Func_3c723 bit 4, [hl] jp nz, Func_3c750 - ld a, [$de96] + ld a, [wde96] and $f call Func_3ca5b - ld a, [$de96] + ld a, [wde96] swap a and $f jr z, .asm_3c6c2 @@ -49775,7 +49775,7 @@ Func_3c670: ; 0x3c670 add hl, bc bit 1, [hl] jr nz, .asm_3c67b - ld a, [$de97] + ld a, [wde97] cp $4 jr nc, .asm_3c6e0 ld hl, $00ca @@ -49787,12 +49787,12 @@ Func_3c670: ; 0x3c670 add hl, bc bit 5, [hl] call nz, Func_3c704 - ld a, [$de97] + ld a, [wde97] cp $4 jr nz, .asm_3c6f6 xor a ld [rNR10], a - ld [$de9a], a + ld [wde9a], a .asm_3c6f6 ld hl, $0002 add hl, bc @@ -49805,28 +49805,28 @@ Func_3c670: ; 0x3c670 ret Func_3c704: ; 0x3c704 - ld a, [$de97] + ld a, [wde97] cp $4 ret nz xor a - ld hl, $de21 + ld hl, wde21 ld [hli], a ld [hl], a - ld hl, $de85 + ld hl, wde85 ld [hli], a ld [hl], a - ld a, [$deac] - ld [$de98], a + ld a, [wdeac] + ld [wde98], a xor a - ld [$deac], a - ld [$dead], a + ld [wdeac], a + ld [wdead], a ret Func_3c723: ; 0x3c723 ld hl, $000b add hl, bc set 4, [hl] - ld a, [$de96] + ld a, [wde96] call Func_3ca5b call Func_3ca10 ld hl, $000e @@ -49836,7 +49836,7 @@ Func_3c723: ; 0x3c723 ld hl, $000f add hl, bc ld [hl], a - ld a, [$de97] + ld a, [wde97] and $3 cp $3 ret z @@ -49847,13 +49847,13 @@ Func_3c723: ; 0x3c723 ret Func_3c750: ; 0x3c750 - ld a, [$de97] + ld a, [wde97] cp $3 ret nz - ld a, [$de96] + ld a, [wde96] and $f call Func_3ca5b - ld a, [$dea1] + ld a, [wdea1] ld e, a ld d, $0 ld hl, $4ba2 @@ -49862,7 +49862,7 @@ Func_3c750: ; 0x3c750 ld a, [hli] ld h, [hl] ld l, a - ld a, [$de96] + ld a, [wde96] swap a and $f ret z @@ -49871,15 +49871,15 @@ Func_3c750: ; 0x3c750 add hl, de add hl, de ld a, [hli] - ld [$de9d], a + ld [wde9d], a ld a, [hl] - ld [$de9e], a + ld [wde9e], a xor a - ld [$de9f], a + ld [wde9f], a ret Func_3c786: ; 0x3c786 - ld a, [$de96] + ld a, [wde96] sub $d0 ld e, a ld d, $0 @@ -50132,7 +50132,7 @@ Func_3c8c4: ; 0x3c8c4 Func_3c8ff: ; 0x3c8ff call Func_3ca10 - ld [$de95], a + ld [wde95], a call Func_3ca10 ld d, a and $f @@ -50204,7 +50204,7 @@ Func_3c95f: ; 0x3c95f .asm_3c96a set 4, [hl] call Func_3ca10 - ld [$dea1], a + ld [wdea1], a ret Func_3c973: ; 0x3c973 @@ -50212,7 +50212,7 @@ Func_3c973: ; 0x3c973 ld hl, $0028 add hl, bc ld [hl], a - ld a, [$de97] + ld a, [wde97] and $3 cp $3 ret z @@ -50221,7 +50221,7 @@ Func_3c973: ; 0x3c973 Func_3c987: ; 0x3c987 call Func_3ca10 - ld [$de9a], a + ld [wde9a], a ld hl, $000b add hl, bc set 3, [hl] @@ -50255,7 +50255,7 @@ Func_3c9aa: ; 0x3c9aa Func_3c9b6: ; 0x3c9b6 ld hl, $0012 add hl, bc - ld a, [$de96] + ld a, [wde96] and $7 ld [hl], a ret @@ -50268,7 +50268,7 @@ Func_3c9c1: ; 0x3c9c1 ret Func_3c9ca: ; 0x3c9ca - ld a, [$de97] + ld a, [wde97] call Func_3caf4 call Func_3ca10 ld hl, $0019 @@ -50279,11 +50279,11 @@ Func_3c9ca: ; 0x3c9ca Func_3c9da: ; 0x3c9da call Func_3ca10 - ld a, [$dea2] + ld a, [wdea2] and a ret nz - ld a, [$de96] - ld [$de98], a + ld a, [wde96] + ld [wde98], a ret Func_3c9e9: ; 0x3c9e9 @@ -50310,12 +50310,12 @@ Func_3c9e9: ; 0x3c9e9 Func_3ca05: ; 0x3ca05 ld a, $1 - ld [$dead], a + ld [wdead], a ret Func_3ca0b: ; 0x3ca0b xor a - ld [$dead], a + ld [wdead], a ret Func_3ca10: ; 0x3ca10 @@ -50327,7 +50327,7 @@ Func_3ca10: ; 0x3ca10 inc hl ld d, [hl] ld a, [de] - ld [$de96], a + ld [wde96], a inc de ld hl, $0005 add hl, bc @@ -50336,7 +50336,7 @@ Func_3ca10: ; 0x3ca10 ld [hl], d pop de pop hl - ld a, [$de96] + ld a, [wde96] ret Func_3ca2b: ; 0x3ca2b @@ -50420,27 +50420,27 @@ Func_3ca86: ; 0x3ca86 Func_3ca95: ; 0x3ca95 push bc - ld a, [$de97] + ld a, [wde97] cp $4 jr nc, .asm_3cab7 - ld bc, $dd01 + ld bc, wdd01 call Func_3cad1 - ld bc, $dd33 + ld bc, wdd33 call Func_3cad1 - ld bc, $dd65 + ld bc, wdd65 call Func_3cad1 - ld bc, $dd97 + ld bc, wdd97 call Func_3cad1 jr .asm_3cacf .asm_3cab7 - ld bc, $ddc9 + ld bc, wddc9 call Func_3cad1 - ld bc, $ddfb + ld bc, wddfb call Func_3cad1 - ld bc, $de2d + ld bc, wde2d call Func_3cad1 - ld bc, $de5f + ld bc, wde5f call Func_3cad1 .asm_3cacf pop bc @@ -50460,10 +50460,10 @@ Func_3cad1: ; 0x3cad1 Func_3cadf: ; 0x3cadf call Func_3cb06 - ld a, [$deae] + ld a, [wdeae] jr .asm_3caea - ld a, [$de97] + ld a, [wde97] .asm_3caea call Func_3caf4 ld hl, $0002 @@ -50486,23 +50486,23 @@ Func_3caf4: ; 0x3caf4 ret Func_3cb06: ; 0x3cb06 - ld a, [$deae] + ld a, [wdeae] and $3 cp $0 ret nz xor a ld [rNR10], a - ld [$de9a], a + ld [wde9a], a ret Func_3cb15: ; 0x3cb15 ld a, $1 - ld [$dd00], a + ld [wdd00], a ret Func_3cb1b: ; 0x3cb1b xor a - ld [$dd00], a + ld [wdd00], a ret dr $3cb20, $3cb52 @@ -51241,7 +51241,7 @@ PlayPikachuSoundClip: ; 0x50000 ld [rNR52], a xor a ld [rNR30], a - ld hl, $d84b + ld hl, wd84b ld c, $30 ld b, $10 .asm_5002b @@ -51272,7 +51272,7 @@ PlayPikachuSoundClip: ; 0x50000 ld [rNR50], a ld [rNR51], a ld [rNR52], a - ld hl, $d84b + ld hl, wd84b ld c, $30 ld b, $10 .asm_50062 diff --git a/wram.asm b/wram.asm index a1ddab6..c046e96 100755 --- a/wram.asm +++ b/wram.asm @@ -1,681 +1,2620 @@ SECTION "WRAM Bank 0", WRAM0 -wc000:: - ds $400 +wc000:: ; 0xc000 + ds $10 + +wc010:: ; 0xc010 + ds $140 + +wc150:: ; 0xc150 + ds $68 + +wc1b8:: ; 0xc1b8 + ds $c8 + +wc280:: ; 0xc280 + ds $9 + +wc289:: ; 0xc289 + ds $37 + +wc2c0:: ; 0xc2c0 + ds $140 wMonAnimatedCollisionMask:: ; 0xc400 ds $80 - ds $80 +wc480:: ; 0xc480 + ds $40 + +wc4c0:: ; 0xc4c0 + ds $c + +wc4cc:: ; 0xc4cc + ds $34 + +wcBottomMessageText:: ; 0xc500 + ds $200 + +wStageCollisionMap:: ; 0xc700 + ds $68 + +wc768:: ; 0xc768 + ds $46 + +wc7ae:: ; 0xc7ae + ds $19 + +wc7c7:: ; 0xc7c7 + ds $1c + +wc7e3:: ; 0xc7e3 + ds $d + +wc7f0:: ; 0xc7f0 + ds $13 + +wc803:: ; 0xc803 + ds $d + +wc810:: ; 0xc810 + ds $13 + +wc823:: ; 0xc823 + ds $2a + +wc84d:: ; 0xc84d + ds $6 + +wc853:: ; 0xc853 + ds $1f + +wc872:: ; 0xc872 + ds $1 + +wc873:: ; 0xc873 + ds $1f + +wc892:: ; 0xc892 + ds $1 + +wc893:: ; 0xc893 + ds $1d0 + +wca63:: ; 0xca63 + ds $59d + +SECTION "WRAM Bank 1", WRAMX, BANK[1] + +wOAMBuffer:: ; 0xd000 + ds $200 + +wPaletteData:: ; 0xd200 + ds $80 + +wd280:: ; 0xd280 + ds $40 + +wd2c0:: ; 0xd2c0 + ds $40 + +wPartyMons:: ; 0xd300 + ds $160 + +wNumPartyMons:: ; 0xd460 + ds $1 + +wd461:: ; 0xd461 + ds $1 + +wd462:: ; 0xd462 + ds $1 + +wd463:: ; 0xd463 + ds $1 + +wd464:: ; 0xd464 + ds $6 + +wScore:: ; 0xd46a + ds $5 + +wd46f:: ; 0xd46f + ds $1 + +wd470:: ; 0xd470 + ds $1 + +wd471:: ; 0xd471 + ds $1 + +wd472:: ; 0xd472 + ds $1 + +wd473:: ; 0xd473 + ds $3 + +wd476:: ; 0xd476 + ds $1 + +wd477:: ; 0xd477 + ds $1 + +wd478:: ; 0xd478 + ds $1 + +wd479:: ; 0xd479 + ds $1 + +wd47a:: ; 0xd47a + ds $1 + +wd47b:: ; 0xd47b + ds $1 + +wd47c:: ; 0xd47c + ds $1 + +wd47d:: ; 0xd47d + ds $1 + +wBallType:: ; 0xd47e + ds $1 + +wBallTypeCounter:: ; 0xd47f + ds $2 + +wBallTypeBackup:: ; 0xd481 + ds $1 + +wd482:: ; 0xd482 + ds $1 + +wd483:: ; 0xd483 + ds $5 + +wd488:: ; 0xd488 + ds $1 + +wd489:: ; 0xd489 + ds $5 + +wd48e:: ; 0xd48e + ds $1 + +wd48f:: ; 0xd48f + ds $5 + +wd494:: ; 0xd494 + ds $1 + +wd495:: ; 0xd495 + ds $1 + +wd496:: ; 0xd496 + ds $1 + +wd497:: ; 0xd497 + ds $1 + +wd498:: ; 0xd498 + ds $1 + +wd499:: ; 0xd499 + ds $1 + +wd49a:: ; 0xd49a + ds $1 + +wd49b:: ; 0xd49b + ds $1 + +wd49c:: ; 0xd49c + ds $1 + +wd49d:: ; 0xd49d + ds $1 + +wd49e:: ; 0xd49e + ds $1 + +wd49f:: ; 0xd49f + ds $2 + +wBallSaverIconOn:: ; 0xd4a1 + ds $1 + +wd4a2:: ; 0xd4a2 + ds $1 + +wBallSaverTimerFrames:: ; 0xd4a3 + ds $1 + +wBallSaverTimerSeconds:: ; 0xd4a4 + ds $1 + +wd4a5:: ; 0xd4a5 + ds $1 + +wBallSaverTimerFramesBackup:: ; 0xd4a6 + ds $1 + +wBallSaverTimerSecondsBackup:: ; 0xd4a7 + ds $1 + +wd4a8:: ; 0xd4a8 + ds $1 + +wd4a9:: ; 0xd4a9 + ds $1 + +wd4aa:: ; 0xd4aa + ds $1 + +wd4ab:: ; 0xd4ab + ds $1 + +wCurrentStage:: ; 0xd4ac + ds $1 + +wd4ad:: ; 0xd4ad + ds $1 + +wd4ae:: ; 0xd4ae + ds $1 + +wStageCollisionState:: ; 0xd4af + ds $1 + +wd4b0:: ; 0xd4b0 + ds $3 + +wBallXPos:: ; 0xd4b3 + ds $1 + +wd4b4:: ; 0xd4b4 + ds $1 + +wBallYPos:: ; 0xd4b5 + ds $1 + +wd4b6:: ; 0xd4b6 + ds $1 + +wPreviousBallXPos:: ; 0xd4b7 + ds $2 + +wPreviousBallYPos:: ; 0xd4b9 + ds $2 + +wBallXVelocity:: ; 0xd4bb + ds $2 + +wBallYVelocity:: ; 0xd4bd + ds $6 + +wBallSpin:: ; 0xd4c3 + ds $1 + +wBallRotation:: ; 0xd4c4 + ds $1 + +wd4c5:: ; 0xd4c5 + ds $1 + +wd4c6:: ; 0xd4c6 + ds $1 + +wd4c7:: ; 0xd4c7 + ds $1 + +wd4c8:: ; 0xd4c8 + ds $1 + +wd4c9:: ; 0xd4c9 + ds $1 + +wd4ca:: ; 0xd4ca + ds $1 + +wd4cb:: ; 0xd4cb + ds $1 + +wd4cc:: ; 0xd4cc + ds $1 + +wd4cd:: ; 0xd4cd + ds $3 + +wd4d0:: ; 0xd4d0 + ds $3 + +wd4d3:: ; 0xd4d3 + ds $3 + +wd4d6:: ; 0xd4d6 + ds $1 + +wd4d7:: ; 0xd4d7 + ds $1 + +wd4d8:: ; 0xd4d8 + ds $1 + +wd4d9:: ; 0xd4d9 + ds $1 + +wd4da:: ; 0xd4da + ds $1 + +wd4db:: ; 0xd4db + ds $1 + +wd4dc:: ; 0xd4dc + ds $2 + +wd4de:: ; 0xd4de + ds $1 + +wd4df:: ; 0xd4df + ds $1 + +wd4e0:: ; 0xd4e0 + ds $1 + +wInitialMapSelectionIndex:: ; 0xd4e1 + ds $1 + +wd4e2:: ; 0xd4e2 + ds $1 + +wd4e3:: ; 0xd4e3 + ds $1 + +wd4e4:: ; 0xd4e4 + ds $1 + +wd4e5:: ; 0xd4e5 + ds $1 + +wd4e6:: ; 0xd4e6 + ds $1 + +wd4e7:: ; 0xd4e7 + ds $1 + +wd4e8:: ; 0xd4e8 + ds $2 + +wd4ea:: ; 0xd4ea + ds $1 + +wd4eb:: ; 0xd4eb + ds $1 + +wd4ec:: ; 0xd4ec + ds $1 + +wd4ed:: ; 0xd4ed + ds $1 + +wd4ee:: ; 0xd4ee + ds $1 + +wd4ef:: ; 0xd4ef + ds $1 + +wLeftMapMoveCounter:: ; 0xd4f0 + ds $1 + +wd4f1:: ; 0xd4f1 + ds $1 + +wRightMapMoveCounter:: ; 0xd4f2 + ds $1 + +wLeftMapMoveDiglettAnimationCounter:: ; 0xd4f3 + ds $1 + +wLeftMapMoveDiglettFrame:: ; 0xd4f4 + ds $1 + +wRightMapMoveDiglettAnimationCounter:: ; 0xd4f5 + ds $1 + +wRightMapMoveDiglettFrame:: ; 0xd4f6 + ds $1 + +wd4f7:: ; 0xd4f7 + ds $1 + +wd4f8:: ; 0xd4f8 + ds $1 + +wd4f9:: ; 0xd4f9 + ds $1 + +wd4fa:: ; 0xd4fa + ds $1 + +wd4fb:: ; 0xd4fb + ds $2 + +wBellsproutAnimationFrameCounter:: ; 0xd4fd + ds $1 + +wBellsproutAnimationFrame:: ; 0xd4fe + ds $1 + +wBellsproutAnimationFrameIndex:: ; 0xd4ff + ds $1 + +wd500:: ; 0xd500 + ds $2 + +wd502:: ; 0xd502 + ds $1 + +wd503:: ; 0xd503 + ds $1 + +wd504:: ; 0xd504 + ds $1 + +wd505:: ; 0xd505 + ds $1 + +wd506:: ; 0xd506 + ds $1 + +wd507:: ; 0xd507 + ds $2 + +wd509:: ; 0xd509 + ds $1 + +wd50a:: ; 0xd50a + ds $1 + +wd50b:: ; 0xd50b + ds $1 + +wd50c:: ; 0xd50c + ds $1 + +wd50d:: ; 0xd50d + ds $1 + +wd50e:: ; 0xd50e + ds $1 + +wd50f:: ; 0xd50f + ds $3 + +wd512:: ; 0xd512 + ds $1 + +wd513:: ; 0xd513 + ds $1 + +wd514:: ; 0xd514 + ds $1 + +wd515:: ; 0xd515 + ds $1 + +wd516:: ; 0xd516 + ds $1 + +wd517:: ; 0xd517 + ds $1 + +wd518:: ; 0xd518 + ds $1 + +wPikachuSaverAnimationFrameCounter:: ; 0xd519 + ds $1 + +wPikachuSaverAnimationFrame:: ; 0xd51a + ds $1 + +wPikachuSaverAnimationFrameIndex:: ; 0xd51b + ds $1 + +wd51c:: ; 0xd51c + ds $1 + +wd51d:: ; 0xd51d + ds $1 + +wd51e:: ; 0xd51e + ds $1 + +wd51f:: ; 0xd51f + ds $1 + +wd520:: ; 0xd520 + ds $1 + +wd521:: ; 0xd521 + ds $1 + +wd522:: ; 0xd522 + ds $1 + +wd523:: ; 0xd523 + ds $1 + +wd524:: ; 0xd524 + ds $1 + +wd525:: ; 0xd525 + ds $1 + +wd526:: ; 0xd526 + ds $1 + +wd527:: ; 0xd527 + ds $1 + +wd528:: ; 0xd528 + ds $7 + +wIndicatorStates:: ; 0xd52f + ds $13 + +wLeftAlleyTrigger:: ; 0xd542 + ds $1 + +wLeftAlleyCount:: ; 0xd543 + ds $1 + +wRightAlleyTrigger:: ; 0xd544 + ds $1 + +wRightAlleyCount:: ; 0xd545 + ds $1 + +wSecondaryLeftAlleyTrigger:: ; 0xd546 + ds $2 + +wd548:: ; 0xd548 + ds $1 + +wd549:: ; 0xd549 + ds $1 + +wCurrentMap:: ; 0xd54a + ds $1 + +wInSpecialMode:: ; 0xd54b + ds $1 + +wd54c:: ; 0xd54c + ds $1 + +wd54d:: ; 0xd54d + ds $1 + +wd54e:: ; 0xd54e + ds $1 + +wd54f:: ; 0xd54f + ds $1 + +wSpecialMode:: ; 0xd550 + ds $1 + +wd551:: ; 0xd551 + ds $1 + +wCurrentEvolutionMon:: ; 0xd552 + ds $1 + +wCurrentEvolutionType:: ; 0xd553 + ds $1 + +wd554:: ; 0xd554 + ds $1 + +wd555:: ; 0xd555 + ds $1 + +wd556:: ; 0xd556 + ds $1 + +wd557:: ; 0xd557 + ds $1 + +wd558:: ; 0xd558 + ds $1 + +wd559:: ; 0xd559 + ds $1 + +wd55a:: ; 0xd55a + ds $1 + +wRareMonsFlag:: ; 0xd55b + ds $1 + +wd55c:: ; 0xd55c + ds $1 + +wd55d:: ; 0xd55d + ds $1 + +wd55e:: ; 0xd55e + ds $1 + +wd55f:: ; 0xd55f + ds $1 + +wd560:: ; 0xd560 + ds $1 + +wd561:: ; 0xd561 + ds $1 + +wd562:: ; 0xd562 + ds $1 + +wd563:: ; 0xd563 + ds $1 + +wd564:: ; 0xd564 + ds $1 + +wd565:: ; 0xd565 + ds $1 + +wd566:: ; 0xd566 + ds $c + +wd572:: ; 0xd572 + ds $6 + +wd578:: ; 0xd578 + ds $1 + +wCurrentCatchEmMon:: ; 0xd579 + ds $1 + +wTimerSeconds:: ; 0xd57a + ds $1 + +wTimerMinutes:: ; 0xd57b + ds $1 + +wTimerFrames:: ; 0xd57c + ds $1 + +wd57d:: ; 0xd57d + ds $1 + +wd57e:: ; 0xd57e + ds $1 + +wd57f:: ; 0xd57f + ds $1 + +wd580:: ; 0xd580 + ds $1 + +wd581:: ; 0xd581 + ds $1 + +wd582:: ; 0xd582 + ds $4 + +wd586:: ; 0xd586 + ds $30 + +wd5b6:: ; 0xd5b6 + ds $5 + +wd5bb:: ; 0xd5bb + ds $1 + +wd5bc:: ; 0xd5bc + ds $1 + +wd5bd:: ; 0xd5bd + ds $1 + +wd5be:: ; 0xd5be + ds $1 + +wd5bf:: ; 0xd5bf + ds $1 + +wNumMonHits:: ; 0xd5c0 + ds $1 + +wd5c1:: ; 0xd5c1 + ds $1 + +wd5c2:: ; 0xd5c2 + ds $1 + +wd5c3:: ; 0xd5c3 + ds $1 + +wd5c4:: ; 0xd5c4 + ds $1 + +wd5c5:: ; 0xd5c5 + ds $1 + +wd5c6:: ; 0xd5c6 + ds $1 + +wd5c7:: ; 0xd5c7 + ds $3 + +wd5ca:: ; 0xd5ca + ds $1 + +wd5cb:: ; 0xd5cb + ds $1 + +wd5cc:: ; 0xd5cc + ds $8 + +wd5d4:: ; 0xd5d4 + ds $4 + +wd5d8:: ; 0xd5d8 + ds $3 + +wd5db:: ; 0xd5db + ds $1 + +wd5dc:: ; 0xd5dc + ds $8 + +wd5e4:: ; 0xd5e4 + ds $5 + +wd5e9:: ; 0xd5e9 + ds $5 + +wd5ee:: ; 0xd5ee + ds $5 + +wd5f3:: ; 0xd5f3 + ds $1 + +wBallCaptureAnimationFrameCounter:: ; 0xd5f4 + ds $1 + +wBallCaptureAnimationFrame:: ; 0xd5f5 + ds $1 + +wBallCaptureAnimationFrameIndex:: ; 0xd5f6 + ds $1 + +wd5f7:: ; 0xd5f7 + ds $1 + +wd5f8:: ; 0xd5f8 + ds $1 + +wd5f9:: ; 0xd5f9 + ds $2 + +wd5fb:: ; 0xd5fb + ds $1 + +wd5fc:: ; 0xd5fc + ds $1 + +wd5fd:: ; 0xd5fd + ds $1 + +wd5fe:: ; 0xd5fe + ds $2 + +wd600:: ; 0xd600 + ds $1 + +wd601:: ; 0xd601 + ds $2 + +wd603:: ; 0xd603 + ds $1 + +wd604:: ; 0xd604 + ds $2 + +wd606:: ; 0xd606 + ds $1 + +wd607:: ; 0xd607 + ds $1 + +wd608:: ; 0xd608 + ds $1 + +wd609:: ; 0xd609 + ds $1 + +wd60a:: ; 0xd60a + ds $1 + +wd60b:: ; 0xd60b + ds $1 + +wd60c:: ; 0xd60c + ds $1 + +wd60d:: ; 0xd60d + ds $1 + +wd60e:: ; 0xd60e + ds $1 + +wd60f:: ; 0xd60f + ds $1 + +wd610:: ; 0xd610 + ds $1 + +wd611:: ; 0xd611 + ds $1 + +wd612:: ; 0xd612 + ds $1 + +wd613:: ; 0xd613 + ds $1 + +wd614:: ; 0xd614 + ds $1 + +wd615:: ; 0xd615 + ds $1 + +wGameOver:: ; 0xd616 + ds $3 + +wd619:: ; 0xd619 + ds $1 + +wd61a:: ; 0xd61a + ds $1 + +wd61b:: ; 0xd61b + ds $2 + +wd61d:: ; 0xd61d + ds $1 + +wd61e:: ; 0xd61e + ds $1 + +wd61f:: ; 0xd61f + ds $1 + +wd620:: ; 0xd620 + ds $1 + +wd621:: ; 0xd621 + ds $1 + +wd622:: ; 0xd622 + ds $1 + +wd623:: ; 0xd623 + ds $1 + +wd624:: ; 0xd624 + ds $1 + +wd625:: ; 0xd625 + ds $1 + +wd626:: ; 0xd626 + ds $2 + +wd628:: ; 0xd628 + ds $1 + +wd629:: ; 0xd629 + ds $1 + +wd62a:: ; 0xd62a + ds $1 + +wd62b:: ; 0xd62b + ds $1 + +wd62c:: ; 0xd62c + ds $1 + +wd62d:: ; 0xd62d + ds $1 + +wd62e:: ; 0xd62e + ds $1 + +wNumMewtwoBonusCompletions:: ; 0xd62f + ds $1 + +wd630:: ; 0xd630 + ds $2 + +wd632:: ; 0xd632 + ds $1 + +wd633:: ; 0xd633 + ds $1 + +wd634:: ; 0xd634 + ds $1 + +wd635:: ; 0xd635 + ds $2 + +wd637:: ; 0xd637 + ds $1 + +wd638:: ; 0xd638 + ds $1 + +wd639:: ; 0xd639 + ds $1 + +wd63a:: ; 0xd63a + ds $1 + +wd63b:: ; 0xd63b + ds $1 + +wd63c:: ; 0xd63c + ds $1 + +wd63d:: ; 0xd63d + ds $1 + +wBlueStageForceFieldDirection:: ; 0xd63e + ds $1 + +wd63f:: ; 0xd63f + ds $1 + +wd640:: ; 0xd640 + ds $1 + +wd641:: ; 0xd641 + ds $1 + +wd642:: ; 0xd642 + ds $1 + +wd643:: ; 0xd643 + ds $1 + +wd644:: ; 0xd644 + ds $1 + +wd645:: ; 0xd645 + ds $1 + +wd646:: ; 0xd646 + ds $1 + +wd647:: ; 0xd647 + ds $1 + +wd648:: ; 0xd648 + ds $1 + +wd649:: ; 0xd649 + ds $1 + +wd64a:: ; 0xd64a + ds $1 + +wd64b:: ; 0xd64b + ds $1 + +wd64c:: ; 0xd64c + ds $1 + +wd64d:: ; 0xd64d + ds $1 + +wd64e:: ; 0xd64e + ds $1 + +wd64f:: ; 0xd64f + ds $1 + +wd650:: ; 0xd650 + ds $1 + +wd651:: ; 0xd651 + ds $1 + +wd652:: ; 0xd652 + ds $1 + +wd653:: ; 0xd653 + ds $1 + +wd654:: ; 0xd654 + ds $2 + +wd656:: ; 0xd656 + ds $1 + +wd657:: ; 0xd657 + ds $1 + +wd658:: ; 0xd658 + ds $1 + +wd659:: ; 0xd659 + ds $2 + +wd65b:: ; 0xd65b + ds $2 + +wd65d:: ; 0xd65d + ds $2 + +wd65f:: ; 0xd65f + ds $2 + +wd661:: ; 0xd661 + ds $1 + +wd662:: ; 0xd662 + ds $2 + +wd664:: ; 0xd664 + ds $2 + +wd666:: ; 0xd666 + ds $2 + +wd668:: ; 0xd668 + ds $2 + +wd66a:: ; 0xd66a + ds $1 + +wd66b:: ; 0xd66b + ds $2 + +wd66d:: ; 0xd66d + ds $2 + +wd66f:: ; 0xd66f + ds $2 + +wd671:: ; 0xd671 + ds $2 + +wd673:: ; 0xd673 + ds $1 + +wd674:: ; 0xd674 + ds $1 + +wd675:: ; 0xd675 + ds $2 + +wd677:: ; 0xd677 + ds $2 + +wd679:: ; 0xd679 + ds $2 + +wd67b:: ; 0xd67b + ds $1 + +wd67c:: ; 0xd67c + ds $1 + +wd67d:: ; 0xd67d + ds $1 + +wd67e:: ; 0xd67e + ds $2 + +wd680:: ; 0xd680 + ds $2 + +wd682:: ; 0xd682 + ds $2 + +wd684:: ; 0xd684 + ds $2 + +wd686:: ; 0xd686 + ds $1 + +wd687:: ; 0xd687 + ds $2 + +wd689:: ; 0xd689 + ds $2 + +wd68b:: ; 0xd68b + ds $2 + +wd68d:: ; 0xd68d + ds $2 + +wd68f:: ; 0xd68f + ds $1 + +wd690:: ; 0xd690 + ds $1 + +wd691:: ; 0xd691 + ds $2 + +wd693:: ; 0xd693 + ds $2 + +wd695:: ; 0xd695 + ds $1 + +wd696:: ; 0xd696 + ds $1 + +wd697:: ; 0xd697 + ds $1 + +wd698:: ; 0xd698 + ds $2 + +wd69a:: ; 0xd69a + ds $1 + +wd69b:: ; 0xd69b + ds $1 + +wd69c:: ; 0xd69c + ds $2 + +wd69e:: ; 0xd69e + ds $1 + +wd69f:: ; 0xd69f + ds $1 + +wd6a0:: ; 0xd6a0 + ds $1 + +wd6a1:: ; 0xd6a1 + ds $1 + +wd6a2:: ; 0xd6a2 + ds $1 + +wd6a3:: ; 0xd6a3 + ds $1 + +wd6a4:: ; 0xd6a4 + ds $1 + +wd6a5:: ; 0xd6a5 + ds $1 + +wd6a6:: ; 0xd6a6 + ds $1 + +wd6a7:: ; 0xd6a7 + ds $1 + +wd6a8:: ; 0xd6a8 + ds $1 + +wd6a9:: ; 0xd6a9 + ds $1 + +wd6aa:: ; 0xd6aa + ds $2 + +wd6ac:: ; 0xd6ac + ds $1 + +wd6ad:: ; 0xd6ad + ds $1 + +wd6ae:: ; 0xd6ae + ds $1 + +wd6af:: ; 0xd6af + ds $1 + +wd6b0:: ; 0xd6b0 + ds $1 + +wd6b1:: ; 0xd6b1 + ds $1 + +wd6b2:: ; 0xd6b2 + ds $1 + +wd6b3:: ; 0xd6b3 + ds $1 + +wd6b4:: ; 0xd6b4 + ds $1 + +wd6b5:: ; 0xd6b5 + ds $1 + +wd6b6:: ; 0xd6b6 + ds $4 + +wd6ba:: ; 0xd6ba + ds $1 + +wd6bb:: ; 0xd6bb + ds $2 + +wd6bd:: ; 0xd6bd + ds $1 + +wd6be:: ; 0xd6be + ds $7 + +wd6c5:: ; 0xd6c5 + ds $1 + +wd6c6:: ; 0xd6c6 + ds $7 + +wd6cd:: ; 0xd6cd + ds $1 + +wd6ce:: ; 0xd6ce + ds $7 + +wd6d5:: ; 0xd6d5 + ds $1 + +wd6d6:: ; 0xd6d6 + ds $7 + +wd6dd:: ; 0xd6dd + ds $1 + +wd6de:: ; 0xd6de + ds $7 + +wd6e5:: ; 0xd6e5 + ds $1 + +wd6e6:: ; 0xd6e6 + ds $1 + +wd6e7:: ; 0xd6e7 + ds $2 + +wMeowthAnimationFrameCounter:: ; 0xd6e9 + ds $1 + +wMeowthAnimationFrame:: ; 0xd6ea + ds $1 + +wMeowthAnimationFrameIndex:: ; 0xd6eb + ds $1 + +wd6ec:: ; 0xd6ec + ds $1 + +wMeowthXPosition:: ; 0xd6ed + ds $1 + +wMeowthYPosition:: ; 0xd6ee + ds $2 + +wMeowthXMovement:: ; 0xd6f0 + ds $1 + +wMeowthYMovement:: ; 0xd6f1 + ds $2 + +wd6f3:: ; 0xd6f3 + ds $1 + +wd6f4:: ; 0xd6f4 + ds $1 + +wd6f5:: ; 0xd6f5 + ds $1 + +wd6f6:: ; 0xd6f6 + ds $1 + +wd6f7:: ; 0xd6f7 + ds $1 + +wd6f8:: ; 0xd6f8 + ds $1 + +wd6f9:: ; 0xd6f9 + ds $1 + +wd6fa:: ; 0xd6fa + ds $1 + +wd6fb:: ; 0xd6fb + ds $1 + +wd6fc:: ; 0xd6fc + ds $1 + +wd6fd:: ; 0xd6fd + ds $2 + +wd6ff:: ; 0xd6ff + ds $1 + +wd700:: ; 0xd700 + ds $1 + +wd701:: ; 0xd701 + ds $1 + +wd702:: ; 0xd702 + ds $1 + +wd703:: ; 0xd703 + ds $1 + +wd704:: ; 0xd704 + ds $1 + +wd705:: ; 0xd705 + ds $1 + +wd706:: ; 0xd706 + ds $1 + +wd707:: ; 0xd707 + ds $4 + +wd70b:: ; 0xd70b + ds $1 + +wd70c:: ; 0xd70c + ds $3 + +wMeowthStageBonusCounter:: ; 0xd70f + ds $1 + +wd710:: ; 0xd710 + ds $1 + +wMeowthStageScore:: ; 0xd711 + ds $1 + +wd712:: ; 0xd712 + ds $1 + +wd713:: ; 0xd713 + ds $1 + +wd714:: ; 0xd714 + ds $1 + +wd715:: ; 0xd715 + ds $1 + +wd716:: ; 0xd716 + ds $1 + +wd717:: ; 0xd717 + ds $1 + +wd718:: ; 0xd718 + ds $1 + +wd719:: ; 0xd719 + ds $1 + +wd71a:: ; 0xd71a + ds $1 + +wd71b:: ; 0xd71b + ds $1 + +wd71c:: ; 0xd71c + ds $2 + +wd71e:: ; 0xd71e + ds $1 + +wd71f:: ; 0xd71f + ds $1 + +wd720:: ; 0xd720 + ds $1 + +wd721:: ; 0xd721 + ds $1 + +wd722:: ; 0xd722 + ds $1 + +wd723:: ; 0xd723 + ds $1 + +wd724:: ; 0xd724 + ds $1 + +wd725:: ; 0xd725 + ds $1 + +wd726:: ; 0xd726 + ds $1 + +wd727:: ; 0xd727 + ds $1 + +wd728:: ; 0xd728 + ds $1 + +wd729:: ; 0xd729 + ds $1 + +wd72a:: ; 0xd72a + ds $1 + +wd72b:: ; 0xd72b + ds $1 + +wd72c:: ; 0xd72c + ds $5 + +wd731:: ; 0xd731 + ds $1 + +wd732:: ; 0xd732 + ds $1 + +wd733:: ; 0xd733 + ds $1 + +wd734:: ; 0xd734 + ds $1 + +wd735:: ; 0xd735 + ds $1 + +wd736:: ; 0xd736 + ds $3 + +wd739:: ; 0xd739 + ds $1 + +wd73a:: ; 0xd73a + ds $1 + +wd73b:: ; 0xd73b + ds $1 + +wd73c:: ; 0xd73c + ds $1 + +wDiglettStates:: ; 0xd73d + ds $1f + +wCurrentDiglett:: ; 0xd75c + ds $1 + +wDiglettsInitializedFlag:: ; 0xd75d + ds $1 + +wDiglettInitDelayCounter:: ; 0xd75e + ds $1 + +wd75f:: ; 0xd75f + ds $2 + +wDugtrioAnimationFrameCounter:: ; 0xd761 + ds $1 + +wDugtrioAnimationFrame:: ; 0xd762 + ds $1 + +wDugtrioAnimationFrameIndex:: ; 0xd763 + ds $1 + +wDugrioState:: ; 0xd764 + ds $1 + +wd765:: ; 0xd765 + ds $1 + +wd766:: ; 0xd766 + ds $1 + +wd767:: ; 0xd767 + ds $1 + +wd768:: ; 0xd768 + ds $3 + +wd76b:: ; 0xd76b + ds $1 + +wd76c:: ; 0xd76c + ds $1 + +wd76d:: ; 0xd76d + ds $1 + +wd76e:: ; 0xd76e + ds $2 + +wd770:: ; 0xd770 + ds $1 + +wd771:: ; 0xd771 + ds $1 + +wd772:: ; 0xd772 + ds $3 + +wd775:: ; 0xd775 + ds $1 + +wd776:: ; 0xd776 + ds $1 + +wd777:: ; 0xd777 + ds $1 + +wd778:: ; 0xd778 + ds $2 + +wd77a:: ; 0xd77a + ds $1 + +wd77b:: ; 0xd77b + ds $1 + +wd77c:: ; 0xd77c + ds $3 + +wd77f:: ; 0xd77f + ds $1 + +wd780:: ; 0xd780 + ds $1 + +wd781:: ; 0xd781 + ds $1 + +wd782:: ; 0xd782 + ds $2 + +wd784:: ; 0xd784 + ds $1 + +wd785:: ; 0xd785 + ds $1 + +wd786:: ; 0xd786 + ds $b + +wd791:: ; 0xd791 + ds $1 + +wd792:: ; 0xd792 + ds $1 + +wd793:: ; 0xd793 + ds $1 + +wd794:: ; 0xd794 + ds $1 + +wd795:: ; 0xd795 + ds $1 + +wd796:: ; 0xd796 + ds $1 + +wd797:: ; 0xd797 + ds $1 + +wd798:: ; 0xd798 + ds $1 + +wd799:: ; 0xd799 + ds $1 + +wd79a:: ; 0xd79a + ds $2 + +wd79c:: ; 0xd79c + ds $2 + +wd79e:: ; 0xd79e + ds $1 + +wd79f:: ; 0xd79f + ds $1 + +wd7a0:: ; 0xd7a0 + ds $1 + +wLeftTiltCounter:: ; 0xd7a1 + ds $1 + +wLeftTiltReset:: ; 0xd7a2 + ds $1 + +wRightTiltCounter:: ; 0xd7a3 + ds $1 + +wRightTiltReset:: ; 0xd7a4 + ds $1 + +wUpperTiltCounter:: ; 0xd7a5 + ds $1 + +wUpperTiltReset:: ; 0xd7a6 + ds $1 + +wLeftTiltPushing:: ; 0xd7a7 + ds $1 + +wRightTiltPushing:: ; 0xd7a8 + ds $1 + +wUpperTiltPushing:: ; 0xd7a9 + ds $1 + +wd7aa:: ; 0xd7aa + ds $1 + +wd7ab:: ; 0xd7ab + ds $1 + +wd7ac:: ; 0xd7ac + ds $1 + +wd7ad:: ; 0xd7ad + ds $1 + +wd7ae:: ; 0xd7ae + ds $1 + +wd7af:: ; 0xd7af + ds $1 + +wd7b0:: ; 0xd7b0 + ds $1 + +wd7b1:: ; 0xd7b1 + ds $1 + +wd7b2:: ; 0xd7b2 + ds $1 + +wd7b3:: ; 0xd7b3 + ds $1 + +wd7b4:: ; 0xd7b4 + ds $1 + +wd7b5:: ; 0xd7b5 + ds $1 + +wLeftFlipperAnimationState:: ; 0xd7b6 + ds $1 + +wRightFlipperAnimationState:: ; 0xd7b7 + ds $1 + +wFlipperXCollisionAttribute:: ; 0xd7b8 + ds $1 + +wFlipperCollision:: ; 0xd7b9 + ds $1 + +wd7ba:: ; 0xd7ba + ds $1 + +wd7bb:: ; 0xd7bb + ds $1 + +wd7bc:: ; 0xd7bc + ds $1 + +wd7bd:: ; 0xd7bd + ds $1 + +wd7be:: ; 0xd7be + ds $1 + +wd7bf:: ; 0xd7bf + ds $1 + +wd7c0:: ; 0xd7c0 + ds $1 + +wd7c1:: ; 0xd7c1 + ds $1 + +wd7c2:: ; 0xd7c2 + ds $1 + +wSubTileBallXPos:: ; 0xd7c3 + ds $1 + +wSubTileBallYPos:: ; 0xd7c4 + ds $1 + +wUpperLeftCollisionAttribute:: ; 0xd7c5 + ds $1 + +wLowerLeftCollisionAttribute:: ; 0xd7c6 + ds $1 + +wUpperRightCollisionAttribute:: ; 0xd7c7 + ds $1 + +wLowerRightCollisionAttribute:: ; 0xd7c8 + ds $1 + +wd7c9:: ; 0xd7c9 + ds $10 + +wd7d9:: ; 0xd7d9 + ds $10 + +wd7e9:: ; 0xd7e9 + ds $1 + +wd7ea:: ; 0xd7ea + ds $1 + +wd7eb:: ; 0xd7eb + ds $1 -wcBottomMessageText:: ; 0xc500 - ds $200 +wStageCollisionMapPointer:: ; 0xd7ec + ds $2 -wStageCollisionMap:: ; 0xc700 -; Collision data for each tile for the current stage. - ds $300 +wStageCollisionMapBank:: ; 0xd7ee + ds $1 - ds $600 +wStageCollisionMasksPointer:: ; 0xd7ef + ds $2 -SECTION "WRAM Bank 1", WRAMX, BANK[1] +wStageCollisionMasksBank:: ; 0xd7f1 + ds $1 -wOAMBuffer:: ; d000 - ; buffer for OAM data. Copied to OAM by DMA - ds 4 * 40 +wd7f2:: ; 0xd7f2 + ds $1 - ds $160 +wd7f3:: ; 0xd7f3 + ds $1 -wPaletteData:: ; 0xd200 - ; 16 palette definitions - ds $100 +wd7f4:: ; 0xd7f4 + ds $1 -wPartyMons:: ; 0xd300 -; List of pokemon in the player's party. -; When a pokemon is caught, it's appended to this list. -; When a pokemon is evolved, the pokemon's evolution replaces its entry in the list. - ds $160 +wd7f5:: ; 0xd7f5 + ds $1 -wNumPartyMons:: ; ; 0xd460 -; Number of pokemon in the wPartyMons list. - ds 1 +wd7f6:: ; 0xd7f6 + ds $1 - ds 9 +wd7f7:: ; 0xd7f7 + ds $1 -wScore:: ; 0xd46a -; player's current score - ds 6 +wd7f8:: ; 0xd7f8 + ds $1 - ds $e +wInGameMenuIndex:: ; 0xd7f9 + ds $1 -wBallType:: ; 0xd47e -; PokeBall, Great Ball, Ultra Ball, or Master Ball - ds 1 -wBallTypeCounter:: ; 0xd47f -; two-byte counter that represents how many frames remain until the Ball uprade goes down to the next level. - ds 2 -wBallTypeBackup:: ; 0xd481 -; Holds the ball type during bonus stages, since they always use a regular pokeball. - ds 1 +wd7fa:: ; 0xd7fa + ds $1 - ds $1f +wd7fb:: ; 0xd7fb + ds $1 -wBallSaverIconOn:: ; 0xd4a1 -; The blue Ball Saver icon is illuminated when this byte is non-zero. - ds 1 +wd7fc:: ; 0xd7fc + ds $1 - ds 1 +wd7fd:: ; 0xd7fd + ds $1 -wBallSaverTimerFrames:: ; 0xd4a3 -; Count the number of frames until wBallSaverTimerSeconds should be decremented - ds 1 -wBallSaverTimerSeconds:: ; 0xd4a4 -; Remaining seconds for Ball Saver - ds 1 +wd7fe:: ; 0xd7fe + ds $2 - ds 1 +wd800:: ; 0xd800 + ds $1 -wBallSaverTimerFramesBackup:: ; 0xd4a6 -; Used to store a backup of wBallSaverTimerFrames - ds 1 -wBallSaverTimerSecondsBackup:: ; 0xd4a7 -; Used to store a backup of wBallSaverTimerSeconds - ds 1 +wd801:: ; 0xd801 + ds $1 +wd802:: ; 0xd802 + ds $1 - ds 4 +wd803:: ; 0xd803 + ds $1 -wCurrentStage:: ; 0xd4ac - ds 1 +wd804:: ; 0xd804 + ds $1 - ds 2 +wd805:: ; 0xd805 + ds $1 -wStageCollisionState:: ; 0xd4af -; Stores the current collision state id for the stage -; For example, the Red stage can have different collision states when -; the Ditto lane is open, or when there is a wall above the Voltorbs. - ds 1 +wd806:: ; 0xd806 + ds $1 - ds 3 +wd807:: ; 0xd807 + ds $1 -wBallXPos:: ; 0xd4b3 -; x coordinate of the center of the pokeball -; little-endian word -; Most-significant byte is the pixel, and least-significant byte is fraction of a pixel - ds 2 +wd808:: ; 0xd808 + ds $1 -wBallYPos:: ; 0xd4b5 -; y coordinate of the center of the pokeball -; little-endian word -; Most-significant byte is the pixel, and least-significant byte is fraction of a pixel - ds 2 +wd809:: ; 0xd809 + ds $1 -wPreviousBallXPos:: ; 0xd4b7 -; x coordinate of the center of the pokeball in the previous frame -; little-endian word -; Most-significant byte is the pixel, and least-significant byte is fraction of a pixel - ds 2 +wd80a:: ; 0xd80a + ds $2 -wPreviousBallYPos:: ; 0xd4b9 -; y coordinate of the center of the pokeball in the previous frame -; little-endian word -; Most-significant byte is the pixel, and least-significant byte is fraction of a pixel - ds 2 +wd80c:: ; 0xd80c + ds $1 -wBallXVelocity:: ; 0xd4bb -; little-endian word -; This is added to wBallXPos every frame. - ds 2 +wd80d:: ; 0xd80d + ds $1 -wBallYVelocity:: ; 0xd4bd -; little-endian word -; This is added to wBallYPos every frame. - ds 2 +wd80e:: ; 0xd80e + ds $1 - ds 4 +wd80f:: ; 0xd80f + ds $1 -wBallSpin:: ; 0xd4c3 - ds 1 -wBallRotation:: ; 0xd4c4 -; wBallSpin is added to this every frame - ds 1 +wd810:: ; 0xd810 + ds $1 - ds $1c +wd811:: ; 0xd811 + ds $1 -wInitialMapSelectionIndex:: ; 0xd4e1 -; index to keep track of the spinning map selection at the start of a new game - ds 1 +wd812:: ; 0xd812 + ds $18 - ds $d +wd82a:: ; 0xd82a + ds $7 - ds 1 +wd831:: ; 0xd831 + ds $c -wLeftMapMoveCounter:: ; 0xd4f0 -; Diglett or Poliwag counter that counts to three to trigger a Map Move - ds 1 +wd83d:: ; 0xd83d + ds $9 - ds 1 +wd846:: ; 0xd846 + ds $2 -wRightMapMoveCounter:: ; 0xd4f2 -; Diglett or Psyduck counter that counts to three to trigger a Map Move\ - ds 1 +wd848:: ; 0xd848 + ds $1 -wLeftMapMoveDiglettAnimationCounter:: ; 0xd4f3 -; Counter that loops to control the left-side map move diglett head bobbing animation - ds 1 -wLeftMapMoveDiglettFrame:: ; 0xd4f4 -; Contains frame for map move diglett head bobbing animation - ds 1 -wRightMapMoveDiglettAnimationCounter :: ; 0xd4f5 -; Counter that loops to control the left-side map move diglett head bobbing animation - ds 1 -wRightMapMoveDiglettFrame:: ; 0xd4f6 -; Contains frame for map move diglett head bobbing animation - ds 1 +wd849:: ; 0xd849 + ds $1 - ds 6 +wd84a:: ; 0xd84a + ds $1 -wBellsproutAnimationFrameCounter:: ; 0xd4fd - ds 1 -wBellsproutAnimationFrame:: ; 0xd4fe - ds 1 -wBellsproutAnimationFrameIndex:: ; 0xd4ff - ds 1 +wd84b:: ; 0xd84b + ds $4 - ds $19 +wd84f:: ; 0xd84f + ds $c -wPikachuSaverAnimationFrameCounter:: ; 0xd519 - ds 1 -wPikachuSaverAnimationFrame:: ; 0xd51a - ds 1 -wPikachuSaverAnimationFrameIndex:: ; 0xd51b - ds 1 +wCurrentSongBank:: ; 0xd85b + ds $2 - ds $13 +wd85d:: ; 0xd85d + ds $1 -wIndicatorStates:: ; 0xd52f -; Each byte represents the status of each possible indicator on the stage. -; An indicator is a blinking icon telling the player to hit the pinball in -; a certain area. For example, when the Cloyster can be entered in the Blue -; Stage, the blue right arrow will starting blinking in the bottom half of that -; stage. - ds $13 +wd85e:: ; 0xd85e + ds $1 -wLeftAlleyTrigger:: ; 0xd542 -; Set to $1 when ball passes over the bottom-left corner of the Blue/Red field top screen -; It's used to determine if the Ball was hit up the left side alley. - ds 1 -wLeftAlleyCount:: ; 0xd543 -; Increments when the Ball travels up the left alley. -; When the count is 3, evolution mode can be triggered. - ds 1 -wRightAlleyTrigger:: ; 0xd544 -; Set to $1 when Ball passes over the bottom-right corner of the Blue/Red field top screen -; It's used to determine if the Ball was hit up the right side alley. - ds 1 -wRightAlleyCount:: ; 0xd545 -; Increments when the Ball travels up the right alley. -; When the count is 2, Catch 'Em Mode can be triggered. -; If the count is 3, the current map's rare pokemon will be used for Catch 'Em Mode. - ds 1 -wSecondaryLeftAlleyTrigger:: ; 0xd546 -; Set to $1 when Ball passes over the bottom of the skinny alley between the left alley and Staryu button on the Red Field top screen. -; It's used to determine if the Ball was hit up the Red Stage's secondary left-side alley. - ds 1 +wd85f:: ; 0xd85f + ds $1 - ds 3 +wd860:: ; 0xd860 + ds $1 -wCurrentMap:: ; 0xd54a -; Current map during play. See map_constants.asm - ds 1 +wd861:: ; 0xd861 + ds $1 -wInSpecialMode:: ; 0xd54b -; Set to non-zero when things like Catch 'em Mode or Map Move mode start. - ds 1 +wd862:: ; 0xd862 + ds $1 - ds 4 +wd863:: ; 0xd863 + ds $1 -wSpecialMode:: ; 0xd550 -; wInSpecialMode must be non-zero to activate this. -; 0 = Catch Em Mode -; 1 = Evolution Mode -; 2 = Map Move Mode - ds 1 +wd864:: ; 0xd864 + ds $1 - ds 1 +wd865:: ; 0xd865 + ds $1 -wCurrentEvolutionMon:: ; 0xd552 -; Current mon id for Evolution Mode. -; It stores (mon id - 1). - ds 1 -wCurrentEvolutionType:: ; 0xd553 -; Evolution type for the current mon in Evolution Mode. -; See evolution_type_constants.asm - ds 1 +wd866:: ; 0xd866 + ds $1 - ds 7 +wd867:: ; 0xd867 + ds $1 -wRareMonsFlag:: ; 0xd55b -; Gets set to $8 when the rare mons should be used for catch 'em mode. $8 is then doubled to add $10 to the base address of the map's wild mons table. - ds 1 +wd868:: ; 0xd868 + ds $1 +wd869:: ; 0xd869 + ds $1 + +wd86a:: ; 0xd86a + ds $1 + +wd86b:: ; 0xd86b + ds $1 + +wd86c:: ; 0xd86c + ds $1 + +wd86d:: ; 0xd86d + ds $1 + +wd86e:: ; 0xd86e ds $1d -wCurrentCatchEmMon:: ; 0xd579 -; Current mon id for CatchEm Mode. -; It stores (mon id - 1). - ds 1 +wd88b:: ; 0xd88b + ds $12 -wTimerSeconds:: ; 0xd57a - ds 1 -wTimerMinutes:: ; 0xd57b - ds 1 -wTimerFrames:: ; 0xd57c - ds 1 +wd89d:: ; 0xd89d + ds $a - ds $43 +wd8a7:: ; 0xd8a7 + ds $1 -wNumMonHits:: ; 0xd5c0 -; Number of times the wild pokemon has been hit in Catch'em mode - ds 1 +wd8a8:: ; 0xd8a8 + ds $1 - ds $33 +wd8a9:: ; 0xd8a9 + ds $1 -wBallCaptureAnimationFrameCounter:: ; 0xd5f4 - ds 1 -wBallCaptureAnimationFrame:: ; 0xd5f5 -; OAM id - ds 1 -wBallCaptureAnimationFrameIndex:: ; 0xd5f6 - ds 1 +wd8aa:: ; 0xd8aa + ds $1 - ds $1f +wd8ab:: ; 0xd8ab + ds $1 -wGameOver:: - ds 1 +wd8ac:: ; 0xd8ac + ds $1 - ds $18 ; d617 +wd8ad:: ; 0xd8ad + ds $1 -; Number of times the Mewtwo Bonus stage has been defeated. -; Counts up at most to 2, and is reset if Mew is encountered. -wNumMewtwoBonusCompletions:: ; 0xd62f - ds 1 +wd8ae:: ; 0xd8ae + ds $1 - ds $e +wd8af:: ; 0xd8af + ds $1 -wBlueStageForceFieldDirection:: ; 0xd63e -; Controls the direction of the arrow force field in between Cloyster and Slowpoke in the Blue Stage. -; $0 = up -; $1 = right -; $2 = down -; $3 = left - ds 1 +wd8b0:: ; 0xd8b0 + ds $1 - ds $aa +wd8b1:: ; 0xd8b1 + ds $1 -wMeowthAnimationFrameCounter:: ; 0xd6e9 -; Counts down. When it hits 0, the next animation frame happens. - ds 1 -wMeowthAnimationFrame:: ; 0xd6ea -; OAM id - ds 1 -wMeowthAnimationFrameIndex:: ; 0xd6eb - ds 1 +wd8b2:: ; 0xd8b2 + ds $1 - ds 1 +wd8b3:: ; 0xd8b3 + ds $1 -wMeowthXPosition:: ; 0xd6ed - ds 1 -wMeowthYPosition:: ; 0xd6ee - ds 1 +wd8b4:: ; 0xd8b4 + ds $1 - ds 1 +wd8b5:: ; 0xd8b5 + ds $1 -wMeowthXMovement:: ; 0xd6f0 -; Used to move meowth horizontally. -; Value is $01 when moving right. -; Value is $ff when moving left. - ds 1 -wMeowthYMovement:: ; 0xd6f1 -; Used to move meowth vertically. -; Value is $01 when moving down. -; Value is $ff when moving up. - ds 1 +wd8b6:: ; 0xd8b6 + ds $1 - ds $1d +wd8b7:: ; 0xd8b7 + ds $1 -wMeowthStageBonusCounter:: ; 0xd70f -; Keeps track of how many bonus points you get from collecting a coin. -; The bonus increases by 1 each time you collect a coin. -; If Meowth is hit, the bonus resets to 0. - ds 1 +wd8b8:: ; 0xd8b8 + ds $1 - ds 1 +wd8b9:: ; 0xd8b9 + ds $1 -wMeowthStageScore:: ; 0xd711 -; Number of Meowth coins collected. - ds 1 +wd8ba:: ; 0xd8ba + ds $1 - ds $2b +wd8bb:: ; 0xd8bb + ds $1 -wDiglettStates:: ; 0xd73d -; Each diglett has a sprite state 1 - 5. -; The animation wiggles back and forth. -; $0 = diglett has been hit -; $1 = hiding in hole -; $2 = straight up -; $3 = leaning left -; $4 = straight up -; $5 = leaning right -; $6 = getting hit - ds 31 +wd8bc:: ; 0xd8bc + ds $1 -wCurrentDiglett:: ; 0xd75c -; Keeps track of which diglett is being updated. - ds 1 +wd8bd:: ; 0xd8bd + ds $1 -wDiglettsInitializedFlag:: ; 0xd75d -; bit 0 is set after all digletts have been initialized - ds 1 +wd8be:: ; 0xd8be + ds $1 -wDiglettInitDelayCounter:: ; 0xd75e -; used to faciliate how fast the digletts are initialized - ds 1 +wd8bf:: ; 0xd8bf + ds $1 - ds 2 +wd8c0:: ; 0xd8c0 + ds $1 -wDugtrioAnimationFrameCounter:: ; 0xd761 - ds 1 -wDugtrioAnimationFrame:: ; 0xd762 -; OAM id - ds 1 -wDugtrioAnimationFrameIndex:: ; 0xd763 - ds 1 +wd8c1:: ; 0xd8c1 + ds $1 -wDugrioState:: ; 0xd764 -; Similar function as wDiglettStates. -; $0 = Dugtrio hasn't appeared yet -; $1 = 3 healthy dugtrio -; $2 = Getting hit first time -; $3 = 2 healthy dugtrio -; $4 = Getting hit second time -; $5 = 1 healthy dugtrio -; $6 = Getting hit third time -; $7 = Disappearing - ds 1 - - ds $3c +wd8c2:: ; 0xd8c2 + ds $1 -wLeftTiltCounter:: ; 0xd7a1 -; Counts up to 3 and back down to time the left tilt animation - ds 1 -wLeftTiltReset:: ; 0xd7a2 -; Set to $1 when the left tilt button has been held down long enough - ds 1 -wRightTiltCounter:: ; 0xd7a3 -; Counts up to 3 and back down to time the right tilt animation - ds 1 -wRightTiltReset:: ; 0xd7a4 -; Set to $1 when the right tilt button has been held down long enough - ds 1 -wUpperTiltCounter:: ; 0xd7a5 -; Counts up to 3 and back down to time the upper tilt animation - ds 1 -wUpperTiltReset:: ; 0xd7a6 -; Set to $1 when the upper tilt button has been held down long enough - ds 1 +wd8c3:: ; 0xd8c3 + ds $1 -wLeftTiltPushing:: ; 0xd7a7 -; Set to $1 when the left tilt is in the first half of its animation - ds 1 -wRightTiltPushing:: ; 0xd7a8 -; Set to $1 when the right tilt is in the first half of its animation - ds 1 -wUpperTiltPushing:: ; 0xd7a9 -; Set to $1 when the upper tilt is in the first half of its animation - ds 1 +wd8c4:: ; 0xd8c4 + ds $1 - ds 12 +wd8c5:: ; 0xd8c5 + ds $1 -wLeftFlipperAnimationState:: ; 0xd7b6 -; Counts from $0 to $f when using the left flipper. - ds 1 -wRightFlipperAnimationState:: ; 0xd7b7 -; Counts from $0 to $f when using the right flipper. - ds 1 +wd8c6:: ; 0xd8c6 + ds $1 -wFlipperXCollisionAttribute:: ; 0xd7b8 -; Goes with hFlipperYCollisionAttribute - ds 1 +wd8c7:: ; 0xd8c7 + ds $1 -wFlipperCollision:: ; 0xd7b9 -; Set to $1 when the ball is colliding with a flipper - ds 1 +wd8c8:: ; 0xd8c8 + ds $2 - ds 9 +wd8ca:: ; 0xd8ca + ds $1 -wSubTileBallXPos:: ; 0xd7c3 - ds 1 -wSubTileBallYPos:: ; 0xd7c4 - ds 1 +wd8cb:: ; 0xd8cb + ds $1 -wUpperLeftCollisionAttribute:: ; 0xd7c5 - ds 1 -wLowerLeftCollisionAttribute:: ; 0xd7c6 - ds 1 -wUpperRightCollisionAttribute:: ; 0xd7c7 - ds 1 -wLowerRightCollisionAttribute:: ; 0xd7c8 - ds 1 +wd8cc:: ; 0xd8cc + ds $1 - ds $23 +wd8cd:: ; 0xd8cd + ds $1 -wStageCollisionMapPointer:: ; 0xd7ec -; pointer to the current collision map (always points to wStageCollisionMapPointer, except when loading new attributes) - ds 2 -wStageCollisionMapBank:: ; 0xd7ee -; holds bank of current collision map (always $00, except when loading new attributes) - ds 1 +wd8ce:: ; 0xd8ce + ds $1 -wStageCollisionMasksPointer:: ; 0xd7ef -; Pointer to the current collision masks array - ds 2 -wStageCollisionMasksBank:: ; 0xd7f1 -; Holds bank of current collision masks array - ds 1 +wd8cf:: ; 0xd8cf + ds $1 - ds 7 +wd8d0:: ; 0xd8d0 + ds $1 -wInGameMenuIndex:: ; 0xd7f9 - ds 1 +wd8d1:: ; 0xd8d1 + ds $1 - ds $61 +wd8d2:: ; 0xd8d2 + ds $1 -wCurrentSongBank:: ; 0xd85b - ds 1 +wd8d3:: ; 0xd8d3 + ds $1 + +wd8d4:: ; 0xd8d4 + ds $1 + +wd8d5:: ; 0xd8d5 + ds $1 + +wd8d6:: ; 0xd8d6 + ds $1 + +wd8d7:: ; 0xd8d7 + ds $1 + +wd8d8:: ; 0xd8d8 + ds $3 + +wd8db:: ; 0xd8db + ds $1 - ds $95 +wd8dc:: ; 0xd8dc + ds $1 + +wd8dd:: ; 0xd8dd + ds $1 + +wd8de:: ; 0xd8de + ds $2 + +wd8e0:: ; 0xd8e0 + ds $1 + +wd8e1:: ; 0xd8e1 + ds $1 + +wd8e2:: ; 0xd8e2 + ds $1 + +wd8e3:: ; 0xd8e3 + ds $1 + +wd8e4:: ; 0xd8e4 + ds $1 + +wd8e5:: ; 0xd8e5 + ds $1 + +wd8e6:: ; 0xd8e6 + ds $1 + +wd8e7:: ; 0xd8e7 + ds $1 + +wd8e8:: ; 0xd8e8 + ds $1 + +wd8e9:: ; 0xd8e9 + ds $1 + +wd8ea:: ; 0xd8ea + ds $1 + +wd8eb:: ; 0xd8eb + ds $1 + +wd8ec:: ; 0xd8ec + ds $1 + +wd8ed:: ; 0xd8ed + ds $1 + +wd8ee:: ; 0xd8ee + ds $1 + +wd8ef:: ; 0xd8ef + ds $1 + +wd8f0:: ; 0xd8f0 + ds $1 wCurrentScreen:: ; 0xd8f1 -; The game is driven by state machines. This is the current screen. - ds 1 + ds $1 + wScreenState:: ; 0xd8f2 -; The game is driven by state machines. This is the current state for the current screen. - ds 1 + ds $4 - ds 22 +wd8f6:: ; 0xd8f6 + ds $12 + +wd908:: ; 0xd908 + ds $1 wTitleScreenCursorSelection:: ; 0xd909 -; 0 = Game Start -; 1 = PokeDex -; 2 = Option - ds 1 + ds $1 wTitleScreenGameStartCursorSelection:: ; 0xd90a -; 0 = New Game -; 1 = Continue - ds 1 - - ds 1 + ds $2 wTitleScreenBlinkAnimationFrame:: ; 0xd90c -; Pikachu's blinking animation is looped through frames. This keeps track of the current frame. - ds 1 + ds $1 wTitleScreenBlinkAnimationCounter:: ; 0xd90d -; Counts down. When it hits 0, wTitleScreenBlinkAnimationFrame is incremented. - ds 1 + ds $1 wTitleScreenBouncingBallAnimationFrame:: ; 0xd90e -; The bouncing Pokeball on the title screen has a 6-frame animation. This keeps track of the current frame. - ds 1 + ds $1 wTitleScreenPokeballAnimationCounter:: ; 0xd90f - ds 1 + ds $1 - ds 2 +wd910:: ; 0xd910 + ds $1 + +wd911:: ; 0xd911 + ds $1 wFieldSelectBlinkingBorderTimer:: ; 0xd912 -; Number of frames to blink the field select screen border after the player chooses a field. - ds 1 + ds $1 -wSelectedFieldIndex:: ; d913 -; $0 if player is hovering cursor over Red Stage -; $1 if player is hovering cursor over Blue Stage - ds 1 +wSelectedFieldIndex:: ; 0xd913 + ds $1 wFieldSelectBlinkingBorderFrame:: ; 0xd914 -; The blinking border's current animation frame. - ds 1 + ds $1 + +wd915:: ; 0xd915 + ds $1 - ds 5 +wd916:: ; 0xd916 + ds $1 + +wd917:: ; 0xd917 + ds $1 + +wd918:: ; 0xd918 + ds $1 + +wd919:: ; 0xd919 + ds $1 + +wSoundTestCurrentBackgroundMusic:: ; 0xd91a + ds $1 -wSoundTestCurrentBackgroundMusic:: ; d91a - ds 1 wSoundTextCurrentSoundEffect:: ; 0xd91b - ds 1 + ds $1 + +wd91c:: ; 0xd91c + ds $1 + +wd91d:: ; 0xd91d + ds $1 + +wd91e:: ; 0xd91e + ds $1 + +wd91f:: ; 0xd91f + ds $1 - ds 44 +wd920:: ; 0xd920 + ds $1 -wKeyConfigs:: ; 0xd948 -; each function map to two joypad buttons (see joy_constants.asm) +wd921:: ; 0xd921 + ds $1 + +wd922:: ; 0xd922 + ds $14 + +wd936:: ; 0xd936 + ds $8 + +wd93e:: ; 0xd93e + ds $1 + +wd93f:: ; 0xd93f + ds $8 + +wd947:: ; 0xd947 + ds $1 + +wKeyConfigs:: wKeyConfigBallStart:: ; 0xd948 - ds 2 + ds $2 + wKeyConfigLeftFlipper:: ; 0xd94a - ds 2 + ds $2 + wKeyConfigRightFlipper:: ; 0xd94c - ds 2 + ds $2 + wKeyConfigLeftTilt:: ; 0xd94e - ds 2 + ds $2 + wKeyConfigRightTilt:: ; 0xd950 - ds 2 + ds $2 + wKeyConfigUpperTilt:: ; 0xd952 - ds 2 + ds $2 + wKeyConfigMenu:: ; 0xd954 - ds 2 + ds $2 - ds 3 +wd956:: ; 0xd956 + ds $1 + +wd957:: ; 0xd957 + ds $1 + +wd958:: ; 0xd958 + ds $1 wCurPokedexIndex:: ; 0xd959 -; Stores the mon index of which pokemon the cursor is on in the Pokedex screen. - ds 1 + ds $1 + wPokedexOffset:: ; 0xd95a -; Stores the number of pokedex entries that are above the current displayed pokemon entries. - ds 1 + ds $1 + +wd95b:: ; 0xd95b + ds $1 - ds 7 +wd95c:: ; 0xd95c + ds $1 + +wd95d:: ; 0xd95d + ds $1 + +wd95e:: ; 0xd95e + ds $1 + +wd95f:: ; 0xd95f + ds $1 + +wd960:: ; 0xd960 + ds $1 + +wd961:: ; 0xd961 + ds $1 wPokedexFlags:: ; 0xd962 -; Each pokemon is represented by one byte in the normal Pokedex order -; byte == 0: mon hasn't been seen -; byte == 1: mon has been seen -; byte >= 2: mon has been captured - ds 151 + ds $96 + +wd9f8:: ; 0xd9f8 + ds $1 + wNumPokemonSeen:: ; 0xd9f9 - ds 2 + ds $2 + wNumPokemonOwned:: ; 0xd9fb - ds 2 + ds $2 wRedHighScores:: ; 0xd9fd -wRedHighScore1Points:: ; 0xd9fd - ds 6 +wRedHighScore1Points:: + ds $6 + wRedHighScore1Name:: ; 0xda03 - ds 3 - ds 4 + ds $3 + +wda06:: ; 0xda06 + ds $4 wRedHighScore2Points:: ; 0xda0a - ds 6 + ds $6 + wRedHighScore2Name:: ; 0xda10 - ds 3 - ds 4 + ds $7 wRedHighScore3Points:: ; 0xda17 - ds 6 + ds $6 + wRedHighScore3Name:: ; 0xda1d - ds 3 - ds 4 + ds $7 wRedHighScore4Points:: ; 0xda24 - ds 6 + ds $6 + wRedHighScore4Name:: ; 0xda2a - ds 3 - ds 4 + ds $6 + +wda30:: ; 0xda30 + ds $1 wRedHighScore5Points:: ; 0xda31 - ds 6 + ds $5 + +wda36:: ; 0xda36 + ds $1 + wRedHighScore5Name:: ; 0xda37 - ds 3 - ds 4 + ds $6 + +wda3d:: ; 0xda3d + ds $1 -wBlueHighScores:: ; 0xda3e wBlueHighScore1Points:: ; 0xda3e - ds 6 + ds $6 + wBlueHighScore1Name:: ; 0xda44 - ds 3 - ds 4 + ds $3 + +wda47:: ; 0xda47 + ds $4 wBlueHighScore2Points:: ; 0xda4b - ds 6 -wBlueHighScore2Name:: ; 0xda52 - ds 3 - ds 4 + ds $6 + +wBlueHighScore2Name:: ; 0xda51 + ds $7 wBlueHighScore3Points:: ; 0xda58 - ds 6 + ds $6 + wBlueHighScore3Name:: ; 0xda5e - ds 3 - ds 4 + ds $7 wBlueHighScore4Points:: ; 0xda65 - ds 6 + ds $6 + wBlueHighScore4Name:: ; 0xda6b - ds 3 - ds 4 + ds $6 + +wda71:: ; 0xda71 + ds $1 wBlueHighScore5Points:: ; 0xda72 - ds 6 + ds $5 + +wda77:: ; 0xda77 + ds $1 + wBlueHighScore5Name:: ; 0xda78 - ds 3 - ds 4 + ds $6 + +wda7e:: ; 0xda7e + ds $1 + +wda7f:: ; 0xda7f + ds $1 + +wda80:: ; 0xda80 + ds $1 - ds 4 +wda81:: ; 0xda81 + ds $1 + +wda82:: ; 0xda82 + ds $1 wHighScoresStage:: ; 0xda83 -; Current stage's high scores. -; 0 = Red Stage -; 1 = Blue stage - ds 1 + ds $1 wHighScoresArrowAnimationCounter:: ; 0xda84 -; Counts up to $28 and wraps around to $0 to control the animation of the -; arrows in the bottom corner of the high scores screen. - ds 1 + ds $1 + +wda85:: ; 0xda85 + ds $1 - ds 2 +wda86:: ; 0xda86 + ds $1 wSendHighScoresAnimationFrameCounter:: ; 0xda87 - ds 1 + ds $1 + wSendHighScoresAnimationFrame:: ; 0xda88 - ds 1 + ds $1 + wSendHighScoresAnimationFrameIndex:: ; 0xda89 - ds 1 + ds $1 + +wda8a:: ; 0xda8a + ds $18 + +wdaa2:: ; 0xdaa2 + ds $1 + +wdaa3:: ; 0xdaa3 + ds $20a + +wdcad:: ; 0xdcad + ds $53 + +wdd00:: ; 0xdd00 + ds $1 + +wdd01:: ; 0xdd01 + ds $32 + +wdd33:: ; 0xdd33 + ds $32 + +wdd65:: ; 0xdd65 + ds $32 + +wdd97:: ; 0xdd97 + ds $32 + +wddc9:: ; 0xddc9 + ds $2 + +wddcb:: ; 0xddcb + ds $30 + +wddfb:: ; 0xddfb + ds $2 + +wddfd:: ; 0xddfd + ds $24 + +wde21:: ; 0xde21 + ds $c + +wde2d:: ; 0xde2d + ds $2 + +wde2f:: ; 0xde2f + ds $30 + +wde5f:: ; 0xde5f + ds $2 + +wde61:: ; 0xde61 + ds $24 + +wde85:: ; 0xde85 + ds $c + +wde91:: ; 0xde91 + ds $1 + +wde92:: ; 0xde92 + ds $1 + +wde93:: ; 0xde93 + ds $1 + +wde94:: ; 0xde94 + ds $1 + +wde95:: ; 0xde95 + ds $1 + +wde96:: ; 0xde96 + ds $1 + +wde97:: ; 0xde97 + ds $1 + +wde98:: ; 0xde98 + ds $1 + +wde99:: ; 0xde99 + ds $1 + +wde9a:: ; 0xde9a + ds $1 + +wde9b:: ; 0xde9b + ds $1 + +wde9c:: ; 0xde9c + ds $1 + +wde9d:: ; 0xde9d + ds $1 + +wde9e:: ; 0xde9e + ds $1 + +wde9f:: ; 0xde9f + ds $2 + +wdea1:: ; 0xdea1 + ds $1 + +wdea2:: ; 0xdea2 + ds $1 + +wdea3:: ; 0xdea3 + ds $1 + +wdea4:: ; 0xdea4 + ds $1 + +wdea5:: ; 0xdea5 + ds $3 + +wdea8:: ; 0xdea8 + ds $1 + +wdea9:: ; 0xdea9 + ds $1 + +wdeaa:: ; 0xdeaa + ds $1 + +wdeab:: ; 0xdeab + ds $1 + +wdeac:: ; 0xdeac + ds $1 + +wdead:: ; 0xdead + ds $1 + +wdeae:: ; 0xdeae + ds $151 + +wdfff:: ; 0xdfff + ds $1 + -- cgit v1.2.3 From c4fbac1fefb86ed01cb4a5cd53561abedabc83a5 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 6 Dec 2016 19:29:35 -0500 Subject: Still more hardcoded ROM pointers --- main.asm | 80 ++++++++++++++++++++++++++++++---------------------------------- text.asm | 10 ++++---- wram.asm | 11 +-------- 3 files changed, 44 insertions(+), 57 deletions(-) diff --git a/main.asm b/main.asm index 215f914..b01d11e 100755 --- a/main.asm +++ b/main.asm @@ -6499,6 +6499,7 @@ Func_351c: ; 0x351c ret Func_3538: ; 0x3538 +; Add BCD value bcde to [wd47a]. Cap at $99999999. ld hl, wd47a ld a, [hl] add e @@ -6528,11 +6529,11 @@ Func_3538: ; 0x3538 Func_3556: ; 0x3556 ld a, [wd47a] ld e, a - ld a, [wd47b] + ld a, [wd47a + 1] ld d, a - ld a, [wd47c] + ld a, [wd47a + 2] ld c, a - ld a, [wd47d] + ld a, [wd47a + 3] ld b, a ret @@ -38388,14 +38389,14 @@ Func_205e0: ; 0x205e0 callba Func_8588 call Func_30e8 call Func_30db - ld de, $2bd8 + ld de, YeahYouGotItText ld hl, wd5cc call LoadTextHeader ld a, [hGameBoyColorFlag] and a jr z, .asm_2064f - ld a, $37 - ld hl, $4af0 + ld a, BANK(StageRedFieldBottomOBJPalette6) + ld hl, StageRedFieldBottomOBJPalette6 ld de, $0070 ld bc, $0008 call Func_7dc @@ -38413,7 +38414,7 @@ Func_20651: ; 0x20651 ld b, $0 swap c sla c - ld hl, $4e80 + ld hl, Data_d8e80 add hl, bc ld a, [wd554] ld c, a @@ -38427,7 +38428,7 @@ Func_20651: ; 0x20651 ld e, l pop hl ld bc, $0020 - ld a, $36 + ld a, BANK(Data_d8e80) call LoadVRAMData .asm_20681 ld a, [wd554] @@ -38472,16 +38473,16 @@ Func_20651: ; 0x20651 ld a, [wCurrentStage] bit 0, a ret z - ld a, $36 - ld hl, $6c60 + ld a, BANK(StageSharedBonusSlotGlowGfx) + ld hl, StageSharedBonusSlotGlowGfx + $60 ld de, $8200 ld bc, $00e0 call LoadVRAMData ld a, [hGameBoyColorFlag] and a jr z, .asm_20700 - ld a, $37 - ld hl, $4af8 + ld a, BANK(StageRedFieldBottomOBJPalette7) + ld hl, StageRedFieldBottomOBJPalette7 ld de, $0078 ld bc, $0008 call Func_7dc @@ -38824,8 +38825,8 @@ Func_20977: ; 0x20977 ld a, [hGameBoyColorFlag] and a jr z, .asm_209bf - ld a, $37 - ld hl, $5188 + ld a, BANK(Data_dd188) + ld hl, Data_dd188 ld de, $0070 ld bc, $0010 call Func_7dc @@ -38885,9 +38886,9 @@ Func_209eb: ; 0x209eb ld hl, wd5cc ld a, [wCurrentEvolutionType] cp EVO_EXPERIENCE - ld de, $2b7b + ld de, PokemonIsTiredText jr z, .asm_20a50 - ld de, $2b93 + ld de, ItemNotFoundText .asm_20a50 call LoadTextHeader scf @@ -38957,8 +38958,8 @@ asm_20a9f: ld a, [hGameBoyColorFlag] and a jr z, .asm_20ada - ld a, $37 - ld hl, $4af0 + ld a, BANK(StageRedFieldBottomOBJPalette6) + ld hl, StageRedFieldBottomOBJPalette6 ld de, $0070 ld bc, $0008 call Func_7dc @@ -38967,9 +38968,9 @@ asm_20a9f: call Func_30db ld a, [wCurrentEvolutionType] cp EVO_EXPERIENCE - ld de, $2ba9 + ld de, PokemonRecoveredText jr z, .asm_20aed - ld de, $2bc2 + ld de, TryNextPlaceText .asm_20aed ld hl, wd5cc call LoadTextHeader @@ -39149,20 +39150,17 @@ Func_20c08: ; 0x20c08 call nz, BankSwitch ld bc, TenThousandPoints ld [$ff8a], a - ld a, $2 - ld hl, $4588 -.asm_20c4f - call BankSwitch + callba Func_8588 call Func_30e8 call Func_30db - ld de, $2bd8 + ld de, YeahYouGotItText ld hl, wd5cc call LoadTextHeader ld a, [hGameBoyColorFlag] and a jr z, .asm_20c74 - ld a, $37 - ld hl, $4bf0 + ld a, BANK(StageBlueFieldBottomOBJPalette6) + ld hl, StageBlueFieldBottomOBJPalette6 ld de, $0070 ld bc, $0008 call Func_7dc @@ -39180,7 +39178,7 @@ Func_20c76: ; 0x20c76 ld b, $0 swap c sla c - ld hl, $4e80 + ld hl, Data_d8e80 add hl, bc ld a, [wd554] ld c, a @@ -39194,7 +39192,7 @@ Func_20c76: ; 0x20c76 ld e, l pop hl ld bc, $0020 - ld a, $36 + ld a, BANK(Data_d8e80) call LoadVRAMData .asm_20ca6 ld a, [wd554] @@ -39239,16 +39237,16 @@ Func_20c76: ; 0x20c76 ld a, [wCurrentStage] bit 0, a ret z - ld a, $36 - ld hl, $6c60 + ld a, BANK(StageSharedBonusSlotGlowGfx) + ld hl, StageSharedBonusSlotGlowGfx + $60 ld de, $8200 ld bc, $00e0 call LoadVRAMData ld a, [hGameBoyColorFlag] and a jr z, .asm_20d25 - ld a, $37 - ld hl, $4bf8 + ld a, BANK(StageBlueFieldBottomOBJPalette7) + ld hl, StageBlueFieldBottomOBJPalette7 ld de, $0078 ld bc, $0008 call Func_7dc @@ -39571,8 +39569,8 @@ Func_20f75: ; 0x20f75 ld a, [hGameBoyColorFlag] and a jr z, .asm_20fc3 - ld a, $37 - ld hl, $5188 + ld a, BANK(Data_dd188) + ld hl, Data_dd188 ld de, $0070 ld bc, $0010 call Func_7dc @@ -39633,9 +39631,9 @@ Func_20fef: ; 0x20fef ld hl, wd5cc ld a, [wCurrentEvolutionType] cp EVO_EXPERIENCE - ld de, $2b7b + ld de, PokemonIsTiredText jr z, .asm_21057 - ld de, $2b93 + ld de, ItemNotFoundText .asm_21057 call LoadTextHeader scf @@ -39650,9 +39648,7 @@ Func_2105c: ; 0x2105c jr z, .asm_21077 ld bc, OneMillionPoints ld [$ff8a], a - ld a, $2 - ld hl, $4588 - call BankSwitch + callba Func_8588 jr asm_210c7 .asm_21077 @@ -39737,9 +39733,9 @@ asm_210c7: call Func_30db ld a, [wCurrentEvolutionType] cp EVO_EXPERIENCE - ld de, $2ba9 + ld de, PokemonRecoveredText jr z, .asm_21115 - ld de, $2bc2 + ld de, TryNextPlaceText .asm_21115 ld hl, wd5cc call LoadTextHeader diff --git a/text.asm b/text.asm index ae7bfc9..f386952 100755 --- a/text.asm +++ b/text.asm @@ -109,23 +109,23 @@ Data_2b6b: db $07, $6c, $46, $14, $20, $49 db "12345678 @" -Data_2b7b: +PokemonIsTiredText: db $05, $54, $42, $14, $00, $39 db "POKeMON IS TIRED @" -Data_2b93: +ItemNotFoundText: db $05, $54, $43, $14, $00, $37 db "ITEM NOT FOUND @" -Data_2ba9: +PokemonRecoveredText: db $05, $54, $41, $14, $00, $3a db "POKeMON RECOVERED @" -Data_2bc2: +TryNextPlaceText: db $05, $54, $43, $14, $00, $37 db "TRY NEXT PLACE @" -Data_2bd8: +YeahYouGotItText: db $05, $54, $42, $14, $00, $39 db "YEAH! YOU GOT IT @" diff --git a/wram.asm b/wram.asm index c046e96..a3ca143 100755 --- a/wram.asm +++ b/wram.asm @@ -148,16 +148,7 @@ wd479:: ; 0xd479 ds $1 wd47a:: ; 0xd47a - ds $1 - -wd47b:: ; 0xd47b - ds $1 - -wd47c:: ; 0xd47c - ds $1 - -wd47d:: ; 0xd47d - ds $1 + ds $4 wBallType:: ; 0xd47e ds $1 -- cgit v1.2.3 From 3ea84ad556b2e1ee81e44e278543b9d0fcd301a6 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 6 Dec 2016 19:45:52 -0500 Subject: All hardcoded ROM pointers in BANK 9 --- main.asm | 201 +++++++++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 130 insertions(+), 71 deletions(-) diff --git a/main.asm b/main.asm index b01d11e..3c0ce47 100755 --- a/main.asm +++ b/main.asm @@ -39723,8 +39723,8 @@ asm_210c7: ld a, [hGameBoyColorFlag] and a jr z, .asm_21102 - ld a, $37 - ld hl, $4bf0 + ld a, BANK(StageBlueFieldBottomOBJPalette6) + ld hl, StageBlueFieldBottomOBJPalette6 ld de, $0070 ld bc, $0008 call Func_7dc @@ -39836,8 +39836,6 @@ Func_2112a: ; 0x2112a scf ret - dr $211d6, $24000 - SECTION "bank9", ROMX, BANK[$9] InitMeowthBonusStage: ; 0x24000 @@ -40025,9 +40023,9 @@ Func_24170: ; 0x24170 ld l, b ld h, $0 add hl, de - ld de, $5500 + ld de, Data_e9500 add hl, de - ld a, $3a + ld a, BANK(Data_e9500) call ReadByteFromBank bit 7, a jr nz, .asm_24212 @@ -40173,9 +40171,9 @@ Func_24272: ; 0x24272 ld l, b ld h, $0 add hl, de - ld de, $5c80 ; todo + ld de, Data_e9c80 add hl, de - ld a, $3a + ld a, BANK(Data_e9c80) call ReadByteFromBank bit 7, a jr nz, .asm_242b9 @@ -40483,7 +40481,7 @@ Func_2442a: ; 0x2442a ld [wd713], a ld a, $1 ld [wd712], a - ld hl, $4704 + ld hl, Data_24704 ld de, wMeowthAnimationFrameCounter call CopyHLToDE ld a, $4 @@ -40510,11 +40508,11 @@ Func_24516: ; 0x24516 sla a ld c, a ld b, $0 - ld hl, $4533 + ld hl, Data_24533 ld a, [hGameBoyColorFlag] and a jr z, .asm_24529 - ld hl, $456f + ld hl, Data_2456f .asm_24529 add hl, bc ld a, [hli] @@ -40524,7 +40522,11 @@ Func_24516: ; 0x24516 call Func_10aa ret - dr $24533, $245ab +Data_24533: + dr $24533, $2456f + +Data_2456f: + dr $2456f, $245ab Func_245ab: ; 0x245ab ld a, [wd6e7] @@ -40567,7 +40569,7 @@ Func_245ab: ; 0x245ab jr nc, .asm_24621 and a jr nz, .asm_24611 - ld hl, $46fe + ld hl, Data_246fe ld de, wMeowthAnimationFrameCounter call CopyHLToDE ld a, $2 @@ -40575,7 +40577,7 @@ Func_245ab: ; 0x245ab jr .asm_24651 .asm_24611 - ld hl, $4701 + ld hl, Data_24701 ld de, wMeowthAnimationFrameCounter call CopyHLToDE ld a, $3 @@ -40600,7 +40602,7 @@ Func_245ab: ; 0x245ab ld a, [wd70c] cp $3 jr nz, .asm_24651 - ld hl, $4704 + ld hl, Data_24704 ld de, wMeowthAnimationFrameCounter call CopyHLToDE ld a, $4 @@ -40617,7 +40619,7 @@ Func_2465d: ; 0x2465d sla a ld c, a ld b, $0 - ld hl, $46e2 + ld hl, Data_246e2 add hl, bc ld a, [hli] ld h, [hl] @@ -40631,7 +40633,7 @@ Func_2465d: ; 0x2465d ld a, [wMeowthAnimationFrameIndex] cp $4 ret nz - ld hl, $46ec + ld hl, Data_246ec ld de, wMeowthAnimationFrameCounter call CopyHLToDE ret @@ -40642,7 +40644,7 @@ Func_2465d: ; 0x2465d ld a, [wMeowthAnimationFrameIndex] cp $4 ret nz - ld hl, $46f5 + ld hl, Data_246f5 ld de, wMeowthAnimationFrameCounter call CopyHLToDE ret @@ -40653,7 +40655,7 @@ Func_2465d: ; 0x2465d ld a, [wMeowthAnimationFrameIndex] cp $1 ret nz - ld hl, $46ec + ld hl, Data_246ec ld de, wMeowthAnimationFrameCounter call CopyHLToDE xor a @@ -40666,7 +40668,7 @@ Func_2465d: ; 0x2465d ld a, [wMeowthAnimationFrameIndex] cp $1 ret nz - ld hl, $46f5 + ld hl, Data_246f5 ld de, wMeowthAnimationFrameCounter call CopyHLToDE ld a, $1 @@ -40679,12 +40681,28 @@ Func_2465d: ; 0x2465d ld a, [wMeowthAnimationFrameIndex] cp $2 ret nz - ld hl, $4704 + ld hl, Data_24704 ld de, wMeowthAnimationFrameCounter call CopyHLToDE ret - dr $246e2, $24709 +Data_246e2: + dr $246e2, $246ec + +Data_246ec: + dr $246ec, $246f5 + +Data_246f5: + dr $246f5, $246fe + +Data_246fe: + dr $246fe, $24701 + +Data_24701: + dr $24701, $24704 + +Data_24704: + dr $24704, $24709 Func_24709: ; 0x24709 ld a, [wMeowthXPosition] @@ -41108,7 +41126,7 @@ Func_248ac: ; 0x248ac ld a, [wMeowthXMovement] cp $ff jr z, .asm_24a21 - ld hl, $46f5 + ld hl, Data_246f5 ld de, wMeowthAnimationFrameCounter call CopyHLToDE ld a, $1 @@ -41116,7 +41134,7 @@ Func_248ac: ; 0x248ac ret .asm_24a21 - ld hl, $46ec + ld hl, Data_246ec ld de, wMeowthAnimationFrameCounter call CopyHLToDE ld a, $0 @@ -41155,7 +41173,7 @@ Func_24a30: ; 0x24a30 ld hl, wd6f5 add hl, bc ld a, [hl] - ld hl, $4af1 + ld hl, Data_24af1 ld e, a ld d, $0 add hl, de @@ -41177,7 +41195,7 @@ Func_24a30: ; 0x24a30 ld a, [hl] ld e, a ld d, $0 - ld hl, $4af1 + ld hl, Data_24af1 add hl, de pop af add [hl] @@ -41197,7 +41215,7 @@ Func_24a30: ; 0x24a30 ld a, [hl] ld e, a ld d, $0 - ld hl, $4af1 + ld hl, Data_24af1 add hl, de ld a, [hl] ld d, a @@ -41220,7 +41238,7 @@ Func_24a30: ; 0x24a30 ld a, [hl] ld e, a ld d, $0 - ld hl, $4af1 + ld hl, Data_24af1 add hl, de inc hl ld a, [hl] @@ -41250,6 +41268,7 @@ Func_24a30: ; 0x24a30 .asm_24af0 ret +Data_24af1: dr $24af1, $24b41 Func_24b41: ; 0x24b41 @@ -41264,7 +41283,7 @@ Func_24b41: ; 0x24b41 ld hl, wd6f5 add hl, bc ld a, [hl] - ld hl, $4c0a + ld hl, Data_24c0a ld e, a ld d, $0 add hl, de @@ -41286,7 +41305,7 @@ Func_24b41: ; 0x24b41 ld a, [hl] ld e, a ld d, $0 - ld hl, $4c0a + ld hl, Data_24c0a add hl, de pop af add [hl] @@ -41306,7 +41325,7 @@ Func_24b41: ; 0x24b41 ld a, [hl] ld e, a ld d, $0 - ld hl, $4c0a + ld hl, Data_24c0a add hl, de ld a, [hl] ld d, a @@ -41329,7 +41348,7 @@ Func_24b41: ; 0x24b41 ld a, [hl] ld e, a ld d, $0 - ld hl, $4c0a + ld hl, Data_24c0a add hl, de inc hl ld a, [hl] @@ -41383,6 +41402,7 @@ Func_24bf6: ; 0x24bf6 ccf ret +Data_24c0a: dr $24c0a, $24c28 Func_24c28: ; 0x24c28 @@ -41677,7 +41697,7 @@ Func_24d07: ; 0x24d07 ld a, [wMeowthXMovement] cp $ff jr z, .asm_24e70 - ld hl, $46f5 + ld hl, Data_246f5 ld de, wMeowthAnimationFrameCounter call CopyHLToDE ld a, $1 @@ -41685,7 +41705,7 @@ Func_24d07: ; 0x24d07 ret .asm_24e70 - ld hl, $46ec + ld hl, Data_246ec ld de, wMeowthAnimationFrameCounter call CopyHLToDE ld a, $0 @@ -41756,7 +41776,7 @@ Func_24ee7: ; 0x24ee7 sla a ld c, a ld b, $0 - ld hl, $4f30 + ld hl, Data_24f30 add hl, bc ld a, [hli] ld h, [hl] @@ -41772,7 +41792,7 @@ Func_24f00: ; 0x24f00 sla a ld c, a ld b, $0 - ld hl, $4f30 + ld hl, Data_24f30 add hl, bc ld a, [hli] ld h, [hl] @@ -41799,6 +41819,7 @@ Func_24f00: ; 0x24f00 ld [wd710], a ret +Data_24f30: dr $24f30, $24fa3 Func_24fa3: ; 0x24fa3 @@ -41854,11 +41875,11 @@ Func_24fa3: ; 0x24fa3 sla a ld c, a ld b, $0 - ld hl, $5007 + ld hl, Data_25007 ld a, [hGameBoyColorFlag] and a jr z, .asm_24ffd - ld hl, $5421 + ld hl, Data_25421 .asm_24ffd add hl, bc ld a, [hli] @@ -41868,7 +41889,11 @@ Func_24fa3: ; 0x24fa3 call Func_10aa ret - dr $25007, $2583b +Data_25007: + dr $25007, $25421 + +Data_25421: + dr $25421, $2583b Func_2583b: ; 0x2583b ld bc, $7f65 @@ -41897,12 +41922,13 @@ Func_2586c: ; 0x2586c ld a, [wMeowthAnimationFrame] ld e, a ld d, $0 - ld hl, $588b + ld hl, Data_2588b add hl, de ld a, [hl] call LoadOAMData2 ret +Data_2588b: dr $2588b, $25895 Func_25895: ; 0x25895 @@ -41936,7 +41962,7 @@ Func_25895: ; 0x25895 sla a ld e, a ld d, $0 - ld hl, $5935 + ld hl, Data_25935 add hl, de ld a, [hli] ld h, [hl] @@ -41959,7 +41985,7 @@ Func_25895: ; 0x25895 sla a ld e, a ld d, $0 - ld hl, $5935 + ld hl, Data_25935 add hl, de ld a, [hli] ld h, [hl] @@ -41982,7 +42008,7 @@ Func_25895: ; 0x25895 sla a ld e, a ld d, $0 - ld hl, $5935 + ld hl, Data_25935 add hl, de ld a, [hli] ld h, [hl] @@ -41995,6 +42021,7 @@ Func_25895: ; 0x25895 call LoadOAMData2 ret +Data_25935: dr $25935, $2595e Func_2595e: ; 0x2595e @@ -42028,7 +42055,7 @@ Func_2595e: ; 0x2595e sla a ld e, a ld d, $0 - ld hl, $5935 + ld hl, Data_25935 add hl, de ld a, [hli] ld h, [hl] @@ -42051,7 +42078,7 @@ Func_2595e: ; 0x2595e sla a ld e, a ld d, $0 - ld hl, $5935 + ld hl, Data_25935 add hl, de ld a, [hli] ld h, [hl] @@ -42074,7 +42101,7 @@ Func_2595e: ; 0x2595e sla a ld e, a ld d, $0 - ld hl, $5935 + ld hl, Data_25935 add hl, de ld a, [hli] ld h, [hl] @@ -42111,13 +42138,14 @@ Func_259fe: ; 0x259fe ld a, [de] ld e, a ld d, $0 - ld hl, $5a29 + ld hl, Data_25a29 add hl, de ld a, [hl] cp $ff call nz, LoadOAMData2 ret +Data_25a29: dr $25a29, $25a39 Func_25a39: ; 0x25a39 @@ -42141,7 +42169,7 @@ Func_25a39: ; 0x25a39 .asm_25a58 ld de, $0001 .asm_25a5b - ld hl, $5a7a + ld hl, Data_25a7a add hl, de ld a, [hl] call LoadOAMData2 @@ -42160,6 +42188,7 @@ Func_25a39: ; 0x25a39 ld [wd64e], a ret +Data_25a7a: dr $25a7a, $25a7c InitSeelBonusStage: ; 0x25a7c @@ -42177,7 +42206,7 @@ InitSeelBonusStage: ; 0x25a7c ld [wd4c8], a ld [wBallType], a ld [wd49a], a - ld hl, $5ae5 ; todo + ld hl, Data_25ae5 ld de, wd76d call Func_25ad8 ld de, wd777 @@ -42213,6 +42242,7 @@ Func_25ad8: ; 0x25ad8 inc de ret +Data_25ae5: dr $25ae5, $25af1 StartBallSeelBonusStage: ; 0x25af1 @@ -42367,9 +42397,9 @@ Func_25c12: ; 0x25c12 ld l, b ld h, $0 add hl, de - ld de, $5100 ; todo + ld de, Data_e9100 add hl, de - ld a, $3a ; TODO: hardcoded bank + ld a, BANK(Data_e9100) call ReadByteFromBank bit 7, a jr nz, .asm_25c58 @@ -42465,11 +42495,11 @@ Func_25d0e: ; 0x25d0e sla a ld c, a ld b, $0 - ld hl, $5d2b + ld hl, Data_25d2b ld a, [hGameBoyColorFlag] and a jr z, .asm_25d21 - ld hl, $5d67 + ld hl, Data_25d67 .asm_25d21 add hl, bc ld a, [hli] @@ -42479,7 +42509,11 @@ Func_25d0e: ; 0x25d0e call Func_10aa ret - dr $25d2b, $25da3 +Data_25d2b: + dr $25d2b, $25d67 + +Data_25d67: + dr $25d67, $25da3 Func_25da3: ; 0x25da3 ld a, [wd767] @@ -42505,7 +42539,7 @@ Func_25da3: ; 0x25da3 dec de dec de push bc - ld hl, $61d8 + ld hl, Data_261d8 call CopyHLToDE pop bc ld hl, wd76e @@ -42648,7 +42682,7 @@ Func_25ec5: ; 0x25ec5 and $f ld c, a ld b, $0 - ld hl, $5f27 + ld hl, Data_25f27 add hl, bc pop bc pop af @@ -42679,7 +42713,7 @@ Func_25ec5: ; 0x25ec5 dec hl ld d, h ld e, l - ld hl, $61c2 + ld hl, Data_261c2 call CopyHLToDE ret @@ -42709,10 +42743,11 @@ Func_25ec5: ; 0x25ec5 dec hl ld d, h ld e, l - ld hl, $61cd + ld hl, Data_261cd call CopyHLToDE ret +Data_25f27: dr $25f27, $25f47 Func_25f47: ; 0x25f47 @@ -42720,7 +42755,7 @@ Func_25f47: ; 0x25f47 sla a ld c, a ld b, $0 - ld hl, $614f + ld hl, Data_2614f add hl, bc ld a, [hli] ld h, [hl] @@ -43093,7 +43128,7 @@ Func_26137: ; 0x26137 sla a ld c, a ld b, $0 - ld hl, $614f ; todo + ld hl, Data_2614f ; todo add hl, bc ld a, [hli] ld h, [hl] @@ -43108,7 +43143,17 @@ Func_26137: ; 0x26137 ld [de], a ret - dr $2614f, $261f9 +Data_2614f: + dr $2614f, $261c2 + +Data_261c2: + dr $261c2, $261cd + +Data_261cd: + dr $261cd, $261d8 + +Data_261d8: + dr $261d8, $261f9 Func_261f9: ; 0x261f9 ld a, $ff @@ -43117,7 +43162,7 @@ Func_261f9: ; 0x261f9 sla a ld c, a ld b, $0 - ld hl, $623a + ld hl, Data_2623a add hl, bc ld a, [hli] ld h, [hl] @@ -43133,7 +43178,7 @@ Func_26212: ; 0x26212 sla a ld c, a ld b, $0 - ld hl, $623a + ld hl, Data_2623a add hl, bc ld a, [hli] ld h, [hl] @@ -43157,6 +43202,7 @@ Func_26212: ; 0x26212 ld [wd795], a ret +Data_2623a: dr $2623a, $262f4 Func_262f4: ; 0x262f4 @@ -43203,11 +43249,11 @@ Func_262f4: ; 0x262f4 sla a ld c, a ld b, $0 - ld hl, $634a + ld hl, Data_2634a ld a, [hGameBoyColorFlag] and a jr z, .asm_26340 - ld hl, $6764 + ld hl, Data_26764 .asm_26340 add hl, bc ld a, [hli] @@ -43217,7 +43263,11 @@ Func_262f4: ; 0x262f4 call Func_10aa ret - dr $2634a, $26b7e +Data_2634a: + dr $2634a, $26764 + +Data_26764: + dr $26764, $26b7e Func_26b7e: ; 0x26b7e ld bc, $7f65 @@ -43261,13 +43311,14 @@ Func_26bbc: ; 0x26bbc ld a, [de] ld e, a ld d, $0 - ld hl, $6bdf + ld hl, Data_26bdf add hl, de ld a, [hl] cp $ff call nz, LoadOAMData2 ret +Data_26bdf: dr $26bdf, $26bf7 Func_26bf7: ; 0x26bf7: ; 0x26bf7 @@ -43294,13 +43345,14 @@ Func_26bf7: ; 0x26bf7: ; 0x26bf7 ld a, [de] ld e, a ld d, $0 - ld hl, $6c23 + ld hl, Data_26c23 add hl, de ld a, [hl] cp $ff call nz, LoadOAMData2 ret +Data_26c23: dr $26c23, $26c3c Func_26c3c: ; 0x26c3c @@ -43324,7 +43376,7 @@ Func_26c3c: ; 0x26c3c .asm_26c5b ld de, $0001 .asm_26c5e - ld hl, $6c7d + ld hl, Data_26c7d add hl, de ld a, [hl] call LoadOAMData2 @@ -43343,7 +43395,8 @@ Func_26c3c: ; 0x26c3c ld [wd64e], a ret - dr $26c7d, $28000 +Data_26c7d: + dr $26c7d, $26c7f SECTION "banka", ROMX, BANK[$a] @@ -58346,7 +58399,13 @@ Data_e8c00: dr $e8c00, $e9100 ; 0xe8000 Data_e9100: - dr $e9100, $ec000 ; 0xe8000 + dr $e9100, $e9500 ; 0xe8000 + +Data_e9500: + dr $e9500, $e9c80 ; 0xe8000 + +Data_e9c80: + dr $e9c80, $ec000 ; 0xe8000 SECTION "bank3b", ROMX, BANK[$3b] Data_ec000: -- cgit v1.2.3 From 81467634ec0c58e77554319cf7ece67e60a3d320 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 6 Dec 2016 20:01:09 -0500 Subject: Some hardcoded HRAM labels --- hram.asm | 15 +++++ main.asm | 210 +++++++++++++++++++++++++++++++-------------------------------- wram.asm | 5 +- 3 files changed, 124 insertions(+), 106 deletions(-) diff --git a/hram.asm b/hram.asm index 0c23cd1..2000ebe 100755 --- a/hram.asm +++ b/hram.asm @@ -9,11 +9,26 @@ hPrevPreviousJoypadState EQU $FF9B ; joypad state from two frames ago. See joy hPreviousJoypadState EQU $FF9C ; prevoius frame's joypad state. See joy_constants.asm for ; which bits correspond to which buttons. +hSTAT EQU $FF9F +hSCY EQU $FFA0 +hSCX EQU $FFA1 +hLYC EQU $FFA2 +hBGP EQU $FFA3 +hOBP0 EQU $FFA4 +hOBP1 EQU $FFA5 +hWY EQU $FFA6 +hWX EQU $FFA7 +hLastLYC EQU $FFA8 + hBoardYShift EQU $FFA0 ; Vertical pixel offset of the board. For example, the board is shifted ; by small amounts when "tilt up" is used. hBoardXShift EQU $FFA1 ; Horizontal pixel offset of the board. For example, the board is shifted ; $20 pixels to the right when launching the ball at the start of a round. +hNumFramesSinceLastVBlank EQU $FFB2 +hNumFramesDropped EQU $FFB3 +hVBlankCount EQU $FFB4 + hFlipperYCollisionAttribute EQU $FFBF ; Vertical collision attribute for when ball collides with a flipper. hLoadedROMBank EQU $FFF8 ; this is updated whenever the code switches ROM Banks diff --git a/main.asm b/main.asm index 3c0ce47..085830b 100755 --- a/main.asm +++ b/main.asm @@ -186,7 +186,7 @@ VBlank: ; 0x2f2 ld a, [rLY] cp $90 jr c, .asm_328 - ld hl, $ff9f + ld hl, hSTAT ld c, rSTAT - $ff00 ld a, [hli] ld [$ff00+c], a @@ -217,8 +217,8 @@ VBlank: ; 0x2f2 ld a, [hli] ld [$ff00+c], a .asm_328 - ld a, [$ffa2] - ld [$ffa8], a + ld a, [hLYC] + ld [hLastLYC], a ld a, [$ffa9] ld [$ffaa], a ld a, [$ffab] @@ -242,15 +242,15 @@ VBlank: ; 0x2f2 ld a, $1 ld [wdaa3], a .asm_359 - ld hl, $ffb2 + ld hl, hNumFramesSinceLastVBlank ld a, [hl] inc [hl] and a jr nz, .asm_365 - ld hl, $ffb3 + ld hl, hNumFramesDropped inc [hl] .asm_365 - ld hl, $ffb4 + ld hl, hVBlankCount inc [hl] ld a, [wd8e1] and a @@ -401,7 +401,7 @@ DelayFrame: ; 0x468 ld a, [rLCDC] bit 7, a ret z - ld hl, $ffb2 + ld hl, hNumFramesSinceLastVBlank xor a ld [hl], a .asm_472 @@ -1615,9 +1615,9 @@ Func_b66: ; 0xb66 and a jr nz, .asm_b73 xor a - ld [$ffa3], a - ld [$ffa4], a - ld [$ffa5], a + ld [hBGP], a + ld [hOBP0], a + ld [hOBP1], a ret .asm_b73 @@ -1678,7 +1678,7 @@ Func_bbe: ; 0xbbe ld a, [hGameBoyColorFlag] and a jp nz, Func_c19 - ld hl, $ffa3 + ld hl, hBGP ld de, wd80c ld b, $3 .asm_bcc @@ -1695,7 +1695,7 @@ Func_bbe: ; 0xbbe jr nz, .asm_bcc ld bc, $0002 call Func_93f - ld hl, $ffa3 + ld hl, hBGP ld de, wd80c ld b, $3 .asm_be9 @@ -1709,7 +1709,7 @@ Func_bbe: ; 0xbbe jr nz, .asm_be9 ld bc, $0002 call Func_93f - ld hl, $ffa3 + ld hl, hBGP ld de, wd80c ld b, $3 .asm_c02 @@ -1853,7 +1853,7 @@ Func_cb5: ; 0xcb5 ld a, [hGameBoyColorFlag] and a jp nz, Func_cee - ld hl, $ffa3 + ld hl, hBGP ld b, $3 .asm_cc0 push bc @@ -1880,7 +1880,7 @@ Func_cb5: ; 0xcb5 dec b jr nz, .asm_cc0 xor a - ld hl, $ffa3 + ld hl, hBGP ld [hli], a ld [hli], a ld [hl], a @@ -2450,7 +2450,7 @@ Func_fbc: ; 0xfbc jp Func_3ff Func_fbf: ; 0xfbf - ld hl, $ffa8 + ld hl, hLastLYC ld c, [hl] ld a, [rLY] cp c @@ -2477,7 +2477,7 @@ Func_fbf: ; 0xfbf jp Func_3ff Func_fea: ; 0xfea - ld hl, $ffa8 + ld hl, hLastLYC ld a, [$ffaa] cp [hl] jr nz, .asm_1015 @@ -2506,7 +2506,7 @@ Func_fea: ; 0xfea ld a, [rLY] cp [hl] jr nz, .asm_1037 - ld a, [$ffa8] + ld a, [hLastLYC] ld hl, $ffaa sub [hl] add $40 @@ -2548,7 +2548,7 @@ Func_fea: ; 0xfea jp Func_3ff Func_105d: ; 0x105d - ld hl, $ffa8 + ld hl, hLastLYC ld a, [rLY] cp [hl] jr z, .asm_1069 @@ -2942,7 +2942,7 @@ Func_1353: ; 0x1353 call Func_12a1 ld bc, $0006 call Func_948 - ld a, [$ffa3] + ld a, [hBGP] ld [rBGP], a ld a, [$ff9e] ld [rLCDC], a @@ -5776,7 +5776,7 @@ INCLUDE "text.asm" Func_30db: ; 0x30db ld a, $86 - ld [$ffa6], a + ld [hWY], a ld a, $1 ld [wd5ca], a ld [wd5cb], a @@ -11223,12 +11223,12 @@ asm_8592: ret Func_85c7: ; 0x85c7 - ld a, [$ffb3] + ld a, [hNumFramesDropped] and $3 ret nz ld a, [wd478] ld l, a - ld h, $d4 + ld h, wd400 / $100 ld de, wScore ld a, [wd477] cp l @@ -11332,30 +11332,30 @@ Func_8650: ; 0x8650 bit 0, a jr nz, .bottomStage ld a, $86 - ld [$ffa6], a + ld [hWY], a ret .bottomStage ld a, [wBallYPos + 1] cp $84 jr nc, .asm_8670 - ld a, [$ffa6] + ld a, [hWY] sub $3 cp $86 jr nc, .asm_866d ld a, $86 .asm_866d - ld [$ffa6], a + ld [hWY], a ret .asm_8670 - ld a, [$ffa6] + ld a, [hWY] add $3 cp $90 jr c, .asm_867a ld a, $90 .asm_867a - ld [$ffa6], a + ld [hWY], a ret StartTimer: ; 0x867d @@ -11454,9 +11454,9 @@ HandleInGameMenu: ; 0x86d7 ld bc, $00c0 call LoadVRAMData ld a, $60 - ld [$ffa6], a + ld [hWY], a dec a - ld [$ffa2], a + ld [hLYC], a ld a, $fd ld [$ffaf], a call HandleInGameMenuSelection @@ -11476,10 +11476,10 @@ HandleInGameMenu: ; 0x86d7 ld bc, $003c call Func_93f ld a, $86 - ld [$ffa6], a + ld [hWY], a ld a, $83 - ld [$ffa2], a - ld [$ffa8], a + ld [hLYC], a + ld [hLastLYC], a ld a, $ff ld [$ffaf], a ld a, [hGameBoyColorFlag] @@ -13569,7 +13569,7 @@ Func_c621: ; 0xc621 ld c, a ld a, [hl] ld b, a - ld a, [$ffb3] + ld a, [hNumFramesDropped] bit 2, a ret z ld a, $84 @@ -14365,12 +14365,12 @@ Func_cb14: ; 0xcb14 ld [hBoardYShift], a ld [$ffad], a ld a, $e - ld [$ffa2], a - ld [$ffa8], a + ld [hLYC], a + ld [hLastLYC], a ld a, $82 ld [$ffa9], a ld [$ffaa], a - ld hl, $ff9f + ld hl, hSTAT set 6, [hl] ld hl, rIE set 1, [hl] @@ -14632,7 +14632,7 @@ Func_ccb6: ; 0xccb6 ret Func_cd6c: ; 0xcd6c - ld a, [$ffb3] + ld a, [hNumFramesDropped] and $1f call z, Func_1a43 call Func_cf7d @@ -14839,14 +14839,14 @@ SendHighScores: ; 0xced1 .attemptToSendHighScoresLoop push bc xor a - ld [$ffb2], a + ld [hNumFramesSinceLastVBlank], a .asm_cefa ld b, $2 ld c, $56 ld a, [$ff00+c] and b jr z, .asm_cf09 - ld a, [$ffb2] + ld a, [hNumFramesSinceLastVBlank] and a jr z, .asm_cefa jr .asm_cf0e @@ -15215,7 +15215,7 @@ Func_d159: ; 0xd159 ExitHighScoresScreen: ; 0xd171 call Func_cb5 call Func_576 - ld hl, $ff9f + ld hl, hSTAT res 6, [hl] ld hl, rIE res 1, [hl] @@ -15756,9 +15756,9 @@ Func_d4cf: ; 0xd4cf call ClearOAMBuffer call Func_d57b ld a, $a5 - ld [$ffa7], a + ld [hWX], a xor a - ld [$ffa6], a + ld [hWY], a ld a, $2 ld [hBoardXShift], a ld hl, $ff9e @@ -15770,7 +15770,7 @@ Func_d4cf: ; 0xd4cf sub b bit 0, b call nz, Func_d626 - ld hl, $ffa7 + ld hl, hWX dec [hl] dec [hl] dec [hl] @@ -15798,9 +15798,9 @@ Func_d4cf: ; 0xd4cf call ClearOAMBuffer call Func_d57b ld a, $7 - ld [$ffa7], a + ld [hWX], a xor a - ld [$ffa6], a + ld [hWY], a ld a, $a0 ld [hBoardXShift], a ld hl, $ff9e @@ -15812,7 +15812,7 @@ Func_d4cf: ; 0xd4cf ld a, b bit 0, b call nz, Func_d626 - ld hl, $ffa7 + ld hl, hWX inc [hl] inc [hl] inc [hl] @@ -16263,13 +16263,13 @@ Func_d87f: ; 0xd87f xor a ld [hBoardYShift], a ld a, $7 - ld [$ffa7], a + ld [hWX], a ld a, $83 - ld [$ffa2], a - ld [$ffa8], a + ld [hLYC], a + ld [hLastLYC], a ld a, $ff ld [$ffaf], a - ld hl, $ff9f + ld hl, hSTAT set 6, [hl] ld hl, rIE set 1, [hl] @@ -16422,7 +16422,7 @@ SaveGame: ; 0xda05 and a call nz, Func_e5d call Func_576 - ld hl, $ff9f + ld hl, hSTAT res 6, [hl] ld hl, rIE res 1, [hl] @@ -16504,7 +16504,7 @@ Func_dab2: ; 0xdab2 and a call z, Func_e5d call Func_576 - ld hl, $ff9f + ld hl, hSTAT res 6, [hl] ld hl, rIE res 1, [hl] @@ -16522,7 +16522,7 @@ Func_dab2: ; 0xdab2 and a call nz, Func_e5d call Func_576 - ld hl, $ff9f + ld hl, hSTAT res 6, [hl] ld hl, rIE res 1, [hl] @@ -16549,7 +16549,7 @@ Func_dab2: ; 0xdab2 and a call nz, Func_e5d call Func_576 - ld hl, $ff9f + ld hl, hSTAT res 6, [hl] ld hl, rIE res 1, [hl] @@ -16570,7 +16570,7 @@ TransitionToHighScoresScreen: ; 0xdb5d call Func_93f call Func_cb5 call Func_576 - ld hl, $ff9f + ld hl, hSTAT res 6, [hl] ld hl, rIE res 1, [hl] @@ -18109,9 +18109,9 @@ Func_e674: ; 0xe674 pop af ld [wCurrentStage], a xor a - ld [$ffa3], a - ld [$ffa4], a - ld [$ffa5], a + ld [hBGP], a + ld [hOBP0], a + ld [hOBP1], a rst AdvanceFrame call Func_e5d call Func_576 @@ -18122,11 +18122,11 @@ Func_e674: ; 0xe674 call Func_e5d call Func_588 ld a, $e4 - ld [$ffa3], a + ld [hBGP], a ld a, $e1 - ld [$ffa4], a + ld [hOBP0], a ld a, $e4 - ld [$ffa5], a + ld [hOBP1], a ret Func_e6c2: ; 0xe6c2 @@ -18140,7 +18140,7 @@ Func_e6c2: ; 0xe6c2 jr nz, .asm_e6d5 ld a, $90 .asm_e6d5 - ld [$ffa6], a + ld [hWY], a ld hl, StageGfxPointers_GameBoy ld a, [hGameBoyColorFlag] and a @@ -19488,17 +19488,17 @@ Func_f533: ; 0xf533 call Func_f55c call Func_f57f ld a, $60 - ld [$ffa6], a + ld [hWY], a dec a - ld [$ffa2], a + ld [hLYC], a ld a, $fd ld [$ffaf], a call Func_f5a0 ld a, $90 - ld [$ffa6], a + ld [hWY], a ld a, $83 - ld [$ffa2], a - ld [$ffa8], a + ld [hLYC], a + ld [hLastLYC], a ld a, $ff ld [$ffaf], a call Func_30e8 @@ -22059,17 +22059,17 @@ Func_10cb7: ; 0x10cb7 call Func_30e8 call Func_10b59 ld a, $60 - ld [$ffa6], a + ld [hWY], a dec a - ld [$ffa2], a + ld [hLYC], a ld a, $fd ld [$ffaf], a call Func_10bea ld a, $86 - ld [$ffa6], a + ld [hWY], a ld a, $83 - ld [$ffa2], a - ld [$ffa8], a + ld [hLYC], a + ld [hLastLYC], a ld a, $ff ld [$ffaf], a ld a, [hGameBoyColorFlag] @@ -25747,7 +25747,7 @@ Func_146a9: ; 0x146a9 ld c, $1 cp $ff jr z, .asm_146fe - ld hl, $ffb3 + ld hl, hNumFramesDropped and [hl] jr z, .asm_146fe ld c, $0 @@ -28117,7 +28117,7 @@ Func_1669e: ; 0x1669e ret .asm_16732 - ld a, [$ffb3] + ld a, [hNumFramesDropped] swap a and $1 ld [wPikachuSaverAnimationFrame], a @@ -28318,7 +28318,7 @@ Data_16980: dr $16980, $169a6 Func_169a6: ; 0x169a6 - ld a, [$ffb3] + ld a, [hNumFramesDropped] and $1f ret nz ld bc, $0000 @@ -28330,7 +28330,7 @@ Func_169a6: ; 0x169a6 jr z, .asm_169c5 ld a, [hl] res 7, a - ld hl, $ffb3 + ld hl, hNumFramesDropped bit 5, [hl] jr z, .asm_169c2 inc a @@ -28484,7 +28484,7 @@ Func_16e51: ; 0x16e51 cp $2 jr c, .asm_16ec1 cp $3 - ld a, [$ffb3] + ld a, [hNumFramesDropped] jr c, .asm_16ea0 srl a srl a @@ -28510,7 +28510,7 @@ Func_16e51: ; 0x16e51 cp $2 ret c cp $3 - ld a, [$ffb3] + ld a, [hNumFramesDropped] jr c, .asm_16ed1 srl a srl a @@ -29142,7 +29142,7 @@ Func_17e08: ; 0x17e08 ld a, [wd51c] and a jr nz, .asm_17e29 - ld a, [$ffb3] + ld a, [hNumFramesDropped] srl a srl a srl a @@ -29242,7 +29242,7 @@ Func_17efb: ; 0x17efb ld a, [wd551] and a ret nz - ld a, [$ffb3] + ld a, [hNumFramesDropped] bit 4, a ret z ld de, wIndicatorStates + 5 @@ -29254,7 +29254,7 @@ Func_17f0f: ; 0x17f0f ld a, [wd551] and a ret nz - ld a, [$ffb3] + ld a, [hNumFramesDropped] bit 4, a ret z ld de, wIndicatorStates + 11 @@ -29322,7 +29322,7 @@ asm_17f84: ; 0x17f84 ld a, [hli] sub c ld c, a - ld a, [$ffb3] + ld a, [hNumFramesDropped] and $e jr nz, .asm_17f9c dec c @@ -34560,7 +34560,7 @@ Func_1d133: ; 0x1d133 ret .asm_1d1c7 - ld a, [$ffb3] + ld a, [hNumFramesDropped] swap a and $1 ld [wPikachuSaverAnimationFrame], a @@ -34970,7 +34970,7 @@ Func_1d51b: ; 0x1d51b cp $2 jr c, .asm_1d58b cp $3 - ld a, [$ffb3] + ld a, [hNumFramesDropped] jr c, .asm_1d56a srl a srl a @@ -34996,7 +34996,7 @@ Func_1d51b: ; 0x1d51b cp $2 ret c cp $3 - ld a, [$ffb3] + ld a, [hNumFramesDropped] jr c, .asm_1d59b srl a srl a @@ -36611,7 +36611,7 @@ asm_1ea6a: ; 0x1ea6a ret Func_1ead4: ; 0x1ead4 - ld a, [$ffb3] + ld a, [hNumFramesDropped] and $f ret nz ld bc, $0000 @@ -36626,7 +36626,7 @@ Func_1ead4: ; 0x1ead4 jr z, .asm_1eaf8 ld a, [hl] res 7, a - ld hl, $ffb3 + ld hl, hNumFramesDropped bit 4, [hl] jr z, .asm_1eaf5 inc a @@ -36638,7 +36638,7 @@ Func_1ead4: ; 0x1ead4 ld a, c cp $2 jr nz, .asm_1eadc - ld a, [$ffb3] + ld a, [hNumFramesDropped] and $f ret nz ld a, [wCurrentStage] @@ -36656,7 +36656,7 @@ Func_1ead4: ; 0x1ead4 jr z, .asm_1eb29 ld a, [hl] res 7, a - ld hl, $ffb3 + ld hl, hNumFramesDropped bit 4, [hl] jr z, .asm_1eb2b inc a @@ -37441,7 +37441,7 @@ Func_1f448: ; 0x1f448 ld a, [wd51c] and a jr nz, .asm_1f469 - ld a, [$ffb3] + ld a, [hNumFramesDropped] srl a srl a srl a @@ -37478,7 +37478,7 @@ Func_1f48f: ; 0x1f48f ld a, [wd551] and a ret nz - ld a, [$ffb3] + ld a, [hNumFramesDropped] bit 4, a ret z ld de, wIndicatorStates + 5 @@ -37490,7 +37490,7 @@ Func_1f4a3: ; 0x1f4a3 ld a, [wd551] and a ret nz - ld a, [$ffb3] + ld a, [hNumFramesDropped] bit 4, a ret z ld de, wIndicatorStates + 11 @@ -37558,7 +37558,7 @@ asm_1f518: ; 0x1f518 ld a, [hli] sub c ld c, a - ld a, [$ffb3] + ld a, [hNumFramesDropped] and $e jr nz, .asm_1f530 dec c @@ -40746,7 +40746,7 @@ Func_24737: ; 0x24737 jr .asm_2475a .asm_2474a - ld a, [$ffb3] + ld a, [hNumFramesDropped] and $3f ret nz call GenRandom @@ -40812,7 +40812,7 @@ Func_2476d: ; 0x2476d ld a, [wd70c] cp $3 jr z, .asm_247d3 - ld a, [$ffb3] + ld a, [hNumFramesDropped] and $3f ret nz call GenRandom @@ -43424,15 +43424,15 @@ LoadPokedexScreen: ; 0x2800e ld a, $8 ld [hBoardYShift], a ld a, $7 - ld [$ffa7], a + ld [hWX], a ld a, $8c - ld [$ffa6], a + ld [hWY], a ld a, $3b - ld [$ffa2], a - ld [$ffa8], a + ld [hLYC], a + ld [hLastLYC], a ld [$ffa9], a ld [$ffaa], a - ld hl, $ff9f + ld hl, hSTAT set 6, [hl] ld hl, rIE set 1, [hl] @@ -43672,7 +43672,7 @@ Func_282e9: ; 0x282e9 ld a, Bank(MonAnimatedSpriteTypes) call ReadByteFromBank ld c, a - ld a, [$ffb3] + ld a, [hNumFramesDropped] swap a and $7 cp $7 @@ -43892,7 +43892,7 @@ Func_284bc: ; 0x284bc ExitPokedexScreen: ; 0x284f9 call Func_cb5 call Func_576 - ld hl, $ff9f + ld hl, hSTAT res 6, [hl] ld hl, rIE res 1, [hl] @@ -44404,7 +44404,7 @@ Func_2887c: ; 0x2887c ld bc, $0100 call LoadVRAMData ld a, $3f - ld [$ffa2], a + ld [hLYC], a ld a, $47 ld [$ffa9], a ld b, $33 @@ -44435,7 +44435,7 @@ Func_288a2: ; 0x288a2 dec b jr nz, .asm_288a4 ld a, $3b - ld [$ffa2], a + ld [hLYC], a ld [$ffa9], a ld a, $31 ld hl, $5100 ; todo diff --git a/wram.asm b/wram.asm index a3ca143..0e44f3a 100755 --- a/wram.asm +++ b/wram.asm @@ -100,7 +100,10 @@ wd2c0:: ; 0xd2c0 ds $40 wPartyMons:: ; 0xd300 - ds $160 + ds $100 + +wd400:: ; 0xd400 + ds $60 wNumPartyMons:: ; 0xd460 ds $1 -- cgit v1.2.3 From 9f6ec022011d607cd3354559a32e75ad276e63d2 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 6 Dec 2016 21:14:18 -0500 Subject: Hardcoded pointers in Pokedex banks --- charmap.asm | 2 - data/mon_names.asm | 2 +- macros.asm | 8 ++ main.asm | 311 +++++++++++++++++++++++++++++++---------------------- text.asm | 2 +- 5 files changed, 191 insertions(+), 134 deletions(-) diff --git a/charmap.asm b/charmap.asm index 765c33d..57e227f 100755 --- a/charmap.asm +++ b/charmap.asm @@ -7,5 +7,3 @@ charmap ".", $2E charmap "é", $40 charmap "♀", $5C - -charmap "'", $60 diff --git a/data/mon_names.asm b/data/mon_names.asm index aaa5d2c..8d5bcdc 100755 --- a/data/mon_names.asm +++ b/data/mon_names.asm @@ -83,7 +83,7 @@ PokemonNames: ; 0x11a4e db "*SLOWBRO@ " db " MAGNEMITE@ " db "*MAGNETON@ " - db "*FARFETCH'D@ " + db "*FARFETCH`D@ " db " DODUO@ " db "*DODRIO@ " db " SEEL@ " diff --git a/macros.asm b/macros.asm index 425f2b2..8ea6e91 100755 --- a/macros.asm +++ b/macros.asm @@ -17,6 +17,14 @@ dwb: MACRO db \2 ENDM +dba: MACRO + dbw BANK(\1), \1 + ENDM + +dab: MACRO + dwb \1, BANK(\1) + ENDM + dn: MACRO rept _NARG / 2 db (\1) << 4 + (\2) diff --git a/main.asm b/main.asm index 085830b..314a0ac 100755 --- a/main.asm +++ b/main.asm @@ -932,7 +932,7 @@ Func_724: ; 0x724 jr z, .copyByte ret -Func_735: ; 0x735 +LoadOrCopyVRAMData: ; 0x735 push hl ld hl, rLCDC bit 7, [hl] @@ -6398,7 +6398,7 @@ Func_33e3: ; 0x33e3 ld hl, $30 + StageRedFieldTopStatusBarSymbolsGfx_GameBoy ld de, $8830 ld bc, $0040 - call Func_735 + call LoadOrCopyVRAMData ret .gameboyColor @@ -6406,7 +6406,7 @@ Func_33e3: ; 0x33e3 ld hl, $30 + StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor ld de, $8830 ld bc, $0040 - call Func_735 + call LoadOrCopyVRAMData ret Func_3475: ; 0x3475 @@ -14115,7 +14115,7 @@ Func_c95f: ; 0xc95f ld hl, wd922 ld a, $0 ld bc, $0008 - call Func_735 + call LoadOrCopyVRAMData pop hl pop de pop bc @@ -16798,7 +16798,7 @@ LoadBallGfx: ; 0xdcc3 ld hl, PinballPokeballGfx ld de, $8400 ld bc, $0200 - call Func_735 + call LoadOrCopyVRAMData ret .notPokeBall @@ -16808,7 +16808,7 @@ LoadBallGfx: ; 0xdcc3 ld hl, PinballGreatballGfx ld de, $8400 ld bc, $0200 - call Func_735 + call LoadOrCopyVRAMData ret .notGreatBall @@ -16818,7 +16818,7 @@ LoadBallGfx: ; 0xdcc3 ld hl, PinballUltraballGfx ld de, $8400 ld bc, $0200 - call Func_735 + call LoadOrCopyVRAMData ret .notUltraBall @@ -16826,7 +16826,7 @@ LoadBallGfx: ; 0xdcc3 ld hl, PinballMasterballGfx ld de, $8400 ld bc, $0200 - call Func_735 + call LoadOrCopyVRAMData ret LoadMiniBallGfx: ; 0xdd12 @@ -16839,7 +16839,7 @@ LoadMiniBallGfx: ; 0xdd12 ld hl, PinballPokeballMiniGfx ld de, $8400 ld bc, $0200 - call Func_735 + call LoadOrCopyVRAMData ret .notPokeBall @@ -16849,7 +16849,7 @@ LoadMiniBallGfx: ; 0xdd12 ld hl, PinballGreatballMiniGfx ld de, $8400 ld bc, $0200 - call Func_735 + call LoadOrCopyVRAMData ret .notGreatBall @@ -16859,7 +16859,7 @@ LoadMiniBallGfx: ; 0xdd12 ld hl, PinballUltraballMiniGfx ld de, $8400 ld bc, $0200 - call Func_735 + call LoadOrCopyVRAMData ret .notUltraBall @@ -16867,7 +16867,7 @@ LoadMiniBallGfx: ; 0xdd12 ld hl, PinballMasterballMiniGfx ld de, $8400 ld bc, $0200 - call Func_735 + call LoadOrCopyVRAMData ret Func_dd62: ; 0xdd62 @@ -16877,7 +16877,7 @@ Func_dd62: ; 0xdd62 ld hl, PinballBallMiniGfx ld de, $8400 ld bc, $0200 - call Func_735 + call LoadOrCopyVRAMData ret Func_dd76: ; 0xdd76 @@ -20447,12 +20447,12 @@ StartCatchEmMode: ; 0x1003f ld hl, StageRedFieldBottomBaseGameBoyColorGfx + $300 ld de, $8ae0 ld bc, $0020 - call Func_735 + call LoadOrCopyVRAMData ld a, $0 ld hl, Data_2898 ld de, $9906 ld bc, $0008 - call Func_735 + call LoadOrCopyVRAMData .asm_1011d call SetPokemonSeenFlag ld a, [wCurrentStage] @@ -22233,12 +22233,12 @@ Func_10d1d: ; 0x10d1d ld hl, StageRedFieldBottomBaseGameBoyColorGfx + $300 ld de, $8ae0 ld bc, $0020 - call Func_735 + call LoadOrCopyVRAMData ld a, $0 ld hl, Data_2898 ld de, $9906 ld bc, $0008 - call Func_735 + call LoadOrCopyVRAMData .asm_10e09 ret @@ -22374,7 +22374,7 @@ Func_10ebb: ; 0x10ebb ld hl, Data_dbe80 ld de, $8900 ld bc, $00e0 - call Func_735 + call LoadOrCopyVRAMData ret .asm_10f0b @@ -22382,7 +22382,7 @@ Func_10ebb: ; 0x10ebb ld hl, Data_dbe80 ld de, $8200 ld bc, $00e0 - call Func_735 + call LoadOrCopyVRAMData ld [$ff8a], a callba Func_14135 ld [$ff8a], a @@ -22520,7 +22520,7 @@ Func_11061: ; 0x11061 ld hl, Data_dbe80 ld de, $8600 ld bc, $00e0 - call Func_735 + call LoadOrCopyVRAMData ret .asm_110bd @@ -22528,7 +22528,7 @@ Func_11061: ; 0x11061 ld hl, Data_dbe80 ld de, $8200 ld bc, $00e0 - call Func_735 + call LoadOrCopyVRAMData ld [$ff8a], a callba Func_1c2cb ld [$ff8a], a @@ -25766,7 +25766,7 @@ Func_14707: ; 0x14707 ld hl, Data_1172b ld de, $99a8 ld bc, $0004 - call Func_735 + call LoadOrCopyVRAMData ret .asm_1471c @@ -25774,7 +25774,7 @@ Func_14707: ; 0x14707 ld hl, Data_1472f ld de, $99a8 ld bc, $0004 - call Func_735 + call LoadOrCopyVRAMData ret Data_1172b: @@ -30928,7 +30928,7 @@ Func_19070: ; 0x19070 ld l, a ld a, $22 ld bc, $0060 - call Func_735 + call LoadOrCopyVRAMData ld a, $8 ld [wd690], a ld [wd6a1], a @@ -31024,7 +31024,7 @@ Func_19104: ; 0x19104 ld h, [hl] ld l, a ld a, $21 - call Func_735 + call LoadOrCopyVRAMData ld a, $4 ld [wd674], a ld a, $8 @@ -31120,7 +31120,7 @@ Func_191cb: ; 0x191cb ld h, [hl] ld l, a ld a, $26 - call Func_735 + call LoadOrCopyVRAMData ld a, $4 ld [wd674], a ld a, $8 @@ -39018,7 +39018,7 @@ Func_20b02: ; 0x20b02 ld l, c ld de, $8900 ld bc, $0180 - call Func_735 + call LoadOrCopyVRAMData pop bc ld a, [hGameBoyColorFlag] and a @@ -39783,7 +39783,7 @@ Func_2112a: ; 0x2112a ld l, c ld de, $8900 ld bc, $0180 - call Func_735 + call LoadOrCopyVRAMData pop bc ld a, [hGameBoyColorFlag] and a @@ -43477,70 +43477,58 @@ PointerTable_280a2: ; 0x280a2 dw Data_280c4 Data_280a6: ; 0x280a6 - dw $5800 - db $2B + dab Data_ad800 dw vTiles0 dw $6000 - dw $5000 - db $31 + dab Data_c5000 dw $9800 dw $1000 - dw $4800 - db $31 + dab Data_c4800 dw vBGMap1 dw $800 - dw $4800 - db $31 + dab Data_c4800 dw $9e00 dw $800 - db $FF, $FF ; terminators + dw $FFFF ; terminators Data_280c4: ; 0x280c4 - dw $5800 - db $2B + dab Data_ad800 dw vTiles0 dw $6000 - dw $5000 - db $31 + dab Data_c5000 dw $9800 dw $1000 - dw $5400 - db $31 + dab Data_c5400 dw $9800 dw $1002 - dw $4800 - db $31 + dab Data_c4800 dw vBGMap1 dw $800 - dw $4800 - db $31 + dab Data_c4800 dw $9e00 dw $800 - dw $4c00 - db $31 + dab Data_c4c00 dw vBGMap1 dw $802 - dw $4c00 - db $31 + dab Data_c4c00 dw $9e00 dw $802 - dw $4e80 - db $37 + dab Data_dce80 dw $0000 dw $101 - db $FF, $FF ; terminators + dw $FFFF ; terminators MainPokedexScreen: ; 0x280fe call Func_28513 @@ -43658,7 +43646,13 @@ MonInfoPokedexScreen: ; 0x28178 call Func_2885c ret - dr $281cb, $282e9 + dr $281cb, $28289 + +Data_28289: + dr $28289, $282b9 + +Data_282b9: + dr $282b9, $282e9 Func_282e9: ; 0x282e9 ld a, [wd960] @@ -43692,7 +43686,7 @@ Func_282e9: ; 0x282e9 sla a ld c, a ld b, $0 - ld hl, $42b9 ; todo + ld hl, Data_282b9 add hl, bc ld a, [hli] ld c, a @@ -43704,15 +43698,15 @@ Func_282e9: ; 0x282e9 ld a, [hNewlyPressedButtons] and $6 jr z, .asm_28367 - ld a, $31 - ld hl, $4800 ; todo + ld a, BANK(Data_c4800) + ld hl, Data_c4800 ld de, vBGMap1 ld bc, $0200 call LoadVRAMData ld a, $1 ld [rVBK], a - ld a, $31 - ld hl, $4c00 ; todo + ld a, BANK(Data_c4c00) + ld hl, Data_c4c00 ld de, vBGMap1 ld bc, $0200 call LoadVRAMData @@ -43756,7 +43750,7 @@ Func_28368: ; 0x28368 push af sla e rl d - ld hl, $4289 ; todo + ld hl, Data_28289 add hl, de ld a, [hli] ld h, [hl] @@ -43770,7 +43764,7 @@ Func_28368: ; 0x28368 pop af and $f call PutTileInVRAM - ld hl, $442c ; todo + ld hl, Data_2842c add hl, de ld a, [hli] ld h, [hl] @@ -43807,7 +43801,7 @@ Func_28368: ; 0x28368 ld a, [wd960] and a jr nz, .asm_283ff - ld hl, $445c ; todo + ld hl, Data_2845c add hl, de ld a, [hl] ld hl, rBGPI @@ -43820,7 +43814,7 @@ Func_28368: ; 0x28368 ret .asm_283ff - ld hl, $445c ; todo + ld hl, Data_2845c add hl, de ld a, [hl] ld hl, rBGPI @@ -43830,7 +43824,7 @@ Func_28368: ; 0x28368 call PutTileInVRAM ld a, b call PutTileInVRAM - ld hl, $448c ; todo + ld hl, Data_2848c add hl, de ld a, [hl] ld hl, rOBPI @@ -43842,7 +43836,14 @@ Func_28368: ; 0x28368 call PutTileInVRAM ret - dr $2842c, $284bc +Data_2842c: + dr $2842c, $2845c + +Data_2845c: + dr $2845c, $2848c + +Data_2848c: + dr $2848c, $284bc Func_284bc: ; 0x284bc ld a, [hPressedButtons] @@ -44039,7 +44040,7 @@ Func_285db: ; 0x285db ld a, [wCurPokedexIndex] ld c, a ld b, $0 - ld hl, $7136 ; todo + ld hl, Data_2b136 add hl, bc ld a, [hl] add $49 @@ -44051,7 +44052,7 @@ Func_285db: ; 0x285db and $3 ld e, a ld d, $0 - ld hl, $4687 ; todo + ld hl, Data_28687 add hl, de ld a, [hl] call LoadOAMData @@ -44116,6 +44117,7 @@ PointerTable_2867f: ; 0x2867f dw Func_286dd dw Func_28765 +Data_28687: dr $28687, $2868b DrawCornerInfoPokedexScreen: ; 0x2868b @@ -44174,7 +44176,7 @@ Func_286dd: ; 0x286dd ld hl, wc010 xor a ld bc, $00a0 - call Func_735 + call LoadOrCopyVRAMData ld a, $1 ld [wd862], a pop hl @@ -44220,7 +44222,7 @@ Func_28721: ; 0x28721 and $1e ld c, a ld b, $0 - ld hl, $47c7 + ld hl, Data_287c7 add hl, bc ld a, [hli] ld h, [hl] @@ -44242,7 +44244,7 @@ Func_28721: ; 0x28721 and $1e ld c, a ld b, $0 - ld hl, $47c7 + ld hl, Data_287c7 add hl, bc ld a, [hli] ld h, [hl] @@ -44270,7 +44272,7 @@ Func_28765: ; 0x28765 and $e ld c, a ld b, $0 - ld hl, $47b7 + ld hl, Data_287b7 add hl, bc ld a, [hli] ld e, a @@ -44296,7 +44298,7 @@ Func_28765: ; 0x28765 and $e ld c, a ld b, $0 - ld hl, $47b7 + ld hl, Data_287b7 add hl, bc ld a, [hli] ld e, a @@ -44315,7 +44317,11 @@ Func_28765: ; 0x28765 call Func_28993 ret - dr $287b7, $287e7 +Data_287b7: + dr $287b7, $287c7 + +Data_287c7: + dr $287c7, $287e7 Func_287e7: ; 0x287e7 ld a, [wd960] @@ -44398,8 +44404,8 @@ Func_2885c: ; 0x2885c ret Func_2887c: ; 0x2887c - ld a, $31 - ld hl, $5120 ; todo + ld a, BANK(Data_c5120) + ld hl, Data_c5120 ld de, $9900 ld bc, $0100 call LoadVRAMData @@ -44437,8 +44443,8 @@ Func_288a2: ; 0x288a2 ld a, $3b ld [hLYC], a ld [$ffa9], a - ld a, $31 - ld hl, $5100 ; todo + ld a, BANK(Data_c5100) + ld hl, Data_c5100 ld de, $9900 ld bc, $0020 call LoadVRAMData @@ -44451,20 +44457,20 @@ Func_288c6: ; 0x288c6 ld hl, wPokedexFlags add hl, bc bit 1, [hl] - ld hl, $4000 + ld hl, Unknown_2c000 jr z, .asm_288f4 ld a, [wCurPokedexIndex] ld c, a ld b, $0 sla c rl b - ld hl, $4002 ; todo + ld hl, PokedexDescriptionPointers add hl, bc - ld a, $b + ld a, BANK(PokedexDescriptionPointers) call ReadByteFromBank inc hl ld c, a - ld a, $b + ld a, BANK(PokedexDescriptionPointers) call ReadByteFromBank ld b, a ld h, b @@ -44508,7 +44514,7 @@ Func_28931: ; 0x28931 add hl, bc ld a, [hl] and a - ld hl, $4970 ; todo + ld hl, Data_28970 jr z, .asm_2895d ld a, [wCurPokedexIndex] ld c, a @@ -44524,7 +44530,7 @@ Func_28931: ; 0x28931 add hl, bc add hl, bc add hl, bc - ld bc, $5892 + ld bc, Data_29892 add hl, bc .asm_2895d ld a, $ff @@ -44536,6 +44542,7 @@ Func_28931: ; 0x28931 call Func_28e09 ret +Data_28970: dr $28970, $28972 Func_28972: ; 0x28972 @@ -44549,7 +44556,7 @@ Func_28972: ; 0x28972 and $e ld e, a ld d, $0 - ld hl, $47b7 ; todo + ld hl, Data_287b7 add hl, de ld a, [hli] ld e, a @@ -44571,7 +44578,7 @@ Func_28993: ; 0x28993 add hl, bc ld a, [hl] and a - ld hl, $49c6 ; todo + ld hl, Data_289c6 jr z, .asm_289b7 ld h, b ld l, c @@ -44584,17 +44591,18 @@ Func_28993: ; 0x28993 add hl, bc add hl, bc add hl, bc - ld bc, $5892 ; todo + ld bc, Data_29892 add hl, bc .asm_289b7 xor a ld [wd860], a ld [wd861], a - ld bc, $500a ; todo + ld bc, $500a ; not a pointer call Func_28e09 pop hl ret +Data_289c6: dr $289c6, $289c8 Func_289c8: ; 0x289c8 @@ -44604,7 +44612,7 @@ Func_289c8: ; 0x289c8 ld hl, wPokedexFlags add hl, bc bit 1, [hl] - ld hl, $4a12 ; todo + ld hl, Data_28a12 jr z, .asm_289fe ld a, [wCurPokedexIndex] ld c, a @@ -44626,7 +44634,7 @@ Func_289c8: ; 0x289c8 sla l rl h add hl, bc ; value * 23 - ld bc, $5fa6 ; todo + ld bc, Data_29fa6 add hl, bc .asm_289fe ld a, $ff @@ -44638,6 +44646,7 @@ Func_289c8: ; 0x289c8 call Func_28e09 ret +Data_28a12: dr $28a12, $28a15 Func_28a15: ; 0x28a15 @@ -44655,7 +44664,7 @@ Func_28a15: ; 0x28a15 sla l rl h add hl, bc - ld bc, $685d ; todo + ld bc, Data_2a85d add hl, bc ld d, h ld e, l @@ -44676,7 +44685,7 @@ Func_28a15: ; 0x28a15 add hl, bc bit 1, [hl] jr nz, .asm_28a54 - ld de, $4a7f ; todo + ld de, Data_28a7f .asm_28a54 push de ld hl, $98c8 @@ -44709,6 +44718,7 @@ Func_28a15: ; 0x28a15 call PutTileInVRAM ret +Data_28a7f: dr $28a7f, $28a8a Func_28a8a: ; 0x28a8a @@ -44722,7 +44732,7 @@ Func_28a8a: ; 0x28a8a and $1e ld e, a ld d, $0 - ld hl, $47c7 ; todo + ld hl, Data_287c7 add hl, de ld a, [hli] ld h, [hl] @@ -44750,7 +44760,7 @@ Func_28aaa: ; 0x28aaa sla l rl h add hl, bc - ld bc, $685d ; todo + ld bc, Data_2a85d add hl, bc ld d, h ld e, l @@ -44814,7 +44824,7 @@ Func_28add: ; 0x28add ld l, c ld de, $9000 ld bc, $0180 - call Func_735 + call LoadOrCopyVRAMData call Func_28cd4 pop bc ld a, [hGameBoyColorFlag] @@ -44854,21 +44864,22 @@ Func_28add: ; 0x28add ret Func_28b76: ; 0x28b76 - ld a, $1c - ld hl, $5500 + ld a, BANK(Data_71500) + ld hl, Data_71500 ld de, $9000 ld bc, $0180 - call Func_735 + call LoadOrCopyVRAMData call Func_28cd4 ld a, [hGameBoyColorFlag] and a ret z - ld a, $a - ld de, $4b97 + ld a, BANK(Data_28b97) + ld de, Data_28b97 ld hl, $9861 call Func_86f ret +Data_28b97: dr $28b97, $28baf Func_28baf: ; 0x28baf @@ -44898,13 +44909,13 @@ Func_28baf: ; 0x28baf add hl, bc ld de, $9000 ld bc, $0180 - call Func_735 + call LoadOrCopyVRAMData call Func_28cd4 ld a, [hGameBoyColorFlag] and a ret z - ld a, $a - ld de, $4b97 ; todo + ld a, BANK(Data_28b97) + ld de, Data_28b97 ld hl, $9861 call Func_86f ret @@ -44939,7 +44950,7 @@ Func_28bf5: ; 0x28bf5 ld l, c ld de, vTiles0 ld bc, $0300 - call Func_735 + call LoadOrCopyVRAMData xor a ld [rVBK], a pop bc @@ -44947,9 +44958,9 @@ Func_28bf5: ; 0x28bf5 ld a, [wCurPokedexIndex] ld c, a ld b, $0 - ld hl, $561d ; todo + ld hl, EvolutionLineIds add hl, bc - ld a, $4 + ld a, BANK(EvolutionLineIds) call ReadByteFromBank ld c, a ld b, $0 @@ -45261,7 +45272,7 @@ Func_28d97: ; 0x28d97 sla c rl b xor a - call Func_735 + call LoadOrCopyVRAMData pop hl pop af ret @@ -45329,7 +45340,7 @@ Func_28e09: ; 0x28e09 sla c rl b xor a - call Func_735 + call LoadOrCopyVRAMData pop hl pop af ret @@ -45362,44 +45373,44 @@ Func_28e73: ; 0x28e73 dr $28e9a, $2957c Func_2957c: ; 0x2957c - ld a, $b + ld a, BANK(PokedexDescriptionPointers) call ReadByteFromBank inc hl and a ret z - cp $d + cp $d ; carriage return jr nz, .asm_2958c ld a, $ff scf ret .asm_2958c - cp $30 + cp "0" jr c, .asm_29594 - cp $3a + cp "9" + 1 jr c, .asm_295be .asm_29594 - cp $41 + cp "A" jr c, .asm_2959c - cp $5b + cp "Z" + 1 jr c, .asm_295c2 .asm_2959c - cp $61 + cp "a" jr c, .asm_295a4 - cp $7b + cp "z" + 1 jr c, .asm_295c6 .asm_295a4 - cp $20 + cp " " jr z, .asm_295ca - cp $2c + cp "," jr z, .asm_295cd - cp $2e + cp "." jr z, .asm_295d1 - cp $60 + cp "`" jr z, .asm_295d5 - cp $2d + cp "-" jr z, .asm_295d9 - cp $40 + cp "é" jr z, .asm_295dd and a ret @@ -45487,7 +45498,7 @@ Func_29605: ; 0x29605 ld a, b cp $81 jr nz, .asm_29611 - ld hl, $562f ; todo + ld hl, Data_2962f ld a, c sub $40 ret @@ -45495,7 +45506,7 @@ Func_29605: ; 0x29605 .asm_29611 cp $83 jr nz, .asm_2961c - ld hl, $573b ; todo + ld hl, Data_2973b ld a, c sub $40 ret @@ -45504,18 +45515,28 @@ Func_29605: ; 0x29605 ld a, c cp $9f jr nc, .asm_29628 - ld hl, $569c ; todo + ld hl, Data_2969c ld a, c sub $4f ret .asm_29628 - ld hl, $56e8 ; todo + ld hl, Data_296e8 ld a, c sub $9f ret - dr $2962f, $29792 +Data_2962f: + dr $2962f, $2969c + +Data_2969c: + dr $2969c, $296e8 + +Data_296e8: + dr $296e8, $2973b + +Data_2973b: + dr $2973b, $29792 CharacterWidths: ; 0x29792 ; The Pokedex shows variable-width font. This list specifies the width of every letter (tile?) @@ -45776,6 +45797,7 @@ CharacterWidths: ; 0x29792 db $07 db $07 +Data_29892: dr $29892, $29f0f MonDexTypeIDs: ; 0x29f0f @@ -45931,12 +45953,20 @@ MonDexTypeIDs: ; 0x29f0f db $5E db $5F - dr $29fa6, $2c000 +Data_29fa6: + dr $29fa6, $2a85d + +Data_2a85d: + dr $2a85d, $2b136 + +Data_2b136: + dr $2b136, $2b1cd SECTION "bankb", ROMX, BANK[$b] Unknown_2c000: ; 0x2c000 - db $20, $00 + dex_text " " + dex_end PokedexDescriptionPointers: ; 0x2c002 dw BulbasaurPokedexDescription @@ -52074,6 +52104,7 @@ MewPic: ; 0x71200 MewSilhouettePic: ; 0x71380 INCBIN "gfx/billboard/mon_silhouettes/mew.2bpp" +Data_71500: dr $71500, $73000 GengarBonusBaseGameBoyGfx: ; 0x73000 @@ -53640,6 +53671,7 @@ SECTION "bank2b", ROMX, BANK[$2b] TitlescreenFadeInGfx: ; 0xac000 INCBIN "gfx/titlescreen/titlescreen_fade_in.2bpp" +Data_ad800: dr $ad800, $af000 StageBlueFieldBottomCollisionMasks: ; 0xaf000 @@ -53977,7 +54009,25 @@ SECTION "bank31", ROMX, BANK[$31] StageBlueFieldBottomCollisionAttributes: ; 0xc4000 INCBIN "data/collision/maps/blue_stage_bottom.collision" - dr $c4400, $c5800 + dr $c4400, $c4800 + +Data_c4800: + dr $c4800, $c4c00 + +Data_c4c00: + dr $c4c00, $c5000 + +Data_c5000: + dr $c5000, $c5100 + +Data_c5100: + dr $c5100, $c5120 + +Data_c5120: + dr $c5120, $c5400 + +Data_c5400: + dr $c5400, $c5800 TitlescreenTilemap: ; 0xc5800 INCBIN "gfx/tilemaps/titlescreen.map" @@ -57955,6 +58005,7 @@ OptionMenuOBJPalette7: ; 0xdce78 RGB 31, 31, 31 RGB 31, 31, 31 +Data_dce80: dr $dce80, $dcf00 MewtwoBonusPalettes: ; 0xdcf00 diff --git a/text.asm b/text.asm index f386952..4e3ac90 100755 --- a/text.asm +++ b/text.asm @@ -40,7 +40,7 @@ DigitsText1to9: LetsGetPokemonText: db $05, $54, $41, $14, $00, $3a - db "LET'S GET POKeMON @" + db "LET`S GET POKeMON @" PokemonRanAwayText: db $05, $54, $42, $14, $00, $39 -- cgit v1.2.3 From e935cd885be225472e077466508f815e7c203296 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 6 Dec 2016 21:21:23 -0500 Subject: All hardcoded pointers in bank C --- main.asm | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/main.asm b/main.asm index 314a0ac..dbdbf19 100755 --- a/main.asm +++ b/main.asm @@ -47689,9 +47689,11 @@ Func_301ce: ; 0x301ce ld a, [wCurrentStage] call CallInFollowingTable PointerTable_301d4: ; 0x301d4 + ; STAGE_RED_FIELD_TOP dw Func_314ae db Bank(Func_314ae), $00 + ; STAGE_RED_FIELD_BOTTOM dw Func_314ae db Bank(Func_314ae), $00 @@ -47701,9 +47703,11 @@ PointerTable_301d4: ; 0x301d4 dw Func_314ae db Bank(Func_314ae), $00 + ; STAGE_BLUE_FIELD_TOP dw Func_3161b db Bank(Func_3161b), $00 + ; STAGE_BLUE_FIELD_BOTTOM dw Func_3161b db Bank(Func_3161b), $00 @@ -48097,7 +48101,7 @@ Func_31281: ; 0x31282 jr nc, .asm_312b2 ld c, a ld b, $0 - ld hl, $5319 + ld hl, Data_31319 add hl, bc ld c, [hl] ld hl, wd4e3 @@ -48128,7 +48132,7 @@ Func_31281: ; 0x31282 and $3 ld c, a ld b, $0 - ld hl, $5320 + ld hl, Data_31320 add hl, bc ld c, [hl] ld hl, wd4e6 @@ -48154,7 +48158,11 @@ Func_31281: ; 0x31282 ld [hl], a ret - dr $31319, $31324 +Data_31319: + dr $31319, $31320 + +Data_31320: + dr $31320, $31324 Func_31324: ; 0x31324 ret @@ -48192,7 +48200,7 @@ Func_31326: ; 0x31326 ld a, $6 ld [$ff8a], a callba Func_1de4b - ld a, $7 ; TODO: this might be the bank of Func_1de6f + ld a, $7 ld [$ff8a], a callba Func_1de6f .asm_31382 @@ -48272,7 +48280,7 @@ Func_3140b: ; 0x3140b jr nc, .asm_3143c ld c, a ld b, $0 - ld hl, $54a3 + ld hl, Data_314a3 add hl, bc ld c, [hl] ld hl, wd4e3 @@ -48303,7 +48311,7 @@ Func_3140b: ; 0x3140b and $3 ld c, a ld b, $0 - ld hl, $54aa + ld hl, Data_314aa add hl, bc ld c, [hl] ld hl, wd4e6 @@ -48329,7 +48337,11 @@ Func_3140b: ; 0x3140b ld [hl], a ret - dr $314a3, $314ae +Data_314a3: + dr $314a3, $314aa + +Data_314aa: + dr $314aa, $314ae Func_314ae: ; 0x314ae ld a, [wd57d] @@ -48671,8 +48683,6 @@ Func_3174c: ; 0x3174c scf ret - dr $31792, $34000 - SECTION "bankd", ROMX, BANK[$d] SlotOnPic: ; 0x34000 -- cgit v1.2.3 From 09db40d83edac1f125fdb54669be1707ae3a07f6 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 6 Dec 2016 21:56:48 -0500 Subject: Split out audio engine copies --- audio/engine_0f.asm | 2733 +++++++++++++++++++++++++++++++++++++++++++++++++++ audio/engine_10.asm | 19 + audio/engine_11.asm | 17 + audio/engine_12.asm | 17 + audio/engine_13.asm | 13 + audio/pikapcm.asm | 141 +++ macros/sound.asm | 11 +- main.asm | 2709 +------------------------------------------------- 8 files changed, 2968 insertions(+), 2692 deletions(-) create mode 100755 audio/engine_0f.asm create mode 100755 audio/engine_10.asm create mode 100755 audio/engine_11.asm create mode 100755 audio/engine_12.asm create mode 100755 audio/engine_13.asm create mode 100755 audio/pikapcm.asm diff --git a/audio/engine_0f.asm b/audio/engine_0f.asm new file mode 100755 index 0000000..50dbd6e --- /dev/null +++ b/audio/engine_0f.asm @@ -0,0 +1,2733 @@ +Func_3c000: ; 0x3c000 + push hl + push de + push bc + push af + call Func_3cb1b + ld hl, wdd01 + ld de, $01af +.clearLoop + xor a + ld [hli], a + dec de + ld a, e + or d + jr nz, .clearLoop + ld hl, rNR50 + xor a + ld [hli], a + ld [hli], a + ld a, $80 + ld [hli], a + ld hl, rNR10 + ld e, $4 +.asm_3c022 + xor a + ld [hli], a + ld [hli], a + ld a, $8 + ld [hli], a + xor a + ld [hli], a + ld a, $80 + ld [hli], a + dec e + jr nz, .asm_3c022 + ld a, $8 + ld [wde9a], a + ld a, $77 + ld [wde98], a + call Func_3cb15 + pop af + pop bc + pop de + pop hl + ret + +Func_3c042: ; 0x3c042 + ld a, [de] + inc de + and $7 + ld [wdeae], a + ld c, a + ld b, $0 + ld hl, WRAMPointerTable_3cc92 + add hl, bc + add hl, bc + ld c, [hl] + inc hl + ld b, [hl] + ld hl, $0002 + add hl, bc + res 0, [hl] + push de + xor a + ld hl, $0000 + add hl, bc + ld e, $32 +.loop + ld [hli], a + dec e + jr nz, .loop + ld hl, $0017 + add hl, bc + xor a + ld [hli], a + inc a + ld [hl], a + ld hl, $0028 + add hl, bc + ld [hl], a + pop de + ld hl, $0005 + add hl, bc + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hl], a + inc de + ld hl, $0000 + add hl, bc + ld a, [wde9b] + ld [hli], a + ld a, [wde9c] + ld [hl], a + ret + + dr $3c08b, $3c090 + +PlaySong_BankF: ; 0x3c090 + push de + call Func_3c000 + pop de + call Func_3cb1b + ld hl, wde9b + ld [hl], e + inc hl + ld [hl], d + ld hl, SongHeaderPointers0F + add hl, de + add hl, de + ld e, [hl] + inc hl + ld d, [hl] + ld a, [de] + rlca + rlca + and $3 + inc a +.asm_3c0ac + push af + call Func_3c042 + call Func_3cadf + pop af + dec a + jr nz, .asm_3c0ac + call Func_3cb15 + ret + + dr $3c0bb, $3c0c0 + +PlaySoundEffect_BankF: ; 0x3c0c0 + call Func_3cb1b + ld hl, wde9b + ld [hl], e + inc hl + ld [hl], d + ld hl, PointerTable_3e3ce + add hl, de + add hl, de + ld e, [hl] + inc hl + ld d, [hl] + ld a, [de] + rlca + rlca + and $3 + inc a +.asm_3c0d7 + push af + call Func_3c042 + ld hl, $0002 + add hl, bc + set 3, [hl] + call Func_3cadf + pop af + dec a + jr nz, .asm_3c0d7 + call Func_3cb15 + ret + + dr $3c0ec, $3c0f0 + +PlayCry_BankF: ; 0x3c0f0 +; Plays a Pokemon cry. +; Input: e = mon id + call Func_3cb1b + ld a, e + and a + ret z + dec e + ld d, $0 + ld hl, CryData + add hl, de + add hl, de + add hl, de + add hl, de + add hl, de + add hl, de + ld e, [hl] + inc hl + ld d, [hl] ; de = base cry id + inc hl + ld a, [hli] + ld [wdea8], a + ld a, [hli] + ld [wdea9], a ; dea8 = cry pitch + ld a, [hli] + ld [wdeaa], a + ld a, [hl] + ld [wdeab], a ; deaa = cry length + ld hl, wde9b + ld [hl], e + inc hl + ld [hl], d + ld hl, CryBasePointers + add hl, de + add hl, de + ld e, [hl] + inc hl + ld d, [hl] + ld a, [de] + rlca + rlca + and $3 + inc a +.asm_3c12a + push af + call Func_3c042 + ld hl, $0002 + add hl, bc + set 5, [hl] + ld hl, $0003 + add hl, bc + set 4, [hl] + ld hl, $0026 + add hl, bc + ld a, [wdea8] + ld [hli], a + ld a, [wdea9] + ld [hl], a + ld a, [wde97] + and $3 + cp $3 + jr nc, .asm_3c15b + ld hl, $0017 + add hl, bc + ld a, [wdeaa] + ld [hli], a + ld a, [wdeab] + ld [hl], a +.asm_3c15b + call Func_3cadf + pop af + dec a + jr nz, .asm_3c12a + ld a, [wdeac] + and a + jr nz, .asm_3c173 + ld a, [wde98] + ld [wdeac], a + ld a, $77 + ld [wde98], a +.asm_3c173 + ld a, $1 + ld [wdead], a + call Func_3cb15 + ret + + dr $3c17c, $3c180 + +Func_3c180: ; 0x3c180 + ld a, [wdd00] + and a + ret z + xor a + ld [wde97], a + ld [wde99], a + ld bc, wdd01 +.asm_3c18f + ld hl, $0002 + add hl, bc + bit 0, [hl] + jp z, .asm_3c22d + ld hl, $0014 + add hl, bc + ld a, [hl] + cp $2 + jr c, .asm_3c1a4 + dec [hl] + jr .asm_3c1c1 + +.asm_3c1a4 + ld hl, $001c + add hl, bc + ld a, [hl] + ld hl, $001b + add hl, bc + ld [hl], a + ld hl, $0025 + add hl, bc + ld a, [hl] + ld hl, $0024 + add hl, bc + ld [hl], a + ld hl, $0003 + add hl, bc + res 1, [hl] + call Func_3c670 +.asm_3c1c1 + ld hl, $000d + add hl, bc + ld a, [hli] + ld [wde91], a + ld a, [hli] + ld [wde92], a + ld a, [hli] + ld [wde93], a + ld a, [hl] + ld [wde94], a + call Func_3c4f0 + call Func_3c632 + ld a, [wdead] + and a + jr z, .asm_3c20a + ld a, [wde97] + cp $4 + jr nc, .asm_3c219 + ld hl, wddcb + bit 0, [hl] + jr nz, .asm_3c204 + ld hl, wddfd + bit 0, [hl] + jr nz, .asm_3c204 + ld hl, wde2f + bit 0, [hl] + jr nz, .asm_3c204 + ld hl, wde61 + bit 0, [hl] + jr z, .asm_3c20a +.asm_3c204 + ld hl, $000b + add hl, bc + set 5, [hl] +.asm_3c20a + ld a, [wde97] + cp $4 + jr nc, .asm_3c219 + ld hl, $00ca + add hl, bc + bit 0, [hl] + jr nz, .asm_3c227 +.asm_3c219 + call Func_3c24d + ld hl, $0019 + add hl, bc + ld a, [wde99] + or [hl] + ld [wde99], a +.asm_3c227 + ld hl, $000b + add hl, bc + xor a + ld [hl], a +.asm_3c22d + ld hl, $0032 + add hl, bc + ld c, l + ld b, h + ld a, [wde97] + inc a + ld [wde97], a + cp $8 + jp nz, .asm_3c18f + call Func_3c40d + ld a, [wde98] + ld [rNR50], a + ld a, [wde99] + ld [rNR51], a + ret + +Func_3c24d: ; 0x3c24d + ld hl, PointerTable_3c25e + ld a, [wde97] + and $7 + add a + ld e, a + ld d, $0 + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] + +PointerTable_3c25e: ; 0x3c25e + dw Func_3c26e + dw Func_3c2e0 + dw Func_3c349 + dw Func_3c3cf + dw Func_3c26e + dw Func_3c2e0 + dw Func_3c349 + dw Func_3c3cf + +Func_3c26e: ; 0x3c26e + ld hl, $000b + add hl, bc + bit 3, [hl] + jr z, .asm_3c27b + ld a, [wde9a] + ld [rNR10], a +.asm_3c27b + bit 5, [hl] + jr nz, .asm_3c2ba + bit 4, [hl] + jr nz, .asm_3c2c6 + bit 6, [hl] + jr nz, .asm_3c2b4 + bit 1, [hl] + jr z, .asm_3c295 + ld a, [wde93] + ld [rNR13], a + ld a, [wde94] + ld [rNR14], a +.asm_3c295 + bit 2, [hl] + jr z, .asm_3c2a5 + ld a, [wde92] + ld [rNR12], a + ld a, [wde94] + or $80 + ld [rNR14], a +.asm_3c2a5 + bit 0, [hl] + ret z + ld a, [wde91] + ld d, a + ld a, [rNR11] + and $3f + or d + ld [rNR11], a + ret + +.asm_3c2b4 + ld a, [wde93] + ld [rNR13], a + ret + +.asm_3c2ba + ld a, $8 + ld [rNR12], a + ld a, [wde94] + or $80 + ld [rNR14], a + ret + +.asm_3c2c6 + ld hl, wde91 + ld a, $3f + or [hl] + ld [rNR11], a + ld a, [wde92] + ld [rNR12], a + ld a, [wde93] + ld [rNR13], a + ld a, [wde94] + or $80 + ld [rNR14], a + ret + +Func_3c2e0: ; 0x3c2e0 + ld hl, $000b + add hl, bc + bit 5, [hl] + jr nz, .asm_3c323 + bit 4, [hl] + jr nz, .asm_3c32f + bit 6, [hl] + jr nz, .asm_3c31d + bit 1, [hl] + jr z, .asm_3c2fe + ld a, [wde93] + ld [rNR23], a + ld a, [wde94] + ld [rNR24], a +.asm_3c2fe + bit 2, [hl] + jr z, .asm_3c30e + ld a, [wde92] + ld [rNR22], a + ld a, [wde94] + or $80 + ld [rNR24], a +.asm_3c30e + bit 0, [hl] + ret z + ld a, [wde91] + ld d, a + ld a, [rNR21] + and $3f + or d + ld [rNR21], a + ret + +.asm_3c31d + ld a, [wde93] + ld [rNR23], a + ret + +.asm_3c323 + ld a, $8 + ld [rNR22], a + ld a, [wde94] + or $80 + ld [rNR24], a + ret + +.asm_3c32f + ld hl, wde91 + ld a, $3f + or [hl] + ld [rNR21], a + ld a, [wde92] + ld [rNR22], a + ld a, [wde93] + ld [rNR23], a + ld a, [wde94] + or $80 + ld [rNR24], a + ret + +Func_3c349: ; 0x3c349 + ld hl, $000b + add hl, bc + bit 5, [hl] + jr nz, .asm_3c387 + bit 4, [hl] + jr nz, .asm_3c38b + bit 6, [hl] + jr nz, .asm_3c381 + bit 1, [hl] + jr z, .asm_3c367 + ld a, [wde93] + ld [rNR33], a + ld a, [wde94] + ld [rNR34], a +.asm_3c367 + bit 2, [hl] + ret z + xor a + ld [rNR30], a + call LoadWavePattern + ld a, $80 + ld [rNR30], a + ld a, [wde93] + ld [rNR33], a + ld a, [wde94] + or $80 + ld [rNR34], a + ret + +.asm_3c381 + ld a, [wde93] + ld [rNR33], a + ret + +.asm_3c387 + xor a + ld [rNR30], a + ret + +.asm_3c38b + ld a, $3f + ld [rNR31], a + xor a + ld [rNR30], a + call LoadWavePattern + ld a, $80 + ld [rNR30], a + ld a, [wde93] + ld [rNR33], a + ld a, [wde94] + or $80 + ld [rNR34], a + ret + +LoadWavePattern: ; 0x3c3a6 + push hl + ld a, [wde92] + and $f + ld l, a + ld h, $0 + add hl, hl + add hl, hl + add hl, hl + add hl, hl + ld de, WavePatterns_BankF + add hl, de + ld de, rWave_0 + push bc + ld b, $10 +.loop + ld a, [hli] + ld [de], a + inc de + dec b + jr nz, .loop + pop bc + pop hl + ld a, [wde92] + and $f0 + sla a + ld [rNR32], a ; set volume of wave channel + ret + +Func_3c3cf: ; 0x3c3cf + ld hl, $000b + add hl, bc + bit 5, [hl] + jr nz, .asm_3c3f1 + bit 4, [hl] + jr nz, .asm_3c3fa + bit 1, [hl] + jr z, .asm_3c3e4 + ld a, [wde93] + ld [rNR43], a +.asm_3c3e4 + bit 2, [hl] + ret z + ld a, [wde92] + ld [rNR42], a + ld a, $80 + ld [rNR44], a + ret + +.asm_3c3f1 + ld a, $8 + ld [rNR42], a + ld a, $80 + ld [rNR44], a + ret + +.asm_3c3fa + ld a, $3f + ld [rNR41], a + ld a, [wde92] + ld [rNR42], a + ld a, [wde93] + ld [rNR43], a + ld a, $80 + ld [rNR44], a + ret + +Func_3c40d: ; 0x3c40d + ld a, [wdea2] + and a + ret z + ld a, [wdea3] + and a + jr z, .asm_3c41d + dec a + ld [wdea3], a + ret + +.asm_3c41d + ld a, [wdea2] + ld d, a + and $7f + ld [wdea3], a + ld a, [wde98] + and $7 + bit 7, d + jr nz, .asm_3c448 + and a + jr z, .asm_3c435 + dec a + jr .asm_3c454 + +.asm_3c435 + ld a, [wdea4] + ld e, a + ld a, [wdea5] + ld d, a + push bc + call PlaySong_BankF + pop bc + ld hl, wdea2 + set 7, [hl] + ret + +.asm_3c448 + cp $7 + jr nc, .asm_3c44f + inc a + jr .asm_3c454 + +.asm_3c44f + xor a + ld [wdea2], a + ret + +.asm_3c454 + ld d, a + swap a + or d + ld [wde98], a + ret + +Func_3c45c: ; 0x3c45c + ld hl, $0003 + add hl, bc + bit 1, [hl] + ret z + ld hl, $0014 + add hl, bc + ld a, [hl] + ld hl, wde95 + sub [hl] + jr nc, .asm_3c470 + ld a, $1 +.asm_3c470 + ld [hl], a + ld hl, $000f + add hl, bc + ld e, [hl] + inc hl + ld d, [hl] + ld hl, $001f + add hl, bc + ld a, e + sub [hl] + ld e, a + ld a, d + sbc $0 + ld d, a + ld hl, $0020 + add hl, bc + sub [hl] + jr nc, .asm_3c4ab + ld hl, $0004 + add hl, bc + set 1, [hl] + ld hl, $000f + add hl, bc + ld e, [hl] + inc hl + ld d, [hl] + ld hl, $001f + add hl, bc + ld a, [hl] + sub e + ld e, a + ld a, d + sbc $0 + ld d, a + ld hl, $0020 + add hl, bc + ld a, [hl] + sub d + ld d, a + jr .asm_3c4c9 + +.asm_3c4ab + ld hl, $0004 + add hl, bc + res 1, [hl] + ld hl, $000f + add hl, bc + ld e, [hl] + inc hl + ld d, [hl] + ld hl, $001f + add hl, bc + ld a, e + sub [hl] + ld e, a + ld a, d + sbc $0 + ld d, a + ld hl, $0020 + add hl, bc + sub [hl] + ld d, a +.asm_3c4c9 + push bc + ld hl, wde95 + ld b, $0 +.asm_3c4cf + inc b + ld a, e + sub [hl] + ld e, a + jr nc, .asm_3c4cf + ld a, d + and a + jr z, .asm_3c4dc + dec d + jr .asm_3c4cf + +.asm_3c4dc + ld a, e + add [hl] + ld d, b + pop bc + ld hl, $0021 + add hl, bc + ld [hl], d + ld hl, $0022 + add hl, bc + ld [hl], a + ld hl, $0023 + add hl, bc + xor a + ld [hl], a + + ; fall through + +Func_3c4f0: ; 0x3c4f0 + ld hl, $0003 + add hl, bc + bit 2, [hl] + jr z, .asm_3c50b + ld hl, $001a + add hl, bc + ld a, [hl] + rlca + rlca + ld [hl], a + and $c0 + ld [wde91], a + ld hl, $000b + add hl, bc + set 0, [hl] +.asm_3c50b + ld hl, $0003 + add hl, bc + bit 4, [hl] + jr z, .asm_3c529 + ld hl, $0026 + add hl, bc + ld e, [hl] + inc hl + ld d, [hl] + ld hl, wde93 + ld a, [hli] + ld h, [hl] + ld l, a + add hl, de + ld e, l + ld d, h + ld hl, wde93 + ld [hl], e + inc hl + ld [hl], d +.asm_3c529 + ld hl, $0003 + add hl, bc + bit 1, [hl] + jp z, .asm_3c5c1 + ld hl, $000f + add hl, bc + ld e, [hl] + inc hl + ld d, [hl] + ld hl, $0004 + add hl, bc + bit 1, [hl] + jr z, .asm_3c574 + ld hl, $0021 + add hl, bc + ld l, [hl] + ld h, $0 + add hl, de + ld d, h + ld e, l + ld hl, $0022 + add hl, bc + ld a, [hl] + ld hl, $0023 + add hl, bc + add [hl] + ld [hl], a + ld a, $0 + adc e + ld e, a + ld a, $0 + adc d + ld d, a + ld hl, $0020 + add hl, bc + ld a, [hl] + cp d + jp c, .asm_3c5a1 + jr nz, .asm_3c5b4 + ld hl, $001f + add hl, bc + ld a, [hl] + cp e + jp c, .asm_3c5a1 + jr .asm_3c5b4 + +.asm_3c574 + ld a, e + ld hl, $0021 + add hl, bc + ld e, [hl] + sub e + ld e, a + ld a, d + sbc $0 + ld d, a + ld hl, $0022 + add hl, bc + ld a, [hl] + add a + ld [hl], a + ld a, e + sbc $0 + ld e, a + ld a, d + sbc $0 + ld d, a + ld hl, $0020 + add hl, bc + ld a, d + cp [hl] + jr c, .asm_3c5a1 + jr nz, .asm_3c5b4 + ld hl, $001f + add hl, bc + ld a, e + cp [hl] + jr nc, .asm_3c5b4 +.asm_3c5a1 + ld hl, $0003 + add hl, bc + res 1, [hl] + ld hl, $0004 + add hl, bc + res 1, [hl] + ld hl, $0020 + add hl, bc + ld e, [hl] + inc hl + ld d, [hl] +.asm_3c5b4 + ld hl, $000f + add hl, bc + ld [hl], e + inc hl + ld [hl], d + ld hl, $000b + add hl, bc + set 1, [hl] +.asm_3c5c1 + ld hl, $0003 + add hl, bc + bit 0, [hl] + jr z, .asm_3c61a + ld hl, $001b + add hl, bc + ld a, [hl] + and a + jr nz, .asm_3c5e3 + ld hl, $001d + add hl, bc + ld a, [hl] + and a + jr z, .asm_3c61a + ld d, a + ld hl, $001e + add hl, bc + ld a, [hl] + and $f + jr z, .asm_3c5e6 +.asm_3c5e3 + dec [hl] + jr .asm_3c61a + +.asm_3c5e6 + ld a, [hl] + swap [hl] + or [hl] + ld [hl], a + ld a, [wde93] + ld e, a + ld hl, $0004 + add hl, bc + bit 0, [hl] + jr z, .asm_3c605 + res 0, [hl] + ld a, d + and $f + ld d, a + ld a, e + sub d + jr nc, .asm_3c611 + ld a, $0 + jr .asm_3c611 + +.asm_3c605 + set 0, [hl] + ld a, d + and $f0 + swap a + add e + jr nc, .asm_3c611 + ld a, $ff +.asm_3c611 + ld [wde93], a + ld hl, $000b + add hl, bc + set 6, [hl] +.asm_3c61a + ld hl, $0003 + add hl, bc + bit 3, [hl] + ret z + ld hl, $0024 + add hl, bc + ld a, [hl] + and a + jr z, .asm_3c62b + dec [hl] + ret + +.asm_3c62b + ld hl, $000b + add hl, bc + set 5, [hl] + ret + +Func_3c632: ; 0x3c632 + ld hl, $0002 + add hl, bc + bit 4, [hl] + ret z + ld a, [wde9f] + and a + jr z, .asm_3c644 + dec a + ld [wde9f], a + ret + +.asm_3c644 + ld hl, wde9d + ld e, [hl] + inc hl + ld d, [hl] + ld a, [de] + inc de + cp $ff + ret z + and $f + inc a + ld [wde9f], a + ld a, [de] + inc de + ld [wde92], a + ld a, [de] + inc de + ld [wde93], a + xor a + ld [wde94], a + ld hl, wde9d + ld [hl], e + inc hl + ld [hl], d + ld hl, $000b + add hl, bc + set 4, [hl] + ret + +Func_3c670: ; 0x3c670 + call Func_3ca10 + cp $ff + jr z, .asm_3c6c9 + cp $d0 + jr c, .asm_3c680 +.asm_3c67b + call Func_3c786 + jr Func_3c670 + +.asm_3c680 + ld hl, $0002 + add hl, bc + bit 3, [hl] + jp nz, Func_3c723 + bit 5, [hl] + jp nz, Func_3c723 + bit 4, [hl] + jp nz, Func_3c750 + ld a, [wde96] + and $f + call Func_3ca5b + ld a, [wde96] + swap a + and $f + jr z, .asm_3c6c2 + ld hl, $0011 + add hl, bc + ld [hl], a + ld e, a + ld hl, $0012 + add hl, bc + ld d, [hl] + call Func_3ca2b + ld hl, $000f + add hl, bc + ld [hl], e + inc hl + ld [hl], d + ld hl, $000b + add hl, bc + set 4, [hl] + jp Func_3c45c + +.asm_3c6c2 + ld hl, $000b + add hl, bc + set 5, [hl] + ret + +.asm_3c6c9 + ld hl, $0002 + add hl, bc + bit 1, [hl] + jr nz, .asm_3c67b + ld a, [wde97] + cp $4 + jr nc, .asm_3c6e0 + ld hl, $00ca + add hl, bc + bit 0, [hl] + jr nz, .asm_3c6f6 +.asm_3c6e0 + ld hl, $0002 + add hl, bc + bit 5, [hl] + call nz, Func_3c704 + ld a, [wde97] + cp $4 + jr nz, .asm_3c6f6 + xor a + ld [rNR10], a + ld [wde9a], a +.asm_3c6f6 + ld hl, $0002 + add hl, bc + res 0, [hl] + ld hl, $0000 + add hl, bc + xor a + ld [hli], a + ld [hli], a + ret + +Func_3c704: ; 0x3c704 + ld a, [wde97] + cp $4 + ret nz + xor a + ld hl, wde21 + ld [hli], a + ld [hl], a + ld hl, wde85 + ld [hli], a + ld [hl], a + ld a, [wdeac] + ld [wde98], a + xor a + ld [wdeac], a + ld [wdead], a + ret + +Func_3c723: ; 0x3c723 + ld hl, $000b + add hl, bc + set 4, [hl] + ld a, [wde96] + call Func_3ca5b + call Func_3ca10 + ld hl, $000e + add hl, bc + ld [hl], a + call Func_3ca10 + ld hl, $000f + add hl, bc + ld [hl], a + ld a, [wde97] + and $3 + cp $3 + ret z + call Func_3ca10 + ld hl, $0010 + add hl, bc + ld [hl], a + ret + +Func_3c750: ; 0x3c750 + ld a, [wde97] + cp $3 + ret nz + ld a, [wde96] + and $f + call Func_3ca5b + ld a, [wdea1] + ld e, a + ld d, $0 + ld hl, $4ba2 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [wde96] + swap a + and $f + ret z + ld e, a + ld d, $0 + add hl, de + add hl, de + ld a, [hli] + ld [wde9d], a + ld a, [hl] + ld [wde9e], a + xor a + ld [wde9f], a + ret + +Func_3c786: ; 0x3c786 + ld a, [wde96] + sub $d0 + ld e, a + ld d, $0 + ld hl, PointerTable_3c797 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] + +PointerTable_3c797: ; 0x3c797 + dw Func_3c9b6 + dw Func_3c9b6 + dw Func_3c9b6 + dw Func_3c9b6 + dw Func_3c9b6 + dw Func_3c9b6 + dw Func_3c9b6 + dw Func_3c9b6 + dw Func_3c973 + dw Func_3c9c1 + dw Func_3c9aa + dw Func_3c994 + dw Func_3c9a1 + dw Func_3c987 + dw Func_3c939 + dw Func_3c951 + dw Func_3c8ff + dw Func_3c8c4 + dw Func_3c8b5 + dw Func_3c95f + dw Func_3c9ca + dw Func_3c9da + dw Func_3c926 + dw Func_3c7f7 + dw Func_3c7f7 + dw Func_3c9e9 + dw Func_3c7f7 + dw Func_3c7f7 + dw Func_3ca05 + dw Func_3ca0b + dw Func_3c7f7 + dw Func_3c7f7 + dw Func_3c7f7 + dw Func_3c7f7 + dw Func_3c7f7 + dw Func_3c7f7 + dw Func_3c7f7 + dw Func_3c7f7 + dw Func_3c7f7 + dw Func_3c7f7 + dw Func_3c7f7 + dw Func_3c7f7 + dw Func_3c885 + dw Func_3c88e + dw Func_3c833 + dw Func_3c843 + dw Func_3c80d + dw Func_3c7f8 + +Func_3c7f7: ; 0x3c7f7 + ret + +Func_3c7f8: ; 0x3c7f8 + ld hl, $0002 + add hl, bc + res 1, [hl] + ld hl, $0007 + add hl, bc + ld e, [hl] + inc hl + ld d, [hl] + ld hl, $0005 + add hl, bc + ld [hl], e + inc hl + ld [hl], d + ret + +Func_3c80d: ; 0x3c80d + call Func_3ca10 + ld e, a + call Func_3ca10 + ld d, a + push de + ld hl, $0005 + add hl, bc + ld e, [hl] + inc hl + ld d, [hl] + ld hl, $0007 + add hl, bc + ld [hl], e + inc hl + ld [hl], d + pop de + ld hl, $0005 + add hl, bc + ld [hl], e + inc hl + ld [hl], d + ld hl, $0002 + add hl, bc + set 1, [hl] + ret + +Func_3c833: ; 0x3c833 + call Func_3ca10 + ld e, a + call Func_3ca10 + ld d, a + ld hl, $0005 + add hl, bc + ld [hl], e + inc hl + ld [hl], d + ret + +Func_3c843: ; 0x3c843 + call Func_3ca10 + ld hl, $0002 + add hl, bc + bit 2, [hl] + jr nz, .asm_3c859 + and a + jr z, .asm_3c862 + dec a + set 2, [hl] + ld hl, $0016 + add hl, bc + ld [hl], a +.asm_3c859 + ld hl, $0016 + add hl, bc + ld a, [hl] + and a + jr z, .asm_3c872 + dec [hl] +.asm_3c862 + call Func_3ca10 + ld e, a + call Func_3ca10 + ld d, a + ld hl, $0005 + add hl, bc + ld [hl], e + inc hl + ld [hl], d + ret + +.asm_3c872 + ld hl, $0002 + add hl, bc + res 2, [hl] + ld hl, $0005 + add hl, bc + ld e, [hl] + inc hl + ld d, [hl] + inc de + inc de + ld [hl], d + dec hl + ld [hl], e + ret + +Func_3c885: ; 0x3c885 + call Func_3ca10 + ld hl, $000c + add hl, bc + ld [hl], a + ret + +Func_3c88e: ; 0x3c88e + call Func_3ca10 + ld hl, $000c + add hl, bc + cp [hl] + jr z, .asm_3c8a5 + ld hl, $0005 + add hl, bc + ld e, [hl] + inc hl + ld d, [hl] + inc de + inc de + ld [hl], d + dec hl + ld [hl], e + ret + +.asm_3c8a5 + call Func_3ca10 + ld e, a + call Func_3ca10 + ld d, a + ld hl, $0005 + add hl, bc + ld [hl], e + inc hl + ld [hl], d + ret + +Func_3c8b5: ; 0x3c8b5 + call Func_3ca10 + ld hl, $0025 + add hl, bc + ld [hl], a + ld hl, $0003 + add hl, bc + set 3, [hl] + ret + +Func_3c8c4: ; 0x3c8c4 + ld hl, $0003 + add hl, bc + set 0, [hl] + ld hl, $0004 + add hl, bc + res 0, [hl] + call Func_3ca10 + ld hl, $001c + add hl, bc + ld [hl], a + ld hl, $001b + add hl, bc + ld [hl], a + call Func_3ca10 + ld hl, $001d + add hl, bc + ld d, a + and $f0 + swap a + srl a + ld e, a + adc $0 + swap a + or e + ld [hl], a + ld hl, $001e + add hl, bc + ld a, d + and $f + ld d, a + swap a + or d + ld [hl], a + ret + +Func_3c8ff: ; 0x3c8ff + call Func_3ca10 + ld [wde95], a + call Func_3ca10 + ld d, a + and $f + ld e, a + ld a, d + swap a + and $f + ld d, a + call Func_3ca2b + ld hl, $001f + add hl, bc + ld [hl], e + ld hl, $0020 + add hl, bc + ld [hl], d + ld hl, $0003 + add hl, bc + set 1, [hl] + ret + +Func_3c926: ; 0x3c926 + ld hl, $0003 + add hl, bc + set 4, [hl] + ld hl, $0027 + add hl, bc + call Func_3ca10 + ld [hld], a + call Func_3ca10 + ld [hl], a + ret + +Func_3c939: ; 0x3c939 + ld hl, $0003 + add hl, bc + set 2, [hl] + call Func_3ca10 + rrca + rrca + ld hl, $001a + add hl, bc + ld [hl], a + and $c0 + ld hl, $000d + add hl, bc + ld [hl], a + ret + +Func_3c951: ; 0x3c951 + ld hl, $0002 + add hl, bc + bit 3, [hl] + jr z, .asm_3c95c + res 3, [hl] + ret + +.asm_3c95c + set 3, [hl] + ret + +Func_3c95f: ; 0x3c95f + ld hl, $0002 + add hl, bc + bit 4, [hl] + jr z, .asm_3c96a + res 4, [hl] + ret + +.asm_3c96a + set 4, [hl] + call Func_3ca10 + ld [wdea1], a + ret + +Func_3c973: ; 0x3c973 + call Func_3ca10 + ld hl, $0028 + add hl, bc + ld [hl], a + ld a, [wde97] + and $3 + cp $3 + ret z + call Func_3c9a1 + ret + +Func_3c987: ; 0x3c987 + call Func_3ca10 + ld [wde9a], a + ld hl, $000b + add hl, bc + set 3, [hl] + ret + +Func_3c994: ; 0x3c994 + call Func_3ca10 + rrca + rrca + and $c0 + ld hl, $000d + add hl, bc + ld [hl], a + ret + +Func_3c9a1: ; 0x3c9a1 + call Func_3ca10 + ld hl, $000e + add hl, bc + ld [hl], a + ret + +Func_3c9aa: ; 0x3c9aa + call Func_3ca10 + ld d, a + call Func_3ca10 + ld e, a + call Func_3ca95 + ret + +Func_3c9b6: ; 0x3c9b6 + ld hl, $0012 + add hl, bc + ld a, [wde96] + and $7 + ld [hl], a + ret + +Func_3c9c1: ; 0x3c9c1 + call Func_3ca10 + ld hl, $0013 + add hl, bc + ld [hl], a + ret + +Func_3c9ca: ; 0x3c9ca + ld a, [wde97] + call Func_3caf4 + call Func_3ca10 + ld hl, $0019 + add hl, bc + and [hl] + ld [hl], a + ret + +Func_3c9da: ; 0x3c9da + call Func_3ca10 + ld a, [wdea2] + and a + ret nz + ld a, [wde96] + ld [wde98], a + ret + +Func_3c9e9: ; 0x3c9e9 + call Func_3ca10 + ld e, a + cp $80 + jr nc, .asm_3c9f5 + ld d, $0 + jr .asm_3c9f7 + +.asm_3c9f5 + ld d, $ff +.asm_3c9f7 + ld hl, $0017 + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + add hl, de + ld e, l + ld d, h + call Func_3ca95 + ret + +Func_3ca05: ; 0x3ca05 + ld a, $1 + ld [wdead], a + ret + +Func_3ca0b: ; 0x3ca0b + xor a + ld [wdead], a + ret + +Func_3ca10: ; 0x3ca10 + push hl + push de + ld hl, $0005 + add hl, bc + ld e, [hl] + inc hl + ld d, [hl] + ld a, [de] + ld [wde96], a + inc de + ld hl, $0005 + add hl, bc + ld [hl], e + inc hl + ld [hl], d + pop de + pop hl + ld a, [wde96] + ret + +Func_3ca2b: ; 0x3ca2b + ld hl, $0013 + add hl, bc + ld a, [hl] + swap a + and $f + add d + push af + ld hl, $0013 + add hl, bc + ld a, [hl] + and $f + ld l, a + ld d, $0 + ld h, d + add hl, de + add hl, hl + ld de, $4b20 ; todo + add hl, de + ld e, [hl] + inc hl + ld d, [hl] + pop af +.asm_3ca4b + cp $7 + jr nc, .asm_3ca56 + sra d + rr e + inc a + jr .asm_3ca4b + +.asm_3ca56 + ld a, d + and $7 + ld d, a + ret + +Func_3ca5b: ; 0x3ca5b + inc a + ld e, a + ld d, $0 + ld hl, $0028 + add hl, bc + ld a, [hl] + ld l, $0 + call Func_3ca86 + ld a, l + ld hl, $0017 + add hl, bc + ld e, [hl] + inc hl + ld d, [hl] + ld hl, $0015 + add hl, bc + ld l, [hl] + call Func_3ca86 + ld e, l + ld d, h + ld hl, $0015 + add hl, bc + ld [hl], e + ld hl, $0014 + add hl, bc + ld [hl], d + ret + +Func_3ca86: ; 0x3ca86 + ld h, $0 +.asm_3ca88 + srl a + jr nc, .asm_3ca8d + add hl, de +.asm_3ca8d + sla e + rl d + and a + jr nz, .asm_3ca88 + ret + +Func_3ca95: ; 0x3ca95 + push bc + ld a, [wde97] + cp $4 + jr nc, .asm_3cab7 + ld bc, wdd01 + call Func_3cad1 + ld bc, wdd33 + call Func_3cad1 + ld bc, wdd65 + call Func_3cad1 + ld bc, wdd97 + call Func_3cad1 + jr .asm_3cacf + +.asm_3cab7 + ld bc, wddc9 + call Func_3cad1 + ld bc, wddfb + call Func_3cad1 + ld bc, wde2d + call Func_3cad1 + ld bc, wde5f + call Func_3cad1 +.asm_3cacf + pop bc + ret + +Func_3cad1: ; 0x3cad1 + ld hl, $0017 + add hl, bc + ld [hl], e + inc hl + ld [hl], d + xor a + ld hl, $0015 + add hl, bc + ld [hl], a + ret + +Func_3cadf: ; 0x3cadf + call Func_3cb06 + ld a, [wdeae] + jr .asm_3caea + + ld a, [wde97] +.asm_3caea + call Func_3caf4 + ld hl, $0002 + add hl, bc + set 0, [hl] + ret + +Func_3caf4: ; 0x3caf4 + push de + and $3 + ld e, a + ld d, $0 + ld hl, Data_3cc8e + add hl, de + ld a, [hl] + ld hl, $0019 + add hl, bc + ld [hl], a + pop de + ret + +Func_3cb06: ; 0x3cb06 + ld a, [wdeae] + and $3 + cp $0 + ret nz + xor a + ld [rNR10], a + ld [wde9a], a + ret + +Func_3cb15: ; 0x3cb15 + ld a, $1 + ld [wdd00], a + ret + +Func_3cb1b: ; 0x3cb1b + xor a + ld [wdd00], a + ret + + dr $3cb20, $3cb52 + +WavePatterns_BankF: +WavePattern0_BankF: ; 0x3cb52 + db $02, $46, $8A, $CE, $FF, $FE, $ED, $DC, $CB, $A9, $87, $65, $44, $33, $22, $11 +WavePattern1_BankF: ; 0x3cb62 + db $02, $46, $8A, $CE, $EF, $FF, $FE, $EE, $DD, $CB, $A9, $87, $65, $43, $22, $11 +WavePattern2_BankF: ; 0x3cb72 + db $01, $23, $43, $21, $FE, $CA, $8A, $CE, $01, $23, $43, $21, $FE, $CA, $8A, $CE +WavePattern3_BankF: ; 0x3cb82 + db $00, $11, $22, $33, $44, $33, $22, $11, $FF, $EE, $CC, $AA, $88, $AA, $CC, $EE +WavePattern4_BankF: ; 0x3cb92 + db $00, $11, $22, $33, $44, $33, $22, $11, $FF, $EE, $CC, $AA, $88, $AA, $CC, $EE + + dr $3cba2, $3cc8e + +Data_3cc8e: ; 0x3cc8e + db $11, $22, $44, $88 + +WRAMPointerTable_3cc92: ; 0x3cc92 + dw $DD01 + dw $DD33 + dw $DD65 + dw $DD97 + + dr $3cc9a, $3cca2 + +SongHeaderPointers0F: ; 0x3cca2 + dw Music_Nothing0F + dw Music_BlueField + dw Music_CatchEmRed + dw Music_HurryUpRed + dw Music_Pokedex + dw Music_GastlyInTheGraveyard + dw Music_HaunterInTheGraveyard + dw Music_GengarInTheGraveyard +; 0x3ccb2 + +INCLUDE "audio/music/nothing0f.asm" +INCLUDE "audio/music/bluefield.asm" +INCLUDE "audio/music/catchemred.asm" +INCLUDE "audio/music/pokedex.asm" +INCLUDE "audio/music/hurryupred.asm" +INCLUDE "audio/music/gastlyinthegraveyard.asm" +INCLUDE "audio/music/haunterinthegraveyard.asm" +INCLUDE "audio/music/gengarinthegraveyard.asm" + +PointerTable_3e3ce: ; 0x3e3ce + dw $646A + dw $6480 + dw $649A + dw $64BA + dw $64D0 + dw $64E0 + dw $64F0 + dw $6500 + dw $651A + dw $652E + dw $6544 + dw $6554 + dw $657C + dw $6589 + dw $659F + dw $65B5 + dw $65C5 + dw $65E2 + dw $65F4 + dw $6606 + dw $6618 + dw $662A + dw $663C + dw $664E + dw $6660 + dw $6672 + dw $6684 + dw $6696 + dw $66A8 + dw $66BA + dw $66CC + dw $66DE + dw $66F0 + dw $6702 + dw $671A + dw $675D + dw $6810 + dw $68AE + dw $696D + dw $6A25 + dw $6A68 + dw $6A82 + dw $6B17 + dw $6BF9 + dw $6C17 + dw $6C31 + dw $6C4B + dw $6C7D + dw $6C8F + dw $6CA7 + dw $6CB7 + dw $6CD1 + dw $6CE9 + dw $6CFF + dw $6D15 + dw $6D31 + dw $6D4D + dw $6D65 + dw $6D78 + dw $6D98 + dw $6DB0 + dw $6DC0 + dw $6DD0 + dw $6DE3 + dw $6DF3 + dw $6E1C + dw $6E32 + dw $6E48 + dw $6E5E + dw $6E78 + dw $6E92 + dw $6EAA + dw $6EC4 + dw $6ED4 + dw $6EEA + dw $6F00 + dw $6F16 + dw $6F27 + + dr $3e46a, $3ef63 + +CryBasePointers: ; 0x3ef63 + dw Cry_00_Header_BankF + dw Cry_01_Header_BankF + dw Cry_02_Header_BankF + dw Cry_03_Header_BankF + dw Cry_04_Header_BankF + dw Cry_05_Header_BankF + dw Cry_06_Header_BankF + dw Cry_07_Header_BankF + dw Cry_08_Header_BankF + dw Cry_09_Header_BankF + dw Cry_0A_Header_BankF + dw Cry_0B_Header_BankF + dw Cry_0C_Header_BankF + dw Cry_0D_Header_BankF + dw Cry_0E_Header_BankF + dw Cry_0F_Header_BankF + dw Cry_10_Header_BankF + dw Cry_11_Header_BankF + dw Cry_12_Header_BankF + dw Cry_13_Header_BankF + dw Cry_14_Header_BankF + dw Cry_15_Header_BankF + dw Cry_16_Header_BankF + dw Cry_17_Header_BankF + dw Cry_18_Header_BankF + dw Cry_19_Header_BankF + dw Cry_1A_Header_BankF + dw Cry_1B_Header_BankF + dw Cry_1C_Header_BankF + dw Cry_1D_Header_BankF + dw Cry_1E_Header_BankF + dw Cry_1F_Header_BankF + dw Cry_20_Header_BankF + dw Cry_21_Header_BankF + dw Cry_22_Header_BankF + dw Cry_23_Header_BankF + dw Cry_24_Header_BankF + dw Cry_25_Header_BankF + +CryData: ; 0x3efaf +; Each entry is in the following format: +; [base cry id], [pitch], [length + dw $000F, $0080, $0081 ; BULBASAUR + dw $000F, $0020, $0100 ; IVYSAUR + dw $000F, $0000, $0140 ; VENUSAUR + dw $0004, $0060, $00C0 ; CHARMANDER + dw $0004, $0020, $00C0 ; CHARMELEON + dw $0004, $0000, $0100 ; CHARIZARD + dw $001D, $0060, $00C0 ; SQUIRTLE + dw $001D, $0020, $00C0 ; WARTORTLE + dw $0013, $0000, $0100 ; BLASTOISE + dw $0016, $0080, $00A0 ; CATERPIE + dw $001C, $00CC, $0081 ; METAPOD + dw $0016, $0077, $00C0 ; BUTTERFREE + dw $0015, $00EE, $0081 ; WEEDLE + dw $0013, $00FF, $0081 ; KAKUNA + dw $0013, $0060, $0100 ; BEEDRILL + dw $000E, $00DF, $0084 ; PIDGEY + dw $0014, $0028, $0140 ; PIDGEOTTO + dw $0014, $0011, $017F ; PIDGEOT + dw $0022, $0000, $0100 ; RATTATA + dw $0022, $0020, $017F ; RATICATE + dw $0010, $0000, $0100 ; SPEAROW + dw $0018, $0040, $0120 ; FEAROW + dw $0017, $0012, $00C0 ; EKANS + dw $0017, $00E0, $0090 ; ARBOK + dw $000F, $00EE, $0081 ; PIKACHU + dw $0009, $00EE, $0088 ; RAICHU + dw $0000, $0020, $00C0 ; SANDSHREW + dw $0000, $00FF, $017F ; SANDSLASH + dw $0001, $0000, $0100 ; NIDORAN_F + dw $0001, $002C, $0160 ; NIDORINA + dw $000A, $0000, $0100 ; NIDOQUEEN + dw $0000, $0000, $0100 ; NIDORAN_M + dw $0000, $002C, $0140 ; NIDORINO + dw $0009, $0000, $0100 ; NIDOKING + dw $0019, $00CC, $0081 ; CLEFAIRY + dw $0019, $00AA, $00A0 ; CLEFABLE + dw $0024, $004F, $0090 ; VULPIX + dw $0024, $0088, $00E0 ; NINETALES + dw $000E, $00FF, $00B5 ; JIGGLYPUFF + dw $000E, $0068, $00E0 ; WIGGLYTUFF + dw $001D, $00E0, $0100 ; ZUBAT + dw $001D, $00FA, $0100 ; GOLBAT + dw $0008, $00DD, $0081 ; ODDISH + dw $0008, $00AA, $00C0 ; GLOOM + dw $0023, $0022, $017F ; VILEPLUME + dw $001E, $0020, $0160 ; PARAS + dw $001E, $0042, $017F ; PARASECT + dw $001A, $0044, $00C0 ; VENONAT + dw $001A, $0029, $0100 ; VENOMOTH + dw $000B, $00AA, $0081 ; DIGLETT + dw $000B, $002A, $0090 ; DUGTRIO + dw $0019, $0077, $0090 ; MEOWTH + dw $0019, $0099, $017F ; PERSIAN + dw $0021, $0020, $00E0 ; PSYDUCK + dw $0021, $00FF, $00C0 ; GOLDUCK + dw $000A, $00DD, $00E0 ; MANKEY + dw $000A, $00AF, $00C0 ; PRIMEAPE + dw $001F, $0020, $00C0 ; GROWLITHE + dw $0015, $0000, $0100 ; ARCANINE + dw $000E, $00FF, $017F ; POLIWAG + dw $000E, $0077, $00E0 ; POLIWHIRL + dw $000E, $0000, $017F ; POLIWRATH + dw $001C, $00C0, $0081 ; ABRA + dw $001C, $00A8, $0140 ; KADABRA + dw $001C, $0098, $017F ; ALAKAZAM + dw $001F, $00EE, $0081 ; MACHOP + dw $001F, $0048, $00E0 ; MACHOKE + dw $001F, $0008, $0140 ; MACHAMP + dw $0021, $0055, $0081 ; BELLSPROUT + dw $0025, $0044, $00A0 ; WEEPINBELL + dw $0025, $0066, $014C ; VICTREEBEL + dw $001A, $0000, $0100 ; TENTACOOL + dw $001A, $00EE, $017F ; TENTACRUEL + dw $0024, $00F0, $0090 ; GEODUDE + dw $0024, $0000, $0100 ; GRAVELER + dw $0012, $00E0, $00C0 ; GOLEM + dw $0025, $0000, $0100 ; PONYTA + dw $0025, $0020, $0140 ; RAPIDASH + dw $0002, $0000, $0100 ; SLOWPOKE + dw $001F, $0000, $0100 ; SLOWBRO + dw $001C, $0080, $00E0 ; MAGNEMITE + dw $001C, $0020, $0140 ; MAGNETON + dw $0010, $00DD, $0081 ; FARFETCH_D + dw $000B, $00BB, $0081 ; DODUO + dw $000B, $0099, $00A0 ; DODRIO + dw $000C, $0088, $0140 ; SEEL + dw $000C, $0023, $017F ; DEWGONG + dw $0005, $0000, $0100 ; GRIMER + dw $0007, $00EF, $017F ; MUK + dw $0018, $0000, $0100 ; SHELLDER + dw $0018, $006F, $0160 ; CLOYSTER + dw $001C, $0000, $0100 ; GASTLY + dw $001C, $0030, $00C0 ; HAUNTER + dw $0007, $0000, $017F ; GENGAR + dw $0017, $00FF, $0140 ; ONIX + dw $000D, $0088, $00A0 ; DROWZEE + dw $000D, $00EE, $00C0 ; HYPNO + dw $0020, $0020, $0160 ; KRABBY + dw $0020, $00EE, $0160 ; KINGLER + dw $0006, $00ED, $0100 ; VOLTORB + dw $0006, $00A8, $0110 ; ELECTRODE + dw $000B, $0000, $0100 ; EXEGGCUTE + dw $000D, $0000, $0100 ; EXEGGUTOR + dw $0019, $0000, $0100 ; CUBONE + dw $0008, $004F, $00E0 ; MAROWAK + dw $0012, $0080, $0140 ; HITMONLEE + dw $000C, $00EE, $0140 ; HITMONCHAN + dw $000C, $0000, $0100 ; LICKITUNG + dw $0012, $00E6, $015D ; KOFFING + dw $0012, $00FF, $017F ; WEEZING + dw $0004, $0000, $0100 ; RHYHORN + dw $0011, $0000, $0100 ; RHYDON + dw $0014, $000A, $0140 ; CHANSEY + dw $0012, $0000, $0100 ; TANGELA + dw $0003, $0000, $0100 ; KANGASKHAN + dw $0019, $0099, $0090 ; HORSEA + dw $0019, $003C, $0081 ; SEADRA + dw $0016, $0080, $00C0 ; GOLDEEN + dw $0016, $0010, $017F ; SEAKING + dw $001E, $0002, $00A0 ; STARYU + dw $001E, $0000, $0100 ; STARMIE + dw $0020, $0008, $00C0 ; MR_MIME + dw $0016, $0000, $0100 ; SCYTHER + dw $000D, $00FF, $017F ; JYNX + dw $0006, $008F, $017F ; ELECTABUZZ + dw $0004, $00FF, $00B0 ; MAGMAR + dw $0014, $0000, $0100 ; PINSIR + dw $001D, $0011, $00C0 ; TAUROS + dw $0017, $0080, $0080 ; MAGIKARP + dw $0017, $0000, $0100 ; GYARADOS + dw $001B, $0000, $0100 ; LAPRAS + dw $000E, $00FF, $017F ; DITTO + dw $001A, $0088, $00E0 ; EEVEE + dw $001A, $00AA, $017F ; VAPOREON + dw $001A, $003D, $0100 ; JOLTEON + dw $001A, $0010, $00A0 ; FLAREON + dw $0025, $00AA, $017F ; PORYGON + dw $001F, $00F0, $0081 ; OMANYTE + dw $001F, $00FF, $00C0 ; OMASTAR + dw $0016, $00BB, $00C0 ; KABUTO + dw $0018, $00EE, $0081 ; KABUTOPS + dw $0023, $0020, $0170 ; AERODACTYL + dw $0005, $0055, $0081 ; SNORLAX + dw $0009, $0080, $00C0 ; ARTICUNO + dw $0018, $00FF, $0100 ; ZAPDOS + dw $0009, $00F8, $00C0 ; MOLTRES + dw $000F, $0060, $00C0 ; DRATINI + dw $000F, $0040, $0100 ; DRAGONAIR + dw $000F, $003C, $0140 ; DRAGONITE + dw $001E, $0099, $017F ; MEWTWO + dw $001E, $00EE, $017F ; MEW + +Cry_00_Header_BankF: ; 0x3f339 + channelcount 3 + channel 4, Data_3f733 + channel 5, Data_3f742 + channel 7, Data_3f751 + +Cry_01_Header_BankF: ; 0x3f342 + channelcount 3 + channel 4, Data_3f943 + channel 5, Data_3f956 + channel 7, Data_3f969 + +Cry_02_Header_BankF: ; 0x3f34b + channelcount 3 + channel 4, Data_3f8b8 + channel 5, Data_3f8c7 + channel 7, Data_3f8d5 + +Cry_03_Header_BankF: ; 0x3f354 + channelcount 3 + channel 4, Data_3f652 + channel 5, Data_3f671 + channel 7, Data_3f690 + +Cry_04_Header_BankF: ; 0x3f35d + channelcount 3 + channel 4, Data_3fa01 + channel 5, Data_3fa20 + channel 7, Data_3fa3f + +Cry_05_Header_BankF: ; 0x3f366 + channelcount 3 + channel 4, Data_3f7e1 + channel 5, Data_3f7f4 + channel 7, Data_3f806 + +Cry_06_Header_BankF: ; 0x3f36f + channelcount 3 + channel 4, Data_3f78b + channel 5, Data_3f7a5 + channel 7, Data_3f7a6 + +Cry_07_Header_BankF: ; 0x3f378 + channelcount 3 + channel 4, Data_3f7b9 + channel 5, Data_3f7c8 + channel 7, Data_3f7d7 + +Cry_08_Header_BankF: ; 0x3f381 + channelcount 3 + channel 4, Data_3f9d1 + channel 5, Data_3f9e4 + channel 7, Data_3f9f7 + +Cry_09_Header_BankF: ; 0x3f38a + channelcount 3 + channel 4, Data_3f4db + channel 5, Data_3f4f8 + channel 7, Data_3f519 + +Cry_0A_Header_BankF: ; 0x3f393 + channelcount 3 + channel 4, Data_3f976 + channel 5, Data_3f995 + channel 7, Data_3f9b8 + +Cry_0B_Header_BankF: ; 0x3f39c + channelcount 3 + channel 4, Data_3f807 + channel 5, Data_3f832 + channel 7, Data_3f851 + +Cry_0C_Header_BankF: ; 0x3f3a5 + channelcount 3 + channel 4, Data_3f86a + channel 5, Data_3f891 + channel 7, Data_3f8b7 + +Cry_0D_Header_BankF: ; 0x3f3ae + channelcount 3 + channel 4, Data_3f8d6 + channel 5, Data_3f8f5 + channel 7, Data_3f924 + +Cry_0E_Header_BankF: ; 0x3f + channelcount 3 + channel 4, Data_3f75b + channel 5, Data_3f76e + channel 7, Data_3f781 + +Cry_0F_Header_BankF: ; 0x3f + channelcount 3 + channel 4, Data_3f69d + channel 5, Data_3f6b8 + channel 7, Data_3f6d3 + +Cry_10_Header_BankF: ; 0x3f3b7 + channelcount 3 + channel 4, Data_3f6e3 + channel 5, Data_3f706 + channel 7, Data_3f729 + +Cry_11_Header_BankF: ; 0x3f3c0 + channelcount 3 + channel 4, Data_3f5bf + channel 5, Data_3f5de + channel 7, Data_3f601 + +Cry_12_Header_BankF: ; 0x3f3c9 + channelcount 3 + channel 4, Data_3fad7 + channel 5, Data_3faea + channel 7, Data_3fafd + +Cry_13_Header_BankF: ; 0x3f3d2 + channelcount 3 + channel 4, Data_3fb0a + channel 5, Data_3fb25 + channel 7, Data_3fb40 + +Cry_14_Header_BankF: ; 0x3f3db + channelcount 3 + channel 4, Data_3fb53 + channel 5, Data_3fb62 + channel 7, Data_3fb71 + +Cry_15_Header_BankF: ; 0x3f3e4 + channelcount 3 + channel 4, Data_3fbe1 + channel 5, Data_3fbfc + channel 7, Data_3fc17 + +Cry_16_Header_BankF: ; 0x3f3ed + channelcount 3 + channel 4, Data_3fa74 + channel 5, Data_3fa83 + channel 7, Data_3fa92 + +Cry_17_Header_BankF: ; 0x3f3f6 + channelcount 3 + channel 4, Data_3fc2a + channel 5, Data_3fc3d + channel 7, Data_3fc50 + +Cry_18_Header_BankF: ; 0x3f3ff + channelcount 3 + channel 4, Data_3fd3a + channel 5, Data_3fd5d + channel 7, Data_3fd80 + +Cry_19_Header_BankF: ; 0x3f408 + channelcount 3 + channel 4, Data_3fa52 + channel 5, Data_3fa61 + channel 7, Data_3fa73 + +Cry_1A_Header_BankF: ; 0x3f411 + channelcount 3 + channel 4, Data_3fcab + channel 5, Data_3fcc6 + channel 7, Data_3fce1 + +Cry_1B_Header_BankF: ; 0x3f41a + channelcount 3 + channel 4, Data_3fa9c + channel 5, Data_3fab3 + channel 7, Data_3faca + +Cry_1C_Header_BankF: ; 0x3f423 + channelcount 3 + channel 4, Data_3fc5d + channel 5, Data_3fc80 + channel 7, Data_3fc9b + +Cry_1D_Header_BankF: ; 0x3f42c + channelcount 3 + channel 4, Data_3fcf4 + channel 5, Data_3fd0f + channel 7, Data_3fd2a + +Cry_1E_Header_BankF: ; 0x3f435 + channelcount 3 + channel 4, Data_3fb7b + channel 5, Data_3fb9e + channel 7, Data_3fbc5 + +Cry_1F_Header_BankF: ; 0x3f43e + channelcount 3 + channel 4, Data_3fd93 + channel 5, Data_3fda6 + channel 7, Data_3fdb9 + +Cry_20_Header_BankF: ; 0x3f447 + channelcount 3 + channel 4, Data_3fdc6 + channel 5, Data_3fdd9 + channel 7, Data_3fdec + +Cry_21_Header_BankF: ; 0x3f450 + channelcount 3 + channel 4, Data_3fdf9 + channel 5, Data_3fe1c + channel 7, Data_3fe3e + +Cry_22_Header_BankF: ; 0x3f459 + channelcount 3 + channel 4, Data_3fe3f + channel 5, Data_3fe52 + channel 7, Data_3fe65 + +Cry_23_Header_BankF: ; 0x3f462 + channelcount 3 + channel 4, Data_3f532 + channel 5, Data_3f549 + channel 7, Data_3f55c + +Cry_24_Header_BankF: ; 0x3f46b + channelcount 3 + channel 4, Data_3f569 + channel 5, Data_3f58c + channel 7, Data_3f5af + +Cry_25_Header_BankF: ; 0x3f474 + channelcount 3 + channel 4, Data_3f617 + channel 5, Data_3f62e + channel 7, Data_3f645 + + dr $3f48f, $3f4db + +Data_3f4db: + dr $3f4db, $3f4f8 + +Data_3f4f8: + dr $3f4f8, $3f519 + +Data_3f519: + dr $3f519, $3f532 + +Data_3f532: + dr $3f532, $3f549 + +Data_3f549: + dr $3f549, $3f55c + +Data_3f55c: + dr $3f55c, $3f569 + +Data_3f569: + dr $3f569, $3f58c + +Data_3f58c: + dr $3f58c, $3f5af + +Data_3f5af: + dr $3f5af, $3f5bf + +Data_3f5bf: + dr $3f5bf, $3f5de + +Data_3f5de: + dr $3f5de, $3f601 + +Data_3f601: + dr $3f601, $3f617 + +Data_3f617: + dr $3f617, $3f62e + +Data_3f62e: + dr $3f62e, $3f645 + +Data_3f645: + dr $3f645, $3f652 + +Data_3f652: + dr $3f652, $3f671 + +Data_3f671: + dr $3f671, $3f690 + +Data_3f690: + dr $3f690, $3f69d + +Data_3f69d: + dr $3f69d, $3f6b8 + +Data_3f6b8: + dr $3f6b8, $3f6d3 + +Data_3f6d3: + dr $3f6d3, $3f6e3 + +Data_3f6e3: + dr $3f6e3, $3f706 + +Data_3f706: + dr $3f706, $3f729 + +Data_3f729: + dr $3f729, $3f733 + +Data_3f733: + dr $3f733, $3f742 + +Data_3f742: + dr $3f742, $3f751 + +Data_3f751: + dr $3f751, $3f75b + +Data_3f75b: + dr $3f75b, $3f76e + +Data_3f76e: + dr $3f76e, $3f781 + +Data_3f781: + dr $3f781, $3f78b + +Data_3f78b: + dr $3f78b, $3f7a5 + +Data_3f7a5: + dr $3f7a5, $3f7a6 + +Data_3f7a6: + dr $3f7a6, $3f7b9 + +Data_3f7b9: + dr $3f7b9, $3f7c8 + +Data_3f7c8: + dr $3f7c8, $3f7d7 + +Data_3f7d7: + dr $3f7d7, $3f7e1 + +Data_3f7e1: + dr $3f7e1, $3f7f4 + +Data_3f7f4: + dr $3f7f4, $3f806 + +Data_3f806: + dr $3f806, $3f807 + +Data_3f807: + dr $3f807, $3f832 + +Data_3f832: + dr $3f832, $3f851 + +Data_3f851: + dr $3f851, $3f86a + +Data_3f86a: + dr $3f86a, $3f891 + +Data_3f891: + dr $3f891, $3f8b7 + +Data_3f8b7: + dr $3f8b7, $3f8b8 + +Data_3f8b8: + dr $3f8b8, $3f8c7 + +Data_3f8c7: + dr $3f8c7, $3f8d5 + +Data_3f8d5: + dr $3f8d5, $3f8d6 + +Data_3f8d6: + dr $3f8d6, $3f8f5 + +Data_3f8f5: + dr $3f8f5, $3f924 + +Data_3f924: + dr $3f924, $3f943 + +Data_3f943: + dr $3f943, $3f956 + +Data_3f956: + dr $3f956, $3f969 + +Data_3f969: + dr $3f969, $3f976 + +Data_3f976: + dr $3f976, $3f995 + +Data_3f995: + dr $3f995, $3f9b8 + +Data_3f9b8: + dr $3f9b8, $3f9d1 + +Data_3f9d1: + dr $3f9d1, $3f9e4 + +Data_3f9e4: + dr $3f9e4, $3f9f7 + +Data_3f9f7: + dr $3f9f7, $3fa01 + +Data_3fa01: + dr $3fa01, $3fa20 + +Data_3fa20: + dr $3fa20, $3fa3f + +Data_3fa3f: + dr $3fa3f, $3fa52 + +Data_3fa52: + dr $3fa52, $3fa61 + +Data_3fa61: + dr $3fa61, $3fa73 + +Data_3fa73: + dr $3fa73, $3fa74 + +Data_3fa74: + dr $3fa74, $3fa83 + +Data_3fa83: + dr $3fa83, $3fa92 + +Data_3fa92: + dr $3fa92, $3fa9c + +Data_3fa9c: + dr $3fa9c, $3fab3 + +Data_3fab3: + dr $3fab3, $3faca + +Data_3faca: + dr $3faca, $3fad7 + +Data_3fad7: + dr $3fad7, $3faea + +Data_3faea: + dr $3faea, $3fafd + +Data_3fafd: + dr $3fafd, $3fb0a + +Data_3fb0a: + dr $3fb0a, $3fb25 + +Data_3fb25: + dr $3fb25, $3fb40 + +Data_3fb40: + dr $3fb40, $3fb53 + +Data_3fb53: + dr $3fb53, $3fb62 + +Data_3fb62: + dr $3fb62, $3fb71 + +Data_3fb71: + dr $3fb71, $3fb7b + +Data_3fb7b: + dr $3fb7b, $3fb9e + +Data_3fb9e: + dr $3fb9e, $3fbc5 + +Data_3fbc5: + dr $3fbc5, $3fbe1 + +Data_3fbe1: + dr $3fbe1, $3fbfc + +Data_3fbfc: + dr $3fbfc, $3fc17 + +Data_3fc17: + dr $3fc17, $3fc2a + +Data_3fc2a: + dr $3fc2a, $3fc3d + +Data_3fc3d: + dr $3fc3d, $3fc50 + +Data_3fc50: + dr $3fc50, $3fc5d + +Data_3fc5d: + dr $3fc5d, $3fc80 + +Data_3fc80: + dr $3fc80, $3fc9b + +Data_3fc9b: + dr $3fc9b, $3fcab + +Data_3fcab: + dr $3fcab, $3fcc6 + +Data_3fcc6: + dr $3fcc6, $3fce1 + +Data_3fce1: + dr $3fce1, $3fcf4 + +Data_3fcf4: + dr $3fcf4, $3fd0f + +Data_3fd0f: + dr $3fd0f, $3fd2a + +Data_3fd2a: + dr $3fd2a, $3fd3a + +Data_3fd3a: + dr $3fd3a, $3fd5d + +Data_3fd5d: + dr $3fd5d, $3fd80 + +Data_3fd80: + dr $3fd80, $3fd93 + +Data_3fd93: + dr $3fd93, $3fda6 + +Data_3fda6: + dr $3fda6, $3fdb9 + +Data_3fdb9: + dr $3fdb9, $3fdc6 + +Data_3fdc6: + dr $3fdc6, $3fdd9 + +Data_3fdd9: + dr $3fdd9, $3fdec + +Data_3fdec: + dr $3fdec, $3fdf9 + +Data_3fdf9: + dr $3fdf9, $3fe1c + +Data_3fe1c: + dr $3fe1c, $3fe3e + +Data_3fe3e: + dr $3fe3e, $3fe3f + +Data_3fe3f: + dr $3fe3f, $3fe52 + +Data_3fe52: + dr $3fe52, $3fe65 + +Data_3fe65: + dr $3fe65, $3fe72 diff --git a/audio/engine_10.asm b/audio/engine_10.asm new file mode 100755 index 0000000..ad64e36 --- /dev/null +++ b/audio/engine_10.asm @@ -0,0 +1,19 @@ + dr $40000, $40ca2 + +SongHeaderPointers10: ; 0x40ca2 + dw Music_Nothing10 + dw Music_RedField + dw Music_CatchEmBlue + dw Music_HurryUpBlue + dw Music_HiScore + dw Music_GameOver +; 0x40cae + +INCLUDE "audio/music/nothing10.asm" +INCLUDE "audio/music/redfield.asm" +INCLUDE "audio/music/catchemblue.asm" +INCLUDE "audio/music/hiscore.asm" +INCLUDE "audio/music/gameover.asm" +INCLUDE "audio/music/hurryupblue.asm" + + dr $4255b, $44000 diff --git a/audio/engine_11.asm b/audio/engine_11.asm new file mode 100755 index 0000000..4c77c26 --- /dev/null +++ b/audio/engine_11.asm @@ -0,0 +1,17 @@ + dr $44000, $44ca2 + +SongHeaderPointers11: ; 0x44ca2 + dw Music_Nothing11 + dw Music_WhackTheDiglett + dw Music_WhackTheDugtrio + dw Music_SeelStage + dw Music_Title +; 0x44cac + +INCLUDE "audio/music/nothing11.asm" +INCLUDE "audio/music/whackthediglett.asm" +INCLUDE "audio/music/whackthedugtrio.asm" +INCLUDE "audio/music/seelstage.asm" +INCLUDE "audio/music/title.asm" + + dr $462d3, $48000 diff --git a/audio/engine_12.asm b/audio/engine_12.asm new file mode 100755 index 0000000..2f17123 --- /dev/null +++ b/audio/engine_12.asm @@ -0,0 +1,17 @@ + dr $48000, $48ca2 + +SongHeaderPointers12: ; 0x48ca2 + dw Music_Nothing12 + dw Music_MewtwoStage + dw Music_Options + dw Music_FieldSelect + dw Music_MeowthStage +; 0x48cac + +INCLUDE "audio/music/nothing12.asm" +INCLUDE "audio/music/mewtwostage.asm" +INCLUDE "audio/music/options.asm" +INCLUDE "audio/music/fieldselect.asm" +INCLUDE "audio/music/meowthstage.asm" + + dr $49c04, $4c000 diff --git a/audio/engine_13.asm b/audio/engine_13.asm new file mode 100755 index 0000000..2f6668a --- /dev/null +++ b/audio/engine_13.asm @@ -0,0 +1,13 @@ + dr $4c000, $4cca2 + +SongHeaderPointers13: ; 0x4cca2 + dw Music_Nothing13 + dw Music_EndCredits + dw Music_NameEntry +; 0x4cca8 + +INCLUDE "audio/music/nothing13.asm" +INCLUDE "audio/music/endcredits.asm" +INCLUDE "audio/music/nameentry.asm" + + dr $4def4, $50000 diff --git a/audio/pikapcm.asm b/audio/pikapcm.asm new file mode 100755 index 0000000..6b4bbfe --- /dev/null +++ b/audio/pikapcm.asm @@ -0,0 +1,141 @@ +PlayPikachuSoundClip: ; 0x50000 +; Plays the pcm (pulse-code modulation) sound clip of one of the pikachu noises. + sla a + ld c, a + ld b, $0 + ld hl, PikachuSoundClipPointers + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + push hl + di + ld b, $4 +.asm_50010 + ld a, [rLY] + and a + jr nz, .asm_50010 + dec b + jr nz, .asm_50010 + xor a + ld [rNR50], a + ld [rNR51], a + ld a, $80 + ld [rNR52], a + xor a + ld [rNR30], a + ld hl, wd84b + ld c, $30 + ld b, $10 +.asm_5002b + ld a, [$ff00+c] + ld [hli], a + ld a, $ff + ld [$ff00+c], a + inc c + dec b + jr nz, .asm_5002b + ld a, $80 + ld [rNR30], a + ld a, $ff + ld [rNR31], a + ld a, $20 + ld [rNR32], a + ld a, $ff + ld [rNR33], a + ld a, $87 + ld [rNR34], a + ld a, $77 + ld [rNR50], a + ld a, $44 + ld [rNR51], a + pop hl + call PlayPikachuPCM + xor a + ld [rNR50], a + ld [rNR51], a + ld [rNR52], a + ld hl, wd84b + ld c, $30 + ld b, $10 +.asm_50062 + ld a, [hli] + ld [$ff00+c], a + inc c + dec b + jr nz, .asm_50062 + ld a, $77 + ld [rNR50], a + ld a, $ff + ld [rNR51], a + ld a, $80 + ld [rNR52], a + ei + ret + +PikachuSoundClipPointers: ; 0x50076 + dw PikachuBillboardBonusSoundClip + dw PikachuThundershockSoundClip + +PikachuBillboardBonusSoundClip: ; 0x5007a + dw $caf ; length of the pcm data (todo: there is probably a way to do this dynamically with rgbds) + INCBIN "audio/sound_clips/pi_ka_chu.pcm" + + db $1f ; unused + +PikachuThundershockSoundClip: ; 0x50d2c + dw $1227 ; length of the pcm data (todo: there is probably a way to do this dynamically with rgbds) + INCBIN "audio/sound_clips/piiiiikaaaa.pcm" + + db $f0, $00, $00 ; unused + +PlayPikachuPCM: ; 0x51f56 +; Plays the audio PCM at [hl] + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ; bc = number of bytes in the sound clip's PCM (pulse-code modulation) +.loop + ld a, [hli] + ld d, a + ld a, $3 +.playSingleSample + dec a + jr nz, .playSingleSample + call LoadNextSoundClipSample + call PlaySoundClipSample + call LoadNextSoundClipSample + call PlaySoundClipSample + call LoadNextSoundClipSample + call PlaySoundClipSample + call LoadNextSoundClipSample + call PlaySoundClipSample + call LoadNextSoundClipSample + call PlaySoundClipSample + call LoadNextSoundClipSample + call PlaySoundClipSample + call LoadNextSoundClipSample + call PlaySoundClipSample + call LoadNextSoundClipSample + dec bc + ld a, c + or b + jr nz, .loop + ret + +LoadNextSoundClipSample: ; 0x51f94 + ld a, d + and $80 + srl a + srl a + ld [rNR32], a + sla d + ret + +PlaySoundClipSample: ; 0x51fa0 + ld a, $3 +.loop + dec a + jr nz, .loop + ret diff --git a/macros/sound.asm b/macros/sound.asm index 8b8de34..2f88716 100755 --- a/macros/sound.asm +++ b/macros/sound.asm @@ -1,3 +1,13 @@ +channelcount: MACRO +nchannels = \1 - 1 + ENDM + +channel: MACRO + db (nchannels << 6) | \1 + dw \2 +nchannels = 0 + ENDM + note: MACRO dn (\1), (\2) - 1 ENDM @@ -227,4 +237,3 @@ callchannel: macro endchannel: macro db $ff endm - diff --git a/main.asm b/main.asm index dbdbf19..f8c948b 100755 --- a/main.asm +++ b/main.asm @@ -48668,7 +48668,7 @@ Func_3174c: ; 0x3174c callba Func_30253 ld de, $2525 call PlaySoundEffect - ld bc, $2cbf + ld bc, Data_2cbf ld [$ff8a], a callba Func_3118f .asm_3177a @@ -48690,7 +48690,7 @@ SlotOnPic: ; 0x34000 SlotOffPic: ; 0x34180 INCBIN "gfx/billboard/slot/slot_off.2bpp" - dr $34300, $37f00 +SECTION "bankd.2", ROMX [$7f00], BANK[$d] StageSeelBonusCollisionMasks: ; 0x37f00 INCBIN "data/collision/masks/seel_bonus.masks" @@ -48707,7 +48707,8 @@ Data_38020: Data_38030: db $a9, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - dr $38040, $3809a ; 0x38000 + + dr $38040, $3809a ; 38040 Data_3809a: db $00, $00, $00 @@ -48717,7 +48718,7 @@ Data_3809a: Data_380a6: db $59, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - dr $380b6, $38156 ; 0x38000 + dr $380b6, $38156 ; 380b6 Data_38156: db $99, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 @@ -48725,11 +48726,11 @@ Data_38156: Data_39166: db $99, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - dr $39176, $3a176 ; 0x38000 + dr $39176, $3a176 ; 39176 Data_3a176: db $a1, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - dr $3a186, $3a9e6 ; 0x38000 + dr $3a186, $3a9e6 ; 3a186 Data_3a9e6: db $79, $5d, $08, $00, $0b, $8c, $d0, $f4, $60, $00, $00, $00, $00, $00, $00, $00 @@ -48752,2705 +48753,31 @@ Data_3aa66: Data_3aa76: db $b9, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - dr $3aa86, $3c000 ; 0x38000 - SECTION "bankf", ROMX, BANK[$f] -Func_3c000: ; 0x3c000 - push hl - push de - push bc - push af - call Func_3cb1b - ld hl, wdd01 - ld de, $01af -.clearLoop - xor a - ld [hli], a - dec de - ld a, e - or d - jr nz, .clearLoop - ld hl, rNR50 - xor a - ld [hli], a - ld [hli], a - ld a, $80 - ld [hli], a - ld hl, rNR10 - ld e, $4 -.asm_3c022 - xor a - ld [hli], a - ld [hli], a - ld a, $8 - ld [hli], a - xor a - ld [hli], a - ld a, $80 - ld [hli], a - dec e - jr nz, .asm_3c022 - ld a, $8 - ld [wde9a], a - ld a, $77 - ld [wde98], a - call Func_3cb15 - pop af - pop bc - pop de - pop hl - ret - -Func_3c042: ; 0x3c042 - ld a, [de] - inc de - and $7 - ld [wdeae], a - ld c, a - ld b, $0 - ld hl, WRAMPointerTable_3cc92 - add hl, bc - add hl, bc - ld c, [hl] - inc hl - ld b, [hl] - ld hl, $0002 - add hl, bc - res 0, [hl] - push de - xor a - ld hl, $0000 - add hl, bc - ld e, $32 -.loop - ld [hli], a - dec e - jr nz, .loop - ld hl, $0017 - add hl, bc - xor a - ld [hli], a - inc a - ld [hl], a - ld hl, $0028 - add hl, bc - ld [hl], a - pop de - ld hl, $0005 - add hl, bc - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hl], a - inc de - ld hl, $0000 - add hl, bc - ld a, [wde9b] - ld [hli], a - ld a, [wde9c] - ld [hl], a - ret - - dr $3c08b, $3c090 - -PlaySong_BankF: ; 0x3c090 - push de - call Func_3c000 - pop de - call Func_3cb1b - ld hl, wde9b - ld [hl], e - inc hl - ld [hl], d - ld hl, SongHeaderPointers0F - add hl, de - add hl, de - ld e, [hl] - inc hl - ld d, [hl] - ld a, [de] - rlca - rlca - and $3 - inc a -.asm_3c0ac - push af - call Func_3c042 - call Func_3cadf - pop af - dec a - jr nz, .asm_3c0ac - call Func_3cb15 - ret - - dr $3c0bb, $3c0c0 - -PlaySoundEffect_BankF: ; 0x3c0c0 - call Func_3cb1b - ld hl, wde9b - ld [hl], e - inc hl - ld [hl], d - ld hl, PointerTable_3e3ce - add hl, de - add hl, de - ld e, [hl] - inc hl - ld d, [hl] - ld a, [de] - rlca - rlca - and $3 - inc a -.asm_3c0d7 - push af - call Func_3c042 - ld hl, $0002 - add hl, bc - set 3, [hl] - call Func_3cadf - pop af - dec a - jr nz, .asm_3c0d7 - call Func_3cb15 - ret - - dr $3c0ec, $3c0f0 - -PlayCry_BankF: ; 0x3c0f0 -; Plays a Pokemon cry. -; Input: e = mon id - call Func_3cb1b - ld a, e - and a - ret z - dec e - ld d, $0 - ld hl, CryData - add hl, de - add hl, de - add hl, de - add hl, de - add hl, de - add hl, de - ld e, [hl] - inc hl - ld d, [hl] ; de = base cry id - inc hl - ld a, [hli] - ld [wdea8], a - ld a, [hli] - ld [wdea9], a ; dea8 = cry pitch - ld a, [hli] - ld [wdeaa], a - ld a, [hl] - ld [wdeab], a ; deaa = cry length - ld hl, wde9b - ld [hl], e - inc hl - ld [hl], d - ld hl, CryBasePointers - add hl, de - add hl, de - ld e, [hl] - inc hl - ld d, [hl] - ld a, [de] - rlca - rlca - and $3 - inc a -.asm_3c12a - push af - call Func_3c042 - ld hl, $0002 - add hl, bc - set 5, [hl] - ld hl, $0003 - add hl, bc - set 4, [hl] - ld hl, $0026 - add hl, bc - ld a, [wdea8] - ld [hli], a - ld a, [wdea9] - ld [hl], a - ld a, [wde97] - and $3 - cp $3 - jr nc, .asm_3c15b - ld hl, $0017 - add hl, bc - ld a, [wdeaa] - ld [hli], a - ld a, [wdeab] - ld [hl], a -.asm_3c15b - call Func_3cadf - pop af - dec a - jr nz, .asm_3c12a - ld a, [wdeac] - and a - jr nz, .asm_3c173 - ld a, [wde98] - ld [wdeac], a - ld a, $77 - ld [wde98], a -.asm_3c173 - ld a, $1 - ld [wdead], a - call Func_3cb15 - ret - - dr $3c17c, $3c180 +INCLUDE "audio/engine_0f.asm" -Func_3c180: ; 0x3c180 - ld a, [wdd00] - and a - ret z - xor a - ld [wde97], a - ld [wde99], a - ld bc, wdd01 -.asm_3c18f - ld hl, $0002 - add hl, bc - bit 0, [hl] - jp z, .asm_3c22d - ld hl, $0014 - add hl, bc - ld a, [hl] - cp $2 - jr c, .asm_3c1a4 - dec [hl] - jr .asm_3c1c1 +SECTION "bank10", ROMX, BANK[$10] -.asm_3c1a4 - ld hl, $001c - add hl, bc - ld a, [hl] - ld hl, $001b - add hl, bc - ld [hl], a - ld hl, $0025 - add hl, bc - ld a, [hl] - ld hl, $0024 - add hl, bc - ld [hl], a - ld hl, $0003 - add hl, bc - res 1, [hl] - call Func_3c670 -.asm_3c1c1 - ld hl, $000d - add hl, bc - ld a, [hli] - ld [wde91], a - ld a, [hli] - ld [wde92], a - ld a, [hli] - ld [wde93], a - ld a, [hl] - ld [wde94], a - call Func_3c4f0 - call Func_3c632 - ld a, [wdead] - and a - jr z, .asm_3c20a - ld a, [wde97] - cp $4 - jr nc, .asm_3c219 - ld hl, wddcb - bit 0, [hl] - jr nz, .asm_3c204 - ld hl, wddfd - bit 0, [hl] - jr nz, .asm_3c204 - ld hl, wde2f - bit 0, [hl] - jr nz, .asm_3c204 - ld hl, wde61 - bit 0, [hl] - jr z, .asm_3c20a -.asm_3c204 - ld hl, $000b - add hl, bc - set 5, [hl] -.asm_3c20a - ld a, [wde97] - cp $4 - jr nc, .asm_3c219 - ld hl, $00ca - add hl, bc - bit 0, [hl] - jr nz, .asm_3c227 -.asm_3c219 - call Func_3c24d - ld hl, $0019 - add hl, bc - ld a, [wde99] - or [hl] - ld [wde99], a -.asm_3c227 - ld hl, $000b - add hl, bc - xor a - ld [hl], a -.asm_3c22d - ld hl, $0032 - add hl, bc - ld c, l - ld b, h - ld a, [wde97] - inc a - ld [wde97], a - cp $8 - jp nz, .asm_3c18f - call Func_3c40d - ld a, [wde98] - ld [rNR50], a - ld a, [wde99] - ld [rNR51], a - ret +INCLUDE "audio/engine_10.asm" -Func_3c24d: ; 0x3c24d - ld hl, PointerTable_3c25e - ld a, [wde97] - and $7 - add a - ld e, a - ld d, $0 - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] +SECTION "bank11", ROMX, BANK[$11] -PointerTable_3c25e: ; 0x3c25e - dw Func_3c26e - dw Func_3c2e0 - dw Func_3c349 - dw Func_3c3cf - dw Func_3c26e - dw Func_3c2e0 - dw Func_3c349 - dw Func_3c3cf - -Func_3c26e: ; 0x3c26e - ld hl, $000b - add hl, bc - bit 3, [hl] - jr z, .asm_3c27b - ld a, [wde9a] - ld [rNR10], a -.asm_3c27b - bit 5, [hl] - jr nz, .asm_3c2ba - bit 4, [hl] - jr nz, .asm_3c2c6 - bit 6, [hl] - jr nz, .asm_3c2b4 - bit 1, [hl] - jr z, .asm_3c295 - ld a, [wde93] - ld [rNR13], a - ld a, [wde94] - ld [rNR14], a -.asm_3c295 - bit 2, [hl] - jr z, .asm_3c2a5 - ld a, [wde92] - ld [rNR12], a - ld a, [wde94] - or $80 - ld [rNR14], a -.asm_3c2a5 - bit 0, [hl] - ret z - ld a, [wde91] - ld d, a - ld a, [rNR11] - and $3f - or d - ld [rNR11], a - ret +INCLUDE "audio/engine_11.asm" -.asm_3c2b4 - ld a, [wde93] - ld [rNR13], a - ret +SECTION "bank12", ROMX, BANK[$12] -.asm_3c2ba - ld a, $8 - ld [rNR12], a - ld a, [wde94] - or $80 - ld [rNR14], a - ret +INCLUDE "audio/engine_12.asm" -.asm_3c2c6 - ld hl, wde91 - ld a, $3f - or [hl] - ld [rNR11], a - ld a, [wde92] - ld [rNR12], a - ld a, [wde93] - ld [rNR13], a - ld a, [wde94] - or $80 - ld [rNR14], a - ret +SECTION "bank13", ROMX, BANK[$13] -Func_3c2e0: ; 0x3c2e0 - ld hl, $000b - add hl, bc - bit 5, [hl] - jr nz, .asm_3c323 - bit 4, [hl] - jr nz, .asm_3c32f - bit 6, [hl] - jr nz, .asm_3c31d - bit 1, [hl] - jr z, .asm_3c2fe - ld a, [wde93] - ld [rNR23], a - ld a, [wde94] - ld [rNR24], a -.asm_3c2fe - bit 2, [hl] - jr z, .asm_3c30e - ld a, [wde92] - ld [rNR22], a - ld a, [wde94] - or $80 - ld [rNR24], a -.asm_3c30e - bit 0, [hl] - ret z - ld a, [wde91] - ld d, a - ld a, [rNR21] - and $3f - or d - ld [rNR21], a - ret - -.asm_3c31d - ld a, [wde93] - ld [rNR23], a - ret - -.asm_3c323 - ld a, $8 - ld [rNR22], a - ld a, [wde94] - or $80 - ld [rNR24], a - ret - -.asm_3c32f - ld hl, wde91 - ld a, $3f - or [hl] - ld [rNR21], a - ld a, [wde92] - ld [rNR22], a - ld a, [wde93] - ld [rNR23], a - ld a, [wde94] - or $80 - ld [rNR24], a - ret - -Func_3c349: ; 0x3c349 - ld hl, $000b - add hl, bc - bit 5, [hl] - jr nz, .asm_3c387 - bit 4, [hl] - jr nz, .asm_3c38b - bit 6, [hl] - jr nz, .asm_3c381 - bit 1, [hl] - jr z, .asm_3c367 - ld a, [wde93] - ld [rNR33], a - ld a, [wde94] - ld [rNR34], a -.asm_3c367 - bit 2, [hl] - ret z - xor a - ld [rNR30], a - call LoadWavePattern - ld a, $80 - ld [rNR30], a - ld a, [wde93] - ld [rNR33], a - ld a, [wde94] - or $80 - ld [rNR34], a - ret - -.asm_3c381 - ld a, [wde93] - ld [rNR33], a - ret - -.asm_3c387 - xor a - ld [rNR30], a - ret - -.asm_3c38b - ld a, $3f - ld [rNR31], a - xor a - ld [rNR30], a - call LoadWavePattern - ld a, $80 - ld [rNR30], a - ld a, [wde93] - ld [rNR33], a - ld a, [wde94] - or $80 - ld [rNR34], a - ret - -LoadWavePattern: ; 0x3c3a6 - push hl - ld a, [wde92] - and $f - ld l, a - ld h, $0 - add hl, hl - add hl, hl - add hl, hl - add hl, hl - ld de, WavePatterns_BankF - add hl, de - ld de, rWave_0 - push bc - ld b, $10 -.loop - ld a, [hli] - ld [de], a - inc de - dec b - jr nz, .loop - pop bc - pop hl - ld a, [wde92] - and $f0 - sla a - ld [rNR32], a ; set volume of wave channel - ret - -Func_3c3cf: ; 0x3c3cf - ld hl, $000b - add hl, bc - bit 5, [hl] - jr nz, .asm_3c3f1 - bit 4, [hl] - jr nz, .asm_3c3fa - bit 1, [hl] - jr z, .asm_3c3e4 - ld a, [wde93] - ld [rNR43], a -.asm_3c3e4 - bit 2, [hl] - ret z - ld a, [wde92] - ld [rNR42], a - ld a, $80 - ld [rNR44], a - ret - -.asm_3c3f1 - ld a, $8 - ld [rNR42], a - ld a, $80 - ld [rNR44], a - ret - -.asm_3c3fa - ld a, $3f - ld [rNR41], a - ld a, [wde92] - ld [rNR42], a - ld a, [wde93] - ld [rNR43], a - ld a, $80 - ld [rNR44], a - ret - -Func_3c40d: ; 0x3c40d - ld a, [wdea2] - and a - ret z - ld a, [wdea3] - and a - jr z, .asm_3c41d - dec a - ld [wdea3], a - ret - -.asm_3c41d - ld a, [wdea2] - ld d, a - and $7f - ld [wdea3], a - ld a, [wde98] - and $7 - bit 7, d - jr nz, .asm_3c448 - and a - jr z, .asm_3c435 - dec a - jr .asm_3c454 - -.asm_3c435 - ld a, [wdea4] - ld e, a - ld a, [wdea5] - ld d, a - push bc - call PlaySong_BankF - pop bc - ld hl, wdea2 - set 7, [hl] - ret - -.asm_3c448 - cp $7 - jr nc, .asm_3c44f - inc a - jr .asm_3c454 - -.asm_3c44f - xor a - ld [wdea2], a - ret - -.asm_3c454 - ld d, a - swap a - or d - ld [wde98], a - ret - -Func_3c45c: ; 0x3c45c - ld hl, $0003 - add hl, bc - bit 1, [hl] - ret z - ld hl, $0014 - add hl, bc - ld a, [hl] - ld hl, wde95 - sub [hl] - jr nc, .asm_3c470 - ld a, $1 -.asm_3c470 - ld [hl], a - ld hl, $000f - add hl, bc - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $001f - add hl, bc - ld a, e - sub [hl] - ld e, a - ld a, d - sbc $0 - ld d, a - ld hl, $0020 - add hl, bc - sub [hl] - jr nc, .asm_3c4ab - ld hl, $0004 - add hl, bc - set 1, [hl] - ld hl, $000f - add hl, bc - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $001f - add hl, bc - ld a, [hl] - sub e - ld e, a - ld a, d - sbc $0 - ld d, a - ld hl, $0020 - add hl, bc - ld a, [hl] - sub d - ld d, a - jr .asm_3c4c9 - -.asm_3c4ab - ld hl, $0004 - add hl, bc - res 1, [hl] - ld hl, $000f - add hl, bc - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $001f - add hl, bc - ld a, e - sub [hl] - ld e, a - ld a, d - sbc $0 - ld d, a - ld hl, $0020 - add hl, bc - sub [hl] - ld d, a -.asm_3c4c9 - push bc - ld hl, wde95 - ld b, $0 -.asm_3c4cf - inc b - ld a, e - sub [hl] - ld e, a - jr nc, .asm_3c4cf - ld a, d - and a - jr z, .asm_3c4dc - dec d - jr .asm_3c4cf - -.asm_3c4dc - ld a, e - add [hl] - ld d, b - pop bc - ld hl, $0021 - add hl, bc - ld [hl], d - ld hl, $0022 - add hl, bc - ld [hl], a - ld hl, $0023 - add hl, bc - xor a - ld [hl], a - - ; fall through - -Func_3c4f0: ; 0x3c4f0 - ld hl, $0003 - add hl, bc - bit 2, [hl] - jr z, .asm_3c50b - ld hl, $001a - add hl, bc - ld a, [hl] - rlca - rlca - ld [hl], a - and $c0 - ld [wde91], a - ld hl, $000b - add hl, bc - set 0, [hl] -.asm_3c50b - ld hl, $0003 - add hl, bc - bit 4, [hl] - jr z, .asm_3c529 - ld hl, $0026 - add hl, bc - ld e, [hl] - inc hl - ld d, [hl] - ld hl, wde93 - ld a, [hli] - ld h, [hl] - ld l, a - add hl, de - ld e, l - ld d, h - ld hl, wde93 - ld [hl], e - inc hl - ld [hl], d -.asm_3c529 - ld hl, $0003 - add hl, bc - bit 1, [hl] - jp z, .asm_3c5c1 - ld hl, $000f - add hl, bc - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $0004 - add hl, bc - bit 1, [hl] - jr z, .asm_3c574 - ld hl, $0021 - add hl, bc - ld l, [hl] - ld h, $0 - add hl, de - ld d, h - ld e, l - ld hl, $0022 - add hl, bc - ld a, [hl] - ld hl, $0023 - add hl, bc - add [hl] - ld [hl], a - ld a, $0 - adc e - ld e, a - ld a, $0 - adc d - ld d, a - ld hl, $0020 - add hl, bc - ld a, [hl] - cp d - jp c, .asm_3c5a1 - jr nz, .asm_3c5b4 - ld hl, $001f - add hl, bc - ld a, [hl] - cp e - jp c, .asm_3c5a1 - jr .asm_3c5b4 - -.asm_3c574 - ld a, e - ld hl, $0021 - add hl, bc - ld e, [hl] - sub e - ld e, a - ld a, d - sbc $0 - ld d, a - ld hl, $0022 - add hl, bc - ld a, [hl] - add a - ld [hl], a - ld a, e - sbc $0 - ld e, a - ld a, d - sbc $0 - ld d, a - ld hl, $0020 - add hl, bc - ld a, d - cp [hl] - jr c, .asm_3c5a1 - jr nz, .asm_3c5b4 - ld hl, $001f - add hl, bc - ld a, e - cp [hl] - jr nc, .asm_3c5b4 -.asm_3c5a1 - ld hl, $0003 - add hl, bc - res 1, [hl] - ld hl, $0004 - add hl, bc - res 1, [hl] - ld hl, $0020 - add hl, bc - ld e, [hl] - inc hl - ld d, [hl] -.asm_3c5b4 - ld hl, $000f - add hl, bc - ld [hl], e - inc hl - ld [hl], d - ld hl, $000b - add hl, bc - set 1, [hl] -.asm_3c5c1 - ld hl, $0003 - add hl, bc - bit 0, [hl] - jr z, .asm_3c61a - ld hl, $001b - add hl, bc - ld a, [hl] - and a - jr nz, .asm_3c5e3 - ld hl, $001d - add hl, bc - ld a, [hl] - and a - jr z, .asm_3c61a - ld d, a - ld hl, $001e - add hl, bc - ld a, [hl] - and $f - jr z, .asm_3c5e6 -.asm_3c5e3 - dec [hl] - jr .asm_3c61a - -.asm_3c5e6 - ld a, [hl] - swap [hl] - or [hl] - ld [hl], a - ld a, [wde93] - ld e, a - ld hl, $0004 - add hl, bc - bit 0, [hl] - jr z, .asm_3c605 - res 0, [hl] - ld a, d - and $f - ld d, a - ld a, e - sub d - jr nc, .asm_3c611 - ld a, $0 - jr .asm_3c611 - -.asm_3c605 - set 0, [hl] - ld a, d - and $f0 - swap a - add e - jr nc, .asm_3c611 - ld a, $ff -.asm_3c611 - ld [wde93], a - ld hl, $000b - add hl, bc - set 6, [hl] -.asm_3c61a - ld hl, $0003 - add hl, bc - bit 3, [hl] - ret z - ld hl, $0024 - add hl, bc - ld a, [hl] - and a - jr z, .asm_3c62b - dec [hl] - ret - -.asm_3c62b - ld hl, $000b - add hl, bc - set 5, [hl] - ret - -Func_3c632: ; 0x3c632 - ld hl, $0002 - add hl, bc - bit 4, [hl] - ret z - ld a, [wde9f] - and a - jr z, .asm_3c644 - dec a - ld [wde9f], a - ret - -.asm_3c644 - ld hl, wde9d - ld e, [hl] - inc hl - ld d, [hl] - ld a, [de] - inc de - cp $ff - ret z - and $f - inc a - ld [wde9f], a - ld a, [de] - inc de - ld [wde92], a - ld a, [de] - inc de - ld [wde93], a - xor a - ld [wde94], a - ld hl, wde9d - ld [hl], e - inc hl - ld [hl], d - ld hl, $000b - add hl, bc - set 4, [hl] - ret - -Func_3c670: ; 0x3c670 - call Func_3ca10 - cp $ff - jr z, .asm_3c6c9 - cp $d0 - jr c, .asm_3c680 -.asm_3c67b - call Func_3c786 - jr Func_3c670 - -.asm_3c680 - ld hl, $0002 - add hl, bc - bit 3, [hl] - jp nz, Func_3c723 - bit 5, [hl] - jp nz, Func_3c723 - bit 4, [hl] - jp nz, Func_3c750 - ld a, [wde96] - and $f - call Func_3ca5b - ld a, [wde96] - swap a - and $f - jr z, .asm_3c6c2 - ld hl, $0011 - add hl, bc - ld [hl], a - ld e, a - ld hl, $0012 - add hl, bc - ld d, [hl] - call Func_3ca2b - ld hl, $000f - add hl, bc - ld [hl], e - inc hl - ld [hl], d - ld hl, $000b - add hl, bc - set 4, [hl] - jp Func_3c45c - -.asm_3c6c2 - ld hl, $000b - add hl, bc - set 5, [hl] - ret - -.asm_3c6c9 - ld hl, $0002 - add hl, bc - bit 1, [hl] - jr nz, .asm_3c67b - ld a, [wde97] - cp $4 - jr nc, .asm_3c6e0 - ld hl, $00ca - add hl, bc - bit 0, [hl] - jr nz, .asm_3c6f6 -.asm_3c6e0 - ld hl, $0002 - add hl, bc - bit 5, [hl] - call nz, Func_3c704 - ld a, [wde97] - cp $4 - jr nz, .asm_3c6f6 - xor a - ld [rNR10], a - ld [wde9a], a -.asm_3c6f6 - ld hl, $0002 - add hl, bc - res 0, [hl] - ld hl, $0000 - add hl, bc - xor a - ld [hli], a - ld [hli], a - ret - -Func_3c704: ; 0x3c704 - ld a, [wde97] - cp $4 - ret nz - xor a - ld hl, wde21 - ld [hli], a - ld [hl], a - ld hl, wde85 - ld [hli], a - ld [hl], a - ld a, [wdeac] - ld [wde98], a - xor a - ld [wdeac], a - ld [wdead], a - ret - -Func_3c723: ; 0x3c723 - ld hl, $000b - add hl, bc - set 4, [hl] - ld a, [wde96] - call Func_3ca5b - call Func_3ca10 - ld hl, $000e - add hl, bc - ld [hl], a - call Func_3ca10 - ld hl, $000f - add hl, bc - ld [hl], a - ld a, [wde97] - and $3 - cp $3 - ret z - call Func_3ca10 - ld hl, $0010 - add hl, bc - ld [hl], a - ret - -Func_3c750: ; 0x3c750 - ld a, [wde97] - cp $3 - ret nz - ld a, [wde96] - and $f - call Func_3ca5b - ld a, [wdea1] - ld e, a - ld d, $0 - ld hl, $4ba2 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [wde96] - swap a - and $f - ret z - ld e, a - ld d, $0 - add hl, de - add hl, de - ld a, [hli] - ld [wde9d], a - ld a, [hl] - ld [wde9e], a - xor a - ld [wde9f], a - ret - -Func_3c786: ; 0x3c786 - ld a, [wde96] - sub $d0 - ld e, a - ld d, $0 - ld hl, PointerTable_3c797 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] - -PointerTable_3c797: ; 0x3c797 - dw Func_3c9b6 - dw Func_3c9b6 - dw Func_3c9b6 - dw Func_3c9b6 - dw Func_3c9b6 - dw Func_3c9b6 - dw Func_3c9b6 - dw Func_3c9b6 - dw Func_3c973 - dw Func_3c9c1 - dw Func_3c9aa - dw Func_3c994 - dw Func_3c9a1 - dw Func_3c987 - dw Func_3c939 - dw Func_3c951 - dw Func_3c8ff - dw Func_3c8c4 - dw Func_3c8b5 - dw Func_3c95f - dw Func_3c9ca - dw Func_3c9da - dw Func_3c926 - dw Func_3c7f7 - dw Func_3c7f7 - dw Func_3c9e9 - dw Func_3c7f7 - dw Func_3c7f7 - dw Func_3ca05 - dw Func_3ca0b - dw Func_3c7f7 - dw Func_3c7f7 - dw Func_3c7f7 - dw Func_3c7f7 - dw Func_3c7f7 - dw Func_3c7f7 - dw Func_3c7f7 - dw Func_3c7f7 - dw Func_3c7f7 - dw Func_3c7f7 - dw Func_3c7f7 - dw Func_3c7f7 - dw Func_3c885 - dw Func_3c88e - dw Func_3c833 - dw Func_3c843 - dw Func_3c80d - dw Func_3c7f8 - -Func_3c7f7: ; 0x3c7f7 - ret - -Func_3c7f8: ; 0x3c7f8 - ld hl, $0002 - add hl, bc - res 1, [hl] - ld hl, $0007 - add hl, bc - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $0005 - add hl, bc - ld [hl], e - inc hl - ld [hl], d - ret - -Func_3c80d: ; 0x3c80d - call Func_3ca10 - ld e, a - call Func_3ca10 - ld d, a - push de - ld hl, $0005 - add hl, bc - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $0007 - add hl, bc - ld [hl], e - inc hl - ld [hl], d - pop de - ld hl, $0005 - add hl, bc - ld [hl], e - inc hl - ld [hl], d - ld hl, $0002 - add hl, bc - set 1, [hl] - ret - -Func_3c833: ; 0x3c833 - call Func_3ca10 - ld e, a - call Func_3ca10 - ld d, a - ld hl, $0005 - add hl, bc - ld [hl], e - inc hl - ld [hl], d - ret - -Func_3c843: ; 0x3c843 - call Func_3ca10 - ld hl, $0002 - add hl, bc - bit 2, [hl] - jr nz, .asm_3c859 - and a - jr z, .asm_3c862 - dec a - set 2, [hl] - ld hl, $0016 - add hl, bc - ld [hl], a -.asm_3c859 - ld hl, $0016 - add hl, bc - ld a, [hl] - and a - jr z, .asm_3c872 - dec [hl] -.asm_3c862 - call Func_3ca10 - ld e, a - call Func_3ca10 - ld d, a - ld hl, $0005 - add hl, bc - ld [hl], e - inc hl - ld [hl], d - ret - -.asm_3c872 - ld hl, $0002 - add hl, bc - res 2, [hl] - ld hl, $0005 - add hl, bc - ld e, [hl] - inc hl - ld d, [hl] - inc de - inc de - ld [hl], d - dec hl - ld [hl], e - ret - -Func_3c885: ; 0x3c885 - call Func_3ca10 - ld hl, $000c - add hl, bc - ld [hl], a - ret - -Func_3c88e: ; 0x3c88e - call Func_3ca10 - ld hl, $000c - add hl, bc - cp [hl] - jr z, .asm_3c8a5 - ld hl, $0005 - add hl, bc - ld e, [hl] - inc hl - ld d, [hl] - inc de - inc de - ld [hl], d - dec hl - ld [hl], e - ret - -.asm_3c8a5 - call Func_3ca10 - ld e, a - call Func_3ca10 - ld d, a - ld hl, $0005 - add hl, bc - ld [hl], e - inc hl - ld [hl], d - ret - -Func_3c8b5: ; 0x3c8b5 - call Func_3ca10 - ld hl, $0025 - add hl, bc - ld [hl], a - ld hl, $0003 - add hl, bc - set 3, [hl] - ret - -Func_3c8c4: ; 0x3c8c4 - ld hl, $0003 - add hl, bc - set 0, [hl] - ld hl, $0004 - add hl, bc - res 0, [hl] - call Func_3ca10 - ld hl, $001c - add hl, bc - ld [hl], a - ld hl, $001b - add hl, bc - ld [hl], a - call Func_3ca10 - ld hl, $001d - add hl, bc - ld d, a - and $f0 - swap a - srl a - ld e, a - adc $0 - swap a - or e - ld [hl], a - ld hl, $001e - add hl, bc - ld a, d - and $f - ld d, a - swap a - or d - ld [hl], a - ret - -Func_3c8ff: ; 0x3c8ff - call Func_3ca10 - ld [wde95], a - call Func_3ca10 - ld d, a - and $f - ld e, a - ld a, d - swap a - and $f - ld d, a - call Func_3ca2b - ld hl, $001f - add hl, bc - ld [hl], e - ld hl, $0020 - add hl, bc - ld [hl], d - ld hl, $0003 - add hl, bc - set 1, [hl] - ret - -Func_3c926: ; 0x3c926 - ld hl, $0003 - add hl, bc - set 4, [hl] - ld hl, $0027 - add hl, bc - call Func_3ca10 - ld [hld], a - call Func_3ca10 - ld [hl], a - ret - -Func_3c939: ; 0x3c939 - ld hl, $0003 - add hl, bc - set 2, [hl] - call Func_3ca10 - rrca - rrca - ld hl, $001a - add hl, bc - ld [hl], a - and $c0 - ld hl, $000d - add hl, bc - ld [hl], a - ret - -Func_3c951: ; 0x3c951 - ld hl, $0002 - add hl, bc - bit 3, [hl] - jr z, .asm_3c95c - res 3, [hl] - ret - -.asm_3c95c - set 3, [hl] - ret - -Func_3c95f: ; 0x3c95f - ld hl, $0002 - add hl, bc - bit 4, [hl] - jr z, .asm_3c96a - res 4, [hl] - ret - -.asm_3c96a - set 4, [hl] - call Func_3ca10 - ld [wdea1], a - ret - -Func_3c973: ; 0x3c973 - call Func_3ca10 - ld hl, $0028 - add hl, bc - ld [hl], a - ld a, [wde97] - and $3 - cp $3 - ret z - call Func_3c9a1 - ret - -Func_3c987: ; 0x3c987 - call Func_3ca10 - ld [wde9a], a - ld hl, $000b - add hl, bc - set 3, [hl] - ret - -Func_3c994: ; 0x3c994 - call Func_3ca10 - rrca - rrca - and $c0 - ld hl, $000d - add hl, bc - ld [hl], a - ret - -Func_3c9a1: ; 0x3c9a1 - call Func_3ca10 - ld hl, $000e - add hl, bc - ld [hl], a - ret - -Func_3c9aa: ; 0x3c9aa - call Func_3ca10 - ld d, a - call Func_3ca10 - ld e, a - call Func_3ca95 - ret - -Func_3c9b6: ; 0x3c9b6 - ld hl, $0012 - add hl, bc - ld a, [wde96] - and $7 - ld [hl], a - ret - -Func_3c9c1: ; 0x3c9c1 - call Func_3ca10 - ld hl, $0013 - add hl, bc - ld [hl], a - ret - -Func_3c9ca: ; 0x3c9ca - ld a, [wde97] - call Func_3caf4 - call Func_3ca10 - ld hl, $0019 - add hl, bc - and [hl] - ld [hl], a - ret - -Func_3c9da: ; 0x3c9da - call Func_3ca10 - ld a, [wdea2] - and a - ret nz - ld a, [wde96] - ld [wde98], a - ret - -Func_3c9e9: ; 0x3c9e9 - call Func_3ca10 - ld e, a - cp $80 - jr nc, .asm_3c9f5 - ld d, $0 - jr .asm_3c9f7 - -.asm_3c9f5 - ld d, $ff -.asm_3c9f7 - ld hl, $0017 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - add hl, de - ld e, l - ld d, h - call Func_3ca95 - ret - -Func_3ca05: ; 0x3ca05 - ld a, $1 - ld [wdead], a - ret - -Func_3ca0b: ; 0x3ca0b - xor a - ld [wdead], a - ret - -Func_3ca10: ; 0x3ca10 - push hl - push de - ld hl, $0005 - add hl, bc - ld e, [hl] - inc hl - ld d, [hl] - ld a, [de] - ld [wde96], a - inc de - ld hl, $0005 - add hl, bc - ld [hl], e - inc hl - ld [hl], d - pop de - pop hl - ld a, [wde96] - ret - -Func_3ca2b: ; 0x3ca2b - ld hl, $0013 - add hl, bc - ld a, [hl] - swap a - and $f - add d - push af - ld hl, $0013 - add hl, bc - ld a, [hl] - and $f - ld l, a - ld d, $0 - ld h, d - add hl, de - add hl, hl - ld de, $4b20 ; todo - add hl, de - ld e, [hl] - inc hl - ld d, [hl] - pop af -.asm_3ca4b - cp $7 - jr nc, .asm_3ca56 - sra d - rr e - inc a - jr .asm_3ca4b - -.asm_3ca56 - ld a, d - and $7 - ld d, a - ret - -Func_3ca5b: ; 0x3ca5b - inc a - ld e, a - ld d, $0 - ld hl, $0028 - add hl, bc - ld a, [hl] - ld l, $0 - call Func_3ca86 - ld a, l - ld hl, $0017 - add hl, bc - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $0015 - add hl, bc - ld l, [hl] - call Func_3ca86 - ld e, l - ld d, h - ld hl, $0015 - add hl, bc - ld [hl], e - ld hl, $0014 - add hl, bc - ld [hl], d - ret - -Func_3ca86: ; 0x3ca86 - ld h, $0 -.asm_3ca88 - srl a - jr nc, .asm_3ca8d - add hl, de -.asm_3ca8d - sla e - rl d - and a - jr nz, .asm_3ca88 - ret - -Func_3ca95: ; 0x3ca95 - push bc - ld a, [wde97] - cp $4 - jr nc, .asm_3cab7 - ld bc, wdd01 - call Func_3cad1 - ld bc, wdd33 - call Func_3cad1 - ld bc, wdd65 - call Func_3cad1 - ld bc, wdd97 - call Func_3cad1 - jr .asm_3cacf - -.asm_3cab7 - ld bc, wddc9 - call Func_3cad1 - ld bc, wddfb - call Func_3cad1 - ld bc, wde2d - call Func_3cad1 - ld bc, wde5f - call Func_3cad1 -.asm_3cacf - pop bc - ret - -Func_3cad1: ; 0x3cad1 - ld hl, $0017 - add hl, bc - ld [hl], e - inc hl - ld [hl], d - xor a - ld hl, $0015 - add hl, bc - ld [hl], a - ret - -Func_3cadf: ; 0x3cadf - call Func_3cb06 - ld a, [wdeae] - jr .asm_3caea - - ld a, [wde97] -.asm_3caea - call Func_3caf4 - ld hl, $0002 - add hl, bc - set 0, [hl] - ret - -Func_3caf4: ; 0x3caf4 - push de - and $3 - ld e, a - ld d, $0 - ld hl, Data_3cc8e - add hl, de - ld a, [hl] - ld hl, $0019 - add hl, bc - ld [hl], a - pop de - ret - -Func_3cb06: ; 0x3cb06 - ld a, [wdeae] - and $3 - cp $0 - ret nz - xor a - ld [rNR10], a - ld [wde9a], a - ret - -Func_3cb15: ; 0x3cb15 - ld a, $1 - ld [wdd00], a - ret - -Func_3cb1b: ; 0x3cb1b - xor a - ld [wdd00], a - ret - - dr $3cb20, $3cb52 - -WavePatterns_BankF: -WavePattern0_BankF: ; 0x3cb52 - db $02, $46, $8A, $CE, $FF, $FE, $ED, $DC, $CB, $A9, $87, $65, $44, $33, $22, $11 -WavePattern1_BankF: ; 0x3cb62 - db $02, $46, $8A, $CE, $EF, $FF, $FE, $EE, $DD, $CB, $A9, $87, $65, $43, $22, $11 -WavePattern2_BankF: ; 0x3cb72 - db $01, $23, $43, $21, $FE, $CA, $8A, $CE, $01, $23, $43, $21, $FE, $CA, $8A, $CE -WavePattern3_BankF: ; 0x3cb82 - db $00, $11, $22, $33, $44, $33, $22, $11, $FF, $EE, $CC, $AA, $88, $AA, $CC, $EE -WavePattern4_BankF: ; 0x3cb92 - db $00, $11, $22, $33, $44, $33, $22, $11, $FF, $EE, $CC, $AA, $88, $AA, $CC, $EE - - dr $3cba2, $3cc8e - -Data_3cc8e: ; 0x3cc8e - db $11, $22, $44, $88 - -WRAMPointerTable_3cc92: ; 0x3cc92 - dw $DD01 - dw $DD33 - dw $DD65 - dw $DD97 - - dr $3cc9a, $3cca2 - -SongHeaderPointers0F: ; 0x3cca2 - dw Music_Nothing0F - dw Music_BlueField - dw Music_CatchEmRed - dw Music_HurryUpRed - dw Music_Pokedex - dw Music_GastlyInTheGraveyard - dw Music_HaunterInTheGraveyard - dw Music_GengarInTheGraveyard -; 0x3ccb2 - -INCLUDE "audio/music/nothing0f.asm" -INCLUDE "audio/music/bluefield.asm" -INCLUDE "audio/music/catchemred.asm" -INCLUDE "audio/music/pokedex.asm" -INCLUDE "audio/music/hurryupred.asm" -INCLUDE "audio/music/gastlyinthegraveyard.asm" -INCLUDE "audio/music/haunterinthegraveyard.asm" -INCLUDE "audio/music/gengarinthegraveyard.asm" - -PointerTable_3e3ce: ; 0x3e3ce - dw $646A - dw $6480 - dw $649A - dw $64BA - dw $64D0 - dw $64E0 - dw $64F0 - dw $6500 - dw $651A - dw $652E - dw $6544 - dw $6554 - dw $657C - dw $6589 - dw $659F - dw $65B5 - dw $65C5 - dw $65E2 - dw $65F4 - dw $6606 - dw $6618 - dw $662A - dw $663C - dw $664E - dw $6660 - dw $6672 - dw $6684 - dw $6696 - dw $66A8 - dw $66BA - dw $66CC - dw $66DE - dw $66F0 - dw $6702 - dw $671A - dw $675D - dw $6810 - dw $68AE - dw $696D - dw $6A25 - dw $6A68 - dw $6A82 - dw $6B17 - dw $6BF9 - dw $6C17 - dw $6C31 - dw $6C4B - dw $6C7D - dw $6C8F - dw $6CA7 - dw $6CB7 - dw $6CD1 - dw $6CE9 - dw $6CFF - dw $6D15 - dw $6D31 - dw $6D4D - dw $6D65 - dw $6D78 - dw $6D98 - dw $6DB0 - dw $6DC0 - dw $6DD0 - dw $6DE3 - dw $6DF3 - dw $6E1C - dw $6E32 - dw $6E48 - dw $6E5E - dw $6E78 - dw $6E92 - dw $6EAA - dw $6EC4 - dw $6ED4 - dw $6EEA - dw $6F00 - dw $6F16 - dw $6F27 - - dr $3e46a, $3ef63 - -CryBasePointers: ; 0x3ef63 - dw Cry_00_Header_BankF - dw Cry_01_Header_BankF - dw Cry_02_Header_BankF - dw Cry_03_Header_BankF - dw Cry_04_Header_BankF - dw Cry_05_Header_BankF - dw Cry_06_Header_BankF - dw Cry_07_Header_BankF - dw Cry_08_Header_BankF - dw Cry_09_Header_BankF - dw Cry_0A_Header_BankF - dw Cry_0B_Header_BankF - dw Cry_0C_Header_BankF - dw Cry_0D_Header_BankF - dw Cry_0E_Header_BankF - dw Cry_0F_Header_BankF - dw Cry_10_Header_BankF - dw Cry_11_Header_BankF - dw Cry_12_Header_BankF - dw Cry_13_Header_BankF - dw Cry_14_Header_BankF - dw Cry_15_Header_BankF - dw Cry_16_Header_BankF - dw Cry_17_Header_BankF - dw Cry_18_Header_BankF - dw Cry_19_Header_BankF - dw Cry_1A_Header_BankF - dw Cry_1B_Header_BankF - dw Cry_1C_Header_BankF - dw Cry_1D_Header_BankF - dw Cry_1E_Header_BankF - dw Cry_1F_Header_BankF - dw Cry_20_Header_BankF - dw Cry_21_Header_BankF - dw Cry_22_Header_BankF - dw Cry_23_Header_BankF - dw Cry_24_Header_BankF - dw Cry_25_Header_BankF - -CryData: ; 0x3efaf -; Each entry is in the following format: -; [base cry id], [pitch], [length - dw $000F, $0080, $0081 ; BULBASAUR - dw $000F, $0020, $0100 ; IVYSAUR - dw $000F, $0000, $0140 ; VENUSAUR - dw $0004, $0060, $00C0 ; CHARMANDER - dw $0004, $0020, $00C0 ; CHARMELEON - dw $0004, $0000, $0100 ; CHARIZARD - dw $001D, $0060, $00C0 ; SQUIRTLE - dw $001D, $0020, $00C0 ; WARTORTLE - dw $0013, $0000, $0100 ; BLASTOISE - dw $0016, $0080, $00A0 ; CATERPIE - dw $001C, $00CC, $0081 ; METAPOD - dw $0016, $0077, $00C0 ; BUTTERFREE - dw $0015, $00EE, $0081 ; WEEDLE - dw $0013, $00FF, $0081 ; KAKUNA - dw $0013, $0060, $0100 ; BEEDRILL - dw $000E, $00DF, $0084 ; PIDGEY - dw $0014, $0028, $0140 ; PIDGEOTTO - dw $0014, $0011, $017F ; PIDGEOT - dw $0022, $0000, $0100 ; RATTATA - dw $0022, $0020, $017F ; RATICATE - dw $0010, $0000, $0100 ; SPEAROW - dw $0018, $0040, $0120 ; FEAROW - dw $0017, $0012, $00C0 ; EKANS - dw $0017, $00E0, $0090 ; ARBOK - dw $000F, $00EE, $0081 ; PIKACHU - dw $0009, $00EE, $0088 ; RAICHU - dw $0000, $0020, $00C0 ; SANDSHREW - dw $0000, $00FF, $017F ; SANDSLASH - dw $0001, $0000, $0100 ; NIDORAN_F - dw $0001, $002C, $0160 ; NIDORINA - dw $000A, $0000, $0100 ; NIDOQUEEN - dw $0000, $0000, $0100 ; NIDORAN_M - dw $0000, $002C, $0140 ; NIDORINO - dw $0009, $0000, $0100 ; NIDOKING - dw $0019, $00CC, $0081 ; CLEFAIRY - dw $0019, $00AA, $00A0 ; CLEFABLE - dw $0024, $004F, $0090 ; VULPIX - dw $0024, $0088, $00E0 ; NINETALES - dw $000E, $00FF, $00B5 ; JIGGLYPUFF - dw $000E, $0068, $00E0 ; WIGGLYTUFF - dw $001D, $00E0, $0100 ; ZUBAT - dw $001D, $00FA, $0100 ; GOLBAT - dw $0008, $00DD, $0081 ; ODDISH - dw $0008, $00AA, $00C0 ; GLOOM - dw $0023, $0022, $017F ; VILEPLUME - dw $001E, $0020, $0160 ; PARAS - dw $001E, $0042, $017F ; PARASECT - dw $001A, $0044, $00C0 ; VENONAT - dw $001A, $0029, $0100 ; VENOMOTH - dw $000B, $00AA, $0081 ; DIGLETT - dw $000B, $002A, $0090 ; DUGTRIO - dw $0019, $0077, $0090 ; MEOWTH - dw $0019, $0099, $017F ; PERSIAN - dw $0021, $0020, $00E0 ; PSYDUCK - dw $0021, $00FF, $00C0 ; GOLDUCK - dw $000A, $00DD, $00E0 ; MANKEY - dw $000A, $00AF, $00C0 ; PRIMEAPE - dw $001F, $0020, $00C0 ; GROWLITHE - dw $0015, $0000, $0100 ; ARCANINE - dw $000E, $00FF, $017F ; POLIWAG - dw $000E, $0077, $00E0 ; POLIWHIRL - dw $000E, $0000, $017F ; POLIWRATH - dw $001C, $00C0, $0081 ; ABRA - dw $001C, $00A8, $0140 ; KADABRA - dw $001C, $0098, $017F ; ALAKAZAM - dw $001F, $00EE, $0081 ; MACHOP - dw $001F, $0048, $00E0 ; MACHOKE - dw $001F, $0008, $0140 ; MACHAMP - dw $0021, $0055, $0081 ; BELLSPROUT - dw $0025, $0044, $00A0 ; WEEPINBELL - dw $0025, $0066, $014C ; VICTREEBEL - dw $001A, $0000, $0100 ; TENTACOOL - dw $001A, $00EE, $017F ; TENTACRUEL - dw $0024, $00F0, $0090 ; GEODUDE - dw $0024, $0000, $0100 ; GRAVELER - dw $0012, $00E0, $00C0 ; GOLEM - dw $0025, $0000, $0100 ; PONYTA - dw $0025, $0020, $0140 ; RAPIDASH - dw $0002, $0000, $0100 ; SLOWPOKE - dw $001F, $0000, $0100 ; SLOWBRO - dw $001C, $0080, $00E0 ; MAGNEMITE - dw $001C, $0020, $0140 ; MAGNETON - dw $0010, $00DD, $0081 ; FARFETCH_D - dw $000B, $00BB, $0081 ; DODUO - dw $000B, $0099, $00A0 ; DODRIO - dw $000C, $0088, $0140 ; SEEL - dw $000C, $0023, $017F ; DEWGONG - dw $0005, $0000, $0100 ; GRIMER - dw $0007, $00EF, $017F ; MUK - dw $0018, $0000, $0100 ; SHELLDER - dw $0018, $006F, $0160 ; CLOYSTER - dw $001C, $0000, $0100 ; GASTLY - dw $001C, $0030, $00C0 ; HAUNTER - dw $0007, $0000, $017F ; GENGAR - dw $0017, $00FF, $0140 ; ONIX - dw $000D, $0088, $00A0 ; DROWZEE - dw $000D, $00EE, $00C0 ; HYPNO - dw $0020, $0020, $0160 ; KRABBY - dw $0020, $00EE, $0160 ; KINGLER - dw $0006, $00ED, $0100 ; VOLTORB - dw $0006, $00A8, $0110 ; ELECTRODE - dw $000B, $0000, $0100 ; EXEGGCUTE - dw $000D, $0000, $0100 ; EXEGGUTOR - dw $0019, $0000, $0100 ; CUBONE - dw $0008, $004F, $00E0 ; MAROWAK - dw $0012, $0080, $0140 ; HITMONLEE - dw $000C, $00EE, $0140 ; HITMONCHAN - dw $000C, $0000, $0100 ; LICKITUNG - dw $0012, $00E6, $015D ; KOFFING - dw $0012, $00FF, $017F ; WEEZING - dw $0004, $0000, $0100 ; RHYHORN - dw $0011, $0000, $0100 ; RHYDON - dw $0014, $000A, $0140 ; CHANSEY - dw $0012, $0000, $0100 ; TANGELA - dw $0003, $0000, $0100 ; KANGASKHAN - dw $0019, $0099, $0090 ; HORSEA - dw $0019, $003C, $0081 ; SEADRA - dw $0016, $0080, $00C0 ; GOLDEEN - dw $0016, $0010, $017F ; SEAKING - dw $001E, $0002, $00A0 ; STARYU - dw $001E, $0000, $0100 ; STARMIE - dw $0020, $0008, $00C0 ; MR_MIME - dw $0016, $0000, $0100 ; SCYTHER - dw $000D, $00FF, $017F ; JYNX - dw $0006, $008F, $017F ; ELECTABUZZ - dw $0004, $00FF, $00B0 ; MAGMAR - dw $0014, $0000, $0100 ; PINSIR - dw $001D, $0011, $00C0 ; TAUROS - dw $0017, $0080, $0080 ; MAGIKARP - dw $0017, $0000, $0100 ; GYARADOS - dw $001B, $0000, $0100 ; LAPRAS - dw $000E, $00FF, $017F ; DITTO - dw $001A, $0088, $00E0 ; EEVEE - dw $001A, $00AA, $017F ; VAPOREON - dw $001A, $003D, $0100 ; JOLTEON - dw $001A, $0010, $00A0 ; FLAREON - dw $0025, $00AA, $017F ; PORYGON - dw $001F, $00F0, $0081 ; OMANYTE - dw $001F, $00FF, $00C0 ; OMASTAR - dw $0016, $00BB, $00C0 ; KABUTO - dw $0018, $00EE, $0081 ; KABUTOPS - dw $0023, $0020, $0170 ; AERODACTYL - dw $0005, $0055, $0081 ; SNORLAX - dw $0009, $0080, $00C0 ; ARTICUNO - dw $0018, $00FF, $0100 ; ZAPDOS - dw $0009, $00F8, $00C0 ; MOLTRES - dw $000F, $0060, $00C0 ; DRATINI - dw $000F, $0040, $0100 ; DRAGONAIR - dw $000F, $003C, $0140 ; DRAGONITE - dw $001E, $0099, $017F ; MEWTWO - dw $001E, $00EE, $017F ; MEW - -Cry_00_Header_BankF: ; 0x3f339 - db $84 - dw $7733 - db $05 - dw $7742 - db $07 - dw $7751 - -Cry_01_Header_BankF: ; 0x3f342 - db $84 - dw $7943 - db $05 - dw $7956 - db $07 - dw $7969 - -Cry_02_Header_BankF: ; 0x3f34b - db $84 - dw $78B8 - db $05 - dw $78C7 - db $07 - dw $78D5 - -Cry_03_Header_BankF: ; 0x3f354 - db $84 - dw $7652 - db $05 - dw $7671 - db $07 - dw $7690 - -Cry_04_Header_BankF: ; 0x3f35d - db $84 - dw $7A01 - db $05 - dw $7A20 - db $07 - dw $7A3F - -Cry_05_Header_BankF: ; 0x3f366 - db $84 - dw $77E1 - db $05 - dw $77F4 - db $07 - dw $7806 - -Cry_06_Header_BankF: ; 0x3f36f - db $84 - dw $778B - db $05 - dw $77A5 - db $07 - dw $77A6 - -Cry_07_Header_BankF: ; 0x3f378 - db $84 - dw $77B9 - db $05 - dw $77C8 - db $07 - dw $77D7 - -Cry_08_Header_BankF: ; 0x3f381 - db $84 - dw $79D1 - db $05 - dw $79E4 - db $07 - dw $79F7 - -Cry_09_Header_BankF: ; 0x3f38a - db $84 - dw $74DB - db $05 - dw $74F8 - db $07 - dw $7519 - -Cry_0A_Header_BankF: ; 0x3f393 - db $84 - dw $7976 - db $05 - dw $7995 - db $07 - dw $79B8 - -Cry_0B_Header_BankF: ; 0x3f39c - db $84 - dw $7807 - db $05 - dw $7832 - db $07 - dw $7851 - -Cry_0C_Header_BankF: ; 0x3f3a5 - db $84 - dw $786A - db $05 - dw $7891 - db $07 - dw $78B7 - -Cry_0D_Header_BankF: ; 0x3f3ae - db $84 - dw $78D6 - db $05 - dw $78F5 - db $07 - dw $7924 - -Cry_0E_Header_BankF: ; 0x3f - db $84 - dw $775B - db $05 - dw $776E - db $07 - dw $7781 - -Cry_0F_Header_BankF: ; 0x3f - db $84 - dw $769D - db $05 - dw $76B8 - db $07 - dw $76D3 - -Cry_10_Header_BankF: ; 0x3f3b7 - db $84 - dw $76E3 - db $05 - dw $7706 - db $07 - dw $7729 - -Cry_11_Header_BankF: ; 0x3f3c0 - db $84 - dw $75BF - db $05 - dw $75DE - db $07 - dw $7601 - -Cry_12_Header_BankF: ; 0x3f3c9 - db $84 - dw $7AD7 - db $05 - dw $7AEA - db $07 - dw $7AFD - -Cry_13_Header_BankF: ; 0x3f3d2 - db $84 - dw $7B0A - db $05 - dw $7B25 - db $07 - dw $7B40 - -Cry_14_Header_BankF: ; 0x3f3db - db $84 - dw $7B53 - db $05 - dw $7B62 - db $07 - dw $7B71 - -Cry_15_Header_BankF: ; 0x3f3e4 - db $84 - dw $7BE1 - db $05 - dw $7BFC - db $07 - dw $7C17 - -Cry_16_Header_BankF: ; 0x3f3ed - db $84 - dw $7A74 - db $05 - dw $7A83 - db $07 - dw $7A92 - -Cry_17_Header_BankF: ; 0x3f3f6 - db $84 - dw $7C2A - db $05 - dw $7C3D - db $07 - dw $7C50 - -Cry_18_Header_BankF: ; 0x3f3ff - db $84 - dw $7D3A - db $05 - dw $7D5D - db $07 - dw $7D80 - -Cry_19_Header_BankF: ; 0x3f408 - db $84 - dw $7A52 - db $05 - dw $7A61 - db $07 - dw $7A73 - -Cry_1A_Header_BankF: ; 0x3f411 - db $84 - dw $7CAB - db $05 - dw $7CC6 - db $07 - dw $7CE1 - -Cry_1B_Header_BankF: ; 0x3f41a - db $84 - dw $7A9C - db $05 - dw $7AB3 - db $07 - dw $7ACA - -Cry_1C_Header_BankF: ; 0x3f423 - db $84 - dw $7C5D - db $05 - dw $7C80 - db $07 - dw $7C9B - -Cry_1D_Header_BankF: ; 0x3f42c - db $84 - dw $7CF4 - db $05 - dw $7D0F - db $07 - dw $7D2A - -Cry_1E_Header_BankF: ; 0x3f435 - db $84 - dw $7B7B - db $05 - dw $7B9E - db $07 - dw $7BC5 - -Cry_1F_Header_BankF: ; 0x3f43e - db $84 - dw $7D93 - db $05 - dw $7DA6 - db $07 - dw $7DB9 - -Cry_20_Header_BankF: ; 0x3f447 - db $84 - dw $7DC6 - db $05 - dw $7DD9 - db $07 - dw $7DEC - -Cry_21_Header_BankF: ; 0x3f450 - db $84 - dw $7DF9 - db $05 - dw $7E1C - db $07 - dw $7E3E - -Cry_22_Header_BankF: ; 0x3f459 - db $84 - dw $7E3F - db $05 - dw $7E52 - db $07 - dw $7E65 - -Cry_23_Header_BankF: ; 0x3f462 - db $84 - dw $7532 - db $05 - dw $7549 - db $07 - dw $755C - -Cry_24_Header_BankF: ; 0x3f46b - db $84 - dw $7569 - db $05 - dw $758C - db $07 - dw $75AF - -Cry_25_Header_BankF: ; 0x3f474 - db $84 - dw $7617 - db $05 - dw $762E - db $07 - dw $7645 - - dr $3f48f, $40000 - -SECTION "bank10", ROMX, BANK[$10] - - dr $40000, $40ca2 - -SongHeaderPointers10: ; 0x40ca2 - dw Music_Nothing10 - dw Music_RedField - dw Music_CatchEmBlue - dw Music_HurryUpBlue - dw Music_HiScore - dw Music_GameOver -; 0x40cae - -INCLUDE "audio/music/nothing10.asm" -INCLUDE "audio/music/redfield.asm" -INCLUDE "audio/music/catchemblue.asm" -INCLUDE "audio/music/hiscore.asm" -INCLUDE "audio/music/gameover.asm" -INCLUDE "audio/music/hurryupblue.asm" - - dr $4255b, $44000 - -SECTION "bank11", ROMX, BANK[$11] - - dr $44000, $44ca2 - -SongHeaderPointers11: ; 0x44ca2 - dw Music_Nothing11 - dw Music_WhackTheDiglett - dw Music_WhackTheDugtrio - dw Music_SeelStage - dw Music_Title -; 0x44cac - -INCLUDE "audio/music/nothing11.asm" -INCLUDE "audio/music/whackthediglett.asm" -INCLUDE "audio/music/whackthedugtrio.asm" -INCLUDE "audio/music/seelstage.asm" -INCLUDE "audio/music/title.asm" - - dr $462d3, $48000 - -SECTION "bank12", ROMX, BANK[$12] - - dr $48000, $48ca2 - -SongHeaderPointers12: ; 0x48ca2 - dw Music_Nothing12 - dw Music_MewtwoStage - dw Music_Options - dw Music_FieldSelect - dw Music_MeowthStage -; 0x48cac - -INCLUDE "audio/music/nothing12.asm" -INCLUDE "audio/music/mewtwostage.asm" -INCLUDE "audio/music/options.asm" -INCLUDE "audio/music/fieldselect.asm" -INCLUDE "audio/music/meowthstage.asm" - - dr $49c04, $4c000 - -SECTION "bank13", ROMX, BANK[$13] - - dr $4c000, $4cca2 - -SongHeaderPointers13: ; 0x4cca2 - dw Music_Nothing13 - dw Music_EndCredits - dw Music_NameEntry -; 0x4cca8 - -INCLUDE "audio/music/nothing13.asm" -INCLUDE "audio/music/endcredits.asm" -INCLUDE "audio/music/nameentry.asm" - - dr $4def4, $50000 +INCLUDE "audio/engine_13.asm" SECTION "bank14", ROMX, BANK[$14] -PlayPikachuSoundClip: ; 0x50000 -; Plays the pcm (pulse-code modulation) sound clip of one of the pikachu noises. - sla a - ld c, a - ld b, $0 - ld hl, PikachuSoundClipPointers - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - push hl - di - ld b, $4 -.asm_50010 - ld a, [rLY] - and a - jr nz, .asm_50010 - dec b - jr nz, .asm_50010 - xor a - ld [rNR50], a - ld [rNR51], a - ld a, $80 - ld [rNR52], a - xor a - ld [rNR30], a - ld hl, wd84b - ld c, $30 - ld b, $10 -.asm_5002b - ld a, [$ff00+c] - ld [hli], a - ld a, $ff - ld [$ff00+c], a - inc c - dec b - jr nz, .asm_5002b - ld a, $80 - ld [rNR30], a - ld a, $ff - ld [rNR31], a - ld a, $20 - ld [rNR32], a - ld a, $ff - ld [rNR33], a - ld a, $87 - ld [rNR34], a - ld a, $77 - ld [rNR50], a - ld a, $44 - ld [rNR51], a - pop hl - call PlayPikachuPCM - xor a - ld [rNR50], a - ld [rNR51], a - ld [rNR52], a - ld hl, wd84b - ld c, $30 - ld b, $10 -.asm_50062 - ld a, [hli] - ld [$ff00+c], a - inc c - dec b - jr nz, .asm_50062 - ld a, $77 - ld [rNR50], a - ld a, $ff - ld [rNR51], a - ld a, $80 - ld [rNR52], a - ei - ret - -PikachuSoundClipPointers: ; 0x50076 - dw PikachuBillboardBonusSoundClip - dw PikachuThundershockSoundClip - -PikachuBillboardBonusSoundClip: ; 0x5007a - dw $caf ; length of the pcm data (todo: there is probably a way to do this dynamically with rgbds) - INCBIN "audio/sound_clips/pi_ka_chu.pcm" - - db $1f ; unused - -PikachuThundershockSoundClip: ; 0x50d2c - dw $1227 ; length of the pcm data (todo: there is probably a way to do this dynamically with rgbds) - INCBIN "audio/sound_clips/piiiiikaaaa.pcm" - - db $f0, $00, $00 ; unused - -PlayPikachuPCM: ; 0x51f56 -; Plays the audio PCM at [hl] - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ; bc = number of bytes in the sound clip's PCM (pulse-code modulation) -.loop - ld a, [hli] - ld d, a - ld a, $3 -.playSingleSample - dec a - jr nz, .playSingleSample - call LoadNextSoundClipSample - call PlaySoundClipSample - call LoadNextSoundClipSample - call PlaySoundClipSample - call LoadNextSoundClipSample - call PlaySoundClipSample - call LoadNextSoundClipSample - call PlaySoundClipSample - call LoadNextSoundClipSample - call PlaySoundClipSample - call LoadNextSoundClipSample - call PlaySoundClipSample - call LoadNextSoundClipSample - call PlaySoundClipSample - call LoadNextSoundClipSample - dec bc - ld a, c - or b - jr nz, .loop - ret - -LoadNextSoundClipSample: ; 0x51f94 - ld a, d - and $80 - srl a - srl a - ld [rNR32], a - sla d - ret - -PlaySoundClipSample: ; 0x51fa0 - ld a, $3 -.loop - dec a - jr nz, .loop - ret - - dr $51fa6, $54000 - -SECTION "bank15", ROMX, BANK[$15] +INCLUDE "audio/pikapcm.asm" - dr $54000, $58000 ; 0x54000 +; bank $15 is blank SECTION "bank16", ROMX, BANK[$16] -- cgit v1.2.3 From 71562fb54992ea76d8314dc75840b1952dbbc4b9 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 6 Dec 2016 22:03:50 -0500 Subject: Interleave a8800 --- gfx/unknown/a8800.interleave.w32.png | Bin 0 -> 385 bytes gfx/unknown/a8800.png | Bin 399 -> 0 bytes main.asm | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 gfx/unknown/a8800.interleave.w32.png delete mode 100644 gfx/unknown/a8800.png diff --git a/gfx/unknown/a8800.interleave.w32.png b/gfx/unknown/a8800.interleave.w32.png new file mode 100644 index 0000000..55c07e6 Binary files /dev/null and b/gfx/unknown/a8800.interleave.w32.png differ diff --git a/gfx/unknown/a8800.png b/gfx/unknown/a8800.png deleted file mode 100644 index c867f92..0000000 Binary files a/gfx/unknown/a8800.png and /dev/null differ diff --git a/main.asm b/main.asm index f8c948b..3b10fa6 100755 --- a/main.asm +++ b/main.asm @@ -50701,7 +50701,7 @@ PikachuSaverGfx: ; 0xa8720 INCBIN "gfx/stage/pikachu_saver.2bpp" GFX_a8800: - INCBIN "gfx/unknown/a8800.2bpp" + INCBIN "gfx/unknown/a8800.interleave.w32.2bpp" dr $a8980, $a8a00 -- cgit v1.2.3 From 86b014dc02d8f35ee35e5551bc59a58991880ad9 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 6 Dec 2016 23:22:36 -0500 Subject: More HRAM labels --- hram.asm | 21 +- macros.asm | 5 + main.asm | 1965 +++++++++++++++++++++++++++++------------------------------- 3 files changed, 975 insertions(+), 1016 deletions(-) diff --git a/hram.asm b/hram.asm index 2000ebe..74950e1 100755 --- a/hram.asm +++ b/hram.asm @@ -1,5 +1,7 @@ hPushOAM EQU $FF80 +hFarCallTempA EQU $FF8A +hFarCallTempE EQU $FF8B hJoypadState EQU $FF98 ; current state of buttons. See joy_constants.asm for which bits ; correspond to which buttons. hNewlyPressedButtons EQU $FF99 ; buttons that were pressed in the current frame. @@ -8,7 +10,9 @@ hPrevPreviousJoypadState EQU $FF9B ; joypad state from two frames ago. See joy ; which bits correspond to which buttons. (need a better name for this...) hPreviousJoypadState EQU $FF9C ; prevoius frame's joypad state. See joy_constants.asm for ; which bits correspond to which buttons. +hJoyRepeatDelay EQU $FF9D +hLCDC EQU $FF9E hSTAT EQU $FF9F hSCY EQU $FFA0 hSCX EQU $FFA1 @@ -19,11 +23,14 @@ hOBP1 EQU $FFA5 hWY EQU $FFA6 hWX EQU $FFA7 hLastLYC EQU $FFA8 - -hBoardYShift EQU $FFA0 ; Vertical pixel offset of the board. For example, the board is shifted - ; by small amounts when "tilt up" is used. -hBoardXShift EQU $FFA1 ; Horizontal pixel offset of the board. For example, the board is shifted - ; $20 pixels to the right when launching the ball at the start of a round. +hNextLYCSub EQU $FFA9 +hLYCSub EQU $FFAA +hNextFrameHBlankSCX EQU $FFAB +hHBlankSCX EQU $FFAC +hNextFrameHBlankSCY EQU $FFAD +hHBlankSCY EQU $FFAE +hLCDCMask EQU $FFAF +hHBlankRoutine EQU $FFB0 hNumFramesSinceLastVBlank EQU $FFB2 hNumFramesDropped EQU $FFB3 @@ -31,6 +38,8 @@ hVBlankCount EQU $FFB4 hFlipperYCollisionAttribute EQU $FFBF ; Vertical collision attribute for when ball collides with a flipper. -hLoadedROMBank EQU $FFF8 ; this is updated whenever the code switches ROM Banks +hFFC4 = $FFC4 +hLoadedROMBank EQU $FFF8 ; this is updated whenever the code switches ROM Banks +hROMBankBuffer EQU $FFFA hGameBoyColorFlag EQU $FFFE ; this is set to $01 if a GameBoy Color is running the game. $00, otherwise. diff --git a/macros.asm b/macros.asm index 8ea6e91..7c48c05 100755 --- a/macros.asm +++ b/macros.asm @@ -25,6 +25,11 @@ dab: MACRO dwb \1, BANK(\1) ENDM +padded_dab: MACRO + dab \1 + db $00 + ENDM + dn: MACRO rept _NARG / 2 db (\1) << 4 + (\2) diff --git a/main.asm b/main.asm index 3b10fa6..6aaa76a 100755 --- a/main.asm +++ b/main.asm @@ -106,12 +106,12 @@ Start: ; 0x150 ld [wd7fb], a ld [wd7fc], a ld [wd7fd], a - ld [$ffb0], a + ld [hHBlankRoutine], a ld [$ffb1], a ld [wd8e1], a ld [wd7fe], a ld [$fffc], a - ld hl, $ff9e + ld hl, hLCDC xor a ld [hli], a ld [hli], a @@ -179,7 +179,7 @@ VBlank: ; 0x2f2 push de push hl call hPushOAM ; OAM DMA transfer - ld a, [$ff9e] + ld a, [hLCDC] ld [rLCDC], a call Func_113a ei @@ -219,12 +219,12 @@ VBlank: ; 0x2f2 .asm_328 ld a, [hLYC] ld [hLastLYC], a - ld a, [$ffa9] - ld [$ffaa], a - ld a, [$ffab] - ld [$ffac], a - ld a, [$ffad] - ld [$ffae], a + ld a, [hNextLYCSub] + ld [hLYCSub], a + ld a, [hNextFrameHBlankSCX] + ld [hHBlankSCX], a + ld a, [hNextFrameHBlankSCY] + ld [hHBlankSCY], a call ReadJoypad ld a, [wdaa3] and a @@ -309,7 +309,7 @@ LCD: ; 0x3ec push bc push de push hl - ld a, [$ffb0] + ld a, [hHBlankRoutine] sla a ld c, a ld b, $0 @@ -591,18 +591,18 @@ BankSwitch: ; 0x54f ret .doJump - ld a, [$ff8b] + ld a, [hFarCallTempE] ld e, a - ld a, [$ff8a] + ld a, [hFarCallTempA] jp [hl] Func_576: ; 0x576 ld a, [rLCDC] bit 7, a ret z - ld a, [$ff9e] + ld a, [hLCDC] res 7, a - ld [$ff9e], a + ld [hLCDC], a .asm_581 ld a, [rLCDC] bit 7, a @@ -610,13 +610,13 @@ Func_576: ; 0x576 ret Func_588: ; 0x588 - ld a, [$ffc4] + ld a, [hFFC4] and a call nz, Func_597 - ld a, [$ff9e] + ld a, [hLCDC] set 7, a ld [rLCDC], a - ld [$ff9e], a + ld [hLCDC], a ret Func_597: ; 0x597 @@ -673,7 +673,7 @@ Data_5e1: dr $5e1, $5f7 WriteDMACodeToHRAM: ; 0x5f7 -; Initializes registers hPushOAM - $ff8a +; Initializes registers hPushOAM - hFarCallTempA ld c, $80 ld b, $a ; number of bytes to load ld hl, DMARoutine @@ -686,7 +686,7 @@ WriteDMACodeToHRAM: ; 0x5f7 ret DMARoutine: -; This routine is initially loaded into hPushOAM - $ff8a by WriteDMACodeToHRAM. +; This routine is initially loaded into hPushOAM - hFarCallTempA by WriteDMACodeToHRAM. ld a, (wOAMBuffer >> 8) ld [rDMA], a ; start DMA ld a, $28 @@ -774,10 +774,10 @@ FarCopyData: ; 0x666 spooky ; bc = number of bytes to copy bit 7, h jr nz, .copyFromSRAM - ld [$fffa], a + ld [hROMBankBuffer], a ld a, [hLoadedROMBank] push af - ld a, [$fffa] + ld a, [hROMBankBuffer] ld [hLoadedROMBank], a ld [MBC5RomBank], a scf @@ -867,10 +867,10 @@ Func_6cb: ; 0x6cb jp Func_6d5 ; This jumps to the next instruction... Strange. Func_6d5: ; 0x6d5 - ld [$fffa], a ; save bank of data to be loaded + ld [hROMBankBuffer], a ; save bank of data to be loaded ld a, [hLoadedROMBank] push af - ld a, [$fffa] ; a contains bank of data to be loaded + ld a, [hROMBankBuffer] ; a contains bank of data to be loaded ld [hLoadedROMBank], a ld [MBC5RomBank], a ; switch bank to the bank of data to be loaded srl b @@ -894,10 +894,10 @@ Func_6d5: ; 0x6d5 ret Func_6fd: ; 0x6fd - ld [$fffa], a ; save bank of data to be loaded + ld [hROMBankBuffer], a ; save bank of data to be loaded ld a, [hLoadedROMBank] push af - ld a, [$fffa] ; a contains bank of data to be loaded + ld a, [hROMBankBuffer] ; a contains bank of data to be loaded ld [hLoadedROMBank], a ld [MBC5RomBank], a ; switch bank to the bank of data to be loaded ld a, e @@ -947,10 +947,10 @@ LoadVRAMData: ; 0x73f ; bc = number of bytes to copy bit 7, h jr nz, .asm_752 - ld [$fffa], a + ld [hROMBankBuffer], a ld a, [hLoadedROMBank] push af - ld a, [$fffa] + ld a, [hROMBankBuffer] ld [hLoadedROMBank], a ld [MBC5RomBank], a scf @@ -1018,10 +1018,10 @@ FarCopyPalettes: ; 0x790 jp nz, Func_7dc bit 7, h jr nz, .asm_7ad - ld [$fffa], a + ld [hROMBankBuffer], a ld a, [hLoadedROMBank] push af - ld a, [$fffa] + ld a, [hROMBankBuffer] ld [hLoadedROMBank], a ld [MBC5RomBank], a scf @@ -1068,10 +1068,10 @@ FarCopyPalettes: ; 0x790 Func_7dc: ; 0x7dc bit 7, h jr nz, .asm_7ef - ld [$fffa], a + ld [hROMBankBuffer], a ld a, [hLoadedROMBank] push af - ld a, [$fffa] + ld a, [hROMBankBuffer] ld [hLoadedROMBank], a ld [MBC5RomBank], a scf @@ -1181,10 +1181,10 @@ Func_858: ; 0x858 ret Func_86f: ; 0x86f - ld [$fffa], a + ld [hROMBankBuffer], a ld a, [hLoadedROMBank] push af - ld a, [$fffa] + ld a, [hROMBankBuffer] ld [hLoadedROMBank], a ld [MBC5RomBank], a ld a, [rLCDC] @@ -1263,10 +1263,10 @@ Func_86f: ; 0x86f ret Func_8e1: ; 0x8e1 - ld [$fffa], a + ld [hROMBankBuffer], a ld a, [hLoadedROMBank] push af - ld a, [$fffa] + ld a, [hROMBankBuffer] ld [hLoadedROMBank], a ld [MBC5RomBank], a ld a, [rLCDC] @@ -1526,18 +1526,18 @@ ReadJoypad: ; 0xab8 jr nz, .asm_b15 ; button(s) is pressed, and they're identical to the buttons pressed last frame. ; this code is related to holding down a button for an extended period of time. - ld hl, $ff9d + ld hl, hJoyRepeatDelay dec [hl] jr nz, .asm_b1a ld a, [hJoypadState] ld [hPressedButtons], a ld a, [wd807] - ld [$ff9d], a + ld [hJoyRepeatDelay], a jr .asm_b1a .asm_b15 ld a, [wd806] - ld [$ff9d], a + ld [hJoyRepeatDelay], a .asm_b1a ld a, [hJoypadState] ld [hPreviousJoypadState], a @@ -2459,9 +2459,9 @@ Func_fbf: ; 0xfbf inc c cp c jp nc, Func_3ff - ld a, [$ffaf] + ld a, [hLCDCMask] ld c, a - ld a, [$ff9e] + ld a, [hLCDC] xor $10 and c ld c, a @@ -2478,16 +2478,16 @@ Func_fbf: ; 0xfbf Func_fea: ; 0xfea ld hl, hLastLYC - ld a, [$ffaa] + ld a, [hLYCSub] cp [hl] jr nz, .asm_1015 ld a, [rLY] cp [hl] jp nz, Func_3ff - ld a, [$ff9e] + ld a, [hLCDC] xor $18 ld c, a - ld a, [$ffac] + ld a, [hHBlankSCX] ld b, a ld hl, rSTAT .asm_1003 @@ -2507,11 +2507,11 @@ Func_fea: ; 0xfea cp [hl] jr nz, .asm_1037 ld a, [hLastLYC] - ld hl, $ffaa + ld hl, hLYCSub sub [hl] add $40 ld c, a - ld a, [$ffaa] + ld a, [hLYCSub] ld b, a ld hl, rSTAT .asm_1029 @@ -2525,14 +2525,14 @@ Func_fea: ; 0xfea jp Func_3ff .asm_1037 - ld hl, $ffaa + ld hl, hLYCSub ld a, [rLY] cp [hl] jp nz, Func_3ff - ld a, [$ff9e] + ld a, [hLCDC] xor $18 ld c, a - ld a, [$ffac] + ld a, [hHBlankSCX] ld b, a ld hl, rSTAT .asm_104b @@ -2556,9 +2556,9 @@ Func_105d: ; 0x105d cp [hl] jr nz, .asm_1080 .asm_1069 - ld a, [$ffaa] + ld a, [hLYCSub] ld c, a - ld a, [$ffac] + ld a, [hHBlankSCX] ld b, a ld hl, rSTAT .asm_1072 @@ -2572,7 +2572,7 @@ Func_105d: ; 0x105d jp Func_3ff .asm_1080 - ld hl, $ffaa + ld hl, hLYCSub ld a, [rLY] cp [hl] jr z, .asm_108d @@ -2580,7 +2580,7 @@ Func_105d: ; 0x105d cp [hl] jp nz, Func_3ff .asm_108d - ld a, [$ffae] + ld a, [hHBlankSCY] ld b, a ld hl, rSTAT .asm_1093 @@ -2655,10 +2655,10 @@ Func_10c5: ; 0x10c5 inc h ld [hl], d ld e, $ff - ld [$fffa], a + ld [hROMBankBuffer], a ld a, [hLoadedROMBank] push af - ld a, [$fffa] + ld a, [hROMBankBuffer] ld [hLoadedROMBank], a ld [MBC5RomBank], a dec bc @@ -2793,10 +2793,10 @@ Func_118d: ; 0x118d dr $1198, $12a1 Func_12a1: ; 0x12a1 - ld [$fffa], a + ld [hROMBankBuffer], a ld a, [hLoadedROMBank] push af - ld a, [$fffa] + ld a, [hROMBankBuffer] ld [hLoadedROMBank], a ld [MBC5RomBank], a ld a, [hl] @@ -2905,10 +2905,10 @@ Func_12f8: ; 0x12f8 ret Func_1353: ; 0x1353 - ld [$fffa], a + ld [hROMBankBuffer], a ld a, [hLoadedROMBank] push af - ld a, [$fffa] + ld a, [hROMBankBuffer] ld [hLoadedROMBank], a ld [MBC5RomBank], a push af @@ -2944,7 +2944,7 @@ Func_1353: ; 0x1353 call Func_948 ld a, [hBGP] ld [rBGP], a - ld a, [$ff9e] + ld a, [hLCDC] ld [rLCDC], a pop af ld [hLoadedROMBank], a @@ -4350,14 +4350,117 @@ asm_1f3b: ; 0x1f3b pop bc ret - dr $1f68, $1ffc +Func_1f68: + push bc + push de + push hl + ld e, a + ld d, $0 + sla e + rl d + ld a, [hLoadedROMBank] + push af + ld a, BANK(Data_8f06) + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld hl, Data_8f06 ; all 0s + jr asm_1fca + +Func_1f81: + push bc + push de + push hl + ld e, a + ld d, $0 + sla e + rl d + ld a, [hLoadedROMBank] + push af + ld a, BANK(Data_8f06) + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld hl, Data_8f06 ; all 0s + jr asm_1fca + +Func_1f9a: + push bc + push de + push hl + ld e, a + ld d, $0 + sla e + rl d + ld a, [hLoadedROMBank] + push af + ld a, BANK(OAMDataPointers2) + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld hl, OAMDataPointers2 + jr asm_1fca + +Func_1fb3: + push bc + push de + push hl + ld e, a + ld d, $0 + sla e + rl d + ld a, [hLoadedROMBank] + push af + ld a, BANK(OAMDataPointers) + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld hl, OAMDataPointers +asm_1fca + add hl, de + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + ld a, [wd802] + ld l, a + ld h, $d0 +.asm_1fd5 + ld a, [de] + cp $80 + jr z, .asm_1fee + add c + ld [hli], a + inc de + ld a, [de] + add b + ld [hli], a + inc de + ld a, [de] + push hl + ld hl, sp+$7 + add [hl] + pop hl + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + jr .asm_1fd5 + +.asm_1fee + ld a, l + ld [wd802], a + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + pop hl + pop de + pop bc + ret Func_1ffc: ; 0x1ffc ld a, $b ld [wd806], a ld a, $4 ld [wd807], a - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_3c000 ld a, $1 ld [wd85d], a @@ -4394,40 +4497,31 @@ CallTable_2049: ; 0x2049 ; First two bytes is function pointer. ; Third byte is bank of function. ; Fourth byte seems to be unused. - dw Func_8000 - db Bank(Func_8000), $00 + padded_dab Func_8000 ; SCREEN_ERASE_ALL_DATA - dw HandleEraseAllDataMenu - db Bank(HandleEraseAllDataMenu), $00 + padded_dab HandleEraseAllDataMenu ; SCREEN_COPYRIGHT - dw HandleCopyrightScreen - db Bank(HandleCopyrightScreen), $00 + padded_dab HandleCopyrightScreen ; SCREEN_TITLESCREEN - dw HandleTitlescreen - db Bank(HandleTitlescreen), $00 + padded_dab HandleTitlescreen ; SCREEN_PINBALL_GAME - dw HandlePinballGame - db Bank(HandlePinballGame), $00 + padded_dab HandlePinballGame ; SCREEN_POKEDEX - dw HandlePokedexScreen - db Bank(HandlePokedexScreen), $00 + padded_dab HandlePokedexScreen ; SCREEN_OPTIONS - dw HandleOptionsScreen - db Bank(HandleOptionsScreen), $00 + padded_dab HandleOptionsScreen ; SCREEN_HIGH_SCORES - dw HandleHighScoresScreen - db Bank(HandleHighScoresScreen), $00 + padded_dab HandleHighScoresScreen ; SCREEN_FIELD_SELECT - dw HandleFieldSelectScreen - db Bank(HandleFieldSelectScreen), $00 + padded_dab HandleFieldSelectScreen ; end of call table Func_206d: ; 0x206d @@ -5432,66 +5526,50 @@ Func_272f: ; 0x272f call CallInFollowingTable CallTable_2735: ; 0x2735 ; STAGE_RED_FIELD_TOP - dw Func_143e1 - db Bank(Func_143e1), $00 + padded_dab Func_143e1 ; STAGE_RED_FIELD_BOTTOM - dw Func_143f9 - db Bank(Func_143f9), $00 + padded_dab Func_143f9 - dw Func_18061 - db Bank(Func_18061), $00 + padded_dab Func_18061 - dw Func_18062 - db Bank(Func_18062), $00 + padded_dab Func_18062 ; STAGE_BLUE_FIELD_TOP - dw Func_1c520 - db Bank(Func_1c520), $00 + padded_dab Func_1c520 ; STAGE_BLUE_FIELD_BOTTOM - dw Func_1c536 - db Bank(Func_1c536), $00 + padded_dab Func_1c536 ; STAGE_GENGAR_BONUS - dw Func_181b1 - db Bank(Func_181b1), $00 + padded_dab Func_181b1 ; STAGE_GENGAR_BONUS - dw Func_181b1 - db Bank(Func_181b1), $00 + padded_dab Func_181b1 ; STAGE_MEWTWO_BONUS - dw Func_19330 - db Bank(Func_19330), $00 + padded_dab Func_19330 ; STAGE_MEWTWO_BONUS - dw Func_19330 - db Bank(Func_19330), $00 + padded_dab Func_19330 ; STAGE_MEOWTH_BONUS - dw Func_2414d - db Bank(Func_2414d), $00 + padded_dab Func_2414d ; STAGE_MEOWTH_BONUS - dw Func_2414d - db Bank(Func_2414d), $00 + padded_dab Func_2414d ; STAGE_DIGLETT_BONUS - dw Func_19ab3 - db Bank(Func_19ab3), $00 + padded_dab Func_19ab3 ; STAGE_DIGLETT_BONUS - dw Func_19ab3 - db Bank(Func_19ab3), $00 + padded_dab Func_19ab3 ; STAGE_SEEL_BONUS - dw Func_25bbc - db Bank(Func_25bbc), $00 + padded_dab Func_25bbc ; STAGE_SEEL_BONUS - dw Func_25bbc - db Bank(Func_25bbc), $00 + padded_dab Func_25bbc Func_2775: ; 0x2775 ld a, [wd4ea] @@ -5625,66 +5703,50 @@ Func_281c: ; 0x281c CallTable_2822: ; 0x2822 ; not collisions ; STAGE_RED_FIELD_TOP - dw Func_1460e - db Bank(Func_1460e), $00 + padded_dab Func_1460e ; STAGE_RED_FIELD_BOTTOM - dw Func_14652 - db Bank(Func_14652), $00 + padded_dab Func_14652 - dw Func_1806d - db Bank(Func_1806d), $00 + padded_dab Func_1806d - dw Func_1806e - db Bank(Func_1806e), $00 + padded_dab Func_1806e ; STAGE_BLUE_FIELD_TOP - dw Func_1c715 - db Bank(Func_1c715), $00 + padded_dab Func_1c715 ; STAGE_BLUE_FIELD_BOTTOM - dw Func_1c769 - db Bank(Func_1c769), $00 + padded_dab Func_1c769 ; STAGE_GENGAR_BONUS - dw Func_18377 - db Bank(Func_18377), $00 + padded_dab Func_18377 ; STAGE_GENGAR_BONUS - dw Func_18377 - db Bank(Func_18377), $00 + padded_dab Func_18377 ; STAGE_MEWTWO_BONUS - dw Func_19451 - db Bank(Func_19451), $00 + padded_dab Func_19451 ; STAGE_MEWTWO_BONUS - dw Func_19451 - db Bank(Func_19451), $00 + padded_dab Func_19451 ; STAGE_MEOWTH_BONUS - dw Func_2442a - db Bank(Func_2442a), $00 + padded_dab Func_2442a ; STAGE_MEOWTH_BONUS - dw Func_2442a - db Bank(Func_2442a), $00 + padded_dab Func_2442a ; STAGE_DIGLETT_BONUS - dw Func_19b88 - db Bank(Func_19b88), $00 + padded_dab Func_19b88 ; STAGE_DIGLETT_BONUS - dw Func_19b88 - db Bank(Func_19b88), $00 + padded_dab Func_19b88 ; STAGE_SEEL_BONUS - dw Func_25c5a - db Bank(Func_25c5a), $00 + padded_dab Func_25c5a ; STAGE_SEEL_BONUS - dw Func_25c5a - db Bank(Func_25c5a), $00 + padded_dab Func_25c5a Func_2862: ; 0x2862 ld a, [wd7be] @@ -6417,11 +6479,11 @@ Func_3475: ; 0x3475 call HandleTilts ld a, [wCurrentStage] bit 0, a - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(HandleFlippers) ld hl, HandleFlippers call nz, BankSwitch - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_84b7 call Func_33e3 call Func_926 @@ -6476,7 +6538,7 @@ Func_3500: ld [hli], a ld [hl], a ld bc, wd464 - ldh [$ff8a], a + ldh [hFarCallTempA], a callba AddBCDScore ret @@ -6494,7 +6556,7 @@ Func_351c: ; 0x351c ld [hli], a ld [hl], a ld bc, wd464 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_8588 ret @@ -10274,7 +10336,7 @@ CallTable_8004: ; 0x8004 Func_800a: ; 0x800a xor a - ld [$ffc4], a + ld [hFFC4], a ld a, [hJoypadState] cp D_UP jr nz, .asm_8018 @@ -10290,14 +10352,14 @@ Func_800a: ; 0x800a .asm_8021 ld a, $45 - ld [$ff9e], a + ld [hLCDC], a ld a, $e4 ld [wd80c], a ld [wd80d], a ld [wd80e], a xor a - ld [hBoardXShift], a - ld [hBoardYShift], a + ld [hSCX], a + ld [hSCY], a call Func_8049 call ClearOAMBuffer call Func_b66 @@ -10450,7 +10512,7 @@ Func_8104: ; 0x8104 and (D_DOWN | D_UP) jr z, .asm_8115 ld a, [hGameBoyColorFlag] - ld [$ffc4], a + ld [hFFC4], a xor $1 ld [hGameBoyColorFlag], a jr .asm_811d @@ -10528,14 +10590,14 @@ CheckForResetButtonCombo: ; 0x8167 .heldCorrectButtons ld a, $41 - ld [$ff9e], a + ld [hLCDC], a ld a, $e4 ld [wd80c], a xor a ld [wd80d], a ld [wd80e], a - ld [hBoardXShift], a - ld [hBoardYShift], a + ld [hSCX], a + ld [hSCY], a ld a, [hGameBoyColorFlag] ld hl, EraseAllDataGfxPointers call LoadVideoData @@ -10636,14 +10698,14 @@ CopyrightScreenFunctions: ; 0x8222 FadeInCopyrightScreen: ; 0x8228 ld a, $41 - ld [$ff9e], a + ld [hLCDC], a ld a, $e4 ld [wd80c], a xor a ld [wd80d], a ld [wd80e], a - ld [hBoardXShift], a - ld [hBoardYShift], a + ld [hSCX], a + ld [hSCY], a ld a, [hGameBoyColorFlag] ld hl, CopyrightTextGfxPointers call LoadVideoData @@ -10702,7 +10764,7 @@ FadeOutCopyrightScreenAndLoadData: ; 0x82a8 ld bc, $0082 call Func_f0c jr c, .loadedHighScores - ld [$ff8a], a + ld [hFarCallTempA], a callba CopyInitialHighScores .loadedHighScores ld hl, $a10c @@ -10710,7 +10772,7 @@ FadeOutCopyrightScreenAndLoadData: ; 0x82a8 ld bc, $0098 call Func_f0c jr c, .asm_82de - ld [$ff8a], a + ld [hFarCallTempA], a callba ClearPokedexData .asm_82de ld hl, $a244 @@ -10718,7 +10780,7 @@ FadeOutCopyrightScreenAndLoadData: ; 0x82a8 ld bc, $000e call Func_f0c jr c, .asm_82f6 - ld [$ff8a], a + ld [hFarCallTempA], a callba SaveDefaultKeyConfigs .asm_82f6 ld hl, $a268 @@ -10763,66 +10825,50 @@ InitializeStage: ; 0x8311 call CallInFollowingTable CallTable_8348: ; 0x8348 ; STAGE_RED_FIELD_TOP - dw InitRedField - db Bank(InitRedField), $00 + padded_dab InitRedField ; STAGE_RED_FIELD_BOTTOM - dw InitRedField - db Bank(InitRedField), $00 + padded_dab InitRedField - dw Func_18000 - db Bank(Func_18000), $00 + padded_dab Func_18000 - dw Func_18000 - db Bank(Func_18000), $00 + padded_dab Func_18000 ; STAGE_BLUE_FIELD_TOP - dw InitBlueField - db Bank(InitBlueField), $00 + padded_dab InitBlueField ; STAGE_BLUE_FIELD_BOTTOM - dw InitBlueField - db Bank(InitBlueField), $00 + padded_dab InitBlueField ; STAGE_GENGAR_BONUS - dw InitGengarBonusStage - db Bank(InitGengarBonusStage), $00 + padded_dab InitGengarBonusStage ; STAGE_GENGAR_BONUS - dw InitGengarBonusStage - db Bank(InitGengarBonusStage), $00 + padded_dab InitGengarBonusStage ; STAGE_MEWTWO_BONUS - dw InitMewtwoBonusStage - db Bank(InitMewtwoBonusStage), $00 + padded_dab InitMewtwoBonusStage ; STAGE_MEWTWO_BONUS - dw InitMewtwoBonusStage - db Bank(InitMewtwoBonusStage), $00 + padded_dab InitMewtwoBonusStage ; STAGE_MEOWTH_BONUS - dw InitMeowthBonusStage - db Bank(InitMeowthBonusStage), $00 + padded_dab InitMeowthBonusStage ; STAGE_MEOWTH_BONUS - dw InitMeowthBonusStage - db Bank(InitMeowthBonusStage), $00 + padded_dab InitMeowthBonusStage ; STAGE_DIGLETT_BONUS - dw InitDiglettBonusStage - db Bank(InitDiglettBonusStage), $00 + padded_dab InitDiglettBonusStage ; STAGE_DIGLETT_BONUS - dw InitDiglettBonusStage - db Bank(InitDiglettBonusStage), $00 + padded_dab InitDiglettBonusStage ; STAGE_SEEL_BONUS - dw InitSeelBonusStage - db Bank(InitSeelBonusStage), $00 + padded_dab InitSeelBonusStage ; STAGE_SEEL_BONUS - dw InitSeelBonusStage - db Bank(InitSeelBonusStage), $00 + padded_dab InitSeelBonusStage Func_8388: ; 0x8388 ld a, [wd7c1] @@ -10881,66 +10927,50 @@ StartBallForStage: ; 0x83ba call CallInFollowingTable CallTable_8404: ; 0x8404 ; STAGE_RED_FIELD_TOP - dw StartBallRedField - db Bank(StartBallRedField), $00 + padded_dab StartBallRedField ; STAGE_RED_FIELD_BOTTOM - dw StartBallRedField - db Bank(StartBallRedField), $00 + padded_dab StartBallRedField - dw Func_1804a - db Bank(Func_1804a), $00 + padded_dab Func_1804a - dw Func_1804a - db Bank(Func_1804a), $00 + padded_dab Func_1804a ; STAGE_BLUE_FIELD_TOP - dw StartBallBlueField - db Bank(StartBallBlueField), $00 + padded_dab StartBallBlueField ; STAGE_BLUE_FIELD_BOTTOM - dw StartBallBlueField - db Bank(StartBallBlueField), $00 + padded_dab StartBallBlueField ; STAGE_GENGAR_BONUS - dw StartBallGengarBonusStage - db Bank(StartBallGengarBonusStage), $00 + padded_dab StartBallGengarBonusStage ; STAGE_GENGAR_BONUS - dw StartBallGengarBonusStage - db Bank(StartBallGengarBonusStage), $00 + padded_dab StartBallGengarBonusStage ; STAGE_MEWTWO_BONUS - dw StartBallMewtwoBonusStage - db Bank(StartBallMewtwoBonusStage), $00 + padded_dab StartBallMewtwoBonusStage ; STAGE_MEWTWO_BONUS - dw StartBallMewtwoBonusStage - db Bank(StartBallMewtwoBonusStage), $00 + padded_dab StartBallMewtwoBonusStage ; STAGE_MEOWTH_BONUS - dw StartBallMeowthBonusStage - db Bank(StartBallMeowthBonusStage), $00 + padded_dab StartBallMeowthBonusStage ; STAGE_MEOWTH_BONUS - dw StartBallMeowthBonusStage - db Bank(StartBallMeowthBonusStage), $00 + padded_dab StartBallMeowthBonusStage ; STAGE_DIGLETT_BONUS - dw StartBallDiglettBonusStage - db Bank(StartBallDiglettBonusStage), $00 + padded_dab StartBallDiglettBonusStage ; STAGE_DIGLETT_BONUS - dw StartBallDiglettBonusStage - db Bank(StartBallDiglettBonusStage), $00 + padded_dab StartBallDiglettBonusStage ; STAGE_SEEL_BONUS - dw StartBallSeelBonusStage - db Bank(StartBallSeelBonusStage), $00 + padded_dab StartBallSeelBonusStage ; STAGE_SEEL_BONUS - dw StartBallSeelBonusStage - db Bank(StartBallSeelBonusStage), $00 + padded_dab StartBallSeelBonusStage Func_8444: ; 0x8444 ld a, [wInSpecialMode] @@ -10952,7 +10982,7 @@ Func_8444: ; 0x8444 ld a, [wd5bb] and a jr z, .asm_8460 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10464 .asm_8460 ret @@ -10971,132 +11001,100 @@ Func_8471: ; 0x8471 call CallInFollowingTable CallTable_8477: ; 0x8477 ; STAGE_RED_FIELD_TOP - dw Func_14000 - db Bank(Func_14000), $00 + padded_dab Func_14000 ; STAGE_RED_FIELD_BOTTOM - dw Func_1401c - db Bank(Func_1401c), $00 + padded_dab Func_1401c - dw Func_1805f - db Bank(Func_1805f), $00 + padded_dab Func_1805f - dw Func_18060 - db Bank(Func_18060), $00 + padded_dab Func_18060 ; STAGE_BLUE_FIELD_TOP - dw Func_1c165 - db Bank(Func_1c165), $00 + padded_dab Func_1c165 ; STAGE_BLUE_FIELD_BOTTOM - dw Func_1c191 - db Bank(Func_1c191), $00 + padded_dab Func_1c191 ; STAGE_GENGAR_BONUS - dw Func_1818b - db Bank(Func_1818b), $00 + padded_dab Func_1818b ; STAGE_GENGAR_BONUS - dw Func_1818b - db Bank(Func_1818b), $00 + padded_dab Func_1818b ; STAGE_MEWTWO_BONUS - dw Func_19310 - db Bank(Func_19310), $00 + padded_dab Func_19310 ; STAGE_MEWTWO_BONUS - dw Func_19310 - db Bank(Func_19310), $00 + padded_dab Func_19310 ; STAGE_MEOWTH_BONUS - dw Func_24128 - db Bank(Func_24128), $00 + padded_dab Func_24128 ; STAGE_MEOWTH_BONUS - dw Func_24128 - db Bank(Func_24128), $00 + padded_dab Func_24128 ; STAGE_DIGLETT_BONUS - dw Func_19a76 - db Bank(Func_19a76), $00 + padded_dab Func_19a76 ; STAGE_DIGLETT_BONUS - dw Func_19a76 - db Bank(Func_19a76), $00 + padded_dab Func_19a76 ; STAGE_SEEL_BONUS - dw Func_25b97 - db Bank(Func_25b97), $00 + padded_dab Func_25b97 ; STAGE_SEEL_BONUS - dw Func_25b97 - db Bank(Func_25b97), $00 + padded_dab Func_25b97 Func_84b7: ; 0x84b7 ld a, [wCurrentStage] call CallInFollowingTable PointerTable_84bd: ; 0x84bd ; STAGE_RED_FIELD_TOP - dw Func_1755c - db Bank(Func_1755c), $00 + padded_dab Func_1755c ; STAGE_RED_FIELD_BOTTOM - dw Func_1757e - db Bank(Func_1757e), $00 + padded_dab Func_1757e - dw Func_18079 - db Bank(Func_18079), $00 + padded_dab Func_18079 - dw Func_18084 - db Bank(Func_18084), $00 + padded_dab Func_18084 ; STAGE_BLUE_FIELD_TOP - dw Func_1f330 - db Bank(Func_1f330), $00 + padded_dab Func_1f330 ; STAGE_BLUE_FIELD_BOTTOM - dw Func_1f35a - db Bank(Func_1f35a), $00 + padded_dab Func_1f35a ; STAGE_GENGAR_BONUS - dw Func_18faf - db Bank(Func_18faf), $00 + padded_dab Func_18faf ; STAGE_GENGAR_BONUS - dw Func_18faf - db Bank(Func_18faf), $00 + padded_dab Func_18faf ; STAGE_MEWTWO_BONUS - dw Func_1994e - db Bank(Func_1994e), $00 + padded_dab Func_1994e ; STAGE_MEWTWO_BONUS - dw Func_1994e - db Bank(Func_1994e), $00 + padded_dab Func_1994e ; STAGE_MEOWTH_BONUS - dw Func_2583b - db Bank(Func_2583b), $00 + padded_dab Func_2583b ; STAGE_MEOWTH_BONUS - dw Func_2583b - db Bank(Func_2583b), $00 + padded_dab Func_2583b ; STAGE_DIGLETT_BONUS - dw Func_1ac98 - db Bank(Func_1ac98), $00 + padded_dab Func_1ac98 ; STAGE_DIGLETT_BONUS - dw Func_1ac98 - db Bank(Func_1ac98), $00 + padded_dab Func_1ac98 ; STAGE_SEEL_BONUS - dw Func_26b7e - db Bank(Func_26b7e), $00 + padded_dab Func_26b7e ; STAGE_SEEL_BONUS - dw Func_26b7e - db Bank(Func_26b7e), $00 + padded_dab Func_26b7e dr $84fd, $8524 @@ -11375,7 +11373,7 @@ StartTimer: ; 0x867d ld [wd57d], a ld a, $1 ld [wd580], a - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_1404a ret @@ -11458,7 +11456,7 @@ HandleInGameMenu: ; 0x86d7 dec a ld [hLYC], a ld a, $fd - ld [$ffaf], a + ld [hLCDCMask], a call HandleInGameMenuSelection ld a, [wInGameMenuIndex] and a @@ -11481,7 +11479,7 @@ HandleInGameMenu: ; 0x86d7 ld [hLYC], a ld [hLastLYC], a ld a, $ff - ld [$ffaf], a + ld [hLCDCMask], a ld a, [hGameBoyColorFlag] and a jr nz, .asm_8778 @@ -12707,6 +12705,7 @@ Func_8ee0: ; 0x8ee0 cp l ret +Data_8f06: dr $8f06, $a000 PokedexCharactersGfx: ; 0xa000 @@ -12726,7 +12725,7 @@ TitlescreenFunctions: ; 0xc004 FadeInTitlescreen: ; 0xc00e ld a, $43 - ld [$ff9e], a + ld [hLCDC], a ld a, $e4 ld [wd80c], a ld a, $d2 @@ -12734,8 +12733,8 @@ FadeInTitlescreen: ; 0xc00e ld a, $e1 ld [wd80e], a xor a - ld [hBoardXShift], a - ld [hBoardYShift], a + ld [hSCX], a + ld [hSCY], a ld hl, TitlescreenFadeInGfxPointers ld a, [hGameBoyColorFlag] call LoadVideoData @@ -13194,15 +13193,15 @@ OptionsScreenFunctions: ; 0xc34e Func_c35a: ; 0xc35a ld a, $47 - ld [$ff9e], a + ld [hLCDC], a ld a, $e4 ld [wd80c], a ld [wd80d], a ld a, $d2 ld [wd80e], a xor a - ld [hBoardXShift], a - ld [hBoardYShift], a + ld [hSCX], a + ld [hSCY], a ld hl, OptionsScreenVideoDataPointers ld a, [hGameBoyColorFlag] call LoadVideoData @@ -13314,7 +13313,7 @@ Func_c447: ; 0xc447 cp $1 jr nz, .asm_c477 call ClearOAMBuffer - ld hl, $ff9e + ld hl, hLCDC set 3, [hl] ld a, $4 ld [wScreenState], a @@ -13409,7 +13408,7 @@ Func_c506: ; 0xc506 ld de, $0001 call PlaySoundEffect call ClearOAMBuffer - ld hl, $ff9e + ld hl, hLCDC res 3, [hl] ld hl, wKeyConfigBallStart ld de, $a244 @@ -14353,29 +14352,29 @@ Func_ca8f: ; 0xca8f Func_cb14: ; 0xcb14 ld a, $43 - ld [$ff9e], a + ld [hLCDC], a ld a, $e0 ld [wd80c], a ld a, $e1 ld [wd80d], a ld [wd80e], a xor a - ld [hBoardXShift], a - ld [$ffab], a - ld [hBoardYShift], a - ld [$ffad], a + ld [hSCX], a + ld [hNextFrameHBlankSCX], a + ld [hSCY], a + ld [hNextFrameHBlankSCY], a ld a, $e ld [hLYC], a ld [hLastLYC], a ld a, $82 - ld [$ffa9], a - ld [$ffaa], a + ld [hNextLYCSub], a + ld [hLYCSub], a ld hl, hSTAT set 6, [hl] ld hl, rIE set 1, [hl] ld a, $3 - ld [$ffb0], a + ld [hHBlankRoutine], a ld a, [hGameBoyColorFlag] and a jr z, .asm_cb51 @@ -14397,7 +14396,7 @@ Func_cb14: ; 0xcb14 ld a, [wHighScoresStage] and a jr z, .asm_cb7f - ld hl, $ff9e + ld hl, hLCDC set 3, [hl] .asm_cb7f call Func_b66 @@ -15433,7 +15432,7 @@ Func_d2cb: ; 0xd2cb xor a call Func_d317 pop hl - ld bc, hBoardYShift + ld bc, hSCY add hl, bc pop bc dec b @@ -15555,7 +15554,7 @@ Func_d361: ; 0xd361 xor a call Func_d3ad pop hl - ld bc, hBoardYShift + ld bc, hSCY add hl, bc pop bc dec b @@ -15760,8 +15759,8 @@ Func_d4cf: ; 0xd4cf xor a ld [hWY], a ld a, $2 - ld [hBoardXShift], a - ld hl, $ff9e + ld [hSCX], a + ld hl, hLCDC set 5, [hl] ld b, $27 .asm_d508 @@ -15775,7 +15774,7 @@ Func_d4cf: ; 0xd4cf dec [hl] dec [hl] dec [hl] - ld hl, hBoardXShift + ld hl, hSCX inc [hl] inc [hl] inc [hl] @@ -15785,8 +15784,8 @@ Func_d4cf: ; 0xd4cf dec b jr nz, .asm_d508 xor a - ld [hBoardXShift], a - ld hl, $ff9e + ld [hSCX], a + ld hl, hLCDC res 5, [hl] set 3, [hl] ld a, $1 @@ -15802,8 +15801,8 @@ Func_d4cf: ; 0xd4cf xor a ld [hWY], a ld a, $a0 - ld [hBoardXShift], a - ld hl, $ff9e + ld [hSCX], a + ld hl, hLCDC set 5, [hl] res 3, [hl] ld b, $27 @@ -15817,7 +15816,7 @@ Func_d4cf: ; 0xd4cf inc [hl] inc [hl] inc [hl] - ld hl, hBoardXShift + ld hl, hSCX dec [hl] dec [hl] dec [hl] @@ -15827,8 +15826,8 @@ Func_d4cf: ; 0xd4cf dec b jr nz, .asm_d551 xor a - ld [hBoardXShift], a - ld hl, $ff9e + ld [hSCX], a + ld hl, hLCDC res 5, [hl] xor a ld [wHighScoresStage], a @@ -15837,11 +15836,11 @@ Func_d4cf: ; 0xd4cf Func_d57b: ; 0xd57b ld a, $f0 - ld [hBoardYShift], a + ld [hSCY], a xor a - ld [$ffab], a + ld [hNextFrameHBlankSCX], a ld a, $10 - ld [$ffad], a + ld [hNextFrameHBlankSCY], a rst AdvanceFrame ld a, BANK(HighScoresTilemap) ld hl, HighScoresTilemap @@ -15866,9 +15865,9 @@ Func_d57b: ; 0xd57b ld b, $10 .asm_d5c1 push bc - ld hl, hBoardYShift + ld hl, hSCY inc [hl] - ld hl, $ffad + ld hl, hNextFrameHBlankSCY dec [hl] rst AdvanceFrame pop bc @@ -15880,9 +15879,9 @@ Func_d5d0: ; 0xd5d0 ld b, $10 .asm_d5d2 push bc - ld hl, hBoardYShift + ld hl, hSCY dec [hl] - ld hl, $ffad + ld hl, hNextFrameHBlankSCY inc [hl] rst AdvanceFrame pop bc @@ -15911,9 +15910,9 @@ Func_d5d0: ; 0xd5d0 ld bc, $0009 call Func_d68a xor a - ld [hBoardYShift], a - ld [$ffab], a - ld [$ffad], a + ld [hSCY], a + ld [hNextFrameHBlankSCX], a + ld [hNextFrameHBlankSCY], a ret Func_d626: ; 0xd626 @@ -16029,15 +16028,15 @@ FieldSelectScreenFunctions: ; 0xd6d7 LoadFieldSelectScreen: ; 0xd6dd ld a, $43 - ld [$ff9e], a + ld [hLCDC], a ld a, $e4 ld [wd80c], a ld a, $d2 ld [wd80d], a ld [wd80e], a xor a - ld [hBoardXShift], a - ld [hBoardYShift], a + ld [hSCX], a + ld [hSCY], a ld hl, FieldSelectGfxPointers ld a, [hGameBoyColorFlag] call LoadVideoData @@ -16239,7 +16238,7 @@ PinballGameScreenFunctions: ; 0xd857 Func_d861: ; 0xd861 xor a ld [wd908], a - ld [$ff8a], a + ld [hFarCallTempA], a callba InitializeStage call Func_30e8 ld a, $1 @@ -16251,7 +16250,7 @@ Func_d861: ; 0xd861 Func_d87f: ; 0xd87f ld a, $67 - ld [$ff9e], a + ld [hLCDC], a ld a, $e4 ld [wd80c], a ld a, $e1 @@ -16259,32 +16258,32 @@ Func_d87f: ; 0xd87f ld a, $e4 ld [wd80e], a ld a, [wd7ab] - ld [hBoardXShift], a + ld [hSCX], a xor a - ld [hBoardYShift], a + ld [hSCY], a ld a, $7 ld [hWX], a ld a, $83 ld [hLYC], a ld [hLastLYC], a ld a, $ff - ld [$ffaf], a + ld [hLCDCMask], a ld hl, hSTAT set 6, [hl] ld hl, rIE set 1, [hl] ld a, $1 - ld [$ffb0], a - ld [$ff8a], a + ld [hHBlankRoutine], a + ld [hFarCallTempA], a callba StartBallForStage - ld [$ff8a], a + ld [hFarCallTempA], a callba LoadStageCollisionAttributes - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_e6c2 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_ed5e call ClearOAMBuffer - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_84b7 ld a, [wd849] and a @@ -16312,7 +16311,7 @@ Func_d909: ; 0xd909 call HandleTilts ld a, [wCurrentStage] bit 0, a - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(HandleFlippers) ld hl, HandleFlippers call nz, BankSwitch ; only perform flipper routines on the lower-half of stages @@ -16332,7 +16331,7 @@ Func_d909: ; 0xd909 jr z, .didntPressMenuKey ld de, $034c call PlaySoundEffect - ld [$ff8a], a + ld [hFarCallTempA], a callba HandleInGameMenu jp z, SaveGame .didntPressMenuKey @@ -16379,19 +16378,19 @@ Func_d909: ; 0xd909 call SetBallVelocity .asm_d9a2 call MoveBallPosition - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_ece9 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_84b7 call Func_33e3 ld a, [wd5cb] and a jr nz, .asm_d9e9 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_85c7 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_8650 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_8645 call Func_dba9 call Func_dc7c @@ -16399,7 +16398,7 @@ Func_d909: ; 0xd909 .asm_d9e9 ld a, [wd57d] and a - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_86a4) ld hl, Func_86a4 call nz, BankSwitch @@ -16448,14 +16447,14 @@ Func_da36: ; 0xda36 call HandleTilts ld a, [wCurrentStage] bit 0, a - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(HandleFlippers) ld hl, HandleFlippers call nz, BankSwitch - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_84b7 call Func_33e3 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_85c7 ld a, [wd5ca] and a @@ -16682,7 +16681,7 @@ Func_dc00: ; 0xdc00 ld a, [wCurrentStage] bit 0, a ret z - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_14707 ret @@ -16953,7 +16952,7 @@ Func_ddfd: ; 0xddfd ld a, [wSpecialMode] and a jr nz, .asm_de14 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10157 jr .asm_de40 @@ -16964,7 +16963,7 @@ Func_ddfd: ; 0xddfd ld [wd604], a ld a, $1e ld [wd607], a - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10ac8 jr .asm_de40 @@ -16973,7 +16972,7 @@ Func_ddfd: ; 0xddfd ld [wd604], a ld a, $1e ld [wd607], a - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_3022b .asm_de40 ld a, [wd7ad] @@ -17060,7 +17059,7 @@ Func_ded6: ; 0xded6 ld a, [wSpecialMode] and a jr nz, .asm_deec - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10157 ret @@ -17071,7 +17070,7 @@ Func_ded6: ; 0xded6 ld [wd604], a ld a, $1e ld [wd607], a - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10ac8 ret @@ -17080,7 +17079,7 @@ Func_ded6: ; 0xded6 ld [wd604], a ld a, $1e ld [wd607], a - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_3022b ret @@ -17208,7 +17207,7 @@ Func_dfe2: ; 0xdfe2 xor a .asm_e002 ld [wMeowthStageScore], a - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_24fa3 .asm_e00f ld a, [wd4ad] @@ -17292,7 +17291,7 @@ Func_e08b: ; 0xe08b xor a .asm_e0ab ld [wd793], a - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_262f4 .asm_e0b8 ld a, [wd4ad] @@ -17822,9 +17821,9 @@ Func_e4a1: ; 0xe4a1 and a ret z ld hl, Data_e50a - ld a, [hBoardXShift] + ld a, [hSCX] ld d, a - ld a, [hBoardYShift] + ld a, [hSCY] ld e, a ld a, [hli] sub d @@ -17855,9 +17854,9 @@ Func_e4a1: ; 0xe4a1 .asm_e4d6 call LoadOAMData pop hl - ld a, [hBoardXShift] + ld a, [hSCX] ld d, a - ld a, [hBoardYShift] + ld a, [hSCY] ld e, a ld a, [hli] sub d @@ -18101,7 +18100,7 @@ Func_e674: ; 0xe674 xor a ld [wd548], a ld [wd803], a - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_84b7 call Func_926 pop af @@ -18151,7 +18150,7 @@ Func_e6c2: ; 0xe6c2 call LoadVideoData xor a ld [wd7f2], a - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_8471 ret @@ -18505,7 +18504,7 @@ Func_ece9: ; 0xece9 .asm_ed2e ld a, $1 ld [wd4ae], a - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_dc49 ret @@ -18571,11 +18570,11 @@ Func_ed5e: ; 0xed5e ld a, [hl] ld hl, wd79f sub [hl] - ld [hBoardXShift], a + ld [hSCX], a xor a ld hl, wd7a0 sub [hl] - ld [hBoardYShift], a + ld [hSCY], a ret Func_ed8e: ; 0xed8e @@ -18600,11 +18599,11 @@ Func_ed8e: ; 0xed8e call HandleTilts ld a, [wCurrentStage] bit 0, a - ld [$ff8a], a + ld [hFarCallTempA], a ld a, $3 ld hl, HandleFlippers call nz, BankSwitch - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_84b7 call Func_33e3 call Func_926 @@ -18873,14 +18872,14 @@ Func_ef83: ; 0xef83 call Func_310a rst AdvanceFrame ld a, $0 - ld [$ff8a], a + ld [hFarCallTempA], a callba PlayPikachuSoundClip ld a, $1 ld [wd85d], a ret Func_efa7: ; 0xefa7 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_30164 ret @@ -19004,7 +19003,7 @@ UpgradeBallBlueField: ; 0xf040 ld de, $0f4d call PlaySoundEffect ld bc, TenThousandPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_8588 ld bc, $100 ld de, $0000 @@ -19021,7 +19020,7 @@ UpgradeBallBlueField: ; 0xf040 ld de, FieldMultiplierSpecialBonusText call LoadTextHeader .asm_f0b0 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_155bb ret @@ -19084,18 +19083,18 @@ Func_f0c1: ; 0xf0c1 call Func_f14a ld a, c cp b - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_30164) ld hl, Func_30164 call nz, BankSwitch - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_16f95 ld a, [wd60c] - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_f154 ; no need for BankSwitch here... ld a, [wd60d] add $14 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_f154 ; no need for BankSwitch here... ret @@ -19112,23 +19111,17 @@ Func_f154: ; 0xf154 ld a, [wCurrentStage] call CallInFollowingTable CallTable_f15a: ; 0xf15a - dw Func_16f28 - db Bank(Func_16f28), $00 + padded_dab Func_16f28 - dw Func_16f28 - db Bank(Func_16f28), $00 + padded_dab Func_16f28 - dw Func_16f28 - db Bank(Func_16f28), $00 + padded_dab Func_16f28 - dw Func_16f28 - db Bank(Func_16f28), $00 + padded_dab Func_16f28 - dw Func_1d5f2 - db Bank(Func_1d5f2), $00 + padded_dab Func_1d5f2 - dw Func_1d5f2 - db Bank(Func_1d5f2), $00 + padded_dab Func_1d5f2 Func_f172: ; 0xf172 ld a, $1 @@ -19492,7 +19485,7 @@ Func_f533: ; 0xf533 dec a ld [hLYC], a ld a, $fd - ld [$ffaf], a + ld [hLCDCMask], a call Func_f5a0 ld a, $90 ld [hWY], a @@ -19500,7 +19493,7 @@ Func_f533: ; 0xf533 ld [hLYC], a ld [hLastLYC], a ld a, $ff - ld [$ffaf], a + ld [hLCDCMask], a call Func_30e8 ret @@ -20302,7 +20295,7 @@ Func_10000: ; 0x10000 jp z, Func_10a95 cp $2 jr nz, .asm_10021 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_301ce ret @@ -20311,26 +20304,20 @@ Func_10000: ; 0x10000 call CallInFollowingTable CallTable_10027: ; 0x10027 ; STAGE_RED_FIELD_TOP - dw Func_20000 - db Bank(Func_20000), $00 + padded_dab Func_20000 ; STAGE_RED_FIELD_BOTTOM - dw Func_20000 - db Bank(Func_20000), $00 + padded_dab Func_20000 - dw Func_20000 - db Bank(Func_20000), $00 + padded_dab Func_20000 - dw Func_20000 - db Bank(Func_20000), $00 + padded_dab Func_20000 ; STAGE_BLUE_FIELD_TOP - dw Func_202bc - db Bank(Func_202bc), $00 + padded_dab Func_202bc ; STAGE_BLUE_FIELD_BOTTOM - dw Func_202bc - db Bank(Func_202bc), $00 + padded_dab Func_202bc StartCatchEmMode: ; 0x1003f ld a, [wInSpecialMode] ; current game mode? @@ -20434,9 +20421,9 @@ StartCatchEmMode: ; 0x1003f ld c, a ld a, [hl] ld b, a - ld [$ff8a], a + ld [hFarCallTempA], a callba StartTimer - ld [$ff8a], a + ld [hFarCallTempA], a callba InitBallSaverForCatchEmMode call Func_10696 call Func_3579 @@ -20513,7 +20500,7 @@ Func_10157: ; 0x10157 ld [wd5b6], a ld [wNumMonHits], a call Func_10488 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_86d2 ld a, [wCurrentStage] rst JumpTable ; calls JumpToFuncInTable @@ -21117,7 +21104,7 @@ CapturePokemon: ; 0x1052d ld a, $1 ld [wd548], a ld [wd549], a - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_dc00 call Func_10157 ld de, $0001 @@ -21127,7 +21114,7 @@ CapturePokemon: ; 0x1052d jr nc, .asm_105d1 ld c, $a call Func_e55 - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_30164) ld hl, Func_30164 call z, BankSwitch @@ -21397,7 +21384,7 @@ Func_107b0: ; 0x107b0 xor a ld [wd604], a ld [wIndicatorStates + 4], a - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_16425 ret @@ -21481,7 +21468,7 @@ Func_10825: ; 0x10825 Func_10848: ; 0x10848 ld bc, OneHundredPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_8588 call Func_30e8 call Func_30db @@ -21538,20 +21525,20 @@ Func_10871: ; 0x10871 ld a, [wCurrentStage] bit 0, a jr nz, .asm_108d3 - ld [$ff8a], a + ld [hFarCallTempA], a callba LoadStageCollisionAttributes - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_159f4 ret .asm_108d3 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_14135 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10184 ld a, [hGameBoyColorFlag] and a - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_102bc) ld hl, Func_102bc call nz, BankSwitch @@ -21565,10 +21552,10 @@ Func_108f5: ; 0x108f5 ld a, [wCurrentStage] bit 0, a ret z - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_14135 call Func_10432 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_30253 ld a, Bank(StageSharedBonusSlotGlowGfx) ld hl, StageSharedBonusSlotGlowGfx @@ -21584,7 +21571,7 @@ Func_108f5: ; 0x108f5 ld a, $4 call Func_10aa ld a, [wd624] - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_174d4 ld hl, Data_1097d ld a, $4 @@ -21639,22 +21626,22 @@ Func_1098c: ; 0x1098c jr nz, .loop xor a ld [wRightAlleyCount], a - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_1f2ed ld de, $0002 call PlaySong ld a, [wCurrentStage] bit 0, a ret z - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_1c2cb - ld [$ff8a], a + ld [hFarCallTempA], a ld a, $4 ld hl, Func_10184 call BankSwitch ld a, [hGameBoyColorFlag] and a - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_102bc) ld hl, Func_102bc call nz, BankSwitch @@ -21663,15 +21650,15 @@ Func_1098c: ; 0x1098c Func_109fc: ; 0x109fc call Func_107a5 call Func_107c2 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_1f2ff ld a, [wCurrentStage] bit 0, a ret z - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_1c2cb call Func_10432 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_30253 ld a, BANK(StageSharedBonusSlotGlowGfx) ld hl, StageSharedBonusSlotGlowGfx @@ -21687,7 +21674,7 @@ Func_109fc: ; 0x109fc ld a, $4 call Func_10aa ld a, [wd624] - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_174d4 ld hl, Data_10a88 ld a, $4 @@ -21705,26 +21692,20 @@ Func_10a95: ; 0x19a95 call CallInFollowingTable PointerTable_10a9b: ; 0x10a9b ; STAGE_RED_FIELD_TOP - dw Func_20581 - db Bank(Func_20581), $00 + padded_dab Func_20581 ; STAGE_RED_FIELD_BOTTOM - dw Func_20581 - db Bank(Func_20581), $00 + padded_dab Func_20581 - dw Func_20581 - db Bank(Func_20581), $00 + padded_dab Func_20581 - dw Func_20581 - db Bank(Func_20581), $00 + padded_dab Func_20581 ; STAGE_BLUE_FIELD_TOP - dw Func_20bae - db Bank(Func_20bae), $00 + padded_dab Func_20bae ; STAGE_BLUE_FIELD_BOTTOM - dw Func_20bae - db Bank(Func_20bae), $00 + padded_dab Func_20bae Func_10ab3: ; 0x10ab3 ld a, [wInSpecialMode] @@ -21761,7 +21742,7 @@ Func_10ac8: ; 0x10ac8 ld [wd551], a ld [wd554], a call Func_10488 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_86d2 ld a, [wCurrentStage] rst JumpTable ; calls JumpToFuncInTable @@ -22063,7 +22044,7 @@ Func_10cb7: ; 0x10cb7 dec a ld [hLYC], a ld a, $fd - ld [$ffaf], a + ld [hLCDCMask], a call Func_10bea ld a, $86 ld [hWY], a @@ -22071,7 +22052,7 @@ Func_10cb7: ; 0x10cb7 ld [hLYC], a ld [hLastLYC], a ld a, $ff - ld [$ffaf], a + ld [hLCDCMask], a ld a, [hGameBoyColorFlag] and a jr nz, .asm_10cee @@ -22141,7 +22122,7 @@ Func_10d1d: ; 0x10d1d ld c, a ld a, [hl] ld b, a - ld [$ff8a], a + ld [hFarCallTempA], a callba StartTimer ld a, [wCurrentCatchEmMon] ld c, a @@ -22222,7 +22203,7 @@ Func_10d1d: ; 0x10d1d inc de dec b jr nz, .asm_10dc0 - ld [$ff8a], a + ld [hFarCallTempA], a callba InitBallSaverForCatchEmMode call Func_10b3f call Func_3579 @@ -22318,7 +22299,7 @@ Func_10e0a: ; 0x10e0a Func_10e8b: ; 0x10e8b ld bc, TenThousandPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_8588 ld bc, $0100 ld de, $0000 @@ -22383,13 +22364,13 @@ Func_10ebb: ; 0x10ebb ld de, $8200 ld bc, $00e0 call LoadOrCopyVRAMData - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_14135 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10184 ld a, [hGameBoyColorFlag] and a - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_102bc) ld hl, Func_102bc call nz, BankSwitch @@ -22437,11 +22418,11 @@ Func_10fe3: ; 0x10fe3 ld a, [wCurrentStage] bit 0, a jp z, Func_10aff - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_14135 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_16425 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_30253 ld a, BANK(StageSharedBonusSlotGlowGfx) ld hl, StageSharedBonusSlotGlowGfx + $60 @@ -22461,7 +22442,7 @@ Func_10fe3: ; 0x10fe3 ld a, BANK(Data_10958) call Func_10aa ld a, [wd624] - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_174d4 ld hl, Data_1097d ld a, BANK(Data_1097d) @@ -22506,7 +22487,7 @@ Func_11061: ; 0x11061 jr nz, .asm_11085 xor a ld [wLeftAlleyCount], a - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_1f2ed ld a, $2 ld [wd7ad], a @@ -22529,13 +22510,13 @@ Func_11061: ; 0x11061 ld de, $8200 ld bc, $00e0 call LoadOrCopyVRAMData - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_1c2cb - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10184 ld a, [hGameBoyColorFlag] and a - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_102bc) ld hl, Func_102bc call nz, BankSwitch @@ -22580,16 +22561,16 @@ Func_11195: ; 0x11195 ld [wd643], a call Func_107a5 call Func_107c2 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_1f2ff ld a, [wCurrentStage] bit 0, a jp z, Func_1120e - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_1c2cb - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_1e8f6 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_30253 ld a, Bank(StageSharedBonusSlotGlowGfx) ld hl, StageSharedBonusSlotGlowGfx + $60 @@ -22609,7 +22590,7 @@ Func_11195: ; 0x11195 ld a, BANK(Data_10a63) call Func_10aa ld a, [wd624] - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_174d4 ld hl, Data_10a88 ld a, BANK(Data_10a88) @@ -24993,7 +24974,7 @@ Func_14091: ; 0x14091 ld a, [wCurrentStage] bit 0, a ret nz - ld [$ff8a], a + ld [hFarCallTempA], a callba LoadStageCollisionAttributes call Func_159f4 ret @@ -25071,13 +25052,13 @@ Func_1414b: ; 0x1414b jp Func_14210 .asm_14165 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_141f2 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10362 ld a, [hGameBoyColorFlag] and a - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_10301) ld hl, Func_10301 call nz, BankSwitch @@ -25161,11 +25142,11 @@ Func_14210: ; 0x14210 ld [hli], a dec b jr nz, .asm_14215 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10184 ld a, [hGameBoyColorFlag] and a - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_102bc) ld hl, Func_102bc call nz, BankSwitch @@ -25241,7 +25222,7 @@ Func_14282: ; 0x14282 Func_142b3: ; 0x142b3 push af - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10611 pop af dec a @@ -25291,19 +25272,19 @@ Func_142fc: ; 0x142fc ld a, [wd4c8] and a jr nz, .asm_1430e - ld [$ff8a], a + ld [hFarCallTempA], a callba LoadBallGfx jr .asm_14328 .asm_1430e cp $1 jr nz, .asm_1431e - ld [$ff8a], a + ld [hFarCallTempA], a callba LoadMiniBallGfx jr .asm_14328 .asm_1431e - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_dd62 .asm_14328 ld a, [hGameBoyColorFlag] @@ -25356,7 +25337,7 @@ Func_14377: ; 0x14377 jr z, .asm_14393 ld a, [wd498] add $15 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_30256 ret @@ -25365,12 +25346,12 @@ Func_14377: ; 0x14377 and a jr z, .asm_143a6 ld a, $1a - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_30256 ret .asm_143a6 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_30253 ret @@ -25381,7 +25362,7 @@ Func_14377: ; 0x14377 ld a, [wd54d] cp $3 jr nz, .asm_143c9 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_30253 ret @@ -25393,7 +25374,7 @@ Func_14377: ; 0x14377 ld a, [wd55a] add $12 .asm_143d6 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_30256 ret @@ -25665,10 +25646,10 @@ Func_1460e: ; 0x1460e call Func_146a9 call Func_174ea call Func_148cf - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_30188 ld a, $0 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10000 ret @@ -25692,10 +25673,10 @@ Func_14652: ; 0x14652 call Func_14733 call Func_146a2 call Func_174d0 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_30188 ld a, $0 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10000 ret @@ -25867,7 +25848,7 @@ Func_147aa: ; 0x147aa add $4 call Func_149f5 ld a, $8 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10000 ld a, [wRightMapMoveCounter] cp $3 @@ -25884,7 +25865,7 @@ Func_147aa: ; 0x147aa ld a, [wLeftMapMoveCounter] call Func_149f5 ld a, $7 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10000 ld a, [wLeftMapMoveCounter] cp $3 @@ -26038,14 +26019,14 @@ Func_14920: ; 0x14920 jr nc, .asm_14937 ld c, $a call Func_e55 - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_30164) ld hl, Func_30164 call z, BankSwitch .asm_14937 ld a, $1 ld [wd55a], a - ld [$ff8a], a + ld [hFarCallTempA], a callba StartMapMoveMode ret @@ -26055,14 +26036,14 @@ Func_14947: ; 0x14947 jr nc, .asm_1495e ld c, $a call Func_e55 - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_30164) ld hl, Func_30164 call z, BankSwitch .asm_1495e xor a ld [wd55a], a - ld [$ff8a], a + ld [hFarCallTempA], a callba StartMapMoveMode ret @@ -26074,7 +26055,7 @@ Func_1496d: ; 0x1496d ld a, $2 ld [wd7eb], a ld bc, FiveHundredMillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba AddBCDScore ld de, $000f call PlaySoundEffect @@ -26186,10 +26167,10 @@ Func_14d85: ; 0x14d85 sub $3 ld [wd4d7], a ld a, $4 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10000 ld bc, FiveHundredMillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba AddBCDScore ret @@ -26235,7 +26216,7 @@ Func_14dea: ; 0x14dea ld a, b ld [wd50c], a ld a, $c - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10000 ; fall through Func_14e10: ; 0x14e10 @@ -26298,7 +26279,7 @@ Func_14e10: ; 0x14e10 and a ret z ld bc, OneHundredBillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba AddBCDScore ld hl, wd62d call Func_e4a @@ -26387,7 +26368,7 @@ Func_151cb: ; 0x151cb and a ret nz ld bc, OneHundredMillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba AddBCDScore ld hl, wd50f ld a, [hli] @@ -26402,7 +26383,7 @@ Func_151cb: ; 0x151cb ld a, $80 ld [wd514], a ld bc, FourHundredMillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba AddBCDScore ld de, $0009 call PlaySoundEffect @@ -26572,7 +26553,7 @@ Func_1535d: ; 0x1535d ld [wSecondaryLeftAlleyTrigger], a call Func_159c9 ld a, $b - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10000 ld a, [wd5f8] sub $e @@ -26585,7 +26566,7 @@ Func_1535d: ; 0x1535d and a ret nz ld bc, OneHundredMillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba AddBCDScore ld hl, wd5f9 ld a, [hli] @@ -26608,7 +26589,7 @@ Func_1535d: ; 0x1535d ld a, $e ld [wBallTypeCounter + 1], a ld bc, FourHundredMillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba AddBCDScore ld a, [wBallType] cp MASTER_BALL @@ -26635,7 +26616,7 @@ Func_1535d: ; 0x1535d ld de, $0f4d call PlaySoundEffect ld bc, TenThousandPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_8588 ld bc, $0100 ld de, $0000 @@ -26904,7 +26885,7 @@ Func_1581f: ; 0x1581f xor a ld [wd51f], a ld bc, FiftyBillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba AddBCDScore ld a, [wd520] sub $11 @@ -26948,7 +26929,7 @@ Func_1587c: ; 0x1587c xor a ld [wLeftAlleyTrigger], a ld a, $1 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10000 ret c ld a, [wLeftAlleyCount] @@ -26964,7 +26945,7 @@ Func_1587c: ; 0x1587c and $1 or $6 ld [wStageCollisionState], a - ld [$ff8a], a + ld [hFarCallTempA], a callba LoadStageCollisionAttributes call Func_159f4 ret @@ -26978,7 +26959,7 @@ Func_158c0: ; 0x158c0 xor a ld [wLeftAlleyTrigger], a ld a, $1 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10000 ret c ld a, [wLeftAlleyCount] @@ -26994,7 +26975,7 @@ Func_158c0: ; 0x158c0 and $1 or $6 ld [wStageCollisionState], a - ld [$ff8a], a + ld [hFarCallTempA], a callba LoadStageCollisionAttributes call Func_159f4 ret @@ -27008,7 +26989,7 @@ Func_15904: ; 0x15904 xor a ld [wSecondaryLeftAlleyTrigger], a ld a, $3 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10000 ret @@ -27042,7 +27023,7 @@ Func_15944: ; 0x15944 xor a ld [wRightAlleyTrigger], a ld a, $2 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10000 ret c ld a, [wRightAlleyCount] @@ -27082,7 +27063,7 @@ Func_15990: ; 0x15990 xor a ld [wRightAlleyTrigger], a ld a, $2 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10000 ret c ld a, [wRightAlleyCount] @@ -27113,7 +27094,7 @@ Func_159c9: ; 0x159c9 ld [wStageCollisionState], a ld a, $ff ld [wd7ad], a - ld [$ff8a], a + ld [hFarCallTempA], a callba LoadStageCollisionAttributes call Func_159f4 ld a, $1 @@ -27122,7 +27103,7 @@ Func_159c9: ; 0x159c9 ret Func_159f4: ; 0x159f4 - ld a, [$ff9e] + ld a, [hLCDC] bit 7, a jr z, .asm_15a13 ld a, [wd7f2] @@ -27177,7 +27158,7 @@ Func_15e93: ; 0x15e93 xor a ld [wd4fb], a ld bc, OneMillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba AddBCDScore ld de, $0005 call PlaySoundEffect @@ -27227,7 +27208,7 @@ Func_15e93: ; 0x15e93 xor a .asm_15f11 ld [wRareMonsFlag], a - ld [$ff8a], a + ld [hFarCallTempA], a callba StartCatchEmMode .noCatchEmMode ld hl, wd62a @@ -27235,7 +27216,7 @@ Func_15e93: ; 0x15e93 ret nc ld c, $19 call Func_e55 - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_30164) ld hl, Func_30164 call z, BankSwitch @@ -27262,7 +27243,7 @@ Func_15e93: ; 0x15e93 ld de, $0006 call PlaySoundEffect ld a, $5 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10000 ret @@ -27376,7 +27357,7 @@ Func_160f0: ; 0x160f0 xor a ld [wd5fe], a ld bc, OneMillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba AddBCDScore ld de, $0021 call PlaySoundEffect @@ -27407,14 +27388,14 @@ Func_160f0: ; 0x160f0 ld [wd600], a cp $f jr nz, .asm_1614f - ld [$ff8a], a + ld [hFarCallTempA], a callba LoadMiniBallGfx ret .asm_1614f cp $c jr nz, .asm_1615e - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_dd62 ret @@ -27430,7 +27411,7 @@ Func_160f0: ; 0x160f0 .asm_1616d cp $6 jr nz, .asm_1618e - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10ab3 ld a, $1 ld [wd548], a @@ -27444,14 +27425,14 @@ Func_160f0: ; 0x160f0 .asm_1618e cp $3 jr nz, .asm_1619d - ld [$ff8a], a + ld [hFarCallTempA], a callba LoadMiniBallGfx ret .asm_1619d and a ret nz - ld [$ff8a], a + ld [hFarCallTempA], a callba LoadBallGfx ld a, $2 ld [wBallYVelocity + 1], a @@ -27630,14 +27611,14 @@ Func_16279: ; 0x16279 jr nz, .asm_162d4 ld de, $0021 call PlaySoundEffect - ld [$ff8a], a + ld [hFarCallTempA], a callba LoadMiniBallGfx ret .asm_162d4 cp $f jr nz, .asm_162e3 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_dd62 ret @@ -27665,14 +27646,14 @@ Func_16279: ; 0x16279 ld [wd803], a ld a, $8 ld [wd804], a - ld [$ff8a], a + ld [hFarCallTempA], a callba LoadMiniBallGfx ret .asm_16317 cp $3 jr nz, .asm_16330 - ld [$ff8a], a + ld [hFarCallTempA], a callba LoadBallGfx ld a, $2 ld [wBallYVelocity + 1], a @@ -27690,7 +27671,7 @@ Func_16279: ; 0x16279 call GenRandom and $8 ld [wRareMonsFlag], a - ld [$ff8a], a + ld [hFarCallTempA], a callba StartCatchEmMode xor a ld [wd622], a @@ -27700,7 +27681,7 @@ Func_16352: ; 0x16352 xor a ld [wIndicatorStates + 4], a ld a, $d - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10000 jr nc, .asm_1636d ld a, $1 @@ -27745,7 +27726,7 @@ Func_16352: ; 0x16352 ret .asm_163b3 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_ed8e xor a ld [wd608], a @@ -27758,7 +27739,7 @@ Func_16352: ; 0x16352 ld a, [wd622] cp $2 ret nz - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10ab3 ld a, [wd7ad] ld c, a @@ -27851,7 +27832,7 @@ Func_164e3: ; 0x164e3 .asm_16506 ld hl, wCurrentStage bit 0, [hl] - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_30256) ld hl, Func_30256 call nz, BankSwitch @@ -27919,7 +27900,7 @@ Func_1652d: ; 0x1652d Func_1658f: ; 0x1658f ld a, [hGameBoyColorFlag] and a - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_f269) ld hl, Func_f269 call nz, BankSwitch @@ -27942,12 +27923,12 @@ Func_1658f: ; 0x1658f call PlaySoundEffect pop af add $29 ; map billboard pictures start at the $29th entry in BillboardPicturePointers - ld [$ff8a], a + ld [hFarCallTempA], a callba LoadBillboardPicture ld b, $20 ; number of frames to delay before the next map is shown .waitOnCurrentMap push bc - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_eeee ld hl, wKeyConfigBallStart call IsKeyPressed @@ -27959,10 +27940,10 @@ Func_1658f: ; 0x1658f .ballStartKeyPressed pop bc - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_30253 ld bc, Data_2cd1 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_3118f ld a, [wCurrentMap] ld [wd4e3], a @@ -28065,7 +28046,7 @@ Func_1669e: ; 0x1669e call Func_310a rst AdvanceFrame ld a, $1 - ld [$ff8a], a + ld [hFarCallTempA], a callba PlayPikachuSoundClip ld a, $1 ld [wd85d], a @@ -28078,7 +28059,7 @@ Func_1669e: ; 0x1669e jr nc, .asm_166f0 ld c, $a call Func_e55 - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_30164) ld hl, Func_30164 call z, BankSwitch @@ -28096,7 +28077,7 @@ Func_1669e: ; 0x1669e ld a, $1 ld [wd549], a ld bc, FiveBillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba AddBCDScore xor a ld [wd51c], a @@ -28177,7 +28158,7 @@ Func_16781: ; 0x16781 and a jr nz, .asm_167c2 ld bc, FiveBillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba AddBCDScore ld a, [wd502] xor $1 @@ -28187,7 +28168,7 @@ Func_16781: ; 0x16781 ld [wd503], a call Func_16859 ld a, $6 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10000 ret @@ -28210,7 +28191,7 @@ Func_16781: ; 0x16781 and $fe or c ld [wStageCollisionState], a - ld [$ff8a], a + ld [hFarCallTempA], a callba LoadStageCollisionAttributes call Func_159f4 ld de, $0007 @@ -28230,7 +28211,7 @@ Func_167ff: ; 0x167ff and a jr nz, .asm_1683e ld bc, FiveBillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba AddBCDScore ld a, [wd502] xor $1 @@ -28239,7 +28220,7 @@ Func_167ff: ; 0x167ff ld [wd503], a call Func_16878 ld a, $6 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10000 ret @@ -28386,7 +28367,7 @@ Func_16d9d: ; 016d9d sub $21 jr nz, .asm_16ddc ld a, $9 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10000 ld a, [wd610] cp $3 @@ -28402,7 +28383,7 @@ Func_16d9d: ; 016d9d .asm_16ddc ld a, $a - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10000 ld a, [wd611] cp $3 @@ -28426,7 +28407,7 @@ Func_16d9d: ; 016d9d jr nc, .asm_16e24 ld c, $19 call Func_e55 - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_30164) ld hl, Func_30164 call z, BankSwitch @@ -28439,7 +28420,7 @@ Func_16d9d: ; 016d9d ld [wd613], a .asm_16e35 ld bc, OneHundredBillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba AddBCDScore ld a, [wd60c] call Func_16f28 @@ -28759,7 +28740,7 @@ Func_1757e: ; 0x1757e call Func_17c67 call Func_17c96 call Func_17e08 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_e4a1 call Func_17e81 call Func_17f0f @@ -28901,11 +28882,11 @@ Func_17c67: ; 0x17c67 and a ret z ld a, $50 - ld hl, hBoardXShift + ld hl, hSCX sub [hl] ld b, a ld a, $38 - ld hl, hBoardYShift + ld hl, hSCY sub [hl] ld c, a ld a, [wBallCaptureAnimationFrame] @@ -28925,11 +28906,11 @@ Func_17c96: ; 0x17c96 and a ret z ld a, $50 - ld hl, hBoardXShift + ld hl, hSCX sub [hl] ld b, a ld a, $3e - ld hl, hBoardYShift + ld hl, hSCY sub [hl] ld c, a ld a, [wd5bd] @@ -28975,12 +28956,12 @@ Func_17cdc: ; 0x17cdc .asm_17cf6 pop hl inc de - ld a, [hBoardXShift] + ld a, [hSCX] ld b, a ld a, [hli] sub b ld b, a - ld a, [hBoardYShift] + ld a, [hSCY] ld c, a ld a, [hli] sub c @@ -29012,11 +28993,11 @@ Data_17d27: Func_17d34: ; 0x17d34 ld a, $0 - ld hl, hBoardXShift + ld hl, hSCX sub [hl] ld b, a ld a, $10 - ld hl, hBoardYShift + ld hl, hSCY sub [hl] ld c, a ld a, [wStageCollisionState] @@ -29033,11 +29014,11 @@ Data_17d51: Func_17d59: ; 0x17d59 ld a, $74 - ld hl, hBoardXShift + ld hl, hSCX sub [hl] ld b, a ld a, $52 - ld hl, hBoardYShift + ld hl, hSCY sub [hl] ld c, a ld a, [wBellsproutAnimationFrame] @@ -29057,11 +29038,11 @@ Func_17d7a: ; 0x17d7a and a ret z ld a, $67 - ld hl, hBoardXShift + ld hl, hSCX sub [hl] ld b, a ld a, $54 - ld hl, hBoardYShift + ld hl, hSCY sub [hl] ld c, a ld a, $cc @@ -29085,11 +29066,11 @@ Func_17d92: ; 0x17d92 ld [wd506], a .asm_17db1 ld a, $2b - ld hl, hBoardXShift + ld hl, hSCX sub [hl] ld b, a ld a, $69 - ld hl, hBoardYShift + ld hl, hSCY sub [hl] ld c, a ld a, [wd505] @@ -29109,11 +29090,11 @@ Data_17dd0: Func_17de1: ; 0x17de1 ld a, $88 - ld hl, hBoardXShift + ld hl, hSCX sub [hl] ld b, a ld a, $5a - ld hl, hBoardYShift + ld hl, hSCY sub [hl] ld c, a ld a, [wd50a] @@ -29131,9 +29112,9 @@ Data_17e02: dr $17e02, $17e08 Func_17e08: ; 0x17e08 - ld a, [hBoardXShift] + ld a, [hSCX] ld d, a - ld a, [hBoardYShift] + ld a, [hSCY] ld e, a ld a, [wd51d] and a @@ -29185,13 +29166,13 @@ Func_17e81: ; 0x17e81 ld [wBallRotation], a ld a, [wBallXPos + 1] inc a - ld hl, hBoardXShift + ld hl, hSCX sub [hl] ld b, a ld a, [wBallYPos + 1] inc a sub $10 - ld hl, hBoardYShift + ld hl, hSCY sub [hl] ld c, a ld a, [wBallRotation] @@ -29213,13 +29194,13 @@ Func_17e81: ; 0x17e81 ret nz ld a, [wd4c5] inc a - ld hl, hBoardXShift + ld hl, hSCX sub [hl] ld b, a ld a, [wd4c6] inc a sub $10 - ld hl, hBoardYShift + ld hl, hSCY sub [hl] ld c, a ld a, [wd4c7] @@ -29262,12 +29243,12 @@ Func_17f0f: ; 0x17f0f ld b, $8 asm_17f21: ; 0x17f21 push bc - ld a, [hBoardXShift] + ld a, [hSCX] ld b, a ld a, [hli] sub b ld b, a - ld a, [hBoardYShift] + ld a, [hSCY] ld c, a ld a, [hli] sub c @@ -29312,12 +29293,12 @@ asm_17f84: ; 0x17f84 add c cp c push af - ld a, [hBoardXShift] + ld a, [hSCX] ld b, a ld a, [hli] sub b ld b, a - ld a, [hBoardYShift] + ld a, [hSCY] ld c, a ld a, [hli] sub c @@ -29349,11 +29330,11 @@ Func_17fca: ; 0x17fca inc a ld [wd606], a ld a, $40 - ld hl, hBoardXShift + ld hl, hSCX sub [hl] ld b, a ld a, $1 - ld hl, hBoardYShift + ld hl, hSCY sub [hl] ld c, a ld a, [wd606] @@ -29397,7 +29378,7 @@ Func_18000: ; 0x18000 ld [wd49d], a ld a, $3 ld [wd49e], a - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_dbba ret @@ -29422,7 +29403,7 @@ Func_18061: ; 0x18061 ret Func_18062: ; 0x18062 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_1448e ret @@ -29430,19 +29411,19 @@ Func_1806d: ; 0x1806d ret Func_1806e: ; 0x1806e - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_1652d ret Func_18079: ; 0x18079 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_17e81 ret Func_18084: ; 0x18084 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_e4a1 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_17e81 ret @@ -29491,7 +29472,7 @@ InitGengarBonusStage: ; 0x18099 ld [hli], a ld [wd656], a ld bc, $0130 ; 1 minute 30 seconds - ld [$ff8a], a + ld [hFarCallTempA], a callba StartTimer ld a, $f call SetSongBank @@ -29550,12 +29531,12 @@ StartBallGengarBonusStage: ; 0x18157 ret Func_1818b: ; 0x1818b - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_142fc call Func_2862 call Func_18d72 ld a, [wd7c1] - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_1404a and a ret z @@ -29813,7 +29794,7 @@ Func_18377: ; 0x18377 call Func_187b1 call Func_18d34 call Func_183b7 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_107f8 ld a, [wd57e] and a @@ -29823,7 +29804,7 @@ Func_18377: ; 0x18377 ld a, $1 ld [wd7be], a call Func_2862 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_86d2 ld a, [wd6a2] cp $5 @@ -29842,7 +29823,7 @@ Func_183b7: ; 0x183b7 ld a, $1 ld [wStageCollisionState], a ld [wd653], a - ld [$ff8a], a + ld [hFarCallTempA], a callba LoadStageCollisionAttributes call Func_183db call Func_18d91 @@ -29914,7 +29895,7 @@ Func_18464: ; 0x18464 inc a ld [wd67b], a ld bc, TenMillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_8588 ld a, $33 ld [wd803], a @@ -30134,7 +30115,7 @@ Func_1860b: ; 0x1860b inc a ld [wd695], a ld bc, FiftyMillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_8588 ld a, $33 ld [wd803], a @@ -30369,13 +30350,13 @@ Func_187b1: ; 0x187b1 ld a, $1 ld [wd7be], a call Func_2862 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_86d2 ld de, $0000 call PlaySong .asm_18826 ld bc, FiftyThousandPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_8588 ld a, $33 ld [wd803], a @@ -30707,7 +30688,7 @@ Func_18d34: ; 0x18d34 and a jr nz, .asm_18d71 ld bc, OneHundredMillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_8588 ld a, $ff ld [wd803], a @@ -30799,14 +30780,14 @@ Data_18ed1: Func_18faf: ; 0x18faf ld bc, $7f00 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_175a4 call Func_19020 call Func_190b9 call Func_19185 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_e4a1 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_17e81 ret @@ -30878,13 +30859,13 @@ Func_19033: ; 0x19033 inc de inc de ld a, [de] - ld hl, hBoardXShift + ld hl, hSCX sub [hl] ld b, a inc de inc de ld a, [de] - ld hl, hBoardYShift + ld hl, hSCY sub [hl] ld c, a dec de @@ -30970,13 +30951,13 @@ Func_190c6: ; 0x190c6 inc de inc de ld a, [de] - ld hl, hBoardXShift + ld hl, hSCX sub [hl] ld b, a inc de inc de ld a, [de] - ld hl, hBoardYShift + ld hl, hSCY sub [hl] ld c, a dec de @@ -31066,13 +31047,13 @@ Func_1918c: ; 0x1918c inc de inc de ld a, [de] - ld hl, hBoardXShift + ld hl, hSCX sub [hl] ld b, a inc de inc de ld a, [de] - ld hl, hBoardYShift + ld hl, hSCY sub [hl] ld c, a dec de @@ -31180,7 +31161,7 @@ InitMewtwoBonusStage: ; 0x1924f dec b jr nz, .asm_1928c ld bc, $0200 ; 2 minutes 0 seconds - ld [$ff8a], a + ld [hFarCallTempA], a callba StartTimer ld a, $12 call SetSongBank @@ -31217,10 +31198,10 @@ StartBallMewtwoBonusStage: ; 0x192e3 ret Func_19310: ; 0x19310 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_142fc call Func_2862 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_1404a ld a, [wd7c1] and a @@ -31422,7 +31403,7 @@ Func_19451: ; 0x19451 call Func_19531 call Func_19701 call Func_1948b - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_107f8 ld a, [wd57e] and a @@ -31432,7 +31413,7 @@ Func_19451: ; 0x19451 ld a, $1 ld [wd7be], a call Func_2862 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_86d2 ld a, [wd6b1] cp $8 @@ -31451,7 +31432,7 @@ Func_1948b: ; 0x1948b ld a, $1 ld [wStageCollisionState], a ld [wd6a9], a - ld [$ff8a], a + ld [hFarCallTempA], a callba LoadStageCollisionAttributes call Func_194ac ret @@ -31494,7 +31475,7 @@ Func_19531: ; 0x19531 cp $2 jr nc, .asm_195a2 ld bc, FiftyThousandPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_8588 ld a, [wd6b0] inc a @@ -31524,7 +31505,7 @@ Func_19531: ; 0x19531 ld a, $1 ld [wd7be], a call Func_2862 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_86d2 ld de, $0000 call PlaySong @@ -31728,7 +31709,7 @@ Func_19701: ; 0x19701 ld a, $2 call Func_19876 ld bc, TenMillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_8588 ld de, $0038 call PlaySoundEffect @@ -31921,23 +31902,23 @@ Data_19916: Func_1994e: ; 0x1994e ld bc, $7f65 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_175a4 call Func_1999d - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_e4a1 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_17e81 call Func_19976 ret Func_19976: ; 0x19976 ld a, $40 - ld hl, hBoardXShift + ld hl, hSCX sub [hl] ld b, a ld a, $0 - ld hl, hBoardYShift + ld hl, hSCY sub [hl] ld c, a ld a, [wd6ad] @@ -31977,12 +31958,12 @@ Func_199be: ; 0x199be inc de inc de ld a, [de] - ld hl, hBoardXShift + ld hl, hSCX sub [hl] ld b, a inc de ld a, [de] - ld hl, hBoardYShift + ld hl, hSCY sub [hl] ld c, a dec de @@ -32071,7 +32052,7 @@ StartBallDiglettBonusStage: ; 0x19a38 ret Func_19a76: ; 0x19a76 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_142fc call Func_2862 ld a, [wd7c1] @@ -32266,7 +32247,7 @@ Func_19c52: ; 0x19c52 xor a ld [wd73b], a ld bc, TenMillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_8588 ld de, $0035 call PlaySoundEffect @@ -32576,7 +32557,7 @@ Func_1aad4: ; 0x1aad4 ld de, wDugtrioAnimationFrameCounter call CopyHLToDE ld bc, FiftyThousandPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_8588 ld de, $0036 call PlaySoundEffect @@ -32774,20 +32755,20 @@ Data_1ac93: dr $1ac93, $1ac98 Func_1ac98: ; 0x1ac98 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_e4a1 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_17e81 call Func_1acb0 ret Func_1acb0: ; 0x1acb0 ld a, $40 - ld hl, hBoardXShift + ld hl, hSCX sub [hl] ld b, a ld a, $0 - ld hl, hBoardYShift + ld hl, hSCY sub [hl] ld c, a ld a, [wDugtrioAnimationFrame] @@ -32853,9 +32834,9 @@ InitBlueField: ; 0x1c000 ld [wd644], a ld [wd645], a ld [wd646], a - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_dbba - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_1d65f ld a, $10 call SetSongBank @@ -32959,12 +32940,12 @@ Func_1c165: ; 0x1c165 call Func_1cb43 call Func_1c3ee call Func_1e8f6 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_142fc ld a, $1 ld [wd640], a call Func_1f18a - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_1404a call Func_1c203 ret @@ -32977,16 +32958,16 @@ Func_1c191: ; 0x1c191 call Func_1c43c call Func_1c305 call Func_1c3ee - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_14746 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_14707 call Func_1c235 call Func_1c21e call Func_1e8f6 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_142fc - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_1404a call Func_1c203 ret @@ -33184,13 +33165,13 @@ Func_1c305: ; 0x1c305 jp Func_1c3ca .asm_1c31f - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_1c3ac - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10362 ld a, [hGameBoyColorFlag] and a - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_10301) ld hl, Func_10301 call nz, BankSwitch @@ -33274,11 +33255,11 @@ Func_1c3ca: ; 0x1c3ca ld [hli], a dec b jr nz, .asm_1c3cf - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10184 ld a, [hGameBoyColorFlag] and a - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_102bc) ld hl, Func_102bc call nz, BankSwitch @@ -33354,7 +33335,7 @@ Func_1c43c: ; 0x1c43c Func_1c46d: ; 0x1c46d push af - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10611 pop af dec a @@ -33409,7 +33390,7 @@ Func_1c4b6: ; 0x1c4b6 jr z, .asm_1c4d2 ld a, [wd498] add $15 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_30256 ret @@ -33418,12 +33399,12 @@ Func_1c4b6: ; 0x1c4b6 and a jr z, .asm_1c4e5 ld a, $1a - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_30256 ret .asm_1c4e5 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_30253 ret @@ -33434,7 +33415,7 @@ Func_1c4b6: ; 0x1c4b6 ld a, [wd54d] cp $3 jr nz, .asm_1c508 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_30253 ret @@ -33446,7 +33427,7 @@ Func_1c4b6: ; 0x1c4b6 ld a, [wd55a] add $12 .asm_1c515 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_30256 ret @@ -33686,14 +33667,14 @@ Func_1c715: ; 0x1c715 call Func_1e9c0 call Func_1c8b6 call Func_1f18a - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_146a9 call Func_1f27b call Func_1df15 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_30188 ld a, $0 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10000 ret @@ -33713,23 +33694,23 @@ Func_1c769: ; 0x1c769 call Func_1e9c0 call Func_1ea0a call Func_1c8b6 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_14733 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_146a2 call Func_1f261 call Func_1de93 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_30188 ld a, $0 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10000 ret Func_1c7c7: ; 0x1c7c7 ld a, $0 ld [wStageCollisionState], a - ld [$ff8a], a + ld [hFarCallTempA], a callba LoadStageCollisionAttributes ret @@ -33785,7 +33766,7 @@ Func_1c7d7: ; 0x1c7d7 Func_1c839: ; 0x1c839 ld a, [hGameBoyColorFlag] and a - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_f269) ld hl, Func_f269 call nz, BankSwitch @@ -33808,12 +33789,12 @@ Func_1c839: ; 0x1c839 call PlaySoundEffect pop af add $29 ; map billboard pictures start at the $29th entry in BillboardPicturePointers - ld [$ff8a], a + ld [hFarCallTempA], a callba LoadBillboardPicture ld b, $20 ; number of frames to delay before the next map is shown .waitOnCurrentMap push bc - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_eeee ld hl, wKeyConfigBallStart call IsKeyPressed @@ -33825,10 +33806,10 @@ Func_1c839: ; 0x1c839 .ballStartKeyPressed pop bc - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_30253 ld bc, Data_2cd1 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_3118f ld a, [wCurrentMap] ld [wd4e3], a @@ -34022,10 +34003,10 @@ Func_1c9c1: ; 0x1c9c1 sub $3 ld [wd4d7], a ld a, $4 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10000 ld bc, FiveHundredMillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba AddBCDScore ret @@ -34083,7 +34064,7 @@ Func_1ca5f: ; 0x1ca5f ld a, b ld [wd50c], a ld a, $c - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10000 ; fall through @@ -34147,7 +34128,7 @@ Func_1ca85: ; 0x1ca85 and a ret z ld bc, OneHundredBillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba AddBCDScore ld hl, wd62d call Func_e4a @@ -34308,18 +34289,18 @@ Func_1cfaa: ; 0x1cfaa xor a ld [wd51f], a ld bc, FiftyBillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba AddBCDScore ld a, [wStageCollisionState] cp $0 jr nz, .asm_1cfe5 ld a, $1 ld [wStageCollisionState], a - ld [$ff8a], a + ld [hFarCallTempA], a callba LoadStageCollisionAttributes ld a, $1 ld [wd580], a - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_1404a .asm_1cfe5 ld a, [wd520] @@ -34352,7 +34333,7 @@ Func_1d010: ; 0x1d010 xor a ld [wLeftAlleyTrigger], a ld a, $1 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10000 ret c ld a, [wLeftAlleyCount] @@ -34381,7 +34362,7 @@ Func_1d047: ; 0x1d047 xor a ld [wRightAlleyTrigger], a ld a, $2 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10000 ret c ld a, [wRightAlleyCount] @@ -34508,7 +34489,7 @@ Func_1d133: ; 0x1d133 call Func_310a rst AdvanceFrame ld a, $1 - ld [$ff8a], a + ld [hFarCallTempA], a callba PlayPikachuSoundClip ld a, $1 ld [wd85d], a @@ -34521,7 +34502,7 @@ Func_1d133: ; 0x1d133 jr nc, .asm_1d185 ld c, $a call Func_e55 - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_30164) ld hl, Func_30164 call z, BankSwitch @@ -34539,7 +34520,7 @@ Func_1d133: ; 0x1d133 ld a, $1 ld [wd549], a ld bc, FiveBillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba AddBCDScore xor a ld [wd51c], a @@ -34617,7 +34598,7 @@ Func_1d216: ; 0x1d216 xor a ld [wd630], a ld bc, OneMillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba AddBCDScore ld de, $0005 call PlaySoundEffect @@ -34658,7 +34639,7 @@ Func_1d216: ; 0x1d216 ld a, [wLeftAlleyCount] cp $3 jr nz, .asm_1d299 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10ab3 ld a, [wd643] and a @@ -34673,7 +34654,7 @@ Func_1d216: ; 0x1d216 ret nc ld c, $19 call Func_e55 - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_30164) ld hl, Func_30164 call z, BankSwitch @@ -34706,7 +34687,7 @@ Func_1d216: ; 0x1d216 cp $0 jr nz, .asm_1d2f8 ld a, $f - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10000 .asm_1d2f8 xor a @@ -34731,7 +34712,7 @@ HandleEnteringCloyster: ; 0x1d32d xor a ld [wd635], a ld bc, OneMillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba AddBCDScore ld de, $0005 call PlaySoundEffect @@ -34777,7 +34758,7 @@ HandleEnteringCloyster: ; 0x1d32d xor a .asm_1d3a1 ld [wRareMonsFlag], a - ld [$ff8a], a + ld [hFarCallTempA], a callba StartCatchEmMode .noCatchEmMode ld hl, wd63b @@ -34787,7 +34768,7 @@ HandleEnteringCloyster: ; 0x1d32d ret nc ld c, $19 call Func_e55 - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_30164) ld hl, Func_30164 call z, BankSwitch @@ -34817,7 +34798,7 @@ HandleEnteringCloyster: ; 0x1d32d ld de, $0006 call PlaySoundEffect ld a, $e - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10000 xor a ld [wd64c], a @@ -34858,7 +34839,7 @@ Func_1d438: ; 0x1d438 ld a, $3c ld [wd647], a ld a, $9 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10000 ld a, [wd610] cp $3 @@ -34886,7 +34867,7 @@ Func_1d438: ; 0x1d438 ld a, $1e ld [wd647], a ld a, $a - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10000 ld a, [wd611] cp $3 @@ -34910,7 +34891,7 @@ Func_1d438: ; 0x1d438 jr nc, .asm_1d4e9 ld c, $19 call Func_e55 - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_30164) ld hl, Func_30164 call z, BankSwitch @@ -34923,7 +34904,7 @@ Func_1d438: ; 0x1d438 ld [wd613], a asm_1d4fa: ; 0x1d4fa ld bc, OneHundredBillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba AddBCDScore ld a, [wd60c] call Func_1d5f2 @@ -35226,7 +35207,7 @@ Func_1dbd2: ; 0x1dbd2 ld a, [wLeftMapMoveCounter] cp $3 ld a, $7 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10000 ld a, $2 ld [wd646], a @@ -35263,7 +35244,7 @@ Func_1dbd2: ; 0x1dbd2 ld a, [wRightMapMoveCounter] cp $3 ld a, $8 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10000 ld a, [wRightMapMoveCounter] cp $3 @@ -35466,14 +35447,14 @@ Func_1ddc7: ; 0x1ddc7 jr nc, .asm_1dde4 ld c, $a call Func_e55 - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_30164) ld hl, Func_30164 call z, BankSwitch .asm_1dde4 xor a ld [wd55a], a - ld [$ff8a], a + ld [hFarCallTempA], a callba StartMapMoveMode scf ret @@ -35486,14 +35467,14 @@ Func_1ddf4: ; 0x1ddf4 jr nc, .asm_1de11 ld c, $a call Func_e55 - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_30164) ld hl, Func_30164 call z, BankSwitch .asm_1de11 ld a, $1 ld [wd55a], a - ld [$ff8a], a + ld [hFarCallTempA], a callba StartMapMoveMode scf ret @@ -35509,7 +35490,7 @@ Func_1de22: ; 0x1de22 ld a, $2 ld [wd7eb], a ld bc, FiveHundredMillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba AddBCDScore ld de, $000f call PlaySoundEffect @@ -35724,11 +35705,11 @@ Func_1e356: ; 0x1e356 jr nz, .asm_1e386 ld a, $1 ld [wStageCollisionState], a - ld [$ff8a], a + ld [hFarCallTempA], a callba LoadStageCollisionAttributes ld a, $1 ld [wd580], a - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_1404a .asm_1e386 ld a, [wStageCollisionState] @@ -35742,7 +35723,7 @@ Func_1e356: ; 0x1e356 ld [wLeftAlleyTrigger], a ld [wSecondaryLeftAlleyTrigger], a ld a, $b - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10000 ld a, [wd5f8] sub $13 @@ -35757,7 +35738,7 @@ Func_1e356: ; 0x1e356 ld [hl], $0 .asm_1e3bf ld bc, OneHundredMillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba AddBCDScore ld hl, wd5f9 ld a, [hli] @@ -35780,7 +35761,7 @@ Func_1e356: ; 0x1e356 ld a, $e ld [wBallTypeCounter + 1], a ld bc, FourHundredMillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba AddBCDScore ld a, [wBallType] cp MASTER_BALL @@ -35807,7 +35788,7 @@ Func_1e356: ; 0x1e356 ld de, $0f4d call PlaySoundEffect ld bc, TenThousandPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_8588 ld bc, $0100 ld de, $0000 @@ -35824,7 +35805,7 @@ Func_1e356: ; 0x1e356 ld de, FieldMultiplierSpecialBonusText call LoadTextHeader .asm_1e465 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_155a7 jr asm_1e475 @@ -36013,7 +35994,7 @@ HandleBallTypeUpgradeCounterBlueField: ; 0x1e58c ld a, $e ld [wBallTypeCounter + 1], a .pokeball - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_155a7 ret @@ -36037,7 +36018,7 @@ Func_1e5c5: ; 0x1e5c5 and a ret nz ld bc, OneHundredMillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba AddBCDScore ld hl, wd50f ld a, [hli] @@ -36052,7 +36033,7 @@ Func_1e5c5: ; 0x1e5c5 ld a, $80 ld [wd514], a ld bc, FourHundredMillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba AddBCDScore ld de, $0009 call PlaySoundEffect @@ -36244,14 +36225,14 @@ Func_1e757: ; 0x1e757 jr nz, .asm_1e7b2 ld de, $0021 call PlaySoundEffect - ld [$ff8a], a + ld [hFarCallTempA], a callba LoadMiniBallGfx ret .asm_1e7b2 cp $f jr nz, .asm_1e7c1 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_dd62 ret @@ -36279,14 +36260,14 @@ Func_1e757: ; 0x1e757 ld [wd803], a ld a, $8 ld [wd804], a - ld [$ff8a], a + ld [hFarCallTempA], a callba LoadMiniBallGfx ret .asm_1e7f5 cp $3 jr nz, .asm_1e80e - ld [$ff8a], a + ld [hFarCallTempA], a callba LoadBallGfx ld a, $2 ld [wBallYVelocity + 1], a @@ -36304,7 +36285,7 @@ Func_1e757: ; 0x1e757 call GenRandom and $8 ld [wRareMonsFlag], a - ld [$ff8a], a + ld [hFarCallTempA], a callba StartCatchEmMode xor a ld [wd622], a @@ -36314,7 +36295,7 @@ Func_1e830: ; 0x1e830 xor a ld [wIndicatorStates + 4], a ld a, $d - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10000 jr nc, .asm_1e84b ld a, $1 @@ -36359,7 +36340,7 @@ Func_1e830: ; 0x1e830 ret .asm_1e891 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_ed8e xor a ld [wd608], a @@ -36372,7 +36353,7 @@ Func_1e830: ; 0x1e830 ld a, [wd622] cp $2 ret nz - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10ab3 xor a ld [wd622], a @@ -36459,7 +36440,7 @@ Func_1e9c0: ; 0x1e9c0 .asm_1e9e3 ld hl, wCurrentStage bit 0, [hl] - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_30256) ld hl, Func_30256 call nz, BankSwitch @@ -37252,7 +37233,7 @@ Func_1f2ed: ; 0x1f2ed xor a ld [wd604], a ld [wIndicatorStates + 4], a - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_1e8f6) ; this is in the same bank... ld hl, Func_1e8f6 call BankSwitch @@ -37287,13 +37268,13 @@ Func_1f2ff: ; 0x1f2ff Func_1f330: ; 0x1f330 ld bc, $7f00 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_175a4 call Func_1f395 call Func_1f3e1 call Func_1f408 call Func_1f428 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_17e81 call Func_1f48f call Func_1f4f8 @@ -37301,15 +37282,15 @@ Func_1f330: ; 0x1f330 Func_1f35a: ; 0x1f35a ld bc, $7f00 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_175a4 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_17c67 call Func_1f58b call Func_1f448 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_e4a1 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_17e81 call Func_1f4a3 call Func_1f509 @@ -37328,12 +37309,12 @@ Func_1f395: ; 0x1f395 ; fall through Func_1f3ad: ; 0x1f3ad - ld a, [hBoardXShift] + ld a, [hSCX] ld b, a ld a, [hli] sub b ld b, a - ld a, [hBoardYShift] + ld a, [hSCY] ld c, a ld a, [hli] sub c @@ -37366,11 +37347,11 @@ Data_1f3db: Func_1f3e1: ; 0x1f3e1 ld a, $8a - ld hl, hBoardXShift + ld hl, hSCX sub [hl] ld b, a ld a, $53 - ld hl, hBoardYShift + ld hl, hSCY sub [hl] ld c, a ld a, [wd50a] @@ -37389,11 +37370,11 @@ Data_1f402: Func_1f408: ; 0x1f408 ld a, $18 - ld hl, hBoardXShift + ld hl, hSCX sub [hl] ld b, a ld a, $5f - ld hl, hBoardYShift + ld hl, hSCY sub [hl] ld c, a ld a, [wd633] @@ -37410,11 +37391,11 @@ Data_1f425: Func_1f428: ; 0x1f428 ld a, $70 - ld hl, hBoardXShift + ld hl, hSCX sub [hl] ld b, a ld a, $59 - ld hl, hBoardYShift + ld hl, hSCY sub [hl] ld c, a ld a, [wd638] @@ -37430,9 +37411,9 @@ Data_1f445: dr $1f445, $1f448 Func_1f448: ; 0x1f448 - ld a, [hBoardXShift] + ld a, [hSCX] ld d, a - ld a, [hBoardYShift] + ld a, [hSCY] ld e, a ld a, [wd51d] and a @@ -37498,12 +37479,12 @@ Func_1f4a3: ; 0x1f4a3 ld b, $8 asm_1f4b5: push bc - ld a, [hBoardXShift] + ld a, [hSCX] ld b, a ld a, [hli] sub b ld b, a - ld a, [hBoardYShift] + ld a, [hSCY] ld c, a ld a, [hli] sub c @@ -37548,12 +37529,12 @@ asm_1f518: ; 0x1f518 add c cp c push af - ld a, [hBoardXShift] + ld a, [hSCX] ld b, a ld a, [hli] sub b ld b, a - ld a, [hBoardYShift] + ld a, [hSCY] ld c, a ld a, [hli] sub c @@ -37585,11 +37566,11 @@ Func_1f55e: ; 0x1f55e inc a ld [wd606], a ld a, $40 - ld hl, hBoardXShift + ld hl, hSCX sub [hl] ld b, a ld a, $1 - ld hl, hBoardYShift + ld hl, hSCY sub [hl] ld c, a ld a, [wd606] @@ -37607,11 +37588,11 @@ Func_1f58b: ; 0x1f58b and a ret z ld a, $50 - ld hl, hBoardXShift + ld hl, hSCX sub [hl] ld b, a ld a, $3e - ld hl, hBoardYShift + ld hl, hSCY sub [hl] ld c, a ld a, [wd5bd] @@ -37646,29 +37627,21 @@ Func_20000: ; 0x20000 ld a, [wd54d] call CallInFollowingTable PointerTable_20021: ; 0x20021 - dw Func_20041 - db Bank(Func_20041), $00 + padded_dab Func_20041 - dw Func_2005f - db Bank(Func_2005f), $00 + padded_dab Func_2005f - dw Func_2006b - db Bank(Func_2006b), $00 + padded_dab Func_2006b - dw Func_200a3 - db Bank(Func_200a3), $00 + padded_dab Func_200a3 - dw Func_200d3 - db Bank(Func_200d3), $00 + padded_dab Func_200d3 - dw Func_20193 - db Bank(Func_20193), $00 + padded_dab Func_20193 - dw CapturePokemonRedStage - db Bank(CapturePokemonRedStage), $00 + padded_dab CapturePokemonRedStage - dw Func_201ce - db Bank(Func_201ce), $00 + padded_dab Func_201ce Func_20041: ; 0x20041 ld a, [wd5b6] @@ -37688,7 +37661,7 @@ Func_20041: ; 0x20041 ret Func_2005f: ; 0x2005f - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10648 scf ret @@ -37699,13 +37672,13 @@ Func_2006b: ; 0x2006b jr z, .asm_20098 call Func_1130 jr nz, .asm_200a1 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10414 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10362 ld a, [hGameBoyColorFlag] and a - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_10301) ld hl, Func_10301 call nz, BankSwitch @@ -37725,11 +37698,11 @@ Func_200a3: ; 0x200a3 call Func_1130 jr nz, .asm_200d1 .asm_200af - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10678 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10732 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10464 ld hl, wd54d inc [hl] @@ -37772,7 +37745,7 @@ Func_200d3: ; 0x200d3 ld [wNumMonHits], a .asm_20116 ld bc, ThirtyMillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_8588 ld bc, $0030 ld de, $0000 @@ -37789,7 +37762,7 @@ Func_200d3: ; 0x200d3 ld de, $2a21 call Func_3357 ld a, [wNumMonHits] - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10611 ld c, $2 jr .asm_2018a @@ -37840,19 +37813,19 @@ Func_20193: ; 0x20193 ret .asm_2019e - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10496 ld hl, wd54d inc [hl] - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_106b6 - ld [$ff8a], a + ld [hFarCallTempA], a callba AddCaughtPokemonToParty scf ret CapturePokemonRedStage: ; 0x201c2 - ld [$ff8a], a + ld [hFarCallTempA], a callba CapturePokemon scf ret @@ -37862,9 +37835,9 @@ Func_201ce: ; 0x201ce and a ret nz call Func_30e8 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_dc00 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10157 ld de, $0001 call PlaySong @@ -37872,7 +37845,7 @@ Func_201ce: ; 0x201ce ret Func_201f2: ; 0x201f2 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_107f8 ld a, [wd57e] and a @@ -37884,12 +37857,12 @@ Func_201f2: ; 0x201f2 ld a, [wCurrentCatchEmMon] cp NUM_POKEMON - 1 jr nz, .asm_2021b - ld [$ff8a], a + ld [hFarCallTempA], a callba SetPokemonOwnedFlag .asm_2021b - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_86d2 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_106a6 ret @@ -37925,10 +37898,10 @@ Func_20230: ; 0x20230 xor a ld [wIndicatorStates + 9], a .asm_20264 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10184 ld bc, TenMillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_8588 ld bc, $0010 ld de, $0000 @@ -37983,29 +37956,21 @@ Func_202bc: ; 0x202bc ld a, [wd54d] call CallInFollowingTable PointerTable_202e2: ; 0x202e2 - dw Func_20302 - db Bank(Func_20302), $00 + padded_dab Func_20302 - dw Func_20320 - db Bank(Func_20320), $00 + padded_dab Func_20320 - dw Func_2032c - db Bank(Func_2032c), $00 + padded_dab Func_2032c - dw Func_20364 - db Bank(Func_20364), $00 + padded_dab Func_20364 - dw Func_20394 - db Bank(Func_20394), $00 + padded_dab Func_20394 - dw Func_20454 - db Bank(Func_20454), $00 + padded_dab Func_20454 - dw CapturePokemonBlueStage - db Bank(CapturePokemonBlueStage), $00 + padded_dab CapturePokemonBlueStage - dw Func_2048f - db Bank(Func_2048f), $00 + padded_dab Func_2048f Func_20302: ; 0x20302 ld a, [wd5b6] @@ -38025,7 +37990,7 @@ Func_20302: ; 0x20302 ret Func_20320: ; 0x20320 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10648 scf ret @@ -38036,13 +38001,13 @@ Func_2032c: ; 0x2032c jr z, .asm_20333 call Func_1130 jr nz, .asm_20362 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10414 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10362 ld a, [hGameBoyColorFlag] and a - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_10301) ld hl, Func_10301 call nz, BankSwitch @@ -38062,11 +38027,11 @@ Func_20364: ; 0x20364 call Func_1130 jr nz, .asm_20392 .asm_20370 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10678 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10732 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10464 ld hl, wd54d inc [hl] @@ -38109,7 +38074,7 @@ Func_20394: ; 0x20394 ld [wNumMonHits], a .asm_203d7 ld bc, ThirtyMillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_8588 ld bc, $0030 ld de, $0000 @@ -38126,7 +38091,7 @@ Func_20394: ; 0x20394 ld de, $2a21 call Func_3357 ld a, [wNumMonHits] - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10611 ld c, $2 jr .asm_2044b @@ -38177,19 +38142,19 @@ Func_20454: ; 0x20454 ret .asm_2045f - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10496 ld hl, wd54d inc [hl] - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_106b6 - ld [$ff8a], a + ld [hFarCallTempA], a callba AddCaughtPokemonToParty scf ret CapturePokemonBlueStage: ; 0x20483 - ld [$ff8a], a + ld [hFarCallTempA], a callba CapturePokemon scf ret @@ -38199,9 +38164,9 @@ Func_2048f: ; 0x2048f and a ret nz call Func_30e8 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_dc00 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10157 ld de, $0001 call PlaySong @@ -38209,7 +38174,7 @@ Func_2048f: ; 0x2048f ret Func_204b3: ; 0x204b3 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_107f8 ld a, [wd57e] and a @@ -38221,12 +38186,12 @@ Func_204b3: ; 0x204b3 ld a, [wCurrentCatchEmMon] cp MEW - 1 jr nz, .notMew - ld [$ff8a], a + ld [hFarCallTempA], a callba SetPokemonOwnedFlag .notMew - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_86d2 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_106a6 ret @@ -38262,10 +38227,10 @@ Func_204f1: ; 0x204f1 xor a ld [wIndicatorStates + 9], a .asm_20525 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10184 ld bc, TenMillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_8588 ld bc, $0010 ld de, $0000 @@ -38342,14 +38307,11 @@ Func_20581: ; 0x20581 ld a, [wd54d] call CallInFollowingTable PointerTable_205d4: ; 0x205d4 - dw Func_205e0 - db Bank(Func_205e0), $00 + padded_dab Func_205e0 - dw Func_2070b - db Bank(Func_2070b), $00 + padded_dab Func_2070b - dw Func_20757 - db Bank(Func_20757), $00 + padded_dab Func_20757 Func_205e0: ; 0x205e0 ld a, [wCurrentStage] @@ -38380,12 +38342,12 @@ Func_205e0: ; 0x205e0 ld [wIndicatorStates + 10], a ld a, [wCurrentStage] bit 0, a - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_14135) ld hl, Func_14135 call nz, BankSwitch ld bc, TenThousandPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_8588 call Func_30e8 call Func_30db @@ -38487,22 +38449,22 @@ Func_20651: ; 0x20651 ld bc, $0008 call Func_7dc .asm_20700 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_16425 ret Func_2070b: ; 0x2070b - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_dc00 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10ca5 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10ac8 ld de, $0001 call PlaySong ld hl, wd629 call Func_e4a - ld [$ff8a], a + ld [hFarCallTempA], a callba SetPokemonOwnedFlag ld a, [wd624] cp $3 @@ -38523,9 +38485,9 @@ Func_20757: ; 0x20757 and a ret nz call Func_30e8 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_dc00 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10ac8 ld de, $0001 call PlaySong @@ -38547,7 +38509,7 @@ Func_2077b: ; 0x2077b jr nz, .asm_2078e call Func_20a55 .asm_2078e - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_107f8 ld a, [wd57e] and a @@ -38577,12 +38539,12 @@ Func_2077b: ; 0x2077b ld a, [wCurrentStage] bit 0, a jr z, .asm_207f5 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_14135 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_16425 .asm_207f5 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_86d2 call Func_30e8 call Func_30db @@ -38818,7 +38780,7 @@ Func_20977: ; 0x20977 ld [wIndicatorStates + 10], a ld a, [wCurrentStage] bit 0, a - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_14135) ld hl, Func_14135 call nz, BankSwitch @@ -38832,7 +38794,7 @@ Func_20977: ; 0x20977 call Func_7dc .asm_209bf ld bc, ThirtyMillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_8588 call Func_30e8 call Func_30db @@ -38870,7 +38832,7 @@ Func_209eb: ; 0x209eb ld [wIndicatorStates + 10], a ld a, [wCurrentStage] bit 0, a - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_14135) ld hl, Func_14135 call nz, BankSwitch @@ -38879,7 +38841,7 @@ Func_209eb: ; 0x209eb ld a, $2 ld [wd557], a ld bc, ThirtyMillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_8588 call Func_30e8 call Func_30db @@ -38915,7 +38877,7 @@ Func_20a65: ; 0x20a65 and a jr z, .asm_20a80 ld bc, OneMillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_8588 jr asm_20a9f @@ -38931,7 +38893,7 @@ Func_20a82: ; 0x20a82 and a jr z, .asm_20a9d ld bc, OneMillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_8588 jr asm_20a9f @@ -38951,7 +38913,7 @@ asm_20a9f: ld [wIndicatorStates + 10], a ld a, [wCurrentStage] bit 0, a - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_14135) ld hl, Func_14135 call nz, BankSwitch @@ -39055,7 +39017,7 @@ Func_20b02: ; 0x20b02 ld hl, rBGPI call Func_8e1 .asm_20b80 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10e0a call Func_3475 ld de, $0000 @@ -39063,7 +39025,7 @@ Func_20b02: ; 0x20b02 rst AdvanceFrame ld de, $2d26 call PlaySoundEffect - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10825 call Func_3475 ld a, $1 @@ -39107,14 +39069,11 @@ Func_20bae: ; 0x20bae ld a, [wd54d] call CallInFollowingTable PointerTable_20bfc: ; 0x20bfc - dw Func_20c08 - db Bank(Func_20c08), $00 + padded_dab Func_20c08 - dw Func_20d30 - db Bank(Func_20d30), $00 + padded_dab Func_20d30 - dw Func_20d7c - db Bank(Func_20d7c), $00 + padded_dab Func_20d7c Func_20c08: ; 0x20c08 ld a, [wCurrentStage] @@ -39144,12 +39103,12 @@ Func_20c08: ; 0x20c08 ld [wIndicatorStates + 3], a ld a, [wCurrentStage] bit 0, a - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_1c2cb) ld hl, Func_1c2cb call nz, BankSwitch ld bc, TenThousandPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_8588 call Func_30e8 call Func_30db @@ -39251,22 +39210,22 @@ Func_20c76: ; 0x20c76 ld bc, $0008 call Func_7dc .asm_20d25 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_1e8f6 ret Func_20d30: ; 0x20d30 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_dc00 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10ca5 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10ac8 ld de, $0001 call PlaySong ld hl, wd629 call Func_e4a - ld [$ff8a], a + ld [hFarCallTempA], a callba SetPokemonOwnedFlag ld a, [wd624] cp $3 @@ -39287,9 +39246,9 @@ Func_20d7c: ; 0x20d7c and a ret nz call Func_30e8 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_dc00 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10ac8 ld de, $0001 call PlaySong @@ -39311,7 +39270,7 @@ Func_20da0: ; 0x20da0 jr nz, .asm_20db3 call Func_21079 .asm_20db3 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_107f8 ld a, [wd57e] and a @@ -39341,12 +39300,12 @@ Func_20da0: ; 0x20da0 ld a, [wCurrentStage] bit 0, a jr z, .asm_20e1a - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_1c2cb - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_1e8f6 .asm_20e1a - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_86d2 call Func_30e8 call Func_30db @@ -39562,7 +39521,7 @@ Func_20f75: ; 0x20f75 ld [wIndicatorStates + 3], a ld a, [wCurrentStage] bit 0, a - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_1c2cb) ld hl, Func_1c2cb call nz, BankSwitch @@ -39576,7 +39535,7 @@ Func_20f75: ; 0x20f75 call Func_7dc .asm_20fc3 ld bc, ThirtyMillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_8588 call Func_30e8 call Func_30db @@ -39615,7 +39574,7 @@ Func_20fef: ; 0x20fef ld [wIndicatorStates + 3], a ld a, [wCurrentStage] bit 0, a - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_1c2cb) ld hl, Func_1c2cb call nz, BankSwitch @@ -39624,7 +39583,7 @@ Func_20fef: ; 0x20fef ld a, $2 ld [wd557], a ld bc, ThirtyMillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_8588 call Func_30e8 call Func_30db @@ -39647,7 +39606,7 @@ Func_2105c: ; 0x2105c and a jr z, .asm_21077 ld bc, OneMillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_8588 jr asm_210c7 @@ -39696,7 +39655,7 @@ Func_21089: ; 0x21089 and a jr z, .asm_210c5 ld bc, OneMillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_8588 jr asm_210c7 @@ -39716,7 +39675,7 @@ asm_210c7: ld [wIndicatorStates + 2], a ld a, [wCurrentStage] bit 0, a - ld [$ff8a], a + ld [hFarCallTempA], a ld a, Bank(Func_1c2cb) ld hl, Func_1c2cb call nz, BankSwitch @@ -39820,7 +39779,7 @@ Func_2112a: ; 0x2112a ld hl, rBGPI call Func_8e1 .asm_211a8 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10e0a call Func_3475 ld de, $0000 @@ -39828,7 +39787,7 @@ Func_2112a: ; 0x2112a rst AdvanceFrame ld de, $2d26 call PlaySoundEffect - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_10825 call Func_3475 ld a, $1 @@ -39866,7 +39825,7 @@ InitMeowthBonusStage: ; 0x24000 ld [wd713], a ld [wd739], a ld bc, $0100 ; 1 minute 0 seconds - ld [$ff8a], a + ld [hFarCallTempA], a callba StartTimer ld a, $12 call SetSongBank @@ -39961,13 +39920,13 @@ StartBallMeowthBonusStage: ; 0x24059 ret Func_24128: ; 0x24128 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_142fc call Func_2862 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_24fa3 call Func_24516 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_1404a ret @@ -40464,7 +40423,7 @@ Func_2442a: ; 0x2442a ld a, [wd712] cp $4 jr z, .asm_244c1 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_107f8 .asm_244c1 ld a, [wd57e] @@ -40475,7 +40434,7 @@ Func_2442a: ; 0x2442a ld a, $1 ld [wd7be], a call Func_2862 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_86d2 ld a, $1 ld [wd713], a @@ -40498,7 +40457,7 @@ Func_244f5: ; 0x244f5 ld a, $1 ld [wStageCollisionState], a ld [wd6e6], a - ld [$ff8a], a + ld [hFarCallTempA], a callba LoadStageCollisionAttributes call Func_24516 ret @@ -40560,7 +40519,7 @@ Func_245ab: ; 0x245ab ld de, $0033 call PlaySoundEffect ld bc, OneBillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba AddBCDScore xor a ld [wMeowthStageBonusCounter], a @@ -41736,7 +41695,7 @@ Func_24e7f: ; 0x24e7f .asm_24ea6 push af ld bc, TenMillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba AddBCDScore ld hl, wMeowthStageScore inc [hl] @@ -41897,26 +41856,26 @@ Data_25421: Func_2583b: ; 0x2583b ld bc, $7f65 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_175a4 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_e4a1 call Func_259fe call Func_25895 call Func_2595e call Func_2586c - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_17e81 call Func_25a39 ret Func_2586c: ; 0x2586c ld a, [wMeowthXPosition] - ld hl, hBoardXShift + ld hl, hSCX sub [hl] ld b, a ld a, [wMeowthYPosition] - ld hl, hBoardYShift + ld hl, hSCY sub [hl] ld c, a ld a, [wMeowthAnimationFrame] @@ -41951,11 +41910,11 @@ Func_25895: ; 0x25895 ld [wd716], a .asm_258b6 ld a, [wd71a] - ld hl, hBoardXShift + ld hl, hSCX sub [hl] ld b, a ld a, [wd727] - ld hl, hBoardYShift + ld hl, hSCY sub [hl] ld c, a ld a, [wd717] @@ -41974,11 +41933,11 @@ Func_25895: ; 0x25895 ld a, [hl] call LoadOAMData2 ld a, [wd71b] - ld hl, hBoardXShift + ld hl, hSCX sub [hl] ld b, a ld a, [wd728] - ld hl, hBoardYShift + ld hl, hSCY sub [hl] ld c, a ld a, [wd718] @@ -41997,11 +41956,11 @@ Func_25895: ; 0x25895 ld a, [hl] call LoadOAMData2 ld a, [wd71c] - ld hl, hBoardXShift + ld hl, hSCX sub [hl] ld b, a ld a, [wd729] - ld hl, hBoardYShift + ld hl, hSCY sub [hl] ld c, a ld a, [wd719] @@ -42044,11 +42003,11 @@ Func_2595e: ; 0x2595e ld [wd720], a .asm_2597f ld a, [wd724] - ld hl, hBoardXShift + ld hl, hSCX sub [hl] ld b, a ld a, [wd731] - ld hl, hBoardYShift + ld hl, hSCY sub [hl] ld c, a ld a, [wd721] @@ -42067,11 +42026,11 @@ Func_2595e: ; 0x2595e ld a, [hl] call LoadOAMData2 ld a, [wd725] - ld hl, hBoardXShift + ld hl, hSCX sub [hl] ld b, a ld a, [wd732] - ld hl, hBoardYShift + ld hl, hSCY sub [hl] ld c, a ld a, [wd722] @@ -42090,11 +42049,11 @@ Func_2595e: ; 0x2595e ld a, [hl] call LoadOAMData2 ld a, [wd726] - ld hl, hBoardXShift + ld hl, hSCX sub [hl] ld b, a ld a, [wd733] - ld hl, hBoardYShift + ld hl, hSCY sub [hl] ld c, a ld a, [wd723] @@ -42120,13 +42079,13 @@ Func_259fe: ; 0x259fe ret z ld de, wd79c ld a, [de] - ld hl, hBoardXShift + ld hl, hSCX sub [hl] ld b, a inc de inc de ld a, [de] - ld hl, hBoardYShift + ld hl, hSCY sub [hl] ld c, a dec de @@ -42153,11 +42112,11 @@ Func_25a39: ; 0x25a39 and a ret z ld a, [wd652] - ld hl, hBoardXShift + ld hl, hSCX sub [hl] ld b, a xor a - ld hl, hBoardYShift + ld hl, hSCY sub [hl] ld c, a ld a, [wd64f] @@ -42219,7 +42178,7 @@ InitSeelBonusStage: ; 0x25a7c ld [wd792], a ld [wd739], a ld bc, $0130 ; 1 minute 30 seconds - ld [$ff8a], a + ld [hFarCallTempA], a callba StartTimer ld a, $11 call SetSongBank @@ -42312,13 +42271,13 @@ StartBallSeelBonusStage: ; 0x25af1 ret Func_25b97: ; 0x25b97 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_142fc call Func_2862 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_262f4 call Func_25d0e - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_1404a ret @@ -42453,7 +42412,7 @@ Func_25c5a: ; 0x25c5a ld a, [wd794] cp $2 jr z, .asm_25cc1 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_107f8 .asm_25cc1 ld a, [wd57e] @@ -42464,7 +42423,7 @@ Func_25c5a: ; 0x25c5a ld a, $1 ld [wd7be], a call Func_2862 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_86d2 ld a, $3 ld [wd791], a @@ -42485,7 +42444,7 @@ Func_25ced: ; 0x25ced ld a, $1 ld [wStageCollisionState], a ld [wd766], a - ld [$ff8a], a + ld [hFarCallTempA], a callba LoadStageCollisionAttributes call Func_25d0e ret @@ -42645,7 +42604,7 @@ Func_25e85: ; 0x25e85 cp $32 jr nc, .asm_25ead ld bc, TenMillionPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba AddBCDScore pop de dec d @@ -42653,7 +42612,7 @@ Func_25e85: ; 0x25e85 .asm_25ead ld bc, FiftyThousandPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba AddBCDScore pop de ld a, d @@ -43271,12 +43230,12 @@ Data_26764: Func_26b7e: ; 0x26b7e ld bc, $7f65 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_175a4 call Func_26bf7 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_e4a1 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_17e81 call Func_26ba9 call Func_26c3c @@ -43293,13 +43252,13 @@ Func_26ba9: ; 0x26ba9 Func_26bbc: ; 0x26bbc ld a, [de] - ld hl, hBoardXShift + ld hl, hSCX sub [hl] ld b, a inc de inc de ld a, [de] - ld hl, hBoardYShift + ld hl, hSCY sub [hl] ld c, a dec de @@ -43327,13 +43286,13 @@ Func_26bf7: ; 0x26bf7: ; 0x26bf7 ret z ld de, wd79c ld a, [de] - ld hl, hBoardXShift + ld hl, hSCX sub [hl] ld b, a inc de inc de ld a, [de] - ld hl, hBoardYShift + ld hl, hSCY sub [hl] ld c, a dec de @@ -43360,11 +43319,11 @@ Func_26c3c: ; 0x26c3c and a ret z ld a, [wd652] - ld hl, hBoardXShift + ld hl, hSCX sub [hl] ld b, a xor a - ld hl, hBoardYShift + ld hl, hSCY sub [hl] ld c, a ld a, [wd64f] @@ -43412,7 +43371,7 @@ PointerTable_28004: ; 0x28004 LoadPokedexScreen: ; 0x2800e ld a, $23 - ld [$ff9e], a + ld [hLCDC], a ld a, $e4 ld [wd80c], a ld a, $93 @@ -43420,9 +43379,9 @@ LoadPokedexScreen: ; 0x2800e ld a, $e4 ld [wd80e], a xor a - ld [hBoardXShift], a + ld [hSCX], a ld a, $8 - ld [hBoardYShift], a + ld [hSCY], a ld a, $7 ld [hWX], a ld a, $8c @@ -43430,14 +43389,14 @@ LoadPokedexScreen: ; 0x2800e ld a, $3b ld [hLYC], a ld [hLastLYC], a - ld [$ffa9], a - ld [$ffaa], a + ld [hNextLYCSub], a + ld [hLYCSub], a ld hl, hSTAT set 6, [hl] ld hl, rIE set 1, [hl] ld a, $2 - ld [$ffb0], a + ld [hHBlankRoutine], a ld hl, PointerTable_280a2 ld a, [hGameBoyColorFlag] call LoadVideoData @@ -44193,7 +44152,7 @@ Func_286dd: ; 0x286dd ld a, c and a jr nz, .asm_28719 - ld hl, $ffab + ld hl, hNextFrameHBlankSCX dec [hl] dec [hl] dec [hl] @@ -44201,7 +44160,7 @@ Func_286dd: ; 0x286dd ret .asm_28719 - ld hl, $ffab + ld hl, hNextFrameHBlankSCX inc [hl] inc [hl] inc [hl] @@ -44229,7 +44188,7 @@ Func_28721: ; 0x28721 ld l, a pop af call Func_28aaa - ld hl, $ffab + ld hl, hNextFrameHBlankSCX dec [hl] dec [hl] dec [hl] @@ -44251,7 +44210,7 @@ Func_28721: ; 0x28721 ld l, a pop af call Func_28aaa - ld hl, $ffab + ld hl, hNextFrameHBlankSCX inc [hl] inc [hl] inc [hl] @@ -44278,7 +44237,7 @@ Func_28765: ; 0x28765 ld e, a ld a, [hli] ld d, a - ld hl, $ffab + ld hl, hNextFrameHBlankSCX dec [hl] dec [hl] dec [hl] @@ -44304,7 +44263,7 @@ Func_28765: ; 0x28765 ld e, a ld a, [hli] ld d, a - ld hl, $ffab + ld hl, hNextFrameHBlankSCX inc [hl] inc [hl] inc [hl] @@ -44412,13 +44371,13 @@ Func_2887c: ; 0x2887c ld a, $3f ld [hLYC], a ld a, $47 - ld [$ffa9], a + ld [hNextLYCSub], a ld b, $33 .asm_28894 push bc ld a, $7a sub b - ld [$ffa9], a + ld [hNextLYCSub], a rst AdvanceFrame pop bc dec b @@ -44433,7 +44392,7 @@ Func_288a2: ; 0x288a2 push bc ld a, $44 add b - ld [$ffa9], a + ld [hNextLYCSub], a rst AdvanceFrame pop bc dec b @@ -44442,7 +44401,7 @@ Func_288a2: ; 0x288a2 jr nz, .asm_288a4 ld a, $3b ld [hLYC], a - ld [$ffa9], a + ld [hNextLYCSub], a ld a, BANK(Data_c5100) ld hl, Data_c5100 ld de, $9900 @@ -44777,7 +44736,7 @@ Func_28ad1: ; 0x28ad1 swap a and $f0 sub $3c - ld [$ffab], a + ld [hNextFrameHBlankSCX], a ret Func_28add: ; 0x28add @@ -47524,9 +47483,9 @@ InitRedField: ; 0x30000 ld [wIndicatorStates + 3], a ld a, $82 ld [wIndicatorStates + 1], a - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_dbba - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_16f95 ld a, $f call SetSongBank @@ -47598,7 +47557,7 @@ StartBallRedField: ; 0x3007d ld [wd4f1], a ld a, $3 ld [wd610], a - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_16f95 ld a, $f call SetSongBank @@ -47643,7 +47602,7 @@ Func_30164: ; 0x30164 .asm_30175 ld bc, OneHundredThousandPoints - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_8588 ld a, $2 ld [wd4ca], a @@ -47690,26 +47649,20 @@ Func_301ce: ; 0x301ce call CallInFollowingTable PointerTable_301d4: ; 0x301d4 ; STAGE_RED_FIELD_TOP - dw Func_314ae - db Bank(Func_314ae), $00 + padded_dab Func_314ae ; STAGE_RED_FIELD_BOTTOM - dw Func_314ae - db Bank(Func_314ae), $00 + padded_dab Func_314ae - dw Func_314ae - db Bank(Func_314ae), $00 + padded_dab Func_314ae - dw Func_314ae - db Bank(Func_314ae), $00 + padded_dab Func_314ae ; STAGE_BLUE_FIELD_TOP - dw Func_3161b - db Bank(Func_3161b), $00 + padded_dab Func_3161b ; STAGE_BLUE_FIELD_BOTTOM - dw Func_3161b - db Bank(Func_3161b), $00 + padded_dab Func_3161b StartMapMoveMode: ; 0x301ec ld a, [wInSpecialMode] @@ -47722,7 +47675,7 @@ StartMapMoveMode: ; 0x301ec xor a ld [wd54d], a ld bc, $0030 ; 30 seconds - ld [$ff8a], a + ld [hFarCallTempA], a callba StartTimer ld a, [wCurrentStage] bit 0, a @@ -47757,7 +47710,7 @@ Func_3022b: ; 0x3022b xor a ld [wInSpecialMode], a ld [wSpecialMode], a - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_86d2 ld a, [wCurrentStage] rst JumpTable ; calls JumpToFuncInTable @@ -48024,10 +47977,10 @@ Func_311b4: ; 0x311b4 .asm_311e2 ld a, $2 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_149d9 ld a, $5 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_149d9 ld a, $6a ld [wc7f0], a @@ -48037,7 +47990,7 @@ Func_311b4: ; 0x311b4 ld [wc7e3], a ld a, $67 ld [wc803], a - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_107b0 ld a, $4 ld [wd7ad], a @@ -48046,27 +47999,27 @@ Func_311b4: ; 0x311b4 ld a, [wCurrentStage] bit 0, a ret z - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_14135 ret Func_31234: ; 0x31234 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_107a5 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_107c2 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_107c8 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_107e9 ld a, [wCurrentStage] bit 0, a ret z - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_14135 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_16425 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_30253 ret @@ -48182,7 +48135,7 @@ Func_31326: ; 0x31326 ld [wIndicatorStates + 3], a ld [wIndicatorStates + 4], a ld a, $3 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_1de4b jr .asm_31382 @@ -48195,13 +48148,13 @@ Func_31326: ; 0x31326 ld [wIndicatorStates + 2], a ld [wIndicatorStates + 4], a ld a, $1 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_1de4b ld a, $6 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_1de4b ld a, $7 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_1de6f .asm_31382 ld a, [wCurrentStage] @@ -48218,34 +48171,34 @@ Func_31326: ; 0x31326 .asm_3139d ld a, $1 ld [wd644], a - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_1f2ed ld de, $0003 call PlaySong ld a, [wCurrentStage] bit 0, a ret z - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_1c2cb ret Func_313c3: ; 0x313c3 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_107a5 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_107c2 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_1f2ff ld a, $0 ld [wd644], a ld a, [wCurrentStage] bit 0, a ret z - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_1c2cb - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_1e8f6 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_30253 ret @@ -48369,17 +48322,13 @@ Func_314ae: ; 0x314ae ld a, [wd54d] call CallInFollowingTable PointerTable_314df: ; 0xd13df - dw Func_314ef - db Bank(Func_314ef), $00 + padded_dab Func_314ef - dw Func_314f1 - db Bank(Func_314f1), $00 + padded_dab Func_314f1 - dw Func_314f3 - db Bank(Func_314f3), $00 + padded_dab Func_314f3 - dw Func_31505 - db Bank(Func_31505), $00 + padded_dab Func_31505 Func_314ef: ; 0x314ef scf @@ -48390,7 +48339,7 @@ Func_314f1: ; 0x314f1 ret Func_314f3: ; 0x314f3 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_3022b ld de, $0001 call PlaySong @@ -48402,7 +48351,7 @@ Func_31505: ; 0x31505 and a ret nz call Func_30e8 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_3022b ld de, $0001 call PlaySong @@ -48413,7 +48362,7 @@ Func_3151f: ; 0x3151f ld a, $50 ld [wd4ef], a ld [wd4f1], a - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_107f8 ld a, [wd57e] and a @@ -48432,14 +48381,14 @@ Func_3151f: ; 0x3151f ld a, [wCurrentStage] bit 0, a jr z, .asm_31577 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_14135 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_16425 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_30253 .asm_31577 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_86d2 call Func_30e8 call Func_30db @@ -48490,17 +48439,17 @@ Func_315d5: ; 0x315d5 ld de, $0000 call PlaySong rst AdvanceFrame - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_31281 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_30253 ld de, $2525 call PlaySoundEffect ld bc, Data_2cbf - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_3118f .asm_31603 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_33e3 rst AdvanceFrame ld a, [wd5ca] @@ -48537,17 +48486,13 @@ Func_3161b: ; 0x3161b ld a, [wd54d] call CallInFollowingTable PointerTable_3164c: ; 0x3164c - dw Func_3165c - db Bank(Func_3165c), $00 + padded_dab Func_3165c - dw Func_3165e - db Bank(Func_3165e), $00 + padded_dab Func_3165e - dw Func_31660 - db Bank(Func_31660), $00 + padded_dab Func_31660 - dw Func_31672 - db Bank(Func_31672), $00 + padded_dab Func_31672 Func_3165c: ; 0x3165c scf @@ -48558,7 +48503,7 @@ Func_3165e: ; 0x3165e ret Func_31660: ; 0x31660 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_3022b ld de, $0001 call PlaySong @@ -48570,7 +48515,7 @@ Func_31672: ; 0x31672 and a ret nz call Func_30e8 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_3022b ld de, $0001 call PlaySong @@ -48585,7 +48530,7 @@ Func_3168c: ; 0x3168c ld [wd645], a ld a, $1 ld [wd646], a - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_107f8 ld a, [wd57e] and a @@ -48604,14 +48549,14 @@ Func_3168c: ; 0x3168c ld a, [wCurrentStage] bit 0, a jr z, .asm_316ee - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_1c2cb - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_1e8f6 - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_30253 .asm_316ee - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_86d2 call Func_30e8 call Func_30db @@ -48662,17 +48607,17 @@ Func_3174c: ; 0x3174c ld de, $0000 call PlaySong rst AdvanceFrame - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_3140b - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_30253 ld de, $2525 call PlaySoundEffect ld bc, Data_2cbf - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_3118f .asm_3177a - ld [$ff8a], a + ld [hFarCallTempA], a callba Func_33e3 rst AdvanceFrame ld a, [wd5ca] -- cgit v1.2.3 From 005f23cb0cf968dfbfea6892e1e2a99b43d9c2df Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 7 Dec 2016 00:11:59 -0500 Subject: Disassemble some unreferenced functions in bank 0 --- main.asm | 376 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 368 insertions(+), 8 deletions(-) diff --git a/main.asm b/main.asm index 6aaa76a..3d9be08 100755 --- a/main.asm +++ b/main.asm @@ -42,7 +42,7 @@ SECTION "Header", ROM0 [$104] ; The space here is allocated to prevent code from being overwritten. ds $150 - $104 -SECTION "Main", ROM0 +SECTION "Main", ROM0 [$150] Start: ; 0x150 ld [hGameBoyColorFlag], a @@ -171,7 +171,83 @@ Func_23b: ; 0x23b ld [$fffd], a ret - dr $24e, $2f2 +SoftReset: + di + ld sp, hGameBoyColorFlag + xor a + ld [rIF], a + ld bc, $2 + call Func_948 + ld hl, wc000 + ld bc, $2000 + call ClearData + ld hl, $8000 + ld bc, $1000 + call ClearData + ld a, $a + ld [MBC5SRamEnable], a + ld a, $1 + ld [MBC5RomBank], a + ld a, $0 + ld [MBC5RomBankOn], a + ld a, $0 + ld [MBC5SRamBank], a + ld a, $1 + ld [hLoadedROMBank], a + ld a, $1 + ld [MBC5RomBankOn], a + ld a, $0 + ld [MBC5SRamBank], a + ld sp, wdfff + call WriteDMACodeToHRAM + call ClearOAMBuffer + xor a + ld [wd7fb], a + ld [wd7fc], a + ld [wd7fd], a + ld [hHBlankRoutine], a + ld [$ffb1], a + ld [wd8e1], a + ld [wd7fe], a + ld hl, hLCDC + xor a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld a, $8f + ld [hli], a + ld a, $a6 + ld [hli], a + ld a, $0 + ld [wd849], a + ld [wd84a], a + ld a, $f + call SetSongBank + ld a, [$fffb] + and a + jr z, .asm_02d5 + ld a, $1 + ld [wd917], a +.asm_02d5 + ld a, $1 + ld [rIE], a + ei + ld a, $ff + ld [wd810], a + call Func_97a + ld a, [hGameBoyColorFlag] + ld [$fffd], a + xor a + ld [wdaa3], a + ld a, $0 + ld hl, Func_1ffc + call BankSwitchSimple + ; fallthrough VBlank: ; 0x2f2 push af @@ -302,7 +378,26 @@ VBlank: ; 0x2f2 pop af reti - dr $3c3, $3ec +Func_3c3: + ld a, [rLCDC] + bit 7, a + jr z, .asm_03cf + call Func_cb5 + call Func_576 +.asm_03cf + ld hl, hSTAT + res 6, [hl] + ld hl, rIE + res 1, [hl] + xor a + ld [MBC5SRamEnable], a + ld [rSB], a + ld [rSC], a + ld [rIE], a + ld [rNR52], a + ld a, [$fffd] + ld [hGameBoyColorFlag], a + jp SoftReset LCD: ; 0x3ec push af @@ -670,7 +765,19 @@ Func_5c2: ; 0x5c2 ret Data_5e1: - dr $5e1, $5f7 + dr $5e1, $5e9 + +Func_5e9: + ld a, [rIE] + res 0, a + ld [rIE], a + ret + +Func_5f0: + ld a, [rIE] + set 0, a + ld [rIE], a + ret WriteDMACodeToHRAM: ; 0x5f7 ; Initializes registers hPushOAM - hFarCallTempA @@ -742,7 +849,19 @@ Func_63e: ; 0xc3e jr z, .asm_63f ret - dr $646, $654 +Func_646: + srl b + rr c +.asm_064a + ld a, e + ld [hli], a + ld a, d + ld [hli], a + dec bc + ld a, b + or c + jr nz, .asm_064a + ret ClearData: ; 0x654 ; Clears bc bytes starting at hl. @@ -1428,7 +1547,12 @@ Func_97a: ; 0x97a ret Data_9c4: - dr $9c4, $9fa + db $14, $29, $07, $1c, $31, $0f, $24, $02, $17 + db $2c, $0a, $1f, $34, $12, $27, $05, $1a, $2f + db $0d, $22, $00, $15, $2a, $08, $1d, $32, $10 + db $25, $03, $18, $2d, $0b, $20, $35, $13, $28 + db $06, $1b, $30, $0e, $23, $01, $16, $2b, $09 + db $1e, $33, $11, $26, $04, $19, $2e, $0c, $21 Func_9fa: ; 0x9fa ld a, [wd810] @@ -1477,7 +1601,14 @@ Func_a21: ; 0xa21 ret Data_a38: - dr $a38, $ab8 +x = 0 +REPT 128 + db x +x = x + 2 +IF x == $80 +x = x + 1 +ENDC +ENDR ReadJoypad: ; 0xab8 ; Reads the current state of the joypad and saves the state into @@ -2790,7 +2921,236 @@ Func_118d: ; 0x118d ld [rVBK], a ret - dr $1198, $12a1 +Func_1198: + ld h, d + ld l, e +.asm_119a + ld a, [hli] + and a + ret z + ld b, a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + srl b + jr nc, .asm_11a8 + ld a, [hli] + ld c, a +.asm_11a8 + push hl + ld h, d + ld l, e + ld a, c +.asm_11ac + ld [hli], a + inc a + dec b + jr nz, .asm_11ac + ld c, a + pop hl + jr .asm_119a + +Func_11b5: ; 11b5 (0:11b5) + ld h, d + ld l, e +.asm_11b7 + ld a, [hli] + and a + ret z + ld b, a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] +.asm_11c0 + ld [de], a + inc de + dec b + jr nz, .asm_11c0 + jr .asm_11b7 + +Func_11c7: + ld a, $1 + ld [rVBK], a + call Func_11b5 + xor a + ld [rVBK], a + ret + +Func_11d2: + ld h, d + ld l, e + ld a, [hLoadedROMBank] + ld [$ff94], a +.asm_11d8 + ld a, [hli] + and a + ret z + ld [$ff95], a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hli] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + push hl + ld h, b + ld l, c + ld a, [$ff95] + ld b, a +.asm_11f1 + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc de + dec b + jr nz, .asm_11f1 + pop hl + ld a, [$ff94] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + jr .asm_11d8 + +Func_122e: + ld a, $1 + ld [rVBK], a + ld h, d + ld l, e + ld a, [hLoadedROMBank] + ld [$ff94], a +.asm_1238 + ld a, [hli] + and a + jr nz, .asm_1240 + xor a + ld [rVBK], a + ret + +.asm_1240 + ld [$ff95], a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hli] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + push hl + ld h, b + ld l, c + ld a, [$ff95] + ld b, a +.asm_1256 + ld a, [hli] + ld [de], a + inc de + dec b + jr nz, .asm_1256 + pop hl + ld a, [$ff94] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + jr .asm_1238 + +Func_1266: + ld h, d + ld l, e +.asm_1268 + ld a, [hli] + and a + ret z + ld [$ff94], a + ld a, [hli] + bit 6, a + ld de, rBGPI + jr z, .asm_127a + res 6, a + ld de, rOBPI +.asm_127a + set 7, a + ld [de], a + inc de + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hLoadedROMBank] + push af + ld a, [hli] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + push hl + ld h, b + ld l, c + ld a, [$ff94] + ld b, a +.asm_1291 + ld a, [hli] + ld [de], a + ld a, [hli] + ld [de], a + dec b + jr nz, .asm_1291 + pop hl + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + jr .asm_1268 Func_12a1: ; 0x12a1 ld [hROMBankBuffer], a -- cgit v1.2.3 From e6882824b2a3c41a466d349c93915250b42666a6 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 7 Dec 2016 00:35:01 -0500 Subject: Finish unreferenced functions and data in bank 0 --- main.asm | 424 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 404 insertions(+), 20 deletions(-) diff --git a/main.asm b/main.asm index 3d9be08..7baddcd 100755 --- a/main.asm +++ b/main.asm @@ -3429,8 +3429,258 @@ Func_14a4: ; 0x14a4 ld [$fffc], a ret - dr $14c4, $167b +Func_14c4: ; 14c4 (0:14c4) + ld a, [wd8dc] + and a + jp nz, Func_165f + ld a, [wd8ad] + cp $7 + jp z, Func_1612 + ld a, [wd8af] + and a + jr nz, .asm_14df + call Func_1502 + jp Func_1663 + +.asm_14df + ld a, [wd8b0] + and a + jr z, .asm_14fc + ld a, [wd8b1] + and a + jr z, .asm_14fc + ld a, [wd8b2] + cp $2 + jr z, .asm_14f7 + call Func_15e1 + jr .asm_14ff + +.asm_14f7 + call Func_15f8 + jr .asm_14ff + +.asm_14fc + call Func_1527 +.asm_14ff + jp Func_1663 + +Func_1502: ; 1502 (0:1502) + ld hl, wd8b9 + ld c, [hl] + inc [hl] + ld b, $0 + ld hl, Data_18ff + add hl, bc + ld a, [hl] + ld [rSB], a + ld a, $1 + ld [rSC], a + ld a, $81 + ld [rSC], a + ld a, [wd8b9] + cp $2 + ret nz + xor a + ld [wd8b9], a + inc a + ld [wd8af], a + ret + +Func_1527: ; 1527 (0:1527) + ld a, [wd8b9] + ld c, a + ld a, [wd8ba] + ld b, a + ld a, [wd8bb] + ld l, a + ld a, [wd8bc] + ld h, a + add hl, bc + ld a, [rSB] + ld [wd8c8 + 1], a + ld a, [hl] + ld [rSB], a + ld l, a + ld a, [wd8c3] + add l + ld [wd8c3], a + ld a, [wd8c4] + adc $0 + ld [wd8c4], a + ld a, $1 + ld [rSC], a + ld a, $81 + ld [rSC], a + ld hl, wd8b9 + inc [hl] + jr nz, .asm_1560 + inc hl + inc [hl] +.asm_1560 + ld hl, wd8b9 + ld a, [wd8b3] + cp [hl] + jr nz, .asm_1570 + inc hl + ld a, [wd8b4] + cp [hl] + jr z, .asm_1572 +.asm_1570 + jr .asm_15b0 + +.asm_1572 + ld hl, wd8b0 + ld a, [hl] + and a + jr z, .asm_157c + ld hl, wd8b1 +.asm_157c + inc [hl] + ld a, [wd8cc] + and a + jr z, .asm_15b5 + ld a, [wd8ad] + cp $6 + jr z, .asm_15b5 + ld hl, wd8b1 + ld a, [hl] + and a + jr nz, .asm_15b1 + xor a + ld [wd8b9], a + ld [wd8ba], a + ld a, [wd8bf] + ld [wd8bb], a + ld a, [wd8c0] + ld [wd8bc], a + ld a, [wd8b7] + ld [wd8b3], a + ld a, [wd8b8] + ld [wd8b4], a +.asm_15b0 + ret + +.asm_15b1 + call Func_15c8 + ret + +.asm_15b5 + ld a, [wd8c8 + 1] + ld [wd8c8], a +asm_15bb + ld a, $7 + ld [wd8ad], a + ld a, $1 + ld [wd8c5], a + call Func_16bf +Func_15c8: ; 15c8 (0:15c8) + ld a, [wd8b5] + ld [wd8b3], a + ld a, [wd8b6] + ld [wd8b4], a + ld a, [wd8bd] + ld [wd8bb], a + ld a, [wd8be] + ld [wd8bc], a + ret + +Func_15e1: ; 15e1 (0:15e1) + ld c, a + ld b, $0 + ld hl, wd8c3 + add hl, bc + ld a, [hl] + ld [rSB], a + ld a, $1 + ld [rSC], a + ld a, $81 + ld [rSC], a + ld hl, wd8b2 + inc [hl] + ret + +Func_15f8: ; 15f8 (0:15f8) + ld a, [rSB] + ld [wd8c8], a + xor a + ld [rSB], a + ld a, $1 + ld [rSC], a + ld a, $81 + ld [rSC], a + ld hl, wd8c6 + inc [hl] + ld a, [hl] + cp $2 + jr z, asm_15bb + ret + +Func_1612: ; 1612 (0:1612) + ld a, [wd8cb] + ld [wd8ae], a + ld a, [wd8c7] + ld [wd86e + 2], a + cp $ff + jr z, .asm_1625 + ld [wd86e + 1], a +.asm_1625 + ld a, [rSB] + ld [wd8c7], a + cp $ff + jr nz, .asm_163a + ld a, $0 + ld [wd8db], a + ld [wd8ad], a + ld a, $2 + jr .asm_1652 + +.asm_163a + bit 1, a + jr z, .asm_1643 + ld a, $1 + ld [wd8e2], a +.asm_1643 + bit 4, a + ld a, $0 + ld [wd8ad], a + ld a, $1 + jr nz, .asm_1651 + ld [wd8ad], a +.asm_1651 + inc a +.asm_1652 + ld [wd8c5], a + ld a, [wd8cc] + and a + jr nz, Func_165f + xor a + ld [wd8db], a +Func_165f: ; 165f (0:165f) + ret + +Func_1660: + xor a + ld [rSC], a +Func_1663: ; 1663 (0:1663) + ret +Func_1664: + push af + ld a, [rSC] + bit 7, a + jr nz, .asm_1679 + push bc + push de + push hl + ld a, $1 + ld [wd8ca], a + call Func_14c4 + pop hl + pop de + pop bc +.asm_1679 + pop af + reti Func_167b: ; 0x167b ld a, [wd8ad] cp $1 @@ -3452,7 +3702,11 @@ Func_167b: ; 0x167b call Func_18ac ret - dr $169d, $16a2 +Func_169d: + xor a + ld [rSC], a + ld [rSB], a + ; fallthrough Func_16a2: ; 0x16a2 xor a @@ -3530,6 +3784,7 @@ Func_16fd: ; 0x16fd scf ret +.asm_1730 xor a ld [wd8ae], a dec a @@ -3731,7 +3986,36 @@ Func_1779: ; 0x1779 call Func_19d7 jp Func_19e5 - dr $1879, $18ac +Func_1879: + ld a, [wd8ad] + cp $1 + jr z, .asm_188b + cp $3 + jr z, .asm_188b + and a + ld a, $ff + ret z + ld a, $f0 + ret + +.asm_188b + ld a, [wd8db] + and a + jr z, .asm_1895 + call Func_16fd + ret nc +.asm_1895 + ld a, [wd8ae] + cp $4 + jr nz, .asm_18a0 + call Func_16fd + ret nc +.asm_18a0 + ld a, [wd8c7] + cp $ff + ret z + call Func_19bd + jp Func_19e5 Func_18ac: ; 0x18ac ld a, [wd8ad] @@ -3779,6 +4063,7 @@ Func_18d4: ; 0x18d4 call Func_16bf ret +Data_18ff: dr $18ff, $1901 Data_1901: @@ -3788,7 +4073,10 @@ Data_1909: dr $1909, $190d Data_190d: - dr $190d, $191d + dr $190d, $1915 + +Data_1915: + dr $1915, $191d Data_191d: dr $191d, $1925 @@ -3866,7 +4154,12 @@ Func_1989: ; 0x1989 ld [wd8d0], a ret - dr $19bd, $19ca +Func_19bd: ; 19bd (0:19bd) + ld a, $4 + ld d, $0 + ld hl, Data_1915 + ld bc, $8 + jp Func_18d4 Func_19ca: ; 0x19ca ld a, $5 @@ -4277,13 +4570,27 @@ Func_1c32: ; 0x1c32 jr nz, .asm_1c35 ret - dr $1c39, $1c50 +Func_1c39: + xor a + ld [hNumFramesSinceLastVBlank], a + ld a, $1 + ld [wd8e9], a +.asm_1c41 + ld b, $2 + ld c, rRP % $100 + ld a, [$ff00+c] + and b + jr z, Func_1c50 + ld a, [hNumFramesSinceLastVBlank] + and a + jr nz, Func_1ca1 + jr .asm_1c41 Func_1c50: ; 0x1c50 ld a, $1 ld [wd8e9], a ld b, $1a - ld c, $56 + ld c, rRP % $100 ld d, $0 ld e, d call Func_1c23 @@ -4325,7 +4632,7 @@ Func_1ca1: ; 0x1ca1 ld a, $2 ld [wd8e9], a ld b, $1a - ld c, $56 + ld c, rRP % $100 ld d, b ld e, $0 call Func_1c32 @@ -4363,7 +4670,12 @@ Func_1ca1: ; 0x1ca1 ld [wd8ea], a ret - dr $1cef, $1cf8 +Func_1cef: + xor a + ld [rRP], a + ld a, $ff + ld [wd8ea], a + ret Func_1cf8: ; 0x1cf8 xor a @@ -4404,7 +4716,7 @@ Func_1d44: ; 0x1d44 ld a, [wd8ea] cp $0 ret nz - ld c, $56 + ld c, rRP % $100 ld d, $16 call Func_1c2b ld d, $16 @@ -4477,7 +4789,11 @@ Func_1dc2: ; 0x1dc2 ld [wd8ea], a ret - dr $1dc8, $1dd1 +Func_1dc8: + ld a, [wd8ea] + or $1 + ld [wd8ea], a + ret Func_1dd1: ; 0x1dd1 ld a, [wd8ea] @@ -4540,7 +4856,7 @@ Func_1e3b: ; 0x1e3b ld a, [wd8ea] cp $0 ret nz - ld c, $56 + ld c, rRP % $100 ld d, $0 call Func_1c23 ld a, d @@ -4623,7 +4939,13 @@ Func_1e3b: ; 0x1e3b call Func_1c32 ret - dr $1ec9, $1ed3 +Func_1ec9: + ld b, $00 + jp Func_1cf8 + +Func_1ece: + ld b, $00 + jp Func_1dda Func_1ed3: ; 0x1ed3 ret @@ -4635,7 +4957,37 @@ Func_1ed4: ; 0x1ed4 .asm_1ed8 ret - dr $1ed9, $1f0b +Func_1ed9: + push bc + push de + push hl + ld e, a + ld d, $0 + sla e + rl d + ld a, [hLoadedROMBank] + push af + ld a, BANK(Data_8f06) + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld hl, Data_8f06 + jr asm_1f3b + +Func_1ef2: + push bc + push de + push hl + ld e, a + ld d, $0 + sla e + rl d + ld a, [hLoadedROMBank] + push af + ld a, BANK(Data_8f06) + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld hl, Data_8f06 + jr asm_1f3b LoadOAMData2: ; 0x1f0b ; This function loads OAM data, but it adds b and c to the x and y values @@ -5150,15 +5502,15 @@ AddVelocityToPosition: ; 0x21c3 ld a, [de] bit 7, a jr nz, .asm_21d1 - cp $5 + cp 1+4 jr c, .asm_21da ld bc, $04ff jr .asm_21de .asm_21d1 - cp $fc + cp -4 jr nc, .asm_21da - ld bc, $fb01 + ld bc, -$04ff jr .asm_21de .asm_21da @@ -6959,7 +7311,27 @@ Func_3556: ; 0x3556 ld b, a ret - dr $3567, $3579 +Func_3567: + ld a, l + add c + daa + ld l, a + ld a, h + adc b + daa + ld h, a + ret + +Func_3570: + ld a, l + add e + daa + ld l, a + ld a, h + adc d + daa + ld h, a + ret Func_3579: ; 0x3579 ld hl, wd47a @@ -7211,7 +7583,7 @@ Data_372d: dw TiltUpRightForce dw TiltUpOnlyForce - dr $373d, $3800 +SECTION "bank0.2", ROM0 [$3800] Data_3800: dr $3800, $3980 @@ -7225,7 +7597,19 @@ Data_3b00: Data_3c80: dr $3c80, $3e00 - dr $3e00, $4000 +SquaresLow: +x = 0 +rept 256 + db (x * x) % $100 +x = x + 1 +endr + +SquaresHigh: +x = 0 +rept 256 + db (x * x) / $100 +x = x + 1 +endr SECTION "bank1", ROMX, BANK[$1] -- cgit v1.2.3 From e12acedc20d80ecd904928da434b6e1abff7bdea Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 7 Dec 2016 08:19:53 -0500 Subject: Unreferenced functions and data in bank 2 --- main.asm | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- wram.asm | 5 ++++- 2 files changed, 62 insertions(+), 4 deletions(-) diff --git a/main.asm b/main.asm index 7baddcd..ae02c98 100755 --- a/main.asm +++ b/main.asm @@ -11840,7 +11840,32 @@ PointerTable_84bd: ; 0x84bd ; STAGE_SEEL_BONUS padded_dab Func_26b7e - dr $84fd, $8524 +Func_84fd: + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_850d + ld a, $1 + ld [rVBK], a + xor a + call Func_8519 + xor a + ld [rVBK], a +.asm_850d + ld a, $81 + call Func_8519 + ld de, wc647 + call Func_8524 + ret + +Func_8519: ; 8519 (2:4519) + ld hl, $9c00 + ld b, $20 +.asm_851e + ld [hli], a + ld [hli], a + dec b + jr nz, .asm_851e + ret Func_8524: ; 0x8524 ld hl, wd46f @@ -11891,7 +11916,17 @@ Func_8543: ; 0x8543 res 7, e ret - dr $8569, $8576 +Func_8569: + xor a + ld hl, wd400 + ld b, $31 +.asm_856f + ld [hli], a + ld [hli], a + dec b + jr nz, .asm_856f + ld [hli], a + ret AddBCDScore: ; 0x8576 ld h, b @@ -13450,7 +13485,27 @@ Func_8ee0: ; 0x8ee0 ret Data_8f06: - dr $8f06, $a000 + +SECTION "bank2.2", ROMX [$5800], BANK[$2] +Data_9800: + +macro_9800: MACRO +x = 0 +rept \1 +y = 0 +rept $100 / \1 + db (x + y) & $ff +y = y + \1 +endr +x = x + 1 +endr +endm + +w = $100 +rept 8 + macro_9800 w +w = w >> 1 +endr PokedexCharactersGfx: ; 0xa000 INCBIN "gfx/pokedex/characters.interleave.2bpp" diff --git a/wram.asm b/wram.asm index 0e44f3a..005be72 100755 --- a/wram.asm +++ b/wram.asm @@ -35,7 +35,10 @@ wc4cc:: ; 0xc4cc ds $34 wcBottomMessageText:: ; 0xc500 - ds $200 + ds $147 + +wc647:: + ds $b9 wStageCollisionMap:: ; 0xc700 ds $68 -- cgit v1.2.3 From f418327100c110a7b47fb3be342276b5edd0be17 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 7 Dec 2016 08:45:48 -0500 Subject: Unreferenced data and functions in bank 3 --- main.asm | 209 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 197 insertions(+), 12 deletions(-) diff --git a/main.asm b/main.asm index ae02c98..4ba4021 100755 --- a/main.asm +++ b/main.asm @@ -15049,7 +15049,23 @@ DefaultKeyConfigs: ; 0xca55 db SELECT, $00 ; wKeyConfigUpperTilt db START, $00 ; wKeyConfigMenu - dr $ca63, $ca7f +Data_ca63: + db A_BUTTON, $00 ; wKeyConfigBallStart + db D_LEFT, $00 ; wKeyConfigLeftFlipper + db A_BUTTON, $00 ; wKeyConfigRightFlipper + db D_DOWN, $00 ; wKeyConfigLeftTilt + db B_BUTTON, $00 ; wKeyConfigRightTilt + db START, $04 ; wKeyConfigUpperTilt + db D_UP | D_RIGHT, $00 ; wKeyConfigMenu + +Data_ca71: + db A_BUTTON, $00 ; wKeyConfigBallStart + db D_LEFT, $00 ; wKeyConfigLeftFlipper + db A_BUTTON, $00 ; wKeyConfigRightFlipper + db D_DOWN, $00 ; wKeyConfigLeftTilt + db B_BUTTON, $00 ; wKeyConfigRightTilt + db START, $00 ; wKeyConfigUpperTilt + db D_UP | START | SELECT, $00 ; wKeyConfigMenu HandleHighScoresScreen: ; 0xca7f ld a, [wScreenState] @@ -17574,7 +17590,9 @@ Func_dc7c: ; 0xdc7c ld [hli], a ret - dr $dcad, $dcb4 +Data_dcad: +; BCD powers of 2 + db $01, $02, $04, $08, $16, $32, $64 Func_dcb4: ; 0xdcb4 ld a, [wd517] @@ -17689,7 +17707,7 @@ Func_dd76: ; 0xdd76 dec a ld [wd4a5], a push af - ld de, $28c9 + ld de, BallSavedText call Func_dc6d pop af jr nz, .asm_dd9c @@ -17722,7 +17740,7 @@ Func_dd76: ; 0xdd76 ld [wd49b], a ld a, $1 ld [wd49c], a - ld de, $28ee + ld de, EndOfBallBonusText call Func_dc6d ret @@ -17733,12 +17751,12 @@ Func_dd76: ; 0xdd76 jr z, .asm_ddf1 inc a ld [wd49d], a - ld de, $28ee + ld de, EndOfBallBonusText call Func_dc6d ret .asm_ddf1 - ld de, $28ee + ld de, EndOfBallBonusText call Func_dc6d ld a, $1 ld [wGameOver], a @@ -17796,7 +17814,7 @@ Func_de4f: ; 0xde4f dec a ld [wd4a5], a push af - ld de, $28c9 + ld de, BallSavedText call Func_dc6d pop af jr nz, .asm_de75 @@ -17829,7 +17847,7 @@ Func_de4f: ; 0xde4f ld [wd49b], a ld a, $1 ld [wd49c], a - ld de, $28ee + ld de, EndOfBallBonusText call Func_dc6d ret @@ -17840,12 +17858,12 @@ Func_de4f: ; 0xde4f jr z, .asm_deca inc a ld [wd49d], a - ld de, $28ee + ld de, EndOfBallBonusText call Func_dc6d ret .asm_deca - ld de, $28ee + ld de, EndOfBallBonusText call Func_dc6d ld a, $1 ld [wGameOver], a @@ -18426,7 +18444,128 @@ ReadFlipperCollisionAttributes: ; 0xe25a ld [wFlipperCollision], a ret - dr $e2e4, $e379 +Func_e2e4: + ld a, c + or b + or l + or h + or e + or d + jr nz, .asm_e2f3 + ld a, [$ffba] + ld e, a + ld a, [$ffbb] + ld d, a + ret + +.asm_e2f3 + ld a, d + xor h + push af + bit 7, d + jr z, .asm_e301 + ld a, e + cpl + ld e, a + ld a, d + cpl + ld d, a + inc de +.asm_e301 + bit 7, h + jr z, .asm_e317 + ld a, c + cpl + ld c, a + ld a, b + cpl + ld b, a + ld a, l + cpl + ld l, a + ld a, h + cpl + ld h, a + inc bc + ld a, b + or c + jr nz, .asm_e317 + inc hl +.asm_e317 + push bc + ld c, $11 + ld a, d + or e + jr nz, .asm_e324 + pop bc + ld de, $7fff + jr .asm_e36a + +.asm_e324 + bit 7, d + jr nz, .asm_e32f + sla e + rl d + inc c + jr .asm_e324 + +.asm_e32f + ld a, c + ld [$ff8c], a + pop bc + xor a + ld [$ff8d], a + ld [$ff8e], a +.asm_e338 + jr c, .asm_e344 + ld a, d + cp h + jr nz, .asm_e342 + ld a, e + cp l + jr z, .asm_e344 +.asm_e342 + jr nc, .asm_e34b +.asm_e344 + ld a, l + sub e + ld l, a + ld a, h + sbc d + ld h, a + scf +.asm_e34b + ld a, [$ff8d] + rla + ld [$ff8d], a + ld a, [$ff8e] + rla + ld [$ff8e], a + sla c + rl b + rl l + rl h + ld a, [$ff8c] + dec a + ld [$ff8c], a + jr nz, .asm_e338 + ld a, [$ff8d] + ld e, a + ld a, [$ff8e] + ld d, a +.asm_e36a + pop af + bit 7, a + ret z + ld a, e + sub $1 + cpl + ld e, a + ld a, d + sbc $0 + cpl + ld d, a + ret Func_e379: ; 0xe379 ld a, b @@ -18514,7 +18653,52 @@ Data_e3c0: ld h, a ret - dr $e3de, $e410 +Func_e3de: + push bc + push de + ld c, d + call Func_e410 + pop de + pop bc + push hl + + push bc + push de + ld c, e + call Func_e410 + pop de + pop bc + push hl + + push bc + push de + ld b, d + call Func_e410 + pop de + pop bc + push hl + + ld b, e + call Func_e410 + ld c, l + + ld l, h + xor a + ld h, a + pop de + add hl, de + rl a + pop de + add hl, de + jr nc, .asm_e40a + inc a +.asm_e40a + ld b, l + ld l, h + ld h, a + pop de + add hl, de + ret Func_e410: ; 0xe410 ld a, b @@ -56577,3 +56761,4 @@ SECTION "bank3f", ROMX, BANK[$3f] FlipperVerticalCollisionAttributes2: ; 0xfc000 INCBIN "data/collision/flippers/vertical_attributes_1" + -- cgit v1.2.3 From 511c2e475df24745d994f78426532d930f64e67c Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 7 Dec 2016 20:25:11 -0500 Subject: I think I got all the executable code --- Makefile | 2 +- data/evolution_line_starts.asm | 79 ++++ data/evolution_methods.asm | 758 ++++++++++++++++++++++++++++++++ main.asm | 956 +++++++---------------------------------- sram.asm | 7 + text.asm | 18 +- 6 files changed, 1023 insertions(+), 797 deletions(-) create mode 100755 data/evolution_line_starts.asm create mode 100755 data/evolution_methods.asm create mode 100755 sram.asm diff --git a/Makefile b/Makefile index c7e15d8..267808f 100755 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ # Build Pokemon Pinball. ROMS := pokepinball.gbc -OBJS := main.o wram.o +OBJS := main.o wram.o sram.o # If your default python is 3, you may want to change this to python27. PYTHON := python diff --git a/data/evolution_line_starts.asm b/data/evolution_line_starts.asm new file mode 100755 index 0000000..45f7329 --- /dev/null +++ b/data/evolution_line_starts.asm @@ -0,0 +1,79 @@ + db BULBASAUR - 1 + db CHARMANDER - 1 + db SQUIRTLE - 1 + db CATERPIE - 1 + db WEEDLE - 1 + db PIDGEY - 1 + db RATTATA - 1 + db SPEAROW - 1 + db EKANS - 1 + db PIKACHU - 1 + db SANDSHREW - 1 + db NIDORAN_F - 1 + db NIDORAN_M - 1 + db CLEFAIRY - 1 + db VULPIX - 1 + db JIGGLYPUFF - 1 + db ZUBAT - 1 + db ODDISH - 1 + db PARAS - 1 + db VENONAT - 1 + db DIGLETT - 1 + db MEOWTH - 1 + db PSYDUCK - 1 + db MANKEY - 1 + db GROWLITHE - 1 + db POLIWAG - 1 + db ABRA - 1 + db MACHOP - 1 + db BELLSPROUT - 1 + db TENTACOOL - 1 + db GEODUDE - 1 + db PONYTA - 1 + db SLOWPOKE - 1 + db MAGNEMITE - 1 + db FARFETCH_D - 1 + db DODUO - 1 + db SEEL - 1 + db GRIMER - 1 + db SHELLDER - 1 + db GASTLY - 1 + db ONIX - 1 + db DROWZEE - 1 + db KRABBY - 1 + db VOLTORB - 1 + db EXEGGCUTE - 1 + db CUBONE - 1 + db HITMONLEE - 1 + db HITMONCHAN - 1 + db LICKITUNG - 1 + db KOFFING - 1 + db RHYHORN - 1 + db CHANSEY - 1 + db TANGELA - 1 + db KANGASKHAN - 1 + db HORSEA - 1 + db GOLDEEN - 1 + db STARYU - 1 + db MR_MIME - 1 + db SCYTHER - 1 + db JYNX - 1 + db ELECTABUZZ - 1 + db MAGMAR - 1 + db PINSIR - 1 + db TAUROS - 1 + db MAGIKARP - 1 + db LAPRAS - 1 + db DITTO - 1 + db EEVEE - 1 + db PORYGON - 1 + db OMANYTE - 1 + db KABUTO - 1 + db AERODACTYL - 1 + db SNORLAX - 1 + db ARTICUNO - 1 + db ZAPDOS - 1 + db MOLTRES - 1 + db DRATINI - 1 + db MEWTWO - 1 + db MEW - 1 diff --git a/data/evolution_methods.asm b/data/evolution_methods.asm new file mode 100755 index 0000000..a166dd8 --- /dev/null +++ b/data/evolution_methods.asm @@ -0,0 +1,758 @@ +MonEvolutions: ; 0x116b3 +; Lists the possible evolution types for each pokemon +; Each pokemon has three entries becuase Eevee has three +; evolution possibilities. + ; BULBASAUR + db IVYSAUR, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; IVYSAUR + db VENUSAUR, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; VENUSAUR + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; CHARMANDER + db CHARMELEON, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; CHARMELEON + db CHARIZARD, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; CHARIZARD + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; SQUIRTLE + db WARTORTLE, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; WARTORTLE + db BLASTOISE, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; BLASTOISE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; CATERPIE + db METAPOD, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; METAPOD + db BUTTERFREE, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; BUTTERFREE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; WEEDLE + db KAKUNA, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; KAKUNA + db BEEDRILL, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; BEEDRILL + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; PIDGEY + db PIDGEOTTO, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; PIDGEOTTO + db PIDGEOT, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; PIDGEOT + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; RATTATA + db RATICATE, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; RATICATE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; SPEAROW + db FEAROW, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; FEAROW + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; EKANS + db ARBOK, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; ARBOK + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; PIKACHU + db RAICHU, EVO_THUNDER_STONE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; RAICHU + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; SANDSHREW + db SANDSLASH, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; SANDSLASH + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; NIDORAN_F + db NIDORINA, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; NIDORINA + db NIDOQUEEN, EVO_MOON_STONE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; NIDOQUEEN + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; NIDORAN_M + db NIDORINO, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; NIDORINO + db NIDOKING, EVO_MOON_STONE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; NIDOKING + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; CLEFAIRY + db CLEFABLE, EVO_MOON_STONE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; CLEFABLE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; VULPIX + db NINETALES, EVO_FIRE_STONE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; NINETALES + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; JIGGLYPUFF + db WIGGLYTUFF, EVO_MOON_STONE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; WIGGLYTUFF + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; ZUBAT + db GOLBAT, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; GOLBAT + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; ODDISH + db GLOOM, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; GLOOM + db VILEPLUME, EVO_LEAF_STONE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; VILEPLUME + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; PARAS + db PARASECT, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; PARASECT + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; VENONAT + db VENOMOTH, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; VENOMOTH + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; DIGLETT + db DUGTRIO, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; DUGTRIO + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; MEOWTH + db PERSIAN, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; PERSIAN + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; PSYDUCK + db GOLDUCK, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; GOLDUCK + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; MANKEY + db PRIMEAPE, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; PRIMEAPE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; GROWLITHE + db ARCANINE, EVO_FIRE_STONE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; ARCANINE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; POLIWAG + db POLIWHIRL, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; POLIWHIRL + db POLIWRATH, EVO_WATER_STONE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; POLIWRATH + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; ABRA + db KADABRA, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; KADABRA + db ALAKAZAM, EVO_LINK_CABLE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; ALAKAZAM + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; MACHOP + db MACHOKE, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; MACHOKE + db MACHAMP, EVO_LINK_CABLE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; MACHAMP + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; BELLSPROUT + db WEEPINBELL, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; WEEPINBELL + db VICTREEBEL, EVO_LEAF_STONE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; VICTREEBEL + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; TENTACOOL + db TENTACRUEL, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; TENTACRUEL + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; GEODUDE + db GRAVELER, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; GRAVELER + db GOLEM, EVO_LINK_CABLE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; GOLEM + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; PONYTA + db RAPIDASH, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; RAPIDASH + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; SLOWPOKE + db SLOWBRO, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; SLOWBRO + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; MAGNEMITE + db MAGNETON, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; MAGNETON + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; FARFETCH_D + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; DODUO + db DODRIO, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; DODRIO + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; SEEL + db DEWGONG, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; DEWGONG + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; GRIMER + db MUK, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; MUK + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; SHELLDER + db CLOYSTER, EVO_WATER_STONE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; CLOYSTER + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; GASTLY + db HAUNTER, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; HAUNTER + db GENGAR, EVO_LINK_CABLE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; GENGAR + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; ONIX + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; DROWZEE + db HYPNO, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; HYPNO + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; KRABBY + db KINGLER, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; KINGLER + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; VOLTORB + db ELECTRODE, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; ELECTRODE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; EXEGGCUTE + db EXEGGUTOR, EVO_LEAF_STONE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; EXEGGUTOR + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; CUBONE + db MAROWAK, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; MAROWAK + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; HITMONLEE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; HITMONCHAN + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; LICKITUNG + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; KOFFING + db WEEZING, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; WEEZING + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; RHYHORN + db RHYDON, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; RHYDON + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; CHANSEY + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; TANGELA + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; KANGASKHAN + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; HORSEA + db SEADRA, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; SEADRA + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; GOLDEEN + db SEAKING, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; SEAKING + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; STARYU + db STARMIE, EVO_WATER_STONE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; STARMIE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; MR_MIME + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; SCYTHER + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; JYNX + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; ELECTABUZZ + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; MAGMAR + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; PINSIR + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; TAUROS + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; MAGIKARP + db GYARADOS, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; GYARADOS + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; LAPRAS + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; DITTO + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; EEVEE + db VAPOREON, EVO_WATER_STONE + db JOLTEON, EVO_THUNDER_STONE + db FLAREON, EVO_FIRE_STONE + + ; VAPOREON + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; JOLTEON + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; FLAREON + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; PORYGON + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; OMANYTE + db OMASTAR, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; OMASTAR + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; KABUTO + db KABUTOPS, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; KABUTOPS + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; AERODACTYL + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; SNORLAX + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; ARTICUNO + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; ZAPDOS + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; MOLTRES + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; DRATINI + db DRAGONAIR, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; DRAGONAIR + db DRAGONITE, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; DRAGONITE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; MEWTWO + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + + ; MEW + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE + db $00, EVO_EXPERIENCE diff --git a/main.asm b/main.asm index 4ba4021..e12d028 100755 --- a/main.asm +++ b/main.asm @@ -11511,7 +11511,7 @@ FadeOutCopyrightScreenAndLoadData: ; 0x82a8 ld [hFarCallTempA], a callba CopyInitialHighScores .loadedHighScores - ld hl, $a10c + ld hl, sPokedexFlags ld de, wPokedexFlags ld bc, $0098 call Func_f0c @@ -21615,7 +21615,7 @@ Func_101d9: ; 0x101d9 pop bc push de xor a - ld de, $11d2 + ld de, Func_11d2 call Func_10c5 pop de pop hl @@ -21666,7 +21666,7 @@ Func_10230: ; 0x10230 pop bc push de xor a - ld de, $118d + ld de, Func_118d call Func_10c5 pop de pop hl @@ -21744,7 +21744,7 @@ Func_102bc: ; 0x102bc ld [de], a xor a ld bc, wc1b8 - ld de, $1266 + ld de, Func_1266 call Func_10c5 ret @@ -21811,7 +21811,7 @@ Func_10301: ; 0x10301 ld [de], a xor a ld bc, wc1b8 - ld de, $1266 + ld de, Func_1266 call Func_10c5 ret @@ -21884,7 +21884,7 @@ Func_1038e: ; 0x1038e pop bc push de xor a - ld de, $11d2 + ld de, Func_11d2 call Func_10c5 pop de pop bc @@ -21907,21 +21907,23 @@ Data_103c6: ; 0x103c6 db $40, $04, $C0, $82, $C0, $02 Func_10414: ; 0x10414 - ld a, $4 - ld bc, $4420 - ld de, $11b5 + ld a, BANK(Data_10420) + ld bc, Data_10420 + ld de, Func_11b5 call Func_10c5 ret +Data_10420: dr $10420, $10432 Func_10432: ; 0x10432 - ld a, $4 - ld bc, $443e + ld a, BANK(Data_1043e) + ld bc, Data_1043e ld de, LoadTileLists call Func_10c5 ret +Data_1043e: dr $1043e, $10464 Func_10464: ; 0x10464 @@ -22151,8 +22153,8 @@ Func_10611: ; 0x10611 ld c, a ld a, [hl] ld b, a - ld a, $4 - ld de, $11d2 + ld a, BANK(Data_1062a) + ld de, Func_11d2 call Func_10c5 ret @@ -22327,7 +22329,7 @@ SetPokemonSeenFlag: ; 0x10753 add hl, bc set 0, [hl] ld hl, wPokedexFlags - ld de, $a10c + ld de, sPokedexFlags ld bc, $0098 call SaveData ret @@ -22348,7 +22350,7 @@ SetPokemonOwnedFlag: ; 0x1077c add hl, bc set 1, [hl] ld hl, wPokedexFlags - ld de, $a10c + ld de, sPokedexFlags ld bc, $0098 call SaveData ret @@ -22440,12 +22442,12 @@ Func_10825: ; 0x10825 call Func_30e8 call Func_30db ld hl, wd5e9 - ld de, $2a50 + ld de, Data_2a50 call Func_3372 pop de pop bc ld hl, wd5e4 - ld de, $2a43 + ld de, JackpotText call Func_3357 ret @@ -22780,15 +22782,15 @@ Func_10aff: ; 0x10aff ret VideoData_10b2a: ; 0x10b2a - dwb $7A00, $25 + dab StageRedFieldTopGfx3 dw $8900 dw $E0 - dwb $7A00, $25 + dab StageRedFieldTopGfx3 dw $8900 dw $E0 - dwb $7A00, $25 + dab StageRedFieldTopGfx3 dw $8900 dw $E0 @@ -23615,25 +23617,25 @@ Func_1120e: ; 0x1120e ret VRAMData_1123b: ; 0x1123b - dwb $6600, $35 + dab StageBlueFieldTopGfx3 dw $8600, $E0 - dwb $6600, $35 + dab StageBlueFieldTopGfx3 dw $8600, $E0 - dwb $6600, $35 + dab StageBlueFieldTopGfx3 dw $8600, $E0 - dwb $6600, $35 + dab StageBlueFieldTopGfx3 dw $8600, $E0 - dwb $6600, $35 + dab StageBlueFieldTopGfx3 dw $8600, $E0 - dwb $6600, $35 + dab StageBlueFieldTopGfx3 dw $8600, $E0 - dwb $6600, $35 + dab StageBlueFieldTopGfx3 dw $8600, $E0 WildMonOffsetsPointers: ; 0x1126c @@ -23694,770 +23696,9 @@ WildMonPointers: ; 0x112c0 INCLUDE "data/red_wild_mons.asm" INCLUDE "data/blue_wild_mons.asm" - - dr $115ce, $1161d - +INCLUDE "data/evolution_line_starts.asm" INCLUDE "data/evolution_lines.asm" - -MonEvolutions: ; 0x116b3 -; Lists the possible evolution types for each pokemon -; Each pokemon has three entries becuase Eevee has three -; evolution possibilities. - ; BULBASAUR - db IVYSAUR, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; IVYSAUR - db VENUSAUR, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; VENUSAUR - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; CHARMANDER - db CHARMELEON, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; CHARMELEON - db CHARIZARD, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; CHARIZARD - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; SQUIRTLE - db WARTORTLE, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; WARTORTLE - db BLASTOISE, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; BLASTOISE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; CATERPIE - db METAPOD, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; METAPOD - db BUTTERFREE, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; BUTTERFREE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; WEEDLE - db KAKUNA, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; KAKUNA - db BEEDRILL, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; BEEDRILL - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; PIDGEY - db PIDGEOTTO, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; PIDGEOTTO - db PIDGEOT, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; PIDGEOT - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; RATTATA - db RATICATE, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; RATICATE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; SPEAROW - db FEAROW, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; FEAROW - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; EKANS - db ARBOK, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; ARBOK - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; PIKACHU - db RAICHU, EVO_THUNDER_STONE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; RAICHU - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; SANDSHREW - db SANDSLASH, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; SANDSLASH - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; NIDORAN_F - db NIDORINA, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; NIDORINA - db NIDOQUEEN, EVO_MOON_STONE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; NIDOQUEEN - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; NIDORAN_M - db NIDORINO, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; NIDORINO - db NIDOKING, EVO_MOON_STONE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; NIDOKING - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; CLEFAIRY - db CLEFABLE, EVO_MOON_STONE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; CLEFABLE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; VULPIX - db NINETALES, EVO_FIRE_STONE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; NINETALES - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; JIGGLYPUFF - db WIGGLYTUFF, EVO_MOON_STONE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; WIGGLYTUFF - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; ZUBAT - db GOLBAT, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; GOLBAT - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; ODDISH - db GLOOM, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; GLOOM - db VILEPLUME, EVO_LEAF_STONE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; VILEPLUME - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; PARAS - db PARASECT, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; PARASECT - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; VENONAT - db VENOMOTH, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; VENOMOTH - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; DIGLETT - db DUGTRIO, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; DUGTRIO - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; MEOWTH - db PERSIAN, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; PERSIAN - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; PSYDUCK - db GOLDUCK, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; GOLDUCK - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; MANKEY - db PRIMEAPE, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; PRIMEAPE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; GROWLITHE - db ARCANINE, EVO_FIRE_STONE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; ARCANINE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; POLIWAG - db POLIWHIRL, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; POLIWHIRL - db POLIWRATH, EVO_WATER_STONE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; POLIWRATH - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; ABRA - db KADABRA, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; KADABRA - db ALAKAZAM, EVO_LINK_CABLE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; ALAKAZAM - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; MACHOP - db MACHOKE, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; MACHOKE - db MACHAMP, EVO_LINK_CABLE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; MACHAMP - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; BELLSPROUT - db WEEPINBELL, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; WEEPINBELL - db VICTREEBEL, EVO_LEAF_STONE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; VICTREEBEL - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; TENTACOOL - db TENTACRUEL, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; TENTACRUEL - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; GEODUDE - db GRAVELER, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; GRAVELER - db GOLEM, EVO_LINK_CABLE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; GOLEM - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; PONYTA - db RAPIDASH, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; RAPIDASH - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; SLOWPOKE - db SLOWBRO, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; SLOWBRO - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; MAGNEMITE - db MAGNETON, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; MAGNETON - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; FARFETCH_D - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; DODUO - db DODRIO, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; DODRIO - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; SEEL - db DEWGONG, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; DEWGONG - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; GRIMER - db MUK, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; MUK - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; SHELLDER - db CLOYSTER, EVO_WATER_STONE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; CLOYSTER - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; GASTLY - db HAUNTER, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; HAUNTER - db GENGAR, EVO_LINK_CABLE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; GENGAR - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; ONIX - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; DROWZEE - db HYPNO, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; HYPNO - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; KRABBY - db KINGLER, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; KINGLER - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; VOLTORB - db ELECTRODE, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; ELECTRODE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; EXEGGCUTE - db EXEGGUTOR, EVO_LEAF_STONE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; EXEGGUTOR - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; CUBONE - db MAROWAK, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; MAROWAK - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; HITMONLEE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; HITMONCHAN - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; LICKITUNG - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; KOFFING - db WEEZING, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; WEEZING - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; RHYHORN - db RHYDON, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; RHYDON - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; CHANSEY - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; TANGELA - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; KANGASKHAN - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; HORSEA - db SEADRA, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; SEADRA - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; GOLDEEN - db SEAKING, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; SEAKING - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; STARYU - db STARMIE, EVO_WATER_STONE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; STARMIE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; MR_MIME - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; SCYTHER - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; JYNX - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; ELECTABUZZ - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; MAGMAR - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; PINSIR - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; TAUROS - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; MAGIKARP - db GYARADOS, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; GYARADOS - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; LAPRAS - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; DITTO - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; EEVEE - db VAPOREON, EVO_WATER_STONE - db JOLTEON, EVO_THUNDER_STONE - db FLAREON, EVO_FIRE_STONE - - ; VAPOREON - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; JOLTEON - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; FLAREON - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; PORYGON - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; OMANYTE - db OMASTAR, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; OMASTAR - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; KABUTO - db KABUTOPS, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; KABUTOPS - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; AERODACTYL - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; SNORLAX - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; ARTICUNO - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; ZAPDOS - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; MOLTRES - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; DRATINI - db DRAGONAIR, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; DRAGONAIR - db DRAGONITE, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; DRAGONITE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; MEWTWO - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - - ; MEW - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - db $00, EVO_EXPERIENCE - +INCLUDE "data/evolution_methods.asm" INCLUDE "data/mon_names.asm" CatchEmModeInitialIndicatorStates: ; 0x123ae @@ -27850,8 +27091,8 @@ Func_155bb: ; 0x155bb ld c, [hl] inc hl ld b, [hl] - ld a, $5 - ld de, $1266 + ld a, BANK(Data_157f7) + ld de, Func_1266 call Func_10c5 ret @@ -44588,7 +43829,123 @@ MonInfoPokedexScreen: ; 0x28178 call Func_2885c ret - dr $281cb, $28289 +Func_281cb: + ld a, [wCurPokedexIndex] + ld c, a + ld b, $0 + sla c + rl b + add c + ld c, a + jr nc, .asm_281da + inc b +.asm_281da + ld a, [wd960] + and a + jr nz, .asm_281fb + ld hl, MonBillboardPalettePointers + add hl, bc + ld a, BANK(MonBillboardPalettePointers) + call ReadByteFromBank + inc hl + ld e, a + ld a, BANK(MonBillboardPalettePointers) + call ReadByteFromBank + inc hl + ld d, a + ld a, BANK(MonBillboardPalettePointers) + call ReadByteFromBank + ld [$ff8c], a + jr .asm_28214 + +.asm_281fb + ld hl, MonAnimatedPalettePointers + add hl, bc + ld a, BANK(MonAnimatedPalettePointers) + call ReadByteFromBank + inc hl + ld e, a + ld a, BANK(MonAnimatedPalettePointers) + call ReadByteFromBank + inc hl + ld d, a + ld a, BANK(MonAnimatedPalettePointers) + call ReadByteFromBank + ld [$ff8c], a +.asm_28214 + ld h, d + ld l, e + ld de, wda8a + ld b, $8 +.asm_2821b + push bc + ld a, [$ff8c] + call ReadByteFromBank + inc hl + ld c, a + ld a, [$ff8c] + call ReadByteFromBank + inc hl + ld b, a + ld a, c + and $1f + ld [de], a + inc de + srl b + rr c + srl b + rr c + srl b + rr c + srl b + rr c + srl b + rr c + ld a, c + and $1f + ld [de], a + inc de + srl b + rr c + srl b + rr c + srl b + rr c + srl b + rr c + srl b + rr c + ld a, c + and $1f + ld [de], a + inc de + pop bc + dec b + jr nz, .asm_2821b + ld hl, Data_28289 + ld de, wda8a + ld b, $18 +.asm_2826d + push hl + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [de] + inc de + push af + swap a + and $f + call PutTileInVRAM + inc hl + pop af + and $f + call PutTileInVRAM + pop hl + inc hl + inc hl + dec b + jr nz, .asm_2826d + ret Data_28289: dr $28289, $282b9 @@ -46300,7 +45657,7 @@ Func_28e73: ; 0x28e73 rl b sla c rl b - ld hl, $5566 ; todo + ld hl, Func_29566 ld a, l sub c ld l, a @@ -46312,7 +45669,16 @@ Func_28e73: ; 0x28e73 ld a, [wd860] ret - dr $28e9a, $2957c +Func_28e9a: +REPT 20 * 87 + ld [hli], a +ENDR +Func_29566: +REPT 20 + ld [hli], a +ENDR + pop hl + ret Func_2957c: ; 0x2957c ld a, BANK(PokedexDescriptionPointers) diff --git a/sram.asm b/sram.asm new file mode 100755 index 0000000..e79d216 --- /dev/null +++ b/sram.asm @@ -0,0 +1,7 @@ +SECTION "SRAM 0", SRAM, BANK [$0] + +s0_a000:: + ds $10c + +sPokedexFlags:: ; 0xa10c + ds $98 diff --git a/text.asm b/text.asm index 4e3ac90..ae9caf1 100755 --- a/text.asm +++ b/text.asm @@ -55,7 +55,23 @@ OneBillionText: db "1,000,000,000 @" Data_2a21: - dr $2a21, $2a56 + db $44, $00, $40, $00 + db "HIT @" + db $48, $10, $40, $00, $00, $00 + +Data_2a30: + db $42, $00, $40, $00 + db "FLIPPED @" + +Data_2a3d: + db $4a, $10, $40, $00, $00, $00 + +JackpotText: + db $42, $00, $b4, $00 + db "JACKPOT @" + +Data_2a50: + db $4a, $10, $b4, $00, $00, $00 YouGotAText: db $05, $54, $00, $00, $00, $1e -- cgit v1.2.3 From 6a3d96f817ca3d864d10a91a5fbd9a481f0985b6 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 7 Dec 2016 21:11:07 -0500 Subject: Resolve incbinned pointers in bank 4 --- main.asm | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--------- wram.asm | 5 ++++- 2 files changed, 65 insertions(+), 11 deletions(-) diff --git a/main.asm b/main.asm index e12d028..6ab46fb 100755 --- a/main.asm +++ b/main.asm @@ -2774,7 +2774,7 @@ Func_10c5: ; 0x10c5 pop af ld hl, wd7fb ld l, [hl] - ld h, $cb + ld h, wcb00 / $100 inc bc ld [hl], c inc h @@ -22553,21 +22553,35 @@ Func_108f5: ; 0x108f5 ld bc, $0020 call LoadVRAMData ld hl, Data_10958 - ld a, $4 + ld a, BANK(Data_10958) call Func_10aa ld a, [wd624] ld [hFarCallTempA], a callba Func_174d4 ld hl, Data_1097d - ld a, $4 + ld a, BANK(Data_1097d) call Func_10aa ret Data_10958: - dr $10958, $1097d + db 3 + dw Data_1095f + dw Data_10969 + dw Data_10973 + +Data_1095f: + dr $1095f, $10969 +Data_10969: + dr $10969, $10973 +Data_10973: + dr $10973, $1097d Data_1097d: - dr $1097d, $1098a + db 1 + dw Data_10980 + +Data_10980: + dr $10980, $1098a Func_1098a: ; 0x1098a ret @@ -22656,21 +22670,35 @@ Func_109fc: ; 0x109fc ld bc, $0020 call LoadVRAMData ld hl, Data_10a63 - ld a, $4 + ld a, BANK(Data_10a63) call Func_10aa ld a, [wd624] ld [hFarCallTempA], a callba Func_174d4 ld hl, Data_10a88 - ld a, $4 + ld a, BANK(Data_10a88) call Func_10aa ret Data_10a63: - dr $10a63, $10a88 + db 3 + dw Data_10a6a + dw Data_10a74 + dw Data_10a7e + +Data_10a6a: + dr $10a6a, $10a74 +Data_10a74: + dr $10a74, $10a7e +Data_10a7e: + dr $10a7e, $10a88 Data_10a88: - dr $10a88, $10a95 + db 1 + dw Data_10a8b + +Data_10a8b: + dr $10a8b, $10a95 Func_10a95: ; 0x19a95 ld a, [wCurrentStage] @@ -26020,7 +26048,30 @@ Func_14746: ; 0x14746 ret Data_1475f: - dr $1475f, $14795 + dw Data_14763 + dw Data_14768 + +Data_14763: + db 2 + dw Data_1476d + dw Data_14777 + +Data_14768: + db 2 + dw Data_14781 + dw Data_1478b + +Data_1476d: + dr $1476d, $14777 + +Data_14777: + dr $14777, $14781 + +Data_14781: + dr $14781, $1478b + +Data_1478b: + dr $1478b, $14795 Func_14795: ; 0x14795 ld a, [wd5c7] diff --git a/wram.asm b/wram.asm index 005be72..de55265 100755 --- a/wram.asm +++ b/wram.asm @@ -86,7 +86,10 @@ wc893:: ; 0xc893 ds $1d0 wca63:: ; 0xca63 - ds $59d + ds $9d + +wcb00:: ; 0xcb00 + ds $500 SECTION "WRAM Bank 1", WRAMX, BANK[1] -- cgit v1.2.3 From eda5f701fc492467d0d5160bfbecd3893a9bbb9f Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 7 Dec 2016 21:43:59 -0500 Subject: Rip CATCH\! gfx --- gfx/stage/catch.w48.png | Bin 0 -> 135 bytes gfx/unknown/a8800.interleave.w32.png | Bin 385 -> 0 bytes main.asm | 87 ++++++++++++++++++++++++++++++++--- wram.asm | 5 +- 4 files changed, 84 insertions(+), 8 deletions(-) create mode 100644 gfx/stage/catch.w48.png delete mode 100644 gfx/unknown/a8800.interleave.w32.png diff --git a/gfx/stage/catch.w48.png b/gfx/stage/catch.w48.png new file mode 100644 index 0000000..0090bb0 Binary files /dev/null and b/gfx/stage/catch.w48.png differ diff --git a/gfx/unknown/a8800.interleave.w32.png b/gfx/unknown/a8800.interleave.w32.png deleted file mode 100644 index 55c07e6..0000000 Binary files a/gfx/unknown/a8800.interleave.w32.png and /dev/null differ diff --git a/main.asm b/main.asm index 6ab46fb..3d05a11 100755 --- a/main.asm +++ b/main.asm @@ -2808,7 +2808,7 @@ Func_10c5: ; 0x10c5 ld [MBC5RomBank], a ld hl, wd7fb ld l, [hl] - ld h, $ca + ld h, wca00 / $100 inc l ld [hl], $0 dec l @@ -2913,7 +2913,7 @@ LoadTileLists: ; 0x117b jr nz, .loadTileData jr .loadTileSequence -Func_118d: ; 0x118d +LoadTileListsBank1: ; 0x118d ld a, $1 ld [rVBK], a call LoadTileLists @@ -21666,7 +21666,7 @@ Func_10230: ; 0x10230 pop bc push de xor a - ld de, Func_118d + ld de, LoadTileListsBank1 call Func_10c5 pop de pop hl @@ -21914,7 +21914,25 @@ Func_10414: ; 0x10414 ret Data_10420: - dr $10420, $10432 + db $18 + + db $06 + dw $9887 + db $80 + + db $06 + dw $98a7 + db $80 + + db $06 + dw $98c7 + db $80 + + db $06 + dw $98e7 + db $80 + + db $00 Func_10432: ; 0x10432 ld a, BANK(Data_1043e) @@ -21924,7 +21942,25 @@ Func_10432: ; 0x10432 ret Data_1043e: - dr $1043e, $10464 + db $18 + + db $06 + dw $9887 + db $90, $91, $92, $93, $94, $95 + + db $06 + dw $98a7 + db $96, $97, $98, $99, $9a, $9b + + db $06 + dw $98c7 + db $9c, $9d, $9e, $9f, $a0, $a1 + + db $06 + dw $98e7 + db $a2, $a3, $a4, $a5, $a6, $a7 + + db $00 Func_10464: ; 0x10464 ld a, [wCurrentCatchEmMon] @@ -22159,7 +22195,39 @@ Func_10611: ; 0x10611 ret Data_1062a: - dr $1062a, $10648 + dw Data_10630 + dw Data_10638 + dw Data_10640 + +Data_10630: + db $20 + + db $02 + dw $8ae0 + dw CatchTextGfx + $00 + db BANK(CatchTextGfx) + + db $00 + +Data_10638: + db $20 + + db $02 + dw $8b00 + dw CatchTextGfx + $20 + db BANK(CatchTextGfx) + + db $00 + +Data_10640: + db $20 + + db $02 + dw $8b20 + dw CatchTextGfx + $40 + db BANK(CatchTextGfx) + + db $00 Func_10648: ; 0x10648 call Func_10184 @@ -52560,7 +52628,12 @@ RhydonBillboardBGPaletteMap: ; 0xd8968 SaverTextOffGfx: ; 0xd8c00 INCBIN "gfx/stage/saver_off.2bpp" - dr $d8c40, $d8e80 + dr $d8c40, $d8c80 + +CatchTextGfx: + INCBIN "gfx/stage/catch.w48.2bpp" + + dr $d8ce0, $d8e80 Data_d8e80: dr $d8e80, $d8f60 diff --git a/wram.asm b/wram.asm index de55265..7e32545 100755 --- a/wram.asm +++ b/wram.asm @@ -83,7 +83,10 @@ wc892:: ; 0xc892 ds $1 wc893:: ; 0xc893 - ds $1d0 + ds $16d + +wca00:: + ds $63 wca63:: ; 0xca63 ds $9d -- cgit v1.2.3 From 627be297fe5fd3ccc8108aecb5d97df2027674c5 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 7 Dec 2016 23:08:47 -0500 Subject: A little cleanup --- macros.asm | 4 ++ main.asm | 216 +++++++++++++++++++++++++++++++------------------------------ text.asm | 5 ++ wram.asm | 15 +++-- 4 files changed, 127 insertions(+), 113 deletions(-) diff --git a/macros.asm b/macros.asm index 7c48c05..7f2b778 100755 --- a/macros.asm +++ b/macros.asm @@ -25,6 +25,10 @@ dab: MACRO dwb \1, BANK(\1) ENDM +lb: MACRO + ld \1, (\2 << 8) | \3 + ENDM + padded_dab: MACRO dab \1 db $00 diff --git a/main.asm b/main.asm index 3d05a11..7b028bb 100755 --- a/main.asm +++ b/main.asm @@ -6578,7 +6578,7 @@ Func_30e8: ; 0x30e8 Func_310a: ; 0x310a ld a, $81 - ld hl, wcBottomMessageText + $140 + ld hl, wc600 + $40 ld b, $5 .asm_3111 ld [hli], a @@ -6587,7 +6587,7 @@ Func_310a: ; 0x310a ld [hli], a dec b jr nz, .asm_3111 - ld hl, wcBottomMessageText + $1c0 + ld hl, wc600 + $c0 ld b, $5 .asm_311d ld [hli], a @@ -6608,126 +6608,126 @@ asm_312b: ; 0x312b ld a, [wd805] and a jp nz, Func_3268 -.asm_3132 +.next_char ld a, [hli] and a ret z ld c, $81 - cp $20 - jr z, .asm_3175 - cp $2c - jr z, .asm_3178 - cp $24 - jr z, .asm_317c - cp $5c - jr z, .asm_3184 - cp $60 - jr z, .asm_318d - cp $21 - jr z, .asm_31a8 - cp $78 - jr z, .asm_31b1 - cp $65 - jr z, .asm_3196 - cp $2a - jr z, .asm_319f - cp $2e - jr z, .asm_31ba - cp $3a - jr z, .asm_31c3 - cp $30 - jr c, .asm_316b - cp $3a - jr c, .asm_31cc -.asm_316b - cp $41 - jr c, .asm_3173 - cp $5b - jr c, .asm_31d0 -.asm_3173 - jr .asm_3132 - -.asm_3175 + cp " " + jr z, .space + cp "," + jr z, .comma + cp "♂" + jr z, .male + cp "♀" + jr z, .female + cp "`" + jr z, .apostrophe + cp "!" + jr z, .exclamation + cp "x" + jr z, .little_x + cp "e" + jr z, .e_acute + cp "*" + jr z, .asterisk + cp "." + jr z, .period + cp ":" + jr z, .colon + cp "0" + jr c, .check_atoz + cp "9" + 1 + jr c, .digit +.check_atoz + cp "A" + jr c, .invalid + cp "Z" + 1 + jr c, .alphabet +.invalid + jr .next_char + +.space ld a, c - jr .asm_31d2 + jr .load_char -.asm_3178 +.comma inc c dec e - jr .asm_31d3 + jr .check_special_load -.asm_317c +.male xor a call Func_31e1 ld a, $83 - jr .asm_31d2 + jr .load_char -.asm_3184 +.female ld a, $1 call Func_31e1 ld a, $84 - jr .asm_31d2 + jr .load_char -.asm_318d +.apostrophe ld a, $2 call Func_31e1 ld a, $85 - jr .asm_31d2 + jr .load_char -.asm_3196 +.e_acute ld a, $3 call Func_31e1 ld a, $83 - jr .asm_31d2 + jr .load_char -.asm_319f +.asterisk ld a, $4 call Func_31e1 ld a, $87 - jr .asm_31d2 + jr .load_char -.asm_31a8 +.exclamation ld a, $5 call Func_31e1 ld a, $85 - jr .asm_31d2 + jr .load_char -.asm_31b1 +.little_x ld a, $6 call Func_31e1 ld a, $85 - jr .asm_31d2 + jr .load_char -.asm_31ba +.period ld a, $7 call Func_31e1 ld a, $86 - jr .asm_31d2 + jr .load_char -.asm_31c3 +.colon ld a, $8 call Func_31e1 ld a, $83 - jr .asm_31d2 + jr .load_char -.asm_31cc +.digit add $56 - jr .asm_31d2 + jr .load_char -.asm_31d0 +.alphabet add $bf -.asm_31d2 +.load_char ld [de], a -.asm_31d3 +.check_special_load bit 0, b - jr nz, .asm_31dd + jr nz, .no_special_load set 7, e ld a, c ld [de], a res 7, e -.asm_31dd +.no_special_load inc e - jp .asm_3132 + jp .next_char Func_31e1: ; 0x31e1 push bc @@ -6882,9 +6882,9 @@ Func_32cc: ; 0x32cc inc de pop af ld e, a - ld d, $c5 + ld d, wcBottomMessageText / $100 ld hl, [sp+$5] - ld bc, $0801 + lb bc, 8, 1 .asm_32ec ld a, [hl] swap a @@ -6896,10 +6896,10 @@ Func_32cc: ; 0x32cc call Func_3309 dec b jr nz, .asm_32ec - ld a, $30 + ld a, "0" ld [de], a inc de - ld a, $20 + ld a, " " ld [de], a inc de xor a @@ -6956,11 +6956,11 @@ Func_3325: ; 0x3325 dec e .asm_333d push de - ld d, $c6 + ld d, wc600 / $100 inc hl push hl ld l, [hl] - ld h, $c5 + ld h, wcBottomMessageText / $100 call Func_3129 pop hl inc hl @@ -6995,7 +6995,7 @@ Func_3357: ; 0x3357 inc de pop af ld l, a - ld h, $c5 + ld h, wcBottomMessageText / $100 .asm_336b ld a, [de] ld [hli], a @@ -7021,9 +7021,9 @@ Func_3372: ; 0x3372 ld [hli], a pop af ld e, a - ld d, $c5 + ld d, wcBottomMessageText / $100 ld hl, [sp+$5] - ld bc, $0801 + lb bc, 8, 1 .asm_338a ld a, [hl] swap a @@ -7075,10 +7075,10 @@ Func_33c3: ; 0x33c3 ret z ld a, [hli] ld e, a - ld d, $c6 + ld d, wc600 / $100 push hl ld l, [hl] - ld h, $c5 + ld h, wcBottomMessageText / $100 call Func_3129 pop hl inc hl @@ -11853,7 +11853,7 @@ Func_84fd: .asm_850d ld a, $81 call Func_8519 - ld de, wc647 + ld de, wc600 + $47 call Func_8524 ret @@ -19967,7 +19967,7 @@ UpgradeBallBlueField: ; 0xf040 call PlaySoundEffect call Func_30e8 call Func_30db - ld de, $2907 + ld de, FieldMultiplierText ld hl, wd5cc call LoadTextHeader ; upgrade ball type @@ -19995,7 +19995,7 @@ UpgradeBallBlueField: ; 0xf040 call Func_30e8 call Func_30db ld hl, wd5d4 - ld de, $2948 + ld de, DigitsText1to8 call Func_32cc pop de pop bc @@ -22268,7 +22268,7 @@ Func_10678: ; 0x10678 ld a, $1 ld [wd5bb], a xor a - ld [wd5bf], a + ld [wBallHitWildMon], a ld [wNumMonHits], a ret @@ -26148,7 +26148,7 @@ Func_14795: ; 0x14795 xor a ld [wd5c7], a ld a, $1 - ld [wd5bf], a + ld [wBallHitWildMon], a ld de, $0006 call PlaySoundEffect ret @@ -26941,7 +26941,7 @@ Func_1535d: ; 0x1535d call PlaySoundEffect call Func_30e8 call Func_30db - ld de, $2907 + ld de, FieldMultiplierText ld hl, wd5cc call LoadTextHeader ld a, [wBallType] @@ -26968,7 +26968,7 @@ Func_1535d: ; 0x1535d call Func_30e8 call Func_30db ld hl, wd5d4 - ld de, $2948 + ld de, DigitsText1to8 call Func_32cc pop de pop bc @@ -34387,7 +34387,7 @@ Func_1ca4a: ; 1ca4a xor a ld [wd5c7], a ld a, $1 - ld [wd5bf], a + ld [wBallHitWildMon], a ld de, $0006 call PlaySoundEffect ret @@ -38064,11 +38064,11 @@ Func_200d3: ; 0x200d3 and $3 ret nz .asm_200e6 - ld a, [wd5bf] + ld a, [wBallHitWildMon] and a jp z, .asm_20167 xor a - ld [wd5bf], a + ld [wBallHitWildMon], a ld a, [wd5c3] ld [wd5be], a xor a @@ -38076,9 +38076,9 @@ Func_200d3: ; 0x200d3 ld a, [wCurrentCatchEmMon] cp MEW - 1 jr nz, .notMew - ld a, [wd5c5] + ld a, [wNumMewHitsLow] inc a - ld [wd5c5], a + ld [wNumMewHitsLow], a jr nz, .asm_20116 .notMew ld a, [wNumMonHits] @@ -38097,12 +38097,12 @@ Func_200d3: ; 0x200d3 call Func_30e8 call Func_30db ld hl, wd5e9 - ld de, $2a2a + ld de, Data_2a2a call Func_3372 pop de pop bc ld hl, wd5e4 - ld de, $2a21 + ld de, Data_2a21 call Func_3357 ld a, [wNumMonHits] ld [hFarCallTempA], a @@ -38197,8 +38197,9 @@ Func_201f2: ; 0x201f2 ld [wd57e], a ld a, $7 ld [wd54d], a + ; Automatically set Mew as caught, since you can't possibly catch it ld a, [wCurrentCatchEmMon] - cp NUM_POKEMON - 1 + cp MEW - 1 jr nz, .asm_2021b ld [hFarCallTempA], a callba SetPokemonOwnedFlag @@ -38224,7 +38225,7 @@ Func_20230: ; 0x20230 ld [hli], a inc hl ld a, l - cp $b6 + cp wd5b6 % $100 jr z, .asm_2024e dec d jr nz, .asm_20242 @@ -38253,12 +38254,12 @@ Func_20230: ; 0x20230 call Func_30e8 call Func_30db ld hl, wd5e9 - ld de, $2a3d + ld de, Data_2a3d call Func_3372 pop de pop bc ld hl, wd5e4 - ld de, $2a30 + ld de, Data_2a30 call Func_3357 .asm_2029d ld bc, $0001 @@ -38393,11 +38394,11 @@ Func_20394: ; 0x20394 and $3 ret nz .asm_203a7 - ld a, [wd5bf] + ld a, [wBallHitWildMon] and a jp z, .asm_20428 xor a - ld [wd5bf], a + ld [wBallHitWildMon], a ld a, [wd5c3] ld [wd5be], a xor a @@ -38405,9 +38406,9 @@ Func_20394: ; 0x20394 ld a, [wCurrentCatchEmMon] cp MEW - 1 jr nz, .notMew - ld a, [wd5c5] + ld a, [wNumMewHitsLow] inc a - ld [wd5c5], a + ld [wNumMewHitsLow], a jr nz, .asm_203d7 .notMew ld a, [wNumMonHits] @@ -38426,12 +38427,12 @@ Func_20394: ; 0x20394 call Func_30e8 call Func_30db ld hl, wd5e9 - ld de, $2a2a + ld de, Data_2a2a call Func_3372 pop de pop bc ld hl, wd5e4 - ld de, $2a21 + ld de, Data_2a21 call Func_3357 ld a, [wNumMonHits] ld [hFarCallTempA], a @@ -38526,6 +38527,7 @@ Func_204b3: ; 0x204b3 ld [wd57e], a ld a, $7 ld [wd54d], a + ; Automatically set Mew as caught, since you can't possibly catch it ld a, [wCurrentCatchEmMon] cp MEW - 1 jr nz, .notMew @@ -38553,7 +38555,7 @@ Func_204f1: ; 0x204f1 ld [hli], a inc hl ld a, l - cp $b6 ; TODO: This is the low byte of a pointer + cp wd5b6 % $100 jr z, .asm_2050f dec d jr nz, .asm_20503 @@ -38582,12 +38584,12 @@ Func_204f1: ; 0x204f1 call Func_30e8 call Func_30db ld hl, wd5e9 - ld de, $2a3d + ld de, Data_2a3d call Func_3372 pop de pop bc ld hl, wd5e4 - ld de, $2a30 + ld de, Data_2a30 call Func_3357 .asm_2055e ld bc, $0001 @@ -44770,10 +44772,10 @@ Func_28815: ; 0x28815 dec a ld [wd5be], a ret nz - ld a, [wd5bf] + ld a, [wBallHitWildMon] inc a and $7 - ld [wd5bf], a + ld [wBallHitWildMon], a jr nz, .asm_28836 ld a, [wd5c3] ld [wd5be], a diff --git a/text.asm b/text.asm index ae9caf1..f301b55 100755 --- a/text.asm +++ b/text.asm @@ -1,3 +1,6 @@ +; 6-byte header +; Byte 1: Character delay + BallSavedText: db $05, $54, $45, $14, $00, $33 db "BALL SAVED @" @@ -57,6 +60,8 @@ OneBillionText: Data_2a21: db $44, $00, $40, $00 db "HIT @" + +Data_2a2a: db $48, $10, $40, $00, $00, $00 Data_2a30: diff --git a/wram.asm b/wram.asm index 7e32545..d935467 100755 --- a/wram.asm +++ b/wram.asm @@ -35,10 +35,10 @@ wc4cc:: ; 0xc4cc ds $34 wcBottomMessageText:: ; 0xc500 - ds $147 + ds $100 -wc647:: - ds $b9 +wc600:: + ds $100 wStageCollisionMap:: ; 0xc700 ds $68 @@ -729,7 +729,7 @@ wd5bd:: ; 0xd5bd wd5be:: ; 0xd5be ds $1 -wd5bf:: ; 0xd5bf +wBallHitWildMon:: ; 0xd5bf ds $1 wNumMonHits:: ; 0xd5c0 @@ -747,7 +747,7 @@ wd5c3:: ; 0xd5c3 wd5c4:: ; 0xd5c4 ds $1 -wd5c5:: ; 0xd5c5 +wNumMewHitsLow:: ; 0xd5c5 ds $1 wd5c6:: ; 0xd5c6 @@ -2616,7 +2616,10 @@ wdead:: ; 0xdead ds $1 wdeae:: ; 0xdeae - ds $151 + ds $52 + +wStack:: + ds $ff wdfff:: ; 0xdfff ds $1 -- cgit v1.2.3 From 1bd146e8f9fdccd09ff5de2bbfeb95baeccbf905 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 13 Dec 2016 21:18:46 -0500 Subject: Oops --- gfx/unknown/a8800.interleave.w32.png | Bin 0 -> 385 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100755 gfx/unknown/a8800.interleave.w32.png diff --git a/gfx/unknown/a8800.interleave.w32.png b/gfx/unknown/a8800.interleave.w32.png new file mode 100755 index 0000000..55c07e6 Binary files /dev/null and b/gfx/unknown/a8800.interleave.w32.png differ -- cgit v1.2.3 From c752c88bf9a3b7fad3718c0ecc92aedd842917f8 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 18 Jan 2017 20:32:17 -0500 Subject: Fix some point values --- main.asm | 176 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 88 insertions(+), 88 deletions(-) diff --git a/main.asm b/main.asm index 7b028bb..ebfca96 100755 --- a/main.asm +++ b/main.asm @@ -7205,36 +7205,36 @@ Func_3475: ; 0x3475 jr nz, Func_3475 ret -FiftyBillionPoints: ; 34a6 - dx 6, $050000000000 -OneHundredBillionPoints: ; 34ac - dx 6, $100000000000 -OneHundredMillionPoints: ; 34b2 - dx 6, $000100000000 -FourHundredMillionPoints: ; 34b8 - dx 6, $000400000000 -FiveHundredMillionPoints: ; 34be - dx 6, $000500000000 -OneBillionPoints: ; 34c4 - dx 6, $001000000000 -FiveBillionPoints: ; 34ca - dx 6, $005000000000 -OneMillionPoints: ; 34d0 - dx 6, $000001000000 -TenMillionPoints: ; 34d6 - dx 6, $000010000000 -ThirtyMillionPoints: ; 34dc - dx 6, $000030000000 -FiftyMillionPoints: ; 34e2 - dx 6, $000050000000 -TenThousandPoints: ; 34e8 - dx 6, $000000010000 -FiftyThousandPoints: ; 34ee - dx 6, $000000050000 -OneHundredThousandPoints: ; 34f4 - dx 6, $000000100000 -OneHundredPoints: ; 34fa - dx 6, $000000000100 +FivePoints: ; 34a6 + bigBCD6 000000000005 +TenPoints: ; 34ac + bigBCD6 000000000010 +OneHundredPoints: ; 34b2 + bigBCD6 000000000100 +FourHundredPoints: ; 34b8 + bigBCD6 000000000400 +FiveHundredPoints: ; 34be + bigBCD6 000000000500 +OneThousandPoints: ; 34c4 + bigBCD6 000000001000 +FiveThousandPoints: ; 34ca + bigBCD6 000000005000 +TenThousandPoints: ; 34d0 + bigBCD6 000000010000 +OneHundredThousandPoints: ; 34d6 + bigBCD6 000000100000 +ThreeHundredThousandPoints: ; 34dc + bigBCD6 000000300000 +FiveHundredThousandPoints: ; 34e2 + bigBCD6 000000500000 +OneMillionPoints: ; 34e8 + bigBCD6 000001000000 +FiveMillionPoints: ; 34ee + bigBCD6 000005000000 +TenMillionPoints: ; 34f4 + bigBCD6 000010000000 +OneHundredMillionPoints: ; 34fa + bigBCD6 000100000000 Func_3500: ld hl, wd464 @@ -19985,7 +19985,7 @@ UpgradeBallBlueField: ; 0xf040 .masterBall ld de, $0f4d call PlaySoundEffect - ld bc, TenThousandPoints + ld bc, OneMillionPoints ld [hFarCallTempA], a callba Func_8588 ld bc, $100 @@ -22520,7 +22520,7 @@ Func_10825: ; 0x10825 ret Func_10848: ; 0x10848 - ld bc, OneHundredPoints + ld bc, OneHundredMillionPoints ld [hFarCallTempA], a callba Func_8588 call Func_30e8 @@ -23379,7 +23379,7 @@ Func_10e0a: ; 0x10e0a ret Func_10e8b: ; 0x10e8b - ld bc, TenThousandPoints + ld bc, OneMillionPoints ld [hFarCallTempA], a callba Func_8588 ld bc, $0100 @@ -26397,7 +26397,7 @@ Func_1496d: ; 0x1496d ld [wd804], a ld a, $2 ld [wd7eb], a - ld bc, FiveHundredMillionPoints + ld bc, FiveHundredPoints ld [hFarCallTempA], a callba AddBCDScore ld de, $000f @@ -26512,7 +26512,7 @@ Func_14d85: ; 0x14d85 ld a, $4 ld [hFarCallTempA], a callba Func_10000 - ld bc, FiveHundredMillionPoints + ld bc, FiveHundredPoints ld [hFarCallTempA], a callba AddBCDScore ret @@ -26621,7 +26621,7 @@ Func_14e10: ; 0x14e10 ld a, c and a ret z - ld bc, OneHundredBillionPoints + ld bc, TenPoints ld [hFarCallTempA], a callba AddBCDScore ld hl, wd62d @@ -26710,7 +26710,7 @@ Func_151cb: ; 0x151cb ld [hl], $1 and a ret nz - ld bc, OneHundredMillionPoints + ld bc, OneHundredPoints ld [hFarCallTempA], a callba AddBCDScore ld hl, wd50f @@ -26725,7 +26725,7 @@ Func_151cb: ; 0x151cb ld [wd513], a ld a, $80 ld [wd514], a - ld bc, FourHundredMillionPoints + ld bc, FourHundredPoints ld [hFarCallTempA], a callba AddBCDScore ld de, $0009 @@ -26908,7 +26908,7 @@ Func_1535d: ; 0x1535d ld [hl], $1 and a ret nz - ld bc, OneHundredMillionPoints + ld bc, OneHundredPoints ld [hFarCallTempA], a callba AddBCDScore ld hl, wd5f9 @@ -26931,7 +26931,7 @@ Func_1535d: ; 0x1535d ld [wBallTypeCounter], a ld a, $e ld [wBallTypeCounter + 1], a - ld bc, FourHundredMillionPoints + ld bc, FourHundredPoints ld [hFarCallTempA], a callba AddBCDScore ld a, [wBallType] @@ -26958,7 +26958,7 @@ Func_1535d: ; 0x1535d .masterBall ld de, $0f4d call PlaySoundEffect - ld bc, TenThousandPoints + ld bc, OneMillionPoints ld [hFarCallTempA], a callba Func_8588 ld bc, $0100 @@ -27227,7 +27227,7 @@ Func_1581f: ; 0x1581f ret z xor a ld [wd51f], a - ld bc, FiftyBillionPoints + ld bc, FivePoints ld [hFarCallTempA], a callba AddBCDScore ld a, [wd520] @@ -27500,7 +27500,7 @@ Func_15e93: ; 0x15e93 jr z, .asm_15eda xor a ld [wd4fb], a - ld bc, OneMillionPoints + ld bc, TenThousandPoints ld [hFarCallTempA], a callba AddBCDScore ld de, $0005 @@ -27699,7 +27699,7 @@ Func_160f0: ; 0x160f0 jr z, .asm_16137 xor a ld [wd5fe], a - ld bc, OneMillionPoints + ld bc, TenThousandPoints ld [hFarCallTempA], a callba AddBCDScore ld de, $0021 @@ -28419,7 +28419,7 @@ Func_1669e: ; 0x1669e ld [wBallYVelocity + 1], a ld a, $1 ld [wd549], a - ld bc, FiveBillionPoints + ld bc, FiveThousandPoints ld [hFarCallTempA], a callba AddBCDScore xor a @@ -28500,7 +28500,7 @@ Func_16781: ; 0x16781 ld a, [wd503] and a jr nz, .asm_167c2 - ld bc, FiveBillionPoints + ld bc, FiveThousandPoints ld [hFarCallTempA], a callba AddBCDScore ld a, [wd502] @@ -28553,7 +28553,7 @@ Func_167ff: ; 0x167ff ld a, [wd503] and a jr nz, .asm_1683e - ld bc, FiveBillionPoints + ld bc, FiveThousandPoints ld [hFarCallTempA], a callba AddBCDScore ld a, [wd502] @@ -28762,7 +28762,7 @@ Func_16d9d: ; 016d9d ld a, $1 ld [wd613], a .asm_16e35 - ld bc, OneHundredBillionPoints + ld bc, TenPoints ld [hFarCallTempA], a callba AddBCDScore ld a, [wd60c] @@ -30237,7 +30237,7 @@ Func_18464: ; 0x18464 ld a, [wd67b] inc a ld [wd67b], a - ld bc, TenMillionPoints + ld bc, OneHundredThousandPoints ld [hFarCallTempA], a callba Func_8588 ld a, $33 @@ -30457,7 +30457,7 @@ Func_1860b: ; 0x1860b ld a, [wd695] inc a ld [wd695], a - ld bc, FiftyMillionPoints + ld bc, FiveHundredThousandPoints ld [hFarCallTempA], a callba Func_8588 ld a, $33 @@ -30698,7 +30698,7 @@ Func_187b1: ; 0x187b1 ld de, $0000 call PlaySong .asm_18826 - ld bc, FiftyThousandPoints + ld bc, FiveMillionPoints ld [hFarCallTempA], a callba Func_8588 ld a, $33 @@ -31030,7 +31030,7 @@ Func_18d34: ; 0x18d34 ld a, [wd7be] and a jr nz, .asm_18d71 - ld bc, OneHundredMillionPoints + ld bc, OneHundredPoints ld [hFarCallTempA], a callba Func_8588 ld a, $ff @@ -31817,7 +31817,7 @@ Func_19531: ; 0x19531 ld a, [wd6af] cp $2 jr nc, .asm_195a2 - ld bc, FiftyThousandPoints + ld bc, FiveMillionPoints ld [hFarCallTempA], a callba Func_8588 ld a, [wd6b0] @@ -32051,7 +32051,7 @@ Func_19701: ; 0x19701 dec de ld a, $2 call Func_19876 - ld bc, TenMillionPoints + ld bc, OneHundredThousandPoints ld [hFarCallTempA], a callba Func_8588 ld de, $0038 @@ -32589,7 +32589,7 @@ Func_19c52: ; 0x19c52 jr z, .asm_19cc8 xor a ld [wd73b], a - ld bc, TenMillionPoints + ld bc, OneHundredThousandPoints ld [hFarCallTempA], a callba Func_8588 ld de, $0035 @@ -32899,7 +32899,7 @@ Func_1aad4: ; 0x1aad4 ld l, a ld de, wDugtrioAnimationFrameCounter call CopyHLToDE - ld bc, FiftyThousandPoints + ld bc, FiveMillionPoints ld [hFarCallTempA], a callba Func_8588 ld de, $0036 @@ -34348,7 +34348,7 @@ Func_1c9c1: ; 0x1c9c1 ld a, $4 ld [hFarCallTempA], a callba Func_10000 - ld bc, FiveHundredMillionPoints + ld bc, FiveHundredPoints ld [hFarCallTempA], a callba AddBCDScore ret @@ -34470,7 +34470,7 @@ Func_1ca85: ; 0x1ca85 ld a, c and a ret z - ld bc, OneHundredBillionPoints + ld bc, TenPoints ld [hFarCallTempA], a callba AddBCDScore ld hl, wd62d @@ -34631,7 +34631,7 @@ Func_1cfaa: ; 0x1cfaa ret z xor a ld [wd51f], a - ld bc, FiftyBillionPoints + ld bc, FivePoints ld [hFarCallTempA], a callba AddBCDScore ld a, [wStageCollisionState] @@ -34862,7 +34862,7 @@ Func_1d133: ; 0x1d133 ld [wBallYVelocity + 1], a ld a, $1 ld [wd549], a - ld bc, FiveBillionPoints + ld bc, FiveThousandPoints ld [hFarCallTempA], a callba AddBCDScore xor a @@ -34940,7 +34940,7 @@ Func_1d216: ; 0x1d216 jr z, .asm_1d253 xor a ld [wd630], a - ld bc, OneMillionPoints + ld bc, TenThousandPoints ld [hFarCallTempA], a callba AddBCDScore ld de, $0005 @@ -35054,7 +35054,7 @@ HandleEnteringCloyster: ; 0x1d32d jr z, .asm_1d36a xor a ld [wd635], a - ld bc, OneMillionPoints + ld bc, TenThousandPoints ld [hFarCallTempA], a callba AddBCDScore ld de, $0005 @@ -35246,7 +35246,7 @@ Func_1d438: ; 0x1d438 ld a, $1 ld [wd613], a asm_1d4fa: ; 0x1d4fa - ld bc, OneHundredBillionPoints + ld bc, TenPoints ld [hFarCallTempA], a callba AddBCDScore ld a, [wd60c] @@ -35832,7 +35832,7 @@ Func_1de22: ; 0x1de22 ld [wd804], a ld a, $2 ld [wd7eb], a - ld bc, FiveHundredMillionPoints + ld bc, FiveHundredPoints ld [hFarCallTempA], a callba AddBCDScore ld de, $000f @@ -36080,7 +36080,7 @@ Func_1e356: ; 0x1e356 jr z, .asm_1e3bf ld [hl], $0 .asm_1e3bf - ld bc, OneHundredMillionPoints + ld bc, OneHundredPoints ld [hFarCallTempA], a callba AddBCDScore ld hl, wd5f9 @@ -36103,7 +36103,7 @@ Func_1e356: ; 0x1e356 ld [wBallTypeCounter], a ld a, $e ld [wBallTypeCounter + 1], a - ld bc, FourHundredMillionPoints + ld bc, FourHundredPoints ld [hFarCallTempA], a callba AddBCDScore ld a, [wBallType] @@ -36130,7 +36130,7 @@ Func_1e356: ; 0x1e356 .masterBall ld de, $0f4d call PlaySoundEffect - ld bc, TenThousandPoints + ld bc, OneMillionPoints ld [hFarCallTempA], a callba Func_8588 ld bc, $0100 @@ -36360,7 +36360,7 @@ Func_1e5c5: ; 0x1e5c5 ld [hl], $1 and a ret nz - ld bc, OneHundredMillionPoints + ld bc, OneHundredPoints ld [hFarCallTempA], a callba AddBCDScore ld hl, wd50f @@ -36375,7 +36375,7 @@ Func_1e5c5: ; 0x1e5c5 ld [wd513], a ld a, $80 ld [wd514], a - ld bc, FourHundredMillionPoints + ld bc, FourHundredPoints ld [hFarCallTempA], a callba AddBCDScore ld de, $0009 @@ -38087,7 +38087,7 @@ Func_200d3: ; 0x200d3 inc a ld [wNumMonHits], a .asm_20116 - ld bc, ThirtyMillionPoints + ld bc, ThreeHundredThousandPoints ld [hFarCallTempA], a callba Func_8588 ld bc, $0030 @@ -38244,7 +38244,7 @@ Func_20230: ; 0x20230 .asm_20264 ld [hFarCallTempA], a callba Func_10184 - ld bc, TenMillionPoints + ld bc, OneHundredThousandPoints ld [hFarCallTempA], a callba Func_8588 ld bc, $0010 @@ -38417,7 +38417,7 @@ Func_20394: ; 0x20394 inc a ld [wNumMonHits], a .asm_203d7 - ld bc, ThirtyMillionPoints + ld bc, ThreeHundredThousandPoints ld [hFarCallTempA], a callba Func_8588 ld bc, $0030 @@ -38574,7 +38574,7 @@ Func_204f1: ; 0x204f1 .asm_20525 ld [hFarCallTempA], a callba Func_10184 - ld bc, TenMillionPoints + ld bc, OneHundredThousandPoints ld [hFarCallTempA], a callba Func_8588 ld bc, $0010 @@ -38691,7 +38691,7 @@ Func_205e0: ; 0x205e0 ld a, Bank(Func_14135) ld hl, Func_14135 call nz, BankSwitch - ld bc, TenThousandPoints + ld bc, OneMillionPoints ld [hFarCallTempA], a callba Func_8588 call Func_30e8 @@ -39138,7 +39138,7 @@ Func_20977: ; 0x20977 ld bc, $0010 call Func_7dc .asm_209bf - ld bc, ThirtyMillionPoints + ld bc, ThreeHundredThousandPoints ld [hFarCallTempA], a callba Func_8588 call Func_30e8 @@ -39185,7 +39185,7 @@ Func_209eb: ; 0x209eb ld [wd556], a ld a, $2 ld [wd557], a - ld bc, ThirtyMillionPoints + ld bc, ThreeHundredThousandPoints ld [hFarCallTempA], a callba Func_8588 call Func_30e8 @@ -39221,7 +39221,7 @@ Func_20a65: ; 0x20a65 ld a, [wIndicatorStates + 1] and a jr z, .asm_20a80 - ld bc, OneMillionPoints + ld bc, TenThousandPoints ld [hFarCallTempA], a callba Func_8588 jr asm_20a9f @@ -39237,7 +39237,7 @@ Func_20a82: ; 0x20a82 ld a, [wIndicatorStates] and a jr z, .asm_20a9d - ld bc, OneMillionPoints + ld bc, TenThousandPoints ld [hFarCallTempA], a callba Func_8588 jr asm_20a9f @@ -39452,7 +39452,7 @@ Func_20c08: ; 0x20c08 ld a, Bank(Func_1c2cb) ld hl, Func_1c2cb call nz, BankSwitch - ld bc, TenThousandPoints + ld bc, OneMillionPoints ld [hFarCallTempA], a callba Func_8588 call Func_30e8 @@ -39879,7 +39879,7 @@ Func_20f75: ; 0x20f75 ld bc, $0010 call Func_7dc .asm_20fc3 - ld bc, ThirtyMillionPoints + ld bc, ThreeHundredThousandPoints ld [hFarCallTempA], a callba Func_8588 call Func_30e8 @@ -39927,7 +39927,7 @@ Func_20fef: ; 0x20fef ld [wd556], a ld a, $2 ld [wd557], a - ld bc, ThirtyMillionPoints + ld bc, ThreeHundredThousandPoints ld [hFarCallTempA], a callba Func_8588 call Func_30e8 @@ -39950,7 +39950,7 @@ Func_2105c: ; 0x2105c ld a, [wIndicatorStates + 1] and a jr z, .asm_21077 - ld bc, OneMillionPoints + ld bc, TenThousandPoints ld [hFarCallTempA], a callba Func_8588 jr asm_210c7 @@ -39999,7 +39999,7 @@ Func_21089: ; 0x21089 ld a, [wIndicatorStates] and a jr z, .asm_210c5 - ld bc, OneMillionPoints + ld bc, TenThousandPoints ld [hFarCallTempA], a callba Func_8588 jr asm_210c7 @@ -40863,7 +40863,7 @@ Func_245ab: ; 0x245ab ld [wd804], a ld de, $0033 call PlaySoundEffect - ld bc, OneBillionPoints + ld bc, OneThousandPoints ld [hFarCallTempA], a callba AddBCDScore xor a @@ -42039,7 +42039,7 @@ Func_24e7f: ; 0x24e7f dec a .asm_24ea6 push af - ld bc, TenMillionPoints + ld bc, OneHundredThousandPoints ld [hFarCallTempA], a callba AddBCDScore ld hl, wMeowthStageScore @@ -42948,7 +42948,7 @@ Func_25e85: ; 0x25e85 ld a, d cp $32 jr nc, .asm_25ead - ld bc, TenMillionPoints + ld bc, OneHundredThousandPoints ld [hFarCallTempA], a callba AddBCDScore pop de @@ -42956,7 +42956,7 @@ Func_25e85: ; 0x25e85 jr .asm_25ebf .asm_25ead - ld bc, FiftyThousandPoints + ld bc, FiveMillionPoints ld [hFarCallTempA], a callba AddBCDScore pop de @@ -48071,7 +48071,7 @@ Func_30164: ; 0x30164 ret .asm_30175 - ld bc, OneHundredThousandPoints + ld bc, TenMillionPoints ld [hFarCallTempA], a callba Func_8588 ld a, $2 -- cgit v1.2.3 From 354bccef2d363c568f64f8ebd79d81f506d05c31 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 18 Jan 2017 21:50:32 -0500 Subject: Split out HOME --- audio/engine_0f.asm | 4 +- home.asm | 6512 +++++++++++++++++++++++++++++++++++++++++++ home/serial.asm | 782 ++++++ home/sgb.asm | 277 ++ hram.asm | 2 + main.asm | 7723 +-------------------------------------------------- wram.asm | 14 +- 7 files changed, 7643 insertions(+), 7671 deletions(-) create mode 100755 home.asm create mode 100755 home/serial.asm create mode 100755 home/sgb.asm diff --git a/audio/engine_0f.asm b/audio/engine_0f.asm index 50dbd6e..573d540 100755 --- a/audio/engine_0f.asm +++ b/audio/engine_0f.asm @@ -5,7 +5,7 @@ Func_3c000: ; 0x3c000 push af call Func_3cb1b ld hl, wdd01 - ld de, $01af + ld de, wdeb0 - wdd01 .clearLoop xor a ld [hli], a @@ -1687,7 +1687,7 @@ Func_3ca2b: ; 0x3ca2b ld h, d add hl, de add hl, hl - ld de, $4b20 ; todo + ld de, $4b20 add hl, de ld e, [hl] inc hl diff --git a/home.asm b/home.asm new file mode 100755 index 0000000..a91ac15 --- /dev/null +++ b/home.asm @@ -0,0 +1,6512 @@ +SECTION "rst 00", ROM0 [$00] + di + jp Entry + +SECTION "rst 10", ROM0 [$10] + jp DelayFrame + +SECTION "rst 18", ROM0 [$18] + jp JumpToFuncInTable + +SECTION "rst 20", ROM0 [$20] + jp Func_486 + +SECTION "VBlankInt", ROM0 [$40] + jp VBlank + +SECTION "HBlankInt", ROM0 [$48] + jp LCD + +SECTION "TimerInt", ROM0 [$50] + jp Timer + +SECTION "SerialInt", ROM0 [$58] + jp Serial + +SECTION "JoypadInt", ROM0 [$60] + jp Joypad + +SECTION "Entry", ROM0 [$100] + +Entry: ; 0x100 + nop + jp Start + +SECTION "Header", ROM0 [$104] + + ; The header is generated by rgbfix. + ; The space here is allocated to prevent code from being overwritten. + ds $150 - $104 + +SECTION "Main", ROM0 [$150] + +Start: ; 0x150 + ld [hGameBoyColorFlag], a + ld sp, hGameBoyColorFlag + di + xor a + ld [rIF], a + ld a, [rLCDC] ; LCD Control + bit 7, a ; Check if LCD Display is enabled + jr nz, .LCDDisplayEnabled + set 7, a + ld [rLCDC], a +.LCDDisplayEnabled + ld bc, $0002 + call SGBWait1750 +.waitForVBlank + ld a, [rLY] ; LY register (LCDC Y-Coordinate) + cp 145 ; > 144 means V-Blank + jr c, .waitForVBlank + ld a, $81 + ld [rLCDC], a ; Enable LCD Display + xor a + ld [rBGP], a ; Clear Palette Data + ld [rOBP0], a + ld [rOBP1], a + ld bc, $0002 + call SGBWait1750 +.waitForVBlank2 + ld a, [rLY] ; LY register (LCDC Y-Coordinate) + cp 145 ; > 144 means V-Blank + jr c, .waitForVBlank2 + xor a + ld [rLCDC], a ; Disable LCD Display + ld hl, wc000 + ld bc, $2000 + call ClearData ; Clear WRAM Bank 0 + ld hl, vTiles0 + ld bc, $1000 + call ClearData ; Clear First half of VRAM + ld a, SRAM_ENABLE + ld [MBC5SRamEnable], a ; Enable RAM + ld a, $1 + ld [MBC5RomBank], a ; Load ROM Bank $1 + ld a, $0 + ld [MBC5RomBankOn], a ; Enable ROM Banking Mode + ld a, $0 + ld [MBC5SRamBank], a ; Set bits 5 and 6 of ROM Bank Number + ld a, $1 + ld [hLoadedROMBank], a + ld a, $1 + ld [MBC5RomBankOn], a ; Enable RAM Banking Mode + ld a, $0 + ld [MBC5SRamBank], a ; Load RAM Bank $0 + ld sp, wdfff ; Initialize stack pointer to the end of WRAM Bank $1 + ld hl, hPushOAM + ld bc, $007e + call ClearData ; Clear High RAM (HRAM) + call WriteDMACodeToHRAM + call ClearOAMBuffer + xor a + ld [wd7fb], a + ld [wd7fc], a + ld [wd7fd], a + ld [hHBlankRoutine], a + ld [$ffb1], a + ld [wd8e1], a + ld [wd7fe], a + ld [hSGBInit], a + ld hl, hLCDC + xor a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld a, $8f + ld [hli], a + ld a, $a6 + ld [hli], a + ld a, $0 + ld [wd849], a + ld [wd84a], a + ld a, Bank(PlaySong_BankF) + call SetSongBank + call Func_23b + ld a, [hGameBoyColorFlag] + and a + jr nz, .asm_222 + call InitSGB + rl a + and $1 + ld [hSGBFlag], a + call SendSGBBorder + ld a, [hSGBFlag] + and a + jr z, .asm_222 + ld a, $1 + ld [wd917], a +.asm_222 + ld a, $1 + ld [rIE], a ; Only enable LCD Status interrupt + ei + ld a, $ff + ld [wd810], a + call Func_97a + xor a + ld [wdaa3], a + ld a, BANK(Func_1ffc) + ld hl, Func_1ffc + call BankSwitchSimple +Func_23b: ; 0x23b + ld a, [hGameBoyColorFlag] + cp $11 + jr nz, .asm_248 + ld a, $1 + ld [hGameBoyColorFlag], a + ld [$fffd], a + ret + +.asm_248 + xor a + ld [hGameBoyColorFlag], a + ld [$fffd], a + ret + +SoftReset: + di + ld sp, hGameBoyColorFlag + xor a + ld [rIF], a + ld bc, $2 + call SGBWait1750 + ld hl, wc000 + ld bc, $2000 + call ClearData + ld hl, $8000 + ld bc, $1000 + call ClearData + ld a, SRAM_ENABLE + ld [MBC5SRamEnable], a + ld a, $1 + ld [MBC5RomBank], a + ld a, $0 + ld [MBC5RomBankOn], a + ld a, $0 + ld [MBC5SRamBank], a + ld a, $1 + ld [hLoadedROMBank], a + ld a, $1 + ld [MBC5RomBankOn], a + ld a, $0 + ld [MBC5SRamBank], a + ld sp, wdfff + call WriteDMACodeToHRAM + call ClearOAMBuffer + xor a + ld [wd7fb], a + ld [wd7fc], a + ld [wd7fd], a + ld [hHBlankRoutine], a + ld [$ffb1], a + ld [wd8e1], a + ld [wd7fe], a + ld hl, hLCDC + xor a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld a, $8f + ld [hli], a + ld a, $a6 + ld [hli], a + ld a, $0 + ld [wd849], a + ld [wd84a], a + ld a, $f + call SetSongBank + ld a, [hSGBFlag] + and a + jr z, .asm_02d5 + ld a, $1 + ld [wd917], a +.asm_02d5 + ld a, $1 + ld [rIE], a + ei + ld a, $ff + ld [wd810], a + call Func_97a + ld a, [hGameBoyColorFlag] + ld [$fffd], a + xor a + ld [wdaa3], a + ld a, $0 + ld hl, Func_1ffc + call BankSwitchSimple + ; fallthrough + +VBlank: ; 0x2f2 + push af + push bc + push de + push hl + call hPushOAM ; OAM DMA transfer + ld a, [hLCDC] + ld [rLCDC], a + call Func_113a + ei + ld a, [rLY] + cp $90 + jr c, .asm_328 + ld hl, hSTAT + ld c, rSTAT - $ff00 + ld a, [hli] + ld [$ff00+c], a + inc c + ld a, [hli] + ld [$ff00+c], a + inc c + ld a, [hli] + ld [$ff00+c], a + inc c + inc c + ld a, [hli] + ld [$ff00+c], a + inc c + inc c + ld a, [hli] + ld [$ff00+c], a + inc c + ld a, [hli] + ld [$ff00+c], a + inc c + ld a, [hli] + ld [$ff00+c], a + inc c + ld a, [hli] + ld [$ff00+c], a + inc c + ld a, [hli] + ld [$ff00+c], a +.asm_328 + ld a, [hLYC] + ld [hLastLYC], a + ld a, [hNextLYCSub] + ld [hLYCSub], a + ld a, [hNextFrameHBlankSCX] + ld [hHBlankSCX], a + ld a, [hNextFrameHBlankSCY] + ld [hHBlankSCY], a + call ReadJoypad + ld a, [wdaa3] + and a + jr nz, .asm_359 + ld a, [hJoypadState] + cp $f + jr nz, .asm_359 + ld a, [hNewlyPressedButtons] + and $f + jr z, .asm_359 + ld hl, [sp+$8] + ld [hl], $c3 + inc hl + ld [hl], $3 + ld a, $1 + ld [wdaa3], a +.asm_359 + ld hl, hNumFramesSinceLastVBlank + ld a, [hl] + inc [hl] + and a + jr nz, .asm_365 + ld hl, hNumFramesDropped + inc [hl] +.asm_365 + ld hl, hVBlankCount + inc [hl] + ld a, [wd8e1] + and a + call nz, Func_167b + ld a, [wd849] + and a + jr nz, .asm_37d + ld a, [wd85d] + and a + call nz, Func_504 +.asm_37d + ld a, [wd84a] + and a + jr z, .asm_39d + xor a + ld [wd84a], a + ld a, $1 + ld [wd849], a + ld a, $bc + ld [rTMA], a + ld a, $0 + ld [rTAC], a + ld hl, rIE + set 2, [hl] + ld a, $4 + ld [rTAC], a +.asm_39d + ld hl, MBC5SRamBank + ld a, [wd917] + and a + jr nz, .asm_3b5 + ld a, [wd803] + rrca + ld [wd803], a + and $1 + jr z, .asm_3b5 + set 3, [hl] + jr .asm_3b7 + +.asm_3b5 + res 3, [hl] +.asm_3b7 + ld a, [wd4aa] + and a + call nz, Func_e69 + pop hl + pop de + pop bc + pop af + reti + +Func_3c3: + ld a, [rLCDC] + bit 7, a + jr z, .asm_03cf + call Func_cb5 + call Func_576 +.asm_03cf + ld hl, hSTAT + res 6, [hl] + ld hl, rIE + res 1, [hl] + xor a + ld [MBC5SRamEnable], a + ld [rSB], a + ld [rSC], a + ld [rIE], a + ld [rNR52], a + ld a, [$fffd] + ld [hGameBoyColorFlag], a + jp SoftReset + +LCD: ; 0x3ec + push af + push bc + push de + push hl + ld a, [hHBlankRoutine] + sla a + ld c, a + ld b, $0 + ld hl, PointerTable_408 + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] + +Func_3ff: ; 0x3ff + ld a, $1 + ld [$ffb5], a + pop hl + pop de + pop bc + pop af + reti + +PointerTable_408: ; 0x408 + dw Func_fbc + dw Func_fbf + dw Func_fea + dw Func_105d + dw Func_109e + dw Func_10a1 + dw Func_10a4 + dw Func_10a7 + +Timer: ; 0x418 + ei + push af + push bc + push de + push hl + ld a, [wd849] + and a + jr z, .asm_42a + ld a, [wd85d] + and a + call nz, Func_504 +.asm_42a + ld a, [wd84a] + and a + jr z, .asm_440 + xor a + ld [wd84a], a + ld [wd849], a + ld a, $0 + ld [rTAC], a + ld hl, rIE + res 2, [hl] +.asm_440 + pop hl + pop de + pop bc + pop af + reti + +Serial: ; 0x445 + push af + push bc + push de + push hl + ld hl, Data_45d + push hl + ld a, [$ffb1] + sla a + ld c, a + ld b, $0 + ld hl, Data_462 + add hl, bc + ld c, [hl] + inc hl + ld b, [hl] + push bc + ret + +Data_45d: + db $e1, $d1, $c1, $f1, $d9 + +Data_462: + db $64, $16, $66, $04, $c9 + +Joypad: ; 0x467 + reti + +DelayFrame: ; 0x468 + ld a, [rLCDC] + bit 7, a + ret z + ld hl, hNumFramesSinceLastVBlank + xor a + ld [hl], a +.asm_472 + ld a, [hl] + and a + jr z, .asm_472 + ret + +JumpToFuncInTable: ; 0x477 +; Jumps to a function in the pointer table immediately following +; a "rst JumpTable" call. Function must be in the same Bank as the pointer table. +; input: a = index of function in table + sla a + pop hl + push de + ld e, a + ld d, $0 + add hl, de + ld e, [hl] + inc hl + ld d, [hl] + ld l, e + ld h, d + pop de + jp [hl] + +Func_486: ; 0x486 + rlca + add l + ld l, a + jr nc, .noCarry + inc h +.noCarry + ld a, [hli] + ld h, [hl] + ld l, a + ret + +PlaySong: ; 0x490 + ld a, [hLoadedROMBank] + push af + ld a, [wCurrentSongBank] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld a, e + ld [wd7bf], a + ld a, [wCurrentSongBank] + ld [wd7c0], a + call PlaySong_BankF ; this function is replicated in multiple banks. + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ret + +PlaySoundEffect: ; 0x4af +; input: de = sound effect id? I think d specifies something special and e holds the id + ld a, [wdead] + and a + ret nz + ld a, [wd800] + and a + jr z, .asm_4bd + ld a, d + and a + ret z +.asm_4bd + ld a, d + ld [wd800], a + ld d, $0 + ld a, [hLoadedROMBank] + push af + ld a, [wCurrentSongBank] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + call PlaySoundEffect_BankF ; this function is replicated in multiple banks + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ret + +Func_4d8: ; 0x4d8 + push bc + push de + push hl + ld a, [wddcb] + ld hl, wddfd + or [hl] + ld hl, wde2f + or [hl] + and $1 + call z, PlaySoundEffect + pop hl + pop de + pop bc + ret + +PlayCry: ; 0x4ef +; Plays a Pokemon cry. +; Input: e = mon id + ld a, [hLoadedROMBank] + push af + ld a, [wCurrentSongBank] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + call PlayCry_BankF ; this function is replicated in multiple banks + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ret + +Func_504: ; 0x504 + ld a, [hLoadedROMBank] + push af + ld a, [wCurrentSongBank] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + call $4180 + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld a, [wd801] + inc a + ld [wd801], a + and $3 + ret nz + ld a, [wd800] + and a + ret z + dec a + ld [wd800], a + ret + +SetSongBank: ; 0x52c + di + ld [wCurrentSongBank], a + ei + ret + +CallInFollowingTable: ; 0x532 +; Calls a function in a table located immediately after a call to this function. +; Inputs: a = entry in the table + ld e, a + ld d, $0 + sla e + rl d + sla e + rl d ; multiplied a by 4 because entries in the table are 4 bytes each + pop hl + add hl, de + ld e, [hl] + inc hl + ld d, [hl] + inc hl + ld a, [hl] + ld h, d + ld l, e + jp BankSwitch + +BankSwitchSimple: ; 0x549 +; Switches to Bank in register a and jumps to hl. + ld [hLoadedROMBank], a + ld [MBC5RomBank], a ; Load Bank + jp [hl] + +BankSwitch: ; 0x54f + ld e, a + ld a, [hLoadedROMBank] ; currently-loaded Bank + cp e + jr z, .doJump + push af + ld a, e + call .loadNewBank + call .doJump + pop de + ld a, d +.loadNewBank + push hl + push de + ld hl, rIE + ld d, [hl] + ld [hl], $0 + ld [MBC5RomBank], a + ld [hLoadedROMBank], a + ld [hl], d + pop de + pop hl + ret + +.doJump + ld a, [hFarCallTempE] + ld e, a + ld a, [hFarCallTempA] + jp [hl] + +Func_576: ; 0x576 + ld a, [rLCDC] + bit 7, a + ret z + ld a, [hLCDC] + res 7, a + ld [hLCDC], a +.asm_581 + ld a, [rLCDC] + bit 7, a + jr nz, .asm_581 + ret + +Func_588: ; 0x588 + ld a, [hFFC4] + and a + call nz, Func_597 + ld a, [hLCDC] + set 7, a + ld [rLCDC], a + ld [hLCDC], a + ret + +Func_597: ; 0x597 + ld de, rBGPI + ld a, $80 + ld [de], a + inc de + ld b, $8 +.asm_5a0 + ld a, [wd80c] + call Func_5c2 + dec b + jr nz, .asm_5a0 + ld de, rOBPI + ld a, $80 + ld [de], a + inc de + ld b, $4 +.asm_5b2 + ld a, [wd80d] + call Func_5c2 + ld a, [wd80e] + call Func_5c2 + dec b + jr nz, .asm_5b2 + ret + +Func_5c2: ; 0x5c2 + push bc + ld b, $4 +.asm_5c5 + push af + push bc + and $3 + sla a + ld c, a + ld b, $0 + ld hl, Data_5e1 + add hl, bc + ld a, [hli] + ld [de], a + ld a, [hli] + ld [de], a + pop bc + pop af + srl a + srl a + dec b + jr nz, .asm_5c5 + pop bc + ret + +Data_5e1: + dr $5e1, $5e9 + +Func_5e9: + ld a, [rIE] + res 0, a + ld [rIE], a + ret + +Func_5f0: + ld a, [rIE] + set 0, a + ld [rIE], a + ret + +WriteDMACodeToHRAM: ; 0x5f7 +; Initializes registers hPushOAM - hFarCallTempA + ld c, $80 + ld b, $a ; number of bytes to load + ld hl, DMARoutine +.loop + ld a, [hli] + ld [$ff00+c], a ; add register c to $ff00, and store register a into the resulting address + inc c + dec b + jr nz, .loop + ret + +DMARoutine: +; This routine is initially loaded into hPushOAM - hFarCallTempA by WriteDMACodeToHRAM. + ld a, (wOAMBuffer >> 8) + ld [rDMA], a ; start DMA + ld a, $28 +.waitLoop ; wait for DMA to finish + dec a + jr nz, .waitLoop + ret + +WaitForLCD: ; 0x60f +; Wait for LCD controller to stop reading from both OAM and VRAM because +; CPU can't access OAM, VRAM, or palette data ($ff69, $ff6b) during this time. + ld a, [rSTAT] ; LCDC Status register + and $3 + jr nz, WaitForLCD + ld a, $a +.delay10Cycles + dec a + jr nz, .delay10Cycles + ret + +Func_61b: ; 0x61b + ld a, [rLY] ; LY register (LCDC Y-Coordinate) + cp $40 + jr c, .asm_625 + cp $80 + jr c, .asm_63d +.asm_625 + ld a, [rLY] ; LY register (LCDC Y-Coordinate) + cp $40 + jr c, .asm_625 + cp $80 + jr nc, .asm_625 +.asm_62f + ld a, [rSTAT] + and $3 + jr nz, .asm_62f ; wait for lcd controller to finish transferring data + ld a, $15 +.wait + dec a + jr nz, .wait + nop + nop + nop +.asm_63d + ret + +Func_63e: ; 0xc3e + dec bc +.asm_63f + ld [hli], a + dec bc + bit 7, b + jr z, .asm_63f + ret + +Func_646: + srl b + rr c +.asm_064a + ld a, e + ld [hli], a + ld a, d + ld [hli], a + dec bc + ld a, b + or c + jr nz, .asm_064a + ret + +ClearData: ; 0x654 +; Clears bc bytes starting at hl. +; bc can be a maximum of $7fff, since it checks bit 7 of b when looping. + xor a + dec bc +.clearLoop + ld [hli], a + dec bc + bit 7, b + jr z, .clearLoop + ret + +LocalCopyData: ; 0x65d + ld a, [hli] + ld [de], a + inc de + dec bc + ld a, c + or b + jr nz, LocalCopyData + ret + +FarCopyData: ; 0x666 spooky +; Copies data from any bank to either working RAM or video RAM +; Input: hl = address of data to copy +; a = bank of data to copy +; de = destination for data +; bc = number of bytes to copy + bit 7, h + jr nz, .copyFromSRAM + ld [hROMBankBuffer], a + ld a, [hLoadedROMBank] + push af + ld a, [hROMBankBuffer] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + scf + jr .copyData + +.copyFromSRAM + ld [MBC5SRamBank], a + and a +.copyData + push af +.copyLoop + ld a, [hli] + ld [de], a + inc de + dec bc + ld a, c + or b + jr nz, .copyLoop + pop af + ret nc + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ret + +ReadByteFromBank: ; 0x68f +; Input: a = bank +; hl = address of byte to read +; Output: a = byte at a:hl + push de + ld d, a + ld a, [hLoadedROMBank] + ld e, a + ld a, d + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld d, [hl] + ld a, e + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld a, d + pop de + ret + +LoadVideoData: ; 0x6a4 +; Input: +; hl = address of pointer table +; a = index of item to load in pointer table +; This needs more documentation. It loads things like graphics and palettes. + sla a + ld c, a + ld b, $0 + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a +.loadItem + ld a, [hli] + ld c, a + and [hl] + cp $ff ; two consecutive $ff bytes terminate the array + ret z + ld a, [hli] + ld b, a ; bc contains pointer to data to be loaded + push hl + push bc + ld a, [hli] ; a contains bank of data to be loaded + ld e, [hl] + inc hl + ld d, [hl] ; de contains destination address for data + inc hl + ld c, [hl] + inc hl + ld b, [hl] ; bc contains last word of data struct + inc hl ; this is a wasted instruction + pop hl + call Func_6cb + pop hl + ld bc, $0005 + add hl, bc + jr .loadItem + +Func_6cb: ; 0x6cb + srl b + rr c + jp c, Func_6fd ; if lowest bit of bc is set + jp Func_6d5 ; This jumps to the next instruction... Strange. + +Func_6d5: ; 0x6d5 + ld [hROMBankBuffer], a ; save bank of data to be loaded + ld a, [hLoadedROMBank] + push af + ld a, [hROMBankBuffer] ; a contains bank of data to be loaded + ld [hLoadedROMBank], a + ld [MBC5RomBank], a ; switch bank to the bank of data to be loaded + srl b + rr c + rl a + and $1 ; checks bit 1 of the last word in the data struct + ld [rVBK], a ; set VRAM Bank +.copyByte + ld a, [hli] + ld [de], a + inc de + dec bc + ld a, c + or b ; does bc = 0? + jr nz, .copyByte + xor a + ld [rVBK], a ; set VRAM Bank to Bank 0 + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a ; reload the previous ROM Bank + ret + +Func_6fd: ; 0x6fd + ld [hROMBankBuffer], a ; save bank of data to be loaded + ld a, [hLoadedROMBank] + push af + ld a, [hROMBankBuffer] ; a contains bank of data to be loaded + ld [hLoadedROMBank], a + ld [MBC5RomBank], a ; switch bank to the bank of data to be loaded + ld a, e + bit 6, a + jr nz, .asm_717 + ld de, rBGPI + call Func_724 + jr z, .asm_71d + xor a +.asm_717 + ld de, rOBPI + call Func_724 +.asm_71d + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ret + +Func_724: ; 0x724 + res 6, a + ld b, a + set 7, a + ld [de], a + inc de +.copyByte + ld a, [hli] + ld [de], a + inc b + dec c + ret z + bit 6, b + jr z, .copyByte + ret + +LoadOrCopyVRAMData: ; 0x735 + push hl + ld hl, rLCDC + bit 7, [hl] + pop hl + jp z, FarCopyData + ; fall through +LoadVRAMData: ; 0x73f +; This loads some data into VRAM. It waits for the LCD H-Blank to copy the data 4 bytes at a time. +; input: hl = source of data +; a = bank of data to load +; de = destination of data +; bc = number of bytes to copy + bit 7, h + jr nz, .asm_752 + ld [hROMBankBuffer], a + ld a, [hLoadedROMBank] + push af + ld a, [hROMBankBuffer] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + scf + jr .asm_756 + +.asm_752 + ld [MBC5SRamBank], a + and a +.asm_756 + push af + call WaitForLCD +.loop + call Func_61b +.waitForHBlank + ld a, [rSTAT] + and $3 + jr nz, .waitForHBlank + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + dec bc + dec bc + dec bc + dec bc + nop + nop + nop + nop + ld a, b + or c + jr nz, .loop + pop af + ret nc + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ret + +FarCopyPalettes: ; 0x790 + push hl + ld hl, rLCDC + bit 7, [hl] + pop hl + jp nz, Func_7dc + bit 7, h + jr nz, .asm_7ad + ld [hROMBankBuffer], a + ld a, [hLoadedROMBank] + push af + ld a, [hROMBankBuffer] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + scf + jr .asm_7b1 + +.asm_7ad + ld [MBC5SRamBank], a + and a +.asm_7b1 + push af + ld a, e + bit 6, e + ld de, rBGPI + jr z, .asm_7bf + res 6, a + ld de, rOBPI +.asm_7bf + set 7, a + ld [de], a + inc de +.asm_7c3 + ld a, [hli] + ld [de], a + ld a, [hli] + ld [de], a + ld a, [hli] + ld [de], a + ld a, [hli] + ld [de], a + dec bc + dec bc + dec bc + dec bc + ld a, b + or c + jr nz, .asm_7c3 + pop af + ret nc + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ret + +Func_7dc: ; 0x7dc + bit 7, h + jr nz, .asm_7ef + ld [hROMBankBuffer], a + ld a, [hLoadedROMBank] + push af + ld a, [hROMBankBuffer] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + scf + jr .asm_7f3 + +.asm_7ef + ld [MBC5SRamBank], a + and a +.asm_7f3 + push af + ld a, e + bit 6, e + ld de, rBGPI + jr z, .asm_801 + res 6, a + ld de, rOBPI +.asm_801 + push hl + ld h, d + ld l, e + set 7, a + call PutTileInVRAM + inc de + pop hl + call WaitForLCD +.asm_80e + call Func_61b +.asm_811 + ld a, [rSTAT] + and $3 + jr nz, .asm_811 + ld a, [hli] + ld [de], a + ld a, [hli] + ld [de], a + ld a, [hli] + ld [de], a + ld a, [hli] + ld [de], a + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + dec bc + dec bc + dec bc + dec bc + nop + nop + nop + nop + ld a, b + or c + jr nz, .asm_80e + pop af + ret nc + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ret + +PutTileInVRAM: ; 0x848 +; Puts a tile in VRAM. +; input: a = tile number +; hl = pointer to VRAM location where tile should be placed + push af + call WaitForLCD + call Func_61b +.asm_84f + ld a, [rSTAT] + and $3 + jr nz, .asm_84f ; wait for lcd controller to finish transferring data + pop af + ld [hl], a ; Store tile number in VRAM background map + ret + +Func_858: ; 0x858 + push af + call WaitForLCD + call Func_61b +.asm_85f + ld a, [rSTAT] + and $3 + jr nz, .asm_85f + ld a, $1 + ld [rVBK], a + pop af + ld [hl], a + xor a + ld [rVBK], a + ret + +Func_86f: ; 0x86f + ld [hROMBankBuffer], a + ld a, [hLoadedROMBank] + push af + ld a, [hROMBankBuffer] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld a, [rLCDC] + bit 7, a + jr nz, .asm_8ac + ld a, $1 + ld [rVBK], a + ld b, $4 +.asm_887 + push bc + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld bc, $001a + add hl, bc + pop bc + dec b + jr nz, .asm_887 + xor a + ld [rVBK], a + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ret + +.asm_8ac + ld b, $4 +.asm_8ae + push bc + ld a, [de] + call Func_858 + inc hl + inc de + ld a, [de] + call Func_858 + inc hl + inc de + ld a, [de] + call Func_858 + inc hl + inc de + ld a, [de] + call Func_858 + inc hl + inc de + ld a, [de] + call Func_858 + inc hl + inc de + ld a, [de] + call Func_858 + inc de + ld bc, $001b + add hl, bc + pop bc + dec b + jr nz, .asm_8ae + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ret + +Func_8e1: ; 0x8e1 + ld [hROMBankBuffer], a + ld a, [hLoadedROMBank] + push af + ld a, [hROMBankBuffer] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld a, [rLCDC] + bit 7, a + jr nz, .asm_902 + ld a, c + ld [hli], a +.asm_8f5 + ld a, [de] + ld [hl], a + inc de + dec b + jr nz, .asm_8f5 + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ret + +.asm_902 + ld a, c + call PutTileInVRAM + inc hl +.asm_907 + ld a, [de] + call PutTileInVRAM + inc de + dec b + jr nz, .asm_907 + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ret + +ClearOAMBuffer: ; 0x916 +; Clears the OAM buffer by loading $f0 into all of the entries. + ld hl, wOAMBuffer ; 0xd000 + ld b, 4 * 40 ; wOAMBuffer is 4 * 40 bytes long (40 OAM entries, 4 bytes each) + ld a, $f0 ; byte to write +.loop + ld [hli], a + dec b + jr nz, .loop + xor a + ld [wOAMBufferSize], a + ret + +Func_926: ; 0x926 + ld a, [wOAMBufferSize] + cp wOAMBufferEnd % $100 + jr nc, .asm_93a + ld l, a + ld h, wOAMBufferEnd / $100 + cpl + add (wOAMBufferEnd + 1) % $100 + ld b, a + ld a, $f0 +.asm_936 + ld [hli], a + dec b + jr nz, .asm_936 +.asm_93a + xor a + ld [wOAMBufferSize], a + ret + +AdvanceFrames: ; 0x93f + push bc + rst AdvanceFrame + pop bc + dec bc + ld a, c + or b + jr nz, AdvanceFrames + ret + +SGBWait1750: ; 0x948 + ld de, 1750 +.asm_94b + nop + nop + nop + dec de + ld a, d + or e + jr nz, .asm_94b + dec bc + ld a, b + or c + jr nz, SGBWait1750 + ret + +GenRandom: ; 0x959 + push bc + push de + push hl + ld a, [wd811] + ld c, a + ld b, $0 + inc a + cp $37 + jr nz, .asm_96e + call Func_9fa + xor a + ld bc, $0000 +.asm_96e + ld [wd811], a + ld hl, wd812 + add hl, bc + ld a, [hl] + pop hl + pop de + pop bc + ret + +Func_97a: ; 0x97a + ld a, [wd810] + ld d, a + ld a, $0 + ld a, [$afff] +.asm_983 + cp d + jr c, .asm_989 + sub d + jr .asm_983 + +.asm_989 + ld [wd80f], a + ld [wd848], a + ld e, $1 + ld hl, Data_9c4 + ld a, $36 +.asm_996 + push af + ld c, [hl] + inc hl + ld b, $0 + push hl + ld hl, wd812 + add hl, bc + ld [hl], e + ld a, [wd80f] + sub e + jr nc, .asm_9a8 + add d +.asm_9a8 + ld e, a + ld a, [hl] + ld [wd80f], a + pop hl + pop af + dec a + jr nz, .asm_996 + call Func_9fa + call Func_9fa + call Func_9fa + ld a, $0 + call GenRandom + ld [$afff], a + ret + +Data_9c4: + db $14, $29, $07, $1c, $31, $0f, $24, $02, $17 + db $2c, $0a, $1f, $34, $12, $27, $05, $1a, $2f + db $0d, $22, $00, $15, $2a, $08, $1d, $32, $10 + db $25, $03, $18, $2d, $0b, $20, $35, $13, $28 + db $06, $1b, $30, $0e, $23, $01, $16, $2b, $09 + db $1e, $33, $11, $26, $04, $19, $2e, $0c, $21 + +Func_9fa: ; 0x9fa + ld a, [wd810] + ld d, a + ld bc, wd812 + ld hl, wd831 + ld e, $18 +.asm_a06 + ld a, [bc] + sub [hl] + jr nc, .asm_a0b + add d +.asm_a0b + ld [bc], a + dec e + jr nz, .asm_a06 + ld bc, wd82a + ld hl, wd812 + ld e, $1f +.asm_a17 + ld a, [bc] + sub [hl] + jr nc, .asm_a1c + add d +.asm_a1c + ld [bc], a + dec e + jr nz, .asm_a17 + ret + +Func_a21: ; 0xa21 + push bc + push hl + ld c, a + ld b, $0 + ld hl, Data_a38 + add hl, bc + ld l, [hl] + call GenRandom + call Func_dd4 + inc h + srl h + ld a, h + pop hl + pop bc + ret + +Data_a38: +x = 0 +REPT 128 + db x +x = x + 2 +IF x == $80 +x = x + 1 +ENDC +ENDR + +ReadJoypad: ; 0xab8 +; Reads the current state of the joypad and saves the state into +; some registers the game uses during gameplay. It remembers the joypad state +; from the current frame, previous frame, and two frames ago. + ld a, $20 + ld [rJOYP], a + ld a, [rJOYP] + ld a, [rJOYP] + and $f + swap a + ld b, a + ld a, $30 + ld [rJOYP], a + ld a, $10 + ld [rJOYP], a + ld a, [rJOYP] + ld a, [rJOYP] + ld a, [rJOYP] + ld a, [rJOYP] + ld a, [rJOYP] + ld a, [rJOYP] + and $f + or b + cpl ; a contains currently-pressed buttons + ld [hJoypadState], a + ld a, $30 + ld [rJOYP], a + ld a, [hJoypadState] + ld hl, hPreviousJoypadState + xor [hl] ; a contains buttons that are different from previous frame + push af + ld hl, hJoypadState + and [hl] ; a contains newly-pressed buttons compared to last frame + ld [hNewlyPressedButtons], a + ld [hPressedButtons], a + pop af + ld hl, hPreviousJoypadState + and [hl] ; a contains newly-pressed buttons compared to two frames ago + ld [hPrevPreviousJoypadState], a + ld a, [hJoypadState] + and a + jr z, .asm_b15 + ld hl, hPreviousJoypadState + cp [hl] + jr nz, .asm_b15 + ; button(s) is pressed, and they're identical to the buttons pressed last frame. + ; this code is related to holding down a button for an extended period of time. + ld hl, hJoyRepeatDelay + dec [hl] + jr nz, .asm_b1a + ld a, [hJoypadState] + ld [hPressedButtons], a + ld a, [wd807] + ld [hJoyRepeatDelay], a + jr .asm_b1a + +.asm_b15 + ld a, [wd806] + ld [hJoyRepeatDelay], a +.asm_b1a + ld a, [hJoypadState] + ld [hPreviousJoypadState], a + ld hl, wd808 + ld a, [hJoypadState] + or [hl] + ld [hli], a + ld a, [hNewlyPressedButtons] + or [hl] + ld [hli], a + ld a, [hPressedButtons] + or [hl] + ld [hli], a + ret + +Func_b2e: ; 0xb2e + ld hl, wd808 + xor a + ld [hli], a + ld [hli], a + ld [hl], a + ret + +IsKeyPressed2: ; 0xb36 + ld a, [hJoypadState] + and [hl] + jr z, .asm_b3e + cp [hl] + jr z, .asm_b48 +.asm_b3e + inc hl + ld a, [hJoypadState] + and [hl] + ret z + cp [hl] + jr z, .asm_b48 + xor a + ret + +.asm_b48 + ld a, $1 + and a + ret + +IsKeyPressed: ; 0xb4c +; Checks if a key for the specified key config is pressed. +; input: hl = pointer to key config byte pair (e.g. wKeyConfigLeftFlipper) +; output: zero flag is set if a corresponding key is pressed +; zero flag is reset if no corresponding key is pressed + ld a, [hJoypadState] + and [hl] + jr z, .asm_b58 + cp [hl] + jr nz, .asm_b58 + ld a, [hNewlyPressedButtons] + and [hl] + ret nz +.asm_b58 + inc hl + ld a, [hJoypadState] + and [hl] + ret z + cp [hl] + jr nz, .asm_b64 + ld a, [hNewlyPressedButtons] + and [hl] + ret + +.asm_b64 + xor a + ret + +Func_b66: ; 0xb66 + ld a, [hGameBoyColorFlag] + and a + jr nz, .asm_b73 + xor a + ld [hBGP], a + ld [hOBP0], a + ld [hOBP1], a + ret + +.asm_b73 + ld de, rBGPI + ld hl, wPaletteData + ld b, $0 + ld c, $20 +.asm_b7d + ld a, b + ld [rBGPI], a + inc b + ld a, [rBGPD] + ld [hli], a + ld a, b + ld [rBGPI], a + inc b + ld a, [rBGPD] + ld [hli], a + dec c + jr nz, .asm_b7d + ld b, $0 + ld c, $20 +.asm_b92 + ld a, b + ld [rOBPI], a + inc b + ld a, [rOBPD] + ld [hli], a + ld a, b + ld [rOBPI], a + inc b + ld a, [rOBPD] + ld [hli], a + dec c + jr nz, .asm_b92 + ld de, rBGPI + ld b, $2 +.asm_ba8 + ld a, $80 + ld [de], a + inc de + ld c, $20 +.asm_bae + ld a, $ff + ld [de], a + ld [hli], a + ld a, $7f + ld [de], a + ld [hli], a + dec c + jr nz, .asm_bae + inc de + dec b + jr nz, .asm_ba8 + ret + +Func_bbe: ; 0xbbe + ld a, [hGameBoyColorFlag] + and a + jp nz, Func_c19 + ld hl, hBGP + ld de, wd80c + ld b, $3 +.asm_bcc + ld a, [de] + and $55 + ld c, a + ld a, [de] + and $aa + srl a + and c + ld [hli], a + inc de + dec b + jr nz, .asm_bcc + ld bc, $0002 + call AdvanceFrames + ld hl, hBGP + ld de, wd80c + ld b, $3 +.asm_be9 + ld a, [de] + and $aa + srl a + add [hl] + ld [hli], a + inc de + dec b + jr nz, .asm_be9 + ld bc, $0002 + call AdvanceFrames + ld hl, hBGP + ld de, wd80c + ld b, $3 +.asm_c02 + ld a, [de] + and $55 + ld c, a + ld a, [de] + and $aa + srl a + or c + add [hl] + ld [hli], a + inc de + dec b + jr nz, .asm_c02 + ld bc, $0002 + call AdvanceFrames + ret + +Func_c19: ; 0xc19 + ld b, $10 +.asm_c1b + push bc + ld de, wPaletteData + ld hl, wd280 + call Func_c2d + call Func_d61 + pop bc + dec b + jr nz, .asm_c1b + ret + +Func_c2d: ; 0xc2d + ld a, b + cp $1 + jr z, .asm_c49 + ld c, $40 +.asm_c34 + push bc + ld a, [hli] + sub $42 + ld c, a + ld a, [hld] + sbc $8 + ld b, a + call Func_c60 + ld a, c + ld [hli], a + ld a, b + ld [hli], a + pop bc + dec c + jr nz, .asm_c34 + ret + +.asm_c49 + ld c, $40 +.asm_c4b + push bc + ld a, [hli] + sub $21 + ld c, a + ld a, [hld] + sbc $4 + ld b, a + call Func_c60 + ld a, c + ld [hli], a + ld a, b + ld [hli], a + pop bc + dec c + jr nz, .asm_c4b + ret + +Func_c60: ; 0xc60 + push hl + ld a, [de] + and $1f + ld l, a + ld a, c + and $1f + cp l + jr nc, .asm_c70 + ld a, c + and $e0 + or l + ld c, a +.asm_c70 + ld a, [de] + and $e0 + ld l, a + inc de + ld a, [de] + srl a + rr l + srl a + rr l + ld a, c + and $e0 + ld h, a + ld a, b + srl a + rr h + srl a + rr h + ld a, h + cp l + jr nc, .asm_ca3 + ld h, $0 + sla l + rl h + sla l + rl h + ld a, c + and $1f + or l + ld c, a + ld a, b + and $7c + or h + ld b, a +.asm_ca3 + ld a, [de] + and $7c + ld l, a + ld a, b + and $7c + cp l + jr nc, .asm_cb2 + ld a, b + and $3 + or l + ld b, a +.asm_cb2 + inc de + pop hl + ret + +Func_cb5: ; 0xcb5 + ld a, [hGameBoyColorFlag] + and a + jp nz, Func_cee + ld hl, hBGP + ld b, $3 +.asm_cc0 + push bc + push hl + ld b, $3 +.asm_cc4 + ld a, [hl] + and $55 + ld c, a + ld a, [hl] + and $aa + srl a + or c + cpl + inc a + add [hl] + ld [hli], a + dec b + jr nz, .asm_cc4 + ld bc, $0002 + call AdvanceFrames + pop hl + pop bc + dec b + jr nz, .asm_cc0 + xor a + ld hl, hBGP + ld [hli], a + ld [hli], a + ld [hl], a + ld bc, $0002 + call AdvanceFrames + ret + +Func_cee: ; 0xcee + ld hl, wd280 + ld de, rBGPI + call Func_d9d + ld hl, wd2c0 + ld de, rOBPI + call Func_d9d + ld b, $10 +.asm_d02 + push bc + ld hl, wd280 + call Func_d11 + call Func_d61 + pop bc + dec b + jr nz, .asm_d02 + ret + +Func_d11: ; 0xd11 + ld b, $40 +.asm_d13 + ld a, [hl] + and $1f + add $2 + ld e, a + cp $1f + jr c, .asm_d1f + ld e, $1f +.asm_d1f + ld a, [hl] + and $e0 + or e + ld [hl], a + ld a, [hli] + and $e0 + ld e, [hl] + dec hl + srl e + rr a + srl e + rr a + add $10 + ld e, a + jr nc, .asm_d38 + ld e, $f8 +.asm_d38 + ld d, $0 + sla e + rl d + sla e + rl d + ld a, [hl] + and $1f + or e + ld [hli], a + ld a, [hl] + and $7c + or d + ld [hl], a + ld a, [hl] + and $7c + add $8 + ld e, a + cp $7c + jr c, .asm_d58 + ld e, $7c +.asm_d58 + ld a, [hl] + and $3 + or e + ld [hli], a + dec b + jr nz, .asm_d13 + ret + +Func_d61: ; 0d61 + ld a, [rIE] + res 0, a + ld [rIE], a + ld hl, wd280 + ld de, rBGPI + ld a, $80 + ld [de], a + inc de +.asm_d71 + ld a, [rLY] + cp $90 + jr c, .asm_d71 + ld b, $10 +.asm_d79 + ld a, [hli] + ld [de], a + ld a, [hli] + ld [de], a + ld a, [hli] + ld [de], a + ld a, [hli] + ld [de], a + dec b + jr nz, .asm_d79 + inc de + ld a, $80 + ld [de], a + inc de + ld b, $10 +.asm_d8b + ld a, [hli] + ld [de], a + ld a, [hli] + ld [de], a + ld a, [hli] + ld [de], a + ld a, [hli] + ld [de], a + dec b + jr nz, .asm_d8b + ld a, [rIE] + set 0, a + ld [rIE], a + ret + +Func_d9d: ; 0xd9d + ld b, $0 + ld c, e + inc c + call WaitForLCD +.asm_da4 + call Func_61b +.asm_da7 + ld a, [rSTAT] + and $3 + jr nz, .asm_da7 ; wait for lcd controller to finish transferring data + ld a, b + ld [de], a + ld a, [$ff00+c] + ld [hli], a + inc b + ld a, b + ld [de], a + ld a, [$ff00+c] + ld [hli], a + inc b + ld a, b + ld [de], a + ld a, [$ff00+c] + ld [hli], a + inc b + ld a, b + ld [de], a + ld a, [$ff00+c] + ld [hli], a + inc b + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + ld a, b + cp $40 + jr nz, .asm_da4 + ret + +Func_dd4: ; 0xdd4 +; Return a * l to hl +; Stupid waste of space + push bc + ld c, l + ld b, $0 + ld hl, $0000 + bit 0, a + jr z, .asm_de0 + add hl, bc +.asm_de0 + sla c + rl b + bit 1, a + jr z, .asm_de9 + add hl, bc +.asm_de9 + sla c + rl b + bit 2, a + jr z, .asm_df2 + add hl, bc +.asm_df2 + sla c + rl b + bit 3, a + jr z, .asm_dfb + add hl, bc +.asm_dfb + sla c + rl b + bit 4, a + jr z, .asm_e04 + add hl, bc +.asm_e04 + sla c + rl b + bit 5, a + jr z, .asm_e0d + add hl, bc +.asm_e0d + sla c + rl b + bit 6, a + jr z, .asm_e16 + add hl, bc +.asm_e16 + sla c + rl b + bit 7, a + jr z, .asm_e1f + add hl, bc +.asm_e1f + pop bc + ret + +ConvertHexByteToDecWord: ; 0xe21 +; Convert the base-16 value in register a into a Binary Coded Decimal (base-10) word. +; Example: If a = $97, de = $0151. + ld b, a + ld hl, PowersOfTwo + ld de, $0000 +.asm_e28 + srl b + ld a, [hli] + jr nc, .asm_e34 + add e + daa + ld e, a + ld a, [hl] + adc d + daa + ld d, a +.asm_e34 + inc hl + ld a, b + and a + jr nz, .asm_e28 + ret + +PowersOfTwo: ; 0xe3a + dw $0001 + dw $0002 + dw $0004 + dw $0008 + dw $0016 + dw $0032 + dw $0064 + dw $0128 + +Func_e4a: ; 0xe4a + ld a, [hl] + cp $64 + jr z, .asm_e53 + inc a + ld [hl], a + scf + ret + +.asm_e53 + and a + ret + +Func_e55: ; 0xe55 + cp c + jr c, .asm_e5b + sub c + jr Func_e55 + +.asm_e5b + and a + ret + +Func_e5d: ; 0xe5d + ld a, $1 + ld [wd84a], a +.asm_e62 + ld a, [wd84a] + and a + jr nz, .asm_e62 + ret + +Func_e69: ; 0xe69 + ld a, [rLY] + cp $90 + jr nc, Func_e69 +.asm_e6f + ld a, [rSTAT] + and $3 + jr nz, .asm_e6f + ld a, $a +.asm_e77 + dec a + jr nz, .asm_e77 + ld hl, wcBottomMessageText + $140 + call Func_eef + push hl + ld hl, $9c00 + call Func_ef8 + pop hl + call Func_eef + push hl + ld hl, $9c04 + call Func_ef8 + pop hl + call Func_eef + push hl + ld hl, $9c08 + call Func_ef8 + pop hl + call Func_eef + push hl + ld hl, $9c0c + call Func_ef8 + pop hl + call Func_eef + push hl + ld hl, $9c10 + call Func_ef8 + pop hl + ld hl, wcBottomMessageText + $1c0 + call Func_eef + push hl + ld hl, $9c20 + call Func_ef8 + pop hl + call Func_eef + push hl + ld hl, $9c24 + call Func_ef8 + pop hl + call Func_eef + push hl + ld hl, $9c28 + call Func_ef8 + pop hl + call Func_eef + push hl + ld hl, $9c2c + call Func_ef8 + pop hl + call Func_eef + push hl + ld hl, $9c30 + call Func_ef8 + pop hl + ret + +Func_eef: ; 0xeef + ld a, [hli] + ld b, a + ld a, [hli] + ld c, a + ld a, [hli] + ld d, a + ld a, [hli] + ld e, a + ret + +Func_ef8: ; 0xef8 + ld a, [rSTAT] + and $3 + jr nz, Func_ef8 + ld a, b + ld [hli], a + ld a, c + ld [hli], a + ld a, d + ld [hli], a + ld a, e + ld [hli], a + ld a, $a +.asm_f08 + dec a + jr nz, .asm_f08 + ret + +Func_f0c: ; 0xf0c + call Func_f34 + ret nc +.asm_f10 + ld a, [hli] + ld [de], a + inc de + dec bc + ld a, b + or c + jr nz, .asm_f10 + scf + ret + +SaveData: ; 0xf1a +; Input: hl = data to save +; bc = number of bytes to save +; de = destination for saved data + push bc + push de + push hl +.asm_f1d + ld a, [hli] + ld [de], a + inc de + dec bc + ld a, b + or c + jr nz, .asm_f1d + pop hl + pop de + pop bc + ld h, d + ld l, e + call Func_f74 + call Func_fa1 + call Func_f4c + ret + +Func_f34: ; 0xf34 + call Func_f62 + jr nc, .asm_f3f + call Func_f7e + jr nc, .asm_f3f + ret + +.asm_f3f + add hl, bc + inc hl + inc hl + inc hl + inc hl + call Func_f62 + ret nc + call Func_f7e + ret + +Func_f4c: ; 0xf4c + push bc + push hl + push de + inc bc + inc bc + inc bc + inc bc + ld d, h + ld e, l + add hl, bc +.asm_f56 + ld a, [de] + ld [hli], a + inc de + dec bc + ld a, b + or c + jr nz, .asm_f56 + pop de + pop hl + pop bc + ret + +Func_f62: ; 0xf62 + push hl + add hl, bc + ld a, [hli] + cp $4e + jr nz, .asm_f71 + ld a, [hl] + cp $54 + jr nz, .asm_f71 + scf + jr .asm_f72 + +.asm_f71 + and a +.asm_f72 + pop hl + ret + +Func_f74: ; 0xf74 + push hl + add hl, bc + ld a, $4e + ld [hli], a + ld a, $54 + ld [hl], a + pop hl + ret + +Func_f7e: ; 0xf7e + push bc + push de + push hl + inc bc + inc bc + ld de, $0000 +.asm_f86 + ld a, [hli] + add e + ld e, a + jr nc, .asm_f8c + inc d +.asm_f8c + dec bc + ld a, b + or c + jr nz, .asm_f86 + ld a, [hli] + cp e + jr nz, .asm_f9c + ld a, [hl] + cp d + jr nz, .asm_f9c + scf + jr .asm_f9d + +.asm_f9c + and a +.asm_f9d + pop hl + pop de + pop bc + ret + +Func_fa1: ; 0xfa1 + push bc + push de + push hl + inc bc + inc bc + ld de, $0000 +.asm_fa9 + ld a, [hli] + add e + ld e, a + jr nc, .asm_faf + inc d +.asm_faf + dec bc + ld a, b + or c + jr nz, .asm_fa9 + ld a, e + ld [hli], a + ld a, d + ld [hl], a + pop hl + pop de + pop bc + ret + +Func_fbc: ; 0xfbc + jp Func_3ff + +Func_fbf: ; 0xfbf + ld hl, hLastLYC + ld c, [hl] + ld a, [rLY] + cp c + jp c, Func_3ff + inc c + inc c + cp c + jp nc, Func_3ff + ld a, [hLCDCMask] + ld c, a + ld a, [hLCDC] + xor $10 + and c + ld c, a + ld hl, rSTAT +.asm_fdb + ld a, [hl] + and $3 + jr nz, .asm_fdb + ld a, [rLCDC] + and $80 + or c + ld [rLCDC], a + jp Func_3ff + +Func_fea: ; 0xfea + ld hl, hLastLYC + ld a, [hLYCSub] + cp [hl] + jr nz, .asm_1015 + ld a, [rLY] + cp [hl] + jp nz, Func_3ff + ld a, [hLCDC] + xor $18 + ld c, a + ld a, [hHBlankSCX] + ld b, a + ld hl, rSTAT +.asm_1003 + ld a, [hl] + and $3 + jr nz, .asm_1003 + ld a, [rLCDC] + and $80 + or c + ld [rLCDC], a + ld a, b + ld [rSCY], a + jp Func_3ff + +.asm_1015 + ld a, [rLY] + cp [hl] + jr nz, .asm_1037 + ld a, [hLastLYC] + ld hl, hLYCSub + sub [hl] + add $40 + ld c, a + ld a, [hLYCSub] + ld b, a + ld hl, rSTAT +.asm_1029 + ld a, [hl] + and $3 + jr nz, .asm_1029 + ld a, c + ld [rSCY], a + ld a, b + ld [rLYC], a + jp Func_3ff + +.asm_1037 + ld hl, hLYCSub + ld a, [rLY] + cp [hl] + jp nz, Func_3ff + ld a, [hLCDC] + xor $18 + ld c, a + ld a, [hHBlankSCX] + ld b, a + ld hl, rSTAT +.asm_104b + ld a, [hl] + and $3 + jr nz, .asm_104b + ld a, [rLCDC] + and $80 + or c + ld [rLCDC], a + ld a, b + ld [rSCY], a + jp Func_3ff + +Func_105d: ; 0x105d + ld hl, hLastLYC + ld a, [rLY] + cp [hl] + jr z, .asm_1069 + dec a + cp [hl] + jr nz, .asm_1080 +.asm_1069 + ld a, [hLYCSub] + ld c, a + ld a, [hHBlankSCX] + ld b, a + ld hl, rSTAT +.asm_1072 + ld a, [hl] + and $3 + jr nz, .asm_1072 + ld a, b + ld [rSCY], a + ld a, c + ld [rLYC], a + jp Func_3ff + +.asm_1080 + ld hl, hLYCSub + ld a, [rLY] + cp [hl] + jr z, .asm_108d + dec a + cp [hl] + jp nz, Func_3ff +.asm_108d + ld a, [hHBlankSCY] + ld b, a + ld hl, rSTAT +.asm_1093 + ld a, [hl] + and $3 + jr nz, .asm_1093 + ld a, b + ld [rSCY], a + jp Func_3ff + +Func_109e: ; 0x109e + jp Func_3ff + +Func_10a1: ; 0x10a1 + jp Func_3ff + +Func_10a4: ; 0x10a4 + jp Func_3ff + +Func_10a7: ; 0x10a7 + jp Func_3ff + +Func_10aa: ; 0x10aa + ld c, a + ld a, [hli] + ld b, a +.asm_10ad + push bc + ld a, c + ld c, [hl] + inc hl + ld b, [hl] + inc hl + push af + ld a, [bc] + ld e, a + inc bc + ld a, [bc] + ld d, a + inc bc + pop af + push hl + call Func_10c5 + pop hl + pop bc + dec b + jr nz, .asm_10ad + ret + +Func_10c5: ; 0x10c5 + push af + ld a, [rLCDC] + bit 7, a + jr z, .asm_10d2 +.asm_10cc + ld a, [rLY] + cp $88 + jr nc, .asm_10cc +.asm_10d2 + pop af + ld hl, wd7fb + ld l, [hl] + ld h, wcb00 / $100 + inc bc + ld [hl], c + inc h + ld [hl], b + inc h + ld [hl], a + inc h + ld [hl], e + inc h + ld [hl], d + ld e, $ff + ld [hROMBankBuffer], a + ld a, [hLoadedROMBank] + push af + ld a, [hROMBankBuffer] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + dec bc + ld a, [bc] + ld hl, wd7fa + add [hl] + cp $30 + jr c, .asm_10fe + ld a, [bc] + ld e, $0 +.asm_10fe + add $4 + ld [hl], a + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld hl, wd7fb + ld l, [hl] + ld h, wca00 / $100 + inc l + ld [hl], $0 + dec l + ld [hl], e + ld hl, wd7fb + inc [hl] + ld a, [rLCDC] + bit 7, a + ret nz + ld a, [rIE] + push af + res 0, a + ld [rIE], a + call Func_113a + pop af + ld [rIE], a + ret + +Func_1129: ; 0x1129 + ld a, [wd7fb] + ld [wd7fc], a + ret + +Func_1130: ; 0x1130 + push hl + ld a, [wd7fb] + ld hl, wd7fc + cp [hl] + pop hl + ret + +Func_113a: ; 0x113a + ld hl, wd7fc + ld a, [wd7fb] + cp [hl] + ret z + ld l, [hl] + ld h, $ca + ld [hl], $ff +.loop + ld a, [hl] + and a + jr z, .done + push hl + inc h + ld e, [hl] + inc h + ld d, [hl] + inc h + ld a, [hLoadedROMBank] + push af + ld a, [hl] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + inc h + ld a, [hl] + inc h + ld h, [hl] + ld l, a + call Func_117a + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + pop hl + inc l + jr .loop + +.done + ld a, l + ld [wd7fc], a + ld hl, wd7fb + cp [hl] + ret nz + xor a + ld [wd7fa], a + ret + +Func_117a: ; 0x117a + jp [hl] + +LoadTileLists: ; 0x117b +; Loads a series of defined tile ids into VRAM +; input: de = pointer to data structure +; data structure: list of VRAM tile data with the following format +; [num tiles][destination pointer][list of tile ids] + ld h, d + ld l, e +.loadTileSequence + ld a, [hli] + and a + ret z + ld b, a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a ; de = destination for tile data +.loadTileData + ld a, [hli] + ld [de], a + inc de + dec b + jr nz, .loadTileData + jr .loadTileSequence + +LoadTileListsBank1: ; 0x118d + ld a, $1 + ld [rVBK], a + call LoadTileLists + xor a + ld [rVBK], a + ret + +Func_1198: + ld h, d + ld l, e +.asm_119a + ld a, [hli] + and a + ret z + ld b, a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + srl b + jr nc, .asm_11a8 + ld a, [hli] + ld c, a +.asm_11a8 + push hl + ld h, d + ld l, e + ld a, c +.asm_11ac + ld [hli], a + inc a + dec b + jr nz, .asm_11ac + ld c, a + pop hl + jr .asm_119a + +Func_11b5: ; 11b5 (0:11b5) + ld h, d + ld l, e +.asm_11b7 + ld a, [hli] + and a + ret z + ld b, a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] +.asm_11c0 + ld [de], a + inc de + dec b + jr nz, .asm_11c0 + jr .asm_11b7 + +Func_11c7: + ld a, $1 + ld [rVBK], a + call Func_11b5 + xor a + ld [rVBK], a + ret + +Func_11d2: + ld h, d + ld l, e + ld a, [hLoadedROMBank] + ld [$ff94], a +.asm_11d8 + ld a, [hli] + and a + ret z + ld [$ff95], a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hli] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + push hl + ld h, b + ld l, c + ld a, [$ff95] + ld b, a +.asm_11f1 + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc de + dec b + jr nz, .asm_11f1 + pop hl + ld a, [$ff94] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + jr .asm_11d8 + +Func_122e: + ld a, $1 + ld [rVBK], a + ld h, d + ld l, e + ld a, [hLoadedROMBank] + ld [$ff94], a +.asm_1238 + ld a, [hli] + and a + jr nz, .asm_1240 + xor a + ld [rVBK], a + ret + +.asm_1240 + ld [$ff95], a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hli] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + push hl + ld h, b + ld l, c + ld a, [$ff95] + ld b, a +.asm_1256 + ld a, [hli] + ld [de], a + inc de + dec b + jr nz, .asm_1256 + pop hl + ld a, [$ff94] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + jr .asm_1238 + +Func_1266: + ld h, d + ld l, e +.asm_1268 + ld a, [hli] + and a + ret z + ld [$ff94], a + ld a, [hli] + bit 6, a + ld de, rBGPI + jr z, .asm_127a + res 6, a + ld de, rOBPI +.asm_127a + set 7, a + ld [de], a + inc de + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hLoadedROMBank] + push af + ld a, [hli] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + push hl + ld h, b + ld l, c + ld a, [$ff94] + ld b, a +.asm_1291 + ld a, [hli] + ld [de], a + ld a, [hli] + ld [de], a + dec b + jr nz, .asm_1291 + pop hl + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + jr .asm_1268 + +INCLUDE "home/sgb.asm" +INCLUDE "home/serial.asm" + +Func_1a21: ; 0x1a21 + call Func_1a59 + call Func_1a89 + jr c, .asm_1a3f +.asm_1a29 + call Func_1aa9 + call Func_1b3d + jr c, .asm_1a3f + ld a, [wd86c] + and a + jr z, .asm_1a29 + call Func_1b60 + jr c, .asm_1a3f + call Func_1b88 +.asm_1a3f + call Func_1ba7 + ret + +Func_1a43: ; 0x1a43 + xor a + ld [wd86e], a + call Func_1a59 + call Func_1a89 + jr c, .asm_1a54 + ld a, $1 + ld [wd86e], a +.asm_1a54 + call Func_1ba7 + ret + + ret ; unused instruction? + +Func_1a59: ; 0x1a59 + ld [wd86a], a + ld a, h + ld [wd869], a + ld a, l + ld [wd868], a + ld a, $80 + ld [wd866], a + ld a, $c2 + ld [wd867], a + xor a + ld [wd86b], a + ld [wd86c], a + ld [wd86d], a + call Func_16a2 + ld hl, rIE + set 3, [hl] + xor a + ld [$ffb1], a + ld a, $1 + ld [wd8e1], a + ret + +Func_1a89: ; 0x1a89 + call Func_16e2 + cp $f0 + jr z, .asm_1a9f + cp $ff + jp z, Func_1bb2 + ld a, [wd8c8] + cp $81 + jp nz, Func_1bb2 + and a + ret + +.asm_1a9f + ld a, [hNewlyPressedButtons] + bit 1, a + jp nz, Func_1bd3 + rst AdvanceFrame + jr Func_1a89 + +Func_1aa9: ; 0x1aa9 + ld a, [wd866] + ld l, a + ld a, [wd867] + ld h, a + ld de, wc000 + ld b, $2 +.asm_1ab6 + ld c, $14 +.asm_1ab8 + ld a, [hli] + call Func_1ae2 + dec c + jr nz, .asm_1ab8 + ld a, l + add $c + ld l, a + jr nc, .asm_1ac6 + inc h +.asm_1ac6 + dec b + jr nz, .asm_1ab6 + ld a, l + ld [wd866], a + ld a, h + ld [wd867], a + ld a, [wd86b] + inc a + ld [wd86b], a + cp $9 + jr nz, .asm_1ae1 + ld a, $1 + ld [wd86c], a +.asm_1ae1 + ret + +Func_1ae2: ; 0x1ae2 + push bc + push hl + xor $80 + swap a + ld c, a + and $f + ld b, a + ld a, c + and $f0 + ld c, a + ld a, [wd868] + ld l, a + ld a, [wd869] + ld h, a + add hl, bc + ld a, [hLoadedROMBank] + push af + ld a, [wd86a] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a +REPT 15 + ld a, [hli] + ld [de], a + inc e +ENDR + ld a, [hli] + ld [de], a + inc de + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + pop hl + pop bc + ret + +Func_1b3d: ; 0x1b3d + ld a, [wd86c] + ld [wd8dd], a + ld hl, wc000 + ld a, $1 + call Func_1779 + cp $ff + jp z, Func_1bb2 + cp $f0 + jr z, .asm_1b56 + and a + ret + +.asm_1b56 + ld a, [hNewlyPressedButtons] + bit BIT_B_BUTTON, a + jp nz, Func_1bd3 + rst AdvanceFrame + jr Func_1b3d + +Func_1b60: ; 0x1b60 + ld a, $1 + ld [wd8a8], a + ld a, $13 + ld [wd8a9], a + call Func_1740 + cp $ff + jp z, Func_1bb2 + cp $f0 + jr z, .asm_1b7e + ld bc, $001e + call AdvanceFrames + and a + ret + +.asm_1b7e + ld a, [hNewlyPressedButtons] + bit BIT_B_BUTTON, a + jp nz, Func_1bd3 + rst AdvanceFrame + jr Func_1b60 + +Func_1b88: ; 0x1b88 + ld a, [wd8c7] + ld b, a + cp $ff + jr z, Func_1bb2 + and $f0 + jr nz, Func_1bb2 + bit 1, b + jr nz, .asm_1b9d + call Func_16a2 + and a + ret + +.asm_1b9d + ld a, [hNewlyPressedButtons] + bit BIT_B_BUTTON, a + jp nz, Func_1bd3 + rst AdvanceFrame + jr Func_1b88 + +Func_1ba7: ; 0x1ba7 + ld hl, rIE + res 3, [hl] + xor a + ld [wd8e1], a + and a + ret + +Func_1bb2: ; 0x1bb2 + ld hl, Data_1bcf + ld a, [wd8c7] + cp $ff + jr z, .asm_1bc6 + ld b, $3 +.asm_1bbe + inc hl + sla a + jr c, .asm_1bc6 + dec b + jr nz, .asm_1bbe +.asm_1bc6 + ld a, [hl] + ld [wd86d], a + call Func_16a2 + scf + ret + +Data_1bcf: + dr $1bcf, $1bd3 + +Func_1bd3: ; 0x1bd3 + ld de, $0001 + call PlaySoundEffect + ld a, $5 + ld [wd86d], a + call Func_16a2 + scf + ret + +Func_1be3: ; 0x1be3 + ld a, $c0 + ld [rRP], a + ld a, $ff + ld [wd8ea], a + xor a + ld b, a +.asm_1bee + inc a + jr nz, .asm_1bee + inc b + jr nz, .asm_1bee + ld hl, wd8eb + ld a, [rKEY1] + bit 7, a + jr z, .asm_1c0c + ld [hl], $e + inc hl + ld [hl], $12 + inc hl + ld [hl], $8 + inc hl + ld [hl], $c + inc hl + ld [hl], $c + ret + +.asm_1c0c + ld [hl], $6 + inc hl + ld [hl], $8 + inc hl + ld [hl], $2 + inc hl + ld [hl], $4 + inc hl + ld [hl], $5 + ret + +Func_1c1b: ; 0x1c1b + inc d + ret z + ld a, [$ff00+c] + bit 1, a + jr z, Func_1c1b + ret + +Func_1c23: ; 0x1c23 + inc d + ret z + ld a, [$ff00+c] + bit 1, a + jr nz, Func_1c23 + ret + +Func_1c2b: ; 0x1c2b + ld a, $c1 + ld [$ff00+c], a +.asm_1c2e + dec d + jr nz, .asm_1c2e + ret + +Func_1c32: ; 0x1c32 + ld a, $c0 + ld [$ff00+c], a +.asm_1c35 + dec d + jr nz, .asm_1c35 + ret + +Func_1c39: + xor a + ld [hNumFramesSinceLastVBlank], a + ld a, $1 + ld [wd8e9], a +.asm_1c41 + ld b, $2 + ld c, rRP % $100 + ld a, [$ff00+c] + and b + jr z, Func_1c50 + ld a, [hNumFramesSinceLastVBlank] + and a + jr nz, Func_1ca1 + jr .asm_1c41 + +Func_1c50: ; 0x1c50 + ld a, $1 + ld [wd8e9], a + ld b, $1a + ld c, rRP % $100 + ld d, $0 + ld e, d + call Func_1c23 + ld a, d + and a + jp z, Func_1dc2 + ld d, e + call Func_1c1b + ld a, d + and a + jp z, Func_1dc2 + call Func_1c23 + ld a, d + and a + jp z, Func_1dc2 + call Func_1c1b + ld a, d + and a + jp z, Func_1dc2 + cp $8 + jp c, Func_1dc2 + cp $2a + jp nc, Func_1dc2 + ld a, $0 + ld [wd8ea], a + ld d, b + call Func_1c32 + ld d, b + call Func_1c2b + ld d, b + call Func_1c32 + ld d, b + call Func_1c2b + ld d, b + call Func_1c32 + ret + +Func_1ca1: ; 0x1ca1 + ld a, $2 + ld [wd8e9], a + ld b, $1a + ld c, rRP % $100 + ld d, b + ld e, $0 + call Func_1c32 + ld d, b + call Func_1c2b + ld d, b + call Func_1c32 + ld d, b + call Func_1c2b + ld d, b + call Func_1c32 + ld d, e + call Func_1c23 + ld a, d + and a + jp z, Func_1dc2 + ld d, e + call Func_1c1b + ld a, d + and a + jp z, Func_1dc2 + ld d, e + call Func_1c23 + ld a, d + and a + jp z, Func_1dc2 + ld d, e + call Func_1c1b + ld a, d + and a + jp z, Func_1dc2 + ld d, $1a + call Func_1c32 + ld a, $0 + ld [wd8ea], a + ret + +Func_1cef: + xor a + ld [rRP], a + ld a, $ff + ld [wd8ea], a + ret + +Func_1cf8: ; 0x1cf8 + xor a + ld [wd8e4], a + ld [wd8e5], a + push hl + push bc + ld hl, wd8e6 + ld a, $5a + ld [hli], a + ld [hl], b + dec hl + ld b, $2 + ld d, $1e + call Func_1c32 + call Func_1d44 + pop bc + pop hl + call Func_1ed3 + call Func_1d44 + ld a, [wd8e4] + ld [wd8e6], a + ld a, [wd8e5] + ld [wd8e7], a + ld hl, wd8e6 + ld b, $2 + call Func_1d44 + ld hl, wd8ea + ld b, $1 + call Func_1e3b + ld a, [wd8e6] + ld [wd8e4], a + ld a, [wd8e7] + ld [wd8e5], a + ret + +Func_1d44: ; 0x1d44 + ld a, [wd8ea] + cp $0 + ret nz + ld c, rRP % $100 + ld d, $16 + call Func_1c2b + ld d, $16 + call Func_1c32 + ld a, b + cpl + ld b, a +.asm_1d59 + inc b + jr z, .asm_1dae + ld a, $8 + ld [wd8e3], a + ld a, [hli] + ld e, a + ld a, [wd8e4] + add e + ld [wd8e4], a + jr nc, .asm_1d75 + ld a, [wd8e5] + inc a + ld [wd8e5], a + jr .asm_1d78 + +.asm_1d75 + call Func_1ed3 +.asm_1d78 + ld a, e + rlca + ld e, a + jr nc, .asm_1d8d + ld a, [wd8eb] + ld d, a + call Func_1c2b + ld a, [wd8ec] + ld d, a + call Func_1c32 + jr .asm_1d9b + +.asm_1d8d + ld a, [wd8ed] + ld d, a + call Func_1c2b + ld a, [wd8ee] + ld d, a + call Func_1c32 +.asm_1d9b + ld a, [wd8e3] + dec a + ld [wd8e3], a + jr z, .asm_1dac + call Func_1ed4 + call Func_1ed4 + jr .asm_1d78 + +.asm_1dac + jr .asm_1d59 + +.asm_1dae + call Func_1ed3 + call Func_1ed3 + call Func_1ed4 + ld d, $16 + call Func_1c2b + ld d, $16 + call Func_1c32 + ret + +Func_1dc2: ; 0x1dc2 + ld a, $2 + ld [wd8ea], a + ret + +Func_1dc8: + ld a, [wd8ea] + or $1 + ld [wd8ea], a + ret + +Func_1dd1: ; 0x1dd1 + ld a, [wd8ea] + or $4 + ld [wd8ea], a + ret + +Func_1dda: ; 0x1dda + xor a + ld [wd8e4], a + ld [wd8e5], a + push hl + ld hl, wd8e6 + ld b, $2 + call Func_1e3b + ld a, [wd8e7] + ld [wd8e8], a + ld b, a + pop hl + ld a, [wd8e6] + cp $5a + jp nz, Func_1dd1 + call Func_1e3b + ld a, [wd8e4] + ld d, a + ld a, [wd8e5] + ld e, a + push de + ld hl, wd8e6 + ld b, $2 + call Func_1e3b + pop de + ld hl, wd8e6 + ld a, [hli] + xor d + ld b, a + ld a, [hl] + xor e + or b + jr z, .asm_1e22 + ld a, [wd8ea] + or $1 + ld [wd8ea], a +.asm_1e22 + push de + ld hl, wd8ea + ld b, $1 + call Func_1d44 + pop de + ld a, d + ld [wd8e4], a + ld a, e + ld [wd8e5], a + ld a, [wd8e8] + cp $82 + ret z + ret + +Func_1e3b: ; 0x1e3b + ld a, [wd8ea] + cp $0 + ret nz + ld c, rRP % $100 + ld d, $0 + call Func_1c23 + ld a, d + or a + jp z, Func_1dc2 + ld d, $0 + call Func_1c1b + ld a, d + or a + jp z, Func_1dc2 + ld d, $0 + call Func_1c23 + ld a, d + or a + jp z, Func_1dc2 + call Func_1ed4 + call Func_1ed4 + push af + pop af + ld a, b + cpl + ld b, a +.asm_1e6c + inc b + jr z, .asm_1eb9 + ld a, $8 + ld [wd8e3], a +.asm_1e74 + ld d, $0 + call Func_1c1b + call Func_1c23 + ld a, [wd8ef] + cp d + jr nc, .asm_1e88 + ld a, e + set 0, a + ld e, a + jr .asm_1e8c + +.asm_1e88 + ld a, e + res 0, a + ld e, a +.asm_1e8c + ld a, [wd8e3] + dec a + ld [wd8e3], a + jr z, .asm_1ea0 + ld a, e + rlca + ld e, a + call Func_1ed4 + call Func_1ed4 + jr .asm_1e74 + +.asm_1ea0 + ld a, e + ld [hli], a + ld a, [wd8e4] + add e + ld [wd8e4], a + jr nc, .asm_1eb4 + ld a, [wd8e5] + inc a + ld [wd8e5], a + jr .asm_1eb7 + +.asm_1eb4 + call Func_1ed3 +.asm_1eb7 + jr .asm_1e6c + +.asm_1eb9 + ld d, $0 + call Func_1c1b + ld a, d + and a + jp z, Func_1dc2 + ld d, $11 + call Func_1c32 + ret + +Func_1ec9: + ld b, $00 + jp Func_1cf8 + +Func_1ece: + ld b, $00 + jp Func_1dda + +Func_1ed3: ; 0x1ed3 + ret + +Func_1ed4: ; 0x1ed4 + jr z, .asm_1ed6 +.asm_1ed6 + jr nz, .asm_1ed8 +.asm_1ed8 + ret + +Func_1ed9: + push bc + push de + push hl + ld e, a + ld d, $0 + sla e + rl d + ld a, [hLoadedROMBank] + push af + ld a, BANK(Data_8f06) + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld hl, Data_8f06 + jr asm_1f3b + +Func_1ef2: + push bc + push de + push hl + ld e, a + ld d, $0 + sla e + rl d + ld a, [hLoadedROMBank] + push af + ld a, BANK(Data_8f06) + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld hl, Data_8f06 + jr asm_1f3b + +LoadOAMData2: ; 0x1f0b +; This function loads OAM data, but it adds b and c to the x and y values +; input: a = OAM data id (see OAMDataPointers2) + push bc + push de + push hl + ld e, a + ld d, $0 + sla e + rl d + ld a, [hLoadedROMBank] + push af + ld a, Bank(OAMDataPointers2) + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld hl, OAMDataPointers2 + jr asm_1f3b + +LoadOAMData: ; 0x1f24 +; This function loads OAM data, but it adds b and c to the x and y values +; input: a = OAM data id (see OAMDataPointers) + push bc + push de + push hl + ld e, a + ld d, $0 + sla e + rl d ; multiply de by 2 + ld a, [hLoadedROMBank] + push af + ld a, Bank(OAMDataPointers) + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld hl, OAMDataPointers +asm_1f3b: ; 0x1f3b + add hl, de ; hl points to oam pointer in OAMDataPointers + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a ; de points to OAM data + ld a, [wOAMBufferSize] + ld l, a + ld h, (wOAMBuffer >> 8) +.loadOAMDataLoop + ld a, [de] + cp $80 ; OAM data list terminator + jr z, .doneReadingOAMData + add c + ld [hli], a + inc de + ld a, [de] + add b + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + jr .loadOAMDataLoop + +.doneReadingOAMData + ld a, l + ld [wOAMBufferSize], a + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + pop hl + pop de + pop bc + ret + +Func_1f68: + push bc + push de + push hl + ld e, a + ld d, $0 + sla e + rl d + ld a, [hLoadedROMBank] + push af + ld a, BANK(Data_8f06) + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld hl, Data_8f06 ; all 0s + jr asm_1fca + +Func_1f81: + push bc + push de + push hl + ld e, a + ld d, $0 + sla e + rl d + ld a, [hLoadedROMBank] + push af + ld a, BANK(Data_8f06) + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld hl, Data_8f06 ; all 0s + jr asm_1fca + +Func_1f9a: + push bc + push de + push hl + ld e, a + ld d, $0 + sla e + rl d + ld a, [hLoadedROMBank] + push af + ld a, BANK(OAMDataPointers2) + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld hl, OAMDataPointers2 + jr asm_1fca + +Func_1fb3: + push bc + push de + push hl + ld e, a + ld d, $0 + sla e + rl d + ld a, [hLoadedROMBank] + push af + ld a, BANK(OAMDataPointers) + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld hl, OAMDataPointers +asm_1fca + add hl, de + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + ld a, [wOAMBufferSize] + ld l, a + ld h, $d0 +.asm_1fd5 + ld a, [de] + cp $80 + jr z, .asm_1fee + add c + ld [hli], a + inc de + ld a, [de] + add b + ld [hli], a + inc de + ld a, [de] + push hl + ld hl, sp+$7 + add [hl] + pop hl + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + jr .asm_1fd5 + +.asm_1fee + ld a, l + ld [wOAMBufferSize], a + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + pop hl + pop de + pop bc + ret + +Func_1ffc: ; 0x1ffc + ld a, $b + ld [wd806], a + ld a, $4 + ld [wd807], a + ld [hFarCallTempA], a + callba Func_3c000 + ld a, $1 + ld [wd85d], a + ld a, $37 + ld [wd470], a + ld [wd471], a + ld [wd472], a + ld a, SCREEN_ERASE_ALL_DATA + ld [wCurrentScreen], a +.master_loop + call Func_2034 + call Func_2043 + call Func_926 + call Func_b2e + rst AdvanceFrame + jr .master_loop + +Func_2034: ; 0x2034 + ld a, [wd804] + and a + jr z, .asm_203f + dec a + ld [wd804], a + ret + +.asm_203f + ld [wd803], a + ret + +Func_2043: ; 0x2043 + ld a, [wCurrentScreen] + call CallInFollowingTable +CallTable_2049: ; 0x2049 +; First two bytes is function pointer. +; Third byte is bank of function. +; Fourth byte seems to be unused. + padded_dab Func_8000 + + ; SCREEN_ERASE_ALL_DATA + padded_dab HandleEraseAllDataMenu + + ; SCREEN_COPYRIGHT + padded_dab HandleCopyrightScreen + + ; SCREEN_TITLESCREEN + padded_dab HandleTitlescreen + + ; SCREEN_PINBALL_GAME + padded_dab HandlePinballGame + + ; SCREEN_POKEDEX + padded_dab HandlePokedexScreen + + ; SCREEN_OPTIONS + padded_dab HandleOptionsScreen + + ; SCREEN_HIGH_SCORES + padded_dab HandleHighScoresScreen + + ; SCREEN_FIELD_SELECT + padded_dab HandleFieldSelectScreen + ; end of call table + +Func_206d: ; 0x206d + ld a, [hLoadedROMBank] + push af + ld a, Bank(Func_8d17) + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + call Func_8d17 + jr c, .asm_2084 + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + and a + ret + +.asm_2084 + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + scf + ret + +Func_208c: ; 0x208c + ld a, [hLoadedROMBank] + push af + ld a, Bank(Func_8ee0) + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + call Func_8ee0 + jr c, .asm_20a3 + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + and a + ret + +.asm_20a3 + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + scf + ret + +Func_20ab: ; 0x20ab + push af + xor a + ld [$ffb6], a + jr .asm_20c6 + + push af + ld a, b + xor c + ld [$ffb6], a + bit 7, b + jr z, .asm_20be + ld a, b + cpl + inc a + ld b, a +.asm_20be + bit 7, c + jr z, .asm_20c6 + ld a, c + cpl + inc a + ld c, a +.asm_20c6 + push de + push hl + ld a, b + cp c + jr nc, .asm_20ce + ld b, c + ld c, a +.asm_20ce + ld h, $3e + ld l, c + ld e, [hl] + inc h + ld d, [hl] + ld l, b + ld a, [hl] + dec h + ld l, [hl] + ld h, a + add hl, de + push af + ld d, $3e + ld a, b + sub c + ld e, a + ld a, [de] + ld c, a + inc d + ld a, [de] + ld b, a + ld a, l + sub c + ld l, a + ld a, h + sbc b + ld h, a + jr nc, .asm_20f1 + pop af + ccf + jr .asm_20f2 + +.asm_20f1 + pop af +.asm_20f2 + rr h + rr l + ld b, h + ld c, l + ld a, [$ffb6] + rlca + jr nc, .asm_2107 + ld a, c + cpl + add $1 + ld c, a + ld a, b + cpl + adc $0 + ld b, a +.asm_2107 + pop hl + pop de + pop af + ret + +Func_210b: ; 0x210b + push af + push hl + ld a, b + xor d + ld [$ffb7], a + bit 7, b + jr z, .asm_211f + ld a, c + cpl + add $1 + ld c, a + ld a, b + cpl + adc $0 + ld b, a +.asm_211f + push bc + ld b, e + call Func_20ab + ld l, c + ld h, b + ld bc, $0080 + add hl, bc + ld l, h + ld h, $0 + pop bc + ld c, e + call Func_20ab + add hl, bc + ld a, [$ffb7] + rlca + jr nc, .asm_2142 + ld a, l + cpl + add $1 + ld l, a + ld a, h + cpl + adc $0 + ld h, a +.asm_2142 + ld c, l + ld b, h + pop hl + pop af + ret + +Func_2147: ; 0x2147 + add $40 + ; fall through +Func_2149: ; 0x2149 + push hl + ld [$ffb6], a + and $7f + cp $40 + jr c, .asm_2155 + cpl + add $81 +.asm_2155 + ld hl, Data_26be + ld e, a + ld d, $0 + add hl, de + ld e, [hl] + pop hl + ld d, $0 + ld a, [$ffb6] + sla a + ret nc + ld d, $ff + ret + +ApplyGravityToBall: ; 0x2168 +; Adds a constant to the pinball's y velocity. + ld a, [wd549] + and a + ret z + ld de, $000b ; gravity added to y velocity every frame + ld hl, wBallYVelocity + ld a, [hli] + ld h, [hl] + ld l, a + add hl, de + ld a, l + ld [wBallYVelocity], a + ld a, h + ld [wBallYVelocity + 1], a + ret + +LimitBallVelocity: ; 0x2180 +; Ensures that the ball's x and y velocity are kept under a threshold. +; The ball can travel at a higher max speed when moving diagonally, since it +; limits the x and y components independently. + ld hl, wBallXVelocity + 1 + call _LimitBallVelocity + ld hl, wBallYVelocity + 1 + ; fall through +_LimitBallVelocity: ; 0x2189 + ld a, [hl] + bit 7, a ; is it negative velocity? (left or up) + jr nz, .negativeVelocity + cp $8 + ret c + ld a, $7 ; max positive velocity + ld [hl], a + ret + +.negativeVelocity + cp $f9 + ret nc + ld a, $f9 ; max negative velocity + ld [hl], a + ret + +MoveBallPosition: ; 0x219c +; Updates the ball's position according to its velocity + ld a, [wBallXPos] + ld [wPreviousBallXPos], a + ld a, [wBallXPos + 1] + ld [wPreviousBallXPos + 1], a + ld a, [wBallYPos] + ld [wPreviousBallYPos], a + ld a, [wBallYPos + 1] + ld [wPreviousBallYPos + 1], a + ld de, wBallXVelocity + 1 + ld hl, wBallXPos + call AddVelocityToPosition + ld de, wBallYVelocity + 1 + ld hl, wBallYPos + ; fall through + +AddVelocityToPosition: ; 0x21c3 + ld a, [de] + bit 7, a + jr nz, .asm_21d1 + cp 1+4 + jr c, .asm_21da + ld bc, $04ff + jr .asm_21de + +.asm_21d1 + cp -4 + jr nc, .asm_21da + ld bc, -$04ff + jr .asm_21de + +.asm_21da + ld b, a + dec de + ld a, [de] + ld c, a +.asm_21de + ld a, [hl] + add c + ld [hli], a + ld a, [hl] + adc b + ld [hl], a + ret + +Func_21e5: ; 0x21e5 + cpl + inc a + ; fall through +Func_21e7: ; 0x21e7 + push hl + push bc + push de + ld [$ff8c], a + call Func_2147 + ld a, e + ld [$ff8d], a + ld a, d + ld [$ff8e], a + call Func_210b + ld l, c + ld h, b + pop bc + push bc + ld a, [$ff8c] + call Func_2149 + ld a, e + ld [$ff8f], a + ld a, d + ld [$ff90], a + call Func_210b + add hl, bc + pop de + pop bc + push hl + push de + ld a, [$ff8f] + ld e, a + ld a, [$ff90] + cpl + ld d, a + call Func_210b + ld l, c + ld h, b + pop bc + ld a, [$ff8d] + ld e, a + ld a, [$ff8e] + ld d, a + call Func_210b + add hl, bc + ld d, h + ld e, l + pop bc + pop hl + ret + +Func_222b: ; 0x222b + push hl + ld hl, wd7f8 + ld [hl], $ff + bit 7, d + jr nz, .asm_2297 + ld [hl], $0 + ld a, d + cp $3 + jr c, .asm_2254 + ld a, $ff + ld [wd803], a + ld a, $1 + ld [wd804], a + ld a, [wFlipperCollision] + and a + jr nz, .asm_2254 + push de + ld de, $0008 + call Func_4d8 + pop de +.asm_2254 + srl d + rr e + srl d + rr e + ld h, d + ld l, e + srl d + rr e + ld a, [wd7eb] + and a + jr z, .asm_226c +.asm_2268 + add hl, de + dec a + jr nz, .asm_2268 +.asm_226c + ld d, h + ld e, l + ld a, e + cpl + add $1 + ld e, a + ld a, d + cpl + adc $0 + ld d, a + ld a, [wBallSpin] + sra a + ld l, a + ld h, $0 + bit 7, l + jr z, .asm_2286 + ld h, $ff +.asm_2286 + add hl, bc + ld b, h + ld c, l + push bc + sla c + rl b + sla c + rl b + ld a, b + ld [wBallSpin], a + pop bc +.asm_2297 + pop hl + ret + +LoadBallVelocity: ; 0x2299 +; Loads velocity of the ball into bc and de +; bc = x velocity +; de = y velocity + push hl + ld hl, wBallXVelocity + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hli] + ld e, a + ld a, [hl] + ld d, a + pop hl + ret + +SetBallVelocity: ; 0x22a7 +; Sets the x and y velocities of the ball. +; bc = x velocity +; de = y velocity + push hl + ld hl, wBallXVelocity + ld a, c + ld [hli], a + ld a, b + ld [hli], a + ld a, e + ld [hli], a + ld a, d + ld [hl], a + pop hl + ret + +Func_22b5: ; 0x22b5 + ld a, [wBallXPos + 1] + sub $4 + push af + and $7 + ld [wSubTileBallXPos], a ; sub-tile position + pop af + and $f8 + ld c, a + ld a, [wBallYPos + 1] + sub $4 + push af + and $7 + ld [wSubTileBallYPos], a + pop af + and $f8 + ld b, a + ld l, b ; bc contains tile coords of ball position + ld h, $0 + sla l + rl h + sla l + rl h ; b was multiplied by 4 (y tile position) + srl c + srl c + srl c ; c was divided by 8 (x tile position) + ld b, $0 + add hl, bc + ld a, l + ld [wd7f3], a + ld a, h + ld [wd7f4], a + ld a, [wStageCollisionMapPointer] + ld c, a + ld a, [wStageCollisionMapPointer + 1] + ld b, a + add hl, bc ; hl = address of upper-left collision byte + ld a, [hLoadedROMBank] + push af + ld a, [wStageCollisionMapBank] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld bc, $001f ; number of tiles wide - 1 + ld a, [hli] + ld [wUpperLeftCollisionAttribute], a + ld a, [hl] + ld [wUpperRightCollisionAttribute], a + add hl, bc + ld a, [hli] + ld [wLowerLeftCollisionAttribute], a + ld a, [hl] + ld [wLowerRightCollisionAttribute], a + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld a, [hLoadedROMBank] + push af + ld a, [wStageCollisionMasksBank] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld a, [wSubTileBallXPos] + sla a + ld c, a + ld b, $0 + ld hl, SubTileXPos_CollisionDataPointers + add hl, bc + ld e, [hl] + inc hl + ld d, [hl] + ld a, [wSubTileBallYPos] + ld c, a + ld b, $10 ; number of times to loop over .asm_233d +.asm_233d + push bc + ld a, [de] + inc de + add c ; add the sub tile y pos + push af + srl a + srl a + srl a + ld c, a + ld b, $0 + ld hl, wUpperLeftCollisionAttribute + add hl, bc + ld a, [hl] + call Func_248a + jr nc, .asm_235e + pop af + and $7 + ld c, a + ld b, $0 + add hl, bc + jr .asm_237b + +.asm_235e + ld c, a + ld b, $0 + sla c + rl b + sla c + rl b + sla c + rl b + ld hl, wStageCollisionMasksPointer + ld a, [hli] + ld h, [hl] + ld l, a + add hl, bc + pop af + and $7 + ld c, a + ld b, $0 + add hl, bc +.asm_237b + ld a, [de] + inc de + and [hl] + push af + ld a, [de] + inc de + ld c, a + ld hl, wd7c9 + add hl, bc + pop af + ld [hl], a + pop bc + dec b + jr nz, .asm_233d + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld hl, wd7c9 + ld de, wd7d9 + ld b, $4 +.asm_239a + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + dec b + jr nz, .asm_239a + ld hl, wd7c9 + ld de, $0000 + ld b, $0 + ld a, [hl] + and a + jr z, .asm_23c1 +.asm_23b5 + ld a, [hli] + inc b + and a + jr z, .asm_23c1 + ld a, b + cp $11 + jr nc, .asm_23ee + jr .asm_23b5 + +.asm_23c1 + ld a, [hli] + inc b + and a + jr nz, .asm_23cd + ld a, b + cp $11 + jr nc, .asm_23ee + jr .asm_23c1 + +.asm_23cd + push de + ld d, $1 + ld c, b + dec c +.asm_23d2 + ld a, [hli] + inc b + inc d + and a + jr nz, .asm_23d2 + dec d + ld a, b + dec a + dec a + and $f + swap c + or c + ld c, a + ld a, d + cp e + pop de + jr c, .asm_23e9 + ld e, a + ld d, c +.asm_23e9 + ld a, b + cp $10 + jr c, .asm_23c1 +.asm_23ee + ld a, e + ld [wd7e9], a + and a + ret z + ld a, [hLoadedROMBank] + push af + ld a, Bank(Data_8817) + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + push de + ld e, d + ld d, $0 + ld hl, Data_8817 + add hl, de + ld a, [hl] + ld [wd7ea], a + sla e + rl d + ld hl, Data_8917 + add hl, de + ld a, [wBallYPos] + add [hl] + ld [wBallYPos], a + inc hl + ld a, [wBallYPos + 1] + adc [hl] + ld [wBallYPos + 1], a + ld hl, Data_8b17 + add hl, de + ld a, [wBallXPos] + add [hl] + ld [wBallXPos], a + inc hl + ld a, [wBallXPos + 1] + adc [hl] + ld [wBallXPos + 1], a + pop de + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld a, d + swap a + and $f + ld e, a + ld a, d + and $f + sub e + jr nc, .asm_2449 + add $10 +.asm_2449 + add e + add e + inc a + and $1e + ld c, a + ld b, $0 + ld hl, Data_250e + add hl, bc + ld a, [wSubTileBallXPos] + add $4 + add [hl] + bit 3, a + ld c, b + jr z, .asm_2462 + ld c, $2 +.asm_2462 + ld a, [wSubTileBallYPos] + add $4 + inc hl + add [hl] + bit 3, a + jr z, .asm_246e + inc c +.asm_246e + ld hl, wUpperLeftCollisionAttribute + add hl, bc + ld a, [hl] + ld [wd7f5], a + ld hl, Data_250a + add hl, bc + ld a, [wd7f3] + add [hl] + ld [wd7f6], a + ld a, [wd7f4] + adc $0 + ld [wd7f7], a + ret + +Func_248a: ; 0x248a + push af + ld a, [wCurrentStage] + bit 0, a + jr nz, .asm_2495 + pop af + and a + ret + +.asm_2495 + pop af + cp $d0 + ccf + ret nc + cp $e0 + jr nc, .asm_24ab + sub $d0 + sla a + sla a + sla a + ld l, a + ld h, $c4 + scf + ret + +.asm_24ab + push de + sub $e0 + ld b, a + ld a, [wCurrentStage] + cp $6 ; gengar stage buggy? + jr nc, .asm_24e0 + bit 4, b + ld hl, Data_3800 + ld a, [wd7af] + jr z, .asm_24c8 + res 4, b + ld hl, Data_3980 + ld a, [wd7b3] +.asm_24c8 + ld de, $0080 + cp $7 + jr c, .asm_24d5 + add hl, de + cp $e + jr c, .asm_24d5 + add hl, de +.asm_24d5 + ld e, b + sla e + sla e + sla e + add hl, de + pop de + scf + ret + +.asm_24e0 + bit 4, b + ld hl, Data_3b00 + ld a, [wd7af] + jr z, .asm_24f2 + res 4, b + ld hl, Data_3c80 + ld a, [wd7b3] +.asm_24f2 + ld de, $0080 + cp $7 + jr c, .asm_24ff + add hl, de + cp $e + jr c, .asm_24ff + add hl, de +.asm_24ff + ld e, b + sla e + sla e + sla e + add hl, de + pop de + scf + ret + +Data_250a: + dr $250a, $250e + +Data_250e: + dr $250e, $252e + +SubTileXPos_CollisionDataPointers: ; 0x252e + dw SubTileXPos_CollisionData0 + dw SubTileXPos_CollisionData1 + dw SubTileXPos_CollisionData2 + dw SubTileXPos_CollisionData3 + dw SubTileXPos_CollisionData4 + dw SubTileXPos_CollisionData5 + dw SubTileXPos_CollisionData6 + dw SubTileXPos_CollisionData7 + +SubTileXPos_CollisionData0: ; 0x253e + db $00, $10, $0B + db $00, $08, $0C + db $00, $04, $0D + db $01, $40, $0A + db $01, $01, $0E + db $03, $80, $09 + db $13, $80, $0F + db $04, $80, $08 + db $14, $80, $00 + db $05, $80, $07 + db $15, $80, $01 + db $07, $40, $06 + db $07, $01, $02 + db $08, $10, $05 + db $08, $08, $04 + db $08, $04, $03 + +SubTileXPos_CollisionData1: ; 0x256e + db $00, $08, $0B + db $00, $04, $0C + db $00, $02, $0D + db $01, $20, $0A + db $11, $80, $0E + db $03, $40, $09 + db $13, $40, $0F + db $04, $40, $08 + db $14, $40, $00 + db $05, $40, $07 + db $15, $40, $01 + db $07, $20, $06 + db $17, $80, $02 + db $08, $08, $05 + db $08, $04, $04 + db $08, $02, $03 + +SubTileXPos_CollisionData2: ; 0x259e + db $00, $04, $0B + db $00, $02, $0C + db $00, $01, $0D + db $01, $10, $0A + db $11, $40, $0E + db $03, $20, $09 + db $13, $20, $0F + db $04, $20, $08 + db $14, $20, $00 + db $05, $20, $07 + db $15, $20, $01 + db $07, $10, $06 + db $17, $40, $02 + db $08, $04, $05 + db $08, $02, $04 + db $08, $01, $03 + +SubTileXPos_CollisionData3: ; 0x25ce + db $00, $02, $0B + db $00, $01, $0C + db $10, $80, $0D + db $01, $08, $0A + db $11, $20, $0E + db $03, $10, $09 + db $13, $10, $0F + db $04, $10, $08 + db $14, $10, $00 + db $05, $10, $07 + db $15, $10, $01 + db $07, $08, $06 + db $17, $20, $02 + db $08, $02, $05 + db $08, $01, $04 + db $18, $80, $03 + +SubTileXPos_CollisionData4: ; 0x25fe + db $00, $01, $0B + db $10, $80, $0C + db $10, $40, $0D + db $01, $04, $0A + db $11, $10, $0E + db $03, $08, $09 + db $13, $08, $0F + db $04, $08, $08 + db $14, $08, $00 + db $05, $08, $07 + db $15, $08, $01 + db $07, $04, $06 + db $17, $10, $02 + db $08, $01, $05 + db $18, $80, $04 + db $18, $40, $03 + +SubTileXPos_CollisionData5: ; 0x262e + db $10, $80, $0B + db $10, $40, $0C + db $10, $20, $0D + db $01, $02, $0A + db $11, $08, $0E + db $03, $04, $09 + db $13, $04, $0F + db $04, $04, $08 + db $14, $04, $00 + db $05, $04, $07 + db $15, $04, $01 + db $07, $02, $06 + db $17, $08, $02 + db $18, $80, $05 + db $18, $40, $04 + db $18, $20, $03 + +SubTileXPos_CollisionData6: ; 0x265e + db $10, $40, $0B + db $10, $20, $0C + db $10, $10, $0D + db $01, $01, $0A + db $11, $04, $0E + db $03, $02, $09 + db $13, $02, $0F + db $04, $02, $08 + db $14, $02, $00 + db $05, $02, $07 + db $15, $02, $01 + db $07, $01, $06 + db $17, $04, $02 + db $18, $40, $05 + db $18, $20, $04 + db $18, $10, $03 + +SubTileXPos_CollisionData7: ; 0x268e + db $10, $20, $0B + db $10, $10, $0C + db $10, $08, $0D + db $11, $80, $0A + db $11, $02, $0E + db $03, $01, $09 + db $13, $01, $0F + db $04, $01, $08 + db $14, $01, $00 + db $05, $01, $07 + db $15, $01, $01 + db $17, $80, $06 + db $17, $02, $02 + db $18, $20, $05 + db $18, $10, $04 + db $18, $08, $03 + +Data_26be: + dr $26be, $2720 + +Func_2720: ; 0x2720 + ld a, $ff + ld [wd4ea], a + call Func_272f + ld a, [wd4ea] + ld [wd4ec], a + ret + +Func_272f: ; 0x272f +; not collisions + ld a, [wCurrentStage] + call CallInFollowingTable +CallTable_2735: ; 0x2735 + ; STAGE_RED_FIELD_TOP + padded_dab Func_143e1 + + ; STAGE_RED_FIELD_BOTTOM + padded_dab Func_143f9 + + padded_dab Func_18061 + + padded_dab Func_18062 + + ; STAGE_BLUE_FIELD_TOP + padded_dab Func_1c520 + + ; STAGE_BLUE_FIELD_BOTTOM + padded_dab Func_1c536 + + ; STAGE_GENGAR_BONUS + padded_dab Func_181b1 + + ; STAGE_GENGAR_BONUS + padded_dab Func_181b1 + + ; STAGE_MEWTWO_BONUS + padded_dab Func_19330 + + ; STAGE_MEWTWO_BONUS + padded_dab Func_19330 + + ; STAGE_MEOWTH_BONUS + padded_dab Func_2414d + + ; STAGE_MEOWTH_BONUS + padded_dab Func_2414d + + ; STAGE_DIGLETT_BONUS + padded_dab Func_19ab3 + + ; STAGE_DIGLETT_BONUS + padded_dab Func_19ab3 + + ; STAGE_SEEL_BONUS + padded_dab Func_25bbc + + ; STAGE_SEEL_BONUS + padded_dab Func_25bbc + +Func_2775: ; 0x2775 + ld a, [wd4ea] + inc a + jr nz, .asm_27a2 + ld a, [bc] + bit 7, a + jr nz, .asm_27a2 + push bc + push de + call nc, Func_27da + pop hl + call c, Func_27a4 + ld a, [wd4ea] + ld b, a + pop hl + ld [hl], $0 + jr nc, .asm_27a2 + ld a, [wd4ec] + cp b + jr z, .asm_27a2 + ld a, [wd4eb] + ld [hli], a + ld a, [wd4ea] + ld [hl], a + scf + ret + +.asm_27a2 + and a + ret + +Func_27a4: ; 0x27a4 + xor a + ld [wd4eb], a + ld a, [hli] + ld d, a + ld a, [hli] + ld e, a + ld a, [wBallXPos + 1] + ld b, a + ld a, [wBallYPos + 1] + ld c, a +.asm_27b4 + ld a, [wd4eb] + inc a + ld [wd4eb], a + ld a, [hli] + ld [wd4ea], a + cp $ff + ret z + ld a, [hli] + sub b + bit 7, a + jr z, .asm_27ca + cpl + inc a +.asm_27ca + cp d + ld a, [hli] + jr nc, .asm_27b4 + sub c + bit 7, a + jr z, .asm_27d5 + cpl + inc a +.asm_27d5 + cp e + jr nc, .asm_27b4 + scf + ret + +Func_27da: ; 0x27da + ld a, [hli] + and a + jr z, .asm_27e8 + dec hl + ld a, [wStageCollisionState] + ld c, a + ld b, $0 + add hl, bc + ld c, [hl] + add hl, bc +.asm_27e8 + ld a, [wd7e9] + and a + ret z + ld a, [wd7f5] + ld b, a + ld c, $ff +.asm_27f3 + inc c + ld a, [hli] + cp $ff + ret z + cp b + jr nz, .asm_27f3 + scf + ret + +PinballCollideWithPoints: ; 0x27fd +; Checks if pinball collides with any of the (x, y) points in the given list. +; Saves the index of the collided point. +; Input: hl = pointer to array of (x, y) points +; Output: Saves index of collided point in wd578 + ld a, [wBallXPos + 1] + ld b, a + ld a, [wBallYPos + 1] + ld c, a + ld d, $0 +.nextPoint + ld a, [hli] + and a + ret z + inc d + ld a, [hli] + sub b + cp $e8 + ld a, [hli] + jr c, .nextPoint + sub c + cp $e8 + jr c, .nextPoint + ld a, d + ld [wd578], a + ret + +Func_281c: ; 0x281c + ld a, [wCurrentStage] + call CallInFollowingTable +CallTable_2822: ; 0x2822 +; not collisions + ; STAGE_RED_FIELD_TOP + padded_dab Func_1460e + + ; STAGE_RED_FIELD_BOTTOM + padded_dab Func_14652 + + padded_dab Func_1806d + + padded_dab Func_1806e + + ; STAGE_BLUE_FIELD_TOP + padded_dab Func_1c715 + + ; STAGE_BLUE_FIELD_BOTTOM + padded_dab Func_1c769 + + ; STAGE_GENGAR_BONUS + padded_dab Func_18377 + + ; STAGE_GENGAR_BONUS + padded_dab Func_18377 + + ; STAGE_MEWTWO_BONUS + padded_dab Func_19451 + + ; STAGE_MEWTWO_BONUS + padded_dab Func_19451 + + ; STAGE_MEOWTH_BONUS + padded_dab Func_2442a + + ; STAGE_MEOWTH_BONUS + padded_dab Func_2442a + + ; STAGE_DIGLETT_BONUS + padded_dab Func_19b88 + + ; STAGE_DIGLETT_BONUS + padded_dab Func_19b88 + + ; STAGE_SEEL_BONUS + padded_dab Func_25c5a + + ; STAGE_SEEL_BONUS + padded_dab Func_25c5a + +Func_2862: ; 0x2862 + ld a, [wd7be] + and a + jr nz, .asm_287c + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_287b + ld a, $0 + ld hl, Data_2890 + ld de, $0052 + ld bc, $0004 + call FarCopyPalettes +.asm_287b + ret + +.asm_287c + ld a, [hGameBoyColorFlag] + and a + jr z, .asm_288f + ld a, $0 + ld hl, Data_2894 + ld de, $0052 + ld bc, $0004 + call FarCopyPalettes +.asm_288f + ret + +Data_2890: + RGB 31, 31, 31 + RGB 21, 21, 27 + +Data_2894: + RGB 27, 10, 10 + RGB 20, 04, 04 + +Data_2898: + dr $2898, $28a0 + +CopyHLToDE: ; 0x28a0 +; Places [hl] into [de] +; Also places $0 into [de + 2] + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + xor a + ld [de], a + ret + +UpdateAnimation: ; 0x28a9 +; Updates an animation struct. (See wDugtrioAnimationFrameCounter) +; Input: de = pointer to 3-byte animation struct +; hl = pointer to animation frames data +; Sets carry flag if the animation is over. + ld a, [de] + and a + ret z ; return, if counter is zero + dec a + ld [de], a + ret nz ; return if counter is not zero after the decrement + push de + inc de + inc de + ld a, [de] ; a = current frame index + inc a + ld [de], a + ld c, a + ld b, $0 + sla c + rl b + add hl, bc ; hl = pointer to two-byte entry in the frames data table + ld a, [hli] + pop de + and a + scf + ret z ; return if the next entry is $00 + push de + ld [de], a ; save the animation duration + inc de + ld a, [hli] + ld [de], a ; save the next animation frame id + pop de + ret + +INCLUDE "text.asm" + +Func_30db: ; 0x30db + ld a, $86 + ld [hWY], a + ld a, $1 + ld [wd5ca], a + ld [wd5cb], a + ret + +Func_30e8: ; 0x30e8 + ld a, $81 + ld hl, wcBottomMessageText + $100 + ld b, $40 +.asm_30ef + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + dec b + jr nz, .asm_30ef + xor a + ld [wd5cc], a + ld [wd5d4], a + ld [wd5dc], a + ld [wd5e4], a + ld [wd5e9], a + ld [wd5ee], a + ret + +Func_310a: ; 0x310a + ld a, $81 + ld hl, wc600 + $40 + ld b, $5 +.asm_3111 + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + dec b + jr nz, .asm_3111 + ld hl, wc600 + $c0 + ld b, $5 +.asm_311d + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + dec b + jr nz, .asm_311d + ret + +Func_3125: ; 0x3125 + ld b, $1 + jr asm_312b + +Func_3129: ; 0x3129 + ld b, $0 +asm_312b: ; 0x312b + ld a, [wd805] + and a + jp nz, Func_3268 +.next_char + ld a, [hli] + and a + ret z + ld c, $81 + cp " " + jr z, .space + cp "," + jr z, .comma + cp "♂" + jr z, .male + cp "♀" + jr z, .female + cp "`" + jr z, .apostrophe + cp "!" + jr z, .exclamation + cp "x" + jr z, .little_x + cp "e" + jr z, .e_acute + cp "*" + jr z, .asterisk + cp "." + jr z, .period + cp ":" + jr z, .colon + cp "0" + jr c, .check_atoz + cp "9" + 1 + jr c, .digit +.check_atoz + cp "A" + jr c, .invalid + cp "Z" + 1 + jr c, .alphabet +.invalid + jr .next_char + +.space + ld a, c + jr .load_char + +.comma + inc c + dec e + jr .check_special_load + +.male + xor a + call Func_31e1 + ld a, $83 + jr .load_char + +.female + ld a, $1 + call Func_31e1 + ld a, $84 + jr .load_char + +.apostrophe + ld a, $2 + call Func_31e1 + ld a, $85 + jr .load_char + +.e_acute + ld a, $3 + call Func_31e1 + ld a, $83 + jr .load_char + +.asterisk + ld a, $4 + call Func_31e1 + ld a, $87 + jr .load_char + +.exclamation + ld a, $5 + call Func_31e1 + ld a, $85 + jr .load_char + +.little_x + ld a, $6 + call Func_31e1 + ld a, $85 + jr .load_char + +.period + ld a, $7 + call Func_31e1 + ld a, $86 + jr .load_char + +.colon + ld a, $8 + call Func_31e1 + ld a, $83 + jr .load_char + +.digit + add $56 + jr .load_char + +.alphabet + add $bf +.load_char + ld [de], a +.check_special_load + bit 0, b + jr nz, .no_special_load + set 7, e + ld a, c + ld [de], a + res 7, e +.no_special_load + inc e + jp .next_char + +Func_31e1: ; 0x31e1 + push bc + push de + push hl + ld c, a + ld a, [hGameBoyColorFlag] + and a + ld a, c + jr z, .asm_31ed + add $9 +.asm_31ed + ld c, a + sla a + sla a + add c + ld c, a + ld b, $0 + ld hl, Data_320e + add hl, bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld b, a + ld a, [hli] + ld h, [hl] + ld l, a + ld a, b + ld bc, $0010 + call LoadVRAMData + pop hl + pop de + pop bc + ret + +Data_320e: + dr $320e, $3268 + +Func_3268: ; 0x3268 + ld a, [hli] + and a + ret z + ld c, $81 + cp $20 + jr z, .asm_3297 + cp $2c + jr z, .asm_329a + cp $30 + jr c, .asm_327d + cp $3a + jr c, .asm_329e +.asm_327d + cp $a0 + jr c, .asm_3285 + cp $e0 + jr c, .asm_328f +.asm_3285 + cp $e0 + jr c, .asm_328d + cp $f4 + jr c, .asm_3293 +.asm_328d + jr Func_3268 + +.asm_328f + sub $80 + jr .asm_32a0 + +.asm_3293 + sub $50 + jr .asm_32a0 + +.asm_3297 + ld a, c + jr .asm_32a0 + +.asm_329a + inc c + dec e + jr .asm_32a1 + +.asm_329e + add $56 +.asm_32a0 + ld [de], a +.asm_32a1 + set 7, e + ld a, c + ld [de], a + res 7, e + inc e + jr Func_3268 + +LoadTextHeader: ; 0x32aa + ld a, $1 + ld [hli], a + ld a, [de] + ld [hli], a + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + push af + inc de + ld a, [de] + ld [hli], a + inc de + pop af + ld l, a + ld h, wcBottomMessageText / $100 +.asm_32c5 + ld a, [de] + ld [hli], a + inc de + and a + jr nz, .asm_32c5 + ret + +Func_32cc: ; 0x32cc + ld a, $1 + ld [hli], a + ld a, [de] + ld [hli], a + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + push af + inc de + ld a, [de] + ld [hli], a + inc de + pop af + ld e, a + ld d, wcBottomMessageText / $100 + ld hl, [sp+$5] + lb bc, 8, 1 +.asm_32ec + ld a, [hl] + swap a + and $f + call Func_3309 + dec b + ld a, [hld] + and $f + call Func_3309 + dec b + jr nz, .asm_32ec + ld a, "0" + ld [de], a + inc de + ld a, " " + ld [de], a + inc de + xor a + ld [de], a + ret + +Func_3309: ; 0x3309 + jr nz, .asm_3312 + ld a, b + dec a + jr z, .asm_3312 + ld a, c + and a + ret nz +.asm_3312 + add $30 + ld [de], a + inc de + ld c, $0 + ld a, b + cp $6 + jr z, .asm_3320 + cp $3 + ret nz +.asm_3320 + ld a, $2c + ld [de], a + inc de + ret + +Func_3325: ; 0x3325 + ld a, [hli] + and a + ret z + ld a, [hl] + dec a + ld [hli], a + ret nz + ld a, [hld] + ld [hl], a + inc hl + inc hl + push hl + ld a, [hli] + ld e, a + cp [hl] + inc hl + jr nz, .asm_333c + ld a, [hl] + dec a + ld [hl], a + jr nz, .asm_333d +.asm_333c + dec e +.asm_333d + push de + ld d, wc600 / $100 + inc hl + push hl + ld l, [hl] + ld h, wcBottomMessageText / $100 + call Func_3129 + pop hl + inc hl + ld a, [hl] + dec a + ld [hl], a + pop de + pop hl + ld [hl], e + ret nz + dec hl + dec hl + dec hl + ld [hl], $0 + ret + +Func_3357: ; 0x3357 + ld a, $1 + ld [hli], a + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + push af + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + pop af + ld l, a + ld h, wcBottomMessageText / $100 +.asm_336b + ld a, [de] + ld [hli], a + inc de + and a + jr nz, .asm_336b + ret + +Func_3372: ; 0x3372 + ld a, $1 + ld [hli], a + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + push af + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + pop af + ld e, a + ld d, wcBottomMessageText / $100 + ld hl, [sp+$5] + lb bc, 8, 1 +.asm_338a + ld a, [hl] + swap a + and $f + call Func_33a7 + dec b + ld a, [hld] + and $f + call Func_33a7 + dec b + jr nz, .asm_338a + ld a, $30 + ld [de], a + inc de + ld a, $20 + ld [de], a + inc de + xor a + ld [de], a + ret + +Func_33a7: ; 0x33a7 + jr nz, .asm_33b0 + ld a, b + dec a + jr z, .asm_33b0 + ld a, c + and a + ret nz +.asm_33b0 + add $30 + ld [de], a + inc de + ld c, $0 + ld a, b + cp $6 + jr z, .asm_33be + cp $3 + ret nz +.asm_33be + ld a, $2c + ld [de], a + inc de + ret + +Func_33c3: ; 0x33c3 + ld a, [hli] + and a + ret z + ld a, [hli] + ld e, a + ld d, wc600 / $100 + push hl + ld l, [hl] + ld h, wcBottomMessageText / $100 + call Func_3129 + pop hl + inc hl + ld a, [hl] + dec a + ld [hli], a + ret nz + ld a, [hl] + dec a + ld [hld], a + bit 7, a + ret z + dec hl + dec hl + dec hl + ld [hl], $0 + ret + +Func_33e3: ; 0x33e3 + ld a, [wd5ca] + and a + jr nz, .asm_33ed + ld [wd5cb], a + ret + +.asm_33ed + ld c, $0 + ld a, [wd5cc] + and a + jr z, .asm_33fe + push bc + ld hl, wd5cc + call Func_3325 + pop bc + inc c +.asm_33fe + ld a, [wd5d4] + and a + jr z, .asm_340d + push bc + ld hl, wd5d4 + call Func_3325 + pop bc + inc c +.asm_340d + ld a, [wd5dc] + and a + jr z, .asm_341c + push bc + ld hl, wd5dc + call Func_3325 + pop bc + inc c +.asm_341c + ld a, [wd5e4] + and a + jr z, .asm_342b + push bc + ld hl, wd5e4 + call Func_33c3 + pop bc + inc c +.asm_342b + ld a, [wd5e9] + and a + jr z, .asm_343a + push bc + ld hl, wd5e9 + call Func_33c3 + pop bc + inc c +.asm_343a + ld a, [wd5ee] + and a + jr z, .asm_3449 + push bc + ld hl, wd5ee + call Func_33c3 + pop bc + inc c +.asm_3449 + ld a, c + and a + ret nz + ld [wd5ca], a + call Func_30e8 + ld a, [hGameBoyColorFlag] + and a + jr nz, .gameboyColor + ld a, Bank(StageRedFieldTopStatusBarSymbolsGfx_GameBoy) + ld hl, $30 + StageRedFieldTopStatusBarSymbolsGfx_GameBoy + ld de, $8830 + ld bc, $0040 + call LoadOrCopyVRAMData + ret + +.gameboyColor + ld a, Bank(StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor) + ld hl, $30 + StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor + ld de, $8830 + ld bc, $0040 + call LoadOrCopyVRAMData + ret + +Func_3475: ; 0x3475 + xor a + ld [hJoypadState], a + ld [hNewlyPressedButtons], a + ld [hPressedButtons], a + call HandleTilts + ld a, [wCurrentStage] + bit 0, a + ld [hFarCallTempA], a + ld a, Bank(HandleFlippers) + ld hl, HandleFlippers + call nz, BankSwitch + ld [hFarCallTempA], a + callba Func_84b7 + call Func_33e3 + call Func_926 + rst AdvanceFrame + ld a, [wd5ca] + and a + jr nz, Func_3475 + ret + +FivePoints: ; 34a6 + bigBCD6 000000000005 +TenPoints: ; 34ac + bigBCD6 000000000010 +OneHundredPoints: ; 34b2 + bigBCD6 000000000100 +FourHundredPoints: ; 34b8 + bigBCD6 000000000400 +FiveHundredPoints: ; 34be + bigBCD6 000000000500 +OneThousandPoints: ; 34c4 + bigBCD6 000000001000 +FiveThousandPoints: ; 34ca + bigBCD6 000000005000 +TenThousandPoints: ; 34d0 + bigBCD6 000000010000 +OneHundredThousandPoints: ; 34d6 + bigBCD6 000000100000 +ThreeHundredThousandPoints: ; 34dc + bigBCD6 000000300000 +FiveHundredThousandPoints: ; 34e2 + bigBCD6 000000500000 +OneMillionPoints: ; 34e8 + bigBCD6 000001000000 +FiveMillionPoints: ; 34ee + bigBCD6 000005000000 +TenMillionPoints: ; 34f4 + bigBCD6 000010000000 +OneHundredMillionPoints: ; 34fa + bigBCD6 000100000000 + +Func_3500: + ld hl, wd464 + ld a, e + ld [hli], a + ld a, d + ld [hli], a + ld a, c + ld [hli], a + ld a, b + ld [hli], a + xor a + ld [hli], a + ld [hl], a + ld bc, wd464 + ldh [hFarCallTempA], a + callba AddBCDScore + ret + +Func_351c: ; 0x351c + ld hl, wd464 + ld a, e + ld [hli], a + ld a, d + ld [hli], a + ld a, c + ld [hli], a + ld a, b + ld [hli], a + xor a + ld [hli], a + ld [hl], a + ld bc, wd464 + ld [hFarCallTempA], a + callba Func_8588 + ret + +Func_3538: ; 0x3538 +; Add BCD value bcde to [wd47a]. Cap at $99999999. + ld hl, wd47a + ld a, [hl] + add e + daa + ld [hli], a + ld a, [hl] + adc d + daa + ld [hli], a + ld a, [hl] + adc c + daa + ld [hli], a + ld a, [hl] + adc b + daa + ld [hli], a + ret nc + ld hl, wd47a + ld a, $99 + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ret + +Func_3556: ; 0x3556 + ld a, [wd47a] + ld e, a + ld a, [wd47a + 1] + ld d, a + ld a, [wd47a + 2] + ld c, a + ld a, [wd47a + 3] + ld b, a + ret + +Func_3567: + ld a, l + add c + daa + ld l, a + ld a, h + adc b + daa + ld h, a + ret + +Func_3570: + ld a, l + add e + daa + ld l, a + ld a, h + adc d + daa + ld h, a + ret + +Func_3579: ; 0x3579 + ld hl, wd47a + xor a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ret + +HandleTilts: ; 0x3582 + call HandleLeftTilt + call HandleRightTilt + call HandleUpperTilt + ret + +HandleLeftTilt: ; 0x358c + ld a, [wLeftTiltReset] + and a + jr nz, .tiltCoolDown + ld hl, wKeyConfigLeftTilt + call IsKeyPressed2 + jr z, .tiltCoolDown + ld a, [wLeftTiltCounter] + cp $3 + jr z, .startCoolDown + inc a + ld [wLeftTiltCounter], a + cp $1 + jr nz, .skipSoundEffect + ld de, $003f + call PlaySoundEffect +.skipSoundEffect + ld a, [wd548] + ld hl, wd549 + and [hl] + jr z, .skipBallMovement + ld a, [wBallXPos + 1] + dec a ; move ball's position to the left by 1 pixel + ld [wBallXPos + 1], a +.skipBallMovement + ld a, [wd79f] + inc a + ld [wd79f], a + ld a, $1 + ld [wLeftTiltPushing], a + ret + +.startCoolDown + ld a, $1 + ld [wLeftTiltReset], a +.tiltCoolDown + xor a + ld [wLeftTiltPushing], a + ld a, [wLeftTiltCounter] + and a + jr z, .done + dec a + ld [wLeftTiltCounter], a + ld a, [wd79f] + dec a + ld [wd79f], a + ret + +.done + ld hl, wKeyConfigLeftTilt + call IsKeyPressed2 + ret nz + xor a + ld [wLeftTiltReset], a + ret + +HandleRightTilt: ; 0x35f3 + ld a, [wRightTiltReset] + and a + jr nz, .tiltCoolDown + ld hl, wKeyConfigRightTilt + call IsKeyPressed2 + jr z, .tiltCoolDown + ld a, [wRightTiltCounter] + cp $3 + jr z, .startCoolDown + inc a + ld [wRightTiltCounter], a + cp $1 + jr nz, .skipSoundEffect + ld de, $003f + call PlaySoundEffect +.skipSoundEffect + ld a, [wd548] + ld hl, wd549 + and [hl] + jr z, .skipBallMovement + ld a, [wBallXPos + 1] + inc a ; move ball's position to the right by 1 pixel + ld [wBallXPos + 1], a +.skipBallMovement + ld a, [wd79f] + dec a + ld [wd79f], a + ld a, $1 + ld [wRightTiltPushing], a + ret + +.startCoolDown + ld a, $1 + ld [wRightTiltReset], a +.tiltCoolDown + xor a + ld [wRightTiltPushing], a + ld a, [wRightTiltCounter] + and a + jr z, .done + dec a + ld [wRightTiltCounter], a + ld a, [wd79f] + inc a + ld [wd79f], a + ret + +.done + ld hl, wKeyConfigRightTilt + call IsKeyPressed2 + ret nz + xor a + ld [wRightTiltReset], a + ret + +HandleUpperTilt: ; 0x365a + ld a, [wUpperTiltReset] + and a + jr nz, .tiltCoolDown + ld hl, wKeyConfigUpperTilt + call IsKeyPressed2 + jr z, .tiltCoolDown + ld a, [wUpperTiltCounter] + cp $4 + jr z, .startCoolDown + inc a + ld [wUpperTiltCounter], a + cp $1 + jr nz, .skipSoundEffect + ld de, $003f + call PlaySoundEffect +.skipSoundEffect + ld a, [wd548] + ld hl, wd549 + and [hl] + jr z, .skipBallMovement + ld a, [wBallYPos + 1] + inc a ; move ball's position down by 1 pixel + ld [wBallYPos + 1], a +.skipBallMovement + ld a, [wd7a0] + dec a + ld [wd7a0], a + ld a, $1 + ld [wUpperTiltPushing], a + ret + +.startCoolDown + ld a, $1 + ld [wUpperTiltReset], a +.tiltCoolDown + xor a + ld [wUpperTiltPushing], a + ld a, [wUpperTiltCounter] + and a + jr z, .done + dec a + ld [wUpperTiltCounter], a + ld a, [wd7a0] + inc a + ld [wd7a0], a + ret + +.done + ld hl, wKeyConfigUpperTilt + call IsKeyPressed2 + ret nz + xor a + ld [wUpperTiltReset], a + ret + +ApplyTiltForces: ; 0x36c1 + ld a, [wd548] + ld hl, wd549 + and [hl] + ret z + ld c, $0 + ld a, [wUpperTiltPushing] + srl a + rl c + ld a, [wRightTiltPushing] + srl a + rl c + ld a, [wLeftTiltPushing] + srl a + rl c + ld b, $0 + sla c + ld hl, Data_372d + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + bit 7, h + ret nz + ld a, [wd7ea] + ld c, a + ld b, $0 + sla c + rl b + sla c + rl b + add hl, bc + ld a, [hLoadedROMBank] + push af + ld a, BANK(TiltLeftOnlyForce) + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld a, [wBallXVelocity] + add [hl] + ld [wBallXVelocity], a + inc hl + ld a, [wBallXVelocity + 1] + adc [hl] + ld [wBallXVelocity + 1], a + inc hl + ld a, [wBallYVelocity] + add [hl] + ld [wBallYVelocity], a + inc hl + ld a, [wBallYVelocity + 1] + adc [hl] + ld [wBallYVelocity + 1], a + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ret + +Data_372d: + dw -1 ; no tilt + dw TiltLeftOnlyForce + dw TiltRightOnlyForce + dw -1 ; left + right (cancel) + dw TiltUpOnlyForce + dw TiltUpLeftForce + dw TiltUpRightForce + dw TiltUpOnlyForce + +SECTION "bank0.2", ROM0 [$3800] + +Data_3800: + dr $3800, $3980 + +Data_3980: + dr $3980, $3b00 + +Data_3b00: + dr $3b00, $3c80 + +Data_3c80: + dr $3c80, $3e00 + +SquaresLow: +x = 0 +rept 256 + db (x * x) % $100 +x = x + 1 +endr + +SquaresHigh: +x = 0 +rept 256 + db (x * x) / $100 +x = x + 1 +endr + diff --git a/home/serial.asm b/home/serial.asm new file mode 100755 index 0000000..8e68e6b --- /dev/null +++ b/home/serial.asm @@ -0,0 +1,782 @@ +Func_14c4: ; 14c4 (0:14c4) + ld a, [wd8dc] + and a + jp nz, Func_165f + ld a, [wd8ad] + cp $7 + jp z, Func_1612 + ld a, [wd8af] + and a + jr nz, .asm_14df + call Func_1502 + jp Func_1663 + +.asm_14df + ld a, [wd8b0] + and a + jr z, .asm_14fc + ld a, [wd8b1] + and a + jr z, .asm_14fc + ld a, [wd8b2] + cp $2 + jr z, .asm_14f7 + call Func_15e1 + jr .asm_14ff + +.asm_14f7 + call Func_15f8 + jr .asm_14ff + +.asm_14fc + call Func_1527 +.asm_14ff + jp Func_1663 + +Func_1502: ; 1502 (0:1502) + ld hl, wd8b9 + ld c, [hl] + inc [hl] + ld b, $0 + ld hl, Data_18ff + add hl, bc + ld a, [hl] + ld [rSB], a + ld a, $1 + ld [rSC], a + ld a, $81 + ld [rSC], a + ld a, [wd8b9] + cp $2 + ret nz + xor a + ld [wd8b9], a + inc a + ld [wd8af], a + ret + +Func_1527: ; 1527 (0:1527) + ld a, [wd8b9] + ld c, a + ld a, [wd8ba] + ld b, a + ld a, [wd8bb] + ld l, a + ld a, [wd8bc] + ld h, a + add hl, bc + ld a, [rSB] + ld [wd8c8 + 1], a + ld a, [hl] + ld [rSB], a + ld l, a + ld a, [wd8c3] + add l + ld [wd8c3], a + ld a, [wd8c4] + adc $0 + ld [wd8c4], a + ld a, $1 + ld [rSC], a + ld a, $81 + ld [rSC], a + ld hl, wd8b9 + inc [hl] + jr nz, .asm_1560 + inc hl + inc [hl] +.asm_1560 + ld hl, wd8b9 + ld a, [wd8b3] + cp [hl] + jr nz, .asm_1570 + inc hl + ld a, [wd8b4] + cp [hl] + jr z, .asm_1572 +.asm_1570 + jr .asm_15b0 + +.asm_1572 + ld hl, wd8b0 + ld a, [hl] + and a + jr z, .asm_157c + ld hl, wd8b1 +.asm_157c + inc [hl] + ld a, [wd8cc] + and a + jr z, .asm_15b5 + ld a, [wd8ad] + cp $6 + jr z, .asm_15b5 + ld hl, wd8b1 + ld a, [hl] + and a + jr nz, .asm_15b1 + xor a + ld [wd8b9], a + ld [wd8ba], a + ld a, [wd8bf] + ld [wd8bb], a + ld a, [wd8c0] + ld [wd8bc], a + ld a, [wd8b7] + ld [wd8b3], a + ld a, [wd8b8] + ld [wd8b4], a +.asm_15b0 + ret + +.asm_15b1 + call Func_15c8 + ret + +.asm_15b5 + ld a, [wd8c8 + 1] + ld [wd8c8], a +asm_15bb + ld a, $7 + ld [wd8ad], a + ld a, $1 + ld [wd8c5], a + call Func_16bf +Func_15c8: ; 15c8 (0:15c8) + ld a, [wd8b5] + ld [wd8b3], a + ld a, [wd8b6] + ld [wd8b4], a + ld a, [wd8bd] + ld [wd8bb], a + ld a, [wd8be] + ld [wd8bc], a + ret + +Func_15e1: ; 15e1 (0:15e1) + ld c, a + ld b, $0 + ld hl, wd8c3 + add hl, bc + ld a, [hl] + ld [rSB], a + ld a, $1 + ld [rSC], a + ld a, $81 + ld [rSC], a + ld hl, wd8b2 + inc [hl] + ret + +Func_15f8: ; 15f8 (0:15f8) + ld a, [rSB] + ld [wd8c8], a + xor a + ld [rSB], a + ld a, $1 + ld [rSC], a + ld a, $81 + ld [rSC], a + ld hl, wd8c6 + inc [hl] + ld a, [hl] + cp $2 + jr z, asm_15bb + ret + +Func_1612: ; 1612 (0:1612) + ld a, [wd8cb] + ld [wd8ae], a + ld a, [wd8c7] + ld [wd86e + 2], a + cp $ff + jr z, .asm_1625 + ld [wd86e + 1], a +.asm_1625 + ld a, [rSB] + ld [wd8c7], a + cp $ff + jr nz, .asm_163a + ld a, $0 + ld [wd8db], a + ld [wd8ad], a + ld a, $2 + jr .asm_1652 + +.asm_163a + bit 1, a + jr z, .asm_1643 + ld a, $1 + ld [wd8e2], a +.asm_1643 + bit 4, a + ld a, $0 + ld [wd8ad], a + ld a, $1 + jr nz, .asm_1651 + ld [wd8ad], a +.asm_1651 + inc a +.asm_1652 + ld [wd8c5], a + ld a, [wd8cc] + and a + jr nz, Func_165f + xor a + ld [wd8db], a +Func_165f: ; 165f (0:165f) + ret + +Func_1660: + xor a + ld [rSC], a +Func_1663: ; 1663 (0:1663) + ret + +Func_1664: + push af + ld a, [rSC] + bit 7, a + jr nz, .asm_1679 + push bc + push de + push hl + ld a, $1 + ld [wd8ca], a + call Func_14c4 + pop hl + pop de + pop bc +.asm_1679 + pop af + reti +Func_167b: ; 0x167b + ld a, [wd8ad] + cp $1 + ret nz + ld a, [wd8c7] + cp $ff + ret z + ld a, [wd8db] + and a + ret nz + ld hl, wd8e0 + inc [hl] + ld a, [hl] + cp $6 + ret c + xor a + ld [hl], a + ld [wd8e2], a + call Func_18ac + ret + +Func_169d: + xor a + ld [rSC], a + ld [rSB], a + ; fallthrough + +Func_16a2: ; 0x16a2 + xor a + ld [rSB], a + ld [rSC], a + ld [wd8ad], a + dec a + ld [wd8c7], a + ld [wd8c8], a + call Func_16b5 + ret + +Func_16b5: ; 0x16b5 + xor a + ld [wd8c5], a + ld [wd8ca], a + ld [wd8db], a + ; fall through +Func_16bf: ; 0x16bf + xor a + ld [wd8af], a + ld [wd8b0], a + ld [wd8b1], a + ld [wd8b2], a + ld [wd8c6], a + ld [wd8c3], a + ld [wd8c4], a + ld [wd8b9], a + ld [wd8ba], a + ld [wd8dc], a + ld [wd8e2], a + ret + +Func_16e2: ; 0x16e2 + ld a, [wd8db] + and a + jr z, .asm_16ec + call Func_16fd + ret nc +.asm_16ec + ld a, [wd8ae] + cp $1 + jr nz, .asm_16f7 + call Func_16fd + ret nc +.asm_16f7 + call Func_1925 + jp Func_19e5 + +Func_16fd: ; 0x16fd + ld a, [wd8c5] + cp $2 + jr nz, .asm_173c + xor a + ld [wd8e0], a + ld [wd8ae], a + inc a + ld [wd8ad], a + ld a, [wd8c7] + cp $ff + jr z, .asm_1735 + bit 0, a + jr nz, .asm_172e + bit 1, a + jr nz, .asm_172e + bit 4, a + jr z, .asm_173a + xor a + ld [wd8ad], a + ld [wd8ae], a + ld a, [wd8c7] + jr .asm_173a + +.asm_172e + scf + ret + +.asm_1730 + xor a + ld [wd8ae], a + dec a +.asm_1735 + inc a + ld [wd8ad], a + dec a +.asm_173a + and a + ret + +.asm_173c + xor a + ld a, $f0 + ret + +Func_1740: ; 0x1740 + ld a, [wd8ad] + cp $1 + jr z, .asm_1752 + cp $2 + jr z, .asm_1752 + and a + ld a, $ff + ret z +.asm_174f + ld a, $f0 + ret + +.asm_1752 + ld a, [wd8e2] + and a + jr nz, .asm_174f + ld a, [wd8db] + and a + jr z, .asm_1762 + call Func_16fd + ret nc +.asm_1762 + ld a, [wd8ae] + cp $2 + jr nz, .asm_176d + call Func_16fd + ret nc +.asm_176d + ld a, [wd8c7] + cp $ff + ret z + call Func_1932 + jp Func_19e5 + +Func_1779: ; 0x1779 + ld c, a + ld a, [wd8ad] + and a + ld a, [wd8c7] + ret z + ld a, [wd8ad] + cp $1 + jr z, .asm_1790 + cp $3 + jr z, .asm_1790 + ld a, $f0 + ret + +.asm_1790 + ld a, [wd8db] + and a + jr nz, .asm_17df + ld a, c + inc a + ld [wd8de], a + ld a, l + ld [wd8c1], a + ld a, h + ld [wd8c2], a + ld a, [wd8c7] + cp $ff + ret z + ld a, [wd8ab] + ld [wd8ac], a + and a + jr z, .asm_17d6 + ld a, [wd8de] + dec a + dec a + push af + ld c, a + ld b, $0 + push hl + ld hl, wd89d + add hl, bc + ld a, [hl] + pop hl + ld [wd8ac], a + pop af + add a + ld c, a + ld b, $0 + push hl + ld hl, wd88b + add hl, bc + ld a, [hli] + ld b, [hl] + pop hl + ld c, a + jp .asm_17d9 + +.asm_17d6 + ld bc, $0280 +.asm_17d9 + call Func_1989 + jp Func_19e5 + +.asm_17df + ld a, [wd8c5] + cp $2 + ld a, $f0 + jp nz, .asm_1869 + ld hl, wd8de + ld a, [wd8c7] + bit 4, a + jp nz, .asm_1859 + bit 1, a + jp nz, .asm_1804 + bit 0, a + jp nz, .asm_1804 + dec [hl] + ld a, [wd8c7] + jr z, .asm_1860 +.asm_1804 + ld a, [hl] + cp $1 + jr z, .asm_186a + ld bc, $0280 + ld a, [wd8ab] + ld [wd8ac], a + and a + jr z, .asm_1836 + ld a, [wd8de] + dec a + dec a + push af + ld c, a + ld b, $0 + push hl + ld hl, wd89d + add hl, bc + ld a, [hl] + pop hl + ld [wd8ac], a + pop af + add a + ld c, a + ld b, $0 + push hl + ld hl, wd88b + add hl, bc + ld a, [hli] + ld b, [hl] + pop hl + ld c, a +.asm_1836 + ld a, [wd8c7] + bit 1, a + jp nz, .asm_184e + ld a, [wd8bf] + add $80 + ld [wd8bf], a + ld a, [wd8c0] + adc $2 + ld [wd8c0], a +.asm_184e + ld a, [wd8bf] + ld l, a + ld a, [wd8c0] + ld h, a + jp .asm_17d9 + +.asm_1859 + push af + ld a, $1 + ld [wd8dc], a + pop af +.asm_1860 + push af + xor a + ld [wd8cc], a + ld [wd8db], a + pop af +.asm_1869 + ret + +.asm_186a + ld a, [wd8dd] + and a + ld a, [wd8c7] + jr z, .asm_1860 + call Func_19d7 + jp Func_19e5 + +Func_1879: + ld a, [wd8ad] + cp $1 + jr z, .asm_188b + cp $3 + jr z, .asm_188b + and a + ld a, $ff + ret z + ld a, $f0 + ret + +.asm_188b + ld a, [wd8db] + and a + jr z, .asm_1895 + call Func_16fd + ret nc +.asm_1895 + ld a, [wd8ae] + cp $4 + jr nz, .asm_18a0 + call Func_16fd + ret nc +.asm_18a0 + ld a, [wd8c7] + cp $ff + ret z + call Func_19bd + jp Func_19e5 + +Func_18ac: ; 0x18ac + ld a, [wd8ad] + cp $1 + jr z, .asm_18be + cp $3 + jr z, .asm_18be + and a + ld a, $ff + ret z + ld a, $f0 + ret + +.asm_18be + ld a, [wd8db] + and a + jr z, .asm_18c8 + call Func_16fd + ret nc +.asm_18c8 + ld a, [wd8c7] + cp $ff + ret z + call Func_19ca + jp Func_19e5 + +Func_18d4: ; 0x18d4 + ld [wd8cb], a + ld a, d + ld [wd8cc], a + ld a, l + ld [wd8bb], a + ld [wd8bd], a + ld a, h + ld [wd8bc], a + ld [wd8be], a + ld a, c + ld [wd8b3], a + ld [wd8b5], a + ld a, b + ld [wd8b4], a + ld [wd8b6], a + xor a + ld [wd8c5], a + call Func_16bf + ret + +Data_18ff: + dr $18ff, $1901 + +Data_1901: + dr $1901, $1909 + +Data_1909: + dr $1909, $190d + +Data_190d: + dr $190d, $1915 + +Data_1915: + dr $1915, $191d + +Data_191d: + dr $191d, $1925 + +Func_1925: ; 0x1925 + ld a, $1 + ld d, $0 + ld hl, Data_1901 + ld bc, $0008 + jp Func_18d4 + +Func_1932: ; 0x19332 + ld a, $2 + ld d, $0 + ld hl, wd8cd + ld bc, $000c + call Func_18d4 + ld hl, Data_1909 + ld de, wd8cd + ld bc, $0004 + call LocalCopyData + ld de, $0006 + ld a, [wd8a8] + ld [wd8d1], a + call Func_1982 + ld a, [wd8a9] + ld [wd8d2], a + call Func_1982 + ld a, [wd8aa] + ld [wd8d3], a + call Func_1982 + ld a, [wd8a7] + ld [wd8d4], a + call Func_1982 + ld a, e + ld [wd8d5], a + ld a, d + ld [wd8d6], a + xor a + ld [wd8d7], a + ld [wd8d8], a + ret + +Func_1982: ; 0x1982 + add e + ld e, a + ld a, d + adc $0 + ld d, a + ret + +Func_1989: ; 0x1989 + ld a, l + ld [wd8bf], a + ld a, h + ld [wd8c0], a + ld a, c + ld [wd8b7], a + ld a, b + ld [wd8b8], a + push bc + ld a, $3 + ld d, $1 + ld hl, wd8cd + ld bc, $0004 + call Func_18d4 + ld a, [Data_190d] + ld [wd8cd], a + ld a, [wd8ac] + ld [wd8ce], a + pop bc + ld a, c + ld [wd8cf], a + ld a, b + ld [wd8d0], a + ret + +Func_19bd: ; 19bd (0:19bd) + ld a, $4 + ld d, $0 + ld hl, Data_1915 + ld bc, $8 + jp Func_18d4 + +Func_19ca: ; 0x19ca + ld a, $5 + ld d, $0 + ld hl, Data_191d + ld bc, $0008 + jp Func_18d4 + +Func_19d7: ; 0x19d7 + ld a, $6 + ld d, $1 + ld hl, Data_190d + ld bc, $0008 + jp Func_18d4 + +; XXX + ret + +Func_19e5: ; 0x19e5 + ld a, [wd8ad] + cp $1 + jr z, .asm_19f8 + and a + jr nz, .asm_19f6 + ld a, [wd8cb] + cp $1 + jr z, .asm_1a02 +.asm_19f6 + scf + ret + +.asm_19f8 + ld a, [wd8cb] + cp $1 + jr z, .asm_19f6 + ld [wd8ad], a +.asm_1a02 + xor a + ld [wd8c5], a + ld [wd8ae], a + ld a, $1 + ld [wd8b9], a + ld [wd8db], a + ld a, [Data_18ff] + ld [rSB], a + ld a, $1 + ld [rSC], a + ld a, $81 + ld [rSC], a + ld a, $f0 + ret diff --git a/home/sgb.asm b/home/sgb.asm new file mode 100755 index 0000000..49f8a00 --- /dev/null +++ b/home/sgb.asm @@ -0,0 +1,277 @@ +FarSendSGBPackets: ; 0x12a1 +; send 16*b bytes at a:hl via the joypad register + ld [hROMBankBuffer], a + ld a, [hLoadedROMBank] + push af + ld a, [hROMBankBuffer] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ld a, [hl] + and $7 + jr z, .quit + ld b, a + ld c, $0 +.loop + push bc + ld a, $0 + ld [$ff00+c], a + ld a, $30 + ld [$ff00+c], a + ld b, $10 +.inner_loop + ld e, $8 + ld a, [hli] + ld d, a +.innermost_loop + bit 0, d + ld a, $10 + jr nz, .got_data + ld a, $20 +.got_data + ld [$ff00+c], a + ld a, $30 + ld [$ff00+c], a + rr d + dec e + jr nz, .innermost_loop + dec b + jr nz, .inner_loop + ld a, $20 + ld [$ff00+c], a + ld a, $30 + ld [$ff00+c], a + pop bc + dec b + jr z, .quit + call SGBWait7000 + jr .loop + +.quit + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ret + +SGBWait7000: ; 0x12ec + ld de, 7000 +.asm_12ef + nop + nop + nop + dec de + ld a, d + or e + jr nz, .asm_12ef + ret + +InitSGB: ; 0x12f8 + ld a, BANK(Data_38010) + ld hl, Data_38010 + call FarSendSGBPackets + call SGBWait7000 + ld a, [rJOYP] + and $3 + cp $3 + jr nz, .asm_1346 + ld a, $20 + ld [rJOYP], a + ld a, [rJOYP] + ld a, [rJOYP] + ld a, $30 + ld [rJOYP], a + ld a, $10 + ld [rJOYP], a + ld a, [rJOYP] + ld a, [rJOYP] + ld a, [rJOYP] + ld a, [rJOYP] + ld a, [rJOYP] + ld a, [rJOYP] + ld a, $30 + ld [rJOYP], a + ld a, [rJOYP] + ld a, [rJOYP] + ld a, [rJOYP] + ld a, [rJOYP] + and $3 + cp $3 + jr nz, .asm_1346 + ld a, BANK(Data_38000) + ld hl, Data_38000 + call FarSendSGBPackets + call SGBWait7000 + and a + ret + +.asm_1346 + ld a, BANK(Data_38000) + ld hl, Data_38000 + call FarSendSGBPackets + call SGBWait7000 + scf + ret + +FarSendSGBPacket_BGMapRows: ; 0x1353 + ld [hROMBankBuffer], a + ld a, [hLoadedROMBank] + push af + ld a, [hROMBankBuffer] + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + push af + push hl + ld a, $e4 + ld [rBGP], a + ld de, $0010 + add hl, de + ld de, vTiles1 ; tiles + call LocalCopyData + ld hl, vBGMap0 ; bgmap + ld de, $000c + ld a, $80 + ld c, $d +.row + ld b, $14 +.col + ld [hli], a + inc a + dec b + jr nz, .col + add hl, de + dec c + jr nz, .row + ld a, $81 + ld [rLCDC], a + ld bc, $0005 + call SGBWait1750 + pop hl + pop af + call FarSendSGBPackets + ld bc, $0006 + call SGBWait1750 + ld a, [hBGP] + ld [rBGP], a + ld a, [hLCDC] + ld [rLCDC], a + pop af + ld [hLoadedROMBank], a + ld [MBC5RomBank], a + ret + +SendSGBBorder: ; 0x13a8 + ld a, [hSGBFlag] + and a + ret z + ld bc, $0078 + call SGBWait1750 + call SignalStartSGBBorderTransmission + ld a, BANK(Data_3a9e6) + ld hl, Data_3a9e6 + call FarSendSGBPackets + ld bc, $0004 + call SGBWait1750 + ld a, BANK(Data_3a9f6) + ld hl, Data_3a9f6 + call FarSendSGBPackets + ld bc, $0004 + call SGBWait1750 + ld a, BANK(Data_3aa06) + ld hl, Data_3aa06 + call FarSendSGBPackets + ld bc, $0004 + call SGBWait1750 + ld a, BANK(Data_3aa16) + ld hl, Data_3aa16 + call FarSendSGBPackets + ld bc, $0004 + call SGBWait1750 + ld a, BANK(Data_3aa26) + ld hl, Data_3aa26 + call FarSendSGBPackets + ld bc, $0004 + call SGBWait1750 + ld a, BANK(Data_3aa36) + ld hl, Data_3aa36 + call FarSendSGBPackets + ld bc, $0004 + call SGBWait1750 + ld a, BANK(Data_3aa46) + ld hl, Data_3aa46 + call FarSendSGBPackets + ld bc, $0004 + call SGBWait1750 + ld a, BANK(Data_3aa56) + ld hl, Data_3aa56 + call FarSendSGBPackets + ld bc, $0004 + call SGBWait1750 + ld bc, Data_39166 - Data_38156 - $10 + ld a, BANK(Data_38156) + ld hl, Data_38156 + call FarSendSGBPacket_BGMapRows + ld bc, $0004 + call SGBWait1750 + ld bc, Data_3a176 - Data_39166 - $10 + ld a, BANK(Data_39166) + ld hl, Data_39166 + call FarSendSGBPacket_BGMapRows + ld bc, $0004 + call SGBWait1750 + ld bc, Data_3a9e6 - Data_3a176 - $10 + ld a, BANK(Data_3a176) + ld hl, Data_3a176 + call FarSendSGBPacket_BGMapRows + ld bc, $0004 + call SGBWait1750 + ld bc, Data_38156 - Data_380a6 - $10 + ld a, BANK(Data_380a6) + ld hl, Data_380a6 + call FarSendSGBPacket_BGMapRows + ld bc, $0004 + call SGBWait1750 + ld bc, Data_3809a - Data_38030 - $10 + ld a, BANK(Data_38030) + ld hl, Data_38030 + call FarSendSGBPacket_BGMapRows + ld bc, $0004 + call SGBWait1750 + ld a, BANK(Data_38020) + ld hl, Data_38020 + call FarSendSGBPackets + ld bc, $0004 + call SGBWait1750 + ret + +SignalStartSGBBorderTransmission: ; 0x1489 + ld a, [hSGBFlag] + and a + ret z + ld a, [hSGBInit] + and a + ret nz + ld a, BANK(Data_3aa66) + ld hl, Data_3aa66 + call FarSendSGBPackets + ld bc, $0004 + call SGBWait1750 + ld a, $ff + ld [hSGBInit], a + ret + +SGBNormal: ; 0x14a4 + ld a, [hSGBFlag] + and a + ret z + ld bc, $0002 + call SGBWait1750 + ld a, [hSGBInit] + and a + ret z + ld a, BANK(Data_3aa76) + ld hl, Data_3aa76 + call FarSendSGBPackets + ld bc, $0004 + call SGBWait1750 + xor a + ld [hSGBInit], a + ret diff --git a/hram.asm b/hram.asm index 74950e1..36e2800 100755 --- a/hram.asm +++ b/hram.asm @@ -42,4 +42,6 @@ hFFC4 = $FFC4 hLoadedROMBank EQU $FFF8 ; this is updated whenever the code switches ROM Banks hROMBankBuffer EQU $FFFA +hSGBFlag EQU $FFFB +hSGBInit EQU $FFFC hGameBoyColorFlag EQU $FFFE ; this is set to $01 if a GameBoy Color is running the game. $00, otherwise. diff --git a/main.asm b/main.asm index ebfca96..56acd3e 100755 --- a/main.asm +++ b/main.asm @@ -2,7614 +2,7 @@ INCLUDE "charmap.asm" INCLUDE "macros.asm" INCLUDE "constants.asm" -SECTION "rst 00", ROM0 [$00] - di - jp Entry - -SECTION "rst 10", ROM0 [$10] - jp DelayFrame - -SECTION "rst 18", ROM0 [$18] - jp JumpToFuncInTable - -SECTION "rst 20", ROM0 [$20] - jp Func_486 - -SECTION "VBlankInt", ROM0 [$40] - jp VBlank - -SECTION "HBlankInt", ROM0 [$48] - jp LCD - -SECTION "TimerInt", ROM0 [$50] - jp Timer - -SECTION "SerialInt", ROM0 [$58] - jp Serial - -SECTION "JoypadInt", ROM0 [$60] - jp Joypad - -SECTION "Entry", ROM0 [$100] - -Entry: ; 0x100 - nop - jp Start - -SECTION "Header", ROM0 [$104] - - ; The header is generated by rgbfix. - ; The space here is allocated to prevent code from being overwritten. - ds $150 - $104 - -SECTION "Main", ROM0 [$150] - -Start: ; 0x150 - ld [hGameBoyColorFlag], a - ld sp, hGameBoyColorFlag - di - xor a - ld [rIF], a - ld a, [rLCDC] ; LCD Control - bit 7, a ; Check if LCD Display is enabled - jr nz, .LCDDisplayEnabled - set 7, a - ld [rLCDC], a -.LCDDisplayEnabled - ld bc, $0002 - call Func_948 -.waitForVBlank - ld a, [rLY] ; LY register (LCDC Y-Coordinate) - cp 145 ; > 144 means V-Blank - jr c, .waitForVBlank - ld a, $81 - ld [rLCDC], a ; Enable LCD Display - xor a - ld [rBGP], a ; Clear Palette Data - ld [rOBP0], a - ld [rOBP1], a - ld bc, $0002 - call Func_948 -.waitForVBlank2 - ld a, [rLY] ; LY register (LCDC Y-Coordinate) - cp 145 ; > 144 means V-Blank - jr c, .waitForVBlank2 - xor a - ld [rLCDC], a ; Disable LCD Display - ld hl, wc000 - ld bc, $2000 - call ClearData ; Clear WRAM Bank 0 - ld hl, vTiles0 - ld bc, $1000 - call ClearData ; Clear First half of VRAM - ld a, $a - ld [MBC5SRamEnable], a ; Enable RAM - ld a, $1 - ld [MBC5RomBank], a ; Load ROM Bank $1 - ld a, $0 - ld [MBC5RomBankOn], a ; Enable ROM Banking Mode - ld a, $0 - ld [MBC5SRamBank], a ; Set bits 5 and 6 of ROM Bank Number - ld a, $1 - ld [hLoadedROMBank], a - ld a, $1 - ld [MBC5RomBankOn], a ; Enable RAM Banking Mode - ld a, $0 - ld [MBC5SRamBank], a ; Load RAM Bank $0 - ld sp, wdfff ; Initialize stack pointer to the end of WRAM Bank $1 - ld hl, hPushOAM - ld bc, $007e - call ClearData ; Clear High RAM (HRAM) - call WriteDMACodeToHRAM - call ClearOAMBuffer - xor a - ld [wd7fb], a - ld [wd7fc], a - ld [wd7fd], a - ld [hHBlankRoutine], a - ld [$ffb1], a - ld [wd8e1], a - ld [wd7fe], a - ld [$fffc], a - ld hl, hLCDC - xor a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld a, $8f - ld [hli], a - ld a, $a6 - ld [hli], a - ld a, $0 - ld [wd849], a - ld [wd84a], a - ld a, Bank(PlaySong_BankF) - call SetSongBank - call Func_23b - ld a, [hGameBoyColorFlag] - and a - jr nz, .asm_222 - call Func_12f8 - rl a - and $1 - ld [$fffb], a - call Func_13a8 - ld a, [$fffb] - and a - jr z, .asm_222 - ld a, $1 - ld [wd917], a -.asm_222 - ld a, $1 - ld [rIE], a ; Only enable LCD Status interrupt - ei - ld a, $ff - ld [wd810], a - call Func_97a - xor a - ld [wdaa3], a - ld a, BANK(Func_1ffc) - ld hl, Func_1ffc - call BankSwitchSimple -Func_23b: ; 0x23b - ld a, [hGameBoyColorFlag] - cp $11 - jr nz, .asm_248 - ld a, $1 - ld [hGameBoyColorFlag], a - ld [$fffd], a - ret - -.asm_248 - xor a - ld [hGameBoyColorFlag], a - ld [$fffd], a - ret - -SoftReset: - di - ld sp, hGameBoyColorFlag - xor a - ld [rIF], a - ld bc, $2 - call Func_948 - ld hl, wc000 - ld bc, $2000 - call ClearData - ld hl, $8000 - ld bc, $1000 - call ClearData - ld a, $a - ld [MBC5SRamEnable], a - ld a, $1 - ld [MBC5RomBank], a - ld a, $0 - ld [MBC5RomBankOn], a - ld a, $0 - ld [MBC5SRamBank], a - ld a, $1 - ld [hLoadedROMBank], a - ld a, $1 - ld [MBC5RomBankOn], a - ld a, $0 - ld [MBC5SRamBank], a - ld sp, wdfff - call WriteDMACodeToHRAM - call ClearOAMBuffer - xor a - ld [wd7fb], a - ld [wd7fc], a - ld [wd7fd], a - ld [hHBlankRoutine], a - ld [$ffb1], a - ld [wd8e1], a - ld [wd7fe], a - ld hl, hLCDC - xor a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld a, $8f - ld [hli], a - ld a, $a6 - ld [hli], a - ld a, $0 - ld [wd849], a - ld [wd84a], a - ld a, $f - call SetSongBank - ld a, [$fffb] - and a - jr z, .asm_02d5 - ld a, $1 - ld [wd917], a -.asm_02d5 - ld a, $1 - ld [rIE], a - ei - ld a, $ff - ld [wd810], a - call Func_97a - ld a, [hGameBoyColorFlag] - ld [$fffd], a - xor a - ld [wdaa3], a - ld a, $0 - ld hl, Func_1ffc - call BankSwitchSimple - ; fallthrough - -VBlank: ; 0x2f2 - push af - push bc - push de - push hl - call hPushOAM ; OAM DMA transfer - ld a, [hLCDC] - ld [rLCDC], a - call Func_113a - ei - ld a, [rLY] - cp $90 - jr c, .asm_328 - ld hl, hSTAT - ld c, rSTAT - $ff00 - ld a, [hli] - ld [$ff00+c], a - inc c - ld a, [hli] - ld [$ff00+c], a - inc c - ld a, [hli] - ld [$ff00+c], a - inc c - inc c - ld a, [hli] - ld [$ff00+c], a - inc c - inc c - ld a, [hli] - ld [$ff00+c], a - inc c - ld a, [hli] - ld [$ff00+c], a - inc c - ld a, [hli] - ld [$ff00+c], a - inc c - ld a, [hli] - ld [$ff00+c], a - inc c - ld a, [hli] - ld [$ff00+c], a -.asm_328 - ld a, [hLYC] - ld [hLastLYC], a - ld a, [hNextLYCSub] - ld [hLYCSub], a - ld a, [hNextFrameHBlankSCX] - ld [hHBlankSCX], a - ld a, [hNextFrameHBlankSCY] - ld [hHBlankSCY], a - call ReadJoypad - ld a, [wdaa3] - and a - jr nz, .asm_359 - ld a, [hJoypadState] - cp $f - jr nz, .asm_359 - ld a, [hNewlyPressedButtons] - and $f - jr z, .asm_359 - ld hl, [sp+$8] - ld [hl], $c3 - inc hl - ld [hl], $3 - ld a, $1 - ld [wdaa3], a -.asm_359 - ld hl, hNumFramesSinceLastVBlank - ld a, [hl] - inc [hl] - and a - jr nz, .asm_365 - ld hl, hNumFramesDropped - inc [hl] -.asm_365 - ld hl, hVBlankCount - inc [hl] - ld a, [wd8e1] - and a - call nz, Func_167b - ld a, [wd849] - and a - jr nz, .asm_37d - ld a, [wd85d] - and a - call nz, Func_504 -.asm_37d - ld a, [wd84a] - and a - jr z, .asm_39d - xor a - ld [wd84a], a - ld a, $1 - ld [wd849], a - ld a, $bc - ld [rTMA], a - ld a, $0 - ld [rTAC], a - ld hl, rIE - set 2, [hl] - ld a, $4 - ld [rTAC], a -.asm_39d - ld hl, MBC5SRamBank - ld a, [wd917] - and a - jr nz, .asm_3b5 - ld a, [wd803] - rrca - ld [wd803], a - and $1 - jr z, .asm_3b5 - set 3, [hl] - jr .asm_3b7 - -.asm_3b5 - res 3, [hl] -.asm_3b7 - ld a, [wd4aa] - and a - call nz, Func_e69 - pop hl - pop de - pop bc - pop af - reti - -Func_3c3: - ld a, [rLCDC] - bit 7, a - jr z, .asm_03cf - call Func_cb5 - call Func_576 -.asm_03cf - ld hl, hSTAT - res 6, [hl] - ld hl, rIE - res 1, [hl] - xor a - ld [MBC5SRamEnable], a - ld [rSB], a - ld [rSC], a - ld [rIE], a - ld [rNR52], a - ld a, [$fffd] - ld [hGameBoyColorFlag], a - jp SoftReset - -LCD: ; 0x3ec - push af - push bc - push de - push hl - ld a, [hHBlankRoutine] - sla a - ld c, a - ld b, $0 - ld hl, PointerTable_408 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] - -Func_3ff: ; 0x3ff - ld a, $1 - ld [$ffb5], a - pop hl - pop de - pop bc - pop af - reti - -PointerTable_408: ; 0x408 - dw Func_fbc - dw Func_fbf - dw Func_fea - dw Func_105d - dw Func_109e - dw Func_10a1 - dw Func_10a4 - dw Func_10a7 - -Timer: ; 0x418 - ei - push af - push bc - push de - push hl - ld a, [wd849] - and a - jr z, .asm_42a - ld a, [wd85d] - and a - call nz, Func_504 -.asm_42a - ld a, [wd84a] - and a - jr z, .asm_440 - xor a - ld [wd84a], a - ld [wd849], a - ld a, $0 - ld [rTAC], a - ld hl, rIE - res 2, [hl] -.asm_440 - pop hl - pop de - pop bc - pop af - reti - -Serial: ; 0x445 - push af - push bc - push de - push hl - ld hl, Data_45d ; todo - push hl - ld a, [$ffb1] - sla a - ld c, a - ld b, $0 - ld hl, Data_462 ; todo - add hl, bc - ld c, [hl] - inc hl - ld b, [hl] - push bc - ret - -Data_45d: - db $e1, $d1, $c1, $f1, $d9 - -Data_462: - db $64, $16, $66, $04, $c9 - -Joypad: ; 0x467 - reti - -DelayFrame: ; 0x468 - ld a, [rLCDC] - bit 7, a - ret z - ld hl, hNumFramesSinceLastVBlank - xor a - ld [hl], a -.asm_472 - ld a, [hl] - and a - jr z, .asm_472 - ret - -JumpToFuncInTable: ; 0x477 -; Jumps to a function in the pointer table immediately following -; a "rst JumpTable" call. Function must be in the same Bank as the pointer table. -; input: a = index of function in table - sla a - pop hl - push de - ld e, a - ld d, $0 - add hl, de - ld e, [hl] - inc hl - ld d, [hl] - ld l, e - ld h, d - pop de - jp [hl] - -Func_486: ; 0x486 - rlca - add l - ld l, a - jr nc, .noCarry - inc h -.noCarry - ld a, [hli] - ld h, [hl] - ld l, a - ret - -PlaySong: ; 0x490 - ld a, [hLoadedROMBank] - push af - ld a, [wCurrentSongBank] - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ld a, e - ld [wd7bf], a - ld a, [wCurrentSongBank] - ld [wd7c0], a - call PlaySong_BankF ; this function is replicated in multiple banks. - pop af - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ret - -PlaySoundEffect: ; 0x4af -; input: de = sound effect id? I think d specifies something special and e holds the id - ld a, [wdead] - and a - ret nz - ld a, [wd800] - and a - jr z, .asm_4bd - ld a, d - and a - ret z -.asm_4bd - ld a, d - ld [wd800], a - ld d, $0 - ld a, [hLoadedROMBank] - push af - ld a, [wCurrentSongBank] - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - call PlaySoundEffect_BankF ; this function is replicated in multiple banks - pop af - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ret - -Func_4d8: ; 0x4d8 - push bc - push de - push hl - ld a, [wddcb] - ld hl, wddfd - or [hl] - ld hl, wde2f - or [hl] - and $1 - call z, PlaySoundEffect - pop hl - pop de - pop bc - ret - -PlayCry: ; 0x4ef -; Plays a Pokemon cry. -; Input: e = mon id - ld a, [hLoadedROMBank] - push af - ld a, [wCurrentSongBank] - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - call PlayCry_BankF ; this function is replicated in multiple banks - pop af - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ret - -Func_504: ; 0x504 - ld a, [hLoadedROMBank] - push af - ld a, [wCurrentSongBank] - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - call $4180 ; todo - pop af - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ld a, [wd801] - inc a - ld [wd801], a - and $3 - ret nz - ld a, [wd800] - and a - ret z - dec a - ld [wd800], a - ret - -SetSongBank: ; 0x52c - di - ld [wCurrentSongBank], a - ei - ret - -CallInFollowingTable: ; 0x532 -; Calls a function in a table located immediately after a call to this function. -; Inputs: a = entry in the table - ld e, a - ld d, $0 - sla e - rl d - sla e - rl d ; multiplied a by 4 because entries in the table are 4 bytes each - pop hl - add hl, de - ld e, [hl] - inc hl - ld d, [hl] - inc hl - ld a, [hl] - ld h, d - ld l, e - jp BankSwitch - -BankSwitchSimple: ; 0x549 -; Switches to Bank in register a and jumps to hl. - ld [hLoadedROMBank], a - ld [MBC5RomBank], a ; Load Bank - jp [hl] - -BankSwitch: ; 0x54f - ld e, a - ld a, [hLoadedROMBank] ; currently-loaded Bank - cp e - jr z, .doJump - push af - ld a, e - call .loadNewBank - call .doJump - pop de - ld a, d -.loadNewBank - push hl - push de - ld hl, rIE - ld d, [hl] - ld [hl], $0 - ld [MBC5RomBank], a - ld [hLoadedROMBank], a - ld [hl], d - pop de - pop hl - ret - -.doJump - ld a, [hFarCallTempE] - ld e, a - ld a, [hFarCallTempA] - jp [hl] - -Func_576: ; 0x576 - ld a, [rLCDC] - bit 7, a - ret z - ld a, [hLCDC] - res 7, a - ld [hLCDC], a -.asm_581 - ld a, [rLCDC] - bit 7, a - jr nz, .asm_581 - ret - -Func_588: ; 0x588 - ld a, [hFFC4] - and a - call nz, Func_597 - ld a, [hLCDC] - set 7, a - ld [rLCDC], a - ld [hLCDC], a - ret - -Func_597: ; 0x597 - ld de, rBGPI - ld a, $80 - ld [de], a - inc de - ld b, $8 -.asm_5a0 - ld a, [wd80c] - call Func_5c2 - dec b - jr nz, .asm_5a0 - ld de, rOBPI - ld a, $80 - ld [de], a - inc de - ld b, $4 -.asm_5b2 - ld a, [wd80d] - call Func_5c2 - ld a, [wd80e] - call Func_5c2 - dec b - jr nz, .asm_5b2 - ret - -Func_5c2: ; 0x5c2 - push bc - ld b, $4 -.asm_5c5 - push af - push bc - and $3 - sla a - ld c, a - ld b, $0 - ld hl, Data_5e1 - add hl, bc - ld a, [hli] - ld [de], a - ld a, [hli] - ld [de], a - pop bc - pop af - srl a - srl a - dec b - jr nz, .asm_5c5 - pop bc - ret - -Data_5e1: - dr $5e1, $5e9 - -Func_5e9: - ld a, [rIE] - res 0, a - ld [rIE], a - ret - -Func_5f0: - ld a, [rIE] - set 0, a - ld [rIE], a - ret - -WriteDMACodeToHRAM: ; 0x5f7 -; Initializes registers hPushOAM - hFarCallTempA - ld c, $80 - ld b, $a ; number of bytes to load - ld hl, DMARoutine -.loop - ld a, [hli] - ld [$ff00+c], a ; add register c to $ff00, and store register a into the resulting address - inc c - dec b - jr nz, .loop - ret - -DMARoutine: -; This routine is initially loaded into hPushOAM - hFarCallTempA by WriteDMACodeToHRAM. - ld a, (wOAMBuffer >> 8) - ld [rDMA], a ; start DMA - ld a, $28 -.waitLoop ; wait for DMA to finish - dec a - jr nz, .waitLoop - ret - -WaitForLCD: ; 0x60f -; Wait for LCD controller to stop reading from both OAM and VRAM because -; CPU can't access OAM, VRAM, or palette data ($ff69, $ff6b) during this time. - ld a, [rSTAT] ; LCDC Status register - and $3 - jr nz, WaitForLCD - ld a, $a -.delay10Cycles - dec a - jr nz, .delay10Cycles - ret - -Func_61b: ; 0x61b - ld a, [rLY] ; LY register (LCDC Y-Coordinate) - cp $40 - jr c, .asm_625 - cp $80 - jr c, .asm_63d -.asm_625 - ld a, [rLY] ; LY register (LCDC Y-Coordinate) - cp $40 - jr c, .asm_625 - cp $80 - jr nc, .asm_625 -.asm_62f - ld a, [rSTAT] - and $3 - jr nz, .asm_62f ; wait for lcd controller to finish transferring data - ld a, $15 -.wait - dec a - jr nz, .wait - nop - nop - nop -.asm_63d - ret - -Func_63e: ; 0xc3e - dec bc -.asm_63f - ld [hli], a - dec bc - bit 7, b - jr z, .asm_63f - ret - -Func_646: - srl b - rr c -.asm_064a - ld a, e - ld [hli], a - ld a, d - ld [hli], a - dec bc - ld a, b - or c - jr nz, .asm_064a - ret - -ClearData: ; 0x654 -; Clears bc bytes starting at hl. -; bc can be a maximum of $7fff, since it checks bit 7 of b when looping. - xor a - dec bc -.clearLoop - ld [hli], a - dec bc - bit 7, b - jr z, .clearLoop - ret - -LocalCopyData: ; 0x65d - ld a, [hli] - ld [de], a - inc de - dec bc - ld a, c - or b - jr nz, LocalCopyData - ret - -FarCopyData: ; 0x666 spooky -; Copies data from any bank to either working RAM or video RAM -; Input: hl = address of data to copy -; a = bank of data to copy -; de = destination for data -; bc = number of bytes to copy - bit 7, h - jr nz, .copyFromSRAM - ld [hROMBankBuffer], a - ld a, [hLoadedROMBank] - push af - ld a, [hROMBankBuffer] - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - scf - jr .copyData - -.copyFromSRAM - ld [MBC5SRamBank], a - and a -.copyData - push af -.copyLoop - ld a, [hli] - ld [de], a - inc de - dec bc - ld a, c - or b - jr nz, .copyLoop - pop af - ret nc - pop af - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ret - -ReadByteFromBank: ; 0x68f -; Input: a = bank -; hl = address of byte to read -; Output: a = byte at a:hl - push de - ld d, a - ld a, [hLoadedROMBank] - ld e, a - ld a, d - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ld d, [hl] - ld a, e - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ld a, d - pop de - ret - -LoadVideoData: ; 0x6a4 -; Input: -; hl = address of pointer table -; a = index of item to load in pointer table -; This needs more documentation. It loads things like graphics and palettes. - sla a - ld c, a - ld b, $0 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a -.loadItem - ld a, [hli] - ld c, a - and [hl] - cp $ff ; two consecutive $ff bytes terminate the array - ret z - ld a, [hli] - ld b, a ; bc contains pointer to data to be loaded - push hl - push bc - ld a, [hli] ; a contains bank of data to be loaded - ld e, [hl] - inc hl - ld d, [hl] ; de contains destination address for data - inc hl - ld c, [hl] - inc hl - ld b, [hl] ; bc contains last word of data struct - inc hl ; this is a wasted instruction - pop hl - call Func_6cb - pop hl - ld bc, $0005 - add hl, bc - jr .loadItem - -Func_6cb: ; 0x6cb - srl b - rr c - jp c, Func_6fd ; if lowest bit of bc is set - jp Func_6d5 ; This jumps to the next instruction... Strange. - -Func_6d5: ; 0x6d5 - ld [hROMBankBuffer], a ; save bank of data to be loaded - ld a, [hLoadedROMBank] - push af - ld a, [hROMBankBuffer] ; a contains bank of data to be loaded - ld [hLoadedROMBank], a - ld [MBC5RomBank], a ; switch bank to the bank of data to be loaded - srl b - rr c - rl a - and $1 ; checks bit 1 of the last word in the data struct - ld [rVBK], a ; set VRAM Bank -.copyByte - ld a, [hli] - ld [de], a - inc de - dec bc - ld a, c - or b ; does bc = 0? - jr nz, .copyByte - xor a - ld [rVBK], a ; set VRAM Bank to Bank 0 - pop af - ld [hLoadedROMBank], a - ld [MBC5RomBank], a ; reload the previous ROM Bank - ret - -Func_6fd: ; 0x6fd - ld [hROMBankBuffer], a ; save bank of data to be loaded - ld a, [hLoadedROMBank] - push af - ld a, [hROMBankBuffer] ; a contains bank of data to be loaded - ld [hLoadedROMBank], a - ld [MBC5RomBank], a ; switch bank to the bank of data to be loaded - ld a, e - bit 6, a - jr nz, .asm_717 - ld de, rBGPI - call Func_724 - jr z, .asm_71d - xor a -.asm_717 - ld de, rOBPI - call Func_724 -.asm_71d - pop af - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ret - -Func_724: ; 0x724 - res 6, a - ld b, a - set 7, a - ld [de], a - inc de -.copyByte - ld a, [hli] - ld [de], a - inc b - dec c - ret z - bit 6, b - jr z, .copyByte - ret - -LoadOrCopyVRAMData: ; 0x735 - push hl - ld hl, rLCDC - bit 7, [hl] - pop hl - jp z, FarCopyData - ; fall through -LoadVRAMData: ; 0x73f -; This loads some data into VRAM. It waits for the LCD H-Blank to copy the data 4 bytes at a time. -; input: hl = source of data -; a = bank of data to load -; de = destination of data -; bc = number of bytes to copy - bit 7, h - jr nz, .asm_752 - ld [hROMBankBuffer], a - ld a, [hLoadedROMBank] - push af - ld a, [hROMBankBuffer] - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - scf - jr .asm_756 - -.asm_752 - ld [MBC5SRamBank], a - and a -.asm_756 - push af - call WaitForLCD -.loop - call Func_61b -.waitForHBlank - ld a, [rSTAT] - and $3 - jr nz, .waitForHBlank - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - dec bc - dec bc - dec bc - dec bc - nop - nop - nop - nop - ld a, b - or c - jr nz, .loop - pop af - ret nc - pop af - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ret - -FarCopyPalettes: ; 0x790 - push hl - ld hl, rLCDC - bit 7, [hl] - pop hl - jp nz, Func_7dc - bit 7, h - jr nz, .asm_7ad - ld [hROMBankBuffer], a - ld a, [hLoadedROMBank] - push af - ld a, [hROMBankBuffer] - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - scf - jr .asm_7b1 - -.asm_7ad - ld [MBC5SRamBank], a - and a -.asm_7b1 - push af - ld a, e - bit 6, e - ld de, rBGPI - jr z, .asm_7bf - res 6, a - ld de, rOBPI -.asm_7bf - set 7, a - ld [de], a - inc de -.asm_7c3 - ld a, [hli] - ld [de], a - ld a, [hli] - ld [de], a - ld a, [hli] - ld [de], a - ld a, [hli] - ld [de], a - dec bc - dec bc - dec bc - dec bc - ld a, b - or c - jr nz, .asm_7c3 - pop af - ret nc - pop af - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ret - -Func_7dc: ; 0x7dc - bit 7, h - jr nz, .asm_7ef - ld [hROMBankBuffer], a - ld a, [hLoadedROMBank] - push af - ld a, [hROMBankBuffer] - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - scf - jr .asm_7f3 - -.asm_7ef - ld [MBC5SRamBank], a - and a -.asm_7f3 - push af - ld a, e - bit 6, e - ld de, rBGPI - jr z, .asm_801 - res 6, a - ld de, rOBPI -.asm_801 - push hl - ld h, d - ld l, e - set 7, a - call PutTileInVRAM - inc de - pop hl - call WaitForLCD -.asm_80e - call Func_61b -.asm_811 - ld a, [rSTAT] - and $3 - jr nz, .asm_811 - ld a, [hli] - ld [de], a - ld a, [hli] - ld [de], a - ld a, [hli] - ld [de], a - ld a, [hli] - ld [de], a - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - dec bc - dec bc - dec bc - dec bc - nop - nop - nop - nop - ld a, b - or c - jr nz, .asm_80e - pop af - ret nc - pop af - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ret - -PutTileInVRAM: ; 0x848 -; Puts a tile in VRAM. -; input: a = tile number -; hl = pointer to VRAM location where tile should be placed - push af - call WaitForLCD - call Func_61b -.asm_84f - ld a, [rSTAT] - and $3 - jr nz, .asm_84f ; wait for lcd controller to finish transferring data - pop af - ld [hl], a ; Store tile number in VRAM background map - ret - -Func_858: ; 0x858 - push af - call WaitForLCD - call Func_61b -.asm_85f - ld a, [rSTAT] - and $3 - jr nz, .asm_85f - ld a, $1 - ld [rVBK], a - pop af - ld [hl], a - xor a - ld [rVBK], a - ret - -Func_86f: ; 0x86f - ld [hROMBankBuffer], a - ld a, [hLoadedROMBank] - push af - ld a, [hROMBankBuffer] - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ld a, [rLCDC] - bit 7, a - jr nz, .asm_8ac - ld a, $1 - ld [rVBK], a - ld b, $4 -.asm_887 - push bc - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld bc, $001a - add hl, bc - pop bc - dec b - jr nz, .asm_887 - xor a - ld [rVBK], a - pop af - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ret - -.asm_8ac - ld b, $4 -.asm_8ae - push bc - ld a, [de] - call Func_858 - inc hl - inc de - ld a, [de] - call Func_858 - inc hl - inc de - ld a, [de] - call Func_858 - inc hl - inc de - ld a, [de] - call Func_858 - inc hl - inc de - ld a, [de] - call Func_858 - inc hl - inc de - ld a, [de] - call Func_858 - inc de - ld bc, $001b - add hl, bc - pop bc - dec b - jr nz, .asm_8ae - pop af - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ret - -Func_8e1: ; 0x8e1 - ld [hROMBankBuffer], a - ld a, [hLoadedROMBank] - push af - ld a, [hROMBankBuffer] - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ld a, [rLCDC] - bit 7, a - jr nz, .asm_902 - ld a, c - ld [hli], a -.asm_8f5 - ld a, [de] - ld [hl], a - inc de - dec b - jr nz, .asm_8f5 - pop af - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ret - -.asm_902 - ld a, c - call PutTileInVRAM - inc hl -.asm_907 - ld a, [de] - call PutTileInVRAM - inc de - dec b - jr nz, .asm_907 - pop af - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ret - -ClearOAMBuffer: ; 0x916 -; Clears the OAM buffer by loading $f0 into all of the entries. - ld hl, wOAMBuffer ; 0xd000 - ld b, 4 * 40 ; wOAMBuffer is 4 * 40 bytes long (40 OAM entries, 4 bytes each) - ld a, $f0 ; byte to write -.loop - ld [hli], a - dec b - jr nz, .loop - xor a - ld [wd802], a - ret - -Func_926: ; 0x926 - ld a, [wd802] - cp $a0 - jr nc, .asm_93a - ld l, a - ld h, $d0 - cpl - add $a1 - ld b, a - ld a, $f0 -.asm_936 - ld [hli], a - dec b - jr nz, .asm_936 -.asm_93a - xor a - ld [wd802], a - ret - -Func_93f: ; 0x93f - push bc - rst AdvanceFrame - pop bc - dec bc - ld a, c - or b - jr nz, Func_93f - ret - -Func_948: ; 0x948 - ld de, $06d6 -.asm_94b - nop - nop - nop - dec de - ld a, d - or e - jr nz, .asm_94b - dec bc - ld a, b - or c - jr nz, Func_948 - ret - -GenRandom: ; 0x959 - push bc - push de - push hl - ld a, [wd811] - ld c, a - ld b, $0 - inc a - cp $37 - jr nz, .asm_96e - call Func_9fa - xor a - ld bc, $0000 -.asm_96e - ld [wd811], a - ld hl, wd812 - add hl, bc - ld a, [hl] - pop hl - pop de - pop bc - ret - -Func_97a: ; 0x97a - ld a, [wd810] - ld d, a - ld a, $0 - ld a, [$afff] -.asm_983 - cp d - jr c, .asm_989 - sub d - jr .asm_983 - -.asm_989 - ld [wd80f], a - ld [wd848], a - ld e, $1 - ld hl, Data_9c4 ; todo - ld a, $36 -.asm_996 - push af - ld c, [hl] - inc hl - ld b, $0 - push hl - ld hl, wd812 - add hl, bc - ld [hl], e - ld a, [wd80f] - sub e - jr nc, .asm_9a8 - add d -.asm_9a8 - ld e, a - ld a, [hl] - ld [wd80f], a - pop hl - pop af - dec a - jr nz, .asm_996 - call Func_9fa - call Func_9fa - call Func_9fa - ld a, $0 - call GenRandom - ld [$afff], a - ret - -Data_9c4: - db $14, $29, $07, $1c, $31, $0f, $24, $02, $17 - db $2c, $0a, $1f, $34, $12, $27, $05, $1a, $2f - db $0d, $22, $00, $15, $2a, $08, $1d, $32, $10 - db $25, $03, $18, $2d, $0b, $20, $35, $13, $28 - db $06, $1b, $30, $0e, $23, $01, $16, $2b, $09 - db $1e, $33, $11, $26, $04, $19, $2e, $0c, $21 - -Func_9fa: ; 0x9fa - ld a, [wd810] - ld d, a - ld bc, wd812 - ld hl, wd831 - ld e, $18 -.asm_a06 - ld a, [bc] - sub [hl] - jr nc, .asm_a0b - add d -.asm_a0b - ld [bc], a - dec e - jr nz, .asm_a06 - ld bc, wd82a - ld hl, wd812 - ld e, $1f -.asm_a17 - ld a, [bc] - sub [hl] - jr nc, .asm_a1c - add d -.asm_a1c - ld [bc], a - dec e - jr nz, .asm_a17 - ret - -Func_a21: ; 0xa21 - push bc - push hl - ld c, a - ld b, $0 - ld hl, Data_a38 - add hl, bc - ld l, [hl] - call GenRandom - call Func_dd4 - inc h - srl h - ld a, h - pop hl - pop bc - ret - -Data_a38: -x = 0 -REPT 128 - db x -x = x + 2 -IF x == $80 -x = x + 1 -ENDC -ENDR - -ReadJoypad: ; 0xab8 -; Reads the current state of the joypad and saves the state into -; some registers the game uses during gameplay. It remembers the joypad state -; from the current frame, previous frame, and two frames ago. - ld a, $20 - ld [rJOYP], a - ld a, [rJOYP] - ld a, [rJOYP] - and $f - swap a - ld b, a - ld a, $30 - ld [rJOYP], a - ld a, $10 - ld [rJOYP], a - ld a, [rJOYP] - ld a, [rJOYP] - ld a, [rJOYP] - ld a, [rJOYP] - ld a, [rJOYP] - ld a, [rJOYP] - and $f - or b - cpl ; a contains currently-pressed buttons - ld [hJoypadState], a - ld a, $30 - ld [rJOYP], a - ld a, [hJoypadState] - ld hl, hPreviousJoypadState - xor [hl] ; a contains buttons that are different from previous frame - push af - ld hl, hJoypadState - and [hl] ; a contains newly-pressed buttons compared to last frame - ld [hNewlyPressedButtons], a - ld [hPressedButtons], a - pop af - ld hl, hPreviousJoypadState - and [hl] ; a contains newly-pressed buttons compared to two frames ago - ld [hPrevPreviousJoypadState], a - ld a, [hJoypadState] - and a - jr z, .asm_b15 - ld hl, hPreviousJoypadState - cp [hl] - jr nz, .asm_b15 - ; button(s) is pressed, and they're identical to the buttons pressed last frame. - ; this code is related to holding down a button for an extended period of time. - ld hl, hJoyRepeatDelay - dec [hl] - jr nz, .asm_b1a - ld a, [hJoypadState] - ld [hPressedButtons], a - ld a, [wd807] - ld [hJoyRepeatDelay], a - jr .asm_b1a - -.asm_b15 - ld a, [wd806] - ld [hJoyRepeatDelay], a -.asm_b1a - ld a, [hJoypadState] - ld [hPreviousJoypadState], a - ld hl, wd808 - ld a, [hJoypadState] - or [hl] - ld [hli], a - ld a, [hNewlyPressedButtons] - or [hl] - ld [hli], a - ld a, [hPressedButtons] - or [hl] - ld [hli], a - ret - -Func_b2e: ; 0xb2e - ld hl, wd808 - xor a - ld [hli], a - ld [hli], a - ld [hl], a - ret - -IsKeyPressed2: ; 0xb36 - ld a, [hJoypadState] - and [hl] - jr z, .asm_b3e - cp [hl] - jr z, .asm_b48 -.asm_b3e - inc hl - ld a, [hJoypadState] - and [hl] - ret z - cp [hl] - jr z, .asm_b48 - xor a - ret - -.asm_b48 - ld a, $1 - and a - ret - -IsKeyPressed: ; 0xb4c -; Checks if a key for the specified key config is pressed. -; input: hl = pointer to key config byte pair (e.g. wKeyConfigLeftFlipper) -; output: zero flag is set if a corresponding key is pressed -; zero flag is reset if no corresponding key is pressed - ld a, [hJoypadState] - and [hl] - jr z, .asm_b58 - cp [hl] - jr nz, .asm_b58 - ld a, [hNewlyPressedButtons] - and [hl] - ret nz -.asm_b58 - inc hl - ld a, [hJoypadState] - and [hl] - ret z - cp [hl] - jr nz, .asm_b64 - ld a, [hNewlyPressedButtons] - and [hl] - ret - -.asm_b64 - xor a - ret - -Func_b66: ; 0xb66 - ld a, [hGameBoyColorFlag] - and a - jr nz, .asm_b73 - xor a - ld [hBGP], a - ld [hOBP0], a - ld [hOBP1], a - ret - -.asm_b73 - ld de, rBGPI - ld hl, wPaletteData ; todo - ld b, $0 - ld c, $20 -.asm_b7d - ld a, b - ld [rBGPI], a - inc b - ld a, [rBGPD] - ld [hli], a - ld a, b - ld [rBGPI], a - inc b - ld a, [rBGPD] - ld [hli], a - dec c - jr nz, .asm_b7d - ld b, $0 - ld c, $20 -.asm_b92 - ld a, b - ld [rOBPI], a - inc b - ld a, [rOBPD] - ld [hli], a - ld a, b - ld [rOBPI], a - inc b - ld a, [rOBPD] - ld [hli], a - dec c - jr nz, .asm_b92 - ld de, rBGPI - ld b, $2 -.asm_ba8 - ld a, $80 - ld [de], a - inc de - ld c, $20 -.asm_bae - ld a, $ff - ld [de], a - ld [hli], a - ld a, $7f - ld [de], a - ld [hli], a - dec c - jr nz, .asm_bae - inc de - dec b - jr nz, .asm_ba8 - ret - -Func_bbe: ; 0xbbe - ld a, [hGameBoyColorFlag] - and a - jp nz, Func_c19 - ld hl, hBGP - ld de, wd80c - ld b, $3 -.asm_bcc - ld a, [de] - and $55 - ld c, a - ld a, [de] - and $aa - srl a - and c - ld [hli], a - inc de - dec b - jr nz, .asm_bcc - ld bc, $0002 - call Func_93f - ld hl, hBGP - ld de, wd80c - ld b, $3 -.asm_be9 - ld a, [de] - and $aa - srl a - add [hl] - ld [hli], a - inc de - dec b - jr nz, .asm_be9 - ld bc, $0002 - call Func_93f - ld hl, hBGP - ld de, wd80c - ld b, $3 -.asm_c02 - ld a, [de] - and $55 - ld c, a - ld a, [de] - and $aa - srl a - or c - add [hl] - ld [hli], a - inc de - dec b - jr nz, .asm_c02 - ld bc, $0002 - call Func_93f - ret - -Func_c19: ; 0xc19 - ld b, $10 -.asm_c1b - push bc - ld de, wPaletteData - ld hl, wd280 - call Func_c2d - call Func_d61 - pop bc - dec b - jr nz, .asm_c1b - ret - -Func_c2d: ; 0xc2d - ld a, b - cp $1 - jr z, .asm_c49 - ld c, $40 -.asm_c34 - push bc - ld a, [hli] - sub $42 - ld c, a - ld a, [hld] - sbc $8 - ld b, a - call Func_c60 - ld a, c - ld [hli], a - ld a, b - ld [hli], a - pop bc - dec c - jr nz, .asm_c34 - ret - -.asm_c49 - ld c, $40 -.asm_c4b - push bc - ld a, [hli] - sub $21 - ld c, a - ld a, [hld] - sbc $4 - ld b, a - call Func_c60 - ld a, c - ld [hli], a - ld a, b - ld [hli], a - pop bc - dec c - jr nz, .asm_c4b - ret - -Func_c60: ; 0xc60 - push hl - ld a, [de] - and $1f - ld l, a - ld a, c - and $1f - cp l - jr nc, .asm_c70 - ld a, c - and $e0 - or l - ld c, a -.asm_c70 - ld a, [de] - and $e0 - ld l, a - inc de - ld a, [de] - srl a - rr l - srl a - rr l - ld a, c - and $e0 - ld h, a - ld a, b - srl a - rr h - srl a - rr h - ld a, h - cp l - jr nc, .asm_ca3 - ld h, $0 - sla l - rl h - sla l - rl h - ld a, c - and $1f - or l - ld c, a - ld a, b - and $7c - or h - ld b, a -.asm_ca3 - ld a, [de] - and $7c - ld l, a - ld a, b - and $7c - cp l - jr nc, .asm_cb2 - ld a, b - and $3 - or l - ld b, a -.asm_cb2 - inc de - pop hl - ret - -Func_cb5: ; 0xcb5 - ld a, [hGameBoyColorFlag] - and a - jp nz, Func_cee - ld hl, hBGP - ld b, $3 -.asm_cc0 - push bc - push hl - ld b, $3 -.asm_cc4 - ld a, [hl] - and $55 - ld c, a - ld a, [hl] - and $aa - srl a - or c - cpl - inc a - add [hl] - ld [hli], a - dec b - jr nz, .asm_cc4 - ld bc, $0002 - call Func_93f - pop hl - pop bc - dec b - jr nz, .asm_cc0 - xor a - ld hl, hBGP - ld [hli], a - ld [hli], a - ld [hl], a - ld bc, $0002 - call Func_93f - ret - -Func_cee: ; 0xcee - ld hl, wd280 - ld de, rBGPI - call Func_d9d - ld hl, wd2c0 - ld de, rOBPI - call Func_d9d - ld b, $10 -.asm_d02 - push bc - ld hl, wd280 - call Func_d11 - call Func_d61 - pop bc - dec b - jr nz, .asm_d02 - ret - -Func_d11: ; 0xd11 - ld b, $40 -.asm_d13 - ld a, [hl] - and $1f - add $2 - ld e, a - cp $1f - jr c, .asm_d1f - ld e, $1f -.asm_d1f - ld a, [hl] - and $e0 - or e - ld [hl], a - ld a, [hli] - and $e0 - ld e, [hl] - dec hl - srl e - rr a - srl e - rr a - add $10 - ld e, a - jr nc, .asm_d38 - ld e, $f8 -.asm_d38 - ld d, $0 - sla e - rl d - sla e - rl d - ld a, [hl] - and $1f - or e - ld [hli], a - ld a, [hl] - and $7c - or d - ld [hl], a - ld a, [hl] - and $7c - add $8 - ld e, a - cp $7c - jr c, .asm_d58 - ld e, $7c -.asm_d58 - ld a, [hl] - and $3 - or e - ld [hli], a - dec b - jr nz, .asm_d13 - ret - -Func_d61: ; 0d61 - ld a, [rIE] - res 0, a - ld [rIE], a - ld hl, wd280 - ld de, rBGPI - ld a, $80 - ld [de], a - inc de -.asm_d71 - ld a, [rLY] - cp $90 - jr c, .asm_d71 - ld b, $10 -.asm_d79 - ld a, [hli] - ld [de], a - ld a, [hli] - ld [de], a - ld a, [hli] - ld [de], a - ld a, [hli] - ld [de], a - dec b - jr nz, .asm_d79 - inc de - ld a, $80 - ld [de], a - inc de - ld b, $10 -.asm_d8b - ld a, [hli] - ld [de], a - ld a, [hli] - ld [de], a - ld a, [hli] - ld [de], a - ld a, [hli] - ld [de], a - dec b - jr nz, .asm_d8b - ld a, [rIE] - set 0, a - ld [rIE], a - ret - -Func_d9d: ; 0xd9d - ld b, $0 - ld c, e - inc c - call WaitForLCD -.asm_da4 - call Func_61b -.asm_da7 - ld a, [rSTAT] - and $3 - jr nz, .asm_da7 ; wait for lcd controller to finish transferring data - ld a, b - ld [de], a - ld a, [$ff00+c] - ld [hli], a - inc b - ld a, b - ld [de], a - ld a, [$ff00+c] - ld [hli], a - inc b - ld a, b - ld [de], a - ld a, [$ff00+c] - ld [hli], a - inc b - ld a, b - ld [de], a - ld a, [$ff00+c] - ld [hli], a - inc b - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - ld a, b - cp $40 - jr nz, .asm_da4 - ret - -Func_dd4: ; 0xdd4 -; Return a * l to hl -; Stupid waste of space - push bc - ld c, l - ld b, $0 - ld hl, $0000 - bit 0, a - jr z, .asm_de0 - add hl, bc -.asm_de0 - sla c - rl b - bit 1, a - jr z, .asm_de9 - add hl, bc -.asm_de9 - sla c - rl b - bit 2, a - jr z, .asm_df2 - add hl, bc -.asm_df2 - sla c - rl b - bit 3, a - jr z, .asm_dfb - add hl, bc -.asm_dfb - sla c - rl b - bit 4, a - jr z, .asm_e04 - add hl, bc -.asm_e04 - sla c - rl b - bit 5, a - jr z, .asm_e0d - add hl, bc -.asm_e0d - sla c - rl b - bit 6, a - jr z, .asm_e16 - add hl, bc -.asm_e16 - sla c - rl b - bit 7, a - jr z, .asm_e1f - add hl, bc -.asm_e1f - pop bc - ret - -ConvertHexByteToDecWord: ; 0xe21 -; Convert the base-16 value in register a into a Binary Coded Decimal (base-10) word. -; Example: If a = $97, de = $0151. - ld b, a - ld hl, PowersOfTwo ; todo - ld de, $0000 -.asm_e28 - srl b - ld a, [hli] - jr nc, .asm_e34 - add e - daa - ld e, a - ld a, [hl] - adc d - daa - ld d, a -.asm_e34 - inc hl - ld a, b - and a - jr nz, .asm_e28 - ret - -PowersOfTwo: ; 0xe3a - dw $0001 - dw $0002 - dw $0004 - dw $0008 - dw $0016 - dw $0032 - dw $0064 - dw $0128 - -Func_e4a: ; 0xe4a - ld a, [hl] - cp $64 - jr z, .asm_e53 - inc a - ld [hl], a - scf - ret - -.asm_e53 - and a - ret - -Func_e55: ; 0xe55 - cp c - jr c, .asm_e5b - sub c - jr Func_e55 - -.asm_e5b - and a - ret - -Func_e5d: ; 0xe5d - ld a, $1 - ld [wd84a], a -.asm_e62 - ld a, [wd84a] - and a - jr nz, .asm_e62 - ret - -Func_e69: ; 0xe69 - ld a, [rLY] - cp $90 - jr nc, Func_e69 -.asm_e6f - ld a, [rSTAT] - and $3 - jr nz, .asm_e6f - ld a, $a -.asm_e77 - dec a - jr nz, .asm_e77 - ld hl, wcBottomMessageText + $140 - call Func_eef - push hl - ld hl, $9c00 - call Func_ef8 - pop hl - call Func_eef - push hl - ld hl, $9c04 - call Func_ef8 - pop hl - call Func_eef - push hl - ld hl, $9c08 - call Func_ef8 - pop hl - call Func_eef - push hl - ld hl, $9c0c - call Func_ef8 - pop hl - call Func_eef - push hl - ld hl, $9c10 - call Func_ef8 - pop hl - ld hl, wcBottomMessageText + $1c0 - call Func_eef - push hl - ld hl, $9c20 - call Func_ef8 - pop hl - call Func_eef - push hl - ld hl, $9c24 - call Func_ef8 - pop hl - call Func_eef - push hl - ld hl, $9c28 - call Func_ef8 - pop hl - call Func_eef - push hl - ld hl, $9c2c - call Func_ef8 - pop hl - call Func_eef - push hl - ld hl, $9c30 - call Func_ef8 - pop hl - ret - -Func_eef: ; 0xeef - ld a, [hli] - ld b, a - ld a, [hli] - ld c, a - ld a, [hli] - ld d, a - ld a, [hli] - ld e, a - ret - -Func_ef8: ; 0xef8 - ld a, [rSTAT] - and $3 - jr nz, Func_ef8 - ld a, b - ld [hli], a - ld a, c - ld [hli], a - ld a, d - ld [hli], a - ld a, e - ld [hli], a - ld a, $a -.asm_f08 - dec a - jr nz, .asm_f08 - ret - -Func_f0c: ; 0xf0c - call Func_f34 - ret nc -.asm_f10 - ld a, [hli] - ld [de], a - inc de - dec bc - ld a, b - or c - jr nz, .asm_f10 - scf - ret - -SaveData: ; 0xf1a -; Input: hl = data to save -; bc = number of bytes to save -; de = destination for saved data - push bc - push de - push hl -.asm_f1d - ld a, [hli] - ld [de], a - inc de - dec bc - ld a, b - or c - jr nz, .asm_f1d - pop hl - pop de - pop bc - ld h, d - ld l, e - call Func_f74 - call Func_fa1 - call Func_f4c - ret - -Func_f34: ; 0xf34 - call Func_f62 - jr nc, .asm_f3f - call Func_f7e - jr nc, .asm_f3f - ret - -.asm_f3f - add hl, bc - inc hl - inc hl - inc hl - inc hl - call Func_f62 - ret nc - call Func_f7e - ret - -Func_f4c: ; 0xf4c - push bc - push hl - push de - inc bc - inc bc - inc bc - inc bc - ld d, h - ld e, l - add hl, bc -.asm_f56 - ld a, [de] - ld [hli], a - inc de - dec bc - ld a, b - or c - jr nz, .asm_f56 - pop de - pop hl - pop bc - ret - -Func_f62: ; 0xf62 - push hl - add hl, bc - ld a, [hli] - cp $4e - jr nz, .asm_f71 - ld a, [hl] - cp $54 - jr nz, .asm_f71 - scf - jr .asm_f72 - -.asm_f71 - and a -.asm_f72 - pop hl - ret - -Func_f74: ; 0xf74 - push hl - add hl, bc - ld a, $4e - ld [hli], a - ld a, $54 - ld [hl], a - pop hl - ret - -Func_f7e: ; 0xf7e - push bc - push de - push hl - inc bc - inc bc - ld de, $0000 -.asm_f86 - ld a, [hli] - add e - ld e, a - jr nc, .asm_f8c - inc d -.asm_f8c - dec bc - ld a, b - or c - jr nz, .asm_f86 - ld a, [hli] - cp e - jr nz, .asm_f9c - ld a, [hl] - cp d - jr nz, .asm_f9c - scf - jr .asm_f9d - -.asm_f9c - and a -.asm_f9d - pop hl - pop de - pop bc - ret - -Func_fa1: ; 0xfa1 - push bc - push de - push hl - inc bc - inc bc - ld de, $0000 -.asm_fa9 - ld a, [hli] - add e - ld e, a - jr nc, .asm_faf - inc d -.asm_faf - dec bc - ld a, b - or c - jr nz, .asm_fa9 - ld a, e - ld [hli], a - ld a, d - ld [hl], a - pop hl - pop de - pop bc - ret - -Func_fbc: ; 0xfbc - jp Func_3ff - -Func_fbf: ; 0xfbf - ld hl, hLastLYC - ld c, [hl] - ld a, [rLY] - cp c - jp c, Func_3ff - inc c - inc c - cp c - jp nc, Func_3ff - ld a, [hLCDCMask] - ld c, a - ld a, [hLCDC] - xor $10 - and c - ld c, a - ld hl, rSTAT -.asm_fdb - ld a, [hl] - and $3 - jr nz, .asm_fdb - ld a, [rLCDC] - and $80 - or c - ld [rLCDC], a - jp Func_3ff - -Func_fea: ; 0xfea - ld hl, hLastLYC - ld a, [hLYCSub] - cp [hl] - jr nz, .asm_1015 - ld a, [rLY] - cp [hl] - jp nz, Func_3ff - ld a, [hLCDC] - xor $18 - ld c, a - ld a, [hHBlankSCX] - ld b, a - ld hl, rSTAT -.asm_1003 - ld a, [hl] - and $3 - jr nz, .asm_1003 - ld a, [rLCDC] - and $80 - or c - ld [rLCDC], a - ld a, b - ld [rSCY], a - jp Func_3ff - -.asm_1015 - ld a, [rLY] - cp [hl] - jr nz, .asm_1037 - ld a, [hLastLYC] - ld hl, hLYCSub - sub [hl] - add $40 - ld c, a - ld a, [hLYCSub] - ld b, a - ld hl, rSTAT -.asm_1029 - ld a, [hl] - and $3 - jr nz, .asm_1029 - ld a, c - ld [rSCY], a - ld a, b - ld [rLYC], a - jp Func_3ff - -.asm_1037 - ld hl, hLYCSub - ld a, [rLY] - cp [hl] - jp nz, Func_3ff - ld a, [hLCDC] - xor $18 - ld c, a - ld a, [hHBlankSCX] - ld b, a - ld hl, rSTAT -.asm_104b - ld a, [hl] - and $3 - jr nz, .asm_104b - ld a, [rLCDC] - and $80 - or c - ld [rLCDC], a - ld a, b - ld [rSCY], a - jp Func_3ff - -Func_105d: ; 0x105d - ld hl, hLastLYC - ld a, [rLY] - cp [hl] - jr z, .asm_1069 - dec a - cp [hl] - jr nz, .asm_1080 -.asm_1069 - ld a, [hLYCSub] - ld c, a - ld a, [hHBlankSCX] - ld b, a - ld hl, rSTAT -.asm_1072 - ld a, [hl] - and $3 - jr nz, .asm_1072 - ld a, b - ld [rSCY], a - ld a, c - ld [rLYC], a - jp Func_3ff - -.asm_1080 - ld hl, hLYCSub - ld a, [rLY] - cp [hl] - jr z, .asm_108d - dec a - cp [hl] - jp nz, Func_3ff -.asm_108d - ld a, [hHBlankSCY] - ld b, a - ld hl, rSTAT -.asm_1093 - ld a, [hl] - and $3 - jr nz, .asm_1093 - ld a, b - ld [rSCY], a - jp Func_3ff - -Func_109e: ; 0x109e - jp Func_3ff - -Func_10a1: ; 0x10a1 - jp Func_3ff - -Func_10a4: ; 0x10a4 - jp Func_3ff - -Func_10a7: ; 0x10a7 - jp Func_3ff - -Func_10aa: ; 0x10aa - ld c, a - ld a, [hli] - ld b, a -.asm_10ad - push bc - ld a, c - ld c, [hl] - inc hl - ld b, [hl] - inc hl - push af - ld a, [bc] - ld e, a - inc bc - ld a, [bc] - ld d, a - inc bc - pop af - push hl - call Func_10c5 - pop hl - pop bc - dec b - jr nz, .asm_10ad - ret - -Func_10c5: ; 0x10c5 - push af - ld a, [rLCDC] - bit 7, a - jr z, .asm_10d2 -.asm_10cc - ld a, [rLY] - cp $88 - jr nc, .asm_10cc -.asm_10d2 - pop af - ld hl, wd7fb - ld l, [hl] - ld h, wcb00 / $100 - inc bc - ld [hl], c - inc h - ld [hl], b - inc h - ld [hl], a - inc h - ld [hl], e - inc h - ld [hl], d - ld e, $ff - ld [hROMBankBuffer], a - ld a, [hLoadedROMBank] - push af - ld a, [hROMBankBuffer] - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - dec bc - ld a, [bc] - ld hl, wd7fa - add [hl] - cp $30 - jr c, .asm_10fe - ld a, [bc] - ld e, $0 -.asm_10fe - add $4 - ld [hl], a - pop af - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ld hl, wd7fb - ld l, [hl] - ld h, wca00 / $100 - inc l - ld [hl], $0 - dec l - ld [hl], e - ld hl, wd7fb - inc [hl] - ld a, [rLCDC] - bit 7, a - ret nz - ld a, [rIE] - push af - res 0, a - ld [rIE], a - call Func_113a - pop af - ld [rIE], a - ret - -Func_1129: ; 0x1129 - ld a, [wd7fb] - ld [wd7fc], a - ret - -Func_1130: ; 0x1130 - push hl - ld a, [wd7fb] - ld hl, wd7fc - cp [hl] - pop hl - ret - -Func_113a: ; 0x113a - ld hl, wd7fc - ld a, [wd7fb] - cp [hl] - ret z - ld l, [hl] - ld h, $ca - ld [hl], $ff -.loop - ld a, [hl] - and a - jr z, .done - push hl - inc h - ld e, [hl] - inc h - ld d, [hl] - inc h - ld a, [hLoadedROMBank] - push af - ld a, [hl] - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - inc h - ld a, [hl] - inc h - ld h, [hl] - ld l, a - call Func_117a - pop af - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - pop hl - inc l - jr .loop - -.done - ld a, l - ld [wd7fc], a - ld hl, wd7fb - cp [hl] - ret nz - xor a - ld [wd7fa], a - ret - -Func_117a: ; 0x117a - jp [hl] - -LoadTileLists: ; 0x117b -; Loads a series of defined tile ids into VRAM -; input: de = pointer to data structure -; data structure: list of VRAM tile data with the following format -; [num tiles][destination pointer][list of tile ids] - ld h, d - ld l, e -.loadTileSequence - ld a, [hli] - and a - ret z - ld b, a - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a ; de = destination for tile data -.loadTileData - ld a, [hli] - ld [de], a - inc de - dec b - jr nz, .loadTileData - jr .loadTileSequence - -LoadTileListsBank1: ; 0x118d - ld a, $1 - ld [rVBK], a - call LoadTileLists - xor a - ld [rVBK], a - ret - -Func_1198: - ld h, d - ld l, e -.asm_119a - ld a, [hli] - and a - ret z - ld b, a - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - srl b - jr nc, .asm_11a8 - ld a, [hli] - ld c, a -.asm_11a8 - push hl - ld h, d - ld l, e - ld a, c -.asm_11ac - ld [hli], a - inc a - dec b - jr nz, .asm_11ac - ld c, a - pop hl - jr .asm_119a - -Func_11b5: ; 11b5 (0:11b5) - ld h, d - ld l, e -.asm_11b7 - ld a, [hli] - and a - ret z - ld b, a - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] -.asm_11c0 - ld [de], a - inc de - dec b - jr nz, .asm_11c0 - jr .asm_11b7 - -Func_11c7: - ld a, $1 - ld [rVBK], a - call Func_11b5 - xor a - ld [rVBK], a - ret - -Func_11d2: - ld h, d - ld l, e - ld a, [hLoadedROMBank] - ld [$ff94], a -.asm_11d8 - ld a, [hli] - and a - ret z - ld [$ff95], a - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hli] - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - push hl - ld h, b - ld l, c - ld a, [$ff95] - ld b, a -.asm_11f1 - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc de - dec b - jr nz, .asm_11f1 - pop hl - ld a, [$ff94] - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - jr .asm_11d8 - -Func_122e: - ld a, $1 - ld [rVBK], a - ld h, d - ld l, e - ld a, [hLoadedROMBank] - ld [$ff94], a -.asm_1238 - ld a, [hli] - and a - jr nz, .asm_1240 - xor a - ld [rVBK], a - ret - -.asm_1240 - ld [$ff95], a - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hli] - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - push hl - ld h, b - ld l, c - ld a, [$ff95] - ld b, a -.asm_1256 - ld a, [hli] - ld [de], a - inc de - dec b - jr nz, .asm_1256 - pop hl - ld a, [$ff94] - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - jr .asm_1238 - -Func_1266: - ld h, d - ld l, e -.asm_1268 - ld a, [hli] - and a - ret z - ld [$ff94], a - ld a, [hli] - bit 6, a - ld de, rBGPI - jr z, .asm_127a - res 6, a - ld de, rOBPI -.asm_127a - set 7, a - ld [de], a - inc de - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hLoadedROMBank] - push af - ld a, [hli] - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - push hl - ld h, b - ld l, c - ld a, [$ff94] - ld b, a -.asm_1291 - ld a, [hli] - ld [de], a - ld a, [hli] - ld [de], a - dec b - jr nz, .asm_1291 - pop hl - pop af - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - jr .asm_1268 - -Func_12a1: ; 0x12a1 - ld [hROMBankBuffer], a - ld a, [hLoadedROMBank] - push af - ld a, [hROMBankBuffer] - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ld a, [hl] - and $7 - jr z, .asm_12e5 - ld b, a - ld c, $0 -.asm_12b5 - push bc - ld a, $0 - ld [$ff00+c], a - ld a, $30 - ld [$ff00+c], a - ld b, $10 -.asm_12be - ld e, $8 - ld a, [hli] - ld d, a -.asm_12c2 - bit 0, d - ld a, $10 - jr nz, .asm_12ca - ld a, $20 -.asm_12ca - ld [$ff00+c], a - ld a, $30 - ld [$ff00+c], a - rr d - dec e - jr nz, .asm_12c2 - dec b - jr nz, .asm_12be - ld a, $20 - ld [$ff00+c], a - ld a, $30 - ld [$ff00+c], a - pop bc - dec b - jr z, .asm_12e5 - call Func_12ec - jr .asm_12b5 - -.asm_12e5 - pop af - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ret - -Func_12ec ; 0x12ec - ld de, 7000 -.asm_12ef - nop - nop - nop - dec de - ld a, d - or e - jr nz, .asm_12ef - ret - -Func_12f8: ; 0x12f8 - ld a, BANK(Data_38010) - ld hl, Data_38010 - call Func_12a1 - call Func_12ec - ld a, [rJOYP] - and $3 - cp $3 - jr nz, .asm_1346 - ld a, $20 - ld [rJOYP], a - ld a, [rJOYP] - ld a, [rJOYP] - ld a, $30 - ld [rJOYP], a - ld a, $10 - ld [rJOYP], a - ld a, [rJOYP] - ld a, [rJOYP] - ld a, [rJOYP] - ld a, [rJOYP] - ld a, [rJOYP] - ld a, [rJOYP] - ld a, $30 - ld [rJOYP], a - ld a, [rJOYP] - ld a, [rJOYP] - ld a, [rJOYP] - ld a, [rJOYP] - and $3 - cp $3 - jr nz, .asm_1346 - ld a, BANK(Data_38000) - ld hl, Data_38000 - call Func_12a1 - call Func_12ec - and a - ret - -.asm_1346 - ld a, BANK(Data_38000) - ld hl, Data_38000 - call Func_12a1 - call Func_12ec - scf - ret - -Func_1353: ; 0x1353 - ld [hROMBankBuffer], a - ld a, [hLoadedROMBank] - push af - ld a, [hROMBankBuffer] - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - push af - push hl - ld a, $e4 - ld [rBGP], a - ld de, $0010 - add hl, de - ld de, vTiles1 ; tiles - call LocalCopyData - ld hl, vBGMap0 ; bgmap - ld de, $000c - ld a, $80 - ld c, $d -.asm_1379 - ld b, $14 -.asm_137b - ld [hli], a - inc a - dec b - jr nz, .asm_137b - add hl, de - dec c - jr nz, .asm_1379 - ld a, $81 - ld [rLCDC], a - ld bc, $0005 - call Func_948 - pop hl - pop af - call Func_12a1 - ld bc, $0006 - call Func_948 - ld a, [hBGP] - ld [rBGP], a - ld a, [hLCDC] - ld [rLCDC], a - pop af - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ret - -Func_13a8: ; 0x13a8 - ld a, [$fffb] - and a - ret z - ld bc, $0078 - call Func_948 - call Func_1489 - ld a, BANK(Data_3a9e6) - ld hl, Data_3a9e6 - call Func_12a1 - ld bc, $0004 - call Func_948 - ld a, BANK(Data_3a9f6) - ld hl, Data_3a9f6 - call Func_12a1 - ld bc, $0004 - call Func_948 - ld a, BANK(Data_3aa06) - ld hl, Data_3aa06 - call Func_12a1 - ld bc, $0004 - call Func_948 - ld a, BANK(Data_3aa16) - ld hl, Data_3aa16 - call Func_12a1 - ld bc, $0004 - call Func_948 - ld a, BANK(Data_3aa26) - ld hl, Data_3aa26 - call Func_12a1 - ld bc, $0004 - call Func_948 - ld a, BANK(Data_3aa36) - ld hl, Data_3aa36 - call Func_12a1 - ld bc, $0004 - call Func_948 - ld a, BANK(Data_3aa46) - ld hl, Data_3aa46 - call Func_12a1 - ld bc, $0004 - call Func_948 - ld a, BANK(Data_3aa56) - ld hl, Data_3aa56 - call Func_12a1 - ld bc, $0004 - call Func_948 - ld bc, Data_39166 - Data_38156 - $10 - ld a, BANK(Data_38156) - ld hl, Data_38156 ; todo - call Func_1353 - ld bc, $0004 - call Func_948 - ld bc, Data_3a176 - Data_39166 - $10 - ld a, BANK(Data_39166) - ld hl, Data_39166 ; todo - call Func_1353 - ld bc, $0004 - call Func_948 - ld bc, Data_3a9e6 - Data_3a176 - $10 - ld a, BANK(Data_3a176) - ld hl, Data_3a176 ; todo - call Func_1353 - ld bc, $0004 - call Func_948 - ld bc, Data_38156 - Data_380a6 - $10 - ld a, BANK(Data_380a6) - ld hl, Data_380a6 ; todo - call Func_1353 - ld bc, $0004 - call Func_948 - ld bc, Data_3809a - Data_38030 - $10 - ld a, BANK(Data_38030) - ld hl, Data_38030 - call Func_1353 - ld bc, $0004 - call Func_948 - ld a, BANK(Data_38020) - ld hl, Data_38020 - call Func_12a1 - ld bc, $0004 - call Func_948 - ret - -Func_1489: ; 0x1489 - ld a, [$fffb] - and a - ret z - ld a, [$fffc] - and a - ret nz - ld a, BANK(Data_3aa66) - ld hl, Data_3aa66 ; todo - call Func_12a1 - ld bc, $0004 - call Func_948 - ld a, $ff - ld [$fffc], a - ret - -Func_14a4: ; 0x14a4 - ld a, [$fffb] - and a - ret z - ld bc, $0002 - call Func_948 - ld a, [$fffc] - and a - ret z - ld a, BANK(Data_3aa76) - ld hl, Data_3aa76 - call Func_12a1 - ld bc, $0004 - call Func_948 - xor a - ld [$fffc], a - ret - -Func_14c4: ; 14c4 (0:14c4) - ld a, [wd8dc] - and a - jp nz, Func_165f - ld a, [wd8ad] - cp $7 - jp z, Func_1612 - ld a, [wd8af] - and a - jr nz, .asm_14df - call Func_1502 - jp Func_1663 - -.asm_14df - ld a, [wd8b0] - and a - jr z, .asm_14fc - ld a, [wd8b1] - and a - jr z, .asm_14fc - ld a, [wd8b2] - cp $2 - jr z, .asm_14f7 - call Func_15e1 - jr .asm_14ff - -.asm_14f7 - call Func_15f8 - jr .asm_14ff - -.asm_14fc - call Func_1527 -.asm_14ff - jp Func_1663 - -Func_1502: ; 1502 (0:1502) - ld hl, wd8b9 - ld c, [hl] - inc [hl] - ld b, $0 - ld hl, Data_18ff - add hl, bc - ld a, [hl] - ld [rSB], a - ld a, $1 - ld [rSC], a - ld a, $81 - ld [rSC], a - ld a, [wd8b9] - cp $2 - ret nz - xor a - ld [wd8b9], a - inc a - ld [wd8af], a - ret - -Func_1527: ; 1527 (0:1527) - ld a, [wd8b9] - ld c, a - ld a, [wd8ba] - ld b, a - ld a, [wd8bb] - ld l, a - ld a, [wd8bc] - ld h, a - add hl, bc - ld a, [rSB] - ld [wd8c8 + 1], a - ld a, [hl] - ld [rSB], a - ld l, a - ld a, [wd8c3] - add l - ld [wd8c3], a - ld a, [wd8c4] - adc $0 - ld [wd8c4], a - ld a, $1 - ld [rSC], a - ld a, $81 - ld [rSC], a - ld hl, wd8b9 - inc [hl] - jr nz, .asm_1560 - inc hl - inc [hl] -.asm_1560 - ld hl, wd8b9 - ld a, [wd8b3] - cp [hl] - jr nz, .asm_1570 - inc hl - ld a, [wd8b4] - cp [hl] - jr z, .asm_1572 -.asm_1570 - jr .asm_15b0 - -.asm_1572 - ld hl, wd8b0 - ld a, [hl] - and a - jr z, .asm_157c - ld hl, wd8b1 -.asm_157c - inc [hl] - ld a, [wd8cc] - and a - jr z, .asm_15b5 - ld a, [wd8ad] - cp $6 - jr z, .asm_15b5 - ld hl, wd8b1 - ld a, [hl] - and a - jr nz, .asm_15b1 - xor a - ld [wd8b9], a - ld [wd8ba], a - ld a, [wd8bf] - ld [wd8bb], a - ld a, [wd8c0] - ld [wd8bc], a - ld a, [wd8b7] - ld [wd8b3], a - ld a, [wd8b8] - ld [wd8b4], a -.asm_15b0 - ret - -.asm_15b1 - call Func_15c8 - ret - -.asm_15b5 - ld a, [wd8c8 + 1] - ld [wd8c8], a -asm_15bb - ld a, $7 - ld [wd8ad], a - ld a, $1 - ld [wd8c5], a - call Func_16bf -Func_15c8: ; 15c8 (0:15c8) - ld a, [wd8b5] - ld [wd8b3], a - ld a, [wd8b6] - ld [wd8b4], a - ld a, [wd8bd] - ld [wd8bb], a - ld a, [wd8be] - ld [wd8bc], a - ret - -Func_15e1: ; 15e1 (0:15e1) - ld c, a - ld b, $0 - ld hl, wd8c3 - add hl, bc - ld a, [hl] - ld [rSB], a - ld a, $1 - ld [rSC], a - ld a, $81 - ld [rSC], a - ld hl, wd8b2 - inc [hl] - ret - -Func_15f8: ; 15f8 (0:15f8) - ld a, [rSB] - ld [wd8c8], a - xor a - ld [rSB], a - ld a, $1 - ld [rSC], a - ld a, $81 - ld [rSC], a - ld hl, wd8c6 - inc [hl] - ld a, [hl] - cp $2 - jr z, asm_15bb - ret - -Func_1612: ; 1612 (0:1612) - ld a, [wd8cb] - ld [wd8ae], a - ld a, [wd8c7] - ld [wd86e + 2], a - cp $ff - jr z, .asm_1625 - ld [wd86e + 1], a -.asm_1625 - ld a, [rSB] - ld [wd8c7], a - cp $ff - jr nz, .asm_163a - ld a, $0 - ld [wd8db], a - ld [wd8ad], a - ld a, $2 - jr .asm_1652 - -.asm_163a - bit 1, a - jr z, .asm_1643 - ld a, $1 - ld [wd8e2], a -.asm_1643 - bit 4, a - ld a, $0 - ld [wd8ad], a - ld a, $1 - jr nz, .asm_1651 - ld [wd8ad], a -.asm_1651 - inc a -.asm_1652 - ld [wd8c5], a - ld a, [wd8cc] - and a - jr nz, Func_165f - xor a - ld [wd8db], a -Func_165f: ; 165f (0:165f) - ret - -Func_1660: - xor a - ld [rSC], a -Func_1663: ; 1663 (0:1663) - ret - -Func_1664: - push af - ld a, [rSC] - bit 7, a - jr nz, .asm_1679 - push bc - push de - push hl - ld a, $1 - ld [wd8ca], a - call Func_14c4 - pop hl - pop de - pop bc -.asm_1679 - pop af - reti -Func_167b: ; 0x167b - ld a, [wd8ad] - cp $1 - ret nz - ld a, [wd8c7] - cp $ff - ret z - ld a, [wd8db] - and a - ret nz - ld hl, wd8e0 - inc [hl] - ld a, [hl] - cp $6 - ret c - xor a - ld [hl], a - ld [wd8e2], a - call Func_18ac - ret - -Func_169d: - xor a - ld [rSC], a - ld [rSB], a - ; fallthrough - -Func_16a2: ; 0x16a2 - xor a - ld [rSB], a - ld [rSC], a - ld [wd8ad], a - dec a - ld [wd8c7], a - ld [wd8c8], a - call Func_16b5 - ret - -Func_16b5: ; 0x16b5 - xor a - ld [wd8c5], a - ld [wd8ca], a - ld [wd8db], a - ; fall through -Func_16bf: ; 0x16bf - xor a - ld [wd8af], a - ld [wd8b0], a - ld [wd8b1], a - ld [wd8b2], a - ld [wd8c6], a - ld [wd8c3], a - ld [wd8c4], a - ld [wd8b9], a - ld [wd8ba], a - ld [wd8dc], a - ld [wd8e2], a - ret - -Func_16e2: ; 0x16e2 - ld a, [wd8db] - and a - jr z, .asm_16ec - call Func_16fd - ret nc -.asm_16ec - ld a, [wd8ae] - cp $1 - jr nz, .asm_16f7 - call Func_16fd - ret nc -.asm_16f7 - call Func_1925 - jp Func_19e5 - -Func_16fd: ; 0x16fd - ld a, [wd8c5] - cp $2 - jr nz, .asm_173c - xor a - ld [wd8e0], a - ld [wd8ae], a - inc a - ld [wd8ad], a - ld a, [wd8c7] - cp $ff - jr z, .asm_1735 - bit 0, a - jr nz, .asm_172e - bit 1, a - jr nz, .asm_172e - bit 4, a - jr z, .asm_173a - xor a - ld [wd8ad], a - ld [wd8ae], a - ld a, [wd8c7] - jr .asm_173a - -.asm_172e - scf - ret - -.asm_1730 - xor a - ld [wd8ae], a - dec a -.asm_1735 - inc a - ld [wd8ad], a - dec a -.asm_173a - and a - ret - -.asm_173c - xor a - ld a, $f0 - ret - -Func_1740: ; 0x1740 - ld a, [wd8ad] - cp $1 - jr z, .asm_1752 - cp $2 - jr z, .asm_1752 - and a - ld a, $ff - ret z -.asm_174f - ld a, $f0 - ret - -.asm_1752 - ld a, [wd8e2] - and a - jr nz, .asm_174f - ld a, [wd8db] - and a - jr z, .asm_1762 - call Func_16fd - ret nc -.asm_1762 - ld a, [wd8ae] - cp $2 - jr nz, .asm_176d - call Func_16fd - ret nc -.asm_176d - ld a, [wd8c7] - cp $ff - ret z - call Func_1932 - jp Func_19e5 - -Func_1779: ; 0x1779 - ld c, a - ld a, [wd8ad] - and a - ld a, [wd8c7] - ret z - ld a, [wd8ad] - cp $1 - jr z, .asm_1790 - cp $3 - jr z, .asm_1790 - ld a, $f0 - ret - -.asm_1790 - ld a, [wd8db] - and a - jr nz, .asm_17df - ld a, c - inc a - ld [wd8de], a - ld a, l - ld [wd8c1], a - ld a, h - ld [wd8c2], a - ld a, [wd8c7] - cp $ff - ret z - ld a, [wd8ab] - ld [wd8ac], a - and a - jr z, .asm_17d6 - ld a, [wd8de] - dec a - dec a - push af - ld c, a - ld b, $0 - push hl - ld hl, wd89d - add hl, bc - ld a, [hl] - pop hl - ld [wd8ac], a - pop af - add a - ld c, a - ld b, $0 - push hl - ld hl, wd88b - add hl, bc - ld a, [hli] - ld b, [hl] - pop hl - ld c, a - jp .asm_17d9 - -.asm_17d6 - ld bc, $0280 -.asm_17d9 - call Func_1989 - jp Func_19e5 - -.asm_17df - ld a, [wd8c5] - cp $2 - ld a, $f0 - jp nz, .asm_1869 - ld hl, wd8de - ld a, [wd8c7] - bit 4, a - jp nz, .asm_1859 - bit 1, a - jp nz, .asm_1804 - bit 0, a - jp nz, .asm_1804 - dec [hl] - ld a, [wd8c7] - jr z, .asm_1860 -.asm_1804 - ld a, [hl] - cp $1 - jr z, .asm_186a - ld bc, $0280 - ld a, [wd8ab] - ld [wd8ac], a - and a - jr z, .asm_1836 - ld a, [wd8de] - dec a - dec a - push af - ld c, a - ld b, $0 - push hl - ld hl, wd89d - add hl, bc - ld a, [hl] - pop hl - ld [wd8ac], a - pop af - add a - ld c, a - ld b, $0 - push hl - ld hl, wd88b - add hl, bc - ld a, [hli] - ld b, [hl] - pop hl - ld c, a -.asm_1836 - ld a, [wd8c7] - bit 1, a - jp nz, .asm_184e - ld a, [wd8bf] - add $80 - ld [wd8bf], a - ld a, [wd8c0] - adc $2 - ld [wd8c0], a -.asm_184e - ld a, [wd8bf] - ld l, a - ld a, [wd8c0] - ld h, a - jp .asm_17d9 - -.asm_1859 - push af - ld a, $1 - ld [wd8dc], a - pop af -.asm_1860 - push af - xor a - ld [wd8cc], a - ld [wd8db], a - pop af -.asm_1869 - ret - -.asm_186a - ld a, [wd8dd] - and a - ld a, [wd8c7] - jr z, .asm_1860 - call Func_19d7 - jp Func_19e5 - -Func_1879: - ld a, [wd8ad] - cp $1 - jr z, .asm_188b - cp $3 - jr z, .asm_188b - and a - ld a, $ff - ret z - ld a, $f0 - ret - -.asm_188b - ld a, [wd8db] - and a - jr z, .asm_1895 - call Func_16fd - ret nc -.asm_1895 - ld a, [wd8ae] - cp $4 - jr nz, .asm_18a0 - call Func_16fd - ret nc -.asm_18a0 - ld a, [wd8c7] - cp $ff - ret z - call Func_19bd - jp Func_19e5 - -Func_18ac: ; 0x18ac - ld a, [wd8ad] - cp $1 - jr z, .asm_18be - cp $3 - jr z, .asm_18be - and a - ld a, $ff - ret z - ld a, $f0 - ret - -.asm_18be - ld a, [wd8db] - and a - jr z, .asm_18c8 - call Func_16fd - ret nc -.asm_18c8 - ld a, [wd8c7] - cp $ff - ret z - call Func_19ca - jp Func_19e5 - -Func_18d4: ; 0x18d4 - ld [wd8cb], a - ld a, d - ld [wd8cc], a - ld a, l - ld [wd8bb], a - ld [wd8bd], a - ld a, h - ld [wd8bc], a - ld [wd8be], a - ld a, c - ld [wd8b3], a - ld [wd8b5], a - ld a, b - ld [wd8b4], a - ld [wd8b6], a - xor a - ld [wd8c5], a - call Func_16bf - ret - -Data_18ff: - dr $18ff, $1901 - -Data_1901: - dr $1901, $1909 - -Data_1909: - dr $1909, $190d - -Data_190d: - dr $190d, $1915 - -Data_1915: - dr $1915, $191d - -Data_191d: - dr $191d, $1925 - -Func_1925: ; 0x1925 - ld a, $1 - ld d, $0 - ld hl, Data_1901 ; todo - ld bc, $0008 - jp Func_18d4 - -Func_1932: ; 0x19332 - ld a, $2 - ld d, $0 - ld hl, wd8cd - ld bc, $000c - call Func_18d4 - ld hl, Data_1909 - ld de, wd8cd - ld bc, $0004 - call LocalCopyData - ld de, $0006 - ld a, [wd8a8] - ld [wd8d1], a - call Func_1982 - ld a, [wd8a9] - ld [wd8d2], a - call Func_1982 - ld a, [wd8aa] - ld [wd8d3], a - call Func_1982 - ld a, [wd8a7] - ld [wd8d4], a - call Func_1982 - ld a, e - ld [wd8d5], a - ld a, d - ld [wd8d6], a - xor a - ld [wd8d7], a - ld [wd8d8], a - ret - -Func_1982: ; 0x1982 - add e - ld e, a - ld a, d - adc $0 - ld d, a - ret - -Func_1989: ; 0x1989 - ld a, l - ld [wd8bf], a - ld a, h - ld [wd8c0], a - ld a, c - ld [wd8b7], a - ld a, b - ld [wd8b8], a - push bc - ld a, $3 - ld d, $1 - ld hl, wd8cd - ld bc, $0004 - call Func_18d4 - ld a, [$190d] - ld [wd8cd], a - ld a, [wd8ac] - ld [wd8ce], a - pop bc - ld a, c - ld [wd8cf], a - ld a, b - ld [wd8d0], a - ret - -Func_19bd: ; 19bd (0:19bd) - ld a, $4 - ld d, $0 - ld hl, Data_1915 - ld bc, $8 - jp Func_18d4 - -Func_19ca: ; 0x19ca - ld a, $5 - ld d, $0 - ld hl, Data_191d ; todo - ld bc, $0008 - jp Func_18d4 - -Func_19d7: ; 0x19d7 - ld a, $6 - ld d, $1 - ld hl, Data_190d ; todo - ld bc, $0008 - jp Func_18d4 - -; XXX - ret - -Func_19e5: ; 0x19e5 - ld a, [wd8ad] - cp $1 - jr z, .asm_19f8 - and a - jr nz, .asm_19f6 - ld a, [wd8cb] - cp $1 - jr z, .asm_1a02 -.asm_19f6 - scf - ret - -.asm_19f8 - ld a, [wd8cb] - cp $1 - jr z, .asm_19f6 - ld [wd8ad], a -.asm_1a02 - xor a - ld [wd8c5], a - ld [wd8ae], a - ld a, $1 - ld [wd8b9], a - ld [wd8db], a - ld a, [$18ff] - ld [rSB], a - ld a, $1 - ld [rSC], a - ld a, $81 - ld [rSC], a - ld a, $f0 - ret - -Func_1a21: ; 0x1a21 - call Func_1a59 - call Func_1a89 - jr c, .asm_1a3f -.asm_1a29 - call Func_1aa9 - call Func_1b3d - jr c, .asm_1a3f - ld a, [wd86c] - and a - jr z, .asm_1a29 - call Func_1b60 - jr c, .asm_1a3f - call Func_1b88 -.asm_1a3f - call Func_1ba7 - ret - -Func_1a43: ; 0x1a43 - xor a - ld [wd86e], a - call Func_1a59 - call Func_1a89 - jr c, .asm_1a54 - ld a, $1 - ld [wd86e], a -.asm_1a54 - call Func_1ba7 - ret - - ret ; unused instruction? - -Func_1a59: ; 0x1a59 - ld [wd86a], a - ld a, h - ld [wd869], a - ld a, l - ld [wd868], a - ld a, $80 - ld [wd866], a - ld a, $c2 - ld [wd867], a - xor a - ld [wd86b], a - ld [wd86c], a - ld [wd86d], a - call Func_16a2 - ld hl, rIE - set 3, [hl] - xor a - ld [$ffb1], a - ld a, $1 - ld [wd8e1], a - ret - -Func_1a89: ; 0x1a89 - call Func_16e2 - cp $f0 - jr z, .asm_1a9f - cp $ff - jp z, Func_1bb2 - ld a, [wd8c8] - cp $81 - jp nz, Func_1bb2 - and a - ret - -.asm_1a9f - ld a, [hNewlyPressedButtons] - bit 1, a - jp nz, Func_1bd3 - rst AdvanceFrame - jr Func_1a89 - -Func_1aa9: ; 0x1aa9 - ld a, [wd866] - ld l, a - ld a, [wd867] - ld h, a - ld de, wc000 - ld b, $2 -.asm_1ab6 - ld c, $14 -.asm_1ab8 - ld a, [hli] - call Func_1ae2 - dec c - jr nz, .asm_1ab8 - ld a, l - add $c - ld l, a - jr nc, .asm_1ac6 - inc h -.asm_1ac6 - dec b - jr nz, .asm_1ab6 - ld a, l - ld [wd866], a - ld a, h - ld [wd867], a - ld a, [wd86b] - inc a - ld [wd86b], a - cp $9 - jr nz, .asm_1ae1 - ld a, $1 - ld [wd86c], a -.asm_1ae1 - ret - -Func_1ae2: ; 0x1ae2 - push bc - push hl - xor $80 - swap a - ld c, a - and $f - ld b, a - ld a, c - and $f0 - ld c, a - ld a, [wd868] - ld l, a - ld a, [wd869] - ld h, a - add hl, bc - ld a, [hLoadedROMBank] - push af - ld a, [wd86a] - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc de - pop af - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - pop hl - pop bc - ret - -Func_1b3d: ; 0x1b3d - ld a, [wd86c] - ld [wd8dd], a - ld hl, wc000 - ld a, $1 - call Func_1779 - cp $ff - jp z, Func_1bb2 - cp $f0 - jr z, .asm_1b56 - and a - ret - -.asm_1b56 - ld a, [hNewlyPressedButtons] - bit BIT_B_BUTTON, a - jp nz, Func_1bd3 - rst AdvanceFrame - jr Func_1b3d - -Func_1b60: ; 0x1b60 - ld a, $1 - ld [wd8a8], a - ld a, $13 - ld [wd8a9], a - call Func_1740 - cp $ff - jp z, Func_1bb2 - cp $f0 - jr z, .asm_1b7e - ld bc, $001e - call Func_93f - and a - ret - -.asm_1b7e - ld a, [hNewlyPressedButtons] - bit BIT_B_BUTTON, a - jp nz, Func_1bd3 - rst AdvanceFrame - jr Func_1b60 - -Func_1b88: ; 0x1b88 - ld a, [wd8c7] - ld b, a - cp $ff - jr z, Func_1bb2 - and $f0 - jr nz, Func_1bb2 - bit 1, b - jr nz, .asm_1b9d - call Func_16a2 - and a - ret - -.asm_1b9d - ld a, [hNewlyPressedButtons] - bit BIT_B_BUTTON, a - jp nz, Func_1bd3 - rst AdvanceFrame - jr Func_1b88 - -Func_1ba7: ; 0x1ba7 - ld hl, rIE - res 3, [hl] - xor a - ld [wd8e1], a - and a - ret - -Func_1bb2: ; 0x1bb2 - ld hl, Data_1bcf - ld a, [wd8c7] - cp $ff - jr z, .asm_1bc6 - ld b, $3 -.asm_1bbe - inc hl - sla a - jr c, .asm_1bc6 - dec b - jr nz, .asm_1bbe -.asm_1bc6 - ld a, [hl] - ld [wd86d], a - call Func_16a2 - scf - ret - -Data_1bcf: - dr $1bcf, $1bd3 - -Func_1bd3: ; 0x1bd3 - ld de, $0001 - call PlaySoundEffect - ld a, $5 - ld [wd86d], a - call Func_16a2 - scf - ret - -Func_1be3: ; 0x1be3 - ld a, $c0 - ld [rRP], a - ld a, $ff - ld [wd8ea], a - xor a - ld b, a -.asm_1bee - inc a - jr nz, .asm_1bee - inc b - jr nz, .asm_1bee - ld hl, wd8eb - ld a, [rKEY1] - bit 7, a - jr z, .asm_1c0c - ld [hl], $e - inc hl - ld [hl], $12 - inc hl - ld [hl], $8 - inc hl - ld [hl], $c - inc hl - ld [hl], $c - ret - -.asm_1c0c - ld [hl], $6 - inc hl - ld [hl], $8 - inc hl - ld [hl], $2 - inc hl - ld [hl], $4 - inc hl - ld [hl], $5 - ret - -Func_1c1b: ; 0x1c1b - inc d - ret z - ld a, [$ff00+c] - bit 1, a - jr z, Func_1c1b - ret - -Func_1c23: ; 0x1c23 - inc d - ret z - ld a, [$ff00+c] - bit 1, a - jr nz, Func_1c23 - ret - -Func_1c2b: ; 0x1c2b - ld a, $c1 - ld [$ff00+c], a -.asm_1c2e - dec d - jr nz, .asm_1c2e - ret - -Func_1c32: ; 0x1c32 - ld a, $c0 - ld [$ff00+c], a -.asm_1c35 - dec d - jr nz, .asm_1c35 - ret - -Func_1c39: - xor a - ld [hNumFramesSinceLastVBlank], a - ld a, $1 - ld [wd8e9], a -.asm_1c41 - ld b, $2 - ld c, rRP % $100 - ld a, [$ff00+c] - and b - jr z, Func_1c50 - ld a, [hNumFramesSinceLastVBlank] - and a - jr nz, Func_1ca1 - jr .asm_1c41 - -Func_1c50: ; 0x1c50 - ld a, $1 - ld [wd8e9], a - ld b, $1a - ld c, rRP % $100 - ld d, $0 - ld e, d - call Func_1c23 - ld a, d - and a - jp z, Func_1dc2 - ld d, e - call Func_1c1b - ld a, d - and a - jp z, Func_1dc2 - call Func_1c23 - ld a, d - and a - jp z, Func_1dc2 - call Func_1c1b - ld a, d - and a - jp z, Func_1dc2 - cp $8 - jp c, Func_1dc2 - cp $2a - jp nc, Func_1dc2 - ld a, $0 - ld [wd8ea], a - ld d, b - call Func_1c32 - ld d, b - call Func_1c2b - ld d, b - call Func_1c32 - ld d, b - call Func_1c2b - ld d, b - call Func_1c32 - ret - -Func_1ca1: ; 0x1ca1 - ld a, $2 - ld [wd8e9], a - ld b, $1a - ld c, rRP % $100 - ld d, b - ld e, $0 - call Func_1c32 - ld d, b - call Func_1c2b - ld d, b - call Func_1c32 - ld d, b - call Func_1c2b - ld d, b - call Func_1c32 - ld d, e - call Func_1c23 - ld a, d - and a - jp z, Func_1dc2 - ld d, e - call Func_1c1b - ld a, d - and a - jp z, Func_1dc2 - ld d, e - call Func_1c23 - ld a, d - and a - jp z, Func_1dc2 - ld d, e - call Func_1c1b - ld a, d - and a - jp z, Func_1dc2 - ld d, $1a - call Func_1c32 - ld a, $0 - ld [wd8ea], a - ret - -Func_1cef: - xor a - ld [rRP], a - ld a, $ff - ld [wd8ea], a - ret - -Func_1cf8: ; 0x1cf8 - xor a - ld [wd8e4], a - ld [wd8e5], a - push hl - push bc - ld hl, wd8e6 - ld a, $5a - ld [hli], a - ld [hl], b - dec hl - ld b, $2 - ld d, $1e - call Func_1c32 - call Func_1d44 - pop bc - pop hl - call Func_1ed3 - call Func_1d44 - ld a, [wd8e4] - ld [wd8e6], a - ld a, [wd8e5] - ld [wd8e7], a - ld hl, wd8e6 - ld b, $2 - call Func_1d44 - ld hl, wd8ea - ld b, $1 - call Func_1e3b - ld a, [wd8e6] - ld [wd8e4], a - ld a, [wd8e7] - ld [wd8e5], a - ret - -Func_1d44: ; 0x1d44 - ld a, [wd8ea] - cp $0 - ret nz - ld c, rRP % $100 - ld d, $16 - call Func_1c2b - ld d, $16 - call Func_1c32 - ld a, b - cpl - ld b, a -.asm_1d59 - inc b - jr z, .asm_1dae - ld a, $8 - ld [wd8e3], a - ld a, [hli] - ld e, a - ld a, [wd8e4] - add e - ld [wd8e4], a - jr nc, .asm_1d75 - ld a, [wd8e5] - inc a - ld [wd8e5], a - jr .asm_1d78 - -.asm_1d75 - call Func_1ed3 -.asm_1d78 - ld a, e - rlca - ld e, a - jr nc, .asm_1d8d - ld a, [wd8eb] - ld d, a - call Func_1c2b - ld a, [wd8ec] - ld d, a - call Func_1c32 - jr .asm_1d9b - -.asm_1d8d - ld a, [wd8ed] - ld d, a - call Func_1c2b - ld a, [wd8ee] - ld d, a - call Func_1c32 -.asm_1d9b - ld a, [wd8e3] - dec a - ld [wd8e3], a - jr z, .asm_1dac - call Func_1ed4 - call Func_1ed4 - jr .asm_1d78 - -.asm_1dac - jr .asm_1d59 - -.asm_1dae - call Func_1ed3 - call Func_1ed3 - call Func_1ed4 - ld d, $16 - call Func_1c2b - ld d, $16 - call Func_1c32 - ret - -Func_1dc2: ; 0x1dc2 - ld a, $2 - ld [wd8ea], a - ret - -Func_1dc8: - ld a, [wd8ea] - or $1 - ld [wd8ea], a - ret - -Func_1dd1: ; 0x1dd1 - ld a, [wd8ea] - or $4 - ld [wd8ea], a - ret - -Func_1dda: ; 0x1dda - xor a - ld [wd8e4], a - ld [wd8e5], a - push hl - ld hl, wd8e6 - ld b, $2 - call Func_1e3b - ld a, [wd8e7] - ld [wd8e8], a - ld b, a - pop hl - ld a, [wd8e6] - cp $5a - jp nz, Func_1dd1 - call Func_1e3b - ld a, [wd8e4] - ld d, a - ld a, [wd8e5] - ld e, a - push de - ld hl, wd8e6 - ld b, $2 - call Func_1e3b - pop de - ld hl, wd8e6 - ld a, [hli] - xor d - ld b, a - ld a, [hl] - xor e - or b - jr z, .asm_1e22 - ld a, [wd8ea] - or $1 - ld [wd8ea], a -.asm_1e22 - push de - ld hl, wd8ea - ld b, $1 - call Func_1d44 - pop de - ld a, d - ld [wd8e4], a - ld a, e - ld [wd8e5], a - ld a, [wd8e8] - cp $82 - ret z - ret - -Func_1e3b: ; 0x1e3b - ld a, [wd8ea] - cp $0 - ret nz - ld c, rRP % $100 - ld d, $0 - call Func_1c23 - ld a, d - or a - jp z, Func_1dc2 - ld d, $0 - call Func_1c1b - ld a, d - or a - jp z, Func_1dc2 - ld d, $0 - call Func_1c23 - ld a, d - or a - jp z, Func_1dc2 - call Func_1ed4 - call Func_1ed4 - push af - pop af - ld a, b - cpl - ld b, a -.asm_1e6c - inc b - jr z, .asm_1eb9 - ld a, $8 - ld [wd8e3], a -.asm_1e74 - ld d, $0 - call Func_1c1b - call Func_1c23 - ld a, [wd8ef] - cp d - jr nc, .asm_1e88 - ld a, e - set 0, a - ld e, a - jr .asm_1e8c - -.asm_1e88 - ld a, e - res 0, a - ld e, a -.asm_1e8c - ld a, [wd8e3] - dec a - ld [wd8e3], a - jr z, .asm_1ea0 - ld a, e - rlca - ld e, a - call Func_1ed4 - call Func_1ed4 - jr .asm_1e74 - -.asm_1ea0 - ld a, e - ld [hli], a - ld a, [wd8e4] - add e - ld [wd8e4], a - jr nc, .asm_1eb4 - ld a, [wd8e5] - inc a - ld [wd8e5], a - jr .asm_1eb7 - -.asm_1eb4 - call Func_1ed3 -.asm_1eb7 - jr .asm_1e6c - -.asm_1eb9 - ld d, $0 - call Func_1c1b - ld a, d - and a - jp z, Func_1dc2 - ld d, $11 - call Func_1c32 - ret - -Func_1ec9: - ld b, $00 - jp Func_1cf8 - -Func_1ece: - ld b, $00 - jp Func_1dda - -Func_1ed3: ; 0x1ed3 - ret - -Func_1ed4: ; 0x1ed4 - jr z, .asm_1ed6 -.asm_1ed6 - jr nz, .asm_1ed8 -.asm_1ed8 - ret - -Func_1ed9: - push bc - push de - push hl - ld e, a - ld d, $0 - sla e - rl d - ld a, [hLoadedROMBank] - push af - ld a, BANK(Data_8f06) - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ld hl, Data_8f06 - jr asm_1f3b - -Func_1ef2: - push bc - push de - push hl - ld e, a - ld d, $0 - sla e - rl d - ld a, [hLoadedROMBank] - push af - ld a, BANK(Data_8f06) - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ld hl, Data_8f06 - jr asm_1f3b - -LoadOAMData2: ; 0x1f0b -; This function loads OAM data, but it adds b and c to the x and y values -; input: a = OAM data id (see OAMDataPointers2) - push bc - push de - push hl - ld e, a - ld d, $0 - sla e - rl d - ld a, [hLoadedROMBank] - push af - ld a, Bank(OAMDataPointers2) - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ld hl, OAMDataPointers2 - jr asm_1f3b - -LoadOAMData: ; 0x1f24 -; This function loads OAM data, but it adds b and c to the x and y values -; input: a = OAM data id (see OAMDataPointers) - push bc - push de - push hl - ld e, a - ld d, $0 - sla e - rl d ; multiply de by 2 - ld a, [hLoadedROMBank] - push af - ld a, Bank(OAMDataPointers) - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ld hl, OAMDataPointers -asm_1f3b: ; 0x1f3b - add hl, de ; hl points to oam pointer in OAMDataPointers - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a ; de points to OAM data - ld a, [wd802] - ld l, a - ld h, (wOAMBuffer >> 8) -.loadOAMDataLoop - ld a, [de] - cp $80 ; OAM data list terminator - jr z, .doneReadingOAMData - add c - ld [hli], a - inc de - ld a, [de] - add b - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - jr .loadOAMDataLoop - -.doneReadingOAMData - ld a, l - ld [wd802], a - pop af - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - pop hl - pop de - pop bc - ret - -Func_1f68: - push bc - push de - push hl - ld e, a - ld d, $0 - sla e - rl d - ld a, [hLoadedROMBank] - push af - ld a, BANK(Data_8f06) - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ld hl, Data_8f06 ; all 0s - jr asm_1fca - -Func_1f81: - push bc - push de - push hl - ld e, a - ld d, $0 - sla e - rl d - ld a, [hLoadedROMBank] - push af - ld a, BANK(Data_8f06) - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ld hl, Data_8f06 ; all 0s - jr asm_1fca - -Func_1f9a: - push bc - push de - push hl - ld e, a - ld d, $0 - sla e - rl d - ld a, [hLoadedROMBank] - push af - ld a, BANK(OAMDataPointers2) - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ld hl, OAMDataPointers2 - jr asm_1fca - -Func_1fb3: - push bc - push de - push hl - ld e, a - ld d, $0 - sla e - rl d - ld a, [hLoadedROMBank] - push af - ld a, BANK(OAMDataPointers) - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ld hl, OAMDataPointers -asm_1fca - add hl, de - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - ld a, [wd802] - ld l, a - ld h, $d0 -.asm_1fd5 - ld a, [de] - cp $80 - jr z, .asm_1fee - add c - ld [hli], a - inc de - ld a, [de] - add b - ld [hli], a - inc de - ld a, [de] - push hl - ld hl, sp+$7 - add [hl] - pop hl - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - jr .asm_1fd5 - -.asm_1fee - ld a, l - ld [wd802], a - pop af - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - pop hl - pop de - pop bc - ret - -Func_1ffc: ; 0x1ffc - ld a, $b - ld [wd806], a - ld a, $4 - ld [wd807], a - ld [hFarCallTempA], a - callba Func_3c000 - ld a, $1 - ld [wd85d], a - ld a, $37 - ld [wd470], a - ld [wd471], a - ld [wd472], a - ld a, SCREEN_ERASE_ALL_DATA - ld [wCurrentScreen], a -.asm_2025 - call Func_2034 - call Func_2043 - call Func_926 - call Func_b2e - rst AdvanceFrame - jr .asm_2025 - -Func_2034: ; 0x2034 - ld a, [wd804] - and a - jr z, .asm_203f - dec a - ld [wd804], a - ret - -.asm_203f - ld [wd803], a - ret - -Func_2043: ; 0x2043 - ld a, [wCurrentScreen] - call CallInFollowingTable -CallTable_2049: ; 0x2049 -; First two bytes is function pointer. -; Third byte is bank of function. -; Fourth byte seems to be unused. - padded_dab Func_8000 - - ; SCREEN_ERASE_ALL_DATA - padded_dab HandleEraseAllDataMenu - - ; SCREEN_COPYRIGHT - padded_dab HandleCopyrightScreen - - ; SCREEN_TITLESCREEN - padded_dab HandleTitlescreen - - ; SCREEN_PINBALL_GAME - padded_dab HandlePinballGame - - ; SCREEN_POKEDEX - padded_dab HandlePokedexScreen - - ; SCREEN_OPTIONS - padded_dab HandleOptionsScreen - - ; SCREEN_HIGH_SCORES - padded_dab HandleHighScoresScreen - - ; SCREEN_FIELD_SELECT - padded_dab HandleFieldSelectScreen - ; end of call table - -Func_206d: ; 0x206d - ld a, [hLoadedROMBank] - push af - ld a, Bank(Func_8d17) - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - call Func_8d17 - jr c, .asm_2084 - pop af - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - and a - ret - -.asm_2084 - pop af - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - scf - ret - -Func_208c: ; 0x208c - ld a, [hLoadedROMBank] - push af - ld a, Bank(Func_8ee0) - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - call Func_8ee0 - jr c, .asm_20a3 - pop af - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - and a - ret - -.asm_20a3 - pop af - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - scf - ret - -Func_20ab: ; 0x20ab - push af - xor a - ld [$ffb6], a - jr .asm_20c6 - - push af - ld a, b - xor c - ld [$ffb6], a - bit 7, b - jr z, .asm_20be - ld a, b - cpl - inc a - ld b, a -.asm_20be - bit 7, c - jr z, .asm_20c6 - ld a, c - cpl - inc a - ld c, a -.asm_20c6 - push de - push hl - ld a, b - cp c - jr nc, .asm_20ce - ld b, c - ld c, a -.asm_20ce - ld h, $3e - ld l, c - ld e, [hl] - inc h - ld d, [hl] - ld l, b - ld a, [hl] - dec h - ld l, [hl] - ld h, a - add hl, de - push af - ld d, $3e - ld a, b - sub c - ld e, a - ld a, [de] - ld c, a - inc d - ld a, [de] - ld b, a - ld a, l - sub c - ld l, a - ld a, h - sbc b - ld h, a - jr nc, .asm_20f1 - pop af - ccf - jr .asm_20f2 - -.asm_20f1 - pop af -.asm_20f2 - rr h - rr l - ld b, h - ld c, l - ld a, [$ffb6] - rlca - jr nc, .asm_2107 - ld a, c - cpl - add $1 - ld c, a - ld a, b - cpl - adc $0 - ld b, a -.asm_2107 - pop hl - pop de - pop af - ret - -Func_210b: ; 0x210b - push af - push hl - ld a, b - xor d - ld [$ffb7], a - bit 7, b - jr z, .asm_211f - ld a, c - cpl - add $1 - ld c, a - ld a, b - cpl - adc $0 - ld b, a -.asm_211f - push bc - ld b, e - call Func_20ab - ld l, c - ld h, b - ld bc, $0080 - add hl, bc - ld l, h - ld h, $0 - pop bc - ld c, e - call Func_20ab - add hl, bc - ld a, [$ffb7] - rlca - jr nc, .asm_2142 - ld a, l - cpl - add $1 - ld l, a - ld a, h - cpl - adc $0 - ld h, a -.asm_2142 - ld c, l - ld b, h - pop hl - pop af - ret - -Func_2147: ; 0x2147 - add $40 - ; fall through -Func_2149: ; 0x2149 - push hl - ld [$ffb6], a - and $7f - cp $40 - jr c, .asm_2155 - cpl - add $81 -.asm_2155 - ld hl, Data_26be ; todo - ld e, a - ld d, $0 - add hl, de - ld e, [hl] - pop hl - ld d, $0 - ld a, [$ffb6] - sla a - ret nc - ld d, $ff - ret - -ApplyGravityToBall: ; 0x2168 -; Adds a constant to the pinball's y velocity. - ld a, [wd549] - and a - ret z - ld de, $000b ; gravity added to y velocity every frame - ld hl, wBallYVelocity - ld a, [hli] - ld h, [hl] - ld l, a - add hl, de - ld a, l - ld [wBallYVelocity], a - ld a, h - ld [wBallYVelocity + 1], a - ret - -LimitBallVelocity: ; 0x2180 -; Ensures that the ball's x and y velocity are kept under a threshold. -; The ball can travel at a higher max speed when moving diagonally, since it -; limits the x and y components independently. - ld hl, wBallXVelocity + 1 - call _LimitBallVelocity - ld hl, wBallYVelocity + 1 - ; fall through -_LimitBallVelocity: ; 0x2189 - ld a, [hl] - bit 7, a ; is it negative velocity? (left or up) - jr nz, .negativeVelocity - cp $8 - ret c - ld a, $7 ; max positive velocity - ld [hl], a - ret - -.negativeVelocity - cp $f9 - ret nc - ld a, $f9 ; max negative velocity - ld [hl], a - ret - -MoveBallPosition: ; 0x219c -; Updates the ball's position according to its velocity - ld a, [wBallXPos] - ld [wPreviousBallXPos], a - ld a, [wBallXPos + 1] - ld [wPreviousBallXPos + 1], a - ld a, [wBallYPos] - ld [wPreviousBallYPos], a - ld a, [wBallYPos + 1] - ld [wPreviousBallYPos + 1], a - ld de, wBallXVelocity + 1 - ld hl, wBallXPos - call AddVelocityToPosition - ld de, wBallYVelocity + 1 - ld hl, wBallYPos - ; fall through - -AddVelocityToPosition: ; 0x21c3 - ld a, [de] - bit 7, a - jr nz, .asm_21d1 - cp 1+4 - jr c, .asm_21da - ld bc, $04ff - jr .asm_21de - -.asm_21d1 - cp -4 - jr nc, .asm_21da - ld bc, -$04ff - jr .asm_21de - -.asm_21da - ld b, a - dec de - ld a, [de] - ld c, a -.asm_21de - ld a, [hl] - add c - ld [hli], a - ld a, [hl] - adc b - ld [hl], a - ret - -Func_21e5: ; 0x21e5 - cpl - inc a - ; fall through -Func_21e7: ; 0x21e7 - push hl - push bc - push de - ld [$ff8c], a - call Func_2147 - ld a, e - ld [$ff8d], a - ld a, d - ld [$ff8e], a - call Func_210b - ld l, c - ld h, b - pop bc - push bc - ld a, [$ff8c] - call Func_2149 - ld a, e - ld [$ff8f], a - ld a, d - ld [$ff90], a - call Func_210b - add hl, bc - pop de - pop bc - push hl - push de - ld a, [$ff8f] - ld e, a - ld a, [$ff90] - cpl - ld d, a - call Func_210b - ld l, c - ld h, b - pop bc - ld a, [$ff8d] - ld e, a - ld a, [$ff8e] - ld d, a - call Func_210b - add hl, bc - ld d, h - ld e, l - pop bc - pop hl - ret - -Func_222b: ; 0x222b - push hl - ld hl, wd7f8 - ld [hl], $ff - bit 7, d - jr nz, .asm_2297 - ld [hl], $0 - ld a, d - cp $3 - jr c, .asm_2254 - ld a, $ff - ld [wd803], a - ld a, $1 - ld [wd804], a - ld a, [wFlipperCollision] - and a - jr nz, .asm_2254 - push de - ld de, $0008 - call Func_4d8 - pop de -.asm_2254 - srl d - rr e - srl d - rr e - ld h, d - ld l, e - srl d - rr e - ld a, [wd7eb] - and a - jr z, .asm_226c -.asm_2268 - add hl, de - dec a - jr nz, .asm_2268 -.asm_226c - ld d, h - ld e, l - ld a, e - cpl - add $1 - ld e, a - ld a, d - cpl - adc $0 - ld d, a - ld a, [wBallSpin] - sra a - ld l, a - ld h, $0 - bit 7, l - jr z, .asm_2286 - ld h, $ff -.asm_2286 - add hl, bc - ld b, h - ld c, l - push bc - sla c - rl b - sla c - rl b - ld a, b - ld [wBallSpin], a - pop bc -.asm_2297 - pop hl - ret - -LoadBallVelocity: ; 0x2299 -; Loads velocity of the ball into bc and de -; bc = x velocity -; de = y velocity - push hl - ld hl, wBallXVelocity - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - pop hl - ret - -SetBallVelocity: ; 0x22a7 -; Sets the x and y velocities of the ball. -; bc = x velocity -; de = y velocity - push hl - ld hl, wBallXVelocity - ld a, c - ld [hli], a - ld a, b - ld [hli], a - ld a, e - ld [hli], a - ld a, d - ld [hl], a - pop hl - ret - -Func_22b5: ; 0x22b5 - ld a, [wBallXPos + 1] - sub $4 - push af - and $7 - ld [wSubTileBallXPos], a ; sub-tile position - pop af - and $f8 - ld c, a - ld a, [wBallYPos + 1] - sub $4 - push af - and $7 - ld [wSubTileBallYPos], a - pop af - and $f8 - ld b, a - ld l, b ; bc contains tile coords of ball position - ld h, $0 - sla l - rl h - sla l - rl h ; b was multiplied by 4 (y tile position) - srl c - srl c - srl c ; c was divided by 8 (x tile position) - ld b, $0 - add hl, bc - ld a, l - ld [wd7f3], a - ld a, h - ld [wd7f4], a - ld a, [wStageCollisionMapPointer] - ld c, a - ld a, [wStageCollisionMapPointer + 1] - ld b, a - add hl, bc ; hl = address of upper-left collision byte - ld a, [hLoadedROMBank] - push af - ld a, [wStageCollisionMapBank] - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ld bc, $001f ; number of tiles wide - 1 - ld a, [hli] - ld [wUpperLeftCollisionAttribute], a - ld a, [hl] - ld [wUpperRightCollisionAttribute], a - add hl, bc - ld a, [hli] - ld [wLowerLeftCollisionAttribute], a - ld a, [hl] - ld [wLowerRightCollisionAttribute], a - pop af - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ld a, [hLoadedROMBank] - push af - ld a, [wStageCollisionMasksBank] - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ld a, [wSubTileBallXPos] - sla a - ld c, a - ld b, $0 - ld hl, SubTileXPos_CollisionDataPointers - add hl, bc - ld e, [hl] - inc hl - ld d, [hl] - ld a, [wSubTileBallYPos] - ld c, a - ld b, $10 ; number of times to loop over .asm_233d -.asm_233d - push bc - ld a, [de] - inc de - add c ; add the sub tile y pos - push af - srl a - srl a - srl a - ld c, a - ld b, $0 - ld hl, wUpperLeftCollisionAttribute - add hl, bc - ld a, [hl] - call Func_248a - jr nc, .asm_235e - pop af - and $7 - ld c, a - ld b, $0 - add hl, bc - jr .asm_237b - -.asm_235e - ld c, a - ld b, $0 - sla c - rl b - sla c - rl b - sla c - rl b - ld hl, wStageCollisionMasksPointer - ld a, [hli] - ld h, [hl] - ld l, a - add hl, bc - pop af - and $7 - ld c, a - ld b, $0 - add hl, bc -.asm_237b - ld a, [de] - inc de - and [hl] - push af - ld a, [de] - inc de - ld c, a - ld hl, wd7c9 - add hl, bc - pop af - ld [hl], a - pop bc - dec b - jr nz, .asm_233d - pop af - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ld hl, wd7c9 - ld de, wd7d9 - ld b, $4 -.asm_239a - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - dec b - jr nz, .asm_239a - ld hl, wd7c9 - ld de, $0000 - ld b, $0 - ld a, [hl] - and a - jr z, .asm_23c1 -.asm_23b5 - ld a, [hli] - inc b - and a - jr z, .asm_23c1 - ld a, b - cp $11 - jr nc, .asm_23ee - jr .asm_23b5 - -.asm_23c1 - ld a, [hli] - inc b - and a - jr nz, .asm_23cd - ld a, b - cp $11 - jr nc, .asm_23ee - jr .asm_23c1 - -.asm_23cd - push de - ld d, $1 - ld c, b - dec c -.asm_23d2 - ld a, [hli] - inc b - inc d - and a - jr nz, .asm_23d2 - dec d - ld a, b - dec a - dec a - and $f - swap c - or c - ld c, a - ld a, d - cp e - pop de - jr c, .asm_23e9 - ld e, a - ld d, c -.asm_23e9 - ld a, b - cp $10 - jr c, .asm_23c1 -.asm_23ee - ld a, e - ld [wd7e9], a - and a - ret z - ld a, [hLoadedROMBank] - push af - ld a, Bank(Data_8817) - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - push de - ld e, d - ld d, $0 - ld hl, Data_8817 - add hl, de - ld a, [hl] - ld [wd7ea], a - sla e - rl d - ld hl, Data_8917 - add hl, de - ld a, [wBallYPos] - add [hl] - ld [wBallYPos], a - inc hl - ld a, [wBallYPos + 1] - adc [hl] - ld [wBallYPos + 1], a - ld hl, Data_8b17 - add hl, de - ld a, [wBallXPos] - add [hl] - ld [wBallXPos], a - inc hl - ld a, [wBallXPos + 1] - adc [hl] - ld [wBallXPos + 1], a - pop de - pop af - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ld a, d - swap a - and $f - ld e, a - ld a, d - and $f - sub e - jr nc, .asm_2449 - add $10 -.asm_2449 - add e - add e - inc a - and $1e - ld c, a - ld b, $0 - ld hl, Data_250e ; todo - add hl, bc - ld a, [wSubTileBallXPos] - add $4 - add [hl] - bit 3, a - ld c, b - jr z, .asm_2462 - ld c, $2 -.asm_2462 - ld a, [wSubTileBallYPos] - add $4 - inc hl - add [hl] - bit 3, a - jr z, .asm_246e - inc c -.asm_246e - ld hl, wUpperLeftCollisionAttribute - add hl, bc - ld a, [hl] - ld [wd7f5], a - ld hl, Data_250a ; todo - add hl, bc - ld a, [wd7f3] - add [hl] - ld [wd7f6], a - ld a, [wd7f4] - adc $0 - ld [wd7f7], a - ret - -Func_248a: ; 0x248a - push af - ld a, [wCurrentStage] - bit 0, a - jr nz, .asm_2495 - pop af - and a - ret - -.asm_2495 - pop af - cp $d0 - ccf - ret nc - cp $e0 - jr nc, .asm_24ab - sub $d0 - sla a - sla a - sla a - ld l, a - ld h, $c4 - scf - ret - -.asm_24ab - push de - sub $e0 - ld b, a - ld a, [wCurrentStage] - cp $6 ; gengar stage buggy? - jr nc, .asm_24e0 - bit 4, b - ld hl, Data_3800 - ld a, [wd7af] - jr z, .asm_24c8 - res 4, b - ld hl, Data_3980 - ld a, [wd7b3] -.asm_24c8 - ld de, $0080 - cp $7 - jr c, .asm_24d5 - add hl, de - cp $e - jr c, .asm_24d5 - add hl, de -.asm_24d5 - ld e, b - sla e - sla e - sla e - add hl, de - pop de - scf - ret - -.asm_24e0 - bit 4, b - ld hl, Data_3b00 - ld a, [wd7af] - jr z, .asm_24f2 - res 4, b - ld hl, Data_3c80 - ld a, [wd7b3] -.asm_24f2 - ld de, $0080 - cp $7 - jr c, .asm_24ff - add hl, de - cp $e - jr c, .asm_24ff - add hl, de -.asm_24ff - ld e, b - sla e - sla e - sla e - add hl, de - pop de - scf - ret - -Data_250a: - dr $250a, $250e - -Data_250e: - dr $250e, $252e - -SubTileXPos_CollisionDataPointers: ; 0x252e - dw SubTileXPos_CollisionData0 - dw SubTileXPos_CollisionData1 - dw SubTileXPos_CollisionData2 - dw SubTileXPos_CollisionData3 - dw SubTileXPos_CollisionData4 - dw SubTileXPos_CollisionData5 - dw SubTileXPos_CollisionData6 - dw SubTileXPos_CollisionData7 - -SubTileXPos_CollisionData0: ; 0x253e - db $00, $10, $0B - db $00, $08, $0C - db $00, $04, $0D - db $01, $40, $0A - db $01, $01, $0E - db $03, $80, $09 - db $13, $80, $0F - db $04, $80, $08 - db $14, $80, $00 - db $05, $80, $07 - db $15, $80, $01 - db $07, $40, $06 - db $07, $01, $02 - db $08, $10, $05 - db $08, $08, $04 - db $08, $04, $03 - -SubTileXPos_CollisionData1: ; 0x256e - db $00, $08, $0B - db $00, $04, $0C - db $00, $02, $0D - db $01, $20, $0A - db $11, $80, $0E - db $03, $40, $09 - db $13, $40, $0F - db $04, $40, $08 - db $14, $40, $00 - db $05, $40, $07 - db $15, $40, $01 - db $07, $20, $06 - db $17, $80, $02 - db $08, $08, $05 - db $08, $04, $04 - db $08, $02, $03 - -SubTileXPos_CollisionData2: ; 0x259e - db $00, $04, $0B - db $00, $02, $0C - db $00, $01, $0D - db $01, $10, $0A - db $11, $40, $0E - db $03, $20, $09 - db $13, $20, $0F - db $04, $20, $08 - db $14, $20, $00 - db $05, $20, $07 - db $15, $20, $01 - db $07, $10, $06 - db $17, $40, $02 - db $08, $04, $05 - db $08, $02, $04 - db $08, $01, $03 - -SubTileXPos_CollisionData3: ; 0x25ce - db $00, $02, $0B - db $00, $01, $0C - db $10, $80, $0D - db $01, $08, $0A - db $11, $20, $0E - db $03, $10, $09 - db $13, $10, $0F - db $04, $10, $08 - db $14, $10, $00 - db $05, $10, $07 - db $15, $10, $01 - db $07, $08, $06 - db $17, $20, $02 - db $08, $02, $05 - db $08, $01, $04 - db $18, $80, $03 - -SubTileXPos_CollisionData4: ; 0x25fe - db $00, $01, $0B - db $10, $80, $0C - db $10, $40, $0D - db $01, $04, $0A - db $11, $10, $0E - db $03, $08, $09 - db $13, $08, $0F - db $04, $08, $08 - db $14, $08, $00 - db $05, $08, $07 - db $15, $08, $01 - db $07, $04, $06 - db $17, $10, $02 - db $08, $01, $05 - db $18, $80, $04 - db $18, $40, $03 - -SubTileXPos_CollisionData5: ; 0x262e - db $10, $80, $0B - db $10, $40, $0C - db $10, $20, $0D - db $01, $02, $0A - db $11, $08, $0E - db $03, $04, $09 - db $13, $04, $0F - db $04, $04, $08 - db $14, $04, $00 - db $05, $04, $07 - db $15, $04, $01 - db $07, $02, $06 - db $17, $08, $02 - db $18, $80, $05 - db $18, $40, $04 - db $18, $20, $03 - -SubTileXPos_CollisionData6: ; 0x265e - db $10, $40, $0B - db $10, $20, $0C - db $10, $10, $0D - db $01, $01, $0A - db $11, $04, $0E - db $03, $02, $09 - db $13, $02, $0F - db $04, $02, $08 - db $14, $02, $00 - db $05, $02, $07 - db $15, $02, $01 - db $07, $01, $06 - db $17, $04, $02 - db $18, $40, $05 - db $18, $20, $04 - db $18, $10, $03 - -SubTileXPos_CollisionData7: ; 0x268e - db $10, $20, $0B - db $10, $10, $0C - db $10, $08, $0D - db $11, $80, $0A - db $11, $02, $0E - db $03, $01, $09 - db $13, $01, $0F - db $04, $01, $08 - db $14, $01, $00 - db $05, $01, $07 - db $15, $01, $01 - db $17, $80, $06 - db $17, $02, $02 - db $18, $20, $05 - db $18, $10, $04 - db $18, $08, $03 - -Data_26be: - dr $26be, $2720 - -Func_2720: ; 0x2720 - ld a, $ff - ld [wd4ea], a - call Func_272f - ld a, [wd4ea] - ld [wd4ec], a - ret - -Func_272f: ; 0x272f -; not collisions - ld a, [wCurrentStage] - call CallInFollowingTable -CallTable_2735: ; 0x2735 - ; STAGE_RED_FIELD_TOP - padded_dab Func_143e1 - - ; STAGE_RED_FIELD_BOTTOM - padded_dab Func_143f9 - - padded_dab Func_18061 - - padded_dab Func_18062 - - ; STAGE_BLUE_FIELD_TOP - padded_dab Func_1c520 - - ; STAGE_BLUE_FIELD_BOTTOM - padded_dab Func_1c536 - - ; STAGE_GENGAR_BONUS - padded_dab Func_181b1 - - ; STAGE_GENGAR_BONUS - padded_dab Func_181b1 - - ; STAGE_MEWTWO_BONUS - padded_dab Func_19330 - - ; STAGE_MEWTWO_BONUS - padded_dab Func_19330 - - ; STAGE_MEOWTH_BONUS - padded_dab Func_2414d - - ; STAGE_MEOWTH_BONUS - padded_dab Func_2414d - - ; STAGE_DIGLETT_BONUS - padded_dab Func_19ab3 - - ; STAGE_DIGLETT_BONUS - padded_dab Func_19ab3 - - ; STAGE_SEEL_BONUS - padded_dab Func_25bbc - - ; STAGE_SEEL_BONUS - padded_dab Func_25bbc - -Func_2775: ; 0x2775 - ld a, [wd4ea] - inc a - jr nz, .asm_27a2 - ld a, [bc] - bit 7, a - jr nz, .asm_27a2 - push bc - push de - call nc, Func_27da - pop hl - call c, Func_27a4 - ld a, [wd4ea] - ld b, a - pop hl - ld [hl], $0 - jr nc, .asm_27a2 - ld a, [wd4ec] - cp b - jr z, .asm_27a2 - ld a, [wd4eb] - ld [hli], a - ld a, [wd4ea] - ld [hl], a - scf - ret - -.asm_27a2 - and a - ret - -Func_27a4: ; 0x27a4 - xor a - ld [wd4eb], a - ld a, [hli] - ld d, a - ld a, [hli] - ld e, a - ld a, [wBallXPos + 1] - ld b, a - ld a, [wBallYPos + 1] - ld c, a -.asm_27b4 - ld a, [wd4eb] - inc a - ld [wd4eb], a - ld a, [hli] - ld [wd4ea], a - cp $ff - ret z - ld a, [hli] - sub b - bit 7, a - jr z, .asm_27ca - cpl - inc a -.asm_27ca - cp d - ld a, [hli] - jr nc, .asm_27b4 - sub c - bit 7, a - jr z, .asm_27d5 - cpl - inc a -.asm_27d5 - cp e - jr nc, .asm_27b4 - scf - ret - -Func_27da: ; 0x27da - ld a, [hli] - and a - jr z, .asm_27e8 - dec hl - ld a, [wStageCollisionState] - ld c, a - ld b, $0 - add hl, bc - ld c, [hl] - add hl, bc -.asm_27e8 - ld a, [wd7e9] - and a - ret z - ld a, [wd7f5] - ld b, a - ld c, $ff -.asm_27f3 - inc c - ld a, [hli] - cp $ff - ret z - cp b - jr nz, .asm_27f3 - scf - ret - -PinballCollideWithPoints: ; 0x27fd -; Checks if pinball collides with any of the (x, y) points in the given list. -; Saves the index of the collided point. -; Input: hl = pointer to array of (x, y) points -; Output: Saves index of collided point in wd578 - ld a, [wBallXPos + 1] - ld b, a - ld a, [wBallYPos + 1] - ld c, a - ld d, $0 -.nextPoint - ld a, [hli] - and a - ret z - inc d - ld a, [hli] - sub b - cp $e8 - ld a, [hli] - jr c, .nextPoint - sub c - cp $e8 - jr c, .nextPoint - ld a, d - ld [wd578], a - ret - -Func_281c: ; 0x281c - ld a, [wCurrentStage] - call CallInFollowingTable -CallTable_2822: ; 0x2822 -; not collisions - ; STAGE_RED_FIELD_TOP - padded_dab Func_1460e - - ; STAGE_RED_FIELD_BOTTOM - padded_dab Func_14652 - - padded_dab Func_1806d - - padded_dab Func_1806e - - ; STAGE_BLUE_FIELD_TOP - padded_dab Func_1c715 - - ; STAGE_BLUE_FIELD_BOTTOM - padded_dab Func_1c769 - - ; STAGE_GENGAR_BONUS - padded_dab Func_18377 - - ; STAGE_GENGAR_BONUS - padded_dab Func_18377 - - ; STAGE_MEWTWO_BONUS - padded_dab Func_19451 - - ; STAGE_MEWTWO_BONUS - padded_dab Func_19451 - - ; STAGE_MEOWTH_BONUS - padded_dab Func_2442a - - ; STAGE_MEOWTH_BONUS - padded_dab Func_2442a - - ; STAGE_DIGLETT_BONUS - padded_dab Func_19b88 - - ; STAGE_DIGLETT_BONUS - padded_dab Func_19b88 - - ; STAGE_SEEL_BONUS - padded_dab Func_25c5a - - ; STAGE_SEEL_BONUS - padded_dab Func_25c5a - -Func_2862: ; 0x2862 - ld a, [wd7be] - and a - jr nz, .asm_287c - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_287b - ld a, $0 - ld hl, Data_2890 - ld de, $0052 - ld bc, $0004 - call FarCopyPalettes -.asm_287b - ret - -.asm_287c - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_288f - ld a, $0 - ld hl, Data_2894 - ld de, $0052 - ld bc, $0004 - call FarCopyPalettes -.asm_288f - ret - -Data_2890: - RGB 31, 31, 31 - RGB 21, 21, 27 - -Data_2894: - RGB 27, 10, 10 - RGB 20, 04, 04 - -Data_2898: - dr $2898, $28a0 - -CopyHLToDE: ; 0x28a0 -; Places [hl] into [de] -; Also places $0 into [de + 2] - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - xor a - ld [de], a - ret - -UpdateAnimation: ; 0x28a9 -; Updates an animation struct. (See wDugtrioAnimationFrameCounter) -; Input: de = pointer to 3-byte animation struct -; hl = pointer to animation frames data -; Sets carry flag if the animation is over. - ld a, [de] - and a - ret z ; return, if counter is zero - dec a - ld [de], a - ret nz ; return if counter is not zero after the decrement - push de - inc de - inc de - ld a, [de] ; a = current frame index - inc a - ld [de], a - ld c, a - ld b, $0 - sla c - rl b - add hl, bc ; hl = pointer to two-byte entry in the frames data table - ld a, [hli] - pop de - and a - scf - ret z ; return if the next entry is $00 - push de - ld [de], a ; save the animation duration - inc de - ld a, [hli] - ld [de], a ; save the next animation frame id - pop de - ret - -INCLUDE "text.asm" - -Func_30db: ; 0x30db - ld a, $86 - ld [hWY], a - ld a, $1 - ld [wd5ca], a - ld [wd5cb], a - ret - -Func_30e8: ; 0x30e8 - ld a, $81 - ld hl, wcBottomMessageText + $100 - ld b, $40 -.asm_30ef - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - dec b - jr nz, .asm_30ef - xor a - ld [wd5cc], a - ld [wd5d4], a - ld [wd5dc], a - ld [wd5e4], a - ld [wd5e9], a - ld [wd5ee], a - ret - -Func_310a: ; 0x310a - ld a, $81 - ld hl, wc600 + $40 - ld b, $5 -.asm_3111 - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - dec b - jr nz, .asm_3111 - ld hl, wc600 + $c0 - ld b, $5 -.asm_311d - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - dec b - jr nz, .asm_311d - ret - -Func_3125: ; 0x3125 - ld b, $1 - jr asm_312b - -Func_3129: ; 0x3129 - ld b, $0 -asm_312b: ; 0x312b - ld a, [wd805] - and a - jp nz, Func_3268 -.next_char - ld a, [hli] - and a - ret z - ld c, $81 - cp " " - jr z, .space - cp "," - jr z, .comma - cp "♂" - jr z, .male - cp "♀" - jr z, .female - cp "`" - jr z, .apostrophe - cp "!" - jr z, .exclamation - cp "x" - jr z, .little_x - cp "e" - jr z, .e_acute - cp "*" - jr z, .asterisk - cp "." - jr z, .period - cp ":" - jr z, .colon - cp "0" - jr c, .check_atoz - cp "9" + 1 - jr c, .digit -.check_atoz - cp "A" - jr c, .invalid - cp "Z" + 1 - jr c, .alphabet -.invalid - jr .next_char - -.space - ld a, c - jr .load_char - -.comma - inc c - dec e - jr .check_special_load - -.male - xor a - call Func_31e1 - ld a, $83 - jr .load_char - -.female - ld a, $1 - call Func_31e1 - ld a, $84 - jr .load_char - -.apostrophe - ld a, $2 - call Func_31e1 - ld a, $85 - jr .load_char - -.e_acute - ld a, $3 - call Func_31e1 - ld a, $83 - jr .load_char - -.asterisk - ld a, $4 - call Func_31e1 - ld a, $87 - jr .load_char - -.exclamation - ld a, $5 - call Func_31e1 - ld a, $85 - jr .load_char - -.little_x - ld a, $6 - call Func_31e1 - ld a, $85 - jr .load_char - -.period - ld a, $7 - call Func_31e1 - ld a, $86 - jr .load_char - -.colon - ld a, $8 - call Func_31e1 - ld a, $83 - jr .load_char - -.digit - add $56 - jr .load_char - -.alphabet - add $bf -.load_char - ld [de], a -.check_special_load - bit 0, b - jr nz, .no_special_load - set 7, e - ld a, c - ld [de], a - res 7, e -.no_special_load - inc e - jp .next_char - -Func_31e1: ; 0x31e1 - push bc - push de - push hl - ld c, a - ld a, [hGameBoyColorFlag] - and a - ld a, c - jr z, .asm_31ed - add $9 -.asm_31ed - ld c, a - sla a - sla a - add c - ld c, a - ld b, $0 - ld hl, Data_320e ; todo - add hl, bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld b, a - ld a, [hli] - ld h, [hl] - ld l, a - ld a, b - ld bc, $0010 - call LoadVRAMData - pop hl - pop de - pop bc - ret - -Data_320e: - dr $320e, $3268 - -Func_3268: ; 0x3268 - ld a, [hli] - and a - ret z - ld c, $81 - cp $20 - jr z, .asm_3297 - cp $2c - jr z, .asm_329a - cp $30 - jr c, .asm_327d - cp $3a - jr c, .asm_329e -.asm_327d - cp $a0 - jr c, .asm_3285 - cp $e0 - jr c, .asm_328f -.asm_3285 - cp $e0 - jr c, .asm_328d - cp $f4 - jr c, .asm_3293 -.asm_328d - jr Func_3268 - -.asm_328f - sub $80 - jr .asm_32a0 - -.asm_3293 - sub $50 - jr .asm_32a0 - -.asm_3297 - ld a, c - jr .asm_32a0 - -.asm_329a - inc c - dec e - jr .asm_32a1 - -.asm_329e - add $56 -.asm_32a0 - ld [de], a -.asm_32a1 - set 7, e - ld a, c - ld [de], a - res 7, e - inc e - jr Func_3268 - -LoadTextHeader: ; 0x32aa - ld a, $1 - ld [hli], a - ld a, [de] - ld [hli], a - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - push af - inc de - ld a, [de] - ld [hli], a - inc de - pop af - ld l, a - ld h, wcBottomMessageText / $100 -.asm_32c5 - ld a, [de] - ld [hli], a - inc de - and a - jr nz, .asm_32c5 - ret - -Func_32cc: ; 0x32cc - ld a, $1 - ld [hli], a - ld a, [de] - ld [hli], a - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - push af - inc de - ld a, [de] - ld [hli], a - inc de - pop af - ld e, a - ld d, wcBottomMessageText / $100 - ld hl, [sp+$5] - lb bc, 8, 1 -.asm_32ec - ld a, [hl] - swap a - and $f - call Func_3309 - dec b - ld a, [hld] - and $f - call Func_3309 - dec b - jr nz, .asm_32ec - ld a, "0" - ld [de], a - inc de - ld a, " " - ld [de], a - inc de - xor a - ld [de], a - ret - -Func_3309: ; 0x3309 - jr nz, .asm_3312 - ld a, b - dec a - jr z, .asm_3312 - ld a, c - and a - ret nz -.asm_3312 - add $30 - ld [de], a - inc de - ld c, $0 - ld a, b - cp $6 - jr z, .asm_3320 - cp $3 - ret nz -.asm_3320 - ld a, $2c - ld [de], a - inc de - ret - -Func_3325: ; 0x3325 - ld a, [hli] - and a - ret z - ld a, [hl] - dec a - ld [hli], a - ret nz - ld a, [hld] - ld [hl], a - inc hl - inc hl - push hl - ld a, [hli] - ld e, a - cp [hl] - inc hl - jr nz, .asm_333c - ld a, [hl] - dec a - ld [hl], a - jr nz, .asm_333d -.asm_333c - dec e -.asm_333d - push de - ld d, wc600 / $100 - inc hl - push hl - ld l, [hl] - ld h, wcBottomMessageText / $100 - call Func_3129 - pop hl - inc hl - ld a, [hl] - dec a - ld [hl], a - pop de - pop hl - ld [hl], e - ret nz - dec hl - dec hl - dec hl - ld [hl], $0 - ret - -Func_3357: ; 0x3357 - ld a, $1 - ld [hli], a - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - push af - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - pop af - ld l, a - ld h, wcBottomMessageText / $100 -.asm_336b - ld a, [de] - ld [hli], a - inc de - and a - jr nz, .asm_336b - ret - -Func_3372: ; 0x3372 - ld a, $1 - ld [hli], a - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - push af - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - pop af - ld e, a - ld d, wcBottomMessageText / $100 - ld hl, [sp+$5] - lb bc, 8, 1 -.asm_338a - ld a, [hl] - swap a - and $f - call Func_33a7 - dec b - ld a, [hld] - and $f - call Func_33a7 - dec b - jr nz, .asm_338a - ld a, $30 - ld [de], a - inc de - ld a, $20 - ld [de], a - inc de - xor a - ld [de], a - ret - -Func_33a7: ; 0x33a7 - jr nz, .asm_33b0 - ld a, b - dec a - jr z, .asm_33b0 - ld a, c - and a - ret nz -.asm_33b0 - add $30 - ld [de], a - inc de - ld c, $0 - ld a, b - cp $6 - jr z, .asm_33be - cp $3 - ret nz -.asm_33be - ld a, $2c - ld [de], a - inc de - ret - -Func_33c3: ; 0x33c3 - ld a, [hli] - and a - ret z - ld a, [hli] - ld e, a - ld d, wc600 / $100 - push hl - ld l, [hl] - ld h, wcBottomMessageText / $100 - call Func_3129 - pop hl - inc hl - ld a, [hl] - dec a - ld [hli], a - ret nz - ld a, [hl] - dec a - ld [hld], a - bit 7, a - ret z - dec hl - dec hl - dec hl - ld [hl], $0 - ret - -Func_33e3: ; 0x33e3 - ld a, [wd5ca] - and a - jr nz, .asm_33ed - ld [wd5cb], a - ret - -.asm_33ed - ld c, $0 - ld a, [wd5cc] - and a - jr z, .asm_33fe - push bc - ld hl, wd5cc - call Func_3325 - pop bc - inc c -.asm_33fe - ld a, [wd5d4] - and a - jr z, .asm_340d - push bc - ld hl, wd5d4 - call Func_3325 - pop bc - inc c -.asm_340d - ld a, [wd5dc] - and a - jr z, .asm_341c - push bc - ld hl, wd5dc - call Func_3325 - pop bc - inc c -.asm_341c - ld a, [wd5e4] - and a - jr z, .asm_342b - push bc - ld hl, wd5e4 - call Func_33c3 - pop bc - inc c -.asm_342b - ld a, [wd5e9] - and a - jr z, .asm_343a - push bc - ld hl, wd5e9 - call Func_33c3 - pop bc - inc c -.asm_343a - ld a, [wd5ee] - and a - jr z, .asm_3449 - push bc - ld hl, wd5ee - call Func_33c3 - pop bc - inc c -.asm_3449 - ld a, c - and a - ret nz - ld [wd5ca], a - call Func_30e8 - ld a, [hGameBoyColorFlag] - and a - jr nz, .gameboyColor - ld a, Bank(StageRedFieldTopStatusBarSymbolsGfx_GameBoy) - ld hl, $30 + StageRedFieldTopStatusBarSymbolsGfx_GameBoy - ld de, $8830 - ld bc, $0040 - call LoadOrCopyVRAMData - ret - -.gameboyColor - ld a, Bank(StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor) - ld hl, $30 + StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor - ld de, $8830 - ld bc, $0040 - call LoadOrCopyVRAMData - ret - -Func_3475: ; 0x3475 - xor a - ld [hJoypadState], a - ld [hNewlyPressedButtons], a - ld [hPressedButtons], a - call HandleTilts - ld a, [wCurrentStage] - bit 0, a - ld [hFarCallTempA], a - ld a, Bank(HandleFlippers) - ld hl, HandleFlippers - call nz, BankSwitch - ld [hFarCallTempA], a - callba Func_84b7 - call Func_33e3 - call Func_926 - rst AdvanceFrame - ld a, [wd5ca] - and a - jr nz, Func_3475 - ret - -FivePoints: ; 34a6 - bigBCD6 000000000005 -TenPoints: ; 34ac - bigBCD6 000000000010 -OneHundredPoints: ; 34b2 - bigBCD6 000000000100 -FourHundredPoints: ; 34b8 - bigBCD6 000000000400 -FiveHundredPoints: ; 34be - bigBCD6 000000000500 -OneThousandPoints: ; 34c4 - bigBCD6 000000001000 -FiveThousandPoints: ; 34ca - bigBCD6 000000005000 -TenThousandPoints: ; 34d0 - bigBCD6 000000010000 -OneHundredThousandPoints: ; 34d6 - bigBCD6 000000100000 -ThreeHundredThousandPoints: ; 34dc - bigBCD6 000000300000 -FiveHundredThousandPoints: ; 34e2 - bigBCD6 000000500000 -OneMillionPoints: ; 34e8 - bigBCD6 000001000000 -FiveMillionPoints: ; 34ee - bigBCD6 000005000000 -TenMillionPoints: ; 34f4 - bigBCD6 000010000000 -OneHundredMillionPoints: ; 34fa - bigBCD6 000100000000 - -Func_3500: - ld hl, wd464 - ld a, e - ld [hli], a - ld a, d - ld [hli], a - ld a, c - ld [hli], a - ld a, b - ld [hli], a - xor a - ld [hli], a - ld [hl], a - ld bc, wd464 - ldh [hFarCallTempA], a - callba AddBCDScore - ret - -Func_351c: ; 0x351c - ld hl, wd464 - ld a, e - ld [hli], a - ld a, d - ld [hli], a - ld a, c - ld [hli], a - ld a, b - ld [hli], a - xor a - ld [hli], a - ld [hl], a - ld bc, wd464 - ld [hFarCallTempA], a - callba Func_8588 - ret - -Func_3538: ; 0x3538 -; Add BCD value bcde to [wd47a]. Cap at $99999999. - ld hl, wd47a - ld a, [hl] - add e - daa - ld [hli], a - ld a, [hl] - adc d - daa - ld [hli], a - ld a, [hl] - adc c - daa - ld [hli], a - ld a, [hl] - adc b - daa - ld [hli], a - ret nc - ld hl, wd47a - ld a, $99 - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ret - -Func_3556: ; 0x3556 - ld a, [wd47a] - ld e, a - ld a, [wd47a + 1] - ld d, a - ld a, [wd47a + 2] - ld c, a - ld a, [wd47a + 3] - ld b, a - ret - -Func_3567: - ld a, l - add c - daa - ld l, a - ld a, h - adc b - daa - ld h, a - ret - -Func_3570: - ld a, l - add e - daa - ld l, a - ld a, h - adc d - daa - ld h, a - ret - -Func_3579: ; 0x3579 - ld hl, wd47a - xor a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ret - -HandleTilts: ; 0x3582 - call HandleLeftTilt - call HandleRightTilt - call HandleUpperTilt - ret - -HandleLeftTilt: ; 0x358c - ld a, [wLeftTiltReset] - and a - jr nz, .tiltCoolDown - ld hl, wKeyConfigLeftTilt - call IsKeyPressed2 - jr z, .tiltCoolDown - ld a, [wLeftTiltCounter] - cp $3 - jr z, .startCoolDown - inc a - ld [wLeftTiltCounter], a - cp $1 - jr nz, .skipSoundEffect - ld de, $003f - call PlaySoundEffect -.skipSoundEffect - ld a, [wd548] - ld hl, wd549 - and [hl] - jr z, .skipBallMovement - ld a, [wBallXPos + 1] - dec a ; move ball's position to the left by 1 pixel - ld [wBallXPos + 1], a -.skipBallMovement - ld a, [wd79f] - inc a - ld [wd79f], a - ld a, $1 - ld [wLeftTiltPushing], a - ret - -.startCoolDown - ld a, $1 - ld [wLeftTiltReset], a -.tiltCoolDown - xor a - ld [wLeftTiltPushing], a - ld a, [wLeftTiltCounter] - and a - jr z, .done - dec a - ld [wLeftTiltCounter], a - ld a, [wd79f] - dec a - ld [wd79f], a - ret - -.done - ld hl, wKeyConfigLeftTilt - call IsKeyPressed2 - ret nz - xor a - ld [wLeftTiltReset], a - ret - -HandleRightTilt: ; 0x35f3 - ld a, [wRightTiltReset] - and a - jr nz, .tiltCoolDown - ld hl, wKeyConfigRightTilt - call IsKeyPressed2 - jr z, .tiltCoolDown - ld a, [wRightTiltCounter] - cp $3 - jr z, .startCoolDown - inc a - ld [wRightTiltCounter], a - cp $1 - jr nz, .skipSoundEffect - ld de, $003f - call PlaySoundEffect -.skipSoundEffect - ld a, [wd548] - ld hl, wd549 - and [hl] - jr z, .skipBallMovement - ld a, [wBallXPos + 1] - inc a ; move ball's position to the right by 1 pixel - ld [wBallXPos + 1], a -.skipBallMovement - ld a, [wd79f] - dec a - ld [wd79f], a - ld a, $1 - ld [wRightTiltPushing], a - ret - -.startCoolDown - ld a, $1 - ld [wRightTiltReset], a -.tiltCoolDown - xor a - ld [wRightTiltPushing], a - ld a, [wRightTiltCounter] - and a - jr z, .done - dec a - ld [wRightTiltCounter], a - ld a, [wd79f] - inc a - ld [wd79f], a - ret - -.done - ld hl, wKeyConfigRightTilt - call IsKeyPressed2 - ret nz - xor a - ld [wRightTiltReset], a - ret - -HandleUpperTilt: ; 0x365a - ld a, [wUpperTiltReset] - and a - jr nz, .tiltCoolDown - ld hl, wKeyConfigUpperTilt - call IsKeyPressed2 - jr z, .tiltCoolDown - ld a, [wUpperTiltCounter] - cp $4 - jr z, .startCoolDown - inc a - ld [wUpperTiltCounter], a - cp $1 - jr nz, .skipSoundEffect - ld de, $003f - call PlaySoundEffect -.skipSoundEffect - ld a, [wd548] - ld hl, wd549 - and [hl] - jr z, .skipBallMovement - ld a, [wBallYPos + 1] - inc a ; move ball's position down by 1 pixel - ld [wBallYPos + 1], a -.skipBallMovement - ld a, [wd7a0] - dec a - ld [wd7a0], a - ld a, $1 - ld [wUpperTiltPushing], a - ret - -.startCoolDown - ld a, $1 - ld [wUpperTiltReset], a -.tiltCoolDown - xor a - ld [wUpperTiltPushing], a - ld a, [wUpperTiltCounter] - and a - jr z, .done - dec a - ld [wUpperTiltCounter], a - ld a, [wd7a0] - inc a - ld [wd7a0], a - ret - -.done - ld hl, wKeyConfigUpperTilt - call IsKeyPressed2 - ret nz - xor a - ld [wUpperTiltReset], a - ret - -ApplyTiltForces: ; 0x36c1 - ld a, [wd548] - ld hl, wd549 - and [hl] - ret z - ld c, $0 - ld a, [wUpperTiltPushing] - srl a - rl c - ld a, [wRightTiltPushing] - srl a - rl c - ld a, [wLeftTiltPushing] - srl a - rl c - ld b, $0 - sla c - ld hl, Data_372d - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - bit 7, h - ret nz - ld a, [wd7ea] - ld c, a - ld b, $0 - sla c - rl b - sla c - rl b - add hl, bc - ld a, [hLoadedROMBank] - push af - ld a, BANK(TiltLeftOnlyForce) - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ld a, [wBallXVelocity] - add [hl] - ld [wBallXVelocity], a - inc hl - ld a, [wBallXVelocity + 1] - adc [hl] - ld [wBallXVelocity + 1], a - inc hl - ld a, [wBallYVelocity] - add [hl] - ld [wBallYVelocity], a - inc hl - ld a, [wBallYVelocity + 1] - adc [hl] - ld [wBallYVelocity + 1], a - pop af - ld [hLoadedROMBank], a - ld [MBC5RomBank], a - ret - -Data_372d: - dw -1 ; no tilt - dw TiltLeftOnlyForce - dw TiltRightOnlyForce - dw -1 ; left + right (cancel) - dw TiltUpOnlyForce - dw TiltUpLeftForce - dw TiltUpRightForce - dw TiltUpOnlyForce - -SECTION "bank0.2", ROM0 [$3800] - -Data_3800: - dr $3800, $3980 - -Data_3980: - dr $3980, $3b00 - -Data_3b00: - dr $3b00, $3c80 - -Data_3c80: - dr $3c80, $3e00 - -SquaresLow: -x = 0 -rept 256 - db (x * x) % $100 -x = x + 1 -endr - -SquaresHigh: -x = 0 -rept 256 - db (x * x) / $100 -x = x + 1 -endr +INCLUDE "home.asm" SECTION "bank1", ROMX, BANK[$1] @@ -11274,14 +3667,14 @@ Func_8104: ; 0x8104 jr nz, .asm_812e ld a, Bank(Data_813a) ld bc, Data_813a - ld de, LoadTileLists ; todo + ld de, LoadTileLists call Func_10c5 ret .asm_812e ld a, Bank(Data_8144) ld bc, Data_8144 - ld de, LoadTileLists ; todo + ld de, LoadTileLists call Func_10c5 ret @@ -11348,7 +3741,7 @@ CheckForResetButtonCombo: ; 0x8167 call ClearOAMBuffer call Func_b66 call Func_588 - call Func_14a4 + call SGBNormal call Func_bbe ld hl, wScreenState inc [hl] @@ -11456,9 +3849,9 @@ FadeInCopyrightScreen: ; 0x8228 call ClearOAMBuffer call Func_b66 call Func_588 - call Func_14a4 + call SGBNormal ld bc, $0050 - call Func_93f + call AdvanceFrames call Func_bbe ld hl, wScreenState inc [hl] @@ -11630,7 +4023,7 @@ Func_8388: ; 0x8388 ld hl, wPartyMons ld bc, $0170 call ClearData - ld hl, wd473 ; todo + ld hl, wd473 ld bc, $0039 call ClearData ld hl, wd4ad @@ -12251,7 +4644,7 @@ HandleInGameMenu: ; 0x86d7 ld [wd804], a .pickedCancel ld bc, $003c - call Func_93f + call AdvanceFrames ld a, $86 ld [hWY], a ld a, $83 @@ -13602,7 +5995,7 @@ TitlescreenLoop: ; 0xc089 ld de, $0027 call PlaySoundEffect ld bc, $0037 - call Func_93f + call AdvanceFrames ld a, $3 ld [wScreenState], a ret @@ -13657,7 +6050,7 @@ Func_c10e: ; 0xc10e ld de, $0027 call PlaySoundEffect ld bc, $0041 - call Func_93f + call AdvanceFrames ld a, [wTitleScreenGameStartCursorSelection] and a jr z, .asm_c177 @@ -13800,7 +6193,7 @@ HandleTitlescreenPikachuBlinkingAnimation: ; 0xc21e ld b, $0 ld hl, TitleScreenBlinkAnimation add hl, bc - ld bc, $3810 + lb bc, $38, $10 ld a, [hl] cp $5a ; blink animation frame 1 OAM id call nz, LoadOAMData @@ -14100,7 +6493,7 @@ Func_c447: ; 0xc447 ld a, [wd916] and a jr nz, .asm_c465 - ld a, [$fffb] + ld a, [hSGBFlag] and a ret nz call Func_c4f4 @@ -14265,7 +6658,7 @@ Func_c55a: ; 0xc55a ld de, $0001 call PlaySoundEffect ld bc, $001e - call Func_93f + call AdvanceFrames ld a, [wd918] dec a sla a @@ -14310,7 +6703,7 @@ Func_c55a: ; 0xc55a call Func_c639 push hl ld bc, $001e - call Func_93f + call AdvanceFrames pop hl ld bc, $0020 add hl, bc @@ -15424,12 +7817,12 @@ Func_ccb6: ; 0xccb6 call PlaySoundEffect call CopyInitialHighScores ld a, BANK(HighScoresTilemap) - ld hl, HighScoresTilemap + $40 ; todo + ld hl, HighScoresTilemap + $40 ld de, $9840 ld bc, $01c0 call LoadVRAMData ld a, BANK(HighScoresTilemap2) - ld hl, HighScoresTilemap2 + $40 ; todo + ld hl, HighScoresTilemap2 + $40 ld de, $9c40 ld bc, $01c0 call LoadVRAMData @@ -15716,7 +8109,7 @@ Func_cf58: ; 0xcf58 call ClearOAMBuffer rst AdvanceFrame pop af - ld bc, $473b ; todo + ld bc, $473b add $8f call LoadOAMData .asm_cf6f @@ -15919,7 +8312,7 @@ Func_d042: ; 0xd042 ret c .asm_d0a2 ld a, BANK(HighScoresTilemap2) - ld hl, HighScoresTilemap2 + $3c0 ; todo + ld hl, HighScoresTilemap2 + $3c0 ld de, wc280 ld bc, $0040 call FarCopyData @@ -15929,7 +8322,7 @@ Func_d042: ; 0xd042 ld bc, $01c0 call LoadVRAMData ld a, BANK(HighScoresTilemap2) - ld hl, HighScoresTilemap2 + $280 ; todo + ld hl, HighScoresTilemap2 + $280 ld de, wc480 ld bc, $0040 call FarCopyData @@ -16887,7 +9280,7 @@ FieldSelectGfx_GameBoyColor: ; 0xd730 ChooseFieldToPlay: ; 0xd74e call MoveFieldSelectCursor - ld hl, Data_d83d ; todo + ld hl, Data_d83d call AnimateBlinkingFieldSelectBorder ld a, [hNewlyPressedButtons] and (A_BUTTON | B_BUTTON) @@ -16991,7 +9384,7 @@ AnimateBlinkingFieldSelectBorder: ; 0xd7fb sla a ld c, a ld b, $0 - ld hl, Data_d84f ; todo + ld hl, Data_d84f add hl, bc ld a, [hli] ld c, a @@ -17230,7 +9623,7 @@ SaveGame: ; 0xda05 ld de, $0000 call PlaySong ld bc, $0004 - call Func_93f + call AdvanceFrames call Func_cb5 ld a, [wd849] and a @@ -17330,7 +9723,7 @@ Func_dab2: ; 0xdab2 ld de, $0000 call PlaySong ld bc, $0004 - call Func_93f + call AdvanceFrames call Func_cb5 ld a, [wd849] and a @@ -17357,7 +9750,7 @@ Func_dab2: ; 0xdab2 ld de, $0000 call PlaySong ld bc, $0004 - call Func_93f + call AdvanceFrames call Func_cb5 ld a, [wd849] and a @@ -17381,7 +9774,7 @@ TransitionToHighScoresScreen: ; 0xdb5d ld de, $0000 call PlaySong ld bc, $0004 - call Func_93f + call AdvanceFrames call Func_cb5 call Func_576 ld hl, hSTAT @@ -17723,7 +10116,7 @@ Func_dd76: ; 0xdd76 ld de, $0000 call PlaySong ld bc, $001e - call Func_93f + call AdvanceFrames ld de, $2524 call PlaySoundEffect call Func_dbba @@ -17830,7 +10223,7 @@ Func_de4f: ; 0xde4f ld de, $0000 call PlaySong ld bc, $001e - call Func_93f + call AdvanceFrames ld de, $2524 call PlaySoundEffect call Func_dbba @@ -20521,7 +12914,7 @@ Func_f57f: ; 0xf57f Func_f5a0: ; 0xf5a0 ld de, wcBottomMessageText + $40 - ld hl, Data_3069 ; todo + ld hl, Data_3069 call PrintTextNoHeader ld de, wcBottomMessageText + $80 ld hl, Data_3070 @@ -20602,7 +12995,7 @@ CallTable_f60d: ; 0xf60d Func_f626: ; 0xf626 ld de, wcBottomMessageText + $01 - ld hl, Data_3006 ; todo + ld hl, Data_3006 call PrintTextNoHeader ld hl, wcBottomMessageText + $01 ld a, [wd628] @@ -20618,7 +13011,7 @@ Func_f626: ; 0xf626 Func_f64e: ; 0xf64e ld de, wcBottomMessageText - ld hl, Data_3019 ; todo + ld hl, Data_3019 call PrintTextNoHeader ld hl, wcBottomMessageText ld a, [wd629] @@ -20657,10 +13050,10 @@ Func_f676: ; 0xf676 dec b jr nz, .asm_f678 ld de, wcBottomMessageText + $40 - ld hl, Data_307a ; todo + ld hl, Data_307a call PrintTextNoHeader ld de, wcBottomMessageText + $80 - ld hl, Data_3086 ; todo + ld hl, Data_3086 call PrintTextNoHeader ld hl, wcBottomMessageText + $50 ld a, [wd482] @@ -22302,8 +14695,8 @@ Func_106b6: ; 0x106b6 rl b ; bc was just multiplied by 16 ld hl, PokemonNames + 1 add hl, bc - ld de, YouGotAnText ; todo "You got an" - ld bc, Data_2a91 ; todo + ld de, YouGotAnText ; "You got an" + ld bc, Data_2a91 ld a, [hl] ; check if mon's name starts with a vowel, so it can print "an", instead of "a" cp "A" @@ -22316,7 +14709,7 @@ Func_106b6: ; 0x106b6 jr z, .asm_106f1 cp "O" jr z, .asm_106f1 - ld de, YouGotAText ; todo "You got a" + ld de, YouGotAText ; "You got a" ld bc, Data_2a79 .asm_106f1 push hl @@ -25777,8 +18170,8 @@ Func_14467: ; 0x14467 jp Func_2775 Func_14474: ; 0x14474 - ld de, Data_14515 ; todo - ld hl, Data_144fd ; todo + ld de, Data_14515 + ld hl, Data_144fd ld bc, wd4cb and a jp Func_2775 @@ -25797,7 +18190,7 @@ Func_1448e: ; 0x1448e jp Func_2775 Func_14498: ; 0x14498 - ld de, Data_1453c ; todo + ld de, Data_1453c ld bc, wd507 scf jp Func_2775 @@ -25815,14 +18208,14 @@ Func_144ac: ; 0x144ac jp Func_2775 Func_144b6: ; 0x144b6 - ld de, Data_1455d ; todo + ld de, Data_1455d ld bc, wd51f scf jp Func_2775 Func_144c0: ; 0x144c0 - ld de, Data_1457d ; todo - ld hl, Data_14578 ; todo + ld de, Data_1457d + ld hl, Data_14578 ld bc, wd500 and a jp Func_2775 @@ -27840,10 +20233,10 @@ Func_161e0: ; 0x161e0 sla c add hl, bc asm_1620f: ; 0x1620f - ld bc, $4000 + ld bc, Data_f0000 add hl, bc ld de, wBallXVelocity - ld a, $3c + ld a, BANK(Data_f0000) call ReadByteFromBank ld c, a ld a, [de] @@ -27851,7 +20244,7 @@ asm_1620f: ; 0x1620f ld [de], a inc de inc hl - ld a, $3c + ld a, BANK(Data_f0000) call ReadByteFromBank ld b, a ld a, [de] @@ -27860,7 +20253,7 @@ asm_1620f: ; 0x1620f inc de inc hl push bc - ld a, $3c + ld a, BANK(Data_f0000) call ReadByteFromBank ld c, a ld a, [de] @@ -27868,7 +20261,7 @@ asm_1620f: ; 0x1620f ld [de], a inc de inc hl - ld a, $3c + ld a, BANK(Data_f0000) call ReadByteFromBank ld b, a ld a, [de] @@ -29532,7 +21925,7 @@ Func_17e81: ; 0x17e81 ld a, [hGameBoyColorFlag] and a ret nz - ld a, [$fffb] + ld a, [hSGBFlag] and a ret nz ld a, [wd4c5] @@ -29790,16 +22183,16 @@ InitGengarBonusStage: ; 0x18099 ld [wd4c8], a ld [wBallType], a ld [wd49a], a - ld hl, Data_18121 ; todo + ld hl, Data_18121 ld de, wd659 call Func_18112 call Func_18112 call Func_18112 - ld hl, Data_1813c ; todo + ld hl, Data_1813c ld de, wd67e call Func_18112 call Func_18112 - ld hl, Data_1814e ; todo + ld hl, Data_1814e ld de, wd698 call Func_18112 xor a @@ -32452,7 +24845,7 @@ Func_19aba: ; 0x19aba ret nc ld c, a ld b, $0 - ld hl, Data_19b18 ; todo + ld hl, Data_19b18 add hl, bc ld a, [hl] cp $a @@ -34504,7 +26897,7 @@ Func_1cb1c: ; 0x1cb1c ld a, [wd517] ld c, a ld b, $0 - ld hl, Data_1cb33 ; todo + ld hl, Data_1cb33 add hl, bc ld a, [hl] ld e, a @@ -34520,11 +26913,11 @@ Func_1cb43: ; 0x1cb43 ld c, a sla c ld b, $0 - ld hl, Data_1cb60 ; todo + ld hl, Data_1cb60 ld a, [hGameBoyColorFlag] and a jr z, .asm_1cb56 - ld hl, Data_1cd10 ; todo + ld hl, Data_1cd10 .asm_1cb56 add hl, bc ld a, [hli] @@ -38233,9 +30626,9 @@ Func_20230: ; 0x20230 ld a, [wd5b6] add $4 cp $18 - jr c, .asm_20259 + jr c, .master_loop9 ld a, $18 -.asm_20259 +.master_loop9 ld [wd5b6], a cp $18 jr nz, .asm_20264 @@ -43432,7 +35825,7 @@ Func_26137: ; 0x26137 sla a ld c, a ld b, $0 - ld hl, Data_2614f ; todo + ld hl, Data_2614f add hl, bc ld a, [hli] ld h, [hl] @@ -45251,7 +37644,7 @@ Func_28add: ; 0x28add and a ret z push bc - ld hl, MonBillboardPaletteMapPointers ; todo + ld hl, MonBillboardPaletteMapPointers add hl, bc ld a, Bank(MonBillboardPaletteMapPointers) call ReadByteFromBank diff --git a/wram.asm b/wram.asm index d935467..0b737a1 100755 --- a/wram.asm +++ b/wram.asm @@ -97,7 +97,10 @@ wcb00:: ; 0xcb00 SECTION "WRAM Bank 1", WRAMX, BANK[1] wOAMBuffer:: ; 0xd000 - ds $200 + ds $a0 + +wOAMBufferEnd:: ; 0xd0a0 + ds $160 wPaletteData:: ; 0xd200 ds $80 @@ -1845,7 +1848,7 @@ wd800:: ; 0xd800 wd801:: ; 0xd801 ds $1 -wd802:: ; 0xd802 +wOAMBufferSize:: ; 0xd802 ds $1 wd803:: ; 0xd803 @@ -2616,9 +2619,12 @@ wdead:: ; 0xdead ds $1 wdeae:: ; 0xdeae - ds $52 + ds $2 + +wdeb0:: ; 0xdeb0 + ds $50 -wStack:: +wStack:: ; 0xdf00 ds $ff wdfff:: ; 0xdfff -- cgit v1.2.3 From 26a1ac25eaa823d687de4cdcc9c6bc0bc2f75a66 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 19 Jan 2017 08:39:31 -0500 Subject: A little cleanup --- constants/joy_constants.asm | 4 + home.asm | 5 +- main.asm | 722 +++++++++----------------------------------- wram.asm | 2 +- 4 files changed, 144 insertions(+), 589 deletions(-) diff --git a/constants/joy_constants.asm b/constants/joy_constants.asm index 1ece577..59d392b 100755 --- a/constants/joy_constants.asm +++ b/constants/joy_constants.asm @@ -15,3 +15,7 @@ D_RIGHT EQU %00010000 D_LEFT EQU %00100000 D_UP EQU %01000000 D_DOWN EQU %10000000 + +R_FLIPPER EQU A_BUTTON +L_FLIPPER EQU D_LEFT +FLIPPERS EQU L_FLIPPER | R_FLIPPER diff --git a/home.asm b/home.asm index a91ac15..f683ad3 100755 --- a/home.asm +++ b/home.asm @@ -1599,11 +1599,8 @@ Func_a21: ; 0xa21 Data_a38: x = 0 REPT 128 - db x + db x | ((x >> 7) & 1) x = x + 2 -IF x == $80 -x = x + 1 -ENDC ENDR ReadJoypad: ; 0xab8 diff --git a/main.asm b/main.asm index 56acd3e..4c27dab 100755 --- a/main.asm +++ b/main.asm @@ -2963,7 +2963,6 @@ OAMData2_3e: ; 0x OAMData2_3f: ; 0x db $08, $10, $D8, $00 db $08, $08, $D0, $00 - db $80 ; terminator OAMData2_40: ; 0x @@ -3546,19 +3545,14 @@ UnusedTextVideoData: ; 0x808b UnusedTileListData_8094: ; 0x8094 db $13 - dbw $06, $98A3 db $BC, $AF, $B6, $AF, $AD, $BD - dbw $06, $98AA db $BD, $AB, $BB, $B1, $AF, $BD - dbw $04, $98E3 db $D0, $AD, $B1, $AC - dbw $03, $9924 db $AE, $B7, $B1 - db $00 ; terminator FillBackgroundsVRAM: ; 0x80b5 @@ -3680,24 +3674,18 @@ Func_8104: ; 0x8104 Data_813a: ; 0x813a db $02 - dbw $01, $98E3 db $D1 - dbw $01, $9923 db $D0 - db $00 ; terminator Data_8144: ; 0x8144 db $02 - dbw $01, $98E3 db $D0 - dbw $01, $9923 db $D1 - db $00 ; terminator Func_814e: ; 0x414e @@ -3963,47 +3951,32 @@ InitializeStage: ; 0x8311 CallTable_8348: ; 0x8348 ; STAGE_RED_FIELD_TOP padded_dab InitRedField - ; STAGE_RED_FIELD_BOTTOM padded_dab InitRedField - padded_dab Func_18000 - padded_dab Func_18000 - ; STAGE_BLUE_FIELD_TOP padded_dab InitBlueField - ; STAGE_BLUE_FIELD_BOTTOM padded_dab InitBlueField - ; STAGE_GENGAR_BONUS padded_dab InitGengarBonusStage - ; STAGE_GENGAR_BONUS padded_dab InitGengarBonusStage - ; STAGE_MEWTWO_BONUS padded_dab InitMewtwoBonusStage - ; STAGE_MEWTWO_BONUS padded_dab InitMewtwoBonusStage - ; STAGE_MEOWTH_BONUS padded_dab InitMeowthBonusStage - ; STAGE_MEOWTH_BONUS padded_dab InitMeowthBonusStage - ; STAGE_DIGLETT_BONUS padded_dab InitDiglettBonusStage - ; STAGE_DIGLETT_BONUS padded_dab InitDiglettBonusStage - ; STAGE_SEEL_BONUS padded_dab InitSeelBonusStage - ; STAGE_SEEL_BONUS padded_dab InitSeelBonusStage @@ -4065,47 +4038,32 @@ StartBallForStage: ; 0x83ba CallTable_8404: ; 0x8404 ; STAGE_RED_FIELD_TOP padded_dab StartBallRedField - ; STAGE_RED_FIELD_BOTTOM padded_dab StartBallRedField - padded_dab Func_1804a - padded_dab Func_1804a - ; STAGE_BLUE_FIELD_TOP padded_dab StartBallBlueField - ; STAGE_BLUE_FIELD_BOTTOM padded_dab StartBallBlueField - ; STAGE_GENGAR_BONUS padded_dab StartBallGengarBonusStage - ; STAGE_GENGAR_BONUS padded_dab StartBallGengarBonusStage - ; STAGE_MEWTWO_BONUS padded_dab StartBallMewtwoBonusStage - ; STAGE_MEWTWO_BONUS padded_dab StartBallMewtwoBonusStage - ; STAGE_MEOWTH_BONUS padded_dab StartBallMeowthBonusStage - ; STAGE_MEOWTH_BONUS padded_dab StartBallMeowthBonusStage - ; STAGE_DIGLETT_BONUS padded_dab StartBallDiglettBonusStage - ; STAGE_DIGLETT_BONUS padded_dab StartBallDiglettBonusStage - ; STAGE_SEEL_BONUS padded_dab StartBallSeelBonusStage - ; STAGE_SEEL_BONUS padded_dab StartBallSeelBonusStage @@ -4139,47 +4097,32 @@ Func_8471: ; 0x8471 CallTable_8477: ; 0x8477 ; STAGE_RED_FIELD_TOP padded_dab Func_14000 - ; STAGE_RED_FIELD_BOTTOM padded_dab Func_1401c - padded_dab Func_1805f - padded_dab Func_18060 - ; STAGE_BLUE_FIELD_TOP padded_dab Func_1c165 - ; STAGE_BLUE_FIELD_BOTTOM padded_dab Func_1c191 - ; STAGE_GENGAR_BONUS padded_dab Func_1818b - ; STAGE_GENGAR_BONUS padded_dab Func_1818b - ; STAGE_MEWTWO_BONUS padded_dab Func_19310 - ; STAGE_MEWTWO_BONUS padded_dab Func_19310 - ; STAGE_MEOWTH_BONUS padded_dab Func_24128 - ; STAGE_MEOWTH_BONUS padded_dab Func_24128 - ; STAGE_DIGLETT_BONUS padded_dab Func_19a76 - ; STAGE_DIGLETT_BONUS padded_dab Func_19a76 - ; STAGE_SEEL_BONUS padded_dab Func_25b97 - ; STAGE_SEEL_BONUS padded_dab Func_25b97 @@ -4189,47 +4132,32 @@ Func_84b7: ; 0x84b7 PointerTable_84bd: ; 0x84bd ; STAGE_RED_FIELD_TOP padded_dab Func_1755c - ; STAGE_RED_FIELD_BOTTOM padded_dab Func_1757e - padded_dab Func_18079 - padded_dab Func_18084 - ; STAGE_BLUE_FIELD_TOP padded_dab Func_1f330 - ; STAGE_BLUE_FIELD_BOTTOM padded_dab Func_1f35a - ; STAGE_GENGAR_BONUS padded_dab Func_18faf - ; STAGE_GENGAR_BONUS padded_dab Func_18faf - ; STAGE_MEWTWO_BONUS padded_dab Func_1994e - ; STAGE_MEWTWO_BONUS padded_dab Func_1994e - ; STAGE_MEOWTH_BONUS padded_dab Func_2583b - ; STAGE_MEOWTH_BONUS padded_dab Func_2583b - ; STAGE_DIGLETT_BONUS padded_dab Func_1ac98 - ; STAGE_DIGLETT_BONUS padded_dab Func_1ac98 - ; STAGE_SEEL_BONUS padded_dab Func_26b7e - ; STAGE_SEEL_BONUS padded_dab Func_26b7e @@ -4251,7 +4179,7 @@ Func_84fd: ret Func_8519: ; 8519 (2:4519) - ld hl, $9c00 + hlCoord 0, 0, vBGMap1 ld b, $20 .asm_851e ld [hli], a @@ -4340,7 +4268,7 @@ Func_8588: ; 0x8588 ld l, c ld a, [wd477] ld e, a - ld d, $d4 + ld d, wd400 / $100 ld b, $1 asm_8592: push hl @@ -6412,10 +6340,10 @@ Func_c35a: ; 0xc35a call PlaySong call Func_588 ld a, [wSoundTestCurrentBackgroundMusic] - ld hl, $9967 + hlCoord 7, 11, vBGMap0 call RedrawSoundTestID ld a, [wSoundTextCurrentSoundEffect] - ld hl, $99a7 + hlCoord 7, 13, vBGMap0 call RedrawSoundTestID call Func_bbe ld hl, wScreenState @@ -7243,7 +7171,7 @@ OAMPixelOffsetData_c944: ; 0xc944 dw $7018 Func_c948: ; 0xc948 - ld hl, $9c6d + hlCoord 13, 3, vBGMap1 ld de, wKeyConfigBallStart ld b, $e .asm_c950 @@ -7595,10 +7523,10 @@ Func_cb14: ; 0xcb14 ld a, $20 ld [wda82], a call Func_d211 - ld hl, $99c0 + hlCoord 0, 14, vBGMap0 ld de, wda3d call Func_d2cb - ld hl, $9dc0 + hlCoord 0, 14, vBGMap1 ld de, wda7e call Func_d2cb ld a, [wHighScoresStage] @@ -7662,27 +7590,22 @@ HighScoresVideoData_GameBoy: ; 0xcbe9 VIDEO_DATA_TILES HighScoresBaseGameBoyGfx, vTiles0, $1800 VIDEO_DATA_TILEMAP HighScoresTilemap, vBGMap0, $400 VIDEO_DATA_TILEMAP HighScoresTilemap2, vBGMap1, $400 - dw HighScoresTilemap + $3c0 db Bank(HighScoresTilemap) dw vBGMap0 dw ($40 << 2) - dw HighScoresTilemap + $280 db Bank(HighScoresTilemap) dw vBGMap0 + $200 dw ($40 << 2) - dw HighScoresTilemap2 + $3c0 db Bank(HighScoresTilemap2) dw vBGMap1 dw ($40 << 2) - dw HighScoresTilemap2 + $280 db Bank(HighScoresTilemap2) dw vBGMap1 + $200 dw ($40 << 2) - db $FF, $FF ; terminators HighScoresRedStageVideoData_GameBoyColor: ; 0xcc1c @@ -7691,27 +7614,22 @@ HighScoresRedStageVideoData_GameBoyColor: ; 0xcc1c VIDEO_DATA_TILEMAP HighScoresTilemap2, vBGMap1, $400 VIDEO_DATA_TILEMAP_BANK2 HighScoresTilemap4, vBGMap0, $400 VIDEO_DATA_TILEMAP_BANK2 HighScoresTilemap5, vBGMap1, $400 - dw HighScoresTilemap + $3c0 db Bank(HighScoresTilemap) dw vBGMap0 dw ($40 << 2) - dw HighScoresTilemap + $280 db Bank(HighScoresTilemap) dw vBGMap0 + $200 dw ($40 << 2) - dw HighScoresTilemap2 + $3c0 db Bank(HighScoresTilemap2) dw vBGMap1 dw ($40 << 2) - dw HighScoresTilemap2 + $280 db Bank(HighScoresTilemap2) dw vBGMap1 + $200 dw ($40 << 2) - VIDEO_DATA_PALETTES HighScoresRedStagePalettes, $80 db $FF, $FF @@ -7721,27 +7639,22 @@ HighScoresBlueStageVideoData_GameBoyColor: ; 0xcc64 VIDEO_DATA_TILEMAP HighScoresTilemap2, vBGMap1, $400 VIDEO_DATA_TILEMAP_BANK2 HighScoresTilemap4, vBGMap0, $400 VIDEO_DATA_TILEMAP_BANK2 HighScoresTilemap5, vBGMap1, $400 - dw HighScoresTilemap + $3c0 db Bank(HighScoresTilemap) dw vBGMap0 dw ($40 << 2) - dw HighScoresTilemap + $280 db Bank(HighScoresTilemap) dw vBGMap0 + $200 dw ($40 << 2) - dw HighScoresTilemap2 + $3c0 db Bank(HighScoresTilemap2) dw vBGMap1 dw ($40 << 2) - dw HighScoresTilemap2 + $280 db Bank(HighScoresTilemap2) dw vBGMap1 + $200 dw ($40 << 2) - VIDEO_DATA_PALETTES HighScoresBlueStagePalettes, $80 db $FF, $FF ; terminators @@ -7826,10 +7739,10 @@ Func_ccb6: ; 0xccb6 ld de, $9c40 ld bc, $01c0 call LoadVRAMData - ld hl, $99c0 + hlCoord 0, 14, vBGMap0 ld de, wda3d call Func_d361 - ld hl, $9dc0 + hlCoord 0, 14, vBGMap1 ld de, wda7e call Func_d361 ld hl, wRedHighScore1Points @@ -7993,10 +7906,10 @@ Func_cdce: ; 0xcdce ld a, $8 ld [$abf6], a pop af - ld hl, $99c0 + hlCoord 0, 14, vBGMap0 ld de, wda3d call Func_d361 - ld hl, $9dc0 + hlCoord 0, 14, vBGMap1 ld de, wda7e call Func_d361 ld hl, wRedHighScore1Points @@ -8291,7 +8204,7 @@ Func_d042: ; 0xd042 ld bc, $0040 call FarCopyData ld a, $0 - ld hl, $9840 + hlCoord 0, 2, vBGMap0 ld de, wc2c0 ld bc, $01c0 call LoadVRAMData @@ -8317,7 +8230,7 @@ Func_d042: ; 0xd042 ld bc, $0040 call FarCopyData ld a, $0 - ld hl, $9c40 + hlCoord 0, 2, vBGMap1 ld de, wc2c0 ld bc, $01c0 call LoadVRAMData @@ -8897,11 +8810,11 @@ Func_d46f: ; 0xd46f ld a, [wda80] add e ld e, a - ld hl, $9843 + hlCoord 3, 2, vBGMap0 ld a, [wHighScoresStage] and a jr z, .asm_d496 - ld hl, $9c43 + hlCoord 3, 2, vBGMap1 .asm_d496 add hl, de push hl @@ -9899,47 +9812,32 @@ Func_dc49: ; 0xdc49 CallTable_dc4d: ; 0xdc4d ; STAGE_RED_FIELD_TOP dw Func_dd76 - ; STAGE_RED_FIELD_BOTTOM dw Func_dd76 - dw Func_de4e - dw Func_de4e - ; STAGE_BLUE_FIELD_TOP dw Func_de4f - ; STAGE_BLUE_FIELD_TOP dw Func_de4f - ; STAGE_GENGAR_BONUS dw Func_df1a - ; STAGE_GENGAR_BONUS dw Func_df1a - ; STAGE_MEWTWO_BONUS dw Func_df7e - ; STAGE_MEWTWO_BONUS dw Func_df7e - ; STAGE_MEOWTH_BONUS dw Func_dfe2 - ; STAGE_MEOWTH_BONUS dw Func_dfe2 - ; STAGE_DIGLETT_BONUS dw Func_e056 - ; STAGE_DIGLETT_BONUS dw Func_e056 - ; STAGE_SEEL_BONUS dw Func_e08b - ; STAGE_SEEL_BONUS dw Func_e08b @@ -11054,7 +10952,6 @@ Func_e3de: pop de pop bc push hl - push bc push de ld c, e @@ -11062,7 +10959,6 @@ Func_e3de: pop de pop bc push hl - push bc push de ld b, d @@ -11070,11 +10966,9 @@ Func_e3de: pop de pop bc push hl - ld b, e call Func_e410 ld c, l - ld l, h xor a ld h, a @@ -11361,25 +11255,18 @@ StageRedFieldTopCollisionAttributesPointers: ; 0xe5c7 db $01 ; multiple pair entries dwb StageRedFieldTopCollisionAttributes0, Bank(StageRedFieldTopCollisionAttributes0) dwb StageRedFieldTopCollisionMasks0, Bank(StageRedFieldTopCollisionMasks0) - dwb StageRedFieldTopCollisionAttributes1, Bank(StageRedFieldTopCollisionAttributes1) dwb StageRedFieldTopCollisionMasks0, Bank(StageRedFieldTopCollisionMasks0) - dwb StageRedFieldTopCollisionAttributes2, Bank(StageRedFieldTopCollisionAttributes2) dwb StageRedFieldTopCollisionMasks1, Bank(StageRedFieldTopCollisionMasks1) - dwb StageRedFieldTopCollisionAttributes3, Bank(StageRedFieldTopCollisionAttributes3) dwb StageRedFieldTopCollisionMasks1, Bank(StageRedFieldTopCollisionMasks1) - dwb StageRedFieldTopCollisionAttributes4, Bank(StageRedFieldTopCollisionAttributes4) dwb StageRedFieldTopCollisionMasks2, Bank(StageRedFieldTopCollisionMasks2) - dwb StageRedFieldTopCollisionAttributes5, Bank(StageRedFieldTopCollisionAttributes5) dwb StageRedFieldTopCollisionMasks2, Bank(StageRedFieldTopCollisionMasks2) - dwb StageRedFieldTopCollisionAttributes6, Bank(StageRedFieldTopCollisionAttributes6) dwb StageRedFieldTopCollisionMasks3, Bank(StageRedFieldTopCollisionMasks3) - dwb StageRedFieldTopCollisionAttributes7, Bank(StageRedFieldTopCollisionAttributes7) dwb StageRedFieldTopCollisionMasks3, Bank(StageRedFieldTopCollisionMasks3) @@ -11400,7 +11287,6 @@ StageBlueFieldTopCollisionAttributesPointers: ; 0xe601 db $01 ; multiple pair entries dwb StageBlueFieldTopCollisionAttributesBallEntrance, Bank(StageBlueFieldTopCollisionAttributesBallEntrance) dwb StageBlueFieldTopCollisionMasks, Bank(StageBlueFieldTopCollisionMasks) - dwb StageBlueFieldTopCollisionAttributes, Bank(StageBlueFieldTopCollisionAttributes) dwb StageBlueFieldTopCollisionMasks, Bank(StageBlueFieldTopCollisionMasks) @@ -11413,7 +11299,6 @@ StageGengarBonusCollisionAttributesPointers: ; 0xe615 db $01 ; multiple pair entries dwb StageGengarBonusCollisionAttributesBallEntrance, Bank(StageGengarBonusCollisionAttributesBallEntrance) dwb StageGengarBonusCollisionMasks, Bank(StageGengarBonusCollisionMasks) - dwb StageGengarBonusCollisionAttributes, Bank(StageGengarBonusCollisionAttributes) dwb StageGengarBonusCollisionMasks, Bank(StageGengarBonusCollisionMasks) @@ -11421,7 +11306,6 @@ StageMewtwoBonusCollisionAttributesPointers: ; 0xe622 db $01 ; multiple pair entries dwb StageMewtwoBonusCollisionAttributesBallEntrance, Bank(StageMewtwoBonusCollisionAttributesBallEntrance) dwb StageMewtwoBonusCollisionMasks, Bank(StageMewtwoBonusCollisionMasks) - dwb StageMewtwoBonusCollisionAttributes, Bank(StageMewtwoBonusCollisionAttributes) dwb StageMewtwoBonusCollisionMasks, Bank(StageMewtwoBonusCollisionMasks) @@ -11429,7 +11313,6 @@ StageMeowthBonusCollisionAttributesPointers: ; 0xe62f db $01 ; multiple pair entries dwb StageMeowthBonusCollisionAttributesBallEntrance, Bank(StageMeowthBonusCollisionAttributesBallEntrance) dwb StageMeowthBonusCollisionMasks, Bank(StageMeowthBonusCollisionMasks) - dwb StageMeowthBonusCollisionAttributes, Bank(StageMeowthBonusCollisionAttributes) dwb StageMeowthBonusCollisionMasks, Bank(StageMeowthBonusCollisionMasks) @@ -11437,7 +11320,6 @@ StageDiglettBonusCollisionAttributesPointers: ; 0xe63c db $01 ; multiple pair entries dwb StageDiglettBonusCollisionAttributesBallEntrance, Bank(StageDiglettBonusCollisionAttributesBallEntrance) dwb StageDiglettBonusCollisionMasks, Bank(StageDiglettBonusCollisionMasks) - dwb StageDiglettBonusCollisionAttributes, Bank(StageDiglettBonusCollisionAttributes) dwb StageDiglettBonusCollisionMasks, Bank(StageDiglettBonusCollisionMasks) @@ -11445,7 +11327,6 @@ StageSeelBonusCollisionAttributesPointers: ; 0xe649 db $01 ; multiple pair entries dwb StageSeelBonusCollisionAttributesBallEntrance, Bank(StageSeelBonusCollisionAttributesBallEntrance) dwb StageSeelBonusCollisionMasks, Bank(StageSeelBonusCollisionMasks) - dwb StageSeelBonusCollisionAttributes, Bank(StageSeelBonusCollisionAttributes) dwb StageSeelBonusCollisionMasks, Bank(StageSeelBonusCollisionMasks) @@ -11752,13 +11633,11 @@ StageMewtwoBonusGfx_GameBoyColor: ; 0xeaf8 VIDEO_DATA_TILES MewtwoBonusBaseGameBoyColorGfx, vTiles1, $1000 VIDEO_DATA_TILES MewtwoBonus3Gfx, vTiles1 + $100, $1a0 VIDEO_DATA_TILES MewtwoBonus4Gfx, vTiles1 + $2a0, $2a0 - ; Can't use a macro here because it's copying the tiles from VRAM, not ROM. dw vTiles0 db $20 ; This is an arbitrary bank, since the data is in VRAM, not ROM. dw vTiles1 dw $4002 - VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTiles0 + $600, $160 VIDEO_DATA_TILEMAP MewtoBonusBottomTilemap_GameBoyColor, vBGMap0, $400 VIDEO_DATA_TILEMAP_BANK2 MewtoBonusBottomTilemap2_GameBoyColor, vBGMap0, $400 @@ -12130,7 +12009,7 @@ CallTable_eeca: ; 0xeeca dw UpgradeBallBlueField dw UpgradeBallBlueField dw UpgradeBallBlueField - dw Func_f0c1 + dw SlotBonusMultiplier dw Func_f172 dw Func_f172 dw Func_f172 @@ -12262,7 +12141,7 @@ Func_efa7: ; 0xefa7 Func_efb2: ; 0xefb2 ld a, $8 call Func_a21 - ld [wd61f], a + ld [wCurSlotBonus], a ld b, $80 .asm_efbc push bc @@ -12271,25 +12150,25 @@ Func_efb2: ; 0xefb2 jr nz, .asm_efd8 bit 4, b jr z, .asm_efd0 - ld a, [wd61f] - add $12 + ld a, [wCurSlotBonus] + add (SmallReward100PointsOnPic_Pointer - BillboardPicturePointers) / 3 call LoadBillboardPicture jr .asm_efd8 .asm_efd0 - ld a, [wd61f] - add $12 + ld a, [wCurSlotBonus] + add (SmallReward100PointsOnPic_Pointer - BillboardPicturePointers) / 3 call LoadBillboardOffPicture .asm_efd8 rst AdvanceFrame pop bc ld a, [hNewlyPressedButtons] - and $21 + and FLIPPERS jr nz, .asm_efe3 dec b jr nz, .asm_efbc .asm_efe3 - ld a, [wd61f] + ld a, [wCurSlotBonus] inc a swap a ld e, a @@ -12301,7 +12180,7 @@ Func_efb2: ; 0xefb2 Func_eff3: ; 0xeff3 ld a, $8 call Func_a21 - ld [wd61f], a + ld [wCurSlotBonus], a ld b, $80 .asm_effd push bc @@ -12310,25 +12189,25 @@ Func_eff3: ; 0xeff3 jr nz, .asm_f019 bit 4, b jr z, .asm_f011 - ld a, [wd61f] - add $1b + ld a, [wCurSlotBonus] + add (BigReward1000000PointsOnPic_Pointer - BillboardPicturePointers) / 3 call LoadBillboardPicture jr .asm_f019 .asm_f011 - ld a, [wd61f] - add $1b + ld a, [wCurSlotBonus] + add (BigReward1000000PointsOnPic_Pointer - BillboardPicturePointers) / 3 call LoadBillboardOffPicture .asm_f019 rst AdvanceFrame pop bc ld a, [hNewlyPressedButtons] - and $21 + and FLIPPERS jr nz, .asm_f024 dec b jr nz, .asm_effd .asm_f024 - ld a, [wd61f] + ld a, [wCurSlotBonus] inc a swap a ld c, a @@ -12409,10 +12288,10 @@ BallTypeProgressionBlueField: ; 0xf0bb db MASTER_BALL ; unused db MASTER_BALL ; MASTER_BALL -> MASTER_BALL -Func_f0c1: ; 0xf0c1 +SlotBonusMultiplier: ; 0xf0c1 ld a, $4 call Func_a21 - ld [wd61f], a + ld [wCurSlotBonus], a ld b, $80 .asm_f0cb push bc @@ -12421,20 +12300,20 @@ Func_f0c1: ; 0xf0c1 jr nz, .asm_f0e7 bit 4, b jr z, .asm_f0df - ld a, [wd61f] - add $24 + ld a, [wCurSlotBonus] + add (BonusMultiplierX1OnPic_Pointer - BillboardPicturePointers) / 3 call LoadBillboardPicture jr .asm_f0e7 .asm_f0df - ld a, [wd61f] - add $24 + ld a, [wCurSlotBonus] + add (BonusMultiplierX1OnPic_Pointer - BillboardPicturePointers) / 3 call LoadBillboardOffPicture .asm_f0e7 rst AdvanceFrame pop bc ld a, [hNewlyPressedButtons] - and $21 + and FLIPPERS jr nz, .asm_f0f2 dec b jr nz, .asm_f0cb @@ -12445,18 +12324,18 @@ Func_f0c1: ; 0xf0c1 ld [wd611], a ld [wd612], a ld a, [wd482] - call Func_f14a + call .DivideBy25 ld b, c - ld a, [wd61f] + ld a, [wCurSlotBonus] inc a ld hl, wd482 add [hl] - cp $64 + cp 100 jr c, .asm_f113 - ld a, $63 + ld a, 99 .asm_f113 ld [hl], a - call Func_f14a + call .DivideBy25 ld a, c cp b ld [hFarCallTempA], a @@ -12474,29 +12353,24 @@ Func_f0c1: ; 0xf0c1 callba Func_f154 ; no need for BankSwitch here... ret -Func_f14a: ; 0xf14a +.DivideBy25: ; 0xf14a ld c, $0 -.asm_f14c - cp $19 +.div_25 + cp 25 ret c - sub $19 + sub 25 inc c - jr .asm_f14c + jr .div_25 Func_f154: ; 0xf154 ld a, [wCurrentStage] call CallInFollowingTable CallTable_f15a: ; 0xf15a padded_dab Func_16f28 - padded_dab Func_16f28 - padded_dab Func_16f28 - padded_dab Func_16f28 - padded_dab Func_1d5f2 - padded_dab Func_1d5f2 Func_f172: ; 0xf172 @@ -12555,182 +12429,68 @@ LoadBillboardOffPicture: ; 0xf196 ret BillboardPicturePointers: ; 0xf1b8 - dw BallSaver30SecondsOnPic - db Bank(BallSaver30SecondsOnPic) - - dw BallSaver60SecondsOnPic - db Bank(BallSaver60SecondsOnPic) - - dw BallSaver90SecondsOnPic - db Bank(BallSaver90SecondsOnPic) - - dw PikachuSaverOnPic - db Bank(PikachuSaverOnPic) - - dw ExtraBallOnPic - db Bank(ExtraBallOnPic) - - dw SmallRewardOnPic - db Bank(SmallRewardOnPic) - - dw BigRewardOnPic - db Bank(BigRewardOnPic) - - dw CatchEmModeOnPic - db Bank(CatchEmModeOnPic) - - dw EvolutionModeOnPic - db Bank(EvolutionModeOnPic) - - dw GreatBallOnPic - db Bank(GreatBallOnPic) - - dw UltraBallOnPic - db Bank(UltraBallOnPic) - - dw MasterBallOnPic - db Bank(MasterBallOnPic) - - dw BonusMultiplierOnPic - db Bank(BonusMultiplierOnPic) - - dw GoToGengarBonusOnPic - db Bank(GoToGengarBonusOnPic) - - dw GoToMewtwoBonusOnPic - db Bank(GoToMewtwoBonusOnPic) - - dw GoToMeowthBonusOnPic - db Bank(GoToMeowthBonusOnPic) - - dw GoToDiglettBonusOnPic - db Bank(GoToDiglettBonusOnPic) - - dw GoToSeelBonusOnPic - db Bank(GoToSeelBonusOnPic) - - dw SmallReward100PointsOnPic - db Bank(SmallReward100PointsOnPic) - - dw SmallReward200PointsOnPic - db Bank(SmallReward200PointsOnPic) - - dw SmallReward300PointsOnPic - db Bank(SmallReward300PointsOnPic) - - dw SmallReward400PointsOnPic - db Bank(SmallReward400PointsOnPic) - - dw SmallReward500PointsOnPic - db Bank(SmallReward500PointsOnPic) - - dw SmallReward600PointsOnPic - db Bank(SmallReward600PointsOnPic) - - dw SmallReward700PointsOnPic - db Bank(SmallReward700PointsOnPic) - - dw SmallReward800PointsOnPic - db Bank(SmallReward800PointsOnPic) - - dw SmallReward900PointsOnPic - db Bank(SmallReward900PointsOnPic) - - dw BigReward1000000PointsOnPic - db Bank(BigReward1000000PointsOnPic) - - dw BigReward2000000PointsOnPic - db Bank(BigReward2000000PointsOnPic) - - dw BigReward3000000PointsOnPic - db Bank(BigReward3000000PointsOnPic) - - dw BigReward4000000PointsOnPic - db Bank(BigReward4000000PointsOnPic) - - dw BigReward5000000PointsOnPic - db Bank(BigReward5000000PointsOnPic) - - dw BigReward6000000PointsOnPic - db Bank(BigReward6000000PointsOnPic) - - dw BigReward7000000PointsOnPic - db Bank(BigReward7000000PointsOnPic) - - dw BigReward8000000PointsOnPic - db Bank(BigReward8000000PointsOnPic) - - dw BigReward9000000PointsOnPic - db Bank(BigReward9000000PointsOnPic) - - dw BonusMultiplierX1OnPic - db Bank(BonusMultiplierX1OnPic) - - dw BonusMultiplierX2OnPic - db Bank(BonusMultiplierX2OnPic) - - dw BonusMultiplierX3OnPic - db Bank(BonusMultiplierX3OnPic) - - dw BonusMultiplierX4OnPic - db Bank(BonusMultiplierX4OnPic) - - dw BonusMultiplierX5OnPic - db Bank(BonusMultiplierX5OnPic) - - dw PalletTownPic - db Bank(PalletTownPic) - - dw ViridianCityPic - db Bank(ViridianCityPic) - - dw ViridianForestPic - db Bank(ViridianForestPic) - - dw PewterCityPic - db Bank(PewterCityPic) - - dw MtMoonPic - db Bank(MtMoonPic) - - dw CeruleanCityPic - db Bank(CeruleanCityPic) - - dw VermilionCitySeasidePic - db Bank(VermilionCitySeasidePic) - - dw VermilionCityStreetsPic - db Bank(VermilionCityStreetsPic) - - dw RockMountainPic - db Bank(RockMountainPic) - - dw LavenderTownPic - db Bank(LavenderTownPic) - - dw CeladonCityPic - db Bank(CeladonCityPic) - - dw CyclingRoadPic - db Bank(CyclingRoadPic) - - dw FuchsiaCityPic - db Bank(FuchsiaCityPic) - - dw SafariZonePic - db Bank(SafariZonePic) - - dw SaffronCityPic - db Bank(SaffronCityPic) - - dw SeafoamIslandsPic - db Bank(SeafoamIslandsPic) - - dw CinnabarIslandPic - db Bank(CinnabarIslandPic) - - dw IndigoPlateauPic - db Bank(IndigoPlateauPic) +BillboardPicturePointer: MACRO +\1_Pointer: dab \1 +ENDM + BillboardPicturePointer BallSaver30SecondsOnPic + BillboardPicturePointer BallSaver60SecondsOnPic + BillboardPicturePointer BallSaver90SecondsOnPic + BillboardPicturePointer PikachuSaverOnPic + BillboardPicturePointer ExtraBallOnPic + BillboardPicturePointer SmallRewardOnPic + BillboardPicturePointer BigRewardOnPic + BillboardPicturePointer CatchEmModeOnPic + BillboardPicturePointer EvolutionModeOnPic + BillboardPicturePointer GreatBallOnPic + BillboardPicturePointer UltraBallOnPic + BillboardPicturePointer MasterBallOnPic + BillboardPicturePointer BonusMultiplierOnPic + BillboardPicturePointer GoToGengarBonusOnPic + BillboardPicturePointer GoToMewtwoBonusOnPic + BillboardPicturePointer GoToMeowthBonusOnPic + BillboardPicturePointer GoToDiglettBonusOnPic + BillboardPicturePointer GoToSeelBonusOnPic + BillboardPicturePointer SmallReward100PointsOnPic + BillboardPicturePointer SmallReward200PointsOnPic + BillboardPicturePointer SmallReward300PointsOnPic + BillboardPicturePointer SmallReward400PointsOnPic + BillboardPicturePointer SmallReward500PointsOnPic + BillboardPicturePointer SmallReward600PointsOnPic + BillboardPicturePointer SmallReward700PointsOnPic + BillboardPicturePointer SmallReward800PointsOnPic + BillboardPicturePointer SmallReward900PointsOnPic + BillboardPicturePointer BigReward1000000PointsOnPic + BillboardPicturePointer BigReward2000000PointsOnPic + BillboardPicturePointer BigReward3000000PointsOnPic + BillboardPicturePointer BigReward4000000PointsOnPic + BillboardPicturePointer BigReward5000000PointsOnPic + BillboardPicturePointer BigReward6000000PointsOnPic + BillboardPicturePointer BigReward7000000PointsOnPic + BillboardPicturePointer BigReward8000000PointsOnPic + BillboardPicturePointer BigReward9000000PointsOnPic + BillboardPicturePointer BonusMultiplierX1OnPic + BillboardPicturePointer BonusMultiplierX2OnPic + BillboardPicturePointer BonusMultiplierX3OnPic + BillboardPicturePointer BonusMultiplierX4OnPic + BillboardPicturePointer BonusMultiplierX5OnPic + BillboardPicturePointer PalletTownPic + BillboardPicturePointer ViridianCityPic + BillboardPicturePointer ViridianForestPic + BillboardPicturePointer PewterCityPic + BillboardPicturePointer MtMoonPic + BillboardPicturePointer CeruleanCityPic + BillboardPicturePointer VermilionCitySeasidePic + BillboardPicturePointer VermilionCityStreetsPic + BillboardPicturePointer RockMountainPic + BillboardPicturePointer LavenderTownPic + BillboardPicturePointer CeladonCityPic + BillboardPicturePointer CyclingRoadPic + BillboardPicturePointer FuchsiaCityPic + BillboardPicturePointer SafariZonePic + BillboardPicturePointer SaffronCityPic + BillboardPicturePointer SeafoamIslandsPic + BillboardPicturePointer CinnabarIslandPic + BillboardPicturePointer IndigoPlateauPic Func_f269: ; 0xf269 ld a, [hGameBoyColorFlag] @@ -12744,7 +12504,7 @@ Func_f269: ; 0xf269 .asm_f27c ld a, BANK(Data_f288) ld de, Data_f288 - ld hl, $9887 + hlCoord 7, 4, vBGMap0 call Func_86f ret @@ -12961,35 +12721,24 @@ Func_f60a: ; 0xf60a CallTable_f60d: ; 0xf60d ; STAGE_RED_FIELD_TOP dw Func_f945 - ; STAGE_RED_FIELD_BOTTOM dw Func_f945 - dw Func_f9f2 - dw Func_f9f2 - ; STAGE_BLUE_FIELD_TOP dw Func_f9f3 - ; STAGE_BLUE_FIELD_BOTTOM dw Func_f9f3 - ; STAGE_GENGAR_BONUS dw Func_faf6 - ; STAGE_GENGAR_BONUS dw Func_faf6 - ; STAGE_MEWTWO_BONUS dw Func_faf7 - ; STAGE_MEWTWO_BONUS dw Func_faf7 - ; STAGE_MEOWTH_BONUS dw Func_faf8 - ; STAGE_MEOWTH_BONUS dw Func_faf8 @@ -13254,7 +13003,7 @@ PrintTextNoHeader: ; 0xf7b1 jr .asm_f7e0 Func_f80d: ; 0xf80d - ld hl, $9c00 + hlCoord 0, 0, vBGMap1 add hl, de push hl ld hl, wcBottomMessageText @@ -13681,17 +13430,12 @@ Func_10000: ; 0x10000 CallTable_10027: ; 0x10027 ; STAGE_RED_FIELD_TOP padded_dab Func_20000 - ; STAGE_RED_FIELD_BOTTOM padded_dab Func_20000 - padded_dab Func_20000 - padded_dab Func_20000 - ; STAGE_BLUE_FIELD_TOP padded_dab Func_202bc - ; STAGE_BLUE_FIELD_BOTTOM padded_dab Func_202bc @@ -13823,17 +13567,12 @@ StartCatchEmMode: ; 0x1003f CallTable_10124: ; 0x10124 ; STAGE_RED_FIELD_TOP dw Func_10871 - ; STAGE_RED_FIELD_BOTTOM dw Func_10871 - dw Func_1098a - dw Func_1098a - ; STAGE_BLUE_FIELD_TOP dw Func_1098c - ; STAGE_BLUE_FIELD_BOTTOM dw Func_1098c @@ -13883,17 +13622,12 @@ Func_10157: ; 0x10157 CallTable_10178: ; 0x10178 ; STAGE_RED_FIELD_TOP dw Func_108f5 - ; STAGE_RED_FIELD_BOTTOM dw Func_108f5 - dw Func_1098b - dw Func_1098b - ; STAGE_BLUE_FIELD_TOP dw Func_109fc - ; STAGE_BLUE_FIELD_BOTTOM dw Func_109fc @@ -14308,23 +14042,18 @@ Func_10414: ; 0x10414 Data_10420: db $18 - db $06 dw $9887 db $80 - db $06 dw $98a7 db $80 - db $06 dw $98c7 db $80 - db $06 dw $98e7 db $80 - db $00 Func_10432: ; 0x10432 @@ -14336,23 +14065,18 @@ Func_10432: ; 0x10432 Data_1043e: db $18 - db $06 dw $9887 db $90, $91, $92, $93, $94, $95 - db $06 dw $98a7 db $96, $97, $98, $99, $9a, $9b - db $06 dw $98c7 db $9c, $9d, $9e, $9f, $a0, $a1 - db $06 dw $98e7 db $a2, $a3, $a4, $a5, $a6, $a7 - db $00 Func_10464: ; 0x10464 @@ -14594,32 +14318,26 @@ Data_1062a: Data_10630: db $20 - db $02 dw $8ae0 dw CatchTextGfx + $00 db BANK(CatchTextGfx) - db $00 Data_10638: db $20 - db $02 dw $8b00 dw CatchTextGfx + $20 db BANK(CatchTextGfx) - db $00 Data_10640: db $20 - db $02 dw $8b20 dw CatchTextGfx + $40 db BANK(CatchTextGfx) - db $00 Func_10648: ; 0x10648 @@ -15167,17 +14885,12 @@ Func_10a95: ; 0x19a95 PointerTable_10a9b: ; 0x10a9b ; STAGE_RED_FIELD_TOP padded_dab Func_20581 - ; STAGE_RED_FIELD_BOTTOM padded_dab Func_20581 - padded_dab Func_20581 - padded_dab Func_20581 - ; STAGE_BLUE_FIELD_TOP padded_dab Func_20bae - ; STAGE_BLUE_FIELD_BOTTOM padded_dab Func_20bae @@ -15190,17 +14903,12 @@ Func_10ab3: ; 0x10ab3 CallTable_10abc: ; 0x10abc ; STAGE_RED_FIELD_TOP dw Func_10ebb - ; STAGE_RED_FIELD_BOTTOM dw Func_10ebb - dw Func_11054 - dw Func_11054 - ; STAGE_BLUE_FIELD_TOP dw Func_11061 - ; STAGE_BLUE_FIELD_BOTTOM dw Func_11061 @@ -15223,17 +14931,12 @@ Func_10ac8: ; 0x10ac8 CallTable_10af3: ; 0x10af3 ; STAGE_RED_FIELD_TOP dw Func_10fe3 - ; STAGE_RED_FIELD_BOTTOM dw Func_10fe3 - dw Func_11060 - dw Func_11060 - ; STAGE_BLUE_FIELD_TOP dw Func_11195 - ; STAGE_BLUE_FIELD_TOP dw Func_11195 @@ -15274,11 +14977,9 @@ VideoData_10b2a: ; 0x10b2a dab StageRedFieldTopGfx3 dw $8900 dw $E0 - dab StageRedFieldTopGfx3 dw $8900 dw $E0 - dab StageRedFieldTopGfx3 dw $8900 dw $E0 @@ -16108,22 +15809,16 @@ Func_1120e: ; 0x1120e VRAMData_1123b: ; 0x1123b dab StageBlueFieldTopGfx3 dw $8600, $E0 - dab StageBlueFieldTopGfx3 dw $8600, $E0 - dab StageBlueFieldTopGfx3 dw $8600, $E0 - dab StageBlueFieldTopGfx3 dw $8600, $E0 - dab StageBlueFieldTopGfx3 dw $8600, $E0 - dab StageBlueFieldTopGfx3 dw $8600, $E0 - dab StageBlueFieldTopGfx3 dw $8600, $E0 @@ -17828,13 +17523,13 @@ Func_1414b: ; 0x1414b Func_141f2: ; 0x141f2 ld a, $80 - ld hl, $9887 + hlCoord 7, 4, vBGMap0 call Func_14209 - ld hl, $98a7 + hlCoord 7, 5, vBGMap0 call Func_14209 - ld hl, $98c7 + hlCoord 7, 6, vBGMap0 call Func_14209 - ld hl, $98e7 + hlCoord 7, 7, vBGMap0 ; fall through Func_14209: ; 0x14209 @@ -20658,7 +20353,7 @@ Func_1658f: ; 0x1658f ld de, $0048 call PlaySoundEffect pop af - add $29 ; map billboard pictures start at the $29th entry in BillboardPicturePointers + add (PalletTownPic_Pointer - BillboardPicturePointers) / 3 ; map billboard pictures start at the $29th entry in BillboardPicturePointers ld [hFarCallTempA], a callba LoadBillboardPicture ld b, $20 ; number of frames to delay before the next map is shown @@ -21135,9 +20830,9 @@ Func_16d9d: ; 016d9d ld [wd60d], a ld a, [wd482] inc a - cp $64 + cp 100 jr c, .asm_16e10 - ld a, $63 + ld a, 99 .asm_16e10 ld [wd482], a jr nc, .asm_16e24 @@ -21357,9 +21052,9 @@ Func_16f7b: ; 0x16f7b Func_16f95: ; 0x16f95 ld a, [wd482] inc a - cp $64 + cp 100 jr c, .asm_16f9f - ld a, $63 + ld a, 99 .asm_16f9f ld b, a xor a @@ -22091,7 +21786,7 @@ Func_18000: ; 0x18000 call ClearData ld a, $1 ld [rVBK], a - ld hl, $9c00 + hlCoord 0, 0, vBGMap1 ld bc, $0400 call ClearData xor a @@ -25964,13 +25659,13 @@ Func_1c305: ; 0x1c305 Func_1c3ac: ; 0x1c3ac ld a, $80 - ld hl, $9887 + hlCoord 7, 4, vBGMap0 call Func_1c3c3 - ld hl, $98a7 + hlCoord 7, 5, vBGMap0 call Func_1c3c3 - ld hl, $98c7 + hlCoord 7, 6, vBGMap0 call Func_1c3c3 - ld hl, $98e7 + hlCoord 7, 7, vBGMap0 ; fall through Func_1c3c3: ; 0x1c3c3 @@ -26524,7 +26219,7 @@ Func_1c839: ; 0x1c839 ld de, $0048 call PlaySoundEffect pop af - add $29 ; map billboard pictures start at the $29th entry in BillboardPicturePointers + add (PalletTownPic_Pointer - BillboardPicturePointers) / 3 ; map billboard pictures start at the $29th entry in BillboardPicturePointers ld [hFarCallTempA], a callba LoadBillboardPicture ld b, $20 ; number of frames to delay before the next map is shown @@ -27619,9 +27314,9 @@ Func_1d438: ; 0x1d438 ld [wd60d], a ld a, [wd482] inc a - cp $64 + cp 100 jr c, .asm_1d4d5 - ld a, $63 + ld a, 99 .asm_1d4d5 ld [wd482], a jr nc, .asm_1d4e9 @@ -29440,7 +29135,6 @@ Func_1ef09: ; 0x1ef09 jp z, Func_1ef7e cp $3 ; left direction jp z, Func_1efae - ; fall through ; default to upward forcefield @@ -29570,7 +29264,6 @@ Func_1efdc: ; 0x1efdc jp z, Func_1f057 cp $3 ; left direction jp z, Func_1f124 - ; fall through ; default to upward forcefield @@ -30364,19 +30057,12 @@ Func_20000: ; 0x20000 call CallInFollowingTable PointerTable_20021: ; 0x20021 padded_dab Func_20041 - padded_dab Func_2005f - padded_dab Func_2006b - padded_dab Func_200a3 - padded_dab Func_200d3 - padded_dab Func_20193 - padded_dab CapturePokemonRedStage - padded_dab Func_201ce Func_20041: ; 0x20041 @@ -30694,19 +30380,12 @@ Func_202bc: ; 0x202bc call CallInFollowingTable PointerTable_202e2: ; 0x202e2 padded_dab Func_20302 - padded_dab Func_20320 - padded_dab Func_2032c - padded_dab Func_20364 - padded_dab Func_20394 - padded_dab Func_20454 - padded_dab CapturePokemonBlueStage - padded_dab Func_2048f Func_20302: ; 0x20302 @@ -31046,9 +30725,7 @@ Func_20581: ; 0x20581 call CallInFollowingTable PointerTable_205d4: ; 0x205d4 padded_dab Func_205e0 - padded_dab Func_2070b - padded_dab Func_20757 Func_205e0: ; 0x205e0 @@ -31736,7 +31413,7 @@ Func_20b02: ; 0x20b02 ld d, a ld a, Bank(MonBillboardPaletteMapPointers) call ReadByteFromBank - ld hl, $9887 + hlCoord 7, 4, vBGMap0 call Func_86f pop bc ld hl, MonBillboardPalettePointers @@ -31808,9 +31485,7 @@ Func_20bae: ; 0x20bae call CallInFollowingTable PointerTable_20bfc: ; 0x20bfc padded_dab Func_20c08 - padded_dab Func_20d30 - padded_dab Func_20d7c Func_20c08: ; 0x20c08 @@ -32498,7 +32173,7 @@ Func_2112a: ; 0x2112a ld d, a ld a, Bank(MonBillboardPaletteMapPointers) call ReadByteFromBank - ld hl, $9887 + hlCoord 7, 4, vBGMap0 call Func_86f pop bc ld hl, MonBillboardPalettePointers @@ -35567,7 +35242,6 @@ Func_25fbe: ; 0x25fbe ld [de], a ld a, $1 jp Func_26137 - ret ; unused instruction .asm_25fe9 @@ -35670,7 +35344,6 @@ Func_2604c: ; 0x2604c ld a, $4 ld [de], a jp Func_26137 - ret ; unused instruction .asm_26075 @@ -36177,54 +35850,42 @@ Data_280a6: ; 0x280a6 dab Data_ad800 dw vTiles0 dw $6000 - dab Data_c5000 dw $9800 dw $1000 - dab Data_c4800 dw vBGMap1 dw $800 - dab Data_c4800 dw $9e00 dw $800 - dw $FFFF ; terminators Data_280c4: ; 0x280c4 dab Data_ad800 dw vTiles0 dw $6000 - dab Data_c5000 dw $9800 dw $1000 - dab Data_c5400 dw $9800 dw $1002 - dab Data_c4800 dw vBGMap1 dw $800 - dab Data_c4800 dw $9e00 dw $800 - dab Data_c4c00 dw vBGMap1 dw $802 - dab Data_c4c00 dw $9e00 dw $802 - dab Data_dce80 dw $0000 dw $101 - dw $FFFF ; terminators MainPokedexScreen: ; 0x280fe @@ -37484,7 +37145,7 @@ Func_28a15: ; 0x28a15 ld a, $0 ld [wd865], a push de - ld hl, $9844 + hlCoord 4, 2, vBGMap0 call Func_28d71 pop de inc de @@ -37501,7 +37162,7 @@ Func_28a15: ; 0x28a15 ld de, Data_28a7f .asm_28a54 push de - ld hl, $98c8 + hlCoord 8, 6, vBGMap0 call Func_28d71 pop de inc de @@ -37510,7 +37171,7 @@ Func_28a15: ; 0x28a15 inc de inc de push de - ld hl, $98ce + hlCoord 14, 6, vBGMap0 call Func_28d71 pop de inc de @@ -37518,7 +37179,7 @@ Func_28a15: ; 0x28a15 inc de inc de inc de - ld hl, $98f0 + hlCoord 16, 7, vBGMap0 ld a, [rLCDC] bit 7, a jr nz, .asm_28a7a @@ -37656,7 +37317,7 @@ Func_28add: ; 0x28add ld d, a ld a, Bank(MonBillboardPaletteMapPointers) call ReadByteFromBank - ld hl, $9861 + hlCoord 1, 3, vBGMap0 call Func_86f pop bc ld hl, MonBillboardPalettePointers @@ -37688,7 +37349,7 @@ Func_28b76: ; 0x28b76 ret z ld a, BANK(Data_28b97) ld de, Data_28b97 - ld hl, $9861 + hlCoord 1, 3, vBGMap0 call Func_86f ret @@ -37729,7 +37390,7 @@ Func_28baf: ; 0x28baf ret z ld a, BANK(Data_28b97) ld de, Data_28b97 - ld hl, $9861 + hlCoord 1, 3, vBGMap0 call Func_86f ret @@ -37923,7 +37584,7 @@ Func_28cf8: ; 0x28cf8 db $fe asm_28d1d - ld hl, $9861 + hlCoord 1, 3, vBGMap0 ld b, $4 .asm_28d22 ld c, $6 @@ -40513,17 +40174,12 @@ Func_301ce: ; 0x301ce PointerTable_301d4: ; 0x301d4 ; STAGE_RED_FIELD_TOP padded_dab Func_314ae - ; STAGE_RED_FIELD_BOTTOM padded_dab Func_314ae - padded_dab Func_314ae - padded_dab Func_314ae - ; STAGE_BLUE_FIELD_TOP padded_dab Func_3161b - ; STAGE_BLUE_FIELD_BOTTOM padded_dab Func_3161b @@ -40552,17 +40208,12 @@ StartMapMoveMode: ; 0x301ec CallTable_3021f: ; 0x3021f ; STAGE_RED_FIELD_TOP dw Func_311b4 - ; STAGE_RED_FIELD_BOTTOM dw Func_311b4 - dw Func_31324 - dw Func_31324 - ; STAGE_BLUE_FIELD_TOP dw Func_31326 - ; STAGE_BLUE_FIELD_BOTTOM dw Func_31326 @@ -40580,17 +40231,12 @@ Func_3022b: ; 0x3022b CallTable_30247: ; 0x30247 ; STAGE_RED_FIELD_TOP dw Func_31234 - ; STAGE_RED_FIELD_BOTTOM dw Func_31234 - dw Func_31325 - dw Func_31325 - ; STAGE_BLUE_FIELD_TOP dw Func_313c3 - ; STAGE_BLUE_FIELD_TOP dw Func_313c3 @@ -40705,7 +40351,6 @@ Data_30459: ; 0x30459 db $08, $4B, $4C, $55, $4C, $5F, $4C, $69, $4C, $73, $4C, $7D, $4C, $87, $4C, $91, $4C Data_3046a: ; 0x3046a db $08, $9B, $4C, $A5, $4C, $AF, $4C, $B9, $4C, $C3, $4C, $CD, $4C, $D7, $4C, $E1, $4C - dr $3047b, $30ceb PointerTable_30ceb: ; 0x30ceb @@ -40791,7 +40436,6 @@ Data_30d9e: ; 0x30d9e db $02, $45, $51, $4E, $51 Data_30da3: ; 0x30da3 db $02, $6A, $51, $73, $51 - dr $30da8, $3118f Func_3118f: ; 0x3118f @@ -41186,11 +40830,8 @@ Func_314ae: ; 0x314ae call CallInFollowingTable PointerTable_314df: ; 0xd13df padded_dab Func_314ef - padded_dab Func_314f1 - padded_dab Func_314f3 - padded_dab Func_31505 Func_314ef: ; 0x314ef @@ -41350,11 +40991,8 @@ Func_3161b: ; 0x3161b call CallInFollowingTable PointerTable_3164c: ; 0x3164c padded_dab Func_3165c - padded_dab Func_3165e - padded_dab Func_31660 - padded_dab Func_31672 Func_3165c: ; 0x3165c @@ -41515,7 +41153,6 @@ Data_38020: Data_38030: db $a9, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - dr $38040, $3809a ; 38040 Data_3809a: @@ -41997,7 +41634,6 @@ KadabraSilhouettePic: ; 0x62e80 StageRedFieldTopStatusBarSymbolsGfx_GameBoy: ; 0x63000 INCBIN "gfx/stage/red_top/status_bar_symbols_gameboy.2bpp" - dr $63100, $632a0 StageRedFieldTopBaseGameBoyGfx: ; 0x632a0 @@ -42142,7 +41778,6 @@ TaurosSilhouettePic: ; 0x6ae80 StageBlueFieldTopStatusBarSymbolsGfx_GameBoy: ; 0x6b000 INCBIN "gfx/stage/blue_top/status_bar_symbols_gameboy.2bpp" - dr $6b100, $6b2a0 StageBlueFieldTopBaseGameBoyGfx: ; 0x6b2a0 @@ -42703,12 +42338,10 @@ MewtwoAnimatedPic: ; 0x86700 INCBIN "gfx/billboard/mon_animated/mewtwo.w32.interleave.2bpp" MewAnimatedPic: ; 0x86a00 INCBIN "gfx/billboard/mon_animated/mew.w32.interleave.2bpp" - dr $86d00, $87000 DiglettBonusBaseGameBoyColorGfx: ; 0x87000 INCBIN "gfx/stage/diglett_bonus/diglett_bonus_base_gameboycolor.2bpp" - dr $87e00, $87e80 GengarBonusHaunter1Gfx: ; 0x87e80 @@ -42759,7 +42392,6 @@ FieldSelectGfx: ; 0x8b100 GengarBonusGastlyGfx: ; 0x8bd00 INCBIN "gfx/stage/gengar_bonus/gastly.w32.interleave.2bpp" - dr $8be80, $8bf00 BulbasaurBillboardBGPalette1: ; 0x8bf00 @@ -42975,7 +42607,6 @@ JigglypuffAnimatedPic: ; 0x8ed00 DiglettBonusBaseGameBoyGfx: ; 0x8f000 INCBIN "gfx/stage/diglett_bonus/diglett_bonus_base_gameboy.2bpp" - dr $8fd00, $8ff00 PalletTownBillboardBGPalette1: ; 0x8ff00 @@ -43235,7 +42866,6 @@ IndigoPlateauBillboardBGPaletteMap: ; 0x93c18 db $6, $6, $6, $6, $6, $6 db $6, $6, $6, $6, $6, $6 db $7, $7, $7, $7, $7, $7 - dr $93c39, $94000 SECTION "bank25", ROMX, BANK[$25] @@ -43390,7 +43020,6 @@ SeelBonusSeel2Gfx: ; 0x9b400 INCBIN "gfx/stage/seel_bonus/seel_2.2bpp" SeelBonusSeel4Gfx: ; 0x9b460 INCBIN "gfx/stage/seel_bonus/seel_4.2bpp" - dr $9b900, $9bba0 GengarBonusGengar1Gfx: ; 0x9bba0 @@ -43404,7 +43033,6 @@ SECTION "bank27", ROMX, BANK[$27] StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor: ; 0x9c000 INCBIN "gfx/stage/red_top/status_bar_symbols_gameboycolor.2bpp" - dr $9c100, $9c2a0 StageRedFieldTopBaseGameBoyColorGfx: ; 0x9c2a0 @@ -43422,7 +43050,6 @@ SECTION "bank28", ROMX, BANK[$28] StageBlueFieldTopStatusBarSymbolsGfx_GameBoyColor: ; 0xa0000 INCBIN "gfx/stage/blue_top/status_bar_symbols_gameboycolor.2bpp" - dr $a0100, $a02a0 StageBlueFieldTopBaseGameBoyColorGfx: ; 0xa02a0 @@ -43484,7 +43111,6 @@ GFX_a7b00: dr $a7b00, $a8000 ; 0xa7b00 SECTION "bank2a", ROMX, BANK[$2a] - dr $a8000, $a82c0 PinballGreatballShakeGfx: ; 0xa82c0 @@ -43510,7 +43136,6 @@ PikachuSaverGfx: ; 0xa8720 GFX_a8800: INCBIN "gfx/unknown/a8800.interleave.w32.2bpp" - dr $a8980, $a8a00 PinballGreatballGfx: ; 0xa8a00 @@ -43632,7 +43257,6 @@ SeafoamIslandsBillboardBGPaletteMap: ; 0xabc68 db $7, $7, $6, $7, $7, $7 db $7, $7, $7, $6, $7, $7 db $7, $7, $7, $7, $7, $7 - dr $abc80, $abf00 BulbasaurAnimatedObjPalette1: ; 0xabf00 @@ -43821,7 +43445,6 @@ Data_ad800: StageBlueFieldBottomCollisionMasks: ; 0xaf000 INCBIN "data/collision/masks/blue_stage_bottom.masks" - dr $af800, $af900 DiglettBonusDugtrio3Gfx: ; 0xaf900 @@ -43834,12 +43457,10 @@ DiglettBonusDugtrio4Gfx: ; 0xafd60 INCBIN "gfx/stage/diglett_bonus/dugtrio_4.2bpp" SECTION "bank2c", ROMX, BANK[$2c] - dr $b0000, $b3000 StageRedFieldTopCollisionAttributes6: ; 0xb3000 INCBIN "data/collision/maps/red_stage_top_6.collision" - dr $b3400, $b3800 FieldSelectTilemap: ; 0xb3800 @@ -43916,12 +43537,10 @@ OptionMenuBGMSETextGfx: ; 0xb6b10 StageRedFieldTopCollisionAttributes5: ; 0xb6c00 INCBIN "data/collision/maps/red_stage_top_5.collision" - dr $b7000, $b7400 StageRedFieldTopCollisionAttributes4: ; 0xb7400 INCBIN "data/collision/maps/red_stage_top_4.collision" - dr $b7800, $b7c00 PidgeottoBillboardBGPaletteMap: ; 0xb7c00 @@ -44019,39 +43638,32 @@ NidoranMBillboardBGPaletteMap: ; 0xb7d68 db $7, $7, $7, $7, $7, $7 db $7, $7, $7, $7, $7, $7 db $7, $7, $7, $7, $7, $7 - dr $b7d80, $b8000 ; 0xb7d80 SECTION "bank2e", ROMX, BANK[$2e] StageRedFieldTopCollisionAttributes3: ; 0xb8000 INCBIN "data/collision/maps/red_stage_top_3.collision" - dr $b8400, $b8800 StageRedFieldTopCollisionAttributes2: ; 0xb8800 INCBIN "data/collision/maps/red_stage_top_2.collision" - dr $b8c00, $b9000 StageRedFieldTopCollisionAttributes1: ; 0xb9000 INCBIN "data/collision/maps/red_stage_top_1.collision" - dr $b9400, $b9800 StageRedFieldTopCollisionAttributes0: ; 0xb9800 INCBIN "data/collision/maps/red_stage_top_0.collision" - dr $b9c00, $ba000 StageRedFieldTopTilemap_GameBoy: ; 0xba000 INCBIN "gfx/tilemaps/stage_red_field_top_gameboy.map" - dr $ba400, $ba800 StageRedFieldBottomTilemap_GameBoy: ; 0xba800 INCBIN "gfx/tilemaps/stage_red_field_bottom_gameboy.map" - dr $bac00, $bb000 StageRedFieldTopCollisionMasks0: ; 0xbb000 @@ -44070,12 +43682,10 @@ StageRedFieldTopCollisionMasks3: ; 0xbc800 StageRedFieldTopCollisionAttributes7: ; 0xbd000 INCBIN "data/collision/maps/red_stage_top_7.collision" - dr $bd400, $bd800 StageRedFieldBottomCollisionAttributes: ; 0xbd800 INCBIN "data/collision/maps/red_stage_bottom.collision" - dr $bdc00, $be000 StageRedFieldTopTilemap_GameBoyColor: ; 0xbe000 @@ -44092,7 +43702,6 @@ StageRedFieldBottomTilemap2_GameBoyColor: ; 0xbec00 StageBlueFieldTopTilemap_GameBoy: ; 0xbf000 INCBIN "gfx/tilemaps/stage_blue_field_top_gameboy.map" - dr $bf400, $bf800 EraseAllDataTilemap: ; 0xbf800 @@ -44104,7 +43713,6 @@ SECTION "bank30", ROMX, BANK[$30] StageBlueFieldBottomTilemap_GameBoy: ; 0xc0000 INCBIN "gfx/tilemaps/stage_blue_field_bottom_gameboy.map" - dr $c0400, $c0800 StageBlueFieldTopCollisionMasks: ; 0xc0800 @@ -44112,7 +43720,6 @@ StageBlueFieldTopCollisionMasks: ; 0xc0800 StageBlueFieldTopCollisionAttributesBallEntrance: ; 0xc1000 INCBIN "data/collision/maps/blue_stage_top_ball_entrance.collision" - dr $c1400, $c1800 HighScoresTilemap2: ; 0xc1800 @@ -44126,34 +43733,28 @@ HighScoresTilemap4: ; 0xc2400 StageBlueFieldTopCollisionAttributes: ; 0xc2800 INCBIN "data/collision/maps/blue_stage_top.collision" - dr $c2c00, $c3000 OptionMenuTilemap2: ; 0xc3000 INCBIN "gfx/tilemaps/option_menu_2.map" - dr $c3240, $c3400 OptionMenuTilemap4: ; 0xc3400 INCBIN "gfx/tilemaps/option_menu_4.map" - dr $c3640, $c3800 OptionMenuTilemap: ; 0xc3800 INCBIN "gfx/tilemaps/option_menu.map" - dr $c3a40, $c3c00 OptionMenuTilemap3: ; 0xc3c00 INCBIN "gfx/tilemaps/option_menu_3.map" - dr $c3e40, $c4000 SECTION "bank31", ROMX, BANK[$31] StageBlueFieldBottomCollisionAttributes: ; 0xc4000 INCBIN "data/collision/maps/blue_stage_bottom.collision" - dr $c4400, $c4800 Data_c4800: @@ -44178,7 +43779,6 @@ TitlescreenTilemap: ; 0xc5800 INCBIN "gfx/tilemaps/titlescreen.map" TitlescreenBGAttributes: ; 0xc5c00 INCBIN "gfx/bgattr/titlescreen.bgattr" - dr $c5e40, $c6000 CopyrightScreenTilemap: ; 0xc6000 @@ -44203,12 +43803,10 @@ SECTION "bank32", ROMX, BANK[$32] StageGengarBonusCollisionAttributes: ; 0xc8000 INCBIN "data/collision/maps/gengar_bonus.collision" - dr $c8400, $c8800 GengarBonusTilemap_GameBoy: ; 0xc8800 INCBIN "gfx/tilemaps/stage_gengar_bonus_gameboy.map" - dr $c8c00, $c9000 GengarBonusBottomTilemap_GameBoyColor: ; 0xc9000 @@ -44224,22 +43822,18 @@ MewtwoBonus2Gfx: ; 0xc9c00 INCBIN "gfx/stage/mewtwo_bonus/mewtwo_2.2bpp" MewtwoBonus4Gfx: ; 0xc9c60 INCBIN "gfx/stage/mewtwo_bonus/mewtwo_4.2bpp" - dr $c9f00, $ca000 StageMewtwoBonusCollisionAttributesBallEntrance: ; 0xca000 INCBIN "data/collision/maps/mewtwo_bonus_ball_entrance.collision" - dr $ca400, $ca800 StageMewtwoBonusCollisionAttributes: ; 0xca800 INCBIN "data/collision/maps/mewtwo_bonus.collision" - dr $cac00, $cb000 MewtwoBonusTilemap_GameBoy: ; 0xcb000 INCBIN "gfx/tilemaps/stage_mewtwo_bonus_gameboy.map" - dr $cb400, $cb800 MewtoBonusBottomTilemap_GameBoyColor: ; 0xcb800 @@ -44257,22 +43851,18 @@ MeowthBonusMeowth2Gfx: ; 0xcc400 INCBIN "gfx/stage/meowth_bonus/meowth_2.2bpp" MeowthBonusMeowth4Gfx: ; 0xcc460 INCBIN "gfx/stage/meowth_bonus/meowth_4.2bpp" - dr $cc7c0, $cc800 StageMeowthBonusCollisionAttributesBallEntrance: ; 0xcc800 INCBIN "data/collision/maps/meowth_bonus_ball_entrance.collision" - dr $ccc00, $cd000 StageMeowthBonusCollisionAttributes: ; 0xcd000 INCBIN "data/collision/maps/meowth_bonus.collision" - dr $cd400, $cd800 MeowthBonusTilemap_GameBoy: ; 0xcd800 INCBIN "gfx/tilemaps/stage_meowth_bonus_gameboy.map" - dr $cdc00, $ce000 MeowthBonusTilemap_GameBoyColor: ; 0xce000 @@ -44282,17 +43872,14 @@ MeowthBonusTilemap2_GameBoyColor: ; 0xce400 StageDiglettBonusCollisionAttributesBallEntrance: ; 0xce800 INCBIN "data/collision/maps/diglett_bonus_ball_entrance.collision" - dr $cec00, $cf000 StageDiglettBonusCollisionAttributes: ; 0xcf000 INCBIN "data/collision/maps/diglett_bonus.collision" - dr $cf400, $cf800 DiglettBonusTilemap_GameBoy: ; 0xcf800 INCBIN "gfx/tilemaps/stage_diglett_bonus_gameboy.map" - dr $cfc00, $d0000 SECTION "bank34", ROMX, BANK[$34] @@ -44458,31 +44045,26 @@ VulpixAnimatedCollisionMask: ; 0xd06700 INCBIN "data/collision/mon_masks/vulpix_collision.1bpp" JigglypuffAnimatedCollisionMask: ; 0xd06780 INCBIN "data/collision/mon_masks/jigglypuff_collision.1bpp" - dr $d2800, $d3000 DiglettBonusTilemap_GameBoyColor: ; 0xd3000 INCBIN "gfx/tilemaps/stage_diglett_bonus_gameboycolor.map" DiglettBonusTilemap2_GameBoyColor: ; 0xd3400 INCBIN "gfx/tilemaps/stage_diglett_bonus_gameboycolor_2.map" - dr $d3800, $d4000 SECTION "bank35", ROMX, BANK[$35] StageSeelBonusCollisionAttributesBallEntrance: ; 0xd4000 INCBIN "data/collision/maps/seel_bonus_ball_entrance.collision" - dr $d4400, $d4800 StageSeelBonusCollisionAttributes: ; 0xd4800 INCBIN "data/collision/maps/seel_bonus.collision" - dr $d4c00, $d5000 SeelBonusTilemap_GameBoy: ; 0xd5000 INCBIN "gfx/tilemaps/stage_seel_bonus_gameboy.map" - dr $d5400, $d5800 SeelBonusTilemap_GameBoyColor: ; 0xd5800 @@ -44492,17 +44074,14 @@ SeelBonusTilemap2_GameBoyColor: ; 0xd5c00 Alphabet1Gfx: ; 0xd6000 INCBIN "gfx/stage/alphabet_1.2bpp" - dr $d61a0, $d61c0 GFX_d61c0: INCBIN "gfx/stage/e_acute_mono.2bpp" - dr $d61d0, $d6200 Alphabet2Gfx: ; 0xd6200 INCBIN "gfx/stage/alphabet_2.2bpp" - dr $d63a0, $d63c0 GFX_d63c0: @@ -44511,7 +44090,6 @@ GFX_d63c0: InGameMenuSymbolsGfx: ; 0xd6450 INCBIN "gfx/stage/menu_symbols.2bpp" - dr $d6490, $d6600 StageBlueFieldTopGfx3: ; 0xd6600 @@ -44621,7 +44199,6 @@ VenonatBillboardBGPaletteMap: ; 0xd7368 db $6, $6, $6, $6, $6, $6 db $6, $6, $6, $6, $6, $6 db $6, $6, $6, $6, $6, $6 - dr $d7380, $d7600 VenomothBillboardBGPaletteMap: ; 0xd7600 @@ -44719,7 +44296,6 @@ KadabraBillboardBGPaletteMap: ; 0xd7768 db $6, $7, $6, $6, $6, $6 db $6, $7, $6, $6, $6, $6 db $6, $6, $6, $6, $6, $6 - dr $d7780, $d7a00 AlakazamBillboardBGPaletteMap: ; 0xd7a00 @@ -44817,11 +44393,9 @@ SlowbroBillboardBGPaletteMap: ; 0xd7b68 db $6, $6, $6, $6, $6, $6 db $6, $6, $6, $6, $6, $6 db $6, $6, $6, $6, $6, $6 - dr $d7b80, $d8000 SECTION "bank36", ROMX, BANK[$36] - dr $d8000, $d8400 MagnemiteBillboardBGPaletteMap: ; 0xd8400 @@ -44919,7 +44493,6 @@ DrowzeeBillboardBGPaletteMap: ; 0xd8568 db $6, $6, $6, $6, $6, $6 db $6, $6, $6, $6, $6, $6 db $6, $6, $6, $6, $6, $6 - dr $d8580, $d8800 HypnoBillboardBGPaletteMap: ; 0xd8800 @@ -45017,17 +44590,14 @@ RhydonBillboardBGPaletteMap: ; 0xd8968 db $6, $6, $6, $6, $6, $6 db $6, $6, $6, $6, $6, $6 db $6, $6, $6, $6, $6, $6 - dr $d8980, $d8c00 SaverTextOffGfx: ; 0xd8c00 INCBIN "gfx/stage/saver_off.2bpp" - dr $d8c40, $d8c80 CatchTextGfx: INCBIN "gfx/stage/catch.w48.2bpp" - dr $d8ce0, $d8e80 Data_d8e80: @@ -45134,7 +44704,6 @@ ArticunoBillboardBGPaletteMap: ; 0xd9568 db $6, $6, $6, $6, $6, $6 db $6, $6, $6, $6, $6, $6 db $6, $6, $6, $6, $6, $6 - dr $d9580, $d9800 ZapdosBillboardBGPaletteMap: ; 0xd9800 @@ -45178,7 +44747,6 @@ MewBillboardBGPaletteMap: ; 0xd9890 db $6, $6, $7, $7, $6, $6 db $6, $6, $6, $6, $6, $6 db $6, $6, $6, $6, $6, $6 - dr $d98a8, $d9c00 UnusedTextGfx: ; 0xd9c00 @@ -45282,7 +44850,6 @@ TaurosBillboardBGPaletteMap: ; 0xda568 db $7, $7, $6, $7, $7, $7 db $6, $7, $6, $6, $6, $6 db $6, $6, $6, $6, $6, $6 - dr $da580, $da800 BulbasaurBillboardBGPaletteMap: ; 0xda800 @@ -45380,12 +44947,10 @@ PidgeyBillboardBGPaletteMap: ; 0xda968 db $7, $7, $7, $7, $7, $7 db $7, $7, $7, $7, $7, $7 db $7, $7, $7, $7, $7, $7 - dr $da980, $dac00 StageSharedBonusSlotGlowGfx: ; 0xdac00 INCBIN "gfx/stage/shared/bonus_slot_glow.2bpp" - dr $dad60, $dade0 StageSharedBonusSlotGlow2Gfx: ; 0xdade0 @@ -45393,12 +44958,10 @@ StageSharedBonusSlotGlow2Gfx: ; 0xdade0 StageRedFieldTopGfx5: ; 0xdae00 INCBIN "gfx/stage/red_top/red_top_5.2bpp" - dr $db000, $db200 TimerDigitsGfx: ; 0xdb200 INCBIN "gfx/stage/timer_digits.2bpp" - dr $db360, $db600 StageGengarBonusCollisionMasks: ; 0xdb600 @@ -46110,7 +45673,6 @@ NidoranMBillboardBGPalette2: ; 0xdbb78 StageRedFieldTopGfx6: ; 0xdbb80 INCBIN "gfx/stage/red_top/red_top_6.2bpp" - dr $dbbc0, $dbc80 StageMewtwoBonusCollisionMasks: ; 0xdbc80 @@ -46280,7 +45842,6 @@ MewAnimatedObjPalette2: ; 0xdbe68 RGB 31, 19, 27 RGB 23, 8, 17 RGB 0, 0, 0 - dr $dbe70, $dbe80 Data_dbe80: @@ -46290,7 +45851,6 @@ SECTION "bank37", ROMX, BANK[$37] StageSharedArrowsGfx: ; 0xdc000 INCBIN "gfx/stage/shared/arrows.2bpp" - dr $dc080, $dc100 NidorinoBillboardBGPalette1: ; 0xdc100 @@ -47252,7 +46812,6 @@ MewBillboardBGPalette2: ; 0xdc768 RGB 31, 18, 24 RGB 0, 10, 31 RGB 0, 0, 0 - dr $dc770, $dc880 SeelBonusPalettes: ; 0xdc880 @@ -47337,7 +46896,6 @@ SeelBonusOBJPalette7: ; 0xdc8f8 RGB 20, 20, 20 RGB 8, 8, 8 RGB 0, 0, 0 - dr $dc900, $dc980 StageRedFieldTopPalettes: ; 0xdc980 @@ -47820,7 +47378,6 @@ PaletteData_dcc60: ; 0xdcc60 RGB 20, 20, 26 RGB 31, 11, 10 RGB 0, 0, 0 - dr $dcc68, $dcc80 MeowthBonusPalettes: ; 0xdcc80 @@ -48585,7 +48142,6 @@ Data_dd188: dr $dd188, $e0000 SECTION "bank38", ROMX, BANK[$38] - dr $e0000, $e4000 ; 0xe0000 SECTION "bank39", ROMX, BANK[$39] @@ -48626,7 +48182,6 @@ TiltUpLeftForce: INCBIN "data/tilt/up_left" TiltLeftOnlyForce: INCBIN "data/tilt/left_only" - dr $f3800, $f4000 ; 0xf0000 SECTION "bank3d", ROMX, BANK[$3d] @@ -48646,4 +48201,3 @@ SECTION "bank3f", ROMX, BANK[$3f] FlipperVerticalCollisionAttributes2: ; 0xfc000 INCBIN "data/collision/flippers/vertical_attributes_1" - diff --git a/wram.asm b/wram.asm index 0b737a1..a9c85b9 100755 --- a/wram.asm +++ b/wram.asm @@ -900,7 +900,7 @@ wd61d:: ; 0xd61d wd61e:: ; 0xd61e ds $1 -wd61f:: ; 0xd61f +wCurSlotBonus:: ; 0xd61f ds $1 wd620:: ; 0xd620 -- cgit v1.2.3 From c22999382c6d0e803eb10d5e016a8ac0127e33f8 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 19 Jan 2017 14:35:24 -0500 Subject: Coord macros --- home.asm | 4 +- macros.asm | 10 ++- main.asm | 261 ++++++++++++++++++++++++++----------------------------------- wram.asm | 5 +- 4 files changed, 124 insertions(+), 156 deletions(-) diff --git a/home.asm b/home.asm index f683ad3..c6a3de1 100755 --- a/home.asm +++ b/home.asm @@ -6147,7 +6147,7 @@ Func_3500: ld [hl], a ld bc, wd464 ldh [hFarCallTempA], a - callba AddBCDScore + callba AddBigBCD6FromQueueWithBallMultiplier ret Func_351c: ; 0x351c @@ -6165,7 +6165,7 @@ Func_351c: ; 0x351c ld [hl], a ld bc, wd464 ld [hFarCallTempA], a - callba Func_8588 + callba AddBigBCD6FromQueue ret Func_3538: ; 0x3538 diff --git a/macros.asm b/macros.asm index 7f2b778..acbcbde 100755 --- a/macros.asm +++ b/macros.asm @@ -96,10 +96,16 @@ ENDM ;\1 = X ;\2 = Y ;\3 = Reference Background Map (e.g. vBGMap0 or vBGMap1) -hlCoord: MACRO - ld hl, \3 + $20 * \2 + \1 +coord: MACRO + ld \1, \4 + $20 * \3 + \2 ENDM +hlCoord EQUS "coord hl," +deCoord EQUS "coord de," +bcCoord EQUS "coord bc," + +tile EQUS "+ $10 *" + ;\1 = 5-bit Blue value ;\2 = 5-bit Green value ;\3 = 5-bit Red value diff --git a/main.asm b/main.asm index 4c27dab..0371b15 100755 --- a/main.asm +++ b/main.asm @@ -4239,7 +4239,7 @@ Func_8543: ; 0x8543 Func_8569: xor a - ld hl, wd400 + ld hl, wAddScoreQueue ld b, $31 .asm_856f ld [hli], a @@ -4249,12 +4249,12 @@ Func_8569: ld [hli], a ret -AddBCDScore: ; 0x8576 +AddBigBCD6FromQueueWithBallMultiplier: ; 0x8576 ld h, b ld l, c - ld a, [wd477] + ld a, [wAddScoreQueueOffset] ld e, a - ld d, $d4 + ld d, wAddScoreQueue / $100 ld a, [wBallType] and a jr nz, .asm_8585 @@ -4263,61 +4263,39 @@ AddBCDScore: ; 0x8576 ld b, a jr asm_8592 -Func_8588: ; 0x8588 +AddBigBCD6FromQueue: ; 0x8588 ld h, b ld l, c - ld a, [wd477] + ld a, [wAddScoreQueueOffset] ld e, a - ld d, wd400 / $100 + ld d, wAddScoreQueue / $100 ld b, $1 asm_8592: push hl +x = 0 +rept 6 ld a, [de] +if x == 0 add [hl] - daa - ld [de], a - inc de - inc hl - ld a, [de] - adc [hl] - daa - ld [de], a - inc de - inc hl - ld a, [de] - adc [hl] - daa - ld [de], a - inc de - inc hl - ld a, [de] - adc [hl] - daa - ld [de], a - inc de - inc hl - ld a, [de] - adc [hl] - daa - ld [de], a - inc de - inc hl - ld a, [de] +else adc [hl] +endc daa ld [de], a inc de inc hl +x = x + 1 +endr ld a, e - cp $60 - jr nz, .asm_85be - ld e, $0 -.asm_85be + cp wAddScoreQueueEnd % $100 + jr nz, .okay + ld e, wAddScoreQueue % $100 +.okay pop hl dec b jr nz, asm_8592 ld a, e - ld [wd477], a + ld [wAddScoreQueueOffset], a ret Func_85c7: ; 0x85c7 @@ -4326,9 +4304,9 @@ Func_85c7: ; 0x85c7 ret nz ld a, [wd478] ld l, a - ld h, wd400 / $100 + ld h, wAddScoreQueue / $100 ld de, wScore - ld a, [wd477] + ld a, [wAddScoreQueueOffset] cp l jr nz, .asm_85de ld [wd479], a @@ -4345,12 +4323,12 @@ Func_85c7: ; 0x85c7 inc hl or [hl] pop hl - jr nz, .asm_85f3 + jr nz, .value_is_nonzero ld a, [wd479] ld [wd478], a ret -.asm_85f3 +.value_is_nonzero ld a, [de] add [hl] daa @@ -7731,12 +7709,12 @@ Func_ccb6: ; 0xccb6 call CopyInitialHighScores ld a, BANK(HighScoresTilemap) ld hl, HighScoresTilemap + $40 - ld de, $9840 + deCoord 0, 2, vBGMap0 ld bc, $01c0 call LoadVRAMData ld a, BANK(HighScoresTilemap2) ld hl, HighScoresTilemap2 + $40 - ld de, $9c40 + deCoord 0, 2, vBGMap1 ld bc, $01c0 call LoadVRAMData hlCoord 0, 14, vBGMap0 @@ -8965,22 +8943,22 @@ Func_d57b: ; 0xd57b rst AdvanceFrame ld a, BANK(HighScoresTilemap) ld hl, HighScoresTilemap - ld de, $9800 + deCoord 0, 0, vBGMap0 ld bc, $0040 call LoadVRAMData ld a, BANK(HighScoresTilemap) ld hl, HighScoresTilemap + $200 - ld de, $9a00 + deCoord 0, 16, vBGMap0 ld bc, $0040 call LoadVRAMData ld a, BANK(HighScoresTilemap2) ld hl, HighScoresTilemap2 - ld de, $9c00 + deCoord 0, 0, vBGMap1 ld bc, $0040 call LoadVRAMData ld a, BANK(HighScoresTilemap2) ld hl, HighScoresTilemap2 + $200 - ld de, $9e00 + deCoord 0, 16, vBGMap1 ld bc, $0040 call LoadVRAMData ld b, $10 @@ -9010,22 +8988,22 @@ Func_d5d0: ; 0xd5d0 jr nz, .asm_d5d2 ld a, BANK(HighScoresTilemap) ld hl, HighScoresTilemap + $3c0 - ld de, $9800 + deCoord 0, 0, vBGMap0 ld bc, $0040 call LoadVRAMData ld a, BANK(HighScoresTilemap) ld hl, HighScoresTilemap + $280 - ld de, $9a00 + deCoord 0, 16, vBGMap0 ld bc, $0040 call LoadVRAMData ld a, BANK(HighScoresTilemap2) ld hl, HighScoresTilemap2 + $3c0 - ld de, $9c00 + deCoord 0, 0, vBGMap1 ld bc, $0040 call LoadVRAMData ld a, BANK(HighScoresTilemap2) ld hl, HighScoresTilemap2 + $280 - ld de, $9e00 + deCoord 0, 16, vBGMap1 ld bc, $0040 call LoadVRAMData ld bc, $0009 @@ -12259,7 +12237,7 @@ UpgradeBallBlueField: ; 0xf040 call PlaySoundEffect ld bc, OneMillionPoints ld [hFarCallTempA], a - callba Func_8588 + callba AddBigBCD6FromQueue ld bc, $100 ld de, $0000 push bc @@ -12840,7 +12818,7 @@ Func_f676: ; 0xf676 ld [wd482], a ld hl, wd48f ld de, wd489 - call Func_f902 + call AddBigBCD6 jr .asm_f6c7 .asm_f709 @@ -12894,7 +12872,7 @@ Func_f70d: ; 0xf70d .asm_f76c ld hl, wScore ld de, wd48f - call Func_f902 + call AddBigBCD6 ld hl, wd46f ld de, wcBottomMessageText + $66 call Func_f8bd @@ -13087,7 +13065,7 @@ Func_f853: ; 0xf853 push de push hl ld hl, wd483 - call Func_f902 + call AddBigBCD6 pop hl pop de jr .asm_f85b @@ -13095,7 +13073,7 @@ Func_f853: ; 0xf853 .asm_f899 ld hl, wd489 ld de, wd483 - call Func_f902 + call AddBigBCD6 ld hl, wd48e ld de, wcBottomMessageText + $86 call Func_f8bd @@ -13166,37 +13144,20 @@ Func_f8d5: ; 0xf8d5 pop de ret -Func_f902: ; 0xf902 +AddBigBCD6: ; 0xf902 +x = 0 +rept 6 ld a, [de] +if x == 0 add [hl] - daa - ld [hli], a - inc de - ld a, [de] - adc [hl] - daa - ld [hli], a - inc de - ld a, [de] - adc [hl] - daa - ld [hli], a - inc de - ld a, [de] - adc [hl] - daa - ld [hli], a - inc de - ld a, [de] - adc [hl] - daa - ld [hli], a - inc de - ld a, [de] +else adc [hl] +endc +x = x + 1 daa ld [hli], a inc de +endr ret PointsData_f921: ; 0xf921 @@ -13557,7 +13518,7 @@ StartCatchEmMode: ; 0x1003f call LoadOrCopyVRAMData ld a, $0 ld hl, Data_2898 - ld de, $9906 + deCoord 6, 8, vBGMap0 ld bc, $0008 call LoadOrCopyVRAMData .asm_1011d @@ -14633,7 +14594,7 @@ Func_10825: ; 0x10825 Func_10848: ; 0x10848 ld bc, OneHundredMillionPoints ld [hFarCallTempA], a - callba Func_8588 + callba AddBigBCD6FromQueue call Func_30e8 call Func_30db ld hl, wd5d4 @@ -15019,7 +14980,7 @@ Func_10b59: ; 0x10b59 call LoadVRAMData ld a, $0 ld hl, wcBottomMessageText - ld de, $9c00 + deCoord 0, 0, vBGMap1 ld bc, $00c0 call LoadVRAMData ret @@ -15194,7 +15155,7 @@ Func_10c38: ; 0x10c38 .asm_10c96 ld a, $0 ld hl, wcBottomMessageText - ld de, $9c00 + deCoord 0, 0, vBGMap1 ld bc, $00c0 call LoadVRAMData ret @@ -15392,7 +15353,7 @@ Func_10d1d: ; 0x10d1d call LoadOrCopyVRAMData ld a, $0 ld hl, Data_2898 - ld de, $9906 + deCoord 6, 8, vBGMap0 ld bc, $0008 call LoadOrCopyVRAMData .asm_10e09 @@ -15475,7 +15436,7 @@ Func_10e0a: ; 0x10e0a Func_10e8b: ; 0x10e8b ld bc, OneMillionPoints ld [hFarCallTempA], a - callba Func_8588 + callba AddBigBCD6FromQueue ld bc, $0100 ld de, $0000 push bc @@ -18153,7 +18114,7 @@ Func_14707: ; 0x14707 jr nz, .asm_1471c ld a, BANK(Data_1172b) ld hl, Data_1172b - ld de, $99a8 + deCoord 8, 13, vBGMap0 ld bc, $0004 call LoadOrCopyVRAMData ret @@ -18161,7 +18122,7 @@ Func_14707: ; 0x14707 .asm_1471c ld a, BANK(Data_1472f) ld hl, Data_1472f - ld de, $99a8 + deCoord 8, 13, vBGMap0 ld bc, $0004 call LoadOrCopyVRAMData ret @@ -18487,7 +18448,7 @@ Func_1496d: ; 0x1496d ld [wd7eb], a ld bc, FiveHundredPoints ld [hFarCallTempA], a - callba AddBCDScore + callba AddBigBCD6FromQueueWithBallMultiplier ld de, $000f call PlaySoundEffect ret @@ -18602,7 +18563,7 @@ Func_14d85: ; 0x14d85 callba Func_10000 ld bc, FiveHundredPoints ld [hFarCallTempA], a - callba AddBCDScore + callba AddBigBCD6FromQueueWithBallMultiplier ret .asm_14db9 @@ -18711,7 +18672,7 @@ Func_14e10: ; 0x14e10 ret z ld bc, TenPoints ld [hFarCallTempA], a - callba AddBCDScore + callba AddBigBCD6FromQueueWithBallMultiplier ld hl, wd62d call Func_e4a ld a, [wd517] @@ -18800,7 +18761,7 @@ Func_151cb: ; 0x151cb ret nz ld bc, OneHundredPoints ld [hFarCallTempA], a - callba AddBCDScore + callba AddBigBCD6FromQueueWithBallMultiplier ld hl, wd50f ld a, [hli] and [hl] @@ -18815,7 +18776,7 @@ Func_151cb: ; 0x151cb ld [wd514], a ld bc, FourHundredPoints ld [hFarCallTempA], a - callba AddBCDScore + callba AddBigBCD6FromQueueWithBallMultiplier ld de, $0009 call PlaySoundEffect ld hl, wd62c @@ -18998,7 +18959,7 @@ Func_1535d: ; 0x1535d ret nz ld bc, OneHundredPoints ld [hFarCallTempA], a - callba AddBCDScore + callba AddBigBCD6FromQueueWithBallMultiplier ld hl, wd5f9 ld a, [hli] and [hl] @@ -19021,7 +18982,7 @@ Func_1535d: ; 0x1535d ld [wBallTypeCounter + 1], a ld bc, FourHundredPoints ld [hFarCallTempA], a - callba AddBCDScore + callba AddBigBCD6FromQueueWithBallMultiplier ld a, [wBallType] cp MASTER_BALL jr z, .masterBall @@ -19048,7 +19009,7 @@ Func_1535d: ; 0x1535d call PlaySoundEffect ld bc, OneMillionPoints ld [hFarCallTempA], a - callba Func_8588 + callba AddBigBCD6FromQueue ld bc, $0100 ld de, $0000 push bc @@ -19317,7 +19278,7 @@ Func_1581f: ; 0x1581f ld [wd51f], a ld bc, FivePoints ld [hFarCallTempA], a - callba AddBCDScore + callba AddBigBCD6FromQueueWithBallMultiplier ld a, [wd520] sub $11 ld c, a @@ -19590,7 +19551,7 @@ Func_15e93: ; 0x15e93 ld [wd4fb], a ld bc, TenThousandPoints ld [hFarCallTempA], a - callba AddBCDScore + callba AddBigBCD6FromQueueWithBallMultiplier ld de, $0005 call PlaySoundEffect ld hl, BellsproutAnimationData @@ -19789,7 +19750,7 @@ Func_160f0: ; 0x160f0 ld [wd5fe], a ld bc, TenThousandPoints ld [hFarCallTempA], a - callba AddBCDScore + callba AddBigBCD6FromQueueWithBallMultiplier ld de, $0021 call PlaySoundEffect xor a @@ -20509,7 +20470,7 @@ Func_1669e: ; 0x1669e ld [wd549], a ld bc, FiveThousandPoints ld [hFarCallTempA], a - callba AddBCDScore + callba AddBigBCD6FromQueueWithBallMultiplier xor a ld [wd51c], a ret @@ -20590,7 +20551,7 @@ Func_16781: ; 0x16781 jr nz, .asm_167c2 ld bc, FiveThousandPoints ld [hFarCallTempA], a - callba AddBCDScore + callba AddBigBCD6FromQueueWithBallMultiplier ld a, [wd502] xor $1 set 1, a @@ -20643,7 +20604,7 @@ Func_167ff: ; 0x167ff jr nz, .asm_1683e ld bc, FiveThousandPoints ld [hFarCallTempA], a - callba AddBCDScore + callba AddBigBCD6FromQueueWithBallMultiplier ld a, [wd502] xor $1 ld [wd502], a @@ -20852,7 +20813,7 @@ Func_16d9d: ; 016d9d .asm_16e35 ld bc, TenPoints ld [hFarCallTempA], a - callba AddBCDScore + callba AddBigBCD6FromQueueWithBallMultiplier ld a, [wd60c] call Func_16f28 ld a, [wd60d] @@ -22327,7 +22288,7 @@ Func_18464: ; 0x18464 ld [wd67b], a ld bc, OneHundredThousandPoints ld [hFarCallTempA], a - callba Func_8588 + callba AddBigBCD6FromQueue ld a, $33 ld [wd803], a ld a, $8 @@ -22547,7 +22508,7 @@ Func_1860b: ; 0x1860b ld [wd695], a ld bc, FiveHundredThousandPoints ld [hFarCallTempA], a - callba Func_8588 + callba AddBigBCD6FromQueue ld a, $33 ld [wd803], a ld a, $8 @@ -22788,7 +22749,7 @@ Func_187b1: ; 0x187b1 .asm_18826 ld bc, FiveMillionPoints ld [hFarCallTempA], a - callba Func_8588 + callba AddBigBCD6FromQueue ld a, $33 ld [wd803], a ld a, $8 @@ -23120,7 +23081,7 @@ Func_18d34: ; 0x18d34 jr nz, .asm_18d71 ld bc, OneHundredPoints ld [hFarCallTempA], a - callba Func_8588 + callba AddBigBCD6FromQueue ld a, $ff ld [wd803], a ld a, $3 @@ -23907,7 +23868,7 @@ Func_19531: ; 0x19531 jr nc, .asm_195a2 ld bc, FiveMillionPoints ld [hFarCallTempA], a - callba Func_8588 + callba AddBigBCD6FromQueue ld a, [wd6b0] inc a cp $3 @@ -24141,7 +24102,7 @@ Func_19701: ; 0x19701 call Func_19876 ld bc, OneHundredThousandPoints ld [hFarCallTempA], a - callba Func_8588 + callba AddBigBCD6FromQueue ld de, $0038 call PlaySoundEffect .asm_19742 @@ -24679,7 +24640,7 @@ Func_19c52: ; 0x19c52 ld [wd73b], a ld bc, OneHundredThousandPoints ld [hFarCallTempA], a - callba Func_8588 + callba AddBigBCD6FromQueue ld de, $0035 call PlaySoundEffect ld hl, $0100 @@ -24989,7 +24950,7 @@ Func_1aad4: ; 0x1aad4 call CopyHLToDE ld bc, FiveMillionPoints ld [hFarCallTempA], a - callba Func_8588 + callba AddBigBCD6FromQueue ld de, $0036 call PlaySoundEffect ld a, $33 @@ -26438,7 +26399,7 @@ Func_1c9c1: ; 0x1c9c1 callba Func_10000 ld bc, FiveHundredPoints ld [hFarCallTempA], a - callba AddBCDScore + callba AddBigBCD6FromQueueWithBallMultiplier ret .asm_1ca19 @@ -26560,7 +26521,7 @@ Func_1ca85: ; 0x1ca85 ret z ld bc, TenPoints ld [hFarCallTempA], a - callba AddBCDScore + callba AddBigBCD6FromQueueWithBallMultiplier ld hl, wd62d call Func_e4a ld a, [wd517] @@ -26721,7 +26682,7 @@ Func_1cfaa: ; 0x1cfaa ld [wd51f], a ld bc, FivePoints ld [hFarCallTempA], a - callba AddBCDScore + callba AddBigBCD6FromQueueWithBallMultiplier ld a, [wStageCollisionState] cp $0 jr nz, .asm_1cfe5 @@ -26952,7 +26913,7 @@ Func_1d133: ; 0x1d133 ld [wd549], a ld bc, FiveThousandPoints ld [hFarCallTempA], a - callba AddBCDScore + callba AddBigBCD6FromQueueWithBallMultiplier xor a ld [wd51c], a ret @@ -27030,7 +26991,7 @@ Func_1d216: ; 0x1d216 ld [wd630], a ld bc, TenThousandPoints ld [hFarCallTempA], a - callba AddBCDScore + callba AddBigBCD6FromQueueWithBallMultiplier ld de, $0005 call PlaySoundEffect ld hl, Data_1d312 @@ -27144,7 +27105,7 @@ HandleEnteringCloyster: ; 0x1d32d ld [wd635], a ld bc, TenThousandPoints ld [hFarCallTempA], a - callba AddBCDScore + callba AddBigBCD6FromQueueWithBallMultiplier ld de, $0005 call PlaySoundEffect ld hl, Data_1d41d @@ -27336,7 +27297,7 @@ Func_1d438: ; 0x1d438 asm_1d4fa: ; 0x1d4fa ld bc, TenPoints ld [hFarCallTempA], a - callba AddBCDScore + callba AddBigBCD6FromQueueWithBallMultiplier ld a, [wd60c] call Func_1d5f2 ld a, [wd60d] @@ -27922,7 +27883,7 @@ Func_1de22: ; 0x1de22 ld [wd7eb], a ld bc, FiveHundredPoints ld [hFarCallTempA], a - callba AddBCDScore + callba AddBigBCD6FromQueueWithBallMultiplier ld de, $000f call PlaySoundEffect ret @@ -28170,7 +28131,7 @@ Func_1e356: ; 0x1e356 .asm_1e3bf ld bc, OneHundredPoints ld [hFarCallTempA], a - callba AddBCDScore + callba AddBigBCD6FromQueueWithBallMultiplier ld hl, wd5f9 ld a, [hli] and [hl] @@ -28193,7 +28154,7 @@ Func_1e356: ; 0x1e356 ld [wBallTypeCounter + 1], a ld bc, FourHundredPoints ld [hFarCallTempA], a - callba AddBCDScore + callba AddBigBCD6FromQueueWithBallMultiplier ld a, [wBallType] cp MASTER_BALL jr z, .masterBall @@ -28220,7 +28181,7 @@ Func_1e356: ; 0x1e356 call PlaySoundEffect ld bc, OneMillionPoints ld [hFarCallTempA], a - callba Func_8588 + callba AddBigBCD6FromQueue ld bc, $0100 ld de, $0000 push bc @@ -28450,7 +28411,7 @@ Func_1e5c5: ; 0x1e5c5 ret nz ld bc, OneHundredPoints ld [hFarCallTempA], a - callba AddBCDScore + callba AddBigBCD6FromQueueWithBallMultiplier ld hl, wd50f ld a, [hli] and [hl] @@ -28465,7 +28426,7 @@ Func_1e5c5: ; 0x1e5c5 ld [wd514], a ld bc, FourHundredPoints ld [hFarCallTempA], a - callba AddBCDScore + callba AddBigBCD6FromQueueWithBallMultiplier ld de, $0009 call PlaySoundEffect ld hl, wd62c @@ -30168,7 +30129,7 @@ Func_200d3: ; 0x200d3 .asm_20116 ld bc, ThreeHundredThousandPoints ld [hFarCallTempA], a - callba Func_8588 + callba AddBigBCD6FromQueue ld bc, $0030 ld de, $0000 push bc @@ -30325,7 +30286,7 @@ Func_20230: ; 0x20230 callba Func_10184 ld bc, OneHundredThousandPoints ld [hFarCallTempA], a - callba Func_8588 + callba AddBigBCD6FromQueue ld bc, $0010 ld de, $0000 push bc @@ -30491,7 +30452,7 @@ Func_20394: ; 0x20394 .asm_203d7 ld bc, ThreeHundredThousandPoints ld [hFarCallTempA], a - callba Func_8588 + callba AddBigBCD6FromQueue ld bc, $0030 ld de, $0000 push bc @@ -30648,7 +30609,7 @@ Func_204f1: ; 0x204f1 callba Func_10184 ld bc, OneHundredThousandPoints ld [hFarCallTempA], a - callba Func_8588 + callba AddBigBCD6FromQueue ld bc, $0010 ld de, $0000 push bc @@ -30763,7 +30724,7 @@ Func_205e0: ; 0x205e0 call nz, BankSwitch ld bc, OneMillionPoints ld [hFarCallTempA], a - callba Func_8588 + callba AddBigBCD6FromQueue call Func_30e8 call Func_30db ld de, YeahYouGotItText @@ -31210,7 +31171,7 @@ Func_20977: ; 0x20977 .asm_209bf ld bc, ThreeHundredThousandPoints ld [hFarCallTempA], a - callba Func_8588 + callba AddBigBCD6FromQueue call Func_30e8 call Func_30db ld a, [wCurrentEvolutionType] @@ -31257,7 +31218,7 @@ Func_209eb: ; 0x209eb ld [wd557], a ld bc, ThreeHundredThousandPoints ld [hFarCallTempA], a - callba Func_8588 + callba AddBigBCD6FromQueue call Func_30e8 call Func_30db ld hl, wd5cc @@ -31293,7 +31254,7 @@ Func_20a65: ; 0x20a65 jr z, .asm_20a80 ld bc, TenThousandPoints ld [hFarCallTempA], a - callba Func_8588 + callba AddBigBCD6FromQueue jr asm_20a9f .asm_20a80 @@ -31309,7 +31270,7 @@ Func_20a82: ; 0x20a82 jr z, .asm_20a9d ld bc, TenThousandPoints ld [hFarCallTempA], a - callba Func_8588 + callba AddBigBCD6FromQueue jr asm_20a9f .asm_20a9d @@ -31522,7 +31483,7 @@ Func_20c08: ; 0x20c08 call nz, BankSwitch ld bc, OneMillionPoints ld [hFarCallTempA], a - callba Func_8588 + callba AddBigBCD6FromQueue call Func_30e8 call Func_30db ld de, YeahYouGotItText @@ -31949,7 +31910,7 @@ Func_20f75: ; 0x20f75 .asm_20fc3 ld bc, ThreeHundredThousandPoints ld [hFarCallTempA], a - callba Func_8588 + callba AddBigBCD6FromQueue call Func_30e8 call Func_30db ld a, [wCurrentEvolutionType] @@ -31997,7 +31958,7 @@ Func_20fef: ; 0x20fef ld [wd557], a ld bc, ThreeHundredThousandPoints ld [hFarCallTempA], a - callba Func_8588 + callba AddBigBCD6FromQueue call Func_30e8 call Func_30db ld hl, wd5cc @@ -32020,7 +31981,7 @@ Func_2105c: ; 0x2105c jr z, .asm_21077 ld bc, TenThousandPoints ld [hFarCallTempA], a - callba Func_8588 + callba AddBigBCD6FromQueue jr asm_210c7 .asm_21077 @@ -32069,7 +32030,7 @@ Func_21089: ; 0x21089 jr z, .asm_210c5 ld bc, TenThousandPoints ld [hFarCallTempA], a - callba Func_8588 + callba AddBigBCD6FromQueue jr asm_210c7 .asm_210c5 @@ -32933,7 +32894,7 @@ Func_245ab: ; 0x245ab call PlaySoundEffect ld bc, OneThousandPoints ld [hFarCallTempA], a - callba AddBCDScore + callba AddBigBCD6FromQueueWithBallMultiplier xor a ld [wMeowthStageBonusCounter], a ld a, [wd6ec] @@ -34109,7 +34070,7 @@ Func_24e7f: ; 0x24e7f push af ld bc, OneHundredThousandPoints ld [hFarCallTempA], a - callba AddBCDScore + callba AddBigBCD6FromQueueWithBallMultiplier ld hl, wMeowthStageScore inc [hl] pop af @@ -35018,7 +34979,7 @@ Func_25e85: ; 0x25e85 jr nc, .asm_25ead ld bc, OneHundredThousandPoints ld [hFarCallTempA], a - callba AddBCDScore + callba AddBigBCD6FromQueueWithBallMultiplier pop de dec d jr .asm_25ebf @@ -35026,7 +34987,7 @@ Func_25e85: ; 0x25e85 .asm_25ead ld bc, FiveMillionPoints ld [hFarCallTempA], a - callba AddBCDScore + callba AddBigBCD6FromQueueWithBallMultiplier pop de ld a, d sub $32 @@ -36880,7 +36841,7 @@ Func_2885c: ; 0x2885c Func_2887c: ; 0x2887c ld a, BANK(Data_c5120) ld hl, Data_c5120 - ld de, $9900 + deCoord 0, 8, vBGMap0 ld bc, $0100 call LoadVRAMData ld a, $3f @@ -36919,7 +36880,7 @@ Func_288a2: ; 0x288a2 ld [hNextLYCSub], a ld a, BANK(Data_c5100) ld hl, Data_c5100 - ld de, $9900 + deCoord 0, 8, vBGMap0 ld bc, $0020 call LoadVRAMData ret @@ -40127,7 +40088,7 @@ Func_30164: ; 0x30164 .asm_30175 ld bc, TenMillionPoints ld [hFarCallTempA], a - callba Func_8588 + callba AddBigBCD6FromQueue ld a, $2 ld [wd4ca], a ret diff --git a/wram.asm b/wram.asm index a9c85b9..53f9070 100755 --- a/wram.asm +++ b/wram.asm @@ -114,8 +114,9 @@ wd2c0:: ; 0xd2c0 wPartyMons:: ; 0xd300 ds $100 -wd400:: ; 0xd400 +wAddScoreQueue:: ; 0xd400 ds $60 +wAddScoreQueueEnd:: ; 0xd460 wNumPartyMons:: ; 0xd460 ds $1 @@ -153,7 +154,7 @@ wd473:: ; 0xd473 wd476:: ; 0xd476 ds $1 -wd477:: ; 0xd477 +wAddScoreQueueOffset:: ; 0xd477 ds $1 wd478:: ; 0xd478 -- cgit v1.2.3 From 289cab77a35927877ac7c9775821a4a56809846c Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 19 Jan 2017 14:38:32 -0500 Subject: vTiles macro --- main.asm | 138 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 69 insertions(+), 69 deletions(-) diff --git a/main.asm b/main.asm index 0371b15..86d2fbd 100755 --- a/main.asm +++ b/main.asm @@ -9881,7 +9881,7 @@ LoadBallGfx: ; 0xdcc3 jr nc, .notPokeBall ld a, Bank(PinballPokeballGfx) ld hl, PinballPokeballGfx - ld de, $8400 + ld de, vTiles0 tile $40 ld bc, $0200 call LoadOrCopyVRAMData ret @@ -9891,7 +9891,7 @@ LoadBallGfx: ; 0xdcc3 jr nc, .notGreatBall ld a, Bank(PinballGreatballGfx) ld hl, PinballGreatballGfx - ld de, $8400 + ld de, vTiles0 tile $40 ld bc, $0200 call LoadOrCopyVRAMData ret @@ -9901,7 +9901,7 @@ LoadBallGfx: ; 0xdcc3 jr nc, .notUltraBall ld a, Bank(PinballUltraballGfx) ld hl, PinballUltraballGfx - ld de, $8400 + ld de, vTiles0 tile $40 ld bc, $0200 call LoadOrCopyVRAMData ret @@ -9909,7 +9909,7 @@ LoadBallGfx: ; 0xdcc3 .notUltraBall ld a, Bank(PinballMasterballGfx) ld hl, PinballMasterballGfx - ld de, $8400 + ld de, vTiles0 tile $40 ld bc, $0200 call LoadOrCopyVRAMData ret @@ -9922,7 +9922,7 @@ LoadMiniBallGfx: ; 0xdd12 jr nc, .notPokeBall ld a, Bank(PinballPokeballMiniGfx) ld hl, PinballPokeballMiniGfx - ld de, $8400 + ld de, vTiles0 tile $40 ld bc, $0200 call LoadOrCopyVRAMData ret @@ -9932,7 +9932,7 @@ LoadMiniBallGfx: ; 0xdd12 jr nc, .notGreatBall ld a, Bank(PinballGreatballMiniGfx) ld hl, PinballGreatballMiniGfx - ld de, $8400 + ld de, vTiles0 tile $40 ld bc, $0200 call LoadOrCopyVRAMData ret @@ -9942,7 +9942,7 @@ LoadMiniBallGfx: ; 0xdd12 jr nc, .notUltraBall ld a, Bank(PinballUltraballMiniGfx) ld hl, PinballUltraballMiniGfx - ld de, $8400 + ld de, vTiles0 tile $40 ld bc, $0200 call LoadOrCopyVRAMData ret @@ -9950,7 +9950,7 @@ LoadMiniBallGfx: ; 0xdd12 .notUltraBall ld a, Bank(PinballMasterballMiniGfx) ld hl, PinballMasterballMiniGfx - ld de, $8400 + ld de, vTiles0 tile $40 ld bc, $0200 call LoadOrCopyVRAMData ret @@ -9960,7 +9960,7 @@ Func_dd62: ; 0xdd62 ld [wd4c8], a ld a, $2a ld hl, PinballBallMiniGfx - ld de, $8400 + ld de, vTiles0 tile $40 ld bc, $0200 call LoadOrCopyVRAMData ret @@ -12374,7 +12374,7 @@ LoadBillboardPicture: ; 0xf178 ld a, [hl] ld h, b ld l, c - ld de, $8900 ; destination address to copy the tiles + ld de, vTiles1 tile $10 ; destination address to copy the tiles ld bc, $180 ; billboard pictures are $180 bytes call LoadVRAMData ; loads the tiles into VRAM pop hl @@ -12400,7 +12400,7 @@ LoadBillboardOffPicture: ; 0xf196 ld l, c ld bc, $0180 ; get the address of the "off" version of the picture add hl, bc - ld de, $8900 + ld de, vTiles1 tile $10 ld bc, $0180 call LoadVRAMData pop hl @@ -12617,7 +12617,7 @@ Func_f55c: ; 0xf55c jr nz, .gameboyColor ld a, BANK(GFX_d61c0) ld hl, GFX_d61c0 - ld de, $8830 + ld de, vTiles1 tile $03 ld bc, $0010 call LoadVRAMData ret @@ -12625,7 +12625,7 @@ Func_f55c: ; 0xf55c .gameboyColor ld a, BANK(GFX_d63c0) ld hl, GFX_d63c0 - ld de, $8830 + ld de, vTiles1 tile $03 ld bc, $0010 call LoadVRAMData ret @@ -13513,7 +13513,7 @@ StartCatchEmMode: ; 0x1003f jr z, .asm_1011d ld a, BANK(StageRedFieldBottomBaseGameBoyColorGfx) ld hl, StageRedFieldBottomBaseGameBoyColorGfx + $300 - ld de, $8ae0 + ld de, vTiles1 tile $2e ld bc, $0020 call LoadOrCopyVRAMData ld a, $0 @@ -13669,7 +13669,7 @@ Func_101d9: ; 0x101d9 rl b sla c rl b - ld hl, $8900 + ld hl, vTiles1 tile $10 add hl, bc ld a, l ld [de], a @@ -14083,12 +14083,12 @@ Func_10496: ; 0x10496 ld [wd5c6], a ld a, BANK(PikachuSaverGfx) ld hl, PikachuSaverGfx + $c0 - ld de, $87e0 + ld de, vTiles0 tile $7e ld bc, $0020 call LoadVRAMData ld a, BANK(GFX_a8800) ld hl, GFX_a8800 - ld de, $8900 + ld de, vTiles1 tile $10 ld bc, $0180 call LoadVRAMData call LoadShakeBallGfx @@ -14116,7 +14116,7 @@ LoadShakeBallGfx: ; 0x104e2 jr nc, .notPokeball ld a, Bank(PinballPokeballShakeGfx) ld hl, PinballPokeballShakeGfx - ld de, $8380 + ld de, vTiles0 tile $38 ld bc, $0040 call LoadVRAMData ret @@ -14126,7 +14126,7 @@ LoadShakeBallGfx: ; 0x104e2 jr nc, .notGreatball ld a, Bank(PinballGreatballShakeGfx) ld hl, PinballGreatballShakeGfx - ld de, $8380 + ld de, vTiles0 tile $38 ld bc, $0040 call LoadVRAMData ret @@ -14136,7 +14136,7 @@ LoadShakeBallGfx: ; 0x104e2 jr nc, .notUltraBall ld a, Bank(PinballUltraballShakeGfx) ld hl, PinballUltraballShakeGfx - ld de, $8380 + ld de, vTiles0 tile $38 ld bc, $0040 call LoadVRAMData ret @@ -14144,7 +14144,7 @@ LoadShakeBallGfx: ; 0x104e2 .notUltraBall ld a, Bank(PinballMasterballShakeGfx) ld hl, PinballMasterballShakeGfx - ld de, $8380 + ld de, vTiles0 tile $38 ld bc, $0040 call LoadVRAMData ret @@ -14684,12 +14684,12 @@ Func_108f5: ; 0x108f5 callba Func_30253 ld a, Bank(StageSharedBonusSlotGlowGfx) ld hl, StageSharedBonusSlotGlowGfx - ld de, $81a0 + ld de, vTiles0 tile $1a ld bc, $0160 call LoadVRAMData ld a, BANK(StageSharedBonusSlotGlow2Gfx) ld hl, StageSharedBonusSlotGlow2Gfx - ld de, $8380 + ld de, vTiles0 tile $38 ld bc, $0020 call LoadVRAMData ld hl, Data_10958 @@ -14801,12 +14801,12 @@ Func_109fc: ; 0x109fc callba Func_30253 ld a, BANK(StageSharedBonusSlotGlowGfx) ld hl, StageSharedBonusSlotGlowGfx - ld de, $81a0 + ld de, vTiles0 tile $1a ld bc, $0160 call LoadVRAMData ld a, BANK(StageSharedBonusSlotGlow2Gfx) ld hl, StageSharedBonusSlotGlow2Gfx - ld de, $8380 + ld de, vTiles0 tile $38 ld bc, $0020 call LoadVRAMData ld hl, Data_10a63 @@ -14975,7 +14975,7 @@ Func_10b59: ; 0x10b59 call Func_10b8e ld a, BANK(InGameMenuSymbolsGfx) ld hl, InGameMenuSymbolsGfx - ld de, $8880 + ld de, vTiles1 tile $08 ld bc, $0030 call LoadVRAMData ld a, $0 @@ -15194,7 +15194,7 @@ Func_10cb7: ; 0x10cb7 jr nz, .asm_10cee ld a, BANK(StageRedFieldTopStatusBarSymbolsGfx_GameBoy) ld hl, StageRedFieldTopStatusBarSymbolsGfx_GameBoy + $80 - ld de, $8880 + ld de, vTiles1 tile $08 ld bc, $0030 call LoadVRAMData jr .asm_10cfc @@ -15202,7 +15202,7 @@ Func_10cb7: ; 0x10cb7 .asm_10cee ld a, BANK(StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor) ld hl, StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor + $80 - ld de, $8880 + ld de, vTiles1 tile $08 ld bc, $0030 call LoadVRAMData .asm_10cfc @@ -15348,7 +15348,7 @@ Func_10d1d: ; 0x10d1d jr z, .asm_10e09 ld a, BANK(StageRedFieldBottomBaseGameBoyColorGfx) ld hl, StageRedFieldBottomBaseGameBoyColorGfx + $300 - ld de, $8ae0 + ld de, vTiles1 tile $2e ld bc, $0020 call LoadOrCopyVRAMData ld a, $0 @@ -15489,7 +15489,7 @@ Func_10ebb: ; 0x10ebb jr nz, .asm_10f0b ld a, BANK(Data_dbe80) ld hl, Data_dbe80 - ld de, $8900 + ld de, vTiles1 tile $10 ld bc, $00e0 call LoadOrCopyVRAMData ret @@ -15497,7 +15497,7 @@ Func_10ebb: ; 0x10ebb .asm_10f0b ld a, BANK(Data_dbe80) ld hl, Data_dbe80 - ld de, $8200 + ld de, vTiles0 tile $20 ld bc, $00e0 call LoadOrCopyVRAMData ld [hFarCallTempA], a @@ -15562,7 +15562,7 @@ Func_10fe3: ; 0x10fe3 callba Func_30253 ld a, BANK(StageSharedBonusSlotGlowGfx) ld hl, StageSharedBonusSlotGlowGfx + $60 - ld de, $8200 + ld de, vTiles0 tile $20 ld bc, $00e0 call LoadVRAMData ld a, [hGameBoyColorFlag] @@ -15635,7 +15635,7 @@ Func_11061: ; 0x11061 jr nz, .asm_110bd ld a, BANK(Data_dbe80) ld hl, Data_dbe80 - ld de, $8600 + ld de, vTiles0 tile $60 ld bc, $00e0 call LoadOrCopyVRAMData ret @@ -15643,7 +15643,7 @@ Func_11061: ; 0x11061 .asm_110bd ld a, BANK(Data_dbe80) ld hl, Data_dbe80 - ld de, $8200 + ld de, vTiles0 tile $20 ld bc, $00e0 call LoadOrCopyVRAMData ld [hFarCallTempA], a @@ -15710,7 +15710,7 @@ Func_11195: ; 0x11195 callba Func_30253 ld a, Bank(StageSharedBonusSlotGlowGfx) ld hl, StageSharedBonusSlotGlowGfx + $60 - ld de, $8200 + ld de, vTiles0 tile $20 ld bc, $00e0 call LoadVRAMData ld a, [hGameBoyColorFlag] @@ -17436,12 +17436,12 @@ Func_1414b: ; 0x1414b ret z ld a, BANK(PikachuSaverGfx) ld hl, PikachuSaverGfx + $c0 - ld de, $87e0 + ld de, vTiles0 tile $7e ld bc, $0020 call FarCopyData ld a, BANK(GFX_a8800) ld hl, GFX_a8800 - ld de, $8900 + ld de, vTiles1 tile $10 ld bc, $0180 call FarCopyData ld a, [wBallType] @@ -17449,7 +17449,7 @@ Func_1414b: ; 0x1414b jr nc, .notPokeball ld a, Bank(PinballPokeballShakeGfx) ld hl, PinballPokeballShakeGfx - ld de, $8380 + ld de, vTiles0 tile $38 ld bc, $0040 call FarCopyData ret @@ -17459,7 +17459,7 @@ Func_1414b: ; 0x1414b jr nc, .notGreatball ld a, Bank(PinballGreatballShakeGfx) ld hl, PinballGreatballShakeGfx - ld de, $8380 + ld de, vTiles0 tile $38 ld bc, $0040 call FarCopyData ret @@ -17469,7 +17469,7 @@ Func_1414b: ; 0x1414b jr nc, .notUltraball ld a, Bank(PinballUltraballShakeGfx) ld hl, PinballUltraballShakeGfx - ld de, $8380 + ld de, vTiles0 tile $38 ld bc, $0040 call FarCopyData ret @@ -17477,7 +17477,7 @@ Func_1414b: ; 0x1414b .notUltraball ld a, Bank(PinballMasterballShakeGfx) ld hl, PinballMasterballShakeGfx - ld de, $8380 + ld de, vTiles0 tile $38 ld bc, $0040 call FarCopyData ret @@ -17536,7 +17536,7 @@ Func_14234: ; 0x14234 jr nz, .asm_1425c ld a, BANK(Data_dbe80) ld hl, Data_dbe80 - ld de, $8900 + ld de, vTiles1 tile $10 ld bc, $00e0 call FarCopyData jr .asm_1426a @@ -17544,7 +17544,7 @@ Func_14234: ; 0x14234 .asm_1425c ld a, BANK(Data_dbe80) ld hl, Data_dbe80 - ld de, $8200 + ld de, vTiles0 tile $20 ld bc, $00e0 call FarCopyData .asm_1426a @@ -17584,7 +17584,7 @@ Func_14282: ; 0x14282 call Func_174d4 ld a, BANK(Data_d8f60) ld hl, Data_d8f60 - ld de, $8ae0 + ld de, vTiles1 tile $2e ld bc, $0020 call FarCopyData ret @@ -17625,7 +17625,7 @@ Func_142d7: ; 0x142d7 swap e sla e push hl - ld hl, $8ae0 + ld hl, vTiles1 tile $2e add hl, de ld d, h ld e, l @@ -25572,12 +25572,12 @@ Func_1c305: ; 0x1c305 ret z ld a, BANK(PikachuSaverGfx) ld hl, PikachuSaverGfx + $c0 - ld de, $87e0 + ld de, vTiles0 tile $7e ld bc, $0020 call FarCopyData ld a, BANK(StageSharedPikaBoltGfx) ld hl, GFX_a8800 - ld de, $8900 + ld de, vTiles1 tile $10 ld bc, $0180 call FarCopyData ld a, [wBallType] @@ -25585,7 +25585,7 @@ Func_1c305: ; 0x1c305 jr nc, .notPokeball ld a, Bank(PinballPokeballShakeGfx) ld hl, PinballPokeballShakeGfx - ld de, $8380 + ld de, vTiles0 tile $38 ld bc, $0040 call FarCopyData ret @@ -25595,7 +25595,7 @@ Func_1c305: ; 0x1c305 jr nc, .notGreatball ld a, Bank(PinballGreatballShakeGfx) ld hl, PinballGreatballShakeGfx - ld de, $8380 + ld de, vTiles0 tile $38 ld bc, $0040 call FarCopyData ret @@ -25605,7 +25605,7 @@ Func_1c305: ; 0x1c305 jr nc, .notUltraBall ld a, Bank(PinballUltraballShakeGfx) ld hl, PinballUltraballShakeGfx - ld de, $8380 + ld de, vTiles0 tile $38 ld bc, $0040 call FarCopyData ret @@ -25613,7 +25613,7 @@ Func_1c305: ; 0x1c305 .notUltraBall ld a, Bank(PinballMasterballShakeGfx) ld hl, PinballMasterballShakeGfx - ld de, $8380 + ld de, vTiles0 tile $38 ld bc, $0040 call FarCopyData ret @@ -25672,7 +25672,7 @@ Func_1c3ee: ; 0x1c3ee jr nz, .asm_1c416 ld a, BANK(Data_dbe80) ld hl, Data_dbe80 - ld de, $8600 + ld de, vTiles0 tile $60 ld bc, $00e0 call FarCopyData jr .asm_1c424 @@ -25680,7 +25680,7 @@ Func_1c3ee: ; 0x1c3ee .asm_1c416 ld a, BANK(Data_dbe80) ld hl, Data_dbe80 - ld de, $8200 + ld de, vTiles0 tile $20 ld bc, $00e0 call FarCopyData .asm_1c424 @@ -25720,7 +25720,7 @@ Func_1c43c: ; 0x1c43c call Func_1f265 ld a, BANK(Data_d8f60) ld hl, Data_d8f60 - ld de, $8ae0 + ld de, vTiles1 tile $2e ld bc, $0020 call FarCopyData ret @@ -25761,7 +25761,7 @@ Func_1c491: ; 0x1c491 swap e sla e push hl - ld hl, $8ae0 + ld hl, vTiles1 tile $2e add hl, de ld d, h ld e, l @@ -30760,7 +30760,7 @@ Func_20651: ; 0x20651 swap c sla c push hl - ld hl, $8ae0 + ld hl, vTiles1 tile $2e add hl, bc ld d, h ld e, l @@ -30813,7 +30813,7 @@ Func_20651: ; 0x20651 ret z ld a, BANK(StageSharedBonusSlotGlowGfx) ld hl, StageSharedBonusSlotGlowGfx + $60 - ld de, $8200 + ld de, vTiles0 tile $20 ld bc, $00e0 call LoadVRAMData ld a, [hGameBoyColorFlag] @@ -31354,7 +31354,7 @@ Func_20b02: ; 0x20b02 call ReadByteFromBank ld h, b ld l, c - ld de, $8900 + ld de, vTiles1 tile $10 ld bc, $0180 call LoadOrCopyVRAMData pop bc @@ -31519,7 +31519,7 @@ Func_20c76: ; 0x20c76 swap c sla c push hl - ld hl, $8ae0 + ld hl, vTiles1 tile $2e add hl, bc ld d, h ld e, l @@ -31572,7 +31572,7 @@ Func_20c76: ; 0x20c76 ret z ld a, BANK(StageSharedBonusSlotGlowGfx) ld hl, StageSharedBonusSlotGlowGfx + $60 - ld de, $8200 + ld de, vTiles0 tile $20 ld bc, $00e0 call LoadVRAMData ld a, [hGameBoyColorFlag] @@ -32114,7 +32114,7 @@ Func_2112a: ; 0x2112a call ReadByteFromBank ld h, b ld l, c - ld de, $8900 + ld de, vTiles1 tile $10 ld bc, $0180 call LoadOrCopyVRAMData pop bc @@ -36465,7 +36465,7 @@ Func_285db: ; 0x285db ld bc, $8c38 ld a, $64 call LoadOAMData - ld bc, $8840 + ld bc, vTiles1 tile $04 ld a, $65 call LoadOAMData ld bc, $8888 @@ -36915,7 +36915,7 @@ Func_288c6: ; 0x288c6 ld [wd860], a ld [wd861], a ld bc, $906c - ld de, $8900 + ld de, vTiles1 tile $10 call Func_28d97 rl a ld [wd956], a @@ -36927,7 +36927,7 @@ Func_288c6: ; 0x288c6 Func_28912: ; 0x28912 ld bc, $906c - ld de, $8900 + ld de, vTiles1 tile $10 ld a, [wd957] ld l, a ld a, [wd958] @@ -36973,7 +36973,7 @@ Func_28931: ; 0x28931 xor a ld [wd861], a ld bc, $500a - ld de, $9500 + ld de, vTiles2 tile $50 call Func_28e09 ret @@ -37077,7 +37077,7 @@ Func_289c8: ; 0x289c8 ld a, $4 ld [wd861], a ld bc, $5816 - ld de, $95a0 + ld de, vTiles2 tile $5a call Func_28e09 ret @@ -37257,7 +37257,7 @@ Func_28add: ; 0x28add call ReadByteFromBank ld h, b ld l, c - ld de, $9000 + ld de, vTiles2 tile $00 ld bc, $0180 call LoadOrCopyVRAMData call Func_28cd4 @@ -37301,7 +37301,7 @@ Func_28add: ; 0x28add Func_28b76: ; 0x28b76 ld a, BANK(Data_71500) ld hl, Data_71500 - ld de, $9000 + ld de, vTiles2 tile $00 ld bc, $0180 call LoadOrCopyVRAMData call Func_28cd4 @@ -37342,7 +37342,7 @@ Func_28baf: ; 0x28baf call ReadByteFromBank ld hl, $0180 add hl, bc - ld de, $9000 + ld de, vTiles2 tile $00 ld bc, $0180 call LoadOrCopyVRAMData call Func_28cd4 -- cgit v1.2.3 From d60e872fbeddaf5d38006ca974fb15bbf5601662 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 19 Jan 2017 18:56:15 -0500 Subject: Rip some data... kinda --- audio/engine_0f.asm | 398 +++++++++++++++++++++++++++++-------- data/unknown_17679.asm | 525 +++++++++++++++++++++++++++++++++++++++++++++++++ home.asm | 52 ++--- main.asm | 501 +++++++++++++++++++++++----------------------- wram.asm | 6 +- 5 files changed, 1121 insertions(+), 361 deletions(-) create mode 100755 data/unknown_17679.asm diff --git a/audio/engine_0f.asm b/audio/engine_0f.asm index 573d540..16b293a 100755 --- a/audio/engine_0f.asm +++ b/audio/engine_0f.asm @@ -1187,7 +1187,7 @@ Func_3c750: ; 0x3c750 ld a, [wdea1] ld e, a ld d, $0 - ld hl, $4ba2 + ld hl, Data_3cba2 add hl, de add hl, de ld a, [hli] @@ -1687,7 +1687,7 @@ Func_3ca2b: ; 0x3ca2b ld h, d add hl, de add hl, hl - ld de, $4b20 + ld de, Data_3cb20 add hl, de ld e, [hl] inc hl @@ -1836,6 +1836,7 @@ Func_3cb1b: ; 0x3cb1b ld [wdd00], a ret +Data_3cb20: dr $3cb20, $3cb52 WavePatterns_BankF: @@ -1850,6 +1851,7 @@ WavePattern3_BankF: ; 0x3cb82 WavePattern4_BankF: ; 0x3cb92 db $00, $11, $22, $33, $44, $33, $22, $11, $FF, $EE, $CC, $AA, $88, $AA, $CC, $EE +Data_3cba2: dr $3cba2, $3cc8e Data_3cc8e: ; 0x3cc8e @@ -1884,86 +1886,318 @@ INCLUDE "audio/music/haunterinthegraveyard.asm" INCLUDE "audio/music/gengarinthegraveyard.asm" PointerTable_3e3ce: ; 0x3e3ce - dw $646A - dw $6480 - dw $649A - dw $64BA - dw $64D0 - dw $64E0 - dw $64F0 - dw $6500 - dw $651A - dw $652E - dw $6544 - dw $6554 - dw $657C - dw $6589 - dw $659F - dw $65B5 - dw $65C5 - dw $65E2 - dw $65F4 - dw $6606 - dw $6618 - dw $662A - dw $663C - dw $664E - dw $6660 - dw $6672 - dw $6684 - dw $6696 - dw $66A8 - dw $66BA - dw $66CC - dw $66DE - dw $66F0 - dw $6702 - dw $671A - dw $675D - dw $6810 - dw $68AE - dw $696D - dw $6A25 - dw $6A68 - dw $6A82 - dw $6B17 - dw $6BF9 - dw $6C17 - dw $6C31 - dw $6C4B - dw $6C7D - dw $6C8F - dw $6CA7 - dw $6CB7 - dw $6CD1 - dw $6CE9 - dw $6CFF - dw $6D15 - dw $6D31 - dw $6D4D - dw $6D65 - dw $6D78 - dw $6D98 - dw $6DB0 - dw $6DC0 - dw $6DD0 - dw $6DE3 - dw $6DF3 - dw $6E1C - dw $6E32 - dw $6E48 - dw $6E5E - dw $6E78 - dw $6E92 - dw $6EAA - dw $6EC4 - dw $6ED4 - dw $6EEA - dw $6F00 - dw $6F16 - dw $6F27 - - dr $3e46a, $3ef63 + dw Data_3e46a + dw Data_3e480 + dw Data_3e49a + dw Data_3e4ba + dw Data_3e4d0 + dw Data_3e4e0 + dw Data_3e4f0 + dw Data_3e500 + dw Data_3e51a + dw Data_3e52e + dw Data_3e544 + dw Data_3e554 + dw Data_3e57c + dw Data_3e589 + dw Data_3e59f + dw Data_3e5b5 + dw Data_3e5c5 + dw Data_3e5e2 + dw Data_3e5f4 + dw Data_3e606 + dw Data_3e618 + dw Data_3e62a + dw Data_3e63c + dw Data_3e64e + dw Data_3e660 + dw Data_3e672 + dw Data_3e684 + dw Data_3e696 + dw Data_3e6a8 + dw Data_3e6ba + dw Data_3e6cc + dw Data_3e6de + dw Data_3e6f0 + dw Data_3e702 + dw Data_3e71a + dw Data_3e75d + dw Data_3e810 + dw Data_3e8ae + dw Data_3e96d + dw Data_3ea25 + dw Data_3ea68 + dw Data_3ea82 + dw Data_3eb17 + dw Data_3ebf9 + dw Data_3ec17 + dw Data_3ec31 + dw Data_3ec4b + dw Data_3ec7d + dw Data_3ec8f + dw Data_3eca7 + dw Data_3ecb7 + dw Data_3ecd1 + dw Data_3ece9 + dw Data_3ecff + dw Data_3ed15 + dw Data_3ed31 + dw Data_3ed4d + dw Data_3ed65 + dw Data_3ed78 + dw Data_3ed98 + dw Data_3edb0 + dw Data_3edc0 + dw Data_3edd0 + dw Data_3ede3 + dw Data_3edf3 + dw Data_3ee1c + dw Data_3ee32 + dw Data_3ee48 + dw Data_3ee5e + dw Data_3ee78 + dw Data_3ee92 + dw Data_3eeaa + dw Data_3eec4 + dw Data_3eed4 + dw Data_3eeea + dw Data_3ef00 + dw Data_3ef16 + dw Data_3ef27 + +Data_3e46a: + dr $3e46a, $3e480 + +Data_3e480: + dr $3e480, $3e49a + +Data_3e49a: + dr $3e49a, $3e4ba + +Data_3e4ba: + dr $3e4ba, $3e4d0 + +Data_3e4d0: + dr $3e4d0, $3e4e0 + +Data_3e4e0: + dr $3e4e0, $3e4f0 + +Data_3e4f0: + dr $3e4f0, $3e500 + +Data_3e500: + dr $3e500, $3e51a + +Data_3e51a: + dr $3e51a, $3e52e + +Data_3e52e: + dr $3e52e, $3e544 + +Data_3e544: + dr $3e544, $3e554 + +Data_3e554: + dr $3e554, $3e57c + +Data_3e57c: + dr $3e57c, $3e589 + +Data_3e589: + dr $3e589, $3e59f + +Data_3e59f: + dr $3e59f, $3e5b5 + +Data_3e5b5: + dr $3e5b5, $3e5c5 + +Data_3e5c5: + dr $3e5c5, $3e5e2 + +Data_3e5e2: + dr $3e5e2, $3e5f4 + +Data_3e5f4: + dr $3e5f4, $3e606 + +Data_3e606: + dr $3e606, $3e618 + +Data_3e618: + dr $3e618, $3e62a + +Data_3e62a: + dr $3e62a, $3e63c + +Data_3e63c: + dr $3e63c, $3e64e + +Data_3e64e: + dr $3e64e, $3e660 + +Data_3e660: + dr $3e660, $3e672 + +Data_3e672: + dr $3e672, $3e684 + +Data_3e684: + dr $3e684, $3e696 + +Data_3e696: + dr $3e696, $3e6a8 + +Data_3e6a8: + dr $3e6a8, $3e6ba + +Data_3e6ba: + dr $3e6ba, $3e6cc + +Data_3e6cc: + dr $3e6cc, $3e6de + +Data_3e6de: + dr $3e6de, $3e6f0 + +Data_3e6f0: + dr $3e6f0, $3e702 + +Data_3e702: + dr $3e702, $3e71a + +Data_3e71a: + dr $3e71a, $3e75d + +Data_3e75d: + dr $3e75d, $3e810 + +Data_3e810: + dr $3e810, $3e8ae + +Data_3e8ae: + dr $3e8ae, $3e96d + +Data_3e96d: + dr $3e96d, $3ea25 + +Data_3ea25: + dr $3ea25, $3ea68 + +Data_3ea68: + dr $3ea68, $3ea82 + +Data_3ea82: + dr $3ea82, $3eb17 + +Data_3eb17: + dr $3eb17, $3ebf9 + +Data_3ebf9: + dr $3ebf9, $3ec17 + +Data_3ec17: + dr $3ec17, $3ec31 + +Data_3ec31: + dr $3ec31, $3ec4b + +Data_3ec4b: + dr $3ec4b, $3ec7d + +Data_3ec7d: + dr $3ec7d, $3ec8f + +Data_3ec8f: + dr $3ec8f, $3eca7 + +Data_3eca7: + dr $3eca7, $3ecb7 + +Data_3ecb7: + dr $3ecb7, $3ecd1 + +Data_3ecd1: + dr $3ecd1, $3ece9 + +Data_3ece9: + dr $3ece9, $3ecff + +Data_3ecff: + dr $3ecff, $3ed15 + +Data_3ed15: + dr $3ed15, $3ed31 + +Data_3ed31: + dr $3ed31, $3ed4d + +Data_3ed4d: + dr $3ed4d, $3ed65 + +Data_3ed65: + dr $3ed65, $3ed78 + +Data_3ed78: + dr $3ed78, $3ed98 + +Data_3ed98: + dr $3ed98, $3edb0 + +Data_3edb0: + dr $3edb0, $3edc0 + +Data_3edc0: + dr $3edc0, $3edd0 + +Data_3edd0: + dr $3edd0, $3ede3 + +Data_3ede3: + dr $3ede3, $3edf3 + +Data_3edf3: + dr $3edf3, $3ee1c + +Data_3ee1c: + dr $3ee1c, $3ee32 + +Data_3ee32: + dr $3ee32, $3ee48 + +Data_3ee48: + dr $3ee48, $3ee5e + +Data_3ee5e: + dr $3ee5e, $3ee78 + +Data_3ee78: + dr $3ee78, $3ee92 + +Data_3ee92: + dr $3ee92, $3eeaa + +Data_3eeaa: + dr $3eeaa, $3eec4 + +Data_3eec4: + dr $3eec4, $3eed4 + +Data_3eed4: + dr $3eed4, $3eeea + +Data_3eeea: + dr $3eeea, $3ef00 + +Data_3ef00: + dr $3ef00, $3ef16 + +Data_3ef16: + dr $3ef16, $3ef27 + +Data_3ef27: + dr $3ef27, $3ef63 CryBasePointers: ; 0x3ef63 dw Cry_00_Header_BankF diff --git a/data/unknown_17679.asm b/data/unknown_17679.asm new file mode 100755 index 0000000..58f549f --- /dev/null +++ b/data/unknown_17679.asm @@ -0,0 +1,525 @@ + dw Data_177a1 + dw Data_177a4 + dw Data_177a7 + dw Data_177aa + dw Data_177ad + dw Data_177b0 + dw Data_177b3 + dw Data_177b6 + dw Data_177b9 + dw Data_177bc + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw Data_177bf + dw Data_177c2 + dw Data_177c5 + dw Data_177c8 + dw Data_177cb + dw Data_177ce + dw Data_177d1 + dw Data_177d4 + dw Data_177d7 + dw Data_177da + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw Data_177dd + dw Data_177e0 + dw Data_177e3 + dw Data_177e6 + dw Data_177e9 + dw Data_177ec + dw Data_177ef + dw Data_177f2 + dw Data_177f5 + dw Data_177f8 + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw Data_177fb + dw Data_177fe + dw Data_17801 + dw Data_17804 + dw Data_17807 + dw Data_1780a + dw Data_1780d + dw Data_17810 + dw Data_17813 + dw Data_17816 + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw Data_17819 + dw Data_1781c + dw Data_1781f + dw Data_17822 + dw Data_17825 + dw Data_17828 + dw Data_1782b + dw Data_1782e + dw Data_17831 + dw Data_17834 + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw Data_17837 + dw Data_1783a + dw Data_1783d + dw Data_17840 + dw Data_17843 + dw Data_17846 + dw Data_17849 + dw Data_1784c + dw Data_1784f + dw Data_17852 + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw Data_17855 + dw Data_17858 + dw Data_1785b + dw Data_1785e + dw Data_17861 + dw Data_17864 + dw Data_17867 + dw Data_1786a + dw Data_1786d + dw Data_17870 + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw Data_17873 + dw Data_17876 + dw Data_17879 + dw Data_1787c + dw Data_1787f + dw Data_17882 + dw Data_17885 + dw Data_17888 + dw Data_1788b + dw Data_1788e + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw Data_17891 + dw Data_17894 + dw Data_17897 + dw Data_1789a + dw Data_1789d + dw Data_178a0 + dw Data_178a3 + dw Data_178a6 + dw Data_178a9 + dw Data_178ac + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw $0000 + dw Data_178af + dw Data_178b2 + dw Data_178b5 + dw Data_178b8 + +Data_177a1: dbw 1, Data_178bb +Data_177a4: dbw 1, Data_178c5 +Data_177a7: dbw 1, Data_178cf +Data_177aa: dbw 1, Data_178d9 +Data_177ad: dbw 1, Data_178e3 +Data_177b0: dbw 1, Data_178ed +Data_177b3: dbw 1, Data_178f7 +Data_177b6: dbw 1, Data_17901 +Data_177b9: dbw 1, Data_1790b +Data_177bc: dbw 1, Data_17915 +Data_177bf: dbw 1, Data_1791f +Data_177c2: dbw 1, Data_17929 +Data_177c5: dbw 1, Data_17933 +Data_177c8: dbw 1, Data_1793d +Data_177cb: dbw 1, Data_17947 +Data_177ce: dbw 1, Data_17951 +Data_177d1: dbw 1, Data_1795b +Data_177d4: dbw 1, Data_17965 +Data_177d7: dbw 1, Data_1796f +Data_177da: dbw 1, Data_17979 +Data_177dd: dbw 1, Data_17983 +Data_177e0: dbw 1, Data_1798d +Data_177e3: dbw 1, Data_17997 +Data_177e6: dbw 1, Data_179a1 +Data_177e9: dbw 1, Data_179ab +Data_177ec: dbw 1, Data_179b5 +Data_177ef: dbw 1, Data_179bf +Data_177f2: dbw 1, Data_179c9 +Data_177f5: dbw 1, Data_179d3 +Data_177f8: dbw 1, Data_179dd +Data_177fb: dbw 1, Data_179e7 +Data_177fe: dbw 1, Data_179f1 +Data_17801: dbw 1, Data_179fb +Data_17804: dbw 1, Data_17a05 +Data_17807: dbw 1, Data_17a0f +Data_1780a: dbw 1, Data_17a19 +Data_1780d: dbw 1, Data_17a23 +Data_17810: dbw 1, Data_17a2d +Data_17813: dbw 1, Data_17a37 +Data_17816: dbw 1, Data_17a41 +Data_17819: dbw 1, Data_17a4b +Data_1781c: dbw 1, Data_17a55 +Data_1781f: dbw 1, Data_17a5f +Data_17822: dbw 1, Data_17a69 +Data_17825: dbw 1, Data_17a73 +Data_17828: dbw 1, Data_17a7d +Data_1782b: dbw 1, Data_17a87 +Data_1782e: dbw 1, Data_17a91 +Data_17831: dbw 1, Data_17a9b +Data_17834: dbw 1, Data_17aa5 +Data_17837: dbw 1, Data_17aaf +Data_1783a: dbw 1, Data_17ab9 +Data_1783d: dbw 1, Data_17ac3 +Data_17840: dbw 1, Data_17acd +Data_17843: dbw 1, Data_17ad7 +Data_17846: dbw 1, Data_17ae1 +Data_17849: dbw 1, Data_17aeb +Data_1784c: dbw 1, Data_17af5 +Data_1784f: dbw 1, Data_17aff +Data_17852: dbw 1, Data_17b09 +Data_17855: dbw 1, Data_17b13 +Data_17858: dbw 1, Data_17b1d +Data_1785b: dbw 1, Data_17b27 +Data_1785e: dbw 1, Data_17b31 +Data_17861: dbw 1, Data_17b3b +Data_17864: dbw 1, Data_17b45 +Data_17867: dbw 1, Data_17b4f +Data_1786a: dbw 1, Data_17b59 +Data_1786d: dbw 1, Data_17b63 +Data_17870: dbw 1, Data_17b6d +Data_17873: dbw 1, Data_17b77 +Data_17876: dbw 1, Data_17b81 +Data_17879: dbw 1, Data_17b8b +Data_1787c: dbw 1, Data_17b95 +Data_1787f: dbw 1, Data_17b9f +Data_17882: dbw 1, Data_17ba9 +Data_17885: dbw 1, Data_17bb3 +Data_17888: dbw 1, Data_17bbd +Data_1788b: dbw 1, Data_17bc7 +Data_1788e: dbw 1, Data_17bd1 +Data_17891: dbw 1, Data_17bdb +Data_17894: dbw 1, Data_17be5 +Data_17897: dbw 1, Data_17bef +Data_1789a: dbw 1, Data_17bf9 +Data_1789d: dbw 1, Data_17c03 +Data_178a0: dbw 1, Data_17c0d +Data_178a3: dbw 1, Data_17c17 +Data_178a6: dbw 1, Data_17c21 +Data_178a9: dbw 1, Data_17c2b +Data_178ac: dbw 1, Data_17c35 +Data_178af: dbw 1, Data_17c3f +Data_178b2: dbw 1, Data_17c49 +Data_178b5: dbw 1, Data_17c53 +Data_178b8: dbw 1, Data_17c5d + +Data_178bb: + dr $178bb, $178c5 + +Data_178c5: + dr $178c5, $178cf + +Data_178cf: + dr $178cf, $178d9 + +Data_178d9: + dr $178d9, $178e3 + +Data_178e3: + dr $178e3, $178ed + +Data_178ed: + dr $178ed, $178f7 + +Data_178f7: + dr $178f7, $17901 + +Data_17901: + dr $17901, $1790b + +Data_1790b: + dr $1790b, $17915 + +Data_17915: + dr $17915, $1791f + +Data_1791f: + dr $1791f, $17929 + +Data_17929: + dr $17929, $17933 + +Data_17933: + dr $17933, $1793d + +Data_1793d: + dr $1793d, $17947 + +Data_17947: + dr $17947, $17951 + +Data_17951: + dr $17951, $1795b + +Data_1795b: + dr $1795b, $17965 + +Data_17965: + dr $17965, $1796f + +Data_1796f: + dr $1796f, $17979 + +Data_17979: + dr $17979, $17983 + +Data_17983: + dr $17983, $1798d + +Data_1798d: + dr $1798d, $17997 + +Data_17997: + dr $17997, $179a1 + +Data_179a1: + dr $179a1, $179ab + +Data_179ab: + dr $179ab, $179b5 + +Data_179b5: + dr $179b5, $179bf + +Data_179bf: + dr $179bf, $179c9 + +Data_179c9: + dr $179c9, $179d3 + +Data_179d3: + dr $179d3, $179dd + +Data_179dd: + dr $179dd, $179e7 + +Data_179e7: + dr $179e7, $179f1 + +Data_179f1: + dr $179f1, $179fb + +Data_179fb: + dr $179fb, $17a05 + +Data_17a05: + dr $17a05, $17a0f + +Data_17a0f: + dr $17a0f, $17a19 + +Data_17a19: + dr $17a19, $17a23 + +Data_17a23: + dr $17a23, $17a2d + +Data_17a2d: + dr $17a2d, $17a37 + +Data_17a37: + dr $17a37, $17a41 + +Data_17a41: + dr $17a41, $17a4b + +Data_17a4b: + dr $17a4b, $17a55 + +Data_17a55: + dr $17a55, $17a5f + +Data_17a5f: + dr $17a5f, $17a69 + +Data_17a69: + dr $17a69, $17a73 + +Data_17a73: + dr $17a73, $17a7d + +Data_17a7d: + dr $17a7d, $17a87 + +Data_17a87: + dr $17a87, $17a91 + +Data_17a91: + dr $17a91, $17a9b + +Data_17a9b: + dr $17a9b, $17aa5 + +Data_17aa5: + dr $17aa5, $17aaf + +Data_17aaf: + dr $17aaf, $17ab9 + +Data_17ab9: + dr $17ab9, $17ac3 + +Data_17ac3: + dr $17ac3, $17acd + +Data_17acd: + dr $17acd, $17ad7 + +Data_17ad7: + dr $17ad7, $17ae1 + +Data_17ae1: + dr $17ae1, $17aeb + +Data_17aeb: + dr $17aeb, $17af5 + +Data_17af5: + dr $17af5, $17aff + +Data_17aff: + dr $17aff, $17b09 + +Data_17b09: + dr $17b09, $17b13 + +Data_17b13: + dr $17b13, $17b1d + +Data_17b1d: + dr $17b1d, $17b27 + +Data_17b27: + dr $17b27, $17b31 + +Data_17b31: + dr $17b31, $17b3b + +Data_17b3b: + dr $17b3b, $17b45 + +Data_17b45: + dr $17b45, $17b4f + +Data_17b4f: + dr $17b4f, $17b59 + +Data_17b59: + dr $17b59, $17b63 + +Data_17b63: + dr $17b63, $17b6d + +Data_17b6d: + dr $17b6d, $17b77 + +Data_17b77: + dr $17b77, $17b81 + +Data_17b81: + dr $17b81, $17b8b + +Data_17b8b: + dr $17b8b, $17b95 + +Data_17b95: + dr $17b95, $17b9f + +Data_17b9f: + dr $17b9f, $17ba9 + +Data_17ba9: + dr $17ba9, $17bb3 + +Data_17bb3: + dr $17bb3, $17bbd + +Data_17bbd: + dr $17bbd, $17bc7 + +Data_17bc7: + dr $17bc7, $17bd1 + +Data_17bd1: + dr $17bd1, $17bdb + +Data_17bdb: + dr $17bdb, $17be5 + +Data_17be5: + dr $17be5, $17bef + +Data_17bef: + dr $17bef, $17bf9 + +Data_17bf9: + dr $17bf9, $17c03 + +Data_17c03: + dr $17c03, $17c0d + +Data_17c0d: + dr $17c0d, $17c17 + +Data_17c17: + dr $17c17, $17c21 + +Data_17c21: + dr $17c21, $17c2b + +Data_17c2b: + dr $17c2b, $17c35 + +Data_17c35: + dr $17c35, $17c3f + +Data_17c3f: + dr $17c3f, $17c49 + +Data_17c49: + dr $17c49, $17c53 + +Data_17c53: + dr $17c53, $17c5d + +Data_17c5d: + dr $17c5d, $17c67 diff --git a/home.asm b/home.asm index c6a3de1..6a63be8 100755 --- a/home.asm +++ b/home.asm @@ -552,7 +552,7 @@ PlaySoundEffect: ; 0x4af ld a, [wdead] and a ret nz - ld a, [wd800] + ld a, [wSFXTimer] and a jr z, .asm_4bd ld a, d @@ -560,7 +560,7 @@ PlaySoundEffect: ; 0x4af ret z .asm_4bd ld a, d - ld [wd800], a + ld [wSFXTimer], a ld d, $0 ld a, [hLoadedROMBank] push af @@ -609,7 +609,7 @@ Func_504: ; 0x504 ld a, [wCurrentSongBank] ld [hLoadedROMBank], a ld [MBC5RomBank], a - call $4180 + call Func_3c180 pop af ld [hLoadedROMBank], a ld [MBC5RomBank], a @@ -618,11 +618,11 @@ Func_504: ; 0x504 ld [wd801], a and $3 ret nz - ld a, [wd800] + ld a, [wSFXTimer] and a ret z dec a - ld [wd800], a + ld [wSFXTimer], a ret SetSongBank: ; 0x52c @@ -2316,7 +2316,7 @@ Func_e69: ; 0xe69 .asm_e77 dec a jr nz, .asm_e77 - ld hl, wcBottomMessageText + $140 + ld hl, wBottomMessageText + $140 call Func_eef push hl ld hl, $9c00 @@ -2342,7 +2342,7 @@ Func_e69: ; 0xe69 ld hl, $9c10 call Func_ef8 pop hl - ld hl, wcBottomMessageText + $1c0 + ld hl, wBottomMessageText + $1c0 call Func_eef push hl ld hl, $9c20 @@ -2731,7 +2731,7 @@ Func_10aa: ; 0x10aa ld c, a ld a, [hli] ld b, a -.asm_10ad +.loop push bc ld a, c ld c, [hl] @@ -2751,19 +2751,19 @@ Func_10aa: ; 0x10aa pop hl pop bc dec b - jr nz, .asm_10ad + jr nz, .loop ret Func_10c5: ; 0x10c5 push af ld a, [rLCDC] bit 7, a - jr z, .asm_10d2 -.asm_10cc + jr z, .skip_wait_ly +.wait_ly ld a, [rLY] cp $88 - jr nc, .asm_10cc -.asm_10d2 + jr nc, .wait_ly +.skip_wait_ly pop af ld hl, wd7fb ld l, [hl] @@ -2790,10 +2790,10 @@ Func_10c5: ; 0x10c5 ld hl, wd7fa add [hl] cp $30 - jr c, .asm_10fe + jr c, .size_okay ld a, [bc] ld e, $0 -.asm_10fe +.size_okay add $4 ld [hl], a pop af @@ -3387,7 +3387,7 @@ Data_1bcf: dr $1bcf, $1bd3 Func_1bd3: ; 0x1bd3 - ld de, $0001 + lb de, $00, $01 call PlaySoundEffect ld a, $5 ld [wd86d], a @@ -5454,7 +5454,7 @@ Func_30db: ; 0x30db Func_30e8: ; 0x30e8 ld a, $81 - ld hl, wcBottomMessageText + $100 + ld hl, wBottomMessageText + $100 ld b, $40 .asm_30ef ld [hli], a @@ -5744,7 +5744,7 @@ LoadTextHeader: ; 0x32aa inc de pop af ld l, a - ld h, wcBottomMessageText / $100 + ld h, wBottomMessageText / $100 .asm_32c5 ld a, [de] ld [hli], a @@ -5778,7 +5778,7 @@ Func_32cc: ; 0x32cc inc de pop af ld e, a - ld d, wcBottomMessageText / $100 + ld d, wBottomMessageText / $100 ld hl, [sp+$5] lb bc, 8, 1 .asm_32ec @@ -5856,7 +5856,7 @@ Func_3325: ; 0x3325 inc hl push hl ld l, [hl] - ld h, wcBottomMessageText / $100 + ld h, wBottomMessageText / $100 call Func_3129 pop hl inc hl @@ -5891,7 +5891,7 @@ Func_3357: ; 0x3357 inc de pop af ld l, a - ld h, wcBottomMessageText / $100 + ld h, wBottomMessageText / $100 .asm_336b ld a, [de] ld [hli], a @@ -5917,7 +5917,7 @@ Func_3372: ; 0x3372 ld [hli], a pop af ld e, a - ld d, wcBottomMessageText / $100 + ld d, wBottomMessageText / $100 ld hl, [sp+$5] lb bc, 8, 1 .asm_338a @@ -5974,7 +5974,7 @@ Func_33c3: ; 0x33c3 ld d, wc600 / $100 push hl ld l, [hl] - ld h, wcBottomMessageText / $100 + ld h, wBottomMessageText / $100 call Func_3129 pop hl inc hl @@ -6258,7 +6258,7 @@ HandleLeftTilt: ; 0x358c ld [wLeftTiltCounter], a cp $1 jr nz, .skipSoundEffect - ld de, $003f + lb de, $00, $3f call PlaySoundEffect .skipSoundEffect ld a, [wd548] @@ -6314,7 +6314,7 @@ HandleRightTilt: ; 0x35f3 ld [wRightTiltCounter], a cp $1 jr nz, .skipSoundEffect - ld de, $003f + lb de, $00, $3f call PlaySoundEffect .skipSoundEffect ld a, [wd548] @@ -6370,7 +6370,7 @@ HandleUpperTilt: ; 0x365a ld [wUpperTiltCounter], a cp $1 jr nz, .skipSoundEffect - ld de, $003f + lb de, $00, $3f call PlaySoundEffect .skipSoundEffect ld a, [wd548] diff --git a/main.asm b/main.asm index 86d2fbd..5865a4d 100755 --- a/main.asm +++ b/main.asm @@ -4399,7 +4399,7 @@ SetMaxScore: ; 0x8637 Func_8645: ; 0x8645 xor a ld [wd49f], a - ld de, wcBottomMessageText + $147 + ld de, wBottomMessageText + $147 call Func_8524 ret @@ -4503,7 +4503,7 @@ HandleInGameMenu: ; 0x86d7 call Func_30e8 xor a ld [wd4aa], a - ld hl, wcBottomMessageText + ld hl, wBottomMessageText ld a, $81 ld b, $30 .clearLoop @@ -4513,10 +4513,10 @@ HandleInGameMenu: ; 0x86d7 ld [hli], a dec b jr nz, .clearLoop - ld de, wcBottomMessageText + $24 + ld de, wBottomMessageText + $24 ld hl, SaveText call Func_8797 - ld de, wcBottomMessageText + $64 + ld de, wBottomMessageText + $64 ld hl, CancelText call Func_8797 ld a, Bank(InGameMenuSymbolsGfx) @@ -4525,7 +4525,7 @@ HandleInGameMenu: ; 0x86d7 ld bc, $0010 call LoadVRAMData ld a, $0 - ld hl, wcBottomMessageText + ld hl, wBottomMessageText ld de, vBGMap1 ld bc, $00c0 call LoadVRAMData @@ -4609,7 +4609,7 @@ HandleInGameMenuSelection: ; 0x87ac ld a, [hNewlyPressedButtons] bit BIT_A_BUTTON, a jr z, .waitForAButton - ld de, $0001 + lb de, $00, $01 call PlaySoundEffect ret @@ -4624,7 +4624,7 @@ MoveInGameMenuCursor: ; 0x87c5 ret z dec a ld [wInGameMenuIndex], a - ld de, $0003 + lb de, $00, $03 call PlaySoundEffect ret @@ -4635,26 +4635,26 @@ MoveInGameMenuCursor: ; 0x87c5 ret z inc a ld [wInGameMenuIndex], a - ld de, $0003 + lb de, $00, $03 call PlaySoundEffect ret DrawInGameMenu: ; 0x87ed ld a, $81 - ld [wcBottomMessageText + $23], a - ld [wcBottomMessageText + $63], a + ld [wBottomMessageText + $23], a + ld [wBottomMessageText + $63], a ld a, [wInGameMenuIndex] ld c, a swap c sla c sla c ld b, $0 - ld hl, wcBottomMessageText + $23 + ld hl, wBottomMessageText + $23 add hl, bc ld a, $86 ld [hl], a ld a, $0 - ld hl, wcBottomMessageText + ld hl, wBottomMessageText ld de, vBGMap1 ld bc, $00c0 call LoadVRAMData @@ -5882,7 +5882,7 @@ TitlescreenLoop: ; 0xc089 ld a, [wd7c2] ; if this is non-zero, the main menu will prompt for "continue or new game?". and a jr z, .noPreviouslySavedGame - ld de, $0001 + lb de, $00, $01 call PlaySoundEffect xor a ld [wd910], a @@ -5898,7 +5898,7 @@ TitlescreenLoop: ; 0xc089 ld de, $0000 call PlaySong rst AdvanceFrame - ld de, $0027 + lb de, $00, $27 call PlaySoundEffect ld bc, $0037 call AdvanceFrames @@ -5907,7 +5907,7 @@ TitlescreenLoop: ; 0xc089 ret .asm_c0d3 - ld de, $0001 + lb de, $00, $01 call PlaySoundEffect ld a, $3 ld [wScreenState], a @@ -5916,7 +5916,7 @@ TitlescreenLoop: ; 0xc089 .AButtonNotPressed bit BIT_B_BUTTON, a ; was B button pressed? ret z - ld de, $0001 + lb de, $00, $01 call PlaySoundEffect ld a, $4 ld [wScreenState], a @@ -5953,7 +5953,7 @@ Func_c10e: ; 0xc10e ld de, $0000 call PlaySong rst AdvanceFrame - ld de, $0027 + lb de, $00, $27 call PlaySoundEffect ld bc, $0041 call AdvanceFrames @@ -5995,7 +5995,7 @@ Func_c10e: ; 0xc10e .asm_c17c bit 1, a ret z - ld de, $0001 + lb de, $00, $01 call PlaySoundEffect ld a, $8 ld [wd910], a @@ -6073,7 +6073,7 @@ Func_c1fc: ; 0xc1fc ret z dec a ld [hl], a - ld de, $0003 + lb de, $00, $03 call PlaySoundEffect ret @@ -6084,7 +6084,7 @@ Func_c1fc: ; 0xc1fc ret z inc a ld [hl], a - ld de, $0003 + lb de, $00, $03 call PlaySoundEffect ret @@ -6354,7 +6354,7 @@ Func_c400: ; 0xc400 ld a, [hNewlyPressedButtons] bit 1, a ret z - ld de, $0001 + lb de, $00, $01 call PlaySoundEffect ld a, $2 ld [wScreenState], a @@ -6379,7 +6379,7 @@ Func_c41a: ; 0xc41a inc a .asm_c430 ld [wd916], a - ld de, $0003 + lb de, $00, $03 call PlaySoundEffect ret @@ -6394,7 +6394,7 @@ Func_c447: ; 0xc447 ld a, [hNewlyPressedButtons] bit BIT_A_BUTTON, a ret z - ld de, $0001 + lb de, $00, $01 call PlaySoundEffect ld a, [wd916] and a @@ -6440,7 +6440,7 @@ Func_c493: ; 0xc493 ld a, [hNewlyPressedButtons] bit BIT_B_BUTTON, a ret z - ld de, $0001 + lb de, $00, $01 call PlaySoundEffect xor a ld [wd803], a @@ -6460,7 +6460,7 @@ Func_c4b4: ; 0xc4b4 dec a ld [wd917], a call Func_c4f4 - ld de, $0003 + lb de, $00, $03 call PlaySoundEffect ret @@ -6474,7 +6474,7 @@ Func_c4b4: ; 0xc4b4 xor a ld [wd803], a ld [wd804], a - ld de, $0003 + lb de, $00, $03 call PlaySoundEffect ret @@ -6503,7 +6503,7 @@ Func_c506: ; 0xc506 ld a, [hNewlyPressedButtons] bit BIT_B_BUTTON, a ret z - ld de, $0001 + lb de, $00, $01 call PlaySoundEffect call ClearOAMBuffer ld hl, hLCDC @@ -6535,7 +6535,7 @@ Func_c534: ; 0xc534 inc a .asm_c54a ld [wd918], a - ld de, $0003 + lb de, $00, $03 call PlaySoundEffect ret @@ -6551,7 +6551,7 @@ Func_c55a: ; 0xc55a ld a, [hNewlyPressedButtons] bit BIT_A_BUTTON, a ret z - ld de, $0001 + lb de, $00, $01 call PlaySoundEffect call SaveDefaultKeyConfigs call Func_c948 @@ -6561,7 +6561,7 @@ Func_c55a: ; 0xc55a ld a, [hNewlyPressedButtons] bit BIT_A_BUTTON, a ret z - ld de, $0001 + lb de, $00, $01 call PlaySoundEffect ld bc, $001e call AdvanceFrames @@ -6745,7 +6745,7 @@ Func_c691: ; 0xc91 call SetSongBank ld de, $0002 call PlaySong - ld de, $0001 + lb de, $00, $01 call PlaySoundEffect ld a, $1 ld [wScreenState], a @@ -7648,7 +7648,7 @@ Func_ccb6: ; 0xccb6 ld a, [hNewlyPressedButtons] bit BIT_A_BUTTON, a jr z, .asm_ccd1 - ld de, $0001 + lb de, $00, $01 call PlaySoundEffect ld hl, wScreenState inc [hl] @@ -7659,7 +7659,7 @@ Func_ccb6: ; 0xccb6 .asm_ccd1 bit 1, a jr z, .asm_cce4 - ld de, $0001 + lb de, $00, $01 call PlaySoundEffect ld hl, wScreenState inc [hl] @@ -7673,7 +7673,7 @@ Func_ccb6: ; 0xccb6 call Func_1a43 ld a, [hGameBoyColorFlag] ld [wd8f0], a - ld de, $0001 + lb de, $00, $01 call PlaySoundEffect ld hl, wScreenState inc [hl] @@ -7686,7 +7686,7 @@ Func_ccb6: ; 0xccb6 ld a, [hNewlyPressedButtons] and (SELECT | D_UP) ret z - ld de, $0001 + lb de, $00, $01 call PlaySoundEffect call ClearOAMBuffer ld bc, $473b @@ -7697,14 +7697,14 @@ Func_ccb6: ; 0xccb6 ld a, [hNewlyPressedButtons] bit BIT_B_BUTTON, a jr z, .asm_cd24 - ld de, $0001 + lb de, $00, $01 call PlaySoundEffect ret .asm_cd24 bit 0, a jr z, .asm_cd16 - ld de, $0001 + lb de, $00, $01 call PlaySoundEffect call CopyInitialHighScores ld a, BANK(HighScoresTilemap) @@ -7738,7 +7738,7 @@ Func_cd6c: ; 0xcd6c ld a, [hNewlyPressedButtons] bit BIT_A_BUTTON, a jr z, .asm_cdbb - ld de, $0001 + lb de, $00, $01 call PlaySoundEffect ld a, [wda85] and a @@ -7770,7 +7770,7 @@ Func_cd6c: ; 0xcd6c ld a, [hNewlyPressedButtons] bit BIT_B_BUTTON, a ret z - ld de, $0001 + lb de, $00, $01 call PlaySoundEffect .asm_cdc6 xor a @@ -7865,7 +7865,7 @@ Func_cdce: ; 0xcdce ld a, $7 ld [$abf6], a pop af - ld hl, wcBottomMessageText + $0d + ld hl, wBottomMessageText + $0d ld b, $5 .asm_ce7c push bc @@ -7995,7 +7995,7 @@ Func_cf58: ; 0xcf58 cp $5 ret z push af - ld de, $0002 + lb de, $00, $02 call PlaySoundEffect call ClearOAMBuffer rst AdvanceFrame @@ -8008,7 +8008,7 @@ Func_cf58: ; 0xcf58 ld a, [hNewlyPressedButtons] bit BIT_A_BUTTON, a jr z, .asm_cf6f - ld de, $0001 + lb de, $00, $01 call PlaySoundEffect ret @@ -8022,7 +8022,7 @@ Func_cf7d: ; 0xcf7d ret z dec a ld [wda85], a - ld de, $0003 + lb de, $00, $03 call PlaySoundEffect ret @@ -8033,7 +8033,7 @@ Func_cf7d: ; 0xcf7d ret z inc a ld [wda85], a - ld de, $0003 + lb de, $00, $03 call PlaySoundEffect ret @@ -8364,7 +8364,7 @@ Func_d18b: ; 0xd18b .asm_d1c7 ld [hl], a call Func_d46f - ld de, $0003 + lb de, $00, $03 call PlaySoundEffect ret @@ -8377,7 +8377,7 @@ Func_d1d2: ; 0xd1d2 inc a cp $3 jr nz, .asm_d202 - ld de, $0745 + lb de, $07, $45 call PlaySoundEffect xor a ld [wda7f], a @@ -8399,7 +8399,7 @@ Func_d1d2: ; 0xd1d2 ld [wda80], a ld a, $20 ld [wda82], a - ld de, $0001 + lb de, $00, $01 call PlaySoundEffect ret @@ -8837,7 +8837,7 @@ Func_d4cf: ; 0xd4cf jr z, .asm_d4e3 and a ret nz - ld de, $0003 + lb de, $00, $03 call PlaySoundEffect jr .asm_d4f0 @@ -8846,7 +8846,7 @@ Func_d4cf: ; 0xd4cf ret z and a ret z - ld de, $0003 + lb de, $00, $03 call PlaySoundEffect jr .asm_d537 @@ -9181,7 +9181,7 @@ ChooseFieldToPlay: ; 0xd74e ld [wFieldSelectBlinkingBorderTimer], a ld a, $1 ld [wFieldSelectBlinkingBorderFrame], a - ld de, $0001 + lb de, $00, $01 call PlaySoundEffect ld hl, wScreenState inc [hl] @@ -9253,7 +9253,7 @@ MoveFieldSelectCursor: ; 0xd7d3 ret z ; if cursor is already hovering over Red stage, don't do anything dec a ; move cursor over Red stage ld [wSelectedFieldIndex], a - ld de, $003c + lb de, $00, $3c call PlaySoundEffect ret @@ -9264,7 +9264,7 @@ MoveFieldSelectCursor: ; 0xd7d3 ret z ; if cursor is already hovering over Blue stage, don't do anything inc a ; move cursor over Red stage ld [wSelectedFieldIndex], a - ld de, $003d + lb de, $00, $3d call PlaySoundEffect ret @@ -9428,7 +9428,7 @@ Func_d909: ; 0xd909 ld hl, wKeyConfigMenu call IsKeyPressed jr z, .didntPressMenuKey - ld de, $034c + lb de, $03, $4c call PlaySoundEffect ld [hFarCallTempA], a callba HandleInGameMenu @@ -9710,12 +9710,12 @@ HighScoresStageMapping: ; 0xdb99 Func_dba9: ; 0xdba9 ld a, $85 - ld [wcBottomMessageText + $144], a + ld [wBottomMessageText + $144], a ld a, [wd49d] xor $3 inc a add $86 - ld [wcBottomMessageText + $145], a + ld [wBottomMessageText + $145], a ret Func_dbba: ; 0xdbba @@ -9829,7 +9829,7 @@ Func_dc6d: ; 0xdc6d ret Func_dc7c: ; 0xdc7c - ld hl, wcBottomMessageText + $140 + ld hl, wBottomMessageText + $140 ld a, $83 ld [hli], a ld a, $81 @@ -9838,7 +9838,7 @@ Func_dc7c: ; 0xdc7c ld [hl], a ld a, [wNumPartyMons] call ConvertHexByteToDecWord - ld hl, wcBottomMessageText + $141 + ld hl, wBottomMessageText + $141 ld c, $1 ld a, d call .asm_dca0 @@ -9870,7 +9870,7 @@ Func_dcb4: ; 0xdcb4 jr nz, .asm_dcbf ld a, $84 .asm_dcbf - ld [wcBottomMessageText + $146], a + ld [wBottomMessageText + $146], a ret LoadBallGfx: ; 0xdcc3 @@ -9984,7 +9984,7 @@ Func_dd76: ; 0xdd76 ld [wBallSaverTimerFrames], a ld [wBallSaverTimerSeconds], a .asm_dd9c - ld de, $1502 + lb de, $15, $02 call PlaySoundEffect ret @@ -9993,7 +9993,7 @@ Func_dd76: ; 0xdd76 call PlaySong ld bc, $001e call AdvanceFrames - ld de, $2524 + lb de, $25, $24 call PlaySoundEffect call Func_dbba ld a, $1 @@ -10091,7 +10091,7 @@ Func_de4f: ; 0xde4f ld [wBallSaverTimerFrames], a ld [wBallSaverTimerSeconds], a .asm_de75 - ld de, $1502 + lb de, $15, $02 call PlaySoundEffect ret @@ -10100,7 +10100,7 @@ Func_de4f: ; 0xde4f call PlaySong ld bc, $001e call AdvanceFrames - ld de, $2524 + lb de, $25, $24 call PlaySoundEffect call Func_dbba ld a, $1 @@ -10197,7 +10197,7 @@ Func_df1a: ; 0xdf1a ld a, $1 ld [wd6a7], a .asm_df50 - ld de, $0002 + lb de, $00, $02 call PlaySoundEffect ret @@ -10248,7 +10248,7 @@ Func_df7e: ; 0xdf7e ld a, $1 ld [wd6b2], a .asm_dfb4 - ld de, $000b + lb de, $00, $0b call PlaySoundEffect ret @@ -10303,7 +10303,7 @@ Func_dfe2: ; 0xdfe2 ld a, [wd712] cp $0 jr nz, .asm_e025 - ld de, $0002 + lb de, $00, $02 call PlaySoundEffect ret @@ -10335,7 +10335,7 @@ Func_e056: ; 0xe056 ld hl, wCurrentStage cp [hl] ret z - ld de, $000b + lb de, $00, $0b call PlaySoundEffect xor a ld [wd495], a @@ -10390,7 +10390,7 @@ Func_e08b: ; 0xe08b ret .asm_e0c8 - ld de, $0002 + lb de, $00, $02 call PlaySoundEffect xor a ld [wd57d], a @@ -10533,7 +10533,7 @@ PlayFlipperSoundIfPressed: ; 0xe1ce ld hl, wKeyConfigLeftFlipper call IsKeyPressed jr z, .asm_e1e2 - ld de, $000c + lb de, $00, $0c call PlaySoundEffect ret @@ -10541,7 +10541,7 @@ PlayFlipperSoundIfPressed: ; 0xe1ce ld hl, wKeyConfigRightFlipper call IsKeyPressed ret z - ld de, $000c + lb de, $00, $0c call PlaySoundEffect ret @@ -11873,7 +11873,7 @@ Func_ed8e: ; 0xed8e call Func_eef9 ld [wd61d], a push af - ld de, $0009 + lb de, $00, $09 call PlaySoundEffect pop af call LoadBillboardOffPicture @@ -11894,7 +11894,7 @@ Func_ed8e: ; 0xed8e ld [wd61e], a ld a, $32 ld [wd61b], a - ld de, $0728 + lb de, $07, $28 call PlaySoundEffect .asm_ee47 pop bc @@ -11920,12 +11920,12 @@ Func_ed8e: ; 0xed8e ld a, [wd61d] cp $5 jr nz, .asm_ee78 - ld de, $0c42 + lb de, $0c, $42 call PlaySoundEffect jr .asm_ee7e .asm_ee78 - ld de, $0c43 + lb de, $0c, $43 call PlaySoundEffect .asm_ee7e ld b, $28 @@ -12213,7 +12213,7 @@ UpgradeBallBlueField: ; 0xf040 ld a, [wBallType] cp MASTER_BALL jr z, .masterBall - ld de, $063a + lb de, $06, $3a call PlaySoundEffect call Func_30e8 call Func_30db @@ -12229,11 +12229,11 @@ UpgradeBallBlueField: ; 0xf040 ld a, [hl] ld [wBallType], a add $30 - ld [wcBottomMessageText + $12], a + ld [wBottomMessageText + $12], a jr .asm_f0b0 .masterBall - ld de, $0f4d + lb de, $0f, $4d call PlaySoundEffect ld bc, OneMillionPoints ld [hFarCallTempA], a @@ -12633,7 +12633,7 @@ Func_f55c: ; 0xf55c Func_f57f: ; 0xf57f xor a ld [wd4aa], a - ld hl, wcBottomMessageText + ld hl, wBottomMessageText ld a, $81 ld b, $40 .clearLoop @@ -12644,17 +12644,17 @@ Func_f57f: ; 0xf57f dec b jr nz, .clearLoop ld a, $0 - ld hl, wcBottomMessageText + ld hl, wBottomMessageText ld de, vBGMap1 ld bc, $00c0 call LoadVRAMData ret Func_f5a0: ; 0xf5a0 - ld de, wcBottomMessageText + $40 + ld de, wBottomMessageText + $40 ld hl, Data_3069 call PrintTextNoHeader - ld de, wcBottomMessageText + $80 + ld de, wBottomMessageText + $80 ld hl, Data_3070 call PrintTextNoHeader ld hl, wd489 @@ -12677,10 +12677,10 @@ Func_f5a0: ; 0xf5a0 call SetSongBank ld de, $0005 call PlaySong - ld hl, wcBottomMessageText + ld hl, wBottomMessageText ld bc, $0040 call Func_f81b - ld de, wcBottomMessageText + $20 + ld de, wBottomMessageText + $20 ld hl, Data_3094 call PrintTextNoHeader ld bc, $0040 @@ -12721,10 +12721,10 @@ CallTable_f60d: ; 0xf60d dw Func_faf8 Func_f626: ; 0xf626 - ld de, wcBottomMessageText + $01 + ld de, wBottomMessageText + $01 ld hl, Data_3006 call PrintTextNoHeader - ld hl, wcBottomMessageText + $01 + ld hl, wBottomMessageText + $01 ld a, [wd628] call Func_f78e ld bc, $0040 @@ -12737,10 +12737,10 @@ Func_f626: ; 0xf626 ret Func_f64e: ; 0xf64e - ld de, wcBottomMessageText + ld de, wBottomMessageText ld hl, Data_3019 call PrintTextNoHeader - ld hl, wcBottomMessageText + ld hl, wBottomMessageText ld a, [wd629] call Func_f78e ld bc, $0040 @@ -12756,8 +12756,8 @@ Func_f676: ; 0xf676 ld b, $4 .asm_f678 push bc - ld hl, wcBottomMessageText + $20 - ld de, wcBottomMessageText + ld hl, wBottomMessageText + $20 + ld de, wBottomMessageText ld bc, $00e0 call LocalCopyData ld bc, $00c0 @@ -12776,13 +12776,13 @@ Func_f676: ; 0xf676 pop bc dec b jr nz, .asm_f678 - ld de, wcBottomMessageText + $40 + ld de, wBottomMessageText + $40 ld hl, Data_307a call PrintTextNoHeader - ld de, wcBottomMessageText + $80 + ld de, wBottomMessageText + $80 ld hl, Data_3086 call PrintTextNoHeader - ld hl, wcBottomMessageText + $50 + ld hl, wBottomMessageText + $50 ld a, [wd482] call Func_f78e ld bc, $0040 @@ -12792,12 +12792,12 @@ Func_f676: ; 0xf676 push de push hl ld hl, wd494 - ld de, wcBottomMessageText + $86 + ld de, wBottomMessageText + $86 call Func_f8bd ld bc, $0040 ld de, $0080 call Func_f80d - ld de, $003e + lb de, $00, $3e call PlaySoundEffect ld a, [wd4ab] and a @@ -12829,8 +12829,8 @@ Func_f70d: ; 0xf70d ld b, $4 .asm_f70f push bc - ld hl, wcBottomMessageText + $20 - ld de, wcBottomMessageText + ld hl, wBottomMessageText + $20 + ld de, wBottomMessageText ld bc, $00e0 call LocalCopyData ld bc, $00c0 @@ -12849,16 +12849,16 @@ Func_f70d: ; 0xf70d pop bc dec b jr nz, .asm_f70f - ld de, wcBottomMessageText + $60 + ld de, wBottomMessageText + $60 ld hl, Data_308d call PrintTextNoHeader ld hl, wd46f - ld de, wcBottomMessageText + $66 + ld de, wBottomMessageText + $66 call Func_f8bd ld bc, $0040 ld de, $0060 call Func_f80d - ld de, $003e + lb de, $00, $3e call PlaySoundEffect ld a, [wd4ab] and a @@ -12874,7 +12874,7 @@ Func_f70d: ; 0xf70d ld de, wd48f call AddBigBCD6 ld hl, wd46f - ld de, wcBottomMessageText + $66 + ld de, wBottomMessageText + $66 call Func_f8bd ld bc, $0040 ld de, $0060 @@ -12984,7 +12984,7 @@ Func_f80d: ; 0xf80d hlCoord 0, 0, vBGMap1 add hl, de push hl - ld hl, wcBottomMessageText + ld hl, wBottomMessageText add hl, de pop de call LoadVRAMData @@ -13001,10 +13001,10 @@ Func_f81b: ; 0xf81b Func_f824: ; 0xf824 call Func_f83a - ld hl, wcBottomMessageText + ld hl, wBottomMessageText ld bc, $0040 call Func_f81b - ld hl, wcBottomMessageText + $48 + ld hl, wBottomMessageText + $48 ld bc, $0038 call Func_f81b ret @@ -13039,12 +13039,12 @@ Func_f853: ; 0xf853 push de push hl ld hl, wd488 - ld de, wcBottomMessageText + $46 + ld de, wBottomMessageText + $46 call Func_f8bd ld bc, $0040 ld de, $0040 call Func_f80d - ld de, $003e + lb de, $00, $3e call PlaySoundEffect ld a, [wd4ab] and a @@ -13075,7 +13075,7 @@ Func_f853: ; 0xf853 ld de, wd483 call AddBigBCD6 ld hl, wd48e - ld de, wcBottomMessageText + $86 + ld de, wBottomMessageText + $86 call Func_f8bd ld bc, $0040 ld de, $0080 @@ -13181,10 +13181,10 @@ Func_f945: ; 0xf945 ret Func_f952: ; 0xf952 - ld de, wcBottomMessageText + $03 + ld de, wBottomMessageText + $03 ld hl, BellsproutCounterText call PrintTextNoHeader - ld hl, wcBottomMessageText + $03 + ld hl, wBottomMessageText + $03 ld a, [wd62a] call Func_f78e ld bc, $0040 @@ -13197,10 +13197,10 @@ Func_f952: ; 0xf952 ret Func_f97a: ; 0xf97a - ld de, wcBottomMessageText + $04 + ld de, wBottomMessageText + $04 ld hl, DugtrioCounterText call PrintTextNoHeader - ld hl, wcBottomMessageText + $04 + ld hl, wBottomMessageText + $04 ld a, [wd62b] call Func_f78e ld bc, $0040 @@ -13213,10 +13213,10 @@ Func_f97a: ; 0xf97a ret Func_f9a2: ; 0xf9a2 - ld de, wcBottomMessageText + $03 + ld de, wBottomMessageText + $03 ld hl, CaveShotCounterText call PrintTextNoHeader - ld hl, wcBottomMessageText + $03 + ld hl, wBottomMessageText + $03 ld a, [wd62c] call Func_f78e ld bc, $0040 @@ -13229,10 +13229,10 @@ Func_f9a2: ; 0xf9a2 ret Func_f9ca: ; 0xf9ca - ld de, wcBottomMessageText + $01 + ld de, wBottomMessageText + $01 ld hl, SpinnerTurnsCounterText call PrintTextNoHeader - ld hl, wcBottomMessageText + $01 + ld hl, wBottomMessageText + $01 ld a, [wd62d] call Func_f78e ld bc, $0040 @@ -13257,10 +13257,10 @@ Func_f9f3: ; 0xf9f3 ret Func_fa06: ; 0xfa06 - ld de, wcBottomMessageText + $04 + ld de, wBottomMessageText + $04 ld hl, CloysterCounterText call PrintTextNoHeader - ld hl, wcBottomMessageText + $04 + ld hl, wBottomMessageText + $04 ld a, [wd63b] call Func_f78e ld bc, $0040 @@ -13273,10 +13273,10 @@ Func_fa06: ; 0xfa06 ret Func_fa2e: ; 0xfa2e - ld de, wcBottomMessageText + $04 + ld de, wBottomMessageText + $04 ld hl, SlowpokeCounterText call PrintTextNoHeader - ld hl, wcBottomMessageText + $04 + ld hl, wBottomMessageText + $04 ld a, [wd63a] call Func_f78e ld bc, $0040 @@ -13289,10 +13289,10 @@ Func_fa2e: ; 0xfa2e ret Func_fa56: ; 0xfa56 - ld de, wcBottomMessageText + $04 + ld de, wBottomMessageText + $04 ld hl, PoliwagCounterText call PrintTextNoHeader - ld hl, wcBottomMessageText + $04 + ld hl, wBottomMessageText + $04 ld a, [wd63d] call Func_f78e ld bc, $0040 @@ -13305,10 +13305,10 @@ Func_fa56: ; 0xfa56 ret Func_fa7e: ; 0xfa7e - ld de, wcBottomMessageText + $04 + ld de, wBottomMessageText + $04 ld hl, PsyduckCounterText call PrintTextNoHeader - ld hl, wcBottomMessageText + $04 + ld hl, wBottomMessageText + $04 ld a, [wd63c] call Func_f78e ld bc, $0040 @@ -13321,10 +13321,10 @@ Func_fa7e: ; 0xfa7e ret Func_faa6: ; 0xfaa6 - ld de, wcBottomMessageText + $03 + ld de, wBottomMessageText + $03 ld hl, CaveShotCounterText call PrintTextNoHeader - ld hl, wcBottomMessageText + $03 + ld hl, wBottomMessageText + $03 ld a, [wd62c] call Func_f78e ld bc, $0040 @@ -13337,10 +13337,10 @@ Func_faa6: ; 0xfaa6 ret Func_face: ; 0xface :) - ld de, wcBottomMessageText + $01 + ld de, wBottomMessageText + $01 ld hl, SpinnerTurnsCounterText call PrintTextNoHeader - ld hl, wcBottomMessageText + $01 + ld hl, wBottomMessageText + $01 ld a, [wd62d] call Func_f78e ld bc, $0040 @@ -14105,7 +14105,7 @@ Func_10496: ; 0x10496 xor a ld [wd548], a ld [wd549], a - ld de, $000b + lb de, $00, $0b call PlaySoundEffect ret @@ -14156,7 +14156,7 @@ CapturePokemon: ; 0x1052d ld a, [wBallCaptureAnimationFrameCounter] cp $1 jr nz, .asm_10541 - ld de, $0041 + lb de, $00, $41 call PlaySoundEffect .asm_10541 ld hl, BallCaptureAnimationData @@ -14183,7 +14183,7 @@ CapturePokemon: ; 0x1052d ld de, $0000 call PlaySong rst AdvanceFrame - ld de, $2329 + lb de, $23, $29 call PlaySoundEffect call Func_10825 call Func_3475 @@ -14403,7 +14403,7 @@ Func_106b6: ; 0x106b6 pop de call LoadTextHeader pop hl - ld de, wcBottomMessageText + $20 + ld de, wBottomMessageText + $20 ld b, $0 ; count the number of letters in mon's name in register b .readLetter ld a, [hli] @@ -14556,21 +14556,21 @@ Func_107f8: ; 0x107f8 ld a, [wTimerSeconds] cp $20 jr nz, .asm_10810 - ld de, $0749 + lb de, $07, $49 call PlaySoundEffect ret .asm_10810 cp $10 jr nz, .asm_1081b - ld de, $0a4a + lb de, $0a, $4a call PlaySoundEffect ret .asm_1081b cp $5 ret nz - ld de, $0d4b + lb de, $0d, $4b call PlaySoundEffect ret @@ -14961,7 +14961,7 @@ Func_10b3f: ; 0x10b3f Func_10b59: ; 0x10b59 xor a ld [wd4aa], a - ld hl, wcBottomMessageText + ld hl, wBottomMessageText ld a, $81 ld b, $30 .asm_10b64 @@ -14979,7 +14979,7 @@ Func_10b59: ; 0x10b59 ld bc, $0030 call LoadVRAMData ld a, $0 - ld hl, wcBottomMessageText + ld hl, wBottomMessageText deCoord 0, 0, vBGMap1 ld bc, $00c0 call LoadVRAMData @@ -15007,7 +15007,7 @@ Func_10ba2: ; 0x10ba2 swap c sla c ld b, $0 - ld hl, wcBottomMessageText + ld hl, wBottomMessageText add hl, bc ld d, h ld e, l @@ -15064,7 +15064,7 @@ Func_10bea: ; 0x10bea ld a, [wd809] bit 0, a jr z, .asm_10bf4 - ld de, $0001 + lb de, $00, $01 call PlaySoundEffect ret @@ -15080,7 +15080,7 @@ Func_10c0c: ; 0x10c0c ret z dec a ld [wd461], a - ld de, $0003 + lb de, $00, $03 call PlaySoundEffect ret @@ -15091,7 +15091,7 @@ Func_10c0c: ; 0x10c0c cp c ret z ld [wd461], a - ld de, $0003 + lb de, $00, $03 call PlaySoundEffect ret @@ -15132,7 +15132,7 @@ Func_10c38: ; 0x10c38 swap c sla c ld b, $0 - ld hl, wcBottomMessageText + $03 + ld hl, wBottomMessageText + $03 add hl, bc ld a, $88 ld [hl], a @@ -15141,7 +15141,7 @@ Func_10c38: ; 0x10c38 and a jr z, .asm_10c83 ld a, $8a - ld [wcBottomMessageText + $11], a + ld [wBottomMessageText + $11], a .asm_10c83 ld a, [wd462] add $7 @@ -15151,10 +15151,10 @@ Func_10c38: ; 0x10c38 cp c jr c, .asm_10c96 ld a, $89 - ld [wcBottomMessageText + $b1], a + ld [wBottomMessageText + $b1], a .asm_10c96 ld a, $0 - ld hl, wcBottomMessageText + ld hl, wBottomMessageText deCoord 0, 0, vBGMap1 ld bc, $00c0 call LoadVRAMData @@ -15404,7 +15404,7 @@ Func_10e0a: ; 0x10e0a pop de call LoadTextHeader pop hl - ld de, wcBottomMessageText + $20 + ld de, wBottomMessageText + $20 ld b, $0 .asm_10e67 ld a, [hli] @@ -17338,7 +17338,7 @@ Func_14091: ; 0x14091 and $fe or c ld [wStageCollisionState], a - ld de, $0007 + lb de, $00, $07 call PlaySoundEffect ld a, [wCurrentStage] bit 0, a @@ -18198,7 +18198,7 @@ Func_14795: ; 0x14795 ld [wd5c7], a ld a, $1 ld [wBallHitWildMon], a - ld de, $0006 + lb de, $00, $06 call PlaySoundEffect ret @@ -18449,7 +18449,7 @@ Func_1496d: ; 0x1496d ld bc, FiveHundredPoints ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier - ld de, $000f + lb de, $00, $0f call PlaySoundEffect ret @@ -18589,7 +18589,7 @@ Func_14dc9: ; 0x14dc9 ld [wd7bd], a ld a, $80 ld [wFlipperCollision], a - ld de, $000e + lb de, $00, $0e call PlaySoundEffect ret @@ -18777,7 +18777,7 @@ Func_151cb: ; 0x151cb ld bc, FourHundredPoints ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier - ld de, $0009 + lb de, $00, $09 call PlaySoundEffect ld hl, wd62c call Func_e4a @@ -18966,7 +18966,7 @@ Func_1535d: ; 0x1535d inc hl and [hl] jr nz, .asm_153c0 - ld de, $0009 + lb de, $00, $09 call PlaySoundEffect jp Func_15450 @@ -18986,7 +18986,7 @@ Func_1535d: ; 0x1535d ld a, [wBallType] cp MASTER_BALL jr z, .masterBall - ld de, $063a + lb de, $06, $3a call PlaySoundEffect call Func_30e8 call Func_30db @@ -19001,11 +19001,11 @@ Func_1535d: ; 0x1535d ld a, [hl] ld [wBallType], a add $30 - ld [wcBottomMessageText + $12], a + ld [wBottomMessageText + $12], a jr .asm_15447 .masterBall - ld de, $0f4d + lb de, $0f, $4d call PlaySoundEffect ld bc, OneMillionPoints ld [hFarCallTempA], a @@ -19508,7 +19508,7 @@ Func_159f4: ; 0x159f4 add c cp $2 jr z, .asm_15a13 - ld de, $0000 + lb de, $00, $00 call PlaySoundEffect .asm_15a13 ld a, [wd7f2] @@ -19552,7 +19552,7 @@ Func_15e93: ; 0x15e93 ld bc, TenThousandPoints ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier - ld de, $0005 + lb de, $00, $05 call PlaySoundEffect ld hl, BellsproutAnimationData ld de, wBellsproutAnimationFrameCounter @@ -19632,7 +19632,7 @@ Func_15e93: ; 0x15e93 ld [wBallXVelocity + 1], a ld a, $2 ld [wBallYVelocity + 1], a - ld de, $0006 + lb de, $00, $06 call PlaySoundEffect ld a, $5 ld [hFarCallTempA], a @@ -19729,7 +19729,7 @@ Func_15fda: ; 0x15fda ld a, [wd7ea] add [hl] ld [wd7ea], a - ld de, $000b + lb de, $00, $0b call PlaySoundEffect ret @@ -19751,7 +19751,7 @@ Func_160f0: ; 0x160f0 ld bc, TenThousandPoints ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier - ld de, $0021 + lb de, $00, $21 call PlaySoundEffect xor a ld hl, wBallXVelocity @@ -19959,7 +19959,7 @@ asm_1620f: ; 0x1620f ld [wd803], a ld a, $8 ld [wd804], a - ld de, $0004 + lb de, $00, $04 call PlaySoundEffect ret @@ -20001,7 +20001,7 @@ Func_16279: ; 0x16279 ld a, [wd603] cp $12 jr nz, .asm_162d4 - ld de, $0021 + lb de, $00, $21 call PlaySoundEffect ld [hFarCallTempA], a callba LoadMiniBallGfx @@ -20160,7 +20160,7 @@ Func_163f2: ; 0x163f2 ld de, $0000 call PlaySong rst AdvanceFrame - ld de, $3c23 + lb de, $3c, $23 call PlaySoundEffect ret @@ -20264,7 +20264,7 @@ Func_1652d: ; 0x1652d ld [wBallYVelocity + 1], a ld a, $1 ld [wd549], a - ld de, $000a + lb de, $00, $0a call PlaySoundEffect .asm_16566 ld a, $ff @@ -20311,7 +20311,7 @@ Func_1658f: ; 0x1658f ld a, [hl] ld [wCurrentMap], a push af - ld de, $0048 + lb de, $00, $48 call PlaySoundEffect pop af add (PalletTownPic_Pointer - BillboardPicturePointers) / 3 ; map billboard pictures start at the $29th entry in BillboardPicturePointers @@ -20401,7 +20401,7 @@ Func_1660c: ; 0x1660c call CopyHLToDE ld a, $2 ld [wd51c], a - ld de, $003b + lb de, $00, $3b call PlaySoundEffect .asm_1667b ld a, [wd51c] @@ -20418,7 +20418,7 @@ Func_1660c: ; 0x1660c ld [wd51e], a cp $5a ret nz - ld de, $0f22 + lb de, $0f, $22 call PlaySoundEffect ret @@ -20456,7 +20456,7 @@ Func_1669e: ; 0x1669e ld hl, Func_30164 call z, BankSwitch .asm_166f0 - ld de, $1610 + lb de, $16, $10 call PlaySoundEffect ret @@ -20586,7 +20586,7 @@ Func_16781: ; 0x16781 ld [hFarCallTempA], a callba LoadStageCollisionAttributes call Func_159f4 - ld de, $0007 + lb de, $00, $07 call PlaySoundEffect ld a, [wStageCollisionState] bit 0, a @@ -20631,7 +20631,7 @@ Func_167ff: ; 0x167ff and $fe or c ld [wStageCollisionState], a - ld de, $0007 + lb de, $00, $07 call PlaySoundEffect ret @@ -20753,7 +20753,7 @@ Func_16d9d: ; 016d9d jp z, Func_16e51 xor a ld [wd60a], a - ld de, $000d + lb de, $00, $0d call PlaySoundEffect ld a, [wd60b] sub $21 @@ -20922,7 +20922,7 @@ Func_16ef5: ; 0x16ef5 ld hl, wd5cc ld de, BonusMultiplierText call LoadTextHeader - ld hl, wcBottomMessageText + $12 + ld hl, wBottomMessageText + $12 ld a, [wd614] and $7f jr z, .asm_16f1f @@ -21200,12 +21200,13 @@ DrawTimer: ; 0x175f5 ret Data_17615: - dr $17615, $17625 + db $d7, $da, $d8, $d9 + db $dc, $df, $dd, $de + db $dc, $db, $dd, $de + db $f5, $f8, $f6, $f7 DrawTimerDigit: ; 0x17625 add $b1 ; the timer digits' OAM ids start at $b1 - ; fall through - Func_17627: ; 0x17627 call LoadOAMData ld a, b @@ -21214,28 +21215,28 @@ Func_17627: ; 0x17627 ret Func_1762f: ; 0x1762f - ld de, $600c + lb de, $60, $0c ld a, [wCurrentStage] cp $6 ret nc - ld de, $0000 + lb de, $00, $00 bit 0, a ret z - ld de, $3004 + lb de, $30, $04 ld a, [wInSpecialMode] and a ret z ld a, [wSpecialMode] and a ret nz - ld de, $3008 + lb de, $30, $08 ret Func_1764f: ; 0x1764f push bc push de cp [hl] - jr z, .asm_1765d + jr z, .skip push af push hl add d @@ -21243,7 +21244,7 @@ Func_1764f: ; 0x1764f pop hl pop af ld [hl], a -.asm_1765d +.skip inc hl pop de ld a, d @@ -21267,7 +21268,7 @@ Func_17665: ; 0x17665 ret Data_17679: - dr $17679, $17c67 +INCLUDE "data/unknown_17679.asm" Func_17c67: ; 0x17c67 ld a, [wd5f3] @@ -22300,7 +22301,7 @@ Func_18464: ; 0x18464 ld [wd7bd], a ld a, $80 ld [wFlipperCollision], a - ld de, $002c + lb de, $00, $2c call PlaySoundEffect .asm_184d5 ld bc, $0830 @@ -22520,7 +22521,7 @@ Func_1860b: ; 0x1860b ld [wd7bd], a ld a, $80 ld [wFlipperCollision], a - ld de, $002d + lb de, $00, $2d call PlaySoundEffect .asm_1867c ld bc, $5078 @@ -22729,7 +22730,7 @@ Func_187b1: ; 0x187b1 pop de ld a, $2 ld [de], a - ld de, $0037 + lb de, $00, $37 call PlaySoundEffect jr .asm_18826 @@ -22917,7 +22918,7 @@ Func_1894c: ; 0x1894c ret .asm_18980 - ld de, $002b + lb de, $00, $2b call PlaySoundEffect ld a, $1 ld [wd6a6], a @@ -23014,7 +23015,7 @@ Func_189af: ; 0x189af ld a, [de] cp $1 jr nz, .asm_18a14 - ld de, $002e + lb de, $00, $2e call PlaySoundEffect ret @@ -23032,7 +23033,7 @@ Func_189af: ; 0x189af ld hl, wd5dc ld de, Data_2f7b call LoadTextHeader - ld de, $4b2a + lb de, $4b, $2a call PlaySoundEffect ret @@ -23886,7 +23887,7 @@ Func_19531: ; 0x19531 ld a, $2 ld de, wd6ae call Func_19679 - ld de, $0039 + lb de, $00, $39 call PlaySoundEffect jr .asm_195a2 @@ -24022,7 +24023,7 @@ Func_19638: ; 0x19638 ld a, [de] cp $1 jr nz, .asm_19645 - ld de, $0040 + lb de, $00, $40 call PlaySoundEffect ret @@ -24047,7 +24048,7 @@ Func_19638: ; 0x19638 .asm_1966b ld de, Data_2f97 call LoadTextHeader - ld de, $4b2a + lb de, $4b, $2a call PlaySoundEffect ret @@ -24103,7 +24104,7 @@ Func_19701: ; 0x19701 ld bc, OneHundredThousandPoints ld [hFarCallTempA], a callba AddBigBCD6FromQueue - ld de, $0038 + lb de, $00, $38 call PlaySoundEffect .asm_19742 ld de, wd6bd @@ -24641,7 +24642,7 @@ Func_19c52: ; 0x19c52 ld bc, OneHundredThousandPoints ld [hFarCallTempA], a callba AddBigBCD6FromQueue - ld de, $0035 + lb de, $00, $35 call PlaySoundEffect ld hl, $0100 ld a, l @@ -24951,7 +24952,7 @@ Func_1aad4: ; 0x1aad4 ld bc, FiveMillionPoints ld [hFarCallTempA], a callba AddBigBCD6FromQueue - ld de, $0036 + lb de, $00, $36 call PlaySoundEffect ld a, $33 ld [wd803], a @@ -25087,7 +25088,7 @@ Func_1ab30: ; 0x1ab30 ld hl, wd5dc ld de, Data_2fb3 call LoadTextHeader - ld de, $4b2a + lb de, $4b, $2a call PlaySoundEffect ld a, $1 ld [wd7be], a @@ -26130,7 +26131,7 @@ Func_1c7d7: ; 0x1c7d7 ld [wBallYVelocity + 1], a ld a, $1 ld [wd549], a - ld de, $000a + lb de, $00, $0a call PlaySoundEffect .asm_1c810 ld a, $ff @@ -26177,7 +26178,7 @@ Func_1c839: ; 0x1c839 ld a, [hl] ld [wCurrentMap], a push af - ld de, $0048 + lb de, $00, $48 call PlaySoundEffect pop af add (PalletTownPic_Pointer - BillboardPicturePointers) / 3 ; map billboard pictures start at the $29th entry in BillboardPicturePointers @@ -26425,7 +26426,7 @@ Func_1ca29: ; 0x1ca29 ld [wd7bd], a ld a, $80 ld [wFlipperCollision], a - ld de, $000e + lb de, $00, $0e call PlaySoundEffect ret @@ -26437,7 +26438,7 @@ Func_1ca4a: ; 1ca4a ld [wd5c7], a ld a, $1 ld [wBallHitWildMon], a - ld de, $0006 + lb de, $00, $06 call PlaySoundEffect ret @@ -26661,7 +26662,7 @@ Func_1ce94: ; 0x1ce94 ld a, [wd7ea] add [hl] ld [wd7ea], a - ld de, $000b + lb de, $00, $0b call PlaySoundEffect ret @@ -26844,7 +26845,7 @@ Func_1d0a1: ; 0x1d0a1 call CopyHLToDE ld a, $2 ld [wd51c], a - ld de, $003b + lb de, $00, $3b call PlaySoundEffect .asm_1d110 ld a, [wd51c] @@ -26861,7 +26862,7 @@ Func_1d0a1: ; 0x1d0a1 ld [wd51e], a cp $5a ret nz - ld de, $0f22 + lb de, $0f, $22 call PlaySoundEffect ret @@ -26899,7 +26900,7 @@ Func_1d133: ; 0x1d133 ld hl, Func_30164 call z, BankSwitch .asm_1d185 - ld de, $1610 + lb de, $16, $10 call PlaySoundEffect ret @@ -26992,7 +26993,7 @@ Func_1d216: ; 0x1d216 ld bc, TenThousandPoints ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier - ld de, $0005 + lb de, $00, $05 call PlaySoundEffect ld hl, Data_1d312 ld de, wd632 @@ -27073,7 +27074,7 @@ Func_1d216: ; 0x1d216 xor a ld [wBallYVelocity], a ld [wBallYVelocity + 1], a - ld de, $0006 + lb de, $00, $06 call PlaySoundEffect ld a, [wd642] cp $0 @@ -27106,7 +27107,7 @@ HandleEnteringCloyster: ; 0x1d32d ld bc, TenThousandPoints ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier - ld de, $0005 + lb de, $00, $05 call PlaySoundEffect ld hl, Data_1d41d ld de, wd637 @@ -27187,7 +27188,7 @@ HandleEnteringCloyster: ; 0x1d32d xor a ld [wBallYVelocity], a ld [wBallYVelocity + 1], a - ld de, $0006 + lb de, $00, $06 call PlaySoundEffect ld a, $e ld [hFarCallTempA], a @@ -27213,7 +27214,7 @@ Func_1d438: ; 0x1d438 jp z, Func_1d51b xor a ld [wd60a], a - ld de, $000d + lb de, $00, $0d call PlaySoundEffect ld a, [wd60b] sub $f @@ -27408,7 +27409,7 @@ Func_1d5bf: ; 0x1d5bf ld hl, wd5cc ld de, BonusMultiplierText call LoadTextHeader - ld hl, wcBottomMessageText + $12 + ld hl, wBottomMessageText + $12 ld a, [wd614] and $7f jr z, .asm_1d5e9 @@ -27884,7 +27885,7 @@ Func_1de22: ; 0x1de22 ld bc, FiveHundredPoints ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier - ld de, $000f + lb de, $00, $0f call PlaySoundEffect ret @@ -28138,7 +28139,7 @@ Func_1e356: ; 0x1e356 inc hl and [hl] jr nz, .asm_1e3de - ld de, $0009 + lb de, $00, $09 call PlaySoundEffect jp asm_1e475 @@ -28158,7 +28159,7 @@ Func_1e356: ; 0x1e356 ld a, [wBallType] cp MASTER_BALL jr z, .masterBall - ld de, $063a + lb de, $06, $3a call PlaySoundEffect call Func_30e8 call Func_30db @@ -28173,11 +28174,11 @@ Func_1e356: ; 0x1e356 ld a, [hl] ld [wBallType], a add $30 - ld [wcBottomMessageText + $12], a + ld [wBottomMessageText + $12], a jr .asm_1e465 .masterBall - ld de, $0f4d + lb de, $0f, $4d call PlaySoundEffect ld bc, OneMillionPoints ld [hFarCallTempA], a @@ -28427,7 +28428,7 @@ Func_1e5c5: ; 0x1e5c5 ld bc, FourHundredPoints ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier - ld de, $0009 + lb de, $00, $09 call PlaySoundEffect ld hl, wd62c call Func_e4a @@ -28615,7 +28616,7 @@ Func_1e757: ; 0x1e757 ld a, [wd603] cp $12 jr nz, .asm_1e7b2 - ld de, $0021 + lb de, $00, $21 call PlaySoundEffect ld [hFarCallTempA], a callba LoadMiniBallGfx @@ -28768,7 +28769,7 @@ Func_1e8c3: ; 0x1e8c3 ld de, $0000 call PlaySong rst AdvanceFrame - ld de, $3c23 + lb de, $3c, $23 call PlaySoundEffect ret @@ -28979,7 +28980,7 @@ asm_1ea6a: ; 0x1ea6a ld [wd803], a ld a, $8 ld [wd804], a - ld de, $0004 + lb de, $00, $04 call PlaySoundEffect ret @@ -30774,21 +30775,21 @@ Func_20651: ; 0x20651 ld [wd554], a cp $1 jr nz, .asm_20693 - ld de, $0728 + lb de, $07, $28 call PlaySoundEffect ret .asm_20693 cp $2 jr nz, .asm_2069e - ld de, $0744 + lb de, $07, $44 call PlaySoundEffect ret .asm_2069e cp $3 ret nz - ld de, $0745 + lb de, $07, $45 call PlaySoundEffect ld a, $1 ld [wd604], a @@ -31140,7 +31141,7 @@ Func_2094d: ; 0x2094d ret Func_20977: ; 0x20977 - ld de, $0746 + lb de, $07, $46 call PlaySoundEffect call Func_20af5 ld a, [wCurrentEvolutionType] @@ -31191,7 +31192,7 @@ Func_20977: ; 0x20977 ret Func_209eb: ; 0x209eb - ld de, $0747 + lb de, $07, $47 call PlaySoundEffect ld a, $1 ld [wd551], a @@ -31399,7 +31400,7 @@ Func_20b02: ; 0x20b02 ld de, $0000 call PlaySong rst AdvanceFrame - ld de, $2d26 + lb de, $2d, $26 call PlaySoundEffect ld [hFarCallTempA], a callba Func_10825 @@ -31533,21 +31534,21 @@ Func_20c76: ; 0x20c76 ld [wd554], a cp $1 jr nz, .asm_20cb8 - ld de, $0728 + lb de, $07, $28 call PlaySoundEffect ret .asm_20cb8 cp $2 jr nz, .asm_20cc3 - ld de, $0744 + lb de, $07, $44 call PlaySoundEffect ret .asm_20cc3 cp $3 ret nz - ld de, $0745 + lb de, $07, $45 call PlaySoundEffect ld a, $1 ld [wd604], a @@ -31877,7 +31878,7 @@ Func_20f4b: ; 0x20f4b ret Func_20f75: ; 0x20f75 - ld de, $0746 + lb de, $07, $46 call PlaySoundEffect call Func_2111d ld a, [wCurrentEvolutionType] @@ -31930,7 +31931,7 @@ Func_20f75: ; 0x20f75 ret Func_20fef: ; 0x20fef - ld de, $0747 + lb de, $07, $47 call PlaySoundEffect ld a, $1 ld [wd551], a @@ -32159,7 +32160,7 @@ Func_2112a: ; 0x2112a ld de, $0000 call PlaySong rst AdvanceFrame - ld de, $2d26 + lb de, $2d, $26 call PlaySoundEffect ld [hFarCallTempA], a callba Func_10825 @@ -32780,13 +32781,13 @@ Func_2442a: ; 0x2442a ld hl, wd5dc ld de, Data_2fd0 call LoadTextHeader - ld de, $4b2a + lb de, $4b, $2a call PlaySoundEffect .asm_24498 ld a, [wd712] cp $4 jr nz, .asm_244b0 - ld a, [wd800] + ld a, [wSFXTimer] and a jr nz, .asm_244b0 ld de, $0004 @@ -32890,7 +32891,7 @@ Func_245ab: ; 0x245ab ld [wd803], a ld a, $3 ld [wd804], a - ld de, $0033 + lb de, $00, $33 call PlaySoundEffect ld bc, OneThousandPoints ld [hFarCallTempA], a @@ -33289,7 +33290,7 @@ Func_248ac: ; 0x248ac inc [hl] ld a, $2 ld [wd717], a - ld de, $0034 + lb de, $00, $34 call PlaySoundEffect .asm_248d3 ld a, [wd718] @@ -33308,7 +33309,7 @@ Func_248ac: ; 0x248ac inc [hl] ld a, $2 ld [wd718], a - ld de, $0034 + lb de, $00, $34 call PlaySoundEffect .asm_248fa ld a, [wd719] @@ -33327,7 +33328,7 @@ Func_248ac: ; 0x248ac inc [hl] ld a, $2 ld [wd719], a - ld de, $0034 + lb de, $00, $34 call PlaySoundEffect .asm_24921 ld a, [wd717] @@ -33864,7 +33865,7 @@ Func_24d07: ; 0x24d07 .asm_24d1f ld a, $2 ld [wd721], a - ld de, $0034 + lb de, $00, $34 call PlaySoundEffect .asm_24d2a ld a, [wd722] @@ -33881,7 +33882,7 @@ Func_24d07: ; 0x24d07 .asm_24d42 ld a, $2 ld [wd722], a - ld de, $0034 + lb de, $00, $34 call PlaySoundEffect .asm_24d4d ld a, [wd723] @@ -33898,7 +33899,7 @@ Func_24d07: ; 0x24d07 .asm_24d65 ld a, $2 ld [wd723], a - ld de, $0034 + lb de, $00, $34 call PlaySoundEffect .asm_24d70 ld a, [wd721] @@ -34062,7 +34063,7 @@ Func_24e7f: ; 0x24e7f ld [wd803], a ld a, $3 ld [wd804], a - ld de, $0032 + lb de, $00, $32 call PlaySoundEffect ld a, [wMeowthStageBonusCounter] dec a @@ -34769,13 +34770,13 @@ Func_25c5a: ; 0x25c5a call LoadTextHeader ld a, $2 ld [wd794], a - ld de, $4b2a + lb de, $4b, $2a call PlaySoundEffect .asm_25c98 ld a, [wd794] cp $2 jr nz, .asm_25cb0 - ld a, [wd800] + ld a, [wSFXTimer] and a jr nz, .asm_25cb0 ld de, $0003 @@ -34907,7 +34908,7 @@ Func_25da3: ; 0x25da3 ld [wd803], a ld a, $8 ld [wd804], a - ld de, $0030 + lb de, $00, $30 call PlaySoundEffect call Func_25e85 ld hl, wd792 @@ -35166,7 +35167,7 @@ Func_25f77: ; 0x25f77 ld a, $3 .asm_25fb2 push af - ld de, $0031 + lb de, $00, $31 call PlaySoundEffect pop af pop de @@ -35231,21 +35232,21 @@ Func_25ff3: ; 0x25ff3 jr nc, .asm_26016 ld a, $3 ld [de], a - ld de, $0031 + lb de, $00, $31 call PlaySoundEffect ret .asm_26016 ld a, $2 ld [de], a - ld de, $0031 + lb de, $00, $31 call PlaySoundEffect ret .asm_26020 ld a, $1 ld [de], a - ld de, $0031 + lb de, $00, $31 call PlaySoundEffect ret @@ -35333,21 +35334,21 @@ Func_2607f: ; 0x2607f jr nc, .asm_260a2 ld a, $3 ld [de], a - ld de, $0031 + lb de, $00, $31 call PlaySoundEffect ret .asm_260a2 ld a, $2 ld [de], a - ld de, $0031 + lb de, $00, $31 call PlaySoundEffect ret .asm_260ac ld a, $1 ld [de], a - ld de, $0031 + lb de, $00, $31 call PlaySoundEffect ret @@ -36435,7 +36436,7 @@ Func_28513: ; 0x28513 ld a, [wd95f] and a ret z - ld de, $0003 + lb de, $00, $03 call PlaySoundEffect call Func_28931 call Func_289c8 @@ -40908,7 +40909,7 @@ Func_315d5: ; 0x315d5 callba Func_31281 ld [hFarCallTempA], a callba Func_30253 - ld de, $2525 + lb de, $25, $25 call PlaySoundEffect ld bc, Data_2cbf ld [hFarCallTempA], a @@ -41073,7 +41074,7 @@ Func_3174c: ; 0x3174c callba Func_3140b ld [hFarCallTempA], a callba Func_30253 - ld de, $2525 + lb de, $25, $25 call PlaySoundEffect ld bc, Data_2cbf ld [hFarCallTempA], a diff --git a/wram.asm b/wram.asm index 53f9070..9ca4d64 100755 --- a/wram.asm +++ b/wram.asm @@ -34,10 +34,10 @@ wc4c0:: ; 0xc4c0 wc4cc:: ; 0xc4cc ds $34 -wcBottomMessageText:: ; 0xc500 +wBottomMessageText:: ; 0xc500 ds $100 -wc600:: +wc600:: ; 0xc600 ds $100 wStageCollisionMap:: ; 0xc700 @@ -1843,7 +1843,7 @@ wd7fd:: ; 0xd7fd wd7fe:: ; 0xd7fe ds $2 -wd800:: ; 0xd800 +wSFXTimer:: ; 0xd800 ds $1 wd801:: ; 0xd801 -- cgit v1.2.3 From e0dfebc08eb023d73bfbbfb07c67c380fdf4c0fc Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 19 Jan 2017 20:40:26 -0500 Subject: Yet more data rips --- Makefile | 6 +- gfx/stage/menu_symbols.png | Bin 109 -> 107 bytes gfx/unknown/d61a0.png | Bin 0 -> 74 bytes gfx/unknown/d61b0.png | Bin 0 -> 71 bytes gfx/unknown/d61d0.png | Bin 0 -> 74 bytes gfx/unknown/d61e0.png | Bin 0 -> 73 bytes gfx/unknown/d63a0.png | Bin 0 -> 73 bytes gfx/unknown/d63b0.png | Bin 0 -> 71 bytes gfx/unknown/d63d0.png | Bin 0 -> 74 bytes gfx/unknown/d63e0.png | Bin 0 -> 73 bytes gfx/unknown/d6400.png | Bin 0 -> 173 bytes gfx/unknown/d6410.png | Bin 0 -> 80 bytes gfx/unknown/d6430.png | Bin 0 -> 87 bytes gfx/unknown/d6440.png | Bin 0 -> 84 bytes gfx/unknown/d6480.png | Bin 0 -> 80 bytes home.asm | 701 +------------------------------------------- home/text.asm | 709 +++++++++++++++++++++++++++++++++++++++++++++ main.asm | 393 +++++++++++++++++++------ 18 files changed, 1029 insertions(+), 780 deletions(-) create mode 100644 gfx/unknown/d61a0.png create mode 100644 gfx/unknown/d61b0.png create mode 100644 gfx/unknown/d61d0.png create mode 100644 gfx/unknown/d61e0.png create mode 100644 gfx/unknown/d63a0.png create mode 100644 gfx/unknown/d63b0.png create mode 100644 gfx/unknown/d63d0.png create mode 100644 gfx/unknown/d63e0.png create mode 100644 gfx/unknown/d6400.png create mode 100644 gfx/unknown/d6410.png create mode 100644 gfx/unknown/d6430.png create mode 100644 gfx/unknown/d6440.png create mode 100644 gfx/unknown/d6480.png create mode 100755 home/text.asm diff --git a/Makefile b/Makefile index 267808f..43d9a51 100755 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -.PHONY: all compare clean +.PHONY: all compare clean tidy .SUFFIXES: .SUFFIXES: .asm .o .gbc .png @@ -38,8 +38,10 @@ compare: $(ROMS) baserom.gbc cmp $^ # Remove files generated by the build process. -clean: +tidy: rm -f $(ROMS) $(OBJS) $(ROMS:.gbc=.sym) + +clean: tidy find . \( -iname '*.1bpp' -o -iname '*.2bpp' -o -iname '*.pcm' \) -exec rm {} + %.2bpp: %.png diff --git a/gfx/stage/menu_symbols.png b/gfx/stage/menu_symbols.png index 6c03769..823d2f9 100644 Binary files a/gfx/stage/menu_symbols.png and b/gfx/stage/menu_symbols.png differ diff --git a/gfx/unknown/d61a0.png b/gfx/unknown/d61a0.png new file mode 100644 index 0000000..1ae5327 Binary files /dev/null and b/gfx/unknown/d61a0.png differ diff --git a/gfx/unknown/d61b0.png b/gfx/unknown/d61b0.png new file mode 100644 index 0000000..4a07793 Binary files /dev/null and b/gfx/unknown/d61b0.png differ diff --git a/gfx/unknown/d61d0.png b/gfx/unknown/d61d0.png new file mode 100644 index 0000000..5fb300d Binary files /dev/null and b/gfx/unknown/d61d0.png differ diff --git a/gfx/unknown/d61e0.png b/gfx/unknown/d61e0.png new file mode 100644 index 0000000..bebd547 Binary files /dev/null and b/gfx/unknown/d61e0.png differ diff --git a/gfx/unknown/d63a0.png b/gfx/unknown/d63a0.png new file mode 100644 index 0000000..fdb2920 Binary files /dev/null and b/gfx/unknown/d63a0.png differ diff --git a/gfx/unknown/d63b0.png b/gfx/unknown/d63b0.png new file mode 100644 index 0000000..2b18d63 Binary files /dev/null and b/gfx/unknown/d63b0.png differ diff --git a/gfx/unknown/d63d0.png b/gfx/unknown/d63d0.png new file mode 100644 index 0000000..cc2e370 Binary files /dev/null and b/gfx/unknown/d63d0.png differ diff --git a/gfx/unknown/d63e0.png b/gfx/unknown/d63e0.png new file mode 100644 index 0000000..ef72665 Binary files /dev/null and b/gfx/unknown/d63e0.png differ diff --git a/gfx/unknown/d6400.png b/gfx/unknown/d6400.png new file mode 100644 index 0000000..a7b1bbe Binary files /dev/null and b/gfx/unknown/d6400.png differ diff --git a/gfx/unknown/d6410.png b/gfx/unknown/d6410.png new file mode 100644 index 0000000..e09c4ea Binary files /dev/null and b/gfx/unknown/d6410.png differ diff --git a/gfx/unknown/d6430.png b/gfx/unknown/d6430.png new file mode 100644 index 0000000..5ff8267 Binary files /dev/null and b/gfx/unknown/d6430.png differ diff --git a/gfx/unknown/d6440.png b/gfx/unknown/d6440.png new file mode 100644 index 0000000..ee265f8 Binary files /dev/null and b/gfx/unknown/d6440.png differ diff --git a/gfx/unknown/d6480.png b/gfx/unknown/d6480.png new file mode 100644 index 0000000..17c173a Binary files /dev/null and b/gfx/unknown/d6480.png differ diff --git a/home.asm b/home.asm index 6a63be8..b90349b 100755 --- a/home.asm +++ b/home.asm @@ -2316,7 +2316,7 @@ Func_e69: ; 0xe69 .asm_e77 dec a jr nz, .asm_e77 - ld hl, wBottomMessageText + $140 + ld hl, wc600 + $40 call Func_eef push hl ld hl, $9c00 @@ -2342,7 +2342,7 @@ Func_e69: ; 0xe69 ld hl, $9c10 call Func_ef8 pop hl - ld hl, wBottomMessageText + $1c0 + ld hl, wc600 + $c0 call Func_eef push hl ld hl, $9c20 @@ -5443,694 +5443,7 @@ UpdateAnimation: ; 0x28a9 ret INCLUDE "text.asm" - -Func_30db: ; 0x30db - ld a, $86 - ld [hWY], a - ld a, $1 - ld [wd5ca], a - ld [wd5cb], a - ret - -Func_30e8: ; 0x30e8 - ld a, $81 - ld hl, wBottomMessageText + $100 - ld b, $40 -.asm_30ef - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - dec b - jr nz, .asm_30ef - xor a - ld [wd5cc], a - ld [wd5d4], a - ld [wd5dc], a - ld [wd5e4], a - ld [wd5e9], a - ld [wd5ee], a - ret - -Func_310a: ; 0x310a - ld a, $81 - ld hl, wc600 + $40 - ld b, $5 -.asm_3111 - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - dec b - jr nz, .asm_3111 - ld hl, wc600 + $c0 - ld b, $5 -.asm_311d - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - dec b - jr nz, .asm_311d - ret - -Func_3125: ; 0x3125 - ld b, $1 - jr asm_312b - -Func_3129: ; 0x3129 - ld b, $0 -asm_312b: ; 0x312b - ld a, [wd805] - and a - jp nz, Func_3268 -.next_char - ld a, [hli] - and a - ret z - ld c, $81 - cp " " - jr z, .space - cp "," - jr z, .comma - cp "♂" - jr z, .male - cp "♀" - jr z, .female - cp "`" - jr z, .apostrophe - cp "!" - jr z, .exclamation - cp "x" - jr z, .little_x - cp "e" - jr z, .e_acute - cp "*" - jr z, .asterisk - cp "." - jr z, .period - cp ":" - jr z, .colon - cp "0" - jr c, .check_atoz - cp "9" + 1 - jr c, .digit -.check_atoz - cp "A" - jr c, .invalid - cp "Z" + 1 - jr c, .alphabet -.invalid - jr .next_char - -.space - ld a, c - jr .load_char - -.comma - inc c - dec e - jr .check_special_load - -.male - xor a - call Func_31e1 - ld a, $83 - jr .load_char - -.female - ld a, $1 - call Func_31e1 - ld a, $84 - jr .load_char - -.apostrophe - ld a, $2 - call Func_31e1 - ld a, $85 - jr .load_char - -.e_acute - ld a, $3 - call Func_31e1 - ld a, $83 - jr .load_char - -.asterisk - ld a, $4 - call Func_31e1 - ld a, $87 - jr .load_char - -.exclamation - ld a, $5 - call Func_31e1 - ld a, $85 - jr .load_char - -.little_x - ld a, $6 - call Func_31e1 - ld a, $85 - jr .load_char - -.period - ld a, $7 - call Func_31e1 - ld a, $86 - jr .load_char - -.colon - ld a, $8 - call Func_31e1 - ld a, $83 - jr .load_char - -.digit - add $56 - jr .load_char - -.alphabet - add $bf -.load_char - ld [de], a -.check_special_load - bit 0, b - jr nz, .no_special_load - set 7, e - ld a, c - ld [de], a - res 7, e -.no_special_load - inc e - jp .next_char - -Func_31e1: ; 0x31e1 - push bc - push de - push hl - ld c, a - ld a, [hGameBoyColorFlag] - and a - ld a, c - jr z, .asm_31ed - add $9 -.asm_31ed - ld c, a - sla a - sla a - add c - ld c, a - ld b, $0 - ld hl, Data_320e - add hl, bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld b, a - ld a, [hli] - ld h, [hl] - ld l, a - ld a, b - ld bc, $0010 - call LoadVRAMData - pop hl - pop de - pop bc - ret - -Data_320e: - dr $320e, $3268 - -Func_3268: ; 0x3268 - ld a, [hli] - and a - ret z - ld c, $81 - cp $20 - jr z, .asm_3297 - cp $2c - jr z, .asm_329a - cp $30 - jr c, .asm_327d - cp $3a - jr c, .asm_329e -.asm_327d - cp $a0 - jr c, .asm_3285 - cp $e0 - jr c, .asm_328f -.asm_3285 - cp $e0 - jr c, .asm_328d - cp $f4 - jr c, .asm_3293 -.asm_328d - jr Func_3268 - -.asm_328f - sub $80 - jr .asm_32a0 - -.asm_3293 - sub $50 - jr .asm_32a0 - -.asm_3297 - ld a, c - jr .asm_32a0 - -.asm_329a - inc c - dec e - jr .asm_32a1 - -.asm_329e - add $56 -.asm_32a0 - ld [de], a -.asm_32a1 - set 7, e - ld a, c - ld [de], a - res 7, e - inc e - jr Func_3268 - -LoadTextHeader: ; 0x32aa - ld a, $1 - ld [hli], a - ld a, [de] - ld [hli], a - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - push af - inc de - ld a, [de] - ld [hli], a - inc de - pop af - ld l, a - ld h, wBottomMessageText / $100 -.asm_32c5 - ld a, [de] - ld [hli], a - inc de - and a - jr nz, .asm_32c5 - ret - -Func_32cc: ; 0x32cc - ld a, $1 - ld [hli], a - ld a, [de] - ld [hli], a - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - push af - inc de - ld a, [de] - ld [hli], a - inc de - pop af - ld e, a - ld d, wBottomMessageText / $100 - ld hl, [sp+$5] - lb bc, 8, 1 -.asm_32ec - ld a, [hl] - swap a - and $f - call Func_3309 - dec b - ld a, [hld] - and $f - call Func_3309 - dec b - jr nz, .asm_32ec - ld a, "0" - ld [de], a - inc de - ld a, " " - ld [de], a - inc de - xor a - ld [de], a - ret - -Func_3309: ; 0x3309 - jr nz, .asm_3312 - ld a, b - dec a - jr z, .asm_3312 - ld a, c - and a - ret nz -.asm_3312 - add $30 - ld [de], a - inc de - ld c, $0 - ld a, b - cp $6 - jr z, .asm_3320 - cp $3 - ret nz -.asm_3320 - ld a, $2c - ld [de], a - inc de - ret - -Func_3325: ; 0x3325 - ld a, [hli] - and a - ret z - ld a, [hl] - dec a - ld [hli], a - ret nz - ld a, [hld] - ld [hl], a - inc hl - inc hl - push hl - ld a, [hli] - ld e, a - cp [hl] - inc hl - jr nz, .asm_333c - ld a, [hl] - dec a - ld [hl], a - jr nz, .asm_333d -.asm_333c - dec e -.asm_333d - push de - ld d, wc600 / $100 - inc hl - push hl - ld l, [hl] - ld h, wBottomMessageText / $100 - call Func_3129 - pop hl - inc hl - ld a, [hl] - dec a - ld [hl], a - pop de - pop hl - ld [hl], e - ret nz - dec hl - dec hl - dec hl - ld [hl], $0 - ret - -Func_3357: ; 0x3357 - ld a, $1 - ld [hli], a - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - push af - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - pop af - ld l, a - ld h, wBottomMessageText / $100 -.asm_336b - ld a, [de] - ld [hli], a - inc de - and a - jr nz, .asm_336b - ret - -Func_3372: ; 0x3372 - ld a, $1 - ld [hli], a - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - push af - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - pop af - ld e, a - ld d, wBottomMessageText / $100 - ld hl, [sp+$5] - lb bc, 8, 1 -.asm_338a - ld a, [hl] - swap a - and $f - call Func_33a7 - dec b - ld a, [hld] - and $f - call Func_33a7 - dec b - jr nz, .asm_338a - ld a, $30 - ld [de], a - inc de - ld a, $20 - ld [de], a - inc de - xor a - ld [de], a - ret - -Func_33a7: ; 0x33a7 - jr nz, .asm_33b0 - ld a, b - dec a - jr z, .asm_33b0 - ld a, c - and a - ret nz -.asm_33b0 - add $30 - ld [de], a - inc de - ld c, $0 - ld a, b - cp $6 - jr z, .asm_33be - cp $3 - ret nz -.asm_33be - ld a, $2c - ld [de], a - inc de - ret - -Func_33c3: ; 0x33c3 - ld a, [hli] - and a - ret z - ld a, [hli] - ld e, a - ld d, wc600 / $100 - push hl - ld l, [hl] - ld h, wBottomMessageText / $100 - call Func_3129 - pop hl - inc hl - ld a, [hl] - dec a - ld [hli], a - ret nz - ld a, [hl] - dec a - ld [hld], a - bit 7, a - ret z - dec hl - dec hl - dec hl - ld [hl], $0 - ret - -Func_33e3: ; 0x33e3 - ld a, [wd5ca] - and a - jr nz, .asm_33ed - ld [wd5cb], a - ret - -.asm_33ed - ld c, $0 - ld a, [wd5cc] - and a - jr z, .asm_33fe - push bc - ld hl, wd5cc - call Func_3325 - pop bc - inc c -.asm_33fe - ld a, [wd5d4] - and a - jr z, .asm_340d - push bc - ld hl, wd5d4 - call Func_3325 - pop bc - inc c -.asm_340d - ld a, [wd5dc] - and a - jr z, .asm_341c - push bc - ld hl, wd5dc - call Func_3325 - pop bc - inc c -.asm_341c - ld a, [wd5e4] - and a - jr z, .asm_342b - push bc - ld hl, wd5e4 - call Func_33c3 - pop bc - inc c -.asm_342b - ld a, [wd5e9] - and a - jr z, .asm_343a - push bc - ld hl, wd5e9 - call Func_33c3 - pop bc - inc c -.asm_343a - ld a, [wd5ee] - and a - jr z, .asm_3449 - push bc - ld hl, wd5ee - call Func_33c3 - pop bc - inc c -.asm_3449 - ld a, c - and a - ret nz - ld [wd5ca], a - call Func_30e8 - ld a, [hGameBoyColorFlag] - and a - jr nz, .gameboyColor - ld a, Bank(StageRedFieldTopStatusBarSymbolsGfx_GameBoy) - ld hl, $30 + StageRedFieldTopStatusBarSymbolsGfx_GameBoy - ld de, $8830 - ld bc, $0040 - call LoadOrCopyVRAMData - ret - -.gameboyColor - ld a, Bank(StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor) - ld hl, $30 + StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor - ld de, $8830 - ld bc, $0040 - call LoadOrCopyVRAMData - ret - -Func_3475: ; 0x3475 - xor a - ld [hJoypadState], a - ld [hNewlyPressedButtons], a - ld [hPressedButtons], a - call HandleTilts - ld a, [wCurrentStage] - bit 0, a - ld [hFarCallTempA], a - ld a, Bank(HandleFlippers) - ld hl, HandleFlippers - call nz, BankSwitch - ld [hFarCallTempA], a - callba Func_84b7 - call Func_33e3 - call Func_926 - rst AdvanceFrame - ld a, [wd5ca] - and a - jr nz, Func_3475 - ret - -FivePoints: ; 34a6 - bigBCD6 000000000005 -TenPoints: ; 34ac - bigBCD6 000000000010 -OneHundredPoints: ; 34b2 - bigBCD6 000000000100 -FourHundredPoints: ; 34b8 - bigBCD6 000000000400 -FiveHundredPoints: ; 34be - bigBCD6 000000000500 -OneThousandPoints: ; 34c4 - bigBCD6 000000001000 -FiveThousandPoints: ; 34ca - bigBCD6 000000005000 -TenThousandPoints: ; 34d0 - bigBCD6 000000010000 -OneHundredThousandPoints: ; 34d6 - bigBCD6 000000100000 -ThreeHundredThousandPoints: ; 34dc - bigBCD6 000000300000 -FiveHundredThousandPoints: ; 34e2 - bigBCD6 000000500000 -OneMillionPoints: ; 34e8 - bigBCD6 000001000000 -FiveMillionPoints: ; 34ee - bigBCD6 000005000000 -TenMillionPoints: ; 34f4 - bigBCD6 000010000000 -OneHundredMillionPoints: ; 34fa - bigBCD6 000100000000 +INCLUDE "home/text.asm" Func_3500: ld hl, wd464 @@ -6150,7 +5463,7 @@ Func_3500: callba AddBigBCD6FromQueueWithBallMultiplier ret -Func_351c: ; 0x351c +AddBCDEToCurBufferValue: ; 0x351c ld hl, wd464 ld a, e ld [hli], a @@ -6196,7 +5509,8 @@ Func_3538: ; 0x3538 ld [hli], a ret -Func_3556: ; 0x3556 +Retrieve8DigitBCDValueAtwd47a: ; 0x3556 +; Retrieves a 4-byte BCD value at wd47a ld a, [wd47a] ld e, a ld a, [wd47a + 1] @@ -6208,6 +5522,7 @@ Func_3556: ; 0x3556 ret Func_3567: +; BCD add bc to hl ld a, l add c daa @@ -6219,6 +5534,7 @@ Func_3567: ret Func_3570: +; BCD add de to hl ld a, l add e daa @@ -6230,6 +5546,7 @@ Func_3570: ret Func_3579: ; 0x3579 +; Delete 4-byte BCD value at wd47a ld hl, wd47a xor a ld [hli], a diff --git a/home/text.asm b/home/text.asm new file mode 100755 index 0000000..16463e7 --- /dev/null +++ b/home/text.asm @@ -0,0 +1,709 @@ +Func_30db: ; 0x30db + ld a, $86 + ld [hWY], a + ld a, $1 + ld [wd5ca], a + ld [wd5cb], a + ret + +Fillwc600WithBlackTile: ; 0x30e8 + ld a, $81 + ld hl, wc600 + ld b, $40 +.loop + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + dec b + jr nz, .loop + xor a + ld [wd5cc], a + ld [wd5d4], a + ld [wd5dc], a + ld [wd5e4], a + ld [wd5e9], a + ld [wd5ee], a + ret + +Func_310a: ; 0x310a + ld a, $81 + ld hl, wc600 + $40 + ld b, $5 +.asm_3111 + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + dec b + jr nz, .asm_3111 + ld hl, wc600 + $c0 + ld b, $5 +.asm_311d + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + dec b + jr nz, .asm_311d + ret + +Func_3125: ; 0x3125 + ld b, $1 + jr asm_312b + +Func_3129: ; 0x3129 + ld b, $0 +asm_312b: ; 0x312b + ld a, [wd805] + and a + jp nz, Func_3268 +.next_char + ld a, [hli] + and a + ret z + ld c, $81 + cp " " + jr z, .space + cp "," + jr z, .comma + cp "♂" + jr z, .male + cp "♀" + jr z, .female + cp "`" + jr z, .apostrophe + cp "!" + jr z, .exclamation + cp "x" + jr z, .little_x + cp "e" + jr z, .e_acute + cp "*" + jr z, .asterisk + cp "." + jr z, .period + cp ":" + jr z, .colon + cp "0" + jr c, .check_atoz + cp "9" + 1 + jr c, .digit +.check_atoz + cp "A" + jr c, .invalid + cp "Z" + 1 + jr c, .alphabet +.invalid + jr .next_char + +.space + ld a, c + jr .load_char + +.comma + inc c + dec e + jr .check_special_load + +.male + xor a + call Func_31e1 + ld a, $83 + jr .load_char + +.female + ld a, $1 + call Func_31e1 + ld a, $84 + jr .load_char + +.apostrophe + ld a, $2 + call Func_31e1 + ld a, $85 + jr .load_char + +.e_acute + ld a, $3 + call Func_31e1 + ld a, $83 + jr .load_char + +.asterisk + ld a, $4 + call Func_31e1 + ld a, $87 + jr .load_char + +.exclamation + ld a, $5 + call Func_31e1 + ld a, $85 + jr .load_char + +.little_x + ld a, $6 + call Func_31e1 + ld a, $85 + jr .load_char + +.period + ld a, $7 + call Func_31e1 + ld a, $86 + jr .load_char + +.colon + ld a, $8 + call Func_31e1 + ld a, $83 + jr .load_char + +.digit + add $56 + jr .load_char + +.alphabet + add $bf +.load_char + ld [de], a +.check_special_load + bit 0, b + jr nz, .no_special_load + set 7, e + ld a, c + ld [de], a + res 7, e +.no_special_load + inc e + jp .next_char + +Func_31e1: ; 0x31e1 + push bc + push de + push hl + ld c, a + ld a, [hGameBoyColorFlag] + and a + ld a, c + jr z, .asm_31ed + add $9 +.asm_31ed + ld c, a + sla a + sla a + add c + ld c, a + ld b, $0 + ld hl, Data_320e + add hl, bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld b, a + ld a, [hli] + ld h, [hl] + ld l, a + ld a, b + ld bc, $0010 + call LoadVRAMData + pop hl + pop de + pop bc + ret + +Data_320e: +macro_320e: MACRO + dw vTiles1 tile \1 + dba \2 + ENDM + macro_320e 3, GFX_d6440 + macro_320e 4, GFX_d6430 + macro_320e 5, GFX_d61d0 + macro_320e 3, GFX_d61c0 + macro_320e 7, GFX_d6480 + macro_320e 5, GFX_d61a0 + macro_320e 5, GFX_d6410 + macro_320e 6, GFX_d61b0 + macro_320e 3, GFX_d61e0 + macro_320e 3, GFX_d6440 + macro_320e 4, GFX_d6430 + macro_320e 5, GFX_d63d0 + macro_320e 3, GFX_d63c0 + macro_320e 7, GFX_d6480 + macro_320e 5, GFX_d63a0 + macro_320e 5, GFX_d6410 + macro_320e 6, GFX_d63b0 + macro_320e 3, GFX_d63e0 + +Func_3268: ; 0x3268 + ld a, [hli] + and a + ret z + ld c, $81 + cp $20 + jr z, .asm_3297 + cp $2c + jr z, .asm_329a + cp $30 + jr c, .asm_327d + cp $3a + jr c, .asm_329e +.asm_327d + cp $a0 + jr c, .asm_3285 + cp $e0 + jr c, .asm_328f +.asm_3285 + cp $e0 + jr c, .asm_328d + cp $f4 + jr c, .asm_3293 +.asm_328d + jr Func_3268 + +.asm_328f + sub $80 + jr .asm_32a0 + +.asm_3293 + sub $50 + jr .asm_32a0 + +.asm_3297 + ld a, c + jr .asm_32a0 + +.asm_329a + inc c + dec e + jr .asm_32a1 + +.asm_329e + add $56 +.asm_32a0 + ld [de], a +.asm_32a1 + set 7, e + ld a, c + ld [de], a + res 7, e + inc e + jr Func_3268 + +LoadTextHeader: ; 0x32aa + ld a, $1 + ld [hli], a + ld a, [de] + ld [hli], a + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + push af + inc de + ld a, [de] + ld [hli], a + inc de + pop af + ld l, a + ld h, wBottomMessageText / $100 +.asm_32c5 + ld a, [de] + ld [hli], a + inc de + and a + jr nz, .asm_32c5 + ret + +Func_32cc: ; 0x32cc + ld a, $1 + ld [hli], a + ld a, [de] + ld [hli], a + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + push af + inc de + ld a, [de] + ld [hli], a + inc de + pop af + ld e, a + ld d, wBottomMessageText / $100 + ld hl, [sp+$5] + lb bc, 8, 1 +.asm_32ec + ld a, [hl] + swap a + and $f + call Func_3309 + dec b + ld a, [hld] + and $f + call Func_3309 + dec b + jr nz, .asm_32ec + ld a, "0" + ld [de], a + inc de + ld a, " " + ld [de], a + inc de + xor a + ld [de], a + ret + +Func_3309: ; 0x3309 + jr nz, .asm_3312 + ld a, b + dec a + jr z, .asm_3312 + ld a, c + and a + ret nz +.asm_3312 + add $30 + ld [de], a + inc de + ld c, $0 + ld a, b + cp $6 + jr z, .asm_3320 + cp $3 + ret nz +.asm_3320 + ld a, $2c + ld [de], a + inc de + ret + +Func_3325: ; 0x3325 + ld a, [hli] + and a + ret z + ld a, [hl] + dec a + ld [hli], a + ret nz + ld a, [hld] + ld [hl], a + inc hl + inc hl + push hl + ld a, [hli] + ld e, a + cp [hl] + inc hl + jr nz, .asm_333c + ld a, [hl] + dec a + ld [hl], a + jr nz, .asm_333d +.asm_333c + dec e +.asm_333d + push de + ld d, wc600 / $100 + inc hl + push hl + ld l, [hl] + ld h, wBottomMessageText / $100 + call Func_3129 + pop hl + inc hl + ld a, [hl] + dec a + ld [hl], a + pop de + pop hl + ld [hl], e + ret nz + dec hl + dec hl + dec hl + ld [hl], $0 + ret + +Func_3357: ; 0x3357 + ld a, $1 + ld [hli], a + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + push af + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + inc de + pop af + ld l, a + ld h, wBottomMessageText / $100 +.asm_336b + ld a, [de] + ld [hli], a + inc de + and a + jr nz, .asm_336b + ret + +Func_3372: ; 0x3372 + ld a, $1 + ld [hli], a + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + push af + inc de + ld a, [de] + ld [hli], a + inc de + ld a, [de] + ld [hli], a + pop af + ld e, a + ld d, wBottomMessageText / $100 + ld hl, [sp+$5] + lb bc, 8, 1 +.asm_338a + ld a, [hl] + swap a + and $f + call Func_33a7 + dec b + ld a, [hld] + and $f + call Func_33a7 + dec b + jr nz, .asm_338a + ld a, $30 + ld [de], a + inc de + ld a, $20 + ld [de], a + inc de + xor a + ld [de], a + ret + +Func_33a7: ; 0x33a7 + jr nz, .asm_33b0 + ld a, b + dec a + jr z, .asm_33b0 + ld a, c + and a + ret nz +.asm_33b0 + add $30 + ld [de], a + inc de + ld c, $0 + ld a, b + cp $6 + jr z, .asm_33be + cp $3 + ret nz +.asm_33be + ld a, $2c + ld [de], a + inc de + ret + +Func_33c3: ; 0x33c3 + ld a, [hli] + and a + ret z + ld a, [hli] + ld e, a + ld d, wc600 / $100 + push hl + ld l, [hl] + ld h, wBottomMessageText / $100 + call Func_3129 + pop hl + inc hl + ld a, [hl] + dec a + ld [hli], a + ret nz + ld a, [hl] + dec a + ld [hld], a + bit 7, a + ret z + dec hl + dec hl + dec hl + ld [hl], $0 + ret + +Func_33e3: ; 0x33e3 + ld a, [wd5ca] + and a + jr nz, .asm_33ed + ld [wd5cb], a + ret + +.asm_33ed + ld c, $0 + ld a, [wd5cc] + and a + jr z, .asm_33fe + push bc + ld hl, wd5cc + call Func_3325 + pop bc + inc c +.asm_33fe + ld a, [wd5d4] + and a + jr z, .asm_340d + push bc + ld hl, wd5d4 + call Func_3325 + pop bc + inc c +.asm_340d + ld a, [wd5dc] + and a + jr z, .asm_341c + push bc + ld hl, wd5dc + call Func_3325 + pop bc + inc c +.asm_341c + ld a, [wd5e4] + and a + jr z, .asm_342b + push bc + ld hl, wd5e4 + call Func_33c3 + pop bc + inc c +.asm_342b + ld a, [wd5e9] + and a + jr z, .asm_343a + push bc + ld hl, wd5e9 + call Func_33c3 + pop bc + inc c +.asm_343a + ld a, [wd5ee] + and a + jr z, .asm_3449 + push bc + ld hl, wd5ee + call Func_33c3 + pop bc + inc c +.asm_3449 + ld a, c + and a + ret nz + ld [wd5ca], a + call Fillwc600WithBlackTile + ld a, [hGameBoyColorFlag] + and a + jr nz, .gameboyColor + ld a, Bank(StageRedFieldTopStatusBarSymbolsGfx_GameBoy) + ld hl, $30 + StageRedFieldTopStatusBarSymbolsGfx_GameBoy + ld de, $8830 + ld bc, $0040 + call LoadOrCopyVRAMData + ret + +.gameboyColor + ld a, Bank(StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor) + ld hl, $30 + StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor + ld de, $8830 + ld bc, $0040 + call LoadOrCopyVRAMData + ret + +Func_3475: ; 0x3475 + xor a + ld [hJoypadState], a + ld [hNewlyPressedButtons], a + ld [hPressedButtons], a + call HandleTilts + ld a, [wCurrentStage] + bit 0, a + ld [hFarCallTempA], a + ld a, Bank(HandleFlippers) + ld hl, HandleFlippers + call nz, BankSwitch + ld [hFarCallTempA], a + callba Func_84b7 + call Func_33e3 + call Func_926 + rst AdvanceFrame + ld a, [wd5ca] + and a + jr nz, Func_3475 + ret + +FivePoints: ; 34a6 + bigBCD6 000000000005 +TenPoints: ; 34ac + bigBCD6 000000000010 +OneHundredPoints: ; 34b2 + bigBCD6 000000000100 +FourHundredPoints: ; 34b8 + bigBCD6 000000000400 +FiveHundredPoints: ; 34be + bigBCD6 000000000500 +OneThousandPoints: ; 34c4 + bigBCD6 000000001000 +FiveThousandPoints: ; 34ca + bigBCD6 000000005000 +TenThousandPoints: ; 34d0 + bigBCD6 000000010000 +OneHundredThousandPoints: ; 34d6 + bigBCD6 000000100000 +ThreeHundredThousandPoints: ; 34dc + bigBCD6 000000300000 +FiveHundredThousandPoints: ; 34e2 + bigBCD6 000000500000 +OneMillionPoints: ; 34e8 + bigBCD6 000001000000 +FiveMillionPoints: ; 34ee + bigBCD6 000005000000 +TenMillionPoints: ; 34f4 + bigBCD6 000010000000 +OneHundredMillionPoints: ; 34fa + bigBCD6 000100000000 + diff --git a/main.asm b/main.asm index 5865a4d..af5ccea 100755 --- a/main.asm +++ b/main.asm @@ -4264,6 +4264,7 @@ AddBigBCD6FromQueueWithBallMultiplier: ; 0x8576 jr asm_8592 AddBigBCD6FromQueue: ; 0x8588 +; bc - Points to BCD buffer ld h, b ld l, c ld a, [wAddScoreQueueOffset] @@ -4399,7 +4400,7 @@ SetMaxScore: ; 0x8637 Func_8645: ; 0x8645 xor a ld [wd49f], a - ld de, wBottomMessageText + $147 + ld de, wc600 + $47 call Func_8524 ret @@ -4500,7 +4501,7 @@ HandleInGameMenu: ; 0x86d7 push af ld a, $1 ld [wd917], a - call Func_30e8 + call Fillwc600WithBlackTile xor a ld [wd4aa], a ld hl, wBottomMessageText @@ -4575,7 +4576,7 @@ HandleInGameMenu: ; 0x86d7 ld bc, $0010 call LoadVRAMData .asm_8786 - call Func_30e8 + call Fillwc600WithBlackTile pop af ld [wd917], a ld a, $1 @@ -9339,7 +9340,7 @@ Func_d861: ; 0xd861 ld [wd908], a ld [hFarCallTempA], a callba InitializeStage - call Func_30e8 + call Fillwc600WithBlackTile ld a, $1 ld [wd85d], a ld [wd4aa], a @@ -9571,7 +9572,7 @@ Func_da36: ; 0xda36 ld a, $2 ld [wd49c], a ld [wd4aa], a - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5dc ld de, ShootAgainText @@ -9710,12 +9711,12 @@ HighScoresStageMapping: ; 0xdb99 Func_dba9: ; 0xdba9 ld a, $85 - ld [wBottomMessageText + $144], a + ld [wc600 + $44], a ld a, [wd49d] xor $3 inc a add $86 - ld [wBottomMessageText + $145], a + ld [wc600 + $45], a ret Func_dbba: ; 0xdbba @@ -9821,7 +9822,7 @@ CallTable_dc4d: ; 0xdc4d Func_dc6d: ; 0xdc6d push de - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5dc pop de @@ -9829,7 +9830,7 @@ Func_dc6d: ; 0xdc6d ret Func_dc7c: ; 0xdc7c - ld hl, wBottomMessageText + $140 + ld hl, wc600 + $40 ld a, $83 ld [hli], a ld a, $81 @@ -9838,7 +9839,7 @@ Func_dc7c: ; 0xdc7c ld [hl], a ld a, [wNumPartyMons] call ConvertHexByteToDecWord - ld hl, wBottomMessageText + $141 + ld hl, wc600 + $41 ld c, $1 ld a, d call .asm_dca0 @@ -9870,7 +9871,7 @@ Func_dcb4: ; 0xdcb4 jr nz, .asm_dcbf ld a, $84 .asm_dcbf - ld [wBottomMessageText + $146], a + ld [wc600 + $46], a ret LoadBallGfx: ; 0xdcc3 @@ -10213,7 +10214,7 @@ Func_df1a: ; 0xdf1a ld a, [wd49a] and a ret nz - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5dc ld de, Data_2f04 @@ -10264,7 +10265,7 @@ Func_df7e: ; 0xdf7e ld a, [wd49a] and a ret nz - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5dc ld de, Data_2f1c @@ -10323,7 +10324,7 @@ Func_dfe2: ; 0xdfe2 ld a, [wd49a] and a ret nz - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5dc ld de, Data_2f4d @@ -10348,7 +10349,7 @@ Func_e056: ; 0xe056 ld a, [wd49a] and a ret nz - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5dc ld de, Data_2f34 @@ -10406,7 +10407,7 @@ Func_e08b: ; 0xe08b ld a, [wd49a] and a ret nz - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5dc ld de, Data_2f65 @@ -12152,7 +12153,7 @@ Func_efb2: ; 0xefb2 ld e, a ld d, $0 ld bc, $0000 - call Func_351c + call AddBCDEToCurBufferValue ret Func_eff3: ; 0xeff3 @@ -12191,7 +12192,7 @@ Func_eff3: ; 0xeff3 ld c, a ld b, $0 ld de, $0000 - call Func_351c + call AddBCDEToCurBufferValue ret Func_f034: ; 0xf034 @@ -12215,7 +12216,7 @@ UpgradeBallBlueField: ; 0xf040 jr z, .masterBall lb de, $06, $3a call PlaySoundEffect - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld de, FieldMultiplierText ld hl, wd5cc @@ -12242,7 +12243,7 @@ UpgradeBallBlueField: ; 0xf040 ld de, $0000 push bc push de - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5d4 ld de, DigitsText1to8 @@ -12591,7 +12592,7 @@ Data_f439: ; 0xf439 db $01, $26, $06, $26, $0D, $26, $04, $8C, $FF, $00 Func_f533: ; 0xf533 - call Func_30e8 + call Fillwc600WithBlackTile call Func_f55c call Func_f57f ld a, $60 @@ -12608,7 +12609,7 @@ Func_f533: ; 0xf533 ld [hLastLYC], a ld a, $ff ld [hLCDCMask], a - call Func_30e8 + call Fillwc600WithBlackTile ret Func_f55c: ; 0xf55c @@ -14345,7 +14346,7 @@ Func_10678: ; 0x10678 ret Func_10696: ; 0x10696 - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5cc ld de, LetsGetPokemonText @@ -14353,7 +14354,7 @@ Func_10696: ; 0x10696 ret Func_106a6: ; 0x106a6 - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5cc ld de, PokemonRanAwayText @@ -14394,7 +14395,7 @@ Func_106b6: ; 0x106b6 push hl push bc push de - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5cc pop de @@ -14575,11 +14576,11 @@ Func_107f8: ; 0x107f8 ret Func_10825: ; 0x10825 - call Func_3556 + call Retrieve8DigitBCDValueAtwd47a push bc push de - call Func_351c - call Func_30e8 + call AddBCDEToCurBufferValue + call Fillwc600WithBlackTile call Func_30db ld hl, wd5e9 ld de, Data_2a50 @@ -14595,7 +14596,7 @@ Func_10848: ; 0x10848 ld bc, OneHundredMillionPoints ld [hFarCallTempA], a callba AddBigBCD6FromQueue - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5d4 ld de, OneBillionText @@ -14876,7 +14877,7 @@ CallTable_10abc: ; 0x10abc Func_10ac8: ; 0x10ac8 xor a ld [wd5ca], a - call Func_30e8 + call Fillwc600WithBlackTile xor a ld [wInSpecialMode], a ld [wd5bb], a @@ -14946,7 +14947,7 @@ VideoData_10b2a: ; 0x10b2a dw $E0 Func_10b3f: ; 0x10b3f - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5cc ld a, [wCurrentEvolutionType] @@ -15173,7 +15174,7 @@ Func_10ca5: ; 0x10ca5 ret Func_10cb7: ; 0x10cb7 - call Func_30e8 + call Fillwc600WithBlackTile call Func_10b59 ld a, $60 ld [hWY], a @@ -15206,7 +15207,7 @@ Func_10cb7: ; 0x10cb7 ld bc, $0030 call LoadVRAMData .asm_10cfc - call Func_30e8 + call Fillwc600WithBlackTile ld a, $1 ld [wd4aa], a ld [wInSpecialMode], a @@ -15395,7 +15396,7 @@ Func_10e0a: ; 0x10e0a push hl push bc push de - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5cc pop de @@ -15441,7 +15442,7 @@ Func_10e8b: ; 0x10e8b ld de, $0000 push bc push de - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5d4 ld de, Data_2b6b @@ -18988,7 +18989,7 @@ Func_1535d: ; 0x1535d jr z, .masterBall lb de, $06, $3a call PlaySoundEffect - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld de, FieldMultiplierText ld hl, wd5cc @@ -19014,7 +19015,7 @@ Func_1535d: ; 0x1535d ld de, $0000 push bc push de - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5d4 ld de, DigitsText1to8 @@ -19265,10 +19266,217 @@ Func_155bb: ; 0x155bb ret Data_155d7: - dr $155d7, $157f7 + dw Data_155e3 + dw Data_155e3 + dw Data_155fa + dw Data_15611 + dw Data_15611 + dw Data_15628 + +Data_155e3: + db 11 + dw Data_1563f + dw Data_15649 + dw Data_15653 + dw Data_1565d + dw Data_15667 + dw Data_15671 + dw Data_1567b + dw Data_15685 + dw Data_1568f + dw Data_15699 + dw Data_156a3 + +Data_155fa: + db 11 + dw Data_156ad + dw Data_156b7 + dw Data_156c1 + dw Data_156cb + dw Data_156d5 + dw Data_156df + dw Data_156e9 + dw Data_156f3 + dw Data_156fd + dw Data_15707 + dw Data_15711 + +Data_15611: + db 11 + dw Data_1571b + dw Data_15725 + dw Data_1572f + dw Data_15739 + dw Data_15743 + dw Data_1574d + dw Data_15757 + dw Data_15761 + dw Data_1576b + dw Data_15775 + dw Data_1577f + +Data_15628: + db 11 + dw Data_15789 + dw Data_15793 + dw Data_1579d + dw Data_157a7 + dw Data_157b1 + dw Data_157bb + dw Data_157c5 + dw Data_157cf + dw Data_157d9 + dw Data_157e3 + dw Data_157ed + +Data_1563f: + dr $1563f, $15649 + +Data_15649: + dr $15649, $15653 + +Data_15653: + dr $15653, $1565d + +Data_1565d: + dr $1565d, $15667 + +Data_15667: + dr $15667, $15671 + +Data_15671: + dr $15671, $1567b + +Data_1567b: + dr $1567b, $15685 + +Data_15685: + dr $15685, $1568f + +Data_1568f: + dr $1568f, $15699 + +Data_15699: + dr $15699, $156a3 + +Data_156a3: + dr $156a3, $156ad + +Data_156ad: + dr $156ad, $156b7 + +Data_156b7: + dr $156b7, $156c1 + +Data_156c1: + dr $156c1, $156cb + +Data_156cb: + dr $156cb, $156d5 + +Data_156d5: + dr $156d5, $156df + +Data_156df: + dr $156df, $156e9 + +Data_156e9: + dr $156e9, $156f3 + +Data_156f3: + dr $156f3, $156fd + +Data_156fd: + dr $156fd, $15707 + +Data_15707: + dr $15707, $15711 + +Data_15711: + dr $15711, $1571b + +Data_1571b: + dr $1571b, $15725 + +Data_15725: + dr $15725, $1572f + +Data_1572f: + dr $1572f, $15739 + +Data_15739: + dr $15739, $15743 + +Data_15743: + dr $15743, $1574d + +Data_1574d: + dr $1574d, $15757 + +Data_15757: + dr $15757, $15761 + +Data_15761: + dr $15761, $1576b + +Data_1576b: + dr $1576b, $15775 + +Data_15775: + dr $15775, $1577f + +Data_1577f: + dr $1577f, $15789 + +Data_15789: + dr $15789, $15793 + +Data_15793: + dr $15793, $1579d + +Data_1579d: + dr $1579d, $157a7 + +Data_157a7: + dr $157a7, $157b1 + +Data_157b1: + dr $157b1, $157bb + +Data_157bb: + dr $157bb, $157c5 + +Data_157c5: + dr $157c5, $157cf + +Data_157cf: + dr $157cf, $157d9 + +Data_157d9: + dr $157d9, $157e3 + +Data_157e3: + dr $157e3, $157ed + +Data_157ed: + dr $157ed, $157f7 Data_157f7: - dr $157f7, $1581f + dw Data_15803 + dw Data_15803 + dw Data_1580a + dw Data_15811 + dw Data_15811 + dw Data_15818 + +Data_15803: + db $08, $04, $40, $68, $51, $37, $00 +Data_1580a: + db $08, $04, $40, $70, $51, $37, $00 +Data_15811: + db $08, $04, $40, $78, $51, $37, $00 +Data_15818: + db $08, $04, $40, $80, $51, $37, $00 Func_1581f: ; 0x1581f ld a, [wd51f] @@ -20144,7 +20352,7 @@ Func_16352: ; 0x16352 ret Func_163f2: ; 0x163f2 - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5dc ld a, [wd497] @@ -20392,7 +20600,7 @@ Func_1660c: ; 0x1660c ld [wBallSpin], a ld [wBallRotation], a ld [wd549], a - call Func_30e8 + call Fillwc600WithBlackTile jr .asm_1667b .asm_16667 @@ -20917,7 +21125,7 @@ Func_16ef5: ; 0x16ef5 ret z xor a ld [wd613], a - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5cc ld de, BonusMultiplierText @@ -23028,7 +23236,7 @@ Func_189af: ; 0x189af ld [wd498], a ld a, $1 ld [wd49a], a - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5dc ld de, Data_2f7b @@ -24042,7 +24250,7 @@ Func_19638: ; 0x19638 .asm_1965e ld a, $1 ld [wd49a], a - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5dc .asm_1966b @@ -25083,7 +25291,7 @@ Func_1ab30: ; 0x1ab30 ld [wd498], a ld a, $1 ld [wd49a], a - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5dc ld de, Data_2fb3 @@ -26836,7 +27044,7 @@ Func_1d0a1: ; 0x1d0a1 ld [wBallSpin], a ld [wBallRotation], a ld [wd549], a - call Func_30e8 + call Fillwc600WithBlackTile jr .asm_1d110 .asm_1d0fc @@ -27404,7 +27612,7 @@ Func_1d5bf: ; 0x1d5bf ret z xor a ld [wd613], a - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5cc ld de, BonusMultiplierText @@ -28161,7 +28369,7 @@ Func_1e356: ; 0x1e356 jr z, .masterBall lb de, $06, $3a call PlaySoundEffect - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5cc ld de, FieldMultiplierText @@ -28187,7 +28395,7 @@ Func_1e356: ; 0x1e356 ld de, $0000 push bc push de - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5d4 ld de, DigitsText1to8 @@ -28753,7 +28961,7 @@ Func_1e830: ; 0x1e830 ret Func_1e8c3: ; 0x1e8c3 - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5dc ld a, [wd497] @@ -30135,7 +30343,7 @@ Func_200d3: ; 0x200d3 ld de, $0000 push bc push de - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5e9 ld de, Data_2a2a @@ -30218,7 +30426,7 @@ Func_201ce: ; 0x201ce ld a, [wd5ca] and a ret nz - call Func_30e8 + call Fillwc600WithBlackTile ld [hFarCallTempA], a callba Func_dc00 ld [hFarCallTempA], a @@ -30292,7 +30500,7 @@ Func_20230: ; 0x20230 ld de, $0000 push bc push de - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5e9 ld de, Data_2a3d @@ -30458,7 +30666,7 @@ Func_20394: ; 0x20394 ld de, $0000 push bc push de - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5e9 ld de, Data_2a2a @@ -30541,7 +30749,7 @@ Func_2048f: ; 0x2048f ld a, [wd5ca] and a ret nz - call Func_30e8 + call Fillwc600WithBlackTile ld [hFarCallTempA], a callba Func_dc00 ld [hFarCallTempA], a @@ -30615,7 +30823,7 @@ Func_204f1: ; 0x204f1 ld de, $0000 push bc push de - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5e9 ld de, Data_2a3d @@ -30726,7 +30934,7 @@ Func_205e0: ; 0x205e0 ld bc, OneMillionPoints ld [hFarCallTempA], a callba AddBigBCD6FromQueue - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld de, YeahYouGotItText ld hl, wd5cc @@ -30861,7 +31069,7 @@ Func_20757: ; 0x20757 ld a, [wd5ca] and a ret nz - call Func_30e8 + call Fillwc600WithBlackTile ld [hFarCallTempA], a callba Func_dc00 ld [hFarCallTempA], a @@ -30923,7 +31131,7 @@ Func_2077b: ; 0x2077b .asm_207f5 ld [hFarCallTempA], a callba Func_86d2 - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5cc ld de, EvolutionFailedText @@ -31173,7 +31381,7 @@ Func_20977: ; 0x20977 ld bc, ThreeHundredThousandPoints ld [hFarCallTempA], a callba AddBigBCD6FromQueue - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld a, [wCurrentEvolutionType] dec a @@ -31220,7 +31428,7 @@ Func_209eb: ; 0x209eb ld bc, ThreeHundredThousandPoints ld [hFarCallTempA], a callba AddBigBCD6FromQueue - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5cc ld a, [wCurrentEvolutionType] @@ -31303,7 +31511,7 @@ asm_20a9f: ld bc, $0008 call Func_7dc .asm_20ada - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld a, [wCurrentEvolutionType] cp EVO_EXPERIENCE @@ -31485,7 +31693,7 @@ Func_20c08: ; 0x20c08 ld bc, OneMillionPoints ld [hFarCallTempA], a callba AddBigBCD6FromQueue - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld de, YeahYouGotItText ld hl, wd5cc @@ -31620,7 +31828,7 @@ Func_20d7c: ; 0x20d7c ld a, [wd5ca] and a ret nz - call Func_30e8 + call Fillwc600WithBlackTile ld [hFarCallTempA], a callba Func_dc00 ld [hFarCallTempA], a @@ -31682,7 +31890,7 @@ Func_20da0: ; 0x20da0 .asm_20e1a ld [hFarCallTempA], a callba Func_86d2 - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5cc ld de, EvolutionFailedText @@ -31912,7 +32120,7 @@ Func_20f75: ; 0x20f75 ld bc, ThreeHundredThousandPoints ld [hFarCallTempA], a callba AddBigBCD6FromQueue - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld a, [wCurrentEvolutionType] dec a @@ -31960,7 +32168,7 @@ Func_20fef: ; 0x20fef ld bc, ThreeHundredThousandPoints ld [hFarCallTempA], a callba AddBigBCD6FromQueue - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5cc ld a, [wCurrentEvolutionType] @@ -32063,7 +32271,7 @@ asm_210c7: ld bc, $0008 call Func_7dc .asm_21102 - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld a, [wCurrentEvolutionType] cp EVO_EXPERIENCE @@ -32776,7 +32984,7 @@ Func_2442a: ; 0x2442a call PlaySong ld a, $1 ld [wd49a], a - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5dc ld de, Data_2fd0 @@ -34763,7 +34971,7 @@ Func_25c5a: ; 0x25c5a call PlaySong ld a, $1 ld [wd49a], a - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5dc ld de, Data_2fec @@ -40103,7 +40311,7 @@ Func_30188: ; 0x30188 ret z cp $1 jr nz, .asm_301a7 - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5cc ld de, ExtraBallText @@ -40115,7 +40323,7 @@ Func_30188: ; 0x30188 ld de, $0000 push bc push de - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5d4 ld de, DigitsText1to9 @@ -40182,7 +40390,7 @@ CallTable_3021f: ; 0x3021f Func_3022b: ; 0x3022b xor a ld [wd5ca], a - call Func_30e8 + call Fillwc600WithBlackTile xor a ld [wInSpecialMode], a ld [wSpecialMode], a @@ -40402,7 +40610,7 @@ Data_30da3: ; 0x30da3 Func_3118f: ; 0x3118f push bc - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld a, [wCurrentMap] sla a @@ -40816,7 +41024,7 @@ Func_31505: ; 0x31505 ld a, [wd5ca] and a ret nz - call Func_30e8 + call Fillwc600WithBlackTile ld [hFarCallTempA], a callba Func_3022b ld de, $0001 @@ -40856,7 +41064,7 @@ Func_3151f: ; 0x3151f .asm_31577 ld [hFarCallTempA], a callba Func_86d2 - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5cc ld de, Data_2ca8 @@ -40977,7 +41185,7 @@ Func_31672: ; 0x31672 ld a, [wd5ca] and a ret nz - call Func_30e8 + call Fillwc600WithBlackTile ld [hFarCallTempA], a callba Func_3022b ld de, $0001 @@ -41021,7 +41229,7 @@ Func_3168c: ; 0x3168c .asm_316ee ld [hFarCallTempA], a callba Func_86d2 - call Func_30e8 + call Fillwc600WithBlackTile call Func_30db ld hl, wd5cc ld de, Data_2ca8 @@ -44036,22 +44244,35 @@ SeelBonusTilemap2_GameBoyColor: ; 0xd5c00 Alphabet1Gfx: ; 0xd6000 INCBIN "gfx/stage/alphabet_1.2bpp" - dr $d61a0, $d61c0 -GFX_d61c0: - INCBIN "gfx/stage/e_acute_mono.2bpp" - dr $d61d0, $d6200 +GFX_d61a0: INCBIN "gfx/unknown/d61a0.2bpp" +GFX_d61b0: INCBIN "gfx/unknown/d61b0.2bpp" +GFX_d61c0: INCBIN "gfx/stage/e_acute_mono.2bpp" +GFX_d61d0: INCBIN "gfx/unknown/d61d0.2bpp" +GFX_d61e0: INCBIN "gfx/unknown/d61e0.2bpp" + dr $d61f0, $d6200 Alphabet2Gfx: ; 0xd6200 INCBIN "gfx/stage/alphabet_2.2bpp" - dr $d63a0, $d63c0 -GFX_d63c0: - INCBIN "gfx/stage/e_acute_color.2bpp" - dr $d63d0, $d6450 +GFX_d63a0: INCBIN "gfx/unknown/d63a0.2bpp" +GFX_d63b0: INCBIN "gfx/unknown/d63b0.2bpp" +GFX_d63c0: INCBIN "gfx/stage/e_acute_color.2bpp" +GFX_d63d0: INCBIN "gfx/unknown/d63d0.2bpp" +GFX_d63e0: INCBIN "gfx/unknown/d63e0.2bpp" + + dr $d63f0, $d6410 + +GFX_d6410: INCBIN "gfx/unknown/d6410.2bpp" + + dr $d6420, $d6430 + +GFX_d6430: INCBIN "gfx/unknown/d6430.2bpp" +GFX_d6440: INCBIN "gfx/unknown/d6440.2bpp" InGameMenuSymbolsGfx: ; 0xd6450 INCBIN "gfx/stage/menu_symbols.2bpp" +GFX_d6480: INCBIN "gfx/unknown/d6480.2bpp" dr $d6490, $d6600 StageBlueFieldTopGfx3: ; 0xd6600 -- cgit v1.2.3 From 36381c3553bed66ca54b1ad8c1d281dce55bea0c Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 20 Jan 2017 08:47:59 -0500 Subject: SRAM and high scores --- home.asm | 171 +-- home/save.asm | 170 +++ main.asm | 3541 +-------------------------------------------------------- sram.asm | 16 +- wram.asm | 101 +- 5 files changed, 245 insertions(+), 3754 deletions(-) create mode 100755 home/save.asm diff --git a/home.asm b/home.asm index b90349b..1938843 100755 --- a/home.asm +++ b/home.asm @@ -2399,176 +2399,7 @@ Func_ef8: ; 0xef8 jr nz, .asm_f08 ret -Func_f0c: ; 0xf0c - call Func_f34 - ret nc -.asm_f10 - ld a, [hli] - ld [de], a - inc de - dec bc - ld a, b - or c - jr nz, .asm_f10 - scf - ret - -SaveData: ; 0xf1a -; Input: hl = data to save -; bc = number of bytes to save -; de = destination for saved data - push bc - push de - push hl -.asm_f1d - ld a, [hli] - ld [de], a - inc de - dec bc - ld a, b - or c - jr nz, .asm_f1d - pop hl - pop de - pop bc - ld h, d - ld l, e - call Func_f74 - call Func_fa1 - call Func_f4c - ret - -Func_f34: ; 0xf34 - call Func_f62 - jr nc, .asm_f3f - call Func_f7e - jr nc, .asm_f3f - ret - -.asm_f3f - add hl, bc - inc hl - inc hl - inc hl - inc hl - call Func_f62 - ret nc - call Func_f7e - ret - -Func_f4c: ; 0xf4c - push bc - push hl - push de - inc bc - inc bc - inc bc - inc bc - ld d, h - ld e, l - add hl, bc -.asm_f56 - ld a, [de] - ld [hli], a - inc de - dec bc - ld a, b - or c - jr nz, .asm_f56 - pop de - pop hl - pop bc - ret - -Func_f62: ; 0xf62 - push hl - add hl, bc - ld a, [hli] - cp $4e - jr nz, .asm_f71 - ld a, [hl] - cp $54 - jr nz, .asm_f71 - scf - jr .asm_f72 - -.asm_f71 - and a -.asm_f72 - pop hl - ret - -Func_f74: ; 0xf74 - push hl - add hl, bc - ld a, $4e - ld [hli], a - ld a, $54 - ld [hl], a - pop hl - ret - -Func_f7e: ; 0xf7e - push bc - push de - push hl - inc bc - inc bc - ld de, $0000 -.asm_f86 - ld a, [hli] - add e - ld e, a - jr nc, .asm_f8c - inc d -.asm_f8c - dec bc - ld a, b - or c - jr nz, .asm_f86 - ld a, [hli] - cp e - jr nz, .asm_f9c - ld a, [hl] - cp d - jr nz, .asm_f9c - scf - jr .asm_f9d - -.asm_f9c - and a -.asm_f9d - pop hl - pop de - pop bc - ret - -Func_fa1: ; 0xfa1 - push bc - push de - push hl - inc bc - inc bc - ld de, $0000 -.asm_fa9 - ld a, [hli] - add e - ld e, a - jr nc, .asm_faf - inc d -.asm_faf - dec bc - ld a, b - or c - jr nz, .asm_fa9 - ld a, e - ld [hli], a - ld a, d - ld [hl], a - pop hl - pop de - pop bc - ret +INCLUDE "home/save.asm" Func_fbc: ; 0xfbc jp Func_3ff diff --git a/home/save.asm b/home/save.asm new file mode 100755 index 0000000..63cfaa8 --- /dev/null +++ b/home/save.asm @@ -0,0 +1,170 @@ +LoadSavedData: ; 0xf0c + call ValidateSaveData + ret nc +.loop + ld a, [hli] + ld [de], a + inc de + dec bc + ld a, b + or c + jr nz, .loop + scf + ret + +SaveData: ; 0xf1a +; Input: hl = data to save +; bc = number of bytes to save +; de = destination for saved data + push bc + push de + push hl +.save + ld a, [hli] + ld [de], a + inc de + dec bc + ld a, b + or c + jr nz, .save + pop hl + pop de + pop bc + ld h, d + ld l, e + call SignData + call ComputeChecksum + call CreateBackupCopy + ret + +ValidateSaveData: ; 0xf34 + call ValidateSignature + jr nc, .backup + call ValidateChecksum + jr nc, .backup + ret + +.backup + add hl, bc + inc hl + inc hl + inc hl + inc hl + call ValidateSignature + ret nc + call ValidateChecksum + ret + +CreateBackupCopy: ; 0xf4c + push bc + push hl + push de + inc bc + inc bc + inc bc + inc bc + ld d, h + ld e, l + add hl, bc +.loop + ld a, [de] + ld [hli], a + inc de + dec bc + ld a, b + or c + jr nz, .loop + pop de + pop hl + pop bc + ret + +ValidateSignature: ; 0xf62 + push hl + add hl, bc + ld a, [hli] + cp $4e + jr nz, .asm_f71 + ld a, [hl] + cp $54 + jr nz, .asm_f71 + scf + jr .asm_f72 + +.asm_f71 + and a +.asm_f72 + pop hl + ret + +SignData: ; 0xf74 + push hl + add hl, bc + ld a, $4e + ld [hli], a + ld a, $54 + ld [hl], a + pop hl + ret + +ValidateChecksum: ; 0xf7e + push bc + push de + push hl + inc bc + inc bc + ld de, $0000 +.loop + ld a, [hli] + add e + ld e, a + jr nc, .asm_f8c + inc d +.asm_f8c + dec bc + ld a, b + or c + jr nz, .loop + ld a, [hli] + cp e + jr nz, .fail + ld a, [hl] + cp d + jr nz, .fail + scf + jr .pass + +.fail + and a +.pass + pop hl + pop de + pop bc + ret + +ComputeChecksum: ; 0xfa1 + push bc + push de + push hl + inc bc + inc bc + ld de, $0000 +.loop + ld a, [hli] + add e + ld e, a + jr nc, .nocarry + inc d +.nocarry + dec bc + ld a, b + or c + jr nz, .loop + ld a, e + ld [hli], a + ld a, d + ld [hl], a + pop hl + pop de + pop bc + ret diff --git a/main.asm b/main.asm index af5ccea..7420d7f 100755 --- a/main.asm +++ b/main.asm @@ -5,3460 +5,7 @@ INCLUDE "constants.asm" INCLUDE "home.asm" SECTION "bank1", ROMX, BANK[$1] - -OAMDataPointers: ; 0x4000 - dw BallSpin0OAM - dw BallSpin1OAM - dw BallSpin2OAM - dw BallSpin3OAM - dw BallSpin4OAM - dw BallSpin5OAM - dw BallSpin6OAM - dw BallSpin7OAM - dw OAMData_8 - dw OAMData_9 - dw OAMData_a - dw OAMData_b - dw OAMData_c - dw OAMData_d - dw OAMData_e - dw OAMData_f - dw OAMData_10 - dw OAMData_11 - dw OAMData_12 - dw OAMData_13 - dw OAMData_14 - dw OAMData_15 - dw OAMData_16 - dw OAMData_17 - dw OAMData_18 - dw OAMData_19 - dw OAMData_1a - dw OAMData_1b - dw OAMData_1c - dw OAMData_1d - dw OAMData_1e - dw OAMData_1f - dw OAMData_20 - dw OAMData_21 - dw OAMData_22 - dw OAMData_23 - dw OAMData_24 - dw OAMData_25 - dw OAMData_26 - dw OAMData_27 - dw OAMData_28 - dw OAMData_29 - dw OAMData_2a - dw OAMData_2b - dw OAMData_2c - dw OAMData_2d - dw OAMData_2e - dw OAMData_2f - dw OAMData_30 - dw OAMData_31 - dw OAMData_32 - dw OAMData_33 - dw OAMData_34 - dw OAMData_35 - dw OAMData_36 - dw OAMData_37 - dw OAMData_38 - dw OAMData_39 - dw OAMData_3a - dw OAMData_3b - dw OAMData_3c - dw OAMData_3d - dw OAMData_3e - dw OAMData_3f - dw OAMData_40 - dw OAMData_41 - dw OAMData_42 - dw OAMData_43 - dw OAMData_44 - dw OAMData_45 - dw OAMData_46 - dw OAMData_47 - dw OAMData_48 - dw OAMData_49 - dw OAMData_4a - dw OAMData_4b - dw OAMData_4c - dw OAMData_4d - dw OAMData_4e - dw OAMData_4f - dw OAMData_50 - dw OAMData_51 - dw OAMData_52 - dw OAMData_53 - dw OAMData_54 - dw OAMData_55 - dw OAMData_56 - dw OAMData_57 - dw OAMData_58 - dw OAMData_59 - dw TitlescreenPikachuBlinkFrame1OAM - dw TitlescreenPikachuBlinkFrame2OAM - dw TitlescreenPikachuBlinkFrame3OAM - dw TitlescreenPokeball1OAM - dw TitlescreenPokeball2OAM - dw TitlescreenPokeball3OAM - dw TitlescreenPokeball4OAM - dw TitlescreenPokeball5OAM - dw OAMData_62 - dw OAMData_63 - dw OAMData_64 - dw OAMData_65 - dw OAMData_66 - dw OAMData_67 - dw OAMData_68 - dw OAMData_69 - dw PokeDexTextOAM - dw OAMData_6b - dw Digit0OAM - dw Digit1OAM - dw Digit2OAM - dw Digit3OAM - dw Digit4OAM - dw Digit5OAM - dw Digit6OAM - dw Digit7OAM - dw Digit8OAM - dw Digit9OAM - dw SlashCharacterOAM - dw OAMData_77 - dw OAMData_78 - dw OAMData_79 - dw OAMData_7a - dw OAMData_7b - dw OAMData_7c - dw OAMData_7d - dw OAMData_7e - dw OAMData_7f - dw OAMData_80 - dw OAMData_81 - dw OAMData_82 - dw OAMData_83 - dw OAMData_84 - dw OAMData_85 - dw OAMData_86 - dw OAMData_87 - dw OAMData_88 - dw OAMData_89 - dw OAMData_8a - dw OAMData_8b - dw OAMData_8c - dw OAMData_8d - dw OAMData_8e - dw SendingHighScoresTextOAM - dw OAMData_90 - dw OAMData_91 - dw OAMData_92 - dw OAMData_93 - dw OAMData_94 - dw HighScoresRightArrowOAM - dw HighScoresLeftArrowOAM - dw OAMData_97 - dw SendHighScoresAnimation1OAM - dw SendHighScoresAnimation2OAM - dw SendHighScoresAnimation3OAM - dw SendHighScoresAnimation4OAM - dw SendHighScoresAnimation5OAM - dw SendHighScoresAnimation6OAM - dw FieldSelectRedStageBorderOAM - dw FieldSelectBlueStageBorderOAM - dw OAMData_a0 - dw OAMData_a1 - dw OAMData_a2 - dw OAMData_a3 - dw OAMData_a4 - dw OAMData_a5 - dw OAMData_a6 - dw OAMData_a7 - dw OAMData_a8 - dw OAMData_a9 - dw OAMData_aa - dw OAMData_ab - dw OAMData_ac - dw OAMData_ad - dw OAMData_ae - dw OAMData_af - dw OAMData_b0 - dw Timer0DigitOAM - dw Timer1DigitOAM - dw Timer2DigitOAM - dw Timer3DigitOAM - dw Timer4DigitOAM - dw Timer5DigitOAM - dw Timer6DigitOAM - dw Timer7DigitOAM - dw Timer8DigitOAM - dw Timer9DigitOAM - dw TimerColonOAM - dw OAMData_bc - dw OAMData_bd - dw OAMData_be - dw OAMData_bf - dw OAMData_c0 - dw OAMData_c1 - dw OAMData_c2 - dw OAMData_c3 - dw OAMData_c4 - dw OAMData_c5 - dw OAMData_c6 - dw OAMData_c7 - dw OAMData_c8 - dw OAMData_c9 - dw OAMData_ca - dw OAMData_cb - dw OAMData_cc - dw OAMData_cd - dw OAMData_ce - dw OAMData_cf - dw OAMData_d0 - dw OAMData_d1 - dw OAMData_d2 - dw OAMData_d3 - dw OAMData_d4 - dw OAMData_d5 - dw OAMData_d6 - dw OAMData_d7 - dw OAMData_d8 - dw OAMData_d9 - dw OAMData_da - dw OAMData_db - dw OAMData_dc - dw OAMData_dd - dw OAMData_de - dw OAMData_df - dw OAMData_e0 - dw OAMData_e1 - dw OAMData_e2 - dw OAMData_e3 - dw OAMData_e4 - dw OAMData_e5 - dw OAMData_e6 - dw OAMData_e7 - dw OAMData_e8 - dw OAMData_e9 - dw OAMData_ea - dw OAMData_eb - dw OAMData_ec - dw OAMData_ed - dw OAMData_ee - dw OAMData_ef - dw OAMData_f0 - dw OAMData_f1 - dw OAMData_f2 - dw OAMData_f3 - dw OAMData_f4 - dw OAMData_f5 - dw OAMData_f6 - dw OAMData_f7 - dw OAMData_f8 - -BallSpin0OAM: ; 0x41f2 - db $08, $08, $42, $00 - db $08, $00, $40, $00 - db $80 ; terminator - -BallSpin1OAM: ; 0x41fb - db $08, $08, $46, $00 - db $08, $00, $44, $00 - db $80 ; terminator - -BallSpin2OAM: ; 0x4204 - db $08, $08, $4a, $00 - db $08, $00, $48, $00 - db $80 ; terminator - -BallSpin3OAM: ; 0x420d - db $08, $08, $4e, $00 - db $08, $00, $4c, $00 - db $80 ; terminator - -BallSpin4OAM: ; 0x4216 - db $08, $08, $52, $00 - db $08, $00, $50, $00 - db $80 ; terminator - -BallSpin5OAM: ; 0x421f - db $08, $08, $56, $00 - db $08, $00, $54, $00 - db $80 ; terminator - -BallSpin6OAM: ; 0x4228 - db $08, $08, $5a, $00 - db $08, $00, $58, $00 - db $80 ; terminator - -BallSpin7OAM: ; 0x4231 - db $08, $08, $5e, $00 - db $08, $00, $5c, $00 - db $80 ; terminator - -OAMData_8: ; 0x423a - db $0c, $05, $64, $02 - db $0a, $fd, $62, $02 - db $14, $f5, $60, $02 - db $80 ; terminator - -OAMData_9: ; 0x4247 - db $0c, $05, $6a, $02 - db $04, $fd, $68, $02 - db $0c, $f5, $66, $02 - db $80 ; terminator - -OAMData_a: ; 0x4254 - db $0a, $05, $70, $02 - db $03, $fd, $6e, $02 - db $fd, $f5, $6c, $02 - db $80 ; terminator - -OAMData_b: ; 0x4261 - db $0c, $03, $64, $22 - db $0a, $0b, $62, $22 - db $14, $13, $60, $22 - db $80 ; terminator - -OAMData_c: ; 0x426e - db $0c, $03, $6a, $22 - db $04, $0b, $68, $22 - db $0c, $13, $66, $22 - db $80 ; terminator - -OAMData_d: ; 0x427b - db $0a, $03, $70, $22 - db $03, $0b, $6e, $22 - db $fd, $13, $6c, $22 - db $80 ; terminator - -OAMData_e: ; 0x4288 - db $00, $09, $74, $04 - db $00, $01, $72, $04 - db $80 ; terminator - -OAMData_f: ; 0x4291 - db $00, $01, $76, $04 - db $00, $09, $78, $04 - db $80 ; terminator - -OAMData_10: ; 0x429a - db $00, $09, $7c, $04 - db $00, $01, $7a, $04 - db $80 ; terminator - -OAMData_11: ; 0x42a3 - db $f5, $01, $3d, $51 - db $f1, $06, $3e, $31 - db $00, $09, $7c, $04 - db $00, $01, $7a, $04 - db $80 ; terminator - -OAMData_12: ; 0x42b4 - db $f1, $07, $3c, $11 - db $f1, $02, $3e, $11 - db $00, $09, $7c, $04 - db $00, $01, $7a, $04 - db $80 ; terminator - -OAMData_13: ; 0x42c5 - db $e9, $06, $3e, $31 - db $e9, $01, $3c, $31 - db $f1, $00, $3e, $31 - db $f1, $08, $3c, $31 - db $00, $09, $7c, $04 - db $00, $01, $7a, $04 - db $80 ; terminator - -OAMData_14: ; 0x42de - db $e8, $01, $3e, $11 - db $e8, $06, $3c, $11 - db $f3, $01, $3c, $31 - db $f3, $05, $3e, $31 - db $00, $09, $7c, $04 - db $00, $01, $7a, $04 - db $80 ; terminator - -OAMData_15: ; 0x42f7 - db $e5, $09, $3e, $11 - db $f1, $07, $3c, $11 - db $e9, $02, $3f, $51 - db $f2, $01, $3c, $31 - db $00, $09, $7c, $04 - db $00, $01, $7a, $04 - db $80 ; terminator - -OAMData_16: ; 0x4310 - db $e8, $01, $3d, $51 - db $f5, $00, $3f, $71 - db $f2, $06, $3e, $31 - db $e6, $07, $3c, $11 - db $00, $09, $7c, $04 - db $00, $01, $7a, $04 - db $80 ; terminator - -OAMData_17: ; 0x4329 - db $0c, $05, $64, $11 - db $0a, $fd, $62, $11 - db $14, $f5, $60, $11 - db $80 ; terminator - -OAMData_18: ; 0x4336 - db $0c, $03, $64, $31 - db $0a, $0b, $62, $31 - db $14, $13, $60, $31 - db $80 ; terminator - -OAMData_19: ; 0x4343 - db $00, $08, $a2, $02 - db $00, $00, $a0, $02 - db $80 ; terminator - -OAMData_1a: ; 0x434c - db $00, $10, $9e, $02 - db $00, $08, $9c, $02 - db $00, $00, $9a, $02 - db $00, $f8, $98, $02 - db $f0, $10, $96, $02 - db $f0, $08, $94, $02 - db $f0, $00, $92, $02 - db $f0, $f8, $90, $02 - db $80 ; terminator - -OAMData_1b: ; 0x436d - db $01, $0f, $a7, $62 - db $ff, $f7, $7f, $62 - db $e7, $07, $7e, $02 - db $e7, $fb, $a6, $02 - db $f3, $f4, $a5, $42 - db $e7, $12, $a6, $22 - db $fd, $fd, $a7, $42 - db $ef, $fa, $a6, $02 - db $ed, $0c, $a6, $22 - db $ef, $13, $a4, $22 - db $e6, $02, $a5, $42 - db $02, $05, $a7, $62 - db $fc, $0b, $a7, $62 - db $f7, $f9, $a4, $02 - db $fb, $10, $a5, $62 - db $f5, $09, $42, $00 - db $f5, $01, $40, $00 - db $80 ; terminator - -OAMData_1c: ; 0x43b2 - db $02, $11, $7f, $42 - db $e6, $f9, $7e, $22 - db $e6, $0f, $7e, $02 - db $f5, $f0, $a5, $42 - db $05, $05, $a7, $62 - db $f0, $09, $42, $00 - db $f0, $01, $40, $00 - db $f5, $17, $a5, $62 - db $01, $f7, $7f, $62 - db $80 ; terminator - -OAMData_1d: ; 0x43d7 - db $ee, $09, $42, $00 - db $ee, $01, $40, $00 - db $80 ; terminator - -OAMData_1e: ; 0x43e0 - db $ed, $09, $42, $00 - db $ed, $01, $40, $00 - db $80 ; terminator - -OAMData_1f: ; 0x43e9 - db $ee, $09, $42, $00 - db $ee, $01, $40, $00 - db $80 ; terminator - -OAMData_20: ; 0x43f2 - db $f0, $09, $42, $00 - db $f0, $01, $40, $00 - db $80 ; terminator - -OAMData_21: ; 0x43fb - db $f5, $09, $42, $00 - db $f5, $01, $40, $00 - db $80 ; terminator - -OAMData_22: ; 0x4404 - db $fb, $09, $42, $00 - db $fb, $01, $40, $00 - db $80 ; terminator - -OAMData_23: ; 0x440d - db $02, $09, $42, $00 - db $02, $01, $40, $00 - db $80 ; terminator - -OAMData_24: ; 0x4416 - db $01, $09, $42, $00 - db $01, $01, $40, $00 - db $80 ; terminator - -OAMData_25: ; 0x441f - db $02, $0a, $3a, $00 - db $02, $02, $38, $00 - db $80 ; terminator - -OAMData_26: ; 0x4428 - db $fb, $0a, $9e, $15 - db $fb, $02, $9c, $15 - db $ff, $15, $9a, $13 - db $ff, $0d, $98, $13 - db $ff, $05, $96, $13 - db $ff, $fd, $94, $13 - db $ef, $08, $92, $13 - db $ef, $00, $90, $13 - db $80 ; terminator - -OAMData_27: ; 0x4449 - db $fc, $0a, $1c, $15 - db $fc, $02, $1a, $15 - db $fe, $15, $9a, $13 - db $ff, $0d, $a8, $13 - db $ff, $05, $a6, $13 - db $ff, $fd, $a4, $13 - db $ef, $08, $a2, $13 - db $ef, $00, $a0, $13 - db $80 ; terminator - -OAMData_28: ; 0x446a - db $ff, $08, $2e, $15 - db $ff, $00, $2c, $15 - db $ff, $10, $2a, $13 - db $ff, $08, $28, $13 - db $ff, $00, $26, $13 - db $ff, $f8, $24, $13 - db $ef, $10, $22, $13 - db $ef, $08, $20, $13 - db $ef, $00, $1e, $13 - db $80 ; terminator - -OAMData_29: ; 0x448f - db $ef, $03, $92, $15 - db $f3, $0b, $94, $15 - db $f3, $fb, $90, $15 - db $0d, $09, $9e, $13 - db $fd, $09, $9c, $13 - db $0d, $01, $9a, $13 - db $fd, $01, $98, $13 - db $00, $11, $a0, $13 - db $00, $f9, $96, $13 - db $80 ; terminator - -OAMData_2a: ; 0x44b4 - db $f0, $04, $a4, $15 - db $f3, $0c, $a6, $15 - db $f3, $fc, $a2, $15 - db $00, $12, $1e, $13 - db $00, $0a, $1c, $13 - db $00, $02, $1a, $13 - db $00, $fa, $a8, $13 - db $80 ; terminator - -OAMData_2b: ; 0x44d1 - db $f8, $10, $26, $15 - db $f3, $08, $24, $15 - db $f3, $00, $22, $15 - db $f8, $f8, $20, $15 - db $00, $10, $2e, $13 - db $00, $08, $2c, $13 - db $00, $00, $2a, $13 - db $00, $f8, $28, $13 - db $80 ; terminator - -OAMData_2c: ; 0x44f2 - db $00, $10, $9e, $13 - db $00, $08, $9c, $13 - db $00, $00, $9a, $13 - db $00, $f8, $98, $13 - db $f0, $10, $96, $13 - db $f0, $08, $94, $13 - db $f0, $00, $92, $13 - db $f0, $f8, $90, $13 - db $80 ; terminator - -OAMData_2d: ; 0x4513 - db $00, $10, $1e, $13 - db $00, $08, $1c, $13 - db $00, $00, $1a, $13 - db $00, $f8, $a8, $13 - db $f0, $10, $a6, $13 - db $f0, $08, $a4, $13 - db $f0, $00, $a2, $13 - db $f0, $f8, $a0, $13 - db $80 ; terminator - -OAMData_2e: ; 0x4534 - db $00, $10, $2e, $13 - db $00, $08, $2c, $13 - db $00, $00, $2a, $13 - db $00, $f8, $28, $13 - db $f0, $10, $26, $13 - db $f0, $08, $24, $13 - db $f0, $00, $22, $13 - db $f0, $f8, $20, $13 - db $80 ; terminator - -OAMData_2f: ; 0x4555 - db $00, $10, $9e, $13 - db $00, $08, $9c, $13 - db $00, $00, $9a, $13 - db $00, $f8, $98, $13 - db $f0, $10, $96, $13 - db $f0, $08, $94, $13 - db $f0, $00, $92, $13 - db $f0, $f8, $90, $13 - db $80 ; terminator - -OAMData_30: ; 0x4576 - db $00, $10, $1e, $13 - db $00, $08, $1c, $13 - db $00, $00, $1a, $13 - db $00, $f8, $a8, $13 - db $f0, $10, $a6, $13 - db $f0, $08, $a4, $13 - db $f0, $00, $a2, $13 - db $f0, $f8, $a0, $13 - db $80 ; terminator - -OAMData_31: ; 0x4597 - db $01, $10, $2e, $13 - db $01, $08, $2c, $13 - db $01, $00, $2a, $13 - db $01, $f8, $28, $13 - db $f1, $10, $26, $13 - db $f1, $08, $24, $13 - db $f1, $00, $22, $13 - db $f1, $f8, $20, $13 - db $80 ; terminator - -OAMData_32: ; 0x45b8 - db $10, $08, $30, $06 - db $80 ; terminator - -OAMData_33: ; 0x45bd - db $10, $08, $30, $26 - db $80 ; terminator - -OAMData_34: ; 0x45c2 - db $10, $08, $32, $06 - db $80 ; terminator - -OAMData_35: ; 0x45c7 - db $10, $08, $32, $26 - db $80 ; terminator - -OAMData_36: ; 0x45cc - db $10, $08, $34, $06 - db $80 ; terminator - -OAMData_37: ; 0x45d1 - db $10, $08, $34, $26 - db $80 ; terminator - -OAMData_38: ; 0x45d6 - db $10, $08, $36, $06 - db $80 ; terminator - -OAMData_39: ; 0x45db - db $08, $08, $37, $46 - db $80 ; terminator - -OAMData_3a: ; 0x45e0 - db $10, $08, $90, $06 - db $80 ; terminator - -OAMData_3b: ; 0x45e5 - db $10, $08, $92, $06 - db $80 ; terminator - -OAMData_3c: ; 0x45ea - db $10, $08, $94, $06 - db $80 ; terminator - -OAMData_3d: ; 0x45ef - db $10, $08, $96, $17 - db $80 ; terminator - -OAMData_3e: ; 0x45f4 - db $10, $08, $98, $17 - db $80 ; terminator - -OAMData_3f: ; 0x45f9 - db $10, $08, $9a, $06 - db $80 ; terminator - -OAMData_40: ; 0x45fe - db $10, $08, $9c, $06 - db $80 ; terminator - -OAMData_41: ; 0x4603 - db $10, $08, $20, $06 - db $80 ; terminator - -OAMData_42: ; 0x4608 - db $10, $08, $22, $06 - db $80 ; terminator - -OAMData_43: ; 0x460d - db $10, $08, $24, $06 - db $80 ; terminator - -OAMData_44: ; 0x4612 - db $10, $08, $26, $17 - db $80 ; terminator - -OAMData_45: ; 0x4617 - db $10, $08, $28, $17 - db $80 ; terminator - -OAMData_46: ; 0x461c - db $10, $08, $2a, $06 - db $80 ; terminator - -OAMData_47: ; 0x4621 - db $10, $08, $2c, $06 - db $80 ; terminator - -OAMData_48: ; 0x4626 - db $10, $08, $60, $06 - db $80 ; terminator - -OAMData_49: ; 0x462b - db $10, $08, $62, $06 - db $80 ; terminator - -OAMData_4a: ; 0x4630 - db $10, $08, $64, $06 - db $80 ; terminator - -OAMData_4b: ; 0x4635 - db $10, $08, $66, $17 - db $80 ; terminator - -OAMData_4c: ; 0x463a - db $10, $08, $68, $17 - db $80 ; terminator - -OAMData_4d: ; 0x463f - db $10, $08, $6a, $06 - db $80 ; terminator - -OAMData_4e: ; 0x4644 - db $10, $08, $6c, $06 - db $80 ; terminator - -OAMData_4f: ; 0x4649 - db $1f, $19, $20, $37 - db $1f, $21, $1e, $37 - db $0f, $19, $1c, $37 - db $0f, $21, $1a, $37 - db $1f, $10, $20, $17 - db $1f, $08, $1e, $17 - db $0f, $10, $1c, $17 - db $0f, $08, $1a, $17 - db $80 ; terminator - -OAMData_50: ; 0x466a - db $1f, $19, $28, $37 - db $1f, $21, $26, $37 - db $0f, $19, $24, $37 - db $0f, $21, $22, $37 - db $1f, $10, $28, $17 - db $1f, $08, $26, $17 - db $0f, $10, $24, $17 - db $0f, $08, $22, $17 - db $80 ; terminator - -OAMData_51: ; 0x468b - db $1f, $19, $38, $37 - db $1f, $10, $38, $17 - db $1f, $21, $2e, $37 - db $0f, $19, $2c, $37 - db $0f, $21, $2a, $37 - db $1f, $08, $2e, $17 - db $0f, $10, $2c, $17 - db $0f, $08, $2a, $17 - db $80 ; terminator - -OAMData_52: ; 0x46ac - db $08, $f8, $60, $00 - db $80 ; terminator - -OAMData_53: ; 0x46b1 - db $08, $08, $60, $00 - db $08, $00, $60, $00 - db $08, $f8, $60, $00 - db $80 ; terminator - -OAMData_54: ; 0x46be - db $08, $20, $60, $00 - db $08, $18, $60, $00 - db $08, $10, $60, $00 - db $08, $08, $60, $00 - db $08, $00, $60, $00 - db $08, $f8, $60, $00 - db $80 ; terminator - -OAMData_55: ; 0x46d7 - db $10, $20, $60, $00 - db $10, $18, $60, $00 - db $10, $10, $60, $00 - db $10, $08, $60, $00 - db $10, $00, $60, $00 - db $10, $f8, $60, $00 - db $08, $20, $60, $00 - db $08, $18, $60, $00 - db $08, $10, $60, $00 - db $08, $08, $60, $00 - db $08, $00, $60, $00 - db $08, $f8, $60, $00 - db $80 ; terminator - -OAMData_56: ; 0x4708 - db $10, $20, $60, $40 - db $10, $18, $60, $40 - db $10, $10, $60, $40 - db $10, $08, $60, $40 - db $10, $00, $60, $40 - db $18, $20, $60, $40 - db $18, $18, $60, $40 - db $18, $10, $60, $40 - db $18, $08, $60, $40 - db $18, $00, $60, $40 - db $18, $f8, $60, $40 - db $10, $f8, $60, $40 - db $08, $f8, $60, $40 - db $08, $20, $59, $00 - db $08, $18, $58, $00 - db $08, $10, $57, $00 - db $08, $08, $56, $00 - db $08, $00, $55, $00 - db $80 ; terminator - -OAMData_57: ; 0x4751 - db $18, $20, $60, $40 - db $18, $18, $60, $40 - db $18, $10, $60, $40 - db $18, $08, $60, $40 - db $18, $00, $60, $40 - db $18, $f8, $60, $40 - db $10, $f8, $60, $40 - db $08, $f8, $60, $40 - db $10, $20, $5f, $00 - db $10, $18, $5e, $00 - db $10, $10, $5d, $00 - db $10, $08, $5c, $00 - db $10, $00, $5b, $00 - db $08, $20, $59, $00 - db $08, $18, $58, $00 - db $08, $10, $57, $00 - db $08, $08, $56, $00 - db $08, $00, $55, $00 - db $80 ; terminator - -OAMData_58: ; 0x479a - db $18, $f8, $60, $40 - db $10, $f8, $5a, $00 - db $08, $f8, $54, $00 - db $18, $20, $65, $00 - db $18, $18, $64, $00 - db $18, $10, $63, $00 - db $18, $08, $62, $00 - db $18, $00, $61, $00 - db $10, $20, $5f, $00 - db $10, $18, $5e, $00 - db $10, $10, $5d, $00 - db $10, $08, $5c, $00 - db $10, $00, $5b, $00 - db $08, $20, $59, $00 - db $08, $18, $58, $00 - db $08, $10, $57, $00 - db $08, $08, $56, $00 - db $08, $00, $55, $00 - db $80 ; terminator - -OAMData_59: ; 0x47e3 - db $08, $f8, $60, $40 - db $18, $f8, $67, $00 - db $10, $f8, $66, $00 - db $18, $20, $65, $00 - db $18, $18, $64, $00 - db $18, $10, $63, $00 - db $18, $08, $62, $00 - db $18, $00, $61, $00 - db $10, $20, $5f, $00 - db $10, $18, $5e, $00 - db $10, $10, $5d, $00 - db $10, $08, $5c, $00 - db $10, $00, $5b, $00 - db $08, $20, $59, $00 - db $08, $18, $58, $00 - db $08, $10, $57, $00 - db $08, $08, $56, $00 - db $08, $00, $55, $00 - db $80 ; terminator - -TitlescreenPikachuBlinkFrame1OAM: ; 0x482c - db $10, $28, $3f, $00 - db $10, $20, $3e, $00 - db $10, $18, $3d, $00 - db $10, $10, $3c, $00 - db $10, $08, $3b, $00 - db $80 ; terminator - -TitlescreenPikachuBlinkFrame2OAM: ; 0x4841 - db $18, $09, $44, $00 - db $10, $10, $41, $00 - db $10, $08, $40, $00 - db $80 ; terminator - -TitlescreenPikachuBlinkFrame3OAM: ; 0x484e - db $18, $09, $45, $00 - db $10, $10, $43, $00 - db $10, $08, $42, $00 - db $80 ; terminator - -; These next 5 OAM entries are for the individual frames of the -; bouncing pokeball on the titlescreen. -TitlescreenPokeball1OAM: ; 0x485b - db $14, $00, $4c, $02 - db $0c, $00, $46, $31 - db $14, $f8, $47, $02 - db $0c, $f8, $46, $11 - db $80 ; terminator - -TitlescreenPokeball2OAM: ; 0x486c - db $15, $00, $4d, $02 - db $0d, $00, $48, $31 - db $15, $f8, $49, $02 - db $0d, $f8, $48, $11 - db $80 ; terminator - -TitlescreenPokeball3OAM: ; 0x487d - db $13, $00, $4c, $02 - db $0b, $00, $46, $31 - db $13, $f8, $47, $02 - db $0b, $f8, $46, $11 - db $80 ; terminator - -TitlescreenPokeball4OAM: ; 0x488e - db $11, $00, $4e, $02 - db $09, $00, $4a, $31 - db $11, $f8, $4b, $02 - db $09, $f8, $4a, $11 - db $80 ; terminator - -TitlescreenPokeball5OAM: ; 0x489f - db $11, $00, $4c, $02 - db $09, $00, $46, $31 - db $11, $f8, $47, $02 - db $09, $f8, $46, $11 - db $80 ; terminator - -OAMData_62: ; 0x48b0 - db $10, $20, $53, $11 - db $10, $18, $52, $11 - db $08, $20, $51, $11 - db $18, $0c, $50, $11 - db $10, $0c, $4f, $11 - db $80 ; terminator - -OAMData_63: ; 0x48c5 - db $10, $08, $70, $11 - db $80 ; terminator - -OAMData_64: ; 0x48ca - db $10, $10, $71, $31 - db $10, $08, $71, $11 - db $80 ; terminator - -OAMData_65: ; 0x48d3 - db $10, $18, $74, $17 - db $10, $10, $73, $00 - db $10, $08, $72, $17 - db $80 ; terminator - -OAMData_66: ; 0x48e0 - db $10, $18, $77, $17 - db $10, $10, $76, $00 - db $10, $08, $75, $17 - db $80 ; terminator - -OAMData_67: ; 0x48ed - db $10, $08, $78, $00 - db $80 ; terminator - -OAMData_68: ; 0x48f2 - db $10, $08, $79, $00 - db $80 ; terminator - -OAMData_69: ; 0x48f7 - db $10, $08, $79, $11 - db $80 ; terminator - -PokeDexTextOAM: ; 0x48fc -; "POKeDEX" in the top-right corner of the Pokedex screen - db $12, $34, $7f, $11 - db $12, $2c, $7e, $11 - db $12, $24, $7d, $11 - db $12, $1c, $7c, $11 - db $12, $14, $7b, $11 - db $12, $0c, $7a, $11 - db $80 ; terminator - -OAMData_6b: ; 0x4915 - db $10, $08, $6f, $11 - db $80 ; terminator - -Digit0OAM: ; 0x491a - db $10, $08, $53, $11 - db $80 ; terminator - -Digit1OAM: ; 0x491f - db $10, $08, $54, $11 - db $80 ; terminator - -Digit2OAM: ; 0x4924 - db $10, $08, $55, $11 - db $80 ; terminator - -Digit3OAM: ; 0x4929 - db $10, $08, $56, $11 - db $80 ; terminator - -Digit4OAM: ; 0x492e - db $10, $08, $57, $11 - db $80 ; terminator - -Digit5OAM: ; 0x4933 - db $10, $08, $58, $11 - db $80 ; terminator - -Digit6OAM: ; 0x4938 - db $10, $08, $59, $11 - db $80 ; terminator - -Digit7OAM: ; 0x493d - db $10, $08, $5a, $11 - db $80 ; terminator - -Digit8OAM: ; 0x4942 - db $10, $08, $5b, $11 - db $80 ; terminator - -Digit9OAM: ; 0x4947 - db $10, $08, $5c, $11 - db $80 ; terminator - -SlashCharacterOAM: ; 0x494c -; "/" (used to separate seen/own count on the pokedex screen) - db $10, $08, $5e, $11 - db $80 ; terminator - -OAMData_77: ; 0x4951 - db $11, $07, $34, $00 - db $80 ; terminator - -OAMData_78: ; 0x4956 - db $0f, $07, $36, $00 - db $80 ; terminator - -OAMData_79: ; 0x495b - db $0f, $07, $38, $00 - db $80 ; terminator - -OAMData_7a: ; 0x4960 - db $f4, $18, $26, $13 - db $f4, $10, $24, $13 - db $f4, $08, $22, $13 - db $10, $00, $3a, $02 - db $09, $10, $3e, $00 - db $08, $08, $3c, $00 - db $80 ; terminator - -OAMData_7b: ; 0x4979 - db $10, $28, $78, $00 - db $10, $08, $5c, $02 - db $10, $10, $5e, $02 - db $10, $18, $60, $02 - db $10, $20, $62, $02 - db $20, $08, $64, $02 - db $20, $10, $66, $02 - db $20, $18, $68, $02 - db $20, $20, $6a, $02 - db $20, $28, $6c, $02 - db $30, $08, $6e, $02 - db $30, $10, $70, $02 - db $30, $18, $72, $02 - db $30, $20, $74, $02 - db $30, $28, $76, $02 - db $80 ; terminator - -OAMData_7c: ; 0x49b6 - db $11, $29, $7a, $02 - db $11, $09, $40, $02 - db $11, $11, $42, $02 - db $11, $19, $44, $02 - db $11, $21, $46, $02 - db $21, $09, $48, $02 - db $21, $11, $4a, $02 - db $21, $19, $4c, $02 - db $21, $21, $4e, $02 - db $21, $29, $50, $02 - db $31, $09, $52, $02 - db $31, $11, $54, $02 - db $31, $19, $56, $02 - db $31, $21, $58, $02 - db $31, $29, $5a, $02 - db $80 ; terminator - -OAMData_7d: ; 0x49f3 - db $0c, $10, $2a, $04 - db $0c, $08, $28, $04 - db $80 ; terminator - -OAMData_7e: ; 0x49fc - db $0d, $10, $2e, $04 - db $0d, $08, $2c, $04 - db $80 ; terminator - -OAMData_7f: ; 0x4a05 - db $0b, $10, $2a, $04 - db $0b, $08, $28, $04 - db $80 ; terminator - -OAMData_80: ; 0x4a0e - db $09, $10, $32, $04 - db $09, $08, $30, $04 - db $80 ; terminator - -OAMData_81: ; 0x4a17 - db $09, $10, $2a, $04 - db $09, $08, $28, $04 - db $80 ; terminator - -OAMData_82: ; 0x4a20 - db $10, $08, $7c, $00 - db $80 ; terminator - -OAMData_83: ; 0x4a25 - db $10, $08, $7c, $20 - db $80 ; terminator - -OAMData_84: ; 0x4a2a - db $10, $08, $7e, $11 - db $80 ; terminator - -OAMData_85: ; 0x4a2f - db $10, $08, $20, $13 - db $80 ; terminator - -OAMData_86: ; 0x4a34 - db $18, $08, $7f, $00 - db $10, $08, $7e, $00 - db $80 ; terminator - -OAMData_87: ; 0x4a3d - db $20, $25, $15, $02 - db $18, $25, $0f, $02 - db $10, $25, $0a, $02 - db $18, $1d, $0e, $02 - db $18, $15, $0d, $02 - db $18, $0d, $0c, $02 - db $18, $05, $0b, $02 - db $10, $1d, $09, $02 - db $10, $15, $08, $02 - db $10, $0d, $07, $02 - db $10, $05, $06, $02 - db $20, $1d, $14, $02 - db $20, $15, $13, $02 - db $20, $0d, $12, $02 - db $20, $05, $11, $02 - db $80 ; terminator - -OAMData_88: ; 0x4a7a - db $20, $f5, $10, $02 - db $18, $f5, $02, $02 - db $10, $f5, $01, $02 - db $80 ; terminator - -OAMData_89: ; 0x4a87 - db $10, $f5, $10, $42 - db $18, $f5, $02, $42 - db $20, $f5, $01, $42 - db $80 ; terminator - -OAMData_8a: ; 0x4a94 - db $20, $fd, $00, $02 - db $18, $fd, $00, $02 - db $10, $fd, $00, $02 - db $80 ; terminator - -OAMData_8b: ; 0x4aa1 - db $20, $fd, $00, $02 - db $18, $fd, $04, $02 - db $10, $fd, $03, $02 - db $80 ; terminator - -OAMData_8c: ; 0x4aae - db $10, $fd, $00, $02 - db $18, $fd, $04, $42 - db $20, $fd, $03, $42 - db $80 ; terminator - -OAMData_8d: ; 0x4abb - db $18, $fd, $05, $02 - db $20, $fd, $03, $42 - db $10, $fd, $03, $02 - db $80 ; terminator - -OAMData_8e: ; 0x4ac8 - db $0e, $2f, $1f, $02 - db $0e, $27, $1e, $02 - db $16, $2f, $29, $02 - db $16, $27, $28, $02 - db $16, $1f, $27, $02 - db $16, $17, $26, $02 - db $16, $0f, $25, $02 - db $16, $07, $24, $02 - db $16, $ff, $23, $02 - db $16, $f7, $22, $02 - db $16, $ef, $21, $02 - db $16, $e7, $20, $02 - db $0e, $1f, $1d, $02 - db $0e, $17, $1c, $02 - db $0e, $0f, $1b, $02 - db $0e, $07, $1a, $02 - db $0e, $ff, $19, $02 - db $0e, $f7, $18, $02 - db $0e, $ef, $17, $02 - db $0e, $e7, $16, $02 - db $80 ; terminator - -SendingHighScoresTextOAM: ; 0x4b19 -; The text "SENDING..." during the sending high scores animation. - db $0e, $2f, $1f, $02 - db $0e, $27, $1e, $02 - db $16, $2f, $3b, $02 - db $16, $27, $3a, $02 - db $16, $1f, $39, $02 - db $16, $17, $38, $02 - db $16, $0f, $37, $02 - db $16, $07, $36, $02 - db $16, $ff, $35, $02 - db $16, $f7, $34, $02 - db $16, $ef, $33, $02 - db $16, $e7, $32, $02 - db $0e, $1f, $31, $02 - db $0e, $17, $30, $02 - db $0e, $0f, $2f, $02 - db $0e, $07, $2e, $02 - db $0e, $ff, $2d, $02 - db $0e, $f7, $2c, $02 - db $0e, $ef, $2b, $02 - db $0e, $e7, $2a, $02 - db $80 ; terminator - -OAMData_90: ; 0x4b6a - db $1d, $14, $48, $02 - db $1d, $0c, $47, $02 - db $15, $1c, $45, $02 - db $15, $14, $44, $02 - db $15, $0c, $43, $02 - db $15, $04, $42, $02 - db $15, $fc, $41, $02 - db $1d, $1c, $00, $02 - db $1d, $fc, $00, $02 - db $25, $1c, $4c, $22 - db $25, $14, $4e, $02 - db $25, $0c, $4e, $02 - db $25, $04, $4d, $02 - db $25, $fc, $4c, $02 - db $1d, $04, $46, $02 - db $0d, $1c, $40, $02 - db $0d, $14, $3f, $02 - db $0d, $0c, $3e, $02 - db $0d, $04, $3d, $02 - db $0d, $fc, $3c, $02 - db $80 ; terminator - -OAMData_91: ; 0x4bbb - db $1d, $14, $49, $02 - db $1d, $0c, $47, $02 - db $15, $1c, $45, $02 - db $15, $14, $44, $02 - db $15, $0c, $43, $02 - db $15, $04, $42, $02 - db $15, $fc, $41, $02 - db $1d, $1c, $00, $02 - db $1d, $fc, $00, $02 - db $25, $1c, $4c, $22 - db $25, $14, $4e, $02 - db $25, $0c, $4e, $02 - db $25, $04, $4d, $02 - db $25, $fc, $4c, $02 - db $1d, $04, $46, $02 - db $0d, $1c, $40, $02 - db $0d, $14, $3f, $02 - db $0d, $0c, $3e, $02 - db $0d, $04, $3d, $02 - db $0d, $fc, $3c, $02 - db $80 ; terminator - -OAMData_92: ; 0x4c0c - db $1d, $14, $4a, $02 - db $1d, $0c, $47, $02 - db $15, $1c, $45, $02 - db $15, $14, $44, $02 - db $15, $0c, $43, $02 - db $15, $04, $42, $02 - db $15, $fc, $41, $02 - db $1d, $1c, $00, $02 - db $1d, $fc, $00, $02 - db $25, $1c, $4c, $22 - db $25, $14, $4e, $02 - db $25, $0c, $4e, $02 - db $25, $04, $4d, $02 - db $25, $fc, $4c, $02 - db $1d, $04, $46, $02 - db $0d, $1c, $40, $02 - db $0d, $14, $3f, $02 - db $0d, $0c, $3e, $02 - db $0d, $04, $3d, $02 - db $0d, $fc, $3c, $02 - db $80 ; terminator - -OAMData_93: ; 0x4c5d - db $1d, $14, $4b, $02 - db $1d, $0c, $47, $02 - db $15, $1c, $45, $02 - db $15, $14, $44, $02 - db $15, $0c, $43, $02 - db $15, $04, $42, $02 - db $15, $fc, $41, $02 - db $1d, $1c, $00, $02 - db $1d, $fc, $00, $02 - db $25, $1c, $4c, $22 - db $25, $14, $4e, $02 - db $25, $0c, $4e, $02 - db $25, $04, $4d, $02 - db $25, $fc, $4c, $02 - db $1d, $04, $46, $02 - db $0d, $1c, $40, $02 - db $0d, $14, $3f, $02 - db $0d, $0c, $3e, $02 - db $0d, $04, $3d, $02 - db $0d, $fc, $3c, $02 - db $80 ; terminator - -OAMData_94: ; 0x4cae - db $28, $eb, $10, $02 - db $20, $2b, $00, $02 - db $20, $eb, $00, $02 - db $28, $33, $58, $42 - db $20, $33, $62, $02 - db $18, $33, $62, $02 - db $18, $2b, $61, $02 - db $10, $33, $58, $02 - db $10, $2b, $57, $02 - db $20, $23, $69, $02 - db $20, $1b, $68, $02 - db $20, $13, $67, $02 - db $20, $0b, $66, $02 - db $20, $03, $65, $02 - db $20, $fb, $64, $02 - db $20, $f3, $63, $02 - db $18, $23, $60, $02 - db $18, $1b, $5f, $02 - db $18, $13, $5e, $02 - db $18, $0b, $5d, $02 - db $18, $03, $5c, $02 - db $18, $fb, $5b, $02 - db $18, $f3, $5a, $02 - db $18, $eb, $59, $02 - db $10, $23, $56, $02 - db $10, $1b, $55, $02 - db $10, $13, $54, $02 - db $10, $0b, $53, $02 - db $10, $03, $52, $02 - db $10, $fb, $51, $02 - db $10, $f3, $50, $02 - db $10, $eb, $4f, $02 - db $28, $2b, $71, $02 - db $28, $23, $70, $02 - db $28, $1b, $6f, $02 - db $28, $13, $6e, $02 - db $28, $0b, $6d, $02 - db $28, $03, $6c, $02 - db $28, $fb, $6b, $02 - db $28, $f3, $6a, $02 - db $80 ; terminator - -HighScoresRightArrowOAM: ; 0x4d4f - db $18, $18, $7d, $11 - db $18, $10, $7c, $11 - db $18, $08, $7b, $11 - db $10, $10, $7a, $11 - db $80 ; terminator - -HighScoresLeftArrowOAM: ; 0x4d60 - db $18, $08, $7d, $31 - db $18, $10, $7c, $31 - db $18, $18, $7b, $31 - db $10, $10, $7a, $31 - db $80 ; terminator - -OAMData_97: ; 0x4d71 - db $16, $30, $8b, $02 - db $16, $28, $8a, $02 - db $16, $20, $89, $02 - db $16, $18, $88, $02 - db $16, $10, $87, $02 - db $16, $08, $86, $02 - db $16, $00, $85, $02 - db $16, $f8, $84, $02 - db $16, $f0, $83, $02 - db $16, $e8, $82, $02 - db $0e, $30, $81, $02 - db $0e, $28, $80, $02 - db $0e, $20, $79, $02 - db $0e, $18, $78, $02 - db $0e, $10, $77, $02 - db $0e, $08, $76, $02 - db $0e, $00, $75, $02 - db $0e, $f8, $74, $02 - db $0e, $f0, $73, $02 - db $0e, $e8, $72, $02 - db $80 ; terminator - -SendHighScoresAnimation1OAM: ; 0x4dc2 - db $18, $10, $8f, $04 - db $18, $08, $8e, $04 - db $10, $10, $8d, $04 - db $10, $08, $8c, $04 - db $80 ; terminator - -SendHighScoresAnimation2OAM: ; 0x4dd3 - db $18, $10, $91, $04 - db $18, $08, $90, $04 - db $10, $10, $8d, $04 - db $10, $08, $8c, $04 - db $80 ; terminator - -SendHighScoresAnimation3OAM: ; 0x4de4 - db $18, $10, $93, $04 - db $18, $08, $92, $04 - db $10, $10, $8d, $04 - db $10, $08, $8c, $04 - db $80 ; terminator - -SendHighScoresAnimation4OAM: ; 0x4df5 - db $10, $10, $95, $04 - db $10, $08, $94, $04 - db $18, $10, $93, $04 - db $18, $08, $92, $04 - db $80 ; terminator - -SendHighScoresAnimation5OAM: ; 0x4e06 - db $18, $10, $97, $04 - db $18, $08, $96, $04 - db $10, $10, $95, $04 - db $10, $08, $94, $04 - db $80 ; terminator - -SendHighScoresAnimation6OAM: ; 0x4e17 - db $18, $10, $8f, $04 - db $18, $08, $8e, $04 - db $10, $10, $95, $04 - db $10, $08, $94, $04 - db $80 ; terminator - -FieldSelectRedStageBorderOAM: ; 0x4e28 - db $36, $1c, $71, $40 - db $26, $24, $72, $60 - db $2e, $24, $72, $60 - db $36, $24, $70, $60 - db $36, $17, $71, $40 - db $36, $0f, $71, $40 - db $36, $07, $71, $40 - db $36, $ff, $71, $40 - db $36, $f7, $71, $40 - db $26, $e8, $72, $40 - db $2e, $e8, $72, $40 - db $36, $f0, $71, $40 - db $36, $e8, $70, $40 - db $22, $e8, $72, $40 - db $22, $24, $72, $60 - db $12, $24, $72, $60 - db $1a, $24, $72, $60 - db $0a, $24, $72, $20 - db $12, $e8, $72, $40 - db $1a, $e8, $72, $40 - db $0a, $e8, $72, $00 - db $e2, $1c, $71, $00 - db $02, $e8, $72, $00 - db $02, $24, $72, $20 - db $fa, $24, $72, $20 - db $f2, $24, $72, $20 - db $ea, $24, $72, $20 - db $e2, $17, $71, $00 - db $e2, $0f, $71, $00 - db $e2, $07, $71, $00 - db $e2, $24, $70, $20 - db $e2, $ff, $71, $00 - db $e2, $f7, $71, $00 - db $fa, $e8, $72, $00 - db $f2, $e8, $72, $00 - db $ea, $e8, $72, $00 - db $e2, $f0, $71, $00 - db $e2, $e8, $70, $00 - db $80 ; terminator - -FieldSelectBlueStageBorderOAM: ; 0x4ec1 - db $36, $1c, $74, $40 - db $26, $24, $75, $60 - db $2e, $24, $75, $60 - db $36, $24, $73, $60 - db $36, $17, $74, $40 - db $36, $0f, $74, $40 - db $36, $07, $74, $40 - db $36, $ff, $74, $40 - db $36, $f7, $74, $40 - db $26, $e8, $75, $40 - db $2e, $e8, $75, $40 - db $36, $f0, $74, $40 - db $36, $e8, $73, $40 - db $22, $e8, $75, $40 - db $22, $24, $75, $60 - db $12, $24, $75, $60 - db $1a, $24, $75, $60 - db $0a, $24, $75, $20 - db $12, $e8, $75, $40 - db $1a, $e8, $75, $40 - db $0a, $e8, $75, $00 - db $e2, $1c, $74, $00 - db $02, $e8, $75, $00 - db $02, $24, $75, $20 - db $fa, $24, $75, $20 - db $f2, $24, $75, $20 - db $ea, $24, $75, $20 - db $e2, $17, $74, $00 - db $e2, $0f, $74, $00 - db $e2, $07, $74, $00 - db $e2, $24, $73, $20 - db $e2, $ff, $74, $00 - db $e2, $f7, $74, $00 - db $fa, $e8, $75, $00 - db $f2, $e8, $75, $00 - db $ea, $e8, $75, $00 - db $e2, $f0, $74, $00 - db $e2, $e8, $73, $00 - db $80 ; terminator - -OAMData_a0: ; 0x4f5a - db $36, $1c, $77, $40 - db $26, $24, $78, $60 - db $2e, $24, $78, $60 - db $36, $24, $76, $60 - db $36, $17, $77, $40 - db $36, $0f, $77, $40 - db $36, $07, $77, $40 - db $36, $ff, $77, $40 - db $36, $f7, $77, $40 - db $26, $e8, $78, $40 - db $2e, $e8, $78, $40 - db $36, $f0, $77, $40 - db $36, $e8, $76, $40 - db $22, $e8, $78, $40 - db $22, $24, $78, $60 - db $12, $24, $78, $60 - db $1a, $24, $78, $60 - db $0a, $24, $78, $20 - db $12, $e8, $78, $40 - db $1a, $e8, $78, $40 - db $0a, $e8, $78, $00 - db $e2, $1c, $77, $00 - db $02, $e8, $78, $00 - db $02, $24, $78, $20 - db $fa, $24, $78, $20 - db $f2, $24, $78, $20 - db $ea, $24, $78, $20 - db $e2, $17, $77, $00 - db $e2, $0f, $77, $00 - db $e2, $07, $77, $00 - db $e2, $24, $76, $20 - db $e2, $ff, $77, $00 - db $e2, $f7, $77, $00 - db $fa, $e8, $78, $00 - db $f2, $e8, $78, $00 - db $ea, $e8, $78, $00 - db $e2, $f0, $77, $00 - db $e2, $e8, $76, $00 - db $80 ; terminator - -OAMData_a1: ; 0x4ff3 - db $10, $08, $7c, $08 - db $80 ; terminator - -OAMData_a2: ; 0x4ff8 - db $08, $08, $7d, $48 - db $80 ; terminator - -OAMData_a3: ; 0x4ffd - db $10, $08, $7e, $08 - db $80 ; terminator - -OAMData_a4: ; 0x5002 - db $10, $08, $7e, $28 - db $80 ; terminator - -OAMData_a5: ; 0x5007 - db $03, $0a, $0f, $1d - db $fb, $0a, $0e, $1d - db $03, $02, $0d, $1d - db $fb, $02, $0c, $1d - db $07, $15, $0b, $1b - db $ff, $15, $0a, $1b - db $07, $0d, $09, $1b - db $ff, $0d, $08, $1b - db $07, $05, $07, $1b - db $ff, $05, $06, $1b - db $07, $fd, $05, $1b - db $ff, $fd, $04, $1b - db $f7, $08, $03, $1b - db $ef, $08, $02, $1b - db $f7, $00, $01, $1b - db $ef, $00, $00, $1b - db $80 ; terminator - -OAMData_a6: ; 0x5048 - db $04, $0a, $1d, $1d - db $fc, $0a, $1c, $1d - db $04, $02, $1b, $1d - db $fc, $02, $1a, $1d - db $06, $15, $0b, $1b - db $fe, $15, $0a, $1b - db $07, $0d, $19, $1b - db $ff, $0d, $18, $1b - db $07, $05, $17, $1b - db $ff, $05, $16, $1b - db $07, $fd, $15, $1b - db $ff, $fd, $14, $1b - db $f7, $08, $13, $1b - db $ef, $08, $12, $1b - db $f7, $00, $11, $1b - db $ef, $00, $10, $1b - db $80 ; terminator - -OAMData_a7: ; 0x5089 - db $07, $08, $2f, $1d - db $ff, $08, $2e, $1d - db $07, $00, $2d, $1d - db $ff, $00, $2c, $1d - db $07, $10, $2b, $1b - db $ff, $10, $2a, $1b - db $07, $08, $29, $1b - db $ff, $08, $28, $1b - db $07, $00, $27, $1b - db $ff, $00, $26, $1b - db $07, $f8, $25, $1b - db $ff, $f8, $24, $1b - db $f7, $10, $23, $1b - db $ef, $10, $22, $1b - db $f7, $08, $21, $1b - db $ef, $08, $20, $1b - db $f7, $00, $1f, $1b - db $ef, $00, $1e, $1b - db $80 ; terminator - -OAMData_a8: ; 0x50d2 - db $15, $01, $0b, $0a - db $ef, $03, $02, $1d - db $f7, $03, $03, $1d - db $fb, $0b, $05, $1d - db $f3, $0b, $04, $1d - db $fb, $fb, $01, $1d - db $f3, $fb, $00, $1d - db $0d, $09, $0e, $1b - db $05, $09, $0d, $1b - db $fd, $09, $0c, $1b - db $0d, $01, $0a, $1b - db $05, $01, $09, $1b - db $fd, $01, $08, $1b - db $08, $11, $11, $1b - db $00, $11, $10, $1b - db $08, $f9, $07, $1b - db $00, $f9, $06, $1b - db $80 ; terminator - -OAMData_a9: ; 0x5117 - db $f8, $04, $15, $1d - db $f0, $04, $14, $1d - db $fb, $0c, $17, $1d - db $f3, $0c, $16, $1d - db $fb, $fc, $13, $1d - db $f3, $fc, $12, $1d - db $08, $12, $1f, $1b - db $00, $12, $1e, $1b - db $08, $0a, $1d, $1b - db $00, $0a, $1c, $1b - db $08, $02, $1b, $1b - db $00, $02, $1a, $1b - db $08, $fa, $19, $1b - db $00, $fa, $18, $1b - db $80 ; terminator - -OAMData_aa: ; 0x5150 - db $00, $10, $27, $1d - db $f8, $10, $26, $1d - db $fb, $08, $25, $1d - db $f3, $08, $24, $1d - db $fb, $00, $23, $1d - db $f3, $00, $22, $1d - db $00, $f8, $21, $1d - db $f8, $f8, $20, $1d - db $08, $10, $2f, $1b - db $00, $10, $2e, $1b - db $08, $08, $2d, $1b - db $00, $08, $2c, $1b - db $08, $00, $2b, $1b - db $00, $00, $2a, $1b - db $08, $f8, $29, $1b - db $00, $f8, $28, $1b - db $80 ; terminator - -OAMData_ab: ; 0x5191 - db $08, $10, $0f, $1b - db $00, $10, $0e, $1b - db $08, $08, $0d, $1b - db $00, $08, $0c, $1b - db $08, $00, $0b, $1b - db $00, $00, $0a, $1b - db $08, $f8, $09, $1b - db $00, $f8, $08, $1b - db $f8, $10, $07, $1b - db $f0, $10, $06, $1b - db $f8, $08, $05, $1b - db $f0, $08, $04, $1b - db $f8, $00, $03, $1b - db $f0, $00, $02, $1b - db $f8, $f8, $01, $1b - db $f0, $f8, $00, $1b - db $80 ; terminator - -OAMData_ac: ; 0x51d2 - db $08, $10, $1f, $1b - db $00, $10, $1e, $1b - db $08, $08, $1d, $1b - db $00, $08, $1c, $1b - db $08, $00, $1b, $1b - db $00, $00, $1a, $1b - db $08, $f8, $19, $1b - db $00, $f8, $18, $1b - db $f8, $10, $17, $1b - db $f0, $10, $16, $1b - db $f8, $08, $15, $1b - db $f0, $08, $14, $1b - db $f8, $00, $13, $1b - db $f0, $00, $12, $1b - db $f8, $f8, $11, $1b - db $f0, $f8, $10, $1b - db $80 ; terminator - -OAMData_ad: ; 0x5213 - db $08, $10, $2f, $1b - db $00, $10, $2e, $1b - db $08, $08, $2d, $1b - db $00, $08, $2c, $1b - db $08, $00, $2b, $1b - db $00, $00, $2a, $1b - db $08, $f8, $29, $1b - db $00, $f8, $28, $1b - db $f8, $10, $27, $1b - db $f0, $10, $26, $1b - db $f8, $08, $25, $1b - db $f0, $08, $24, $1b - db $f8, $00, $23, $1b - db $f0, $00, $22, $1b - db $f8, $f8, $21, $1b - db $f0, $f8, $20, $1b - db $80 ; terminator - -OAMData_ae: ; 0x5254 - db $08, $10, $0f, $1d - db $00, $10, $0e, $1b - db $08, $08, $0d, $1d - db $00, $08, $0c, $1b - db $08, $00, $0b, $1d - db $00, $00, $0a, $1b - db $08, $f8, $09, $1d - db $00, $f8, $08, $1b - db $f8, $10, $07, $1b - db $f0, $10, $06, $1b - db $f8, $08, $05, $1b - db $f0, $08, $04, $1b - db $f8, $00, $03, $1b - db $f0, $00, $02, $1b - db $f8, $f8, $01, $1b - db $f0, $f8, $00, $1b - db $80 ; terminator - -OAMData_af: ; 0x5295 - db $08, $10, $1f, $1d - db $00, $10, $1e, $1b - db $08, $08, $1d, $1d - db $00, $08, $1c, $1b - db $08, $00, $1b, $1d - db $00, $00, $1a, $1b - db $08, $f8, $19, $1d - db $00, $f8, $18, $1b - db $f8, $10, $17, $1b - db $f0, $10, $16, $1b - db $f8, $08, $15, $1b - db $f0, $08, $14, $1b - db $f8, $00, $13, $1b - db $f0, $00, $12, $1b - db $f8, $f8, $11, $1b - db $f0, $f8, $10, $1b - db $80 ; terminator - -OAMData_b0: ; 0x52d6 - db $09, $10, $2f, $1d - db $01, $10, $2e, $1b - db $09, $08, $2d, $1d - db $01, $08, $2c, $1b - db $09, $00, $2b, $1d - db $01, $00, $2a, $1b - db $09, $f8, $29, $1d - db $01, $f8, $28, $1b - db $f9, $10, $27, $1b - db $f1, $10, $26, $1b - db $f9, $08, $25, $1b - db $f1, $08, $24, $1b - db $f9, $00, $23, $1b - db $f1, $00, $22, $1b - db $f9, $f8, $21, $1b - db $f1, $f8, $20, $1b - db $80 ; terminator - -Timer0DigitOAM: ; 0x5317 - db $10, $08, $60, $08 - db $80 ; terminator - -Timer1DigitOAM: ; 0x531c - db $10, $08, $62, $08 - db $80 ; terminator - -Timer2DigitOAM: ; 0x5321 - db $10, $08, $64, $08 - db $80 ; terminator - -Timer3DigitOAM: ; 0x5326 - db $10, $08, $66, $08 - db $80 ; terminator - -Timer4DigitOAM: ; 0x532b - db $10, $08, $68, $08 - db $80 ; terminator - -Timer5DigitOAM: ; 0x5330 - db $10, $08, $6a, $08 - db $80 ; terminator - -Timer6DigitOAM: ; 0x5335 - db $10, $08, $6c, $08 - db $80 ; terminator - -Timer7DigitOAM: ; 0x533a - db $10, $08, $6e, $08 - db $80 ; terminator - -Timer8DigitOAM: ; 0x533f - db $10, $08, $70, $08 - db $80 ; terminator - -Timer9DigitOAM: ; 0x5344 - db $10, $08, $72, $08 - db $80 ; terminator - -TimerColonOAM: ; 0x5349 - db $10, $08, $74, $08 - db $80 ; terminator - -OAMData_bc: ; 0x534e - db $10, $10, $30, $11 - db $10, $08, $2e, $11 - db $80 ; terminator - -OAMData_bd: ; 0x5357 - db $10, $10, $34, $11 - db $10, $08, $32, $11 - db $80 ; terminator - -OAMData_be: ; 0x5360 -; bellsprout? - db $12, $10, $66, $15 - db $02, $10, $64, $15 - db $12, $08, $62, $15 - db $02, $08, $60, $15 - db $80 ; terminator - -OAMData_bf: ; 0x5371 - db $00, $0a, $68, $15 - db $10, $10, $6c, $15 - db $10, $08, $6a, $15 - db $80 ; terminator - -OAMData_c0: ; 0x537e - db $0f, $10, $70, $15 - db $0f, $08, $6e, $15 - db $80 ; terminator - -OAMData_c1: ; 0x5387 - db $00, $0b, $72, $15 - db $10, $10, $76, $15 - db $10, $08, $74, $15 - db $80 ; terminator - -OAMData_c2: ; 0x5394 - db $08, $0f, $78, $22 - db $08, $07, $78, $02 - db $80 ; terminator - -OAMData_c3: ; 0x539d - db $08, $0f, $7b, $62 - db $08, $07, $7b, $42 - db $80 ; terminator - -OAMData_c4: ; 0x53a6 - db $08, $0f, $7d, $62 - db $08, $07, $7d, $42 - db $80 ; terminator - -OAMData_c5: ; 0x53af - db $08, $0f, $7e, $22 - db $08, $07, $7e, $02 - db $80 ; terminator - -OAMData_c6: ; 0x53b8 - db $08, $0f, $7c, $22 - db $08, $07, $7c, $02 - db $80 ; terminator - -OAMData_c7: ; 0x53c1 - db $08, $0f, $7a, $22 - db $08, $07, $7a, $02 - db $80 ; terminator - -OAMData_c8: ; 0x53ca - db $18, $11, $96, $02 - db $20, $29, $a6, $02 - db $30, $21, $a4, $02 - db $20, $21, $a2, $02 - db $38, $19, $a0, $02 - db $28, $19, $9e, $02 - db $18, $19, $9c, $02 - db $38, $11, $9a, $02 - db $28, $11, $98, $02 - db $38, $09, $94, $02 - db $28, $09, $92, $02 - db $18, $09, $90, $02 - db $80 ; terminator - -OAMData_c9: ; 0x53fb - db $18, $21, $2c, $02 - db $18, $19, $28, $02 - db $30, $09, $20, $02 - db $20, $09, $1e, $02 - db $28, $19, $2a, $02 - db $30, $11, $26, $02 - db $20, $11, $24, $02 - db $10, $11, $22, $02 - db $10, $09, $1c, $02 - db $80 ; terminator - -OAMData_ca: ; 0x5420 - db $30, $08, $1a, $02 - db $20, $08, $a8, $02 - db $80 ; terminator - -OAMData_cb: ; 0x5429 - db $10, $18, $06, $1b - db $20, $10, $04, $1b - db $10, $10, $02, $1b - db $10, $08, $00, $1b - db $80 ; terminator - -OAMData_cc: ; 0x543a - db $20, $11, $0e, $0c - db $10, $11, $0c, $0c - db $22, $09, $0a, $0c - db $12, $09, $08, $0c - db $80 ; terminator - -OAMData_cd: ; 0x544b - db $0f, $11, $30, $11 - db $0f, $09, $2e, $11 - db $80 ; terminator - -OAMData_ce: ; 0x5454 - db $10, $0f, $30, $11 - db $10, $07, $2e, $11 - db $80 ; terminator - -OAMData_cf: ; 0x545d - db $11, $11, $30, $11 - db $11, $09, $2e, $11 - db $80 ; terminator - -OAMData_d0: ; 0x5466 - db $10, $17, $16, $1b - db $1f, $0f, $14, $1b - db $0f, $0f, $12, $1b - db $0f, $07, $10, $1b - db $80 ; terminator - -OAMData_d1: ; 0x5477 - db $10, $08, $36, $06 - db $80 ; terminator - -OAMData_d2: ; 0x547c - db $08, $08, $37, $46 - db $80 ; terminator - -OAMData_d3: ; 0x5481 - db $10, $08, $38, $06 - db $80 ; terminator - -OAMData_d4: ; 0x5486 - db $10, $08, $3a, $06 - db $80 ; terminator - -OAMData_d5: ; 0x548b - db $10, $08, $3c, $06 - db $80 ; terminator - -OAMData_d6: ; 0x5490 - db $10, $08, $3e, $06 - db $80 ; terminator - -OAMData_d7: ; 0x5495 - db $10, $08, $b0, $00 - db $80 ; terminator - -OAMData_d8: ; 0x549a - db $10, $08, $b2, $00 - db $80 ; terminator - -OAMData_d9: ; 0x549f - db $10, $08, $b4, $00 - db $80 ; terminator - -OAMData_da: ; 0x54a4 - db $10, $08, $b6, $00 - db $80 ; terminator - -OAMData_db: ; 0x54a9 - db $10, $08, $38, $00 - db $80 ; terminator - -OAMData_dc: ; 0x54ae - db $10, $08, $3a, $00 - db $80 ; terminator - -OAMData_dd: ; 0x54b3 - db $10, $08, $7e, $00 - db $80 ; terminator - -OAMData_de: ; 0x54b8 - db $10, $08, $bc, $00 - db $80 ; terminator - -OAMData_df: ; 0x54bd - db $10, $08, $a8, $00 - db $80 ; terminator - -OAMData_e0: ; 0x54c2 - db $10, $10, $92, $13 - db $10, $08, $90, $13 - db $80 ; terminator - -OAMData_e1: ; 0x54cb - db $10, $10, $96, $13 - db $10, $08, $94, $13 - db $80 ; terminator - -OAMData_e2: ; 0x54d4 - db $20, $18, $1e, $11 - db $20, $10, $1c, $11 - db $20, $08, $1a, $11 - db $10, $18, $9c, $11 - db $10, $10, $9a, $11 - db $10, $08, $98, $11 - db $80 ; terminator - -OAMData_e3: ; 0x54ed - db $10, $18, $a2, $11 - db $10, $10, $a0, $11 - db $10, $08, $9e, $11 - db $20, $18, $1e, $11 - db $20, $10, $1c, $11 - db $20, $08, $1a, $11 - db $80 ; terminator - -OAMData_e4: ; 0x5506 - db $10, $1a, $a8, $11 - db $10, $12, $a6, $11 - db $10, $0a, $a4, $11 - db $20, $18, $1e, $11 - db $20, $10, $1c, $11 - db $20, $08, $1a, $11 - db $80 ; terminator - -OAMData_e5: ; 0x551f - db $20, $18, $2a, $13 - db $20, $10, $28, $13 - db $20, $08, $26, $13 - db $10, $18, $24, $13 - db $10, $10, $22, $13 - db $10, $08, $20, $13 - db $80 ; terminator - -OAMData_e6: ; 0x5538 - db $20, $18, $36, $13 - db $20, $10, $34, $13 - db $20, $08, $32, $13 - db $10, $18, $30, $13 - db $10, $10, $2e, $13 - db $10, $08, $2c, $13 - db $80 ; terminator - -OAMData_e7: ; 0x5551 - db $20, $10, $76, $13 - db $20, $08, $74, $13 - db $10, $10, $72, $13 - db $10, $08, $70, $13 - db $20, $18, $2a, $13 - db $10, $18, $24, $13 - db $80 ; terminator - -OAMData_e8: ; 0x556a - db $10, $10, $78, $22 - db $10, $08, $78, $02 - db $80 ; terminator - -OAMData_e9: ; 0x5573 - db $10, $10, $7b, $62 - db $10, $08, $7b, $42 - db $80 ; terminator - -OAMData_ea: ; 0x557c - db $10, $10, $7d, $62 - db $10, $08, $7d, $42 - db $80 ; terminator - -OAMData_eb: ; 0x5585 - db $10, $10, $7e, $22 - db $10, $08, $7e, $02 - db $80 ; terminator - -OAMData_ec: ; 0x558e - db $10, $10, $7c, $22 - db $10, $08, $7c, $02 - db $80 ; terminator - -OAMData_ed: ; 0x5597 - db $10, $10, $7a, $22 - db $10, $08, $7a, $02 - db $80 ; terminator - -OAMData_ee: ; 0x55a0 - db $10, $08, $38, $06 - db $80 ; terminator - -OAMData_ef: ; 0x55a5 - db $10, $08, $3a, $06 - db $80 ; terminator - -OAMData_f0: ; 0x55aa - db $10, $08, $3a, $26 - db $80 ; terminator - -OAMData_f1: ; 0x55af - db $10, $08, $3c, $06 - db $80 ; terminator - -OAMData_f2: ; 0x55b4 - db $10, $08, $3e, $06 - db $80 ; terminator - -OAMData_f3: ; 0x55b9 - db $10, $08, $3e, $26 - db $80 ; terminator - -OAMData_f4: ; 0x55be - db $08, $08, $39, $46 - db $80 ; terminator - -OAMData_f5: ; 0x55c3 - db $10, $08, $72, $00 - db $80 ; terminator - -OAMData_f6: ; 0x55c8 - db $10, $08, $74, $00 - db $80 ; terminator - -OAMData_f7: ; 0x55cd - db $10, $08, $76, $00 - db $80 ; terminator - -OAMData_f8: ; 0x55d2 - db $10, $08, $78, $00 - db $80 ; terminator - -OAMDataPointers2: ; 0x55d7 - dw OAMData2_0 - dw OAMData2_1 - dw OAMData2_2 - dw OAMData2_3 - dw OAMData2_4 - dw OAMData2_5 - dw OAMData2_6 - dw OAMData2_7 - dw OAMData2_8 - dw OAMData2_9 - dw OAMData2_a - dw OAMData2_b - dw OAMData2_c - dw OAMData2_d - dw OAMData2_e - dw OAMData2_f - dw OAMData2_10 - dw OAMData2_11 - dw OAMData2_12 - dw OAMData2_13 - dw OAMData2_14 - dw OAMData2_15 - dw OAMData2_16 - dw OAMData2_17 - dw OAMData2_18 - dw OAMData2_19 - dw OAMData2_1a - dw OAMData2_1b - dw OAMData2_1c - dw OAMData2_1d - dw OAMData2_1e - dw OAMData2_1f - dw OAMData2_20 - dw OAMData2_21 - dw OAMData2_22 - dw OAMData2_23 - dw OAMData2_24 - dw OAMData2_25 - dw OAMData2_26 - dw OAMData2_27 - dw OAMData2_28 - dw OAMData2_29 - dw OAMData2_2a - dw OAMData2_2b - dw OAMData2_2c - dw OAMData2_2d - dw OAMData2_2e - dw OAMData2_2f - dw OAMData2_30 - dw OAMData2_31 - dw OAMData2_32 - dw OAMData2_33 - dw OAMData2_34 - dw OAMData2_35 - dw OAMData2_36 - dw OAMData2_37 - dw OAMData2_38 - dw OAMData2_39 - dw OAMData2_3a - dw OAMData2_3b - dw OAMData2_3c - dw OAMData2_3d - dw OAMData2_3e - dw OAMData2_3f - dw OAMData2_40 - dw OAMData2_41 - dw OAMData2_42 - dw OAMData2_43 - dw OAMData2_44 - dw OAMData2_45 - dw OAMData2_46 - dw OAMData2_47 - dw OAMData2_48 - dw OAMData2_49 - dw OAMData2_4a - dw OAMData2_4b - dw OAMData2_4c - dw OAMData2_4d - dw OAMData2_4e - dw OAMData2_4f - dw OAMData2_50 - dw OAMData2_51 - dw OAMData2_52 - dw OAMData2_53 - dw OAMData2_54 - dw OAMData2_55 - dw OAMData2_56 - dw OAMData2_57 - dw OAMData2_58 - dw OAMData2_59 - dw OAMData2_5a - dw OAMData2_5b - dw OAMData2_5c - dw OAMData2_5d - dw OAMData2_5e - dw OAMData2_5f - dw OAMData2_60 - dw OAMData2_61 - dw OAMData2_62 - dw OAMData2_63 - dw OAMData2_64 - dw OAMData2_65 - dw OAMData2_66 - dw OAMData2_67 - dw OAMData2_68 - dw OAMData2_69 - dw OAMData2_6a - dw OAMData2_6b - dw OAMData2_6c - dw OAMData2_6d - dw OAMData2_6e - dw OAMData2_6f - dw OAMData2_70 - dw OAMData2_71 - dw OAMData2_72 - dw OAMData2_73 - dw OAMData2_74 - dw OAMData2_75 - dw OAMData2_76 - dw OAMData2_77 - dw OAMData2_78 - dw OAMData2_79 - dw OAMData2_7a - dw OAMData2_7b - dw OAMData2_7c - dw OAMData2_7d - dw OAMData2_7e - dw OAMData2_7f - dw OAMData2_80 - dw OAMData2_81 - dw OAMData2_82 - dw OAMData2_83 - dw OAMData2_84 - -OAMData2_0: ; 0x56e1 - db $20, $20, $9E, $04 - db $20, $18, $9C, $04 - db $20, $10, $9A, $04 - db $20, $08, $98, $04 - db $10, $20, $96, $04 - db $10, $18, $94, $04 - db $10, $10, $92, $04 - db $10, $08, $90, $04 - db $80 ; terminator - -OAMData2_1: ; 0x5702 - db $21, $20, $9E, $04 - db $21, $18, $9C, $04 - db $21, $10, $9A, $04 - db $21, $08, $98, $04 - db $11, $20, $96, $04 - db $11, $18, $94, $04 - db $11, $10, $92, $04 - db $11, $08, $90, $04 - db $80 ; terminator - -OAMData2_2: ; 0x - db $1F, $20, $9E, $04 - db $1F, $18, $9C, $04 - db $1F, $10, $9A, $04 - db $1F, $08, $98, $04 - db $0F, $20, $96, $04 - db $0F, $18, $94, $04 - db $0F, $10, $92, $04 - db $0F, $08, $90, $04 - db $80 ; terminator - -OAMData2_3: ; 0x - db $1F, $18, $A6, $04 - db $1F, $10, $A4, $04 - db $0F, $18, $A2, $04 - db $0F, $10, $A0, $04 - db $1F, $20, $9E, $04 - db $1F, $08, $98, $04 - db $0F, $20, $96, $04 - db $0F, $08, $90, $04 - db $80 ; terminator - -OAMData2_4: ; 0x - db $1A, $21, $1A, $04 - db $1A, $19, $A8, $04 - db $1E, $00, $A2, $24 - db $1E, $08, $A0, $24 - db $30, $10, $9E, $04 - db $20, $18, $9C, $04 - db $20, $10, $9A, $04 - db $20, $08, $98, $04 - db $10, $20, $96, $04 - db $10, $18, $94, $04 - db $10, $10, $92, $04 - db $10, $08, $90, $04 - db $80 ; terminator - -OAMData2_5: ; 0x - db $1E, $02, $A6, $24 - db $1E, $0A, $A4, $24 - db $1C, $23, $A6, $04 - db $1C, $1B, $A4, $04 - db $2E, $11, $9E, $04 - db $1E, $18, $9C, $04 - db $1E, $10, $9A, $04 - db $1E, $08, $98, $04 - db $0E, $20, $96, $04 - db $0E, $18, $94, $04 - db $0E, $10, $92, $04 - db $0E, $08, $90, $04 - db $80 ; terminator - -OAMData2_6: ; 0x - db $1E, $23, $A2, $04 - db $1E, $1B, $A0, $04 - db $1A, $02, $1A, $24 - db $1A, $0A, $A8, $24 - db $2D, $10, $9E, $04 - db $1D, $18, $9C, $04 - db $1D, $10, $9A, $04 - db $1D, $08, $98, $04 - db $0D, $20, $96, $04 - db $0D, $18, $94, $04 - db $0D, $10, $92, $04 - db $0D, $08, $90, $04 - db $80 ; terminator - -OAMData2_7: ; 0x - db $1C, $00, $A6, $24 - db $1C, $08, $A4, $24 - db $1E, $21, $A6, $04 - db $1E, $19, $A4, $04 - db $2E, $0F, $9E, $04 - db $1E, $18, $9C, $04 - db $1E, $10, $9A, $04 - db $1E, $08, $98, $04 - db $0E, $20, $96, $04 - db $0E, $18, $94, $04 - db $0E, $10, $92, $04 - db $0E, $08, $90, $04 - db $80 ; terminator - -OAMData2_8: ; 0x - db $17, $09, $A8, $24 - db $17, $01, $1A, $24 - db $0F, $1E, $A8, $04 - db $0F, $26, $1A, $04 - db $2D, $18, $28, $04 - db $1D, $18, $26, $04 - db $1D, $10, $24, $04 - db $0D, $20, $22, $04 - db $0D, $18, $20, $04 - db $0D, $10, $1E, $04 - db $0E, $08, $1C, $04 - db $80 ; terminator - -OAMData2_9: ; 0x - db $20, $30, $32, $24 - db $30, $30, $3A, $04 - db $10, $30, $38, $04 - db $30, $08, $34, $04 - db $20, $08, $32, $04 - db $10, $08, $30, $04 - db $38, $28, $1E, $04 - db $38, $20, $1C, $04 - db $38, $18, $1A, $04 - db $38, $10, $A8, $04 - db $28, $28, $A6, $04 - db $28, $20, $A4, $04 - db $28, $18, $A2, $04 - db $28, $10, $A0, $04 - db $18, $28, $9E, $04 - db $18, $20, $9C, $04 - db $18, $18, $9A, $04 - db $18, $10, $98, $04 - db $08, $28, $96, $04 - db $08, $20, $94, $04 - db $08, $18, $92, $04 - db $08, $10, $90, $04 - db $80 ; terminator - -OAMData2_a: ; 0x - db $31, $08, $36, $04 - db $39, $28, $26, $04 - db $39, $20, $24, $04 - db $39, $18, $22, $04 - db $39, $10, $20, $04 - db $21, $30, $32, $24 - db $31, $30, $3A, $04 - db $11, $30, $38, $04 - db $21, $08, $32, $04 - db $11, $08, $30, $04 - db $29, $28, $A6, $04 - db $29, $20, $A4, $04 - db $29, $18, $A2, $04 - db $29, $10, $A0, $04 - db $19, $28, $9E, $04 - db $19, $20, $9C, $04 - db $19, $18, $9A, $04 - db $19, $10, $98, $04 - db $09, $28, $96, $04 - db $09, $20, $94, $04 - db $09, $18, $92, $04 - db $09, $10, $90, $04 - db $80 ; terminator - -OAMData2_b: ; 0x - db $39, $28, $2E, $04 - db $39, $20, $2C, $04 - db $39, $18, $2A, $04 - db $39, $10, $28, $04 - db $31, $30, $3C, $04 - db $21, $30, $32, $24 - db $11, $30, $38, $04 - db $31, $08, $34, $04 - db $21, $08, $32, $04 - db $11, $08, $30, $04 - db $29, $28, $A6, $04 - db $29, $20, $A4, $04 - db $29, $18, $A2, $04 - db $29, $10, $A0, $04 - db $19, $28, $9E, $04 - db $19, $20, $9C, $04 - db $19, $18, $9A, $04 - db $19, $10, $98, $04 - db $09, $28, $96, $04 - db $09, $20, $94, $04 - db $09, $18, $92, $04 - db $09, $10, $90, $04 - db $80 ; terminator - -OAMData2_c: ; 0x - db $39, $28, $7E, $04 - db $39, $20, $7C, $04 - db $39, $18, $7A, $04 - db $39, $10, $3E, $04 - db $21, $30, $32, $24 - db $31, $30, $3A, $04 - db $11, $30, $38, $04 - db $31, $08, $34, $04 - db $21, $08, $32, $04 - db $11, $08, $30, $04 - db $29, $28, $A6, $04 - db $29, $20, $A4, $04 - db $29, $18, $A2, $04 - db $29, $10, $A0, $04 - db $19, $28, $9E, $04 - db $19, $20, $9C, $04 - db $19, $18, $9A, $04 - db $19, $10, $98, $04 - db $09, $28, $96, $04 - db $09, $20, $94, $04 - db $09, $18, $92, $04 - db $09, $10, $90, $04 - db $80 ; terminator - -OAMData2_d: ; 0x - db $3A, $28, $B0, $04 - db $3A, $20, $AE, $04 - db $3A, $18, $AC, $04 - db $3A, $10, $AA, $04 - db $22, $30, $32, $24 - db $32, $30, $3A, $04 - db $12, $30, $38, $04 - db $32, $08, $34, $04 - db $22, $08, $32, $04 - db $12, $08, $30, $04 - db $2A, $28, $A6, $04 - db $2A, $20, $A4, $04 - db $2A, $18, $A2, $04 - db $2A, $10, $A0, $04 - db $1A, $28, $9E, $04 - db $1A, $20, $9C, $04 - db $1A, $18, $9A, $04 - db $1A, $10, $98, $04 - db $0A, $28, $96, $04 - db $0A, $20, $94, $04 - db $0A, $18, $92, $04 - db $0A, $10, $90, $04 - db $80 ; terminator - -OAMData2_e: ; 0x - db $23, $04, $B2, $04 - db $27, $2C, $D2, $04 - db $27, $24, $D0, $04 - db $27, $1C, $CE, $04 - db $27, $14, $CC, $04 - db $27, $0C, $CA, $04 - db $17, $2C, $C8, $04 - db $17, $24, $C6, $04 - db $17, $1C, $C4, $04 - db $17, $14, $C2, $04 - db $17, $0C, $C0, $04 - db $07, $2C, $BE, $04 - db $07, $24, $BC, $04 - db $07, $1C, $BA, $04 - db $07, $14, $B8, $04 - db $07, $0C, $B6, $04 - db $23, $34, $B4, $04 - db $37, $28, $1E, $04 - db $37, $20, $1C, $04 - db $37, $18, $1A, $04 - db $37, $10, $A8, $04 - db $80 ; terminator - -OAMData2_f: ; 0x - db $20, $20, $9E, $04 - db $20, $18, $9C, $04 - db $20, $10, $9A, $04 - db $20, $08, $98, $04 - db $10, $20, $96, $04 - db $10, $18, $94, $04 - db $10, $10, $92, $04 - db $10, $08, $90, $04 - db $80 ; terminator - -OAMData2_10: ; 0x - db $20, $08, $22, $04 - db $10, $08, $20, $04 - db $20, $20, $9E, $04 - db $20, $18, $9C, $04 - db $20, $10, $9A, $04 - db $10, $20, $96, $04 - db $10, $18, $94, $04 - db $10, $10, $92, $04 - db $80 ; terminator - -OAMData2_11: ; 0x - db $20, $20, $1E, $04 - db $20, $18, $1C, $04 - db $20, $10, $1A, $04 - db $20, $08, $A8, $04 - db $10, $20, $A6, $04 - db $10, $18, $A4, $04 - db $10, $10, $A2, $04 - db $10, $08, $A0, $04 - db $80 ; terminator - -OAMData2_12: ; 0x - db $20, $20, $2A, $04 - db $10, $20, $28, $04 - db $20, $08, $26, $04 - db $10, $08, $24, $04 - db $20, $18, $9C, $04 - db $20, $10, $9A, $04 - db $10, $18, $94, $04 - db $10, $10, $92, $04 - db $80 ; terminator - -OAMData2_13: ; 0x - db $10, $10, $32, $11 - db $10, $08, $30, $11 - db $80 ; terminator - -OAMData2_14: ; 0x - db $10, $10, $36, $11 - db $10, $08, $34, $11 - db $80 ; terminator - -OAMData2_15: ; 0x - db $10, $10, $3A, $11 - db $10, $08, $38, $11 - db $80 ; terminator - -OAMData2_16: ; 0x - db $10, $10, $3E, $11 - db $10, $08, $3C, $11 - db $80 ; terminator - -OAMData2_17: ; 0x - db $20, $10, $7E, $04 - db $10, $18, $2E, $04 - db $10, $10, $92, $04 - db $20, $20, $AC, $04 - db $20, $18, $AA, $04 - db $20, $08, $7C, $04 - db $10, $20, $7A, $04 - db $10, $08, $2C, $04 - db $80 ; terminator - -OAMData2_18: ; 0x - db $20, $10, $7E, $04 - db $10, $18, $94, $04 - db $10, $10, $92, $04 - db $20, $20, $C4, $04 - db $20, $08, $C2, $04 - db $10, $20, $C0, $04 - db $10, $08, $BE, $04 - db $20, $18, $AA, $04 - db $80 ; terminator - -OAMData2_19: ; 0x - db $1F, $20, $BC, $04 - db $1F, $18, $BA, $04 - db $1F, $10, $B8, $04 - db $1F, $08, $B6, $04 - db $0F, $20, $B4, $04 - db $0F, $18, $B2, $04 - db $0F, $10, $B0, $04 - db $0F, $08, $AE, $04 - db $80 ; terminator - -OAMData2_1a: ; 0x - db $10, $10, $C6, $31 - db $10, $08, $C6, $11 - db $80 ; terminator - -OAMData2_1b: ; 0x - db $10, $10, $C8, $31 - db $10, $08, $C8, $11 - db $80 ; terminator - -OAMData2_1c: ; 0x - db $10, $10, $CA, $31 - db $10, $08, $CA, $11 - db $80 ; terminator - -OAMData2_1d: ; 0x - db $10, $10, $CC, $31 - db $10, $08, $CC, $11 - db $80 ; terminator - -OAMData2_1e: ; 0x - db $10, $10, $CE, $31 - db $10, $08, $CE, $11 - db $80 ; terminator - -OAMData2_1f: ; 0x - db $10, $10, $D0, $31 - db $10, $08, $D0, $11 - db $80 ; terminator - -OAMData2_20: ; 0x - db $10, $10, $D2, $31 - db $10, $08, $D2, $11 - db $80 ; terminator - -OAMData2_21: ; 0x - db $1E, $1F, $9E, $11 - db $1E, $17, $9C, $11 - db $1E, $0F, $9A, $11 - db $1E, $07, $98, $11 - db $0E, $1F, $96, $11 - db $0E, $17, $94, $11 - db $0E, $0F, $92, $11 - db $0E, $07, $90, $11 - db $80 ; terminator - -OAMData2_22: ; 0x - db $20, $20, $1E, $11 - db $20, $18, $1C, $11 - db $20, $10, $1A, $11 - db $20, $08, $A8, $11 - db $10, $20, $A6, $11 - db $10, $18, $A4, $11 - db $10, $10, $A2, $11 - db $10, $08, $A0, $11 - db $80 ; terminator - -OAMData2_23: ; 0x - db $0E, $1F, $96, $11 - db $0E, $17, $94, $11 - db $0E, $0F, $92, $11 - db $0E, $07, $90, $11 - db $1E, $1F, $26, $11 - db $1E, $17, $24, $11 - db $1E, $0F, $22, $11 - db $1E, $07, $20, $11 - db $80 ; terminator - -OAMData2_24: ; 0x - db $1A, $24, $34, $11 - db $1A, $1C, $32, $11 - db $1A, $14, $30, $11 - db $1A, $0C, $2E, $11 - db $0A, $1C, $2C, $11 - db $0A, $14, $2A, $11 - db $0A, $0C, $28, $11 - db $80 ; terminator - -OAMData2_25: ; 0x - db $1E, $07, $9E, $31 - db $1E, $0F, $9C, $31 - db $1E, $17, $9A, $31 - db $1E, $1F, $98, $31 - db $0E, $07, $96, $31 - db $0E, $0F, $94, $31 - db $0E, $17, $92, $31 - db $0E, $1F, $90, $31 - db $80 ; terminator - -OAMData2_26: ; 0x - db $20, $08, $1E, $31 - db $20, $10, $1C, $31 - db $20, $18, $1A, $31 - db $20, $20, $A8, $31 - db $10, $08, $A6, $31 - db $10, $10, $A4, $31 - db $10, $18, $A2, $31 - db $10, $20, $A0, $31 - db $80 ; terminator - -OAMData2_27: ; 0x - db $0E, $07, $96, $31 - db $0E, $0F, $94, $31 - db $0E, $17, $92, $31 - db $0E, $1F, $90, $31 - db $1E, $07, $26, $31 - db $1E, $0F, $24, $31 - db $1E, $17, $22, $31 - db $1E, $1F, $20, $31 - db $80 ; terminator - -OAMData2_28: ; 0x - db $1A, $0C, $34, $31 - db $1A, $14, $32, $31 - db $1A, $1C, $30, $31 - db $1A, $24, $2E, $31 - db $0A, $14, $2C, $31 - db $0A, $1C, $2A, $31 - db $0A, $24, $28, $31 - db $80 ; terminator - -OAMData2_29: ; 0x - db $10, $0C, $36, $13 - db $80 ; terminator - -OAMData2_2a: ; 0x - db $10, $10, $3A, $13 - db $10, $08, $38, $13 - db $80 ; terminator - -OAMData2_2b: ; 0x - db $10, $10, $3E, $13 - db $10, $08, $3C, $13 - db $80 ; terminator - -OAMData2_2c: ; 0x - db $10, $10, $7C, $13 - db $10, $08, $7A, $13 - db $80 ; terminator - -OAMData2_2d: ; 0x - db $10, $10, $AA, $13 - db $10, $08, $7E, $13 - db $80 ; terminator - -OAMData2_2e: ; 0x - db $10, $0F, $AC, $33 - db $10, $08, $AC, $13 - db $80 ; terminator - -OAMData2_2f: ; 0x - db $10, $0F, $AE, $33 - db $10, $08, $AE, $13 - db $80 ; terminator - -OAMData2_30: ; 0x - db $10, $0F, $B0, $33 - db $10, $08, $B0, $13 - db $80 ; terminator - -OAMData2_31: ; 0x - db $10, $0C, $B2, $13 - db $80 ; terminator - -OAMData2_32: ; 0x - db $10, $0C, $B4, $13 - db $80 ; terminator - -OAMData2_33: ; 0x - db $20, $20, $C4, $11 - db $20, $18, $C2, $11 - db $20, $10, $C0, $11 - db $20, $08, $BE, $11 - db $10, $20, $BC, $11 - db $10, $18, $BA, $11 - db $10, $10, $B8, $11 - db $10, $08, $B6, $11 - db $80 ; terminator - -OAMData2_34: ; 0x - db $20, $20, $CE, $11 - db $20, $18, $CC, $11 - db $20, $10, $CA, $11 - db $20, $08, $C8, $11 - db $10, $10, $C6, $11 - db $10, $20, $BC, $11 - db $10, $18, $BA, $11 - db $10, $08, $B6, $11 - db $80 ; terminator - -OAMData2_35: ; 0x - db $0A, $10, $D2, $00 - db $0A, $08, $D0, $00 - db $80 ; terminator - -OAMData2_36: ; 0x - db $08, $10, $D2, $00 - db $08, $08, $D0, $00 - db $80 ; terminator - -OAMData2_37: ; 0x - db $06, $10, $D2, $00 - db $06, $08, $D0, $00 - db $80 ; terminator - -OAMData2_38: ; 0x - db $0A, $10, $D4, $00 - db $0A, $08, $D0, $00 - db $80 ; terminator - -OAMData2_39: ; 0x - db $08, $10, $D4, $00 - db $08, $08, $D0, $00 - db $80 ; terminator - -OAMData2_3a: ; 0x - db $06, $10, $D4, $00 - db $06, $08, $D0, $00 - db $80 ; terminator - -OAMData2_3b: ; 0x - db $0A, $10, $D6, $00 - db $0A, $08, $D0, $00 - db $80 ; terminator - -OAMData2_3c: ; 0x - db $08, $10, $D6, $00 - db $08, $08, $D0, $00 - db $80 ; terminator - -OAMData2_3d: ; 0x - db $05, $10, $D6, $00 - db $05, $08, $D0, $00 - db $80 ; terminator - -OAMData2_3e: ; 0x - db $0A, $10, $D8, $00 - db $0A, $08, $D0, $00 - db $80 ; terminator - -OAMData2_3f: ; 0x - db $08, $10, $D8, $00 - db $08, $08, $D0, $00 - db $80 ; terminator - -OAMData2_40: ; 0x - db $05, $10, $D8, $00 - db $05, $08, $D0, $00 - db $80 ; terminator - -OAMData2_41: ; 0x - db $0A, $10, $DA, $00 - db $0A, $08, $D0, $00 - db $80 ; terminator - -OAMData2_42: ; 0x - db $08, $10, $DA, $00 - db $08, $08, $D0, $00 - db $80 ; terminator - -OAMData2_43: ; 0x - db $05, $10, $DA, $00 - db $05, $08, $D0, $00 - db $80 ; terminator - -OAMData2_44: ; 0x - db $10, $08, $DC, $00 - db $80 ; terminator - -OAMData2_45: ; 0x - db $10, $08, $DE, $00 - db $80 ; terminator - -OAMData2_46: ; 0x - db $20, $20, $9E, $11 - db $20, $18, $9C, $11 - db $20, $10, $9A, $11 - db $20, $08, $98, $11 - db $10, $20, $96, $11 - db $10, $18, $94, $11 - db $10, $10, $92, $11 - db $10, $08, $90, $11 - db $80 ; terminator - -OAMData2_47: ; 0x - db $20, $20, $1E, $11 - db $20, $18, $1C, $11 - db $20, $10, $1A, $11 - db $20, $08, $A8, $11 - db $10, $20, $A6, $11 - db $10, $18, $A4, $11 - db $10, $10, $A2, $11 - db $10, $08, $A0, $11 - db $80 ; terminator - -OAMData2_48: ; 0x - db $20, $20, $9E, $11 - db $10, $20, $96, $11 - db $20, $10, $1A, $11 - db $20, $08, $A8, $11 - db $10, $08, $A0, $11 - db $20, $18, $24, $11 - db $10, $18, $22, $11 - db $10, $10, $20, $11 - db $80 ; terminator - -OAMData2_49: ; 0x - db $10, $08, $A0, $11 - db $20, $20, $32, $11 - db $20, $18, $30, $11 - db $20, $10, $2E, $11 - db $20, $08, $2C, $11 - db $10, $20, $2A, $11 - db $10, $18, $28, $11 - db $10, $10, $26, $11 - db $80 ; terminator - -OAMData2_4a: ; 0x - db $20, $18, $AA, $11 - db $20, $10, $7E, $11 - db $10, $18, $7C, $11 - db $10, $10, $7A, $11 - db $20, $20, $9E, $11 - db $20, $08, $98, $11 - db $10, $20, $96, $11 - db $10, $08, $90, $11 - db $80 ; terminator - -OAMData2_4b: ; 0x - db $20, $18, $B2, $11 - db $20, $10, $B0, $11 - db $10, $18, $AE, $11 - db $10, $10, $AC, $11 - db $20, $20, $1E, $11 - db $20, $08, $A8, $11 - db $10, $20, $A6, $11 - db $10, $08, $A0, $11 - db $80 ; terminator - -OAMData2_4c: ; 0x - db $20, $10, $B0, $11 - db $10, $10, $AC, $11 - db $20, $18, $AA, $11 - db $10, $18, $7C, $11 - db $20, $20, $9E, $11 - db $10, $20, $96, $11 - db $20, $08, $A8, $11 - db $10, $08, $A0, $11 - db $80 ; terminator - -OAMData2_4d: ; 0x - db $20, $18, $BA, $11 - db $20, $10, $B8, $11 - db $10, $18, $B6, $11 - db $10, $10, $B4, $11 - db $10, $08, $A0, $11 - db $20, $20, $32, $11 - db $20, $08, $2C, $11 - db $10, $20, $2A, $11 - db $80 ; terminator - -OAMData2_4e: ; 0x - db $20, $20, $C2, $11 - db $20, $18, $C0, $11 - db $10, $20, $BE, $11 - db $10, $18, $BC, $11 - db $20, $10, $7E, $11 - db $10, $10, $7A, $11 - db $20, $08, $98, $11 - db $10, $08, $90, $11 - db $80 ; terminator - -OAMData2_4f: ; 0x - db $20, $10, $B0, $11 - db $10, $10, $AC, $11 - db $20, $08, $A8, $11 - db $10, $08, $A0, $11 - db $20, $20, $C2, $11 - db $20, $18, $C0, $11 - db $10, $20, $BE, $11 - db $10, $18, $BC, $11 - db $80 ; terminator - -OAMData2_50: ; 0x - db $20, $10, $B0, $11 - db $10, $10, $AC, $11 - db $20, $08, $A8, $11 - db $10, $08, $A0, $11 - db $20, $20, $C2, $11 - db $20, $18, $C0, $11 - db $10, $20, $BE, $11 - db $10, $18, $BC, $11 - db $80 ; terminator - -OAMData2_51: ; 0x - db $20, $20, $CA, $11 - db $20, $18, $C8, $11 - db $10, $20, $C6, $11 - db $10, $18, $C4, $11 - db $20, $10, $B8, $11 - db $10, $10, $B4, $11 - db $10, $08, $A0, $11 - db $20, $08, $2C, $11 - db $80 ; terminator - -OAMData2_52: ; 0x - db $20, $08, $38, $11 - db $10, $18, $36, $11 - db $10, $10, $34, $11 - db $20, $20, $3E, $11 - db $20, $18, $3C, $11 - db $20, $10, $3A, $11 - db $80 ; terminator - -OAMData2_53: ; 0x - db $20, $10, $CE, $11 - db $20, $08, $CC, $11 - db $20, $20, $C2, $11 - db $20, $18, $C0, $11 - db $10, $20, $BE, $11 - db $10, $18, $BC, $11 - db $10, $10, $7A, $11 - db $10, $08, $90, $11 - db $80 ; terminator - -OAMData2_54: ; 0x - db $20, $20, $9A, $11 - db $20, $18, $98, $11 - db $20, $10, $96, $11 - db $20, $08, $94, $11 - db $10, $18, $92, $11 - db $10, $10, $90, $11 - db $80 ; terminator - -OAMData2_55: ; 0x - db $20, $20, $A6, $11 - db $20, $18, $A4, $11 - db $20, $10, $A2, $11 - db $20, $08, $A0, $11 - db $10, $18, $9E, $11 - db $10, $10, $9C, $11 - db $80 ; terminator - -OAMData2_56: ; 0x - db $20, $20, $22, $11 - db $20, $18, $20, $11 - db $20, $10, $1E, $11 - db $20, $08, $1C, $11 - db $10, $18, $1A, $11 - db $10, $10, $A8, $11 - db $80 ; terminator - -OAMData2_57: ; 0x - db $26, $1E, $2A, $13 - db $26, $16, $28, $13 - db $26, $0E, $26, $13 - db $26, $06, $24, $13 - db $80 ; terminator - -OAMData2_58: ; 0x - db $26, $1E, $32, $13 - db $26, $16, $30, $13 - db $26, $0E, $2E, $13 - db $26, $06, $2C, $13 - db $80 ; terminator - -OAMData2_59: ; 0x - db $26, $1E, $3A, $13 - db $26, $16, $38, $13 - db $26, $0E, $36, $13 - db $26, $06, $34, $13 - db $80 ; terminator - -OAMData2_5a: ; 0x - db $25, $1E, $7C, $13 - db $25, $16, $7A, $13 - db $25, $0E, $3E, $13 - db $25, $06, $3C, $13 - db $80 ; terminator - -OAMData2_5b: ; 0x - db $24, $1B, $AC, $13 - db $24, $13, $AA, $13 - db $24, $0B, $7E, $13 - db $80 ; terminator - -OAMData2_5c: ; 0x - db $24, $18, $B0, $13 - db $24, $10, $AE, $13 - db $80 ; terminator - -OAMData2_5d: ; 0x - db $22, $18, $B4, $13 - db $22, $10, $B2, $13 - db $80 ; terminator - -OAMData2_5e: ; 0x - db $20, $1E, $BA, $13 - db $20, $16, $B8, $13 - db $20, $0E, $B6, $13 - db $80 ; terminator - -OAMData2_5f: ; 0x - db $20, $20, $C6, $11 - db $20, $18, $C4, $11 - db $20, $10, $C2, $11 - db $20, $08, $C0, $11 - db $10, $18, $BE, $11 - db $10, $10, $BC, $11 - db $80 ; terminator - -OAMData2_60: ; 0x - db $20, $20, $D2, $11 - db $20, $18, $D0, $11 - db $20, $10, $CE, $11 - db $1F, $08, $CC, $11 - db $10, $18, $CA, $11 - db $10, $10, $C8, $11 - db $80 ; terminator - -OAMData2_61: ; 0x - db $20, $20, $DE, $11 - db $20, $18, $DC, $11 - db $20, $10, $DA, $11 - db $20, $08, $D8, $11 - db $10, $18, $D6, $11 - db $10, $10, $D4, $11 - db $80 ; terminator - -OAMData2_62: ; 0x - db $25, $1B, $AD, $53 - db $25, $13, $AB, $53 - db $25, $0B, $7F, $53 - db $80 ; terminator - -OAMData2_63: ; 0x - db $25, $1E, $7D, $53 - db $25, $16, $7B, $53 - db $25, $0E, $3F, $53 - db $25, $06, $3D, $53 - db $80 ; terminator - -OAMData2_64: ; 0x - db $26, $09, $2A, $33 - db $26, $11, $28, $33 - db $26, $19, $26, $33 - db $26, $21, $24, $33 - db $80 ; terminator - -OAMData2_65: ; 0x - db $26, $09, $32, $33 - db $26, $11, $30, $33 - db $26, $19, $2E, $33 - db $26, $21, $2C, $33 - db $80 ; terminator - -OAMData2_66: ; 0x - db $26, $09, $3A, $33 - db $26, $11, $38, $33 - db $26, $19, $36, $33 - db $26, $21, $34, $33 - db $80 ; terminator - -OAMData2_67: ; 0x - db $25, $09, $7C, $33 - db $25, $11, $7A, $33 - db $25, $19, $3E, $33 - db $25, $21, $3C, $33 - db $80 ; terminator - -OAMData2_68: ; 0x - db $24, $0E, $AC, $33 - db $24, $16, $AA, $33 - db $24, $1E, $7E, $33 - db $80 ; terminator - -OAMData2_69: ; 0x - db $25, $0E, $AD, $73 - db $25, $16, $AB, $73 - db $25, $1E, $7F, $73 - db $80 ; terminator - -OAMData2_6a: ; 0x - db $25, $09, $7D, $73 - db $25, $11, $7B, $73 - db $25, $19, $3F, $73 - db $25, $21, $3D, $73 - db $80 ; terminator - -OAMData2_6b: ; 0x - db $02, $18, $E4, $00 - db $02, $10, $E0, $00 - db $80 ; terminator - -OAMData2_6c: ; 0x - db $00, $18, $E4, $00 - db $00, $10, $E0, $00 - db $80 ; terminator - -OAMData2_6d: ; 0x - db $FE, $18, $E4, $00 - db $FE, $10, $E0, $00 - db $80 ; terminator - -OAMData2_6e: ; 0x - db $02, $18, $E8, $00 - db $02, $10, $E0, $00 - db $80 ; terminator - -OAMData2_6f: ; 0x - db $00, $18, $E8, $00 - db $00, $10, $E0, $00 - db $80 ; terminator - -OAMData2_70: ; 0x - db $FE, $18, $E8, $00 - db $FE, $10, $E0, $00 - db $80 ; terminator - -OAMData2_71: ; 0x - db $02, $18, $EE, $00 - db $02, $10, $E0, $00 - db $80 ; terminator - -OAMData2_72: ; 0x - db $00, $18, $EE, $00 - db $00, $10, $E0, $00 - db $80 ; terminator - -OAMData2_73: ; 0x - db $FE, $18, $EE, $00 - db $FE, $10, $E0, $00 - db $80 ; terminator - -OAMData2_74: ; 0x - db $02, $1C, $EC, $00 - db $02, $14, $E2, $00 - db $02, $0C, $E0, $00 - db $80 ; terminator - -OAMData2_75: ; 0x - db $00, $1C, $EC, $00 - db $00, $14, $E2, $00 - db $00, $0C, $E0, $00 - db $80 ; terminator - -OAMData2_76: ; 0x - db $FE, $1C, $EC, $00 - db $FE, $14, $E2, $00 - db $FE, $0C, $E0, $00 - db $80 ; terminator - -OAMData2_77: ; 0x - db $02, $1C, $E4, $00 - db $02, $14, $E6, $00 - db $02, $0C, $E0, $00 - db $80 ; terminator - -OAMData2_78: ; 0x - db $00, $1C, $E4, $00 - db $00, $14, $E6, $00 - db $00, $0C, $E0, $00 - db $80 ; terminator - -OAMData2_79: ; 0x - db $FE, $1C, $E4, $00 - db $FE, $14, $E6, $00 - db $FE, $0C, $E0, $00 - db $80 ; terminator - -OAMData2_7a: ; 0x - db $02, $1C, $E8, $00 - db $02, $14, $EC, $00 - db $02, $0C, $E0, $00 - db $80 ; terminator - -OAMData2_7b: ; 0x - db $00, $1C, $E8, $00 - db $00, $14, $EC, $00 - db $00, $0C, $E0, $00 - db $80 ; terminator - -OAMData2_7c: ; 0x - db $FE, $1C, $E8, $00 - db $FE, $14, $EC, $00 - db $FE, $0C, $E0, $00 - db $80 ; terminator - -OAMData2_7d: ; 0x - db $02, $20, $EE, $00 - db $02, $18, $E4, $00 - db $02, $10, $E2, $00 - db $02, $08, $E0, $00 - db $80 ; terminator - -OAMData2_7e: ; 0x - db $00, $20, $EE, $00 - db $00, $18, $E4, $00 - db $00, $10, $E2, $00 - db $00, $08, $E0, $00 - db $80 ; terminator - -OAMData2_7f: ; 0x - db $FE, $20, $EE, $00 - db $FE, $18, $E4, $00 - db $FE, $10, $E2, $00 - db $FE, $08, $E0, $00 - db $80 ; terminator - -OAMData2_80: ; 0x - db $02, $20, $EC, $00 - db $02, $18, $EA, $00 - db $02, $10, $E4, $00 - db $02, $08, $E0, $00 - db $80 ; terminator - -OAMData2_81: ; 0x - db $00, $20, $EC, $00 - db $00, $18, $EA, $00 - db $00, $10, $E4, $00 - db $00, $08, $E0, $00 - db $80 ; terminator - -OAMData2_82: ; 0x - db $FE, $20, $EC, $00 - db $FE, $18, $EA, $00 - db $FE, $10, $E4, $00 - db $FE, $08, $E0, $00 - db $80 ; terminator - -OAMData2_83: ; 0x6258 - db $10, $08, $F0, $00 - db $80 ; terminator - -OAMData2_84: ; 0x625d - db $10, $08, $F2, $00 - db $80 ; terminator - -; Free Space 0x6262 +INCLUDE "data/oam_frames.asm" SECTION "bank2", ROMX, BANK[$2] @@ -3884,10 +431,10 @@ DisplayCopyrightScreen: ; 0x8290 FadeOutCopyrightScreenAndLoadData: ; 0x82a8 call Func_cb5 call Func_576 - ld hl, $a000 + ld hl, sHighScores ld de, wRedHighScore1Points ld bc, $0082 - call Func_f0c + call LoadSavedData jr c, .loadedHighScores ld [hFarCallTempA], a callba CopyInitialHighScores @@ -3895,23 +442,23 @@ FadeOutCopyrightScreenAndLoadData: ; 0x82a8 ld hl, sPokedexFlags ld de, wPokedexFlags ld bc, $0098 - call Func_f0c + call LoadSavedData jr c, .asm_82de ld [hFarCallTempA], a callba ClearPokedexData .asm_82de - ld hl, $a244 + ld hl, sKeyConfigs ld de, wKeyConfigs ld bc, $000e - call Func_f0c + call LoadSavedData jr c, .asm_82f6 ld [hFarCallTempA], a callba SaveDefaultKeyConfigs .asm_82f6 - ld hl, $a268 + ld hl, sSaveGame ld de, wPartyMons ld bc, $04c3 ; This is saved game data from when the player saves in the middle of a game. - call Func_f0c + call LoadSavedData jr c, .asm_8308 xor a ld [wd7c2], a ; if this is non-zero, the main menu will prompt for "continue or new game?". @@ -4543,7 +1090,7 @@ HandleInGameMenu: ; 0x86d7 ld a, $1 ld [wd7c2], a ld hl, wPartyMons - ld de, $a268 + ld de, sSaveGame ld bc, $04c3 call SaveData xor a @@ -5966,20 +2513,20 @@ Func_c10e: ; 0xc10e ld a, [wd7c2] and a jr z, .asm_c173 - ld hl, $a268 + ld hl, sSaveGame ld de, wPartyMons ld bc, $04c3 - call Func_f0c + call LoadSavedData jr nc, .asm_c173 xor a ld [wd7c2], a ld hl, wPartyMons - ld de, $a268 + ld de, sSaveGame ld bc, $04c3 call SaveData ld a, $1 ld [wd7c1], a - ld a, $4 + ld a, SCREEN_PINBALL_GAME ld [wCurrentScreen], a ld a, $0 ld [wScreenState], a @@ -6510,7 +3057,7 @@ Func_c506: ; 0xc506 ld hl, hLCDC res 3, [hl] ld hl, wKeyConfigBallStart - ld de, $a244 + ld de, sKeyConfigs ld bc, $000e call SaveData ld a, $1 @@ -7335,7 +3882,7 @@ SaveDefaultKeyConfigs: ; 0ca3a dec b jr nz, .loop ld hl, wKeyConfigs - ld de, $a244 + ld de, sKeyConfigs ld bc, $000e call SaveData ret @@ -7388,11 +3935,11 @@ Func_ca8f: ; 0xca8f ld [hli], a call GenRandom ld [hli], a - ld hl, wda36 + ld hl, wRedHighScore5Points + $5 ld a, [wHighScoresStage] and a jr z, .asm_caae - ld hl, wda77 + ld hl, wBlueHighScore5Points + $5 .asm_caae ld b, $5 .asm_cab0 @@ -7427,13 +3974,13 @@ Func_ca8f: ; 0xca8f xor a ld [wda80], a inc b - ld hl, wda30 - ld de, wda3d + ld hl, wRedHighScore4Unknown0x09 + 3 + ld de, wRedHighScore5Unknown0x09 + 3 ld a, [wHighScoresStage] and a jr z, .asm_caeb - ld hl, wda71 - ld de, wda7e + ld hl, wBlueHighScore4Unknown0x09 + 3 + ld de, wBlueHighScore5Unknown0x09 + 3 .asm_caeb ld a, $5 .asm_caed @@ -7503,10 +4050,10 @@ Func_cb14: ; 0xcb14 ld [wda82], a call Func_d211 hlCoord 0, 14, vBGMap0 - ld de, wda3d + ld de, wRedHighScore5Unknown0x09 + $3 call Func_d2cb hlCoord 0, 14, vBGMap1 - ld de, wda7e + ld de, wBlueHighScore5Unknown0x09 + $3 call Func_d2cb ld a, [wHighScoresStage] and a @@ -7719,10 +4266,10 @@ Func_ccb6: ; 0xccb6 ld bc, $01c0 call LoadVRAMData hlCoord 0, 14, vBGMap0 - ld de, wda3d + ld de, wRedHighScore5Unknown0x09 + $3 call Func_d361 hlCoord 0, 14, vBGMap1 - ld de, wda7e + ld de, wBlueHighScore5Unknown0x09 + $3 call Func_d361 ld hl, wRedHighScore1Points ld de, $a000 @@ -7854,7 +4401,7 @@ Func_cdce: ; 0xcdce push hl ld d, h ld e, l - ld hl, wda3d + ld hl, wRedHighScore5Unknown0x09 + $3 call Func_cfcb pop hl pop bc @@ -7873,7 +4420,7 @@ Func_cdce: ; 0xcdce push hl ld d, h ld e, l - ld hl, wda7e + ld hl, wBlueHighScore5Unknown0x09 + $3 call Func_cfcb pop hl pop bc @@ -7886,10 +4433,10 @@ Func_cdce: ; 0xcdce ld [$abf6], a pop af hlCoord 0, 14, vBGMap0 - ld de, wda3d + ld de, wRedHighScore5Unknown0x09 + $3 call Func_d361 hlCoord 0, 14, vBGMap1 - ld de, wda7e + ld de, wBlueHighScore5Unknown0x09 + $3 call Func_d361 ld hl, wRedHighScore1Points ld de, $a000 @@ -8198,7 +4745,7 @@ Func_d042: ; 0xd042 ld a, [wda86] bit 2, a jr z, .asm_d0a2 - ld de, wda06 + ld de, wRedHighScore1Unknown0x09 call Func_d107 call Func_d0f5 ret c @@ -8224,7 +4771,7 @@ Func_d042: ; 0xd042 ld a, [wda86] bit 2, a ret z - ld de, wda47 + ld de, wBlueHighScore1Unknown0x09 call Func_d107 call Func_d0f5 ret @@ -8255,17 +4802,17 @@ Func_d107: ; 0xd107 ld hl, wc280 ld a, $c0 ld b, $20 -.asm_d10e +.clear rept 32 ld [hli], a endr dec b - jr nz, .asm_d10e + jr nz, .clear ld hl, wc280 ld b, $5 -.asm_d136 +.loop ld c, $4 -.asm_d138 +.inner ld a, [de] swap a call Func_d159 @@ -8274,21 +4821,21 @@ endr inc de inc hl dec c - jr nz, .asm_d138 + jr nz, .inner ld a, l add $4c ld l, a - jr nc, .asm_d14e + jr nc, .no_carry_1 inc h -.asm_d14e +.no_carry_1 ld a, e add $9 ld e, a - jr nc, .asm_d155 + jr nc, .no_carry_2 inc d -.asm_d155 +.no_carry_2 dec b - jr nz, .asm_d136 + jr nz, .loop ret Func_d159: ; 0xd159 @@ -9217,7 +5764,7 @@ ExitFieldSelectScreen: ; 0xd774 xor a ld [wd7c2], a ld hl, wPartyMons - ld de, $a268 + ld de, sSaveGame ld bc, $04c3 call SaveData xor a @@ -12664,7 +9211,7 @@ Func_f5a0: ; 0xf5a0 call Func_f8b5 ld a, $1 ld [wd4ab], a - call Func_f626 + call ValidateSignature6 call Func_f64e call Func_f60a call Func_f676 @@ -12721,7 +9268,7 @@ CallTable_f60d: ; 0xf60d ; STAGE_MEOWTH_BONUS dw Func_faf8 -Func_f626: ; 0xf626 +ValidateSignature6: ; 0xf626 ld de, wBottomMessageText + $01 ld hl, Data_3006 call PrintTextNoHeader diff --git a/sram.asm b/sram.asm index e79d216..374a0fc 100755 --- a/sram.asm +++ b/sram.asm @@ -1,7 +1,15 @@ SECTION "SRAM 0", SRAM, BANK [$0] -s0_a000:: - ds $10c +saved_data: MACRO +\1:: ds \2 +\1Signature:: ds 2 +\1Checksum:: dw +\1Backup:: ds \2 +\1BackupSignature:: ds 2 +\1BackupChecksum:: dw +ENDM -sPokedexFlags:: ; 0xa10c - ds $98 + saved_data sHighScores, $82 + saved_data sPokedexFlags, $98 + saved_data sKeyConfigs, $e + saved_data sSaveGame, $4c3 diff --git a/wram.asm b/wram.asm index 9ca4d64..a4e650b 100755 --- a/wram.asm +++ b/wram.asm @@ -2366,90 +2366,25 @@ wNumPokemonSeen:: ; 0xd9f9 wNumPokemonOwned:: ; 0xd9fb ds $2 -wRedHighScores:: ; 0xd9fd -wRedHighScore1Points:: - ds $6 - -wRedHighScore1Name:: ; 0xda03 - ds $3 - -wda06:: ; 0xda06 - ds $4 - -wRedHighScore2Points:: ; 0xda0a - ds $6 - -wRedHighScore2Name:: ; 0xda10 - ds $7 - -wRedHighScore3Points:: ; 0xda17 - ds $6 - -wRedHighScore3Name:: ; 0xda1d - ds $7 - -wRedHighScore4Points:: ; 0xda24 - ds $6 - -wRedHighScore4Name:: ; 0xda2a - ds $6 - -wda30:: ; 0xda30 - ds $1 - -wRedHighScore5Points:: ; 0xda31 - ds $5 - -wda36:: ; 0xda36 - ds $1 - -wRedHighScore5Name:: ; 0xda37 - ds $6 - -wda3d:: ; 0xda3d - ds $1 +high_scores: MACRO +\1Points:: ds 6 +\1Name:: ds 3 +\1Unknown0x09:: ds 4 +ENDM -wBlueHighScore1Points:: ; 0xda3e - ds $6 - -wBlueHighScore1Name:: ; 0xda44 - ds $3 - -wda47:: ; 0xda47 - ds $4 - -wBlueHighScore2Points:: ; 0xda4b - ds $6 - -wBlueHighScore2Name:: ; 0xda51 - ds $7 - -wBlueHighScore3Points:: ; 0xda58 - ds $6 - -wBlueHighScore3Name:: ; 0xda5e - ds $7 - -wBlueHighScore4Points:: ; 0xda65 - ds $6 - -wBlueHighScore4Name:: ; 0xda6b - ds $6 - -wda71:: ; 0xda71 - ds $1 - -wBlueHighScore5Points:: ; 0xda72 - ds $5 - -wda77:: ; 0xda77 - ds $1 - -wBlueHighScore5Name:: ; 0xda78 - ds $6 - -wda7e:: ; 0xda7e - ds $1 +wRedHighScores:: ; 0xd9fd + high_scores wRedHighScore1 + high_scores wRedHighScore2 + high_scores wRedHighScore3 + high_scores wRedHighScore4 + high_scores wRedHighScore5 + +wBlueHighScores:: ; 0xd9fd + high_scores wBlueHighScore1 + high_scores wBlueHighScore2 + high_scores wBlueHighScore3 + high_scores wBlueHighScore4 + high_scores wBlueHighScore5 wda7f:: ; 0xda7f ds $1 -- cgit v1.2.3 From 8bb81d151ab0647ea4e944f59c5d03967a48b8d9 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 12 Feb 2017 15:06:36 -0500 Subject: Some WRAM changes; update farcall macro --- charmap.asm | 13 +- home.asm | 5 +- home/sgb.asm | 4 +- home/text.asm | 3 +- macros.asm | 13 +- main.asm | 1414 ++++++++++++++++++++------------------------------------- vram.asm | 10 +- wram.asm | 12 +- 8 files changed, 518 insertions(+), 956 deletions(-) diff --git a/charmap.asm b/charmap.asm index 57e227f..7754cd1 100755 --- a/charmap.asm +++ b/charmap.asm @@ -1,9 +1,4 @@ -charmap "@", $00 - -charmap "♂", $24 - -charmap ".", $2E - -charmap "é", $40 - -charmap "♀", $5C + charmap "@", $00 + charmap "♂", $24 + charmap "é", $40 + charmap "♀", $5C diff --git a/home.asm b/home.asm index 1938843..5476cca 100755 --- a/home.asm +++ b/home.asm @@ -75,7 +75,7 @@ Start: ; 0x150 ld hl, wc000 ld bc, $2000 call ClearData ; Clear WRAM Bank 0 - ld hl, vTiles0 + ld hl, vTilesOB ld bc, $1000 call ClearData ; Clear First half of VRAM ld a, SRAM_ENABLE @@ -3899,7 +3899,6 @@ Func_1ffc: ; 0x1ffc ld [wd806], a ld a, $4 ld [wd807], a - ld [hFarCallTempA], a callba Func_3c000 ld a, $1 ld [wd85d], a @@ -5290,7 +5289,6 @@ Func_3500: ld [hli], a ld [hl], a ld bc, wd464 - ldh [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier ret @@ -5308,7 +5306,6 @@ AddBCDEToCurBufferValue: ; 0x351c ld [hli], a ld [hl], a ld bc, wd464 - ld [hFarCallTempA], a callba AddBigBCD6FromQueue ret diff --git a/home/sgb.asm b/home/sgb.asm index 49f8a00..cc0e1b5 100755 --- a/home/sgb.asm +++ b/home/sgb.asm @@ -124,9 +124,9 @@ FarSendSGBPacket_BGMapRows: ; 0x1353 ld [rBGP], a ld de, $0010 add hl, de - ld de, vTiles1 ; tiles + ld de, vTilesSH ; tiles call LocalCopyData - ld hl, vBGMap0 ; bgmap + ld hl, vBGMap ; bgmap ld de, $000c ld a, $80 ld c, $d diff --git a/home/text.asm b/home/text.asm index 16463e7..1968494 100755 --- a/home/text.asm +++ b/home/text.asm @@ -217,7 +217,7 @@ Func_31e1: ; 0x31e1 Data_320e: macro_320e: MACRO - dw vTiles1 tile \1 + dw vTilesSH tile \1 dba \2 ENDM macro_320e 3, GFX_d6440 @@ -666,7 +666,6 @@ Func_3475: ; 0x3475 ld a, Bank(HandleFlippers) ld hl, HandleFlippers call nz, BankSwitch - ld [hFarCallTempA], a callba Func_84b7 call Func_33e3 call Func_926 diff --git a/macros.asm b/macros.asm index acbcbde..51091bc 100755 --- a/macros.asm +++ b/macros.asm @@ -58,20 +58,13 @@ bigdw: MACRO ; big-endian word dx 2, \1 ENDM -farcall: MACRO +callba: MACRO + ld [hFarCallTempA], a ld a, BANK(\1) ld hl, \1 call BankSwitch ENDM -callba EQUS "farcall" - -callab: MACRO - ld hl, \1 - ld a, BANK(\1) - call BankSwitch - ENDM - bigBCD6: MACRO ; There is probably a better name for this macro. ; It write a BCD in big-endian form. @@ -95,7 +88,7 @@ ENDM ;\1 = X ;\2 = Y -;\3 = Reference Background Map (e.g. vBGMap0 or vBGMap1) +;\3 = Reference Background Map (e.g. vBGMap or vBGWin) coord: MACRO ld \1, \4 + $20 * \3 + \2 ENDM diff --git a/main.asm b/main.asm index 7420d7f..5d1f25a 100755 --- a/main.asm +++ b/main.asm @@ -87,7 +87,7 @@ PointerTable_8089: ; 0x8089 dw UnusedTextVideoData UnusedTextVideoData: ; 0x808b - VIDEO_DATA_TILES UnusedTextGfx, vTiles1 + $200, $400 + VIDEO_DATA_TILES UnusedTextGfx, vTilesSH + $200, $400 db $FF, $FF ; terminators UnusedTileListData_8094: ; 0x8094 @@ -103,7 +103,7 @@ UnusedTileListData_8094: ; 0x8094 db $00 ; terminator FillBackgroundsVRAM: ; 0x80b5 - ld hl, vBGMap0 + ld hl, vBGMap .fillLoop xor a ld [hli], a @@ -116,7 +116,7 @@ FillBackgroundsVRAM: ; 0x80b5 ret FillTilesVRAM: ; 0x80c3 - ld hl, vTiles0 + ld hl, vTilesOB .fillLoop ld a, c ld [hli], a @@ -124,7 +124,7 @@ FillTilesVRAM: ; 0x80c3 ld [hli], a ld [hli], a ld a, h - cp (vBGMap0 >> 8) + cp (vBGMap >> 8) jr nz, .fillLoop ret @@ -287,14 +287,14 @@ EraseAllDataGfxPointers: ; 0x81a2 dw EraseAllDataGfx_GameBoyColor EraseAllDataGfx_GameBoy: ; 0x81a6 - VIDEO_DATA_TILES EraseAllDataGfx, vTiles2, $300 - VIDEO_DATA_TILEMAP EraseAllDataTilemap, vBGMap0, $400 + VIDEO_DATA_TILES EraseAllDataGfx, vTilesBG, $300 + VIDEO_DATA_TILEMAP EraseAllDataTilemap, vBGMap, $400 db $FF, $FF ; terminators EraseAllDataGfx_GameBoyColor: ; 0x81b6 - VIDEO_DATA_TILES EraseAllDataGfx, vTiles2, $300 - VIDEO_DATA_TILEMAP EraseAllDataTilemap, vBGMap0, $400 - VIDEO_DATA_BGATTR EraseAllDataBGAttributes, vBGMap0, $400 + VIDEO_DATA_TILES EraseAllDataGfx, vTilesBG, $300 + VIDEO_DATA_TILEMAP EraseAllDataTilemap, vBGMap, $400 + VIDEO_DATA_BGATTR EraseAllDataBGAttributes, vBGMap, $400 VIDEO_DATA_PALETTES HighScoresRedStagePalettes, $80 db $FF, $FF ; terminators @@ -397,14 +397,14 @@ CopyrightTextGfxPointers: ; 0x825e dw CopyrightTextGfx_GameBoyColor CopyrightTextGfx_GameBoy: ; 0x8262 - VIDEO_DATA_TILES CopyrightTextGfx, vTiles1, $400 - VIDEO_DATA_TILEMAP CopyrightScreenTilemap, vBGMap0, $400 + VIDEO_DATA_TILES CopyrightTextGfx, vTilesSH, $400 + VIDEO_DATA_TILEMAP CopyrightScreenTilemap, vBGMap, $400 db $FF, $FF ; terminators CopyrightTextGfx_GameBoyColor: ; 0x8272 - VIDEO_DATA_TILES CopyrightTextGfx, vTiles1, $400 - VIDEO_DATA_TILEMAP CopyrightScreenTilemap, vBGMap0, $400 - VIDEO_DATA_BGATTR CopyrightScreenBGAttributes, vBGMap0, $400 + VIDEO_DATA_TILES CopyrightTextGfx, vTilesSH, $400 + VIDEO_DATA_TILEMAP CopyrightScreenTilemap, vBGMap, $400 + VIDEO_DATA_BGATTR CopyrightScreenBGAttributes, vBGMap, $400 VIDEO_DATA_PALETTES CopyrightScreenPalettes, $80 db $FF, $FF ; terminators @@ -436,7 +436,6 @@ FadeOutCopyrightScreenAndLoadData: ; 0x82a8 ld bc, $0082 call LoadSavedData jr c, .loadedHighScores - ld [hFarCallTempA], a callba CopyInitialHighScores .loadedHighScores ld hl, sPokedexFlags @@ -444,7 +443,6 @@ FadeOutCopyrightScreenAndLoadData: ; 0x82a8 ld bc, $0098 call LoadSavedData jr c, .asm_82de - ld [hFarCallTempA], a callba ClearPokedexData .asm_82de ld hl, sKeyConfigs @@ -452,7 +450,6 @@ FadeOutCopyrightScreenAndLoadData: ; 0x82a8 ld bc, $000e call LoadSavedData jr c, .asm_82f6 - ld [hFarCallTempA], a callba SaveDefaultKeyConfigs .asm_82f6 ld hl, sSaveGame @@ -478,14 +475,14 @@ InitializeStage: ; 0x8311 ld a, [wd805] and a jr nz, .asm_8331 - ld hl, vBGMap1 + ld hl, vBGWin ld bc, $0400 ld a, $0 call Func_63e jr .asm_833c .asm_8331 - ld hl, vBGMap1 + ld hl, vBGWin ld bc, $0400 ld a, $8 call Func_63e @@ -624,7 +621,6 @@ Func_8444: ; 0x8444 ld a, [wd5bb] and a jr z, .asm_8460 - ld [hFarCallTempA], a callba Func_10464 .asm_8460 ret @@ -711,75 +707,75 @@ PointerTable_84bd: ; 0x84bd Func_84fd: ld a, [hGameBoyColorFlag] and a - jr z, .asm_850d + jr z, .not_cgb ld a, $1 ld [rVBK], a xor a - call Func_8519 + call .FillAttrsOrBGMap xor a ld [rVBK], a -.asm_850d +.not_cgb ld a, $81 - call Func_8519 + call .FillAttrsOrBGMap ld de, wc600 + $47 call Func_8524 ret -Func_8519: ; 8519 (2:4519) - hlCoord 0, 0, vBGMap1 +.FillAttrsOrBGMap: ; 8519 (2:4519) + hlCoord 0, 0, vBGWin ld b, $20 -.asm_851e +.loop ld [hli], a ld [hli], a dec b - jr nz, .asm_851e + jr nz, .loop ret Func_8524: ; 0x8524 - ld hl, wd46f - ld bc, $0c01 -.asm_852a + ld hl, wScore + $5 + lb bc, $0c, $01 +.loop ld a, [hl] swap a and $f - call Func_8543 + call .GetDigit inc de dec b ld a, [hld] and $f - call Func_8543 + call .GetDigit inc de dec b - jr nz, .asm_852a + jr nz, .loop ld a, $86 ld [de], a inc de ret -Func_8543: ; 0x8543 - jr nz, .asm_854c +.GetDigit: ; 0x8543 + jr nz, .okay ld a, b dec a - jr z, .asm_854c + jr z, .okay ld a, c and a ret nz -.asm_854c - add $86 +.okay + add $86 ; 0 ld [de], a ld c, $0 ld a, b cp $c - jr z, .asm_8561 + jr z, .load_tile_82 cp $9 - jr z, .asm_8561 + jr z, .load_tile_82 cp $6 - jr z, .asm_8561 + jr z, .load_tile_82 cp $3 ret nz -.asm_8561 +.load_tile_82 set 7, e - ld a, $82 + ld a, $82 ; , ld [de], a res 7, e ret @@ -999,7 +995,6 @@ StartTimer: ; 0x867d ld [wd57d], a ld a, $1 ld [wd580], a - ld [hFarCallTempA], a callba Func_1404a ret @@ -1069,12 +1064,12 @@ HandleInGameMenu: ; 0x86d7 call Func_8797 ld a, Bank(InGameMenuSymbolsGfx) ld hl, InGameMenuSymbolsGfx - ld de, vTiles1 + $60 + ld de, vTilesSH + $60 ld bc, $0010 call LoadVRAMData ld a, $0 ld hl, wBottomMessageText - ld de, vBGMap1 + ld de, vBGWin ld bc, $00c0 call LoadVRAMData ld a, $60 @@ -1111,7 +1106,7 @@ HandleInGameMenu: ; 0x86d7 jr nz, .asm_8778 ld a, Bank(StageRedFieldTopStatusBarSymbolsGfx_GameBoy) ld hl, StageRedFieldTopStatusBarSymbolsGfx_GameBoy + $60 - ld de, vTiles1 + $60 + ld de, vTilesSH + $60 ld bc, $0010 call LoadVRAMData jr .asm_8786 @@ -1119,7 +1114,7 @@ HandleInGameMenu: ; 0x86d7 .asm_8778 ld a, Bank(StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor) ld hl, StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor + $60 - ld de, vTiles1 + $60 + ld de, vTilesSH + $60 ld bc, $0010 call LoadVRAMData .asm_8786 @@ -1203,7 +1198,7 @@ DrawInGameMenu: ; 0x87ed ld [hl], a ld a, $0 ld hl, wBottomMessageText - ld de, vBGMap1 + ld de, vBGWin ld bc, $00c0 call LoadVRAMData ret @@ -2406,14 +2401,14 @@ TitlescreenFadeInGfxPointers: ; 0xc057 dw TitlescreenFadeInGfx_GameBoyColor TitlescreenFadeInGfx_GameBoy: ; 0xc05b - VIDEO_DATA_TILES TitlescreenGfx, vTiles0, $1800 - VIDEO_DATA_TILEMAP TitlescreenTilemap, vBGMap0, $240 + VIDEO_DATA_TILES TitlescreenGfx, vTilesOB, $1800 + VIDEO_DATA_TILEMAP TitlescreenTilemap, vBGMap, $240 db $FF, $FF ; terminators TitlescreenFadeInGfx_GameBoyColor: ; 0xc06b - VIDEO_DATA_TILES TitlescreenFadeInGfx, vTiles0, $1800 - VIDEO_DATA_TILEMAP TitlescreenTilemap, vBGMap0, $240 - VIDEO_DATA_BGATTR TitlescreenBGAttributes, vBGMap0, $240 + VIDEO_DATA_TILES TitlescreenFadeInGfx, vTilesOB, $1800 + VIDEO_DATA_TILEMAP TitlescreenTilemap, vBGMap, $240 + VIDEO_DATA_BGATTR TitlescreenBGAttributes, vBGMap, $240 VIDEO_DATA_PALETTES TitlescreenPalettes, $80 db $FF, $FF ; terminators @@ -2866,10 +2861,10 @@ Func_c35a: ; 0xc35a call PlaySong call Func_588 ld a, [wSoundTestCurrentBackgroundMusic] - hlCoord 7, 11, vBGMap0 + hlCoord 7, 11, vBGMap call RedrawSoundTestID ld a, [wSoundTextCurrentSoundEffect] - hlCoord 7, 13, vBGMap0 + hlCoord 7, 13, vBGMap call RedrawSoundTestID call Func_bbe ld hl, wScreenState @@ -2881,17 +2876,17 @@ OptionsScreenVideoDataPointers: ; 0xc3b9 dw OptionsScreenVideoData_GameBoyColor OptionsScreenVideoData_GameBoy: ; 0xc3bd - VIDEO_DATA_TILES OptionMenuAndKeyConfigGfx, vTiles0, $1400 - VIDEO_DATA_TILEMAP OptionMenuTilemap, vBGMap0, $240 - VIDEO_DATA_TILEMAP OptionMenuTilemap2, vBGMap1, $240 + VIDEO_DATA_TILES OptionMenuAndKeyConfigGfx, vTilesOB, $1400 + VIDEO_DATA_TILEMAP OptionMenuTilemap, vBGMap, $240 + VIDEO_DATA_TILEMAP OptionMenuTilemap2, vBGWin, $240 db $FF, $FF ; terminators OptionsScreenVideoData_GameBoyColor: ; 0xc3d4 - VIDEO_DATA_TILES OptionMenuAndKeyConfigGfx, vTiles0, $1400 - VIDEO_DATA_TILEMAP OptionMenuTilemap, vBGMap0, $240 - VIDEO_DATA_TILEMAP_BANK2 OptionMenuTilemap3, vBGMap0, $240 - VIDEO_DATA_TILEMAP OptionMenuTilemap2, vBGMap1, $240 - VIDEO_DATA_TILEMAP_BANK2 OptionMenuTilemap4, vBGMap1, $240 + VIDEO_DATA_TILES OptionMenuAndKeyConfigGfx, vTilesOB, $1400 + VIDEO_DATA_TILEMAP OptionMenuTilemap, vBGMap, $240 + VIDEO_DATA_TILEMAP_BANK2 OptionMenuTilemap3, vBGMap, $240 + VIDEO_DATA_TILEMAP OptionMenuTilemap2, vBGWin, $240 + VIDEO_DATA_TILEMAP_BANK2 OptionMenuTilemap4, vBGWin, $240 VIDEO_DATA_PALETTES OptionMenuPalettes, $80 db $FF, $FF ; terminators @@ -3375,7 +3370,7 @@ UpdateSoundTestBackgroundMusicSelection: ; 0xc715 xor a .saveBackgroundMusicID ld [wSoundTestCurrentBackgroundMusic], a - hlCoord 7, 11, vBGMap0 + hlCoord 7, 11, vBGMap jp RedrawSoundTestID UpdateSoundTestSoundEffectSelection: ; 0xc73a @@ -3409,7 +3404,7 @@ UpdateSoundTestSoundEffectSelection: ; 0xc73a xor a .saveSoundEffectID ld [wSoundTextCurrentSoundEffect], a - hlCoord 7, 13, vBGMap0 + hlCoord 7, 13, vBGMap ; fall through RedrawSoundTestID: ; 0xc76c @@ -3697,7 +3692,7 @@ OAMPixelOffsetData_c944: ; 0xc944 dw $7018 Func_c948: ; 0xc948 - hlCoord 13, 3, vBGMap1 + hlCoord 13, 3, vBGWin ld de, wKeyConfigBallStart ld b, $e .asm_c950 @@ -3943,7 +3938,7 @@ Func_ca8f: ; 0xca8f .asm_caae ld b, $5 .asm_cab0 - ld de, wd46f + ld de, wScore + $5 ld c, $6 .asm_cab5 ld a, [de] @@ -3988,7 +3983,7 @@ Func_ca8f: ; 0xca8f jr c, .asm_cb02 push af jr nz, .asm_caf6 - ld hl, wd476 + ld hl, wd473 + $3 .asm_caf6 ld c, $d .asm_caf8 @@ -4049,10 +4044,10 @@ Func_cb14: ; 0xcb14 ld a, $20 ld [wda82], a call Func_d211 - hlCoord 0, 14, vBGMap0 + hlCoord 0, 14, vBGMap ld de, wRedHighScore5Unknown0x09 + $3 call Func_d2cb - hlCoord 0, 14, vBGMap1 + hlCoord 0, 14, vBGWin ld de, wBlueHighScore5Unknown0x09 + $3 call Func_d2cb ld a, [wHighScoresStage] @@ -4113,73 +4108,73 @@ HighScoresVideoDataPointers: ; 0xcbe3 dw HighScoresBlueStageVideoData_GameBoyColor HighScoresVideoData_GameBoy: ; 0xcbe9 - VIDEO_DATA_TILES HighScoresBaseGameBoyGfx, vTiles0, $1800 - VIDEO_DATA_TILEMAP HighScoresTilemap, vBGMap0, $400 - VIDEO_DATA_TILEMAP HighScoresTilemap2, vBGMap1, $400 + VIDEO_DATA_TILES HighScoresBaseGameBoyGfx, vTilesOB, $1800 + VIDEO_DATA_TILEMAP HighScoresTilemap, vBGMap, $400 + VIDEO_DATA_TILEMAP HighScoresTilemap2, vBGWin, $400 dw HighScoresTilemap + $3c0 db Bank(HighScoresTilemap) - dw vBGMap0 + dw vBGMap dw ($40 << 2) dw HighScoresTilemap + $280 db Bank(HighScoresTilemap) - dw vBGMap0 + $200 + dw vBGMap + $200 dw ($40 << 2) dw HighScoresTilemap2 + $3c0 db Bank(HighScoresTilemap2) - dw vBGMap1 + dw vBGWin dw ($40 << 2) dw HighScoresTilemap2 + $280 db Bank(HighScoresTilemap2) - dw vBGMap1 + $200 + dw vBGWin + $200 dw ($40 << 2) db $FF, $FF ; terminators HighScoresRedStageVideoData_GameBoyColor: ; 0xcc1c - VIDEO_DATA_TILES HighScoresBaseGameBoyGfx, vTiles0, $1800 - VIDEO_DATA_TILEMAP HighScoresTilemap, vBGMap0, $400 - VIDEO_DATA_TILEMAP HighScoresTilemap2, vBGMap1, $400 - VIDEO_DATA_TILEMAP_BANK2 HighScoresTilemap4, vBGMap0, $400 - VIDEO_DATA_TILEMAP_BANK2 HighScoresTilemap5, vBGMap1, $400 + VIDEO_DATA_TILES HighScoresBaseGameBoyGfx, vTilesOB, $1800 + VIDEO_DATA_TILEMAP HighScoresTilemap, vBGMap, $400 + VIDEO_DATA_TILEMAP HighScoresTilemap2, vBGWin, $400 + VIDEO_DATA_TILEMAP_BANK2 HighScoresTilemap4, vBGMap, $400 + VIDEO_DATA_TILEMAP_BANK2 HighScoresTilemap5, vBGWin, $400 dw HighScoresTilemap + $3c0 db Bank(HighScoresTilemap) - dw vBGMap0 + dw vBGMap dw ($40 << 2) dw HighScoresTilemap + $280 db Bank(HighScoresTilemap) - dw vBGMap0 + $200 + dw vBGMap + $200 dw ($40 << 2) dw HighScoresTilemap2 + $3c0 db Bank(HighScoresTilemap2) - dw vBGMap1 + dw vBGWin dw ($40 << 2) dw HighScoresTilemap2 + $280 db Bank(HighScoresTilemap2) - dw vBGMap1 + $200 + dw vBGWin + $200 dw ($40 << 2) VIDEO_DATA_PALETTES HighScoresRedStagePalettes, $80 db $FF, $FF HighScoresBlueStageVideoData_GameBoyColor: ; 0xcc64 - VIDEO_DATA_TILES HighScoresBaseGameBoyGfx, vTiles0, $1800 - VIDEO_DATA_TILEMAP HighScoresTilemap, vBGMap0, $400 - VIDEO_DATA_TILEMAP HighScoresTilemap2, vBGMap1, $400 - VIDEO_DATA_TILEMAP_BANK2 HighScoresTilemap4, vBGMap0, $400 - VIDEO_DATA_TILEMAP_BANK2 HighScoresTilemap5, vBGMap1, $400 + VIDEO_DATA_TILES HighScoresBaseGameBoyGfx, vTilesOB, $1800 + VIDEO_DATA_TILEMAP HighScoresTilemap, vBGMap, $400 + VIDEO_DATA_TILEMAP HighScoresTilemap2, vBGWin, $400 + VIDEO_DATA_TILEMAP_BANK2 HighScoresTilemap4, vBGMap, $400 + VIDEO_DATA_TILEMAP_BANK2 HighScoresTilemap5, vBGWin, $400 dw HighScoresTilemap + $3c0 db Bank(HighScoresTilemap) - dw vBGMap0 + dw vBGMap dw ($40 << 2) dw HighScoresTilemap + $280 db Bank(HighScoresTilemap) - dw vBGMap0 + $200 + dw vBGMap + $200 dw ($40 << 2) dw HighScoresTilemap2 + $3c0 db Bank(HighScoresTilemap2) - dw vBGMap1 + dw vBGWin dw ($40 << 2) dw HighScoresTilemap2 + $280 db Bank(HighScoresTilemap2) - dw vBGMap1 + $200 + dw vBGWin + $200 dw ($40 << 2) VIDEO_DATA_PALETTES HighScoresBlueStagePalettes, $80 db $FF, $FF ; terminators @@ -4257,18 +4252,18 @@ Func_ccb6: ; 0xccb6 call CopyInitialHighScores ld a, BANK(HighScoresTilemap) ld hl, HighScoresTilemap + $40 - deCoord 0, 2, vBGMap0 + deCoord 0, 2, vBGMap ld bc, $01c0 call LoadVRAMData ld a, BANK(HighScoresTilemap2) ld hl, HighScoresTilemap2 + $40 - deCoord 0, 2, vBGMap1 + deCoord 0, 2, vBGWin ld bc, $01c0 call LoadVRAMData - hlCoord 0, 14, vBGMap0 + hlCoord 0, 14, vBGMap ld de, wRedHighScore5Unknown0x09 + $3 call Func_d361 - hlCoord 0, 14, vBGMap1 + hlCoord 0, 14, vBGWin ld de, wBlueHighScore5Unknown0x09 + $3 call Func_d361 ld hl, wRedHighScore1Points @@ -4432,10 +4427,10 @@ Func_cdce: ; 0xcdce ld a, $8 ld [$abf6], a pop af - hlCoord 0, 14, vBGMap0 + hlCoord 0, 14, vBGMap ld de, wRedHighScore5Unknown0x09 + $3 call Func_d361 - hlCoord 0, 14, vBGMap1 + hlCoord 0, 14, vBGWin ld de, wBlueHighScore5Unknown0x09 + $3 call Func_d361 ld hl, wRedHighScore1Points @@ -4730,7 +4725,7 @@ Func_d042: ; 0xd042 ld bc, $0040 call FarCopyData ld a, $0 - hlCoord 0, 2, vBGMap0 + hlCoord 0, 2, vBGMap ld de, wc2c0 ld bc, $01c0 call LoadVRAMData @@ -4756,7 +4751,7 @@ Func_d042: ; 0xd042 ld bc, $0040 call FarCopyData ld a, $0 - hlCoord 0, 2, vBGMap1 + hlCoord 0, 2, vBGWin ld de, wc2c0 ld bc, $01c0 call LoadVRAMData @@ -5336,11 +5331,11 @@ Func_d46f: ; 0xd46f ld a, [wda80] add e ld e, a - hlCoord 3, 2, vBGMap0 + hlCoord 3, 2, vBGMap ld a, [wHighScoresStage] and a jr z, .asm_d496 - hlCoord 3, 2, vBGMap1 + hlCoord 3, 2, vBGWin .asm_d496 add hl, de push hl @@ -5491,22 +5486,22 @@ Func_d57b: ; 0xd57b rst AdvanceFrame ld a, BANK(HighScoresTilemap) ld hl, HighScoresTilemap - deCoord 0, 0, vBGMap0 + deCoord 0, 0, vBGMap ld bc, $0040 call LoadVRAMData ld a, BANK(HighScoresTilemap) ld hl, HighScoresTilemap + $200 - deCoord 0, 16, vBGMap0 + deCoord 0, 16, vBGMap ld bc, $0040 call LoadVRAMData ld a, BANK(HighScoresTilemap2) ld hl, HighScoresTilemap2 - deCoord 0, 0, vBGMap1 + deCoord 0, 0, vBGWin ld bc, $0040 call LoadVRAMData ld a, BANK(HighScoresTilemap2) ld hl, HighScoresTilemap2 + $200 - deCoord 0, 16, vBGMap1 + deCoord 0, 16, vBGWin ld bc, $0040 call LoadVRAMData ld b, $10 @@ -5536,22 +5531,22 @@ Func_d5d0: ; 0xd5d0 jr nz, .asm_d5d2 ld a, BANK(HighScoresTilemap) ld hl, HighScoresTilemap + $3c0 - deCoord 0, 0, vBGMap0 + deCoord 0, 0, vBGMap ld bc, $0040 call LoadVRAMData ld a, BANK(HighScoresTilemap) ld hl, HighScoresTilemap + $280 - deCoord 0, 16, vBGMap0 + deCoord 0, 16, vBGMap ld bc, $0040 call LoadVRAMData ld a, BANK(HighScoresTilemap2) ld hl, HighScoresTilemap2 + $3c0 - deCoord 0, 0, vBGMap1 + deCoord 0, 0, vBGWin ld bc, $0040 call LoadVRAMData ld a, BANK(HighScoresTilemap2) ld hl, HighScoresTilemap2 + $280 - deCoord 0, 16, vBGMap1 + deCoord 0, 16, vBGWin ld bc, $0040 call LoadVRAMData ld bc, $0009 @@ -5630,10 +5625,10 @@ Func_d68a: ; 0xd68a pop bc cp NUM_POKEMON ret nz - ld hl, vBGMap0 + ld hl, vBGMap add hl, bc call Func_d6aa - ld hl, vBGMap1 + ld hl, vBGWin add hl, bc ; fall through Func_d6aa: ; 0xd6aa @@ -5706,14 +5701,14 @@ FieldSelectGfxPointers: ; 0xd71c dw FieldSelectGfx_GameBoyColor FieldSelectGfx_GameBoy: ; 0xd720 - VIDEO_DATA_TILES FieldSelectScreenGfx, vTiles1 - $100, $d00 - VIDEO_DATA_TILEMAP FieldSelectTilemap, vBGMap0, $240 + VIDEO_DATA_TILES FieldSelectScreenGfx, vTilesSH - $100, $d00 + VIDEO_DATA_TILEMAP FieldSelectTilemap, vBGMap, $240 db $FF, $FF ; terminators FieldSelectGfx_GameBoyColor: ; 0xd730 - VIDEO_DATA_TILES FieldSelectScreenGfx, vTiles1 - $100, $d00 - VIDEO_DATA_TILEMAP FieldSelectTilemap, vBGMap0, $240 - VIDEO_DATA_BGATTR FieldSelectBGAttributes, vBGMap0, $240 + VIDEO_DATA_TILES FieldSelectScreenGfx, vTilesSH - $100, $d00 + VIDEO_DATA_TILEMAP FieldSelectTilemap, vBGMap, $240 + VIDEO_DATA_BGATTR FieldSelectBGAttributes, vBGMap, $240 VIDEO_DATA_PALETTES FieldSelectScreenPalettes, $48 db $FF, $FF ; terminators @@ -5885,7 +5880,6 @@ PinballGameScreenFunctions: ; 0xd857 Func_d861: ; 0xd861 xor a ld [wd908], a - ld [hFarCallTempA], a callba InitializeStage call Fillwc600WithBlackTile ld a, $1 @@ -5921,16 +5915,11 @@ Func_d87f: ; 0xd87f set 1, [hl] ld a, $1 ld [hHBlankRoutine], a - ld [hFarCallTempA], a callba StartBallForStage - ld [hFarCallTempA], a callba LoadStageCollisionAttributes - ld [hFarCallTempA], a callba Func_e6c2 - ld [hFarCallTempA], a callba Func_ed5e call ClearOAMBuffer - ld [hFarCallTempA], a callba Func_84b7 ld a, [wd849] and a @@ -5978,7 +5967,6 @@ Func_d909: ; 0xd909 jr z, .didntPressMenuKey lb de, $03, $4c call PlaySoundEffect - ld [hFarCallTempA], a callba HandleInGameMenu jp z, SaveGame .didntPressMenuKey @@ -6025,19 +6013,14 @@ Func_d909: ; 0xd909 call SetBallVelocity .asm_d9a2 call MoveBallPosition - ld [hFarCallTempA], a - callba Func_ece9 - ld [hFarCallTempA], a + callba CheckStageTransition callba Func_84b7 call Func_33e3 ld a, [wd5cb] and a jr nz, .asm_d9e9 - ld [hFarCallTempA], a callba Func_85c7 - ld [hFarCallTempA], a callba Func_8650 - ld [hFarCallTempA], a callba Func_8645 call Func_dba9 call Func_dc7c @@ -6098,10 +6081,8 @@ Func_da36: ; 0xda36 ld a, Bank(HandleFlippers) ld hl, HandleFlippers call nz, BankSwitch - ld [hFarCallTempA], a callba Func_84b7 call Func_33e3 - ld [hFarCallTempA], a callba Func_85c7 ld a, [wd5ca] and a @@ -6266,17 +6247,17 @@ Func_dba9: ; 0xdba9 ld [wc600 + $45], a ret -Func_dbba: ; 0xdbba +Start20SecondSaverTimer: ; 0xdbba ld a, $1 ld [wBallSaverIconOn], a ld a, $ff ld [wd4a2], a - ld a, $3b + ld a, 59 ld [wBallSaverTimerFrames], a - ld a, $14 + ld a, 20 ld [wBallSaverTimerSeconds], a ld a, $2 - ld [wd4a5], a + ld [wNumTimesBallSavedTextWillDisplay], a ret InitBallSaverForCatchEmMode: ; 0xdbd4 @@ -6284,7 +6265,7 @@ InitBallSaverForCatchEmMode: ; 0xdbd4 ld [wBallSaverTimerFramesBackup], a ld a, [wBallSaverTimerSeconds] ld [wBallSaverTimerSecondsBackup], a - ld a, [wd4a5] + ld a, [wNumTimesBallSavedTextWillDisplay] ld [wd4a8], a ld a, $0 ld [wBallSaverIconOn], a @@ -6295,16 +6276,16 @@ InitBallSaverForCatchEmMode: ; 0xdbd4 ld a, 60 ld [wBallSaverTimerSeconds], a ld a, $ff - ld [wd4a5], a + ld [wNumTimesBallSavedTextWillDisplay], a ret -Func_dc00: ; 0xdc00 +RestoreBallSaverAfterCatchEmMode: ; 0xdc00 ld a, [wBallSaverTimerFramesBackup] ld [wBallSaverTimerFrames], a ld a, [wBallSaverTimerSecondsBackup] ld [wBallSaverTimerSeconds], a ld a, [wd4a8] - ld [wd4a5], a + ld [wNumTimesBallSavedTextWillDisplay], a ld a, [wBallSaverTimerSeconds] and a jr z, .asm_dc1a @@ -6328,24 +6309,23 @@ Func_dc00: ; 0xdc00 ld a, [wCurrentStage] bit 0, a ret z - ld [hFarCallTempA], a callba Func_14707 ret -Func_dc49: ; 0xdc49 +HandleBallLoss: ; 0xdc49 ld a, [wCurrentStage] rst JumpTable ; calls JumpToFuncInTable CallTable_dc4d: ; 0xdc4d ; STAGE_RED_FIELD_TOP - dw Func_dd76 + dw RedField_HandleBallLoss ; STAGE_RED_FIELD_BOTTOM - dw Func_dd76 + dw RedField_HandleBallLoss dw Func_de4e dw Func_de4e ; STAGE_BLUE_FIELD_TOP - dw Func_de4f + dw BlueField_HandleBallLoss ; STAGE_BLUE_FIELD_TOP - dw Func_de4f + dw BlueField_HandleBallLoss ; STAGE_GENGAR_BONUS dw Func_df1a ; STAGE_GENGAR_BONUS @@ -6429,7 +6409,7 @@ LoadBallGfx: ; 0xdcc3 jr nc, .notPokeBall ld a, Bank(PinballPokeballGfx) ld hl, PinballPokeballGfx - ld de, vTiles0 tile $40 + ld de, vTilesOB tile $40 ld bc, $0200 call LoadOrCopyVRAMData ret @@ -6439,7 +6419,7 @@ LoadBallGfx: ; 0xdcc3 jr nc, .notGreatBall ld a, Bank(PinballGreatballGfx) ld hl, PinballGreatballGfx - ld de, vTiles0 tile $40 + ld de, vTilesOB tile $40 ld bc, $0200 call LoadOrCopyVRAMData ret @@ -6449,7 +6429,7 @@ LoadBallGfx: ; 0xdcc3 jr nc, .notUltraBall ld a, Bank(PinballUltraballGfx) ld hl, PinballUltraballGfx - ld de, vTiles0 tile $40 + ld de, vTilesOB tile $40 ld bc, $0200 call LoadOrCopyVRAMData ret @@ -6457,7 +6437,7 @@ LoadBallGfx: ; 0xdcc3 .notUltraBall ld a, Bank(PinballMasterballGfx) ld hl, PinballMasterballGfx - ld de, vTiles0 tile $40 + ld de, vTilesOB tile $40 ld bc, $0200 call LoadOrCopyVRAMData ret @@ -6470,7 +6450,7 @@ LoadMiniBallGfx: ; 0xdd12 jr nc, .notPokeBall ld a, Bank(PinballPokeballMiniGfx) ld hl, PinballPokeballMiniGfx - ld de, vTiles0 tile $40 + ld de, vTilesOB tile $40 ld bc, $0200 call LoadOrCopyVRAMData ret @@ -6480,7 +6460,7 @@ LoadMiniBallGfx: ; 0xdd12 jr nc, .notGreatBall ld a, Bank(PinballGreatballMiniGfx) ld hl, PinballGreatballMiniGfx - ld de, vTiles0 tile $40 + ld de, vTilesOB tile $40 ld bc, $0200 call LoadOrCopyVRAMData ret @@ -6490,7 +6470,7 @@ LoadMiniBallGfx: ; 0xdd12 jr nc, .notUltraBall ld a, Bank(PinballUltraballMiniGfx) ld hl, PinballUltraballMiniGfx - ld de, vTiles0 tile $40 + ld de, vTilesOB tile $40 ld bc, $0200 call LoadOrCopyVRAMData ret @@ -6498,7 +6478,7 @@ LoadMiniBallGfx: ; 0xdd12 .notUltraBall ld a, Bank(PinballMasterballMiniGfx) ld hl, PinballMasterballMiniGfx - ld de, vTiles0 tile $40 + ld de, vTilesOB tile $40 ld bc, $0200 call LoadOrCopyVRAMData ret @@ -6508,42 +6488,42 @@ Func_dd62: ; 0xdd62 ld [wd4c8], a ld a, $2a ld hl, PinballBallMiniGfx - ld de, vTiles0 tile $40 + ld de, vTilesOB tile $40 ld bc, $0200 call LoadOrCopyVRAMData ret -Func_dd76: ; 0xdd76 +RedField_HandleBallLoss: ; 0xdd76 ld a, [wBallSaverTimerFrames] ld hl, wBallSaverTimerSeconds or [hl] - jr z, .asm_dda3 - ld a, [wd4a5] + jr z, .rip + ld a, [wNumTimesBallSavedTextWillDisplay] bit 7, a - jr nz, .asm_dd9c + jr nz, .skip_save_text dec a - ld [wd4a5], a + ld [wNumTimesBallSavedTextWillDisplay], a push af ld de, BallSavedText call Func_dc6d pop af - jr nz, .asm_dd9c + jr nz, .skip_save_text ld a, $1 ld [wBallSaverTimerFrames], a ld [wBallSaverTimerSeconds], a -.asm_dd9c +.skip_save_text lb de, $15, $02 call PlaySoundEffect ret -.asm_dda3 +.rip ld de, $0000 call PlaySong ld bc, $001e call AdvanceFrames lb de, $25, $24 call PlaySoundEffect - call Func_dbba + call Start20SecondSaverTimer ld a, $1 ld [wd4c9], a xor a @@ -6586,7 +6566,6 @@ Func_ddfd: ; 0xddfd ld a, [wSpecialMode] and a jr nz, .asm_de14 - ld [hFarCallTempA], a callba Func_10157 jr .asm_de40 @@ -6597,7 +6576,6 @@ Func_ddfd: ; 0xddfd ld [wd604], a ld a, $1e ld [wd607], a - ld [hFarCallTempA], a callba Func_10ac8 jr .asm_de40 @@ -6606,7 +6584,6 @@ Func_ddfd: ; 0xddfd ld [wd604], a ld a, $1e ld [wd607], a - ld [hFarCallTempA], a callba Func_3022b .asm_de40 ld a, [wd7ad] @@ -6620,37 +6597,37 @@ Func_ddfd: ; 0xddfd Func_de4e: ; 0xde4e ret -Func_de4f: ; 0xde4f +BlueField_HandleBallLoss: ; 0xde4f ld a, [wBallSaverTimerFrames] ld hl, wBallSaverTimerSeconds or [hl] - jr z, .asm_de7c - ld a, [wd4a5] + jr z, .rip + ld a, [wNumTimesBallSavedTextWillDisplay] bit 7, a - jr nz, .asm_de75 + jr nz, .skip_save_text dec a - ld [wd4a5], a + ld [wNumTimesBallSavedTextWillDisplay], a push af ld de, BallSavedText call Func_dc6d pop af - jr nz, .asm_de75 + jr nz, .skip_save_text ld a, $1 ld [wBallSaverTimerFrames], a ld [wBallSaverTimerSeconds], a -.asm_de75 +.skip_save_text lb de, $15, $02 call PlaySoundEffect ret -.asm_de7c +.rip ld de, $0000 call PlaySong ld bc, $001e call AdvanceFrames lb de, $25, $24 call PlaySoundEffect - call Func_dbba + call Start20SecondSaverTimer ld a, $1 ld [wd4c9], a xor a @@ -6693,7 +6670,6 @@ Func_ded6: ; 0xded6 ld a, [wSpecialMode] and a jr nz, .asm_deec - ld [hFarCallTempA], a callba Func_10157 ret @@ -6704,7 +6680,6 @@ Func_ded6: ; 0xded6 ld [wd604], a ld a, $1e ld [wd607], a - ld [hFarCallTempA], a callba Func_10ac8 ret @@ -6713,7 +6688,6 @@ Func_ded6: ; 0xded6 ld [wd604], a ld a, $1e ld [wd607], a - ld [hFarCallTempA], a callba Func_3022b ret @@ -6841,7 +6815,6 @@ Func_dfe2: ; 0xdfe2 xor a .asm_e002 ld [wMeowthStageScore], a - ld [hFarCallTempA], a callba Func_24fa3 .asm_e00f ld a, [wd4ad] @@ -6925,7 +6898,6 @@ Func_e08b: ; 0xe08b xor a .asm_e0ab ld [wd793], a - ld [hFarCallTempA], a callba Func_262f4 .asm_e0b8 ld a, [wd4ad] @@ -7876,14 +7848,13 @@ LoadCollisionAttributes: ; 0xe656 ld [hl], $0 ; Bank 0, because the data is in WRAM, so it doesn't matter which bank is saved ret -Func_e674: ; 0xe674 +FieldVerticalTransition: ; 0xe674 push af ld a, [wd548] push af xor a ld [wd548], a ld [wd803], a - ld [hFarCallTempA], a callba Func_84b7 call Func_926 pop af @@ -7933,7 +7904,6 @@ Func_e6c2: ; 0xe6c2 call LoadVideoData xor a ld [wd7f2], a - ld [hFarCallTempA], a callba Func_8471 ret @@ -7974,283 +7944,283 @@ StageGfxPointers_GameBoyColor: ; 0xe717 dw StageSeelBonusGfx_GameBoyColor StageRedFieldTopGfx_GameBoy: ; 0xe737 - VIDEO_DATA_TILES Alphabet1Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES StageRedFieldTopGfx1, vTiles0 + $1a0, $260 - VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $200 - VIDEO_DATA_TILES StageRedFieldTopGfx2, vTiles0 + $600, $200 - VIDEO_DATA_TILES StageRedFieldTopStatusBarSymbolsGfx_GameBoy, vTiles1, $100 - VIDEO_DATA_TILES StageRedFieldTopGfx3, vTiles1 + $100, $1a0 - VIDEO_DATA_TILES StageRedFieldTopBaseGameBoyGfx, vTiles1 + $2a0, $d60 - VIDEO_DATA_TILEMAP StageRedFieldTopTilemap_GameBoy, vBGMap0, $400 + VIDEO_DATA_TILES Alphabet1Gfx, vTilesOB, $1a0 + VIDEO_DATA_TILES StageRedFieldTopGfx1, vTilesOB + $1a0, $260 + VIDEO_DATA_TILES PinballPokeballGfx, vTilesOB + $400, $200 + VIDEO_DATA_TILES StageRedFieldTopGfx2, vTilesOB + $600, $200 + VIDEO_DATA_TILES StageRedFieldTopStatusBarSymbolsGfx_GameBoy, vTilesSH, $100 + VIDEO_DATA_TILES StageRedFieldTopGfx3, vTilesSH + $100, $1a0 + VIDEO_DATA_TILES StageRedFieldTopBaseGameBoyGfx, vTilesSH + $2a0, $d60 + VIDEO_DATA_TILEMAP StageRedFieldTopTilemap_GameBoy, vBGMap, $400 db $FF, $FF ; terminators StageRedFieldTopGfx_GameBoyColor: ; 0xe771 - VIDEO_DATA_TILES Alphabet2Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES StageRedFieldTopGfx1, vTiles0 + $1a0, $260 - VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $200 - VIDEO_DATA_TILES StageRedFieldTopGfx2, vTiles0 + $600, $200 - VIDEO_DATA_TILES StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor, vTiles1, $100 - VIDEO_DATA_TILES StageRedFieldTopGfx3, vTiles1 + $100, $1a0 - VIDEO_DATA_TILES StageRedFieldTopBaseGameBoyColorGfx, vTiles1 + $2a0, $d60 - VIDEO_DATA_TILES_BANK2 StageRedFieldTopGfx4, vTiles1, $1000 - VIDEO_DATA_TILES_BANK2 StageRedFieldTopGfx5, vTiles0, $200 - VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTiles0 + $600, $160 - VIDEO_DATA_TILES_BANK2 StageRedJapaneseCharactersGfx, vTiles0 + $200, $400 - VIDEO_DATA_TILES_BANK2 StageRedJapaneseCharactersGfx2, vTiles1 + $100, $200 - VIDEO_DATA_TILES_BANK2 StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor, vTiles1, $100 - VIDEO_DATA_TILEMAP StageRedFieldTopTilemap_GameBoyColor, vBGMap0, $400 - VIDEO_DATA_TILEMAP_BANK2 StageRedFieldTopTilemap2_GameBoyColor, vBGMap0, $400 + VIDEO_DATA_TILES Alphabet2Gfx, vTilesOB, $1a0 + VIDEO_DATA_TILES StageRedFieldTopGfx1, vTilesOB + $1a0, $260 + VIDEO_DATA_TILES PinballPokeballGfx, vTilesOB + $400, $200 + VIDEO_DATA_TILES StageRedFieldTopGfx2, vTilesOB + $600, $200 + VIDEO_DATA_TILES StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor, vTilesSH, $100 + VIDEO_DATA_TILES StageRedFieldTopGfx3, vTilesSH + $100, $1a0 + VIDEO_DATA_TILES StageRedFieldTopBaseGameBoyColorGfx, vTilesSH + $2a0, $d60 + VIDEO_DATA_TILES_BANK2 StageRedFieldTopGfx4, vTilesSH, $1000 + VIDEO_DATA_TILES_BANK2 StageRedFieldTopGfx5, vTilesOB, $200 + VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTilesOB + $600, $160 + VIDEO_DATA_TILES_BANK2 StageRedJapaneseCharactersGfx, vTilesOB + $200, $400 + VIDEO_DATA_TILES_BANK2 StageRedJapaneseCharactersGfx2, vTilesSH + $100, $200 + VIDEO_DATA_TILES_BANK2 StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor, vTilesSH, $100 + VIDEO_DATA_TILEMAP StageRedFieldTopTilemap_GameBoyColor, vBGMap, $400 + VIDEO_DATA_TILEMAP_BANK2 StageRedFieldTopTilemap2_GameBoyColor, vBGMap, $400 VIDEO_DATA_PALETTES StageRedFieldTopPalettes, $80 - VIDEO_DATA_TILES_BANK2 StageRedFieldTopGfx6, vTiles0 + $7c0, $40 + VIDEO_DATA_TILES_BANK2 StageRedFieldTopGfx6, vTilesOB + $7c0, $40 db $FF, $FF ; terminators StageRedFieldBottomGfx_GameBoy: ; 0xe7ea - VIDEO_DATA_TILES Alphabet1Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES StageSharedBonusSlotGlowGfx, vTiles0 + $1a0, $160 - VIDEO_DATA_TILES StageSharedArrowsGfx, vTiles0 + $300, $80 - VIDEO_DATA_TILES StageSharedBonusSlotGlow2Gfx, vTiles0 + $380, $20 - VIDEO_DATA_TILES StageSharedPikaBoltGfx, vTiles0 + $3c0, $440 - VIDEO_DATA_TILES StageRedFieldBottomBaseGameBoyGfx, vTiles1, $1000 - VIDEO_DATA_TILES SaverTextOffGfx, vTiles1 + $2a0, $40 - VIDEO_DATA_TILEMAP StageRedFieldBottomTilemap_GameBoy, vBGMap0, $400 + VIDEO_DATA_TILES Alphabet1Gfx, vTilesOB, $1a0 + VIDEO_DATA_TILES StageSharedBonusSlotGlowGfx, vTilesOB + $1a0, $160 + VIDEO_DATA_TILES StageSharedArrowsGfx, vTilesOB + $300, $80 + VIDEO_DATA_TILES StageSharedBonusSlotGlow2Gfx, vTilesOB + $380, $20 + VIDEO_DATA_TILES StageSharedPikaBoltGfx, vTilesOB + $3c0, $440 + VIDEO_DATA_TILES StageRedFieldBottomBaseGameBoyGfx, vTilesSH, $1000 + VIDEO_DATA_TILES SaverTextOffGfx, vTilesSH + $2a0, $40 + VIDEO_DATA_TILEMAP StageRedFieldBottomTilemap_GameBoy, vBGMap, $400 db $FF, $FF ; terminators StageRedFieldBottomGfx_GameBoyColor: ; 0xe824 - VIDEO_DATA_TILES Alphabet2Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES StageSharedBonusSlotGlowGfx, vTiles0 + $1a0, $160 - VIDEO_DATA_TILES StageSharedArrowsGfx, vTiles0 + $300, $80 - VIDEO_DATA_TILES StageSharedBonusSlotGlow2Gfx, vTiles0 + $380, $20 - VIDEO_DATA_TILES StageSharedPikaBoltGfx, vTiles0 + $3c0, $440 - VIDEO_DATA_TILES StageRedFieldBottomBaseGameBoyColorGfx, vTiles1, $1000 - VIDEO_DATA_TILES_BANK2 StageRedFieldBottomGfx5, vTiles1, $1000 - VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTiles0 + $600, $160 - VIDEO_DATA_TILES SaverTextOffGfx, vTiles1 + $2a0, $40 - VIDEO_DATA_TILES_BANK2 StageRedJapaneseCharactersGfx, vTiles0 + $200, $400 - VIDEO_DATA_TILES_BANK2 StageRedJapaneseCharactersGfx2, vTiles1 + $100, $200 - VIDEO_DATA_TILES_BANK2 StageRedFieldBottomBaseGameBoyColorGfx, vTiles1, $100 - VIDEO_DATA_TILEMAP StageRedFieldBottomTilemap_GameBoyColor, vBGMap0, $400 - VIDEO_DATA_TILEMAP_BANK2 StageRedFieldBottomTilemap2_GameBoyColor, vBGMap0, $400 + VIDEO_DATA_TILES Alphabet2Gfx, vTilesOB, $1a0 + VIDEO_DATA_TILES StageSharedBonusSlotGlowGfx, vTilesOB + $1a0, $160 + VIDEO_DATA_TILES StageSharedArrowsGfx, vTilesOB + $300, $80 + VIDEO_DATA_TILES StageSharedBonusSlotGlow2Gfx, vTilesOB + $380, $20 + VIDEO_DATA_TILES StageSharedPikaBoltGfx, vTilesOB + $3c0, $440 + VIDEO_DATA_TILES StageRedFieldBottomBaseGameBoyColorGfx, vTilesSH, $1000 + VIDEO_DATA_TILES_BANK2 StageRedFieldBottomGfx5, vTilesSH, $1000 + VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTilesOB + $600, $160 + VIDEO_DATA_TILES SaverTextOffGfx, vTilesSH + $2a0, $40 + VIDEO_DATA_TILES_BANK2 StageRedJapaneseCharactersGfx, vTilesOB + $200, $400 + VIDEO_DATA_TILES_BANK2 StageRedJapaneseCharactersGfx2, vTilesSH + $100, $200 + VIDEO_DATA_TILES_BANK2 StageRedFieldBottomBaseGameBoyColorGfx, vTilesSH, $100 + VIDEO_DATA_TILEMAP StageRedFieldBottomTilemap_GameBoyColor, vBGMap, $400 + VIDEO_DATA_TILEMAP_BANK2 StageRedFieldBottomTilemap2_GameBoyColor, vBGMap, $400 VIDEO_DATA_PALETTES StageRedFieldBottomPalettes, $80 - VIDEO_DATA_TILES_BANK2 StageRedFieldTopGfx6, vTiles0 + $7c0, $40 + VIDEO_DATA_TILES_BANK2 StageRedFieldTopGfx6, vTilesOB + $7c0, $40 db $FF, $FF ; terminators VideoData_e896: ; 0xe896 - VIDEO_DATA_TILES Alphabet1Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $200 + VIDEO_DATA_TILES Alphabet1Gfx, vTilesOB, $1a0 + VIDEO_DATA_TILES PinballPokeballGfx, vTilesOB + $400, $200 db $FF, $FF ; terminators VideoData_e8a6: ; 0xe8a6 - VIDEO_DATA_TILES Alphabet2Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $200 - VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTiles0 + $600, $160 + VIDEO_DATA_TILES Alphabet2Gfx, vTilesOB, $1a0 + VIDEO_DATA_TILES PinballPokeballGfx, vTilesOB + $400, $200 + VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTilesOB + $600, $160 db $FF, $FF ; terminators VideoData_e8bd: ; 0xe8bd - VIDEO_DATA_TILES Alphabet1Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES PinballPokeballShakeGfx, vTiles0 + $380, $480 - VIDEO_DATA_TILES SaverTextOffGfx, vTiles1 + $2a0, $40 + VIDEO_DATA_TILES Alphabet1Gfx, vTilesOB, $1a0 + VIDEO_DATA_TILES PinballPokeballShakeGfx, vTilesOB + $380, $480 + VIDEO_DATA_TILES SaverTextOffGfx, vTilesSH + $2a0, $40 db $FF, $FF ; terminators VideoData_e8d4: ; 0xe8d4 - VIDEO_DATA_TILES Alphabet2Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES PinballPokeballShakeGfx, vTiles0 + $380, $480 - VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTiles0 + $600, $160 - VIDEO_DATA_TILES SaverTextOffGfx, vTiles1 + $2a0, $40 + VIDEO_DATA_TILES Alphabet2Gfx, vTilesOB, $1a0 + VIDEO_DATA_TILES PinballPokeballShakeGfx, vTilesOB + $380, $480 + VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTilesOB + $600, $160 + VIDEO_DATA_TILES SaverTextOffGfx, vTilesSH + $2a0, $40 db $FF, $FF ; terminators StageBlueFieldTopGfx_GameBoy: ; 0xe8f2 - VIDEO_DATA_TILES Alphabet1Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES StageBlueFieldTopGfx1, vTiles0 + $1a0, $260 - VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $200 - VIDEO_DATA_TILES StageBlueFieldTopGfx2, vTiles0 + $600, $200 - VIDEO_DATA_TILES StageBlueFieldTopStatusBarSymbolsGfx_GameBoy, vTiles1, $100 - VIDEO_DATA_TILES StageBlueFieldTopGfx3, vTiles1 + $100, $1a0 - VIDEO_DATA_TILES StageBlueFieldTopBaseGameBoyGfx, vTiles1 + $2a0, $d60 - VIDEO_DATA_TILEMAP StageBlueFieldTopTilemap_GameBoy, vBGMap0, $400 + VIDEO_DATA_TILES Alphabet1Gfx, vTilesOB, $1a0 + VIDEO_DATA_TILES StageBlueFieldTopGfx1, vTilesOB + $1a0, $260 + VIDEO_DATA_TILES PinballPokeballGfx, vTilesOB + $400, $200 + VIDEO_DATA_TILES StageBlueFieldTopGfx2, vTilesOB + $600, $200 + VIDEO_DATA_TILES StageBlueFieldTopStatusBarSymbolsGfx_GameBoy, vTilesSH, $100 + VIDEO_DATA_TILES StageBlueFieldTopGfx3, vTilesSH + $100, $1a0 + VIDEO_DATA_TILES StageBlueFieldTopBaseGameBoyGfx, vTilesSH + $2a0, $d60 + VIDEO_DATA_TILEMAP StageBlueFieldTopTilemap_GameBoy, vBGMap, $400 db $FF, $FF ; terminators StageBlueFieldTopGfx_GameBoyColor: ; 0xe92c - VIDEO_DATA_TILES Alphabet2Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES StageBlueFieldTopGfx1, vTiles0 + $1a0, $260 - VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $200 - VIDEO_DATA_TILES StageBlueFieldTopGfx2, vTiles0 + $600, $200 - VIDEO_DATA_TILES StageBlueFieldTopStatusBarSymbolsGfx_GameBoyColor, vTiles1, $100 - VIDEO_DATA_TILES StageBlueFieldTopGfx3, vTiles1 + $100, $1a0 - VIDEO_DATA_TILES StageBlueFieldTopBaseGameBoyColorGfx, vTiles1 + $2a0, $d60 - VIDEO_DATA_TILES_BANK2 StageBlueFieldTopGfx4, vTiles1, $1000 - VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTiles0 + $600, $160 - VIDEO_DATA_TILEMAP StageBlueFieldTopTilemap_GameBoyColor, vBGMap0, $400 - VIDEO_DATA_TILEMAP_BANK2 StageBlueFieldTopTilemap2_GameBoyColor, vBGMap0, $400 + VIDEO_DATA_TILES Alphabet2Gfx, vTilesOB, $1a0 + VIDEO_DATA_TILES StageBlueFieldTopGfx1, vTilesOB + $1a0, $260 + VIDEO_DATA_TILES PinballPokeballGfx, vTilesOB + $400, $200 + VIDEO_DATA_TILES StageBlueFieldTopGfx2, vTilesOB + $600, $200 + VIDEO_DATA_TILES StageBlueFieldTopStatusBarSymbolsGfx_GameBoyColor, vTilesSH, $100 + VIDEO_DATA_TILES StageBlueFieldTopGfx3, vTilesSH + $100, $1a0 + VIDEO_DATA_TILES StageBlueFieldTopBaseGameBoyColorGfx, vTilesSH + $2a0, $d60 + VIDEO_DATA_TILES_BANK2 StageBlueFieldTopGfx4, vTilesSH, $1000 + VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTilesOB + $600, $160 + VIDEO_DATA_TILEMAP StageBlueFieldTopTilemap_GameBoyColor, vBGMap, $400 + VIDEO_DATA_TILEMAP_BANK2 StageBlueFieldTopTilemap2_GameBoyColor, vBGMap, $400 VIDEO_DATA_PALETTES StageBlueFieldTopPalettes, $80 db $FF, $FF ; terminators StageBlueFieldBottomGfx_GameBoy: ; 0xe982 - VIDEO_DATA_TILES Alphabet1Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES StageSharedBonusSlotGlowGfx, vTiles0 + $1a0, $160 - VIDEO_DATA_TILES StageSharedArrowsGfx, vTiles0 + $300, $80 - VIDEO_DATA_TILES StageSharedBonusSlotGlow2Gfx, vTiles0 + $380, $20 - VIDEO_DATA_TILES StageSharedPikaBoltGfx, vTiles0 + $3c0, $440 - VIDEO_DATA_TILES StageBlueFieldBottomBaseGameBoyGfx, vTiles1, $1000 - VIDEO_DATA_TILES SaverTextOffGfx, vTiles1 + $2a0, $40 - VIDEO_DATA_TILEMAP StageBlueFieldBottomTilemap_GameBoy, vBGMap0, $400 + VIDEO_DATA_TILES Alphabet1Gfx, vTilesOB, $1a0 + VIDEO_DATA_TILES StageSharedBonusSlotGlowGfx, vTilesOB + $1a0, $160 + VIDEO_DATA_TILES StageSharedArrowsGfx, vTilesOB + $300, $80 + VIDEO_DATA_TILES StageSharedBonusSlotGlow2Gfx, vTilesOB + $380, $20 + VIDEO_DATA_TILES StageSharedPikaBoltGfx, vTilesOB + $3c0, $440 + VIDEO_DATA_TILES StageBlueFieldBottomBaseGameBoyGfx, vTilesSH, $1000 + VIDEO_DATA_TILES SaverTextOffGfx, vTilesSH + $2a0, $40 + VIDEO_DATA_TILEMAP StageBlueFieldBottomTilemap_GameBoy, vBGMap, $400 db $FF, $FF ; terminators StageBlueFieldBottomGfx_GameBoyColor: ; 0xe9bc - VIDEO_DATA_TILES Alphabet2Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES StageSharedBonusSlotGlowGfx, vTiles0 + $1a0, $160 - VIDEO_DATA_TILES StageSharedArrowsGfx, vTiles0 + $300, $80 - VIDEO_DATA_TILES StageSharedBonusSlotGlow2Gfx, vTiles0 + $380, $20 - VIDEO_DATA_TILES StageSharedPikaBoltGfx, vTiles0 + $3c0, $440 - VIDEO_DATA_TILES StageBlueFieldBottomBaseGameBoyColorGfx, vTiles1, $1000 - VIDEO_DATA_TILES_BANK2 StageBlueFieldBottomGfx1, vTiles1, $1000 - VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTiles0 + $600, $160 - VIDEO_DATA_TILES SaverTextOffGfx, vTiles1 + $2a0, $40 - VIDEO_DATA_TILEMAP StageBlueFieldBottomTilemap_GameBoyColor, vBGMap0, $400 - VIDEO_DATA_TILEMAP_BANK2 StageBlueFieldBottomTilemap2_GameBoyColor, vBGMap0, $400 + VIDEO_DATA_TILES Alphabet2Gfx, vTilesOB, $1a0 + VIDEO_DATA_TILES StageSharedBonusSlotGlowGfx, vTilesOB + $1a0, $160 + VIDEO_DATA_TILES StageSharedArrowsGfx, vTilesOB + $300, $80 + VIDEO_DATA_TILES StageSharedBonusSlotGlow2Gfx, vTilesOB + $380, $20 + VIDEO_DATA_TILES StageSharedPikaBoltGfx, vTilesOB + $3c0, $440 + VIDEO_DATA_TILES StageBlueFieldBottomBaseGameBoyColorGfx, vTilesSH, $1000 + VIDEO_DATA_TILES_BANK2 StageBlueFieldBottomGfx1, vTilesSH, $1000 + VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTilesOB + $600, $160 + VIDEO_DATA_TILES SaverTextOffGfx, vTilesSH + $2a0, $40 + VIDEO_DATA_TILEMAP StageBlueFieldBottomTilemap_GameBoyColor, vBGMap, $400 + VIDEO_DATA_TILEMAP_BANK2 StageBlueFieldBottomTilemap2_GameBoyColor, vBGMap, $400 VIDEO_DATA_PALETTES StageBlueFieldBottomPalettes, $80 db $FF, $FF ; terminators StageGengarBonusGfx_GameBoy: ; 0xea12 - VIDEO_DATA_TILES Alphabet1Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $320 - VIDEO_DATA_TILES GengarBonusBaseGameBoyGfx, vTiles1, $1000 - VIDEO_DATA_TILES GengarBonusGastlyGfx, vTiles1 + $100, $180 - VIDEO_DATA_TILES GengarBonusHaunter1Gfx, vTiles1 + $280, $20 - VIDEO_DATA_TILES GengarBonusHaunter2Gfx, vTiles0 + $1a0, $100 - VIDEO_DATA_TILES GengarBonusGengar1Gfx, vTiles0 + $2a0, $160 - VIDEO_DATA_TILES GengarBonusGengar2Gfx, vTiles0 + $7a0, $60 - VIDEO_DATA_TILES GengarBonusGengar3Gfx, vTiles1 + $2a0, $2a0 - VIDEO_DATA_TILEMAP GengarBonusTilemap_GameBoy, vBGMap0, $400 + VIDEO_DATA_TILES Alphabet1Gfx, vTilesOB, $1a0 + VIDEO_DATA_TILES PinballPokeballGfx, vTilesOB + $400, $320 + VIDEO_DATA_TILES GengarBonusBaseGameBoyGfx, vTilesSH, $1000 + VIDEO_DATA_TILES GengarBonusGastlyGfx, vTilesSH + $100, $180 + VIDEO_DATA_TILES GengarBonusHaunter1Gfx, vTilesSH + $280, $20 + VIDEO_DATA_TILES GengarBonusHaunter2Gfx, vTilesOB + $1a0, $100 + VIDEO_DATA_TILES GengarBonusGengar1Gfx, vTilesOB + $2a0, $160 + VIDEO_DATA_TILES GengarBonusGengar2Gfx, vTilesOB + $7a0, $60 + VIDEO_DATA_TILES GengarBonusGengar3Gfx, vTilesSH + $2a0, $2a0 + VIDEO_DATA_TILEMAP GengarBonusTilemap_GameBoy, vBGMap, $400 db $FF, $FF ; terminators StageGengarBonusGfx_GameBoyColor: ; 0xea5a - VIDEO_DATA_TILES Alphabet2Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES StageSharedPikaBoltGfx, vTiles0 + $3c0, $440 - VIDEO_DATA_TILES GengarBonusBaseGameBoyColorGfx, vTiles1, $1000 - VIDEO_DATA_TILES GengarBonusGastlyGfx, vTiles1 + $100, $180 - VIDEO_DATA_TILES GengarBonusHaunter1Gfx, vTiles1 + $280, $20 - VIDEO_DATA_TILES GengarBonusHaunter2Gfx, vTiles0 + $1a0, $100 - VIDEO_DATA_TILES GengarBonusGengar1Gfx, vTiles0 + $2a0, $160 - VIDEO_DATA_TILES GengarBonusGengar2Gfx, vTiles0 + $7a0, $60 - VIDEO_DATA_TILES GengarBonusGengar3Gfx, vTiles1 + $2a0, $2a0 - VIDEO_DATA_TILES_BANK2 GengarBonus1Gfx, vTiles1, $1000 - VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTiles0 + $600, $160 - VIDEO_DATA_TILEMAP GengarBonusBottomTilemap_GameBoyColor, vBGMap0, $400 - VIDEO_DATA_TILEMAP_BANK2 GengarBonusBottomTilemap2_GameBoyColor, vBGMap0, $400 + VIDEO_DATA_TILES Alphabet2Gfx, vTilesOB, $1a0 + VIDEO_DATA_TILES StageSharedPikaBoltGfx, vTilesOB + $3c0, $440 + VIDEO_DATA_TILES GengarBonusBaseGameBoyColorGfx, vTilesSH, $1000 + VIDEO_DATA_TILES GengarBonusGastlyGfx, vTilesSH + $100, $180 + VIDEO_DATA_TILES GengarBonusHaunter1Gfx, vTilesSH + $280, $20 + VIDEO_DATA_TILES GengarBonusHaunter2Gfx, vTilesOB + $1a0, $100 + VIDEO_DATA_TILES GengarBonusGengar1Gfx, vTilesOB + $2a0, $160 + VIDEO_DATA_TILES GengarBonusGengar2Gfx, vTilesOB + $7a0, $60 + VIDEO_DATA_TILES GengarBonusGengar3Gfx, vTilesSH + $2a0, $2a0 + VIDEO_DATA_TILES_BANK2 GengarBonus1Gfx, vTilesSH, $1000 + VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTilesOB + $600, $160 + VIDEO_DATA_TILEMAP GengarBonusBottomTilemap_GameBoyColor, vBGMap, $400 + VIDEO_DATA_TILEMAP_BANK2 GengarBonusBottomTilemap2_GameBoyColor, vBGMap, $400 VIDEO_DATA_PALETTES GengarBonusPalettes, $80 db $FF, $FF ; terminators StageMewtwoBonusGfx_GameBoy: ; 0xeabe - VIDEO_DATA_TILES Alphabet1Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES MewtwoBonus1Gfx, vTiles0 + $1a0, $260 - VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $320 - VIDEO_DATA_TILES MewtwoBonus2Gfx, vTiles0 + $7a0, $60 - VIDEO_DATA_TILES MewtwoBonusBaseGameBoyGfx, vTiles1, $1000 - VIDEO_DATA_TILES MewtwoBonus3Gfx, vTiles1 + $100, $1a0 - VIDEO_DATA_TILES MewtwoBonus4Gfx, vTiles1 + $2a0, $2a0 - VIDEO_DATA_TILEMAP MewtwoBonusTilemap_GameBoy, vBGMap0, $400 + VIDEO_DATA_TILES Alphabet1Gfx, vTilesOB, $1a0 + VIDEO_DATA_TILES MewtwoBonus1Gfx, vTilesOB + $1a0, $260 + VIDEO_DATA_TILES PinballPokeballGfx, vTilesOB + $400, $320 + VIDEO_DATA_TILES MewtwoBonus2Gfx, vTilesOB + $7a0, $60 + VIDEO_DATA_TILES MewtwoBonusBaseGameBoyGfx, vTilesSH, $1000 + VIDEO_DATA_TILES MewtwoBonus3Gfx, vTilesSH + $100, $1a0 + VIDEO_DATA_TILES MewtwoBonus4Gfx, vTilesSH + $2a0, $2a0 + VIDEO_DATA_TILEMAP MewtwoBonusTilemap_GameBoy, vBGMap, $400 db $FF, $FF ; terminators StageMewtwoBonusGfx_GameBoyColor: ; 0xeaf8 - VIDEO_DATA_TILES Alphabet2Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES MewtwoBonus1Gfx, vTiles0 + $1a0, $260 - VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $320 - VIDEO_DATA_TILES MewtwoBonus2Gfx, vTiles0 + $7a0, $60 - VIDEO_DATA_TILES MewtwoBonusBaseGameBoyColorGfx, vTiles1, $1000 - VIDEO_DATA_TILES MewtwoBonus3Gfx, vTiles1 + $100, $1a0 - VIDEO_DATA_TILES MewtwoBonus4Gfx, vTiles1 + $2a0, $2a0 + VIDEO_DATA_TILES Alphabet2Gfx, vTilesOB, $1a0 + VIDEO_DATA_TILES MewtwoBonus1Gfx, vTilesOB + $1a0, $260 + VIDEO_DATA_TILES PinballPokeballGfx, vTilesOB + $400, $320 + VIDEO_DATA_TILES MewtwoBonus2Gfx, vTilesOB + $7a0, $60 + VIDEO_DATA_TILES MewtwoBonusBaseGameBoyColorGfx, vTilesSH, $1000 + VIDEO_DATA_TILES MewtwoBonus3Gfx, vTilesSH + $100, $1a0 + VIDEO_DATA_TILES MewtwoBonus4Gfx, vTilesSH + $2a0, $2a0 ; Can't use a macro here because it's copying the tiles from VRAM, not ROM. - dw vTiles0 + dw vTilesOB db $20 ; This is an arbitrary bank, since the data is in VRAM, not ROM. - dw vTiles1 + dw vTilesSH dw $4002 - VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTiles0 + $600, $160 - VIDEO_DATA_TILEMAP MewtoBonusBottomTilemap_GameBoyColor, vBGMap0, $400 - VIDEO_DATA_TILEMAP_BANK2 MewtoBonusBottomTilemap2_GameBoyColor, vBGMap0, $400 + VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTilesOB + $600, $160 + VIDEO_DATA_TILEMAP MewtoBonusBottomTilemap_GameBoyColor, vBGMap, $400 + VIDEO_DATA_TILEMAP_BANK2 MewtoBonusBottomTilemap2_GameBoyColor, vBGMap, $400 VIDEO_DATA_PALETTES MewtwoBonusPalettes, $80 db $FF, $FF ; terminators StageMeowthBonusGfx_GameBoy: ; 0xeb4e - VIDEO_DATA_TILES Alphabet1Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES MeowthBonusMeowth1Gfx, vTiles0 + $1a0, $260 - VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $320 - VIDEO_DATA_TILES MeowthBonusMeowth2Gfx, vTiles0 + $7a0, $60 - VIDEO_DATA_TILES MeowthBonusBaseGameBoyGfx, vTiles1, $a00 - VIDEO_DATA_TILES MeowthBonusMeowth3Gfx, vTiles1 + $100, $1a0 - VIDEO_DATA_TILES MeowthBonusMeowth4Gfx, vTiles1 + $2a0, $360 - VIDEO_DATA_TILEMAP MeowthBonusTilemap_GameBoy, vBGMap0, $400 + VIDEO_DATA_TILES Alphabet1Gfx, vTilesOB, $1a0 + VIDEO_DATA_TILES MeowthBonusMeowth1Gfx, vTilesOB + $1a0, $260 + VIDEO_DATA_TILES PinballPokeballGfx, vTilesOB + $400, $320 + VIDEO_DATA_TILES MeowthBonusMeowth2Gfx, vTilesOB + $7a0, $60 + VIDEO_DATA_TILES MeowthBonusBaseGameBoyGfx, vTilesSH, $a00 + VIDEO_DATA_TILES MeowthBonusMeowth3Gfx, vTilesSH + $100, $1a0 + VIDEO_DATA_TILES MeowthBonusMeowth4Gfx, vTilesSH + $2a0, $360 + VIDEO_DATA_TILEMAP MeowthBonusTilemap_GameBoy, vBGMap, $400 db $FF, $FF ; terminators StageMeowthBonusGfx_GameBoyColor: ; 0xeb88 - VIDEO_DATA_TILES Alphabet2Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES MeowthBonusMeowth1Gfx, vTiles0 + $1a0, $260 - VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $320 - VIDEO_DATA_TILES MeowthBonusMeowth2Gfx, vTiles0 + $7a0, $60 - VIDEO_DATA_TILES MeowthBonusBaseGameBoyColorGfx, vTiles1, $900 - VIDEO_DATA_TILES MeowthBonusMeowth3Gfx, vTiles1 + $100, $1a0 - VIDEO_DATA_TILES MeowthBonusMeowth4Gfx, vTiles1 + $2a0, $360 - VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTiles0 + $600, $160 - VIDEO_DATA_TILEMAP MeowthBonusTilemap_GameBoyColor, vBGMap0, $400 - VIDEO_DATA_TILEMAP_BANK2 MeowthBonusTilemap2_GameBoyColor, vBGMap0, $400 + VIDEO_DATA_TILES Alphabet2Gfx, vTilesOB, $1a0 + VIDEO_DATA_TILES MeowthBonusMeowth1Gfx, vTilesOB + $1a0, $260 + VIDEO_DATA_TILES PinballPokeballGfx, vTilesOB + $400, $320 + VIDEO_DATA_TILES MeowthBonusMeowth2Gfx, vTilesOB + $7a0, $60 + VIDEO_DATA_TILES MeowthBonusBaseGameBoyColorGfx, vTilesSH, $900 + VIDEO_DATA_TILES MeowthBonusMeowth3Gfx, vTilesSH + $100, $1a0 + VIDEO_DATA_TILES MeowthBonusMeowth4Gfx, vTilesSH + $2a0, $360 + VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTilesOB + $600, $160 + VIDEO_DATA_TILEMAP MeowthBonusTilemap_GameBoyColor, vBGMap, $400 + VIDEO_DATA_TILEMAP_BANK2 MeowthBonusTilemap2_GameBoyColor, vBGMap, $400 VIDEO_DATA_PALETTES MeowthBonusPalettes, $80 db $FF, $FF ; terminators StageDiglettBonusGfx_GameBoy: ; 0xebd7 - VIDEO_DATA_TILES Alphabet1Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES DiglettBonusDugtrio1Gfx, vTiles0 + $1a0, $260 - VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $320 - VIDEO_DATA_TILES DiglettBonusDugtrio2Gfx, vTiles0 + $7a0, $60 - VIDEO_DATA_TILES DiglettBonusBaseGameBoyGfx, vTiles1, $e00 ; $e00 is actually $100 too many bytes. Should only be $d00. This accidentally loads palette data after the tile graphics. - VIDEO_DATA_TILES DiglettBonusDugtrio3Gfx, vTiles1 + $100, $1a0 - VIDEO_DATA_TILES DiglettBonusDugtrio4Gfx, vTiles1 + $2a0, $280 - VIDEO_DATA_TILEMAP DiglettBonusTilemap_GameBoy, vBGMap0, $400 + VIDEO_DATA_TILES Alphabet1Gfx, vTilesOB, $1a0 + VIDEO_DATA_TILES DiglettBonusDugtrio1Gfx, vTilesOB + $1a0, $260 + VIDEO_DATA_TILES PinballPokeballGfx, vTilesOB + $400, $320 + VIDEO_DATA_TILES DiglettBonusDugtrio2Gfx, vTilesOB + $7a0, $60 + VIDEO_DATA_TILES DiglettBonusBaseGameBoyGfx, vTilesSH, $e00 ; $e00 is actually $100 too many bytes. Should only be $d00. This accidentally loads palette data after the tile graphics. + VIDEO_DATA_TILES DiglettBonusDugtrio3Gfx, vTilesSH + $100, $1a0 + VIDEO_DATA_TILES DiglettBonusDugtrio4Gfx, vTilesSH + $2a0, $280 + VIDEO_DATA_TILEMAP DiglettBonusTilemap_GameBoy, vBGMap, $400 db $FF, $FF ; terminators StageDiglettBonusGfx_GameBoyColor: ; 0xec11 - VIDEO_DATA_TILES Alphabet2Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES DiglettBonusDugtrio1Gfx, vTiles0 + $1a0, $260 - VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $320 - VIDEO_DATA_TILES DiglettBonusDugtrio2Gfx, vTiles0 + $7a0, $60 - VIDEO_DATA_TILES DiglettBonusBaseGameBoyColorGfx, vTiles1, $e00 - VIDEO_DATA_TILES DiglettBonusDugtrio3Gfx, vTiles1 + $100, $1a0 - VIDEO_DATA_TILES DiglettBonusDugtrio4Gfx, vTiles1 + $2a0, $280 - VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTiles0 + $600, $160 - VIDEO_DATA_TILEMAP DiglettBonusTilemap_GameBoyColor, vBGMap0, $400 - VIDEO_DATA_TILEMAP_BANK2 DiglettBonusTilemap2_GameBoyColor, vBGMap0, $400 + VIDEO_DATA_TILES Alphabet2Gfx, vTilesOB, $1a0 + VIDEO_DATA_TILES DiglettBonusDugtrio1Gfx, vTilesOB + $1a0, $260 + VIDEO_DATA_TILES PinballPokeballGfx, vTilesOB + $400, $320 + VIDEO_DATA_TILES DiglettBonusDugtrio2Gfx, vTilesOB + $7a0, $60 + VIDEO_DATA_TILES DiglettBonusBaseGameBoyColorGfx, vTilesSH, $e00 + VIDEO_DATA_TILES DiglettBonusDugtrio3Gfx, vTilesSH + $100, $1a0 + VIDEO_DATA_TILES DiglettBonusDugtrio4Gfx, vTilesSH + $2a0, $280 + VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTilesOB + $600, $160 + VIDEO_DATA_TILEMAP DiglettBonusTilemap_GameBoyColor, vBGMap, $400 + VIDEO_DATA_TILEMAP_BANK2 DiglettBonusTilemap2_GameBoyColor, vBGMap, $400 VIDEO_DATA_PALETTES DiglettBonusPalettes, $80 db $FF, $FF ; terminators StageSeelBonusGfx_GameBoy: ; 0xec60 - VIDEO_DATA_TILES Alphabet1Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES SeelBonusSeel1Gfx, vTiles0 + $1a0, $260 - VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $320 - VIDEO_DATA_TILES SeelBonusSeel2Gfx, vTiles0 + $7a0, $60 - VIDEO_DATA_TILES SeelBonusBaseGameBoyGfx, vTiles1, $d00 ; $d00 is actually $100 too many bytes. Should only be $c00. This accidentally loads palette data after the tile graphics. - VIDEO_DATA_TILES SeelBonusSeel3Gfx, vTiles1 + $100, $1a0 - VIDEO_DATA_TILES SeelBonusSeel4Gfx, vTiles1 + $2a0, $4a0 - VIDEO_DATA_TILEMAP SeelBonusTilemap_GameBoy, vBGMap0, $400 + VIDEO_DATA_TILES Alphabet1Gfx, vTilesOB, $1a0 + VIDEO_DATA_TILES SeelBonusSeel1Gfx, vTilesOB + $1a0, $260 + VIDEO_DATA_TILES PinballPokeballGfx, vTilesOB + $400, $320 + VIDEO_DATA_TILES SeelBonusSeel2Gfx, vTilesOB + $7a0, $60 + VIDEO_DATA_TILES SeelBonusBaseGameBoyGfx, vTilesSH, $d00 ; $d00 is actually $100 too many bytes. Should only be $c00. This accidentally loads palette data after the tile graphics. + VIDEO_DATA_TILES SeelBonusSeel3Gfx, vTilesSH + $100, $1a0 + VIDEO_DATA_TILES SeelBonusSeel4Gfx, vTilesSH + $2a0, $4a0 + VIDEO_DATA_TILEMAP SeelBonusTilemap_GameBoy, vBGMap, $400 db $FF, $FF ; terminators StageSeelBonusGfx_GameBoyColor: ; 0xec9a - VIDEO_DATA_TILES Alphabet2Gfx, vTiles0, $1a0 - VIDEO_DATA_TILES SeelBonusSeel1Gfx, vTiles0 + $1a0, $260 - VIDEO_DATA_TILES PinballPokeballGfx, vTiles0 + $400, $320 - VIDEO_DATA_TILES SeelBonusSeel2Gfx, vTiles0 + $7a0, $60 - VIDEO_DATA_TILES SeelBonusBaseGameBoyColorGfx, vTiles1, $b00 ; Should actually be $a00 bytes, not $b00 - VIDEO_DATA_TILES SeelBonusSeel3Gfx, vTiles1 + $100, $1a0 - VIDEO_DATA_TILES SeelBonusSeel4Gfx, vTiles1 + $2a0, $4a0 - VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTiles0 + $600, $160 - VIDEO_DATA_TILEMAP SeelBonusTilemap_GameBoyColor, vBGMap0, $400 - VIDEO_DATA_TILEMAP_BANK2 SeelBonusTilemap2_GameBoyColor, vBGMap0, $400 + VIDEO_DATA_TILES Alphabet2Gfx, vTilesOB, $1a0 + VIDEO_DATA_TILES SeelBonusSeel1Gfx, vTilesOB + $1a0, $260 + VIDEO_DATA_TILES PinballPokeballGfx, vTilesOB + $400, $320 + VIDEO_DATA_TILES SeelBonusSeel2Gfx, vTilesOB + $7a0, $60 + VIDEO_DATA_TILES SeelBonusBaseGameBoyColorGfx, vTilesSH, $b00 ; Should actually be $a00 bytes, not $b00 + VIDEO_DATA_TILES SeelBonusSeel3Gfx, vTilesSH + $100, $1a0 + VIDEO_DATA_TILES SeelBonusSeel4Gfx, vTilesSH + $2a0, $4a0 + VIDEO_DATA_TILES_BANK2 TimerDigitsGfx, vTilesOB + $600, $160 + VIDEO_DATA_TILEMAP SeelBonusTilemap_GameBoyColor, vBGMap, $400 + VIDEO_DATA_TILEMAP_BANK2 SeelBonusTilemap2_GameBoyColor, vBGMap, $400 VIDEO_DATA_PALETTES SeelBonusPalettes, $80 db $FF, $FF ; terminators -Func_ece9: ; 0xece9 +CheckStageTransition: ; 0xece9 call Func_ed5e ld a, [wBallYPos + 1] add $10 cp $18 - jr c, .asm_ed13 + jr c, .moving_up cp $b8 ret c ld a, [wCurrentStage] @@ -8260,14 +8230,14 @@ Func_ece9: ; 0xece9 add hl, bc ld a, [hl] cp $ff - jr z, .asm_ed2e - call Func_e674 + jr z, .rip + call FieldVerticalTransition ld a, [wBallYPos + 1] sub $88 ld [wBallYPos + 1], a ret -.asm_ed13 +.moving_up ld a, [wCurrentStage] ld c, a ld b, $0 @@ -8275,18 +8245,17 @@ Func_ece9: ; 0xece9 add hl, bc ld a, [hl] cp $ff - jr z, .asm_ed2e - call Func_e674 + jr z, .rip + call FieldVerticalTransition ld a, [wBallYPos + 1] add $88 ld [wBallYPos + 1], a ret -.asm_ed2e +.rip ld a, $1 ld [wd4ae], a - ld [hFarCallTempA], a - callba Func_dc49 + callba HandleBallLoss ret BallMovingUpStageTransitions: ; 0xed3e @@ -8333,21 +8302,21 @@ Func_ed5e: ; 0xed5e ld hl, wd7ab ld a, [wd7ac] and a - jr nz, .asm_ed7f + jr nz, .modify_scx_and_scy ld a, [wBallXPos + 1] cp $9a - ld a, $2 - jr nc, .asm_ed72 - ld a, $fe -.asm_ed72 + ld a, 2 + jr nc, .okay1 + ld a, -2 +.okay1 ld [wd7aa], a add [hl] cp $22 - jr z, .asm_ed7f + jr z, .modify_scx_and_scy bit 7, a - jr nz, .asm_ed7f + jr nz, .modify_scx_and_scy ld [hl], a -.asm_ed7f +.modify_scx_and_scy ld a, [hl] ld hl, wd79f sub [hl] @@ -8384,7 +8353,6 @@ Func_ed8e: ; 0xed8e ld a, $3 ld hl, HandleFlippers call nz, BankSwitch - ld [hFarCallTempA], a callba Func_84b7 call Func_33e3 call Func_926 @@ -8523,9 +8491,9 @@ Func_ed8e: ; 0xed8e ld a, [wd61d] rst JumpTable ; calls JumpToFuncInTable CallTable_eeca: ; 0xeeca - dw Func_ef35 - dw Func_ef4f - dw Func_ef69 + dw Start30SecondSaverTimer + dw Start60SecondSaverTimer + dw Start90SecondSaverTimer dw Func_ef83 dw Func_efa7 dw Func_efb2 @@ -8604,43 +8572,43 @@ BallTypeMultipliers: ; 0xef2f db $02 db $02 ; MASTER_BALL -Func_ef35: ; 0xef35 +Start30SecondSaverTimer: ; 0xef35 ld a, $0 ld [wBallSaverIconOn], a ld a, $ff ld [wd4a2], a - ld a, $3b + ld a, 59 ld [wBallSaverTimerFrames], a - ld a, $1e + ld a, 30 ld [wBallSaverTimerSeconds], a ld a, $2 - ld [wd4a5], a + ld [wNumTimesBallSavedTextWillDisplay], a ret -Func_ef4f: ; 0xef4f +Start60SecondSaverTimer: ; 0xef4f ld a, $0 ld [wBallSaverIconOn], a ld a, $ff ld [wd4a2], a - ld a, $3b + ld a, 59 ld [wBallSaverTimerFrames], a - ld a, $3c + ld a, 60 ld [wBallSaverTimerSeconds], a ld a, $2 - ld [wd4a5], a + ld [wNumTimesBallSavedTextWillDisplay], a ret -Func_ef69: ; 0xef69 +Start90SecondSaverTimer: ; 0xef69 ld a, $0 ld [wBallSaverIconOn], a ld a, $ff ld [wd4a2], a - ld a, $3b + ld a, 59 ld [wBallSaverTimerFrames], a - ld a, $5a + ld a, 90 ld [wBallSaverTimerSeconds], a ld a, $2 - ld [wd4a5], a + ld [wNumTimesBallSavedTextWillDisplay], a ret Func_ef83: ; 0xef83 @@ -8653,14 +8621,12 @@ Func_ef83: ; 0xef83 call Func_310a rst AdvanceFrame ld a, $0 - ld [hFarCallTempA], a callba PlayPikachuSoundClip ld a, $1 ld [wd85d], a ret Func_efa7: ; 0xefa7 - ld [hFarCallTempA], a callba Func_30164 ret @@ -8784,7 +8750,6 @@ UpgradeBallBlueField: ; 0xf040 lb de, $0f, $4d call PlaySoundEffect ld bc, OneMillionPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueue ld bc, $100 ld de, $0000 @@ -8801,7 +8766,6 @@ UpgradeBallBlueField: ; 0xf040 ld de, FieldMultiplierSpecialBonusText call LoadTextHeader .asm_f0b0 - ld [hFarCallTempA], a callba Func_155bb ret @@ -8868,14 +8832,11 @@ SlotBonusMultiplier: ; 0xf0c1 ld a, Bank(Func_30164) ld hl, Func_30164 call nz, BankSwitch - ld [hFarCallTempA], a callba Func_16f95 ld a, [wd60c] - ld [hFarCallTempA], a callba Func_f154 ; no need for BankSwitch here... ld a, [wd60d] add $14 - ld [hFarCallTempA], a callba Func_f154 ; no need for BankSwitch here... ret @@ -8922,7 +8883,7 @@ LoadBillboardPicture: ; 0xf178 ld a, [hl] ld h, b ld l, c - ld de, vTiles1 tile $10 ; destination address to copy the tiles + ld de, vTilesSH tile $10 ; destination address to copy the tiles ld bc, $180 ; billboard pictures are $180 bytes call LoadVRAMData ; loads the tiles into VRAM pop hl @@ -8948,7 +8909,7 @@ LoadBillboardOffPicture: ; 0xf196 ld l, c ld bc, $0180 ; get the address of the "off" version of the picture add hl, bc - ld de, vTiles1 tile $10 + ld de, vTilesSH tile $10 ld bc, $0180 call LoadVRAMData pop hl @@ -9030,7 +8991,7 @@ Func_f269: ; 0xf269 .asm_f27c ld a, BANK(Data_f288) ld de, Data_f288 - hlCoord 7, 4, vBGMap0 + hlCoord 7, 4, vBGMap call Func_86f ret @@ -9165,7 +9126,7 @@ Func_f55c: ; 0xf55c jr nz, .gameboyColor ld a, BANK(GFX_d61c0) ld hl, GFX_d61c0 - ld de, vTiles1 tile $03 + ld de, vTilesSH tile $03 ld bc, $0010 call LoadVRAMData ret @@ -9173,7 +9134,7 @@ Func_f55c: ; 0xf55c .gameboyColor ld a, BANK(GFX_d63c0) ld hl, GFX_d63c0 - ld de, vTiles1 tile $03 + ld de, vTilesSH tile $03 ld bc, $0010 call LoadVRAMData ret @@ -9193,7 +9154,7 @@ Func_f57f: ; 0xf57f jr nz, .clearLoop ld a, $0 ld hl, wBottomMessageText - ld de, vBGMap1 + ld de, vBGWin ld bc, $00c0 call LoadVRAMData ret @@ -9400,7 +9361,7 @@ Func_f70d: ; 0xf70d ld de, wBottomMessageText + $60 ld hl, Data_308d call PrintTextNoHeader - ld hl, wd46f + ld hl, wScore + $5 ld de, wBottomMessageText + $66 call Func_f8bd ld bc, $0040 @@ -9421,7 +9382,7 @@ Func_f70d: ; 0xf70d ld hl, wScore ld de, wd48f call AddBigBCD6 - ld hl, wd46f + ld hl, wScore + $5 ld de, wBottomMessageText + $66 call Func_f8bd ld bc, $0040 @@ -9529,7 +9490,7 @@ PrintTextNoHeader: ; 0xf7b1 jr .asm_f7e0 Func_f80d: ; 0xf80d - hlCoord 0, 0, vBGMap1 + hlCoord 0, 0, vBGWin add hl, de push hl ld hl, wBottomMessageText @@ -9929,7 +9890,6 @@ Func_10000: ; 0x10000 jp z, Func_10a95 cp $2 jr nz, .asm_10021 - ld [hFarCallTempA], a callba Func_301ce ret @@ -10050,9 +10010,7 @@ StartCatchEmMode: ; 0x1003f ld c, a ld a, [hl] ld b, a - ld [hFarCallTempA], a callba StartTimer - ld [hFarCallTempA], a callba InitBallSaverForCatchEmMode call Func_10696 call Func_3579 @@ -10061,12 +10019,12 @@ StartCatchEmMode: ; 0x1003f jr z, .asm_1011d ld a, BANK(StageRedFieldBottomBaseGameBoyColorGfx) ld hl, StageRedFieldBottomBaseGameBoyColorGfx + $300 - ld de, vTiles1 tile $2e + ld de, vTilesSH tile $2e ld bc, $0020 call LoadOrCopyVRAMData ld a, $0 ld hl, Data_2898 - deCoord 6, 8, vBGMap0 + deCoord 6, 8, vBGMap ld bc, $0008 call LoadOrCopyVRAMData .asm_1011d @@ -10124,7 +10082,6 @@ Func_10157: ; 0x10157 ld [wd5b6], a ld [wNumMonHits], a call Func_10488 - ld [hFarCallTempA], a callba Func_86d2 ld a, [wCurrentStage] rst JumpTable ; calls JumpToFuncInTable @@ -10217,7 +10174,7 @@ Func_101d9: ; 0x101d9 rl b sla c rl b - ld hl, vTiles1 tile $10 + ld hl, vTilesSH tile $10 add hl, bc ld a, l ld [de], a @@ -10631,12 +10588,12 @@ Func_10496: ; 0x10496 ld [wd5c6], a ld a, BANK(PikachuSaverGfx) ld hl, PikachuSaverGfx + $c0 - ld de, vTiles0 tile $7e + ld de, vTilesOB tile $7e ld bc, $0020 call LoadVRAMData ld a, BANK(GFX_a8800) ld hl, GFX_a8800 - ld de, vTiles1 tile $10 + ld de, vTilesSH tile $10 ld bc, $0180 call LoadVRAMData call LoadShakeBallGfx @@ -10664,7 +10621,7 @@ LoadShakeBallGfx: ; 0x104e2 jr nc, .notPokeball ld a, Bank(PinballPokeballShakeGfx) ld hl, PinballPokeballShakeGfx - ld de, vTiles0 tile $38 + ld de, vTilesOB tile $38 ld bc, $0040 call LoadVRAMData ret @@ -10674,7 +10631,7 @@ LoadShakeBallGfx: ; 0x104e2 jr nc, .notGreatball ld a, Bank(PinballGreatballShakeGfx) ld hl, PinballGreatballShakeGfx - ld de, vTiles0 tile $38 + ld de, vTilesOB tile $38 ld bc, $0040 call LoadVRAMData ret @@ -10684,7 +10641,7 @@ LoadShakeBallGfx: ; 0x104e2 jr nc, .notUltraBall ld a, Bank(PinballUltraballShakeGfx) ld hl, PinballUltraballShakeGfx - ld de, vTiles0 tile $38 + ld de, vTilesOB tile $38 ld bc, $0040 call LoadVRAMData ret @@ -10692,7 +10649,7 @@ LoadShakeBallGfx: ; 0x104e2 .notUltraBall ld a, Bank(PinballMasterballShakeGfx) ld hl, PinballMasterballShakeGfx - ld de, vTiles0 tile $38 + ld de, vTilesOB tile $38 ld bc, $0040 call LoadVRAMData ret @@ -10751,8 +10708,7 @@ CapturePokemon: ; 0x1052d ld a, $1 ld [wd548], a ld [wd549], a - ld [hFarCallTempA], a - callba Func_dc00 + callba RestoreBallSaverAfterCatchEmMode call Func_10157 ld de, $0001 call PlaySong @@ -11057,7 +11013,6 @@ Func_107b0: ; 0x107b0 xor a ld [wd604], a ld [wIndicatorStates + 4], a - ld [hFarCallTempA], a callba Func_16425 ret @@ -11141,7 +11096,6 @@ Func_10825: ; 0x10825 Func_10848: ; 0x10848 ld bc, OneHundredMillionPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueue call Fillwc600WithBlackTile call Func_30db @@ -11198,16 +11152,12 @@ Func_10871: ; 0x10871 ld a, [wCurrentStage] bit 0, a jr nz, .asm_108d3 - ld [hFarCallTempA], a callba LoadStageCollisionAttributes - ld [hFarCallTempA], a callba Func_159f4 ret .asm_108d3 - ld [hFarCallTempA], a callba Func_14135 - ld [hFarCallTempA], a callba Func_10184 ld a, [hGameBoyColorFlag] and a @@ -11225,26 +11175,23 @@ Func_108f5: ; 0x108f5 ld a, [wCurrentStage] bit 0, a ret z - ld [hFarCallTempA], a callba Func_14135 call Func_10432 - ld [hFarCallTempA], a callba Func_30253 ld a, Bank(StageSharedBonusSlotGlowGfx) ld hl, StageSharedBonusSlotGlowGfx - ld de, vTiles0 tile $1a + ld de, vTilesOB tile $1a ld bc, $0160 call LoadVRAMData ld a, BANK(StageSharedBonusSlotGlow2Gfx) ld hl, StageSharedBonusSlotGlow2Gfx - ld de, vTiles0 tile $38 + ld de, vTilesOB tile $38 ld bc, $0020 call LoadVRAMData ld hl, Data_10958 ld a, BANK(Data_10958) call Func_10aa ld a, [wd624] - ld [hFarCallTempA], a callba Func_174d4 ld hl, Data_1097d ld a, BANK(Data_1097d) @@ -11313,14 +11260,12 @@ Func_1098c: ; 0x1098c jr nz, .loop xor a ld [wRightAlleyCount], a - ld [hFarCallTempA], a callba Func_1f2ed ld de, $0002 call PlaySong ld a, [wCurrentStage] bit 0, a ret z - ld [hFarCallTempA], a callba Func_1c2cb ld [hFarCallTempA], a ld a, $4 @@ -11337,31 +11282,27 @@ Func_1098c: ; 0x1098c Func_109fc: ; 0x109fc call Func_107a5 call Func_107c2 - ld [hFarCallTempA], a callba Func_1f2ff ld a, [wCurrentStage] bit 0, a ret z - ld [hFarCallTempA], a callba Func_1c2cb call Func_10432 - ld [hFarCallTempA], a callba Func_30253 ld a, BANK(StageSharedBonusSlotGlowGfx) ld hl, StageSharedBonusSlotGlowGfx - ld de, vTiles0 tile $1a + ld de, vTilesOB tile $1a ld bc, $0160 call LoadVRAMData ld a, BANK(StageSharedBonusSlotGlow2Gfx) ld hl, StageSharedBonusSlotGlow2Gfx - ld de, vTiles0 tile $38 + ld de, vTilesOB tile $38 ld bc, $0020 call LoadVRAMData ld hl, Data_10a63 ld a, BANK(Data_10a63) call Func_10aa ld a, [wd624] - ld [hFarCallTempA], a callba Func_174d4 ld hl, Data_10a88 ld a, BANK(Data_10a88) @@ -11433,7 +11374,6 @@ Func_10ac8: ; 0x10ac8 ld [wd551], a ld [wd554], a call Func_10488 - ld [hFarCallTempA], a callba Func_86d2 ld a, [wCurrentStage] rst JumpTable ; calls JumpToFuncInTable @@ -11523,12 +11463,12 @@ Func_10b59: ; 0x10b59 call Func_10b8e ld a, BANK(InGameMenuSymbolsGfx) ld hl, InGameMenuSymbolsGfx - ld de, vTiles1 tile $08 + ld de, vTilesSH tile $08 ld bc, $0030 call LoadVRAMData ld a, $0 ld hl, wBottomMessageText - deCoord 0, 0, vBGMap1 + deCoord 0, 0, vBGWin ld bc, $00c0 call LoadVRAMData ret @@ -11703,7 +11643,7 @@ Func_10c38: ; 0x10c38 .asm_10c96 ld a, $0 ld hl, wBottomMessageText - deCoord 0, 0, vBGMap1 + deCoord 0, 0, vBGWin ld bc, $00c0 call LoadVRAMData ret @@ -11742,7 +11682,7 @@ Func_10cb7: ; 0x10cb7 jr nz, .asm_10cee ld a, BANK(StageRedFieldTopStatusBarSymbolsGfx_GameBoy) ld hl, StageRedFieldTopStatusBarSymbolsGfx_GameBoy + $80 - ld de, vTiles1 tile $08 + ld de, vTilesSH tile $08 ld bc, $0030 call LoadVRAMData jr .asm_10cfc @@ -11750,7 +11690,7 @@ Func_10cb7: ; 0x10cb7 .asm_10cee ld a, BANK(StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor) ld hl, StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor + $80 - ld de, vTiles1 tile $08 + ld de, vTilesSH tile $08 ld bc, $0030 call LoadVRAMData .asm_10cfc @@ -11806,7 +11746,6 @@ Func_10d1d: ; 0x10d1d ld c, a ld a, [hl] ld b, a - ld [hFarCallTempA], a callba StartTimer ld a, [wCurrentCatchEmMon] ld c, a @@ -11887,7 +11826,6 @@ Func_10d1d: ; 0x10d1d inc de dec b jr nz, .asm_10dc0 - ld [hFarCallTempA], a callba InitBallSaverForCatchEmMode call Func_10b3f call Func_3579 @@ -11896,12 +11834,12 @@ Func_10d1d: ; 0x10d1d jr z, .asm_10e09 ld a, BANK(StageRedFieldBottomBaseGameBoyColorGfx) ld hl, StageRedFieldBottomBaseGameBoyColorGfx + $300 - ld de, vTiles1 tile $2e + ld de, vTilesSH tile $2e ld bc, $0020 call LoadOrCopyVRAMData ld a, $0 ld hl, Data_2898 - deCoord 6, 8, vBGMap0 + deCoord 6, 8, vBGMap ld bc, $0008 call LoadOrCopyVRAMData .asm_10e09 @@ -11983,7 +11921,6 @@ Func_10e0a: ; 0x10e0a Func_10e8b: ; 0x10e8b ld bc, OneMillionPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueue ld bc, $0100 ld de, $0000 @@ -12037,7 +11974,7 @@ Func_10ebb: ; 0x10ebb jr nz, .asm_10f0b ld a, BANK(Data_dbe80) ld hl, Data_dbe80 - ld de, vTiles1 tile $10 + ld de, vTilesSH tile $10 ld bc, $00e0 call LoadOrCopyVRAMData ret @@ -12045,12 +11982,10 @@ Func_10ebb: ; 0x10ebb .asm_10f0b ld a, BANK(Data_dbe80) ld hl, Data_dbe80 - ld de, vTiles0 tile $20 + ld de, vTilesOB tile $20 ld bc, $00e0 call LoadOrCopyVRAMData - ld [hFarCallTempA], a callba Func_14135 - ld [hFarCallTempA], a callba Func_10184 ld a, [hGameBoyColorFlag] and a @@ -12102,15 +12037,12 @@ Func_10fe3: ; 0x10fe3 ld a, [wCurrentStage] bit 0, a jp z, Func_10aff - ld [hFarCallTempA], a callba Func_14135 - ld [hFarCallTempA], a callba Func_16425 - ld [hFarCallTempA], a callba Func_30253 ld a, BANK(StageSharedBonusSlotGlowGfx) ld hl, StageSharedBonusSlotGlowGfx + $60 - ld de, vTiles0 tile $20 + ld de, vTilesOB tile $20 ld bc, $00e0 call LoadVRAMData ld a, [hGameBoyColorFlag] @@ -12126,7 +12058,6 @@ Func_10fe3: ; 0x10fe3 ld a, BANK(Data_10958) call Func_10aa ld a, [wd624] - ld [hFarCallTempA], a callba Func_174d4 ld hl, Data_1097d ld a, BANK(Data_1097d) @@ -12171,7 +12102,6 @@ Func_11061: ; 0x11061 jr nz, .asm_11085 xor a ld [wLeftAlleyCount], a - ld [hFarCallTempA], a callba Func_1f2ed ld a, $2 ld [wd7ad], a @@ -12183,7 +12113,7 @@ Func_11061: ; 0x11061 jr nz, .asm_110bd ld a, BANK(Data_dbe80) ld hl, Data_dbe80 - ld de, vTiles0 tile $60 + ld de, vTilesOB tile $60 ld bc, $00e0 call LoadOrCopyVRAMData ret @@ -12191,12 +12121,10 @@ Func_11061: ; 0x11061 .asm_110bd ld a, BANK(Data_dbe80) ld hl, Data_dbe80 - ld de, vTiles0 tile $20 + ld de, vTilesOB tile $20 ld bc, $00e0 call LoadOrCopyVRAMData - ld [hFarCallTempA], a callba Func_1c2cb - ld [hFarCallTempA], a callba Func_10184 ld a, [hGameBoyColorFlag] and a @@ -12245,20 +12173,16 @@ Func_11195: ; 0x11195 ld [wd643], a call Func_107a5 call Func_107c2 - ld [hFarCallTempA], a callba Func_1f2ff ld a, [wCurrentStage] bit 0, a jp z, Func_1120e - ld [hFarCallTempA], a callba Func_1c2cb - ld [hFarCallTempA], a callba Func_1e8f6 - ld [hFarCallTempA], a callba Func_30253 ld a, Bank(StageSharedBonusSlotGlowGfx) ld hl, StageSharedBonusSlotGlowGfx + $60 - ld de, vTiles0 tile $20 + ld de, vTilesOB tile $20 ld bc, $00e0 call LoadVRAMData ld a, [hGameBoyColorFlag] @@ -12274,7 +12198,6 @@ Func_11195: ; 0x11195 ld a, BANK(Data_10a63) call Func_10aa ld a, [wd624] - ld [hFarCallTempA], a callba Func_174d4 ld hl, Data_10a88 ld a, BANK(Data_10a88) @@ -13891,7 +13814,6 @@ Func_14091: ; 0x14091 ld a, [wCurrentStage] bit 0, a ret nz - ld [hFarCallTempA], a callba LoadStageCollisionAttributes call Func_159f4 ret @@ -13969,9 +13891,7 @@ Func_1414b: ; 0x1414b jp Func_14210 .asm_14165 - ld [hFarCallTempA], a callba Func_141f2 - ld [hFarCallTempA], a callba Func_10362 ld a, [hGameBoyColorFlag] and a @@ -13984,12 +13904,12 @@ Func_1414b: ; 0x1414b ret z ld a, BANK(PikachuSaverGfx) ld hl, PikachuSaverGfx + $c0 - ld de, vTiles0 tile $7e + ld de, vTilesOB tile $7e ld bc, $0020 call FarCopyData ld a, BANK(GFX_a8800) ld hl, GFX_a8800 - ld de, vTiles1 tile $10 + ld de, vTilesSH tile $10 ld bc, $0180 call FarCopyData ld a, [wBallType] @@ -13997,7 +13917,7 @@ Func_1414b: ; 0x1414b jr nc, .notPokeball ld a, Bank(PinballPokeballShakeGfx) ld hl, PinballPokeballShakeGfx - ld de, vTiles0 tile $38 + ld de, vTilesOB tile $38 ld bc, $0040 call FarCopyData ret @@ -14007,7 +13927,7 @@ Func_1414b: ; 0x1414b jr nc, .notGreatball ld a, Bank(PinballGreatballShakeGfx) ld hl, PinballGreatballShakeGfx - ld de, vTiles0 tile $38 + ld de, vTilesOB tile $38 ld bc, $0040 call FarCopyData ret @@ -14017,7 +13937,7 @@ Func_1414b: ; 0x1414b jr nc, .notUltraball ld a, Bank(PinballUltraballShakeGfx) ld hl, PinballUltraballShakeGfx - ld de, vTiles0 tile $38 + ld de, vTilesOB tile $38 ld bc, $0040 call FarCopyData ret @@ -14025,20 +13945,20 @@ Func_1414b: ; 0x1414b .notUltraball ld a, Bank(PinballMasterballShakeGfx) ld hl, PinballMasterballShakeGfx - ld de, vTiles0 tile $38 + ld de, vTilesOB tile $38 ld bc, $0040 call FarCopyData ret Func_141f2: ; 0x141f2 ld a, $80 - hlCoord 7, 4, vBGMap0 + hlCoord 7, 4, vBGMap call Func_14209 - hlCoord 7, 5, vBGMap0 + hlCoord 7, 5, vBGMap call Func_14209 - hlCoord 7, 6, vBGMap0 + hlCoord 7, 6, vBGMap call Func_14209 - hlCoord 7, 7, vBGMap0 + hlCoord 7, 7, vBGMap ; fall through Func_14209: ; 0x14209 @@ -14059,7 +13979,6 @@ Func_14210: ; 0x14210 ld [hli], a dec b jr nz, .asm_14215 - ld [hFarCallTempA], a callba Func_10184 ld a, [hGameBoyColorFlag] and a @@ -14084,7 +14003,7 @@ Func_14234: ; 0x14234 jr nz, .asm_1425c ld a, BANK(Data_dbe80) ld hl, Data_dbe80 - ld de, vTiles1 tile $10 + ld de, vTilesSH tile $10 ld bc, $00e0 call FarCopyData jr .asm_1426a @@ -14092,7 +14011,7 @@ Func_14234: ; 0x14234 .asm_1425c ld a, BANK(Data_dbe80) ld hl, Data_dbe80 - ld de, vTiles0 tile $20 + ld de, vTilesOB tile $20 ld bc, $00e0 call FarCopyData .asm_1426a @@ -14132,14 +14051,13 @@ Func_14282: ; 0x14282 call Func_174d4 ld a, BANK(Data_d8f60) ld hl, Data_d8f60 - ld de, vTiles1 tile $2e + ld de, vTilesSH tile $2e ld bc, $0020 call FarCopyData ret Func_142b3: ; 0x142b3 push af - ld [hFarCallTempA], a callba Func_10611 pop af dec a @@ -14173,7 +14091,7 @@ Func_142d7: ; 0x142d7 swap e sla e push hl - ld hl, vTiles1 tile $2e + ld hl, vTilesSH tile $2e add hl, de ld d, h ld e, l @@ -14189,19 +14107,16 @@ Func_142fc: ; 0x142fc ld a, [wd4c8] and a jr nz, .asm_1430e - ld [hFarCallTempA], a callba LoadBallGfx jr .asm_14328 .asm_1430e cp $1 jr nz, .asm_1431e - ld [hFarCallTempA], a callba LoadMiniBallGfx jr .asm_14328 .asm_1431e - ld [hFarCallTempA], a callba Func_dd62 .asm_14328 ld a, [hGameBoyColorFlag] @@ -14254,7 +14169,6 @@ Func_14377: ; 0x14377 jr z, .asm_14393 ld a, [wd498] add $15 - ld [hFarCallTempA], a callba Func_30256 ret @@ -14263,12 +14177,10 @@ Func_14377: ; 0x14377 and a jr z, .asm_143a6 ld a, $1a - ld [hFarCallTempA], a callba Func_30256 ret .asm_143a6 - ld [hFarCallTempA], a callba Func_30253 ret @@ -14279,7 +14191,6 @@ Func_14377: ; 0x14377 ld a, [wd54d] cp $3 jr nz, .asm_143c9 - ld [hFarCallTempA], a callba Func_30253 ret @@ -14291,7 +14202,6 @@ Func_14377: ; 0x14377 ld a, [wd55a] add $12 .asm_143d6 - ld [hFarCallTempA], a callba Func_30256 ret @@ -14563,10 +14473,8 @@ Func_1460e: ; 0x1460e call Func_146a9 call Func_174ea call Func_148cf - ld [hFarCallTempA], a callba Func_30188 ld a, $0 - ld [hFarCallTempA], a callba Func_10000 ret @@ -14590,10 +14498,8 @@ Func_14652: ; 0x14652 call Func_14733 call Func_146a2 call Func_174d0 - ld [hFarCallTempA], a callba Func_30188 ld a, $0 - ld [hFarCallTempA], a callba Func_10000 ret @@ -14615,7 +14521,7 @@ Func_146a9: ; 0x146a9 ld [wBallSaverTimerFrames], a bit 7, a jr z, .asm_146e8 - ld a, $3b + ld a, 59 ld [wBallSaverTimerFrames], a ld a, [hl] dec a @@ -14662,7 +14568,7 @@ Func_14707: ; 0x14707 jr nz, .asm_1471c ld a, BANK(Data_1172b) ld hl, Data_1172b - deCoord 8, 13, vBGMap0 + deCoord 8, 13, vBGMap ld bc, $0004 call LoadOrCopyVRAMData ret @@ -14670,7 +14576,7 @@ Func_14707: ; 0x14707 .asm_1471c ld a, BANK(Data_1472f) ld hl, Data_1472f - deCoord 8, 13, vBGMap0 + deCoord 8, 13, vBGMap ld bc, $0004 call LoadOrCopyVRAMData ret @@ -14788,7 +14694,6 @@ Func_147aa: ; 0x147aa add $4 call Func_149f5 ld a, $8 - ld [hFarCallTempA], a callba Func_10000 ld a, [wRightMapMoveCounter] cp $3 @@ -14805,7 +14710,6 @@ Func_147aa: ; 0x147aa ld a, [wLeftMapMoveCounter] call Func_149f5 ld a, $7 - ld [hFarCallTempA], a callba Func_10000 ld a, [wLeftMapMoveCounter] cp $3 @@ -14966,7 +14870,6 @@ Func_14920: ; 0x14920 .asm_14937 ld a, $1 ld [wd55a], a - ld [hFarCallTempA], a callba StartMapMoveMode ret @@ -14983,7 +14886,6 @@ Func_14947: ; 0x14947 .asm_1495e xor a ld [wd55a], a - ld [hFarCallTempA], a callba StartMapMoveMode ret @@ -14995,7 +14897,6 @@ Func_1496d: ; 0x1496d ld a, $2 ld [wd7eb], a ld bc, FiveHundredPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier lb de, $00, $0f call PlaySoundEffect @@ -15107,10 +15008,8 @@ Func_14d85: ; 0x14d85 sub $3 ld [wd4d7], a ld a, $4 - ld [hFarCallTempA], a callba Func_10000 ld bc, FiveHundredPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier ret @@ -15156,7 +15055,6 @@ Func_14dea: ; 0x14dea ld a, b ld [wd50c], a ld a, $c - ld [hFarCallTempA], a callba Func_10000 ; fall through Func_14e10: ; 0x14e10 @@ -15219,7 +15117,6 @@ Func_14e10: ; 0x14e10 and a ret z ld bc, TenPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier ld hl, wd62d call Func_e4a @@ -15308,7 +15205,6 @@ Func_151cb: ; 0x151cb and a ret nz ld bc, OneHundredPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier ld hl, wd50f ld a, [hli] @@ -15323,7 +15219,6 @@ Func_151cb: ; 0x151cb ld a, $80 ld [wd514], a ld bc, FourHundredPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier lb de, $00, $09 call PlaySoundEffect @@ -15493,7 +15388,6 @@ Func_1535d: ; 0x1535d ld [wSecondaryLeftAlleyTrigger], a call Func_159c9 ld a, $b - ld [hFarCallTempA], a callba Func_10000 ld a, [wd5f8] sub $e @@ -15506,7 +15400,6 @@ Func_1535d: ; 0x1535d and a ret nz ld bc, OneHundredPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier ld hl, wd5f9 ld a, [hli] @@ -15529,7 +15422,6 @@ Func_1535d: ; 0x1535d ld a, $e ld [wBallTypeCounter + 1], a ld bc, FourHundredPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier ld a, [wBallType] cp MASTER_BALL @@ -15556,7 +15448,6 @@ Func_1535d: ; 0x1535d lb de, $0f, $4d call PlaySoundEffect ld bc, OneMillionPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueue ld bc, $0100 ld de, $0000 @@ -16032,7 +15923,6 @@ Func_1581f: ; 0x1581f xor a ld [wd51f], a ld bc, FivePoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier ld a, [wd520] sub $11 @@ -16076,7 +15966,6 @@ Func_1587c: ; 0x1587c xor a ld [wLeftAlleyTrigger], a ld a, $1 - ld [hFarCallTempA], a callba Func_10000 ret c ld a, [wLeftAlleyCount] @@ -16092,7 +15981,6 @@ Func_1587c: ; 0x1587c and $1 or $6 ld [wStageCollisionState], a - ld [hFarCallTempA], a callba LoadStageCollisionAttributes call Func_159f4 ret @@ -16106,7 +15994,6 @@ Func_158c0: ; 0x158c0 xor a ld [wLeftAlleyTrigger], a ld a, $1 - ld [hFarCallTempA], a callba Func_10000 ret c ld a, [wLeftAlleyCount] @@ -16122,7 +16009,6 @@ Func_158c0: ; 0x158c0 and $1 or $6 ld [wStageCollisionState], a - ld [hFarCallTempA], a callba LoadStageCollisionAttributes call Func_159f4 ret @@ -16136,7 +16022,6 @@ Func_15904: ; 0x15904 xor a ld [wSecondaryLeftAlleyTrigger], a ld a, $3 - ld [hFarCallTempA], a callba Func_10000 ret @@ -16170,7 +16055,6 @@ Func_15944: ; 0x15944 xor a ld [wRightAlleyTrigger], a ld a, $2 - ld [hFarCallTempA], a callba Func_10000 ret c ld a, [wRightAlleyCount] @@ -16210,7 +16094,6 @@ Func_15990: ; 0x15990 xor a ld [wRightAlleyTrigger], a ld a, $2 - ld [hFarCallTempA], a callba Func_10000 ret c ld a, [wRightAlleyCount] @@ -16241,7 +16124,6 @@ Func_159c9: ; 0x159c9 ld [wStageCollisionState], a ld a, $ff ld [wd7ad], a - ld [hFarCallTempA], a callba LoadStageCollisionAttributes call Func_159f4 ld a, $1 @@ -16305,7 +16187,6 @@ Func_15e93: ; 0x15e93 xor a ld [wd4fb], a ld bc, TenThousandPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier lb de, $00, $05 call PlaySoundEffect @@ -16355,7 +16236,6 @@ Func_15e93: ; 0x15e93 xor a .asm_15f11 ld [wRareMonsFlag], a - ld [hFarCallTempA], a callba StartCatchEmMode .noCatchEmMode ld hl, wd62a @@ -16390,7 +16270,6 @@ Func_15e93: ; 0x15e93 lb de, $00, $06 call PlaySoundEffect ld a, $5 - ld [hFarCallTempA], a callba Func_10000 ret @@ -16504,7 +16383,6 @@ Func_160f0: ; 0x160f0 xor a ld [wd5fe], a ld bc, TenThousandPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier lb de, $00, $21 call PlaySoundEffect @@ -16535,14 +16413,12 @@ Func_160f0: ; 0x160f0 ld [wd600], a cp $f jr nz, .asm_1614f - ld [hFarCallTempA], a callba LoadMiniBallGfx ret .asm_1614f cp $c jr nz, .asm_1615e - ld [hFarCallTempA], a callba Func_dd62 ret @@ -16558,7 +16434,6 @@ Func_160f0: ; 0x160f0 .asm_1616d cp $6 jr nz, .asm_1618e - ld [hFarCallTempA], a callba Func_10ab3 ld a, $1 ld [wd548], a @@ -16572,14 +16447,12 @@ Func_160f0: ; 0x160f0 .asm_1618e cp $3 jr nz, .asm_1619d - ld [hFarCallTempA], a callba LoadMiniBallGfx ret .asm_1619d and a ret nz - ld [hFarCallTempA], a callba LoadBallGfx ld a, $2 ld [wBallYVelocity + 1], a @@ -16758,14 +16631,12 @@ Func_16279: ; 0x16279 jr nz, .asm_162d4 lb de, $00, $21 call PlaySoundEffect - ld [hFarCallTempA], a callba LoadMiniBallGfx ret .asm_162d4 cp $f jr nz, .asm_162e3 - ld [hFarCallTempA], a callba Func_dd62 ret @@ -16793,14 +16664,12 @@ Func_16279: ; 0x16279 ld [wd803], a ld a, $8 ld [wd804], a - ld [hFarCallTempA], a callba LoadMiniBallGfx ret .asm_16317 cp $3 jr nz, .asm_16330 - ld [hFarCallTempA], a callba LoadBallGfx ld a, $2 ld [wBallYVelocity + 1], a @@ -16818,7 +16687,6 @@ Func_16279: ; 0x16279 call GenRandom and $8 ld [wRareMonsFlag], a - ld [hFarCallTempA], a callba StartCatchEmMode xor a ld [wd622], a @@ -16828,7 +16696,6 @@ Func_16352: ; 0x16352 xor a ld [wIndicatorStates + 4], a ld a, $d - ld [hFarCallTempA], a callba Func_10000 jr nc, .asm_1636d ld a, $1 @@ -16873,7 +16740,6 @@ Func_16352: ; 0x16352 ret .asm_163b3 - ld [hFarCallTempA], a callba Func_ed8e xor a ld [wd608], a @@ -16886,7 +16752,6 @@ Func_16352: ; 0x16352 ld a, [wd622] cp $2 ret nz - ld [hFarCallTempA], a callba Func_10ab3 ld a, [wd7ad] ld c, a @@ -17070,12 +16935,10 @@ Func_1658f: ; 0x1658f call PlaySoundEffect pop af add (PalletTownPic_Pointer - BillboardPicturePointers) / 3 ; map billboard pictures start at the $29th entry in BillboardPicturePointers - ld [hFarCallTempA], a callba LoadBillboardPicture ld b, $20 ; number of frames to delay before the next map is shown .waitOnCurrentMap push bc - ld [hFarCallTempA], a callba Func_eeee ld hl, wKeyConfigBallStart call IsKeyPressed @@ -17087,10 +16950,8 @@ Func_1658f: ; 0x1658f .ballStartKeyPressed pop bc - ld [hFarCallTempA], a callba Func_30253 ld bc, Data_2cd1 - ld [hFarCallTempA], a callba Func_3118f ld a, [wCurrentMap] ld [wd4e3], a @@ -17193,7 +17054,6 @@ Func_1669e: ; 0x1669e call Func_310a rst AdvanceFrame ld a, $1 - ld [hFarCallTempA], a callba PlayPikachuSoundClip ld a, $1 ld [wd85d], a @@ -17224,7 +17084,6 @@ Func_1669e: ; 0x1669e ld a, $1 ld [wd549], a ld bc, FiveThousandPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier xor a ld [wd51c], a @@ -17305,7 +17164,6 @@ Func_16781: ; 0x16781 and a jr nz, .asm_167c2 ld bc, FiveThousandPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier ld a, [wd502] xor $1 @@ -17315,7 +17173,6 @@ Func_16781: ; 0x16781 ld [wd503], a call Func_16859 ld a, $6 - ld [hFarCallTempA], a callba Func_10000 ret @@ -17338,7 +17195,6 @@ Func_16781: ; 0x16781 and $fe or c ld [wStageCollisionState], a - ld [hFarCallTempA], a callba LoadStageCollisionAttributes call Func_159f4 lb de, $00, $07 @@ -17358,7 +17214,6 @@ Func_167ff: ; 0x167ff and a jr nz, .asm_1683e ld bc, FiveThousandPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier ld a, [wd502] xor $1 @@ -17367,7 +17222,6 @@ Func_167ff: ; 0x167ff ld [wd503], a call Func_16878 ld a, $6 - ld [hFarCallTempA], a callba Func_10000 ret @@ -17514,7 +17368,6 @@ Func_16d9d: ; 016d9d sub $21 jr nz, .asm_16ddc ld a, $9 - ld [hFarCallTempA], a callba Func_10000 ld a, [wd610] cp $3 @@ -17530,7 +17383,6 @@ Func_16d9d: ; 016d9d .asm_16ddc ld a, $a - ld [hFarCallTempA], a callba Func_10000 ld a, [wd611] cp $3 @@ -17567,7 +17419,6 @@ Func_16d9d: ; 016d9d ld [wd613], a .asm_16e35 ld bc, TenPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier ld a, [wd60c] call Func_16f28 @@ -17887,7 +17738,6 @@ Func_1757e: ; 0x1757e call Func_17c67 call Func_17c96 call Func_17e08 - ld [hFarCallTempA], a callba Func_e4a1 call Func_17e81 call Func_17f0f @@ -18503,7 +18353,7 @@ Func_18000: ; 0x18000 call ClearData ld a, $1 ld [rVBK], a - hlCoord 0, 0, vBGMap1 + hlCoord 0, 0, vBGWin ld bc, $0400 call ClearData xor a @@ -18512,7 +18362,7 @@ Func_18000: ; 0x18000 ld bc, $032e call ClearData xor a - ld hl, wd46f + ld hl, wScore + $5 ld [hld], a ld [hld], a ld [hld], a @@ -18526,8 +18376,7 @@ Func_18000: ; 0x18000 ld [wd49d], a ld a, $3 ld [wd49e], a - ld [hFarCallTempA], a - callba Func_dbba + callba Start20SecondSaverTimer ret Func_1804a: ; 0x1804a @@ -18551,7 +18400,6 @@ Func_18061: ; 0x18061 ret Func_18062: ; 0x18062 - ld [hFarCallTempA], a callba Func_1448e ret @@ -18559,19 +18407,15 @@ Func_1806d: ; 0x1806d ret Func_1806e: ; 0x1806e - ld [hFarCallTempA], a callba Func_1652d ret Func_18079: ; 0x18079 - ld [hFarCallTempA], a callba Func_17e81 ret Func_18084: ; 0x18084 - ld [hFarCallTempA], a callba Func_e4a1 - ld [hFarCallTempA], a callba Func_17e81 ret @@ -18620,7 +18464,6 @@ InitGengarBonusStage: ; 0x18099 ld [hli], a ld [wd656], a ld bc, $0130 ; 1 minute 30 seconds - ld [hFarCallTempA], a callba StartTimer ld a, $f call SetSongBank @@ -18679,12 +18522,10 @@ StartBallGengarBonusStage: ; 0x18157 ret Func_1818b: ; 0x1818b - ld [hFarCallTempA], a callba Func_142fc call Func_2862 call Func_18d72 ld a, [wd7c1] - ld [hFarCallTempA], a callba Func_1404a and a ret z @@ -18942,7 +18783,6 @@ Func_18377: ; 0x18377 call Func_187b1 call Func_18d34 call Func_183b7 - ld [hFarCallTempA], a callba Func_107f8 ld a, [wd57e] and a @@ -18952,7 +18792,6 @@ Func_18377: ; 0x18377 ld a, $1 ld [wd7be], a call Func_2862 - ld [hFarCallTempA], a callba Func_86d2 ld a, [wd6a2] cp $5 @@ -18971,7 +18810,6 @@ Func_183b7: ; 0x183b7 ld a, $1 ld [wStageCollisionState], a ld [wd653], a - ld [hFarCallTempA], a callba LoadStageCollisionAttributes call Func_183db call Func_18d91 @@ -19043,7 +18881,6 @@ Func_18464: ; 0x18464 inc a ld [wd67b], a ld bc, OneHundredThousandPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueue ld a, $33 ld [wd803], a @@ -19263,7 +19100,6 @@ Func_1860b: ; 0x1860b inc a ld [wd695], a ld bc, FiveHundredThousandPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueue ld a, $33 ld [wd803], a @@ -19498,13 +19334,11 @@ Func_187b1: ; 0x187b1 ld a, $1 ld [wd7be], a call Func_2862 - ld [hFarCallTempA], a callba Func_86d2 ld de, $0000 call PlaySong .asm_18826 ld bc, FiveMillionPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueue ld a, $33 ld [wd803], a @@ -19836,7 +19670,6 @@ Func_18d34: ; 0x18d34 and a jr nz, .asm_18d71 ld bc, OneHundredPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueue ld a, $ff ld [wd803], a @@ -19928,14 +19761,11 @@ Data_18ed1: Func_18faf: ; 0x18faf ld bc, $7f00 - ld [hFarCallTempA], a callba Func_175a4 call Func_19020 call Func_190b9 call Func_19185 - ld [hFarCallTempA], a callba Func_e4a1 - ld [hFarCallTempA], a callba Func_17e81 ret @@ -20309,7 +20139,6 @@ InitMewtwoBonusStage: ; 0x1924f dec b jr nz, .asm_1928c ld bc, $0200 ; 2 minutes 0 seconds - ld [hFarCallTempA], a callba StartTimer ld a, $12 call SetSongBank @@ -20346,10 +20175,8 @@ StartBallMewtwoBonusStage: ; 0x192e3 ret Func_19310: ; 0x19310 - ld [hFarCallTempA], a callba Func_142fc call Func_2862 - ld [hFarCallTempA], a callba Func_1404a ld a, [wd7c1] and a @@ -20551,7 +20378,6 @@ Func_19451: ; 0x19451 call Func_19531 call Func_19701 call Func_1948b - ld [hFarCallTempA], a callba Func_107f8 ld a, [wd57e] and a @@ -20561,7 +20387,6 @@ Func_19451: ; 0x19451 ld a, $1 ld [wd7be], a call Func_2862 - ld [hFarCallTempA], a callba Func_86d2 ld a, [wd6b1] cp $8 @@ -20580,7 +20405,6 @@ Func_1948b: ; 0x1948b ld a, $1 ld [wStageCollisionState], a ld [wd6a9], a - ld [hFarCallTempA], a callba LoadStageCollisionAttributes call Func_194ac ret @@ -20623,7 +20447,6 @@ Func_19531: ; 0x19531 cp $2 jr nc, .asm_195a2 ld bc, FiveMillionPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueue ld a, [wd6b0] inc a @@ -20653,7 +20476,6 @@ Func_19531: ; 0x19531 ld a, $1 ld [wd7be], a call Func_2862 - ld [hFarCallTempA], a callba Func_86d2 ld de, $0000 call PlaySong @@ -20857,7 +20679,6 @@ Func_19701: ; 0x19701 ld a, $2 call Func_19876 ld bc, OneHundredThousandPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueue lb de, $00, $38 call PlaySoundEffect @@ -21050,12 +20871,9 @@ Data_19916: Func_1994e: ; 0x1994e ld bc, $7f65 - ld [hFarCallTempA], a callba Func_175a4 call Func_1999d - ld [hFarCallTempA], a callba Func_e4a1 - ld [hFarCallTempA], a callba Func_17e81 call Func_19976 ret @@ -21200,7 +21018,6 @@ StartBallDiglettBonusStage: ; 0x19a38 ret Func_19a76: ; 0x19a76 - ld [hFarCallTempA], a callba Func_142fc call Func_2862 ld a, [wd7c1] @@ -21395,7 +21212,6 @@ Func_19c52: ; 0x19c52 xor a ld [wd73b], a ld bc, OneHundredThousandPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueue lb de, $00, $35 call PlaySoundEffect @@ -21705,7 +21521,6 @@ Func_1aad4: ; 0x1aad4 ld de, wDugtrioAnimationFrameCounter call CopyHLToDE ld bc, FiveMillionPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueue lb de, $00, $36 call PlaySoundEffect @@ -21903,9 +21718,7 @@ Data_1ac93: dr $1ac93, $1ac98 Func_1ac98: ; 0x1ac98 - ld [hFarCallTempA], a callba Func_e4a1 - ld [hFarCallTempA], a callba Func_17e81 call Func_1acb0 ret @@ -21939,7 +21752,7 @@ InitBlueField: ; 0x1c000 and a ret nz xor a - ld hl, wd46f + ld hl, wScore + $5 ld [hld], a ld [hld], a ld [hld], a @@ -21982,9 +21795,7 @@ InitBlueField: ; 0x1c000 ld [wd644], a ld [wd645], a ld [wd646], a - ld [hFarCallTempA], a - callba Func_dbba - ld [hFarCallTempA], a + callba Start20SecondSaverTimer callba Func_1d65f ld a, $10 call SetSongBank @@ -22088,12 +21899,10 @@ Func_1c165: ; 0x1c165 call Func_1cb43 call Func_1c3ee call Func_1e8f6 - ld [hFarCallTempA], a callba Func_142fc ld a, $1 ld [wd640], a call Func_1f18a - ld [hFarCallTempA], a callba Func_1404a call Func_1c203 ret @@ -22106,16 +21915,12 @@ Func_1c191: ; 0x1c191 call Func_1c43c call Func_1c305 call Func_1c3ee - ld [hFarCallTempA], a callba Func_14746 - ld [hFarCallTempA], a callba Func_14707 call Func_1c235 call Func_1c21e call Func_1e8f6 - ld [hFarCallTempA], a callba Func_142fc - ld [hFarCallTempA], a callba Func_1404a call Func_1c203 ret @@ -22313,9 +22118,7 @@ Func_1c305: ; 0x1c305 jp Func_1c3ca .asm_1c31f - ld [hFarCallTempA], a callba Func_1c3ac - ld [hFarCallTempA], a callba Func_10362 ld a, [hGameBoyColorFlag] and a @@ -22328,12 +22131,12 @@ Func_1c305: ; 0x1c305 ret z ld a, BANK(PikachuSaverGfx) ld hl, PikachuSaverGfx + $c0 - ld de, vTiles0 tile $7e + ld de, vTilesOB tile $7e ld bc, $0020 call FarCopyData ld a, BANK(StageSharedPikaBoltGfx) ld hl, GFX_a8800 - ld de, vTiles1 tile $10 + ld de, vTilesSH tile $10 ld bc, $0180 call FarCopyData ld a, [wBallType] @@ -22341,7 +22144,7 @@ Func_1c305: ; 0x1c305 jr nc, .notPokeball ld a, Bank(PinballPokeballShakeGfx) ld hl, PinballPokeballShakeGfx - ld de, vTiles0 tile $38 + ld de, vTilesOB tile $38 ld bc, $0040 call FarCopyData ret @@ -22351,7 +22154,7 @@ Func_1c305: ; 0x1c305 jr nc, .notGreatball ld a, Bank(PinballGreatballShakeGfx) ld hl, PinballGreatballShakeGfx - ld de, vTiles0 tile $38 + ld de, vTilesOB tile $38 ld bc, $0040 call FarCopyData ret @@ -22361,7 +22164,7 @@ Func_1c305: ; 0x1c305 jr nc, .notUltraBall ld a, Bank(PinballUltraballShakeGfx) ld hl, PinballUltraballShakeGfx - ld de, vTiles0 tile $38 + ld de, vTilesOB tile $38 ld bc, $0040 call FarCopyData ret @@ -22369,20 +22172,20 @@ Func_1c305: ; 0x1c305 .notUltraBall ld a, Bank(PinballMasterballShakeGfx) ld hl, PinballMasterballShakeGfx - ld de, vTiles0 tile $38 + ld de, vTilesOB tile $38 ld bc, $0040 call FarCopyData ret Func_1c3ac: ; 0x1c3ac ld a, $80 - hlCoord 7, 4, vBGMap0 + hlCoord 7, 4, vBGMap call Func_1c3c3 - hlCoord 7, 5, vBGMap0 + hlCoord 7, 5, vBGMap call Func_1c3c3 - hlCoord 7, 6, vBGMap0 + hlCoord 7, 6, vBGMap call Func_1c3c3 - hlCoord 7, 7, vBGMap0 + hlCoord 7, 7, vBGMap ; fall through Func_1c3c3: ; 0x1c3c3 @@ -22403,7 +22206,6 @@ Func_1c3ca: ; 0x1c3ca ld [hli], a dec b jr nz, .asm_1c3cf - ld [hFarCallTempA], a callba Func_10184 ld a, [hGameBoyColorFlag] and a @@ -22428,7 +22230,7 @@ Func_1c3ee: ; 0x1c3ee jr nz, .asm_1c416 ld a, BANK(Data_dbe80) ld hl, Data_dbe80 - ld de, vTiles0 tile $60 + ld de, vTilesOB tile $60 ld bc, $00e0 call FarCopyData jr .asm_1c424 @@ -22436,7 +22238,7 @@ Func_1c3ee: ; 0x1c3ee .asm_1c416 ld a, BANK(Data_dbe80) ld hl, Data_dbe80 - ld de, vTiles0 tile $20 + ld de, vTilesOB tile $20 ld bc, $00e0 call FarCopyData .asm_1c424 @@ -22476,14 +22278,13 @@ Func_1c43c: ; 0x1c43c call Func_1f265 ld a, BANK(Data_d8f60) ld hl, Data_d8f60 - ld de, vTiles1 tile $2e + ld de, vTilesSH tile $2e ld bc, $0020 call FarCopyData ret Func_1c46d: ; 0x1c46d push af - ld [hFarCallTempA], a callba Func_10611 pop af dec a @@ -22517,7 +22318,7 @@ Func_1c491: ; 0x1c491 swap e sla e push hl - ld hl, vTiles1 tile $2e + ld hl, vTilesSH tile $2e add hl, de ld d, h ld e, l @@ -22538,7 +22339,6 @@ Func_1c4b6: ; 0x1c4b6 jr z, .asm_1c4d2 ld a, [wd498] add $15 - ld [hFarCallTempA], a callba Func_30256 ret @@ -22547,12 +22347,10 @@ Func_1c4b6: ; 0x1c4b6 and a jr z, .asm_1c4e5 ld a, $1a - ld [hFarCallTempA], a callba Func_30256 ret .asm_1c4e5 - ld [hFarCallTempA], a callba Func_30253 ret @@ -22563,7 +22361,6 @@ Func_1c4b6: ; 0x1c4b6 ld a, [wd54d] cp $3 jr nz, .asm_1c508 - ld [hFarCallTempA], a callba Func_30253 ret @@ -22575,7 +22372,6 @@ Func_1c4b6: ; 0x1c4b6 ld a, [wd55a] add $12 .asm_1c515 - ld [hFarCallTempA], a callba Func_30256 ret @@ -22815,14 +22611,11 @@ Func_1c715: ; 0x1c715 call Func_1e9c0 call Func_1c8b6 call Func_1f18a - ld [hFarCallTempA], a callba Func_146a9 call Func_1f27b call Func_1df15 - ld [hFarCallTempA], a callba Func_30188 ld a, $0 - ld [hFarCallTempA], a callba Func_10000 ret @@ -22842,23 +22635,18 @@ Func_1c769: ; 0x1c769 call Func_1e9c0 call Func_1ea0a call Func_1c8b6 - ld [hFarCallTempA], a callba Func_14733 - ld [hFarCallTempA], a callba Func_146a2 call Func_1f261 call Func_1de93 - ld [hFarCallTempA], a callba Func_30188 ld a, $0 - ld [hFarCallTempA], a callba Func_10000 ret Func_1c7c7: ; 0x1c7c7 ld a, $0 ld [wStageCollisionState], a - ld [hFarCallTempA], a callba LoadStageCollisionAttributes ret @@ -22937,12 +22725,10 @@ Func_1c839: ; 0x1c839 call PlaySoundEffect pop af add (PalletTownPic_Pointer - BillboardPicturePointers) / 3 ; map billboard pictures start at the $29th entry in BillboardPicturePointers - ld [hFarCallTempA], a callba LoadBillboardPicture ld b, $20 ; number of frames to delay before the next map is shown .waitOnCurrentMap push bc - ld [hFarCallTempA], a callba Func_eeee ld hl, wKeyConfigBallStart call IsKeyPressed @@ -22954,10 +22740,8 @@ Func_1c839: ; 0x1c839 .ballStartKeyPressed pop bc - ld [hFarCallTempA], a callba Func_30253 ld bc, Data_2cd1 - ld [hFarCallTempA], a callba Func_3118f ld a, [wCurrentMap] ld [wd4e3], a @@ -23151,10 +22935,8 @@ Func_1c9c1: ; 0x1c9c1 sub $3 ld [wd4d7], a ld a, $4 - ld [hFarCallTempA], a callba Func_10000 ld bc, FiveHundredPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier ret @@ -23212,7 +22994,6 @@ Func_1ca5f: ; 0x1ca5f ld a, b ld [wd50c], a ld a, $c - ld [hFarCallTempA], a callba Func_10000 ; fall through @@ -23276,7 +23057,6 @@ Func_1ca85: ; 0x1ca85 and a ret z ld bc, TenPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier ld hl, wd62d call Func_e4a @@ -23437,18 +23217,15 @@ Func_1cfaa: ; 0x1cfaa xor a ld [wd51f], a ld bc, FivePoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier ld a, [wStageCollisionState] cp $0 jr nz, .asm_1cfe5 ld a, $1 ld [wStageCollisionState], a - ld [hFarCallTempA], a callba LoadStageCollisionAttributes ld a, $1 ld [wd580], a - ld [hFarCallTempA], a callba Func_1404a .asm_1cfe5 ld a, [wd520] @@ -23481,7 +23258,6 @@ Func_1d010: ; 0x1d010 xor a ld [wLeftAlleyTrigger], a ld a, $1 - ld [hFarCallTempA], a callba Func_10000 ret c ld a, [wLeftAlleyCount] @@ -23510,7 +23286,6 @@ Func_1d047: ; 0x1d047 xor a ld [wRightAlleyTrigger], a ld a, $2 - ld [hFarCallTempA], a callba Func_10000 ret c ld a, [wRightAlleyCount] @@ -23637,7 +23412,6 @@ Func_1d133: ; 0x1d133 call Func_310a rst AdvanceFrame ld a, $1 - ld [hFarCallTempA], a callba PlayPikachuSoundClip ld a, $1 ld [wd85d], a @@ -23668,7 +23442,6 @@ Func_1d133: ; 0x1d133 ld a, $1 ld [wd549], a ld bc, FiveThousandPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier xor a ld [wd51c], a @@ -23746,7 +23519,6 @@ Func_1d216: ; 0x1d216 xor a ld [wd630], a ld bc, TenThousandPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier lb de, $00, $05 call PlaySoundEffect @@ -23787,7 +23559,6 @@ Func_1d216: ; 0x1d216 ld a, [wLeftAlleyCount] cp $3 jr nz, .asm_1d299 - ld [hFarCallTempA], a callba Func_10ab3 ld a, [wd643] and a @@ -23835,7 +23606,6 @@ Func_1d216: ; 0x1d216 cp $0 jr nz, .asm_1d2f8 ld a, $f - ld [hFarCallTempA], a callba Func_10000 .asm_1d2f8 xor a @@ -23860,7 +23630,6 @@ HandleEnteringCloyster: ; 0x1d32d xor a ld [wd635], a ld bc, TenThousandPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier lb de, $00, $05 call PlaySoundEffect @@ -23906,7 +23675,6 @@ HandleEnteringCloyster: ; 0x1d32d xor a .asm_1d3a1 ld [wRareMonsFlag], a - ld [hFarCallTempA], a callba StartCatchEmMode .noCatchEmMode ld hl, wd63b @@ -23946,7 +23714,6 @@ HandleEnteringCloyster: ; 0x1d32d lb de, $00, $06 call PlaySoundEffect ld a, $e - ld [hFarCallTempA], a callba Func_10000 xor a ld [wd64c], a @@ -23987,7 +23754,6 @@ Func_1d438: ; 0x1d438 ld a, $3c ld [wd647], a ld a, $9 - ld [hFarCallTempA], a callba Func_10000 ld a, [wd610] cp $3 @@ -24015,7 +23781,6 @@ Func_1d438: ; 0x1d438 ld a, $1e ld [wd647], a ld a, $a - ld [hFarCallTempA], a callba Func_10000 ld a, [wd611] cp $3 @@ -24052,7 +23817,6 @@ Func_1d438: ; 0x1d438 ld [wd613], a asm_1d4fa: ; 0x1d4fa ld bc, TenPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier ld a, [wd60c] call Func_1d5f2 @@ -24355,7 +24119,6 @@ Func_1dbd2: ; 0x1dbd2 ld a, [wLeftMapMoveCounter] cp $3 ld a, $7 - ld [hFarCallTempA], a callba Func_10000 ld a, $2 ld [wd646], a @@ -24392,7 +24155,6 @@ Func_1dbd2: ; 0x1dbd2 ld a, [wRightMapMoveCounter] cp $3 ld a, $8 - ld [hFarCallTempA], a callba Func_10000 ld a, [wRightMapMoveCounter] cp $3 @@ -24602,7 +24364,6 @@ Func_1ddc7: ; 0x1ddc7 .asm_1dde4 xor a ld [wd55a], a - ld [hFarCallTempA], a callba StartMapMoveMode scf ret @@ -24622,7 +24383,6 @@ Func_1ddf4: ; 0x1ddf4 .asm_1de11 ld a, $1 ld [wd55a], a - ld [hFarCallTempA], a callba StartMapMoveMode scf ret @@ -24638,7 +24398,6 @@ Func_1de22: ; 0x1de22 ld a, $2 ld [wd7eb], a ld bc, FiveHundredPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier lb de, $00, $0f call PlaySoundEffect @@ -24853,11 +24612,9 @@ Func_1e356: ; 0x1e356 jr nz, .asm_1e386 ld a, $1 ld [wStageCollisionState], a - ld [hFarCallTempA], a callba LoadStageCollisionAttributes ld a, $1 ld [wd580], a - ld [hFarCallTempA], a callba Func_1404a .asm_1e386 ld a, [wStageCollisionState] @@ -24871,7 +24628,6 @@ Func_1e356: ; 0x1e356 ld [wLeftAlleyTrigger], a ld [wSecondaryLeftAlleyTrigger], a ld a, $b - ld [hFarCallTempA], a callba Func_10000 ld a, [wd5f8] sub $13 @@ -24886,7 +24642,6 @@ Func_1e356: ; 0x1e356 ld [hl], $0 .asm_1e3bf ld bc, OneHundredPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier ld hl, wd5f9 ld a, [hli] @@ -24909,7 +24664,6 @@ Func_1e356: ; 0x1e356 ld a, $e ld [wBallTypeCounter + 1], a ld bc, FourHundredPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier ld a, [wBallType] cp MASTER_BALL @@ -24936,7 +24690,6 @@ Func_1e356: ; 0x1e356 lb de, $0f, $4d call PlaySoundEffect ld bc, OneMillionPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueue ld bc, $0100 ld de, $0000 @@ -24953,7 +24706,6 @@ Func_1e356: ; 0x1e356 ld de, FieldMultiplierSpecialBonusText call LoadTextHeader .asm_1e465 - ld [hFarCallTempA], a callba Func_155a7 jr asm_1e475 @@ -25142,7 +24894,6 @@ HandleBallTypeUpgradeCounterBlueField: ; 0x1e58c ld a, $e ld [wBallTypeCounter + 1], a .pokeball - ld [hFarCallTempA], a callba Func_155a7 ret @@ -25166,7 +24917,6 @@ Func_1e5c5: ; 0x1e5c5 and a ret nz ld bc, OneHundredPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier ld hl, wd50f ld a, [hli] @@ -25181,7 +24931,6 @@ Func_1e5c5: ; 0x1e5c5 ld a, $80 ld [wd514], a ld bc, FourHundredPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier lb de, $00, $09 call PlaySoundEffect @@ -25373,14 +25122,12 @@ Func_1e757: ; 0x1e757 jr nz, .asm_1e7b2 lb de, $00, $21 call PlaySoundEffect - ld [hFarCallTempA], a callba LoadMiniBallGfx ret .asm_1e7b2 cp $f jr nz, .asm_1e7c1 - ld [hFarCallTempA], a callba Func_dd62 ret @@ -25408,14 +25155,12 @@ Func_1e757: ; 0x1e757 ld [wd803], a ld a, $8 ld [wd804], a - ld [hFarCallTempA], a callba LoadMiniBallGfx ret .asm_1e7f5 cp $3 jr nz, .asm_1e80e - ld [hFarCallTempA], a callba LoadBallGfx ld a, $2 ld [wBallYVelocity + 1], a @@ -25433,7 +25178,6 @@ Func_1e757: ; 0x1e757 call GenRandom and $8 ld [wRareMonsFlag], a - ld [hFarCallTempA], a callba StartCatchEmMode xor a ld [wd622], a @@ -25443,7 +25187,6 @@ Func_1e830: ; 0x1e830 xor a ld [wIndicatorStates + 4], a ld a, $d - ld [hFarCallTempA], a callba Func_10000 jr nc, .asm_1e84b ld a, $1 @@ -25488,7 +25231,6 @@ Func_1e830: ; 0x1e830 ret .asm_1e891 - ld [hFarCallTempA], a callba Func_ed8e xor a ld [wd608], a @@ -25501,7 +25243,6 @@ Func_1e830: ; 0x1e830 ld a, [wd622] cp $2 ret nz - ld [hFarCallTempA], a callba Func_10ab3 xor a ld [wd622], a @@ -26414,13 +26155,11 @@ Func_1f2ff: ; 0x1f2ff Func_1f330: ; 0x1f330 ld bc, $7f00 - ld [hFarCallTempA], a callba Func_175a4 call Func_1f395 call Func_1f3e1 call Func_1f408 call Func_1f428 - ld [hFarCallTempA], a callba Func_17e81 call Func_1f48f call Func_1f4f8 @@ -26428,15 +26167,11 @@ Func_1f330: ; 0x1f330 Func_1f35a: ; 0x1f35a ld bc, $7f00 - ld [hFarCallTempA], a callba Func_175a4 - ld [hFarCallTempA], a callba Func_17c67 call Func_1f58b call Func_1f448 - ld [hFarCallTempA], a callba Func_e4a1 - ld [hFarCallTempA], a callba Func_17e81 call Func_1f4a3 call Func_1f509 @@ -26800,7 +26535,6 @@ Func_20041: ; 0x20041 ret Func_2005f: ; 0x2005f - ld [hFarCallTempA], a callba Func_10648 scf ret @@ -26811,9 +26545,7 @@ Func_2006b: ; 0x2006b jr z, .asm_20098 call Func_1130 jr nz, .asm_200a1 - ld [hFarCallTempA], a callba Func_10414 - ld [hFarCallTempA], a callba Func_10362 ld a, [hGameBoyColorFlag] and a @@ -26837,11 +26569,8 @@ Func_200a3: ; 0x200a3 call Func_1130 jr nz, .asm_200d1 .asm_200af - ld [hFarCallTempA], a callba Func_10678 - ld [hFarCallTempA], a callba Func_10732 - ld [hFarCallTempA], a callba Func_10464 ld hl, wd54d inc [hl] @@ -26884,7 +26613,6 @@ Func_200d3: ; 0x200d3 ld [wNumMonHits], a .asm_20116 ld bc, ThreeHundredThousandPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueue ld bc, $0030 ld de, $0000 @@ -26901,7 +26629,6 @@ Func_200d3: ; 0x200d3 ld de, Data_2a21 call Func_3357 ld a, [wNumMonHits] - ld [hFarCallTempA], a callba Func_10611 ld c, $2 jr .asm_2018a @@ -26952,19 +26679,15 @@ Func_20193: ; 0x20193 ret .asm_2019e - ld [hFarCallTempA], a callba Func_10496 ld hl, wd54d inc [hl] - ld [hFarCallTempA], a callba Func_106b6 - ld [hFarCallTempA], a callba AddCaughtPokemonToParty scf ret CapturePokemonRedStage: ; 0x201c2 - ld [hFarCallTempA], a callba CapturePokemon scf ret @@ -26974,9 +26697,7 @@ Func_201ce: ; 0x201ce and a ret nz call Fillwc600WithBlackTile - ld [hFarCallTempA], a - callba Func_dc00 - ld [hFarCallTempA], a + callba RestoreBallSaverAfterCatchEmMode callba Func_10157 ld de, $0001 call PlaySong @@ -26984,7 +26705,6 @@ Func_201ce: ; 0x201ce ret Func_201f2: ; 0x201f2 - ld [hFarCallTempA], a callba Func_107f8 ld a, [wd57e] and a @@ -26997,12 +26717,9 @@ Func_201f2: ; 0x201f2 ld a, [wCurrentCatchEmMon] cp MEW - 1 jr nz, .asm_2021b - ld [hFarCallTempA], a callba SetPokemonOwnedFlag .asm_2021b - ld [hFarCallTempA], a callba Func_86d2 - ld [hFarCallTempA], a callba Func_106a6 ret @@ -27038,10 +26755,8 @@ Func_20230: ; 0x20230 xor a ld [wIndicatorStates + 9], a .asm_20264 - ld [hFarCallTempA], a callba Func_10184 ld bc, OneHundredThousandPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueue ld bc, $0010 ld de, $0000 @@ -27123,7 +26838,6 @@ Func_20302: ; 0x20302 ret Func_20320: ; 0x20320 - ld [hFarCallTempA], a callba Func_10648 scf ret @@ -27134,9 +26848,7 @@ Func_2032c: ; 0x2032c jr z, .asm_20333 call Func_1130 jr nz, .asm_20362 - ld [hFarCallTempA], a callba Func_10414 - ld [hFarCallTempA], a callba Func_10362 ld a, [hGameBoyColorFlag] and a @@ -27160,11 +26872,8 @@ Func_20364: ; 0x20364 call Func_1130 jr nz, .asm_20392 .asm_20370 - ld [hFarCallTempA], a callba Func_10678 - ld [hFarCallTempA], a callba Func_10732 - ld [hFarCallTempA], a callba Func_10464 ld hl, wd54d inc [hl] @@ -27207,7 +26916,6 @@ Func_20394: ; 0x20394 ld [wNumMonHits], a .asm_203d7 ld bc, ThreeHundredThousandPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueue ld bc, $0030 ld de, $0000 @@ -27224,7 +26932,6 @@ Func_20394: ; 0x20394 ld de, Data_2a21 call Func_3357 ld a, [wNumMonHits] - ld [hFarCallTempA], a callba Func_10611 ld c, $2 jr .asm_2044b @@ -27275,19 +26982,15 @@ Func_20454: ; 0x20454 ret .asm_2045f - ld [hFarCallTempA], a callba Func_10496 ld hl, wd54d inc [hl] - ld [hFarCallTempA], a callba Func_106b6 - ld [hFarCallTempA], a callba AddCaughtPokemonToParty scf ret CapturePokemonBlueStage: ; 0x20483 - ld [hFarCallTempA], a callba CapturePokemon scf ret @@ -27297,9 +27000,7 @@ Func_2048f: ; 0x2048f and a ret nz call Fillwc600WithBlackTile - ld [hFarCallTempA], a - callba Func_dc00 - ld [hFarCallTempA], a + callba RestoreBallSaverAfterCatchEmMode callba Func_10157 ld de, $0001 call PlaySong @@ -27307,7 +27008,6 @@ Func_2048f: ; 0x2048f ret Func_204b3: ; 0x204b3 - ld [hFarCallTempA], a callba Func_107f8 ld a, [wd57e] and a @@ -27320,12 +27020,9 @@ Func_204b3: ; 0x204b3 ld a, [wCurrentCatchEmMon] cp MEW - 1 jr nz, .notMew - ld [hFarCallTempA], a callba SetPokemonOwnedFlag .notMew - ld [hFarCallTempA], a callba Func_86d2 - ld [hFarCallTempA], a callba Func_106a6 ret @@ -27361,10 +27058,8 @@ Func_204f1: ; 0x204f1 xor a ld [wIndicatorStates + 9], a .asm_20525 - ld [hFarCallTempA], a callba Func_10184 ld bc, OneHundredThousandPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueue ld bc, $0010 ld de, $0000 @@ -27479,7 +27174,6 @@ Func_205e0: ; 0x205e0 ld hl, Func_14135 call nz, BankSwitch ld bc, OneMillionPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueue call Fillwc600WithBlackTile call Func_30db @@ -27516,7 +27210,7 @@ Func_20651: ; 0x20651 swap c sla c push hl - ld hl, vTiles1 tile $2e + ld hl, vTilesSH tile $2e add hl, bc ld d, h ld e, l @@ -27569,7 +27263,7 @@ Func_20651: ; 0x20651 ret z ld a, BANK(StageSharedBonusSlotGlowGfx) ld hl, StageSharedBonusSlotGlowGfx + $60 - ld de, vTiles0 tile $20 + ld de, vTilesOB tile $20 ld bc, $00e0 call LoadVRAMData ld a, [hGameBoyColorFlag] @@ -27581,22 +27275,17 @@ Func_20651: ; 0x20651 ld bc, $0008 call Func_7dc .asm_20700 - ld [hFarCallTempA], a callba Func_16425 ret Func_2070b: ; 0x2070b - ld [hFarCallTempA], a - callba Func_dc00 - ld [hFarCallTempA], a + callba RestoreBallSaverAfterCatchEmMode callba Func_10ca5 - ld [hFarCallTempA], a callba Func_10ac8 ld de, $0001 call PlaySong ld hl, wd629 call Func_e4a - ld [hFarCallTempA], a callba SetPokemonOwnedFlag ld a, [wd624] cp $3 @@ -27617,9 +27306,7 @@ Func_20757: ; 0x20757 and a ret nz call Fillwc600WithBlackTile - ld [hFarCallTempA], a - callba Func_dc00 - ld [hFarCallTempA], a + callba RestoreBallSaverAfterCatchEmMode callba Func_10ac8 ld de, $0001 call PlaySong @@ -27641,7 +27328,6 @@ Func_2077b: ; 0x2077b jr nz, .asm_2078e call Func_20a55 .asm_2078e - ld [hFarCallTempA], a callba Func_107f8 ld a, [wd57e] and a @@ -27671,12 +27357,9 @@ Func_2077b: ; 0x2077b ld a, [wCurrentStage] bit 0, a jr z, .asm_207f5 - ld [hFarCallTempA], a callba Func_14135 - ld [hFarCallTempA], a callba Func_16425 .asm_207f5 - ld [hFarCallTempA], a callba Func_86d2 call Fillwc600WithBlackTile call Func_30db @@ -27926,7 +27609,6 @@ Func_20977: ; 0x20977 call Func_7dc .asm_209bf ld bc, ThreeHundredThousandPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueue call Fillwc600WithBlackTile call Func_30db @@ -27973,7 +27655,6 @@ Func_209eb: ; 0x209eb ld a, $2 ld [wd557], a ld bc, ThreeHundredThousandPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueue call Fillwc600WithBlackTile call Func_30db @@ -28009,7 +27690,6 @@ Func_20a65: ; 0x20a65 and a jr z, .asm_20a80 ld bc, TenThousandPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueue jr asm_20a9f @@ -28025,7 +27705,6 @@ Func_20a82: ; 0x20a82 and a jr z, .asm_20a9d ld bc, TenThousandPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueue jr asm_20a9f @@ -28110,7 +27789,7 @@ Func_20b02: ; 0x20b02 call ReadByteFromBank ld h, b ld l, c - ld de, vTiles1 tile $10 + ld de, vTilesSH tile $10 ld bc, $0180 call LoadOrCopyVRAMData pop bc @@ -28130,7 +27809,7 @@ Func_20b02: ; 0x20b02 ld d, a ld a, Bank(MonBillboardPaletteMapPointers) call ReadByteFromBank - hlCoord 7, 4, vBGMap0 + hlCoord 7, 4, vBGMap call Func_86f pop bc ld hl, MonBillboardPalettePointers @@ -28149,7 +27828,6 @@ Func_20b02: ; 0x20b02 ld hl, rBGPI call Func_8e1 .asm_20b80 - ld [hFarCallTempA], a callba Func_10e0a call Func_3475 ld de, $0000 @@ -28157,7 +27835,6 @@ Func_20b02: ; 0x20b02 rst AdvanceFrame lb de, $2d, $26 call PlaySoundEffect - ld [hFarCallTempA], a callba Func_10825 call Func_3475 ld a, $1 @@ -28238,7 +27915,6 @@ Func_20c08: ; 0x20c08 ld hl, Func_1c2cb call nz, BankSwitch ld bc, OneMillionPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueue call Fillwc600WithBlackTile call Func_30db @@ -28275,7 +27951,7 @@ Func_20c76: ; 0x20c76 swap c sla c push hl - ld hl, vTiles1 tile $2e + ld hl, vTilesSH tile $2e add hl, bc ld d, h ld e, l @@ -28328,7 +28004,7 @@ Func_20c76: ; 0x20c76 ret z ld a, BANK(StageSharedBonusSlotGlowGfx) ld hl, StageSharedBonusSlotGlowGfx + $60 - ld de, vTiles0 tile $20 + ld de, vTilesOB tile $20 ld bc, $00e0 call LoadVRAMData ld a, [hGameBoyColorFlag] @@ -28340,22 +28016,17 @@ Func_20c76: ; 0x20c76 ld bc, $0008 call Func_7dc .asm_20d25 - ld [hFarCallTempA], a callba Func_1e8f6 ret Func_20d30: ; 0x20d30 - ld [hFarCallTempA], a - callba Func_dc00 - ld [hFarCallTempA], a + callba RestoreBallSaverAfterCatchEmMode callba Func_10ca5 - ld [hFarCallTempA], a callba Func_10ac8 ld de, $0001 call PlaySong ld hl, wd629 call Func_e4a - ld [hFarCallTempA], a callba SetPokemonOwnedFlag ld a, [wd624] cp $3 @@ -28376,9 +28047,7 @@ Func_20d7c: ; 0x20d7c and a ret nz call Fillwc600WithBlackTile - ld [hFarCallTempA], a - callba Func_dc00 - ld [hFarCallTempA], a + callba RestoreBallSaverAfterCatchEmMode callba Func_10ac8 ld de, $0001 call PlaySong @@ -28400,7 +28069,6 @@ Func_20da0: ; 0x20da0 jr nz, .asm_20db3 call Func_21079 .asm_20db3 - ld [hFarCallTempA], a callba Func_107f8 ld a, [wd57e] and a @@ -28430,12 +28098,9 @@ Func_20da0: ; 0x20da0 ld a, [wCurrentStage] bit 0, a jr z, .asm_20e1a - ld [hFarCallTempA], a callba Func_1c2cb - ld [hFarCallTempA], a callba Func_1e8f6 .asm_20e1a - ld [hFarCallTempA], a callba Func_86d2 call Fillwc600WithBlackTile call Func_30db @@ -28665,7 +28330,6 @@ Func_20f75: ; 0x20f75 call Func_7dc .asm_20fc3 ld bc, ThreeHundredThousandPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueue call Fillwc600WithBlackTile call Func_30db @@ -28713,7 +28377,6 @@ Func_20fef: ; 0x20fef ld a, $2 ld [wd557], a ld bc, ThreeHundredThousandPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueue call Fillwc600WithBlackTile call Func_30db @@ -28736,7 +28399,6 @@ Func_2105c: ; 0x2105c and a jr z, .asm_21077 ld bc, TenThousandPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueue jr asm_210c7 @@ -28785,7 +28447,6 @@ Func_21089: ; 0x21089 and a jr z, .asm_210c5 ld bc, TenThousandPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueue jr asm_210c7 @@ -28870,7 +28531,7 @@ Func_2112a: ; 0x2112a call ReadByteFromBank ld h, b ld l, c - ld de, vTiles1 tile $10 + ld de, vTilesSH tile $10 ld bc, $0180 call LoadOrCopyVRAMData pop bc @@ -28890,7 +28551,7 @@ Func_2112a: ; 0x2112a ld d, a ld a, Bank(MonBillboardPaletteMapPointers) call ReadByteFromBank - hlCoord 7, 4, vBGMap0 + hlCoord 7, 4, vBGMap call Func_86f pop bc ld hl, MonBillboardPalettePointers @@ -28909,7 +28570,6 @@ Func_2112a: ; 0x2112a ld hl, rBGPI call Func_8e1 .asm_211a8 - ld [hFarCallTempA], a callba Func_10e0a call Func_3475 ld de, $0000 @@ -28917,7 +28577,6 @@ Func_2112a: ; 0x2112a rst AdvanceFrame lb de, $2d, $26 call PlaySoundEffect - ld [hFarCallTempA], a callba Func_10825 call Func_3475 ld a, $1 @@ -28955,7 +28614,6 @@ InitMeowthBonusStage: ; 0x24000 ld [wd713], a ld [wd739], a ld bc, $0100 ; 1 minute 0 seconds - ld [hFarCallTempA], a callba StartTimer ld a, $12 call SetSongBank @@ -29050,13 +28708,10 @@ StartBallMeowthBonusStage: ; 0x24059 ret Func_24128: ; 0x24128 - ld [hFarCallTempA], a callba Func_142fc call Func_2862 - ld [hFarCallTempA], a callba Func_24fa3 call Func_24516 - ld [hFarCallTempA], a callba Func_1404a ret @@ -29553,7 +29208,6 @@ Func_2442a: ; 0x2442a ld a, [wd712] cp $4 jr z, .asm_244c1 - ld [hFarCallTempA], a callba Func_107f8 .asm_244c1 ld a, [wd57e] @@ -29564,7 +29218,6 @@ Func_2442a: ; 0x2442a ld a, $1 ld [wd7be], a call Func_2862 - ld [hFarCallTempA], a callba Func_86d2 ld a, $1 ld [wd713], a @@ -29587,7 +29240,6 @@ Func_244f5: ; 0x244f5 ld a, $1 ld [wStageCollisionState], a ld [wd6e6], a - ld [hFarCallTempA], a callba LoadStageCollisionAttributes call Func_24516 ret @@ -29649,7 +29301,6 @@ Func_245ab: ; 0x245ab lb de, $00, $33 call PlaySoundEffect ld bc, OneThousandPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier xor a ld [wMeowthStageBonusCounter], a @@ -30825,7 +30476,6 @@ Func_24e7f: ; 0x24e7f .asm_24ea6 push af ld bc, OneHundredThousandPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier ld hl, wMeowthStageScore inc [hl] @@ -30986,15 +30636,12 @@ Data_25421: Func_2583b: ; 0x2583b ld bc, $7f65 - ld [hFarCallTempA], a callba Func_175a4 - ld [hFarCallTempA], a callba Func_e4a1 call Func_259fe call Func_25895 call Func_2595e call Func_2586c - ld [hFarCallTempA], a callba Func_17e81 call Func_25a39 ret @@ -31308,7 +30955,6 @@ InitSeelBonusStage: ; 0x25a7c ld [wd792], a ld [wd739], a ld bc, $0130 ; 1 minute 30 seconds - ld [hFarCallTempA], a callba StartTimer ld a, $11 call SetSongBank @@ -31401,13 +31047,10 @@ StartBallSeelBonusStage: ; 0x25af1 ret Func_25b97: ; 0x25b97 - ld [hFarCallTempA], a callba Func_142fc call Func_2862 - ld [hFarCallTempA], a callba Func_262f4 call Func_25d0e - ld [hFarCallTempA], a callba Func_1404a ret @@ -31542,7 +31185,6 @@ Func_25c5a: ; 0x25c5a ld a, [wd794] cp $2 jr z, .asm_25cc1 - ld [hFarCallTempA], a callba Func_107f8 .asm_25cc1 ld a, [wd57e] @@ -31553,7 +31195,6 @@ Func_25c5a: ; 0x25c5a ld a, $1 ld [wd7be], a call Func_2862 - ld [hFarCallTempA], a callba Func_86d2 ld a, $3 ld [wd791], a @@ -31574,7 +31215,6 @@ Func_25ced: ; 0x25ced ld a, $1 ld [wStageCollisionState], a ld [wd766], a - ld [hFarCallTempA], a callba LoadStageCollisionAttributes call Func_25d0e ret @@ -31734,7 +31374,6 @@ Func_25e85: ; 0x25e85 cp $32 jr nc, .asm_25ead ld bc, OneHundredThousandPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier pop de dec d @@ -31742,7 +31381,6 @@ Func_25e85: ; 0x25e85 .asm_25ead ld bc, FiveMillionPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueueWithBallMultiplier pop de ld a, d @@ -32358,12 +31996,9 @@ Data_26764: Func_26b7e: ; 0x26b7e ld bc, $7f65 - ld [hFarCallTempA], a callba Func_175a4 call Func_26bf7 - ld [hFarCallTempA], a callba Func_e4a1 - ld [hFarCallTempA], a callba Func_17e81 call Func_26ba9 call Func_26c3c @@ -32565,13 +32200,13 @@ PointerTable_280a2: ; 0x280a2 Data_280a6: ; 0x280a6 dab Data_ad800 - dw vTiles0 + dw vTilesOB dw $6000 dab Data_c5000 dw $9800 dw $1000 dab Data_c4800 - dw vBGMap1 + dw vBGWin dw $800 dab Data_c4800 dw $9e00 @@ -32580,7 +32215,7 @@ Data_280a6: ; 0x280a6 Data_280c4: ; 0x280c4 dab Data_ad800 - dw vTiles0 + dw vTilesOB dw $6000 dab Data_c5000 dw $9800 @@ -32589,13 +32224,13 @@ Data_280c4: ; 0x280c4 dw $9800 dw $1002 dab Data_c4800 - dw vBGMap1 + dw vBGWin dw $800 dab Data_c4800 dw $9e00 dw $800 dab Data_c4c00 - dw vBGMap1 + dw vBGWin dw $802 dab Data_c4c00 dw $9e00 @@ -32891,14 +32526,14 @@ Func_282e9: ; 0x282e9 jr z, .asm_28367 ld a, BANK(Data_c4800) ld hl, Data_c4800 - ld de, vBGMap1 + ld de, vBGWin ld bc, $0200 call LoadVRAMData ld a, $1 ld [rVBK], a ld a, BANK(Data_c4c00) ld hl, Data_c4c00 - ld de, vBGMap1 + ld de, vBGWin ld bc, $0200 call LoadVRAMData xor a @@ -33221,7 +32856,7 @@ Func_285db: ; 0x285db ld bc, $8c38 ld a, $64 call LoadOAMData - ld bc, vTiles1 tile $04 + ld bc, vTilesSH tile $04 ld a, $65 call LoadOAMData ld bc, $8888 @@ -33597,7 +33232,7 @@ Func_2885c: ; 0x2885c Func_2887c: ; 0x2887c ld a, BANK(Data_c5120) ld hl, Data_c5120 - deCoord 0, 8, vBGMap0 + deCoord 0, 8, vBGMap ld bc, $0100 call LoadVRAMData ld a, $3f @@ -33636,7 +33271,7 @@ Func_288a2: ; 0x288a2 ld [hNextLYCSub], a ld a, BANK(Data_c5100) ld hl, Data_c5100 - deCoord 0, 8, vBGMap0 + deCoord 0, 8, vBGMap ld bc, $0020 call LoadVRAMData ret @@ -33671,7 +33306,7 @@ Func_288c6: ; 0x288c6 ld [wd860], a ld [wd861], a ld bc, $906c - ld de, vTiles1 tile $10 + ld de, vTilesSH tile $10 call Func_28d97 rl a ld [wd956], a @@ -33683,7 +33318,7 @@ Func_288c6: ; 0x288c6 Func_28912: ; 0x28912 ld bc, $906c - ld de, vTiles1 tile $10 + ld de, vTilesSH tile $10 ld a, [wd957] ld l, a ld a, [wd958] @@ -33729,7 +33364,7 @@ Func_28931: ; 0x28931 xor a ld [wd861], a ld bc, $500a - ld de, vTiles2 tile $50 + ld de, vTilesBG tile $50 call Func_28e09 ret @@ -33833,7 +33468,7 @@ Func_289c8: ; 0x289c8 ld a, $4 ld [wd861], a ld bc, $5816 - ld de, vTiles2 tile $5a + ld de, vTilesBG tile $5a call Func_28e09 ret @@ -33862,7 +33497,7 @@ Func_28a15: ; 0x28a15 ld a, $0 ld [wd865], a push de - hlCoord 4, 2, vBGMap0 + hlCoord 4, 2, vBGMap call Func_28d71 pop de inc de @@ -33879,7 +33514,7 @@ Func_28a15: ; 0x28a15 ld de, Data_28a7f .asm_28a54 push de - hlCoord 8, 6, vBGMap0 + hlCoord 8, 6, vBGMap call Func_28d71 pop de inc de @@ -33888,7 +33523,7 @@ Func_28a15: ; 0x28a15 inc de inc de push de - hlCoord 14, 6, vBGMap0 + hlCoord 14, 6, vBGMap call Func_28d71 pop de inc de @@ -33896,7 +33531,7 @@ Func_28a15: ; 0x28a15 inc de inc de inc de - hlCoord 16, 7, vBGMap0 + hlCoord 16, 7, vBGMap ld a, [rLCDC] bit 7, a jr nz, .asm_28a7a @@ -34013,7 +33648,7 @@ Func_28add: ; 0x28add call ReadByteFromBank ld h, b ld l, c - ld de, vTiles2 tile $00 + ld de, vTilesBG tile $00 ld bc, $0180 call LoadOrCopyVRAMData call Func_28cd4 @@ -34034,7 +33669,7 @@ Func_28add: ; 0x28add ld d, a ld a, Bank(MonBillboardPaletteMapPointers) call ReadByteFromBank - hlCoord 1, 3, vBGMap0 + hlCoord 1, 3, vBGMap call Func_86f pop bc ld hl, MonBillboardPalettePointers @@ -34057,7 +33692,7 @@ Func_28add: ; 0x28add Func_28b76: ; 0x28b76 ld a, BANK(Data_71500) ld hl, Data_71500 - ld de, vTiles2 tile $00 + ld de, vTilesBG tile $00 ld bc, $0180 call LoadOrCopyVRAMData call Func_28cd4 @@ -34066,7 +33701,7 @@ Func_28b76: ; 0x28b76 ret z ld a, BANK(Data_28b97) ld de, Data_28b97 - hlCoord 1, 3, vBGMap0 + hlCoord 1, 3, vBGMap call Func_86f ret @@ -34098,7 +33733,7 @@ Func_28baf: ; 0x28baf call ReadByteFromBank ld hl, $0180 add hl, bc - ld de, vTiles2 tile $00 + ld de, vTilesBG tile $00 ld bc, $0180 call LoadOrCopyVRAMData call Func_28cd4 @@ -34107,7 +33742,7 @@ Func_28baf: ; 0x28baf ret z ld a, BANK(Data_28b97) ld de, Data_28b97 - hlCoord 1, 3, vBGMap0 + hlCoord 1, 3, vBGMap call Func_86f ret @@ -34139,7 +33774,7 @@ Func_28bf5: ; 0x28bf5 call ReadByteFromBank ld h, b ld l, c - ld de, vTiles0 + ld de, vTilesOB ld bc, $0300 call LoadOrCopyVRAMData xor a @@ -34301,7 +33936,7 @@ Func_28cf8: ; 0x28cf8 db $fe asm_28d1d - hlCoord 1, 3, vBGMap0 + hlCoord 1, 3, vBGMap ld b, $4 .asm_28d22 ld c, $6 @@ -36687,7 +36322,7 @@ InitRedField: ; 0x30000 and a ret nz xor a - ld hl, wd46f + ld hl, wScore + $5 ld [hld], a ld [hld], a ld [hld], a @@ -36724,9 +36359,7 @@ InitRedField: ; 0x30000 ld [wIndicatorStates + 3], a ld a, $82 ld [wIndicatorStates + 1], a - ld [hFarCallTempA], a - callba Func_dbba - ld [hFarCallTempA], a + callba Start20SecondSaverTimer callba Func_16f95 ld a, $f call SetSongBank @@ -36798,7 +36431,6 @@ StartBallRedField: ; 0x3007d ld [wd4f1], a ld a, $3 ld [wd610], a - ld [hFarCallTempA], a callba Func_16f95 ld a, $f call SetSongBank @@ -36843,7 +36475,6 @@ Func_30164: ; 0x30164 .asm_30175 ld bc, TenMillionPoints - ld [hFarCallTempA], a callba AddBigBCD6FromQueue ld a, $2 ld [wd4ca], a @@ -36911,7 +36542,6 @@ StartMapMoveMode: ; 0x301ec xor a ld [wd54d], a ld bc, $0030 ; 30 seconds - ld [hFarCallTempA], a callba StartTimer ld a, [wCurrentStage] bit 0, a @@ -36941,7 +36571,6 @@ Func_3022b: ; 0x3022b xor a ld [wInSpecialMode], a ld [wSpecialMode], a - ld [hFarCallTempA], a callba Func_86d2 ld a, [wCurrentStage] rst JumpTable ; calls JumpToFuncInTable @@ -37201,10 +36830,8 @@ Func_311b4: ; 0x311b4 .asm_311e2 ld a, $2 - ld [hFarCallTempA], a callba Func_149d9 ld a, $5 - ld [hFarCallTempA], a callba Func_149d9 ld a, $6a ld [wc7f0], a @@ -37214,7 +36841,6 @@ Func_311b4: ; 0x311b4 ld [wc7e3], a ld a, $67 ld [wc803], a - ld [hFarCallTempA], a callba Func_107b0 ld a, $4 ld [wd7ad], a @@ -37223,27 +36849,19 @@ Func_311b4: ; 0x311b4 ld a, [wCurrentStage] bit 0, a ret z - ld [hFarCallTempA], a callba Func_14135 ret Func_31234: ; 0x31234 - ld [hFarCallTempA], a callba Func_107a5 - ld [hFarCallTempA], a callba Func_107c2 - ld [hFarCallTempA], a callba Func_107c8 - ld [hFarCallTempA], a callba Func_107e9 ld a, [wCurrentStage] bit 0, a ret z - ld [hFarCallTempA], a callba Func_14135 - ld [hFarCallTempA], a callba Func_16425 - ld [hFarCallTempA], a callba Func_30253 ret @@ -37359,7 +36977,6 @@ Func_31326: ; 0x31326 ld [wIndicatorStates + 3], a ld [wIndicatorStates + 4], a ld a, $3 - ld [hFarCallTempA], a callba Func_1de4b jr .asm_31382 @@ -37372,13 +36989,10 @@ Func_31326: ; 0x31326 ld [wIndicatorStates + 2], a ld [wIndicatorStates + 4], a ld a, $1 - ld [hFarCallTempA], a callba Func_1de4b ld a, $6 - ld [hFarCallTempA], a callba Func_1de4b ld a, $7 - ld [hFarCallTempA], a callba Func_1de6f .asm_31382 ld a, [wCurrentStage] @@ -37395,34 +37009,26 @@ Func_31326: ; 0x31326 .asm_3139d ld a, $1 ld [wd644], a - ld [hFarCallTempA], a callba Func_1f2ed ld de, $0003 call PlaySong ld a, [wCurrentStage] bit 0, a ret z - ld [hFarCallTempA], a callba Func_1c2cb ret Func_313c3: ; 0x313c3 - ld [hFarCallTempA], a callba Func_107a5 - ld [hFarCallTempA], a callba Func_107c2 - ld [hFarCallTempA], a callba Func_1f2ff ld a, $0 ld [wd644], a ld a, [wCurrentStage] bit 0, a ret z - ld [hFarCallTempA], a callba Func_1c2cb - ld [hFarCallTempA], a callba Func_1e8f6 - ld [hFarCallTempA], a callba Func_30253 ret @@ -37560,7 +37166,6 @@ Func_314f1: ; 0x314f1 ret Func_314f3: ; 0x314f3 - ld [hFarCallTempA], a callba Func_3022b ld de, $0001 call PlaySong @@ -37572,7 +37177,6 @@ Func_31505: ; 0x31505 and a ret nz call Fillwc600WithBlackTile - ld [hFarCallTempA], a callba Func_3022b ld de, $0001 call PlaySong @@ -37583,7 +37187,6 @@ Func_3151f: ; 0x3151f ld a, $50 ld [wd4ef], a ld [wd4f1], a - ld [hFarCallTempA], a callba Func_107f8 ld a, [wd57e] and a @@ -37602,14 +37205,10 @@ Func_3151f: ; 0x3151f ld a, [wCurrentStage] bit 0, a jr z, .asm_31577 - ld [hFarCallTempA], a callba Func_14135 - ld [hFarCallTempA], a callba Func_16425 - ld [hFarCallTempA], a callba Func_30253 .asm_31577 - ld [hFarCallTempA], a callba Func_86d2 call Fillwc600WithBlackTile call Func_30db @@ -37660,17 +37259,13 @@ Func_315d5: ; 0x315d5 ld de, $0000 call PlaySong rst AdvanceFrame - ld [hFarCallTempA], a callba Func_31281 - ld [hFarCallTempA], a callba Func_30253 lb de, $25, $25 call PlaySoundEffect ld bc, Data_2cbf - ld [hFarCallTempA], a callba Func_3118f .asm_31603 - ld [hFarCallTempA], a callba Func_33e3 rst AdvanceFrame ld a, [wd5ca] @@ -37721,7 +37316,6 @@ Func_3165e: ; 0x3165e ret Func_31660: ; 0x31660 - ld [hFarCallTempA], a callba Func_3022b ld de, $0001 call PlaySong @@ -37733,7 +37327,6 @@ Func_31672: ; 0x31672 and a ret nz call Fillwc600WithBlackTile - ld [hFarCallTempA], a callba Func_3022b ld de, $0001 call PlaySong @@ -37748,7 +37341,6 @@ Func_3168c: ; 0x3168c ld [wd645], a ld a, $1 ld [wd646], a - ld [hFarCallTempA], a callba Func_107f8 ld a, [wd57e] and a @@ -37767,14 +37359,10 @@ Func_3168c: ; 0x3168c ld a, [wCurrentStage] bit 0, a jr z, .asm_316ee - ld [hFarCallTempA], a callba Func_1c2cb - ld [hFarCallTempA], a callba Func_1e8f6 - ld [hFarCallTempA], a callba Func_30253 .asm_316ee - ld [hFarCallTempA], a callba Func_86d2 call Fillwc600WithBlackTile call Func_30db @@ -37825,17 +37413,13 @@ Func_3174c: ; 0x3174c ld de, $0000 call PlaySong rst AdvanceFrame - ld [hFarCallTempA], a callba Func_3140b - ld [hFarCallTempA], a callba Func_30253 lb de, $25, $25 call PlaySoundEffect ld bc, Data_2cbf - ld [hFarCallTempA], a callba Func_3118f .asm_3177a - ld [hFarCallTempA], a callba Func_33e3 rst AdvanceFrame ld a, [wd5ca] diff --git a/vram.asm b/vram.asm index 23a4415..3bf8abf 100755 --- a/vram.asm +++ b/vram.asm @@ -1,5 +1,5 @@ -vTiles0 EQU $8000 -vTiles1 EQU $8800 -vTiles2 EQU $9000 -vBGMap0 EQU $9800 -vBGMap1 EQU $9c00 +vTilesOB EQU $8000 +vTilesSH EQU $8800 +vTilesBG EQU $9000 +vBGMap EQU $9800 +vBGWin EQU $9c00 diff --git a/wram.asm b/wram.asm index a4e650b..a0c922c 100755 --- a/wram.asm +++ b/wram.asm @@ -134,10 +134,7 @@ wd464:: ; 0xd464 ds $6 wScore:: ; 0xd46a - ds $5 - -wd46f:: ; 0xd46f - ds $1 + ds $6 wd470:: ; 0xd470 ds $1 @@ -149,10 +146,7 @@ wd472:: ; 0xd472 ds $1 wd473:: ; 0xd473 - ds $3 - -wd476:: ; 0xd476 - ds $1 + ds $4 wAddScoreQueueOffset:: ; 0xd477 ds $1 @@ -241,7 +235,7 @@ wBallSaverTimerFrames:: ; 0xd4a3 wBallSaverTimerSeconds:: ; 0xd4a4 ds $1 -wd4a5:: ; 0xd4a5 +wNumTimesBallSavedTextWillDisplay:: ; 0xd4a5 ds $1 wBallSaverTimerFramesBackup:: ; 0xd4a6 -- cgit v1.2.3