Logo

0x5a.live

for different kinds of informations and explorations.

GitHub - mvdnes/rboy: A Gameboy Emulator in Rust

A Gameboy Emulator in Rust. Contribute to mvdnes/rboy development by creating an account on GitHub.

Visit SiteGitHub - mvdnes/rboy: A Gameboy Emulator in Rust

GitHub - mvdnes/rboy: A Gameboy Emulator in Rust

A Gameboy Emulator in Rust. Contribute to mvdnes/rboy development by creating an account on GitHub.

Powered by 0x5a.live 💗

RBoy

A Gameboy Color Emulator written in Rust

QuickStart

You can clone this repository and build it using either the make command or cargo build --release. Running the emulator can be done either via cargo run --release, or by running the generated binary found in 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

A Gameboy Colour emulator written in Rust

Usage: rboy [OPTIONS] <filename>

Arguments:
  <filename>  Sets the ROM file to load

Options:
  -s, --serial         Prints the data from the serial port to stdout
  -p, --printer        Emulates a gameboy printer
  -c, --classic        Forces the emulator to run in classic Gameboy mode
  -x, --scale <scale>  Sets the scale of the interface. Default: 2
  -a, --audio          Enables audio
      --skip-checksum  Skips verification of the cartridge checksum
      --test-mode      Starts the emulator in a special test mode
  -h, --help           Print help
  -V, --version        Print version

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

Test mode

The test mode, activated with the --test-mode flag, provides some functionality for running GBEmulatorShootout. This is still under development.

Special thanks to

Rust Resources

are all listed below.

Resources

listed to get explored on!!

Made with ❤️

to provide different kinds of informations and resources.