Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .segment "ZEROPAGE"
- MaxNumPlayers = 1
- retraces: .res 1
- keydown: .res MaxNumPlayers
- keylast: .res MaxNumPlayers
- random1: .res 2
- random2: .res 2
- psg_sfx_state: .res 32 ; don't need since I changed music engines but maybe I should keep it here
- ScrollX: .res 2
- ScrollY: .res 2
- ScrollSpeed: .res 2
- LevelBlockPtr: .res 2
- ; 16-bit X and Y positions:
- ; HHHHHHHH LLLLLLLL
- ; |||||||| ||||++++ - subpixels
- ; ++++++++ ++++------ actual pixels
- PlayerEnabled: .res 1
- PlayerPXL: .res 1
- PlayerPXH: .res 1
- PlayerPYH: .res 1
- PlayerPYL: .res 1
- PlayerVXH: .res 1
- PlayerVXL: .res 1
- PlayerVYH: .res 1
- PlayerVYL: .res 1
- PlayerInvincible: .res 1
- PlayerDropLock: .res 1
- PlayerWasRunning: .res 1 ; was the player running when they jumped?
- PlayerDir: .res 1; 0 or 1
- PlayerDirForScroll: .res 1; 0 or 1
- PlayerJumping: .res 1
- PlayerOnGround: .res 1
- PlayerJumpCancelLock: .res 1
- PlayerWalkLock: .res 1
- PlayerDownTimer: .res 1
- PlayerLives: .res 1
- PlayerHealth: .res 1
- PlayerTailAttack: .res 1
- PlayerAnimationFrame: .res 1
- PlayerAbility: .res 1
- PlayerTiles: .res 7
- IsScrollUpdate: .res 1 ; nonzero = yes
- ScrollUpdateChunk: .res 1 ; current 32 pixel chunk we're updating
- MaxNumBlockUpdates = 3
- MaxNumTileUpdates = 4
- BlockUpdateA1: .res MaxNumBlockUpdates
- BlockUpdateA2: .res MaxNumBlockUpdates
- BlockUpdateB1: .res MaxNumBlockUpdates
- BlockUpdateB2: .res MaxNumBlockUpdates
- BlockUpdateT1: .res MaxNumBlockUpdates
- BlockUpdateT2: .res MaxNumBlockUpdates
- BlockUpdateT3: .res MaxNumBlockUpdates
- BlockUpdateT4: .res MaxNumBlockUpdates
- TileUpdateA1: .res MaxNumTileUpdates
- TileUpdateA2: .res MaxNumTileUpdates
- TileUpdateT: .res MaxNumTileUpdates
- ThirtyUpdateAddr: .res 2
- TempSpace = ThirtyUpdateTile ; used by various non-game stuff
- ThirtyUpdateTile: .res 30
- ScrollLevelPointer: .res 2
- DecodeObjectType = TempSpace+0
- DecodeObjectXY = TempSpace+1
- DecodeObjectBlock = TempSpace+2
- DecodeObjectWidth = TempSpace+3
- DecodeObjectHeight = TempSpace+4
- LevelNumber: .res 1
- OamPtr: .res 1
- TempVal: .res 4
- TempX: .res 1
- TempY: .res 1
- TouchTemp: .res 1
- TouchTopA: .res 1
- TouchTopB: .res 1
- TouchLeftA: .res 1
- TouchLeftB: .res 1
- TouchWidthA: .res 1
- TouchWidthB: .res 1
- TouchHeightA: .res 1
- TouchHeightB: .res 1
- EnemyWidth: .res 1
- ; level decode stuff
- LevelHeaderPointer: .res 2
- SpriteTileOffset: .res 1
- SpriteTileSlots: .res 4 ; \ keep together
- LevelDecodePointer: .res 2 ; \ in this order
- LevelSpritePointer: .res 2 ; /
- LevelBackgroundColor: .res 1 ; /
- LevelDecodeXPos: .res 1
- CollectedBitsIndex: .res 1 ; 0 or 128, for alternate or current collectedbits
- .segment "BSS"
- UploadTileAddress: .res 2
- UploadTileSpace:
- StringBuffer:
- Attributes: .res 64 ; scratch space for whatever
- .res 64 ; more
- PRGBank: .res 1
- Coins: .res 2 ; 2 digits, BCD
- CoinShowTimer: .res 1
- PlayerOnLadder: .res 1
- LevelUploadList: .res 20
- AttributeWriteA1: .res 1
- AttributeWriteA2: .res 4
- AttributeWriteD: .res 8
- NeedSFX: .res 4
- MaxDelayedMetaEdits = 10
- DelayedMetaEditIndexHi: .res MaxDelayedMetaEdits
- DelayedMetaEditIndexLo: .res MaxDelayedMetaEdits
- DelayedMetaEditTime: .res MaxDelayedMetaEdits
- DelayedMetaEditType: .res MaxDelayedMetaEdits
- MaxExplosions = 5
- ExplosionPosX: .res MaxExplosions
- ExplosionPosY: .res MaxExplosions
- ExplosionSize: .res MaxExplosions
- ExplosionTime: .res MaxExplosions
- BulletLen = 12
- ObjectLen = 8
- BulletPX: .res BulletLen
- BulletPXL: .res BulletLen
- BulletPY: .res BulletLen
- BulletPYL: .res BulletLen
- BulletVX: .res BulletLen
- BulletVXL: .res BulletLen
- BulletVY: .res BulletLen
- BulletVYL: .res BulletLen
- BulletLife: .res BulletLen
- BulletF: .res BulletLen ;flags
- ; EP--TTTT
- ; E - enabled
- ; P - player bullet, if 1 can damage enemies
- ; T - type
- ObjectPXH: .res ObjectLen
- ObjectPXL: .res ObjectLen
- ObjectPYH: .res ObjectLen
- ObjectPYL: .res ObjectLen
- ObjectVXH: .res ObjectLen
- ObjectVXL: .res ObjectLen
- ObjectVYH: .res ObjectLen
- ObjectVYL: .res ObjectLen
- ObjectF1: .res ObjectLen ; TTTTTTTD, Type, Direction
- ObjectF2: .res ObjectLen ; ----SSSS, State
- ObjectF3: .res ObjectLen ; --------
- ObjectF4: .res ObjectLen ; --------
- ObjectIndexInLevel: .res ObjectLen ; object's index in level list, prevents object from being respawned until it's despawned
- ObjectTimer: .res ObjectLen ; when timer reaches 0, reset state
- LevelMap = $6000 ; lasts until $6fff
- .segment "BSS2" ; SRAM
- CollectedBits: .res 128
- CollectedAlternate: .res 128
- ColumnBytes: .res 128
- ScriptFlags: .res 64
- ScriptFlagsSaved: .res 64
- LevelLinkUp: .res 16 ; \
- LevelLinkDown: .res 16 ; | cleared together
- ScreenFlags: .res 16 ; /
- ScreenFlagsDummy: .res 1
- SCREEN_BOUNDARY = 1
- LevelSize: .res 1 ; last screen number in the level
- CurSpriteIndex: .res 1
- LastSpriteIndex: .res 1
- LevelMusic: .res 1
- PlayerDrawX: .res 1
- PlayerDrawY: .res 1
- .align 256
- FamitoneRAM: .res 256
- SpriteListRAM: .res 256
- .code
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement