Under the hood
How it works
The Gold Box games were written for a particular late-1980s PC. Amber Folio recreates that machine in software and lets the original game run on it.
The machine
An emulator is a computer made of software. This one includes just the parts a Gold Box game uses: the processor, memory, a display, a timer, the PC speaker and the Tandy 1000’s sound chip, plus the small set of operating-system services the game relies on. The game cannot tell it is not running on real hardware.
Your copy of the game is loaded into the emulated machine unchanged. Inside, the processor, memory and system services are connected to the display, the timer, the speaker and the sound chip. Finished pictures and sound go out to the page in your browser; your key presses come back in. That is everything that crosses the edge.
The processor
An Intel 8086, the chip in the original IBM PC. The emulator runs each instruction of the game one at a time, and its accuracy is checked against test data recorded from a real chip. A speed setting lets you match the machines the games were designed for.
The screen
An EGA display in the mode the games use: 320×200 pixels in sixteen colours. The emulator draws each frame, and the page shows the newest one. If your browser falls behind for a moment it skips a frame rather than slowing the game down.
Time
The emulated machine keeps its own clock, ticking at the same rate as the original PC’s timer chip. It is told today’s date and time when it starts, and from then on counts for itself rather than reading your computer’s clock. That means a game plays out the same way on any computer — a laptop today, a phone tomorrow — however fast or slow it is.
Sound
Two sound devices: the PC speaker, the one-note-at-a-time beeper every PC had, and the Tandy 1000’s sound chip, with three tone voices and a noise voice. The game plays its footsteps and its fights through the Tandy chip when its settings say so, so the emulator always starts it that way, whatever your copy’s settings file says — and never changes that file. Both devices are mixed and played through your browser.
The services underneath
A game of this era asked the operating system to open files, read the keyboard and print text. The emulator provides those services over a virtual disk made from the folder you supply, so the game finds its files where it expects them.
Why emulate the machine rather than rewrite the game
- It is your game, exactly. Every rule, table and quirk comes from the program on your disk, so nothing plays slightly differently from how you remember it.
- One machine, every game. The Gold Box titles share an engine, so getting the machine right once brings the whole series within reach. Games shows how far each one has got.
- Nothing from the games is needed. The emulator holds facts about the machine, never any part of a game.
Why a browser
- Nothing to install. Open a page and hand it the folder you already own. The emulator download is about 250 KB. Reading a PDF journal fetches a larger text reader, and only when you use it.
- The same emulator everywhere. The browser version is the same code as the desktop one, not a cut-down edition.
- A web page cannot look through your computer. It sees only what you hand it, which is the strongest form of the promise below.
Your files stay here
Everything inside the dashed box happens on your own computer: the Amber Folio page, the emulator, and the two places your files live — your game files in one, your saves and settings in another. The site sends the page and the emulator to your browser; nothing travels back the other way.
Both are kept between visits, so you hand over your copy once. Keeping saves separate from game files is what will let saved games follow you between devices one day, without a game file ever leaving your machine; that part is not built yet. The guide explains what to supply.
Reading more
The emulator’s own documentation goes deeper. Each link points at the exact build this site runs (commit f222bd3).
- machine.md (opens in a new tab) — the devices, the services and how time is kept.
- cpu-implementation.md (opens in a new tab) — the 8086 and how it is tested.
- seams.md (opens in a new tab) — how enhancements work.
- hosts.md (opens in a new tab) — the desktop and browser versions.
- playable.md (opens in a new tab) — the playthrough used to check that a game runs.
The project itself is at github.com/amberfolio/amberfolio (opens in a new tab).



