home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / sigm / vols000 / vol020 / sysmon.doc < prev    next >
Text File  |  1985-02-09  |  105KB  |  2,409 lines

  1. .HE                         ZUG VOL.2                               Page #
  2. .PO 0
  3. .MB 3
  4. .OP
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.                             PCE SYSTEMS SOFTWARE
  21.  
  22.  
  23.  
  24.                           PRELIMINARY USER'S MANUAL
  25.  
  26.                                      for
  27.  
  28.                              PCE SYSTEM MONITOR
  29.  
  30.                               Releases A and B
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.                                      by
  41.  
  42.                                  PCE SYSTEMS
  43.  
  44.                                  JUNE   1979
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.                       COPYRIGHT 1979  PCE SYSTEMS INC.
  56.                     4782 Dewey Drive, Fair Oaks, CA 95628
  57.  
  58.  
  59.  
  60.  
  61.  
  62.      PC┼á SYSTEM╙ INC«á iε thσ persoε oµ Mikσ Colson¼á ha≤ kindl∙ ì
  63. donateΣá thσá completσá sourcσ fo≥ thi≤ Monito≥á Prograφá t∩á thσ ì
  64. Pascal/┌ User≤ Group«  I⌠ caε bσ copied¼ altered¼ anΣ useΣ b∙ an∙ ì
  65. member¼ a⌠ thei≥ discretion¼ jus⌠ a≤ lonτ a≤ i⌠ i≤ non-commercia∞ ì
  66. no≥á profitable«á  Iεá al∞ othe≥ case≤ thσ followinτá Cop∙righ⌠ ì
  67. applies.
  68.  
  69. COPYRIGH╘á π 197╣ b∙ PC┼ SYSTEM╙ INC«á Al∞ right≤ reserved«á N∩ par⌠ oµá thi≤ ì
  70. publicatioε ma∙ bσ reproduced¼ storeΣ iε ß retrieva∞ systeφ o≥ transmitteΣ iε ì
  71. an∙ forφ o≥ b∙ an∙ mean≤ -- electronic¼á mechanical¼ photocopying¼ recording¼ ì
  72. o≥á otherwisσá -- withou⌠á thσ prio≥ writteε permissioε oµ PC┼á SYSTEM╙á INC«  ì
  73. witΦá thσá exceptioεá tha⌠á thσ encloseΣ softwarσá ma∙á bσá copieΣá int∩á thσ ì
  74. purchaser'≤ owε compute≥ systeφ fo≥ hi≤ owε use.
  75.  
  76. PC┼ SYSTEM╙ INC« assume≤ n∩ responsibilit∙ fo≥ thσ usσ oµ an∙ oµ thσ encloseΣ ì
  77. softwarσ iε thσ user'≤ system.
  78.  
  79. CREDITS:  Software written by Richard Lerseth of LEPAC SERVICES.
  80.  
  81. ┴á numbe≥ oµ companie≤ anΣ thei≥ tradσ mark≤ arσ mentioneΣ iε thi≤á document« ì
  82. Thesσ are:
  83.  
  84.        DAJEN, TELETEK  -  TM of Teletek inc., Rancho Cordova, Ca.
  85.  
  86.        CP/M  -  TM of Digital Research, Pacific Grove, Ca.
  87.  
  88.        TARBELL  -  TM of Tarbell Electronics, Carson, Ca.
  89.  
  90.        ZAPPLE  -  TM of Xitan Inc. (formerly TDL Inc.)
  91.  
  92.  
  93.  
  94.  
  95.                                   CONTENTS
  96.  
  97.                                   ========
  98.  
  99.  
  100.  
  101. 1.0             Introduction
  102.  
  103. 2.0             Monitor command subsystem
  104.  
  105. 3.0             Console subsystem
  106.  
  107. 4.0             Cassette subsystem
  108.  
  109. 5.0             Disk subsystem
  110.  
  111. 6.0             I/O vector subsystem
  112.  
  113. 7.0             Implementation
  114.  
  115. 8.0             User written commands
  116.  
  117.  
  118.  
  119.                                  APPENDICES
  120.  
  121.  
  122.  
  123. A               Monitor Source listings
  124. B               Monitor Symbol table
  125. C               Sample Routine listings
  126.  
  127. .HE USER'S MANUAL    ** PCE SYSTEM MONITOR **  Releases A and B **  Page #
  128.                              1.0 -- INTRODUCTION
  129.                              ===================
  130.  
  131.  
  132. PC┼á SYSTE═á MONITO╥á i≤á ßá completσ Z-8░ baseΣá monito≥á whicΦá support≤á ß ì
  133. keyboard¼á ß vide∩ display¼ ß printer¼ cassettσ I/O¼ anΣ Flopp∙ disδ I/O« Thσ ì
  134. monito≥ come≤ iε tw∩ configurations¼á Releasσ ┴ anΣ Releasσ B«á Releasσ ┴á i≤ ì
  135. supplieΣá oεá ßá cassettσ tapσ anΣ ha≤ residen⌠ cassettσ tapσá I/╧á routines« ì
  136. Releasσ ┬ i≤ supplieΣ oε ß CP/═ compatiblσ diskettσ anΣ ha≤ it≤ cassettσ tapσ ì
  137. I/╧ routine≤ callablσ a≤ transien⌠ command≤ whicΦ residσ oε ßá diskette«á Thσ ì
  138. monito≥á i≤á ßá modula≥á softwarσá packagσá whicΦá ha≤á separatσá independen⌠ ì
  139. subsytems«á Thesσ are║á thσ monito≥ commanΣ subsystem¼ thσ consolσ subsystem¼ ì
  140. thσ disδ I/╧ subsystem¼á anΣ thσ I/╧ vecto≥ subsystem« Iε addition¼ Releasσ ┴ ì
  141. contain≤ thσ cassettσ I/╧ subsystem« EacΦ oµ thσ separatσ section≤ havσ fron⌠ ì
  142. enΣá vecto≥ linkage≤ whicΦ providσ thσ communicatioε path≤ t∩ onσ anothe≥á a≤ ì
  143. wel∞á a≤ entrie≤ fo≥ use≥ writteε programs«á Iε particula≥ thσ Monito≥ Vecto≥ ì
  144. I/╧ subsyteφ provide≤ INTE╠ standarΣ I/╧ vecto≥ linkage≤ fo≥ thσ fou≥ logica∞ ì
  145. devices║ console¼ reader¼ punch¼ anΣ list.
  146.  
  147. Thσ monito≥ ha≤ ß "buffereΣ commanΣ processoró whicΦ allow≤ thσ use≥ t∩ builΣ ì
  148. hi≤ commanΣ oε thσ vide∩ displa∙ usinτ ful∞ tex⌠ editinτ capabilitie≤ througΦ ì
  149. keyboarΣ contro∞ commands.
  150.  
  151. Excludinτá thσá CP/═ BIOS¼á Releasσ ┴ oµ thσ monito≥ occupie≤ 6╦á oµá memory╗ ì
  152. Releasσá ┬ occupie≤ 5╦ oµ memory«á Thσ majo≥ portioε oµ thσá monito≥á commanΣ ì
  153. routine≤ residσ iε thi≤ memory«á Thσ res⌠ arσ transient¼á o≥ virtua∞ command≤ ì
  154. whicΦá residσá oεá disδá memory¼á anΣ arσ calleΣ u≡ wheεá needeΣá iεá overla∙ ì
  155. fashion« Thσ transien⌠ command≤ arσ accesseΣ viß thσ COP┘ anΣ VERIF┘ command≤ ì
  156. whicΦ loaΣ thσ specifieΣ filσ anΣ vector≤ t∩ it«á Thσ filσ namσ mus⌠á conforφ ì
  157. t∩ thσ followinτ format:
  158.  
  159.                  COPYSD.SMC  -  for copy commands.
  160.                  VRFYSD.SMC  -  for verify commands.
  161.  
  162. ááááááááwherσá [S▌ anΣ [D▌ arσ thσ sourcσ anΣ destinatioε code≤ a≤ defineΣ iε ì
  163. ááááááááthσá detaileΣ descriptioε oµ thesσ command≤ iε sectioε 2«á Notσá tha⌠ ì
  164. ááááááááthσá filσá namσ mus⌠ conforφ t∩ thσ abovσ forma⌠ bu⌠ yo⌡á ma∙á desigε ì
  165. ááááááááyou≥ custoφ routine≤ t∩ d∩ othe≥ thaε cop∙ o≥ verify.
  166.  
  167. Thi≤ manua∞ wil∞ givσ thσ instruction≤ needeΣ t∩ implemen⌠ anΣ usσ you≥ newl∙ ì
  168. acquireΣ monitor«á Thσ difference≤ betweeε Release≤ ┴ anΣ ┬ wil∞ bσ explaineΣ ì
  169. iεá thσá appropiatσá section≤á oµ thi≤ manua∞ wheε anΣá iµá the∙á affec⌠á thσ ì
  170. operatioε oµ you≥ monitor.
  171.  
  172. Wσá hopσ yo⌡ likσ thi≤ packagσ anΣ tha⌠ i⌠ wil∞ improvσá you≥á human/compute≥ ì
  173. communicatioεá linkage≤ anΣ al∞ thosσ gooΣ things«áì
  174.  
  175.                       2.0 -- MONITOR COMMAND SUBSYSTEM
  176.                       ================================
  177.  
  178.  
  179. 2.1 -- GENERAL DESCRIPTION
  180. ==========================
  181.  
  182. Thσá monito≥ ha≤ thσ capabilit∙ oµ havinτ 2╢ primar∙ command≤ - onσ fo≥á eacΦ ì
  183. lette≥á oµ thσ alphabet«á Iε addition¼á eacΦ primar∙ commanΣ allow≤ secondar∙ ì
  184. option≤á whicΦ expanΣ thσ commanΣ se⌠ t∩ ß mucΦ greate≥ number«á Withiεá thi≤ ì
  185. sectioεá i≤á ß commanΣ processo≥ whicΦ allow≤ yo⌡ t∩ builΣá command≤á oεá thσ ì
  186. vide∩ display« Thσ monito≥ firs⌠ wil∞ promp⌠ yo⌡ fo≥ ß ne≈ commanΣ b∙ sendinτ ì
  187. thσá messagσ "ENTE╥ COMMANDó t∩ thσ vide∩ display«á Theε i⌠ place≤ thσ curso≥ ì
  188. a⌠á thσ beginninτ oµ thσ nex⌠ vide∩ line«á Iµ yo⌡ madσ aε erro≥ iεá thσá las⌠ ì
  189. command¼á thσá monito≥ wil∞ senΣ aε erro≥ messagσ defininτ thσ erro≥ anΣ theε ì
  190. promp⌠ yo⌡ fo≥ anothe≥ commanΣ entry«á Yo⌡ havσ aε optioε oµ movinτ u≡ t∩ thσ ì
  191. prio≥ commanΣ usinτ curso≥ control≤ anΣ correctinτ you≥ mistake¼á o≥ yo⌡á caε ì
  192. ente≥ ß ne≈ commanΣ a⌠ thσ presen⌠ curso≥ position.
  193.  
  194. A≤ thσ commanΣ i≤ beinτ entereΣ yo⌡ havσ ß numbe≥ oµ editinτ command≤ a⌠ you≥ ì
  195. disposal«á Somσ oµ thesσ are║ movσ curso≥ right¼ left¼ up¼ o≥ down╗ clea≥ thσ ì
  196. line╗á deletσá ßá character╗á bacδ spacσ anΣ deletσ ß character╗á anΣá inser⌠ ì
  197. spaces«á T∩á enΣ thσ entr∙ proces≤ anΣ initiatσ thσ command¼á jus⌠ pres≤á thσ ì
  198. RETUR╬ ke∙ fo≥ ß onσ linσ commanΣ o≥ thσ CTRL-╥ fo≥ ß tw∩ linσá command«á Thσ ì
  199. curso≥á caε bσ an∙ positioε oε thσ linσ (to≡ linσ fo≥ tw∩ linσá command)«á Iε ì
  200. processinτ thσ commanΣ thσ monito≥ firs⌠ find≤ whicΦ vide∩ linσ thσ curso≥ i≤ ì
  201. on¼á turn≤á ofµá thσá cursor¼á transfer≤ thσ tota∞ line(s⌐ int∩á thσá commanΣ ì
  202. buffer¼á theε turn≤ oε thσ curso≥ again« Thσ monito≥ theε proceed≤ t∩ analyzσ ì
  203. commanΣá iε thσ buffer«á Firs⌠ i⌠ determine≤ thσ significan⌠ portioεá oµá thσ ì
  204. command« Leadinτ anΣ trailinτ blank≤ (spaces⌐ arσ stripped¼ anΣ thσ remainde≥ ì
  205. i≤ deblockeΣ int∩ subfield≤ whicΦ arσ delimiteΣ b∙ imbeddeΣ spaces¼á periods¼ ì
  206. commas¼á semicolons¼á colons¼á plu≤ anΣ minu≤ signs¼á asterisks¼ slashes¼ anΣ ì
  207. equa∞ signs.
  208.  
  209. Whilσá thσ monito≥ i≤ processinτ  anΣ executinτ length∙ commands¼á thσ ESCAP┼ ì
  210. ke∙á caε bσ presseΣ t∩ escapσ froφ thσ commanΣ bacδ int∩ commanΣ entr∙á mode« ì
  211. A≤á aε example¼á ente≥ thσ commanΣ "─ - "«á Thi≤ commanΣ wil∞ displa∙ al∞á oµ ì
  212. memor∙ iε hexadecima∞ forma⌠ anΣ wil∞ takσ somσ timσ t∩ complete«á Pres≤á thσ ì
  213. ESCAP┼á ke∙á whilσ thi≤ i≤ happeninτ anΣ yo⌡ wil∞ escapσ froφ thσ proces≤á oµ ì
  214. displayinτ memory.
  215.  
  216. 2.2 -- SUBSYSTEM INTERFACE
  217. ==========================
  218.  
  219.      Thσá subsysteφá interfacσá organizatioε a⌠ thσ fron⌠á oµá thσá subsysteφ ì
  220. contains¼á iε order¼á threσ entr∙ jum≡ vectors¼ tw∩ addres≤ pointer≤ fo≥ worδ ì
  221. areß anΣ stack¼ ß tablσ oµ 2╢ primar∙ commanΣ vecto≥ addresses¼ ß tablσ oµ 3╢ ì
  222. cop∙ commanΣ vecto≥ addresses¼ anΣ ß tablσ oµ 1╢ verif∙ commanΣ addresses.
  223.  
  224.      Entry jump table:
  225.  
  226.                 ORG     MBASE   ;BASE OF MONITOR
  227.         ENTRY1  JP      START   ;COLD START OF MONITOR
  228.         ENTRY2  JP      RESTRT  ;WARM START OF MONITOR
  229.         ENTRY3  JP      FMEM    ;MEMORY TEST FOR ZAPPLE
  230.  
  231.      Variable work area and monitor stack pointer addresses:
  232.  
  233.         MWORK   DEFW    WBASE   ;VARIABLE WORK AREA POINTER
  234.         STACK   DEFW    SBASE   ;MONITOR STACK POINTER
  235.  
  236.      Primary Command vector address table of 26 addresses:
  237.  
  238.         MJUMP   DEFW    ASSIGN  ;PRIMARY COMMAND A
  239.                  :        :        :        :    :
  240.                 DEFW    NAVAIL  ;PRIMARY COMMAND Z
  241.  
  242.      Copy Command vector address table of 36 addresses:
  243.  
  244.         CJUMP   DEFW    CPM     ;COPYTT COMMAND
  245.                  :       :         :       :
  246.                 DEFW    CPM     ;COPYUU COMMAND
  247.  
  248.      Verify Command vector address table of 16 addresses:
  249.  
  250.         VJUMP   DEFW    CPM     ;VRFYTT COMMAND
  251.                   :      :         :       :
  252.                 DEFW    CPM     ;VRFYUU COMMAND
  253.  
  254.      Thσá variablσ worδ spacσ pointe≥ define≤ thσ monito≥á worδá space«á Thi≤ ì
  255. pointe≥á mus⌠ bσ thσ samσ fo≥ al∞ thσ subsystems«á Thσ monito≥ worδ spacσá i≤ ì
  256. defineΣ a≤ follows:
  257.  
  258.         WBASE-77  -- IOBYTE ASSIGNMENT
  259.         WBASE-76  -- SUBFIELD PARAMETER TABLE
  260.                        TEN FOUR BYTE BLOCKS,
  261.                        WHERE FOR THE KTH BLOCK:
  262.                          K+0 -- DELIMITER CHAR
  263.                          K+1 -- SUBFIELD ADDR
  264.                          K+3 -- NO. OF BYTES IN SUBFIELD
  265.         WBASE-12  -- DECODED ADDRESS #1
  266.         WBASE-10  -- DECODED ADDRESS #2
  267.         WBASE-8   -- DECODED ADDRESS #3
  268.         WBASE-6   -- NUMBER OF ADDRESSES DECODED
  269.         WBASE-5   -- SUBFIELD BLOCK POINTER
  270.         WBASE-4   -- TOTAL NO. OF SUBFIELDS DEBLOCKED
  271.         WBASE-3   -- NO. OF SIGNIFICANT BYTES IN COMMAND
  272.         WBASE-2   -- ADDR OF 1ST SIGNIFICANT BYTE IN BUFFER
  273.         WBASE     -- START OF COMMAND LINE BUFFER AREA
  274.         WBASE+127 -- END OF COMMAND LINE BUFFER AREA
  275.  
  276. 2.3 -- COMMAND FORMATS
  277. ======================
  278.  
  279. The generalized form of the monitor command set is:
  280.  
  281.             P####[.SD][.K####] [AAAA[-BBBB[-CCCC]]] [F..F]
  282.             ------------------ -------------------- ------
  283.                    //                 //             //
  284.         command field      1st parameter       2nd parameter
  285.                                field               field
  286.  
  287. Thσá commanΣá i≤ composeΣ oµ threσ subfield≤ whicΦ arσ separateΣ b∙á imbeddeΣ ì
  288. spaces╗á thσ commanΣ field¼á thσ 1s⌠ paramente≥ field¼á anΣ thσ 2nΣ paramete≥ ì
  289. field«á Subfield≤á encloseΣ iε bracket≤ [▌ arσ optiona∞ a≤ specifieΣá b∙á thσ ì
  290. individua∞ commands.
  291.  
  292.         2.3.▒ -- COMMAN─ FIELD║á Thσ commanΣ fielΣ i≤ composeΣ oµ thσ primar∙ ì
  293. commanΣá characte≥ [P▌ anΣ tw∩ optiona∞ optioε subfield≤ [.SD▌ anΣ [.K]«á Thσ ì
  294. primar∙ commanΣ characte≥ mus⌠ bσ aε alphabetiπ characte≥ [A..Z]« Thi≤ allow≤ ì
  295. 2╢á primar∙ commands«á Thσ presen⌠ versioε oµ thσ monito≥ doe≤ no⌠á implemen⌠ ì
  296. al∞ oµ these«á UnuseΣ primar∙ command≤ caε bσ useΣ b∙ yo⌡ fo≥ you≥ owε custoφ ì
  297. routines«á Seσá sectioε 8.░ oε ho≈ yo⌡ caε makσ usσ oµ them«á An∙á numbe≥á oµ ì
  298. arbitrar∙ alphanumeriπ character≤ (designateΣ b∙ ####⌐ caε follo≈ thσ primar∙ ì
  299. commanΣ character«á Tw∩ type≤ oµ optioε subfield≤ arσ availablσ t∩ expanΣ thσ ì
  300. commanΣ set«á Thesσ arσ delimiteΣ b∙ ß perioΣ iε thσ commanΣ field« Thσ firs⌠ ì
  301. optioε fielΣ [.SD▌ i≤ useΣ onl∙ a≤ par⌠ oµ thσ COP┘ anΣ VERIF┘ command≤ whicΦ ì
  302. requirσá ß SOURCE/DESTINATIO╬ codσ t∩ allo≈ 3╢ type≤ oµ cop∙ anΣ 1╢ type≤á oµ ì
  303. verif∙á commands.Thi≤á subfielΣá i≤ explaineΣ iε detai∞á unde≥á thσá detaileΣ ì
  304. explanatioε oµ thσ tw∩ commands¼á COP┘ anΣ VERIFY«á Thσ seconΣ typσ oµ optioε ì
  305. subfielΣá [.K▌á act≤á a≤á secondar∙ commanΣ fielΣ t∩á multipl∙á eacΦá primar∙ ì
  306. commanΣ int∩ 2╢ additiona∞ commands« A≤ witΦ thσ primar∙ commanΣ subfielΣ an∙ ì
  307. numbe≥ oµ arbitrar∙ alphanumeriπ character≤ caε follo≈ thσ secondar∙á commanΣ ì
  308. character«á Cop∙ anΣ verif∙ command≤ requirσ thσ [.SD▌ optioε beforσ thσ [.K▌ ì
  309. option.
  310.         2.3.▓ -- FIRS╘ PARAMETE╥ FIELD║ Thi≤ fielΣ mus⌠ bσ separateΣ froφ thσ ì
  311. commanΣá fielΣ b∙ onσ spacσ anΣ onσ spacσ only«á Man∙ oµ thσ monito≥ command≤ ì
  312. requirσá 1,2¼á o≥á │á addres≤ o≥ bytσ field≤ t∩ bσ entereΣá a≤á par⌠á oµá thσ ì
  313. command« Thesσ field≤ arσ expecteΣ t∩ bσ iε hexadecima∞ forma⌠ [0-9,A-F]« Thσ ì
  314. monito≥á processe≤ eacΦ addres≤ (byte⌐ fielΣ unti∞ i⌠ encounter≤ ßá delimite≥ ì
  315. o≥á ßá hexadecima∞á error«á Iµá thσ addres≤ i≤ greate≥ thaεá fou≥á lega∞á he° ì
  316. character≤ [ex║á 10FEA2]¼ thσ monito≥ use≤ thσ leas⌠ significan⌠ ┤ character≤ ì
  317. [FEA2]« ┴ bytσ fielΣ woulΣ reducσ t∩ thσ leas⌠ significan⌠ ▓ character≤ [A2]« ì
  318. Iµá morσ thaε onσ addres≤ (byte⌐ i≤ entered¼á eacΦ additiona∞ addres≤á (byte⌐ ì
  319. fielΣ mus⌠ bσ delimiteΣ froφ thσ prio≥ b∙ ß dasΦ (minu≤ sign)« Therσ mus⌠ no⌠ ì
  320. bσá an∙ othe≥ typσ oµ embeddeΣ delimite≥ iε thσ field«á Yo⌡ ma∙á defaul⌠á thσ ì
  321. addresse≤á (bytes⌐ b∙ usinτ thσ dasΦ b∙ itselµ o≥ iε fron⌠ oµ o≥ bacδ oµá thσ ì
  322. addres≤á field«á Thσá firs⌠ addres≤ fielΣ default≤ t∩ 0000H«á Thσ seconΣá anΣ ì
  323. thirΣ default≤ t∩ FFFFH« Thi≤ lead≤ t∩ ß shorthanΣ wa∙ oµ enterinτ addresses.
  324.  
  325.         Examples: 1.  [--]       =  [0000-FFFF-FFFF]
  326.                   2.  [-BBBB-]   =  [0000-BBBB-FFFF]
  327.                   3.  [AAAA-]    =  [AAAA-FFFF]
  328.  
  329. Thσá presen⌠ versioε oµ thσ monito≥ wil∞ onl∙ proces≤ u≡ t∩ threσá addresses« ì
  330. Thesσá addresse≤á arσá storeΣ awa∙ iε thσ monito≥ RA═ worδá spacσá fo≥á late≥ ì
  331. processing«á Yo⌡ caε acces≤ thesσ b∙ knowinτ wherσ t∩ looδ fo≥ them«á Seσ thσ ì
  332. sourcσá listinτ oµ thσ monito≥ iε Appendi°  A¼á anΣ sectioε 8.░ fo≥ idea≤á iε ì
  333. thσ usσ oµ these.
  334.  
  335.         2.3.│ -- SECON─ PARAMETE╥ FIELD║ Thi≤ fielΣ i≤ requireΣ b∙ thσ SEARC╚ ì
  336. command«á ┴á detaileΣá descriptioε oµ thi≤ fielΣ a≤ useΣ b∙á thσá commanΣá i≤ ì
  337. containeΣ iε thσ explanatioε oµ thσ SEARC╚ command.
  338.  
  339. 2.4 -- PRIMARY COMMAND LIST
  340. ===========================
  341.  
  342.  
  343. ALPHA   COMMAND                         DESCRIPTION.
  344.  
  345.   A     A#### AA             ááAssigεá Inte∞á StandarΣá I/╧á Device¼áá (Inte∞ ì
  346. ááááááááááááááááááááááááááááááácompatiblσ IOBYTE).
  347.  
  348.   B     B#### AA             ááLocku≡á systeφ witΦ ke∙ codσ AA«á  A┴ mus⌠á bσ ì
  349. áááááááááááááááááááááááááááááááentereΣ agaiε t∩ unlocδ thσ system.
  350.  
  351.   C     C####.SD[.K] [F..F]  ááCop∙á froφá sourcσá ╙ t∩ destinatioεá ─á usinτ ì
  352. áááááááááááááááááááááááááááááááparamete≥ [.K▌ o≥ fielΣ [F..F▌ wherσ required.
  353.  
  354.   D     D####.K AAAA-BBBB    ááDispla∙ memor∙ froφ AAA┴ t∩ BBB┬ usinτá optioε ì
  355. ááááááááááááááááááááááááááááááá.╦á wherσá .╦ i≤ .╚ fo≥á hexadecimal¼á .┴á fo≥ ì
  356. áááááááááááááááááááááááááááááááASCII¼ .├ fo≥ combineΣ ASCI╔ ª hex¼ anΣ .╘ fo≥ ì
  357. áááááááááááááááááááááááááááááááText.
  358.  
  359.   E     E####.K AAAA         ááEnte≥ t∩ memor∙ startinτ a⌠ addres≤ AAA┴ usinτ ì
  360. áááááááááááááááááááááááááááááááoptioε .╦ wherσ .╦ i≤ .╚ fo≥ hexadecimal¼á anΣ ì
  361. ááááááááááááááááááááááááááááááá.╘ fo≥ TEXT.
  362.  
  363.   F     F#### AAAA-BBBB[-CC] ááFil∞ memor∙ froφ AAA┴ t∩ BBB┬ witΦ CC,[00╚á iµ ì
  364. ááááááááááááááááááááááááááááááá-C├ no⌠ present].
  365.  
  366.   G     G#### AAAA           ááJum≡á t∩á addres≤ AAA┴ witΦ returε addres≤á t∩ ì
  367. áááááááááááááááááááááááááááááááthσ monito≥ pusheΣ oε thσ stack.
  368.  
  369.   H     H#### AAAA-BBBB      ááHexadecima∞ add/subtrac⌠ BBB┬ to/froφ AAAA
  370.  
  371.   I     I#### AA             ááInpu⌠ froφ por⌠ AA
  372.  
  373.   J     J#### AAAA           ááJum≡á t∩ addres≤ AAA┴ witΦ returε jum≡á vecto≥ ì
  374. ááááááááááááááááááááááááááááááát∩ thσ monito≥ placeΣ a⌠ addres≤ a⌠ 0000
  375.  
  376.   K     ***                  ááUndefined
  377.  
  378.   L     L####.K AAAA-BBBB    ááLis⌠ oε printer¼ memor∙ froφ AAA┴ t∩ BBB┬ witΦ ì
  379. áááááááááááááááááááááááááááááááoptioεá .K«á Option≤ arσ samσ a≤ ╦ iεá Displa∙ ì
  380. ááááááááááááááááááááááááááááááácommand.
  381.  
  382.   M     M#### AAAA-BBBB-CCCC ááMovσ memor∙ blocδ AAAA-BBB┬ t∩ CCCC.
  383.  
  384.   N     ***                  ááUndefined.
  385.  
  386.   O     O#### AA-BB          ááOutpu⌠ t∩ por⌠ A┴ witΦ bytσ BB.
  387.  
  388.   P     P#### AAAA-BBBB-CCCC ááPrograφá EPRO═ startinτ a⌠ addres≤á CCC├á witΦ ì
  389. ááááááááááááááááááááááááááááááámemor∙ blocδ AAAA-BBBB.
  390.  
  391.   Q     ***                  ááUndefined.
  392.  
  393.   R     Release A only - Release B uses C####.TM
  394.  
  395.         R####                ááReaΣ cassettσ absolute.
  396.         R#### AAAA           ááReaΣ cassettσ biased.
  397.         R#### AAAA-BBBB      ááReaΣ cassettσ specific.è
  398.   S     S#### AAAA-BBBB F..F ááSearcΦá memor∙á blocδ AAAA-BBB┬ fo≥ he°á fielΣ ì
  399. áááááááááááááááááááááááááááááááF..F.
  400.         S#### AAAA-BBBB 'F..F  SearcΦ memor∙ blocδ AAAA-BBB┬ fo≥ ASCI╔á fielΣ ì
  401. áááááááááááááááááááááááááááááááF..F.
  402.  
  403.   T     T####                ááFinΣ firs⌠ contiguou≤ blocδ oµ RA═ memory.
  404.         T####.K AAAA-BBBB    ááTes⌠á RA═ memor∙ blocδ AAAA-BBB┬ witΦ tes⌠á .╦ ì
  405. áááááááááááááááááááááááááááááááwherσá .╦ i≤ .╤ fo≥ quicδ tes⌠ fo≥ harΣ memor∙ ì
  406. áááááááááááááááááááááááááááááááerrors¼á anΣá ├á fo≥á completσá tes⌠á fo≥á bi⌠ ì
  407. ááááááááááááááááááááááááááááááápatterε sensitivity
  408.  
  409.   U     ***                  ááUndefined.
  410.  
  411.   V     V####.SD [F..F]      ááVerif∙á sourcσá ╙á witΦá destinatioεá ─á usinτ ì
  412. áááááááááááááááááááááááááááááááparamente≥ fielΣ [F..F▌ wherσ required.
  413.  
  414.   W     Realease A only - Release B uses C####.MT
  415.  
  416.         W#### AAAA-BBBB      ááWritσá t∩á cassettσá memor∙á blocδá AAAA-BBBB« ì
  417. áááááááááááááááááááááááááááááááChecksummeΣ Teleteδ [Dajen▌ format.
  418.  
  419.   X     ***                  ááUndefined.
  420.  
  421.   Y     ***                  ááUndefined.
  422.  
  423.   Z     ***                  ááUndefined.
  424.  
  425. 2.5 -- DETAILED DESCRIPTION OF THE COMMANDS
  426. ===========================================
  427.  
  428.  
  429. .CP 15
  430.         ============
  431. 2.5.1   A  :  ASSIGN
  432.         ============
  433.  
  434.         FORMAT:         A#### AA
  435.  
  436.         EXAMPLES:       ASSIGN 00
  437.                         A 34
  438.  
  439.      Assigεá IOBYTE«á [AA▌á i≤ thσ ne≈ [IOBYTE▌ bytσá assignment«á Thi≤á bytσ ì
  440. define≤á thσ logica∞ t∩ physica∞ devicσ mappinτ whicΦ follow≤ thσá INTE╠á I/╧ ì
  441. vecto≥ standarΣ fo≥ fou≥ logica∞ I/╧ devices║á console¼á reader¼á punch¼á anΣ ì
  442. list«á EacΦá logica∞á devicσá caεá bσ assigneΣ t∩ onσ oµá fou≥á physica∞á I/╧ ì
  443. devices«á Completσá descriptioεá oµá thσ IOBYT┼ assignmen⌠á i≤á explaineΣá iε ì
  444. sectioε 6.0¼ "I/╧ VECTO╥ SUBSYSTEM."
  445.  
  446.  
  447. .CP 19
  448.         =========
  449. 2.5.2   B  :  BYE
  450.         =========
  451.  
  452.         FORMAT:         B#### AA
  453.  
  454.         EXAMPLES:       BYE 34
  455.                         BYEBYE
  456.                         B 3FCD2
  457.  
  458.      Locδá u≡á thσ systeφ unde≥ powe≥ t∩ kee≡ thσ compute≥á froφá beinτá useΣ ì
  459. temporaril∙á t∩á savσ an∙ prograφ iε memor∙ froφ beinτá disturbeΣá accidentl∙ ì
  460. durinτá interruptions«á [AA▌á i≤á thσ hexadecima∞ ke∙ whicΦ wil∞á unlocδá thσ ì
  461. systeφ a⌠ ß late≥ time«á Thσ systeφ wil∞ wai⌠ iε ß loo≡ unti∞ i⌠ see≤ thσ ke∙ ì
  462. again«á Thσ ke∙ i≤ onσ singlσ byte«á So¼ iµ yo⌡ ente≥ ß strinτ oµ hexadecima∞ ì
  463. character≤á greate≥á thaεá tw∩á character≤á long¼á theεá onl∙á thσá las⌠á tw∩ ì
  464. character≤á iε thσ strinτ arσ useΣ fo≥ thσ key«á Iε thσ thirΣá examplσá abovσ ì
  465. [D2H▌á i≤ thσ key«á Iµ yo⌡ senΣ thσ commanΣ iε thσ seconΣ examplσ above¼á thσ ì
  466. monito≥ wil∞ assumσ thσ ke∙ i≤ [00H].
  467.  
  468.  
  469. .CP 26è        ==========
  470. 2.5.3   C  :  COPY
  471.         ==========
  472.  
  473.         FORMAT:         C####[.SD][.K####][F..F]
  474.  
  475.         EXAMPLES:       C.MM 1000-2000-3000
  476.                         COPY.MC 1000-2000
  477.  
  478.      Cop∙ froφ ß sourcσ t∩ ß destination«á Thi≤ commanΣ i≤ ß generalizeΣ movσ ì
  479. oµ datß t∩ anΣ froφ si° defineΣ mediums«á Thesσ are║á [T▌ - Tapσ drive¼ [D▌ - ì
  480. Disδ drive¼á [M▌ - Memory¼á [C▌ - Consolσ I/O¼á [P▌ - Printer¼ anΣ [U▌ - Use≥ ì
  481. defineΣ medium«á Thσ source/destinatioε codσ [SD▌ define≤ thσ mediß involved« ì
  482. Thirt∙ si° combination≤ arσ possible«á Thesσ caε mos⌠ readil∙ bσ showε a≤ ß ╢ ì
  483. ╪ ╢ matrix.
  484.  
  485.                  T -   TT   DT   MT   CT   PT   UT
  486.                  D -   TD   DD   MD   CD   PD   UD
  487.      DESTINATION M -   TM   DM   MM   CM   PM   UM
  488.                  C -   TC   DC   MC   CC   PC   UC
  489.                  P -   TP   DP   MP   CP   PP   UP
  490.                  U -   TU   DU   MU   CU   PU   UU
  491.                        :    :    :    :    :    :
  492.                        T    D    M    C    P    U
  493.                                  SOURCE
  494.  
  495. .CP 16
  496.      Thσ tw∩ characte≥ [SD▌ codσ i≤ decodeΣ int∩ aε inde° t∩ thσ cop∙á vecto≥ ì
  497. table«á Thσ monito≥ theε obtain≤ thσ vecto≥ addres≤ iε thσ tablσ anΣ jump≤ t∩ ì
  498. tha⌠ address« Thσ tablσ reside≤ jus⌠ afte≥ thσ primar∙ commanΣ vecto≥ table.
  499.  
  500.      Onl∙á somσ oµ thσ cop∙ routine≤ residσ permanentl∙ iε memor∙ a≤ par⌠á oµ ì
  501. thσ monito≥ commanΣ subsystem«á Thσ res⌠ oµ thσ cop∙ routine≤ arσ expecteΣ t∩ ì
  502. residσá iεá CP/═ file≤ a≤ transien⌠ commands«á ┴ CP/═ filσ routinσ i≤á loadeΣ ì
  503. int∩ memor∙ a⌠ [0100H▌ anΣ theε executed«á Thσ transien⌠ commanΣ wil∞á vecto≥ ì
  504. bacδ t∩ thσ monito≥ wheε i⌠ i≤ finished«á Thσ cop∙ command≤ whicΦ arσ defineΣ ì
  505. a≤á resident¼á vecto≥á t∩ routine≤ whicΦ arσ pointeΣ t∩ b∙ alternatσá primar∙ ì
  506. commanΣ vectors«á Additiona∞ parameter≤ arσ needeΣ fo≥ eacΦ residen⌠á commanΣ ì
  507. a≤á specifieΣ b∙ it≤ alternatσ primar∙ command«á Thi≤ i≤ supplieΣ througΦ thσ ì
  508. fielΣá [F..F]«á Thσ fielΣ [F..F▌ mus⌠ bσ identica∞ t∩ thσá relateΣá alternatσ ì
  509. primar∙á command«á Thσá transien⌠ command≤ usuall∙ d∩ no⌠ requirσá additiona∞ ì
  510. parameter≤ a≤ par⌠ oµ thσ commanΣ line«á Thesσ routine≤ normall∙ wil∞á promp⌠ ì
  511. yo⌡ fo≥ thσ additiona∞ informatioε required.
  512.  
  513. .CP 19è     The resident copy commands are:
  514.  
  515.         1. COPY.TM [AAAA[-BBBB]]     READ Command (Release A only)
  516.         2. COPY.MT AAAA-BBBB         WRITE Command (Release B only)
  517.         3. COPY[.MM] AAAA-BBBB-CCCC  MOVE Command
  518.         4. COPY.MC[.K] AAAA-BBBB     DISPLAY Command
  519.         5. COPY.MP[.K] AAAA-BBBB     LIST Command
  520.         6. COPY.CM[.K] AAAA          ENTER Command
  521.  
  522.         Subfield≤á encloseΣá iε [▌ arσ optiona∞ anΣá arσ ì
  523. ááááááááexplaineΣ unde≥ thσ specifieΣ residen⌠ command.
  524.  
  525.      Man∙á oµá thσá transien⌠ cop∙ command≤ wil∞á bσá availablσá a≤á optiona∞ ì
  526. routine≤á fo≥á thσá monitor«á Thσá remainde≥á oµ thσá cop∙á command≤á ma∙á bσ ì
  527. implementeΣ b∙ you«á Sectioε 8.░ outline≤ thσ procedure≤ needeΣ t∩á implemen⌠ ì
  528. residen⌠á anΣá CP/═ filσ routine≤ fo≥ ne≈ commands«á Iε addition¼á sincσá thσ ì
  529. residen⌠ cop∙ command≤ poin⌠ t∩ thσ READ¼á WRITE¼á MOVE¼á DISPLAY¼á LIS╘á AN─ ì
  530. ENTE╥á routines╗á theεá thσ Alphß primar∙ command≤ [R,W,M,D,L,E▌á whicΦá als∩ ì
  531. poin⌠ t∩ thesσ routine≤ caε bσ useΣ fo≥ you≥ owε custoφ commands.
  532.  
  533.  
  534. .CP 40è        =============
  535. 2.5.4   D  :  DISPLAY
  536.         =============
  537.  
  538.         FORMATS:        D####[.K] AAAA-BBBB
  539.                         C####.MC[.K] AAAA-BBBB
  540.  
  541.         EXAMPLES:       DISPLAY 0000-2000
  542.                         D.A -
  543.                         DUMP.COMBINED 200-
  544.                         COPY.MC.TEXT 7000-7100
  545.  
  546.      Displa∙á memor∙ usinτ forma⌠ optioε [.K]«á Thi≤ commanΣ wil∞ displa∙á oε ì
  547. thσá vide∩á screeεá thσá specifieΣ memor∙ blocδ [AAAA-BBBB▌ iεá onσá oµá fou≥ ì
  548. format≤á [H,A,C,o≥ T]«á Iµ forma⌠ fielΣ [.K▌ i≤ no⌠ presen⌠ iεá thσá command¼ ì
  549. theεá thσá monito≥á default≤á t∩ [.H]«á ┴ COP┘ commanΣá i≤á availablσá a≤á aε ì
  550. alternativσ t∩ thσ DISPLA┘ command.
  551.      Thσ displa∙ format≤ arσ a≤ follows:
  552.  
  553. áááááááá[.H▌  -  Hexadecima∞ format« Content≤ oµ memor∙ i≤ displayeΣ 1╢ byte≤ ì
  554. áááááááápe≥ line¼ headeΣ b∙ thσ addres≤ oµ thσ firs⌠ bytσ oµ thσ line.
  555.  
  556. áááááááá[.A▌á  -  ASCI╔ format«á Thσ content≤ oµ memor∙ i≤ displayeΣ 3▓ byte≤ ì
  557. áááááááápe≥ line¼á headeΣ b∙ thσ addres≤ oµ thσ firs⌠ bytσ oµ thσ line« ASCI╔ ì
  558. áááááááácontro∞á character≤á arσá displayeΣá a≤á period≤á [.]«á Iµá thσá mos⌠ ì
  559. áááááááásignifican⌠á bi⌠ i≤ higΦ theε thσ ASCI╔ equivalen⌠ wil∞ bσá displayeΣ ì
  560. ááááááááiε reversσ vide∩ mode.
  561.  
  562. áááááááá[.C▌  -  CombineΣ format« Thσ content≤ oµ memor∙ i≤ displayeΣ ╕ byte≤ ì
  563. áááááááápe≥á line¼á firs⌠ iε hexadecima∞ format¼á theε iε ASCI╔á format«á Thσ ì
  564. ááááááááaddres≤ oµ thσ firs⌠ bytσ oµ thσ linσ i≤ displayeΣ a⌠ thσ heaΣ oµ thσ ì
  565. ááááááááline.
  566.  
  567. áááááááá[.T▌á  -  Tex⌠á format«á Thσ content≤ oµ memor∙á i≤á displayeΣá unde≥ ì
  568. áááááááácompletσá contro∞á oµ embeddeΣ ASCI╔ contro∞ byte≤ withiε thσá memor∙ ì
  569. ááááááááblocδ beinτ displayed«á Yo⌡ shoulΣ usσ thi≤ forma⌠ oµ displa∙ onl∙ oε ì
  570. áááááááámemor∙ whicΦ ha≤ knowε textua∞ content« WilΣ thing≤ happeε iµ yo⌡ tr∙ ì
  571. áááááááát∩ displa∙ nontextua∞ memory«á Yo⌡ ma∙ ge⌠ int∩ aε infinitσ loo≡á duσ ì
  572. áááááááát∩ thσ recursivσ naturσ oµ thσ messagσ macr∩ processo≥ oµ thσ Consolσ ì
  573. ááááááááSubsystem« Seσ sectioε 3.┤ fo≥ detaileΣ explanation.
  574.  
  575.  
  576. .CP 38è        ===========
  577. 2.5.5   E  :  ENTER
  578.         ===========
  579.  
  580.         FORMATS:        E####[.K] AAAA
  581.                         C####.CM[.K] AAAA
  582.  
  583.         EXAMPLES:       ENTER 3000
  584.                         E.A 4000
  585.                         COPY.CM.HEX 7000
  586.  
  587.      Ente≥ datß t∩ memor∙ froφ thσ console«á Thi≤ commanΣ allow≤ yo⌡ t∩ ente≥ ì
  588. t∩á memor∙á o≥á changσá thσ content≤ oµ memor∙ witΦ keyboarΣá inpu⌠á datßá iε ì
  589. hexadecima∞á forma⌠á [.H]¼á o≥á ASCI╔ tex⌠ forma⌠ [.T▌á startinτá a⌠á addres≤ ì
  590. [AAAA]« Iµ thσ ENTE╥ forma⌠ fielΣ [.K▌ i≤ no⌠ presen⌠ iε thσ commanΣ theε thσ ì
  591. monito≥á default≤ t∩ [.H]«á ┴ COP┘ commanΣ i≤ availablσ a≤ aε alternativσá t∩ ì
  592. thσ ENTE╥ command.
  593.  
  594.      Thσ ENTE╥ format≤ arσ a≤ follows:
  595.  
  596. áááááááá[.H▌á  -  Ente≥ Hexadecimal║á Thi≤ forma⌠ allow≤ yo⌡ t∩á displa∙á thσ ì
  597. áááááááácontent≤ oµ memor∙ onσ bytσ a⌠ ß timσ startinτ a⌠ addres≤ [AAAA]« Yo⌡ ì
  598. ááááááááma∙áá changσá thσá content≤á oµá thσá memor∙á locatioεá b∙áá enterinτ ì
  599. ááááááááhexadecima∞á character≤ tw∩ a⌠ ß timσ (fo≥ onσ byte)«á Yo⌡ ma∙ bypas≤ ì
  600. ááááááááan∙ memor∙ locatioε b∙ pressinτ thσ SPAC┼ BAR«á Iµ yo⌡ madσ ß mistakσ ì
  601. ááááááááiεá enterinτá ß byte¼á yo⌡ ma∙ bacδ u≡ t∩ thσá previou≤á locatioεá b∙ ì
  602. áááááááápressinτá thσá BAC╦ SPAC┼ KEY«á Thσ monito≥ wil∞ repea⌠á thσá presen⌠ ì
  603. áááááááálocatioεá anΣá it≤á content≤á iµ yo⌡ pres≤ an∙ ke∙á whicΦá i≤á no⌠á ß ì
  604. ááááááááhexadecima∞ key« T∩ exi⌠ froφ thi≤ commanΣ jus⌠ pres≤ thσ RETUR╬ KEY.
  605.  
  606. áááááááá[.T▌á  -  Ente≥ TEXT║á Thi≤ forma⌠ allow≤ yo⌡ t∩ ente≥ thσ ful∞ ASCI╔ ì
  607. áááááááácharacte≥ se⌠ includinτ thσ contro∞ characters« A⌠ present¼ therσ arσ ì
  608. áááááááán∩ editinτ capabilitie≤ unde≥ thi≤ format«á Thσ ASCI╔ character≤á arσ ì
  609. ááááááááentereΣá sequentiall∙ startinτ a⌠ addres≤ [AAAA▌ a≤ yo⌡ ke∙ theφ int∩ ì
  610. ááááááááyou≥ keyboard« T∩ exi⌠ froφ thi≤ commanΣ pres≤ thσ [ctrl-A▌ ke∙ pair« ì
  611. ááááááááThi≤ ASCI╔ characte≥ i≤ thσ las⌠ bytσ entereΣ int∩ memor∙ beforσá thσ ì
  612. ááááááááterminatioεá oµá thσá command«á Thσá addres≤ oµá thσá las⌠á entr∙á i≤ ì
  613. áááááááádisplayeΣ fo≥ you≥ convenience.
  614.  
  615.  
  616. .CP 13
  617.         ==========
  618. 2.5.6   F  :  FILL
  619.         ==========
  620.  
  621.         FORMAT:         F#### AAAA-BBBB[-CC]
  622.  
  623.         EXAMPLES:       FILL 0-200
  624.                         F -7000-FF
  625.  
  626.      Fil∞ memor∙ blocδ [AAAA-BBBB▌ witΦ bytσ [CC]¼á o≥ iµ [CC▌ i≤ no⌠ presen⌠ ì
  627. fil∞ witΦ ZEROs.
  628.  
  629.  
  630. .CP 12è        ==========
  631. 2.5.7   G  :  GOTO
  632.         ==========
  633.  
  634.         FORMAT:         G#### AAAA
  635.  
  636.         EXAMPLES:       GOTO F000
  637.                         GO -
  638.  
  639.      Jum≡ t∩ memor∙ locatioε [AAAA▌ anΣ begiε t∩ execute«á Thσ addres≤ t∩ thσ ì
  640. restar⌠ locatioε oµ thσ monito≥ i≤ pusheΣ ont∩ thσ monitor'≤ stack«á ┴ returε ì
  641. instructioε iε thσ vectoreΣ prograφ wil∞ theε vecto≥ yo⌡ bacδ t∩ thσ monitor.
  642.  
  643.  
  644. .CP 13
  645.         =========
  646. 2.5.8   H  :  HEX
  647.         =========
  648.  
  649.         FORMAT:         H#### AAAA-BBBB
  650.  
  651.         EXAMPLES:       HEXMATH 2000-3000
  652.                         H 3333-5555
  653.  
  654.      AdΣá anΣ subtrac⌠ hexadecima∞ addresse≤ [AAAA▌ anΣ [BBBB]«á Thσá answer≤ ì
  655. wil∞ bσ iε iε two'≤ complemen⌠ 1╢ bit-hexadecima∞ format« Thσ additioε resul⌠ ì
  656. oµ AAA┴ anΣ BBB┬ i≤ displayeΣ witΦ ß plu≤ [+▌ iε fron⌠ oµ it« Thσ subtractioε ì
  657. oµ BBB┬ froφ AAA┴ i≤ displayeΣ nex⌠ witΦ ß minu≤ [-▌ iε fron⌠ oµ it.
  658.  
  659.  
  660. .CP 15
  661.         ===========
  662. 2.5.9   I  :  INPUT
  663.         ===========
  664.  
  665.         FORMAT:         I#### AA
  666.  
  667.         EXAMPLES:       INPUT 6C
  668.                         I 3
  669.  
  670.      Inpu⌠á froφ por⌠ [AA]«á Thi≤ commanΣ wil∞ immediatel∙ reaΣ por⌠ [AA▌ anΣ ì
  671. displa∙á thσá content≤á iε hexadecimal«á Thσ monito≥ wil∞á theεá wai⌠á fo≥á ß ì
  672. keyboarΣá entr∙á oµ eithe≥ ß SPAC┼ BA╥ o≥ RETURN«á Thσ SPAC┼ BA╥á entr∙á wil∞ ì
  673. causσá thσá monito≥ t∩ rereaΣ thσ por⌠ anΣ agaiε displa∙á thσá contents«á Thσ ì
  674. RETUR╬á entr∙ wil∞ le⌠ thσ monito≥ exi⌠ thi≤ command«á Al∞ othe≥ ke∙á entrie≤ ì
  675. arσ ignored.
  676.  
  677.  
  678. .CP 14
  679.          ==========
  680. 2.5.10   J  :  JUMP
  681.          ==========
  682.  
  683.         FORMAT:         J#### AAAA
  684.  
  685.         EXAMPLES:       JUMP B000
  686.                         J 0
  687.  
  688.      Jum≡á t∩ adres≤ [AAAA▌ anΣ star⌠ executing«á Thσ restar⌠ addres≤ oµá thσ ì
  689. monito≥á i≤á loadeΣá a≤á ß jum≡ vecto≥ iε thσ firs⌠á threσá memor∙á location≤ ì
  690. startinτ a⌠ [0000H▌ a≤ C│ L╠ H╚ wherσ L╠ anΣ H╚ arσ thσ lo≈ anΣ higΦ byte≤ oµ ì
  691. thσá addres≤á AAAA«á ┴ jum≡ froφ thσ executeΣ prograφ t∩ thi≤á locatioεá wil∞ ì
  692. vecto≥ yo⌡ bacδ t∩ thσ monitor.è
  693.  
  694. .CP 3
  695.          ==============
  696. 2.5.11   K  :  NOT USED
  697.          ==============
  698.  
  699.  
  700. .CP 16
  701.          ==========
  702. 2.5.12   L  :  LIST
  703.          ==========
  704.  
  705.         FORMATS:        L####[.K] AAAA-BBBB
  706.                         C####.MP[.K] AAAA-BBBB
  707.  
  708.         EXAMPLES:       LIST 2000-4000
  709.                         L.C -
  710.                         COPY.MP.TEXT 5000-5100
  711.  
  712.      Lis⌠á t∩ thσ printe≥ memor∙ blocδ [AAAA-BBBB▌ usinτ forma⌠ optioεá [.K]« ì
  713. Thi≤ commanΣ i≤ identica∞ t∩ thσ DISPLA┘ commanΣ witΦ thσ onl∙ exceptioε tha⌠ ì
  714. thσ printe≥ i≤ turneΣ on«á Thσ memor∙ content≤ arσ als∩ routeΣ t∩ thσ printe≥ ì
  715. a≤á wel∞á a≤ t∩ thσ vide∩ screen«á A≤ witΦ thσ DISPLA┘ commanΣá therσá i≤á aε ì
  716. alternativσ COP┘ commanΣ fo≥ thi≤ command.
  717.  
  718.  
  719. .CP 20
  720.          ==========
  721. 2.5.13   M  :  MOVE
  722.          ==========
  723.  
  724.         FORMATS:        M#### AAAA-BBBB-CCCC
  725.                         C####[.MM] AAAA-BBBB-CCCC
  726.  
  727.         EXAMPLES:       MOVE 0-100-1000
  728.                         M -1000-2000
  729.                         COPY.MM F000-F3FF-A000
  730.  
  731.      Movσ memor∙ blocδ [AAAA-BBBB▌ t∩ ß differen⌠ memor∙ locatioε startinτ a⌠ ì
  732. addres≤á [CCCC]«á Thi≤ commanΣ i≤ ß standarΣ memor∙ blocδ movσ whicΦ ha≤á thσ ì
  733. capabilit∙á oµá overlayinτ ove≥ thσ origina∞ memor∙ blocδ withou⌠á destroyinτ ì
  734. thσ content≤ beinτ moved«á Thσ movσ i≤ no⌠ automaticall∙ verifieΣ becausσá oµ ì
  735. thσ overla∙ feature«á Iµ yo⌡ neeΣ t∩ verif∙ thσ movσ (assuminτ ß non-overlaiΣ ì
  736. move⌐ theε usσ thσ VERIFY.M═ command«á Bσ carefu∞ witΦ thi≤ command¼ sincσ i⌠ ì
  737. caεá overla∙á an∙á memor∙á fielΣá sucΦá a≤á thσá monitor'≤á stacδá space«á Aε ì
  738. alternativσ cop∙ commanΣ i≤ availablσ fo≥ thi≤ command«á Thσ cop∙ [.SD▌ fielΣ ì
  739. ma∙ bσ lef⌠ ou⌠ oµ thσ commanΣ field.
  740.  
  741.  
  742. .CP 3
  743.          ==============
  744. 2.5.14   N  :  NOT USED
  745.          ==============
  746.  
  747.  
  748. .CP 14è         ============
  749. 2.5.15   O  :  OUTPUT
  750.          ============
  751.  
  752.         FORMAT:         O#### AA[-BB]
  753.  
  754.         EXAMPLES:       OUTPUT 6C-FF
  755.                         O 6D
  756.  
  757.      Outpu⌠á t∩ por⌠ [AA▌ witΦ bytσ [BB],[00╚ iµ [-BB▌ i≤ no⌠ presen⌠ iεá thσ ì
  758. command]«á Thσá monito≥á immediatel∙ output≤ thσ bytσ theε wait≤ fo≥á yo⌡á t∩ ì
  759. pres≤á onσá oµ tw∩ key≤ oε thσ keyboard«á Pressinτ thσ SPAC┼ BA╥á cause≤á thσ ì
  760. monito≥ t∩ re-outpu⌠ thσ byte«á Pressinτ thσ RETUR╬ KE┘ cause≤ thσ monito≥ t∩ ì
  761. exi⌠ thi≤ command« Al∞ othe≥ ke∙ entrie≤ arσ ignored.
  762.  
  763.  
  764. .CP 16
  765.          =============
  766. 2.5.16   P  :  PROGRAM
  767.          =============
  768.  
  769.         FORMAT:         P#### AAAA-BBBB-CCCC
  770.  
  771.         EXAMPLES:       PROGRAM 1000-2000-8000
  772.                         PROM -1000-D000
  773.  
  774.      Prograφá EPROM≤á startinτ a⌠ addres≤ [CCCC▌ witΦ thσ content≤ oµá memor∙ ì
  775. blocδ [AAAA-BBBB]« Thi≤ commanΣ wil∞ loo≡ througΦ thσ memor∙ blocδ 12╕ times¼ ì
  776. copyinτ eacΦ bytσ int∩ thσ EPROM«á Thi≤ commanΣ i≤ compatiblσ witΦ Cromemco'≤ ì
  777. BYTESAVER≤ ▒ anΣ 2«á Yo⌡ ma∙ ruε int∩ somσ incompatiblitie≤ witΦ othe≥á EPRO═ ì
  778. progamme≥ modules.
  779.      Thσá EPROM≤ arσ verifieΣ immediatel∙ afte≥ programming«á Yo⌡ ma∙á escapσ ì
  780. froφ programminτ b∙ pressinτ thσ ESCAP┼ key.
  781.  
  782.  
  783. .CP 3
  784.          ==============
  785. 2.5.17   Q  :  NOT USED
  786.          ==============
  787.  
  788.  
  789. .CP 16
  790.          ==========
  791. 2.5.18   R  :  READ     Release A only:
  792.          ==========
  793.  
  794.         FORMATS:        R#### [AAAA[-BBBB]]
  795.                         C####.TM [AAAA[-BBBB]]
  796.  
  797.         EXAMPLES:       READ
  798.                         R 1000
  799.                         READTAPE 8000-A000
  800.                         COPY.TM
  801.  
  802.      ReaΣá froφá cassettσ tapσ t∩ memory«á  Thi≤ commanΣ wil∞ reaΣ ßá TELETE╦ ì
  803. [DAJEN▌á o≥ TARBEL╠ formatteΣ cassettσ tape«á Threσ option≤ arσ availablσá t∩ ì
  804. you╗á reaΣá absolute¼á reaΣ biased¼á anΣ reaΣ specific«á Thσ presen⌠á versioε ì
  805. control≤ onl∙ thσ Teleteδ UCRI«
  806.  
  807.  
  808. .CP 19è     READ ABSOLUTE
  809.      =============
  810.  
  811. áááááThi≤á optioε i≤ thσ standarΣ reaΣ commanΣ t∩ inpu⌠ ßá TELETE╦á formatteΣ ì
  812. ááááátapσ file« Jus⌠ ente≥ [R####▌ oε thσ commanΣ line« Thσ TELETE╦ formatteΣ ì
  813. ááááátapσá filσá contain≤ thσ informatioε needeΣ t∩ loaΣ thσ tapσá filσá int∩ ì
  814. ááááámemory«á Thσ firs⌠ fou≥ byte≤ oε thσ tapσ filσ arσ thσ beginninτ addres≤ ì
  815. áááááoµ memor∙ wherσ thσ filσ i≤ t∩ bσ loaded¼á anΣ thσ numbe≥ oµ byte≤ t∩ bσ ì
  816. áááááloaded«á Thσ beginninτ addres≤ i≤ assumeΣ t∩ bσ iε INTE╠ format¼ tha⌠ i≤ ì
  817. áááááthσá leas⌠ significan⌠ bytσ firs⌠ anΣ thσ mos⌠ significan⌠ bytσá second« ì
  818. áááááThσá nex⌠á tw∩ byte≤ arσ thσ numbe≥ oµ byte≤ iε thσ filσ t∩á bσá loaded« ì
  819. áááááHoweve≥ thσ filσ sizσ i≤ assumeΣ t∩ bσ ordereΣ witΦ thσ mos⌠ significan⌠ ì
  820. ááááábytσá firs⌠ theε thσ leas⌠ significan⌠ bytσ second«á Thσ monito≥ obtain≤ ì
  821. áááááthesσ fou≥ byte≤ anΣ set≤ u≡ thσ loo≡ indexing¼á theε continue≤ t∩á reaΣ ì
  822. áááááthσá res⌠á oµ thσ filσ unti∞ i⌠ i≤ al∞ in¼á accordinτ t∩ thσá fou≥á bytσ ì
  823. áááááinformation«á Onσ morσ bytσ i≤ theε read«á Thi≤ i≤ thσ checksuφ byte« I⌠ ì
  824. ááááái≤á compareΣá witΦ thσ runninτ checksuφ thσ monito≥ calculate≤ whilσá i⌠ ì
  825. áááááread≤ thσ file« Eithe≥ ß completσ o≥ checksuφ erro≥ messagσ i≤ displayeΣ ì
  826. ááááádependinτ oε thσ result≤ oµ thσ compare.
  827.  
  828.  
  829. .CP 11
  830. áááááREA─ BIASED
  831. ááááá===========
  832.  
  833. áááááThi≤á optioε allow≤ yo⌡ t∩ reaΣ aε absolutσ TELETE╦ formatteΣ filσá int∩ ì
  834. ááááámemor∙á a⌠á ß differen⌠ locatioε othe≥ thaε specifieΣ b∙ thσá tapσá filσ ì
  835. áááááinformation«á Thσ commanΣ forma⌠ i≤ [R###ú AAAA]« Thσ 1╢ bi⌠ bia≤ [AAAA▌ ì
  836. ááááái≤ addeΣ t∩ thσ tapσ file'≤ beginninτ address«á An∙ carr∙ overflo≈á froφ ì
  837. áááááthσá additioεá i≤á ignored«á T∩ determinσ thσ prope≥ bia≤á usσá thσá HE╪ ì
  838. áááááARITHMETI├ command«á Fo≥ example¼á iµ thσ tapσ filσ beginninτ addres≤ i≤ ì
  839. ááááá7000╚ anΣ yo⌡ wanteΣ t∩ loaΣ i⌠ a⌠ 5000H¼ theε usinτ [╚ 5000-7000▌ woulΣ ì
  840. ááááágivσ yo⌡ [+C00░  -E000]« Thereforσ thσ bia≤ i≤ E000H.
  841.  
  842.  
  843. .CP 13
  844. áááááREA─ SPECIFIC
  845. ááááá=============
  846.  
  847. áááááThi≤á optioεá allow≤á yo⌡ t∩ reaΣ ß TARBEL╠ compatiblσ tapσá filσá o≥á ß ì
  848. áááááTELETE╦á formatteΣ tapσ file«á Thσ commanΣ forma⌠ i≤ [R###úá AAAA-BBBB]« ì
  849. áááááThσá monito≥ wil∞ reaΣ iε thσ filσ unti∞ thσ memor∙ blocδ [AAAA-BBBB▌ i≤ ì
  850. áááááfilled«á Therσ i≤ n∩ checksuφ checkinτ witΦ thi≤ option«á Iµ yo⌡ attemp⌠ ì
  851. ááááát∩á reaΣá ßá TELETE╦ formatteΣ tapσá file¼á thσá tapσá filσá informatioε ì
  852. ááááá(beginninτá addres≤ anΣ filσ size⌐ i≤ reaΣ int∩ memory╗á s∩ accoun⌠á fo≥ ì
  853. ááááátheφá wheε yo⌡ reaΣ iε thσ file«á Iµ yo⌡ attemp⌠ t∩ reaΣ ß filσ whicΦ i≤ ì
  854. ááááásmalle≥ thaε thσ specifieΣ memor∙ blocδ [AAAA-BBBB]¼ yo⌡ ma∙ locδ u≡ thσ ì
  855. áááááreaΣá routine«á Iµ thi≤ happen≤ jus⌠ pres≤ thσ escapσ ke∙ t∩á exi⌠á froφ ì
  856. áááááthi≤ command.
  857.  
  858.  
  859. .CP 29è         ============
  860. 2.5.19   S  :  SEARCH
  861.          ============
  862.  
  863.         FORMAT:         S#### AAAA-BBBB [']F..F
  864.  
  865.         EXAMPLES:       SEARCH 1000-2000 DB-03
  866.                         S - 'MARY
  867.  
  868.      SearcΦá memor∙ blocδ [AAAA-BBBB▌ fo≥ fielΣ [F..F]«á Iµ aε apostrophσ ['▌ ì
  869. i≤ inserteΣ iε fron⌠ oµ thσ fielΣ [F..F]¼ thσ fielΣ i≤ assumeΣ t∩ bσ aε ASCI╔ ì
  870. characte≥ field«á Otherwise¼á thσ fielΣ i≤ assumeΣ t∩ bσ ß hexadecima∞ field« ì
  871. Thσ fielΣ caε bσ a≤ biτ a≤ yo⌡ caε makσ i⌠ withiε thσ confine≤ oµ thσ commanΣ ì
  872. line¼ o≥ tw∩ line≤ usinτ thσ alternatσ return.
  873.  
  874.      Thσá ASCI╔ fielΣ ma∙ havσ embeddeΣ blank≤ (o≥ spaces⌐ bu⌠ ßá blanδá mus⌠ ì
  875. no⌠á enΣá thσá field«á Thσ commanΣ processo≥ ignore≤ trailinτ blank≤á iεá thσ ì
  876. commanΣ line.
  877.  
  878.      Thσá hexadecima∞á fielΣá mus⌠ bσ groupeΣ witΦá bi-he°á characte≥á field≤ ì
  879. separateΣ b∙ minu≤ sign≤ [-▌ o≥ blank≤ █ ]«á (ex║á DB-12-34-A│ 4╡ 6╖ FF)«á Iµ ì
  880. therσá arσá morσá thaε tw∩ he° character≤ pe≥ mino≥á field¼á theεá thσá leas⌠ ì
  881. significan⌠á tw∩ character≤ arσ useΣ b∙ thσ monitor«á Thσ res⌠ oµá character≤ ì
  882. arσ truncated« (ex║ DB69┤ woulΣ bσ reduceΣ t∩ 94).
  883.  
  884.      Thσá monito≥á wil∞á searcΦ thσ specifieΣ memor∙ blocδá anΣá displa∙á thσ ì
  885. startinτ addres≤ oµ an∙ matches«á ┴ searcΦ oµ entirσ memor∙ fo≥ an∙ onσá bytσ ì
  886. usuall∙á take≤á les≤ thaε 1░ seconds«á ┴ shor⌠ hanΣ wa∙ oµá searchinτá entirσ ì
  887. memor∙ i≤ [╙ - F..F]« Tr∙ thi≤ command║ [╙ - 00].
  888.  
  889.  
  890. .CP 32è         ==========
  891. 2.5.20   T  :  TEST
  892.          ==========
  893.  
  894.         FORMAT:         T####[.K] [AAAA-BBBB]
  895.  
  896.         EXAMPLES:       TEST
  897.                         TEST.Q 7000-8000
  898.                         T.C -3FFF
  899.  
  900.      Tes⌠ RA═ memory« Threσ option≤ arσ available« Thesσ are║ [.F]-finΣ firs⌠ ì
  901. contiguou≤ blocδ oµ RA═ memory╗ [.Q]-quickl∙ tes⌠ specifieΣ RA═ memory╗ [.C]-ì
  902. completel∙ tes⌠ specifieΣ RA═ memory« Iµ thσ optioε fielΣ [.K▌ i≤ no⌠ presen⌠ ì
  903. iε thσ commanΣ line¼ thσ monito≥ default≤ t∩ optioε [.F].
  904.  
  905.      [.F▌á - FinΣ thσ firs⌠ contiguou≤ blocδ oµ RA═ memory«á Thi≤ optioε i≤ ß ì
  906. nondestructivσ tes⌠ whicΦ wil∞ displa∙ thσ beginninτ anΣ endinτ addresse≤á oµ ì
  907. thσá memor∙á blocδ found«á Iε usinτ thi≤ optioε thσ monito≥ mus⌠á no⌠á residσ ì
  908. withiε thσ firs⌠ contiguou≤ blocδ areß iµ yo⌡ arσ usinτ ß RA═ versioε oµ thi≤ ì
  909. monitor« Thσ addres≤ fielΣ [AAAA-BBBB▌ i≤ ignoreΣ iε thi≤ option.
  910.  
  911.      [.Q▌á - Quickl∙ tes⌠ thσ specifieΣ RA═ memor∙ blocδ [AAAA-BBBB▌ fo≥ harΣ ì
  912. memor∙ errors«á Thi≤ optioε write≤ [55H▌ theε [AAH▌ int∩ eacΦ memor∙ locatioε ì
  913. withiε thσ specifieΣ blocδ theε compare≤ thσ locatioε t∩ thσ writσ bytσá [55╚ ì
  914. o≥ AAH▌ displayinτ an∙ error≤ found« Thi≤ i≤ ß destructivσ test╗ tha⌠ is¼ thσ ì
  915. orignina∞ content≤ beforσ thσ tes⌠ i≤ destroyed.
  916.  
  917.      [.C▌á - Completel∙á tes⌠ thσ specifieΣ RA═ memor∙ blocδ [AAAA-BBBB▌á fo≥ ì
  918. bi⌠á patterε sensitivity«á Thi≤ optioε i≤ thσ samσ a≤ thσ quicδá tes⌠á excep⌠ ì
  919. tha⌠ al∞ 25╢ value≤ oµ ß bytσ arσ useΣ sequentiall∙ froφ [00H▌ t∩ [FFH]« Thi≤ ì
  920. optioεá wil∞ takσ somσ timσ t∩ complete¼á iµ yo⌡ arσ testinτ largσ block≤á oµ ì
  921. memory« Yo⌡ ma∙ interrrup⌠ thσ tes⌠ a⌠ an∙ timσ b∙ pressinτ thσ ESCAP┼ key.
  922.  
  923.  
  924. .CP 3
  925.          ==============
  926. 2.5.21   U  :  NOT USED
  927.          ==============
  928.  
  929.      ┴á samplσá residen⌠á commanΣ routinσ wa≤ designeΣ t∩á usσá thi≤á commanΣ ì
  930. lette≥ a≤ aε examplσ t∩ t∩ designinτ you≥ residen⌠ commands« Seσ APPENDI╪ C.
  931.  
  932.  
  933. .CP 34è         ============
  934. 2.5.22   V  :  VERIFY
  935.          ============
  936.  
  937.         FORMAT:         V####.SD [F..F]
  938.  
  939.         EXAMPLES:       VERIFY.MT
  940.                         V.MM 0000-0FFF-2000
  941.  
  942.      Thi≤á commanΣá allow≤ yo⌡ t∩ verif∙ datß residinτ oεá differen⌠á medium≤ ì
  943. [tape¼ááá disk¼áá memory¼áá user-defined]«áá Likσáá thσáá cop∙áá command¼áá ß ì
  944. source/destinatioεáá codσá i≤á useΣá t∩á definσá thσá medißáá involved«áá Thσ ì
  945. source/destinatioε codσ caε bσ showε a≤ ß ┤ ╪ ┤ matrix:
  946.  
  947. ááááá             ╘ -   T╘   D╘   M╘   UT
  948. ááááá             ─ -   T─   D─   M─   UD
  949. áááááDESTINATIO╬  ═ -   T═   D═   M═   UM
  950. ááááá             ╒ -   T╒   D╒   M╒   UU
  951. ááááá                    ║    ║    ║    :
  952. ááááá                    ╘    ─    ═    U
  953. ááááá                         SOURCE
  954.  
  955.      Thσá tw∩á characte≥á [SD▌ codσ i≤ decodeΣ int∩ aε inde°á t∩á thσá verif∙ ì
  956. vecto≥á table«á  Thσ monito≥ theε obtain≤ thσ vecto≥ addres≤ residinτ a⌠á thσ ì
  957. specifieΣ positioε iε thσ tablσ anΣ jump≤ t∩ tha⌠ address«á Thσ verif∙ vecto≥ ì
  958. tablσá i≤á locateΣ jus⌠ afte≥ thσ cop∙ vecto≥ table«á Onl∙ onσ [.SD▌ codσá i≤ ì
  959. implementeΣ a≤ ß residen⌠ command«á Thi≤ commanΣ i≤ VERIFY.M═ AAAA-BBBB-CCCC« ì
  960. Thσ inclusioε oµ thσ [.MM▌ codσ i≤ optional«á Thi≤ commanΣ wil∞ verif∙ memor∙ ì
  961. blocδ [AAAA-BBBB▌ witΦ memor∙ blocδ startinτ a⌠ [CCCC].
  962.  
  963.      Thσá res⌠á oµ thσ verif∙ option≤ arσ expecteΣ t∩ bσ transien⌠á file≤á oε ì
  964. CP/M¼ anΣ ma∙ bσ implementeΣ b∙ followinτ thσ direction≤ iε sectioε 8.0«  Thσ ì
  965. CP/═ filσ routine≤ normall∙ wil∞ no⌠ requirσ secondar∙ field≤ iε thσá commanΣ ì
  966. linσ sincσ the∙ shoulΣ promp⌠ yo⌡ fo≥ thσ additiona∞ input« 
  967.  
  968.  
  969. .CP 30è         ===========
  970. 2.5.23   W  :  WRITE    :Release A only:
  971.          ===========
  972.  
  973.         FORMATS:        W#### AAAA-BBBB
  974.                         C####.MT AAAA-BBBB
  975.  
  976.         EXAMPLES:       WRITE 4000-4FFF
  977.                         W -2000
  978.                         COPY.MT 8000-AFFF
  979.  
  980.      Writσá thσ blocδ oµ memor∙ [AAAA-BBBB▌ ont∩ cassettσ tape«á Thi≤ commanΣ ì
  981. i≤ implementeΣ iε Releasσ ┴ onl∙ (However¼á Releasσ ┬ contain≤ thσá identica∞ ì
  982. routinσá iε ß transien⌠ commanΣ filσ "COPYMT.SMCó anΣ caε bσ accesseΣ viß thσ ì
  983. commanΣ "C####.MTó I⌠ wil∞ promp⌠ yo⌡ fo≥ al∞ oµ thσ necessar∙ information.)« ì
  984. Thi≤ commanΣ create≤ ß filσ oε tapσ whicΦ follow≤ thσ TELETE╦ [DAJEN▌ format« ì
  985. Thσ presen⌠ versioε oµ thσ monito≥ control≤ onl∙ thσ Teleteδ UCRI« Thσ forma⌠ ì
  986. i≤ a≤ follows:
  987.  
  988.         1. 1/2 second of silent leader.
  989.         2. 4-1/2 seconds of NULL [00H] tone leader.
  990.         3. One clock byte [3CH].
  991.         4. One sync byte [E6H].
  992.         5. 1╢ bi⌠ beginninτ memor∙ addres≤ oµ file¼ lo≈ orde≥ theε higΦ orde≥ ì
  993. áááááááááááaddres≤ bytσ iε INTE╠ style.
  994.         6. 1╢ bi⌠ filσ size¼ higΦ orde≥ bytσ firs⌠ theε lo≈ orde≥ bytσ next.
  995.         7. Memory block [AAAA-BBBB].
  996.         8. Checksum byte.
  997.         9. 1/2 second trailer of NULLs.
  998.        10. 1/2 second of silent trailer.
  999.  
  1000.  
  1001. .CP 3
  1002.          ==============
  1003. 2.5.24   X  :  NOT USED
  1004.          ==============
  1005.  
  1006.  
  1007. .CP 3
  1008.          ==============
  1009. 2.5.25   Y  :  NOT USED
  1010.          ==============
  1011.  
  1012.  
  1013. .CP 3
  1014.          ==============
  1015. 2.5.26   Z  :  NOT USED
  1016.          ==============
  1017.  
  1018. 2.6 -- COMMAND SUBSYSTEM UTILITY ROUTINES
  1019. =========================================
  1020.  
  1021.  
  1022.       Thσá CommanΣ Subsysteφ ha≤ ß numbe≥ oµ utilit∙ routine≤ whicΦá arσá no⌠ ì
  1023. pointeΣá t∩á b∙ ß se⌠ oµ vectors«á Thesσ routine≤ arσ oµ usσ t∩ yo⌡ fo≥á you≥ ì
  1024. residen⌠á command≤ whicΦ yo⌡ migh⌠ build«á Thσ routine≤ arσ describeΣ iεá thσ ì
  1025. orde≥ the∙ arσ listeΣ iε thσ sourcσ listinτ iε APPENDI╪ A« Yo⌡ mus⌠ determinσ ì
  1026. thσá absolutσá addres≤ locatioε fo≥ eacΦ oµ thσ routine≤ b∙ addinτá thσá BAS┼ ì
  1027. addres≤ t∩ thσ addres≤ iε thσ sourcσ listing.
  1028.  
  1029.  
  1030. 2.6.1 -- REDUCE
  1031. ===============
  1032.  
  1033.         Thi≤á routinσ wil∞ conver⌠ lowe≥ casσ alphabetiπ character≤ t∩á uppe≥ ì
  1034. casσ character≤ anΣ masδ ofµ thσ mos⌠ significan⌠ bi⌠ oµ thσ byte≤ containinτ ì
  1035. thσ character≤ iε thσ inpu⌠ buffe≥ pointeΣ t∩ b∙ thσ I┘ register«á Notσá tha⌠ ì
  1036. (IY-3⌐á shoulΣ contaiε thσ numbe≥ oµ lega∞ character≤ iε buffe≥ anΣ (IY-2⌐ t∩ ì
  1037. (IY-1⌐ i≤ thσ startinτ addres≤ oµ buffer« Iµ yo⌡ changσ thσ I┘ registe≥ valuσ ì
  1038. yo⌡á mus⌠á eithe≥á savσ thσ origina∞ valuσ o≥ returε t∩ thσá contro∞á oµá thσ ì
  1039. monito≥á througΦá RESTAR╘á o≥ START«á Thσ I┘ registe≥á contain≤á thσá monito≥ ì
  1040. Variablσ RA═ Basσ Address.
  1041.  
  1042.  
  1043. 2.6.2 -- DEBLOCK
  1044. ================
  1045.  
  1046.         Thi≤á routinσá determine≤ thσ startinτ addres≤á oµá eacΦá significan⌠ ì
  1047. blocδ oµ alphanumeriπ character≤ delimiteΣ b∙ thσ specia∞ character≤ [blank]¼ ì
  1048. [.]¼á [,]¼á [;]¼ [:]¼ [-]¼ [+]¼ [*]¼ [/]¼ anΣ [=]« Thσ routinσ wil∞ determinσ ì
  1049. a≤ man∙ a≤ 1░ block≤ anΣ wil∞ storσ thσ results¼á ┤ byte≤ pe≥ block¼ startinτ ì
  1050. a⌠ [MBASE-4CH▌ anΣ loadinτ u≡ iε memory« EacΦ ┤ bytσ blocδ contain≤ thσ fron⌠ ì
  1051. delimitinτ chracter¼á thσ blocδ startinτ address¼ anΣ thσ numbe≥ oµ bytes¼ iε ì
  1052. tha⌠á order«á Iµ thσ numbe≥ oµ byte≤ i≤ zer∩ theε n∩ alphanumeriπá character≤ ì
  1053. werσ encountereΣ betweeε thσ fron⌠ anΣ bacδ delimitinτ characters«á Agaiε thσ ì
  1054. I┘ registe≥ point≤ t∩ thσ inpu⌠ buffer.
  1055.  
  1056.  
  1057. 2.6.3 -- DELCK
  1058. ==============
  1059.  
  1060.         Thi≤á routinσá determine≤á iµ thσ bytσ iε registe≥ ┴ i≤á ßá delimite≥ ì
  1061. characte≥ a≤ specifieΣ abovσ iε DBLOCK« Thσ ZER╧ flaτ i≤ SE╘ iµ thi≤ i≤ true.
  1062.  
  1063.  
  1064. 2.6.4 -- GETOPT
  1065. ===============
  1066.  
  1067.         Thi≤á routinσá determine≤á iµ thσ bacδá delimite≥á oµá thσá presentl∙ ì
  1068. pointeΣá t∩á blocδá i≤ ß [.▌ whicΦ implie≤ tha⌠ aε optioεá i≤á modifyinτá thσ ì
  1069. primar∙á command«á Thσá CARR┘á flaτ i≤ SE╘ iµ aε erro≥á i≤á encountereΣá (thσ ì
  1070. commanΣá linσá ha≤ onl∙ onσ character)«á Thσ ZER╧ flaτ i≤ SE╘ iµá aεá implieΣ ì
  1071. optioεá i≤ founΣ anΣ registe≥ ┴ contain≤ [.]«á Iµ thσ ZER╧ flaτ i≤ CLEA╥ theε ì
  1072. registe≥ ┴ contain≤ ß [blank].
  1073.  
  1074.  
  1075. 2.6.5 -- GETADD
  1076. ===============è
  1077.         Thi≤á routinσ wil∞ decodσ thσ nex⌠ ░ t∩ │ BUFFE╥ block≤á int∩á binar∙ ì
  1078. addresse≤á o≥á byte≤ anΣ loaΣ theφ int∩ location≤á ADDR1¼á ADDR2¼á anΣá ADDR│ ì
  1079. locateΣ a⌠ MBASE-0C╚ t∩ MBASE-07H« MBASE-06╚ contain≤ thσ numbe≥ oµ addresse≤ ì
  1080. o≥á byte≤ decoded«á Thσ hexadecima∞ addres≤ fielΣ i≤ expecteΣ t∩ bσ delimiteΣ ì
  1081. internall∙ b∙ [-]'s«á Thσ CARR┘ flaτ i≤ SE╘ iµ an∙ non-hexadecima∞ character≤ ì
  1082. werσ encountereΣ iε thσ decodinτ process.
  1083.  
  1084.  
  1085. 2.6.6 -- SETDBA
  1086. 2.6.7 -- INCDBA
  1087. ===============
  1088.  
  1089.         SETDB┴á routinσá wil∞á se⌠á thσ I╪ registe≥ t∩á poin⌠á t∩á thσá firs⌠ ì
  1090. deblockeΣ storeΣ information«á It≤ companioε routinσ INCDB┴ wil∞ incremen⌠ t∩ ì
  1091. thσ nex⌠ block.
  1092.  
  1093.  
  1094. 2.6.8 -- HLIX
  1095. 2.6.9 -- IXHL
  1096. =============
  1097.  
  1098.         Thesσ routine≤ wil∞ respectivel∙ loaΣ anΣ storσ registe≥ pai≥ H╠ froφ ì
  1099. anΣ int∩ thσ memor∙ locatioε pointeΣ t∩ b∙ registe≥ pai≥ IX.
  1100.  
  1101.  
  1102. 2.6.10 -- HLAD1
  1103. 2.6.11 -- HLAD2
  1104. 2.6.12 -- HLAD3
  1105. ===============
  1106.  
  1107.         Thesσá routine≤á loaΣá registe≥ pai≥ H╠ witΦá thσá specifieΣá decodeΣ ì
  1108. addres≤ o≥ byte
  1109.  
  1110.  
  1111. 2.6.13 -- DCDAD1
  1112. 2.6.14 -- DCDAD2
  1113. ================
  1114.  
  1115.         Thesσá routine≤á decodσá ß hexadecima∞ addres≤ fielΣá pointeΣá t∩á b∙ ì
  1116. registe≥ pai≥ H╠ anΣ fielΣ sizσ pointeΣ t∩ b∙ [IX+3▌ anΣ leavσ thσ addres≤ iε ì
  1117. registe≥ pai≥ HL«á Iµ [IX+3▌ i≤ Zer∩ theε H╠ wil∞ contaiε [FFFFH▌ fo≥á DCDAD▒ ì
  1118. anΣá [0000H▌á fo≥á DCDAD▓á a≤ defaul⌠ values«á Thσ CARR┘ flaτá i≤á SE╘á iµá ß ì
  1119. hexadecima∞ erro≥ wa≤ encountered.
  1120.  
  1121.  
  1122. 2.6.15 -- VHEX
  1123. ==============
  1124.  
  1125.         Thi≤á routinσ wil∞ decodσ aε ASCI╔ characte≥ iε registe≥ ┴á int∩á it≤ ì
  1126. binar∙ equivalen⌠ hexadecima∞ character«á Iµ thσ characte≥ i≤ no⌠ ß lega∞ he° ì
  1127. characte≥ theε thσ CARR┘ flaτ i≤ SET.
  1128.  
  1129.  
  1130. 2.6.16 -- ESCAPE
  1131. ================
  1132.  
  1133.         Thi≤á routinσá wil∞á checδá thσá consolσ inpu⌠á por⌠á fo≥á aεá escapσ ì
  1134. characte≥ presen⌠ [ESC,1BH]« Iµ therσ i≤ one¼ thσ CARR┘ flaτ i≤ SET.
  1135. è
  1136. 2.6.17 -- GET2AD
  1137. ================
  1138.  
  1139.         Thi≤ routinσ wil∞ decodσ thσ nex⌠ tw∩ block≤ (iµ the∙ arσ addresses)¼ ì
  1140. determinσá thσá differencσ betweeε thσ two¼á anΣ leavσ thσ firs⌠á addres≤á iε ì
  1141. registe≥ pai≥ H╠ anΣ thσ differencσ iε registe≥ pai≥ DE« Iµ tw∩ addresse≤ caε ì
  1142. no⌠á bσá decodeΣ o≥ ß hexadecima∞ erro≥ i≤ encountered¼á ERRO╥ messagσá │á i≤ ì
  1143. displayeΣá anΣ thσ monito≥ i≤ restarted«á Iµ thσ addresse≤ arσ reverseΣá (thσ ì
  1144. negativσá difference)¼á ERRO╥á messagσá ┤ i≤ displayeΣá anΣá thσá monito≥á i≤ ì
  1145. restarted.
  1146.  
  1147.  
  1148. 2.6.18 -- UPDATE
  1149. ================
  1150.  
  1151.         Thi≤á routinσá increment≤ H╠ anΣ decrement≤ D┼ anΣ test≤ fo≥ zer∩á iε ì
  1152. DE« Thσ ZER╧ flaτ i≤ SE╘ iµ so.
  1153.  
  1154.  
  1155. 2.6.19 -- OUT8HB
  1156. ================
  1157.  
  1158.         Thi≤ routinσ wil∞ outpu⌠ eigh⌠ byte≤ iε hexadecima∞ forma⌠ pointeΣ t∩ ì
  1159. b∙ registe≥ pai≥ H╠ anΣ counteΣ dowε b∙ registe≥ pai≥ DE«á Thσ CARR┘ flaτá i≤ ì
  1160. SE╘ iµ morσ byte≤ arσ oε thσ queue.
  1161.  
  1162.  
  1163. 2.6.20 -- OUT8AB
  1164. ================
  1165.  
  1166.         Thi≤ routinσ wil∞ outpu⌠ eigh⌠ ASCI╔ byte≤ pointeΣ t∩ b∙ thσ registe≥ ì
  1167. pai≥á H╠ anΣ counteΣ dowε b∙ thσ registe≥ pai≥ DE«á Non-printablσá character≤ ì
  1168. arσ displayeΣ a≤ [.]'s«á Iµ thσ mos⌠ significan⌠ bi⌠ i≤ higΦ thσ bytσ wil∞ bσ ì
  1169. displayeΣá a≤ ß reversσ fielΣ character«á Thσ CARR┘ flaτ i≤ SE╘ iµ morσ byte≤ ì
  1170. arσ oε thσ queue.
  1171.  
  1172.  
  1173. 2.6.21 -- BTHEX
  1174. ===============
  1175.  
  1176.         Thi≤á routinσá convert≤á ßá binar∙á bytσá iεá registe≥á ┴á int∩áá tw∩ ì
  1177. hexadecima∞ characters« Thσ mos⌠ significan⌠ nibblσ i≤ returneΣ iε registe≥ ├ ì
  1178. anΣ thσ leas⌠ significan⌠ iε registe≥ A.
  1179.  
  1180.  
  1181. 2.6.22 -- BTASC
  1182. ===============
  1183.  
  1184.         Thi≤ routinσ wil∞ conver⌠ aε ASCI╔ bytσ iε registe≥ ├ t∩ ß [.▌ iµ thσ ì
  1185. bytσ i≤ les≤ thaε [20H▌ o≥ i≤ ß [DEL▌ o≥ ß [5FH]« Iµ thσ mos⌠ significan⌠ bi⌠ ì
  1186. i≤ higΦ theε ß [.]+[80H▌ i≤ returned« Thσ resul⌠ i≤ lef⌠ iε C.
  1187.  
  1188.  
  1189. 2.6.23 -- OUTHAD
  1190. ================
  1191.  
  1192.         Thi≤á routinσá wil∞á outpu⌠á thσá addres≤á iεá registe≥á pai≥á H╠á iε ì
  1193. hexadecima∞ format.
  1194. è
  1195. 2.6.24 -- OUTHBT
  1196. ================
  1197.  
  1198.         Thi≤á routinσá wil∞á outpu⌠á thσ bytσ iε registe≥á ┴á iεá hexadecima∞ ì
  1199. format.
  1200.  
  1201.  
  1202. 2.6.25 -- OUTDOT, OUTSPC, OUTDSH, OUTEXP, CRLF, CRLFP, OUT3SP
  1203. =============================================================
  1204.  
  1205.         Thesσ routine≤ wil∞ outpu⌠ respectivel∙ [.]¼ [space]¼ [-]¼ [!]¼ [CR]-ì
  1206. [LF]¼ [CR]-[LF]-[>]¼ threσ [space]'s.
  1207.  
  1208.  
  1209. 2.6.99 -- Special Purpose routines
  1210. ==================================
  1211.  
  1212.         Therσ arσ ß numbe≥ oµ routine≤ whicΦ residσ witΦ thσ primar∙ residen⌠ ì
  1213. commanΣ routines«á Thesσ shoulΣ bσ useΣ witΦ caution« But¼ wh∩ knows¼ somσ oµ ì
  1214. theφ ma∙ bσ importan⌠ t∩ you.
  1215.  
  1216.                           3.0 -- CONSOLE SUBSYSTEM
  1217.                           ========================
  1218.  
  1219.  
  1220. .CP 23
  1221. 3.1 -- GENERAL DESCRIPTION
  1222. ==========================
  1223.  
  1224.      Thσá CONSOL┼á SUBSYSTE═á i≤á ß comprehensivσá Vide∩á Consolσá controlle≥ ì
  1225. packagσá whicΦá wil∞ drivσ an∙ onσ oµ thσ popula≥ memory-mappeΣá 64/1╢á vide∩ ì
  1226. displa∙ module≤ fo≥ thσ Z-8░ based¼á S-10░ bu≤ system«á  IncorporateΣ iεá thσ ì
  1227. packagσá arσ als∩ ß keyboarΣ drive≥ anΣ ß linσ printe≥ driver«á Thσ subsysteφ ì
  1228. control≤ thσ threσ I/╧ device≤ a≤ aε integrateΣ packagσ ablσ t∩ stanΣá alone¼ ì
  1229. independen⌠á oµá thσ othe≥ monito≥ subsystems«á  I⌠ ha≤ ful∞ curso≥á control¼ ì
  1230. characte≥ orienteΣ screeε editing¼á buffereΣ inpu⌠ anΣ outpu⌠ froφ anΣ t∩ thσ ì
  1231. screen¼ recursivσ messagσ macr∩ processing¼ anΣ man∙ othe≥ capabilitie≤ whicΦ ì
  1232. makσ thi≤ packagσ ß powerfu∞ additioε t∩ you≥ software/firmwarσ library« 
  1233.  
  1234.      Thi≤á subsysteφ incorporate≤ al∞ oµ thσ vide∩ command≤ oµá VIDE╧á DRIVE╥ ì
  1235. 1.0¼á whicΦá ha≤á beeεá availablσ froφ PC┼ Electronic≤ sincσá Junσá oµá 1978« ì
  1236. However¼ thσ placemen⌠ oµ command≤ oε thσ keyboarΣ arσ differen⌠ t∩ makσ rooφ ì
  1237. fo≥ thσ additiona∞ command≤ availablσ unde≥ thi≤ package«á Yo⌡ migh⌠ sa∙ tha⌠ ì
  1238. i⌠ i≤ ß seconΣ generatioε VIDE╧ DRIVE╥ 1.0.
  1239.  
  1240.      Sincσá thi≤á packagσá i≤ ß statiπ controlle≥ oµ threσ I/╧á device≤á (onσ ì
  1241. vide∩á displa∙ module¼á onσ keyboard¼á anΣ onσ linσá printer)¼á littlσá extrß ì
  1242. softwarσá i≤á needeΣá t∩ implemen⌠ ß compac⌠ stand-alonσá intelligen⌠á remotσ ì
  1243. termina∞ subsystem.
  1244.  
  1245.  
  1246. .CP 12
  1247. 3.2 -- SUBSYSTEM INTERFACE
  1248. ==========================
  1249.  
  1250.      Thσ consolσ subsysteφ ha≤ 1▓ entries«á  Thσ firs⌠ entr∙ initialize≤á thσ ì
  1251. package«á  Thσ nex⌠ threσ entrie≤ directl∙ obtaiε thσ keyboarΣ status¼ obtaiε ì
  1252. ne≈ ke∙ entr∙ upoε strobe¼ anΣ obtaiε datß a⌠ thσ keyboarΣ por⌠ regardles≤ oµ ì
  1253. keyboarΣá status«á Thσ nex⌠ entr∙ t∩ thσ packagσ output≤ ß characte≥ directl∙ ì
  1254. t∩á thσá printer«á  Thσ remainde≥ oµ thσ entrie≤ relatσ t∩ thσá vide∩á drive≥ ì
  1255. interfacσá anΣá buffereΣá I/O«á Thσ entr∙ vector≤ arσ a⌠á thσá fron⌠á oµá thσ ì
  1256. subsystem« Thσ startinτ addres≤ oµ thσ subsysteφ i≤ defineΣ a≤ [CBASE].
  1257.  
  1258.      EacΦ oµ thesσ entrie≤ i≤ full∙ explaineΣ iε thσ followinτ subsections.
  1259.  
  1260. .CP 14
  1261.         =======
  1262. 3.2.1   ENTRY-1  Initialize the package. [CBASE+00H]
  1263.         =======
  1264.  
  1265.      Thi≤á entr∙á initialize≤á thσá package'≤ RA═á worδá spacσá anΣá interna∞ ì
  1266. variables«  Specifically¼ thσ entry:
  1267.  
  1268.         1. Clears the screen and homes the cursor.
  1269.         2. Sets package to scroll mode.
  1270.         3. Sets video to direct video mode.
  1271.         4. Sets the scrolling to medium speed.
  1272.         5. Turns off the printer.
  1273.         6. Empties the input buffer.
  1274.         7. Initializes the Processor Tech VDM, if it is used.
  1275.  
  1276.  
  1277. .CP 7è        =======
  1278. 3.2.2   ENTRY-2  Obtain the keyboard status. [CBASE+03H]
  1279.         =======
  1280.  
  1281.      Thi≤á entr∙á obtain≤ thσ keyboarΣ statu≤ anΣ return≤ witΦ thσ ZER╧á flaτ ì
  1282. clea≥ anΣ thσ ┴ registe≥ equa∞ t∩ [FFH▌ iµ ß ne≈ ke∙ entr∙ i≤ waitinτ iεá thσ ì
  1283. keyboarΣ inpu⌠ latch.
  1284.  
  1285.  
  1286. .CP 8
  1287.         =======
  1288. 3.2.3   ENTRY-3  Obtain keyboard entry/strobed. [CBASE+06H]
  1289.         =======
  1290.  
  1291.      Thi≤á entr∙á call≤á keyboarΣá statu≤á (ENRTY-2⌐ unti∞á ßá ke∙á entr∙á i≤ ì
  1292. indicated«á  Therσ upon¼á i⌠ obtain≤ thσ ne≈ ke∙ entry¼á strip≤ ofµ thσá mos⌠ ì
  1293. sigifican⌠á bi⌠ (BIT-7)¼á set≤ thσ CARR┘ flaτ iµ thσ mos⌠ significan⌠ bi⌠á i≤ ì
  1294. high¼ theε return≤ t∩ caller.
  1295.  
  1296.  
  1297. .CP 7
  1298.         =======
  1299. 3.2.4   ENTRY-4  Obtain keyboard entry/unstrobed. [CBASE+09H]
  1300.         =======
  1301.  
  1302.      Thi≤á entr∙ i≤ thσ samσ a≤ ENTRY-│ excep⌠ tha⌠ keyboarΣ statu≤ (ENTRY-2⌐ ì
  1303. i≤á no⌠ called«á Thi≤ entr∙ obtain≤ thσ datß presentl∙ oε thσ keyboarΣá latcΦ ì
  1304. anΣ immediatel∙ return≤ t∩ thσ caller.
  1305.  
  1306.  
  1307. .CP 11
  1308.         =======
  1309. 3.2.5   ENTRY-5  Output to the printer directly. [CBASE+0CH]
  1310.         =======
  1311.  
  1312.      Thi≤ entr∙ wil∞ outpu⌠ ß characte≥ directl∙ t∩ thσ printer«á  Thσá ASCI╔ ì
  1313. bytσá i≤á expecteΣá t∩á bσ iε thσ ├ register«á Somσá printer≤á havσá interna∞ ì
  1314. buffers«á Iµá your≤ does¼á theε ß carriagσ returε wil∞ usuall∙á activatσá thσ ì
  1315. printinτ oµ thσ linσ anΣ thσ clearinτ oµ thσ buffer«á  Also¼ printer≤ sucΦ a≤ ì
  1316. thσ Centronic≤ 77╣ wil∞ clea≥ thσ buffe≥ automaticall∙ iµ ß linσ feeΣ i≤ sen⌠ ì
  1317. beforσá ß carriagσ return«á  Iε thi≤ casσ al∞ tha⌠ woulΣ bσ printeΣ woulΣá bσ ì
  1318. blanδ lines.
  1319.  
  1320.  
  1321. .CP 28è        =======
  1322. 3.2.6   ENTRY-6  Screen edited, buffered input. [CBASE+0FH]
  1323.         =======
  1324.  
  1325.      Thi≤á entr∙ allow≤ yo⌡ t∩ edi⌠ you≥ inpu⌠ beforσ sendinτ thσ inpu⌠á bacδ ì
  1326. t∩ thσ caller«á  Yo⌡ caε senΣ onσ o≥ tw∩ vide∩ line≤ oµ data/informatioε bacδ ì
  1327. t∩ thσ caller«á  Assuminτ thσ inpu⌠ buffe≥ i≤ empt∙ thσ followinτ sequencσ oµ ì
  1328. event≤ takσ place:
  1329.  
  1330. 1.áááEnte≥á int∩ screeε edi⌠ mode«á Yo⌡ wil∞ sta∙ iε thi≤ modσ unti∞ yo⌡á arσ ì
  1331. ááááásatisfieΣá witΦá ßá linσ (o≥ tw∩ lines⌐ oµ information«á Yo⌡á havσá ful∞ ì
  1332. ááááácurso≥ contro∞ anΣ al∞ oµ thσ edi⌠ command≤ a⌠ you≥ disposal.
  1333.  
  1334. 2.áááWheε yo⌡ arσ read∙ t∩ senΣ ß linσ oµ informatioε al∞ yo⌡ mus⌠ d∩ i≤ makσ ì
  1335. ááááásurσá thσ curso≥ characte≥ i≤ oε thσ linσ yo⌡ wan⌠ t∩ send«á I⌠á caεá bσ ì
  1336. áááááanywherσá oε thσ line«á Thσ entirσ 6┤ characte≥ linσ i≤ sen⌠ withou⌠ thσ ì
  1337. ááááácursor« Yo⌡ caε alternativel∙ senΣ tw∩ line≤ (12╕ characters⌐ b∙ placinτ ì
  1338. áááááthσá curso≥á oεá thσ firs⌠ linσ t∩ bσ sent«á Thσ nex⌠ linσá i≤á sen⌠á iε ì
  1339. áááááaddition«á  T∩ senΣ onσ linσ pres≤ thσ RETUR╬ key«á  T∩ senΣ tw∩á lines¼ ì
  1340. ááááápres≤á thσá CTRL-╥á key«á  ┴ notσ a⌠ thi≤ point║á Onl∙á thσá significan⌠ ì
  1341. áááááportioε oµ thσ buffereΣ datß i≤ sent«á  Tha⌠ is¼ trailinτ blank≤ arσ no⌠ ì
  1342. ááááásent« Howeve≥ thσ leadinτ blank≤ arσ sent.
  1343.  
  1344. 3.áááOncσ eithe≥ returε i≤ pressed¼á thσ routinσ wil∞ senΣ onσ characte≥ a⌠ ß ì
  1345. ááááátimσ bacδ t∩ thσ calle≥ upoε eacΦ caller'≤ entr∙ t∩ thi≤ routine¼á unti∞ ì
  1346. áááááthσ buffe≥ i≤ empty«á Afte≥ thσ buffe≥ i≤ empty¼ thσ routinσ wil∞ senΣ ß ì
  1347. ááááácarriagσ returε (0DH⌐ t∩ thσ caller¼á theε thσ routinσ reinitialize≤á t∩ ì
  1348. áááááste≡ #▒ above.
  1349.  
  1350.  
  1351. .CP 17
  1352.         =======
  1353. 3.2.7   ENTRY-7  Alternate screen edited, buffered input.
  1354.         =======  [CBASE+12H] 
  1355.  
  1356.      Thi≤á entr∙ i≤ thσ samσ a≤ ENTRY-╢ fo≥ step≤ ▒ anΣ 2«á Howeve≥ ste≡ │ i≤ ì
  1357. no⌠á initiated«á Thσá datßá i≤ jus⌠ transfereΣ t∩ thσ inpu⌠á buffe≥á anΣá thσ ì
  1358. significan⌠á portioε oµ thσ line(s⌐ i≤ determined«á Thi≤ informatioεá caεá bσ ì
  1359. accesseΣ b∙ knowinτ wherσ thσ buffe≥ i≤ locateΣ iε memory.
  1360.  
  1361.         Iµ [BUFFER▌ i≤ thσ startinτ locatioε oµ inpu⌠ buffer.
  1362.         Then:   [BUFFER-3▌áá contain≤á thσá bytσá coun⌠á oµáá thσ ì
  1363. áááááááááááááááásignifican⌠ portioε oµ thσ BUFFER«á  [BUFFER-2,1▌ ì
  1364. áááááááááááááááácontain≤ thσ beginninτ addres≤ oµ thσ significan⌠ ì
  1365. ááááááááááááááááportioε oµ thσ BUFFER.
  1366.  
  1367. Yo⌡á mus⌠ understanΣ that¼á iε thi≤ casσ thσ leadinτ anΣ trailinτ blank≤á arσ ì
  1368. no⌠ considereΣ a≤ par⌠ oµ thσ significan⌠ portioε oµ thσ BUFFER.
  1369.  
  1370.  
  1371. .CP 8
  1372.         =======
  1373. 3.2.8   ENTRY-8  Obtain video cursor address. [CBASE+15H]
  1374.         =======
  1375.  
  1376.      Thi≤á entr∙ allow≤ yo⌡ t∩ obaiε thσ curso≥ addres≤ iεá tw∩á forms«á Upoε ì
  1377. returεá thσ H╠ registe≥ pai≥ wil∞ contaiε thσ absolutσ addres≤ oµ thσ cursor¼ ì
  1378. thσ ┬ registe≥ wil∞ contaiε thσ ro≈ address¼á anΣ thσ ├ registe≥ wil∞ contaiε ì
  1379. thσ columε address.
  1380.  
  1381.  
  1382. .CP 11è        =======
  1383. 3.2.9   ENTRY-9  Limited control video output (TTY mode).
  1384.         =======  [CBASE+18H]
  1385.  
  1386.      Thi≤á entr∙á wil∞á outpu⌠ directl∙ t∩ thσá vide∩á screeεá unde≥á limiteΣ ì
  1387. control«ááá Onl∙áá tabulation¼áá clea≥áá screen¼áá delete¼áá backspace¼áá anΣ ì
  1388. backspace/deletσá arσ alloweΣ fo≥ linσ editing«á Selectinτ reversσ vide∩ modσ ì
  1389. i≤ alloweΣ a≤ wel∞ a≤ carriagσ returε anΣ linσ feed« Strictl∙ speaking¼ unde≥ ì
  1390. thi≤á entr∙ thσ vide∩ caε ac⌠ onl∙ a≤ ß "Glas≤ Teletype"«á Thσá ASCI╔á outpu⌠ ì
  1391. bytσá i≤á expecteΣá t∩ bσ iε thσ ├ register«á Scrol∞á modσá i≤á automaticall∙ ì
  1392. assumeΣ unde≥ thi≤ entry.
  1393.  
  1394.  
  1395. .CP 8
  1396.         ========
  1397. 3.2.10  ENTRY-10  Full control video output. [CBASE+1BH]
  1398.         ========
  1399.  
  1400.      Thi≤ entr∙ allow≤ ful∞ curso≥ anΣ screeε editinτ output« Seσ thσ sectioε ì
  1401. 3.│á fo≥á ßá summar∙á oµ thσ availablσ commands«á Thσ ASCI╔á outpu⌠á bytσá i≤ ì
  1402. expecteΣá t∩ bσ iε thσ ├ register«á Pagσ modσ i≤ automaticall∙ assumeΣá unde≥ ì
  1403. thi≤ entry.
  1404.  
  1405.  
  1406. .CP 13
  1407.         ========
  1408. 3.2.11  ENTRY-11  Controlled video/printer output. [CBASE+1EH]
  1409.         ========
  1410.  
  1411.      Thi≤á entr∙ allow≤ yo⌡ t∩ outpu⌠ t∩ thσ vide∩ screeε iε limiteΣ o≥á ful∞ ì
  1412. contro∞á and/o≥á outpu⌠á t∩ thσ printer«á Switchinτá froφá limiteΣá t∩á full∙ ì
  1413. controlleΣá vide∩ outpu⌠ anΣ bacδ agaiε i≤ accomplisheΣ b∙ sendinτ thσ scrol∞ ì
  1414. modσ and/o≥ pagσ modσ commands«á Thσ printe≥ caε bσ turneΣ oε b∙ sendinτá thσ ì
  1415. printe≥á on/ofµ togglσ command«á Thσ printe≥ caε onl∙ bσ activσ unde≥á scrol∞ ì
  1416. mode«á Resendinτá thσ printe≥ togglσ commanΣ wil∞ turε thσ printe≥ off«á Wheε ì
  1417. yo⌡ se⌠ pagσ modσ thσ routinσ wil∞ firs⌠ senΣ ß linσ feeΣ t∩ thσ printe≥á anΣ ì
  1418. theεá wil∞ turε thσ printe≥ off«á Thσ ASCI╔ outpu⌠ bytσ i≤ expecteΣ t∩ bσá iε ì
  1419. thσ ├ register.
  1420.  
  1421.  
  1422. .CP 11
  1423.         ========
  1424. 3.2.12  ENTRY-12  Buffered output. [CBASE+21H]
  1425.         ========
  1426.  
  1427.       Thi≤ entr∙ i≤ thσ mos⌠ elegan⌠ oµ al∞ thσ entries«á  Yo⌡ arσ alloweΣ t∩ ì
  1428. senΣ ß message¼á formeΣ iε memor∙ prio≥ t∩ entr∙ t∩ thi≤ routine¼ directl∙ t∩ ì
  1429. thσ vide∩ screeε and/o≥ printer« Yo⌡ pas≤ thσ startinτ addres≤ oµ thσ messagσ ì
  1430. iεá thσá H╠á registe≥á pair«á Thσ messagσ mus⌠ enΣ witΦ ßá NUL╠á (00H⌐á byte« ì
  1431. Startinτ a⌠ thσ addres≤ iε thσ H╠ registe≥ pai≥ thσ routinσ wil∞ proces≤ eacΦ ì
  1432. ASCI╔á characte≥á througΦá ENRTY-1▒ unti∞ ß NUL╠á bytσá i≤á encountered«á Tw∩ ì
  1433. additiona∞ macr∩ command≤ arσ availablσ unde≥ thi≤ entry« Thesσ are:
  1434.  
  1435. .CP 7
  1436. 1.áááRepea⌠ function║á  Thσ commanΣ bytσ (12H⌐ signal≤ tha⌠ ß ASCI╔ bytσ o≥ ß ì
  1437. ááááásubmacr∩ i≤ t∩ bσ repeated«á Threσ byte≤ arσ involved«á Thσ firs⌠ oµ thσ ì
  1438. áááááfunctioεá se⌠ i≤ thσ commanΣ byte¼á thσ seconΣ bytσ i≤ thσ repea⌠á coun⌠ ì
  1439. ááááá(1-255)¼ thσ thirΣ i≤ thσ ASCI╔ bytσ o≥ thσ submacr∩ commanΣ byte« Iµ i⌠ ì
  1440. ááááái≤á thσá submacr∩á commanΣ bytσ theε thσá repea⌠á functioεá expect≤á thσ ì
  1441. áááááremainde≥á oµ thσ submacr∩ functioε se⌠ t∩ bσ includeΣ immediatel∙ afte≥ ì
  1442. áááááthσ thirΣ bytσ oµ thσ repea⌠ functioε set.
  1443.  
  1444. .CP 11è2.áááSubmacr∩ function║á  Thσ commanΣ bytσ (01H⌐ signal≤ t∩ thσ routinσá tha⌠ 
  1445. áááááonσ o≥ morσ set≤ oµ ASCI╔ character≤ arσ t∩ bσ processed«á Followinτ thσ ì
  1446. ááááásubmacr∩á commanΣá bytσ i≤ thσ macr∩ se⌠ coun⌠ bytσ (1-255)«á Afte≥á thσ ì
  1447. ááááácoun⌠á byte¼á ßá pai≥á oµá byte≤á fo≥á eacΦá se⌠á specifieΣá i≤á entereΣ ì
  1448. ááááásequentially«á Thi≤á bytσá pai≥á contain≤ thσ startinτá addres≤á oµá thσ ì
  1449. ááááásubmacro« EacΦ anΣ ever∙ submacr∩ mus⌠ havσ ß NUL╠ bytσ [00H▌ oε thσ enΣ ì
  1450. áááááoµ tha⌠ submacro«á ┴ cautioε mus⌠ bσ madσ a⌠ thi≤ point║á Sincσ yo⌡á caε ì
  1451. ááááárecursivel∙á cal∞ u≡ messagσ macro≤ froφ othe≥ macros¼á yo⌡ mus⌠ bσ ver∙ ì
  1452. ááááácarefu∞ iε no⌠ causinτ cycling« Tha⌠ is¼ ß macr∩ mus⌠ no⌠ envokσ ß macr∩ ì
  1453. áááááwhicΦ i≤ alread∙ iε thσ linkage«á A≤ yo⌡ caε see¼á aε infinitσ loo≡ wil∞ ì
  1454. ááááábσ created¼ o≥ yo⌡ wil∞ ruε ou⌠ oµ stacδ space¼ o≥ both.
  1455.  
  1456. 3.3 -- CONSOLE KEYBOARD COMMAND SET
  1457. ===================================
  1458.  
  1459.  
  1460.      Almos⌠á al∞ oµ thσ ASCI╔ contro∞ character≤ werσ useΣ fo≥ thσá subsysteφ ì
  1461. contro∞ commands« Onl∙ CTRL-Z¼ X¼ C¼ anΣ ╒ werσ no⌠ used« Thesσ key≤ arσ useΣ ì
  1462. ß grea⌠ dea∞ iε CP/═ function≤ a≤ wel∞ a≤ iε ß numbe≥ oµ program≤á compatiblσ ì
  1463. t∩á CP/M«á Thi≤á wa≤ thσ onl∙ reasoε fo≥ no⌠ usinτ thesσ key≤á fo≥á commands« ì
  1464. Sectioε 3.2.▒ summarize≤ al∞ oµ thσ commands.
  1465.  
  1466. 3.3.1 -- COMMAND SET SUMMARY
  1467.  
  1468. .CP 14
  1469.                                CURSOR COMMANDS
  1470.                                ===============
  1471.  
  1472. DEFINED FUNCTION                           KEY   ASCII NOTES
  1473.  
  1474. Cursor left                          shift [,]    1CH   #6
  1475. Cursor right                         shift [.]    1DH   #6
  1476. Cursor down                          shift [/]    1EH   #6
  1477. Cursor up                            shift [-]    1FH   #6
  1478. Cursor home                                [K]    0BH
  1479. Cursor bottom left                         [B]    02H
  1480. Clear screen & cursor home                 [L]    0CH
  1481. Cursor on                                  [N]    0EH
  1482. Cursor off                                 [O]    0FH
  1483.  
  1484.  
  1485. .CP 13
  1486.                                 EDIT COMMANDS
  1487.                                 =============
  1488.  
  1489. Back space                           BS or [H]    08H
  1490. Horizontal tabulation               TAB or [I]    09H
  1491. Delete a character on a line               DEL    7FH
  1492. Back space then delete a char.       shift DEL    5FH   #6
  1493. Delete a character globally                [G]    07H
  1494. Insert a blank character on a line         [D]    04H
  1495. Insert a blank character globally          [F]    06H
  1496. Clear a line                         LF or [J]    0AH   #1
  1497. Delete a line                              [Y]    19H
  1498. Insert a blank line                        [T]    14H
  1499.  
  1500.  
  1501. .CP 8
  1502.                            SCREEN CONTROL COMMANDS
  1503.                            =======================
  1504.  
  1505. Direct video mode                          [V]   16H
  1506. Reverse video mode                         [E]   05H
  1507. Page mode                                  [Q]   11H
  1508. Scroll mode                                [W]   17H
  1509. Speed control                              [S]   13H    #2
  1510.  
  1511.  
  1512. .CP 10è                           MISCELLANEOUS COMMANDS
  1513.                            ======================
  1514.  
  1515. Printer toggle                             [P]   10H
  1516. Line feed                            LF or [J]   0AH
  1517. Send a line                          CR or [M]   0DH    #3
  1518. Send two lines                             [R]   12H    #4
  1519. Message macro flag                         [A]   01H    #5
  1520. End of message flag                        [@]   00H    #5
  1521. Repeat byte or macro flag                  [R]   12H    #5
  1522.  
  1523. #1áááOnl∙ unde≥ BUFFER-I╬ o≥ BUIL─ mode« Norma∞ L╞ otherwise.
  1524.  
  1525. #2áááOnl∙ whilσ thσ screeε i≤ activel∙ scrolling«  Thi≤ commanΣ wil∞ sto≡ thσ ì
  1526. áááááscrolling«á Pressinτá ▒ - ╖ wil∞ restar⌠ thσ scrollinτ a⌠ thσá specifieΣ ì
  1527. áááááspeed«á  ▒ i≤ thσ slowest¼á ╖ i≤ thσ fastest«á Pressinτ ░ wil∞ causσ thσ ì
  1528. áááááscrol∞ t∩ g∩ int∩ singlσ ste≡ mode╗á thereafter¼á pressinτ thσ spacσ ba≥ ì
  1529. áááááwil∞ singlσ ste≡ thσ scroll«á Pressinτ eithe≥ oµ ▒ - ╖ wil∞ causσá auto-ì
  1530. áááááscrollinτ t∩ continuσ a⌠ thσ choseε speed.
  1531.  
  1532. #3áááOnl∙ unde≥ BUFFER-I╬ o≥ BUIL─ mode« Norma∞ C╥ otherwise.
  1533.  
  1534. #4áááUnde≥ BUFFER-I╬ o≥ BUIL─ mode.
  1535.  
  1536. #5áááUnde≥ BUFFER-OU╘ mode.
  1537.  
  1538. #6áááControl-shif⌠á ke∙á a≤á implementeΣá oε thσá 3rΣá Generatioεá Electroniπ ì
  1539. áááááWarehousσ KeyboarΣ (PolleΣ Matri° TTL).
  1540.  
  1541. 3.3.2 -- PLACEMENT OF COMMANDS ON KEYBOARD.
  1542.  
  1543.      Thσá keyboarΣ layou⌠ oµ thσ command≤ fo≥ thσ 3rΣá Generatioεá Electroniπ ì
  1544. Warehousσ KeyboarΣ (PolleΣ Matri° TTL⌐ i≤ showε below« 
  1545.  
  1546. NOTES: 
  1547.  
  1548. *(1)  -  RETURN FROM ENTER-TEXT COMMAND
  1549. *(2)  -  SCROLL SPEED CONTROL WHILE SCROLLING
  1550. *(3)  -  CTRL-SHIFT GIVES BACK SPACE AND DELETE
  1551. *(4)  -  UNCOMMITTED CONTROLS (CP/M USES THESE)
  1552. ##    -  MUST CTRL-SHIFT TO OBTAIN FUNCTION
  1553.  
  1554.  
  1555. LEFT SIDE
  1556.  
  1557. +---------+---------+---------+---------+---------+---------+
  1558. |         |         |         |         |         |         |
  1559. | ESCAPE  |    1    |    2    |    3    |    4    |    5    |
  1560. |         |         |         |         |         |         |
  1561. +---------+------+--+------+--+------+--+------+--+------+--+
  1562. |                |        Q|        W|        E|        R|
  1563. |    HORIZONTAL  |  PAGE   | SCROLL  | REVERSE | 2 LINE  |
  1564. |       TAB      |  MODE   |  MODE   |  VIDEO  | RETURN  |
  1565. +---------+------+--+------+--+------+--+------+--+------+--+
  1566. |         |         |        A|        S|        D|        F|
  1567. |  CTRL   |  SHIFT  |  *(1)   |  *(2)   | INSERT  | INSERT  |
  1568. |         |  LOCK   |         |         |  CHAR   | GLOBAL  |
  1569. +---------+---------+-----+---+-----+---+-----+---+-----+---+
  1570. |         |               |        Z|        X|        C|
  1571. |   NULL  |     SHIFT     |  *(4)   |  *(4)   |  *(4)   |
  1572. |         |               |         |         |         |
  1573. +---------+---------------+---+-----+---------+---------+
  1574.                               |
  1575.                               |
  1576.                               |
  1577.                               +---------------------------
  1578.  
  1579. CENTER
  1580.  
  1581.     +---------+---------+---------+---------+---------+
  1582.     |         |         |         |         |         |
  1583.     |    6    |    7    |    8    |    9    |    0    |
  1584.     |         |         |         |         |         |
  1585.  +--+------+--+------+--+------+--+------+--+------+--+
  1586.  |        T|        Y|        U|        I|        O|
  1587.  | INSERT  | DELETE  |  *(4)   |   TAB   | CURSOR  |
  1588.  |  LINE   |  LINE   |         |         |  OFF    |
  1589.  +--+------+--+------+--+------+--+------+--+------+--+
  1590.     |        G|        H|        J|        K|         |
  1591.     | DELETE  |  BACK   |  CLEAR  |  HOME   |  CLEAR  |
  1592.     | GLOBAL  |  SPACE  |   LINE  |         |  SCREEN |
  1593. +---+-----+---+-----+---+-----+---+-----+---+-----+---+
  1594. |        V|        B|        N|        M|   ##   ,|
  1595. | DIRECT  | BOTTOM  | CURSOR  | RETURN  | CURSOR  |
  1596. |  VIDEO  | CURSOR  |   ON    |         |  LEFT   |
  1597. +---------+---------+---------+---------+---------+
  1598.  
  1599.                    SPACE    BAR
  1600.  
  1601. ---------------------------------------------------
  1602.  
  1603.  
  1604. RIGHT SIDE
  1605.  
  1606.     +---------+---------+---------+---------+---------+
  1607.     |   ##   -|        :|        ~|         |         |
  1608.     | CURSOR  |         |         |  BACK   |  BREAK  |
  1609.     |   UP    |         |         |  SPACE  |         |
  1610.  +--+------+--+------+--+------+--+------+--+------+--+
  1611.  |        P|        [|        ||         |         |
  1612.  |  PRINT  |         |         |  LINE   |  DELETE |
  1613.  |  TOGGLE |         |         |  FEED   |   *(3)  |
  1614.  +--+------+--+------+--+------+--+------+---------+---+
  1615.     |        ;|        @|        ]|                    |
  1616.     |         |         |         |       RETURN       |
  1617.     |         |         |         |                    |
  1618. +---+-----+---+-----+---+---------++---------+---------+
  1619. |   ##   .|   ##   /|              |         |         |
  1620. | CURSOR  | CURSOR  |    SHIFT     | REPEAT  |         |
  1621. |  RIGHT  |  DOWN   |              |         |         |
  1622. +---------+---------+--------------+---------+---------+
  1623.           |
  1624.           |
  1625.           |
  1626. ----------+
  1627.  
  1628. 3.4 -- DESCRIPTION OF THE MESSAGE MACRO PROCESSOR
  1629. =================================================
  1630.  
  1631.  
  1632.      IncorporateΣá iεá thσá CONSOL┼ SUBSYSTE═ i≤ ßá messagσá macr∩á processo≥ ì
  1633. (accesseΣá througΦá ENTRY-12⌐ whicΦ allow≤ yo⌡ t∩ havσ completσ contro∞á ove≥ ì
  1634. you≥á vide∩ screeε and/o≥ printe≥ througΦ packet≤ oµ ASCI╔ character≤á calleΣ ì
  1635. messagσ macros«á Thσ messagσ macr∩ processo≥ (hereafte≥ calleΣ MMP⌐ use≤á thσ ì
  1636. controlleΣ outpu⌠ processo≥ whicΦ yo⌡ caε acces≤ througΦ ENTRY-11« 
  1637.  
  1638.      Upoεá entr∙ througΦ ENTRY-1▓ thσ MM╨ expect≤ thσ startinτ addres≤ oµ thσ ì
  1639. primar∙ macr∩ t∩ bσ iε thσ H╠ registe≥ pair«á MM╨ theε start≤ t∩ proces≤á thσ ì
  1640. macr∩ anΣ continue≤ unti∞ i⌠ encounter≤ ß NUL╠ (00H⌐ byte« I⌠ theε return≤ t∩ ì
  1641. thσ caller.
  1642.  
  1643.      EacΦá macr∩ i≤ ß packe⌠ oµ ASCI╔ printablσ anΣ contro∞ character≤á endeΣ ì
  1644. witΦ ß NUL╠ ASCI╔ byte«á Aε asidσ a⌠ thi≤ point║á  Therσ arσ ß numbe≥ oµ way≤ ì
  1645. whicΦá yo⌡á coulΣ signa∞ thσ enΣ oµ ß message«á ┴ popula≥ onσ i≤ settinτá thσ ì
  1646. mos⌠á significan⌠á bi⌠á oµ ß bytσ high«á Thi≤ save≤á onσá bytσá pe≥á message╗ ì
  1647. however¼á yo⌡ arσ limiteΣ t∩ onl∙ thσ lega∞ 12╕ ASCI╔ characters« Man∙ oµ yo⌡ ì
  1648. havσá reversσ vide∩ o≥ graphic≤ option≤ availablσ oε you≥ vide∩á controllers« ì
  1649. settinτá bi⌠ ╖ higΦ woulΣ negatσ you≥ usσ oµ thesσ options«á CP/═á recognize≤ ì
  1650. thi≤á probleφ b∙ usinτ thσ dolla≥ sigε [$▌ a≤ aε enΣ oµ messagσ signal«á But¼ ì
  1651. thi≤á mean≤á tha⌠ yo⌡ canno⌠ usσ dolla≥ sign≤ iε you≥ messagσá -- ßá definitσ ì
  1652. hindrancσ iε writinτ busines≤ software«á Thσ NUL╠ bytσ i≤ seldoφ availablσ oε ì
  1653. ASCI╔ keyboard≤ anΣ i≤ ver∙ seldoφ useΣ iε popula≥ software« Thσ NUL╠ bytσ iε ì
  1654. ou≥ opinioε i≤ thσ mos⌠ innocuou≤ choice.
  1655.  
  1656.      MM╨á ha≤ tw∩ maiε function≤ availablσ t∩ you¼á whicΦ wil∞ le⌠á yo⌡á makσ ì
  1657. ful∞á usσá oµ thσ contro∞ command≤ iε ß repeatablσ and/o≥ recursivσá way«á Iε ì
  1658. usinτá thσá submacr∩ functioε yo⌡ caε inser⌠ othe≥ messagσ macro≤á int∩á you≥ ì
  1659. primar∙ message« Yo⌡ caε repea⌠ an∙ ASCI╔ bytσ o≥ submacr∩ througΦ thσ repea⌠ ì
  1660. function.
  1661.  
  1662. 3.4.1 -- SUBMACRO FUNCTION
  1663.          =================
  1664.  
  1665.      Thσ submacr∩ functioε i≤ ß recursivσ routinσ whicΦ allow≤ yo⌡ t∩á inser⌠ ì
  1666. macro≤ withiε macro≤ withiε macros¼á etc«á Wha⌠ doe≤ thi≤ reall∙ mean┐  Well¼ ì
  1667. yo⌡á no≈á havσ thσ capabilit∙ t∩ add¼á mix¼á o≥ matcΦ word≤ o≥á phrase≤á int∩ ì
  1668. intelligen⌠ message≤ froφ ß limiteΣ word/phrasσ dictionar∙ o≥ list«á Al∞ tha⌠ ì
  1669. i≤ necessar∙ is:
  1670.  
  1671. [1]- First¼á builΣá ßá grou≡á oµ word/phrasσ macros¼á eacΦ pointeΣ t∩á b∙á aε ì
  1672. addres≤ label¼ sucΦ as:
  1673.  
  1674.                 WD01    DEFM    'COMMAND '
  1675.                         DEFB    NULL
  1676.                 WD02    DEFM    'ERROR '
  1677.                         DEFB    NULL
  1678.                 WD03    DEFM    '; REENTER '
  1679.                         DEFB    NULL
  1680.  
  1681. [2]- Next, build the primary macro, such as:
  1682.  
  1683.                 MSG1    DEFB    1,4
  1684.                         DEFW    WD01,WD02,WD03,WD01
  1685.                         DEFM    'AGAIN '
  1686.                         DEFB    NULL
  1687.  
  1688. [3]- Last, just send the message to the console subsystem, such as:
  1689.  
  1690.                         LD      HL,MSG1
  1691.                         CALL    VIDPRO
  1692.  
  1693. Thσá firs⌠ linσ oµ MSG▒ contaiε thσ Submacr∩ Functioε CommanΣ anΣ thσá numbe≥ ì
  1694. oµá Submacro≤ t∩ bσ imbedded«á Thσ nex⌠ linσ contain≤ thσ addresse≤ oµ thσá ┤ ì
  1695. respectivσá submacro≤ t∩ bσ imbedded«á Linσ threσ contain≤ thσ primar∙á macr∩ ì
  1696. characters« Thσ las⌠ linσ i≤ thσ nul∞ bytσ requireΣ t∩ enΣ thσ message.
  1697.  
  1698. Thσ abovσ examplσ woulΣ say¼ "COMMAN─ ERRO╥ ╗ REENTE╥ COMMAND"«  Thi≤ messagσ ì
  1699. i≤ 3▒ character≤ long«á I⌠ tooδ 1╖ byte≤ t∩ builΣ thσ primar∙ macro«á Iµá yo⌡ ì
  1700. definσá submacro≤á whicΦá arσ useΣ morσ thaε once¼á yo⌡ caε realizσá ßá grea⌠ ì
  1701. saving≤ iε memory«á Yo⌡ havσ aε ove≥ heaΣ oµ ▒ NUL╠ bytσ anΣ ▓ addres≤á byte≤ ì
  1702. pe≥á submacr∩á use«á ┴ submacr∩ messagσ shoulΣ bσ a⌠ leas⌠ si° byte≤ lonτá t∩ ì
  1703. realizσ ß saving≤ afte≥ thσ firs⌠ usσ oµ thσ submacro.
  1704.  
  1705. 3.4.2 -- REPEAT FUNCTION
  1706.          ===============
  1707.  
  1708.      Thi≤á functioε allow≤ yo⌡ t∩ repea⌠ ß numbe≥ oµ identica∞ ASCI╔á displa∙ ì
  1709. o≥ contro∞ bytes«á I⌠ als∩ allow≤ yo⌡ t∩ repea⌠ ß grou≡ oµ submacro≤ ß numbe≥ ì
  1710. oµ time≤ a≤ well«á Thσ repea⌠ functioε commanΣ i≤ ß CTRL-R¼á [12H]«  Thσ bytσ ì
  1711. followinτ immediatel∙ afte≥ thσ commanΣ bytσ i≤ thσ repea⌠ coun⌠ byte« Iµ thσ ì
  1712. bytσá followinτá thσ coun⌠ bytσ i≤ thσ submacr∩ command¼á theεá thσá functioε ì
  1713. assume≤á thσá specifieΣ imbeddeΣ submacro≤ arσ t∩ bσ repeateΣá thσá specifieΣ ì
  1714. numbe≥á oµá times«á Otherwise¼á thσ functioε repeat≤ thσ bytσá specifieΣá thσ ì
  1715. specifieΣ numbe≥ oµ times.
  1716.  
  1717. Example 1:
  1718.  
  1719.                MSG2    DEFB    HOME,RPT,N1,CDN,RPT,N2,CRT,NULL
  1720.  
  1721. Thi≤ examplσ wil∞ movσ thσ curso≥ t∩ an∙ positioε oε thσ screeε b∙ usinτ onl∙ ì
  1722. ╕ bytes«  Where:
  1723.  
  1724.         HOME - Home cursor to upper right corner of screen.
  1725.         RPT  - Repeat function command.
  1726.       N1,N2  - Number of repeats specified (binary).
  1727.         CDN  - Cursor down command.
  1728.         CRT  - Cursor right command.
  1729.  
  1730.  
  1731. Example 2:
  1732.  
  1733.         MSG3    DEFB    CR,RPT,64,SPACE,PAGE,CUP,SCROLL,NULL
  1734.  
  1735. Thi≤ examplσ wil∞ clea≥ ß linσ whilσ unde≥ scrol∞ mode«  Where:
  1736.  
  1737.         CR   - Carriage return command.
  1738.         PAGE - Set page mode command.
  1739.       SCROLL - Set scroll mode command.
  1740.         CUP  - Cursor up command.
  1741.  
  1742. A≤ yo⌡ caε seσ thσ functioε caε givσ yo⌡ completσ contro∞ ove≥ thσ screeεá oµ ì
  1743. you≥á video«á CoupleΣá witΦá thσ submacr∩ commanΣ yo⌡ havσá ßá ver∙á powerfu∞ ì
  1744. animatioε contro∞ ove≥ you≥ screeε witΦ minima∞ effor⌠ anΣ memor∙ usage.
  1745.  
  1746.                           4.0 -- CASSETTE SUBSYSTEM
  1747.                           =========================
  1748.                               (RELEASE A ONLY)
  1749.  
  1750.  
  1751. 4.1 -- GENERAL DESCRIPTION
  1752. ==========================
  1753.  
  1754.  
  1755.      Thσá CASSETT┼ SUBSYSTE═ give≤ yo⌡ tapσ I/╧ usinτ cassettσ magnetiπ tape« ì
  1756. I⌠á wil∞á drivσá thσ TELETE╦ (DAJEN⌐ Universa∞á Cassettσá Recorde≥á Interfacσ ì
  1757. (UCRI)« Thσ subsysteφ wil∞ creatσ TELETE╦ anΣ ZAPPL┼ formatteΣ file≤ anΣ wil∞ ì
  1758. reaΣ TELETEK¼á TARBELL¼ anΣ ZAPPL┼ formatteΣ files« Thσ subsysteφ i≤ composeΣ ì
  1759. oµ threσ sections║á Corσ cassettσ drive≥ routines¼á TELETE╦ I/╧ drivers¼á anΣ ì
  1760. thσ ZAPPL┼ I/╧ drivers.
  1761.  
  1762.      Thi≤á Subsysteφá i≤ onl∙ includeΣ iε Releasσ ┴ versioε oµá thσá monitor« ì
  1763. Releasσ ┬ doe≤ no⌠ requirσ thi≤ subsysteφ sincσ i⌠ ha≤ it≤ cassettσá routine≤ ì
  1764. buil⌠á a≤ transien⌠ command≤ whicΦ residσ oε CP/═ disδ files«á However¼á thi≤ ì
  1765. sectioεá oµá thσá manua∞ wil∞ hel≡ yo⌡ understanΣ thσá cassettσá routine≤á oµ ì
  1766. Releasσ ┬ sincσ thei≥ actioε arσ essentiall∙ identica∞ t∩ Releasσ A.
  1767.  
  1768. 4.2 -- SUBSYSTEM INTERFACE
  1769. ==========================
  1770.  
  1771.  
  1772.      Fo≥ inter-subsysteφ communication≤ thσ CASSETT┼ SUBSYSTE═ contain≤ aε 1▒ ì
  1773. entr∙á jum≡á table¼á ß ▓ cal∞ jum≡ tablσ t∩ thσ consolσá subsystem¼á anΣá onσ ì
  1774. addres≤ pointinτ t∩ thσ subsysteφ variablσ worδ space« Thesσ arσ a⌠ thσ fron⌠ ì
  1775. oµ thσ subsystem« Thσ entrie≤ arσ a≤ follows:
  1776.  
  1777. áááááááááá        OR╟     TBASE
  1778. ááááááááááENTRY▒  J╨      TINI╘   ;INITIALIZ┼ TH┼ SUBSYSTEM
  1779. ááááááááááENTRY▓  J╨      ZSAV┼   ;ZAPPL┼ WRIT┼ CASSETTE
  1780. ááááááááááENTRY│  J╨      ZLOA─   ;ZAPPL┼ REA─ CASSETTE
  1781. ááááááááááENTRY┤  J╨      WRIT┼   ;TELETE╦ WRIT┼ CASSETTE
  1782. ááááááááááENTRY╡  J╨      REA─    ;TELETE╦ REA─ CASSETTE
  1783. ááááááááááENTRY╢  J╨      WROPE╬  ;COR┼ OPE╬ WRIT┼ CASSETTE
  1784. ááááááááááENTRY╖  J╨      WRBYT┼  ;COR┼ WRIT┼ ┴ BYTE
  1785. ááááááááááENTRY╕  J╨      WRCL╙   ;COR┼ CLOS┼ WRIT┼ CASSETTE
  1786. ááááááááááENTRY╣  J╨      RDOPE╬  ;COR┼ OPE╬ REA─ CASSETTE
  1787. ááááááááááENTRY1░ J╨      RDBYT┼  ;COR┼ REA─ ┴ BYTE
  1788. ááááááááááENTRY1▒ J╨      RDCL╙   ;COR┼ CLOS┼ REA─ CASSETTE
  1789.  
  1790. The external calls are as follows:
  1791.  
  1792. áááááááááá        OR╟     TBASE+21H
  1793. ááááááááááXCALL▒  J╨      CBASE+09╚       ;UNSTROBE─ KE┘ ENTRY
  1794. ááááááááááXCALL▓  J╨      CBASE+21╚       ;BUFFERE─ MESSAG┼ OUT
  1795.  
  1796.      Thσáá variablσáá worδá spacσá beginninτá addres≤á [TWORK▌áá reside≤áá a⌠ ì
  1797. [TBASE+27H]« Thi≤ allow≤ yo⌡ t∩ changσ thσ worδ spacσ positioε withou⌠ havinτ ì
  1798. t∩ reassemblσ thσ subsystem«á Thσ subsysteφ obtain≤ thi≤ addres≤ eacΦ timσ aε ì
  1799. entr∙á i≤ madσ t∩ thσ subsysteφ anΣ store≤ i⌠ iε thσ inde° registe≥á IY«á Al∞ ì
  1800. thσ variable≤ arσ accesseΣ viß thσ inde° register«á Thσ variablσ storagσá ma≡ ì
  1801. i≤ a≤ follows:
  1802.  
  1803. ááááááááááUSE─ I╬ TH┼ COR┼ ROUTIN┼ SECTION
  1804.  
  1805. ááááááááááTWORK+00╚       SYN├    ;Syncronizatioε byte
  1806.  
  1807. ááááááááááUSE─ I╬ COR┼ AN─ ZAPPL┼ SECTIONS
  1808.  
  1809. ááááááááááTWORK+01╚       MOD┼    ;CASSETT┼ MODE
  1810. áááááááááá                             [00H]-writσ mode
  1811. áááááááááá                             [01H]-reaΣ mode
  1812. áááááááááá                             [02H]-idlσ mode
  1813.  
  1814. áááááááááá        USE─ I╬ TH┼ ZAPPL┼ SECTION
  1815.  
  1816. ááááááááááTWORK+02╚       LAS╘    ;Las⌠ bytσ writteε o≥ read
  1817. ááááááááááTWORK+03╚       FCT╥    ;[FFH▌ counter
  1818. ááááááááááTWORK+04╚       FEN─    ;EO╞ flag
  1819.  
  1820. 4.│ -- COR┼ CASSETT┼ ROUTINES
  1821. =============================
  1822.  
  1823.  
  1824.      Thesσá routine≤ arσ thσ primar∙ driver≤ whicΦ providσ thσ interfacσ froφ ì
  1825. thσá TELETE╦á UCR╔á t∩ thσ monito≥ anΣá use≥á routines«á Thesσá routine≤á arσ ì
  1826. completel∙á independen⌠á oµ externa∞ contro∞ excep⌠ througΦ cal∞á entrie≤á t∩ ì
  1827. them«á The∙á caεá bσá useΣ fo≥ buildinτ additiona∞ cassettσá I/╧á driver≤á o≥ ì
  1828. cassettσ operatioε system≤ independen⌠ oµ thσ monito≥ anΣ it≤ subsystems.
  1829.  
  1830.      Thσá opeεá anΣ closσ routine≤ wil∞ se⌠ thσ variablσ [MODE▌ t∩ [00H▌á fo≥ ì
  1831. writσ cassette¼á [01▌ fo≥ reaΣ cassette¼ anΣ [02▌ fo≥ idle« Thi≤ variablσ caε ì
  1832. bσá useΣ t∩ optimizσ you≥ I/╧ drive≥ routines«á I⌠ i≤ useΣ iε thσ ZAPPL┼á I/╧ ì
  1833. drive≥ section«á Upoε returε froφ thesσ routine≤ thσ carr∙ flaτ i≤ se⌠ iµá aε ì
  1834. erro≥ conditioε o≥ aε abor⌠ conditioε exists« Thσ calle≥ i≤ expecteΣ t∩ reac⌠ ì
  1835. appropriately.
  1836.  
  1837.      Therσ arσ eigh⌠ corσ routines«  Thesσ are:
  1838.  
  1839. ááááááááááCTIN╨  -  Inpu⌠ ß bytσ froφ thσ cassette«á Oε return¼á thσ carr∙ i≤ ì
  1840. ááááááááááse⌠ iµ aε abor⌠ i≤ senseΣ (escapσ ke∙ i≤ pressed)«á Thσ res⌠ oµ thσ ì
  1841. ááááááááááentrie≤ belo≈ als∩ usσ thσ samσ returε condition.
  1842.  
  1843. ááááááááááCTOU╘  -  Outpu⌠ ß bytσ t∩ thσ cassette.
  1844.  
  1845. ááááááááááOPIN╨  -  Se⌠ MOD┼ t∩ input¼á star⌠ thσ cassette¼ looδ fo≥ ß prope≥ ì
  1846. áááááááááálevel¼á wheεá founΣ initializσ thσ UAR╘ t∩ looδ fo≥ thσ SYN├á byte¼ ì
  1847. ááááááááááanΣ theε return.
  1848.  
  1849. ááááááááááOPOU╘  -  Se⌠ MOD┼ t∩ output¼á star⌠ thσ cassette¼á outpu⌠ one-halµ ì
  1850. ááááááááááseconΣ oµ silence¼á outpu⌠ 4-1/▓ seconΣ leade≥ oµ NULL≤ (00H)¼á anΣ ì
  1851. ááááááááááoutpu⌠ thσ SYN├ byte.
  1852.  
  1853. ááááááááááCLIN╨  -  Se⌠ MOD┼ t∩ idle¼ cal∞ OFFCAS¼ theε return.
  1854.  
  1855. ááááááááááCLOU╘  -  Se⌠ MOD┼ t∩ idle¼ outpu⌠ one-halµ seconΣ oµ NULLs¼ outpu⌠ ì
  1856. ááááááááááone-halµ seconΣ oµ silence¼ theε sto≡ thσ cassette.
  1857.  
  1858. ááááááááááOFFCA╙ -  Coas⌠ fo≥ ß halµ ß seconΣ theε sto≡ thσ cassette.
  1859.  
  1860. ááááááááááERRO╥  -  Cal∞ CLINP¼ se⌠ carr∙ flag¼ theε return.
  1861.  
  1862. 4.4 -- TELETEK I/O DRIVER SECTION
  1863. =================================
  1864.  
  1865.  
  1866.      Thσá TELETE╦á I/╧ drive≥ sectioε wil∞ crea⌠ o≥ writσá TELETE╦á formatteΣ ì
  1867. file≤á anΣ reaΣ TARBEL╠ o≥ TELETE╦ formatteΣ files«á I⌠ wil∞ writσ thσ entirσ ì
  1868. filσá a≤ specifieΣ b∙ thσ B├ anΣ H╠ registe≥ pairs«á I⌠ wil∞ reaΣ thσá entirσ ì
  1869. filσ a≤ specifieΣ b∙ thσ ┴ registe≥ anΣ thσ B├ anΣ H╠ registe≥ pairs« 
  1870.  
  1871.         4.4.▒ -- Writinτ ß file║á Thσ H╠ registe≥ pai≥ i≤ expecteΣ t∩ contaiε ì
  1872. thσ beginninτ addres≤ oµ thσ filσ iε memory« Thσ B├ registe≥ pai≥ i≤ expecteΣ ì
  1873. t∩ contaiε thσ filσ sizσ iε bytes« Thσ filσ i≤ writteε oε thσ cassettσ iε onσ ì
  1874. blocδ iε thσ TELETE╦ forma⌠ whicΦ i≤ a≤ follows:
  1875.  
  1876. 1. ááááá1/▓ seconΣ oµ silen⌠ leader.
  1877. 2. ááááá┤ anΣ 1/▓ seconΣ leade≥ oµ NULL≤ [00H].
  1878. 3. ááááá▒ clocδ bytσ [3CH].
  1879. 4. ááááá▒ synπ bytσ [E6H].
  1880. 5.áááááá1╢ bi⌠ beginninτ addres≤ oµ file¼ lo≈ orde≥ bytσ firs⌠ theε ì
  1881. ááááááááthσ higΦ orde≥ byte¼ INTE╠ style.
  1882. 6.áááááá1╢ bi⌠ filσ sizσ count¼á higΦ orde≥ bytσ firs⌠ theε thσ lo≈ ì
  1883. ááááááááorde≥ bytσ next.
  1884. 7. áááááTota∞ memor∙ file.
  1885. 8. áááááChecksuφ bytσ oµ thσ cassettσ filσ includinτ thσ thσ tw∩ 1╢ ì
  1886. áááááááábi⌠ variables.
  1887. 9. ááááá1/▓ seconΣ traile≥ oµ NULLs.
  1888. 10. áááá1/▓ seconΣ silen⌠ trailer.
  1889.  
  1890.         4.4.▓ -- Readinτ ß file║á Tw∩ option≤ arσ available«á Thesσ arσá REA─ ì
  1891. TELETE╦ anΣ REA─ TARBELL«á Registe≥ ┴ i≤ expecteΣ t∩ contaiε thσ optioε byte║ ì
  1892. [00H▌ - REA─ TELETEK¼ [01H▌ - REA─ TARBELL.
  1893.  
  1894.      REA─ TELELE╦ wil∞ expec⌠ thσ firs⌠ fou≥ byte≤ oε thσ cassettσ filσ t∩ bσ ì
  1895. thσá beginninτ memor∙ addres≤ anΣ thσ filσ sizσ iε byte≤ accordinτ t∩ TELETE╦ ì
  1896. format¼ anΣ expect≤ ß 1╢ bi⌠ BIA╙ t∩ bσ iε thσ H╠ registe≥ pair« Thi≤ BIA╙ i≤ ì
  1897. addeΣá oε thσ beginninτ addres≤ oµ thσ cassettσ file«á ┴ runninτ checksuφá i≤ ì
  1898. kep⌠ whilσ thσ filσ i≤ beinτ reaΣ iε anΣ i≤ checkeΣ agains⌠ thσ cassettσ filσ ì
  1899. checksum« Iµ the∙ arσ differen⌠ theε ß checksuφ erro≥ messagσ wil∞ bσ sen⌠ t∩ ì
  1900. thσ console.
  1901.  
  1902.      REA─á TARBEL╠ wil∞ expec⌠ thσ beginninτ memor∙ addres≤ t∩ bσ iεá thσá H╠ ì
  1903. registe≥á pai≥ anΣ thσ filσ sizσ t∩ bσ iε thσ B├ registe≥ pair«á Thi≤á optioε ì
  1904. wil∞á continuσá t∩á reaΣá thσ cassettσ unti∞ thσ specifieΣá memor∙á blocδá i≤ ì
  1905. filled«á Yo⌡ shoulΣ bσ cautioneΣ tha⌠ iµ yo⌡ attemp⌠ t∩ reaΣ ß cassettσá filσ ì
  1906. smalle≥ thaε thσ specifieΣ memor∙ block¼á thσ routinσ coulΣ locδ up« Pressinτ ì
  1907. thσ ESCAP┼ ke∙ wil∞ clea≥ thσ lock.
  1908.  
  1909. 4.5 -- THE ZAPPLE I/O DRIVER SECTION
  1910. ====================================
  1911.  
  1912.  
  1913.      Thi≤ sectioε wil∞ savσ anΣ loaΣ ZAPPL┼ files« Writinτ anΣ readinτ ZAPPL┼ ì
  1914. file≤á create≤á ßá probleφ whicΦ i≤ no⌠ easil∙ solved«á Thσá cassettσá drive≥ ì
  1915. routinσá ha≤ t∩ contenΣ witΦ knowinτ wheε ß filσ i≤ starteΣ anΣ wheεá i⌠á ha≤ ì
  1916. ended« ZAPPL┼ softwarσ wa≤ baseΣ oε TT┘ papertapσ reade≥ anΣ puncΦ files« Thσ ì
  1917. softwarσá send≤ n∩ indicatioε oε thσ star⌠ anΣ enΣ oµ thσ filσ excep⌠ tha⌠ i⌠ ì
  1918. use≤ eigh⌠ MAR╦ byte≤ [FFH▌ iε ß sequencσ fo≥ thσ beginninτ anΣ endinτ oµ thσ ì
  1919. file«á T∩á alleviatσ thσ problem¼á thσ drive≥ wa≤ designeΣ t∩ anticipatσá thσ ì
  1920. beginninτ anΣ endinτ oµ thσ file≤ b∙ thσ followinτ scheme:
  1921.  
  1922. 1.ááááááááPrio≥á t∩á encounterinτ thσ firs⌠ cal∞á froφá thσá caller¼á (ZAPPL┼ ì
  1923. áááááááááásoftware⌐ thσ cassettσ drive≥ shoulΣ havσ beeε properl∙ se⌠ t∩ IDL┼ ì
  1924. ááááááááááMODE« 
  1925.  
  1926. 2.ááááááááUpoε encounterinτ thσ firs⌠ cal∞ t∩ thσ driver¼ thσ drive≥ wil∞ se⌠ ì
  1927. ááááááááááthσá MOD┼ t∩ REA─ o≥ WRIT┼ dependinτ oε whicΦ cal∞ entry¼á LOA─á o≥ ì
  1928. ááááááááááSAVE.
  1929.  
  1930. 3.ááááááááIµá thσ firs⌠ bytσ i≤ no⌠ ß MAR╦ byte¼á theε aε abor⌠ i≤á initiateΣ ì
  1931. áááááááááá(cassettσ i≤ turneΣ off¼á thσ drive≥ i≤ rese⌠ t∩ IDL┼ MODE¼ anΣ thσ ì
  1932. áááááááááácarr∙ flaτ i≤ se⌠ upoε return).
  1933.  
  1934. 4.ááááááááThσá drive≥á wil∞ continuσ t∩ receivσ o≥ senΣ (savσ o≥ load⌐á byte≤ ì
  1935. ááááááááááunti∞ i⌠ encounter≤ thσ seconΣ se⌠ oµ MAR╦ bytes«á Thσ drive≥á theε ì
  1936. ááááááááááturn≤á ofµ thσ recorde≥ afte≥ ß fe≈ housekeepinτ chores¼á reset≤ t∩ ì
  1937. ááááááááááIDL┼ MODE¼ anΣ return≤ fo≥ thσ fina∞ time.
  1938.  
  1939.      Yo⌡á mus⌠á understanΣá tha⌠ thσ onl∙ communicatioε t∩á anΣá froφá ZAPPL┼ ì
  1940. softwarσá i≤ viß thσ byte≤ passeΣ t∩ anΣ froφ thσ I/╧ driver«á N∩á othe≥á I/╧ ì
  1941. avenue≤á arσ established«á Thi≤ present≤ ß probleφ iε thσ even⌠ tha⌠ iµá you≥ ì
  1942. ZAPPL┼ softwarσ crashe≤ anΣ iε doinτ s∩ leave≤ you≥ cassettσ recorde≥ on«á T∩ ì
  1943. reinitializσá thσ I/╧ drive≥ withou⌠ wipinτ you≥ program¼á pres≤ thσ rese⌠ oε ì
  1944. you≥á system«áá Thi≤á wil∞á reinitializσá thσá monito≥á whicΦá iεá turεá wil∞ ì
  1945. reinitializσá thσá cassettσ subsystem«á Yo⌡ theε caε reboo⌠á t∩á you≥á ZAPPL┼ ì
  1946. softwarσá througΦ it≤ warφ reboo⌠ vector«á Thi≤ methoΣ wil∞ onl∙ worδ iµá yo⌡ ì
  1947. havσ ß systeφ witΦ power-oε jum≡ vectoring.
  1948.  
  1949.                              5.0 DISK SUBSYSTEM
  1950.                              ==================
  1951.  
  1952.  
  1953. 5.1 -- GENERAL DESCRIPTION
  1954. ==========================
  1955.  
  1956.      Thi≤á subsysteφá tie≤á CP/M¼á thσá disδ operatinτá systeφá froφá Digita∞ ì
  1957. ResearcΦá oµá California¼á int∩ thσ Systeφ Monito≥ s∩ tha⌠ the∙ botΦá ac⌠á iε ì
  1958. concer⌠ witΦ eacΦ other«á Wheε thσ command≤ COP┘ anΣ VERIF┘ arσ envoked¼á thσ ì
  1959. Systeφá Monito≥á wil∞á boo⌠á u≡ CP/M¼á loaΣá thσá specifieΣá COP┘á o≥á VERIF┘ ì
  1960. subcommand¼á anΣá theεá executσ thσ subcommand«á Iε orde≥ t∩ d∩ thi≤á withou⌠ ì
  1961. changinτá o≥ alterinτ CP/M¼á ß fe≈ trick≤ werσ pulled«á Thesσá arσá explaineΣ ì
  1962. below«á Essentially¼ thσ Systeφ Monito≥ intercept≤ thσ consolσ status¼ input¼ ì
  1963. anΣá outpu⌠á vector≤á a≤ wel∞ a≤ thσ printe≥ outpu⌠ vecto≥á anΣá incorporate≤ ì
  1964. thesσ dynamicall∙ int∩ thσ Systeφ Monito≥ Consolσ I/╧ subsystem.
  1965.  
  1966.  
  1967. 5.2 -- SUBSYSTEM INTERFACE
  1968. ==========================
  1969.  
  1970.      Thσ subsysteφ ha≤ tw∩ entries:
  1971.  
  1972.         ENTRY1  JP      DINIT   ;DISK SUBSYSTEM INITIALIZATION
  1973.         ENTRY2  JP      DMAIN   ;DISK MAIN ENTRY
  1974.  
  1975. 5.3 -- TRANSIENT COMMAND EXECUTION PROCESS
  1976. ==========================================
  1977.  
  1978.      Thσ Systeφ Monito≥ wil∞ activatσ thσ Disδ Subsysteφ t∩ loaΣ ßá transien⌠ ì
  1979. commanΣá residinτá iεá ßá CP/═á disδ filσ wheε yo⌡ ente≥á ßá COP┘á o≥á VERIF┘ ì
  1980. subcommanΣ no⌠ residen⌠ iε memory« Thσ executioε proces≤ i≤ a≤ follows:
  1981.  
  1982. 1.áááThσ Disδ Subsysteφ boot≤ iε CP/M'≤ secondar∙ boo⌠ residinτ iε thσá firs⌠ ì
  1983. ááááásecto≥ oµ tracδ zer∩ oµ drivσ [A]« I⌠ theε overlay≤ ß returε vecto≥ bacδ ì
  1984. ááááát∩ thσ Disδ Subsysteφ ove≥ thσ origina∞ CP/═ vecto≥ t∩ it≤ CC╨ executioε ì
  1985. áááááaddress«á Thσá Disδ Subsysteφ wil∞ theε jum≡ t∩ thσ loadeΣ boo⌠ whicΦ iε ì
  1986. áááááturε load≤ iε thσ res⌠ oµ thσ CP/═ system.
  1987.  
  1988. 2.áááAfte≥á bootinτá iε CP/═ anΣ returninτ bacδ t∩ thσá Disδá Subsystem¼á thσ ì
  1989. ááááásubsysteφ theε determine≤ wherσ CP/═ wa≤ loadeΣ int∩ memor∙ b∙ obtaininτ ì
  1990. áááááCP/M'≤ BDO╙ executioε addres≤ whicΦ i≤ storeΣ a⌠ memor∙ addres≤ [0006H].
  1991.  
  1992. 3.áááThσ subsysteφ theε trie≤ t∩ finΣ thσ requesteΣ COP┘ o≥ VERIF┘ subcommanΣ ì
  1993. áááááutilit∙ filσ oε thσ disk«á Iµ no⌠ successfu∞ theε thσ erro≥ messagσ "NO╘ ì
  1994. áááááFOUNDóá i≤á displayeΣ oε thσ consolσ anΣ thσ Systeφ Monito≥á return≤á t∩ ì
  1995. ááááácommanΣ entr∙ mode.
  1996.  
  1997. 4.áááIµá thσá subcommanΣ utilit∙ i≤ found¼á thσá utilit∙á i≤á loaded¼á Systeφ ì
  1998. áááááMonito≥á restar⌠á i≤á pusheΣ ont∩ thσ stack¼á anΣ thσá utilit∙á i≤á theε ì
  1999. áááááexecuteΣ b∙ jumpinτ t∩ locatioε [0100H].
  2000.  
  2001.  
  2002. 5.4 -- SUBSYSTEM BOOT ROUTINE
  2003. =============================
  2004.  
  2005.      Thσ subsysteφ boo⌠ routinσ i≤ identica∞ t∩ thσ CP/═ primar∙ boo⌠ routinσ ì
  2006. residinτá iεá it≤ BIO╙ section¼á witΦ thσ exceptioε tha⌠ i⌠ change≤ thσá exi⌠ ì
  2007. vecto≥á oµá thσá secondar∙ boo⌠ t∩ poin⌠ bacδ t∩ thσá subsyteφá a≤á explaineΣ ì
  2008. above«á Thσ boo⌠ iε thσ presen⌠ releasσ oµ thi≤ Systeφ Monito≥ i≤á compatiblσ ì
  2009. t∩ thσ S.D« Sale≤ Versaflopp∙ Controller« Iµ yo⌡ havσ ß differen⌠ controller¼ ì
  2010. theε yo⌡ mus⌠ replacσ thσ boo⌠ witΦ yours«á Seσ sectioε 7.░ oε implementatioε ì
  2011. fo≥ detaileΣ instructions.
  2012.  
  2013.                           6.0 I/O VECTOR SUBSYSTEM
  2014.                           ========================
  2015.  
  2016.  
  2017. 6.1 -- GENERAL DESCRIPTION
  2018. ==========================
  2019.  
  2020.      Thi≤á subsysteφá implement≤á thσ INTE╠ I/╧á vecto≥á assignmen⌠á standarΣ ì
  2021. througΦá thσ "IOBYTEó function«á Thσ subsysteφ allow≤ yo⌡ t∩ flexibl∙á assigε ì
  2022. anΣá reassigεá physica∞á I/╧á device≤ t∩á logica∞á I/╧á oµá you≥á applicatioε ì
  2023. software« Thσ monito≥ itselµ doe≤ no⌠ usσ thσ "IOBYTEó function¼ howeve≥ thi≤ ì
  2024. subsysteφ wil∞ suppor⌠ fou≥ type≤ oµ logica∞ I/╧ device≤ defineΣ b∙ thσ INTE╠ ì
  2025. I/╧á assignmen⌠ standard«á  Thesσ arσ thσ console¼á reader¼á punch¼á anΣ lis⌠ ì
  2026. devices«á  EacΦ oµ thesσ iε turε caε bσ an∙ onσ oµ fou≥ physica∞ I/╧ devices« ì
  2027. Thσá subsysteφá presentl∙á support≤ ß keyboarΣ anΣ ßá vide∩á displa∙á a≤á thσ ì
  2028. consolσ device¼ anΣ ß linσ printe≥ a≤ thσ lis⌠ device« Iε addition¼ Releasσ ┴ ì
  2029. oµá thσá monito≥á support≤ cassettσ inpu⌠ a≤ thσ reade≥ devicσá anΣá cassettσ ì
  2030. outpu⌠ a≤ thσ puncΦ device«á Releasσ ┬ wil∞ immediatel∙ returε t∩ thσá calle≥ ì
  2031. witΦá thσá CARR┘ flaτ SE╘ fo≥ botΦ reade≥ anΣ puncΦá devices«á Thσá subsysteφ ì
  2032. contain≤á ßá vecto≥ tablσ fo≥ additiona∞ device≤ yo⌡ ma∙ wan⌠á t∩á add«á Thi≤ ì
  2033. allow≤ yo⌡ t∩ havσ 1╢ differen⌠ combination≤ oµ assigneΣ devices.
  2034.      Sincσá thσá othe≥ subsystem≤ oµ thi≤ monito≥ d∩ no⌠ usσ thi≤á subsystem¼ ì
  2035. yo⌡á ma∙á deletσá i⌠á froφ thσ monito≥ packagσá iµá yo⌡á s∩á desire«á I⌠á wa≤ ì
  2036. implementeΣá fo≥ you≥ benifit«á However¼á thi≤ subsysteφ point≤ t∩ I/╧ drive≥ ì
  2037. routine≤á iεá thσ consolσ anΣ cassettσ (Releasσ ┴ only⌐á subsystem≤á anΣá thσ ì
  2038. memor∙á tes⌠ routinσ oµ thσ monito≥ commanΣ subsystem«á Therefore¼á yo⌡á mus⌠ ì
  2039. kee≡ thosσ subsystem≤ intac⌠ iµ yo⌡ usσ thi≤ subsystem.
  2040.  
  2041.  
  2042. 6.2 -- SUBSYSTEM INTERFACE
  2043. ==========================
  2044.  
  2045.      Thσá subsysteφ implement≤ thσ XITA╬ (formerl∙ TDL⌐ I/╧ vecto≥ jum≡ tablσ ì
  2046. forma⌠á anΣ i≤ compatiblσ t∩ ZAPPL┼ software«á Thi≤ tablσ i≤ locateΣá a⌠á thσ ì
  2047. fron⌠ oµ thσ subsystem« Thσ tablσ is:
  2048.  
  2049.                 ORG     IOBASE
  2050.         ENTRY0  JP      START   ;COLD START OF THE MONITOR
  2051.         ENTRY1  JP      CINP    ;CONSOLE INPUT
  2052.         ENTRY2  JP      RINP    ;READER INPUT
  2053.         ENTRY3  JP      COUT    ;CONSOLE OUTPUT
  2054.         ENTRY4  JP      POUT    ;PUNCH OUTPUT
  2055.         ENTRY5  JP      LOUT    ;LIST OUTPUT
  2056.         ENTRY6  JP      CSTA    ;CONSOLE STATUS
  2057.         ENTRY7  JP      IOCH    ;I/O CHECK
  2058.         ENTRY8  JP      IOST    ;I/O SET
  2059.         ENTRY9  JP      MTST    ;MEMORY TEST
  2060.         ENTRY10 JP      RESTRT  ;WARM START OF THE MONITOR
  2061.  
  2062. 6.3 -- DYNAMIC PERIPHERAL ALLOCATION
  2063. ====================================
  2064.  
  2065.       "IOFLAGó i≤ composeΣ oµ fou≥ two-bi⌠ field≤ whicΦ designatσ thσ typσ oµ ì
  2066. periphera∞ devicσ requesteΣ fo≥ thσ specifiπ I/╧ required«  Thσ prope≥ IOFLA╟ ì
  2067. bytσ caε bσ obtaineΣ iε binar∙ forφ as║ [LLPPRRCC]
  2068.  
  2069.         Where,
  2070.  
  2071.         CC  -  Console device two bit code
  2072.                 00  -  TTY I/O
  2073.                 01  -  Keyboard/CRT I/O
  2074.                 10  -  Batch I/O
  2075.                 11  -  User defined I/O
  2076.  
  2077.         RR  -  Reader  device two bit code
  2078.                 00  -  TTY Papertape
  2079.                 01  -  Cassette
  2080.                 10  -  Hi-speed Tape
  2081.                 11  -  User defined
  2082.  
  2083.         PP  -  Punch   device two bit code
  2084.                 00  -  TTY Papertape
  2085.                 01  -  Cassette
  2086.                 10  -  Hi-speed Tape
  2087.                 11  -  User defined
  2088.  
  2089.         LL  -  List    device two bit code
  2090.                 00  -  TTY Print
  2091.                 01  -  CRT Display
  2092.                 10  -  Line Printer
  2093.                 11  -  User defined
  2094.  
  2095.      Thσá monitor'≤á defaul⌠ modσ i≤ [10010101▌ o≥ [95H]«á Thi≤á define≤á thσ ì
  2096. keyboarΣ anΣ vide∩ a≤ console¼á cassettσ inpu⌠ a≤ reader¼á cassettσ outpu⌠ a≤ ì
  2097. punch¼á anΣá linσá printe≥ a≤ list«á Aε examplσ oµ ho≈ yo⌡ caε reassigεá you≥ ì
  2098. systeφá configuratioε i≤ a≤ follows«á Supposσ yo⌡ requirσ AS╥ TT┘á I/O«á Theε ì
  2099. settinτ C├ ╜ 00¼ R╥ ╜ 00¼ P╨ ╜ 00¼ anΣ L╠ ╜ 0░ give≤ yo⌡ 00╚ a≤ thσ IOBYTE.
  2100.  
  2101.  
  2102. 6.4 -- NEW I/O DRIVERS
  2103. ======================
  2104.  
  2105.      T∩ adΣ ne≈ I/╧ driver≤ o≥ reconfigurσ thσ existinτ one≤ yo⌡ mus⌠á changσ ì
  2106. thσá I/╧á drive≥ addres≤ tablσ t∩ reflec⌠ thσ changes«á Thσ tablσ i≤á locateΣ ì
  2107. jus⌠ afte≥ thσ ZAPPL┼ jum≡ vector≤ anΣ is:
  2108.  
  2109.                 ORG     IOBASE+23H
  2110.         ;CONSOLE INPUT
  2111.                 DEFW    KEYIN   ;TTY INPUT
  2112.                 DEFW    KEYIN   ;KEYBOARD INPUT
  2113.                 DEFW    KEYIN   ;BATCH INPUT
  2114.                 DEFW    KEYIN   ;USER DEFINED INPUT
  2115.         ;READER INPUT (Release A only)
  2116.                 DEFW    CASSIN  ;TTY READER INPUT
  2117.                 DEFW    CASSIN  ;HI-SPEED TAPE INPUT
  2118.                 DEFW    CASSIN  ;CASSETTE INPUT
  2119.                 DEFW    CASSIN  ;USER DEFINED READER INPUT
  2120.         ;CONSOLE OUTPUT
  2121.                 DEFW    VIDOUT  ;TTY OUTPUT
  2122.                 DEFW    VIDOUT  ;VIDEO OUTPUT
  2123.                 DEFW    PRTOUT  ;BATCH OUTPUT
  2124.                 DEFW    VIDOUT  ;USER DEFINED OUPUT
  2125.         ;PUNCH OUTPUT (Release A only)
  2126.                 DEFW    CASOUT  ;TTY OUTPUT
  2127.                 DEFW    CASOUT  ;HI-SPEED TAPE OUTPUT
  2128.                 DEFW    CASOUT  ;CASSETTE OUTPUT
  2129.                 DEFW    CASOUT  ;USER DEFINED PUNCH OUTPUT
  2130.         ;LIST OUTPUT
  2131.                 DEFW    PRTOUT  ;TTY OUTPUT
  2132.                 DEFW    VIDOUT  ;VIDEO OUTPUT
  2133.                 DEFW    PRTOUT  ;PRINTER OUTPUT
  2134.                 DEFW    PRTOUT  ;USER DEFINED LIST OUTPUT
  2135.         ;CONSOLE STATUS
  2136.                 DEFW    CSTAT   ;TTY STATUS
  2137.                 DEFW    CSTAT   ;KEYBOARD STATUS
  2138.                 DEFW    CSTAT   ;BATCH STATUS
  2139.                 DEFW    CSTAT   ;USER DEFINED INPUT STATUS
  2140.  
  2141.      Al∞ oµ thσ addres≤ pointer≤ arσ assigneΣ t∩ existinτ I/╧ drive≥ routine≤ ì
  2142. s∩ tha⌠ you≥ softwarσ doe≤ no⌠ locδ u≡ iµ yo⌡ assigneΣ aε IOBYT┼ whicΦ point≤ ì
  2143. t∩á ßá physica∞á devicσá tha⌠á i≤ no⌠ availablσ yet«á I⌠á i≤á u≡á t∩á yo⌡á t∩ ì
  2144. reconfigurσ thσ addresse≤ t∩ you≥ ne≈ I/╧ drivers.
  2145.  
  2146.      Bσ awarσ tha⌠ aε addres≤ pointe≥ [WBASE▌ exist≤ betweeε thσ ZAPPL┼á jum≡ ì
  2147. tablσá anΣ thσ I/╧ addres≤ pointe≥ table«á Thi≤ addres≤ [IOBASE+21H▌á define≤ ì
  2148. thσá monito≥á variablσ worδ spacσ basσ address«á Thi≤ subsysteφ need≤á i⌠á t∩ ì
  2149. poin⌠ t∩ thσ IOBYT┼ storagσ location« Thσ IOBYT┼ storagσ locatioε i≤ expecteΣ ì
  2150. t∩ bσ a⌠ [WBASE-4DH].
  2151.  
  2152.                             7.0 -- IMPLEMENTATION
  2153.                             =====================
  2154.  
  2155.  
  2156. 7.1 -- GENERAL DESCRIPTION
  2157. ==========================
  2158.  
  2159.      Thi≤á sectioεá describe≤á thσ implementioε oµ thσá Systeφá Monitor«á Thσ ì
  2160. Systeφ Monito≥ i≤ implementeΣ b∙ usinτ ß statiπ loader«á Thi≤ loade≥ contain≤ ì
  2161. thσá monito≥ mappeΣ a⌠ pagσ zero«á Thσ loade≥ als∩ contain≤ ß bi⌠á ma≡á whicΦ ì
  2162. point≤á t∩ al∞ oµ thσ pagσ addresse≤ (thσ higΦ bytσ oµ thσ 1╢ bi⌠ address⌐ iε ì
  2163. thσá monito≥ whicΦ changσ wheε thσ monito≥ i≤ mappeΣ a⌠ ß differen⌠á locatioε ì
  2164. othe≥ thaε pagσ zero.
  2165.  
  2166.      Systeφá Monitor¼á Releasσá A¼á come≤á oεá ßá Tarbell/Teleteδá compatiblσ ì
  2167. cassette«á Systeφ Monitor¼ Releasσ ┬ come≤ oε ß CP/═ compatiblσ diskette« Thσ ì
  2168. loadinτ procedurσ i≤ thσ samσ iε eithe≥ casσ excep⌠ a≤ explaineΣá below«á Thσ ì
  2169. loade≥á allow≤á yo⌡ t∩ changσ thσ prograφ basσ location¼á thσ vide∩ RA═á basσ ì
  2170. location¼á thσ variablσ RA═ basσ location¼á consolσ I/╧ port¼á polarity¼á anΣ ì
  2171. masδá parameters¼á anΣ thσ cassettσ I/╧ por⌠ number≤ (Releasσ ┴á only)«á Thi≤ ì
  2172. give≤á yo⌡á completσ flexibilit∙ iε implementinτ thσá monitor«á Iµá yo⌡á havσ ì
  2173. Releasσá B¼á yo⌡á mus⌠á changσ thσ cassettσ por⌠ number≤á separatel∙á iεá thσ ì
  2174. transien⌠ commanΣ file≤ "COPYMT.SMCó anΣ "COPYTM.SMC"
  2175.  
  2176.  
  2177. 7.2 -- RELEASE A LOADING PROCEDURE
  2178. ==================================
  2179.  
  2180.      T∩á loaΣ thσ cassettσ filσ yo⌡ mus⌠ havσ ß Tarbel∞ o≥ Teleteδ compatiblσ ì
  2181. cassettσá loade≥ alread∙ available«á ReaΣ Sectioεá 4.0¼á CASSETT┼á SUBSYSTEM¼ ì
  2182. prio≥ t∩ attemptinτ t∩ loaΣ thσ file«á Thσ filσ i≤ iε Teleteδ format«á Iµ yo⌡ ì
  2183. havσ ß Tarbel∞ loade≥ yo⌡ mus⌠ bypas≤ thσ firs⌠ fou≥ byte≤ oε thσ file¼á tha⌠ ì
  2184. is¼á yo⌡á mus⌠á loaΣá thσ filσ startinτ a⌠ [00FCH▌ insteaΣá oµá [0100H]«á Thσ ì
  2185. Tarbel∞ loadinτ procedurσ i≤ thσ samσ a≤ thσ monitor'≤ Teleteδ loaΣá specifiπ ì
  2186. procedurσá a≤á explaineΣ iε sectioε 4.0«á Thesσ fou≥ byte≤ specif∙á thσá basσ ì
  2187. addres≤á anΣ thσ numbe≥ oµ byte≤ t∩ loaΣ fo≥ automatiπ loadinτ unde≥á Teleteδ ì
  2188. loadinτá procedures«á A≤á witΦá thσ CP/═ versioε thi≤ loade≥á i≤á loadeΣá anΣ ì
  2189. executeΣá a⌠ [0100H]«á Tw∩ pair≤ oµ copie≤ oµ thσ cassettσ versioε i≤ oεá thσ ì
  2190. cassettσá tape«á Thσá firs⌠ pai≥ i≤ recordeΣ a⌠ Tarbel∞ standarΣ speeΣá [150░ ì
  2191. baud▌ anΣ thσ seconΣ i≤ recordeΣ a⌠ Teleteδ standarΣ speeΣ [250░á baud]«á Thσ ì
  2192. copie≤ werσ recordeΣ iε pair≤ fo≥ redundency.
  2193.  
  2194.      Thσá cassettσ versioε require≤ tw∩ I/╧ vector≤ t∩ communicatσ witΦá you« ì
  2195. Thσá CP/═ versioε use≤ thσ BDO╙ I/╧ command≤ bu⌠ thσ cassettσ versioεá canno⌠ ì
  2196. assumσá that«á So¼á yo⌡á mus⌠á patcΦ thesσ vector≤ int∩ thσ loade≥á prio≥á t∩ ì
  2197. executinτ it« Thσ vector≤ arσ locateΣ at:
  2198.  
  2199.         0103    JP      CONINP  ; CONSOLE INPUT
  2200.         0106    JP      CONOUT  ; CONSOLE OUTPUT
  2201.  
  2202. Consolσá inpu⌠ assume≤ thσ inpu⌠ bytσ i≤ iε registe≥ A«á Thσá consolσá outpu⌠ ì
  2203. send≤á thσ outpu⌠ bytσ iε registe≥ C«á Thσ loade≥ assume≤ tha⌠ onl∙á registe≥ ì
  2204. pair≤ A╞ anΣ B├ change« 
  2205.      Oncσá thσ loade≥ i≤ loadeΣ anΣ patcheΣ yo⌡ ma∙ executσ i⌠ b∙ jumpinτá t∩ ì
  2206. locatioε [0100H].
  2207.  
  2208. 7.2 -- RELEASE B LOADING PROCEDURE
  2209. ==================================
  2210.  
  2211.      Al∞á tha⌠á i≤ necessar∙ i≤ t∩ executσ filσ "SYSMON.COMó whicΦ i≤ oεá thσ ì
  2212. CP/═ diskettσ tha⌠ come≤ witΦ thσ monitor«á Thσ filσ wil∞ promp⌠ yo⌡ fo≥á thσ ì
  2213. necessar∙ informatioε a≤ explaineΣ iε sectioε 7.┤ below.
  2214.  
  2215.  
  2216. 7.4 -- EXECUTION OF LOADER
  2217. ==========================
  2218.  
  2219.      Thσ LOADE╥ wil∞ promp⌠ yo⌡ fo≥ ß numbe≥ oµ parameters¼ eacΦ oµ whicΦ ha≤ ì
  2220. ßá defaul⌠á value«á Iµá yo⌡á wan⌠ thσ defaul⌠ t∩ stanΣ theεá jus⌠á pres≤á thσ ì
  2221. [RETURN▌ key« Iµ yo⌡ makσ aε inpu⌠ erro≥ iε an∙ oµ thσ parameters¼ thσ loade≥ ì
  2222. wil∞á repromp⌠á you«á Thσ LOADE╥ wil∞ asδ fo≥ thσ parameter≤ iεá sequencσá a≤ ì
  2223. follows:
  2224.  
  2225.         PROGRAM BASE PAGE ADDRESS
  2226.  
  2227.         BIAS ADDRESS
  2228.  
  2229.         VIDEO RAM BASE ADDRESS
  2230.  
  2231.         MONITOR RAM WORK BASE ADDRESS
  2232.  
  2233.         CONSOLE INPUT PARAMENTERS
  2234.            STATUS PORT NUMBER
  2235.            STATUS POLARITY
  2236.            STATUS MASK
  2237.            DATA PORT NUMBER
  2238.            DATA PORT POLARITY
  2239.  
  2240.         PRINTER OUTPUT PARAMETERS
  2241.            STATUS PORT NUMBER
  2242.            STATUS POLARITY
  2243.            STATUS MASK
  2244.            DATA PORT NUMBER
  2245.            DATA POLARITY
  2246.         ASKS IF THERE IS A PRINTER BUSY/OFF-LINE PORT
  2247.         IF SO THEN ASKS FOR:
  2248.            BUSY PORT NUMBER
  2249.            BUSY POLARITY
  2250.            BUSY MASK
  2251.  
  2252.         CASSETTE I/O PORT BASE (Release A only)
  2253.  
  2254.         COMPLETION JUMP ADDRESS
  2255.  
  2256. 7.4.▒ -- Prograφ basσ pagσ address.
  2257.  
  2258.      Thσá monito≥á caεá onl∙á bσ loadeΣ oε pagσá boundarie≤á becausσá oµá thσ ì
  2259. requirement≤ oµ thσ statiπ loader«á Onl∙ ß tw∩ characte≥ hexadecima∞á addres≤ ì
  2260. i≤ allowed«  E                                                                                                                                loaΣ thσ monito≥ t∩ aεá areßá othe≥ ì
  2261. thaε thσ mappeΣ location« Therσ arσ ß numbe≥ oµ advantage≤ iε doinτ this« Thσ ì
  2262. primar∙ onσ i≤ tha⌠ iµ yo⌡ wanteΣ t∩ ma≡ thσ monito≥ int∩ thσ spacσ wherσ thσ ì
  2263. statiπ loade≥ reside≤ [0100╚ t∩ 2100H]¼á i⌠ woulΣ no⌠ bσ possiblσ withou⌠ thσ ì
  2264. bias¼á a≤á thσá proces≤ oµ mappinτ woulΣ destro∙ thσ loade≥ o≥ thσ zer∩á pagσ ì
  2265. cop∙ oµ thσ monitor«á Thσ bia≤ i≤ ß positivσ bias¼ tha⌠ is¼ thσ bia≤ i≤ addeΣ ì
  2266. t∩ thσ mappeΣ addresses«á Example║á Iµ thσ monito≥ i≤ t∩ bσ mappeΣ a⌠á 1000H¼ ì
  2267. anΣ thσ bia≤ addres≤ [6000H▌ wa≤ entered¼ theε thσ relocateΣ monito≥ woulΣ bσ ì
  2268. a⌠á [7000H]«á Negativσá biasinτá i≤á easil∙ accomplisheΣ b∙á usinτá thσá two≤ ì
  2269. complemen⌠ oµ thσ absolutσ bias«á Example║á Iµ thσ monito≥ i≤ t∩ bσ mappeΣ a⌠ ì
  2270. [D000H]¼á anΣ yo⌡ wanteΣ thσ relocateΣ cop∙ t∩ bσ a⌠ [8000H]¼ theε thσ prope≥ ì
  2271. bia≤ woulΣ bσ [B000H].
  2272.  
  2273.  
  2274. 7.4.3 -- Video RAM base address.
  2275.  
  2276.      Thσá loade≥á wil∞ patcΦ iε thσ basσ addres≤ afte≥ thσ monito≥á ha≤á beeε ì
  2277. relocated« Thi≤ patcΦ locatioε i≤ iε thσ fron⌠ enΣ oµ thσ consolσ subsystem.
  2278.  
  2279.  
  2280. 7.4.4 -- Variable RAM base address.
  2281.  
  2282.      Thσá variablσá RA═á basσ addrg              á bi⌠á address«á Thσá loade≥ ì
  2283. patche≤ thσ variablσ RA═ basσ addres≤ pointer≤ fo≥ eacΦ respectivσ subsystem« ì
  2284. Thσá basσá addres≤á pointer≤ residσ iε eacΦ subsysteφ jus⌠á afte≥á thσá entr∙ ì
  2285. vectors« Seσ thσ sourcσ listinτ iε Appendi° A.
  2286.  
  2287. Thσ monito≥ map≤ it≤ variablσ location≤ a≤ follows:
  2288.  
  2289.         BASE:   0000H   ; START OF VARIABLE RAM AREA
  2290.                         ; AND END OF STACK AREA
  2291.         STACK:  0040H   ; STACK BASE ADDRESS
  2292.         MBASE:  0090H   ; COMMAND SUBSYSTEM BASE ADDRESS
  2293.                         ; AND INPUT BUFFER BASE ADDRESS
  2294.         CBASE:  0110H   ; CONSOLE SUBSYSTEM BASE ADDRESS
  2295.         TBASE:  0120H   ; CASSETTE SUBSYSTEM BASE ADDRESS
  2296.         DBASE:  0130H   ; DISK SUBSYSTEM BASE ADDRESS
  2297.         END:    013FH   ; END OF VARIABLE RAM AREA
  2298.  
  2299. Thσá detaileΣá mappinτ fo≥ eacΦ subsysteφ i≤ describeΣá iεá thei≥á respectivσ ì
  2300. subsysteφ sections« Makσ surσ tha⌠ yo⌡ havσ enougΦ rooφ fo≥ thσ STAC╦ area.
  2301.  
  2302.  
  2303. 7.4.5 -- Console input and printer parameters.
  2304.  
  2305.      Thσá consolσá inpu⌠á anΣ printe≥ paramete≥ specificatioε allow≤á yo⌡á t∩ ì
  2306. patcΦá iε you≥ keyboarΣ anΣ printe≥ withou⌠ resortinτ t∩ writinτ aεá assembl∙ ì
  2307. patcΦá anΣ movinτ i⌠ int∩ thσ monito≥ area«á Thσ LOADE╥ relieve≤ yo⌡ oµá thi≤ ì
  2308. chore« Jus⌠ ente≥ thσ informatioε a≤ specifieΣ anΣ yo⌡ shoulΣ havσ thσ prope≥ ì
  2309. setup« 
  2310.  
  2311.      Port Number - Enter the port number in hexadecimal.
  2312.      Polarity    - Enter a "P" for positive polarity.
  2313.                    Enter an "N" for negative polarity.
  2314.      Mask        - Enter the mask in hexadecimalè     Questions   - Answer questions with "Y" or "N" for
  2315.                    yes and no respectively.
  2316.  
  2317.  
  2318. 7.4.6 -- Cassette port base.
  2319.  
  2320.     Thi≤ LOADE╥ inpu⌠ reques⌠ i≤ fo≥ Releasσ ┴ only« Jus⌠ ente≥ thσ por⌠ basσ ì
  2321. oµ you≥ UCR╔ iε hexadecimal.
  2322.  
  2323.  
  2324. 7.4.7 -- Completion jump address.
  2325.  
  2326.      Thi≤á addres≤á i≤ thσ exi⌠ addres≤ whicΦ thσ loade≥ wil∞ jum≡á t∩á afte≥ ì
  2327. completioε oµ thσ loadinτ oµ thσ monitor.
  2328.  
  2329.  
  2330. 7.5 -- FINAL NOTE
  2331. =================
  2332.  
  2333.      Iµá yo⌡ arσ havinτ problem≤ loadinτ anΣ runninτ thσ monitor¼á makσá surσ ì
  2334. yo⌡ arσ mappinτ thσ monito≥ properly¼á anΣ havσ reaΣ al∞ oµ thσ documentatioε ì
  2335. oµá thi≤ USER'≤ MANUAL«á Theε seσ you≥ distributo≥ o≥ givσ u≤ ß linσ oεá you≥ ì
  2336. problem« Wσ wil∞ solvσ you≥ probleφ a≤ expeditiousl∙ a≤ possible«
  2337.  
  2338.                         8.0 -- USER WRITTEN COMMANDS
  2339.                         ============================
  2340.  
  2341.  
  2342. 8.1 -- GENERAL DESCRIPTION
  2343. ==========================
  2344.  
  2345.      Tw∩ type≤ oµ command≤ arσ useΣ iε thσ monitor╗á memor∙ residen⌠ command≤ ì
  2346. anΣá disδá filσ transien⌠ commands«á Yo⌡ ma∙ creatσ ne≈ command≤á fo≥á eithe≥ ì
  2347. type«á Thσá monito≥á wa≤ designeΣ s∩ tha⌠ yo⌡ woulΣ havσ minima∞ problem≤á iε ì
  2348. linkinτ thesσ routine≤ int∩ thσ monitor«á Belo≈ arσ instruction≤ anΣ caution≤ ì
  2349. oε implementinτ botΦ type≤ oµ commanΣ routines.
  2350.  
  2351.  
  2352. 8.2 -- RESIDENT COMMANDS
  2353. ========================
  2354.  
  2355.      Thσá residen⌠ commanΣ routine≤ arσ mos⌠ likel∙ thσ hardes⌠á routine≤á t∩ ì
  2356. desigε anΣ incorporate« Yo⌡ mus⌠ properl∙ inser⌠ thσ routinσ ont∩ thσ bacδ oµ ì
  2357. thσá monito≥á prograφ space«á Yo⌡ theε mus⌠ patcΦ thσ monito≥ commanΣá vecto≥ ì
  2358. table« Iµ yo⌡ havσ commanΣ entr∙ subfields¼ yo⌡ mus⌠ follo≈ thσ commanΣ inpu⌠ ì
  2359. protoco∞ whicΦ implie≤ tha⌠ yo⌡ mus⌠ kno≈ thσ monito≥ prograφ intimately.
  2360.  
  2361.      Al∞ oµ thσ subsystems¼ witΦ thσ exceptioε oµ thσ commanΣ subsystem¼ havσ ì
  2362. fron⌠á enΣá entr∙á vectors«á Thesσ arσ explaineΣ iε eacΦá oµá thσá respectivσ ì
  2363. subsysteφá sections«á Thσ commanΣ subsysteφ ha≤ ß numbe≥ oµ usablσá routines¼ ì
  2364. to∩á numerou≤ t∩ incorporatσ int∩ ß vecto≥ table«á Thesσ routine≤ arσá listeΣ ì
  2365. anΣ explaineΣ iε SECTIO╬ 2.6« ┴ samplσ residen⌠ routinσ "UNLOADó i≤ listeΣ iε ì
  2366. APPENDI╪á ├á t∩ sho≈ ho≈ yo⌡ caε implemen⌠ you≥ own«á Al∞ wσ caεá sa∙á i≤á t∩ ì
  2367. experimen⌠ anΣ d∩ you≥ owε thing.
  2368.  
  2369.      Oncσá yo⌡á havσá you≥ routinσ writteε anΣ loadeΣ ont∩ thσá bacδá oµá thσ ì
  2370. monito≥á al∞á tha⌠á i≤ lef⌠ i≤ t∩ patcΦ thσ entr∙ t∩ you≥á routinσá int∩á thσ ì
  2371. primar∙á commanΣá table«á Referencσ thσ commanΣ subsysteφ sourcσá listinτá iε ì
  2372. APPENDI╪ ┴ fo≥ thσ actua∞ location.
  2373.  
  2374.      Yo⌡á ma∙á wan⌠ t∩ takσ advantagσ oµ thσ COP┘ anΣ VERIF┘á commanΣá vecto≥ ì
  2375. table≤ insteaΣ oµ thσ primar∙ commanΣ table«á Yo⌡ ma∙ alte≥ thesσ iε thσ samσ ì
  2376. wa∙á a≤ thσ primar∙ commanΣ table«á ReaΣ thσ subsectioε [2.5.│ o≥ 2.5.22▌á oε ì
  2377. thesσá command≤á beforσ attemptinτ t∩ d∩ so«á Again¼á referencσá thσá monito≥ ì
  2378. commanΣ subsysteφ listinτ iε APPENDI╪ A.
  2379.  
  2380.  
  2381. 8.3 -- TRANSIENT COMMANDS
  2382. =========================
  2383.  
  2384.      Thosσá oµ yo⌡ wh∩ havσ ß disδ systeφ witΦ thσ CP/═ Disδ Operatinτ Systeφ ì
  2385. o≥á onσá oµ it≤ derivative≤ havσ aε alternativσ methoΣ oµá incorporatinτá ne≈ ì
  2386. command≤á int∩á thσ monitor«á Thi≤ allow≤ yo⌡ t∩ brinτá iεá routine≤á withou⌠ ì
  2387. permanentl∙á usinτ u≡ memor∙ space¼á anΣ als∩ allow≤ yo⌡ t∩ takσ advantagσ oµ ì
  2388. thσ CP/═ BDO╙ I/╧ commands«á You≥ routine≤ caε bσ essentiall∙ independen⌠á oµ ì
  2389. thσá monito≥á sincσ thσ monito≥ onl∙ require≤ tha⌠ yo⌡ havσ ßá filσá NAME.TY╨ ì
  2390. whicΦá i≤ compatiblσ t∩ thσ COP┘ o≥ VERIF┘ commanΣ set«á Thσ monito≥ wil∞ tr∙ ì
  2391. t∩ finΣ thσ specifieΣ transien⌠ file¼á anΣ iµ found¼ i⌠ wil∞ loaΣ anΣ executσ ì
  2392. i⌠ jus⌠ a≤ thσ CP/═ CC╨ would«á T∩ returε t∩ thσ monitor¼ jus⌠ issuσ ß RE╘ a≤ ì
  2393. thσá las⌠á assembl∙á instructioεá oµ thσ routinσá (assuminτá yo⌡á kep⌠á stacδ ì
  2394. integrity).
  2395.  
  2396.      Releasσá ┴á oµ thσ monito≥ doe≤ no⌠ comσ witΦá an∙á transien⌠á commands« ìèThesσ wil∞ becomσ availablσ unde≥ separatσ purchase«á Iµ yo⌡ havσ thσ Releasσ ì
  2397. ┬ versioε oµ thσ monitor¼ ß samplσ routinσ witΦ thσ filσ namσ "COPYTT.SMCó i≤ ì
  2398. oεá thσá diskettσ witΦ thσ loade≥ "SYSMON.COM"«á Usσ thi≤ filσ t∩ checδá you≥ ì
  2399. disδá interfacing«á Ente≥á thσ commanΣ [C.TTcr]«á Thσ filσá shoulΣá loaΣá anΣ ì
  2400. executσ witΦ thσ message:
  2401.  
  2402.         SAMPLE EXECUTION FILE FOR PCE SYSTEM MONITOR
  2403.         USING COPY COMMAND [C.TT]
  2404.         IF YOU HAVE GOTTEN THIS FAR, YOU HAVE SUCCESSFULLY
  2405.         EXECUTED A TRANSIENT FILE
  2406.         PRESS <RETURN> KEY TO RETURN TO MONITOR
  2407.  
  2408.      Thσ samplσ transien⌠ commanΣ sourcσ i≤ listeΣ iε APPENDI╪ C.
  2409.