UZI UTILITIES

by Doug Braun
Modified by Harold F. Bower for UZI180

Beta: 18 August 1998



This package contains several utilities to manage UZI filesystems from a different host operating system. They have been compiled and used under CP/M to build and repair UZI filesystems, and debug device drivers. This has been useful because UZI was developed and compiled under CP/M. They have also been used under SYS V Unix to debug the UZI filesystem code (using a Unix file to serve as a virtual UZI device).

NOTE: UZI180 has only been tested with ZSDOS (a CP/M superset) and the CP/M Filesystem on a variety of hard and floppy media formats.

There are four programs, each contained in the C file of the same name:

If you are trying to get UZI running on a new system, these programs will be very helpful in getting your device drivers working, and will allow UZI to have something on its disks when it finally runs.

Each program is linked with the device drivers for your system, some files from UZI itself, and some modified versions of other UZI files (the ones beginning with "x"). To Build executable versions of these utilities, you will need to have the Hi-Tech Compiler/assembler version 3.09 from the CP/M CD-ROM installed on your system, and SUBMIT.COM or compatible (e.g. SUPERSUB) program to automate the build process. Next, follow these steps:

  1. First build the kernel. I recommend doing this in a directory by itself, and the utility programs in a different one.

  2. Extract all files from the Utilities ZIP file. Within this are platform-specific versions for the different configurations. Select the one suitable for your version and unzip the contents to form a complete set of necessary files.

  3. Copy the following files from the kernel directory into the utilities directory:

  4.  
      DEVFLOP.C
      DEVHD.C
      HDCONF.H
      HDASM.OBJ

  5. Compile/assemble the support files needed by all utilities by either executing the CMPILUTL.SUB script under SUBMIT or compatible (I used SUPERSUB from the CP/M CD-ROM archives), or entering each line from the script as a standalone command line. The script is tailored for use under ZSDOS and includes the RELOG calls to relog the hard disk upon program termination, and may not be necessary in other systems.

  6. Execute a Make script for the desired utility. These take the form of a (possibly multi-) line argument for the compiler. They first compile the utility, then link with necessary files to form a CP/M executable utility. Note that in addition to the compiler and files from this library, you will need the CRTCPM.OBJ and LIBC.LIB files from the Hi-Tech package for this step. As an exammple, to make the UCP.COM utiliity, execute:

  7.  
      C <MAKEUCP

    An alternative to this fully-automated step, or if you are working on the support files, you may first compile the utility once, then simply link all the files with a Link Script. A sample file is for linking UCP is provided which can be adapted to the others by simply changing the output filename.typ and the input .obj file name. This sequence would be (for UCP):
     
      C -O -C -V UCP.C
      LINK <LINKUCP

  8. Use the tools to make, examine and populate an UZI filesystem. The files FILFS.ZEX and FILFLOP.ZEX (adapted from Doug Braun's original FILFS.SUB and FILFLIOP.SUB) are ZEX50 scripts tailored for Hard disks and 1.44 MB Floppys which do most of the work. They also serve as examples of how these utilities are used to build and populate UZI filesystems.

Harold F. Bower <HalBower@worldnet.att.net>
7914 Redglobe Ct.
Severn, MD 21144-1048
USA