FLAVORS OF ROBOTRON EMULATION
Unless you have owned a real Robotron machine, the world has been playing Robotron: 2084 via MAME since the mid-90s.
- And that experience has been a slow evolution with varying gameplay experience results.
- Which version you enjoy is totally up to you, being aware that MAME can come quite close to emulating the live Robotron experience but can never exactly create a live arcade experience…..mainly due to the inadequacies of the USB interface which can never take in as many controller inputs as a real Williams Electronics Interface PCB.
- MAME version 106 was the standard for many years and the staple version used for Twin Galaxies record submissions.
- MAME version 145 saw Sean Riddle the MAME Developer begin an exploration that ended in a complete rewrite of the Williams CPU and Blitter/video processing code
- MAME 148 (which took til MAME 153 to have MAMEDEV publish Sean’s work) saw the end of the rewrite which created the most accurate emulation code but the final gameplay nuances are left as an open-ended experience for the player where the blitter has to be “hedged” to offset the inadequacies of PC USB inputs.
Which one you enjoy is totally up to the player’s opinion and desire on how difficult the gameplay experience is desired to be.
- 1997-2005ish- Up to MAME 95 (unsurvivable much like the original Digital Eclipse Williams compilation)
- 2005ish- MAME 96 (First Robo work done by Aaron Giles)
- 2006ish- MAME 106 (not good, game is fast, Twin Galaxies adopted this version so many have played it)
- 2012ish- MAME 146 (decent, first iteration of major fixes)
- 2013-2014ish- MAME 148-153 (as good as MAME can provide, Sean Riddle’s final fixes included)
These are various manually tuned variations using MAME 153 as base source code- which do you like?
- MAME153-nofix1.000-ROBO-TIE-DIE – (AGGRESSIVE- this has all the CPU/Blitter fixes by Sean but doesn’t tune for better gameplay)
- MAME153-fixed1.225-ROBO-TIE-DIE – (PRACTICE- this is on the faster side of typical, manageable with focus)
- MAME153-fixed1.250-ROBO-TIE-DIE – (DAILY DRIVER- this is typical gameplay, just one more wave…just one more wave!)
- MAME153-fixed1.275-ROBO-TIE-DIE – (MARATHON- less aggressive but within the norm of some real arcade machines out there)
- MAME32-psychadelic3.000-ROBO (TRIPPY- psychedelic very bad emulation, dig the tank waves)
- NOTE- The 2015 Tie-Die romset release is set as the default blue romset slot. (History LINK)
- NOTE- These compiles are 32-bit so they will work on either 64-bit or 32-bit PCs
Why does Robotron require a tuning adjustment for MAME?
Per Sean Riddle (Feb 2015)- I’ve been lurking on the MESS board a lot. I see the developers talking about underlying issues in the emulation core that cause problems like the one that you are fixing with your multiplier. Until they have low-level emulation of everything, you will probably need a multiplier.
What is modified to create these compiled versions of MAME tuned for Robotron gameplay
- Update the “Blitter Setup and Control” section so it includes the bold entry below
estimated_clocks_at_4MHz = 4 + 2 * (accesses + 3);
Navigate to src\mame\drivers\Williams.c
- THEN update the Williams.C robotron so it reads like this-
ROM_START( robotron )
ROM_REGION( 0x19000, “maincpu”, 0 )
ROM_LOAD( “robotron.sba”, 0x0d000, 0x1000, NO_DUMP )
ROM_LOAD( “robotron.sbb”, 0x0e000, 0x1000, NO_DUMP )
ROM_LOAD( “robotron.sbc”, 0x0f000, 0x1000, NO_DUMP )
ROM_LOAD( “robotron.sb1”, 0x10000, 0x1000, NO_DUMP )
ROM_LOAD( “robotron.sb2”, 0x11000, 0x1000, NO_DUMP )
ROM_LOAD( “robotron.sb3”, 0x12000, 0x1000, NO_DUMP )
ROM_LOAD( “robotron.sb4”, 0x13000, 0x1000, NO_DUMP )
ROM_LOAD( “robotron.sb5”, 0x14000, 0x1000, NO_DUMP )
ROM_LOAD( “robotron.sb6”, 0x15000, 0x1000, NO_DUMP )
ROM_LOAD( “robotron.sb7”, 0x16000, 0x1000, NO_DUMP )
ROM_LOAD( “robotron.sb8”, 0x17000, 0x1000, NO_DUMP )
ROM_LOAD( “robotron.sb9”, 0x18000, 0x1000, NO_DUMP )
- You will need to compile the MAME 153 source code to incorporate the changes.
Now any robotron romset you use as ROBOTRON.ZIP will play in the “Robotron Blue” slot when Mame is fired up.
Choices of roms to use are:
- Early 1982 Yellow/Orange/Red (red marker over a yellow label which faded to orange over time)
- Later 1982 Original Blue (cocktail mode, wave 1 bozo mode, enforcer bug exists)
- 1987 Patched Blue (updated 1987 by Vid Kidz, contains the enforcer bug fix from Christian Gingras)
- 2012 Hacked Patched Blue-201 (hack by Sean Riddle to start the game at wave 201- fun for the masters) Romset download also here- Robotron-TieDie-Wave201start.
- 2015 Tie-Die (updated 2014 by Vid Kidz, contains life counter, 10 million digit, etc)
After all this talk about MAME, what you’ll find is: The best way to play Robotron is via a JROK FPGA Multi-Williams PCB. They run about $225 and the 2015 version has an easy USB interface to allow quick loading of romsets. The pcb allows 2 robo romsets at a time, and 2 CMOS choices per romset for dual configuration of settings/high score tables. The JROK allows for VGA (LCD) or CGA (Arcade) video output and use a standard Jamma harness configuration.
- To install one of the romsets above on the 2015 JROK-
- Get a USB drive formatted in FAT32
- Create a robotron folder
- Unzip the desired romset into the folder
- Plug the USB drive into the JROK pcb
- Load the romset from the JROK software menu
- Then the Robotron rom slot will fire up the romset you chose. Easy as that!