A Golang Chip-8 emulator that runs in 3D, through the power of raylib. There are some bugs with the emulator, but always everything is there, just need some fine tuning to get everything to work.
Screen.Recording.2023-11-24.at.3.50.10.PM.mov
go run ./
- Keyboard = 1: Chip 8 = 1
- Keyboard = 2: Chip 8 = 2
- Keyboard = 3: Chip 8 = 3
- Keyboard = 4: Chip 8 = c
- Keyboard = Q: Chip 8 = 4
- keyboard = W: Chip 8 = 5
- Keyboard = E: Chip 8 = 6
- Keyboard = R: Chip 8 = D
- Keyboard = A: Chip 8 = 7
- Keyboard = S: Chip 8 = 8
- Keyboard = D: Chip 8 = 9
- Keyboard = F: Chip 8 = E
- Keyboard = Z: Chip 8 = A
- Keyboard = X: Chip 8 = O
- Keyboard = C: Chip 8 = B
- Keyboard = V: Chip 8 = F
To move around in 3D space, press ~
key, and use WASD to move around, just like any other video game.
- https://tobiasvl.github.io/blog/write-a-chip-8-emulator/
- https://www.taniarascia.com/writing-an-emulator-in-javascript-chip8/#index-register
- https://github.com/taniarascia/chip8/blob/master/data/instructionSet.js
- https://www.freecodecamp.org/news/creating-your-very-own-chip-8-emulator/
- https://github.com/ericgrandt/chip8-emulator/blob/master/scripts/cpu.js
- https://www.developer.com/languages/golang-bitwise-operators/
- http://devernay.free.fr/hacks/chip8/C8TECH10.HTM#00E0
- https://www.youtube.com/watch?v=Nv8J_Ruc280
- https://github.com/skatiyar/go-chip8/blob/master/emulator/emulator.go
- https://chip.netlify.app/emulator/
- http://devernay.free.fr/hacks/chip8/C8TECH10.HTM#0.0
- https://pkg.go.dev/github.com/gen2brain/raylib-go/raylib#GetKeyPressed
- https://www.raylib.com/cheatsheet/cheatsheet.html
- http://devernay.free.fr/hacks/chip8/chip8def.htm
- https://johnearnest.github.io/Octo/docs/chip8ref.pdf
- https://en.wikipedia.org/wiki/CHIP-8
- https://github.com/NoetherianRing/Chip-8/blob/master/chip8/instructions.go