00000010 * Start up routines for BIF 00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM) 00100 * 00105 ILIM EQU $8000 memory 00110 IBUFF EQU ILIM-BCT*(BWID+4) 00120 IPAD EQU IBUFF-TWID max 00130 IHASH EQU IPAD-34 00140 IWPAD EQU IHASH-NLMASK-2 00150 ITIB EQU IWPAD-TWID 00160 IUSER EQU ITIB-UEND 00170 IRP0 EQU IUSER-2 00180 ISP0 EQU IRP0-258 00190 * dictionary below here 00400 * 00410 ORIG EQU * initials for task 0, offsets 00420 NOP 0 00430 JMP COLD 1 00440 NOP 4 00450 JMP WARM 5 00460 FDB $6809 cpu 8 00470 FDB 0 rev $0A 00480 FDB FORGET-CFAOFF CURRENT for COLD $0C 00490 FDB 8 backspace $0E 00500 FDB IUSER task 0 user area $10 00510 FDB ISP0 $12 00520 FDB IRP0 $14 00530 FDB ITIB $16 00540 FDB NLMASK not used $18 00550 FDB 1 WARNING $1A 00560 FDB FOLLOW-1 FENCE for COLD $1C 00570 FDB FOLLOW DP for COLD $1E 00580 FDB BIF+2 defs root $20 00590 FDB IPAD $22 00600 FDB IWPAD $24 00610 FDB 32 terminal columns $26 00620 FDB IBUFF $28 00630 FDB ILIM $2A 01000 * 01010 FCC 'COLD' 01020 FCB 4 01030 FCB MFORE 01040 FDB 0 01050 FDB BIF+2 01060 FDB 0 01070 FDB 0 01080 COLD LEAY DOREGS,PCR 01090 EXG PC,Y call 01100 SETDP VDP 01110 CLR $71 for BASIC reset 01120 LDD -4,Y 01130 STD UCURR,X 01140 LDD $0C,Y 01150 STD UFENCE,X 01160 LDD $0E,Y 01170 STD UDP,X 01180 LDD $10,Y 01190 STD UROOT,X 01200 STD UDROOT,X 01210 PSHU D Initial vocabularies 01220 BSR PRUNE must ALL be PRUNEd! 01230 LDD #EDITOR+2 01240 PSHU D 01250 BSR PRUNE 01260 LDD #ASMBLR+2 01270 PSHU D 01280 BSR PRUNE 01290 JMP WARM+5 01300 SETDP 0 01310 * Watch stack (vocabulary) depth! 01315 SETDP VDP 01320 PRUNE PSHS D,X,Y 01330 LDY 0 trap [NULL]s 02140 RTS 02150 SETDP 0 02160 * 02230 FCC 'WARM' 02240 FCB 4 02250 FCB MFORE 02260 FDB COLD-CFAOFF 02270 FDB BIF+2 02280 FDB VLIST-CFAOFF 02290 FDB WARN-CFAOFF 02300 WARM LEAY