Giter Club home page Giter Club logo

ch8-rs's Introduction

ch8-rs

CHIP-8 emulator that also supports Super-CHIP8 and XO-CHIP (with audio). The main purpose of this project is for me to learn a bit about Rust. Different quirks are not yet implemented and only a bunch of roms are tested.

Example

cargo run --release -- "roms/xochip/superneatboy.ch8" -d --colors 100010,E6E6FA,FF1493,FF1493 --fps-limit 60 --ips-limit 100000

Usage

$ cargo run --release -- --help

ch8-rs 0.1.1
Moritz Schulte <[email protected]>
Chip 8 emulator

USAGE:
    ch8-rs [FLAGS] [OPTIONS] <rom_path>

FLAGS:
    -d                      Turn debugging information on
    -h, --help              Prints help information
        --no-skip-frames    Do not skip frames - Frames are skipped by default
    -p, --perf-counter      Show performance counter
    -V, --version           Prints version information

OPTIONS:
        --colors <COLORS>    Four or two colors provided as four or two 6 digit hex numbers separated with a comma. For
                             chip8 and super-chip8 programs, two colors can be specified, representing the background
                             and foreground colors.
                             Example: 000000,FFFFFF sets the background color to black and the foreground color to
                             white.
                             For xo-chip programs, four colors can be provided for the four possible combinations of
                             values in the two drawing planes.
                             Example: 000000,FF0000,00FF00,0000FF sets the colors for "background, plane1, plane2, both
                             planes blended" or in other words: it sets the "background, fill1, fill2, blend" colors
                              [default: 00AA4400,00FFAA00,00AAAAAA,00000000]
        --fps-limit <FPS>    Limit loop that polls input and draws output
        --ipf-limit <IPF>    Limits instructions per frame
        --ips-limit <IPS>    Limits instructions per second

ARGS:
    <rom_path>    Path to rom file

Issues

  • The fps limiter is unprecise under windows

Requirements

Rust

This program targets the latest stable version of Rust 1.48.0 or later.

ch8-rs's People

Contributors

mschulteg avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.