An open API service indexing awesome lists of open source software.

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

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