[megadriv, sonic3u] Sonic the Hedgehog 3 cheats (and clones/

This forum is for posting cheats for any non-arcade game in M.A.M.E. ( aka the M.E.S.S. games ) including any softwarelist game. Requests will be fulfilled here....but please keep the requests to the requests forum.
User avatar
NotAGoodName
CheatFinder Lieutenant
CheatFinder Lieutenant
Posts: 331
Joined: Wed Feb 18, 2009 7:09 am
Location: MO, USA
Contact:

[megadriv, sonic3u] Sonic the Hedgehog 3 cheats (and clones/

Postby NotAGoodName » Tue Mar 05, 2013 10:23 pm

Untested on prototypes, but they should all be the same engine. Does not apply to Sonic and Knuckles or Sonic 3C builds!

Sonic 3 uses an earlier and apparently buggier version of the Sonic engine than what would wind up in S&K. If Sega were smarter, they would have taken their time and used the opportunity to release a properly improved Sega Genesis in 1993 instead of making this unfinished game and developing the crappy 32X. Oh well.

Code: Select all

   <cheat desc="Enable Level Select">
      <script state="run">
         <action>maincpu.pb@FFFFD0=01</action>
      </script>
   </cheat>
   <cheat desc="Enable Debug Mode">
      <script state="run">
         <action>maincpu.pb@FFFFD1=01</action>
      </script>
   </cheat>
   <cheat desc="Have All Emeralds">
      <script state="run">
         <action>maincpu.pb@FFFFB0=07</action>
      </script>
   </cheat>
   <cheat desc="Infinite Time">
      <script state="run">
         <action>maincpu.pw@FFFE24=0000</action>
      </script>
   </cheat>
   <cheat desc="1 Sphere To Finish Bonus Stage">
      <script state="run">
         <action condition="maincpu.pb@FFE439 GT 1">maincpu.pb@FFE439=01</action>
      </script>
   </cheat>
<cheat desc="-- Sonic --"/>
   <cheat desc="Infinite Lives">
      <script state="run">
         <action>maincpu.pb@FFFE12=63</action>
      </script>
   </cheat>
   <cheat desc="Infinite Rings">
      <script state="run">
         <action>maincpu.pw@FFFE20=03E7</action>
      </script>
   </cheat>
   <cheat desc="Speed Select">
      <parameter>
         <item value="0x06">Default</item>
         <item value="0x08">Super Knuckles</item>
         <item value="0x0A">Super Sonic</item>
         <item value="0x0C">Shoes</item>
         <item value="0x0F">Blazing Fast</item>
      </parameter>
      <script state="run">
         <action>maincpu.pb@FFF760=param</action>
      </script>
   </cheat>
   <cheat desc="Acceleration Select">
      <parameter>
         <item value="0x0C">Default</item>
         <item value="0x18">Shoes / Super Knuckles</item>
         <item value="0x30">Super Sonic</item>
         <item value="0x50">Blazing Fast</item>
         <item value="0xFF">Instant</item>
      </parameter>
      <script state="run">
         <action>maincpu.pb@FFF763=param</action>
      </script>
   </cheat>
   <cheat desc="Cannot be Hit">
      <script state="run">
         <action condition="maincpu.pb@FFB001==01">maincpu.pb@FFB034=3F</action>
      </script>
   </cheat>
   <cheat desc="Never Drown">
      <script state="run">
         <action>maincpu.pb@FFB02C=1E</action>
      </script>
   </cheat>
   <cheat desc="Super Glow">
      <parameter>
         <item value="00">Disabled</item>
         <item value="01">Enabled</item>
      </parameter>
      <script state="run">
         <action condition="param==01">maincpu.pb@FFF65F=FF</action>
         <action condition="param==00">maincpu.pb@FFF65F=00</action>
      </script>
   </cheat>
   <cheat desc="Become Super Mode NOW!..."><comment>Sprite and stats only.</comment>
      <parameter>
         <item value="0x99">Disable</item>
         <item value="0x11">Enable</item>   
      </parameter>
      <script state="change">
         <action>maincpu.pb@FFFFFC=param</action>
         <action condition="param==11">maincpu.pb@FFFE19=01</action>
         <action condition="param==11 and maincpu.pd@FFB000==00010A94 and maincpu.pw@FFB020 GT 0000">maincpu.pw@FFB00E=6816</action>
         <action condition="param==11 and maincpu.pd@FFB000==00011BB8 and maincpu.pw@FFB020 GT 0000">maincpu.pw@FFB00E=1194</action>
      </script>
   </cheat>
   <cheat desc="... Make Cheat Permanent"><comment>Enable First.  Must redo prior cheat on reset.</comment>
      <script state="run">
         <action condition="maincpu.pb@FFFFFC==99">maincpu.pb@FFFE19=00</action>
         <action condition="maincpu.pb@FFFFFC==99 and maincpu.pd@FFB000==00010A94 and maincpu.pw@FFB020 GT 0000">maincpu.pw@FFB00E=6629</action>
         <action condition="maincpu.pb@FFFFFC==99 and maincpu.pd@FFB000==00011BB8 and maincpu.pw@FFB020 GT 0000">maincpu.pw@FFB00E=0FE0</action>
         <action condition="maincpu.pb@FFFFFC==11">maincpu.pb@FFFE19=01</action>
         <action condition="maincpu.pb@FFFFFC==11 and maincpu.pd@FFB000==00010A94 and maincpu.pw@FFB020 GT 0000">maincpu.pw@FFB00E=6816</action>
         <action condition="maincpu.pb@FFFFFC==11 and maincpu.pd@FFB000==00011BB8 and maincpu.pw@FFB020 GT 0000">maincpu.pw@FFB00E=1194</action>
      </script>
   </cheat>
   <cheat desc="Infinite Double Jumps As Sonic">
      <script state="run">
         <action condition="maincpu.pd@FFB000==00010A94">maincpu.pb@FFB02F=00</action>
         <action condition="maincpu.pd@FFB000==00011BB8">maincpu.pb@FFB02F=00</action>
         <action condition="maincpu.pd@FFB000==00010A94">maincpu.pb@FFB040=01</action>
         <action condition="maincpu.pd@FFB000==00011BB8">maincpu.pb@FFB040=01</action>
      </script>
   </cheat>
   <cheat desc="Infinite Flight As Tails">
      <script state="run">
         <action condition="maincpu.pb@FFB025 GT 0 and maincpu.pd@FFB000==0001365C">maincpu.pb@FFB025=FF</action>
         <action condition="maincpu.pb@FFB025 GT 0 and maincpu.pd@FFB000==000143B2">maincpu.pb@FFB025=FF</action>
      </script>
   </cheat>
   <cheat desc="Character Select">
      <parameter>
         <item value="00">Sonic and Tails</item>
         <item value="01">Tails</item>
         <item value="02">#Knuckles</item>
      </parameter>
      <script state="run">
         <action>maincpu.pb@FFFFDA=param</action>
      </script>
   </cheat>
   <cheat desc="Sprite Select NOW!"><comment>Can be buggy.  Push Enter to select.</comment>
      <parameter>
         <item value="0x15">Sonic</item>
         <item value="0x16">Tails</item>
         <item value="0x17">Super Sonic</item>
      </parameter>
      <script state="change">
         <action>maincpu.pb@FFFFFD=param</action>
         <action condition="param==15 and maincpu.pw@FFB020 GT 0000">maincpu.pd@FFB000=00011BB8</action>
         <action condition="param==15 and maincpu.pw@FFB020 GT 0000">maincpu.pb@FFB00B=80</action>
         <action condition="param==15 and maincpu.pb@FFB00A==06 and maincpu.pw@FFB020 GT 0000">maincpu.pw@FFB00E=0FE0</action>
         <action condition="param==15">maincpu.pb@FFFE19=00</action>
         <action condition="param==16 and maincpu.pw@FFB020 GT 0000">maincpu.pd@FFB000=000143B2</action>
         <action condition="param==16 and maincpu.pw@FFB020 GT 0000">maincpu.pb@FFB00B=A0</action>
         <action condition="param==16 and maincpu.pb@FFB00A==06 and maincpu.pw@FFB020 GT 0000">maincpu.pw@FFB00E=3488</action>
         <action condition="param==17 and maincpu.pw@FFB020 GT 0000">maincpu.pd@FFB000=00011BB8</action>
         <action condition="param==17 and maincpu.pw@FFB020 GT 0000">maincpu.pb@FFB00B=80</action>
         <action condition="param==17 and maincpu.pb@FFB00A==06 and maincpu.pw@FFB020 GT 0000">maincpu.pw@FFB00E=1194</action>
         <action condition="param==17">maincpu.pb@FFFE19=01</action>      
      </script>
   </cheat>
   <cheat desc="... Make Cheat Permanent"><comment>Enable First.  Redo prior cheat on reset.</comment>
      <script state="run">
         <action condition="maincpu.pb@FFFFFD==15 and maincpu.pw@FFB020 GT 0000">maincpu.pd@FFB000=00011BB8</action>
         <action condition="maincpu.pb@FFFFFD==15 and maincpu.pw@FFB020 GT 0000">maincpu.pb@FFB00B=80</action>
         <action condition="maincpu.pb@FFFFFD==15 and maincpu.pb@FFB00A==06 and maincpu.pw@FFB020 GT 0000">maincpu.pw@FFB00E=0FE0</action>
         <action condition="maincpu.pb@FFFFFD==15">maincpu.pb@FFFE19=00</action>
         <action condition="maincpu.pb@FFFFFD==16 and maincpu.pw@FFB020 GT 0000">maincpu.pd@FFB000=000143B2</action>
         <action condition="maincpu.pb@FFFFFD==16 and maincpu.pw@FFB020 GT 0000">maincpu.pb@FFB00B=A0</action>
         <action condition="maincpu.pb@FFFFFD==16 and maincpu.pb@FFB00A==06 and maincpu.pw@FFB020 GT 0000">maincpu.pw@FFB00E=3488</action>
         <action condition="maincpu.pb@FFFFFD==17 and maincpu.pw@FFB020 GT 0000">maincpu.pd@FFB000=00011BB8</action>
         <action condition="maincpu.pb@FFFFFD==17 and maincpu.pw@FFB020 GT 0000">maincpu.pb@FFB00B=80</action>
         <action condition="maincpu.pb@FFFFFD==17 and maincpu.pb@FFB00A==06 and maincpu.pw@FFB020 GT 0000">maincpu.pw@FFB00E=1194</action>
         <action condition="maincpu.pb@FFFFFD==17">maincpu.pb@FFFE19=01</action>   
      </script>
   </cheat>
<cheat desc="Shield Dips - Can Combine Effects!"/>
   <cheat desc="Generic Shield">
      <parameter>
         <item value="00">Disabled</item>
         <item value="01">Enabled</item>
      </parameter>
      <script state="run">
         <action condition="param==01">maincpu.pb@FFB02B=01|(maincpu.pb@FFB02B BAND ~01)</action>
         <action condition="param==00">maincpu.pb@FFB02B=00|(maincpu.pb@FFB02B BAND ~01)</action>
      </script>
   </cheat>
   <cheat desc="Invincibility">
      <parameter>
         <item value="00">Disabled</item>
         <item value="01">Enabled</item>
      </parameter>
      <script state="run">
         <action condition="param==01">maincpu.pb@FFB02B=02|(maincpu.pb@FFB02B BAND ~02)</action>
         <action condition="param==00">maincpu.pb@FFB02B=00|(maincpu.pb@FFB02B BAND ~02)</action>
      </script>
   </cheat>
   <cheat desc="Fire Dash">
      <parameter>
         <item value="00">Disabled</item>
         <item value="01">Enabled</item>
      </parameter>
      <script state="run">
         <action condition="param==01">maincpu.pb@FFB02B=10|(maincpu.pb@FFB02B BAND ~10)</action>
         <action condition="param==00">maincpu.pb@FFB02B=00|(maincpu.pb@FFB02B BAND ~10)</action>
      </script>
   </cheat>
   <cheat desc="Magnet + Double Jump">
      <parameter>
         <item value="00">Disabled</item>
         <item value="01">Enabled</item>
      </parameter>
      <script state="run">
         <action condition="param==01">maincpu.pb@FFB02B=20|(maincpu.pb@FFB02B BAND ~20)</action>
         <action condition="param==00">maincpu.pb@FFB02B=00|(maincpu.pb@FFB02B BAND ~20)</action>
      </script>
   </cheat>
   <cheat desc="Bubble Bounce">
      <parameter>
         <item value="00">Disabled</item>
         <item value="01">Enabled</item>
      </parameter>
      <script state="run">
         <action condition="param==01">maincpu.pb@FFB02B=40|(maincpu.pb@FFB02B BAND ~40)</action>
         <action condition="param==00">maincpu.pb@FFB02B=00|(maincpu.pb@FFB02B BAND ~40)</action>
      </script>
   </cheat>
<cheat desc="-- Tails --"/>
   <cheat desc="Infinite Lives">
      <script state="run">
         <action>maincpu.pb@FFFEC6=63</action>
      </script>
   </cheat>
   <cheat desc="Infinite Rings">
      <script state="run">
         <action>maincpu.pw@FFFED0=03E7</action>
      </script>
   </cheat>
   <cheat desc="Speed Select">
      <parameter>
         <item value="0x06">Default</item>
         <item value="0x08">Super Knuckles</item>
         <item value="0x0A">Super Sonic</item>
         <item value="0x0C">Shoes</item>
         <item value="0x0F">Blazing Fast</item>
      </parameter>
      <script state="run">
         <action>maincpu.pb@FFFEC0=param</action>
      </script>
   </cheat>
   <cheat desc="Acceleration Select">
      <parameter>
         <item value="0x0C">Default</item>
         <item value="0x18">Shoes / Super Knuckles</item>
         <item value="0x30">Super Sonic</item>
         <item value="0x50">Blazing Fast</item>
         <item value="0xFF">Instant</item>
      </parameter>
      <script state="run">
         <action>maincpu.pb@FFFEC3=param</action>
      </script>
   </cheat>
   <cheat desc="Cannot be Hit">
      <script state="run">
         <action>maincpu.pb@FFB07E=3F</action>
      </script>
   </cheat>
   <cheat desc="Never Drown">
      <script state="run">
         <action>maincpu.pb@FFB076=1E</action>
      </script>
   </cheat>
   <cheat desc="Infinite Flight As Tails">
      <script state="run">
         <action condition="maincpu.pb@FFB06F GT 0 and maincpu.pd@FFB04A==0001365C">maincpu.pb@FFB06F=FF</action>
         <action condition="maincpu.pb@FFB06F GT 0 and maincpu.pd@FFB04A==000143B2">maincpu.pb@FFB06F=FF</action>
      </script>
   </cheat>
   <cheat desc="Infinite Double Jumps As Sonic">
      <script state="run">
         <action condition="maincpu.pd@FFB04A==00010A94">maincpu.pb@FFB079=00</action>
         <action condition="maincpu.pd@FFB04A==00011BB8">maincpu.pb@FFB079=00</action>
         <action condition="maincpu.pd@FFB04A==00010A94">maincpu.pb@FFB08A=01</action>
         <action condition="maincpu.pd@FFB04A==00011BB8">maincpu.pb@FFB08A=01</action>
      </script>
   </cheat>
   <cheat desc="Character Select">
      <parameter>
         <item value="00">Sonic and Tails</item>
         <item value="01">Tails</item>
         <item value="02">Knuckles</item>
      </parameter>
      <script state="run">
         <action>maincpu.pb@FFFFDB=param</action>
      </script>
   </cheat>
   <cheat desc="Change Companion NOW!"><comment>Can be buggy.  Push enter to select.</comment>
      <parameter>
         <item value="0x98">Disabled</item>
         <item value="0x99">None</item>
         <item value="0x11">Tails</item>
         <item value="0x10">#Sonic</item>
         <item value="0x13">#Super Sonic</item>
      </parameter>
      <script state="change">
         <action>maincpu.pb@FFFFFE=param</action>
         <action condition="param==99 and maincpu.pw@FFB020 GT 0000">maincpu.pd@FFB04A=00000000</action>
         <action condition="param==99 and maincpu.pw@FFB020 GT 0000">maincpu.pb@FFB055=00</action>
         <action condition="param==99 and maincpu.pw@FFB020 GT 0000">maincpu.pw@FFB058=0000</action>
         <action condition="param==10 and maincpu.pw@FFB020 GT 0000">maincpu.pd@FFB04A=00011BB8</action>
         <action condition="param==10 and maincpu.pw@FFB020 GT 0000">maincpu.pb@FFB055=80</action>
         <action condition="param==10 and maincpu.pb@FFB00A==06 and maincpu.pw@FFB020 GT 0000">maincpu.pw@FFB058=0FE0</action>
         <action condition="param==11 and maincpu.pw@FFB020 GT 0000">maincpu.pd@FFB04A=000143B2</action>
         <action condition="param==11 and maincpu.pw@FFB020 GT 0000">maincpu.pb@FFB055=A0</action>
         <action condition="param==11 and maincpu.pb@FFB00A==06 and maincpu.pw@FFB020 GT 0000">maincpu.pw@FFB058=3488</action>
         <action condition="param==13 and maincpu.pw@FFB020 GT 0000">maincpu.pd@FFB04A=00011BB8</action>
         <action condition="param==13 and maincpu.pw@FFB020 GT 0000">maincpu.pb@FFB055=80</action>
         <action condition="param==13 and maincpu.pb@FFB00A==06 and maincpu.pw@FFB020 GT 0000">maincpu.pw@FFB058=1194</action>
      </script>
   </cheat>
   <cheat desc="... Make Cheat Permanent"><comment>Enable First.  Redo prior cheat on reset.</comment>
      <script state="run">
         <action condition="maincpu.pb@FFFFFE==99 and maincpu.pw@FFB020 GT 0000">maincpu.pd@FFB04A=00000000</action>
         <action condition="maincpu.pb@FFFFFE==99 and maincpu.pw@FFB020 GT 0000">maincpu.pb@FFB055=00</action>
         <action condition="maincpu.pb@FFFFFE==99 and maincpu.pw@FFB020 GT 0000">maincpu.pw@FFB058=0000</action>
         <action condition="maincpu.pb@FFFFFE==10 and maincpu.pw@FFB020 GT 0000">maincpu.pd@FFB04A=00011BB8</action>
         <action condition="maincpu.pb@FFFFFE==10 and maincpu.pw@FFB020 GT 0000">maincpu.pb@FFB055=80</action>
         <action condition="maincpu.pb@FFFFFE==10 and maincpu.pb@FFB00A==06 and maincpu.pw@FFB020 GT 0000">maincpu.pw@FFB058=0FE0</action>
         <action condition="maincpu.pb@FFFFFE==11 and maincpu.pw@FFB020 GT 0000">maincpu.pd@FFB04A=000143B2</action>
         <action condition="maincpu.pb@FFFFFE==11 and maincpu.pw@FFB020 GT 0000">maincpu.pb@FFB055=A0</action>
         <action condition="maincpu.pb@FFFFFE==11 and maincpu.pb@FFB00A==06 and maincpu.pw@FFB020 GT 0000">maincpu.pw@FFB058=3488</action>
         <action condition="maincpu.pb@FFFFFE==13 and maincpu.pw@FFB020 GT 0000">maincpu.pd@FFB04A=00011BB8</action>
         <action condition="maincpu.pb@FFFFFE==13 and maincpu.pw@FFB020 GT 0000">maincpu.pb@FFB055=80</action>
         <action condition="maincpu.pb@FFFFFE==13 and maincpu.pb@FFB00A==06 and maincpu.pw@FFB020 GT 0000">maincpu.pw@FFB058=1194</action>
      </script>
   </cheat>
<cheat desc="Shield Dips - Can Combine Effects!"/>
   <cheat desc="Generic Shield">
      <parameter>
         <item value="00">Disabled</item>
         <item value="01">Enabled</item>
      </parameter>
      <script state="run">
         <action condition="param==01">maincpu.pb@FFB075=01|(maincpu.pb@FFB075 BAND ~01)</action>
         <action condition="param==00">maincpu.pb@FFB075=00|(maincpu.pb@FFB075 BAND ~01)</action>
      </script>
   </cheat>
   <cheat desc="Invincibility">
      <parameter>
         <item value="00">Disabled</item>
         <item value="01">Enabled</item>
      </parameter>
      <script state="run">
         <action condition="param==01">maincpu.pb@FFB075=02|(maincpu.pb@FFB075 BAND ~02)</action>
         <action condition="param==00">maincpu.pb@FFB075=00|(maincpu.pb@FFB075 BAND ~02)</action>
      </script>
   </cheat>
   <cheat desc="Fire Dash">
      <parameter>
         <item value="00">Disabled</item>
         <item value="01">Enabled</item>
      </parameter>
      <script state="run">
         <action condition="param==01">maincpu.pb@FFB075=10|(maincpu.pb@FFB075 BAND ~10)</action>
         <action condition="param==00">maincpu.pb@FFB075=00|(maincpu.pb@FFB075 BAND ~10)</action>
      </script>
   </cheat>
   <cheat desc="Magnet + Double Jump">
      <parameter>
         <item value="00">Disabled</item>
         <item value="01">Enabled</item>
      </parameter>
      <script state="run">
         <action condition="param==01">maincpu.pb@FFB075=20|(maincpu.pb@FFB075 BAND ~20)</action>
         <action condition="param==00">maincpu.pb@FFB075=00|(maincpu.pb@FFB075 BAND ~20)</action>
      </script>
   </cheat>
   <cheat desc="Bubble Bounce">
      <parameter>
         <item value="00">Disabled</item>
         <item value="01">Enabled</item>
      </parameter>
      <script state="run">
         <action condition="param==01">maincpu.pb@FFB075=40|(maincpu.pb@FFB075 BAND ~40)</action>
         <action condition="param==00">maincpu.pb@FFB075=00|(maincpu.pb@FFB075 BAND ~40)</action>
      </script>
   </cheat>
Aww yeah. AMD A10-7850K givin' MAME and MESS systems what for.