After repairing a Stars machine (Stern, 1978), I started thinking about how I could improve the rules of the game. Stars is fun, but it only has two goals (drop targets & lighting stars) and it doesn’t take long before it starts to feel like a grind. I thought it would be interesting to add things like:

A free play mode

Ball save

Hurry ups

Deeper goals

A wizard mode

Plus, I wanted to get deep down in the guts of the Stern MPU-100 (or Bally AS-2518-17) and really see how everything worked. In the process, I learned a lot about how those boards work, so I figured it would be good to document the process.

The implementation works on a standard MPU board. It simply removes the M6800 and plugs the Arduino into the J5 connector.

With all the MPU replacements available, including those that are built around Arduinos, you might ask why I’m bothering to do this. I like keeping the original hardware in this old machines. When I got them, the MPUs were broken and it took a long time to figure out the issues and fix them. I could have simply spent the money and replaced them with universal boards, and those would have been easier to hack with my own code. I wanted to keep everything stock except the processor. With this implementation, you can pop out the M6800, plug a simple board onto J5, and the machine is completely different. The Arduino Nano is $4~$5, and the entire board can be built for less than $10.

If you would like to skip ahead and see the results, here’s a link to all the code I produced:

https://github.com/MrEkted/BallySternOS

So this page doesn’t get too long, I’m going to break this into sections:

I’ve learned a lot during this process, but I’m absolutely not an expert on this stuff. If you see anything incorrect or under-explained, please let me know so I can update this document. I found a lot of interesting information during this effort, but I never found a definitive source of knowledge on all the systems. I hope this set of pages can serve that purpose.

Demo of Stars 2020 rules:

Continue on to read about the hardware build for this implementation.