Robotron 2084 Blue Label cheats / game mods

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: 14
Joined: Sun Feb 28, 2016 5:24 pm

Robotron 2084 Blue Label cheats / game mods

Post by scott_tunstall »

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 Mon Jul 13, 2020 3:58 pm, edited 2 times in total.
scott_tunstall
Posts: 14
Joined: Sun Feb 28, 2016 5:24 pm

Re: Robotron 2084 Blue Label cheats

Post by scott_tunstall »

Have added an update as some users were experiencing game resets.
scott_tunstall
Posts: 14
Joined: Sun Feb 28, 2016 5:24 pm

Re: Robotron 2084 Blue Label cheats

Post by scott_tunstall »

Have added more cheats for you all. Have fun!
scott_tunstall
Posts: 14
Joined: Sun Feb 28, 2016 5:24 pm

Re: Robotron 2084 Blue Label cheats / game mods

Post by scott_tunstall »

Hi,

I've created a new cheat that, I think, changes the gameplay to be more like Smash TV. Spheroids will now drop 5 GRUNTs at a time (until 15 or mor e GRUNTs are on screen), and loiter until destroyed.

You need to use my "disable protection" cheat before you enable this one . BTW my disable protection cheat disables all of Robotron's protection and will allow anyone to create game code modifying cheats. It does not patch the ROM checksum code, however.

The ROM space for the Easter Egg code that displays Larry and Eugene's names has been repurposed for this cheat, so the easter egg will no longer work.

Finally, this cheat is subject to change as feedback indicates it makes the game too hard - I'll probably slow down the GRUNT movement to compensate - but you can have fun with it seeing how long you last. Any feedback or suggestions welcome.


Code: Select all

  <cheat desc="Spheroids drop 5 GRUNTs (EXPERIMENTAL)">
  <script state="run">
      <action>maincpu.md@11205=12121212</action>  <!-- Overwrite spheroid drop code -->

    <!-- Overwrite Easter egg code with our code-->
    <action>maincpu.mb@d368=39</action>
    <action>maincpu.mb@d369=39</action>
    <action>maincpu.mq@d36A=3476B6BE68810F22</action>
    <action>maincpu.mq@d372=361F1286053402BD</action>
    <action>maincpu.mq@d37A=D07B2729CC4063ED</action>
    <action>maincpu.mq@d382=02ED8814A62AE62C</action>
    <action>maincpu.mq@d38A=A70AE70CED04B6BE</action>
    <action>maincpu.mq@d392=5CBDD042A78813CC</action>
    <action>maincpu.mq@d39A=3A76ED089F8B7CBE</action>
    <action>maincpu.mq@d3A2=686AE426D2350235</action>
    <action>maincpu.mb@d3AA=F6</action>
    <action>maincpu.mw@11203=d36A</action>

  </script>
  </cheat>
User avatar
Pugsy
Posts: 3638
Joined: Fri Aug 17, 2001 12:59 am
Location: North Wales, UK.
Has thanked: 1 time
Been thanked: 12 times
Contact:

Re: Robotron 2084 Blue Label cheats / game mods

Post by Pugsy »

Thanks, added
Pugsy

Servicing your cheating needs since 1985 8)

Grab the latest cheat collection:
MAME 0.259 XML cheat collection (6 OCTOBER 2023) from http://www.mamecheat.co.uk or direct from:-
https://mega.nz/file/q4dHGZ6K#i-EUiqIjH ... KMz7hnbTfw (ZIP Archive 3.76MB)
Post Reply