Emulator of CHIP-8

Overview

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 system next to your executable file. You can find the executable file either in the releases or you have to build it with cargo build --release.

Emulate a game

In a terminal, run chip8-emulator.exe path/to/binary. You can find many binaries here.

Before the first run starts, it might take some time for the antivirus-software to check everything. Before the first run, a saves folder is created for quicksaves.

Keyboard Layout

Since all input is in hex, the following keyboard layout is used with (Scancodes for the US keyboard):

1 2 3 4
Q W E R
A S D F
Z X C V

which is interpreted as:

1 2 3 C
4 5 6 D
7 8 9 E
A 0 B F

For the emulator, there are the following Keyboard-Shortcuts:

Scancode Description
Esc Pauses/Unpauses the game.
F1 Resets speed to 100%.
F2 Increases the emulation speed by 20%.
F3 Decreases the emulation speed by 20%.
F4 Enter/Leaves the cheat mode.
F5 Quicksaves the emulation state (to the saves folder).
F8 Quickloads the newest quicksave (from the saves folder).

Cheat Mode

Some games depend on collision detection (like breakout), so in the cheat mode, drawing onto the screen is possible.

The left mouse button turns a pixel on, while the right mouse button turns it off. While drawing the game is paused.

Bugs

If you think you encountered a bug, you can open an issue. Make sure to include a bin/savegame and the OS.

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

Releases(v2.0.0)
  • v2.0.0(Sep 18, 2022)

  • v1.0.1(Jan 15, 2022)

    WINDOWS BUILD

    Now mostly supports SUPERCHIP (and still CHIP-8) and quicksaving / quickloading is possible (drawing bug fixed too).

    To install, download the .exe and the Sdl2.dll, put them into the same directory and add a roms/ directory with the chip8 games. To run a game, you have to give the relative path to the .ch8 file as the first cmd_line parameter. Launching the program for the first time might take some time for anti-virus software's to check the .exe.

    Source code(tar.gz)
    Source code(zip)
    chip8-emulator.exe(360.00 KB)
  • v1.0.0(Jan 12, 2022)

    Initial release, windows-x64 only (build for other platforms using cargo build possible).

    To install, download the .exe and the Sdl2.dll, put them into the same file and add a roms/ directory with the chip8 games. To run a game, you have to give the relative path to the .ch8 file as the first cmd_line parameter. Launching the program for the first time might take some time for anti-virus software's to check the .exe.

    Source code(tar.gz)
    Source code(zip)
    chip8-emulator.exe(309.00 KB)
Owner
null
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