TimePilot-16bit-C
The original 16-bit C port compiled to WebAssembly with Emscripten. The game
runs at its own 60 Hz, draws through a custom tigr canvas
backend, and plays through WebAudio. No emulator in the middle.
Konami · 1982 · a fan port for old and new machines
The arcade classic about a lone fighter lost in time, rebuilt for the Commander X16, Apple II, Apple IIgs, Macintosh and Archimedes — and running here, in your browser, from real source code rather than a video stream.
Play now
Every machine gets the same card. The native WebAssembly build and the X16 player run on this page; the Apple II machines open in their own emulators in a new tab; the Macintosh and Archimedes cards open embedded machines that boot the game for you.
The original 16-bit C port compiled to WebAssembly with Emscripten. The game
runs at its own 60 Hz, draws through a custom tigr canvas
backend, and plays through WebAudio. No emulator in the middle.
The real llvm-mos CX16 PRG, loaded from HostFS into the official X16Community WebAssembly emulator r49. VERA sprites, 512 KB of banked RAM, and the original KERNAL boot.
Boot the X16An Apple IIe/II+ build driving the VERA video and audio board. Loaded into a2vera from the latest GitHub release asset.
Open a2vera ↗The IIgs port, built for the Apple IIgs's 2.8 MHz 65816 and its bitmap graphics. Opens the a2gsemu Apple IIgs emulator with the hosted TimePilot game URL loaded.
Open a2gsemu ↗The 68K Macintosh build, running on an emulated Macintosh under System 7.5. This page embeds Infinite Mac with the TimePilot disk image mounted as a second drive, so there is nothing to install.
Open the MacintoshThe native Archimedes build, running on an emulated A3020 under RISC OS 3.11. Archimedes Live unpacks the HostFS archive and autoboots !TimePilot from the URL — no local emulator and no manual file drop.
Open the ArchimedesUnder the hood
TimePilot-16bit-C is compiled by Emscripten against a small
headless tigr platform layer. The game's synchronous main loop
is paced with Asyncify at logical frame boundaries, and the OpenAL/ALUT calls
are mapped to WebAudio. The whole game and its sprites, fonts and audio banks
are preloaded into MEMFS, so the page runs from static files — no server-side
game logic.
TimePilot-CX16 is cross-compiled with llvm-mos to a PRG with a
SYS start address, then loaded into the official X16Community
WebAssembly emulator (r49). The player fetches the PRG, sprite VRAM, font VRAM
and 43 audio banks into the emulator's HostFS drive and starts it with
-prg time_pilot.prg -run. The emulator binary is downloaded and
checksum-verified at build time; it is not vendored here.
The Apple II + VERA build is hosted as a GitHub release asset and loaded straight into a2vera. The IIgs card opens a2gsemu's Apple IIgs core with the TimePilot game URL passed to the emulator. Both are external links, not iframes, so the emulators' own keyboard and audio handling stays intact.
The Macintosh card opens a page with Infinite Mac embedded. Infinite Mac
boots System 7.5 and fetches mac/Time.Pilot-m68k.dsk as a
second disk; the disk and the emulator are both external to the WASM/X16
players.
The Archimedes card embeds Archimedes Live. Its hash carries the
disc URL for archie/TimePilot-RISCOS-HostFS.zip
and an autoboot command, so the archive is unpacked onto
HostFS and the game starts without a local file picker.
GitHub Actions rebuilds both local players from source on every push to
master, assembles this static site, and deploys it to GitHub
Pages. The Emscripten SDK, llvm-mos SDK and x16-emulator archive are fetched
by the build scripts into caches outside the repository, so the checkout stays
small and reproducible.
Source