[pacplus] Conplete: Revised, added and fixed all Pacman cheats

This forum is for posting M.A.M.E. arcade cheats. Requests will be fulfilled here....but please keep the requests to the requests forum.
Post Reply
pac_man_fan2
Posts: 62
Joined: Fri Dec 06, 2019 1:49 pm

[pacplus] Conplete: Revised, added and fixed all Pacman cheats

Post by pac_man_fan2 »

I've added and tested all cheats found in the pacman cheats: Tunnel Slowdowns, All passage ways, Ms Pacman Behavior and such.
I corrected an error in Invincibility code, and changed the memory address range, since it conflicted with the Speed-Up cheat w/Intermissions.

Code: Select all

<mamecheat version="1">
  <cheat desc="Infinite Credits">
    <script state="run">
      <action>maincpu.pb@4E6E=99</action>
    </script>
  </cheat>

  <cheat desc="Infinite Lives">
    <script state="run">
      <action>maincpu.pw@4E14=0506</action>
    </script>
  </cheat>

  <cheat desc="Invincibility">
    <script state="on">
      <action>temp0=maincpu.md@1793</action>
      <action>temp1=maincpu.md@3CF0</action>
      <action>temp2=maincpu.md@3CF4</action>
      <action>temp3=maincpu.md@3CF8</action>
    </script>
    <script state="run">
      <action>maincpu.md@1793=003CF0C3|(maincpu.md@1793 BAND ~00FFFFFF)</action>
      <action>maincpu.md@3CF0=000420A7|(maincpu.md@3CE0 BAND ~00FFFFFF)</action> <!-- 1st = jp $3CE0, 2nd = and a/jp nz, $3CE7 -->
      <action>maincpu.md@3CF4=1783C3AF</action> <!-- xor a/jp $1783 (Normal Ghost) -->
      <action>maincpu.md@3CF8=1796C3AF</action> <!-- xor a/jp $1796 (Blue Ghost) -->
    </script>
    <script state="off">
      <action>maincpu.md@1793=temp0 </action>
      <action>maincpu.md@3CF0=temp1 </action>
      <action>maincpu.md@3CF4=temp2 </action>
      <action>maincpu.md@3CF8=temp3 </action>
    </script>
  </cheat>

  <cheat desc="Speed-Up Normal Intermissions"> <comment>Speed-Up with Normal Intermissions</comment>
    <script state="on">
      <action>temp0=maincpu.md@182B</action>
      <action>temp1=maincpu.mq@3CE0</action>
      <action>temp2=maincpu.mq@3CE8</action>
      <action>temp9=maincpu.mw@301A</action>
    </script>

    <script state="run">
      <action>maincpu.mw@182B=E0C3</action>
      <action>maincpu.mb@182D=3C</action>
      <action>maincpu.mq@3CE0=1867CA03FE4E043A</action>
      <action>maincpu.mq@3CE8=C9351833CABEFF3E</action>
      <action>maincpu.mw@301A=0000</action>
    </script>

    <script state="off">
      <action>maincpu.md@182B=temp0 </action>
      <action>maincpu.mq@3CE0=temp1 </action>
      <action>maincpu.mq@3CE8=temp2 </action>
      <action>maincpu.mw@301A=temp9 </action>
    </script>
  </cheat>

  <cheat desc="Enable Speed Hack"> <comment>This will greatly speed up your character.</comment>
    <script state="on">
      <action>temp0=maincpu.mb@182D</action>
    </script>
    <script state="run">
      <action>maincpu.mb@182D=01</action>
    </script>
    <script state="off">
      <action>maincpu.mb@182D=temp0 </action>
    </script>
  </cheat>

  <cheat desc="Finish this Level Now!">
    <script state="on">
      <action>maincpu.pb@4E0E=F4</action>
    </script>
  </cheat>

  <cheat desc="Select Starting Level"> <comment>For the best effect deactivate this cheat after you've started the Level</comment>
    <parameter>
      <item value="0x01">Vimto</item>
      <item value="0x02">1st Peas</item>
      <item value="0x03">2nd Peas</item>
      <item value="0x04">1st Apple</item>
      <item value="0x05">2nd Apple</item>
      <item value="0x06">1st Grapes</item>
      <item value="0x07">2nd Grapes</item>
      <item value="0x08">1st Galaxian</item>
      <item value="0x09">2nd Galaxian</item>
      <item value="0x10">1st Bread</item>
      <item value="0x11">2nd Bread</item>
      <item value="0x12">1st Pancakes</item>
      <item value="0x13">2nd Pancakes</item>
    </parameter>
    <script state="run">
      <action condition="(param==01) AND (maincpu.pb@4E0A==68)">maincpu.pb@4E0A=7E</action>
      <action condition="(param==01) AND (maincpu.pb@4E13==00)">maincpu.pb@4E13=01</action>
      <action condition="(param==02) AND (maincpu.pb@4E0A==68)">maincpu.pb@4E0A=7F</action>
      <action condition="(param==02) AND (maincpu.pb@4E13==00)">maincpu.pb@4E13=02</action>
      <action condition="(param==03) AND (maincpu.pb@4E0A==68)">maincpu.pb@4E0A=80</action>
      <action condition="(param==03) AND (maincpu.pb@4E13==00)">maincpu.pb@4E13=03</action>
      <action condition="(param==04) AND (maincpu.pb@4E0A==68)">maincpu.pb@4E0A=81</action>
      <action condition="(param==04) AND (maincpu.pb@4E13==00)">maincpu.pb@4E13=04</action>
      <action condition="(param==05) AND (maincpu.pb@4E0A==68)">maincpu.pb@4E0A=82</action>
      <action condition="(param==05) AND (maincpu.pb@4E13==00)">maincpu.pb@4E13=05</action>
      <action condition="(param==06) AND (maincpu.pb@4E0A==68)">maincpu.pb@4E0A=83</action>
      <action condition="(param==06) AND (maincpu.pb@4E13==00)">maincpu.pb@4E13=06</action>
      <action condition="(param==07) AND (maincpu.pb@4E0A==68)">maincpu.pb@4E0A=84</action>
      <action condition="(param==07) AND (maincpu.pb@4E13==00)">maincpu.pb@4E13=07</action>
      <action condition="(param==08) AND (maincpu.pb@4E0A==68)">maincpu.pb@4E0A=85</action>
      <action condition="(param==08) AND (maincpu.pb@4E13==00)">maincpu.pb@4E13=08</action>
      <action condition="(param==09) AND (maincpu.pb@4E0A==68)">maincpu.pb@4E0A=86</action>
      <action condition="(param==09) AND (maincpu.pb@4E13==00)">maincpu.pb@4E13=09</action>
      <action condition="(param==10) AND (maincpu.pb@4E0A==68)">maincpu.pb@4E0A=87</action>
      <action condition="(param==10) AND (maincpu.pb@4E13==00)">maincpu.pb@4E13=0A</action>
      <action condition="(param==11) AND (maincpu.pb@4E0A==68)">maincpu.pb@4E0A=88</action>
      <action condition="(param==11) AND (maincpu.pb@4E13==00)">maincpu.pb@4E13= B</action>
      <action condition="(param==12) AND (maincpu.pb@4E0A==68)">maincpu.pb@4E0A=89</action>
      <action condition="(param==12) AND (maincpu.pb@4E13==00)">maincpu.pb@4E13=0C</action>
      <action condition="(param==13) AND (maincpu.pb@4E0A==68)">maincpu.pb@4E0A=8A</action>
      <action condition="(param==13) AND (maincpu.pb@4E13==00)">maincpu.pb@4E13=0D</action>
    </script>
  </cheat>

  <cheat desc="Select Level (for Practice)"> <comment>Do NOT use in conjunction with the standard Select Starting Level cheat</comment>
    <parameter>
      <item value="0x00">Coke</item>
      <item value="0x01">Vimto</item>
      <item value="0x02">1st Peas</item>
      <item value="0x03">2nd Peas</item>
      <item value="0x04">1st Apple</item>
      <item value="0x05">2nd Apple</item>
      <item value="0x06">1st Grapes</item>
      <item value="0x07">2nd Grapes</item>
      <item value="0x08">1st Galaxian</item>
      <item value="0x09">2nd Galaxian</item>
      <item value="0x0A">1st Bread</item>
      <item value="0x0B">2nd Bread</item>
      <item value="0x0C">1st Pancakes</item>
      <item value="0x0D">2nd Pancakes</item>
      <item value="0xFF">Split-Screen (Unplayable)</item>
      <item value="0xFE">No maze or dots(Unfinishable)</item>
    </parameter>
    <script state="run">
      <action>maincpu.pb@4E13=param</action>
    </script>
  </cheat>

  <cheat desc="Select Ghost Changeback Speed">
    <parameter>
      <item value="0x0000">Stay blue until eaten</item>
      <item value="0x0258">Slow</item>
      <item value="0x0168">Moderate</item>
      <item value="0x00F0">Quick</item>
      <item value="0x0078">Lightning</item>
      <item value="0x0001">No change to blue</item>
    </parameter>
    <script state="run">
      <action>maincpu.pw@4DBD=param</action>
    </script>
  </cheat>

  <cheat desc=" "/>
  <cheat desc="Ghost Status Cheats"/>
  <cheat desc=" "/>

  <cheat desc="Red always blue">
    <script state="run">
      <action>maincpu.pb@4DA7=01</action>
    </script>
  </cheat>

  <cheat desc="Pink always blue">
    <script state="run">
      <action>maincpu.pb@4DA8=01</action>
    </script>
  </cheat>

  <cheat desc="Green always blue">
    <script state="run">
      <action>maincpu.pb@4DA9=01</action>
    </script>
  </cheat>

  <cheat desc="Orange always blue">
    <script state="run">
      <action>maincpu.pb@4DAA=01</action>
    </script>
  </cheat>

  <cheat desc="Ghosts Always Edible (No Pts)">
    <script state="run">
      <action>maincpu.pb@4DA5=00</action>
    </script>
  </cheat>

  <cheat desc=" "/>
  <cheat desc="Ghosts Enter All Passages"> <comment>This can lead to a much harder game, Ghosts can travel up restricted passages in chase/scatter modes</comment>
  <script state="on">
      <action>temp0=maincpu.mb@1C75</action>
      <action>temp1=maincpu.mb@1D4C</action>
      <action>temp2=maincpu.mb@1E0A</action>
      <action>temp3=maincpu.mb@1EFA</action>
  </script>
  <script state="run">
      <action>maincpu.mb@1C75=00</action>
      <action>maincpu.mb@1D4C=00</action>
      <action>maincpu.mb@1E0A=00</action>
      <action>maincpu.mb@1EFA=00</action>
  </script>
  <script state="off">
      <action>maincpu.mb@1C75=temp0 </action>
      <action>maincpu.mb@1D4C=temp1 </action>
      <action>maincpu.mb@1E0A=temp2 </action>
      <action>maincpu.mb@1EFA=temp3 </action>
    </script>
  </cheat>

  <cheat desc="Ghosts Ignore Tunnel Slowdown"> <comment>Ghosts no longer slow down when travelling through side tunnels</comment>
    <script state="on">
      <action>temp0=maincpu.mb@2063</action>
    </script>
    <script state="run">
      <action>maincpu.mb@2063=00</action>
    </script>
    <script state="off">
      <action>maincpu.mb@2063=temp0 </action>
    </script>
  </cheat>

  <cheat desc="Ms. Pac-Man Ghost Behavior"> <comment>Ms. Pacman-style reversals and randomized scatter movement for Red/Pink ghosts</comment>
  <script state="on">
      <action>temp0=maincpu.mw@0E5C</action>
      <action>temp1=maincpu.md@2751</action>
      <action>temp2=maincpu.md@2787</action>
      <action>temp3=maincpu.md@2FDC</action>
      <action>temp4=maincpu.md@2FE0</action>
      <action>temp5=maincpu.md@2FE4</action>
      <action>temp6=maincpu.md@2FE8</action>
      <action>temp7=maincpu.md@2FEC</action>
      <action>temp8=maincpu.md@2FF0</action>
      <action>temp9=maincpu.mw@301A</action>
  </script>
  <script state="run">
      <action>maincpu.mw@0E5C=00AF</action>
      <action>maincpu.md@2751=2FDCCD4D</action>
      <action>maincpu.md@2787=2FDCCD4D</action>
      <action>maincpu.md@2FDC=D021E5F5</action>
      <action>maincpu.md@2FE0=E65FED2F</action>
      <action>maincpu.md@2FE4=235FD706</action>
      <action>maincpu.md@2FE8=C9F1E156</action>
      <action>maincpu.md@2FEC=391D221D</action>
      <action>maincpu.md@2FF0=3B402040</action>
      <action>maincpu.mw@301A=0000</action>
  </script>
    <script state="off">
      <action>maincpu.mw@0E5C=temp0 </action>
      <action>maincpu.md@2751=temp1 </action>
      <action>maincpu.md@2787=temp2 </action>
      <action>maincpu.md@2FDC=temp3 </action>
      <action>maincpu.md@2FE0=temp4 </action>
      <action>maincpu.md@2FE4=temp5 </action>
      <action>maincpu.md@2FE8=temp6 </action>
      <action>maincpu.md@2FEC=temp7 </action>
      <action>maincpu.md@2FF0=temp8 </action>
      <action>maincpu.mw@301A=temp9</action>
    </script>
  </cheat>

  <cheat desc="Fix Split Screen Bug"> <comment>Fixes the bug with levels GT 255 see here - www.donhodges.com/how_high_can_you_get2.htm</comment>
    <script state="on">
      <action>temp0=maincpu.md@2BFC</action>
      <action>temp1=maincpu.mw@2C00</action>
      <action>temp2=maincpu.mb@2C38</action>
      <action>temp3=maincpu.md@2C3C</action>
      <action>temp4=maincpu.mw@2FFC</action>
    </script>
    <script state="run">
      <action>maincpu.md@2BFC=37D207FE</action>
      <action>maincpu.mw@2C00=3C2C</action>
      <action>maincpu.mb@2C38=12</action>
      <action>maincpu.md@2C3C=0006D612|(maincpu.md@2C3C BAND ~00FFFFFF)</action>
      <action>maincpu.mw@2FFC=8181</action>
    </script>
    <script state="off">
      <action>maincpu.md@2BFC=temp0 </action>
      <action>maincpu.mw@2C00=temp1 </action>
      <action>maincpu.mb@2C38=temp2 </action>
      <action>maincpu.md@2C3C=temp3 </action>
      <action>maincpu.mw@2FFC=temp4 </action>
    </script>
  </cheat>

  <cheat desc="Sound Test">
    <parameter min="1" max="17" step="1"/>
    <script state="change">
      <action condition="maincpu.pb@4E6E==00">maincpu.pb@4E6E=01</action>
      <action>maincpu.pb@4ECC=0</action>
      <action>maincpu.pb@4EDC=0</action>
      <action>maincpu.pb@4E9C=0</action>
      <action>maincpu.pb@4EAC=0</action>
      <action>maincpu.pb@4EBC=0</action>
      <action condition="(param LE 2)">maincpu.pb@4ECC=80>>(8-param)</action>
      <action condition="(param LE 2)">maincpu.pb@4EDC=80>>(8-param)</action>
      <action condition="(param GE 3) and (param LE 4)">maincpu.pb@4E9C=80>>(A-param)</action>
      <action condition="(param GE 5) and (param LE A)">maincpu.pb@4EAC=80>>(C-param)</action>
      <action condition="(param GE B)">maincpu.pb@4EBC=80>>(13-param)</action>
    </script>
  </cheat>
</mamecheat>
User avatar
Pugsy
Posts: 3675
Joined: Fri Aug 17, 2001 12:59 am
Location: North Wales, UK.
Has thanked: 1 time
Been thanked: 15 times
Contact:

Re: [pacplus] Conplete: Revised, added and fixed all Pacman cheats

Post by Pugsy »

Thanks, added
Pugsy

Servicing your cheating needs since 1985 8)

Grab the latest cheat collection:
MAME 0.264 XML cheat collection (3 APRIL 2024) from http://www.mamecheat.co.uk or direct from:-
https://mega.nz/file/SxsQUJoT#jBdz6GLm_ ... QzFGSMms2c (ZIP Archive 3.8 MB)
Post Reply