1 00000010 * Start up routines for BIF
2 00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)
4 00105 ILIM EQU $8000 memory
5 00110 IBUFF EQU ILIM-BCT*(BWID+4)
6 00120 IPAD EQU IBUFF-TWID max
7 00130 IHASH EQU IPAD-34
8 00140 IWPAD EQU IHASH-NLMASK-2
9 00150 ITIB EQU IWPAD-TWID
10 00160 IUSER EQU ITIB-UEND
11 00170 IRP0 EQU IUSER-2
12 00180 ISP0 EQU IRP0-258
13 00190 * dictionary below here
15 00410 ORIG EQU * initials for task 0, offsets
22 00480 FDB FORGET-CFAOFF CURRENT for COLD $0C
23 00490 FDB 8 backspace $0E
24 00500 FDB IUSER task 0 user area $10
28 00540 FDB NLMASK not used $18
29 00550 FDB 1 WARNING $1A
30 00560 FDB FOLLOW-1 FENCE for COLD $1C
31 00570 FDB FOLLOW DP for COLD $1E
32 00580 FDB BIF+2 defs root $20
35 00610 FDB 32 terminal columns $26
46 01080 COLD LEAY DOREGS,PCR
49 01110 CLR $71 for BASIC reset
59 01210 PSHU D Initial vocabularies
60 01220 BSR PRUNE must ALL be PRUNEd!
69 01310 * Watch stack (vocabulary) depth!
71 01320 PRUNE PSHS D,X,Y
85 01390 PRUNL LDD RTOFF,X
89 01430 LDD #0 make leaf
92 01460 PSHS D for later
93 01470 PRUNLF LDD LFTOFF,X
99 01530 PRUNL0 LDD #0 make leaf
101 01550 LDX ,S++ go right?
102 01560 PRUNEX BNE PRUNL
107 02010 DOREGS LDS #IRP0
109 02030 ORCC #$50 mask ints
110 02040 PSHS Y return adr
119 02130 STD >0 trap [NULL]s
126 02260 FDB COLD-CFAOFF
128 02280 FDB VLIST-CFAOFF
129 02290 FDB WARN-CFAOFF
130 02300 WARM LEAY <DOREGS,PCR
161 02640 STD [UR0,X] hole
162 02650 STD [US0,X] hole
163 02660 LDA #(UEND-UIN)
169 02745 ANDCC #$EF enable IRQ (disc)