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