📺 Chip-8 emulator for web.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
roms
src
test
.babelrc
.gitignore
README.md
index.html
package.json
rollup.config.js

README.md

merry8

Chip-8 emulator for web.

API

Besides the demo, you can simply npm install merry8 and run it in your own project!

import Merry8 from 'merry8'

// Provide chip-8 rom, canvas element and its default width.
const merry8 = new Merry8(rom, {
  el: '#app',
  width: 500
})

merry8.run()

merry8.run()

Start emulator main loop.

merry8.press(key: number)

Emulate a key press, key ranges from 0 to 15.

Development

For a quick start, npm run demo and open localhost:9001.

To test cpu instructions, simply run npm test.

Changelog

  • 0.3.0 - 2017/11/19
    • Expose emulator API.
    • Support multi emulator instances.
    • Rewrite project structure with class syntax.
    • Fix test failure.
    • Migrate to babel-preset-env.
  • 0.2.1 - 2017/03/25
    • Migrate to rollup.
  • 0.2.0 - 2016/12/25
    • Migrate view layer to canvas.
  • 0.1.0 - 2016/12/25
    • Implement interpreter and GUI with basic PONG support.

License

MIT