Amber Folio is an emulator of just the hardware SSI's Gold Box games touch: an 8086, EGA, the 8253 timer, the PC speaker and the Tandy 1000's sound chip, plus the handful of DOS calls the games make. It's C++ compiled to WebAssembly (about 250 KB), and it also builds natively for Windows, macOS and Linux from source (no installers yet). Pool of Radiance (1988) runs on it unchanged, overlay manager and all.

A few details this crowd might like:

  • CPU conformance: checked against the SingleStepTests 8088 vectors, recorded from a real chip. 323 files, flags compared bit for bit, undefined flags included, no masks.
  • Virtual time: nothing reads the host clock, so a run is keys, ticks and state hashes. Recorded sessions hold no game content and are checked against each other in CI on every push.
  • Enhancements as breakpoints: the extras (an automap, the printed journal on the game's own screen, a heal-in-camp command) hang off CS:IP addresses qualified by which overlay is resident, with native handlers. With every one switched off, a run's state hash must equal a build with no enhancement engine at all. That's a CI test, not a promise.
  • Screen text: the core reads its own screen back as characters by matching 8×8 cells against the game's font, read out of its memory, so no font is shipped. The site uses it for screen-reader support: menus, lists and messages, not pictures, so the game can't be played without sight through it.

No game files, anywhere. The repo holds only facts (addresses, offsets, lengths, SHA-256s), with a content guard in CI. To play, you bring your own GOG or Steam copy (Forgotten Realms: The Archives – Collection Two); in the browser the files stay in local storage and are never uploaded. It runs in desktop browsers and on iPhone, iPad and Android, by keyboard or with a controller the browser recognises as standard (no remapping yet).

I built it with heavy use of AI coding tools, which is much of why the checking is tests rather than trust. Happy to go into any of it, and I'd like to hear how others here test timing-sensitive code without a wall clock.

Not affiliated with the rights holders of Pool of Radiance or the Gold Box games.

1 comment

sorted by: hot top controversial new old
[–] 2 points 11 hours ago

Dunno how's the code quality or how well it runs, but on the presentation of the project, either I'm very tired, or I've seen scam bots meander less.

  • source