Code Monkey home page Code Monkey logo

chip8-emu's Introduction

Chip8-emu

Description

A simple Chip 8 emulator written in Rust. The goals are being simple, straight-forward, and easy to understand instead of raw performance. Documentation will include information about the Chip 8, the emulator's structure, and other related pieces.

Building and Running

To simply run the program without any special configuration:

  1. Download SDL2 and cargo and install them onto your computer.

  2. Download or git clone the codebase onto your computer.

  3. cd into the project directory.

  4. Run cargo run [path to rom].

To build an executable, run cargo build instead.

The number of instructions executed per second can be limited with the --fps [max number] runtime argument.

Different debug logs can be generated by enabling different features at compile time with the --features="[features list]" flag:

  • If log_frames is enabled, every time the screen is drawn the emulator will also write the screen buffer to stdout in bit form.

  • If log_fps is enabled, after every instruction timing information will be written to stdout.

  • If log_level=error is enabled, error information will be logged to stderr.

  • If log_level=debug is enabled, all previous flags will be enabled and verbose instruction information will be printed to stdout after every instruction execution.

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.