<mamecheat version="1">

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

  <cheat desc="Unlock Area Select Mode"> <comment>Reset the game to enable it</comment>
    <script state="on">
      <action>temp0 =maincpu.mb@0005E7</action>
      <action>temp1 =maincpu.mw@007E4E</action>
    </script>
    <script state="run">
      <action>maincpu.mb@0005E7=9E</action>
      <action>maincpu.mw@007E4E=6078</action> <!-- 1st = ROM check skipping, 2nd = Branch to area selection mode -->
    </script>
    <script state="off">
      <action>maincpu.mb@0005E7=temp0 </action>
      <action>maincpu.mw@007E4E=temp1 </action>
    </script>
  </cheat>

  <cheat desc="Select Starting Area"> <comment>Enable on the 'PUSH 1 OR 2 PLAYER BUTTON' screen. Turn it OFF after starting the game.</comment>
    <parameter min="1" max="6" step="1"/>
    <script state="on">
      <action>maincpu.pb@402313=FF</action>
    </script>
    <script state="change">
      <action>maincpu.pb@402313=(param)</action>
    </script>
  </cheat>

  <cheat desc="Always Have Speed Up" tempvariables="12">
    <script state="on">
      <action>temp0 =maincpu.mw@027324</action>
      <action>temp1 =maincpu.mw@02732C</action>
      <action>temp2 =maincpu.mw@027338</action>
      <action>temp3 =maincpu.mw@027340</action>
      <action>temp4 =maincpu.mw@027344</action>
      <action>temp5 =maincpu.mw@027348</action>
      <action>temp6 =maincpu.mw@02734C</action>
      <action>temp7 =maincpu.mw@027358</action>
      <action>temp8 =maincpu.mw@027360</action>
      <action>temp9 =maincpu.mw@027364</action>
      <action>temp10=maincpu.mw@027368</action>
      <action>temp11=maincpu.mw@02736C</action>
    </script>
    <script state="run">
      <action>maincpu.mw@027324=0500</action>
      <action>maincpu.mw@02732C=FB01</action> <!-- 1st = Up, 2nd = Down -->
      <action>maincpu.mw@027338=FAA1</action> <!-- Left -->
      <action>maincpu.mw@027340=FC35</action> <!-- Upper-Left -->
      <action>maincpu.mw@027344=0388</action> <!-- Upper-Left -->
      <action>maincpu.mw@027348=FC35</action> <!-- Lower-Left -->
      <action>maincpu.mw@02734C=FC79</action> <!-- Lower-Left -->
      <action>maincpu.mw@027358=0560</action> <!-- Right -->
      <action>maincpu.mw@027360=03CC</action> <!-- Upper-Right -->
      <action>maincpu.mw@027364=0388</action> <!-- Upper-Right -->
      <action>maincpu.mw@027368=03CC</action> <!-- Lower-Right -->
      <action>maincpu.mw@02736C=FC79</action> <!-- Lower-Right -->
    </script>
    <script state="off">
      <action>maincpu.mw@027324=temp0 </action>
      <action>maincpu.mw@02732C=temp1 </action>
      <action>maincpu.mw@027338=temp2 </action>
      <action>maincpu.mw@027340=temp3 </action>
      <action>maincpu.mw@027344=temp4 </action>
      <action>maincpu.mw@027348=temp5 </action>
      <action>maincpu.mw@02734C=temp6 </action>
      <action>maincpu.mw@027358=temp7 </action>
      <action>maincpu.mw@027360=temp8 </action>
      <action>maincpu.mw@027364=temp9 </action>
      <action>maincpu.mw@027368=temp10</action>
      <action>maincpu.mw@02736C=temp11</action>
    </script>
  </cheat>

  <cheat desc="Always Have Penetrable Shot">
    <script state="on">
      <action>temp0 =maincpu.mw@02577E</action>
      <action>temp1 =maincpu.mw@0257C6</action>
    </script>
    <script state="run">
      <action>maincpu.mw@02577E=600A</action>
      <action>maincpu.mw@0257C6=600A</action>
    </script>
    <script state="off">
      <action>maincpu.mw@02577E=temp0 </action>
      <action>maincpu.mw@0257C6=temp1 </action>
    </script>
  </cheat>

  <cheat desc="Select Shot Speed">
    <parameter min="0" max="30" step="1"/>
    <script state="on">
      <action>temp0 =maincpu.mb@02759A</action>
      <action>temp1 =maincpu.mw@0275CC</action>
    </script>
    <script state="run">
      <action>maincpu.mb@02759A=(param)</action>
      <action>maincpu.mw@0275CC=303C</action>
    </script>
    <script state="off">
      <action>maincpu.mb@02759A=temp0 </action>
      <action>maincpu.mw@0275CC=temp1 </action>
    </script>
  </cheat>

  <cheat desc=" "/>

  <cheat desc="Infinite Lives PL1">
    <script state="run">
      <action>maincpu.pb@404B95=9A</action>
    </script>
  </cheat>

  <cheat desc="Invincibility PL1">
    <script state="run">
      <action>maincpu.pw@404BF4=0002</action>
    </script>
  </cheat>

  <cheat desc="Auto Lock-On PL1">
    <script state="on">
      <action>temp0 =maincpu.mw@03047E</action>
      <action>temp1 =maincpu.mw@0305C4</action>
    </script>
    <script state="run">
      <action>maincpu.mw@03047E=6028</action>
      <action>maincpu.mw@0305C4=6028</action>
    </script>
    <script state="off">
      <action>maincpu.mw@03047E=temp0 </action>
      <action>maincpu.mw@0305C4=temp1 </action>
    </script>
  </cheat>

  <cheat desc="Always have LASER Power MAX PL1">
    <script state="run">
      <action>maincpu.pb@404BA3=0A</action>
      <action>maincpu.pb@404BAF=06</action>
    </script>
  </cheat>

  <cheat desc="Select Shot PL1">
    <parameter>
      <item value="0x00">Level 1</item>
      <item value="0x01">Level 2</item>
      <item value="0x02">Level 3</item>
      <item value="0x03">Level 4</item>
      <item value="0x0A">Maximum</item>
    </parameter>
    <script state="run">
      <action>maincpu.pb@404B96=param</action>
    </script>
  </cheat>

  <cheat desc="Rapid Fire - Shot PL1"> <comment>Turn it OFF on the name entry screen and make sure it's OFF in Test Mode.</comment>
    <script state="run">
      <action>maincpu.pb@400099=10|(maincpu.pb@400099 BAND ~10)</action>
    </script>
  </cheat>

  <cheat desc="Rapid Fire - Laser PL1">
    <script state="run">
      <action>maincpu.pb@400099=20|(maincpu.pb@400099 BAND ~20)</action> <!-- Turn it OFF on the name entry screen and make sure it's OFF in Test Mode. -->
    </script>
  </cheat>

  <cheat desc=" "/>

  <cheat desc="Infinite Lives PL2">
    <script state="run">
      <action>maincpu.pb@404C95=9A</action>
    </script>
  </cheat>

  <cheat desc="Invincibility PL2">
    <script state="run">
      <action>maincpu.pw@404CF4=0002</action>
    </script>
  </cheat>

  <cheat desc="Auto Lock-On PL2">
    <script state="on">
      <action>temp0 =maincpu.mw@0304F8</action>
      <action>temp1 =maincpu.mw@030640</action>
    </script>
    <script state="run">
      <action>maincpu.mw@0304F8=6020</action>
      <action>maincpu.mw@030640=6020</action>
    </script>
    <script state="off">
      <action>maincpu.mw@0304F8=temp0 </action>
      <action>maincpu.mw@030640=temp1 </action>
    </script>
  </cheat>

  <cheat desc="Always have LASER Power MAX PL2">
    <script state="run">
      <action>maincpu.pb@404CA3=0A</action>
      <action>maincpu.pb@404CAF=06</action>
    </script>
  </cheat>

  <cheat desc="Select Shot PL2">
    <parameter>
      <item value="0x00">Level 1</item>
      <item value="0x01">Level 2</item>
      <item value="0x02">Level 3</item>
      <item value="0x03">Level 4</item>
      <item value="0x0A">Maximum</item>
    </parameter>
    <script state="run">
      <action>maincpu.pb@404C96=param</action>
    </script>
  </cheat>

  <cheat desc="Rapid Fire - Shot PL2"> <comment>Turn it OFF on the name entry screen and make sure it's OFF in Test Mode.</comment>
    <script state="run">
      <action>maincpu.pb@40009B=10|(maincpu.pb@40009B BAND ~10)</action>
    </script>
  </cheat>

  <cheat desc="Rapid Fire - Laser PL2"> <comment>Turn it OFF on the name entry screen and make sure it's OFF in Test Mode.</comment>
    <script state="run">
      <action>maincpu.pb@40009B=20|(maincpu.pb@40009B BAND ~20)</action>
    </script>
  </cheat>

  <cheat desc=" "/>

  <cheat desc="Select Region"> <comment>After you enable this cheat to see any effect you will have to reset the game (F3). Then you may have to turn the Test Mode ON (F2), wait for Test Mode to appear and reset again(F3).</comment>
    <parameter>
      <item value="0x01">Japan (Ray Force)</item>
      <item value="0x02">US (Ray Force)</item>
      <item value="0x03">World (Gunlock)</item>
    </parameter>
    <script state="on">
      <action>temp0 =maincpu.mb@0FFFFF</action>
    </script>
    <script state="run">
      <action>maincpu.mb@0FFFFF=param</action>
    </script>
    <script state="off">
      <action>maincpu.mb@0FFFFF=temp0 </action>
    </script>
  </cheat>

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