This is a Chip-8-emulator.
I followed this guide in order to make it: Building a CHIP-8 Emulator [C++] - Austin Morlan
The files Platform.cpp, Platform.h and main.cpp are basically a copy and paste from the guide (except for some minor changes that I have done in order to make them work with the rest of the project).
Other resources I found useful:
For the opcodes I used the table from the Wikipedia page as a reference: CHIP-8 - Wikipedia
See INSTALL.md
If you are not inside the build folder do:
cd build
To run the executable:
./chip8 <scale> <delay> <ROM>
where:
-
scale
represents the scale of the window -
delay
represents the speed of the game -
ROM
represents the file of the game to be loaded
For example, let's suppose that there is a ROM called Pong.ch8 (.ch8 is the extension of the ROMs for the Chip-8) inside the root directory of the project. If we are currently inside the build folder, the command would be:
./chip8 20 1 ../Pong.ch8
If the speed of the game is too high, try to increment the delay
variable, for example setting it to 3 or 4.
You can download Chip-8 ROMs from here.