0 REM TB/ADD.A (SEPT 27/84) : 1 : 2 REM THIS PROGRAM CONSISTS OF THE 3 REM TRANSBASIC KERNEL PLUS THE 'ADD' 4 REM STATEMENT. IT IS ASSEMBLED TO 5 REM 'TB/ADD.M' ON THE LIBRARY DISK. 6 REM IT IS USED TO ADD STATEMENTS 7 REM AND FUNCTIONS TO TB/KERNEL. 8 : 9 REM ================================= 10 : 25 IF PEEK(773)<192 GOTO 29 26 : 27 _A 28 : 29 SYS 700 30 .OPT OO 31 *= $C000 32 ; 33 T2 = 2 34 T3 = 3 35 T4 = 4 36 T5 = 5 37 T6 = 6 38 ; 39 SETLFS = $FFBA 40 SETNAM = $FFBD 41 OPEN = $E1C1 42 CHKIN = $E11E 43 CLOSE = $E1CC 44 CLRCHN = $FFCC 45 GETIN = $E124 46 ; 91 ; 92 JMP START 93 JMP EXT 94 ; 95 XTRA .BYTE 3,0 ; STMTS,FUNCS 96 ; 97 .BYTE 0 98 ; 99 SKW =* 100 .ASC "ELS[197]EXI[212]" 114 .ASC "AD[196]" 598 ; 599 FKW =* 1096 ; 1097 .BYTE 0 1098 ; 1099 CMDS =* 1100 .WORD $A93A,EXT-1 1114 .WORD XADD-1 1598 ; 1599 FNCS =* 2099 ; 2100 START LDX #7 2102 STT1 LDA $304,X 2104 STA TVEC,X 2106 LDA NUVECS,X 2108 STA $304,X 2110 DEX 2112 BPL STT1 2114 LDA XTRA 2116 CLC 2118 ADC XTRA+1 2120 STA XTRA+2 2122 LDA #$60 2124 STA START 2126 RTS 2128 ; 2130 TVEC .WORD $A57C 2132 LVEC .WORD $A71A 2134 EVEC .WORD $A7E4 2136 FVEC .WORD $AE86 2138 ; 2140 NUVECS .WORD TOK,LIS,EXC,FUN 2142 ; 2144 TOK LDX #0 2146 LDY #0 2148 TK1 LDA $200,X 2150 CMP #$22 2152 BEQ TK9 2154 JSR CIFCHR 2156 BCC TK4 2158 STY $71 2160 STX T3 2162 LDY #0 2164 STY $0B 2166 DEY 2168 DEX 2170 TK2 INY 2172 INX 2174 TK3 LDA $200,X 2176 SEC 2178 SBC SKW,Y 2180 BEQ TK2 2182 CMP #$80 2184 BNE TK5 2186 LDA #$5F 2188 LDY $71 2190 STA $200,Y 2192 INY 2194 LDA $0B 2196 ADC #$3F 2198 TK4 INX 2200 STA $200,Y 2202 INY 2204 LDA $200,Y 2206 BNE TK1 2208 JMP (TVEC) 2210 ; 2212 TK5 LDX T3 2214 TK6 INC $0B 2216 LDA $0B 2218 CMP #$1E 2220 BEQ TK6 2222 TK7 INY 2224 LDA SKW-1,Y 2226 BPL TK7 2228 LDA SKW,Y 2230 BNE TK3 2232 LDY $71 2234 LDA $200,X 2236 BPL TK4 2238 ; 2240 TK8 LDA $200,X 2242 BEQ TK4 2244 CMP #$22 2246 BEQ TK4 2248 TK9 STA $200,Y 2250 INY 2252 INX 2254 BNE TK8 2256 ; 2258 LIS CMP #$5F 2260 BNE L2 2262 INY 2264 LDA ($5F),Y 2266 SBC #$40 2268 CMP #$1E 2270 BCC L1 2272 SBC #1 2274 L1 CMP XTRA+2 2276 BCC L3 2278 DEY 2280 LDA ($5F),Y 2282 L2 TAX 2284 JMP (LVEC) 2286 ; 2288 L3 STY T3 2290 LDY #0 2292 TAX 2294 BEQ L5 2296 L4 LDA SKW,Y 2298 PHP 2300 INY 2302 PLP 2304 BPL L4 2306 DEX 2308 BNE L4 2310 ; 2312 L5 LDA SKW,Y 2314 PHP 2316 AND #$7F 2318 JSR $AB47 2320 INY 2322 PLP 2324 BPL L5 2326 LDY T3 2328 L6 JMP $A700 2330 ; 2332 EXC JSR $73 2334 EX1 CMP #$8B 2336 BEQ EX8 2338 CMP #$5F 2340 BNE EX5 2342 JSR $73 2344 JSR EX2 2346 JMP $A7AE 2348 ; 2350 EX2 SEC 2352 SBC #$40 2354 CMP #$1E 2356 BCC EX3 2358 SBC #1 2360 EX3 CMP XTRA 2362 BCS EX7 2364 ASL 2366 TAY 2368 LDA CMDS+1,Y 2370 PHA 2372 LDA CMDS,Y 2374 PHA 2376 JMP $73 2378 ; 2380 EX5 LDA $7A 2382 BNE EX6 2384 DEC $7B 2386 EX6 DEC $7A 2388 JMP (EVEC) 2390 ; 2392 EX7 JMP $AF08 2394 ; 2396 EX8 JSR EX9 2398 JMP $A7AE 2400 ; 2402 EX9 LDA #>IFRTN-1 2404 PHA 2406 LDA #MRGERR 4790 JMP $A445 4792 ; 4794 MRGERR .ASC "MERG[197]" 4796 ; 4798 CLSCLR LDA #$63 4800 JSR CLOSE 4802 JMP CLRCHN 4804 ; 5222 PDOWN RTS 5224 ;