All Projects → soupi → chip-8

soupi / chip-8

Licence: BSD-3-Clause license
A CHIP-8 Emulator written in Haskell

Programming Languages

haskell
3896 projects

Projects that are alternatives of or similar to chip-8

Anese
Another NES Emulator - written for fun & learning - first implementation of wideNES
Stars: ✭ 323 (+850%)
Mutual labels:  sdl2, emulation
nancy
How JavaScript Promise Works
Stars: ✭ 26 (-23.53%)
Mutual labels:  functional
angrylion-rdp-plus
A low-level N64 video emulation plugin, based on the pixel-perfect angrylion RDP plugin with some improvements.
Stars: ✭ 143 (+320.59%)
Mutual labels:  emulation
php-validation-dsl
A DSL for validating data in a functional fashion
Stars: ✭ 47 (+38.24%)
Mutual labels:  functional
apint
Arbitrary precision integers library.
Stars: ✭ 23 (-32.35%)
Mutual labels:  emulation
sdl2-raycast
SDL2 C++ raycasting engine with vertical movement, floor/ceiling texture mapping and sprites.
Stars: ✭ 80 (+135.29%)
Mutual labels:  sdl2
teki
Touhou-style shoot'em up
Stars: ✭ 60 (+76.47%)
Mutual labels:  sdl2
pctation
PlayStation emulator & debugger in C++17
Stars: ✭ 103 (+202.94%)
Mutual labels:  emulation
ekzo
💫 Functional Sass framework for rapid and painless development
Stars: ✭ 32 (-5.88%)
Mutual labels:  functional
RustTetris
Tetris Made in Rust and SDL2
Stars: ✭ 18 (-47.06%)
Mutual labels:  sdl2
pyfuncol
Functional collections extension functions for Python
Stars: ✭ 32 (-5.88%)
Mutual labels:  functional
openmom
A cross-platform open source port of Master of Magic game from Microprose
Stars: ✭ 90 (+164.71%)
Mutual labels:  sdl2
UTM
Virtual machines for iOS and macOS
Stars: ✭ 16,904 (+49617.65%)
Mutual labels:  emulation
ParsecSharp
The faster monadic parser combinator library for C#
Stars: ✭ 23 (-32.35%)
Mutual labels:  functional
pipe
Pipe operator for nim.
Stars: ✭ 51 (+50%)
Mutual labels:  functional
typed-prelude
Reliable, standards-oriented software for browsers & Node.
Stars: ✭ 48 (+41.18%)
Mutual labels:  functional
dingusppc
An experimental emulator
Stars: ✭ 106 (+211.76%)
Mutual labels:  emulation
justuse
Just use() code from anywhere - a functional import alternative with advanced features like inline version checks, autoreload, module globals injection before import and more.
Stars: ✭ 49 (+44.12%)
Mutual labels:  functional
futils
Utilities for generic functional programming
Stars: ✭ 21 (-38.24%)
Mutual labels:  functional
swift-di-explorations
Functional DI explorations in Swift
Stars: ✭ 28 (-17.65%)
Mutual labels:  functional

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)
  ]
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].