Most of the formats have source code for patchers at least (patch makers as well most of the time but if you have the applier part then it is more tedious than anything else). Such things are both probably better and easier to come by than a wordy specification.
It should also be noted most formats we see have three or four different implementations and extensions to the format.
IPS has loads of random extensions, to say nothing of the missing EOF (IPS in the original implementation was supposed to end a file with EOF, however some implementations don't and that causes issues). I don't know how much you want to do the extensions today as most are not in common rotation and might be mutually incompatible (guess you could do a dropdown or something).
Xdelta has a few. https://www.evanjones.ca/software/xdelta-win32.html
being the earlier one popular during the DS after IPS finally showed its age* and people were forced to jump ship, http://xdelta.org/
then having 2.0 and the current one. Not to mention you probably also want to make sure you have an option to disable verification in case people want to use trimmed ROMs and stack patches.
BSdiff is largely spared from what I have seen, though the main link to the common older windows port/compile does mention thingshttps://www.pokorra.de/coding/bsdiff.htmlhttp://www.daemonology.net/bsdiff/
The original poster child for multiple mutually incompatible versions.
Afraid I have not kept up with beat and bps, I mostly encounter bps from people making optional patches of all the flavours or late stage GBA stuff (GBA ROMs go to 32 megs, more than baseline IPS can really handle). Fireflower I mention just because.
Straight deltas have been used occasionally. There are also a few file system aware formats and methods, in my case I would probably point you at the format made for Jump Ultimate Stars on the DS.
*16 meg window, though most things would not apply a window so instead 16 megs from the start of the file. No relocation (common for anything with a file system). No file verification.