Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gkaszewski/chip8
Simple chip8 emulator written in Rust
https://github.com/gkaszewski/chip8
chip8 raylib rust
Last synced: 8 days ago
JSON representation
Simple chip8 emulator written in Rust
- Host: GitHub
- URL: https://github.com/gkaszewski/chip8
- Owner: GKaszewski
- Created: 2023-07-16T20:59:50.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-05-10T21:58:38.000Z (6 months ago)
- Last Synced: 2024-05-10T22:45:42.790Z (6 months ago)
- Topics: chip8, raylib, rust
- Language: Rust
- Homepage:
- Size: 5.86 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Rust Chip-8 Emulator
This is a Chip-8 emulator written in Rust. Chip-8 is an interpreted programming language that was first used in the mid-1970s. It was initially used on 8-bit microcomputers, but its simplicity makes it a popular choice for creating simple emulators.
## Description
The Chip-8 emulator interprets and executes Chip-8 programs. The Chip-8 system is capable of rendering graphics on a screen and receiving user input, making it perfect for games. Some of the classic games that have been written in Chip-8 include Pong, Space Invaders, and Tetris.
## Installation
1. Install [Rust](https://www.rust-lang.org/tools/install) and [Cargo](https://doc.rust-lang.org/cargo/getting-started/installation.html) if you haven't already.
2. Clone this repository:
```
git clone https://github.com/GKaszewski/chip8.git
```3. Build the emulator:
```
cd chip8
cargo build --release
```## Usage
To run a Chip-8 program, you will need a Chip-8 ROM. Once you have a ROM, you can run it with the emulator like so:
```
./target/release/chip8
```![Screenshot 2023-07-21 005359](https://github.com/GKaszewski/chip8/assets/42281413/9767cc67-808b-4262-80b1-9719fe4812e8)
## Notes
Even though it passes cortexm0's test suite, this emulator is not perfect and does not pass flags test :/ (no idea why tho). There are still some bugs that need to be fixed. If you find any bugs, please open an issue.