// RETRO GAMES ARCHIVE :: DEFENDER

// DESCRIPTION & HISTORY

Released by Williams Electronics in 1981, Defender was created by Eugene Jarvis and Larry DeMar. You fly a ship over a planet's surface, shooting down alien Landers before they carry off the humanoids. Any humanoid that gets taken is turned into a Mutant. Lose them all and the planet explodes.

It was one of the first games with a world larger than the screen. A long-range scanner at the top shows the whole planet. Defender was famous for its difficulty: a joystick and five buttons for thrust, reverse, fire, smart bomb and hyperspace. Even so, it became one of Williams' best-selling arcade machines.

This is a native C/SDL2 port for Linux handhelds through PortMaster, Linux desktops, the Steam Deck and Windows. It runs the arcade ROM's own code on an emulated Williams board, checked against MAME instruction for instruction. On top of that it adds enhanced graphics presets, pad controls and saving of the arcade's settings and high scores.

Defender
DEFENDER
ARCADE1-2P
★★★★★
HTML5 · Linux · Windows · PortMaster
Williams' 1981 side-scrolling shooter, running on an emulated arcade board. Play it in your browser.
[PLAY]

// TECHNICAL SPECIFICATIONS

pilot@williams:~$ cat technical_notes.txt
[ARCADE] Williams, 1981
[CPU] Motorola 6809 main board with banked ROM + 6808 sound board
[VIDEO] bitmap display, 16 colours on screen

[PORT] C11 + SDL2 (2.0.10 or newer), Apache 2.0 source
[EMU] ROM code on an emulated board, checked against MAME instruction traces
[GFX] presets: classic, classic-crt, crisp, smooth, hd-crisp, hd-smooth, hd-glow, hd-glow-crt
[SAVE] arcade CMOS (settings and high scores) saved to disk
[ROM] native builds: your own MAME 'defender' set (defender.zip, red label); none is included

// CONTROLS

$ cat controls.txt
UP/DOWN .... left stick / D-pad ... Up Down
FIRE ....... A ... Space or Ctrl
THRUST ..... B or R1 ... X or Alt
REVERSE .... L1 ... Z
SMART BOMB . X ... C
HYPERSPACE . Y ... V or Shift
COIN ....... Select ... 5
1P START ... Start ... 1 or Enter
2P START ... L1 + Start ... 2
GRAPHICS ... Select + L1 ... F3 (F4 glow, F5 scanlines)
QUIT ....... hold Select + Start ... Esc

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