// RETRO GAMES ARCHIVE :: GALAGA

// DESCRIPTION & HISTORY

Released by Namco in 1981 and distributed in North America by Midway, Galaga was designed by Shigeru Yokoyama as the sequel to Galaxian. Waves of insect-like aliens swoop in and form up at the top of the screen, then peel off to dive at your fighter. Every few waves comes a Challenging Stage, where nothing shoots back and the aim is to hit them all.

Its best-known trick is the Boss Galaga's tractor beam. Let it capture your fighter, then shoot the Boss down to rescue the ship and fly two fighters side by side, with double the firepower and double the target. Galaga became one of the most popular arcade games ever made and still appears in arcades today.

This is a native C/SDL2 port for Linux handhelds through PortMaster, Linux desktops, the Steam Deck, Windows and macOS. The arcade board's three Z80 programs and its two Namco MCU programs are rewritten in C, and they match an emulated Galaga board frame for frame, picture and sound. That emulated board is itself checked against MAME. On top of that it adds enhanced graphics presets, pad controls, the DIP switches in an operator menu, and saved high scores.

Galaga
GALAGA
ARCADE1-2P
★★★★★
HTML5 · Linux · Mac · Windows · PortMaster
Namco's 1981 shooter, rewritten in C and checked frame by frame against the arcade board. Play it in your browser.
[PLAY]

// TECHNICAL SPECIFICATIONS

pilot@namco:~$ cat technical_notes.txt
[ARCADE] Namco, 1981
[CPU] three Z80s at 3.072 MHz + Namco 51xx and 54xx MCUs (MB88xx)
[VIDEO] 224x288 portrait tilemap and sprites, with a scrolling starfield
[SOUND] Namco WSG waveform sound + the 54xx's noise for explosions

[PORT] C11 + SDL2 (2.0.10 or newer), Apache 2.0 source
[GAME] the ROM's programs rewritten in C, equal frame for frame to an emulated board checked against MAME
[GFX] presets: classic, classic-crt, crisp, smooth, hd-crisp, hd-smooth, hd-glow, hd-glow-crt
[SAVE] DIP switches (galaga.cfg) and the top five high scores (galaga.hiscore)
[ROM] native builds: your own MAME 'galaga' set (galaga.zip); none is included

// CONTROLS

$ cat controls.txt
LEFT/RIGHT . left stick / D-pad ... Left Right
FIRE ....... A or B ... Space or Ctrl
COIN ....... Select ... 5
1P START ... Start ... 1 or Enter
2P START ... L1 + Start ... 2
GRAPHICS ... Select + L1 ... F3 (F4 glow, F5 scanlines)
OPERATOR ... Select + R1 ... F2
QUIT ....... hold Select + Start ... Esc

>_ Source, builds and release packages are on GitHub. Read the full write-up on the blog.