;
                                NZBLITZ.COM                                   

             Size (recs) CRC   Version    Author/Latest Issue      Disk
               2k (15)   A97B  1.4        Terry Hazen 6/91         Z3COM14

  1- Syntax  2- Configuration  3- Operation  4- Notes  5- Examples of Use     

    NZBLITZ is  an  NZCOM utility that  permits saving  and direct loading  of 
system images.   It simply replaces everything from CCP up to  CBIOS  with the 
new system, writes NZCOM.CCP to  disk (to A0: by default),  then boots the new
system.   The ENTIRE user environment is replaced (including shells,  RCP, FCP
IOP, TCAPS, DOS, CCP, and ZDOS clock/stamp drivers).   This allows a fast cold 
load of a system - full up with desired drivers, shells, path, and options.

   Aside from speed in loading  a fully configured system, NZBLITZ can be very 
useful for saving space on floppy systems.   Because NZCOM is  not needed (nor 
NZCOM.LBR) once the COM file is created, there can be  a savings in disk space 
if you typically use one standard system.  Vs 1.0 (4/27/90) by Cam Cotrill.  
:1
    Syntax   NZBLITZ [dir:]sysname[.com][;trailing;commands]

   Enter those trailing commands  that  you  always  want  executed  after the
system is loaded, such as clock or other initialization commands.


   The resulting NZBLITZ system loader file command line syntax is:

     SYSNAME [/f]

   The /F option suppresses the write of the NZCOM.CCP file in the interest of
reduced loading time.   If you choose to use this option, be CERTAIN that your
current NZCOM.CCP runs at the same address as the system you are going to load
does.  Otherwise, the system will crash - and quickly!
:2
 Configuration - 1/2 

   ZCNFG.COM and NZBLITZ.CFG may be used to configure  NZBLITZ to allow saving
the system image up to the start of the CBIOS (the default), or up to a fixed,
specified top-of-save address.  

   If you specify FFFFh  (the  default  specified  top-of-save  address),  the
system image from the CCP all the  way up to  the  top  of  memory,  including
the CBIOS is saved.   This allows  those of us  running  custom  NZCOM systems
that use the existing standard  Ampro  Z-system  buffers that reside above the
CBIOS to also save systems  with  NZBLITZ at the  cost  of  a  slightly larger
NZBLITZ image file.   See  AMPRO.ZCM for a  sample  ZCM  file for  Ampros that
uses the standard Ampro above-CBIOS Z-system buffers in an NZCOM system.

   You may also configure a lower top-of-save  address if you wish to save the
CBIOS but your system  has  other  features  at  the  top  of  memory that you
don't wish to save, such as dedicated ROM space.
 Configuration - 2/2 

   While the drive,  user and  filename  for  the  NZCOM.CCP  file  are  taken
directly from the  NZCOM NZBIOS,  you may configure NZBLITZ so that the system 
loader files write the  NZCOM.CCP file as a system and/or archived file, which 
is handy for those of us operating on RAM disk workspaces.
:3
 Operation - 1/3 

   NZBLITZ is an  NZCOM  utility  that  permits  saving  and direct loading of
system images.  NZBLITZ started life during development of NZCOM.   In greatly 
expanded form, it became the /C (clone) option.  

   NZBLITZ is  a  very  simple  minded  utility.   It doesn't look to see what
elements of the  running  system can or  should  be  saved  (TCAPS, MCL, Shell
Stack, etc).   It simply captures  everything  from the CCP  (or lowest loaded
RSX) up to the CBIOS (or above) into a system loader utility.  When the system
loader utility is run, it replaces the entire saved system,  as  specified  by
its configuration, writes NZCOM.CCP to disk to the drive and user specified in
the NZCOM NZBIOS, then boots the new system.
 Operation - 2/3 

   This strategy has several very significant side effects.  First, the ENTIRE 
user environment is replaced  -  this includes Shells,  RCP,  FCP, IOP, TCAPS, 
DOS, CCP, and in the case of ZSDOS and  ZDDOS the clock and stamp drivers that 
live in the NZCOM user area!   This allows a cold load of a system  -  full up 
with drivers, shells,  path, and options set as you want in very short order - 
4 seconds on my hard disk system.   By comparison, a startup alias to load the 
same system by "traditional" methods would take 14 seconds.   If the  CBIOS is 
saved as well, installed hard disk, RAM disk and other special drivers need no
longer need be loaded or initialized at each cold boot, saving even more time.
Completely configured systems can be loaded or replaced almost instantly.
  
   The system loader files created  by  NZBLITZ  are  stand-alone  COM  files,
complete with loader.   These COM  files  also  respond to  ZCPR  style  help.
Though these files contain a ZCPR header,  they do not  require  a Z-system in
order to run.   This is no accident, as one primary purpose for the NZBLITZ is
to cold start NZCOM systems.   Aside from speed in loading  a fully configured 
system, NZBLITZ system loader files can be  very  useful for  saving  space on 
floppy systems.   Because NZCOM or  NZCOM.LBR are not needed once the COM file 
is created,  there can  be  a  savings in  disk space if you typically use one 
standard system.
 Operation - 3/3 

   When you run an  NZBLITZ system loader file,  you may suppress the write of
the NZCOM.CCP file by  including  the  '/F'  option on the  command  line.  If
you use this option, be  CERTAIN that  your  current  NZCOM.CCP  runs  at  the
same address as the system you are going to load does.  Otherwise,  the system
will crash  -  and quickly!   The system loader uses a function 37 reset, then
exits directly to the CCP  (which issues  a  function  13 reset right away) to
reset all disks.

   See your NZCOM  documentation for  more  information  on  customizing  your
NZCOM systems.
 Saving an NZCOM System  

   Saving your current NZCOM system is a simple as typing:

     NZBLITZ sysnam[.com].  

   If you forget the syntax, NZBLITZ responds to the usual ZCPR  help request,
as well as '?' or a null command tail.  If the filetype is blank, NZBLITZ will
assume 'COM'.   If you want to always run  a specific series of commands after
the system image loads,  simply enter the desired  commands  after the NZBLITZ
invocation.   NZBLITZ will save these  commands and flush the multiple command
line after saving the system to the file  SYSNAME.COM or whatever you chose to
call it.

   For example,  if you wanted to save the system to a file called SYSNAME.COM
and wanted to always set the  clock  and  display  the directory each time you
loaded that system, you would enter:

     NZBLITZ sysname;clock;dir

   When you run SYSNAME,  the CLOCK and DIR commands will run after the system
image is loaded.
 Including an NZBLITZ System Loader File in an Alias Script 

   When an NZBLITZ system loader file is run in a ZCPR3 system,  it will check
the multiple command line of the  current  system  for  any  pending  commands
before it loads the new system.   If there are any pending commands, they will
be saved and after the new system is loaded,  they will be appended to the new
system's multiple command line.   The  first  commands  to  run  will  be  the
commands you  specified on  the  NZBLITZ command  line  when  you created your
system loader file.  Finally, after these original commmands have run, any old
system pending commands will be run.

   This means that you can now include  NZBLITZ  system  loader files in alias
scripts.   You can change NZCOM systems quickly and  automatically in order to 
customize any or all of your system features specifically for whatever applic-
ation you wish to run.   You can now change the size and  composition  of your 
system about as quickly and easily as loading a new RSX or IOP.
 Adventures in Customized NZCOM/NZBLITZ Systems 

   As a simple example,  if your  usual 'full-featured' 46k  system  has a TPA
that is too small to run your full-up version of WS4,  you can  write an alias
script called WS:

     WS tpa50;ws4 $*;tpa46

where TPA46.COM and  TPA50.COM are  NZBLITZ  system  loader  files  containing
system images for customized 46k and 50k systems  respectively.   Lets  assume
that your normal 'full-featured' 46k system is loaded using TPA46.COM and that
a 50k system, customized for use with WS4 and perhaps including an RSX such as
the HPC calculator,  is loaded  using TPA50.COM.   When the WS alias script is
run, the special 50k system is loaded,  WS4 is run to edit the specified file-
name from the command line, and  finally,  the  'full-featured' 46k  system is
automatically reloaded when you leave WS4.
:4
 NZBLITZ Notes - 1/2 

   a. Version 1.4 updates (06/18/91, Howard Goldstein/Terry Hazen):
      - Shortened code for handling  pending commands in MCL by 24 bytes.  The
        loader is just under 1k again.  
      - Also fixed  a label  conflict  that  was  causing  problems  for  some
        assemblers.
      - Revised top_of_save flag and code to  allow  ZCNFG to toggle through 3
        top_of_save options:   CBIOS,  top_of_memory and specified top_of_save
        address.  
      - Revised calculation for number of image records, as it was causing the
        wrong number of records to be saved in certain situations.
      - Corrected top_of_memory address to 0000h from FFFFh, as we save up to,
        not up through, an address.

   b. Version 1.3 updates (06/06/91, Terry Hazen):
      - The loader NZCOM.CCP FCB  user/drive/filename is now  copied  directly
        from the NZBIOS NZCOM.CCP FCB user/drive/filename.  
      - The NZCOM.CCP file produced by the loader  now  automatically  matches
        the NZBIOS NZCOM.CCP  specification in  case it has been customized in
        the NZBIOS.
 NZBLITZ Notes - 2/2 

      - The loader file now saves any  pending  multiple command line existing
        in the old system before loading the new system and  appends it to the
        loader MCL,  allowing us to include loader files in aliases  -  a very
        nifty feature.  

   c. Version 1.2 updates (05/28/91, Terry Hazen):
      - Added code to get  NZCOM.CCP user  number  from  the NZBIOS.   This is
        where NZCOM sets it.	

   d. Version 1.1 updates (05/25/91, Terry Hazen):
      - Added ZCNFG configuration area with ZCNFG flag to  allow  saving up to
        CBIOS or up to  address  specified in  SAVE SYSF flag to  allow making
        NZCOM.CCP a system file and ARCF  flag  to  allow  making NZCOM.CCP an
        archived file.  
:5
 Examples of Use 

   a. NZBLITZ SYSTEM;CLOCK;DIR  

      - sets the clock and displays the directory on system startup.
