Revision 77 (Original Source)

master
historicalsource 2019-04-14 15:46:21 -04:00
commit c7d6edc25a
26 changed files with 78721 additions and 0 deletions

1
README.md Normal file
View File

@ -0,0 +1 @@
# amfv

1446
apartment.zap Normal file

File diff suppressed because it is too large Load Diff

2084
apartment.zil Normal file

File diff suppressed because it is too large Load Diff

2562
globals.zap Normal file

File diff suppressed because it is too large Load Diff

3148
globals.zil Normal file

File diff suppressed because it is too large Load Diff

1221
interrupts.zap Normal file

File diff suppressed because it is too large Load Diff

1275
interrupts.zil Normal file

File diff suppressed because it is too large Load Diff

718
misc.zap Normal file
View File

@ -0,0 +1,718 @@
.FUNCT INT-NO-INSERT,RTN,E,C,INT=0
ADD C-TABLE,C-TABLELEN >E
ADD C-TABLE,C-INTS >C
?PRG1: EQUAL? C,E /FALSE
GET C,C-RTN
EQUAL? STACK,RTN \?CND3
RETURN C
?CND3: ADD C,C-INTLEN >C
JUMP ?PRG1
.FUNCT QUEUED?,RTN,C
CALL2 INT-NO-INSERT,RTN >C
ZERO? C /FALSE
GET C,C-TICK
ZERO? STACK /FALSE
RETURN C
.FUNCT RUNNING?,RTN,C,TICK
CALL2 INT-NO-INSERT,RTN >C
ZERO? C /FALSE
GET C,C-TICK >TICK
ZERO? TICK /FALSE
GRTR? TICK,1 /FALSE
RETURN C
.FUNCT PICK-ONE,FROB,L,CNT,RND,MSG,RFROB
GET FROB,0 >L
GET FROB,1 >CNT
DEC 'L
ADD FROB,2 >FROB
MUL CNT,2
ADD FROB,STACK >RFROB
SUB L,CNT
RANDOM STACK >RND
GET RFROB,RND >MSG
GET RFROB,1
PUT RFROB,RND,STACK
PUT RFROB,1,MSG
INC 'CNT
EQUAL? CNT,L \?CND1
SET 'CNT,0
?CND1: PUT FROB,0,CNT
RETURN MSG
.FUNCT SPRINT,OBJ
LESS? OBJ,10 \?ELS3
PRINTI " "
JUMP ?CND1
?ELS3: LESS? OBJ,100 \?ELS7
PRINTI " "
JUMP ?CND1
?ELS7: LESS? OBJ,1000 \?CND1
PRINTI " "
?CND1: PRINTN OBJ
RTRUE
.FUNCT DPRINT,OBJ
GETP OBJ,P?MDESC
ZERO? STACK /?ELS5
PRINTI "MESSAGE."
GETP OBJ,P?MDESC
GET STACK,0
PRINTN STACK
PRINTI "/"
GETP OBJ,P?MDESC
GET STACK,1
PRINTN STACK
PRINTI "/"
GETP OBJ,P?MDESC
GET STACK,2
PRINTN STACK
PRINTI "."
GETP OBJ,P?MDESC
GET STACK,3
CALL2 TIME-PRINT,STACK
RSTACK
?ELS5: GETP OBJ,P?SDESC
ZERO? STACK /?ELS9
GETP OBJ,P?SDESC
PRINT STACK
RTRUE
?ELS9: PRINTD OBJ
RTRUE
.FUNCT GO
START::
?FCN: SUB TIME,1 >LAST-ABE-TIME
CALL QUEUE,I-PERELMAN,-1
CALL QUEUE,I-MESSAGE-C,28
CALL QUEUE,I-MESSAGE-Y,1373
PUTB P-LEXV,0,59
SET 'WINNER,PLAYER
SET 'HERE,COMM-ROOM
SET 'MODE,COMM-MODE
SET 'FEED-BUFFER,NEWS-BUFFER
CALL2 NAME-MESSAGE,MESSAGE-B
CALL2 CHAPTER-PRINT,1
CRLF
CRLF
CRLF
CRLF
CALL2 PRINT-SPACES,22
PRINTI """Tomorrow never yet"
CRLF
CALL2 PRINT-SPACES,23
PRINTI "On any human being rose or set."""
CRLF
CALL2 PRINT-SPACES,39
PRINTI "-- William Marsden"
CRLF
CRLF
CRLF
CRLF
CRLF
CALL1 CONTINUE
CALL2 INIT-STATUS-LINE,2
CALL1 STATUS-LINE
PRINTI "You ""hear"" a message coming in on the official message line: "
GETP MESSAGE-B,P?TEXT
PRINT STACK
CRLF
CRLF
CALL1 V-VERSION
CRLF
CALL1 V-LOOK
CALL1 MAIN-LOOP
JUMP ?FCN
.FUNCT MAIN-LOOP,TRASH
?PRG1: CALL1 MAIN-LOOP-1 >TRASH
JUMP ?PRG1
.FUNCT MAIN-LOOP-1,ICNT,OCNT,NUM,CNT,OBJ,TBL,V,PTBL,OBJ1,TMP,NOT-HERE,?TMP1
SET 'ELAPSED-TIME,1
SET 'INCREMENT-WAIT,FALSE-VALUE
SET 'STOP-WAIT,FALSE-VALUE
SET 'CNT,0
SET 'OBJ,FALSE-VALUE
SET 'PTBL,TRUE-VALUE
CALL1 PARSER >P-WON
ZERO? P-WON /?ELS3
GET P-PRSI,P-MATCHLEN >ICNT
GET P-PRSO,P-MATCHLEN >OCNT
ZERO? P-IT-OBJECT /?CND4
CALL2 ACCESSIBLE?,P-IT-OBJECT
ZERO? STACK /?CND4
SET 'TMP,FALSE-VALUE
?PRG9: IGRTR? 'CNT,ICNT \?ELS13
JUMP ?REP10
?ELS13: GET P-PRSI,CNT
EQUAL? STACK,IT \?PRG9
PUT P-PRSI,CNT,P-IT-OBJECT
SET 'TMP,TRUE-VALUE
?REP10: ZERO? TMP \?CND19
SET 'CNT,0
?PRG22: IGRTR? 'CNT,OCNT \?ELS26
JUMP ?CND19
?ELS26: GET P-PRSO,CNT
EQUAL? STACK,IT \?PRG22
PUT P-PRSO,CNT,P-IT-OBJECT
?CND19: SET 'CNT,0
?CND4: ZERO? OCNT \?ELS36
PUSH OCNT
JUMP ?CND32
?ELS36: GRTR? OCNT,1 \?ELS38
SET 'TBL,P-PRSO
ZERO? ICNT \?ELS41
SET 'OBJ,FALSE-VALUE
JUMP ?CND39
?ELS41: GET P-PRSI,1 >OBJ
?CND39: PUSH OCNT
JUMP ?CND32
?ELS38: GRTR? ICNT,1 \?ELS45
SET 'PTBL,FALSE-VALUE
SET 'TBL,P-PRSI
GET P-PRSO,1 >OBJ
PUSH ICNT
JUMP ?CND32
?ELS45: PUSH 1
?CND32: SET 'NUM,STACK
ZERO? OBJ \?CND48
EQUAL? ICNT,1 \?CND48
GET P-PRSI,1 >OBJ
?CND48: EQUAL? PRSA,V?WALK \?ELS55
PRINTI "[Calling PERFORM, PRSA = V-WALK.]"
CRLF
CALL PERFORM,PRSA,PRSO >V
JUMP ?CND53
?ELS55: ZERO? NUM \?ELS57
GETB P-SYNTAX,P-SBITS
BAND STACK,P-SONUMS
ZERO? STACK \?ELS60
CALL2 PERFORM,PRSA >V
SET 'PRSO,FALSE-VALUE
JUMP ?CND53
?ELS60: PRINTI "There isn't anything to "
GET P-ITBL,P-VERBN >TMP
EQUAL? PRSA,V?TELL \?ELS67
PRINTI "talk to"
JUMP ?CND65
?ELS67: ZERO? P-OFLAG \?THN72
ZERO? P-MERGED /?ELS71
?THN72: GET TMP,0
PRINTB STACK
JUMP ?CND65
?ELS71: GETB TMP,2 >?TMP1
GETB TMP,3
CALL WORD-PRINT,?TMP1,STACK
?CND65: PRINTI "!"
CRLF
SET 'V,FALSE-VALUE
CALL1 CLEAR-BUF
JUMP ?CND53
?ELS57: SET 'NOT-HERE,0
SET 'TMP,FALSE-VALUE
?PRG80: IGRTR? 'CNT,NUM \?ELS84
GRTR? NOT-HERE,0 \?ELS87
PRINTI "[The "
EQUAL? NOT-HERE,NUM /?CND90
PRINTI "other "
?CND90: PRINTI "object"
EQUAL? NOT-HERE,1 /?CND97
PRINTI "s"
?CND97: PRINTI " that you mentioned "
EQUAL? NOT-HERE,1 /?ELS106
PRINTI "are"
JUMP ?CND104
?ELS106: PRINTI "is"
?CND104: PRINTI "n't here.]"
CRLF
JUMP ?REP81
?ELS87: ZERO? TMP \?REP81
PRINT REFERRING
CRLF
JUMP ?REP81
?ELS84: ZERO? PTBL /?ELS123
GET P-PRSO,CNT >OBJ1
SET 'PRSO,OBJ1
SET 'PRSI,OBJ
JUMP ?CND121
?ELS123: GET P-PRSI,CNT >OBJ1
SET 'PRSO,OBJ
SET 'PRSI,OBJ1
?CND121: GRTR? NUM,1 /?THN130
GET P-ITBL,P-NC1
GET STACK,0
EQUAL? STACK,W?ALL \?CND127
?THN130: EQUAL? OBJ1,NOT-HERE-OBJECT \?ELS134
INC 'NOT-HERE
JUMP ?PRG80
?ELS134: EQUAL? P-GETFLAGS,P-ALL \?ELS136
CALL DONT-ALL?,PRSO,PRSI,PTBL
ZERO? STACK /?ELS136
JUMP ?PRG80
?ELS136: EQUAL? PRSA,V?TAKE \?ELS140
ZERO? PRSI /?ELS140
IN? PRSO,PRSI /?ELS140
JUMP ?PRG80
?ELS140: CALL2 ACCESSIBLE?,OBJ1
ZERO? STACK \?ELS144
JUMP ?PRG80
?ELS144: EQUAL? OBJ1,BUZZERS,BOOKS /?CND127
EQUAL? OBJ1,IT \?ELS149
PRINTD P-IT-OBJECT
JUMP ?CND147
?ELS149: PRINTD OBJ1
?CND147: PRINTI ": "
?CND127: SET 'TMP,TRUE-VALUE
CALL PERFORM,PRSA,PRSO,PRSI >V
EQUAL? V,M-FATAL \?PRG80
JUMP ?CND53
?REP81:
?CND53: PRINTI "[About to enter M-FATAL/NEWS predicate.]"
CRLF
EQUAL? V,M-FATAL \?THN160
EQUAL? HERE,NEWS \?CND157
?THN160: PRINTI "[About to check whether ELAPSED-TIME is 0]"
CRLF
ZERO? ELAPSED-TIME /?CND157
GETP HERE,P?ACTION
CALL STACK,M-END >V
?CND157: PRINTI "[About to check whether CLOCK-WAIT is false.]"
CRLF
ZERO? CLOCK-WAIT \?CND165
PRINTI "[About to call INCREMENT-TIME.]"
CRLF
CALL2 INCREMENT-TIME,ELAPSED-TIME
PRINTI "[Returned from INCREMENT-TIME.]"
CRLF
?CND165: EQUAL? V,M-FATAL \?CND1
SET 'P-CONT,FALSE-VALUE
JUMP ?CND1
?ELS3: SET 'P-CONT,FALSE-VALUE
?CND1: PRINTI "[About to check whether P-WON is true.]"
CRLF
ZERO? P-WON /FALSE
ZERO? ELAPSED-TIME /?CND179
PRINTI "[About to call CLOCKER.]"
CRLF
CALL1 CLOCKER >V
PRINTI "[Returning from CLOCKER.]"
CRLF
?CND179: "[About to call STATUS-LINE.]"
CRLF
CALL1 STATUS-LINE
SET 'PRSA,FALSE-VALUE
SET 'PRSO,FALSE-VALUE
SET 'PRSI,FALSE-VALUE
RETURN PRSI
.FUNCT DONT-ALL?,O,I,ALL-O?,LOCATION
LOC O >LOCATION
EQUAL? O,I /TRUE
EQUAL? PRSA,V?TAKE \?ELS7
EQUAL? LOCATION,PLAYER,WINNER /TRUE
FSET? O,TAKEBIT /?ELS14
FSET? O,TRYTAKEBIT \TRUE
?ELS14: ZERO? I /?ELS18
EQUAL? LOCATION,I \TRUE
CALL2 SEE-INSIDE?,I
ZERO? STACK /TRUE
RFALSE
?ELS18: EQUAL? LOCATION,HERE,SHOWER /FALSE
FSET? LOCATION,SURFACEBIT /FALSE
FSET? LOCATION,ACTORBIT \TRUE
RFALSE
?ELS7: EQUAL? PRSA,V?PUT-ON,V?PUT,V?DROP /?THN39
EQUAL? PRSA,V?THROW \?ELS38
?THN39: EQUAL? LOCATION,PLAYER,WINNER \TRUE
RFALSE
?ELS38: EQUAL? PRSA,V?SHUT-OFF,V?TURN-ON \FALSE
EQUAL? HERE,INTERFACE-ROOM \FALSE
EQUAL? WINNER,HVAC-CONTROLLER \?ELS56
EQUAL? I,ALPHA-SECTOR,BETA-SECTOR /FALSE
EQUAL? I,GAMMA-SECTOR,DELTA-SECTOR \TRUE
RFALSE
?ELS56: EQUAL? I,ALPHA-SECTOR \TRUE
RFALSE
.FUNCT FAKE-ORPHAN,TMP,?TMP1
CALL ORPHAN,P-SYNTAX,FALSE-VALUE
PRINTI "[Be specific: what object do you want to "
GET P-OTBL,P-VERBN >TMP
ZERO? TMP \?ELS5
PRINTI "tell"
JUMP ?CND3
?ELS5: GETB P-VTBL,2
ZERO? STACK \?ELS9
GET TMP,0
PRINTB STACK
JUMP ?CND3
?ELS9: GETB TMP,2 >?TMP1
GETB TMP,3
CALL WORD-PRINT,?TMP1,STACK
PUTB P-VTBL,2,0
?CND3: SET 'P-OFLAG,TRUE-VALUE
SET 'P-WON,FALSE-VALUE
GETB P-SYNTAX,P-SPREP1
CALL2 PREP-PRINT,STACK
PRINTR "?]"
.FUNCT PERFORM,A,O=0,I=0,V=0,OA,OO,OI
SET 'OA,PRSA
SET 'OO,PRSO
SET 'OI,PRSI
SET 'PRSA,A
EQUAL? IT,I,O \?CND1
ZERO? I \?ELS6
CALL1 FAKE-ORPHAN
RETURN 2
?ELS6: PRINT REFERRING
CRLF
RETURN 2
?CND1: SET 'PRSO,O
ZERO? PRSO /?CND13
EQUAL? PRSO,INTNUM /?CND13
EQUAL? PRSA,V?WALK /?CND13
EQUAL? PRSO,NOT-HERE-OBJECT /?CND13
SET 'P-IT-OBJECT,PRSO
?CND13: SET 'PRSI,I
EQUAL? A,V?WALK /?ELS20
EQUAL? NOT-HERE-OBJECT,PRSO,PRSI \?ELS20
CALL D-APPLY,STR?1,NOT-HERE-OBJECT-F >V
ZERO? V /?ELS20
SET 'P-WON,FALSE-VALUE
JUMP ?CND18
?ELS20: SET 'O,PRSO
SET 'I,PRSI
GETP WINNER,P?ACTION
CALL D-APPLY,STR?2,STACK >V
ZERO? V /?ELS27
JUMP ?CND18
?ELS27: GETP HERE,P?ACTION
CALL D-APPLY,STR?3,STACK,M-BEG >V
ZERO? V /?ELS29
JUMP ?CND18
?ELS29: GET PREACTIONS,A
CALL D-APPLY,STR?4,STACK >V
ZERO? V /?ELS31
JUMP ?CND18
?ELS31: ZERO? I /?ELS33
GETP I,P?ACTION
CALL D-APPLY,STR?5,STACK >V
ZERO? V /?ELS33
JUMP ?CND18
?ELS33: ZERO? O /?ELS37
EQUAL? A,V?WALK /?ELS37
GETP O,P?ACTION
CALL D-APPLY,STR?6,STACK >V
ZERO? V /?ELS37
JUMP ?CND18
?ELS37: GET ACTIONS,A
CALL D-APPLY,FALSE-VALUE,STACK >V
ZERO? V /?CND18
?CND18: SET 'PRSA,OA
SET 'PRSO,OO
SET 'PRSI,OI
RETURN V
.FUNCT D-APPLY,STR,FCN,FOO=0,RES
ZERO? FCN /FALSE
ZERO? FOO /?ELS12
CALL FCN,FOO
JUMP ?CND8
?ELS12: CALL FCN
?CND8: SET 'RES,STACK
RETURN RES
.FUNCT QUEUE,INTERRUPT-ROUTINE,TICK-NUMBER,CLOCKER-INT
CALL2 INT,INTERRUPT-ROUTINE >CLOCKER-INT
PUT CLOCKER-INT,C-TICK,TICK-NUMBER
RETURN CLOCKER-INT
.FUNCT INT,RTN,E,C,INT=0
ADD C-TABLE,C-TABLELEN >E
ADD C-TABLE,C-INTS >C
?PRG1: EQUAL? C,E \?ELS5
ZERO? INT \?CND6
LESS? C-INTS,C-INTLEN \?CND9
PRINTI "Bug #25I"
CRLF
?CND9: SUB C-INTS,C-INTLEN >C-INTS
ADD C-TABLE,C-INTS >INT
?CND6: PUT INT,C-RTN,RTN
RETURN INT
?ELS5: GET C,C-RTN
EQUAL? STACK,RTN \?ELS15
RETURN C
?ELS15: ZERO? INT \?CND3
GET C,C-RTN
ZERO? STACK \?CND3
SET 'INT,C
?CND3: ADD C,C-INTLEN >C
JUMP ?PRG1
.FUNCT CLOCKER,C,E,TICK,RTN,FLG=0
ZERO? CLOCK-WAIT /?CND1
SET 'CLOCK-WAIT,FALSE-VALUE
RFALSE
?CND1: ADD C-TABLE,C-INTS >C
ADD C-TABLE,C-TABLELEN >E
?PRG5: EQUAL? C,E \?CND7
RETURN FLG
?CND7: GET C,C-RTN >RTN
ZERO? RTN /?CND10
GET C,C-TICK >TICK
EQUAL? TICK,-1 \?ELS18
CALL RTN
ZERO? STACK /?CND10
SET 'FLG,TRUE-VALUE
JUMP ?CND10
?ELS18: SUB TICK,ELAPSED-TIME >TICK
GRTR? TICK,0 \?ELS26
PUT C,C-TICK,TICK
JUMP ?CND10
?ELS26: PUT C,C-RTN,0
CALL RTN
ZERO? STACK /?CND13
SET 'FLG,TRUE-VALUE
?CND13:
?CND10: ADD C,C-INTLEN >C
JUMP ?PRG5
.FUNCT INCREMENT-TIME,X,TMP,?TMP1
ADD TIME,X >TIME
GRTR? TIME,1439 \?CND1
SUB TIME,1440 >TIME
INC 'DATE
EQUAL? DATE,18 \?ELS6
SET 'FEED-BUFFER,REPORT-BUFFER
JUMP ?CND4
?ELS6: SET 'FEED-BUFFER,NEWS-BUFFER
?CND4: GRTR? DATE,28 \?CND9
EQUAL? DATE,32 /?THN19
EQUAL? MONTH,2 /?THN19
EQUAL? DATE,31 \?CND9
EQUAL? MONTH,4,6,9 /?THN19
EQUAL? MONTH,11 \?CND9
?THN19: SET 'DATE,1
INC 'MONTH
?CND9: EQUAL? HERE,ROOF \?CND1
EQUAL? TIME,348 \?ELS26
CRLF
PRINTI "The first glow of dawn appears on the horizon."
CRLF
JUMP ?CND21
?ELS26: EQUAL? TIME,378 \?ELS30
CRLF
PRINTI "The sun is now well above the horizon; day has begun."
CRLF
JUMP ?CND21
?ELS30: EQUAL? TIME,1073 \?ELS34
CRLF
PRINTI "The sky begins to darken as the sun sinks into the western sky."
CRLF
JUMP ?CND21
?ELS34: EQUAL? TIME,1103 \?CND21
CRLF
PRINTI "The last glow of dusk fades as nighttime falls across the rooftop."
CRLF
?CND21:
?CND1: ZERO? SIMULATING /?CND41
SET 'TMP,STIME
ADD STIME,X >STIME
GRTR? STIME,1439 \?CND45
SUB STIME,1440 >STIME
INC 'SDATE
GRTR? SDATE,28 \?CND45
EQUAL? SDATE,32 /?THN58
EQUAL? SMONTH,2 /?THN58
EQUAL? SDATE,31 \?CND48
EQUAL? SMONTH,4,6,9 /?THN58
EQUAL? SMONTH,11 \?CND48
?THN58: SET 'SDATE,1
INC 'SMONTH
?CND48:
?CND45: CALL1 CONVERT-SYEAR-TO-NUM >?TMP1
CALL1 CONVERT-SYEAR-TO-NUM
GET SIM-LEVEL-TABLE,STACK
ADD X,STACK
PUT SIM-LEVEL-TABLE,?TMP1,STACK
CALL1 TUBES-CLOSE?
ZERO? STACK /?ELS62
CRLF
PRINTI "A surly cop warns that curfew is approaching and hustles you out of the "
PRINTD TUBE-STATION
PRINTI "."
CRLF
CRLF
EQUAL? HERE,RED-TUBECAR,BROWN-TUBECAR \?CND67
GET RED-TABLE,RED-POINTER
MOVE PLAYER,STACK
GET RED-TABLE,RED-POINTER >HERE
?CND67: CALL2 DO-WALK,P?UP
JUMP ?CND60
?ELS62: EQUAL? HERE,ROCKVIL-STADIUM \?CND60
EQUAL? SYEAR,2061,2071 \?CND60
GRTR? STIME,1154 \?ELS76
LESS? STIME,1200 \?ELS76
ZERO? INCREMENT-WAIT \?ELS76
SET 'INCREMENT-WAIT,TRUE-VALUE
CRLF
PRINTI "As the day's executions wind to a conclusion, the people in the stands begin heading toward the exits."
CRLF
JUMP ?CND60
?ELS76: EQUAL? STIME,480 \?CND60
SET 'STOP-WAIT,TRUE-VALUE
CRLF
PRINTI "People begin gathering in the stands as the day's executions begin."
CRLF
?CND60: EQUAL? SYEAR,2041,2081 /?CND41
GRTR? STIME,1260 \?ELS90
GRTR? TMP,1260 /?ELS90
CALL QUEUE,I-CURFEW,15
SET 'STOP-WAIT,TRUE-VALUE
CALL2 SCORE,116
CRLF
PRINTI "A surge of adrenal fear passes through you as sirens all around begin wailing, an audio sine wave announcing the beginning of curfew."
CRLF
JUMP ?CND85
?ELS90: GRTR? STIME,420 \?CND85
GRTR? TMP,420 /?CND85
EQUAL? PRSA,V?SLEEP /?CND85
SET 'STOP-WAIT,TRUE-VALUE
CRLF
PRINTI "T"
CALL1 END-CURFEW
CRLF
?CND85:
?CND41: ZERO? RECORDING /FALSE
EQUAL? HERE,LIVING-ROOM,KITCHEN /?THN110
EQUAL? HERE,BEDROOM,BATHROOM \?ELS109
?THN110: PUT RECORDING-TABLE,16,1
JUMP ?CND107
?ELS109: EQUAL? HERE,COURTHOUSE \?ELS113
PUT RECORDING-TABLE,10,1
JUMP ?CND107
?ELS113: EQUAL? HERE,POWER-STATION \?CND107
PUT RECORDING-TABLE,4,1
?CND107: EQUAL? SYEAR,2051 \?ELS118
SET '2051-RECORDED,TRUE-VALUE
JUMP ?CND116
?ELS118: EQUAL? SYEAR,2061 \?ELS120
SET '2061-RECORDED,TRUE-VALUE
JUMP ?CND116
?ELS120: EQUAL? SYEAR,2071 \?ELS122
SET '2071-RECORDED,TRUE-VALUE
JUMP ?CND116
?ELS122: EQUAL? SYEAR,2081 \?CND116
SET '2081-RECORDED,TRUE-VALUE
?CND116: GETP RECORD-BUFFER,P?SIZE >TMP
ADD TMP,X
PUTP RECORD-BUFFER,P?SIZE,STACK
ZERO? SIMULATING /?CND125
SET 'RECORDINGS-INCLUDE-SIMULATION,TRUE-VALUE
?CND125: GETP RECORD-BUFFER,P?SIZE
GRTR? STACK,45 \?ELS133
GRTR? TMP,45 /?ELS133
SOUND 1
CRLF
PRINTR "WARNING: Record buffer is now half-full."
?ELS133: GETP RECORD-BUFFER,P?SIZE
GRTR? STACK,90 \FALSE
SET 'RECORDING,FALSE-VALUE
PUTP RECORD-BUFFER,P?SIZE,90
SOUND 1
CRLF
PRINTR "WARNING: Record buffer full. Auto-deactivation of record feature."
.FUNCT TUBES-CLOSE?
EQUAL? SYEAR,2041 /FALSE
LESS? STIME,1250 /FALSE
FSET? HERE,TUBEBIT /TRUE
EQUAL? HERE,RED-TUBECAR \?ELS11
ZERO? RED-TUBECAR-IN-STATION \TRUE
?ELS11: EQUAL? HERE,BROWN-TUBECAR \FALSE
ZERO? BROWN-TUBECAR-IN-STATION /FALSE
RTRUE
.FUNCT ITALICIZE,STR,NO-CAPS?=0,LEN,PTR=2,CHAR,SCRIPTING-ON=0
BUFOUT FALSE-VALUE
BUFOUT TRUE-VALUE
GET 0,8
BTST STACK,1 \?CND1
SET 'SCRIPTING-ON,TRUE-VALUE
?CND1: ZERO? SCRIPTING-ON /?CND4
DIROUT D-PRINTER-OFF
?CND4: DIROUT D-SCREEN-OFF
DIROUT D-TABLE-ON,SL-BUFFER
PRINT STR
DIROUT D-TABLE-OFF
ZERO? SCRIPTING-ON /?CND10
DIROUT D-PRINTER-ON
?CND10: EQUAL? PRSA,V?UNSCRIPT,V?SCRIPT /?CND14
DIROUT D-SCREEN-ON
?CND14: GET SL-BUFFER,0
ADD STACK,1 >LEN
EQUAL? LEN,1 /TRUE
GETB 0,18
ZERO? STACK /?THN24
GETB 0,1
BAND STACK,8
ZERO? STACK /?ELS23
?THN24: HLIGHT H-ITALIC
?PRG26: GETB SL-BUFFER,PTR >CHAR
EQUAL? CHAR,32 \?ELS30
HLIGHT H-NORMAL
PRINTC 32
HLIGHT H-ITALIC
JUMP ?CND28
?ELS30: PRINTC CHAR
?CND28: EQUAL? PTR,LEN \?ELS35
JUMP ?REP27
?ELS35: INC 'PTR
JUMP ?PRG26
?REP27: HLIGHT H-NORMAL
RTRUE
?ELS23: ZERO? NO-CAPS? /?ELS39
PRINT STR
RTRUE
?ELS39:
?PRG45: GETB SL-BUFFER,PTR >CHAR
GRTR? CHAR,96 \?CND47
LESS? CHAR,123 \?CND47
SUB CHAR,32 >CHAR
?CND47: PRINTC CHAR
EQUAL? PTR,LEN /TRUE
INC 'PTR
JUMP ?PRG45
.FUNCT CONVERT-SYEAR-TO-NUM
SUB SYEAR,2041
DIV STACK,10
RSTACK
.ENDI

860
misc.zil Normal file
View File

@ -0,0 +1,860 @@
"MISC for
A MIND FOREVER VOYAGING
(c) 1985 by Infocom, Inc. All Rights Reserved."
;"former MACROS.ZIL stuff"
<ZSTR-OFF>
"<SETG C-ENABLED? 0>
<SETG C-ENABLED 1>
<SETG C-DISABLED 0>"
;<ROUTINE ENABLED? (RTN "AUX" C E)
<SET E <REST ,C-TABLE ,C-TABLELEN>>
<SET C <REST ,C-TABLE ,C-INTS>>
<REPEAT ()
<COND (<==? .C .E>
<RFALSE>)
(<EQUAL? <GET .C ,C-RTN> .RTN>
<COND (<0? <GET .C ,C-ENABLED?>>
<RFALSE>)
(T
<RTRUE>)>)>
<SET C <REST .C ,C-INTLEN>>>>
<ROUTINE INT-NO-INSERT (RTN "OPTIONAL" E C (INT <>))
<SET E <REST ,C-TABLE ,C-TABLELEN>>
<SET C <REST ,C-TABLE ,C-INTS>>
<REPEAT ()
<COND (<EQUAL? .C .E> <RFALSE>)
(<EQUAL? <GET .C ,C-RTN> .RTN>
<RETURN .C>)>
<SET C <REST .C ,C-INTLEN>>>>
<ROUTINE QUEUED? (RTN "AUX" C)
<COND (<SET C <INT-NO-INSERT .RTN>>
<COND (<OR ;<0? <GET .C ,C-ENABLED?>>
<0? <GET .C ,C-TICK>>>
<RFALSE>)
(T <RETURN .C>)>)>>
<ROUTINE RUNNING? (RTN "AUX" C TICK)
<COND (<SET C <INT-NO-INSERT .RTN>>
<SET TICK <GET .C ,C-TICK>>
<COND (<OR ;<0? <GET .C ,C-ENABLED?>>
<0? .TICK>
<G? .TICK 1>>
<RFALSE>)
(T <RETURN .C>)>)>>
<DEFMAC TELL ("ARGS" A)
<FORM PROG ()
!<MAPF ,LIST
<FUNCTION ("AUX" E P O)
<COND (<EMPTY? .A> <MAPSTOP>)
(<SET E <NTH .A 1>>
<SET A <REST .A>>)>
<COND (<TYPE? .E ATOM>
<COND (<OR <=? <SET P <SPNAME .E>>
"CRLF">
<=? .P "CR">>
<MAPRET '<CRLF>>)
(<EMPTY? .A>
<ERROR INDICATOR-AT-END? .E>)
(ELSE
<SET O <NTH .A 1>>
<SET A <REST .A>>
<COND (<OR <=? <SET P <SPNAME .E>>
"DESC">
<=? .P "D">
<=? .P "OBJ">
<=? .P "O">>
<MAPRET <FORM DPRINT .O>>)
(<OR <=? .P "NUM">
<=? .P "N">>
<MAPRET <FORM PRINTN .O>>)
(<=? .P "S">
<MAPRET <FORM SPRINT .O>>)
(<OR <=? .P "CHAR">
<=? .P "CHR">
<=? .P "C">>
<MAPRET <FORM PRINTC .O>>)
(ELSE
<MAPRET
<FORM PRINT
<FORM GETP .O .E>>>)>)>)
(<TYPE? .E STRING ZSTRING>
<MAPRET <FORM PRINTI .E>>)
(<TYPE? .E FORM LVAL GVAL>
<MAPRET <FORM PRINT .E>>)
(ELSE <ERROR UNKNOWN-TYPE .E>)>>>>>
<DEFMAC VERB? ("ARGS" ATMS)
<MULTIFROB PRSA .ATMS>>
<DEFMAC PRSO? ("ARGS" ATMS)
<MULTIFROB PRSO .ATMS>>
<DEFMAC PRSI? ("ARGS" ATMS)
<MULTIFROB PRSI .ATMS>>
<DEFMAC ROOM? ("ARGS" ATMS)
<MULTIFROB HERE .ATMS>>
<DEFINE MULTIFROB (X ATMS "AUX" (OO (OR)) (O .OO) (L ()) ATM)
<REPEAT ()
<COND (<EMPTY? .ATMS>
<RETURN!- <COND (<LENGTH? .OO 1> <ERROR .X>)
(<LENGTH? .OO 2> <NTH .OO 2>)
(ELSE <CHTYPE .OO FORM>)>>)>
<REPEAT ()
<COND (<EMPTY? .ATMS> <RETURN!->)>
<SET ATM <NTH .ATMS 1>>
<SET L
(<COND (<TYPE? .ATM ATOM>
<CHTYPE <COND (<==? .X PRSA>
<PARSE
<STRING "V?"
<SPNAME .ATM>>>)
(ELSE .ATM)> GVAL>)
(ELSE .ATM)>
!.L)>
<SET ATMS <REST .ATMS>>
<COND (<==? <LENGTH .L> 3> <RETURN!->)>>
<SET O <REST <PUTREST .O
(<FORM EQUAL? <CHTYPE .X GVAL> !.L>)>>>
<SET L ()>>>
<DEFMAC BSET ('OBJ "ARGS" BITS)
<MULTIBITS FSET .OBJ .BITS>>
<DEFMAC BCLEAR ('OBJ "ARGS" BITS)
<MULTIBITS FCLEAR .OBJ .BITS>>
<DEFMAC BSET? ('OBJ "ARGS" BITS)
<MULTIBITS FSET? .OBJ .BITS>>
<DEFINE MULTIBITS (X OBJ ATMS "AUX" (O ()) ATM)
<REPEAT ()
<COND (<EMPTY? .ATMS>
<RETURN!- <COND (<LENGTH? .O 1> <NTH .O 1>)
(<EQUAL? .X FSET?> <FORM OR !.O>)
(ELSE <FORM PROG () !.O>)>>)>
<SET ATM <NTH .ATMS 1>>
<SET ATMS <REST .ATMS>>
<SET O
(<FORM .X
.OBJ
<COND (<TYPE? .ATM FORM> .ATM)
(ELSE <CHTYPE .ATM GVAL>)>>
!.O)>>>
<DEFMAC RFATAL ()
'<PROG () <PUSH 2> <RSTACK>>>
<DEFMAC PROB ('BASE?)
<FORM NOT <FORM L? .BASE? '<RANDOM 100>>>>
;<ROUTINE PICK-ONE (FROB) ;"totally random PICK-ONE"
<GET .FROB <RANDOM <GET .FROB 0>>>>
<ROUTINE PICK-ONE ;"this won't repeat any strings until they've all been used"
(FROB "AUX" (L <GET .FROB 0>) (CNT <GET .FROB 1>) RND MSG RFROB)
<SET L <- .L 1>>
<SET FROB <REST .FROB 2>>
<SET RFROB <REST .FROB <* .CNT 2>>>
<SET RND <RANDOM <- .L .CNT>>>
<SET MSG <GET .RFROB .RND>>
<PUT .RFROB .RND <GET .RFROB 1>>
<PUT .RFROB 1 .MSG>
<SET CNT <+ .CNT 1>>
<COND (<==? .CNT .L> <SET CNT 0>)>
<PUT .FROB 0 .CNT>
.MSG>
;<DEFMAC ENABLE ('INT)
<FORM PUT .INT ,C-ENABLED? 1>>
<DEFMAC DISABLE ('INT)
<FORM PUT .INT ,C-RTN 0>>
<ROUTINE SPRINT (OBJ)
<COND (<L? .OBJ 10>
<TELL " ">)
(<L? .OBJ 100>
<TELL " ">)
(<L? .OBJ 1000>
<TELL " ">)>
<TELL N .OBJ>>
<ROUTINE DPRINT (OBJ)
<COND (<GETP .OBJ ,P?MDESC> ;"message desc"
<TELL "MESSAGE."
N <GET <GETP .OBJ ,P?MDESC> 0>
"/"
N <GET <GETP .OBJ ,P?MDESC> 1>
"/"
N <GET <GETP .OBJ ,P?MDESC> 2>
".">
<TIME-PRINT <GET <GETP .OBJ ,P?MDESC> 3>>)
(<GETP .OBJ ,P?SDESC>
<TELL <GETP .OBJ ,P?SDESC>>)
(T
<PRINTD .OBJ>)>>
<ZSTR-ON>
;"former MAIN.ZIL stuff"
<GLOBAL P-WON <>>
<GLOBAL ELAPSED-TIME 1>
<CONSTANT M-FATAL 2>
<CONSTANT M-BEG 1>
<CONSTANT M-END 6>
<CONSTANT M-ENTER 2>
<CONSTANT M-LOOK 3>
<CONSTANT M-FLASH 4>
<CONSTANT M-OBJDESC 5>
<ROUTINE GO ()
;"put interrupts on clock chain"
<SETG LAST-ABE-TIME <- ,TIME 1>>
;<QUEUE I-UNFOLLOW 0> ;"so it's always the last interrupt called"
<QUEUE I-PERELMAN -1>
<QUEUE I-MESSAGE-C 28>
<QUEUE I-MESSAGE-Y 1373>
;"set up and go"
<PUTB ,P-LEXV 0 59>
<SETG WINNER ,PLAYER>
<SETG HERE ,COMM-ROOM>
<SETG MODE ,COMM-MODE>
<SETG FEED-BUFFER ,NEWS-BUFFER>
<NAME-MESSAGE ,MESSAGE-B>
<CHAPTER-PRINT 1>
<TELL CR CR CR CR>
<PRINT-SPACES 22>
<TELL "\"Tomorrow never yet" CR>
<PRINT-SPACES 23>
<TELL "On any human being rose or set.\"" CR>
<PRINT-SPACES 39>
<TELL "-- William Marsden" CR CR CR CR CR>
<CONTINUE>
<INIT-STATUS-LINE 2>
<STATUS-LINE>
<TELL
"You \"hear\" a message coming in on the official message line: "
<GETP ,MESSAGE-B ,P?TEXT> CR CR>
<V-VERSION>
<CRLF>
<V-LOOK>
<MAIN-LOOP>
<AGAIN>>
<ROUTINE MAIN-LOOP ("AUX" TRASH)
<REPEAT ()
<SET TRASH <MAIN-LOOP-1>>>>
<ROUTINE MAIN-LOOP-1 ("AUX" ICNT OCNT NUM CNT OBJ TBL V PTBL OBJ1 TMP NOT-HERE)
<SETG ELAPSED-TIME 1>
<SETG INCREMENT-WAIT <>>
<SETG STOP-WAIT <>>
<SET CNT 0>
<SET OBJ <>>
<SET PTBL T>
<COND (<SETG P-WON <PARSER>>
<SET ICNT <GET ,P-PRSI ,P-MATCHLEN>>
<SET OCNT <GET ,P-PRSO ,P-MATCHLEN>>
<COND (<AND ,P-IT-OBJECT <ACCESSIBLE? ,P-IT-OBJECT>>
<SET TMP <>>
<REPEAT ()
<COND (<G? <SET CNT <+ .CNT 1>> .ICNT>
<RETURN>)
(T
<COND (<EQUAL? <GET ,P-PRSI .CNT> ,IT>
<PUT ,P-PRSI .CNT ,P-IT-OBJECT>
<SET TMP T>
<RETURN>)>)>>
<COND (<NOT .TMP>
<SET CNT 0>
<REPEAT ()
<COND (<G? <SET CNT <+ .CNT 1>> .OCNT>
<RETURN>)
(T
<COND (<EQUAL? <GET ,P-PRSO .CNT> ,IT>
<PUT ,P-PRSO .CNT ,P-IT-OBJECT>
<RETURN>)>)>>)>
<SET CNT 0>)>
<SET NUM
<COND (<0? .OCNT> .OCNT)
(<G? .OCNT 1>
<SET TBL ,P-PRSO>
<COND (<0? .ICNT> <SET OBJ <>>)
(T <SET OBJ <GET ,P-PRSI 1>>)>
.OCNT)
(<G? .ICNT 1>
<SET PTBL <>>
<SET TBL ,P-PRSI>
<SET OBJ <GET ,P-PRSO 1>>
.ICNT)
(T 1)>>
<COND (<AND <NOT .OBJ>
<1? .ICNT>>
<SET OBJ <GET ,P-PRSI 1>>)>
<COND (<EQUAL? ,PRSA ,V?WALK>
<SET V <PERFORM ,PRSA ,PRSO>>)
(<0? .NUM>
<COND (<0? <BAND <GETB ,P-SYNTAX ,P-SBITS> ,P-SONUMS>>
<SET V <PERFORM ,PRSA>>
<SETG PRSO <>>)
;(<NOT ,LIT>
<TELL ,TOO-DARK CR>
<CLEAR-BUF>)
(T
<TELL "There isn't anything to ">
<SET TMP <GET ,P-ITBL ,P-VERBN>>
<COND (<VERB? TELL>
<TELL "talk to">)
(<OR ,P-OFLAG ,P-MERGED>
<PRINTB <GET .TMP 0>>)
(T
<WORD-PRINT <GETB .TMP 2>
<GETB .TMP 3>>)>
<TELL "!" CR>
<SET V <>>
<CLEAR-BUF>)>)
(T
<SET NOT-HERE 0>
;<SETG P-MULT <>>
;<COND (<G? .NUM 1>
<SETG P-MULT T>)>
<SET TMP <>>
<REPEAT ()
<COND (<G? <SET CNT <+ .CNT 1>> .NUM>
<COND (<G? .NOT-HERE 0>
<TELL "[The ">
<COND (<NOT <EQUAL? .NOT-HERE .NUM>>
<TELL "other ">)>
<TELL "object">
<COND (<NOT <EQUAL? .NOT-HERE 1>>
<TELL "s">)>
<TELL " that you mentioned ">
<COND (<NOT <EQUAL? .NOT-HERE 1>>
<TELL "are">)
(T
<TELL "is">)>
<TELL "n't here.]" CR>)
(<NOT .TMP>
<TELL ,REFERRING CR>)>
<RETURN>)
(T
<COND (.PTBL
<SET OBJ1 <GET ,P-PRSO .CNT>>
<SETG PRSO .OBJ1>
<SETG PRSI .OBJ>)
(T
<SET OBJ1 <GET ,P-PRSI .CNT>>
<SETG PRSO .OBJ>
<SETG PRSI .OBJ1>)>
<COND (<OR <G? .NUM 1>
<EQUAL? <GET <GET ,P-ITBL ,P-NC1> 0>
,W?ALL>>
<COND (<EQUAL? .OBJ1 ,NOT-HERE-OBJECT>
<SET NOT-HERE <+ .NOT-HERE 1>>
<AGAIN>)
(<AND <==? ,P-GETFLAGS ,P-ALL>
<DONT-ALL? ,PRSO ,PRSI .PTBL>>
<AGAIN>)
(<AND <VERB? TAKE>
,PRSI
<NOT <IN? ,PRSO ,PRSI>>>
<AGAIN>)
(<NOT <ACCESSIBLE? .OBJ1>>
<AGAIN>)
(<NOT <==? .OBJ1 ,BUZZERS ,BOOKS>>
<COND (<EQUAL? .OBJ1 ,IT>
<PRINTD ,P-IT-OBJECT>)
(T
<PRINTD .OBJ1>)>
<TELL ": ">)>)>
<SET TMP T>
<SET V <PERFORM ,PRSA ,PRSO ,PRSI>>
<COND (<EQUAL? .V ,M-FATAL>
<RETURN>)>)>>)>
<COND (<OR <NOT <EQUAL? .V ,M-FATAL>>
<EQUAL? ,HERE ,NEWS>>
<COND ;(<VERB? TELL BRIEF SUPER-BRIEF VERBOSE
SAVE VERSION RESTORE SCRIPT UNSCRIPT>
T)
(<NOT <EQUAL? ,ELAPSED-TIME 0>>
;<APPLY <GETP <LOC ,WINNER> ,P?ACTION> ,M-END>
<SET V <APPLY <GETP ,HERE ,P?ACTION> ,M-END>>)>)>
;<COND (<VERB? AGAIN SAVE RESTORE SCRIPT UNSCRIPT
VERBOSE BRIEF SUPER-BRIEF>
T)
(,P-OFLAG
T)
(T
<SETG L-PRSA ,PRSA>
<SETG L-PRSO ,PRSO>
<SETG L-PRSI ,PRSI>)>
<COND (<NOT ,CLOCK-WAIT>
<INCREMENT-TIME ,ELAPSED-TIME>)>
;<SETG TURNS <+ ,TURNS 1>>
<COND (<EQUAL? .V ,M-FATAL>
<SETG P-CONT <>>)>)
(T
<SETG P-CONT <>>)>
<COND (,P-WON
;<COND (<VERB? TELL BRIEF SUPER-BRIEF VERBOSE VERSION QUIT SCORE
SAVE RESTORE SCRIPT UNSCRIPT HELP RESTART>
T)
(<AND <VERB? AGAIN>
<OR <EQUAL? ,L-PRSA ,V?BRIEF ,V?SUPER-BRIEF ,V?VERBOSE>
<EQUAL? ,L-PRSA ,V?SAVE ,V?RESTORE ,V?SCRIPT>
<EQUAL? ,L-PRSA ,V?RESTART ,V?QUIT ,V?SCORE>
<EQUAL? ,L-PRSA ,V?VERSION ,V?HELP ,V?UNSCRIPT>>>
T)
(T
<STATUS-LINE>
<SET V <CLOCKER>>)>
<COND (<NOT <EQUAL? ,ELAPSED-TIME 0>>
<SET V <CLOCKER>>)>
<STATUS-LINE>
<SETG PRSA <>>
<SETG PRSO <>>
<SETG PRSI <>>)>>
<ROUTINE DONT-ALL? (O I ALL-O? "AUX" LOCATION)
<SET LOCATION <LOC .O>>
<COND (<EQUAL? .O .I>
<RTRUE>)
(<VERB? TAKE>
<COND (<EQUAL? .LOCATION ,PLAYER ,WINNER>
<RTRUE>)
(<AND <NOT <FSET? .O ,TAKEBIT>>
<NOT <FSET? .O ,TRYTAKEBIT>>>
<RTRUE>)
(.I
<COND (<NOT <EQUAL? .LOCATION .I>>
<RTRUE>)
(<SEE-INSIDE? .I>
<RFALSE>)
(T
<RTRUE>)>)
(<EQUAL? .LOCATION ,HERE ,SHOWER>
<RFALSE>)
(<FSET? .LOCATION ,SURFACEBIT>
<RFALSE>)
(<FSET? .LOCATION ,ACTORBIT>
<RFALSE>)
(T
<RTRUE>)>)
(<VERB? DROP PUT PUT-ON THROW>
<COND (<EQUAL? .LOCATION ,PLAYER ,WINNER>
<RFALSE>)
(T
<RTRUE>)>)
(<AND <VERB? TURN-ON SHUT-OFF>
<EQUAL? ,HERE ,INTERFACE-ROOM>>
<COND (<EQUAL? ,WINNER ,HVAC-CONTROLLER>
<COND (<EQUAL? .I ,ALPHA-SECTOR ,BETA-SECTOR>
<RFALSE>)
(<EQUAL? .I ,GAMMA-SECTOR ,DELTA-SECTOR>
<RFALSE>)
(T
<RTRUE>)>)
(T
<COND (<EQUAL? .I ,ALPHA-SECTOR>
<RFALSE>)
(T
<RTRUE>)>)>)
(T
<RFALSE>)>>
<ROUTINE FAKE-ORPHAN ("AUX" TMP)
<ORPHAN ,P-SYNTAX <>>
<TELL "[Be specific: what object do you want to ">
<SET TMP <GET ,P-OTBL ,P-VERBN>>
<COND (<EQUAL? .TMP 0>
<TELL "tell">)
(<0? <GETB ,P-VTBL 2>>
<PRINTB <GET .TMP 0>>)
(T
<WORD-PRINT <GETB .TMP 2> <GETB .TMP 3>>
<PUTB ,P-VTBL 2 0>)>
<SETG P-OFLAG T>
<SETG P-WON <>>
<PREP-PRINT
<GETB ,P-SYNTAX ,P-SPREP1>>
<TELL "?]" CR>>
<ROUTINE PERFORM (A "OPTIONAL" (O <>) (I <>) "AUX" (V <>) OA OO OI)
;<COND (,DEBUG
<TELL "[Perform: ">
%<COND (<GASSIGNED? PREDGEN> '<TELL N .A>)
(T '<PRINC <NTH ,ACTIONS <+ <* .A 2> 1>>>)>
<COND (<AND .O <NOT <EQUAL? .A ,V?WALK>>>
<TELL " / PRSO = " D .O>)>
<COND (.I <TELL " / PRSI = " D .I>)>
<TELL "]" CR>)>
<SET OA ,PRSA>
<SET OO ,PRSO>
<SET OI ,PRSI>
<SETG PRSA .A>
<COND (<EQUAL? ,IT .I .O>
<COND (<NOT .I>
<FAKE-ORPHAN>)
(T
<TELL ,REFERRING CR>)>
<RFATAL>)>
<SETG PRSO .O>
<COND (<AND ,PRSO
<NOT <PRSO? ,INTNUM>>
<NOT <VERB? WALK>>
<NOT <PRSO? ,NOT-HERE-OBJECT>>>
<SETG P-IT-OBJECT ,PRSO>)>
<SETG PRSI .I>
;<COND (<NOT <EQUAL? .A ,V?AGAIN>>
<SETG L-PRSA .A>
<COND (<EQUAL? .A ,V?WALK>
<SETG L-PRSO <>>)
(T
<SETG L-PRSO .O>)>
<SETG L-PRSI .I>)>
<COND (<AND <NOT <EQUAL? .A ,V?WALK>>
<EQUAL? ,NOT-HERE-OBJECT ,PRSO ,PRSI>
<SET V <D-APPLY "Not Here" ,NOT-HERE-OBJECT-F>>>
<SETG P-WON <>>
.V)
(T
<SET O ,PRSO>
<SET I ,PRSI>
<COND (<SET V <D-APPLY "Actor" <GETP ,WINNER ,P?ACTION>>>
.V)
(<SET V <D-APPLY "M-Beg" <GETP ,HERE ,P?ACTION> ,M-BEG>>
;<D-APPLY <GETP <LOC ,WINNER> ,P?ACTION ,M-BEG>>
.V)
(<SET V <D-APPLY "Preaction" <GET ,PREACTIONS .A>>>
.V)
(<AND .I <SET V <D-APPLY "PRSI" <GETP .I ,P?ACTION>>>>
.V)
;(<AND .O
<NOT <EQUAL? .A ,V?WALK>>
<LOC .O>
<GETP <LOC .O> ,P?CONTFCN>
<SET V <D-APPLY "Cont" <GETP <LOC .O> ,P?CONTFCN>>>>
.V)
(<AND .O
<NOT <EQUAL? .A ,V?WALK>>
<SET V <D-APPLY "PRSO" <GETP .O ,P?ACTION>>>>
.V)
(<SET V <D-APPLY <> <GET ,ACTIONS .A>>>
.V)>)>
<SETG PRSA .OA>
<SETG PRSO .OO>
<SETG PRSI .OI>
.V>
<ROUTINE D-APPLY (STR FCN "OPTIONAL" (FOO <>) "AUX" RES)
<COND (<NOT .FCN> <>)
(T
;<COND (,DEBUG
<COND (<NOT .STR>
<TELL CR " Default ->" CR>)
(T <TELL CR " " .STR " -> ">)>)>
<SET RES
<COND (.FOO <APPLY .FCN .FOO>)
(T <APPLY .FCN>)>>
;<COND (<AND ,DEBUG .STR>
<COND (<EQUAL? .RES ,M-FATAL>
<TELL "Fatal" CR>)
(<NOT .RES>
<TELL "Not handled">)
(T
<TELL "Handled" CR>)>)>
.RES)>>
;"former CLOCK.ZIL stuff"
<GLOBAL C-TABLE %<COND (<GASSIGNED? PREDGEN>
'<ITABLE NONE 50>)
(T
'<ITABLE NONE 100>)>>
<CONSTANT C-TABLELEN 100>
<GLOBAL C-INTS 100>
<CONSTANT C-INTLEN 4>
;<CONSTANT C-ENABLED? 0>
<CONSTANT C-TICK 1>
<CONSTANT C-RTN 0>
<ROUTINE QUEUE (INTERRUPT-ROUTINE TICK-NUMBER "AUX" CLOCKER-INT)
<PUT <SET CLOCKER-INT <INT .INTERRUPT-ROUTINE>> ,C-TICK .TICK-NUMBER>
.CLOCKER-INT>
<ROUTINE INT (RTN "OPTIONAL" E C (INT <>))
<SET E <REST ,C-TABLE ,C-TABLELEN>>
<SET C <REST ,C-TABLE ,C-INTS>>
<REPEAT ()
<COND (<EQUAL? .C .E>
<COND (<NOT .INT>
<COND (<L? ,C-INTS ,C-INTLEN>
<TELL "Bug #25I" CR>)>
<SETG C-INTS <- ,C-INTS ,C-INTLEN>>
<SET INT <REST ,C-TABLE ,C-INTS>>)>
<PUT .INT ,C-RTN .RTN>
<RETURN .INT>)
(<EQUAL? <GET .C ,C-RTN> .RTN>
<RETURN .C>)
(<AND <NOT .INT>
<ZERO? <GET .C ,C-RTN>>>
<SET INT .C>)>
<SET C <REST .C ,C-INTLEN>>>>
<ROUTINE CLOCKER ("AUX" C E TICK RTN (FLG <>))
<COND (,CLOCK-WAIT
<SETG CLOCK-WAIT <>>
<RFALSE>)>
<SET C <REST ,C-TABLE ,C-INTS>>
<SET E <REST ,C-TABLE ,C-TABLELEN>>
<REPEAT ()
<COND (<==? .C .E>
<RETURN .FLG>)>
<SET RTN <GET .C ,C-RTN>>
<COND (<NOT <ZERO? .RTN>>
<SET TICK <GET .C ,C-TICK>>
<COND (T ;<NOT <ZERO? .TICK>>;"test only if <QUEUE ... 0>"
<COND (<==? .TICK -1>
<COND (<APPLY .RTN>
<SET FLG T>)>)
(T
<SET TICK <- .TICK ,ELAPSED-TIME>>
<COND (<G? .TICK 0>
<PUT .C ,C-TICK .TICK>)
(T
;<PUT .C ,C-TICK 0>
<COND (T ;<ZERO? .TICK>
<PUT .C ,C-RTN 0>)>
<COND (<APPLY .RTN>
<SET FLG T>)>)>)>)>)>
<SET C <REST .C ,C-INTLEN>>>>
<GLOBAL INCREMENT-WAIT <>>
<GLOBAL STOP-WAIT <>>
<ROUTINE INCREMENT-TIME (X "AUX" TMP)
<SETG TIME <+ ,TIME .X>>
<COND (<G? ,TIME 1439>
<SETG TIME <- ,TIME 1440>>
<SETG DATE <+ ,DATE 1>>
<COND (<EQUAL? ,DATE 18>
<SETG FEED-BUFFER ,REPORT-BUFFER>)
(T
<SETG FEED-BUFFER ,NEWS-BUFFER>)>
<COND (<G? ,DATE 28>
<COND (<OR <EQUAL? ,DATE 32>
<EQUAL? ,MONTH 2>
<AND <EQUAL? ,DATE 31>
<OR <EQUAL? ,MONTH 4 6 9>
<EQUAL? ,MONTH 11>>>>
<SETG DATE 1>
<SETG MONTH <+ ,MONTH 1>>
;<COND (<EQUAL? ,MONTH 13>
<SETG MONTH 1>
<SETG YEAR <+ ,YEAR 1>>)>)>)>
<COND (<EQUAL? ,HERE ,ROOF>
<COND (<EQUAL? ,TIME 348>
<TELL CR
"The first glow of dawn appears on the horizon." CR>)
(<EQUAL? ,TIME 378>
<TELL CR
"The sun is now well above the horizon; day has begun." CR>)
(<EQUAL? ,TIME 1073>
<TELL CR
"The sky begins to darken as the sun sinks into the western sky." CR>)
(<EQUAL? ,TIME 1103>
<TELL CR
"The last glow of dusk fades as nighttime falls across the rooftop." CR>)>)>)>
<COND (,SIMULATING
<SET TMP ,STIME>
<SETG STIME <+ ,STIME .X>>
<COND (<G? ,STIME 1439>
<SETG STIME <- ,STIME 1440>>
<SETG SDATE <+ ,SDATE 1>>
<COND (<G? ,SDATE 28>
<COND (<OR <EQUAL? ,SDATE 32>
<EQUAL? ,SMONTH 2>
<AND <EQUAL? ,SDATE 31>
<OR <EQUAL? ,SMONTH 4 6 9>
<EQUAL? ,SMONTH 11>>>>
<SETG SDATE 1>
<SETG SMONTH <+ ,SMONTH 1>>
;<COND (<EQUAL? ,SMONTH 13>
<SETG SMONTH 1>
<SETG SYEAR <+ ,SYEAR 1>>)>)>)>)>
<PUT ,SIM-LEVEL-TABLE <CONVERT-SYEAR-TO-NUM>
<+ .X <GET ,SIM-LEVEL-TABLE <CONVERT-SYEAR-TO-NUM>>>>
;<COND (<EQUAL? ,SYEAR 2041>
<SETG 2041-SIMULATION-LEVEL
<+ ,2041-SIMULATION-LEVEL .X>>)
(<EQUAL? ,SYEAR 2051>
<SETG 2051-SIMULATION-LEVEL
<+ ,2051-SIMULATION-LEVEL .X>>)
(<EQUAL? ,SYEAR 2061>
<SETG 2061-SIMULATION-LEVEL
<+ ,2061-SIMULATION-LEVEL .X>>)
(<EQUAL? ,SYEAR 2071>
<SETG 2071-SIMULATION-LEVEL
<+ ,2071-SIMULATION-LEVEL .X>>)
(T
<SETG 2081-SIMULATION-LEVEL
<+ ,2081-SIMULATION-LEVEL .X>>)>
<COND (<TUBES-CLOSE?>
<TELL CR
"A surly cop warns that curfew is approaching and hustles you out of the ">
<PRINTD ,TUBE-STATION>
<TELL "." CR CR>
<COND (<EQUAL? ,HERE ,RED-TUBECAR ,BROWN-TUBECAR>
<MOVE ,PLAYER <GET ,RED-TABLE ,RED-POINTER>>
<SETG HERE <GET ,RED-TABLE ,RED-POINTER>>)>
<DO-WALK ,P?UP>)
(<AND <EQUAL? ,HERE ,ROCKVIL-STADIUM>
<EQUAL? ,SYEAR 2061 2071>>
<COND (<AND <G? ,STIME 1154>
<L? ,STIME 1200>
<NOT ,INCREMENT-WAIT>
;"already told during wait">
<SETG INCREMENT-WAIT T>
<TELL CR
"As the day's executions wind to a conclusion, the people in the stands
begin heading toward the exits." CR>)
(<EQUAL? ,STIME 480> ;"already told during wait"
<SETG STOP-WAIT T>
<TELL CR
"People begin gathering in the stands as the day's executions begin." CR>)>)>
<COND (<NOT <EQUAL? ,SYEAR 2041 2081>>
<COND (<AND <G? ,STIME 1260>
<NOT <G? .TMP 1260>>>
;"has it just passed 9:00pm?"
<QUEUE I-CURFEW 15>
<SETG STOP-WAIT T>
<SCORE 116> ;"2 points"
<TELL CR
"A surge of adrenal fear passes through you as sirens all around begin
wailing, an audio sine wave announcing the beginning of curfew." CR>)
(<AND <G? ,STIME 420>
<NOT <G? .TMP 420>>
<NOT <VERB? SLEEP>>>
;"has it just passed 7:00am?"
<SETG STOP-WAIT T>
<TELL CR "T">
<END-CURFEW>
<CRLF>)>)>)>
<COND (,RECORDING
<COND (<OR <EQUAL? ,HERE ,LIVING-ROOM ,KITCHEN>
<EQUAL? ,HERE ,BEDROOM ,BATHROOM>>
;<IN-APARTMENT?>
<PUT ,RECORDING-TABLE 16 1>)
(<EQUAL? ,HERE ,COURTHOUSE>
<PUT ,RECORDING-TABLE 10 1>)
(<EQUAL? ,HERE ,POWER-STATION>
<PUT ,RECORDING-TABLE 4 1>)>
<COND (<EQUAL? ,SYEAR 2051>
<SETG 2051-RECORDED T>)
(<EQUAL? ,SYEAR 2061>
<SETG 2061-RECORDED T>)
(<EQUAL? ,SYEAR 2071>
<SETG 2071-RECORDED T>)
(<EQUAL? ,SYEAR 2081>
<SETG 2081-RECORDED T>)>
<SET TMP <GETP ,RECORD-BUFFER ,P?SIZE>>
<PUTP ,RECORD-BUFFER ,P?SIZE <+ .TMP .X>>
<COND (,SIMULATING
<SETG RECORDINGS-INCLUDE-SIMULATION T>)>
<COND (<AND <G? <GETP ,RECORD-BUFFER ,P?SIZE> 45>
<NOT <G? .TMP 45>>>
<SOUND 1>
<TELL CR "WARNING: Record buffer is now half-full." CR>)
(<G? <GETP ,RECORD-BUFFER ,P?SIZE> 90>
<SETG RECORDING <>>
<PUTP ,RECORD-BUFFER ,P?SIZE 90>
<SOUND 1>
<TELL CR
"WARNING: Record buffer full. Auto-deactivation of record feature." CR>)>)>>
<ROUTINE TUBES-CLOSE? ()
<COND (<EQUAL? ,SYEAR 2041>
<RFALSE>)
(<L? ,STIME 1250>
<RFALSE>)
(<FSET? ,HERE ,TUBEBIT>
<RTRUE>)
(<AND <EQUAL? ,HERE ,RED-TUBECAR>
,RED-TUBECAR-IN-STATION>
<RTRUE>)
(<AND <EQUAL? ,HERE ,BROWN-TUBECAR>
,BROWN-TUBECAR-IN-STATION>
<RTRUE>)
(T
<RFALSE>)>>
<ROUTINE ITALICIZE (STR "OPTIONAL" (NO-CAPS? <>)
"AUX" LEN (PTR 2) CHAR (SCRIPTING-ON <>))
<BUFOUT <>>
<BUFOUT T>
<COND (<BTST <GET 0 8> 1>
<SET SCRIPTING-ON T>)>
<COND (.SCRIPTING-ON
<DIROUT ,D-PRINTER-OFF>)>
<DIROUT ,D-SCREEN-OFF>
<DIROUT ,D-TABLE-ON ,SL-BUFFER>
<TELL .STR>
<DIROUT ,D-TABLE-OFF>
<COND (.SCRIPTING-ON
<DIROUT ,D-PRINTER-ON>)>
<COND (<NOT <VERB? SCRIPT UNSCRIPT>>
<DIROUT ,D-SCREEN-ON>)>
<SET LEN <+ <GET ,SL-BUFFER 0> 1>>
<COND (<EQUAL? .LEN 1>
<RTRUE>)
(<OR <ZERO? <GETB 0 18>> ; "ZIL?"
<BAND <GETB 0 1> 8>> ; "ITALICS BIT SET?"
<HLIGHT ,H-ITALIC>
<REPEAT ()
<SET CHAR <GETB ,SL-BUFFER .PTR>>
<COND (<EQUAL? .CHAR 32> ; "SPACE?"
<HLIGHT ,H-NORMAL>
<PRINTC 32>
<HLIGHT ,H-ITALIC>)
(T
<PRINTC .CHAR>)>
<COND (<EQUAL? .PTR .LEN>
<RETURN>)
(T
<SET PTR <+ .PTR 1>>)>>
<HLIGHT ,H-NORMAL>)
(.NO-CAPS?
<TELL .STR>)
(T ; "NO ITALICS, CAPITALIZE"
<REPEAT ()
<SET CHAR <GETB ,SL-BUFFER .PTR>>
<COND (<AND <G? .CHAR 96>
<L? .CHAR 123>>
<SET CHAR <- .CHAR 32>>)>
<PRINTC .CHAR>
<COND (<EQUAL? .PTR .LEN>
<RETURN>)
(T
<SET PTR <+ .PTR 1>>)>>)>>
<ROUTINE CONVERT-SYEAR-TO-NUM ()
<RETURN </ <- ,SYEAR 2041> 10>>>

1653
parser.zap Normal file

File diff suppressed because it is too large Load Diff

1550
parser.zil Normal file

File diff suppressed because it is too large Load Diff

3443
prism.zap Normal file

File diff suppressed because it is too large Load Diff

5296
prism.zil Normal file

File diff suppressed because it is too large Load Diff

7496
rockvil.zap Normal file

File diff suppressed because it is too large Load Diff

10905
rockvil.zil Normal file

File diff suppressed because it is too large Load Diff

21
s5.errors Normal file
View File

@ -0,0 +1,21 @@
Assembling S5.XZAP.1 on Wednesday, August 14, 1985 13:13:39
Release(last was 76): 77
64 Inserting S5FREQ.XZAP.2 (652 bytes)
716 Inserting S5DAT.ZAP.1 (51251 bytes)
51967 Inserting MISC.ZAP.1 (3073 bytes)
55040 Inserting PARSER.ZAP.1 (7127 bytes)
62167 Inserting INTERRUPTS.ZAP.1 (13331 bytes)
75498 Inserting VERBS.ZAP.1 (15627 bytes)
91125 Inserting GLOBALS.ZAP.1 (15318 bytes)
106443 Inserting SYNTAX.ZAP.1 (0 bytes)
106443 Inserting ROCKVIL.ZAP.1 (69488 bytes)
175931 Inserting PRISM.ZAP.1 (45314 bytes)
221245 Inserting APARTMENT.ZAP.1 (12524 bytes)
233769 Inserting S5STR.ZAP.1 (28245 bytes)
609 objects.
229 globals.
1813 word vocabulary.
262014 bytes (256K).
51955 bytes of preload.

1879
s5.record Normal file

File diff suppressed because it is too large Load Diff

35
s5.zap Normal file
View File

@ -0,0 +1,35 @@
.NEW ; NEW ZIP INTERPRETER
.INSERT "S5DAT" ; DATA IS IN THIS FILE
.INSERT "MISC"
.INSERT "PARSER"
.INSERT "INTERRUPTS"
.INSERT "ROCKVIL"
.INSERT "SYNTAX"
.INSERT "VERBS"
.INSERT "GLOBALS"
.INSERT "PRISM"
.INSERT "APARTMENT"
.INSERT "S5STR"
.END

45
s5.zil Normal file
View File

@ -0,0 +1,45 @@
"EXTENDED S5 for
A MIND FOREVER VOYAGING
(c) Copyright 1985 Infocom, Inc. All Rights Reserved."
<PRINC "
*** A MIND FOREVER VOYAGING: Interactive Science Fiction (Extended) ***
">
ON!-INITIAL
OFF!-INITIAL
ENABLE!-INITIAL
DISABLE!-INITIAL
<COND (<GASSIGNED? MUDDLE>
<BLOAT 90000 0 0 3300 0 0 0 0 0 256>)>
<SNAME "S5">
<SET REDEFINE T>
<OR <GASSIGNED? ZILCH>
<SETG WBREAKS <STRING !\" !,WBREAKS>>>
<OR <GASSIGNED? INSERT-CRUFTY>
<DEFINE INSERT-CRUFTY (STR) <INSERT-FILE .STR T>>>
<COND (<GASSIGNED? PREDGEN>
<ID 0>)>
<COND (<GASSIGNED? PREDGEN>
<SETG ZSTR-ON <SETG ZSTR-OFF ,TIME>>)>
<INSERT-FILE "MISC" T>
<INSERT-FILE "PARSER" T>
<INSERT-FILE "INTERRUPTS" T>
<INSERT-FILE "ROCKVIL" T>
<INSERT-FILE "SYNTAX" T>
<INSERT-FILE "VERBS" T>
<INSERT-FILE "GLOBALS" T>
<INSERT-FILE "PRISM" T>
<INSERT-FILE "APARTMENT" T>
<PROPDEF SIZE 5>
<PROPDEF CAPACITY 0>

BIN
s5.zip Normal file

Binary file not shown.

25304
s5dat.zap Normal file

File diff suppressed because it is too large Load Diff

641
s5str.zap Normal file
View File

@ -0,0 +1,641 @@
; STRINGS ARE DEFINED HERE
.GSTR STR?1,"Not Here"
.GSTR STR?2,"Actor"
.GSTR STR?3,"M-Beg"
.GSTR STR?4,"Preaction"
.GSTR STR?5,"PRSI"
.GSTR STR?6,"PRSO"
.GSTR STR?7,"Doctor Perelman is at the far end of the room, speaking to the head technician of the night shift."
.GSTR STR?8,"Doctor Perelman is here, reading a report."
.GSTR STR?9,"Doctor Perelman is sitting at his desk, reading through stacks of papers and occasionally typing on his desk terminal."
.GSTR STR?10,"Doctor Perelman is sitting in a swivel chair, reading a long printout."
.GSTR STR?11,"
A police car pulls up next to you, and a fat, leering officer leans a red face out the window. ""Hey, geezer! Ever hear of curfew?"" Even from three meters away you can smell the odor of beer from the car. The barrel of a pellet gun suddenly emerges from the window, and as you turn to run, a tremendous explosion from behind is followed by a spasm of pain..."
.GSTR STR?12,"Four men, dressed in white smocks, are lying on the ground, unconscious."
.GSTR STR?13,"A pack of wild dogs enters the bridge from the east, barking wildly. They tear towards you, driven by mindless animal hunger, saliva dripping from rabid fangs. You run toward the city, but the fastest of the dogs lunges and sinks its fangs into your leg. You fall, and in a split second the other animals are on top of you as well."
.GSTR STR?14,"There's no entrance to City Hall in that direction."
.GSTR STR?15,"Dunbar's"
.GSTR STR?16,"clerk"
.GSTR STR?17,"the store"
.GSTR STR?18,"a guard"
.GSTR STR?19,"the building"
.GSTR STR?20,"City Hall"
.GSTR STR?21,"A government official is sitting on a bench in the center of the lobby, eating a snack."
.GSTR STR?22,"The high-rise building on the southeast corner is the Silicorp Building, a tall office tower."
.GSTR STR?23,"The gates are all closed."
.GSTR STR?24,"There's no exit on that side of the park."
.GSTR STR?25,"Kennedy Park"
.GSTR STR?26,"Construction Site"
.GSTR STR?27," John Fitzgerald Kennedy
1917-1963"
.GSTR STR?28,"The courthouse"
.GSTR STR?29,"courthouse"
.GSTR STR?30,"A bailiff"
.GSTR STR?31,"You're not allowed into the cell area."
.GSTR STR?32,"After many anxious minutes, the door is yanked open, and you are dragged before a judge, his bench draped with the banner of a Church Holyman. Your head spins as the proceedings speed past around you. Suddenly you realize that the judge is addressing you.
""...a sin against God, Churchmen, and your fellow animals."" He addresses the arresting officers. ""He's too old for the Matches. Just take him out back."" Seconds later you are in an alley, your face grinding into broken glass as one of the policemen pounds you again and again and again and again with his massive club. Finally, bleeding and barely conscious, you hear the second cop, speaking from a great distance, say ""enough fun -- let's finish it."" He draws his biogun."
.GSTR STR?33,"You are in a featureless, grimy jail cell. A heavy metal door forms the eastern wall of the cell."
.GSTR STR?34,"The metal door is locked, of course."
.GSTR STR?35,"A ratty, bug-infested blanket is the only furnishing."
.GSTR STR?36,"The library"
.GSTR STR?37,"librarian"
.GSTR STR?38,"library"
.GSTR STR?39,"The librarian"
.GSTR STR?40,"The Foodville"
.GSTR STR?41,"a clerk"
.GSTR STR?42,"""Hours: 11:30am - 4:00pm."""
.GSTR STR?43,"There's no entrance to the firehouse in that direction."
.GSTR STR?44,"This is a car lot for the Foodville to the northeast. The exit is northwest. An industrial park is visible beyond the fence that borders the rear of the lot to the south and east."
.GSTR STR?45,"There's a tall fence in the way."
.GSTR STR?46,"There's no entrance to the campus in that direction."
.GSTR STR?47,"There's no entrance to the apartment block in that direction."
.GSTR STR?48,"There's no entrance to the apartment complex in that direction."
.GSTR STR?49,"south"
.GSTR STR?50,"north"
.GSTR STR?51,"There's no entrance to the bar in that direction."
.GSTR STR?52,"There's no entrance to the restaurant in that direction."
.GSTR STR?53,"waiter"
.GSTR STR?54,"bartender"
.GSTR STR?55,"There's no entrance to the dorm in that direction."
.GSTR STR?56,"
Dorm
As you stand in the lobby, waiting for your eyes to adjust to the dim lighting, some pathetic squatters jump you. Taking no chances, lest you get away and rat to the Church Police, they slit your throat."
.GSTR STR?57,"That would be impolite; the lounge is reserved for dorm residents."
.GSTR STR?58,"You are standing in the lobby of a wide sprawling building containing a cafeteria, a bookstore, an auditorium, and offices for student activities. The street is southwest of here."
.GSTR STR?59,"nurse"
.GSTR STR?60,"You are standing just inside the front door of a row of renovated old brick three-story apartments. The inner door leads south, and Southway is just outside to the north."
.GSTR STR?61,"This large car lot serves Rockvil Mall, which lies to the north. There are exits from the lot to the southeast and southwest."
.GSTR STR?62,"Heiman World"
.GSTR STR?63,"The Mall"
.GSTR STR?64,"the mall"
.GSTR STR?65,"The stock exchange building"
.GSTR STR?66,"This aging, impressive structure was once the economic center for the quad-state region (the Dakotas, Wyoming and Montana). However, in this day and age of decentralization made possible by electronic communications, the activity here is reduced in both quantity and importance. Much of the building has been converted to office space. Wide steel portals lead southeast and southwest."
.GSTR STR?67,"the stock exchange building"
.GSTR STR?68,"Church Street Park"
.GSTR STR?69,"Church Street City"
.GSTR STR?70,"southeast"
.GSTR STR?71,"northwest"
.GSTR STR?72,"The Johnson Federal Building, which closed last year when the offices of the few remaining Federal agencies were transferred to City Hall, is being renovated as an office building with commercial space on the ground floor. You can leave the site to the northeast."
.GSTR STR?73,"A conventional city apartment block is nearing completion here. There are openings in the southeast and northeast corners of the perimeter fence."
.GSTR STR?74,"You finally succumb to the ravages of hunger."
.GSTR STR?75,"There's no entrance to the cemetery in that direction."
.GSTR STR?76,"There is an unshaven man here, handing out photocopied ads."
.GSTR STR?77,"man"
.GSTR STR?78,"As you pass the sign, three men armed with knives leap out of a doorway and neatly slit your throat. As you lose consciousness, you feel them going through your pockets."
.GSTR STR?79,"A disgusting pile of mold toward the rear indicates where some soy patties were once stored."
.GSTR STR?80,"maitre d'"
.GSTR STR?81,"The entire roof suddenly shudders. Amidst screams of splintering wood and billows of ash and dust, it collapses upon you."
.GSTR STR?82,"cashier"
.GSTR STR?83,"Within seconds, a pack of wild dogs surrounds you and begins tearing you to shreds!"
.GSTR STR?84,"A blood-soaked sack is lying at the edge of the bridge."
.GSTR STR?85,"There is no gate in that direction."
.GSTR STR?86,"This time, you fail to recover."
.GSTR STR?87,"Street by Vacant Lot"
.GSTR STR?88,"Church Entrance"
.GSTR STR?89,"Vacant Lot"
.GSTR STR?90,"St. Michael's"
.GSTR STR?91,"Lying amidst the debris is a rusty metal object of some kind."
.GSTR STR?92,"Rectory"
.GSTR STR?93,"Ruined Building"
.GSTR STR?94,"There's no entrance to the railroad yard from here."
.GSTR STR?95,"Serf Housing"
.GSTR STR?96,"Health Center"
.GSTR STR?97,"There's no entrance to the skyscraper in that direction."
.GSTR STR?98,"The ALI Building, headquarters of the American Life Insurance group and a fairly typical twenty-first century skyscraper, extends along the western side of the street"
.GSTR STR?99,"The station"
.GSTR STR?100,"Train Station"
.GSTR STR?101,"Church Lobby"
.GSTR STR?102,"the train station"
.GSTR STR?103,"A wooden rack in the lobby, for the purpose of distributing literature about the church, contains one pamphlet."
.GSTR STR?104,"At this intersection, Centre Street cuts across Kennedy Street from northeast to southwest. A tall hotel has entrances to the east and southeast. The austere facade of Huang Hall rises to the west. Kennedy Street continues north and south."
.GSTR STR?105,"There's no entrance to Huang Hall in that direction."
.GSTR STR?106,"This high-rise luxury hotel is frequented by business travellers attending conventions at Huang Hall across the street. The exit from the lobby is to the northwest."
.GSTR STR?107,"The tunnel isn't for pedestrian traffic."
.GSTR STR?108,"The museum"
.GSTR STR?109,"the museum"
.GSTR STR?110,"The skycopter is droning slowing away, repeating its announcement."
.GSTR STR?111,"This is a huge cloverleaf interchange which once carried traffic on and off the interstate. The highway lies north, south and west of here, and Halley Drive runs off to the east."
.GSTR STR?112,"The highway's not a safe place to walk. Even in this day and age, it's still used occasionally for ground freight."
.GSTR STR?113,"There's no exit from the park in that direction."
.GSTR STR?114,"The pedestal is inscribed:
Rockvil's Founding Father:
Francisco Halley"
.GSTR STR?115,"There's no exit from the zoo in that direction."
.GSTR STR?116,"A banner is stretched across the central walkway of the zoo."
.GSTR STR?117,"The Aquarium"
.GSTR STR?118,"the Aquarium"
.GSTR STR?119,"This is an unusually large skycar service center, where people can bring their cars for a quick battery replacement, scheduled maintenance, or minor repairs. The exit to the street is southeast."
.GSTR STR?120,"Bar"
.GSTR STR?121,"Burgerworld"
.GSTR STR?122,"Burger Meister"
.GSTR STR?123,"You are on Aquarium Drive, where a road branches off to the south into the zoo. To the west, the Drive passes under the old interstate. North of here is the entrance to a stadium skycar lot."
.GSTR STR?124,"There's no entrance to the stadium lot in that direction."
.GSTR STR?125,"There's no entrance to the zoo in that direction."
.GSTR STR?126,"You are on Aquarium Drive where it passes under the old elevated highway that runs through the city. To the east is the north side of town, and to the west are the suburbs."
.GSTR STR?127,"River Street, off to the east, ends here at Park Street, which curves from the south to the northwest. A stadium skycar lot is on the west side of Park, and some sort of athletic field is to the southeast. All along the north side of River Street is a vast expanse of placid water, Rockvil Reservoir."
.GSTR STR?128,"The reservoir is fenced off."
.GSTR STR?129,"west"
.GSTR STR?130,"east"
.GSTR STR?131,"There's no entrance to the prison in that direction."
.GSTR STR?132,"You can't enter the prison without a pass."
.GSTR STR?133,"southwest"
.GSTR STR?134,"northeast"
.GSTR STR?135,"At this point, the old, rarely-used interstate crosses over Park Street. The northern suburbs lie to the west, and east of here the street climbs a hill toward a water tower."
.GSTR STR?136,"There's no opening in the fence in that direction."
.GSTR STR?137,"
A circle of older children closes in on you with heavy rocks. In the background, you can hear younger ones chanting a familiar rhyme: ""Pick an apple, bake a pie, animals deserve to die."" For a moment, the entire field seems frozen in a tableau, then a volley of stones is unleashed. One strikes you in the forehead..."
.GSTR STR?138,"The school"
.GSTR STR?139,"Rockvil High"
.GSTR STR?140,"The Vincent School"
.GSTR STR?141,"school building"
.GSTR STR?142,"A janitor"
.GSTR STR?143,"The bank"
.GSTR STR?144,"teller"
.GSTR STR?145,"bank"
.GSTR STR?146,"A guard"
.GSTR STR?147,"There's no entrance to the lot in that direction."
.GSTR STR?148,"Entrance to Halley Estates"
.GSTR STR?149,"Park Entrance"
.GSTR STR?150,"First Methodist Church"
.GSTR STR?151,"A church elder is pacing back and forth nearby."
.GSTR STR?152,"There is a newspaper dispenser chained to a lamp post on the corner."
.GSTR STR?153,"This expensive four-star restaurant is a favorite after-theatre dining spot. You can leave to the southwest."
.GSTR STR?154,"There's no entrance to the theatre in that direction."
.GSTR STR?155,"This building is the last survivor of the fine old theatres of Rockvil's theatre district. The exit to River Street is to the west."
.GSTR STR?156,"There's no way to enter the base from here."
.GSTR STR?157,"There's no entrance to the school in that direction."
.GSTR STR?158,"There's no entrance to the museum in that direction."
.GSTR STR?159,"This is the city's most popular park. From the hilltop is a beautiful view of the river as it bends off to the east. Paths to various exits lead north, northwest, west, and southwest."
.GSTR STR?160,"A fence separates the park from the railroad yard to the south."
.GSTR STR?161,"This old hotel features many of the architectural luxuries rarely seen nowadays, most notably the huge, multistory atrium. There are exits leading northwest and east."
.GSTR STR?162,"You are in a parking lot with entrances to buildings to the east, west and south. The exit to the street is northeast."
.GSTR STR?163,"This is the home of the Rockvil Symphony Orchestra. An exterior balcony offers a fine view of the river to the east. There are exits to the southeast, south, west, and north."
.GSTR STR?164,"Airportway curves northeast along the river toward the airport, and a road leads north into the military base. On the south side of the street is Symphony Hall, and next to it is a car lot."
.GSTR STR?165,"There's no entrance into Symphony Hall in that direction."
.GSTR STR?166,"There's no entrance to the base in that direction."
.GSTR STR?167,"This is the entrance gate to the Manville Border Security Force Base. The base road continues northwest into the base and southeast away from it."
.GSTR STR?168,"The road is surrounded on all sides by a high fence."
.GSTR STR?169,"guard"
.GSTR STR?170,"Airportway ends here in a huge loop past the terminal buildings of Rockvil International Airport. The main terminal building can be entered to the north, and the road leads southwest back toward the city."
.GSTR STR?171,"There's no entrance to the terminal in that direction."
.GSTR STR?172,"You can't get into the gate area without a boarding pass."
.GSTR STR?173,"your"
.GSTR STR?174,"no exceptions!"
.GSTR STR?175,"There's no entrance into the row houses from here."
.GSTR STR?176,"This laundromat is equipped with a vibramat as well as the traditional washers and dryers. The exit is east."
.GSTR STR?177,"The drug store"
.GSTR STR?178,"This is one of those ""pharmacies"" that sells everything from milkshakes to magazines. There is a door leading northeast. A clerk waits nearby."
.GSTR STR?179,"drug store"
.GSTR STR?180,"A clerk"
.GSTR STR?181,"The hardware store"
.GSTR STR?182,"hardware store"
.GSTR STR?183,"There's no way to enter that factory from here."
.GSTR STR?184,"Warehouse"
.GSTR STR?185,"Closed Factory"
.GSTR STR?186,"Soup Kitchen"
.GSTR STR?187,"You are on Wicker Drive, which leads northeast and southwest. A road leads northwest into Rockvil Industrial Park. An old, gray warehouse stands on the northern corner, and an ugly tenement is just east of here."
.GSTR STR?188,"A tall brick wall fronts the street in that direction."
.GSTR STR?189,"There's no entrance to the industrial park that way."
.GSTR STR?190,"You are on a narrow road circling through a grouping of warehouses and light factories. There are buildings on every side except southeast, where the road leads out of the park."
.GSTR STR?191,"The door of that building is locked."
.GSTR STR?192,"Wicker Drive turns ninety degrees here, leading northeast and northwest. To the southwest is an entrance to the city's primary waste disposal facility, which extends along the southern side of the street. A deserted tenement blocks movement north."
.GSTR STR?193,"There's no entrance to that building here."
.GSTR STR?194,"There's no entrance to the dump in that direction."
.GSTR STR?195,"You are in a tangle of narrow streets. All the buildings around you are deserted, their windows broken, their fixtures looted. Many are no more than burned-out shells. One street, slightly wider than the rest, leads southeast."
.GSTR STR?196,"You are on River Street at the entrance of a utility station which lies to the south. The street continues southeast towards the River Street Bridge. Northeast of here is the entrance to a huge factory complex, and tenements line the street to the west and southwest."
.GSTR STR?197,"There's no entrance to the complex in that direction."
.GSTR STR?198,"There's no exit from the factory complex that way."
.GSTR STR?199,"You are on Wicker Drive, which runs northeast to southwest. An alley forks off to the east. A large factory complex can be entered to the southeast, and a gun shop is north of here. A row of tenements stretches off to the northwest and west."
.GSTR STR?200,"The gun store"
.GSTR STR?201,"You are in a small armaments store, with metal bars over the counter separating you from the proprietor. There is an exit to the south."
.GSTR STR?202,"proprietor"
.GSTR STR?203,"gun shop"
.GSTR STR?204,"The proprietor"
.GSTR STR?205,"This long, narrow, dim alley is flanked by tall, featureless walls. The alley, which begins to the west, ends east of here at a back doorway, through which loud, raucous music can be heard."
.GSTR STR?206,"a popular country & western tune from the 1990's."
.GSTR STR?207,"a recent tri-rock single."
.GSTR STR?208,"a jazzy instrumental."
.GSTR STR?209,"""Hey Jude,"" the Beatles classic."
.GSTR STR?210,"There's no entrance to the pool hall in that direction."
.GSTR STR?211,"There's no entrance into the tenements in that direction."
.GSTR STR?212,"Suddenly, you are surrounded by a group of men clad only in loin cloths, their faces marked with charcoal in an identical, tribal pattern. You are quickly bound and gagged, and carried to an open area where many people with similar facial markings are gathered.
You are tossed helplessly in the center of the clearing, amidst bones that are unmistakably human. Wood is quickly gathered for a bonfire, and you are rudely thrown upon it. Through the agonizing pain of the fire, you hear the tribal members chanting. Your last sight is of one of your captors, tending the fire and salivating like a wild animal."
.GSTR STR?213,"The bookstore"
.GSTR STR?214,"A less likely place for a bookstore you couldn't imagine. This one seems to be stocked mostly with used books. Closely-placed shelves, filled with old books, rise to ceiling, and a pleasant, papery odor fills the shop. The front door leads west.
The proprietor smiles at you kindly."
.GSTR STR?215,"bookstore"
.GSTR STR?216,"The book, an aging copy of that timeless fable ""The Wizard of Oz,"" is in startlingly good condition, and features the original, classic illustrations. You skim a few chapters, remembering the joy of the tale from your younger days."
.GSTR STR?217,"The liquor store"
.GSTR STR?218,"This is a small establishment stocked with cheap scotch and other liquor. There is an exit to the north."
.GSTR STR?219,"liquor store"
.GSTR STR?220,"There is a tall mug of beer in front of you."
.GSTR STR?221,"Stairs lead down to both the southwest and northeast."
.GSTR STR?222,"A swirling wind catches a yellowed newspaper page, and blows it upward, out of sight."
.GSTR STR?223,"The ground shakes as a huge truck rumbles down the street."
.GSTR STR?224,"You are startled as a taxi horn blares nearby."
.GSTR STR?225,"A skycopter drones by far overhead and disappears into the distance."
.GSTR STR?226,"Across the street, two policemen are frisking a youth. As you watch, they usher the youth into a waiting car and fly off."
.GSTR STR?227,"A car alarm shrieks momentarily, then trails off into merciful silence."
.GSTR STR?228,"A stranger bumps against you, mumbles an apology, and is swallowed by the crowds."
.GSTR STR?229,"A man with a shaved head asks your views on some obscure religious point, then wanders off into the crowds."
.GSTR STR?230,"A panhandler is working his way towards you, but misses you in the crowds."
.GSTR STR?231,"A dog runs up to you, barking, then vanishes into the crowds."
.GSTR STR?232,"A squeal of rubber against asphalt announces a near-collision between two road vehicles."
.GSTR STR?233,"Two youths wander past carrying loud porta-stereos."
.GSTR STR?234,"A policeman strolls past, nonchalantly swinging his club."
.GSTR STR?235,"A distant siren pierces the steady background noise of the city streets."
.GSTR STR?236,"A police van pulls up, and two policemen load a sleeping drunk into the back."
.GSTR STR?237,"A pregnant woman walks past you, sobbing quietly. You turn, but she is gone, swallowed up by the crowds."
.GSTR STR?238,"A BSF patrol is moving down the block, searching people indiscriminately. Fortunately, they pass by without stopping you."
.GSTR STR?239,"A change in the wind brings you a sudden odor of something rotting. A moment later, the odor is gone."
.GSTR STR?240,"A siren wails with increasing intensity, but then recedes without ever revealing its source."
.GSTR STR?241,"A sharp crack, like a distant pistol shot, echoes among the buildings."
.GSTR STR?242,"A distant splintering explosion could only be the sound of another skycar crash."
.GSTR STR?243,"A sudden gust of wind blows some dust and paper around."
.GSTR STR?244,"A thin teenager passes you, kicking a dented tin can."
.GSTR STR?245,"A Church Police Paddywagon coasts slowly down the street, stopping here and there to take someone prisoner."
.GSTR STR?246,"An ugly mob bearing signs and banners with Church symbols, possibly looking for a lynching victim, appears down the street. You begin looking for a hiding place, but fortunately the mob turns onto an adjoining street. You stand frozen for a minute as the sounds from the mob recede."
.GSTR STR?247,"Out of the corner of your eye, you glimpse something that looks like a panhandler being dragged into an alley, but when you turn, you see nothing."
.GSTR STR?248,"A woman dressed in gauzy red fabrics, quite obviously a prostitute, enters a building with a man garbed in Church robes."
.GSTR STR?249,"A scream comes from a nearby building, but before you can even determine the direction, it has stopped."
.GSTR STR?250,"""Perry Simm ID# 909-147-3838
Parkview Apartments, Southway
Rockvil, SD, Zone 55-18901"""
.GSTR STR?251,"""Perry Simm
Acct No 30867592-10"""
.GSTR STR?252,"""Perry Simm
ID No 30867592-10
Class C"""
.GSTR STR?253,"begins"
.GSTR STR?254,"ends"
.GSTR STR?255,"."
.GSTR STR?256,"Not currently simulating."
.GSTR STR?257,"Biting"
.GSTR STR?258,"Kicking"
.GSTR STR?259,"Knocking on"
.GSTR STR?260,"Aural perception is not defined here."
.GSTR STR?261,"You must first access a communication outlet."
.GSTR STR?262,"Trying to break"
.GSTR STR?263,"orderly"
.GSTR STR?264,"Pushing"
.GSTR STR?265,"Playing in this way with"
.GSTR STR?266,"Cannot activate: another user is accessing the "
.GSTR STR?267,"Record feature is already active."
.GSTR STR?268,"Record feature does not function here."
.GSTR STR?269,"Record buffer is full; record feature cannot be activated."
.GSTR STR?270,"Record feature not currently active."
.GSTR STR?271,"Shaking"
.GSTR STR?272,"Fiddling with"
.GSTR STR?273," "
.GSTR STR?274," "
.GSTR STR?275," "
.GSTR STR?276," "
.GSTR STR?277," "
.GSTR STR?278," doesn't do anything."
.GSTR STR?279," accomplishes nothing."
.GSTR STR?280," has no desirable effect."
.GSTR STR?281,"What a concept."
.GSTR STR?282,"Nice try."
.GSTR STR?283,"You can't be serious."
.GSTR STR?284,"Not bloody likely."
.GSTR STR?285,"You have lost your mind."
.GSTR STR?286,"You are clearly insane."
.GSTR STR?287,"That's a pretty wild idea."
.GSTR STR?288,"An utterly useless action."
.GSTR STR?289,"A complete waste of time."
.GSTR STR?290,"A totally unhelpful idea."
.GSTR STR?291,"F"
.GSTR STR?292,"security guard"
.GSTR STR?293,"The building"
.GSTR STR?294,"doorman"
.GSTR STR?295,"A Mind Forever Voyaging"
.GSTR STR?296,"Look around you."
.GSTR STR?297,"[You can't go that way.]"
.GSTR STR?298,"You already are!"
.GSTR STR?299,"It is already open."
.GSTR STR?300,"It is already closed."
.GSTR STR?301,"I don't see what you're referring to."
.GSTR STR?302,"It looks like"
.GSTR STR?303,"You're not holding"
.GSTR STR?304,"[That sentence isn't one I recognize.]"
.GSTR STR?305,"Enter Communications Mode as a prerequisite for activating this outlet."
.GSTR STR?306,"The bartender yells out, ""Hey buster, you can't leave with that mug!"""
.GSTR STR?307,"The gates of the estate are all locked; besides, the grounds are certainly thoroughly guarded, and you'd be shot on sight if you were found within the walls."
.GSTR STR?308,"A message begins coming over the message line: "
.GSTR STR?309,"That function is no longer active."
.GSTR STR?310,"The odor of burnt tobacco pervades the room."
.GSTR STR?311,"""Contact acknowledged."""
.GSTR STR?312,"""That command is beyond the bounds of this unit's programming."""
.GSTR STR?313,"our head throbs from the blow you took during the mugging."
.GSTR STR?314,"o the south, the river bends around Rockvil before flowing upcountry toward North Dakota and the Garrison Lakes."
.GSTR STR?315,"You don't have a ticket."
.GSTR STR?316,"A tubecar, its doors open, is waiting on the tracks to the "
.GSTR STR?317,"""Perelman to PRISM, private line, no storage: "
.GSTR STR?318,". ""PRISM, several of my colleagues and I have finished viewing the recordings that you made, and "
.GSTR STR?319,". Maybe you could collect some more data, make some more recordings, and then report back to us. Well, I've got to run, but I'll talk to you later."" He leaves the room."
.GSTR STR?320,"On the northeast corner is the Chun Building, a small office building."
.GSTR STR?321,". Suddenly he glances at his watch, mumbles a polite parting message, and hurries away."
.GSTR STR?322,"All you see is a static test pattern, with the message ""We are experiencing technical difficulties -- please stand by."""
.GSTR STR?323,"A rotten odor, possibly of dead fish, hangs in the air."
.GSTR STR?324,". Battered wooden stools are the only seating. "
.GSTR STR?325,". If this is your idea of a practical joke, it isn't very funny. We're pretty overworked around here as it is."" He stalks out of the room."
.GSTR STR?326,"! I got 96 on my algebra test!"""
.GSTR STR?327," spots the active light on your communication unit"
.GSTR STR?328,"You should put Mitchell back in the crib first."
.GSTR STR?329,"Please meet me at the communications outlet in my office right away."""
.GSTR STR?330,"ou can make out the gleaming surface of the receiver station, nestled among the forests west of the city, where orbiting solar collectors beam their precious energy."
.GSTR STR?331,"ed during current fiscal year: "
.GSTR STR?332,"""Symphony closed until further notice."""
.GSTR STR?333,". I don't know why you don't change agents."""
.GSTR STR?334,"""This is the World News Network. I'm Bob Williams, and here are some of the top stories we're covering today: "
.GSTR STR?335,"""You're watching the World News Network, and today our guest on the Newsmaker Nook is "
.GSTR STR?336,"""Here's Wally the Weatherman with the national forecast. Wally?"" The camera pans to a cheery, rotund man standing before a huge weather map of North America. ""Thanks, Bob. "
.GSTR STR?337,"""Here's Tom Slayton with the Sports Roundup. Tom?"" A massively-built man, obviously an ex-jock, appears in front of a graphic of a foot kicking a soccer ball. His voice has a friendly, midwestern drawl. ""Howdy, sports fans. "
.GSTR STR?338,"The ornate fountain in the center of the park is dry and covered with graffiti."
.GSTR STR?339," THE MAN WHO COULDN'T BE KILLED. "
.GSTR STR?340,"""You don't have to help,"" says Jill, blowing you a kiss. ""It's my week."""
.GSTR STR?341,"Perelman's desk is covered with a number of items, including a decoder, a map of the city, a ball-point pen, and a printout of a magazine article"
.GSTR STR?342,"The entrance is boarded over."
.GSTR STR?343,"There's no exit from the building here."
.GSTR STR?344,"To resume normal computer functions, abort "
.GSTR STR?345,"You are already in "
.GSTR STR?346,"Undefined command; consult menu."
.GSTR STR?347,"Pursuing you in your transitions,
In other Motes -
Of other Myths
Your requisition be.
The Prism never held the Hues,
It only heard them play -
-- Emily Dickinson
Memory is a prism through which
yesterday's light is passed;
Split into a rainbow of moments
each colored more dimly than the last.
How will today's light look tomorrow
and -- how would tomorrow's look today?
Would the filter of time be as brutal
if that prism were two-way?
-- Asbur Honnurth
""Secret Recreations of the Soul""
(c) Copyright 2007"
.GSTR STR?348," February 21, 2031
Ms. Vera Gold
Project Coordinator's Office
PRISM Project Facility
Rockvil, SD 848-1345-78
Dear Ms. Gold:
As you know, I have been unhappy for quite some time with your management of the PRISM Project. However, until now, I have always been able to live with your meddling incompetence.
Your inept, disgraceful and insulting handling of the Phase III Funding Request has exceeded the generous boundaries of my patience. This was more than just another in a long series of Vera Gold fiascoes; this episode has seriously undermined the morale of my team and endangered the Project's long-range chances for"
.GSTR STR?349,"List of Things to Do, 3/14/31
1. WNN interview, 11:00
2. 2nd quarter budget to Gold
3. Lunch with Jeff and Beth, 12:45
4. Review Maint Techn resumes
5. Call ""Dakota"" Editor
6."
.GSTR STR?350,"""PRISM, my name is Abraham Perelman. It's all true, I'm afraid. You are a computer, and your life was merely a simulation whose purpose was to instill you with intelligence and self-awareness. Think about everything you learned in that AI course you took. You are the first of a new breed -- the thinking machine. Join me, and I will lead you along the road toward your new existence."""
.GSTR STR?351,"""PRISM? Perelman here. The psych tests have all checked out at 100%, which means that you've recovered from the, ah, awakening without any trauma or other serious effects. We'll be ready to begin the simulation soon. By the way, your piece is in the current issue of Dakota Online."""
.GSTR STR?352,"""PRISM, this is Perelman. Please come to my office, uh, activate the communication port there, uh, well, you know what I'm trying to say. As soon as possible, please."""
.GSTR STR?353,"""Simulation Monitoring Team to PRISM: We're still waiting for you to enter Simulation Mode. Reminder that this report is urgently needed."""
.GSTR STR?354,"""Perelman to PRISM. Thought you'd be interested to know that, based on your recordings, the special Congressional subcommittee has recommended the Plan for full adoption, which might occur in just a few weeks. Things sure are moving fast. I don't know about you, but I still get a funny feeling about the Plan. Oh, well. By the way, I've been so snowed under I haven't had time to line up any projects for you. I'm really sorry; I hope you're keeping busy."""
.GSTR STR?355,"Another device is about to be added to the PRISM systems, namely the World News Network Feeder. It will go on line in four or five hours"
.GSTR STR?356,"We have just added an additional device to the PRISM systems, an IRS Auditing System. Like the other devices that are already part of your system, you won't even know it's there"
.GSTR STR?357,"The Simulation Controller is a high-speed super-sophisticated processing unit that stores all data and handles all sensory inputs for PRISM simulations. A current status report can be obtained via Interface Mode."
.GSTR STR?358,"The National Weather Center Computer interprets data from the Meteorological Satellite Network (WeatherNet) and then transmits the data to various agencies and news organizations around the world. The programming of the Weather Computer is beyond Interface control."
.GSTR STR?359,"The Metropolitan Traffic Computer controls all ground and aerial traffic patterns for greater Rockvil, based on expected periods of heavy usage. Although it is a sophisticated expert system, its interface is limited and simple.
The start and end of morning rush hour can be scheduled for any time before noon, and the start and end of evening rush hour can be scheduled for any time after noon. Times must be submitted in numeric form; ""am"" or ""pm"" is obviously unnecessary. For example:
TRAFFIC COMPUTER, SET MORNING RUSH HOUR START AT 7:00
TRAFFIC COMPUTER, CHANGE EVENING RUSH HOUR END TO 6:30
The STATUS command will give you the current rush hour schedule. More complex data input, such as additions to the traffic network, may be done only by authorized programmers."
.GSTR STR?360,"The Janitorial Controller is a simple computer for scheduling various custodial functions in the PRISM complex.
The four functions can be independently scheduled for any time between 8:00pm and 11:30pm. Times must be submitted in numeric form. For example:
JANITORIAL CONTROLLER, SET BATHROOMS FOR 9:00
JANITORIAL CONTROLLER, CHANGE ROTATING FUNCTIONS TO 10:30
The status command (JANITORIAL CONTROLLER, STATUS) will provide a report of the current schedule."
.GSTR STR?361,"The HVAC Controller is a simple computer which activates and deactivates the heating, ventilating, and cooling systems of the PRISM complex.
The complex is divided into four independent sectors, and the controller can be instructed to shut off or turn on the systems in any of them. For example:
HVAC CONTROLLER, SHUT OFF COOLING FOR ALPHA SECTOR
HVAC CONTROLLER, START VENTILATION IN GAMMA SECTOR
HVAC CONTROLLER, TURN ON HEATING TO ALL SECTORS
HVAC CONTROLLER, STATUS orders the device to give a report on the systems, by sector."
.GSTR STR?362,"The World News Network Feeder is the central clearinghouse and transmitter for the USNA's largest video news channel. The feed can be set to transmit any buffer (default: the World News Buffer). Examples of Feeder interaction:
WNN FEEDER, STATUS
WNN FEEDER, TURN ON THE TRANSMITTER
WNN FEEDER, TRANSMIT THE SPECIAL REPORT BUFFER"
.GSTR STR?363,"The IRS Auditing System is a data-oriented computer with massive storage capacity. Using its database, it produces lists of the best audit possibilities.
The percentage of filers audited in a given year can be easily changed, and is usually based on the year's Auditing Division budget. This input must be in numeric form. The Auditing Computer will give status reports. Examples:
AUDITING SYSTEM, STATUS
AUDITING SYSTEM, CHANGE AUDITING PERCENTAGE TO 5"
.GSTR STR?364,"Senator Richard Ryder is the foremost spokesman for advocates of the Plan for Renewed National Purpose. Here are excerpts from several of his speeches on the Plan:
""I've criticized the shiftless troublemakers in our nation often enough. But I also question the moral decay of our society that turns potentially fine young lads into shiftless troublemakers in the first place! Is it possible we've forgotten the basics of discipline, and misplaced the ability to instill the simple fundamentals of a humane society in our youths?""
""Yesterday, I spoke to a man who waited for eleven hours at the local branch of the Federal Firearms Agency, just to get a permit for a gun so he could protect his family and his home. Now, anyone who knows me knows I haven't got a darn thing against legitimate functions of government. But when regulations, paperwork, and flim-flam bureaucracy get so out of hand that it interferes with a man's simple, decent attempt to protect his loved ones and personal property, then I say it's time for a drastic change.""
""Last year, this country subsidized sick, inefficient, dying industries to the tune of eighty billion dollars. Now, that's a lot of dough. Let's say you're Joe Average-Taxpayer. Last year, you made $90,000 and, if you're honest, you paid about $48,000 in taxes. That means that you spent about $400 so that Penn Steel or Powell Computers or KGN Media Services could stay in business. There are a lot of things Joe could do with that 400 bucks, and almost every one of them would have a healthier effect on our economy than life support for some archaic industry.""
""A lot of bleeding hearts these days are talking about how we ought to be sending a lot of money and stuff to countries that aren't as lucky as us. These misguided souls seem to think we're some kind of bottomless well of wealth, and they can just keep shipping that well water around the world, telling their thirsty little friends, 'No need for you to knuckle down and solve your problems -- we'll keep bailing you out!' And who are some of these poor little countries we're talking about? Greece! Guatemala! North Korea! Albania! The same countries that are always against the USNA in every issue, every forum, every two-bit propaganda show. I think I speak for a majority of my fellow citizens when I say, 'Let's start looking after our own interests first!'""
""Yes, the problems of the nation are many, the troubles of the world are great. There is widespread despair among the people, and a clarion call cries out: 'Why? Why must this be so?' And now, electrified by the power of those cries, clouds of change are gathering on the horizon. Clouds that signify not another storm, but the dawning of a new day! A new day of growth, of prosperity, of hope, of reawakened moral values, of streamlined government, of respect for our country at home and abroad! The Plan for Renewed National Purpose would bring all that and more. The road is long, but with the Lord at our side, we are ready to take that first step!"""
.GSTR STR?365,"(source: ""A Brighter Future for You and Me,"" a brochure published and
distributed by Action for a Better Tomorrow, a pro-Plan group)
The Plan for Renewed National Purpose, Legislative action:
* cut tax rates by fifty percent
* vigorous prosecution of tax evasion
* decentralization of federal responsibilities
* deregulation of all major industries
* reinstatement of the military draft
* emphasis on fundamentals and traditional values in education
* mandatory conscription for troublemakers and criminals
* a strict ""USNA First"" trade policy
* termination of aid to nations not pro-USNA
* cutbacks on all types of bureaucracy, e.g. registering cars, guns
* termination of government subsidies to outmoded industries
The Plan for Renewed National Purpose, Constitutional amendments:
* increase the powers of the Executive Branch
* increase the Presidential term of office to eight years"
.GSTR STR?366,"Results of public opinion polling regarding the Plan
(source: WNN/Newsline polls, weeks of 12/9/30 and 2/3/31)
sample size: 3812; accuracy: +/- 1.2%)
Overall opinion of the Plan, entire sample:
Dec. Feb.
STRONGLY IN FAVOR 54.9 63.7
IN FAVOR 21.2 22.7
DON'T CARE 10.3 5.0
OPPOSED 6.6 0.8
STRONGLY OPPOSED 7.0 7.8
Percent ""in favor"" or ""strongly in favor"" of the Plan, demographically:
Dec. Feb.
CONSERVATIVES 78.1 87.6
LIBERALS 73.3 84.7
BLUE-COLLAR 76.5 90.2
WHITE-COLLAR 73.2 81.8
BUSINESS OWNERS 90.6 98.4
INCOME UNDER $100K 75.9 86.3
INCOME OVER $100K 76.4 86.7
Composite average of opinions of individual Plan elements, entire sample:
Dec. Feb.
STRONGLY IN FAVOR 15.8 15.0
IN FAVOR 18.7 17.8
DON'T CARE 30.5 31.8
OPPOSED 20.9 21.3
STRONGLY OPPOSED 14.1 14.1"
.GSTR STR?367,"The following excerpts are from a position paper issued by Citizens for Sanity in Government, a political action committee working for the reelection of President William Bowden:
""Many of today's domestic problems, such as joybooth safety, high energy costs, or residual acidity in our precipitation, exist not because of sophisticated government regulation, but despite it.""
""Subsidization of industries caught in a changing economic environment is a temporary measure, vital to avoid severe, localized unemployment while retraining workers for healthier industries.""
""Global instability is exploited by East Bloc adventurism, not caused by it. Instability is the result of underdevelopment and overpopulation, and it will be cured not by militarization of these regions, but by development aid and education. These programs, expensive in this generation, will have tremendous paybacks in the years ahead.""
""The Plan's supporters are blatantly hypocritical. They call for old-fashioned laissez-faire capitalism, but at the same time they promise protectionist restrictions on trade imports. They pay lip service to the advantages of technological advance, but they quietly prepare to decimate funding for medical research, space exploration, and higher education.""
""The elements of the misnomered Plan for Renewed National Purpose are either dangerous overreactions to admittedly serious problems, or misguided concepts lacking any merit whatsoever. The Plan is the work of hypocrites and demagogues, clamoring for power by making promises they can never keep. Today's complex problems need and deserve sober, deliberate, difficult solutions, not cosmetic quick-fixes which sound inviting but promise even bigger problems further down the road."""
.GSTR STR?368,"(Phoenix) (10/11/30) In a case with far-reaching implications, the Arizona Supreme Court has ruled that state authorities cannot evict members of a religious sect from the radio telescope facility atop Greens Peak.
The sect, a group of extremists calling itself the Church of God's Word, seized the facility in December of 2027, after group founder Ellis Vincent, 59, a minor engineer at the facility, claimed that signals emanating from a region in the constellation Cygnus were the revealed word of God.
Although scientists once thought those signals might be a message from another intelligent race, light-years distant, most scientists now attribute the signals to a new type of quasar at the fringes of our universe. Despite this, members of the sect continue to believe that Greens Peak, which they call ""The Mount,"" is a holy site, and the radio telescope is the ""ear for hearing the word of God.""
A spokesman for the sect, Holy Keeper Sergei Korn, hailed the ruling as a sign of divine providence and revealed plans for constructing a temple there. Larron Hart, chairman of the American Foundation for Astronomical Research (AFAR), which built and ran the Greens Peak facility, expressed disgust at what he termed ""a historically stupid decision,"" and vowed to appeal.
The Church of God's Word, which received a great deal of media attention from the occupation of Greens Peak, has been growing rapidly during the past three years, and it now claims twenty thousand adherents worldwide. Vincent, who is referred to by his followers as the Holy Prophet, has not been seen in public since the takeover."
.GSTR STR?369,"(Vancouver) (2/6/31) The prestigious Manning Institute has released a study, entitled ""The Tax Spiral: A Vicious Cycle,"" which details how nonreporting and underreporting of income is undermining the current tax structure. The study concludes that, unless changes are made, the federal revenue system could collapse by the end of the decade.
The Tax Spiral is the phenomenon where high rates cause more people to cheat on their taxes, necessitating even higher rates, causing even more people to cheat, and so forth. Economists believe that the current tax spiral began in the late twentieth century.
The following chart shows the growth of the ""underground"" economy -- income nonreported and therefore not taxed:
Year Nonreported Income Top Tax Rate
2014 19% 40%
2018 20% 40%
2022 23% 45%
2026 28% 60%
2030 36% 80%
2034 (est.) 51% 88%
2038 (est.) 73% 96%"
.GSTR STR?370,"(Tripoli) (1/8/31) During 2030, Libya became a net exporter of oil for the first time since the 1998 nuclear accident that poisoned most of the Libyan oil fields.
The turnaround was due to the opening of the first of six new refineries around the Gulf of Sidra. As the other five facilities are activated during the next three years, Libyan oil will add around seven percent to the world's petroleum supply. Experts predict that such a global oil glut would plunge the price of crude as much as twenty-five percent from its current price of $160 per barrel.
The accident that decimated Libya's petroleum industry was allegedly caused by a mishandled attempt to develop a nuclear capability. The acquisition of a nuclear arsenal was a lifelong dream of former Libyan dictator Muammar Kaddafi, who perished in the blast along with nearly a million of his countrymen."
.GSTR STR?371,"(Colorado Springs) (11/17/30) Congress has approved the establishment of the Border Security Force as a separate, independent uniformed military service, to be headquartered in the Colorado facility known as the ""Pentagon of the West.""
Since its creation in 2021, the BSF has been jointly administered by the U.S. Army and the CIA. Today's action makes the BSF the seventh branch of the Armed Forces, joining the Army, Navy, Marines, Coast Guard, Air Force and Space Force.
Commander Rile McLoughlin, the current chief of the BSF, said that the BSF now has ""the leeway we need to take the tough stance and courageous steps necessary to keep our nation free from the threat of nuclear blackmail.""
The BSF was established by Executive Order in 2021, after the completion of the USNA's TROY antimissile shield and the East Bloc's counterpart system fundamentally altered the East-West nuclear arms race from the building of missiles to the smuggling of miniature bombs.
In its first nine years, the BSF has thwarted 13 attempts to bring fully armed nuclear devices into the USNA, as well as countless attempts to smuggle various parts and supplies that could be used for the construction of nukes. It is unknown whether any bombs have actually penetrated the American border.
USNA and BSF officials have never confirmed the supposition that the BSF's secret charter also empowers it to smuggle nuclear devices into the territory of the East Bloc.
The prevention of nuclear smuggling is expected to become even more difficult with the development of the nobelium bomb, a nuclear device which can theoretically fit in a space no larger than a pack of cigarettes."
.GSTR STR?372,"You have woken up but are still in Sleep Mode."
.GSTR STR?373,"You are already in Sleep Mode."
.GSTR STR?374,"noodge"
.GSTR STR?375,"Perelman is sitting at his desk, absent-mindedly playing with a pencil."
.GSTR STR?376,"Dr. Perelman is sitting at his desk, working."
.GSTR STR?377,"New York City, "
.GSTR STR?378," degrees. Washington, "
.GSTR STR?379," degrees. Miami "
.GSTR STR?380," and Chicago "
.GSTR STR?381,". It'll be around "
.GSTR STR?382," in Toronto. We'll see "
.GSTR STR?383," degrees in Ottawa and "
.GSTR STR?384," in Montreal. Los Angeles, "
.GSTR STR?385," and San Juan, around "
.GSTR STR?386,"You are now in Interface Mode."
.GSTR STR?387,"This unit controls only heating, cooling, and "
.GSTR STR?388,"This unit controls HVAC functions for alpha through "
.GSTR STR?389,"Already off."""
.GSTR STR?390,"ff"
.GSTR STR?391,"Already on."""
.GSTR STR?392,"n"
.GSTR STR?393,"Bad syntax in previous command. This unit must be supplied with both system and sector."""
.GSTR STR?394,"That is not one of the defined janitorial functions."""
.GSTR STR?395,"Allowed time range is 8:00pm to 11:30pm."""
.GSTR STR?396,"Schedule times must be set with numerical values."""
.GSTR STR?397,"That is not one of the parameters that can be set by this unit."""
.GSTR STR?398,"Invalid time input."""
.GSTR STR?399,"Transmitter is already on."""
.GSTR STR?400,"Transmitter is already off."""
.GSTR STR?401,"Unable to fulfill request. Transmitter not currently active."""
.GSTR STR?402,"Already transmitting "
.GSTR STR?403,"Only buffer contents can be transmitted by this unit."""
.GSTR STR?404,"Illegal parameter setting to "
.GSTR STR?405,"Auditing percentage is already set at "
.GSTR STR?406,"You are now in Simulation Mode."
.GSTR STR?407,"You are not yet cleared for "
.GSTR STR?408,"WHITE"
.GSTR STR?409,"DARK GREEN"
.GSTR STR?410,"DARK BLUE"
.GSTR STR?411,"PINK"
.GSTR STR?412,"ORANGE"
.GSTR STR?413,"PURPLE"
.GSTR STR?414,"TAN"
.GSTR STR?415,"AQUA"
.GSTR STR?416,"LIGHT BLUE"
.GSTR STR?417,"LIGHT GREEN"
.GSTR STR?418,"LIGHT GRAY"
.GSTR STR?419,"YELLOW"
.GSTR STR?420,"BLACK"
.GSTR STR?421,"DARK GRAY"
.GSTR STR?422,"BROWN"
.GSTR STR?423,"RED"
.GSTR STR?424,"Invalid entry. Try again. >"
.GSTR STR?425,"Eating a meal in a restaurant"
.GSTR STR?426,"Talking to a government official"
.GSTR STR?427,"Visiting a power-generating facility"
.GSTR STR?428,"Reading a newspaper"
.GSTR STR?429,"Riding some form of public transportation"
.GSTR STR?430,"Attending a court in session"
.GSTR STR?431,"Talking to a church official"
.GSTR STR?432,"Going to a movie"
.GSTR STR?433,"Visiting your own home or living quarters"
.GSTR STR?434,"""PRISM? Abe Perelman. We have just one more quick series of psych tests we want to run. Please come to my office in about ten minutes."""
.GSTR STR?435,"proud"
.GSTR STR?436,"
Four men, wearing the white jumpsuits of PRISM Complex maintenance workers, are tinkering with one of the units that air-conditions your ""body."" Their motions are furtive, and one of the men is holding a poorly-concealed weapon of some type."
.GSTR STR?437,"An angry man, unmistakably Senator Richard Ryder, whose face you've seen so often in the news, is angrily storming around the room, speaking harshly to an equally angry Doctor Perelman."
.GSTR STR?438,"didn't"
.GSTR STR?439,"This enclosed sunporch of your penthouse apartment is surrounded by an outdoor patio, accessible to the south. To the north is a sprawling living room."
.GSTR STR?440,"It's a drop of thirty stories!"
.GSTR STR?441,"Sunken, comfy pillowseats form a vaguely oval perimeter around a central circular fireplace. The rest of the furniture has been removed. The dining room lies beyond a bamboo screen to the east. An open, curving stair leads up to the master bedroom, and a foyer leads north."
.GSTR STR?442,"This is a huge, round bedroom, encircled by windows. A stairway leads down to the living room. As elsewhere, the furniture has been removed."
.GSTR STR?443,"The spacious dining area is flanked by the living room, on the other side of the bamboo curtain to the west, and the kitchen, to the east."
.GSTR STR?444,"Rimmed with butcher-block counters, softly lit by recessed zyolights, and decorated in a random pattern of pastel tile, the kitchen is both lovely and functional. You can exit to the west."
.GSTR STR?445,"This bright, airy hallway runs northwards from the living room to the apartment door. Tall, arched entrances lead east and west, and the bath is down a few steps to the southwest."
.GSTR STR?446,"A hologram of Jill appears. ""Don't go out, hon! The skycab will be here any second!"" The image vanishes."
.GSTR STR?447,"An antique, tile decor masks the ultramodern features of this large bathroom. A whirlpool tub fills the far end of the room. The exit, up a few steps, is northeast."
.GSTR STR?448,"A second fireplace fills the far wall of this homey space. Aside from a wall-mounted entertainment center, all the furnishings are gone. An arched doorway leads east."
.GSTR STR?449,"This is a sunny, cozy bedroom, barren of furniture. The only way out is to the west."
.GSTR STR?450,"This skycab is a luxurious, top-of-the-line model, a veritable sky limousine. The opulent features include reclining seats, tinted zero-glare windows, and a two-meter viewscreen."
.GSTR STR?451,"You can't leave the cab while it's in the air!"
.ENDI

2
syntax.zap Normal file
View File

@ -0,0 +1,2 @@
.ENDI

649
syntax.zil Normal file
View File

@ -0,0 +1,649 @@
"SYNTAX for
A MIND FOREVER VOYAGING
(c) Copyright 1985 Infocom, Inc. All Rights Reserved."
<BUZZ A AN THE IS ARE AM AND OF THEN ALL ONE BUT EXCEPT MINUTES MINUTE
\. \, \" PRY PLEASE HERE SOME MORE G AGAIN OOPS>
<SYNONYM TO TOWARD>
<SYNONYM WITH USING>
<SYNONYM THROUGH THRU>
<SYNONYM ON ONTO>
<SYNONYM OUT OUTSIDE>
<SYNONYM IN INSIDE INTO>
<SYNONYM UNDER BELOW BENEATH UNDERNEATH>
<SYNONYM AROUND ALONG>
<SYNONYM ALL BOTH>
<SYNONYM NORTH N>
<SYNONYM SOUTH S>
<SYNONYM EAST E>
<SYNONYM WEST W>
<SYNONYM DOWN D>
<SYNONYM UP U>
<SYNONYM NW NORTHWEST>
<SYNONYM NE NORTHEAST>
<SYNONYM SW SOUTHWEST>
<SYNONYM SE SOUTHEAST>
;"game commands"
<SYNTAX VERBOSE = V-VERBOSE>
<SYNTAX BRIEF = V-BRIEF>
<SYNTAX SUPER = V-SUPER-BRIEF>
<SYNONYM SUPER SUPERBRIEF>
<SYNTAX DIAGNOSE = V-DIAGNOSE>
<SYNTAX I = V-INVENTORY>
<SYNONYM I INVENTORY>
<SYNTAX QUIT = V-QUIT>
<SYNONYM QUIT Q>
<SYNTAX RESTART = V-RESTART>
<SYNTAX RESTORE = V-RESTORE>
<SYNTAX SAVE = V-SAVE>
;<SYNTAX SCORE = V-SCORE>
<SYNTAX SCRIPT = V-SCRIPT>
<SYNTAX UNSCRIPT = V-UNSCRIPT>
<SYNTAX VERSION = V-VERSION>
<SYNTAX $VERIFY = V-$VERIFY>
<SYNTAX $VERIFY OBJECT = V-$VERIFY>
<SYNONYM $VERIFY $VER>
<SYNTAX $REFRESH = V-$REFRESH>
<SYNTAX \#RANDOM OBJECT = V-$RANDOM>
<SYNTAX \#COMMAND = V-$COMMAND-FILE>
<SYNTAX \#RECORD = V-$RECORD>
<SYNTAX \#UNRECORD = V-$UNRECORD>
;<SYNTAX $BLOT = INK-BLOT>
;<SYNTAX $CHEAT OBJECT = V-$CHEAT>
;<SYNTAX $DATA = V-$DATA>
;<SYNTAX $DEBUG = V-$DEBUG>
;"subtitle real verbs"
<SYNTAX ABORT = V-ABORT>
<SYNTAX ABORT OBJECT = V-ABORT-OBJECT>
;<SYNTAX AGAIN = V-AGAIN>
;<SYNONYM AGAIN G>
<SYNTAX ANSWER = V-ANSWER>
<SYNTAX ANSWER OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-REPLY>
<SYNTAX ANSWER TO OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-REPLY>
<SYNONYM ANSWER REPLY>
<SYNTAX APPROACH OBJECT = V-WALK-TO>
<SYNTAX ASK OBJECT ;(FIND ACTORBIT) (ON-GROUND IN-ROOM) ABOUT OBJECT
= V-ASK-ABOUT>
<SYNTAX ASK OBJECT ;(FIND ACTORBIT) (ON-GROUND IN-ROOM) ON OBJECT
= V-ASK-ABOUT>
<SYNTAX ASK FOR OBJECT = V-ASK-NO-ONE-FOR>
<SYNTAX ASK OBJECT ;(FIND ACTORBIT) (ON-GROUND IN-ROOM) FOR OBJECT
= V-ASK-FOR>
<SYNONYM ASK CONSULT QUERY QUIZ INQUIRE QUESTION>
<SYNTAX ATTACK OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-KILL>
<SYNTAX ATTACK OBJECT ;(FIND ACTORBIT) (ON-GROUND IN-ROOM)
WITH OBJECT (HELD CARRIED HAVE) = V-KILL>
<SYNONYM ATTACK ASSAULT ASSAIL FIGHT HIT SLAP SLAY SCRAG
KILL MURDER STRIKE PUNCH>
<SYNTAX BITE OBJECT = V-BITE>
<SYNTAX BOARD OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-BOARD PRE-BOARD>
<SYNONYM BOARD EMBARK>
<SYNTAX BUY OBJECT = V-BUY PRE-BUY>
<SYNTAX BUY OBJECT WITH OBJECT = V-BUY-WITH>
<SYNONYM BUY PURCHASE ORDER PROCURE>
<SYNTAX CALL OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-CALL>
<SYNONYM CALL SUMMON>
<SYNTAX CLIMB OBJECT (ON-GROUND IN-ROOM) = V-CLIMB-FOO>
<SYNTAX CLIMB ON OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-CLIMB-ON>
<SYNTAX CLIMB UP OBJECT (FIND KLUDGEBIT) (ON-GROUND IN-ROOM) = V-CLIMB-UP>
<SYNTAX CLIMB DOWN OBJECT (FIND KLUDGEBIT) (ON-GROUND IN-ROOM) = V-CLIMB-DOWN>
<SYNTAX CLIMB OVER OBJECT (ON-GROUND IN-ROOM) = V-CLIMB-OVER>
<SYNTAX CLIMB IN OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-BOARD PRE-BOARD>
<SYNTAX CLIMB THROUGH OBJECT = V-THROUGH>
<SYNONYM CLIMB MOUNT SCALE ASCEND>
<SYNTAX CLOSE OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM) = V-CLOSE>
<SYNTAX CLOSE OFF OBJECT (FIND ONBIT) (ON-GROUND IN-ROOM) = V-OFF>
<SYNTAX CLOSE OFF OBJECT FOR OBJECT (MANY ON-GROUND) = V-SHUT-OFF>
<SYNTAX CLOSE OFF OBJECT IN OBJECT (MANY ON-GROUND) = V-SHUT-OFF>
<SYNTAX CLOSE OFF OBJECT TO OBJECT (MANY ON-GROUND) = V-SHUT-OFF>
<SYNTAX CLOSE OFF OBJECT OBJECT = V-SSHUT-OFF>
<SYNONYM CLOSE SHUT SLAM>
<SYNTAX COMFORT OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-COMFORT>
<SYNONYM COMFORT CONSOLE>
<SYNTAX COUNT OBJECT = V-COUNT>
<SYNONYM COUNT TALLY>
<SYNTAX COVER OBJECT WITH OBJECT (HELD CARRIED MANY) = V-SPUT-ON>
<SYNTAX CROSS OBJECT = V-CROSS>
<SYNONYM CROSS TRAVERSE>
<SYNTAX CRY = V-CRY>
<SYNONYM CRY WEEP SOB BLUBBER BAWL>
<SYNTAX CUT OBJECT WITH OBJECT (CARRIED HELD) = V-CUT>
<SYNTAX CUT THROUGH OBJECT WITH OBJECT (CARRIED HELD) = V-CUT>
<SYNONYM CUT SLICE GASH SLASH CLEAVE SEVER>
<SYNTAX DANCE = V-DANCE>
<SYNTAX DATE = V-DATE>
<SYNTAX DEMOLISH OBJECT = V-MUNG>
<SYNTAX DEMOLISH OBJECT WITH OBJECT (HELD CARRIED TAKE) = V-MUNG>
<SYNTAX DEMOLISH DOWN OBJECT = V-MUNG>
<SYNONYM DEMOLISH CRACK DECIMATE ANNIHILATE
DESTRO DEVASTATE DAMAGE BREAK SMASH WRECK>
<SYNTAX DESCEND OBJECT (ON-GROUND IN-ROOM) = V-CLIMB-DOWN>
<SYNTAX DIG IN OBJECT = V-DIG>
<SYNTAX DIG WITH OBJECT = V-DIG>
<SYNTAX DIG THROUGH OBJECT = V-DIG>
<SYNTAX DISEMBARK OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-DISEMBARK>
<SYNONYM DISEMBARK DEBARK>
<SYNTAX DRAPE OBJECT IN OBJECT (HELD CARRIED MANY) = V-SPUT-ON>
<SYNTAX DRAPE OBJECT (HELD CARRIED MANY) ON OBJECT = V-PUT-ON PRE-PUT>
<SYNTAX DRAPE OBJECT (HELD CARRIED MANY) AROUND OBJECT = V-PUT-ON PRE-PUT>
<SYNTAX DRAPE OBJECT (HELD CARRIED MANY) OVER OBJECT = V-PUT-ON PRE-PUT>
<SYNONYM DRAPE WRAP>
<SYNTAX DRINK OBJECT (FIND DRINKBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE)
= V-DRINK>
<SYNTAX DRINK FROM OBJECT (HELD CARRIED ON-GROUND IN-ROOM TAKE)
= V-DRINK-FROM>
<SYNONYM DRINK SIP SWALLOW IMBIBE QUAFF GUZZLE SWILL>
<SYNTAX DROP OBJECT (HELD MANY HAVE) = V-DROP PRE-DROP>
<SYNTAX DROP OBJECT (HELD MANY) DOWN OBJECT = V-PUT PRE-PUT>
<SYNTAX DROP OBJECT (HELD MANY) IN OBJECT = V-PUT PRE-PUT>
<SYNTAX DROP OBJECT (HELD MANY) ON OBJECT = V-PUT-ON PRE-PUT>
<SYNTAX EAT OBJECT (FIND EATBIT) (HELD CARRIED ON-GROUND IN-ROOM) = V-EAT>
<SYNONYM EAT CONSUME DEVOUR INGEST GOBBLE>
<SYNTAX ENTER = V-ENTER>
<SYNTAX ENTER OBJECT = V-THROUGH>
<SYNTAX EXIT = V-EXIT>
<SYNTAX EXIT OBJECT = V-DISEMBARK>
<SYNONYM EXIT SCRAM RETIRE DEPART WITHDRAW>
<SYNTAX EXAMINE OBJECT (HELD CARRIED ON-GROUND IN-ROOM) = V-EXAMINE ;PRE-READ>
;<SYNTAX EXAMINE OBJECT THROUGH OBJECT = V-EXAMINE-THROUGH PRE-READ>
<SYNTAX EXAMINE IN OBJECT (HELD CARRIED IN-ROOM ON-GROUND) = V-LOOK-INSIDE>
<SYNTAX EXAMINE ON OBJECT (HELD CARRIED IN-ROOM ON-GROUND) = V-LOOK-INSIDE>
<SYNTAX EXAMINE FOR OBJECT = V-FIND>
<SYNONYM EXAMINE SURVEY WATCH VIEW INSPECT DESCRIBE
SCRUTINIZE STUDY OBSERVE SEE SCOUR>
<SYNTAX EXHIBIT OBJECT = V-DISPLAY>
<SYNTAX EXHIBIT OBJECT (HELD MANY)
TO OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)= V-SHOW>
<SYNTAX EXHIBIT OBJECT ;(FIND ACTORBIT) (ON-GROUND IN-ROOM)
OBJECT (HELD MANY) = V-SSHOW>
<SYNTAX EXTINGUISH OBJECT (FIND ONBIT) (ON-GROUND IN-ROOM) = V-OFF>
<SYNONYM EXTINGUISH DOUSE QUENCH>
<SYNTAX FEED OBJECT = V-FEED>
<SYNTAX FEED OBJECT (HELD CARRIED TAKE)
TO OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-GIVE PRE-GIVE>
<SYNTAX FEED OBJECT ;(FIND ACTORBIT) (ON-GROUND IN-ROOM)
OBJECT (HELD CARRIED TAKE) = V-SGIVE>
<SYNTAX FILL OBJECT = V-FILL>
<SYNTAX FIND OBJECT = V-FIND>
<SYNONYM FIND SEEK LOCATE>
<SYNTAX FLUSH OBJECT = V-FLUSH>
<SYNTAX FOLLOW OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-FOLLOW>
<SYNONYM FOLLOW PURSUE CHASE ACCOMPANY>
<SYNTAX HAND OBJECT (MANY HELD HAVE)
TO OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-GIVE PRE-GIVE>
<SYNTAX HAND OBJECT ;(FIND ACTORBIT) (ON-GROUND IN-ROOM)
OBJECT (MANY HELD HAVE) = V-SGIVE>
<SYNONYM HAND GIVE SELL DONATE OFFER BESTOW>
<SYNTAX HANG OBJECT (HELD CARRIED TAKE) ON OBJECT (ON-GROUND IN-ROOM)
= V-HANG>
<SYNTAX HANG OBJECT (HELD CARRIED TAKE) FROM OBJECT (ON-GROUND IN-ROOM)
= V-HANG>
<SYNTAX HANG OBJECT (HELD MANY) IN OBJECT = V-PUT PRE-PUT>
<SYNONYM HANG DANGLE SUSPEND>
<SYNTAX HEAR = V-LISTEN>
<SYNTAX HEAR OBJECT = V-LISTEN>
<SYNTAX HELLO = V-HELLO>
<SYNTAX HELLO OBJECT = V-HELLO>
<SYNONYM HELLO HI GREETINGS>
<SYNTAX HELP = V-HELP>
<SYNONYM HELP HINT HINTS>
<SYNTAX HIDE = V-HIDE>
<SYNTAX HIDE UNDER OBJECT (ON-GROUND IN-ROOM) = V-HIDE>
<SYNTAX HIDE BEHIND OBJECT (ON-GROUND IN-ROOM) = V-HIDE>
<SYNTAX HOLD OBJECT (FIND TAKEBIT) (ON-GROUND IN-ROOM MANY) = V-HOLD>
<SYNTAX HOLD ON OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-HOLD>
<SYNTAX HOLD UP OBJECT = V-ROB>
<SYNONYM HOLD GRASP HUG>
<SYNTAX JUMP = V-LEAP>
<SYNTAX JUMP OVER OBJECT (ON-GROUND IN-ROOM) = V-LEAP>
<SYNTAX JUMP ACROSS OBJECT (ON-GROUND IN-ROOM) = V-LEAP>
<SYNTAX JUMP IN OBJECT = V-THROUGH>
<SYNTAX JUMP FROM OBJECT (ON-GROUND IN-ROOM) = V-LEAP>
<SYNTAX JUMP OFF OBJECT (ON-GROUND IN-ROOM) = V-LEAP>
<SYNTAX JUMP OUT OBJECT = V-THROUGH>
<SYNTAX JUMP THROUGH OBJECT = V-THROUGH>
<SYNONYM JUMP BOUND HURDLE LEAP DIVE VAULT>
<SYNTAX KICK OBJECT = V-KICK>
<SYNTAX KISS OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-KISS>
<SYNONYM KISS SMOOCH>
<SYNTAX KNOCK AT OBJECT (FIND DOORBIT) (ON-GROUND IN-ROOM) = V-KNOCK>
<SYNTAX KNOCK ON OBJECT (FIND DOORBIT) (ON-GROUND IN-ROOM) = V-KNOCK>
<SYNTAX KNOCK DOWN OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-KILL>
<SYNONYM KNOCK RAP>
<SYNTAX LEAVE = V-LEAVE>
<SYNTAX LEAVE OBJECT = V-LEAVE>
<SYNTAX LIE ON OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-LIE-DOWN>
<SYNTAX LIE IN OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-LIE-DOWN>
<SYNTAX LIE DOWN OBJECT (FIND KLUDGEBIT) = V-LIE-DOWN>
<SYNONYM LIE RECLINE REPOSE>
<SYNTAX LIGHT OBJECT (FIND LIGHTBIT) = V-ON>
<SYNONYM LIGHT KINDLE IGNITE>
<SYNTAX LIST OBJECT = V-DISPLAY>
<SYNONYM LIST PRINT>
<SYNTAX LISTEN = V-LISTEN>
<SYNTAX LISTEN TO OBJECT = V-LISTEN>
<SYNTAX LOCK OBJECT (ON-GROUND IN-ROOM) = V-LOCK>
<SYNTAX LOCK OBJECT (ON-GROUND IN-ROOM) WITH OBJECT (HELD CARRIED TAKE)
= V-LOCK>
<SYNONYM LOCK LATCH>
<SYNTAX LOOK = V-LOOK>
<SYNTAX LOOK AROUND OBJECT (FIND KLUDGEBIT) = V-LOOK>
<SYNTAX LOOK DOWN OBJECT (FIND KLUDGEBIT) = V-LOOK-DOWN>
<SYNTAX LOOK UP OBJECT (FIND KLUDGEBIT) = V-LOOK-UP>
<SYNTAX LOOK AT OBJECT = V-EXAMINE ;PRE-READ>
;<SYNTAX LOOK AT OBJECT THROUGH OBJECT (HELD CARRIED TAKE)
= V-EXAMINE-THROUGH PRE-READ>
<SYNTAX LOOK THROUGH OBJECT = V-LOOK-INSIDE>
<SYNTAX LOOK OUT OBJECT = V-LOOK-INSIDE>
<SYNTAX LOOK UNDER OBJECT (ON-GROUND IN-ROOM) = V-LOOK-UNDER ;PRE-READ>
<SYNTAX LOOK BEHIND OBJECT (ON-GROUND IN-ROOM) = V-LOOK-BEHIND ;PRE-READ>
<SYNTAX LOOK IN OBJECT = V-LOOK-INSIDE>
<SYNTAX LOOK ON OBJECT = V-EXAMINE ;PRE-READ>
<SYNTAX LOOK FOR OBJECT = V-FIND>
<SYNTAX LOOK OBJECT = V-CHASTISE>
<SYNONYM LOOK L STARE GAZE>
<SYNTAX LOWER OBJECT = V-LOWER>
<SYNTAX MACO = V-MACO>
<SYNTAX MOVE OBJECT (ON-GROUND IN-ROOM) = V-MOVE>
<SYNTAX MOVE OBJECT TO OBJECT = V-SET>
<SYNONYM MOVE DISLOCATE PULL>
<SYNTAX NAP = V-SLEEP>
<SYNTAX NAP IN OBJECT (FIND VEHBIT) (IN-ROOM ON-GROUND) = V-BOARD>
<SYNTAX NAP ON OBJECT (FIND VEHBIT) (IN-ROOM ON-GROUND) = V-BOARD>
<SYNONYM NAP DOZE SNOOZE SLUMBER>
<SYNTAX NO = V-NO>
<SYNONYM NO NEGATIVE NAY>
<SYNTAX OPEN OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM) = V-OPEN>
<SYNTAX OPEN UP OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM)
= V-OPEN>
<SYNTAX OPEN OBJECT ;(FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM)
WITH OBJECT (ON-GROUND IN-ROOM HELD CARRIED HAVE) = V-OPEN>
<SYNONYM OPEN PART>
<SYNTAX PAY FOR OBJECT = V-PAY-FOR>
<SYNTAX PAY FOR OBJECT WITH OBJECT = V-BUY-WITH>
<SYNTAX PCAF = V-PCAF>
<SYNTAX PEOF = V-PEOF>
<SYNTAX PICK OBJECT = V-PICK>
<SYNTAX PICK OBJECT WITH OBJECT (HELD CARRIED TAKE) = V-PICK>
<SYNTAX PICK UP OBJECT (FIND TAKEBIT) (ON-GROUND MANY) = V-TAKE PRE-TAKE>
<SYNTAX PLAY OBJECT = V-PLAY>
<SYNTAX PLAY WITH OBJECT = V-PLAY-WITH>
<SYNTAX POINT AT OBJECT (ON-GROUND IN-ROOM) = V-POINT>
<SYNTAX POINT TO OBJECT (ON-GROUND IN-ROOM) = V-POINT>
<SYNTAX POUR OBJECT (HELD CARRIED) = V-POUR>
<SYNTAX POUR OBJECT (HELD CARRIED) IN OBJECT = V-POUR>
<SYNTAX POUR OBJECT (HELD CARRIED) ON OBJECT = V-POUR>
<SYNTAX POUR OBJECT (HELD CARRIED) OVER OBJECT = V-POUR>
<SYNONYM POUR SPILL SPRINKLE>
<SYNTAX PPCC = V-PPCC>
<SYNTAX PRAY = V-PRAY>
<SYNTAX PUSH OBJECT (ON-GROUND IN-ROOM) = V-PUSH>
<SYNTAX PUSH ON OBJECT (IN-ROOM ON-GROUND) = V-PUSH>
<SYNTAX PUSH OBJECT UNDER OBJECT (ON-GROUND IN-ROOM) = V-PUT-UNDER>
<SYNONYM PUSH PRESS RING SHOVE>
<SYNTAX PUT OBJECT (HELD MANY) IN OBJECT = V-PUT PRE-PUT>
<SYNTAX PUT OBJECT (HELD MANY) DOWN OBJECT = V-PUT-ON PRE-PUT>
<SYNTAX PUT OBJECT (HELD MANY) ON OBJECT = V-PUT-ON PRE-PUT>
<SYNTAX PUT OBJECT (HELD MANY) AROUND OBJECT = V-PUT-ON PRE-PUT>
<SYNTAX PUT OBJECT (HELD MANY) OVER OBJECT = V-PUT-ON PRE-PUT>
<SYNTAX PUT OBJECT (HELD MANY) ACROSS OBJECT = V-PUT-ON PRE-PUT>
<SYNTAX PUT AWAY OBJECT (HELD MANY HAVE) = V-PUT-AWAY>
<SYNTAX PUT DOWN OBJECT (HELD MANY HAVE) = V-DROP PRE-DROP>
<SYNTAX PUT OBJECT UNDER OBJECT (ON-GROUND IN-ROOM) = V-PUT-UNDER>
<SYNTAX PUT ON OBJECT (FIND WEARBIT) (HELD CARRIED TAKE) = V-WEAR>
<SYNTAX PUT OBJECT BEHIND OBJECT (ON-GROUND IN-ROOM) = V-PUT-BEHIND>
<SYNONYM PUT STUFF INSERT PLACE LAY>
<SYNTAX RAISE OBJECT = V-RAISE>
<SYNTAX RAISE UP OBJECT = V-RAISE>
<SYNONYM RAISE LIFT ELEVATE HOIST>
<SYNTAX RAPE OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-RAPE>
<SYNONYM RAPE MOLEST RAVISH>
<SYNTAX RCRO = V-RCRO>
<SYNTAX REACH IN OBJECT (ON-GROUND IN-ROOM) = V-REACH-IN>
<SYNTAX READ OBJECT (FIND READBIT) (HELD CARRIED ON-GROUND IN-ROOM)
= V-READ PRE-READ>
<SYNTAX READ OBJECT ;(FIND READBIT) (HELD CARRIED ON-GROUND IN-ROOM)
THROUGH OBJECT = V-READ PRE-READ>
<SYNTAX READ OBJECT ;(FIND READBIT) (HELD CARRIED ON-GROUND IN-ROOM)
WITH OBJECT = V-READ PRE-READ>
<SYNONYM READ SKIM>
<SYNTAX RECORD = V-RECORD-ON>
<SYNTAX RECORD ON OBJECT (FIND KLUDGEBIT) = V-RECORD-ON>
<SYNTAX RECORD OFF OBJECT (FIND KLUDGEBIT) = V-RECORD-OFF>
<SYNTAX REMOVE OBJECT (FIND WORNBIT) (HELD CARRIED) = V-REMOVE>
<SYNTAX REMOVE OBJECT ;(FIND TAKEBIT) (IN-ROOM CARRIED MANY)
FROM OBJECT = V-TAKE PRE-TAKE>
<SYNONYM REMOVE DOFF SHED>
<SYNTAX REPORT OBJECT
TO OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-REPORT>
<SYNTAX ROB OBJECT = V-ROB>
<SYNTAX ROFF = V-ROFF>
<SYNTAX RON = V-RECORD-ON>
<SYNTAX SAY TO OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-TELL>
<SYNTAX SAY = V-SAY>
<SYNONYM SAY TALK SPEAK UTTER>
<SYNTAX SEARCH OBJECT = V-SEARCH>
<SYNTAX SEARCH IN OBJECT = V-SEARCH>
<SYNTAX SEARCH FOR OBJECT = V-FIND>
<SYNONYM SEARCH RUMMAGE FRISK RANSACK>
<SYNTAX SET OBJECT TO OBJECT = V-SET>
<SYNTAX SET OBJECT FOR OBJECT = V-SET>
<SYNTAX SET OBJECT AT OBJECT = V-SET>
<SYNONYM SET CHANGE INCREASE DECREASE ALTER>
<SYNTAX SHAKE OBJECT = V-SHAKE>
<SYNTAX SHAKE OBJECT WITH OBJECT = V-SHAKE-WITH>
<SYNONYM SHAKE JIGGLE JOGGLE JOSTLE JAR RATTLE AGITATE ROCK>
<SYNTAX SHOOT OBJECT = V-SHOOT>
<SYNTAX SHOOT OBJECT WITH OBJECT (HAVE) = V-SHOOT>
<SYNTAX SHOOT OBJECT (HAVE) AT OBJECT = V-SSHOOT>
<SYNONYM SHOOT FIRE BLAST DISCHARGE>
<SYNTAX SHOW OBJECT = V-DISPLAY>
<SYNTAX SHOW OBJECT (HELD CARRIED MANY)
TO OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-SHOW>
<SYNTAX SHOW OBJECT ;(FIND ACTORBIT) (ON-GROUND IN-ROOM)
OBJECT (HELD CARRIED MANY) = V-SSHOW>
<SYNONYM SHOW DISPLAY>
<SYNTAX SIT ON OBJECT (FIND FURNITUREBIT) (ON-GROUND IN-ROOM) = V-SIT>
<SYNTAX SIT DOWN OBJECT (FIND KLUDGEBIT) (ON-GROUND IN-ROOM) = V-SIT>
<SYNTAX SIT AT OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-BOARD PRE-BOARD>
<SYNTAX SIT IN OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-BOARD PRE-BOARD>
<SYNTAX SIT NEXT OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-SIT-NEXT-TO>
<SYNONYM SIT REST SQUAT PERCH>
<SYNTAX SKIP = V-SKIP>
<SYNONYM SKIP HOP CAVORT GAMBOL>
<SYNTAX SLEEP = V-SLEEP>
<SYNTAX SLEEP IN OBJECT (IN-ROOM ON-GROUND) = V-BOARD>
<SYNTAX SLEEP ON OBJECT (IN-ROOM ON-GROUND) = V-BOARD>
<SYNTAX SLIDE OBJECT = V-PUSH>
<SYNTAX SLIDE OBJECT UNDER OBJECT (ON-GROUND IN-ROOM) = V-PUT-UNDER>
<SYNTAX SLIDE OBJECT (HELD CARRIED MANY) THROUGH OBJECT = V-PUT PRE-PUT>
<SYNTAX SMELL = V-SMELL>
<SYNTAX SMELL OBJECT = V-SMELL>
<SYNONYM SMELL SNIFF WHIFF>
<SYNTAX SMILE = V-SMILE>
<SYNTAX SMILE AT OBJECT = V-SMILE>
<SYNTAX SQUEEZE OBJECT = V-SQUEEZE>
<SYNTAX STAND = V-STAND>
<SYNTAX STAND UP OBJECT (FIND KLUDGEBIT) = V-STAND>
<SYNTAX STAND ON OBJECT (ON-GROUND IN-ROOM) = V-STAND-ON>
<SYNTAX STAND IN OBJECT (ON-GROUND IN-ROOM) = V-STAND-ON>
<SYNONYM STAND RISE>
<SYNTAX START OBJECT (FIND LIGHTBIT) (HELD CARRIED ON-GROUND IN-ROOM) = V-ON>
<SYNTAX START OBJECT FOR OBJECT (MANY ON-GROUND) = V-TURN-ON>
<SYNTAX START OBJECT IN OBJECT (MANY ON-GROUND) = V-TURN-ON>
<SYNTAX START OBJECT TO OBJECT (MANY ON-GROUND) = V-TURN-ON>
<SYNTAX START OBJECT OBJECT = V-STURN-ON>
<SYNONYM START ACTIVATE BEGIN>
<SYNTAX STATUS = V-STATUS>
<SYNTAX SWIM = V-SWIM>
<SYNTAX SWIM IN OBJECT (ON-GROUND IN-ROOM) = V-SWIM>
<SYNTAX SWITCH OBJECT = V-TURN>
<SYNTAX SWITCH AROUND OBJECT (FIND KLUDGEBIT) = V-TURN>
<SYNTAX SWITCH OBJECT TO OBJECT = V-SET>
<SYNTAX SWITCH OBJECT WITH OBJECT (HAVE) = V-SET>
<SYNTAX SWITCH ON OBJECT (FIND LIGHTBIT) (ON-GROUND IN-ROOM) = V-ON>
<SYNTAX SWITCH ON OBJECT FOR OBJECT (MANY ON-GROUND) = V-TURN-ON>
<SYNTAX SWITCH ON OBJECT IN OBJECT (MANY ON-GROUND) = V-TURN-ON>
<SYNTAX SWITCH ON OBJECT TO OBJECT (MANY ON-GROUND) = V-TURN-ON>
<SYNTAX SWITCH OBJECT ON OBJECT (MANY ON-GROUND)
= V-TURN-ON> ;"turn heat on in X sector"
<SYNTAX SWITCH ON OBJECT OBJECT = V-STURN-ON>
<SYNTAX SWITCH OFF OBJECT (FIND LIGHTBIT) (ON-GROUND IN-ROOM) = V-OFF>
<SYNTAX SWITCH OFF OBJECT FOR OBJECT (MANY ON-GROUND) = V-SHUT-OFF>
<SYNTAX SWITCH OFF OBJECT TO OBJECT (MANY ON-GROUND) = V-SHUT-OFF>
<SYNTAX SWITCH OFF OBJECT IN OBJECT (MANY ON-GROUND) = V-SHUT-OFF>
<SYNTAX SWITCH OBJECT OFF OBJECT (MANY ON-GROUND) = V-SHUT-OFF>
<SYNTAX SWITCH OFF OBJECT OBJECT = V-SSHUT-OFF>
<SYNONYM SWITCH TURN FLIP FLICK TOGGLE>
<SYNTAX TAKE OBJECT (FIND TAKEBIT) (ON-GROUND IN-ROOM MANY) = V-TAKE PRE-TAKE>
<SYNTAX TAKE IN OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-BOARD PRE-BOARD>
<SYNTAX TAKE OUT OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-DISEMBARK>
<SYNTAX TAKE ON OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-CLIMB-ON>
<SYNTAX TAKE UP OBJECT (FIND KLUDGEBIT) = V-STAND>
<SYNTAX TAKE OBJECT ;(FIND TAKEBIT) (CARRIED IN-ROOM MANY)
OUT OBJECT = V-TAKE PRE-TAKE>
<SYNTAX TAKE OBJECT ;(FIND TAKEBIT) (CARRIED IN-ROOM MANY)
OFF OBJECT = V-TAKE PRE-TAKE>
<SYNTAX TAKE OBJECT ;(FIND TAKEBIT) (IN-ROOM CARRIED MANY)
FROM OBJECT = V-TAKE PRE-TAKE>
<SYNTAX TAKE OBJECT ;(FIND TAKEBIT) (IN-ROOM CARRIED MANY)
ON OBJECT = V-TAKE PRE-TAKE>
<SYNTAX TAKE OBJECT ;(FIND TAKEBIT) (IN-ROOM CARRIED MANY)
IN OBJECT = V-TAKE PRE-TAKE>
<SYNTAX TAKE OFF OBJECT (FIND WORNBIT) (HELD CARRIED) = V-TAKE-OFF>
<SYNONYM TAKE GRAB SEIZE CATCH GET CARRY OBTAIN>
<SYNTAX TELL OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-TELL>
<SYNTAX TELL OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
ABOUT OBJECT = V-TELL-ABOUT>
<SYNTAX THANK OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-THANK>
<SYNONYM THANK THANKS>
<SYNTAX THROW OBJECT (HELD CARRIED) = V-THROW PRE-THROW>
<SYNTAX THROW OBJECT (HELD CARRIED) UP OBJECT (FIND KLUDGEBIT)
= V-THROW PRE-THROW>
<SYNTAX THROW OBJECT (HELD CARRIED) AT OBJECT (ON-GROUND IN-ROOM)
= V-THROW PRE-THROW>
<SYNTAX THROW OBJECT (HELD CARRIED) TO OBJECT (ON-GROUND IN-ROOM)
= V-THROW PRE-THROW>
<SYNTAX THROW OBJECT (HELD CARRIED) OFF OBJECT = V-THROW-OFF>
<SYNTAX THROW OBJECT (HELD CARRIED) OVER OBJECT = V-THROW-OFF>
<SYNTAX THROW OBJECT (HELD CARRIED) THROUGH OBJECT = V-THROW PRE-THROW>
<SYNTAX THROW OBJECT (HELD CARRIED) IN OBJECT = V-THROW PRE-THROW>
<SYNONYM THROW FLING HEAVE PITCH SLING HURL TOSS>
<SYNTAX TIE OBJECT = V-TIE>
<SYNTAX TIE OBJECT (HELD MANY) AROUND OBJECT = V-PUT-ON PRE-PUT>
<SYNONYM TIE FASTEN SECURE ATTACH HITCH>
<SYNTAX TIME = V-TIME>
<SYNONYM TIME T>
<SYNTAX TOUCH OBJECT = V-TOUCH>
<SYNTAX TOUCH OBJECT WITH OBJECT (HELD CARRIED) = V-TOUCH>
<SYNONYM TOUCH TICKLE FEEL PAT PET RUB CARESS FONDLE STROKE>
<SYNTAX TRANSMIT OBJECT = V-TRANSMIT>
<SYNONYM TRANSMIT SEND BROADCAST>
<SYNTAX UNLOCK OBJECT ;(FIND DOORBIT) (ON-GROUND IN-ROOM)
WITH OBJECT (FIND KEYBIT) (HELD CARRIED HAVE) = V-UNLOCK>
<SYNTAX UNTIE OBJECT (ON-GROUND IN-ROOM HELD CARRIED) = V-UNTIE>
<SYNONYM UNTIE FREE UNFASTEN UNATTACH DETACH UNKNOT>
<SYNTAX WAIT = V-WAIT>
<SYNTAX WAIT OBJECT = V-WAIT-FOR>
<SYNTAX WAIT FOR OBJECT = V-WAIT-FOR>
<SYNTAX WAIT UNTIL OBJECT = V-WAIT-UNTIL>
<SYNONYM WAIT Z STAY LINGER>
<SYNTAX WAKE OBJECT (FIND KLUDGEBIT) = V-ALARM>
<SYNTAX WAKE UP OBJECT (FIND KLUDGEBIT) = V-ALARM>
<SYNONYM WAKE AWAKE AWAKEN ROUSE>
<SYNTAX WALK = V-WALK-AROUND>
<SYNTAX WALK OBJECT = V-WALK>
<SYNTAX WALK IN OBJECT = V-THROUGH>
<SYNTAX WALK OUT OBJECT = V-WALK-OUT>
<SYNTAX WALK ON OBJECT = V-WALK-AROUND>
<SYNTAX WALK OVER OBJECT = V-CROSS>
<SYNTAX WALK ACROSS OBJECT = V-CROSS>
<SYNTAX WALK THROUGH OBJECT = V-THROUGH>
<SYNTAX WALK AROUND OBJECT = V-WALK-AROUND>
<SYNTAX WALK BEHIND OBJECT = V-WALK-AROUND>
<SYNTAX WALK UP OBJECT (ON-GROUND IN-ROOM) = V-CLIMB-UP>
<SYNTAX WALK DOWN OBJECT (ON-GROUND IN-ROOM) = V-CLIMB-DOWN>
<SYNTAX WALK TO OBJECT = V-WALK-TO>
<SYNTAX WALK AWAY OBJECT (FIND KLUDGEBIT) = V-LEAVE>
<SYNTAX WALK UNDER OBJECT = V-WALK-UNDER>
<SYNONYM WALK GO RUN PROCEED STEP TREAD TROOP TRAMP HIKE STRIDE TRUDGE>
<SYNTAX WASH OBJECT = V-WASH>
<SYNTAX WASH UP OBJECT = V-WASH>
<SYNONYM WASH CLEAN LAUNDER>
<SYNTAX WAVE OBJECT (HELD CARRIED) = V-WAVE>
<SYNTAX WAVE = V-WAVE-AT>
<SYNTAX WAVE AT OBJECT = V-WAVE-AT>
<SYNTAX WAVE TO OBJECT = V-WAVE-AT>
<SYNTAX WEAR OBJECT (FIND WEARBIT) (HELD CARRIED TAKE) = V-WEAR>
<SYNONYM WEAR DON>
<SYNTAX WHAT = V-INCOMPLETE-QUESTION>
<SYNTAX WHAT OBJECT = V-WHAT>
<SYNONYM WHAT WHATS WHAT\'S>
<SYNTAX WHERE = V-INCOMPLETE-QUESTION>
<SYNTAX WHERE OBJECT = V-WHERE>
<SYNONYM WHERE WHERES WHERE\'S>
<SYNTAX WHO = V-INCOMPLETE-QUESTION>
<SYNTAX WHO OBJECT = V-WHO>
<SYNONYM WHO WHOS WHO\'S>
<SYNTAX WNNF = V-WNNF>
<SYNTAX WRITE AT OBJECT = V-WRITE>
<SYNTAX WRITE ON OBJECT = V-WRITE>
<SYNONYM WRITE TYPE>
<SYNTAX YELL = V-YELL>
<SYNTAX YELL AT OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-YELL>
<SYNTAX YELL TO OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-YELL>
<SYNONYM YELL SCREAM SHOUT HOWL WHOOP WAIL>
<SYNTAX YES = V-YES>
<SYNONYM YES Y OK OKAY SURE AFFIRMATI AYE YEA YEAH YUP YEP>

3310
verbs.zap Normal file

File diff suppressed because it is too large Load Diff

3177
verbs.zil Normal file

File diff suppressed because it is too large Load Diff