Xenon 2

The Bitmap Brothers · 1989 · Atari ST

The original 68000 game, running inside a modified Hatari emulator in your browser — every sprite intercepted and redrawn on your GPU, in the original pixels or 4× upscaled. No install, nothing to configure.

← ↑ → ↓ move Right Ctrl fire Esc options & pause Touch: on-screen pad and fire button

Switch between the two at any time in the game: press Esc on a keyboard, or tap the arrow icon in the top-right corner on a touch screen. The same menu saves and loads games: five slots, each with a screenshot, kept in your browser. The first visit downloads about 10 MB, which your browser then caches; hi-res fetches its 4× sprites as you reach each level, about 15 MB for level 1 and 8–11 MB for each one after.

Two ways to play

The Megablaster ship, original pixels

Classic

The ST's own 320×200, 16-colour output, reconstructed pixel for pixel.

The Megablaster ship, 4x upscaled

Hi-res

Every sprite upscaled 4× and interpolated between the game's 12.5 Hz updates for smooth motion.

A little history

Rock stars of the 16-bit era

The Bitmap Brothers were founded in London in 1987 by Mike Montgomery, Eric Matthews and Steve Kelly, and they set out to be known: photographed in sunglasses for the magazines, credited by name, with a house style of chrome, steel and heavy shadow that made every one of their games instantly recognisable. Their first release, Xenon (1988), was a vertical shooter with a transforming tank.

Xenon 2: Megablast followed in September 1989, published by Image Works for the Amiga and Atari ST at the same time. The Bitmaps designed it and Mark Coleman drew its organic, insect-infested worlds; the code was written by The Assembly Line (Martin Day). Five levels of vertically scrolling combat, each ending in a boss, with the twist that you could push backwards against the scroll to line up a shot — and between levels, Crispin the alien sold you the upgrades that the game quietly expects you to have.

Its title track was the reason many people bought it: Megablast (Hip Hop on Precinct 13) by Bomb the Bass, Tim Simenon's 1988 dance hit built on John Carpenter's Assault on Precinct 13 theme. David Whittaker squeezed it onto the ST's three-voice sound chip, and the game opened with a licensed pop song at a time when that simply wasn't done. Ports followed for the Sega Master System, Mega Drive, Game Boy, Archimedes, CDTV and PC, plus an Atari Jaguar version that only reached shelves decades later.

This site runs the Atari ST version, from the original program, inside an emulator that has been taught to understand the game well enough to redraw it on a modern GPU. How that works →

▶ Listen to Megablast (7″ mix) on YouTube

  • 1987

    The Bitmap Brothers are founded in London.

  • 1988

    Xenon, their first game. Bomb the Bass release Megablast.

  • 1989

    Xenon 2: Megablast on Atari ST and Amiga, published by Image Works.

  • 1990–95

    Ports to PC, Master System, Mega Drive, Game Boy, Archimedes, CDTV, PC-98 and X68000.

  • 2026

    The ST original, reverse-engineered and running in your browser.

Behind the scenes

An experiment in working with AI

This port was built as an experiment: how useful is an AI coding assistant, really, when you point it at a 1989 68000 binary and ask it to do everything from disassembly to a self-playing controller? The answer turned out to depend entirely on the kind of work.

Great at reverse engineering

Given a memory dump and a disassembler, it decoded the object system, sprite formats, animation tables, the sound driver and the movement bytecode with real insight, and wrote it all up as it went. One caveat: it was reliable when reading the raw 68000 assembly, but noticeably error-prone when it worked from Ghidra's decompiled C instead — most likely because the decompiler's output for this hand-written code is itself often wrong, and the AI trusted it. The notes →

Good at writing code — in small chunks

The GPU renderer, the atlas tooling, the browser port and this site were productive as long as each task was small, concrete and checked before the next one. Hand it a big vague goal and the quality drops fast. 27 mistakes from one rendering session →

Terrible at autopilot / vibe coding

Letting it drive a large, open-ended goal on its own — "make the ship play the game" — produced months of plausible-looking fixes that didn't add up: guessed values, mixed coordinate systems, premature victory reports. It took countless experiments before each level could be completed, and it kept repeating the same mistakes. Most of the trouble was terrain and navigation: the ship got stuck for no visible reason, or just kept bumping into the walls. The autopilot does finish the game now, but the log of how it got there is the most instructive part of the whole project. 228 AI mistakes → · Level 2 postmortem →

How the port works

The real game runs on an emulated 68000. Instead of showing the ST's framebuffer, the emulator hooks the game's own draw routines, records every sprite it draws, and replays that stream on the GPU from a packed atlas — at 1× or 4× resolution. The reverse-engineering notes cover the object system, sprite formats, the starfield, the sound driver and more, and several of them are interactive.

The autopilot

An AI-written controller that reads the game's memory each frame, builds a world model, plans a route and flies the ship itself. In four uninterrupted test runs it has now flown the whole game, from Level 1 to the destroyed final ship, without losing a life — after countless experiments, most of them spent getting it through the terrain without stalling or scraping the walls. Along the way its developer kept a log of every mistake the AI made — 228 of them, with the patterns behind them.

Also by the same author