-
Notifications
You must be signed in to change notification settings - Fork 24
/
misc.zabstr
52 lines (51 loc) · 1.74 KB
/
misc.zabstr
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<SETG C-ENABLED? 0>
<SETG C-ENABLED 1>
<SETG C-DISABLED 0>
<DEFMAC VERB? ("TUPLE" ATMS "AUX" (O ()) (L ())) <REPEAT () <COND (<EMPTY? .
ATMS> <RETURN <COND (<LENGTH? .O 1> <NTH .O 1>) (ELSE <FORM OR !.O>)>>)> <
REPEAT () <COND (<EMPTY? .ATMS> <RETURN>)> <SET ATM <NTH .ATMS 1>> <SET L (<
FORM GVAL <PARSE <STRING "V?" <SPNAME .ATM>>>> !.L)> <SET ATMS <REST .ATMS>> <
COND (<==? <LENGTH .L> 3> <RETURN>)>> <SET O (<FORM EQUAL? ',PRSA !.L> !.O)> <
SET L ()>>>
<DEFMAC RFATAL () '<PROG () <PUSH 2> <RSTACK>>>
<DEFMAC PROB ('BASE?) <FORM NOT <FORM L? .BASE? '<RANDOM 100>>>>
<DEFINE-ROUTINE PICK-ONE>
<DEFMAC ENABLE ('INT) <FORM PUT .INT ,C-ENABLED? 1>>
<DEFMAC DISABLE ('INT) <FORM PUT .INT ,C-ENABLED? 0>>
<DEFMAC OPENABLE? ('OBJ) <FORM OR <FORM FSET? .OBJ ',DOORBIT> <FORM FSET? .OBJ
',CONTBIT>>>
<DEFMAC ABS ('NUM) <FORM COND (<FORM L? .NUM 0> <FORM - 0 .NUM>) (T .NUM)>>
<GLOBAL P-WON <> %<> WORD>
<CONSTANT M-FATAL 2>
<CONSTANT M-HANDLED 1>
<CONSTANT M-NOT-HANDLED <>>
<CONSTANT M-BEG 1>
<CONSTANT M-END 6>
<CONSTANT M-OBJECT <>>
<CONSTANT M-ENTER 2>
<CONSTANT M-LOOK 3>
<CONSTANT M-FLASH 4>
<CONSTANT M-OBJDESC 5>
<DEFINE-ROUTINE GO>
<DEFINE-ROUTINE I-RANDOM-INTERRUPTS>
<DEFINE-ROUTINE MAIN-LOOP>
<DEFINE-ROUTINE TIMELESS-VERB?>
<GLOBAL L-PRSA <> %<> WORD>
<GLOBAL L-PRSO <> %<> WORD>
<GLOBAL L-PRSI <> %<> WORD>
<DEFINE-ROUTINE PERFORM>
<DEFINE-ROUTINE META-LOC>
<CONSTANT C-TABLELEN 240>
<GLOBAL C-TABLE <ITABLE NONE 120> %<> WORD>
<GLOBAL C-DEMONS 300 %<> WORD>
<GLOBAL C-INTS 240 %<> WORD>
<GLOBAL C-ELAPSED 7 %<> WORD>
<CONSTANT C-ELAPSED-DEFAULT 7>
<CONSTANT C-INTLEN 6>
<CONSTANT C-ENABLED? 0>
<CONSTANT C-TICK 1>
<CONSTANT C-RTN 2>
<DEFINE-ROUTINE QUEUE>
<DEFINE-ROUTINE INT>
<DEFINE-ROUTINE CLOCKER>
<DEFINE-ROUTINE NULL-F>