Compy386
← Project Index Compy386

Compy386

DOS in your browser. Boot up the Compy 386, slide open its disk drawer, pick a disk, and play classic DOS games -; no install, no DOSBox setup.

Exploring Started: 2026 Updated: Jun 2026

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.