1 Introduction

1.1 Motivation

Thanks to the emulators available nowadays I was able to make my own arcade cabinet. Although I employed genuine arcade joysticks and a vintage CRT display I didn’t get the same feeling that playing the original arcades. When playing the original, death was dramatic: if you "died" in the game and you wanted to continue playing you had to spend a valuable coin. Since emulators let you simulate the insertion of a coin just by pressing a key, in practical terms you have unlimited lives and the feeling is lost. To solve this I devised a joystick system with an integrated credit counter. The system disables the insert coin buttons unless credits are available and includes a little challenge that must be won in order to obtain them.

1.2 The challenge

It is the Simon says electronic game created by Ralph Baer and Howard J. Morrison in 1978. The following description of the game has bee taken from wikipedia (https://en.wikipedia.org/wiki/Simon_%28game%29):

The device has four colored buttons, each producing a particular tone when it is pressed or activated by the device. A round in the game consists of the device lighting up one or more buttons in a random order, after which the player must reproduce that order by pressing the buttons. As the game progresses, the number of buttons to be pressed increases.

As in the original Simon says game there are several skill levels. The number of credits obtained when the game is won will depend on the selected skill level.

1.3 Features

2 Software configuration

When connecting the system to your computer it will recognize a set of joysticks. No special drivers should be needed. However, if the system is going to be used with arcade emulation software you will need to configure the emulator properly. First you will need to set the first four detected interfaces as the joysticks for the players 1, 2, 3 and 4. The fifth interface is used for interacting with emulators. From now on we will call it control interface. Although the operating system will detect the control interface as 12 buttons joystick, just the buttons in the ranges 1-6 and 9-12 are implemented. Those in the range 9-12 are intended to be used for coin-op game emulators and should be configured as the insert coin button for the player 1, 2, 3 and 4 respectively. The six remaining buttons of the control interface can be configured for tasks such as pausing the emulation, resetting the emulated system, etc.

3 Usage with coin-op game emulators

The joystick set has a counter of credits to be used in coin-op game emulators. The number of available credits is shown in the liquid crystal display. If there are available credits and a coin-op game emulator is running, a player can simulate a coin insertion by following the following instructions:

  1. If a Simon Says game is running (see bellow), wait till it finishes.
  2. Make sure a coin-op game emulator is running. Otherwise you will lose a credit.
  3. Make sure the emulated game support your player number. Otherwise you will lose a credit.
  4. Push the insert coin button of your player.

After this, the credit counter will decrease. In order to increase it you will have to play the Simon Says game embedded in the joystick set by following these steps:

  1. Push the Simon Says start button corresponding to the desired difficult level.
  2. The system will generate sequences of lights and sounds. Reproduce those sequences by pressing the colored insert coin buttons till the liquid crystal display flashes.

The maximum length of the sequence and the number of credits obtained when winning a Simon Says game depend on the selected difficult level as shown in the following table:

difficult level 1 2 3 4
maximum length of the sequence 8 14 20 31
credits obtained when winning the game 5 50 500 unlimited

Alternatively, if an insert coin button is pressed when there are no available credits then a Simon says game will start in a extra-easy non canonical mode. This mode provides an only credit and its maximum length sequence is four.

4 Service mode

The system includes a switch that sets the embedded Simon Says game in a special service mode when closed. The behavior described above corresponds to the normal mode. In service mode the Simon Says game is won as soon as it is started. This makes it possible to increase the credit counter by just pushing a button.

Acknowledgments

The firmware is based on the Teensy Gamepad project by Josh Kropf (josh@slashdev.ca) which in turn is based on the keyboard example for the Teensy board (http://www.pjrc.com/teensy/usb_keyboard.html , Copyright (c) 2008 PJRC.COM, LLC).

The LCD library was developed by Efthymios Koktsidis (https://github.com/efthymios-ks/AVR-HD44780, Copyright (c) 2016 Efthymios Koktsidis ).

The Simon game replication was possible thanks to the reverse engineering carried out by Simon Inns (http://www.waitingforfriday.com/index.php/Reverse_engineering_an_MB_Electronic_Simon_game).

Videos