RGBDS syntax updates (#358)

New MACRO and DEF syntax
This commit is contained in:
vulcandth 2022-06-06 16:25:31 -05:00 committed by GitHub
parent d7808d110f
commit 6b5be9129c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
101 changed files with 958 additions and 958 deletions

View file

@ -13,7 +13,7 @@
const A_ ; 9
const A# ; A
const B_ ; B
NUM_NOTES EQU const_value
DEF NUM_NOTES EQU const_value
; channel
; Audio[1|2|3]_HWChannelBaseAddresses, Audio[1|2|3]_HWChannelDisableMasks,
@ -23,31 +23,31 @@ NUM_NOTES EQU const_value
const Ch2 ; 1
const Ch3 ; 2
const Ch4 ; 3
NUM_MUSIC_CHANS EQU const_value
DEF NUM_MUSIC_CHANS EQU const_value
const Ch5 ; 4
const Ch6 ; 5
const Ch7 ; 6
const Ch8 ; 7
NUM_NOISE_CHANS EQU const_value - NUM_MUSIC_CHANS
NUM_CHANNELS EQU const_value
DEF NUM_NOISE_CHANS EQU const_value - NUM_MUSIC_CHANS
DEF NUM_CHANNELS EQU const_value
; HW sound channel register base addresses
HW_CH1_BASE EQU LOW(rNR10)
HW_CH2_BASE EQU LOW(rNR21) - 1
HW_CH3_BASE EQU LOW(rNR30)
HW_CH4_BASE EQU LOW(rNR41) - 1
DEF HW_CH1_BASE EQU LOW(rNR10)
DEF HW_CH2_BASE EQU LOW(rNR21) - 1
DEF HW_CH3_BASE EQU LOW(rNR30)
DEF HW_CH4_BASE EQU LOW(rNR41) - 1
; HW sound channel enable bit masks
HW_CH1_ENABLE_MASK EQU %00010001
HW_CH2_ENABLE_MASK EQU %00100010
HW_CH3_ENABLE_MASK EQU %01000100
HW_CH4_ENABLE_MASK EQU %10001000
DEF HW_CH1_ENABLE_MASK EQU %00010001
DEF HW_CH2_ENABLE_MASK EQU %00100010
DEF HW_CH3_ENABLE_MASK EQU %01000100
DEF HW_CH4_ENABLE_MASK EQU %10001000
; HW sound channel disable bit masks
HW_CH1_DISABLE_MASK EQU (~HW_CH1_ENABLE_MASK & $ff)
HW_CH2_DISABLE_MASK EQU (~HW_CH2_ENABLE_MASK & $ff)
HW_CH3_DISABLE_MASK EQU (~HW_CH3_ENABLE_MASK & $ff)
HW_CH4_DISABLE_MASK EQU (~HW_CH4_ENABLE_MASK & $ff)
DEF HW_CH1_DISABLE_MASK EQU (~HW_CH1_ENABLE_MASK & $ff)
DEF HW_CH2_DISABLE_MASK EQU (~HW_CH2_ENABLE_MASK & $ff)
DEF HW_CH3_DISABLE_MASK EQU (~HW_CH3_ENABLE_MASK & $ff)
DEF HW_CH4_DISABLE_MASK EQU (~HW_CH4_ENABLE_MASK & $ff)
const_def 1
const REG_DUTY_SOUND_LEN ; 1
@ -65,4 +65,4 @@ HW_CH4_DISABLE_MASK EQU (~HW_CH4_ENABLE_MASK & $ff)
const BIT_ROTATE_DUTY_CYCLE ; 6 ; if rotating duty cycle
; wChannelFlags2 constant (only has one flag)
BIT_EXECUTE_MUSIC EQU 0 ; if in execute music
DEF BIT_EXECUTE_MUSIC EQU 0 ; if in execute music

View file

@ -1,6 +1,6 @@
MAX_LEVEL EQU 100
DEF MAX_LEVEL EQU 100
NUM_MOVES EQU 4
DEF NUM_MOVES EQU 4
; VitaminStats indexes (see data/battle/stat_names.asm)
const_def
@ -9,7 +9,7 @@ NUM_MOVES EQU 4
const STAT_DEFENSE
const STAT_SPEED
const STAT_SPECIAL
NUM_STATS EQU const_value
DEF NUM_STATS EQU const_value
; StatModTextStrings indexes (see data/battle/stat_mod_names.asm)
const_def
@ -20,20 +20,20 @@ NUM_STATS EQU const_value
const MOD_ACCURACY
const MOD_EVASION
const_skip 2
NUM_STAT_MODS EQU const_value
DEF NUM_STAT_MODS EQU const_value
; Moves struct fields (see data/moves/moves.asm)
rsreset
MOVE_ANIM rb
MOVE_EFFECT rb
MOVE_POWER rb
MOVE_TYPE rb
MOVE_ACC rb
MOVE_PP rb
MOVE_LENGTH EQU _RS
DEF MOVE_ANIM rb
DEF MOVE_EFFECT rb
DEF MOVE_POWER rb
DEF MOVE_TYPE rb
DEF MOVE_ACC rb
DEF MOVE_PP rb
DEF MOVE_LENGTH EQU _RS
; D733 flags
BIT_TEST_BATTLE EQU 0
DEF BIT_TEST_BATTLE EQU 0
; battle type constants (wBattleType values)
const_def
@ -42,33 +42,33 @@ BIT_TEST_BATTLE EQU 0
const BATTLE_TYPE_SAFARI ; 2
; damage limits before type effectiveness
MIN_NEUTRAL_DAMAGE EQU 2
MAX_NEUTRAL_DAMAGE EQU 999
DEF MIN_NEUTRAL_DAMAGE EQU 2
DEF MAX_NEUTRAL_DAMAGE EQU 999
; fixed damage constants
SONICBOOM_DAMAGE EQU 20
DRAGON_RAGE_DAMAGE EQU 40
DEF SONICBOOM_DAMAGE EQU 20
DEF DRAGON_RAGE_DAMAGE EQU 40
; type effectiveness factors, scaled by 10
SUPER_EFFECTIVE EQU 20
MORE_EFFECTIVE EQU 15
EFFECTIVE EQU 10
NOT_VERY_EFFECTIVE EQU 05
NO_EFFECT EQU 00
DEF SUPER_EFFECTIVE EQU 20
DEF MORE_EFFECTIVE EQU 15
DEF EFFECTIVE EQU 10
DEF NOT_VERY_EFFECTIVE EQU 05
DEF NO_EFFECT EQU 00
; non-volatile statuses
SLP EQU %111 ; sleep counter
DEF SLP EQU %111 ; sleep counter
const_def 3
const PSN ; 3
const BRN ; 4
const FRZ ; 5
const PAR ; 6
MAX_STAT_VALUE EQU 999
DEF MAX_STAT_VALUE EQU 999
; trainer dvs
ATKDEFDV_TRAINER EQU $98
SPDSPCDV_TRAINER EQU $88
DEF ATKDEFDV_TRAINER EQU $98
DEF SPDSPCDV_TRAINER EQU $88
; wPlayerBattleStatus1 or wEnemyBattleStatus1 bit flags
const_def

View file

@ -64,7 +64,7 @@
const CRED_FUKUI ; $3D
const CRED_CLUB ; $3E
const CRED_PAAD ; $3F
NUM_CRED_STRINGS EQU const_value
DEF NUM_CRED_STRINGS EQU const_value
const_def -1, -1
const CRED_TEXT_FADE_MON ; $FF

View file

@ -772,4 +772,4 @@
; End of events
const_next $A00
NUM_EVENTS EQU const_value
DEF NUM_EVENTS EQU const_value

View file

@ -1,33 +1,33 @@
TILE_WIDTH EQU 8 ; pixels
LEN_1BPP_TILE EQU 1 * TILE_WIDTH ; bytes
LEN_2BPP_TILE EQU 2 * TILE_WIDTH ; bytes
DEF TILE_WIDTH EQU 8 ; pixels
DEF LEN_1BPP_TILE EQU 1 * TILE_WIDTH ; bytes
DEF LEN_2BPP_TILE EQU 2 * TILE_WIDTH ; bytes
SCREEN_WIDTH EQU 20
SCREEN_HEIGHT EQU 18
SCREEN_WIDTH_PX EQU SCREEN_WIDTH * TILE_WIDTH ; pixels
SCREEN_HEIGHT_PX EQU SCREEN_HEIGHT * TILE_WIDTH ; pixels
DEF SCREEN_WIDTH EQU 20
DEF SCREEN_HEIGHT EQU 18
DEF SCREEN_WIDTH_PX EQU SCREEN_WIDTH * TILE_WIDTH ; pixels
DEF SCREEN_HEIGHT_PX EQU SCREEN_HEIGHT * TILE_WIDTH ; pixels
BG_MAP_WIDTH EQU 32 ; tiles
BG_MAP_HEIGHT EQU 32 ; tiles
DEF BG_MAP_WIDTH EQU 32 ; tiles
DEF BG_MAP_HEIGHT EQU 32 ; tiles
SPRITEBUFFERSIZE EQU 7 * 7 * LEN_1BPP_TILE
DEF SPRITEBUFFERSIZE EQU 7 * 7 * LEN_1BPP_TILE
; HP bar
HP_BAR_GREEN EQU 0
HP_BAR_YELLOW EQU 1
HP_BAR_RED EQU 2
DEF HP_BAR_GREEN EQU 0
DEF HP_BAR_YELLOW EQU 1
DEF HP_BAR_RED EQU 2
; wOAMBuffer
NUM_SPRITE_OAM_STRUCTS EQU 40
DEF NUM_SPRITE_OAM_STRUCTS EQU 40
; hAutoBGTransferEnabled
TRANSFERTOP EQU 0
TRANSFERMIDDLE EQU 1
TRANSFERBOTTOM EQU 2
DEF TRANSFERTOP EQU 0
DEF TRANSFERMIDDLE EQU 1
DEF TRANSFERBOTTOM EQU 2
; hRedrawRowOrColumnMode
REDRAW_COL EQU 1
REDRAW_ROW EQU 2
DEF REDRAW_COL EQU 1
DEF REDRAW_ROW EQU 2
; tile list ids
; TileIDListPointerTable indexes (see data/tilemaps.asm)
@ -40,4 +40,4 @@ REDRAW_ROW EQU 2
const TILEMAP_GENGAR_INTRO_3
const TILEMAP_GAME_BOY
const TILEMAP_LINK_CABLE
NUM_TILEMAPS EQU const_value
DEF NUM_TILEMAPS EQU const_value

View file

@ -1,130 +1,130 @@
; From http://nocash.emubase.de/pandocs.htm.
GBC EQU $11
DEF GBC EQU $11
; memory map
VRAM_Begin EQU $8000
VRAM_End EQU $a000
SRAM_Begin EQU $a000
SRAM_End EQU $c000
WRAM0_Begin EQU $c000
WRAM0_End EQU $d000
WRAM1_Begin EQU $d000
WRAM1_End EQU $e000
DEF VRAM_Begin EQU $8000
DEF VRAM_End EQU $a000
DEF SRAM_Begin EQU $a000
DEF SRAM_End EQU $c000
DEF WRAM0_Begin EQU $c000
DEF WRAM0_End EQU $d000
DEF WRAM1_Begin EQU $d000
DEF WRAM1_End EQU $e000
; hardware registers $ff00-$ff80 (see below)
HRAM_Begin EQU $ff80
HRAM_End EQU $ffff
DEF HRAM_Begin EQU $ff80
DEF HRAM_End EQU $ffff
; MBC1
MBC1SRamEnable EQU $0000
MBC1RomBank EQU $2000
MBC1SRamBank EQU $4000
MBC1SRamBankingMode EQU $6000
DEF MBC1SRamEnable EQU $0000
DEF MBC1RomBank EQU $2000
DEF MBC1SRamBank EQU $4000
DEF MBC1SRamBankingMode EQU $6000
SRAM_DISABLE EQU $00
SRAM_ENABLE EQU $0a
DEF SRAM_DISABLE EQU $00
DEF SRAM_ENABLE EQU $0a
NUM_SRAM_BANKS EQU 4
DEF NUM_SRAM_BANKS EQU 4
; interrupt flags
VBLANK EQU 0
LCD_STAT EQU 1
TIMER EQU 2
SERIAL EQU 3
JOYPAD EQU 4
DEF VBLANK EQU 0
DEF LCD_STAT EQU 1
DEF TIMER EQU 2
DEF SERIAL EQU 3
DEF JOYPAD EQU 4
LY_VBLANK EQU 145
DEF LY_VBLANK EQU 145
; serial
START_TRANSFER_EXTERNAL_CLOCK EQU $80
START_TRANSFER_INTERNAL_CLOCK EQU $81
DEF START_TRANSFER_EXTERNAL_CLOCK EQU $80
DEF START_TRANSFER_INTERNAL_CLOCK EQU $81
; 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)
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)
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; Initial (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)
rLCDC_ENABLE EQU 7
rLCDC_ENABLE_MASK EQU 1 << rLCDC_ENABLE
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)
rKEY1 EQU $ff4d ; CGB Mode Only - Prepare Speed Switch
rVBK EQU $ff4f ; CGB Mode Only - VRAM Bank
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)
DEF rJOYP EQU $ff00 ; Joypad (R/W)
DEF rSB EQU $ff01 ; Serial transfer data (R/W)
DEF rSC EQU $ff02 ; Serial Transfer Control (R/W)
DEF rSC_ON EQU 7
DEF rSC_CGB EQU 1
DEF rSC_CLOCK EQU 0
DEF rDIV EQU $ff04 ; Divider Register (R/W)
DEF rTIMA EQU $ff05 ; Timer counter (R/W)
DEF rTMA EQU $ff06 ; Timer Modulo (R/W)
DEF rTAC EQU $ff07 ; Timer Control (R/W)
DEF rTAC_ON EQU 2
DEF rTAC_4096_HZ EQU 0
DEF rTAC_262144_HZ EQU 1
DEF rTAC_65536_HZ EQU 2
DEF rTAC_16384_HZ EQU 3
DEF rIF EQU $ff0f ; Interrupt Flag (R/W)
DEF rNR10 EQU $ff10 ; Channel 1 Sweep register (R/W)
DEF rNR11 EQU $ff11 ; Channel 1 Sound length/Wave pattern duty (R/W)
DEF rNR12 EQU $ff12 ; Channel 1 Volume Envelope (R/W)
DEF rNR13 EQU $ff13 ; Channel 1 Frequency lo (Write Only)
DEF rNR14 EQU $ff14 ; Channel 1 Frequency hi (R/W)
DEF rNR21 EQU $ff16 ; Channel 2 Sound Length/Wave Pattern Duty (R/W)
DEF rNR22 EQU $ff17 ; Channel 2 Volume Envelope (R/W)
DEF rNR23 EQU $ff18 ; Channel 2 Frequency lo data (W)
DEF rNR24 EQU $ff19 ; Channel 2 Frequency hi data (R/W)
DEF rNR30 EQU $ff1a ; Channel 3 Sound on/off (R/W)
DEF rNR31 EQU $ff1b ; Channel 3 Sound Length
DEF rNR32 EQU $ff1c ; Channel 3 Select output level (R/W)
DEF rNR33 EQU $ff1d ; Channel 3 Frequency's lower data (W)
DEF rNR34 EQU $ff1e ; Channel 3 Frequency's higher data (R/W)
DEF rNR41 EQU $ff20 ; Channel 4 Sound Length (R/W)
DEF rNR42 EQU $ff21 ; Channel 4 Volume Envelope (R/W)
DEF rNR43 EQU $ff22 ; Channel 4 Polynomial Counter (R/W)
DEF rNR44 EQU $ff23 ; Channel 4 Counter/consecutive; Initial (R/W)
DEF rNR50 EQU $ff24 ; Channel control / ON-OFF / Volume (R/W)
DEF rNR51 EQU $ff25 ; Selection of Sound output terminal (R/W)
DEF rNR52 EQU $ff26 ; Sound on/off
DEF rWave_0 EQU $ff30
DEF rWave_1 EQU $ff31
DEF rWave_2 EQU $ff32
DEF rWave_3 EQU $ff33
DEF rWave_4 EQU $ff34
DEF rWave_5 EQU $ff35
DEF rWave_6 EQU $ff36
DEF rWave_7 EQU $ff37
DEF rWave_8 EQU $ff38
DEF rWave_9 EQU $ff39
DEF rWave_a EQU $ff3a
DEF rWave_b EQU $ff3b
DEF rWave_c EQU $ff3c
DEF rWave_d EQU $ff3d
DEF rWave_e EQU $ff3e
DEF rWave_f EQU $ff3f
DEF rLCDC EQU $ff40 ; LCD Control (R/W)
DEF rLCDC_ENABLE EQU 7
DEF rLCDC_ENABLE_MASK EQU 1 << rLCDC_ENABLE
DEF rSTAT EQU $ff41 ; LCDC Status (R/W)
DEF rSCY EQU $ff42 ; Scroll Y (R/W)
DEF rSCX EQU $ff43 ; Scroll X (R/W)
DEF rLY EQU $ff44 ; LCDC Y-Coordinate (R)
DEF rLYC EQU $ff45 ; LY Compare (R/W)
DEF rDMA EQU $ff46 ; DMA Transfer and Start Address (W)
DEF rBGP EQU $ff47 ; BG Palette Data (R/W) - Non CGB Mode Only
DEF rOBP0 EQU $ff48 ; Object Palette 0 Data (R/W) - Non CGB Mode Only
DEF rOBP1 EQU $ff49 ; Object Palette 1 Data (R/W) - Non CGB Mode Only
DEF rWY EQU $ff4a ; Window Y Position (R/W)
DEF rWX EQU $ff4b ; Window X Position minus 7 (R/W)
DEF rKEY1 EQU $ff4d ; CGB Mode Only - Prepare Speed Switch
DEF rVBK EQU $ff4f ; CGB Mode Only - VRAM Bank
DEF rHDMA1 EQU $ff51 ; CGB Mode Only - New DMA Source, High
DEF rHDMA2 EQU $ff52 ; CGB Mode Only - New DMA Source, Low
DEF rHDMA3 EQU $ff53 ; CGB Mode Only - New DMA Destination, High
DEF rHDMA4 EQU $ff54 ; CGB Mode Only - New DMA Destination, Low
DEF rHDMA5 EQU $ff55 ; CGB Mode Only - New DMA Length/Mode/Start
DEF rRP EQU $ff56 ; CGB Mode Only - Infrared Communications Port
DEF rBGPI EQU $ff68 ; CGB Mode Only - Background Palette Index
DEF rBGPD EQU $ff69 ; CGB Mode Only - Background Palette Data
DEF rOBPI EQU $ff6a ; CGB Mode Only - Sprite Palette Index
DEF rOBPD EQU $ff6b ; CGB Mode Only - Sprite Palette Data
DEF rUNKNOWN1 EQU $ff6c ; (FEh) Bit 0 (Read/Write) - CGB Mode Only
DEF rSVBK EQU $ff70 ; CGB Mode Only - WRAM Bank
DEF rUNKNOWN2 EQU $ff72 ; (00h) - Bit 0-7 (Read/Write)
DEF rUNKNOWN3 EQU $ff73 ; (00h) - Bit 0-7 (Read/Write)
DEF rUNKNOWN4 EQU $ff74 ; (00h) - Bit 0-7 (Read/Write) - CGB Mode Only
DEF rUNKNOWN5 EQU $ff75 ; (8Fh) - Bit 4-6 (Read/Write)
DEF rUNKNOWN6 EQU $ff76 ; (00h) - Always 00h (Read Only)
DEF rUNKNOWN7 EQU $ff77 ; (00h) - Always 00h (Read Only)
DEF rIE EQU $ffff ; Interrupt Enable (R/W)

View file

@ -1,5 +1,5 @@
HIDE EQU $11
SHOW EQU $15
DEF HIDE EQU $11
DEF SHOW EQU $15
; MissableObjects indexes (see data/maps/hide_show_data.asm)
; this is a list of the sprites that can be enabled/disabled during the game
@ -237,4 +237,4 @@ SHOW EQU $15
const HS_SEAFOAM_ISLANDS_B4F_BOULDER_1 ; E1
const HS_SEAFOAM_ISLANDS_B4F_BOULDER_2 ; E2
const HS_ARTICUNO ; E3 X
NUM_HS_OBJECTS EQU const_value
DEF NUM_HS_OBJECTS EQU const_value

View file

@ -12,6 +12,6 @@
const ICON_SNAKE ; $8
const ICON_QUADRUPED ; $9
ICON_TRADEBUBBLE EQU $e
DEF ICON_TRADEBUBBLE EQU $e
ICONOFFSET EQU $40 ; difference between alternating icon frames' tile IDs
DEF ICONOFFSET EQU $40 ; difference between alternating icon frames' tile IDs

View file

@ -9,12 +9,12 @@
const BIT_D_UP
const BIT_D_DOWN
NO_INPUT EQU 0
A_BUTTON EQU 1 << BIT_A_BUTTON
B_BUTTON EQU 1 << BIT_B_BUTTON
SELECT EQU 1 << BIT_SELECT
START EQU 1 << BIT_START
D_RIGHT EQU 1 << BIT_D_RIGHT
D_LEFT EQU 1 << BIT_D_LEFT
D_UP EQU 1 << BIT_D_UP
D_DOWN EQU 1 << BIT_D_DOWN
DEF NO_INPUT EQU 0
DEF A_BUTTON EQU 1 << BIT_A_BUTTON
DEF B_BUTTON EQU 1 << BIT_B_BUTTON
DEF SELECT EQU 1 << BIT_SELECT
DEF START EQU 1 << BIT_START
DEF D_RIGHT EQU 1 << BIT_D_RIGHT
DEF D_LEFT EQU 1 << BIT_D_LEFT
DEF D_UP EQU 1 << BIT_D_UP
DEF D_DOWN EQU 1 << BIT_D_DOWN

View file

@ -29,8 +29,8 @@
const POTION ; $14
const BOULDERBADGE ; $15
const CASCADEBADGE ; $16
SAFARI_BAIT EQU $15 ; overload
SAFARI_ROCK EQU $16 ; overload
DEF SAFARI_BAIT EQU $15 ; overload
DEF SAFARI_ROCK EQU $16 ; overload
const THUNDERBADGE ; $17
const RAINBOWBADGE ; $18
const SOULBADGE ; $19
@ -92,7 +92,7 @@ SAFARI_ROCK EQU $16 ; overload
const MAX_ETHER ; $51
const ELIXER ; $52
const MAX_ELIXER ; $53
NUM_ITEMS EQU const_value - 1
DEF NUM_ITEMS EQU const_value - 1
; elevator floors use item IDs
const FLOOR_B2F ; $54
@ -109,54 +109,54 @@ NUM_ITEMS EQU const_value - 1
const FLOOR_10F ; $5F
const FLOOR_11F ; $60
const FLOOR_B4F ; $61
NUM_FLOORS EQU const_value - 1 - NUM_ITEMS
DEF NUM_FLOORS EQU const_value - 1 - NUM_ITEMS
const_next $C4
; HMs are defined before TMs, so the actual number of TM definitions
; is not yet available. The TM quantity is hard-coded here and must
; match the actual number below.
NUM_TMS EQU 50
DEF NUM_TMS EQU 50
__tmhm_value__ = NUM_TMS + 1
DEF __tmhm_value__ = NUM_TMS + 1
add_tmnum: MACRO
\1_TMNUM EQU __tmhm_value__
__tmhm_value__ += 1
MACRO add_tmnum
DEF \1_TMNUM EQU __tmhm_value__
DEF __tmhm_value__ += 1
ENDM
add_hm: MACRO
MACRO add_hm
; Defines three constants:
; - HM_\1: the item id, starting at $C4
; - \1_TMNUM: the learnable TM/HM flag, starting at 51
; - HM##_MOVE: alias for the move id, equal to the value of \1
const HM_\1
HM_VALUE = __tmhm_value__ - NUM_TMS
HM{02d:HM_VALUE}_MOVE EQU \1
DEF HM_VALUE = __tmhm_value__ - NUM_TMS
DEF HM{02d:HM_VALUE}_MOVE EQU \1
add_tmnum \1
ENDM
HM01 EQU const_value
DEF HM01 EQU const_value
add_hm CUT ; $C4
add_hm FLY ; $C5
add_hm SURF ; $C6
add_hm STRENGTH ; $C7
add_hm FLASH ; $C8
NUM_HMS EQU const_value - HM01
DEF NUM_HMS EQU const_value - HM01
__tmhm_value__ = 1
DEF __tmhm_value__ = 1
add_tm: MACRO
MACRO add_tm
; Defines three constants:
; - TM_\1: the item id, starting at $C9
; - \1_TMNUM: the learnable TM/HM flag, starting at 1
; - TM##_MOVE: alias for the move id, equal to the value of \1
const TM_\1
TM{02d:__tmhm_value__}_MOVE EQU \1
DEF TM{02d:__tmhm_value__}_MOVE EQU \1
add_tmnum \1
ENDM
TM01 EQU const_value
DEF TM01 EQU const_value
add_tm MEGA_PUNCH ; $C9
add_tm RAZOR_WIND ; $CA
add_tm SWORDS_DANCE ; $CB
@ -209,9 +209,9 @@ TM01 EQU const_value
add_tm SUBSTITUTE ; $FA
ASSERT NUM_TMS == const_value - TM01, "NUM_TMS ({d:NUM_TMS}) does not match the number of add_tm definitions"
NUM_TM_HM EQU NUM_TMS + NUM_HMS
DEF NUM_TM_HM EQU NUM_TMS + NUM_HMS
; 50 TMs + 5 HMs = 55 learnable TM/HM flags per Pokémon.
; These fit in 7 bytes, with one unused bit left over.
__tmhm_value__ = NUM_TM_HM + 1
UNUSED_TMNUM EQU __tmhm_value__
DEF __tmhm_value__ = NUM_TM_HM + 1
DEF UNUSED_TMNUM EQU __tmhm_value__

View file

@ -1,7 +1,7 @@
mapconst: MACRO
MACRO mapconst
const \1
\1_HEIGHT EQU \2
\1_WIDTH EQU \3
DEF \1_HEIGHT EQU \2
DEF \1_WIDTH EQU \3
ENDM
; map ids
@ -26,9 +26,9 @@ ENDM
mapconst CINNABAR_ISLAND, 9, 10 ; $08
mapconst INDIGO_PLATEAU, 9, 10 ; $09
mapconst SAFFRON_CITY, 18, 20 ; $0A
NUM_CITY_MAPS EQU const_value
DEF NUM_CITY_MAPS EQU const_value
mapconst UNUSED_MAP_0B, 0, 0 ; $0B
FIRST_ROUTE_MAP EQU const_value
DEF FIRST_ROUTE_MAP EQU const_value
mapconst ROUTE_1, 18, 10 ; $0C
mapconst ROUTE_2, 36, 10 ; $0D
mapconst ROUTE_3, 9, 35 ; $0E
@ -54,7 +54,7 @@ FIRST_ROUTE_MAP EQU const_value
mapconst ROUTE_23, 72, 10 ; $22
mapconst ROUTE_24, 18, 10 ; $23
mapconst ROUTE_25, 9, 30 ; $24
FIRST_INDOOR_MAP EQU const_value
DEF FIRST_INDOOR_MAP EQU const_value
mapconst REDS_HOUSE_1F, 4, 4 ; $25
mapconst REDS_HOUSE_2F, 4, 4 ; $26
mapconst BLUES_HOUSE, 4, 4 ; $27
@ -266,8 +266,8 @@ FIRST_INDOOR_MAP EQU const_value
mapconst LORELEIS_ROOM, 6, 5 ; $F5
mapconst BRUNOS_ROOM, 6, 5 ; $F6
mapconst AGATHAS_ROOM, 6, 5 ; $F7
NUM_MAPS EQU const_value
DEF NUM_MAPS EQU const_value
; Indoor maps, such as houses, use this as the Map ID in their exit warps
; This map ID takes the player back to the last outdoor map they were on, stored in wLastMap
LAST_MAP EQU -1
DEF LAST_MAP EQU -1

View file

@ -1,6 +1,6 @@
; width of east/west connections
; height of north/south connections
MAP_BORDER EQU 3
DEF MAP_BORDER EQU 3
; connection directions
const_def

View file

@ -16,7 +16,7 @@
const SPRITESTATEDATA1_0D ; d
const SPRITESTATEDATA1_0E ; e
const SPRITESTATEDATA1_0F ; f
SPRITESTATEDATA1_LENGTH EQU const_value
DEF SPRITESTATEDATA1_LENGTH EQU const_value
; spritestatedata2 struct members (see macros/wram.asm)
const_def
@ -36,24 +36,24 @@ SPRITESTATEDATA1_LENGTH EQU const_value
const SPRITESTATEDATA2_PICTUREID ; d
const SPRITESTATEDATA2_IMAGEBASEOFFSET ; e
const SPRITESTATEDATA2_0F ; f
SPRITESTATEDATA2_LENGTH EQU const_value
DEF SPRITESTATEDATA2_LENGTH EQU const_value
NUM_SPRITESTATEDATA_STRUCTS EQU 16
DEF NUM_SPRITESTATEDATA_STRUCTS EQU 16
; different kinds of people events
ITEM EQU $80
TRAINER EQU $40
DEF ITEM EQU $80
DEF TRAINER EQU $40
WALK EQU $FE
STAY EQU $FF
DEF WALK EQU $FE
DEF STAY EQU $FF
ANY_DIR EQU $00
UP_DOWN EQU $01
LEFT_RIGHT EQU $02
DOWN EQU $D0
UP EQU $D1
LEFT EQU $D2
RIGHT EQU $D3
NONE EQU $FF
DEF ANY_DIR EQU $00
DEF UP_DOWN EQU $01
DEF LEFT_RIGHT EQU $02
DEF DOWN EQU $D0
DEF UP EQU $D1
DEF LEFT EQU $D2
DEF RIGHT EQU $D3
DEF NONE EQU $FF
BOULDER_MOVEMENT_BYTE_2 EQU $10
DEF BOULDER_MOVEMENT_BYTE_2 EQU $10

View file

@ -1,5 +1,5 @@
BAG_ITEM_CAPACITY EQU 20
PC_ITEM_CAPACITY EQU 50
DEF BAG_ITEM_CAPACITY EQU 20
DEF PC_ITEM_CAPACITY EQU 50
; text box IDs
const_def 1
@ -42,15 +42,15 @@ PC_ITEM_CAPACITY EQU 50
const TRADE_CANCEL_MENU ; 5
const HEAL_CANCEL_MENU ; 6
const NO_YES_MENU ; 7
NUM_TWO_OPTION_MENUS EQU const_value
DEF NUM_TWO_OPTION_MENUS EQU const_value
; menu exit method constants for list menus and the buy/sell/quit menu
CHOSE_MENU_ITEM EQU 1 ; pressed A
CANCELLED_MENU EQU 2 ; pressed B
DEF CHOSE_MENU_ITEM EQU 1 ; pressed A
DEF CANCELLED_MENU EQU 2 ; pressed B
; menu exit method constants for two-option menus
CHOSE_FIRST_ITEM EQU 1
CHOSE_SECOND_ITEM EQU 2
DEF CHOSE_FIRST_ITEM EQU 1
DEF CHOSE_SECOND_ITEM EQU 2
; move mon constants
const_def
@ -71,7 +71,7 @@ CHOSE_SECOND_ITEM EQU 2
; party menu message IDs
; PartyMenuItemUseMessagePointers indexes (see engine/menus/party_menu.asm)
const_next $F0
FIRST_PARTY_MENU_TEXT_ID EQU const_value
DEF FIRST_PARTY_MENU_TEXT_ID EQU const_value
const ANTIDOTE_MSG ; $F0
const BURN_HEAL_MSG ; $F1
const ICE_HEAL_MSG ; $F2

View file

@ -1,6 +1,6 @@
; Boolean checks
FALSE EQU 0
TRUE EQU 1
DEF FALSE EQU 0
DEF TRUE EQU 1
; flag operations
const_def
@ -9,9 +9,9 @@ TRUE EQU 1
const FLAG_TEST ; 2
; wOptions
TEXT_DELAY_FAST EQU %001 ; 1
TEXT_DELAY_MEDIUM EQU %011 ; 3
TEXT_DELAY_SLOW EQU %101 ; 5
DEF TEXT_DELAY_FAST EQU %001 ; 1
DEF TEXT_DELAY_MEDIUM EQU %011 ; 3
DEF TEXT_DELAY_SLOW EQU %101 ; 5
const_def 6
const BIT_BATTLE_SHIFT ; 6

View file

@ -1,7 +1,7 @@
; special effects that are part of move animations
; SpecialEffectPointers associates them with effect routines (see data/battle_anims/special_effect_pointers.asm)
const_def $C0
FIRST_SE_ID EQU const_value
DEF FIRST_SE_ID EQU const_value
const_skip $18
const SE_WAVY_SCREEN ; $D8 used in Psywave/Night Shade/Psychic etc.
const SE_SUBSTITUTE_MON ; $D9 used in Substitute (turns the pokemon into a mini sprite)
@ -132,7 +132,7 @@ FIRST_SE_ID EQU const_value
const SUBANIM_53
const SUBANIM_54
const SUBANIM_55
NUM_SUBANIMS EQU const_value
DEF NUM_SUBANIMS EQU const_value
; types of subanimations
const_def
@ -268,7 +268,7 @@ NUM_SUBANIMS EQU const_value
const FRAMEBLOCK_77
const FRAMEBLOCK_78
const FRAMEBLOCK_79
NUM_FRAMEBLOCKS EQU const_value
DEF NUM_FRAMEBLOCKS EQU const_value
; base coordinates that are part of subanimations
; FrameBlockBaseCoords indexes (see data/battle_anims/base_coords.asm)
@ -450,7 +450,7 @@ NUM_FRAMEBLOCKS EQU const_value
const BASECOORD_AE
const BASECOORD_AF
const BASECOORD_B0
NUM_BASECOORDS EQU const_value
DEF NUM_BASECOORDS EQU const_value
; frame block modes that are part of subanimations
const_def

View file

@ -171,7 +171,7 @@
const SLASH ; a3
const SUBSTITUTE ; a4
const STRUGGLE ; a5
NUM_ATTACKS EQU const_value - 1
DEF NUM_ATTACKS EQU const_value - 1
; Moves do double duty as animation identifiers.
@ -213,4 +213,4 @@ NUM_ATTACKS EQU const_value - 1
const ROCK_ANIM ; throw rock
const BAIT_ANIM ; throw bait
NUM_ATTACK_ANIMS EQU const_value - 1
DEF NUM_ATTACK_ANIMS EQU const_value - 1

View file

@ -91,4 +91,4 @@
const LEECH_SEED_EFFECT ; $54
const SPLASH_EFFECT ; $55
const DISABLE_EFFECT ; $56
NUM_MOVE_EFFECTS EQU const_value - 1
DEF NUM_MOVE_EFFECTS EQU const_value - 1

View file

@ -1,8 +1,8 @@
; Song ids are calculated by address to save space.
; SFX_Headers_(1|2|3) indexes (see audio/headers/*.asm)
music_const: MACRO
\1 EQUS "((\2 - SFX_Headers_1) / 3)"
MACRO music_const
DEF \1 EQUS "((\2 - SFX_Headers_1) / 3)"
ENDM
; AUDIO_1
@ -57,7 +57,7 @@ ENDM
music_const MUSIC_MEET_MALE_TRAINER, Music_MeetMaleTrainer
; AUDIO_1 AUDIO_2 AUDIO_3
NOISE_INSTRUMENTS_START EQUS "SFX_NOISE_INSTRUMENT01"
DEF NOISE_INSTRUMENTS_START EQUS "SFX_NOISE_INSTRUMENT01"
music_const SFX_NOISE_INSTRUMENT01, SFX_Noise_Instrument01_1
music_const SFX_NOISE_INSTRUMENT02, SFX_Noise_Instrument02_1
music_const SFX_NOISE_INSTRUMENT03, SFX_Noise_Instrument03_1
@ -77,9 +77,9 @@ NOISE_INSTRUMENTS_START EQUS "SFX_NOISE_INSTRUMENT01"
music_const SFX_NOISE_INSTRUMENT17, SFX_Noise_Instrument17_1
music_const SFX_NOISE_INSTRUMENT18, SFX_Noise_Instrument18_1
music_const SFX_NOISE_INSTRUMENT19, SFX_Noise_Instrument19_1
NOISE_INSTRUMENTS_END EQUS "SFX_NOISE_INSTRUMENT19 + 1"
DEF NOISE_INSTRUMENTS_END EQUS "SFX_NOISE_INSTRUMENT19 + 1"
CRY_SFX_START EQUS "SFX_CRY_00"
DEF CRY_SFX_START EQUS "SFX_CRY_00"
music_const SFX_CRY_00, SFX_Cry00_1
music_const SFX_CRY_01, SFX_Cry01_1
music_const SFX_CRY_02, SFX_Cry02_1
@ -118,7 +118,7 @@ CRY_SFX_START EQUS "SFX_CRY_00"
music_const SFX_CRY_23, SFX_Cry23_1
music_const SFX_CRY_24, SFX_Cry24_1
music_const SFX_CRY_25, SFX_Cry25_1
CRY_SFX_END EQUS "SFX_CRY_25 + 3"
DEF CRY_SFX_END EQUS "SFX_CRY_25 + 3"
music_const SFX_GET_ITEM_2, SFX_Get_Item2_1
music_const SFX_TINK, SFX_Tink_1
@ -163,7 +163,7 @@ CRY_SFX_END EQUS "SFX_CRY_25 + 3"
; AUDIO_1
music_const SFX_POKEFLUTE, SFX_Pokeflute
music_const SFX_SAFARI_ZONE_PA, SFX_Safari_Zone_PA
MAX_SFX_ID_1 EQUS "SFX_SAFARI_ZONE_PA"
DEF MAX_SFX_ID_1 EQUS "SFX_SAFARI_ZONE_PA"
; AUDIO_2
music_const SFX_LEVEL_UP, SFX_Level_Up
@ -175,7 +175,7 @@ MAX_SFX_ID_1 EQUS "SFX_SAFARI_ZONE_PA"
music_const SFX_DEX_PAGE_ADDED, SFX_Dex_Page_Added
music_const SFX_CAUGHT_MON, SFX_Caught_Mon
BATTLE_SFX_START EQUS "SFX_PECK"
DEF BATTLE_SFX_START EQUS "SFX_PECK"
music_const SFX_PECK, SFX_Peck
music_const SFX_FAINT_FALL, SFX_Faint_Fall
music_const SFX_BATTLE_09, SFX_Battle_09
@ -225,8 +225,8 @@ BATTLE_SFX_START EQUS "SFX_PECK"
music_const SFX_BATTLE_35, SFX_Battle_35
music_const SFX_BATTLE_36, SFX_Battle_36
music_const SFX_SILPH_SCOPE, SFX_Silph_Scope
BATTLE_SFX_END EQUS "SFX_SILPH_SCOPE + 1"
MAX_SFX_ID_2 EQUS "SFX_SILPH_SCOPE"
DEF BATTLE_SFX_END EQUS "SFX_SILPH_SCOPE + 1"
DEF MAX_SFX_ID_2 EQUS "SFX_SILPH_SCOPE"
; AUDIO_3
music_const SFX_INTRO_LUNGE, SFX_Intro_Lunge
@ -239,6 +239,6 @@ MAX_SFX_ID_2 EQUS "SFX_SILPH_SCOPE"
music_const SFX_SLOTS_REWARD, SFX_Slots_Reward
music_const SFX_SLOTS_NEW_SPIN, SFX_Slots_New_Spin
music_const SFX_SHOOTING_STAR, SFX_Shooting_Star
MAX_SFX_ID_3 EQUS "SFX_SHOOTING_STAR"
DEF MAX_SFX_ID_3 EQUS "SFX_SHOOTING_STAR"
SFX_STOP_ALL_MUSIC EQU $ff
DEF SFX_STOP_ALL_MUSIC EQU $ff

View file

@ -1,17 +1,17 @@
; OAM flags used by this game
OAMFLAG_ENDOFDATA EQU %00000001 ; pseudo OAM flag, only used by game logic
OAMFLAG_CANBEMASKED EQU %00000010 ; pseudo OAM flag, only used by game logic
DEF OAMFLAG_ENDOFDATA EQU %00000001 ; pseudo OAM flag, only used by game logic
DEF OAMFLAG_CANBEMASKED EQU %00000010 ; pseudo OAM flag, only used by game logic
; 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)
DEF OAM_PALETTE EQU %111
DEF OAM_TILE_BANK EQU 3
DEF OAM_OBP_NUM EQU 4 ; Non CGB Mode Only
DEF OAM_X_FLIP EQU 5
DEF OAM_Y_FLIP EQU 6
DEF OAM_PRIORITY EQU 7 ; 0: OBJ above BG, 1: OBJ behind BG (colors 1-3)
; OAM attribute masks
OAM_OBP1 EQU 1 << OAM_OBP_NUM ; OBJ palette 1
OAM_HFLIP EQU 1 << OAM_X_FLIP ; horizontal flip
OAM_VFLIP EQU 1 << OAM_Y_FLIP ; vertical flip
OAM_BEHIND_BG EQU 1 << OAM_PRIORITY ; behind bg (except color 0)
DEF OAM_OBP1 EQU 1 << OAM_OBP_NUM ; OBJ palette 1
DEF OAM_HFLIP EQU 1 << OAM_X_FLIP ; horizontal flip
DEF OAM_VFLIP EQU 1 << OAM_Y_FLIP ; vertical flip
DEF OAM_BEHIND_BG EQU 1 << OAM_PRIORITY ; behind bg (except color 0)

View file

@ -4,10 +4,10 @@
const SHADE_LIGHT ; %01
const SHADE_DARK ; %10
const SHADE_BLACK ; %11
NUM_PAL_COLORS EQU const_value
DEF NUM_PAL_COLORS EQU const_value
PAL_COLOR_SIZE EQU 2
PALETTE_SIZE EQU NUM_PAL_COLORS * PAL_COLOR_SIZE
DEF PAL_COLOR_SIZE EQU 2
DEF PALETTE_SIZE EQU NUM_PAL_COLORS * PAL_COLOR_SIZE
; pal/blk packets
; SetPalFunctions indexes (see engine/gfx/palettes.asm)
@ -27,8 +27,8 @@ PALETTE_SIZE EQU NUM_PAL_COLORS * PAL_COLOR_SIZE
const SET_PAL_GAME_FREAK_INTRO ; $0C
const SET_PAL_TRAINER_CARD ; $0D
SET_PAL_PARTY_MENU_HP_BARS EQU $fc
SET_PAL_DEFAULT EQU $ff
DEF SET_PAL_PARTY_MENU_HP_BARS EQU $fc
DEF SET_PAL_DEFAULT EQU $ff
; sgb palettes
; SuperPalettes indexes (see data/sgb/sgb_palettes.asm)
@ -70,4 +70,4 @@ SET_PAL_DEFAULT EQU $ff
const PAL_BADGE ; $22
const PAL_CAVE ; $23
const PAL_GAMEFREAK ; $24
NUM_SGB_PALS EQU const_value
DEF NUM_SGB_PALS EQU const_value

View file

@ -156,4 +156,4 @@
const DEX_MEWTWO ; 150
const DEX_MEW ; 151
NUM_POKEMON EQU const_value - 1
DEF NUM_POKEMON EQU const_value - 1

View file

@ -198,12 +198,12 @@
const WEEPINBELL ; $BD
const VICTREEBEL ; $BE
NUM_POKEMON_INDEXES EQU const_value - 1
DEF NUM_POKEMON_INDEXES EQU const_value - 1
; starters
STARTER1 EQU CHARMANDER
STARTER2 EQU SQUIRTLE
STARTER3 EQU BULBASAUR
DEF STARTER1 EQU CHARMANDER
DEF STARTER2 EQU SQUIRTLE
DEF STARTER3 EQU BULBASAUR
; ghost Marowak in Pokémon Tower
RESTLESS_SOUL EQU MAROWAK
DEF RESTLESS_SOUL EQU MAROWAK

View file

@ -1,37 +1,37 @@
; base data struct members (see data/pokemon/base_stats/*.asm)
rsreset
BASE_DEX_NO rb
BASE_STATS rb NUM_STATS
DEF BASE_DEX_NO rb
DEF BASE_STATS rb NUM_STATS
rsset BASE_STATS
BASE_HP rb
BASE_ATK rb
BASE_DEF rb
BASE_SPD rb
BASE_SPC rb
BASE_TYPES rw
DEF BASE_HP rb
DEF BASE_ATK rb
DEF BASE_DEF rb
DEF BASE_SPD rb
DEF BASE_SPC rb
DEF BASE_TYPES rw
rsset BASE_TYPES
BASE_TYPE_1 rb
BASE_TYPE_2 rb
BASE_CATCH_RATE rb
BASE_EXP rb
BASE_PIC_SIZE rb
BASE_FRONTPIC rw
BASE_BACKPIC rw
BASE_MOVES rb NUM_MOVES
BASE_GROWTH_RATE rb
BASE_TMHM rb (NUM_TM_HM + 7) / 8
rb_skip
BASE_DATA_SIZE EQU _RS
DEF BASE_TYPE_1 rb
DEF BASE_TYPE_2 rb
DEF BASE_CATCH_RATE rb
DEF BASE_EXP rb
DEF BASE_PIC_SIZE rb
DEF BASE_FRONTPIC rw
DEF BASE_BACKPIC rw
DEF BASE_MOVES rb NUM_MOVES
DEF BASE_GROWTH_RATE rb
DEF BASE_TMHM rb (NUM_TM_HM + 7) / 8
rb_skip
DEF BASE_DATA_SIZE EQU _RS
PARTY_LENGTH EQU 6
DEF PARTY_LENGTH EQU 6
MONS_PER_BOX EQU 20
NUM_BOXES EQU 12
DEF MONS_PER_BOX EQU 20
DEF NUM_BOXES EQU 12
HOF_MON EQU $10
HOF_TEAM EQU PARTY_LENGTH * HOF_MON
HOF_TEAM_CAPACITY EQU 50
DEF HOF_MON EQU $10
DEF HOF_TEAM EQU PARTY_LENGTH * HOF_MON
DEF HOF_TEAM_CAPACITY EQU 50
; mon data locations
@ -52,8 +52,8 @@ HOF_TEAM_CAPACITY EQU 50
const EV_ITEM ; 2
const EV_TRADE ; 3
MAX_EVOLUTIONS EQU 3
EVOLUTION_SIZE EQU 4
DEF MAX_EVOLUTIONS EQU 3
DEF EVOLUTION_SIZE EQU 4
; wMonHGrowthRate values
@ -65,8 +65,8 @@ EVOLUTION_SIZE EQU 4
const GROWTH_MEDIUM_SLOW
const GROWTH_FAST
const GROWTH_SLOW
NUM_GROWTH_RATES EQU const_value
DEF NUM_GROWTH_RATES EQU const_value
; wild data (see data/wild/maps/*.asm)
NUM_WILDMONS EQU 10
WILDDATA_LENGTH EQU 1 + NUM_WILDMONS * 2
DEF NUM_WILDMONS EQU 10
DEF WILDDATA_LENGTH EQU 1 + NUM_WILDMONS * 2

View file

@ -5,17 +5,17 @@
const SMILE_BUBBLE ; 2
; slot symbols
SLOTS7 EQU $0200
SLOTSBAR EQU $0604
SLOTSCHERRY EQU $0A08
SLOTSFISH EQU $0E0C
SLOTSBIRD EQU $1210
SLOTSMOUSE EQU $1614
DEF SLOTS7 EQU $0200
DEF SLOTSBAR EQU $0604
DEF SLOTSCHERRY EQU $0A08
DEF SLOTSFISH EQU $0E0C
DEF SLOTSBIRD EQU $1210
DEF SLOTSMOUSE EQU $1614
; StartSlotMachine dialogs
SLOTS_OUTOFORDER EQU $fd
SLOTS_OUTTOLUNCH EQU $fe
SLOTS_SOMEONESKEYS EQU $ff
DEF SLOTS_OUTOFORDER EQU $fd
DEF SLOTS_OUTTOLUNCH EQU $fe
DEF SLOTS_SOMEONESKEYS EQU $ff
; in game trades
; TradeMons indexes (see data/events/trades.asm)
@ -30,7 +30,7 @@ SLOTS_SOMEONESKEYS EQU $ff
const TRADE_FOR_DORIS
const TRADE_FOR_CRINKLES
const TRADE_FOR_SPOT
NUM_NPC_TRADES EQU const_value
DEF NUM_NPC_TRADES EQU const_value
; in game trade dialog sets
; InGameTradeTextPointers indexes (see engine/events/in_game_trades.asm)
@ -50,10 +50,10 @@ NUM_NPC_TRADES EQU const_value
const BIT_MARSHBADGE ; 5
const BIT_VOLCANOBADGE ; 6
const BIT_EARTHBADGE ; 7
NUM_BADGES EQU const_value
DEF NUM_BADGES EQU const_value
; OaksAideScript results
OAKS_AIDE_BAG_FULL EQU $00
OAKS_AIDE_GOT_ITEM EQU $01
OAKS_AIDE_NOT_ENOUGH_MONS EQU $80
OAKS_AIDE_REFUSED EQU $ff
DEF OAKS_AIDE_BAG_FULL EQU $00
DEF OAKS_AIDE_GOT_ITEM EQU $01
DEF OAKS_AIDE_NOT_ENOUGH_MONS EQU $80
DEF OAKS_AIDE_REFUSED EQU $ff

View file

@ -1,27 +1,27 @@
ESTABLISH_CONNECTION_WITH_INTERNAL_CLOCK EQU $01
ESTABLISH_CONNECTION_WITH_EXTERNAL_CLOCK EQU $02
DEF ESTABLISH_CONNECTION_WITH_INTERNAL_CLOCK EQU $01
DEF ESTABLISH_CONNECTION_WITH_EXTERNAL_CLOCK EQU $02
USING_EXTERNAL_CLOCK EQU $01
USING_INTERNAL_CLOCK EQU $02
CONNECTION_NOT_ESTABLISHED EQU $ff
DEF USING_EXTERNAL_CLOCK EQU $01
DEF USING_INTERNAL_CLOCK EQU $02
DEF CONNECTION_NOT_ESTABLISHED EQU $ff
; signals the start of an array of bytes transferred over the link cable
SERIAL_PREAMBLE_BYTE EQU $FD
DEF SERIAL_PREAMBLE_BYTE EQU $FD
; this byte is used when there is no data to send
SERIAL_NO_DATA_BYTE EQU $FE
DEF SERIAL_NO_DATA_BYTE EQU $FE
; signals the end of one part of a patch list (there are two parts) for player/enemy party data
SERIAL_PATCH_LIST_PART_TERMINATOR EQU $FF
DEF SERIAL_PATCH_LIST_PART_TERMINATOR EQU $FF
LINK_STATE_NONE EQU $00 ; not using link
LINK_STATE_IN_CABLE_CLUB EQU $01 ; in a cable club room (Colosseum or Trade Centre)
LINK_STATE_START_TRADE EQU $02 ; pre-trade selection screen initialisation
LINK_STATE_START_BATTLE EQU $03 ; pre-battle initialisation
LINK_STATE_BATTLING EQU $04 ; in a link battle
LINK_STATE_RESET EQU $05 ; reset game (unused)
LINK_STATE_TRADING EQU $32 ; in a link trade
DEF LINK_STATE_NONE EQU $00 ; not using link
DEF LINK_STATE_IN_CABLE_CLUB EQU $01 ; in a cable club room (Colosseum or Trade Centre)
DEF LINK_STATE_START_TRADE EQU $02 ; pre-trade selection screen initialisation
DEF LINK_STATE_START_BATTLE EQU $03 ; pre-battle initialisation
DEF LINK_STATE_BATTLING EQU $04 ; in a link battle
DEF LINK_STATE_RESET EQU $05 ; reset game (unused)
DEF LINK_STATE_TRADING EQU $32 ; in a link trade
LINKBATTLE_RUN EQU $F
LINKBATTLE_STRUGGLE EQU $E
LINKBATTLE_NO_ACTION EQU $D
DEF LINKBATTLE_RUN EQU $F
DEF LINKBATTLE_STRUGGLE EQU $E
DEF LINKBATTLE_NO_ACTION EQU $D

View file

@ -62,7 +62,7 @@
const SPRITE_BRUNO ; $3a
const SPRITE_LORELEI ; $3b
const SPRITE_SEEL ; $3c
FIRST_STILL_SPRITE EQU const_value
DEF FIRST_STILL_SPRITE EQU const_value
const SPRITE_POKE_BALL ; $3d
const SPRITE_FOSSIL ; $3e
const SPRITE_BOULDER ; $3f
@ -75,4 +75,4 @@ FIRST_STILL_SPRITE EQU const_value
const SPRITE_UNUSED_GAMBLER_ASLEEP_1 ; $46
const SPRITE_UNUSED_GAMBLER_ASLEEP_2 ; $47
const SPRITE_GAMBLER_ASLEEP ; $48
NUM_SPRITES EQU const_value - 1
DEF NUM_SPRITES EQU const_value - 1

View file

@ -11,7 +11,7 @@
const NPC_MOVEMENT_LEFT ; $80
const NPC_MOVEMENT_RIGHT ; $C0
NPC_CHANGE_FACING EQU $E0
DEF NPC_CHANGE_FACING EQU $E0
; player direction constants
const_def
@ -20,7 +20,7 @@ NPC_CHANGE_FACING EQU $E0
const PLAYER_DIR_BIT_DOWN ; 2
const PLAYER_DIR_BIT_UP ; 3
PLAYER_DIR_RIGHT EQU 1 << PLAYER_DIR_BIT_RIGHT
PLAYER_DIR_LEFT EQU 1 << PLAYER_DIR_BIT_LEFT
PLAYER_DIR_DOWN EQU 1 << PLAYER_DIR_BIT_DOWN
PLAYER_DIR_UP EQU 1 << PLAYER_DIR_BIT_UP
DEF PLAYER_DIR_RIGHT EQU 1 << PLAYER_DIR_BIT_RIGHT
DEF PLAYER_DIR_LEFT EQU 1 << PLAYER_DIR_BIT_LEFT
DEF PLAYER_DIR_DOWN EQU 1 << PLAYER_DIR_BIT_DOWN
DEF PLAYER_DIR_UP EQU 1 << PLAYER_DIR_BIT_UP

View file

@ -1,6 +1,6 @@
NAME_LENGTH EQU 11
ITEM_NAME_LENGTH EQU 13
NAME_BUFFER_LENGTH EQU 20
DEF NAME_LENGTH EQU 11
DEF ITEM_NAME_LENGTH EQU 13
DEF NAME_BUFFER_LENGTH EQU 20
; PrintNumber
const_def 5
@ -8,9 +8,9 @@ NAME_BUFFER_LENGTH EQU 20
const BIT_LEFT_ALIGN ; 6
const BIT_LEADING_ZEROES ; 7
MONEY_SIGN EQU (1 << BIT_MONEY_SIGN)
LEFT_ALIGN EQU (1 << BIT_LEFT_ALIGN)
LEADING_ZEROES EQU (1 << BIT_LEADING_ZEROES)
DEF MONEY_SIGN EQU (1 << BIT_MONEY_SIGN)
DEF LEFT_ALIGN EQU (1 << BIT_LEFT_ALIGN)
DEF LEADING_ZEROES EQU (1 << BIT_LEADING_ZEROES)
; special text IDs (see home/text_script.asm)
const_def $d0
@ -19,4 +19,4 @@ LEADING_ZEROES EQU (1 << BIT_LEADING_ZEROES)
const TEXT_REPEL_WORE_OFF ; $d2
const TEXT_SAFARI_GAME_OVER ; $d3
TEXT_START_MENU EQU $00
DEF TEXT_START_MENU EQU $00

View file

@ -25,4 +25,4 @@
const CLUB ; 21
const FACILITY ; 22
const PLATEAU ; 23
NUM_TILESETS EQU const_value
DEF NUM_TILESETS EQU const_value

View file

@ -1,8 +1,8 @@
OPP_ID_OFFSET EQU 200
DEF OPP_ID_OFFSET EQU 200
trainer_const: MACRO
MACRO trainer_const
const \1
OPP_\1 EQU OPP_ID_OFFSET + \1
DEF OPP_\1 EQU OPP_ID_OFFSET + \1
ENDM
; trainer class ids
@ -62,4 +62,4 @@ ENDM
trainer_const CHANNELER ; $2D
trainer_const AGATHA ; $2E
trainer_const LANCE ; $2F
NUM_TRAINERS EQU const_value - 1
DEF NUM_TRAINERS EQU const_value - 1

View file

@ -1,7 +1,7 @@
; TypeNames indexes (see data/types/names.asm)
const_def
PHYSICAL EQU const_value
DEF PHYSICAL EQU const_value
const NORMAL ; $00
const FIGHTING ; $01
const FLYING ; $02
@ -14,7 +14,7 @@ PHYSICAL EQU const_value
const_next 20
SPECIAL EQU const_value
DEF SPECIAL EQU const_value
const FIRE ; $14
const WATER ; $15
const GRASS ; $16
@ -23,4 +23,4 @@ SPECIAL EQU const_value
const ICE ; $19
const DRAGON ; $1A
NUM_TYPES EQU const_value
DEF NUM_TYPES EQU const_value