Skip to content

Retro Controllers: FAST Serial Protocol Overview

FAST Serial Protocol: Overview & First Steps

This documentation section is about the FAST Serial Protocol (FSP) commands, which are the low-level commands a host computer sends to a FAST board. Most FAST Pinball makers do not need to know about these details, since the pinball game framework (such as the Mission Pinball Framework) handles this communication for you.

If you're writing your own game framework, we have a series of programming guides. Also, be sure to read the overview of how FSP works and how to connect first.

This product is not yet released

This documentation is for a product that is not yet released. Final details may change.

FAST Retro controllers have two different modes of operation.

Emulation Mode

When running in emulation mode, the FAST Retro controller emulates the original Bally/Williams MPU, running the original game code via ROM images installed on the board. In this mode, the host computer sends commands to the retro controller's emulation processor to control the emulation. (See the EMU | Emulation for a list of commands and details.)

While in Emulation Mode, the retro controller will also send display data and potentially other events.

Platform Controller Mode

When running in platform controller mode, the FAST Retro Controller operates in a mode that's similar to the other FAST Modern Platform controllers (such as the Neuron) where it acts as the interface between the pinball machine and modern game code running on a host PC. (This is what some people refer to as the "2.0" mode.)

While running in platform controller mode, several types of driver commands will be available that are not used in modern platform controllers, such as:

  • GI (General Illumination)
  • Switches (via a switch matrix)

There are also special types of drivers which assist with modern game code controlling retro hardware. For example:

USB Port Mappings

When you connect to a FAST Retro Controller via USB, you will see multiple virtual serial ports appear. The exact port names and numbers will vary depending on your computer and which Retro Controller you have, but they will always be in the same relative order.

So we talk about the "first port" or "third port", and that could be:


Or it could be:

/dev/tty.usbmodem1101, /dev/tty.usbmodem1103, /dev/tty.usbmodem1105

One of the ports will connect to the EMU Processor to run the emulation. Another will connect to the NET Processor which is used to run the "modern" game software on the classic hardware.

Depending on your hardware, a third and/or fourth port might be available to connect to the EXP or DSP processors.

Documentation Feedback? Requests? Confused?

Hi! I'm Brian, and I'm responsible for the documentation at FAST Pinball. If you have any feedback, requests, corrections, ideas, or any other thoughts about the docs, please let me know!

You can email me at I maintain this site in my spare time, so there might be a week or so delay if you email me.

If you have a more pressing need, reach out to us via Slack, or email Aaron Davis.


N or > jump the next page, P or < for previous, search with S or ?