Freshen is a program for doing software upgrades. It relies on the idea of using the difference between one version and another, so the Freshen application need not contain runnable code.
For development I called it 'Patch' but around that time Acorn released their own patch software and I had to think of a new name.
I'd not paid any attention to updating this software for new ARM chips. It is not as simple as recompiling the program since it depends on some common RISC OS utilities for compressing and expanding executable code files. Someone has kindly given me the ARM8 version below which solves these problems.
The program stores data representing the difference between two files, as it stands this does not compress well. Originally I intended storing the data differently to get better compression, but I never got around to doing this. To expand if you have a series of (16 bit) numbers which are mostly less than 256, it is better to store all the high bytes together, and then all the low bytes.