To generate a patch, you use the -g option followed by the names of the original file, the modified file, and the output patch file:
xdelta -g oldfile newfile patch.xdelta
If you meant an actual academic paper (rather than the tool's documentation), you might be recalling:
"Xdelta: An Online Binary Delta Compression System" — Joshua P. MacDonald (USENIX 2000) xdelta online patcher
Yes — that’s a classic paper from USENIX 2000 describing Xdelta 1.x. It introduced the online patch generation concept and compared against diff, vdelta, and RTPatch.
With WebAssembly maturing and new APIs like File System Access (allowing streaming of large files), the limitations of online patchers will fade. We can expect: To generate a patch, you use the -g
Already, in 2025, some emulation websites embed an XDelta online patcher directly into their ROM download pages, allowing one-click patching.
Before diving into the online aspect, it is crucial to understand the technology behind it. XDelta is a binary diff algorithm and file format. In simple terms, it records the differences between two files. If you meant an actual academic paper (rather
Unlike a standard archive (like a .zip file) which compresses a file, an XDelta file (usually ending in .xdelta or .patch) contains only the changes required to turn File A into File B.
This technology is famous in the ROM Hacking community. Distributing modified copyrighted games (ROMs) is illegal. However, distributing the changes via an XDelta patch is perfectly legal. The user must supply the original file (the source) and apply the patch to generate the modified file (the target).