Preview only show first 10 pages with watermark. For full document please download

Cpm_2_2_04_manual-volume Ii-heath-zenith_595-2816-01

   EMBED


Share

Transcript

CP/M® VERSION 2.2.04 MANUAL Volume II ENON HEATH data systems Printed in the United States of America NOTICE This soffware is licensed (not sold). It is licensed to sublicensees, including end-users, without either express orimplied warranties of any kind on an "asis" basis. The owner and distributors make no express or implied warranties to sublicensees, including end-users, with regard to this software, including merchantability, fitness for any purpose or non infringement of patents, copyrights or other proprietary rights of others. Neither of them shall have any liability or responsibility to sublicensees, including end-users, for damages of any kind, including special, indirect or consequential damages, arising out of or resulting from any program,servicesormaterials made available hereunder or the use or modification thereof. This publication could contain technicalinaccuracies or typographicalerrors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of this publication. Technical consultation is available for any problems you encounter in verifying the proper operation of this product. Sorry, but we are not able to evaluate or assist in th e debugging of any programs you may develop. For technical assistance, wri te: Zenith Data Systems Corporation Software Consultation Hilltop Road St.Joseph, Michi gan 49085 or call: (616) 982-3884 Ap p l i c ation Software/SoftStuff Products (616) 982-3860 O perating Systems/Languages/Utilities Consultation is available from 8:00 AM t o 7 :30 PM (Eastern Time Zone) on regular business days. RESTRICTED RIGHTS LEGEND Use, duplication, or disclosure by the Government is subject to restrictions as set forth in paragraph (b) (3) (B) of the Rights in Technical Data and Computer Software clause in DAR 7-104.9(a). Contractor/Manufacturer is Zenith Data Systems Corporation of Hilltop Road, St. Joseph, Michigan 49085. Trademarks and Copyrights CP/Mis a registered trademark of Digi tal Research Corporation Digital Research is a trademark of Di gi tal Research Corporation Copyright @1982by Zenith Data Systems Corporation. HEATH COMPANY BENTON HARBOR, MICHIGAN 49022 ZENITH DATA SYSTEMS CORPO R A T ION ST. JOSEPH, MICHIGAN 49085 Page 2-1 The CP/M Reference Guide This Reference Guide contains detailed descriptions of each of the comm ands accompanying H e ath/Zenith C P/ M r e l e ase 2.2.04. Th e g u i d e deals with all of the resident commands and transient commands, presenting each command in al phabetical order. The text explains the following aspects of commands (where applicable): Function Invocation Options or Parameters Common applications Error message explanations The text on each command is div i ded into nu m bered sections and subsections concerning specific aspects of t h e c o m m a nd . E x am p les are provided where appropriate. T he Reference Guide features several examples of user interaction wi t h the Inicrocomputer. In these examples, displays presented by the microcomputer console will be represented by the follow ing typestyle: THIS TYPESTYLE represents console displays (01234567894$~?: =. A) j Page 2-2 User input wil l be represented by boldface type, as shown: BOLDFACE TYPE represents the things the user types (0123456789¹$"?: = [.]) T ext that i n structs you t o p r ess a key that i s l abelled w i t h m o r e t h an one character (such as the RETURN key of th e CTRL key) w i l l s p ecify the label of this key in dark (boldface), slanted (italicized), capitalized characters, as shown: Press RETURN Hold down CTRL An example of user interaction w i t h th e t erm i nal m i ght appear as follows: A>STAT {drive):(file name) RE T URN Where "A>" is a console display (issued by CP/M); where STAT i s a c o m m a nd e n t ry t y p e d t h r o u gh t he c o n s ole by t h e user; where (drive) or a ny o t h er d e s cription e n c l o sed in c u r v e d b r a ces is a n entry that the user should suppl y ; where (file name) is t he p r i m a ry n a i ne of a f i l e w i t h i n t h e s p e cifie d drive; and where RETURN is a key label of a key pressed by the user. The "wh ere" statements that im m e d i ately fo l lo w a sam ple screen display or sample entry describe the important components of the display or entry. These examples appear throughout the Reference Guide to demonstrate how you should commu n i cate with the microcomputer. Page 2-3 ASM The Utili ty that Creates an Intel Hexadecimal File and a Printout File from an Assembly Language Program File T his text on th e A S M u t i l i t y a s sumes that you are fam i l iar w i t h a ssembly language programming. If yo u ar e not f a m i l iar w i t h a s s embly language programming, we recommend that you r ead th e Heathkit Continu ing Education Course in Assembly Language Programming before using the ASM u t i l i t y . Inf ormation on your computer's architecture, opcodes, and other processor features is available in your computer manual. T he ASM u t i l i t y r e ads assembly l a n guage source files (files w it h t h e " ASM" e x t ension) f ro m a d i s k a n d t r a n slates them i n t o t w o o u t p u t files (1): • An output file with the "HEX" extension, containing 8080 machine c ode in I n tel h e xadecimal f or m ( 2). T hi s f i l e can b e l o aded i n t o t he computer (u sing th e L O A D u t i l i t y ) an d e x e cuted u n de r t h e CP/M Operating System. • An output file w ith the "PRN" extension, containing ASCII characters. This fil e can be p r i n ted o ut , d i s pl ayed on a c o nsole screen, o r not p r o d u ced ( 1 .1). It i n c l u d e s th e s am e m n e m o n ics as t h e "ASM" file (3, 4, and 5), plus the hexadecimal address of each s ource line an d si gnal ch aracters for errors that occurred d u r i n g the assembly (6.2). Page 2-4 1. ASM INVOCATION The ASM ut i l it y i s i n v oked in response to the system prompt by entering a command in the follow ing form : A>ASM (file name).(asm)(hex)(pm) RE T U RN Where (file name) is the primary name of an assembly language source f ile w h ose extension i s assuined to b e " A S M " . T h i s f i l e w i l l be translated into the two output files by ASM ; w here (asmj r e p resents a one-letter parameter entered to s p ecify t h e drive in which the assembly language source file is located; where (hex) r e presents a o ne -letter pa rameter entered to s p e cify t h e drive to which the "HEX" output file w il l be wri tt en; and where (pm) r e p r e sents a o ne -letter pa rameter entered to s p e cify t h e drive to which the "PRN" output file w il l be wr i t t en. CP/M assumes that the source file has the extension "A S M " . T h erefore, the "A SM " e x t e n sion d oes not h av e t o b e e n t ered i n t h e i n v o c ation command. Page 2-5 1.1 Assembler Parameters T hree single-letter p arameters can b e e n t ered i m m e d i ately a f ter t h e period (.] in the invocation command line, as explained below: A>ASM PRO G R A M . A B C R ETU R N T he first parameter letter specifies the drive w h ic h c o n tains the "ASM" source file which is to be assembled. T he second parameter letter specifies the drive that w i l l receive the "HEX" file produced by the assembly. If a Z is entered in t he p l a ce of a dri ve l e tter, the assembler will not produce a "HEX" fil e. T he thir d p a r ameter letter specifies the d r iv e t hat w i l l r eceive the " P RN " f i l e p r o d u ced b y t h e a ssembly. I f a Z i s entered in p la ce of a drive letter, the assembler wil l not produce a " P RN " f i l e . I f a n X i s en t e r ed i n p l a c e of a drive letter, the listing w il l b e d i s p l ayed at the console instead of being written to a disk as a "PRN" file. If you omit all of the parameter letters (as in the command ASM P ROGRAM RE T U RN), t hen ASM w i l l t r y t o r e ad t he source file f rom t h e d efault dr iv e an d t o w r i t e b ot h t h e HE X f i l e an d t h e PRN f i l e t o t h e default drive. If you omit the the last two parameter letters (as in the command A SM PROGRAM.A RETURN), then ASM w i l l t ry to read the source file from t he specified d r i ve, to w r i t e th e HE X f i l e t o th e d efault d r i ve , and t o write the PRN file to the default drive. If you o mi t o n l y t h e f i na l p a r ameter letter (as in th e c o m m and A S M PROGRAM.AB RE T U RN), t h en A S M w i l l t r y t o r e a d t he s ou r ce fi l e f rom the specified d r i ve, to w r i t e th e HEX f i l e t o th e specified d r i v e , and to write the PRN file to the default driv e. If you l e ave a space for th e f i rs t p arameter letter and t he n s p ecify a letter for an y r e m ai n ing p arameters, (as in th e c o m m an d A S M P R O GRAM. BC RE7 URN or ASM PROGRAM. C RETURN[, t hen ASM w i l l ignore the parameters that follow th e space. Thus ASM w i l l tr y t o read t he source file f ro m th e d efault d r i v e an d t o w r i t e b ot h th e HE X f i l e and the PRN file to the default drive. Page 2-6 1.2 Example ASM Command Lines The follow in g examples and explanations il l u strate the different forms of the ASM command line and the results they produce. A>ASM PROGRAM R ETU R N Source file PROGRAM.ASM i s r ead from th e default dr iv e and assem- bled. Hex file PROGRAM.HEX and print file PROGRAM.PRN are written to the default drive. A>ASM PROGRAM.ABB R ET U R N Source file PROGRAM.ASM i s read from d r iv e A an d assembled. Outp ut files PROGRAM.HEX and PROGRAM.PRN are both wri t ten to driv e B. A>ASM PRO G R A M . B A X E E T UR l V Source file PROGRAM .ASM i s r ead from d r iv e B an d assembled. Hex file PROGRAM.HEX is wri tten to disk A, and print file PROGRAM.PRN is displayed on the console. A>ASM PROGRAM.BZZ R ETU R N Source f il e P R O GRAM . AS M i s r e a d f r o m d r i v e B a n d a s s embled. Neither output file is created. Such an entry is used to check for source file errors. Page 2-7 2. ASM EXECUTION When invoked, ASM identifies itself with the following display: CP/M ASSEMBLER — VER 2. 0 Where "2. 0" i ndicates the version number of the ASM util i t y . If you specified (in a parameter) that the PRN file be displayed rather t han stored, then t h i s d i s p lay w i l l n o w a p p ear o n t h e c o n sole. Th i s display can be suspended by entering a CTRL-S, and resumed by entering another CT RL-S o r a ny o t h er c h a racter. The d i s p l ay c an o n ly b e aborted by resetting the computer, which w o ul d abort the entire assemb ly operation as w e ll . Th e H E X f i l e i s n o t a ssembled u n ti l t h e P R N file has been fully displayed. After an a ssembly o p eration i s c o m p l e t ed, AS M d i s p l ays a m e ssage in the form of the follow ing example: OFD4 02AH USE FACTOR END OF ASSEMBLY A> wher e " 0 FD4" ( or any n u m ber a p p earing i n t h i s p o s i t i on ) i s t h e n e x t free address (in hexadecimal) after the end of the HEX file produced by the assembly; and where "02AH" (or any number appearing in t hi s position) represents the percentage of free system memory used for ASM's symbol table. This percentage is expressed in hexadecimal values, with OOOH being 0 percent and OFFFH being 100 percent. Page 2-8 3. FORM FOR SOURCE FILE STATEMENTS Assembly l anguage source fi les m ust b e c o m p osed of p r o gram statements in the follow ing form: l ine¹ l abel operator operand;comment Where the line¹ f i e l d i s a n o p t i o n al i n t e ger v a l ue r e p r esenting t h e s ource program l in e n u m b er. Th ese numbers are only fo r t h e convenience of the user and are ignored by the assembler when present; where the la bel fi e ld is o p t i o n a l, except w h e n r e q ui red by p a r t i c u l a r statement types. It consists of a maximu m o f 16 al ph anum eri c c haracters (letters and n u m b ers). The f i rst ch aracter must b e a letter. Labels can be freely used by the programmer to identify elements such as program steps. A single l abel sh oul d n o t c o n t ai n an y s p aces, because ASM i nterprets a space as the end o f t h e l a bel f i e ld . H o w e v er, th e dollar sign ($) can be used to im p r ove the readability of l abels that contain m ore than one w o rd . AS M w i l l i g n or e the d o l l ar s ign, and consider the other ch aracters in th e l abel as if t h e y were in a c o n t i n u ou s stri ng. Th e l a bel " D A T E S$OF$BIRTH" i s somewhat easier to read than th e l abel " D A T E SOFBIRTH" . ASM will treat the two labels as being identical. Labels may also be followed by a colon (:) to maintain compatibility w i t h s ome other assemblers. The colon w i l l n o t b ecome part of the label and will be ignored by ASM. Page 2-9 where operator is either a pseudo operation, or an assembler directive or an 8080 Machine Opcode (see your microcomputer manual); where the op erand, i n g e n e ral, contains an e x p r e ssion f o r m ed f r o m constants and labels together with arithm etic and logical operations on these elements; and where a comment consists of any c haracters followi ng a semicolon (;) u ntil a n e n d - of-line i s e n c o u ntered. A n a s t erisk (+ ) u sed as t he first character on a l in e w i l l a l so i n d i c ate a comm ent. A l l c omments are read and l i s ted i n t h e p r i n t f i l e b u t o t h e r w i s e ignored by ASM. Any or all of these fields may be present in a statement. Each assembly language statement is t erminated by a carriage return and a line feed ( both of w h i c h a r e i n s erted w h e n t h e R E T URN k e y i s p r e ssed w i t h m any text ed it ors), or w it h t h e ex cl amation p o in t c h aracter (w h ich i s r ecognized by t h e A S M u t i l i t y a s a n " e n d - of-l i ne " c h a racter). If t h e exclamation point (!) is used to signify the end of an assembly language statement, other statements can be entered on the same physical line. Page 2-10 4. FORMING THE OPERAND In order to compl etely describe the operation codes and pseudo operat ions, it i s f i r st n ecessary to p r esent the f orm o f t h e o p erand si nce i t is used in nearly all statements. Expressions consist of simple operands (labels, constants, and reserved words) combined in pr operly formed subexpressions by arithmetic and logical operators. Expression computation is carried out by th e assembler as the assembly proceeds. Each expression must p r o d uce a 16-bit value during the assembly. T he number of significant di g its in th e r esult m ust no t ex ceed the in tended use. If an e x p ression is t o b e u sed i n a b y t e m o v e-i m m e diate instruction, then the most significant 8 b it s of th e expression must be z ero. The r estrictions on t h e e x p r ession si gn i f i cance are g i ven w i t h the indivi d ual instructions. 4.1 Labels A label is an id enti fier w h ic h o c curs on a particular statement. Generally, the l a bel i s g i ven a v a l u e d e term i ned b y t h e t y p e o f s t atement which it precedes. I f the l abel o c curs on a s t atement w h i c h g e n erates machine c ode or r eserves memory space (such as a M O V i n s t r u c t i on , o r a D S p s eu d o operation), th e l a bel i s g i v e n t h e v a l u e o f t h e p r o gram a d d r ess that it labels. If th e l a bel p r ecedes an EQ U o r S E T i n s t r u c t i on , th e l a b el i s given th e v a lu e r esulting f ro m e v a l u ating th e o p erand. Except f o r the SET statement, an identifier can only label one statement. W hen a l abel appears in t h e o p erand, it s v a lu e i s s u bstituted by t h e assembler. This value can then be combined w i t h o t her op erands and o perators to form an operand for a particular instruction . Page 2-11 4.2 N umeric Constants A numeric constant is a 16-bit value in one of several bases. The base, o r radix, of th e c onstant is d enoted by a t r a i l in g r a dix i n d i c ator. Th e radix indicators are: 0 B Q D H Binary constant (base 2) Octal constant (base 8) Octal constant (base 8) Decimal constant (base 10) Hexadecimal constant (base 16) "Q" i s a n a l t ernate radix i n d i c ator fo r o c tal n u m b ers since th e l etter 0 is easily confused with the digit zero (0). A numeric c onstant w h i c h d oes not t er m i n ate w it h a r a di x i n d i c ator is assumed to be a decimal constant. A constant i s c o m p osed of a sequence of d i g i ts, sometimes foll ow ed b y a radix i n d i c ator. Th e d i g it s are i n t h e a p p r o p r i ate range for t h e radix. Binary constants must be composed of 0 and 1 di gits, octal constants can c o ntain d i g it s i n t h e r a ng e 0 — 7, while d ecimal c o n stants contain decimal digits 0 — 9. Hexadecimal constants contain decimal di gits and hexadecimal digits A (10D), B (11D), C (12D), D (13D), E(14D), and F (15D). The l e ading d i gi t o f a h e x a decimal c onstant m ust b e a decimal digit in o r der to avoid confusing a hexadecimal constant must be a decimal di git i n o r der to avoid confu sing a hexadecimal constant with an i d enti f i er. If a nu m ber begins wit h a h exadecimal di git (A — F), precede this digit with a zero. A constant c o m p osed i n t h i s m a n n e r m u s t c o r r espond t o a b i n a r y n umber that ca n b e c o n t ained w i t h i n a 1 6 - bi t c o u n t er, o t h erw ise i t is truncated on the right by the assembler. As wit h a label, dollar signs ( $) can be imbedded in a constant to i m p r ove readability. Fi n al ly , th e radix in d i c ator is tr anslated to u p per case if a l o wer case letter is encountered. The foll o w in g are all v a li d i n stances of num eric constants. 1234 1 234H 3377o 1234D 1100B O F F E H 3 3770 Of e 3 h 12 34 d 1111$0000$1111$0000B 33$ 77 $ 2 2 Q Offffh Page 2-12 4.3 Reserved Words There are several reserved character sequences with p r edefined meanings in th e o p erand f i el d o f a s t atement. Names of 8080 registers are given below. W hen A S M e n c o u n ters one of t h ese register names, the numeric value shown in the follow ing table is produced: REGISTER NAME REGISTER VALUE 7 A C B 1 0 D E 3 2 H L 5 4 M SP 6 PSW 6 Lower case names have the same value as their upper case equivalents. W hen the symbol "$" occurs in the operand field (not imbedded wi t h i n identifiers and n u m e ri c c o n stants) it s v a lu e b ecomes the a d d ress of the next instruction to generate, not inclu d ing the instruction contained within the current logical line. 4.4 S t r i n g Constants String constants, sequences of ASCII characters, are represented by enclosing the characters wit hi n a p ostrophe symbols ('). Al l s t r i ngs mu st b e fully c o ntained w i t hi n t h e c u r r ent p h y sical l in e (t hus all o w in g " ! " symbols w i t hi n s t r i n gs) and ma y n o t e x ceed 64 ch aracters in l e n gth . The apostrophe character can be included w i t hi n a string by representing it as a double apostrophe (press the apostrophe key two consecutive times), which ASM interprets as a single apostrophe. In most cases, the string length is restricted to either one or two characters (the DB p seudo op eration i s a n e x c eption). If th e st r in g c on sists of one ch aracter, it b e c omes an 8 - bi t v a l ue . I f t h e s t r in g c o n sists of two characters, it becomes a 16-bit value. Two character strings become a 16-bit constant, with th e second character as the low or der byte, and the first character as the high order byte. Page 2-13 The value of a character is its corresponding A SCII code. There is no case translation w i t h i n s t r i n gs. Therefore, both u p per an d l o w e r case characters can be represented. Only A S CII characters that print are allowed within strings. Valid strings are: 'A' 'AB' 'c' 'ab' 'She said "Hello" to me.' 'I said "Hello" to her.' 4.5 A r i t hmetic and Logical Operators The operands described previously can b e c o m b i ned i n n o r m a l a l gebraic notation u s in g an y c o m b i n ation o f p r o p e rl y f o r m e d o p e r ands, operators, and expressions enclosed in parentheses. The operators recognized in the operand field are shown by the follow ing list: a+b a—b +b — b) a+ b a/b a MOD b a AND b a ORb aXORb a SHLb a SHRb Unsigned arithmetic sum of a and b Unsigned arithmetic difference between a and b Unary plus (produces b) Unary minus (identical to 0 — b) Unsigned magnitude mult i p l i c ation of a and b Unsigned magnitude division of a by b Remainder after a / b NOT b Logical inverse of b (0's become 1's, 1'sbecome 0's), where b is considered a 16-bit value Bit-by-bit logical and of a and b Bit-by-bit logical or of a and b Bit-by-bit logical exclusive or of a and b T he value w h i c h r e sults from s h i f t in g a t o t h e l ef t b y a n amount b, with zero fill T he value w h ic h r esults from sh i f t in g a to th e ri ght by an amount b, with zero fill In each case, a and b represent simple operands (labels, numeric constants, reserved words, and one or two character strings), or subexpressions fully enclosed in parentheses, such as: 1 0+ 20 10h + 3 7 Q L1/3 ( L2+ 4) SHR 3 ('a' and 5fh) + ' 0 ' ( ' B ' + B) OR (PSW+ M) (1+ (2 + c)) shr (A-(B + 1)) Page 2-14 All com p u t ations are performed at assembly t i m e as 16-bit u n si gned operations. Thu s, — 1 is computed as 0-1 w h i c h r e su lts i n t h e v a l u e Offffh (i.e., all 1's). The resulting expression must fit the operation code in which it is used. If, the expression is used in an ADI (add i mmediate) i nstruction, then th e h i g h o r der ei ght b it s o f t h e e x p r ession m ust b e zero. As a result, the operation " A D I — 1" p r o d u ces an error m essage ( — 1 becomes Offffh, w h i c h c a n not b e r e presented as an 8-bit v a l u e), while " A D I ( — 1) AND OFFH" i s a ccepted by th e assembler since th e "AND" operation zeros the high order bits of the expression. 4.6 Precedence of Operators ASM assumes that operators have a relative precedence of application which a l l ow s t h e p r o g r ammer t o w r i t e e x p r essions w i t h ou t n e s t ed levels of parenthesis. The resulting expression has assumed parentheses which are defined by the relative precedence. The order of a p p l i c ation o f o p e rators in e x p r essions not en c l osed i n parentheses is li sted below. Op erators listed f i rst h ave hi ghest precedence (they are applied f i rst i n a n e x p r ession), wh il e o p erators listed l ast have l ow est p r ecedence. Operators li sted on t h e s ame l i n e h a v e equal precedence, and are applied from left to right as they are encount ered in an expression such as the follow i n g : */ M O D SH L SH R NOT AND OR XOR In the follo w in g examples, the expressions shown to th e left are interp reted by A S M a s th e ex pressions enclosed in p a r entheses shown t o the right: A PPEA R A N C E IN PROGR A M AS INTERPRETED BY ASM UTILITY a +b + c a+ b+c a MOD b + c SHL d a ORb AND NOT c + d SH L e ( a+b) + c a + (b * c ) ((a MOD b) + c) SHL d a OR (b AND (NOT(c+ (d SHL e)))) Page 2-15 Balanced subexpressions enclosed in parentheses can always be used to override the assumed parentheses. The last expression in the precedi ng example c o ul d b e r e w r i t ten t o f o r c e a p p l i c ation o f o p e r ators i n a different order, as shown: (a OR b) AND (NOT c) + d SHL e T his expression is interpreted by ASM as the follow ing expression wit h assumed parentheses: (a OR b) AND ((NOT c) + (d SHL e)) An expression not enclosed in parentheses is only correct if the expression resultin g f r o m i n s e r t in g t h e a s sumed p a r entheses is c o r r ectly formed. 5. ASSEMBLER DIRECTIVES A ssembler d i r ectives are used t o set l a bels to sp ecific v a l ues du r i n g the assembly, perform con d i t i onal assembly, define storage areas, and specify starting addresses in the p r ogram. Each assembler directive is d enoted by a " p s e udo op eration" t h a t a p p ears in t h e o p eration f i e l d of the line. These pseudo operations are acceptable to ASM: Pseudo Operation ORG END EQU SET IF ENDIF DB DW DS Function Set the program or data origin End program, optional start address Numeric "equate" Numeric "set" Begin conditional assembly End of conditional assembly Define data bytes Define data words Define data storage area Text Subsection (5.1) (5.2) (5.3) (s.4) (5.5) (s.6) (5.7) (5.8) (5.9) Page 2-16 5.1 The ORG Directive T he ORG Directive takes the follow ing form : Label ORG expression Where "label" is an optional program label; and where "expression" is a 16-bit expression, consisting of operands which are defined previous to the ORG statement. The assembler begins machine code generation at the location specified i n the expression. There can be any num ber of ORG statements wit h i n a particular program. There are no checks to ensure that the programmer i s not defin ing ov erlapping m em ory areas. Most programs w r i t ten f o r the CP/M operating system begin with an ORG statement of: ORG 100H Machine code generation begins at the base of the CP/M transient prog ram area (hexadecimal ad dress 100Hj. I f a l a bel i s s p ecified i n t h e ORG statement, then th e l a bel i s g i v e n t h e v a l u e o f t h e e x p r ession. (This label can then be used in t h e o p erand f i el d o f o t her statements to represent this expression.) 5.2 T h e EN D D i r ective The END D i r ective i s o p t i o nal i n a n a s sembly l a n guage program. If it is present, it should be the last statement. All subsequent statements will be ignored by ASM . The two forms of the END directive are: label END Label END expression Where the "label" field is optional; and where the "expression" field is the program starting address. If the fi rst f or m i s u s ed, th e assembly p r o cess stops, and th e d efault starting address of the program is taken as 0000. Page 2-17 If the second f orm is used, the ex pression i n t h e s t atement becomes t he program starting address. (This starting address is inclu ded in t h e last record of the Intel formatted machine code "H EX " f i l e that results from the assembly.) Most CP/M assembly language programs should end with the statement: END 100H resulting in the default starting address of 100H (which is the beginnin g of the Transient Program Area). N OTE: When an assembled .HEX f il e is l o aded using the CP/M L O A D u tility ( i n c l u de d w i t h y o u r C P/ M d i s t r i b u t io n s o f tw are), you d o n o t n eed to use the expression "100H" w i t h th e END di r ective. LOAD pr o duces .COM files that automatically execute from address 100H regardl ess of th e e x p r ession u sed i n a n E N D d i r e c t iv e t ha t m i gh t e x ist a t the end of a program. 5.3 The EQU Directive T he EQU Directive is used to set up sy n on ym s for p articular nu m er i c values. It takes the following form: label EQU expression Where the "label" f i eld m ust be present, and must not l abel any oth er statement; and w here the " ex pression" f i el d i s assigned to an i d e n t i f ier given i n t h e label field. Th e i d enti f ier i s u su all y a n am e w h i c h d e scribes the v alue i n a m o r e h u m a n - o riented m a n n er . T h i s n a m e i s u s e d throughout th e p r o gram t o a d d p a r ameters to c ertain f u n c t i o n s. Page 2-18 Suppose, for example, that data received from a Teletype appears at a particular i n p u t p o r t , an d d at a i s sent t o t h e T e l etype t h r ough t h e next output port in sequence. The follow in g series of equate statements could be used to define these ports for a particular hardw are environ ment : T TYBASE E Q U T TYI N E QU T TYOU T E QU 10H ;BASE PORT NUMBER FOR TTY TTY B A S E ; TTY DATA IN T TY BA S E + 1 ; T T Y D A T A O U T At a later point i n t h e p r ogram, the statements wh ich access the Teletype could appear as shown: IN TTYIN ;READ TTY DATA TO REG-A O UT TT Y OU T ;WRITE DATA TO TTY FROM REG -A This directive makes the program m or e readable than i f t h e absolute I/O ports had been used. I f the h ar dw are env i r o nm ent i s r e d efined t o s t art th e T e l etype co m munications ports at 7FH instead of 10H, the first statement need only be changed to: T TYBASE E Q U 7FH ;BASE PORT NUMBER FOR TTY Then the program can be reassembled with out changing any other statements. 5.4 T h e SET Directive The SET Directive takes the follow ing form : label SET expression Where the "label" f i eld m ust be present, and may appear in other SET statements throughout the program; and where the " e x p ression" f i el d i s e v a l u ated by A S M , an d b e c omes the current value associated with the label. Page 2-19 The EQU Di r ective defines a label w i t h a s i n gl e v alue w h i l e th e SET Directive defines a value which is valid from the current SET statement t o the po in t w h er e th e l abel ap pears in t h e n ex t SET statement. Th e use of the SET is sim i lar to the EQU statement, but SET is most often used in controll ing conditi onal assembly. 5.5 T h e I F an d 5.6 ENDIF Directives The IF and ENDIF Directives define a range of assembly language statements wh ic h ar e i n c l u ded o r e x c l u ded d u r i n g th e assembly p r o cess. The form is: IF expression statemen t ¹ 1 s taternen t ¹ 2 s tatemen t ¹ n ENDIF When AS M e n c o u n ters the I F s t atement, i t e v a l u ates the expression following the IF. (All operands in the expression must be defined ahead o f the IF statement.) If th e ex pression evaluates to a v a lue w h ere th e l ow order bi t ( bi t 0 ) i s o ne, then statement ¹ 1 t h r o u g h statement ¹ n a re assembled. If th e e x p r ession evaluates to a v a lu e w h er e th e l o w order bit (bit 0) of the expression is zero, then the statements are listed but not assembled. Page 2-20 Conditional assembly is often used to w r it e a single "generic" p r ogram t hat inclu des a nu m ber of p o ssible run -t im e env i r o n m ents, w it h o n l y a few specific portions of the program selected for any particular assembly. The foll o w in g p r ogram segments, might be part of a p r ogram that c ommunicates w it h e i t h e r a T e l e t yp e c o n sole o r a C R T c o n s ol e b y selecting a particular value for TTY before the assembly begins: TRUE FALSE EQU OFFFFH EAU NOT TRUE ;DEFINE VALUE OF TRUE ;DEFINE VALUE OF FALSE TTY EQU TRUE ; TRUE IF TTY, FALSE IF CRT TTYBASE CRTBASE EQU 10H EQU 20H IF TTY EQU TTYBASE EQU TTYBA SE+ 1 ENDIF ;BASE OF TTY I/O PORTS ;BASE OF CRT I/O PORTS ; ASSEMBLE RELATIVE TO TTY BA SE ;CONSOLE INPUT ;CONSOLE OUTPUT IF NOT TTY EQ U C R T B A S E E Q U C R T B A SE + 1 ENDIF ;ASSEMBLE RELATIVE TO CRTBASE ;CONSOLE INPUT ;CONSOLE OUTPUT IN CONTIN ;READ CONSOLE DATA OUT CONOUT ; WRITE C U N S O L E D A T A CONTIN CON OUT C ONTIN CONOUT I n this case, the pr ogram w o u l d a ssemble for an e n v i r o n m ent w h e r e a Teletype i s c o n n ected, based at p or t 1 0 H . T h e s t atement d e f i n i n g TTY could be changed to: T TY EA U FA L SE and, in this case, the program w o ul d assemble for a CRT based at port 20H. Page 2-21 5.7 T h e D B Directive The DB Directive allows the programmer to define in i t ial storage areas in single-byte format. The statement appears in the form: label DB e¹ 1 , e ¹ 2 , ...,e¹ n Where "e¹ 1 " t h r ough " e ¹ n " • • ar e either: Exp r e s s i o ns w h i c h e v a luate to 8 -bit v a l u es (the high o r d er e ight bits must be zero), or AS CI I s t r i n gs of fewer than 65 characters. There is no practical restriction on the nu m ber of expressions that can be included on a single source line. The expressions are evaluated and placed sequentially i n t o th e m ach ine code fil e f o l l o w i n g th e last program address generated by ASM. String characters are similarly p l aced into memory, starting wit h th e fi rst character and ending w it h th e last character. Strings containing more than two characters cannot be used as operands in more compl i cated expressions. They must stand alone between the commas. ASCII characters are always placed in memory w it h the parity bit reset (to 0). There is no t r anslation from l o w e r t o u p per case wit h s trings. Th e o p t i o na l l a be l c a n b e u s e d t o r e f e r ence th e d a t a a r ea throughout the remainder of the program. Examples of valid DB statements are: data: DB 0,1,2,3,4,5 signon: DB data and Offh,5,377Q,1+ 2+ 3 + 4 DB 'please type your name',cr,lf,O DB 'AB' SHR 8, 'C', 'DE' and 7FH Page 2-22 5 .8 T h e DW D i r ective The DW D i r ective l ets you d e f in e i n i t i a l st orage areas in d o u b le-byte words. The statement appears in the form: l abe l DW e¹ 1, e¹ 2 , e¹ n W here " e ¹ 1 " th r o u g h " e ¹ n " a r e e x p r e s s i o n s w h i c h A S M e v a l u a t e s i n 1 6-bit resu l t s . ASCII strings are limited to one or two characters. Data storage is consistent with the 8080 processor. The least significant byte of the expression i s stored first i n m e m o ry , f o l l o wed b y t h e m o st si gni f i cant by te. Th e following are examples of DW usage: doub: 5.9 DW O f f e f h ,doub+ 4,signon — $,255+ 255 DW 'a', 5, 'ab', 'CD', 6shl 8 or 11b T h e D S Directive T he DS Directive is used to r eserve an area of u n i n i t i a l i zed m em o r y . This directive takes the follow ing form : l abel DS ex pr e s s i o n Where the label is optional. T he assembler begins subsequent c od e g eneration a f ter th e a rea r e s erved by the DS. The DS statement given p r evi ously has exactly t h e same effect as the follow ing statement: label: EQU ORG $ ;LABEL VALUE IS CURRENT CODE LOC A T ION $ + e x p r ession ;MOVE PAST RESERVED AREA Page 2-23 6. ASM ERROR MESSAGES The ASM ut i l it y has two ki nds of error messages. One signals problems that occur du r ing ASM f i l e m an i p u l ation (6.1), and another signals errors in the assembly language source file (6.2). 6.1 F i l e M a n i p u l ation Error Messages The follow ing error messages are displayed when ASM encounters difficulty in mani p u l ating the source and/or output files involved in operat ion of the ASM uti l i t y : NO SOURCE FILE PRESENT EXPLANA T I ON : The file specified in the ASM comm and does not exist on the accessed disk. NO DIRECTORY SPACE EXPLANA T I ON : Th e d i s k d i r e ctory i s f u l l . U n n e cessary files shoul d be erased, and the operation attempted again. SOURCE FILE NAME ERROR EXPLANA T I ON : I m p r o p erl y f o r m e d A S M f i l e n a m e ( s uc h a s i t i s specified with "?" fields). SOURCE FILE READ ERROR EXPLANA T I ON : The source File cannot be read properly by the assembler. The T YP E c o m m and s h o ul d b e u sed t o d e t ermin e th e l o c ation of the unreadable code. OUTPUT FILE WRITE ERROR E XPLANA T I ON : O u t pu t f i l e s c a nnot b e w r i t t e n p r o p erly . T h e m o s t likely c ause i s a f u l l d i s k . U n n e cessary f i les sh oul d b e e r ased, and the operation attempted again. CANNOT CLOSE FILES EXPLANA T I ON : Output fi les cannot be closed. Disk should be checked for write protection. SYMBOL TABLE OVERFLOW EXPLANA T I ON: The symbol table has exceeded memory capacity. Page 2-24 6.2 Assembly Program Error Messages W hen e r r o r s o c c u r w i th i n t h e a s s e m b l y l a n g u a g e p r o g r a m , t h e y a r e l isted a s s i n g l e c h a r a c te r f l a g s i n t h e l e f t - m o s t p o s i t i o n o f t h e s o u r c e listing. The l i n e i n e r ro r i s a lso echoed i n a t e r m i na l d i s p lay so t h at t he sou rc e l i s t i n g n e e d n o t b e e x a m i n e d t o d e t e r m i n e i f e r r o r s ar e p r e sent. The er ror c o d e s are: D D at a er r o r : E l e m e n t i n d at a st a t e m e n t c a n n o t b e p l a c e d i n the specified data area. E E x p r e s s i o n e r r o r : E x p r e s s io n i s b a d l y f o r m e d a n d c a n n o t b e c omp u t e d at assem bl y t i m e . L L a b e l e r r o r : L a b e l c a n n o t a p p e a r in t h i s c o n t e x t ( m a y b e d u p l i - cated label). N N ot i m p l e m e n t e d : F e a t u r e s w h i c h w i l l a p p e a r i n f u t u r e A S M versions (e.g., macros) are recognized, but flagged in this version. 0 Ov er f l o w : E xpression is too compli c ated (Le., too many pendi ng operators) to compute, simplify it . P Phas e e rror: Label does not have the same value on two s ub sequent passes through the program. R Reg i s t er error: The value specified as a register is not compatible with the operation code. S Syn t a x e r r or : Th e p r o gram i n c l u de d a c h a r acter string t h a t does not comprise a valid label, operator, or operand. U Un d e f inedsymbol:The program made a reference to a label or variable that had not been defined earlier in the program. V V al u e err or: Operand encountered in expression is improperly formed. Page 2-25 ASSIGN The Utility that Assi gns Winchester D isk Parti ti on s to Dri v e N am e s (Used with H/Z-67 Drive Model) T he ASSIGN uti l it y enables you to ac=ess software and data from W i n c hester Disk p a r t i t i on s b y a s signing t h ese parti t i on s t o d r i v e n a m e s ( 4), or by c h a n ging assignments (5). A SSIGN can also i d e n t ify al l o f the partiti ons on a W i n c h ester Disk an d i d e n t if y w h i c h o f t h ese are currently accessible through a drive name. 1 W I N CHESTER DISK PARTITIONS Partitions are independent logical devices that are established on a Winchester Disk u s ing th e PART p r o gram. (For a d etailed ex pl anation of the PART program, refer to the documentation accompanying the H/Z- 67 disk drive hardware.) The Win chester Disk can be d i v i d e d i n t o as m any as 63 p arti t i ons to accommodate separate groups of data files and operating systems. Two of these partiti ons can b e m ad e a ccessible at on e t i m e b y a s signing t hem to a drive name with the ASSIGN util i t y . A Winchester Disk partition can be identified by the follow i n g : • • • a part i t i o n name of 16 or fewer characters; a semicolon (;); and an occurrence number ranging from 0 to 62. Page 2-26 T he semicolon an d o c currence nu m ber are op t i on al. W hen no t u s e d , the occurrence number zero is assumed. Partitions can bear the same partition name as long as they have different occurrence numbers. 2 I N Q UIRY OF AVAILABLE PARTITIONS To find ou t th e n ames of all of t he partit i o ns on t he W i n c h e ster Disk, enter the follow ing command: A>ASSIGN? RETURN ASSIGN will respond with a display in the follow ing form : PARTITION NAME CPM CPM CPM HDOS OCCUR 01 0 2 SI ZE 3200k 2860k 2020k 1600k W here th e l e t t er s l i s te d b e n e at h ' PARTITIQN NAME are the n a m e s t h a t w e r e designated for each partition when the PART uti l ity was run; where the numbers listed beneath "occUR" are the occurrence numbers that help yo u t o d i s t i n guish between d i f f erent parti t i ons th at have the same partition n ame (such as "CPM;0" and " C P M ; 1); and where the n u m b ers l i sted beneath " s IzE" show th e t o tal f i l e c apacity (in kilobytes) of the partition named to the left. If a listed partition already contains fil es, some or all of t hi s space is already occupied. (To determine the amount of empty space on a partit ion, assign th e p a r t i t io n t o a d r i v e an d t h e n r u n t h e S T A T u tility . NOTE: The partiti ons li sted in th e example show n ab ove may or In ay not be assigned. Page 2-27 3 I N Q UIRY OF CURRENT ASSIGNMENTS T o find ou t t h e n a mes of th e p a r t i t i on s on t h e W i n c h ester Disk t h at are currently accessible through a drive name, enter the followi ng command: A>ASSIGN RETURlV T he ASSIGN u t i l i t y w i l l d i s p l a y e q u ati ons t o i n d i c ate w h i c h d r i v e n ames can be used to access which partition names, as in the follow i n g example: A: B: = CPM 1 = HDOS If you boot up w i t h a W i n c h ester Disk partiti on, that partition is automatically assigned to drive A. If you w ish to access an additional partit ion, you can assign the addi t i onal p art i t ion t o d r i v e B u s ing th e A S S IGN utility . I f you boot u p w i t h t h e f l o p p y d i s k d r i v e i n t h e H / Z - 67, that f l o p p y disk drive is automatically d r iv e A . Yo u can t hen assign partiti ons to d rives B and C using the ASSIGN util i t y . 4 A SSIGNING PARTITIONS TO DRIVE NAMES T o assign a partition to a drive name, enter a command in the foll ow i n g form: A>ASSIGN (drive}: = (partition name};(occurrence number) RETURN Where (drive} is the letter for the drive; where (partition name) is a name of 16 or fewer characters (characters that are valid in CP/M file names can be used); and where (occurrence number) i s a o n e - digit or t w o - d i g it n u m b e r f r o m 0 to 62, preceded by a s e m i c ol on. If t h i s n u m ber i s o m i t t ed , 0 will be assumed. Page 2-28 If you booted u p w i t h t h e f l o p p y d i s k d r i v e s lot o f t h e Z 6 7 , d r iv e A w ould be assigned that f l o pp y d r i v e , bu t d r i v e B an d d r i v e C w o u l d initially be unassigned and thus inaccessible. Assuming that your p art i t i ons w ere named as those in Section 2, you could assign drive B by entering the command: A>ASSIGN B: = CPM;1 RE T UR% and assign drive C by entering the command: A>ASSIGN C: = HDOS RE T URN NOTE: The occurrence number of the "HDOS" partition can be omitted f rom thi s c o m m an d b ecause the occurrence nu m ber of t h i s p a r t i t i o n is 0 and ASSIGN assumes an occurrence number of 0 with any partiti on for which you do not specify the occurrence number. Page 2-29 5 CHANGING AN ASSIGNMENT I f a drive has already been assigned a particular partition and you w i s h t o assign a di ff er ent p a rti t ion t o t h i s d r i v e , enter a c o m m an d i n t h e following form : A>ASSIGN (drivej: = (new partition) RE T URN Where (drivej is the letter for the drive; and where (new p a rtitionj is t he p a r t i t i on n a me a nd o c c u r rence num b er o f a partition t hat w a s no t assigned to an y d r i v e at th e t i m e of this command. NOTE: You cannot assign a partition t o a d r i v e i f t h a t p art i t ion i s assigned to a different drive at the time of the command. You can remove an assignment from a d r i v e , by entering a comm and in the follow ing form: A>ASSIGN (drivej: = RETURN Where (drivej is the letter of a dri ve that is currently assigned a partition. NOTE: Wh il e t hi s c o m m and w i l l u n a ssign any p a r t i t ion t hat w a s assigned to the specified dr i ve, it w i l l a l so cause the "BA D P A R T I T I ON NAME" message to be displayed. Page 2-30 6 A SSIGN RESTRICTIONS A maximum of tw o W i n c h ester Disk partitions can be assigned to drive names at one time, regardless of how m any parti t i ons have been estab- lished on the disk. I f you boot up t o on e of th e W i n c h ester Disk partiti o ns, that partiti on w ill be d r iv e A . T h e 8 - i nch d r iv e w i l l b e d r i v e C, w h i c h l e aves driv e name B o pe n f o r a n o t her W i n c h ester Disk p a r t i t i on . I n t h i s c a se, it i s not ad v i sable for yo u t o l a t e r assign a d i f f erent p a r t i t io n t o d r i v e A . An e r ror m i gh t o c cur i f y o u r e assign dr iv e A a n d t h e n p e r f orm a w arm boot o r e x i t f r o m a n a p p l i c ation p r o gram, because CP/M w i l l t ry to r eload part of th e o p erating system from th e p a r t i t io n t hat h a s b een newly assigned to d r iv e A . T h i s n e w l y a ssigned partit ion m i g h t have a different kind of CP/M system or no CP/M system at all. I f you b oot u p t o t h e 8 - i nc h d r i v e o f t h e Z 6 7 , t ha t d r i v e w i l l b e g i n the session as drive A , and tw o W i n c h ester Disk parti t i ons can be assigned B and C. T he drive name B can n ever be assigned to th e 8-inch d r i v e, and t h e drive names A an d C c a n n e ver be assigned to tw o W i n c h e ster Di sk partitions at the same time. W hen you b oot u p t o t h e Z 6 7 d i s k d r i v e u n i t ( t o t h e f l o p p y d i s k o r to a Winchester Disk partiti on) then any o t her d r i ves in th e h ar dw are environment are automatically assigned the drive names D, E, and F. Page 2-31 7 AS SIGN ERROR MESSAGES BAD PARTITION NAME E XPLANA T I ON : Yo u t r ied t o assign a vali d d r i v e n ame to an i n v a l i d partition name, or user made syntax error dur ing command entry. You must perform cold boot, and re-enter any assignments made. BAD DRIVE NAME E XPLANA T I ON : Y o u t r i e d t o a s sign p a r t i t i on s t o b ot h d r i v e n a m e s A and C, or to assign drive name B to the H/Z-67 floppy d i sk. Assignment commands must be re-entered. PARTITION ALREADY IN USE E XPLANA T I ON : Yo u t r i e d t o assign a ne w d r i v e n am e to a p a r t i t i o n n ame that already has an assigned drive n ame. The assignment of th e partition's currently assigned partition m ust be removed before a new d rive name can be assigned to the partition . BAD OCCURRENCE NUMBER E XPLANA T I ON : Yo u t r ied t o assign a partition n ame w it h an i n v a l i d o ccurrence number to a vali d d r i v e n ame. Thi s assignment should b e attempted again wit h an occurrence number that id enti fies an existing partition. BIOS DOESN'T SUPPORT PARTITIONING EXPLANA T I ON : Th e operating system used for bootstrap w il l n o t a cc ommodate Wi n chester Disk parti t i o ns. Thi s system can be m o d i f i e d to accommodate partitions by performing the MA K EBIOS, MOVCPM67, SYSGEN activities in sequence. Page 2-32 INCORRECT VERSION OF BIOS EXPLANA T I ON : Th e op erating system in us e is th e w r on g v ersion of CP/M. CP/M Version 2.2.04 must be used to perform bootstrap. SECTOR SIZE OF DISK IS ZERO - - FATAL ERROR E XPLANA T I ON : T h e s u p e rb lock m a y h a v e b e e n d a m a g ed . ( T h e s uperblock is a u n i t o f s o f t w are recorded on th e f i rs t sectors of y o u r Winchester disk. This software makes it possible for you to access your p artitions.) Repeat th e A S SIGN c o m m a nd . I f t h e c o m m an d f a i l s r e peatedly, then copy al l a c cessible data and softw are from y ou r C P/M p artitions, using BRS, PIP, and/or M O V CPM an d S Y SGEN. Then u s e the PREP and PART util i t ies that were supplied w ith y our H/Z-67 hardware. DISK READ ERROR EXPLANA T I ON : Part of the reserved software recorded on the first sectors of your W i n c h ester disk may h ave been damaged. Repeat the ASSIGN command. If the command fails repeatedly, then copy all accessible data and software from your CP/M partiti ons, using BRS, PIP, and/or MOVCPM an d S Y SGEN. Then use th e PREP and P AR T u t i l i t i es th at were supplied with your H/Z-67 hardware. Page 2-33 BRS The Utility that Facilitates Backup of Winchester Disk Files to Floppy Disks (Used with the H/Z-67 drive model) The BRS (Backup an d R e store System) u t i l i t y e n a bles you t o c r e ate backup copies of all f i les on a W i n c h ester Disk, and to pu t t h ose files onto floppy d i sks (4). It also enables you to restore the backup copies t o the Win chester Disk (5). In addi t i on, BRS wil l c o m p are floppy d i sk f iles wit h W i n c h ester Disk f i l e s t o v e r if y t h e a c curacy of t h e c o p i e s (6), and display a directory list of files that have been backed up (7). 1. BEGINNING BRS USE Before using BRS, you must be certain that the W i n c hester Disk Partition to be used has a currently assigned drive name. Drive names can b e assigned to partitions by using the ASSIGN util i t y . To begin u s ing BRS, you i n v ok e th e u t i l i t y , en ter th e d ate, specify a drive name for a W i n c hester Disk parti t i on , and specify a d r iv e n am e for a floppy disk. Page 2-34 1.1 B R S I n v ocation The Backup and Restore Utility is stored on the distribution disk und er t he file name BRS.COM. When th e sy stem p r o mp t a p p ears, it can b e invoked by the entry of the primary file name, as shown: A>BRS RETURN 1.2 I n itial BRS Display This entry wil l cause BRS to produce a display in the follow ing form : H/Z67 Winchester Disk Backup/Restore System R elease Ver. 1.2 Copyright ( C ) Heath/ZenithDataSystems (BRS) Ma r c h 1 9 82 Enter Today's Date. (MM/DD/YY) 1.3 Entering Today's Date T he initial BRS d i s play p r o m pt s yo u t o e n ter th e d ate on w h i c h t h e utility is being operated. Enter Today's Date. (MM/DD/YY) DATE ENTRY FORM This date must be entered in a specific form: Numerals must be entered to represent the month, day, and yearin that order. Month, day, and year must be separated by the slash symbol. O ne or tw o d i g it s may b e entered for th e m o nt h an d d ay , w h i l e two digits must be entered for the year. The value entered for month can be no greater than 12. The value entered for day can be no greater than 31. Zeros can be entered for any component of the date The follow in g example shows the display that could result from entering a valid date response: Enter Today' s Date. (MM/DD/YY) = = = >7/4/76 RE T U RIV Page 2-35 DATE ENTRY FORM This date must be entered in a specific form: Numerals must be entered to represent the month, day, and yearin that order. Month, day, and year must be separated by the slash symbol. O ne or tw o d i g it s may b e entered for th e m o nt h an d d ay , w h i l e two digits must be entered for the year. The value entered for month can be no greater than 12. The value entered for day can be no greater than 31. Zeros can be entered for any component of the date The follow in g example shows the display that could result from entering a valid date response: Enter Today' s Date. (MM/DD/YY) = = = )7/4/76 RE T URN DATE ENTRY ERRORS When you enter a date with an im p r oper quantity or type of characters, the utility di splays the message: Syntax Error a nd reprompts you fo r a v a li d e n t ry . I f y o u e n ter a d ate w it h m o n t h o r day v a l ues exceeding th e l i m i t s fo r t h ese comp onents, the u t i l i t y displays the message: Invalid Date Entered: and reprompts you for a valid entry. I f you e n ter a d a t e i n t h e p r o pe r f o rm , b u t w i s h t o c h a nge it , t h e n you may select a "DATE Change" operation from an upcoming menu. 1.4 D i s k D r ive Specification A fter the date prompt has been answered, BRS w il l device specifications. p r o m p t fo r d r i v e Page 2-36 WINCHESTER DISK SPECIFICATION The first drive prompt w i l l ask for a drive name that has been assigned to a Winchester Disk partition, as shown: Enter Winchester Disk Drive Spec. (A:-P:) Enter the drive name that has been assigned the Win chester Disk partition in v o l ved i n t h e BRS operation. Then enter a carriage return. (No drive name colon is necessary.) FLOPPY DISK SPECIFICATION After you enter the d r iv e n ame of th e W i n c h ester Disk parti t i on, BRS will p r o m p t f o r t h e d r i v e n ame o f t h e f l o p p y d i s k d r i v e b e in g u s ed for backup copies, as shown: Enter Floppy Disk Drive Spec. (A: -P:) E nter the n am e o f t h e d r i v e c o n t ai n in g th e f l o p p y d i s k i n v o l v e d i n the BRS operation. Then enter a carriage return. (No dr ive name colon is necessary.) D RIVE SPECIFICATION ERR O R S I f you e n ter a n i n v a l i d d r i v e n a m e ( o nl y d r i v e n a m es A t h r o u g h F are valid), the utility di splays the error message: I nvali d Dr i v e Speci f i c a t i o n The utility then reprompts for a valid drive name. I f you enter a d r i v e n am e f ro m A t o F w h i c h d o e s no t e x ist i n y o u r hardware environment, or which has not been assigned to a Winchester Disk partition since the last cold boot, then BRS wil l d i s p lay the message: D rive not av a i l a bl e i n C u r r ent Conf i g ur a t i o n T he uti l it y t h e n r e p r o m pts fo r a v a l i d d r i v e n a me . Yo u ca n u s e t h e A SSIGN uti l it y t o assign a dr iv e name to a W i n c h ester Disk partiti o n , and then reinvoke BRS. When a valid , assigned drive name is entered for the Floppy D isk D r i ve, BRS w il l d i s p lay th e M a ster M enu (See "2 BRS Master Menu Transactions" ). Page 2-37 2 BRS MASTER MENU TRANSACTIONS T he BRS Master Menu g i ves you th e c h o ice of p erform in g any of s i x operations coordinated by the BRS util i ty . The most imp ortant of these operations are "BA CKUP Creation" an d " R E STORE Files". These and the other menu operations ("DATE Change", "COMPARE Files", "LIST Directory", and "EXIT to CP/M") are explained in upcoming text. 2.1 The Master Menu After you invoke the BRS utility and enters the date and drive specificat ions, BRS will di splay the follow ing menu and prompt : BACKUP AND RESTORE MASTER MENU D D ATE Change B B A CKUP Creati on R R E STORE Files C C O MPARE Files L LI S T D i r e c t o r y E E XI T t o CP/M O PTIONS: Vali d Onl y o n BACKUP(B) and RESTORE (R) Operat i o n s V W A F P = = = = = Verify Files After Writing. (B/R) Warning Messages Disabled. (B/R) Allow R/0 Files For Restore. (R) F i l e D e l e t i o n Af t e r S avi ng. ( B ) Prompt all actions. (B/R) Select Operatio n ( X / Y / Y/Y) You can select a BRS Operation and, in some cases, one or more Options f rom th e M a ster M e nu . T h e s e l ection i s e n t ered i n r e s p onse to t h e prompt at the bottom of the display. Page 2-38 O PERA T ION AND OPTION ENTRY M E T H O D An Operation can be selected at the Select Operation (X /Y/Y/Y) prompt by entering the Operation l etter (D, B, R, C, L, or E). BRS im mediately spells out the rest of the title of the Operation. If you are performing the BACKUP Operation (B) or the RESTORE Operation (R), then Option letters (V, W, A, F, or P) can be entered to govern the characteristics of th e op eration. Each Op t io n s h o ul d b e p r eceded by a slash mark ("/"). Enter Option letters immediately after the Operation letter i s en tered. How ever, on th e s creen di spl ay, i t w i l l a p p e ar that the Option f o l l ow s the w or d " B a ckup " o r " R estore" in th e Op eration title, because BRS finished spelling the word automatically . EXAM P L E M A S T E R ME N U SELECTION Your entry of th e "B " m en u O p eration w i l l c a use BRS to im m e diately spell out the command by adding the characters "ackup". The resulting screen display would look like this: Select Operation (X /Y/Y/Y) Backup T o further d e f in e t hi s B a ckup O p eration, yo u ca n e n ter slash m a r k s a nd Option l etters, such as "V " an d " P " , at th e r i ght en d of th e w o r d " Backup". Th e entry i s t e r m i n ated by a carriage return. The resultin g display would look like this: Select Operat i o n ( X / Y / Y / Y) Backup/V/P A fter such an entry, BRS w il l b e gin th e O p eration that backs up f i l e s f rom a W i n c h ester Disk p arti t io n t o a f l o p p y d i s k . A f t er c o p y in g t h e files to the floppy disk, the program will Verify (/V) the backup files to ensure that t hey are i d e n t i cal t o t h e f i l e s o n t h e W i n c h ester Di sk partition. In addi t i on, BRS wil l P r o mp t (/P) you before it performs any s tep i n t h e B a c k u p O p e r a t i on . ( A l l Op e r a t i on s a n d O p t i o n s are explained in detail in upcoming text sections.) Page 2-39 2.2 M aster Menu Operations T he paragraphs on t h i s p age sum m arize th e p r o p erties of each B R S Master Menu Operation. Date Change This Operation enables you to correct the date entered when the BRS program was invoked. Backup This Operation sends copies of a selected group o f files from a W i n c h ester Disk p a r t i t ion t o o n e o r more floppy di sks. It can be used with O p t i o n s ccV > ! c c 19 Cc II W F Restore d t4P> 7 This Operation sends copies of a selected group o f files from on e or m or e f l o pp y d i sks to a W i n c hester Disk partition. It can be used with Opti on s cc V IP 44 W II Cc A 91 1 d lcP>> Compare Files T his Operation c h ecks f il e b ackups on a f l o p p y disk against f il e o r i g i n als on a W i n c h e ster Di sk to detect any differences between them. List Directory This Operation di splays a directory of your backup files, the date they w er e created, the nu m b er o f v o l u m e s w i t h i n t h e d i s k s e t , t h e volume n umber of t h e d i s k c o n t a i n in g th e f i l e , an d t h e user number of the file. Exit to CP/M This Operation ends all other BRS Operations and returns control to th e CP/M Operating System, which displays the CP/M system prompt . Page 2-40 2.3 M a s t er M enu Options I f you select M a ster M en u O p e r ation " B " o r " R " , t h e n y o u c a n a l s o enter options to t el l BR S ho w t o p e r f or m t h e B A C KU P o r R E STORE O peration. The l e tters that stand fo r O p t i on s shoul d b e e n tered w i t h a slash mark ("/") after the letter standing for the selected Operation. (BRS will i n s t antly d i s p lay th e en t ire w or d o r t i t l e fo r th e O p eration after you e n ter th e f i r s t l e t t er.) Op t i ons ca nnot b e e n t e red w i t h t h e "D", "C", "L", or "E" Operations. F or example, you c o ul d r e spond t o th e " S elect Operation" p r o mp t a t the bottom of the menu with the follow in g Operation and Option entry : Select Operation (X /Y/Y/Y) B ackup/V/P T he fol l o w in g d e scripti ons e x p l ai n h o w e a c h M a s ter M e n u O p t i o n works: /V Th e V er i f y O ption:This Option checks each byte of the destinat ion f il e against each b yt e o f t h e s o u rce f i l e t o s e e t ha t b o t h files are identical. If the two fi les are not identical, BRS displays an error m e s sage. NOTE: If a discrepancy between the data of two files does occur, you must decide wh ich f il e is the accurate one, delete the inaccurate file, and m ak e an other attempt at c r eating an i d e n t i cal file. If t hi s o p t ion i s p e rformed d u r in g al l B a ckup an d Restore operations, you may assume that the oldest file of the two being c ompared is the correct fil e because it has been verified pr evi o usly. Hence the file that is the most recent copy w o ul d b e th e one that is in error. That file should be deleted, and a new copy made. The "/V" O p t i o n can be u sed w i t h b ot h t h e B A C KU P an d RESTORE Operations. Page 2-41 The Warning Message Disable Option: S election of this Optio n suppresses all warning messages that may occur during an Operation. These warning messages are of two types, and occur when you attempt to: • • wr it e to a disk that is not blank de l e t e files from the Winchester Disk W hen the " /W " O p t i o n i s s p ecifi ed, the p r ogram w i l l p e r f o r m the requested command w i t h ou t w a r n in g you b eforehand. Th e "/W" Option can be used with both the BACKUP and RESTORE Operations. The Allow R/0 File Restoration Option: Selection of this Option allows you to restore files that have been given R/0 (Read/Only) s tatus. It al l ow s th e u t i l i t y t o d e l ete R/0 f i l e s i f t h e y e x ist o n the Win chester Disk. If th e " /A " o p t i o n i s no t selected, and an attempt is made to restore the R/0 file, then BRS will respond: Found User@ 00 BRS. COM File is R/0, Not Being Restored Enter Carriage Return When Ready This Option can be entered only w ith the RESTORE Operation. The File Deletion Option: Selection of t h i s O p t i o n c a u ses the p rogram to d el ete the f i les from th e source disk after the f i l e s have been copied to th e destination d isk that i s being used for b ackup. The " /F " O p t i o n i s o n l y a v a i l able w h e n th e B A C K U P Operation is selected. The Prompt Option: I f t he " / P " O p t i o n i s s e l e cted, you m u s t respond to a p r o mp t fo r each action b efore BRS performs that action. When th e " /P " O p t i o n i s s elected du r in g the RESTORE Operation, for example, BRS woul d ask you if th e existing fil es on the Wi n c hester disk may b e d eleted so that they can be rep laced with r estored backup f i l es. Only t h ose files on the W i n chester Disk that h ave n ames that are i d entical t o t h ose being r estored can be deleted. The " /P " O p t i o n can b e selected w i t h both the BACKUP and RESTORE Operations. Page 2-42 3 THE DATE CHANGE OPERATION The "DAT E Change" M en u O p eration enables you to c h ange the date that was entered dur ing the i n i t ial d ate pr om pt , i n c ase that date was i ncorrect. The d ate h elps BRS to d i s t i n guish b etween d i f f erent d i s k s that may contain files with identical file names. 3.1 S e l e cting the DATE Change Operation The "DATE change" operation is i n v o ked by entering the letter D and a carriage return i n r e s p onse to th e M a ster M en u p r o m p t . ( BRS w i l l instantly c o m p l ete th e c o m m an d w i t h t h e c h a r acters " ate Change".) This entry w i l l c a use BRS to display the date you entered in r esponse to the ini t ial BRS display, and a prompt requesting the corrected date. If you i n i t i a ll y e n t ered the date "0 2/30/84", and no w w a n t s to correct i t, the BRS ut i l it y w o u l d d i s p la y th e f o l l o w i n g m e ssage and p r o m p t : Current Date is 02/30/84 Enter Change else hit RETURN = = = =) 3.2 DATE Change Execution T o change the date entered i n i t i a l ly , yo u s h o ul d e n ter a ne w d at e i n t he appropriate form , an d t h e n a c a r r i age return. Th e s ame f or m f o r date entry is used here as with the original date entry (see 1.3 "Entering T oday's Date" ), and the same error m essages wil l r e sult i f a n i n v a l i d date entry is made. T he date li sted as " C u rrent Date" w i l l b e r e t ained i f t h e y o u a n s w er the prompt with a carriage return alone. After you enter the carriage return, the Master Menu reappears. Page 2-43 4 T H E B A C K U P C R E A T IO N O P E R A T I O N The BACKUP Operation transfers files from W i n c hester disk partition s t o floppy d i s ks. Du r in g t hi s O p eration, yo u m u s t s p ecify w h i c h f i l e s on the partition should be left alone ("rejected" by the Operation) and which files should be copied (" selected" by the Operation]. To make file specification more convenient, you can enclose the names of several files in a batch file. When the name of a batch file is specified, the names of all of the enclosed files will be specified automatically . 4.1 S e l e cting the BACKUP Creation Operation To begin the BACKUP operation, enter the letter B at the Master Menu s electio n p r o m p t . A f t e r t h e " B " y o u m a y e n t e r f o u r o f t h e f i v e o p t i o n s listed a t t h e b o t t o m o f t h e M a s t e r M e n u (V , W, F , a n d P) w i t h a s l a s h m ark i m m e d i a t e l y b e f o r e e a c h o n e . T h e e n t r y s h o u l d e n d w i t h a c a r r iage retu r n . In the f o l l o w i n g ex am ple, the "B" i s t h e c o m m a nd f or t h e B A C K U P Operati on , an d t h e "/ V / F / P " a r e t h e t h r e e o p t i o n s s e l e c t ed a s an e x a m - ple: S elect Oper a t i o n (X / Y/Y/Y) B ackup/V/F/P B RS add s p a r t o f t h e c o m m a n d b y i n s t a n t l y d i s p l a y i n g " a c k u p " a f t e r the "B" that you entered. 4.2 R e j e ction File Specification A fter you choose the BACKUP operation, the fol l o w in g pr o mp t i s d i s played: Enter Rej ect i o n F i l e S pec (s) . A ny file specified at this pr ompt w i l l b e ex ecuted from th e u p c om i n g BACKUP operation. Page 2-44 E NTERING EXPLICIT FILE NAM ES T he Rejection F i l e p r o m p t w i l l r e a p p ear each t i m e y o u r e s p onds t o it with a file name and carriage return, as shown: Enter Rejection File Spec (s). = = = = > TESTFILE.DOC Enter Rejection File Spec(s) . = = = = > RETURN R ET U R N T he file named "T ESTFILE.DOC" w il l b e exclu ded from the up com i n g BACKUP operation (rejected). ENTERING "WILD CARD" FILE NAM ES Y ou can also answer the p r o mp t w i t h a " w i l d c a r d " f i l e n am e (a f i l e name with "+" or "?" characters in it), as shown: Enter Rejection File Spec(s) . = = = = > W.ASM R ETU R N W hen this entry i s m a de, BRS automatically d i s p l ays the expl i ci t f i l e n ames that are i m p l i e d b y t h e " w i l d c a r d " f i l e n a me . T h ese expl i c i t f ile names are di splayed at th e en d o f r e jection p r o m pt s beneath th e prompt yo u j u s t an swered, so i t a p p ears as if yo u e n t ered th em . For e xample, the expli cit f il e names imp l ied by specifying " + .A SM " m i g h t display as shown: Enter Rej e c t i o n F i l e S p e c (s) . = = = = > W.ASM Enter Rejection File Spec(s). = = = = > DUMP . ASM Enter Rejection F i l e Spec(s) . = = = = > BIOS.ASM Enter Rejection File Spec(s). = = = = > PROGRAM9 . ASM Enter Rejection File Spec(s). R E TU R N RETURN R ETU R N R ETU R N RETURN Page 2-45 ENTERING BATCH FILE NAMES Another wa y y o u c a n r e ject m or e t han on e f i l e a t o n c e i s t o s p ecify a batch f il e n a me . A b a tc h f i l e c o n t ain s th e n a mes of s everal o t h er files that wil l be specified automatically. (See 4.4 Creating Batch Files.) A batch file name must be preceded by a semicolon (;) when specified at the rejection prompt, as shown: Enter Rejection File Spec (s). = = = = >; B A T C H F I L .DOC R ET U R N T he files w i t h i n b a tch f i l e " B A T C H F I L .DOC" w i l l b e e x c l u ded f r o m the BACKUP operation (rejected). When this type of entry is made, BRS automatically di splays the names of the files that are stored in th e specified batch fi le. These file names a re displayed at the end of rejection pr o m pts beneath the prompt y o u just answered, so it will appear as if you had entered them. For example, BRS might di splay the n ames of f i les contained in " B A T C H F I L .DOC" as shown: Enter Rejection File Spec(s). = = = = > PIP.COM Enter Rejection File Spec(s). = = = = > STAT.COM Enter Rejection File Spec(s). = = = = > MBASIC.COM R E TU R l V Enter Rejection File Spec(s) . = = = = > PROG2A.BAS RE T URN Enter Rejection File Spec(s) . R ET U R N R ETU R N RETURN REJECTING FILES WITH THE MASTER MENU PROMPT OPTION I f the /P (" Prompt all actions") Option was selected with th e BA C K U P o peration, BR S w i l l p r o m p t y o u t o co n f i r m t h e r e j e ctio n o f e a c h s pecified f i l e . Fo r t h e s p e c i f ication " T E S T F ILE.DOC", on e o f t h e s e prompts might be displayed as follows: F ound User@ 00 TESTFILE.DOC Reject ? ( Y/N) To confirm t h e r e j ection, enter th e l e t ter Y o r a c a r r i a ge return. T o nullify the rejection, enter the letter N. Page 2-46 INVALID FILE SPECIFICATION If you respond to th e p r o mp t b y e n t ering the n ame of a f il e t hat does not exist on the specified drive device, BRS will di splay the message: No Files Found For Entered Spec. and redisplay the prompt. ENDING REJECTION SPECIFICATIONS You can stop the specification of r ejection f i les by entering a carriage return alone in response to the prompt: Enter Rejection File Spec(s)? = = = = > RETURN This response wil l p r o d uce the menu for F il e Selection Specifications and the "Selection File Spec(s). (X/Y/Y/Y) = = = = ) " p r o m p t . 4.3 Selection File Specification After you have specified a desired number of rejection fil es, the follow ing display and prompt wil l appear: Options for File Selection Spec(s). A — All File Types (Default) N — Nonsystem S — System U — Current User 0 (Default) U* — All Users Un — One Specific User 0 Enter Selection File Spec(s). (X /Y/Y/Y) Any file specified at this prompt wil l b e i n cluded in the upcoming BACKUP Operation (unless it was first specified at a rejection prompt). Page 2-47 ENTERING EXPLICIT FILE NAM ES T he Selection F il e p r o mp t w i l l r e a p pear each tim e yo u r e spond t o i t with a file name and carriage return, as shown: Enter Selection File Spec (s). (X /Y/Y/Y) = = = = > TESTFILE.DOC Enter Selection File Spec(s) . (X/Y/Y/Y) = = = = > RETURN RE TURN T he file "T E STFILE.DOC" w il l b e i n c l u ded in th e u p c o m ing BA CK U P operation (selected). ENTERING "WILD CARD" FILE NAMES Y ou can also answer the p r o mp t w i t h a " w i l d c a r d " f i l e n am e (a f i l e name with "+" or "?" characters in it), as shown: E nter Sel e c t i o n F i l e S p ec (s) . ( X / Y / Y / Y) = = = = > W.ASM RETURN W hen this entry i s m a de, BRS automatically d i s p l ays the expl i ci t f i l e n ames that are i m p l i e d b y t h e " w i l d c a r d " f i l e n a me . T h ese expli ci t file names are displayed at th e en d o f t h e selection p r o m pts beneath t he prompt y o u j u s t an sw ered, so i t a p p ears as if yo u e n t ered th em . F or example, the ex p l i ci t f i l e n a mes i m p l i e d b y s p e cify in g " + . A S M " might display as shown: = = = > W.ASM E nter Selec t i o n F i l e S p ec (s) . ( X / Y / Y / Y) = = = = Enter Select i o n F i l e Spec(s) . ( X / Y / Y/Y) = = = = > BIOS.ASM F i l e S pec (s) . (X / Y / Y / Y ) = = = = > PROGRAMB.ASM = = = = > RETURN E nter Sel e c t i o n Enter Sel e c t i o n F i l e S p e c (s) . ( X / Y / Y / Y ) = Enter Selection File Spec(s). (x /Y/Y/Y) R ET U R N > DUMP.ASM R ETUR N R ETUR N R ET U R N Page 2-48 ENTERING BATCH FILE NAMES You can select more than one file at once by specifying a batch file n ame. A batch f il e c o ntains the n ames of several other f i les that w i l l b e specified automatically. (See 4.4 Creating Batch Files.) A batch fi l e name must be preceded by a semicolon (;) when specified at the selection prompt, as shown: Enter S e l e c t i o n F i l e S p e c (s) . (X / Y / Y / Y ) = = = = >; BATCHFIL.DOC T he files w i t hi n b a tch f il e " B A T C H F I L .DOC" w i l l BACKUP operation (selected). R ET U R N b e i n c l u ded i n t h e When thi s e n tr y i s m a d e , BRS au t omatically d i s p l ays th e n a mes of the files that are stored i n t h e s p ecified b atch f i l e . T h ese fil e n a m es a re displayed at the end of selection pr o m pts beneath the prompt y o u just answered, so it appears as if you entered them. For example, BRS, m ight d i s p lay th e n a mes of f i l e s c o n t ained i n " B A T C H F I L .DOC" a s shown: Enter Selec t i o n F i l e S p ec (s) . ( X / Y / Y / Y) = = = = > PIP.COM R ET U R N Enter Selec t i o n F i l e S p ec (s) . ( X / Y / Y /Y ) = = = => S T A T . C O M RETURN Enter Selection Fi l e Spec(s) . (X / Y/Y/Y) = = = => MB A S I C . C O M R E T UR N Enter Selection File Spec(s) . (X /Y/Y/Y) = = == > PROG2A.BAS R ET U R N Enter Selection File Spec (s). (x /Y/Y/Y) > = = = = RE T URN SELECTING FILES WITH THE MA STER MENU PROMPT OPTION I f the /P (" Prompt all actions" ) Option was selected with the B ("BA CK UP") operation, BRS wil l p r o mp t yo u t o c o n f ir m th e selection of each s pecified f i l e . Fo r t h e s p e c i f i cation " T E S T FILE.DOC", on e o f t h e s e might be displayed as follows: prompts F ound Users 0 0 TESTFIIK.DOC Select ? ( Y/N) ( Y > To confirm t h e s e lection, enter th e l e t ter Y o r a c a r r i a ge return. T o nullify th e s election, enter th e l e tter N . A f t e r on e of t h ese responses is entered, BRS displays a similar prompt for the next explicit file name implied by th e specified " w i l d c a rd " n a me, and another, and another, until you have confirmed or null i f ied selections for all of the imp l i cated files. Page 2-49 INVALID FILE SPECIFICATION If you respond to th e p r o mpt by e n t ering the name of a f il e that d oes not exist on the specified drive device, BRS will di splay the message: No Files Found For Entered Spec. and redisplay the prompt. This message will also appear if you specify a file (explicit, "wild card", or batch) for both file rejection and file s election. A r e j ected f il e c a nnot b e s elected d u r in g th e s ame ru n o f the BACKUP operation. Ending Selection Specifications E NDING SELECTION SPECIFICATI O N S You can end th e specification of selection f i les by entering a carriage return alone in response to the prompt (as shown), Enter Selection File Spec (s). T his response will l ead to execution of the BA CKUP operation, wh i c h begins with erasure and preparation of the floppy disk (See "4.5 BACKUP Creation Execution" ). SELECTION FILE OPTIONS Y ou can also l i mi t t h e t y pes of f i l e s that ma y b e affected du r in g t h e BACKUP operation b y s p ecify in g Selection F i l e O p t i o ns. (These options are not to be confused with the Main M enu Op t i ons for Operation Selection, although they are entered in a similar fashion.) These Options are entered after the name of any file specified for selection. Each option letter must be preceded by a slash mark. If no Options a re entered, BRS assumes default v al ues. (See "Selection Fil e O p t i o n Defaults".) A description of each of these Options follow s. /A A l l Sy s tem and Non-System files Option.It defines the Backup o peration so that both System and/or N o n-System fi les w il l b e affected. This is one of the default Options. /N Non-Sy s tem files Option. I t d e f i n es t he B a c kup O p e r a tion s o that only Non-System files will be affected. /S Syst e m fi l e s Option. I t d e f i n es t he B a c kup O p e r ation so t h a t only System files will be affected. Page 2-50 /U Cur r e n t U ser Option. I t d e f i n es the B ackup O p e ration so t h a t only those files accessible through the currently logged user area will be affected. This is one of the default Options. /U+ A l l Use r f i l es Option. It d e f i n es the Backup O p e ration so t ha t the files to be affected can be accessed through any u ser area on the partition. /Un U se r N u m b e r "n " f i les Option, w h e re " n " i s a n u m b e r f r o m zero (0) to fifteen (15), inclusive. It defines the Backup Operation so that only the files of user number "n" w i l l be affected. NOTE: User areas are accessed by imp l ementing the USER resident command. Fi les can be transferred between user areas by implementing the PIP uti l it y w i t h th e [G] parameter. USER and P IP can only be invoked in response to the CP/M system prompt . SELECTION FILE OPTION DEFAULTS Two of the Opti ons are applied to Selection Fil e Specifications by def ault i f y o u d o n o t s p e c ify an y O p t i o ns. T h ese tw o d e f aul t O p t i o n s a re "A — All File Types" and "U — Current User ¹ " . These Options automatically affect the characteristics of any Selection File Specification for w h ich other Opti ons are not specified. Therefore, a Selection File Specification entered wit h n o O p t i ons w il l s elect fil es of all t y pes from th e c u r r ently l o gged user area number. (Un less one has been designated since the last cold boot, the currently-logged user area number is zero.) Page 2-51 EXAMPLE ENTRIES WITH SELECTION FILE OPTIONS Selection File Specifications can be entered with Opti ons as shown: Enter Selection File Spec (s) = = = = > TESTFILE.COM/N/U* R E T U R N In the pr eceding example, TE STFILE.COM i s t h e f i l e n a me, /N l i m i t s the selection at t hi s p r o mp t t o N o n - System fi les on ly , and U~ a l l o w s the selection to be made from any user area. Options are also used in this example: Enter Selection File Spec(s) = = = = > W.W/S/U14 RE TURN I n this ex am p le, e. e i s t h e f i l e n a m e , / S l i m i t s f i l e s e lection at t h i s prompt to system f i les on ly , and /U 1 4 fu r t h er l i m i t s f i l e s e lection a t this prompt to files accessible from user area 14. SELECTION FILE OPTION ERRORS T he follow in g tw o e r ror m essages occur w hen S election F il e O p t i o n s are entered improperly: Invalid Option Format or Selection and Invalid User Number or Format I f these messages do occur, the " E nter Selection F il e Spec(s)" pr om p t will appear again and await an appropriate entry. Page 2-52 4.4 Creating Batch Files You can enter several file names in response to a file rejection or specification prompt by storing these file names in a batch file. A batch file is a text file composed entirely of file names and Options. The name of the batch file itself is entered at file rejection or specificat ion prompt to trigger the entry of all of the file names wit hi n it . W h en entered, the name of the batch f il e i t self m ust be preceded by a semi- colon (;), as in the following example: Enter Rejection File spec (s). = = = = ); B A T C H F I L .DOC R ET U R N The batch fil e can be composed using the ED u t i l it y o r an y o t her text e ditor or w o r d p r o cessor. It can c o ntain an y f i l e n am e t hat c o nform s to CP/M file naming conventions. The file n a mes w i t h i n t h e b a tch f i l e s h o ul d b e e n t ered o n s e parate, successive lines. Each line m ust be term i n ated w it h a c arriage return. CON T E N T S OF EXA M P L E BATCH FILE The example batch file BA T CH F IL.DOC, for in stance, contains the following file names: ACCOUNTS1.DAT ACCOUNTS2.DAT FINANCE.COB STATS. FOR When you specify the batch file BAT CH FIL.DOC at a rejection or select ion pr o m pt , t h ese f i les w i l l b e specified for r e j ection or selection. automa tically Page 2-53 FILE SELECTION OPTIONS WIT HI N A BATCH FILE I f you enter a batch fil e n ame at a selection f il e specification pr o m p t , t he file n ames w i t hi n t h e b atch f i l e can h ave Selection F il e O p t i o n s. The follow in g example shows the contents of a batch file that contains options with some of its files: BIOS. S YS/S PAYROLL5.DAT/U14 MEMO????.DOC/U* +. +/N/U In addition, you can enter a batch file name with opti ons when respondi ng to a selection file pr om pt. The opti ons w il l a p pl y t o all of the fi l e s within the batch file. 4.5 BACKUP Execution After you h ave specified the names of the f i les that should be backed u p, the " E n ter S election F i l e S p ec(s). (X / Y / Y / Y ) = = = = ) " p r o m p t should be answered wit h a carriage return alone. This entry t ells BRS to begin execution. B ACKUP EXEC U T ION M E S S A G E BRS wil l d i s p lay th e f o l l o w i n g m e ssage when i t i s r e ady t o e x ecute the BACKUP Operation: Load Drive B: w i t h a B l ank Fl oppy Disk »~ WARNING Data on This Di s k Wil l b e DESTROYED !! Press RETURN to begin ( This warning message will not ap pear if you entered the "/W " o p t i o n at the Master Menu.) Page 2-54 P REPAR ING BA C K U P FLOPPY DISKS FOR DATA STO R A G E You should insert a floppy disk into the floppy disk dr ive in the H/Z-67 d rive un it . T h i s d i s k n eed no t b e b l a nk , bu t an y d a t a o n i t m u s t b e e xpendable, because the BA CKUP O p eration begins by p r eparing th e disk surface for the storage of new data. After inserting a disk into the floppy disk dr i ve, enter a carriage return. The follow ing prompt w il l be displayed: W hich densi t y ? ( S= single , D =double) Enter S or D depending upon the amount of data desired on the Backup D isk. Then BRS will prom p t : Press RETURN to begin. T he entry o f a operation. c a r r i age return w i l l b e gi n e x e cution o f t h e B A C K U P If one of th e f l o pp y d i sk s used for backup c a nnot be f o r m atted, then BRS will display: Unable to format this disk. Place a different disk in the drive. M ake sure th e d i s k i s p r o p erly i n s erted an d w r i t e e n abled. T h en , i f i t stil l c a n no t b e f o r m atted, replace i t w i t h a d i f f e r ent d i s k f o r t h i s Operation. ACTUAL BACKUP EXECUTION W hen actual BACKUP execution begins, BRS will di splay the follow i n g message: BACKUP OPERATION IN PROGRESS Page 2-55 If BACKUP execution stops because all of th e selected files have been b acked up t o t h e f l o pp y d i sk , t hen th e o p eration i s f i n i s hed an d t h e Master Menu wil l be displayed again. If BACKUP execution stops because the fl o pp y d i s k has been backed up to capacity wh il e more selected files remain on the Win chester Disk, then more fl o pp y d i s k space is needed. Refer to th e next t ext section for guidance. BACKING UP TO SEVERAL FLOPPY DISKS I f the f i l e s selected for th e B A C K U P O p e ration w i l l n o t a l l f i t o n a s ingle flopp y d i sk , t hen BRS w i l l i n t e r r up t B A C K U P e x ecution w i t h the following message: C urrent Fl oppy Disk i s Full Load Drive X: with a Blank Floppy Disk *** WARNING Data on This D i s k Wil l b e DESTROYED !! Enter Carriage Return When Ready Where "Drive x: " is the drive already specified as the Floppy Disk Drive for the operation. After inserting a new d i s k an d e n t ering a carriage return, the d ensity prompts will appear again, as shown: Which density? (S= sing le , D=doublel Enter S or D t o ind i c ate the density desired on the backup flo ppy d i s k. Then the follow ing prompt w il l appear as shown: Press RETURN to begin. E nter a c arriage return t o to this floppy disk. b e gi n t h e f o r m a t t in g an d c o p y i n g o f d a t a Page 2-56 BACKUP DISK SET DIRECTORY W hen W i n c h ester Disk f i l e s are backed u p t o m o r e t h a n on e f l o p p y d isk, then th e f l o pp y d i sk s u sed are referred to as th e " B a ckup D i s k S et". BRS automatically gi ves each disk i n t h i s set a vo l um e n u m b er , starting with the first disk inserted (Volume 01). Volume 01 of the Backup Disk Set is also referred to as the "D i rectory Disk". T o ensure that th e v o l u mes i n a B a c ku p D i s k Set are k ept i n o r d e r , BRS records a directory on the Volume 01 disk. This directory is stored in a file named " M A S T BRS.DIR". BRS prompts you to reinsert the Volurne 01 disk so that the directory can be recorded: Load Drive X: With Volume 01 of Backup Disk Set Enter Carriage Return When Ready Where "Dr ive x: " is the drive already specified as the Floppy Disk Drive for the Operation. WRONG DISK ERROR MESSAGE If you are prompted to l oad " V o l u m e 01" and i n sert a disk o ther th an V olume 01 (the D i r ectory Di sk), the f o l l o w in g er ror m essage wil l a p pear: Wrong Disk Inserted in Drive Enter (CR) for Master Menu Respond to this message by entering a carriage return. The Master Menu will appear. Page 2-57 5 T HE RESTORE FILES OPERATION T he RESTORE operation t r ansfers backup f i l e s f ro m f l o p p y d i s k s t o a Winchester disk p a rt i t i on . D u r in g ex ecution o f t h i s O p eration, y ou must specify w h i c h f i l e s on th e f l o pp y d i s k sh o ul d b e l eft al one ("re- jected" by the Operation), and which files should be copied (" selected" by the Operation). RESTORE i s s i m i l a r t o B A C K U P i n t h e f o r m o f i t s m e s sages and prompts. The biggest difference is the appearance of tw o ex tra screen displays after you select RESTORE from the Master Menu. 5.1 Selecting the RESTORE Files Operation To begin the RESTORE Operation, enter the letter R at the Master Menu s election p r o m pt . A f t e r e n t ering th e " R " , y o u m a y e n t e r f ou r o f t h e five opti ons l i s ted at th e b o t tom o f t h e M a s ter M en u ( V , W, A , a n d P) In the fol l o w i n g ex ample, the "R" is t he c o m m a nd f or t he R ESTORE Operation, and the "/V/A/P" are the three options selected: Select Operation (X /Y/Y/Y) = = = = >Restore /V/A/P BRS adds part of th e c o m m and b y i n s t antly d i s p l ay ing " e store" after the "R" that you entered. 5.2 The Disk Set Directory T he files t r ansferred d u r in g a s i n gl e B A C KU P O p e r ation ca n r e s i d e on several floppy d i sks. These disks are collectively called a Disk Set. BRS maintains a Disk Set Directory that h elps it t o r estore files to the W inchester disk i n t h e same order that t hey ex i sted before they w e r e backed up. The Disk Set D i r ectory i s s t o red o n t h e f i r s t d i s k t h a t y o u i n s e rted during the BACKUP Operation, wh ich becomes known as the Directory D isk. Thi s d i r ectory assigns a " V o l u m e " n u m b e r t o e ach d i s k i n t h e set, and "Volume 01" is always assigned to the Directory Disk. When you w an t t o R ESTORE files from a f l o pp y D i s k S et, BRS mu st a ccess the di rectory f ro m t h e D i r e ctory D i s k ( V o l um e 0 1 o f t h e D i s k Set) to determine where the files are. Page 2-58 INSERTING THE DIRECTOR Y DISK T o remind you to insert the Directory Disk, BRS displays the follow i n g prompt: Load Drive X : With Volume 01 of Backup Disk Set. Enter Carriage Return When Ready. Where "Drive x:" r e fers to th e d r i v e ( A t h r o ugh P ) t h a t yo u a s signed as the Floppy Disk Drive before the Master Menu appeared. R espond to t h i s p r o mp t b y i n s e rting th e D i r ectory D is k ( V o l um e 0 1 ) into the specified drive and entering a carriage return. WRONG DISK ERROR MESSAGE If you are prom pted to l oad " V o l um e 01 " an d i n sert a disk other than V olume 01 (the D i r ectory D i sk), the f o l l o w i n g e r ror m essage wil l a p pear: Wrong Disk Inserted in Drive Enter (CR) for Master Menu Respond to this message by entering a carriage return. The Master Menu will appear. D IRECTORY VERIFICATI O N W hen a Directory D isk (V o l um e 01) is i n serted, BRS examines it an d d isplays some of the characteristics of the Backup Disk Set in th e f o l lowing form: Backup Disk Set: Created mm/dd/yy S tart v o l . 0 1 L ast v o l . n n n I s This The Correct Backup Set ? ( Y /N) = = = = > Where "mm/dd/yy" is the date you performed the BACKUP operation that created the file copies in this Disk Set; and where "npn" is the volume number of the last disk in the set. Page 2-59 If the "Created" date and the "Last vol." n u m ber shown i n t h i s d i splay do not match those of the Disk Set that you want to restore, the prompt a t the bottom o f t h e d i s p lay s h o ul d b e a n sw ered w i t h a n " N " . B R S w ill r e d i splay th e " L o a d D r i v e X : " p r o m p t t o a l l o w y o u t o i n s er t a different Directory Disk. If the date and v o l u m e n u m b ers match, enter Y or a c a r r i a ge return, a nd read about "Rejection File Specification" . 5.3 Rejection File Specification A fter you v e r if y t h a t th e d i s k i n t h e f l o p p y d i s k d r i v e i s V o l u m e 0 1 of the "Correct Backup Set", the follow ing prompt is displayed: Enter Reject i o n F i l e Spec (s) . A ny f il e sp ecified at t h i s p r o mp t w i l l b e e x c l u ded f ro m t h e e n su i n g RESTORE operation. USER RESPONSE This prompt w i l l r eappear each time you respond to it w it h a file name and carriage return, as shown: >TESTFILE.DOC Enter Rejection File Spec(s) . = = Enter Rejection File Spec(s). = = = = > RETURN Enter Rejection File Spec(s) . = = = = >;BATCHFIL.DOC Enter Rejection File Spec (s). = = = = > RETURN = = RE T URN or a batch file name, as shown: RE T URN The file named "TESTFILE.DOC" will not be backed up. The files withi n batch f i l e " B A T C H F I L .DOC" w i l l n o t b e b a c k e d u p e i t h er . T h e specification o f a b a tc h f i l e m u s t b e p r e c eded b y a s e m i c ol on . (See 5.5 "Creating Batch Files".) Page 2-60 INVALID FILE SPECIFICATION If you respond to th e p r o mpt by e n t ering the n ame of a f il e t hat does not exist on the specified drive device, BRS will di splay the message: No Files Found For Entered Spec. and redisplay the prompt. Each file name entry must be followed by a carriage return. Am bi guous file names can be entered (using w il d c ar d sy m b ols " * " a n d " ? " ) . But no drive names can be specified at this prompt . E NDING RE JECTION SPECIFICATI ON S You can end th e specification of r ejection f i les by en tering a carriage return alone in response to the prompt: Enter Reject i o n F i l e Spec(s) . T his response wil l p r o d uce the " Selection Fil e Specification" d i s p l ay and prompt. 5.4 Selection File Specification After you have specified the desired nu mber of rejection f i l es, the following display and prompt w il l appear: Options for File Selection Spec(s) . A — All File Types (Default) N — Nonsystem S U U* Un — System — Current User = (Default) — All Users — One Specific User Enter Selection File Spec(s). (X /Y (X /Y/Y/Y) Any file specified at thi s p r o mp t w i l l b e i n c l u ded i n t h e ensuing RESTORE Operation. Page 2-61 USER ENTRY This prompt w il l r eappear each time you respond to it w it h a file name and carriage return, as shown: Enter Selection File Spec (s). (X /Y/Y/Y) = = = = > T ESTFILE.DOC R E T U R N Enter Selection File Spec(s). (x /Y/Y/Y) = = = = > RETURN or a batch file name, as shown: Enter Selection File Spec(s). (X /Y/Y/Y) = = = = >;BATCHFIL.DOC Enter Selection File Spec(s). (x /Y/Y/Y) = = = = > RETURN R ET U R N T he fil e n a me d " T E STFILE.DOC" w i l l b e r e s tored. Th e f i l e s w i t h i n batch fil e " B A T C H F I L .DOC" w i l l a l s o b e r e stored. Th e specification of a batch f i l e m u s t b e p r eceded by a s e m i c ol on . (See 5.5 " Creating Batch Files".) Each file name entry must be followed by a carriage return. Am biguous f ile names can be entered (using w il d c ar d sy m b ols " + " an d " ? " ) . N o drive names can be specified at this prompt . SELECTION FILE OPTIONS Y ou can also l i m i t t h e t y pes of f i l e s that may b e affected du r in g t h e R ESTORE Operation b y s p e c i f y in g S e lection F i l e O p t i on s w i t h f i l e n ames. (These Opti ons are no t t o b e c o n f u sed w i t h t h e M a i n M e n u Options for Operation Selection, although they are entered in a simil ar fashion.) These Options are entered after the name of any file specified for selection. Each Option letter must be preceded by a slash mark. If no Options a re entered, BRS assumes default v alues. (See "Selection F il e O p t i o n Defaults".) A description of each of these Options follows. /A Al l Sy s t em and Non-System Ales Option.It defines the Backup Operation so that System and/or N on-System files are affected. This is a default Option . Page 2-62 /N No n-Sy s tem files Option. I t d e f i n es t he B a c kup O p e r a tion s o that only Non-System files may be affected. /S Syst e m A l e s Option. I t d e f i n es t he B a c kup O p e r a tion so t h a t only System files may be affected. /U Cu r r en t U s er O p t ion. I t d e f i n es the B ackup O p e ration so t h a t only t h ose f i les accessible th r ough th e c u r r en tl y l o g ged U s er a rea may be affected. This is a default Option . /U+ Al l U se r f i l es Option. It d e f i n es the Backup O p e ration so t ha t the files to be affected can be accessed through any User area. /Un U se r N u m be r "n " f i les Option, w h e re " n " i s a n i n t e g er f r o m zero (0) to fifteen (15), inclusive. It defines the Backup Operation so that only the files of User number "n" are affected. Y ou can r e spond t o a s i n gl e S election F i l e p r o m p t w i t h b o t h a f i l e name and Options, as shown in the follow in g example: Selection File spec (s) == >TESTFILE.COM/N/UO RE T URN In this example, TESTFILE.COM i s the fil e name, /N is a li m i t f or o n l y Non-System files, and Uolte allows all user files to be affected. FILE SELECTION OPTION DEFAULTS The default v a l ues fo r t h e B a c ku p an d R e store O p t i on s ar e m a r k ed on the menu: "A — All F il e T y pes (Default)", and "U — Current User ¹ ( Default)". I f a f i l e n a m e i s e n t e red i n r e s p onse to a S e l ection F i l e prompt wi t hout Fi le Selection O p t i o n s, then t he RESTORE operation will affect files of all types that belong to the current user. Page 2-63 INVALID FILE SPECIFICATION If you respond to th e p r o mp t by e n t ering the name of a f il e that do es not exist on the specified drive device, BRS will di splay the message: No Files Found for Entered Spec. and redisplay the pr om pt. Fil e Selection Specifications often produce these errors as well: Invalid Option Format or Selection and Invalid User Number or Format OVERRULED FILE SELECTION SPECIFICATION I f you enter the same file name in r esponse to both the Rejection Fi l e p rompt and the Selection File prompt, the file's "rejection" w il l p r evail . The twice specified file will not be affected by the Operation. E NDING FILE SELECTION SPECIFICATI O N S You may end the specification of selection f i les by entering a carriage return alone in response to the prompt (as shown), Enter Selection File Spec(s)? The immediate entry of just a carriage return at this prompt w i l l c au se the RESTORE operation to be executed. After execution, BRS will redisplay the Master Menu and prompt for another Operation. Page 2-64 5.5 Creating Batch Files You may enter several file names in response to a single specification p rompt b y s t o r in g t h ese fil e n a mes i n a b a tc h f i l e . A b a tc h f i l e i s a text file composed entirely of file names. T he name of t h e b a tch f i l e i t s elf can t h e n b e e n t ered at th e p r o m p t t o trigger the entry of al l o f t h e f i l e n a mes w i t h i n t h e b atch f i l e . T h e b atch fil e w i l l b e r e a d b y B R S , an d e ach f i l e n a m e d w i t h i n i t w i l l b e excluded from (i f e n t ered at a r ejection p r o m pt ) or i n c l u ded i n ( i f entered at a selection prompt) the RESTORE Operation. When entered, the name o f t h e b a tch f i l e m u s t b e p r e ceded b y a s e m i c o lo n ( ;), as in the follow ing example: Enter Reject i o n F i l e Spec(s) . = = = = >;BATCHFIL.DOC R ET U R N The batch f il e can b e c o m p osed u sing th e ED u t i l i t y o r a n o t her t ex t e ditor or w o r d p r o c essor. It can b e g i ven an y f i l e n a m e t ha t f i t s t h e CP/M file naming conventions. The file n a mes w i t h i n t h e b a tch f i l e s h o ul d b e e n t ered on s eparate, successive lines. Each line m ust be term i n ated w it h a c arriage return. The example batch file BA T CH F IL .DOC, for instance, contains the following file names: ABSTRACT.REC TAXES1.REC TAXES2.REC TAXES3.REC When "B A T C H F IL .DOC" i s specified, BRS automatically d i s p l ays the files i t c o n t a i ns, s o i t a p p e ars a s i f y o u e n t e red t h e m a t s e p arate prompts. Hence, specifying " B A T C H F I L .DOC" w o ul d p r o d uce the following display: Enter Selection File Spec (s). = = = = >;BATCHFIL.DOC RET URN Enter Selection File Spec (s). = = = = >ABSTRACT.REC RE T URN Enter Selection File Spec (s). = = = = >TAXES1.REC RE TURN Enter Selection File Spec(s) . = = = = > TAXES2.REC RETURN Enter Selection File Spec(s) . = = = = > TAXES3.REC RETURN Enter Selection File Spec (s). Page 2-65 Batch f i l e n a m e s c a n b e s p e c i f ie d a t e i t h e r r e j ection o r s e l e c ti on prompts. Add i t i onally, fi les wi t hi n a batch fil e can have selection Opt ions when their batch file is specified at a selection prompt . 5.6 RESTORE Execution When the actual RESTORE execution begins, BRS wil l d i s p lay the following message: RESTORE OPERATION IN PROGRESS When a Disk Set in c l u des several floppy d i s ks, BRS must transfer the selected files from each of these disks one at a time onto the Winchester d isk. This di sk-by-disk transfer process requires an interruption i n t h e execution o f t h e R E STORE Operation as BRS p r o m pt s yo u t o i n s e rt the next disk (Disk Set Volume) that contains a specified file. Whenever the directory in d i cates to BRS that a file is on a disk (Disk Set Volume) t hat is not in the specified drive, BRS displays a prompt in the follow i n g form: Load Drive X : with Volume nn of Backup Disk Set. Enter Carriage Return When Ready. Where "x:" i s th e dr ive specified in r esponse to one of the in i t ial BRS prompts; and where "nn" is the nu mber of the the Disk Set Vol um e that BRS is now r eady to restore to the Winchester disk partition . Y ou shoul d i n s ert th e d i s k w i t h a v o l u m e n u m ber c o r responding t o the one in th e pr o m pt, and then a carriage return. When BRS fi ni shes restoring all of th e selected files that it can f in d o n t h e i n serted di sk , it will di splay the message: Load Drive X : with Volume nn of Backup Disk Set. Enter Carriage Return When Ready. Where "x:" i s th e d r iv e specified in r esponse to one of the in i t ial BRS prompts; and w here "nn" i s t h e n u m ber o f t h e D i s k Se t V o l u m e t h a t BR S i s n o w r eady t o r e s t o r e . T h i s n u m b e r i n c r e a ses i n i n c r e m e n t s o f o n e each time the pr ompt i s d i s p l ayed du r in g a RESTORE Operat ion. H ence yo u s h o ul d i n s ert a d i s k w i t h a h i g h e r v o l u m e nuznber each time. Page 2-66 The preceding display reappears until you i n sert the last disk (volum e) in the D i s k S et. A f ter BR S r estores the selected f i l e s f rom the final Disk Set Volume, the RESTORE Operation is terminated and the Master Menu reappears. W R O N G D ISK ERRO R If you are prompted to l oad " V o l um e 01 " an d i n sert a disk other than V olume 01 (the D i r ectory Di sk), the f o l l o w i n g er ror m essage wil l a p pear: Wrong Disk Inserted in Drive Enter (CR) for Master Menu Respond to this message by entering a carriage return. The Master Menu will appear. If you are prom p ted to l oad a d isk v o l um e ot her than V o l um e 01 an d insert the wrong disk volume, the follow ing error message will appear: Wrong Disk Inserted in Drive Load Drive X : w ith Volume n n of Backup Disk Set Enter Carriage Return When Ready Where "x:" i s the d r iv e specified in r e sponse to one of the i n i t ial BRS prompts; and w here "nn" i s t h e n u m b e r o f t h e D i s k S e t V o l u m e t h a t B R S i s n o w ready to restore. A disk w i l l b e c o n s i dered " W r o ng " b y B R S i s i t d o e s no t b e l ong t o t he same Disk Set as th e D i r ectory D i sk , o r i f i t b e l o ngs to th e d i s k set but has a d i f f erent v o l um e n u m ber t han th e on e that i s r equested in the prompt. Page 2-67 DELETING OLD WIN C H E S TER DISK FILES W hen fi les are restored to th e W i n c h ester Disk f ro m B a c ku p F l o p p y Disks, the old o r i ginal f il e (from w h i c h t h e Backup wa s copied) mu st be erased to allow space for the restored copy from the Backup. I f you also r esponded to th e M a ster M en u p r o m p t b y s p e cify in g t h e " /P" (Prompt) O p t i on , then BRS w i l l as k w h e t her or no t yo u w a n t t o d elete a given f i l e b e fore th e p r o gram actually d e l etes that f i l e . T h e following message would appear: Found Users 00 TEST. ASM Sel e ct ? (Y/N) o n t h e m o n i t or) is assumed if yo u e n ter onl y a c arriage return. Entering "N" w i l l c ause BRS to skip over that particular file and not delete it. If you di d no t r e spond to t he M a s ter Me nu p r o m pt by s p e cifyi ng t he "/W" (W ar n in g m essages suppressed) Opti on, then th e w a r n in g m e ss ages will b e a c t i ve. U n der t h ese con d i t i o ns, yo u w i l l b e p r o m p t e d to verify that the files are to be deleted with the follow ing display: *****Warning! Files on Winchester Disk are Going to be Deleted***** Enter (CR) to Cancel Deletion Process T o stop th e d e l etion, yo u m u s t e n ter a c a r riage return. T o b egin t h e deletion, you can enter any other keyboard character. H owever, if th e " /W " O p t i o n w a s entered, BRS w il l n o t o f fer you t h e alternative of canceling the deletion process. Page 2-68 6 C OMPARE FILES W hen large amounts o f d at a ar e t r ansferred between d i s ks, i t i s e x t remely i m p o r tant t o b e able to d eterm in e w h e t her or no t t h e c o p i ed data (on the Backup F l o pp y D i sk ) i s ex actly th e same as the or i gin al data (on the Winchester Disk). The COMPARE Files Operation compares files on a Backup Disk against t he corresponding f i les on th e W i n c h ester Disk to m ak e sure that t h e data within the two files is exactly the same. 6.1 Selecting the COMPARE Files Operation To select the COMPARE Files Operation, enter the l etter C and a carr iage return at th e M a ster M en u S election p r o m pt . (N o M a ster M e n u Options can be selected with this operation.) Select Operation (X /Y/Y/Y) = = = = >C BRS will compl ete the Operation title by displaying the characters "ompare Files" after the "C". W hen this Operation is selected, BRS displays the follow ing prom p t : Load Drive X: with Volume 01 of Backup Disk Set. Press RETURN when ready. W here "Drive x:" refers to the d r iv e specified before the M a ster M en u appeared. After you insert the first disk of a Backup Disk Set and enter a carriage return, BRS w i l l c h eck t o see i f t h e i n s erted d isk c o n t ains a Backup Disk Set Directory (stored in a file named MA STERBRS.DIR). I f BRS finds a directory on the di sk, it w i l l d i s p lay the foll o w in g i n f or mation from the directory: Backup Disk Set: Created mm/dd/yy S tart v o l . 0 1 L ast v o l. n n n Is This The Correct Backup Set? (Y/N) (Y» = = = = Page 2-69 Where mm/dd/yy" is th e d at e o f t h e B A C K U P O p e r ation t h a t c r eated the file copies in this Backup Disk Set; and where "nnn" is the n u m ber of d i sk s i n t h e B a ckup D is k S et, and al so the volume number of the last disk in the set. I f the creation date and v o l um e n u m ber are the same as those of th e Backup Disk Set being compared, then enter the letter Y or a carriage r eturn. BRS w il l t h e n p r o m p t f o r f i l e n a m es. If th e d ate and v o l u m e number are no t t h ose of th e D i s k Set y o u w i s h t o c o m p a re, then N should be entered. 6.2 Entering File Names ENTERING W IN C H E S TER DISK FILE NAME After you h av e c o n f i r med t hat th e V o l u m e 0 1 d i s k f r o m t h e c o r r ect B ackup Disk Set was inserted, BRS will then prompt : Compare Function Enter Winchester Disk Filename = = = = > At this p r o m pt , you r espond by e n t ering the n ame of th e W i n c h ester Disk file to be compared and a carriage return. A f ter you enter a vali d file name, BRS prompts for a floppy disk file name. I NVALID WINC H E S TER DISK FILE NAME ENT E R E D If you specified the name of a f i l e t hat i s no t o n th e c u r r ently l o gged Winchester Disk partition, the follow ing error message is displayed: Source Fil e Not Found Page 2-70 ENTERING FLOPPY DISK FILE NAMES A fter you h av e entered a v a li d W i n c h ester Disk f i l e n a me, BRS w i l l d isplay the follow ing prompt : Enter Floppy Disk Filename = = = => At this prom pt, enter the name of the Floppy D isk f il e to be compared w ith its corresponding W i n c hester Disk fi le. Then end t hi s entry w i t h a carriage return. INVALID FLOPPY DISK FILE NAME ENTERED If you specified the name of a f i l e t hat i s no t i n t h e B ackup D isk Set, the following error message is displayed: Destination File Not Found FILE NAME SPECIFICATION ERROR MESSAGE I f you specify a d r i v e n am e (such as " A : " ) a t e i t her o f t h e f i l e n a m e prompts, the follow ing error message is displayed: Drive Specifications NOT allowed. 6.3 COMPARE Execution W hen BRS finds the specified file name in the di rectory of the Volu m e 01 Disk, it w il l p r o mp t you to in sert the Disk Set Volume that contains the file. The follow ing prompt w il l appear: Load Drive X: with Volume nn of Disk Set. Enter RETURN when ready. Where "x: " is the floppy disk drive in the H/Z-67 drive unit; and where "nn" is the number of the vol um e that contains the file that you specified for the COMPARE operation. Page 2-71 The COMPARE operation compares each byte in both f i l es. If the data in each file is identical, the follow ing prompt is redisplayed: Compare Function Enter Winchester Disk Filename You can now COMPARE another file. 6.4 Compare Error If the files do not compare exactly, BRS wil l n o t if y you w i t h a d i s p l ay in the follow ing form: . Data Miscompared at Record rrrr Reading f i l e COMPFILE.NAM Enter Carriage Return When Ready W here "r r rr " i s t h e l o c ation o f t h e d i s c r epancy between th e d ata i n the two files, expressed in a hexadecimal number; and w here "coMPFzrz.NAM" represents the n am e o f t h e W i n c h ester Disk f i l e that does not match the Floppy Disk file. BRS will r e d i splay the fol l o w in g p r o mp t after you enter a carriage return: Compare Function Enter Winchester Disk Filename 6.5 R e m e d y for Dissimilar Files If discrepancies are found between fi l es, you should f i rst be sure that t hey were su p p osed to h av e b een i d e n t i cal i n t h e f i r s t p l a ce. If t h e f iles w er e s u p p osed t o h a v e b een i d e n t i c al, y o u s h o u l d d e t e r m i n e w hich of t h e t w o f i l e s c o ntains th e er r or, an d d e l ete that f i l e . T h e n you should p e r form th e B A C KU P o r R E STORE operation again. You should also run the COMPARE Operation again to test the newly m ad e file against his source file to see that they are indeed identical. Page 2-72 6.6 Ending the COMPARE Operation You can en d t h e C O M P ARE O p eration b y e n t er ing a c a rriage return alone at the "Enter Win chester Disk Filename" pr o mpt or at the "Enter Floppy D i s k F i l e n ame" p r o m pt . BR S w i l l t h e n r e d i s p lay th e M a ster Menu. 7 T H E LIST DIRECTO R Y O P E R A T I O N The LIST o p eration enables you t o about a Backup Disk Set: o b t ai n th e f o l l o w i n g i n f o r m ati on creation date of set; number of volumes in set; d rive name assigned to Winchester Disk partition ; file names within set; user area numbers of files within set; and volume numbers of disk(s) on which files reside. 7.1 Selecting the LIST Operation To select the LIST O p eration, enter the l e tter L and a c a r riage return at the Master M en u s election p r o m pt . (N o M a ster M en u O p t i on s can be entered with the LIST Operation.) Select Operation (X /Y/Y/Yi = = = => List Directory BRS will c o m p l ete the operation ti tl e by d i spl aying the characters "ist Directory" after the "L" you enter. When this Operation is selected, BRS displays the following prompt: Load Driv e X: with Volume 01 of Backup Disk Set. Enter Carriage Return When Ready. Where "Drive x:" r efers to the dr iv e specified before the Master M enu appeared. A fter you i n s ert a d i s k an d e n t ers a carriage return, BRS w i l l c h e c k t o see if t h e i n s erted d isk i s V o l u m e I a n d c o n t a in s a B a c ku p D i s k Set Directory (stored in a file named MA STERBRS.DIR). Page 2-73 If BRS finds a directory on the disk, it w i l l mation from the directory: d i s p lay the foll o w in g i n f or- Backup DiskSet: Created mm/dd/yy S tart v ol . 0 1 L ast vol . n n n Is This The Correct Backup Set? (Y/N)(Y» = = = = Where "mm/dd/yy" is th e d at e o f t h e B A C K U P O p e r ation t ha t c r eated the file copies in this Backup Disk Set; and where "nnn" is the n u m ber of d i sk s i n t h e B a ckup D isk S et, and al so the volume number of the last disk in the set. 7.2 LIST Directory Display After you enter the letter Y or a carriage return at the "Correct Backup S et?" prompt, BRS displays a "L i st ing of Backup D i r ectory". T hi s d i s- play appears in the form of the following example: Listing ofBackup Directory Created: 02/31/82 Highest VolumeWritten: 003 F ILENAME USE R VOLS C: TEST1 COM C : TEST AS M C : TEST CO M C :FILZ2 AS M C : FILE4 A S M 00 03 07 15 15 01-01 01-01 01-01 02-02 03-03 F ILENAME C: TEST C: TEST C:FILE1 C: FILE3 REL PRN ASM ASM U S E R VO L S 03 15 15 09 01-01 01-02 01-02 02-03 I f you h av e a t e r m i nal w i t h a v i d e o s creen, the entire d i s p lay m i g h t n ot fit on th e screen at once. In such a case, the directory l i st ing w i l l scroll up the screen. You can suspend the scroll by entering a CTRL-S, and resume the scroll by entering another CTRL-S Page 2-74 8. THE EXIT TO CP/M OPERATION To select the EXIT Op eration, you shoul d enter the letter E and a carr iage return at th e M a ster M en u S election p r o m pt . (N o M a ster M e n u Options can be entered with the EXIT Operation.) S elect Operat i o n ( X / Y / Y / Y ) = = = = > Ex i t t o C P / M BRS will co m p l ete the operation ti tle by d i s pl aying the characters "xit to CP/M" after the "E". T he BRS uti l it y w i l l e n d a n d t h e CP/M o p erating system w i l l r e t u r n . CP/M will display the system prompt as shown: A> N OTE: If yo u p e r f o rmed b o otstrap w i t h t h e f l o p p y d i s k d r i v e o f t h e H /Z-67 drive model pr ior to i n v o k in g BRS, then CP/M w i l l d i s p lay th e following message when you exits from BRS: Place a Bootable Disk in Drive A: Enter Carriage Return When Ready Y ou must p e rform th e a c t i v i t ies described i n t h e p r o m p t t o p r o d u c e t he "A> " sy stem prompt . 9 BRS ERROR MESSAGES Invalid Date Entered EXPLANA T I ON : Yo u en tered a date specifying a m o nt h v a lu e greater than 12, or a day value greaterthan 31. " Enter Today's Date" p r o m p t will reappear to accept a valid entry. Source Fil e Not F ound E XPLANA T I ON : Y o u e n t ered th e n am e o f a f i l e t h a t d o e s no t e x i s t on an assigned Winchester Disk partiti on. Enter the name of an existing file or assign a d r i v e n am e t o th e p a r t i t io n t h a t c o n t ains th e d esired file (see ASSIGN). Page 2-75 Destinat i o n F i l e No t F ound E XPLANA T I ON : Y o u e n t ered th e n am e o f a f i l e t h a t d o e s no t e x i st o n the fl o pp y d i s k i n t h e H / Z -67 d r iv e s l ot. Enter th e n am e of a f i l e on this floppy disk. Invalid file format or Contains Wildcards EXPLANA T I ON : You entered a file name that did not conform to CP/M file naming conventions, or a file name that contained wi l d card characters (* or 7). Enter a valid file name without w i l d c ard characters. I nvali d d r i v e s peci f i c a t i o n E XPLANA T I ON : Yo u e n t ered a d r i v e n am e t hat i s n o t p o ssible w i t h t he CP/M Operating System. Enter a drive name w i t hi n th e range "A : " through "P:". Drive Specifications NOT allowed E XPLANA T I ON : Yo u a n sw ered a p r o mp t b y s p e ci fy in g b oth a d r i v e name and a file name. You must specify the desired drive names when beginning the BRS session, before selecting an Operation from the Master Menu. No Files Found For Entered Spec E XPLANA T I ON : Yo u e n t ered a f i l e n am e t ha t d oes not e x ist o n t h e disk. Enter the name of an existing file. Invalid User Number or Format E XPLANA T I ON : Y o u e n t ered a S e lection F i l e S p ecification w i t h a n invalid u ser n u m b er, or i n a n i m p r o per f o rm . Enter th e specification with a user number in the range 0-15. Rejection Table is Full H it ( CR) t o Cont i n ue EXPLANA T I ON : You tried to enter more than 40 Rejection File Specific ations. Enter a c a r r iage return; t he n B R S w i l l b e gi n p r o m p t i n g f o r Selection File Specifications. Directory is Full Must Enter RETURN!! EXPLANA T I ON : User attempted to perform a Backup or Restore Operation in v o l v in g m or e than 2000 fil e n ames. User must enter a carriage r eturn t o a c cess the M aster M e nu , an d s h o ul d p e r f or m a n u m b e r o f s eparate Backup or R estore Operations i n v o l v in g n o m o r e t han 2 0 0 0 files each. Page 2-76 C urrent F l o ppy Dis k i s F u l l L oad Drive X : w i t h a B l a n k F l o ppy Di s k E XPLANA T I ON : BRS is executing a Backup O p eration, and has fi l l e d a floppy di sk. User should remove full d i sk, insert a blank fl o ppy d i s k , and enter a carriage return to continue the Operation. Submit File Not Found EXPLANA T I ON : U ser entered the n am e of a b a tch f i l e t h a t d oes not exist on th e d isk o r p a r t i t ion i n v o l ved i n t h e O p eration. User shoul d enter the name of an existing batch file. Drive not Available in Current Configuration EXPLANA T I ON : U ser specified a p a r t i t io n t h a t h a s no t y e t b een ass igned, or a f l o p p y d i s k t h a t i s n o t w i t h i n t h e H / Z - 6 7 d r i v e m o d e l . U ser should specify an assigned partition o r t h e f l o pp y d i s k d r i v e i n the H/Z-67 drive model. Data Miscompared at Record nnnn R eading Fil e JOB ABORTED Fatal Errors Have Occurred !! Enter (CR) for Master Menu EXPLANA T I ON : Data wi t hi n t w o c o m p ared fi les is not i d e n t i cal, and one of the discrepancies between the files occurs at the record indicated b y "nnnn " . JOB ABORTED Fatal Errors Have Occurred !! Enter (CR) for Master Menu EXPLANA T I ON : BRS failed in an attempt to execute the selected Operation. Execution o f t h e s elected Operation en ds. User shoul d e n ter a carriage return to access the Master M e nu , and r e peat the Op eration. I f this error message occurs repeatedly, you sh oul d m ak e a new c o p y of the BRS.COM file from the Distribution Disk. Page 2-77 Read Error Condit i on Code nn Read i n g F i l e JOB ABORTED Fatal Errors Have Occurred !! Enter (CR) for Master Menu EXPLANA T I ON : BRS failed in attempt to read data from a fi le. Execution of the selected Operation ends. User should enter a carriage return to access the Master Menu, and repeat the Operation. If this error message occurs repeatedly, you should m ake a new copy of th e BRS.COM file from the Distribution Disk. Write Error Occurred, Condition Code nn Writing File JOB ABORTED Fatal Errors Have Occurred !! Enter (CR) fo r Master Menu EXPLANA T I ON : BRS failed in an attempt to wr ite data to a Winchester Disk partiti on. Execution of th e selected Operation ends. User should enter a carriage return to access the Master Menu, and repeat the Operation. If t hi s error m essage occurs repeatedly, you sh oul d m ak e a new copy of the BRS.COM file from the Distribution Disk. Winchester Disk i s F u l l . A l l o w 82k t o Run Program JOB ABORTED Fatal Errors Have Occurred !! Enter (CR) f o r Master Menu EXPLANA T I ON : D u r in g th e B ackup O p e ration, BRS m akes a M a ster D irectory of f il e n ames on the partition t hat is being backed up. If th e Backup Operation involves a large number of file names, then the partition m i gh t n o t h a v e space for th e d i r e ctory. H e nce yo u m u s t c r eate m ore empty s p ace on t h e p a r t i t i on . I f t h i s e r ro r o c c u rs, you s h o u l d e nter a carriage return t o a c cess the M a ster M e nu , exi t f r o m B R S t o t he CP/M O p erating System, and e r ase (see ERA) en ough d at a f r o m the partition t o c r e ate at l e ast 32 k i l o b y tes of u n u sed st orage space (see STAT). Then yo u ca n i n v ok e BR S again an d r e p eat th e B ackup Operation. During this Operation, you should enter 2000 or fewer Selection File Specifications. Page 2-78 Wrong Disk Inserted in Drive Enter (CR) for Master Menu EXPLANA T I ON : BRS prompted you to insert Volume 01 (the Directory D isk), and th e d i s k yo u i n s erted either wa s no t a V o l u m e 0 1 d i s k o r was the Volume 01 disk of the wr ong Backup Disk Set. Enter a carriage return at this pr ompt and the M aster Menu w i l l a p p ear. At th e M aster Menu, you can select a BRS operation again. Wrong Disk Inserted in Drive I,oadDriv e X: wi t h V o l u me nn of Backup Disk Set Enter Carriage Return When Ready EXPLANA T I ON : BRS prompted you to i n sert a specific vol um e (other than Volume 01) from your Backup Disk Set, and the disk you inserted e ither was not th e specified v o l um e o r w a s th e specified v o l um e f o r a different Backup Disk Set. Insert the nnth v o l um e of the appropriate Backup Disk Setand enter a carriage return. Page 2-79 BSYSGEN The Utility that Copies the Operating System Between Disks The BSYSGEN uti l it y i s used to tr ansfer either part or all of th e CP/M o perating system t o a d i sk , d e p end in g o n t h e c i r c u m stances. Unl i k e t he SYSGEN uti l it y th e B SYSGEN ut i l it y can no t be used to copy t h e s ystem k e r ne l d i r e c tl y f r o m me m o r y t o a d i sk af t e r r u n n i n g a MOVCPMxx u t i l i t y , a l t h ough i t ca n c op y a f i l e t hat w a s recorded by the SAVE command after execution of MOVCPM . NOTE: Heath/Zenith r e l eases of th e C P/M O p e r ating Sy stem c o n sist of a system k ernel an d th e f i l e B I O S.SYS. To m ak e a d i s k b o otable, y ou must pu t t h e s y stem k ernel o n t h e d i s k' s system tr acks and t h e file BIOS.SYS on th e d i sk's fil e area. BSYSGEN w il l c o p y th e system kernel under all ci r c umstances, and the file BIOS.SYS under some circumstances. BSYSGEN can be used by two methods: the BSYSGEN Prompt M ethod or the System Prompt Method. Page 2-80 1 BSYSGEN PROMPT METHO D Under the BSYSGEN Prompt Meth od, you first load the BSYSGEN utili ty int o c o m p u ter m e m o ry , an d t h e n r e spond t o B S Y SGEN p r o m p t s that define the operation. 1.1 BSYSGEN Invocation To begin under this method, type the follow in g command at the system prompt: A>B SYSGEN RE T URN The following display will appear: BSYSGEN VER 2. 0. 04 SOURCE DRIVE NAME 1.2 Specifying the Source A t the " S OURCE DRIVE N A M E : " p r o m p t , yo u ca n sp ecify th e d r i v e containing the disk from which the system will be copied. Enter the letter that stands for that drive. T he follow in g example shows ho w y o u w o u l d a n s wer t hi s p r o mp t i f the source of the system was to be the disk in drive A: SOURCE DRIVE NAME (OR RETURN TO SKIP): A NOTE: BSYSGEN can only copy the system between disks of the same type. Therefore, you can not enter a carriage return at t h is B S YSGEN prompt to copy a system that has been moved i nt o co m p u ter m em ory by a MOVCPMxx ut i l i ty . (If you do w ish to copy the system from memo ry after a MOVCPMxx activi ty, use the SYSGEN utili t y .) BSYSGEN will now p r o mpt you to confirm y our selection of the source drive, with a prompt in the follow ing form : SOURCE ON A, THEN TYPE RETURN: You can confirm your specification of the source drive name by entering a carriage return at this prompt. You can also abort the BSYSGEN operat ion and r eturn c o n trol t o th e o p erating system by h o l d i n g d ow n t h e CTRL key and pressing the C key. Page 2-81 I f yo u c o n f i r m t h e " S O U RCE O N " p r o m p t w i t h a c a r r i age r e tu r n , BSYSGEN will then display the message: FUNCTION COMPLETE COPY BIOS.SYS (Y/N): 1.3 Copying BIOS.SYS with BSYSGEN To instruct BSYSGEN to copy th e f il e B I O S.SYS from the source disk t o the destination disk, press Y at the "COPY BIOS.SYS (Y/N):" prompt . If you do not wish to copy BIOS.SYS, press N. NOTE: If yo u d e c l in e to c op y th e B I O S.SYS fil e u sing th e BSYSGEN utility, you can copy i t t o a d isk u s ing the PIP uti l it y o r r ecord a new o ne on a disk using the MAKEBIOS utili t y . If you pressed Y to copy BIOS.SYS, BSYSGEN will d i s p lay the message " FUNCTION C O M P L ETE" , an d t h e n p r o m p t f o r d e s t i n ation . I f y o u pressed N t o f o r g o t h e c o p y i n g o f B I O S . SYS, B S YSGEN w i l l i m mediately prompt for destination. 1.4 Specifying the Destination A few seconds after you have made an entry at the "COPY BIOS.SYS" prompt, BSYSGEN will pr ompt for destination as shown: DESTINATION DRIVE NAME (OR RETURN TO REBOOT): The first t i m e t h i s p r o mp t a p p ears, you s h o ul d t y p e t h e d r i v e l e t ter f or the d is k t h a t y o u w i s h t o r e c eive th e sy stem. For i n s t ance, typ e B. BSYSGEN would then display a prompt in the followi ng form: DESTINATION ON B, THEN TYPE RETURN Confirm y o u r d e s t ination s p ecification b y e n t e r ing a c a r r iage return at such a prompt. B SYSGEN wil l a g ain d i s p lay th e " D E STIN A T IO N D R IV E N A M E ( O R RETURN TO REBOOT):" prompt. This time, you can specify a different d rive name, in sert a ne w d i s k i n t o t h e f o r mer d e stination d r i v e a n d specify thi s d r i v e again as th e d estination, or e n ter a c arriage return to cause a warm boot. (A w arm b oot w i l l e x i t yo u f ro m th e BSYSGEN u tility t o t h e CP/M O p erating System. Then a system p r o mp t w i l l b e displayed.) Page 2-82 2 SYSTEM PROMPT METHO D The System Prompt M e t ho d enables you t o e n ter all o f t h e sp ecificat ions necessary for a B S Y SGEN op eration i n a s i n gl e c o m m an d l i n e entered at the CP/M system prompt . 2.1 Command Line Entry S ystem Prompt Method BSYSGEN commands are entered in the follow ing form: A)BSYSGEN (destination) = (sourcej([option,option]) RE T URlV Where BSYSGEN i s t h e c o m m a nd l i n e f u n c t i o n, s t o r ed i n t h e f i l e BSYSGEN.COM on the logged disk; where (destination) i s t h e n a me o f t h e d r i v e t h a t c o n t a ins t he d i s k receiving the copy of the system; where (sourcej can be either a drive name, a file name, or both; and where {[option,option]) represents letters enclosed in s q u are brackets [] and separated by a c o m m a , t o s p e c ify ho w t h e B S Y SGEN operation should be conducted. N OTE: In a co m m and l i n e equation, the data source is alw ays on t h e right and the data destination is always on the left. 2.2 S y s tem Sources The system source can be one of the follow ing four types: D rive Name, in c l u d in g a l e tter for a d r i v e w i t h i n y o u r h a r d w a r e environment and a colon, as with A:, B:, C:, D:, E:, or F:; File Name, w h ic h s p ecifies a fil e t hat wa s created and stored by consecutive M OV C P M x x an d SA V E com m a n d s , as w it h CPM32.SYS, CPM48.SYS, or CPM64.SYS; or Drive Name and File N ame, wh ere the file desired for the system k ernel source resides on a d i s k i n a n o n - d efault d r i v e an d t h e drive n am e m u s t s p e cif y t h a t d r i v e , a s w i t h B: C P M4 8.SYS o r C:CPM64.SYS. Page 2-83 2.3 BSYSGEN Options and Defaults BSYSGEN command l i nes entered by th e System P rompt Methodcan include the follow ing options (enclosed in square brackets [] ): N BIOS.SYS file w il l b e c o p ied w i t h th e system kernel, from t he specified source to th e s p ecified d estination. I f a f i l e named BIOS.SYS already exists on the destination d i sk, it will be overwritten. No prompt wil l be displayed during this operation. When you enter a BSYSGEN command line with source and destination specifications, and neglect to specify o p t i o ns, BSYSGEN w il l p e r f orm the operation according to these default criteria: • • BI OS. S Y S f i le w i l l no t b e c o p i e d, regardless of the source of the rest of the system (unless option B i s entered w hen source is not memory). Pr omp t w i l l b e d i s p l a yed to confirm w h i c h d r i v e w i l l r e c e ive the copy of th e sy stem (u n l ess option N i s e n t ered). The B SYSGEN prompt appears as shown: BSYSGEN VER 2. 0. 04 DESTINATION ON B, THEN TYPE RETURN 2.4 S y s tem Prompt Method Examples A)BSYSGE N B : = A: R E T UR % B SYSGEN w i l l c o p y t h e s y stem k e r nel f r o m t h e d i s k i n d r i v e A t o the disk in d r i v e B. The BIOS.SYS file from A w i l l no t be copied and a prompt wil l appear before the copying, by default. A>BSYSGEN B: = D:[N] R ET U R N B SYSGEN w i l l c o p y t h e s y stem k e r nel f r o m t h e d i s k i n d r i v e D t o the system tracks of th e d i s k i n d r i v e B . T h e B I O S.SYS fil e w i l l n o t be copied, by d e fault. A p r o m p t w i l l no t a p p e ar before the c opyi n g , as specified by the N option. Page 2-84 A>D:BSYSGEN B: = C:CPM64.SYS[B,N] R ET U R N The BSYSGEN uti l i ty , in t hi s case, is stored on the disk in n o n -default d rive D . I t w i ll copy t h e s ystem k e r n e l f r o m t he f il e n am e d "CPM96.SYS" (recorded onto the disk in drive C by the SAVE command a fter creation i n m e m or y b y t h e M O V C P Mx x c o m m a n d) , an d p u t i t o n the s y stem t r a cks o f t h e d i s k i n d r i v e B . I t w i l l a l s o c o p y t h e B IOS.SYS file from d r iv e C to d r iv e B, and di sp lay no p r o m pt s du r i n g the operation, as specified by options. 3 BSYSGEN ERROR MESSAGES INVALID DRIVE NAME E XPLANA T I ON : Y o u m u s t s p e cify d r i v e n a m es u s in g th e n a mes of drives that exist in th e h a r d w are envir o n m ent, and are recognized by the operating system that was loaded at bootstrap. NO SOURCE FILE ON DISK EXPLANA T I ON : The drive specified as "SOURCE DRIVE" did not contain the fil e B I O S.SYS. You shoul d us e a d i f f erent d isk i n t h e s o ur ce d rive, or r ename a B IOS f il e t hat has been given a d i f f erent n am e t o "BIOS.SYS". SOURCE FILE INCOMPLETE E XPLANA T I ON : B S Y SGEN f a i l e d i n an at t e m p t t o c opy t h e f i l e BIOS.SYS from the disk in th e source drive. This file m i ght h ave been damaged by disk m e dia f l aw s or p a r t i all y o v er w r i t t en. Reset, perform bootstrap, and re-enter the BSYSGEN comm and u s ing a di f f erent di sk in the source drive. WRITE ERROR DURING BIOS. SYS E XPLANA T I ON : Tr y B S Y SGEN again w i t h a d e s t i n ation d i s k t h a t i s write enabled, for m atted, and h a s a t l e ast 6 k i l o b y tes of f r e e space. Page 2-85 ERROR READING BIOS. SYS E XPLANA T I ON : B S Y SGEN f a i l e d i n an at t e m p t t o c o p y t h e f il e BIOS.SYS from the disk in th e source drive. This file m i ght have been damaged by disk m e dia fl aw s or p ar ti all y o v erw r i t t en. Reset, perform bootstrap, and re-enter the BSYSGEN command u s ing a di fferent di sk in the source drive or using a different disk to perform bootstrap. PERMANENT ERROR, TYPE RETURN TO IGNORE EXPLANA T I ON : The system kernel or BIOS.SYS file are either incompatible wit h th e destination disk t ype or otherw ise flawed. Reset, perform bootstrap, and re-enter the BSYSGEN command using a different disk in the source drive or using a different disk to perform bootstrap. U nder some c i r c um stances, you m u s t u s e a M O V CP M u t i l i t y b e f o r e BSYSGEN. UNABLK TO SELECT DRIVE EXPLANA T I ON : Specify th e name of a d r i v e t hat can be accessed by BSYSGEN. Such a d r i v e m u s t b e a v a l i d d r i v e t h a t i s r e cognized by the operating system. COh5LQR SYNTAX ERROR EXPLANA T I ON : Sy stem Prompt M e t ho d c o m m an d l i n e w a s e n tered w ithout f o l l o w i n g t h e e n tr y f o r m e x p l a i ned i n " 2 . 1 C o m m an d L i n e Entry". Enter command again after reviewing this entry form. ILLEGAL OPTION EXPLANA T I ON : Sy stem Prompt M e t ho d c o m m an d l i n e w a s e n t ered with an opt ion other than a B or an N. Re-enter command w it h e i t h er , none, or all o f t h e B SYSGEN opt i ons B an d N . E n c l ose the op ti on(s) in square brackets and separate them with a comma if both are used. Page 2-86 Page 2-87 CONFIGUR The Utility that Customizes the CP/M Operating System forSeveral Characteristics of the Hardware Environment The CONFIGUR util ity helps you to change the CP/M Operating System so that it wil l control specific hardware devices. W hen i n v o ke d ( Section 1) , C O N F IGUR o f f ers yo u t w o m e t h od s f o r c hanging the system: the Standard System M e t ho d (Section 2) or t h e Menu Selection M ethod (Section 3). The former method automatically changes the op erating system t o a c c om m o date onl y c e r tain d e v i ces. The latter method enables you to t y p e selections at m enus to c h ange the system to accommodate a wid e variety of har dw are characteristics and/or your preferences (Sections 4 through 7). C ONFIGUR is u su all y r u n d u r i n g t h e f i r s t session of C P/M u s e i n a particular hardware environment. But i t s h o ul d a lso be run w h e n ever a component of the hardware environment is added or changed. N OTE: CONFIGUR al w ays m akes some ch anges to th e i m age of t h e C P/M Operating System that was loaded into computer memory du r i n g b ootstrap, but these changes are only r ecorded on th e d isk i f t h e d i s k is not wr it e p r otected. If the d isk i s w r i t e p r otected, then the changes will only remain in effect until the computer is reset. C hanging onl y t h e s y stem i m age i n m e m or y an d n o t t h e s y stem o n the disk is an effective way to test the changes that CONFIGUR makes to the system before recording these changes on a disk. Page 2-88 1 CONFIGUR INVOCATION CONFIGUR is invoked by responding to the system prompt w it h a command line in the follow ing form : A>CONFIGUR R ETU R N NOTE: Heath/Zenith CP/M D i stribut ion D i sks are preset at the factory s o that the CONFIGUR uti l ity w i l l b e i n v o ked automatically w hen y o u perform bootstrap with th e w r i t e-protected distribution d i sks. This automatic invocation feature can be changed (Section 7). W hen invoked, CONFIGUR identifies itself with a display in the follow ing form: Heath/Zenith Configuration Program V ersion 2 . 2 . 0 4 Serial Number: s s s - s sss This program configures the CP/M operating system to a particular hardware environment. Please wait during hardware verification... At this point, the CONFIGUR uti l it y w i l l p r ob e parts of your hardw are environment. After this probe, CONFIGUR displays some of the characteristics of some of your hardware devices, for example: H/Z89 with 48k of random access memory (RAM) 03 H/Z17 minifloppy drive(s) C RT baud rate i s 9 6 0 0 00 additional serial ports found This display di ff ers depending upon the assortment of devices in your hardware environment. How ever CONFIGUR always notes the type of m icrocomputer, the term i nal b aud r a te, and at l east one t yp e of d i s k drive. Page 2-89 If the disk with w h i c h you performed bootstrap is write protected, then CONFIGUR cannot make any changes to the operating system recorded on this disk, and displays the follow ing message: Drive A disk is write-protected. Modifications will NOT be made to this disk for this CONFIGUR run. T he bottom l i n e o f t h i s d i s p lay i s a p r o m p t t h a t a p p ears as fol l o w s : S tandard system (Y or N)? < Y> : This p r o mp t p r e sents yo u w i t h t h e c h o i c e o f c h a n g in g t h e s y stem through the Standard System Method (Section 2) or th r ough the M enu Selection Method (Section 3). 2 S TANDARD SYSTEM METHOD CONFIGUR can automatically ap pl y l i m i t e d c h anges to the op erating system to allow th e system to control y ou r t e r m i n al, at least one type of disk drive, and a particular type of printer. These standard system ch anges w il l b e m a d e i f y o u e n t e r t h e l e t t er Y or a carriage return at the standard system prompt, as shown: Standard system (Y or N)? ( Y > : Y The automatic standard system c h anges adjust th e o p erating system s o that i t r e c ognizes the h a r d w ar e c h aracteristics CONFIGUR f o u n d in its limited probe of the hardware environment. Page 2-90 In additi on , th e standard system changes adjust the op erating system to recognize the follow ing other criteria: A CRT: device set at a baud rate of 9600, will tr ansfer data through port 350Q, with no nulls after carriage returns; A TTY: device set at a baud rate of 300, wil l t r ansfer data through port 320Q, with n o n u l l s after carriage returns, and w i t h out tr anslating all letters to uppercase; A modem set a t a b a u d r a t e o f 3 0 0 , w i l l t r a n sfer d ata t h r o u gh port 330Q, with no n u l l s after carriage returns, and w i t h out tr anslating all letters to uppercase; A pr i n ter set at a b au d r a t e o f 4 8 00 , w i l l t r a n sfer d ata t h r ou gh p ort 340Q, with no n u l l s after carriage returns, and w i t h out p r i n t ing all letters in uppercase; Use of th e D E LETE key w i l l n o t c a u s e ch aracters to b e e c h oed (repeated) on the console display; S erial Printer ready signal polarity w il l be set "LOW " ; Serial Printer ready signal will be carried by "RTS (Pin 4) "; P arallel Printer ready signal polarity w il l be set "HIGH " ; A Z89-11 interface card's LPT device w il l f a c i l i t ate "PA R A L L E L " data transmission; 5.25-inch disks will w r ite 48 tracks per inch (tpi); 5.25-inch disk step rates are set to 30ms; Detailed disk error messages will not appear; T he l o g i c al/physical d e v i c e p a i r i n g s ( I O B Y T E ) a r e s et a s CON: = CRT:, RDR: = UR1:, PU N : = UP1:, and L S T : = LPT:; and N o program w i l l or cold boot. b e a u t o m at ically i n v o k e d a f ter th e n ex t w a r m After you type Y at the " Standard system" p r o m pt , CP/M i m m e d i ately displays the system prompt . Page 2-91 3 M ENU SELECTION METHOD CONFIGUR also enables you to c h ange the operating system th r ough t he Menu S e l ection M e t h od , b y t y p i n g s e l ections t hat ar e l i s ted o n a series of menus. Actually, C O N FIGUR has al ready m ad e a f e w a u t o m ati c c h anges to reflect the hardware characteristics it found in its li m i ted probe of your environment. But most users will benefit from m aking some additional changes through CONFIGUR menus. To begin m a k in g t h ese changes, y ou should refuse the changes offered at the "Standard system" promp t by typing the letter N, as shown: S tandard system (Y or N) ? ( Y > : N When an N i s t y ped at thi s pr om pt , CONFIGUR w il l menu, as shown: d i s p lay the main C P/M Configurat i o n Set Terminal and Printer Characteristics Set Disk Parameters Change the Default I/O Configuration Automatic Program Control Configure, making changes to memory only Y C o n figure, making changes to both memory and disk Z Quit, making no changes From CONFIGUR's main m en u ( sh ow n a b ove) you can access a submenu by typ ing one of the letters A, B, C, or D; or return to the system prompt b y t y p i n g X, Y, o r Z. Ea c h s u b m e nu e n a b les y ou t o s e l e ct changes or return to the main menu. NOTE: If the disk you booted up w it h i s w r it e protected, the "Y" selection w i l l n o t a p p ear an d y o u w i l l n o t b e a b l e t o m a k e " c h a nges to b oth memory and disk" . Page 2-92 3.1 CONFIGUR Submenu Options The follow ing key describes the different uses for each of CONFIGUR's four submenus. Submenu A Option: T o change the system b au d r at e a n d/or p or t a d d r ess setting f o r a video terminal, pr i n t in g termi n al, p r i n t er, in pu t m o dem or o u t put modem; to change the treatment of l o w ercase letters sent to a vi deo terminal, printing terminal, or printer; t o change the n u m ber of n u l l s s ent after each carriage return t o a video terminal, printing terminal, or printer; to change the w a y a t e r m i n a l t r e ats characters that ar e d e l eted with the "DELETE" key; t o change the v o l tage level ( p o l arity] a n d /or th e c o n n ection p i n used for the "pri nter ready signal" between the terminal and either a serial printer or a parallel printer; t o determine w h e t her a Z 8 9 -11 i n t erface card w i l l u s e t h e L P T physical device for parallel or serial data transmission; and/or to return to th e m ai n m en u w h i l e saving or i gn or ing the changes s elected at t hi s su b m e n u . Submenu B Option: To change the step rate of 5.25-inch disk drives; to change the n u m ber of t r a cks per i n c h ( t p i ) u sed t o st ore data on 5.25-inch soft-sectored disk drives; to turn on/off the display of detailed disk error messages; and/or to return to th e m ai n m en u w h i l e saving or i g n or ing the changes selected at this submenu. Submenu C Option: To change the match-up of logical input/output devices with ph y sical input/output devices; and/or to return to th e m ain m en u w h i l e saving or i gn or ing the changes selected at this submenu. Page 2-93 Submenu D Option: To turn on/off the automatic invocation of a command; to change the text of th e c o m m an d t hat sh oul d b e i n v o ked after every cold boot and/orafter every warm boot; and/or to return to th e m ain m en u w h i l e saving or i gn or ing the changes selected at this submenu. 3.2 CONFIGUR Exit Options By typin g on e o f t h e X, Y, o r Z o pt i o n s a t t h e b o t t om o f t h e m a i n menu, you can exi t f r o m C O N F I GUR to th e CP/M O p erating System. The follow ing key describes the other functions of each exit option . Exit Option K: You can apply t he selected changes only to the system in computer memory by typing the letter X at the main menu. Exit Option Y: You can apply t he selected changes both to the system in memory and the system on the disk by typ i ng Y a t t he main m e n u . However, this option w i l l n o t be di splayed if th e disk used to perform bootstrap was write protected when CONFIGUR was invoked. Changes entered through CONFIGUR cannot be r ecorded on a w r i t e -protected disk. Exit Option Z: You c an nu l l ify all c hanges selected at all of t h e s ub menus by typing Z. When either X , Y , o r Z i s u s e d t o e x i t f r o m C O N F I G UR, th e CP/M O perating System w i l l d i s p la y th e s y stem p r o mp t b e n eath th e m a i n menu. NOTE: The CONFIGUR uti l i ty c an d e tect many i n v a l id e n t r i e s. If you make an invalid entry, the terminal m i ght emit au d i ble beeps or refuse to display a selection. In such a case, you should re-enter the selection. Page 2-94 4 SUBM ENU A: TERMINAL/PRINTER CHARACTERISTICS Typing A at t h e m a in m e nu s e l ection p r o m pt w i l l c a u se CONFIGUR to display the follow ing submenu: C RT: Baud T TY: B aud L ST: B au d U R1: B aud U P1: B a u d r a t e : 9 600 Port : rate: 300 P o r t : r a t e : 4 8 0 0 Por t : rate: 30 0 P o r t : r a t e : 300 P o r t : OE8H = ODOH = OEOH = ODSH = ODSH = 350Q 320Q 3 4 0Q 330Q 330Q Force output t o u pper case on CRT: TRUE Force output t o u p per case on TTY: FALSE Force output t o u p per case on LST: F ALSE Nulls outputted after CR on CRT: 0 Nulls outputted after CR on TTY: 0 Nulls outputted after CR on LST: 0 Echo on DELETE: T R UE Serial P r i n t e r R e ady Si gnal P o l a r i t y < H I GH, LOW>: LOW S erial P r i n t e r R e ady Si gnal < DTR (Pin 20),RTS (Pin 4) >: R T S Paralle l P r i n t e r R eady Signal P o l a r i t y < H I GH,LOW>: HIGH Z89-11 LPT Selection : PARALLEL Fin i shed, make changes and return to main menu Quit, make no changes and return to main menu S elect i o n : (This sample display may differ from the displays of some users.) T he selections in submenu A enable you to do the follow i n g : Change the system baud rate and/or port address setting for a video terminal, pr inting t erminal, p r i nter, i n pu t I no dern or output modem; c hange the treatment of low ercase letters sent to a video termin al , printing terminal, or printer; c hange the n u m ber o f n u l l s s en t a f ter each c arriage return t o a video terminal, printing termin al, or printer; c hange the way a terminal treats characters deleted wit h th e " D E LETE" key; change the properties of the printer ready signal; and c hange the v o l t age levels (p olarity ) a n d /or t h e c o n n ection p i n s used for the "printer ready signals"; select whether a Z89-11 interface card w i l l u s e th e LPT p h y s ical device for parallel or serial data transmission; and/or return t o t h e m a i n m e n u w h i l e s a v in g o r i g n o r in g th e c h a nges selected at this submenu. This text guides you through these operating system changes. Page 2-95 4.1 Change Baud Rate and/or Port Address (Selections A, B, C, D, and E) This section explains how to make baud rate and port address changes to physical d ev ices. Users unfami l iar w i t h t h ese terms m i ght b enefit from reading the follow ing explanations. PHYSICAL DEVICE NAMES The four-character names in selections A t h r ough E (such as CRT: and TTY:) are physical device names. Physical Device Names are abbreviations by w h ic h yo u w i l l i d e n t if y a particular kin d of h a r dw are device, as shown: "CRT:" refers to video terminals (Cathode Ray Tube) "TTY:" refers to printing terminals (TeleTYpe) "LST:" refers to line printers (LiSTing device)* "UR1:" refers to input moderns (User-defined Reader 1) "UP1:" refers to output modems (User-defined Punch 1) BAUD RATE B aud rate is th e speed w it h w h i c h a p h y s i cal d ev ice transmits or r eceives data. Since the CP/M operating system is responsible for controll ing the passage of data between your d e v i ces, it must k no w h o w f a st these devices are able to pass data. T he baud rate for a particular phy sical device is displayed on the l i n e w ith t h a t d e v i c e ' s p h y s i c a l n ' arne. (V a l i d b a u d r a t e s a re : 3 8 4 0 0 , 1 9 2 0 0 , 9 600, 4800, 24 00 , 18 00 , 12 00 , 600, 300 , 150 , 134, 1 10, an d 7 5 . ) PORT ADDRESSES The CP/M operating system sends and receives data through electrical connections k n ow n a s p o r ts. A p o r t a d d r ess enables CP/M t o l o c at e a specific port through which it can access a device. I n the submenu A s e l ections, port a d d resses are expressed in v a l u e s from tw o d i f f erent n u m bering systems: hexadecimal and o ct al. Wh en the port address value is entered, it is in th e form of either a hexadecimal nu m ber o r a n o c t a l n u m b er . S om e v a li d p o r t v a l u e s are: 32OQ = ODOH, 330 Q = OD8H, 340 Q = OEOH, and 3 5 0 Q = OE8H . Actually, "LST:" is not a physical device name, but a logical device name. This distinction will be explained in Section 6. During submenu A operations, LST: should be treated as though it were a physical device name. Page 2-96 H OW TO CH A N G E B A U D R A T ES AND PORT AD D R E S S E S T o change a baud rate and/or port address, you should f i rst determin e what physical device names apply to the machines within the hardware e nvironmen t ( e . g . t e r m i n al , p r i n t e r , modem). Considering e ach m achine, one at a t i m e , you s h o ul d t y p e th e l e t ter (A , B , C , D , or E ) that corresponds to that machine. CRT: LST: UR1: UP1: Baud rate: 9600 Port : Baud rate: 300 Port : Baud rate: 4800 Port : Baud rate: 300 Port : Baud rate: 300 Port : O ESH= O DOH= OEOH= O D 8H= O D 8H= 350Q 320Q 3 4 0Q 3 3 0Q 330Q This portion o f s u b m enu. A (as i t a p p ears on y ou r t e r m i n al ) d i s p l ay shows the baud rate and terminal values currently used by the system. I f a particular device does not currently w or k as it shou ld , you shoul d change it's baud rate to match the rate listed in Table 2-1. If a machine being used is not listed in Table 2-1, you should refer to that machine's manual. If you have a Heath/Zenith mi crocomputer, then it should not be necessary to change the port ad dress values. If yo u h av e a m i c r o computer o ther than on e f u r n i shed b y H e a th/Zenith , t he n y o u s h o u l d r e fer t o t he manual of th e m i c r o computer used t o d e t ermin e th e p r o per p o r t addresses for each device. You can start a c h a nge by t y p i n g o n e o f t h e s e l ection l e t t ers (A, B , C, or D). CONFIGUR wi ll f i r s t d i s p l ay t he corresponding phy s ical dev ice name an d p r o m p t y o u t o e n t e r t h e b au d r a te, as sh ow n i n t h e following example: L ST Baud r a t e : The baud rate numbers must be entered carefully, because CONFIGUR a ntic i p a te s c e r t ai n b au d r a t e v a l u es, an d u s u a l l y o n l y n e e d s t o k n o w the first digit or two before it assumes and displays the entire number. Page 2-97 I mm e d i a t el y a f t e r C O N F I G U R a c c e p t s t h e b a u d r a t e v a l u e , i t d i s p l a y s t he w o r d " P o r t : " a n d w ai t s f o r y o u t o en t e r t h e p o r t a d d r e s s v a l u e , a s show n : L ST Baud rate: 9 60 0 Port : T his v a l u e m u s t b e e n t e r e d i n h ex a d e c i m a l o r o c t a l v a l u e s , b u t t h e " H" o r " Q " r a d i x s y m bo l t h a t u s u a ll y a c c o mpanies v alues i n t h e s e n umber systems is no t n e cessary. If y o u d o n o t w i s h t o c h a nge t h e port address, a carriage return can be entered at this prompt . W hen an e n t r y i s m a d e at th e " P o r t : " p r o m p t , C O N F I G U R w i l l r e d i s p l a y submenu A with any new values you entered. NOTE: CONFIGUR changes only th e o p erating system's expectations of a particular baud rate for a p ar ti cular d evi ce. CONFIGUR does not change the baud rate of the device itself. The baud rate of a peripheral device can sometimes be changed according to i n structions in th e d evice's hardware manual. I f you w i s h t o c h a nge the baud r ate of t h e C RT : or T T Y : ( w h e n o n e o f these devices is u sed as th e t e r m i n a l), ch ange th e C RT : o r T T Y : v alue i n su b m en u A f ir st . T h en , after ex i t in g f ro m C O N F I G UR , m a n u - ally change the baud rate of the t erminal t o m a tch th e selection m ade through CONFIGUR. (If the baud r ate had been manually ch anged on t he te r m i n a l f i r s t , y o u w i l l b e u n a b l e t o u s e t h e t e r m i n a l t o c o m m u n i - cate with CP/M or CONFIGUR.) Page 2-98 This table illustrates the selection letter, baud rate, and port address you should enter for a particular hardware item. Some baud rates are subject to change. A d e v i ce's hardware manual shoul d be consulted to verify baud rates. SELECTION LETTER DEVICE NAME DEVICE DESCRIPTION CRT: video terminal TTY: LST: D and E printing terminal line printer input modem and UP1: and output modem INTERFACE HEATH/ZENITH CATALOG NAME BAUD RATE H/Z-19 H/Z-89 9600 Z-89-3 Z-89-3 Z-89-3 Z-89-11 Z-89-11 Z-89-11 H/Z-90 H/Z-19 H/Z-89 H/Z-90 Z89-3 Z89-3 Z89-3 Z89-11 Z89-11 Z89-11 LA-34 DECwnter (WH-34) LA-36 DECwriter (WH-36) Diablo KSR 1640 LA-34 DECwriter (WH-34) LA-36 DECwnter (WH-36) Diablo KSR 1640 Z89-3 Z89-3 Z89-3 Z89-3 Z89-3 Z89-3 Z89-3 Z89-3 Z89-3 Z89-11 Z89-11 Z89-11 Z89-11 Z89-1 1 Z89-11 Z89-11 Z89-11 Z89-11 Z89-11 Heath H-14 Texas Instruments TI-810 (WH-24) Heath/Zenith H/Z-25 LA-36 DECwriter (WH-36) OESH = OESH = OEBH = 350Q OEBH = 350 Q 300 ODOH = 320Q 300 1200 300 300 1200 4800 4800 4800 Diablo 1610/1620/1650 Epson MX-80 (serial) Epson MX-80 (parallel) 4800 none Novation CAT Acoustic (WH-13) Lexicon LEX-11 (WH-23) UDS Direct Connect (WH-23) Hayes SMARTMODEM (WH-43) Table 2-1 S ubmenu A B a u d /Port Val u e s Q Q 350 Q 350 Q OESH = 350 OEBH = 350 9600 9600 9600 9600 9600 300 1200 1200 1200 1200 4800 4800 4800 4800 300 1200 1200 1200 1200 Diablo 1640 (WH-44) Diablo KSR 1640 (WH-44K) Diablo 630 (WH-54) Diablo 16'10/1620/1650 Epson MX-80 (serial) Heath H-14 Texas Instruments TI-810 (WH-24) Heath/Zenith H/Z-25 LA-36 DECwriter (WH-36) Diablo 1640 (WH-44) Diablo KSR 1640 (WH-44K) Diablo 630 (WH-54) PORT ADDRESS 300 300 300 300 ODOH = 320 ODOH = 320 ODSH = 330 ODBH = 330 ODBH = 330 Q Q Q Q Q = 340 Q = 340 Q = 340 Q = 340 Q OEOH = 340 Q OEOH = 340 Q OEOH = 340 Q OEOH = 340 Q OEOH = 340 Q OEOH = 340 Q OEOH = 340 Q OEOH = 340 Q OEOH = 340 Q OEOH = 340 Q OEOH = 340 Q OEOH = 340 Q OEOH = 340 Q OEOH = 340 Q OEOH OEOH OEOH OEOH not applicable ODBH = 330 Q ODBH = 330 Q ODSH = 330 Q ODBH = 330Q Page 2-99 4.2 C h a n ge Treatment of Lowercase Letters (Selections F, G, and H) This portion o f s u b m enu A i n v o l v e s t h ree d ev ices. These selections enable you to change the operating system so that it translates lowercase l etters into u p p ercase letters before they are sent to an o u t pu t d e v i c e s uch as a v i deo t e r m i nal (CRT:), pr i n t in g t e r m i nal ( T T Y :), or p r i n t e r (LST:). F G H For c e o u t pu t t o u p per c ase on CRT: FALSE Fo r ce output to upper case on TTY: FALSE For c e o u t put t o u p per c ase on LST: FALSE T hese three selections offer yo u o n l y t w o a l t e r n atives: " T R UE " a n d "FALSE". T h erefore, you m e r el y h a v e t o t y p e o n e o f t h e l e t t ers ( F , G, or H) to cause the opposite value to be displayed for that device. W hen on e o f t h e d i s p l ayed l i n e s f o r a d e v i c e e n d s w i t h t h e w o r d "TRUE", then CP/M w i l l a u t o m a t ically t r an slate all l o w e r case letters sent to that device into upper case (if you choose to save these changes to the system). This type of letter translation is necessary for devices that can produce o nly u p p ercase letters (such as th e H 9 v i d e o t e r m i n a l). Yo u s h o u l d c onsult a device's hardware manual to d etermine w h e ther it can p r o duce lowercase letters. Page 2-100 4.3 Change Number of Nulls Sent After Carriage Returns (SelectionsI,J, and K) This port ion o f s u b m enu A i n v o l v e s t h ree d evices. These selections enable you to change the operating system so that it sends a specified number of nul l c h aracters to a particular device after each carriage return that is sent to that device. I J K Nu l ls outputted after CR on CRT: 0 Nu l ls outputted after CR on TTY: 0 Nul ls outputted after CR on LST: 0 Y ou can start a c h ange to th e n u m ber o f n u l l s b y t y p i n g o n e o f t h e selection letters (I, J, or K). C ONFIGUR w i l l d i s p l ay a p r o m pt f or t h e selected device, as shown: Nulls after CR on LST You should then answer this prompt w it h a nu m ber from zero to seven, d epending on the number of nulls the device requires. CONFIGUR wi l l i mmediately r e d i splay su bm enu A , s h o w i n g an y c h a n ges you m a d e to the null settings. Video terminals, print ing termin als, and pr i n t ers sold by Heath/Zenith require zero n u l l s a f ter each c arriage return. U sers w i t h d e v i ces n ot obtained thr ough H eath/Zenith s h o ul d c o n sult th e d e v i ces' hardw are manuals to determine the number of nulls the devices requires. Page 2-101 4.4 Change Terminal T reatment of D eleted Characters (Selecti on I.) The "L" selection from submenu A i n v o l ves the vi deo terminal (CRT:) o r pri n t in g t e r m i na l ( T T Y : ) d e v i ce. T h ese selections enable yo u t o change the operating system so that it causes the terminal to redisplay characters deleted with the "DELETE" key ("DLT" key on some termin als). The display w il l b e activated if th e "L " l i n e ends w it h th e w o r d "TRUE". L Ech o o n DELETE: T RUE T his selection o f f ers yo u o n l y t w o a l t e r n atives v alues: " T R UE " a n d "FALSE". Th erefore, you m erely h ave to t y p e th e l e tter L to c a u se a different alternative to be applied to the operating system (if you choose to save these changes). When yo u t y p e with the new value. L, su b me nu A i s r e d i s p la yed T he "Echo o n D E L ETE" f eature i s o f ten d esired by u s ers of p r i n t i n g terminals, but seldom desired by users of video terminals that can back space. NOTE: This feature is automatically pu t i n t o effect (becomes "TRUE") whenever the MOVCPMxx and SYSGEN uti l i t ies are run, and it is di sabled (becomes "FALSE") when any changes made by the CONFIGUR utility are saved to memory or to disk. Page 2-102 4.5 Change Propertiesof Printer Ready Signal (Selections M, N, 0, and P) This portion o f s u bm enu A e n a b les you t o c h ange the operating system's expectations of th e Pr i n ter Ready Signal an d t h e p o rt s used t o communicate with a printer through the Z89-11 interface card. Serial Printer Ready Signal Polarity : LOW Serial P r i n t e r Ready Signal : RTS Parallel P r i n t e r Ready Signal Pol a r i t y < H I GH, LOW>: HIGH Z89-11 LPT Select i o n < PARALLEL, SERIAL>: PARALIZL T hese selections i n v o lv e t h e e l e c tr ical s i g nal t h a t a p r i n t e r s e n d s , through a cable, to the computer w he n i t i s r e ady to p r i n t m o r e d ata. This signal is called the "printer ready signal". The printer ready signal is sent at a certain "p ol arity " (l evel of voltage). It can b e s ent a t a " H I G H " v o l t age l evel o r a " L O W " v o l t age l ev el , depending on the kind of printer being used. By typing M, the user of a serial pri n t er can change the operating system's expectations of a particular voltage level from a serial printer. Most serial p r i n t ers available t h r ough H e ath/Zenith s en d t h i s s i gn al at the "LOW " v o l t age level. However, to determine appropriate voltage level setting for a p a r ti cular p r i n t er, you sh o ul d r e fer to th e p r i n t er' s manual. The serial printer ready signal travels through a special cable identifi ed by the model number "RS-232C". This cable contains a bundle of wires, e ach connecting a pair of m e tal " p i n s " . (One member of t hi s pi n p a i r plugs into the computer, and the other member plugs into the pri nt er.) Because each pin carries a specific k in d o f s i gnal between the pr i n t er and the computer, each pin is nu m bered. And the pin that helps transm it th e p r i n ter r e ady si gnal i s e i t her p i n n u m b e r 2 0 o r p i n n u m b e r 4, depending on the kind of printer being used. Page 2-103 By typing N , th e user of a serial pr i n ter can change the operating syst em's expectations of w h i c h n u m b e red pi n w i l l t r a n s mi t t h e p r i n t e r ready signal from a s erial p r i n t er. Th e system w i l l e x p ect t hi s si gnal to come in e i t her th e Data Termi nal Ready fashion (DTR th r ough Pin 20), or in the Ready To Send fashion (RTS through Pin 4) To determine which pi n i n t h e RS-232C cable a particular serial pr i n ter uses for the printer ready signal, refer to the serial printer's manual. By typing 0 , t h e u s ers of a p arallel p r i n ter can ch ange the operating s ystem's expectations of a particular voltage level from a parallel pri n t er. Most parallel pr i n t ers available through Heath/Zenith send thi s signal at the "HIGH" v o l tage level. However, to determine appropriate voltage level setting for a particular printer, refer to the printer's manual. The Z89-11 interface card (available with t hi s CP/M version) is capable o f data t r a n smission t o a n d f r o m e i t h e r s e r ia l o r p a r a l le l p r i n t e r s through th e LP T p h y s i cal d e v i ce. H o w ev er, th e t yp e o f p r i n t er u s ed must be specified through the P selection. By typing P, y ou can change the specification of wh i c h k i n d of p r i n t e r (serial or parallel) will be used. When you t ype the letter for any of th ese four selections, the opposite value goes into effect (if you save this change). In additi on, CONFIGUR redisplays submenu A with the newly selected values in place. Page 2-104 4.6 Return to Main Menu (Selecti ons Y and Z) T hese submenu A s e lections enable you t o e xi t f r o m t h e su bm enu t o the main menu. Y F i n ished, make changes and return to main menu Z Quit, make no changes and return to main menu By typing Y, yo u a l so i n s truct C O N F IGUR to p r e serve the selections entered at submenu A (although none of the changes from any submenu c an be applied to th e o p erating system u n ti l y o u e x i t f r o m t h e C O N - FIGUR utility entirely). By typing Z, you i n s truct CONFIGUR to abandon any c hanges entered at submenu A. A fter either of these entries, CONFIGUR wil l r e d i splay the main menu , as shown: C P/M Configurat i o n Set Terminal and Printer Characteristics Set Disk Parameters Change the Default I/O Configuration Automatic Program Control X C o n figure, making changes to memory only Y C o n figure, making changes to both memory and disk Z Quit, making no changes You can now access a submenu or exit from CONFIGUR entirely. NOTE: If the disk being configured is w r i t e p r otected, the Y selection from the m ain m en u w i l l n o t b e available, and changes cannot be re- corded on disk. Page 2-105 5 SUBMENU B: SET DISK PARAMETERS Typing B at t h e m a in m e nu s e lection p r o m pt w i l l c a u s e CONFIGUR to display the follow ing submenu: A 5 . 2 5 Inch Soft Sectored Unit 0 Step Rate: 30ms Track Density: 48tpi B 5 . 2 5 Inch Soft Sectored Unit I Step Rate: 30ms Track Density: 48tpi C 5. 2 5 Inch Soft Sectored Unit 2 Step Rate: 30ms Track Density: 48tpi 5.25 Inch Hard Sectored Unit 0 ~*undefined** 5. 25 Inch Hard Sectored Unit I **undefined*~ 5.25 Inch Hard Sectored Unit 2 **undefined** Detailed Disk Error Messages: FALSE Y Z Fi n ished, make changes and return to main menu Quit, make no changes and return to main menu (This display might differ slightly for some users.) T he selections in submenu B enable you to do the follow i n g : Change the step rate of 5.25-inch disk drives; change the number of tracks per inch (TPI) for 5.25-inch soft-sectored disk drives; turn on/off the display of detailed disk error messages; and/or return t o t h e m a i n m e n u w h i l e s a v in g o r i g n o r in g th e c h a nges selected at this submenu. Page 2-1 06 5.1 Change 5.25-inch Disk Step Rate This text explains how you can change the step rate and/or track density for 5.25-inch disk d r i v es. Users unfami l iar w i t h d i s k d r iv e technology might benefit from the brief explanations provided here. DISK DRIVE UNIT A disk d r iv e u n i t i s a s i n gl e p h y s ical d i s k d r i v e , or on e o f t h e d r i v e slots visible to you. Each of the 5.25-inch disk dr ive slots (wit hi n each disk driv e group) are given d i s t i nct u n i t n u m b ers from z ero t h r o u gh two. C ONFIGUR automatically t r ies to f in d ou t ho w m a n y d i s k d r i v e u n i t s a re connected to th e when it p r o bes the hardw are environ ment. If C O N FIGUR f i nd s t hat a n e n v i r o n m ent c o n t ains a p a r t i cul ar unit, it w i l l r e f l ect these find i ngs by d i s p l aying a step rate (ms) value next to that unit in submenu B. If CONFIGUR does not find a particular u nit, then C O N F IGUR w i l l d i s p l a y t h e w o r d " + + u n d e f i n ed ++" n e x t to the corresponding unit in subrnenu B. computer NOTE: I f y o u h a v e b o t h h a r d - sectored an d s o f t -sectored 5 . 25-inch drives, and have not yet run the M A K E B IOS program for the operating system in use, then this operating system only ackn ow l edges one type of 5.25-inch drive in the hardware environment. Therefore, CONFIGUR could only f i n d on e t ype of dr iv e d u r in g it s hardw are probe, and submenu B will show all three units for one type of drive as "* +undefined * STEPRATE rom Step rate is the rate of speed at wh ich th e read/write head moves f one track of a disk to another w h i l e reading or w r i t i n g data. Step rates are measured in thousandths of a second, or mill i seconds (ms). Step rates can range from 4 to 36 mil liseconds, where 4ms is faster than 36ms. Onl y e v e n n u m b ered step r ates can be e n t ered. A f a ster s tep rate can hasten th e t r ansfer of d ata t o an d f r o m t h e d i sk , bu t i t might also cause the read/write head to m ov e across the disk too fast to transfer data reliably. Page 2-107 With CP/M Version 2.2.04, Heath/Zenith recommends that the step rate be left at th e p r eset step rate of 3 0m s fo r m o s t w o r k w i t h 5 . 2 5 -inch hard-sectored disks (which run under the H17 controller card). H eath/Zenith r e commends that 5 . 25-inch soft-sectored dr i ves (w h i c h run under th e H3 7 c o ntroller card) be set to o p erate at a step rate of 30ms when th e d i sks used are 48 t pi , an d 6m s w h e n t h e d i sk s used are 96 tpi. ("t pi " i s an acronym meaning " t racks per inch ".) Users who change the operating system to run d i sks at other step rate should f i r st read the text on Step Rate Error Checking. The step rate for 8-inch disks cannot be changed through CONFIGUR. STEP RATE ERROR CHECKING T o check th e c u r r ent d i s k e r ro r r a te, use th e DD T u t i l i t y ( D y n a m i c Debugging Tool) and examine the value of the SECNT label in the BIOS t hat is active in m em ory. You can determine the address at which t h i s value exists, by assembling BIOS.ASM, producing a BIOS.PRN file during the assembly, and analyzing th e BI OS.PRN fil e for th e ad dress of t he SECNT l a bel y o u w i s h t o c h e ck . T h e S E CN T v a l u e s h ow s t h e n umber of s of t ( r ecoverable) errors that h av e o c curred i n r e a d /w r i t e operations wit h th e d i sk. Thi s value needs to be maintained at a relatively lo w l e v el . I f t h e v a lu e becomes too l arge, the step rate shoul d b e increased so t hat th e r e ad/wr it e h ead i s a l l o w e d a d d i t i o nal t i m e t o step from track to track while reading or writ i n g . TRACK DENSITY There are tw o t y p es of 5 . 25-inch soft-sectored disk t hat can b e u s ed in an H/Z-37 drive unit: a "48 tpi di sk" and a "96 tpi di sk". The distinction between the two lies in their track density, or the number of tracks per inch (tpi) that cover the surface of the disk. The 48 tp i d i s k h a s a t o tal o f 4 0 t r a cks, w h i l e t h e 9 6 t p i d i s k h a s a total of 80 tracks. Each H/Z-37 drive u ni t m u st be set to accommodate t he type o f d i s k u s e d i n i t . T h i s s e t t in g w i l l d e t e r m in e th e m a n n er i n wh ic h t h e F O R MA T u t i l i t y p r e p ares disks in t h a t d r i v e , and t h u s the manner in which data is stored on these disks. Page 2-108 HOW TO CH A N G E STEP RATES AND/OR TRACK DEN SITIES T o change the step rate for a 5 . 25-inch d i sk , yo u m u s t f i r s t t y p e t h e selection letter (A, B, C, D, E, or F) for a d isk d r i ve u n it t h at c urrently has a step rate number listed next to it. A B C 5. 25 Inch Soft Sectored Unit 5. 25 Inch Soft Sectored Unit 5. 2 5 Inch Soft Sectored Unit 0Step Rate: 30ms Track Density: 4Stpi IStep Rate: 30ms Track Density: 4Stpi 2Step Rate: 30ms Track Density: 4Stpi D E F 5. 25 Inch Hard Sectored Unit 0 **undefined** 5. 2 5 Inch Hard Sectored Unit I **undefined~* 5 . 2 5 Inch Hard Sectored Unit 2 **undefined*~ NOTE: The selection l etters in s u b m enu B d o n o t n e cessarily co rrespond to the drive name letters of the drive units. W hen you t y p e a s e lection l e t t er, CONFIGUR w i l l d i s p l a y a p r o m p t in the follow ing form : Soft Sector Unit 0 Step Rate ? You can n o w e n t e r a n u m b e r f o r t h e n e w s t e p r at e o f t h e s e l ected d rive unit, and a carriage return. If you selected a hard-sectored driv e unit, then any even nu mber from 4 t h r o ugh 36 can be entered (at your o wn risk). If you selected a soft-sectored drive unit, then only the num bers 30, 20, 12, or 6 can be entered. After yo u e n ter a s tep r ate n u m ber an d c a r r i age return, C O N FIGUR displays a prompt for a track density change, as shown: Soft Sector Unit 0 Track Density I At this p r o m pt , yo u s h o ul d e n ter ei t her 48 or 96 ( d e p e nding on t h e desired density for the specified unit) and a carriage return. A fter the carriage return, CONFIGUR w i l l r e d i s p lay subm enu B w i t h the newly entered step rate and/or track density. N OTE: Heath/Zenith r ecommends that a step rate of 30 be ap p l ied t o d rives controll in g 4 8 t p i d i s k s , an d t h a t a s te p r at e o f 6 b e a p p l i e d to drives controlling 96 tpi disks. Page 2-109 5.2 Turn On/Off Detailed Disk Error Messages Most users wil l e n c ounter error m essages at some tim e d u r in g use of the CP/M Operating System. However these error messages are usually brief and g eneral i n t h e i r d e scrip t ion o f t h e p r o b lem t h a t o c c u rred. By causing submenu B selection G to in d i cate "TRUE", you can change the operating system so t hat i t d i s p l ay s a c od e w i t h e ach o p erating system error m e ssage. Thi s c o d e i n c l u d e s a t w o - d i gi t h e x a decimal n umber that can be translated into a m ore detailed explanation of th e problem. G De t ailed Disk Error Messages: FALSE T his selection o f f ers yo u o n l y t w o a l t e r n ativ e v a l u es: " T R UE " a n d "FALSE". T h erefore, you m e r el y h a v e t o t y p e t h e l e t ter G t o c a u s e t he opposite alternative to be ap p l ied t o th e o p erating system (if y o u choose to save these changes). When you t ype G, submenu B is r edisplayed with the new value. M ore information about detailed error messages is available in A p p en dix A. 5.3 Return to Main Menu (Selections Yand Z) T hese submenu B s elections enable you t o e xi t f r o m t h e su bmenu t o the main menu. Y F i n ished, make changes and return to main menu Z Quit, make no changes and return to main menu By typing Y, yo u a l s o i n s truct C ONFIGUR to p r e serve the selections entered at submenu B (although none of the changes from any submenu c an be applied to th e op erating system u n ti l y o u e x i t f r o m t h e C O N FIGUR utility entirely). By typing Z, yo u a l s o i n s t r uct C O N F I G UR to a b a ndon a ny c h a n g es entered at submenu B. Page 2-110 A fter either of these entries, CONFIGUR wil l r e d i splay the main menu , as shown: C P/M Configurati on Set Terminal and Printer Characteristics Set Disk Parameters Change the Default I/Oconfiguration Automatic Program Control X C o n figure, making changes to memory only Y C o n figure, making changes to both memory and disk Z Quit, making no changes You can now access a submenu or exit from CONFIGUR entirely. NOTE: If the disk being configured is w r i t e p r otected, the Y selection from the main m en u w i l l n o t b e av ailable, and it w i l l n o t b e p ossible to record changes from this CONFIGUR session on the disk. 6 SUBM EN U C: CHANGE THE DEFAULT I/O CONFIGURATION Typing C at t he m a in m e n u s e lection p r o m pt w i l l c a u se CONFIGUR to display the follow ing submenu: CON: = CRT: Ava i l a b l e RDR: = UR1: Ava i l a b l e PUN: = UP1: Av a i l a b l e LST: = LPT: A v a i l a b l e T TY : CRT: BAT: UC1: T TY : PTR: UR1: UR2: T TY : PTP: UP1: UP2: T T Y : CRT: L PT : U L 1 : Y F i n ished, make changes and return to main menu Z Quit, make no changes and return to main menu Selection: (This sample display might differ from the user's display.) The menu sh ows ho w t h e CP/M O p erating System currently m a t ches l ogical device names wit h p h y s i cal d ev ice names. Immediately to t h e right of the current devices are lists of other available devices. Page 2-111 T he selections in submenu C enable you to do the follow i n g : • • Chang e t he selection of logical inpu t /output devices with p h y s ical input/output devices; and/or Ret ur n t o t h e m a i n m e n u w h i l e s a v i ng or i g n o r i ng t he c h a nges selected at this submenu. 6.1 Change the Logical/Physical Device Selection (Selecti ons A, B, C, and D) This portion of submenu C enables you to m atch l o gical devices with t he appropriate phy sical devices. These selections are essential to i n form the operating system of how the different components of the hardware environment are connected. A logical d e v ice n ame i s th e m o st general name u sed fo r a c a tegory o f hardware it ems. Therefore, each logical d evice name can ap pl y t o a wide range of hardware items. However, CP/M uses only four l ogical device names. And all i n p u t /output m ach i nes wi t hi n th e hardw are environment must be matched up with these four names. You match a specific hardware item to a logical device name indirectly, by using a physical device name as an intermediate name. A p h y sical device name is more specific than a logical device name. Table 2-2 w i l l h e l p y o u t o d e t e r m in e w h i c h p h y s i cal d e v ice n am es can be matched with w h ich logical device names. NOTE: The suggestions in this table may become invalid if you change device port addresses. Page 2-112 T his table suggests whic h p h y s i cal d e v i ces can be m a t ched u p w i t h each logical device, based on the kind of hardware product you have. SUBMENU C SELECTION LETTER LOGICAL DEVICE NAME PHYSICAL DEVICE NAME CON: TTY: Any non-handshaking RS-232 ASCII terminal at port ODOH CRT: Any non-handshaking RS-232 video terminal at port OE8H BAT: A pseudo batch device using RDR: for input and LST: for output UC1: Any handshaking RS-232 terminal with ETX/ ACK protocol, eg. Diablo KSR 1640 printing terminal TTY: Any non-handshaking RS-232 ASCII terminal at port ODOH PTR: Null source, not implemented, returns an "end-of-file"character when accessed UR1: Any non-handshaking serial device at port OD8H (eg. a modem) UR2: System terminal TTY: Any non-handshaking RS-232 ASCII terminal at port ODOH PUN: D ESCRIPTION AND/OR CATA LO G N A M E OF R EC O M M A N D E D IN P U T /OUTPUT MACHINE Null sink, not implemented Any non-handshaking serial device at port OD8H (eg. a modem) System terminal D LST: TTY: Any non-handshaking RS-232 ASCII terminal at port ODOH (eg. WH-34) CRT: Any non-handshaking RS-232 video terminal at port OE8H LPT: Serial printer with hardware handshaking (at port OEOH) or parallel printer (at port ODOH) UL1: Any handshaking RS-232 printer with ETX/ ACK protocol (eg. a Diablo printer) Table 2-2 You can start a device assignment change by typing any of the selection letters (A, B, C, or D). CONFIGUR will d i s p l ay the logical device name and the " =" sign for the selected letter, in the follow ing form : Page 2-113 At a prompt such as this, enter the first three letters of the new physical device assignment. (N o c o lo n o r c a r r i age return i s n e c essary.) CONFIGUR will redisplay submenu C with the new assignments. N OTE: Th e l o g i cal/physical d e v ic e assignments d i s p l ayed o n C O N FIGUR's submenu C can be temporarily changed outside of CONFIGUR, by using the STAT uti l i ty, as explained in the text on STAT . 6.2 Return toMain Menu (Selecti ons Y and Z) T hese submenu C selections enable you t o e xi t f r o m t h e su bm enu t o the main menu. Y F i n ished, make changes and return to main menu Z Quit, make no changes and return to main menu By typing Y, yo u a l so ins tructs CONFIGUR to p r e serve the selections entered at submenu C (although none of the changes from any submenu c an be applied to th e o p erating system u n ti l y o u e x i t f r o m t h e C O N FIGUR utility entirely). By typing Z, you i n s truct CONFIGUR to abandon any changes entered at submenu C. A fter either of these entries, CONFIGUR wil l r e d i splay the main menu , as shown: C P/M Configurati on Set Terminal and Printer Characteristics Set Disk Parameters Change the Default I/O Configuration Automatic Program Control X C o n figure, making changes to memory only Y C o n figure, making changes to both memory and disk Z Quit, making no changes You can now access a submenu or exit from CONFIGUR entirely. NOTE: If the d isk being configured is w r i t e p r otected, the Y selection from the m ain m en u w i l l n o t b e av ailable, and changes cannot be re- corded on disk. Page 2-114 7 SUB MENU D : A U T O M A TI C P R OGRAM CONTROL Typing D at t h e m a in m e nu s e l ection p r o m pt w i l l c a u s e CONFIGUR to display the follow ing submenu: Run automatic command line on Cold Boot: TRUE Run automatic command line on Warm Boot: FALSE Automatic command line: CONFIGUR Finished, make changes and return to main menu. Quit, make no changes and return to main menu. Selecti on: (This sample might differ slightly from the user's display.) T he selections in submenu D enable you to do the follow i n g : Turn on/off the automatic invocation of a command; change the command t hat sh oul d b e au t om atically i n v o ked after every cold boot and/or warm boot; and/or return t o t h e m a i n m e n u w h i l e s a v in g o r i g n o r in g th e c h a nges selected at this submenu. 7.1 Turn On/Off Automatic Command Invocation (Selecti ons A and B) This portion of submenu D enable you to change the operating system s o that it s t arts ru n n in g a c o m m an d a u t o m atically, after a c ol d b o o t or warm boot. A B Ru n automatic command line on Cold Boot: TRUE Ru n automatic command line on Warm Boot: FALSE These selections each offer yo u o n l y t w o a l t e r native v alues: "T RUE" and "FA L S E" . T h erefore, you m e r ely h av e t o t y p e t h e l e t ter A or B to cause the opposite value to be immediately displayed. Page 2-115 7.2 C h a n ge Automatic Command Line (Selecti on C) This submenu D selection enables you to change (or add) the command that can be automatically inv oked upon a cold boot or warm boot. C Aut o matic command line: CONFIGUR To start thi s c h ange, you m u s t f i r s t t y p e C. C O N F I G UR w i l l d i s p l a y t he following prompt : Automatic command line: Y ou can no w e n te r an y v a l i d C P/ M c o m m an d l i n e t h a t e nd s w i t h a c arriage return. A f ter y o u e n ter th e c a r r i age return, CON FIGUR w i l l redisplay submenu D with the new automatic command line. Any valid r esident command, transient comm and (u t i l i t y), or app l i cation program is acceptable in th e au t omatic comm and l i n e . H o w ever, a ny fil e t h a t ' th e c o m m an d l i n e r e f er s t o m u s t r e s id e o n t h e d i s k specified in the command line. For example, if the line reads: C A u t omatic Command Line: SC B: T hen the fil e " S C.COM" m u s t r eside on th e d isk i n d r i v e " B : " fo r t h e command to w o rk . If any d ata referenced in th e comm and l in e cannot b e found i n t h e s p e c i f ied d r i v es, t he n c o m m an d e x e cu tion w i l l b e aborted and an error message will be displayed. NOTE: We r ecomm end t hat yo u d o n o t c a use a command to be run automatically on bo th a c old b o ot a nd a w a r m b o o t if t h i s c o m m a n d performs a w arm b oot as it f i n i s hes execution. Doing so w o ul d c au se the command t o e x ecute on c ol d b o ot , t hen ex ecute again w h e n ever you tried t o e x i t t o t h e o p e rating system. Thus no activities outside o f this c o m m an d w o u l d b e p o s sible w h e n y o u b o o ted u p w i t h t h i s disk. Page 2-116 7 .3 R e t u r n to Main M e n u (Selections Y and Z) T hese submenu D s elections enable you t o e xi t f r o m t h e su b m enu t o the main menu. Y Z Fi n ished, make changes and return to main menu Quit, make no changes and return to main menu By typing Y, yo u a l s o i n s t ruct C O N F I G UR to p r e serve the selections entered at submenu D (although none of the changes from any submenu c an be applied t o th e o p erating system u n ti l y o u e x i t f r o m t h e C O N FIGUR utility entirely). By typing Z, yo u a l s o i n s t r u ct C O N F I G UR to a b a nd on a ny c h a n g es entered at submenu D. A fter either of these entries, CONFIGUR wil l r e d i splay the main menu , as shown: C P/M Configurat i o n Set Terminal and Printer Characteristics Set Disk Parameters Change the Default I/O Configuration Automatic Program Control X C o n figure, making changes to memory orly Y C o n figure, making changes to both memory and disk Z Quit, making no changes You can now access a submenu or exit from CONFIGUR entirely. NOTE: If the disk being configured is w r i t e p r o tected, the Y selection from the m ain m en u w i l l n o t b e av ailable, and changes cannot be recorded on disk. Page 2-117 8 C ONFIGUR ERROR MESSAGES Unable to open BIOS.SYS E XPLANA T I ON : T h e C O N F I GUR u t i l i t y i s t r y i n g t o a c c ess th e f i l e B IOS.SYS (since this f il e i s p art o f t h e o p erating system) but th e f i l e i s not present. You m u st h ave a BI OS.SYS file (by t hat n ame) on t h e disk being u sed fo r b o o tstrap. T hi s f i l e m u s t b e f o r t h e a p p r o p r i ate version of CP/M, and it must have the ability to control the disk devices being used. INCONSISTENT Version number. . . can NOT configur ! ! EXPLANA T I ON : You m ust i m p l e m ent CONFIGUR program wit h same version number as the CP/M Operating System being used. INCONSISTENT version number or CONFLICTING program in memory. c an NOT configur e ! ! EXPLANA T I ON : You m ust i m p l e m ent CONFIGUR program wit h same version number as the CP/M Operating System being used. Drive A disk is write protected. Modificat i ons wi l l N OT be made to t h e d i s k f o r t h i s CONFIGUR run. EXPLANA T I ON : To m ake CONFIGUR changes go into effect, the disk u sed to perform b o otstrap should b e w r i t e en abled, by r e m o v in g t h e adhesive tab f ro m a 5 . 2 5-inch d i s k o r b y a d h e r in g th e a d h esive tab to an 8-inch disk. Page 2-118 Page 2-119 DDT The Dynamic Debugging Tool T his text assumes that you are fami l iar w i t h assembly lan g u a g e p rog r a m m i n g , t h e hexadecimal nu m ber system, and 8080 CPU r egisters. Cautio n i s a d v i s e d w h e n u s i n g DDT. The Dynamic Debugging Tool (DDT) ut i l ity enables you t o d ebug machine language programs (files with the extension "HEX" or "COM"). DDT loads a program into the Transient Program Area of the computer's memory (1). During a debugging session, the uti l it y ex p oses and mani pulates the hexadecimal, assembly l anguage, and A SCII forms of t h e loaded program when you i m p l e m ent the special DDT c o m m ands (3). Y ou can c op y t h e r e sults of t h e d e b ugging session t o a d i s k f i l e b y exiting from DDT and impl ementing the SAVE resident command (2). Page 2-120 1 DDT INVOCATION The DDT utility can be invoked using two methods. 1.1 System Prompt Invocation Method You respond to the system prompt with a command line in the form: A>DDT (file name) RE TURN Where (file name} is the comple te name of a p ro gram fi le r esiding on t he default d isk w i t h a " H E X " o r " C O M " e x t e n sion. T hi s f i l e is automatically loaded into the computer's memory beginnin g at address 100H (the Transient Program Area start.) DDT will i d entify itself with the message: DDT VERS n. n NEXT PC aaaa pppp Where "n. n" is the utilit y's version number; where "aaaa" is the n ext av ailable m em ory a d d ress after the p r ogram i s loaded (or th e a d d r ess after th e l ast a d d r ess occupied b y the loaded program); w here "pppp" is the current position of th e program counter w i t hi n t h e Transient Program Area (this value is 0100 when th e program is first loaded into memory); and w here "- " ( t h e h y p h e n c h aracter) is th e DD T p r o m p t , a t w h i c h y o u can enter special DDT commands. Because DDT l o ads programs into th e T r ansient Program A rea beginning at address 0100, you can approxim ate a program's size by subtracting 0100 from the "aaaa" value in the display. Page 2-121 1.2 DDT Prompt Invocation Method You respond to the system prompt w ith the follow in g command : A>DDT RE TURN The DDT util ity w i l l i d e ntify itself with the follow in g display: DDT VERS n.n where "n. n" is the version number; and w here "- " ( t h e h y p h e n c h aracter) i s th e DD T p r o m p t , a t w h i c h y o u can enter special DDT commands. To load a file from the default disk i nto m em ory u n der this in v ocation method, you m ust now m ak e the fol l o w i n g entri es, in ord er: the letter I, (no space), the complete file name of the program to be loaded, a carriage return, the letter R, and another carriage return. T he DDT u t i l i t y w i l l I n s er t t h e n a m e o f t h e p r o g ram i n t o m e m o r y , R ead the n amed p r o gram i n t o m e m o ry , an d d i s p lay v a l ues for b o t h the "NEXT" available address and the "PC" program counter. For examp le, if you d esire to debug the program fil e named "PROGRAM .HEX " , the console display of these transactions might appear as follows: A>DDT RE T URN DDT VERS 2. 2 -IPROGR A M . H E X -R RETURN R E T UR N NEXT PC 3ESO 0100 W here "3Eso" is th e n ex t a v a i l able m e m or y a d d r ess after th e en d o f the program (or the address after the last address occupied by the loaded program); where "Oooo" is the current v a lu e of th e p r o gram cou nter (or th e f i r st memory address occupied by the program); and w here "- " ( t h e h y p h e n c h aracter) is th e D D T p r o m p t , a t w h i c h y o u can enter special DDT commands. Page 2-122 L OADING A PROGRAM FROM A N O N -DEFAULT DRIV E Using the second DDT i n v o cation m e t h od, you can access a file fr om a non-default disk by doing the follow i ng, in order: Enter the l e t ter I, t h e c o m p l e te f i l e n a me o f t h e p r o g r am to b e loaded, and a carriage return. Enter the ch aracter string S5C a nd a c a r r i a ge return. T h i s e n t r y will produce a six-character display. Enter the two-digit dr ive nu m ber for the dr ive containing the program that is to be debugged, and a carriage return. (See the table below to find the drive number that corresponds to the appropriate drive letter. This table will not be displayed on the console.) Drive Number 00 01 Drive Letter DEFAULT 02 A C B 03 04 05 D F E 06 N OTE: "DEFA U LT " i s t h e d r i v e l o g ged before DD T i n v o c ation . T he drive n u m ber yo u e n t ered w i l l b e d i s p l ayed on th e r i gh t o f the six-digit d i s p l ay, an d a s e cond s i x - d i git d i s p lay w i l l a p p e ar beneath. • Ent er a . (period) and a carriage return. This entry wi ll be displayed on the right of the second six-digit display. • Ent er t h e l e tter R and a carriage return. DDT wi ll r e ad the program file into memory, and display values for both the "NEXT" available address and the "PC" program counter. Page 2-123 For instance, to access the file named "PROGRAM .HEX" f rom th e di sk within n o n -default dr ive B (02), you must i n t eract with DDT as shown in the following display: A)DDT R ET U R N DDT VERS 2. 2 -IPROGRAM.HEX R ETU R N -SSC R E T U R N oo5c oo 02 R E T U R N 005D 57 . -R R ET UR N RE T URN NEXT PC 3880 0100 2 S AVING A DEBUGGED PROGRAM You can preserve the results of a debugging session by copying a block of data from the Transient Program Area (TPA) to a disk file. The SAVE resident command w il l assist in this task. SAVE copies a user-specified number of pages from the TPA to a user-specified file name on a disk. To SAVE a program that has been loaded into m e m ory an d d ebugged b y DDT, first exit f rom th e DDT u t i l i t y t o th e o p erating system. If th e e xit is performed pr operly, the i m age of the p r ogram in t h e TP A w i l l remain undisturbed as SAVE copies from it to a disk file. Y ou can e x i t methods: • • from th e DDT u t i l ity b y e i ther of th e f o llowing tw o Per f o r m ing a Warm Boot —Any time the DDT hyphen ( — ) prompt is displayed, enter a CTRL-C (by pressing the C k ey whi le ho l d i n g down the CTRL key). CP/M will d is play the system prompt. Jumping to the Operating System's Execution Address — Any time the DDT hyphen ( — ) prompt is displayed, you can trigger execution of th e o p erating system, by en tering th e DD T c o m m and G O (where "0 " i s z e r o). T hi s c o m m an d s e nds th e p r o gram c o u n t er to computer m e m ory OOOOH (zero), wh ere th e o p erating system r esides. CP/M will di splay the system prompt . Page 2-124 Y ou must p r oceed i m m e diately t o e n tr y o f t h e S A V E c o m m a nd . T h e SAVE command is entered in the form: A>SAVE {pagesj {file namej RE T URN Where {pagesj are 256-byte units of data that are expressed in decimal (not hexadecimal) numerals, and where {file name) specifies the fi le n a me u n d er w h i c h y o u w i s h es to store the results of the debugging session. You can SAVE the entire program by determin ing the (decimal) number of pages between th e " p p p p " v a l u e an d t h e " a a aa" v a lu e d i s p l ayed when DDT initi ally loads the program into the TPA, as shown: NEXT PC aaaa pppp U nless the program has been m oved f ro m t h e b eginn in g of t h e T P A , the two l e f t -hand d i g its i n t h e " a aaa" v a lue w i l l b e t h e h e x adecimal number of pages the program occupies, as long as the tw o r i g h t -hand digits are not zeros. If the tw o r i g h t -hand d i g its are zeros, one should be subtracted from t hi s t otal to d etermine the n u m ber of h exadecimal pages. In either case, the hexadecimal nu m ber of pages should be converted to a decimal number suitable for the SAVE command. Page 2-125 3 DDT COMMANDS The DDT util ity has its own assortment of commands. They are entered in response to the DDT hyphen (-) prompt. DDT command lines begin with a single command letter. These command letters are defined in the following list: D A Assemble: Assembly language mnemonics are inserted D isplay: D i s p lay m e m o r y c o n t e nt s i n h e x a d ecimal a n ASCII form F G R M IL H S X U T Fill: Fill a block of memory with a specified data constant Go: Go to specified address to run a program Hex: Hexadecimal computation of sums and differences Insert: Insert file name into file control block List: List assembly language mnemonics of a program Move:Move a datablock Read: Read a file into memory from disk Substitute: Substitute hexadecimal values Trace: Trace program execution Untrace: Untrace program execution eXamine: Examine or change registers or flags Most of t h ese comm and l e t ters can b e f o l l o w e d b y p a r am eters such a s hexadecimal v alues or a f i l e n a me. Al l D D T c o m m an d l i n e s m u st end with a carriage return. W hen hexadecimal p arameters are used, these values consist of o n e t o four d i g i ts . ( L onger n u m b ers ar e a u t o m atically t r u n c ated o n t h e right.) One, two, or three such values can be entered in some command lines. Values are separated by commas or single blank spaces. Only one DDT c o m m and can be entered in r e sponse to a single DDT h yphen (-) p r o m pt . Each DD T c o m m an d l i n e , h o w ev er, can be c o m posed using most of the same lin e edi t ing k eys and techniques as are used for commands entered at the CP/M system prompt . N o DDT comm and l i n e can exceed 32 characters in length. If a th i r t y t hird c h aracter i s e n t ered, i t i s i n t e r p r eted as a c a r r i age return a n d e xecution begins based on the first 32 characters in the command l i n e . Page 2-126 Many DDT commands operate under a "CPU state" w h ich corresponds to the program being tested. The CPU state holds the program's registers. Initially, all registers and flags contain zeroes — except for the pro- gram counter (P) and the stack pointer (S), which default to the value 100H. The program counter is a CPU register that is used as a movable reference point for DD T c o m m an ds. It keeps track of th e l ast hexadecimal address that was displayed and/or altered by a DDT command. The address immediately after this last address will be the starting address f or th e n e x t D D T c o m m an d y o u e n t e r ( u n l ess th e n e x t c o m m a n d specifies a different starting address). 3.1 A Assembly Language Mnemonics are Inserted The A (assembly) comm and enables you t o i n s ert assembly l anguage i nstructions i nt o th e p r o gram b eing tested. Th e command is entered in the form: As Where s is the m emory ad dress at w h ic h yo u d e sire to start i n serting assembly language instruction statements. DDT responds t o s uc h a n e n t r y b y e c h o in g th e v a lu e ( " s" ) e n t ered. Y ou can then enter an assembly language statement to the ri ght of t h e echoed "s" value. The statement must end with a carriage return. DDT will d i splay the next available memory address after the new statement is a p p ended t o t h e p r o gram. Yo u c a n e n ter a n o ther statement t o the right of th e d i s p l ayed address, or enter a carriage return al o n e t o end A command operations and retrieve the DDT prompt . For example, if yo u w a n t t o i n s ert a " M O V E I M M E D I A T E t o r e gister C " statement into a p r ogram at m em ory ad dress 0104H, the fo ll o w i n g e ntry should be made in response to the DDT prompt : A104 R ET U R N Page 2-127 DDT will echo the address with the display: 0104 To the right of the address display, you can insert the statement: MVI C,(data) RE T URN Where {data) is the data to be moved into register C. DDT will then display the value for the next available memory location. Since the "MVI " statement takes up two locations, DDT displays: 0106 You can enter another statement at l o cation 0 106H or en d th e o p erations of the A command by entering a carriage return alone. NOTE: When the A command inserts a statement at a particular memory a ddress, the statement(s) that form erly o c cu p ied t hat p art of m e m o r y will be overwr i tten, and therefore destroyed. If you insert an statement that does not occupy the same number of l ocations as the statement(s) b eing r e p l aced, t h e m e a n i n g o f s u b s e quent s t a t ements m i g h t b e c hanged. You should use the L c o m m an d i m m e d i ately after fi n i sh i n g A command operations, to verify that the desired results were achieved during use of the A command. The follow ing example demonstrates this problem. You want to replace a "jump" i n s t r uction (JMP) with a " r e t urn f rom su brout i ne" statement ( RET). The JMP statement occupies three l ocations, and th e RET i n s truction w i l l o c c u p y o n e . I n serting th e o n e-byte RET i n t o t h e f i r s t location of the three-byte JMP wil l l e ave the last two-thi rds of the JMP statement in the program. This partial statement could cause problems when the program is run. Page 2-128 3.2 D D i s play Memory Contents in Hexadecimal and ASCII Form The D (display) command all ow s you t o v iew th e contents of memory i n both h e x adecimal an d A S CI I f o r m ats. Th e d i s p lay a p p ears in t h e following form: aaaa bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb cccccccccccccccc Where "aaaa" is the address of the fi rst m em ory l o cation d i s p l ayed i n this line; where "bb" represents the hexadecimal contents of a memory l ocation; and where "cccccccccccccccc" represents the ASCII translation of the contents of each memory location. If the contents of a memory l o cation cannot be di splayed as an A SCII character, a period (.) will be displayed instead. T he display a d d ress acts as a p o i n ter i n m e m o r y w h i c h i s i n i t i a l l y set to 100H. As each memory location is displayed, the pointer is increm ented b y o n e s o a t t h e t h e e n d o f a D co m m a n d , t h e p o i n t e r i s positioned ready to display the next 256 memory locations. The four forms of the command are: D Di sp l ay m e m o ry from the current display address until one p age of data (256 l o cations) have been sh o wn . DD T w i l l display 16 lines, each representing 16 bytes of data. Ds C han g e t h e s t a rting d i s p l ay a d d r e ss to " s " , t h e n d i s p l a y m emory beginning w i t h a d d r ess "s" an d c o n t i n u in g u n t i l one page of data (256 locations) is displayed. Ds f C h an g e t h e s t a rting d i s p l ay a d d r e ss to " s " , t h e n d i s p l a y m emory beginning w i t h a d d r ess "s" an d c o n t i n u in g u n t i l memory address "f" is reached. Page 2-129 D,f Di sp la y m e m o ry from t he current display address until address "f" is reached. D isplays triggered by an y o f t h ese comm ands can be su spended i f a CTRL-S is entered during the display. The dis play wi l l r e s ume if a nything other than CTRL-C is entered. A display wil l be aborted if any character other than CTRL-S is entered. However, it i s recommended that the di splay be intenti onally aborted by pressing the DELETE key, because other characters wil l a p p ear at the next DDT hyphen (-) prompt if they are used to abort the display. F or example i f t h e f i l e SY SGEN.COM ha d b een l o aded i nt o m e m o r y by DDT and th e user wanted to see a hexadecimal and A S CII d i s pl ay of it, then D should be entered at the DDT h y p h en p r o m p t. Th is entry w ould cause a display something like the follow i n g : 0100 C3 0110 20 0120 45 0130 29 0140 C9 0150 41 0160 23 0170 01 0180 01 0190 01 01AO CA 01BO 12 01CO C3 01DO 07 01EO 32 01FO 07 79 02 43 4F 50 59 31 39 37 38 2C 20 5 3 45 4 1 52 43 48 29 C9 OE 01 CD 05 5F OE 02 CD 05 00 01 C9 E5 CD 48 01 C3 58 01 D5 4F 2A 00 11 1B 00 19 E9 00 11 21 00 19 E9 00 11 27 00 19 E5 AE 01 Fl OE 00 C2 07 32 14 07 OE 01 05 00 21 00 09 22 34 7E B7 CA EB 01 12 07 E5 2A 10 07 3A OB 07 BE CA 78 52 49 47 44 49 47 20 6F 26 00 FE 61 C9 3E OD E l 7E B 7 0 1 00 1 1 2A 01 00 2A 01 00 2 1 14 0 7 B7 01 OE Ei E9 OE 08 07 3E 3A OF 07 22 OD 07 02 4E CD 48 54 20 4 9 54 4 1 00 29 29 DS FE 7B CD 41 01 CS E5 CD 18 00 19 11 1E 00 11 24 00 3A 12 07 02 C3 B7 14 C3 05 FF 32 05 32 OC 07 E l 3A 1 2 6F 01 3E 28 43 29 4C 20 52 29 29 29 DO E6 5F 3E OA CD 41 01 El Dl E9 2A 19 E9 2A 19 E9 2A BE F5 35 0 1 Fl 3 A 00 OE OF 07 21 05 3A 13 07 07 32 14 FF 32 06 . y. COPYRIGHT (C) 1978, DI GITAL R E SEARCH o&.)))) ) ....a )) . ..... >..A.>. . A .. . . H . . ...A.. ¹ .X..O*. . . . . . . . ~ — . $ 5 . .2. . . . . . . . . . . . . II > 2 f . 4- . . . . : . . 2. . : . . 2 .: . . . . x . N . o. >. 2. Page 2-130 3.3 F Fil l a B l o c k o f M e m ory w ith a Specified Data Constant The F (fill) command allows you to fill a block of memory with a specific constant. The form of the command is: Fsfc Where s is the address at which the fill ing should begin; where f is the address at which the fill ing should end; and where c is the data constant that should o ccupy each memory address in between. Any data that resided between addresses "s" and "f " p r i o r to th e entry of the command w i l l b e overw r i t ten by the constant, and therefore destroyed. Only hexadecimal values should be entered in such a c o m m a nd, and v alue "f " m u s t b e g r eater than v a lu e " s " . I f " s " i s g r e ater t ha n " f " , the operation will not be executed and the DDT prompt w il l reappear. For example, the follow ing command: - F9200 B400 E5 RE T URN would fil l every memory location from address 9200H through address B400H with the hexadecimal value "E5" . 3.4 G G oto Specified Address to Run a Program The G (Go to) command enables you to begin execution of the program from any a d d r ess, and t o s p e cify o n e o r t w o e x e c u t io n b r e akpoint s i f desired. (A breakpoint is the address of an in struction w h i c h , w h e n reached, will stop the execution of the program and redisplay the DDT prompt.) Execution begins with th e i n struction at the memory address immediately foll o w in g the one specified in the command. The instruction at the specified address is not executed. Page 2-131 If no breakpoint is entered, the only other way in which the control of the program may be returned to you is if an "RST 7" instruction is encountered wi t hi n th e p r ogram. This i n struction w i l l i m m e d i ately stop program execution and redisplay the DDT pr ompt to allow f u r t h er DDT commands from you. The G command can be entered in the follow ing forms: G Begin s e x e cution of the program at the current value of the program counter, with no breakpoints set. The program will run to completion. Gs Set s t h e p r o g ram counter to address "s" and begins execution of the program from that address, with no breakpoints s et. The program will run to completion . G,b Begi n s e xecution of the program at the current value of the program counter and conti n ues until th e i n struction at ad- dress "b" (the breakpoint) is reached. Then program execution stops. Gsb Se t s the program counter to "s" and begins execution of the program at address "s". When the instruction at address "b" (the breakpoint) is reached, program execution stops. Gbc Be g i ns execution of the program at the current value of the program counter and cont i n ues unti l e i t her address "b" or address "c" is reached. When either of these breakpoint addresses isreached, program execution stops. Gs b c Sets the program counter to address "s" and begins execu- tion of the program at this address. When either address "b" or address "c" is reached, program execution stops. At a breakpoint, program execution stops and DDT displays: *bbbb Where ' bbbb is the address at which program execution stopped; and where "-" is the DDT prompt Page 2-132 For example, you could "go to" the very beginning of computer memory (address OOOOH) and trigger execution of th e p r o gram that i s si tuated there. This program is, of course, the CP/M operating system. Its execut ion can be triggered by entry of the follow ing command : -GO RE TURN T he operating system would respond by di splaying the system prom p t , as shown: A> This command has the same effect as a warm boot. 3.5 H H ex ad e c i mal Computation of Sums and Differences T he H ( h exadecimal v a l ue) co m m an d s i m u l t aneously a dd s an d s u b t racts two hexadecimal values. This command is entered in the foll o w ing form: Ha,b Where a is a hexadecimal value; and where b is another hexadecimal value. The resulting display appears in the form: ssss dddd Where "ssss" represents the sum of two values; and where ' dddd represents the difference between the two values. This command is helpful i n d e t ermi n in g addresses to which p r ograms w ill be relocated with DDT command " M " . Page 2-133 For example, if you h ave a program that begins at address 0311H, and wishes to move this program 0126H bytes higher in m e m o ry, then th e H command c o ul d b e u sed t o c a l c u l ate th e ne w s t arting ad dress, as shown: -H311, 126 R E T U R N 0437 01EB 0437H would be the new starting address for the program. H owever, if you enter an "a " v a lu e that is smaller than the "b " v a l u e , t he sum ("ssss") will be the same, but the difference ("dddd") wi l l be equal to 10000H minus the amount that "b" is greater than "a". Such a case is demonstrated by the follow in g entry: -H1,2 RE T URN which will produce the following displayed solution: 0003 FFFF 3.6 I In s ert File Name Into File Control Block The I (inp ut) comm and al l ow s yo u t o i n s ert a f il e n ame i nt o th e area o f memory t h a t i s u s e d t o s t or e th e n a mes of f i l e s t o b e r ea d f r o m the disk. This area of memory begins at address 5CH. This is one of the memory areas from which the Console Command Processor (a funct ioning part of the CP/M operating system) distributes control to util i t i es a nd resident commands. This DDT c o m m and i s entered in on e of t h e following forms: -I(primary file name) R E T R Y -I(primary file name).{extension) RE T URlV If the second form of the command is used and the (extensionj entered is either "H EX " o r " C O M " , t hen subsequent R commands can be used to read the pure binary or hexadecimal machine code. T he I comm and w i l l n o t r ead th e f i l e f ro m t h e d i s k an d s t ore it i n t o m emory. It w i l l o n l y i n s ert th e f i l e n ame i nt o t h e F i l e C o n t rol B l o c k portion of t h e C o n sole Comm and P r o cessor, so that a s u bsequent R command can read the named file into memory. Page 2-134 3.7 L L i s t Assembly Language Mnemonics of a Program The L (list) DDT command enables you to disassemble the instructions w thin a s p a n o f m e m o r y , and t o d i s p l a y t h e a s s embl y l a n g u age m nemonics of th e d i sassembled code on t h e c o n sole. The c o m m an d can be entered in any of the follow ing three forms: L Li st s 1 2 l i n e s of d i s assembled machine code, beginning at the current l ist ad dress. The l ist ad dress acts as a pointer in memory w h ic h i s i n i t i a ll y set to 100H. As each memory location is disassembled, the pointer is incremented by one. Ls Chan ge s t he l i s t a d d r ess to " s ", a nd t h e n l i s ts 12 l i n e s of disassembled machine code beginning at address "s". Lsf L i st s d i s a ssembled c o de f r om s t a r t i ng a d d r ess "s" t o t h e final address "f". The list appears in the form: aaaa mmmm oooo Where "aaaa" is the address of the instruction, where "mmmm" is the mnemonic of the operator, and where "oooo" is the operand. Listings triggered by a n L c o m m a n d c a n b e s u spended i f a C T R L - S is entered during the li sting. The li sting w i l l r e sume if any t h in g other than CTRL-C is entered. A listing w il l b e aborted if any character other than CTRL-S is entered during the listing. If the listing is to be aborted intentionally, we recommend that the DELETE key be pressed, because other characters might appear at th e n ex t DD T h y p h e n (- ) p r o mp t i f t h e y ar e u sed t o a b ort the listing. If an invalid mn em onic is encountered in a statement of a disassembled p rogram, question m a rks (" ??") w i l l b e u se d t o r e p resent th e i n v a l i d mnemonic in the listing. Page 2-135 The disassembled mnemonics from address 0919 through address 091D o f the program in m emory can be listed with the entry of the foll ow i n g command: -L0919,091D RE T URN Such a listing might appears as follows: 0 919 OUT F 2 0 91A INX H 091B MOV A, M 091D ORA A 3.8 M M ov e a D a t a Block T he M (m ove) command all ow s you to m ov e a block of data from on e area of memory to another. This command is entered in the form: Msfd Where s is the starting address; where f is the final address of the block of data to be moved; and w here d i s t h e s t arting p o in t o f t h e m e m or y a rea to w h i c h t h e d a t a is moved. The data i s m o v e d t o t h e a rea o f m e m or y b e gi n n in g a t t h e a d d r ess " d". An example of the command foll ow s : M100 200 1000 RE T URN This command woul d take the contents of the block of memory starting at address 0100H and runn ing through address 0200H, and move these contents to the area of memory beginning with the address 1000H. Page 2-1 36 3.9 R R e a d a F i l e IntoMemoryFromDisk T he R (read) command is used after the I co m m and t o r ead COM a n d HEX files from the di skette into the transient program area in preparat ion for a d e bugging operation. Th e R c o m m an d r e q u i res a p r e v i ou s I command, specifying th e n am e of th e HE X o r CO M f i l e t o b e r e ad. The command can be entered in either of the follow ing two forms: R R eads t h e f i l e w h o s e n a me is i n t h e f i l e c o n t r ol b l o ck a t address 5CH from th e d i s k an d p l a ces it i n t h e T r a n sient Program Area. (The f il e n ame was p l aced i n t h i s l o c ation with the I command.) Rb R ead s t h e f i l e w h o s e n a me is i n t h e f i l e c o n t r ol b l o ck a t address 5CH from th e d i s k an d p l a ces it i n t h e T r a n sient P rogram Area with the addi t ion of a bias factor, "b", w h i c h is a hexadecimal number added to each program instruction address or dataaddress as it is read. This factor allows you t o locate the p r o gram at an y l o c a t ion i n m e m o r y . W h e n the bias factor is omitted, then b = 0000 is assumed. The read operation must not p l ace the file in th e f i rst page of memory ( 0-OFFH) because this w o ul d w r i t e over th e system parameters wh i c h are stored in this area. If the file specified in th e preceding I command i s a HEX f i l e , th e l oad ad dress is derived f ro m e ach i n d i v i d u a l H E X record. If th e f i l e t o b e l o aded is a CO M f i l e , a l oad ad dress of 100H is assumed. Any n u m ber of R c o m m a nds may be issued foll o w in g an I command to reread the program under test. T he R comm and r e ads the d esired f il e f r o m t h e d e f ault d r i v e . If t h e desired file resides on a n o n -default d r i ve, the comm and S5C should be entered, and the value for the non-default drive should be substituted according to the follow ing table: Drive Number 00 Drive Letter DEFAULT 01 02 A B 03 04 05 06 C E D F T his substitution s h o ul d b e p e r f o r med b e tw een th e I c o m m an d a n d the R command. Page 2-137 When the R co m m and l o ads a named f il e i nt o th e T r ansient Program Area, a message in the follow ing form is displayed: NEXT PC IlllI1I1 PPPP Where "nnnll" is the the address immediately fol l o w i n g the loaded program; and w here "pppp" is th e c u r r ent v a lu e o f t h e p r o gram c o u n ter ( 1 00H f o r C OM f i l es, or i t i s t a k e n f r o m t h e l a s t r e cord i f a H E X f i l e is specified.) T he next address "nnnn " can be used to determine the size of the fi l e which was l o aded. If the beginning address is 100H, then subtracting 100H from " n n n n " w i l l d i s p l ay th e size of th e p r ogram in b y t es. The s ize derived i n t h i s m a n ner i s i n h e x a d ecimal u n i t s , an d m a y h a v e to be converted to decimal units before it is used. 3.10 S S u b stitute Hexadecimal Values The S (substitute) command enables you t o ex am ine — and optionally a lter — the contents of specified m e m or y l o c ations. Thi s c o m m an d i s entered in the form: Sb W here b i s t h e h e x adecimal a d d ress of th e f i r st m e m or y l o c ation t o examine. DDT responds with a display of addresses and bytes in the form: aaaa cc Where "aaaa" is the hexadecimal address, and where "cc" is the hexadecimal contents of the memory location. Y ou may substitute a ne w v a l u e fo r " c c " b y e n t e r ing th e ne w v a l u e ( in one or t w o h e x a decimal d i g i ts) and a c a r r i age return w h e n D D T displays "aaaa" and " c c" . Y ou r e n try w i l l a p p ear on th e r i ght sid e of this display, and it will replace "cc" in the memory image of the program. Page 2-1 38 The next address "aaaa" and its contents "cc" are then displayed, inviting you to substitute a new v alue for thi s " c c" . W hen you are fini shed altering address contents in this sequence of addresses, a period (.) and a carriage return should be entered, rather than a new va l ue. Your alterations will be retained in m emory, and the DDT hy phen (-) prompt will reappear. If you w i s h t o s k i p a n a d d r ess w i t h ou t c h a n ging it , t h e n a c a r r i age r eturn (w i t h out a p e r i od) shoul d b e entered in r esponse to one of t h e "aaaa" "cc" displays. The DDT hyphen (-) prompt will reappear. F or example, if you enter the follow ing command : -S100 RE TURN t hen memory a d d r esses and t h ei r c o n t ents w i l l b e d i s p l a yed o n t h e screen, starting with address 0100H, as shown. your substituted values f or the address contents are in b o l d f ace prin t o n t h e r i gh t s id e of t h e following example display: 01.00 c3 orozco C 3C RE TURN RE TURN 0102 01 10 R E T UR N 0103 20 R E T UR N 0104 43 R E T U R N 0105 4F F4 RE T UR N 0106 50 . R E T UR N Page 2-139 3.11 T Tr a c e program execution The T (trace) command all ow s to tr ace the execution of one to 65,535 (OFFFFH) program steps. During the trace, the contents of all registers and the status of all f l ags wit hi n th e central processing unit (CPU) are d isplayed. T hi s c o m m an d ca n b e e n t ered i n e i t h e r o f t h e f o l l o w i n g forms: T Di sp l ay s t h e c o n t e nts of t he C PU r e g isters and t he s tatus o f the f l ags; then ex ecutes one p r o gram i n s t ru cti on. T h e DDT hyphen prompt (-) reappears. Tn Di spl ay s t h e c o n t e nts of t he C PU r e g isters and t he s tatus o f the f l ags; then ex ecutes "n " p r o g ram i n s t ru cti ons an d stops. The DDT hyphen prompt (-) reappears. Displays caused by the T command take the follow ing form : C fXfMfEfI f A =bb B = d ddd D =dddd H = dddd S =dddd P =dddd inst * h h hh Where "f" is a 0 or 1 flag value; where ' bb is a byte value; where ' dddd is a double byte quantity corresponding to a register pair; where the "inst" fi eld contains the disassembled instruction w h i c h occurs at th e l o c ation a d d r essed by t h e p r o gram c o u n t er; an d where "hhhh" is the next address available for execution. T he display ad dress (used in t h e D c o m m a nd ) i s set t o t h e v a lu e of t he H an d L r e g i sters. The l i s t a d d r ess (used i n t h e L c o m m a nd ) i s set to the value of " h h h h " s o i t w i l l b e r e ady to l i st th e next p r ogram steps to be executed if desired. Since the state of the flags and registers of the CPU displayed by the T comm and occur before each instruction is executed, it may be helpful t o use an X c o m m an d to v iew th e state of the CPU after the trace command. Page 2-140 T he second form o f t h e T c o m m an d w i l l t r a c e th e execution fo r " n " steps ("n" is a hexadecimal value) before a program breakpoint occurs. A breakpoint ca n b e f o r ced d u r i n g l o n g t r ace d i s pl ays by u s i n g t h e DELETE key. Th e state of th e CPU i s d i s p l ayed before each pr ogram step is executed in the trace mode. If the program being tested must access the disk or i n p u t / ou tput (I/O) devices through the CP/M system, the program tracing is discontinu ed a t the i n t erface to C P/M , an d r e s umes after r etur n in g f r o m C P/ M t o the program being tested. Thus, CP/M f u n c t i ons w h i c h a ccess I/O devices, such as the d isk d r i ve, operate at the p r o per speed (real ti m e ), t hereby avoiding I/O t i m i n g p r o b l ems. Programs run n in g i n t h e t r a c e mode execute aproximately 500 t i m e s sl ower t han r eal t i m e b ecause DDT gets control after each user i n struction i s executed. In p r o grams which use interrupt instructions, the interrupts are always enabled during the trace mode. 3.12 U U n tr a c e Program Execution T he U ( u n t r ace) command a l l ow s y o u t o t r ac e th e e x ecution o f o n e to 65,535 (OFFFFH) program steps. Du r in g th e u n t r ace, the c o ntents of all registers and the status of all f l ags wi t hi n th e central pr ocessing unit (CPU) are displayed. Intermediate program steps are not displayed. This command can be entered in either of the follow ing forms: U Disp l ay s t h e c o n t e nts of t he C PU r e g isters and t he s tatus o f the fl ags. Then executes one p r ogram i n s t ru cti on. T h e DDT hyphen prompt (-) reappears. Un Di sp la y s t h e c o n t ents of t he C PU r e g isters and t he s tatus of the flags. Then executes "n " p r o gram i n s tructi ons, and stops. The DDT hyphen prompt (-) reappears. Page 2-141 Displays caused by the T command take the follow ing form : c fxfMfEfr f A =bb a =dddd D =dddd H= dddd s =dddd P = dddd ins t * h h hh Where "f" is a 0 or 1 flag value; where ' bb is a byte value; where "dddd" is a double byte quantity corresponding to a register pair; where the "inst" fi eld contains the disassembled instruction w h i c h o ccurs at th e l o c ation a d d r essed by t h e p r o gram c o u n t er; an d where "hhhh" is the next address available for execution. The display address (used in the D command)1 is set to the value of the H and L registers. The list address (used in the L command) is set to the value of " h h h h " s o i t w i l l b e r e ady to l i st th e n ext p r ogram steps to be executed if desired. Since the state of the flags and registers of the CPU displayed by the U command occur before each instruction is executed, it may be help ful t o use an X c o m m and to v iew th e state of the CPU after the trace command. T he second f or m o f t h e U c o m m a n d w i l l u n t r ace th e e x ecution f o r "n" steps ( "n " i s a h e x a d ecimal v a l ue) b efore a p r o gram b r eakpoint occurs. A b r e akpoint ca n b e f o r ced d u r i n g l o n g u n t r ace di splays by using the DELETE key. The state of the CPU is d i s pl ayed before each program step is executed in the untrace mode. If the program being tested must access the disk or input/output (I/O) devices through the CP/M system, the program tracing is discontinu ed a t the i n t erface to C P/M , an d r e s umes after r etur n in g f ro m C P/ M t o the program being tested. Thus, CP/M f u n c t i ons w h ic h a ccess I/O dev ices operate at the proper speed (real time), thereby avoiding I/O ti m ing problems. Programs runn in g i n t h e u n t r ace mode execute aproximately 500 times slower than real time because DDT gets control after e ach user instruction is executed. In programs wh ich use interrupt i n structions, the interrupts are always enabled during the untrace mode. Page 2-142 3.13 X e X a m ine or Change Registers or Flags The X (examine) command enables you t o d i s p lay and a l ter th e state of the registers and flags of the CPU at any t im e d u r in g the debugging process. This command can be entered in either of the follow ing forms: Where r is one of the 8080 CPU registers in the follow ing table: soso CpU REGISTER SYMBOL REGISTER NA ME RANGE OF REGISTER CONTENTS C Carry Flag Zero Flag (0/1) (0/1) Z M Minus Flag E I Even Parity Flag Inter-Digit Carry Accumulator BC Register Pair DE Register Pair HL Register Pair Stack Pointer Program Counter A B H D S P (o/1) (0/1) (o/1) (0-FF) (0-FFFF) (0-FFFF) (0-FFFF) (0-FFFF) (0-FFFF) T he first f or m o f t h e c o m m an d d i s p l ays th e state of th e CP U i n t h e following form: C fXfMfEfI f A = bb H =dddd D =dddd H =dddd S =dddd P =dddd inst Where "f" is a 0 or 1 flag value; where ' bb' is a byte value; where ' dddd is a double byte quantity corresponding to a register pair; and w here the "inst" fi el d contains the disassembled instruction w h i c h oc curs at the location addressed by the program counter. Page 2-143 T he second f or m o f t h e c o m m an d d i s p l ays th e f lag or r e gister valu e of the specified register, and allows alteration of the hexadecimal value w ithin t h i s f l a g o r r e gister. Yo u c a n s u b stitute a n e w v a l u e f o r t h e value held in th e register. You makes this substitution by entering the new value and a carriage return to the right of the existing value. This example demonstrates how the value in a register can be altered. -XS S = 00FEEFOO RETURN When you substitute a value into a flag or register, ending the substitution w it h a c a r r i age return, th e DD T h y p h e n p r o mp t (- ) r eappears. If you wish to make no changes to the values, then a carriage return alone should be entered. If a value in th e p r o per range is ty p ed, then the f lag or register value is altered. Note that BC , DE, and H L a r e d i s p l ayed as register pairs. T hus you e n ter th e e n t ir e r egister pair w h e n B , C , o r t h e B C p ai r i s altered. 4 DDT Error Signals DDT does not d i s p lay en t ire m essages when yo u m ak e an e r r oneous e ntry. H ow ev er, DD T w i l l d i s p l a y a q u e stion m ar k (?) i f y o u r e n t r y does not conform to valid entry syntax restrictions. I n additi on, DDT w i l l d i s p lay q u estion m a rks (??) in p l ace of i n v a l i d mnemonics that it encounters when dealing with the assembly language form of a program. Page 2-144 Page 2-145 DIR The Resident Command that Di splays Disk Fil e Di r ectories The DIR resident command i s i ssued to d etermine the presence of (1) all of the fi les on a di sk, (2) a specified fi le, or (3) a group of specified files. After command entry, DIR displays file names to the console (4). Some file names cannot be accessed by DIR (5). 1 D I RECTORY OF A11FILES ON A DISK DIR can be used to determine the names of all files on a disk by answering the system prompt with the follow in g entry: A>DIR R ET U R N If you d e sire a D I Rectory of t h e f i l e s o n a d i s k t h a t d o es not r e side i n the d efault d r i v e ( d r iv e B f o r i n s t ance) the DI R c o m m an d s h o u l d be entered with a drive specification, as shown: A>DIR B: RE T URN NOTE: Because DIR is a resident comm and, it i s automatically l o aded into th e c o m p u ter w i t h t h e r e s t o f t h e o p e r ating system. T h erefore, it is never n ecessary (or v al id ) t o s p ecify a d r i v e at th e beginning of a DIR comm and l i n e . For ex am p le, th e c o m m and A>B:DIR RE T U RN is invalid. Page 2-146 2 D I RECTORY OF A SPECIFIED FILE To find out w h e ther one particular file resides on a disk, the complete n ame of t h a t f i l e i s e n t e red on e s p ace after th e r e s i dent c o m m a n d specification " D I R". For example, the entry of the fol l o w i n g comm an d l ine wil l c h eck th e d isk i n d e f ault d r i v e A f o r t h e f i l e n a med " T H I S FILE.DOC": A>DIR THISFILE.DOC R ET U R N T he presence of a s p ecific f i l e o n a d i s k i n a n o n - d efault d r i v e c a n b e determined by entering the appropriate drive name and a colon im mediately before the name of the specified file. 3 DIRECTORY OF A GROUP OF FILES To inquire about several files that belong to a group with sim i lar names, t he you can enter an ambiguous file name (a file name w it h w i l d c a r d c haracters "+" an d " ? " ) . For i n s tance, to check th e d efault d r i v e d i s k for all of th e f i les w it h th e extension " B A K " , yo u w o u l d e n ter the fol l owing command li n e : A>DIR *.BAK R ET U R N The command line: A >DIR PROGRAM?.HEX R E TURN w ill check the disk for f i les such as "PROGRAM 1.HEX" , "PROGRAM2.HEX", and "PROGRAM3.HEX". In additi on, the command: A>DIR S*.COM R ETU R N w ill c h eck t h e d i s k f o r f i l e s such a s " S C .COM " , " STAT.COM" , a n d "SYSGEN.COM" . Page 2-147 4 CON S OLE DISPLAY OF FILE DIRECTORY The entry of a DIR command line w il l p r o d uce a console display showi ng up t o f o u r f i l e n a mes i n a h o r i z o ntal l i n e , w i t h t h e n am e o f t h e logged drive preceding each li ne. The fo l l o w i n g example shows a DI Rectory display of all of the files on the disk in drive A: A: MOVCPM5 A : STAT A : DDT A : DUMP A: CPM48 COM : COM : COM : COM : CO M : LIST XS U B LO A D D UMP B A TCH C OM : PIP COM : SUBMIT C O M COM : ED COM : ASM COM C OM : CONFIGUR COM : SYSGEN C O M A SM : DUP COM : F ORMAT C O M SUB: DUMP PRN : DU M P HEX If a specified file or group of files is not found on the disk being investigated, the console will di splay the message: NO FILE This message will a lso appear if a DI R c o m m and l i n e r eferences files on an empty disk. 5 FILES NOT AC C E S S IBLE BY DIR DIR commands w il l n o t p r o d uce a d i s play i n d i c ating the p r esence of files that maintain the "SYS" status. (See STAT 2.3.) Files assigned to an u n l ogged user area are also inaccessible to a DIR command unless a USER command is issued before the DIR command. (See USER.) Page 2-148 Page 2-149 DUMP The Utility that Displays a Filein H exadecimal Form T he DUM P u t i l i t y i s i n v o k e d w i t h t h e n a m e o f a f i l e ( 1 ) t o d i s p l ay the hexadecimal contents of each address in f il e (2). The file contents appear in l i n e s containing 16 b y tes of d ata each. To th e l ef t o f e ach l ine is the address of the first byte in each l i ne. This di splay w i l l c o n tinue to the end of the program, unless suspended or aborted (3). 1 D UMP INVOCATION The hexadecimal c o n tents of a f i l e ca n b e d i s p l ayed o n t h e c o n sole by responding to the system prompt w ith the command : A>DUMP (file name) RE T URN Where Ale name i s t he c o m p l e te f i le n a me of t h e d i s k f i l e t h a t y o u wish to examine in a hexadecimal display. Page 2-150 2 E X AMPLE DUMP DISPLAY The command DUMP THI S FILE.HEX RETURN mi g ht produce this dis- play: 0 000 C3 CO 01 20 4 3 0 010 29 20 3 1 3 9 3 7 0 020 52 45 5 3 4 5 4 1 0030 20 44 4 9 5 2 4 5 0 040 46 49 4C 45 2 0 0 050 53 45 2 0 4 9 5 4 0 060 2A 20 46 4 9 4 C 4F 39 52 43 45 24 45 50 59 52 49 47 2C 20 44 49 47 43 48 20 44 49 54 4F 52 59 20 58 49 53 54 53 4E 45 57 20 46 20 49 53 20 52 48 54 20 49 54 41 53 4B 20 46 55 4C 2C 20 45 49 4C 45 45 41 44 28 43 4C 20 4F 52 4C 24 52 41 24 2A 2F 4F etc. 3 SUSPENDING LONG SCROLLING DISPLAYS T he displays p r o d u ced b y t h e D U M P u t i l i t y o f t e n s c r ol l b y q u i c k l y o n the console. How ever, they can be h a l ted t em p orarily b y e n t erin g a CTRL-S a t any t i m e d u r i n g t he s croll. T he d i s p l ay c an t h en be r e sumed by entering any keyboard character except CTRL-C (which exec utes a warm boot and aborts the program). A run of th e DUM P u t i l i t y can be aborted al together by e n t ering an y k e y b oard c h aracter (other than CTRL-S) during the display. 4 D UMP ERROR MESSAGE NO INPUT FILE PRESENT ON DISK E XPLANA T I ON : T h e f i l e s p e cified t o b e d u m p e d d o e s no t e x ist o n the specified disk. Command should be re-entered specifying the proper file name or drive name, or inserting the proper disk. Page 2-151 DUP The Utility for Copying andlor Verifying Entire Disks The DUP uti l it y can be used to du p l i c ate all of the data from one disk to another di sk. It can also compare the tw o d i sk s t o v e r if y w h e t h er the data recorded on one disk correspond exactly tothe data recorded on another d i sk . I f d e s ired, DU P w i l l e v e n p e r f orm b ot h o p e rations consecutively, to ensure accurate duplication of a disk. NOTE: Both of the disks involved in a DUP operation must be prepared in the exact same fashion b y t h e F O R MA T u t i l i t y . T h u s th e d e n sity and number of sides used for data storage on each disk must be identic al. Furthermore, you can not dupl i cate disks that were initi alized wi t h a different operating system, such as HDOS or MS®-DOS. You can use the DUP ut i l it y t h r o ugh ei ther of tw o m e t h o ds: the DUP Prompt Method or the System Prompt Method . 1 D U P PR O M P T M E T H O D W ith t h i s D U P m e t h od , yo u i n v o k e t h e D U P u t i l i t y f r o m a d i s k b y entering a command at th e system pr o m pt . T hen yo u a n swer a series of DUP prompts to define the duplication operation. ®MS is a trademark of Microsoft Corporation. Page 2-152 1.1 D U P I n v o cation I nvoke DUP by typing a command at the system prompt in the follow i n g form: A>DUP RE T URN The DUP utility w il l p r esent the follow ing display when invoked: Disk Utility Program V ersion 2. 04 D o you want t o : A c opy and ver i f y B c opy onl y C verif y o n l y Z exit to operating system Selection: This display i n c l u des a m enu l i s t in g th e f ou r o p erations DUP offers. You can b egin ex ecution o f a n o p e r ation b y t y p i n g t h e l e t ter l i s t ed t o the left of that operation. Each operation is explained in the follow i n g sections. 1.2 A c o p y and verify T he "copy an d v e r i fy " o p e ration m a kes an exact d u p l i c ate of a d i s k , and then verifies that the operation was performed flaw l essly, by comparing the two disks. To begin this operation, type A at the "Selection:" promp t. (No carriage return is necessary.) D UP wil l a sk, in a series of consecutive pr om p ts, for th e l etter of t h e drive that c o n tains th e d i s k t o b e c o p i ed fr om ( " S ource uni t : ") a n d for the letter of the drive that contains the disk to be copied to ("Destinat ion u n i t : ") . En ter th e a p p r op ri ate d r iv e l e t ter fo r e ach p r o m p t . ( N o carriage return is necessary.) Page 2-153 W hen you h ave specified both a source and destination, DUP w i l l i n struct you t o p u t t h e a p p r o p ri ate di sks i n t h e s p ecified d r i ves (even if you have already done so). Then the screen display w il l l o o k somet hing like the follow i n g : Source unit : C Destination unit:D Put source disk in drive C. Put destination disk in drive D. Press RETURN to begin: The last three lines in this display give you a final opportun ity to make certain that you have specified the proper drives and inserted the proper disks. (It is im p ortant to make certain of these factors, lest you accidentally d u p l i c ate the contents of a blank d isk over to a d isk that has useful data.) When both d i sks are positioned in t h e p r o per d r i v es, enter a carriage return to start the copying pr ocess. The li ghts on th e specified d r i v es will glow alternately to signify DUP ~ctivi ty . (The duration of the copy a nd verify o p eration v aries depending on th e d e n sity an d n u m ber of s ides used on t h e d i s k s.) W hen f i n i s hed c o p y i ng, DU P w i l l d i s p l a y the message: Copy fi n i s hed. T he verification p r o cess wil l b e gin a u t o m atically. DU P w i l l c o m p a r e t he source and d e stination d i sk s t o v e r if y t h e a c curacy of t h e c o p y . Then DUP will di splay the message: Verification finished. and redisplay the DUP selection menu. Page 2-154 1.3 B c o p y only The "copy only" operation makes an exact duplicate of a disk. To begin this operation, type B at the "Selection:" promp t. (No carriage return is necessary.) D UP wil l a sk, in a series of consecutive pr om p ts, for th e l etter of t h e drive that c o n tains th e d i s k t o b e c o p i ed fr om ( "S ource uni t : ") a n d for the letter of the drive that contains the disk to be copied to ("Destination unit:"). The screen display for this operation may appear as: Source unit : C Destination unit:D Put source disk in drive C. Put destination disk in disk D. Press RETURN to begin: The last three lines in this display give you a final opportun ity to make certain that you have specified the proper drives and inserted the proper disks. (It is im p o rtant to make certain of these factors, lest you accidentally d u p l i c ate the contents of a bl ank d isk over to a d isk t hat has useful data.) When both d i sks are positioned i n t h e p r o per d r i v es, enter a carriage r eturn to start the copying p r ocess. The li ghts on th e specified dr i v e s will glow alternately to signify DUP activi ty. (The duration of the copy operation varies depending on th e d e n sity an d n u m ber of s i des used on the disks.) When finished, DUP will d i spl ay : Copy fi n i s hed. Then DUP will redisplay the selection menu. Page 2-155 1.4 C v e r ify only T he "verify o n l y " o p e r ation h e lp s yo u d e t erm in e w h e t her tw o d i s k s are identical in media and data contents. To begin this operation, type C at the "Selection" p r o m p t. (No carriage return is necessary.) D UP wil l a sk, in tw o c o nsecutive pr om p ts, for th e l etter of th e d r i v es t hat contain th e d i sk s to b e c o m p ared. (These prompts w i l l a s k y o u to specify " S o u rce u n i t: " an d " D e s tination u n i t :" , a l t h o ugh " s o u rce" and "destination" are not pertinent to this operation.) A nswer each p r o mp t w i t h t h e n a m e o f o n e o f t h e d r i v e s containi n g a disk t o b e c o m p ared. Th e s creen d i s p lay fo r t h i s o p e ration m i g h t appear as follows: Source unit : C Destinatio n un i t : D Put source disk in drive C. P ut desti n a t i o n d i s k i n d r i v e D . Press RETURN to begin: Enter a carriage return to start th e v eri f i cation p r o cess. The li ghts on the specified dr ives wil l g low a l t ernately to signify DUP activi ty . (The duration of the verification operation varies depending on the density and number of sides used by the disks.) If DUP fini shes comparing the tw o d i sks and f i nd s that they are abso- lutely identical, DUP will display the message: Verification finished Then DUP will redisplay the selection menu. I f the tw o d i s k s d o n o t c o r r espond ex actly , i n d a t a c o n t ent o r d a t a position, then DUP displays the follow ing message: Verification error Then DUP will redisplay the selection menu. NOTE: Conceivably, two d i sks could co ntain th e exact same data, but in different positions on the disk surface. DUP verification would regard such disks as different. Page 2-156 1.5 Z exi t t o operating system When the DUP selection menu i s d i s p l ayed, you can end th e program a nd return t o th e o p erating system by t y p i n g th e Z a l t e rnative at t h e "Selection:" prompt. Such an entry wil l p r o d uce the prompt : Place a bootable disk in drive A and type any character: A t t h i s p r o m p t , y o u s h o u l d i n s er t t h e d i s k y o u u s e d t o p e r f o r m b ootstrap i nt o d r i v e A ( i f y o u h a v e r e m oved i t s i n c e b o otstrapj a n d enter a carriage return. 1.6 I nvalid Entries During a DUP Prompt Operation I f you a n s wer a D U P p r o m p t w i t h a n i n v a l i d c h a r acter, ei ther t h e p rompt or th e m en u w i l l b e r e p eated in m o s t cases. However, if y o u specify a drive that does not exist in th e hardw are environm ent (w h en r esponding t o t h e " S o u rc e u n i t : " p r o m p t o r t h e " D e s t i n ation u n i t : " prompt) then the terminal may "hang up", freezing the keyboard. In s uch a case, you m u s t r e set th e c o m p u ter an d p e r f orm b o o t strap t o proceed with any CP/M operation. 2 SYSTEM PROMPT METHOD The System Prompt Method enables you to include all of the specifications necessary for the DUP operation in a single command line entered at the CP/M system prompt. Page 2-157 2.1 Command Line Entry SystemrPompt M e thod DU P c o m m a nds are entered in t h e f o l l o w i n g form: A>DUP (destination): = (source):([option]) RE T URN Where DUP is the command line function; where (destination) is the letter of the dri ve containing the blank d i s k that you wish to receive the copied data; where (source) i s the letter of t he d r i ve c o n taining t he d a ta disk t h a t you wish to duplicate; and where ([option]) represents letters enclosed in square brackets [] and separated by a c o m m a , t o s p e c if y h o w t h e D U P o p e r ation should be conducted. One or tw o o f th e l etters C, V, or N c a n be used, although none of these options are mandatory. N OTE: In a co m m and l i n e equation, the data source is alw ays on t h e right and the data destination is always on the left. Page 2-158 2.2 DUP Options T hrough the System Prompt M e t h od, you can enter the fo l l o w i n g o p tions to p e r f orm a D U P o p e ration as i n d i c ated. T h ese option l e t t ers should alw ays be enclosed in square brackets. If two op t ion l etters are used, they should be separated by a comma. C Copy on ly : D U P w i l l c o p y a ll o f t h e d a ta from t he s ource d isk to th e d e stination d i sk , w i t h o u t c o m p a r in g t he m t o verify the accuracy of the copy. V Ver if y on l y : D UP w i l l c o m p a re the source and destination disks to verify that they contain the exact same data in th e exact same locations on the disk surface. When this option is specified, either d i s k ca n b e t h e " s o u r ce" o r " d e s t in ation". N No i n qu i r y p r o m p t : D U P w i l l p e r f or m t h e o p eration y o u h ave specified w i t h o u t d i s p l a y in g a p r o m p t t o c o n f i r m whether the disks are in the appropriate drives. Without the C or V c Options C o p y a n d v e r i f y: D UP w i l l c o p y a l l o f t h e d a ta f r om t h e sou r c e d i sk to the destination dis k, and then automatically omp ar e t he two d i s ks to verify that the copying was accur a t e. T h i s o p e ration w i l l b e p e r f o r m ed by d e f a u lt i f y o u enter a DUP com m and w i t h s o u rce d r iv e an d d e stination drive specifications but with out specifying a C or V option. Page 2-159 2.3 DUP Defaults If you enter a System Prompt M e t hod DU P com m and l i n e (specifying destination and source drives) and abstain from specifying certain options, the follow in g default condi t i ons w il l be in effect during the DUP operation: • C op y an d V e r i f y o p e ration w i l l b e p e r f o rme d. He nce, the e ntir e contents of the source disk w i l l b e c o p ied to th e destination di sk and then th e tw o d i sks w i l l b e c o m p ared to v e r ify w h e t her th ey a re exact d u p l i c ates. Occurs i f n e i t her th e C n o r t h e V o p t i o n s are specified. • Pr omp t s a re d i s p layed to e ncourage you to i n s ert the source and destination d i sks i n t h e s p ecified d r i v es, and t hen t o t r i gger th e start of the DUP operation w i t h a c a r r iage return. These prompts appear as shown: Disk Uti l i t y P r o gr am V ersion 2. 0 4 Put source disk in drive A. P ut desti n a t i o n d i s k i n d r i v e B . Press RETURN to begin: Prompts in this form wil l appear if the N option is not specified. Page 2-160 2.4 S y s tem Prompt Examples A>DUP B:=A: RE T U R N D UP w i l l p r o m p t y o u t o i n s e r t t h e proper disks into drives B and A, then c opy all o f t h e d at a f ro m d r i v e A t o d rive B, and t hen v e r ify w h e t her t h e copy was performed accurately. A>B:DUP C: =D:[C,N] RE T U RN The DUP util i ty , in t hi s case, is stored on the disk i n n o n - d efault d r iv e B. It will copy all of the data from the disk i n drive D t o t h e d i s k i n d r i v e C . A s specified in the opti ons, DUP will n o t p rompt you t o i n s ert the d i sks in t h e appropriate d r iv e an d D U P w i l l n o t verify the accuracy of the copy. A>DUP D: = E:[V,C] RETURN If your command line options are contradictory, (both C and V use in same line) DUP will acknowledge only the last one. Hence, in this case, DUP will prompt you to i n sert the proper di sks into dri ves D and E, t hen copy a ll o f the data from dr ive E to dr ive D, DUP will not v e rify w h e t h er the copy w a s performed accurately. A>dup c:=e:[v,n] RE T U RN DUP w il l v e r i f y t h a t t h e d at a stored on th e d i s k s i n d r i v e s C a n d E is e xactly the same and arranged in t h e same l o c ation s o n t h e surfaces of t hese disks. A s s p e c i fied i n t h e o p tions, DUP will not copy any data and it will no t p r o m pt y ou t o i n s e rt you r disks. Notice that the letters in a DUP command line do not have to be upper case (capitalized). NOTE: Conceivably, two d i sks could c ontain th e exact same data, but in different positions on the disk surface. A DUP verification operation would regard such disks as different, and display a "Verification Error" message. Page 2-161 3 DUP ERROR MESSAGES Media incompatible on diskettes. EXPLANA T I ON : Di sks used for d u p l i c ation m ust be i d entical in s i z e, density, number of sides, and tracks per inch. Drives incompatible for copy operation. E XPLANA T I ON : DUP operations can only b e p erformed between tw o drives that wr ite the same type of disk m edia. If you have Z-37 drives, m ake certain that th e d r i ves you h ave selected as your " S o u rce un i t " and "Destination u n i t " h a v e b een set t o w r i t e d at a at th e s ame step r ate and n u m ber of t r acks per i nc h ( t p i) . Specify d r i ves that w r i t e t o i dentical disk types for your "Source unit" and "Destination uni t " . Drive not available in current configuration. E XPLANA T I ON : D r i v e s sp ecified a s s o u rc e o r d e s t i n ation m u s t b e drives that are connected in the hardw are environment, turned on and recognized by the operating system. Specify such drives. Hard read error on source disk. Copy/Verify aborted. EXPLANA T I ON : DUP failed i n a n a t t empt t o r ead data from a source d isk. Try the operation again. If DUP failures persist, use the PIP utilit y t o copy f i l e s f ro m t h e s o u rce d i sk , an d t h e S Y SGEN u t i l i t y t o c o p y the operating system from the source disk. Hard read error on destination disk. Copy/Verify aborted. EXPLANA T I ON : DUP failed in an attempt to w r i t e data to the destination disk. Use the FORMA T u t i l i t y t o p r e pare the destination disk before using DUP. If DUP failures persist, use a different disk as the data destination. M ake certain that th e destination d isk m e di a is th e same as the source disk media. Verification error. EXPLANA T I ON : DUP's comparison of tw o d i sks found them to be diff erent. Determine w h i c h d i s k c o n tains the desired data, call t hi s d i sk the "source disk." Then use the FORMA T u t i l i t y t o erase and prepare the inferior d i sk , an d p e r f orm D U P' s " c op y an d v e r i fy " o p e r ation. If the second v eri f i cation of t h ese tw o d i sk s p r o d u ces thi s error, use a n ew disk o f t h e s ame m e di a t yp e fo r t h e d e stination an d r e p eat th e "copy and verify" operation. Page 2-162 Source and Destination cannot be the same drive. EXPLANA T I ON : Di fferent drive un its must be specified as source and d estination unit . Unable to copy to this disk. It is write protected. EXPLANA T I ON : Disk should be w r i t e enabled by r em ov ing the adhesive tab from the write-enable notch in the disk jacket. Command line syntax error EXPLANA T I ON : Sy stem Promp t M e t ho d c o m m an d l i n e w a s e n tered incorrectly. Re-enter using the entry form ex p l ained in " 2 . 1 Command Line Entry." Unknown command line option EXPLANA T I ON : Sy stem Prompt M e t ho d c o m m an d l i n e w a s e n t ered with invalid characters used as options. Re-enter using only the options listed in "2.2 DUP Options." Invalid Source Unit E XPLANA T I ON : The entry made at the "Source unit:" p r o mp t di d n o t c orrespond t o a v a l i d d i s k d r i v e w i t h i n t h e h a r d w ar e en v i r o n m ent . The DUP operation m ust be reselected, and a v a li d d r i v e n am e l etter entered. Invalid Destination Unit E XPLANA T I ON : The entry made at the "Destination un i t:" p r o mpt d i d not correspond to a valid disk dr ive w i t hi n th e hardw are environment. The DUP operation m ust be reselected, and a v a li d d r i v e n am e l etter entered. Page 2-163 ED The Line Editing Utility that Creates and Edits Text Files The ED utility enables you to compose, alter, and manip u l ate files containing ASCII characters. The files composed by ED are often referenced or manipulated by other system util i t ies and commands. W hen i n v o k in g ED , yo u e i t her c r eate a ne w f i l e o r s u m m o n a n o l d file into the computer (1). ED works on fi les using an area of computer memory known as the memory buffer (2). Files being edited can be m oved, altered, or d i s p l ayed w h e n y o u e n ter v a r i ous ED c o m m a n d s (3) 1 ED INVOCATION T he ED utility is in v oked by the entry of a command line in the foll ow ing form: A>ED (file name) RE T URN Where (file name) is the complete name of a file that you wi sh to compose or edit. you must specify the name of the text file here. If the file resides in a non-default dr i ve, this dr ive should be specified immediately before the file name in the comm and l i ne. If the file does n ot yet exist at all , ED w i l l c r e ate it o n t h e d i s k i n t h e d efault d r i v e , or on a disk in a specified drive. Page 2-164 T he foll o w in g e n t ry , f o r e x a m p le , w o u l d c a use ED t o o p e n t h e f i l e n amed "THISFILE. TXT", which resides on the disk in non-default driv e B: A>ED B: THISFILE. TXT R ET U R N When ED " o p ens" a f i l e , i t c h e cks the d isk d i r e ctory for th e n am e of the file. Then ED reserves the computer's Transient Program Area (TPA) a s a memory buffer to be used for text editing and file manip u l ation . If the name of the file is not in the disk directory, ED creates the empty f ile and di splays both the " NEW F I LE " m essage and the " : +" p r o m p t . T hen yo u c a n b e gi n i n s erting t ex t i n t o t h e e m p t y f i l e b y u s i n g t h e "I" command at the prompt. If the name of the file does exist in th e disk d i r ectory, then ED locates i t, and di s plays the " : + " p r o m p t o n t h e c o n sole. You can t hen m o v e t he existing f il e i n t o t h e m e m or y b u f fer b y u s i n g th e " A " c o m m a n d at the prompt. 2 ED STRUCTURE AND FEATURES Text sections 2.1, 2.2, and 2. 3 e x p l ai n t h e s t r u c t ure an d f e atures of the ED uti l i ty . It i s r ecommended that you u n d erstand these concepts before trying to impl ement ED commands. 2.1 T ext Files in the CP/M Environment T o be properly r ead fr om , w r i t ten to , and t r ansferred, CP/M text f i l e s must be composed entirely of Am erican Standard Code for Information I nterchange (ASCII) characters. Text f i les must en d w i t h t h e e n tr y o f t he CTRL-Z " e n d -of-file" c h aracter. Text ca n b e m o v e d t o a n d f r o m the disk in un its of "l i n es". A line is defined as a string of ASCII characters that ends w i t h t h e c arriage return an d l i n e f eed ch aracters. (The "carriage return and line feed" combination can be entered by pressing the RETURN key.) Page 2-165 2.2 The Memory Buffer The memory bu ffer i s an area in th e c o m p u t er's memory t hat th e ED utility uses as a "scratch pad" on w h ich to compose and edit text before it is transferred to a disk for storage. Y ou can send a s p ecified n u m ber o f l i n e s of t ex t t o t h e b u f fer f r o m the disk or send text characters into the buffer by entering them directly through the keyboard. The memory buffer in some computers can hold a bout 36,000 text c h aracters at on e t i m e . W h e n f u l l , y o u c a n p u r g e t he buffer of text by w r i t i n g a specified n u m ber of text l i nes from t h e full buffer to the disk. 2.3 T h e C h a r acter Pointer T ext in the buffer is usually arranged on nu m bered li n es. To help y o u to access locations within the text, the buffer contains an invisible character pointer, which can be moved to specific locations wi t hi n th e text by various user commands. The character pointer resides before the first character in the text, after the last character, or between any two text characters. When it is moved to a position i n th e text, a specified nu m ber of characters or li nes can be inserted or d e l eted starting at th e p o i n t er's current p o siti on. T ext is inserted through the use of special comm ands, sometimes foll ow ed by direct keyboard typing. T he character po i n ter i s p o s i t i oned b y u s e r c o m m a nds t hat m o v e i t u p or d ow n t o d i f f erent l i n es, left or r i gh t a l ong a l i n e , or t o th e t o p or bottom o f t h e f i l e . Th e c h aracter p o i n ter can a lso search t h r ough the text to locate a user-specified text string. A ll ED c o m m ands are executed starting at the cu rrent position of t h e character pointer. Page 2-166 3 ED COMMANDS Commands used w i t h i n t h e C P/M E D i to r ar e en tered i n r e s p onse to t he " :* " p r o m p t , o r t o a p r o m p t i n t h e f orm "n:+" where "n" i s th e number of the text l in e u po n w h i c h th e ch aracter pointer resides. All ED commands (except those which end an ED session) can be entered in a series on th e same command l i ne . The last comm and entered on a ny lin e m u s t b e f o l l o w e d b y a c a r r i age return t o i n i t i at e c o m m an d processing. The ED ut i l it y u ses four c o m m a nds (A , W , X , an d R ) t o t r a n sfer text lines between the disk and the memory buffer (3.1). W hen a f i l e i s i n t h e m e m or y b u f f er , f ou r c o m m a nd s (B , C , L , a n d n ) can be u sed t o m o v e t h e c h a racter p o i n ter t o a s p e c i f ied l i n e o r character (3.2). O nce the character poi n ter i s i n p o s i t i on , f ou r c o m m a nd s (I , D , a n d K) are used to insert text into or delete text from the buffer (3.3). W henever text i s w i t h i n t h e m e m or y b u f f er, tw o c o m m a nd s ( T a n d P) can be used to d i splay i t t o t h e screen. Three other comm ands (Z , V, and U) are used to alter characteristics of screen display (3.4). W hen a f i l e i s i n t h e m e m or y b u f f er , f ou r c o m m a nd s (F , S , N , a n d J ) can be u sed t o m o v e t h e c h a racter p o i n ter t o a n o c c u r r ence of a specified text string (3.5). To remove an entire f il e f rom th e m e m ory b u f f er, four c o m m ands (E, Q , H, and 0 ) c a n b e u se d t o s en d i t f r o m t h e b u f fer t o t h e d i sk , o r to dispose of i t i n s o m e m a n n er. T h ese comm ands m ust b e e n t ered alone and followed imm ediately by a carriage return (3.6). One command (M ) i s u sed t o t r i gger m u l t i p l e ex ecution o f o t her ED commands (3. 7). Page 2-167 3.1 M oving Text to or from Memory Buffer nA Appe n d l i nes from disk to buffer T his comm and w i l l c o p y " n " l i n e s o f t e x t f r o m t h e d i s k f i l e s pecified i n t h e i n v o c ation c o m m an d t o t h e m e m o r y b u f f e r , where the text image can be edited. The nA command must be im p l em ented when you w i sh to edit text from an existing file. This comm and is entered in response to the ":+" prom pt, and causes the "1:+" prompt to be displayed. The counterpart of the nA c o m m a nd , the nW c o m m a nd , transfers edited text lines back to the disk. If you do not specify the number (n) of lines to be appended, ED wil l a p p en d on e l i n e f r o m t h e d i s k . I f t h e " ¹ " ch a r a cter i s entered i n p l a c e o f " n " ( ¹ A ) , t h e n a l l o f t h e t e x t l i n e s i n the disk file will be copied to the memory buffer. nW W r i t e l i nes from buffer to disk This command transfers "n" l i n e s of edited text from the mem- ory buffer to the disk. Text that is written to the disk in thi s manner will no longer exist in the memory buffer. The W comm and i s i m p l e m ented w hen th e m e m ory bu f fer becomes full d u r i n g t ext ed i t i ng. It i s e n t ered in r e sponse to th e " :+" o r " n : + " p r o m p t , an d c a u ses the " : + " p r o m p t t o b e d i s - played. The W command alw ays starts at the top of the buffer, transferr ing the f i rst l i n e i n t h e b u f fer t h r o ugh th e " n t h " l i n e i n t h e buffer. The buffer text l in e that occurs after the "n th " l i n e t h en becomes the first line, moving up to the top of the buffer. If you d o n o t s p ecify th e n u m ber o f l i n e s t o b e t r ansferred to t he disk, on e l i n e w i l l b e t r a n sferred. If t h e " ¹ " ch a r a cter i s entered in place of "n" ( ¹ W ) , then all of the text lines in the m emory bu f fer w i l l b e t r a n sferred t o th e d i sk , an d t h e bu ff er will be empty. A s the ed ited t ext i s w r i t t e n b ack t o t h e d i s k , a f e w l i n e s at a time, it accumulates in a temporary file that has a "$$$" extension. Page 2-168 nX eX tr a d i te text block from buffer to temporary library file This command transfers a block of text from the memory buffer t o a temporary d isk f i l e , so t ha t i t c a n b e t r a n sferred back t o the buffer (by the R command) at a desired location. The block of text begins w it h th e l i n e c o ntain ing the character p ointer, and e nd s " n " l i n e s l a t er. Th e b l oc k i s s t o red o n t h e disk in a temporary fil e w h i c h i s a u t om atically n amed $$$.LIB ( the standard name for a t e m p orary l i b r ary f i l e). A f ter t hi s f i l e i s created on th e d i sk , yo u s h o ul d i m p l e m en t o t her E D c o m mands to move the character pointer to the text location at which the temporary file should be inserted. When the character pointer is at the desired location, the R command is u sed to t r ansfer the $$$.LIB f il e b ack t o th e b u f fer at the desired location. The letter "R" and a carriage return should be entered to i n sert the t ext at th e c u r r ent l o c ation. Th e same t ext can t he n b e i n s erted at a n o t her t ex t l o c a tion b y m o v i n g the character po i n ter a nd , again, en tering " R " a n d a c a r r i age return. Before a different block of text is transferred to the $$$.LIB fil e, the "OX" (a zero followed by an X) comm and should be entered to clear the old text from the file. I f no nu m ber is specified i n th e space preceding the " X " , t h e n one line of text (starting from the current character pointer locat ion) is tr ansferred to th e t e m p orary f i l e . If th e " ¹ " s y m b o l i s s pecified, then all of the text l i nes w i t hi n t h e b u ffer w h ic h f o l low the character pointer are transferred. Rf Rea d l ibrary file f from disk to buffer T his comm and c o p ies th e t ex t f r o m a d i s k l i b r ar y f i l e t o t h e m emory buffer, inserting this text at the current l ocation of th e character pointer. Page 2-169 The file being read into the buffer should usually be specified in place of th e "f " i n t h e c o m m an d " R f " . H o w e v er, these files are always assumed to have the "L IB" extension. Therefore, you need only enter the pri m ary f il e n ame in such a comm and. For e xample, the text f ro m l i b r ary f i l e " R O U T I N E X .LIB" c o ul d b e read into the buffer with the entry of the follow ing command: RROUTINEX If you w ish to read a temporary l i b r ary f il e i nt o the buffer text, t hen no part of th e f il e n ame need be entered w it h th e R com m and. The standard temporary li b r ary f il e name "$$$.LIB" w i l l be assumed. 3.2 Positioning the Character Pointer +/ - B Beg i n ning/Bottom of text character pointer movement This command w i l l m o v e th e character pointer to the begin- ning of the first line of the text in the buffer (if entered in the form B), or to the end of t he last line in t he buffer (if entered in the form — B). +/- n L L i n e down/up character pointer movement T his command w i l l m o v e th e ch aracter pointer from it s cu r r ent l in e w i t h i n t h e m e m o r y b u f f e r t ex t t o a n o t her l i n e a specified number (n) of lines away. When the command i s entered in th e f orm nL , the character pointer will m ove ahead (down) the specified number of lines to the beginning of a text line. When the command is entered in the form — nL, the character pointer will move backward (up) the specified number of lines to the beginning of a text line. If the nu m ber of l i n e s t o m o v e i s n o t s p ecified w h e n th e L command i s en t ered, the p o i n ter w i l l m o v e o n e l i n e a h ead (down). In order to move the pointer to the beginning of the line upon w hich i t c u r r ently r e sides, enter the " OL" c o m m an d ( w it h a zero preceding the "L"). Page 2-170 +/ — n Advance to a line and display it T his c o m m an d m o v e s t h e c haracter p o i n t e r a specified n umber of lines (n) and displays the text of the line on w h i c h i t lands. T h i s c o m m an d p r o d u ces th e s am e r e sults as t h e s imultaneous entry o f b o t h t h e " L " a n d " T " c o m m a n ds . I f no number is entered before the carriage return, ED assumes the number one. +/ - n C C h a r a cter pointer movement to right/left T his c o m m an d m o v e s t h e c haracter p o i n t e r a specified n umber (n) of c h aracter spaces, usually t o w ar d th e r i gh t o r left edge of a t ext l i n e . ( W hen a c o m m a n d -driven ch aracter pointer reaches the edge of a t e x t l i n e , t h e c a r r iage return and line feed characters wil l c a use it to c h ange its di rection momentarily.) When entered with a p lu s sign ( " + " ) , t hi s command wil l move the pointer the specified nu m ber of spaces to the right, a nd/or down to successive lines. When entered wit h a m i n u s sign (" — "), this command w il l m o v e the pointer the specified number of s p aces to th e l e ft , a n d /or u p t o p r e c eding l i n e s. If you w i s h t o m o v e t h e c h aracter p o i n ter p ast th e edge of a text line using the "C " c o m m a nd , the n u m ber specified i n the command w i l l h a v e t o i n c l u d e t w o c h a r acter spaces to g et past th e c arriage return an d l i n e f ee d c h aracters at t h e end of the line. 3.3 I nserting or Deleting Text Insertcharacters from keyboard tob urr The "I " c o m m an d e n a bles yo u t o i n s ert c h aracters directly into the text at th e cu rrent p o sition of th e ch aracter pointer. T his command i s e n tered in r e sponse to th e " : * " o r " n : * " prompt. I f you enter a carriage return i m m e d i ately after the "I " c o m m and, then th e " n : " p r o m p t a p p e ars on t h e n ex t l i n e a n d t ext characters can be inserted on successive lines unti l y o u enter a CTRL-Z "end-of-file" character. The entry of a CTRL-Z causes the ": +" p r o mp t t o be di splayed. After such an insertion operation, the character pointer w il l b e positioned at the end of the last inserted text line. Page 2-171 If text is inserted on the same line as the "I " c o m m a nd, then the insertion operation w il l end w hen the next carriage return i s entered, and a " * " c o m m a n d p r o m p t w i l l a p p ear at t h e left edge of the screen. After such an i n sertion operation, the c haracter pointer w i l l b e p o s i t i o ned at th e beginning of t h e line follow ing the line of inserted text. I f upper an d l o w e r c ase i n sertion t ex t i s d e s i red, enter t h e "I" co m m and w i t h a l o w e r c ase " i " . E n t ering th e c o m m and with an upper case "I" w il l aut omatically translate all inserted text to upper case. +/ — nD Delete characters from buffer text This command wil l d elete a specified number (n) of characters from memory buffer text, starting at the location of the character pointer. D eletions w i l l t a k e e f f ect t o t h e r i g h t o f t h e p o i n t e r i f t h e specified nu m ber of d e l etions is p r eceded by a " — " s i gn . If t he specified num ber of d eletions is preceded by a " + " s i g n o r by nothing, then characters to the right of the poi nter w i l l be deleted. If no number of characters is specified for the deletion operation, then on e ch aracter w i l l b e d e l eted. If " 4 " i s s p e c i fi ed as the number of characters to be deleted, then all text characters before or after the pointer (depending on the sign preced- ing the number) will be deleted. The carriage return and line feed characters at the end of each text line are counted as two separate characters, even though they are produced by pressing only the RETURN key. +/- n K K i l l lines from buffer text This comm and w i l l d e l et e a s p e cified n u m ber (n ) o f l i n e s f rom the m e m ory b u f fer t ext, starting at th e p o sit ion o f t h e character pointer. If a "+" (plus sign) precedes the number of lines to be killed, then that number of lines occurring after the character pointer will be killed. If a "— " (minus sign) precedes the number, then that n u m ber of be killed. l i n e s occurr ing before t he p o i n t er w i l l Page 2-172 I f the character pointer is p o siti oned i n t h e m i d d l e of a l i n e d uring a " K " c o m m a n d , th e p o r t io n o f t h e t ex t l i n e t o t h e l eft or r i gh t o f t h e p o i n ter w i l l b e d e l eted as i f i t w e r e o n e entire line. If no number (n) is specified for the deletion operation, then one l ine w i l l b e d e l e ted. If " ¹ " i s sp e c i f i ed as t he n u m b e r of lines to be d e l eted, then all t e xt l i n e s b efore or a fter the pointer (depending on the sign preceding the number) will be deleted. 3.4 Displaying Text to Console +/ - n T Ty p e text lines on console This comm and w i l l c a u s e a c o n sole d i s p lay o f a s p e c i f i ed number (n) of text lin es, starting at the position of the character pointer. If the character pointer is in th e m i d dl e of a l i ne, the portion o f the lin e between the p o i n ter and th e en d o f t h e l i n e w i l l b e counted as an entire l i ne. If such a comm and begins wi t h a minus sign (" - "), then th e specified n u m ber of l i nes before the line containing the character pointer and the line containing the pointer are di splayed. If th e p o i n ter i s p o siti oned in t he middle of a l in e and a zero is specified in th e comm and , t hen only t h e p o r t io n o f t h e l i n e f r o m i t s b e gi n n in g t o t h e pointer will be displayed. If no n u m ber (n) o f l i n e s is s pecified, then o ne l i n e w i l l b e displayed. If the "¹ " s y m b o l i s specified, then all of the li n es in one direction will be displayed. You can interrupt a console display w h ich scrolls too quickly by entering a CTRL-S character. The scroll wi l l r e s ume whe n a nother CTRL-S i s e n t ered. Yo u c a n a b or t a l o n g s c r o l l i n g s creen display by entering any other keyboard character whil e the display is in progress. Page 2-173 The "T" comm and w il l no t effect the position of the character pointer. Therefore, at the end of a "T " o p e ration, the pointer marks the position at w h i c h t h e o p eration began. This posit ion w i l l b e i n d i c ated b y t h e n u m b e r i n t h e " n : + " p r o m p t . T he "T " c o m m an d can be entered in r e sponse to a " n : + " o r " :*" prom p t . Page display on console This command causes text to be displayed on the video screen in un it s o f o n e p age (23 l i n e s), and d e p osits th e c h aracter pointer at the end of the display. If a display of the first page (23 lines) beginning at the character pointer i s d e sired, then a z er o sh o ul d p r e cede the P i n such a command. Hence, a OP command has the same effect as a 23T command. I f the number one or no n u m ber i s specified before the " P" , then on e p age (23 lines) of text, starting 23 li nes past the character pointer, wi l l be displayed. The command 2P will c ause the display of two pages starting 23 lines past the pointer. The command 3P wi l l c a use the display of t h r e e p ages starting 2 3 l i n e s p ast th e c h aracter p o i n t er, an d so on. Hence, a 2P command has the same effect as a 23L46T-23L. nZ Zone interruption of text display scroll T his command can be entered i nt o a c o m m and l i n e i n f r o n t of the "T " o r " P " d i s p lay co m m ands to i n t errupt a l ong console display scroll at time-regulated intervals so you can view the text one zone at a time. When "T" and/or "P" commands are entered in a series within t he same command l i n e , "Z" commands can be placed in between to interrupt their execution for time periods determined by the number preceding the "Z". The number (n) pr eceding the Z in t h e c o m m a nd s tands for t he number o f h a l f s e conds t hat th e d i s p lay s c r ol l w i l l b e interrupted. Hence, if a command line contains a 10Z between two di splay co m m ands, the scroll in g caused by th e d i s p l ay commands will be interrupted for five seconds. Page 2-174 +/ — V aVert or replace line numbers in console displays I f you pr efer not to use the l in e n u m b ers, the - V will elim i n ate them from the console display. c o mmand The command V wi l l r e s tore line num b ers to the console dis- play. A special f o r m of t h i s c o m m a nd , i n w h i c h a z er o p r ecedes the V (OV), will produce a display showing how many locations remain u n u sed i n t h e m e m or y b u f fer (r), and th e t otal number of buffer locations that are accessible through the ED utility (t). The display appears in the form: "r/t". +/- U Uppercase/lowercase text translation If you w o ul d l i k e all c h aracters entered into text th r ough th e E D util it y t o b e p u t i n t o u p p e r case, the "U " c o m m an d c a n be entered. The "— U" c o m m an d c a n b e e n t ered t o a l l o w t h e i n s e rted text to be displayed in both lower and uppercase. 3.5 Searching for Text Strings nFt Find text string t within buffer text This command i s used to l o cate the specified n u m ber of occ urrences (n) o f a p a r t i c u lar s t r in g o f c h a r acters (t) w i t h i n the text. The strin g o f c h a r acters (t) b e i ng s o u g ht i s s p e c i f i ed i m mediately after the F i n t h e c o m m a n d , and e n d ed w i t h t h e entry of a CTRL-Z character and a carriage return. I f you d o n o t s p ecify t h e n u m be r o f o c c u r r ences (n) of t h e string to be found w i t h i n t h e t e xt, then o nl y t h e f i rst occurrence will be found. If you desire to l ocate a string of ch aracters (t) that contains the carriage return and line feed characters, these two characters can be specified i n t h e c o m m an d l i n e w i t h t h e CT R L-L character. Page 2-175 The string specified in the command (t) must match the actual text in spelling, spacing, capitalization, etc. T he specification of a s t r in g o f c h aracters that i s no t f o u n d in the text will pr o duce the error message: BREAK "0" A T sending the character poi nter back to it s p o sition before the search operation failed. nSdt Search and replace text string T his command p erforms the operations of the " F " , "D", and "I" co m m ands sim u l t aneously, by f i n d i n g a s p ecified strin g (d) withi n th e bu ffer text, deleting it, and i n serting a second specified string (t) at the same location. T he number (n ) i n t h e c o m m an d r e p r esents the n u m ber of text string substitutions desired by yo u t h r o u ghout th e text. T he omission of t hi s n u m ber w i l l c a use a substitution to b e made only a t t h e f i r s t o c c u rrence of th e s o u ght-after string ( d). The entry of the "¹ " s y m b o l i n p l ace of this number w i l l cause the substitution to be m ade at every occurrence of the sought-after string throughout the text. The string of characters to be found and deleted in the buffer text (d) is specified imm ediately after the "S" in the command, a nd ended b y a C T R L - Z c h a r acter. I m m e d i ately a f ter t h i s CTRL-Z, the text string to be inserted (t) is entered and ended by a second CTRL-Z and a carriage return. T he specification of a s t r in g o f c h aracters that i s no t f o u n d in the text will pr o duce the error message: BREAK 4g" AT sending the character poi nter back to it s p o sition before the failed search and replace operation. Page 2-176 nNt fi N d t e x t string on disk This command performs the same search operation as the "F" c ommand except t hat i t c a n s earch an e n t ir e f i l e f o r a t e x t string (t). If the specified string (t) is no t f o un d i n t h e m e m or y b u f f er , then this comm and w i l l a u t o m atically w r i t e th e c o ntents of t he buffer to the disk (i nto a temporary fi le, as the "W " c o m m and does) and append an i m age of an other p o r t ion o f t h e disk file's text to the buffer (as the "A " c o m m an d d oes) until the entire fil e has been searched for th e str ing th e specified number of times (n). nJftd Juxtaposition substitution and deletion This command f i nd s a f i rst string (f), inserts a second string (t) after the first, and then deletes all of th e text between the e nd of th e i n serted string (t) and th e b eginn in g of t h e t h i r d string (d). The "J" in th e command is i m m e d i ately fol l o wed by the fir st text string (f), a CTRL-Z, the t ext st r in g t o b e i n s erted (t), a CTRL-Z, the t h ir d t ex t s t r in g ( d) , a C T RL -Z , an d a c a r r iage return. T he third st r ing (d) serves as a restraining bou n dary for t h e text deletion. This multi -faceted operation is performed a specified number of times (n), or o n ce, i f n o n u m b e r i s s p ecifi ed. If t h e " ¹ " i s specified, th e o p eration w i l l b e p e r f o r med fo r a l l o c c u r rences of the first text string (f). If the third command l in e string cannot be found in the buffer text, then no text is deleted. Page 2-177 3.6 Closing a Text File End session while buffer text becomes permanent disk file A ll t ext i n t h e m e m or y b u f fer i s c o p ie d t o t h e d i sk , w h er e i t is combined w it h any text that has accumulated in a temporary file, and assigned the original file name. A t th e s ame t i m e , th e v e r sion o f t h e f i l e t h a t w a s c o p ie d t o perform th e edi t i s assigned the extension " . B AK " i n p l a c e of its original extension. The operating system then regains control and di splays the system prompt . Quit session by deleting edited copy of file All text in th e memory buffer and/or any temporary file created d uring the session is d eleted, and any e x i sting versions of t h e f ile on th e d isk m a i n t ain th e status and n ames they held p r i o r to the editing session. If the file being edited existed before the session, then the original version remains in tact, as if th e ed i t in g session never took place. If the file in the buffer is an original composition (was created a s a "NEW F I LE " d u r i n g t h i s e d i t in g session) then al l c o p i e s or versions of this file will be destroyed. Since the accidental use of this command could delete important t ext composed or edited d u r in g th e session, its entry w i l l p r o duce the " Q - ( Y / N )7" c o n f i r m a tion m e ssage. The Y ch a r a cter must be entered before the deletion w i l l b e e x ecuted. If th e N i s entered, the current editing session will conti n u e. H Halt session temporarily to save alterations All alterations made to text (or any text composed) will be saved u nder the active file name, and the editing session wil l cont i n u e w ith a n i m a g e o f t h e c u r r e n tl y e d i t e d f i l e a u t o m atically a p pended to the memory buffer. This command has the same effect as entering a combination of both the "E" and "A " c o m m an ds. Page 2-178 0 O m it r e c ent alterations and restart edit session A ny text i n t h e m e m or y b u f fer o r i n a t e m p o r ary d i s k f i l e i s deleted, and the editing session conti n u es, using the same text with wh ich it began. In effect, this command nul l i f ies any text alterations or composition performed in the most recent ED session and starts the session over, as if th e " Q " a n d " A " c o m m a nd s had been entered consecutively. 3.7 Causing Multiple Command Execution nM M ul ti p l e command execution T his command a l l ow s yo u t o e x ecute one or m o r e c o m m a n d s a specified n u m ber o f t i m e s (n ) w i t h o u t a d d i t i o nal c o m m a n d e ntries. Commands are entered on the same li ne, foll o w in g t h e nM command in a s tri ng termin a ted by eit her a carriage return or a CTRL-Z. All com m ands fol l o w in g the nM wi l l b e e x e cuted the n u m b e r o f times specified at the beginning of th e entire comm and l i n e ( n), or u n t i l a n e r r o r c o n d i t io n i s e n c o u ntered. If n o n u m b e r ( n) is specified, then th e op erations i n v o ked by th e c o m m a n d line w i l l b e i m p l e m e nted f ro m t h e p o s i t io n o f t h e c h a r acter p ointer through the end of th e t ext, or u n ti l a n e r ror co n d i t i o n is encountered. This command i s c o m m o nl y u sed w i t h t h e search and r eplace command ("nS"), to facilitate text string substitution throughout a large text area. When s uc h a s earch r eaches the en d o f t h e text in t h e m e m or y b u f f er, an e r ror c o n d i t io n t o i n d i c ate th at the substitution can no longer be executed. Multiple commands are executed from the position of the chara cter poi n ter t o w ar d t h e e n d o f t h e t e x t . H e n ce, th e p o i n t e r s hould be positioned at the beginning of the buffer text if m u l t i ple commands are to be executed throughout the text. Page 2-179 4 THE FILE EDITING CYCLE T he f o l l o w i n g s e q u ence o f d i a g r am s s h o w s t h e f i l e n a m e d " R E - PORT.DOC" as it undergoes ED's file editing cycle. The left side of t he diagrams represents the memory b u f f er, and th e r i gh t s id e of t h e diagrams represents the logged disk. In Figure 2-1, you h av e o p ened th e f i l e " R E PORT.DOC" b y e n t eri ng ED REPORT.DOC a t t he " A ) " sys t e m p r o m p t . Y o u t h e n e n t er E D ' s I command, and begin ty p ing text i nt o th e m emory bu ffer fi le. No text has yet been recorded on the disk. REPORT. DOC / I I • I I I I I I I I • • • • Figure 2-1 Page 2-180 I n Figure 2-2, you h av e i n serted text i n t o t h e f i l e , an d w a n t t o s a v e some number of text lines. First you end the insert by entering a CTRLZ. Then to save the text, you enter ED's W command to send a specified n umber of t ext l i n e s from th e b u f fer t o a t e m p o rary f i l e o n t h e d i s k . ED gives this temporary file the name "REPORT.$$$". The buffer file remains. REPORT. DOC REPORT. $$$ / / Figure 2-2 In Figure 2-3 you end the editing session and save all of the text composed for " R EPORT.DOC" b y e n t ering ED's K c o m m a nd . T h i s s aved text is recorded on the disk un der the file name "REPORT.DOC". Both t he b u f fer f i l e "REPORT.DOC" a nd th e t e m p o r ar y d i s k f i l e "RE- PORT.$$$" are erased. I Figure 2-3 REPORT. DOC / Page 2-181 I n Figure 2-4, yo u ar e r e opening th e f i l e " R E PORT.DOC" t o e d i t i t . First you enter ED REPORT.DOC to i n v o ke ED. Then y ou m u s t e nter E D's A co m m and t o b r in g a c opy o f a s p ecified n u m ber of t ext l i n e s from the disk into the buffer. The disk copy of "REPORT.DOC" remains on the disk. REPORT. DOC • i REPO R T. D OC / / Figure 2-4 Y ou changed and/or added to the text l i nes that were brought into th e buffer. To save these changes and/or additions, you again enter a CTRLZ and ED's W co m m a nd. Figure 2-5 reflects the state of the fil es after these activities. The original disk copy of " REPORT.DOC" remains on the disk, a copy of some of th e f i les text remains in th e b u ffer u n d er the name "REPORT.DOC", and some number of edited text l i nes from the file have been sent to the temporary disk file named "REPORT.$$$". REPORT DOC / • I R EP O RT. DOC • I / REPORT. $$$ I Figure 2-5 / Page 2-182 In Figure 2-6, you h ave cl osed the f il e ed i t in g session and saved th e change and/or additions made to the text, by entering ED's E command. E D reacts to t h i s e n tr y b y c o m b i n i n g al l t e x t f r o m b u f f e r f i l e " R E PORT.DOC", all text from temporary disk fil e "REPORT.$$$", and any unchanged text from th e original disk f il e " REPORT.DOC" into a new disk file n amed " R EPORT.DOC". Then ED r enames the original " R EPORT.DOC" disk file to "REPORT.BAK". The buffer file and the temporary disk file disappear. REPORT. BAK / REPORT. DOC / Figure 2-6 T hus a file w i t h a f i l e n ame extension assigned by you i s u sually t h e l atest version of th e f i l e , w h ereas a file w i t h t h e e x t ension " B A K " i s usually an old copy of the file. If you re-edit the disk f il e " REPORT.DOC" and save the new l y-edited version, the current disk file "REPORT.DOC" wil l become the new disk file "REPORT.BAK" , as the memory f il e " REPORT.DOC" and the di sk file "REPORT.$$$" c ombine t o b e c o m e t h e n ew disk f i l e "RE- PORT.DOC". The old disk file "REPORT.BAK" will be automatically deleted after the third ED session with the file. NOTE: These diagrams only i l l u s trate a few o f t h e b a sic o p t i ons f or file mani p u l ati on. Th e t ex t o n E D c o m m a nd s ex p l ains several other options. Page 2-183 5 ED ERROR MESSAGES BREAK"?" AT x EXPLANA T I ON : ( " x " i s a n i n v a l i d c h a r acter that yo u e n t ered.) you e ntered an E D c o m m an d u n d e r i n a p p r o p riate ci r c um stances, at t h e wrong kind of p r o m pt , or w i t h i m p r o per syntax. Command should be re-entered. DISK OR DIRECTORY FULL EXPLANAT I ON : You either entered ED wi t h o ut a f i le name argument at the CP/M system prompt, or composed more text than the disk could h old. For th e f o r m er, yo u s h o ul d i n v o k e th e E D u t i l i t y b y t y p i n g a command l in e w i t h a f i l e n am e argument. For th e l a tter, you cannot save the ov erflow o f t e x t . W h e n c o m p o sing f u t ur e d o c u m ents, you should use ED's "W" command or CP/M's STAT uti l ity more often. ~~ FILE I S READ/ONLY» EXPLANAT I ON: You tried to save newly-edited text to a file that cannot be written to because it has read/only status. You should abandon the text in th e b u ffer w i t h E D's "Q " e x i t c o m m a nd, and t hen use CP/M's STAT command t o assign read/write status to the f il e before the next edit. "SYSTEM" FILE NOT ACCESSIBLE EXPLANAT I ON : You t r ied to edit a f il e that had been given the " system" status by the STAT comm and. This status hides a file from commands such as ED and DIR. You sh oul d assign the " d i r ectory" status t o the f i l e , u s in g th e S TA T c o m m a nd , b efore tr y in g t o e d i t t h e f i l e again. NO MEMORY E XPLANAT I ON : Yo u h av e f i l le d m e m ory b u f f er, and shoul d use th e "W" command to send some of the buffer text to the disk. Page 2-184 Page 2-185 ERA The Resident Command for Erasing Files T he ERA resident command f r ees space once occupied by d i s k f i l e s, thereby permi t t in g th e s t orage of ne w f i l es. ERA w i l l e r ase a si n gl e f ile (1) or a g r ou p o f f i l e s (2). ERA a lso d i s pl ays a m essage when i t cannot erase a file (3). Caution shoul d b e exercised when u s ing ERA because erased files cannot be r ecovered u n der m ost c i r c u m stances. 1 ERASING A DISK FILE T o erase a file from a d i sk , you s h o ul d e n ter a c o m m and l i n e i n t h e following form: A>ERA {filename.ext) RETURN Where (filename.ext) is the complete name of the file you w a nt to d e lete. F iles that d o n o t r e s ide o n a d i s k i n t h e d e f aul t d r i v e ca n o n l y b e e rased when th eir f il e n ame is p r eceded in th e c o m m and l i n e by t h e appropriate drive specification. Page 2-186 2 E RASING GROUPS OF FILES A group of f i l e s w i t h s i m i l a r n a mes can be d eleted by a s i n gl e ERA c ommand l i n e w h e n a m b i gu ous f i l e n a mes (names w it h t h e " + " o r "?" characters) are used, as in the follow ing example: A>ERA B:PROGRAM?.PRN RETURN which w o ul d d e l ete files with n a mes such as PROGRAM1.PRN, PROGRAMZ.PRN, PROGRAM7.PRN, and PROGRAM/.PRN from the disk in drive B. The follow ing command example shows how to delete even more files at once: A>ERA B:W.WRETURN This entry would erase every file from a disk. Because of the destructive potential of this form of the command, erase will ask you for confirm ation with this message: ALL FILES (Y/N)? The command w i l l n o t b e executed un ti l y o u c o n f i rm s i t b y p r essing the "Y" k ey. If the " N" k e y is p r e ssed, the system prompt w i l l b e d i s - played. Page 2-187 3 CONSOLE RESPONSE TO ERA COMMANDS W hen ERA f i n d s th e specified f i l e an d e r ases it, th e system p r o m p t returns. I f the specified f il e d oes not r eside on a d i s k i n t h e s p ecified d r i v e , then the console will display the follow ing message: NO FILE I f the f il e y o u d e s ire t o e r ase is w r i t e p r o t ected by t h e " R / 0 " ( r e a d only) status, or if you sw i t ched disks between drives with out performing a warm boot, a message like the follow ing wil l be displayed: B dos Err On x : File R/0 Where "x" is the letter of the drive containing the write-protected file. I f the disk containing the f il e to be erased is mechanically w r i t e p r o tected (with a d hesive tabs for 5.25-inch, w i t h ou t a dhesive tabs for 8inch, or w i t h d i s k d r i v e c abinet sw i t c hes for 8 - i nch an d W i n c h ester Disks), then a message in the follow ing form wil l be displayed: Bdos Err On x : B a d Sector Where "x" is the drive from which you tried to erase a file. If you specified a dr iv e in an ERA c o m m a nd, and that d r iv e contains no disk, then a message in the follow ing form wil l be displayed: Bdos Err On x: S el ect Where "x" is the drive from which you tried to erase a file. Page 2-188 Page 2-189 FORMAT The Utility that Prepares the Disk Surface F ORMAT p r e p ares a f l o pp y d i s k o r a W i n c h e ster Disk p a r t i t io n f o r the storage of data by establishing storage areas on th e d i s k s u r face. A t the same time, FORMA T e rases any data that remains on th e d i sk from prior use, and sometimes inspects the recording surface for imperfections that could i m p air d ata storage or transmission. FORMAT al so e nables you t o d e t ermine ho w m u c h d a t a y o u w i l l b e a b l e t o s t o r e on the disk. CAUTION: Because FORMAT e rases all existing data on a dis k, make certain that you only format blank disks or disks containing expendable data. You can use the DIR (refer to the text titled "DIR") or STAT (refer to the text titled " ST A T " ) c o m m ands to check a disk for valuable data files before formatting it. Notice, however, that the DIR and STAT commands cannot always find all of the data on a disk. You can use the FORMA T u t i l i t y t h r o ugh ei ther of tw o m e t h ods: the FORMAT Prompt Method or the System Prompt Method. 1 FO R M A T PR O M P T M E T H O D With this FORMAT method, you load the FORMAT ut i l it y i nto memory by entering a command at the system prompt. Then you answer a series of FORMAT prompts to define the formatting operation. Page 2-190 1.1 FORMAT Invocation Answer the system prompt with a command in the follow ing form: A) FORMAT RETURlV W hen inv oked t h r ough th e FORMA T p r o m p t m e t h od, FORMA T f i r s t i dentifies itself w i t h n a m e , v ersion n u m b er, an d a c a u t io n ab out i t s capabilities. Then i t a sks you i f y o u w i s h t o c o n t i nu e th e o p eration, as shown: Format Version 2. 04 This program is used to initialize a disk. All information currently on the disk will be destroyed. Is that what you want? (y/n): I f you w i s h t o p r e pare a di sk, enter a Y a t t h i s p r o mp t an d c o n t i n u e reading. If you do no t wi s h t o p r e p a re a d i s k, e nter any c h a racter other tha n a Y. Control w i l l r e t ur n t o t h e o p erating system, w h i c h w i l l d i s p l a y a system prompt. 1.2 Specifying The Disk to be Formatted A fter you h av e confi rmed y ou r asks: i n t e n t ion t o f o r mat a d i sk , FO RM A T Which drive do you wish to use for this operation?: A nswer this pr ompt by e n t ering the l etter of th e d r iv e containing th e disk you wish to prepare. Page 2-191 1.3 Disk Format Specification H eath/Zenith d isk d r iv e m o d els accommodate four d i f f erent k i nd s of disk: 5.25-inch hard-sectored floppy disks; 5.25-inch soft-sectored floppy disks; 8-inch floppy disks; and Winchester Disk E ach of t h ese d i sks t y pes are f o r m atted d i f f erently. O nc e yo u h a v e specified your drive, the messages and prompts that FORMAT d i splays depend on the type of the disk you are formatting. FOR M A T T IN G A 5.25-INCH HARD-SECTO R ED FLOPPY DISK After you have selected a drive for this FORMA T o p eration, FORMA T prompts you as follows: Put the disk you wish to be formatted in drive x. Press RETURN to begin, anything else to abort. Entering a carriage return at this prompt w il l begin the actual formatting operation, w h il e entering any other k eyboard character wil l c a use all FORMAT activities to end as CP/M displays the system prompt. When the operation is finished, FORMAT w i l l d i s pl ay : Do you have any other disks to be formatted? (y/n): After formatting, this disk has a file capacity of 90 kilobytes. FORM A T T IN G A 5.25-INCH SOFT-SECTO RED FLOPPY DISK After you select a drive for this FORMAT op eration, FORMAT d i splays the prompt: W hich density ? ( S= s ingle, D=double) : The "density" of a disk refers to the concentration of data on its surface. You can d e cide w h e ther d ata w i l l b e s t o red o n t h e d i s k a t " s i n g l e" d ensity or " d o u b le " d e n sity b y e n t e r in g " S " o r " D " a t t h i s p r o m p t . Page 2-192 I f you specify "D " f o r " d o u b le " d e n sity, data w il l b e r ecorded on t h e disk at approxim ately t w i c e the concentration as it w o u l d a t " s i n gl e" density. Higher density levels might also decrease data access reliability. After the density is selected, FORMAT w il l d i s p lay the prompt : Number of Sides? (I= singl e , 2 =double) : S ince 5.25-inch soft-sectored di sks h ave tw o u s able si des, you h a v e the option o f s electing how m a n y o f t h ese sides w il l b e p r e p ared to store data. A fter you enter a v a li d r e sponse to each of t h ese prompts, FORMA T will display either of the follow ing two messages: 4 8 TPI dr i v e - - 40 tracks will be formatted Put the disk you wish to be formatted in drive x. Press RETURN to begin, anything else to abort. or 9 6 TPI dr i v e - - 80 tracks will be formatted Put the disk you wish to be formatted in drive x. Press RETURN to begin, anything else to abort. Entering a carriage return at this prompt w il l begin the actual formatting operation, w h il e entering any ot her k eyboard character w il l c a use all FORMAT activities to end as CP/M displays the system prompt. When the operation is finished, FORMAT w il l d i s p lay the message: Do you have any more disks to format? (y/n): NOTE: Soft-sectored 5.25-inch d i sk s s u p p orted b y t h e H e a th/Zenith C P/M are available in tw o v a r i eties: those with 4 8 t r acks per inch (4 8 tpi) and those with 96 tracks per inch (96 tpi). Each variety has different storage capacities, depending on the density and n u m ber of sides you select when formatting. Page 2-193 The following table shows the file capacities of 5.25-inch, soft-sectored, 48 tpi disks: Single density Double density Single-sided Double-sided 90 kilobytes 190 kilobytes 148 kilobytes 308 kilobytes The following table shows the file capacities of 5.25-inch, soft-sectored, 96 tpi disks: Single-sided Double-sided Single density 190 kilobytes 388 kilobytes Double density 308 kilobytes 624 kilobytes NOTE: The CP/M O p erating System i s set t o a ccommodate either 48 t pi di sks or 9 6 t p i d i s k s i n a Z - 3 7 d r i v e m o d el . T h i s setting can b e a djusted through th e CONFIGUR u t i l i ty . ( See "Submenu B : Set D i sk Parameters" in the text on CONFIGUR.) FORMATTING AN 8-INCH DISK After you select the drive to be used to FORMAT this disk, the FORMAT utility w il l d i s play one of the follow ing prompts: Which density? (s= single , D = double , W hich density ? D =double) : E =extended double) or ( S= si n g l e , The "density" of a disk refers to the concentration of data on its surface. Y ou can d e cide w h e ther d ata w i l l b e s t o red o n t h e d i s k a t " s i n g l e" density or " d o u ble" d ensity or " e xtended double" d ensity by entering "S" or "D" or "E" at this prompt. If you specify "D" for "d ouble" density, data will b e r ecorded on th e d isk at about t w i c e the concentration as it woul d a t " s i n g le" d e n sity. Extended d o u ble d ensity i s th e h i g hest level of data concentration possible on that disk. Higher density levels m ight also decrease data access reliability . Page 2-194 After you answer the density prompt, FORMAT di splays: Put the disk you wish to be formatted in drive x. Press RETURN to begin, anything else to abort. Entering a c a r r iage return h er e w i l l b e gi n t h e f o r m a ttin g o p eration, w hile entering any o t her k eyboard character w il l c a use all F O R M A T activities to end as CP/M displays the system prompt. When the operation is finished, FORMAT w il l d i s p lay the message: Do you have any more disks to format? (y/n): Heath/Zenith CP/M supports two v arieties of 8-inch d i sk: single-sided and double-sided. Each variety has different storage capacities, depending on the density and number of sides you select during formatting. The foll o w in g t a bl e sh ow s th e f i l e c a p acities of s i n g le-sided 8 - i n ch disks: Single densit y Dou bl e d e n s it y Ex ten d e d d o u ble density 241 kilobytes 482 kilobytes 596 kilobytes The follow in g t a ble shows th e f i l e disks: c a pacities of d o u b l e-sided 8-inch Single densit y Dou bl e d e n s it y Ext en d e d d o u ble density 490 kilobytes 980 kilobytes 1208 kilobytes N OTE: The 8- inch f l o pp y d i s k d r i v e s lo t o f t h e H / Z -6 7 d r iv e m o d el cannot be used to FORMAT a disk to extended double density. Furthermore, an 8-inch disk that is formatted to extended double density cannot be used in the H/Z-67 model. Page 2-195 FOR M A T T IN G A WIN C H E S TER DISK PARTITION A fter you specify th e d r iv e n ame assigned to th e p artit i on, FORM A T displays the prompt: Press RETURN to begin, anything else to abort. Entering a c a r riage return h er e w i l l b e gi n t h e f o r m atting o p eration, w hile entering any o t her keyboard character w il l c a use all F O RM A T activities to end as CP/M displays the system prompt. When the f o rmatting operation begins, the f o l l o w in g m essage is di s- played: Formatting partition When the operation is finished, FORMAT w il l d i s p lay the message: Do you have any more disks to format? (y/n): 1.4 Ending a FORMAT Operation W hen FORMA T f i n i s hes preparing the surface of a d isk o r p a r t i t i o n , it will display the follow ing prompt : Do you have more disks to format? (y/n): The specified disk or partition is now ready for data storage. If you w is h t o F O RMA T a n o ther disk or p a r t i t ion i m m e d i ately, press Y at this prompt. I f you h ave n o o t her d i sks to F O R M A T , p r ess N at t h i s p r o mp t a n d FORMAT w il l d i splay the follow ing message: Place a bootable disk in drive x and press any character: Where "x" is the letter for the default drive. If the disk that was used to perform bootstrap has been removed from drive A s i nce bootstrap, then it s h o ul d b e i n serted back i nt o d r iv e A now. The en try o f an y k e y board ch aracter w i l l t r a n sfer control b ack to the operating system, which wil l d i splay a system prompt. Page 2-196 2 SYSTEM PROMPT METHO D The System Prompt Method enables you to incl ude all of the specificat ions necessary for the FORMA T o p eration i n a s i n gle comm and l i n e entered at the CP/M system prompt. 2.1 C o m m a n d Line Entry F ORMAT c o m m ands that are entered by th e Sy stem Prompt M e t h o d should be entered in the follow ing form: A>FORMAT (drive):([option,option]) RETURN Where FORMAT is the command line function where (drive) i s the letter of the dri ve that contains the disk you w i s h to format (this letter must represent a valid dr ive in y our hardware environment, such as A, B, C, D, E, or F); and where ([option,option]j represents letters and/or num b e rs enclosed in square brackets [] and separated by commas, to specify how the formatting operation should be conducted. 2.2 FORMAT Options FORMAT c o m m and l i n es entered by th e System Prompt M e t ho d can include the follow ing options: SD Di sk f o r m a t ted to Single Density. DD Di sk f o r m a t ted to Double Density. 1S One Si d e of disk formatted. 2S Tw o Si d e s of disk formatted. F Fast f orm a t t i n g, b e cause the r o u t i ne t e st of d i s k s u r f a ce media is not performed. Page 2-197 N N o p rom p t d i s p l a yed between FORMA T c o m m an d e n t r y and FORMAT execution. T1 Ty p e o f d i s k to be formatted must be a 5.25-inch hard-sectored disk. T3 Ty pe o f d i s k t o be f or matted must be a 5.25-inch soft-sectored disk. T4 T y p e o f d i s k to be formatted must be an 8-inch disk, with i n a Z47 or H47 drive model. TH6 T y p e o f " d i s k " t o b e f o r m a tted must be a partition on t h e Winchester Disk w i t hi n a Z 6 7 d r iv e m o d el. Thi s partiti on must have been assigned a drive name by the ASSIGN util ity. TF6 T y pe o f d i sk to be formatted must be an 8-inch disk, with i n the floppy disk slot of a Z67 drive model. N OTE: It i s n o t n e c essary to e n ter a n o p t i o n f o r d i s k t y p e ( T 1 , T 3 , T4, TH6, TF6) i n a S y stem Prompt M e t ho d F O R MA T c o m m a nd , bec ause FORMAT a u t omatically ch ecks the typ e of th e d isk w i t h i n t h e specified drive. However, disk t yp e should be specified w he n yo u d e sire to f o rmat a disk only if it i s o f a p a r t i c u l ar t y p e . If a d i s k t y p e is s p e cified a s a n option, and th e d r i v e specified for t h i s o p eration c o ntains a d i s k of a different type, then the following error message is displayed: DISK IS NOT OF TYPE SPECIFIED Page 2-198 2.3 FORMAT Defaults When you enter a FORMAT c o m m and l in e w i t h a d r iv e specification, a nd neglect to specify some or al l o f t h e p o ssible opti ons, FORMA T will prepare the disk according to the follow ing default criteria: Disk formatted to Single Density (as if you specified the SD option); One side of disk formatted (as if you specified the 1S option); Disk surface w il l b e t e sted for d ata r etention (as i f y o u d i d n o t specify the F option); and Prompts will be displayed between FORMAT co m m and entry and FORMAT execution (as if you did not specify the N option) U nless the N option is entered in the command li ne, the follow i n g prompt will be displayed after you enter the FORMAT command : F ormat Version 2 . 0 4 This program is used to initialize a disk. All information currently on the disk will be destroyed. I s that what you want? (y/ n ) : To confirm y o u r i n t e n t ion t o r u n a F O R M A T o p e r ation, enter a Y a t t h i s p r o m p t. F O R M AT w i l l d i s p l a y a p r o m p t i n t h e f o r m of the example below. To abort the FORMA T u t i l i t y a t t h i s p o i nt , enter any o t her k eyb oard character. The operating system w i l l t ak e control an d d i s play a system prompt. Put the disk you wish to be formatted in drive x. Press RETURN to begin, anything else to abort. To begin execution o f return at this prompt. t h e F O R M A T o p e r ation, enter a c a r riage To abort the FORMAT u t i l i t y , enter any other keyboard character. T he op erating s y stem w i l l t a k e c o n t ro l a n d d i s p l a y a s y s t em prompt. Page 2-199 2.4 System Prompt Method Examples A>FORMAT B: RETURN FORMAT w il l p r epare the surface of the disk in drive B. By default, t his disk w i l l b e f o r m a tted t o s i n gl e d e n sity o n o n l y o n e s i d e . Also by default, FORMAT w i l l d i s p lay prom pts before formatting, and test the disk surface while formatting. A>FORMAT B:[DD,2S, T4] RETURN FORMAT w i l l p r e pare the surface of the disk in d r ive B to double d ensity and on both sides, as specified by opti ons. FORMAT w i l l d isplay prompts before formatting and test the disk surface whi l e f ormatting, by d efault. H o w ever, i f d r i v e B i s n o t a Z 4 7 o r H 4 7 drive containing an 8-inch disk, an error message will be displayed and no formatting operation will occur. A>FORMAT B:[SD,1S,DD,2S] RETURN I f your c o m m and l i n e c o n tains contradictory o p t i o ns, FORMA T w ill acknow l edge the last one. Hence, in this case, FORMAT w i l l prepare the surface of th e d i s k i n d r i v e B t o d o u bl e d ensity, as specified by th e l ast d ensity o p t io n ( D D), and o n b ot h s i d es, as s pecified by the last side quantity op t ion (2S). FORMAT w i l l d i s play prompts before formatting and test disk surface while formatting, by default. A>C:format B:[Dd,f,N] RETURN The FORMAT u t i l i ty , in t hi s case, is stored on the disk in non -def ault d r iv e C . I t w i l l p r e p are th e su rface of th e d i s k i n d r i v e B to double density, as specified by th e " D d " o p t i on . Bu t s i nce no o ption i s s p ecified fo r t h e n u m b e r o f s i d es, onl y o n e s i d e w i l l be formatted (by default). The "f" op t ion specifies that this formatting operation w i l l b e p e r formed w i t h ou t a d i s k m e di a test. The "N" option specifies that FORMAT w i l l not pr ompt you to confirm your intentions before the formatting operation begins. NOTE: FORMAT command lines can be edited (by pressing the DELETE key) or erased entirely (by h o l d in g d ow n t h e CT RL key a nd p r e ssing the X key). Page 2-200 3 F ORMAT ERROR MESSAGES Drive not available in current configuration. E XPLANAT I ON : I f y o u e n t ered a d r i v e n am e t ha t d oes no t e x ist i n the hardware environment, then a d i f f erent dr iv e name should be entered. If yo u e n t ered a d r iv e n ame for w h i c h y o u r c op y o f t h e CP/M Operating System has not ye t b een cu stomized, then M A K E B IO S or C ONFIGUR must be run b efore FORMA T w i l l a c c ept th e d r iv e n am e entry. If you are using a Z67 dr ive m o del and entered the dr ive name f or a partition that has not yet been established by the ASSIGN uti l i t y , t hen ASSIGN must be run before FORMAT . Unable to format this disk. It is write protected. Do you have any more disks to format? (y/n): EXPLANA T I ON : If the disk is a 5.25-inch disk you should r em ove the adhesive tab from the notch on th e disk cover. If the disk is an 8-inch disk the you should c over the n otch on th e d isk c over using the tabs p rovided, and push d ow n th e w r i t e p r otect switch on th e fr ont of t h e H/Z47 or H/Z67 cabinet. Unable to format this disk. Place a different disk in the drive a nd press any key to begin. . . EXPLANAT I ON : Th e d i sk t o b e f o r m atted is d a maged or i m p r o p erly inserted in th e d r i ve. You sh ould tr y th e o p eration again and r eplace the disk if the message appears again. Media error EXPLANA T I ON : Th e d isk t o b e f o r m atted is d a maged or i m p r o p erly inserted in th e d r i ve. You should tr y th e op eration again and r eplace the disk if the message appears again. Wrong type of media, or media inserted improperly, or media damaged. EXPLANAT I ON : You may have tried to FORMA T a hard-sectored disk in a soft-sectored drive, or vice versa. You should check that the proper type of disk i s being used. If the pr oper disk t yp e is being used, then the disk is pr obably damaged and a d i f f erent disk should be used for the operation. ILLEGAL FORMAT OPTION EXPLANA T I ON : System Prompt M e t ho d c o m m an d l i n e w a s entered with undefined characters in place of options. Page 2-201 ILLEGAL COMMAND SYNTAX EXPLANAT I ON : System Prompt M e t ho d c o m m an d l i n e w a s e ntered with undefined characters in place of options. DISK IS NOT OF TYPE SPECIFIED EXPLANA T I ON : A S y s tem P r o mp t M e t h o d c o m m an d l i n e s p ecified a drive that contained a disk w h i c h d i d n o t m a tch th e specified di sk type. OPTION NOT AVAILABLE E XPLANA T I ON : A S y s tem P r o mp t M e t h o d c o m m an d l i n e i n c l u d e d option characters wh ich w e r e no t p o s sible u n der th e c i r c u m stances. Re-enter command with pertinent options. Disk is not partitioned. The complete disk surface will be formatted. I s t hat what yo u want? ( y / n ) : EXPLANAT I ON : Th e W i n c h ester Disk h a s no t y e t b een p a r t i t i on ed. Therefore, any FORMA T o p eration w i l l e r ase and prepare the surface of the entire W i n chester Disk. To conti nu e FORMA T o p eration, press Y. If you w i sh t o p artit ion the W i n c h ester Disk before formatting, run the PART utility as instructed in the PART manual. PARTITION IS SMALLER THAN MINIMUM ALLOWABLE SIZE EXPLA N A T I O N : W i n c h e ster Disk p a r t i t i on s m u s t c o n t ai n a m i n i m u m n umber of s ectors before they can b e p r e p ared by F O R M A T . E i t h er ASSIGN a p arti t ion c o ntaining t hi s m i n i m u m q u a n t it y o f s e ctors, or use the PART utility to repartition the Winchester Disk with few enough p artitions so t hat at l e ast one i s o f m i n i m u m s i z e . Refer to th e Z 6 7 m anual and th e P ART m a n ual t o d e t ermine th e m i n i m u m a l l o w a b l e size for a partition. PARTITION IS LARGER THAN CP/M MAXIMUM SIZE -- ONLY 8 MEGABYTES USABLE E XPLANA T I ON : W i n c hester Disk p a r t i t i ons shoul d c o n t ain n o m o r e than eight megabytes of storage capacity if used with the CP/M Operating System. If a partition contains more, it cannot be formatted. Either ASSIGN a partition of suitable size for formatting purposes, or repartit ion the W i n c h ester Disk w i t h t h e P AR T u t i l i t y an d f o r m a p a r t i t i on within the eight megabyte lim it . Then format the properly sized partition. Page 2-202 Page 2-203 LIST The Utili ty that Prints File Contents on Paper The LIST util it y enables you to obtain paper copies of files by entering a command (1) for one or more files (2) to be printed. Special printout c haracteristics can be set w h e n y o u e n t ers th e c o m m and w i t h L I S T p arameters (3). You can stop a L IST p r i n t ou t i n p r o gress (4). LIST i s used to print out only certain types of files (5). 1 MET H ODS OF ENTERING LIST COMMANDS Two different methods can be used to enter LIST commands: the LIST Prompt Entry Method and the System Prompt Entry Method. Page 2-204 1.1 LIST Prompt Entry Method With th e L IST P r o mp t E n tr y M e t h od , yo u e n ter L IST i n r e s p onse to t he system prompt. This entry is sufficient to i n v oke LIST, w h ich d i splays its own prompt — the asterisk (+). You can now enter the argument p ortion of th e co m m and l i n e i n r e sponse to the "+ " p r o m p t s u p p l i e d by LIST. LIST prompt entries are made in the follow ing form : A>LIST RETURN O(argument} RETURN Where (argument} is the name of the file(s) to be listed. A fter th e L I S T o p e r ation i s f i n i s h ed , L I S T a g ai n d i s p l ay s t h e " + " prompt. Yo u c a n e n ter a n other argument o r r e t ur n t o t h e o p e rating system by entering a carriage return. 1.2 System Prompt Entry Method T o invoke a similar operation w i t h ou t sp l i t t ing up th e comm and l i n e , y ou must in cl ude the argument in th e response to the system prom p t , as in the following example: A>LIST (argument} RETURN Where (argument} is the name of the file(s) to be listed. After LIST finishes the latter printing operation, it automatically returns you to the operating system, and the system prompt is displayed. Page 2-205 EXAMPLE OF LIST USAGE The following command, entered using the LIST Prompt Method: A>LIST RETURN WREPORT.DOC RETURN and this command, entered using the System Prompt Method: A>LIST REPORT.DOC RETURN will p r o d uce the same results. Both co m m ands w i l l p r o d uce a paper copy of the file named "REPORT.DOC". 2 PRINTING CONTENTS OF MORE THAN ONE FILE A ny nu m ber of f i l e s can be specified i n a s i n gle LIST c o m m and. T o initiate a li sting of several fi l es, the names of the f i les are entered in the argument separated by single spaces. If the f i les to b e l i s ted reside on d i f f erent d i sks, their n a mes should be preceded by a drive specification (drive letter and colon). Both of the foll o w in g examples demonstrate how to LIST the contents of the specified files: A>LIST RETURN W PRINTO U T .DOC B:PROG R A M . PRN B:REPORT.DOC C:SYSTEM K .PRN RET U R N or A >LIST PRINTOUT .DOC B:PROG R A M . PRN B:REPORT.DOC C:SYSTEM X .PRN RET U R N Page 2-206 3 L IST PARAMETERS You can specify parameters in a LIST argument to alter the characteristics of a standard printout. These parameters allow you to select printout characteristics such as the date, the number of copies desired, the w idth o f t a bs, etc. If n o p a r ameters are specified, L IST w i l l p r i n t a document with default value characteristics. The parameters used to specify printout characteristics are as follows: PARAM ETER K E Y BOAR D D ESC R IPTION OF DEFAULT NAME ENTRY PRINTOUT CH A R A C T E R ISTIC V A LU E Date [D xxx...x] First 10characters of specified date printed on upper left corner of each document page. none Heading [H xxx...x] First 60 characters of file name specified heading printed on top line of each document page. No Heading Lines [L nn] per Page No heading or date printed on any document page. file name Each document page has 60 lines the specified number of lines. Specification of per page zero/page lines causes continuous printing. Tab Stop Width [T nn] E ach tab stop withi n text is expanded or contracted to specified number of spaces. 8 spaces Page 2-207 PARA M E T E R NAME K EY BO A R D ENTRY DE SCR I P T ION OF PRINTOUT CHARACTERISTI C DEFAULT VA L UE Page [P nn] Page numbering sequence begins with specified number on first file page. page 1 All letters in document printed in upper case. upper and Specified number of 1 copy Number Upper Case Copies [C nn] Desired Erase lower case copies are printed. [E] File is erased from disk after LIST operation is completed. file retained on disk U SE OF LIST COMM A N D LINE PAR A M E T E R S P arameters are entered, enclosed in square brackets, after the last fi l e name in th e L I S T c o m m and. If m o r e t han on e p arameter is entered, each should be enclosed in a set of brackets. A LIST c o m m an d e n t ered w i t h p a r a m eters u sin g th e L I S T P r o m p t Method might appear as follows: A)LIST RETUR1V OPRINTOUT.DOC PROGRAM.PRN [H Today's Work] [D 31-Feb-81] [P 09] RETURN This command w i l l c a use th e c o ntents of t h e f i l e s PRINTOUT .DOC and PROGRAM.PRN to be pr i n t ed, w it h th e f o l l o w i n g heading across the top of the first page of each file: Today's Work 3 1-Feb-81 P ag e 9 The parameters will take effect on all of the files specified in that command line. Page 2-208 W hen the command i s entered using the LIST Prompt En try M e t h o d , any parameters entered (except for the starting Page Number parameter and Erase parameter) wil l r e m ain i n e f f ect w i t h an y f i l e s specified at s uccessive asterisk (* ) p r o m p ts, un ti l n e w v a l u es are entered for t h e parameters, or until control is returned to the operating system. W hen a L I S T c o m m an d l i n e i s e n t e red u s i n g t h e S y s tem P r o m p t Method, letters in the heading, date, and page number line might be automatically translated into upper case. The follow ing System Prompt command demonstrates this character translation: A>LIST PRINTOUT.DOC PROGRAM.PRN [H Today's Work] [D 31-Feb-81] [P 09] RETURN This command w i l l c a u se th e c o n tents of t h e f i l e s PRINT O U T .DOC and PROGRAM.PRN to be p r i n ted w i t h t h e f o l l o w i n g h eading across the top of the first page of each file: TODAY'S WORK 3 1-FEB-81 P AGE 9 4 A BORTING A LIST OPERATION After a LIST command has been entered, the pr i n t out can be aborted by pressing any keyboard character. When you abort a comm and t h at was entered by the LIST Prompt M e t h od, the next pr i n t out m i ght also be automatically aborted soon after it begins. Therefore, it is advisable to exit from, and reinvoke, the LIST utility after aborting a printout. Page 2-209 5 F I LES THAT SHOULD BE LISTED Only files containing ASCII characters should be listed. ASCII character files include files composed using a text editor (such as ED), or file with the "PRN" extension created by an assembler (such as ASM). F iles such as those bearing the extension "COM" or "H EX" w i l l p r o d u ce m eaningless pri n t outs i f L I S Te d b e cause they ar e n o t c o m p o sed of ASCII characters. Files composed in a w ord p r ocessor wil l L I ST, but they mi ght possess f eatures (such as bold f ace characters or p age breaks) that L IST w i l l not print in the same way as the word processor's printout command. 6 L IST ERROR MESSAGES File not found EXPLANAT I ON : A f i l e specified in th e LIST command argument does n ot exist on t h e d i s k i n t h e l o g ged d r i ve. If t h e f i l e d oes exist on a disk, that disk should be inserted in a d r iv e and the appropriate drive should be specified before the file name in the argument. Syntax error in command line EXPLANAT I ON : Th e L IS T c o m m an d w a s i m p r o p erly e n t ered. Often o ccurs if a space is not entered between file names, or when an invali d parameter is specified. Page 2-210 Page 2-21 1 LOAD The Utility that Loads a "HEX" File for Execution The LOAD ut i l it y p uts an assembled hexadecimal file in the Transient P rogram Area (1), and tr anslates the fil e i nt o a " C OM " f i l e , w h i c h i s e xecutable under th e CP/M o p erating system (2). Onl y c e rtain t y p e s of files can be loaded (3). 1 L OAD INVOCATION To LOAD a h ex adecimal f il e i n t o th e T r an sient Program A rea (TPA), you should respond to the system prompt with an entry in the form: A>LOAD (hex file) RETURN Where {hex file) i s the prima ry f i le n a me of an Int el hexadecimal fil e . T he file extension i s o m i t ted f ro m t h i s e n tr y b e cause LOA D a l w a y s assumed the extension to be "HEX" . This command t r anslates the hex f i l e i n t o m a c h in e code that can be executed under CP/M, gives it a " C OM " e x t ension, and w r i tes it back to the disk. Page 2-212 2 EXECUTING A LOADED PROGRAM Y ou can start execution of the pr ogram by entering the pr i m ary n am e o f the fil e (and a c a rriage return) i n r e s ponse to th e sy stem p r o m p t . T hus the file is executed as if it were a regular CP/M utili t y . I t is only n e cessary to L OA D a h e x f i l e o n ce. The " C OM " v e r sion of the file wil l be stored on the disk from w h ic h the "H EX " v ersion came. T hereafter, CP/M treats it like another "COM" f i l e . T he operation can t ake pl ace on a n o n - d efault d r iv e i f t h e f i l e n a m e is prefixed by a drive name. Thus the entry of the follow ing command: A) LOAD B:BETA RETURN brings the LOAD program into the TPA from the default disk and th en o perates on the f i l e " B E T A .H EX" , w h i c h r e sides in d r i v e B . Th e f i l e n amed " B E T A . COM " i s w r i t t e n t o t h e d i s k i n d ri v e B . ( T h e f i l e " BETA.HEX" w i l l a l s o r e m ai n o n t h e d i s k . ) N o w y o u c a n e x e c u t e BETA.COM be responding to the system prompt as shown: A)BETA RETURN Thus, you can "i n v ent" new CP/M comm ands by using LOAD to transl ate a "HEX" file into a CP/M-executable "COM" f i l e . 3 LOAD REQUIREMENTS FOR HEX FILES To be loaded, a f il e m u st c o n tain v a li d I n t e l h e x adecimal f o r mat r ec ords. The ASM u t i l i t y can be used to pr o d uce such a f il e from a f i l e with the " A SM " e x t ension. The hex f i l e m ust begin at ad dress 100H, w hich i s th e m e m or y l o c ation at w h i c h t h e T r a n sient Program A r e a ( TPA) begins. In a d d i t i on , th e a d d resses in th e he x r e cords m ust b e in ascending order. Gaps in m e m ory regions are fil led w i t h z e roes by t he LOAD c o m m and, as the hex r ecords are read. Thus, L OA D m u s t b e used only fo r c r eating CP/M co m m and f i l es, w h ic h o p erate in t h e TPA. Program files that occupy memory locations other than the beginn ing of the TPA ( address 100H) can be loaded using the DDT u t i l i t y . A fter a program is loaded, LOAD d i s p l ays a message in the foll o w i n g form: FIRST ADDRESS nnnn LAST ADDRESS nnnn BYTES READ nnnn RECORDS WRITTEN nn Page 2-213 4 L OAD ERROR MESSAGES INVALID HEX DIGIT E XPLANAT I ON : T h e h e x adecimal f i l e y o u t r i e d t o L O A D c o n t a i n s upper bits set in ASCII words. ERROR ADDRESS nnnn E XPLANAT I ON: An error occurred at address "nnnn" . CHECK SUM ERROR EXPLANAT I ON : T h e h e x adecimal f i l e d i d n o t p r o d u c e t h e c o r r ect check sum during LOAD execution. ERROR: CANNOT OPEN SOURCE, LOAD ADDRESS nnnn E XPLANAT I ON : Th e h exadecimal source fil e specified i n t h e L O A D command line is not present on the specified disk. NO MORE DIRECTORY SPACE EXPLANAT I ON: The directory on the disk is full. CANNOT CLOSE FILES E XPLANA T I ON : Th e l o aded f il e i s n o t p r e sent w h e n L O A D t r i e s t o c lose the "COM" fi l e . INVERTED LOAD ADDRESS, LOAD ADDRESS nnnn EXPLANAT I ON: The loaded hexadecimal file did not start at beginning of the TPA (0100H) as it should have. Page 2-214 Page 2-215 MAKEBIOS The Utility t h a t C ustomizes the Operating System for Disk Drives T he MA K E BIOS ut i l it y h e lp s yo u t o c r e ate the p art o f C P/M k n o w n a s the B a si c I n p u t / Outpu t S y s tem ( B I O S). T h e k i n d o f B I O S t h a t MAKEBIOS creates is selected by you to accommodate any combination o f disk drives offered by Heath/Zenith. You can im p l ement this ut i l i t y b y ru n n in g M A K E B IO S (1 ) an d s e l e cting a d r i v e c o m b i n ation ( 2 ) . MAKEBIOS execution is automatic (3). NOTE: The BIOS is a comp onent of th e CP/M O p erating System that makes the system work on Heath/Zenith hardware. The file "BIOS.SYS" (which is included with your CP/M software) contains the BIOS. Page 2-21 6 1 R U NNING MAKEBIOS A fter making a b ackup c op y o f t h e C P/M D i s t ri bu t ion D i sk , yo u c a n run MAKEBIOS by entering a command line in the form: A>SUBMIT MAKEBIOS (destination drive):(file name) (source drive) RETURN Where (destination drive) is the name of t he d r i v e /partition d e v i ce to which you wish to send the customized BIOS; where {file name) is the optio nal na me of t he c ustomized BIOS. If no n ame is entered, the file containing the tailored BIOS w il l b e called "BIOS.SYS". Any file on the destination disk previously named "BIOS.SYS" will be overwritten.; where (source drive) i s the optio nal na me of t he d r i v e /partition u p o n whic h t h e f oll o w i n g f il es r esi d e : M A K EB I O S .COM , MAKEBIOS.SUB, PREL.COM, BIOS.ASM; and where the follow in g f i les must reside on the default dr i ve: A SM .COM and SUBMIT.COM. An example of such a command line would be as follows: A>SUBMIT B:MAK EB IOS C: B:RETURN NOTE: Neither the default disk nor the disk containing the MA K E BIOS files can be write protected during a MAKEBIOS run. Page 2-217 2 SELECTING THE APPROPRIATE DRIVE COMBINATION T he entry of th e p r eceding example comm and l i n e w i l l f i r s t p r o d u c e the display of a menu listing assortments of Heath/Zenith drive controllers: A>MAKEBIOS A: 1 C: BIOS SELECTION MENU A-B-- c-D-E F-- G-H-I J H17 ONLY H37 ONLY H47 ONLY H67 ONLY H17 AND H37 H17 AND H47 H17 AND H67 H37 AND H47 H37 AND H67 H47 AND H67 ENTER SELECTION: Y ou should enter the selection l etter corresponding to th e d isk d r i v e combination being used. NOTE: The above selections refer to d isk d r iv e controllers. Most di sk drive models bear the same number as that of the controller that controls them, except that the "H-17" controller can control the H-77 drive unit, the H/Z-87 drive unit, or the H/Z-17 drive within the H/Z-89 microcomputer model. Page 2-218 3 M A K EBIOS EXECUTION From this point on, MA K EBIOS execution is automatic. No further user participation is required. After you enter a letter at the " E N TER SELECTION:" p r o m pt , a series of command l i nes and execution m essages will a p pear on th e screen. The following example shows the form of this display. (Numeric values will vary.) A>ASM BIOS. AAZ CP/M ASSEMBLER — VER 2. 0 1537 02DH USE FACTOR END OF ASSEMBLY A>REN A: BIOS. HXO= BIOS. HEX A>MAKEBIOS A: 2 A>ASM BIOS. AAZ CP/M ASSEMBLER — VER 2. 0 1637 02DH USE FACTOR END OF ASSEMBLY A>REN A: BIOS. HX1 = BIOS. HEX A>PREL A: BIOS C:BIOS A>REN C: BIOS. SYS=BIOS. HX1 A>MAKEBIOS C: 3 MAKEBIOS FUNCTION COMPLETE When the display is complete, the destination drive wil l contain a BIOS s uitable for your d isk d r iv e combination. Thi s BIOS w il l b ear the fi l e name "BIOS.SYS", or whatever name you might have specified. T his new f i l e w i l l n o w h e l p c o n t rol i n p u t / output o p erations for y o u r hardware. It may also be transferred to other disks or partiti ons, using the PIP utility w ith the "[R]" parameter. Page 2-219 4 M A KEBIOS FUNCTION The CP/M O p e r ating Sy stem r e qu i res a B a si c I n p u t / Outpu t S y stem (BIOS) to control i n p u t / output o p erations for an y p e r i p h eral d evices that are connected to the Heath/Zenith computer. Among these devices may be the disk drives, a keyboard, a video monitor and a printer. Y our CP/M Distribution Disk (or disk set) comes with a BIOS that w i l l adequately control one of your disk drive types. However, Heath/Zenith offers four d i f f erent k i nd s of d i s k d r i v e , and each h ar dw are envir onment can include any combination of one or tw o d i f f erent drive types. B ecause a BIOS capable of c o n t r o l l in g al l c o m b i n ations w o u l d t a k e up too much memory space, the MAKEBIOS files are provided to enable to create a BIOS that will control your own disk drive combination. T herefore, users w i t h MAKEBIOS. t w o d i f f e r ent k i n d s o f d i s k d r i v e s h o ul d r u n 5 A PERSPECTIVE ON MAKEBIOS INVOCATION You do no t i n v ok e the M A K E B IOS.COM u t i l i t y d i r e ctly. You en ter a SUBMIT command, wh ich tr iggers the automatic entry of several comm and l i n es. Th e c o m m an d l i n e s t h a t i n v o k e M A K E B I OS.COM a n d other CP/M commands are stored in the file named "M A K E BIOS.SUB". T he u t i l i t i e s a nd resi d e n t commands s p e c i f ie d w i t h i n th e MAKEBIOS.SUB file automatically m o d i fy , assemble, and relocate the source file BIOS.ASM. After these activities are performed, the assemb led BIOS fil e i s w r i t ten t o th e sp ecified f il e n am e (or d efault n a m e BIOS.SYS) on the specified drive. Page 2-220 6 F U RTHER BIOS MODIFICATIONS Y ou can p e r f orm f u r t her m o d i f i c ations t o t h e B I O S b e f ore r u n n i n g MAKEBIOS by carefully altering the source file BIOS.ASM, which is included with your CP/M distribution media. However, BIOS.ASM should not be altered until after the the distribution disk has been copied, and the MA K E BIOS.SUB file has been SUBMITted. As noted within the BIOS.ASM program, no alterations should be made to the f i rst f i v e l i n e s o f t h e p r o gram u n d e r an y c i r c u m stances. The f irst five l i nes of th e p r ogram affect subsequent locations in t h e p r o gram, and user alterations to them coul d easily r ender the entire pr ogram useless. 7 M A KEBIOS ERROR MESSAGE ERROR IN EXECUTION OF MAKEBIOS E XPLANAT I ON : C h eck t h e p a r ameters i n t h e S U B M I T M A K E B I O S command li ne, check the arrangement of the necessary disk fi l es, and run MAKEBIOS again. Page 2-221 MOVCPMxx (MOVCPM17, MOVCPM37, MOVCPM47, and MOVCPM67) The Utili ties that Customize a CP/M Operating System Kernel to Fi t Memory Size and Disk Type A fter selecting the proper M O V CPM u t i l i t y t o use (1), you can i m p l e ment it t o a d j ust th e system kernel so that i t h a s th e p r oper m em ory limit and w il l w o r k on di sks of a particular type (3). This util ity shoul d be followed immediately with another util ity or command (5). Page 2-222 1 SELECTING THE PROPER MOVCPM UTILITY MOVCPM17 i s ru n w h e n you w i sh to m ove a system kernel to a 5.25inch, hard-sectored disk. MOVCPM37 i s ru n w h e n you w i sh to m ove a system kernel to a 5.25inch, soft-sectored disk. M OVCPM47 i s r u n w h e n y o u w i s h t o m o v e a s y stem k e rnel t o a n 8-inch disk that w il l b e u sed to perform bootstrap in an H/Z47 drive model. M OVCPM67 i s r u n w h e n t h e y o u w i s h t o m o v e a s y stem k ernel t o a Winchester Disk p a r t i t i on , o r t o a n 8 - i n c h d i s k t h a t w ill b e u s e d t o p e r f or m b o o t strap i n a n H / Z 6 7 d r i v e model. In this text section, M OVCPMxx w i l l b e u sed to i n d i c ate any of th ese f our uti l i t ies designed for use w it h CP/M V er sion 2.2.04., where "x x " is the model number of the drive unit receiving the system kernel. 2 FUNCTION OF MOVCPM xx MOVCPMxx l o ads th e k e rnel o f a C P/ M O p e r ating System (the p art e xclusive of t h e f i l e B I O S.SYS) int o a s p e cial l o c ation i n c o m p u t er m emory. A t t h i s l o c a t i on , i t a d j u st s t h e s y stem k e r nel t o e i t h e r a specified memory size or th e total available memory size of th e computer. MOVCPMxx m ust also observe and measure the BIOS.SYS file that wil l e v entually be used w it h th e system kernel, in o r der to all ow s ufficient space for the BIOS.SYS file. In a d d i t i on , M O V C PMxx m u s t m ake adjustments for the type of disk to w h i c h th e system kernel w i l l e ventually b e t r ansferred. M O V CPM xx , h o w e v er, w i l l r e l y u p o n t h e SYSGEN utility to copy the system kernel that MOVCPMxx loaded into memory. Page 2-223 3 M O V C P M xx COMM A N D LINE ENTRY T he MOVCPMxx comm and l in e is entered in the foll o w in g form, w i t h one mandatory specification, tw o o p t i o nal specifications and a space separating each, as shown: MOVCPMxx nn z RETURN Where xx i s t he n u m b er t hat i d e n t i f i es a particular M O V C PM u t i l i t y b eing used. It also stands for th e t yp e of d i s k d r i v e t hat w i l l be the destination of the system kernel (17, 37, 47, or 67). One of these numbers is a mandatory component of any M O V CPM command; where the nn va riable represents the memory size the transferred system kernel w il l o c cupy, in m u l t i p l es of 1024 bytes (kilobytes). T his is an o p t i onal v a l ue. If th e " + " c h a r acter or n o v a lu e i s entered, the system kernel will be set to occupy the entire memory capacity of t h e c o m p u ter b eing u sed, by d e f ault . (H /Z89 c omputers have RA M c a p acities of 3 2K , 4 8K , o r 6 4 K . ) T h i s value can be less than or equal to the actual memory capacity of the computer. It should not be greater than the memory capacity of the computer. w here the z v ariable represents the location of th e B IOS that is to b e matched up w i t h th e system kernel being moved. You should enter the name of the drive that contains the appropriate BIOS. I f the yo u h a s r e n amed th e B I O S t o b e u s e d (b y u s i n g t h e M AKEBIOS or REN c o m m a n ds), then t h i s v a r i able m ust i n clude the name of the drive containing this BIOS and the name o f the f il e c o n taining th e B I OS. T hi s v a r i able i s o p t i o n al. I f omitted, the MOVCPM ut i l it y w i l l assume that the created system kernel w il l b e m atched w it h a c opy of th e BIOS that was loaded into memory during bootstrap. Page 2-224 T he "+" c h aracter must be entered when you specify no v a lue for t h e memory (" n n " ) v a r i able, and do sp e cify a v a l ue f or t he B I OS s ource ("z"). In t hi s sort of c o m m and l i n e , th e " + " c h a racter acts as a space filler so that the computer does not interpret the source value entered as a memory value because it was entered in the memory value space. During execution, the MOVCPMxx u t i l i t y w i l l in the follow ing form: r e spond w it h a message MOVCPMxx VERSION 2.v CONSTRUCTING nnk CP/M vers 2.v READY FOR 4SYSGEN" OR "SAVE 38 CPMnn.COM" 4 M O VCPMxx EXAMPLES The follow ing command li nes and accompanying explanations are specific examples: A>MOVCPM67 64 RETURN The system kernel created by this command w il l be bootable from a n H/Z67 drive. It w il l o p erate with 64K of R AM . Th e kernel w i l l be adjusted using the BIOS in computer memory for reference. A>MOVCPM378 C: RETURN The system kernel created by this command w i l l be bootable from an H/Z37 d r i ve. It w i l l p r o b e c o m p u ter m e m or y an d o p e rate at computer's memory capacity. T hi s k ernel w i l l b e a d j u sted using the BIOS.SYS file stored in drive C: for reference. A>MOVCPM1732 B:MYBIOS.SYS RETURN T his command w i l l a d j u s t a s y stem k e rnel t ha t w i l l e v e n t u all y help to make a 5.25-inch hard-sectored disk bootable. It wil l o p erate with 32 K o f R A M . T h i s k e r nel w i l l b e a d j u sted by r e ferring to the BIOS file "MY BIOS.SYS", which resides in drive B:. Page 2-225 5 A F TER RUNNING MOVCPMxx. . . M OVCPMxx should be i m m e d i ately f o l l o wed by w hich w i l l t r a n sfer th e a d justed CP/M s y stem t o the system tracks of a specified blank d i sk; or w hich w i l l t r a n sfer th e a d justed CP/M s y stem to a disk file. th e SYSGEN ut i l i t y , k e rnel f r o m t h e T P A by th e SAVE u t i l i t y , k e rnel f r o m t h e T P A I f y o u p er f o r m a ny ot h e r ac t i v i t y i mm e d i a t el y a f t e r ru n n i n g MOVCPMxx, the work of MOVCPMxx w il l p r obably be destroyed. N OTE: The BSYSGEN util i ty , although sim i lar to th e SYSGEN uti l i t y , c annot be used to t r ansfer a system k ernel m o ved b y a M O V C P M x x command. 6 M O VCPMxx ERROR MESSAGES INVALID MEMORY SIZE EXPLANAT I ON: Valid memory sizes are between 32K and 64K. SYNCHRONIZATION ERROR E XPLANA T I ON : T h e s erial n u m ber o f t h e M O V C P Mx x u t i l i t y u s e d must match that of the operating system used. READ ERROR EXPLANAT I ON: MOVCPMxx cannot read data from a file you specified because the file is flawed. NO FILE EXPLANA T I ON: MOVCPMxx cannot read data from a file you specified because it cannot find the file on the specified drive. NO SPACE EXPLANA T I ON : The BIOS file you specified w il l ient Program Area. n o t fi t i n th e T r ans- E XPLANA T I ON : A f i l e s p ecified b y y o u d i d n o t l o a d p r o p erly. Y o u should try the MOVCPMxx command again or specify a different file. Page 2-226 CAN'T OPEN BIOS.SYS EXPLANAT I ON : M O V CPMxx i s u n a ble to use the specified BIOS bec ause it i s n o t s t o red i n a f i l e n a m e d " B I O S.SYS", or b e cause it i s a defective file. FATAL ERR F25: NOT ENUF MEMORY EXPLANAT I ON : M O V CPMxx execution was aborted; you should p erform bootstrap and try again. File not found. EXPLANAT I ON: MOVCPMxx could not find the file you specified. Page 2-227 PIP The Utility that Copies Data between Files, Disks, andlor Devices P IP stands for Peripheral I n t erchange Program, the CP/M u t i l i t y t h a t c an be invoked (1, 2, 3) to copy (4) and l i n k ( 5 ) f i les or parts of f i l e s (6), and to d i r ect i n t pu t an d o u t pu t b e t w een l o gical d ev ices (8). PIP also allows f i les to be transferred between different di sks when u sing a one-drive hardware environment (9). PIP operations can be regulated by parameters (11). 1 M ETHODS OF ENTERING PIP COMMANDS Two di fferent m ethods can be d e pl oyed to e n ter PIP comm ands: the PIP prompt method and the system prompt method. Page 2-228 1.1 P I P P r ompt Method With the PIP prompt m o de, you enter "PIP" i n r esponse to the system prompt. This entry is sufficient to i n v oke PIP, which d i s p l ays its own p rompt — the asterisk (+). You can now e n ter the argument half of t h e command line in response to the "+" pr ompt suppl ied by PIP, as shown in the follow ing example: A>PIP RETURN W{argument) RETURN A fter this PIP operation is fini shed, PIP again displays the "+" p r o m p t . In reply, you can enter another argument to comm and PIP to perform another operation, or enter a carriage return only to return to the operating system and obtain a system prompt. 1.2 S y s tem Prompt Method T o induce a similar operation w i t h ou t sp l i t t ing up th e comm and l i n e , t he system pr o mp t m o d e o f c o m m an d e n tr y ca n b e u s ed. W i t h t h i s mode, you m ust i n c l ud e th e argument i n t h e r e sponse to th e system prompt, as shown in the follow ing example: A>PIP (argumentj RETURN A> A fter PIP fi n i shes this op eration, i t a u t o m atically r e t u rns yo u t o t h e operating system, and the system prompt is displayed. All characters specified in such a command l in e w i l l b e automatically translated into UPPER CASE. NOTE: PIP sends data to a destination f rom a s o urce, but i t d o es not remove the data from the source. It merely copies an image of the data, and then sends it. Therefore, any data that is copied w il l r e m ain i n tact at the source after the PIP operation. Page 2-229 2 THE ARGUMENT IN A PIP COMMAND LINE PIP commands r equire an a r gument r egardless of w h i c h i n v o c ation m ethod is u s ed. PIP arguments must specify a " d at a source" ( w h i c h can be either a file or a logical in pu t d e v i ce), and a "data destination" ( which can b e e i t her a f i l e , a d i sk , o r a l o g i cal o u t pu t d e v i ce). Th e "data destination" is entered first and foll owed by an " = " sign, whi ch is followed by the "data source", as shown in these examples: A>PIP RETURN W{data destination) = {data source) RETURN or A>PIP {data destination) = {data source) RETURN I n all cases, copied data is transferred in a ri ght-to-left direction, w i t h respect to the command line components. Hence, the file, disk, or logic al output d e v ice t o r e ceive th e d ata i s a l w ay s specified on t h e l e f t hand side of the " = " sign; and the file or logical input device to submit the data is always specified on the right hand side of the " = " s i g n . If entered in th e system prompt m o de, characteristics entered in a PIP command line w il l b e in u p per case in any future displays. Characters entered in a PIP prompt mode command l in e w il l r e appear in the case in which they were entered. Page 2-230 3 CHA R A C T ERISTICS OF DATA DESTINATION AND SOURCE SPECIFICATIONS A data destination can b e a f i l e , a d i sk , o r a l o g i cal d e v i ce. A d a t a s ource can be a file or a l o gical device. Each must be specified in t h e command line as shown below: DATA SPECIFICATION CHA R A C T E R ISTICS EXAMPLES Data can be transferred to a disk by specifying t he letter of th e d r iv e i n w h i c h t h e d i s k r e sides, and a colon. B: = SENDOVER.DOC B: = CON: F iles on n o n -default d i sks are i d enti f ied b y specifying the drive in w h ich they reside immediately before the file name. B:NEW.DOC = C:SEND.DOC B:CREATED.DOC = CON: CON: = B:SENDOVER.DOC Logical devices are specified by entering the t hree-letter c od e f o r t h a t p a r t i c u la r d e v i c e and a colon. CON: = LST: LST: = SENDOVER.DOC CREATED.DOC = CON: Page 2-231 4 F ILE COPYING EXAMPLES T he follow in g argument w i l l c a use PIP to t r ansfer a copy o f t h e f i l e S ENDOVER.DOC from d r i v e B t o t h e s am e d i sk , an d g iv e i t t h e f i l e name CREATED.DOC. In e f fect, t hi s o p eration c r eates a f il e b a ckup with a different name on the same disk. B:CREATED.DOC = B:SENDOVER.DOC RETURN T he follow in g argument w i l l c a use PIP to t r ansfer a copy o f t h e f i l e S ENDOVER.DOC from d r iv e C t o th e d i s k i n d r i v e B , an d g iv e i t t h e file name CREATED.DOC. B:CREATED.DOC = C:SENDOVER.DOC RETURN T he follow in g argument w i l l c a use PIP to t r ansfer a copy o f t h e f i l e S ENDOVER.DOC from the cu rrently l o gged drive to th e d isk i n d r i v e B, and give it the same file name. B: = SENDOVER.DOC RETURN T he follow in g argument w i l l c a use PIP to t r ansfer a copy o f t h e f i l e S ENDOVER.DOC from d r iv e C t o th e d i s k i n d r i v e B , an d g iv e i t t h e same file name. B: = C:SENDOVER.DOC RETURN E ach of the f o l l o w in g arguments w i l l c a use PIP to t r ansfer a copy o f t he file SENDOVER.DOC from th e d i s k i n d r i v e B t o t h e d i s k i n t h e currently l ogged dri ve, and give i t t h e f i l e n am e SENDOVER.DOC. It should be noted that the data source in t h i s argument is not the d is k i n driv e B , bu t t h e f i l e S E N DOVER.DOC w h ic h r e s ides on t h e d i s k in drive B. Because the source file is not specified in th e t y p i cal data s ource location, PIP assumes that th e s o u rce f il e i s t h e s ame as th e destination file, which is specified in its typical location. SENDOVER.DOC = B: RETURN or SENDO V E R .DOC = B:SENDOV ER .DOC R ETUR N Page 2-232 5 DATA SOURCE CONCATENATION While only one data destination can be specified in a si ngle PIP command line, several data sources can be specified. Thus you can merge data from several locations to one location. When more than one data source is specified, each data source specification isseparated by a comma. The length of a PI P c o m m and l i n e c a n not exceed 255 characters. (If the user tries to enter a 2 5 6th c h aracter int o th e c o m m an d l i n e , PIP will begin execution based on the first 255 characters entered.) PIP will concatenate data sources in the order in w h i c h th eir specifications are entered in the command line. T he follow in g PIP argument w i l l c a use PIP to get a c opy o f t h e f i l e s T HISFILE.DOC and TH A T F I LE.DOC from th e d isk i n d r i v e C and t h e f ile YOURFILE.DOC from th e d isk i n t h e d e fault d r i ve. PIP w il l t h e n combine all t h ree fi les into on e f il e (i n t h e o r der t hey are specified), p lace thi s f i l e o n t h e d i s k i n d r i v e B , a n d a s sign th e n a m e C O M BINED.DOC to the transferred combination of the three source files. WB:COMB IN ED.DOC = C: THISFILE.DOC,C: THATFILE.DOC, YOURFILE.DOC RETUR N Both fi les and d e v i ces can be specified as d ata sources in t h e s am e command line. NOTE: If yo u w i s h t o c o n c atenate object f i les w i t h a P I P o p eration, you must specify th e 0 p a r a m eter after th e f i l e n am e o f e ach object file that you wish to concatenate. Page 2-233 6 COPYING A BLOCK OF DATA B locks of f i l es, as wel l a s w h ol e f i l es, can be copied t o a n other f i l e . T o do t h i s , yo u e n ter a PI P c o m m an d t h a t s p ecifies th e source f i l e name and the beginning and end of th e b l ock being transferred. Such an entry requires the use of PIP parameters as in the follow ing example: WBLOCKFIL. TXT = WHOLEFIL. TXT[Sbeginnin g Z Q e n d " Z]RE T URN In this example, " BLOCKFIL.TXT" i s th e n ame of th e destination f i l e to receive a block of text from the source file named "WH O LEFIL. TXT". The block is specified by entering a bracket, the parameter "S", a unique string of text f ro m t h e " b eginni ng" o f t h e b l o ck, a CTRL-Z character, the parameter "Q" , a uni que string of text from the " end" of the block, a CTRL-Z character, and another bracket. The foll o w in g e x am pl e d e m onstrates how t h e u s e r ca n c o n catenate blocks from several files, by using the "S" and "Q" parameters to specify the beginning and end of each block: WUSBLOCK. TXT = GETADD. TXT[SFour " Zgearth " Z],CONSTIT. TXT[SWhen " ZQAmerica " Z] RETURlV With the entry of this command li ne, PIP would combine the specified b lock f ro m t h e f i l e " G E T A D D .T XT " w i t h t h e s p e c i f ied b l oc k f r o m " CONSTIT. TXT" . W i t h t h is d at a , P IP w ou l d cr e a t e t he f i le "USBLOCK. TXT". NOTE: The strings follow ing the S and Q parameters will be translated t o UPPERCASE if yo u ar e u s ing PIP by t h e S y stem Prompt M e t h o d . They will no t b e t ra nslated to u p p er c ase if you a re using the U t i l i t y Prompt Method. Page 2-234 7 COPYING DATA TO AN INTEL HEXADECIMAL FILE P IP performs a special f u n c t ion i f t h e d at a destination i s a f i l e w i t h the "HEX" extension (an Intel hex formatted machine code file) and the data source (for on e o f s e v eral d ata sources) is an i n p u t / output device, such as a paper tape reader. In such a case, PIP checks to ensure that the source is a properly formed Intel hexadecimal f i l e , w i t h l e gal h exadecimal v a l ues and c h ecksum records. If an invalid in put record is found, PIP reports an error message at the console and waits for corrective action. I t is usually su f f i ci ent t o o pen th e r eader and r e run a s ection o f t h e tape (by pull ing the tape back about 20 inches). When the tape is ready for the second reading, you should enter a carriage return at the console, and PIP will attempt another read. If the tape position cannot be properly read, then yo u s h o ul d s i m p l y c o n t i nu e th e r ead (b y e n t ering a c arriage return after the error message), and enter the record manually , u sing the ED u t i l i t y a f ter th e d i s k f i l e i s c o n structed from t h e o t h er d ata source co m p o n e n t s . For convenience, PIP allows a CT RL-Z ( " e n d-of-file" c h aracter) to be entered from th e c onsole if th e s ource fil e i s a R DR: device. In su ch a case, PIP reads the specified d e v ice and m o n i t ors th e k eyboard. If a CTRL-Z is entered at the keyboard, then the read'operation is terminated normally. For instance, the f o l l o w in g PIP argument c o ul d b e e n t ered to c r eate a "HEX" file: WCREATED.HEX = CON:,B:SENDOVER.HEX,PTR: RETURN The preceding argument w i l l c a use PIP to create the data destination file CREATED.HEX by r eading th e d ata from source device CON: (as you enter h exadecimal v a l ues at th e k e y board an d e v e n tually e n t er a CTRL-Z " e n d - of-file" c h a r acter), th e d a t a f r o m s o u r c e f i l e S E N D OVER.HEX (w h ic h i n c l u des a C T R L -Z), an d f i n a ll y t h e d a t a f r o m source device PTR: (until a CTRL-Z is read from the paper tape). NOTE: Hexadecimal data can be checked for valid format by specifying the "H" or "I" format in the PIP argument. Page 2-235 8 COPYING DATA TO OR FROM L O G ICAL DEVICES The follow in g examples, and their ensuing explanations, demonstrate PIP commands that transfer data to and/or from c o m p u t er-recognized logical devices: WLST: = SENDOVER.PRN RETURN The preceding argument w i l l c a use PIP to c op y th e source fil e SENDOVER.PRN to the LST: device. WCON: = B: THISFILE.ASM,C: THATFILE.ASM, YOURFILE.ASM R ETU R N T he preceding argument w i l l c a u s e PI P t o c o n c atenate t h ree A S M source files from disk B, disk C, and the logged disk, respectively; and to copy the combination to the CON: destination device. SPUN: = NUL:,SENDOVER.ASMmr,EOF:,NUL: RETURN T he preceding argument wil l c ause PIP to send 40 nulls from the NUL : s ource device to th e P UN : d e stination d e v i ce, and t h e n t o c o p y t h e SENDOVER.ASM source file to the PUN:, then to send a CTRL-Z "endof-file" character from the EOF: source device to the PUN:, and finally to send 40 m ore nu ll s f rom th e N U L : source device to the PUN : data destination device. Page 2-236 8.1 I nput/Output Devices Accessible through PIP The PIP utility enables you to transfer data directly to or from the logical and physical devices being used. PIP supports data transfer with respect to the devices indicated in the follow ing table: LOGICAL DEVICE NAME PHYSICAL DEVICE NAME D EVICE DEVICE D ESCRIPTION A N D / O R CATA LO G N A M E O F REC O M M E N D E D INPUT/OUT PU T M A C H I N E CON: TTY: Any non-handshaking RS-232 ASCII terminal at port ODOH CRT: Any non-handshaking RS-232 video terminal at port OESH BAT: A batch p seudo d e v ice u sing RDR: for input and LST: for output UC1: A ny handshaking RS-232 terminal w i t h ETX/ACK protocol, eg. Diablo KSR 1640 printing terminal TTY: Any non-handshaking RS-232 ASCII terminal at port ODOH PTR: N ull s o urce, no t i m p l e m ented, return s an "end-of-file" c h a racter w h e n a c cessed UR1: An input modem at port ODSH UR2: System terminal Page 2-237 PUN: LST: TTY: Any non-handshaking RS-232 ASCII terminal at port ODOH PTP: Null sink, not impl emented UP1: An output modem at port OD8H UP2: System terminal TTY: Any non-handshaking RS-232 ASCII terminal at port ODOH (eg. WH-34) CRT: Any non-handshaking RS-232 video terminal at port OE8H LPT: l ine pr i n ter ( eg. H- 14, W H - 14, W H - 2 4 , H/Z25, WH-36, Epson MX80) UL1: Any Diablo printer Table 2-3: Logical/Physical Devices Y ou must b e c e rtain t hat th e d e stination d e v ic e t hat i s s p ecified i s capable of receiving data, and that the specified source device is capable of sending data. Page 2-238 ADDITIONAL LOGICAL DEVICES USED WITH PIP All of th e devices in th e pr eceding table can also be referenced using the STAT ut i l i ty , w h i c h assigns physical devices to logical devices on a temporary basis. T he PIP util it y can also gain access to five addi t i onal d evices, whi ch are defined below: NUL : Sen d s 4 0 " n u l l s " ( A S CII zeroes) to the device (This dev ice is usually accessed at the beginning and/or end o f the output when a paper tape punch device is used.) EOF: S ends an "end-of-file" c h aracter (ASCII CTRL-Z) to t h e destination d ev i ce. (Such a t r ansfer is p e rformed automatically after PIP operation i n v o l v in g a f i l e c o m p osed with ASCII characters.) INP; S pecial in pu t s o u rce w h i c h c a n b e " p a t ch ed" i n t o t h e PIP program itself. Through this source, PIP accepts data input character by character using a system call to memory location 103H. The data returns from location 109H. The parity bit must be preset at zero. OUT: S pecial output destination w h i c h can be " p atched" i n t o t he PIP program. PIP tr ansmits data from r e gister C t o this destination using a system call t o m e m ory l o cation 106H. It s h o ul d b e n o t e d t h a t l o c ations 109H t h r o u gh 1 FFH of th e PIP m e m ory i m age are not u s ed, and c an be replaced by special purpose drivers using DDT. This device is accessed for the same purposes as the LST: device. In it s o p eration, h ow ever, tabs are expanded at every eighth character position, lines are numbered, and page breaks occur every 60 li n es. Output d i r ected to the LST: device w il l b e t r eated id entically i f t h e [ T SNP] or [T8NP60] parameter is entered with the LST: argument. Page 2-239 8.2 Suspending PIPOperations When sending material w it h PIP to the CO N: logical device, the copy operation can be suspended by e n t ering the CT RL-S c haracter at the keyboard, and resumed by entering any ch aracter other than CTRL-C. The operation can be aborted by entering any keyboard character other than CTRL-S whil e data is being transferred. PIP wil l r e spond to such an entry with the message: ABORTED 9 U S ING PIP WITH A ONE-DRIVE H ARD W A R E ENVIRONM E N T When performing a PIP operation in a one-drive hardware environment, t he "PIP" c o m m an d s h o ul d b e e n t ered a l on e at t h e s y stem p r o m p t ( using invocation method 1.1) to produce the "* " " + " p r o m p t . W hen using th e PI P u t i l i t y t o c o p y a f i l e t o a f i l e o n a n o t her d i s k , t he disks in v o l ved m ust be i n serted in t h e d r i v e al ternately to a l l o w P IP to read f ro m o n e f i l e an d t h e n w r i t e t o a n o t h er. Th e c o m m a n d line argument should be entered as follows: eB:(destination file namej = A:(source file name) RETURN Where "B:" specifies logical drive device B; where "A:" specifies logical drive device A; and w here both A a n d B a r e r e f erred t o a s p h y s i cal d r iv e d e v ice 0 ( t h e only physical drive device in the hardware environment). This entry causes PIP to display the message: Put disk B in drive A: and press RETURN The disk desired to receive the file copy should be placed in the driv e, and a carriage return entered. PIP will t hen d i splay the follow in g message: Put disk A in drive A: and press RETURN Page 2-240 T he disk containing the data source file should be placed in the dr i v e, and a carriage return entered. You should repeat these two steps altern ately, as th e PI P p r o m pt s i n d i c ate, un ti l t h e e n t ir e s o urce f il e h a s b een copied to th e d estination f i l e . T hi s p r o cess wil l v ar y i n l e n g t h , depending on the size of the fil e being copied. You should be careful to keep track of which disk is A and which is B. 10 PIP's METHOD OF OPERATION File names and device names can both be used in a single data source argument, with PIP reading each name entered (starting with the name entered on the left-hand side of th e source argument) un ti l i t r e aches "end-of-file". "End-of-file" is in d i cated by a CTRL-Z character in ASCII f iles, and by th e actual end of th e f il e i n n o n - A SCII fi l es. Each of th e data source names entered is read and then concatenated to the preceding name (to its left) until the last name has been read. T he data destination d e v ice or f i l e r e ceives a copy o f t h e d at a f r o m the source files and/or devices. When data from an ASCII file is written, the CTRL-Z "end-of-file" character is appended to the result. As the PIP operation begins, a temporary file is established in the direct ory of th e destination d i sk. T hi s f il e has a name that consists of th e primary name specified in the data destination, and a "$$$" extension. This temporary file is not changed to the actual file (with the extension specified in th e comm and l i n e argument) un ti l su ccessful com pletion of the PIP operation. Files wit h a files. " C O M " e x t e n sion are a l w ay s assumed to b e n o n - A SCII Page 2-241 11 PIP PARAMETERS The PIP util ity p erforms enhanced data transfer operations when command line parameters are used. Most PIP parameters should be entered after the data source and enclosed between a single set of square brackets. A carriage return must follow th e closing bracket. Most parameters are entered in the follow ing form : ~(data destinationj = (data sourcej([parameters]j RETURlV Where (data destination) i s a specification of t he f i l e , d i s k, or d e v i c e to receive the transferred data; where (data source) is one or m o re s pecifications of t he f i l e (s) or device(s) from which the transferred data will be copied; and where ([parameters]j is the specification of PIP parameters used to regulate the transfer operation. Several parameters can be enclosed between brackets in a s i n gle PIP command line. NOTE: If y o u w i s h t o c o n c atenate object f i les w i t h a P I P o p eration , you must specify the 0 p a r ameter after each file name that is specified as part of the data source. The parameters used to regulate transfer operations are as follows: Block mode transfer: PIP transfers data from a source device to a buffer (data reservoir in computer memory), wh ich retains bits of a continu ous flow of data before writ ing it on a disk. The buffer is e m p t ied t o a d i s k w h e n t h e C T R L -S c haracter is transmitted to th e b u f fer f rom t h e s ource device. PIP t hen r e sumes tr ansmitti n g the continuous flow of data from the source dev ice. If the buffer overflows w it h d a ta, PIP wil l display an error message. Dn D elete characters: Causes PIP to transfer all o f the characters wi t hi n t h e source fil e or source d evice — except for th e c h a racters to th e r i g h t of the nth col u mn , w h i c h are truncated so that the file can be sent to a narrow p r i n ter or console. Page 2-242 E cho transfers: Causes display i n d i cating w h at units of data are being transferred, as they are being transferred. F F ilter F or m F e ed s F r o m F i l e : R e m o ves f o r m f eeds that are embedded in a f i l e . Th e "P " p a rameter can be entered in t h e s ame comm an d line to insert new form feeds. Gn Get file from user area "n" : Enables user to access files through a d i f f erent user area number " n" ( i n t h e r ange 0 - 15). C a n o n l y b e i m p lemented if th e f i l e " P I P.COM" i s i n t h e c u r rent user number. H Hex data transfer: Transferred data is checked f or pr oper I n te l h e x adecimal f i l e f o r m at , an d unnecessary characters between hex records are removed during the transfer operation. If errors occur, PIP w il l d i s p lay p r o m pt s fo r c o r rective action. I gnore records: Transferred Intel hex f i l es w i l l not include ":00" records. The I parameter automatically sets the H parameter. L ower c ase l e t t ers: T r a n slates al l phabetic characters to lower case. N c o pied al - Number li n es: Ap p l ies line n u m b ers to the beg inning o f e ac h t r a n sferred l i n e o f d a t a . T h e numbers begin at one and increase sequentially by ones. The nu m bers are separated from d ata lines by a colon. If " N2 " i s specified, then each number is preceded by a zero and fo l l o wed by a tab space. This tab space is expanded i f t h e "T" parameter is also set. Page 2-243 0 O bject fil e t r an sfer: Th e n o r ma l C P/M en d o f file will be ignored in any data transferred with t his p a r ameter. T h i s p a r a m eter i s u s e fu l i n transferring files with non-ASCII characters. N OTE: If yo u w i s h t o c o n c atenate object fi l e s w ith a PI P o p eration, you m u s t s p ecify th e 0 parameter after the file name of each object fil e that you wish to concatenate. Such an operation c an be caused by a command line in the follow ing form: A)PIP B:ALL.OB J = FILED.OB J[O],FILE1.OB J[O],FILE2.OB J[O]RETURN Pn Page ejects: Transferred data i s i n t e r ru pted at t he beginning o f t h e f i l e an d e v er y " n " l i n e s thereafter. If "n " i s om i t ted from the parameter, t he value " 1 " i s a s sum ed. I f t h e v a l u e " 1 " i s entered or assumed w i t h t h e p a r ameter, page e jects wil l o c cu r ev ery 60 l i n es. If th e "F " p a r ameter is entered in th e same command l i n e , then form f eed sup pression takes place before the new page ejects are inserted. @string " Z Quit copying b l o ck: Th e text " s t r i ng" b etw een the "Q' * and the " " Z " i n t h i s p arameter marks the end o f a b l o c k o f t e x t t o b e t r a n sferred. (Block b e g i n s w it h t ext " string" i n the "Sstring " Z" parameter. R R ead system f i l es: Enables transferral o f f i l e s with the "SYS" status S string Z Start copying bl ock: The text " s t r i ng" b etween the "S" and th e " Z" in t hi s p arameter marks the start o f a b l o c k o f t e x t t o b e t r a n sferred. (Block e n d s w i t h t ex t "string" in t h e "Qstring " Z" parameter.] NOTE: the strings i n t h e S a n d Q p a r a m eters a re translated t o u p p e r c a s e b y t h e C o n s o l e Command Processor if PIP is invoked using the system prompt method (entire command on one line): Page 2-244 A>PIP B:THIS.DOC = C: THAT.DOC[STHE BEGINNING ' Z Q T H E END. " Z] Therefore, the file's actual text must be in upper c ase to match the string. How ever, if PIP is in voked using the PIP prompt method (command l ine argument en t ered i n r e s p onse to PI P " + " prompt): A>PIP 8B: THIS.DOC = C: THAT.DOC[SThe beginning " Zgthe end. Z] then the st r in g t ex t w i l l n o t b e a u t o m atically translated into upper case. Tn Tab expansion: Expands each occurrence of tab character to every " n " t h c o l um n i n t r a n sferred text. Upper case: Tr anslates l ower c ase al p h abetic characters to upper case during text transferral. Verify operation: Compares copy of transferred data wit h o r i g i na l t o e n s ur e exact c o r respond ence. Might increase command execution tim e by as much as tw o t i m es. This parameter only works if the data destination is a disk file. Write over fi l es: Writes newly t r " n s ferred data file over old d ata fi le, even if ol d f i l e has been given R/ 0 ( r e a d o n l y ) s t a t us . P I P w i l l n ot prompt you before deleting the old file. Z ero parity bit: Sets parity bit on i n pu t t o 0 f o r each ASCII character in transferred data. Page 2-245 12 PIP ERROR MESSAGES DISK READ ERROR EXPLANA T I ON : Source of data is flawed. You should repeat PIP command or replace data source. DISK WRITE ERROR E XPLANA T I ON : Destination d is k d i d n o t h a v e en ough space for t h e copied data. You should c l ear out some space on the destination and repeat PIP command. VERIFY ERROR E XPLANA T I ON : D estination d i s k h a s f l a wed m e d ia. Yo u s h o ul d r e place destination disk and repeat PIP command. ABORTED EXPLANA T I ON : A k e y b oard entry d u r i n g a PI P d ata tr ansfer caused this message and an end to PIP execution. BAD PARAliETER EXPLANA T I ON : You entered an invalid parameter or an invalid bracket in a PIP command line. INVALID USER NUMBER EXPLANA T I ON: You specified a user number out of the 0-1S range. INVALID DIGIT EXPLANA T I ON : You entered an inv ali d d i git for a PIP parameter, and should re-enter the entire command lin e. CHECKSUM ERROR EXPLANA T I ON : PIP verification f o un d a d i s crepancy between a data source and data destination file. The PIP operation should be repeated. INVALID FORMAT EXPLANA T I ON : You entered PIP command line in i m p r o per form, and should repeat entry of command. NO DIRECTORY SPACE EXPLANA T I ON: The directory of the destination disk is full . Page 2-246 NO FILE: =x: fi l e name. ext EXPLANA T I ON : P I P co u l d f in d n o " filename.ext" on the disk in drive "x " . sou r c e f i l e by t h e n am e START NOT FOUND EXPLANAT I ON : PIP could no t f i n d th e beginn ing of a string that w as specified w it h th e " S " an d " Q " p a r am eters. You should r e-enter command specifying a string beginning that exists in the data source. QUIT NOT FOUND E XPLANAT I ON : P I P c o u l d n o t f i n d t h e e n d o f a st r i n g t h a t w a s specified w it h th e " S " an d " Q " p a r am eters. You shoul d r e-enter command specifying a string end that exists in the data source. DESTINATION IS R/0, DELETE (Y/N)? EXPLANAT I ON: This message prompts you that the destination already has a file by that name. Use can have the old file destroyed by answering Y to this prompt. NOT FOUND EXPLANAT I ON : You should re-enter the PIP command w it h th e name of an accessibledata source. REQUIRES CP/M 2. 0. 0 OR NEWER FOR OPERATION EXPLANAT I ON : PIP must be used w it h CP/M v ersion 2.2.02 or 2.2.03 or 2.2.04. UNRECOGNIZED DESTINATION CANNOT WRITE EXPLANATION: You should re-enter a PIP command with a valid data destination. INVALID PIP FORMAT CANNOT READ E XPLANA T I ON : Y o u m a d e s y n tax e r ro r i n c o m m an d l i n e , an d P I P could not write to the data destination. INVALID SEPARATORS EXPLANATION: You should re-enter PIP command with the proper square brackets around a parameter. Page 2-247 PREL T he Utilit y t h a t Cr eates a Relocatable Fil e f ro m T w o Hexadecimal Output Files T he PREL u t i l i t y i s i n v o k e d (1 ) t o t a k e t h e h e x o u t p u t f i l e s o f t w o assemblies and generates a relocatable file from t hem ( 2). The fi rst of the assemblies should have as an ini t ial origin of OOOH and the second a ssembly should be one page higher, or 0100H. The hex output of t h e f irst assembly sh oul d b e g i ven a f i l e n a m e e x t ension o f " H X O" , an d the hex o u t pu t o f t h e s e cond s h o ul d h a v e " H X 1 " f o r i t s e x t ension. PREL can be effectively im p l em ented as one of the batched commands in a SUB file (3). 1 PREL INVOCATION A PREL command line is entered in the follow ing form : A>PREL {hex file name) irelocatable file name) RETURN Where (hex file name) is the pri m a ry n a me of t he t wo a ssembled hex files (These files are given the extensions HXO and HX1); and where {relocatable file name) is the p ri m a ry n a me of t he o utp ut p a ge relocatable file. (The output file will have the extension PRE.) For example, the command lin e: A>PREL MYP RO G T ESTBIOS RETURN w ould c r eate th e f i l e T E S T BIOS.PRE from t h e t w o h e x f i l e s M Y P ROG.HXO and MYPROG.HX1. Page 2-248 2 PREL FUNCTION PREL wil l c o m p are the tw o he x f i l e s and p erform tw o s eparate functions: • PREL c o n v e r ts the hex file to a bina ry file ( simil ar to the functio n of the LOAD utility.) • P REL a p p e n ds a r elocation table to t he e nd of t he f i l e w h i c h i n - cludes a bit for each byte in the module. If a particular bit has a value of one, then the associated byte must be offset w hen t h e p rogram is l o aded i nt o m e m o ry . A n e r r o r m e ssage wil l r e sult i f t he hex v a l ues for a g i ve n b y t e d i f fer b y m o r e t h a n 0 o r 1 . A n error message will a lso result i f th e ad dresses in the hex f i les do not increase sequentially. 3 PREL OPERATION All ad dresses that need to b e r e l ocated shoul d b e e x p r essed relative to the base of th e m o d u le, and no t d e f i ned absolutely. A c o n v e n i ent w ay to do t h i s i s t o o m i t " O RG " st atements from th e p r o gram and t o u se the SUBMI T u t i l i t y t o e n ter batched comm ands from a SU B f i l e . The commands in the SUB file should perform the required assemblies a nd the conversion t o a r e l o catable format. A n e x a m pl e o f t h i s t y p e of batched command might be: PIP TEMPO.ASM =ORGO.ASM,$1.ASM ASM TEMPO.AAZ REN $1. HXO= TEMPO. HEX ERA TEMPO. ASM PIP TEMP1. ASM=ORG1. ASM, $1. ASM ASM TEMP1.AAZ ERA TEMP1. ASM REN $1. HX1 = TEMP 1. HEX PREL $1 $1 ERA $1.HXO ERA $1.HX1 w here the f i les ORGO.ASM and O RG1.ASM c o n t ain n o t h in g bu t " o r g OOOOH" and "org 0100H" statements respectively. This command script could be invoked with the entry: A)SUBMIT MAK E P RE MY P R O G RETURN Page 2-249 W here t h e com m a n d se q u e nc e i s c ontained i n a f i le cal l e d MAKEPRE.SUB, the original assembly file is called MYPROG.ASM and the final result is a page relocatable file called MYPROG.PRE. 4 PREL ERROR MESSAGES Phase error EXPLANA T I ON : H exadecimal f i les do not contain correct starting addresses. Cannot open input file EXPLANA T I ON : Th e f il e w i t h t h e extension " H XO" or " H X 1 " was not found. Cannot create output file E XPLANA T I ON : The directory on thc destination disk is full . Hex files not monotonic EXPLANA T I ON : The hexadecimal addresses are not increasing sequen- tially. W rite er r o r E XPLANA T I ON : The destination disk is full . Page 2-250 Page 2-251 REN The Resi dent Command that Renames Files T he REN command al l ow s you t o assign a new n am e to any d i sk f i l e (1). If it cannot rename a file, it also displays the reason (2). 1 RENAMING A FILE T o rename a f i l e , yo u s h o ul d r e sp ond t o t h e s y stem p r o mp t w i t h a command line in the follow ing form : A>REN(new name) = (old name) RETURN Where (new name) is the name you wishes to assign to the file; and where (old name) is the name of the file before it is renamed. F or instance, the n am e of t h e f i l e " B I O S .SYS" can b e assigned to a file currently named "1747. SYS" by entering the follow ing command: A>REN BIOS.SYS = 1747.SYS RETURN If file receiving the new n ame does not reside on a disk in th e default drive, then the REN command l in e m ust i n c l ud e a dr iv e specification which precedes the new file name, as shown: A>REN C:BIOS.SYS = 1747.SYS RETURN Page 2-252 2 CON SOLE RESPONSE TO RENAMING COMMANDS If a file is successfully renamed, the system prompt w il l appear. A) I f the f il e b e ing r enamed d oes not e x ist o n t h e d e f ault d r i v e an d n o drive is specified (or if an incorrect drive is specified), then REN cannot find the file you want to rename and will d i splay the error message: NO FILE I f you tr y t o a s sign a f i l e a n a m e t h a t i s a c t u all y t h e c u r r ent n a m e of an existing fi le, REN w i l l n o t p e r f orm th e c h ange and d i s p l ays th e error message: FILE EXISTS If the f i l e b e in g r e n amed ha s Read/Only a c cess status (as described in the text on the STAT ut i l i t y), REN does not rename the file. However CP/M will di splay an error message in the follow ing form : B dos Err on x : Fil e R/0 Page 2-253 SAVE The Resident Command that Copies Data from Memory to a Disk File The SAVE c o m m an d i s u sed t o c op y t h e h e x adecimal c o ntents of a span of m e m ory l o c ations to a d i s k f i l e ( 1). Th e am ount o f d at a th at SAVE wil l c op y i s m easured in p ages (2). The data that SAVE copies from the computer's memory space can come from a variety of sources (3) 1 SAVE COMMAND LINE T o SAVE a p r o gram o nt o a d i s k an d c r e ate a f i l e fo r i t , y o u s h o u l d respond to the system prompt with a command in the form: A>SAVE (pages)(file name) RETURN Where (pages) is t he d e c i m al n u m b e r o f p a g es of m e m o ry c o n t e nts that SAVE should copy to the disk, and where {file name) is the name of the file created to store the data. NOTE: A p age of m e m ory i n C P/ M i s 2 5 6 ( d ecimal) by tes, or a span of 0100H (hexadecimal) memory locations. For example, to copy 3 p ages (the memory co ntents between address 1 00H and a d d r ess 3FFH) of d at a f ro m m a i n m e m or y t o t h e d i s k i n non-default d r iv e B an d g i v e t h i s b l oc k o f d at a th e f i l e n am e " P ROG RAM.ASM" , you would enter the follow ing command li n e: A>SAVE 3 B:PROGRAM.ASM RETURN Page 2-254 2 SAVE DESCRIPTION Data in th e c o m p u t er's Transient Program A rea (TPA) m e m ory space can be blocked off b y s p ecify in g th e f i rst an d l ast m e m ory l o c ations rogramsloaded into the TPA always begin at memory that it occupies. P l ocation 0 100H ( h exadecimal). T hi s i s a l s o th e l o c ation f r o m w h i c h S AVE starts copy in g b l o cks o f d a ta. T h erefore, if y o u s p e c i f ied o n e page (100H bytes) in the SAVE command l i ne, SAVE w il l start copyin g data from m emory l ocation 100H and c o n t i nu e th r ough m em ory l o cation 1FFH. Only wh ol e pages can be transferred; and SAVE recognizes only decimal integers for pages. 3 C OMMON APPLICATIONS FOR SAVE SAVE w il l c o p y t h e h e x adecimal v a l ues for an y d at a t hat r esides in m emory l o c ations 100H t h r o ugh 3 2 768H (i n a 3 2 K c o m p u t e r). T h i s a rea of m e m or y i s k n o w n a s t h e T r a n sient P r ogram A r ea, an d i t i s used to accommodate data manipulated by utilities and application programs. Data often remains in these locations after being manipulated by CP/M util i t i es. One useful a p p l i c ation i s t o S A V E a p r o g ram t h a t h a s b een p l a ced i n memory by the DDT utili t y . Another common application is to SAVE a copy of the operating system onto a f i l e . Th e CP/M o p erating system a l w ay s o ccu pies th e area of memory between l ocations OH and 1 0 0H . H o w e v er, i f t h i s o p erating s ystem is loaded into the Transient Program Area by a MOVCPM uti l i t y , i t can b e saved o nt o a f i l e . T o d o t h i s , y o u m u s t e n ter a c o m m a n d in the follow ing form: A>SAVE 38 CPMkk.COM R ETUR N Where "kk" is the number of kil o bytes of memory to wh i ch t he system h as been adjusted by the MOVCPM uti l i t y . N OTE: To p r o d uce th e sy stem p r o m p t ( A ) ) a n d a l l o w e n t r y o f t h e SAVE command, you must exi t f rom the ut i l it y w i t h a w arm boot (performed by entering CTRL-Cj. Page 2-255 4 COM P U T ING PAGES TO BE SAVED T o SAVE a p r o gram f ro m m e m o ry , y o u m u s t d e t erm in e ho w m a n y pages this block occupies. Thisrequires a conversion of the program's hexadecimal size to decimal pages. The hexadecimal s iz e o f a p r o g ram i s d i s p l ayed w h e n t h e p r o gram is loaded into the TPA un der DDT. This di splay in d i cates that the prog ram begins at a d d r ess 0100H an d e n d s a t a n a d d r ess id enti f ied a s " NEXT". Yo u s h o ul d t ak e th e tw o l e f t -hand d i g it s from t h e " N E X T " value, and convert them i nt o a decimal n u m b er. This decimal nu m b er is the number of pages to be saved. For example, if y o u a r e d e bugging a p r o gram t hat o c cu p ies m emory locations 0100H thr ough 28FFH, the results of thi s debugging activity can be recorded by taking the hexadecimal digits "28", converting them into the decimal value "40", and entering the follow ing command: A)SAVE 40 PROGRAMX .HEX R ET UR N If the disk to wh ich you try to SAVE a data block does not have enough space to r ecord a f i l e o f t h e s p ecified s i ze, then th e f o l l o w i n g e r r or message will be displayed: NO SPACE Page 2-256 Page 2-257 SETLP The Utility that Temporarily Sets Printer Characteri sti cs The SETLP uti l it y enables you to ch ange the operating system's baud rate setting for a serial printer and to determine whether the LPT device will b e u sed t o r u n a s e r ial p r i n ter o r a p a r a llel p r i n t er. Th e SETLP utility can be run with a single command lin e. Baud rate is the speed with w h i c h d ata is transferred between the comp uter an d a s e r ial p r i n t er . B au d r at e i s a p p r o x i m ately e q ual t o t h e number of bits transferred per second. A baud rate setting is not necessary when you are using a parallel printer. 1 REASONS TO USE SETLP T he system's baud r ate setting for th e L ST : d e v ice (usually u sed f o r a printer) can be changed by run n ing the CONFIGUR uti l i ty . H ow ever, SETLP was designed as a convenience so that yo u c o ul d c h a nge the b aud rate setting w i t h ou t e n countering al l o f t h e m e nu s an d o p t i o n s of the more extensive CONFIGUR program. SETLP can temporarily alter the baud r ate values kept i n m e m o ry , bu t i t w i l l n o t a f f ect th e baud rate values stored on the disk by CONFIGUR. H ence a baud r ate set by SETLP w i l l r e m ai n i n e f f ect o nl y u n t i l t h e c omputer i s r e set o r u n t i l a n o t her S E TL P c o m m an d i s e x e cuted t o change the baud rate. Page 2-258 SETLP is useful if you have more that one kind of printer and use e ach of t h ese pr i n t ers alternately. H o w e v er, i f t h e p r i n t ers u sed ar e linked to the input/output ports by different physical device names, then CONFIGUR or STAT must be used to change the operating system for these physical device names. NOTE: SETLP does not c h ange the baud r ate of t h e p r i n te r i t self. A printer's baud rate is usually c h anged by m a n ual p r i n ter adjustments that are explained in the manual(s) supplied with your printer(s). SETLP can also be used to quickly set the system to run ei ther a serial printer or a parallel printer through the LPT: device. 2 SETLP COMM A N D M E T H O D S T he SETLP u t i l i t y i s i n v o ke d an d e x e cuted b y e n t e r ing a c o m m a n d l ine i n t h e H - 8 9 - 3 C o m m an d M e t h o d , t h e H - 8 9 - 11/LPT: C o m m a n d Method, or the H-89-11/UL1: Command Method . 2.1 H -89-3 Command Form This SETLP method is helpful to users with an H-89-3 interface card: A) SETLP (baud) RETURN Where SETLP is the command line function; and where (baud) is the number for the baud rate to whi ch t he user wis hes to temporarily adjust the operating system. The baud rate must be specified one space to the ri ght of th e SETLP fun cti on. No further command line argument is necessary. The printer for w h ich you are setting this baud rate must use the physical device assigned to logical device LST:. This match is made through t he CONFIGUR utility or the STAT uti l i t y . For example, thecommand A) SETLP 1200 RETURN could be entered to t e m p orarily c h a nge the system baud r ate setting to 1200. Page 2-259 2.2 H -89-11/UL1: Command Method This SETLP m ethod i s h e l p fu l t o u s ers w i t h H - 8 9 -11 i n t erface cards and printers that are accessed through the UL1: physical device. (Diablo daisy wheel pri nters are accessed through this device.) It enables these users to t em p orarily c h ange the b aud r at e t hat th e o p erating system uses to send data to these printers. x>SETLP (baud) RETUR1V Where SETLP is the command line function; and where (baud) is the number for the baud rate to whi ch t he user wis hes to temporarily adjust the operating system. The UL1: phy sical device must currently be matched with the LST: logical device. (The CONFIGUR or STAT ut i l i t ies can help you to match these devices.) For example, the command A>SETLP 300 RETUR1V could be entered to temporarily change the baud rate to 1200 of a serial printer accessed through the UL1: device. N OTE: Using th e H - 89-11/UL1: Command M e t h od , th e b aud r ate f o r the UL1: p h y sical d evice can be ch anged w i t h ou t a f fecting th e baud rate for the LPT: physical device. Page 2-260 2.3 H-89-11/LPT: Command Method This SETLP method is helpful t o u sers with an H - 8 9-11 interface card and a printer that is accessed through the LPT: phy sical device. (Most dot-matrix p r i n t ers are accessed through thi s d ev i ce.) It enables these users to t em porarily c h ange th e system's baud r at e setting fo r s erial printers, and/or to qu i ckl y set the system to ru n e i t her a serial pr i n t er or a parallel printer through the LPT: device. A>SETLP (parameter) (baud) RETURN Where SETLP is the command line function; where (parameter) i s t he l e t ter t hat s tands for a t y p e o f p r i n t e r. T h e letter S is used for serial pr i n t e rs, and the l e tter P is u s ed for parallel printers; and where (baudj is a decimal nu m b er for t he baud rate to wh i ch t he u ser wishes to temporarily adjust the operating system. A baud rate can be specified fo r serial p r i n t ers, but no t p a r allel p r i n t ers. T he LPT: physical device must currently be matched w it h t h e LST: logical device. (The CONFIGUR or STAT ut i l i t ies can help you to match these devices.) For example, the command A)SETLP S 4800 RETURN could be entered to temporarily c h ange the system baud rate to 4800, for a serial printer accessed through the LPT: device. Y ou can a lso t e m p oraril y c h a nge th e s y stem b au d r at e t o 4 8 00 , f o r a serial printer accessed through the LPT: device. To make this change, enter the follow ing command: A) SETLP 4800 RETURN The result of entering the preceding two example commands is identical — even though the S parameter is not used in the second commandbecause the system assumes that you w ish to set up for a serial pri n t er whenever you specify abaud rate in a SETLP command. Page 2-261 The follow ing example command A>SETLP P RETURlV could be entered to temporarily change the system so that it can access a parallel printer through the LPT: device. NOTE: The "Default I/O Configuration" m enu (submenu C) in the CONFIGUR utility and the STAT ut i l it y both show w h e ther the LST: logical d evice (for p r i n t ers) has been m atched w i t h t h e L P T : o r U L 1 : o r a n other physical device. 3 POSSIBLE BAUD RATES S ETLP can be used to adjust the operating system for any of the follow ing baud rates: 75 150 1200 9600 1 10 30 0 24 0 0 19200 134 60 0 4 800 38400 M ake certain t ha t an y b au d r at e entered i n a S E TL P c o m m an d l i n e m atches the b au d r at e t hat h a s b een set o n t h e s e r ial p r i n ter b e i n g u sed. Instructions for setting (or r esetting) the baud r ate of a p r i n t e r can be found in your printer's manual. Page 2-262 4 SETLP ERROR MESSAGES ERROR — Inval idargument E XPLANA T I ON : The command entered did not contain syntax for th e parameter and/or baud rate; or SETLP was used wit h th e w r on g i n t erface card. Enter a command that uses the syntax described in "2 SETLP Command Methods", and sets up the system for hardw are that is connected in your hardware environment. ERROR — Improper configuration E XPLANA T I ON : Y o u t r i e d t o r u n S E TL P w i t h t h e w r o n g v e r sion o f CP/M. Use a CP/M Operating System and a SETLP util it y t hat has been c opied from th e same set of CP/M d i s t r i bu t ion m e d ia. Then enter th e command again. Page 2-263 STAT The Uti li t y t h a t R ep orts Dis k S t a tistics an d A s si gns Types of Status The STAT u t i l i t y has two f u n c t i ons: to pr ov ide statistical in f orm ation about disk space or file size (1), and to allow you to change the assignment of various types of status (2). 1 REPORTING STATISTICS CONCERNING DISKS AND FILES 1.1 Available Disk Space The amount of u n o ccupied space on the disk in th e default dr iv e that i s available f o r u s e c a n b e d e t e r m i ne d b y e n t e r in g t h e c o m m a n d " STAT" an d a c a r r i age return at t h e d e f ault d r i v e p r o m pt , as i n t h e following example: A) STAT RETURlV Page 2-264 If drive A i s th e onl y d r i v e that has been logged since the system was b ooted, then STAT w il l respond with a display like the follow i n g : A: R/W, Space: 3k Where "A: " indicates that the disk in drive A was investigated by STAT ; where "R/w," stands for Read/Write, m eaning t hat d at a an d f i l e s c an be written to or read from the di sk. If STA T e n counters a disk t hat has been w r i t e p r o t ected, i t w i l l r e p or t t h a t t h e d i s k i s " R/0" o r r e a d/only . D ata an d f i l e s c annot b e r e corded t o o r erased from a read/only disk; and w here "3k" i n d i c ates the am ount o f s p ace that i s u n o c cu p ied o n t h e disk, and t hu s available to r ecord f i l es. M em ory sp ace is expressed in units of 1024 bytes, or kilobytes (k). One byte holds one character. The disk that was investigated for the preceding example has enough r e m ai n in g m e m or y s p ace to s t ore 30 72 characters. If you have logged other dr i ves since the system was last booted, the p receding response to the basic " ST AT " c o m m an d l i n e w i l l a l s o p r o duce a listing for the disks in each of the drives that have been logged, as shown: A: R/W, Space: 3k B: R/W, Space: lsk C: R/W, Space: 65k Even if a non-default drive has not yet been logged, you can still ascert ain the space remaining on th e d isk w i t h i n i t b y s p ecify ing the dr i v e in the STAT command lin e: A)STAT B: RETURN T he entry of this command line might produce a response in the follow ing form: Bytes Remaining ON B: 24k Page 2-265 1.2 Disk Space Consumed by a File To fin d o u t h o w m u c h s p ac e on e p a r t i c u lar f i l e o c c u p i es, requires specification of the file name and the drive in which the file resides. An appropriate entry for such a command would be: A>STAT C:PRINTOUT.DOC RETURN Such an entry might produce a display in the following form: R ecs Byte s E x t A c c 140 l sk 2 R/ W C:PRINTOUT.DOC Bytes Remaining ON C: 72k W here "Recs" stands for t h e n u m b e r o f r e c o rds w i t h i n t h e f i l e . T h e f ile PRINTOUT .DOC contains 14 0 d at a r e cords. A r e c or d i s the amount o f d a t a i t t a k e s t o f i l l u p 1 2 8 b y t e s ( one-eighth of a ki l obyte) of m e m ory s p ace. Thus, one record consists of 128 data characters. How ever, STA T c a n no t r e p ort f r a ctions of records; and if a file contains anywhere from 1 to 128 characters, STAT wil l still report that the file contains one record; where ' Bytes stands for the amount of memory space the file occupies, e xpressed in k i l o bytes (1024 bytes). In thi s d i spl ay, STAT r e ports that th e f i l e P R I N T O U T .DOC occupies 18 k i l o b y tes of memory space. One kilobyte of space will hold 8 records. Howe ver, STAT c annot r eport f r actions of k i l o b ytes. If a f il e c o n tains anywhere from 1 to 8 records, STAT w i l l s t il l r e p ort that it occupies one kilobyte of space; where Ex t s t a n d s f o r t h e n u m b e r o f e x t ents that th e f i l e o c c u p i es. In this display, STAT reports that the file PRINTOUT .DOC occupies tw o e x t ents. On e e x t ent w i l l p r o c ess 16 k i l o b y tes of data. However, STA T c a n no t r e p ort f r actions of e x t ents. If a f ile occupies anywhere from 0 to 16 k i l o b ytes, STAT w i l l s t i l l report that it requires one extent to be processed; and where Acc i n d i c a tes the fil e's access status. The "R/W " a ccess status (read/write) enables you to ru n c o m m a nds to freely erase data from the f i le, or add d ata to th e f i l e . Th e " R /0 " a c cess status i mposes li m i t ations o n t h e c o m m a nd s t h a t y o u c a n r u n t o change the data in a file. The file PRINTOUT.DOC has R/W status. Page 2-266 1.3 Disk Space Consumed by Groups of Files To obtain th e s t atus of al l o f t h e f i l e s o n a d i s k w i t h o u t e n t ering a command line specifying each file on the disk, the drive letter and the ambiguous filename "+. +" can be entered, as in the follow in g com- mand line: A>STAT B:O. 4 RETURN Such an entry might produce a display like this: Recs B ytes Ex t 175 22k 2 160 20K 2 15 2k 1 9 119 201 Bytes Acc R/ W B: DATE0927. DOC R/ W B: DATE1003. DOC R/ W B: REPORT1. TXT 1K 1 R/ W B: REPORT2. FIL 15k 1 R/ 0 B: THATF ILK. COM 25k 2 R/ 0 B: THISFILK. COM Remaining On B: 26k (Such an operation wil l o nly reveal the files within the currently logged u ser area.) STAT c a n a l s o c o n vey th e s t atus of g r o up s o f f i l e s o n a disk when am biguous fil e n ames are entered w it h t h e asterisk and/or q uestion mark representing only part of the file names, as in the follow ing sample command lines: A>STAT B:W.COM RETURN A>STAT B:DATE????.DOC RETURN A>STAT B:REPORT?.4 RETURN Page 2-267 1.4 M easuring the Size of a File In addition t o a scertaining the actual am o un t o f d i s k s p ace occupied b y a f i le , S TA T c a n a l so r e p ort o n t h e o u t e r m ost bo u n d aries of t h e disk space occupied by a f i l e , or th e d i f f erence between the fi rst and last sectors occupied by the file. I n the case of sequential f i l es, the size of th e f i l e i s t h e s ame as th e number of r e cords because records are recorded on a d j acent sectors. The records of Random files, however, are often scattered over a wider d isk area than t hey actually o c c u py . T o d e t erm in e th e size of a f i l e , the normal comm and l in e for status of a particular fil e is entered, followed by a space and the characters "$" and "S", as shown: A>STAT C:PRINTOUT.DOC $S RETUR1V The preceding entry might produce the response: S ize R ec s B y t e s E x t A c c 140 1 4 0 l sk 1 R/ w c: P R INTQUT.Doc Bytes Remaining On C: 72k NOTE: If disks are switched from on e dr iv e to another between STAT runs, the in d i v i d ual f i l e statistics w il l b e accurate, but the " B y tes Remaining on X: nnk " m essage will d i s p lay a ki l obyte count that reflects t he remaining disk space on the disk that was first logged wi t hi n t h at particular dr iv e since bootup. Th erefore, to ensure a correct li sting of remaining disk capacity, you should perform a warm boot (enter CTRLC) if disks are switched between STAT runs . Page 2-268 2 A SSIGNING STATUS The STAT ut i l it y also performs functi ons wh ich al low d i sk p r otection, manipulation of f il e i n d i c ators, disk parameter statistics, user number display, and i n p u t / outpu t d e v i c e assignment. A l i s t o f t h e s e special STAT functions can be invoked by entering the follow ing command: A>STAT VAL: RETURN In response, STAT wil l d i splay the follow in g li st : T emp R/0 Disks: d : =R/0 Set Indicator: d: filename.typ $R/0 $R/W $SYS $DIR Disk Statu s : D S K :d : DSK: U ser Statu s : U S R : Iobyte Assign: CON: RDR: PUN: LST: = = = = (2. 1) (2. 2, 2. 3) (2. 4) (2. 5) (2 s) TTY: CRT: BAT: U C1: TTY: P TR: UR1: UR2: TTY: PTP: UP1: U P 2 : TTY: CRT: L PT : U L 1 : 2.1 Temporarily Changing a Disk's Access Mode The category title " A cc " i n m a n y S TA T d i s p l ays stands for the access m ode of a f i le. A f i l e ' s access mode could b e ei ther R/W or R /0 . T h e R/W (Read/Write) m ode al l ow s yo u t o w r i t e d at a t o t h e f i l e o r e r ase data from it. The R/0 (Read/Only) m ode prevents insertion or deletion of data within the file. To temporarily change the access mode of all f i les on a disk from R/W t o R/0, requires the entry o f " S T A T " , a s p ace, the name of th e d r i v e c ontaining th e d i s k t o b e p r o t e cted, a c o l on , a n " = " s i gn , th e n e w a ccess mode "R/0" , and a carriage return. The foll o w in g example il l u strates such a command line: A>STAT B: = R/0 RETURN A fter the entry o f t h i s c o m m an d l i n e , n o d at a or s o f tw are on d i s k B c an be erased or overwr i tt en. The pr otection f u r n i shed by th e R/0 a c cess mode will remain in effect until a warm or cold boot is performed. Page 2-269 I f you p r o tect f i les i n t h i s m a n n er, i n v ok e th e E D u t i l i t y , an d t r y t o write to or d el ete from a f il e on th e d i sk, the fo l l o w i n g error m essage is displayed: Bdos Err On B: R/ 0 CP/M will not allow alteration to file contents, and wil l p erform a warm boot wit h t h e n ext ke y p r essed after thi s m essage is displayed. A fter this warm boot is performed, the disk's files are reset to the R/W access mode. 2.2 Changing a File's Access Mode T he R/W (Read/Write) m od e a l l ow s y o u t o w r i t e d a t a t o t h e f i l e o r e rase data from i t . T h e R/ 0 ( R e ad/Only) m o d e p r ev ents i n sertion o r deletion of f il e data, and it can be appl ied to f i les by the set in d i cator commands "$R/0" and "$R/W". I ndividual f i l es, or groups of t h em , can be gi ven th e R/ 0 s t atus w i t h t he entry o f " S T A T " , a s p ace, the d r iv e s p ecification, th e f i l e n a m e , a space, the characters "$R/0" , and a carriage return. For instance, the file named " A R CHIV A L .DOC" on th e d isk i n d r i v e B can be protected from alteration by the follow ing entry: A) STAT B:ARCHIVAL.DOC $R/0 RETURN T o give R/0 s t atus to a gr ou p o f f i l es, enter th e " + " o r " 7 " w i l d c a r d c haracters in p l ac e o f t h e v a r i able p art o f t h e n a m e s o f t h e f i l e s i n the group. After this command has been given, the following message is displayed: ARCHIVAL. DOC set to R/0 A ttempts to w r i t e t o o r erase from t h i s f i l e u s in g any t ext ed i tor w i l l produce the message: B dos Err On B: F i l e R / 0 Page 2-270 Y ou must e n ter a k e y board c h aracter to w a r m b o o t t h e s y stem. T h e R /0 attribute i s r e corded i n t h e d i r e ctory an d w i l l n o t c h a nge if t h e system is rebooted. The file can be made Read/Write again by entering a similar c o m m an d w i t h t h e c h a r acters " $R/W " i n p l a c e o f " $ R / 0 " , as in the follow ing example: A>STAT B:ARCHIVAL.DOC $R/W RETURN 2.3 Changing a File's System Status Individual f i l es, or g r o up s o f t h em , ca n b e g i ve n t h e s y stem status, which prevents their mention i n d i r e ctory l i st i ngs, prevents access by the editor, and prevents copying by PIP (except with th e " [ R]" pararnet er). This status i s a p p l i e d t o a f i l e w h e n t h e e n tr y o f " S T A T " , t h e drive specification, an d t h e f i l e n a m e i s f o l l o w e d b y t h e c h a racters "$SYS". For instance, the file "SYSTEM.COM" on drive B becomes ineligible for directory Inention, editing, and copying (except wit h [R ]) when the follow ing command is entered: A>STAT B:HIDEFILE.COM $SYS RETURN After this command has been given, the message: HIDEFILE.COM set to SYS is displayed. To illustrate how t hi s status protects a file, efforts to edit the file using the ED utility w il l p r o d uce the message: CSYSTEM" FILK NOT ACCESSIBLE I n additi on , a c h eck o f t h i s f i l e u s i n g a d i f f e rent f or m o f t h e S T A T c ommand w il l a lso pr oduce noteworthy results, as shown. If you n o w enter the command: A>STAT B:HIDEFILE.COM RETURN the follow ing display wil l appear: Recs B y t e s E xt Ac c 38 5k 1 R/W B: ( H I DEFILK. COM) Bytes Remaining On B: 19k Page 2-271 W hen a fil e bears the SYS status, it w i l l listing in a STAT file report. h a v e p arenthesis around i t s T he system attribute can be r e m oved f ro m t h i s f i l e b y t h e f o l l o w i n g entry: A) STAT B:HIDEFILE.COM $DIR RETUR1V The $DIR argument in a STAT comma nd li ne lif ts all of the restrictions imposed by the $SYS argument in a previous STAT command . 2.4 Listing Disk Characteristics C haracteristics of al l d i s k s b e in g u sed ca n b e o b t a ined b y e n t e r i n g "STAT", a drive specification, "DSK:", and a carriage return, as shown: A) STAT B:DSK: RETUR1V S TAT will l ist a display similar to the follow i n g : B: Drive Characteristics 736: 128 Byte Record Capacity 92: Kilobyte Drive Capacity 64: 32 Byte Directory Entries 64: Checked Directory Entries 128: Records/ Extent 8 : Records/ B l o c k 2 0: Sectors / T r a c k 3: Reserved Tracks Where the letter "B" to the left of " D r iv e Characteristics" i n d i c ates the selected drive, which contains the disk being analyzed (a 5.25inch hard-sectored disk in the example above); where th e s e c on d a n d t h i r d l i n e s i n d i c a t e t h e d i s k ' s t o t a l ' Record capacity" and "Kilobyte Drive Capacity, respectively (these totals are s ometimes dependent u p o n t h e s e l ections m ad e d u r i n g t h e F ORMAT ut i l i t y ) ; where the directory can hold a maximum of "64" entries; w here t h e n u m b e r o f " c h ecked Directory Entr i e s i s u s u a l l y i d e n t i c a l t o t he directory s ize fo r f l o p p y d i s k s , si nce t hi s m e c hanism i s u sed to detect changed disk media during CP/M operation wi t h out an intervening warm boot; Page 2-272 where the number of ' Records/ Extent i n d i c ates the addressing capacity of each directory entry; where the number of ' Records/ Block i n d i c ates the basic size of a block. By knowing that a record contains 128 bytes, you can calculate the number of bytes in a block; w here the n u m ber o f " s ectors/ Track" can h el p y o u t o d e t e r m in e t h e number of sectors on the disk i f yo u m u l t i p l y t h i s n u m ber by the number of tracks on the disk; and w here t h e " R eserved Tracks a r e r e s e r v e d f o r t h e o p e r a t i n g s y s t e m a n d the disk file directory. A ny d r iv e f r o m A t h r o u g h P c a n b e s p e ci fied i n t h i s c o m m a nd , a s long as it is a vali d d r i v e i n th e h a r d w are environm ent and op erating system being used. If no d r iv e i s specified in th e c o m m and l i n e, th en d isk characteristics w il l b e d i s p l ayed fo r th e d i s k i n e ac h d r i v e t h a t has been logged since the last cold boot. 2.5 E x a m i n ing User Areas User access to certain f i les can be con tr olled by a ssigning user areas to the files. (See text on USER resident command.) The foll o w in g form of the STAT ut i l it y w i l l d i s p lay a list of the numbered user areas which have files on the currently logged disk. A) STAT USR: RETURN This entry might produce the response: A ctive User : 0 Active Files: 0 1 3 The first l i n e o f t h e d i s p la y l i st s th e c u r r entl y l o g ged u ser area, or "Active User", wh ich was set at zero either by the last USER command, or by a cold boot. Page 2-273 The second line li sts the other user area numbers that have been establ ished for f i l e s o n t h e d i sk . T h i s l i s t i s d i s p l ayed as " A c t i v e F i l e s" , and indicates that additi onal files can be accessed by logging user area one or three. To determine th e " A c t iv e U s er" an d " A c t i v e F i l es" o n a n o n - d efault disk, a similar STAT command can be entered with a drive specification at the end of the command line, as in the follow ing example: A) STAT USR:C: RETURN You can examine the directories of the other user areas by first issuing t he USER resident comm and w i t h t h e a p p r o p r i ate area number. Th e D IR (directory) resident co m m and w i l l t h e n h e l p t o d e t er m in e w h a t files are in a particular user area. 2.6 Temporarily Matching Logical and Physical Devices The STAT u t i l it y also enables you to m o n i tor and temp orarily control the assignment of physical input/output devices to the appropriate logical device names. In general, there are four l o gical peripheral devices which, at any given ti me, are each assigned to one of several physical devices. The f our l o g i cal d e v i ces, and th e p h y s i cal d e v i ces assigned to each of th em, are shown i n th e d i s p lay i n v o ked by the S TAT V A L : command, and in the follow ing table: Page 2-274 LOGICAL DEVICE NAME PHYSICAL DEVICE NAME D ESCRIPTION A N D / O R C A TA LO G N AM E OF REC O M M E N DE D N A M E N AME INPUT/OUTPUT M A C H I N E CON: TTY: A ny n o n - h a n d shakin g R S - 23 2 A S C I I terminal at port ODOH A ny n o n - h a n d shakin g R S - 23 2 v i d e o terminal at port OE8H A batch p seudo d e v ice u s ing RDR: for input and LST: for output A ny handshaking RS-232 terminal w i t h ETX/ACK protocol, eg. Diablo KSR 1640 printing terminal CRT: BAT: UC1: TTY: PTR: UR1: UR2: PUN: TTY: PTP: UP1: UP2: LST: TTY: CRT: LPT: UL1: A ny n o n - h a n d shakin g R S - 23 2 A S C I I terminal at port ODOH Null s o u r ce, no t i m p l e m e nted, r eturns "end-of-file" character w h en an accessed An input modem at port OD8H System terminal A ny n o n - h a n d shakin g R S - 23 2 A S C I I terminal at port ODOH Null sink, not imp l emented An output modem at port OD8H System terminal A ny n o n - h a n d shakin g R S - 23 2 A S C I I terminal at port ODOH (eg. WH-34) A ny n o n - h a n d shakin g R S - 23 2 v i d e o terminal at port OE8H l ine p r i n ter ( eg. H - 14, W H - 14, W H - 2 4 , H/Z25, WH-36, Epson MX80) Any Diablo printer Table 2-4 Possible Device Assignments Page 2-275 E XAM I N A T ION OF CUR R EN T DEVICE ASSIGN M E N T S The current assignments of the phy sical devices to logical devices are shown in the display invoked by the follow ing command entry: A>STAT DEV: RETURN T his command produces a display similar in form to the follow i n g : CON: is RDR: is PUN: is L ST: i s CRT: UR1: UP1: UL1: C HANGING DEVICE ASSIGNMENT S The current l o gical to p h y sical d ev ice assignment can be changed by entering a STAT command in the follow ing form : A>STAT (logical device}: = {physical device):RETURN Where both the "logical device" and the "physical device" are specified by their four-character names. F or example, th e f o l l o w i n g e n t r y w i l l c h a n g e t h e p h y s i cal d e v i c e a ssigned to t h e c o n s ole l o g i cal d e v ic e ( C ON:) t o a t e l e t yp e p r i n t e r terminal (TTY:): A>STAT CON: = TTY: RETURN Several device assignments can be affected in one command by entering equations in series, separated by commas, as shown: A>STAT RDR: = PTR:,PUN: = PTP:,LST: = LPT: RETURN The physical device names may or may not actually correspond to the devices which th e n a mes im p ly . Fo r i n s tance, the PTR: device could be impl emented as a cassette/write operation i f y o u w i s h . T h e e x act correspondence and dri v ing subroutine is defined in th e BIOS portion of CP/M. P hysical to l o gical d e v ice pairings assigned by th e S TA T u t i l i t y w i l l s urvive a w ar m b o ot , bu t ar e r e p l aced by d e f aul t assignments w h e n a cold boot is performed. Default assignments, that wil l s u r v iv e a cold b oot, may be changed through the CONFIGUR utili t y . Page 2-276 3 S TAT ERROR MESSAGES Bad Delimiter EXPLANA T I ON : Yo u e n t ered a c o m m an d l i n e w i t h i m p r o p er sy ntax while assigning some type of status (2). Command should be re-entered in the proper form. Invali d Assignment E XPLANA T I ON : You t r ied to m ake a device assignment w it h a d ev i c e name that is no t l i s ted i n T a bl e 2 -4. You sh o ul d r e -enter assignment using valid device names. Invalid File Indicator E XPLANA T I ON : Y o u t r i e d t o s e t a f i l e f o r a p a r t i c u lar st atus u s i n g an in d i cator o r s y n t a x t h a t i s n o t a c c e ptable. Yo u s h o u l d r e - enter command with a proper indicator. File Not F ound EXPLANA T I ON : STAT f o un d n one of the specified fi les on the logged disk. You s h o ul d r e - enter c o m m an d s p ecify in g d i f f erent f i l e n a m e s, or perform a warm boot and insert a disk that has the specified file(s). Wrong Cp/M Version (Requires n.n) E XPLANA T I ON : T h e S T A T . COM f i l e i n u s e m u s t b e u se d w i t h t h e o perating system version corresponding to th e n u m ber ( " n . n" ) i n t h e error message. Invali d D i s k Assignment You entered a disk assignment comm and t hat i n c l u ded a status other t han " R / 0 " o r " R / W " . R e - e n ter th e c o m m a n d w i t h c o r r e c t s y n t a x . * * Abor t e d * * You tried to enter a command w h i l e a STAT status command was still e xecuting. W hen y o u a s sign status (such as R /0 , R /W , S YS , or D I R ) to a file, you must w ait for th e status command to execute completely and for the system prompt to appear before you type the next command. Page 2-277 SUBMIT The Utility t hat Triggers Automatic Execution of CP/M Commands T he SUBMI T u t i l i t y e n a b les yo u t o i n i t i a t e a u t omatic e x ecution o f s everal s e qu ential c o m m a n d s ( 3 ) b y i ss u i n g o n l y o ne SU B M I T c ommand ( 2) . T h e S U B M I T c o m m an d a c c esses a f i l e c o n t a i n in g a p recomposed s equence o f c o m m a n d s ( 1 ) . Y o u c an also v a r y t h e e xecution o f t h i s com m a n d s e q u e n ce w ith e a c h i n v o c a t io n b y substituting command line parameters such as file names, drive names, and device names for variables inserted into the command file. 1 SUB FILES A SUB f i l e i s a f i l e w i t h t h e " S U B " e x t e n sion, w h i c h i s c o m p r i sed of a sequence of command l i nes composed using a text editor (eg ED). The SUB f i l e i s t h e s o u rce of t h e c o m m an d sequence referenced by t he SUBMI T c o m m a nd . Th e c o m m an d l i n e s w i t h i n a S U B f i l e c a n contain prototype parameters to represent command l in e fi elds. These prototype parameters appear in the SUB file in the form: W here each n u m eral ( " n" ) p r eceded by a d o l l a r s ig n ( " 5 " ) t a kes t h e p lace of a f i l e n a me, dr iv e n ame, or d e v ice name w h i c h y o u will s u b stitute i n t o t h e S U B f i l e w i t h a n a c t u a l p a r am eter e ntered in the SUBMIT command li n e . Page 2-278 T he follow in g example shows the text of th e SUB f i l e w i t h t h e n a m e "MULTIJOB.SUB", which contains two prototype parameters: ASM $1 DIR $1 E RA +. B A K PIP $2: = $1.PRN ERA $1.PRN 2 SUBMIT COMMAND LINES T he SU B MI T u t i l i t y i s i n v o k e d a n d o p e r a ted b y u s e r e n t r y o f a command line in the form of the follow ing example: SUBMIT MU L T IJOB PROGRAMX LST RETURN Where MU L T I J OB i s t h e n a m e o f th e SU B f i l e f i l l e d w i t h ba t c h commands; and where PROGRAMX and LST are parameters which will be substituted into one or more locations in the batch file. A n a c t ua l S U B M I T p a r a m eter i s t he ex p l i c i t s p e c i f i catio n o f a c ommand, f i l e , d r i ve , o r d e v ic e w h i c h y o u w a n t t o s u b s t i t ute fo r a prototype parameter w i t h i n t h e SU B f i l e . Th e n u m ber o f p a r ameters specified in a SU BMI T c o m m and l i n e m ust correspond to the nu m b er o f different p r o t otype p arameters that ap pear w i t h i n t h e SU B f i l e i n t he form "$n " . Page 2-279 3 SUBMIT EXECUTION After th e e n tr y o f a S U B M I T c o m m an d l i n e , S U B M I T w i l l c r e ate a file named $$$.SUB, and send i t t o t h e C o nsole Command Pr ocessor ( CCP) po r t io n o f t he op e r a t in g s y s t em . T h e C C P r e c o gnizes t h e commands in the SUB file and executes them in sequence. The $$$.SUB file contains the actual parameters expressed in the SUBMIT comm and s ubstituted f o r t h e c orresponding p r o t o t yp e p a r ameters w h i c h a r e i mbedded i n t h e o r i g i na l S U B f i l e . I f c r e a ted i n r e s p o nse t o t h e p receding example command l i ne, the $$$.SUB file w o ul d c ontain th e following commands: ASM PROGRAMX DIR PROGR A M X . * ERA *.BAK P IP LST : = PROGRAMX.PRN ERA PROGRAMX.PRN 4 SUBMITTING A SUB FILE FROM A DRIVE OTHER THA N A T he $$$.SUB fil e m ust ex ist on a d i s k i n d r i v e A f o r t h e c o m m a n d s to be executed. How ever, the SUB f il e u sed by SU B MI T t o c r eate the $$$.SUB file can reside on a disk in any existing drive; and the $$$.SUB file can be created on a disk in any existing drive. I f $$$.SUB i s c r eated on a d i s k i n a d r i v e o t h e r t h a n d r i v e A , y o u m ust adhere t o o n e o f t h e f o l l o w i n g s et s o f s t i p u l a t i ons t o i n i t i a t e command execution: • T he driv e l o cation o f t h e d i s k c o n t ai n in g th e SU B f i l e m u s t b e specified i n t h e S U B M I T c o m m an d l i n e . $ $ $.SUB i s c r eated on a bootable di sk , th e d i s k i s p l a ced i n d r i v e A , a n d t h e s y stem must be rebooted with drive A as the default drive. • T he driv e l o cation o f t h e d i s k c o n t a i n in g th e SU B f i l e m u s t b e s pecified i n t h e S U B M I T c o m m an d l i n e . T h e $ $ $ .SUB f i l e c a n b e created on any disk and then copied to a disk in d r iv e A u s i n g t he PIP u t i l i ty . T h e d i s k i n d r i v e A m u s t b e w r i t e e n abled an d have sufficient space to accommodate the $$$.SUB file. Page 2-280 5 A BORTING SUBMIT COMMAND EXECUTION Execution of submitted commands can be aborted at any time by entering a DELETE, RETURlV, or CTRL-C wh en t he c o m m a nd is r e ad and echoed. In this case, the $$$.SUB file is removed, and the subsequent commands come from the console. Command processing is also aborted i f the CCP detects an error in an y o f t h e c o m m a n ds. Programs wh i c h execute under CP/M can abort processing of command fi les when error conditions occur by simply erasing any existing $$$.SUB file. 6 UN C O N V E N TIONAL TEXT IN A SUB FILE You can insert comments into a SUB file so that they w il l be di splayed with the other messages produced by th e p r ocessing of SUB f il e comm ands. To en sure that th e CCP i g n ores the c o m m ents an d d oes n o t i nterpret them a s c o m m ands, they m u s t b e e n t ered on a l i n e w h i c h begins with a semicolon (;). T o introduce lit eral do l lar signs into a SU B f i l e , you ma y e n ter " $ $ " , which t r anslates to a si n gle "$ " w i t h i n t h e SU B f i l e . F u r t h ermore, a caret symbol ( " ) can precede the alphabetic character X, which produces a single CTRL-X character within the file. 7 CHAINED BATCH COM M A N D S T he last command i n a SU B f i l e can be a SU B MI T c o m m a nd , w h i c h could either i n i t i ate execution of th e c o m m a nds w i t h i n a n o t her SU B f ile, or r epeat execution of th e c o m m a nds w i t h i n t h e s ame f i l e . Y o u c an incl ud e d i f f erent p arameters to b e s u b stituted fo r SU B f i l e p r o totypes to cause varied repetition of the same set of commands. Page 2-281 8 Error o n S U B M I T ER R O R M E S S A G E S L i n e nn n No 'SUB' Fi l e P r e s ent E XPLANA T I ON : SU BMI T c o m m an d can o nl y b e i s sued if a f i l e w i t h the "SUB" extension exists on a logged disk, and if that file is specified i n the SUBMIT comm and l i ne. You should re-enter the command w i t h a different argument, or log the disk with the appropriate SUB file. Disk Write Error E XPLANA T I ON : SU B MI T f o u n d i n s u f f i c i ent d i s k s p ace w h i l e t r y i n g to create $$$.SUB f il e o n t h e d i sk . Yo u s h o ul d c l ear of f s om e space o n the d is k or u s e an o t h e r d i s k . P arameter Err o r E XPLANA T I ON : Y o u e n t ered an i n v a li d p a r am eter i n t h e S U B f i l e . Y ou shoul d e d i t SU B f i l e , w i t h o n l y d e c i ma l i n t egers foll o w i n g t h e "$" sign for a parameter. Directory Full EXPLANA T I ON : SUBMIT t r ied to create SUB file on a disk that di dn' t have enough directory space to accommodate the SUB f il e name. You should clear off some space on the disk or use another disk. Cannot Close, Read/Only? EXPLANA T I ON : SU B MI T i s t r y i n g t o w r i t e d ata to a d i s k (as one of the activities prescribed in a SUB file command li n e], but the file being w ritten to ha s R/0 ( r ead/onlyj status. You m u s t use the STA T u t i l i t y t o change the f i l e's status to " R /W " ( r e ad/wr i t ej ; or c h a nge th e SU B file command l i n e t hat is t r y in g to w r i t e t o th e f i l e ; or enter d i f f erent SUBMIT parameters. Page 2-282 Page 2-283 SYSGEN The Utility that Puts the Operating System on a Disk The SYSGEN util it y i s used to transfer the operating system to a di sk. Under some circumstances, SYSGEN does this task by itself. Sometimes SYSGEN needs the help of other util i t ies before an entire, usable system can be put on the disk. 1 SYSGEN INVOCATION No matter w h i c h S Y SGEN m e thod i s t o b e p e r f o rm ed, th e SY SGEN utility i s i n v o ked b y e n t ering th e f o l l o w i n g c o m m an d a t t h e s y stem prompt: A )SYSG E N R E T U R % A display in the follow ing form wil l appear: SYSGEN VER 2. 0. 04 SOURCE DRIVE NAME (OR RETURN TO SKIP): The next entry you Inakes depends on the method used. Page 2-284 2 SYSGEN METHODS Y ou must consider the situation before ru n n in g SY SGEN, so that t h e appropriate SYSGEN method is used. A n operating system m us t b e c o m p at i bl e w i t h t h e d i s k i t i s c o p i e d to, and Heath/Zenith sup p orts four t y pes of d i sk : (5.25-inch hard-sect ored, 5.25-inch soft-sectored, 8-inch, and any d i sk u sed in th e H / Z 6 7 Winchester Disk d r iv e m o d el). Fu r thermore, Heath/Zenith c o m p u t ers c an a c c o m m o dat e s y s t em s o f d if f e r en t m e m o r y c a p a c i t i es. T h e M OVCPM ut i l i t ies are used to customize the system for both disk ty p e and memory capacity. • If a M O V C P M u t i l i t y w a s not necessary to customize the operating s ystem for d isk t yp e or m e m ory c apacity, then th e " D i s k t o D i s k System Copyi ng" m e t ho d ( 2 .1) shoul d b e u s ed . ( Th e B SYSGEN utility could also be used in this case.) • If a M OV CP M u t i l i t y i s u s e d t o c u s t o m i ze an o p e rating s ystem before transfer, then this system wil l r eside in the computer wh en SYSGEN is invoked, and the "Com p uter to Disk System Copying" method (2.2) should be used. NOTE: When the CP/M Operating System is copied to a disk, it is moved in two parts: the system kernel and the BIOS.SYS file. The "Comp u t er to Disk Sy stem C o p y i ng " m e t ho d d o e s no t c o p y t h e f i l e B I O S .SYS. I f this m e t hod i s u s ed, then th e PIP or M A K E B IO S u t i l i t y m u s t a l s o be used to copy the BIOS.SYS file. 2.1 Disk to Disk System Copying If the operating system is being copied between tw o d i sks of the same t ype, you can c opy b ot h th e sy stem k ernel an d t h e B I O S.SYS fil e t o the destination disk using this SYSGEN method. (This method is used when a MOVCPM activity does not precede the copy activity. ) Under these circumstances, you shoul d an swer th e " S O URCE DRIVE NAME" prompt by typing the letter for a drive name, as shown: SOURCE DRIVE NAME (OR RETURN TO SKIP): x Where x is the letter of the source drive. SYSGEN will respond with a prompt in the follow ing form : SOURCE ON x, THEN TYPE RETURN Page 2-285 Y ou should an swer t hi s p r o mp t w i t h a c a r r iage return. SYSGEN w i l l r ead the system k e rnel f ro m t h e s o u rc e d i sk , an d s i g nal t h a t i t h a s done so with the follow ing message: FUNCTION COMPLETE T hen SYSGEN w i l l o f f e r t h e o p t i o n o f c o p y i n g B I O S.SYS fro m t h e source disk with the prompt : COPY BIOS. SYS (Y/N): If the you w i s h t o c op y th e f i l e B I O S.SYS from th e source di sk, then Y should be pressed, and SYSGEN will again display the message: FUNCTION COMPLETE If you w i s h t o c op y a B I O S.SYS fil e t hat i s no t s t ored on th e s o urce d isk, (or a f il e by a n o ther name that contains a BIOS) then N s h o u l d be pressed. After either e n t ry , S Y SGEN w i l l p r o m p t f o r t h e d r i v e t h a t c o n t ain s the destination disk. You should answer the prompt as shown: DESTINATION DRIVE NAME (OR RETURN TO REBOOT): y Where y is the letter of a valid, working drive. Then SYSGEN will di splay the prompt : DESTINATION ON y, THEN TYPE RETURN You should enter a carriage return at this prom pt, to confirm the destin ation driv e choice. SYSGEN wil l p u t t h e system kernel, and in som e c ases the BIOS.SYS file, onto the destination d i sk . (The d isk i n d r i v e 44 t ! ) T hen SYSGEN will again display the prompt : DESTINATION DRIVE NAME (OR RETURN TO REBOOT): If you wish to copy the same system components to a different destinat ion di sk, t hen th e l e tter of th e d r i v e c o n t aining t hi s d i s k s h o ul d b e entered. If you do not wish to SYSGEN other disks, then a carriage return should b e pressed. The SYSGEN activity w i l l e n d , and CP/M w i l l d i s p lay th e rompt. systemp Page 2-286 2.2 Computer to Disk System Copying If you have just run a MO V C PM ut i l i t y to c us tomize the operating system for d i s k t y p e o r m e m or y c a p acity, t hen t h i s s y stem st il l r e s i d es i n the m e m ory o f t h e c o m p u t er. Yo u ca n c op y t h i s s y stem f ro m t h e computer to the disk by using this method. When SYSGEN prompts for " SOURCE DRIVE NA M E " , you m ust enter a carriage return — not a drive name. SOURCE DRIVE NAME (OR RETURN TO SKIP) R ETU R N SYSGEN wil l no w p r o mp t yo u fo r th e d r iv e that contains the destination disk. You should answer the prompt as shown: DESTINATION DRIVE NAME (OR RETURN TO REBOOT) Where y is the letter of the dr iv e containing the disk that is to receive t he system k e r n el . ( T h e B I O S .SYS f i l e c a n n o t b e c o p i e d through this SYSGEN method.) S YSGEN will request confirmation with the prompt : DESTINATION ON y, THEN TYPE RETURN Y ou should e n ter a c arriage return at t h i s p r o m pt . SY SGEN w i l l p u t the system kernel onto the destination disk (the disk in drive y). Then SYSGEN will again display the prompt : DESTINATION DRIVE NAME (OR RETURN TO REBOOT): I f you w i s h t o p u t t h e s y stem k e rnel o n a n o t her d i sk , t hen t y p e t h e letter of the drive containing the other disk. I f you d o n o t w i s h t o p u t t h e s y stem k e rnel o n a n o t her d i sk , an d i f you have not specified dr iv e A a t a p r e v i ous " DESTINA T IO N D R IVE" p rompt, then en ter a c arriage return at t h i s " D E STIN A T IO N D R I V E " prompt. The SYSGEN activity w i l l e nd a nd C P/M w i l l d i s p l ay the system prompt. Under thi s prompt. m e t h od , a c a r r i age return s h o uld no t b e e n t e red at t h i s Page 2-287 I f you do not w i s h t o SYSGEN other di sks, and you di d s p ecify d r i v e A at a previous "DESTINA T ION D R IVE" p r o m pt , then you m ust reset the computer at this "DESTINA T ION DRIVE" prompt (rather than entering a carriage return). Resetting the computer at this prompt is necessary because entry of a carriage return at t hi s p r o mp t c auses a warm bo ot , w hich w o u l d c a use the new s y stem k ernel (recently r ecorded on t h e disk in d r iv e A ) to be loaded into com p u ter m em ory. It is u n d esirable t o load any p ar t o f t h i s n e w s y stem k e r nel i n t o m e m or y o n a w a r m b oot because it m i gh t h ave just been changed by a M O V CPM u t i l i t y . T herefore, it m i gh t b e o f a d i f f erent size than th e sy stem k ernel t h at was loaded into memory at bootup. When you use SYSGEN by th e " C o m p u ter to D i sk " m e t h od , SYSGEN will not copy the BIOS.SYS file. Therefore, in order to make the destinat ion disk b o otable, you m u s t c op y t h e B I O S.SYS fil e t o i t u s i n g t h e PIP utility or the SUBMIT and MA K E B IOS util i t i es. The PIP utility can be used to transfer the BIOS.SYS file, as shown: A>PIP y: = x:BIOS.SYS[RV] RETURN C Where y is the destination disk receiving BIOS.SYS; where x is the source disk from whi ch BIOS.SYS is copied; and where [RV] a re PIP parameters used to h e lp y ou c o py a f i l e t h a t h a s system status, and to help you v er ify th e accuracy of the copy operation. The MA K E BIOS ut i l it y ca n b e u sed t o t r ansfer the B I OS.SYS file, as shown: A>SUBMIT MAKEBIOS y x RETURN Where y is the destination disk receiving BIOS.SYS; and where x is the disk containing the fil es BIOS.ASM, MA K E B I O S.COM, MAKEBIOS.SUB, and PREL.COM. NOTE: The M A K E B IOS ut i l it y c u st omizes the system before transferring it t o th e d estination d i sk . See the text on M A K E B IOS for d etails on its use. Page 2-288 3 SYSGEN ERROR MESSAGES INVALID DRIVE NAME E XPLANA T I ON : You m u st specify a d r iv e l etter corresponding to t h e names of drives that exist in the hardw are environment, and are recognized by the operating system that was loaded at bootstrap. NO SOURCE FILE ON DISK EXPLANA T I ON : The drive specified as "SOURCE DRIVE" did not contain the fil e B I OS.SYS. You shoul d us e a d i f f erent d isk i n t h e s o ur ce d rive, or r ename a BIOS f il e t hat has been given a d i f f erent n ame t o "BIOS.SYS". SOURCE FILE INCOMPLETE E XPLANA T I ON : S Y S GEN f a i l e d i n an attemp t t o co p y t he f il e BIOS.SYS from the disk in th e source drive. This file m i ght h ave been damaged by disk media flaws or partially overw r i t t en. You should reset, perform bootstrap, and re-enter the SYSGEN command using a different disk in the source drive. WRITE ERROR DURING BIOS. SYS EXPLANA T I ON: You should try SYSGEN again with a destination disk t hat is w r i t e e n abled, formatted, and h a s at l e ast 6 k i l o b y tes of f r e e space. ERROR READING BIOS. SYS E XPLANA T I ON : S Y S GEN f a i l e d i n an attemp t t o co p y t he f i l e BIOS.SYS from the disk in th e source drive. This file m i ght have been damaged by disk media flaws or partially overw r i t t en. You should reset, perform bootstrap, and re-enter the SYSGEN command using a different disk in the source drive or using a different disk to perform bootstrap. PERMANENT ERROR, TYPE RETURN TO IGNORE EXPLANA T I ON : The system kernel or BIOS.SYS file are either incompatible with the destination disk type or otherw ise flawed. You should reset, perform bootstrap, and re-enter the SYSGEN comm and u s in g a different disk i n t h e source dr iv e or u s ing a d i f f erent d isk t o p e rform b ootstrap. Under some circumstances, you must use a MOVCPM ut i l i t y before SYSGEN. Page 2-289 TYPE The Resident Command that Displays File Contents on the Console The TYPE command d i s pl ays to the console the contents of specified files (1). Fast scrolling displays can be controlled to make them readable (2). TYPE is best used on certain kinds of files (3). 1 D I SPLAYING A FILE To produce a console display of the contents of a disk fi le, you should r espond to th e system pr omp t w i t h a c o m m an d l i n e i n t h e f o l l o w i n g form: A>TYPE (file name) RETURN Where (file name) is the complete, explicit name of a file. I f you must examine a file that resides on disk i n a n o n - default dr i v e , this drive must be specified imm ediately before the file name specificat ion. For ex am p le, i f t h e f i l e " L O G D RIVE.TXT " r e s i des on a d i s k i n d rive B, its contents will be displayed on the screen when the follow i n g command is entered: A>TYPE B:LOGDRIVE.TXT RETURN Page 2-290 2 SCREEN DISPLAY CHARACTERISTICS T he display pr oduced by T YPE w il l s c r oll b y o n th e console until t h e entire contents of the fil e have been displayed. You can term i n ate the d isplay d u r i n g i t s e x ecution an d r e t ur n t o t h e o p e r ating sy stem b y p ressing any ch aracter other than C T RL-S. Th e d i s p lay scrol l ca n b e halted t e m p oraril y b y e n t e r ing CT R L -S c h a racter, a nd r e s t arted b y pressing CTRL-S (or any other character) again. Some of the special features (boldface type, underli n i ng, etc.) inserted into text files by some word pr ocessing systems might not be in d i cated in screen displays produced by the TYPE command. 3 P RACTICAL USAGE OF TYPE T he most d e sirable usage of th e T Y P E c o m m an d i s t o d i s p l a y f i l e s composed with A S CII characters (printable letters and numbers). If the T YPE command i s i s sued for a f i l e w i t h a " . C OM " e x t e n sion (or f o r any file stored on the disk in b i n ary form) the resulting screen display will contain a meaningless series of characters. To obtain a p aper pr i n t out of th e f i l e , enter a CT RL-P before entering the TYPE c o m m an d l i n e . P r i n t o uts w i l l n o t e x h i b i t s p e cial f e atures ( boldface type, underli n i ng, etc.) that are inserted int o some text f i l e s by word processing programs. Page 2-291 USER T he Resid en t C o m m a n d t h a t C o n t r o l s U s e r A c c e s s t o File Areas The USER command enables a user to access only f i les in a specified a rea of the disk directory (1). You can log into USER areas by invoki n g a single USER command l i n e (2). You m u s t i m p l e m ent a sequence of commands to put files into a non-zero USER area (3). 1 U SER INVOCATION File directories supported by the CP/M system are divi ded into 16 user a reas. When a u ser i s l o gged i nt o a p a r t i c u lar U SER area, then o n l y t he files w i t hi n t h a t a rea are accessible (except by i m p l e m enting t h e PIP utility w ith the "G" parameter). The USER comm an d i s u s e fu l w h e n s e v eral u s ers have f i le s stored on the same disk. File directory (DIR) and status checks (STAT) invoked by a particular user will list only the files in the user's specified area. Whenever a col d b oot i s p e r f orm ed, yo u ar e au t omatically l o gged in to USER area number 0. W h e n i n t h i s a r ea, onl y f i l e s i n U S E R area 0 of the directory are accessible. Page 2-2S2 2 I N V OKING USER T o make a user area other than n u m ber 0 a c cessible, you sh o ul d r e spond to the system prompt by entering a command line in the form: A>USER (area number) RETURN Where(area number) i n d i c a tes the n u m b e r, f r om 0 t o 1 5 , o f a n a r e a that contains files that you wish to access. T he USER command can be i ssued w h e n ever the system p r o mp t a p p ears. The currently-logged USER area wil l b e i n e f f ect for al l o f t h e disks in the hardw are environment, un ti l a d i f f erent USER area is logged or a cold boot is performed. 3 P ULLING FILES INTO USER AREAS Files can be pu l le d i n t o a U SER area that contains the f il e PIP.COM, but to pu t th e f i l e PIP.COM i n t o t hat U SER area in th e f i rst p l ace requires a special process. To put th e f il e PIP.COM i nt o a U SER area (other than area zero), you should follow the follow ing steps, in sequence: 3.1 3.2 3.3 3.4 3.5 3.6 I nsert disks that have the PIP.COM ut i l it y an d at least 8 kil o bytes of space available. L og U SE R a r e a z e r o ( o r w hatever U S E R a r e a c o n t a i n s PIP.COM) by entering the command USER 0 RETURN. Invoke the PIP utility by entering the command PIP RETURN. ( Specify th e n am e o f t h e d r i v e t h a t c o n t ains PIP.COM i f i t is not the default drive.) Press RETURN a t the asterisk (*) prompt. Log the desired USER area by entering the co m m and U S E R n RETURN, wh e re n is t he n u m b er ( 0-15) of t he U S ER area you wish to establish. Save the portion of th e com p u ter mem ory that now c o n t ain s the file PIP.COM by entering the command SAVE 29 PIP.COM RETURN. ( Specify the name of the dri ve on w h i c h y ou w i s h to establish the USER area if it is not the default drive.) Page 2-293 These six steps will place the file "PIP.COM" into the desired USER a rea (n). Once PIP.COM resides w i t hi n a U SER area, it can h el p y o u to pull other fi les into that USER area. The foll o w in g example di splay demonstrates how this procedure might appear on the console: (3 2) (3 3) (3 4) (3 5) (3 6) A>USER 0 RETURN A>PIP RETURN A>W RETURN A>USER 5 RETURN A>SAVE 29 PIP.COM RETURN I f you h a v e f o l l o w e d t h e p r e c eding e x am pl e p r o c edure, f il e c o p i e s c ould now b e p u l l e d i n t o U SER area 5 by th e e n tr y o f c o m m a nds i n the form: A>PIP B: = jdrive }:(file}[G(source area}]RETURN Where (drive} is the name of the drive from wh i c h f i le copies are being pulled; where (file} i s t he n a me of t he f i l e b e i ng p u l l e d i n t o t h e n e w U S E R area; and where(source area) i s t he n u m b er of t he U S ER area from w h i c h f i l e s are being pulled. Page 2-294 Page 2-295 XSUB The Utility that Batches Commands Within U ti l i t y Pr ograms for A utomati c Processin g The XSUB u t i l i t y e x t ends the p o wer of th e SU B MI T u t i l i t y t o e n able y ou to i n v o k e u t i l i t y p r o grams, and t h e n e x ecute co m m ands w i t h i n these programs, while making only one entry at the terminal . 1 X SUB OPERATION T he XSUB c o m m an d l i n e i s e n t e red as th e f i r s t l i n e i n a S U B f i l e . A SUB file is a text file composed of comm and l i nes that are executed i n sequence when a SU B M I T command line is entered at the system prompt. When the X SUB co m m and i s executed, it m o ves beneath the component of the operating system known as the Console Command Processor (CCP). All comm and l i nes after the XSUB command l in e are processed by XSUB, so that programs which u sually p r o mp t you t o m ake entries on the keyboard will accept entries directly from the SUB file. The XSUB pr ogram remains in m e m or y a f ter execution, and d i s p l ays t he message "(xsub active)" each time a warm boot is performed duri n g t he execution o f t h e $ $ $ .SUB f i l e . T h u s t h e i n i t i a l X S U B c o m m a n d in a SUB f i l e can r em ain i n e f f ect t h r ou ghout th e execution of ev ery command in the SUB file. Page 2-296 XSUB wil l d i s p lay th e m essage "XSUB already present" as you en t er the command XS UB at the system prompt ( through the console). Howe ver, this remnant of th e X SU B p r ogram w i l l n o t g o i n t o e f fect w h e n subsequent SUB files are submitted. Therefore, you must make "XSUB" the first line of any SUB file in wh ich XSUB execution is desired. NOTE: XSUB w i l l n o t s u p p or t th e s u b m i ssion of i n p u t f o r p r o grams w hich, w hen r u n , p r o mp t fo r s i n gle character in p ut . H e n ce, the on l y p rograms that can effectively b e u sed i n a S U B f i l e u n d e r X SU B a r e p rogram s t h a t a c c e p t i n p u t l i n e s e n d e d w i t h a c ar r i a g e r e t u r n , s u c h as DDT, PIP, LIST, and ED. 2 X SU B EXAM PLE The file "MEGAJOB.SUB" contains the follow ing command li n es: XSUB DDT I$1.HEX R GO SAVE 4 $2.COM P rocessing of this SUB file could be in i t i ated by entering the foll o w i n g command line: A>SUBMIT ME G A JOB P RGR M Y PRGR MZ RETURN T he preceding entry creates a $$$.SUB fil e i n w h i c h t h e p r i m ar y f i l e n ame "PRGRMY " i s s u b stituted fo r t h e p r o t o t yp e n am e " $ 1 " o f t h e SUB file, and "PRGRMZ" is substituted for the "$2" p r o totype parameter. As commands are read from th e $$$.SUB fi le, the XSUB u t i l i t y e n t ers computer memory. Then DDT enters and executes the DDT commands "IPRGRMY.HEX" , "R", and " G O" , w hich a r e a l s o i n c l u d e d i n t he $$$.SUB file. The DDT co m m and " GO" has the same effect as a warm boot, which enables the operating system to process the final command i n the $$$.SUB file, "SAVE 4 PRGRMZ.COM " . Page A-1 Appendix A: Operating System Error Messages This appendix expl ains error messages produced by the CP/M Operating System. CONVENTIONAL ERROR MESSAGES Causes: You tried to r un 3 ) a p r o g ram t hat r e quires 1) mo re m e mo ry than CP/M has available or 2) m or e m e m ory t han y ou r c o m p u ter h as available. Remedies: 1 ) Use a M O V C PM u t i l i t y a n d t h e S Y S GEN u t i l i t y i n s e quence to expand CP/M to the memory l i m i t of y our com p u t er. 2) Add more memory to your computer. 3) Make your program smaller. Page A-2 Bdos Err On x: Bad Sector Causes: (Where "x:" is the name of a drive whi ch CP/M tried and failed t o read data f r om , o r w r i t e d at a to , a d i s k.) 1 ) D i s k u sed fo r a d a t a transfer operation is damaged or extremely wo rn. 2) Disk drive controll er is malfun cti on i ng. 3) Disk being accessed was formatted by a d i s k drive controller t h a t i s n o t I B M c o m p a t i b le. 4 ) D i s k b e in g a ccessed has not been formatted at all. 5) Drive being accessed contains no disk. 6) Accessed disk is write protected. Remedies: Enter a CT RL-C t o a bort t he a ctiv i ty a nd p e r f o rm a w a r m boot, or enter a c arriage return t o s ki p o v e r th e l o c ation o f t h e e r r or condition, or p r ess R to r e t ry t he a cti v i ty a t t h e l o c a tion of t he e rro r condition. If the activity i s i m p o ssible at this location, then 1) in spect o r replace disk. 2) inspect or replace controller card. 3) 8 4) FORM A T d isks in y o u r o w n h a r d w ar e en v i r o n m ent. 5 ) A c c ess a d r iv e w i t h a d isk. 6) Write enable disk and perform warm boot before trying to wr i t e data to disk. B dos Err On x : Select Causes: (Where "x:" is the name of a drive which you referred to in a command, bu t w h i c h C P/ M c a n no t a c cess or d oes no t r e cognize.) 1 ) You entered a d r i v e n am e t hat d oes not c o r respond t o a d r i v e i n y our hardware. 2) You t r ied to access a Win chester partition t hat w a s not first assigned a drive name. Remedies: In all c ases, pressing any ke yboard character after such an error message will cause a warm boot. 1) Enter drive names that corresp ond to dr i ves in y our h a r dw are. 2) Use ASSIGN uti l it y on a parti t i o n before trying to access the partition . B dos Err On x : B/0 Causes: (Where "x:" is the na me of a d r i v e at w h i c h C P /M r e f u ses to read or w r i t e d ata. 1) You t r ie d t o w r i t e t o a f i l e t hat had been given "Read/Only" status by the STAT u t i l i t y . 2) You t r ied to w r i t e to a di sk t hat had been given temporary "Read/Only" status by the STAT u t i l i t y . 3 ) You tried to sw i tch d i sks in a d r iv e and then w r i t e to the new d i s k without performing a warm boot. Page A-3 Remedies: In all c ases, pressing any keyboard character after such an error message will c ause a warm b o ot. 1) Change file status to " Read/ Write" using the STAT u t i l i t y . 2) Perform a w arm b oot i n an y f ashion (such as the CTRL-C entry) before tryi ng to w r i t e d a ta to t he d i s k. 3 ) Perform a warm boot (w ith a CTRL-C) after switchi ng dis ks, but before accessing a switched disk. NO FILE Causes: 1) You invo ked DIR Resident Command for a dir ectory of dis k files, and the f i l e(s) specified not on th e d i sk i n t h e l o gged user area. 2 ) You inv oked TYPE Resident Command to d i s p lay contents of a fi l e that was not on th e d isk i n th e l o gged user area. 3) You i n v o ked ERA Resident Command to erase a file that was not on the disk in the logged u ser area. 4) Yo u i n v o ked REN Resident Co m m and t o t r y t o r e n a m e a file that was not on the disk in the logged user area. Remedies: 1) Unless such a m e ssage gives you adequate information, log to a d i f f erent user area wit h th e U SER Resident Command before trying DIR command. 2), 3), k 4) Check disk d i r ectory using DIR Resident Command or STAT ut i l ity to obtain correct file name. FILE EXISTS Cause: You tried to rename a file (with REN Resident Command) using a name that another file on the same disk already has. Remedy: G ive a dif f e rent name to t he f i le y ou a re renaming, or m o v e the file that already has the name to a different disk or user area. NO SPACE Cause: Y ou in v o ked S AVE R esident Comma nd to s t o re me mo ry c o n tents on a disk that didn't have enough room for the data from memory. Remedy: Re-enter SAVE command specifying the name of a drive containing a disk that has sufficient room for th e f i le, or specifying fewer pages of data. Page A-4 SYNCHRONIZATION ERROR Causes: Y ou t r i ed t o i n v o k e a c o p y o f t h e S Y S G EN u t i l i t y t h a t d i d not bear the same serial number identifi cation as the Operating System. Remedies: O nly use the MOVCPM or SYSGEN utili t i es when the utili t y a nd the system (or b ackup c o p ies of b o th ) o r i g i n all y c am e f ro m t h e same Distribution Disk. CAN'T OPEN BIOS. SYS Cause: You tried to perform bootstrap with a disk that does not contain an acceptable BIOS.SYS file. Remedy: You should copy a properly customized BIOS.SYS file to the disk, or rename an already resident BIOS file to the name "BIOS.SYS". ERROR DURING WARM BOOT — PRESS ANY KEY Cause: Y ou tri ed to p e r f o rm a w a r m b o o t o r e x i t f r o m a u t i l i t y a f t e r changing the position of the disk that originally resided in drive A. Remedy: Y ou should r e p l a ce the d i sk t h at w a s o r i g ina lly in d r i v e A : o r the current default d r iv e w hen b o otstrap was performed. Then y o u must perform a warm boot by entering a CTRL-C. Page A-5 DETAILED DISK ERROR MESSAGES Detailed disk error messages are additional messages that are displayed with conventional system error messages to provide more specific information about the cause of the error condi t i on. These detailed messages will o c cur i f y o u t u r n t h e m " o n " t h r o ug h th e " Set D isk Parameters" s ubmenu of the CONFIGUR utili t y . I f the operating system has di f f i c u lt y i n r e a d in g f ro m o r w r i t i n g t o a d isk, it tries the operation again and again, up to ten t i mes. If the disk still can't be read or w r i t ten at t hi s l ocation, then the system di splays a "Bdos Err " e r ro r m e ssage. (When a 5 . 2 5-inch d i s k d r i v e h a s su ch difficulty, i t r e cords a "soft error" fo r each of th e ten attempts, incrementing the SECNTnn variable each time.) Detailed Disk Error Messages are displayed in the following form: Hdd READ ERROR nn Bdos Err On x : B a d Sector Where "dd" is the drive type that obtained the error; w here "READ" or "warTE" is the activ it y t h a t t h e o p erating system w a s trying to perform; where "nn" is the detailed error code; and where "x" is the drive name of the drive at which the error was obtained. M ost of th e s p ecifi c d etailed error c o des are l i sted i n t h e h a r d w a r e m anuals for th e H / Z - 37, H/Z-47, and H / Z -6 7 d r iv e m o d els. T hi s t ex t contains explanations of the detailed codes that occur w it h th e H/Z-17 drive model, and some of those that occur with the H/Z-67 drive model. Page A-6 H/Z-67 DETAILED ERROR MESSAGES (PARTIAL LISTING) 8 0 Hardware int e r f ac e er r or 8 1 Hardware i n t e r f a c e e r r o r 8 2 Hardware int e r f ace er r or 83 Attempt made to exceed partition boundaries H /Z-17 DETAILED ERROR M E S S A G E S 01 Bad Track Error: Probably a p rob l e m in t h e f l op p y d isk mechanism, often caused by setting the disk step rate too fast during a run of CONFIGUR (submenu B). 02 H ead sync Error: An e r r o r h a s o c c u rred i n t h e f o r m a t o f t h e floppy disk. 04 Header CRC Error: An er ror i n r e a d ing th e sector id enti f i cation header, generally caused by defective media. 08 Data cRc Error: An er ror in r e ading the data on the sector, can b e caused by p o w e r f a i l u re , p o we r s u r ge, defective m e d i a , or defective hardware. 10 R ecord Not Found: The specified track and sector cannot be l o cated, due t o p o o r a l i g n m ent, f l a wed d i s k m e d ia , i n c orrect disk rotation speed, or the specification of a nonexistent track or sector. 20 M issing Data sync: An er ror ha s occurred i n t h e f o r mat of t h e floppy disk. 40 Write Protect Err or : A n a t t e m p t W aS made tO Write tO a meChan- ically wri te-protected disk. 80 U nit Not Ready: The drive u ni t w a s no t r eady t o r ead or w r i t e d ata. This can b e c aused by n o t h a v i n g a d i s k i n t h e d r i v e or by leaving the drive open. Page B-1 Appendix B: Recommended Hardware for Heath/Zenith CP/M WITH H/Z-89 COMPUTER The minimum supportable system that wil l ru n u n der this imp l ementation of CP/M is: • An H /Z -8 9 c o m p u t er system w i t h a t l e a st 32K of r a n d om a c cess read/write m em ory, w i t h t h e Z 8 9- 7 o r H 8 8- 7 RO M m o d i f i c ation k it installed (already done on Z89-FA and later models), and wi t h the M T R90 R OM . ( I f o n l y H / Z - 1 7 an d H / Z - 4 7 d r i v e s ar e u s ed, M TR89 ROM will w o r k .) o O ne co n n e c ted, fun c tio nal d i s k d r i v e ( t he H / Z - 89 c o mes w i th a single drive with a H/Z-17 controller). T his impl ementation of CP/M for the H/Z-89 wil l su p p ort the foll ow i n g pieces of hardware: THE COMPUTER: • An H /Z -8 9 c o m p u t er system wi th 3 2K or m o r e ( 64K ma x) of random access read/write m em ory, w i t h t h e Z - 8 9-7 or H - 8 8-7 ROM modification kit i n stalled (already done on Z89-FA and later models), and with the M T R90 ROM. (If only H / Z -17 and H/Z-47 drives a re used, MTR89 ROM will w o r k . ) Page B-2 DISK DRIVES: • From one to three hard-sectored 5.25-inch floppy disk dr i ves (H/Z17 controller). • From one to three soft-sectored 5.25-inch floppy d isk d r i ves (Z-37 controller). • Two 8-inch floppy disk drives (H/Z-47 controller). • One Winchester Disk System — Winchester Disk and 8-inch Floppy Disk (Z-67 controller). With a m a x i mu m o f s i x d r i v e s c o nnected and f u n c t i o n al. (N ote th at only two types of drives may be connected at any given time.) PRINTERS: • A diablo 630, 1610, 1620, 1640, or 1650 (compatible) pr i n ter set to 1200 baud, and an RS-232C cable connected to the socket l abeled DCE 340-347. The U L 1 : l o g i cal d e v ice d r i ver s h o ul d b e connected to t h i s p o rt . I t u ses an E T X / AC K h a n d shake pr otocol to control the printer output. • A n H14, WH 14, WH24 or H / Z -25 dot-matrix p r i n t er, ut i l i z ing th e RTS modem c o n t ro l f o r h a n d s h aking, c o n n ected t o t h e s o c k et labeled DCE 340-347. If your pri n ter requires a handshaking convention that is not discussed i n the text on th e CONFIGUR ut i l i ty , i t w i l l b e y o u r r e sponsibil ity t o m odify th e B I O S p h y s ical d e v ice d r i v er . Th e H e ath/Zenith S o f tw ar e Group can not assume the responsibility for any such modifications. • A WH36, or any printer that does not require "busy" handshaking, may be connected to th e T TY : l o gi cal dev ice, again it i s p l u gged into the socket labeled DCE 340-347. In the Configuration program, s pecify th e p or t n u m b e r fo r t h e T T Y : a s b e in g 3 40Q an d m o v e the LST: device to 320Q. (H/Z-89 computers are not currently supplied w it h p o r t 3 20 Q p o p u l ated, it i s m a d e u p o f t h e e m pt y s et of sockets on the serial interface card.) • A WH13 modem connected to the plug labeled DTE 330-337. Page B-3 WITH H8 COMPUTER The minimum supportable system that wil l ru n u n der this im p l ementation of CP/M is: • An H 8 co m p u t e r s ystem wi th at l e ast 32K of random access read/ w rite m e m ory an d w i t h t h e H A - 8 - 8 E x t ended C on fi guration k i t installed. • A t erm i n a l c o n n e cted to t he c o m p u t er w i t h a s e r i al i n t e r face at p ort 350Q (OESH) on an H 8 - 4 c ar d o r p o r t 3 7 2 Q (OFAH) o n a n H8-5 card. • One connected, functional floppy disk driv e. T his im p l e m entation o f C P/M f o r t h e H 8 w i l l s u p p o r t t h e f o l l o w i n g pieces of hardware: • An H 8 com p u t e r s ystem wi th 3 2 K o r m o r e ( 64K m a x) of r a n d o m access read/write memory and w i t h t h e H A - 8-8 Extended Configuration kit installed. • A t erm i n a l c o n n e cted to t he c o m p u t er w i t h a s e r i al i n t e r f ace at p ort 350Q (OE8H) on a n H 8 - 4 c ar d o r p o r t 3 7 2 Q (OFAH) o n a n H8-5 card. • From o n e t o t hr ee hard-sectored 5.25-inch floppy d i sk dri v es (H17 controller). • Tw o 8 - i n ch floppy disk drives (H/Z-47 controller) With a m a x i m u m o f s i x d r i v e s c o n n ected and f u n c t i o n al. (N ote th at only two types of drives may be connected at any given time.) Page B-4 PRINTERS: • A Diablo 630, 1610, 1620, 1640, or 1650 (compatible) printer set to 1200 baud, and the RS-232 cable connected to port 340-347 o n an H8-4 card. Th e U L 1 : l o gical d e v ice d r i ver sh o ul d b e c o n nected to this port. It uses ETX/ACK handshake protocol to control printer output . • A n H14, WH 14, WH24 or H / Z -25 dot-matrix p r i n t er, ut i l i z in g th e RTS modem control fo r h a n d shaking, connected to p or t 3 4 0-347 on an H8-4 card. If your prin ter requires a handshaking convention that is not discussed in the text on the CONFIGUR uti l it y (page 2-70), it wil l be your responsibility t o m o d i f y t h e B IO S p h y s i cal d e v ice d r i v er. Th e H eath/Zenith S oftware Group can not assume the responsibil ity for any such mo d i f i cations. • A WH36, or any printer that does not require "busy" handshaking, can be connected to th e T T Y : l o g i cal d e v i ce, again i t i s p l u g ged into port 3 4 0-347 on an 8- 4 c a rd . I n t h e C o n f i guration p r o gram, specify the number for the TTY: as being 340Q and move the LST: to 320Q. • A WH13 modem connected to port330-337 on an H8-4 card. Page C-1 Appendix C: Bootstrap The "Startup Procedures" in "V o l um e I: CP/M Introductory Guide" prov ide detailed i n s t ru ctions o n p e r f o r m in g b o o tstrap. H o w e v er, s om e microcomputers allow you to vary startup procedures by entering alternative bootstrap commands, or by c ausing the m i c r ocomputer to p erform bootstrap automatically. Thi s text expl ains the startup variations that are possible with some Heath/Zenith mi crocomputers. Page C-2 A LTERNATIVE BOOTSTRAP COM M A N D S This text section shows you how t o use di fferent bootstrap commands to boot up from di fferent drives. But it is first necessary that you understand some of th e technical terms used to d e f in e the r elationship b et ween th e m i c r o computer an d d i s k d r i v es. T h i s t ex t w i l l i n t r o d u c e s ome new terms used to refer to disk driv es. But these terms wil l ap p l y to your drives only until y ou' ve completed bootstrap. After a successful b ootstrap, the d r iv e c o n tain in g y ou r b o o t able d is k a u t o m atically b e comes drive " A : " , an d th e o t her d i sks w i l l a s sume d r iv e n ames such ccB, t9 c c ~ ,l t ccrc>> ccrc>> 44 F >l Y our m i c r o computer c o n t ains c i r c ui t b o a rd s t h a t c o n t ro l y o u r d i s k drives. Each of these circuit boards, called "controller cards", can control tw o o r t h r e e d isk d r iv e sl ots of th e same t y pe. For i n s tance, the H/Z-47 controller card controls tw o 8 - i nc h d r i v es in th e H / Z-.47 drive model. All of the dr ive slots controlled by a single controller card are referred t o collectively as one "device". If you have only one kind of disk dr i v e , t hen your m i c r o computer contains onl y o n e c o n t r o l ler card, and t h e d rives controlled by t hi s card are collectively called th e " p r i m ary d e vice". If yo u h av e tw o k i n d s o f d i s k d r i v e , then y ou r m i c r o c om p uter contains two c o n tr oller cards, and th e d r i ves controlled by each card are called either the "primary device" or the "secondary device". COMMANDS FOR THE H/Z-88, H/Z-89, AND H/Z-90 W ith an H / Z - 88, H / Z -89, or H / Z -90 m i c r o computer yo u c a n b oo t u p with a disk in any of your drive slots because this microcomputer refers to each drive slot by a unique and constant name. S ince each device consists of two or t h ree drives, the in d i v i d ual d r i v e s lots wi t hi n e ach d e v ice are gi ven " u n i t " n u m b er s 0 , 1 , o r 2 . T h u s e ach physical d r iv e slot i s i d e n t i f ied b y a d e v i c e t yp e ( " p r i m a ry " o r " secondary") and a unit number ("0", " 1", or "2" ) . Page C-3 T able C-1 shows all o f th e b o otstrap com m ands possible w i t hi n y o u r hardware envir onment, and th e d r i v e t h a t w i l l b e a c cessed by each. (Drives are identified in this table by their " d evice" and " u n it " d e signa- tions.) BOOTSTRAP C OMMAN D ENTRY VIDEO CONSOLE DISPLAY DEVICE TYPE ACCESSED B H: Boot primary (or BO) (or H: Boot0) B1 H: Bootl primary B2 H: Boot2 primary BS H:Boot SD secondary (or BSO) (or H:Boot SDO) BS1 H: Boot SDl secondary BSZ H: Boot SD2 secondary UNIT NUMBER ACCESSED Table C-1: Alternative Bootstrap Commands for the H/Z-BB, H/Z-89, and H/Z-90 T o perform b o otstrap w i t h a b o o t able d isk i n a p a r t i c u lar d r i v e s l o t , y ou type the boostrap command entry an d a carriage return. Then th e microcomputer w i l l a c c ess the d r i v e s lo t i d e n t i f ied b y t h e b o o tstrap command to copy the CP/M Op erating System from th e bootable disk. NOTE: The actual drive slot that is accessed by each of these bootstrap commands depends upon th e assortment of d isk d r i ves you h ave and the settings of the switches inside your drives and microcomputer. Page C-4 BOOTSTRA P H8 COMMAND ENTRY LED DISP L A Y Pri H17 DEVICE TYPE A CCE S SED primar y DRIVE SLOT ACCESSED sl o t i n H / Z - 89; or left-hand slot of H/Z-87, H-77, or H-17-3 Pri H47 primar y left - h a n d slot of H/Z-47 (8-inch drives) Sec H17 secondary s l o t i n H / Z -89; or left-hand slot of H/Z-87, H-77, or H-17-3 Sec H47 secondary l e f t - h and slot of H/Z-47 (8-inch drives) Table C-2 Alternative Bootstrap Commands for H-8 Page C-5 ENABLING THE AUTOM A T IC BOOT FOR THE H/Z-89 T he H/Z-89 has the capability t o au t omatically b oot from th e p r i m a r y device. The feature makes it p o ssible to si m pl y t u r n o n ( o r r eset) the machine and have the CP/M system automatically come up. CAUTION: N ever have the di sks inserted w it h th e d r i v e d o ors closed w hen the p o wer i s t u r ne d o n o r o f f . C u r r ent surges that occur w h e n power is ini t i a lly t u r ned on (and w hen a unit is tu r ned off) could magnetically damage the disk as well as any data that is stored there. To enable th e a ut o b o ot , yo u w i l l h a v e t o m a k e a m i n o r c h a nge to the hardware. First, be certain that the computer and all of its peripheral devices are turned off and u n p l u gged from th e w al l o u t l ets. Carefully release the top of the computer cabinet by inserting a small screwdriver blade into the slot in each side of the unit. Slide the latch plates toward either the front or th e back of th e screen and carefully t i l t th e cabinet shell back. The auto boot f eature is enabled by c h anging one DIP sw i tc h s etting o n the CPU board. The DIP sw i tch i s l i gh t b l ue, and i s l o cated in t h e l ower ri ght q u a drant o f t h e CP U b o a rd . ( Th e s w i t c h S W - 5 01, i s i m mediately to the right of the resistors RP508 and RP509.) Change only t he position of th e l o w est swi t ch, w h i c h i s l abeled " 7" , by s l i d i n g th e s mall w h i t e s w i t c h t o t h e l e f t . Y o u c a n d o t h i s b y u s i n g t h e t i p o f a pen or a small screwdriver. Refer to Figure C-1 for a graphic represent ation of t h e p r o per p o s i t io n o f t h e " 7 " s w i t c h . ( S om e o f t h e o t h e r number swit ches are marked w it h a qu estion mark because their positions are different depending on the user's combination of hardware.) Page C-6 After setting the "7" swit ch, close the cover of the machine, by reversing t he steps you u sed t o o pen th e c o v er. Plug th e u n i t s i n a n d t u r n o n t he power. Place a bo otable d isk i n t o t h e d r i v e , c l ose th e d o or , an d t he system goes di rectly i n t o C P/M w i t h o u t t h e u ser p e r f or m in g t h e reset and bootstrap steps. Device Type (port 174Q) Device Type (port 174Q) Device Type (port 174Qj X X 7 X Device Type (port 170Q 1 = Secondary (174Q 0 = Primary(170Q 1 = No Memory Test 0 = Memory Test Baud Rate 1 = Auto B o o t 0 = Not Auto Boot Figure C-1; The SW-501 Switch, Set for Automatic Bootstrap To the Primary Device FOR THE HS T he Extended Configuration O p t i o n b o ar d ( H A 8 -8) i n t h e H 8 h a s a single set of eight sw i t ches labeled 0-7. To enable the automatic boot function, change the position of switch 7. Precautionary Notes: R emember that i f y o u r h a r d w are configuration i n c l u des a Z 87 , m a k e s ure that i t i s a l w a y s p o w e red u p w h e n e ver y o u u s e t h e c o m p u t er whether it is in imm ediate use or not. D isks may get damaged if th e d i sks are pl aced in t h e d r i v es w it h t h e doors closed prior to p o w er ing up o r d o w n . B efore using your system either wait fo r C P/M t o d i s p lay th e sy stem p r o mp t b e f ore yo u i n s ert your disks, or leave the drive doors open un ti l p o w e r i s app l i ed. Conv ersely, pr ior t o t u r n i n g th e p o w e r o f f , e i t her r e m ove al l d i sk s f r o m your drives or open all the drive doors. Page D-1 Appendix D Basic Input/Output System (BIOS} Organization The Heath/Zenith 2 .2.04 release of CP/M i n c l u des several features to enhance the flexibi l it y of th e ori ginal CP/M system. As new h a r d w are devices are i n t r o du ced, they w i l l b e s u p p o r ted u n de r t h i s o p erating system. As a r e sult, th e B IO S (Basic I n pu t O u t p u t S y stem) occupi es more than th e am ount o f s p ace pr o v i ded fo r t h a t p u r p ose by D i g i t al Research. Therefore, Heath/Zenith has designed a program to fit w h ere the BIOS is normally r e corded o n t h e s y stem t r a cks. T hi s p r o gram i s c a pable of using the CP/M fil e system to open a disk f il e and read in th e complete BIOS. It is referred to as the BIOS Loader, and contains just enough i ntelligence to r ead f ro m t h e d i s k an d d o s o m e s i m p l e t e r m i nal I / O in case of an error. Page D-2 When the system is cold booted, the monitor ROM reads the first sectors of the disk in the selected drive into m emory and then control is transferred to that program. The cold start loader contained in th e f i rst half o f those sectors reads the contents of th e f i rst t r acks i nt o m e m ory a t t he appropriate locations for th e c o n f i gured m e m ory s i ze. When t h at i s complete, control is passed to the cold boot entry po int of the newl y loaded system. The follow ing BIOS features are explained in this appendix : • Th e H e a t h / Zenith BIOS Loader (BLDR) • Basic Addresses within the Heath/Zenith BIOS • BIOS Options • Al gor i t h m f or Disk Deblocking • D i sk F o r m a t s • Page Z e ro and Clock Organization Page D-3 THE HEATH/ZENITH BIOS LOADER (BLDR) With the H eath/Zenith CP/M, i n stead of being the standard BIOS that is opened, it is the BIOS loader (BLDR) that gets opened, which in turn op ens a f i l e c a l led B I O S.SYS and r e ads i t i n t o t h e a p p r o p r i ate locations in memory . By using th e B L D R c o n cept, th e H e ath/Zenith i m p l e m entation o v ercomes the size li m i t ation i m p o sed by th e Di gital Research design and at the same time si m p l i f ies the otherw ise error-prone process of int egrating one's own m o d i f ied B IOS i nt o th e system. The p enalties paid a re slight — the dis k f r o m w h i c h y o u co l d b o o t m u s t c o n t ai n t h e BIOS.SYS file, and i t t akes somewhat l o nger to cold b oot because the second file must be opened, read, and relocated in memory . N ote that th e B I O S.SYS fil e i s o n l y r e f erenced d u r in g th e c ol d b o o t p rocess, so i t o n l y n e ed s t o b e o n t h e d i s k u s e d t o c o l d b o o t y o u r s ystem. The w ar m b o o t f u n c t io n o f C P/ M d o e s no t r e read th e B I O S , a nd therefore thi s f i l e d oes no t n e cessarily h av e t o a p p ear o n d i s k s that are used during a warm boot. The BIOS.SYS file contains the BIOS i n a r e l ocatable file f o rmat th at i s compatible w i t h t h e p a g e r e l o catable f o r mat u se d i n D i g i t a l R e search's MP/M op erating system. This relocatable format is reasonably compact, and storing the BIOS in relocatable form pr ov i des the advant age of not requiring relocation of the BIOS during MOVCPM n n . Page D-4 BASIC ADDRESSES IN THE HEATH/ZENITH BIOS The Heath/Zenith B I O S i m p l e m entation i s s t r u c t ured so t h a t sy stem utilities can readily access its device tables. This is prim arily a requirement of CONFIGUR, w h ic h a l t ers some of th e v a l ues w h ic h ar e used at run-time. M an y o f t h ese values w o ul d b e assembly-time c onstants in the normal im p l ementation of CP/M. A user p r ogram can f i n d t h e B I O S b y u s i n g t h e a d d r ess at l o c ation 0001H as a p o i n ter (the op erand of th e jm p w b o o t i n s t r u ct i on). Th at value will be 3 greater than the address of the start of the BIOS. T he first part of th e BIOS is the standard Digital Research entry p o i n t " jump" t a b le. Thi s table i n c l u des jum p i n s t r u cti ons to each of th e 1 7 entry points into the BIOS. The "listst" entry p o int for checking the output status of the list device is implemented in t hi s release. This entry po in t i s used by some background print ing spoolers. Immediately foll o w in g the standard entries is a one byte BIOS version n umber (in b i n a r y). It i s i m p o r t ant t ha t p r o grams w h i c h a l ter v a l u es in the BIOS in a direct way know exactly w h ich version they are dealing w ith. For example, CONFIGUR m ust p atch t ables at the beginning of the BIOS and therefore needs to be reasonably certain that those tables are where it expects to find them. U pon cold boot, CP/M will d i splay a sign-on message like the follow i n g : nnK HEATH/ZENITH CP/M 2. 2. 04 09/15/82 FOR Hdd DISKS WITH OPTION(S) cccc W here "nnz" is the amount of R andom A c c ess Memory space that th e currently loaded CP/M Operating System will occupy; and where "2. 2. 04" is the version nun1ber. The next byte is the mask used for the serial printer ready status check. Page D-5 T he next byte is u sed as the f i rst m od e b yt e for th e B I OS. Six of t h e bits are assigned; th e r em ainder ar e r eserved. Bi t 7 c a u ses th e CCP to attempt to execute the automatic comm and l in e on th e default di sk every time th e d isk i s c ol d b o oted. Bit 6 p e r f orms th e same fu n cti on for each warm boot. Bit 3 contains the serial pri nter ready flag, 0 = low and 1 =high. Bi t 2 s u p p o rts th e p a r t i t i o n in g o f t h e Z - 6 7 W i n c h ester D isk. Bit I e n a b les th e p r i n t in g o f d i s k e r ro r m e ssages by th e B I O S s o the user w i l l r e c e ive extended error-status messages. Bit 0 i s s e t when the B IO S i s c o n f igured for u s e w i t h a H 8 - 5 s erial c ard f or , the console port. T he next b yt e i s u sed as th e second m o d e b yt e fo r t h e B I OS . Bi t 2 c ontains the Parallel Printer Ready flag, 0 = low and 1 = high. Bit 1 indi cates whic h p r i n t e r t o u s e a s th e L P T : d e v ic e i f a Z 8 9 - 1 1 i n t e rface card is i n stalled, O = seria l a n d 1 = parallel. Bi t 0 i s set w h e n a t c o l d boot it is determined that a Z89-11 interface card is installed. The next several bytes are used as character I/O device control struct ures. These specify th e p or t n u m b er, baud r ate, nu m ber of n u l l s r e quired after a c arriage return, and u p p e r c ase mapping f lag fo r each of the serial character I/O devices. The data is arranged as port number, followed by the baud rate divisor word . The high order nibble of the baud rate divisor forces all output to upper c ase if th e M S B i s 1 , a n d t h e l e ast si gni f i cant 3 b i t s o f t h a t n i b b l e are the number of nulls sent after a carriage return to that device. There is one of these structures for each device. T hen tw o w o r d s (f our b y t es) are used as a soft error c o u n ter fo r t h e 5.25-inch disk dr i v es. These words are incremented after each soft (recoverable) error. By u s ing DDT t o e x am in e t hi s v a lue you can get an indication of the performance of your disk system. T he next byte is set for the m ax i mu m n u m b er of d i sks that thi s BI O S may be configured for. Thi s al l ow s p r o grams to d etermine th e l ength of the disk tables and to access only those tables that really exist. This is f o l l o w e d b y t h e d i s k p a r ameter base and th e d i s k p a r ameter entries for each of the disk dr i v es. In addi t ion to th e 16 bytes per disk a ssigned by D i g i ta l R esearch, th e H e ath/Zenith i m p l e m entation h a s added 8 bytes to each entry. Page D-6 T he first o f t h ese 8 i s a m u l t i - p u r p ose byte t hat i s u se d t o i d e n t i f y t he drive type and its port address. The three most significant bits indi - cate the drive type. The second byte is the select code necessary for this drive. The next byte is the number of 128 byte records per physical sector. It is followed by a byte indicating the number of 128 byte records per allocation unit. The next four bytes are used for all drive controllers except the H/Z-47. For the 5 .25-inch d i s k d r i v es th e f i r s t o f t h ese i n d i c ates the cu r r ent t rack position o f t h e h ead fo r t h i s d r i v e . Th e n ex t b y t e c o n t r ols t h e step rate. When set, the most significant bit of t hat byte i n d i c ates that t he drive w i l l b e u p t o s p eed i n 2 5 0 m S i n s tead of th e n o r mal 1 0 0 0 mS. The next byte contains flags. The last byte is reserved for use during the physical to logical drive mapping process. F or the Z-67, these bytes are used a bit di fferently. The first w ord (tw o bytes) is the l o gical sector n u m ber of t r ack 0 i n a p a r t i t i on . Th e l a st word is the logical sector number used in upper bound li mi t checks. I n additio n t o t h ese tables, it i s n e c essary for s om e sy stem u t i l i t i e s to have access to some of the values used for disk control. These values have been l o cated i n B I O S an d i n p a g e 0 o f m e m o r y . T h ese values control th e m o tor an d s elect t i m e outs as w el l a s th e h ead settle and write-gate step delays. A t OOODH the current v alue of th e H / Z -89 control l a tch at p or t 3 6 2 Q is stored. This port controls the presence of RAM at zero and enables/res ets the clock. In th e H8 , th e c l ock enable and RA M a t z er o are spli t between two different ports. T he H/Z-89 contains special hardw are that traps in pu t an d o u t pu t i n structions to some of the H8 control ports and generates a nonmaskable i nterrupt (N M I) . Since the Z80 NM I v e ctor falls w i t h i n t h e RA M a l l o cated for the default file control block (FCB), it is not possible to guard it with a return in struction or to install a jump to a user routine. Theref ore, care must be t aken t hat n o i n p u t s o r o u t p ut s t o th e H 8 c o n t r o l ports (360Q, 361Q, 372Q, 373Q) are attempted in the H/Z-89. Location O OOEH is used fo r t h e v a l u e r e q u i red t o r e set th e c l oc k o n t h e H 8 , or 0 if o n a n H / Z - 89. Location OOOFH is reserved for th e c o n tents of the H17/H77/Z87 control port. The 16 bytes located at 0040-004FH are reserved. Page D-7 An effort w il l b e m ade to keep these values in their same relative positions. However, it i s p o ssible that between thi s r elease and fut ure re- leases of CP/M from Heath/Zenith there will be some redefinition of t he BIOS structure. There is a di m i n i s h in g p r obability o f c h ange wi t h e ach release thereafter. Software that accesses these tables should b e written using an easily redefinable templ ate to si m p l if y a d aptation to such changes. BIOS OPTIONS When CP/M is cold booted, it displays a message in the follow ing form : nnK HEATH/ZENITH CP/M 2. 2. 04 09/15/82 FOR (type} DISKS WITH OPTION(S) (code} T he ' code wil l show the options that are currently selected active with in the BIOS. The options are as follows: P Th e Z - 6 7 i s Partitioned BIOS supports two Z-67 Partitions CRT Input is Interrupt Driv en C RT "BREAK" k e y ' s I n t errup t i s a v a i l able (causes an i m mediate warm boot) E3 BIOS supports Extended Double Density on Z-37 Disk Drive E4 B IOS supports Extended D o u bl e D ensity o n H / Z -4 7 D i s k Drive Time of Day Clock Event Counter Page D-8 ALGORITHM FOR DISK DEBLOCKING The Heath/Zenith B I O S u ses a d e b l ocking a l gorith m w h i c h t r a n spar ently conv erts the sectors stored on t h e 5 . 25-inch, th e 8 - i nch d i s k s , and on th e W i n c h ester Disk t o t h e 1 2 8 b yt e l o g ical r ecords used by C P/M. The BIOS uses information p r o v i ded by th e BDOS to m i n i m i z e the number of physical read and write operations. When accessing the di sk, th e d eblocker keeps track of th e l o g ical r ecords that are currently buffered wit hin the BIOS. If the BIOS is processi ng a read c a ll , i t i s p o s sible fo r i t t o r e t r i ev e th e i n f o r m a t ion f r o m i ts buffers w i t h ou t an y d i s k a c t i v it y i f t h e p r o per sector is already i n memory as a by-product of a previous operation. The buffering that occurs during the write operation means that records can be buffered i n m e m or y u n t i l t h e n ex t d i s k o p eration. Th e b u f f er is only w r i t t e n t o t h e d i s k i f t h e c a l l i n g p r o gram a ccesses a logical record that i s no t c o n t ained i n t h e c u r r ent p h y s ical sector, the buffer overflows, or the write is flagged as a "directory access." One important ramification of this " w r i t e-behind" is that programs that do direct BIOS calls to perform tr ack/sector disk I/O should m ake cert ain that t h e w r i t e b u f fer i s e m p t i e d b e f ore th e d i s k i s r e m o ve d o r c hanged, or a c ol d o r w a r m b o o t i s p e r f o rm ed. T hi s can b e d on e b y s pecifying t h a t t h e l a s t w r i t e o p e r a tio n s h o u l d b e p e r f o r me d i m mediately w i t h ou t w r i t e -behind a s th e B D O S d oes w h e n i t a c c esses the disk directory. Page D-9 DISK FORMATS 5.25-INCH HARD-SECTOR DISK FORMAT The logical records are numbered from 1 t o 2 0 o n each track, and are stored in phy sical sectors 0 thru 9. The tracks of the disk are numbered 0 to 39. Th e CP/M sy stem reserves the f i rst t h ree tracks for th e C o l d Start Loader, the CCP, the BDOS, and the BIOS Loader. The CP/M direct ory begins on track 3, and the usable space begins immediately foll ow ing it. 8 -INCH AND 5.25-INCH SOFT-SECTOR DISK FORMAT S The Heath/Zenith i m p l e m entation of th e B IOS transparently su p p orts a mixture of single, double, and extended double density disks. In addition, each of the densities can be recorded on either single or dou bl esided media. Th e f i r s t t i m e a d i s k i s " l o g ged on " a f te r a d i s k r e set f unction (such as a w ar m b o o t), th e d ensity an d w h e t her th e d i s k i s d ouble or single sided is checked and used to dy n amically m o d if y t h e disk parameter t ables fo r t h e p a r t i c u lar d r i v e . T h e m o s t i m p o r t ant r amification o f t h i s i s t h a t d i sk s o f d i f f e rent d e n sities or n u m be r o f recordable sides should be logged on after being interchanged. The Heath/Zenith configuration offers the user three densities available on the 8-inch di sk. Single density is comp r i sed of 26 sectors per track with 128 bytes per sector. Double density contains 26 sectors per track with 256 bytes per sector.Extended density uses 8 sectors per track with 1024 bytes per sector. Deblocking is used on double and extended densities to make each track appear to have 52 and 64 sectors respectively. The 5.25-inch soft-sectored di sks have tw o p o ssible densities. Single density offers 10 sectors per track w i t h 2 5 6 b y tes per sector. Double density has 16 sectors of 256 bytes each per track. Page D-10 PAGE ZERO AND CLOCK ORGANIZATION OOOOH jmp BIO S + 3 0003H 0005H db db jmp I O BY TE DEFA UL T $ D I S K BDOS+ 6 0008H jmp clock dw TI CCN T db H 88CT L 0004H ;wboot entry use value ; at 0001H as a pointer ; to the BIOS to access ; jump vectors and tables ;current IOBYTE ;current default disk ;BDOS entry point use value ; at 0006H to find the top ; of user memory (subtract ; CCP size if it is to be ; preserved) OOODH ;clock interrupt service ; vector ;1 work counter incremented ; every 2 mS interrupts are ; enabled and clock is on ;current contents of H88/Z89 ; control latch (362Q) OOOEH db H 8CTL OOOFH db DEV C T L 0018H j mp CRTI N T 0020H jmp 0023H d lymo3 7 db H37INT 0 0024H 0025H 0026H d lyh3 7 h 37ct l h 37ire t db db dw 0 0 0 ;current contents of H8 ; control latch (360Q , or ; zero if on H/Z-89 ;current contents of H17/H77 ; Z87 control latch (177Q) ;CRT input interrupt service ; vector ;H37 interrupt service vector ;H37 motor turn-off delay ; counter ;H37 deselect delay counter ;H37 control register image ;where to go after H37 ; interrupt ;using the value at location 0009H as a pointer to the clock routine, ; the disk (H17/H77/Z87) timers can be accessed, they occupy the three ;bytes immediately preceding the clock interrupt dlymo : db 0 dlyh: db o dlyw: db o clock: ei ret ;motor timer decremented ; every 512 mS until 0 ;head load timer decremented ; every 512 mS until 0 ;head settle timer ; decremented every 4 mS ; until 0 ;clock interrupt service ; routine, located in BIOS Index 1 Index A A > , 1 - 19 Aborting execution , 2 - 10, 2-212, 2-281 Address, 2-10, 2-95, 2-132 A llow R/ 0 F i l e s BR S O p t i on , 2 - 4 3 Ambiguous f il e n a m es, 1-13 Application p r o grams, 1-10 Argument, 1-19 Arithmetic o p erators, 2-15 ASM, 2-3. 2- 51 ASCII characters, 2-212, 2-236, 2-292 Assembly l a n guage, 2-3, 2-126 ASSIGN, 1-89, 2-25 Automatic c o m m an d l i n e , 2 - 114 Automatic p r o gram c o n t r ol , 2 - 1 14 C C arriage return, 1 -2 , 1- 19, 1-28, 2- 2 Central Processing U ni t ( C P U), 2 - 139, 2-140, 2-142 Cold boot, E-3 C ommand L i n e , 1 - 19 Commands Resident, 1-20 Transient, 1-20 Comment, 1-24, 2-9 COMPARE Fi les BRS O p eration , 2 - 56 C ON:, 2 - 1 1 2 , 2 - 2 3 6 , 2 - 2 7 4 Concatenation, 2-126 CONFIGUR, 1-32, 1-35, 1-38, 1-41, 1-56, 1 -66, 1 - 7 3 , 1 - 8 0 , 1 - 8 8 , 1 - 9 7 , 1 - 1 1 0 , 1 -115, 1 - 1 2 3 , 1 - 1 3 3 , 1 - 1 4 1 , 1 - 1 4 6 , 1 -158, 1 - 1 7 0 , B Backup p roduced by E D u t i l i t y , 2 - 1 82 produced by u s er , 1 -43, 1-52 BACKUP Creation BR S O p eration, 2 - 43 Baud rate, 2-95, 2-2S7 B dos Err, A - 1 BIOS, 1-9, 2-215, D-1 Boot (cold), 1-29, 2-114, C-1 Boot (warm), 1-6, 1-8, 2-114 Bootstrap, 1-29, C-1 BRS, 2-33 Byte, 2-264 1 - 1 79, 1 - 1 91, 1 - 1 9 6 , 2-83 Constructing W o r k in g D i s ks, 2-251 Control Ch aracters, 1-21 Copy, 1-52, 2-227 C P/M system p r o m pt , 1 - 1 5 CRT:, 2-95, 2-236, 2-274 CTRL-C, 1-6, 1-8 Customizing ( operating system), 1-94 D DATE Change (BRS), 2-39 Date Entry ( B RS), 2-33 Index 2 Date Parameter (LIST), 2-206 DB, 2-21 DDT, 2-119 Debugging, 2-119 D efault D r i ve , 1 - 15 D efault I/ O C o n f i guration M e n u , 2 - 1 10 Delete, 1-21 Density, 2-107, 2-191, 2-193, 2-196, 2-197 Destination, 2-56, 2-81, 2-82, 2-152, 2-153, 2 -156, 2 - 1 5 7 , F Field, 2-9 File Copy, 2-32, 2-227 Names, 1-12 File Control B l oc k ( F CB), 2-133 F ile Deletion BR S O p t i on , 2 - 4 1 FORMAT, 1 -3 , 2 - 189 Format of a ssembly l a n guage program, 2-9 2- 215, 2 - 230, 2 - 2 53, 2 - 2 84 Device, 2-95 Diablo printer, 2-98, 2-112, 2-236, 2-274 DIR, 1-20, 2-149 Directives, 2-9, 2-15 Directory, 2-72, 2-150 Disable Warnin g M e ssages, 2-41 Disk Changing, 1-17, 1-18 Copy, 1-52, 2-227 Step Rate, 2-106 System Tracks, 1-9 Track Density, 2 - 107, 2-191 $, 2-11, 2-12, 2-227, 2-296 DS, 2-22 DUMP, 2-149 DUP, 1-69 — 1-70, 2-151 DW, 2-22 E ED, 2-163 END, 2-16 ENDIF, 2-19 EQU, 2-17 ERA, 1-20, 2-185 Erasing, 1-20, 2-185 E rror M essages, 2-1, A - 1 EXIT to C P/M B R S O p eration, 2 - 74 Extension, 1-13 Extents, 2-265 G Groups of f i l es , 1- 13 H Hardware Env i r o nm ent, 1-94 Heading parameter (LI ST), 2-206 HEX Fi le , 2 -3, 2 -211, 2-234, 2-247 I IF, 2-18 Input Modem, 2-98 Inserting D i sks, 1- 7 Intel, 2-3, 2-234 L Label, 2-9 Line Edi t i ng, 2-166 Line N u m b ers, 2-9, 2-173, 2-174 Line pr i n t er, 2- 98 LIST, 2-203 LIST Dir ectory BR S O p eration, 2 - 39 LOAD, 2-211 Logical Device N a me, 2 - 111 Logical Operators, 2-13 Log-in, 1-16 LPT:, 2-112 L ST:, 2 - 9 5 , 2-112 Index 3 M M ain M e nu , 2 - 9 1 M aster Menu , 2 - 3 3 MAKEBIOS, 2-215 Mnemonics, 2-134 MOVCPM17, 2-221 MOVCPM37, 2-221 MOVCPM47, 2-221 MOVCPM67, 2-221 N Names drives, 1-15 f iles /, 1 - 12 Nulls, 2-100 Numeric c o n stants, 2-11 0 Object code t r ansfer, 2-242 One-drive en v i r o nm ent, 1 - 18 Operating System, 1-9 Operand, 2-8, 2-9 Operator, 2-8, 2-13, 2-14 ORG, 2-22 P Page of m e m o ry , 2 - 2 53 PART, 2-25 Partition, 1 -8, 2- 25, 2-32, 2-194 Physical Device N a me, 2-95, 2-112 PIP, 2-227 Pointer (character), 2-165 PREL, 2-247 P rimary f i l e n a me , 1 - 15 PRN, 2-3 Prompt ch aracters from D DT , 2 - 1 21 from ED , 2 - 166 from L I ST , 2 - 204 from PIP, 2-228 from system, 1-15 Prompt A l l A c t i o n s BR S O p t i o n / , 2 - 40 — 2-41 Pseudo operations, 2-9 PUN:, 2-112 P utting CP/M i n t h e c o m p u t er , 1 - 29, C- 1 '? (Question Mark) wildcard f i l e n a m es, 1-13 command l i n e e r r o rs, 1-21 ASSIGN, 2-25 DDT, 2-119 R Radix, 2-11 RDR:, 2-112 Read/only status, 2-269 Read/write status, 2-269 R ead/write h ead, 1 - 3 Recs, 2-265 Record, 2-265 Register, 2-12, 2-139, 2-140, 2-142 relocation, 2-247 REN, 2-251 Reset, 1-30, 1-33, 1-37, 1-40 Resident Comm ands, 1-20 R ESTORE Files BRS O p eration, 2 - 39, 2 - 5 7 RST, 2-237 S S AVE , 2 - 1 2 3 , 2 - 2 2 4 , 2 - 2 5 3 Saving a d e bugged pr ogram, 2 - 123 Separating d isk f i l es, 2-291 SETLP, 2-257 SHIFT-RESET, 1-30 S ingle-drive en v i r o n m ent , 1 - 18 Source, 2-3, 2-36, 2-80, 2-115, 2-216, 2 -248, 2 - 2 8 8 Special Characters, 1-13, 2-11, 2-12, 2 -227, 2 - 2 9 6 STAT, 2-263 Statement, 2-9 Index 4 Step Rate, 2-212 String Constants, 2-13 SUB file, 2 - 216, 2-277, 2-295 Submenu, 2-91 SUBMIT, 2 - 216, 2-277, 2-295 Suspending execution, 2 -8, 2 - 150, 2-238, 2-290 Switching D i s ks, 1- 17 SYS, 2-216 SYSGEN, 2-79, 2-224, 2-283 System kernel, 1 -9, 2- 79, 2-221, 2-283 T Tabs, 2-206 Teletype-like p r i n t er, 2- 98 Terminal, 2-94, 2-112 Text, 2-203, 2-290 Tracks Per I nc h ( T P I), 2- 107, 2-191 Transient Comm ands / , 1 -20 — 1-21, 2-1 TYPE, 2-289 U UL1:, 2-112 UP1:, 2-95, 2-112 Uppercase parameter (LIST), 2-206 Uppercase translation (C ONFIGUR), 2-99 UR1:, 2-95, 2-112 USER, 2-291 V Verify with BR S ( O p t i o n), 2 -40 with DU P ( O p eration), 2-152 — 2-153, 2-155, 2-158 with PI P (Parameter), 2-244 W Warm bo ot, 1 -6, 1 -8, 2 -114 W arning m essages BRS Opt i on , 2 - 3 8 Wildcard f i l e n ames, 1-13 Winchester Di sk , 1 -8, 2 -25, 2 -33, 2- 195 w rite enabling, 1-5, 1- 6 w rite p r o tecting / , 1 -5 , 1 - 6 X XSUB, 2-295 TECHNICAL INFORMATION EXPLANATION The technical i n f o rmation p o r t ion of y ou r CP/M d o c u m entation packa ge is i n t ended fo r u s ers w h o w i s h t o m o d i f y t h e C P/ M O p e r atin g System or e x a m in e th e i n t e r nal c o m p o n ents o f t h e s y st em . Knowledge of t hi s i n f o r m ation i s n o t n e c essary for m ost CP/M u s ers w ho onl y w i s h t o u s e CP/M r e sident c o m m a nd s an d t o r u n u t i l i t i e s and appl i cation p r o grams w i t h t h e C P/ M s y s t em . This technical i n f o r m ation c o n sists of t h e f o l l o w i n g d o c u m e ntation items bound w i t h i n t h r e e b o o k l ets: CP/M 2 S y stem I n t erface: Chapter 5 CP/M 2 A l t e r ati on : Ch apter 6 Appendix A: The MDS Basic I/O System (BIOS) A ppendix Appendix A ppendix Appendix A ppendix A ppendix B: C: D: E: F: G: A S k e l e tal C B I O S A S k e l e tal G ET SYS/PUTSYS Program T h e M D S - 800 C ol d S t ar t L o a der fo r C P/ M 2 A S k e l etal C ol d S t ar t L o a d er C P/ M D i s k D e f i n i t i o n L i b r a r y B l o c k in g an d D e b l o ck in g A l g o r i t h m s . This technical i n f o r m ation w a s w r i t t e n b y D i g i ta l R esearch Cor p oration, the o r i ginal p r o d u cers of CP/M v e r sion 2 . T h e s o u rce l i s t i n gs in the appendices are for il l u stration p u r p oses only and do not corresp ond t o t h e m o d u l e s actuall y s u p p l i e d w i t h y o u r s y s t em . The CP/M s o f t w are p r o d u cts yo u h a v e p u r c h ased are m o d i f i c ation s o f CP/M v e r sion 2 . I n t h e s e m o d i f i c ations, th e B a sic I n p u t / Out p u t S ystem (BIOS) has been customized for y ou r h a r d w are by H e ath an d Zenith D ata Sy stems.