https://github.com/danielgatis/chip8

A CHIP-8 emulator for Rust in ~350 LOC.

https://github.com/danielgatis/chip8

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.4%) to scientific vocabulary

Keywords

chip-8 emulation emulator rust
Last synced: 5 months ago · JSON representation

Repository

A CHIP-8 emulator for Rust in ~350 LOC.

Basic Info
  • Host: GitHub
  • Owner: danielgatis
  • License: mit
  • Language: Rust
  • Default Branch: master
  • Homepage:
  • Size: 1 MB
Statistics
  • Stars: 10
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
chip-8 emulation emulator rust
Created over 4 years ago · Last pushed over 4 years ago
Metadata Files
Readme License

README.md

chip8

An implementation of the CHIP-8 for Rust in ~350 lines of code.

What is CHIP-8?

CHIP-8 is a virtual machine (along with a supporting programming language). Since the CHIP-8 VM does not expose the fact that it's running on a host CPU, in theory the VM could be translated to physical hardware.

The CHIP-8 VM was used in the late '70s on some computers such as the Telmac 1800 and on some calculators in the 1980's.

CHIP-8 was mainly used as a gaming platform, and today you can play lots of games like Pong and Breakout on it.

Running a ROM

Given a CHIP-8 ROM, you can start the ROM in the emulator like so:

bash cargo run romfile.ch8

Where to get a ROM?

Here.

Information on the emulator

The input is mapped similarly to most other CHIP-8 emulators I have come across:

Row 1|Row 2|Row 3|Row 4 -----|-----|-----|----- 1 - 1|2 - 2|3 - 3|C - 4 4 - Q|5 - W|6 - E|D - R 7 - A|8 - S|9 - D|F - 4 A - Z|0 - X|B - C|F - V

The screen runs at the default resolution of 64x32.

References

  • Cowgod's Chip-8 Technical Reference: http://devernay.free.fr/hacks/chip8/C8TECH10.HTM
  • CHIP-8 Wikipedia Page: https://en.wikipedia.org/wiki/CHIP-8
  • Reddit r/EmuDev commmunity: https://reddit.com/r/EmuDev

License

Copyright (c) 2021-present Daniel Gatis

Licensed under MIT License

Buy me a coffee

Liked some of my work? Buy me a coffee (or more likely a beer)

Buy Me A Coffee

Owner

  • Name: Daniel Gatis
  • Login: danielgatis
  • Kind: user
  • Location: Recife - PE

GitHub Events

Total
  • Watch event: 4
Last Year
  • Watch event: 4

Issues and Pull Requests

Last synced: over 1 year ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels