Skip to content

Feature-complete, cross-platform CHIP-8 Emulator written in C++

License

Notifications You must be signed in to change notification settings

TheShepord/chip8-emulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

chip8-emulator

Github license

Cross-platform emulator for the original CHIP-8 Virtual Machine. Written in C++, with SDL2 for rendering and UI. Supports all 35 original opcodes, audio playback and custom settings.

Playing pong!

Yes, the flickering is characteristic of the CHIP-8 but can be reduced by increasing clock cyles, press Up Arrow to do so.

Compatibility

Verified-compatible with Windows and Ubuntu 18.04 LTS, should compile in any operating system with SDL2 installed.

Usage

Compile using CMake
$ cd <path of project install>
$ cmake .
$ cmake --build .

Compile using GNU Make
$ cd <path of project install>
$ make

Run
$ ./Chip8_Emulator roms/<ROM you'd like to play>

Keyboard Layout

Original CHIP-8 Keypad:

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

Emulator Remapping:

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

Commands

Spacebar: pause/resume Emulator
Up Arrow: increase CPU clock frequency
Down Arrow: decrease CPU clock frequency
M: mute sound

Upcoming Features

  • Wrap SDL2 window inside Qt5 widget for better customization features
  • Improve audio fidelity through another form of playback
  • Disassembler and more robust debugging features

About

License: This project is released under the MIT License.

References:

About

Feature-complete, cross-platform CHIP-8 Emulator written in C++

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published