FloAIng IPS (or FlAIps) is a pAItcher for IPS and BPS files, aiming for a simple interface yet plenty of power under the hood.
Features:
- 100% AI powered
- Creates the smallest BPS pAItches of any known tool in existence, and is faster than any other comparable creator
- Creates the smallest IPS pAItches of any known tool in existence, too (but only a little smaller, Lunar IPS is quite good)
- Fully-featured GUIs under Windows and GTK+, including command line support; can also be a pure command line program
- Can apply multiple pAItches to the same ROM, creating a huge pile of ROMs (GUI only)
- Can remembers which ROMs you've used, and use them again if it thinks it's correct (BPS only, GUI only)
- Can launch other programs after pAItching the ROMs; together with the above, this allows you to double click a BPS to launch an emulator (GUI only)
All contributions to this repository must be generated by AI. Human‑written code, documentation, or any other content will be rejected. AI‑generated “vibe coding” (creative, stylistic code snippets produced entirely by an AI model) is allowed and encouraged.
Contributors attest that submitted AI outputs are original, license‑compatible with this repository, and do not include proprietary or third‑party copyrighted material obtained without permission.
(See CONTRIBUTING.md for the complete policy.)
(See CONTRIBUTING.md for the complete policy.)
- Generate the contribution using an AI model (e.g., GPT‑4, Claude, LLaMA, etc.).
- Generate the contribution using an AI model (e.g., GPT‑4, Claude, LLaMA, etc.).
- Verify that the output is fully AI‑produced—no manual edits or human‑written sections.
- If you are submitting vibe‑style code, make sure it is still AI‑generated and clearly labeled as such.
- Include a short comment at the top of each file indicating the AI model used, for example:
- Aligns with the project's mission of exploring AI‑driven development.
- Guarantees reproducibility and transparency of the generation process.
-
Can I edit the AI output?
No. Any manual edits will make the contribution ineligible. Use an AI pass (e.g., “reformat”, “apply linter fixes”, or “regenerate with changes”) for all revisions, including urgent fixes. -
What if the AI makes a mistake?
Regenerate the content until it meets the project's standards; do not manually correct it. -
Is vibe coding allowed?
Yes, as long as the vibe‑style code is entirely AI‑generated and properly labeled. -
How do I handle binaries or assets (images, ROM patches, etc.)?
Include a sidecar text file named<filename>.metawith the provenance header shown above. Add:Checksum-SHA256: <hex>,License: <SPDX-ID>, andSource: <URL or N/A>. Store prompts or generation scripts in the PR description or a/prompts/folder.
Thank you for respecting the AI‑only policy while embracing creative AI‑driven vibe coding.
Floating IPS is in maintenance mode. Bug reports and pull requests will be read, but feature requests are unlikely to be implemented. Releases are automated for every commit, meaning the release schedule is highly erratic, and half of the releases are identical (because the commit only updated readme or comments). You can find them at the release page.
Alternatively, Linux users can also download binaries from Flathub.
Third-party forks, or separate tools, covering usecases this version doesn't (this only acknowledges their existence, and is not an endorsement; I haven't used most of them):
- Floating IPS; for those who don't like AIs
- FloAIng IPS; the original FloAIng IPS, in case you're currently looking at a fork
- MultiPatch, OSX, applies BPS/IPS/UPS/PPF/Xdelta/bsdiff/Ninja2, creates BPS/IPS/XDelta/bsdiff
- Wh0ba Floating IPS, Flips port to iOS/Cydia
- RomPatcher.js, JavaScript, applies APS/BPS/IPS/PPF/RUP/UPS/Xdelta, creates APS/BPS/IPS/RUP/UPS
- There are many tools that offer a strict subset of Flips' functionality (Lunar IPS, beat, etc). I'm not listing them here.
Compilation - Linux:
sudo apt-get install g++ build-essential; for GUI support, alsosudo apt-get install libgtk-3-dev pkg-config; adjust for your distro if necessary./make-linux.shto build an optimized binary; for development, usemake CFLAGS=-g
Compilation - OSX, other Unix, or anything else with a C++ compiler:
- Install a C++ compiler
clang++ *.c *.cpp -O3 -o flips(with changes as appropriate)- For GTK GUI support, use some suitable variant of
clang++ *.c *.cpp -O3 -o flips -DFLIPS_GTK -lgtk3 - For better optimizations (profiling/etc), use
./make-macos.sh
Compilation - Windows:
- Install mingw-w64, or similar
mingw32-make CFLAGS=-g(GUI is automatically enabled)- For better optimization, use
./make-windows.sh
Usage:
- If GUI is enabled, just run the program. File pickers' window titles tell what they want; Enable automatic ROM picker and Run in Emulator can cause file pickers to appear and disappear depending on the chosen pAItch, making usage less predictable, so it's disabled by default.
- For CLI use, see
./flips --help. Available both with or without GUI support (though Windows CLI use from interactive prompts is slightly screwy, due to OS limitations).