What is SNES-IDE?
SNES-IDE is an open-source, cross-platform Integrated Development Environment for creating Super Nintendo (SNES) games using pvsneslib. It simplifies the workflow for hobbyists and professionals, providing tools, templates, and automation for building, compiling, and testing SNES ROMs.
- Languages: C (main), 65816/Spc700 assembly
- Compilers: 816-tcc, wla-dx
- Emulator: bsnes, snes9x
- Cross-platform: Native on Windows, works on Linux (via Wine)
- All-in-one: Project templates, asset converters, build scripts
Features
- Integrated toolchain for C and assembly (816-tcc, wla-dx)
- Project templates for quick starts
- Batch shortcuts for editors, tools, and builds
- Cross-platform: Native on Windows, works on Linux via Wine
- Emulator integration (bsnes, snes9x)
- Audio & graphics tools for SNES assets
- Extensible and open-source
Installation Guide
Requirements
- Operating System: Windows 10+ or Linux (with Wine 9.0+)
- Architecture: x64, x86_64, or amd64 (not ARM)
- Minimum Resources: 2 GB RAM, 200 MB disk space
Dependencies
- Windows: No dependencies required.
- Linux: Only Wine installed and configured is required.
Building from Source Dependencies
- Windows:Python 3.8+
- Linux: Wine, Bash, and Python 3.8 or newer
Windows Installation
- Download the latest release from GitHub Releases.
- Decompress the .zip to a folder of your choice.
- Double-click
INSTALL.bat
to set up SNES-IDE and create shortcuts on your Desktop.
Linux Installation
- Download the .deb package from the latest release: GitHub Releases.
- Install Wine:
sudo apt install wine
- Install package:
sudo apt install snes-ide_xyz.deb
- Run using
snes-ide
command in terminal
Shortcuts Generated
- text-editor – Notepad++
- audio-tools – Convert and manage SNES-compatible audio assets
- graphic-tools – Convert and manage SNES-compatible graphics
- other-tools – Access additional utilities
- create-new-project – Scaffold a new project from a template
- compiler – Compile your project into a SNES ROM
- emulator – Launch your ROM in bsnes
- snes-ide – All-in-one shortcut, the main entry of SNES-IDE
Note: Shortcuts are created in Desktop/snes-ide/
on Windows, and as a command in /usr/local/bin in linux.
Getting Started
- Create a new project using the create-new-project shortcut or batch file.
- Edit your code in Notepad++ or your preferred editor.
- Add assets using audio-tools and graphic-tools.
- Compile your project with the compiler shortcut.
- Test your ROM in an emulator using the emulator shortcut.
- Or use snes-ide for an all-in-one experience.
Shortcuts Generated
- text-editor – Notepad++ or your preferred editor
- audio-tools – Convert and manage SNES-compatible audio assets
- graphic-tools – Convert and manage SNES-compatible graphics
- other-tools – Access additional utilities
- create-new-project – Scaffold a new project from a template
- compiler – Compile your project into a SNES ROM
- emulator – Launch your ROM in bsnes
- snes-ide – All-in-one shortcut, main entry of SNES-IDE
Project Structure
SNES-IDE/ ├── libs/ │ └── notepad++/ ├── tools/ │ ├── audio-tools.exe │ ├── gfx-tools.exe │ ├── externTools.exe │ ├── create-new-project.exe │ └── ... ├── snes-ide.exe ├── INSTALL.bat ├── ...
Shortcuts are created in Desktop/snes-ide/
on Windows, or as a desktop entry on Linux.
Source code and assets are managed in your project folder.
Building from Source
- Clone the repo:
git clone https://github.com/BrunoRNS/SNES-IDE.git
- Install dependencies:
- Windows: Python 3.8+
- Linux: Wine, Bash, Python 3.8+
- Follow the build instructions in the docs.
- After building, run the installer as described in the Installation Guide.
Frequently Asked Questions
- Can I use my own editor? Yes! Notepad++ is provided, but you can use any editor.
- Does it work on Mac? Not officially, but you may try using Wine or a VM.
- Where are my ROMs? Compiled ROMs are usually in your project folder or a
Roms/
subdirectory. - How do I add new tools? Place them in the
tools/
directory. They must be a Python or .NET tool. - How do I reinstall? Delete the
.installed
file and rerunsetup.sh
. - How do I troubleshoot? Check terminal output for errors, ensure dependencies are installed, and see the Troubleshooting section in the docs.
Contributing
- Read Code of Conduct and Pull Request Guidelines.
- 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.
About & Credits
SNES-IDE is released under the GNU GPL v3 license.
Any game you create with this engine is entirely yours.
This IDE is not affiliated with, nor authorized, endorsed or licensed by Nintendo Corporation or its subsidiaries.
Special Thanks
- @Alekmaul and the pvsneslib team
- All bsnes team
- Notepad++ team
- @angelo-wf for SnesJs
- schismtracker team
- @nesdoug for M8TE
- @AlekIII for web-wav-converter
- @luizomf for programming mentorship
- Family, friends, and everyone who contributed in any way!
Contact
- GitHub: BrunoRNS/SNES-IDE
- Issues & Discussions: Use the GitHub repository to report bugs or ask questions.