This is an implementation of a CHIP-8 emulator written in Elm.
A range of ROMS are already included - all of which are in public domain.
Credit to Thomas P. Greene. for providing proper documentation of the Chip-8 specification.
An online demo can be found here: http://dragonwasrobot.github.io/chip-8/
Ensure you have Elm 0.19 installed. I personally recommend using asdf, https://github.com/asdf-vm/asdf, to handle version management of compilers.
With Elm installed, perform the following steps:
- Change the
romsUrlPrefix
insrc/Request.elm
to/roms/
, - run the command
./build.sh
to compile the source, and - run the command
python -m SimpleHTTPServer
in the root of thedocs/
folder to start a server that can serve both thedocs/index.html
file and the CHIP-8 roms stored indocs/roms
, then - go to
http://localhost:8000
in your favorite browser.
The tests are written using elm-test and elm-verify-examples. To run the tests, perform the steps:
- Run the command
npm install
to install elm-test and elm-verify-examples, - run the command
npm run doc-tests
to generate the documentation tests found in the Elm code, - run the command
npm test
to run all tests in thetests
folder.