Overview
Compy 386 is a little retro-computer front-end for running DOS software in the
browser. The landing page is a stylized vintage PC with a sliding disk drawer: pull
the tab, browse a shelf of labeled floppies, click one, and it boots straight into the
program. Saves persist in your browser, and there's a button to export a save as a
.jsdos zip you can download.
How It Works
The whole thing is static HTML, CSS, and JavaScript -; no backend. There are two
pages that share one catalog: index.html is the disk-library selector (the
machine with the drawer), and player.html is the actual emulator, wrapped
in the same Compy chrome. The selector hands off to the player with a
?disk=<id> URL parameter.
A single catalog.js is the source of truth for both pages -; each
entry has an id, title, year, publisher, disk color, an available flag, and
a .jsdos bundle path. Adding a real game is one entry plus dropping its
bundle in the folder; it then appears on the shelf, in the boot menu, and boots for
real. The emulation itself is js-dos (DOSBox-X
backend) loaded from its CDN, with autoSave persisting to browser storage.
// catalog.js - one entry feeds both the shelf and the boot menu
{ id: "tribe", title: "The Lost Tribe", year: 1992,
publisher: "Lawrence Productions", color: "black",
available: true, bundle: "tribe.jsdos",
blurb: "Lead your clan across the ice age. Hunt, gather, survive." }
One gotcha worth noting: js-dos streams its WASM at runtime, so the page has to be
served over http(s) -; it won't run from a bare file:// path.