MarkMcCaskey / rusty-boy

Gameboy emulator in Rust
Apache License 2.0
27 stars 5 forks source link
debugger emulator gameboy gameboy-emulator rust

rusty-boy

Build Status

A Gameboy emulator and related tools in Rust

It's currently in a very unstable state.

Made live on twitch.tv/maoeurk (Unfortunately I'm not currently streaming, but I'd like to resume in the near future)

WARNING

V0.1.1 introduces a lot of instability and has many regressions

Don't expect it to work outside of a development context at this stage.

Contributions welcome!

About

Project done for fun and learning about Rust and project management.

Memory visualization inspired by ICU64 / Frodo Redpill v0.1

V0.1.0: image of memory visualization of Tetris. tetris v0.1.0

V0.1.0: Game, Popup, running with the ncurses debugger. popup debugger v0.1.0

State of the project

Things came up and I stopped developing this and streaming. The primary reason being that the change from 0.1.0 to 0.2.0 was too large and became unmanageable.

Current goals:

Non goals:

= Be a better product than existing emulators (I'm sure there are much nicer emulators for playing games. Usability is not a primary goal at this time)

Building

First install libsdl2-dev. If you're new to Rust, install rustup to install rustc and cargo.

You may need to install ncurses libraries to compile this project. TODO: test and update this

Then just run:

cd rusty-boy
cargo install

and you should be up and running.

Running

To run, run the following command:

cargo run --release -- /path/to/rom

To run with the TUI debugger, run:

cargo run --release --features=debugger -- /path/to/rom -d

To run with the debugger, run:

cargo run --release --features="debugger" -- /path/to/rom -d