The 86Box project welcomes contributions from anyone, as long as some basic guidelines are followed.
In order to accept new emulated hardware or a request thereof, the following criteria must be met:
- A ROM must be available and be added to our ROM repository
- Documentation must be available or it must be feasible to reverse engineer with a reasonable amount of time and effort
- It must be feasible to implement with a reasonable amount of time and effort
- It has to fall inside the project's scope
- The build guide must be updated on any changes to the project's dependencies
- The author must understand what it actually does and while using AI to assist with coding is fine, pull requests written solely by AI are more likely than not to be rejected
- Our coding style must be followed
- The code must either work well enough right away under the most common reasonable conditions and/or the author be willing to fix any reported bugs
- The code must not introduce any new warnings produced during compilation
- The implementation must be finished, ie. no pull requesting half-done stuff and expecting us to finish it for you
- The code must be technically correct, getting the correct output is not enough - it must be achieved the correct way if at all humanly possible
If you're unsure about any aspect of contributing, don't hesitate to get in touch via any of our official communities linked in our readme or GitHub Discussions.