-
Notifications
You must be signed in to change notification settings - Fork 0
Project Overview
Retro Jack edited this page Jun 7, 2026
·
49 revisions
GenX-DOS is a static page that recreates a 1990s DOS prompt in the browser. Visitors land at a fake AMIBIOS POST screen, get dropped into a C:\> prompt, and navigate numbered menus to launch emulated games — all running locally in the page.
-
index.html— instant<meta refresh>toprompt/. The actual POST animation lives inside the prompt page. -
prompt/index.html— the DOS terminal. On load,init():- renders the AMIBIOS POST (AMI logo, Tseng video BIOS line, CPU/coprocessor/memory test with animated 0000 → 8064 KB count, six device-detection lines streamed at 500 ms each, footer with BIOS ID),
- pauses 5 s with the full POST on screen,
- clears, renders the System Configuration table,
- prints
Starting GenX-DOS . . .andType "help" <enter> for assistance., - calls
initTerminal()which wires up the keyboard and runsAUTOEXEC.BAT.
-
AUTOEXEC.BATrunsmenu— the rootmenu.batdoescd emulators\nmenu, dropping the user straight into the EMULATOR LAUNCHER. - The user types a number (or a command name) to navigate.
- Selecting a game opens the emulator in a new tab via
window.open.
- Pure HTML + JavaScript. No build step, no frameworks, no dependencies.
- Each visible character is its own
<div>styled with a CSS background-position into a 12×12 CP437 sprite sheet. - The virtual filesystem is a JS object tree (
prompt/javascript/fs.js). - Scope rule: 8-bit era only. Every shipped system belongs to the 8-bit microcomputing/console era (~1975-1990). The cutoff is era, not strict CPU width — Intellivision (CP1610 16-bit ALU) is in because it's an 8-bit-era console; Sega Genesis (1988 calendar overlap) is out because it represents the leap to 16-bit hardware. DOS is the prompt host. See Roadmap.
- 24 copied emulators live under
emulators/with bundled local games/discs/cartridges, driving 27 sub-systems — Apple I, BBC Micro, BBC Master 128 (same jsbeeb build,?model=Master), Acorn Electron, Apple ][+, NES, Atari 2600, Atari 7800, MSX (MSX1/MSX2/MSX2+), GCE Vectrex, Sinclair Spectrum, Sinclair ZX81, Tandy CoCo, Atari 400 + Atari 800XL (same atari800 build), ColecoVision, Mattel Intellivision, Amstrad CPC, Magnavox Odyssey², and the full Commodore VICE family — PET, VIC-20, MAX Machine, Commodore 64, C16, Plus/4, C128 (seven sub-systems off five VICE libretro cores: xpet, xvic, x64, xplus4, x128 — c64+max share x64, c16+plus4 share xplus4). The seven VICE bundles, the Coleco bundle, and the jsnes bundle (EmulatorJS + FCEUmm) share one copy of the EmulatorJS framework viaemulators/_shared-ejs/. Intellivision, Electron, and Odyssey² stand alone — jzIntv / ElkJS / libretro-o2em respectively, each with its own custom loader. See Emulators.