home *** CD-ROM | disk | FTP | other *** search
/ Loadstar - Compleat Programmer / comprog1.d81 / bs.pal (.txt) < prev    next >
Commodore BASIC  |  2022-08-28  |  5KB  |  274 lines

  1. 100 open2,9,1,"0:bugsc.52300"
  2. 110 sys700
  3. 120 ;
  4. 130 *=52300
  5. 140 ;
  6. 150 .opt o2
  7. 160 ;
  8. 170 ptr    = $22
  9. 180 channl = $13
  10. 190 curlin = $39
  11. 200 linnum = $14
  12. 210 txtptr = $7a
  13. 220 temp   = $02
  14. 230 temp1  = $49
  15. 240 err    = $02a7
  16. 250 row    = $02a8
  17. 260 col    = $02a9
  18. 270 print  = $ab47
  19. 280 errtab = $a326
  20. 290 linkprg = $a533
  21. 300 clear  = $a659
  22. 310 init   = $a67a
  23. 320 error  = $a36a
  24. 330 strout = $ab1e
  25. 340 fndlin = $a613
  26. 350 stop   = $a82c
  27. 360 linprt = $bdcd
  28. 370 reslst = $a09e
  29. 380 warm1  = $e38b
  30. 390 list   = $a6c9
  31. 400 ready1 = $a47b
  32. 410 nrmerr = $a43a
  33. 420 ierror = $0300
  34. 430 clrchn = $ffcc
  35. 440 plot   = $fff0
  36. 450 ;
  37. 460 jsr linkprg ;re-set program pntrs
  38. 470 clc         ; so user doesn't have
  39. 480 lda ptr     ; to type new
  40. 490 adc #2
  41. 500 sta $2d
  42. 510 lda ptr+1
  43. 520 adc #0
  44. 530 sta $2e
  45. 540 jsr clear
  46. 550 lda #12    ;set border color
  47. 560 sta $d020  ;
  48. 570 lda #0     ;set background color
  49. 580 sta $d021  ;
  50. 590 ;
  51. 600 lda 646 ;
  52. 610 pha ;
  53. 620 ;
  54. 630 jsr title    ;display title
  55. 640 lda ierror+1 ;set/reset
  56. 650 cmp #$e3     ; debug wedge
  57. 660 beq e1
  58. 670 ;
  59. 680 ldx #7
  60. 690 .byte $2c
  61. 700 e1 ldx #3
  62. 710 lda mtab,x
  63. 720 sta ierror+1
  64. 730 dex
  65. 740 lda mtab,x
  66. 750 sta mtab,x
  67. 760 sta ierror
  68. 770 stx $02
  69. 780 lda #<ms6
  70. 790 ldy #>ms6
  71. 800 jsr strout
  72. 810 ldx $02
  73. 820 dex
  74. 830 ldy mtab,x
  75. 840 dex
  76. 850 lda mtab,x
  77. 860 jsr strout
  78. 870 ;
  79. 880 pla ;
  80. 890 sta 646 ;
  81. 900 ;
  82. 910 jmp $a474
  83. 920 ;
  84. 930 start cpx #$30 ;error code?
  85. 940 bcc entry      ;yes, continue
  86. 950 jmp warm1      ;no, exit
  87. 960 ;
  88. 970 entry lda curlin+1
  89. 980 cmp #$ff            ;"direct mode?
  90. 990 bne entry1          ;no, [154]inue
  91. 1000 jmp nrmerr         ;yes, exit
  92. 1010 ;
  93. 1020 entry1 stx err      ;[148] err[176]
  94. 1030 lda #0              ;reset basic
  95. 1040 sta channl
  96. 1050 jsr init
  97. 1060 ;
  98. 1070 lda 646 ;[148] char col[176]
  99. 1080 pha     ;
  100. 1090 ;
  101. 1100 lda #[179]ms1    ;display err[176]
  102. 1110 ldy #[177]ms1    ; message
  103. 1120 jsr strout
  104. 1130 lda err
  105. 1140 asl a
  106. 1150 tax
  107. 1160 lda errtab,x
  108. 1170 sta ptr
  109. 1180 lda errtab[170]1,x
  110. 1190 sta ptr[170]1
  111. 1200 ldy #0
  112. 1210 eloop lda (ptr),y
  113. 1220 pha
  114. 1230 [175] #$7f
  115. 1240 jsr [153]
  116. 1250 iny
  117. 1260 pla
  118. 1270 bpl eloop
  119. 1280 lda #[179]ms2
  120. 1290 ldy #[177]ms2
  121. 1300 jsr strout
  122. 1310 ;
  123. 1320 lda $d021 ;
  124. 1330 [175] #15   ;
  125. 1340 cmp #1    ;
  126. 1350 beq floyd ;
  127. 1360 lda #5    ;
  128. 1370 .byte $2c
  129. 1380 floyd lda #144
  130. 1390 jsr $ffd2 ;
  131. 1400 ;
  132. 1410 lda curlin    ;[161] basic
  133. 1420 ldx curlin[170]1  ; line number.
  134. 1430 sta linnum    ;find address
  135. 1440 stx linnum[170]1  ; of basic line
  136. 1450 jsr [165]dlin
  137. 1460 sec           ;calculate [185]iti[145]
  138. 1470 lda txtptr    ; of err[176] in
  139. 1480 sbc $5f       ; basic line
  140. 1490 sta temp
  141. 1500 jsr l1    ;[155] [164] crt.
  142. 1510 ;
  143. 1520 pla       ;[140] char col[176]
  144. 1530 sta 646   ;
  145. 1540 ;
  146. 1550 ldx row   ;set curs[176]
  147. 1560 ldy col   ; [185]iti[145] [145]
  148. 1570 clc       ; basic line
  149. 1580 jsr plot
  150. 1590 ldx #3         ;reset screen
  151. 1600 l0 lda btab,x  ; edi[164]r po[181]ers
  152. 1610 sta $0277,x
  153. 1620 dex
  154. 1630 bpl l0
  155. 1640 lda #4
  156. 1650 sta $c6
  157. 1660 jmp [135]y1 ;exit [164] basic
  158. 1670 ;
  159. 1680 l1 ldy #1 ;list routine
  160. 1690 sty $0f
  161. 1700 lda ($5f),y
  162. 1710 beq l7
  163. 1720 iny
  164. 1730 lda ($5f),y
  165. 1740 tax
  166. 1750 iny
  167. 1760 lda ($5f),y
  168. 1770 l3 sty temp1
  169. 1780 jsr linprt
  170. 1790 lda #$20
  171. 1800 l4 ldy temp1
  172. 1810 [175] #$7f
  173. 1820 l5 jsr [153]
  174. 1830 cmp #34
  175. 1840 bne l6
  176. 1850 lda $0f
  177. 1860 e[176] #$ff
  178. 1870 sta $0f
  179. 1880 l6 iny
  180. 1890 beq l7
  181. 1900 cpy temp
  182. 1910 bne l12
  183. 1920 tya
  184. 1930 pha
  185. 1940 sec
  186. 1950 jsr plot ;save screen
  187. 1960 stx row  ;[185]iti[145] at
  188. 1970 sty col  ;err[176] locati[145]
  189. 1980 pla
  190. 1990 tay
  191. 2000 l12 lda ($5f),y
  192. 2010 bne l8
  193. 2020 l7 rts
  194. 2030 l8 bpl l5
  195. 2040 cmp #$ff
  196. 2050 beq l5
  197. 2060 bit $0f
  198. 2070 bmi l5
  199. 2080 sec
  200. 2090 sbc #$7f
  201. 2100 tax
  202. 2110 sty temp1
  203. 2120 ldy #$ff
  204. 2130 l9 dex
  205. 2140 beq l11
  206. 2150 l10 iny
  207. 2160 lda reslst,y
  208. 2170 bpl l10
  209. 2180 bmi l9
  210. 2190 l11 iny
  211. 2200 lda reslst,y
  212. 2210 bmi l4
  213. 2220 jsr [153]
  214. 2230 bne l11
  215. 2240 fil lda #13
  216. 2250 jsr $ffd2
  217. 2260 ldy #7
  218. 2270 fil2 lda #$20
  219. 2280 jsr $ffd2
  220. 2290 dey
  221. 2300 bne fil2
  222. 2310 lda #$12
  223. 2320 jsr $ffd2
  224. 2330 lda #$1f
  225. 2340 jmp $ffd2
  226. 2350 ;
  227. 2360 title lda #0
  228. 2370 sta $2
  229. 2380 lp1 ldy $2
  230. 2390 lda ms3,y
  231. 2400 bne lp4
  232. 2410 jsr fil
  233. 2420 jmp lp8
  234. 2430 lp4 cmp #255
  235. 2440 bne lp6
  236. 2450 rts
  237. 2460 lp6 jsr $ffd2
  238. 2470 lp8 inc $2
  239. 2480 jmp lp1
  240. 2490 ;
  241. 2500 ;
  242. 2510 ;
  243. 2520 ms1 .byte $93,$1c,$5b,0
  244. 2530 ms2 .[198] " error]"
  245. 2540 .byte 13,13,0
  246. 2550 ms3 .byte $93,9,142,0
  247. 2560 .[198] "step"
  248. 2570 .byte $9a
  249. 2580 .[198] "                         "
  250. 2590 .byte 0,$20,$9a
  251. 2600 .[198] "    loadstar presents    "
  252. 2610 .byte 0,$20,$9a
  253. 2620 .[198] "        bug scout        "
  254. 2630 .byte 0,$20,$9a
  255. 2640 .[198] "      by rick nash       "
  256. 2650 .byte 0,$20,$9a
  257. 2660 .[198] " (c) softdisk publishing "
  258. 2670 .byte 0,$20,$9a
  259. 2680 .[198] "                         "
  260. 2690 .byte 0
  261. 2700 .[198] "                         "
  262. 2710 .byte 146
  263. 2720 .[198] "step"
  264. 2730 .byte 13,13,13,255
  265. 2740 ms4 .[198] "installed"
  266. 2750 .byte 13,13,0
  267. 2760 ms5 .[198] "removed"
  268. 2770 .byte 13,13,0
  269. 2780 ms6 .byte 159
  270. 2790 .[198] "       bug scout is now "
  271. 2800 .byte 0
  272. 2810 mtab .w[176]d ms4,start,ms5,$e38b
  273. 2820 btab .byte $11,$11,$91,$91
  274.