https://github.com/guuzzeji/chip-8-emu-3d
A chip 8 emulator that runs in 3D using Golang and Raylib
https://github.com/guuzzeji/chip-8-emu-3d
chip-8 chip8-emulator emulators golang raylib-go
Last synced: 9 months ago
JSON representation
A chip 8 emulator that runs in 3D using Golang and Raylib
- Host: GitHub
- URL: https://github.com/guuzzeji/chip-8-emu-3d
- Owner: Guuzzeji
- License: mit
- Created: 2023-11-25T00:02:06.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-11-25T00:08:29.000Z (over 2 years ago)
- Last Synced: 2025-03-22T07:34:04.347Z (over 1 year ago)
- Topics: chip-8, chip8-emulator, emulators, golang, raylib-go
- Language: Go
- Homepage:
- Size: 9.77 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 3D Chip 8 Emulator
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.
## Video Demo
https://github.com/Guuzzeji/chip-8-emu-3d/assets/46883697/b567106d-f98d-4462-93a9-1931ecf455b1
## How to run
```bash
go run ./
```
## Controls
- 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.
### Chip 8 emulator resources used to create Golang emulator
- 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