-
Notifications
You must be signed in to change notification settings - Fork 0
Emulator WebMSX
WebMSX is Paulo Peccin's MSX emulator. The integration was straightforward in the sense that WebMSX is a polished web app already; complicated in the sense that "polished web app" meant pulling out a lot of analytics, donation prompts, and PWA wiring.
WebMSX is MIT-licensed and covers MSX, MSX2, MSX2+, MSX turbo R. The bundle is single-file (one ~5 MB index.html with everything inline), plus image and game-cart directories alongside.
Pulling WebMSX in cleanly meant editing the upstream index.html:
-
Strip Google Analytics. Marked with a
/* GA stripped for self-host */comment so future re-syncs of upstream know what to remove. -
Neuter the donation prompt. The upstream
donate()function pops a modal asking for PayPal donations to Paulo. Replaced with a stub that does nothing (kept as a function so any handler that references it doesn't throw). - Keep the PWA manifest and cache manifest. WebMSX is built to work as an installed PWA; the manifest works fine when self-hosted, no harm leaving it in.
- Keep the fullscreen CSS setup. It's how WebMSX styles its canvas inside its own page; removing it would break the layout we depend on.
WebMSX accepts ?ROM=<url> and ?CARTRIDGE1=<url> URL params. Our menu links pass these directly. No URL rewrite needed.
The MSX cart format is varied (Konami, Konami-SCC, ASCII8, ASCII16, mapped vs flat) and WebMSX handles auto-detection in most cases. For carts that need a specific mapper hint, the URL param takes a &FORCE_* flag.
WebMSX manages its own canvas sizing inside the page. The bezel work for this bundle will need to defer to whatever the WebMSX fullscreen CSS picks, rather than forcing a 4:3 viewport from outside.
emulators/webmsx/
├── index.html ← upstream entry, edited (GA + donate scrubbed)
├── cache.manifest ← PWA cache manifest
├── manifest.webapp ← PWA manifest
├── controls.html
├── images/ ← logo, icons (referenced by manifest)
└── games/
└── *.rom / *.mx2 / *.dsk
- Emulator-Stella — same author, sibling emulator
- Emulators — index