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: 3686
Joined: Fri Aug 17, 2001 12:59 am
Location: North Wales, UK.
Has thanked: 1 time
Been thanked: 19 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.264 XML cheat collection (3 APRIL 2024) from http://www.mamecheat.co.uk or direct from:-
https://mega.nz/file/SxsQUJoT#jBdz6GLm_ ... QzFGSMms2c (ZIP Archive 3.8 MB)
jman
Posts: 1256
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

Re: Robotron 2084 Blue Label cheats / game mods

Post by jman »

All codes don't work in 0.265 or later version.
jman

my wip cheat database back-up (2024/12/01 ver.)
https://u3.getuploader.com/...../download/47
downloadpass : jman2020
jman
Posts: 1256
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

Re: Robotron 2084 Blue Label cheats / game mods

Post by jman »

I try to fix and convert codes to work in 0.265 or later version.
  • Disable protection
I disagree about filling routine with NOP. It's useless and painful for me.

robotron.xml, robotronyo.xml, robotronun.xml, robotron87.xml, robotron12.xml and robotrontd.xml

Code: Select all

    <cheat desc="Disable Protection">
        <comment>Required for many ROM codes to avoid game reset</comment>
        <script state="on">
            <action>temp0 = maincpu.mb@1B15</action>
            <action>temp1 = maincpu.mb@5C8E</action>
            <action>temp2 = maincpu.mb@6165</action>
            <action>temp3 = maincpu.mb@DE3D</action>
        </script>
        <script state="run">
            <action>maincpu.mb@1B15 = 20</action>
            <action>maincpu.mb@5C8E = 20</action>
            <action>maincpu.mb@6165 = 20</action>
            <action>maincpu.mb@DE3D = 20</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1B15 = temp0</action>
            <action>maincpu.mb@5C8E = temp1</action>
            <action>maincpu.mb@6165 = temp2</action>
            <action>maincpu.mb@DE3D = temp3</action>
        </script>
    </cheat>
  • Simplified codes.
  • Sorted in address order.
  • Used temp variables to restore original values.
  • Moved explanation in "desc" to "comment" to avoid long title name in the cheat menu.
I doubt that he overwrites the routine between $D71C and $D72D.
Because stored value in $D72A is checked at $615C and $DE33 but these addresses are already skipped (See 3rd and 4th code).
So I removes that hack from original code though seems to be no problem.

BTW, the above code reproduces from my WIP code.
This code is very important because in-game ROM error causes serious problems (reset, freeze, crash and so on).
jman

my wip cheat database back-up (2024/12/01 ver.)
https://u3.getuploader.com/...../download/47
downloadpass : jman2020
jman
Posts: 1256
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

Re: Robotron 2084 Blue Label cheats / game mods

Post by jman »

  • Electrodes cannot be destroyed by player
robotron.xml, robotronun.xml, robotron87.xml, robotron12.xml and robotrontd.xml

Code: Select all

    <cheat desc="Electrodes cannot be destroyed by player">
        <script state="on">
            <action>temp0 = maincpu.mw@3472</action>
        </script>
        <script state="run">
            <action>maincpu.mw@3472 = 200A</action>
        </script>
        <script state="off">
            <action>maincpu.mw@3472 = temp0</action>
        </script>
    </cheat>
robotronyo.xml

Code: Select all

    <cheat desc="Electrodes cannot be destroyed by player">
        <script state="on">
            <action>temp0 = maincpu.mw@3437</action>
        </script>
        <script state="run">
            <action>maincpu.mw@3437 = 200A</action>
        </script>
        <script state="off">
            <action>maincpu.mw@3477 = temp0</action>
        </script>
    </cheat>
Again, I refuse "NOP harassment".
jman

my wip cheat database back-up (2024/12/01 ver.)
https://u3.getuploader.com/...../download/47
downloadpass : jman2020
jman
Posts: 1256
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

Re: Robotron 2084 Blue Label cheats / game mods

Post by jman »

  • Play as a woman
robotron.xml, robotronun.xml, robotron87.xml, robotron12.xml and robotrontd.xml

Code: Select all

    <cheat desc="Play as a woman">
        <script state="on">
            <action>temp0 = maincpu.mb@2FE8</action>
            <action>temp1 = maincpu.mq@35EB</action>
            <action>temp2 = maincpu.mq@35F3</action>
            <action>temp3 = maincpu.mq@35FB</action>
            <action>temp4 = maincpu.mq@3603</action>
            <action>temp5 = maincpu.mq@360B</action>
            <action>temp6 = maincpu.mq@3613</action>
        </script>
        <script state="run">
            <action>maincpu.mb@2FE8 = DD</action>
            <action>maincpu.mq@35EB = 040E055F040E0597</action>
            <action>maincpu.mq@35F3 = 040E05CF040E0607</action>
            <action>maincpu.mq@35FB = 040E063F040E0677</action>
            <action>maincpu.mq@3603 = 040E06AF040E06E7</action>
            <action>maincpu.mq@360B = 040E06E7040E0757</action>
            <action>maincpu.mq@3613 = 040E078F040E07C7</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2FE8 = temp0</action>
            <action>maincpu.mq@35EB = temp1</action>
            <action>maincpu.mq@35F3 = temp2</action>
            <action>maincpu.mq@35FB = temp3</action>
            <action>maincpu.mq@3603 = temp4</action>
            <action>maincpu.mq@360B = temp5</action>
            <action>maincpu.mq@3613 = temp6</action>
        </script>
    </cheat>
robotronyo.xml

Code: Select all

    <cheat desc="Play as a woman">
        <script state="on">
            <action>temp0 = maincpu.mb@2FAD</action>
            <action>temp1 = maincpu.mq@3601</action>
            <action>temp2 = maincpu.mq@3609</action>
            <action>temp3 = maincpu.mq@3611</action>
            <action>temp4 = maincpu.mq@3619</action>
            <action>temp5 = maincpu.mq@3621</action>
            <action>temp6 = maincpu.mq@3629</action>
        </script>
        <script state="run">
            <action>maincpu.mb@2FAD = DD</action>
            <action>maincpu.mq@3601 = 040E055F040E0597</action>
            <action>maincpu.mq@3609 = 040E05CF040E0607</action>
            <action>maincpu.mq@3611 = 040E063F040E0677</action>
            <action>maincpu.mq@3619 = 040E06AF040E06E7</action>
            <action>maincpu.mq@3621 = 040E06E7040E0757</action>
            <action>maincpu.mq@3629 = 040E078F040E07C7</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2FAD = temp0</action>
            <action>maincpu.mq@3601 = temp1</action>
            <action>maincpu.mq@3609 = temp2</action>
            <action>maincpu.mq@3611 = temp3</action>
            <action>maincpu.mq@3619 = temp4</action>
            <action>maincpu.mq@3621 = temp5</action>
            <action>maincpu.mq@3629 = temp6</action>
        </script>
    </cheat>
  • Merged codes with qword.
  • Used temp variables to restore original values.
  • Converted small letter to capital letter.
  • Removed duplicate codes for $3617
BTW, I don't understand the following in original code.

Code: Select all

      <action>maincpu.mw@12C1 = 07FF</action>
      <action>maincpu.mw@12C4 = 033A</action>
$12C1-$12C5 is routine, not data.
Before.

Code: Select all

12C1: E3 88 10       ADDD   $10,X
12C4: ED 88 10       STD    $10,X
After

Code: Select all

12C1: 07 FF          ASR    $FF
12C3: 10 03 3A       COM    $3A
What is his purpose?
I don't convert the above codes thought no problem.
jman

my wip cheat database back-up (2024/12/01 ver.)
https://u3.getuploader.com/...../download/47
downloadpass : jman2020
jman
Posts: 1256
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

Re: Robotron 2084 Blue Label cheats / game mods

Post by jman »

  • Everyone to rescue is a daddy
  • Everyone to rescue is a mommy
  • Everyone to rescue is a mikey
These codes are the same address but different value. So you can't use at the same time.

robotron.xml, robotronyo.xml, robotronun.xml, robotron87.xml, robotron12.xml and robotrontd.xml

Code: Select all

    <cheat desc="Everyone to rescue is a ...">
        <parameter>
            <item value="0x07FF033A">daddy</item>
            <item value="0x052F0335">mommy</item>
            <item value="0x0B3B0330">mikey</item>
        </parameter>
        <script state="on">
            <action>temp0 = maincpu.mw@02B6</action>
            <action>temp1 = maincpu.mw@02B9</action>
            <action>temp2 = maincpu.mw@02C1</action>
            <action>temp3 = maincpu.mw@02C4</action>
            <action>temp4 = maincpu.mw@02CC</action>
            <action>temp5 = maincpu.mw@02CF</action>
        </script>
        <script state="run">
            <action>maincpu.mw@02B6 = (param band FFFF0000) rshift 10</action>
            <action>maincpu.mw@02B9 = (param band 0000FFFF)</action>
            <action>maincpu.mw@02C1 = (param band FFFF0000) rshift 10</action>
            <action>maincpu.mw@02C4 = (param band 0000FFFF)</action>
            <action>maincpu.mw@02CC = (param band FFFF0000) rshift 10</action>
            <action>maincpu.mw@02CF = (param band 0000FFFF)</action>
        </script>
        <script state="off">
            <action>maincpu.mw@02B6 = temp0</action>
            <action>maincpu.mw@02B9 = temp1</action>
            <action>maincpu.mw@02C1 = temp2</action>
            <action>maincpu.mw@02C4 = temp3</action>
            <action>maincpu.mw@02CC = temp4</action>
            <action>maincpu.mw@02CF = temp5</action>
        </script>
    </cheat>
  • Merged three codes into one.
  • Used temp variables to restore original values.
NOTE : Set before Wave starts to change the character.
jman

my wip cheat database back-up (2024/12/01 ver.)
https://u3.getuploader.com/...../download/47
downloadpass : jman2020
jman
Posts: 1256
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

Re: Robotron 2084 Blue Label cheats / game mods

Post by jman »

  • Hulks always chase player
robotron.xml, robotronyo.xml, robotronun.xml, robotron87.xml, robotron12.xml and robotrontd.xml

Code: Select all

    <cheat desc="Hulks always chase player">
        <script state="on">
            <action>temp0 = maincpu.mb@0112</action>
        </script>
        <script state="run">
            <action>maincpu.mb@0112 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@0112 = temp0</action>
        </script>
    </cheat>
  • Simplified codes.
Is it correct? It hasn't hit me yet...
jman

my wip cheat database back-up (2024/12/01 ver.)
https://u3.getuploader.com/...../download/47
downloadpass : jman2020
jman
Posts: 1256
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

Re: Robotron 2084 Blue Label cheats / game mods

Post by jman »

  • Spheroids will keep dropping until killed
robotron.xml, robotronyo.xml, robotronun.xml, robotron87.xml, robotron12.xml and robotrontd.xml

Code: Select all

    <cheat desc="Spheroids will keep dropping until killed">
        <script state="on">
            <action>temp0 = maincpu.mb@1208</action>
        </script>
        <script state="run">
            <action>maincpu.mb@1208 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1208 = temp0</action>
        </script>
    </cheat>
  • Simplified codes.
jman

my wip cheat database back-up (2024/12/01 ver.)
https://u3.getuploader.com/...../download/47
downloadpass : jman2020
jman
Posts: 1256
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

Re: Robotron 2084 Blue Label cheats / game mods

Post by jman »

  • Spheroids will keep dropping until killed
robotron.xml, robotronyo.xml, robotronun.xml, robotron87.xml, robotron12.xml and robotrontd.xml

Code: Select all

    <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@1203</action>
        </script>
        <script state="run">
            <action>maincpu.mw@1203 = 4CAC</action>
        </script>
        <script state="off">
            <action>maincpu.mw@1203 = temp0</action>
        </script>
    </cheat>
  • Spheroids won't spawn anything
robotron.xml, robotronyo.xml, robotronun.xml, robotron87.xml, robotron12.xml and robotrontd.xml

Code: Select all

    <cheat desc="Spheroids won't spawn anything">
        <script state="on">
            <action>temp0 = maincpu.mb@11C6</action>
        </script>
        <script state="run">
            <action>maincpu.mb@11C6 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@11C6 = temp0</action>
        </script>
    </cheat>
Simplified code.
  • Spheroids drop tanks or enforcers
robotron.xml, robotronyo.xml, robotronun.xml, robotron87.xml, robotron12.xml and robotrontd.xml

Code: Select all

    <cheat desc="Spheroids drop tanks or enforcers">
        <script state="on">
            <action>temp0 = maincpu.mw@1203</action>
            <action>temp1 = maincpu.mq@8E10</action>
            <action>temp2 = maincpu.mq@8E18</action>
        </script>
        <script state="run">
            <action>maincpu.mw@1203 = 8E10</action>
            <action>maincpu.mq@8E10 = 8602BDD03F810110</action>
            <action>maincpu.mq@8E18 = 27BE917E1354FFFF</action>
            <!--
            8E10 | 86 02       : LDA    #$02
            8E12 | BD D0 3F    : JSR    $D03F
            8E15 | 81 01       : CMPA   #$01
            8E17 | 10 27 BE 91 : LBEQ   $4CAC
            8E1B | 7E 13 54    : JMP    $1354
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@1203 = temp0</action>
            <action>maincpu.mq@8E10 = temp1</action>
            <action>maincpu.mq@8E18 = temp2</action>
        </script>
    </cheat>
$8E10 - $8FFF fills with 0xFF in ROM region. Perhaps unused. So I use this area to embed custom routine.
  • Enforcers don't shoot
robotron.xml, robotronyo.xml, robotronun.xml, robotron87.xml, robotron12.xml and robotrontd.xml

Code: Select all

    <cheat desc="Enforcers don't shoot">
        <script state="on">
            <action>temp0 = maincpu.mb@13A8</action>
        </script>
        <script state="run">
            <action>maincpu.mb@13A8 = 20</action>
        </script>
        <script state="off">
            <action>maincpu.mb@13A8 = temp0</action>
        </script>
    </cheat>
Simplified code.
  • Select maximum enforcers on screen at one time
robotron.xml, robotronyo.xml, robotronun.xml, robotron87.xml, robotron12.xml and robotrontd.xml

Code: Select all

    <cheat desc="Select maximum enforcers on screen at one time">
        <parameter min="01" max="20" step="01" />
        <script state="on">
            <action>temp0 = maincpu.mb@11F9</action>
        </script>
        <script state="run">
            <action>maincpu.mb@11F9 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@11F9 = temp0</action>
        </script>
    </cheat>
Converted item parameter to value parameter. You can select from 01 to 20 enforcers.
  • Replace spheroids with brains
robotron.xml, robotronyo.xml, robotronun.xml, robotron87.xml, robotron12.xml and robotrontd.xml

Code: Select all

    <cheat desc="Replace spheroids with brains">
        <script state="on">
            <action>temp0 = maincpu.mb@116D</action>
            <action>temp1 = maincpu.md@1AF6</action>
            <action>temp2 = maincpu.mq@8E20</action>
        </script>
        <script state="run">
            <action>maincpu.mb@116D = 20</action> <!-- disable all spheroids initialization -->
            <action>maincpu.md@1AF6 = BD8E2034</action>
            <action>maincpu.mq@8E20 = B6BE6EBBBE6F39FF</action>
            <!--
            8E20 | B6 BE 6E : LDA    $BE6E
            8E23 | BB BE 6F : ADDA   $BE6F
            8E26 | 39       : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.mb@116D = temp0</action>
            <action>maincpu.md@1AF6 = temp1</action>
            <action>maincpu.mq@8E20 = temp2</action>
        </script>
    </cheat>
Simplified codes.
  • Fix tank shell bug
robotron.xml, robotronyo.xml, robotronun.xml, robotron87.xml, robotron12.xml and robotrontd.xml

Code: Select all

    <cheat desc="Fix tank shell bug">
        <comment>There's a bug where Tanks stop firing after 20 shells fired, this fixes it.</comment>
        <script state="on">
            <action>temp0 = maincpu.mw@4FBC</action>
            <action>temp1 = maincpu.mq@8E28</action>
        </script>
        <script state="run">
            <action>maincpu.mw@4FBC = 8E28</action>
            <action>maincpu.mq@8E28 = 0AF1BDD07539FFFF</action>
            <!--
            8E28 | 0A F1    : DEC    $F1
            8E2A | BD D0 75 : JSR    $D075
            8E2D | 39       : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@4FBC = temp0</action>
            <action>maincpu.mq@8E28 = temp1</action>
        </script>
    </cheat>
Simplified codes. Is it correct? I don't know...
  • No hulks
robotron.xml, robotronyo.xml, robotronun.xml, robotron87.xml, robotron12.xml and robotrontd.xml

Code: Select all

    <cheat desc="No hulks">
        <script state="on">
            <action>temp0 = maincpu.mb@016D</action>
        </script>
        <script state="run">
            <action>maincpu.mb@016D = 7F</action>
        </script>
        <script state="off">
            <action>maincpu.mb@016D = temp0</action>
        </script>
    </cheat>
Simplified code. Removed RAM code. You need to set this code before Wave starts.
  • No spheroids
robotron.xml, robotronyo.xml, robotronun.xml, robotron87.xml, robotron12.xml and robotrontd.xml

Code: Select all

    <cheat desc="No spheroids">
        <script state="on">
            <action>temp0 = maincpu.mb@1168</action>
        </script>
        <script state="run">
            <action>maincpu.mb@1168 = 7F</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1168 = temp0</action>
        </script>
    </cheat>
Converted RAM code to ROM code. You need to set this code before Wave starts.
  • Brains can't shoot cruise missiles
robotron.xml, robotronyo.xml, robotronun.xml, robotron87.xml, robotron12.xml and robotrontd.xml

Code: Select all

    <cheat desc="Brains can't shoot cruise missiles">
        <script state="on">
            <action>temp0 = maincpu.mb@1C98</action>
        </script>
        <script state="run">
            <action>maincpu.mb@1C98 = 05</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1C98 = temp0</action>
        </script>
    </cheat>
Simplified code.
jman

my wip cheat database back-up (2024/12/01 ver.)
https://u3.getuploader.com/...../download/47
downloadpass : jman2020
jman
Posts: 1256
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

Re: Robotron 2084 Blue Label cheats / game mods

Post by jman »

  • Spheroids drop 5 GRUNTs
robotron.xml, robotronun.xml, robotron87.xml, robotron12.xml and robotrontd.xml

Code: Select all

    <cheat desc="Spheroids drop 5 GRUNTs (EXPERIMENTAL)">
        <script state="on">
            <action>temp0 = maincpu.mq@1202</action>
            <action>temp1 = maincpu.mq@8E30</action>
            <action>temp2 = maincpu.mq@8E38</action>
            <action>temp3 = maincpu.mq@8E40</action>
            <action>temp4 = maincpu.mq@8E48</action>
            <action>temp5 = maincpu.mq@8E50</action>
            <action>temp6 = maincpu.mq@8E58</action>
            <action>temp7 = maincpu.mq@8E60</action>
            <action>temp8 = maincpu.mq@8E68</action>
            <action>temp9 = maincpu.mq@8E70</action>
        </script>
        <script state="run">
            <action>maincpu.mq@1202 = BD8E306A4A270020</action>
            <action>maincpu.mq@8E30 = 3476B6BE68810F22</action>
            <action>maincpu.mq@8E38 = 361F1286053402BD</action>
            <action>maincpu.mq@8E40 = D07B2729CC4063ED</action>
            <action>maincpu.mq@8E48 = 02ED8814A62AE62C</action>
            <action>maincpu.mq@8E50 = A70AE70CED04B6BE</action>
            <action>maincpu.mq@8E58 = 5CBDD042A78813CC</action>
            <action>maincpu.mq@8E60 = 3A76ED089F8B7CBE</action>
            <action>maincpu.mq@8E68 = 686AE426D2350235</action>
            <action>maincpu.mq@8E70 = F6FFFFFFFFFFFFFF</action>
            <!--
            8E30 | 34 76    : PSHS   U,Y,X,D
            8E32 | B6 BE 68 : LDA    $BE68
            8E35 | 81 0F    : CMPA   #$0F
            8E37 | 22 36    : BHI    $8E6F
            8E39 | 1F 12    : TFR    X,Y
            8E3B | 86 05    : LDA    #$05
            8E3D | 34 02    : PSHS   A
            8E3F | BD D0 7B : JSR    $D07B
            8E42 | 27 29    : BEQ    $8E6D
            8E44 | CC 40 63 : LDD    #$4063
            8E47 | ED 02    : STD    $2,X
            8E49 | ED 88 14 : STD    $14,X
            8E4C | A6 2A    : LDA    $A,Y
            8E4E | E6 2C    : LDB    $C,Y
            8E50 | A7 0A    : STA    $A,X
            8E52 | E7 0C    : STB    $C,X
            8E54 | ED 04    : STD    $4,X
            8E56 | B6 BE 5C : LDA    $BE5C
            8E59 | BD D0 42 : JSR    $D042
            8E5C | A7 88 13 : STA    $13,X
            8E5F | CC 3A 76 : LDD    #$3A76
            8E62 | ED 08    : STD    $8,X
            8E64 | 9F 8B    : STX    $8B
            8E66 | 7C BE 68 : INC    $BE68
            8E69 | 6A E4    : DEC    ,S
            8E6B | 26 D2    : BNE    $8E3F
            8E6D | 35 02    : PULS   A
            8E6F | 35 F6    : PULS   D,X,Y,U,PC
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@1202 = temp0</action>
            <action>maincpu.mq@8E30 = temp1</action>
            <action>maincpu.mq@8E38 = temp2</action>
            <action>maincpu.mq@8E40 = temp3</action>
            <action>maincpu.mq@8E48 = temp4</action>
            <action>maincpu.mq@8E50 = temp5</action>
            <action>maincpu.mq@8E58 = temp6</action>
            <action>maincpu.mq@8E60 = temp7</action>
            <action>maincpu.mq@8E68 = temp8</action>
            <action>maincpu.mq@8E70 = temp9</action>
        </script>
    </cheat>
robotronyo.xml

Code: Select all

    <cheat desc="Spheroids drop 5 GRUNTs (EXPERIMENTAL)">
        <script state="on">
            <action>temp0 = maincpu.mq@1202</action>
            <action>temp1 = maincpu.mq@8E30</action>
            <action>temp2 = maincpu.mq@8E38</action>
            <action>temp3 = maincpu.mq@8E40</action>
            <action>temp4 = maincpu.mq@8E48</action>
            <action>temp5 = maincpu.mq@8E50</action>
            <action>temp6 = maincpu.mq@8E58</action>
            <action>temp7 = maincpu.mq@8E60</action>
            <action>temp8 = maincpu.mq@8E68</action>
            <action>temp9 = maincpu.mq@8E70</action>
        </script>
        <script state="run">
            <action>maincpu.mq@1202 = BD8E306A4A270020</action>
            <action>maincpu.mq@8E30 = 3476B6BE68810F22</action>
            <action>maincpu.mq@8E38 = 361F1286053402BD</action>
            <action>maincpu.mq@8E40 = D07B2729CC4057ED</action>
            <action>maincpu.mq@8E48 = 02ED8814A62AE62C</action>
            <action>maincpu.mq@8E50 = A70AE70CED04B6BE</action>
            <action>maincpu.mq@8E58 = 5CBDD042A78813CC</action>
            <action>maincpu.mq@8E60 = 3A6AED089F8B7CBE</action>
            <action>maincpu.mq@8E68 = 686AE426D2350235</action>
            <action>maincpu.mq@8E70 = F6FFFFFFFFFFFFFF</action>
            <!--
            8E30 | 34 76    : PSHS   U,Y,X,D
            8E32 | B6 BE 68 : LDA    $BE68
            8E35 | 81 0F    : CMPA   #$0F
            8E37 | 22 36    : BHI    $8E6F
            8E39 | 1F 12    : TFR    X,Y
            8E3B | 86 05    : LDA    #$05
            8E3D | 34 02    : PSHS   A
            8E3F | BD D0 7B : JSR    $D07B
            8E42 | 27 29    : BEQ    $8E6D
            8E44 | CC 40 57 : LDD    #$4057
            8E47 | ED 02    : STD    $2,X
            8E49 | ED 88 14 : STD    $14,X
            8E4C | A6 2A    : LDA    $A,Y
            8E4E | E6 2C    : LDB    $C,Y
            8E50 | A7 0A    : STA    $A,X
            8E52 | E7 0C    : STB    $C,X
            8E54 | ED 04    : STD    $4,X
            8E56 | B6 BE 5C : LDA    $BE5C
            8E59 | BD D0 42 : JSR    $D042
            8E5C | A7 88 13 : STA    $13,X
            8E5F | CC 3A 6A : LDD    #$3A6A
            8E62 | ED 08    : STD    $8,X
            8E64 | 9F 8B    : STX    $8B
            8E66 | 7C BE 68 : INC    $BE68
            8E69 | 6A E4    : DEC    ,S
            8E6B | 26 D2    : BNE    $8E3F
            8E6D | 35 02    : PULS   A
            8E6F | 35 F6    : PULS   D,X,Y,U,PC
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@1202 = temp0</action>
            <action>maincpu.mq@8E30 = temp1</action>
            <action>maincpu.mq@8E38 = temp2</action>
            <action>maincpu.mq@8E40 = temp3</action>
            <action>maincpu.mq@8E48 = temp4</action>
            <action>maincpu.mq@8E50 = temp5</action>
            <action>maincpu.mq@8E58 = temp6</action>
            <action>maincpu.mq@8E60 = temp7</action>
            <action>maincpu.mq@8E68 = temp8</action>
            <action>maincpu.mq@8E70 = temp9</action>
        </script>
    </cheat>
Use temp variables to restore original values. You don't need to overwrite easter egg routine.
jman

my wip cheat database back-up (2024/12/01 ver.)
https://u3.getuploader.com/...../download/47
downloadpass : jman2020
Post Reply