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