Chip-8 emulator in WebAssembly (JS –> WASM)
Chip-8 emulator in WebAssembly (JS –> WASM)
I've been learning more about WebAssembly and a bucket list project I've always wanted to complete was to write an emulator. I chose the chip-8 vm as it's popular as a stepping stone project and pretty straight-forward. Only the display opcodes really gave me some trouble, specific to clipping/wrapping and tracking collisions. The demo includes some test roms as well as some roms from various octojams. The source is on GitHub. https://github.com/KevinBatdorf/chip8-wasm I orchestrated the project with TypeScript as I'm used to it and prefer the DX there, I created wrapper functions around the wasm op codes designed in a way similar to how you would write WebAssembly in wat format. So technically it's generated bytecode.
Share cardActual performance
Launch Intel predictions
Analyze your own launch →Incorrect prediction on native model
Similar products
iC8, an interpreted Chip-8 emulator in C
Chip-8 Emulator in Python3
CHIP-8 emulator with C and WebAssembly
A Simple Chip 8 Emulator in C++
GameTime – JS emulator supporting SNES and GBA
NimES – A NES Emulator in Nim, Compiles to JS
CHIP-8 Godot Emulator (port of a Java Emulator by Johan)
JavaScript+WebGL Chip-8 Emulator (Has Pong)
Terminal based CHIP-8 Emulator without external libraries in C++
Chip-8 emulator written in JavaScript