The main new feature of this version, besides the new games added, is the permanent saving of high scores and player names. You can also configure auto-fire and audio mute in attract mode in config.h.
This repo is a port of Speckhoiler version of Galagino which in turn is a port of Till Harbaum's Galagino ported to platformio.
This port is NOT by the original authors, so please do not bother them with issues.
I used and modified the games 1942, Dig dug, Donkey Kong, Frogger, Galaga and Pac Man from Till Harbaum's Galagino.
I used and modified the games Anteater, Bagman, Crush roller, Eyes, Lizard Wizard, Mr. TNT and The Glob from Speckhoiler's Galagino.
I used and modified the games Bombjack, Mr. Do!, Donkey Kong Jr., Donkey Kong 3 and Starforce from Alby1970.
I used and modified the games Gyruss, Lady Bug, Ms. Pacman, Time Pilot, Tutankham, Space Invaders and Galaxian from Galagino 3.
I used and modified the game Phoenix from Spinnerino.
I used and modified the games Moon Cresta, Scramble and Super Cobra from Galagino
Donkey Kong 3 sound cpus have been added by me.
Graphical bugs have been fixed in Mr. Do!
Pengo is not the Alby1970 conversion, but a conversion of mine (also change the file containing the roms), with the original "PopCorn" music and the creation of the labyrinth at the beginning of each level.
The new games added by me in this port are: Ali Baba and 40 Thieves, Amidar, Bump 'n' jump, Burger time, Circus Charlie, Gaplus, Mappy, Pooyan, Roc'n rope, Tower of Druaga, Turtles, Van Van Car and Xevious.
Due to the limited memory available on the ESP32, it is not possible to have all the games active.
Depending on the size of the individual games, approximately 30 games can be active.
You can select the games in the machines.h file.
//#define ENABLE_1942 <-- Disabled
#define ENABLE_ALIBABA <-- Enabled
It's only possible to have all games running simultaneously on ESP32s with 8 GB or more.
The current version is not currently compatible with other ESP32 models (such as the ESP32-S3), so I'm working on a version compatible with the ESP32-S3 N16R8.
You can use the same hardware recommended by Till Harbaum or by Speckhoiler. I'll soon publish a project that allows 3D printer owners to assemble a new Galagino more easily than Till Harbaum's project, while still using the same hardware.
Like in the original from Till Harbaum's Galaga emulator, download these files:
- The Galagino Plus specific code contained in this repository
- A Z80 software emulation by Marat Fayzullin
- The original ROM files. Please download the zip files with the exact names.
- 1942
- Ali Baba and 40 Thieves
- Amidar
- Anteater
- Bagman (Important: filename with "m2")
- Bombjack
- Bump 'n' jump
- Burger time
- Circus Charlie
- Crush Roller
- Digdug
- Donkey Kong (US set 1)
- Donkey Kong 3
- Donkey Kong Jr. (Japan) (Important: filename with "jrj")
- Eyes
- Frogger
- Galaga (Namco Rev. B ROM)
- Galaxian
- Gaplus
- Gyruss
- Lady Bug
- Lizard Wizard
- Mappy
- Moon Cresta
- Mr. Do!
- Mr. TNT
- Ms. Pacman
- Pac-Man (Midway)
- Pengo
- Phoenix
- Pooyan
- Roc'n Rope
- Scramble
- Space Invaders
- Starforce
- Super Cobra
- The Glob (Important: filename with "p")
- Time Pilot
- Tower of Druaga
- Turtles
- Tutankham
- Van Van Car
- Xevious
Galagino Plus uses code that is not freely available and thus not included in this repository. Preparing the firmware thus consists of a few additional steps:
- If you do not have Python installed, download it from here. Python 3.13.0
- Then install the Phyton Pillow Imaging Library. For that, run the command: pip install pillow
- Optional: If you want to run the logoconv.py to recreate the menu logos, you must install NumPy: pip install numpy
- The ROM ZIP files have to be placed in the romszip directory, together with the ZIP file containing the Z80 emulator.
- A set of python scripts is then being used to convert and patch the ROM data and emulator code and to include the resulting code into the galagino machines directory. For all games, just use conv__all.bat.
The ROM conversion create a whole bunch of additional files in the source directory. Please check the README in the romconv directory for further instructions. Please ensure that the stripts run without errors!
With all these files in place, the source folder can be loaded into visual studio code with the PlatformIO plugin. The needed platform packages and the arduino framework will be installed during compilation automatically. For best performance, compile and upload the release version. All games are running at nearly 100% speed.
Like in the original: If you want to use a LED stripe, you have to download FastLED library. If you want to use a nunchuck, you need the NintendoExtensionCtrl library - emulation will be slower.
The Galagino Plus code can be configured through the config.h, machines.h and platformio.ini file.
With the current configuration, the buttons have the following additional functions:
- Volume up: Hold coin button and push the joystick up. Default setting is 3. 1 is the loudest.
- Volume down: Hold coin button and push the joystick down.
- Return back to menu: Hold the coin button for more than 3 seconds. Attract mode is then active again.
- Demo sounds off: To disable the demo sounds of Galaga, Digdug, The Glob, Anteater, Bombjack and Pengo hold down the fire button while turning it on.
- The Glob game: Push coin button to call the elevator.
- Tutankham: Push coin button for the flash bomb.
- Roc'n Rope: Push coin button to throw the rope.
To disable auto fire, disable this line in config.h:
#define AUTOFIRE_ENABLED
In Attract mode, the machine cycles through all games if you do not touch the joystick. The games end after 5 minutes (you can change this value inside config.h).
#define MASTER_ATTRACT_MENU_TIMEOUT 1000 * 10 // start games while sitting idle in menu for 10 seconds, undefine to disable
#define MASTER_ATTRACT_GAME_TIMEOUT 60000 * 5 // restart after 5 minutes
Enable this for mute audio in attract mode
#define MASTER_ATTRACT_MUTE_AUDIO
Known game issues:
- Gyruss: The sound cpu I8039 is missing - so there is no drum sound. Sometimes sprites appear that are no longer in use.
- Tutankham: Some sounds are not playable in galagino.
- Super Cobra: The helicopter doesn't sound like a helicopter. It sounds very unpleasant — I’ve turned down the volume.











































