- 0 replies
- 1,439 views
- Add Reply
- 0 replies
- 1,393 views
- Add Reply
NINJA 2.0 Beta Test


It's a Good day for the translation scene, as the format called "NINJA" is to be given a beta release as a 2.0 version.
For those that do not know, NINJA is an alternative format to the aging IPS format, and offers more features than IPS.
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.
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 (fc.com) 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!
Oswan 0.73 beta 6 released
Advance MAME v0.106.0 released
Mame v0.106u9, Intermediate update !

0.106u9---------
Source Changes
------------------
Fixed Address Error in Pairs Love (simulated 'buffered ram' protection?) [David Haywood]
Fixed Address Error in Grand Cross Pinball (it's caused by the sound IRQ..but the music player was ripped out by Aaron ages ago, related?) I've disabled the IRQ rather for now rather than making a new sound core. [David Haywood]
Fixed crash in debug builds running the Deco MLC games. [David Haywood]
Updated the Tecmo Bowl, Gaelco 2, X-Men 6p, and Megatech drivers to support dual screens. [David Haywood]
Changed VIDEO_UPDATE to return a set of flags. Only one flag is currently defined, indicating that video has not changed at all since the previous update. Most drivers should just return 0. [Nathan Woods]
Changed the MSM5205 ADPCM decoder to no longer perform bounds checking to prevent the signal from overflowing. The MSM5205 data sheet clearly states that this isn't the case, and there is no overflow protection in the chip. Also, the chip's internal DA converter is just 10-bit, even if the processed signal is 12-bit. [Nicola Salmoria]
Sega Model 2 driver update: [Ville Linde]
- i960 bugfixes
- SHARC improvements and bugfixes
- Added HLE of the geometry DSP for now
- Moved video hardware emulation to vidhrdw/model2.c and added preliminary 3D graphics emulation
Taito JC driver update: [Ville Linde]
- Improved M68040 FPU emulation
- Improved the TMS320C51 core
- Added 2D graphics emulation
- Added inputs to all games
- Properly hooked up sounds in all games
Added "fast forward" function (defaults to the INSERT key). While holding this key down, the frameskip is temporarily maxed out and throttling is turned off. This is useful for skipping over parts of the emulation. [Aaron Giles]
Fixed some glitchiness in font displaying where they would switch in and out of scaled modes due to rounding errors. [Aaron Giles]
Cleaned up handling of layout dependencies in the makefile. [Aaron Giles]
Fixed bug when clipping quads in Direct3D mode. [Aaron Giles]
Flipped Punchout and Playchoice drivers so that screen 0 is the "main" screen. [Aaron Giles]
Added "left half" and "right half" to the Darius layouts so you can stretch three screens over two, though you need to explicitly set them either in the UI or using the -view0 and -view1 parameters on the command line. [Aaron Giles]
Changed the initial UI screens to only compute their text a single time. This reduces the CPU usage greatly when displaying some of the "game doesn't work" warnings. [Aaron Giles]
Added support for pausing/unpausing while showing graphics and tilemaps. [Aaron Giles]
Added get/set calls to control layers on a per-target basis. This allows for dynamic control of visibility of artwork layers and the option to crop to the screen. Added menu items to control these options. [Aaron Giles]
Removed options.use_artwork from the global options. This is now directly configured by the OSD layer. [Aaron Giles]
Fixed edge case where the extra pixel on non-wrapping textures would sometimes lead to exceeding the maximum texture size. [Aaron Giles]
Added concept of maximum texture size to the core renderer to prevent giant textures from being requested if the OSD layer can't handle them. [Aaron Giles]
Derivative Builds:
Dats:
Notes: