SternFA

Stern / Bally MPU, based on FPGA

Hardware version 1.0 and 1.1

Software version x.30 (1.30, 3.30, 4.30)

user manual

ralf@lisy.dev

v1.30 23.10.2026

German version: SternFA_HW1_x_Bedienungsanleitung.html. French version: SternFA_HW1_x_manuel_utilisateur.html. The chapter numbering is the same in all three.

This manual describes the older boards, hardware 1.0 and 1.1, with software x.30. It replaces the manual v1.04.

For hardware 2.0 (PCB v2.00 to v2.02, with the ESP32 socket) there is a manual of its own: SternFA_user_manual.html, in German SternFA_Bedienungsanleitung.html, in French SternFA_manuel_utilisateur.html.

Moving over from manual v1.04? Anti flicker is option Dip5 now, no longer Dip4 (since software x.06, chapter 4.2). And from x.30 on the board also runs without SD card (chapter 5.3).

Table of contents

Important remark

By using SternFA it is possible to damage your pinball machine. As this is a private project with NO commercial interest the author accepts no liability for any damage that may arise by using SternFA!

1. Introduction

SternFA uses a (low cost) FPGA which emulates the hardware of a Stern MPU. It rebuilds the MC6800 processor, the two PIA 6821, the 6810 scratchpad ram, the 5101 CMOS ram and the game roms, and it drives the original display, lamp, switch and solenoid connectors of the machine.

Because the same MPU family sits in Bally machines, SternFA runs Stern MPU-100, Stern MPU-200 and Bally -17/-35 games - 238 game numbers are on the SD card image, see Appendix A. Which one runs is set with the eight switches of DIP bank S1.

SternFA is a 100% hobby project. This makes the solution cheap; depending on where you buy your components it is possible to build your Stern replacement MPU for less than 80 €.

What do you need?

Three things are worth knowing before you begin:

2. Quickstart

  1. Download the latest SD card image and the FPGA program for your board from lisy.dev (chapter 10):
    1. SternFA_1xx for PCB v1.0 with the Cyclone IV board
    2. SternFA_3xx for PCB v1.1 with the Cyclone IV board
    3. SternFA_4xx for PCB v1.1 with the Cyclone 10 board
  2. Write the image to a micro SD card and put the card into the board
  3. Program the FPGA
  4. Configure DIP bank S1 'game select' according to your pinball (Appendix A)
  5. Leave DIP bank S2 'options' all OFF for a start
  6. Replace your original Stern/Bally MPU with SternFA
  7. Switch the game ON
  8. Watch the info display for the first few seconds and check that version and game number are what you expect (chapter 5.1)
  9. Enjoy

3. Installation

SternFA boards have the same connectors and the same mounting holes as the original Bally/Stern MPUs, so replacing the board can be done in seconds. Switch the machine off, pull the original MPU, put SternFA in, done.

3.1. What SternFA replaces and what it does not

Replaced: the MPU board - processor, ram, roms, both PIAs and the glue logic around them.

Still needed: everything outside the MPU. SternFA drives the original connectors and expects the original boards behind them:

SternFA does not rebuild any of these. It behaves towards them exactly as the original MPU did.

3.2. What is on the board

FPGA board PCB v1.0: Cyclone IV E (EP4CE6E22) · PCB v1.1: Cyclone IV E (EP4CE6E22) or Cyclone 10 LP (10CL006)
Clock 50 MHz oscillator on the FPGA board; the emulated 6800 runs at about 446 kHz for Bally / MPU-100 games and about 893 kHz for Stern MPU-200 games - the clock of the original 3.58 MHz crystal divided by 8 and by 4
SD card micro SD holder, read in raw mode - the game roms come from here
Configuration flash EPCS16 on the FPGA board. Holds the FPGA program and, from x.30 on, optionally the game roms (chapter 8)
FRAM keeps the CMOS ram content over a power cycle (chapter 9)
DIP switches S1 game select (8), S2 options (6)
Buttons S8 reset, S9, S33 bookkeeping reset
LEDs red 'SD card error', yellow 'zero cross', green 'Bally'

PCB v1.0 and v1.1 differ in one detail you do not see: on v1.1 an external CD4502 generates the display latch strobes, on v1.0 the FPGA does it itself. That is why the two boards need different FPGA programs (chapter 11).

4. DIP switch settings

4.1. DIP switch S1: game select

Here you select which game SternFA should run. This depends on the roms placed on the SD card; Appendix A lists what the current image contains.

The switch pattern is simply the game number in binary, S1 being the lowest bit:

Switch S1 S2 S3 S4 S5 S6 S7 S8
adds 1 2 4 8 16 32 64 128

ON = the value is added. Game 101 (MATAHARI) is therefore 1 + 4 + 32 + 64 = S1, S3, S6 and S7 ON, everything else OFF. Appendix A spells this out for every game.

Game numbers 0 to 63 are Stern MPU-200 games and run with the higher processor clock. From 64 upwards SternFA runs the Bally / MPU-100 clock. This is derived from the game number alone (switches S7 and S8), which is why option DIP 3 exists - see 4.2.3.

4.2. DIP switch S2: options

Default setting is all OFF.

Dip4 and Dip5 swapped places in software x.06. Anti flicker used to be Dip4 (manual v1.04) and is Dip5 now. If you move over from an older version with anti flicker in use, move that switch from 4 to 5.

4.2.1. S2-Dip1 -> zero cross emulator

A Bally/Stern MPU needs a 'zero cross' signal in order to work properly; this signal comes from the 12 volt power supply. The existence of the signal is checked during boot.

With Dip1 ON SternFA generates the signal itself (100 Hz, that is a 50 Hz mains), so for testing on the bench you only need a 5 volt supply. Note that the timing is different with emulated zero cross - use it on the bench, not in the machine.

4.2.2. S2-Dip2 -> save nvram content continuously

SternFA uses a FRAM chip to save the nvram content (high scores and extended settings). For bench testing Dip2 can be set to ON, which makes SternFA save the current nvram content continuously.

During normal gameplay the nvram content is saved automatically anyway - triggered by the test switch, the game over relay and the credit button.

4.2.3. S2-Dip3 -> force Bally game

With SternFA you can also run all games that run on BallyFA, by using the BallyFA rom SD image. Set this option to ON in that case - otherwise all games with a number below 64 would run with the higher MPU-200 processor clock.

The Stern SD image provided includes both Stern and Bally games with the correct numbering, so with that image you do not need this option.

4.2.4. S2-Dip4 -> not used

No function on hardware 1.0 and 1.1, leave it OFF. On hardware 2.0 this switch allows the FA-Control test interface to take over the machine.

4.2.5. S2-Dip5 -> anti flicker for games with LEDs

With Dip5 ON SternFA changes the timing of the zero cross signal. Bally games are known for flickering LED replacement lamps; usually each LED needs a resistor in parallel to solve this. With this option the LEDs are flicker free without the additional resistors.

4.2.6. S2-Dip6 -> init nvram

With Dip6 ON SternFA initialises the nvram of the selected game to zero during boot. This is useful if you want to reset all ram content, for example after loading a different game into the same slot.

Set it back to OFF and power cycle afterwards - otherwise the machine will wipe its settings on every start.

4.3. The DIP switches are read once, at boot

Both banks - the eight of S1 and the six of S2 - are read once, in the first moments after power-up, and the values are then held until the next reset. Turning a switch while the machine is running does nothing.

The practical consequence: after changing any switch, power off and power on, or press the reset button S8.

5. Boot sequence

5.1. Phase 1: the info display

Immediately after power-up - or after pressing S8 - SternFA reads both DIP banks and writes the info display to the displays of your machine, before any game code runs. It stays up for the first few blinks of the green LED:

Display Shows
Player 1 version of the FPGA program running, e.g. 4 3 0. The first digit is the board variant (chapter 11)
Player 2 the selected game number from S1, right aligned. A leading 2 on the far left means a Stern MPU-200 game was selected
Player 3 050963 - the lisy.dev identifier for FPGA based MPUs. It is fixed and only tells you that the display path works
Player 4 the value of the option bank S2 as a number, 0 to 63: Dip1 = 1, Dip2 = 2, Dip3 = 4, Dip4 = 8, Dip5 = 16, Dip6 = 32
Credit / status a counter, counting down 4, 3, 2, 1, 0 with each blink of the green LED

Check player 1 and player 2 at every first start. They tell you whether the right program is in the FPGA and whether the game select switches are set to what you meant.

5.2. Phase 2: SD card read

SternFA reads the rom of the selected game from the SD card. If this fails, the red LED 'SD card error' first blinks a code and then stays lit, and an error digit appears in the status display:

Digit Meaning
1 general problem with the SD card - no data could be read. Card missing, not written raw, or not readable
2 CRC error: data was read, but the checksum of the game block does not match. The image is damaged, or the card is unreliable
4 no error: no SD card, the rom came from the configuration flash (x.30 and later, 5.3)
8 no SD card, and the selected game is not in the configuration flash (x.30 and later, 5.3)

If the read succeeds, the red LED stays dark and no error digit appears.

5.3. Running without SD card (x.30)

New with software x.30. When no SD card answers, SternFA loads the game from the configuration flash (EPCS16) of the FPGA board, under the same game number as on the card. The status display then shows 4.

5.4. Phase 3: program execution

The nvram content of the selected game is fetched from the FRAM into the CMOS ram, and the game code starts running. This is the normal Bally/Stern boot sequence: the green 'Bally' LED blinks a few times, and when the code is up and the interrupts run regularly the green LED goes and stays ON.

From here on, the machine behaves like the original.

6. Buttons and LEDs on the board

6.1. The three status LEDs

LED Meaning
red - SD card error dark is the normal state. Blinking then steady = the SD card could not be read, see 5.2. Eight quick blinks, a pause, and again = no card and the game is not in the flash (5.3)
yellow - zero cross lit is the normal state. It goes dark when the zero cross signal from the power supply is missing (two or more edges lost in a row). Dark yellow LED and a machine that does nothing = look at the rectifier board, not at SternFA. With Dip1 (zero cross emulator) OFF on the bench without 12 V it is dark by nature
green - Bally blinks during the boot sequence of the game code, then stays lit while the game runs. Steady dark or a blink that never stops means the game code is not getting through its start-up

6.2. The buttons

Button Function
S8 reset. Restarts the whole boot sequence including the DIP read. Use it after changing a switch
S9 wired to the FPGA but not used by the software so far. The self test of the game is in the coin door, as usual
S33 the S33 bookkeeping reset of the original MPU (it triggers the NMI). Same function as on the original board

7. The SD card

The game roms live on the SD card, and SternFA reads them at every power-up. The card is read raw - there is no file system on it. Write the downloaded image to the card with a raw imaging tool (for example Win32DiskImager, balenaEtcher or dd); simply copying a file onto a formatted card will not work.

Each game occupies a block of 64 KB on the card, and the blocks are laid out in the order of the game numbers of Appendix A. The FPGA calculates the position from the S1 switches alone, which is why the game number and the image version have to match - the game numbers in Appendix A are those of image v0.98.

The image also contains a checksum per game block. That is what error code 2 in 5.2 refers to; it catches a damaged download or a failing card before the game starts behaving strangely.

Any ordinary micro SD card works. Size does not matter - the image is small - but a card that has been in service for years is exactly the kind of part that starts producing error 2.

8. Game roms in the FPGA flash

The FPGA boots from a 2 MByte flash chip (EPCS16) on the FPGA board. The FPGA program takes the first 512 KByte; from address 080000h on there is room for the games. Many games share rom chips, so every 2 KByte rom block is stored only once, with a directory in front that tells for each game number which blocks belong to it. That way all 204 games of SD card image v0.98 fit, in 598 KByte.

The roms are copyrighted, so they cannot be part of the download. You put them there yourself, from an image of your SD card. In the SternFA source tree (github.com/bontango/SternFA) run

.\scripts\build.ps1 <variant> -RomImage <image of the SD card>

with hw1_0_cyclone_IV (PCB v1.0), hw1_1_cyclone_IV or hw1_1_cyclone_10 (PCB v1.1) as variant. Only games with a correct checksum are taken over. This builds the FPGA program and puts it together with the games into one file, variants\<variant>\output_files\sternfa_roms.jic. Program it with the Quartus Programmer instead of the normal .jic.

From then on the board runs without SD card. With a card in the slot the card always wins, so you can still try other roms from a card without touching the flash. Credits and high scores belong to the game number, not to where the rom came from - they stay when you switch between card and flash.

Keep that file to yourself. It contains the game roms and must not be passed on.

9. Credits and high scores

The original MPU keeps its CMOS ram alive with batteries, which is what eventually destroys so many of these boards. SternFA has no battery. Instead it copies the nvram content into the FRAM chip on the board and reads it back at the next start.

You do not have to do anything for this. Saving is triggered automatically by the test switch, the game over relay and the credit button - the same events at which the original board would have settled down. Option Dip2 (4.2.2) forces continuous saving for bench testing, and option Dip6 (4.2.6) wipes the content.

FRAM needs no battery, has no write cycle limit worth thinking about, and does not leak.

10. Programming the FPGA

Everything you need to get the software onto the board is described on my website, and it is kept up to date there:

https://lisy.dev/documentation-01.html

You will find there which programmer software you need, how to install the driver for the USB Blaster, and how to program the FPGA.

The FPGA program itself and the SD card image are in the SternFA software repository:

https://lisy.dev/swrep/SternFA

Make sure you take the version for your board - see chapter 11. With software x.30 these are SternFA_130.jic, SternFA_330.jic and SternFA_430.jic.

The FPGA on this board is configured from a serial configuration device, so the program stays in place after a power cycle. You program it once, not at every start.

11. Board variants

The same design runs on several boards, and the FPGA program is not interchangeable between them - the pin assignment differs, and a wrong program will at best show nothing and at worst drive the wrong pins.

Version starts with Board Release file x.30
1 SternFA PCB v1.0 with the Cyclone IV board (EP4CE6E22) hardware v1.0/Cyclone_IV_v4/SternFA_130.jic
3 SternFA PCB v1.1 with the Cyclone IV board (EP4CE6E22) hardware v1.1/Cyclone_IV_v4/SternFA_330.jic
4 SternFA PCB v1.1 with the Cyclone 10 board (10CL006) hardware v1.1/Cyclone_10/SternFA_430.jic
5 SternFA PCB v2.0 with the dev_open board - see the hardware 2.0 manual hardware v2.0/dev_open/SternFA_530.jic

The info display tells you which program is running: the first of the three version digits on player display 1 is the board number. If you loaded the wrong one, the displays will most likely stay dark or show nonsense - check that digit first.

12. Version history

Version Change
x.02 adapted boot message
x.03 inverted sound output (74HCT240) and internal signals corrected
x.04 CRC check of the game blocks on the SD card; MPU-200 games now in the range 0..63
x.05 processor clock 446 / 893 kHz on all boards (the Cyclone IV boards ran 500 / 833 kHz before)
x.06 option Dip4 and Dip5 swapped: anti flicker is Dip5 now
x.30 game roms from the configuration flash when no SD card answers; status digit 4 = rom from the flash, 8 = game not in the flash

13. Known limitations


Appendix A 'game select'

Game numbers of SD card image v0.98. ON = switch closed. The pattern is the game number in binary with S1 as the lowest bit, see 4.1.

No S1 S2 S3 S4 S5 S6 S7 S8 Game Remark
0 off off off off off off off off Meteor Stern MPU-200
1 on off off off off off off off Galaxy Stern MPU-200
2 off on off off off off off off Ali Stern MPU-200
3 on on off off off off off off Big Game Stern MPU-200
4 off off on off off off off off Seawitch Stern MPU-200
5 on off on off off off off off Cheetah Stern MPU-200
6 off on on off off off off off Quicksilver Stern MPU-200
7 on on on off off off off off Stargazer Stern MPU-200
8 off off off on off off off off Nine Ball Stern MPU-200
9 on off off on off off off off Iron Maiden Stern MPU-200
10 off on off on off off off off Viper Stern MPU-200
11 on on off on off off off off Dragonfist Stern MPU-200
12 off off on on off off off off Cue Stern MPU-200
13 on off on on off off off off Flight 2000 Stern MPU-200
14 off on on on off off off off Freefall Stern MPU-200
15 on on on on off off off off Lightning Stern MPU-200
16 off off off off on off off off Split Second Stern MPU-200
17 on off off off on off off off Catacomb Stern MPU-200
18 off on off off on off off off Orbitor 1 Stern MPU-200
19 on on off off on off off off Meteor Stern MPU-200 Freeplay
20 off off on off on off off off Galaxy Stern MPU-200 Freeplay
21 on off on off on off off off Ali Stern MPU-200 Freeplay
22 off on on off on off off off Big Game Stern MPU-200 Freeplay
23 on on on off on off off off Seawitch Stern MPU-200 Freeplay
24 off off off on on off off off Cheetah Stern MPU-200 Freeplay
25 on off off on on off off off Quicksilver Stern MPU-200 Freeplay
26 off on off on on off off off Stargazer Stern MPU-200 Freeplay
27 on on off on on off off off Nine Ball Stern MPU-200 Freeplay
28 off off on on on off off off Iron Maiden Stern MPU-200 Freeplay
29 on off on on on off off off Viper Stern MPU-200 Freeplay
30 off on on on on off off off Dragonfist Stern MPU-200 Freeplay
31 on on on on on off off off Cue Stern MPU-200 Freeplay
32 off off off off off on off off Flight 2000 Stern MPU-200 Freeplay
33 on off off off off on off off Freefall Stern MPU-200 Freeplay
34 off on off off off on off off Lightning Stern MPU-200 Freeplay
35 on on off off off on off off Split Second Stern MPU-200 Freeplay
36 off off on off off on off off Catacomb Stern MPU-200 Freeplay
37 on off on off off on off off Orbitor 1 Stern MPU-200 Freeplay
38 off on on off off on off off NOT USED –
39 on on on off off on off off NOT USED –
40 off off off on off on off off NOT USED –
41 on off off on off on off off NOT USED –
42 off on off on off on off off NOT USED –
43 on on off on off on off off NOT USED –
44 off off on on off on off off NOT USED –
45 on off on on off on off off NOT USED –
46 off on on on off on off off NOT USED –
47 on on on on off on off off NOT USED –
48 off off off off on on off off NOT USED –
49 on off off off on on off off NOT USED –
50 off on off off on on off off NOT USED –
51 on on off off on on off off NOT USED –
52 off off on off on on off off NOT USED –
53 on off on off on on off off NOT USED –
54 off on on off on on off off NOT USED –
55 on on on off on on off off NOT USED –
56 off off off on on on off off NOT USED –
57 on off off on on on off off NOT USED –
58 off on off on on on off off NOT USED –
59 on on off on on on off off NOT USED –
60 off off on on on on off off NOT USED –
61 on off on on on on off off NOT USED –
62 off on on on on on off off NOT USED –
63 on on on on on on off off NOT USED –
64 off off off off off off on off Pinball Stern
65 on off off off off off on off Stingray Stern
66 off on off off off off on off Stars Stern
67 on on off off off off on off Memory Lane Stern
68 off off on off off off on off Lectronamo Stern
69 on off on off off off on off Wild Fyre Stern
70 off on on off off off on off Nugent Stern
71 on on on off off off on off Dracula Stern
72 off off off on off off on off Trident Stern
73 on off off on off off on off Hot Hand Stern
74 off on off on off off on off Magic Stern
75 on on off on off off on off Cosmic Princess Stern
76 off off on on off off on off Pinball Stern Freeplay
77 on off on on off off on off Stingray Stern Freeplay
78 off on on on off off on off Stars Stern Freeplay
79 on on on on off off on off Memory Lane Stern Freeplay
80 off off off off on off on off Lectronamo Stern Freeplay
81 on off off off on off on off Wild Fyre Stern Freeplay
82 off on off off on off on off Nugent Stern Freeplay
83 on on off off on off on off Dracula Stern Freeplay
84 off off on off on off on off Trident Stern Freeplay
85 on off on off on off on off Hot Hand Stern Freeplay
86 off on on off on off on off Magic Stern Freeplay
87 on on on off on off on off Cosmic Princess Stern Freeplay
88 off off off on on off on off NOT USED –
89 on off off on on off on off NOT USED –
90 off on off on on off on off NOT USED –
91 on on off on on off on off NOT USED –
92 off off on on on off on off NOT USED –
93 on off on on on off on off NOT USED –
94 off on on on on off on off NOT USED –
95 on on on on on off on off NOT USED –
96 off off off off off on on off FREEDOM Bally
97 on off off off off on on off NIGHTRIDER Bally
98 off on off off off on on off EVELKNIEVEL Bally
99 on on off off off on on off EIGHTBALL Bally
100 off off on off off on on off POWERPLAY Bally
101 on off on off off on on off MATAHARI Bally
102 off on on off off on on off BLACKJACK Bally
103 on on on off off on on off STRIKES_SPARES Bally
104 off off off on off on on off LOSTWORLD Bally
105 on off off on off on on off 6MILLIONMAN Bally
106 off on off on off on on off PLAYBOY Bally
107 on on off on off on on off VOLTAN Bally
108 off off on on off on on off SUPERSONIC Bally
109 on off on on off on on off STARTREK Bally
110 off on on on off on on off KISS Bally
111 on on on on off on on off PARAGON Bally
112 off off off off on on on off HARLEMGLOBE Bally
113 on off off off on on on off DOLLYPARTON Bally
114 off on off off on on on off FUTURESPA Bally
115 on on off off on on on off NITROGROUND Bally
116 off off on off on on on off SILVERBALLMANIA Bally
117 on off on off on on on off SPACEINVADERS Bally
118 off on on off on on on off ROLLINGSTONES Bally
119 on on on off on on on off MYSTIC Bally
120 off off off on on on on off HOTDOGGIN Bally
121 on off off on on on on off VIKING Bally
122 off on off on on on on off SKATEBALL Bally
123 on on off on on on on off FRONTIER Bally
124 off off on on on on on off XENON Bally
125 on off on on on on on off FLASHGORDON Bally
126 off on on on on on on off 8BALLDELUXE Bally
127 on on on on on on on off FIREBALLII Bally
128 off off off off off off off on EMRYRON Bally
129 on off off off off off off on FATHOM Bally
130 off on off off off off off on MEDUSA Bally
131 on on off off off off off on CENTAUR Bally
132 off off on off off off off on ELEKTRA Bally
133 on off on off off off off on VECTOR Bally
134 off on on off off off off on MR_MRSPACMAN Bally
135 on on on off off off off on SPECTRUM Bally
136 off off off on off off off on SPEAKEASY Bally
137 on off off on off off off on BMX Bally
138 off on off on off off off on GRANDSLAM Bally 2 player
139 on on off on off off off on GOLDBALL Bally
140 off off on on off off off on XandOs Bally
141 on off on on off off off on SPYHUNTER Bally
142 off on on on off off off on KINGSOFSTEEL Bally
143 on on on on off off off on BLACKPYRAMID Bally
144 off off off off on off off on FIREBALCLASSIC Bally
145 on off off off on off off on CYBERNAUT Bally
146 off on off off on off off on NIGHTRIDER Bally Freeplay
147 on on off off on off off on EVELKNIEVEL Bally Freeplay
148 off off on off on off off on EIGHTBALL Bally Freeplay
149 on off on off on off off on POWERPLAY Bally Freeplay
150 off on on off on off off on MATAHARI Bally Freeplay
151 on on on off on off off on BLACKJACK Bally Freeplay
152 off off off on on off off on STRIKES_SPARES Bally Freeplay
153 on off off on on off off on LOSTWORLD Bally Freeplay
154 off on off on on off off on 6MILLIONMAN Bally Freeplay
155 on on off on on off off on PLAYBOY Bally Freeplay
156 off off on on on off off on VOLTAN Bally Freeplay
157 on off on on on off off on SUPERSONIC Bally Freeplay
158 off on on on on off off on STARTREK Bally Freeplay
159 on on on on on off off on KISS Bally Freeplay
160 off off off off off on off on PARAGON Bally Freeplay
161 on off off off off on off on HARLEMGLOBE Bally Freeplay
162 off on off off off on off on DOLLYPARTON Bally Freeplay
163 on on off off off on off on FUTURESPA Bally Freeplay
164 off off on off off on off on NITROGROUND Bally Freeplay
165 on off on off off on off on SILVERBALLMANIA Bally Freeplay
166 off on on off off on off on SPACEINVADERS Bally Freeplay
167 on on on off off on off on ROLLINGSTONES Bally Freeplay
168 off off off on off on off on MYSTIC Bally Freeplay
169 on off off on off on off on HOTDOGGIN Bally Freeplay
170 off on off on off on off on VIKING Bally Freeplay
171 on on off on off on off on SKATEBALL Bally Freeplay
172 off off on on off on off on FRONTIER Bally Freeplay
173 on off on on off on off on XENON Bally Freeplay
174 off on on on off on off on FLASHGORDON Bally Freeplay
175 on on on on off on off on 8BALLDELUXE Bally Freeplay
176 off off off off on on off on FIREBALLII Bally Freeplay
177 on off off off on on off on EMRYRON Bally Freeplay
178 off on off off on on off on FATHOM Bally Freeplay
179 on on off off on on off on MEDUSA Bally Freeplay
180 off off on off on on off on CENTAUR Bally Freeplay
181 on off on off on on off on ELEKTRA Bally Freeplay
182 off on on off on on off on VECTOR Bally Freeplay
183 on on on off on on off on MR_MRSPACMAN Bally Freeplay
184 off off off on on on off on SPECTRUM Bally Freeplay
185 on off off on on on off on SPEAKEASY Bally Freeplay
186 off on off on on on off on BMX Bally Freeplay
187 on on off on on on off on GOLDBALL Bally Freeplay
188 off off on on on on off on XandOs Bally Freeplay
189 on off on on on on off on SPYHUNTER Bally Freeplay
190 off on on on on on off on KINGSOFSTEEL Bally Freeplay
191 on on on on on on off on BLACKPYRAMID Bally Freeplay
192 off off off off off off on on FIREBALCLASSIC Bally Freeplay
193 on off off off off off on on CYBERNAUT Bally Freeplay
194 off on off off off off on on 6MILLIONMAN Bally 7digit mod
195 on on off off off off on on PLAYBOY Bally 7digit mod
196 off off on off off off on on VOLTAN Bally 7digit mod
197 on off on off off off on on SUPERSONIC Bally 7digit mod
198 off on on off off off on on STARTREK Bally 7digit mod
199 on on on off off off on on KISS Bally 7digit mod
200 off off off on off off on on PARAGON Bally 7digit mod
201 on off off on off off on on HARLEMGLOBE Bally 7digit mod
202 off on off on off off on on DOLLYPARTON Bally 7digit mod
203 on on off on off off on on FUTURESPA Bally 7digit mod
204 off off on on off off on on NITROGROUND Bally 7digit mod
205 on off on on off off on on SILVERBALLMANIA Bally 7digit mod
206 off on on on off off on on SPACEINVADERS Bally 7digit mod
207 on on on on off off on on ROLLINGSTONES Bally 7digit mod
208 off off off off on off on on MYSTIC Bally 7digit mod
209 on off off off on off on on HOTDOGGIN Bally 7digit mod
210 off on off off on off on on VIKING Bally 7digit mod
211 on on off off on off on on 8BALLDELUXE Special
212 off off on off on off on on EMBRYON Special
213 on off on off on off on on VECTOR Special
214 off on on off on off on on FATHOM Special
215 on on on off on off on on NITROGROUND Special w. Sirene Patch
216 off off off on on off on on Pinball Stern
217 on off off on on off on on Stingray Stern
218 off on off on on off on on Stars Stern
219 on on off on on off on on Memory Lane Stern
220 off off on on on off on on Pinball Stern Freeplay
221 on off on on on off on on Stingray Stern Freeplay
222 off on on on on off on on Stars Stern Freeplay
223 on on on on on off on on Memory Lane Stern Freeplay
224 off off off off off on on on Tigerrag Bell Games
225 on off off off off on on on 8BALLDELUXE V32
226 off on off off off on on on SPEAKEASY 4Player –
227 on on off off off on on on SPEAKEASY 4Player Freeplay
228 off off on off off on on on Saturn2 Bell Games
229 on off on off off on on on Lectronamo Stern
230 off on on off off on on on Lectronamo Stern Freeplay
231 on on on off off on on on World Defender Bell Games
232 off off off on off on on on World Defender Bell Games Freeplay
233 on off off on off on on on Baby Pacman –
234 off on off on off on on on Baby Pacman Okaegi version
235 on on off on off on on on GRANDSLAM 4 player
236 off off on on off on on on GRANDSLAM 2 player freeplay
237 on off on on off on on on GRANDSLAM 4 player freeplay

Appendix B Quick reference

The 14 configuration switches of SternFA

 S1  game select                       S2  options
  1  + 1                                1  zero cross emulator
  2  + 2                                2  save nvram continuously
  3  + 4                                3  force Bally clock
  4  + 8                                4  not used (HW 1.x)
  5  + 16                               5  anti flicker for LEDs (was Dip4 up to x.05)
  6  + 32                               6  init nvram at boot
  7  + 64
  8  + 128                             default: all OFF

 both banks are read ONCE, at boot - after changing anything: power off, power on, or S8

The info display, first seconds after power on

Player 1      4 3 0     version, first digit = board variant (chapter 11)
Player 2   2    1 0 1    game select; leading 2 = Stern MPU-200 clock
Player 3   0 5 0 9 6 3   lisy.dev identifier, fixed
Player 4        1 6      value of the option bank S2 (Dip1=1 ... Dip6=32)
Credit              4    counts down 4, 3, 2, 1, 0

LEDs: red SD card error (dark = good) · yellow zero cross (lit = good) · green Bally (blinks at start, then lit while the game runs)

SD card error digit in the status display: 1 = card not readable · 2 = checksum of the game block wrong · 4 = rom from the configuration flash, no card (no error) · 8 = no card, game not in the flash

Buttons: S8 reset · S33 bookkeeping reset · S9 has no function

FPGA program: SternFA_1xx PCB v1.0 · SternFA_3xx PCB v1.1 Cyclone IV · SternFA_4xx PCB v1.1 Cyclone 10