afska/emudevz: 🕹️ A game about building emulators! (opens in new tab)

EmuDevz

🕹️ A game about building emulators! Check it out!

Created by [r]labs.

Key features

  • Full 🕹️ NEEES emulation guide from scratch

  • Interactive 🔨 6502 Assembly tutorial

  • Implement 🧠 CPU, 🖥️ PPU, and 🔊 APU in any order

  • Play 👾 homebrew games to unlock ROMs

  • 🧪 Unit tests, video tests, and audio tests are provided

  • 💻 Unix-style shell and code editor

  • 🎶 Original retro-synthwave soundtrack

  • 📃 Included documentation and in-game dictionary

  • 🗣️ Fully localized into English and Spanish

  • 🐞 Powerful debugger with:

  • 🐏 Memory viewer

  • 🔢 Instruction log

  • 🏞️ Name tables, CHR, Sprites, Palettes

  • ♒ Individual APU channel views

  • 🎮 Controllers

  • 🗃️ Emulator logging

  • 🔭 Free mode to use the IDE to develop emulators for other systems!

Where’s the save file?

  • Portable: .devz files (import/export from Settings menu)
  • Web: IndexedDB and LocalStorage
  • Steam/Windows: %USERPROFILE%/AppData/Roaming/EmuDevz
  • Steam/Linux: $XDG_CONFIG_HOME/EmuDevz
  • Steam/macOS: ~/Library/Application Support/EmuDevz

Development

Install and run

# install nvm & node
npm install
npm start

Scripts

  • Package levels: npm run package
  • Sort locales: node scripts/sort-locales.js
  • Sort dictionary entries: node scripts/sort-dictionary.js
  • Build: npm run build
  • Deploy to GitHub Pages: npm run deploy <GH_USERNAME> <GH_TOKEN>

Generate licenses

cp pre-licenses.txt public/licenses.txt
yarn licenses generate-disclaimer --prod >> public/licenses.txt

Known issues

These are notes from the January 2026 release on Steam. I hope these issues can be resolved in the future.

Windows

  • On Windows 11, when using a full-screen Electron app with the Steam overlay, ghost Alt-Tab windows are created. As a workaround, fullscreen mode is disabled on Windows.

macOS

Linux

  • The app doesn’t boot in sandbox mode when launched via Steam. As a workaround, Steam launches the app with --no-sandbox.
  • The app doesn’t boot on Arch Linux with the latest Electron when using the Steam Linux Runtime 3.0. As a workaround, Electron 36.9.5 was used and forced to launch using X11 with --enable-features=UseOzonePlatform --ozone-platform=x11.

Keyboard Shortcuts

Navigation
Next / previous item
j/k
Open post
oorEnter
Preview post
v
Post Actions
Love post
a
Like post
l
Dislike post
d
Undo reaction
u
Save / unsave
s
Recommendations
Add interest / feed
Enter
Not interested
x
Go to
Home
gh
Interests
gi
Feeds
gf
Likes
gl
History
gy
Changelog
gc
Settings
gs
Browse
gb
Search
/
General
Show this help
?
Submit feedback
!
Close modal / unfocus
Esc

Press ? anytime to show this help