Discover Packages
github.com/oliveira-a/gochip
command
module
Version:
v0.0.0-...-e58ecdf
Opens a new window with list of versions in this module.
Published: Mar 31, 2026
License: MIT
Opens a new window with license information.
Imports: 19
Opens a new window with list of imports.
Imported by: 0
Opens a new window with list of known importers.
README
README
¶
CHIP-8 Virtual Machine in Go
This project is a CHIP-8 virtual machine (interpreter) written in Go. The CHIP-8 is a simple, interpreted programming language from the 1970s, designed for easy game development on early computers. This virtual machine reads CHIP-8 ROMs and executes them, allowing you to play classic CHIP-8 games.
Features
Full CHIP-8 instruction set implementation
Basic input support via keyboard
Timers (delay and sound)
Simple, extensible codebase
Getting Started
Prerequisites
To run or modify this project, you need:
Go (version 1.18 or later)
Docker (optional: if you want to run the web assembly version)
Installing
Clone this repository to your local machine:
git clone https://github.com/oliveira-a/gochip.git
cd gochip
Install the necessary Go dependencies:
go get .
Run the project
go run .
Web
Build the image
docker build -t gochip -f server/Dockerfile .
Run the container
docker run -p 8080:8080 gochip
Controls
The CHIP-8 uses a 16-key hexadecimal keypad. The corresponding keys on your keyboard are:
1 2 3 4 --> 1 2 3 C
Q W E R --> 4 5 6 D
A S D F --> 7 8 9 E
Z X C V --> A 0 B F
Use these keys to control games. Each game may have different key mappings.
Expand ▾
Collapse ▴
Documentation
¶
There is no documentation for this package.
Source Files
¶
Directories
¶
Click to show internal directories.
Click to hide internal directories.