This is a simple CHIP-8 emulator written in Go using the Raylib library. The emulator reads CHIP-8 ROM files, interprets the instructions, and renders the output on a 64x32 pixel display (scaled by 8).
- Emulation of CHIP-8 instructions: Supports basic CHIP-8 operations including memory management and drawing sprites.
- Rendering with Raylib: Uses Raylib for rendering the CHIP-8 display, scaled up for better visibility.
- ROM Loading: Load any CHIP-8 ROM file and run it in the emulator.
- Go 1.18 or later
- Raylib-Go binding: Install the Raylib-Go bindings by following the instructions here.
-
Clone this repository:
git clone https://github.com/kaandesu/chip8-emulator-go.git cd chip8-emulator-go
-
Install the necessary Go dependencies::
go get -u github.com/gen2brain/raylib-go/raylib
-
Compile and run the emulator::
go run .
-
Usage
-
Place the CHIP-8 ROM file in the
./demos/
directory. -
Modify the
LoadROM
function call insetup()
to point to your ROM file:err := Emulator.LoadROM("./demos/your-rom-file.ch8")
-
Run the emulator to start the CHIP-8 program.