he                      User's Guide for ZCPR2
fo Section 0 - Introduction                           Page   #

0.0 Introduction

    Thi� i� th� User'� Guid� fo� ZCPR2��  Th� purpos� o� thi� �
documen� i� t� cover�� i� som� detail�� al� o� th� program� �
provide� i� th� distributio� o� th� ZCPR� System��  Thi� documen� �
i� intende� t� serv� a� bot� � tutoria� an� � reference�� an� th� �
informatio� containe� i� i� is�� b� an� large�� als� containe� i� �
the online Help Files provided in the distribution.

    Thi� User'� Guid� i� organize� i� th� followin� sections�  �
Th� program� indicate� wit� th� sectio� name� ar� thos� discusse� �
in each section.

    1.  Input/Output              8.  Command Files
         CONFIG, TINIT                 SUB2
         DEVICE                        ZEX
         IOLOADER
         RECORD                   9.  Named Directories
         STARTUP                       CD
         SYSIO                         STARTUP as ST
                                       LD
    2.  Directory Utility              MKDIR
         XDIR3                         PWD

    3.  Disk Utilities           10.  ZCPR2
         DU2                           DIR, XDIR3
                                       ERA, ERASE
    4.  Library Utilities              REN, RENAME
         LDIRZ                         TYPE, PAGE
         LRUNZ                         LIST, PRINT
         LU                            SAVE
                                       JUMP
    5.  Menu                           GO
         MCHECK                        GENINS
         MENU                          PATH
                                       WHEEL
    6.  File Compare                   PROTECT
         COMPARE
         CRC                     11.  Help
         DIFF                          HELP2

    7.  File Copy
         MCOPY


    Thi� User'� Guide�� a� wel� a� th� othe� ZCPR� manuals�� wa� �
written on the author's ZCPR2 system using Word Star.


0.1  Overview of the ZCPR2 Help Files

    Al� o� th� ZCPR� utilitie� ar� documente� onlin� b� mean� o� �
th� ZCPR� Hel� System�  Thi� documen� wa� derive� fro� th� ZCPR2-�
Specifi� Hel� File� supplie� wit� th� ZCPR� System.

    Th� reade� i� invite� t� rea� th� ZCPR� Concept� Manua� an� �
th� ZCPR� User'� Guid� a� wel� a� th� Hel� files�  Th� Hel� file� �
duplicat� th� User'� Guide�� b� an� large�� an� the� provid� th� �
convenienc� o� allowin� th� use� t� acces� th� informatio� onlin� �
an� o� allowin� th� use� t� quickl� inde� int� th� informatio� t� �
th� particula� ite� h� i� intereste� in.

    Th� followin� tabl� summarize� th� name� o� th� Hel� file� �
supplie� wit� th� ZCPR� Syste� an� th� program� covere� b�� eac� �
Help file.

Help File      Programs Covered
---------      ----------------

CFILES         Command File Processors -- SUB2 and ZEX
COMPARE        Compare Utilities -- COMPARE, CRC, and DIFF
CPMTR          CP/M-Supplied Transients -- PIP, STAT, etc
DU2            Disk Utility -- DU2
HELP           Very Basic Help
HELP2          Help System -- HELP2

I�             Redirectabl� I/� -- DEVICE� IOLOADER� RECORD�
                   SYSIO, and STARTUP/ST
LU             Library Utilities -- LDIRZ, LRUNZ, LU
MCOPY          File Copy Utility -- MCOPY
MENU           Menu System -- MCHECK and MENU

NDIRS          Named Directory Manipulation Utilities -- CD, LD,
                   MKDIR, PWD, STARTUP/ST, and ECHO
XDIR3          Extended Directory Display Utility -- XDIR3

Z2ALT          Alternates to ZCPR2-Resident Commands --
                   ERASE, RENAME, PROTECT, PAGE, PRINT,
                   PATH, and WHEEL
Z2RES          ZCPR2 Resident Commands
ZCPR2          The "Master" Help File


    Onl�� tw� ZCPR� command� ar� no� covere� b� an� Hel� file�  �
The� ar� CCPLO� an� GENINS� whic� ar� covere� i� th� Installatio� �
Manual.


0.2  A Note on File References

    Fil� Reference� unde� ZCPR� ar� largel� o� th� sam� for� a� �
unde� CP/� excep� tha� � � (slash� ma� no� b� th� firs� characte� �
o� � fil� name���  Fil� Reference� ar� processe䠠 slightl� �
differentl�� unde� ZCPR2�� an� th� FCB� ar� slightl�� differen� �
betwee� ZCPR� an� CP/� whe� th� special�� disallowe� character� �
are included in a file reference.

    The following are these disallowed characters:

         < > , ; : = ? * [ ]

    This�� o� course�� applie� t� unambiguou� fil� references�  �
Ambiguous file references may contain ? or *.




0.3  Line Editing and Output Control

    The following are the line editing functions --

         rubout    Delet� an� ech� th� las� characte� type� a� �
��������������������th� console.
         Ctrl-H��  Delet�  th�  las� characte� typed�� Backspac� �
��������������������on� character� CRT-oriented
         Ctrl-U    Delet� th� entir� lin� type� a� th� console.
         Ctrl-X    Delet� th� entir� lin� type� a� th� console� �
��������������������Backspac� t� th� beginnin� o� th� curren� �
��������������������line� CRT-oriented.
         Ctrl-R    Retyp� curren� comman� line��  type� � "clea� �
��������������������line� followin� characte� deletio� wit� rub�
��������������������outs.
         Ctrl-E    Physica� en� o� line��  carriag� i� returned� �
��������������������bu� lin� i� no� sen� unti� th� carriag� re�
��������������������tur� ke� i� depressed.
         Ctrl-M    Terminates input (carriage return).
         Ctrl-J    Terminate� curren� inpu� (lin� feed)�� CRT-�
��������������������oriented
         Ctrl-C    CP/M system reboot (warm start).
         Ctrl-Z    En� inpu� fro� th� consol� (use� i� PIР an� �
��������������������ED).

    Other control functions affect console output --

         Ctrl-P    Cop�� al� subsequen� consol� outpu� t� th� �
��������������������currently-assigne� lis� devic� (LST:)��  Out�
��������������������pu� i� sen� t� bot� th� lis� devic� an� th� �
��������������������consol� devic� unti� th� nex� Ctrl-Рi� �
��������������������typed�  Us� o� Ctrl-� i� no� recommende� a� � �
��������������������genera� rul� unde� ZCPR2� an� i� i� preferre� �
��������������������tha� th� use� emplo�� � Redirectabl� I/� �
��������������������Devic� Drive� fo� thi� function. �
����������Ctrl-S    Sto� th� consol� outpu� temporarily�  Progra� �
��������������������executio� an� outpu� continu� whe� th� nex� �
��������������������characte� i� type� a� th� console��  Typin� �
��������������������Ctrl-� return� contro� t� CP/M.

    Inpu� line� ca� generall� b� quit� long�� th� siz� specifie� �
a� ZCPR� installatio� time��  The� ar� no� acte� upo� unti� th� �
carriag� retur� ke� i� typed.

    Al� o� thes� lin� editin� function� ar� supporte� b�� th� �
CP/� BDO� and�� consequently�� use� b� ZCPR� itself��  Man� ZCPR� �
utilities� alth� no� all� us� th� BDO� lin� edito� also.

.fo Section 1 - Input/Output                           Page   #

1.0  Input/Output

1.1  Redirectable I/O Under ZCPR2

    Basically�� th� concep� o� redirectabl� I/Ϡ involve� th� �
assignmen� o� physica� device� t� logica� devices��  ZCPR�� an� �
CP/� suppor� fou� logica� devices:

         CON: - Console - An I/O Device for User/System Commo
         LST: - Printer - An Output-Only Device for Printouts
         RDR: - Reader  - An Input-Only Device
         PUN: - Punch   - An Output-Only Device

    Unde� CP/M�� ther� ar� onl� fou� physica� device� whic� ma� �
b� assigne� t� eac� o� th� fou� logica� devices��  Unde� ZCPR2� �
ther� ma�� b� a� man� physica� device� a� desire� whic� ma�� b� �
assigned to each of the four logical devices.

    ��� "physica� device�� i� th� traditiona� sens堠 i� � �
conventiona� I/� device�� lik� � CR� o� � Printer��  I� th� sens� �
o� ZCPR2�� i� i� � devic� driver�� o� bod� o� software�� whic� i� �
communicate� wit� vi� th� BIOS��  Thi� bod� o� software� i� turn� �
may communicate with any device OR SET OF DEVICES that it wishes.

    SYSIϠ i� � sampl� se� o� Redirectabl� I/� Driver� designe� �
t� b� use� wit� ZCPR� o� m� system��  Unde� SYSIO�� th� followin� �
"physical devices" are implemented:

CON: Devices - TTY
              CRT
              CRT Input and CRT/Remote Computer Output
              CRT and Modem Input and CRT and Modem Output
                   in Parallel
              CRT Input and CRT/Modem Output

LST: Devices - TTY
              CRT
              Modem
              Remote Computer

RDR: and PUN: Devices - Modem
                       Clock


    A� yo� ca� see�� th� "physica� devices� unde� ZCPR� ca� b� �
combination� o� actua� devices��  Th� CR� Inpu� an� CRT/Remot� �
Compute� Outpu� device�� fo� instance�� i� use� t� allo� � remot� �
compute� recor� scree� display� whic� g� t� th� CRT.


    Unde� ZCPR2�� yo� ca� creat� a� man� sets�� o� packages�� o� �
Redirectabl� I/� Driver� a� yo� wish�  Eac� packag� ca� b� se� u� �
t� giv� th� use� differen� type� o� capabilities��  Fo� instance� �
on� packag� ca� b� lik� th� on� ɠ hav� define� abov� whil� �
anothe� packag� ca� provid� Dis� Recordin� capability�� suc� a� �
CRT Input and CRT/Disk File Output.

    Th� ZCPR�� Syste� o� Program� contain� thre� utilitie� �
designe� t� suppor� th� Redirectabl� I/� System�  Thes� utilitie� �
and their functions are:

         IOLOADER -- Load a Redirectable I/O Package
         DEVICE   -- Display and Select Physical I/O Devices
         RECORD   -- Turn on and off the Recording Facility

    Thi� sectio� o� th� User'� Guid� discusse� thes� utilitie� �
an� ho� the� ar� intende� t� b� used.

    Chapte� �� o� th� "Concept� Manua� fo� ZCPR2�� discusse� �
redirectabl� I/Ϡ a� i� ca� b� implemente� unde� ZCPR2��  Th� �
reader is invited to refer to this for much more detail.


1.2  Loading Redirectable I/O Drivers -- IOLOADER

    IOLOADEҠ i� use� t� loa� a� indicate� o� implie� I/� drive� �
packag� int� you� redirectabl� I/� buffe� area��  IOLOADEҠ i� �
invoked by one of the following forms:

         IOLOADER //              <-- Print Help Message
         IOLOADER                 <-- Load SYSIO.IO
         IOLOADER filename        <-- Load filename.IO
         IOLOADER filename.typ    <-- Load filename.typ

    Not� tha� th� DIR�� prefi� i� NOԠ supporte� wit� thi� �
program��  I� al� case� o� loadin� files� IOLOADE� searche� alon� �
th� ZCPR� pat� fo� th� indicate� o� implie� file�  Onc� found� i� �
is loaded into your redirectable I/O buffer.

    GENINӠ i� use� t� instal� IOLOADER�� an� IOLOADE� nee� onl� �
kno� th� addres� o� th� externa� path� th� symbo� fo� th� curren� �
use� an� dis� indicator�� an� th� addres� o� th� redirectabl� I/� �
buffer�  STARTU� ma� b� use� t� automaticall� execut� IOLOADE� o� �
Col� Boot�� or�� a� ST�� STARTU� ma� b� use� t� execut� IOLOADE� �
wheneve� � director� i� logge� int� b� CD.

1.3  Displaying and Selecting Redirectable I/O Drivers -- DEVICE

    DEVICE�� o� DEVICE�� (s� calle� becaus� i� i� th� secon� �
generatio� o� m� DEVIC� program)�� i� use� t� allo� th� use� t� �
interactivel� displa� th� name� o� th� availabl� physica� device� �
(actually�� devic� drivers� whic� ma� b� assigne� t� th� logica� �
device� an� t� allo� th� use� t� assig� � physica� devic� t� � �
logical device by name. �
    DEVICE is invoked by one of the following forms:

         DEVICE //           <-- Print Help Info
         DEVICE              <-- Enter Interactive Command Mode
         DEVICE cmd,cmd,...  <-- Immediately Execute Commands

    I� al� cases�� wheneve� yo� ar� givin� command� t� DEVICE� �
whethe� i� i� fro� th� comman� leve� o� ZCPR� o� fro� withi� �
DEVIC� itself�� yo� ca� specif� � serie� o� command� separate� b� �
commas.

    The following commands can be given to DEVICE:

         DISPLAY ALL or CON or LST or RDR or PUN
              <-- Display Physical Device Driver Names which
                   can be assigned to CON:, LST:, RDR:, or PUN:
                   Logical Devices; also display the current
                   assignment

         CON or LST or RDR or PUN = Device
              <-- Assign a Physical Device Driver to a Logical
                   Device

    I� al� cases� onl� th� firs� lette� o� DISPLA� an� th� firs� �
lette� o� � Logica� Devic� o� th� wor� "ALL� i� necessary��  Al� �
othe� letter� ar� ignored��  Th� complet� nam� o� th� device� �
however, is necessary.

    Also��� th堠 spac� an� th� characte� "=�� ma�� b� use� �
interchangably and case is not significant.

    The following are examples of DEVICE commands:

         D C,D L or D=C,D=L
              Display CON: and LST: Devices

         con:=crt,list=tty,reader=mode� o� c=crt,� tty,r=modem
              Select the Physical Device Driver called CRT for
              the CON: Logical Device, select TTY for the LST:
              Logical Device, and select MODEM for the RDR:

    Th� followin� termina� sessio� furthe� illustrate� th� us� �
o� DEVIC� wit� m� particula� se� o� Redirectabl� I/� Drivers�  M� �
comments are indicated by <<--.


B7>device display console
DEVICE2, Version 1.3

CON: Devices --
       CRTMOD2  - Televideo 950 CRT Input and CRT/Modem Output
       CRTREM   - Televideo 950 CRT Input and CRT/Remote Output
       CRTMOD   - Televideo 950 CRT and Modem in Parallel
       CRT      - Televideo 950 CRT
       TTY      - Model 43 Printing Terminal
 Current Assignment: CRTMOD

B7>device
DEVICE2, Version 1.3
DEVICE2 Interactive Command System
Type ? and Strike RETURN for Help
DEVICE2 Command? d l,lst:=modem         <<-- Multiple Commands in
                                       <<-- Free Format
LST: Devices --
       MODEM    - DC Hayes Smartmodem
       REMOTE   - Remote Computer
       CRT      - Televideo 950 CRT
       TTY      - Model 43 Printing Terminal
 Current Assignment: TTY
DEVICE2 Command? display list

LST: Devices --
       MODEM    - DC Hayes Smartmodem
       REMOTE   - Remote Computer
       CRT      - Televideo 950 CRT
       TTY      - Model 43 Printing Terminal
 Current Assignment: MODEM

DEVICE2 Command? l tty             <<-- Assign Device
DEVICE2 Command? l ttyx            <<-- How DEVICE Handles Errors
Invalid Name Assignment at -- TTYX
DEVICE2 Command? d l

LST: Devices --
       MODEM    - DC Hayes Smartmodem
       REMOTE   - Remote Computer
       CRT      - Televideo 950 CRT
       TTY      - Model 43 Printing Terminal
 Current Assignment: TTY


DEVICE2 Command? ?                 <<-- Built-In Help
DEVICE2 Commands are of the form:
Command,Command, ...    <-- Issue Commands
where "command" may take the following forms:
               DISPLAY=ALL     <-- Display Names of All Devices
               DISPLAY=CON     <-- Display Names of Consoles
               DISPLAY=LST     <-- Display Names of Printers
               DISPLAY=RDR     <-- Display Names of Readers
               DISPLAY=PUN     <-- Display Names of Punches

               CON:=name       <-- Select Console
               LST:=name       <-- Select Printer
               RDR:=name       <-- Select Reader
               PUN:=name       <-- Select Punch


� comman� lin� beginnin� wit� � semicolo� (;� i� � comment�
Th� � Comman� Exit� DEVICE2.

DEVICE2 Command? x            <<-- Exit



1.4  Controlling the Disk Output Facility -- RECORD

    RECORĠ i� use� t� contro� th� Dis� Outpu� Facilit� o� th� �
Redirectabl� I/� Drivers��  Copie� o� Consol� an� Printe� output� �
ca� b� create� i� dis� file� b� th� us� o� thi� facility�� an� i� �
ma� b� extende� int� � numbe� o� othe� application� a� well.

    RECORD is invoked by one of the following forms:

         RECORD or RECORD //           <-- Get Help
         RECORD ON or OFF              <-- Console Recording
         RECORD ON or OFF PRINTER      <-- Printer Recording

    Fo� RECOR� t� perfor� it� function�� i� mus� b� implemente� �
i� th� Redirectabl� I/� Drivers�  Thi� i
� lef� a� a� exercis� fo� �
th� reader��  Th� Redirectabl� I/� Driver� supplie� wit� ZCPR� �
hav� simpl� RETur� instruction� a� th� subroutine� execute� b� �
the RECORD functions.


    Fou� routine� ar� accesse� i� th� Redirectabl� I/Ϡ Drive� �
package to control the RECORD function.  They are:

         COPEN -- Open File for Recording Console Output
         LOPEN -- Open File for Recording List Output
         CCLOSE -- Close File for Recording Console Output
         LCLOSE -- Close File for Recording List Output

    I� th� case� o� COPE� an� LOPEN�� the� ar� passe� � pointe� �
t� th� firs� twelv� byte� o� a� FC� i� HL��  The� ar� t� cop� �
thes� twelv� byte� int� thei� interna� FCB� an� us� the� t� �
defin� th� fil� names��  Typically� th� outpu� file� generate� b� �
th� RECOR� functio� ar� place� i� th� curren� directory�� alth� �
th� Redirectabl� I/� Driver� ma� b� configure� t� plac� the� �
anywher� desired.

    Whe� RECORĠ i� invoke� t� tur� OΠ on� o� th� recor� �
functions� i� prompt� th� use� fo� th� nam� o� th� fil� t� recor� �
into�  RECOR� the� call� th� appropriat� OPE� routine.

    Th� RECORĠ progra� know� i� dis� fil� outpu� driver� ar� �
availabl� thr� th� Redirectabl� I/� Packag� Statu� Routine��  I� �
Registe� � i� returne� wit� th� high-orde� bi� set�� suc� driver� �
ar� available.

    RECORĠ i� tie� int� th� Redirectabl� I/� Package� an� work� �
wit� them��  Th� reade� i� invite� t� refe� t� th� Installatio� �
Manua� an� th� Concept� Manua� fo� furthe� detai� o� th� �
organizatio� an� functio� o� suc� packages.

    RECOR� i� als� indirectl� tie� int� DEVICE�  Invokin� RECOR� �
itsel栠 doe� no� necessaril�� star� th堠 recordin砠 proces� �
immediately��  Tw� function� mus� tak� plac� t� begi� recordin� �
outpu� ont� dis� files:

         1) RECORD has to turn the appropriate Driver ON
         2) DEVICE has to select the appropriate Driver

    Thi� lead� t� interestin� possiblities��  B� turnin� RECOR� �
OFƠ durin� � recordin� session�� th� outpu� fil� i� close� an� �
availabl� fo� othe� uses��  I� RECOR� i� late� turne� ON�� th� �
outpu� fil� ma�� b� delete� (i� th� sam� fil� i� selecte� t� �
recor� into)��  However� i� � ne� devic� i� selecte� whil� RECOR� �
i� OΠ (say�� DEVICŠ CON:=CR� i� issued)�� the� recordin� i� �
SUSPENDE� (NO� turne� off� unti� th� recordin� devic� i� selecte� �
again��  Hence�� i� i� look� lik� th� recordin� sessio� i� no� �
goin� well�� recordin� ca� b� suspended�� th� proble� fixed�� an� �
the� recordin� ca� b� resumed.


    Thi� combine� syste� o� DEVIC� an� RECOR� provide� � ver� �
flexibl� outpu� recordin� system��  I� addition�� th� outpu� �
recordin� nee� no� necessaril� g� t� � dis� file��  I� coul� b� �
se� u� t� sen� CON� outpu� t� th� CR� and� say� � Remot� Compute� �
fo� processing��  Th� syste� ca� b� configure� i� � larg� numbe� �
o� ways.


1.5  Redirectable I/O and the ZCPR2 System

    Th� ZCPR� Syste� ca� functio� wit� o� withou� Redirectabl� �
I/Ϡ a� implemente� b� th� Redirectabl� I/� Drive� Package� an� �
th� IOLOADER�� DEVICE� an� RECOR� programs�  Obviously� th� ZCPR� �
System is made much more flexible by employing these facilities.

    DEVICŠ an� RECOR� ar� tie� directl� t� th� Redirectable I/� �
Package� themselves�  The� don'� us� an� o� th� othe� feature� o� �
th� ZCPR� Syste� t� spea� of�� an� the� ar� installe� b�� GENIN� �
(the� nee� t� kno� wher� th� Redirectabl� I/� Buffe� i� located)�  �
IOLOADE� als� need� t� b� tol� wher� th� Redirectabl� I/Ϡ Buffe� �
i� locate� b� GENINS�� an� i� use� th� ZCPR� pat� t� fin� it� �
files.

    Th� program� controllin� th� Redirectabl� I/� Driver� ar� �
tied together in this manner:

         IOLOADER loads the drivers
         DEVICE controls the drivers
         RECORD enables and disables the disk recording
              facilities of the drivers


1.6  On the Programming of Terminals

    Th� CR� Terminal� whic� i� usuall� th� principa� devic� use� �
a� � consol� fo� CP/� an� ZCPR2�� i� � first-lin� too� o� th� �
user��  I� i� th� devic� throug� whic� h� see� th� worl� o� hi� �
microcomputer� and� a� such� � fee� tha� i� shoul� b� a� flexibl� �
an� complian� � too� a� possibl� fo� him� bendin� t� hi� wil� an� �
doing as much work for him as possible.

    ɠ foun� tha� th� Televide� 95� provide� � lo� o� th� fea�
ture� tha� � wante� t� se� i� � terminal��  I� soo� becam� evi�
dent�� however� tha� i� wa� necessar� t� se� u� � se� o� softwar� �
unde� ZCPR� whic� woul� progra� th� TV� 95� s� tha� � coul� mak� �
bette� us� o� it��  Th� TV� 95� i� wha� � woul� cal� a� intelli�
gen� terminal�� havin� � built-i� microcompute� whic� provide� �
offlin� editin� an� man� othe� features�� includin� character-�
strin� programmabl� functio� key� an� � statu� line�� whic� mak� �
lif� much�� muc� nicer��  � hav� create� tw� programs� CONFI� an� �
TINIT�� whic� progra� thi� termina� t� m� tastes��  Th� use� i� �
invite� t� rea� th� built-i� documentatio� an� th� documentatio� �
i� th� sourc� code.
.fo Section 2 - The ZCPR2 Directory Utility XDIR3      Page   #

2.0  Directory Utility

2.1  Overview of XDIR3

    XDIR�� i� a� extende� director� displa� utilit� designe� t� �
ru� unde� CP/� 2.� an� suppor� som� o� th� extende� feature� o� �
ZCPR� a� well�  An� conventiona� CP/� 2.� use� ma� us� XDIR3� bu� �
h� shoul� mak� sur� h� turn� of� th� ZCPR2-specifi� feature� b� �
runnin� th� ZCPR� Installatio� Program�� GENINS�� o� XDIR�� an� �
manuall� turnin� the� of� befor� usin� XDIR3.

    XDIR�� automaticall�� adapt� t� an� Org-� CP/͠ 2.�� system� �
regardles� o� th� siz� o� it� disks�  I� read� th� dis� paramete� �
bloc� informatio� fro� th� operatin� syste� t� determin� wha� th� �
attribute� o� th� dis� i� i� workin� wit� are�� an� i� the� �
present� it� displa� informatio� accordingly.

    XDIR3 runs in two basic modes:
         . as a directory display utility
         . as a file scanner utility (File Name Buffer Facility)

    XDIR�� i� � ZCPR� utilit� whic� support� th� extende� ZCPR� �
features� particularl� name� directories.

    A� � director�� displa�� utility��� i� display� t� yo� �
informatio� abou� th� file� o� � particula� dis� i� al� use� �
area� o� � particula� use� area��  I� give� yo�� th� followin� �
information:

         . Name of File
         . Size of File (in K bytes)
         . Attributes of File (Read/Only or System)
         . Sum of Sizes of All Files Displayed
         . Total Number of Files on Disk
         . Amount of Space Remaining on Disk
         . What Disk and What User Area you are looking at

    A� � fil� scanne� utility� i� doe� th� following:

         . Logs a group of selected files to disk for later scan
         . Prints the contents of such a log file
         � Scan� � lo� fil� an� compare� i� wit� th� file�
              selected by you, telling you what files are
              missing and what files are additional


    XDIR� i� quit� human-oriented�� wit� man� built-i� feature� �
whic� provid� � human-interfac� typ� o� servic� t� th� user�  �
Some of these include:

         . Named Directories may be specified
         . The file listing is alphabetized by file name and
              type or file type and name, depending on user
              preference
         . The file listing is organized vertically or
              horizontally, depending on user preference
         . Output may also be sent to disk or printer
         � XDIR� i� designe� t� ru� quickly



2.2  Basic Use of XDIR3 under ZCPR2

    XDIR3 is invoked by one of the following command lines:

         XDIR afn oooo... or XDIR afn /oooo...
and
         XDIR /oooo...

where all elements after the XDIR command are optional.

    'afn�� i� a� ambiguou� fil� reference�� a� describe� o� th� �
followin� frames��  'o� i� a� optio� letter� whic� i� on� o� mor� �
o� th� option� describe� o� th� nex� frame��  Not� tha� sinc� � �
slas� denote� tha� a� optio� follows� a� af� ma� no� begi� wit� � �
slash��  Thi� ca� b� change� b� a� equat� i� th� sourc� cod� o� �
XDIR3 if desired.

         Aa - Set the attributes of the files to be displayed
              a=S for System Files, a=N for Non-System Files
              a=A for All Files (Non-System and System)
         D  - Send Output to Disk
         Ff - Engage File Name Buffer Facility
              f=L to Log File Names to Disk
              f=P to Print Names Logged to Disk
              f=S to Scan Disk for File Names and Compare to
                   Log
         G  - Toggle Grouping (group files by name and type or
                   type and name)
         H  - Toggle Horizontal or Vertical display format
         I  - Inspect files selected by FL option
         N  - Negate Selection; select those files which do NOT
                   match the ambiguous file name
         P  - Send Output to Printer


    'afn' is an ambiguous file reference, of the general form:

         dir:filename.typ

where
    filename.typ   is a conventional CP/M ambiguous file name
                        (wild card characters of ? and * are OK,
                        but file name must NOT start with /)
    dir:           is a ZCPR2 directory specification, which may
                        be one of the following forms:
         d:        where 'd' is a disk letter (A-P) to indicate
                        the current user area on that disk
         u:        where 'u' is a user number (0-31) to indicate
                        that user on the current disk; 'u' may
                        be a '?', in which case all user areas
                        are selected
         du:       where 'du' specifies both disk and user
         name:     where 'name' is the name of a directory
                        (disk/user area)


    Examples of an ambiguous file reference are:

         A:FILE.TXT          A4:FILE.TXT
         ROOT:FILE.TXT       A?:*.COM
         12:*.*              A12:SYSLIB*.*

    Examples of XDIR3 commands are:

         XDIR ROOT:*.COM AAN
              -- Select All Files in directory ROOT which do
                 NOT match *.COM
         XDIR B10: ASD
              -- Select the System Files in B10, and send
                 output to disk as well as console
         XDIR /AADP
              -- Select All Files in current directory, and
                 send output to disk and printer as well as
                 console




2.3  XDIR3 Output Control Options

    These options are:

         D  - Send Output to Disk
         G  - Toggle Grouping (group files by name and type or
                   type and name)
         H  - Toggle Horizontal or Vertical display format
         P  - Send Output to Printer

    � an� � ar� fairl� obvious��  I� � i� specified�� th� outpu� �
goe� t� you� printe� (CP/� LST�� device� a� wel� a� you� console�  �
I� � i� specified�� th� outpu� goe� t� you� curren� director� a� �
th� fil� XDIR.DIR�  I� XDIR.DI� alread� exists� i� i� replaced.

    � an� � ar� toggle� options�  If� vi� GENIN� a� installatio� �
time�� yo� selecte� alphabetizatio� b� fil� nam� an� type�� th� � �
optio� wil� fli� thi� t� alphabetiz� b� fil� typ� an� name�� an� �
vice-versa�  Th� sam� wit� th� � option.

    Ǡ allow� yo� t� selec� you� displa� t� b� alphabetize� b� �
fil� nam� an� typ� o� typ� an� name��  I� b� fil� nam� an� type� �
the� AA.TX� come� befor� BB.COM��  I� b� fil� typ� an� name� the� �
BB.CO͠ come� befor� AA.TXT��  Alphabetizatio� b� fil� nam� an� �
typ� group� file� o� th� sam� nam� togethe� (F� fields�� lik� al� �
XDIR3.�� files)�� whil� b� fil� typ� an� nam� group� file� o� th� �
sam� typ� togethe� (F� fields� lik� al� *.TX� files).

    � allow� yo� t� selec� you� alphabetize� file� t� b� liste� �
dow� th� scree� (vertical� o� acros� th� scree� (horizontal)�  �
Th� scree� i� divide� int� thre� columns�� an� � vertica� listin� �
alphabetize� dow� th� firs� column� the� th� second� an� the� th� �
third� whil� � horizonta� listin� alphabetize� first� second� an� �
third columns on the first line, and so on with each line.

    ɠ lik� t� grou� m� listing� b� fil� typ� first�� an� the� �
name�� an� � als� prefe� th� vertica� displa� format��  Her� i� �
suc� � listing:



XDIR III, Version 1.5    Vertical Listing by File Type and Name
Disk: B  User:   7, File Attributes:  Non-System

Filename.Typ Size K RS   Filename.Typ Size K RS   Filename.Typ Size K RS
-------- --- ------ --   -------- --- ------ --   -------- --- ------ --
SYSLIB  .ART    108      STD     .MSG      4      Z2INS   .WS      52
XDIR3   .BAK     24      TALK    .SUM     12      Z2CON   .WSH      8
DU2     .HLP     36      S100    .TXT      4      Z2INS   .WSH      8
XDIR3   .HLP     24      Z2CON   .WS     112
  11 Files Occupying   392K,    67 Files on Disk and  4020K Free

    Note that we are alphabetized down the columns by file type.

    Some prefer to alphabetize by file name:


XDIR III, Version 1.5    Vertical Listing by File Name and Type
Disk: B  User:   7, File Attributes:  Non-System

Filename.Typ Size K RS   Filename.Typ Size K RS   Filename.Typ Size K RS
-------- --- ------ --   -------- --- ------ --   -------- --- ------ --
DU2     .HLP     36      TALK    .SUM     12      Z2CON   .WS     112
S100    .TXT      4      XDIR1   .DIR      4      Z2CON   .WSH      8
STD     .MSG      4      XDIR3   .BAK     24      Z2INS   .WS      52
SYSLIB  .ART    108      XDIR3   .HLP     24      Z2INS   .WSH      8
  12 Files Occupying   396K,    68 Files on Disk and  4016K Free

    Again�� w� ar� alphabetize� dow� th� columns�� bu� th� orde� �
i� b� fil� nam� an� the� fil� type��  Refe� bac� t� th� previou� �
screen display to compare.

    Finally�� som� prefe� horizonta� a� oppose� t� vertica� �
listings��  Her� i� anothe� listin� whic� i� horizonta� an� �
grouped by file name first.


XDIR III, Version 1.5    Horizontal Listing by File Name and Type
Disk: B  User:   7, File Attributes:  Non-System

Filename.Typ Size K RS   Filename.Typ Size K RS   Filename.Typ Size K RS
-------- --- ------ --   -------- --- ------ --   -------- --- ------ --
DU2     .HLP     36      S100    .TXT      4      STD     .MSG      4
SYSLIB  .ART    108      TALK    .SUM     12      XDIR1   .DIR      4
XDIR2   .DIR      4      XDIR3   .BAK     24      XDIR3   .HLP     24
Z2CON   .WS     112      Z2CON   .WSH      8      Z2INS   .WS      52
Z2INS   .WSH      8
  13 Files Occupying   400K,    69 Files on Disk and  4012K Free



2.4  XDIR3 File Selection Options

    Th� followin� option� (an� th� DIR�� field�� contro� fil� �
selection:

         Aa - Set the attributes of the files to be displayed
              a=S for System Files, a=N for Non-System Files
              a=A for All Files (Non-System and System)
         N  - Negate Selection; select those files which do NOT
                   match the ambiguous file name

    Th� � optio� negate� you� ambiguou� fil� nam� reference� bu� �
i� stay� i� th� SAM� se� o� syste� o� non-syste� files��  Fo� �
instance�� XDIҠ *.CO� /NA� select� al� SYSTE� file� whic� d� NO� �
matc� *.COM�  I� yo� hav� installe� XDIR� t� automaticall� selec� �
bot� SYSTE� an� NON-SYSTE� files�� the� XDI� *.CO� /� wil� selec� �
all non-COM files in your current directory. �
    Th� �� optio� set� th� attribute� o� th� file� t� b� �
displayed��  I� A� i� presented�� the� bot� Non-Syste� an� Syste� �
file� wil� b� displayed��  I� AS�� the� jus� Syste� files� an� i� �
AN� the� jus� Non-System�

    Yo�� ca� se� th� defaul� fil� attribut� displa�� t� b� �
whateve� yo�� desire���  Usin� GENINS��� yo�� ca� hav� XDIR� �
automaticall� selec� jus� th� Syste� files�� jus� th� Non-Syste� �
files�� o� bot� Non-Syste� an� Syste� file� whene
ve� yo� ru� i� �
withou� usin� th� � option.


B7>xdir root:*.com aan

XDIR III, Version 1.5    Vertical Listing by File Type and Name
Disk: A  User:  15, File Attributes:  Non-System System

Filename.Typ Size K RS   Filename.Typ Size K RS   Filename.Typ Size K RS
-------- --- ------ --   -------- --- ------ --   -------- --- ------ --
VITALS  .BAD      4 R    TEXT    .CFG      4 R    NAMES   .DIR      4
ASM     .CFG      4 R    CPZM    .CPM     12 R    BAD     .DOC      8 R
C       .CFG      4 R    CPZMH   .CPM     12 R    NOTESHD .DOC     16 R
PASCAL  .CFG      4 R    FNAMES  .DIR      4      SYSIO   .IO       4 RS
STD     .CFG      4 R    LD      .DIR      4      NEWDISK .ZEX      4 R
  15 Files Occupying    92K,   266 Files on Disk and  1568K Free


    Thi� select� al� non-CO� file� i� th� director� ROOT��  Bot� �
Syste� an� Non-Syste� file� ar� selected��  Not� tha� SYSIO.I� i� �
th� onl�� Syste� fil� whic� wa� selected�� an� i� happen� t� b� �
Read/Only as well.


B7>xdir root:*.com asn
XDIR III, Version 1.5    Vertical Listing by File Type and Name
Disk: A  User:  15, File Attributes:  System

Filename.Typ Size K RS   Filename.Typ Size K RS   Filename.Typ Size K RS
-------- --- ------ --   -------- --- ------ --   -------- --- ------ --
SYSIO   .IO       4 RS
   1 Files Occupying     4K,   266 Files on Disk and  1568K Free



    Thi� select� th� non-CO� Syste� file� i� th� director� ROOT�  �
As expected, SYSIO.IO is the only file given.


B7>xdir root:*.com n
XDIR III, Version 1.5    Vertical Listing by File Type and Name
Disk: A  User:  15, File Attributes:  Non-System

Filename.Typ Size K RS   Filename.Typ Size K RS   Filename.Typ Size K RS
-------- --- ------ --   -------- --- ------ --   -------- --- ------ --
VITALS  .BAD      4 R    TEXT    .CFG      4 R    NAMES   .DIR      4
ASM     .CFG      4 R    CPZM    .CPM     12 R    BAD     .DOC      8 R
C       .CFG      4 R    CPZMH   .CPM     12 R    NOTESHD .DOC     16 R
PASCAL  .CFG      4 R    FNAMES  .DIR      4      NEWDISK .ZEX      4 R
STD     .CFG      4 R    LD      .DIR      4
  14 Files Occupying    88K,   266 Files on Disk and  1568K Free

    Thi� select� th� non-CO� file� i� th� director� ROOԠ whic� �
are Non-System.  Non-System is my selected default for XDIR3.



2.5  XDIR3 File Name Buffer Facility

    Th� option� o� XDIR� whic� dea� wit� th� Fil� Nam� Buffe� �
Facility are:

         Ff - Engage File Name Buffer Facility
              f=L to Log File Names to Disk
              f=P to Print Names Logged to Disk
              f=S to Scan Disk for File Names and Compare to
                   Log
         I  - Inspect files selected by FL option

    Th� fil� selectio� option� com� int� pla� a� wel� wit� th� �
F̠ optio� t� selec� th� file� t� b� place� int� th� lo� file� �
FNAMES.DIR.

    Th� F� optio� write� th� use� number� an� fil� name� o� th� �
selecte� file� t� dis� int� th� fil� name� FNAMES.DIR��  I� �
FNAMES.DI� alread� exists�� the� i� i� rewritten�  Th� FNAMES.DI� �
files is used by the FP and FS options.

    Th� ɠ optio� (fo� inspect� allow� th� use� t� manuall� �
approve each file before its name is placed into FNAMES.DIR.

    Th� F� optio� simpl� print� ou� th� use� number� an� name� �
o� al� th� file� store� i� FNAMES.DIR��  I� FNAMES.DI� i� no� i� �
th� curren� directory�� F� wil� searc� alon� th� ZCPR� pat� unti� �
it finds it or reaches the end of the path.


    Th� F� optio� scan� FNAMES.DI� an� th� file� selecte� b� th� �
use� (o� implie� i� n� specifi� fil� selectio� optio� i� given� �
an� compare� them�  I� � fil� exist� i� FNAMES.DI� bu� no� i� th� �
selecte� files� it� nam� i� printe� a� � missin� file�  I� � fil� �
exist� o� dis� bu� no� i� th� FNAMES.DI� file�� the� it� nam� i� �
printed as an additional file.

    Not� tha� th� use� shoul� kee� i� min� wha� h� i� scannin� �
fo� whe� h� use� th� Fil� Nam� Buffe� Facility�  Fo� instance� i� �
h� select� bot� Non-syste� an� Syste� file� wit� th� F̠ optio� �
an� the� default� t� Non-Syste� wit� th� F� option�� the� severa� �
files will come up missing while this is not necessarily true.

    Usin� GENINS�� th� Installatio� Progra� fo� ZCPR2�� yo�� ca� �
creat� tw� differen� version� o� XDIR�� -- on� fo� Director� �
Displa��� operation� an� on� fo� Fil� Nam� Buffe� Facilit� �
functions�  I� yo� d� this� the� yo� coul� als� se� th� Director� �
Displa� versio� t� wor� wit� Non-Syste� file� b�� default�� whil� �
yo�� coul� se� th� Fil� Nam� Buffe� Facilit� versio� t� wor� wit� �
bot� Non-Syste� an� Syste� files.

    Th� followin� i� � sampl� termina� sessio� whic� illustrate� �
th� us� o� th� XDIR� Fil� Nam� Buffe� Facility��  Comment� ar� �
place� ou� t� th� sid� o� th� command� an� ar� denote� b� "<--".

B7>xdir /fli        <-- Log Files to Disk and Inspect

XDIR III, Version 1.5
Inspection of Files for Logging to Disk
Log  7 DU2     .HLP   to Disk (Y/N/<CR>=Y)? Y
Log  7 S100    .TXT   to Disk (Y/N/<CR>=Y)? N
Log  7 STD     .MSG   to Disk (Y/N/<CR>=Y)? N
Log  7 SYSLIB  .ART   to Disk (Y/N/<CR>=Y)? N
Log  7 TALK    .SUM   to Disk (Y/N/<CR>=Y)? N
Log  7 TEMP    .TXT   to Disk (Y/N/<CR>=Y)? Y
Log  7 XDIR3   .HLP   to Disk (Y/N/<CR>=Y)? Y
Log  7 Z2CON   .WS    to Disk (Y/N/<CR>=Y)? Y
Log  7 Z2CON   .WSH   to Disk (Y/N/<CR>=Y)? Y
Log  7 Z2INS   .WS    to Disk (Y/N/<CR>=Y)? Y
Log  7 Z2INS   .WSH   to Disk (Y/N/<CR>=Y)? Y

Logging File Names to Disk --
        7 File Names to be Logged to Disk
    Horizontal Listing by File Name and Type
U Filename.Typ   U Filename.Typ   U Filename.Typ   U Filename.Typ
- -------- ---   - -------- ---   - -------- ---   - -------- ---
7 DU2     .HLP   7 TEMP    .TXT   7 XDIR3   .HLP   7 Z2CON   .WS
7 Z2CON   .WSH   7 Z2INS   .WS    7 Z2INS   .WSH


B7>xdir /fp         <-- Print out the names of the logged files
XDIR III, Version 1.5

Printout of Recrded File Names --
        7 File Names Recorded
    Horizontal Listing by File Name and Type
U Filename.Typ   U Filename.Typ   U Filename.Typ   U Filename.Typ
- -------- ---   - -------- ---   - -------- ---   - -------- ---
7 DU2     .HLP   7 TEMP    .TXT   7 XDIR3   .HLP   7 Z2CON   .WS
7 Z2CON   .WSH   7 Z2INS   .WS    7 Z2INS   .WSH

B7>era temp.txt          <-- Erase one of the logged files
TEMP    .TXT             <--   for this demo
B7>xdir /fs              <-- Scan the disk

XDIR III, Version 1.5
File Name Scanner
Files Named in FNAMES.DIR missing from Disk --
    Horizontal Listing by Fie Name and Type
U Filename.Typ   U Filename.Typ   U Filename.Typ   U Filename.Typ
- -------- ---   - -------- ---   - -------- ---   - -------- ---
7 TEMP    .TXT
Additional Files on Disk NOT in FNAMES.DIR --
    Horizontal Listing by File Name and Type
U Filename.Typ   U Filename.Typ   U Filename.Typ   U Filename.Typ
- -------- ---   - -------- ---   - -------- ---   - -------- ---
7 FNAMES  .DIR   7 S100    .TXT   7 STD     .MSG   7 SYSLIB  .ART
7 TALK    .SUM
File Scan Complete



2.6  Use of XDIR3 on Secure Systems

    O� Secur� Systems� suc� a� Remot� CP/� Systems� XDIR� ma� b� �
configured�� vi� GENINS�� t� provid� � secur� director�� utility�  �
Som� idea� alon� thi� lin� include:

         . You can install XDIR3 so that it cannot look at any
              directory other than the one it is in
         . You can install XDIR3 so that you can look at the
              current user area on any disk, but not in other
              user areas
         . You can install XDIR3 so that you can look at all
              user areas on the current disk, but not on any
              other disk
         . You can install XDIR3 so that you cannot look at any
              System files
         . You can install XDIR3 so that none of the F options
              are available
         � Yo� ca� instal� XDIR� s� tha� user� ma� lis� th�
              files (FP) or scan the disk (FS), but not log
              files to disk (FL)

    Thes� ar� jus� som� o� th� way� � hav� designe� XDIR� t� b� �
flexibl� i� thes� type� o� environments��  I� � mor� conventiona� �
environment�� suc� a� � softwar� developmen� environment�� yo� �
woul� probabl�� wan� XDIR�� t� giv� yo�� complet� acces� t� �
everything.

    Se� th� nex� sectio� o� installatio� fo� mor� detail� o� �
setting XDIR3 capabilities and defaults.

2.7  Installation of XDIR3

    GENINӠ i� th� installatio� progra� whic� come� alon� wit� �
ZCPR�� an� allow� th� use� t� defin� th� basi� capabilitie� an� �
defaul� function� execute� b� � particula� cop�� o� � ZCPR� �
utility��  GENIN� i� awar� o� th� specifi� requirement� o� al� o� �
th� ke� ZCPR� utilities�� includin� XDIR3�� an� adapt� fo� eac� �
utility'� specifi� needs.

    Whe� GENIN� i� executed�� i� ask� th� use� fo� th� nam� o� �
th� fil� t� b� installed��  Th� use� ma� specif� thi� fil� i� th� �
norma� ZCPR� format:

         dir:filename.typ

    GENINӠ wil� rea� th� firs� bloc� o� thi� file�� whic� �
contain� th� customizatio� information�� an� the� allo� yo� t� d� �
on� o� thre� thing� (it� basi� comman� prompt):

         . Display the Current Features
         . Set the Features of the program to the user's liking
         . Exit and optionally create a new COM file

    Th� feature� whic� ma� b� se� b� th� syste� manage� unde� �
GENINS for XDIR3 are:

         . Whether the user may specify a directory (disk/user)
         . If directory specification is allowed, whether the
              user may specify just disk or just user (but not
              necessarily both)
         . Whether the user may employ any of the F options
         . If the F options may be used, if the user may employ
              the FL option specificially
         . Whether the user may employ the AS option
         . Whether XDIR3 will perform a Directory Display
              of File Name Buffer Facility function by default
         . Whether XDIR3 will display Non-System or System files
              (or both) by default
         . Whether the alphabetization will be by file name and
              type or type and name by default
         . Whether the listing will be vertical or horizontal by
              default
         � Whethe� ZCPR� Externa� Path� ar� available� and� i�
              so, what the base path address is

    I� th� use� i� no� runnin� ZCPR2�� h� shoul� disabl� al� o� �
the ZCPR2 features.

















              This Page Intentionally Left Blank

                   For the Sake of My Sanity

  Figuring This One Out is Left as an Exercise for the Reader



.fo Section 3 - Disk Utility                           Page   #

3.0  Disk Utility

3.1  Invoking DU2 and DU2 Installation

    DU2 is invoked by a command line of the following form:

         DU2 <text>

wher� <text� i� an� vali� DU� comman� sequence�� I� th� firs� tw� �
character� o� <text� ar� '/?'�� th� built-i� documentatio� i� �
displaye� an� th� use� i� returne� t� CP/M�� a� pe� th� TOOLSE� �
Convention.

 Examples:

  DU2 /?
    -- Displa� Built-i� Documentation

  DU2 lb,g0,d
    -- Execut� command� t� Lo� i� Driv� B�� got� Grou� 0�� an� �
displa� th� firs� Bloc� o� Grou� 0

    DU�� i� designe� t� b� installe� wit� � minimu� o� trouble� �
I� fact�� i� almos� al� cases�� n� change� t� th� sourc� fil� �
shoul� b� necessar� t� ge� DU� u� an� running�� Thi� i� becaus� �
DU� use� th� dis� paramete� bloc� o� CP/� t� determin� th� char-�
acteristic� o� th� dis� environment.

    Th� onl� parameter� tha� shoul� nee� t� b� change� wil� b� �
th� cloc� spee� fla� an� th� numbe� o� line� o� th� CON�� Device� �
GENIN� ca� b� use� t� perfor� thi� installation�

    DU� i� intende� fo� us� o� � ZCPR� system�� A� such� i� wil� �
onl�� ru� wit� � Z8� microprocesso� an� o� � CP/� 2.� (o� higher� �
system� DU� wil� NO� ru� o� CP/� 1.4.


3.2  DU2 Command Summary

@    Exec Prev Command             =data     Search for data
<    Save Current Block in Temp    >         Get Saved Block
<B   Save Current Block on Queue   >B        Get Block from Queue
<G   Save Current Group on Queue   >G        Get Current Group
<Gn  Save Group N on Queue         >Gn       Get Group N
#    Print Disk Stats              ?         Print Help Info
+n   Advance to Next Sector        -n        Back up to Last Sec
!    Halt and Wait for User        /nn       Repeat Command Line

n    Exec Macro (0<=n<=9)          :n<text>  Define Macro n
:Pn Print Macro n                 :PA       Print All Macros
:P@ Print Prev Command

An-n      ASCII Dump               Hn-n      Hex Dump
Dn-n      ASCII and Hex Dump

CAn vals or CAn1-n2 val       Change ASCII Values
CHn vals or CHn1-n2 val       Change Hex Values

Ffile     Find File                Uu        Set User u for F

Tn   Position to Track n (dec)     Sn        Position to Sec n
Gn   Position to Group n (hex)     G         Show position

Ld   Log in Disk                   N         New Disk

M    Map Disk                      Mn        Show file in Group n

P    Toggle Printer

Q    Print Queue Statistics        QZ        Zero (Empty) Queue
QSfile    Save Queue as File

R    Read Current Block            W         Write Current Block

Vn   View n blocks                 Zn        Sleep n Seconds

X    Exit to CP/M; opt Warm Boot   ^C        Exit to CP/M

    �� comman� lin� ma� consis� o� onl� on� comman� o� � serie� �
o� command� separate� b� commas��  I� th� latte� form�� th� �
command� ar� execute� sequentially��  Th� onl� exception� t� thi� �
rul� ar� th� :ntex� comman� (whic� store� th� comman� lin� awa� �
a� � macro� an� th� *n� comman� (whic� repeat� th� comman� line).


3.3  Commands for Logging and Viewing Disk Parameters

    Th� followin� command� ar� discusse� i� thi� sectio� o� th� �
HELP file:

         F -- Find File
         L -- Log in Disk
         N -- New Disk (Reset Disk System)
         M -- Map Disk Directory
         U -- Select User Number
         # -- Print Disk and Queue Statistics


                         Ffilename.typ

    Prin� director�� fo� fil� "filename.typ"��  Thi� comman� �
present� th� director�� entr�� fo� th� firs� exten� o� th� �
indicate� file��  Se� th� sectio� o� "Interpretin� th� DU� �
Director�� Display� fo� inf� o� ho� t� interpre� th� informatio� �
presented.

    Example (actual DU2 session):

DU2  B1? fz80.mac
40  015A3830 20202020  204D4143 0000000E  *.Z80     MAC....*
50  9A000000 00000000  00000000 00000000  *................*
Group = 0000:00, Track = 122, Sector = 1, Physical Sector = 1

DU2  B1? ftest.txt
++ File Not Found ++
Group = 0000:00, Track = 122, Sector = 1, Physical Sector = 1


                             L[d]

    Th� simpl� "L� comman� re-log� i� th� curren� disk�� Yo� ma� �
pul� ou� � disk�� pu� i� � new�� an� "L� jus� t� lo� i� in��  Th� �
for� "Ld"�� wher� � i� � vali� driv� lette� (lik� "LB")�� i� use� �
t� lo� i� � specifi� dis� an� permi� yo�� t� wor� o� tha� �
particula� dis� fro� thi� tim� foreword.

    Example (actual DU2 session):

DU2  B1? l

DU2  B1? la

DU2  A1? lb


                               N

    Thi� tell� DU� tha� yo� jus� pu� i� � ne� disk�� Fo� thos� �
BIOӠ implementation� tha� nee� t� b� tol� specificall�� (Reset� �
tha� � dis� chang� ha� bee� made� us� thi� comman� ever� tim� yo� �
chang� � dis� whil� DU� i� running.

    Example:

DU2  B1? n

    Note��  Ther� wa� � significan� dela� befor� th� promp� �
returned.  A complete disk system reset took place.



                             M[n]

    Dump� � ma� o� th� grou� allocation� fo� files�� M� show� �
whic� fil� i� allocate� t� grou� "n".

    Example (actual DU2 session, edited):

DU2  B1? m
0010-0010  07 STD     .MSG 00 : 0011-0011  07 TALK    .SUM 00
0012-0012  07 Z2CON   .WSH 00 : 0013-0013  00 LDIR    .C   00
0014-001
4  00 COMMAND .LBR 01 : 0015-0015  00 LDIR    .C   00
    < Detail Left Out >
004B-004B  08 MASTER  .CAT 03 : 004C-0050  00 COMMAND .LBR 05
0051-0051  00 COMMAND .LBR 07 : 0052-0052  00 UNERA15 .COM 00
0053-0053  08 MENU    .CPR 00 : 0054-0057  00 COMMAND .LBR 07
Type Any Character to Continue or ^C to Abort -
DU2  B1? m54
0054-0057  00 COMMAND .LBR 07 :
Group = 0000:00, Track = 122, Sector = 1, Physical Sector = 1


    The entries are divided up as follows:

0010-0010  07 STD     .MSG 00 : 0011-0011  07 TALK    .SUM 00
 ^        ^    ^          ^
 |        |    Filename   Extent
 |        User Number
 Group Range


                              Uu

    Log� use� 'u� fo� nex� � (Fin� File� command.

    Example (actual DU2 session):

DU2  B1? u7

DU2  B7? u1


                               #

    Prints the disk parameters:

    . Current Disk Drive          . Number of Tracks on Disk
    . Size of Group in Blocks     . Number of Sectors Per Track
    . Number of Groups on Disk    . Number of Directory Entries
    . Number of System Tracks

    Prints the queue statistics:

    . Size of Queue               . Space Available

    Example (actual DU2 session):


DU2  B1? #
+=============================+
|    -- Queue Information --  |
+-----------------------------+
0 Blocks in Queue
249 Blocks Left in Queue
Address of Head of Queue: 3E00 Hex
Address of Tail of Queue: 3E00 Hex


+=============================+
|    -- Disk Information --   |
+-----------------------------+

Disk Drive:         B
Tracks:             244
Sectors/Track:      336
Group Size:         32 Blocks/Group
Total Groups:       1280
Directory Entries:  512
System Tracks:      122
===============================


3.4  Commands for Positioning and Reading Data

    Th� followin� command� ar� discusse� i� thi� sectio� o� th� �
HELP file:

         G -- Position to Group
         S -- Position to Sector
         T -- Position to Track
         R -- Read Block
         W -- Write Block
         + -- Advance to Next Logical Sector
         - -- Backup to Last Logical Sector



                             G[nn]

    Positio� t� grou� n� an� rea� block��  I� th� for� i� simpl� �
"G", show your current position.

    Example (actual DU2 session):

DU2  B1? g0
Group = 0000:00, Track = 122, Sector = 1, Physical Sector = 1

DU2  B1? g4
Group = 0004:00, Track = 122, Sector = 129, Physical Sector = 129

DU2  B1? g
Group = 0004:00, Track = 122, Sector = 129, Physical Sector = 129

DU2  B1? g0
Group = 0000:00, Track = 122, Sector = 1, Physical Sector = 1



                          Tnn and Snn

    "Tnn�� doe� � see� t� trac� n� bu� doe� no� rea� � block�  �
"Snn�� position� t� secto� n� o� th� curren� trac� an� read� th� �
bloc� there.  Example (actual DU2 session):

DU2  B1? t124
Group = 0015:00, Track = 124, Sector = 1, Physical Sector = 1

DU2  B1? s24
Group = 0015:17, Track = 124, Sector = 24, Physical Sector = 24


                            R and W

    � read� th� bloc� currentl� positione� t� int� memory�� Not� �
� (Read� i� implici� i� th� G�� +� an� - commands� bu� NO� i� th� �
� an� � commands.

    � write� bac� th� curren� bloc� (NOTE� ma� no� b� use� afte� �
a� Ơ command�� a� CP/͠ wa� use� t� fin� th� fil� i� th� �
directory).

    Examples:

DU2  B1? r

DU2  B1? w


                        +[nn] and -[nn]

    "+�� advance� � secto� (i� belo� trac� 2�� thi� advance� t� �
nex� numerica� secto� an� i� � o� more�� advance� base� o� th� �
system'� secto� skewin� algorithm�� i.e�� s� � wil� ge� th� nex� �
logica� secto� o� th� file)�  "-� backup� u� � secto� i� th� sam� �
sense.

    Not� � an� - ma� tak� a� amount�� fo� example�� +1� step� i� �
1� sectors� Not� als� tha� "-� issue� a� th� firs� logica� secto� �
o� th� dis� wil� wra� bac� t� th� las� an� "+� issue� a� las� �
secto� wil� wra� forwar� t� th� first.

    Examples (actual DU2 session):

DU2  B1? g0
Group = 0000:00, Track = 122, Sector = 1, Physical Sector = 1

DU2  B1? d
00  07535444 20202020  204D5347 00000002  *.STD     MSG....*
10  10000000 00000000  00000000 00000000  *................*
20  004C4449 52202020  20432020 00000038  *.LDIR    C  ...8*
30  13001500 00000000  00000000 00000000  *................*
40  0843504D 55472020  20434154 01000046  *.CPMUG   CAT...F*
50  1C001E00 38003D00  41004300 45000000  *....8.=.A.C.E...*
60  00434F4D 4D414E44  204C4252 01000080  *.COMMAND LBR....*
70  14001600 17001800  19001A00 1B001D00  *................*


DU2  B1? +d
Group = 0000:01, Track = 122, Sector = 2, Physical Sector = 2
00  0754414C 4B202020  2053554D 00000049  *.TALK    SUM...I*
10  11002300 24000000  00000000 00000000  *..#.$...........*
20  00554E45 52413135  2041534D 00000060  *.UNERA15 ASM...`*
30  3E003F00 40000000  00000000 00000000  *>.?.@...........*
40  075A3249 4E532020  20575348 0000002A  *.Z2INS   WSH...**
50  21002500 00000000  00000000 00000000  *!.%.............*
60  075A3243 4F4E2020  20575348 0000003F  *.Z2CON   WSH...?*
70  12002200 00000000  00000000 00000000  *..".............*

DU2  B1? +d
Group = 0000:02, Track = 122, Sector = 3, Physical Sector = 3
00  07445532 20202020  2042414B 00000057  *.DU2     BAK...W*
10  26002800 29000000  00000000 00000000  *&.(.)...........*
20  04535441 52545550  20C3CF4D 0000001E  *.STARTUP COM....*
30  27000000 00000000  00000000 00000000  *'...............*
40  00434F4D 4D414E44  204C4252 03000080  *.COMMAND LBR....*
50  1F002000 30003100  32003300 34003500  *.. .0.1.2.3.4.5.*
60  00434F4D 4D414E44  204C4252 05000080  *.COMMAND LBR....*
70  36003700 39004C00  4D004E00 4F005000  *6.7.9.L.M.N.O.P.*

DU2  B1? +2
Group = 0000:04, Track = 122, Sector = 5, Physical Sector = 5

DU2  B1? d
00  084D4153 54455220  20434154 01000080  *.MASTER  CAT....*
10  2D002F00 3A003B00  3C004200 44004600  *-./.:.;.<.B.D.F.*
20  00464958 54455820  2041534D 0100001E  *.FIXTEX  ASM....*
30  65006600 69006B00  6C000000 00000000  *e.f.i.k.l.......*
40  00554E45 52413135  20434F4D 00000007  *.UNERA15 COM....*
50  52000000 00000000  00000000 00000000  *R...............*
60  084D454E 55202020  20C35052 00000008  *.MENU    CPR....*
70  53000000 00000000  00000000 00000000  *S...............*

DU2  B1? -3d
Group = 0000:01, Track = 122, Sector = 2, Physical Sector = 2
00  0754414C 4B202020  2053554D 00000049  *.TALK    SUM...I*
10  11002300 24000000  00000000 00000000  *..#.$...........*
20  00554E45 52413135  2041534D 00000060  *.UNERA15 ASM...`*
30  3E003F00 40000000  00000000 00000000  *>.?.@...........*
40  075A3249 4E532020  20575348 0000002A  *.Z2INS   WSH...**
50  21002500 00000000  00000000 00000000  *!.%.............*
60  075A3243 4F4E2020  20575348 0000003F  *.Z2CON   WSH...?*
70  12002200 00000000  00000000 00000000  *..".............*




3.5  Commands for Searching for Data

                            =string

    Thi� comman� perform� � searc� fo� th� indicate� ASCI� text� �
startin� a� curren� sector�� <xx� he� ma� b� imbedded�� o� use� �
alone��  T� fin� "I� 0FEH"�� =<db><fe>��  Bi� � i� ignore� unles� �
<xx� i� used�  Not� that� du� t� th� parsin� schem� o� DU2� form� �
suc� a� "+=string"�� whic� position� t� th� nex� secto� an� the� �
start� th� search�� ar� allowed��  Form� lik� "+2=string�� ar� �
equally permitted.  The search may be aborted by a ^C.  Example:

DU2  B1? g0
Group = 0000:00, Track = 122, Sector = 1, Physical Sector = 1

DU2  B1? =DU2
= at 24
Group = 0000:0E, Track = 122, Sector = 15, Physical Sector = 15

DU2  B1? d
00  07533130 30202020  20545854 0000000C  *.S100    TXT....*
10  0C010000 00000000  00000000 00000000  *................*
20  07445532 20202020  2042414B 00000068  *.DU2     BAK...h*
30  2A006100 6D007800  00000000 00000000  **.a.m.x.........*
40  015A3830 20202020  204D4143 0000000E  *.Z80     MAC....*
50  9A000000 00000000  00000000 00000000  *................*
60  E5444953 4B4F5554  20434F4E 00000020  *eDISKOUT CON... *
70  60000000 00000000  00000000 00000000  *`...............*

DU2  B1? +=DU2
Group = 0000:0F, Track = 122, Sector = 16, Physical Sector = 16
= at 64
Group = 0000:10, Track = 122, Sector = 17, Physical Sector = 17

DU2  B1? d
00  075A3243 4F4E2020  20575320 05000080  *.Z2CON   WS ....*
10  3D013E01 3F014001  41014201 43014401  *=.>[email protected].*
20  075A3243 4F4E2020  20575320 06000077  *.Z2CON   WS ...w*
30  45014601 47014801  00000000 00000000  *E.F.G.H.........*
40  E5444953 4B4F5554  20434F4E 00000020  *eDISKOUT CON... *
50  97000000 00000000  00000000 00000000  *................*
60  07445532 20202020  20484C50 01000006  *.DU2     HLP....*
70  98009900 9B009C00  9D000000 00000000  *................*


DU2  B1? +=DU2,d
Group = 0000:11, Track = 122, Sector = 18, Physical Sector = 18
= at 24
Group = 0000:11, Track = 122, Sector = 18, Physical Sector = 18
00  E547454E 494E5320  204D4143 01000080  *eGENINS  MAC....*
10  D700EF00 F000F400  F500F600 F700F800  *W.o.p.t.u.v.w.x.*
20  E5445532 20202020  2041534D 01000080  *eDU2     ASM....*
30  EC00ED00 EE00FA00  07010B01 0E011301  *l.m.n.z.........*
40  04445532 20202020  20C3CF4D 0000004E  *.DU2     COM...N*
50  F100F200 F3000000  00000000 00000000  *q.r.s...........*
60  E547454E 494E5320  204D4143 02000039  *eGENINS  MAC...9*
70  F9000F01 00000000  00000000 00000000  *y...............*



3.6  Commands for Saving and Restoring Data

    Th� followin� command� ar� discusse� i� thi� sectio� o� th� �
HELP file:

         <  -- Save Current Block
         >  -- Restore Saved Block
         <B -- Save Current Block at Tail of Queue
         >B -- Load Current Block from Head of Queue
         <G -- Read and Save Group at Tail of Queue
         >G -- Copy Group from Head of Queue and Write
         Q  -- Print Queue Statistics
         QZ -- Zero (Clear) Queue
         QS -- Save Queue as a File



                            < and >

    "<�� save� curren� bloc� i� a� interna� sav� buffer��  ">� �
copie� th� interna� sav� buffe� int� th� curren� bloc� are� (bu� �
doe� NO� writ� i� ou� t� disk).

                           <B and >B

    "<B� save� th� curren� bloc� ont� th� tai� o� th� DU� Queue�  �
Thi� Queue�� � FIF� (Firs� In-Firs� Out� dat� structure�� ca� b� �
use� t� collec� � numbe� o� block� fo� late� cop� t� � dis� fil� �
o� explici� placemen� somewher� o� th� disk��  ">B� extract� th� �
bloc� a� th� hea� o� th� DU� Queu� an� place� i� int� th� workin� �
buffe� area.



                       <G[nn] and >G[nn]

    "<G� read� th� curren� grou� an� save� i� o� tai� o� th� DU� �
Queue��  Th� siz� o� � grou� i� dependen� o� th� forma� o� th� �
disk�� an� DU�� automaticall� adjust� t� th� prope� grou� siz� �
withou� yo� havin� t� worr� abou� wha� i� is��  ">G� copie� th� �
grou� a� th� hea� o� th� DU� Queu� ont� disk�  I� n� i� specifie� �
(a� i� "<Gnn� o� ">Gnn")�� the� th� indicate� grou� i� rea� fro� �
o� writte� to��  I� n� i� no� given�� the� th� grou� yo�� ar� �
currentl� positione� t� i� affected.

                       Q, QZ, and QSfile

    Ѡ report� th� statu� o� th� DU�� Queue�� namel�� ho�� man� �
block� ar� store� i� i� an� ho� muc� spac� remains��  Qڠ zeroe� �
(clears� th� DU� Queue��  "QSfilename.typ� save� th� DU� Queu� o� �
disk in the current user area as the indicated file.

    Examples (actual DU2 session):


DU2  B1? g0
Group = 0000:00, Track = 122, Sector = 1, Physical Sector = 1

DU2  B1? d
00  07535444 20202020  204D5347 00000002  *.STD     MSG....*
10  10000000 00000000  00000000 00000000  *................*
20  004C4449 52202020  20432020 00000038  *.LDIR    C  ...8*
30  13001500 00000000  00000000 00000000  *................*
40  0843504D 55472020  20434154 01000046  *.CPMUG   CAT...F*
50  1C001E00 38003D00  41004300 45000000  *....8.=.A.C.E...*
60  00434F4D 4D414E44  204C4252 01000080  *.COMMAND LBR....*
70  14001600 17001800  19001A00 1B001D00  *................*

DU2  B1? <

DU2  B1? ch0-7f e5

DU2  B1? d
00  E5E5E5E5 E5E5E5E5  E5E5E5E5 E5E5E5E5  *eeeeeeeeeeeeeeee*
10  E5E5E5E5 E5E5E5E5  E5E5E5E5 E5E5E5E5  *eeeeeeeeeeeeeeee*
20  E5E5E5E5 E5E5E5E5  E5E5E5E5 E5E5E5E5  *eeeeeeeeeeeeeeee*
30  E5E5E5E5 E5E5E5E5  E5E5E5E5 E5E5E5E5  *eeeeeeeeeeeeeeee*
40  E5E5E5E5 E5E5E5E5  E5E5E5E5 E5E5E5E5  *eeeeeeeeeeeeeeee*
50  E5E5E5E5 E5E5E5E5  E5E5E5E5 E5E5E5E5  *eeeeeeeeeeeeeeee*
60  E5E5E5E5 E5E5E5E5  E5E5E5E5 E5E5E5E5  *eeeeeeeeeeeeeeee*
70  E5E5E5E5 E5E5E5E5  E5E5E5E5 E5E5E5E5  *eeeeeeeeeeeeeeee*


DU2  B1? >,d
00  07535444 20202020  204D5347 00000002  *.STD     MSG....*
10  10000000 00000000  00000000 00000000  *................*
20  004C4449 52202020  20432020 00000038  *.LDIR    C  ...8*
30  13001500 00000000  00000000 00000000  *................*
40  0843504D 55472020  20434154 01000046  *.CPMUG   CAT...F*
50  1C001E00 38003D00  41004300 45000000  *....8.=.A.C.E...*
60  00434F4D 4D414E44  204C4252 01000080  *.COMMAND LBR....*
70  14001600 17001800  19001A00 1B001D00  *................*

DU2  B1? q
** Queue Status Summary **
0 Blocks in Queue
249 Blocks Left in Queue
Address of Head of Queue: 3E00 Hex
Address of Tail of Queue: 3E00 Hex

DU2  B1? <g
Reading from Group 0000
32 Blocks in Queue
Group = 0000:00, Track = 122, Sector = 1, Physical Sector = 1

DU2  B1? g1
Group = 0001:00, Track = 122, Sector = 33, Physical Sector = 33

DU2  B1? <g
Reading from Group 0001
64 Blocks in Queue
Group = 0001:00, Track = 122, Sector = 33, Physical Sector = 33

DU2  B1? q
** Queue Status Summary **
64 Blocks in Queue
185 Blocks Left in Queue
Address of Head of Queue: 3E00 Hex
Address of Tail of Queue: 5E00 Hex

DU2  B1? qsdir.sys
Queue Saved in File

DU2  B1? qz
** Queue Status Summary **
0 Blocks in Queue
249 Blocks Left in Queue
Address of Head of Queue: 3E00 Hex
Address of Tail of Queue: 3E00 Hex

DU2  B1? g0
Group = 0000:00, Track = 122, Sector = 1, Physical Sector = 1


DU2  B1? <b
1 Blocks in Queue

DU2  B1? +<b
Group = 0000:01, Track = 122, Sector = 2, Physical Sector = 2
2 Blocks in Queue

DU2  B1? +<b
Group = 0000:02, Track = 122, Sector = 3, Physical Sector = 3
3 Blocks in Queue

DU2  B1? +<b
Group = 0000:03, Track = 122, Sector = 4, Physical Sector = 4
4 Blocks in Queue

DU2  B1? +2<b
Group = 0000:05, Track = 122, Sector = 6, Physical Sector = 6
5 Blocks in Queue



3.7  Commands for Viewing Data


                             V[nn]

    ֠ view� th� curren� bloc� a� ASCI� characters��  Th� for� �
"Vnn�� view� th� indicate� numbe� o� block� startin� a� th� �
curren� one.

                          A, D, and H

    Ġ display� � bloc� o� portio� thereo� i� bot� hexadecima� �
notatio� an� a� ASCI� characters��  � display� � bloc� o� portio� �
thereo� a� ASCI� characters�� an� � display� � bloc� o� portio� �
thereo� a� hexadecima� numbers��  Al� thre� command� accep� � �
range� suc� a� th� following:

                       D0-#7F  is the same as just D
                       D3-5
                       A20-#3F

    See next section for examples.


3.8  Commands for Altering Data


                           CH and CA

    CȠ allow� th� use� t� chang� th� content� o� th� curren� �
bloc� b� specifyin� ne� value� a� hexadecima� numbers�  C� allow� �
the same by specifying an ASCII character string.

CHaddr val val val...
    Change Hex data values in block

CAaddr char string...
    Change ASCII data values in block

    NOT� tha� <xx� ma� b� he� imbedde� i� th� ASCII�
         ca0 OK<d><a><1a>

    Use W to write changes to disk.

    Ranges may be specified:

CHaddr-addr byte or CAaddr-addr byte
    Changes a range of bytes to the same value

    Examples (actual DU2 session):

DU2  B7? g0
Group = 0000:00, Track = 122, Sector = 1, Physical Sector = 1

DU2  B7? d
00  07535444 20202020  204D5347 00000002  *.STD     MSG....*
10  10000000 00000000  00000000 00000000  *................*
20  004C4449 52202020  20432020 00000038  *.LDIR    C  ...8*
30  13001500 00000000  00000000 00000000  *................*
40  0843504D 55472020  20434154 01000046
*.CPMUG   CAT...F*
50  1C001E00 38003D00  41004300 45000000  *....8.=.A.C.E...*
60  00434F4D 4D414E44  204C4252 01000080  *.COMMAND LBR....*
70  14001600 17001800  19001A00 1B001D00  *................*

DU2  B7? d0-#f
00  07535444 20202020  204D5347 00000002  *.STD     MSG....*

DU2  B7? h0-#f
00  07535444 20202020  204D5347 00000002

DU2  B7? a0-#f
00  *.STD     MSG....*

DU2  B7? fdu2.hlp
20  07445532 20202020  20484C50 01000039  *.DU2     HLP...9*
30  28009800 99009B00  9C009D00 00000000  *(...............*
Group = 0000:00, Track = 122, Sector = 1, Physical Sector = 1
�DU2  B7? g28
Group = 0028:00, Track = 125, Sector = 273, Physical Sector = 273

DU2  B7? d
00  496E766F 6B696E67  20445532 20616E64  *Invoking DU2 and*
10  20445532 20496E73  74616C6C 6174696F  * DU2 Installatio*
20  6E0D0A44 55322043  6F6D6D61 6E642053  *n..DU2 Command S*
30  756D6D61 72790D0A  436F6D6D 616E6473  *ummary..Commands*
40  20666F72 204C6F67  67696E67 20446973  * for Logging Dis*
50  6B732061 6E642045  78616D69 6E696E67  *ks and Examining*
60  20446973 6B205061  72616D65 74657273  * Disk Parameters*
70  0D0A436F 6D6D616E  64732066 6F722050  *..Commands for P*

DU2  B7? v
Invoking DU2 and DU2 Installation
DU2 Command Summary
Commands for Logging Disks and Examining Disk Parameters
Commands for P
Group = 0028:00, Track = 125, Sector = 273, Physical Sector = 273

DU2  B7? v3
Invoking DU2 and DU2 Installation
DU2 Command Summary
Commands for Logging Disks and Examining Disk Parameters
Commands for Positioning and Reading Data
Commands for Searching for Data
Commands for Saving and Restoring Data
Commands for Viewing data
Commands for Altering Data
Commands for Manipulating Macros and the @ Command
Miscellanea
Examples of command use
Interpret
Group = 0028:02, Track = 125, Sector = 275, Physical Sector = 275


DU2  B7? g28
Group = 0028:00, Track = 125, Sector = 273, Physical Sector = 273

DU2  B7? d
00  496E766F 6B696E67  20445532 20616E64  *Invoking DU2 and*
10  20445532 20496E73  74616C6C 6174696F  * DU2 Installatio*
20  6E0D0A44 55322043  6F6D6D61 6E642053  *n..DU2 Command S*
30  756D6D61 72790D0A  436F6D6D 616E6473  *ummary..Commands*
40  20666F72 204C6F67  67696E67 20446973  * for Logging Dis*
50  6B732061 6E642045  78616D69 6E696E67  *ks and Examining*
60  20446973 6B205061  72616D65 74657273  * Disk Parameters*
70  0D0A436F 6D6D616E  64732066 6F722050  *..Commands for P*


DU2  B7? ch0-10 0

DU2  B7? d
00  00000000 00000000  00000000 00000000  *................*
10  00445532 20496E73  74616C6C 6174696F  *.DU2 Installatio*
20  6E0D0A44 55322043  6F6D6D61 6E642053  *n..DU2 Command S*
30  756D6D61 72790D0A  436F6D6D 616E6473  *ummary..Commands*
40  20666F72 204C6F67  67696E67 20446973  * for Logging Dis*
50  6B732061 6E642045  78616D69 6E696E67  *ks and Examining*
60  20446973 6B205061  72616D65 74657273  * Disk Parameters*
70  0D0A436F 6D6D616E  64732066 6F722050  *..Commands for P*

DU2  B7? ca11 This is a test

DU2  B7? d0-#1f
00  00000000 00000000  00000000 00000000  *................*
10  00546869 73206973  20612074 6573746F  *.This is a testo*



3.9  Commands for Manipulating Macros and the @ Command

                            Macros

    �� Macr� i� � short-han� yo� ca� us� t� defin� � comman� �
sequence��  Rathe� tha� havin� t� typ� a� involve� comman� ove� �
an� ove� again�� th� DU� macr� facilit� allow� yo� t� assig� thi� �
comman� sequenc� t� � numbe� (� t� 9� an� the� execut� i� b� �
simpl�� presentin� thi� numbe� a� � command��  Th� followin� �
commands are associated with this facility.


                         :ntext and n

    ":n<text>� define� th� tex� followin� th� digi� 'n� t� b� � �
Macro��  A� always�� � <� � <� 9��  Th� macr� definition� ma� b� �
create� an� redefine� a� will��  I� � macr� ha� alread�� bee� �
define� fo� th� indicate� number�� i� wil� b� overwritte� b� th� �
executio� o� thi� command��  "n"� wher� � <� � <� 9� execute� th� �
indicate� macro.


                          :Pn and :PA

    ":Pn"� wher� � <� � <� 9� print� th� tex� o� Macr� Numbe� n�  �
":PA� print� th� tex� o� al� 1� macros.


                           @ and :P@

    "@� execute� th� previou� comman� lin� tha� di� no� contai� �
th� "@� Command��  Thi� provide� a� eas� wa� t� repea� th� las� �
comman� lin� typed�  Fo� example:

         g0             <-- go to Group 0
         ch0-7f e5,<    <-- Initialize the first block and Save
         >,w,+          <-- Read in the Saved Block, Write it
                             out to disk, and advance to next
                             logical block
         @              <-- Do the Previous Command Again
         @              <-- And Again
         @              <-- And Again


    ":P@�� print� th� previou� comman� lin� (an� doe� no� chang� �
it).

    Examples (edited DU2 session):

DU2  B7? g0
Group = 0000:00, Track = 122, Sector = 1, Physical Sector = 1

DU2  B7? :1+,d0-#1f

DU2  B7? :p1
Macro Definitions --
1: +,d0-#1f

DU2  B7? 1
Group = 0000:01, Track = 122, Sector = 2, Physical Sector = 2
00  0754414C 4B202020  2053554D 00000049  *.TALK    SUM...I*
10  11002300 24000000  00000000 00000000  *..#.$...........*

DU2  B7? 1
Group = 0000:02, Track = 122, Sector = 3, Physical Sector = 3
00  07444953 4B4F5554  20434F4E 00000000  *.DISKOUT CON....*
10  00000000 00000000  00000000 00000000  *................*

DU2  B7? 1
Group = 0000:03, Track = 122, Sector = 4, Physical Sector = 4
00  04584449 52202020  20C3CF4D 00000054  *.XDIR    COM...T*
10  2C002E00 48000000  00000000 00000000  *,...H...........*

DU2  B7? g0,d0-#1f
Group = 0000:00, Track = 122, Sector = 1, Physical Sector = 1
00  07535444 20202020  204D5347 00000002  *.STD     MSG....*
10  10000000 00000000  00000000 00000000  *................*

DU2  B7? 1
Group = 0000:01, Track = 122, Sector = 2, Physical Sector = 2
00  0754414C 4B202020  2053554D 00000049  *.TALK    SUM...I*
10  11002300 24000000  00000000 00000000  *..#.$...........* �
DU2  B7? :pa
Macro Definitions --
0:

1: +,d0-#1f

2:

    < Detail Left Out >

9:

DU2  B7? g0,d0-#1f,1,1,1
Group = 0000:00, Track = 122, Sector = 1, Physical Sector = 1
00  07535444 20202020  204D5347 00000002  *.STD     MSG....*
10  10000000 00000000  00000000 00000000  *................*
Group = 0000:01, Track = 122, Sector = 2, Physical Sector = 2
00  0754414C 4B202020  2053554D 00000049  *.TALK    SUM...I*
10  11002300 24000000  00000000 00000000  *..#.$...........*
Group = 0000:02, Track = 122, Sector = 3, Physical Sector = 3
00  07444953 4B4F5554  20434F4E 00000000  *.DISKOUT CON....*
10  00000000 00000000  00000000 00000000  *................*
Group = 0000:03, Track = 122, Sector = 4, Physical Sector = 4
00  04584449 52202020  20C3CF4D 00000054  *.XDIR    COM...T*
10  2C002E00 48000000  00000000 00000000  *,...H...........*

DU2  B7? @

Command --
g0,d0-#1f,+,d0-#1f,+,d0-#1f,+,d0-#1f
Group = 0000:00, Track = 122, Sector = 1, Physical Sector = 1
00  07535444 20202020  204D5347 00000002  *.STD     MSG....*
10  10000000 00000000  00000000 00000000  *................*
Group = 0000:01, Track = 122, Sector = 2, Physical Sector = 2
00  0754414C 4B202020  2053554D 00000049  *.TALK    SUM...I*
10  11002300 24000000  00000000 00000000  *..#.$...........*
Group = 0000:02, Track = 122, Sector = 3, Physical Sector = 3
00  07444953 4B4F5554  20434F4E 00000000  *.DISKOUT CON....*
10  00000000 00000000  00000000 00000000  *................*
Group = 0000:03, Track = 122, Sector = 4, Physical Sector = 4
00  04584449 52202020  20C3CF4D 00000054  *.XDIR    COM...T*
10  2C002E00 48000000  00000000 00000000  *,...H...........*


3.10  Miscellanea

                               ?

    "?�� give� � comman� summar� an� tell� th� use� wha� th� �
curren� value� ar� fo� Processo� Cloc� Spee� an� Line� pe� Pag� �
o� CON�� a� wel� a� th� addres� fo� th� Grou� Storag� Buffe� �
(wher� th� DU� Queu� begins).


                             *[nn]

    "*nn�� repeat� th� curren� comman� lin� (a� entere� s� far� �
n� times��  Thi� comman� default� t� "forever� i� n� i� no� �
specified� 'nn� ma� b� � t� 65535.


                               !

    "!�� halt� processin� o� commands�� display� � continuatio� �
messag� t� th� user�� an� wait� fo� th� use� t� typ� an�� key�  �
Typin� � Control-� abort� comman� processing��  Thi� comman� i� �
usefu� i� stoppin� loop� t� giv� th� use� a� muc� tim� a� h� �
want� t� revie� th� display.


                               P

    "P� toggle� th� printe� switc� o� an� off�  I� allow� yo� t� �
tur� o� an� of� � recordin� o� you� consol� output.


                               X

    "X� exi� bac� t� CP/M�� Th� use� i� give� th� optio� t� War� �
Boot� i� whic� cas� th� CC� an� BDO� ar� reloaded� o� not.


                             Z[nn]

    "Znn� cause� th� progra� t� sleep� o� pause� an� ma� b� use� �
t� loo� a� � dum� quickl� i� � loopin� comman� line�  � i� � sec�  �
Zn� i� n� second� o� a� � MH� 8080��  Th� processo� spee� ma�� b� �
specifie� b� th� use� unde� GENIN� fo� hi� particula� system.


                              ^C

    "^C" exits to CP/M and Warm Boots.


    Examples (actual DU2 session):

DU2  B7? g0
Group = 0000:00, Track = 122, Sector = 1, Physical Sector = 1

DU2  B7? d0-#f,+,!,*
00  07535444 20202020  204D5347 00000002  *.STD     MSG....*
Group = 0000:01, Track = 122, Sector = 2, Physical Sector = 2

Type Any Character to Continue or ^C to Abort -
00  0754414C 4B202020  2053554D 00000049  *.TALK    SUM...I*
Group = 0000:02, Track = 122, Sector = 3, Physical Sector = 3

Type Any Character to Continue or ^C to Abort -
00  07444953 4B4F5554  20434F4E 00000000  *.DISKOUT CON....*
Group = 0000:03, Track = 122, Sector = 4, Physical Sector = 4

Type Any Character to Continue or ^C to Abort -
00  04584449 52202020  20C3CF4D 00000054  *.XDIR    COM...T*
Group = 0000:04, Track = 122, Sector = 5, Physical Sector = 5

Type Any Character to Continue or ^C to Abort -

DU2  B7? g1
Group = 0001:00, Track = 122, Sector = 33, Physical Sector = 33

DU2  B7? d0-#f,+,*3
00  E5482020 20202020  2042414B 00000004  *eH       BAK....*
Group = 0001:01, Track = 122, Sector = 34, Physical Sector = 34
00  E5535542 32202020  2042414B 0100007B  *eSUB2    BAK...{*
Group = 0001:02, Track = 122, Sector = 35, Physical Sector = 35
00  E5434420 20202020  204D4143 00000047  *eCD      MAC...G*
Group = 0001:03, Track = 122, Sector = 36, Physical Sector = 36

DU2  B7? ^C
B7>



3.11  Examples

Multiple commands may be separated by ","

    An�� vali� comman� strin� ma� b� place� a� a� operan� o� th� �
origina� DU� command� i.e.:

        A>DU2 G0,D,G2,=OK<D><A><1A>,D


    Example�� th� followin� command� wil� eras� th�   dis� �
director� t� al� E5's:

       lb              log in b drive
       g0              position to dir.
       ch0-7f e5       fill with e5
       <               save the sector
       >,w,+,/16       restore, write, next,
                       repeat 16

    This could be shortened to:

       lb,g0,ch0-7f e5,<
       >,w,+,/16


    Using Macros, the following two macros could be defined:

  Macro 0 --
    :0g0,ch0-7f e5,<
  Macro 1 --
    :1>,w,+,/16

    Now�� fo� th� use� t� initializ� th� director� o� Driv� A� �
an� the� o� Driv� B:� th� followin� command� coul� b� issued:

    la,0      <-- Log in A and Initialize first block
    1         <-- Perform write
    lb,0      <-- Log in B and Initialize first block
    1         <-- Perform write
    n,0       <-- Declare New Disk and Initialize first
                   block
    1         <-- Perform write




3.12  Interpretation of Directory Data Presented by DU2

    Th� followin� explain� th� forma� o� � CP/� director�� entr� �
a� show� b� DU2��  usin� eithe� th� � (Fin� File�� command��  o� �
jus� doin� � (Dump� o� th� director� sectors�� whic� ar� locate� �
i� group� � an� � o� � singl� densit� disk��  Sampl� resul� o� �
"FSID.COM� command:

First       40  00534944 20202020 20434F4D  0000003A  *.SID     COM...:*
line        ||  |||                      |  ||    ||    |         |
           ||  ||^----hex file name-----^  ||    ||    ^file name^
           ||  ||                          ||    ||     in ASCII
           ||  ||                   extent-^^    ||
           ||  ||                                ||
           ||  ||           file size in sectors-^^
           ||  ||
           ||  ^^-00 = file active
           ||     E5 = file erased
           ^^-displacement of line in directory sector


Second      50  33343536 3738393A  00000000 00000000  *3456789:........*
line            |                                  |
               ^---allocation group numbers-------^


fi z2ug1.ws
fi z2ug2.ws
fi z2ug3.ws