-
Notifications
You must be signed in to change notification settings - Fork 0
Roadmap
What's shipped, what's next, what won't be — for the GenX-DOS emulator catalog.
GenX-DOS bundles platforms from the 8-bit microcomputing/console era (roughly 1975-1990). The cutoff is era, not strict CPU bit-width — what counts is whether the system belongs to that generation.
In: anything from the 8-bit era — 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, Vectrex, ColecoVision, Intellivision, ZX81 / Spectrum, Amstrad CPC, Tandy CoCo, MS-DOS.
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 era rule is about the kind of system, not the calendar year — Genesis (1988) overlaps the calendar 8-bit era but represents the jump to 16-bit hardware and is out.
Intellivision (CP1610, 16-bit ALU) is the technical edge case the era 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.
| Category | Platform | Year | Dir | Engine | Notes |
|---|---|---|---|---|---|
| DOS | MS-DOS | 1981 | jsdos/ |
caiiiycuk/js-dos v7.0.0 | DUKE / KEEN sub-menus, 20 .jsdos bundles |
| Console | Atari 2600 | 1977 | javatari/ |
ppeccin/javatari.js v5.0.4 | |
| Console | Intellivision | 1979 | intellivision/ |
jzIntv WASM (custom loader) | exec+grom BIOS bundled |
| Console | ColecoVision | 1982 | coleco/ |
EmulatorJS + gearcoleco | RetroPad → keypad remap |
| Console | Vectrex | 1982 | jsvecx/ |
DrSnuggles/jsvecx (raz0red port) | Mine Storm in BASIC slot |
| Console | NES | 1983 | jsnes/ |
EmulatorJS + FCEUmm libretro | swapped from bfirsh/jsnes 2.1 for audio quality; dir kept |
| Console | Atari 7800 | 1986 | js7800/ |
raz0red/JS7800 v0.0.9 | |
| Apple | Apple I | 1976 | apple1/ |
scullin/apple1js | 10 tapes (Integer BASIC + 6502 asm) |
| Apple | Apple ][+ | 1977 | apple2/ |
whscullin/apple2js (webpack) | 10 .dsk; URL rewrite ?game=→?disk=
|
| Acorn | BBC Micro | 1981 | jsbeeb/ |
mattgodbolt/jsbeeb v1.12.0 | 10 .ssd
|
| Acorn | Acorn Electron | 1983 | electron/ |
dmcoles/elkjs | 10 UEF; row-doubling fix |
| Acorn | BBC Master 128 | 1986 | jsbeeb/ |
jsbeeb ?model=Master
|
10 Master-enhanced .ssd/.dsd
|
| Atari | Atari 400 | 1979 | atari800/ |
atari800 v5.2.0 WASM (self-built) | ?machine=atari |
| Atari | Atari 800XL | 1983 | atari800/ |
atari800 v5.2.0 WASM (self-built) | default; shares core |
| Commodore | PET | 1977 | pet/ |
EmulatorJS + VICE xpet | 3032 default, per-game 4032 override |
| 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) | per-game video (VICII / VDC); CSS scaleY hack for 856×288 framebuffer |
| MSX | MSX1 | 1983 | webmsx/ |
ppeccin/WebMSX | shared core, ?M=MSX1 flag |
| MSX | MSX2 | 1986 | webmsx/ |
ppeccin/WebMSX | shared core, default machine |
| Sinclair | ZX81 | 1981 | jtyone/ |
Simon Holdsworth/JtyOne | hex-format tapes |
| Sinclair | ZX Spectrum | 1982 | jsspeccy/ |
gasman/JSSpeccy 3 v3.2 | WASM Z80 |
| Amstrad | CPC | 1984 | amstradcpc/ |
floooh/chips-test tiny8bit | sokol_args URL params; 10 .dsk + 3D Construction Kit (1991) |
| Tandy | Color Computer (CoCo) | 1980 | xroar/ |
Ciaran Anscomb/XRoar v1.10 |
Shared infrastructure
-
_shared/— controls.css, frame.css, NumLock JS, VICE softkeys, gamedocs link JS -
_shared-ejs/— single EmulatorJS framework + 5 VICE cores + gearcoleco (~12.6 MB saved vs per-bundle copies)
See Emulators for the per-platform integration recipes.
-
Magnavox Odyssey² — needs an EmulatorJS
o2emcore; placeholder slot already exists in CONSOLE
- TI-99/4A (Js99er) — 1981, classed with the 8-bit micros despite TMS9900 internals
- Sega Master System (multiple WASM/JS cores) — 1985, Z80
- Sega Game Gear (same cores as SMS) — 1990, Z80
- Atari Lynx (Handy.js / libretro handy) — 1989, 65C02
- Nintendo Game Boy / Color (many JS options) — 1989, Sharp LR35902 (Z80-derived)
Listed for clarity — these are the 16-bit/32-bit transition and beyond.
- NEC PC-Engine / TurboGrafx-16 — 16-bit-era console
- Nintendo SNES — 16-bit-era console
- Sega Saturn / Nintendo 64 / PlayStation / Neo Geo AES — 32-bit and beyond
- Sinclair QL (1984) — no turn-key bundle; sQLux build is ~4h project
- Sinclair ZX80 (1980) — JtyOne supports it, but ROMs need hosting
- 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 (
xcbm2+xcbm5x0) but library is ~5 commercial games + business productivity. ~25K units sold worldwide. Not enough game content for a 10-entry bundle. - Acorn Atom — investigated, didn't meet quality bar; jsbeeb Atom mode patches reverted and tapes deleted.
-
Macintosh Plus (
macplus/) — removed 25/05/2026 -
Acorn Archimedes (
archimedes-live/) — removed 25/05/2026 -
Atari ST (
estyjs/) — removed 25/05/2026 -
Commodore Amiga 500 (
amiga/) — removed 25/05/2026 - Atari 5200 — removed from menu tree; not retro enough focus
-
Sega Genesis (
genesis/) — removed 05/06/2026; Motorola 68000 16-bit, outside 8-bit focus
-
Menu reformat sweep — every game menu being normalised to a 4-column
# Title (Year) CODElayout, year-sorted ascending, alphabetical within year. See Customising the Filesystem for the format spec. One menu at a time, browser-tested before moving on. Roughly 18 of ~30 menus done as of 05/06/2026. -
Per-game gamedocs pages — replacing the per-emulator
controls.htmlwith researched gameplay instructions atgamedocs/<platform>/<key>.html. Apple I (10/10) and Apple ][ (10/10) done; remaining 26 platforms still using the shared controls page. -
Controls-link URL wiring — emulators that rewrite their URL on load (jtyone, js7800, javatari, amstradcpc, jsbeeb Master) need
window._genxGameKeystashed before the rewrite so the corner controls link can resolve the right gamedocs page. - C128 indie dates — 4 of 7 homebrews (Phazer, Rockfall 128, Wumpus 2.0, World at War) have no internal version stamp anywhere; fall back to zimmers.net file mtimes (one definitive, one fuzzy).
- MAX Multimax-extracted carts — 4 games extracted by string-fingerprint from the EasyFlash compilation, bank → game mapping not yet verified end-to-end.
- PET: 3 games skipped — Microchess 2.0, 3D Star Trek, Cosmiads load at non-standard addresses VICE doesn't autostart. Recoverable with manual cleanup.
-
CRT 4:3 bezels — planned for every emulator page; staging at
emulators/_shared/bezels/.