Skip to content

CheesyFrappe/chip8-emulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chip8 Emulator

This repository contains an implementation of a Chip-8 interpreter written in C. It supports the complete set of the standard Chip-8 instructions however doesn't include support for Super Chip-48.

CHIP-8 is an interpreter programming language developed by Joseph Weisbecker in the mid-70s and was initially used on the COSMAC VIP and Telmac 1800 8-bit microcomputers to make game programming easier. CHIP-8 programs are run using a CHIP-8 virtual machine.


This reference explains the virtual machine (instruction, registers, stack, memory, display, and keypad) and the opcodes supported.

Keyboard Layout

The computers which originally used the Chip-8 Language had a 16-key hexadecimal keypad with the following layout:

1 2 3 C
4 5 6 D
7 8 9 E
A 0 B F

Dependencies

Compatibility

Verified compatible with Windows (64-bit).

Building and Running

To build the project run:

  git clone https://github.com/CheesyFrappe/chip8-emulator.git
  cd chip8-emulator
  mingw32-make

Running from the command line:

  • You need to provide the path to a ROM file as an argument. Check dependencies for the ROM file.
  • So you can start the INVADERS game available in the bin directory by:
  cd bin
  .\main.exe ./INVADERS

License

This project is open source and available under the MIT License.

About

A fully-featured Chip-8 emulator written in C and SDL

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages