A CHIP-8 emulator

Related tags

Emulators Ruschip
Overview

Ruschip - A CHIP-8 Emulator written in Rust

Features

  • Supports multiple CHIP-8 variants (planned not added)
  • Supports most--if not all--of the quirks, and they can be toggled
  • Supports customization of display colors
  • Supports the loading of custom CHIP-8 fonts

Emulator Specifications

  • Passes all the tests from Timendus/chip8-test-suite (v4.0)
  • Runs @ 720 Hz (12 instructions per frame, 60 frames per second)
  • The CHIP-8 call stack doesn't have a maximum size limit
  • Follows the standard CHIP-8 specifications; see this and this for more details

Usage

checkout ruschip --help for usage information

Compilation

You might want to use the pre-built binaries provided here

Requirements

  • mold linker
  • rust compiler (rustc) and cargo
  • git or Github cli (gh)
  1. Clone this repository
gh repo clone SegmentationViolator/Ruschip

OR

git clone https://github.com/SegmentationViolator/Ruschip.git
  1. Install dependencies, compile the binary and install it
cargo install --path Ruschip

For pasting it all at once

git clone https://github.com/SegmentationViolator/Ruschip.git
cargo install --path Ruschip

Issues

Known issues:

  • The sound and delay timers might be a bit inconsistent as they depend on the frame rate being 60 fps
  • The emulator is not able to emulate this rom properly; check #1 for more details
You might also like...
CHIP-8 emulator/interpreter in Rust

rCHIP-8 A CHIP-8 interpreter/emulator written in Rust. Currently the interpreter only runs on UNIX terminals because of the method used to control the

A CHIP-8 emulator/interpreter in Rust
A CHIP-8 emulator/interpreter in Rust

rchip8 A CHIP-8 emulator/interpreter in Rust To run the emulator just type "cargo run -- -d". It will run a simple inline program in main. Commandlin

A CHIP-8 emulator

Ruschip - A CHIP-8 Emulator written in Rust Features Supports multiple CHIP-8 variants (planned not added) Supports most--if not all--of the quirks, a

Nes-emulator - A NES emulator made to learn the Rust programming language

nes-emulator Building $ rustc --version rustc 1.32.0 (9fda7c223 2019-01-16) $ cargo --version cargo 1.32.0 (8610973aa 2019-01-02) $ cargo build --rel

Rust library for handling CHIP-8 configuration options

octopt octopt is a library for handling CHIP-8 configuration settings. It contains Rust data structures that aim to represent all possible CHIP-8 opti

CHIP-8 implementation in Rust targeting AVR microcontrollers
CHIP-8 implementation in Rust targeting AVR microcontrollers

CHIP-8 implementation for a very simple breadboard toy This is a CHIP-8 virtual machine implementation running on AVR. Its big party trick is that it

Commodore 64 emulator written in Rust
Commodore 64 emulator written in Rust

Rust64 - a C64 emulator written in Rust This is my attempt to study the Rust programming language and have fun at the same time. The goal is to presen

A Flash Player emulator written in Rust
A Flash Player emulator written in Rust

website | demo | nightly builds | wiki Ruffle Ruffle is an Adobe Flash Player emulator written in the Rust programming language. Ruffle targets both t

A Game Boy research project and emulator written in Rust

Mooneye GB Mooneye GB is a Game Boy research project and emulator written in Rust. The main goals of this project are accuracy and documentation. Some

Comments
  • Improper rendering of sprites in the RPS rom by SystemLogoff

    Improper rendering of sprites in the RPS rom by SystemLogoff

    Renders a malformed sprite on pressing z and the sprite doesn't get cleared

    image

    the keypad layout seems to be messed up as well, pressing x chooses rock and pressing c chooses paper (expected z to choose rock and x to choose paper)

    link to the rom

    opened by SegmentationViolator 0
Owner
SegV
SegV
A CHIP-8 emulator written in Rust

damn8 A CHIP-8 emulator written in Rust To run, pass a path to a rom in the command line. TODO: Use function pointers to handle opcodes instead of a l

null 1 Jan 11, 2022
A CHIP-8 emulator in Rust with iced-powered GUI

CHIP-8 Emulator in Rust A CHIP-8 emulator written in Rust and iced-powered GUI. All 34 CHIP-8 instructions (SUPER CHIP instructions are not supported)

Yuto Takahashi 6 Dec 27, 2022
CHIP-8 emulator written in Rust as a side project.

marisa-rs a CHIP-8 emulator, with learning purposes in mind, written in Rust. this is mainly a learning project of mine for deeper knowledge in emulat

Lumine 0 Jul 26, 2022
My attempt at making a chip-8 emulator

ate-chip My attempt at making a chip-8 emulator Credits Here are some of the things that I used for reference while building this http://devernay.free

Rowan 1 Jan 16, 2022
Emulator of CHIP-8

CHIP-8-Emulator This emulator supports CHIP-8 and SUPERCHIP games. Installation Since Sdl2 is used, you'll need the Sdl2 runtime library for you syste

null 2 Oct 26, 2022
A CHIP-8 emulator written in Rust

chip8 A CHIP-8 emulator written in Rust Goal The goal of this project is to build a fully functional emulator (but I should name it an interpreter) of

Fabian Vilers 2 Jun 30, 2022
A CHIP-8 emulator written in Rust 🦀

A Rusty CHIP-8 Emulator CHIP-8 is an interpreted programming language, developed by Joseph Weisbecker. It was initially used on the COSMAC VIP and Tel

Varun Shenoy 2 Aug 15, 2022
A simple CHIP-8 emulator written in Rust.

CHIP-8 emulator This is a small learning project to get familiar with emulator development, the Rust programming language and the SDL2 library. Discla

null 3 Aug 31, 2022
CHIP-8 emulator written in Rust 🦀!

CHIP-Ahoyto ?? CHIP-8 emulator written in Rust ?? . The goal of this project is purely experimental and a learning tool for rust. The work of this emu

João Magalhães 3 Dec 15, 2022
A Chip-8 Emulator written in Rust & SDL2

Crab-8 A fully featured Chip-8 Emulator written in Rust. This project was written as a learning & development project in rust, and as such the code ma

Harry Smith 3 Dec 1, 2022