Shippu Mahou Daisakusen/Reverse engineering notes
Jump to navigation
Jump to search
TODO: clean up addresses below pointing directly to bytes when code is operating on them as words. e.g., P1 lives @ 100555.b is probably referenced in the code as 100554.w
- 1006C6 - seems to consistently hold boss HP value when one is on screen
- 1006AA - base address of the boss enemy object
- object+$04 - animation frame
- object+$06 - animation related flags (sprite rotation, hit flash and/or palette?, etc.)
- object+$08 - y-coord
- object+$0A - x-coord
- object+$1C - HP value for enemies. Damage value for projectiles/player, to apply against target enemy up to their specified durability cap
- object+$36 - i-frames
- Code @ 13D78 - damage calculation for durable enemies
- Code @ 13F6A - damage calculation for zakos (uncapped)
- 100551 - current play state?
- 100553 - current play flags?
- 100555 - current P1 lives
- 10058C = current calculated rank
- 10058E = base rank for current stage
- 100590 = survival rank (resets on stage start or player death)
- 1006A4 = survival rank increment timer (does not reset on stage start)
- 102C4A + $44 (102C8E) = base scroll speed?
- 102C4A + $46 (102C90) =
- 102C4A + $22 (102c6c) = speedometer?
- 1012DA = P1 sub-weapon type
- 1012D8 = P1 sub-weapon power
- 1005B1 - current stage
- 1005B3 - current track
- 1005B5 - current loop (0 = first, 1 = second)
- 100656 - table of P1 track times
- 10066E - table of track selections