PS: My other 'proper' TP programs were a staff time management and reporting app, a materials control system and a file upload program for a Stag device programmer - it took a PROM/EPROM/PAL/GAL binary or hex file in whatever format you had, identified the format, parsed it for checksum and file errors, set the Stag programmer device and file parameters (which saved a LOT of time and avoided setup errors), uploaded the file, verified the upload and programmed & verified the device.
At one point, Stag came down and checked over the code with a view to making it their stock program but I think things became too complex when legal got in the loop.