Announcement

Collapse
No announcement yet.

Infinite energy in fighting games [GG]

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Infinite energy in fighting games [GG]

    Well, i was using the method by Pugsy of finding NOPs, but there are games that only have two or one NOP so i was experimenting a little in other way to make a game genie for infinite energy in fighting games. A found one in wich it works perfect but uses a lot of codes, it's more like for a hacking like for a game genie in a real genesis.
    Here is what i made. The game is James "Buster" Douglas Boxing for the Sega Genesis.

    I made a JSR to a code empty region, where the code start to reduce the P1 energy, so:
    006576:4EB9
    006578:0000
    00657A:6402
    Then i made it to completely refull the energy.
    006402:13FC
    006404:00FF
    006406:00FF
    006408:84BD
    And there came the RTS to come back where the code left at entering that subrutine.
    00640A:4E75
    And finally i NOP the rest till the code must continue. So the game itself get out of that subrutine.
    00657C:4E71
    00657E:4E71
    006580:4E71

    This works perfect, but there are 11 codes, impossible to make it work in a real genesis where you can only add 5 codes.
    Is there a way to make it shorter, or another way to make infinite energy?
    The other method i thought was harder and larger, and it needs an more experienced hacker cuz it is to change the address register where the P1 energy is, but that is lot and lot more codes, impossible. Any help would be much appreciated.
    Thanks a lot in advance.
    "Dizzy my future, silly my way."
    "Under my flag I live free."

  • #2
    I've only done a couple actual P.1 only codes for fighting games.

    Generally, it's a matter of finding an existing write to the player/enemy energy(as in, both in the same code), then hacking all damage to go to the enemy, or on genesis, you may be able to write a 5-liner in some cases, 1 load(use code like what the game uses to init the reference address), 1 test(1/2 codes required, depending on size of data to test, usually will be 2), and a branch if equals(1 code, 67?? for the branch, so it skips the code you don't like being run on your own char.)

    It really depends on if the game won't give you some other way to do it, to be found by heavy code inspection.
    This reality is mine. Go hallucinate your own.

    Comment


    • #3
      Yeah, i see what you mean. I didn't think in that. I will try it.
      Thanks ugetab.
      "Dizzy my future, silly my way."
      "Under my flag I live free."

      Comment


      • #4
        ugetab is quite right in what he's saying, though sending all the damage to the other player is cheating and makes the game effectively nothing but a demo/slideshow
        Originally posted by VisitntX View Post
        Well, i was using the method by Pugsy of finding NOPs, but there are games that only have two or one NOP so i was experimenting a little in other way to make a game genie for infinite energy in fighting games. A found one in wich it works perfect but uses a lot of codes, it's more like for a hacking like for a game genie in a real genesis.
        Here is what i made. The game is James "Buster" Douglas Boxing for the Sega Genesis.
        The method I posted will work for most games 'out of the box', however there will always be cases were something slightly different has to be done - what exactly depends on the game's code and what 68000 instructions we can make use of. James "Buster" Douglas Boxing does only seem to have 2 conseq.NOPs however by looking at the TRACE we see there are 2 lots of NOPs very close (handy!):-

        000E32: move.b #$80, (A1)
        000E36: nop
        000E38: nop
        000E3A: move.b (A1), D0
        000E3C: lsl.b #2, D0
        000E3E: andi.b #$c0, D0
        000E42: move.b #$c0, (A1)
        000E46: nop
        000E48: nop
        000E4A: move.b (A1), D1

        We can see than the 'byte' of the D1 register gets overwritten at E4A however it doesn't get used from at least E3A till then so we can safely put a value into D1 by overwriting the 2 NOPs at E36 & E3A. And then we can poke the byte contents of D1 into FF84BD (84BD.w)...So we now poke this:-

        000E36: 123C 00FF move.b #$ff, D1
        000E46: 11C1 84BD move.b D1, $84bd.w

        [ James Buster Douglas Knock Out Boxing (UE) [c][!] ]
        Game Genie Codes:-

        HTHA-BEB0 Infinite Energy PL1
        96HA-AAB2
        2EHA-BCCG
        1YHA-AKCJ
        Pugsy's MAME Cheat Page : http://mamecheat.co.uk

        Comment


        • #5
          Awesome, I will test it right now. Thanks a lot to both of you.
          "Dizzy my future, silly my way."
          "Under my flag I live free."

          Comment

          Working...
          X