gochip

command module
v0.0.0-...-e58ecdf Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 31, 2026 License: MIT Imports: 19 Imported by: 0

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.

Space invaders playing on chip 8

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
  1. Clone this repository to your local machine:

    git clone https://github.com/oliveira-a/gochip.git
    cd gochip
    
  2. Install the necessary Go dependencies:

    go get .
    
  3. Run the project

    go run .
    
Web
  1. Build the image

    docker build -t gochip -f server/Dockerfile .
    
  2. 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.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL