Just a quick reference for those making infinite-something Game Genie codes for retro consoles.

General tools i use regularly:

  • ucon64 (Game Genie encoder/decoder, rom patcher, and more)
  • qalc (cmdline calculator)
  • Retroarch (decent GUI to look for memory addesses)

suggested emus with breakpoints and a debugger:

opcodes references:

common ASM opcode replacements:

  • Z80 (original guide):
    • 90, 91, 92, 93, 94, 95 -> 00 (DEC->NOP)
    • EA -> FA (LD reg2mem -> LD mem2reg)
  • 6502 (original list posted here):
    • CE -> AD (DEC->LDA)
      DE -> BD (DEC->LDA)
      C6 -> A5 (DEC->LDA)
      85 -> A5
      D6 -> B5
      95 -> B5
      8D -> AD
      9D -> BD (STA->LDA)
      DE -> BD
      91 -> B1
      99 -> BE
      EA (NOP)
  • m68K:
    • most used opcodes are 6002 and 6004 (= Branch 2 or 4 bytes).
    • to skip a single instruction, a single NOP= 4E71 will do.

general tricks:

  • to NOP multiple instructions, you can use an unconditional branch instruction, or, if near a “RET” (=routine return) you can just call RET before.

Some codes i’ve made can be found here.

P.N.: i am not taking cheat requests currently, so please do not ask in the comments.