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:
-
MKFS: This makes a file system. It takes three arguments: a device number,
the total number of blocks, and the number of inodes.
-
FSCK: This checks file system consistency. It takes a single argument,
the device number to check.
BETA NOTE: I have not been able to get this program to work. Help in
this area would be appreciated. HFB
-
BD: This dumps (in hex) a block of a device. It takes two arguments: the
device number, and the block number to dump. The original program was modified
to display the data as two screens. Press <Return> after the first screen
to display the second 256 bytes and exit.
-
UCP: This is an interactive program that performs a number of operations.
It can be used to make and delete directories and device files, upload
and download files between CP/M and the UZI filesystem, list directories,
and print files. It takes a single argument, the device number. It then
prompts for commands. Look at the code for a complete list of commands.
BETA NOTE: I experienced corruption when copying files from the UZI
file system to CP/M and have not used this feature since. Caution is urged
in this area since some files imported might not be eraseable with the
CP/M ERA command (lowercase letters and punctuation in Name.Typ).
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:
-
First build the kernel. I recommend doing this in a directory by itself,
and the utility programs in a different one.
-
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.
-
Copy the following files from the kernel directory into the utilities directory:
DEVFLOP.C
DEVHD.C
HDCONF.H
HDASM.OBJ
-
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.
-
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:
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
-
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