fengb/fundude
Gameboy emulator: Zig -> wasm
{ "createdAt": "2019-03-20T23:23:56Z", "defaultBranch": "master", "description": "Gameboy emulator: Zig -> wasm", "fullName": "fengb/fundude", "homepage": "https://fengb.github.io/fundude/", "language": "Zig", "name": "fundude", "pushedAt": "2021-11-07T05:29:47Z", "stargazersCount": 195, "topics": [ "gameboy-emulator", "wasm", "zig" ], "updatedAt": "2025-11-24T20:11:11Z", "url": "https://github.com/fengb/fundude"}![FUN DUDE]!(web/logo.svg)
🚧 Under Construction 🚧
Section titled “![FUN DUDE]!(web/logo.svg) 🚧 Under Construction 🚧”Game compatibility
Section titled “Game compatibility”Perfect emulation:
- none
Playable:
- Tetris
- Super Mario Land
- Bionic Commando
- Pokemon Red/Blue
- Kirby’s Dreamland
- Dr. Mario
- Zelda: Link’s Awakening
Implementation details
Section titled “Implementation details”| CPU | some bugs, incorrect instruction durations |
| Video | mostly working — render hacks |
| Joypad | should work |
| Timer | untested, poor timing |
| Interrupts | untested |
| Serial | ❌ |
| Audio | ❌ |
Development
Section titled “Development”Dependencies:
- zig 0.6.0+
- node.js 10.0.0+
# Pull down this project$ git clone https://github.com/fengb/fundude.git$ cd fundude
# Build the wasm -- release-safe increases performance by >10x compared to the default debug mode$ zig build -Drelease-safe
# Start the server$ yarn install$ yarn dev