Shippu Mahou Daisakusen/Reverse engineering notes

From Shmups Wiki -- The Digital Library of Shooting Games
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