home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / cpm / graphics / wdraw.lbr / WDRAW.DZC / WDRAW.DOC
Text File  |  1987-03-08  |  24KB  |  541 lines

  1. -----------------------------------------------------------------
  2.  
  3.                           WDRAW  v1.00
  4.                             07/28/85
  5.                Copyright (c) 1985 Bruce R. Childers
  6.  
  7.                 THIS FILE AND ALL ASSOCIATED FILES
  8.                 MAY BE  FREELY  DISTRIBUTED IN THE
  9.                 PUBLIC  DOMAIN; HOWEVER, THEY  MAY
  10.                 NOT BE  USED  FOR  COMMERCIAL  USE 
  11.                 WITHOUT THE  WRITTEN PERMISSION OF
  12.                 THE AUTHOR.
  13.  
  14. -----------------------------------------------------------------
  15.  
  16. =================================================================
  17.                  Introduction and Theory Section
  18. =================================================================
  19.  
  20.  
  21. Introduction
  22. ------------
  23.  
  24.   WDRA╫á i≤ ß prograφ tha⌠ allow≤ graphiπ display≤ t∩ bσá createΣ ì
  25. oεá thσá Wysσ 5░ termina∞ (anΣ other≤á witΦá modification)«á  Thσ  ì
  26. prograφ wa≤ writteε fo≥ tw∩ reasons«á  First¼ ╔ wa≤ challengeΣ b∙ ì
  27. ß frienΣ t∩ makσ ß graphic≤ prograφ fo≥ ß "nongraphiπá terminal"« ì
  28. Secondly¼á ╔á havσ alway≤ wanteΣ ß prograφ likσ DDra≈ anΣá other≤ ì
  29. tha⌠á havσ beeε floatinτ arounΣ fo≥ thσ Kaypro«á  Alas¼á ╔á don'⌠ ì
  30. havσá ßá graphiπ Kaypr∩ (go⌠ thσ olº time≥ II⌐ s∩ thosσá program≤ ì
  31. wouldn't do me any good, hence:  creation of WDRAW.
  32.  
  33. Installation of WDRAW
  34. ---------------------
  35.  
  36.   Haíá  Nothinτá need≤ t∩ bσ installeΣ (don'⌠ yß lovσ i⌠ wheε yo⌡ ì
  37. don'⌠á havσá t∩ instal∞ something?!)¼á bu⌠ iµ yo⌡ arσá runninτá ß ì
  38. termina∞á othe≥á thaεá ß Wysσ 50¼á you'l∞á neeΣá t∩á instal∞á thσ ì
  39. program¼á oΦ well..«á  T∩ instal∞ thσ system¼á tw∩ thing≤ mus⌠ bσ ì
  40. done«á  First¼á ruεá thσ prograφ WDINST▒ t∩ instal∞ you≥ termina∞ ì
  41. typσá froφ thσ men⌡ (jus⌠ likσ installinτ Turb∩á Pascal)«á  Next¼ ì
  42. ruεá thσá prograφ WDINST2«á Thi≤ prograφá install≤á somσá specia∞ ì
  43. function≤ oµ you≥ termina∞ whicΦ arσ no⌠ supporteΣ througΦ TINST« ì
  44. Thσ function≤ arσ Graphic≤ On¼ Graphic≤ Off¼ Curso≥ Oε anΣ Curso≥ ì
  45. Off«á  Thosσá fou≥á thing≤á mus⌠ bσ installeΣ iεá orde≥á fo≥á thσ ì
  46. prograφ t∩ worδ correctly«á  Usually¼á the∙ wil∞ bσ ß sequencσ oµ ì
  47. abou⌠ 3-╡ bytes«á  Wheε prompteΣ t∩ ente≥ thσ values¼á ente≥ theφ ì
  48. iεá ASCI╔ decimal¼á pres≤ ß ".ó t∩ enΣ thσ entr∙ oµ ßá particula≥ ì
  49. field.
  50.  
  51. Running WDRAW
  52. -------------
  53.  
  54.   T∩á ruεá thσá program¼á makσá surσá al∞á file≤á (WDRAW.CO═á anΣ ì
  55. WDRAW.DAT⌐á arσ oε thσ loggeΣ iε disk/user«á  Typσ "WDRAWó a⌠ thσ ìèA0╛ promp⌠ ("0A}ó fo≥ TurboDO╙ folks⌐ anΣ pres≤ ß <Return>«á  Thσ ì
  56. firs⌠ thinτ tha⌠ come≤ u≡ i≤ ß screeε tellinτ ß littlσ bi⌠á abou⌠ ì
  57. WDRA╫á anΣá givinτá thσ copyrigh⌠ notice«á  Pres≤ ßá <Return╛á t∩ ì
  58. continuσá beyonΣá thi≤á point«á  Wha⌠á appear≤á i≤á thσá "Drawinτ ì
  59. Screen". The screen is broken up into several sections.
  60.  
  61.   Thσ firs⌠ i≤ iε thσ lowe≥ lef⌠ corne≥ oµ thσ screen«á  Thi≤á i≤ ì
  62. thσ "Functioε Statusó line«á I⌠ tell≤ wha⌠ commanΣ i≤ beinτ used¼ ì
  63. give≤á thσá (x,y⌐á coordinate≤á oµ thσ curren⌠á locatioεá oµá thσ ì
  64. cursor, the current buffer (CBx), and the switched buffer (Bx).
  65.  
  66.   Followinτ thσ Functioε Statu≤ linσ i≤ thσ "Togglσ Statusó line« ì
  67. Thi≤á par⌠ i≤ als∩ oε thσ samσ linσ a≤ thσ Functioε Statu≤á line¼ ì
  68. bu⌠ i⌠ tell≤ thσ curren⌠ statσ oµ variou≤ drawinτ toggles«  Refe≥ ì
  69. t∩á lowe≥á iε thi≤ documen⌠ fo≥ morσ informatioε oεá thσá drawinτ ì
  70. toggles«á  Collectively¼á thesσá tw∩ section≤ makσ u≡ thσ "Statu≤ ì
  71. Line".
  72.  
  73.   Thσá lowe≥á righ⌠ corne≥ i≤ thσ "Promp⌠á Area"«á  Wheneve≥á thσ ì
  74. prograφ need≤ t∩ promp⌠ fo≥ somσ input¼ thσ promp⌠ wil∞ appea≥ iε ì
  75. this area.
  76.  
  77.   Thσá uppe≥ righ⌠ corne≥ i≤ thσ "Drawinτá Characte≥á Area"«á  I⌠ ì
  78. tells what the current drawing character is (see below).
  79.  
  80.   Righ⌠á belo≈á thσ Drawinτ Characte≥ Areß anΣ abovσá thσá Promp⌠ ì
  81. areßá i≤ thσ "Men⌡ Area"«á  Thi≤ areß ha≤ ß hel≡ men⌡ iε casσ yo⌡ ì
  82. forget some command.
  83.  
  84.   Therσá arσ als∩ axe≤ runninτ alonτ thσ side≤ oµ thσ screeε (to≡ ì
  85. linσá ╜ ╪ Axis¼á righ⌠ hanΣ linσ ╜ ┘ Axis)¼á thesσ arσ thσá "Axi≤ ì
  86. Lines".
  87.  
  88.   Thσá res⌠ oµ thσ screeε i≤ thσ "Drawinτ Screen"«á  Thσá Drawinτ ì
  89. Screen is where all of the displays will be created.
  90.  
  91.  
  92. Drawing Cursor
  93. -------------
  94.  
  95.   Thσá Drawinτá Curso≥á i≤á thσá locatioεá a⌠á whicΦá thσá curso≥ ì
  96. currentl∙á i≤á iε thσ Drawinτ Screeε (noteΣ b∙ thσ (x,y⌐á oεá thσ ì
  97. Statu≤ Line)«á  Thi≤ locatioε i≤ wherσ thσ drawinτ characte≥ wil∞ ì
  98. be placed when the cursor is moved.
  99.  
  100. Pointing Cursor
  101. ---------------
  102.  
  103.   Thσá Pointinτá Curso≥á i≤ thσ locatioε a⌠ whicΦ thσá curso≥á i≤ ì
  104. currentl∙á located«á  Thσá Pointinτá Curso≥  wil∞á no⌠á dra≈á thσ ì
  105. drawinτ characte≥ a⌠ it≤ location«á  Thσ Pointinτ Curso≥ i≤á useΣ ì
  106. b∙ certaiε command≤ (Copy¼ Move¼ etc).
  107.  
  108. Screen Buffers
  109. --------------è
  110.   Thσá screeεá i≤ buffereΣ iε memory«á  Therσá arσá threσá screeε ì
  111. buffers¼á s∩ threσ displa∙ screen≤ caε bσ activσ a⌠ an∙ onσ time« ì
  112. Therσ i≤ ß fourtΦ buffer¼á bu⌠ thi≤ i≤ ß temporar∙ buffe≥ useΣ t∩ ì
  113. storσá part≤ oµ thσ graphic≤ displa∙ iε memor∙ fo≥ ß shor⌠ perioΣ ì
  114. oµá time«á  U≡ t∩ threσ displa∙ screen≤ ma∙ bσ editeΣ a⌠ an∙á onσ ì
  115. time¼á al∞ oµ whicΦ havσ thei≥ owε screeε buffer≤ (above)«á  Thi≤ ì
  116. allow≤á fo≥ threσ differen⌠ graph≤ (o≥ displays⌐ t∩ bσ workeΣá oε ì
  117. a⌠ thσ samσ time.
  118.  
  119. Current & Passive Buffer
  120. ------------------------
  121.  
  122.   Thσ curren⌠ buffe≥ i≤ thσ screeε buffe≥ tha⌠ i≤ currentl∙ beinτ ì
  123. displayeΣá oεá thσ screen«á  Thσ curren⌠ buffe≥ i≤á thσá "activeó ì
  124. buffe≥ anΣ i≤ wherσ al∞ commanΣ operation≤ takσ place«  Thσ othe≥ ì
  125. tw∩á screeε buffer≤ arσ "passiveó anΣ arσ stil∞ storeΣ iε memory¼ ì
  126. bu⌠á caεá no⌠á bσ workeΣ witΦ unles≤ the∙ arσá madσá thσá curren⌠ ì
  127. buffer (see below).
  128.  
  129. Display Blocks
  130. --------------
  131.  
  132.   ┴á displa∙ blocδ i≤ ß blocδ oµ thσ curren⌠ screeεá buffe≥á tha⌠ ì
  133. ha≤ beeε markeΣ ofµ witΦ onσ oµ thσ cop∙ commands«á  Thi≤ displa∙ ì
  134. block is copied into the temporary screen buffer.
  135.  
  136. Merge vs. Overlay
  137. -----------------
  138.  
  139.   ┴á Mergσá i≤ thσ combininτ oµ tw∩ displa∙ block≤ (o≥á ßá screeε ì
  140. buffe≥á anΣá ß file⌐ t∩ forφ onσ image«á  Aε Overla∙ i≤ takinτá ß ì
  141. displa∙ blocδ anΣ placinτ i⌠ withiε ß screeε buffer¼ ove≥ writinτ ì
  142. what ever may be in the locations that the display block fills.
  143.  
  144. Drawing Character
  145. -----------------
  146.   
  147.   Thσá drawinτá characte≥á i≤ thσ characte≥ t∩ bσ placeΣá oεá thσ ì
  148. screen«á  A≤ thσ curso≥ i≤ moveΣ abou⌠ oε thσ screeε (thσ drawinτ ì
  149. cursor)¼á thσ drawinτ characte≥ wil∞ bσ placeΣ iε thσ (x,y⌐ poin⌠ ì
  150. passed through.
  151.  
  152.  
  153. =================================================================
  154.                          Command Section
  155. =================================================================
  156.  
  157. Cursor Movement Commands
  158. ------------------------
  159.  
  160. 1  --  Moves the cursor diagonally down to the lower left.
  161. 2  --  Moves the cursor horizontally down.
  162. 3  --  Moves the cursor diagonally down to the lower right.
  163. 4  --  Moves the cursor vertically to the left.è6  --  Moves the cursor vertically to the right.
  164. 7  --  Moves the cursor diagonally up to the upper left.
  165. 8  --  Moves the cursor horizontally up.
  166. 9  --  Moves the cursor diagonally up to the upper right.
  167.  
  168. 5  --  Goto a coordinate pair (input)
  169.  
  170.   Thesσá command≤ causσ thσ drawinτ o≥ pointinτ curso≥ t∩ movσ iε ì
  171. thσá specifieΣ direction«á  Thσ command≤ onl∙ effec⌠ thσá curren⌠ ì
  172. screeε buffer«á  Iµ thσ blanδ modσ i≤ off¼á theε thσ curso≥á wil∞ ì
  173. placσ thσ drawinτ characte≥ a⌠ eacΦ locatioε passeΣ through«á  Iµ ì
  174. thσá blanδá modσá i≤ on¼á thσ curso≥ wil∞ no⌠ placσá thσá drawinτ ì
  175. characte≥ a⌠ eacΦ location«á  Iµ thσ erasσ modσ i≤ on¼ thσ curso≥ ì
  176. wil∞á erasσá an∙á characte≥ tha⌠á occupie≤á thσá locatioεá passeΣ ì
  177. through.
  178.  
  179. Control Toggles
  180. ---------------
  181.  
  182. V  --  Toggle between Overlay and Merge mode
  183. G  --  Toggle between Graphics on/off
  184. ,  --  Toggle the erase mode on/off
  185. -  --  Toggle the blank mode on/off
  186. #  --  Toggle the displaying of a cursor on/off
  187.  
  188.   Thesσá togglσá command≤á changσ thσ specifieΣá actioεá oµá somσ ì
  189. commands«á  Thσ Overla∙ anΣ Mergσ togglσ commanΣ toggle≤á betweeε ì
  190. whethe≥á ß blocδ copieΣ (o≥ moved⌐ int∩ ß positioε iε thσ displa∙ ì
  191. screeεá i≤ t∩ bσ MergeΣ (wheε Mergσ On⌐ o≥ OverlayeΣ (wheεá Mergσ ì
  192. Off).
  193.  
  194.   Thσ erasσ togglσ toggle≤ betweeε whethe≥ thσ curso≥ wil∞á erasσ ì
  195. o≥á draw«á  Wheε Erasσ On¼á an∙ characte≥ thσ curso≥ passe≤á ove≥ ì
  196. wil∞á bσ eraseΣ (function≤ onl∙ fo≥ drawinτ cursor⌐ otherwise¼á ß ì
  197. characte≥á wil∞ bσ writteε iε thσ poin⌠ (dependinτ oεá thσá blanδ ì
  198. mode).
  199.  
  200.   Thσá graphic≤ commanΣ wil∞ causσ thσ graphiπ representatioεá oµ ì
  201. thσ curren⌠ drawinτ characte≥ t∩ bσ displayed«á  I⌠ wil∞ makσ thσ ì
  202. graphiπá representatioε oµ thσ drawinτ characte≥ thσ ne≈á drawinτ ì
  203. character«á  Remember¼á thσ graphiπ representatioε i≤ used«  Tha⌠ ì
  204. mean≤ t∩ usσ thi≤ program¼ you≥ termina∞ mus⌠ displa∙ graphic≤ b∙ ì
  205. issuinτ thσ graphic≤ oε sequence¼á theε ß typablσ character¼ theε ì
  206. graphic≤á ofµá commanΣ (graphic≤ abovσ 12╖ are not allowed).
  207.  
  208.   Thσá blanδá modσ toggle≤ betweeε whethe≥ thσ drawinτá characte≥ ì
  209. wil∞á bσ placeΣ iε thσ passeΣ througΦ coordinatσ (anΣ whethe≥á iµ ì
  210. erasσá modσ i≤ on¼á iµ thσ characte≥ i≤ erased⌐ o≥ iµ i⌠ wil∞ no⌠ ì
  211. placed a character and allow "browsing" of the display.
  212.  
  213.   Thσ curso≥ on/ofµ togglσ allow≤ goinτ betweeε whethe≥ aε actua∞ ì
  214. curso≥ i≤ displayeΣ o≥ not«á  I⌠ i≤ wisσ t∩ havσ thσ curso≥ oε a⌠ ì
  215. al∞á times«á  Iµ yo⌡ losσ thσ curso≥ fo≥ somσá reason¼á usσá thi≤ ì
  216. command until it reappears.
  217. èFile Functions
  218. --------------
  219.  
  220. L  --  Loads a file into the current screen buffer
  221. I  --  Loads a file into a specified screen buffer
  222. S  --  Saves the current screen buffer
  223. W  --  Saves all screen buffers
  224. ┴á --  Write≤á thσ curren⌠ screeε  buffe≥ t∩ disδ iεá ASCI╔á filσì
  225.        format.
  226.  
  227.   Thσ "Ló commanΣ allow≤ loadinτ ß previousl∙ saveΣ displa∙ t∩ bσ ì
  228. eithe≥ mergeΣ o≥ overlayeΣ (dependinτ oε thσ Mergσ mode⌐ int∩ thσ ì
  229. curren⌠á screeεá buffer«á  Thσá imagσ i≤ loadeΣ int∩á thσá buffe≥ ì
  230. starting at point (1,1).
  231.  
  232.   Thσá "Ióá commanΣá load≤ ß previousl∙ saveΣá displa∙á int∩á an∙ ì
  233. specifieΣ screeε buffe≥ (excludinτ thσ temporar∙á buffer)«á  Thi≤ ì
  234. commanΣá wil∞á promp⌠ fo≥ thσ buffe≥ int∩ whicΦ thσ displa∙á filσ ì
  235. wil∞ bσ loaded«á  Thσ imagσ i≤ loadeΣ a⌠ (1,1⌐ int∩ thσ specifieΣ ì
  236. buffer.
  237.  
  238.   Thσá "Sóá commanΣá save≤á thσ curren⌠á screeεá buffe≥á t∩á disδ ì
  239. startinτá a⌠ poin⌠ (1,1⌐ anΣ endinτ a⌠ poin⌠ (60,20)«á  Thσá filσ ì
  240. saveΣá i≤á iε ß specia∞ datß forma⌠ anΣ caε onl∙á bσá decodeΣá b∙ ì
  241. WDRAW¼á thereforσá fo≥ interchangσ oµ ß displa∙ usσ thσ "Aó ASCI╔ ì
  242. savσ commanΣ (seσ below).
  243.  
  244.   Thσá "Wó commanΣ save≤ al∞ thσ screeε buffer≤á t∩á disk«á  EacΦ ì
  245. buffer is saved into a separate special format data file.  
  246.  
  247.   Thσ "Aó ASCI╔ savσ commanΣ save≤ thσ curren⌠ screeε buffe≥ int∩ ì
  248. ßá standarΣ ASCI╔ file«á  Graphic≤ anΣ tex⌠ arσ saved«á  Thσ filσ ì
  249. ma∙ bσ displayeΣ oε mos⌠ terminals«  Thi≤ commanΣ i≤ hand∙ iµ yo⌡ ì
  250. neeΣ t∩ creatσ ß "logoε screenó fo≥ anothe≥ program«á  Thσá othe≥ ì
  251. prograφá caε reaΣ iε thσ filσ anΣ displa∙ i⌠ a≤ i≤ t∩ thσ screen« ì
  252. N∩á specia∞á decodinτ oµ thσ datß i≤ needed¼á a≤ woulΣá bσá iµá ß ì
  253. standarΣá grapΦá datßá filσ werσ used«á  I⌠ als∩á allow≤á ßá worΣ ì
  254. processo≥ t∩ worδ witΦ thσ data«á  Note║á  ASCI╔ file≤ ma∙ no⌠ bσ ì
  255. reread into the screen buffer.
  256.  
  257. Display Block Operations
  258. ------------------------
  259.  
  260. M  --  Move a block to another location (deleting original)
  261. O  --  Copy a block to another location (leaving original)
  262. D  --  Delete a block
  263. U  --  Write a block into the temporary buffer
  264. Y  --  Yank (or recall) the temporary buffer
  265. /  --  Fill a block with drawing character
  266.  
  267.  
  268.   Block≤ arσ area≤ oµ thσ screeε iε ß rectangula≥ shapσ markeΣ b∙ ì
  269. markinτ thσ uppe≥ righ⌠ coordinatσ anΣ thσ lowe≥ lef⌠ coordinate« ì
  270. T∩á marδá ß coordinate¼á movσ (usinτ thσ curso≥ commands⌐ t∩á thσ ì
  271. uppe≥ righ⌠ edgσ oµ thσ blocδ anΣ pres≤ thσ ".ó (Point⌐á command¼ ìèthi≤á mark≤ thσ firs⌠ edgσ oµ thσ block«á  Movσ t∩ thσ lowe≥ lef⌠ ì
  272. edgσ t∩ marδ thσ seconΣ coordinate«á  Pres≤ thσ Poin⌠ commanΣ ke∙ ì
  273. t∩ d∩ this.
  274.  
  275.   Thσ Movσ ß blocδ commanΣ move≤ ß markeΣ blocδ t∩ anothe≥ markeΣ ì
  276. (x,y⌐á position«á  Thσá commanΣ i≤ useΣ b∙ markinτ thσá blocδá t∩ ì
  277. move¼á theεá movσ t∩ thσ positioε a⌠ whicΦ t∩ placσ thσ blocδ anΣ ì
  278. pres≤ thσ Poin⌠ commanΣ key«  Thσ imagσ wil∞ no≈ bσ moveΣ t∩ thi≤ ì
  279. ne≈á locatioεá (uppe≥ righ⌠ edgσ i≤ placeΣ a⌠ thσá markeΣá point⌐ ì
  280. with the original being erased from memory.
  281.  
  282.   Thσá Cop∙á ßá blocδ commanΣ copie≤ ß markeΣá blocδá t∩á anothe≥ ì
  283. markeΣ (x,y⌐ position«á  Thσ commanΣ i≤ useΣ b∙ markinτ thσ blocδ ì
  284. t∩ copy¼á theε movσ t∩ thσ uppe≥ righ⌠ edgσ oµ wherσ thσ blocδ i≤ ì
  285. t∩ bσ copieΣ anΣ pres≤ thσ Poin⌠ commanΣ key«á  Aε exac⌠ cop∙á oµ ì
  286. thσá markeΣ imagσ wil∞ bσ moveΣ t∩ thi≤ ne≈ locatioε leavinτá thσ ì
  287. original.
  288.  
  289.   Thσá Deletσá blocδá commanΣ delete≤ ß blocδá froφá thσá curren⌠ ì
  290. screeεá buffer«á  Thσ commanΣ i≤ useΣ b∙ markinτ thσ blocδ t∩á bσ ì
  291. deleted«á  Afte≥ thσ las⌠ edgσ ha≤ beeε marked¼ thσ imagσ wil∞ bσ ì
  292. deleted«á  Iµá ßá mistakσ wa≤ madσ anΣ yo⌡ didn'⌠ reall∙ wan⌠á t∩ ì
  293. erasσ tha⌠ image¼á thσ Yanδ bacδ commanΣ ma∙ bσ useΣ t∩ recal∞ i⌠ ì
  294. (see below).
  295.  
  296.   Thσá Savσ blocδ commanΣ save≤ ß blocδ t∩ thσ temporar∙á buffer« ì
  297. Thσ commanΣ i≤ useΣ b∙ markinτ thσ blocδ t∩ bσ copied«  Afte≥ thσ ì
  298. las⌠á poin⌠á ha≤á beeεá marked¼á thσ blocδá i≤á copieΣá int∩á thσ ì
  299. temporar∙á buffe≥á ove≥á writinτ whateve≥á ma∙á havσá beeεá therσ ì
  300. before«á  Thi≤á commanΣá i≤ hand∙ t∩ movσ block≤á betweeεá screeε ì
  301. buffers.
  302.  
  303.   Thσ Yanδ bacδ commanΣ recall≤ thσ blocδ iε thσ temporar∙ buffe≥ ì
  304. bacδ t∩ thσ curren⌠ curso≥ position«  Thσ uppe≥ righ⌠ edgσ start≤ ì
  305. where the cursor is located.
  306.  
  307.   Note║á  Oε al∞ oµ thσ command≤ ß "Qó ma∙ bσ entereΣ a⌠ an∙ timσ ì
  308. beforσ thσ enΣ oµ thσ commanΣ t∩ abor⌠ it«á  Al∞ command≤ (excep⌠ ì
  309. Y⌐á wil∞á savσ thσ blocδ int∩ thσ temporar∙ buffe≥á ove≥á writinτ ì
  310. anything already in it.  
  311.  
  312.   Thσá Fil∞á blocδá commanΣ wil∞ fil∞ ßá markeΣá blocδá witΦá thσ ì
  313. drawinτá characte≥á ove≥á writinτ an∙ character≤ alread∙á iεá thσ ì
  314. block (does not follow note above).
  315.  
  316. Misc Commands
  317. -------------
  318.  
  319. N  --  New drawing character
  320. P  --  Next menu page
  321. Q  --  Quit program
  322. 0  --  Print image in text on printer
  323. B  --  Switch screen buffers
  324. T  --  Enter text
  325. C  --  Clear current buffer (new graph)èR  --  Redraw current screen
  326. F  --  Find and replace character
  327.  
  328.   Thσ Ne≈ drawinτ characte≥ wil∞ allo≈ yo⌡ t∩ changσ thσá drawinτ ì
  329. characte≥á t∩ ß differen⌠ one«á  Thσ prograφ prompt≤ fo≥ thσá ne≈ ì
  330. character«á  Ente≥á i⌠ a⌠ thσ promp⌠ anΣ i⌠ wil∞ theε becomσá thσ ì
  331. ne≈ drawinτ character«á  Iµ graphic≤ modσ i≤ on¼ theε thσ graphiπ ì
  332. representation of the character is used (see above).
  333.  
  334.   Thσá Nex⌠ men⌡ pagσ commanΣ wil∞ causσ thσ men⌡ t∩ advancσá onσ ì
  335. pagσ forward«á  Wheε a⌠ thσ las⌠ page¼á pressinτ thσ commanΣ wil∞ ì
  336. make it loop around to the first page.
  337.  
  338.   Thσ Qui⌠ commanΣ cause≤ thσ prograφ t∩ terminate«á  Al∞ datß iε ì
  339. memor∙ i≤ los⌠ anΣ ma∙ no⌠ bσ recovered«á  WARNING║á  Yo⌡ arσ no⌠ ì
  340. prompteΣ t∩ savσ thσ screeε buffers¼ i⌠ i≤ assumeΣ b∙ thσ prograφ ì
  341. that you know exactly what you want to do.
  342.  
  343.   Thσá Prin⌠á commanΣá cause≤ thσ curren⌠ screeεá displa∙á t∩á bσ ì
  344. printeΣ oε thσ printer«á  I⌠ print≤ onl∙ thσ tex⌠á representatioε ì
  345. of any graphics that may be in the screen buffer.
  346.  
  347.   Thσá SwitcΦ Buffe≥ commanΣ allow≤ yo⌡ t∩ switcΦ betweeεá screeε ì
  348. buffers«á  Afte≥ switching¼ thσ buffe≥ t∩ whicΦ yo⌡ jus⌠ switcheΣ ì
  349. become≤ thσ curren⌠ buffer«  Therσ arσ threσ buffer≤ availablσ t∩ ì
  350. switch to.
  351.  
  352.   Thσ Tex⌠ commanΣ allow≤ entr∙ oµ freσ handeΣ text«  Thσ tex⌠ i≤ ì
  353. entereΣ a⌠ thσ curren⌠ location«á  Yo⌡ ma∙ typσ iε thσ text«á  T∩ ì
  354. exi⌠á Tex⌠ entry¼á pres≤ eithe≥ <Return╛ o≥ reacΦ thσ enΣ oµá thσ ì
  355. line.
  356.  
  357.   Thσ Clea≥ buffe≥ commanΣ cause≤ thσ curren⌠ screeε buffe≥ t∩ bσ ì
  358. cleared«á  WARNING║á  Therσá i≤ n∩ confirmatioε beforσ usinτ thi≤ ì
  359. command and after the buffer has been cleared, it is lost.
  360.  
  361.   The Redraw  command will  redraw the screen.  It is a good idea
  362. to use this command whenever reading in a file so the latest data
  363. can be displayed.
  364.  
  365.   The Find and  Replace command allows  a single  character to be
  366. replaced  by another.  You will be prompted  for the character to
  367. find and the  character to replace  it with.  If graphics on, the
  368. program will  replace all characters with that characters graphic
  369. representation  with the  graphic representation  of  the replace
  370. character.
  371.  
  372. =================================================================
  373.                          Keyboard Layout
  374. =================================================================
  375.  
  376.   Thσá curso≥á movemen⌠á command≤ anΣ ß fe≈á other≤á werσá choseε ì
  377. becausσ oµ thei≥ location≤ oε thσ keyboard«á  Belo≈ i≤ ßá drawinτ ì
  378. oµ thσ numeriπ keypaΣ witΦ eacΦ key'≤ functioε marked.
  379. è
  380.            Numeric Key Pad Commands
  381.  
  382.     ---------------------------------
  383.     |7      |8      |9      |-      |
  384.     |  Up   |  Up   |  Up   | Blank |
  385.     | Left  |       | Right | OnOff |
  386.     |-------+-------+-------+-------|
  387.     |4      |5      |6      |,      |
  388.     |  Left | Goto  | Right | Erase |
  389.     |       | (x,y) |       | OnOff |
  390.     |-------+-------+-------+-------+
  391.     |1      |2      |3      |enter  |
  392.     | Down  |  Down | Down  |       |
  393.     | Left  |       | Right |  Not  |
  394.     |-------+-------+-------+  Used +
  395.     |0              |.      |       |
  396.     |   Print       | Point |       |
  397.     |               |       |       |
  398.     ---------------------------------
  399.  
  400.   I⌠á migh⌠ bσ ß gooΣ ideß t∩ cu⌠ thi≤ diagraφ ou⌠ anΣ pos⌠á nea≥ ì
  401. the terminal for easy reference.
  402.  
  403. =================================================================
  404.                     Hints and Other Nonsense
  405. =================================================================
  406.  
  407. Hints
  408. -----
  409.  
  410.   Here are some ideas and pointers for using the program:
  411.   
  412.   ∩á  T∩ movσ ß blocδ int∩ ß differen⌠ screen¼á thσ ─ commanΣá t∩ ì
  413. deletσá i⌠á ou⌠ oµ thσ curren⌠ screeε caε bσ used«á  Theεá switcΦ ì
  414. int∩ thσ screeε int∩ whicΦ yo⌡ wan⌠ t∩ movσ thσ block«á  Positioε ì
  415. thσá curso≥ a⌠ thσ uppe≥ righ⌠ edgσ oµ wherσ thσ blocδ i≤á t∩á g∩ ì
  416. anΣá usσ thσ ┘ commanΣ t∩ yanδ i⌠ back«á  Thi≤ work≤ t∩ "moveó i⌠ ì
  417. froφ onσ placσ t∩ another.
  418.  
  419.   ∩  T∩ mergσ tw∩ screeε buffers¼ g∩ t∩ thσ onσ t∩ mergσ int∩ thσ ì
  420. curren⌠ screeε buffer«á  Marδ thσ edge≤ oµ thσ screen¼á usσ thσ ╒ ì
  421. commanΣá t∩ savσ t∩ thσ buffer«á  Theε switcΦ bacδ t∩á thσá othe≥ ì
  422. buffe≥ anΣ positioε a⌠ (1,1)«  Theε usσ thσ ┘ commanΣ t∩ yanδ thσ ì
  423. screen in.
  424.  
  425.   ∩á  Kee≡ iε minΣ tha⌠ thσ curso≥ afte≥ beinτ turneΣ t∩ nonblanδ ì
  426. wil∞ no⌠ placσ ß characte≥ iε thσ curren⌠ coordinate¼ s∩ movσ onσ ì
  427. les≤á thaε thσ onσ wherσ yo⌡ wan⌠ thσ poin⌠ t∩ g∩á afte≥á turninτ ì
  428. thσá blanδá modσá off«á  Theεá movσ t∩á thσá positioεá wherσá thσ ì
  429. character is to be placed.
  430.  
  431.   ∩á   Thσá thirΣá screeε buffe≥ make≤ ß grea⌠ placσá t∩á havσá ß ì
  432. "symbo∞á table"«á  Placσ int∩ thσ buffe≥ thσ "symbols"¼á anΣ theε ì
  433. marδ theφ anΣ movσ theφ int∩ thσ othe≥ screens«á  ╔ havσ display≤ ìèsaveΣá tha⌠á arσ nothinτ bu⌠ "symbolsó anΣ wheε ╔ firs⌠á ruεá thσ ì
  434. program¼á ╔ reaΣ theφ int∩ thσ thirΣ screeε buffer«á  Theε wheε ╔ ì
  435. neeΣá ßá box¼á ╔ movσ t∩ thσ thirΣ screeε buffer¼á marδá thσá bo° ì
  436. alread∙ iε tha⌠ buffer¼á movσ t∩ thσ destinatioε buffe≥ anΣá yanδ ì
  437. i⌠ in.
  438.  
  439.   ∩  Ruε you≥ termina∞ a≤ fas⌠ a≤ you≥ compute≥ caε handle«á  Thσ ì
  440. Wysσ i≤ capablσ oµ runninτ a⌠ 38.┤ kilobaud«á  ╔ ruε m∙á termina∞ ì
  441. oεá m∙á IC═ compute≥ a⌠ 38.┤ KBauΣ anΣ i⌠á work≤á great«á  Redra≈ ì
  442. time≤á arσá faste≥á anΣ s∩ arσ ever∙ othe≥á functioníá  Fo≥á bes⌠ ì
  443. results run at, at least 9600 baud (or higher if possible).
  444.   
  445.   ∩  Ruε witΦ thσ mos⌠ tpß yo⌡ caε get«  ╔ ruε m∙ machinσ witΦ a⌠ ì
  446. leas⌠á 51╦ tpß unde≥ TurboDO╙ anΣ 56╦ unde≥ CP/M«á  Thi≤ i≤á jus⌠ ì
  447. enougΦ fo≥ thσ prograφ t∩ operate«á  Iµ runninτ ZCPR3¼ usσ ß ver∙ ì
  448. basiπ installatioε t∩ ruε thσ program«á  I⌠ migh⌠ bσ ß gooΣá ideß ì
  449. t∩á havσá ß specia∞ versioε oµ Z│ t∩ ruε witΦ thσ prograφ s∩á yo⌡ ì
  450. can get as much tpa as possible.
  451.  
  452.   ∩á  T∩á ge⌠ graphiπ outpu⌠ oε m∙ printer¼á ╔ savσ thσá graphic≤ ì
  453. displa∙á a≤ ß tex⌠ file«á  Theε ╔ ruε ß publiπ domaiεá prograφá ╔ ì
  454. founΣá tha⌠á wil∞á reaΣá iεá thσá file¼á anΣá prin⌠á thσá graphiπ ì
  455. character≤ ou⌠ oε thσ printer«á  Thi≤ work≤ fine¼á hopefully¼ thσ ì
  456. next version will have the graphics print built in.
  457.  
  458. Other Comments
  459. --------------
  460.  
  461.   Iµá yo⌡á arσ runninτ ß 1╢ bi⌠ CP/M-8╢ o≥ MP/M-8╢á compute≥á anΣ ì
  462. wisΦ t∩ usσ thi≤ program¼ yo⌡ ma∙ contac⌠ mσ a⌠ thσ belo≈ addres≤ ì
  463. o≥ bulletiε boarΣ t∩ ge⌠ thσ 1╢ bi⌠ versioε oµ thσ program«á  Thσ ì
  464. 1╢ bi⌠ versioε i≤ ß lo⌠ faste≥ anΣ allow≤ u≡ t∩ ╡ screeε buffers.
  465.  
  466.   Thi≤á prograφá wa≤á writteεá iεá Turb∩á Pasca∞á (copyrigh⌠á anΣ ì
  467. trademarδá oµá BorlanΣá International⌐á 3.0«áá  Thσá prograφá ha≤ ì
  468. executioεá speed≤á t∩á closσ tha⌠ oµ wha⌠á aεá assembl∙á languagσ ì
  469. program would have!
  470.  
  471.   Iµá yo⌡á wisΦ ß cop∙ oµ thσ sourcσ code¼á i⌠á i≤á availablσá oε ì
  472. specia∞ reques⌠ onl∙ througΦ thσ bulletiε boarΣ listeΣ below«á  ╔ ì
  473. wil∞á no⌠ mai∞ ß cop∙ oµ thσ sourcσ no≥ wil∞ ╔ "acceptóá request≤ ì
  474. tha⌠á comσ througΦ thσ mail«á  Leavσ ß messagσ whilσ leavinτá thσ ì
  475. boarΣ askinτ fo≥ thσ sourcσ anΣ thσ reasoε wh∙ yo⌡ wan⌠ it«  Cal∞ ì
  476. bacδá iε betweeε 3-╖ day≤ anΣ yo⌡ wil∞ bσ tolΣ ho≈ t∩ ge⌠á acces≤ ì
  477. to the source code.
  478.  
  479. Future Features
  480. ---------------
  481.  
  482.   ╔á hopσ ╔ pu⌠ iε thσ mos⌠ usefu∞ feature≤ thi≤ g∩á around¼á bu⌠ ì
  483. there are some things I would really like to have in the program.
  484.  
  485.   o  Printing of graphics on an Epson and Okidata printers
  486.   o  A real symbol table system
  487.   o  Split screen drawing for two graphs at the same timeè  o  An online help facility
  488.   o  ASCII file format save with graphics stripped out
  489.   o  Ability to read in an ASCII format file
  490.   o  Faster redrawing
  491.   o  More temporary buffers (two or three oughta do it)
  492.   o  More flexible installation for other terminals
  493.   ∩  CommanΣ redefinitioε (alas¼á somσ oµ thσ commanΣs don'⌠á makσ ì
  494.      sense to other people [or me])
  495.   o  Bug Free and wonderful 
  496.  
  497. User Supported Software
  498. -----------------------
  499.  
  500.   Thi≤ prograφ tooδ ß lo⌠ oµ timσ t∩ develop«á  I⌠ tooδ man∙ man∙ ì
  501. lonτ hour≤ t∩ write¼ debug¼ tes⌠ anΣ otherwisσ worδ with«  Iµ yo⌡ ì
  502. finΣá thσ prograφ useful¼á fun¼á interestinτ o≥ otherwisσ "good"¼ ì
  503. theεá senΣá ß suggesteΣ contributioε oµ $10.0░ t∩á thσá followinτ ì
  504. address....
  505.  
  506.                Bruce R. Childers
  507.                P.O.  Box 3033
  508.                Oakton, Va. 22124
  509.  
  510.   Thσá contributioε wil∞ hel≡ kee≡ thσ developmen⌠ oµ thσ prograφ ì
  511. froφ fallinτ t∩ thσ bacδ burne≥ whilσ ╔ d∩ stufµ fo≥ ß living« Iµ ì
  512. yo⌡ contribute¼ yo⌡ wil∞ bσ notifieΣ oµ al∞ ne≈ update≤ (viß U.S« ì
  513. Mail⌐á anΣ wil∞ ge⌠ thσ ne≈ updateΣ versioε oε disδ fo≥ thσá cos⌠ ì
  514. oµ thσ disδ anΣ postage.
  515.  
  516. Ah...Final Closing
  517. ------------------
  518.  
  519.   A≤ yo⌡ ma∙ havσ noticed¼á I'φ no⌠ ß write≥ anΣ ╔ d∩ no⌠ pretenΣ ì
  520. t∩ be¼á therefore¼á thi≤ documentatioε ma∙ no⌠ bσ thσ bes⌠ iε thσ ì
  521. world«  
  522.  
  523.   ╔ caε no⌠ bσ helΣ reliablσ fo≥ an∙ damage¼ o≥ othe≥ destructivσ ì
  524. mean≤ occur≤ b∙ usinτ thi≤ program«á  Yo⌡ usσ thσ prograφ a⌠ you≥ ì
  525. own risk, I am not liable for the out come of this program!
  526.  
  527.   Iµ yo⌡ havσ an∙ buτ problem≤ (iε thσ program¼á no⌠ thσ termite≤ ì
  528. iε you≥ house)¼ suggestions¼ o≥ comments¼ senΣ theφ t∩ eithe≥ thσ ì
  529. above address or drop a call by my bulletin board at:
  530.  
  531.     The COMPUTER INFORMATION TRANSFER
  532.     703-281-7907 300/1200 bps 24hrs daily
  533.     Address all mail to Sysop
  534.  
  535.   ╔ aφ reall∙ interesteΣ iε use≥ feeΣ bacδ abou⌠ thσ program«  Iµ ì
  536. yo⌡á finΣ yo⌡ hate¼á likσ o≥ whateve≥ abou⌠ thσ program¼á d∩á no⌠ ì
  537. hesitate to let me know.
  538.  
  539.   (Susan, I meet your challenge.  You owe me a buck, Ha!)
  540.  
  541.                          End of Document