Yet another Chip-8 virtual machine implementation. SFML library has been used for graphics and sound.
- GNU gcc compiler with C++ 17 support
- SFML
- CMake 3.11 and above
$ git clone https://github.com/ang1337/Chip8-VM.git
$ cd Chip8-VM && mkdir build
$ cd build
$ cmake .. && make
-
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.