A chip-8 emulator in Rust, using raylib for graphics.

Overview

crisp-ate

A chip-8 emulator in Rust, using raylib for graphics. For emulation learning purposes.

Based on:

blinky

^ not actual graphics (yet), but I'm aiming towards something similar (image taken from the first link)

Usage

"">
$ git clone https://github.com/adoroburrito/crisp-ate
$ cd crip-ate
$ cargo run ""

TO-DO

  • basics
    • memory (8-bit array with 4096 positions)
    • registers
    • opcode enums
    • load program into memory
  • emulation
    • fetch and decode opcode at program counter
    • execution
      • simple opcodes (not much bitwise operations needed)
      • complex opcodes (some advanced bitwise operations needed)
    • draw frame (with raylib)
    • play sound timer beep (with raylib)
  • completeness
    • test system with a test rom
    • test system with games
You might also like...
Simple retro game made using Rust bracket-lib by following "Herbert Wolverson's Hands on Rust" book.

Flappy Dragon Code from This program is a result of a tutorial i followed from Herbert Wolverson's Hands-on Rust Effective Learning through 2D Game De

A rust chess implementation using a neural network scoring function built on huggingface/candle + rust + wasm

Rusty Chess What is it? Rusty Chess aims to be a high quality embeddable chess engine that runs entirely locally in the browser (no backend required).

Text Renderer written in Rust using HarfBuzz for shaping, FreeType for rasterization and OpenGL for rendering.
Text Renderer written in Rust using HarfBuzz for shaping, FreeType for rasterization and OpenGL for rendering.

Provok Text Renderer written in Rust using HarfBuzz for shaping, FreeType for rasterization and OpenGL for rendering. Input Provok is fed with a JSON

Rustcraft is a simple Minecraft engine written in rust using wgpu.
Rustcraft is a simple Minecraft engine written in rust using wgpu.

Rustcraft is a simple Minecraft engine written in rust using wgpu.

minesweeper-rs is a simple minesweeper game using Rust and windows-rs.
minesweeper-rs is a simple minesweeper game using Rust and windows-rs.

minesweeper-rs minesweeper-rs is a simple minesweeper game using Rust and windows-rs. Key Features TBA Quick Start TBA How To Contribute Contributions

Sci-fi run 'n' gun action RPG created in Rust, using Macroquad

Capstone - Twilight of the Archons This is an action/run 'n' gun RPG, created in Rust using macroquad. The future holds huge boss fights, and a mind-n

A tetris game I wrote in rust using ncurses. I'm sure that there's a better way to write a tetris game, and the code may be sus, but it techinically works
A tetris game I wrote in rust using ncurses. I'm sure that there's a better way to write a tetris game, and the code may be sus, but it techinically works

rustetris A tetris game I wrote in rust using ncurses. I'm sure that there's a better way to write a tetris game, and the code may be sus, but it tech

Using the powers of Rust, Go and Dragonfly to make a vanilla-like world generation.
Using the powers of Rust, Go and Dragonfly to make a vanilla-like world generation.

df-rs-gen — Dragonfly Rust Generator Using the powers of Rust, Go and Dragonfly to make a vanilla-like world generation. How to use Clone the repo. gi

A game of snake written in Rust using the Bevy game engine, targeting WebGL2

Snake using the Bevy Game Engine Prerequisites cargo install cargo-make Build and serve WASM version Set your local ip address in Makefile.toml (loca

Owner
André Nogueira
Software developer
André Nogueira
Comparing performance of Rust math libraries for common 3D game and graphics tasks

mathbench mathbench is a suite of unit tests and benchmarks comparing the output and performance of a number of different Rust linear algebra librarie

Cameron Hart 137 Dec 8, 2022
🍖A WGPU graphics pipeline, along with simple types used to marshal data to the GPU

renderling ?? This library is a collection of WGPU render pipelines. Shaders are written in GLSL. shaderc is used to compile shaders to SPIR-V. Defini

Schell Carl Scivally 5 Dec 20, 2022
Simple image transforms for embedded-graphics

Embedded graphics transformations This crate provides generic implementations of simple transformations - rotate by 90 degree increments, mirroring an

Jeremy Fitzhardinge 3 Sep 14, 2022
A no_std GIF library for embedded applications(embedded-graphics)

tinygif A tiny gif decoder written in no_std Rust. This crate requires about 20kB of memory to decode a gif. basic decoding frame iterator interlace s

Andelf 12 Jun 15, 2023
Motion graphics creation tool in Bevy. (Highly inspired by Motion Canvas and Manim)

Bevy MotionGfx Bevy Motiongfx is a motion graphics creation tool in Bevy. It is highly inspired by Motion Canvas & Manim. Goal The goal of this tool i

Nixon 3 Nov 6, 2023
A Gameboy Color Emulator written in Rust

A Gameboy Color Emulator written in Rust

Mathijs van de Nes 512 Dec 23, 2022
Work-in-progress Nintendo Switch emulator, written in Rust and slightly less focused on gaming

pegasus Work-in-progress Nintendo Switch emulator, written in pure Rust and slightly less focused on gaming Information This project aims to be a diff

XorTroll 21 Nov 22, 2022
3d Cellular Automata using WGPU in Rust (for the web and using compute shaders)

3D-Cellular-Automata-WGPU 3d Cellular Automata using WGPU in Rust (for the web and using compute shaders) The branches are very messy... I recommend y

null 18 Dec 18, 2022
A simple space shooter game. Runs in the terminal using characters-based UI. Fully written in Rust, using the "ruscii" library.

Thrust - a terminal shooter game Originally created as a project for the "Missing Semester" course at JKU Linz (338.006). The game is entirely written

Mathias Wöß 3 Jan 16, 2023
Using bevy and custom render pipelines in order to render many objects in a forest using chunks for performance.

bevy_efficient_forest_example Using bevy and custom render pipelines in order to render many objects in a forest using chunks for performance. Grass i

Henrik Djurestål 43 Jan 5, 2023