Patches The Binding of Isaac: Rebirth to run on the original 3DS, with lower memory use and controls for its Circle Pad and buttons.
Version 0.1.0 includes the RC1 patch set, tested in Azahar and on a physical Old 3DS. You need your own European v2.4.0 CIA and a console running CFW. No game files or title seeds are included.
- Use a 64-bit x86 Windows or Linux PC.
- Allow about 3 GB of temporary space plus 500 MB for the output, in addition to your original CIA.
- Start with the original base-game CIA, including its electronic manual. Updates, DLC, other versions, and already-patched CIAs are not supported.
- The console needs CFW with signature patches.
| Property | Supported reference |
|---|---|
| Region | Europe |
| Version | v2.4.0, CIA version 2112 |
| Product code | KTR-N-CBRP |
| Title ID | 000400000F700900 |
Download the Linux .tar.gz or Windows .zip from Releases, extract it, and open a terminal in the extracted folder. Keep the tools folder beside the executable. Release builds target Ubuntu 24.04 or newer and Windows 10/11, both x64. Linux needs the OpenSSL 3 runtime (libssl3t64 on Ubuntu 24.04).
To build from source instead, download Code > Download ZIP or clone the repository:
git clone https://github.com/s4ammy/3DSTBOI.git
cd 3DSTBOIsudo apt update
sudo apt install build-essential cmake ninja-build libssl-dev ca-certificates curl
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DISAAC3DS_FETCH_TOOLS=ON
cmake --build build
cd buildInstall Visual Studio 2022 Build Tools with Desktop development with C++, the Windows SDK, and CMake tools. Open Developer PowerShell for VS 2022 in the source folder:
cmake -S . -B build -G "Visual Studio 17 2022" -A x64 -DISAAC3DS_FETCH_TOOLS=ON
cmake --build build --config Release
cd build\ReleaseISAAC3DS_FETCH_TOOLS=ON downloads pinned copies of ctrtool and makerom and checks their archive hashes. It does not download the game or its seed. MinGW-w64 is also supported. See dependencies.
Run the remaining commands from the folder containing the patcher executable.
Copy your original CIA into that folder as Isaac.cia, or substitute its quoted path below. The input is never modified.
Download the encrypted title's 16-byte seed from Nintendo:
curl --fail --location --output "title-seed.bin" "https://kagiya-ctr.cdn.nintendo.net/title/0x000400000F700900/ext_key?country=GB" &&
wc -c < "title-seed.bin"curl.exe --fail --location --output "title-seed.bin" "https://kagiya-ctr.cdn.nintendo.net/title/0x000400000F700900/ext_key?country=GB"
if ($LASTEXITCODE -ne 0) {
throw "Seed download failed. See Troubleshooting."
}
(Get-Item ".\title-seed.bin").LengthThe size must be 16. You can also download it in a browser and save the binary file as title-seed.bin. Do not copy its displayed contents into a text file.
- Already have a raw seed? Use
--seed-file "path/to/seed.bin". - Have a seed database? Replace that option with
--seeddb "path/to/seeddb.bin", or putseeddb.binbeside the CIA or patcher. - Have an already-decrypted original CIA? Omit the seed option.
Use either --seed-file or --seeddb, not both. Minecraft's seed will not work for Isaac.
Run an optional dry run first:
./isaac3ds-patcher "Isaac.cia" --seed-file "title-seed.bin" --dry-run.\isaac3ds-patcher.exe "Isaac.cia" --seed-file "title-seed.bin" --dry-runAfter Dry run passed, build the patched CIA:
./isaac3ds-patcher "Isaac.cia" --seed-file "title-seed.bin" -o "Isaac-old3ds.cia".\isaac3ds-patcher.exe "Isaac.cia" --seed-file "title-seed.bin" -o "Isaac-old3ds.cia"Wait for Done:. This creates Isaac-old3ds.cia and Isaac-old3ds.cia.report.txt, containing hashes and verification results. Existing outputs are never overwritten; choose another name for a repeat run. Without -o, the filename adds -old3ds before .cia.
The banner, electronic manual, and game resources are preserved. See included patches.
- Back up existing Isaac saves. The patch uses the same title ID and replaces the installed base game.
- Remove any separate Isaac update, which can override the patched code. Check that you selected the update rather than the base game or save data.
- Power off the console and copy
Isaac-old3ds.ciaintociason its SD card. Leave space for both the CIA and installed game. - Reinsert the card and open FBI. Select SD > cias > Isaac-old3ds.cia > Install CIA.
- Launch Isaac from the HOME Menu. Do not install an update over the patched game.
Move with the Circle Pad and shoot with ABXY. SELECT uses the active item, L places a bomb, R uses a pill/card, and holding D-pad Down drops held items. No C-stick or Circle Pad Pro is needed. See all controls.
If saved bindings override these defaults, reset them in the main menu's Options > Controls.
| Problem | What to do |
|---|---|
| Seed download fails | Retry or use an existing seed/database. The file must be exactly 16 bytes; an error page is not a seed. |
| Seed certificate error | Prefer an existing seed or a trusted certificate with --cacert. The development workaround was adding --insecure to this download only; it disables server authentication. Size alone does not prove authenticity. See curl certificates. |
Missing ctrtool or makerom |
Restore the tools folder or pass --tools-dir "folder". |
| Output or report already exists | Choose a new output filename with -o. |
| Unsupported executable or integrity error | Use the original European v2.4.0 CIA with its manual and correct seed. See hashes. |
| Game still requires New 3DS hardware | Check that you installed the patched output and no separate update overrides it. |
| Colors or transparency look different | Textures use lower color and alpha precision to reduce memory use. |
Run --help for all options. Include the patch report and console/crash details when reporting a problem, without game files or seeds.
GitHub Actions builds Linux and Windows packages on pushes and pull requests. Pushing a version tag publishes both packages and SHA256SUMS.txt as a release after both builds pass. The tag must match the version in CMakeLists.txt:
git tag v0.1.0
git push origin v0.1.0Push the committed project first. Tags such as v0.1.0-rc1 create prereleases. The workflow uses GitHub's built-in token; no personal token is needed. See GitHub's tag triggers.
The patcher is MIT licensed, with shared infrastructure adapted from Minecraft Old 3DS Patcher. Isaac and external dependencies keep their own licences. This project is not affiliated with Nicalis or Nintendo.