The lego-legacy icon: a disc with a lit star at its hub, on a dark squircle

lego-legacy

  • LEGO Rock Raiders playable
  • Hot Wheels Stunt Track Driver playable
  • LEGO Alpha Team playable

The original Windows releases of three late-90s games, running on any computer, from your own discs.

$ cargo run --release -p lego-legacy-launcher

Runs on the Mac today; Windows and Linux are next. Needs Rust and your own discs. Free and open source. No game data included.

Each game's own code, as it shipped

Not a remake of any game, and not a general PC emulator. lego-legacy runs each title's own retail executable: an x86 interpreter runs the game's code, and every Win32 and DirectX call it makes is answered in Rust.

Eight golden rules

lego-legacy is a preservation effort: anyone can play these games again from their own discs, unchanged, on any computer. Eight rules outrank everything else in the project.

  1. Everything is deterministic

    The machine is a state machine under complete control. Every input the game sees is declared, never read from your computer, so any run can be paused, stepped and replayed exactly.

  2. The game runs exactly as it shipped

    Its own code from its own disc, unchanged: nothing patched, replaced or faked.

  3. Extras sit on top, never inside

    Mods, cheats, editors and TAS tools are welcome as a separate layer, added or removed with no effort.

  4. A per-title emulator, true to Windows

    Each game gets only the Windows behaviour it uses, answered as real Windows answers, from public sources and never Microsoft's code.

  5. Runs anywhere, depends on nothing

    Zero external crates, and the operating system behind one seam, so the games outlive any one platform.

  6. Bring your own disc

    No game data is ever distributed, and copy protection is never bypassed. We do not condone piracy.

  7. Nothing is released until it is proven three ways

    The full test suite, a full headless run, and a person playing it and signing off, on the exact build that is tagged.

  8. Everything is written down so anyone can pick it up

    Every crate is versioned and tagged on its own, with notes verbose enough that a person or an agent can carry on without asking.

The full text is in GOLDEN-RULES.md.

Three games, all playable

The maintainer signed each one off by playing it on 2026-10-18. LEGO Racers is next: on the roster, not started.

Frames from the emulator

Each one is the emulator's own, shot headless while it replays a route committed to the repository: what the game drew, pixel for pixel.

LEGO Rock Raiders: the first mission’s Mission Brief, welcoming a Rock Raider Cadet to the Rock Raider Academy, over the level drawn in 3D behind it
Rock Raiders: the first mission’s brief
LEGO Rock Raiders: raiders on a cavern floor of lava rock and water, the tutorial’s first instruction at the foot of the screen
Rock Raiders: the first mission, under way
Hot Wheels Stunt Track Driver: the car on the starting line of a track laid through a house, its lights on red
Hot Wheels: the starting line
Hot Wheels Stunt Track Driver: the car rounding an orange banked curve, two seconds into the race
Hot Wheels: two seconds in
LEGO Alpha Team: the Training Area, a platform among the stars, the coach glowing in the teleporter and the command bar below
Alpha Team: the Training Area
LEGO Alpha Team: the training seen from Dash’s own camera as he runs across the platform
Alpha Team: from Dash’s own camera

What you need

No game data is in the repository and none ever will be, and no copy protection is circumvented. Rock Raiders runs from the Masterpiece re-release: the original pressing is wrapped in SafeDisc, which is recognised and refused, never bypassed.

Up and running

  1. Clone the repository.
  2. Put each disc's ISO under game-data/, where the README's table says.
  3. From the repository's root, cargo run --release -p lego-legacy-launcher. It lists the titles, says whether each one's image was found and is the right one, and asks which to play.

Sound stays off until you ask for it: start a title directly with cargo run --release -p lego-rock-raiders -- --audio. Cmd-Q or Cmd-W ends a run. If your computer can't keep up, the game runs in slow motion with its sound stretched to match, rather than skipping.