Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aryaveersr/chip8
A Chip-8 emulator written in rust!
https://github.com/aryaveersr/chip8
chip8 emulator rust
Last synced: 13 days ago
JSON representation
A Chip-8 emulator written in rust!
- Host: GitHub
- URL: https://github.com/aryaveersr/chip8
- Owner: AryaveerSR
- License: mit
- Created: 2023-08-03T10:30:47.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-12-08T14:08:57.000Z (about 1 year ago)
- Last Synced: 2023-12-08T15:24:30.037Z (about 1 year ago)
- Topics: chip8, emulator, rust
- Language: Rust
- Homepage:
- Size: 75.2 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# `Chip-8 Emulator`
## Yet another chip-8 emulator (in rust)
[![MIT](https://img.shields.io/crates/l/bitvec.svg?style=for-the-badge)](#License)
1. [About](#about)
2. [Features](#features)
3. [File Structure](#file-structure)
4. [Resources](#resources)
5. [Screenshots](#screenshots)
6. [License](#license)## About
This is my attempt at making a `Chip-8` emulator in rust. Chip-8 is apparantly the "Hello, World!" of emulators.
## Features
- Implements all (original) CHIP-8 instructions
- A simple commandline tool to launch the emulator, with optional configuration## File Structure
- `src/`
- [`main.rs`](src/main.rs): Entry point for the application. Contains code to interface with the GUI library.
- [`lib.rs`](src/lib.rs): Implementation of the CHIP-8 Emulator.
- [`structs.rs`](src/structs.rs): Contains all other structs used, including QOL and multi-threading ones.
- [`helpers.rs`](src/helpers.rs): Helper functions.
- `roms/`
- `tests`: ROMs to test the implementation of the emulator. Taken from https://github.com/Timendus/chip8-test-suite
- `games/`: Games :-)PS: I think I overcommented the code a bit
## Resources
- http://devernay.free.fr/hacks/chip8/C8TECH10.HTM#3.1
A concise reference for instructions
- https://tobiasvl.github.io/blog/write-a-chip-8-emulator
Covers most ambiguous cases
- https://github.com/Timendus/chip8-test-suite
Includes test ROMs to verify your implementation## Screenshots
- IBM Logo
![image](https://github.com/AryaveerSR/Chip8/assets/51504825/449355e3-ef4e-42eb-bbed-7ecb791fab3b)- Flight Runner
![image](https://github.com/AryaveerSR/Chip8/assets/51504825/daa79e42-7147-4ecd-af97-d6fb525605ef)- Keypad
![image](https://github.com/AryaveerSR/Chip8/assets/51504825/6962f0e2-8671-4258-b1e4-46746ac7b25c)## License
This project is licensed under the [MIT License](https://opensource.org/licenses/MIT).
The test ROMs under [/roms/tests](roms/tests/) are sourced from https://github.com/Timendus/chip8-test-suite and are accordingly licensed under the [GNU GPL v3](https://github.com/Timendus/chip8-test-suite/blob/main/LICENSE).