A Gameboy emulator written in Rust
Currenly going through a fresh rewrite with some better knowledge and another brain! Stay tuned!
Barnacleboy is an emulator for the original Nintendo(c) Gameboy(tm) also known as the DMG Gameboy in specification sheets. The goal of this emulator is to emulate the original Gameboy hardware as accurately as possible and learn along the way!
For those wondering about the name, here's the process I went through when deciding on it:
Rust -> users are called Rustaceans -> play on crustacean -> what other crustaceans are there other than crabs? -> Barnacles -> merge with Gameboy and blam, you got yourself the name Barnacleboy
Hardware emulation has been a topic of my interest for quite a long time and is something I find very exciting to see happen. After watching a lot of yupferris's Rustendo64 streams, I thought that emulating a simpler piece of hardware would be a great experience for learning a lot more about Rust while also giving myself a project to work on in the long term.
tl;dr: because I can. :)
I chose to write Barnacleboy in Rust because its been the first programming language that I've gotten quite excited in the past few years. I think the combination of a younger systems language that tries to improve on the issues of the last many years in a fairly unqiue way really piqued my interest in the language. The fact that it is memory safe helps to ensure there are as many minimal issues with that as possible and I think will help the project quite a bit.
Barnacleboy is licensed under a dual MIT and Apache 2.0 license.
Awesome! The project is still in its infancy stage, so a lot of work needs to be done. If you're interested in contributing to the project, feel free to submit an issue or even a pull-request if you find something isn't quite right or shoot me a message on Discord (you can find me in the Rust Discord)
TODO