<mamecheat version="1">

  <cheat desc="Infinite Credits">
    <script state="run">
      <action>maincpu.pb@095B2=09</action>
    </script>
  </cheat>

  <cheat desc="Infinite Time">
    <script state="run">
      <action condition="maincpu.pb@091FE!=80">maincpu.pb@0926C=63</action>
      <action condition="maincpu.pb@091FE==80 AND maincpu.pb@0926C GT 61">maincpu.pb@0926C=1D</action>
    </script>
  </cheat>

  <cheat desc="Invincibility">
    <script state="on">
      <action>temp0 =maincpu.mb@8DF69</action>
      <action>maincpu.mb@8DF69=EB</action> <!-- Normal Hits -->
      <action>temp1 =maincpu.mb@8E389</action>
      <action>maincpu.mb@8E389=EB</action> <!-- Objects -->
      <action>temp2 =maincpu.mb@8E62D</action>
      <action>maincpu.mb@8E62D=EB</action> <!-- Rockets -->
      <action>temp3 =maincpu.mb@D536F</action>
      <action>maincpu.mb@D536F=EB</action> <!-- Neck slasher - stop them going for you -->
      <action>temp4 =maincpu.mb@8EDED</action>
      <action>maincpu.mb@8EDED=EB</action> <!-- Lightning at end -->
    </script>
    <script state="off">
      <action>maincpu.mb@8DF69=temp0 </action>
      <action>maincpu.mb@8E389=temp1 </action>
      <action>maincpu.mb@8E62D=temp2 </action>
      <action>maincpu.mb@D536F=temp3 </action>
      <action>maincpu.mb@8EDED=temp4 </action>
    </script>
  </cheat>

  <cheat desc="Easy Kills + Total Destruction" tempvariables="35"> <comment>Mostly One Hit apart from the Bosses</comment>
    <script state="on">
      <action>temp0 =maincpu.mb@856FB</action>
      <action>maincpu.mb@856FB=00</action> <!-- Unknown -->
      <action>temp1 =maincpu.mb@8E256</action>
      <action>maincpu.mb@8E256=00</action> <!-- Punches and Kicks -->
      <action>temp2 =maincpu.mb@8E4F8</action>
      <action>maincpu.mb@8E4F8=00</action> <!-- Hit Objects -->
      <action>temp3 =maincpu.mb@8E76B</action>
      <action>maincpu.mb@8E76B=00</action> <!-- Unknown -->
      <action>temp4 =maincpu.mb@8E898</action>
      <action>maincpu.mb@8E898=00</action> <!-- Baddie Throws -->
      <action>temp5 =maincpu.mb@8E992</action>
      <action>maincpu.mb@8E992=00</action> <!-- Dynamite -->
      <action>temp6 =maincpu.mb@8EA8D</action>
      <action>maincpu.mb@8EA8D=00</action> <!-- Object Throws -->
      <action>temp7 =maincpu.mb@8EB8B</action>
      <action>maincpu.mb@8EB8B=00</action> <!-- Object on Object Total Destruction -->
      <action>temp8 =maincpu.mb@8EC5E</action>
      <action>maincpu.mb@8EC5E=00</action> <!-- Rocket Fire on Enemies -->
      <action>temp9 =maincpu.mb@8ED56</action>
      <action>maincpu.mb@8ED56=00</action> <!-- Rocket Fire on Objects -->
      <action>temp10=maincpu.mb@8EE3D</action>
      <action>maincpu.mb@8EE3D=00</action> <!-- Unknown -->
      <action>temp11=maincpu.mb@9BF80</action>
      <action>maincpu.mb@9BF80=00</action> <!-- Others -->
      <action>temp12=maincpu.mb@9C0C8</action>
      <action>maincpu.mb@9C0C8=00</action> <!-- Others -->
      <action>temp13=maincpu.mb@A0C5E</action>
      <action>maincpu.mb@A0C5E=00</action> <!-- Others -->
      <action>temp14=maincpu.mb@A0DA6</action>
      <action>maincpu.mb@A0DA6=00</action> <!-- Others -->
      <action>temp15=maincpu.mb@A4A5F</action>
      <action>maincpu.mb@A4A5F=00</action> <!-- Others -->
      <action>temp16=maincpu.mb@A4BA7</action>
      <action>maincpu.mb@A4BA7=00</action> <!-- Others -->
      <action>temp17=maincpu.mb@B2EE1</action>
      <action>maincpu.mb@B2EE1=00</action> <!-- Others -->
      <action>temp18=maincpu.mb@B7378</action>
      <action>maincpu.mb@B7378=00</action> <!-- Others -->
      <action>temp19=maincpu.mb@BA306</action>
      <action>maincpu.mb@BA306=00</action> <!-- Others -->
      <action>temp20=maincpu.mb@BF4D1</action>
      <action>maincpu.mb@BF4D1=00</action> <!-- Others -->
      <action>temp21=maincpu.mb@BF619</action>
      <action>maincpu.mb@BF619=00</action> <!-- Others -->
      <action>temp22=maincpu.mb@C27B7</action>
      <action>maincpu.mb@C27B7=00</action> <!-- Others -->
      <action>temp23=maincpu.mb@C28FF</action>
      <action>maincpu.mb@C28FF=00</action> <!-- Others -->
      <action>temp24=maincpu.mb@C5424</action>
      <action>maincpu.mb@C5424=00</action> <!-- Others -->
      <action>temp25=maincpu.mb@C556C</action>
      <action>maincpu.mb@C556C=00</action> <!-- Others -->
      <action>temp26=maincpu.mb@C870C</action>
      <action>maincpu.mb@C870C=00</action> <!-- Others -->
      <action>temp27=maincpu.mb@C8854</action>
      <action>maincpu.mb@C8854=00</action> <!-- Others -->
      <action>temp28=maincpu.mb@CC570</action>
      <action>maincpu.mb@CC570=00</action> <!-- Others -->
      <action>temp29=maincpu.mb@D32C7</action>
      <action>maincpu.mb@D32C7=00</action> <!-- Others -->
      <action>temp30=maincpu.mb@D6214</action>
      <action>maincpu.mb@D6214=00</action> <!-- Others -->
      <action>temp31=maincpu.mb@D81BD</action>
      <action>maincpu.mb@D81BD=00</action> <!-- Others -->
      <action>temp32=maincpu.mb@D8310</action>
      <action>maincpu.mb@D8310=00</action> <!-- Others -->
      <action>temp33=maincpu.mb@DBB06</action>
      <action>maincpu.mb@DBB06=00</action> <!-- Others -->
      <action>temp34=maincpu.mb@DBC4E</action>
      <action>maincpu.mb@DBC4E=00</action> <!-- Others -->
    </script>
    <script state="off">
      <action>maincpu.mb@856FB=temp0 </action>
      <action>maincpu.mb@8E256=temp1 </action>
      <action>maincpu.mb@8E4F8=temp2 </action>
      <action>maincpu.mb@8E76B=temp3 </action>
      <action>maincpu.mb@8E898=temp4 </action>
      <action>maincpu.mb@8E992=temp5 </action>
      <action>maincpu.mb@8EA8D=temp6 </action>
      <action>maincpu.mb@8EB8B=temp7 </action>
      <action>maincpu.mb@8EC5E=temp8 </action>
      <action>maincpu.mb@8ED56=temp9 </action>
      <action>maincpu.mb@8EE3D=temp10</action>
      <action>maincpu.mb@9BF80=temp11</action>
      <action>maincpu.mb@9C0C8=temp12</action>
      <action>maincpu.mb@A0C5E=temp13</action>
      <action>maincpu.mb@A0DA6=temp14</action>
      <action>maincpu.mb@A4A5F=temp15</action>
      <action>maincpu.mb@A4BA7=temp16</action>
      <action>maincpu.mb@B2EE1=temp17</action>
      <action>maincpu.mb@B7378=temp18</action>
      <action>maincpu.mb@BA306=temp19</action>
      <action>maincpu.mb@BF4D1=temp20</action>
      <action>maincpu.mb@BF619=temp21</action>
      <action>maincpu.mb@C27B7=temp22</action>
      <action>maincpu.mb@C28FF=temp23</action>
      <action>maincpu.mb@C5424=temp24</action>
      <action>maincpu.mb@C556C=temp25</action>
      <action>maincpu.mb@C870C=temp26</action>
      <action>maincpu.mb@C8854=temp27</action>
      <action>maincpu.mb@CC570=temp28</action>
      <action>maincpu.mb@D32C7=temp29</action>
      <action>maincpu.mb@D6214=temp30</action>
      <action>maincpu.mb@D81BD=temp31</action>
      <action>maincpu.mb@D8310=temp32</action>
      <action>maincpu.mb@DBB06=temp33</action>
      <action>maincpu.mb@DBC4E=temp34</action>
    </script>
  </cheat>

  <cheat desc="Select Starting Stage">
    <parameter>
      <item value="0x00">01 Stage 1 Start</item>
      <item value="0x02">02 Stage 1 End</item>
      <item value="0x03">03 Stage 2 Start</item>
      <item value="0x05">04 Stage 2 End</item>
      <item value="0x06">05 Stage 3 Start</item>
      <item value="0x08">06 Stage 3 End</item>
      <item value="0x09">07 First Bonus Stage</item>
      <item value="0x0A">08 Stage 4 Start</item>
      <item value="0x0B">09 Stage 4 Part 2</item>
      <item value="0x0C">10 Stage 4 Part 3</item>
      <item value="0x0D">11 Stage 4 Part 4</item>
      <item value="0x0E">12 Stage 4 Part 5</item>
      <item value="0x0F">13 Stage 4 Part 6</item>
      <item value="0x10">14 Stage 5-1 Start</item>
      <item value="0x12">15 Stage 5-2 Sailing Interlude</item>
      <item value="0x13">16 Stage 5-3 Doors</item>
      <item value="0x14">17 Stage 5-4 Field</item>
      <item value="0x15">18 Stage 5-5 Cavern</item>
      <item value="0x16">19 Second Bonus Stage</item>
      <item value="0x17">20 Final Stage</item>
      <item value="0x18">21 Final Stage Boss</item>
      <item value="0x19">22 End Sequence Running</item>
      <item value="0x1A">23 End Sequence Helicopter Pickup</item>
      <item value="0x1B">24 End Sequence Helicopter Flying</item>
    </parameter>
    <script state="on">
      <action>temp0 =maincpu.mb@84FF3</action>
    </script>
    <script state="change">
      <action>maincpu.mb@84FF3=param</action>
    </script>
    <script state="off">
      <action>maincpu.mb@84FF3=temp0 </action>
    </script>
  </cheat>

  <cheat desc="Reveal lots of treasure">
    <script state="run">
      <action>maincpu.pb@01D4C=12</action>
      <action>maincpu.pb@01E4C=12</action>
      <action>maincpu.pb@01F4C=12</action>
      <action>maincpu.pb@0204C=12</action>
      <action>maincpu.pb@0214C=12</action>
      <action>maincpu.pb@0224C=12</action>
      <action>maincpu.pb@0234C=12</action>
      <action>maincpu.pb@0244C=12</action>
      <action>maincpu.pb@01D4F=01</action>
      <action>maincpu.pb@01E4F=01</action>
      <action>maincpu.pb@01F4F=01</action>
      <action>maincpu.pb@0204F=01</action>
      <action>maincpu.pb@0214F=01</action>
      <action>maincpu.pb@0224F=01</action>
      <action>maincpu.pb@0234F=01</action>
      <action>maincpu.pb@0244F=01</action>
    </script>
  </cheat>

  <cheat desc="Change Current Enemies into Boss Now!">
    <script state="on">
      <action>maincpu.pw@010CE=3100, maincpu.pw@011CE=3100, maincpu.pw@012CE=3100, maincpu.pw@013CE=3100</action>
      <action>maincpu.pw@010D0=B0CE, maincpu.pw@011D0=B0CE, maincpu.pw@012D0=B0CE, maincpu.pw@013D0=B0CE</action>
      <action>maincpu.pw@010F4=0100, maincpu.pw@011F4=0100, maincpu.pw@012F4=0100, maincpu.pw@013F4=0100</action>
      <action>maincpu.pb@010F6=02, maincpu.pb@011F6=02, maincpu.pb@012F6=02, maincpu.pb@013F6=02</action>
      <action>maincpu.pb@01152=01, maincpu.pb@01252=01, maincpu.pb@01352=01, maincpu.pb@01452=01</action>
      <action>maincpu.pw@0112C=031A, maincpu.pw@0122C=031A, maincpu.pw@0132C=031A, maincpu.pw@0142C=031A</action>
      <action>maincpu.pb@091F4=00</action>
      <action>maincpu.pw@0E30A=0191, maincpu.pw@0E30C=02DD, maincpu.pw@0E30E=3FFF, maincpu.pw@0E310=4A52</action>
      <action>maincpu.pw@0E312=77BD, maincpu.pw@0E314=2D26, maincpu.pw@0E316=5671, maincpu.pw@0E318=6318</action>
      <action>maincpu.pw@0E31A=77DE, maincpu.pw@0E31C=0000, maincpu.pw@0E31E=39C6, maincpu.pw@0E320=0849</action>
      <action>maincpu.pw@0E322=0CAB, maincpu.pw@0E324=256D, maincpu.pw@0E326=03E0, maincpu.pw@0E328=03E0</action>
      <action>maincpu.pw@0E32A=0CCA, maincpu.pw@0E32C=1D53, maincpu.pw@0E32E=329B, maincpu.pw@0E330=7BDE</action>
      <action>maincpu.pw@0E332=6739, maincpu.pw@0E334=5294, maincpu.pw@0E336=3DEF, maincpu.pw@0E338=294A</action>
      <action>maincpu.pw@0E33A=14A5, maincpu.pw@0E33C=0000, maincpu.pw@0E5E0=0CAB, maincpu.pw@0E5E2=1D53</action>
      <action>maincpu.pw@0E5E4=2A5A, maincpu.pw@0E5E6=5410, maincpu.pw@0E5E8=701C, maincpu.pw@0E5EA=019C</action>
      <action>maincpu.pw@0E5EC=02DD, maincpu.pw@0E5EE=3FFF, maincpu.pw@0E5F0=4A52, maincpu.pw@0E5F2=77BD</action>
      <action>maincpu.pw@0E5F4=2D26, maincpu.pw@0E5F6=5671, maincpu.pw@0E5F8=6717, maincpu.pw@0E5FA=7FFE</action>
      <action>maincpu.pw@0E5FC=0000</action>
    </script>
  </cheat>

  <cheat desc=" "/>

  <cheat desc="P1 Infinite Lives">
    <script state="run">
      <action>maincpu.pb@092CE=05</action>
    </script>
  </cheat>

  <cheat desc="P1 Infinite Energy">
    <script state="run">
      <action>maincpu.pw@008DC=0300</action>
    </script>
  </cheat>

  <cheat desc="P1 Select Perm. Weapon"> <comment>Rocket Launcher includes Infinite Ammo, best used with Invincibility to avoid the risk of littering the screen with Rocket Launchers when you get hit.</comment>
    <parameter>
      <item value="0x00000000">None</item>
      <item value="0x00010063">Rocket Launcher</item>
    </parameter>
    <script state="run">
      <action>maincpu.pd@092D0=param</action>
    </script>
  </cheat>

  <cheat desc=" "/>

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

  <cheat desc="P2 Infinite Energy">
    <script state="run">
      <action>maincpu.pw@009DC=0300</action>
    </script>
  </cheat>

  <cheat desc="P2 Select Perm. Weapon"> <comment>Rocket Launcher includes Infinite Ammo, best used with Invincibility to avoid the risk of littering the screen with Rocket Launchers when you get hit.</comment>
    <parameter>
      <item value="0x00000000">None</item>
      <item value="0x00010063">Rocket Launcher</item>
    </parameter>
    <script state="run">
      <action>maincpu.pd@0938A=param</action>
    </script>
  </cheat>

  <cheat desc=" "/>

  <cheat desc="Select Region"> <comment>Enable it and reset to see the effect</comment>
    <parameter>
      <item value="0x00">JAPAN</item>
      <item value="0x01">US (FABTEK)</item>
      <item value="0x02">KOREA</item>
      <item value="0x03">TAIWAN</item>
    </parameter>
    <script state="on">
      <action>temp0 =maincpu.mb@FFFFB</action>
    </script>
    <script state="run">
      <action>maincpu.mb@FFFFB=param</action>
    </script>
    <script state="off">
      <action>maincpu.mb@FFFFB=temp0 </action>
    </script>
  </cheat>

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