This Project completely implements the Chip8 instruction set with some support for legacy behaviour.
To build just run make build in the root directory.
chip8 <rom_file> <display_scale> <clock_period>A clock period of 20 ms usually works well with most ROMs but some ROMs might require a much lower cycle period.
For legacy behaviour support you need to enable the required flags in config.h and build independently.
Check out this repository of chip8 ROMs to try out.