Newest Hacks

Super Jario Bros. Oversimplified Nuts & Milk Super Princess Peach 3 Marusa no Onna Plastic surgery

Newest Translations

Ganbare Goemon Gaiden: Kieta Ougon Kiseru Pokémon SoulSilver Pokémon: HeartGold Version Sugoi Hebereke

Newest Utilities

GCHT (Game Color Helper Tool) TGE (Top Gear Editor) ROM/ISO Table Finder PssMux

Newest Documents


Newest Reviews

Dr. Slump The Legend of Zelda: A New Light Oversimplified Pac-Man Bugs Bunny Crazy Castle 2 DX - GBC Compatible

Newest Homebrew

Another NES Snake Varooom 3D Lumberjack Rolling Pumpkins

Featured Hack Images

Mario Chronicles Megaman Wily Wars SRAM Save Hack Super Mario Kart By NandoPro New Ghostbusters II Plus

Featured Translation Images

Chuka Taisen Final Fantasy III Final Fantasy Legend III The Legend of Zelda: Ocarina of Time

Recent Updates

General Information

(1 to 2) of 2 Results

NINJA 2.0 July 26 Beta

25 July 2006 6:24PM EST - Update by D

Utilities News

A new beta has been uploaded for NINJA 2.0. The following changes have been made since the last version archived on

  • Added a check to make sure target file is writeable before patching.
  • Added icon previews to the GUI.
  • Added a detection for GB ROMs using magic bytes provided by Aerdan.
  • Rewrote a lot of NINJA code to use escape strings instead of chr() evilness.
  • Added support for using NINJA as a frontend for applying xdelta format patches. Required you have the xdelta executable (xdelta.exe) in the program path.
  • Added icons for xdelta format and options for it to the file association menu.
  • Fixed a glitch that was preventing users’ language selection from actually being applied.
  • Edited the German translation to match Tauwasser’s suggestions.
  • Retored ninja.bat for command-line users who refuse to install .NET 2.0.
  • Fixed a glitch that prevented the command line options from showing when you entered no arguments.
  • Added a “Please Wait” dialog to the patch creator since it can take a while, and otherwise people may think the application has frozen (seems a little flaky because all the power goes to the console read).
  • Fixed IPS patching to work with the corrupt patches some IPS creators produce that do not end in “EOF”.
  • Changed the About dialog’s address to the new page at

NINJA 2.0 is a new patch format that supports internal display data, file validation, directory patching, and can create patches that will work on any ROM format for NES, SNES, Game Boy, Nintendo 64, TurboGrafx-16, Sega Genesis, Sega Master System and Atari Lynx.

The official NINJA patcher can apply the following patch formats:

  • RUP (NINJA 2.0)
  • IPS (International Patching System)
  • PPF (PlayStation Patch Format 1.0/2.0/3.0
  • FFP/PAT (FireFlower Patch)
  • PAT (Microsoft Binary File Compare output)
  • GDIFF (Generic Diff Format)

If you add xdelta.exe to the NINJA folder, NINJA can also be used as a graphical front end for xdelta format patches.

This will be the final beta. Please report any and all bugs and behavioral issues in either this post’s thread on’s forum or on the NINJA support forum at

NINJA 2.0 Beta Test

28 June 2006 5:47PM EST - Update by D

Utilities News

For those who have been following on the forums, you may know I’ve been actively developing the NINJA 2.0 format for the last month. There have been several beta tests on the forums, and I think it’s finally ready for a front-page notice.

Patch Creator Image - Too large to run on the main page.

This will be the last major beta round for NINJA. I am looking for people to report bugs in both creation and application. This is directed only to Win32 users–people planning to use it on the command line with have a different release with the script only (a much smaller download at 30KB). To run NINJA you will need the Microsoft .NET Framework 2.0.

NINJA 2.0 is a new patching format that is designed as a replacement to IPS and several other formats. Because it uses a prefix byte to tell the length of all offsets, it creates filesizes a little larger than IPS, but the patch format is ever expandable. The greatest address NINJA can support is 2048-bit addressing (a 32,317,006*10^600 byte file). Patches created with NINJA can be created and applied between single files or directories of files. Its patches store the MD5 sums of both source and modified file versions, and a NINJA patch can be used to hard patch and unpatch target files and folders. This means if a new translation for a PC game comes out, you can re-apply the last patch to “unpatch” to the source files, then apply an updated patch with no need to reinstall.

NINJA patches store 2048 bytes of internal information including Author name, patch language, genre, game or software title, release date, website, and a brief description of the patch (1074 characters). Information can be stored in UTF-8 or in the system’s default ANSI codepage. Any fields left blank will be ignored during patch time, so you only need to include what is actually used.

There is also support for special handling of ROMs. If you create a single file patch for a ROM and select its system from the drop-down menu, the resulting NINJA patch can be used on any version of the ROM. This means one NINJA patch could work on Famtasia, interNES and UNIF format ROMs, SNES ROMs that are headered and interleaved, interleaved N64 ROMs, interleaved Megadrive ROMs, and many other variations.

The NINJA Patcher program accepts files off the command line and can be associated with many patch types. As of this release, it can apply NINJA 2.0 patches, IPS patches, PPF 1.0, 2.0 and 3.0 patches, FireFlower patches, Generic Diff patches, and it can use the output of a Microsoft File Comparison ( saved to a text file to patch and unpatch files. For more details on this, please read the README file. The program includes an association management menu and patch file icons to match Microsoft Luna, Microsoft Vista, or Everaldo’s Crystal style icons.

The patching interface (not the creator) supports localization files. The current beta includes interface localizations in English, German, Spanish, Italian, Portugese (Brazil), Russian, Chinese Simplified and Chinese Traditional. If you can contribute a localization in your language, please reply to the NINJA in your language thread on the forums.

Please leave your comments about this beta test in this thread. Suggestions on how to improve the format are not welcome as NINJA 2.0’s file specifications are finalized. Any suggestions will be considered for NINJA 3.0–whenever the need for that format arises. I am looking primarily for bug reports and interface improvement suggestions.

Guidelines for writing your own NINJA patcher are in format.html. This file will be improved for clarity in the final release.

Thank you!