123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325 |
- hSoftReset EQU $FF8A
- ; Initialized to 16.
- ; Decremented each input iteration if the player
- ; presses the reset sequence (A+B+SEL+START).
- ; Soft reset when 0 is reached.
- ; base tile ID to which offsets are added
- hBaseTileID EQU $FF8B
- ; 3-byte BCD number
- hItemPrice EQU $FF8B
- hDexWeight EQU $FF8B
- hWarpDestinationMap EQU $FF8B
- hOAMTile EQU $FF8B
- hROMBankTemp EQU $FF8B
- hPreviousTileset EQU $FF8B
- hEastWestConnectedMapWidth EQU $FF8B
- hSlideAmount EQU $FF8B
- hRLEByteValue EQU $FF8B
- H_SPRITEWIDTH EQU $FF8B ; in tiles
- H_SPRITEINTERLACECOUNTER EQU $FF8B
- H_SPRITEHEIGHT EQU $FF8C ; in tiles
- H_SPRITEOFFSET EQU $FF8D
- ; counters for blinking down arrow
- H_DOWNARROWBLINKCNT1 EQU $FF8B
- H_DOWNARROWBLINKCNT2 EQU $FF8C
- H_SPRITEDATAOFFSET EQU $FF8B
- H_SPRITEINDEX EQU $FF8C
- hMapStride EQU $FF8B
- hMapWidth EQU $FF8C
- hNorthSouthConnectionStripWidth EQU $FF8B
- hNorthSouthConnectedMapWidth EQU $FF8C
- ; DisplayTextID's argument
- hSpriteIndexOrTextID EQU $FF8C
- hPartyMonIndex EQU $FF8C
- ; the total number of tiles being shifted each time the pic slides by one tile
- hSlidingRegionSize EQU $FF8C
- ; 2 bytes
- hEnemySpeed EQU $FF8D
- hVRAMSlot EQU $FF8D
- hFourTileSpriteCount EQU $FF8E
- ; -1 = left
- ; 0 = right
- hSlideDirection EQU $FF8D
- hSpriteFacingDirection EQU $FF8D
- hSpriteMovementByte2 EQU $FF8D
- hSpriteImageIndex EQU $FF8D
- hLoadSpriteTemp1 EQU $FF8D
- hLoadSpriteTemp2 EQU $FF8E
- hHalveItemPrices EQU $FF8E
- hSpriteOffset2 EQU $FF8F
- hOAMBufferOffset EQU $FF90
- hSpriteScreenX EQU $FF91
- hSpriteScreenY EQU $FF92
- hTilePlayerStandingOn EQU $FF93
- hSpritePriority EQU $FF94
- ; 2 bytes
- hSignCoordPointer EQU $FF95
- hNPCMovementDirections2Index EQU $FF95
- ; CalcPositionOfPlayerRelativeToNPC
- hNPCSpriteOffset EQU $FF95
- ; temp value used when swapping bytes
- hSwapTemp EQU $FF95
- hExperience EQU $FF96 ; 3 bytes, big endian
- ; Multiplication and division variables are meant
- ; to overlap for back-to-back usage. Big endian.
- H_MULTIPLICAND EQU $FF96 ; 3 bytes
- H_MULTIPLIER EQU $FF99 ; 1 byte
- H_PRODUCT EQU $FF95 ; 4 bytes
- H_DIVIDEND EQU $FF95 ; 4 bytes
- H_DIVISOR EQU $FF99 ; 1 byte
- H_QUOTIENT EQU $FF95 ; 4 bytes
- H_REMAINDER EQU $FF99 ; 1 byte
- H_DIVIDEBUFFER EQU $FF9A
- H_MULTIPLYBUFFER EQU $FF9B
- ; PrintNumber (big endian).
- H_PASTLEADINGZEROES EQU $FF95 ; last char printed
- H_NUMTOPRINT EQU $FF96 ; 3 bytes
- H_POWEROFTEN EQU $FF99 ; 3 bytes
- H_SAVEDNUMTOPRINT EQU $FF9C ; 3 bytes
- ; distance in steps between NPC and player
- hNPCPlayerYDistance EQU $FF95
- hNPCPlayerXDistance EQU $FF96
- hFindPathNumSteps EQU $FF97
- ; bit 0: set when the end of the path's Y coordinate matches the target's
- ; bit 1: set when the end of the path's X coordinate matches the target's
- ; When both bits are set, the end of the path is at the target's position
- ; (i.e. the path has been found).
- hFindPathFlags EQU $FF98
- hFindPathYProgress EQU $FF99
- hFindPathXProgress EQU $FF9A
- ; 0 = from player to NPC
- ; 1 = from NPC to player
- hNPCPlayerRelativePosPerspective EQU $FF9B
- ; bit 0:
- ; 0 = target is to the south or aligned
- ; 1 = target is to the north
- ; bit 1:
- ; 0 = target is to the east or aligned
- ; 1 = target is to the west
- hNPCPlayerRelativePosFlags EQU $FF9D
- ; some code zeroes this for no reason when writing a coin amount
- hUnusedCoinsByte EQU $FF9F
- hMoney EQU $FF9F ; 3-byte BCD number
- hCoins EQU $FFA0 ; 2-byte BCD number
- hDivideBCDDivisor EQU $FFA2 ; 3-byte BCD number
- hDivideBCDQuotient EQU $FFA2 ; 3-byte BCD number
- hDivideBCDBuffer EQU $FFA5 ; 3-byte BCD number
- hSerialReceivedNewData EQU $FFA9
- ; $01 = using external clock
- ; $02 = using internal clock
- ; $ff = establishing connection
- hSerialConnectionStatus EQU $FFAA
- hSerialIgnoringInitialData EQU $FFAB
- hSerialSendData EQU $FFAC
- hSerialReceiveData EQU $FFAD
- ; these values are copied to SCX, SCY, and WY during V-blank
- hSCX EQU $FFAE
- hSCY EQU $FFAF
- hWY EQU $FFB0
- hJoyLast EQU $FFB1
- hJoyReleased EQU $FFB2
- hJoyPressed EQU $FFB3
- hJoyHeld EQU $FFB4
- hJoy5 EQU $FFB5
- hJoy6 EQU $FFB6
- hJoy7 EQU $FFB7
- H_LOADEDROMBANK EQU $FFB8
- hSavedROMBank EQU $FFB9
- ; is automatic background transfer during V-blank enabled?
- ; if nonzero, yes
- ; if zero, no
- H_AUTOBGTRANSFERENABLED EQU $FFBA
- TRANSFERTOP EQU 0
- TRANSFERMIDDLE EQU 1
- TRANSFERBOTTOM EQU 2
- ; 00 = top third of background
- ; 01 = middle third of background
- ; 02 = bottom third of background
- H_AUTOBGTRANSFERPORTION EQU $FFBB
- ; the destination address of the automatic background transfer
- H_AUTOBGTRANSFERDEST EQU $FFBC ; 2 bytes
- ; temporary storage for stack pointer during memory transfers that use pop
- ; to increase speed
- H_SPTEMP EQU $FFBF ; 2 bytes
- ; source address for VBlankCopyBgMap function
- ; the first byte doubles as the byte that enabled the transfer.
- ; if it is 0, the transfer is disabled
- ; if it is not 0, the transfer is enabled
- ; this means that XX00 is not a valid source address
- H_VBCOPYBGSRC EQU $FFC1 ; 2 bytes
- ; destination address for VBlankCopyBgMap function
- H_VBCOPYBGDEST EQU $FFC3 ; 2 bytes
- ; number of rows for VBlankCopyBgMap to copy
- H_VBCOPYBGNUMROWS EQU $FFC5
- ; size of VBlankCopy transfer in 16-byte units
- H_VBCOPYSIZE EQU $FFC6
- ; source address for VBlankCopy function
- H_VBCOPYSRC EQU $FFC7
- ; destination address for VBlankCopy function
- H_VBCOPYDEST EQU $FFC9
- ; size of source data for VBlankCopyDouble in 8-byte units
- H_VBCOPYDOUBLESIZE EQU $FFCB
- ; source address for VBlankCopyDouble function
- H_VBCOPYDOUBLESRC EQU $FFCC
- ; destination address for VBlankCopyDouble function
- H_VBCOPYDOUBLEDEST EQU $FFCE
- ; controls whether a row or column of 2x2 tile blocks is redrawn in V-blank
- ; 00 = no redraw
- ; 01 = redraw column
- ; 02 = redraw row
- hRedrawRowOrColumnMode EQU $FFD0
- REDRAW_COL EQU 1
- REDRAW_ROW EQU 2
- hRedrawRowOrColumnDest EQU $FFD1
- hRandomAdd EQU $FFD3
- hRandomSub EQU $FFD4
- H_FRAMECOUNTER EQU $FFD5 ; decremented every V-blank (used for delays)
- ; V-blank sets this to 0 each time it runs.
- ; So, by setting it to a nonzero value and waiting for it to become 0 again,
- ; you can detect that the V-blank handler has run since then.
- H_VBLANKOCCURRED EQU $FFD6
- ; 00 = indoor
- ; 01 = cave
- ; 02 = outdoor
- ; this is often set to 00 in order to turn off water and flower BG tile animations
- hTilesetType EQU $FFD7
- hMovingBGTilesCounter1 EQU $FFD8
- H_CURRENTSPRITEOFFSET EQU $FFDA ; multiple of $10
- hItemCounter EQU $FFDB
- hGymGateIndex EQU $FFDB
- hGymTrashCanRandNumMask EQU $FFDB
- hDexRatingNumMonsSeen EQU $FFDB
- hDexRatingNumMonsOwned EQU $FFDC
- ; $00 = bag full
- ; $01 = got item
- ; $80 = didn't meet required number of owned mons
- ; $FF = player cancelled
- hOaksAideResult EQU $FFDB
- hOaksAideRequirement EQU $FFDB ; required number of owned mons
- hOaksAideRewardItem EQU $FFDC
- hOaksAideNumMonsOwned EQU $FFDD
- hItemToRemoveID EQU $FFDB
- hItemToRemoveIndex EQU $FFDC
- hVendingMachineItem EQU $FFDB
- hVendingMachinePrice EQU $FFDC ; 3-byte BCD number
- ; the first tile ID in a sequence of tile IDs that increase by 1 each step
- hStartTileID EQU $FFE1
- hNewPartyLength EQU $FFE4
- hDividend2 EQU $FFE5
- hDivisor2 EQU $FFE6
- hQuotient2 EQU $FFE7
- hSpriteVRAMSlotAndFacing EQU $FFE9
- hCoordsInFrontOfPlayerMatch EQU $FFEA
- hSpriteAnimFrameCounter EQU $FFEA
- H_WHOSETURN EQU $FFF3 ; 0 on player’s turn, 1 on enemy’s turn
- ; bit 0: draw HP fraction to the right of bar instead of below (for party menu)
- ; bit 1: menu is double spaced
- hFlags_0xFFF6 EQU $FFF6
- hFieldMoveMonMenuTopMenuItemX EQU $FFF7
- hDisableJoypadPolling EQU $FFF9
- hJoyInput EQU $FFF8
|