Encrypted/updating ROM memory cheat?

If you are having problems finding or using cheats for an Emulator (particularly MAME/MESS) or have found a trick that you wish to share this is the place to do it. But please read the Cheat FAQ first.
Post Reply
syndromtr
Posts: 232
Joined: Wed Sep 25, 2013 8:18 am
Been thanked: 1 time

Encrypted/updating ROM memory cheat?

Post by syndromtr »

hi, first of all, thanks for all help & tips mentioned in this section, i started to find nearly all cheats that i wanted to find..
i ran across kind of weird issue in vendetta debugging.. i found a cheat with wp xxxx,1,w (xxxx was responsible of visible weapon, it decreases and gets 0 = weapon cannot be taken anymore) anyway.. debugger stops at 1112. but that ROM address is not the same everytime, i mean routine at 1112 changes everytime, maybe some encrypted part is moved there and executed = at 1112 there may be at least 2 different code in different times.. result, maincpu.(p/m/r/o/d/i/3)b@1112=xx cheat in xml file never works.

i wonder, is there a way to install special ROM cheats for those changing code?
regards,

(and i checked all vendetta's current cheats, they're all p = RAM cheats.. maybe ROM (code) cheats were found, but couldn't be installed because of this issue?)
User avatar
Pugsy
Posts: 3638
Joined: Fri Aug 17, 2001 12:59 am
Location: North Wales, UK.
Has thanked: 1 time
Been thanked: 12 times
Contact:

Re: Encrypted/updating ROM memory cheat?

Post by Pugsy »

I don't know about that game in particular, but from how you describe it sounds like a paging issue...you'd normally handle it with the following method or something similar:-


Code: Select all

  <cheat desc="Cheat Description"> <comment>Comment</comment>
    <parameter>
      <item value="0xAA">Enabled</item>
      <item value="0x55">Disabled</item>
    </parameter>
    <script state="run">
      <action condition="(maincpu.rb@1112==AA) OR (maincpu.rb@1112==55)">maincpu.rb@1112=param</action>
    </script>
  </cheat>

Basically you need to change the original value from "55" and the value you want to change it to into "AA".

So basically if the cheat is enabled it will poke 1112 with AA whenever 1112 contains 55 or AA and nothing else.
and if it's disabled it will poke it with 55 (when it contains 55 or AA). You can increase the poke size to get a more reliable poke as there is a tiny chance that it may still poke the wrong code.

Note if you don't have a disable option then there may not be any way of turning the cheat effect off.
Pugsy

Servicing your cheating needs since 1985 8)

Grab the latest cheat collection:
MAME 0.259 XML cheat collection (6 OCTOBER 2023) from http://www.mamecheat.co.uk or direct from:-
https://mega.nz/file/q4dHGZ6K#i-EUiqIjH ... KMz7hnbTfw (ZIP Archive 3.76MB)
syndromtr
Posts: 232
Joined: Wed Sep 25, 2013 8:18 am
Been thanked: 1 time

Re: Encrypted/updating ROM memory cheat?

Post by syndromtr »

thanks for the tips but it didn't work for now :(
when i test with bp 1112,
after some progress in level 1, stops at 1112 but its value is 9D (another routine - unrelated with cheat)
a bit progress afterwards, and a weapon is visible = stops at 1112, now 2 routines, values are 9D (above) and 8C (dec) and i need to change it to AE (nop)

summary, 1112 can be 9D and 8C. when it's 8C, AE needs to be poked there..
User avatar
Pugsy
Posts: 3638
Joined: Fri Aug 17, 2001 12:59 am
Location: North Wales, UK.
Has thanked: 1 time
Been thanked: 12 times
Contact:

Re: Encrypted/updating ROM memory cheat?

Post by Pugsy »

Ok, I'm guessing paging is too fast for that to work......

Try this old trick :-

maincpu.mb@41112=ae
Pugsy

Servicing your cheating needs since 1985 8)

Grab the latest cheat collection:
MAME 0.259 XML cheat collection (6 OCTOBER 2023) from http://www.mamecheat.co.uk or direct from:-
https://mega.nz/file/q4dHGZ6K#i-EUiqIjH ... KMz7hnbTfw (ZIP Archive 3.76MB)
syndromtr
Posts: 232
Joined: Wed Sep 25, 2013 8:18 am
Been thanked: 1 time

Re: Encrypted/updating ROM memory cheat?

Post by syndromtr »

thanks, it seems it's working perfectly inside on/run/off cheat format with temp0 variable. (without interfering other routine)
Post Reply