javasnes — a rolling-release Java library for building SNES games. Continuously updated and evolving, this project aims to make SNES development in Java fast, modular, and CI-friendly. Works smoothly with SNES-IDE to compile the generated C code and ship playable ROMs.
Rolling release — no fixed versions for most changes; the library is updated frequently with improvements, fixes, and new features. Use the Gradle coordinates or the wrapper to pin a specific Gradle run if you need reproducible builds. Expect nightly-ish updates and incremental improvements.
- Stability: APIs and functional core features.
- Update cadence: High — small, frequent commits and improvements.
- Recommended for: Developers who want the latest features and can adapt to API changes; contributors and experimental game projects.
- Java 8 or newer
- SNES-IDE or PVSNESLIB (installed and configured to compile the generated C output)
-
Clone the repo:
git clone https://github.com/BrunoRNS/javasnes.git
-
Build with Gralde Wrapper:
- Unix/macOS:
./gradlew build
- Windows:
gradlew.bat
- Unix/macOS:
-
Move generated library and example outputs to your SNES-IDE project and follow SNES-IDE build steps to produce the final ROM.
- Use the latest snapshot for new features; pin a commit or artifact if you need stability for releases.
- Keep your SNES-IDE workflow isolated per project to avoid accidental global changes.
- Check the examples folder for sample game setups and minimal main-class templates.
Contributions are welcome. Preferred workflow:
- Fork the repository.
- Open a topic branch for your change.
- Keep changes focused and add tests where appropriate.
- Submit a pull request with a clear summary of the change and any migration notes.
Please follow the code style and add a short entry to the changelog for non-trivial changes.
This project uses continuous delivery of improvements. Releases are published as rolling snapshots; tags will be created for major milestones only. If you need semantic versioning for distribution, pin a tagged release or use your CI to snapshot a reproducible artifact.
Open issues for bugs, feature requests, and design discussions. Use PR comments for implementation details. Maintainers will triage frequently but prioritize breaking-change coordination and CI green builds.
Released under GPL v3. See COPYING for full terms.