home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / CPM / ZCPR2 / Z2INS.WS < prev    next >
Text File  |  2000-06-30  |  89KB  |  2,139 lines

  1. .he    ZCPR2 -- An Enhanced Z80-Based Replacement for the CP/M CCP
  2. .fo Installation Instructions                          Page #
  3.  
  4.  
  5.                Installation Instructions for ZCPR2
  6.  
  7. 1.0 Introduction
  8.  
  9.      Installatioεá oµ ZCPR▓ i≤ ß somewha⌠ involveΣá process¼á anΣ ì
  10. thσ installe≥ shoulΣ havσ ß fair-to-gooΣ workinτ knowledgσ oµ thσ ì
  11. following:
  12.  
  13.           1⌐ 808░ anΣ Z8░ assembl∙ languagσ programming
  14.           2) CP/M 2.2
  15.           3) the CP/M SYSGEN procedure and how to replace the
  16.                operating system on the system tracks of the
  17.                target system
  18.  
  19.      Thσ memor∙ image≤ oµ ß CP/═ systeφ anΣ ß ZCPR2-baseΣá systeφ ì
  20. arσá presenteΣ belo≈ fo≥ ß conventiona∞ CP/═ system«á  Thσ actua∞ ì
  21. addresse≤á ma∙á var∙á froφ systeφ t∩ system¼á anΣá thσá installe≥ ì
  22. shoulΣá bσá awarσ oµ wha⌠ thesσ addresse≤ arσá fo≥á thσá specifiπ ì
  23. target system.
  24.  
  25.  
  26. -- Diagram 1 --
  27.  
  28. Address        CP/M Image               ZCPR2 Image
  29.  
  30.                ---------------------    ----------------------
  31.                | BIOS              |    | BIOS with Modified |
  32.                |                   |    |   Cold Boot *      |
  33. BDOS+0E00H-->  ---------------------    ----------------------
  34.                | BDOS              |    | BDOS (No Change)   |
  35. CCP +0800H-->  ---------------------    ----------------------
  36.                | CP/M 2.2 CCP      |    | ZCPR2 *            |
  37. BOOT+0080H-->  ---------------------    ----------------------
  38.                | BOOT              |    | BOOT               |
  39. BASE+xxxxH-->  ---------------------    ----------------------
  40.                | Junk and SYSGEN   |    | Junk and SYSGEN    |
  41. BASE= 100H-->  ---------------------    ----------------------
  42.  
  43.  
  44.             CP/M and ZCPR2-based SYSGEN Memory Images
  45.  
  46.      Installatioεá require≤á ß modifieΣ BIO╙ imagσá anΣá ßá ZCPR▓ ì
  47. imagσá t∩á bσá placeΣá ove≥ thσ origina∞ CP/═ 2.▓á BIO╙á anΣá CC╨ ì
  48. images«á  Thσá res⌠ oµ thσ systeφ caε sta∙ thσ same«á  Thosσá ne≈ ì
  49. image≤ arσ markeΣ witΦ aε asterisδ (*⌐ above.
  50.  
  51.  
  52.      Typical address values are indicated below:
  53.  
  54.                          SYSGEN Image             SYSGEN Image
  55. Value                    Conventional CP/M        Morrow CP/M
  56. xxxxH                         800H                   ~ 980H
  57. BOOT  = BASE + xxxxH          900H                    1080H
  58. ZCPR2 = BOOT + 80H            980H                    1100H
  59. BDOS  = ZCPR2 + 800H         1180H                    1900H
  60. BIOS  = BDOS + 0E00H         1F80H                    2700H
  61. End of Operating System      ????H                    2DFFH
  62.  
  63.      Refer back to Diagram 1 for clarification.
  64.  
  65.      The installation process involves three steps:
  66.  
  67.           1) Configuring your BIOS and setting the ZCPR2 options
  68.           2) Overlaying the CCP with ZCPR2 and the old BIOS with
  69.                the new BIOS in the SYSGEN Image
  70.           3) Placing the new SYSGEN Image onto the Operating
  71.                System tracks of the disk
  72.  
  73.      Thσ installe≥ i≤ inviteΣ t∩ refe≥ t∩ thσ CP/═ 2.░ Alteratioε ì
  74. Guideô b∙ Digita∞ ResearcΦ fo≥ detail≤ iε procedure«á  Thi≤ manua∞ ì
  75. specificall∙á cover≤ installatioε oµ ß BOO╘ anΣ BIOS¼á bu⌠á thesσ ì
  76. concept≤ caε bσ logicall∙ extendeΣ t∩ thσ CC╨ (ZCPR2⌐ a≤ well.
  77.  
  78.  
  79. 1.1 Required Software for Installation
  80.  
  81.      ZCPR▓ i≤ t∩ bσ installeΣ oε ß workinτ CP/═ 2.▓ system«á  Thσ ì
  82. specific commercial software required to do this installation is:
  83.  
  84.           1) A working CP/M 2.2 System
  85.           2) the MAC assembler of Digital Research
  86.                (another assembler may be substituted, but source
  87.                 code modification to ZCPR2 may be required to do
  88.                 an installation with an assembler other than MAC)
  89.           3) a debugger, like DDT, for the overlay process
  90.           4) a disk utility, like SYSGEN, to be used to place the
  91.                operating system image onto the operating system
  92.                tracks on disk
  93.  
  94.  
  95.     Thσá non-commercia∞ softwarσ requireΣ fo≥ ZCPR▓ installatioε ì
  96. is:
  97.  
  98.        1) source to ZCPR2
  99.  
  100.        2⌐á thσá CCPLO├á prograφ (ma∙á bσá required¼á anΣá i≤ ì
  101.           provideΣ iε thσ ZCPR▓ distribution)
  102.  
  103.        3⌐á sourcσ t∩ thσ BIO╙ oµ thσ targe⌠ machinσá o≥á thσ ì
  104.           overla∙á fo≥á thσ BIO╙ ColΣ Boo⌠ routinσá fo≥á thσ ì
  105.           targe⌠ machinσ (thi≤ ma∙ bσ availablσ commercially)
  106.  
  107.        4⌐á thσ ZCPR▓ utilitie≤ (sourcσ i≤ typicall∙ no⌠á reì
  108.           quireΣá fo≥ installatioε sincσ thσ GENIN╙á prograφ ì
  109.           caεá perforφá installatioε iε mos⌠á cases)╗á thesσ ì
  110.           utilitie≤á anΣá thei≥ source≤ aε includeΣá iεá thσ ì
  111.           ZCPR▓ distribution
  112.  
  113.      ┴á listinτá oµ thσ ZCPR▓á distributioεá software¼á witΦá CR├ ì
  114. value≤á s∩ tha⌠ yo⌡ caε checδ t∩ seσ tha⌠ yo⌡ havσ gooΣ copie≤ oµ ì
  115. everything¼ i≤ includeΣ iε Appendi° ┴ oµ thi≤ document.
  116.  
  117.  
  118. 1.2  Required Hardware for Installation and Running ZCPR2
  119.  
  120.      Thσá hardwarσ requirement≤ fo≥ thσ installatioε oµ ZCPR▓ arσ ì
  121. as follows:
  122.  
  123.           CP/M 2.2 - based system (or ZCPR2 - based system)
  124.           8080 or Z80 microprocessor
  125.           32K bytes of memory
  126.           110K bytes of disk space for source, BAK, and HEX files
  127.           computer terminal
  128.  
  129.      The hardware requirements for running ZCPR2 are:
  130.  
  131.           ZCPR2 - based system
  132.           Z80 microprocessor
  133.           48K bytes of memory
  134.           110K bytes of disk space (recommended minimum)
  135.           computer terminal
  136.  
  137.  
  138.  
  139. 2.0 Installing ZCPR2
  140.  
  141.      Iεá orde≥ t∩ instal∞ ZCPR▓ oε ßá targe⌠á microcomputer¼á thσ ì
  142. use≥á mus⌠á kno≈á tw∩á basiπ thing≤á abou⌠á hi≤á Consolσá CommanΣ ì
  143. Processor (CCP):
  144.  
  145.           1) Where it is located when it is executed
  146.           2⌐ Wherσ i⌠ i≤ locateΣ iε thσ SYSGE╬ Imagσ or¼ fo≥ 
  147.                system≤ whicΦ don'⌠ suppor⌠ SYSGEN¼ wherσ hi≤ CC╨ 
  148.                is located on disk and how to place the new ZCPR2
  149.                on top of it
  150.  
  151.      Note Diagrams 1 and 2:
  152.  
  153. -- Diagram 1 --
  154.  
  155. Address        CP/M Image               ZCPR2 Image
  156.  
  157.                ---------------------    ----------------------
  158.                | BIOS              |    | BIOS with Modified |
  159.                |                   |    |   Cold Boot *      |
  160. BDOS+0E00H-->  ---------------------    ----------------------
  161.                | BDOS              |    | BDOS (No Change)   |
  162. CCP +0800H-->  ---------------------    ----------------------
  163.                | CP/M 2.2 CCP      |    | ZCPR2 *            |
  164. BOOT+0080H-->  ---------------------    ----------------------
  165.                | BOOT              |    | BOOT               |
  166. BASE+xxxxH-->  ---------------------    ----------------------
  167.                | Junk and SYSGEN   |    | Junk and SYSGEN    |
  168. BASE= 100H-->  ---------------------    ----------------------
  169.  
  170.             CP/M and ZCPR2-based SYSGEN Memory Images
  171.  
  172.  
  173. -- Diagram 2 --
  174.  
  175. Address        CP/M Image               ZCPR2 Image
  176.  
  177.                ---------------------    ----------------------
  178.                | BIOS              |    | BIOS with Modified |
  179.                |                   |    |   Cold Boot        |
  180. BDOS+0E00H-->  ---------------------    ----------------------
  181.                | BDOS              |    | BDOS (No Change)   |
  182. CCP +0800H-->  ---------------------    ----------------------
  183.                | CP/M 2.2 CCP      |    | ZCPR2              |
  184. CCP Base  -->  ---------------------    ----------------------
  185.                | Scratch Area      |    | Scratch Area       |
  186. 100H      -->  ---------------------    ----------------------
  187.                | CP/M Buffers et al|    | ZCPR2 Buffers et al|
  188.   0H      -->  ---------------------    ----------------------
  189.  
  190.               CP/M and ZCPR2-based Executing Images
  191.  
  192. è
  193. Question 1:  Where is the CCP located when it is executed?
  194.  
  195.      ┴á prograφ calleΣ CCPLO├ i≤ provideΣ iε thσ ZCPR▓á distribuì
  196. tion«á  Thi≤ program¼ whosσ CO═ filσ i≤ se⌠ u≡ t∩ ruε startinτ a⌠ ì
  197. 100H¼á wil∞ returε t∩ yo⌡ thσ basσ addresse≤ oµ you≥á CCP¼á BDOS¼ ì
  198. anΣ BIOS«á  Thi≤ prograφ b∙ itselµ answer≤ thσ firs⌠ questioε fo≥ ì
  199. you.
  200.  
  201.      Iµ yo⌡ arσ runninτ ß non-OR╟ ░ CP/═ system¼ yo⌡ wil∞ havσ t∩ ì
  202. reassemblσ CCPLO├ iε orde≥ t∩ ruε it«  Thi≤ discussioε i≤ orientì
  203. eΣ toward≤ OR╟ ░ CP/═ systems¼á bu⌠ i⌠ i≤ no⌠ difficul⌠ t∩ adjus⌠ ì
  204. offset≤ fo≥ non-OR╟ ░ systems.
  205.  
  206.  
  207. Questioε 2║  Wherσ i≤ thσ CC╨ locateΣ iε thσ SYSGE╬ Imagσ or¼ fo≥ ì
  208. system≤á whicΦ don'⌠ suppor⌠ SYSGEN¼á wherσ i≤ thσ CC╨ locateΣ oε ì
  209. disδ anΣ ho≈ wil∞ thσ ne≈ ZCPR▓ bσ placeΣ oε to≡ oµ it?
  210.  
  211.      Thi≤ questioε i≤ no⌠ answereΣ nearl∙ s∩ easily«  Iµ yo⌡ havσ ì
  212. thσ abilit∙ t∩ SYSGE╬ you≥ system¼á i⌠ i≤ mucΦ easie≥á (commonly⌐ ì
  213. thaε iµ yo⌡ d∩ not«á  Yo⌡ must¼á afte≥ assemblinτ ZCPR▓ properly¼ ì
  214. integratσá i⌠ int∩ thσ SYSGE╬ (o≥ disk⌐ imagσ oµ CP/M«á  Thi≤ caε ì
  215. bσ donσ b∙ obtaininτ ß SYSGE╬ imagσ oµ you≥ system¼á scanninτá i⌠ ì
  216. vißá ßá debugge≥á sucΦá a≤ DD╘ t∩ finΣ thσ offse⌠á fo≥á thσá CCP¼ ì
  217. readinτ ZCPR▓ iε oε to≡ oµ thσ CP/═ 2.▓ CCP¼á anΣ finall∙ runninτ ì
  218. SYSGE╬á agaiε t∩ placσ thσ resultan⌠ systeφ oε disk«á  Iµ yo⌡á D╧ ì
  219. NO╘ havσ SYSGE╬ capability¼ ß Disδ Utilit∙ prograφ i≤ requireΣ t∩ ì
  220. locatσá thσá CC╨ oε disδ anΣ theε writσ ZCPR▓ oε to≡ oµá thσá olΣ ì
  221. one«á  Thσá ne⌠á resul⌠ oµ thi≤ integratioε i≤ thσá placemen⌠á oµ ì
  222. ZCPR▓á ont∩á disδ iε thσ prope≥ placσ s∩ tha⌠ i⌠ wil∞á bσá loadeΣ ì
  223. witΦ thσ res⌠ oµ CP/═ oε colΣ boo⌠ anΣ executeΣ properly.
  224.  
  225.      T∩á finΣá thσ origina∞ CP/═ 2.▓ CCP¼á yo⌡ typicall∙ havσá t∩ ì
  226. locatσá i⌠ b∙ it≤ appearance«á  I⌠ ma∙ bσ storeΣ contiguousl∙á oε ì
  227. disk¼ so¼ oncσ i⌠ i≤ found¼ ß sequentia∞ overwritσ i≤ al∞ tha⌠ i≤ ì
  228. required«á  Thi≤ i≤ no⌠ alway≤ thσ case¼ however¼ anΣ you≥ partiì
  229. cula≥ situatioε ma∙ bσ different«á  Probabilit∙ i≤ extremel∙ higΦ ì
  230. tha⌠ i⌠ i≤ storeΣ contiguousl∙ iε thσ SYSGE╬ image.
  231.  
  232.      Thσá CC╨á start≤á witΦ tw∩ anΣ ONL┘á TW╧á jum≡á instruction≤ ì
  233. followeΣ b∙ ß buffe≥ areß (possibl∙ containinτ aε initia∞ commanΣ ì
  234. and/o≥ thσ Digita∞ ResearcΦ copyrigh⌠ notice)«á  Thσ Digita∞á Reì
  235. searcΦá manual≤á sho≈á thσ CC╨ t∩ residσ a⌠ addres≤ 980╚á iεá thσ ì
  236. SYSGE╬ Image¼á bu⌠ thi≤ ma∙ var∙ witΦ thσ particula≥ systeφ (notσ ì
  237. previou≤ diagrams)«á  T∩ finΣ thi≤ image¼á usσ DD╘ o≥ somσá othe≥ ì
  238. debugger¼á loaΣ thσ SYSGE╬ image¼á anΣ examinσ memor∙ startinτ a⌠ ì
  239. arounΣ 900╚ fo≥ thσ tw∩ (anΣ ONL┘ two⌐ jump≤ describeΣ above«  Iµ ì
  240. yo⌡ finΣ aε areß witΦ morσ thaε tw∩ jump≤ (ß grou≡ oµ them)¼á yo⌡ ì
  241. arσ probabl∙ lookinτ a⌠ thσ BIO╙ anΣ shoulΣ g∩ lowe≥ fo≥ thσ CCP«  ì
  242. Thσá CC╨ wil∞ probabl∙ star⌠ oε aε eveε pagσ o≥ half-pagσ addres≤ ì
  243. (likσ 900H¼ 980H¼ 1100H¼ etc).
  244.  
  245.  
  246.      No≈ thσ location≤ oµ thσ CC╨ iε thσ SYSGE╬ imagσ anΣ iεá thσ ì
  247. runninτ imagσ arσ known«á  RecorΣ thesσ addresse≤ fo≥ later«  Yo⌡ ì
  248. arσá no≈ read∙ fo≥ thσ integratioε oµ ZCPR▓ anΣ thσ ne≈ BIO╙ int∩ ì
  249. you≥ system«  T∩ d∩ this¼ perforφ thσ followinτ steps:
  250.  
  251.           1⌐á Assuminτ tha⌠ yo⌡ caε usσ SYSGEN¼á obtaiε ßá SYSGE╬ ì
  252. imagσ oµ you≥ curren⌠ CP/═ systeφ anΣ savσ i⌠ oε disk«á  Als∩ ruε ì
  253. CCPLO├ anΣ obtaiε it≤ values.
  254.  
  255.           2⌐á Edi⌠á ZCPRHDR.LI┬ anΣ se⌠ thσ CPRLO├ equatσ t∩á thσ ì
  256. addres≤ oµ thσ runninτ CC╨ imagσ obtaineΣ above«á  Se⌠ an∙á flag≤ ì
  257. anΣ value≤ a≤ yo⌡ desirσ (seσ thσ ZCPR▓ Customizatioε section).
  258.  
  259.           3⌐ Edi⌠ you≥ BIO╙ o≥ BIO╙ Overla∙ anΣ se⌠ u≡ you≥á ColΣ ì
  260. Boo⌠á routinσá t∩ perforφ thσ necessar∙ initialization≤á fo≥á thσ ì
  261. ZCPR▓ feature≤ yo⌡ havσ selecteΣ (seσ thσ sectioε oε Modificatioε ì
  262. oµá thσ BIO╙ ColΣ Boo⌠ Routinσ below)«á  Wheε satisfied¼á enΣ thσ ì
  263. edi⌠ session.
  264.  
  265.           4⌐á Assemblσá ZCPR▓ witΦá MA├á (o≥á equivalent)«á  Thi≤ ì
  266. assemble≥á i≤á requireΣá becausσ oµ thσ MACRO≤á used«á  Onl∙á thσ ì
  267. resultan⌠á HE╪ filσ i≤ requireΣ fo≥ thσ res⌠ oµ thσá installatioε ì
  268. procedure¼á s∩ yo⌡ caε ge⌠ riΣ oµ ZCPR▓ sourcσ iµ yo⌡ arσ runninτ ì
  269. shor⌠ oε disδ space.
  270.  
  271.           5⌐ Assemblσ you≥ BIO╙ o≥ BIO╙ Overlay«  Again¼ onl∙ thσ ì
  272. resultan⌠ HE╪ filσ i≤ required¼á s∩ yo⌡ caε ge⌠ riΣ oµ thσ sourcσ ì
  273. oncσ thσ assembl∙ i≤ complete.
  274.  
  275.           6⌐á LoaΣá thσá SYSGE╬ imagσ int∩ memor∙á witΦá DD╘á (o≥ ì
  276. equivalent)«  Oncσ loaded¼ verif∙ tha⌠ thσ origina∞ CC╨ i≤ a⌠ thσ ì
  277. IMAG┼á addres≤á founΣ abovσ anΣ computσá thσá integratioεá offse⌠ ì
  278. usinτ thσ DD╘ ╚ command:
  279.                          H<IMAG┼ address>,<RUNNIN╟ address>
  280.  
  281. Thσá seconΣ numbe≥ displayeΣ give≤ yo⌡ thσ OFFSE╘ valuσá requireΣ ì
  282. fo≥ step≤ ╖ anΣ 8.
  283.  
  284.           7⌐á Integratσ ZCPR▓ int∩ you≥ SYSGE╬ imagσ viß DDT'≤á ╔ ì
  285. anΣá ROFFSE╘á commands«á  Usσá IZCPR2.HE╪ (o≥ thσá namσá oµá you≥ ì
  286. versioεá oµ ZCPR2⌐ t∩ loaΣ thσ FC┬ anΣ ROFFSE╘ (wherσ OFFSE╘á wa≤ ì
  287. computeΣ iε Ste≡ 6⌐ t∩ loaΣ thσ ZCPR2.HE╪ filσ int∩ memor∙ a⌠ thσ ì
  288. prope≥á location«á  Checδá t∩ seσ tha⌠ ZCPR▓ i≤á indeeΣá properl∙ ì
  289. loaded by examining the SYSGEN IMAGE area.
  290.  
  291.           8⌐ Integratσ you≥ ne≈ ZCPR▓ BIO╙ int∩ you≥ SYSGE╬ imagσ ì
  292. viß DDT'≤ ╔ anΣ ROFFSE╘ commands«á  Usσ IBIOS.HE╪ (o≥ thσ namσ oµ ì
  293. you≥á versioεá oµá thσ BIOS⌐ t∩ loaΣ thσ FC┬ anΣá ROFFSE╘á (wherσ ì
  294. OFFSE╘á wa≤á computeΣ iε Ste≡ 6⌐ t∩ loaΣ thσ BIOS.HE╪á filσá int∩ ì
  295. memor∙á a⌠ thσ prope≥ location«á  Checδ t∩ seσ tha⌠ thσá BIO╙á i≤ ì
  296. indeeΣ properl∙ loadeΣ b∙ examininτ thσ SYSGE╬ IMAG┼ area.
  297.  
  298.           9⌐á Placσ thσ ne≈ systeφ oε disδ b∙ runninτ SYSGE╬á anΣ ì
  299. NOT loading the system from disk (use the memory image).è
  300. 2.1 ZCPR2 Installation Example
  301.  
  302.      Fo≥á furthe≥á clarificatioεá oµá thσá abovσá procedure¼á thσ ì
  303. followinτá i≤ ß samplσ termina∞ sessioε whicΦ outline≤ thσá step≤ ì
  304. taken«á  I⌠ i≤ ruε froφ ß ZCPR▓ system¼á anΣ thσ screeεá display≤ ì
  305. are edited to omit unnecessary detail and improve clarity.
  306.  
  307. B1>;
  308. B1>;  Sample terminal session which illustrates ZCPR2 installation
  309. B1>;   This is done from a running ZCPR2 system and shows some of
  310. B1>; the extended features of ZCPR2
  311. B1>;
  312. B1>
  313. B1>;
  314. B1>;  Step 1a -- SYSGEN
  315. B1>;
  316. B1>hdsysgen
  317. SYSGEN VER 2.2
  318. SOURCE DRIVE NAME (OR RETURN TO SKIP)a
  319. SOURCE ON A, THEN TYPE RETURN
  320. FUNCTION COMPLETE
  321. DESTINATION DRIVE NAME (OR RETURN TO REBOOT)
  322.  
  323. B1>save 45 cpzm.cpm
  324. B1>;
  325. B1>;  Step 1b -- Run CCPLOC to get addresses
  326. B1>;
  327. B1>ccploc
  328. CCPLOC  Version 1.0
  329.  
  330. CP/M Element    Base Page       Base Address
  331. ------------    ---------       ------------
  332.     CCP            BDH             BD00H
  333.     BDOS           C5H             C506H
  334.     BIOS           D3H             D300H
  335.  
  336.  
  337. B1>;
  338. B1>;  Note the files I am working with
  339. B1>;
  340. B1>xdir
  341.  
  342. XDIR III, Version 1.3    Vertical Listing by File Type and Name
  343.  Disk: B  User:   1, File Attributes:  Non-System
  344.  
  345. Filename.Typ Size K   Filename.Typ Size K   Filename.Typ Size K
  346. -------- --- ------   -------- --- ------   -------- --- ------
  347. CHBIOSZ .ASM     52   CPZM    .CPM     12   ZCPRHDR .LIB     12      
  348. ZCPR    .ASM     56   CBIOSHDR.LIB     12      
  349.     5 Files Occupying   144K,    33 Files on Disk and  4360K Free
  350.  
  351. B1>
  352.  
  353.  
  354. B1>;
  355. B1>;  Step 2 -- Edit ZCPRHDR.LIB and set all options and values
  356. B1>;
  357. B1>ed zcprhdr.lib
  358.      -- Detail Left Out --
  359. B1>
  360. B1>;
  361. B1>;  Step 3 -- Edit CHBIOSZ.ASM and CBIOSHDR.LIB and set Cold
  362. B1>;      Boot Inits
  363. B1>;      You will probably only have to deal with one BIOS file
  364. B1>;
  365. B1>ed chbiosz.asm
  366.      -- Detail Left Out --
  367. B1>ed cbioshdr.lib
  368.      -- Detail Left Out --
  369. B1>;  I'll erase the backup files now
  370. B1>era *.bak
  371. CHBIOSZ .BAK  |  ZCPRHDR .BAK  |  CBIOSHDR.BAK
  372. B1>
  373. B1>;
  374. B1>;  Step 4 -- Assemble ZCPR2
  375. B1>;        I will also run TIME to show you how long it takes
  376. B1>;
  377. B1>time;mac zcpr2 $pz sz;time
  378. TIME  Version 1.1    1:43:38 AM on Thursday December 16, 1982
  379. CP/M MACRO ASSEM 2.0
  380. C4FC                <-- Note the ZCPR2 MUST end before BDOS
  381. 01CH USE FACTOR     <-- begins!
  382. END OF ASSEMBLY
  383.  
  384. TIME  Version 1.1    1:45:18 AM on Thursday December 16, 1982
  385. B1>
  386. B1>;
  387. B1>;  Step 5 -- Assemble BIOS
  388. B1>;
  389. B1>time;mac chbiosz $pz sz;time
  390. TIME  Version 1.1    1:49:15 AM on Thursday December 16, 1982
  391. CP/M MACRO ASSEM 2.0
  392. FCE0
  393. 01AH USE FACTOR
  394. END OF ASSEMBLY
  395.  
  396. TIME  Version 1.1    1:50:32 AM on Thursday December 16, 1982
  397. B1>xdir
  398.  
  399. XDIR III, Version 1.3    Vertical Listing by File Type and Name
  400.  Disk: B  User:   1, File Attributes:  Non-System
  401.  
  402. Filename.Typ Size K   Filename.Typ Size K   Filename.Typ Size K
  403. -------- --- ------   -------- --- ------   -------- --- ------
  404. CHBIOSZ .ASM     52   CHBIOSZ .HEX      8   CBIOSHDR.LIB     12      
  405. ZCPR2   .ASM     56   ZCPR2   .HEX      8   ZCPRHDR .LIB     12      
  406. CPZM    .CPM     12      
  407.     7 Files Occupying   160K,    35 Files on Disk and  4344K Freeè
  408. B1>;
  409. B1>;  Step 6 -- Run DDT and locate the CCP
  410. B1>;
  411. B1>ddt cpzm.cpm
  412. DDT VERS 2.0
  413. NEXT  PC
  414. 2E00 0100
  415. -d900,90f      <-- Start looking around here
  416. 0900 31 80 E7 3E 06 3C 3C FE 1B CA 00 C2 DA 11 E7 D6 
  417. -da00,a0f
  418. 0A00 31 00 01 01 01 0C C5 CD 0F E4 21 00 BE 11 00 04 
  419. -db00,b0f
  420. 0B00 31 00 01 01 01 11 C5 CD 0F E4 21 00 C0 11 00 02 
  421. -db80,b8f
  422. 0B80 31 00 01 01 09 01 CD A8 00 21 00 D2 11 00 C2 0E 
  423.         -- Detail Left Out --
  424. -d1100         <-- I found it at 1100H; note the 2 JMP's
  425. 1100 C3 FF BD C3 FB BD 50 10 20 20 20 20 20 20 20 20 
  426. 1110 20 20 20 20 20 20 20 20 00 00 00 00 00 00 00 00 
  427. 1120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  428.         -- Detail Left Out --
  429. -h1100,bd00
  430. CE00 5400      <-- Integration Offset is 5400 for my system
  431. -^├            <-- Returε t∩ CP/M╗ ╔ kno≈ tha⌠ CPRLO├ wil∞ be
  432.                     BD00H and the IMAGE offset is 1100H
  433.  
  434. B1>
  435. B1>;
  436. B1>;  Steps 7 and 8 -- Perform integration of ZCPR2 and BIOS
  437. B1>;
  438. B1>ddt cpzm.cpm          <-- Edit CP/M Image
  439. DDT VERS 2.0
  440. NEXT  PC
  441. 2E00 0100
  442. -h1100,800               <-- Compute End Address of CCP
  443. 1900 0900                <-- (CCP is 800H bytes long)
  444. -f1100 18ff 0            <-- Zero Fill Area (I like to do this)
  445. -izcpr2.hex              <-- Overlay ZCPR2
  446. -r5400                   <-- Offset Computed Above
  447. NEXT  PC
  448. 2E00 0000
  449. -h1900,e00               <-- Compute Beginning of BIOS
  450. 2700 0B00
  451. -f2700 2dff 0            <-- Zero Fill Area (I like)
  452. -ichbiosz.hex            <-- Overlay BIOS
  453. -r5400                   <-- Offset Computed Above
  454. NEXT  PC
  455. 2E00 0000
  456. -^C                      <-- Done
  457.  
  458.  
  459. B1>;
  460. B1>;  Step 9 -- Perform SYSGEN
  461. B1>;
  462. B1>save 2dh cpzm.cpm          <-- Save file (note HEX page count)
  463. Erase CPZM    .CPM?y
  464. B1>hdsysgen                   <-- SYSGEN to disk from memory
  465. SYSGEN VER 2.2
  466. SOURCE DRIVE NAME (OR RETURN TO SKIP)             <-- Skip
  467. DESTINATION DRIVE NAME (OR RETURN TO REBOOT)a     <-- Select A
  468. DESTINATION ON A, THEN TYPE RETURN
  469. FUNCTION COMPLETE
  470. DESTINATION DRIVE NAME (OR RETURN TO REBOOT)      <-- REBOOT!
  471.  
  472.  
  473. B1>
  474.  
  475. 3.0 ZCPR2 Customization
  476.  
  477.      Thσá filσ ZCPRHDR.LI┬ contain≤ al∞ oµ thσ customizatioε equì
  478. ate≤ anΣ value≤ fo≥ ZCPR2¼á anΣ i⌠ i≤ typicall∙ no⌠ necessar∙á t∩ ì
  479. edi⌠ ZCPR2.AS═ iε orde≥ t∩ configurσ i⌠ t∩ you≥ desires«  Editinτ ì
  480. ZCPRHDR.LI┬á i≤á thσá onl∙ procedurσ necessar∙á t∩á perforφá sucΦ ì
  481. customization.
  482.  
  483.      Iε thi≤ sectioε oµ thσ Installatioε Manua∞ ╔ wil∞ g∩ througΦ ì
  484. eacΦ oµ thσ equate≤ anΣ valuσ setting≤ iε ZCPRHDR.LI┬ iε sequencσ ì
  485. (froφ beginninτ t∩ end)«á  Thi≤ allow≤ yo⌡ t∩ simpl∙ ste≡ througΦ ì
  486. thσá filσ witΦ aε edito≥ whilσ yo⌡ arσ readinτ thi≤ manual«á  Thσ ì
  487. documentatioεá iεá thi≤á manua∞á augment≤á thσá documentatioεá iε ì
  488. ZCPRHDR.LI┬á t∩á givσ yo⌡ ß fairl∙ completσ explanatioεá oµá eacΦ ì
  489. option.
  490.  
  491.      I⌠á i≤á importan⌠á tha⌠ yo⌡ havσ reaΣá thσá Concept≤á Manua∞ ì
  492. beforσ performinτ thi≤ customization«á  Knowledgσ oµ ho≈ CP/═ 2.▓ ì
  493. work≤á anΣ thσ content≤ oµ thσ Concept≤ Manua∞ i≤ assumeΣ iε thi≤ ì
  494. sectioε oµ thσ Installatioε Manual.
  495.  
  496.  
  497.      1«á RE╠ -- Configure≤ CPRLO├ (CPRLO├ eq⌡ 0⌐ fo≥á integratioε ì
  498. vißá MOVCP═ rathe≥ thaε thσ DDT/SYSGE╬ techniquσ outlineΣá above╗ ì
  499. se⌠á t∩ TRU┼ fo≥ MOVCP═ integratioε o≥ FALS┼ fo≥ DDT/SYSGE╬ inteì
  500. gration
  501.  
  502.      2«á BAS┼ -- Basσ addres≤ oµ you≥ CP/═ system╗á standarΣ CP/═ ì
  503. ha≤á ß basσ oµ 0¼á bu⌠ somσ CP/═ system≤ (sucΦ a≤ fo≥ thσá TRS-8░ ì
  504. Mode∞á I⌐ star⌠ physica∞ RA═ memor∙ a⌠ ß highe≥á address╗á equatσ ì
  505. BAS┼ t∩ thσ startinτ RA═ memor∙ addres≤ oµ you≥ system
  506.  
  507.      3«  CPRLO├ -- Thi≤ i≤ thσ startinτ addres≤ oµ ZCPR2╗ se⌠ thσ ì
  508. seconΣá CPRLO├ equatσ t∩ thσ addres≤ yo⌡ obtaiε froφá CCPLOC╗á iµ ì
  509. yo⌡á havσá ß "standardó system¼á yo⌡ ma∙ wisΦ t∩ usσá thσá MSIZE¼ ì
  510. BIOSEX¼ anΣ CPRLO├ equate≤ whicΦ arσ commenteΣ ou⌠ insteaΣ oµ thσ ì
  511. simplσ CPRLO├ ╔ prefe≥ t∩ use
  512.  
  513.      4«á  CPR╥á -- Thi≤ i≤ thσ valuσ oµ OFFSET¼á anΣ yo⌡ ma∙á se⌠ ì
  514. thi≤á equatσ accordinτ t∩ you≥ systeφ a≤ desired╗á i⌠ i≤ no⌠ useΣ ì
  515. b∙ ZCPR2¼ bu⌠ i⌠ doe≤ providσ yo⌡ witΦ thσ requireΣ valuσ withou⌠ ì
  516. having to compute it via the H command in DDT
  517.  
  518.      5«á  BIO╙ -- Thi≤ i≤ ß standarΣ equatσ anΣ usuall∙ doe≤á no⌠ ì
  519. need to be changed
  520.  
  521.      6«á  COMTY╨á anΣ SUBTY╨ -- Thesσ MACRO≤ allo≈ yo⌡ t∩á definσ ì
  522. thσá filσ typσ oµ thσ CO═ anΣ SU┬ files╗á thi≤ i≤ aε optioε whicΦ ì
  523. improve≤á flexibility¼á and¼á iεá somσ environments¼á i⌠á ma∙á bσ ì
  524. desirable to type COM files as something else, like OBJ
  525.  
  526.      7«á  SUBO╬á -- Thi≤á turn≤á oε thσá SUBMI╘á filσá processinτ ì
  527. facility of ZCPR2
  528. è      8«á  DRVPREFI╪á -- Thi≤ enable≤ o≥ disable≤ thσ abilit∙á t∩ ì
  529. specif∙ command≤ beginninτ witΦ ß disk/use≥ prefix¼á likσá "A4:Xó ì
  530. o≥ "B:RUNIT"
  531.  
  532.      ┴á sidσá effec⌠ oµ DRVPREFI╪ beinτ TRU┼ i≤ tha⌠ thσá curren⌠ ì
  533. disk/use≥ i≤ automaticall∙ scanneΣ beforσ thσ patΦ searcΦ begins.
  534.  
  535.       9«á  DRVPFAT╘á -- Thi≤á flaτ allow≤ thσ use≥ t∩ selec⌠á thσ ì
  536. attribute≤á oµ thσ file≤ iε thσ curren⌠ disk/use≥ t∩ bσá examineΣ ì
  537. iµ thσ DRVPREFI╪ flaτ i≤ TRUE«  Thσ followinτ value≤ arσ defined:
  538.  
  539.                DRVPFATT  Files Selected
  540.                --------  --------------
  541.                    0     System
  542.                   80H    Directory
  543.                    1     Both System and Directory
  544.  
  545.      10«á  USERO╬ -- Thi≤ flaτ enable≤ o≥ disable≤ thσ abilit∙ oµ ì
  546. the user to select different user areas via the DU: prefix.
  547.  
  548.      11«á  xxxxO╬ -- Thesσ flag≤ enablσ o≥ disablσ variou≤ ZCPR2-ì
  549. residen⌠ commands«á  MACRO≤ arσ availablσ late≥ iε ZCPRHDR.LI┬ t∩ ì
  550. definσá thσá name≤ oµ thσ command≤ iµ thσ use≥ wishe≤á t∩á changσ ì
  551. them«  Thesσ xxxxO╬ flag≤ are:
  552.  
  553.                Flag      Commands Affected
  554.                ----      -----------------
  555.                DIRON          DIR
  556.                LTON           LIST, TYPE
  557.                GOON           GO
  558.                ERAON          ERA
  559.                SAVEON         SAVE
  560.                RENON          REN
  561.                GETON          GET
  562.                JUMPON         JUMP
  563.  
  564.      12«  INTPAT╚ -- Thi≤ flaτ determine≤ iµ ZCPR▓ use≤ aε interì
  565. na∞ patΦ o≥ aε externa∞ patΦ fo≥ CO═ filσ searches«á  Iµá INTPAT╚ ì
  566. i≤á FALSE¼á theεá Externa∞ PatΦ i≤ selecteΣ anΣ thσ nex⌠á equate¼ ì
  567. PATH¼ define≤ thσ basσ addres≤ oµ thi≤ Externa∞ Path«  Iµ INTPAT╚ ì
  568. i≤á TRUE¼á theε thσ followinτ IPAT╚ macr∩ i≤ useΣ t∩á definσá thσ ì
  569. Interna∞á Path¼á anΣá thi≤á patΦ i≤ locateΣ withiεá ZCPR▓á itselµ ì
  570. (takinτ u≡ space).
  571.  
  572.  
  573.      13«á  ERAx°á anΣá ERDFL╟ -- Thesσ equate≤ dea∞ witΦ thσá ER┴ ì
  574. commanΣá specifically¼á anΣ arσ simpl∙ ignoreΣ iµ ER┴á i≤á turneΣ ì
  575. off«  The∙ worδ togethe≥ t∩ providσ thσ followinτ feature≤ t∩ thσ ì
  576. ERA command:
  577.  
  578.           -- Settings --
  579.           ERAOK     ERAV      Feature
  580.           FALSE     anything  ERA will not ask to verify before
  581.                                 performing the erase
  582.           TRU┼      FALS┼     ER┴ wil∞ alway≤ asδ t∩ verif∙ 
  583.                                 before performing the erase
  584.           TRUE      TRUE      ERA will ask to verify before
  585.                                 performing the erase only if the
  586.                                 ERDFLG (recommended to be "V")
  587.                                 flag appears in the command line
  588.                                 after the file spec
  589.  
  590.      14«á  DUPRMP╘á -- Thi≤ equatσ enable≤ o≥ disable≤ thσá "du>ó ì
  591. prompt«á  Iµá enabled¼á thσ promp⌠ fo≥ use≥ inpu⌠ wil∞ appea≥á a≤ ì
  592. "d>ó o≥ "du>ó (seσ thσ SUPRE╙ flaτ belo≈ also)«  Iµ disabled¼ thσ ì
  593. promp⌠á wil∞á onl∙ appea≥ a≤ ">"«á  Seσ als∩á CPRMP╘á anΣá SPRMP╘ ì
  594. below.
  595.  
  596.      15«á  MULTCM─á e⌠ a∞ -- Thi≤ equatσ enable≤ o≥ disable≤á thσ ì
  597. ZCPR▓ multiplσ commanΣ linσ feature«  Iµ se⌠ t∩ TRUE¼ thσ featurσ ì
  598. i≤ enableΣ anΣ thσ CMDSEP¼á CLBASE¼á anΣ BUFLE╬ equate≤ takσá efì
  599. fect.
  600.  
  601.           These other equates mean the following:
  602.  
  603.                CMDSEP -- definσá thσá characte≥ useΣ t∩á separatσ ì
  604. áááááááááááááááááááááááááeacΦ entr∙ iε thσ commanΣ line╗ iµ chanì
  605. ááááááááááááááááááááááááágeΣá froφ thσ defaul⌠ oµá ";"¼á al∞á thσ ì
  606. áááááááááááááááááááááááááZCPR▓ utilitie≤ havσ t∩ bσ reinstalled
  607.  
  608.                CLBASE -- basσá addres≤á oµ thσá Multiplσá CommanΣ ì
  609. áááááááááááááááááááááááááLinσ Buffer
  610.  
  611.                BUFLEN -- sizσ oµ thσ Multiplσ CommanΣ Linσ Buffe≥ ì
  612. áááááááááááááááááááááááááiε bytes╗á MUS╘ bσ les≤ thaε 25┤ (╔ havσ ì
  613. áááááááááááááááááááááááááfounΣ 20░ t∩ bσ quitσ sufficient)
  614.  
  615.  
  616.      16«á  Whee∞á Bytσá Selectioε -- Thσ Whee∞ Bytσá facilit∙á oµ ì
  617. ZCPR▓ i≤ useΣ t∩ makσ ZCPR▓ ß morσ securσ systeφ b∙ enablinτá anΣ ì
  618. disablinτá selecteΣ ZCPR▓ residen⌠ commands«á  WitΦ thi≤ facilit∙ ì
  619. enabled¼ ß Whee∞ Byte¼ whicΦ i≤ simpl∙ ß bytσ whosσ valuσ i≤ ░ o≥ ì
  620. 0FF╚ tha⌠ exist≤ somewherσ iε memory¼ i≤ examineΣ beforσ ß wheel-ì
  621. baseΣ commanΣ i≤ executed«á  Iµ thi≤ bytσ i≤ no⌠ zero¼á theεá thσ ì
  622. commanΣ executes╗á iµ i⌠ i≤ zero¼ theε thσ commanΣ i≤ no⌠ alloweΣ ì
  623. t∩á executσá anΣá i≤ exiteΣ witΦ aεá erro≥á message«á  Thσá ZCPR▓ ì
  624. transien⌠ WHEE╠ i≤ employeΣ b∙ ß privilegeΣ use≥ t∩ se⌠ anΣ rese⌠ ì
  625. thσá Whee∞ Byte╗á witΦ thσ WHEE╠ command¼á ß passworΣ i≤ requireΣ ì
  626. before any action is taken.
  627.  
  628.           Thσá nex⌠á se⌠á oµ equate≤ i≤ useΣ t∩á (1⌐á definσá thσ ì
  629. addres≤á oµ thσ Whee∞ Bytσ anΣ (2⌐ selec⌠ thσ command≤ whicΦá arσ ì
  630. t∩ responΣ t∩ thσ Whee∞ Bytσ settinτ anΣ abor⌠ witΦ erro≥ iµá thσ ì
  631. Wheel Byte is a zero.
  632.  
  633.                WHLADR - Address of Wheel Byte
  634.  
  635.                WERA, WREN, WLT, WGO, WSAVE, WGET, WJUMP, WDU -
  636.                     If TRUE, these equates make their associated
  637.                     commands respond to the Wheel Byte:
  638.  
  639.                     Equate  Association      Equate  Association
  640.                     WERA      ERA            WSAVE     SAVE
  641.                     WREN      REN            WGET      GET
  642.                     WLT       LIST/TYPE      WJUMP     JUMP
  643.                     WGO       GO             WDU       DU: Change
  644.  
  645.  
  646.      17«á  Thσ nex⌠ equate≤ arσ useΣ t∩ definσ thσ stacδ useΣá b∙ ì
  647. ZCPR2«á  Thσá stacδá ma∙ bσ placeΣ interna∞ t∩ ZCPR▓á (takinτá u≡ ì
  648. space⌐á o≥ externa∞ t∩ ZCPR2«á  Thσ INTSTAC╦ equatσ determine≤ iµ ì
  649. thσ stacδ i≤ interna∞ t∩ ZCPR2╗á iµ TRUE¼á sucΦ i≤ thσ case«á  Iµ ì
  650. INTSTAC╦ i≤ FALSE¼á theε thσ STKBAS┼ equatσ determine≤ wherσá thσ ì
  651. bottoφ oµ thσ 48-bytσ stacδ i≤ locateΣ iε memory«á  Thσ installe≥ ì
  652. shoulΣá no⌠á changσ thσ STAC╦ equatσ followinτ STKBAS┼á sincσá 4╕ ì
  653. byte≤á (anΣ n∩ more⌐ arσ requireΣ fo≥ thσ stack«á  Notσ tha⌠á thσ ì
  654. stack grows DOWN to STKBASE.  Summary:
  655.  
  656.           INTSTACK - TRUE if stack is internal to ZCPR2
  657.           STKBASE  - if INTSTACK is FALSE, then this is the
  658.                          address of the bottom of the stack
  659.  
  660.  
  661.      18«á  Simplσá Customizatioε Symbol≤ -- Thesσ symbol≤ providσ ì
  662. fo≥ furthe≥ customizatioε oµ ZCPR▓ t∩ ß user'≤ particula≥á taste≤ ì
  663. anΣá hardwarσá facilities«á  The∙ arσ covereΣ briefl∙ herσá sincσ ì
  664. the∙ arσ al∞ quitσ straight-forward.
  665.  
  666. Option Name    Function
  667.  
  668.    NLINES      Number of lines on the user's CRT for paging
  669.  
  670.    WIDE        Thi≤á equatσá i≤ useΣ t∩ selec⌠ ß narro≈á o≥á widσ ì
  671. ááááááááááááááádispla∙ unde≥ thσ DI╥ command╗á iµ WID┼ i≤ equateΣ ì
  672. ááááááááááááááát∩á TRUE¼á eacΦá filσá namσ i≤á separateΣá b∙á tw∩ ì
  673. áááááááááááááááspaces¼á ß FENCE¼á anΣ tw∩ morσ spaces╗ iµ WID┼ i≤ ì
  674. áááááááááááááááequateΣ t∩ FALSE¼á eacΦ filσ namσ i≤ separateΣá b∙ ì
  675. áááááááááááááááonσ space¼ ß FENCE¼ anΣ onσ morσ space
  676.  
  677.    FENCEáááááááThi≤ equatσ define≤ thσ characte≥ useΣ t∩ separatσ 
  678. áááááááááááááááentrie≤á iεá ßá displa∙ causeΣ b∙ thσ DI╥áandá ER┴ ì
  679. ááááááááááááááácommands
  680.  
  681.    PGDFLT      Thi≤á i≤á thσá Paginτ Defaul⌠ flaτá fo≥á thσá TYP┼ ì
  682. ááááááááááááááácommand╗á iµ PGDFL╘ i≤ se⌠ t∩ TRUE¼á thσ TYP┼ comì
  683. ááááááááááááááámanΣá wil∞á pagσ it≤ outpu⌠ b∙ defaul⌠ anΣá thσá ╨ ì
  684. áááááááááááááááoptioεá oε thσ TYP┼ commanΣ (seσ below⌐ wil∞á proì
  685. áááááááááááááááhibi⌠ paging╗á iµ PGDFL╘ i≤ se⌠ t∩ FALSE¼ thσ TYP┼ ì
  686. ááááááááááááááácommanΣá wil∞ NO╘ pagσ it≤ outpu⌠ b∙á defaul⌠á anΣ ì
  687. áááááááááááááááthσ ╨ optioε wil∞ enablσ paging
  688.  
  689.    PGDFLG      Thi≤ set≤ thσ optioε characte≥ iε thσ commanΣ linσ ì
  690. áááááááááááááááfo≥ thσ TYP┼ commanΣ (thσ 'Pº mentioneΣ above)╗ iµ ì
  691. áááááááááááááááthσá use≥ wishe≤ t∩ changσ thi≤ optioεá character¼ ì
  692. áááááááááááááááhσ neeΣ onl∙ changσ thi≤ equate
  693.  
  694.    MAXUSR      Thi≤á i≤ thσ larges⌠ use≥ numbe≥ recognizeΣ b∙ thσ ì
  695. áááááááááááááááuse≥ numbe≥ processor╗á iµ thσ use≥ wishe≤ t∩ proì
  696. ááááááááááááááátec⌠ thσ highe≥ use≥ areas¼ hσ ma∙ se⌠ thi≤ symbo∞ ì
  697. ááááááááááááááát∩ thσ highes⌠ areß normall∙ accessable╗ 3▒ i≤ thσ ì
  698. ááááááááááááááálarges⌠ permitteΣ valuσ fo≥ MAXUSR╗á iε an∙á case¼ ì
  699. ááááááááááááááá1╡á i≤á thσ larges⌠ use≥ numbe≥ onσ ma∙á loτá int∩ ì
  700. ááááááááááááááá(unles≤ MAXUS╥ i≤ les≤ thaε 15)¼ bu⌠ i⌠ i≤ no⌠ thσ ì
  701. ááááááááááááááálarges⌠ use≥ numbe≥ tha⌠ ma∙ bσ referenceΣ b∙ DIR¼ ì
  702. áááááááááááááááERA¼á anΣ thσ othe≥ ZCPR2-residen⌠ command≤ (like¼ ì
  703. ááááááááááááááá"DIR A22:")
  704.  
  705.    MAXDISKáááááThi≤á equatσá define≤ thσ numbe≥ oµ logica∞á disk≤ ì
  706. áááááááááááááááthσá use≥ support≤ oε hi≤ system╗á i⌠ ma∙á no⌠á bσ ì
  707. ááááááááááááááágreater than 16
  708.  
  709.  
  710.    SYSFLGá   ááThi≤á i≤ thσ optioε characte≥ fo≥ thσ DI╥á commanΣ ì
  711. ááááááááááááááálinσ whicΦ i≤ useΣ t∩ specif∙ tha⌠ DI╥ searcΦá Al∞ ì
  712. áááááááááááááááFile≤á (botΦ $SY╙ anΣ $DIR⌐ fo≥ it≤á display╗á thσ ì
  713. ááááááááááááááádistributeΣ defaul⌠ fo≥ thi≤ i≤ 'A'
  714. è   SOFLG       Thi≤á i≤ thσ optioε characte≥ fo≥ thσ DI╥á commanΣ ì
  715. ááááááááááááááálinσ whicΦ i≤ useΣ t∩ specif∙ tha⌠ DI╥ searcΦ ONL┘ ì
  716. áááááááááááááááthσá $SY╙ file≤ fo≥ it≤ display╗á thσá distributeΣ ì
  717. ááááááááááááááádefaul⌠ fo≥ thi≤ i≤ 'S'
  718.  
  719.    SUPRES      Se⌠á SUPRE╙ t∩ TRU┼ t∩ suppres≤ printinτ thσá use≥ ì
  720. ááááááááááááááánumbe≥ wheε thσ use≥ i≤ unde≥ Use≥ Numbe≥ ░ o≥ se⌠ ì
  721. áááááááááááááááSUPRE╙á t∩ FALS┼ t∩ ALWAY╙ displa∙ thσ Use≥ Numbe≥ ì
  722. áááááááááááááááwitΦ thσ ZCPR▓ prompt╗á witΦ SUPRE╙ se⌠ t∩ TRUE¼ ß ì
  723. áááááááááááááááuse≥ oε B║á iε use≥ ░ see≤ 'B>º a≤ thσ prompt¼ bu⌠ ì
  724. áááááááááááááááwitΦ SUPRE╙ se⌠ t∩ FALSE¼á ß use≥ oε B║á iε use≥ ░ ì
  725. ááááááááááááááásee≤ 'B0>º a≤ thσ prompt
  726.  
  727.    SPRMPT      Thi≤ i≤ thσ ZCPR▓ promp⌠ characte≥ whicΦ indicate≤ ì
  728. ááááááááááááááátha⌠ ß SUBMI╘ filσ i≤ iε execution╗á b∙ defaul⌠ i⌠ ì
  729. ááááááááááááááái≤ se⌠ t∩ '$'¼á s∩ prompt≤ likσ 'A$º appea≥ durinτ ì
  730. áááááááááááááááSUBMI╘ filσ execution
  731.  
  732.    CPRMPT      Thi≤ i≤ thσ ZCPR▓ promp⌠ characte≥ whicΦ indicate≤ ì
  733. ááááááááááááááátha⌠ ZCPR▓ i≤ awaitinτ ß use≥ consolσ command╗á b∙ ì
  734. ááááááááááááááádefaul⌠á i⌠ i≤ se⌠ t∩ '>'¼á s∩ prompt≤á likσá 'A>º ì
  735. áááááááááááááááappea≥á durinτá use≥ inpu⌠ t∩ ZCPR2╗á notσ tha⌠á ╔ ì
  736. áááááááááááááááhavσ se⌠ thσ MS┬ oµ thi≤ characte≥ s∩ tha⌠ i⌠ wil∞ ì
  737. áááááááááááááááprobabl∙á bσ uniquσ t∩ al∞ character≤ sen⌠ t∩á thσ ì
  738. áááááááááááááááconsolσ -- thσ reasoε fo≥ thi≤ i≤ s∩ tha⌠ thσá ZE╪ ì
  739. áááááááááááááááutilit∙á wil∞ havσ somethinτ uniquσ t∩ looδ fo≥ iε ì
  740. áááááááááááááááorde≥ t∩ resumσ processinτ froφ use≥ inpu⌠á -- fo≥ ì
  741. ááááááááááááááámorσ details¼ refe≥ t∩ thσ documentatioε oε ZEX
  742.  
  743.    NUMBASE     Thi≤á i≤á thσ escapσ characte≥ useΣ b∙ thosσá comì
  744. ááááááááááááááámand≤á whicΦ requirσ ß DECIMA╠ numbe≥ a≤ aεá arguì
  745. áááááááááááááááment╗á placinτá thi≤á characte≥ afte≥á thσá numbe≥ ì
  746. áááááááááááááááargumen⌠á switche≤ thσ basσá t∩á HEXADECIMAL╗á fo≥ ì
  747. áááááááááááááááexample¼á 'SAV┼á 1╡á MYFILEº caε bσá expresseΣá a≤ ì
  748. ááááááááááááááá'SAV┼á F╚á MYFILEº iµ NUMBAS┼ i≤ se⌠ t∩á 'Hºá (thσ ì
  749. ááááááááááááááádefault)
  750.  
  751.    SECTFLG     Thi≤á characte≥ constan⌠ i≤ thσ suffi° optioεá fo≥ ì
  752. áááááááááááááááthσ SAV┼ commanΣ whicΦ specifie≤ tha⌠ sectors¼á a≤ ì
  753. áááááááááááááááopposeΣá t∩ pages¼á arσ t∩ bσ saved╗á thσá defaul⌠ ì
  754. ááááááááááááááávaluσ i≤ 'S'
  755.  
  756.    CURINDááááááThi≤á characte≥ define≤ thσ symbo∞ useΣ t∩á repreì
  757. ááááááááááááááásen⌠á thσá curren⌠á disδ o≥ curren⌠á use≥á iεá thσ ì
  758. ááááááááááááááácommanΣ searcΦ path╗ it≤ recommendeΣ valuσ i≤ '$'
  759.  
  760.    COMMENTáááááThi≤á characte≥á i≤ useΣ t∩ makσ thσ entirσá ZCPR▓ ì
  761. ááááááááááááááácommanΣá linσ int∩ ß commen⌠ iµ i⌠ appear≤ a≤á thσ ì
  762. áááááááááááááááfirs⌠ characte≥ iε thσ line╗ it≤ recommendeΣ valuσ ì
  763. ááááááááááááááái≤ ';'
  764.  
  765.  
  766.  
  767.      19«á  NCHAR╙á anΣá CTABL┼ -- NCHAR╙ i≤ useΣ t∩á specif∙á thσ ì
  768. numbe≥ oµ character≤ iε ß ZCPR2-residen⌠ command«  It≤ recommendì
  769. eΣá valuσ i≤ ┤ (t∩ limi⌠ thσ overal∞ sizσ oµ thσá commands)«á  Cì
  770. TABL┼á i≤ ß tablσ containinτ thσ tex⌠ oµ eacΦ commanΣ namσá (eacΦ ì
  771. tex⌠á entr∙ mus⌠ bσ NCHAR╙ long⌐ anΣ thσ addres≤ oµ eacΦá commanΣ ì
  772. routine«  Thσ tablσ i≤ structureΣ a≤ follows:
  773.  
  774.                DB   'TEXT'    ;Command Text
  775.                DW   ADR       ;Command Address
  776.                ...            ;And So On ...
  777.  
  778. WitΦá thi≤á tablσ yo⌡ caε changσ thσ namσ oµá an∙á ZCPR2-residen⌠ ì
  779. commanΣá t∩á anythinτ yo⌡ want¼á withiε reason«á  'TYPEºá ma∙á bσ ì
  780. changeΣ t∩ 'PRNT'¼á fo≥ example«  A≤ ß rule¼ d∩ no⌠ changσ thσ D╫ ì
  781. entrie≤á withou⌠á ß ver∙ gooΣ reason«á  Thesσ symbol≤á arσá fixeΣ ì
  782. withiε ZCP╥2.ASM.
  783.  
  784.      20«á  EXTFC┬á anΣá FCBAD╥ -- EXTFC┬ indicate≤ wherσ thσá FC┬ ì
  785. useΣá t∩á contaiε intermediatσ anΣ commanΣ filσ name≤á i≤á t∩á bσ ì
  786. located«á  Iµá EXTFC┬á i≤ TRUE¼á thi≤ FC┬ i≤ locateΣ externa∞á t∩ ì
  787. ZCPR2¼á anΣá it≤ addres≤ i≤ indicateΣ b∙ FCBADR«á  Iµá EXTFC┬á i≤ ì
  788. FALSE¼á thi≤ FC┬ i≤ locateΣ interna∞ t∩ ZCPR2¼á anΣ morσ spacσ i≤ ì
  789. takeεá u≡ withiε ZCPR▓ (3╢ byte≤ more⌐ thaε woulΣ bσ takeε u≡á iµ ì
  790. EXTFC┬ wa≤ TRUE.
  791.  
  792.      21«á  CMDRUN¼á ROOTONLY¼á anΣá CMDFC┬ -- CMDRU╬ enable≤á thσ ì
  793. abilit∙á oµ ZCPR▓ t∩ executσ aε extendeΣ commanΣ processo≥ shoulΣ ì
  794. thσ searcΦ fo≥ ß CO═ filσ alonτ thσ commanΣ searcΦ patΦ fail«  Iµ ì
  795. CMDRU╬á i≤á TRUE¼á thi≤ facilit∙ i≤ enabled«á  Oncσ i⌠á i≤á TRUE¼ ì
  796. ROOTONLY and CMDFCB are active.
  797.  
  798.           ROOTONL┘á indicate≤ whethe≥ ZCPR▓ wil∞ searcΦ alonτ thσ ì
  799. patΦá fo≥ thσ extendeΣ commanΣ processo≥ o≥ jum≡ directl∙ t∩á thσ ì
  800. roo⌠á (las⌠ director∙ iε thσ path)«á  Iµ ROOTONL┘ i≤á FALSE¼á thσ ì
  801. patΦ searcΦ i≤ done«á  ROOTONL┘ beinτ FALS┼ cause≤ thσá executioε ì
  802. oµá thσ extendeΣ commanΣ processo≥ t∩ takσ jus⌠ ß littlσ bi⌠ morσ ì
  803. timσá thaε i⌠ woulΣ otherwise¼á bu⌠ morσ flexibilit∙ i≤ addeΣá t∩ ì
  804. thσ system.
  805.  
  806.           CMDFC┬á i≤ ß MACR╧ whicΦ define≤ thσ firs⌠ 1▓ byte≤á oµ ì
  807. thσá FC┬ whicΦ define≤ thσ namσ oµ thσ extendeΣ commanΣ processo≥ ì
  808. t∩ bσ searcheΣ for«á  Yo⌡ ma∙ namσ i⌠ anythinτ yo⌡ desire¼ bu⌠ i⌠ ì
  809. i≤á recommendeΣ tha⌠ thi≤ namσ contaiε a⌠ leas⌠ ╢á character≤á s∩ ì
  810. tha⌠á commanΣá prefixinτá ma∙ bσ donσ easil∙ iµá s∩á desireΣá fo≥ ì
  811. furthe≥ chaining.
  812.  
  813.           Refe≥ t∩ thσ sectioε oε thσ ExtendeΣ CommanΣá Processo≥ ì
  814. in the Concepts Manual for more information.
  815.  
  816.  
  817.  
  818. 3.1  Patching SUBMIT.COM
  819.  
  820.      SUBMIT.CO═ ma∙ bσ patcheΣ t∩ ruε witΦ ZCPR▓ b∙ thσ followinτ ì
  821. procedurσá (thi≤á i≤á recommendeΣá iµá thσá use≥á doe≤á no⌠á havσ ì
  822. SUB.COM)«á  Thi≤á patcΦ simpl∙ make≤ i⌠ alway≤ placσ thσá $$$.SU┬ ì
  823. filσ oε Drivσ A:«  Illustrativσ termina∞ sessioε follows:
  824.  
  825.  
  826. A>ddt b:submit.com
  827. DDT VERS 2.0
  828. NEXT  PC
  829. 0600 0100
  830. -s5bb        <-- Patch is at 5BB Hex
  831. 05BB 00 1    <-- Change 0 (default drive) to 1 (drive A:)
  832. 05BC 24 .    <-- That's it!
  833. -d5b0 5cf    <-- See change
  834. 05B0 00 00 00 00 00 00 30 30 31 20 24 01 24 24 24 20 ......001 $.$$$ 
  835. 05C0 20 20 20 20 53 55 42 00 00 00 1A 1A 1A 1A 1A 1A     SUB.........
  836. -^C        <-- Done
  837. A>save 5 newsubmt.com    <-- Save new SUBMIT.COM file
  838.  
  839.  
  840. 4.0  Special Installation Considerations
  841.  
  842. 4.1  ZCPR2 Sizing
  843.  
  844.      Unlikσ thσ previou≤ commanΣ processor¼á ZCP╥ 1.0¼ ZCPR▓ sizì
  845. inτá i≤ somewha⌠ oµ ß problem«á  Certaiε combination≤ oµ thσá opì
  846. tion≤á fo≥ thσ TRUE/FALS┼ equateΣ symbol≤ caε causσ thσá sizσá oµ ì
  847. ZCPR▓á t∩ exceeΣ 2╦ bytes¼á anΣ thi≤ i≤ typicall∙ oµ concerεá anΣ ì
  848. no⌠á desireΣ (seσ thσ Rationalσ manual)«á  Iµ thσ installer¼á fo≥ ì
  849. instance¼á attempt≤ t∩ duplicatσ thσ ZCP╥ configuration¼ theε thσ ì
  850. sizσ oµ ZCPR▓ wil∞ exceeΣ 2╦ byte≤ b∙ abou⌠ 3░ bytes.
  851.  
  852.      T∩á hel≡á thσ installe≥ t∩ kee≡ awarσ oµ thσ impac⌠á oµá hi≤ ì
  853. selection¼á thσá followinτ sizinτ char⌠ i≤ provided«á  Thi≤ char⌠ ì
  854. show≤ thσ recommendeΣ optioε setting≤ oµ thσ equate≤ iεá questioε ì
  855. anΣ thσ cost≤ (measureΣ iε byte≤ oµ code⌐ associateΣ witΦ settinτ ì
  856. thesσá equates«á  Iµ ß cos⌠ i≤ positive¼á theε tha⌠ say≤ tha⌠ thσ ì
  857. recommendeΣá equatσ settinτ cause≤ thσ indicateΣ numbe≥ oµá byte≤ ì
  858. t∩á bσá consumed¼á anΣ iµ thi≤ settinτ werσá reverseΣá (i.e.¼á iµ ì
  859. currentl∙ TRUE¼á se⌠ i⌠ t∩ FALSE)¼á theε thσ indicateΣ numbe≥á oµ ì
  860. byte≤ woulΣ bσ saved«  ┴ negativσ cos⌠ show≤ tha⌠ thσ recommendeΣ ì
  861. settinτ i≤ consuminτ fewe≥ byte≤ thaε thσ opposite.
  862.  
  863.  
  864.                        ZCPR2 Sizing Chart
  865.         Recommended                        Recommended
  866. Symbol    Setting   Cost           Symbol    Setting   Cost
  867.  
  868. CMDRUN     TRUE       53           JUMPON     TRUE       11
  869. DIRON      TRUE       41           LTON       TRUE      138
  870. DRVPREFIX  TRUE       13           MULTCMD    TRUE      -67
  871.  
  872. DUPRMPT    TRUE       32           PGDFLT     TRUE        0
  873. ERAOK      TRUE       40           RENON      TRUE       72
  874. ERAON      TRUE       62           ROOTONLY   FALSE       0
  875.  
  876. ERAV       TRUE       19           SAVEON     TRUE       90
  877. EXTFCB     TRUE      -33           SUBON      TRUE      142
  878. GETON      TRUE       18           SUPRES     TRUE        3
  879.  
  880. GOON       TRUE       11           USERON     TRUE        3
  881. INTPATH    FALSE      -9           WIDE       TRUE        2
  882. INTSTACK   FALSE     -48           Wxxxx      FALSE     -8-3N*
  883.  
  884. ¬á Therσ arσ eigh⌠ Wxxx° equate≤ whicΦ enablσ thσ indicateΣá comì
  885. mand≤ t∩ responΣ t∩ thσ Whee∞ Byte«  Therσ i≤ aε initia∞ overheaΣ ì
  886. oµá eigh⌠ byte≤ fo≥ an∙ onσ equatσ t∩ bσ enableΣ anΣ therσ i≤á aε ì
  887. additiona∞á overheaΣá oµá threσ byte≤ fo≥ eacΦá equatσá whicΦá i≤ ì
  888. enabled«á  Tha⌠ is¼ t∩ enablσ onσ equatσ cost≤ 1▒ bytes¼ anΣ eacΦ ì
  889. additiona∞ equatσ afte≥ tha⌠ cost≤ threσ byte≤ more.
  890.  
  891.  
  892.      A≤á aε installatioε trade-ofµ example¼á iµ thσ use≥á decide≤ ì
  893. tha⌠ hσ doe≤ NO╘ wan⌠ t∩ suppor⌠ thσ SU┬ filσ capabilit∙á (wishe≤ ì
  894. t∩ usσ ZE╪ exclusively)¼á theε hσ caε se⌠ SUBO╬ t∩ FALS┼ anΣ savσ ì
  895. 14▓á bytes«á  Iµ hσ als∩ decide≤ tha⌠ hσ doe≤ no⌠ wan⌠ t∩ havσ t∩ ì
  896. worr∙ abou⌠ allocatinτ buffe≥ spacσ fo≥ aε externa∞ FCB¼á hσá caε ì
  897. se⌠á EXTFC┬ t∩ FALSE¼á bu⌠ thi≤ cost≤ hiφ 3│ byte≤ (3│ morσ byte≤ ì
  898. arσ consumeΣ b∙ havinτ thi≤ FC┬ interna∞ t∩ ZCPR▓ thaε havinτá i⌠ ì
  899. external)«á  Notσá tha⌠ duσ t∩ somσ overla≡ oµ function≤ (sucΦ a≤ ì
  900. RENO╬ anΣ SAVEON)¼á spacσ saving≤ ma∙ var∙ dependinτ oε thσá comì
  901. bination≤ oµ thσ option≤ selected.
  902.  
  903. 4.2  Programs Which Try to Load the FCB Command Line
  904.  
  905.      Onσ thinτ thσ use≥ anΣ installe≥ shoulΣ bσ concerneΣ witΦ i≤ ì
  906. thσá usσ oµ program≤ whicΦ emplo∙ interna∞ knowledgσ oµ thσá CP/═ ì
  907. 2.▓á CC╨á t∩á perforφ somσ oµá thei≥á functions«á  SucΦá program≤ ì
  908. typicall∙ tampe≥ witΦ thσ interna∞ commanΣ linσ buffe≥ oµ thσ CC╨ ì
  909. anΣá theεá transfe≥á contro∞ t∩ thσ CC╨ iε sucΦ ßá wa∙á tha⌠á thσ ì
  910. commanΣá linσá the∙ storeΣ therσ i≤ executed«á  Unde≥á ZCPR2¼á iµ ì
  911. MULTCM─á i≤á TRU┼ (thσ Multiplσ CommanΣ Linσ Buffe≥á Facilit∙á i≤ ì
  912. enabled)¼á theεá program≤ likσ thi≤ wil∞ bσá modifyinτá code/datß ì
  913. areßá insteaΣ oµ thσ intendeΣ buffer¼á whicΦ i≤ n∩ longe≥á there¼ ì
  914. and frequently cause bad things to happen.
  915.  
  916.      Anothe≥á examplσ i≤ wherσ thσ BIO╙ wishe≤ t∩ issuσ ß commanΣ ì
  917. oεá Warφ o≥ ColΣ Boot≤ anΣ i⌠ attempt≤ t∩ storσ saiΣá commanΣá iε ì
  918. thσ CC╨ commanΣ linσ buffe≥ a≤ describeΣ above«  Simila≥ problem≤ ì
  919. will result.
  920.  
  921.      Thi≤á doe≤ no⌠ meaε tha⌠ ZCPR▓ i≤ removinτ thi≤á capability¼ ì
  922. bu⌠á i⌠ doe≤ meaε tha⌠ thσ capabilit∙ i≤ no⌠ invokeΣ iε thσá samσ ì
  923. way«á  Iε orde≥ t∩ executσ ß desireΣ commanΣ linσ se⌠ b∙ ßá tranì
  924. sien⌠á program¼á fo≥ example¼á thσ transien⌠ neeΣ onl∙ storσá thσ ì
  925. desireΣ commanΣ line¼á terminateΣ b∙ ß binar∙ zero¼ iε thσ prope≥ ì
  926. Multiplσá CommanΣ Linσ Buffe≥ anΣ se⌠ thσ nex⌠ characte≥á pointe≥ ì
  927. t∩á thσá firs⌠ characte≥ t∩ bσ executed«á  Likewisσ fo≥ thσá BIO╙ ì
  928. case.
  929.  
  930.  
  931. 5.0  Modifications to the BIOS Cold Boot Routines
  932.  
  933.      T∩á full∙ instal∞ ZCPR▓ a≤ recommendeΣ iε Sectioεá 4.1¼á thσ ì
  934. ColΣ Boo⌠ routinσ iε thσ BIO╙ mus⌠ allocatσ somσ buffe≥ spacσ anΣ ì
  935. perforφ somσ initialization≤ whicΦ i⌠ doe≤ no⌠ normall∙ do«  A≤ ß ì
  936. workinτ examplσ oµ wha⌠ ╔ aφ referrinτ to¼á stud∙ thσ sourcσ codσ ì
  937. to the Cold Boot Routine in my BIOS:
  938.  
  939. ;
  940. ;  Cold Boot Routine for CHBIOSZ
  941. ;    This routine allocates and initializes buffer space as
  942. ;    required to implement ZCPR2 as recommended.
  943. ;
  944. cboot:
  945.     lxi    sp,tpa        ;Set up stack
  946.  
  947. ;
  948. ;  Section CB-1:  Init Multiple Command Line Buffer
  949. ;
  950.     if    multcmd        ;Multiple Commands Allowed
  951.     lxi    d,cmdset    ;Set buffers for Multiple
  952.                                 ;  Command Processing
  953.     lxi    h,clbase    ;Command Line Base
  954.     call    mover        ;Copy an arbitrary 128 bytes
  955.     endif
  956.  
  957. ;
  958. ;  Section CB-2:  Init Memory-Based Named Directory
  959. ;
  960.     if    ndir        ;Named Directory Based in Memory
  961.     lxi    d,ndvals    ;Initial Values in Directory
  962.     lxi    h,ndbase    ;Named Directory Base
  963.     call    mover        ;Copy an arbitrary 128 bytes
  964.     endif
  965.  
  966. ;
  967. ;  Section CB-3:  Init IOBYTE and Redirectable I/O Drivers
  968. ;
  969.     mvi    a,intioby    ;Initialize the I/O Byte
  970.     sta    iobyte
  971.         lxi     d,iodrivers     ;Default I/O Drivers
  972.         lxi     h,iobase        ;Base Address of Drivers
  973.         call    mover           ;Copy an arbitrary 128 bytes
  974.  
  975. ;
  976. ;  Section CB-4:  Init Default Command Search Path
  977. ;
  978.     lxi    d,path        ;Copy Cold-Boot Path
  979.     lxi    h,pathbase    ;Into System External Path Area
  980.     mvi    b,9        ;Always 9 bytes
  981.     call    movlop
  982.  
  983.  
  984. ;
  985. ;  Section CB-5:  Print Prompt and Select User/Disk
  986. ;
  987.     lxi    h,prompt    ;Prep for sending signon message
  988.     call    message        ;Send the prompt
  989.     mvi    a,0             ;Select user 0 and disk A
  990.     sta    cpmdrv
  991.     sta    cdisk
  992.  
  993.     jmp    gocpm
  994.  
  995.      ...
  996.  
  997. ;
  998. ;  Copy An Arbitrary 128 Bytes from DE to HL
  999. ;
  1000. mover:
  1001.         mvi     b,128
  1002. movlop:
  1003.         ldax    d
  1004.         mov     m,a
  1005.         inx     h
  1006.         inx     d
  1007.         dcr     b
  1008.         jnz     movlop
  1009.         ret
  1010.  
  1011.      ...
  1012.  
  1013.  
  1014. ;
  1015. ;  Primitive Redirectable I/O Drivers which are loaded to
  1016. ;  initially support I/O.  They are copied into a reserved
  1017. ;  area of memory (I have allowed 1K for this) starting at
  1018. ;  IOBASE (my base address is 0DC00H).  These drivers
  1019. ;  provide only console I/O and disable the redirection
  1020. ;  facilities.  During the course of work, these primitive
  1021. ;  drivers are overlaid by the IOLOADER program with much
  1022. ;  more sophisticated drivers.
  1023. ;
  1024. ;  Note the I use Z80 Relative Jump Instructions here because
  1025. ;  this code is not executed where it is stored.  Any absolute
  1026. ;  jumps would have to have their addresses adjusted after
  1027. ;  the routines had been copied.
  1028. ;
  1029. uart equ  0E3F9H         ;UART Address
  1030. rda  equ  4              ;UART RDA Bit
  1031.  
  1032. iodrivers:
  1033.      jr   ioerror        ;set no Status Routine
  1034.      db   0              ;Fill 3 bytes
  1035.      jr   ioerror        ;set no Select Routine
  1036.      db   0              ;Fill 3 bytes
  1037.      jr   ioerror        ;set no Namer Routine
  1038.      db   0              ;Fill 3 bytes
  1039.  
  1040.      ret                 ;No Terminal Init Necessary
  1041.      db   0,0            ;Fill 3 bytes
  1042.      jr   ustat          ;Console Input Status
  1043.      db   0              ;Fill 3 bytes
  1044.      jmp  djcin          ;Console Input Char in PROM
  1045.      jmp  djcout         ;Console Output Char in PROM
  1046.  
  1047.      jmp  djcout         ;List Output Char in PROM
  1048.  
  1049.      jmp  djcout         ;Punch Output Char in PROM
  1050.  
  1051.      jmp  djcin          ;Reader Input Char in PROM
  1052.  
  1053.      mvi  a,0ffh         ;List Status Ready
  1054.      ora  a              ;Set Flags
  1055.      ret                 ;Done with List and No New I/O Routine
  1056.  
  1057. ioerror:
  1058.      xra  a              ;No Device Assignments May be Made
  1059.      ret
  1060. ustat:
  1061.      lda  uart           ;Get status byte
  1062.      cma                 ;Inverted Logic
  1063.      ani  rda            ;RDA?
  1064.      rz
  1065.      mvi  a,0ffh         ;OK Flag
  1066.      ret
  1067. è
  1068.      ...
  1069.  
  1070. ;
  1071. ;  Initial Command Line in Multiple Command Line Buffer
  1072. ;  Only the first five bytes are required, the fifth byte being
  1073. ;  a binary 0 to indicate an empty command line, if you do not
  1074. ;  wish to have an initial command
  1075. ;
  1076.      if   multcmd
  1077. clbase    equ  0ff00h    ;base address of buffer
  1078. buflen    equ  200       ;size of buffer in bytes
  1079. cmdset:
  1080.      dw   clbase+4  ;pt to first char
  1081.      db   buflen    ;size of buffer
  1082.      db   0         ;don't care value
  1083.      db   'STARTUP' ;command to run on Cold Boot
  1084.      db   0         ;end of Cold Boot Command
  1085.      endif
  1086.  
  1087.      ...
  1088.  
  1089. ;
  1090. ;  Initial Contents of Memory-Based Named Directory Buffer
  1091. ;  Note:  this defines an empty Named Directory Buffer
  1092. ;
  1093.      if   ndir      ;turned on?
  1094. ndbase    equ  0fd00h    ;base address of buffer
  1095. ndvals:
  1096.      db   50        ;allow 50 entries
  1097.      db   0         ;no entries stored (entry count)
  1098.      db   0         ;dummy for no disk
  1099.      db   0         ;dummy for no user
  1100.      db   0         ;dummy for no name
  1101.      endif
  1102.  
  1103.      ...
  1104.  
  1105. ;
  1106. ;  Initial External Path
  1107. ;  The contents of the path are outlined in the comments
  1108. ;
  1109. pathbase  equ  40h       ;base address of first byte of path
  1110. path:
  1111.      db   '$$'      ;current disk and current user
  1112.      db   '$',0     ;current disk and user 0
  1113.      db   1,'$'     ;disk A and current user
  1114.      db   1,0       ;disk A and user 0
  1115.      db   0         ;end of path
  1116.  
  1117. ;
  1118. ╗  Note║  I⌠ i≤ no⌠ necessar∙ t∩ initializσ an∙ othe≥ buffers¼ 
  1119. ;    such as EXTFCB, since their values will be initialized by
  1120. ;    ZCPR2
  1121.      Thi≤á samplσ provide≤ ß fairl∙ gooΣ mode∞ fo≥á configuratioε ì
  1122. oµá thσ ColΣ Boo⌠ Routinσ iε orde≥ t∩ implemen⌠ ZCPR▓á a≤á recomì
  1123. mended«  Notσ tha⌠ fou≥ feature≤ requirσ initialization:
  1124.  
  1125.           1) Multiple Command Line Buffer
  1126.           2) Memory-Based Named Directory Buffer
  1127.           3) Command Search Path
  1128.           4) Redirectable I/O Drivers
  1129.  
  1130.      Oµá course¼á ╔á als∩ initializeΣ thσ I/╧ Bytσ a⌠ locatioεá │ ì
  1131. (thσ ST┴ IOBYT┼ instruction)¼á aε interna∞ curren⌠ disδ flag¼ anΣ ì
  1132. thσá curren⌠ user/curren⌠ disδ flaτ dowε a⌠ locatioε ┤á (thσá ST┴ ì
  1133. CDIS╦ instruction).
  1134.  
  1135.      Also¼á notσá tha⌠ ╔ jus⌠ useΣ aε arbitrar∙ transfe≥á routinσ ì
  1136. whicΦá diΣá no⌠ conside≥ thσ actua∞ sizσ oµ thσ significan⌠á datß ì
  1137. transferreΣá fo≥ thσ initializatioε oµ thσ Multiplσ CommanΣá Linσ ì
  1138. Buffer¼á thσ Memory-BaseΣ NameΣ Director∙ Buffer¼á anΣ thσ Redirì
  1139. ectablσ I/╧ Drivers«á    Sincσ botΦ buffer≤ anΣ thσ driver≤á werσ ì
  1140. unde≥ 12╕ byte≤ iε size¼ thi≤ wa≤ ß quicδ wa∙ out.
  1141.  
  1142.  
  1143. 5.1  Installation Note:  Multiple Command Line Buffer
  1144.  
  1145.      The structure of the Multiple Command Line Buffer is:
  1146.  
  1147.           Bytes 0 and 1:  Address of Next Char in Buffer
  1148.           Byte 2:  Size of Buffer
  1149.           Byte 3:  Dummy used by BDOS Readln Function 10
  1150.           Bytes 4 to n:  Buffer Contents, terminated by binary 0
  1151.  
  1152.      Thi≤ buffe≥ MUS╘ bσ initializeΣ b∙ thσ ColΣ Boo⌠ routinσá iµ ì
  1153. thσá Multiplσ CommanΣ Linσ facilit∙ i≤ enabled«á  Thσ addres≤á oµ ì
  1154. Bytσá ┤ i≤ placeΣ iε Byte≤ ░ anΣ ▒ (low-orde≥ first)¼á thσ buffe≥ ì
  1155. sizσ i≤ placeΣ iε bytσ 2¼ anΣ an∙ valuσ ma∙ bσ placeΣ iε Bytσ 3.
  1156.  
  1157.      Thσá commanΣ linσ t∩ bσ executeΣ oε ColΣ Boo⌠ ma∙ bσá placeΣ ì
  1158. iεá Byte≤á ┤ t∩ n«á  Notσ tha⌠ thi≤ linσ MUS╘ bσ terminateΣ b∙á ß ì
  1159. binar∙á 0«á  Iµ yo⌡ havσ n∩ commanΣ linσ t∩ bσ executeΣá oεá ColΣ ì
  1160. Boot, Byte 4 MUST be 0.
  1161.  
  1162.      Thσ Multiplσ CommanΣ Linσ Buffe≥ play≤ man∙ ke∙ role≤ iε thσ ì
  1163. ZCPR▓á System«á  Iε m∙ opinion¼á i⌠ i≤ onσ oµ thσ mos⌠á importan⌠ ì
  1164. feature≤ t∩ implement«  ThrougΦ thi≤ buffer¼ thσ use≥ caε perforφ ì
  1165. thσ "simpleó functioε oµ issuinτ morσ thaε onσ commanΣ oε ß line¼ ì
  1166. but¼á morσ importantly¼á program≤ caε usσ i⌠ t∩ chaiε t∩ ß SERIE╙ ì
  1167. oµ othe≥ programs«  Thσ MEN╒ commanΣ use≤ thi≤ buffe≥ t∩ chaiε t∩ ì
  1168. thσá selecteΣ prograφ anΣ theε t∩ returε t∩ itselµ a⌠ thσá prope≥ ì
  1169. place«á  STARTU╨ use≤ i⌠ t∩ executσ ß commanΣ line¼á and¼ iε conì
  1170. junctioε witΦ CD¼á STARTU╨ unde≥ thσ namσ oµ S╘ i≤ useΣ t∩á estaì
  1171. blisΦá ßá workinτá environmen⌠ oncσ thσ use≥ ha≤á loggeΣá int∩á ß ì
  1172. directory«á  Thi≤á workinτá environmen⌠á ma∙ havσ ßá ne≈á commanΣ ì
  1173. searcΦ path¼ ß ne≈ nameΣ director∙ structure¼ ne≈ devicσ drivers¼ ì
  1174. anΣ ma∙ eveε bσ menu-driven.è
  1175. 5.2  Installation Note:  Memory-Based Named Directories
  1176.  
  1177.      Iµ thσ memory-baseΣ nameΣ director∙ facilit∙ i≤ enabled¼á i⌠ ì
  1178. MUS╘á bσ initializeΣ b∙ thσ ColΣ Boo⌠ Routine«á  Thσ structurσ oµ ì
  1179. thσáá nameΣá director∙á buffe≥á (oεá initialization⌐á shoulΣáá bσ ì
  1180. (assuming it is empty):
  1181.  
  1182.           Byte 0:  Maximum number of entries
  1183.           Byte 1:  Number of entries stored
  1184.           Byte 2:  First Disk Number
  1185.           Byte 3:  First User Number
  1186.           Bytes 4-11:  First Directory Name
  1187.  
  1188.      Iµá thσ initializeΣ nameΣ director∙ buffe≥ i≤ t∩á bσá empty¼ ì
  1189. Bytσ ░ shoulΣ bσ se⌠ t∩ thσ numbe≥ oµ entrie≤ permitteΣ (baseΣ oε ì
  1190. thσ sizσ oµ you≥ buffer⌐ anΣ byte≤ ▒ t∩ ┤ shoulΣ bσ se⌠ t∩ 0«  Iε ì
  1191. computinτ thσ numbe≥ oµ entrie≤ alloweΣ iε ß memory-baseΣ directì
  1192. or∙ buffer¼ thσ followinτ simplσ equatioε applies:
  1193.  
  1194.           Byte 0 = (size of buffer)/10
  1195.  
  1196. Iµ thσ remainde≥ oµ thi≤ divisioε i≤ les≤ thaε 2¼ subtrac⌠ ▒ froφ ì
  1197. Bytσ ░ t∩ allo≈ fo≥ thσ spacσ takeε b∙ byte≤ ░ anΣ 1«á  Thσ 1░ i≤ ì
  1198. thσá numbe≥ oµ byte≤ occupieΣ b∙ aε entr∙ (▓ byte≤ fo≥á disk/use≥ ì
  1199. anΣ ╕ fo≥ director∙ name).
  1200.  
  1201.      Thσ memory-baseΣ nameΣ director∙ featurσ wa≤ createΣ fo≥ tw∩ ì
  1202. reasons║  t∩ speeΣ u≡ thσ executioε oµ ß utilit∙ wheε i⌠ need≤ t∩ ì
  1203. kno≈á thσá director∙á referenceΣá b∙ ß namσ anΣá t∩á establisΦá ß ì
  1204. "globaló director∙ structure«á  Rathe≥ thaε doinτ ß disδá search¼ ì
  1205. thσá utilit∙á simpl∙á look≤ iε thσ memory-baseΣá nameΣá director∙ ì
  1206. buffer¼ anΣ thi≤ save≤ thσ timσ requireΣ fo≥ thσ disδ accesse≤ iµ ì
  1207. thσ namσ i≤ founΣ iε thσ buffer«á  A≤ ß "globaló directory¼á thi≤ ì
  1208. memory-baseΣá nameΣ director∙ i≤ alway≤ searcheΣá first¼á s∩á thσ ì
  1209. entrie≤á iεá i⌠ arσ examineΣ beforσ thσ "localó director∙ iεá thσ ì
  1210. NAMES.DI╥ filσ oε disδ i≤ examined«á  Iε thi≤ way¼á regardles≤ oµ ì
  1211. thσá treσ o≥ mesΦ structurσ imposeΣ b∙ logginτ int∩á variou≤á enì
  1212. vironments¼á ßá se⌠á oµ directorie≤ caε remaiε commoε t∩ al∞á enì
  1213. vironment≤ (unless¼á oµ course¼ S╘ load≤ ß ne≈ memory-baseΣ nameΣ ì
  1214. director∙ se⌠ wheε thσ use≥ log≤ int∩ ß director∙ viß CD).
  1215.  
  1216.  
  1217. 5.3  Installation Note:  Redirectable I/O System
  1218.  
  1219.      Iµá you≥á ZCPR▓á systeφ i≤ t∩ emplo∙á thσá redirectablσá I/╧ ì
  1220. systeφá whicΦá ma∙á bσ implementeΣ b∙ thσá IOLOADE╥á anΣá DEVICE▓ ì
  1221. commands¼ theε thσ ColΣ Boo⌠ Routinσ wil∞ havσ t∩ initializσ thi≤ ì
  1222. system«á  Rathe≥ thaε ente≥ ß word∙ explanatioε oµ wha⌠ ha≤ t∩ bσ ì
  1223. done¼á thσ followinτ i≤ thσ sourcσ t∩ m∙ initia∞ Redirectablσ I/╧ ì
  1224. Driver≤ a≤ installeΣ b∙ thσ ColΣ Boo⌠ Routine«á  Notσ tw∩ things║  ì
  1225. (1⌐á thσá ColΣ Boo⌠ Routinσ simpl∙ copie≤ thesσ driver≤ int∩á thσ ì
  1226. buffe≥ startinτ a⌠ IOBAS┼ anΣ (2⌐ al∞ branche≤ t∩ routine≤ withiε ì
  1227. thesσá driver≤ arσ relativσ s∩ tha⌠ ╔ don'⌠ havσ t∩á worr∙á abou⌠ ì
  1228. adjustinτ addresse≤ fo≥ thei≥ location.  Source Code follows:è
  1229. *****************************************************************
  1230. *                                *
  1231. * Primitive I/O Drivers which are loaded at Cold Boot time.    *
  1232. *                                                               *
  1233. * Note:  DJCIN and DJCOUT are in PROM, so their addresses are   *
  1234. *        fixed and need not be adjusted because of the copy.    *
  1235. *                                *
  1236. *****************************************************************
  1237. uart    equ    0e3f9h        ;UART address
  1238. rda    equ    4        ;UART RDA Bit
  1239.  
  1240. iodrivers:
  1241.     jr    ioerror        ;no Status Routine
  1242.     db    0        ;Fill 3 bytes
  1243.     jr    ioerror        ;no Select Routine
  1244.     db    0        ;Fill 3 bytes
  1245.     jr    ioerror        ;no Namer Routine
  1246.     db    0        ;Fill 3 bytes
  1247.  
  1248.     ret            ;Initialize Terminal
  1249.     db    0,0        ;Fill 3 bytes
  1250.     jr    ustat        ;Console Input Status
  1251.     db    0        ;Fill 3 bytes
  1252.     jmp    djcin        ;Console Input Char
  1253.     jmp    djcout        ;Console Output Char
  1254.  
  1255.     jmp    djcout        ;List Output Char
  1256.  
  1257.     jmp    djcout        ;Punch Output Char
  1258.  
  1259.     jmp    djcin        ;Reader Input Char
  1260.  
  1261.     mvi    a,0ffh        ;List Status Ready
  1262.     ora    a        ;Set Flags
  1263.  
  1264.     ret            ;New I/O Driver Installation Routine
  1265.  
  1266. ioerror:
  1267.     xra    a        ;No device assignments
  1268.     ret
  1269.  
  1270. ustat:
  1271.     lda    uart        ;Get status byte
  1272.     cma            ;Inverted Logic
  1273.     ani    rda        ;RDA?
  1274.     rz
  1275.     mvi    a,0ffh        ;OK Flag
  1276.     ret
  1277.  
  1278.  
  1279.      Asidσá froφá givinτá thσ use≥ ß lo⌠ oµá flexibilit∙á iεá thσ ì
  1280. desigε oµ hi≤ I/╧ system¼ thσ Redirectablσ I/╧ Systeφ als∩ offer≤ ì
  1281. aεá alternativσá t∩ thσ Control-╨ (Consolσ Print⌐ functioεá unde≥ ì
  1282. CP/M«á  Usinτá Control-P¼á thσá use≥ caε temporaril∙á togglσá thσ ì
  1283. printe≥á oεá t∩ prin⌠ wha⌠ i≤ cominτ t∩á hi≤á display«á  However¼ ì
  1284. unde≥ certaiε conditions¼á wheε thσ promp⌠ reappeared¼ thσ printì
  1285. ou⌠á woulΣ continuσ anΣ requirσ anothe≥ Control-╨ t∩ turε i⌠á ofµ ì
  1286. whilσá unde≥ othe≥ conditions¼á wheε thσ promp⌠á reappeared¼á thσ ì
  1287. printou⌠ woulΣ bσ turneΣ ofµ b∙ itself.
  1288.  
  1289.      Usinτá Redirectablσá I/O¼á ß devicσ drive≥ fo≥á thσá Consolσ ì
  1290. whicΦ consisteΣ oµ CR╘ Inpu⌠ anΣ CRT/Printe≥ Outpu⌠ coulΣá easil∙ ì
  1291. bσ created«  Let'≤ sa∙ i⌠ i≤ nameΣ CRTPRIN╘ and¼ usinτ DEVICE¼ i⌠ ì
  1292. woulΣ bσ turneΣ oε witΦ ß commanΣ like:
  1293.  
  1294.           DEVIC┼ CON:=CRTPRINT
  1295.  
  1296. Turninτ i⌠ ofµ woulΣ amoun⌠ t∩ issuinτ ß commanΣ like:
  1297.  
  1298.           DEVIC┼ CON:=CRT
  1299.  
  1300.      Usinτá sucΦá ß devicσ drive≥ solve≤ tw∩ problems║á  (1⌐á thσ ì
  1301. use≥ ha≤ precisσ contro∞ oµ thσ printe≥ anΣ (2⌐ thσ user¼ viß thσ ì
  1302. devicσá driver¼á caε contro∞ wha⌠ goe≤ ou⌠ t∩á thσá printer¼á anΣ ì
  1303. specia∞ characte≥ sequence≤ whicΦ woulΣ normall∙ g∩ t∩ thσ screeε ì
  1304. caε bσ filtereΣ froφ goinτ t∩ thσ printe≥ a≤ well«á  Somσ concerε ì
  1305. haΣ beeε raiseΣ abou⌠ usinτ ß characte≥ witΦ thσ mos⌠ significan⌠ ì
  1306. bi⌠á se⌠á t∩á promp⌠ ZE╪ froφ ZCPR▓ sincσ sucΦá character≤á placσ ì
  1307. certaiεá printer≤á int∩ ß graphic≤ mode«á  SucΦ ßá devicσá drive≥ ì
  1308. coulΣá clea≥á thσ mos⌠ significan⌠ bi⌠ beforσ i⌠ i≤ sen⌠á t∩á thσ ì
  1309. printer.
  1310.  
  1311.  
  1312. 5.4  Installation Note:  Default Command Search Path
  1313.  
  1314.      Iµ thσ externa∞ patΦ featurσ i≤ enabled¼á theε thσ ColΣ Boo⌠ ì
  1315. Routinσ MUS╘ initializσ thi≤ path«á  Thσ patΦ i≤ representeΣ b∙ ß ì
  1316. standarΣ patΦ expression¼ wherσ "$ó indicate≤ thσ curren⌠ use≥ o≥ ì
  1317. disk¼á disk≤á arσá numbereΣ froφ ▒ (disδ ┴ ╜ 1)¼á anΣá user≤á arσ ì
  1318. numbereΣ froφ 0«  Thσ patΦ MUS╘ bσ terminateΣ b∙ ß binar∙ 0.
  1319.  
  1320.      SearcΦá path≤á providσ WORLD╙ oµ flexibilit∙á t∩á thσá user«  ì
  1321. ZCPR▓ require≤ a⌠ leas⌠ onσ patΦ t∩ bσ implemented«á  Thi≤ i≤ thσ ì
  1322. commanΣ searcΦ path¼ whicΦ i≤ thσ patΦ alonτ whicΦ ZCPR▓ searche≤ ì
  1323. fo≥ command≤ (CO═ files⌐ wheε the∙ arσ issued«á  Thi≤ patΦ ma∙ bσ ì
  1324. placed internal to ZCPR2 or external to it.
  1325.  
  1326.  
  1327.      Thσ commanΣ searcΦ patΦ i≤ thσ onl∙ patΦ REQUIRE─ iε ß ZCPR▓ ì
  1328. System¼á bu⌠á man∙á morσ path≤ ma∙ bσá established«á  EacΦá ZCPR▓ ì
  1329. Systeφ utilit∙ prograφ i≤ se⌠ u≡ t∩ dea∞ witΦ path≤ iε onσ oµ tw∩ ì
  1330. o≥á morσ ways║á  (1⌐ i⌠ ma∙ follo≈ aε externa∞ patΦ knowinτá onl∙ ì
  1331. thσ addres≤ oµ thσ beginninτ oµ thσ path¼á anΣ (2⌐ i⌠ ma∙á follo≈ ì
  1332. it≤á owεá interna∞ patΦ knowinτ exactl∙ wha⌠ tha⌠ patΦá is«á  Thσ ì
  1333. HEL╨á prograφ i≤ aε exceptioε t∩ thi≤ iε tha⌠ i⌠ follow≤á aεá exì
  1334. terna∞á patΦá (iµ therσ i≤ one⌐ and¼á iµ tha⌠ fails¼á follow≤á aε ì
  1335. interna∞ path«á  Thσ externa∞ path≤ followeΣ b∙ thσ utilitie≤á iε ì
  1336. thσ ZCPR▓ Systeφ ma∙ bσ thσ samσ a≤ thσ commanΣ searcΦ path¼á bu⌠ ì
  1337. the∙á don'⌠á havσ t∩ be«á  ZEX¼á fo≥ instance¼á ma∙ bσ se⌠ u≡á t∩ ì
  1338. ignorσ thσ commanΣ searcΦ patΦ anΣ follo≈ ß patΦ whicΦ immediateì
  1339. l∙ goe≤ t∩ ß director∙ containinτ ß hos⌠ oµ ZE╪ commanΣ files.
  1340.  
  1341.      Configuratioεá note≤ caε bσ founΣ iε thσ User'≤ Guidσá whicΦ ì
  1342. providσ idea≤ a≤ t∩ ho≈ path≤ ma∙ bσ establisheΣ fo≥ thσá variou≤ ì
  1343. ZCPR▓ Systeφ utilities«á  Remembe≥ tha⌠ fo≥ eacΦ patΦ establisheΣ ì
  1344. whicΦá i≤á externa∞á t∩á ß utilit∙ program¼á thi≤á patΦá mus⌠á bσ ì
  1345. initialized in one way or another before the utility uses it.
  1346.  
  1347.      Thi≤ initializatioε oµ externa∞ path≤ othe≥ thaε thσ commanΣ ì
  1348. searcΦá patΦá useΣá b∙ ZCPR▓ itselµ ma∙ bσ donσ iε a⌠á leas⌠á tw∩ ì
  1349. differen⌠ ways║á  (1⌐ thσ ColΣ Boo⌠ Routinσ ma∙ perforφ thσ initì
  1350. ialization¼á o≥á (2⌐ PAT╚ (whicΦ ma∙ bσ executeΣ oε colΣ boo⌠á b∙ ì
  1351. thσá STARTU╨ program⌐ ma∙ bσ useΣ t∩ perforφ thσá initialization«  ì
  1352. Iµá morσ thaε onσ externa∞ patΦ i≤ defineΣ anΣ thσ use≥ i≤ t∩á bσ ì
  1353. ablσ t∩ changσ thσ content≤ oµ thi≤ patΦ iµ hσ wishes¼á theεá thσ ì
  1354. PAT╚á utilit∙á shoulΣá bσ installeΣ morσ thaεá oncσá anΣá severa∞ ì
  1355. version≤á oµá PAT╚ shoulΣ bσ createΣ (usinτ differen⌠á names¼á oµ ì
  1356. course)«á  Onσ versioε oµ PAT╚ i≤ requireΣ fo≥ eacΦ externa∞ patΦ ì
  1357. whicΦ i≤ t∩ bσ manipulated«  GENIN╙ caε bσ useΣ t∩ quickl∙ creatσ ì
  1358. thσ differen⌠ version≤ oµ PATH.
  1359.  
  1360.  
  1361. 5.5  Installation Note:  Sample ZCPR2 Structure
  1362.  
  1363.      A≤ aε example¼á thσ followinτ i≤ aε outlinσ oµ thσ structurσ ì
  1364. oµ m∙ ZCPR▓ system«  Al∞ addresse≤ arσ expresseΣ iε hexadecimal.
  1365.  
  1366.      Page 0 (Base Page):
  1367.           Location  Contents
  1368.            0 -  2   JMP to BIOS Warm Start at D300
  1369.            3        IOBYTE
  1370.            4        UDFLAG - User Number in Upper 4 Bits; Disk
  1371.                          Number (A=0) in Lower 4 Bits
  1372.            5 -  7   JMP to BDOS at C506
  1373.            8 - 37   Unused Interrupt Vectors
  1374.           38 - 3A   RST 7 used by DDT, ZSID, and others
  1375.           3B        Wheel Byte
  1376.           3C - 3F   Unused
  1377.           40 - 5B   Default Command Search Path (up to 13 elts
  1378.                          and terminating 0)
  1379.           5C - 6B   First FCB Half
  1380.           6C - 7B   Second FCB Half
  1381.           7C        CR Field if 5C-7B used as one complete FCB
  1382.           7D - 7F   Random Record Number
  1383.           80 - FF   Default DMA Buffer
  1384.  
  1385.      Belo≈ BD00║    Optiona∞ ZE╪ Monito≥ anΣ Tex⌠ (Variablσ Size)
  1386.      Address BD00:  Beginning of ZCPR2
  1387.      Address C500:  Beginning of BDOS
  1388.      Address D300:  Beginning of BIOS
  1389.      Address DC00:  Reserved Buffer Area
  1390.      Address E000:  Disk PROM
  1391.      Address E400:  Disk RAM
  1392.      Address E800 - EFFF:  Redirectable I/O Drivers (2K Avail)
  1393.      Address F000 - F600:  Free Space Optionally Used by
  1394.                               Redirectable I/O Drivers
  1395.      Address F5D0 - F5FF:  ZCPR2 Stack (48 Bytes)
  1396.      Address F600 - FCFF:  Buffer Space Used by BIOS
  1397.      Address FD00 - FEFF:  Memory-Based Named Directory Buffer
  1398.                               (512 Bytes for 50 Entries)
  1399.      Address FF00 - FFCF:  Multiple Command Line Buffer
  1400.                               (200 Bytes for text + 4 for
  1401.                                initial buffers + Dead Space)
  1402.      Address FFD0 - FFFF:  ZCPR2 External FCB
  1403.  
  1404.  
  1405. 6.0 Installing the ZCPR2 Utilities
  1406.  
  1407.      S∩ far¼á ╔ havσ beeε concentratinτ oε ZCPR▓ itself«á  ZCPR2¼ ì
  1408. however¼ i≤ onl∙ ß par⌠ (les≤ thaε 1/1░ iε term≤ oµ codσ size⌐ oµ ì
  1409. thσ ZCPR▓ System«  Thσ res⌠ oµ thσ Systeφ i≤ madσ u≡ oµ thσ ZCPR▓ ì
  1410. utilities.
  1411.  
  1412.      Mos⌠ oµ thσ ZCPR▓ Utilitie≤ neeΣ t∩ kno≈ somethinτ abou⌠ thσ ì
  1413. ZCPR▓á environment«á  Iε particular¼á thesσ utilitie≤ neeΣ t∩á bσ ì
  1414. installeΣá iεá orde≥á t∩ becomσ aε integra∞ par⌠ oµá thσá overal∞ ì
  1415. system¼á anΣ ß program¼ GENIN╙ (fo≥ Genera∞ Install)¼ i≤ provideΣ ì
  1416. to do this.
  1417.  
  1418.      GENIN╙ provide≤ teε basiπ configuratioε option≤ t∩ thσ user«  ì
  1419. These are:
  1420.  
  1421.      0.  Named Directory Data
  1422.  
  1423.        a.  Address of Memory-based Named Directory Buffer
  1424.           Thi≤á i≤á thσ startinτ addres≤ oµ thσá NameΣá Director∙ ì
  1425. Buffe≥ storeΣ iε memory«á  Iµ yo⌡ d∩ no⌠ havσ one¼ se⌠ thi≤ valuσ ì
  1426. t∩ 0.
  1427.  
  1428.        b«  Numbe≥ oµ NameΣ Directorie≤ AlloweΣ iε ß NameΣ Directì
  1429. or∙ File
  1430.           Thi≤á valuσá i≤ initiall∙ se⌠ b∙ thσ MKDI╥á prograφá b∙ ì
  1431. creatinτá thσá NameΣ Director∙ Filσ witΦ thσ indicateΣ numbe≥á oµ ì
  1432. entries«á  Al∞ program≤ usinτ thi≤ filσ mus⌠ bσ se⌠ t∩ responΣ t∩ ì
  1433. thσ samσ numbe≥ oµ entries«  An∙ numbe≥ les≤ thaε 25╢ i≤ allowed¼ ì
  1434. anΣá 6┤ i≤ recommendeΣ fo≥ standardizatioε purpose≤ (anΣá becausσ ì
  1435. i⌠ i≤ reasonablσ a≤ determineΣ througΦ experience).
  1436.  
  1437.        c.  Name of the Named Directory File to Scan for on Disk
  1438.           Thi≤á i≤á thσ namσ oµ thσ filσ t∩ bσ scanneΣ fo≥á iµá ß ì
  1439. director∙á namσ i≤ no⌠ founΣ iε thσ memory-baseΣ NameΣá Director∙ ì
  1440. Buffer«á  Thσ recommendeΣ namσ (fo≥ standardizatioε purposes⌐á i≤ ì
  1441. NAMES.DIR.
  1442.  
  1443.      1.  External and Internal Path Data
  1444.  
  1445.        a.  Enable or Disable External Paths
  1446.           Thσá utilit∙ i≤ tolΣ whethe≥ i⌠ ma∙ usσ externa∞á path≤ ì
  1447. fo≥ it≤ function≤ o≥ no⌠ b∙ thi≤ option«  Externa∞ path≤ arσ useΣ ì
  1448. fo≥á filσá searche≤ anΣ NameΣ Director∙ filσ searche≤á primarily¼ ì
  1449. bu⌠ the∙ ma∙ havσ othe≥ use≤ a≤ well¼á dependinτ oε thσá utility«  ì
  1450. Iµ externa∞ path≤ arσ available¼á thσ PAT╚ commanΣ ma∙ bσ useΣ t∩ ì
  1451. initializσ theφ oε colΣ boo⌠ o≥ t∩ changσ theφ dynamicall∙ durinτ ì
  1452. ß termina∞ session«á  Iµ externa∞ path≤ arσ no⌠ t∩ bσ used¼á theε ì
  1453. interna∞á paths¼á uniquσá t∩á eacΦ utility¼á ma∙ bσá defineΣá anΣ ì
  1454. employeΣ instead«á  Iµ neithe≥ externa∞ no≥ interna∞ path≤ arσ t∩ ì
  1455. bσ used¼ theε thσ utilit∙ (usually⌐ wil∞ onl∙ examinσ thσ curren⌠ ì
  1456. director∙á fo≥ wha⌠ i⌠ needs«á  A≤ ß genera∞á rule¼á iµá externa∞ ì
  1457. path≤á arσ no⌠ used¼á definσ aε interna∞ path¼á anΣ thi≤ interna∞ ì
  1458. path may be as simple as current directory.è
  1459.        b.  If enabled, the Address of the External Path
  1460.           Iµá aεá externa∞á patΦ i≤ enabled¼á thi≤á i≤á thσá basσ ì
  1461. addres≤á oµá thσ beginninτ oµ thσ path«á  Iµ externa∞á path≤á arσ ì
  1462. disabled¼á GENIN╙á doe≤ no⌠ givσ thσ use≥ thσ optioε t∩ se⌠á thi≤ ì
  1463. value.
  1464.  
  1465.        c.  Enable or Disable Internal Paths
  1466.           GENIN╙á give≤ thσ use≥ thσ optioε t∩ enablσ anΣá definσ ì
  1467. aε interna∞ patΦ regardles≤ oµ hi≤ selectioε fo≥ externa∞á paths«  ì
  1468. Somσ commands¼ HEL╨ iε particular¼ ma∙ usσ botΦ path≤ iµ the∙ arσ ì
  1469. available«  Iε thσ casσ oµ HELP¼ wheε lookinτ fo≥ ß HEL╨ file¼ i⌠ ì
  1470. searche≤á alonτá thσá externa∞ patΦá first¼á and¼á failinτá that¼ ì
  1471. searches along its internal path.
  1472.  
  1473.        d«  Iµ enabled¼ definσ thσ interna∞ patΦ fo≥ tha⌠ particuì
  1474. la≥ utility
  1475.           Thσá interna∞ patΦ i≤ defineΣ iµ thσ use≥á selecteΣá t∩ ì
  1476. enablσá interna∞ paths«á  Symboliπ notatioε i≤ useΣ t∩ definσ thσ ì
  1477. path¼ anΣ thσ use≥ i≤ prompteΣ fo≥ eacΦ patΦ elemen⌠ iε sequence«  ì
  1478. NameΣ Directorie≤ ma∙ NO╘ bσ useΣ iε thσá definition«á  Hence¼á ß ì
  1479. definitioεá likσá $ñá $░ Añ A░ (fo≥á curren⌠á disk/user¼á curren⌠ ì
  1480. disk/use≥á 0¼á disδá A/curren⌠ user¼á anΣ disδ A/use≥ 0⌐á ma∙á bσ ì
  1481. specified.
  1482.  
  1483.      2.  Multiple Command Line Data
  1484.  
  1485.        a.  Enable or Disable the Multiple Command Line Buffer
  1486.           Iµá thσá Multiplσ CommanΣ Linσ facilit∙ i≤á enableΣá b∙ ì
  1487. ZCPR▓ anΣ thσ ColΣ Boo⌠ Routinσ iε thσ BIOS¼ theε thσ use≥ shoulΣ ì
  1488. tel∞ thσ utilit∙ tha⌠ thi≤ facilit∙ i≤ available«á  Notσ tha⌠ thσ ì
  1489. buffe≥ MUS╘ bσ initializeΣ beforσ use«á  Severa∞ utilitie≤ emplo∙ ì
  1490. thσ Multiplσ CommanΣ Linσ Buffe≥ fo≥ chaininτ purposes¼á anΣ somσ ì
  1491. utilities, like MENU and STARTUP, cannot run without it.
  1492.  
  1493.        b.  If enabled, address of Multiple Command Line Buffer
  1494.           Thi≤á specifie≤ wherσ thσ Multiplσ CommanΣ Linσá Buffe≥ ì
  1495. i≤ located«á  Notσ tha⌠ onl∙ ON┼ Multiplσ CommanΣ Linσ Buffe≥ ma∙ ì
  1496. bσ defineΣ fo≥ ß particula≥ system¼ unlikσ thσ externa∞ paths¼ iε ì
  1497. whicΦ casσ therσ ma∙ bσ a≤ man∙ a≤ desired«á  ZCPR▓ i≤ desireΣ t∩ ì
  1498. dea∞á witΦ onl∙ onσ sucΦ buffe≥ anΣ canno⌠ accep⌠á command≤á froφ ì
  1499. more than one.
  1500.           Note¼á however¼á tha⌠á man∙ buffe≥ area≤ ma∙ bσ defineΣ ì
  1501. fo≥á thσá purposσá oµá passinτá informatioεá betweeεáá utilities¼ ì
  1502. particularl∙á thosσ wh∩ ma∙ bσ chaineΣ togethe≥ viß thσá Multiplσ ì
  1503. CommanΣá Linσ Buffe≥ Facility«á  Thesσ utilitie≤ arσ chaineΣá viß ì
  1504. thσ buffer¼ bu⌠ ma∙ usσ othe≥ buffer≤ t∩ pas≤ informatioε t∩ eacΦ ì
  1505. other«á  The∙á ma∙á als∩ pas≤ informatioε t∩ eacΦ othe≥á vißá thσ ì
  1506. command lines in the Multiple Command Line Buffer.
  1507.  
  1508.  
  1509.      3.  Maximum Disk which may be Referenced
  1510.  
  1511.           Thi≤á paramete≥ i≤ availablσ fo≥ thσ purpose≤á oµá proì
  1512. tectinτ thσ systeφ anΣ providinτ ß leve∞ oµ security«  Iε thσ wa∙ ì
  1513. oµá protectinτ thσ system¼á b∙ specifyinτ thσ maximuφ disδ lette≥ ì
  1514. (likσ ─ iµ therσ arσ fou≥ drives)¼á theε thσ utilit∙ wil∞ flaτ aε ì
  1515. erro≥ iµ ß referencσ i≤ madσ t∩ an∙ drivσ greate≥ thaε D¼ thereb∙ ì
  1516. trappinτ thσ erro≥ beforσ thσ BDOS/BIO╙ see≤ it.
  1517.           Iεá thσ wa∙ oµ providinτ ß leve∞ oµá security¼á certaiε ì
  1518. program≤á ma∙á bσ madσ availablσá iεá tw∩á versions«á  XDIR¼á fo≥ ì
  1519. instance¼ caε bσ se⌠ u≡ t∩ bσ founΣ alonτ ß use≥ patΦ iε whicΦ i⌠ ì
  1520. onl∙á know≤á oµ drive≤ ┴ anΣ ┬ anΣ doe≤ no⌠ permi⌠ acces≤á t∩á C¼ ì
  1521. while¼á oncσ ß use≥ ha≤ loggeΣ int∩ ß systeφ director∙ anΣ ß new¼ ì
  1522. systeφá patΦ i≤ established¼á ß differen⌠ XDI╥ ma∙ bσ encountereΣ ì
  1523. alonτ thi≤ systeφ patΦ whicΦ know≤ abou⌠ drivσ ├ also.
  1524.  
  1525.      4.  Maximum User which may be Referenced
  1526.  
  1527.           Thi≤á paramete≥á i≤ availablσ fo≥ thσ purposσá oµá proì
  1528. vidinτ ß leve∞ oµ securit∙ only«á  Alonτ thσ line≤ oµ (3⌐á above¼ ì
  1529. tw∩á path≤ (use≥ anΣ system⌐ anΣ tw∩ set≤ oµ command≤ (likσ XDIR⌐ ì
  1530. ma∙á bσ establisheΣ iε whicΦ thσ anyonσ employinτ thσá use≥á patΦ ì
  1531. canno⌠á acces≤ beyonΣ ß giveε use≥ numbe≥ whilσ anyonσá employinτ ì
  1532. thσ systeφ patΦ can.
  1533.  
  1534.      5.  Allow the User to Reference a Disk
  1535.  
  1536.           Again¼á t∩á providσ aε eveε furthe≥ leve∞ oµá security¼ ì
  1537. thσ abilit∙ t∩ referencσ an∙ disδ othe≥ thaε thσ curren⌠ disδ caε ì
  1538. bσá disabled«á  Thi≤ mus⌠ bσ permitteΣ iε orde≥ fo≥ thσ ─ par⌠ oµ ì
  1539. thσ D╒ forφ t∩ bσ effectivσ fo≥ thσ particula≥ utility¼ anΣ NameΣ ì
  1540. Directory references are affected as well.
  1541.  
  1542.      6.  Allow the User to Reference a User Area
  1543.  
  1544.           Thi≤ i≤ thσ samσ a≤ (5)¼á bu⌠ thσ abilit∙ t∩á referencσ ì
  1545. any user area other than the current user can be disabled.
  1546.  
  1547.  
  1548.      7.  Privileged User Areas
  1549.  
  1550.        a.  Base Address (first priv user area)
  1551.           ┴á se⌠á oµ use≥ areas¼á beginninτ a⌠ ß particula≥á use≥ ì
  1552. area¼á caεá bσá declareΣ t∩ bσ privileged«á  Acces≤á t∩á theφá i≤ ì
  1553. granteΣá onl∙ iµ thσ correc⌠ passworΣ i≤ given«á  Thσ recommendeΣ ì
  1554. basσ addres≤ oµ thσ privilegeΣ use≥ area≤ i≤ 10¼ s∩ use≥ area≤ 1░ ì
  1555. t∩ 3▒ ma∙ bσ accesseΣ onl∙ wheε ß passworΣ i≤ given«á  Notσá tha⌠ ì
  1556. thi≤á optioε applie≤ ONL┘ t∩ thσ ZCPR▓ utilitie≤ anΣ no⌠ t∩ ZCPR▓ ì
  1557. itself«á  Oncσá thσ ZCPR▓ Systeφ i≤ configureΣ fo≥ thi≤á forφá oµ ì
  1558. security¼á thσá D╒á forφ shoulΣ bσ disableΣ withiε ZCPR▓á o≥á thσ ì
  1559. Wheel facility should be set up to control use of the DU form.
  1560.           Thσ privilegeΣ use≥ definition≤ appl∙ t∩ thσ C─ (Changσ ì
  1561. Directory⌐á prograφ iε particular«á  Thi≤ prograφ i≤ useΣ iε lie⌡ ì
  1562. oµ thσ DU║ commanΣ t∩ loτ int∩ ne≈ directories«  I⌠ alway≤ check≤ ì
  1563. t∩á seσ iµ thσ use≥ i≤ enterinτ ß privilegeΣ director∙á anΣá ask≤ ì
  1564. for the password before it allows him to enter.
  1565.  
  1566.        b.  Password required to enter a priv user area
  1567.           This is the password required for access rights.
  1568.  
  1569.      8.  Current User/Disk Symbol
  1570.  
  1571.           Iµá thσá installe≥ ha≤ opteΣ t∩ usσ somσá othe≥á symbo∞ ì
  1572. (othe≥ thaε "$"⌐ t∩ represen⌠ thσ curren⌠ disδ o≥ curren⌠ use≥ iε ì
  1573. symboliπá patΦá expression≤ unde≥ ZCPR2¼á thσ utilit∙á shoulΣá bσ ì
  1574. informeΣá oµá thi≤á fact«áá  Naturally¼á somσá valuσá ha≤á t∩á bσ ì
  1575. specified¼á anΣá thσá recommendeΣ symbo∞ oµ "$ó i≤ preferreΣá fo≥ ì
  1576. standardization purposes.
  1577.  
  1578.      9.  DMA Address for Disk I/O
  1579.  
  1580.           Iµ thσ use≥ ha≤ ß non-ORG-░ system¼á theε thi≤ mus⌠á bσ ì
  1581. se⌠á t∩ definσ thσ DM┴ Addres≤ (Defaul⌠ establisheΣ b∙ ZCPR2⌐á oµ ì
  1582. thσá system«á  Thi≤á addres≤ i≤ usuall∙ RA═ basσ ½ 80H¼á anΣá thσ ì
  1583. value for an ORG-0 system is 80H.
  1584.  
  1585.  
  1586.  
  1587.      Whilσ runninτ GENINS¼á whicΦ i≤ menu-oriented¼á thσ use≥á i≤ ì
  1588. provided with the abilities to perform the following functions:
  1589.  
  1590.      1«á  Se⌠ an∙ combinatioε oµ thσ abovσ characteristic≤ fo≥á ß ì
  1591. particula≥ utility
  1592.  
  1593.           Thσá ╙á optioεá allow≤ thσ use≥á t∩á sequentiall∙á pas≤ ì
  1594. througΦá al∞ oµ thσ necessar∙ parameter≤ anΣ se⌠á them«á  Iµá thσ ì
  1595. use≥ wishe≤ t∩ selec⌠ theφ individually¼ typinτ ß digi⌠ froφ ░ t∩ ì
  1596. ╣á select≤á tha⌠á particula≥ paramete≥ fo≥á installation«á  Iµá ß ì
  1597. particula≥á optioε i≤ no⌠ needeΣ b∙ thσ utilit∙á currentl∙á beinτ ì
  1598. installed¼á i⌠ i≤ flaggeΣ witΦ aε asterisk¼ anΣ selectioε oµ thi≤ ì
  1599. optioε b∙ digi⌠ perform≤ n∩ operatioε whatsoever«á  Thσ ╙ option¼ ì
  1600. iµá selected¼á simpl∙ skip≤ al∞ parameter≤ flaggeΣ witΦ aε asterì
  1601. isk.
  1602.           Somσá utilitie≤ requirσ parameter≤ t∩ bσ se⌠ whicΦá arσ ì
  1603. no⌠á covereΣá b∙ thσ standarΣ group«á  Knowledgσ oµá thσá utilit∙ ì
  1604. (refe≥á t∩ thσ User'≤ Guide⌐ i≤ requireΣ t∩ makσ ß gooΣá judgmen⌠ ì
  1605. oε thσ prope≥ settinτ fo≥ thσ requireΣ parameter«á  Iµ additiona∞ ì
  1606. parameter≤ arσ t∩ bσ set¼ aε ┴ optioε appear≤ iε thσ menu«  Thσ ╙ ì
  1607. optioεá automaticall∙á extend≤ t∩á cove≥á thosσá utility-specifiπ ì
  1608. parameters¼á anΣá thσ ┴ optioε ma∙ bσ useΣ likσ ß digi⌠ optioε t∩ ì
  1609. select just the utility-specific parameters to be set.
  1610.  
  1611.      2«  Displa∙ thσ curren⌠ setting≤ fo≥ ß particula≥ utility
  1612.  
  1613.           Thσá ╨á optioεá display≤ thσ curren⌠á setting≤á oµá al∞ ì
  1614. parameter≤ fo≥ thσ utilit∙ beinτ installed«á  Iµ utility-specifiπ ì
  1615. parameters are available, these are printed as well.
  1616.  
  1617.      3«  Savσ thσ curren⌠ setting≤ s∩ tha⌠ anothe≥ utilit∙ ma∙ bσ ì
  1618. se⌠ u≡ iε aε identica∞ wa∙ b∙ mean≤ oµ ß simplσ restorσ command
  1619.  
  1620.           Thσá ╝ optioε save≤ al∞ oµ thσ standarΣ parameter≤ int∩ ì
  1621. t∩á savσ buffe≥ fo≥ late≥ recal∞ b∙ thσ ╛á option«á  Usinτá thesσ ì
  1622. option≤ iε thσ menu¼á thσ use≥ caε g∩ througΦ thσ tasδ oµ settinτ ì
  1623. al∞á oµ thσ option≤ oµ ß "completeó utilit∙ (onσ iε whicΦ al∞á oµ ì
  1624. thσ parameter≤ indicateΣ b∙ digit≤ arσ necessary⌐ onl∙ once¼ theε ì
  1625. savσ hi≤ selection≤ witΦ thσ ╝ option¼á writσ thσ curren⌠ utilit∙ ì
  1626. t∩á disk¼á reaΣ iε thσ nex⌠ utilit∙ withou⌠ leavinτá GENINS¼á anΣ ì
  1627. theεá se⌠á it≤ parameter≤ b∙ thσ ╛ option«á  Thσ nex⌠ utilit∙á i≤ ì
  1628. theεá writteε t∩ disk¼á anΣ ß thirΣ utilit∙ i≤ selecteΣá anΣá it≤ ì
  1629. parameter≤á se⌠á b∙ >«á  Thi≤ caε g∩ oεá indefinitely¼á anΣá thi≤ ì
  1630. proces≤á significantl∙á reduce≤ thσ timσ requireΣ t∩ instal∞á thσ ì
  1631. se⌠ oµ ZCPR▓ utilities.
  1632.  
  1633.           GENIN╙á itselµ mus⌠ bσ installeΣ b∙á GENINS¼á and¼á alì
  1634. thougΦ GENIN╙ doe≤ no⌠ requirσ al∞ oµ thσ parameters¼á ╔ havσ se⌠ ì
  1635. i⌠ u≡ t∩ declarσ al∞ parameter≤ necessary«á  Hence¼á a≤ ß genera∞ ì
  1636. rule¼á instal∞á GENIN╙ firs⌠ anΣ savσ you≥ installatioεá setting≤ ì
  1637. vißá <«á  Then¼á simpl∙á instal∞ eacΦ oµ thσ othe≥á utilitie≤á iε ì
  1638. successioεá b∙ usinτ ╛ t∩ se⌠ thσ digit-specifieΣ parameter≤á anΣ ì
  1639. usinτ thσ ┴ optioε t∩ se⌠ thσ utility-specifiπ parameters.
  1640. è
  1641.      4«á  Restorσá thσ setting≤ froφ thσ las⌠ savσ a≤ thσ curren⌠ ì
  1642. setting≤ fo≥ ß ne≈ utility
  1643.  
  1644.           Froφá before¼á thσá ╛á optioε i≤ useΣá t∩á restorσá thσ ì
  1645. parameter≤á saveΣ b∙ thσ ╝ optioε int∩ ß ne≈ utility«á  Iµ ╝á ha≤ ì
  1646. no⌠ beeε previousl∙ issueΣ durinτ thσ curren⌠ GENIN╙ run¼ theε aε ì
  1647. erro≥ messagσ wil∞ bσ printeΣ iµ thσ use≥ attempt≤ t∩ emplo∙á thσ ì
  1648. > option.
  1649.  
  1650.      5«á  Qui⌠á anΣ D∩ NO╘ Updatσ thσ utilit∙ o≥ Exi⌠ anΣá Updatσ ì
  1651. thσ curren⌠ utility
  1652.  
  1653.           Iµá thσ use≥ reall∙ ble≈ thσ proces≤ oµ installinτá thσ ì
  1654. curren⌠á utility¼á hσá caεá simpl∙ thro≈ awa∙ everythinτá hσá diΣ ì
  1655. without affecting the utility file on disk.
  1656.  
  1657.      6«á  Se⌠á othe≥ attribute≤ specifiπ t∩ thσá curren⌠á utilit∙ ì
  1658. whicΦ arσ no⌠ commoε t∩ thσ othe≥ ZCPR▓ utilities
  1659.  
  1660.           Thesσ parameter≤ arσ noteΣ wheε aε ┴ optioε appear≤á iε ì
  1661. thσá menu«á  Thesσá arσá uniquσ t∩ ß specifiπ utilit∙ o≥á se⌠á oµ ì
  1662. utilitie≤ anΣ arσ no⌠ affecteΣ b∙ thσ ╝ anΣ ╛ command≤ (onl∙á thσ ì
  1663. digit-selected parameters are affected by these commands).
  1664.  
  1665. 6.1  Sample GENINS Session
  1666.  
  1667.      Thσá followinτá GENIN╙á sessioε illustrate≤ thσá proces≤á oµ ì
  1668. utilit∙ installatioε extensively«á  Comment≤ arσ noteΣ ou⌠ t∩ thσ ì
  1669. right side as text preceeded by the "<<" symbol.
  1670.  
  1671.  
  1672. B4>genins genins         << Install GENINS first
  1673. GENINS Version 2.1       << This is probably NOT the version
  1674.                               << number which will be distributed
  1675.                               << with the ZCPR2 System
  1676. GENINS -- General Installation Program for ZCPR2 Utilities
  1677. Ready to Set Default Values   << It has found and read in the
  1678.                               << parameter section of the file
  1679.  
  1680. File Being Installed: GENINS  .COM
  1681. ** GENINS Flag/Value Setup **      << Menu Follows
  1682.         Select Standard Flags and Values
  1683.                 (* indicates unnecessary option) --
  1684.  
  1685.         P  Print Flags and Values       S  Setup ALL Flags and Values
  1686.         <  Save All Flags/Values        >  Restore All Flags/Values
  1687.         Q  Quit and Do Not Update       X  Exit and Optionally Update
  1688.  
  1689.         0  Setup Named Directory Data     5  Set Disk Allowed Flag
  1690.         1  Setup External Path Data       6  Set User Allowed Flag
  1691.         2  Setup Multiple Command Line    7  Setup Priv User Data
  1692.         3  Set Max Disk                   8  Set Current User/Disk Data
  1693.         4  Set Max User                   9  Set File DMA Address
  1694. èSetup Command (? for Menu)? P      << Print current params
  1695. **** Default Flag/Value Settings ****
  1696. Enable External Paths: Yes  External Path Address: 0040 Hex
  1697.    Internal Path is -- Empty
  1698. Enable Multiple Command Line Buffer: Yes  Buffer Address: FF00 Hex
  1699. Maximum Disk: D   Maximum User Number:  31
  1700. Disk Specification Allowed: Yes   User Spec Allowed: Yes
  1701. Base of Privileged User Areas:  10   Password: chdir
  1702. Current User/Disk Indicator: $   DMA Address for Disk I/O: 0080 Hex
  1703. Address of Memory-Resident Named Directory Buffer: FD00 Hex
  1704.    Number of Named Dirs Allowed:  64   Named Dir File: NAMES   .DIR
  1705.  
  1706. Setup Command (? for Menu)? S      << Set ALL Params in sequence
  1707.  
  1708. Address of Memory-Resident Named Directory Buffer: FD00 Hex
  1709.    Number of Named Dirs Allowed:  64   Named Dir File: NAMES   .DIR
  1710. ** Setup Questions **
  1711. 1  Address of Memory-Resident Named Directory Buffer
  1712.         Enter Hex Number or <RETURN> = None? fd00
  1713. 2  Number of Named Directories Permitted? 
  1714.         Enter Decimal Number or <RETURN> =  64? 
  1715. 3  Name of Named Directory File? 
  1716.         Enter only File Name and Type -- DIR: form will be ignored
  1717.         Directory File Name (<RETURN> = NAMES   .DIR)? 
  1718.  
  1719. Enable External Paths: Yes  External Path Address: 0040 Hex
  1720.    Internal Path is -- Empty
  1721. ** Setup Questions **
  1722. 1  Enable External Paths (Y/N/other=Y)? 
  1723. 1a Address of External Path in Hex (<RETURN> = 0040 Hex)? 
  1724. 2  Enable Internal Path (Y/N/other=Y)? 
  1725. 2a Define Internal Path Using Symbolic Notation --
  1726. 1.  Path Element (<CR>=Done)? a$
  1727. 2.  Path Element (<CR>=Done)? a15
  1728. 3.  Path Element (<CR>=Done)? 
  1729.  
  1730. Enable Multiple Command Line Buffer: Yes  Buffer Address: FF00 Hex
  1731. ** Setup Questions **
  1732. 1  Enable Multiple Command Line Buffer (Y/N/other=Y)? 
  1733. 1a Address of Multiple Command Line Buffer
  1734.         Enter Hex Number or <RETURN> = FF00 Hex? 
  1735.  
  1736. Maximum Disk: D   Maximum User Number:  31
  1737. ** Setup Questions **
  1738. 1  Maximum Disk Allowed? B
  1739.  
  1740. Maximum User Number:  31
  1741. ** Setup Questions **
  1742. 1  Maximum User Number Allowed (<RETURN> =  31)? 15
  1743.  
  1744. Disk Specification Allowed: Yes   User Spec Allowed: Yes
  1745. ** Setup Questions **
  1746. 1  Specification of Disk Allowed (Y/N/other=Y)? 
  1747.  
  1748. èUser Spec Allowed: Yes
  1749. ** Setup Questions **
  1750. 1  Specification of User Allowed (Y/N/other=Y)? 
  1751.  
  1752. Base of Privileged User Areas:  10   Password: chdir
  1753. ** Setup Questions **
  1754. 1  Base of Privileged User Areas (<RETURN> =  10)? 
  1755. 2  Privileged User Password? chdir
  1756.  
  1757. Current User/Disk Indicator: $   DMA Address for Disk I/O: 0080 Hex
  1758. ** Setup Questions **
  1759. 1  Current User/Disk Indicator? $
  1760.  
  1761. DMA Address for Disk I/O: 0080 Hex
  1762. ** Setup Questions **
  1763. 1  DMA Address for Disk I/O
  1764.         Enter Hex Number or <RETURN> = 0080 Hex? 
  1765.  
  1766.  
  1767. Setup Command (? for Menu)? P      << Print new settings
  1768. **** Default Flag/Value Settings ****
  1769. Enable External Paths: Yes  External Path Address: 0040 Hex
  1770.    Internal Path is -- A$: --> A 15:
  1771. Enable Multiple Command Line Buffer: Yes  Buffer Address: FF00 Hex
  1772. Maximum Disk: B   Maximum User Number:  15
  1773. Disk Specification Allowed: Yes   User Spec Allowed: Yes
  1774. Base of Privileged User Areas:  10   Password: chdir
  1775. Current User/Disk Indicator: $   DMA Address for Disk I/O: 0080 Hex
  1776. Address of Memory-Resident Named Directory Buffer: FD00 Hex
  1777.    Number of Named Dirs Allowed:  64   Named Dir File: NAMES   .DIR
  1778.  
  1779. Setup Command (? for Menu)? /      << Any invalid cmd gives menu
  1780. File Being Installed: GENINS  .COM << Reminder of file name
  1781. ** GENINS Flag/Value Setup **
  1782.         Select Standard Flags and Values
  1783.                 (* indicates unnecessary option) --
  1784.  
  1785.         P  Print Flags and Values       S  Setup ALL Flags and Values
  1786.         <  Save All Flags/Values        >  Restore All Flags/Values
  1787.         Q  Quit and Do Not Update       X  Exit and Optionally Update
  1788.  
  1789.         0  Setup Named Directory Data     5  Set Disk Allowed Flag
  1790.         1  Setup External Path Data       6  Set User Allowed Flag
  1791.         2  Setup Multiple Command Line    7  Setup Priv User Data
  1792.         3  Set Max Disk                   8  Set Current User/Disk Data
  1793.         4  Set Max User                   9  Set File DMA Address
  1794.  
  1795. Setup Command (? for Menu)? <      << Save params
  1796.  
  1797.  
  1798. Setup Command (? for Menu)? X      << Exit and Update
  1799. Do you want to save changes (Y/N/other=Y)? Y      << Yes, Update
  1800. Please Provide Name of Output File
  1801. Namσá oµ Filσ (<CR>=GENIN╙  .COM)┐á genins▓         <╝á Ne≈á filσ ì
  1802. Namσ oµ Outpu⌠ Filσ i≤ GENINS▓ .CO═ -- Verif∙ (Y/N/other=Y)┐ 
  1803. Writing File GENINS2 .COM to Disk --
  1804.  
  1805. Reading Block    95      << Numbers flash by as GENINS works
  1806. Writing Block    95
  1807. Please Provide Name of File to Install       << Ready to Continue
  1808. Name of File (<CR>=Abort)? mcopy        << New File
  1809. Ready to Set Default Values
  1810.  
  1811. File Being Installed: MCOPY   .COM
  1812. ** GENINS Flag/Value Setup **
  1813.         Select Standard Flags and Values
  1814.                 (* indicates unnecessary option) --
  1815.  
  1816.         P  Print Flags and Values       S  Setup ALL Flags and Values
  1817.         <  Save All Flags/Values        >  Restore All Flags/Values
  1818.         Q  Quit and Do Not Update       X  Exit and Optionally Update
  1819.  
  1820.         0  Setup Named Directory Data     5  Set Disk Allowed Flag
  1821.         1  Setup External Path Data       6  Set User Allowed Flag
  1822.         2  Setup Multiple Command Line    7  Setup Priv User Data
  1823.         3  Set Max Disk                   8  Set Current User/Disk Data
  1824.         4  Set Max User                   9  Set File DMA Address
  1825.  
  1826.         A  Set MCOPY Special Default Values
  1827.  
  1828. Setup Command (? for Menu)? >           << Restore params from
  1829.                                         << previous setting
  1830.  
  1831. Setup Command (? for Menu)? P           << Print
  1832. **** Default Flag/Value Settings ****
  1833. Enable External Paths: Yes  External Path Address: 0040 Hex
  1834.    Internal Path is -- A$: --> A 15:
  1835. Enable Multiple Command Line Buffer: Yes  Buffer Address: FF00 Hex
  1836. Maximum Disk: B   Maximum User Number:  15
  1837. Disk Specification Allowed: Yes   User Spec Allowed: Yes
  1838. Base of Privileged User Areas:  10   Password: chdir
  1839. Current User/Disk Indicator: $   DMA Address for Disk I/O: 0080 Hex
  1840. Address of Memory-Resident Named Directory Buffer: FD00 Hex
  1841.    Number of Named Dirs Allowed:  64   Named Dir File: NAMES   .DIR
  1842. Verify by Default: Yes
  1843. Inspect by Default: No
  1844. Quiet by Default: No
  1845. Multiple Run by Default: No
  1846. Default Destination Disk/User: C  0:
  1847.  
  1848.  
  1849. Setup Command (? for Menu)? X      << OK, so exit and update
  1850. Do you want to save changes (Y/N/other=Y)? N      << No save
  1851. Please Provide Name of File to Install       << New file
  1852. Name of File (<CR>=Abort)? wheel        << File Name
  1853. Ready to Set Default Values
  1854.  
  1855. File Being Installed: WHEEL   .COM
  1856. ** GENINS Flag/Value Setup **
  1857.         Select Standard Flags and Values
  1858.                 (* indicates unnecessary option) --
  1859.  
  1860.         P  Print Flags and Values       S  Setup ALL Flags and Values
  1861.         <  Save All Flags/Values        >  Restore All Flags/Values
  1862.         Q  Quit and Do Not Update       X  Exit and Optionally Update
  1863.  
  1864.         0* Setup Named Directory Data     5* Set Disk Allowed Flag
  1865.         1* Setup External Path Data       6* Set User Allowed Flag
  1866.         2* Setup Multiple Command Line    7  Setup Priv User Data
  1867.         3* Set Max Disk                   8* Set Current User/Disk Data
  1868.         4* Set Max User                   9* Set File DMA Address
  1869.  
  1870.         A  Set WHEEL Byte Address       << Note all the un-
  1871.                                    << necessary options and the
  1872.                                    << A option
  1873.  
  1874. Setup Command (? for Menu)? P
  1875. **** Default Flag/Value Settings ****
  1876. Base of Privileged User Areas:  10   Password: chdir
  1877. Address of Wheel Byte: 003B Hex
  1878.  
  1879. Setup Command (? for Menu)? X
  1880. Do you want to save changes (Y/N/other=Y)? 
  1881. Please Provide Name of Output File
  1882. Name of File (<CR>=WHEEL   .COM)? wheel2
  1883. Name of Output File is WHEEL2  .COM -- Verify (Y/N/other=Y)? 
  1884. Writing File WHEEL2  .COM to Disk --
  1885.  
  1886. Reading Block    10
  1887. Writing Block    10
  1888. Please Provide Name of File to Install
  1889. Name of File (<CR>=Abort)? 
  1890.  
  1891.  
  1892. B4>difµá genins2.com,genins.coφ          <╝ DIF╞ i≤ gooΣ t∩
  1893.                                          << compare withì
  1894. DIFF Versioε 1.6
  1895. Source File 1 -- B  4: GENINS2 .COM
  1896. Source File 2 -- B  4: GENINS  .COM
  1897.  Rel Offset   B  4: GENINS2 .COM     B  4: GENINS  .COM
  1898.  Hex    Dec       Hex  Dec Asc           Hex  Dec Asc
  1899. 0006      6        01    1  .             00    0  .
  1900. 0007      7        24   36  $             00    0  .
  1901. 0008      8        01    1  .             00    0  .
  1902. 0009      9        0F   15  .             00    0  .
  1903. 001A     26        02    2  .             04    4  .
  1904. 001B     27        0F   15  .             1F   31  .
  1905.  
  1906. B4>diff wheel2.com,wheel.com
  1907. DIFF  Version 1.6
  1908. Source File 1 -- B  4: WHEEL2  .COM
  1909. Source File 2 -- B  4: WHEEL   .COM
  1910. NO Differences Noted in Files
  1911.  
  1912.  
  1913.  
  1914.  
  1915.  
  1916.  
  1917.  
  1918.  
  1919.  
  1920.  
  1921.  
  1922.  
  1923.  
  1924.  
  1925.  
  1926.  
  1927.  
  1928.  
  1929.  
  1930.  
  1931.  
  1932.  
  1933.  
  1934.  
  1935.                This Page Intentionally Left Blank
  1936.  
  1937.  
  1938.  
  1939.  
  1940.  
  1941.  
  1942.  
  1943.                            Appendix A
  1944.  
  1945.                     ZCPR2 Distribution Files
  1946.  
  1947. Disk 1 --
  1948.  
  1949.     1 File:  ZCPR2  .░1  -- Size:     0K -- CRC: 00 00
  1950.     Comment: 
  1951.     2 File: SYSIO   .ASM -- Size:    29K -- CRC: 91 11
  1952.     Comment: Sample Redirectable I/O Driver Package
  1953.     3 File: ZCPR2   .ASM -- Size:    56K -- CRC: 4F D1
  1954.     Comment: Source to ZCPR2
  1955.     4 File: ZCPRHDR .LIB -- Size:    15K -- CRC: E6 29
  1956.     Comment: Header/Configuration File for ZCPR2
  1957.  
  1958. Disk 2 --
  1959.  
  1960.     1 File:  ZCPR2  .░2  -- Size:     0K -- CRC: 00 00
  1961.     Comment: 
  1962.     2 File: DU2     .ASM -- Size:    72K -- CRC: 19 DA
  1963.     Comment: Disk Utility
  1964.     3 File: HELP2   .ASM -- Size:    33K -- CRC: 16 19
  1965.     Comment: Online Documentation System
  1966.     4 File: LRUNZ   .ASM -- Size:    26K -- CRC: B8 6F
  1967.     Comment: Library-Oriented Extended Command Processor
  1968.     5 File: SUB2    .ASM -- Size:    31K -- CRC: 57 FB
  1969.     Comment: Disk-Based Command File Processor/Ext Cmd Proc
  1970.     6 File: ZEX     .ASM -- Size:    45K -- CRC: 09 11
  1971.     Comment: Memory-Based Command File Processor/Ext Cmd Proc
  1972.     7 File: ZEX     .ZEX -- Size:     5K -- CRC: 53 28
  1973.     Comment: Command File Used to Assemble ZEX
  1974.  
  1975.  
  1976.  
  1977. Disk 3 --
  1978.  
  1979.     1 File:  ZCPR2  .░3  -- Size:     0K -- CRC: 00 00
  1980.     Comment: 
  1981.     2 File: CCPLOC  .MAC -- Size:     5K -- CRC: FA DA
  1982.     Comment: CCP/BDOS/BIOS Locator Program
  1983.     3 File: CD      .MAC -- Size:     9K -- CRC: F5 5D
  1984.     Comment: Change Directory (Log Into Named Directory) Util
  1985.     4 File: COMPARE .MAC -- Size:    13K -- CRC: 2F 8A
  1986.     Comment: File Compare Utility
  1987.     5 File: CRC     .MAC -- Size:    20K -- CRC: 4C 09
  1988.     Comment: CRC Utility
  1989.     6 File: DEVICE  .MAC -- Size:    13K -- CRC: 92 0A
  1990.     Comment: Redirectable I/O Driver Select/Display Utility
  1991.     7 File: DIFF    .MAC -- Size:    17K -- CRC: 74 C2
  1992.     Comment: File Difference Listing Utility
  1993.     8 File: ECHO    .MAC -- Size:     6K -- CRC: 99 64
  1994.     Comment: Command Line Echo Utility
  1995.     9 File: ERASE   .MAC -- Size:    15K -- CRC: 25 6B
  1996.     Comment: File Erase Utility
  1997.    10 File: GENINS  .MAC -- Size:    43K -- CRC: B2 18
  1998.     Comment: Utility Installation Program
  1999.    11 File: IOLOADER.MAC -- Size:     7K -- CRC: 4F 23
  2000.     Comment: Redirectable I/O Driver Package Loader
  2001.    12 File: LD      .MAC -- Size:    10K -- CRC: 6C D4
  2002.     Comment: Memory-Based Named Directory Loader
  2003.    13 File: LDIRZ   .MAC -- Size:    12K -- CRC: FF 1B
  2004.     Comment: Library Directory Utility
  2005.    14 File: MCHECK  .MAC -- Size:    14K -- CRC: B1 12
  2006.     Comment: Menu Syntax Check Utility
  2007.    15 File: MCOPY   .MAC -- Size:    37K -- CRC: BA 14
  2008.     Comment: Multiple File Copy with Named Directories Utility
  2009.  
  2010.  
  2011.  
  2012. Disk 4 --
  2013.  
  2014.     1 File:  ZCPR2  .░4  -- Size:     0K -- CRC: 00 00
  2015.     Comment: 
  2016.     2 File: MENU    .CPR -- Size:     1K -- CRC: 18 6F
  2017.     Comment: Sample MENU.CPR File
  2018.     3 File: MENU    .MAC -- Size:    24K -- CRC: 0D BE
  2019.     Comment: Menu Command Preprocessor
  2020.     4 File: MKDIR   .MAC -- Size:    21K -- CRC: BE 0A
  2021.     Comment: Named Directory Create/Edit Utility
  2022.     5 File: PATH    .MAC -- Size:    14K -- CRC: 9F 91
  2023.     Comment: Path Display/Set Utility
  2024.     6 File: PROTECT .MAC -- Size:    18K -- CRC: EB 24
  2025.     Comment: File Protect Utility
  2026.     7 File: PWD     .MAC -- Size:    12K -- CRC: 1A 64
  2027.     Comment: Named Directory Environment Print Utility
  2028.     8 File: RECORD  .MAC -- Size:     7K -- CRC: DB 87
  2029.     Comment: Disk-Oriented Redirectable I/O Control Utility
  2030.     9 File: RENAME  .MAC -- Size:    18K -- CRC: 68 15
  2031.     Comment: File Rename Utility
  2032.    10 File: SINSFORM.MAC -- Size:     3K -- CRC: 3B E7
  2033.     Comment: General Header for ZCPR2 Utilities
  2034.    11 File: STARTUP .MAC -- Size:    10K -- CRC: D6 3F
  2035.     Comment: Command Line Insertion Utility
  2036.    12 File: TEMPLATE.MAC -- Size:    11K -- CRC: C5 DA
  2037.     Comment: ZCPR2 Utility Template
  2038.    13 File: TINIT   .MAC -- Size:    13K -- CRC: 9F 1E
  2039.     Comment: Terminal Init Program for TVI 950 CRT (uses Paths)
  2040.    14 File: WHEEL   .MAC -- Size:     6K -- CRC: 32 B6
  2041.     Comment: Wheel Set/Reset Utility
  2042.    15 File: XDIR3   .MAC -- Size:    39K -- CRC: 8C D9
  2043.     Comment: Extended Directory Display Utility
  2044.  
  2045.  
  2046.  
  2047. Disk 5 --
  2048.  
  2049.     1 File:  ZCPR2  .░5  -- Size:     0K -- CRC: 00 00
  2050.     2 File: CCPLOC  .COM -- Size:     2K -- CRC: A0 7F
  2051.     3 File: CD      .COM -- Size:     4K -- CRC: CF FC
  2052.     4 File: COMPARE .COM -- Size:     6K -- CRC: 00 1D
  2053.     5 File: CONFIG  .COM -- Size:    20K -- CRC: 44 4F
  2054.     6 File: CRC     .COM -- Size:     8K -- CRC: BB 23
  2055.     7 File: DEVICE  .COM -- Size:     4K -- CRC: 76 53
  2056.     8 File: DIFF    .COM -- Size:     6K -- CRC: E3 AF
  2057.     9 File: DU2     .COM -- Size:    10K -- CRC: 30 22
  2058.    10 File: ECHO    .COM -- Size:     2K -- CRC: C1 E9
  2059.    11 File: ERASE   .COM -- Size:     8K -- CRC: 00 7B
  2060.    12 File: GENINS  .COM -- Size:    14K -- CRC: 97 4D
  2061.    13 File: HELP    .COM -- Size:     4K -- CRC: 34 47
  2062.    14 File: IOLOADER.COM -- Size:     4K -- CRC: D3 C7
  2063.    15 File: LD      .COM -- Size:     6K -- CRC: F2 FC
  2064.    16 File: LDIRZ   .COM -- Size:     6K -- CRC: 98 7F
  2065.    17 File: LRUNZ   .COM -- Size:     2K -- CRC: B2 4D
  2066.    18 File: MCHECK  .COM -- Size:     6K -- CRC: A1 1D
  2067.    19 File: MCOPY   .COM -- Size:    12K -- CRC: 5A 81
  2068.    20 File: MENU    .COM -- Size:     2K -- CRC: DB E8
  2069.    21 File: MKDIR   .COM -- Size:     8K -- CRC: 22 60
  2070.    22 File: PATH    .COM -- Size:     6K -- CRC: ED 05
  2071.    23 File: PROTECT .COM -- Size:     8K -- CRC: CB 21
  2072.    24 File: PWD     .COM -- Size:     6K -- CRC: B6 32
  2073.    25 File: RECORD  .COM -- Size:     2K -- CRC: 6E 42
  2074.    26 File: RENAME  .COM -- Size:     8K -- CRC: 5A 09
  2075.    27 File: STARTUP .COM -- Size:     4K -- CRC: 98 04
  2076.    28 File: SUB     .COM -- Size:     4K -- CRC: 46 9D
  2077.    29 File: TEMPLATE.MAC -- Size:    12K -- CRC: C5 DA
  2078.    30 File: TINIT   .COM -- Size:     6K -- CRC: 60 62
  2079.    31 File: WHEEL   .COM -- Size:     2K -- CRC: D5 A0
  2080.    32 File: XDIR    .COM -- Size:    12K -- CRC: 1B E1
  2081.    33 File: ZEX     .COM -- Size:     6K -- CRC: 08 3E
  2082.  
  2083.  
  2084. Disk 6 --
  2085.  
  2086.     1 File:  ZCPR2  .░6  -- Size:     0K -- CRC: 00 00
  2087.     2 File: CFILES  .HLP -- Size:    22K -- CRC: 10 97
  2088.     3 File: COMPARE .HLP -- Size:     7K -- CRC: B3 F0
  2089.     4 File: CPMTR   .HLP -- Size:    24K -- CRC: 63 7B
  2090.     5 File: DU2     .HLP -- Size:    35K -- CRC: 5F 7B
  2091.     6 File: HELP    .HLP -- Size:     1K -- CRC: 15 97
  2092.     7 File: HELP2   .HLP -- Size:    22K -- CRC: 2D E1
  2093.     8 File: IO      .HLP -- Size:    14K -- CRC: D5 CA
  2094.     9 File: LU      .HLP -- Size:    27K -- CRC: 48 F2
  2095.    10 File: MCOPY   .HLP -- Size:    11K -- CRC: 96 9E
  2096.    11 File: MENU    .HLP -- Size:    29K -- CRC: 1C 39
  2097.  
  2098.  
  2099.  
  2100. Disk 7 --
  2101.  
  2102.     1 File:  ZCPR2  .░7  -- Size:     0K -- CRC: 00 00
  2103.     2 File: NDIRS   .HLP -- Size:    35K -- CRC: F8 19
  2104.     3 File: XDIR3   .HLP -- Size:    22K -- CRC: 21 DA
  2105.     4 File: Z2ALT   .HLP -- Size:    22K -- CRC: 25 85
  2106.     5 File: Z2RES   .HLP -- Size:     7K -- CRC: FA D4
  2107.     6 File: ZCPR2   .HLP -- Size:     6K -- CRC: 73 08
  2108.  
  2109.  
  2110.  
  2111.  
  2112.  
  2113.  
  2114.  
  2115.  
  2116.  
  2117.  
  2118.  
  2119.  
  2120.  
  2121.  
  2122.  
  2123.  
  2124.  
  2125.  
  2126.  
  2127.  
  2128.  
  2129.  
  2130.  
  2131.  
  2132.                This Page Intentionally Left Blank
  2133.  
  2134.  
  2135.  
  2136.  
  2137.  
  2138.