home *** CD-ROM | disk | FTP | other *** search
Text File | 1985-02-09 | 87.0 KB | 2,139 lines |
- .he ZCPR2 -- An Enhanced Z80-Based Replacement for the CP/M CCP
- .fo Installation Instructions Page #
-
-
- Installation Instructions for ZCPR2
-
- 1.0 Introduction
-
- Installatioεá oµ ZCPR▓ i≤ ß somewha⌠ involveΣá process¼á anΣ ì
- thσ installe≥ shoulΣ havσ ß fair-to-gooΣ workinτ knowledgσ oµ thσ ì
- following:
-
- 1⌐ 808░ anΣ Z8░ assembl∙ languagσ programming
- 2) CP/M 2.2
- 3) the CP/M SYSGEN procedure and how to replace the
- operating system on the system tracks of the
- target system
-
- Thσ memor∙ image≤ oµ ß CP/═ systeφ anΣ ß ZCPR2-baseΣá systeφ ì
- arσá presenteΣ belo≈ fo≥ ß conventiona∞ CP/═ system«á Thσ actua∞ ì
- addresse≤á ma∙á var∙á froφ systeφ t∩ system¼á anΣá thσá installe≥ ì
- shoulΣá bσá awarσ oµ wha⌠ thesσ addresse≤ arσá fo≥á thσá specifiπ ì
- target system.
-
-
- -- Diagram 1 --
-
- Address CP/M Image ZCPR2 Image
-
- --------------------- ----------------------
- | BIOS | | BIOS with Modified |
- | | | Cold Boot * |
- BDOS+0E00H--> --------------------- ----------------------
- | BDOS | | BDOS (No Change) |
- CCP +0800H--> --------------------- ----------------------
- | CP/M 2.2 CCP | | ZCPR2 * |
- BOOT+0080H--> --------------------- ----------------------
- | BOOT | | BOOT |
- BASE+xxxxH--> --------------------- ----------------------
- | Junk and SYSGEN | | Junk and SYSGEN |
- BASE= 100H--> --------------------- ----------------------
-
-
- CP/M and ZCPR2-based SYSGEN Memory Images
-
- Installatioεá require≤á ß modifieΣ BIO╙ imagσá anΣá ßá ZCPR▓ ì
- imagσá t∩á bσá placeΣá ove≥ thσ origina∞ CP/═ 2.▓á BIO╙á anΣá CC╨ ì
- images«á Thσá res⌠ oµ thσ systeφ caε sta∙ thσ same«á Thosσá ne≈ ì
- image≤ arσ markeΣ witΦ aε asterisδ (*⌐ above.
-
-
- Typical address values are indicated below:
-
- SYSGEN Image SYSGEN Image
- Value Conventional CP/M Morrow CP/M
- xxxxH 800H ~ 980H
- BOOT = BASE + xxxxH 900H 1080H
- ZCPR2 = BOOT + 80H 980H 1100H
- BDOS = ZCPR2 + 800H 1180H 1900H
- BIOS = BDOS + 0E00H 1F80H 2700H
- End of Operating System ????H 2DFFH
-
- Refer back to Diagram 1 for clarification.
-
- The installation process involves three steps:
-
- 1) Configuring your BIOS and setting the ZCPR2 options
- 2) Overlaying the CCP with ZCPR2 and the old BIOS with
- the new BIOS in the SYSGEN Image
- 3) Placing the new SYSGEN Image onto the Operating
- System tracks of the disk
-
- Thσ installe≥ i≤ inviteΣ t∩ refe≥ t∩ thσ CP/═ 2.░ Alteratioε ì
- Guideô b∙ Digita∞ ResearcΦ fo≥ detail≤ iε procedure«á Thi≤ manua∞ ì
- specificall∙á cover≤ installatioε oµ ß BOO╘ anΣ BIOS¼á bu⌠á thesσ ì
- concept≤ caε bσ logicall∙ extendeΣ t∩ thσ CC╨ (ZCPR2⌐ a≤ well.
-
-
- 1.1 Required Software for Installation
-
- ZCPR▓ i≤ t∩ bσ installeΣ oε ß workinτ CP/═ 2.▓ system«á Thσ ì
- specific commercial software required to do this installation is:
-
- 1) A working CP/M 2.2 System
- 2) the MAC assembler of Digital Research
- (another assembler may be substituted, but source
- code modification to ZCPR2 may be required to do
- an installation with an assembler other than MAC)
- 3) a debugger, like DDT, for the overlay process
- 4) a disk utility, like SYSGEN, to be used to place the
- operating system image onto the operating system
- tracks on disk
-
-
- Thσá non-commercia∞ softwarσ requireΣ fo≥ ZCPR▓ installatioε ì
- is:
-
- 1) source to ZCPR2
-
- 2⌐á thσá CCPLO├á prograφ (ma∙á bσá required¼á anΣá i≤ ì
- provideΣ iε thσ ZCPR▓ distribution)
-
- 3⌐á sourcσ t∩ thσ BIO╙ oµ thσ targe⌠ machinσá o≥á thσ ì
- overla∙á fo≥á thσ BIO╙ ColΣ Boo⌠ routinσá fo≥á thσ ì
- targe⌠ machinσ (thi≤ ma∙ bσ availablσ commercially)
-
- 4⌐á thσ ZCPR▓ utilitie≤ (sourcσ i≤ typicall∙ no⌠á reì
- quireΣá fo≥ installatioε sincσ thσ GENIN╙á prograφ ì
- caεá perforφá installatioε iε mos⌠á cases)╗á thesσ ì
- utilitie≤á anΣá thei≥ source≤ aε includeΣá iεá thσ ì
- ZCPR▓ distribution
-
- ┴á listinτá oµ thσ ZCPR▓á distributioεá software¼á witΦá CR├ ì
- value≤á s∩ tha⌠ yo⌡ caε checδ t∩ seσ tha⌠ yo⌡ havσ gooΣ copie≤ oµ ì
- everything¼ i≤ includeΣ iε Appendi° ┴ oµ thi≤ document.
-
-
- 1.2 Required Hardware for Installation and Running ZCPR2
-
- Thσá hardwarσ requirement≤ fo≥ thσ installatioε oµ ZCPR▓ arσ ì
- as follows:
-
- CP/M 2.2 - based system (or ZCPR2 - based system)
- 8080 or Z80 microprocessor
- 32K bytes of memory
- 110K bytes of disk space for source, BAK, and HEX files
- computer terminal
-
- The hardware requirements for running ZCPR2 are:
-
- ZCPR2 - based system
- Z80 microprocessor
- 48K bytes of memory
- 110K bytes of disk space (recommended minimum)
- computer terminal
-
-
-
- 2.0 Installing ZCPR2
-
- Iεá orde≥ t∩ instal∞ ZCPR▓ oε ßá targe⌠á microcomputer¼á thσ ì
- use≥á mus⌠á kno≈á tw∩á basiπ thing≤á abou⌠á hi≤á Consolσá CommanΣ ì
- Processor (CCP):
-
- 1) Where it is located when it is executed
- 2⌐ Wherσ i⌠ i≤ locateΣ iε thσ SYSGE╬ Imagσ or¼ fo≥
- system≤ whicΦ don'⌠ suppor⌠ SYSGEN¼ wherσ hi≤ CC╨
- is located on disk and how to place the new ZCPR2
- on top of it
-
- Note Diagrams 1 and 2:
-
- -- Diagram 1 --
-
- Address CP/M Image ZCPR2 Image
-
- --------------------- ----------------------
- | BIOS | | BIOS with Modified |
- | | | Cold Boot * |
- BDOS+0E00H--> --------------------- ----------------------
- | BDOS | | BDOS (No Change) |
- CCP +0800H--> --------------------- ----------------------
- | CP/M 2.2 CCP | | ZCPR2 * |
- BOOT+0080H--> --------------------- ----------------------
- | BOOT | | BOOT |
- BASE+xxxxH--> --------------------- ----------------------
- | Junk and SYSGEN | | Junk and SYSGEN |
- BASE= 100H--> --------------------- ----------------------
-
- CP/M and ZCPR2-based SYSGEN Memory Images
-
-
- -- Diagram 2 --
-
- Address CP/M Image ZCPR2 Image
-
- --------------------- ----------------------
- | BIOS | | BIOS with Modified |
- | | | Cold Boot |
- BDOS+0E00H--> --------------------- ----------------------
- | BDOS | | BDOS (No Change) |
- CCP +0800H--> --------------------- ----------------------
- | CP/M 2.2 CCP | | ZCPR2 |
- CCP Base --> --------------------- ----------------------
- | Scratch Area | | Scratch Area |
- 100H --> --------------------- ----------------------
- | CP/M Buffers et al| | ZCPR2 Buffers et al|
- 0H --> --------------------- ----------------------
-
- CP/M and ZCPR2-based Executing Images
-
-
- è
- Question 1: Where is the CCP located when it is executed?
-
- ┴á prograφ calleΣ CCPLO├ i≤ provideΣ iε thσ ZCPR▓á distribuì
- tion«á Thi≤ program¼ whosσ CO═ filσ i≤ se⌠ u≡ t∩ ruε startinτ a⌠ ì
- 100H¼á wil∞ returε t∩ yo⌡ thσ basσ addresse≤ oµ you≥á CCP¼á BDOS¼ ì
- anΣ BIOS«á Thi≤ prograφ b∙ itselµ answer≤ thσ firs⌠ questioε fo≥ ì
- you.
-
- Iµ yo⌡ arσ runninτ ß non-OR╟ ░ CP/═ system¼ yo⌡ wil∞ havσ t∩ ì
- reassemblσ CCPLO├ iε orde≥ t∩ ruε it« Thi≤ discussioε i≤ orientì
- eΣ toward≤ OR╟ ░ CP/═ systems¼á bu⌠ i⌠ i≤ no⌠ difficul⌠ t∩ adjus⌠ ì
- offset≤ fo≥ non-OR╟ ░ systems.
-
-
- Questioε 2║ Wherσ i≤ thσ CC╨ locateΣ iε thσ SYSGE╬ Imagσ or¼ fo≥ ì
- system≤á whicΦ don'⌠ suppor⌠ SYSGEN¼á wherσ i≤ thσ CC╨ locateΣ oε ì
- disδ anΣ ho≈ wil∞ thσ ne≈ ZCPR▓ bσ placeΣ oε to≡ oµ it?
-
- Thi≤ questioε i≤ no⌠ answereΣ nearl∙ s∩ easily« Iµ yo⌡ havσ ì
- thσ abilit∙ t∩ SYSGE╬ you≥ system¼á i⌠ i≤ mucΦ easie≥á (commonly⌐ ì
- thaε iµ yo⌡ d∩ not«á Yo⌡ must¼á afte≥ assemblinτ ZCPR▓ properly¼ ì
- integratσá i⌠ int∩ thσ SYSGE╬ (o≥ disk⌐ imagσ oµ CP/M«á Thi≤ caε ì
- bσ donσ b∙ obtaininτ ß SYSGE╬ imagσ oµ you≥ system¼á scanninτá i⌠ ì
- vißá ßá debugge≥á sucΦá a≤ DD╘ t∩ finΣ thσ offse⌠á fo≥á thσá CCP¼ ì
- readinτ ZCPR▓ iε oε to≡ oµ thσ CP/═ 2.▓ CCP¼á anΣ finall∙ runninτ ì
- SYSGE╬á agaiε t∩ placσ thσ resultan⌠ systeφ oε disk«á Iµ yo⌡á D╧ ì
- NO╘ havσ SYSGE╬ capability¼ ß Disδ Utilit∙ prograφ i≤ requireΣ t∩ ì
- locatσá thσá CC╨ oε disδ anΣ theε writσ ZCPR▓ oε to≡ oµá thσá olΣ ì
- one«á Thσá ne⌠á resul⌠ oµ thi≤ integratioε i≤ thσá placemen⌠á oµ ì
- ZCPR▓á ont∩á disδ iε thσ prope≥ placσ s∩ tha⌠ i⌠ wil∞á bσá loadeΣ ì
- witΦ thσ res⌠ oµ CP/═ oε colΣ boo⌠ anΣ executeΣ properly.
-
- T∩á finΣá thσ origina∞ CP/═ 2.▓ CCP¼á yo⌡ typicall∙ havσá t∩ ì
- locatσá i⌠ b∙ it≤ appearance«á I⌠ ma∙ bσ storeΣ contiguousl∙á oε ì
- disk¼ so¼ oncσ i⌠ i≤ found¼ ß sequentia∞ overwritσ i≤ al∞ tha⌠ i≤ ì
- required«á Thi≤ i≤ no⌠ alway≤ thσ case¼ however¼ anΣ you≥ partiì
- cula≥ situatioε ma∙ bσ different«á Probabilit∙ i≤ extremel∙ higΦ ì
- tha⌠ i⌠ i≤ storeΣ contiguousl∙ iε thσ SYSGE╬ image.
-
- Thσá CC╨á start≤á witΦ tw∩ anΣ ONL┘á TW╧á jum≡á instruction≤ ì
- followeΣ b∙ ß buffe≥ areß (possibl∙ containinτ aε initia∞ commanΣ ì
- and/o≥ thσ Digita∞ ResearcΦ copyrigh⌠ notice)«á Thσ Digita∞á Reì
- searcΦá manual≤á sho≈á thσ CC╨ t∩ residσ a⌠ addres≤ 980╚á iεá thσ ì
- SYSGE╬ Image¼á bu⌠ thi≤ ma∙ var∙ witΦ thσ particula≥ systeφ (notσ ì
- previou≤ diagrams)«á T∩ finΣ thi≤ image¼á usσ DD╘ o≥ somσá othe≥ ì
- debugger¼á loaΣ thσ SYSGE╬ image¼á anΣ examinσ memor∙ startinτ a⌠ ì
- arounΣ 900╚ fo≥ thσ tw∩ (anΣ ONL┘ two⌐ jump≤ describeΣ above« Iµ ì
- yo⌡ finΣ aε areß witΦ morσ thaε tw∩ jump≤ (ß grou≡ oµ them)¼á yo⌡ ì
- arσ probabl∙ lookinτ a⌠ thσ BIO╙ anΣ shoulΣ g∩ lowe≥ fo≥ thσ CCP« ì
- Thσá CC╨ wil∞ probabl∙ star⌠ oε aε eveε pagσ o≥ half-pagσ addres≤ ì
- (likσ 900H¼ 980H¼ 1100H¼ etc).
-
-
- No≈ thσ location≤ oµ thσ CC╨ iε thσ SYSGE╬ imagσ anΣ iεá thσ ì
- runninτ imagσ arσ known«á RecorΣ thesσ addresse≤ fo≥ later« Yo⌡ ì
- arσá no≈ read∙ fo≥ thσ integratioε oµ ZCPR▓ anΣ thσ ne≈ BIO╙ int∩ ì
- you≥ system« T∩ d∩ this¼ perforφ thσ followinτ steps:
-
- 1⌐á Assuminτ tha⌠ yo⌡ caε usσ SYSGEN¼á obtaiε ßá SYSGE╬ ì
- imagσ oµ you≥ curren⌠ CP/═ systeφ anΣ savσ i⌠ oε disk«á Als∩ ruε ì
- CCPLO├ anΣ obtaiε it≤ values.
-
- 2⌐á Edi⌠á ZCPRHDR.LI┬ anΣ se⌠ thσ CPRLO├ equatσ t∩á thσ ì
- addres≤ oµ thσ runninτ CC╨ imagσ obtaineΣ above«á Se⌠ an∙á flag≤ ì
- anΣ value≤ a≤ yo⌡ desirσ (seσ thσ ZCPR▓ Customizatioε section).
-
- 3⌐ Edi⌠ you≥ BIO╙ o≥ BIO╙ Overla∙ anΣ se⌠ u≡ you≥á ColΣ ì
- Boo⌠á routinσá t∩ perforφ thσ necessar∙ initialization≤á fo≥á thσ ì
- ZCPR▓ feature≤ yo⌡ havσ selecteΣ (seσ thσ sectioε oε Modificatioε ì
- oµá thσ BIO╙ ColΣ Boo⌠ Routinσ below)«á Wheε satisfied¼á enΣ thσ ì
- edi⌠ session.
-
- 4⌐á Assemblσá ZCPR▓ witΦá MA├á (o≥á equivalent)«á Thi≤ ì
- assemble≥á i≤á requireΣá becausσ oµ thσ MACRO≤á used«á Onl∙á thσ ì
- resultan⌠á HE╪ filσ i≤ requireΣ fo≥ thσ res⌠ oµ thσá installatioε ì
- procedure¼á s∩ yo⌡ caε ge⌠ riΣ oµ ZCPR▓ sourcσ iµ yo⌡ arσ runninτ ì
- shor⌠ oε disδ space.
-
- 5⌐ Assemblσ you≥ BIO╙ o≥ BIO╙ Overlay« Again¼ onl∙ thσ ì
- resultan⌠ HE╪ filσ i≤ required¼á s∩ yo⌡ caε ge⌠ riΣ oµ thσ sourcσ ì
- oncσ thσ assembl∙ i≤ complete.
-
- 6⌐á LoaΣá thσá SYSGE╬ imagσ int∩ memor∙á witΦá DD╘á (o≥ ì
- equivalent)« Oncσ loaded¼ verif∙ tha⌠ thσ origina∞ CC╨ i≤ a⌠ thσ ì
- IMAG┼á addres≤á founΣ abovσ anΣ computσá thσá integratioεá offse⌠ ì
- usinτ thσ DD╘ ╚ command:
- H<IMAG┼ address>,<RUNNIN╟ address>
-
- Thσá seconΣ numbe≥ displayeΣ give≤ yo⌡ thσ OFFSE╘ valuσá requireΣ ì
- fo≥ step≤ ╖ anΣ 8.
-
- 7⌐á Integratσ ZCPR▓ int∩ you≥ SYSGE╬ imagσ viß DDT'≤á ╔ ì
- anΣá ROFFSE╘á commands«á Usσá IZCPR2.HE╪ (o≥ thσá namσá oµá you≥ ì
- versioεá oµ ZCPR2⌐ t∩ loaΣ thσ FC┬ anΣ ROFFSE╘ (wherσ OFFSE╘á wa≤ ì
- computeΣ iε Ste≡ 6⌐ t∩ loaΣ thσ ZCPR2.HE╪ filσ int∩ memor∙ a⌠ thσ ì
- prope≥á location«á Checδá t∩ seσ tha⌠ ZCPR▓ i≤á indeeΣá properl∙ ì
- loaded by examining the SYSGEN IMAGE area.
-
- 8⌐ Integratσ you≥ ne≈ ZCPR▓ BIO╙ int∩ you≥ SYSGE╬ imagσ ì
- viß DDT'≤ ╔ anΣ ROFFSE╘ commands«á Usσ IBIOS.HE╪ (o≥ thσ namσ oµ ì
- you≥á versioεá oµá thσ BIOS⌐ t∩ loaΣ thσ FC┬ anΣá ROFFSE╘á (wherσ ì
- OFFSE╘á wa≤á computeΣ iε Ste≡ 6⌐ t∩ loaΣ thσ BIOS.HE╪á filσá int∩ ì
- memor∙á a⌠ thσ prope≥ location«á Checδ t∩ seσ tha⌠ thσá BIO╙á i≤ ì
- indeeΣ properl∙ loadeΣ b∙ examininτ thσ SYSGE╬ IMAG┼ area.
-
- 9⌐á Placσ thσ ne≈ systeφ oε disδ b∙ runninτ SYSGE╬á anΣ ì
- NOT loading the system from disk (use the memory image).
- è
- 2.1 ZCPR2 Installation Example
-
- Fo≥á furthe≥á clarificatioεá oµá thσá abovσá procedure¼á thσ ì
- followinτá i≤ ß samplσ termina∞ sessioε whicΦ outline≤ thσá step≤ ì
- taken«á I⌠ i≤ ruε froφ ß ZCPR▓ system¼á anΣ thσ screeεá display≤ ì
- are edited to omit unnecessary detail and improve clarity.
-
- B1>;
- B1>; Sample terminal session which illustrates ZCPR2 installation
- B1>; This is done from a running ZCPR2 system and shows some of
- B1>; the extended features of ZCPR2
- B1>;
- B1>
- B1>;
- B1>; Step 1a -- SYSGEN
- B1>;
- B1>hdsysgen
- SYSGEN VER 2.2
- SOURCE DRIVE NAME (OR RETURN TO SKIP)a
- SOURCE ON A, THEN TYPE RETURN
- FUNCTION COMPLETE
- DESTINATION DRIVE NAME (OR RETURN TO REBOOT)
-
- B1>save 45 cpzm.cpm
- B1>;
- B1>; Step 1b -- Run CCPLOC to get addresses
- B1>;
- B1>ccploc
- CCPLOC Version 1.0
-
- CP/M Element Base Page Base Address
- ------------ --------- ------------
- CCP BDH BD00H
- BDOS C5H C506H
- BIOS D3H D300H
-
-
- B1>;
- B1>; Note the files I am working with
- B1>;
- B1>xdir
-
- XDIR III, Version 1.3 Vertical Listing by File Type and Name
- Disk: B User: 1, File Attributes: Non-System
-
- Filename.Typ Size K Filename.Typ Size K Filename.Typ Size K
- -------- --- ------ -------- --- ------ -------- --- ------
- CHBIOSZ .ASM 52 CPZM .CPM 12 ZCPRHDR .LIB 12
- ZCPR .ASM 56 CBIOSHDR.LIB 12
- 5 Files Occupying 144K, 33 Files on Disk and 4360K Free
-
- B1>
-
-
- B1>;
- B1>; Step 2 -- Edit ZCPRHDR.LIB and set all options and values
- B1>;
- B1>ed zcprhdr.lib
- -- Detail Left Out --
- B1>
- B1>;
- B1>; Step 3 -- Edit CHBIOSZ.ASM and CBIOSHDR.LIB and set Cold
- B1>; Boot Inits
- B1>; You will probably only have to deal with one BIOS file
- B1>;
- B1>ed chbiosz.asm
- -- Detail Left Out --
- B1>ed cbioshdr.lib
- -- Detail Left Out --
- B1>; I'll erase the backup files now
- B1>era *.bak
- CHBIOSZ .BAK | ZCPRHDR .BAK | CBIOSHDR.BAK
- B1>
- B1>;
- B1>; Step 4 -- Assemble ZCPR2
- B1>; I will also run TIME to show you how long it takes
- B1>;
- B1>time;mac zcpr2 $pz sz;time
- TIME Version 1.1 1:43:38 AM on Thursday December 16, 1982
- CP/M MACRO ASSEM 2.0
- C4FC <-- Note the ZCPR2 MUST end before BDOS
- 01CH USE FACTOR <-- begins!
- END OF ASSEMBLY
-
- TIME Version 1.1 1:45:18 AM on Thursday December 16, 1982
- B1>
- B1>;
- B1>; Step 5 -- Assemble BIOS
- B1>;
- B1>time;mac chbiosz $pz sz;time
- TIME Version 1.1 1:49:15 AM on Thursday December 16, 1982
- CP/M MACRO ASSEM 2.0
- FCE0
- 01AH USE FACTOR
- END OF ASSEMBLY
-
- TIME Version 1.1 1:50:32 AM on Thursday December 16, 1982
- B1>xdir
-
- XDIR III, Version 1.3 Vertical Listing by File Type and Name
- Disk: B User: 1, File Attributes: Non-System
-
- Filename.Typ Size K Filename.Typ Size K Filename.Typ Size K
- -------- --- ------ -------- --- ------ -------- --- ------
- CHBIOSZ .ASM 52 CHBIOSZ .HEX 8 CBIOSHDR.LIB 12
- ZCPR2 .ASM 56 ZCPR2 .HEX 8 ZCPRHDR .LIB 12
- CPZM .CPM 12
- 7 Files Occupying 160K, 35 Files on Disk and 4344K Free
- è
- B1>;
- B1>; Step 6 -- Run DDT and locate the CCP
- B1>;
- B1>ddt cpzm.cpm
- DDT VERS 2.0
- NEXT PC
- 2E00 0100
- -d900,90f <-- Start looking around here
- 0900 31 80 E7 3E 06 3C 3C FE 1B CA 00 C2 DA 11 E7 D6
- -da00,a0f
- 0A00 31 00 01 01 01 0C C5 CD 0F E4 21 00 BE 11 00 04
- -db00,b0f
- 0B00 31 00 01 01 01 11 C5 CD 0F E4 21 00 C0 11 00 02
- -db80,b8f
- 0B80 31 00 01 01 09 01 CD A8 00 21 00 D2 11 00 C2 0E
- -- Detail Left Out --
- -d1100 <-- I found it at 1100H; note the 2 JMP's
- 1100 C3 FF BD C3 FB BD 50 10 20 20 20 20 20 20 20 20
- 1110 20 20 20 20 20 20 20 20 00 00 00 00 00 00 00 00
- 1120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
- -- Detail Left Out --
- -h1100,bd00
- CE00 5400 <-- Integration Offset is 5400 for my system
- -^├ <-- Returε t∩ CP/M╗ ╔ kno≈ tha⌠ CPRLO├ wil∞ be
- BD00H and the IMAGE offset is 1100H
-
- B1>
- B1>;
- B1>; Steps 7 and 8 -- Perform integration of ZCPR2 and BIOS
- B1>;
- B1>ddt cpzm.cpm <-- Edit CP/M Image
- DDT VERS 2.0
- NEXT PC
- 2E00 0100
- -h1100,800 <-- Compute End Address of CCP
- 1900 0900 <-- (CCP is 800H bytes long)
- -f1100 18ff 0 <-- Zero Fill Area (I like to do this)
- -izcpr2.hex <-- Overlay ZCPR2
- -r5400 <-- Offset Computed Above
- NEXT PC
- 2E00 0000
- -h1900,e00 <-- Compute Beginning of BIOS
- 2700 0B00
- -f2700 2dff 0 <-- Zero Fill Area (I like)
- -ichbiosz.hex <-- Overlay BIOS
- -r5400 <-- Offset Computed Above
- NEXT PC
- 2E00 0000
- -^C <-- Done
-
-
- B1>;
- B1>; Step 9 -- Perform SYSGEN
- B1>;
- B1>save 2dh cpzm.cpm <-- Save file (note HEX page count)
- Erase CPZM .CPM?y
- B1>hdsysgen <-- SYSGEN to disk from memory
- SYSGEN VER 2.2
- SOURCE DRIVE NAME (OR RETURN TO SKIP) <-- Skip
- DESTINATION DRIVE NAME (OR RETURN TO REBOOT)a <-- Select A
- DESTINATION ON A, THEN TYPE RETURN
- FUNCTION COMPLETE
- DESTINATION DRIVE NAME (OR RETURN TO REBOOT) <-- REBOOT!
-
-
- B1>
-
- 3.0 ZCPR2 Customization
-
- Thσá filσ ZCPRHDR.LI┬ contain≤ al∞ oµ thσ customizatioε equì
- ate≤ anΣ value≤ fo≥ ZCPR2¼á anΣ i⌠ i≤ typicall∙ no⌠ necessar∙á t∩ ì
- edi⌠ ZCPR2.AS═ iε orde≥ t∩ configurσ i⌠ t∩ you≥ desires« Editinτ ì
- ZCPRHDR.LI┬á i≤á thσá onl∙ procedurσ necessar∙á t∩á perforφá sucΦ ì
- customization.
-
- Iε thi≤ sectioε oµ thσ Installatioε Manua∞ ╔ wil∞ g∩ througΦ ì
- eacΦ oµ thσ equate≤ anΣ valuσ setting≤ iε ZCPRHDR.LI┬ iε sequencσ ì
- (froφ beginninτ t∩ end)«á Thi≤ allow≤ yo⌡ t∩ simpl∙ ste≡ througΦ ì
- thσá filσ witΦ aε edito≥ whilσ yo⌡ arσ readinτ thi≤ manual«á Thσ ì
- documentatioεá iεá thi≤á manua∞á augment≤á thσá documentatioεá iε ì
- ZCPRHDR.LI┬á t∩á givσ yo⌡ ß fairl∙ completσ explanatioεá oµá eacΦ ì
- option.
-
- I⌠á i≤á importan⌠á tha⌠ yo⌡ havσ reaΣá thσá Concept≤á Manua∞ ì
- beforσ performinτ thi≤ customization«á Knowledgσ oµ ho≈ CP/═ 2.▓ ì
- work≤á anΣ thσ content≤ oµ thσ Concept≤ Manua∞ i≤ assumeΣ iε thi≤ ì
- sectioε oµ thσ Installatioε Manual.
-
-
- 1«á RE╠ -- Configure≤ CPRLO├ (CPRLO├ eq⌡ 0⌐ fo≥á integratioε ì
- vißá MOVCP═ rathe≥ thaε thσ DDT/SYSGE╬ techniquσ outlineΣá above╗ ì
- se⌠á t∩ TRU┼ fo≥ MOVCP═ integratioε o≥ FALS┼ fo≥ DDT/SYSGE╬ inteì
- gration
-
- 2«á BAS┼ -- Basσ addres≤ oµ you≥ CP/═ system╗á standarΣ CP/═ ì
- ha≤á ß basσ oµ 0¼á bu⌠ somσ CP/═ system≤ (sucΦ a≤ fo≥ thσá TRS-8░ ì
- Mode∞á I⌐ star⌠ physica∞ RA═ memor∙ a⌠ ß highe≥á address╗á equatσ ì
- BAS┼ t∩ thσ startinτ RA═ memor∙ addres≤ oµ you≥ system
-
- 3« CPRLO├ -- Thi≤ i≤ thσ startinτ addres≤ oµ ZCPR2╗ se⌠ thσ ì
- seconΣá CPRLO├ equatσ t∩ thσ addres≤ yo⌡ obtaiε froφá CCPLOC╗á iµ ì
- yo⌡á havσá ß "standardó system¼á yo⌡ ma∙ wisΦ t∩ usσá thσá MSIZE¼ ì
- BIOSEX¼ anΣ CPRLO├ equate≤ whicΦ arσ commenteΣ ou⌠ insteaΣ oµ thσ ì
- simplσ CPRLO├ ╔ prefe≥ t∩ use
-
- 4«á CPR╥á -- Thi≤ i≤ thσ valuσ oµ OFFSET¼á anΣ yo⌡ ma∙á se⌠ ì
- thi≤á equatσ accordinτ t∩ you≥ systeφ a≤ desired╗á i⌠ i≤ no⌠ useΣ ì
- b∙ ZCPR2¼ bu⌠ i⌠ doe≤ providσ yo⌡ witΦ thσ requireΣ valuσ withou⌠ ì
- having to compute it via the H command in DDT
-
- 5«á BIO╙ -- Thi≤ i≤ ß standarΣ equatσ anΣ usuall∙ doe≤á no⌠ ì
- need to be changed
-
- 6«á COMTY╨á anΣ SUBTY╨ -- Thesσ MACRO≤ allo≈ yo⌡ t∩á definσ ì
- thσá filσ typσ oµ thσ CO═ anΣ SU┬ files╗á thi≤ i≤ aε optioε whicΦ ì
- improve≤á flexibility¼á and¼á iεá somσ environments¼á i⌠á ma∙á bσ ì
- desirable to type COM files as something else, like OBJ
-
- 7«á SUBO╬á -- Thi≤á turn≤á oε thσá SUBMI╘á filσá processinτ ì
- facility of ZCPR2
-
- è 8«á DRVPREFI╪á -- Thi≤ enable≤ o≥ disable≤ thσ abilit∙á t∩ ì
- specif∙ command≤ beginninτ witΦ ß disk/use≥ prefix¼á likσá "A4:Xó ì
- o≥ "B:RUNIT"
-
- ┴á sidσá effec⌠ oµ DRVPREFI╪ beinτ TRU┼ i≤ tha⌠ thσá curren⌠ ì
- disk/use≥ i≤ automaticall∙ scanneΣ beforσ thσ patΦ searcΦ begins.
-
- 9«á DRVPFAT╘á -- Thi≤á flaτ allow≤ thσ use≥ t∩ selec⌠á thσ ì
- attribute≤á oµ thσ file≤ iε thσ curren⌠ disk/use≥ t∩ bσá examineΣ ì
- iµ thσ DRVPREFI╪ flaτ i≤ TRUE« Thσ followinτ value≤ arσ defined:
-
- DRVPFATT Files Selected
- -------- --------------
- 0 System
- 80H Directory
- 1 Both System and Directory
-
- 10«á USERO╬ -- Thi≤ flaτ enable≤ o≥ disable≤ thσ abilit∙ oµ ì
- the user to select different user areas via the DU: prefix.
-
- 11«á xxxxO╬ -- Thesσ flag≤ enablσ o≥ disablσ variou≤ ZCPR2-ì
- residen⌠ commands«á MACRO≤ arσ availablσ late≥ iε ZCPRHDR.LI┬ t∩ ì
- definσá thσá name≤ oµ thσ command≤ iµ thσ use≥ wishe≤á t∩á changσ ì
- them« Thesσ xxxxO╬ flag≤ are:
-
- Flag Commands Affected
- ---- -----------------
- DIRON DIR
- LTON LIST, TYPE
- GOON GO
- ERAON ERA
- SAVEON SAVE
- RENON REN
- GETON GET
- JUMPON JUMP
-
- 12« INTPAT╚ -- Thi≤ flaτ determine≤ iµ ZCPR▓ use≤ aε interì
- na∞ patΦ o≥ aε externa∞ patΦ fo≥ CO═ filσ searches«á Iµá INTPAT╚ ì
- i≤á FALSE¼á theεá Externa∞ PatΦ i≤ selecteΣ anΣ thσ nex⌠á equate¼ ì
- PATH¼ define≤ thσ basσ addres≤ oµ thi≤ Externa∞ Path« Iµ INTPAT╚ ì
- i≤á TRUE¼á theε thσ followinτ IPAT╚ macr∩ i≤ useΣ t∩á definσá thσ ì
- Interna∞á Path¼á anΣá thi≤á patΦ i≤ locateΣ withiεá ZCPR▓á itselµ ì
- (takinτ u≡ space).
-
-
- 13«á ERAx°á anΣá ERDFL╟ -- Thesσ equate≤ dea∞ witΦ thσá ER┴ ì
- commanΣá specifically¼á anΣ arσ simpl∙ ignoreΣ iµ ER┴á i≤á turneΣ ì
- off« The∙ worδ togethe≥ t∩ providσ thσ followinτ feature≤ t∩ thσ ì
- ERA command:
-
- -- Settings --
- ERAOK ERAV Feature
- FALSE anything ERA will not ask to verify before
- performing the erase
- TRU┼ FALS┼ ER┴ wil∞ alway≤ asδ t∩ verif∙
- before performing the erase
- TRUE TRUE ERA will ask to verify before
- performing the erase only if the
- ERDFLG (recommended to be "V")
- flag appears in the command line
- after the file spec
-
- 14«á DUPRMP╘á -- Thi≤ equatσ enable≤ o≥ disable≤ thσá "du>ó ì
- prompt«á Iµá enabled¼á thσ promp⌠ fo≥ use≥ inpu⌠ wil∞ appea≥á a≤ ì
- "d>ó o≥ "du>ó (seσ thσ SUPRE╙ flaτ belo≈ also)« Iµ disabled¼ thσ ì
- promp⌠á wil∞á onl∙ appea≥ a≤ ">"«á Seσ als∩á CPRMP╘á anΣá SPRMP╘ ì
- below.
-
- 15«á MULTCM─á e⌠ a∞ -- Thi≤ equatσ enable≤ o≥ disable≤á thσ ì
- ZCPR▓ multiplσ commanΣ linσ feature« Iµ se⌠ t∩ TRUE¼ thσ featurσ ì
- i≤ enableΣ anΣ thσ CMDSEP¼á CLBASE¼á anΣ BUFLE╬ equate≤ takσá efì
- fect.
-
- These other equates mean the following:
-
- CMDSEP -- definσá thσá characte≥ useΣ t∩á separatσ ì
- áááááááááááááááááááááááááeacΦ entr∙ iε thσ commanΣ line╗ iµ chanì
- ááááááááááááááááááááááááágeΣá froφ thσ defaul⌠ oµá ";"¼á al∞á thσ ì
- áááááááááááááááááááááááááZCPR▓ utilitie≤ havσ t∩ bσ reinstalled
-
- CLBASE -- basσá addres≤á oµ thσá Multiplσá CommanΣ ì
- áááááááááááááááááááááááááLinσ Buffer
-
- BUFLEN -- sizσ oµ thσ Multiplσ CommanΣ Linσ Buffe≥ ì
- áááááááááááááááááááááááááiε bytes╗á MUS╘ bσ les≤ thaε 25┤ (╔ havσ ì
- áááááááááááááááááááááááááfounΣ 20░ t∩ bσ quitσ sufficient)
-
-
- 16«á Whee∞á Bytσá Selectioε -- Thσ Whee∞ Bytσá facilit∙á oµ ì
- ZCPR▓ i≤ useΣ t∩ makσ ZCPR▓ ß morσ securσ systeφ b∙ enablinτá anΣ ì
- disablinτá selecteΣ ZCPR▓ residen⌠ commands«á WitΦ thi≤ facilit∙ ì
- enabled¼ ß Whee∞ Byte¼ whicΦ i≤ simpl∙ ß bytσ whosσ valuσ i≤ ░ o≥ ì
- 0FF╚ tha⌠ exist≤ somewherσ iε memory¼ i≤ examineΣ beforσ ß wheel-ì
- baseΣ commanΣ i≤ executed«á Iµ thi≤ bytσ i≤ no⌠ zero¼á theεá thσ ì
- commanΣ executes╗á iµ i⌠ i≤ zero¼ theε thσ commanΣ i≤ no⌠ alloweΣ ì
- t∩á executσá anΣá i≤ exiteΣ witΦ aεá erro≥á message«á Thσá ZCPR▓ ì
- transien⌠ WHEE╠ i≤ employeΣ b∙ ß privilegeΣ use≥ t∩ se⌠ anΣ rese⌠ ì
- thσá Whee∞ Byte╗á witΦ thσ WHEE╠ command¼á ß passworΣ i≤ requireΣ ì
- before any action is taken.
-
- Thσá nex⌠á se⌠á oµ equate≤ i≤ useΣ t∩á (1⌐á definσá thσ ì
- addres≤á oµ thσ Whee∞ Bytσ anΣ (2⌐ selec⌠ thσ command≤ whicΦá arσ ì
- t∩ responΣ t∩ thσ Whee∞ Bytσ settinτ anΣ abor⌠ witΦ erro≥ iµá thσ ì
- Wheel Byte is a zero.
-
- WHLADR - Address of Wheel Byte
-
- WERA, WREN, WLT, WGO, WSAVE, WGET, WJUMP, WDU -
- If TRUE, these equates make their associated
- commands respond to the Wheel Byte:
-
- Equate Association Equate Association
- WERA ERA WSAVE SAVE
- WREN REN WGET GET
- WLT LIST/TYPE WJUMP JUMP
- WGO GO WDU DU: Change
-
-
- 17«á Thσ nex⌠ equate≤ arσ useΣ t∩ definσ thσ stacδ useΣá b∙ ì
- ZCPR2«á Thσá stacδá ma∙ bσ placeΣ interna∞ t∩ ZCPR▓á (takinτá u≡ ì
- space⌐á o≥ externa∞ t∩ ZCPR2«á Thσ INTSTAC╦ equatσ determine≤ iµ ì
- thσ stacδ i≤ interna∞ t∩ ZCPR2╗á iµ TRUE¼á sucΦ i≤ thσ case«á Iµ ì
- INTSTAC╦ i≤ FALSE¼á theε thσ STKBAS┼ equatσ determine≤ wherσá thσ ì
- bottoφ oµ thσ 48-bytσ stacδ i≤ locateΣ iε memory«á Thσ installe≥ ì
- shoulΣá no⌠á changσ thσ STAC╦ equatσ followinτ STKBAS┼á sincσá 4╕ ì
- byte≤á (anΣ n∩ more⌐ arσ requireΣ fo≥ thσ stack«á Notσ tha⌠á thσ ì
- stack grows DOWN to STKBASE. Summary:
-
- INTSTACK - TRUE if stack is internal to ZCPR2
- STKBASE - if INTSTACK is FALSE, then this is the
- address of the bottom of the stack
-
-
- 18«á Simplσá Customizatioε Symbol≤ -- Thesσ symbol≤ providσ ì
- fo≥ furthe≥ customizatioε oµ ZCPR▓ t∩ ß user'≤ particula≥á taste≤ ì
- anΣá hardwarσá facilities«á The∙ arσ covereΣ briefl∙ herσá sincσ ì
- the∙ arσ al∞ quitσ straight-forward.
-
- Option Name Function
-
- NLINES Number of lines on the user's CRT for paging
-
- WIDE Thi≤á equatσá i≤ useΣ t∩ selec⌠ ß narro≈á o≥á widσ ì
- ááááááááááááááádispla∙ unde≥ thσ DI╥ command╗á iµ WID┼ i≤ equateΣ ì
- ááááááááááááááát∩á TRUE¼á eacΦá filσá namσ i≤á separateΣá b∙á tw∩ ì
- áááááááááááááááspaces¼á ß FENCE¼á anΣ tw∩ morσ spaces╗ iµ WID┼ i≤ ì
- áááááááááááááááequateΣ t∩ FALSE¼á eacΦ filσ namσ i≤ separateΣá b∙ ì
- áááááááááááááááonσ space¼ ß FENCE¼ anΣ onσ morσ space
-
- FENCEáááááááThi≤ equatσ define≤ thσ characte≥ useΣ t∩ separatσ
- áááááááááááááááentrie≤á iεá ßá displa∙ causeΣ b∙ thσ DI╥áandá ER┴ ì
- ááááááááááááááácommands
-
- PGDFLT Thi≤á i≤á thσá Paginτ Defaul⌠ flaτá fo≥á thσá TYP┼ ì
- ááááááááááááááácommand╗á iµ PGDFL╘ i≤ se⌠ t∩ TRUE¼á thσ TYP┼ comì
- ááááááááááááááámanΣá wil∞á pagσ it≤ outpu⌠ b∙ defaul⌠ anΣá thσá ╨ ì
- áááááááááááááááoptioεá oε thσ TYP┼ commanΣ (seσ below⌐ wil∞á proì
- áááááááááááááááhibi⌠ paging╗á iµ PGDFL╘ i≤ se⌠ t∩ FALSE¼ thσ TYP┼ ì
- ááááááááááááááácommanΣá wil∞ NO╘ pagσ it≤ outpu⌠ b∙á defaul⌠á anΣ ì
- áááááááááááááááthσ ╨ optioε wil∞ enablσ paging
-
- PGDFLG Thi≤ set≤ thσ optioε characte≥ iε thσ commanΣ linσ ì
- áááááááááááááááfo≥ thσ TYP┼ commanΣ (thσ 'Pº mentioneΣ above)╗ iµ ì
- áááááááááááááááthσá use≥ wishe≤ t∩ changσ thi≤ optioεá character¼ ì
- áááááááááááááááhσ neeΣ onl∙ changσ thi≤ equate
-
- MAXUSR Thi≤á i≤ thσ larges⌠ use≥ numbe≥ recognizeΣ b∙ thσ ì
- áááááááááááááááuse≥ numbe≥ processor╗á iµ thσ use≥ wishe≤ t∩ proì
- ááááááááááááááátec⌠ thσ highe≥ use≥ areas¼ hσ ma∙ se⌠ thi≤ symbo∞ ì
- ááááááááááááááát∩ thσ highes⌠ areß normall∙ accessable╗ 3▒ i≤ thσ ì
- ááááááááááááááálarges⌠ permitteΣ valuσ fo≥ MAXUSR╗á iε an∙á case¼ ì
- ááááááááááááááá1╡á i≤á thσ larges⌠ use≥ numbe≥ onσ ma∙á loτá int∩ ì
- ááááááááááááááá(unles≤ MAXUS╥ i≤ les≤ thaε 15)¼ bu⌠ i⌠ i≤ no⌠ thσ ì
- ááááááááááááááálarges⌠ use≥ numbe≥ tha⌠ ma∙ bσ referenceΣ b∙ DIR¼ ì
- áááááááááááááááERA¼á anΣ thσ othe≥ ZCPR2-residen⌠ command≤ (like¼ ì
- ááááááááááááááá"DIR A22:")
-
- MAXDISKáááááThi≤á equatσá define≤ thσ numbe≥ oµ logica∞á disk≤ ì
- áááááááááááááááthσá use≥ support≤ oε hi≤ system╗á i⌠ ma∙á no⌠á bσ ì
- ááááááááááááááágreater than 16
-
-
- SYSFLGá ááThi≤á i≤ thσ optioε characte≥ fo≥ thσ DI╥á commanΣ ì
- ááááááááááááááálinσ whicΦ i≤ useΣ t∩ specif∙ tha⌠ DI╥ searcΦá Al∞ ì
- áááááááááááááááFile≤á (botΦ $SY╙ anΣ $DIR⌐ fo≥ it≤á display╗á thσ ì
- ááááááááááááááádistributeΣ defaul⌠ fo≥ thi≤ i≤ 'A'
-
- è SOFLG Thi≤á i≤ thσ optioε characte≥ fo≥ thσ DI╥á commanΣ ì
- ááááááááááááááálinσ whicΦ i≤ useΣ t∩ specif∙ tha⌠ DI╥ searcΦ ONL┘ ì
- áááááááááááááááthσá $SY╙ file≤ fo≥ it≤ display╗á thσá distributeΣ ì
- ááááááááááááááádefaul⌠ fo≥ thi≤ i≤ 'S'
-
- SUPRES Se⌠á SUPRE╙ t∩ TRU┼ t∩ suppres≤ printinτ thσá use≥ ì
- ááááááááááááááánumbe≥ wheε thσ use≥ i≤ unde≥ Use≥ Numbe≥ ░ o≥ se⌠ ì
- áááááááááááááááSUPRE╙á t∩ FALS┼ t∩ ALWAY╙ displa∙ thσ Use≥ Numbe≥ ì
- áááááááááááááááwitΦ thσ ZCPR▓ prompt╗á witΦ SUPRE╙ se⌠ t∩ TRUE¼ ß ì
- áááááááááááááááuse≥ oε B║á iε use≥ ░ see≤ 'B>º a≤ thσ prompt¼ bu⌠ ì
- áááááááááááááááwitΦ SUPRE╙ se⌠ t∩ FALSE¼á ß use≥ oε B║á iε use≥ ░ ì
- ááááááááááááááásee≤ 'B0>º a≤ thσ prompt
-
- SPRMPT Thi≤ i≤ thσ ZCPR▓ promp⌠ characte≥ whicΦ indicate≤ ì
- ááááááááááááááátha⌠ ß SUBMI╘ filσ i≤ iε execution╗á b∙ defaul⌠ i⌠ ì
- ááááááááááááááái≤ se⌠ t∩ '$'¼á s∩ prompt≤ likσ 'A$º appea≥ durinτ ì
- áááááááááááááááSUBMI╘ filσ execution
-
- CPRMPT Thi≤ i≤ thσ ZCPR▓ promp⌠ characte≥ whicΦ indicate≤ ì
- ááááááááááááááátha⌠ ZCPR▓ i≤ awaitinτ ß use≥ consolσ command╗á b∙ ì
- ááááááááááááááádefaul⌠á i⌠ i≤ se⌠ t∩ '>'¼á s∩ prompt≤á likσá 'A>º ì
- áááááááááááááááappea≥á durinτá use≥ inpu⌠ t∩ ZCPR2╗á notσ tha⌠á ╔ ì
- áááááááááááááááhavσ se⌠ thσ MS┬ oµ thi≤ characte≥ s∩ tha⌠ i⌠ wil∞ ì
- áááááááááááááááprobabl∙á bσ uniquσ t∩ al∞ character≤ sen⌠ t∩á thσ ì
- áááááááááááááááconsolσ -- thσ reasoε fo≥ thi≤ i≤ s∩ tha⌠ thσá ZE╪ ì
- áááááááááááááááutilit∙á wil∞ havσ somethinτ uniquσ t∩ looδ fo≥ iε ì
- áááááááááááááááorde≥ t∩ resumσ processinτ froφ use≥ inpu⌠á -- fo≥ ì
- ááááááááááááááámorσ details¼ refe≥ t∩ thσ documentatioε oε ZEX
-
- NUMBASE Thi≤á i≤á thσ escapσ characte≥ useΣ b∙ thosσá comì
- ááááááááááááááámand≤á whicΦ requirσ ß DECIMA╠ numbe≥ a≤ aεá arguì
- áááááááááááááááment╗á placinτá thi≤á characte≥ afte≥á thσá numbe≥ ì
- áááááááááááááááargumen⌠á switche≤ thσ basσá t∩á HEXADECIMAL╗á fo≥ ì
- áááááááááááááááexample¼á 'SAV┼á 1╡á MYFILEº caε bσá expresseΣá a≤ ì
- ááááááááááááááá'SAV┼á F╚á MYFILEº iµ NUMBAS┼ i≤ se⌠ t∩á 'Hºá (thσ ì
- ááááááááááááááádefault)
-
- SECTFLG Thi≤á characte≥ constan⌠ i≤ thσ suffi° optioεá fo≥ ì
- áááááááááááááááthσ SAV┼ commanΣ whicΦ specifie≤ tha⌠ sectors¼á a≤ ì
- áááááááááááááááopposeΣá t∩ pages¼á arσ t∩ bσ saved╗á thσá defaul⌠ ì
- ááááááááááááááávaluσ i≤ 'S'
-
- CURINDááááááThi≤á characte≥ define≤ thσ symbo∞ useΣ t∩á repreì
- ááááááááááááááásen⌠á thσá curren⌠á disδ o≥ curren⌠á use≥á iεá thσ ì
- ááááááááááááááácommanΣ searcΦ path╗ it≤ recommendeΣ valuσ i≤ '$'
-
- COMMENTáááááThi≤á characte≥á i≤ useΣ t∩ makσ thσ entirσá ZCPR▓ ì
- ááááááááááááááácommanΣá linσ int∩ ß commen⌠ iµ i⌠ appear≤ a≤á thσ ì
- áááááááááááááááfirs⌠ characte≥ iε thσ line╗ it≤ recommendeΣ valuσ ì
- ááááááááááááááái≤ ';'
-
-
-
- 19«á NCHAR╙á anΣá CTABL┼ -- NCHAR╙ i≤ useΣ t∩á specif∙á thσ ì
- numbe≥ oµ character≤ iε ß ZCPR2-residen⌠ command« It≤ recommendì
- eΣá valuσ i≤ ┤ (t∩ limi⌠ thσ overal∞ sizσ oµ thσá commands)«á Cì
- TABL┼á i≤ ß tablσ containinτ thσ tex⌠ oµ eacΦ commanΣ namσá (eacΦ ì
- tex⌠á entr∙ mus⌠ bσ NCHAR╙ long⌐ anΣ thσ addres≤ oµ eacΦá commanΣ ì
- routine« Thσ tablσ i≤ structureΣ a≤ follows:
-
- DB 'TEXT' ;Command Text
- DW ADR ;Command Address
- ... ;And So On ...
-
- WitΦá thi≤á tablσ yo⌡ caε changσ thσ namσ oµá an∙á ZCPR2-residen⌠ ì
- commanΣá t∩á anythinτ yo⌡ want¼á withiε reason«á 'TYPEºá ma∙á bσ ì
- changeΣ t∩ 'PRNT'¼á fo≥ example« A≤ ß rule¼ d∩ no⌠ changσ thσ D╫ ì
- entrie≤á withou⌠á ß ver∙ gooΣ reason«á Thesσ symbol≤á arσá fixeΣ ì
- withiε ZCP╥2.ASM.
-
- 20«á EXTFC┬á anΣá FCBAD╥ -- EXTFC┬ indicate≤ wherσ thσá FC┬ ì
- useΣá t∩á contaiε intermediatσ anΣ commanΣ filσ name≤á i≤á t∩á bσ ì
- located«á Iµá EXTFC┬á i≤ TRUE¼á thi≤ FC┬ i≤ locateΣ externa∞á t∩ ì
- ZCPR2¼á anΣá it≤ addres≤ i≤ indicateΣ b∙ FCBADR«á Iµá EXTFC┬á i≤ ì
- FALSE¼á thi≤ FC┬ i≤ locateΣ interna∞ t∩ ZCPR2¼á anΣ morσ spacσ i≤ ì
- takeεá u≡ withiε ZCPR▓ (3╢ byte≤ more⌐ thaε woulΣ bσ takeε u≡á iµ ì
- EXTFC┬ wa≤ TRUE.
-
- 21«á CMDRUN¼á ROOTONLY¼á anΣá CMDFC┬ -- CMDRU╬ enable≤á thσ ì
- abilit∙á oµ ZCPR▓ t∩ executσ aε extendeΣ commanΣ processo≥ shoulΣ ì
- thσ searcΦ fo≥ ß CO═ filσ alonτ thσ commanΣ searcΦ patΦ fail« Iµ ì
- CMDRU╬á i≤á TRUE¼á thi≤ facilit∙ i≤ enabled«á Oncσ i⌠á i≤á TRUE¼ ì
- ROOTONLY and CMDFCB are active.
-
- ROOTONL┘á indicate≤ whethe≥ ZCPR▓ wil∞ searcΦ alonτ thσ ì
- patΦá fo≥ thσ extendeΣ commanΣ processo≥ o≥ jum≡ directl∙ t∩á thσ ì
- roo⌠á (las⌠ director∙ iε thσ path)«á Iµ ROOTONL┘ i≤á FALSE¼á thσ ì
- patΦ searcΦ i≤ done«á ROOTONL┘ beinτ FALS┼ cause≤ thσá executioε ì
- oµá thσ extendeΣ commanΣ processo≥ t∩ takσ jus⌠ ß littlσ bi⌠ morσ ì
- timσá thaε i⌠ woulΣ otherwise¼á bu⌠ morσ flexibilit∙ i≤ addeΣá t∩ ì
- thσ system.
-
- CMDFC┬á i≤ ß MACR╧ whicΦ define≤ thσ firs⌠ 1▓ byte≤á oµ ì
- thσá FC┬ whicΦ define≤ thσ namσ oµ thσ extendeΣ commanΣ processo≥ ì
- t∩ bσ searcheΣ for«á Yo⌡ ma∙ namσ i⌠ anythinτ yo⌡ desire¼ bu⌠ i⌠ ì
- i≤á recommendeΣ tha⌠ thi≤ namσ contaiε a⌠ leas⌠ ╢á character≤á s∩ ì
- tha⌠á commanΣá prefixinτá ma∙ bσ donσ easil∙ iµá s∩á desireΣá fo≥ ì
- furthe≥ chaining.
-
- Refe≥ t∩ thσ sectioε oε thσ ExtendeΣ CommanΣá Processo≥ ì
- in the Concepts Manual for more information.
-
-
-
- 3.1 Patching SUBMIT.COM
-
- SUBMIT.CO═ ma∙ bσ patcheΣ t∩ ruε witΦ ZCPR▓ b∙ thσ followinτ ì
- procedurσá (thi≤á i≤á recommendeΣá iµá thσá use≥á doe≤á no⌠á havσ ì
- SUB.COM)«á Thi≤á patcΦ simpl∙ make≤ i⌠ alway≤ placσ thσá $$$.SU┬ ì
- filσ oε Drivσ A:« Illustrativσ termina∞ sessioε follows:
-
-
- A>ddt b:submit.com
- DDT VERS 2.0
- NEXT PC
- 0600 0100
- -s5bb <-- Patch is at 5BB Hex
- 05BB 00 1 <-- Change 0 (default drive) to 1 (drive A:)
- 05BC 24 . <-- That's it!
- -d5b0 5cf <-- See change
- 05B0 00 00 00 00 00 00 30 30 31 20 24 01 24 24 24 20 ......001 $.$$$
- 05C0 20 20 20 20 53 55 42 00 00 00 1A 1A 1A 1A 1A 1A SUB.........
- -^C <-- Done
- A>save 5 newsubmt.com <-- Save new SUBMIT.COM file
-
-
- 4.0 Special Installation Considerations
-
- 4.1 ZCPR2 Sizing
-
- Unlikσ thσ previou≤ commanΣ processor¼á ZCP╥ 1.0¼ ZCPR▓ sizì
- inτá i≤ somewha⌠ oµ ß problem«á Certaiε combination≤ oµ thσá opì
- tion≤á fo≥ thσ TRUE/FALS┼ equateΣ symbol≤ caε causσ thσá sizσá oµ ì
- ZCPR▓á t∩ exceeΣ 2╦ bytes¼á anΣ thi≤ i≤ typicall∙ oµ concerεá anΣ ì
- no⌠á desireΣ (seσ thσ Rationalσ manual)«á Iµ thσ installer¼á fo≥ ì
- instance¼á attempt≤ t∩ duplicatσ thσ ZCP╥ configuration¼ theε thσ ì
- sizσ oµ ZCPR▓ wil∞ exceeΣ 2╦ byte≤ b∙ abou⌠ 3░ bytes.
-
- T∩á hel≡á thσ installe≥ t∩ kee≡ awarσ oµ thσ impac⌠á oµá hi≤ ì
- selection¼á thσá followinτ sizinτ char⌠ i≤ provided«á Thi≤ char⌠ ì
- show≤ thσ recommendeΣ optioε setting≤ oµ thσ equate≤ iεá questioε ì
- anΣ thσ cost≤ (measureΣ iε byte≤ oµ code⌐ associateΣ witΦ settinτ ì
- thesσá equates«á Iµ ß cos⌠ i≤ positive¼á theε tha⌠ say≤ tha⌠ thσ ì
- recommendeΣá equatσ settinτ cause≤ thσ indicateΣ numbe≥ oµá byte≤ ì
- t∩á bσá consumed¼á anΣ iµ thi≤ settinτ werσá reverseΣá (i.e.¼á iµ ì
- currentl∙ TRUE¼á se⌠ i⌠ t∩ FALSE)¼á theε thσ indicateΣ numbe≥á oµ ì
- byte≤ woulΣ bσ saved« ┴ negativσ cos⌠ show≤ tha⌠ thσ recommendeΣ ì
- settinτ i≤ consuminτ fewe≥ byte≤ thaε thσ opposite.
-
-
- ZCPR2 Sizing Chart
- Recommended Recommended
- Symbol Setting Cost Symbol Setting Cost
-
- CMDRUN TRUE 53 JUMPON TRUE 11
- DIRON TRUE 41 LTON TRUE 138
- DRVPREFIX TRUE 13 MULTCMD TRUE -67
-
- DUPRMPT TRUE 32 PGDFLT TRUE 0
- ERAOK TRUE 40 RENON TRUE 72
- ERAON TRUE 62 ROOTONLY FALSE 0
-
- ERAV TRUE 19 SAVEON TRUE 90
- EXTFCB TRUE -33 SUBON TRUE 142
- GETON TRUE 18 SUPRES TRUE 3
-
- GOON TRUE 11 USERON TRUE 3
- INTPATH FALSE -9 WIDE TRUE 2
- INTSTACK FALSE -48 Wxxxx FALSE -8-3N*
-
- ¬á Therσ arσ eigh⌠ Wxxx° equate≤ whicΦ enablσ thσ indicateΣá comì
- mand≤ t∩ responΣ t∩ thσ Whee∞ Byte« Therσ i≤ aε initia∞ overheaΣ ì
- oµá eigh⌠ byte≤ fo≥ an∙ onσ equatσ t∩ bσ enableΣ anΣ therσ i≤á aε ì
- additiona∞á overheaΣá oµá threσ byte≤ fo≥ eacΦá equatσá whicΦá i≤ ì
- enabled«á Tha⌠ is¼ t∩ enablσ onσ equatσ cost≤ 1▒ bytes¼ anΣ eacΦ ì
- additiona∞ equatσ afte≥ tha⌠ cost≤ threσ byte≤ more.
-
-
- A≤á aε installatioε trade-ofµ example¼á iµ thσ use≥á decide≤ ì
- tha⌠ hσ doe≤ NO╘ wan⌠ t∩ suppor⌠ thσ SU┬ filσ capabilit∙á (wishe≤ ì
- t∩ usσ ZE╪ exclusively)¼á theε hσ caε se⌠ SUBO╬ t∩ FALS┼ anΣ savσ ì
- 14▓á bytes«á Iµ hσ als∩ decide≤ tha⌠ hσ doe≤ no⌠ wan⌠ t∩ havσ t∩ ì
- worr∙ abou⌠ allocatinτ buffe≥ spacσ fo≥ aε externa∞ FCB¼á hσá caε ì
- se⌠á EXTFC┬ t∩ FALSE¼á bu⌠ thi≤ cost≤ hiφ 3│ byte≤ (3│ morσ byte≤ ì
- arσ consumeΣ b∙ havinτ thi≤ FC┬ interna∞ t∩ ZCPR▓ thaε havinτá i⌠ ì
- external)«á Notσá tha⌠ duσ t∩ somσ overla≡ oµ function≤ (sucΦ a≤ ì
- RENO╬ anΣ SAVEON)¼á spacσ saving≤ ma∙ var∙ dependinτ oε thσá comì
- bination≤ oµ thσ option≤ selected.
-
- 4.2 Programs Which Try to Load the FCB Command Line
-
- Onσ thinτ thσ use≥ anΣ installe≥ shoulΣ bσ concerneΣ witΦ i≤ ì
- thσá usσ oµ program≤ whicΦ emplo∙ interna∞ knowledgσ oµ thσá CP/═ ì
- 2.▓á CC╨á t∩á perforφ somσ oµá thei≥á functions«á SucΦá program≤ ì
- typicall∙ tampe≥ witΦ thσ interna∞ commanΣ linσ buffe≥ oµ thσ CC╨ ì
- anΣá theεá transfe≥á contro∞ t∩ thσ CC╨ iε sucΦ ßá wa∙á tha⌠á thσ ì
- commanΣá linσá the∙ storeΣ therσ i≤ executed«á Unde≥á ZCPR2¼á iµ ì
- MULTCM─á i≤á TRU┼ (thσ Multiplσ CommanΣ Linσ Buffe≥á Facilit∙á i≤ ì
- enabled)¼á theεá program≤ likσ thi≤ wil∞ bσá modifyinτá code/datß ì
- areßá insteaΣ oµ thσ intendeΣ buffer¼á whicΦ i≤ n∩ longe≥á there¼ ì
- and frequently cause bad things to happen.
-
- Anothe≥á examplσ i≤ wherσ thσ BIO╙ wishe≤ t∩ issuσ ß commanΣ ì
- oεá Warφ o≥ ColΣ Boot≤ anΣ i⌠ attempt≤ t∩ storσ saiΣá commanΣá iε ì
- thσ CC╨ commanΣ linσ buffe≥ a≤ describeΣ above« Simila≥ problem≤ ì
- will result.
-
- Thi≤á doe≤ no⌠ meaε tha⌠ ZCPR▓ i≤ removinτ thi≤á capability¼ ì
- bu⌠á i⌠ doe≤ meaε tha⌠ thσ capabilit∙ i≤ no⌠ invokeΣ iε thσá samσ ì
- way«á Iε orde≥ t∩ executσ ß desireΣ commanΣ linσ se⌠ b∙ ßá tranì
- sien⌠á program¼á fo≥ example¼á thσ transien⌠ neeΣ onl∙ storσá thσ ì
- desireΣ commanΣ line¼á terminateΣ b∙ ß binar∙ zero¼ iε thσ prope≥ ì
- Multiplσá CommanΣ Linσ Buffe≥ anΣ se⌠ thσ nex⌠ characte≥á pointe≥ ì
- t∩á thσá firs⌠ characte≥ t∩ bσ executed«á Likewisσ fo≥ thσá BIO╙ ì
- case.
-
-
- 5.0 Modifications to the BIOS Cold Boot Routines
-
- T∩á full∙ instal∞ ZCPR▓ a≤ recommendeΣ iε Sectioεá 4.1¼á thσ ì
- ColΣ Boo⌠ routinσ iε thσ BIO╙ mus⌠ allocatσ somσ buffe≥ spacσ anΣ ì
- perforφ somσ initialization≤ whicΦ i⌠ doe≤ no⌠ normall∙ do« A≤ ß ì
- workinτ examplσ oµ wha⌠ ╔ aφ referrinτ to¼á stud∙ thσ sourcσ codσ ì
- to the Cold Boot Routine in my BIOS:
-
- ;
- ; Cold Boot Routine for CHBIOSZ
- ; This routine allocates and initializes buffer space as
- ; required to implement ZCPR2 as recommended.
- ;
- cboot:
- lxi sp,tpa ;Set up stack
-
- ;
- ; Section CB-1: Init Multiple Command Line Buffer
- ;
- if multcmd ;Multiple Commands Allowed
- lxi d,cmdset ;Set buffers for Multiple
- ; Command Processing
- lxi h,clbase ;Command Line Base
- call mover ;Copy an arbitrary 128 bytes
- endif
-
- ;
- ; Section CB-2: Init Memory-Based Named Directory
- ;
- if ndir ;Named Directory Based in Memory
- lxi d,ndvals ;Initial Values in Directory
- lxi h,ndbase ;Named Directory Base
- call mover ;Copy an arbitrary 128 bytes
- endif
-
- ;
- ; Section CB-3: Init IOBYTE and Redirectable I/O Drivers
- ;
- mvi a,intioby ;Initialize the I/O Byte
- sta iobyte
- lxi d,iodrivers ;Default I/O Drivers
- lxi h,iobase ;Base Address of Drivers
- call mover ;Copy an arbitrary 128 bytes
-
- ;
- ; Section CB-4: Init Default Command Search Path
- ;
- lxi d,path ;Copy Cold-Boot Path
- lxi h,pathbase ;Into System External Path Area
- mvi b,9 ;Always 9 bytes
- call movlop
-
-
- ;
- ; Section CB-5: Print Prompt and Select User/Disk
- ;
- lxi h,prompt ;Prep for sending signon message
- call message ;Send the prompt
- mvi a,0 ;Select user 0 and disk A
- sta cpmdrv
- sta cdisk
-
- jmp gocpm
-
- ...
-
- ;
- ; Copy An Arbitrary 128 Bytes from DE to HL
- ;
- mover:
- mvi b,128
- movlop:
- ldax d
- mov m,a
- inx h
- inx d
- dcr b
- jnz movlop
- ret
-
- ...
-
-
- ;
- ; Primitive Redirectable I/O Drivers which are loaded to
- ; initially support I/O. They are copied into a reserved
- ; area of memory (I have allowed 1K for this) starting at
- ; IOBASE (my base address is 0DC00H). These drivers
- ; provide only console I/O and disable the redirection
- ; facilities. During the course of work, these primitive
- ; drivers are overlaid by the IOLOADER program with much
- ; more sophisticated drivers.
- ;
- ; Note the I use Z80 Relative Jump Instructions here because
- ; this code is not executed where it is stored. Any absolute
- ; jumps would have to have their addresses adjusted after
- ; the routines had been copied.
- ;
- uart equ 0E3F9H ;UART Address
- rda equ 4 ;UART RDA Bit
-
- iodrivers:
- jr ioerror ;set no Status Routine
- db 0 ;Fill 3 bytes
- jr ioerror ;set no Select Routine
- db 0 ;Fill 3 bytes
- jr ioerror ;set no Namer Routine
- db 0 ;Fill 3 bytes
-
- ret ;No Terminal Init Necessary
- db 0,0 ;Fill 3 bytes
- jr ustat ;Console Input Status
- db 0 ;Fill 3 bytes
- jmp djcin ;Console Input Char in PROM
- jmp djcout ;Console Output Char in PROM
-
- jmp djcout ;List Output Char in PROM
-
- jmp djcout ;Punch Output Char in PROM
-
- jmp djcin ;Reader Input Char in PROM
-
- mvi a,0ffh ;List Status Ready
- ora a ;Set Flags
- ret ;Done with List and No New I/O Routine
-
- ioerror:
- xra a ;No Device Assignments May be Made
- ret
- ustat:
- lda uart ;Get status byte
- cma ;Inverted Logic
- ani rda ;RDA?
- rz
- mvi a,0ffh ;OK Flag
- ret
-
- è
- ...
-
- ;
- ; Initial Command Line in Multiple Command Line Buffer
- ; Only the first five bytes are required, the fifth byte being
- ; a binary 0 to indicate an empty command line, if you do not
- ; wish to have an initial command
- ;
- if multcmd
- clbase equ 0ff00h ;base address of buffer
- buflen equ 200 ;size of buffer in bytes
- cmdset:
- dw clbase+4 ;pt to first char
- db buflen ;size of buffer
- db 0 ;don't care value
- db 'STARTUP' ;command to run on Cold Boot
- db 0 ;end of Cold Boot Command
- endif
-
- ...
-
- ;
- ; Initial Contents of Memory-Based Named Directory Buffer
- ; Note: this defines an empty Named Directory Buffer
- ;
- if ndir ;turned on?
- ndbase equ 0fd00h ;base address of buffer
- ndvals:
- db 50 ;allow 50 entries
- db 0 ;no entries stored (entry count)
- db 0 ;dummy for no disk
- db 0 ;dummy for no user
- db 0 ;dummy for no name
- endif
-
- ...
-
- ;
- ; Initial External Path
- ; The contents of the path are outlined in the comments
- ;
- pathbase equ 40h ;base address of first byte of path
- path:
- db '$$' ;current disk and current user
- db '$',0 ;current disk and user 0
- db 1,'$' ;disk A and current user
- db 1,0 ;disk A and user 0
- db 0 ;end of path
-
- ;
- ╗ Note║ I⌠ i≤ no⌠ necessar∙ t∩ initializσ an∙ othe≥ buffers¼
- ; such as EXTFCB, since their values will be initialized by
- ; ZCPR2
- ;
- è
- Thi≤á samplσ provide≤ ß fairl∙ gooΣ mode∞ fo≥á configuratioε ì
- oµá thσ ColΣ Boo⌠ Routinσ iε orde≥ t∩ implemen⌠ ZCPR▓á a≤á recomì
- mended« Notσ tha⌠ fou≥ feature≤ requirσ initialization:
-
- 1) Multiple Command Line Buffer
- 2) Memory-Based Named Directory Buffer
- 3) Command Search Path
- 4) Redirectable I/O Drivers
-
- Oµá course¼á ╔á als∩ initializeΣ thσ I/╧ Bytσ a⌠ locatioεá │ ì
- (thσ ST┴ IOBYT┼ instruction)¼á aε interna∞ curren⌠ disδ flag¼ anΣ ì
- thσá curren⌠ user/curren⌠ disδ flaτ dowε a⌠ locatioε ┤á (thσá ST┴ ì
- CDIS╦ instruction).
-
- Also¼á notσá tha⌠ ╔ jus⌠ useΣ aε arbitrar∙ transfe≥á routinσ ì
- whicΦá diΣá no⌠ conside≥ thσ actua∞ sizσ oµ thσ significan⌠á datß ì
- transferreΣá fo≥ thσ initializatioε oµ thσ Multiplσ CommanΣá Linσ ì
- Buffer¼á thσ Memory-BaseΣ NameΣ Director∙ Buffer¼á anΣ thσ Redirì
- ectablσ I/╧ Drivers«á Sincσ botΦ buffer≤ anΣ thσ driver≤á werσ ì
- unde≥ 12╕ byte≤ iε size¼ thi≤ wa≤ ß quicδ wa∙ out.
-
-
- 5.1 Installation Note: Multiple Command Line Buffer
-
- The structure of the Multiple Command Line Buffer is:
-
- Bytes 0 and 1: Address of Next Char in Buffer
- Byte 2: Size of Buffer
- Byte 3: Dummy used by BDOS Readln Function 10
- Bytes 4 to n: Buffer Contents, terminated by binary 0
-
- Thi≤ buffe≥ MUS╘ bσ initializeΣ b∙ thσ ColΣ Boo⌠ routinσá iµ ì
- thσá Multiplσ CommanΣ Linσ facilit∙ i≤ enabled«á Thσ addres≤á oµ ì
- Bytσá ┤ i≤ placeΣ iε Byte≤ ░ anΣ ▒ (low-orde≥ first)¼á thσ buffe≥ ì
- sizσ i≤ placeΣ iε bytσ 2¼ anΣ an∙ valuσ ma∙ bσ placeΣ iε Bytσ 3.
-
- Thσá commanΣ linσ t∩ bσ executeΣ oε ColΣ Boo⌠ ma∙ bσá placeΣ ì
- iεá Byte≤á ┤ t∩ n«á Notσ tha⌠ thi≤ linσ MUS╘ bσ terminateΣ b∙á ß ì
- binar∙á 0«á Iµ yo⌡ havσ n∩ commanΣ linσ t∩ bσ executeΣá oεá ColΣ ì
- Boot, Byte 4 MUST be 0.
-
- Thσ Multiplσ CommanΣ Linσ Buffe≥ play≤ man∙ ke∙ role≤ iε thσ ì
- ZCPR▓á System«á Iε m∙ opinion¼á i⌠ i≤ onσ oµ thσ mos⌠á importan⌠ ì
- feature≤ t∩ implement« ThrougΦ thi≤ buffer¼ thσ use≥ caε perforφ ì
- thσ "simpleó functioε oµ issuinτ morσ thaε onσ commanΣ oε ß line¼ ì
- but¼á morσ importantly¼á program≤ caε usσ i⌠ t∩ chaiε t∩ ß SERIE╙ ì
- oµ othe≥ programs« Thσ MEN╒ commanΣ use≤ thi≤ buffe≥ t∩ chaiε t∩ ì
- thσá selecteΣ prograφ anΣ theε t∩ returε t∩ itselµ a⌠ thσá prope≥ ì
- place«á STARTU╨ use≤ i⌠ t∩ executσ ß commanΣ line¼á and¼ iε conì
- junctioε witΦ CD¼á STARTU╨ unde≥ thσ namσ oµ S╘ i≤ useΣ t∩á estaì
- blisΦá ßá workinτá environmen⌠ oncσ thσ use≥ ha≤á loggeΣá int∩á ß ì
- directory«á Thi≤á workinτá environmen⌠á ma∙ havσ ßá ne≈á commanΣ ì
- searcΦ path¼ ß ne≈ nameΣ director∙ structure¼ ne≈ devicσ drivers¼ ì
- anΣ ma∙ eveε bσ menu-driven.
- è
- 5.2 Installation Note: Memory-Based Named Directories
-
- Iµ thσ memory-baseΣ nameΣ director∙ facilit∙ i≤ enabled¼á i⌠ ì
- MUS╘á bσ initializeΣ b∙ thσ ColΣ Boo⌠ Routine«á Thσ structurσ oµ ì
- thσáá nameΣá director∙á buffe≥á (oεá initialization⌐á shoulΣáá bσ ì
- (assuming it is empty):
-
- Byte 0: Maximum number of entries
- Byte 1: Number of entries stored
- Byte 2: First Disk Number
- Byte 3: First User Number
- Bytes 4-11: First Directory Name
-
- Iµá thσ initializeΣ nameΣ director∙ buffe≥ i≤ t∩á bσá empty¼ ì
- Bytσ ░ shoulΣ bσ se⌠ t∩ thσ numbe≥ oµ entrie≤ permitteΣ (baseΣ oε ì
- thσ sizσ oµ you≥ buffer⌐ anΣ byte≤ ▒ t∩ ┤ shoulΣ bσ se⌠ t∩ 0« Iε ì
- computinτ thσ numbe≥ oµ entrie≤ alloweΣ iε ß memory-baseΣ directì
- or∙ buffer¼ thσ followinτ simplσ equatioε applies:
-
- Byte 0 = (size of buffer)/10
-
- Iµ thσ remainde≥ oµ thi≤ divisioε i≤ les≤ thaε 2¼ subtrac⌠ ▒ froφ ì
- Bytσ ░ t∩ allo≈ fo≥ thσ spacσ takeε b∙ byte≤ ░ anΣ 1«á Thσ 1░ i≤ ì
- thσá numbe≥ oµ byte≤ occupieΣ b∙ aε entr∙ (▓ byte≤ fo≥á disk/use≥ ì
- anΣ ╕ fo≥ director∙ name).
-
- Thσ memory-baseΣ nameΣ director∙ featurσ wa≤ createΣ fo≥ tw∩ ì
- reasons║ t∩ speeΣ u≡ thσ executioε oµ ß utilit∙ wheε i⌠ need≤ t∩ ì
- kno≈á thσá director∙á referenceΣá b∙ ß namσ anΣá t∩á establisΦá ß ì
- "globaló director∙ structure«á Rathe≥ thaε doinτ ß disδá search¼ ì
- thσá utilit∙á simpl∙á look≤ iε thσ memory-baseΣá nameΣá director∙ ì
- buffer¼ anΣ thi≤ save≤ thσ timσ requireΣ fo≥ thσ disδ accesse≤ iµ ì
- thσ namσ i≤ founΣ iε thσ buffer«á A≤ ß "globaló directory¼á thi≤ ì
- memory-baseΣá nameΣ director∙ i≤ alway≤ searcheΣá first¼á s∩á thσ ì
- entrie≤á iεá i⌠ arσ examineΣ beforσ thσ "localó director∙ iεá thσ ì
- NAMES.DI╥ filσ oε disδ i≤ examined«á Iε thi≤ way¼á regardles≤ oµ ì
- thσá treσ o≥ mesΦ structurσ imposeΣ b∙ logginτ int∩á variou≤á enì
- vironments¼á ßá se⌠á oµ directorie≤ caε remaiε commoε t∩ al∞á enì
- vironment≤ (unless¼á oµ course¼ S╘ load≤ ß ne≈ memory-baseΣ nameΣ ì
- director∙ se⌠ wheε thσ use≥ log≤ int∩ ß director∙ viß CD).
-
-
- 5.3 Installation Note: Redirectable I/O System
-
- Iµá you≥á ZCPR▓á systeφ i≤ t∩ emplo∙á thσá redirectablσá I/╧ ì
- systeφá whicΦá ma∙á bσ implementeΣ b∙ thσá IOLOADE╥á anΣá DEVICE▓ ì
- commands¼ theε thσ ColΣ Boo⌠ Routinσ wil∞ havσ t∩ initializσ thi≤ ì
- system«á Rathe≥ thaε ente≥ ß word∙ explanatioε oµ wha⌠ ha≤ t∩ bσ ì
- done¼á thσ followinτ i≤ thσ sourcσ t∩ m∙ initia∞ Redirectablσ I/╧ ì
- Driver≤ a≤ installeΣ b∙ thσ ColΣ Boo⌠ Routine«á Notσ tw∩ things║ ì
- (1⌐á thσá ColΣ Boo⌠ Routinσ simpl∙ copie≤ thesσ driver≤ int∩á thσ ì
- buffe≥ startinτ a⌠ IOBAS┼ anΣ (2⌐ al∞ branche≤ t∩ routine≤ withiε ì
- thesσá driver≤ arσ relativσ s∩ tha⌠ ╔ don'⌠ havσ t∩á worr∙á abou⌠ ì
- adjustinτ addresse≤ fo≥ thei≥ location. Source Code follows:
- è
- *****************************************************************
- * *
- * Primitive I/O Drivers which are loaded at Cold Boot time. *
- * *
- * Note: DJCIN and DJCOUT are in PROM, so their addresses are *
- * fixed and need not be adjusted because of the copy. *
- * *
- *****************************************************************
- uart equ 0e3f9h ;UART address
- rda equ 4 ;UART RDA Bit
-
- iodrivers:
- jr ioerror ;no Status Routine
- db 0 ;Fill 3 bytes
- jr ioerror ;no Select Routine
- db 0 ;Fill 3 bytes
- jr ioerror ;no Namer Routine
- db 0 ;Fill 3 bytes
-
- ret ;Initialize Terminal
- db 0,0 ;Fill 3 bytes
- jr ustat ;Console Input Status
- db 0 ;Fill 3 bytes
- jmp djcin ;Console Input Char
- jmp djcout ;Console Output Char
-
- jmp djcout ;List Output Char
-
- jmp djcout ;Punch Output Char
-
- jmp djcin ;Reader Input Char
-
- mvi a,0ffh ;List Status Ready
- ora a ;Set Flags
-
- ret ;New I/O Driver Installation Routine
-
- ioerror:
- xra a ;No device assignments
- ret
-
- ustat:
- lda uart ;Get status byte
- cma ;Inverted Logic
- ani rda ;RDA?
- rz
- mvi a,0ffh ;OK Flag
- ret
-
-
- Asidσá froφá givinτá thσ use≥ ß lo⌠ oµá flexibilit∙á iεá thσ ì
- desigε oµ hi≤ I/╧ system¼ thσ Redirectablσ I/╧ Systeφ als∩ offer≤ ì
- aεá alternativσá t∩ thσ Control-╨ (Consolσ Print⌐ functioεá unde≥ ì
- CP/M«á Usinτá Control-P¼á thσá use≥ caε temporaril∙á togglσá thσ ì
- printe≥á oεá t∩ prin⌠ wha⌠ i≤ cominτ t∩á hi≤á display«á However¼ ì
- unde≥ certaiε conditions¼á wheε thσ promp⌠ reappeared¼ thσ printì
- ou⌠á woulΣ continuσ anΣ requirσ anothe≥ Control-╨ t∩ turε i⌠á ofµ ì
- whilσá unde≥ othe≥ conditions¼á wheε thσ promp⌠á reappeared¼á thσ ì
- printou⌠ woulΣ bσ turneΣ ofµ b∙ itself.
-
- Usinτá Redirectablσá I/O¼á ß devicσ drive≥ fo≥á thσá Consolσ ì
- whicΦ consisteΣ oµ CR╘ Inpu⌠ anΣ CRT/Printe≥ Outpu⌠ coulΣá easil∙ ì
- bσ created« Let'≤ sa∙ i⌠ i≤ nameΣ CRTPRIN╘ and¼ usinτ DEVICE¼ i⌠ ì
- woulΣ bσ turneΣ oε witΦ ß commanΣ like:
-
- DEVIC┼ CON:=CRTPRINT
-
- Turninτ i⌠ ofµ woulΣ amoun⌠ t∩ issuinτ ß commanΣ like:
-
- DEVIC┼ CON:=CRT
-
- Usinτá sucΦá ß devicσ drive≥ solve≤ tw∩ problems║á (1⌐á thσ ì
- use≥ ha≤ precisσ contro∞ oµ thσ printe≥ anΣ (2⌐ thσ user¼ viß thσ ì
- devicσá driver¼á caε contro∞ wha⌠ goe≤ ou⌠ t∩á thσá printer¼á anΣ ì
- specia∞ characte≥ sequence≤ whicΦ woulΣ normall∙ g∩ t∩ thσ screeε ì
- caε bσ filtereΣ froφ goinτ t∩ thσ printe≥ a≤ well«á Somσ concerε ì
- haΣ beeε raiseΣ abou⌠ usinτ ß characte≥ witΦ thσ mos⌠ significan⌠ ì
- bi⌠á se⌠á t∩á promp⌠ ZE╪ froφ ZCPR▓ sincσ sucΦá character≤á placσ ì
- certaiεá printer≤á int∩ ß graphic≤ mode«á SucΦ ßá devicσá drive≥ ì
- coulΣá clea≥á thσ mos⌠ significan⌠ bi⌠ beforσ i⌠ i≤ sen⌠á t∩á thσ ì
- printer.
-
-
- 5.4 Installation Note: Default Command Search Path
-
- Iµ thσ externa∞ patΦ featurσ i≤ enabled¼á theε thσ ColΣ Boo⌠ ì
- Routinσ MUS╘ initializσ thi≤ path«á Thσ patΦ i≤ representeΣ b∙ ß ì
- standarΣ patΦ expression¼ wherσ "$ó indicate≤ thσ curren⌠ use≥ o≥ ì
- disk¼á disk≤á arσá numbereΣ froφ ▒ (disδ ┴ ╜ 1)¼á anΣá user≤á arσ ì
- numbereΣ froφ 0« Thσ patΦ MUS╘ bσ terminateΣ b∙ ß binar∙ 0.
-
- SearcΦá path≤á providσ WORLD╙ oµ flexibilit∙á t∩á thσá user« ì
- ZCPR▓ require≤ a⌠ leas⌠ onσ patΦ t∩ bσ implemented«á Thi≤ i≤ thσ ì
- commanΣ searcΦ path¼ whicΦ i≤ thσ patΦ alonτ whicΦ ZCPR▓ searche≤ ì
- fo≥ command≤ (CO═ files⌐ wheε the∙ arσ issued«á Thi≤ patΦ ma∙ bσ ì
- placed internal to ZCPR2 or external to it.
-
-
- Thσ commanΣ searcΦ patΦ i≤ thσ onl∙ patΦ REQUIRE─ iε ß ZCPR▓ ì
- System¼á bu⌠á man∙á morσ path≤ ma∙ bσá established«á EacΦá ZCPR▓ ì
- Systeφ utilit∙ prograφ i≤ se⌠ u≡ t∩ dea∞ witΦ path≤ iε onσ oµ tw∩ ì
- o≥á morσ ways║á (1⌐ i⌠ ma∙ follo≈ aε externa∞ patΦ knowinτá onl∙ ì
- thσ addres≤ oµ thσ beginninτ oµ thσ path¼á anΣ (2⌐ i⌠ ma∙á follo≈ ì
- it≤á owεá interna∞ patΦ knowinτ exactl∙ wha⌠ tha⌠ patΦá is«á Thσ ì
- HEL╨á prograφ i≤ aε exceptioε t∩ thi≤ iε tha⌠ i⌠ follow≤á aεá exì
- terna∞á patΦá (iµ therσ i≤ one⌐ and¼á iµ tha⌠ fails¼á follow≤á aε ì
- interna∞ path«á Thσ externa∞ path≤ followeΣ b∙ thσ utilitie≤á iε ì
- thσ ZCPR▓ Systeφ ma∙ bσ thσ samσ a≤ thσ commanΣ searcΦ path¼á bu⌠ ì
- the∙á don'⌠á havσ t∩ be«á ZEX¼á fo≥ instance¼á ma∙ bσ se⌠ u≡á t∩ ì
- ignorσ thσ commanΣ searcΦ patΦ anΣ follo≈ ß patΦ whicΦ immediateì
- l∙ goe≤ t∩ ß director∙ containinτ ß hos⌠ oµ ZE╪ commanΣ files.
-
- Configuratioεá note≤ caε bσ founΣ iε thσ User'≤ Guidσá whicΦ ì
- providσ idea≤ a≤ t∩ ho≈ path≤ ma∙ bσ establisheΣ fo≥ thσá variou≤ ì
- ZCPR▓ Systeφ utilities«á Remembe≥ tha⌠ fo≥ eacΦ patΦ establisheΣ ì
- whicΦá i≤á externa∞á t∩á ß utilit∙ program¼á thi≤á patΦá mus⌠á bσ ì
- initialized in one way or another before the utility uses it.
-
- Thi≤ initializatioε oµ externa∞ path≤ othe≥ thaε thσ commanΣ ì
- searcΦá patΦá useΣá b∙ ZCPR▓ itselµ ma∙ bσ donσ iε a⌠á leas⌠á tw∩ ì
- differen⌠ ways║á (1⌐ thσ ColΣ Boo⌠ Routinσ ma∙ perforφ thσ initì
- ialization¼á o≥á (2⌐ PAT╚ (whicΦ ma∙ bσ executeΣ oε colΣ boo⌠á b∙ ì
- thσá STARTU╨ program⌐ ma∙ bσ useΣ t∩ perforφ thσá initialization« ì
- Iµá morσ thaε onσ externa∞ patΦ i≤ defineΣ anΣ thσ use≥ i≤ t∩á bσ ì
- ablσ t∩ changσ thσ content≤ oµ thi≤ patΦ iµ hσ wishes¼á theεá thσ ì
- PAT╚á utilit∙á shoulΣá bσ installeΣ morσ thaεá oncσá anΣá severa∞ ì
- version≤á oµá PAT╚ shoulΣ bσ createΣ (usinτ differen⌠á names¼á oµ ì
- course)«á Onσ versioε oµ PAT╚ i≤ requireΣ fo≥ eacΦ externa∞ patΦ ì
- whicΦ i≤ t∩ bσ manipulated« GENIN╙ caε bσ useΣ t∩ quickl∙ creatσ ì
- thσ differen⌠ version≤ oµ PATH.
-
-
- 5.5 Installation Note: Sample ZCPR2 Structure
-
- A≤ aε example¼á thσ followinτ i≤ aε outlinσ oµ thσ structurσ ì
- oµ m∙ ZCPR▓ system« Al∞ addresse≤ arσ expresseΣ iε hexadecimal.
-
- Page 0 (Base Page):
- Location Contents
- 0 - 2 JMP to BIOS Warm Start at D300
- 3 IOBYTE
- 4 UDFLAG - User Number in Upper 4 Bits; Disk
- Number (A=0) in Lower 4 Bits
- 5 - 7 JMP to BDOS at C506
- 8 - 37 Unused Interrupt Vectors
- 38 - 3A RST 7 used by DDT, ZSID, and others
- 3B Wheel Byte
- 3C - 3F Unused
- 40 - 5B Default Command Search Path (up to 13 elts
- and terminating 0)
- 5C - 6B First FCB Half
- 6C - 7B Second FCB Half
- 7C CR Field if 5C-7B used as one complete FCB
- 7D - 7F Random Record Number
- 80 - FF Default DMA Buffer
-
- Belo≈ BD00║ Optiona∞ ZE╪ Monito≥ anΣ Tex⌠ (Variablσ Size)
- Address BD00: Beginning of ZCPR2
- Address C500: Beginning of BDOS
- Address D300: Beginning of BIOS
- Address DC00: Reserved Buffer Area
- Address E000: Disk PROM
- Address E400: Disk RAM
- Address E800 - EFFF: Redirectable I/O Drivers (2K Avail)
- Address F000 - F600: Free Space Optionally Used by
- Redirectable I/O Drivers
- Address F5D0 - F5FF: ZCPR2 Stack (48 Bytes)
- Address F600 - FCFF: Buffer Space Used by BIOS
- Address FD00 - FEFF: Memory-Based Named Directory Buffer
- (512 Bytes for 50 Entries)
- Address FF00 - FFCF: Multiple Command Line Buffer
- (200 Bytes for text + 4 for
- initial buffers + Dead Space)
- Address FFD0 - FFFF: ZCPR2 External FCB
-
-
- 6.0 Installing the ZCPR2 Utilities
-
- S∩ far¼á ╔ havσ beeε concentratinτ oε ZCPR▓ itself«á ZCPR2¼ ì
- however¼ i≤ onl∙ ß par⌠ (les≤ thaε 1/1░ iε term≤ oµ codσ size⌐ oµ ì
- thσ ZCPR▓ System« Thσ res⌠ oµ thσ Systeφ i≤ madσ u≡ oµ thσ ZCPR▓ ì
- utilities.
-
- Mos⌠ oµ thσ ZCPR▓ Utilitie≤ neeΣ t∩ kno≈ somethinτ abou⌠ thσ ì
- ZCPR▓á environment«á Iε particular¼á thesσ utilitie≤ neeΣ t∩á bσ ì
- installeΣá iεá orde≥á t∩ becomσ aε integra∞ par⌠ oµá thσá overal∞ ì
- system¼á anΣ ß program¼ GENIN╙ (fo≥ Genera∞ Install)¼ i≤ provideΣ ì
- to do this.
-
- GENIN╙ provide≤ teε basiπ configuratioε option≤ t∩ thσ user« ì
- These are:
-
- 0. Named Directory Data
-
- a. Address of Memory-based Named Directory Buffer
- Thi≤á i≤á thσ startinτ addres≤ oµ thσá NameΣá Director∙ ì
- Buffe≥ storeΣ iε memory«á Iµ yo⌡ d∩ no⌠ havσ one¼ se⌠ thi≤ valuσ ì
- t∩ 0.
-
- b« Numbe≥ oµ NameΣ Directorie≤ AlloweΣ iε ß NameΣ Directì
- or∙ File
- Thi≤á valuσá i≤ initiall∙ se⌠ b∙ thσ MKDI╥á prograφá b∙ ì
- creatinτá thσá NameΣ Director∙ Filσ witΦ thσ indicateΣ numbe≥á oµ ì
- entries«á Al∞ program≤ usinτ thi≤ filσ mus⌠ bσ se⌠ t∩ responΣ t∩ ì
- thσ samσ numbe≥ oµ entries« An∙ numbe≥ les≤ thaε 25╢ i≤ allowed¼ ì
- anΣá 6┤ i≤ recommendeΣ fo≥ standardizatioε purpose≤ (anΣá becausσ ì
- i⌠ i≤ reasonablσ a≤ determineΣ througΦ experience).
-
- c. Name of the Named Directory File to Scan for on Disk
- Thi≤á i≤á thσ namσ oµ thσ filσ t∩ bσ scanneΣ fo≥á iµá ß ì
- director∙á namσ i≤ no⌠ founΣ iε thσ memory-baseΣ NameΣá Director∙ ì
- Buffer«á Thσ recommendeΣ namσ (fo≥ standardizatioε purposes⌐á i≤ ì
- NAMES.DIR.
-
- 1. External and Internal Path Data
-
- a. Enable or Disable External Paths
- Thσá utilit∙ i≤ tolΣ whethe≥ i⌠ ma∙ usσ externa∞á path≤ ì
- fo≥ it≤ function≤ o≥ no⌠ b∙ thi≤ option« Externa∞ path≤ arσ useΣ ì
- fo≥á filσá searche≤ anΣ NameΣ Director∙ filσ searche≤á primarily¼ ì
- bu⌠ the∙ ma∙ havσ othe≥ use≤ a≤ well¼á dependinτ oε thσá utility« ì
- Iµ externa∞ path≤ arσ available¼á thσ PAT╚ commanΣ ma∙ bσ useΣ t∩ ì
- initializσ theφ oε colΣ boo⌠ o≥ t∩ changσ theφ dynamicall∙ durinτ ì
- ß termina∞ session«á Iµ externa∞ path≤ arσ no⌠ t∩ bσ used¼á theε ì
- interna∞á paths¼á uniquσá t∩á eacΦ utility¼á ma∙ bσá defineΣá anΣ ì
- employeΣ instead«á Iµ neithe≥ externa∞ no≥ interna∞ path≤ arσ t∩ ì
- bσ used¼ theε thσ utilit∙ (usually⌐ wil∞ onl∙ examinσ thσ curren⌠ ì
- director∙á fo≥ wha⌠ i⌠ needs«á A≤ ß genera∞á rule¼á iµá externa∞ ì
- path≤á arσ no⌠ used¼á definσ aε interna∞ path¼á anΣ thi≤ interna∞ ì
- path may be as simple as current directory.
- è
- b. If enabled, the Address of the External Path
- Iµá aεá externa∞á patΦ i≤ enabled¼á thi≤á i≤á thσá basσ ì
- addres≤á oµá thσ beginninτ oµ thσ path«á Iµ externa∞á path≤á arσ ì
- disabled¼á GENIN╙á doe≤ no⌠ givσ thσ use≥ thσ optioε t∩ se⌠á thi≤ ì
- value.
-
- c. Enable or Disable Internal Paths
- GENIN╙á give≤ thσ use≥ thσ optioε t∩ enablσ anΣá definσ ì
- aε interna∞ patΦ regardles≤ oµ hi≤ selectioε fo≥ externa∞á paths« ì
- Somσ commands¼ HEL╨ iε particular¼ ma∙ usσ botΦ path≤ iµ the∙ arσ ì
- available« Iε thσ casσ oµ HELP¼ wheε lookinτ fo≥ ß HEL╨ file¼ i⌠ ì
- searche≤á alonτá thσá externa∞ patΦá first¼á and¼á failinτá that¼ ì
- searches along its internal path.
-
- d« Iµ enabled¼ definσ thσ interna∞ patΦ fo≥ tha⌠ particuì
- la≥ utility
- Thσá interna∞ patΦ i≤ defineΣ iµ thσ use≥á selecteΣá t∩ ì
- enablσá interna∞ paths«á Symboliπ notatioε i≤ useΣ t∩ definσ thσ ì
- path¼ anΣ thσ use≥ i≤ prompteΣ fo≥ eacΦ patΦ elemen⌠ iε sequence« ì
- NameΣ Directorie≤ ma∙ NO╘ bσ useΣ iε thσá definition«á Hence¼á ß ì
- definitioεá likσá $ñá $░ Añ A░ (fo≥á curren⌠á disk/user¼á curren⌠ ì
- disk/use≥á 0¼á disδá A/curren⌠ user¼á anΣ disδ A/use≥ 0⌐á ma∙á bσ ì
- specified.
-
- 2. Multiple Command Line Data
-
- a. Enable or Disable the Multiple Command Line Buffer
- Iµá thσá Multiplσ CommanΣ Linσ facilit∙ i≤á enableΣá b∙ ì
- ZCPR▓ anΣ thσ ColΣ Boo⌠ Routinσ iε thσ BIOS¼ theε thσ use≥ shoulΣ ì
- tel∞ thσ utilit∙ tha⌠ thi≤ facilit∙ i≤ available«á Notσ tha⌠ thσ ì
- buffe≥ MUS╘ bσ initializeΣ beforσ use«á Severa∞ utilitie≤ emplo∙ ì
- thσ Multiplσ CommanΣ Linσ Buffe≥ fo≥ chaininτ purposes¼á anΣ somσ ì
- utilities, like MENU and STARTUP, cannot run without it.
-
- b. If enabled, address of Multiple Command Line Buffer
- Thi≤á specifie≤ wherσ thσ Multiplσ CommanΣ Linσá Buffe≥ ì
- i≤ located«á Notσ tha⌠ onl∙ ON┼ Multiplσ CommanΣ Linσ Buffe≥ ma∙ ì
- bσ defineΣ fo≥ ß particula≥ system¼ unlikσ thσ externa∞ paths¼ iε ì
- whicΦ casσ therσ ma∙ bσ a≤ man∙ a≤ desired«á ZCPR▓ i≤ desireΣ t∩ ì
- dea∞á witΦ onl∙ onσ sucΦ buffe≥ anΣ canno⌠ accep⌠á command≤á froφ ì
- more than one.
- Note¼á however¼á tha⌠á man∙ buffe≥ area≤ ma∙ bσ defineΣ ì
- fo≥á thσá purposσá oµá passinτá informatioεá betweeεáá utilities¼ ì
- particularl∙á thosσ wh∩ ma∙ bσ chaineΣ togethe≥ viß thσá Multiplσ ì
- CommanΣá Linσ Buffe≥ Facility«á Thesσ utilitie≤ arσ chaineΣá viß ì
- thσ buffer¼ bu⌠ ma∙ usσ othe≥ buffer≤ t∩ pas≤ informatioε t∩ eacΦ ì
- other«á The∙á ma∙á als∩ pas≤ informatioε t∩ eacΦ othe≥á vißá thσ ì
- command lines in the Multiple Command Line Buffer.
-
-
- 3. Maximum Disk which may be Referenced
-
- Thi≤á paramete≥ i≤ availablσ fo≥ thσ purpose≤á oµá proì
- tectinτ thσ systeφ anΣ providinτ ß leve∞ oµ security« Iε thσ wa∙ ì
- oµá protectinτ thσ system¼á b∙ specifyinτ thσ maximuφ disδ lette≥ ì
- (likσ ─ iµ therσ arσ fou≥ drives)¼á theε thσ utilit∙ wil∞ flaτ aε ì
- erro≥ iµ ß referencσ i≤ madσ t∩ an∙ drivσ greate≥ thaε D¼ thereb∙ ì
- trappinτ thσ erro≥ beforσ thσ BDOS/BIO╙ see≤ it.
- Iεá thσ wa∙ oµ providinτ ß leve∞ oµá security¼á certaiε ì
- program≤á ma∙á bσ madσ availablσá iεá tw∩á versions«á XDIR¼á fo≥ ì
- instance¼ caε bσ se⌠ u≡ t∩ bσ founΣ alonτ ß use≥ patΦ iε whicΦ i⌠ ì
- onl∙á know≤á oµ drive≤ ┴ anΣ ┬ anΣ doe≤ no⌠ permi⌠ acces≤á t∩á C¼ ì
- while¼á oncσ ß use≥ ha≤ loggeΣ int∩ ß systeφ director∙ anΣ ß new¼ ì
- systeφá patΦ i≤ established¼á ß differen⌠ XDI╥ ma∙ bσ encountereΣ ì
- alonτ thi≤ systeφ patΦ whicΦ know≤ abou⌠ drivσ ├ also.
-
- 4. Maximum User which may be Referenced
-
- Thi≤á paramete≥á i≤ availablσ fo≥ thσ purposσá oµá proì
- vidinτ ß leve∞ oµ securit∙ only«á Alonτ thσ line≤ oµ (3⌐á above¼ ì
- tw∩á path≤ (use≥ anΣ system⌐ anΣ tw∩ set≤ oµ command≤ (likσ XDIR⌐ ì
- ma∙á bσ establisheΣ iε whicΦ thσ anyonσ employinτ thσá use≥á patΦ ì
- canno⌠á acces≤ beyonΣ ß giveε use≥ numbe≥ whilσ anyonσá employinτ ì
- thσ systeφ patΦ can.
-
- 5. Allow the User to Reference a Disk
-
- Again¼á t∩á providσ aε eveε furthe≥ leve∞ oµá security¼ ì
- thσ abilit∙ t∩ referencσ an∙ disδ othe≥ thaε thσ curren⌠ disδ caε ì
- bσá disabled«á Thi≤ mus⌠ bσ permitteΣ iε orde≥ fo≥ thσ ─ par⌠ oµ ì
- thσ D╒ forφ t∩ bσ effectivσ fo≥ thσ particula≥ utility¼ anΣ NameΣ ì
- Directory references are affected as well.
-
- 6. Allow the User to Reference a User Area
-
- Thi≤ i≤ thσ samσ a≤ (5)¼á bu⌠ thσ abilit∙ t∩á referencσ ì
- any user area other than the current user can be disabled.
-
-
- 7. Privileged User Areas
-
- a. Base Address (first priv user area)
- ┴á se⌠á oµ use≥ areas¼á beginninτ a⌠ ß particula≥á use≥ ì
- area¼á caεá bσá declareΣ t∩ bσ privileged«á Acces≤á t∩á theφá i≤ ì
- granteΣá onl∙ iµ thσ correc⌠ passworΣ i≤ given«á Thσ recommendeΣ ì
- basσ addres≤ oµ thσ privilegeΣ use≥ area≤ i≤ 10¼ s∩ use≥ area≤ 1░ ì
- t∩ 3▒ ma∙ bσ accesseΣ onl∙ wheε ß passworΣ i≤ given«á Notσá tha⌠ ì
- thi≤á optioε applie≤ ONL┘ t∩ thσ ZCPR▓ utilitie≤ anΣ no⌠ t∩ ZCPR▓ ì
- itself«á Oncσá thσ ZCPR▓ Systeφ i≤ configureΣ fo≥ thi≤á forφá oµ ì
- security¼á thσá D╒á forφ shoulΣ bσ disableΣ withiε ZCPR▓á o≥á thσ ì
- Wheel facility should be set up to control use of the DU form.
- Thσ privilegeΣ use≥ definition≤ appl∙ t∩ thσ C─ (Changσ ì
- Directory⌐á prograφ iε particular«á Thi≤ prograφ i≤ useΣ iε lie⌡ ì
- oµ thσ DU║ commanΣ t∩ loτ int∩ ne≈ directories« I⌠ alway≤ check≤ ì
- t∩á seσ iµ thσ use≥ i≤ enterinτ ß privilegeΣ director∙á anΣá ask≤ ì
- for the password before it allows him to enter.
-
- b. Password required to enter a priv user area
- This is the password required for access rights.
-
- 8. Current User/Disk Symbol
-
- Iµá thσá installe≥ ha≤ opteΣ t∩ usσ somσá othe≥á symbo∞ ì
- (othe≥ thaε "$"⌐ t∩ represen⌠ thσ curren⌠ disδ o≥ curren⌠ use≥ iε ì
- symboliπá patΦá expression≤ unde≥ ZCPR2¼á thσ utilit∙á shoulΣá bσ ì
- informeΣá oµá thi≤á fact«áá Naturally¼á somσá valuσá ha≤á t∩á bσ ì
- specified¼á anΣá thσá recommendeΣ symbo∞ oµ "$ó i≤ preferreΣá fo≥ ì
- standardization purposes.
-
- 9. DMA Address for Disk I/O
-
- Iµ thσ use≥ ha≤ ß non-ORG-░ system¼á theε thi≤ mus⌠á bσ ì
- se⌠á t∩ definσ thσ DM┴ Addres≤ (Defaul⌠ establisheΣ b∙ ZCPR2⌐á oµ ì
- thσá system«á Thi≤á addres≤ i≤ usuall∙ RA═ basσ ½ 80H¼á anΣá thσ ì
- value for an ORG-0 system is 80H.
-
-
-
- Whilσ runninτ GENINS¼á whicΦ i≤ menu-oriented¼á thσ use≥á i≤ ì
- provided with the abilities to perform the following functions:
-
- 1«á Se⌠ an∙ combinatioε oµ thσ abovσ characteristic≤ fo≥á ß ì
- particula≥ utility
-
- Thσá ╙á optioεá allow≤ thσ use≥á t∩á sequentiall∙á pas≤ ì
- througΦá al∞ oµ thσ necessar∙ parameter≤ anΣ se⌠á them«á Iµá thσ ì
- use≥ wishe≤ t∩ selec⌠ theφ individually¼ typinτ ß digi⌠ froφ ░ t∩ ì
- ╣á select≤á tha⌠á particula≥ paramete≥ fo≥á installation«á Iµá ß ì
- particula≥á optioε i≤ no⌠ needeΣ b∙ thσ utilit∙á currentl∙á beinτ ì
- installed¼á i⌠ i≤ flaggeΣ witΦ aε asterisk¼ anΣ selectioε oµ thi≤ ì
- optioε b∙ digi⌠ perform≤ n∩ operatioε whatsoever«á Thσ ╙ option¼ ì
- iµá selected¼á simpl∙ skip≤ al∞ parameter≤ flaggeΣ witΦ aε asterì
- isk.
- Somσá utilitie≤ requirσ parameter≤ t∩ bσ se⌠ whicΦá arσ ì
- no⌠á covereΣá b∙ thσ standarΣ group«á Knowledgσ oµá thσá utilit∙ ì
- (refe≥á t∩ thσ User'≤ Guide⌐ i≤ requireΣ t∩ makσ ß gooΣá judgmen⌠ ì
- oε thσ prope≥ settinτ fo≥ thσ requireΣ parameter«á Iµ additiona∞ ì
- parameter≤ arσ t∩ bσ set¼ aε ┴ optioε appear≤ iε thσ menu« Thσ ╙ ì
- optioεá automaticall∙á extend≤ t∩á cove≥á thosσá utility-specifiπ ì
- parameters¼á anΣá thσ ┴ optioε ma∙ bσ useΣ likσ ß digi⌠ optioε t∩ ì
- select just the utility-specific parameters to be set.
-
- 2« Displa∙ thσ curren⌠ setting≤ fo≥ ß particula≥ utility
-
- Thσá ╨á optioεá display≤ thσ curren⌠á setting≤á oµá al∞ ì
- parameter≤ fo≥ thσ utilit∙ beinτ installed«á Iµ utility-specifiπ ì
- parameters are available, these are printed as well.
-
- 3« Savσ thσ curren⌠ setting≤ s∩ tha⌠ anothe≥ utilit∙ ma∙ bσ ì
- se⌠ u≡ iε aε identica∞ wa∙ b∙ mean≤ oµ ß simplσ restorσ command
-
- Thσá ╝ optioε save≤ al∞ oµ thσ standarΣ parameter≤ int∩ ì
- t∩á savσ buffe≥ fo≥ late≥ recal∞ b∙ thσ ╛á option«á Usinτá thesσ ì
- option≤ iε thσ menu¼á thσ use≥ caε g∩ througΦ thσ tasδ oµ settinτ ì
- al∞á oµ thσ option≤ oµ ß "completeó utilit∙ (onσ iε whicΦ al∞á oµ ì
- thσ parameter≤ indicateΣ b∙ digit≤ arσ necessary⌐ onl∙ once¼ theε ì
- savσ hi≤ selection≤ witΦ thσ ╝ option¼á writσ thσ curren⌠ utilit∙ ì
- t∩á disk¼á reaΣ iε thσ nex⌠ utilit∙ withou⌠ leavinτá GENINS¼á anΣ ì
- theεá se⌠á it≤ parameter≤ b∙ thσ ╛ option«á Thσ nex⌠ utilit∙á i≤ ì
- theεá writteε t∩ disk¼á anΣ ß thirΣ utilit∙ i≤ selecteΣá anΣá it≤ ì
- parameter≤á se⌠á b∙ >«á Thi≤ caε g∩ oεá indefinitely¼á anΣá thi≤ ì
- proces≤á significantl∙á reduce≤ thσ timσ requireΣ t∩ instal∞á thσ ì
- se⌠ oµ ZCPR▓ utilities.
-
- GENIN╙á itselµ mus⌠ bσ installeΣ b∙á GENINS¼á and¼á alì
- thougΦ GENIN╙ doe≤ no⌠ requirσ al∞ oµ thσ parameters¼á ╔ havσ se⌠ ì
- i⌠ u≡ t∩ declarσ al∞ parameter≤ necessary«á Hence¼á a≤ ß genera∞ ì
- rule¼á instal∞á GENIN╙ firs⌠ anΣ savσ you≥ installatioεá setting≤ ì
- vißá <«á Then¼á simpl∙á instal∞ eacΦ oµ thσ othe≥á utilitie≤á iε ì
- successioεá b∙ usinτ ╛ t∩ se⌠ thσ digit-specifieΣ parameter≤á anΣ ì
- usinτ thσ ┴ optioε t∩ se⌠ thσ utility-specifiπ parameters.
-
- è
- 4«á Restorσá thσ setting≤ froφ thσ las⌠ savσ a≤ thσ curren⌠ ì
- setting≤ fo≥ ß ne≈ utility
-
- Froφá before¼á thσá ╛á optioε i≤ useΣá t∩á restorσá thσ ì
- parameter≤á saveΣ b∙ thσ ╝ optioε int∩ ß ne≈ utility«á Iµ ╝á ha≤ ì
- no⌠ beeε previousl∙ issueΣ durinτ thσ curren⌠ GENIN╙ run¼ theε aε ì
- erro≥ messagσ wil∞ bσ printeΣ iµ thσ use≥ attempt≤ t∩ emplo∙á thσ ì
- > option.
-
- 5«á Qui⌠á anΣ D∩ NO╘ Updatσ thσ utilit∙ o≥ Exi⌠ anΣá Updatσ ì
- thσ curren⌠ utility
-
- Iµá thσ use≥ reall∙ ble≈ thσ proces≤ oµ installinτá thσ ì
- curren⌠á utility¼á hσá caεá simpl∙ thro≈ awa∙ everythinτá hσá diΣ ì
- without affecting the utility file on disk.
-
- 6«á Se⌠á othe≥ attribute≤ specifiπ t∩ thσá curren⌠á utilit∙ ì
- whicΦ arσ no⌠ commoε t∩ thσ othe≥ ZCPR▓ utilities
-
- Thesσ parameter≤ arσ noteΣ wheε aε ┴ optioε appear≤á iε ì
- thσá menu«á Thesσá arσá uniquσ t∩ ß specifiπ utilit∙ o≥á se⌠á oµ ì
- utilitie≤ anΣ arσ no⌠ affecteΣ b∙ thσ ╝ anΣ ╛ command≤ (onl∙á thσ ì
- digit-selected parameters are affected by these commands).
-
- 6.1 Sample GENINS Session
-
- Thσá followinτá GENIN╙á sessioε illustrate≤ thσá proces≤á oµ ì
- utilit∙ installatioε extensively«á Comment≤ arσ noteΣ ou⌠ t∩ thσ ì
- right side as text preceeded by the "<<" symbol.
-
-
- B4>genins genins << Install GENINS first
- GENINS Version 2.1 << This is probably NOT the version
- << number which will be distributed
- << with the ZCPR2 System
- GENINS -- General Installation Program for ZCPR2 Utilities
- Ready to Set Default Values << It has found and read in the
- << parameter section of the file
-
- File Being Installed: GENINS .COM
- ** GENINS Flag/Value Setup ** << Menu Follows
- Select Standard Flags and Values
- (* indicates unnecessary option) --
-
- P Print Flags and Values S Setup ALL Flags and Values
- < Save All Flags/Values > Restore All Flags/Values
- Q Quit and Do Not Update X Exit and Optionally Update
-
- 0 Setup Named Directory Data 5 Set Disk Allowed Flag
- 1 Setup External Path Data 6 Set User Allowed Flag
- 2 Setup Multiple Command Line 7 Setup Priv User Data
- 3 Set Max Disk 8 Set Current User/Disk Data
- 4 Set Max User 9 Set File DMA Address
-
- èSetup Command (? for Menu)? P << Print current params
- **** Default Flag/Value Settings ****
- Enable External Paths: Yes External Path Address: 0040 Hex
- Internal Path is -- Empty
- Enable Multiple Command Line Buffer: Yes Buffer Address: FF00 Hex
- Maximum Disk: D Maximum User Number: 31
- Disk Specification Allowed: Yes User Spec Allowed: Yes
- Base of Privileged User Areas: 10 Password: chdir
- Current User/Disk Indicator: $ DMA Address for Disk I/O: 0080 Hex
- Address of Memory-Resident Named Directory Buffer: FD00 Hex
- Number of Named Dirs Allowed: 64 Named Dir File: NAMES .DIR
-
- Setup Command (? for Menu)? S << Set ALL Params in sequence
-
- Address of Memory-Resident Named Directory Buffer: FD00 Hex
- Number of Named Dirs Allowed: 64 Named Dir File: NAMES .DIR
- ** Setup Questions **
- 1 Address of Memory-Resident Named Directory Buffer
- Enter Hex Number or <RETURN> = None? fd00
- 2 Number of Named Directories Permitted?
- Enter Decimal Number or <RETURN> = 64?
- 3 Name of Named Directory File?
- Enter only File Name and Type -- DIR: form will be ignored
- Directory File Name (<RETURN> = NAMES .DIR)?
-
- Enable External Paths: Yes External Path Address: 0040 Hex
- Internal Path is -- Empty
- ** Setup Questions **
- 1 Enable External Paths (Y/N/other=Y)?
- 1a Address of External Path in Hex (<RETURN> = 0040 Hex)?
- 2 Enable Internal Path (Y/N/other=Y)?
- 2a Define Internal Path Using Symbolic Notation --
- 1. Path Element (<CR>=Done)? a$
- 2. Path Element (<CR>=Done)? a15
- 3. Path Element (<CR>=Done)?
-
- Enable Multiple Command Line Buffer: Yes Buffer Address: FF00 Hex
- ** Setup Questions **
- 1 Enable Multiple Command Line Buffer (Y/N/other=Y)?
- 1a Address of Multiple Command Line Buffer
- Enter Hex Number or <RETURN> = FF00 Hex?
-
- Maximum Disk: D Maximum User Number: 31
- ** Setup Questions **
- 1 Maximum Disk Allowed? B
-
- Maximum User Number: 31
- ** Setup Questions **
- 1 Maximum User Number Allowed (<RETURN> = 31)? 15
-
- Disk Specification Allowed: Yes User Spec Allowed: Yes
- ** Setup Questions **
- 1 Specification of Disk Allowed (Y/N/other=Y)?
-
-
- èUser Spec Allowed: Yes
- ** Setup Questions **
- 1 Specification of User Allowed (Y/N/other=Y)?
-
- Base of Privileged User Areas: 10 Password: chdir
- ** Setup Questions **
- 1 Base of Privileged User Areas (<RETURN> = 10)?
- 2 Privileged User Password? chdir
-
- Current User/Disk Indicator: $ DMA Address for Disk I/O: 0080 Hex
- ** Setup Questions **
- 1 Current User/Disk Indicator? $
-
- DMA Address for Disk I/O: 0080 Hex
- ** Setup Questions **
- 1 DMA Address for Disk I/O
- Enter Hex Number or <RETURN> = 0080 Hex?
-
-
- Setup Command (? for Menu)? P << Print new settings
- **** Default Flag/Value Settings ****
- Enable External Paths: Yes External Path Address: 0040 Hex
- Internal Path is -- A$: --> A 15:
- Enable Multiple Command Line Buffer: Yes Buffer Address: FF00 Hex
- Maximum Disk: B Maximum User Number: 15
- Disk Specification Allowed: Yes User Spec Allowed: Yes
- Base of Privileged User Areas: 10 Password: chdir
- Current User/Disk Indicator: $ DMA Address for Disk I/O: 0080 Hex
- Address of Memory-Resident Named Directory Buffer: FD00 Hex
- Number of Named Dirs Allowed: 64 Named Dir File: NAMES .DIR
-
- Setup Command (? for Menu)? / << Any invalid cmd gives menu
- File Being Installed: GENINS .COM << Reminder of file name
- ** GENINS Flag/Value Setup **
- Select Standard Flags and Values
- (* indicates unnecessary option) --
-
- P Print Flags and Values S Setup ALL Flags and Values
- < Save All Flags/Values > Restore All Flags/Values
- Q Quit and Do Not Update X Exit and Optionally Update
-
- 0 Setup Named Directory Data 5 Set Disk Allowed Flag
- 1 Setup External Path Data 6 Set User Allowed Flag
- 2 Setup Multiple Command Line 7 Setup Priv User Data
- 3 Set Max Disk 8 Set Current User/Disk Data
- 4 Set Max User 9 Set File DMA Address
-
- Setup Command (? for Menu)? < << Save params
-
-
- Setup Command (? for Menu)? X << Exit and Update
- Do you want to save changes (Y/N/other=Y)? Y << Yes, Update
- Please Provide Name of Output File
- Namσá oµ Filσ (<CR>=GENIN╙ .COM)┐á genins▓ <╝á Ne≈á filσ ì
- Namσ oµ Outpu⌠ Filσ i≤ GENINS▓ .CO═ -- Verif∙ (Y/N/other=Y)┐
- Writing File GENINS2 .COM to Disk --
-
- Reading Block 95 << Numbers flash by as GENINS works
- Writing Block 95
- Please Provide Name of File to Install << Ready to Continue
- Name of File (<CR>=Abort)? mcopy << New File
- Ready to Set Default Values
-
- File Being Installed: MCOPY .COM
- ** GENINS Flag/Value Setup **
- Select Standard Flags and Values
- (* indicates unnecessary option) --
-
- P Print Flags and Values S Setup ALL Flags and Values
- < Save All Flags/Values > Restore All Flags/Values
- Q Quit and Do Not Update X Exit and Optionally Update
-
- 0 Setup Named Directory Data 5 Set Disk Allowed Flag
- 1 Setup External Path Data 6 Set User Allowed Flag
- 2 Setup Multiple Command Line 7 Setup Priv User Data
- 3 Set Max Disk 8 Set Current User/Disk Data
- 4 Set Max User 9 Set File DMA Address
-
- A Set MCOPY Special Default Values
-
- Setup Command (? for Menu)? > << Restore params from
- << previous setting
-
- Setup Command (? for Menu)? P << Print
- **** Default Flag/Value Settings ****
- Enable External Paths: Yes External Path Address: 0040 Hex
- Internal Path is -- A$: --> A 15:
- Enable Multiple Command Line Buffer: Yes Buffer Address: FF00 Hex
- Maximum Disk: B Maximum User Number: 15
- Disk Specification Allowed: Yes User Spec Allowed: Yes
- Base of Privileged User Areas: 10 Password: chdir
- Current User/Disk Indicator: $ DMA Address for Disk I/O: 0080 Hex
- Address of Memory-Resident Named Directory Buffer: FD00 Hex
- Number of Named Dirs Allowed: 64 Named Dir File: NAMES .DIR
- Verify by Default: Yes
- Inspect by Default: No
- Quiet by Default: No
- Multiple Run by Default: No
- Default Destination Disk/User: C 0:
-
-
- Setup Command (? for Menu)? X << OK, so exit and update
- Do you want to save changes (Y/N/other=Y)? N << No save
- Please Provide Name of File to Install << New file
- Name of File (<CR>=Abort)? wheel << File Name
- Ready to Set Default Values
-
- File Being Installed: WHEEL .COM
- ** GENINS Flag/Value Setup **
- Select Standard Flags and Values
- (* indicates unnecessary option) --
-
- P Print Flags and Values S Setup ALL Flags and Values
- < Save All Flags/Values > Restore All Flags/Values
- Q Quit and Do Not Update X Exit and Optionally Update
-
- 0* Setup Named Directory Data 5* Set Disk Allowed Flag
- 1* Setup External Path Data 6* Set User Allowed Flag
- 2* Setup Multiple Command Line 7 Setup Priv User Data
- 3* Set Max Disk 8* Set Current User/Disk Data
- 4* Set Max User 9* Set File DMA Address
-
- A Set WHEEL Byte Address << Note all the un-
- << necessary options and the
- << A option
-
- Setup Command (? for Menu)? P
- **** Default Flag/Value Settings ****
- Base of Privileged User Areas: 10 Password: chdir
- Address of Wheel Byte: 003B Hex
-
- Setup Command (? for Menu)? X
- Do you want to save changes (Y/N/other=Y)?
- Please Provide Name of Output File
- Name of File (<CR>=WHEEL .COM)? wheel2
- Name of Output File is WHEEL2 .COM -- Verify (Y/N/other=Y)?
- Writing File WHEEL2 .COM to Disk --
-
- Reading Block 10
- Writing Block 10
- Please Provide Name of File to Install
- Name of File (<CR>=Abort)?
-
-
- B4>difµá genins2.com,genins.coφ <╝ DIF╞ i≤ gooΣ t∩
- << compare withì
- DIFF Versioε 1.6
- Source File 1 -- B 4: GENINS2 .COM
- Source File 2 -- B 4: GENINS .COM
- Rel Offset B 4: GENINS2 .COM B 4: GENINS .COM
- Hex Dec Hex Dec Asc Hex Dec Asc
- 0006 6 01 1 . 00 0 .
- 0007 7 24 36 $ 00 0 .
- 0008 8 01 1 . 00 0 .
- 0009 9 0F 15 . 00 0 .
- 001A 26 02 2 . 04 4 .
- 001B 27 0F 15 . 1F 31 .
-
- B4>diff wheel2.com,wheel.com
- DIFF Version 1.6
- Source File 1 -- B 4: WHEEL2 .COM
- Source File 2 -- B 4: WHEEL .COM
- NO Differences Noted in Files
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- This Page Intentionally Left Blank
-
-
-
-
-
-
-
- Appendix A
-
- ZCPR2 Distribution Files
-
- Disk 1 --
-
- 1 File: ZCPR2 .░1 -- Size: 0K -- CRC: 00 00
- Comment:
- 2 File: SYSIO .ASM -- Size: 29K -- CRC: 91 11
- Comment: Sample Redirectable I/O Driver Package
- 3 File: ZCPR2 .ASM -- Size: 56K -- CRC: 4F D1
- Comment: Source to ZCPR2
- 4 File: ZCPRHDR .LIB -- Size: 15K -- CRC: E6 29
- Comment: Header/Configuration File for ZCPR2
-
- Disk 2 --
-
- 1 File: ZCPR2 .░2 -- Size: 0K -- CRC: 00 00
- Comment:
- 2 File: DU2 .ASM -- Size: 72K -- CRC: 19 DA
- Comment: Disk Utility
- 3 File: HELP2 .ASM -- Size: 33K -- CRC: 16 19
- Comment: Online Documentation System
- 4 File: LRUNZ .ASM -- Size: 26K -- CRC: B8 6F
- Comment: Library-Oriented Extended Command Processor
- 5 File: SUB2 .ASM -- Size: 31K -- CRC: 57 FB
- Comment: Disk-Based Command File Processor/Ext Cmd Proc
- 6 File: ZEX .ASM -- Size: 45K -- CRC: 09 11
- Comment: Memory-Based Command File Processor/Ext Cmd Proc
- 7 File: ZEX .ZEX -- Size: 5K -- CRC: 53 28
- Comment: Command File Used to Assemble ZEX
-
-
-
- Disk 3 --
-
- 1 File: ZCPR2 .░3 -- Size: 0K -- CRC: 00 00
- Comment:
- 2 File: CCPLOC .MAC -- Size: 5K -- CRC: FA DA
- Comment: CCP/BDOS/BIOS Locator Program
- 3 File: CD .MAC -- Size: 9K -- CRC: F5 5D
- Comment: Change Directory (Log Into Named Directory) Util
- 4 File: COMPARE .MAC -- Size: 13K -- CRC: 2F 8A
- Comment: File Compare Utility
- 5 File: CRC .MAC -- Size: 20K -- CRC: 4C 09
- Comment: CRC Utility
- 6 File: DEVICE .MAC -- Size: 13K -- CRC: 92 0A
- Comment: Redirectable I/O Driver Select/Display Utility
- 7 File: DIFF .MAC -- Size: 17K -- CRC: 74 C2
- Comment: File Difference Listing Utility
- 8 File: ECHO .MAC -- Size: 6K -- CRC: 99 64
- Comment: Command Line Echo Utility
- 9 File: ERASE .MAC -- Size: 15K -- CRC: 25 6B
- Comment: File Erase Utility
- 10 File: GENINS .MAC -- Size: 43K -- CRC: B2 18
- Comment: Utility Installation Program
- 11 File: IOLOADER.MAC -- Size: 7K -- CRC: 4F 23
- Comment: Redirectable I/O Driver Package Loader
- 12 File: LD .MAC -- Size: 10K -- CRC: 6C D4
- Comment: Memory-Based Named Directory Loader
- 13 File: LDIRZ .MAC -- Size: 12K -- CRC: FF 1B
- Comment: Library Directory Utility
- 14 File: MCHECK .MAC -- Size: 14K -- CRC: B1 12
- Comment: Menu Syntax Check Utility
- 15 File: MCOPY .MAC -- Size: 37K -- CRC: BA 14
- Comment: Multiple File Copy with Named Directories Utility
-
-
-
- Disk 4 --
-
- 1 File: ZCPR2 .░4 -- Size: 0K -- CRC: 00 00
- Comment:
- 2 File: MENU .CPR -- Size: 1K -- CRC: 18 6F
- Comment: Sample MENU.CPR File
- 3 File: MENU .MAC -- Size: 24K -- CRC: 0D BE
- Comment: Menu Command Preprocessor
- 4 File: MKDIR .MAC -- Size: 21K -- CRC: BE 0A
- Comment: Named Directory Create/Edit Utility
- 5 File: PATH .MAC -- Size: 14K -- CRC: 9F 91
- Comment: Path Display/Set Utility
- 6 File: PROTECT .MAC -- Size: 18K -- CRC: EB 24
- Comment: File Protect Utility
- 7 File: PWD .MAC -- Size: 12K -- CRC: 1A 64
- Comment: Named Directory Environment Print Utility
- 8 File: RECORD .MAC -- Size: 7K -- CRC: DB 87
- Comment: Disk-Oriented Redirectable I/O Control Utility
- 9 File: RENAME .MAC -- Size: 18K -- CRC: 68 15
- Comment: File Rename Utility
- 10 File: SINSFORM.MAC -- Size: 3K -- CRC: 3B E7
- Comment: General Header for ZCPR2 Utilities
- 11 File: STARTUP .MAC -- Size: 10K -- CRC: D6 3F
- Comment: Command Line Insertion Utility
- 12 File: TEMPLATE.MAC -- Size: 11K -- CRC: C5 DA
- Comment: ZCPR2 Utility Template
- 13 File: TINIT .MAC -- Size: 13K -- CRC: 9F 1E
- Comment: Terminal Init Program for TVI 950 CRT (uses Paths)
- 14 File: WHEEL .MAC -- Size: 6K -- CRC: 32 B6
- Comment: Wheel Set/Reset Utility
- 15 File: XDIR3 .MAC -- Size: 39K -- CRC: 8C D9
- Comment: Extended Directory Display Utility
-
-
-
- Disk 5 --
-
- 1 File: ZCPR2 .░5 -- Size: 0K -- CRC: 00 00
- 2 File: CCPLOC .COM -- Size: 2K -- CRC: A0 7F
- 3 File: CD .COM -- Size: 4K -- CRC: CF FC
- 4 File: COMPARE .COM -- Size: 6K -- CRC: 00 1D
- 5 File: CONFIG .COM -- Size: 20K -- CRC: 44 4F
- 6 File: CRC .COM -- Size: 8K -- CRC: BB 23
- 7 File: DEVICE .COM -- Size: 4K -- CRC: 76 53
- 8 File: DIFF .COM -- Size: 6K -- CRC: E3 AF
- 9 File: DU2 .COM -- Size: 10K -- CRC: 30 22
- 10 File: ECHO .COM -- Size: 2K -- CRC: C1 E9
- 11 File: ERASE .COM -- Size: 8K -- CRC: 00 7B
- 12 File: GENINS .COM -- Size: 14K -- CRC: 97 4D
- 13 File: HELP .COM -- Size: 4K -- CRC: 34 47
- 14 File: IOLOADER.COM -- Size: 4K -- CRC: D3 C7
- 15 File: LD .COM -- Size: 6K -- CRC: F2 FC
- 16 File: LDIRZ .COM -- Size: 6K -- CRC: 98 7F
- 17 File: LRUNZ .COM -- Size: 2K -- CRC: B2 4D
- 18 File: MCHECK .COM -- Size: 6K -- CRC: A1 1D
- 19 File: MCOPY .COM -- Size: 12K -- CRC: 5A 81
- 20 File: MENU .COM -- Size: 2K -- CRC: DB E8
- 21 File: MKDIR .COM -- Size: 8K -- CRC: 22 60
- 22 File: PATH .COM -- Size: 6K -- CRC: ED 05
- 23 File: PROTECT .COM -- Size: 8K -- CRC: CB 21
- 24 File: PWD .COM -- Size: 6K -- CRC: B6 32
- 25 File: RECORD .COM -- Size: 2K -- CRC: 6E 42
- 26 File: RENAME .COM -- Size: 8K -- CRC: 5A 09
- 27 File: STARTUP .COM -- Size: 4K -- CRC: 98 04
- 28 File: SUB .COM -- Size: 4K -- CRC: 46 9D
- 29 File: TEMPLATE.MAC -- Size: 12K -- CRC: C5 DA
- 30 File: TINIT .COM -- Size: 6K -- CRC: 60 62
- 31 File: WHEEL .COM -- Size: 2K -- CRC: D5 A0
- 32 File: XDIR .COM -- Size: 12K -- CRC: 1B E1
- 33 File: ZEX .COM -- Size: 6K -- CRC: 08 3E
-
-
- Disk 6 --
-
- 1 File: ZCPR2 .░6 -- Size: 0K -- CRC: 00 00
- 2 File: CFILES .HLP -- Size: 22K -- CRC: 10 97
- 3 File: COMPARE .HLP -- Size: 7K -- CRC: B3 F0
- 4 File: CPMTR .HLP -- Size: 24K -- CRC: 63 7B
- 5 File: DU2 .HLP -- Size: 35K -- CRC: 5F 7B
- 6 File: HELP .HLP -- Size: 1K -- CRC: 15 97
- 7 File: HELP2 .HLP -- Size: 22K -- CRC: 2D E1
- 8 File: IO .HLP -- Size: 14K -- CRC: D5 CA
- 9 File: LU .HLP -- Size: 27K -- CRC: 48 F2
- 10 File: MCOPY .HLP -- Size: 11K -- CRC: 96 9E
- 11 File: MENU .HLP -- Size: 29K -- CRC: 1C 39
-
-
-
- Disk 7 --
-
- 1 File: ZCPR2 .░7 -- Size: 0K -- CRC: 00 00
- 2 File: NDIRS .HLP -- Size: 35K -- CRC: F8 19
- 3 File: XDIR3 .HLP -- Size: 22K -- CRC: 21 DA
- 4 File: Z2ALT .HLP -- Size: 22K -- CRC: 25 85
- 5 File: Z2RES .HLP -- Size: 7K -- CRC: FA D4
- 6 File: ZCPR2 .HLP -- Size: 6K -- CRC: 73 08
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- This Page Intentionally Left Blank
-
-
-
-
-