home *** CD-ROM | disk | FTP | other *** search
/ Transactor / Transactor_04_1985_Transactor_Publishing.d64 / tb_kernel (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  4KB  |  285 lines

  1. 0 rem transbasic kernel (sept 29/84)  :
  2. 1 :
  3. 2 rem 2 statements, 0 functions
  4. 3 :
  5. 4 rem keyword characters:  8
  6. 5 :
  7. 6 rem keyword     routine  line   ser #
  8. 7 rem s/else      elsrtn   2514    001
  9. 8 rem s/exit      ext      2542    002
  10. 9 :
  11. 10 rem utility: cifchr (2560/003)
  12. 11 :
  13. 12 rem kernel also includes modified
  14. 13 rem 'if' statement (ifrtn/2474/000)
  15. 14 :
  16. 25 if peek(773)<192 goto 29
  17. 26 :
  18. 27 _a
  19. 28 :
  20. 29 sys 700
  21. 30 .opt oo
  22. 31 *= $c000
  23. 32 ;
  24. 33 t2 = 2
  25. 34 t3 = 3
  26. 35 t4 = 4
  27. 36 t5 = 5
  28. 37 t6 = 6
  29. 38 ;
  30. 91 ;
  31. 92 jmp start
  32. 93 jmp ext
  33. 94 ;
  34. 95 xtra .byte 2,0   ; stmts,funcs
  35. 96 ;
  36. 97 .byte 0
  37. 98 ;
  38. 99 skw =*
  39. 100 .asc "els[197]exi[212]"
  40. 598 ;
  41. 599 fkw =*
  42. 1096 ;
  43. 1097 .byte 0
  44. 1098 ;
  45. 1099 cmds =*
  46. 1100 .word $a93a,ext-1
  47. 1598 ;
  48. 1599 fncs =*
  49. 2099 ;
  50. 2100 start ldx #7
  51. 2102 stt1 lda $304,x
  52. 2104 sta tvec,x
  53. 2106 lda nuvecs,x
  54. 2108 sta $304,x
  55. 2110 dex
  56. 2112 bpl stt1
  57. 2114 lda xtra
  58. 2116 clc
  59. 2118 adc xtra+1
  60. 2120 sta xtra+2
  61. 2122 lda #$60
  62. 2124 sta start
  63. 2126 rts
  64. 2128 ;
  65. 2130 tvec .word $a57c
  66. 2132 lvec .word $a71a
  67. 2134 evec .word $a7e4
  68. 2136 fvec .word $ae86
  69. 2138 ;
  70. 2140 nuvecs .word tok,lis,exc,fun
  71. 2142 ;
  72. 2144 tok ldx #0
  73. 2146 ldy #0
  74. 2148 tk1 lda $200,x
  75. 2150 cmp #$22
  76. 2152 beq tk9
  77. 2154 jsr cifchr
  78. 2156 bcc tk4
  79. 2158 sty $71
  80. 2160 stx t3
  81. 2162 ldy #0
  82. 2164 sty $0b
  83. 2166 dey
  84. 2168 dex
  85. 2170 tk2 iny
  86. 2172 inx
  87. 2174 tk3 lda $200,x
  88. 2176 sec
  89. 2178 sbc skw,y
  90. 2180 beq tk2
  91. 2182 cmp #$80
  92. 2184 bne tk5
  93. 2186 lda #$5f
  94. 2188 ldy $71
  95. 2190 sta $200,y
  96. 2192 iny
  97. 2194 lda $0b
  98. 2196 adc #$3f
  99. 2198 tk4 inx
  100. 2200 sta $200,y
  101. 2202 iny
  102. 2204 lda $200,y
  103. 2206 bne tk1
  104. 2208 jmp (tvec)
  105. 2210 ;
  106. 2212 tk5 ldx t3
  107. 2214 tk6 inc $0b
  108. 2216 lda $0b
  109. 2218 cmp #$1e
  110. 2220 beq tk6
  111. 2222 tk7 iny
  112. 2224 lda skw-1,y
  113. 2226 bpl tk7
  114. 2228 lda skw,y
  115. 2230 bne tk3
  116. 2232 ldy $71
  117. 2234 lda $200,x
  118. 2236 bpl tk4
  119. 2238 ;
  120. 2240 tk8 lda $200,x
  121. 2242 beq tk4
  122. 2244 cmp #$22
  123. 2246 beq tk4
  124. 2248 tk9 sta $200,y
  125. 2250 iny
  126. 2252 inx
  127. 2254 bne tk8
  128. 2256 ;
  129. 2258 lis cmp #$5f
  130. 2260 bne l2
  131. 2262 iny
  132. 2264 lda ($5f),y
  133. 2266 sbc #$40
  134. 2268 cmp #$1e
  135. 2270 bcc l1
  136. 2272 sbc #1
  137. 2274 l1 cmp xtra+2
  138. 2276 bcc l3
  139. 2278 dey
  140. 2280 lda ($5f),y
  141. 2282 l2 tax
  142. 2284 jmp (lvec)
  143. 2286 ;
  144. 2288 l3 sty t3
  145. 2290 ldy #0
  146. 2292 tax
  147. 2294 beq l5
  148. 2296 l4 lda skw,y
  149. 2298 php
  150. 2300 iny
  151. 2302 plp
  152. 2304 bpl l4
  153. 2306 dex
  154. 2308 bne l4
  155. 2310 ;
  156. 2312 l5 lda skw,y
  157. 2314 php
  158. 2316 and #$7f
  159. 2318 jsr $ab47
  160. 2320 iny
  161. 2322 plp
  162. 2324 bpl l5
  163. 2326 ldy t3
  164. 2328 l6 jmp $a700
  165. 2330 ;
  166. 2332 exc jsr $73
  167. 2334 ex1 cmp #$8b
  168. 2336 beq ex8
  169. 2338 cmp #$5f
  170. 2340 bne ex5
  171. 2342 jsr $73
  172. 2344 jsr ex2
  173. 2346 jmp $a7ae
  174. 2348 ;
  175. 2350 ex2 sec
  176. 2352 sbc #$40
  177. 2354 cmp #$1e
  178. 2356 bcc ex3
  179. 2358 sbc #1
  180. 2360 ex3 cmp xtra
  181. 2362 bcs ex7
  182. 2364 asl
  183. 2366 tay
  184. 2368 lda cmds+1,y
  185. 2370 pha
  186. 2372 lda cmds,y
  187. 2374 pha
  188. 2376 jmp $73
  189. 2378 ;
  190. 2380 ex5 lda $7a
  191. 2382 bne ex6
  192. 2384 dec $7b
  193. 2386 ex6 dec $7a
  194. 2388 jmp (evec)
  195. 2390 ;
  196. 2392 ex7 jmp $af08
  197. 2394 ;
  198. 2396 ex8 jsr ex9
  199. 2398 jmp $a7ae
  200. 2400 ;
  201. 2402 ex9 lda #>ifrtn-1
  202. 2404 pha
  203. 2406 lda #<ifrtn-1
  204. 2408 pha
  205. 2410 jmp $73
  206. 2412 ;
  207. 2414 fun jsr $73
  208. 2416 cmp #$5f
  209. 2418 beq fu2
  210. 2420 lda $7a
  211. 2422 bne fu1
  212. 2424 dec $7b
  213. 2426 fu1 dec $7a
  214. 2428 jmp (fvec)
  215. 2430 ;
  216. 2432 fu2 lda #0
  217. 2434 sta $0d
  218. 2436 jsr $73
  219. 2438 sec
  220. 2440 sbc #$40
  221. 2442 cmp #$1e
  222. 2444 bcc fu3
  223. 2446 sbc #1
  224. 2448 fu3 sec
  225. 2450 sbc xtra
  226. 2452 bcc ex7
  227. 2454 cmp xtra+1
  228. 2456 bcs ex7
  229. 2458 asl
  230. 2460 tay
  231. 2462 lda fncs+1,y
  232. 2464 pha
  233. 2466 lda fncs,y
  234. 2468 pha
  235. 2470 jmp $73
  236. 2472 ;
  237. 2474 ifrtn jsr $ad9e
  238. 2476 jsr $79
  239. 2478 cmp #$89
  240. 2480 beq if1
  241. 2482 lda #$a7
  242. 2484 jsr $aeff
  243. 2486 if1 jsr $79
  244. 2488 ldx $61
  245. 2490 beq elsrtn
  246. 2492 bcs if2
  247. 2494 jmp $a8a0
  248. 2496 if2 pla
  249. 2498 pla
  250. 2500 jsr $79
  251. 2502 jmp ex1
  252. 2512 ;
  253. 2514 elsrtn jsr $a8f8
  254. 2516 jsr $79
  255. 2518 cmp #0
  256. 2520 bne els1
  257. 2522 rts
  258. 2524 els1 jsr $73
  259. 2526 cmp #$5f
  260. 2528 bne elsrtn
  261. 2530 jsr $73
  262. 2532 cmp #$40
  263. 2534 bne elsrtn
  264. 2536 jsr $73
  265. 2538 jmp if2
  266. 2540 ;
  267. 2542 ext ldx #7
  268. 2544 ext1 lda tvec,x
  269. 2546 sta $304,x
  270. 2548 dex
  271. 2550 bpl ext1
  272. 2552 lda #$a2
  273. 2554 sta start
  274. 2556 jmp pdown
  275. 2558 ;
  276. 2560 cifchr cmp #$5b
  277. 2562 bcc cic1
  278. 2564 clc
  279. 2566 bcc cic2
  280. 2568 cic1 cmp #$41
  281. 2570 cic2 rts
  282. 2572 ;
  283. 5222 pdown rts
  284. 5224 ;
  285.