Robotron 2084 Blue Label cheats

This forum is for posting M.A.M.E. arcade cheats. Requests will be fulfilled here....but please keep the requests to the requests forum.
Post Reply
scott_tunstall
Posts: 9
Joined: Sun Feb 28, 2016 5:24 pm

Robotron 2084 Blue Label cheats

Post by scott_tunstall » Sun Jun 21, 2020 1:00 pm

I've produced some more cheats for Robotron (Blue Label), derived from my reverse engineering work at www.seanriddle.com/robomame.asm

*** FOUND PROTECTION RESET, NOW DISABLED ***

The cheats allow you to customise the game somewhat. You must enable the "Disable protection" cheat before enabling any other of my cheats.


I've played up to level 34 with these cheats with no ill effect. I had to disable robotron's protection for some of the cheats, so if you find your Robotron resets, please drop me a line (scott.tunstall@ntlworld.com) with the wave # and approximately how long the wave was playing for, so I can find the protection code responsible and disable it.


Here's the cheats:

Code: Select all

  
  <cheat desc="Disable protection (required for all except invincibility and infinite lives)">
    <script state="run">
    <!-- Overwrite protection code with  NOPs or BRA -->
      <action>maincpu.mq@15c84=1212121212121212</action> 
      <action>maincpu.mq@15c8c=1212121212121212</action>
      <action>maincpu.md@15c94=12121212</action>
      <action>maincpu.mw@15c98=1212</action>

      <action>maincpu.mq@16153=1212121212121212</action> 
      <action>maincpu.mq@1615B=1212121212121212</action> 
      <action>maincpu.mq@16163=1212121212121212</action> 
      <action>maincpu.md@1616b=12121212</action> 

      <action>maincpu.mw@11AFF=201E</action> 

      <action>maincpu.mq@D71c=1212121212121212</action> 
      <action>maincpu.mq@D724=1212121212121212</action> 
      <action>maincpu.mw@D72c=1212</action> 

      <action>maincpu.mq@DE33=1212121212121212</action> 
      <action>maincpu.mq@DE3B=1212121212121212</action>
      <action>maincpu.mq@DE43=1212121212121212</action>
    </script>
  </cheat>



  <cheat desc="Electrodes cannot be destroyed by player">
    <script state="on">
      <action>temp0 = maincpu.md@13476</action>
      <action>temp1 = maincpu.md@1347A</action>
    </script>
    <script state="run">
      <action>maincpu.md@13476=12121212</action>
      <action>maincpu.md@1347A=12121212</action>
    </script>
    <script state="off">
      <action>maincpu.md@13476 = temp0</action>
      <action>maincpu.md@1347A = temp1</action>
    </script>
  </cheat>


  <cheat desc="Play as a woman">
    <script state="run">
      <action>maincpu.mb@12fe8 = DD</action>
      <action>maincpu.md@135eb = 040e055f</action>
      <action>maincpu.md@135ef = 040e0597</action>
      <action>maincpu.md@135f3 = 040e05cf</action>
      <action>maincpu.md@135f7 = 040E0607</action>
      <action>maincpu.md@135FB = 040E063F</action>
      <action>maincpu.md@135FF = 040E0677</action> 
      <action>maincpu.md@13603 = 040e06af</action>
      <action>maincpu.md@13607 = 040E06E7</action>
      <action>maincpu.md@1360b = 040E071F</action> 
      <action>maincpu.md@1360f = 040E0757</action> 
      <action>maincpu.md@13613 = 040E078F</action>
      <action>maincpu.md@13617 = 040E07C7</action>
      <action>maincpu.md@13617 = 040E07C7</action> 
      <action>maincpu.mw@12C1 = 07FF</action>
      <action>maincpu.mw@12C4 = 033A</action>  
    </script>
  </cheat>

  <cheat desc="Everyone to rescue is a daddy">
    <script state="run">
      <action>maincpu.mw@102B6 = 07FF</action>
      <action>maincpu.mw@102B9 = 033A</action> 
      <action>maincpu.mw@102C1 = 07FF</action>
      <action>maincpu.mw@102C4 = 033A</action> 
      <action>maincpu.mw@102CC = 07FF</action>
      <action>maincpu.mw@102CF = 033A</action> 
    </script>
  </cheat>

  <cheat desc="Everyone to rescue is a mommy">
    <script state="run">
      <action>maincpu.mw@102B6 = 052F</action>
      <action>maincpu.mw@102B9 = 0335</action> 
      <action>maincpu.mw@102C1 = 052F</action>
      <action>maincpu.mw@102C4 = 0335</action> 
      <action>maincpu.mw@102CC = 052F</action>
      <action>maincpu.mw@102CF = 0335</action> 
    </script>
  </cheat>

  <cheat desc="Everyone to rescue is a mikey">
    <script state="run">
      <action>maincpu.mw@102B6 = 0B3B</action>
      <action>maincpu.mw@102B9 = 0330</action> 
      <action>maincpu.mw@102C1 = 0B3B</action>
      <action>maincpu.mw@102C4 = 0330</action> 
      <action>maincpu.mw@102CC = 0B3B</action>
      <action>maincpu.mw@102CF = 0330</action> 
    </script>
  </cheat>


  <cheat desc="Hulks always chase player">
    <script state="on">
      <action>temp0 = maincpu.md@1010D</action>
      <action>temp1 = maincpu.mw@10111</action>
    </script>
    <script state="run">
      <action>maincpu.mb@1010D=12</action>   <!-- Overwrite hulk target logic with NOPs-->
      <action>maincpu.mb@1010E=12</action>			
      <action>maincpu.mb@1010F=12</action>			
      <action>maincpu.mb@10110=12</action>			
      <action>maincpu.mb@10111=12</action>			
      <action>maincpu.mb@10112=12</action>			
    </script>	
    <script state="off">
      <action> maincpu.md@1010D = temp0</action>
      <action>maincpu.mw@10111 = temp1</action>
    </script>

  </cheat>

  <cheat desc="Spheroids will keep dropping until killed">
    <script state="on">
      <action>temp0 = maincpu.md@11205</action>
    </script>
    <script state="run">
      <action>maincpu.md@11205=12121212</action>  <!-- Overwrite spheroid drop code -->
    </script>
    <script state="off">
      <action>maincpu.md@11205 = temp0</action>
    </script>
  </cheat>

  <cheat desc="Spheroids drop tanks"> 
    <comment>Don't use this with the "spheroids will keep dropping until killed" cheat enabled - it will crash the game</comment>
    <script state="on">
      <action>temp0 = maincpu.mw@11203 </action>
    </script>
    <script state="run">
      <action>maincpu.mw@11203=4CAC</action>  <!-- Overwrite spheroid drop code to call SPAWN_TANK -->
    </script>
    <script state="off">
      <action>maincpu.mw@11203 = temp0 </action>
    </script>
  </cheat>


  <cheat desc="Spheroids won't spawn anything">
    <script state="on">
      <action>temp0 = maincpu.md@111C3 </action>
    </script>
    <script state="run">
      <action>maincpu.md@111C3=12121212</action>  <!-- Overwrite drop countdown with NOPs -->
    </script>
    <script state="off">
      <action>maincpu.mw@111C3 = temp0 </action>
    </script>
  </cheat>


  <cheat desc="Spheroids drop tanks or enforcers">
    <script state="on">
      <action>temp0 = maincpu.mq@11b09 </action>
      <action>temp1 = maincpu.md@11b11 </action>
      <action>temp2 = maincpu.mw@11b15 </action>
      <action>temp3 = maincpu.mw@11203 </action>
    </script>
    <script state="run">
      <action>maincpu.mw@11b09=8602</action>    <!-- Overwrite redundant brain protection code to spawn tanks/enforcers-->
      <action>maincpu.mb@11b0b=BD</action>
      <action>maincpu.mw@11b0c=D03F</action>
      <action>maincpu.mw@11b0e=8101</action>
      <action>maincpu.md@11b10=10273198</action>
      <action>maincpu.mb@11b14=7E</action>
      <action>maincpu.mw@11b15=1354</action>
      <action>maincpu.mw@11203=1B09</action>
    </script>
    <script state="off">
      <action>maincpu.mq@11b09 = temp0 </action>
      <action>maincpu.md@11b11 = temp1 </action>
      <action>maincpu.mw@11b15 = temp2</action>
      <action>maincpu.mw@11203 = temp3 </action>
    </script>
  </cheat>

  <cheat desc="Enforcers do not shoot">
    <script state="on">
      <action>temp0 = maincpu.mw@113A6</action>
    </script>
    <script state="run">
      <action>maincpu.mw@113A6=2005</action>
    </script>
    <script state="off">
      <action>maincpu.mw@113A6 = temp0 </action>
    </script>
  </cheat>


  <cheat desc="Max of 5 enforcers on screen at one time">
    <script state="on">
      <action>temp0 = maincpu.mb@111f9</action>
    </script>
    <script state="run">
      <action>maincpu.mb@111f9=05</action>  <!-- Set hard coded enforcer limit -->
    </script>
    <script state="off">
      <action>maincpu.mb@111f9 = temp0</action>
    </script>

  </cheat>

  <cheat desc="Max of 10 enforcers on screen at one time">
    <script state="on">
      <action>temp0 = maincpu.mb@111f9</action>
    </script>
    <script state="run">
      <action>maincpu.mb@111f9=0A</action>  <!-- Set hard coded enforcer limit -->
    </script>
    <script state="off">
      <action>maincpu.mb@111f9 = temp0</action>
    </script>
  </cheat>

  <cheat desc="Max of 15 enforcers on screen at one time">
    <script state="on">
      <action>temp0 = maincpu.mb@111f9</action>
    </script>
    <script state="run">
      <action>maincpu.mb@111f9=0F</action>  <!-- Set hard coded enforcer limit -->
    </script>
    <script state="off">
      <action>maincpu.mb@111f9 = temp0</action>
    </script>
  </cheat>

  <cheat desc="Max of 20 enforcers on screen at one time (are you NUTS?)">
    <script state="on">
      <action>temp0 = maincpu.mb@111f9</action>
    </script>
    <script state="run">
      <action>maincpu.mb@111f9=14</action>  <!-- Set hard coded enforcer limit  -->
    </script>
    <script state="off">
      <action>maincpu.mb@111f9 = temp0</action>
    </script>
  </cheat>

  <cheat desc="Replace Spheroids with Brains">
    <script state="on">
      <action>temp0 = maincpu.mb@11168</action> <!-- inject RTS into INITIALISE_ALL_SPHEROIDS -->
      <action>temp1 = maincpu.mb@11AF9</action>
      <action>temp2 = maincpu.md@11AFA</action>
      <action>temp3 = maincpu.mw@11AFE</action>
    </script>
    <script state="run">
      <action>maincpu.mb@11168=39</action> <!-- rewrite brain handler to read spheroid count -->
      <action>maincpu.mb@11AF9=BB</action>
      <action>maincpu.mw@11AFA=BE6F</action>
      <action>maincpu.mw@11AFC=3402</action>
      <action>maincpu.mw@11AFE=2755</action>
    </script>
    <script state="off">
      <action>maincpu.mb@11168 = temp0</action>
      <action>maincpu.mb@11AF9 = temp1</action>
      <action>maincpu.md@11AFA = temp2</action>
      <action>maincpu.mw@11AFE = temp3</action>
    </script>	
  </cheat>

  <!-- There's a bug where Tanks stop firing after 20 shells fired, this fixes it -->
  <cheat desc="Fix tank shell bug">
    <script state="on">
      <action>temp0 = maincpu.md@11B01</action>
      <action>temp1 = maincpu.md@11B05</action>
      <action>temp2 = maincpu.mb@14fbb</action>
      <action>temp3 = maincpu.mw@14fbc</action>
    </script>
    <script state="run">
      <action>maincpu.mw@11B01=0AF1</action>
      <action>maincpu.mb@11B03=BD</action>
      <action>maincpu.mw@11B04=D075</action>
      <action>maincpu.mb@11B06=7E</action>
      <action>maincpu.mw@11B07=D063</action>

      <action>maincpu.mb@14fbb=7E</action>
      <action>maincpu.mw@14fbc=1B01</action>
    </script>
    <script state="off">
      <action>maincpu.md@11B01 = temp0</action>
      <action>maincpu.md@11B05 = temp1</action>
      <action>maincpu.mb@14fbb = temp2</action>
      <action>maincpu.mw@14fbc= temp3</action>
    </script>
  </cheat>


  <cheat desc="No hulks">
    <script state="on">
      <action>temp0 = maincpu.pb@0BE6D</action>
      <action>temp1 = maincpu.mb@1016D</action>
      <action>temp2 = maincpu.mw@1016E</action>
    </script>
    <script state="run">
      <action>maincpu.pb@0BE6D=0</action>
      <action>maincpu.mb@1016D=12</action>
      <action>maincpu.mw@1016E=8600</action>
    </script>	
    <script state="off">
      <action>maincpu.pb@0BE6D = temp0</action>
      <action>maincpu.mb@1016D = temp1</action>
      <action>maincpu.mw@1016E = temp2</action>
    </script>
  </cheat>

  <cheat desc="No spheroids">
    <script state="on">
      <action>temp0 = maincpu.pb@0BE6F</action>
    </script>
    <script state="run">
      <action>maincpu.pb@0BE6F=0</action>
    </script>	
    <script state="off">
      <action>maincpu.pb@0BE6F = temp0</action>
    </script>
  </cheat>

  <cheat desc="Brains can't shoot cruise missiles">
    <script state="on">
      <action>temp0 = maincpu.mb@11C96</action>
      <action>temp1 = maincpu.mw@11C97</action>
    </script>
    <script state="run">
      <action>maincpu.mb@11C96=12</action>  <!-- Overwrite code with NOPs-->
      <action>maincpu.mw@11C97=1212</action>
    </script>	
    <script state="off">
      <action>maincpu.mb@11C96 = temp0</action>
      <action>maincpu.mw@11C97 = temp1</action>
    </script>
  </cheat>
Last edited by scott_tunstall on Fri Jun 26, 2020 11:17 am, edited 1 time in total.

scott_tunstall
Posts: 9
Joined: Sun Feb 28, 2016 5:24 pm

Re: Robotron 2084 Blue Label cheats

Post by scott_tunstall » Tue Jun 23, 2020 12:21 am

Have added an update as some users were experiencing game resets.

scott_tunstall
Posts: 9
Joined: Sun Feb 28, 2016 5:24 pm

Re: Robotron 2084 Blue Label cheats

Post by scott_tunstall » Fri Jun 26, 2020 11:17 am

Have added more cheats for you all. Have fun!

Post Reply