Skip to content

backwardspy/emudevz

 
 

Repository files navigation

EmuDevz

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

EmuDevz: Reveal Trailer

rlabs 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.

About

🕹️ A game about building emulators!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 77.5%
  • Scheme 20.5%
  • CSS 1.8%
  • Other 0.2%