64K OF DREAMS starts the way the machine did: a black tube, then the blue screen with 38911 BASIC BYTES FREE and READY. Then you choose PRESS PLAY, with sound, or START STIL, silent. The menu is a disk directory. Each line is a file, and a click does the same as the command in the terminal at the bottom, such as LOAD "ARCADE". The terminal also knows HELP, LIST, RUN, MUTE, CLEAR, POKE and PRINT. POKE 53280,0 turns the border of the whole page black.
There are six rooms. THE MACHINE shows the processor, the video chip, the sound chip and the memory, each with an experiment: colour changes per raster line, fine scrolling with sprites, the four waveforms and a map of 64 kilobytes. DEMO TEMPLE has four real-time parts: raster bars with a waving scroller, a starfield, a rotating wireframe cassette and a canal that builds itself up in PETSCII blocks, with a tune of its own that the picture moves to. ARCADE has two original games: RASTER RUNNER, a dodging game through raster bars, and PETSCII BREAKER, in which you break three pictures made of block characters. Both keep a top score in the browser.
SID STUDIO is a three-voice synthesizer in the spirit of the SID chip: four waveforms, an ADSR envelope per voice, one shared filter and a 16-step sequencer, with three original pieces: Midnight Loader, Bedroom Composer and Raster Sunrise. It is Web Audio, not an emulation of the chip, and the room says so. In ASSEMBLY LAB you write 6502 assembly. An own processor core runs the instructions with their real cycle times, against a simplified PAL raster of 312 lines of 63 cycles. So a raster bar that waits for line 112 really stands still, and INC $D020 puts stripes in the border where the beam was. There is also a small BASIC with the C64's error messages. MEMORY WALL closes with seven invented memories in pixels and a maker that turns your own text into a PETSCII screen to download.
Every picture is drawn in code, in the sixteen colours of the Pepto palette. No ROM character set, existing game or existing music is used. Start with PRESS PLAY and three original tracks in SID style play in the background: NACHTLAMP, "KANT B, TELLER 312" and RASTERZON. The player sits in the bar at the top and stays quiet while the demo or the synthesizer makes its own sound. The pixel letters come from Press Start 2P; the block and line characters are drawn by hand. CRT effects, motion and sound can be set separately and are remembered. A flash guard in the lab slows the picture down when a program changes large areas of colour quickly. Built with TypeScript and Vite, without a framework, with Claude Code as programming assistant. 120 unit tests in Vitest check the assembler, the processor, BASIC, the terminal, the games, the synthesizer and the music. 44 end-to-end tests walk through the whole exhibition in Chromium, Firefox, WebKit and on a phone, under this site's security policy.
More work

Outremer: Knights of Light and Shadow
A strategy game in the browser: two orders of knights on a board of 15 × 15 squares. Attack an enemy and you fight it out in an arena, in real time.

Suriname — the land that carries stories
A digital exhibition on the history of Suriname: eight chapters, a timeline, a map and six objects, with a source for every claim.

Crown of England
A strategy game in the browser: England in 1135, six lords, 34 provinces. You play the joust, the siege, the sword fight and the battle yourself.
