Skip to content

ang1337/Chip8-VM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chip8-VM

Yet another Chip-8 virtual machine implementation. SFML library has been used for graphics and sound.

Screenshots

pong invaders tetris

Dependencies

  • GNU gcc compiler with C++ 17 support
  • SFML
  • CMake 3.11 and above

Installation

$ git clone https://github.com/ang1337/Chip8-VM.git
$ cd Chip8-VM && mkdir build
$ cd build
$ cmake .. && make

Usage

  • By default, the display size is 64x32. The actual window default size is 640x320 (scaled by a factor of 10). If you want to increase the screen size, pass -s option (if you don't pass this option, the size of the window remains 640x320).

  • 'ROMs' directory contains 23 different ROMs that can be executed by the virtual machine. A path to specific ROM is passed through -r option.

  • 'sound' directory contains the beep WAV audio file. A path to it is passed through -a option.

  • Press Escape to exit the game.

     $ ./chip8vm -r ../ROMs/TETRIS -a ../sound/censor-beep-01.wav -s 16
     $ ./chip8vm -r ../ROMs/PONG -a ../sound/censor-beep-01.wav 
    

The first example will launch tetris ROM with a 1024x512 window size. The second example will launch pong ROM with a default 640x320 window size.

About

Yet another Chip-8 virtual machine implementation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published