<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@8E369</action>
      <action>maincpu.mb@8E369=EB</action> <!-- Normal Hits -->
      <action>temp1 =maincpu.mb@8E747</action>
      <action>maincpu.mb@8E747=EB</action> <!-- Objects -->
      <action>temp2 =maincpu.mb@8E9EB</action>
      <action>maincpu.mb@8E9EB=EB</action> <!-- Rockets -->
      <action>temp3 =maincpu.mb@D55F7</action>
      <action>maincpu.mb@D55F7=EB</action> <!-- Neck slasher - stop them going for you -->
      <action>temp4 =maincpu.mb@8F1AB</action>
      <action>maincpu.mb@8F1AB=EB</action> <!-- Lightning at end -->
    </script>
    <script state="off">
      <action>maincpu.mb@8E369=temp0 </action>
      <action>maincpu.mb@8E747=temp1 </action>
      <action>maincpu.mb@8E9EB=temp2 </action>
      <action>maincpu.mb@D55F7=temp3 </action>
      <action>maincpu.mb@8F1AB=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@85AFB</action>
      <action>maincpu.mb@85AFB=00</action>
      <action>temp1 =maincpu.mb@8E614</action>
      <action>maincpu.mb@8E614=00</action>
      <action>temp2 =maincpu.mb@8E8B6</action>
      <action>maincpu.mb@8E8B6=00</action>
      <action>temp3 =maincpu.mb@8EB29</action>
      <action>maincpu.mb@8EB29=00</action>
      <action>temp4 =maincpu.mb@8EC56</action>
      <action>maincpu.mb@8EC56=00</action>
      <action>temp5 =maincpu.mb@8ED50</action>
      <action>maincpu.mb@8ED50=00</action>
      <action>temp6 =maincpu.mb@8EE4B</action>
      <action>maincpu.mb@8EE4B=00</action>
      <action>temp7 =maincpu.mb@8EF49</action>
      <action>maincpu.mb@8EF49=00</action>
      <action>temp8 =maincpu.mb@8F01C</action>
      <action>maincpu.mb@8F01C=00</action>
      <action>temp9 =maincpu.mb@8F114</action>
      <action>maincpu.mb@8F114=00</action>
      <action>temp10=maincpu.mb@8F1FB</action>
      <action>maincpu.mb@8F1FB=00</action>
      <action>temp11=maincpu.mb@9C330</action>
      <action>maincpu.mb@9C330=00</action>
      <action>temp12=maincpu.mb@9C478</action>
      <action>maincpu.mb@9C478=00</action>
      <action>temp13=maincpu.mb@A100E</action>
      <action>maincpu.mb@A100E=00</action>
      <action>temp14=maincpu.mb@A1156</action>
      <action>maincpu.mb@A1156=00</action>
      <action>temp15=maincpu.mb@A4E0F</action>
      <action>maincpu.mb@A4E0F=00</action>
      <action>temp16=maincpu.mb@A4F57</action>
      <action>maincpu.mb@A4F57=00</action>
      <action>temp17=maincpu.mb@B3221</action>
      <action>maincpu.mb@B3221=00</action>
      <action>temp18=maincpu.mb@B76B8</action>
      <action>maincpu.mb@B76B8=00</action>
      <action>temp19=maincpu.mb@BA602</action>
      <action>maincpu.mb@BA602=00</action>
      <action>temp20=maincpu.mb@BF7B9</action>
      <action>maincpu.mb@BF7B9=00</action>
      <action>temp21=maincpu.mb@BF901</action>
      <action>maincpu.mb@BF901=00</action>
      <action>temp22=maincpu.mb@C2A9F</action>
      <action>maincpu.mb@C2A9F=00</action>
      <action>temp23=maincpu.mb@C2BE7</action>
      <action>maincpu.mb@C2BE7=00</action>
      <action>temp24=maincpu.mb@C570C</action>
      <action>maincpu.mb@C570C=00</action>
      <action>temp25=maincpu.mb@C5854</action>
      <action>maincpu.mb@C5854=00</action>
      <action>temp26=maincpu.mb@C89F4</action>
      <action>maincpu.mb@C89F4=00</action>
      <action>temp27=maincpu.mb@C8B3C</action>
      <action>maincpu.mb@C8B3C=00</action>
      <action>temp28=maincpu.mb@CC850</action>
      <action>maincpu.mb@CC850=00</action>
      <action>temp29=maincpu.mb@D3557</action>
      <action>maincpu.mb@D3557=00</action>
      <action>temp30=maincpu.mb@D649C</action>
      <action>maincpu.mb@D649C=00</action>
      <action>temp31=maincpu.mb@D843D</action>
      <action>maincpu.mb@D843D=00</action>
      <action>temp32=maincpu.mb@D8590</action>
      <action>maincpu.mb@D8590=00</action>
      <action>temp33=maincpu.mb@DBD86</action>
      <action>maincpu.mb@DBD86=00</action>
      <action>temp34=maincpu.mb@DBECE</action>
      <action>maincpu.mb@DBECE=00</action>
    </script>
    <script state="off">
      <action>maincpu.mb@85AFB=temp0 </action>
      <action>maincpu.mb@8E614=temp1 </action>
      <action>maincpu.mb@8E8B6=temp2 </action>
      <action>maincpu.mb@8EB29=temp3 </action>
      <action>maincpu.mb@8EC56=temp4 </action>
      <action>maincpu.mb@8ED50=temp5 </action>
      <action>maincpu.mb@8EE4B=temp6 </action>
      <action>maincpu.mb@8EF49=temp7 </action>
      <action>maincpu.mb@8F01C=temp8 </action>
      <action>maincpu.mb@8F114=temp9 </action>
      <action>maincpu.mb@8F1FB=temp10</action>
      <action>maincpu.mb@9C330=temp11</action>
      <action>maincpu.mb@9C478=temp12</action>
      <action>maincpu.mb@A100E=temp13</action>
      <action>maincpu.mb@A1156=temp14</action>
      <action>maincpu.mb@A4E0F=temp15</action>
      <action>maincpu.mb@A4F57=temp16</action>
      <action>maincpu.mb@B3221=temp17</action>
      <action>maincpu.mb@B76B8=temp18</action>
      <action>maincpu.mb@BA602=temp19</action>
      <action>maincpu.mb@BF7B9=temp20</action>
      <action>maincpu.mb@BF901=temp21</action>
      <action>maincpu.mb@C2A9F=temp22</action>
      <action>maincpu.mb@C2BE7=temp23</action>
      <action>maincpu.mb@C570C=temp24</action>
      <action>maincpu.mb@C5854=temp25</action>
      <action>maincpu.mb@C89F4=temp26</action>
      <action>maincpu.mb@C8B3C=temp27</action>
      <action>maincpu.mb@CC850=temp28</action>
      <action>maincpu.mb@D3557=temp29</action>
      <action>maincpu.mb@D649C=temp30</action>
      <action>maincpu.mb@D843D=temp31</action>
      <action>maincpu.mb@D8590=temp32</action>
      <action>maincpu.mb@DBD86=temp33</action>
      <action>maincpu.mb@DBECE=temp34</action>
    </script>
  </cheat>

  <!--   wp 91e2,2,w -->

  <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="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@853F3</action>
    </script>
    <script state="change">
      <action>maincpu.mb@853F3=param</action>
    </script>
    <script state="off">
      <action>maincpu.mb@853F3=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=" "/>

  <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. -->
