All Projects → shiver → chip8

shiver / chip8

Licence: MIT license
CHIP-8 Emulator in Rust

Programming Languages

rust
11053 projects
shell
77523 projects

Projects that are alternatives of or similar to chip8

kiwi-8
CHIP-8 interpreter for Windows and MacOS
Stars: ✭ 16 (+33.33%)
Mutual labels:  interpreter, chip8
chip-8
A collection of CHIP-8 programs and documentation
Stars: ✭ 214 (+1683.33%)
Mutual labels:  chip8, chip-8
molt
Embeddable TCL Interpreter for Rust applications
Stars: ✭ 86 (+616.67%)
Mutual labels:  interpreter
charm
A [ functional stack ] based language.
Stars: ✭ 26 (+116.67%)
Mutual labels:  interpreter
basic
📺 A from-scratch BASIC interpreter with a focus on being easy to extend and port.
Stars: ✭ 66 (+450%)
Mutual labels:  interpreter
malbolge
A Malbolge implementation and interpreter in Rust.
Stars: ✭ 23 (+91.67%)
Mutual labels:  interpreter
Freeze-OS
An Operating System that runs on top of an interpreter.
Stars: ✭ 24 (+100%)
Mutual labels:  interpreter
sigmastate-interpreter
ErgoScript compiler and ErgoTree Interpreter implementation for Ergo blockchain
Stars: ✭ 56 (+366.67%)
Mutual labels:  interpreter
embed
An embeddable, tiny Forth interpreter with metacompiler.
Stars: ✭ 80 (+566.67%)
Mutual labels:  interpreter
pocketlang
A lightweight, fast embeddable scripting language.
Stars: ✭ 1,412 (+11666.67%)
Mutual labels:  interpreter
ciao
Ciao is a modern Prolog implementation that builds up from a logic-based simple kernel designed to be portable, extensible, and modular.
Stars: ✭ 190 (+1483.33%)
Mutual labels:  interpreter
EightBall
The Eight Bit Algorithmic Language for Apple II, Commodore 64 and VIC20
Stars: ✭ 17 (+41.67%)
Mutual labels:  interpreter
wizard-engine
Research WebAssembly Engine
Stars: ✭ 164 (+1266.67%)
Mutual labels:  interpreter
picol
(Fossil repository mirror) A tiny interpreter
Stars: ✭ 19 (+58.33%)
Mutual labels:  interpreter
snabl
a Lispy Forth in C++
Stars: ✭ 21 (+75%)
Mutual labels:  interpreter
Laythe
A gradually typed language originally based on the crafting interpreters series
Stars: ✭ 58 (+383.33%)
Mutual labels:  interpreter
Tagha
Minimal, low-level, fast, and self-contained register-based bytecode virtual machine/runtime environment.
Stars: ✭ 101 (+741.67%)
Mutual labels:  interpreter
iris
The interpreter of ISLisp
Stars: ✭ 58 (+383.33%)
Mutual labels:  interpreter
Juka
🥣 Juka Programming Language - Fast Portable Programming Language. Run code anywhere without complicated installations and admin rights. Simple, yet powerful new programming language [Easy to code and run on any system] IOT devices supported!
Stars: ✭ 68 (+466.67%)
Mutual labels:  interpreter
bfpile
Optimizing Brainfuck compiler, transpiler and interpreter
Stars: ✭ 19 (+58.33%)
Mutual labels:  interpreter

CHIP-8 Emulator in Rust

Brix

A short weekend project to get some understanding around emulators and a little more experience with Rust. If you have any suggestions or comments regarding either the code, emulators or Rust in general I would be happy to hear from you!

I have tested this on both Windows 10 and Arch Linux.

Requirements

  • CHIP-8 programs

    See Resources used during development section below.

  • Rust 1.26+

  • SDL2 development libraries

    Linux

    If you're running Linux, simply install the relevant package for your distribution. Such as libsdl2-dev for Ubuntu.

    Windows

    I have included the SDL2-2.0.8 pre-compiled binaries for MSVC and MINGW. However, I can only confirm having tested with the MSVC binaries.

How to run

$ cargo run -- <PROGRAM>

Testing

$ cargo test
running 24 tests
test test_add_const ... ok
test test_add ... ok
test test_assign_value ... ok
...

Contributions

Contributions are welcome! Whether in the form of pull requests, suggestions, or comments. I would be happy to discuss any aspect of the project.

Resources used during development

CHIP-8 Info:

Programs:

License

chip8 is distributed under the terms of the MIT license.

See LICENSE.md for details.

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].