Want to contribute to Rustual Boy? Fantastic! We could use your help!
Any contribution to/participation in the Rustual Boy project is expected to follow the Contributor Covenant code of conduct. Rustual Boy aims to be an open project where anyone can contribute, and upholding this code is essential to that goal!
If you're interested in contributing in any way, shape, or form, feel free to join our discord server, email @yupferris, file an issue or make a pull request. For larger things it's obviously favorable to have a chat about it beforehand; for smaller bugfixes etc feel free to just fork/PR.
Most of the core emulation/known game compatibility for Rustual Boy is nearing completion, but that doesn't mean the project is finished by any means! There are many areas where Rustual Boy can improve.
For a great place to start, check out our road to 1.0 ticket!
Some other general areas include:
Accuracy: Even though the emulator is capable of playing most commercial games (to our knowledge), that doesn't mean every nook and cranny of the Virtual Boy hardware is emulated, and it doesn't mean we've got all the details nailed down. For example, the CPU has a pipeline that we haven't even bothered with yet. Its floating point and bit string operations don't always take the same amount of cycles. And many of the hardware details of the virtual boy are completely unknown/unexplored! We're always super pumped to improve our collective understanding of this hardware oddity.
User interface: Currently, Rustual Boy expects a ROM as its first command line arg. That's it! No further options, nothing. Ideally, we'd have both an improved CLI and a GUI would be ideal. This could obviously use a bit of TLC!
Additional frontend(s) Integration with something like libretro/retroarch would be a HUGE win for us in terms of having a great user experience and getting people actually using this thing :)
Performance: As we've primarily focused on nailing the core emulation before spending too much time on this, the emulator is nowhere near as fast as it could be!
Documentation: Both inside and out, this project currently lacks any and all documentation, really.
Webdev: We've got a basic landing page/blog, but there's probably a lot more we could do there. See this repo for the current state of affairs.
Branding/logo: We have a logo, but it's pretty basic! Would be cool to take this even further.
Feature request/issue/bug report management: This project is so young, not even these details are hammered out yet! We'd love to get your input regarding this.
These are just some areas we thought of off the top of our heads, and there are surely other areas to improve as well!
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.