|Release Date||08 January 2016|
|Last Modified||03 September 2016|
Open-source binary diff, differential compression tools, VCDIFF (RFC 3284) delta compression.
Included is a 32-Bit & 64-Bit version as well as the source code.
To apply “patch.xdelta3″ on the file “bad.aaa”, generating “good.aaa” just type: xdelta30u.exe -d -s bad.aaa patch.xdelta3 good.aaa
To create “patch.xdelta3″ that generates “good.aaa” from original “bad.aaa”, just type: xdelta30u.exe -e -s bad.aaa good.aaa patch.xdelta3
Official website: http://xdelta.org/
xDelta only really works well at the default settings if the data hasn’t moved around much in the file: by default it will look ahead and behind 8 MB to find a match, if not it will add the data to the patch. You can get around this by changing the buffer size with the -B option (this increases memory usage when making the patch!). It will take a few minutes for the patching creation to start as xDelta has to read the entire file into memory. This works great for making transfer patches as sometimes the files in the archives are in different positions.
ISO example, to create the pach, type: xdelta.exe -9 -S djw -B 1812725760 -e -vfs “old.iso” “new.iso” “SERIAL_Old-CRC_to_New-CRC.xdelta3″
This uses a 1.8 GB buffer maximum, enough to read ahead an entire dual layer UMD into memory. If the ISO is smaller, say 200 MB, then it will only use a maximum of 200 MB of memory and not 1.8 GB. You have to use the 64bit version of xDelta otherwise you may get an out of memory error. 32bit users will be able to apply the patch with no problems, because no huge buffer size is used.The buffer limit when using 32bit xDelta should be about 1073741824 bytes (which is 1gb).
For NDS, you can use 512 MB (size of the biggest ROM), but only if the default settings make a big patch.
NDS example, to create the pach, type: xdelta.exe -9 -S djw -B 536870912 -e -vfs “old.nds” “new.nds” “NUMBER_Old-CRC_to_New-CRC.xdelta3″