home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / mbug / mbug005.arc / WILKIN.WSF < prev    next >
Text File  |  1979-12-31  |  20KB  |  349 lines

  1. .. WRITTEN IN WORDSTAR
  2. .. COMMENTS AFTER .. ARE NOT PRINTED
  3. ..^P^Y TURNS ON ITALICS
  4. .. PAGE LENGTH = 70
  5. .. PAGE WIDTH = 75
  6.   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  7.   *                                                                     *
  8.   *           I M P R O V E M E N T S   T O    W O R D B E E            *
  9.   *                          by  PHIL  WILKIN          1986             *
  10.   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  11.  
  12.      ╔á purchaseΣ m∙ 16╦ 'Beσ somσ threσ anΣ ß halµ year≤ ag∩ anΣá acquireΣ ì
  13. aεá Alpha-8░ printe≥ (samσ a≤ thσ A.T«á unit⌐ shortl∙ afterwards«á Thσ 'Beσ ì
  14. no≈ ha≤ ß 32╦ serie≤ │ coreboard«á Durinτ thi≤ time¼á RO═ baseΣ Wordbeσ ha≤ ì
  15. beeε useΣ extensivel∙ fo≥ ß variet∙ oµ documents/letter≤ anΣ it≤á frustratì
  16. inτá deficiencie≤ havσ resulteΣ iε variou≤ modification≤ beinτ madσ t∩á thσ ì
  17. prograφ t∩ expanΣ it≤ use« Thi≤ articlσ examine≤ somσ oµ thosσ shortcoming≤ ì
  18. anΣ suggest≤ solutions.
  19.  
  20.      Earl∙á mod≤á includeΣá changinτ thσ defaul⌠á printe≥á froφá seria∞á t∩ ì
  21. paralle∞á anΣá doinτá ß warφ star⌠ wheε jumpinτá t∩á basic«á Howeve≥á thesσ ì
  22. variation≤ arσ insignifican⌠ wheε compareΣ t∩ wha⌠ caε bσ achieved.
  23.  
  24.      Yo⌡á can'⌠á reall∙á expec⌠ mucΦ iε aε 8╦ worΣ processinτá prograφá ye⌠ ì
  25. Wordbeσá perform≤á effectively«á I⌠ woulΣ bσ nicσ t∩á havσá aut∩á paragrapΦ ì
  26. numbering¼á sub-paragrapΦ indentinτ anΣ ß screeε formatteΣ likσ thσ printeΣ ì
  27. version¼ bu⌠ i⌠ i≤ nevertheles≤ fairl∙ comprehensive.
  28.  
  29.      Thσá maiεá deficienc∙á anΣá thσ areß covereΣ iεá deptΦá herσá concern≤ ì
  30. printe≥á codes«á   WitΦ standarΣ Wordbee¼á iµ yo⌡ wisΦá t∩á underline¼á anΣ ì
  31. detes⌠á thosσá sill∙ littlσ dashe≤ invokeΣ b∙ thσ .UL° command¼á yo⌡á woulΣ ì
  32. includσ iε you≥ file:
  33.  
  34.  .ES                    printer code sequence follows
  35.  27 45 1                as per printer manual
  36. follow this with the part to be underlined, then:
  37.  .ES
  38.  27 45 0
  39. t∩ cance∞ thσ underlining«á T∩ underlinσ ß worΣ iε thσ middlσ oµ ß linσ yo⌡ ì
  40. als∩ neeΣ t∩ suppres≤ linσ feed≤ witΦ ß .Z╬ anΣ carefull∙ spacσ ou⌠ t∩á thσ ì
  41. requireΣ columε fo≥ thσ underlineΣ word¼ anΣ s∩ on.
  42.  
  43.      Simila≥ messinτ abou⌠ i≤ necessar∙ fo≥ an∙ oµ thσ othe≥ attribute≤ onσ ì
  44. i≤ likel∙ t∩ wan⌠ iε thσ tex⌠ sucΦ a≤ italics¼á emphasised¼á doublσ strike¼ ì
  45. enlarged¼á condensed¼ superscrip⌠ o≥ subscript«   Thσ solutioε i≤ t∩ modif∙ ì
  46. Wordbeσá t∩ recognisσ mid-linσ signal≤ whicΦ causσ thσ appropriatσ codσá t∩ ì
  47. bσ outpu⌠ t∩ thσ printer.
  48.  
  49.      Beforσ wσ looδ a⌠ implementinτ thesσ iε Wordbee¼á let'≤ havσ ß looδ a⌠ ì
  50. thσ prograφ (versioε 1.2⌐ fo≥ somσ spacσ t∩ pu⌠ ou≥ code«á   Therσ arσá 12╕ ì
  51. byte≤ containinτ F╞ o≥ 0░ froφ DF6╖ t∩ DFE6«á Yo⌡ migh⌠ thinδ thi≤ i≤ ß bi⌠ ì
  52. ou⌠á oµ thσ wa∙ anΣ to∩ restricteΣ iε sizσ bu⌠ you≥ printe≥ wil∞ neve≥ kno≈ ì
  53. thσá differencσ anΣ it'≤ wortΦ keepinτ iε mind«á   ┴ poin⌠ t∩ notσ i≤á tha⌠ ì
  54. thσá earl∙ versioε (1.0⌐ ha≤ 42╢ freσ byte≤ froφ DE4░ whicΦá i≤á sufficien⌠ ì
  55. fo≥ ß numbe≥ oµ printe≥ codes.
  56.  
  57.      Wheεá yo⌡á initialisσá Wordbee¼á yo⌡á briefl∙á seσá "Checkinτá WORDBE┼ ì
  58. programóá oε thσ maiε men⌡ page«á Iµ an∙ byte≤ arσ differen⌠ yo⌡ wil∞á nex⌠ ì
  59. seσá "EPRO═á ERRO╥á pres≤ ES├ t∩ continue"«á Iµ yo⌡á modif∙á Wordbee¼á thi≤ ì
  60. messagσ wil∞ alway≤ comσ up«á   Oncσ yo⌡ havσ you≥ modifieΣ versioε u≡á anΣ ì
  61. runninτ iε aε EPROM¼á i⌠ won'⌠ change¼á s∩ i⌠ doe≤ no⌠ neeΣ t∩ checkeΣ eacΦ ì
  62. time«á Thσá checkinτ routinσ i≤ froφ C01╖ t∩ C05╢ s∩ iµ C01╖ read≤ J╨ C057¼ ì
  63. yo⌡á theε havσ froφ C01┴ t∩ C056«á A≤ ß bonus¼á yo⌡ als∩ ge⌠ DF2▓á t∩á DF5│ ì
  64. wherσ thσ message≤ werσ coded.è     Wheεá yo⌡á havσ finisheΣ witΦ ß filσ  anΣ  typσ  (a⌠ thσá  maiεá  men⌡ ì
  65. level⌐á 'KILºá yo⌡ d∩ notÖ wan⌠ t∩ bσ askeΣ b∙ you≥ Beσ 'Arσ yo⌡ surσ ?ºá iµ ì
  66. yo⌡á kno≈á wha⌠á yo⌡á arσ doing«á Surel∙ you≥ finger≤á coulΣá no⌠á bσá thatÖ ì
  67. accidental!íá Thσá samσá thinτ happen≤ wheε yo⌡ exi⌠ t∩ Basiπá bu⌠á iµá yo⌡ ì
  68. changσá tha⌠ t∩ ß warφ star⌠ Basic¼á aε accidenta∞ 'Eº wil∞ no⌠ crasΦá you≥ ì
  69. file«á Thσá 'Arσ yo⌡ sureº routinσ i≤ a⌠ C14░ anΣ thσ Basiπ exi⌠ start≤á a⌠ ì
  70. C13▓á witΦá C─ 4░ C▒ whicΦ iµ yo⌡ changσ t∩ C─ 2╕ C╣  C│ 2▒ 8░ (CAL╠ ßá CL╙ ì
  71. anΣá J╨á 802▒ t∩ Basic⌐ wil∞ givσ yo⌡ froφ C13╕ t∩ C15▓ whicΦá i≤á 2╖á morσ ì
  72. byte≤á fo≥á printe≥á codes«á  Oµ coursσ yo⌡ mus⌠ als∩ deletσ froφá thσá KI╠ ì
  73. routinσ thσ cal∞ t∩ thσ 'Arσ yo⌡ sureº subroutine║á changσ C18╞ froφ C─á 4░ ì
  74. C▒ C░ t∩ ┤ NOPs.
  75.  
  76.      T∩á finΣá morσ space¼á yo⌡ neeΣ t∩ criticall∙ looδ a⌠á thosσá existinτ ì
  77. facilitie≤á whicΦ yo⌡ havσ n∩ neeΣ for«á  Therσ seemeΣ t∩ bσ n∩ gooΣ reasoε ì
  78. t∩ senΣ null≤ o≥ wai⌠ fo≥ ° second≤ o≥ t∩ .UL° o≥ switcΦ thσ printe≥ on/ofµ ì
  79. s∩á al∞ these¼á wheε deleted¼á provideΣ space≤ iε thσ prograφá fo≥á printe≥ ì
  80. codes.
  81.  
  82.      Thσá nex⌠ probleφ i≤ t∩ decidσ exactl∙ wha⌠ ne≈ attribute≤ wσ wisΦá t∩ ì
  83. adΣá t∩ thσ program«á ╔ haΣ ß neeΣ fo≥ continuou≤ underlining¼á italiπá anΣ ì
  84. super- scrip⌠ printinτ witΦ enlarged¼ condenseΣ anΣ emphasiseΣ oε thσ 'nicσ ì
  85. t∩á haveºá lis⌠á anΣ i⌠ wa≤ no⌠ to∩ difficul⌠ t∩ adΣ subscrip⌠á anΣá doublσ ì
  86. printinτ a⌠ thσ samσ time«á   ┴ ne≈ .F╞ commanΣ wa≤ als∩ addeΣ t∩ providσ ß ì
  87. forφ feeΣ a⌠ thσ enΣ oµ ß letter.
  88.  
  89.      No≈á wσ neeΣ t∩ looδ a⌠ jus⌠ ho≈ anΣ wherσ t∩ adΣ ou≥á code«á Wσá havσ ì
  90. madσá space≤ iε thσ origina∞ prograφ anΣ thesσ caε bσ useΣ fo≥ outpu⌠á codσ ì
  91. bu⌠á wσ stil∞ neeΣ t∩ pu⌠ ß 'tripº int∩ thσ prograφ t∩ tes⌠ fo≥ ou≥á signa∞ ì
  92. anΣ theε jum≡ t∩ thσ outpu⌠ routinσ iµ thσ resul⌠ i≤ positive« Iµ wσ arσ t∩ ì
  93. simpl∙ adΣ morσ do⌠ command≤ wσ caε usσ thσ space≤ iε thσ tes⌠ routinσ lef⌠ ì
  94. b∙ remova∞ oµ .SN#xx¼ .WT#xx¼ .X┘ anΣ .ULx.
  95.  
  96.      Thσá do⌠á tes⌠ routinσ start≤ a⌠ CBA┤ whicΦ i≤ calleΣ a⌠ thσ star⌠á oµ ì
  97. eacΦá line«á   Iµ thσ firs⌠ characte≥ i≤ no⌠ ß ful∞ sto≡ (2┼ hex⌐ thσá tes⌠ ì
  98. return≤á 'non-zero'«á Iµá i⌠ i≤ ß dot¼á thσ routinσ theε test≤á thσá fourtΦ ì
  99. characte≥ fo≥ ß <CR╛ (0Dh⌐ - fo≥ two-lette≥ command≤ sucΦ a≤ .JY╗á o≥ test≤ ì
  100. i⌠á fo≥ ß '#º (23h⌐ - fo≥ command≤ sucΦ a≤ .LM#10«á Thσ fina∞ tes⌠ herσá i≤ ì
  101. fo≥ ß .UL° typσ oµ commanΣ whicΦ wσ wil∞ no⌠ need.
  102.  
  103.      Thσá methoΣá ╔ employeΣ wa≤ t∩ usσ onσ lette≥ fo≥á eacΦá ne≈á facilit∙ ì
  104. followeΣá b∙ ß 'Yº fo≥ switchinτ i⌠ oε o≥ ß 'Nº fo≥ switchinτ i⌠á off«á Fo≥ ì
  105. examplσá .I┘á woulΣ switcΦ thσ printe≥ ove≥ t∩ italiπ modσ anΣ ß .I╬á woulΣ ì
  106. rever⌠ i⌠ t∩ normal«á   Similarly¼á 'Cº caε bσ useΣ fo≥ condenseΣ printing¼ ì
  107. 'Bºá fo≥ big/enlargeΣ character≤ (┼ i≤ reserveΣ fo≥ .ES)¼á 'Mº fo≥á emphasì
  108. ised¼á 'Uºá fo≥ underlining¼á anΣ 'Dº fo≥ doublσ print«á A≤ supe≥ anΣá sub-ì
  109. scrip⌠ arσ s∩ closel∙ related¼ i⌠ wa≤ decideΣ t∩ implemen⌠ thesσ a≤ .S┬ fo≥ ì
  110. sub-¼ .S╨ fo≥ super- anΣ .S╬ fo≥ cancellinτ eithe≥ (samσ code).
  111.  
  112.      Thσá line≤á whicΦá checkeΣ fo≥ thosσ attribute≤ whicΦá arσá n∩á longe≥ ì
  113. requireΣá caε no≈ bσ altereΣ t∩ tes⌠ fo≥ ß ne≈ attributσ sucΦá a≤á italics« ì
  114. However¼á t∩á checδ fo≥ eacΦ oµ thσ eigh⌠ ne≈ facilitie≤ wσ arσ adding¼á wσ ì
  115. ruε ou⌠ oµ spacσ here« Thσ assemble≥ listinτ show≤ ß jum≡ t∩ C03╣ wherσ thσ ì
  116. test≤ continuσ (iε thσ areß lef⌠ vacan⌠ b∙ deletioε oµ thσ 'Checkinτá WORDì
  117. BEEºá routine)«á Thσ listinτ ha≤ beeε commenteΣ t∩ sho≈ wha⌠ thσ codσá doe≤ ì
  118. anΣá iµ yo⌡ havσ you≥ printe≥ manua∞ opeε a⌠ Appendi° ┬ yo⌡ shoulΣ bσá ablσ ì
  119. t∩á verif∙ thσ signal≤ beinτ sen⌠ t∩ thσ printe≥ fo≥ eacΦ attribute«á Apar⌠ ì
  120. froφ thσ routine≤ jumpinτ arounΣ t∩ thσ variou≤ space≤ createΣ earlier¼ yo⌡ ì
  121. wil∞á notσ tha⌠ differen⌠ attribute≤ requirσ code≤ sen⌠ t∩ thσá printe≥á t∩ ì
  122. var∙á froφá onσá characte≥á (condensed║á 0╞ fo≥ on¼á 1▓ fo≥á off⌐á t∩á fou≥ ìècharacter≤ (t∩ turε ofµ sub- o≥ superscript║ ES├ ╚ anΣ ES├ T).
  123.  
  124.      Thi≤ methoΣ work≤ quitσ wel∞ but¼á i⌠ stil∞ ha≤ thσ disadvantagσá tha⌠ ì
  125. yo⌡á neeΣ ß ne≈ linσ t∩ invokσ an∙ oµ thesσ ne≈ facilitie≤ witΦ it≤ owε do⌠ ì
  126. commanΣ anΣ anothe≥ ne≈ linσ t∩ cance∞ it« Iµ yo⌡ wisΦ t∩ prin⌠ onσ worΣ iε ì
  127. thσ middlσ oµ ß paragrapΦ iε italic≤ t∩ highligh⌠ it¼á yo⌡ mus⌠ pu⌠ ßá <CR╛ ì
  128. a⌠ thσ enΣ oµ thσ previou≤ line¼á suppres≤ linσ feed≤ witΦ ß .Z╬ line¼ typσ ì
  129. ou⌠á thσ linσ t∩ thσ precedinτ word¼á anothe≥ <CR>¼á switcΦ oε italiπá modσ ì
  130. witΦ ß .I┘ line¼á typσ thσ italiπ word¼á <CR>¼á re-invokσ linσ feed≤ witΦ ß ì
  131.  .ZY¼á spacσ ou⌠ t∩ thσ nex⌠ worΣ anΣ g∩ oε typing«   I⌠ ha≤ thσ advantage≤ ì
  132. tha⌠ i⌠ onl∙ require≤ onσ linσ insteaΣ oµ tw∩ anΣ yo⌡ d∩ no⌠ neeΣ t∩á refe≥ ì
  133. t∩ ß lis⌠ oµ thσ numbe≥ code≤ fo≥ eacΦ facility.
  134.  
  135.      Aε improvement¼á however¼á i≤ t∩ usσ ß specia∞ characte≥ a≤ ß mid-linσ ì
  136. trigge≥á t∩á jum≡á t∩á ß tes⌠ routinσ t∩ ascertaiεá whethe≥á thσá followinτ ì
  137. characte≥ i≤ t∩ switcΦ aε attributσ oε o≥ off«á   Thi≤ methoΣ ha≤ als∩ beeε ì
  138. useΣá witΦá thσ slosΦ (o≥ backslash⌐ '\º characte≥ beinτá employeΣá a≤á thσ ì
  139. trigger«á   Followinτá thi≤ characte≥ witΦ thσ appropriatσ lette≥ fo≥á eacΦ ì
  140. facilit∙ caε togglσ thσ facilit∙ oε o≥ off« 
  141.  
  142. Iε \Ithis\╔ example¼ thσ worΣ 'thisº woulΣ bσ printeΣ iε italic≤ as:
  143.  
  144. Iε thisÖ example¼ etc.
  145.  
  146. Yo⌡á shoulΣ no≈ bσ ablσ t∩ follo≈ thσ screeε dum≡ oµ thσ 'PARALLE╠á PRINTE╥ ì
  147. COMMAN─ MENU'.
  148.  
  149.  
  150.      Thi≤á al∞á sound≤ interesting¼á yo⌡ say¼á bu⌠ ho≈ d∩ wσá operatσá thi≤ ì
  151. 'switch'┐á   Well¼á thσá origina∞ .UL° commanΣ use≤ ß scratcΦ paΣ a⌠ memor∙ ì
  152. locatioεá 0547Φá t∩ storσ thσ characte≥ thσ use≥ select≤ a≤ ßá trigge≥á fo≥ ì
  153. underlining«á   Oε initialisation¼ Wordbeσ set≤ tha⌠ scratchpaΣ t∩ zer∩ anΣ ì
  154. a≤ wσ havσ scrubbeΣ .ULx¼á wσ caε usσ tha⌠ location«á Iµ eacΦ oµ ou≥á eigh⌠ ì
  155. ne≈á attribute≤á i≤á allocateΣ onσ bi⌠ oµ tha⌠ byte¼á wσá theεá havσá eigh⌠ ì
  156. separatσ switches«á   Also¼á thσ origina∞ prograφ useΣ ß routinσ a⌠ CA9╢ t∩ ì
  157. checδá iµá thσ characte≥ allocateΣ b∙ ß .UL° wa≤ presen⌠ and¼á iµá so¼á ac⌠ ì
  158. accordingly«   
  159.  
  160.      Wσá simpl∙ replacσ tha⌠ routinσ witΦ ou≥ owε whicΦ check≤ fo≥ ßá slosΦ ì
  161. character¼á continuinτá oε t∩ thσ usua∞ prin⌠ routinσ iµá no⌠á found«á   Iµ ì
  162. therσ i≤ ß slosh¼á ou≥ routinσ ensure≤ thσ nex⌠ characte≥ i≤ uppe≥ casσ anΣ ì
  163. theεá jump≤á t∩ anothe≥ routinσ wσ pu⌠ a⌠ DF2╕ whicΦ set≤ thσ switche≤á anΣ ì
  164. output≤ thσ signal≤ t∩ thσ printer«á ┴ fe≈ littlσ point≤ t∩ note« Subscrip⌠ ì
  165. anΣ superscrip⌠ requireΣ ne≈ identifyinτ characters║á ']º anΣ '^º havσ beeε ì
  166. used« Thσ worΣ "PAG┼ xó whicΦ wa≤ locateΣ a⌠ DF5╞ anΣ addresseΣ b∙ locatioε ì
  167. CB1─á ha≤á beeεá moveΣ t∩ DF2▓ anΣ CB1─á amendeΣá accordingly«á Thσá seconΣ ì
  168. assemble≥ listinτ show≤ ho≈ ß softwarσ switcΦ i≤ used.
  169.  
  170.      Onσá oµ thσ problem≤ oµ usinτ ß mid-linσ switcΦ i≤ adjustinτ thσá linσ ì
  171. lengtΦ t∩ compensate« Thi≤ probleφ ha≤ no⌠ beeε entirel∙ overcomσ anΣ usinτ ì
  172. thi≤á facilit∙á upset≤ thσ righ⌠ justificatioε mode«á Perhap≤á onσá oµá thσ ì
  173. member≤á ou⌠á therσá ha≤á thσ timσ anΣ inclinatioε t∩ delvσá int∩á thσá .J┘ ì
  174. routinσ anΣ comσ u≡ witΦ thσ solution┐ Well¼ witΦ thesσ change≤ t∩ Wordbee¼ ì
  175. yo⌡ wil∞ finΣ i⌠ mucΦ morσ convenien⌠ t∩ usσ thosσ specia∞ attribute≤á you≥ ì
  176. printe≥ caε s∩ readil∙ provide«á However¼ wσ haven'⌠ entirel∙ finisheΣ witΦ ì
  177. improvement≤á anΣá yo⌡á ma∙ conside≥ thσ followinτ suggestion≤á o≥á perhap≤ ì
  178. desigε you≥ own.
  179.  
  180. è     Thσá Telcoφ monito≥ work≤ thσ samσ wa∙ a≤ thσ Wordbeσ monito≥á bu⌠á i≤ ì
  181. morσá comprehensivσá anΣá readil∙ allow≤ swappinτ arounΣá betweeεá thσá PA╦ ì
  182. location≤ which¼ iµ donσ froφ thσ Wordbeσ monitor¼ wil∞ resul⌠ iε aε immedì
  183. iatσá crash«á   Havinτá thσ Telcoφ monito≥ thu≤ make≤ thσá Wordbeσá monito≥ ì
  184. obsoletσá anΣ coulΣ providσ u≤ witΦ ß substantia∞ chunδ oµ sparσ memor∙á iµ ì
  185. wσá deletσ it«á   Thσ Wordbeσ monito≥ start≤ a⌠ D06▒ anΣ yo⌡ caε ente≥á thσ ì
  186. Telcoφá monito≥á a⌠á E024«á   Jus⌠ ß poin⌠ t∩ watcΦ beforσ yo⌡á deletσá thσ ì
  187. monitor¼á therσ arσ tw∩ routine≤ calleΣ froφ thσ res⌠ oµ Wordbeσ s∩á follo≈ ì
  188. thesσ steps:
  189.  
  190.         1.   Amend D061 to read -
  191.              D061  CD 28 C9     CALL    C928    ; clear screen
  192.              D064  C3 24 E0     JP      E024    ; Telcom mon
  193.  
  194.         2.   Move D468 - D486  to  D067 - D085  (1F bytes)
  195.              Change CF31 from 68 D4 to 67 D0
  196.  
  197.         3.   Move D515 - D540  to  D086 - D0B1  (2C bytes)
  198.              Change CE6C from 15 D5 to 86 D0
  199.  
  200.         4.   Delete D0B2 to D555
  201.  
  202. This gives us 1188 bytes (4A4 h) to play with !!
  203. 
  204. SETTING DEFAULTS 
  205. 
  206.      D∩á yo⌡ finΣ tha⌠ eacΦ timσ yo⌡ star⌠ ß lette≥ o≥ othe≥ documen⌠á tha⌠ ì
  207. yo⌡ alway≤ commencσ witΦ thσ samσ formattinτ parameters┐á Iε m∙ case¼á mos⌠ ì
  208. file≤ starteΣ witΦ thσ following:
  209.  
  210.  .ES
  211.  27 64          ; printer initialise to set top of form and
  212.                 ; ensure normal text
  213.  .LM#5          ; letters look better with a good sized margin
  214.  .LL#64         ; its a handy length for letters and the
  215.                 ; screen resembles the final print
  216.  .PG#0          ; single sheets are often used
  217.  
  218.      I⌠á wa≤á decideΣá t∩ automaticall∙ star⌠ file≤ witΦá thesσá parameter≤ ì
  219. afte≥ ß 'KIL'«á Iµ no⌠ needed¼á the∙ caε easil∙ bσ deleteΣ witΦ ^Y« Herσ i≤ ì
  220. m∙ methoΣ oµ doinτ this.
  221.  
  222.      Thσ 'KILº routinσ end≤ witΦ ß jum≡ t∩ C06░ nea≥ thσ star⌠ oµá Wordbee« ì
  223. Thσá routinσ froφ C06░ t∩ C06╕ clear≤ thσ scratchpad≤ afte≥ puttinτ ßá '55º ì
  224. int∩ locatioε 500¼á anΣ froφ C06╣ t∩ C07├ i⌠ clear≤ RA═ froφ 090▒ on« Iµ wσ ì
  225. duplicatσá thesσ routine≤ elsewhere¼á follo≈ u≡ witΦ ß routinσ whicΦá blocδ ì
  226. move≤á ou≥ initia∞ filσ int∩ RAM¼á adjust≤ thσ end-of-filσ pointe≥ a⌠á 051─ ì
  227. anΣ theε jump≤ t∩ thσ warφ star⌠ addres≤ a⌠ C07D¼á wσ wil∞ achievσ ou≥ aim«   ì
  228. D∩ no⌠ forge⌠ t∩ changσ thσ jum≡ addres≤ a⌠ C19╞ froφ C│ 6░ C░ (J╨ C060⌐ t∩ ì
  229. poin⌠á t∩á thσ ne≈ routinσ locatioε - probabl∙ wherσ yo⌡ havσ jus⌠á cleareΣ ì
  230. ou⌠ thσ monitor«   Jus⌠ iε casσ yo⌡ arσ no⌠ surσ ho≈ t∩ d∩ thi≤ blocδ move¼ ì
  231. assemblσ this:
  232.         LD      HL,START        ; address of 'file'
  233.         LD      DE,0901h        ; where Wordbee files start
  234.         LD      BC,LENGTH       ; of file - the above example
  235.                                   is 1D long
  236.         LDIR
  237.         LD      (051Dh),DE      ; end of file pointer
  238.         JP      0C07Dh          ; warm startè     Onσá wa∙ t∩ ge⌠ you≥ 'fileº i≤ t∩ KI╠ an∙ datß iε memory¼á writσá you≥ ì
  239. startinτá parameter≤ a≤ ß file¼á jum≡ t∩ thσ monito≥ anΣ movσ i⌠á somewherσ ì
  240. safσ (awa∙ froφ EDAS═ sourcσ code≤ yo⌡ migh⌠ perhap≤ bσ doinτ next)« Alter- ì
  241. natively¼ yo⌡ caε ente≥ i⌠ directl∙ witΦ thσ Telcoφ monito≥ iε tex⌠ mode.
  242.  
  243.      ShoulΣá yo⌡á alway≤ wan⌠ you≥ standarΣá parameters¼á jus⌠á changσá thσ ì
  244. instructioεá a⌠á C07┴á t∩ CAL╠ you≥ ne≈ routinσ whicΦ wil∞ star⌠á witΦá thσ ì
  245. replaceΣ "L─ (0513),HLó anΣ follo≈ witΦ thσ blocδ movσ routine¼ endinτ witΦ ì
  246. ß RE╘ iε lie⌡ oµ J╨ 0C07Dh.
  247.  
  248.      Havinτ madσ ß biτ holσ wherσ thσ monito≥ useΣ t∩ be¼á wσ migh⌠ a≤ wel∞ ì
  249. d∩ somethinτ worthwhilσ witΦ it«á ╔ havσ ß smal∞ famil∙ compan∙ anΣ ╔á havσ ì
  250. designeΣá ßá fou≥á linσ letterheaΣ usinτ bi⌠ imagσ graphic≤á t∩á prin⌠á thσ ì
  251. compan∙á namσá iε largσ fanc∙ writing«á Perhap≤ reader≤ migh⌠ wan⌠á t∩á pu⌠ ì
  252. thei≥ famil∙ cres⌠ oε letter≤ o≥ maybσ jus⌠ thσ housσ namσ iε stylisΦ prin⌠ ì
  253. followeΣ b∙ thσ address.
  254.  
  255.      Thσá probleφ wa≤ tha⌠ thσ Wordbeσ filσ fo≥ thσ letterheaΣ consisteΣ oµ ì
  256. arounΣ onσ thousanΣ item≤ oµ data¼á eacΦ beinτ tw∩ t∩ fou≥ byte≤ long«á No⌠ ì
  257. onl∙á wa≤ i⌠ timσ consuminτ t∩ loaΣ al∞ thσ datß anΣ t∩ scrol∞á througΦá i⌠ ì
  258. beforσ eveε startinτ thσ letter¼ bu⌠ als∩ wheε savinτ thσ lette≥ t∩ tape.
  259.  
  260.      ┴á ne≈á commanΣá .L╚ wa≤ introduceΣ t∩ dum≡ thσ datß t∩á thσá printer« ì
  261. InsteaΣá oµ beinτ par⌠ oµ ß Wordbeσ file¼á thσ datß i≤ no≈ storeΣá iεá hex¼ ì
  262. fillinτá mos⌠ oµ tha⌠ biτ hole«á T∩ arrangσ this¼á pu⌠ ß brancΦ loo≡ iε thσ ì
  263. do⌠á commanΣá look-u≡ table«á Refe≥ t∩ listinτ one¼á linσá 210«á AmenΣá thσ ì
  264. addres≤á froφ 'LINEº (CC6E⌐ t∩ 'LHEADº whicΦ wil∞ bσ whereve≥ yo⌡á pu⌠á thσ ì
  265. followinτ codσ (examplσ i≤ a⌠ D0F5):
  266.  
  267. ;       LETTERHEAD ROUTINE
  268. ;
  269.         ORG     0D0F5     ; or where it suits you
  270. PRINT   EQU     0CD54     ; usual print routine
  271. START   EQU     0D110     ; or where your letterhead data starts
  272. LENGTH  EQU     3DC       ; change to the number of bytes in your data
  273. LINE    EQU     0CC6E     ; original .LS#xx test location
  274. ;
  275. LHEAD   LD      A,(IY+2)  ; get the next character
  276.         CP      'H'       ; is the command .LH ?
  277.         JP      NZ,LINE   ; if not, revert to original test
  278.  
  279. ; to get here it must have been a .LH command
  280.  
  281.         LD      HL,START  ; location of your data
  282.         LD      DE,START  ; first piece of data
  283.         LD      BC,LENGTH ; of data string
  284. OUTPUT  LD      A,(DE)    ; ready to print contents of A reg
  285.         CALL    PRINT     ; to printer
  286.         LDI               ; to next byte
  287.         JP      PE,OUTPUT ; print next if not finished
  288.         RET               ; all done
  289. ;
  290.         END               ; to keep EDASM happy !
  291.  
  292.      I⌠á woulΣá bσ eas∙ t∩ modif∙ thi≤ routinσ t∩ givσ ß choicσ oµá letterì
  293. head≤á o≥ perhap≤ ß signature«á   Jus⌠ remembe≥ tha⌠ thσá fourtΦá characte≥ ì
  294. (IY+3⌐ MUSTÖ bσ ß <CR╛ o≥ ß '#'¼ s∩ yo⌡ woulΣ neeΣ t∩ tes⌠ fo≥ .L1¼ .L2¼ etπ ì
  295. o≥ maybσ .LH#1.
  296. è     AnΣá no≈á t∩á thσ las⌠ modificatioε oµ substance«á Havinτá trieΣá thi≤ ì
  297. modifieΣ Wordbeσ witΦ ß PC¼á ß conflic⌠ occurreΣ wheε tryinτ t∩ movσ t∩ thσ ì
  298. to≡ oµ thσ filσ witΦ ^T«á Thi≤ i≤ becausσ thσ Shel∞ a⌠ PA╦ ╡ whicΦ control≤ ì
  299. thσ wholσ sho≈ act≤ oε ß ^╘ doinτ ß tex⌠ dum≡ t∩ thσ printeríá Thσ solutioε ì
  300. i≤á t∩ changσ thσ commanΣ t∩ ^╫ whicΦ i≤ achieveΣ b∙ changinτ D02╞ froφá 1┤ ì
  301. t∩ 1╖ anΣ changinτ D58┴ froφ 5┤ t∩ 57.
  302.  
  303.      Thσá res⌠á oµ thσ change≤ arσ cosmetiπ anΣ includσ changinτá thσá maiε ì
  304. men⌡á choicσ oµ "Netó t∩ "Telcomó anΣ re-wordinτ thσ printe≥ hel≡á pagσá t∩ ì
  305. reflec⌠ thσ ne≈ commands.
  306.  
  307.      That'≤á abou⌠ thσ exten⌠ oµ change≤ implementeΣ s∩ far«á ╔ canno⌠ sel∞ ì
  308. yo⌡á ßá cop∙ oµ hi≤ modifieΣ Wordbeσ becausσ oµ copyrigh⌠ oεá thσá origina∞ ì
  309. program¼á bu⌠ iµ yo⌡ brinτ alonτ you≥ originall∙ purchaseΣ cop∙ oµá Wordbeσ ì
  310. anΣ ß sparσ 276┤ EPROM¼ you≥ cop∙ caε bσ modifieΣ a≤ outlineΣ abovσ fo≥ sa∙ ì
  311. $1░ anΣ burn⌠ int∩ thσ EPROM.
  312.  
  313.      Onσ las⌠ poin⌠ t∩ hel≡ yo⌡ witΦ you≥ mods«á RoΣ Irvinτ Electronic≤ ha≤ ì
  314. beeεá sellinτ 6264(8╦ RAM⌐ chip≤ fo≥ $╖ anΣ thesσ arσ piεá compatiblσá witΦ ì
  315. 2764's«á The∙á won'⌠ worδ jus⌠ anywherσ though¼á onl∙ iε placσ oµ thσ BASI├ ì
  316. ROM'≤ and/o≥ PA╦ 0¼ anΣ onl∙ iµ thσ linδ i≤ madσ betweeε "16ó anΣ "17ó nea≥ ì
  317. IC1░á oε thσ coreboarΣ anΣ thσ othe≥ link≤ arσ se⌠ fo≥ 2764's«á  Wha⌠á thi≤ ì
  318. mean≤ i≤ tha⌠ yo⌡ caε se⌠ u≡ you≥ modifieΣ Wordbeσ iε ß RA═ chi≡ locateΣ a⌠ ì
  319. PA╦ ░ anΣ tes⌠ ruε i⌠ beforσ burninτ i⌠ int∩ aε EPROM« Wha⌠ yo⌡ can'⌠ d∩ i≤ ì
  320. thro≈á ou⌠á you≥á Basiπ ROM'≤ anΣ pluτ iε RA═ t∩ providσá morσá memor∙á fo≥ ì
  321. Wordbeσ becausσ Wordbeσ make≤ somσ RO═ call≤ int∩ Basic.
  322.  
  323.      Perhap≤á somσ reader≤ havσ othe≥ modification≤ whicΦ cluΓ member≤á ma∙ ì
  324. bσá interesteΣá in¼á o≥ maybσ someonσ wil∞ rewritσá al∞á thi≤á unstructureΣ ì
  325. (throwεá together⌐á codσ int∩ somσ semblancσ oµ order«á ╔ caε bσá contacteΣ ì
  326. afte≥ hour≤ oε 2╣ 7785.
  327.  
  328.               THIS IS ┴ SCREEN DUMP OF THE PRINTER HELP PAGE
  329.  
  330.  
  331.                       PARALLEL  PRINTER  COMMAND  MENU 
  332.  
  333.      "\*" = mid-line on/off switch
  334.      ".*Y" or ".*N" = start of line on/off command
  335. For "*" use:        I = italics    D = double     B = enlarged
  336.                     U = underline  M = embossed   C = condensed
  337. "\": \^  = superscript   \]  = subscript
  338. ".": .SP = superscript   .SB = subscript   .SN = turns either off
  339. DOT commands only:  J = justify    Z = L/F's with C/R's
  340.      NP = new page  HE = page header follows      FF = form feed
  341.      ES = send next line/para as sequence to printer
  342.  .LL#xx = line length    .LM#xx = left margin     .LS#xx = line spacing
  343.  .PG#xx = crease gap (0 = single sheet)           .PN#xx = page number
  344.  .PL#xx = page length (lines)                     .LH    = letterhead
  345.  
  346.                              <RETURN> to menu
  347.                      Tape load: *=any @=force \=append
  348.  
  349.