Skip to content

danmrichards/chip8

Folders and files

NameName
Last commit message
Last commit date

Latest commit

9e2bcf1 · May 30, 2020

History

17 Commits
Dec 4, 2018
Dec 4, 2018
Dec 4, 2018
Apr 8, 2020
Dec 4, 2018
May 30, 2020
Dec 4, 2018
Dec 4, 2018

Repository files navigation

CHIP-8

A CHIP-8 emulator written in Go.

Written as a learning exercise to get familiar with emulation, opcodes and CPUs.

Building From Source

Pre-requisites

The emulator uses the following packages which have requirements of their own before we can build with them. Follow the instructions for each:

Clone this repo and build the binary:

$ make

Installation

$ go get -u github.com/danmrichards/chip8/cmd/chip8/...

Usage

Usage of chip8:
  -debug
    	Run the emulator in debug mode
  -rom string
    	Path to the ROM file to load

Controls

The Chip8 has a 16 key hex keyboard. For the purposes of this emulator it has been implemented like so:

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

Note: Which of these keys are actually used will differ from ROM to ROM.

References

As this was a learning exercise I had to seek a lot of help from the interwebs: