Retroretro computingemulationwindows 95encartawebassembly
Encarta 95 Web boots a whole Windows 95 in your browser just to open Microsoft's old encyclopedia
Ben Winding's static site restores a pre-booted Windows 95 snapshot in the v86 emulator and streams the Encarta CD 256 KB at a time, with every article reachable by its own URL.

The rejected idea is right there in Winding’s development notes: “Extract the ISO and rebuild Encarta as a web app | Rejected — custom binary formats, large unknown effort, licensing risk.” So instead of translating the encyclopedia, he rebuilt the family PC around it.
The live page skips the boot entirely. Windows 95 was already running Encarta when its memory was saved, so the browser restores that moment. The README says the snapshot is zstd-compressed to “~9 MB each,” one for a 1024x768 landscape screen and one at 480x900 for phones. The notes say an early approach produced a single “~700 MB “initial state” file, which is just as bad as downloading the disk itself.”
The hard disk and the CD both page in on demand: “only the 256 KB chunks the guest actually reads are fetched.” That’s where the strangest fix lives. “Windows 95’s ESDI_506 driver aborts asynchronous CD reads, so synchronous delivery is required — this fixes crashes on CD features such as Mind Maze,” the README says. So a patched v86 build fetches each chunk synchronously, holding the emulator still on every read the way a real drive would.
Sound took a deeper dig. Encarta’s Jay bird call played as noise because the guest wrote its 16-bit audio to 0x450000 while v86 read 0x440000, a dropped carry into the DMA page register. After the fix, the notes report the clip “now matches the reference bird call (envelope correlation 0.89) instead of noise.”
Every article view is “hash-routed (#/article/<title>),” which means a link to one entry on a 1990s CD-ROM opens that entry. To make it work, a resident 16-bit helper inside Windows calls Encarta’s own ENCARAPI.FGETCURTOPICTITLE to ask which article is on screen. The portrait mode needed binary patches to both the VGA BIOS and the VBEMP.DRV display driver to accept a 480x900 screen.
The hosted demo streams the CD from its own server. Anyone building a copy from the repo has to “supply” the 675,440,640-byte ISO themselves, the README notes, and the repo carries no license. It’s a project from last week with one star, and what happens to the hosted CD image once more people find it is an open question.
The articles on that disc froze the year it shipped. The interesting part of a project like this is what else gets the same treatment: other CD-ROM titles with their own internal APIs, waiting for someone to ask them which page they’re on.