Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- FFFFA900 DecBuffer
- FFFFEC80 SpriteMappingsBuffer
- FFFFEF00 P1CharacterSST - This is the offset where most of pl1 information is stored
- FFFFF000 P2CharacterSST - Same, but for player 2
- FFFFF100 BossObjSST
- FFFFF700 ItemSST
- FFFFFC00 Next_GameMode - Next mode can have one of the following values
- 0 SEGAScreen
- 4 TitleScreen
- 8 Demo
- C SelectMode
- 10 Options
- 14 InGame
- 18 CharacterSelectScreen
- 1C Ending
- 20 DuelMode
- 24 Intro
- 28 Highscores (top 10)
- FFFFFC02 Current Gamemode - same values apply here
- FFFFFC08 P1ButtonHeld
- FFFFFC09 P1ButtonPress
- FFFFFC0A P2ButtonHeld
- FFFFFC0B P2ButtonPress
- FFFFFC14 SpriteMappingsBufferPointer
- FFFFFC18 TwoPlayerGame - One Player = 0 ; Two Players = 1
- FFFFFC22 CamX - horizontal coordinates of the view camera
- FFFFFC26 CamY - vertical coordinates of the view camera
- FFFFFC3C Timer_Minute
- FFFFFC3D Timer_Second
- FFFFFC3E Timer_MilliSecond
- FFFFFC3F PauseFlag
- FFFFFC42 ELC_Index_Level_ID
- FFFFFC44 ELC_Index_Stage_ID
- FFFFFC6D Chk_TwoPlayerPad - set to 0 if player 2 pad is connected; 1 otherwise
- FFFFFC6E P1ButtonHeld_InGame
- FFFFFC70 P2ButtonHeld_InGame
- FFFFFCCA ELC_Index_Item
- FFFFFCD2 ELC_Index_Enemy1
- FFFFFCD6 ELC_Index_Enemy2
- FFFFFD04 Opt_Difficulty - 0 very easy; 2 easy; 4 normal; 6 hard; 8 very hard; A mania
- FFFFFD06 Opt_Lives
- FFFFFD0E Level - Starting level. Story mode levels are from 0 to 7, value 8 results in battle mode scenes
- FFFFFD11 Cheat_SelectSameCharacter
- FFFFFD30 Top10PlayerData
- FFFFFDF6 _812C (?)
- --------------------------------------------
- Player specific Addresses:
- Those addresses are as follows:
- FFEF?? addresses for player 1
- FFF0?? addresses for player 2
- In disassembled code, you'll notice that first FFFFEF00 or FFFFF000 is loaded into some address register, then the specific addresses are accessed with offsets, eg:
- Code:
- LEA ($FFFFF000).w,a2 // load P1CharacterSST into a2
- TST.w $82(a2) // check if lives reached zero
- 00 ObjMode
- 02 CameraX
- 06 CameraY
- 0A SpriteStatus
- 0C ObjID
- 0E NextAnimation
- 0F SpriteOrientation - 0 = Facing Left ; 1 = Facing Right
- 10 CurrentAnimation
- 12 AnimationScriptOffset - Contains offset of current animation script, which contains pointer to art data
- 16 FrameTimer
- 18 FrameID - ID of the current frame
- 1A NextFramePointer - a word pointer added to the offset from AnimationScriptOffset. When a new Animation Script is updated, value of 2 is moved here. After each new frame, 8 is added here to get the next frame data from the offset from AnimationScriptOffset.
- 1C PreviousFramePointer
- 1E AnimationStatus
- ; BIT 7 10000000 - 80 DMA
- ; BIT 6 01000000 - 40
- ; BIT 5 00100000 - 20
- ; BIT 4 00010000 - 10
- ; BIT 3 00001000 - 8
- ; BIT 2 00000100 - 4
- ; BIT 1 00000010 - 2
- ; BIT 0 00000001 - 1 set if animation script needs updating
- 20 HPos - horizontal position
- 24 VPos - vertical position
- 28 CollisionBitfieldStatus
- ; BIT 7 10000000 - 80 1 = Knockout attack 0 = Normal attack
- ; BIT 6 01000000 - 40
- ; BIT 5 00100000 - 20 Enemy - Score
- ; BIT 4 00010000 - 10 Enemy - Score
- ; BIT 3 00001000 - 8 Enemy - Score
- ; BIT 2 00000100 - 4 Enemy - Score
- ; BIT 1 00000010 - 2
- ; BIT 0 00000001 - 1
- 2A JumpingHPosInertia
- 2E JumpingVPosInertia
- 32 ObjStatus4
- ; BIT 7 10000000 - 80
- ; BIT 6 01000000 - 40
- ; BIT 5 00100000 - 20
- ; BIT 4 00010000 - 10
- ; BIT 3 00001000 - 8
- ; BIT 2 00000100 - 4
- ; BIT 1 00000010 - 2 1 = effects P1&P2 only 0 = effects P1&P2 and Enemies
- ; BIT 0 00000001 - 1 Enable Weapon
- 34 HeldObj - Knives and Swords
- 38 HeldObjID
- 3A JumpHeight - determines how high the character jumps
- 3C CurrentSpriteArtAddress
- 40 HInertia - horizontal inertia
- 44 VInertia - vertical inertia
- 48 ObjStatus5
- ; BIT 7 10000000 - 80
- ; BIT 6 01000000 - 40
- ; BIT 5 00100000 - 20 Down+B attack
- ; BIT 4 00010000 - 10 Running Flag
- ; BIT 3 00001000 - 8 Knockdown flag (set when obj is lying on floor)
- ; BIT 2 00000100 - 4 (set when move has ended)
- ; BIT 1 00000010 - 2 Jumping Attack
- ; BIT 0 00000001 - 1 Block Flag
- 49 ObjStatus1
- ; BIT 7 10000000 - 80 Obj Active
- ; BIT 6 01000000 - 40 Knockout Flag
- ; BIT 5 00100000 - 20 Main Character hold Partner/Enemy
- ; BIT 4 00010000 - 10 Partner/Enemy hold Main Character
- ; BIT 3 00001000 - 8 Attack flag
- ; BIT 2 00000100 - 4 Hit flag
- ; BIT 1 00000010 - 2
- ; BIT 0 00000001 - 1 0 = Hit from Left; 1 = Hit from Right (used for setting breakable objects inertia)
- 4A ObjStatus2 - an animation timer used for animation scripts to give stylised effects ie pause effects
- 4B PreviousButton_Press_Copy - stores previous state of button press-copy
- 4C - K.O.s
- 4E - K.O.s (I added those two myself, I don't know exactly the difference of them, they seem to store the same value)
- 50 InvincibilityTimer
- 52 PreviousButton_Press - stores previous state of button press
- 54 Top10PlayerPosition
- 58 Button_Held_Counter - timer to perform the knockdown attack when holding attack for a while. It is incremented every frame while attack is held. When it reaches the value 3C, Knockout_Move_Flag is activated
- 59 Knockout_Move_Flag - if set to $FF, the knockout move is executed
- 5A Throw_H_Inertia
- 5E Throw_V_Inertia
- 62 Atk_Width
- 64 Atk_Height
- 66 Hit_Width
- 68 Hit_Height
- 6A Hit_Vicinty
- 72 HighScoreLetter
- 78 CharacterName
- 80 HP - Energy
- 82 Lives
- 86 ThrowingObj - An Object you throw, ie an enemy
- 8A AttackingObj - An Object attacking you
- 8E AttackDamage
- 90 HPBar - displaid energy
- 96 Score
- 98 Top10Player_Round
- 9C ComboCount - Used for combo attacks ie 2 = punch; 4 = punch; 6 = hard punch; 8 = combo end
- 9E ComboCountTimer - timer used for combo attacks ie button presses
- A4 Continue
- A6 AttackChk - 00 = sprite not touching object; 11 = sprite touching object
- AA LastObjTouch - address of last obj attacked/thrown either by player or enemy
- AE DpadTimer - Timer used for Walking/running/blitz test. When Left/Right is pressed it takes the value $10. It's decremented every frame. If the same direction is pressed again within $10 game frames, then the Double tap flag is enabled (enabling running/blitz)
- B4 SpriteSize
- B8 HighScoreName_FirstLetter
- B9 HighScoreName_SecondLetter
- BA HighScoreName_ThirdLetter
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement