home *** CD-ROM | disk | FTP | other *** search
/ Transactor / Transactor_07_1985_Transactor_Publishing.d64 / scrolls (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  5KB  |  299 lines

  1. 0 rem scrolls (mar 30/85)             :
  2. 1 :
  3. 2 rem 4 statements, 0 functions
  4. 3 :
  5. 4 rem keyword characters: 24
  6. 5 :
  7. 6 rem keyword     routine  line   ser #
  8. 7 rem s/uscrol    uscro    5260    067
  9. 8 rem s/dscrol    dscro    5264    068
  10. 9 rem s/lscrol    lscro    5268    069
  11. 10 rem s/rscrol   rscro    5272    070
  12. 11 :
  13. 12 rem u/by40   (5646/071)
  14. 13 rem u/defwdw (5668/072)
  15. 14 :
  16. 15 rem ================================
  17. 16 :
  18. 118 .asc "uscro[204]dscro[204]"
  19. 119 .asc "lscro[204]rscro[204]"
  20. 1118 .word uscro-1,dscro-1
  21. 1119 .word lscro-1,rscro-1
  22. 5260 uscro ldx #$40
  23. 5262 .byte $2c      
  24. 5264 dscro ldx #$c0
  25. 5266 .byte $2c
  26. 5268 lscro ldx #$00
  27. 5270 .byte $2c
  28. 5272 rscro ldx #$80
  29. 5274 ;
  30. 5276 stx scrdir     
  31. 5278 ldx #0         
  32. 5280 cmp #$ad       
  33. 5282 bne scro1
  34. 5284 jsr $73        
  35. 5286 ldx #$80       
  36. 5288 scro1 txa    
  37. 5290 pha
  38. 5292 jsr defwdw   
  39. 5294 pla
  40. 5296 sta t2
  41. 5298 lda corner   
  42. 5300 ldx corner+1 
  43. 5302 ldy colcor+1 
  44. 5304 sta t3
  45. 5306 sta t5       
  46. 5308 stx t4       
  47. 5310 sty t6
  48. 5312 bit scrdir
  49. 5314 bvc scro2    
  50. 5316 jmp scro14   
  51. 5318 scro2 ldx #0   
  52. 5320 ldy scrdir     
  53. 5322 beq scro3      
  54. 5324 ldy width
  55. 5326 scro3 lda (t3),y  
  56. 5328 sta buffer,x      
  57. 5330 lda (t5),y        
  58. 5332 sta colbuf,x      
  59. 5334 inx               
  60. 5336 lda t3         
  61. 5338 clc            
  62. 5340 adc #$28       
  63. 5342 sta t3
  64. 5344 sta t5
  65. 5346 bcc scro4
  66. 5348 inc t4
  67. 5350 inc t6
  68. 5352 scro4 dec depth 
  69. 5354 bpl scro3       
  70. 5356 scro5 sec      
  71. 5358 lda t3         
  72. 5360 sbc #$28       
  73. 5362 sta t3
  74. 5364 sta t5
  75. 5366 bcs scro6
  76. 5368 dec t4
  77. 5370 dec t6
  78. 5372 scro6 dex        
  79. 5374 bmi scro13       
  80. 5376 ldy scrdir      
  81. 5378 bne scro8       
  82. 5380 scro7 cpy width 
  83. 5382 beq scro10      
  84. 5384 iny             
  85. 5386 lda (t3),y      
  86. 5388 pha
  87. 5390 lda (t5),y      
  88. 5392 dey             
  89. 5394 sta (t5),y      
  90. 5396 pla
  91. 5398 sta (t3),y      
  92. 5400 iny
  93. 5402 bne scro7       
  94. 5404 scro8 ldy width 
  95. 5406 beq scro10
  96. 5408 scro9 dey
  97. 5410 lda (t3),y      
  98. 5412 pha
  99. 5414 lda (t5),y      
  100. 5416 iny             
  101. 5418 sta (t5),y      
  102. 5420 pla
  103. 5422 sta (t3),y      
  104. 5424 dey
  105. 5426 bne scro9       
  106. 5428 scro10 lda buffer,x 
  107. 5430 pha                 
  108. 5432 lda colbuf,x        
  109. 5434 bit t2           
  110. 5436 bmi scro11       
  111. 5438 pla            
  112. 5440 lda #$20       
  113. 5442 bne scro12
  114. 5444 scro11 sta (t5),y 
  115. 5446 pla
  116. 5448 scro12 sta (t3),y 
  117. 5450 clc
  118. 5452 bcc scro5        
  119. 5454 scro13 rts
  120. 5456 scro14 lda scrdir 
  121. 5458 and #$80          
  122. 5460 tay
  123. 5462 beq scro15        
  124. 5464 ldy depth         
  125. 5466 scro15 jsr by40   
  126. 5468 clc          
  127. 5470 adc corner   
  128. 5472 sta t3
  129. 5474 sta t5
  130. 5476 php          
  131. 5478 txa          
  132. 5480 adc corner+1
  133. 5482 sta t4
  134. 5484 plp          
  135. 5486 txa          
  136. 5488 adc colcor+1
  137. 5490 sta t6
  138. 5492 ldy width      
  139. 5494 scro16 lda (t3),y 
  140. 5496 sta buffer,y      
  141. 5498 lda (t5),y
  142. 5500 sta colbuf,y
  143. 5502 dey
  144. 5504 bpl scro16
  145. 5506 ldx depth
  146. 5508 scro17 dex    
  147. 5510 bmi scro21
  148. 5512 lda t3
  149. 5514 bit scrdir    
  150. 5516 bpl scro18    
  151. 5518 sec           
  152. 5520 sbc #$28      
  153. 5522 sta $22       
  154. 5524 sta $24       
  155. 5526 lda t4
  156. 5528 sta $23
  157. 5530 lda t6
  158. 5532 sta $25
  159. 5534 bcs scro19
  160. 5536 dec $23
  161. 5538 dec $25
  162. 5540 bne scro19
  163. 5542 scro18 clc    
  164. 5544 adc #$28      
  165. 5546 sta $22
  166. 5548 sta $24
  167. 5550 lda t4
  168. 5552 sta $23
  169. 5554 lda t6
  170. 5556 sta $25
  171. 5558 bcc scro19
  172. 5560 inc $23
  173. 5562 inc $25
  174. 5564 scro19 ldy width   
  175. 5566 beq scro22         
  176. 5568 scro20 lda ($22),y 
  177. 5570 sta (t3),y         
  178. 5572 lda ($24),y
  179. 5574 sta (t5),y
  180. 5576 dey
  181. 5578 bpl scro20
  182. 5580 lda $22    
  183. 5582 sta t3     
  184. 5584 sta t5
  185. 5586 lda $23
  186. 5588 sta t4
  187. 5590 lda $25
  188. 5592 sta t6
  189. 5594 bne scro17
  190. 5596 scro21 ldy width  
  191. 5598 scro22 lda buffer,y 
  192. 5600 pha               
  193. 5602 lda colbuf,y      
  194. 5604 bit t2            
  195. 5606 bmi scro23        
  196. 5608 pla               
  197. 5610 lda #$20          
  198. 5612 sta (t3),y        
  199. 5614 bne scro24        
  200. 5616 scro23 sta (t5),y 
  201. 5618 pla
  202. 5620 sta (t3),y        
  203. 5622 scro24 dey        
  204. 5624 bpl scro22
  205. 5626 rts
  206. 5628 ;
  207. 5630 buffer =* 
  208. 5632 *= *+$28  
  209. 5634 ;
  210. 5636 colbuf =* 
  211. 5638 *= *+$28  
  212. 5640 ;
  213. 5642 scrdir .byte 0 
  214. 5644 ;
  215. 5646 by40 lda #0 
  216. 5648 tax         
  217. 5650 byf1 cpy #0 
  218. 5652 beq byf2
  219. 5654 dey         
  220. 5656 adc #$27    
  221. 5658 bcc byf1
  222. 5660 inx
  223. 5662 bne byf1
  224. 5664 byf2 rts
  225. 5666 ;
  226. 5668 defwdw jsr $b79e 
  227. 5670 stx corner
  228. 5672 jsr $79
  229. 5674 cmp #";"
  230. 5676 bne dfw2
  231. 5678 jsr $b79b      
  232. 5680 dex            
  233. 5682 bmi dfw3       
  234. 5684 dfw1 stx depth
  235. 5686 lda corner     
  236. 5688 clc
  237. 5690 adc depth
  238. 5692 bcs dfw3       
  239. 5694 cmp #$19       
  240. 5696 bcs dfw3       
  241. 5698 bcc dfw4
  242. 5700 dfw2 jsr $aefd  
  243. 5702 jsr $b79e       
  244. 5704 txa
  245. 5706 sec
  246. 5708 sbc corner      
  247. 5710 tax
  248. 5712 bcs dfw1
  249. 5714 dfw3 jsr $b248
  250. 5716 dfw4 jsr $aefd 
  251. 5718 jsr $b79e      
  252. 5720 stx corner+1
  253. 5722 jsr $79
  254. 5724 cmp #";"
  255. 5726 bne dfw6
  256. 5728 jsr $b79b      
  257. 5730 dex            
  258. 5732 bmi dfw3       
  259. 5734 dfw5 stx width
  260. 5736 lda corner+1    
  261. 5738 clc
  262. 5740 adc width       
  263. 5742 bcs dfw3        
  264. 5744 cmp #$28
  265. 5746 bcs dfw3        
  266. 5748 bcc dfw7
  267. 5750 dfw6 jsr $aefd  
  268. 5752 jsr $b79e       
  269. 5754 txa
  270. 5756 sec
  271. 5758 sbc corner+1    
  272. 5760 tax
  273. 5762 bcs dfw5
  274. 5764 bcc dfw3
  275. 5766 dfw7 ldy corner 
  276. 5768 jsr by40  
  277. 5770 clc             
  278. 5772 adc corner+1
  279. 5774 bcc dfw8
  280. 5776 inx
  281. 5778 dfw8 sta corner 
  282. 5780 sta colcor      
  283. 5782 txa
  284. 5784 pha             
  285. 5786 clc
  286. 5788 adc #$d8       
  287. 5790 sta colcor+1   
  288. 5792 pla            
  289. 5794 clc
  290. 5796 adc 648        
  291. 5798 sta corner+1   
  292. 5800 rts
  293. 5802 ;
  294. 5804 depth  .byte 0 
  295. 5806 width  .byte 0 
  296. 5808 corner .word 0 
  297. 5810 colcor .word 0 
  298. 5812 ;
  299.