3 <GFCN
\1aT$PCODE ("VALUE" T$PCODE FIX STRING) ID4 DBNAM5>
4 <TEMP PURVEC6:LIST DBVEC7 TEMP12 TEMP13 CT17:FIX DBV18:VECTOR NEW43:VECTOR TEMP44>
6 <GVAL 'I$PURVEC = PURVEC6>
7 <GVAL 'I$DBVEC = DBVEC7>
8 <EMPL? PURVEC6 - PHRASE11 (TYPE LIST)>
9 <UUBLOCK <TYPE-CODE UVECTOR> 100 = TEMP12>
11 <LOOP (TEMP13 VALUE LENGTH)>
13 <EMPUU? TEMP13 + ISTRE15>
15 <RESTUU TEMP13 1 = TEMP13>
18 <RESTUU TEMP12 95 = TEMP12 (TYPE UVECTOR)>
19 <CHTYPE TEMP12 <TYPE-CODE T$PCODE> = TEMP12>
20 <CONS TEMP12 () = PURVEC6>
22 <SETG 'I$PURVEC PURVEC6>
24 <SET CT17 1 (TYPE FIX)>
29 <NTHUV DBV18 1 = TEMP12>
30 <TYPE? TEMP12 <TYPE-CODE FALSE> + PHRASE22>
32 <NTHUV TEMP12 1 = STACK (TYPE STRING)>
34 <CALL '
\1aT$S=? 2 = TEMP13>
35 <TYPE? TEMP13 <TYPE-CODE FALSE> - EXIT16>
38 <TYPE? TEMP12 <TYPE-CODE FALSE> - PHRASE25>
43 <UBLOCK <TYPE-CODE VECTOR> 2 = TEMP13>
44 <PUTUV DBV18 1 TEMP13>
48 <ADD CT17 1 = CT17 (TYPE FIX)>
49 <RESTUV DBV18 1 = DBV18 (TYPE VECTOR)>
50 <EMPUV? DBV18 - AGAIN20 (TYPE VECTOR)>
51 <LENUV DBVEC7 = TEMP13 (TYPE FIX)>
52 <ADD TEMP13 5 = TEMP13 (TYPE FIX)>
53 <UUBLOCK <TYPE-CODE VECTOR> TEMP13 = DBV18>
56 <LOOP (TEMP13 VALUE LENGTH)>
58 <EMPUV? TEMP13 + ISTRE30>
60 <RESTUV TEMP13 1 = TEMP13>
63 <SET TEMP13 DBVEC7 (TYPE VECTOR)>
65 <SET TEMP12 DBV18 (TYPE VECTOR)>
69 <EMPUV? TEMP13 + MAPAP35>
70 <EMPUV? TEMP12 + MAPAP35>
73 <NTHUV DBVEC7 1 = TEMP44>
75 <PUTUV NEW43 1 TEMP44>
77 <RESTUV TEMP13 1 = TEMP13 (TYPE VECTOR)>
78 <RESTUV TEMP12 1 = TEMP12 (TYPE VECTOR)>
83 <SETG 'I$DBVEC DBVEC7>
84 <GVAL 'I$DBVEC = TEMP12>
85 <CONS TEMP12 () = TEMP12>
91 <UBLOCK <TYPE-CODE VECTOR> 2 = TEMP44>
92 <PUTUV DBVEC7 CT17 TEMP44>
95 <SET TEMP44 %<> (TYPE FALSE)>
96 <SET TEMP12 PURVEC6 (TYPE LIST)>
100 <EMPL? TEMP12 + MAPAP51>
101 <NTHL TEMP12 1 = TEMP44>
105 <NTHUU TEMP44 1 = DBVEC7 (TYPE FIX)>
106 <VEQUAL? ID4 DBVEC7 - PHRASE59 (TYPE FIX)>
108 <NTHUU TEMP44 2 = DBVEC7 (TYPE FIX)>
109 <VEQUAL? CT17 DBVEC7 + MAPAP51 (TYPE FIX)>
112 <RESTUU TEMP44 5 = TEMP44 (TYPE UVECTOR)>
113 <CHTYPE TEMP44 <TYPE-CODE UVECTOR> = TEMP44>
114 <EMPUU? TEMP44 - PHRASE63 (TYPE UVECTOR)>
115 <SET TEMP44 %<> (TYPE FALSE)>
118 <CHTYPE TEMP44 <TYPE-CODE T$PCODE> = TEMP44>
121 <RESTL TEMP12 1 = TEMP12 (TYPE LIST)>
124 <TYPE? TEMP44 <TYPE-CODE FALSE> - PHRASE64>
125 <NTHL PURVEC6 1 = DBVEC7 (TYPE T$PCODE)>
126 <NTHUU DBVEC7 1 = TEMP12 (TYPE FIX)>
127 <VEQUAL? TEMP12 0 + PHRASE73 (TYPE FIX)>
129 <LENUU DBVEC7 = TEMP12 (TYPE FIX)>
130 <VEQUAL? TEMP12 100 - PHRASE70 (TYPE FIX)>
132 <UUBLOCK <TYPE-CODE UVECTOR> 100 = TEMP12>
134 <LOOP (TEMP44 VALUE LENGTH)>
136 <EMPUU? TEMP44 + ISTRE72>
138 <RESTUU TEMP44 1 = TEMP44>
141 <RESTUU TEMP12 95 = TEMP12 (TYPE UVECTOR)>
142 <CHTYPE TEMP12 <TYPE-CODE T$PCODE> = DBVEC7>
144 <CONS DBVEC7 PURVEC6 = PURVEC6>
145 <SETG 'I$PURVEC PURVEC6>
147 <GVAL 'I$PURVEC = TEMP12>
148 <SETS 'PURVEC TEMP12>
152 <BACKU DBVEC7 5 = TEMP12>
154 <CHTYPE TEMP12 <TYPE-CODE T$PCODE> = DBVEC7>
156 <PUTL PURVEC6 1 DBVEC7>
161 <PUTUU DBVEC7 2 CT17>
173 <GFCN
\1aX$PCODE-PRINT ("VALUE" ANY T$PCODE) PC4>
174 <TEMP OUTCHAN5 TEMP14 TEMP15:FIX>
176 <GEN-LVAL 'OUTCHAN = OUTCHAN5>
190 <NTHUU PC4 1 = STACK (TYPE FIX)>
198 <GVAL 'I$DBVEC = TEMP14>
199 <NTHUU PC4 2 = TEMP15 (TYPE FIX)>
201 <NTHUV TEMP14 TEMP15 = TEMP14 (TYPE VECTOR)>
203 <NTHUV TEMP14 1 = STACK>
211 <CALL '
\1aT$PRINC 2 = TEMP14>
214 <END
\1aX$PCODE-PRINT>
216 <GFCN
\1aI$GET-DB ("VALUE" FIX T$PCODE) PC4>
217 <TEMP DBVEC5:VECTOR DBID7 TEMP17 ERR9>
219 <GVAL 'I$DBVEC = DBVEC5>
220 <NTHUU PC4 2 = DBID7 (TYPE FIX)>
222 <NTHUV DBVEC5 DBID7 = DBVEC5 (TYPE VECTOR)>
227 <NTHUV DBVEC5 2 = DBID7>
228 <TYPE? DBID7 <TYPE-CODE FALSE> - PHRASE28>
229 <NTHUV DBVEC5 1 = TEMP17 (TYPE STRING)>
230 <SYSOP 'GTJFN-S-S 8590196736 TEMP17 = DBID7>
232 <TYPE? DBID7 <TYPE-CODE FALSE> + PHRASE26>
233 <SYSOP 'OPENF DBID7 66592 = ERR9>
234 <TYPE? ERR9 <TYPE-CODE FALSE> + PHRASE19>
235 <PUTUV DBVEC5 2 DBID7>
238 <NTHL ERR9 1 = TEMP17>
239 <EQUAL? TEMP17 196697 + BOOL21>
241 <NTHL ERR9 1 = TEMP17>
242 <EQUAL? TEMP17 197591 - PHRASE20>
247 <NTHUV DBVEC5 1 = TEMP17 (TYPE STRING)>
248 <NTHUV DBVEC5 1 = DBID7 (TYPE STRING)>
249 <LENUS DBID7 = DBID7 (TYPE FIX)>
250 <PRINT 65 TEMP17 DBID7>
252 <SYSOP 'ESOUT "Can't open database:
\0">
254 <NTHL ERR9 1 = TEMP17>
255 <PUTBITS TEMP17 16 16 131072 = DBID7>
259 <NTHL ERR9 1 = TEMP17>
261 <PUTBITS TEMP17 18 18 131072 = DBID7>
264 <SYSOP 'ERSTR 65 DBID7 0>
274 <TYPE? DBID7 <TYPE-CODE FALSE> - PHRASE28>
275 <NTHUV DBVEC5 1 = DBID7 (TYPE STRING)>
276 <NTHUV DBVEC5 1 = TEMP17 (TYPE STRING)>
277 <LENUS TEMP17 = TEMP17 (TYPE FIX)>
278 <PRINT 65 DBID7 TEMP17>
282 <FATAL "Can't find database">
289 <GFCN
\1aX$PLOAD ("VALUE" ANY T$PCODE) PC4>
290 <TEMP JFN5:FIX TEMP15 GCP11>
294 <CALL '
\1aI$GET-DB 1 = JFN5>
295 <NTHUU PC4 3 = TEMP15 (TYPE FIX)>
296 <LESS? TEMP15 0 + PHRASE14 (TYPE FIX)>
303 <CALL '
\1aI$MAP-IN 2 = TEMP15>
307 <GVAL 'I$FBIN-SPACE = TEMP15>
308 <TYPE? TEMP15 <TYPE-CODE FALSE> - PHRASE21>
310 <FRAME '
\1aT$CREATE-NEW-SPACE>
312 <CALL '
\1aT$CREATE-NEW-SPACE 1 = TEMP15>
313 <SETG 'I$FBIN-SPACE TEMP15>
315 <GVAL 'I$FBIN-SPACE = TEMP15>
316 <NTHUV TEMP15 1 = GCP11 (TYPE T$GC-PARAMS)>
319 <FRAME '
\1aT$SET-ZONE>
322 <CALL '
\1aT$SET-ZONE 1>
323 <GVAL 'T$PSIZE = TEMP15>
324 <UUBLOCK <TYPE-CODE UVECTOR> TEMP15 = GCP11>
327 <LOOP (TEMP15 VALUE LENGTH)>
329 <EMPUU? TEMP15 + ISTRE27>
331 <RESTUU TEMP15 1 = TEMP15>
334 <SETG 'I$IND-VEC GCP11>
336 <GVAL 'T$PSIZE = GCP11>
337 <UUBLOCK <TYPE-CODE UVECTOR> GCP11 = TEMP15>
340 <LOOP (GCP11 VALUE LENGTH)>
342 <EMPUU? GCP11 + ISTRE29>
344 <RESTUU GCP11 1 = GCP11>
347 <SETG 'I$DIR-VEC TEMP15>
349 <FRAME '
\1aT$RESTORE-ZONE>
350 <CALL '
\1aT$RESTORE-ZONE 0>
352 <GVAL 'I$IND-VEC = TEMP15>
353 <GVAL 'I$DIR-VEC = GCP11>
354 <FRAME '
\1aI$MAP-PAGE>
359 <CALL '
\1aI$MAP-PAGE 4>
360 <FRAME '
\1aI$HASH-PCODE>
364 <CALL '
\1aI$HASH-PCODE 2 = TEMP15>
365 <FRAME '
\1aI$MAP-PAGE>
371 <CALL '
\1aI$MAP-PAGE 4>
372 <NTHUU GCP11 1 = TEMP15 (TYPE FIX)>
373 <PUTUU GCP11 1 TEMP15>
378 <CALL '
\1aI$BINSRC 2 = GCP11>
379 <TYPE? GCP11 <TYPE-CODE FALSE> + PHRASE35>
381 <NTHUU GCP11 2 = TEMP15 (TYPE FIX)>
382 <AND TEMP15 #WORD *177777* = TEMP15>
385 <NTHUU GCP11 2 = TEMP15 (TYPE FIX)>
386 <AND TEMP15 #WORD *777777* = TEMP15>
390 <NTHUU GCP11 2 = TEMP15 (TYPE FIX)>
391 <GETBITS TEMP15 16 16 = TEMP15>
394 <NTHUU GCP11 2 = TEMP15 (TYPE FIX)>
396 <GETBITS TEMP15 18 18 = TEMP15>
398 <SUB TEMP15 4 = TEMP15 (TYPE FIX)>
406 <CALL '
\1aI$MAP-IN 2 = TEMP15>
411 <PUSH '@MISSING-SAV-FILE>
415 <CALL '
\1aT$ERROR 3 = TEMP15>
420 <GFCN
\1aI$HASH-PCODE ("VALUE" FIX T$PCODE UVECTOR) PC4 IV5>
421 <TEMP ID6:FIX TEMP8:FIX>
423 <NTHUU PC4 1 = ID6 (TYPE FIX)>
425 <NTHUU IV5 4 = TEMP8 (TYPE FIX)>
426 <MOD ID6 TEMP8 = ID6 (TYPE FIX)>
428 <LSH ID6 1 = TEMP8 (TYPE FIX)>
430 <ADD TEMP8 5 = TEMP8 (TYPE FIX)>
431 <NTHUU IV5 TEMP8 = ID6 (TYPE FIX)>
435 <END
\1aI$HASH-PCODE>
437 <GFCN
\1aI$MAP-PAGE ("VALUE" ANY FIX <OR UVECTOR FIX> FIX ANY "OPTIONAL" FIX) JFN6 UV7 PGNO8 ALLOW?9 NPGS10>
438 <OPT-DISPATCH 4 %<> OPT4 OPT5>
442 <TEMP EXBIT11:FIX TEMP20 TEMP32:FIX TEMP28 ERR12>
444 <TYPE? ALLOW?9 <TYPE-CODE FALSE> + PHRASE14>
446 <SET EXBIT11 256 (TYPE FIX)>
452 <PUTBITS PGNO8 16 16 JFN6 = TEMP20>
455 <PUTBITS PGNO8 18 18 JFN6 = TEMP20>
459 <DIV TEMP32 256 = TEMP32 (TYPE FIX)>
460 <LSH TEMP32 -2 = TEMP28 (TYPE FIX)>
462 <PUTBITS TEMP28 16 16 131072 = TEMP32>
466 <DIV TEMP32 512 = TEMP28 (TYPE FIX)>
468 <PUTBITS TEMP28 18 18 131072 = TEMP32>
470 <VEQUAL? NPGS10 1 - PHRASE37 (TYPE FIX)>
472 <PUTBITS 0 16 16 EXBIT11 = TEMP28>
475 <PUTBITS 0 18 18 EXBIT11 = TEMP28>
477 <OR TEMP28 #WORD *100000000000* = TEMP28>
481 <OR EXBIT11 #WORD *500000* = TEMP28>
482 <PUTBITS NPGS10 16 16 TEMP28 = TEMP28>
485 <OR EXBIT11 #WORD *500000* = TEMP28>
486 <PUTBITS NPGS10 18 18 TEMP28 = TEMP28>
489 <SYSOP 'PMAP TEMP20 TEMP32 TEMP28 = ERR12>
492 <TYPE? TEMP28 <TYPE-CODE FALSE> - PHRASE51>
493 <NTHL ERR12 1 = TEMP28>
494 <EQUAL? TEMP28 196697 + BOOL48>
495 <NTHL ERR12 1 = TEMP28>
496 <EQUAL? TEMP28 197591 - PHRASE47>
498 <SYSOP 'ESOUT "Can't map in pages:
\0">
500 <NTHL ERR12 1 = TEMP20>
501 <PUTBITS TEMP20 16 16 131072 = TEMP28>
504 <NTHL ERR12 1 = TEMP20>
506 <PUTBITS TEMP20 18 18 131072 = TEMP28>
508 <SYSOP 'ERSTR 65 TEMP28 0>
513 <PUSH '@CANT-MAP-IN-PAGES>
517 <CALL '
\1aERROR 3 = TEMP28>
523 <GFCN
\1aI$BINSRC ("VALUE" <OR FALSE <UVECTOR FIX [REST FIX]>> T$PCODE <UVECTOR [REST FIX]>) PC4 DV5>
524 <TEMP ID6 CNT7:FIX EXIT8:FIX TEMP27:FIX>
526 <NTHUU PC4 1 = ID6 (TYPE FIX)>
528 <NTHUU DV5 2 = CNT7 (TYPE FIX)>
530 <RESTUU DV5 2 = DV5 (TYPE UVECTOR)>
534 <DIV CNT7 2 = CNT7 (TYPE FIX)>
535 <VEQUAL? CNT7 0 - EXIT18 (TYPE FIX)>
539 <GRTR? EXIT8 0 + PHRASE22 (TYPE FIX)>
542 <SUB EXIT8 1 = EXIT8 (TYPE FIX)>
543 <NTHUU DV5 1 = TEMP27 (TYPE FIX)>
544 <VEQUAL? ID6 TEMP27 - PHRASE26 (TYPE FIX)>
549 <RESTUU DV5 2 = DV5 (TYPE UVECTOR)>
552 <NTHUU DV5 1 = TEMP27 (TYPE FIX)>
553 <VEQUAL? ID6 TEMP27 - PHRASE28 (TYPE FIX)>
558 <ADD CNT7 1 = TEMP27 (TYPE FIX)>
559 <LSH TEMP27 1 = TEMP27 (TYPE FIX)>
560 <SUB TEMP27 1 = TEMP27 (TYPE FIX)>
561 <NTHUU DV5 TEMP27 = TEMP27 (TYPE FIX)>
562 <LESS? ID6 TEMP27 + PHRASE29 (TYPE FIX)>
564 <LSH CNT7 1 = TEMP27 (TYPE FIX)>
565 <RESTUU DV5 TEMP27 = DV5 (TYPE UVECTOR)>
568 <SUB EXIT8 CNT7 = EXIT8 (TYPE FIX)>
572 <GFCN
\1aI$MAP-IN ("VALUE" ANY FIX T$PCODE) JFN4 PC5>
573 <TEMP TEMP10:FIX NPGS9:FIX TEMP17 SADR8:FIX>
575 <NTHUU PC5 5 = TEMP10 (TYPE FIX)>
576 <ADD TEMP10 4 = TEMP10 (TYPE FIX)>
577 <FRAME '
\1aT$GET-BLOCK-OF-SPACE>
579 <GVAL 'T$PSIZE = TEMP17>
580 <SUB TEMP17 1 = TEMP17 (TYPE FIX)>
581 <ADD TEMP17 TEMP10 = TEMP17 (TYPE FIX)>
582 <DIV TEMP17 256 = TEMP17 (TYPE FIX)>
583 <LSH TEMP17 -2 = NPGS9 (TYPE FIX)>
587 <GVAL 'T$PSIZE = TEMP17>
588 <SUB TEMP17 1 = TEMP17 (TYPE FIX)>
589 <ADD TEMP17 TEMP10 = TEMP17 (TYPE FIX)>
591 <DIV TEMP17 512 = NPGS9 (TYPE FIX)>
596 <CALL '
\1aT$GET-BLOCK-OF-SPACE 2 = TEMP17>
597 <TYPE? TEMP17 <TYPE-CODE FALSE> + BOOL13>
598 <LESS? TEMP17 0 - PHRASE12 (TYPE FIX)>
601 <PUSH '@CANT-GET-PAGES>
605 <CALL '
\1aERROR 3 = TEMP17>
610 <LSH TEMP17 8 = TEMP10 (TYPE FIX)>
611 <LSH TEMP10 2 = SADR8 (TYPE FIX)>
615 <LSH TEMP17 9 = SADR8 (TYPE FIX)>
618 <FRAME '
\1aI$MAP-PAGE>
622 <NTHUU PC5 3 = STACK (TYPE FIX)>
626 <CALL '
\1aI$MAP-PAGE 5>
627 <ADD SADR8 4 = TEMP10 (TYPE FIX)>
635 <GFCN
\1aX$PURCLN ("VALUE" ATOM)>
636 <TEMP TEMP10 DV5 PC28>
638 <GVAL 'I$FBIN-SPACE = TEMP10>
639 <TYPE? TEMP10 <TYPE-CODE FALSE> + MAPAP38>
641 <FRAME '
\1aT$RETURN-PAGES>
643 <CALL '
\1aT$RETURN-PAGES 1>
644 <NTHR 'I$PURVEC 1 = TEMP10 (RECORD-TYPE ATOM) (BRANCH-FALSE + MAPAP38)>
645 <TYPE? TEMP10 <TYPE-CODE FALSE> + MAPAP38>
646 <NTHR TEMP10 1 = TEMP10 (RECORD-TYPE GBIND)>
647 <TYPE? TEMP10 <TYPE-CODE UNBOUND> + MAPAP38>
649 <FRAME '
\1aI$FLUSH-PAGES>
651 <GVAL 'I$FBIN-SPACE = TEMP10>
652 <NTHUV TEMP10 1 = TEMP10 (TYPE T$GC-PARAMS)>
653 <NTHUU TEMP10 14 = TEMP10 (TYPE FIX)>
654 <DIV TEMP10 256 = TEMP10 (TYPE FIX)>
655 <LSH TEMP10 -2 = STACK (TYPE FIX)>
659 <GVAL 'I$FBIN-SPACE = TEMP10>
660 <NTHUV TEMP10 1 = TEMP10 (TYPE T$GC-PARAMS)>
661 <NTHUU TEMP10 14 = TEMP10 (TYPE FIX)>
662 <DIV TEMP10 512 = STACK (TYPE FIX)>
666 <CALL '
\1aI$FLUSH-PAGES 2>
667 <GVAL 'I$PURVEC = TEMP10>
668 <GVAL 'I$DBVEC = DV5>
672 <EMPL? TEMP10 + MAPAP22>
673 <NTHL TEMP10 1 = PC28>
680 <RESTUU PC28 5 = PC28 (TYPE UVECTOR)>
681 <CHTYPE PC28 <TYPE-CODE UVECTOR> = PC28>
682 <EMPUU? PC28 - AGAIN31 (TYPE UVECTOR)>
683 <RESTL TEMP10 1 = TEMP10 (TYPE LIST)>
686 <SET TEMP10 DV5 (TYPE VECTOR)>
691 <EMPUV? TEMP10 + MAPAP38>
692 <NTHUV TEMP10 1 = PC28>
693 <TYPE? PC28 <TYPE-CODE FALSE> + PHRASE44>
695 <TYPE? DV5 <TYPE-CODE FALSE> + PHRASE44>
697 <NTHUV PC28 2 = DV5 (TYPE FIX)>
703 <RESTUV TEMP10 1 = TEMP10 (TYPE VECTOR)>