The Cocktail Cabinet is a Space Invaders II cabinet that was rescued from a roadside rubbish pickup.
The original internals were removed and replaced with a Raspberry Pi 3 running RetroPie.
Both P1 and P2 controllers are connected via a single Xinmo USB board.
To present this board as 2 x separate controllers add the following to /boot/cmdline.txt
:
usbhid.quirks=0x16c0:0x05e0:0x040
P1 & P2 controllers are laid out as follows:
Y X L
B A R
Coin
: Select
P1
:Start
P1
+ P2
+ Coin
Select
+ X
The LCD monitor in the cocktail cabinet is larger than the hole cut in the cabinet top. The decision was made to preserve the historical integrity of the top by not significantly modifying it.
To accommodate this configuration overscan was tweaked such that the underlying Operating System only uses the portion of the screen which is visible. Information on tweaking overscan for Retropie is here and for the underlying Raspbian OS is here.
The cocktail cabinet screen is oriented in portrait mode with P1 and P2 at opposite ends of the screen.
Some games support simultaneous multiplayer in this configuration. However most simultaneous multiplayer games are designed for landscape mode with P1 and P2 at the same end of the screen.
For these games we use the cocktail-cabinet
shader to mirror the screen so that each player gets their own landscape screen. Guides which were followed to set this up are here and here.
RetroArch is the interface which presents the various underlying emulators used by the cocktail cabinet (primarily MAME.
RetroArch uses a standard "core" config for all games:
OFF
. Otherwise any changes made will be automatically applied to all games.RetroArch allows for a "game" config to be defined which overrides the "core" config for that game only: