Page 1 of 1

help with Joust inivncibility cheats

Posted: Thu May 29, 2025 1:43 am
by tihstae
For some reason or another, the invincibility cheats on Joust, regardless of which version I try them on, won't work at all whatsoever. I downloaded the latest Pugsy's cheats and placed them in the correct folder, and I have cheats configured on my MAME correctly(i.e. mame.ini). Plus, the cheats for my other MAME games work just fine. Ergo, there has to be something wrong with the invincibility cheats for just Joust alone. I'm at my wits end trying to figure out how to fix this problem. I copy & pasted the joust & joustr cheat xml files below. Could someone please help me out with this? Thanks a lot.

joust.xml:

Code: Select all

<mamecheat version="1">

  <cheat desc="Select Invincibility"> <comment>Invincibility types mangled together. One where the enemies can move through you (Intangible) and not (Tangible) + protection against lava + lava hand. Note, P1 cannot kill P2, but P2 can kill P1. There are some glitches.</comment>
    <parameter>
      <item value="0x01">Intangible</item>
      <item value="0x02">Tangible</item>
      <item value="0x03">Intangible + Lava</item>
      <item value="0x04">Tangible + Lava</item>
    </parameter>
    <script state="on">
      <action>temp0 =maincpu.mb@18477</action>
      <action>temp1 =maincpu.mb@18479</action>
      <action>temp2 =maincpu.mb@16AD6</action>
      <action>temp3 =maincpu.mb@17A75</action>
      <action>temp4 =maincpu.mb@0DA09</action>
      <action>temp5 =maincpu.md@18659</action>
    </script>
    <script state="run">
      <action condition="(param==01)">maincpu.mb@18477=5C</action>
      <action condition="(param==01)">maincpu.mb@18479=5A</action>
      <action condition="(param==01)">maincpu.mb@16AD6=39</action>
      <action condition="(param==01)">maincpu.mb@17A75=39</action>
      <action condition="(param==01)">maincpu.mb@0DA09=04</action> <!-- No Troll Grabbing Players - Do nothing -->
      <action condition="(param==01)">maincpu.md@18659=A789B002</action> <!-- Lava - Do nothing -->
      <action condition="(param==02)">maincpu.mb@18477=05</action>
      <action condition="(param==02)">maincpu.mb@18479=03</action>
      <action condition="(param==02)">maincpu.mb@16AD6=39</action>
      <action condition="(param==02)">maincpu.mb@17A75=39</action>
      <action condition="(param==02)">maincpu.mb@0DA09=04</action> <!-- No Troll Grabbing Players - Do nothing -->
      <action condition="(param==02)">maincpu.md@18659=A789B002</action> <!-- Lava - Do nothing -->
      <action condition="(param==03)">maincpu.mb@18477=5C</action>
      <action condition="(param==03)">maincpu.mb@18479=5A</action>
      <action condition="(param==03)">maincpu.mb@16AD6=39</action>
      <action condition="(param==03)">maincpu.mb@17A75=39</action>
      <action condition="(param==03)">maincpu.mb@0DA09=31</action> <!-- No Troll Grabbing Players -->
      <action condition="(param==03)">maincpu.md@18659=12121212</action> <!-- Lava -->
      <action condition="(param==04)">maincpu.mb@18477=05</action>
      <action condition="(param==04)">maincpu.mb@18479=03</action>
      <action condition="(param==04)">maincpu.mb@16AD6=39</action>
      <action condition="(param==04)">maincpu.mb@17A75=39</action>
      <action condition="(param==04)">maincpu.mb@0DA09=31</action> <!-- No Troll Grabbing Players -->
      <action condition="(param==04)">maincpu.md@18659=12121212</action> <!-- Lava -->
    </script>
    <script state="off">
      <action>maincpu.mb@18477=temp0 </action>
      <action>maincpu.mb@18479=temp1 </action>
      <action>maincpu.mb@16AD6=temp2 </action>
      <action>maincpu.mb@17A75=temp3 </action>
      <action>maincpu.mb@0DA09=temp4 </action>
      <action>maincpu.md@18659=temp5 </action>
    </script>
  </cheat>

  <cheat desc="No Pterodactyls">
    <script state="run">
      <action>maincpu.pw@0A0AD=0002</action>
    </script>
  </cheat>

  <cheat desc="P1 Infinite Lives">
    <script state="run">
      <action>maincpu.pw@0A051=0405</action>
    </script>
  </cheat>

  <cheat desc="P2 Infinite Lives">
    <script state="run">
      <action>maincpu.pw@0A05B=0405</action>
    </script>
  </cheat>

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

Code: Select all

<mamecheat version="1">

  <cheat desc="Select Invincibility"> <comment>Invincibility types mangled together. One where the enemies can move through you (Intangible) and not (Tangible) + protection against lava + lava hand. Note, P1 cannot kill P2, but P2 can kill P1. There are some glitches.</comment>
    <parameter>
      <item value="0x01">Intangible</item>
      <item value="0x02">Tangible</item>
      <item value="0x03">Intangible + Lava</item>
      <item value="0x04">Tangible + Lava</item>
    </parameter>
    <script state="on">
      <action>temp0 =maincpu.mb@18438</action>
      <action>temp1 =maincpu.mb@1843A</action>
      <action>temp2 =maincpu.mb@16A97</action>
      <action>temp3 =maincpu.mb@17A36</action>
      <action>temp4 =maincpu.mb@0DA09</action>
      <action>temp5 =maincpu.md@1861A</action>
    </script>
    <script state="run">
      <action condition="(param==01)">maincpu.mb@18438=5C</action>
      <action condition="(param==01)">maincpu.mb@1843A=5A</action>
      <action condition="(param==01)">maincpu.mb@16A97=39</action>
      <action condition="(param==01)">maincpu.mb@17A36=39</action>
      <action condition="(param==01)">maincpu.mb@0DA09=04</action> <!-- No Troll Grabbing Players - Do nothing -->
      <action condition="(param==01)">maincpu.md@1861A=A789B002</action> <!-- Lava - Do nothing -->
      <action condition="(param==02)">maincpu.mb@18438=05</action>
      <action condition="(param==02)">maincpu.mb@1843A=03</action>
      <action condition="(param==02)">maincpu.mb@16A97=39</action>
      <action condition="(param==02)">maincpu.mb@17A36=39</action>
      <action condition="(param==02)">maincpu.mb@0DA09=04</action> <!-- No Troll Grabbing Players - Do nothing -->
      <action condition="(param==02)">maincpu.md@1861A=A789B002</action> <!-- Lava - Do nothing -->
      <action condition="(param==03)">maincpu.mb@18438=5C</action>
      <action condition="(param==03)">maincpu.mb@1843A=5A</action>
      <action condition="(param==03)">maincpu.mb@16A97=39</action>
      <action condition="(param==03)">maincpu.mb@17A36=39</action>
      <action condition="(param==03)">maincpu.mb@0DA09=31</action> <!-- No Troll Grabbing Players -->
      <action condition="(param==03)">maincpu.md@1861A=12121212</action> <!-- Lava -->
      <action condition="(param==04)">maincpu.mb@18438=05</action>
      <action condition="(param==04)">maincpu.mb@1843A=03</action>
      <action condition="(param==04)">maincpu.mb@16A97=39</action>
      <action condition="(param==04)">maincpu.mb@17A36=39</action>
      <action condition="(param==04)">maincpu.mb@0DA09=31</action> <!-- No Troll Grabbing Players -->
      <action condition="(param==04)">maincpu.md@1861A=12121212</action> <!-- Lava -->
    </script>
    <script state="off">
      <action>maincpu.mb@18438=temp0 </action>
      <action>maincpu.mb@1843A=temp1 </action>
      <action>maincpu.mb@16A97=temp2 </action>
      <action>maincpu.mb@17A36=temp3 </action>
      <action>maincpu.mb@0DA09=temp4 </action>
      <action>maincpu.md@1861A=temp5 </action>
    </script>
  </cheat>

  <cheat desc="No Pterodactyls">
    <script state="run">
      <action>maincpu.pw@0A0AD=0002</action>
    </script>
  </cheat>

  <cheat desc="P1 Infinite Lives">
    <script state="run">
      <action>maincpu.pw@0A051=0405</action>
    </script>
  </cheat>

  <cheat desc="P2 Infinite Lives">
    <script state="run">
      <action>maincpu.pw@0A05B=0405</action>
    </script>
  </cheat>

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

Re: help with Joust inivncibility cheats

Posted: Thu May 29, 2025 9:56 am
by jman
I suggest the following.
  1. Use MAME 0.264 or earlier version.
  2. Convert address for Invincibility in joust.xml.
  3. Wait next official cheat database update.
midway/williams.cpp games (defender, joust, robotron etc) changed ROM region structure in 0.265.
So address 0x10000 or later no longer exist.