Skip to content

hanstig/gochip

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chip-8 Interpreter

A chip-8 interpreter written in Go.

This is just a hobby project for me to get more familiar with the go programming language and with hardware emulation.

Game Over! :(

Dependencies

Requires Go 1.22 or later

The Frontend for the emulator uses the Ebitengine game engine. Ebitengine requires a C compiler like gcc or clang when installing on MacOS or Linux.

Building

Build the executable by navigating to the src directory .../gochip/src/ and run the command:

$ go build

Running the emulator

After building, start the executable by running:

$ ./gochip <delay> <rom path>

<delay> determines how fast the emulator runs and can be adjusted to make a program run at an appropriate speed. A higher value means the emulator runs slower.

Example:

$ ./gochip 100 roms/maze.ch8

Keypad

The emulator uses the following keys as input:

1 2 3 4
Q W E R
A S D F
Z X C V

Resources used:

I used Austin Morlan's blogpost as a guide for my own implementaion and it was very helpful!!!

Roms

I've not written any of the roms available in this repo myself. They are from the following Repos:

dmatlack

  • Good collection of various chip8 roms!

corax89

  • Great for testing the basic instructions work as intended

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages