-------------------- AmigaOS 3.1.4.(1) project ----------------------- install 45.2 (4.6.2017) - Added support for the long-filename flavours of the FFS. - Instead of hardcoding DFx: and CCx: into install, the program will now correctly walk the dos device list and filter the device names. In principle, the code can now also install boot blocks on superfloppies, except that the kickstart can not boot from them. )-: ----------------------- AmigaOS 3.2 project -------------------------- install 45.3 (18.4.2019): - Recompiled with better compiler settings. install 45.4 (21.4.2019): - Error messages are now printed over pr_CES. Changes for release 47.1 (28.11.2019) - Bumped to v47. install 47.2 (1.5.2020) - Restored the original documentation. - Got rid of the sometimes exuberantly indented structure of the source code. - Replaced the file system startup message fiddling with a single documented function which does all the icky work. - Now actually checks if the volume to be installed has its partition beginning at cylinder 0. This stops you from accidentally installing a boot block on your hard disk, accidentally corrupting the RigidDiskBlock. - Now respects the number of boot blocks given for a volume. If unavailable, will use the number of reserved blocks. - Now checks if the boot block code fits into the number of boot blocks/reserved blocks. - Now only checks if the disk is write protected if a boot block should be written to it. - For the first time ever performs a checksum test to find out if the disk in fact has a bootable boot block on it. This used to work in the V33/V34 "Install" command but somehow got lost. - For the first time ever now returns with RETURN_WARN if the CHECK option finds that the reserved/boot blocks of a disk are not bootable. This used to work in the V34 "Install" command but somehow got lost. - For the first time ever now returns with RETURN_ERROR if the CHECK option finds that the reserved/boot blocks are bootable and do not contain any original Commodore disk boot code. This used to work in the V34 "Install" command but somehow got lost. - Moved the device driver whitelist check into a separate function. Added "trackfile.device" to that list. - Replaced the optimized checksum calculation code, which could only calculate the checksum, with the same code that the "strap" module uses. This one can both calculate and check the boot block checksum. - Replaced the magic numbers/flags which constants which hint at their meaning. - Did not replace the misleading or incomprehensible error messages yet because there's a limit to how much effort fixing such a simple program (the original 1985 version was 120 lines long) can demand... install 47.3 (14.5.2020) - Rebuilt with data=faronly option. This solves the problem of the device name whitelist check not retrieving the names properly, producing an illegal memory access. Curiously, this problem only manifested with optimizations enabled and took only three hours to resolve. - Changed the localization strings to use the full file system name instead of "F", "O", etc. install 47.4 (19.7.2020) - Updated the code documentation, especially with regard to how the boot block checksum algorithm actually works. There is no documentation in the RKMs or the AmigaDOS manuals on this subject besides the cryptic reference that a boot block has to have an "additive carry wraparound sum of 0xffffffff". - Fixed the 2.0 boot block binary data not to use "\expansion.device" since that is definitely identical to "expansion.device" in C90 (but might not stay so future 'C' language versions). Also, shaved the trailing "\0" off since this is implied in the string being NUL-terminated anyway. This also renders the hard-coded constants for the respective boot block code sizes redundant as sizeof() will suffice. - In case we are going to get another Amiga default file system variant beyond DOS\8 the Install command now specifically says that it does not know the file system type involved. For example, "install check df0:" now says something like "Appears to be 2.0 unknown file system bootblock" instead of "Appears to be 2.0 bootblock".