GenX‑DOSWIKI PromptArticle↩ Site

What we've shipped, what's next, and what we've ruled out. This page is the project's running ledger — when a candidate comes up, the answer is here.

The scope rule: 8-bit feel

Every shipped system has the feel of an 8-bit machine — sprite-based, chiptune, low-res. The test is the aesthetic, not the calendar year or strict CPU bit-width. (Updated 14/06/2026 from the earlier "8-bit era, ~1975-1990" framing.)

In: the classic 8-bit machines — Apple I/II, Atari 2600 / 400 / 800XL / 7800, BBC Micro / Master / Electron, Commodore PET / VIC-20 / MAX / 64 / 16 / Plus/4 / 128, MSX1 / MSX2, NES, Sega Master System, ColecoVision, Intellivision, ZX81 / Spectrum, Amstrad CPC, Tandy CoCo / TRS-80 / Model 100, TI-99/4A — plus the 8-bit-feel handhelds: Game Boy / Game Boy Color, Sega Game Gear, Atari Lynx.

Out: systems that defined the 16-bit GUI/console leap (Atari ST, Amiga, Macintosh, Archimedes, Sega Genesis, SNES, PC-Engine), and anything 32-bit+ (Saturn, N64, PlayStation, Neo Geo). The rule is about feel, not the calendar year — Genesis (1988) doesn't have the 8-bit feel and is out, while a late GBC game (2002) does and is in.

Intellivision (CP1610, 16-bit ALU) is the technical edge case the feel framing handles cleanly: Mattel marketed it as "the first 16-bit console", but it's universally grouped with 8-bit-era consoles (1979 launch, Atari 2600 contemporary). In.


✅ Shipped (18 emulator engines, 33 sub-systems)

Category Platform Year Dir Engine Notes
Console Atari 2600 1977 stella/ EmulatorJS + Stella (stella2014)
Console Magnavox Odyssey² 1978 odyssey2/ libretro-o2em → WASM + custom SDL2 frontend EJS path dead; o2rom.bin BIOS bundled
Console Intellivision 1979 intv/ jzIntv WASM (custom loader) exec.bin + grom.bin BIOS bundled
Console ColecoVision 1982 coleco/ EmulatorJS + gearcoleco RetroPad → numpad keypad remap
Console Sega Master System 1986 sms/ EmulatorJS + genesis_plus_gx replaced the Vectrex 04/07/2026
Console NES 1983 jsnes/ EmulatorJS + FCEUmm libretro dir name predates migration
Console Atari 7800 1986 js7800/ EmulatorJS + ProSystem migrated from JS7800 for the bezel
Apple Apple I 1976 apple1/ scullin/apple1js 10 tapes (Integer BASIC + 6502 asm)
Apple Apple ][+ 1977 apple2/ whscullin/apple2js (webpack) URL rewrite ?game=?disk=
Acorn BBC Micro 1981 bbcmicro/ mattgodbolt/jsbeeb (Retro-Jack fork) Model B; fork adds d-pad remap + monitor inset
Acorn Acorn Electron 1983 electron/ dmcoles/elkjs row-doubling display fix
Acorn BBC Master 128 1986 bbcmaster/ jsbeeb (Retro-Jack fork) ?model=Master full copy of the fork build
Atari Atari 400 1979 atari400/ atari800 WASM (self-built) boots OS-B
Atari Atari 800XL 1983 atari800/ atari800 WASM (self-built) boots OS-XL; full copy of the same build
Commodore PET 1977 pet/ Thomas Skibo's pet2001 (vanilla JS) PET 2001 / BASIC 2 / 32 K
Commodore VIC-20 1980 vic20/ EmulatorJS + VICE xvic memory_expansions='all'
Commodore MAX Machine 1982 max/ EmulatorJS + VICE x64 (Ultimax mode) Japan-only
Commodore C64 1982 c64/ EmulatorJS + VICE x64
Commodore C16 1984 c16/ EmulatorJS + VICE xplus4 (c16pal mode) shares xplus4 core
Commodore Plus/4 1984 plus4/ EmulatorJS + VICE xplus4
Commodore C128 1985 c128/ EmulatorJS + VICE x128 (native mode, nightly core) per-game VICII/VDC
MSX MSX1 1983 msx1/ ppeccin/WebMSX boots ?M=MSX1
MSX MSX2 1986 msx2/ ppeccin/WebMSX full copy; boots ?M=MSX2
Sinclair ZX81 1981 jtyone/ Simon Holdsworth/JtyOne
Sinclair ZX Spectrum 1982 jsspeccy/ gasman/JSSpeccy 3 WASM Z80
Amstrad CPC 1984 cpc/ floooh/chips-test tiny8bit sokol_args URL params
Tandy Color Computer (CoCo) 1980 xroar/ Ciaran Anscomb/XRoar
Tandy TRS-80 Model I 1977 trs80/ jengun/sdltrs (our WASM build) 10 .cmd games
Tandy TRS-80 Model 100 1983 m100/ Hurd & Pettit/VirtualT (our core-only WASM build) 10 .ba games; live clock + battery-backed RAM
TI TI-99/4A 1981 js99er/ Rasmus-M/js99er (vanilla JS) .rpk carts
Handheld Game Boy / GBC 1989 gbc/ EmulatorJS + gambatte (nightly core) GBC mode; classroom bezel
Handheld Atari Lynx 1989 lynx/ EmulatorJS + handy lynxboot.img BIOS bundled
Handheld Sega Game Gear 1990 gamegear/ EmulatorJS + genesis_plus_gx EJS_volume 1.5 (quiet PSG)

Shared infrastructure: - _shared/ — controls.css, frame.css, NumLock JS, VICE softkeys, gamedocs link JS - _shared-ejs/ — one EmulatorJS framework + 4 VICE cores + gearcoleco + FCEUmm + Stella + gambatte + handy + genesis_plus_gx + prosystem cores (14 bundles share; ~25 MB saved vs per-bundle copies)

See Emulators for the per-platform integration stories.


⏳ Still to go

Out of scope under the 8-bit-feel rule

Listed for clarity — these are the 16-bit/32-bit transition and beyond.


❌ Rejected (don't re-investigate without new information)

Quality / hosting / library size

Undated below: never shipped, so no commit dates them — all were recorded when this page was written (05/06/2026). - Sinclair QL (1984) — no turn-key bundle; sQLux build is ~4h project - Cambridge Z88 (1988) — OZvm is Java/C++ desktop only - Sinclair NewBrain (1982) — MAME driver broken (VFD doesn't get data) - Sinclair MK14 (1977) — MAME-only, very obscure (256-byte RAM kit) - Microvision (1979) — split-CPU emulators don't pair with available ROMs - Commodore CBM-II / B-series (1982-84) — VICE cores exist but the library is ~5 commercial games + business productivity. Not enough content for a 10-entry bundle.

Out of scope (16-bit, removed)


Maintenance threads (shipped systems, open follow-ups)