<mamecheat version="1">

  <cheat desc="Infinite Credits">
    <script state="run">
      <action>maincpu.pb@0D0D50=63</action>
    </script>
  </cheat>

  <cheat desc="------------"/>
  <cheat desc="Time Pilot"/>
  <cheat desc="------------"/>

  <cheat desc="Invincibility">
    <script state="run">
      <action>maincpu.pb@11D168=FF</action>
    </script>
  </cheat>

  <cheat desc="Put Stage Guardian On Now!">
    <script state="on">
      <action>maincpu.pb@11D66A=00</action>
    </script>
  </cheat>

  <cheat desc="Stage Guardian Right Away">
    <script state="run">
      <action>maincpu.pb@11D66A=00</action>
    </script>
  </cheat>

  <cheat desc="Infinite Lives">
    <script state="run">
      <action>maincpu.pb@11D678=07</action>
    </script>
  </cheat>

  <cheat desc="--------"/>
  <cheat desc="Gyruss"/>
  <cheat desc="--------"/>

  <cheat desc="Infinite Lives">
    <script state="run">
      <action>maincpu.pb@11BF68=06</action>
    </script>
  </cheat>

  <cheat desc="Invincibility">
    <script state="on">
      <action>temp0 =maincpu.pb@1184F5</action>
      <action>temp1 =maincpu.pb@116F41</action>
      <action>temp2 =maincpu.pb@1182EC</action>
    </script>
    <script state="run">
      <action>maincpu.pb@1184F5=18</action>
      <action>maincpu.pb@116F41=C9</action> <!-- Part 1 for bullets, Part 2 for asteroids -->
      <action>maincpu.pb@1182EC=18</action> <!-- Ships -->
    </script>
    <script state="off">
      <action>maincpu.pb@1184F5=temp0 </action>
      <action>maincpu.pb@116F41=temp1 </action>
      <action>maincpu.pb@1182EC=temp2 </action>
    </script>
  </cheat>

  <cheat desc="Select Firepower">
    <parameter>
      <item value="0x01">Normal</item>
      <item value="0x00">Double</item>
    </parameter>
    <script state="run">
      <action>maincpu.pb@11BC76=param</action>
    </script>
  </cheat>

  <cheat desc="Select Starting Stage"> <comment>The Stage may not be correct till the next stage though</comment>
    <parameter min="1" max="99" step="1"/>
    <script state="run">
      <action condition="(maincpu.pb@11BF71==00)">maincpu.pb@11BF71=(param-1)</action>
    </script>
  </cheat>

  <cheat desc="--------"/>
  <cheat desc="Pooyan"/>
  <cheat desc="--------"/>

  <cheat desc="Infinite Lives">
    <script state="run">
      <action>maincpu.pb@11B270=05</action>
    </script>
  </cheat>

  <cheat desc="1 Wolf Left Now!">
    <script state="on">
      <action>maincpu.pb@11B269=01</action>
    </script>
  </cheat>

  <cheat desc="Invincibility to Wolves + Rocks">
    <script state="run">
      <action>maincpu.pb@11B69A=00</action>
    </script>
  </cheat>

  <cheat desc="Meat Mania">
    <script state="run">
      <action>maincpu.pb@11B898=01</action>
    </script>
  </cheat>

  <cheat desc="Rapid Fire">
    <script state="run">
      <action>maincpu.pb@11B86A=00</action>
    </script>
  </cheat>

  <cheat desc="----------"/>
  <cheat desc="Scramble"/>
  <cheat desc="----------"/>

  <cheat desc="Infinite Lives">
    <script state="run">
      <action>maincpu.pb@116A70=05</action>
    </script>
  </cheat>

  <cheat desc="Infinite Fuel">
    <script state="run">
      <action>maincpu.pb@116A6D=FF</action>
    </script>
  </cheat>

  <cheat desc="Invincibility">
    <script state="on">
      <action>temp0 =maincpu.pb@114FE8</action>
      <action>temp1 =maincpu.pb@1150B4</action>
    </script>
    <script state="run">
      <action>maincpu.pb@114FE8=C9</action>
      <action>maincpu.pb@1150B4=C9</action>
    </script>
    <script state="off">
      <action>maincpu.pb@114FE8=temp0 </action>
      <action>maincpu.pb@1150B4=temp1 </action>
    </script>
  </cheat>

  <cheat desc="Select Starting Level"> <comment>Turn this OFF after you've started or you will loop back to this level after Level 6 (Level 6 = Base)</comment>
    <parameter min="1" max="6" step="1"/>
    <script state="run">
      <action condition="(maincpu.pb@116A86==00)">maincpu.pb@116A86=(param-1)</action>
    </script>
  </cheat>

  <cheat desc="----------------"/>
  <cheat desc="Yie Ar Kung-Fu"/>
  <cheat desc="----------------"/>

  <cheat desc="Infinite Lives">
    <script state="run">
      <action>maincpu.pb@117D98=09</action>
    </script>
  </cheat>

  <cheat desc="Infinite Energy">
    <script state="on">
      <action>temp0 =maincpu.pb@1179F4</action>
    </script>
    <script state="run">
      <action condition="(frame % 300 == 0) AND (maincpu.pb@1179F4!=temp0 )">maincpu.pb@1179F4=08</action>
    </script>
  </cheat>

  <cheat desc="Infinite Energy (CPU)">
    <script state="run">
      <action>maincpu.pb@1179F2=08</action>
    </script>
  </cheat>

  <!--  :konam80j:00800000:11C9B1:00000020:FFFFFFFF:Invincibility:NOT WORKING - address is correct but having no effect! -->
  <!--  :konam80j:00D10000:11CAEC:00001216:FFFFFFFF:Invincibility (2/2):NOT WORKING - address is correct but having no effect! -->

  <cheat desc="Finish this Stage Now!">
    <script state="on">
      <action>maincpu.pb@1179F2=00</action>
    </script>
  </cheat>

  <cheat desc="Select Starting Stage"> <comment>If you leave this enabled after you finish Round 99 you will return to the chosen Stage instead of Stage 1, stages repeat after Stage 11.</comment>
    <parameter>
      <item value="0x0100">1</item>
      <item value="0x0201">2</item>
      <item value="0x0302">3</item>
      <item value="0x0403">4</item>
      <item value="0x0504">5</item>
      <item value="0x0605">6</item>
      <item value="0x0706">7</item>
      <item value="0x0807">8</item>
      <item value="0x0908">9</item>
      <item value="0x1009">10</item>
      <item value="0x110A">11</item>
    </parameter>
    <script state="run">
      <action condition="(maincpu.pw@117D99==0001)">maincpu.pw@117D99=param</action>
    </script>
  </cheat>

  <cheat desc="------------"/>
  <cheat desc="Roc'n Rope"/>
  <cheat desc="------------"/>

  <cheat desc="Infinite Lives">
    <script state="run">
      <action>maincpu.pb@117A28=0A</action>
    </script>
  </cheat>

  <cheat desc="Invincibility to Enemies"> <comment>You can still die when you fall!</comment>
    <script state="run">
      <action>maincpu.pb@117B28=02</action>
    </script>
  </cheat>

  <cheat desc="Infinite Bonus">
    <script state="run">
      <action>maincpu.pb@117A03=99</action>
    </script>
  </cheat>

  <cheat desc="-----------------"/>
  <cheat desc="Shao-Lin's Road"/>
  <cheat desc="-----------------"/>

  <cheat desc="Infinite Lives">
    <script state="run">
      <action>maincpu.pb@1153E0=07</action>
    </script>
  </cheat>

  <!--  Energy, Invincibility + Walk on AIR NOT WORKING - code addresses are correct but having no effect! -->
  <!--  :konam80j:00800000:11AFCA:000000A6:FFFFFFFF:Infinite Energy -->
  <!--  :konam80j:00810000:11AEEF:000000A6:FFFFFFFF:Infinite Energy (2/2):Part 1 takes care of sprite collisions energy drains + Part 2 takes care of falling off platform energy drains -->
  <!--  :konam80j:00800000:11C2EC:00000012:FFFFFFFF:Invincibility:Note, you can still fall off gaps in platforms and lose energy use this with Infinite Energy or Walk on Air to counteract it. -->
  <!--  :konam80j:00810000:11C2ED:00000016:FFFFFFFF:Invincibility (2/3):Part 1 + 2 = Changing a 4 byte branch to a 3 byte BRA, NOP first then a LBRA instruction (for most fighters) -->
  <!--  :konam80j:00810000:11C3CE:00000020:FFFFFFFF:Invincibility (3/3):Changes a BCC to a BRA (for bosses) -->
  <!--  :konam80j:00800000:11AB93:00000020:FFFFFFFF:Walk on Air:This will stop you falling off ends of platforms -->

  <cheat desc="Only 1 to kill on this level">
    <script state="on">
      <action>maincpu.pb@1153EF=01</action>
    </script>
  </cheat>

  <cheat desc="1 hit to kill boss Now!">
    <script state="on">
      <action>maincpu.pb@115C1C=04</action>
    </script>
  </cheat>

  <cheat desc="Select Perm. Next Weapon">
    <parameter>
      <item value="0x01">Purple</item>
      <item value="0x02">Yellow</item>
      <item value="0x03">Green</item>
    </parameter>
    <script state="run">
      <action>maincpu.pb@115ADD=param</action>
    </script>
  </cheat>

  <cheat desc="----------------"/>
  <cheat desc="Circus Charlie"/>
  <cheat desc="----------------"/>

  <cheat desc="Infinite Time">
    <script state="run">
      <action>maincpu.pb@114BE4=07</action>
    </script>
  </cheat>

  <cheat desc="Infinite Lives">
    <script state="run">
      <action>maincpu.pb@114B68=07</action>
    </script>
  </cheat>

  <cheat desc="-------------"/>
  <cheat desc="Super Cobra"/>
  <cheat desc="-------------"/>

  <cheat desc="Infinite Lives">
    <script state="run">
      <action>maincpu.pb@11AA70=05</action>
    </script>
  </cheat>

  <cheat desc="Infinite Fuel">
    <script state="run">
      <action>maincpu.pb@11AA6D=FF</action>
    </script>
  </cheat>

  <cheat desc="Invincibility">
    <script state="on">
      <action>temp0 =maincpu.pb@115361</action>
      <action>temp1 =maincpu.pb@1154B1</action>
    </script>
    <script state="run">
      <action>maincpu.pb@115361=C9</action>
      <action>maincpu.pb@1154B1=C9</action>
    </script>
    <script state="off">
      <action>maincpu.pb@115361=temp0 </action>
      <action>maincpu.pb@1154B1=temp1 </action>
    </script>
  </cheat>

  <cheat desc="Select Starting Level"> <comment>Turn this OFF after you've started or you will loop back to this level after Level 11 (Level 11 = Base)</comment>
    <parameter min="1" max="11" step="1"/>
    <script state="run">
      <action condition="(maincpu.pb@11AA86==00)">maincpu.pb@11AA86=(param-1)</action>
    </script>
  </cheat>

  <cheat desc="--------------"/>
  <cheat desc="Road Fighter"/>
  <cheat desc="--------------"/>

  <cheat desc="Infinite Fuel">
    <script state="run">
      <action>maincpu.pb@115A16=FF</action>
    </script>
  </cheat>

  <cheat desc="Infinite Time">
    <script state="run">
      <action>maincpu.pb@115A1F=00</action>
    </script>
  </cheat>

  <cheat desc="Invincibility">
    <script state="on">
      <action>temp0 =maincpu.pb@119F0D</action>
      <action>temp1 =maincpu.pb@119F16</action>
      <action>temp2 =maincpu.pb@11A2CE</action>
      <action>temp3 =maincpu.pd@11BD28</action>
    </script>
    <script state="run">
      <action>maincpu.pb@119F0D=00</action>
      <action>maincpu.pb@119F16=00</action> <!-- 1st = Right Wall, 2nd = Left Wall -->
      <action>maincpu.pb@11A2CE=00</action> <!-- Car -->
      <action>maincpu.pd@11BD28=003E793E|(maincpu.pd@11BD28 BAND ~00FFFFFF)</action> <!-- Water + Oil -->
    </script>
    <script state="off">
      <action>maincpu.pb@119F0D=temp0 </action>
      <action>maincpu.pb@119F16=temp1 </action>
      <action>maincpu.pb@11A2CE=temp2 </action>
      <action>maincpu.pd@11BD28=temp3 </action>
    </script>
  </cheat>

  <cheat desc="-------------------------------------------------------"/>
  <cheat desc="Don't use the speed cheats with Infinite Time. Assign"/>
  <cheat desc="the cheats to activation keys for the best effect."/>
  <cheat desc="-------------------------------------------------------"/>

  <cheat desc="Select Perm. Speed">
    <parameter>
      <item value="0x07">Normal Maximum</item>
      <item value="0x2D">Super Maximum</item>
    </parameter>
    <script state="run">
      <action>maincpu.pb@1159F1=param</action>
    </script>
  </cheat>

  <cheat desc="Get Normal Max Speed Now!">
    <script state="on">
      <action>maincpu.pb@1159F1=07</action>
    </script>
  </cheat>

  <cheat desc="Get Super Max Speed Now!">
    <script state="on">
      <action>maincpu.pb@1159F1=2D</action>
    </script>
  </cheat>

  <cheat desc="Brake Now!">
    <script state="on">
      <action>maincpu.pb@1159F1=00</action>
    </script>
  </cheat>

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