A CHIP-8 Emulator written in Haskell
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.
exec-src
roms
src
tests
.gitignore
LICENSE
README.md
Setup.hs
chip8.cabal
chip8.gif
stack.yaml

README.md

HIP-8

A purely functional toy emulator for the CHIP-8 system written in Haskell

Videos

Controls:

The key mapping for the chip-8 is a bit... different. the key mapping is represented in the following code:

keyMapping :: [(Int, SDL.Scancode)]
keyMapping =
  [(0x1, SDL.Scancode1)
  ,(0x2, SDL.Scancode2)
  ,(0x3, SDL.Scancode3)
  ,(0x4, SDL.ScancodeQ)
  ,(0x5, SDL.ScancodeW)
  ,(0x6, SDL.ScancodeE)
  ,(0x7, SDL.ScancodeA)
  ,(0x8, SDL.ScancodeS)
  ,(0x9, SDL.ScancodeD)
  ,(0x0, SDL.ScancodeX)

  ,(0xa, SDL.ScancodeZ)
  ,(0xb, SDL.ScancodeC)
  ,(0xc, SDL.Scancode4)
  ,(0xd, SDL.ScancodeR)
  ,(0xe, SDL.ScancodeF)
  ,(0xf, SDL.ScancodeV)
  ]