SNES-IDE is an open-source, cross-platform Integrated Development Environment (IDE) designed for creating SNES games using pvsneslib.
It works natively on Windows, Linux Ubuntu and macOS, and provides tools, templates, and automation for building, compiling, and testing SNES ROMs.
- Languages: C, C#, Assembly and Java.
- Compilers: 816-tcc and wla-dx from pvsneslib. Dntc from DotnetSnes. JavaSnes from javasnes.
- Main Library: pvsneslib version 4.4. DotnetSnes version 0.2. Javasnes rolling release.
- Emulator: bsnes and lakesnes for testing.
- Cross-platform: Works natively on Windows, Linux Ubuntu and macOS.
- Build from Source: Full support for building all tools and the IDE itself from source.
- Cross-Platform: Develop on Windows, macOS or Linux.
- All-in-One: Integrated toolchain, asset converters, and project templates.
- Easy Start: One-click project creation and build scripts.
- Open Source: Free, extensible, and community-driven.
- Learn & Create: Ideal for learning C and SNES hardware, with lots of examples and documentation.
First, check the system requirements:
- Operational System
- Windows 10+ x64.
- MacOS BigSur+ arm64.
- Linux Ubuntu Noble 24.04+ (or based) x64.
- Free Disk Space
- Minimum: 960 MiB
- Recommended: 5 GiB
- Memory
- Minimum: 1 GiB
- Recommended: 4 GiB
Download the latest release from SNES-IDE releases for your specific OS.
- Download the Windows version from SNES-IDE releases.
- The Windows version is distributed as a zip file, which you can extract and run the
SNES-IDE.exefile to start.
- Download the Linux version from SNES-IDE releases.
- The Linux version is distributed as an AppImage, which you can run directly from the downloaded file.
- Download the macOS version from SNES-IDE releases.
- The macOS version is distributed as a zip file, which you can extract and run the
SNES-IDE.appexecutable to start.
-
C Language Tutorials:
-
SNES Hardware Basics:
-
Examples:
- Read CODE_OF_CONDUCT.md and CONTRIBUTING.md.
- Fork the repo and create a feature branch.
- Write clear, modular code with comments.
- Add or update tests as needed.
- Submit a pull request with a descriptive title and summary.
- Open issues or discussions for bugs, ideas, or questions.
SNES-IDE is released under the GNU GPL v3 license.
Any game you create with this engine is entirely yours.
Check the licenses of external libraries/tools for their terms.
This IDE is not affiliated with, nor authorized, endorsed or licensed by Nintendo Corporation or its subsidiaries. No Nintendo-licensed or original/modified SNES ROMs are included in this repository.
Thanks to all people who made SNES-IDE possible!
- @LucianoCSiqueira for the help in javasnes and keeping me motivated to continue updating SNES-IDE
- @Atomic-germ for the build refactor, automatized tests and build workflows
- @alekmaul for pvsneslib
- @KallDrexx for DotnetSnes
- @angelo-wf for lakesnes
- Bsnes team for bsnes emulator
- Schismtracker team for the schism tracker
- Libresprite team for the sprite editor
- Tiled for the map engine and tmx editor
- Zulu-8 for the support for OpenJDK8, JFX and JRE-8 (javasnes dependencies)
- And everyone who contributed in anyway with this project!
If you have any questions or want to help, open an issue or discussion on GitHub!