<mamecheat version="1">

  <cheat desc="Infinite Time">
    <script state="run">
      <action>maincpu.pw@00AA=0258</action>
    </script>
  </cheat>

  <cheat desc="Infinite Lives">
    <script state="run">
      <action>maincpu.pb@0060=08</action>
    </script>
  </cheat>

  <cheat desc="Invincibility"> <comment>Water still kills though</comment>
    <script state="on">
      <action>temp0 =maincpu.mb@F095</action>
      <action>temp1 =maincpu.mb@F4CF</action>
    </script>
    <script state="run">
      <action>maincpu.mb@F095=20</action> <!-- Enemies -->
      <action>maincpu.mb@F4CF=20</action> <!-- Shots -->
    </script>
    <script state="off">
      <action>maincpu.mb@F095=temp0 </action>
      <action>maincpu.mb@F4CF=temp1 </action>
    </script>
  </cheat>

  <cheat desc="Select Jump"> <comment>Use the Mega Jump sparingly, basically okish on the first level...the High Jump cheat is better</comment>
    <parameter>
      <item value="0x0440">Normal</item>
      <item value="0x0660">High</item>
      <item value="0x0880">Mega</item>
    </parameter>
    <script state="run">
      <action>maincpu.mw@93BB=param</action>
    </script>
  </cheat>

  <cheat desc="Always kill Boss/Devil with 1 Shot">
    <script state="on">
      <action>temp0 =maincpu.mb@EF1F</action>
    </script>
    <script state="run">
      <action>maincpu.mb@EF1F=00</action>
    </script>
    <script state="off">
      <action>maincpu.mb@EF1F=temp0 </action>
    </script>
  </cheat>

  <cheat desc="Select Armour">
    <parameter>
      <item value="0x00">Armour</item>
      <item value="0x01">No Armour</item>
    </parameter>
    <script state="run">
      <action>maincpu.pb@00AC=param</action>
    </script>
  </cheat>

  <cheat desc="Select Weapon">
    <parameter>
      <item value="0x00">Torch</item>
      <item value="0x01">Lance</item>
      <item value="0x02">Axe</item>
      <item value="0x03">Shield</item>
      <item value="0x04">Sword</item>
    </parameter>
    <script state="run">
      <action>maincpu.pb@0073=param</action>
    </script>
  </cheat>

  <cheat desc="Warp To Top Of Screen Now!">
    <script state="on">
      <action>maincpu.pb@050A=FF</action>
    </script>
  </cheat>

  <cheat desc="Turn into frog Now!">
    <script state="on">
      <action>maincpu.pb@0503=04</action>
    </script>
  </cheat>

  <cheat desc="Never change into frog">
    <script state="run">
      <action>maincpu.pb@0528=01</action>
    </script>
  </cheat>

  <cheat desc="Select Starting Level">
    <parameter min="1" max="7" step="1"/>
    <script state="run">
      <action condition="(maincpu.pb@0072==00)">maincpu.pb@0072=(param-1)</action>
    </script>
  </cheat>

  <cheat desc="Always cast spell with 1 Shot">
    <script state="on">
      <action>temp0 =maincpu.mb@E291</action>
    </script>
    <script state="run">
      <action>maincpu.mb@E291=01</action>
    </script>
    <script state="off">
      <action>maincpu.mb@E291=temp0 </action>
    </script>
  </cheat>

  <cheat desc="Select Walk Speed">
    <parameter> <!-- 1 = normal,  2 = 2x normal, 3 = 3x normal -->
      <item value="0x01">Normal</item>
      <item value="0x02">Fast</item>
      <item value="0x03">Very Fast</item>
    </parameter>
    <script state="on">
      <action>temp0=506</action> <!-- Left + Right (X) address -->
      <action>temp2=1</action> <!-- Normal Increment or Decrement when sprite moves Left + Right (X) -->
    </script>
    <script state="run">
      <action condition="maincpu.pw@temp0==temp8+temp2">maincpu.pw@temp0=temp8+(temp2*param)</action>
      <action condition="maincpu.pw@temp0==temp8-temp2">maincpu.pw@temp0=temp8-(temp2*param)</action>
      <action>temp8=maincpu.pw@temp0</action>
    </script>
  </cheat>

  <cheat desc="Select Devil Kill Difficulty">
    <parameter>
      <item value="0x01">Easy (1 Shot)</item>
      <item value="0x03">Normal (3 Shots)</item>
      <item value="0x06">Hard (6 Shots)</item>
    </parameter>
    <script state="on">
      <action>temp0 =maincpu.mb@B5A5</action>
    </script>
    <script state="run">
      <action>maincpu.mb@B5A5=param</action>
    </script>
    <script state="off">
      <action>maincpu.mb@B5A5=temp0 </action>
    </script>
  </cheat>

  <cheat desc="Select Gargoyle Kill Difficulty">
    <parameter>
      <item value="0x01">Easy (1 Shot)</item>
      <item value="0x0A">Normal (10 Shots)</item>
      <item value="0x14">Hard (20 Shots)</item>
    </parameter>
    <script state="on">
      <action>temp0 =maincpu.mb@CE4F</action>
    </script>
    <script state="run">
      <action>maincpu.mb@CE4F=param</action>
    </script>
    <script state="off">
      <action>maincpu.mb@CE4F=temp0 </action>
    </script>
  </cheat>

  <cheat desc="Select Stalagmite Kill Difficulty">
    <parameter>
      <item value="0x01">Easy (1 Shot)</item>
      <item value="0x04">Normal (4 Shots)</item>
      <item value="0x08">Hard (8 Shots)</item>
    </parameter>
    <script state="on">
      <action>temp0 =maincpu.mb@DF57</action>
    </script>
    <script state="run">
      <action>maincpu.mb@DF57=param</action>
    </script>
    <script state="off">
      <action>maincpu.mb@DF57=temp0 </action>
    </script>
  </cheat>

  <cheat desc="Select Boss Giant Kill Difficulty">
    <parameter>
      <item value="0x01">Easy (1 Shot)</item>
      <item value="0x0A">Normal (10 Shots)</item>
      <item value="0x14">Hard (20 Shots)</item>
    </parameter>
    <script state="on">
      <action>temp0 =maincpu.mb@C3FB</action>
    </script>
    <script state="run">
      <action>maincpu.mb@C3FB=param</action>
    </script>
    <script state="off">
      <action>maincpu.mb@C3FB=temp0 </action>
    </script>
  </cheat>

  <cheat desc="Select Boss Devil Kill Difficulty">
    <parameter>
      <item value="0x01">Easy (1 Shot)</item>
      <item value="0x0A">Normal (10 Shots)</item>
      <item value="0x14">Hard (20 Shots)</item>
    </parameter>
    <script state="on">
      <action>temp0 =maincpu.mb@BDC6</action>
    </script>
    <script state="run">
      <action>maincpu.mb@BDC6=param</action>
    </script>
    <script state="off">
      <action>maincpu.mb@BDC6=temp0 </action>
    </script>
  </cheat>

  <cheat desc="Select Boss Satan Kill Difficulty">
    <parameter>
      <item value="0x01">Easy (1 Shot)</item>
      <item value="0x0A">Normal (10 Shots)</item>
      <item value="0x14">Hard (20 Shots)</item>
    </parameter>
    <script state="on">
      <action>temp0 =maincpu.mb@DA58</action>
    </script>
    <script state="run">
      <action>maincpu.mb@DA58=param</action>
    </script>
    <script state="off">
      <action>maincpu.mb@DA58=temp0 </action>
    </script>
  </cheat>

  <cheat desc=" "/>

  <cheat desc="Skip RAM/ROM Checks"> <comment>Also allows a quicker start-up, if enabled during the bootup sequence enable and then reset. It's better to use together with Pre-Enable</comment>
    <script state="on">
      <action>temp0 =maincpu.mw@6000</action>
    </script>
    <script state="run">
      <action>maincpu.mw@6000=207B</action>
    </script>
    <script state="off">
      <action>maincpu.mw@6000=temp0 </action>
    </script>
  </cheat>

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