<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@8DFA1</action>
      <action>maincpu.mb@8DFA1=EB</action> <!-- Normal Hits -->
      <action>temp1 =maincpu.mb@8E3C1</action>
      <action>maincpu.mb@8E3C1=EB</action> <!-- Objects -->
      <action>temp2 =maincpu.mb@8E665</action>
      <action>maincpu.mb@8E665=EB</action> <!-- Rockets -->
      <action>temp3 =maincpu.mb@D544F</action>
      <action>maincpu.mb@D544F=EB</action> <!-- Neck slasher - stop them going for you -->
      <action>temp4 =maincpu.mb@8EE25</action>
      <action>maincpu.mb@8EE25=EB</action> <!-- Lightning at end -->
    </script>
    <script state="off">
      <action>maincpu.mb@8DFA1=temp0 </action>
      <action>maincpu.mb@8E3C1=temp1 </action>
      <action>maincpu.mb@8E665=temp2 </action>
      <action>maincpu.mb@D544F=temp3 </action>
      <action>maincpu.mb@8EE25=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@85708</action>
      <action>maincpu.mb@85708=00</action> <!-- Unknown -->
      <action>temp1 =maincpu.mb@8E28E</action>
      <action>maincpu.mb@8E28E=00</action>
      <action>temp2 =maincpu.mb@8E530</action>
      <action>maincpu.mb@8E530=00</action>
      <action>temp3 =maincpu.mb@8E7A3</action>
      <action>maincpu.mb@8E7A3=00</action>
      <action>temp4 =maincpu.mb@8E8D0</action>
      <action>maincpu.mb@8E8D0=00</action>
      <action>temp5 =maincpu.mb@8E9CA</action>
      <action>maincpu.mb@8E9CA=00</action>
      <action>temp6 =maincpu.mb@8EAC5</action>
      <action>maincpu.mb@8EAC5=00</action>
      <action>temp7 =maincpu.mb@8EBC3</action>
      <action>maincpu.mb@8EBC3=00</action>
      <action>temp8 =maincpu.mb@8EC96</action>
      <action>maincpu.mb@8EC96=00</action>
      <action>temp9 =maincpu.mb@8ED8E</action>
      <action>maincpu.mb@8ED8E=00</action>
      <action>temp10=maincpu.mb@8EE75</action>
      <action>maincpu.mb@8EE75=00</action>
      <action>temp11=maincpu.mb@9BFCA</action>
      <action>maincpu.mb@9BFCA=00</action> <!-- Others -->
      <action>temp12=maincpu.mb@9C112</action>
      <action>maincpu.mb@9C112=00</action> <!-- Others -->
      <action>temp13=maincpu.mb@A0CBC</action>
      <action>maincpu.mb@A0CBC=00</action> <!-- Others -->
      <action>temp14=maincpu.mb@A0E04</action>
      <action>maincpu.mb@A0E04=00</action> <!-- Others -->
      <action>temp15=maincpu.mb@A4AC7</action>
      <action>maincpu.mb@A4AC7=00</action> <!-- Others -->
      <action>temp16=maincpu.mb@A4C0F</action>
      <action>maincpu.mb@A4C0F=00</action> <!-- Others -->
      <action>temp17=maincpu.mb@B2F81</action>
      <action>maincpu.mb@B2F81=00</action> <!-- Others -->
      <action>temp18=maincpu.mb@B7418</action>
      <action>maincpu.mb@B7418=00</action> <!-- Others -->
      <action>temp19=maincpu.mb@BA3B0</action>
      <action>maincpu.mb@BA3B0=00</action> <!-- Others -->
      <action>temp20=maincpu.mb@BF585</action>
      <action>maincpu.mb@BF585=00</action> <!-- Others -->
      <action>temp21=maincpu.mb@BF6CD</action>
      <action>maincpu.mb@BF6CD=00</action> <!-- Others -->
      <action>temp22=maincpu.mb@C2882</action>
      <action>maincpu.mb@C2882=00</action> <!-- Others -->
      <action>temp23=maincpu.mb@C29CA</action>
      <action>maincpu.mb@C29CA=00</action> <!-- Others -->
      <action>temp24=maincpu.mb@C54F8</action>
      <action>maincpu.mb@C54F8=00</action> <!-- Others -->
      <action>temp25=maincpu.mb@C5640</action>
      <action>maincpu.mb@C5640=00</action> <!-- Others -->
      <action>temp26=maincpu.mb@C87EA</action>
      <action>maincpu.mb@C87EA=00</action> <!-- Others -->
      <action>temp27=maincpu.mb@C8932</action>
      <action>maincpu.mb@C8932=00</action> <!-- Others -->
      <action>temp28=maincpu.mb@CC640</action>
      <action>maincpu.mb@CC640=00</action> <!-- Others -->
      <action>temp29=maincpu.mb@D33A7</action>
      <action>maincpu.mb@D33A7=00</action> <!-- Others -->
      <action>temp30=maincpu.mb@D62F4</action>
      <action>maincpu.mb@D62F4=00</action> <!-- Others -->
      <action>temp31=maincpu.mb@D829D</action>
      <action>maincpu.mb@D829D=00</action> <!-- Others -->
      <action>temp32=maincpu.mb@D83F0</action>
      <action>maincpu.mb@D83F0=00</action> <!-- Others -->
      <action>temp33=maincpu.mb@DBBF0</action>
      <action>maincpu.mb@DBBF0=00</action> <!-- Others -->
      <action>temp34=maincpu.mb@DBD38</action>
      <action>maincpu.mb@DBD38=00</action> <!-- Others -->
    </script>
    <script state="off">
      <action>maincpu.mb@85708=temp0 </action>
      <action>maincpu.mb@8E28E=temp1 </action>
      <action>maincpu.mb@8E530=temp2 </action>
      <action>maincpu.mb@8E7A3=temp3 </action>
      <action>maincpu.mb@8E8D0=temp4 </action>
      <action>maincpu.mb@8E9CA=temp5 </action>
      <action>maincpu.mb@8EAC5=temp6 </action>
      <action>maincpu.mb@8EBC3=temp7 </action>
      <action>maincpu.mb@8EC96=temp8 </action>
      <action>maincpu.mb@8ED8E=temp9 </action>
      <action>maincpu.mb@8EE75=temp10</action>
      <action>maincpu.mb@9BFCA=temp11</action>
      <action>maincpu.mb@9C112=temp12</action>
      <action>maincpu.mb@A0CBC=temp13</action>
      <action>maincpu.mb@A0E04=temp14</action>
      <action>maincpu.mb@A4AC7=temp15</action>
      <action>maincpu.mb@A4C0F=temp16</action>
      <action>maincpu.mb@B2F81=temp17</action>
      <action>maincpu.mb@B7418=temp18</action>
      <action>maincpu.mb@BA3B0=temp19</action>
      <action>maincpu.mb@BF585=temp20</action>
      <action>maincpu.mb@BF6CD=temp21</action>
      <action>maincpu.mb@C2882=temp22</action>
      <action>maincpu.mb@C29CA=temp23</action>
      <action>maincpu.mb@C54F8=temp24</action>
      <action>maincpu.mb@C5640=temp25</action>
      <action>maincpu.mb@C87EA=temp26</action>
      <action>maincpu.mb@C8932=temp27</action>
      <action>maincpu.mb@CC640=temp28</action>
      <action>maincpu.mb@D33A7=temp29</action>
      <action>maincpu.mb@D62F4=temp30</action>
      <action>maincpu.mb@D829D=temp31</action>
      <action>maincpu.mb@D83F0=temp32</action>
      <action>maincpu.mb@DBBF0=temp33</action>
      <action>maincpu.mb@DBD38=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@85001</action>
    </script>
    <script state="change">
      <action>maincpu.mb@85001=param</action>
    </script>
    <script state="off">
      <action>maincpu.mb@85001=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. -->
