On August 30, 2025 by Jonathan Zdziarski
RoadBlasters
Temple of Doom was a great introduction to the Atari System 1 logic board, and as it turned out was very easy to adapt to the JAMMA standard. With the exception of inverting the directional buttons (and the ridiculous number of repairs I had to make to the board), everything was super straight forward and amounted to just mapping pins on the logic board to JAMMA pins. But Temple of Doom isn’t the only great game released on this platform. System 1 is a modular platform; Atari was able to save a lot of money by shipping out new cartridge PCB kits to arcade owners. These kits typically came with a new marquee and control panel so if you already owned an Atari System 1 cabinet, you could swap out games pretty easily without having to freight an excessively heavy cabinet or take up space with an old game that’s lost interest.
RoadBlasters was one of my favorite racing games (next to Outrun, which will forever be crowned the best), and was also a System 1 platform game. Unlike Temple of Doom, there’s no joystick. The controls are very nuanced, as they are with many arcade racers, and included a steering yoke and foot pedals. You can imagine this was handled very differently electronically than a racer you’d play on, say, NES (like Rad Racer, which I grew up on). It’s not a very popular game because you typically need to own the original steering yoke (or a compatible aftermarket one, if such a thing exists) in order to play it. I’ve always found at-home steering wheels a bit dumb, and prefer playing a racer with a gamepad or joystick. I’m certainly not going to buy some old arcade yoke just to play a game.
RoadBlasters Optical Coupler Schematic
Not surprisingly, RoadBlasters also uses optical sensors to detect the motion of the steering wheel. Since it was the technology of the time, many games (such as Tron) used a similar setup. The steering wheel included a disc with notches. As you turned the steering wheel, the optical sensors would detect either the notch or the disc. As you turn, signals get sent to the logic board which clock your movement in a given direction. Here, the direction is determined by whether DIR1 is low or high.
There’s a catch to how RoadBlasters was designed that made this adaptation a little more complex than Tron. Instead of using an LS491 (or other counter IC), RoadBlasters sends a clock signal via CLK1, but the signal for the direction of the movement is interleaved with the clock signal. It takes a very short amount of time between when the clock signal is received and when the DIR1 pin is read. Signaling the DIR1 pin at the same time doesn’t work. So the sequence of signals is:
The logic board itself counts up or down 8 bits, so your possible values are 0-255, with 127 being a centered steering wheel. MAME tried to make this game playable by setting the wheel to 0 or 255 depending on which way you turn… and if you’ve noticed, the MAME version of this game is virtually unplayable. We need something a little more graceful, to slowly count up or down depending on how long you hold the directional pad down.
In Part I, I mentioned the use of an NE555 timer chip to generate a clock pulse. This was later incorporated into the final prototype for Tron, so that the adapter could automatically move Tron’s arm (rather than depend on a rapid fire circuit). We can use the same here, except we need to generate two signals instead of one – and they have to be interleaved. We could probably time this right with two NE555 timers, but that’s a little excessive (and twice the price!). What we need here is often referred to as an RC Delay Circuit.
As the link explains, an RC (resistor-capacitor) delay does exactly what it says… relays a pulse with a slight delay. Here, we want to pulse the clock pin, but then immediately after tap the DIR1 pin to convey the correct direction. Implementing an RC delay allows us to send two signals – one right after the other.
After a little bit of trial and error, I configured the NE555 timer to just the right pulse rate using 1K for R1, 33K for R2, and 0.47 uF for C1.
NE555 Timer
The NE555 trigger (pin 5) needs to be tied to a +5V source when you want to turn. If you recall from Part I, you can invert signals with the use of a 74LS04 or a 74LS86. The LS86 (quad XOR gate) makes more sense here, because when you’re done you’re going to want the timer to activate when EITHER the Left or Right directional buttons are pressed. So you can run your Left and Right JAMMA pins into an LS86 as the input, and the output will be LOW when no button is pressed, or HIGH when either one is pressed. Pin 3 then goes to both the CLK and DIR1 pins. DIR1 receives the clock signal just after the clock pin does, so that it’ll be active when the pin is read.
So by now, I’m able to turn reliably in one direction… not very useful for a racing game.
In order to turn in the other direction, the signal to DIR1 needs to be inverted when the other directional button is pressed. Looking back to the LS86, think about how you’d build a XOR gate to handle this. One way to do it is to send the CLK output into one input, and one of the two directional pins into the other. Take the output of that gate and make that your DIR1 signal.
Now we’re talkin’. With the RC circuit in place just in front of it, (a little trial and error landed me at 5K and a 103 cap) I placed an XOR gate between the CLK pulse and the DIR pin. Now we can increment or decrement the counter in either direction!
I quickly went from breadboard to prototyping board and built a small, cookie-sized circuit in the configuration above.
The rest of the pins simply map to JAMMA pins on a universal adapter. Any universal adapter will do. This happens to be one I fabricated.
It drives pretty good! There is no return to center but it feels natural this way, the way a steering wheel would. You could build a return to center with an 8-bit timer in sync with your steering, but I really like how this feels as it is – nice and smooth, and gamepad-friendly.
The pedals are quite easy: I mapped the accelerator/brake pedal to a single pin. When the voltage is high (default), the accelerator is down. Therefore, the button is essentially a “brake” button. Based on the schematic, this is exactly how RoadBlasters handles the brake too… by just grounding out the accelerator pin.
I’m not sure I’ll make a JAMMA adapter for this one; the steering circuit seems to be the only thing preventing someone from doing an easy port of this title using a universal adapter. I did need to wire up a small amplifier and a 12V inverter to supply the -12V the game needs… both of these are cheap little circuit boards you can buy on Amazon.