Code Monkey home page Code Monkey logo

rboy's Introduction

RBoy

Build Status

A Gameboy Color Emulator written in Rust

QuickStart

To use this emulator you will need to find out alsa development libraries for your system on linux. And then you can clone this repository and build it using either the make command or cargo build --release. The generated binary should be placed under target/release. You can copy the executable named rboy or rboy.exe to some sort of binary directory such as ~/.local/bin/ in linux or something under the PATH in windows.

Then you can explore the ability of the emulator by rboy --help. Which outputs

rboy 0.1
Mathijs van de Nes
A Gameboy Colour emulator written in Rust

USAGE:
    rboy [FLAGS] [OPTIONS] <filename>

FLAGS:
    -a, --audio            Enables audio
    -c, --classic          Forces the emulator to run in classic Gameboy mode
    -h, --help             Prints help information
    -p, --printer          Emulates a gameboy printer
    -s, --serial           Prints the data from the serial port to stdout
        --skip-checksum    Skips verification of the cartridge checksum
    -V, --version          Prints version information

OPTIONS:
    -x, --scale <scale>    Sets the scale of the interface. Default: 2

ARGS:
    <filename>    Sets the ROM file to load

Now you can look below for the Keybindings section below.

Keybindings

Gameplay Keybindings

Key on Keyboard Emulator Key
Z A
X B
Up/Down/Left/Right Up/Down/Left/Right
Space Select
Return/Enter Start

General Keybindings

Key on Keyboard Emulator Action
1 Switch to 1:1 scale
R Restore scale given on command line
Left Shift (Hold) Unrestricted Speed Mode
T Change pixel interpolation

Implemented

  • CPU
    • All instructions correct
    • All timings correct
    • Double speed mode
  • GPU
    • Normal mode
    • Color mode
  • Keypad
  • Timer
  • Audio
  • MMU
    • MBC-less
    • MBC1
    • MBC3 (with RTC)
    • MBC5
    • save games
  • Printing

Special thanks to

rboy's People

Contributors

mvdnes avatar freefull avatar jturcotte avatar matthewjohn avatar amaank404 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.