-------------------- AmigaOS 3.1.4.(1) project ----------------------- Revision 45.2 (30.10.2017): - This module is a short "workbench loader" that can go into ROM in case ROM space becomes tight (which it likely will). It is similar to the A4000T wbfind module, except that it does not require a patch, and hence avoids side effects. It consists of a bogus library that will load the real thing, trying to find it in LIBS: or any other inserted disk in the system. - What is new: No longer patches OpenLibrary, instead represents itself as a library, though the library is actually build by the disk-based code. Exec/resident is flexible enough to allow this stunt. Revision 45.3 (31.5.2018): - Checks now candidate segments whether they are resident modules before attempting to initialize them, and also checks the version and continues trying if a non-acceptable version is found. - Displays now a requester asking for volumes with the proper library if no match is found. Revision 45.4 (12.6.2018): - Forgot to check the WindowPtr before displaying the requester. The workbench/icon.library requester respects now pr_WindowPtr. Revision 45.5 (19.9.2018): - The requester is now also suppressed for LIBS:, thus avoiding that the user is requested to re-insert the volume to which the LIBS: assign refers. This avoids an endless loop of requesters. ---------------------- AmigaOS 3.2 project --------------------------- Revision 47.1: - The name of this component changed from "wbfind" to "bootstrap" as it takes now more responsibilities. - In addition to icon and workbench, this component now also provides "loader hooks" for the audio.device, for mathffp.library and the mathieeesingbas.library. - Since dos 47.5, "bootstrap" will be started instead of the boot shell. Now bootstrap scans the ROM and the disk for some original tripos components, namely L:Ram-Handler, L:Con-Handler and L:Shell-Seg, and will use disk-based components instead of ROM-based components. This will allow later versions to easily replace them - just put them on disk. The shell from L: will then be used for booting, the RAM-Handler for the RAM: device, and the CON-Handler for CON: activities. Note, however, that all three require a "resident" structure, i.e. they need to be a "module" in addition to a "handler". - This has the following nice side effects: Since dos V47.4, CliInitNewcli() is no longer needed as newcli can now be effectively be replaced by System(). Since bootstrap 47.1, CliInit() (dos.library private) is no longer needed since "bootstrap" starts the shell by the above method. Hence, all what is left is "CliInitRun()", making shell design by about 67% easier as there is no longer a need to check the packet type and dispatch according to the flags in the startup packet. Revision 47.2: - Due to a really stupid typo, booting without startup sequence did not work. - To please the version command, the bootstrap code creates now a $VER: tag in the dummy startup segment of the loaded modules. Revision 47.3: - In case a later version of the FastFileSystem is found on disk, it also replaces the root file system. Revision 47.4: - The GlobVec of the Port-Handler was not properly converted to a BPTR, causing a crash when mounting the handler. Revision 47.5: - When patching in a default stack size for a file system, the dos.library init code did not take care of the different units the stack size is measured in. It is in LONGs for BCPL style handlers, but in BYTEs for C-style handlers. Since the default was "512" (whatever unit), this caused very tight limits for C-style handlers. This got fixed. Revision 47.6: - "BootStrap" is now renamed to "system-startup". Version string of "system-startup" wrongly reported as "BootStrap". Also version & revision number did not match Release Notes. - system-startup now searches LIBS: and DEVS: for devices not yet initialized, and then replaces ROM versions with these devices. Revision 47.7: - Due to a counting mistake, clistrap forgot to substitute all possible ROM-based modules. - Mounting the devices from the expansionbase boot point list is now also transferred to system-startup. The somewhat hacky method of communicating this via the FileSystem link is gone. Revision 47.8: - Added a logic to hotpatch a new intuition version into the system. This depends on no other module having opened intuition as well, and no BCPL file handler being mounted. - As intuition overrides the default monitor from graphics, the monitor must be saved first, then intuition must be openend, and then (potentially) become "enlighted", i.e. the viewport must be patched to enable the new graphics modes. - Updating the system modules is now disabled if the system boots without startup-sequence. This is probably helpful for desaster recovery in case one of the modules runs berzerk. - The LVOs of the dead copy of intuition are now replaced to jump to a function that displays an Alert, so we at least know that something bad happened. Revision 47.9: - system-startup now removes the currently loaded intuition by Expunge(). This allows to remove intuition V47 and above, but to replace it by a V40 intuition. Revision 47.10: - The module upgrade mechanism is now more critical about new revisions. A ROM revision can only be replaced by a RAM version larger than the ROM version, similar to LoadModule. There is now a special exception for intuition which also allows V40 as a special exception. Revision 47.11: - Due to a wrong prototype, the system startup failed to upgrade most modules, including that it failed to downgrade intuition. Revision 47.12: - The openCnt of intuition was not increased back if a V40 intuition could not be removed. - Now also creates the entry for the pipe:. Revision 47.13: - Monitors now additional flags in expansion to disable module upgrades, shell debug and interactive shell. Revision 47.14: - Added support for syslog. Revision 47.15: - System-startup scans now all volumes, not only the boot volume. Release 47.16: - ROM modules already present are now marked as optional such that a requester is not shown if no update is shown. Release 47.17: - As an exception, intuition v40 is only loaded from the boot volume, but not from any other volume. Intuition upgrades are, however, searched from all volumes now. Release 47.18: - To prevent an upgrade, it is now sufficient to place a dummy file (e.g. an empty file) of the right name in the right place of the boot volume. Release 47.19: - Loading a segment that is not to be initialized may have caused a broken resident list in case of failure. Release 47.20: - A bug prevented opening the console's output stream. Thanks to Thomas Richter for reporting and providing the fix. Release 47.21: - Added a new Failsafe boot flag which will boot :S/Startup-Failsafe instead of :S/Startup-Sequence if set