Skip to content
/ feboy Public
forked from Chiplis/IronBoy

A Gameboy emulator written in Rust as both a learning exercise and a love letter to the console that got me into gaming.

Notifications You must be signed in to change notification settings

SpeckyYT/feboy

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

feboy

A Gameboy emulator written in Rust as both a learning exercise and a love letter to the console that got me into gaming.

I decided to focus only on the original Game Boy (DMG) to achieve the highest degree of accuracy that I possibly can. The repository also contains more than 100 different test ROMs to verify correctness and detect any regressions.


Building

cargo build --release

The emulator has been built and executed without issues on Windows, Linux and macOS.


Testing

cargo test --release

This should execute all available test ROMs and save the rendered output for each of them in the test_output folder.


Running

Usage:
  cargo run --release -- [OPTIONS] <ROM_FILE>

Arguments:
  <ROM_FILE>  GameBoy ROM file to input

Options:
      --headless               Runs the emulator without a backing window, used during test execution
      --cold-boot              Boot title screen even when opening save file
      --fast                   Start emulator with unlocked framerate
      --save-on-exit           Automatically save state before exiting emulator
      --boot-rom <BOOT_ROM>    Use specified boot ROM
  -h, --help                   Print help information
  -V, --version                Print version information

Controls

Z -> A
C -> B
Enter (PC) / Return (Mac) -> Start
Backspace (PC) / Delete (Mac) -> Select

S -> Save
F -> Toggle frame limiter on/off
Esc -> Close

Missing features

  • Sound

  • Full MBC support (as of now only MBC0, MBC1 and MBC3 have been implemented)

About

A Gameboy emulator written in Rust as both a learning exercise and a love letter to the console that got me into gaming.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 99.2%
  • Assembly 0.8%