Program: SNAP, Version 1.2 Author: Rob Friefeld Purpose: Save image of Z-System packages into a reloadable file. Date: 26 Mar 1990 Syntax: SNAP file[.typ] /oo... o = (T)cap, (R)cp, (F)cp, (I)op, (N)dr, or (P)ath ------------------- Version 1.2 - uses internal stack (lack of one caused a crash with Kaypro Turbo ROM) - new command line options ... see below ------------------- SNAP saves an image of the ENV, TCAP, RCP, FCP, IOP, NDR, and PATH together with a small loader to the file named on the command line. For further flexibility, command line options permit saving only the segments wanted. SNAP is NOT a package relocator. It just plugs a package setup back into memory where it presumably came from. If you load a snap into an incompatible system configuration, you will crash. (With NZCOM, use NZBLITZ or JETLDR.) Usage: SNAP SYS ; Save current packages to file SYS.COM LDR OTHER.ENV,OTHER.RCP,OTHER.NDR,OTHER.FCP SNAP OTHER ; Save this version to OTHER.COM SYS ; Reload all original packages at once. OTHER ; Run the other configuration. SNAP OTHERNDR /N ; Save only NDR SNAP particularly speeds up the system cold start. Individual segments also load very quickly when stored as executable files. A patch byte at 10Dh (800Dh for CIM file) may be set to 00 to cause SNAP to erase an existing file without warning. As distributed, SNAP will ask whether or not to erase an existing file. The default list of segments to be automatically saved can be configured. (Use SNAP12.CFG with ZCNFG.COM by A. Hawley.) The package loader does some mininal error checking before overwriting memory. It makes sure that the current ENV descriptor is at the same location as the one about to be loaded. If an extended environment has been installed, the loader then checks to see that the CCP, BDOS, and BIOS have not moved. Finally, if only a few segments have been saved, the loader insists that all of the ENV addresses be the same currently as when the snap was taken. If all segments were saved, the user is allowed to load a differently configured system. This makes sense only if the large system packages (RCP, FCP, IOP, NDR) occupy contiguous memory and are of constant total size. END SNAP12.DOC