{"id":25376671,"url":"https://github.com/brunorns/snes-ide","last_synced_at":"2025-07-26T10:15:41.415Z","repository":{"id":249570293,"uuid":"831862661","full_name":"BrunoRNS/SNES-IDE","owner":"BrunoRNS","description":"Make games using pvsneslib with ease","archived":false,"fork":false,"pushed_at":"2025-07-06T19:56:33.000Z","size":89385,"stargazers_count":9,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-06T20:43:34.773Z","etag":null,"topics":["game-development","ide","python","python3","retrogaming","snes","snes-programming"],"latest_commit_sha":null,"homepage":"https://brunorns.github.io/SNES-IDE/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BrunoRNS.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-07-21T20:37:29.000Z","updated_at":"2025-07-06T19:56:36.000Z","dependencies_parsed_at":"2025-06-10T18:28:43.282Z","dependency_job_id":"045b2a41-44f2-4932-bb64-4a74efe51877","html_url":"https://github.com/BrunoRNS/SNES-IDE","commit_stats":null,"previous_names":["brunorns/snes-ide"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/BrunoRNS/SNES-IDE","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrunoRNS%2FSNES-IDE","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrunoRNS%2FSNES-IDE/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrunoRNS%2FSNES-IDE/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrunoRNS%2FSNES-IDE/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BrunoRNS","download_url":"https://codeload.github.com/BrunoRNS/SNES-IDE/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrunoRNS%2FSNES-IDE/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267149782,"owners_count":24043461,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-26T02:00:08.937Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["game-development","ide","python","python3","retrogaming","snes","snes-programming"],"created_at":"2025-02-15T04:37:23.444Z","updated_at":"2025-07-26T10:15:41.409Z","avatar_url":"https://github.com/BrunoRNS.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \u003cimg src=\"./assets/icons/icon.png\" alt=\"SNES-IDE\" width=\"46\" style=\"vertical-align:middle;margin-right:5px;\"\u003e SNES-IDE: Your Journey into Snes Game Development\n\n## What Is SNES-IDE?\n\nSNES-IDE is an open-source, cross-platform Integrated Development Environment (IDE) designed for creating SNES games using [pvsneslib](https://github.com/alekmaul/pvsneslib).  \nIt works natively on Windows and is fully supported on Linux via Wine, with scripts and automation for both platforms.\n\n- **Languages:** C (main) and some assembly (65816 and spc700).\n- **Compilers:** [816-tcc](https://github.com/alekmaul/tcc) and [wla-dx](https://github.com/vhelin/wla-dx) from pvsneslib.\n- **Main Library:** [pvsneslib](https://github.com/alekmaul/pvsneslib) version 4.3.\n- **Emulator:** [bsnes](https://github.com/bsnes-emu/bsnes) for testing.\n- **Cross-platform:** Native on Windows, works on Linux (via Wine) with dedicated scripts.\n- **Build from Source:** Full support for building all tools and the IDE itself from source.\n\n## Why Choose SNES-IDE?\n\n- **Cross-Platform:** Develop on Windows or Linux (via Wine).\n- **All-in-One:** Integrated toolchain, asset converters, and project templates.\n- **Easy Start:** One-click project creation and build scripts.\n- **Open Source:** Free, extensible, and community-driven.\n- **Learn \u0026 Create:** Ideal for learning C and SNES hardware, with lots of examples and documentation.\n\n## Installation Requirements\n\n- **Operating System:** Windows 10+ or Linux Debian/Ubuntu (with Wine 9.0+).\n- **Architecture:** x64, x86_64, or amd64 (not compatible with ARM).\n- **Minimum Resources:** 2 GB RAM, 200 MB disk space.\n\n### Dependencies\n\n- **Dependencies:**\n  - **Windows:** OpenGL 3.2+ video driver or Direct3D 9.0.\n  - **Linux:** For linux, only Wine 9.0+ installed and configured is previously required.\n\n- **Building from Source Dependencies:**\n  - **Windows:** OpenGL 3.2+ video driver or Direct3D 9.0, Python 3.8 or newer, pip and PyInstaller;\n  - **Linux:** Bash, Wine 9.0+ and Python 3.8 or newer;\n\n## Getting Started\n\n### 1. Download \u0026 Install\n\n- **Windows:**\n  1. Download the latest release from [GitHub Releases](https://github.com/BrunoRNS/SNES-IDE/releases/latest).\n  2. Decompress the .zip to a folder of your choice.\n  3. Double-click `INSTALL.bat` to set up SNES-IDE and create shortcuts on your Desktop.\n\n- **Linux:**\n  1. Download the .deb package from the latest release: [GitHub Releases](https://github.com/BrunoRNS/SNES-IDE/releases/latest).\n\n  2. Install Wine:  \n\n     `sudo apt install wine`\n\n  3. Install SNES-IDE:\n\n     ```sh\n     sudo apt install snes-ide_xyz.deb\n     ```\n\n  4. Execute `snes-ide` in the terminal.\n\n### 2. Building from Source\n\n- Clone the repo:  \n  `git clone https://github.com/BrunoRNS/SNES-IDE.git`\n- Follow the [build instructions](./build/BUILDING_FROM_SOURCE.md) to build all tools and the IDE from source.\n- After building, run the installer as above.\n\n### 3. Shortcuts Generated\n\nAfter installation, these shortcuts are created:\n\n- **text-editor** – [Notepad++](https://github.com/notepad-plus-plus/notepad-plus-plus) .\n- **audio-tools** – Convert and manage SNES-compatible audio assets.\n- **graphic-tools** – Convert and manage SNES-compatible graphics.\n- **other-tools** – Access additional utilities.\n- **create-new-project** – Scaffold a new project from a template.\n- **compiler** – Compile your project into a SNES ROM.\n- **emulator** – Launch your ROM in bsnes.\n\n- **snes-ide** – All in one shorcut, the main entry of snes-ide, here you can basically choose which tool you want to start.\n\n\u003e **Note:** Shortcuts are created in `Desktop/snes-ide/` on Windows, or as a desktop entry on Linux if its choosed to while building from source.\n\n## How can I use it?\n\nOnce installed, you can create and build SNES games easily:\n\n1. Use **create-new-project** to start a new project.\n2. Edit your code with **text-editor** or any editor you like.\n3. Add assets using **audio-tools** and **graphic-tools** and **other-tools**.\n4. Compile with **compiler**.\n5. Test your ROM with **emulator**.\n6. Or run all in one with **snes-ide**.\n\n## Tutorials and Documentation\n\n- **C Language Tutorials:**\n  - [Giraffe Academy C Tutorial](https://youtu.be/KJgsSFOSQv0)\n  - [C in 10 Minutes](https://youtu.be/dTp0c41XnrQ)\n\n- **SNES Hardware Basics:**  \n  [retrovgames](https://retrovgames.com/snes-hardware-explained/)\n\n- **Getting Started:**  \n  [SNES basics](./docs/snes-basic/README.md)\n\n- **Pvsneslib/SNES-IDE Tutorial:**  \n  [Intermediary](./docs/pvsneslib/README.md)\n\n- **Examples:**\n  - [Hello World template](./tests/template/)\n  - [Source examples](./docs/examples/)\n  - [Example ROMs](./libs/bsnes/Roms/examples/)\n\n\u003e **Note:** Data files (images, sounds, etc.) must be converted using the provided tools before compiling. Remember that we will use '#include \"snes.h\"' in this tutorial, because it is in the same directory, and not '#include \u003csnes.h\u003e' like when we use '#include \u003cstdio.h\u003e' and other global libraries.\n\n## How SNES-IDE Works\n\n- Uses batch files (Windows) and shell scripts (Linux) as shortcuts to launch editors, tools, and build scripts.\n- Most automation is done in Python; some tools are in C#, C, JavaScript, assembly, and Julia.\n- The goal is to make pvsneslib easy to use on Windows and Linux, with minimal setup.\n- All-in-one: No need for extra software to create a complete SNES game.\n\n## Contributing\n\n- Read [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md) and [PULL_REQUEST_RULES.md](./PULL_REQUEST_RULES.md).\n- Fork the repo and create a feature branch.\n- Write clear, modular code with comments.\n- Add or update tests as needed.\n- Submit a pull request with a descriptive title and summary.\n- Open issues or discussions for bugs, ideas, or questions.\n\n## Docs\n\nSee the [complete documentation](./docs/SNES-IDE.docs.md) for more details about SNES-IDE, including advanced usage, architecture, and troubleshooting.\n\n## License\n\nSNES-IDE is released under the GNU GPL v3 license.  \nAny game you create with this engine is entirely yours.  \nCheck the licenses of external libraries/tools for their terms.  \nThis 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.\n\n## Special Thanks\n\nThanks to all people who made SNES-IDE possible!\n\n- [@Alekmaul and the pvsneslib team](https://github.com/alekmaul/pvsneslib)\n- [All bsnes team](https://github.com/bsnes-emu/bsnes)\n- [Notepad++ team](https://github.com/notepad-plus-plus/notepad-plus-plus)\n- [@angelo-wf for SnesJs](https://github.com/angelo-wf/SnesJs)\n- [schismtracker team](https://github.com/schismtracker/schismtracker)\n- [@nesdoug for M8TE](https://github.com/nesdoug/M8TE)\n- [@AlekIII for web-wav-converter](https://github.com/AlexIII/web-wav-converter)\n- [@luizomf for programming mentorship](https://github.com/luizomf)\n- Family, friends, and everyone who contributed in anyway with this project!\n\n---\n\nIf you have any questions or want to help, open an issue or discussion on GitHub!\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrunorns%2Fsnes-ide","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrunorns%2Fsnes-ide","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrunorns%2Fsnes-ide/lists"}