Atari 800 XL game library for the browser (desktop + mobile PWA), powered by AltirraSDL — a WebAssembly port of Avery Lee's cycle-accurate Altirra emulator.
index.html— game picker (grid, search, PWA entry point)games.json— game list; each entry maps a display name to a file inemu/library/emu/AltirraSDL.{html,js,wasm,data}— prebuilt emulator (from the AltirraSDLnightlyrelease,AltirraSDL-*-wasm.zip)emu/config.json— same-origin firmware bundle + "⬅ Games" back-linkemu/library/— the.atrdisk images; launched via?lib=<file>firmware.zip— Atari OS/BASIC ROMs, fetched automatically on first runsw.js,manifest.webmanifest,icons/— PWA install + offline cache.github/workflows/deploy-pages.yml— GitHub Pages deploy with cache-bust and deploy-time stamping
- Drop the
.atr(or.xex/.car/.cas) intoemu/library/ - Add
{ "name": "Game Name", "file": "GameFile.atr" }togames.json - Commit + push — the deploy workflow does the rest
Download the latest AltirraSDL-*-wasm.zip from the
nightly release
and replace the four AltirraSDL.* files in emu/.
Pushes to main deploy automatically via GitHub Pages (Settings → Pages →
Source: GitHub Actions). The picker footer shows the exact deploy time and
commit, and the service worker cache is busted on every deploy.
The emulator under emu/ is AltirraSDL
by Jakub Dębski, a portable fork of Altirra
by Avery Lee, licensed GPLv2 (see emu/LICENSE). The
vendored bundle is the upstream nightly built from commit
a856e6aa; its
corresponding source is the upstream repository at that commit. Our
modifications to the emulator's host page (the ARCADE-PATCH block injected
into emu/index.html, source in
scripts/emu-autofullscreen.snippet.html)
are published in this repository under the same GPLv2 terms.
Everything else in this repository (picker, service worker, scripts) is
separate from the emulator and not covered by the GPL. Game images under
emu/library/ are the property of their respective copyright holders,
preserved via Homesoft.
emu/index.html carries a small "ARCADE-PATCH" block (auto-fullscreen:
hides the top bar under display-mode: fullscreen, and ?fs=1 makes the
first tap enter fullscreen). After replacing the AltirraSDL bundle files,
re-apply it with:
./scripts/patch-emu.sh