I was wondering if theoretically it would be possible to use a game genie code to make it so the rexon's head in sonic 2 doesn't respawn. I am doing all enemy speedruns with super sonic unlocked and have found a way to kill all the badniks other than the rexons respawning, of course I know using a game genie is banned from speedrunning, however, I am just doing it for fun though and already use a game genie just to disable the super sonic music because you would have to hear it for like a half hour, so I would be using the GG either way. I found a bunch of references to GG codes that involve respawning and this entry made me feel like it should be possible: "$23 respawn_index Respawn index reference number, used by badniks, rings and monitors. Each destroyable object is assigned an index number (01, 02, 03 etc.) which refers to a list at $FC00 in the RAM." I used a PAR converter with the code for his head (0373D0) as the address and FC00 as the value, getting the GG code AB3T-H38T. It freezes the game whenever I see one. I am sure I am going about it the wrong way, but at least it is effecting it. What am I doing wrong?
0373D0 on a REV01 ROM is the start of the "head" object's code, these are CPU instructions. At that address is $7000 which is instruction "moveq #$00,d0", you have just replaced it with $FC00. The $FXXX series of instructions are reserved for future CPUs, with the 68k having an error exception routine trigger which can be used to "emulate" the future instruction (sorta like a forwards compatibility), Sonic 2's has no emulation code for the $FXXX series of instructions, and the error routine pointer points to an endless loop. Even if there were support, I doubt you would get the results you are after. The reason the Rexon object does not remember it is deleted, is because the remember status is applied to the body itself, and not the head. The head is loaded by the body object, and not by the object layout engine, therefore the head itself does not get assigned a reserved RAM space for remembering deletion, only the body does. When you destroy the head, the body itself does not get destroyed, instead it deletes itself normally when it goes off screen just as it would if you hadn't destroyed it, and therefore, it clears the remember flag to signify it wasn't destroyed and can load again. Given that it's a solid object that the character can stand on, I can strongly assume the body remaining was an intended gimmick, and given that the object is set to remember sprite status, I can strongly assume that the enemy not remembering it's been destroyed, is a bug. The following game genie codes below will ensure that the enemy will not respawn after it is destroyed by Sonic or Tails. For REV00: Code (Text): ATBT-AA32 9F4T-G6TT B34T-GAAW AB4T-H7JY 9G9A-6GTA AR9A-6AAC DC9A-7L2E RG9A-7CJG AC9A-6AAJ CC9A-6AAL PC9A-7EJN FW9A-6AAR 7G9A-7CTT ER9A-6AAW R09A-66TY For REV01: Code (Text): ATBT-AA4E 9F4T-G6VA B34T-GABC AB4T-H7KE 9G9A-6GTA AR9A-6AAC FC9A-7L2E RG9A-7CJG AC9A-6AAJ CC9A-6AAL PC9A-7EJN FW9A-6AAR 7G9A-7CTT ER9A-6AAW R09A-66TY If you would like it such that the body itself still reloads, and only the head dosn't after respawning, then punch in the below game genie codes instead. For REV00: Code (Text): ATBT-AA32 9F3T-G6V2 B33T-GAB4 AB3T-H7K6 SW9A-7CAA TC9A-6AAC FL9A-6AAE HW9A-7AJG AC9A-732J FC9A-7AAL ER9A-6AAN JC9A-7EJR CG9A-6TAT AC9A-6AAW A49A-6R2Y SW9A-7CA0 A49A-6AA2 EW9A-6AA4 R09A-66T6 9F4T-G6TT B34T-GAAW D34T-H7JY 9G9A-6GT8 AR9A-6ABA DC9A-7L3C RG9A-7CKE AC9A-6ABG CC9A-6ABJ PC9A-7EKL FW9A-6ABN HW9A-7AKR AC9A-733T FG9A-7ABW ER9A-6ABY JC9A-7EK0 CG9A-6AB2 AG9A-6AB4 R09A-66V6 For REV01: Code (Text): ATBT-AA4E 9F3T-G6WJ B33T-GACL AB3T-H7LN SW9A-7CAA TC9A-6AAC FL9A-6AAE HW9A-7AJG AC9A-732J FC9A-7AAL ER9A-6AAN JC9A-7EJR CG9A-6TAT AC9A-6AAW A49A-6R2Y SW9A-7CA0 A49A-6AA2 EW9A-6AA4 R09A-66T6 9F4T-G6VA B34T-GABC D34T-H7KE 9G9A-6GT8 AR9A-6ABA FC9A-7L3C RG9A-7CKE AC9A-6ABG CC9A-6ABJ PC9A-7EKL FW9A-6ABN HW9A-7AKR AC9A-733T FG9A-7ABW ER9A-6ABY JC9A-7EK0 CG9A-6AB2 AG9A-6AB4 R09A-66V6
This is quite possibly one of the greatest first posts I've ever seen on Retro. I couldn't really understand OP, as S2 is not my forte, but Markey made it clear enough for me to understand the significance of this finding. Bravo. EDIT: Why can't the speedrunning research teams and oldchool research teams join forces more often? It's a perfect match imho.
MJ makes it all a lot easier. Hell, because of him I can actually understand S1 Music hacking... which is THE LAST thing I could ever do w/ hacking.