<mamecheat version="1">

  <cheat desc="Infinite Credits">
    <script state="run">
      <action>maincpu.pb@095AA=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@8E693</action>
      <action>maincpu.mb@8E693=EB</action> <!-- Normal Hits -->
      <action>temp1 =maincpu.mb@8EA51</action>
      <action>maincpu.mb@8EA51=EB</action> <!-- Objects -->
      <action>temp2 =maincpu.mb@8ECD3</action>
      <action>maincpu.mb@8ECD3=EB</action> <!-- Rockets -->
      <action>temp3 =maincpu.mb@D2CE7</action>
      <action>maincpu.mb@D2CE7=EB</action> <!-- Neck slasher - stop them going for you -->
      <action>temp4 =maincpu.mb@8F405</action>
      <action>maincpu.mb@8F405=EB</action> <!-- Lightning at end -->
    </script>
    <script state="off">
      <action>maincpu.mb@8E693=temp0 </action>
      <action>maincpu.mb@8EA51=temp1 </action>
      <action>maincpu.mb@8ECD3=temp2 </action>
      <action>maincpu.mb@D2CE7=temp3 </action>
      <action>maincpu.mb@8F405=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@85E9A</action>
      <action>maincpu.mb@85E9A=00</action>
      <action>temp1 =maincpu.mb@8E91D</action>
      <action>maincpu.mb@8E91D=00</action>
      <action>temp2 =maincpu.mb@8EB9F</action>
      <action>maincpu.mb@8EB9F=00</action>
      <action>temp3 =maincpu.mb@8EDEA</action>
      <action>maincpu.mb@8EDEA=00</action>
      <action>temp4 =maincpu.mb@8EF07</action>
      <action>maincpu.mb@8EF07=00</action>
      <action>temp5 =maincpu.mb@8EFEF</action>
      <action>maincpu.mb@8EFEF=00</action>
      <action>temp6 =maincpu.mb@8F0DA</action>
      <action>maincpu.mb@8F0DA=00</action>
      <action>temp7 =maincpu.mb@8F1C5</action>
      <action>maincpu.mb@8F1C5=00</action>
      <action>temp8 =maincpu.mb@8F287</action>
      <action>maincpu.mb@8F287=00</action>
      <action>temp9 =maincpu.mb@8F36F</action>
      <action>maincpu.mb@8F36F=00</action>
      <action>temp10=maincpu.ob@8F455</action>
      <action>maincpu.ob@8F455=00</action>
      <action>temp11=maincpu.mb@9C538</action>
      <action>maincpu.mb@9C538=00</action>
      <action>temp12=maincpu.mb@9C674</action>
      <action>maincpu.mb@9C674=00</action>
      <action>temp13=maincpu.mb@A11FD</action>
      <action>maincpu.mb@A11FD=00</action>
      <action>temp14=maincpu.mb@A1339</action>
      <action>maincpu.mb@A1339=00</action>
      <action>temp15=maincpu.mb@A4FEE</action>
      <action>maincpu.mb@A4FEE=00</action>
      <action>temp16=maincpu.mb@A512A</action>
      <action>maincpu.mb@A512A=00</action>
      <action>temp17=maincpu.mb@B3328</action>
      <action>maincpu.mb@B3328=00</action>
      <action>temp18=maincpu.mb@B7763</action>
      <action>maincpu.mb@B7763=00</action>
      <action>temp19=maincpu.mb@BA66C</action>
      <action>maincpu.mb@BA66C=00</action>
      <action>temp20=maincpu.mb@BF6E2</action>
      <action>maincpu.mb@BF6E2=00</action>
      <action>temp21=maincpu.mb@BF81E</action>
      <action>maincpu.mb@BF81E=00</action>
      <action>temp22=maincpu.mb@C298A</action>
      <action>maincpu.mb@C298A=00</action>
      <action>temp23=maincpu.mb@C2AC6</action>
      <action>maincpu.mb@C2AC6=00</action>
      <action>temp24=maincpu.mb@C55B9</action>
      <action>maincpu.mb@C55B9=00</action>
      <action>temp25=maincpu.mb@C56F5</action>
      <action>maincpu.mb@C56F5=00</action>
      <action>temp26=maincpu.mb@C885B</action>
      <action>maincpu.mb@C885B=00</action>
      <action>temp27=maincpu.mb@C8997</action>
      <action>maincpu.mb@C8997=00</action>
      <action>temp28=maincpu.mb@D0C8F</action>
      <action>maincpu.mb@D0C8F=00</action>
      <action>temp29=maincpu.mb@D3B8C</action>
      <action>maincpu.mb@D3B8C=00</action>
      <action>temp30=maincpu.mb@D634D</action>
      <action>maincpu.mb@D634D=00</action>
      <action>temp31=maincpu.mb@D80B2</action>
      <action>maincpu.mb@D80B2=00</action>
      <action>temp32=maincpu.mb@D81C5</action>
      <action>maincpu.mb@D81C5=00</action>
      <action>temp33=maincpu.mb@DB965</action>
      <action>maincpu.mb@DB965=00</action>
      <action>temp34=maincpu.mb@DBAA1</action>
      <action>maincpu.mb@DBAA1=00</action>
    </script>
    <script state="off">
      <action>maincpu.mb@85E9A=temp0 </action>
      <action>maincpu.mb@8E91D=temp1 </action>
      <action>maincpu.mb@8EB9F=temp2 </action>
      <action>maincpu.mb@8EDEA=temp3 </action>
      <action>maincpu.mb@8EF07=temp4 </action>
      <action>maincpu.mb@8EFEF=temp5 </action>
      <action>maincpu.mb@8F0DA=temp6 </action>
      <action>maincpu.mb@8F1C5=temp7 </action>
      <action>maincpu.mb@8F287=temp8 </action>
      <action>maincpu.mb@8F36F=temp9 </action>
      <action>maincpu.ob@8F455=temp10</action>
      <action>maincpu.mb@9C538=temp11</action>
      <action>maincpu.mb@9C674=temp12</action>
      <action>maincpu.mb@A11FD=temp13</action>
      <action>maincpu.mb@A1339=temp14</action>
      <action>maincpu.mb@A4FEE=temp15</action>
      <action>maincpu.mb@A512A=temp16</action>
      <action>maincpu.mb@B3328=temp17</action>
      <action>maincpu.mb@B7763=temp18</action>
      <action>maincpu.mb@BA66C=temp19</action>
      <action>maincpu.mb@BF6E2=temp20</action>
      <action>maincpu.mb@BF81E=temp21</action>
      <action>maincpu.mb@C298A=temp22</action>
      <action>maincpu.mb@C2AC6=temp23</action>
      <action>maincpu.mb@C55B9=temp24</action>
      <action>maincpu.mb@C56F5=temp25</action>
      <action>maincpu.mb@C885B=temp26</action>
      <action>maincpu.mb@C8997=temp27</action>
      <action>maincpu.mb@D0C8F=temp28</action>
      <action>maincpu.mb@D3B8C=temp29</action>
      <action>maincpu.mb@D634D=temp30</action>
      <action>maincpu.mb@D80B2=temp31</action>
      <action>maincpu.mb@D81C5=temp32</action>
      <action>maincpu.mb@DB965=temp33</action>
      <action>maincpu.mb@DBAA1=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@8579F</action>
    </script>
    <script state="change">
      <action>maincpu.mb@8579F=param</action>
    </script>
    <script state="off">
      <action>maincpu.mb@8579F=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. -->
