Version 2.0.0
This is a major update.
During the changeover to program version 2.0, the individual utility programs were combined into a single program called lifutils for technical reasons. A LIFUTILS utility is now invoked by calling lifutils and specifying its name as the first parameter PROGNAME followed by all other parameters that are required by the utility. The parameter PROGNAME is case-insensitive which is important under Windows. The help text of the program lifutils shows which utilities were integrated. However, shell scripts are provided for Windows, Linux and macOS which, as before, allow a single utility to be called directly. Because of limitations of the Windows batch system, it is not possible to use these scripts in Windows .bat or .cmd files.
Changes and enhancements:
- Most utilities can now read either from standard input or from an input file specified as a command line parameter. This eliminates the need for a cat or type at the beginning of a pipe.
- Many utilities now have a -r option to skip a LIF file header. Therefore, they can now use either a raw or a LIF file as input.
- comp41, decomp41, key41 and rom41cat can now handle the following Unicode characters: text append (hex 0x251c), Greek small mu (hex 0x03bc), angle (hex 0x2280), not equal to (hex 0x2260), Greek capital sigma (hex 0x03A3).
- The xrom file format was extended to allow alternative instruction names with Unicode characters.
- decomp41 now optionally adds line numbers to decompiled instructions.
- comp41 can now write a source and byte code listing on standard error and optionally create a LIF file instead of a raw file.
- The xrom files for HP41 peripherals are now combined in a single file called hpdevices.xrom.
- Xrom files were added for several HP application modules.
- There are numerous other improvements to comp41 and decomp41 that make compiling and decompiling FOCAL programs more versatile.
- More thorough validation of input files was implemented for lifput.
- The minimum and allocated number of registers is printed if a text file is converted to a LIF file for the HP-41 with textlif.
- rom41cat does not crash any more for ROM sizes > 4K.
Incompatibilities:
- Individual command line options were changed for the following programs: comp41, decomp41, sdata, textlif and wall41.
- This version of the LIFUTILS can not be used with pyILPER versions prior to 1.8.10.
Binary distributions:
- The Windows packages were built and statically linked with VS 2022 on Windows 10. Also tested on Windows 11. The 32 bit package was not tested.
- The macOS universal package was built on Big Sur (Intel). Also tested on Sonoma and Sequoia (Intel). There were no tests on Mx hardware.
- The Linux package was built on Debian "bookworm". There are also packages for Pi OS "bookworm".