chip8

command module
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Apr 7, 2021 License: MIT Imports: 9 Imported by: 0

README

CHIP8 Emulator

My first attempt at emulation. This Go project aims to emulate a fully working CHIP8 system complete with graphics, a working CPU, memory, sound, and keyboard input.

Everything works as far as I have tested, except for audio.

Usage

Usage: chip8 [--scaling SCALING] [--fps FPS] [--cpuspeed CPUSPEED] ROMPATH

Positional arguments:
  ROMPATH                Path to CHIP8 ROM file.

Options:
  --scaling SCALING, -s SCALING
                         Pixel scaling. Adjusts size of display. [default: 15]
  --fps FPS, -f FPS      FPS to run display at. [default: 60]
  --cpuspeed CPUSPEED, -c CPUSPEED
                         Speed of CPU relative to FPS. [default: 10]
  --help, -h             display this help and exit
  --version              display version and exit

Controls

Keys


1234
QWER
ASDF
ZXCV

map to

123C
456D
789E
A0BF

respectively


Screenshots

Brick Connect 4 Pong
Rock Paper Scissors Space Invaders Tetris

TODO (in no particular order):

  • Add more invasive features (e.g. Soft reset, Hard reset, memory manipulation, etc.)
  • Implement VIP/Super chip8
  • Implement audio (needs a better understanding of goroutines and channels)

Credits

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

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