mirror of
https://github.com/huderlem/kirbydreamland.git
synced 2024-11-26 23:10:39 +00:00
144 lines
2.7 KiB
NASM
Executable File
144 lines
2.7 KiB
NASM
Executable File
SECTION "WRAM Bank 0", WRAM0
|
|
|
|
wRAMStart::
|
|
wOAMBuffer:: ; $c000
|
|
ds $a0
|
|
wOAMBufferEnd:: ; $c0a0
|
|
|
|
ds $60
|
|
|
|
wMetatiles:: ; $c100
|
|
; Holds the metatile ids that define the entire stage that Kirby plays in.
|
|
; The metatiles are arranged in rows, so if the stage were 20x10, the first 20
|
|
; metatiles ids in this list make up the top row of the stage. Metatile ids correspond
|
|
; to the tiles in wMetatileDefinitions.
|
|
ds $500
|
|
|
|
wMetatileDefinitions:: ; $c600
|
|
; Each metatiles is defined by 4 bytes, which specify the tile numbers to use for
|
|
; its 2x2 orientation on screen.
|
|
; The order is top-left, top-right, bottom-left, bottom-right.
|
|
ds $100 * 4
|
|
wMetatileCollisions:: ; $ca00
|
|
; Each metatile has an associated collision attribute. The metatile collisions are included in
|
|
; the compressed metatile blobs, so they directly follow the metatile defintion data.
|
|
ds $100
|
|
|
|
wTilemapCopyBuffer:: ; $cb00
|
|
; This buffer queues tilemap data to be copied at a later time.
|
|
; Rather than holding raw data, it prefixes individual individual data packets
|
|
; with their destination addresses. The size of the data packets depends on the
|
|
; context of the data. For example, metatiles are first queued here, and each data
|
|
; packet is the size of a metatile (4 bytes).
|
|
ds $500
|
|
|
|
SECTION "WRAM Bank 1", WRAMX
|
|
|
|
ds $2c
|
|
|
|
wLoadedROMBank:: ; $d02c
|
|
ds 1
|
|
|
|
ds 12
|
|
|
|
wExtraGameEnabled:: ; $d039
|
|
ds 1
|
|
|
|
wExtraGameSelected:: ; $d03a
|
|
ds 1
|
|
|
|
wCurStage:: ; $d03b
|
|
ds 1
|
|
|
|
wCurSong:: ; $d03c
|
|
ds 1
|
|
|
|
wChangeSongTo:: ; $d03d - Eventually wCurSong will be equal to this
|
|
ds 1
|
|
|
|
wCurStageScreen:: ; $d03e
|
|
ds 1
|
|
|
|
ds $3
|
|
|
|
wStageLengthInMetatiles:: ; $d042, prevents scrolling too far to the right
|
|
ds 1
|
|
|
|
ds $E
|
|
|
|
wStageScrollTileX:: ; $d051
|
|
ds 1
|
|
wStageScrollTileY:: ; $d052
|
|
ds 1
|
|
|
|
ds 9
|
|
|
|
wPlayerScreenXCoord:: ; $d05c
|
|
ds 1
|
|
wPlayerScreenYCoord:: ; $d05d
|
|
ds 1
|
|
|
|
ds 13
|
|
|
|
wTemp:: ; $d06b
|
|
; Used for lots of functions where it's convenient to store a value for later, instead of using the stack.
|
|
ds 1
|
|
|
|
ds 20
|
|
|
|
wBGP:: ; $d080
|
|
ds 1
|
|
|
|
ds 8
|
|
|
|
wRemainingLives:: ; $d089
|
|
ds 1
|
|
wMaximumLives:: ; $d08a
|
|
ds 1
|
|
|
|
wScore:: ; $d08b
|
|
; Stored in little-endian.
|
|
; The score displayed on-screen artificially adds an extra zero to the end.
|
|
ds 3
|
|
|
|
ds 7
|
|
|
|
wSpriteProcessingOffset:: ; $d095
|
|
ds 1
|
|
|
|
wClearAllSprites:: ; $d096
|
|
; When this is set to $ff, all OAM sprites are cleared.
|
|
ds 1
|
|
|
|
wDestGfxAddress:: ; $d097
|
|
ds 2
|
|
|
|
wRAMFuncD099:: ; $d099
|
|
ds 7
|
|
|
|
ds $60
|
|
|
|
wEntityHorizontalVelocities:: ; $d100
|
|
ds 2 * 16
|
|
wEntityVerticalVelocities:: ; $d120
|
|
ds 2 * 16
|
|
|
|
ds 32
|
|
|
|
wActiveEntities:: ; $d160
|
|
ds 16
|
|
|
|
ds $268
|
|
|
|
wCurrentAnimationCmd:: ; $d3d8
|
|
ds 1
|
|
|
|
; Stores an address to the current byte the animation script parser is looking at.
|
|
wAnimationParserScriptReadAddress:: ; $d3d9
|
|
ds 2
|
|
|
|
ds $825
|
|
|
|
wdc00:: ; $dc00
|
|
ds $200
|