home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 163 / 163.d81 / b.wrap artist / b.080f / WRAP SOURCE < prev   
Encoding:
Text File  |  1998-01-01  |  2.1 KB  |  191 lines

  1. open =$ffc0
  2. readst =$ffb7
  3. setlfs =$ffba
  4. setnam =$ffbd
  5. setmsg =$ff90
  6. load =$ffd5
  7. getin =$ffe4
  8. input'buffer =512
  9. clrchn =$ffcc
  10. close =$ffc3   ;a
  11. chrin =$ffcf
  12. chkout =$ffc9  ;x
  13. chkin =$ffc6   ;x
  14. plot =$fff0
  15. chrout =$ffd2
  16. color'pointer =243
  17. screen'line'pointer =209
  18. print'number =$bdcd ;x,a
  19. clear'line =59903
  20. background =53281
  21. border =53280
  22. strout = $ab1e; .A low .Y high
  23. unlisten =$ffae
  24. clall =$ffe7
  25.  
  26. buffer =$200
  27.  
  28. .org $ce00
  29. ;mem
  30. .obj "@0:wrap ce00"
  31.  
  32. jmp wrap
  33. jmp ml'wrap ;3
  34. jmp init'wrap ;6
  35. jmp init'page ;9
  36. jmp ml'init'wrap ;12
  37. jmp ml'init'page ;15
  38. jmp wrap'device ;18
  39. jmp ml'wrap'device;21
  40. jmp clear'buffer;24
  41.  
  42. word'wrap sty temp
  43. ;ldy #0
  44. lda ($22),y
  45. ldy word'index
  46.  
  47. cmp "_"
  48. bne +
  49.  
  50. lda #13
  51.  
  52. + cmp #13
  53. bne +
  54. jsr print'word
  55. jmp car'return
  56.  
  57. + inc word'index
  58. sta buffer,y
  59.  
  60. cmp " "
  61. bne +
  62. jmp print'word
  63.  
  64. + lda line'pos
  65. clc
  66. adc word'index
  67. cmp right'limit
  68. bcc +
  69. jsr car'return
  70. lda line'pos
  71. clc
  72. adc word'index
  73. cmp right'limit
  74. bcc +
  75. jsr print'word
  76. jmp car'return
  77.  
  78. + rts
  79.  
  80. car'return lda #13
  81. jsr chrout
  82. lda wdevice
  83. cmp #3
  84. beq +
  85. ldy #0
  86. lda " "
  87. - jsr chrout
  88. iny
  89. cpy left'limit
  90. bcc -
  91. bcs ++
  92. + lda left'limit
  93. sta 211
  94. jsr 58732
  95. + lda left'limit
  96. sta line'pos
  97. lda reverse'flag
  98. sta 199
  99. inc line'number
  100. ldx line'number
  101. sta $14
  102. rts
  103.  
  104. print'word lda word'index
  105. bne +
  106. rts
  107. + ldy #0
  108. - lda buffer,y
  109. jsr chrout
  110. iny
  111. inc line'pos
  112. cpy word'index
  113. bne -
  114. lda #0
  115. sta word'index
  116. jmp clear'buffer
  117.  
  118. ml'init'page lda #0
  119. sta line'number
  120.  
  121. ml'init'wrap stx left'limit
  122. sty right'limit
  123. lda #0
  124. sta word'index
  125. sta line'pos
  126. rts
  127.  
  128. init'page lda #0
  129. sta line'number
  130.  
  131. init'wrap jsr get'number
  132. sty left'limit
  133. jsr get'number
  134. sty right'limit
  135. lda #0
  136. sta word'index
  137. sta line'pos
  138. rts
  139.  
  140. wrap jsr get'string
  141. ml'wrap sta temp+1
  142. cmp #0
  143. bne +
  144.  
  145. rts
  146.  
  147. + lda 199
  148. sta reverse'flag
  149. ldy #0
  150. - lda ($22),y
  151. jsr word'wrap
  152. ldy temp
  153. iny
  154. cpy temp+1
  155. bcc -
  156. rts
  157.  
  158. clear'buffer ldy #79
  159. lda #0
  160. sta 212
  161. - sta buffer,y
  162. dey
  163. bpl -
  164. rts
  165.  
  166. wrap'device jsr get'number
  167. ml'wrap'device sty wdevice
  168. rts
  169.  
  170. get'string jsr $aefd
  171. jsr $ad9e
  172. jmp $b6a3
  173.  
  174. get'number jsr $aefd
  175. jsr $ad8a
  176. jmp $b7f7
  177.  
  178. wdevice .byt 3
  179.  
  180. last .byt 0
  181.  
  182. right'limit .byt 37
  183. left'limit .byt 1
  184. reverse'flag .byt 0
  185. last'char .byt 0
  186. word'index .byt 0
  187. line'pos .byt 0
  188. line'number .byt 0
  189. temp .buf 2
  190.  
  191.