Shippu Mahou Daisakusen/Reverse engineering notes
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