Page 1 of 1

Handheld lcd game cheats in mame.... is it possible?

Posted: Thu Apr 05, 2018 7:16 am
by austinwolfclaw
I tried to cheat in the handheld version of altered beast (emulated by mame) using cheat engine but no luck. is it possible to modify data in handhelds emulated by mame?

Re: Handheld lcd game cheats in mame.... is it possible?

Posted: Fri Apr 13, 2018 12:44 am
by Heihachi_73
It should be possible, at least with simple things such as infinite lives/time/score etc., LCD handhelds are usually nothing more than 8-bit systems with primitive graphics.

Other cheats such as invincibility (e.g. ignoring collision/hitboxes) would most likely have to be done as ROM cheats, which Cheat Engine etc. is useless for that type of thing (since of course read-only memory never changes by itself), you would need to disassemble the game code and know exactly what to look for.

Re: Handheld lcd game cheats in mame.... is it possible?

Posted: Sat Apr 28, 2018 9:47 pm
by Pugsy
crazyc answers that question by simply posting a cheat here:-

viewtopic.php?f=3&p=24646#p24646

The answer is that you have to search data space, you can't do this with the debugger cheat engine.
You should use the cheat finder from the plugins menu (once you've enabled it).

Another option is to show the data space in the memory viewer in the debugger - it's only 128 bytes so it's quite easy to see stuff just by looking at it without even searching.

so taltbeast.xml:

Code: Select all

<mamecheat version="1">

  <cheat desc="Infinite Energy">
    <script state="run">
      <action>maincpu.db@4D=08</action>
    </script>
  </cheat>  

</mamecheat>
<!-- Cheat file downloaded from http://www.mamecheat.co.uk, see cheat.txt for list of contributors. -->
Of course, ROM cheats are possible it's just that the addressing and assembler is a bit odd for that CPU.
For this example it was actually quicker for me to knock up the following ROM cheat then find the RAM address...with only 128bytes of RAM it's possible you will be looking at just changing bits rather than bytes or stuff gets overwritten by other stuff. ROM cheat was just a matter of tracing with the debugger command "trace logfilename,0,,{tracelog "%04X:",pc}" so that you can ignore the x:x:xx address nonsense.

ktopgun.xml:-

Code: Select all

<mamecheat version="1">

  <cheat desc="Infinite Energy"> <comment>Energy will decrement till you get to 1 and then stop</comment>
    <script state="on">
      <action>temp0 =maincpu.mb@065B</action>
    </script>
    <script state="run">
      <action>maincpu.mb@065B=00</action>
    </script>
    <script state="off">
      <action>maincpu.mb@065B=temp0 </action>
    </script>
  </cheat>

</mamecheat>
<!-- Cheat file downloaded from http://www.mamecheat.co.uk, see cheat.txt for list of contributors. -->