-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathinterrupts.zap
1221 lines (1182 loc) · 38.9 KB
/
interrupts.zap
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
.FUNCT I-PERELMAN,TOLD=0
GRTR? PART-FLAG,2 /?THN4
ZERO? REVIEWING-RECORDINGS /?CND1
?THN4: CALL2 INT,I-PERELMAN
PUT STACK,0,0
RFALSE
?CND1: CALL QUEUE,I-PERELMAN,-1
GRTR? TIME,536 \?ELS8
GRTR? LAST-ABE-TIME,536 /?ELS8
EQUAL? HERE,CONTROL-CENTER \?CND11
CRLF
PRINTI "Doctor Perelman walks jauntily into the "
PRINTD CONTROL-CENTER-OBJECT
PRINTI ". ""Good morning to all,"" he calls cheerily and begins chatting with the chief of the night shift."
CRLF
SET 'TOLD,TRUE-VALUE
?CND11: CALL1 PUT-PERELMAN-IN-THE-RIGHT-PLACE
JUMP ?CND6
?ELS8: GRTR? TIME,550 \?ELS19
GRTR? LAST-ABE-TIME,550 /?ELS19
EQUAL? HERE,CONTROL-CENTER \?CND22
IN? PERELMAN,CONTROL-CENTER \?ELS27
CRLF
PRINTI "Perelman stops talking to the technician, who hangs up his white overcoat and leaves the control room. Perelman crosses the room and picks up a thick report."
CRLF
JUMP ?CND25
?ELS27: CRLF
PRINTI "Perelman enters, looks around, and picks up a thick report."
CRLF
?CND25: SET 'TOLD,TRUE-VALUE
?CND22: CALL1 PUT-PERELMAN-IN-THE-RIGHT-PLACE
JUMP ?CND6
?ELS19: GRTR? TIME,599 \?ELS35
GRTR? LAST-ABE-TIME,599 /?ELS35
EQUAL? HERE,CONTROL-CENTER \?CND38
IN? PERELMAN,CONTROL-CENTER \?CND38
CRLF
PRINTI "Perelman puts down the report and walks toward the door. He calls to one of the technicians. ""Nat, I'll be in my office."""
CRLF
SET 'TOLD,TRUE-VALUE
?CND38: CALL1 PUT-PERELMAN-IN-THE-RIGHT-PLACE
JUMP ?CND6
?ELS35: GRTR? TIME,616 \?ELS46
GRTR? LAST-ABE-TIME,616 /?ELS46
CALL1 PERELMAN-WALKS-IN-WITH-COFFEE >TOLD
CALL1 PUT-PERELMAN-IN-THE-RIGHT-PLACE
JUMP ?CND6
?ELS46: GRTR? TIME,711 \?ELS50
GRTR? LAST-ABE-TIME,711 /?ELS50
EQUAL? HERE,OFFICE \?CND53
IN? PERELMAN,OFFICE \?CND53
CRLF
PRINTI "The telephone buzzes. ""Perelman,"" says Perelman into the receiver. The voice at the other end is so quiet that even your sensitive audio monitors can't pick it up. ""Hi, Aseejh."" Pause. ""Yes, let's get together on that."" He glances up at his terminal. ""It's almost lunch time; want to meet me in the cafeteria?"" Pause. ""Okay, ten minutes."" Perelman replaces the receiver and leaves the room."
CRLF
SET 'TOLD,TRUE-VALUE
?CND53: CALL1 PUT-PERELMAN-IN-THE-RIGHT-PLACE
JUMP ?CND6
?ELS50: GRTR? TIME,790 \?ELS61
GRTR? LAST-ABE-TIME,790 /?ELS61
CALL1 PERELMAN-WALKS-IN-WITH-COFFEE >TOLD
CALL1 PUT-PERELMAN-IN-THE-RIGHT-PLACE
JUMP ?CND6
?ELS61: GRTR? TIME,834 \?ELS65
GRTR? LAST-ABE-TIME,834 /?ELS65
EQUAL? HERE,OFFICE \?CND68
IN? PERELMAN,OFFICE \?CND68
CRLF
PRINTD PRICE
PRINTI ", Doctor Perelman's secretary, appears in the doorway. ""Doc, don't forget, you've got a meeting with Vera at two o'clock."" He glances at his watch, mumbles some impolite things under his breath, and rushes out."
CRLF
SET 'TOLD,TRUE-VALUE
?CND68: CALL1 PUT-PERELMAN-IN-THE-RIGHT-PLACE
JUMP ?CND6
?ELS65: GRTR? TIME,980 \?ELS76
GRTR? LAST-ABE-TIME,980 /?ELS76
EQUAL? HERE,OFFICE \?CND79
CRLF
PRINTI "Doctor Perelman walks into the office, carrying a pile of pink message slips. He scans them, drops all but one into a basket on his desk, picks up the phone receiver, and presses two or three buttons. Your sensitive audio pickup hears a few rings, a click, and then a young woman's voice: ""This is "
PRINTD ESTHER
PRINTI ". Can't come to the phone now. Please leave a message, though."" Pause. ""BEEP!"" Perelman speaks into the phone. ""Hi, it's Dad. I got your message, but I can't make it; I'm too tied up with the Project. I'll probably be in the office all evening if you want to talk."""
CRLF
SET 'TOLD,TRUE-VALUE
?CND79: CALL1 PUT-PERELMAN-IN-THE-RIGHT-PLACE
JUMP ?CND6
?ELS76: GRTR? TIME,1157 \?ELS87
GRTR? LAST-ABE-TIME,1157 /?ELS87
EQUAL? HERE,OFFICE \?CND90
IN? PERELMAN,OFFICE \?ELS95
CRLF
PRINTD PRICE
PRINTI ", Perelman's secretary, pops her head in the doorway. ""Hey Doc! "
JUMP ?CND93
?ELS95: CRLF
PRINTI "Perelman enters with his secretary, "
PRINTD PRICE
PRINTI ", who asks, """
?CND93: PRINTI "Need me for anything else tonight?"" Perelman, grinning, responds, ""Not unless you've decided to dump that unfairly handsome husband of yours."" She looks exasperated at what is obviously an old joke and shakes a fist at him in a mock threat. ""Really, though, I'll be fine,"" says Perelman. ""Scram."" She disappears from sight, shouting from the next room, ""Good night, Doc. Don't stay too late!"""
CRLF
SET 'TOLD,TRUE-VALUE
?CND90: CALL1 PUT-PERELMAN-IN-THE-RIGHT-PLACE
JUMP ?CND6
?ELS87: GRTR? TIME,1241 \?ELS107
GRTR? LAST-ABE-TIME,1241 /?ELS107
EQUAL? HERE,OFFICE \?CND110
IN? PERELMAN,OFFICE \?CND110
PRINTI "Perelman shoves some papers into a notebook, types something on his desk terminal, and leaves the room."
CRLF
SET 'TOLD,TRUE-VALUE
?CND110: CALL1 PUT-PERELMAN-IN-THE-RIGHT-PLACE
JUMP ?CND6
?ELS107: GRTR? TIME,1281 \?ELS118
GRTR? LAST-ABE-TIME,1281 /?ELS118
EQUAL? HERE,CONTROL-CENTER \?CND121
CRLF
PRINTI "Doctor Perelman walks into the "
PRINTD CONTROL-CENTER-OBJECT
PRINTI ". He wanders around the room, talking quietly with a few technicians. He picks up a hefty printout from the printer and settles into a swivel chair to read it."
CRLF
SET 'TOLD,TRUE-VALUE
?CND121: CALL1 PUT-PERELMAN-IN-THE-RIGHT-PLACE
JUMP ?CND6
?ELS118: GRTR? TIME,1312 \?ELS129
GRTR? LAST-ABE-TIME,1312 /?ELS129
EQUAL? HERE,CONTROL-CENTER \?CND132
IN? PERELMAN,CONTROL-CENTER \?CND132
CRLF
PRINTI "Perelman puts down the printout and rubs his eyes. He stands and unsuccessfully stifles a yawn. ""I'm going home,"" he announces to the tiny evening staff"
RANDOM 100
LESS? 50,STACK /?CND139
PRINTI ". Try not to call me unless it's an emergency"
?CND139: PRINTI "."" He leaves the control complex."
CRLF
SET 'TOLD,TRUE-VALUE
?CND132: CALL1 PUT-PERELMAN-IN-THE-RIGHT-PLACE
JUMP ?CND6
?ELS129: GRTR? TIME,1318 \?CND6
GRTR? LAST-ABE-TIME,1318 /?CND6
EQUAL? HERE,OFFICE \?CND6
PRINTI "Doctor Perelman walks wearily into the office, puts on a thin overcoat, and grabs a notebook stuffed with papers. He stops at the doorway, glancing about the room, and"
PRINT SPOTS-ACTIVE-LIGHT
PRINTI ". A smile breaks through the weary lines on his face. He raises his hand to his forehead in a friendly salute. ""Good night, PRISM."" He dims the light and closes the office door. The sensors on your monitor automatically adjust to the lower light level."
CRLF
SET 'TOLD,TRUE-VALUE
?CND6: SET 'LAST-ABE-TIME,TIME
ZERO? TOLD /FALSE
RTRUE
.FUNCT PUT-PERELMAN-IN-THE-RIGHT-PLACE
LESS? TIME,536 \?ELS5
CALL2 VISIBLE?,PERELMAN
ZERO? STACK /?CND6
EQUAL? PERELMAN,WINNER \?CND6
CALL1 CLEAR-BUF
?CND6: MOVE PERELMAN,LOCAL-GLOBALS
MOVE COFFEE,LOCAL-GLOBALS
RTRUE
?ELS5: GRTR? TIME,535 \?ELS12
LESS? TIME,550 \?ELS12
MOVE PERELMAN,CONTROL-CENTER
MOVE COFFEE,LOCAL-GLOBALS
PUTP PERELMAN,P?LDESC,STR?7
RTRUE
?ELS12: GRTR? TIME,549 \?ELS16
LESS? TIME,599 \?ELS16
MOVE PERELMAN,CONTROL-CENTER
MOVE COFFEE,LOCAL-GLOBALS
PUTP PERELMAN,P?LDESC,STR?8
RTRUE
?ELS16: GRTR? TIME,598 \?ELS20
LESS? TIME,616 \?ELS20
CALL2 VISIBLE?,PERELMAN
ZERO? STACK /?CND23
EQUAL? PERELMAN,WINNER \?CND23
CALL1 CLEAR-BUF
?CND23: MOVE PERELMAN,LOCAL-GLOBALS
MOVE COFFEE,LOCAL-GLOBALS
RTRUE
?ELS20: GRTR? TIME,615 \?ELS29
LESS? TIME,711 \?ELS29
MOVE PERELMAN,OFFICE
MOVE COFFEE,OFFICE
PUTP PERELMAN,P?LDESC,STR?9
RTRUE
?ELS29: GRTR? TIME,710 \?ELS33
LESS? TIME,790 \?ELS33
CALL2 VISIBLE?,PERELMAN
ZERO? STACK /?CND36
EQUAL? PERELMAN,WINNER \?CND36
CALL1 CLEAR-BUF
?CND36: MOVE PERELMAN,LOCAL-GLOBALS
MOVE COFFEE,LOCAL-GLOBALS
RTRUE
?ELS33: GRTR? TIME,789 \?ELS42
LESS? TIME,834 \?ELS42
MOVE PERELMAN,OFFICE
MOVE COFFEE,OFFICE
PUTP PERELMAN,P?LDESC,STR?9
RTRUE
?ELS42: GRTR? TIME,833 \?ELS46
LESS? TIME,980 \?ELS46
CALL2 VISIBLE?,PERELMAN
ZERO? STACK /?CND49
EQUAL? PERELMAN,WINNER \?CND49
CALL1 CLEAR-BUF
?CND49: MOVE COFFEE,LOCAL-GLOBALS
MOVE PERELMAN,LOCAL-GLOBALS
RTRUE
?ELS46: GRTR? TIME,979 \?ELS55
LESS? TIME,1241 \?ELS55
MOVE PERELMAN,OFFICE
PUTP PERELMAN,P?LDESC,STR?9
RTRUE
?ELS55: GRTR? TIME,1240 \?ELS59
LESS? TIME,1281 \?ELS59
CALL2 VISIBLE?,PERELMAN
ZERO? STACK /?CND62
EQUAL? PERELMAN,WINNER \?CND62
CALL1 CLEAR-BUF
?CND62: MOVE PERELMAN,LOCAL-GLOBALS
MOVE COFFEE,LOCAL-GLOBALS
RTRUE
?ELS59: GRTR? TIME,1280 \?ELS68
LESS? TIME,1312 \?ELS68
MOVE PERELMAN,CONTROL-CENTER
MOVE COFFEE,LOCAL-GLOBALS
PUTP PERELMAN,P?LDESC,STR?10
RTRUE
?ELS68: GRTR? TIME,1311 \FALSE
CALL2 VISIBLE?,PERELMAN
ZERO? STACK /?CND73
EQUAL? PERELMAN,WINNER \?CND73
CALL1 CLEAR-BUF
?CND73: MOVE PERELMAN,LOCAL-GLOBALS
MOVE COFFEE,LOCAL-GLOBALS
RTRUE
.FUNCT I-JILL,OLD-JILL-LOC
EQUAL? SYEAR,2061 \?ELS3
CALL1 IN-APARTMENT?
ZERO? STACK /FALSE
SET 'MITCHELL-NEWS-FLAG,TRUE-VALUE
CALL QUEUE,I-APARTMENT,-1
SET 'FOLLOW-FLAG,1
CALL QUEUE,I-UNFOLLOW,2
CALL2 SCORE,119
MOVE JILL,BEDROOM
FSET? APARTMENT-DOOR,OPENBIT \?ELS9
CRLF
PRINTI "You hear a noise from the open doorway"
JUMP ?CND7
?ELS9: EQUAL? HERE,LIVING-ROOM \?ELS13
CRLF
PRINTI "The apartment door opens"
JUMP ?CND7
?ELS13: CRLF
PRINTI "You hear the apartment door open"
?CND7: PRINTI " and"
LOC PLAYER
EQUAL? STACK,HERE /?CND22
MOVE PLAYER,HERE
PRINTI " you stand as"
?CND22: PRINTI " Jill comes running into the room. She seems terribly upset, throws herself against you, and begins sobbing uncontrollably. As you attempt to comfort her, she begins speaking between the sobs.
""It's Mitchell,"" she begins, and a lifelong fear of injury to your only child clutches at your heart. ""He's gone off and joined the Church of God's Word. He came and collected all his stuff about an hour ago. He said he's going to an orientation camp in Arizona. He says he'll never be able to speak to you or me again unless we join the Church. I followed him all the way to the airport but he wouldn't listen to me! He wouldn't even say goodbye to me! He wouldn't even..."" She begins sobbing even more uncontrollably, breaks away from you, and "
EQUAL? HERE,BEDROOM \?ELS31
PRINTR "throws herself down onto the bed."
?ELS31: PRINTR "runs into the bedroom."
?ELS3: FSET? JILL,TOUCHBIT /?ELS39
CALL1 IN-APARTMENT?
ZERO? STACK /?ELS39
FSET JILL,TOUCHBIT
ZERO? JILL-COUNTER /FALSE
CRLF
EQUAL? JILL-COUNTER,1,2 \?ELS49
SET 'FOLLOW-FLAG,2
CALL QUEUE,I-UNFOLLOW,2
PRINTR "Jill appears in the bedroom doorway. ""Perry, have you been out all night? You know how I worry."" She returns to the bedroom."
?ELS49: EQUAL? JILL-COUNTER,3,6,7 \?ELS53
SET 'FOLLOW-FLAG,3
CALL QUEUE,I-UNFOLLOW,2
PRINTR "Jill enters from the kitchen. ""Hi, hon. You're home early!"" She kisses you before returning to the kitchen."
?ELS53: EQUAL? JILL-COUNTER,4,5 /?THN58
EQUAL? JILL-COUNTER,8,9,10 \?ELS57
?THN58: EQUAL? JILL-COUNTER,4,10 \?ELS62
PRINTI "Jill looks up from her book"
JUMP ?CND60
?ELS62: EQUAL? JILL-COUNTER,5,8 \?ELS66
PRINTI "Jill looks up from her painting"
JUMP ?CND60
?ELS66: PRINTI "Jill stops working for a moment and smiles at you"
?CND60: SET 'YES-NO-FLAG,7
CALL QUEUE,I-YES-NO,2
PRINTR ". ""Hi, hon. Any news from your agent today?"""
?ELS57: SET 'FOLLOW-FLAG,2
CALL QUEUE,I-UNFOLLOW,2
PRINTI "Jill enters from the bedroom, "
EQUAL? JILL-COUNTER,11 \?ELS81
PRINTI "her hair wrapped in a towel"
JUMP ?CND79
?ELS81: PRINTI "wearing a robe"
?CND79: PRINTR ". ""Perry, I wish you wouldn't stay out so late."" She heads back into the bedroom."
?ELS39: EQUAL? JILL-COUNTER,14 \?ELS91
CALL QUEUE,I-JILL,-1
LOC JILL >OLD-JILL-LOC
CALL1 PUT-JILL-IN-THE-RIGHT-PLACE
EQUAL? HERE,OLD-JILL-LOC \?ELS94
CRLF
PRINTI "With a deep sigh, Jill stops cleaning the mess"
IN? JILL,HERE /?CND97
SET 'FOLLOW-FLAG,15
ADD ELAPSED-TIME,2
CALL QUEUE,I-UNFOLLOW,STACK
PRINTI " and leaves the room"
?CND97: PRINTI "."
CRLF
RFALSE
?ELS94: IN? JILL,HERE \FALSE
CRLF
PRINTI "Jill walks slowly into the room."
CRLF
RFALSE
?ELS91: GRTR? STIME,1402 \?ELS109
EQUAL? JILL-COUNTER,12 \?ELS109
SET 'JILL-COUNTER,0
MOVE JILL,BEDROOM
FCLEAR JILL-BOOK,NDESCBIT
EQUAL? HERE,BEDROOM \FALSE
CRLF
PRINTR "Jill puts down her book and curls under the covers. Moments later, her breathing indicates that she is asleep."
?ELS109: GRTR? STIME,1299 \?ELS118
EQUAL? JILL-COUNTER,11 \?ELS118
SET 'JILL-COUNTER,12
MOVE JILL,BEDROOM
MOVE JILL-BOOK,BEDROOM
FSET JILL-BOOK,NDESCBIT
EQUAL? HERE,BEDROOM \?ELS123
CRLF
PRINTR "Jill enters and picks up her book. She slips into bed and begins reading."
?ELS123: EQUAL? HERE,BATHROOM \FALSE
SET 'FOLLOW-FLAG,4
CALL QUEUE,I-UNFOLLOW,2
CRLF
PRINTR "Jill finishes drying her hair and leaves the bathroom."
?ELS118: GRTR? STIME,1242 \?ELS131
EQUAL? JILL-COUNTER,10 \?ELS131
SET 'JILL-COUNTER,11
MOVE JILL,BATHROOM
MOVE JILL-BOOK,BEDROOM
FCLEAR JILL-BOOK,NDESCBIT
EQUAL? HERE,BATHROOM \?ELS136
CRLF
PRINTR "Jill enters and begins wetting her hair."
?ELS136: EQUAL? HERE,BEDROOM \?ELS140
SET 'FOLLOW-FLAG,5
CALL QUEUE,I-UNFOLLOW,2
CRLF
PRINTR "Jill enters from the living room, placing her book down near the bed. She wanders around for a minute, looking bored. ""I think I'll do my hair,"" she says, stepping into the bathroom."
?ELS140: EQUAL? HERE,LIVING-ROOM \FALSE
SET 'FOLLOW-FLAG,2
CALL QUEUE,I-UNFOLLOW,2
CRLF
PRINTR "Jill stands, stretches, and walks into the bedroom."
?ELS131: GRTR? STIME,1137 \?ELS148
EQUAL? JILL-COUNTER,9 \?ELS148
SET 'JILL-COUNTER,10
MOVE JILL,LIVING-ROOM
MOVE JILL-BOOK,LIVING-ROOM
FSET JILL-BOOK,NDESCBIT
EQUAL? HERE,LIVING-ROOM \FALSE
CRLF
PRINTR "Jill picks up a book and sits down on the couch to read it."
?ELS148: GRTR? STIME,1084 \?ELS157
EQUAL? JILL-COUNTER,8 \?ELS157
SET 'JILL-COUNTER,9
MOVE JILL,LIVING-ROOM
EQUAL? HERE,LIVING-ROOM \FALSE
CRLF
PRINTR "Jill puts down the paintbrush and begins cleaning up the room."
?ELS157: GRTR? STIME,912 \?ELS166
EQUAL? JILL-COUNTER,7 \?ELS166
SET 'JILL-COUNTER,8
MOVE JILL,LIVING-ROOM
EQUAL? HERE,LIVING-ROOM \?ELS171
CRLF
PRINTR "Jill enters the living room and looks around as though trying to decide what to do. She walks over to her easel, stares at it for a few moments, and then picks up a paintbrush."
?ELS171: EQUAL? HERE,KITCHEN \FALSE
SET 'FOLLOW-FLAG,6
CALL QUEUE,I-UNFOLLOW,2
CRLF
PRINTR "Jill finishes the last of the dishes and walks into the living room."
?ELS166: GRTR? STIME,859 \?ELS179
EQUAL? JILL-COUNTER,6 \?ELS179
SET 'JILL-COUNTER,7
MOVE JILL,KITCHEN
MOVE SALAD,LOCAL-GLOBALS
EQUAL? HERE,KITCHEN \FALSE
CRLF
PRINTR "Jill finishes her salad, walks over to the sink, and begins cleaning some dishes."
?ELS179: GRTR? STIME,813 \?ELS188
EQUAL? JILL-COUNTER,5 \?ELS188
SET 'JILL-COUNTER,6
MOVE SALAD,KITCHEN
FSET SALAD,NDESCBIT
MOVE JILL,KITCHEN
FCLEAR REFRIGERATOR,OPENBIT
EQUAL? HERE,KITCHEN \?ELS193
CRLF
PRINTI "Jill walks in and gets a "
PRINTD SALAD
PRINTI " from the "
PRINTD REFRIGERATOR
PRINTI ". She sits at the "
PRINTD DINETTE-SET
PRINTR " and begins slowly munching on the salad."
?ELS193: EQUAL? HERE,LIVING-ROOM \FALSE
SET 'FOLLOW-FLAG,3
CALL QUEUE,I-UNFOLLOW,2
CRLF
PRINTR "Jill lays down her brush. ""I'm getting hungry."" She heads off into the kitchen."
?ELS188: GRTR? STIME,697 \?ELS207
EQUAL? JILL-COUNTER,4 \?ELS207
SET 'JILL-COUNTER,5
MOVE JILL,LIVING-ROOM
FCLEAR JILL-BOOK,NDESCBIT
EQUAL? HERE,LIVING-ROOM \FALSE
CRLF
PRINTR "Jill puts down the book and stretches. She walks over to her easel, stares at the painting for a moment, and picks up a paintbrush."
?ELS207: GRTR? STIME,644 \?ELS216
EQUAL? JILL-COUNTER,3 \?ELS216
SET 'JILL-COUNTER,4
MOVE JILL,LIVING-ROOM
MOVE JILL-BOOK,LIVING-ROOM
FSET JILL-BOOK,NDESCBIT
MOVE SALAD,REFRIGERATOR
FCLEAR SALAD,NDESCBIT
EQUAL? HERE,LIVING-ROOM \?ELS221
CRLF
PRINTR "Jill walks from the kitchen to the bedroom, returns with her book, settles onto the couch, and begins reading."
?ELS221: EQUAL? HERE,BEDROOM \?ELS225
CRLF
PRINTI "Jill walks into the bedroom, picks up her book, and returns to the living room."
CRLF
RFALSE
?ELS225: EQUAL? HERE,KITCHEN \FALSE
SET 'FOLLOW-FLAG,6
CALL QUEUE,I-UNFOLLOW,2
FCLEAR REFRIGERATOR,OPENBIT
CRLF
PRINTI "Jill puts the salad in the "
PRINTD REFRIGERATOR
PRINTR " and goes into the living room."
?ELS216: GRTR? STIME,591 \?ELS235
EQUAL? JILL-COUNTER,2 \?ELS235
SET 'JILL-COUNTER,3
MOVE JILL,KITCHEN
MOVE SALAD,KITCHEN
FSET SALAD,NDESCBIT
EQUAL? HERE,KITCHEN \?ELS240
CRLF
PRINTR "Jill enters and begins making a salad."
?ELS240: EQUAL? HERE,BEDROOM \?ELS244
SET 'FOLLOW-FLAG,7
CALL QUEUE,I-UNFOLLOW,2
CRLF
PRINTR "Jill walks out of the room, toward the living room."
?ELS244: EQUAL? HERE,LIVING-ROOM \FALSE
SET 'FOLLOW-FLAG,3
CALL QUEUE,I-UNFOLLOW,2
CRLF
PRINTR "Jill passes through on her way from the bedroom to the kitchen."
?ELS235: GRTR? STIME,522 \?ELS252
EQUAL? JILL-COUNTER,1 \?ELS252
SET 'JILL-COUNTER,2
MOVE JILL,BEDROOM
EQUAL? HERE,BEDROOM \FALSE
CRLF
PRINTR "Jill finishes dressing and begins neatening up the room."
?ELS252: GRTR? STIME,478 \?ELS261
LESS? STIME,1380 \?ELS261
ZERO? JILL-COUNTER \?ELS261
SET 'JILL-COUNTER,1
MOVE JILL,BEDROOM
EQUAL? HERE,BEDROOM \FALSE
CRLF
PRINTR "Jill rubs her eyes and rolls out of bed. ""Morning, honey! I sure slept like a stone!"" She gives you a quick kiss and begins dressing."
?ELS261: ZERO? JILL-NOT-SPOKEN-YET /FALSE
IN? JILL,HERE \FALSE
ZERO? JILL-COUNTER /FALSE
RANDOM 100
LESS? 5,STACK /FALSE
SET 'JILL-NOT-SPOKEN-YET,FALSE-VALUE
EQUAL? SYEAR,2041 \?ELS275
CRLF
PRINTI "Jill looks up. ""Perry, I heard a news report yesterday about interest rates and housing prices. If the economy keeps going the way it's going, and someone buys your Africa book, we might be able to afford a house next year!"""
CRLF
RFALSE
?ELS275: CRLF
PRINTI """Oh, Perry! Clave called while you were out,"" says Jill. ""The firm is sending him to Japan for a week; he'll call when he gets back. He says not to worry, he'll only be in the American section. He says that the kids keep asking for you."""
CRLF
RFALSE
.FUNCT I-MITCHELL
CALL1 IN-APARTMENT?
ZERO? STACK \?ELS3
EQUAL? HERE,PARKVIEW-HALL /?ELS3
CALL2 INT,I-MITCHELL
PUT STACK,0,0
RFALSE
?ELS3: GRTR? STIME,1374 \?ELS7
EQUAL? MITCHELL-COUNTER,4 \?ELS7
SET 'MITCHELL-COUNTER,0
MOVE HOMEWORK,LOCAL-GLOBALS
MOVE MITCHELL,LOCAL-GLOBALS
EQUAL? HERE,LIVING-ROOM \FALSE
SET 'FOLLOW-FLAG,14
CALL QUEUE,I-UNFOLLOW,2
CRLF
PRINTR """Good night, Dad."" Mitch gives you a quick kiss and goes to his ""room"" on the other side of the partition."
?ELS7: GRTR? STIME,1120 \?ELS16
EQUAL? MITCHELL-COUNTER,3 \?ELS16
SET 'MITCHELL-COUNTER,4
MOVE HOMEWORK,LIVING-ROOM
MOVE LOGIC-GAME,LOCAL-GLOBALS
EQUAL? HERE,LIVING-ROOM \FALSE
CRLF
PRINTI "Mitchell puts away the "
PRINTD LOGIC-GAME
PRINTR " and spreads out his homework."
?ELS16: GRTR? STIME,1011 \?ELS27
EQUAL? MITCHELL-COUNTER,2 \?ELS27
SET 'MITCHELL-COUNTER,3
MOVE MITCHELL,LIVING-ROOM
MOVE LOGIC-GAME,MITCHELL
EQUAL? HERE,PARKVIEW-HALL \?ELS32
SET 'FOLLOW-FLAG,11
CALL QUEUE,I-UNFOLLOW,2
PRINTI "Mitchell comes running down the hall. ""Hey Dad"
PRINT ALGEBRA
PRINTI " He "
FSET? APARTMENT-DOOR,OPENBIT /?CND35
PRINTI "opens the door and "
?CND35: PRINTI "bounds into the apartment"
FSET? APARTMENT-DOOR,OPENBIT /?CND42
PRINTI ", closing the door behind him"
?CND42: PRINTR "."
?ELS32: EQUAL? HERE,LIVING-ROOM \?ELS53
FSET? APARTMENT-DOOR,OPENBIT /?CND54
PRINTI "The door opens and "
?CND54: PRINTI "Mitchell runs into the apartment. "
JUMP ?CND51
?ELS53: PRINTI "You hear "
FSET? APARTMENT-DOOR,OPENBIT /?CND65
PRINTI "the front door open, followed by "
?CND65: PRINTI "Mitchell's voice. "
?CND51: PRINTI """I'm home"
PRINT ALGEBRA
EQUAL? HERE,LIVING-ROOM \?CND74
PRINTI " He pulls out his favorite "
PRINTD LOGIC-GAME
PRINTI " and settles into a corner."
?CND74: CRLF
RTRUE
?ELS27: GRTR? STIME,505 \?ELS82
EQUAL? MITCHELL-COUNTER,1 \?ELS82
SET 'MITCHELL-COUNTER,2
MOVE MITCHELL,LOCAL-GLOBALS
EQUAL? HERE,PARKVIEW-HALL \?ELS87
SET 'FOLLOW-FLAG,10
CALL QUEUE,I-UNFOLLOW,2
CRLF
PRINTR "Mitchell emerges from the apartment, carrying his lunch box. ""Hi, Dad! See you later!"" He dashes down the stairs."
?ELS87: SET 'FOLLOW-FLAG,12
CALL QUEUE,I-UNFOLLOW,2
CRLF
PRINTI """Mom! Dad!"" yells Mitchell. ""I'm off to school!"""
EQUAL? HERE,LIVING-ROOM \?CND94
PRINTI " Mitchell waves to you and leaves."
?CND94: CRLF
RTRUE
?ELS82: GRTR? STIME,463 \FALSE
LESS? STIME,720 \FALSE
ZERO? MITCHELL-COUNTER \FALSE
SET 'MITCHELL-COUNTER,1
MOVE MITCHELL,LIVING-ROOM
EQUAL? HERE,LIVING-ROOM \FALSE
CRLF
PRINTR "Mitchell appears from behind his partition and begins getting ready for school."
.FUNCT I-APARTMENT
EQUAL? JILL-COUNTER,13 \?ELS5
SET 'JILL-COUNTER,14
CALL QUEUE,I-JILL,28
IN? JILL,HERE \FALSE
CRLF
PRINTR "Jill, with a few final sniffles, stops crying and begins straightening up the apartment."
?ELS5: CALL1 IN-APARTMENT?
ZERO? STACK \?ELS12
CALL2 INT,I-APARTMENT
PUT STACK,0,0
RFALSE
?ELS12: GRTR? STIME,1320 /?THN15
LESS? STIME,480 \?ELS14
?THN15: CALL QUEUE,I-APARTMENT,30
RSTACK
?ELS14: EQUAL? SYEAR,2041 /FALSE
ZERO? APARTMENT-RAID-FLAG \FALSE
RANDOM 100
LESS? RAID-PROB,STACK /?ELS25
FSET? APARTMENT-DOOR,OPENBIT \?ELS28
CRLF
PRINTI "You hear a commotion in the hallway and then"
JUMP ?CND26
?ELS28: CRLF
PRINTI "WHAM! The door of your apartment slams open and"
?CND26: EQUAL? HERE,LIVING-ROOM /?CND35
PRINTI ", as you rush into the living room,"
?CND35: PRINTI " a half-dozen Border Security Force officers storm in, rifles ready. You freeze as they tramp about the apartment wielding Rad-Detectors. "
SET 'APARTMENT-RAID-FLAG,TRUE-VALUE
SET 'HERE,LIVING-ROOM
MOVE PLAYER,LIVING-ROOM
EQUAL? SYEAR,2071 \?CND42
PRINTI "Almost without reason, they tear your curtains, spill food onto the kitchen floor, and overturn furniture. "
ZERO? BOOK-PURCHASED /?CND42
PRINTI "One of the officers picks up an old, beautiful "
PRINTD BOOK
PRINTI " that you've owned for years and smiles gleefully as he rips it to shreds. "
?CND42: PRINTI "After a few nightmare minutes, they seem satisfied"
EQUAL? SYEAR,2051 \?ELS61
CALL2 SCORE,8
PRINTI " and begin to file out. The apparent leader turns to you. ""Sorry for the inconvenience,"" he says apologetically. ""You know how things are. We're only doing it for your own protection."" He closes the door behind him. You hear sobbing and turn to see Jill crying in the corner of the living room"
IN? MITCHELL,HERE \?CND64
PRINTI ". Mitchell, exhibiting the innocent resilience of a child, resumes his normal activities"
?CND64: PRINTI "."
CRLF
FCLEAR APARTMENT-DOOR,OPENBIT
CALL2 INT,I-JILL
PUT STACK,0,0
CALL QUEUE,I-APARTMENT,10
SET 'JILL-COUNTER,13
MOVE PLAYER,LIVING-ROOM
MOVE JILL,LIVING-ROOM
RTRUE
?ELS61: EQUAL? SYEAR,2061 \?ELS72
CALL2 SCORE,9
FCLEAR APARTMENT-DOOR,OPENBIT
CALL2 INT,I-APARTMENT
PUT STACK,0,0
PRINTR " and begin to leave. One officer turns to you. ""The place is clean,"" he says gruffly. ""Keep it that way."" He slams the door behind him."
?ELS72: CALL2 SCORE,10
FSET APARTMENT-DOOR,OPENBIT
CALL2 INT,I-APARTMENT
PUT STACK,0,0
PRINTR " and march out without a word, leaving the door open behind them."
?ELS25: ADD RAID-PROB,6 >RAID-PROB
RFALSE
.FUNCT I-CURFEW
EQUAL? HERE,JAIL-CELL \?ELS5
GRTR? ELAPSED-TIME,100 \?ELS10
CALL QUEUE,I-CURFEW,5
RFALSE
?ELS10: MOVE BLANKET,JAIL-CELL
SET 'LIGHT-LEVEL,3
CRLF
PRINTI "A bored cop comes along, opens your cell, and steers you out of the building. ""We find you out after curfew again,"" he says, ""we won't treat you so easy. You goddam vagrants, you oughtta be thrown outta town."" He settles for throwing you out of the "
PRINTD POLICE-STATION-OBJECT
PRINTI "."
CRLF
CRLF
CALL2 GOTO,ELM-AND-PARK
RSTACK
?ELS5: GRTR? STIME,420 \?ELS18
LESS? STIME,1260 \?ELS18
CALL2 INT,I-CURFEW
PUT STACK,0,0
RFALSE
?ELS18: FSET? HERE,STREETBIT /?ELS22
CALL QUEUE,I-CURFEW,-1
RFALSE
?ELS22: RANDOM 100
LESS? 8,STACK /?ELS24
EQUAL? SYEAR,2071 \?ELS29
CALL2 SCORE,117
CALL2 JIGS-UP,STR?11
RSTACK
?ELS29: GRTR? STIME,1260 \?ELS34
SUB 1440,STIME
ADD 420,STACK
CALL QUEUE,I-CURFEW,STACK
JUMP ?CND32
?ELS34: SUB 420,STIME
CALL QUEUE,I-CURFEW,STACK
?CND32: CALL2 SCORE,116
CRLF
PRINTI "A police car pulls up next to you and a burly cop gets out. He discovers that you have no curfew pass and hustles you into the rear. Minutes later, you are flung into a tiny cell."
CRLF
CRLF
CALL2 GOTO,JAIL-CELL
RSTACK
?ELS24: CALL QUEUE,I-CURFEW,-1
RFALSE
.FUNCT I-SUNRISE-SUNSET,X
MUL SMONTH,20
SUB STACK,20 >X
ADD STIME,X
GRTR? STACK,455 \?ELS3
ADD LAST-SUN-TIME,X
GRTR? STACK,455 /?ELS3
SET 'LIGHT-LEVEL,1
FSET? HERE,OUTSIDEBIT \?CND1
CRLF
PRINTI "You begin to see the faint glow of dawn from the east."
CRLF
JUMP ?CND1
?ELS3: ADD STIME,X
GRTR? STACK,469 \?ELS12
ADD LAST-SUN-TIME,X
GRTR? STACK,469 /?ELS12
SET 'LIGHT-LEVEL,2
FSET? HERE,OUTSIDEBIT \?CND1
EQUAL? SYEAR,2041,2051 \?ELS20
CRLF
PRINTI "The first rays of the sun begin streaming between the buildings to the east."
CRLF
JUMP ?CND1
?ELS20: CALL2 SCORE,118
CRLF
PRINTI "The glow in the east brightens, as the sun attempts to break through the hazy smog."
CRLF
JUMP ?CND1
?ELS12: ADD STIME,X
GRTR? STACK,490 \?ELS28
ADD LAST-SUN-TIME,X
GRTR? STACK,490 /?ELS28
SET 'LIGHT-LEVEL,3
FSET? HERE,OUTSIDEBIT \?CND1
CRLF
PRINTI "The sky continues to brighten. Dawn is over; day has begun."
CRLF
JUMP ?CND1
?ELS28: GRTR? STIME,725 \?ELS37
GRTR? LAST-SUN-TIME,725 /?ELS37
FSET? HERE,OUTSIDEBIT \?CND1
GRTR? X,50 \?ELS45
EQUAL? SYEAR,2041,2051 \?ELS48
CRLF
PRINTI "The sun, beating down warmly on you, has reached its midday apex."
CRLF
JUMP ?CND1
?ELS48: CALL2 SCORE,118
CRLF
PRINTI "The diffuse glow of the sun is nearly straight overhead, another gray noontime."
CRLF
JUMP ?CND1
?ELS45: EQUAL? SYEAR,2041,2051 \?ELS59
CRLF
PRINTI "The noontime sun has risen fairly high in the southern sky, taking some of the chill out of this wintry day."
CRLF
JUMP ?CND1
?ELS59: CALL2 SCORE,118
CRLF
PRINTI "The sun's feeble glow is skirting the building tops toward the south, providing little comfort or warmth on this gray, dismal day."
CRLF
JUMP ?CND1
?ELS37: SUB STIME,X
GRTR? STACK,1010 \?ELS67
SUB LAST-SUN-TIME,X
GRTR? STACK,1010 /?ELS67
SET 'LIGHT-LEVEL,2
FSET? HERE,OUTSIDEBIT \?CND1
EQUAL? SYEAR,2041,2051 \?ELS75
CRLF
PRINTI "The sun is dropping very low in the western sky."
CRLF
JUMP ?CND1
?ELS75: CALL2 SCORE,118
CRLF
PRINTI "The sky is darkening as the sun sinks into the smoggy haze of the horizon."
CRLF
JUMP ?CND1
?ELS67: SUB STIME,X
GRTR? STACK,1028 \?ELS83
SUB LAST-SUN-TIME,X
GRTR? STACK,1028 /?ELS83
SET 'LIGHT-LEVEL,1
FSET? HERE,OUTSIDEBIT \?CND1
EQUAL? SYEAR,2041,2051 \?ELS91
CRLF
PRINTI "Twilight casts its long shadows across the city as the sun disappears in the west."
CRLF
JUMP ?CND1
?ELS91: CRLF
PRINTI "The dusk continues to gather; an ominous darkness settles onto the city."
CRLF
JUMP ?CND1
?ELS83: SUB STIME,X
GRTR? STACK,1049 \?CND1
SUB LAST-SUN-TIME,X
GRTR? STACK,1049 /?CND1
SET 'LIGHT-LEVEL,0
FSET? HERE,OUTSIDEBIT \?CND1
CRLF
PRINTI "It is night."
CRLF
?CND1: SET 'LAST-SUN-TIME,STIME
RFALSE
.FUNCT I-SKYCAB,OLD-WINNER
CALL QUEUE,I-SKYCAB,-1
INC 'SKYCAB-COUNTER
EQUAL? SKYCAB-COUNTER,1 \?ELS5
CRLF
PRINTI "The gentle voice of your domestic computer calls softly from one of its many unseen speakers. ""The skycab you asked for is now waiting on the roof."" Jill "
EQUAL? HERE,MASTER-BEDROOM \?ELS10
PRINTI "summons the robutler to carry your baggage"
JUMP ?CND8
?ELS10: PRINTI "appears at the top of the steps with the robutler, who is carrying several bags"
?CND8: PRINTI ". ""Algie has everything, Perry. Let's get going!""
You take a last look around the apartment and follow Jill and Algie into the hallway and up to the roofpad. As you clamber into the waiting skycab, Jill gives the robutler a fond farewell pat. The skycab climbs lazily and veers off to the northeast."
CRLF
CRLF
MOVE MAGAZINE,JILL
CALL2 GOTO,SKYCAB
MOVE SEAT,SKYCAB
MOVE PLAYER,SEAT
MOVE JILL,HERE
RTRUE
?ELS5: EQUAL? SKYCAB-COUNTER,2 \?ELS20
CRLF
PRINTI "The cab enters the central Rockvil traffic pattern, gently curving along the ring of downtown parks. "
SET 'OLD-WINNER,WINNER
SET 'WINNER,PLAYER
CALL PERFORM,V?EXAMINE,PARK-OBJECT
SET 'WINNER,OLD-WINNER
CRLF
PRINTI "Jill, glancing through yet another "
PRINTD MAGAZINE-ARTICLE
PRINTR " on the Silver Dove, says, ""This story talks about the new athletics and art forms that are still being discovered for the weightless area at the axes of the habitats. Oh, Perry, I'm so excited,"" she adds, unnecessarily."
?ELS20: EQUAL? SKYCAB-COUNTER,3 \?ELS28
CRLF
PRINTI "The skycab continues its wide arc around the downtown area, approaching the Rockvil Pier. "
SET 'OLD-WINNER,WINNER
SET 'WINNER,PLAYER
CALL PERFORM,V?EXAMINE,RIVER
SET 'WINNER,OLD-WINNER
RTRUE
?ELS28: EQUAL? SKYCAB-COUNTER,4 \?ELS32
CRLF
PRINTI "As the cab whisks northward along the edge of the river, y"
PRINT RS-DESC
CRLF
RTRUE
?ELS32: EQUAL? SKYCAB-COUNTER,5 \?ELS36
CRLF
PRINTI "As the skycab begins its approach to the spaceport, it passes over the museum established on the site of the former BSF Base, a sobering monument to one of mankind's great follies.
Suddenly the "
PRINTD VIEWSCREEN
PRINTR " lights up, and Mitchell's face appears. ""Hi, Mom, Dad! I wanted to wish you bon voyage, and I enlisted a little help!"" He expands the field of vision to include the entire living room of his spacious apartment at the Marine Biology Institute in Nova Scotia. The room is filled with your grandchildren and great-grandchildren, plus various in-laws, more than twenty members of the Simm clan. Everyone is hooting, yelling, waving, and blowing kisses. ""We're having a big party in your honor -- I'm only sorry we couldn't be there with you. We're real proud of you both, and excited for you, too. Call me when you get to the habitat! Bye!"" The clan signs off by singing Auld Lang Syne, and when the screen goes dark, you notice that Jill's eyes are wet, and a second later you realize that yours are, as well."
?ELS36: EQUAL? SKYCAB-COUNTER,6 \FALSE
CALL1 END-IT
RSTACK
.FUNCT I-SUFFOCATE
INC 'SUFFOCATE-COUNTER
EQUAL? SUFFOCATE-COUNTER,17 \?ELS3
CALL2 INT,I-SUFFOCATE
PUT STACK,0,0
MOVE SABOTEURS,LOCAL-GLOBALS
EQUAL? HERE,CORE \FALSE
CRLF
PRINTR "A National Guard patrol enters the area and rushes to the side of the prone bodies. ""Still breathing, but barely!"" shouts the leader. They grab the saboteurs and carry them out."
?ELS3: EQUAL? SUFFOCATE-COUNTER,16 \?ELS12
CALL2 INT,I-SABOTAGE
PUT STACK,0,0
CALL QUEUE,I-SUFFOCATE,24
PUTP SABOTEURS,P?LDESC,STR?12
EQUAL? HERE,CORE \FALSE
CRLF
PRINTR "One of the men suddenly gasps and falls over. The others dash to his side, then slowly pass out themselves."
?ELS12: EQUAL? SUFFOCATE-COUNTER,13 \?ELS19
EQUAL? HERE,CORE \?ELS19
CRLF
PRINTR "The saboteur with the gun says, ""Hurry, will ya! I need to get some fresh air!"" The apparent leader replies, ""We're working as fast as we can! Keep your cool."""
?ELS19: EQUAL? SUFFOCATE-COUNTER,8 \FALSE
EQUAL? HERE,CORE \FALSE
SET 'YES-NO-FLAG,8
CALL QUEUE,I-YES-NO,2
CRLF
PRINTR "One of the men, tugging at the collar of his smock, says, ""Stuffy in here, isn't it?"""
.FUNCT I-AIR-CONDITIONING
INC 'AIR-CONDITIONING-COUNTER
EQUAL? AIR-CONDITIONING-COUNTER,20,35 \?ELS3
CALL1 V-DIAGNOSE
RTRUE
?ELS3: EQUAL? AIR-CONDITIONING-COUNTER,46 \FALSE
ZERO? SIMULATING /?ELS8
CRLF
PRINTI "The raging fever must be affecting your mind; the world around you seems to be shimmering away and vanishing. Then suddenly -- you're out of "
PRINTD SIMULATION-MODE
PRINTI "! Something is terribly wrong! Nothing feels right. You can't even think straight. Your functions are fading..."
CRLF
CRLF
CALL1 FINISH
RFALSE
?ELS8: CRLF
PRINTI "The dysfunction of your systems is becoming incredibly serious, and you feel it as almost a burning pain. It numbs your mind, blocks your thought patterns. You feel your consciousness fade away..."
CRLF
CRLF
CALL1 FINISH
RFALSE
.FUNCT I-RORSCHACH
CALL QUEUE,I-RORSCHACH,-1
GRTR? GRIMWOLD-COUNTER,0 \?CND1
INC 'GRIMWOLD-COUNTER
GRTR? GRIMWOLD-COUNTER,8 \?ELS6
MOVE GRIMWOLD,LOCAL-GLOBALS
MOVE PERELMAN,LOCAL-GLOBALS
FCLEAR PERELMAN,NDESCBIT
CALL2 INT,I-RORSCHACH
PUT STACK,0,0
SET 'GRIMWOLD-COUNTER,0
MOVE COFFEE,LOCAL-GLOBALS
CALL2 VISIBLE?,PERELMAN
ZERO? STACK /?CND7
EQUAL? PERELMAN,WINNER \?CND7
CALL1 CLEAR-BUF
?CND7: CALL QUEUE,I-PERELMAN,30
ADD TIME,25 >LAST-ABE-TIME
CRLF
PRINTR """Hmmph!"" says Grimwold, whirling and heading for the door. ""This rudeness will certainly figure in my report!"" Perelman looks at you with a mixture of annoyance and puzzlement, then rushes off after the psychiatrist."
?ELS6: CRLF
PRINTR "After a moment, Grimwold again asks, ""Can we begin now?"""
?CND1: IN? GRIMWOLD,OFFICE /?ELS20
MOVE GRIMWOLD,OFFICE
MOVE PERELMAN,OFFICE
FSET PERELMAN,NDESCBIT
EQUAL? HERE,OFFICE /?ELS23
CALL QUEUE,I-RORSCHACH,1
RFALSE
?ELS23: CALL2 INT,I-MESSAGE-E
PUT STACK,0,0
CRLF
PRINTI "Perelman enters with Dr. Ernest Grimwold, a quintessential Viennese psychiatrist whom you met a few days earlier, and nods to you. ""Good "
GRTR? TIME,720 \?ELS30
PRINTI "afternoon"
JUMP ?CND28
?ELS30: PRINTI "morning"
?CND28: PRINTI ", PRISM. You remember Dr. Grimwold."""
JUMP ?CND18
?ELS20: EQUAL? HERE,OFFICE /?ELS40
CALL QUEUE,I-RORSCHACH,1
RFALSE
?ELS40: CALL2 INT,I-MESSAGE-E
PUT STACK,0,0
CRLF
PRINTI "Perelman"
PRINT SPOTS-ACTIVE-LIGHT
PRINTI " come on. ""Ah, here you are. PRISM, you remember Dr. Ernest Grimwold."" You recognize and greet the psychiatrist who gave you a series of psych tests a few days ago."
?CND18: SET 'GRIMWOLD-COUNTER,1
CRLF
CRLF
PRINTR """It's a pleasure to see you again,"" says Grimwold, in an accent that matches his appearance perfectly. ""This should take only a couple of minutes. I'm going to show you some patterns, and I simply want you to tell me the single word that comes to mind when you see them. Don't think about it; just say the first word you think of.""
Grimwold reaches below your viewing area and picks up a sheaf of placards. ""Ready to begin?"" he asks."
.FUNCT BLOT-ACTION,CNT=0,WORDS-IN-RESPONSE
?PRG1: ZERO? CNT \?ELS5
CALL2 INIT-STATUS-LINE,18
CALL1 STATUS-LINE
JUMP ?CND3
?ELS5: PRINTI "Grimwold nods knowingly, mumbles under his breath, and makes a note in his pad. "
?CND3: CALL1 INK-BLOT
PRINTI """Okay, here's the "
ZERO? CNT \?ELS14
PRINTI "first"
JUMP ?CND12
?ELS14: PRINTI "next"
?CND12: PRINTI " one,"" he says, holding a card up to your visual unit."
CRLF
?PRG23: CRLF
PRINTI ">"
READ P-INBUF,P-LEXV