Just a project started out by aiming towards getting a hold on/learning C++.
Resources for the project:
- Primarily guided by: https://austinmorlan.com/posts/chip8_emulator/
- However, as Point 1 claims, there is another reference that Point 1 follows - http://mattmik.com/files/chip8/mastering/chip8.html
- An extension of Point 2 can be found at - https://github.com/mattmikolay/chip-8/wiki
- The argument for using the reference in Points 2 and 3 (and not the Cowgod reference that is more easily found) is presented well through the comments (by RodgerTheGreat) in this Reddit post by Bisqwit: https://www.reddit.com/r/programming/comments/3ca4ry/writing_a_chip8_interpreteremulator_in_c14_10/csu7w8k/
More resources can be found by going through the above four in detail (quite a rabbit hole for people interested in emulation of older machines).
- Clone the repository.
- Get the SDL Library - check out this guide for Visual Studio on how to set it up: https://lazyfoo.net/tutorials/SDL/01_hello_SDL/windows/msvc2019/index.php
- Build the solution (assuming you are using Visual Studio: Ctrl + B). DO NOT BUILD/INCLUDE
test_manual.cpp
. - Go to bin > x64 > Debug through the command line (Windows cmd):
cd yourDirectoryPath\Chip8\bin\x64\Debug
- Once you are in the correct directory with the built .exe file, make sure you have the roms you need in it.
- Through the command prompt (cmd), type:
Chip8.exe 10 3 test_opcode.ch8
[Usage: Chip8.exe <Scale> <Delay> <ROM>]