r/EmuDev•
zoogderrick2

KuroganeNES: A cycle-accurate NES/FDS emulator in a single HTML file (Help from Claude)

I've spent the last few months building a NES / Famicom Disk System emulator that runs entirely in the browser as a single, completely self-contained HTML file in Javascript. There is no installation, no build steps, and no external network requests. You just drop a ROM and play.

Live Web App: https://dzoberg.github.io/KuroganeNES/

GitHub Repository: https://github.com/dzoberg/KuroganeNES

Full disclosure: This project was built using heavy AI assistance. I handled the core architecture, directed the low-level hardware mapping, and did all the manual verification and debugging against test-ROM suites myself. I'm being transparent about it because I want real technical feedback rather than pretending I wrote all 50k lines by hand.

Features & Scope

I tried to cram as much hardware coverage into this single file as possible. It currently supports:

~328 Mappers: Including basic boards up to the weirder pirate and unlicensed clone mappers.

Famicom Disk System: Includes full RP2C33 audio and an embedded, clean-room reverse-engineered BIOS so it's legally distributable out of the box.

Nintendo Vs. System: Properly handles the unique arcade 2C04 color palettes and coin-door IRQs.

Audio: NSF/NSFe player alongside expansion audio support (VRC6/7, MMC5, N163, 5B, EPSM).

Peripherals: Zapper (mouse/touch), Power Pad, Oeka Kids Tablet, Family BASIC & Subor keyboards, and Datach/Barcode Battler emulation.

Tools: A built-in TAS Studio with frame-advance, recording, and rewind, plus a deep debugger suite covering nametables, patterns, OAM tracking, execution heatmaps, and a live NMI/IRQ/DMA timeline.

Netplay: Lockstep multiplayer over a tiny, zero-dependency Node.js WebSocket relay. Guest players don't even need the ROM file; the host streams the session payload directly on connection.

The entire thing sits at roughly 50,000 lines inside a single nes.html file. Third-party dependencies like pako and RomPatcher are completely inlined, and the retro fonts are embedded directly as base64 WOFF2 data URIs.

It's open-source under the MIT license. Let me know what you think.

Posted Jun 8, 2026, 4:54 AM UTC

04
Loading comments…