-
Notifications
You must be signed in to change notification settings - Fork 15
/
misc.zap
610 lines (551 loc) · 12.8 KB
/
misc.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
.FUNCT VISIBLE?:ANY:1:1,OBJ
CALL ACCESSIBLE?,OBJ,TRUE-VALUE
RSTACK
.FUNCT CLOSED?:ANY:1:2,OBJ,VIS?
ZERO? OBJ /TRUE
IN? OBJ,ROOMS /FALSE
FSET? OBJ,FL-CONTAINER \?CCL7
FSET? OBJ,FL-OPEN /FALSE
ZERO? VIS? /TRUE
FSET? OBJ,FL-TRANSPARENT /FALSE
RTRUE
?CCL7: FSET? OBJ,FL-SURFACE /FALSE
FSET? OBJ,FL-ALIVE /FALSE
FSET? OBJ,FL-PERSON /FALSE
RTRUE
.FUNCT ACCESSIBLE?:ANY:1:2,OBJ,VIS?,WLOC,OLOC,CLSD-PTR,PTR,CNT,TBL,END
ZERO? OBJ /FALSE
EQUAL? OBJ,ROOMS /TRUE
SET 'PTR,GL-LOC-TRAIL
SET 'OLOC,OBJ
?PRG5: PUT PTR,0,OLOC
INC 'CNT
ZERO? OLOC /?REP6
EQUAL? OLOC,WINNER /?REP6
IN? OLOC,ROOMS /?REP6
IN? OLOC,LOCAL-GLOBALS /?REP6
IN? OLOC,GLOBAL-OBJECTS /?REP6
IN? OLOC,GENERIC-OBJECTS /?REP6
LOC OLOC >OLOC
ADD PTR,2 >PTR
ZERO? OLOC /?PRG5
CALL CLOSED?,OLOC,VIS?
ZERO? STACK /?PRG5
ZERO? CLSD-PTR \?PRG5
SET 'CLSD-PTR,PTR
JUMP ?PRG5
?REP6: SET 'PTR,FALSE-VALUE
SET 'WLOC,WINNER
?PRG21: ZERO? WLOC /FALSE
INTBL? WLOC,GL-LOC-TRAIL,CNT >PTR /?REP22
IN? WLOC,ROOMS /?REP22
LOC WLOC >WLOC
ZERO? WLOC /?PRG21
CALL CLOSED?,WLOC,VIS?
ZERO? STACK /?PRG21
RFALSE
?REP22: ZERO? WLOC /?CND33
IN? WLOC,ROOMS \?CND33
ZERO? PTR \?CND33
GETPT WLOC,P?GLOBAL >TBL
ZERO? TBL /?CND33
PTSIZE TBL
ADD TBL,STACK >END
?PRG41: LESS? TBL,END \?CND33
GET TBL,0
INTBL? STACK,GL-LOC-TRAIL,CNT >PTR /?CND33
ADD TBL,2 >TBL
JUMP ?PRG41
?CND33: ZERO? WLOC /?CND47
IN? WLOC,ROOMS \?CND47
ZERO? PTR \?CND47
FIRST? GLOBAL-OBJECTS >TBL /?PRG54
?PRG54: ZERO? TBL /?CND47
INTBL? TBL,GL-LOC-TRAIL,CNT >PTR /?CND47
NEXT? TBL >TBL /?PRG54
JUMP ?PRG54
?CND47: ZERO? PTR /FALSE
ZERO? CLSD-PTR /TRUE
GRTR? PTR,CLSD-PTR /FALSE
RTRUE
.FUNCT RT-PRINT-DESC:ANY:1:1,OBJ
FSET? OBJ,FL-HAS-SDESC \?CCL3
GETP OBJ,P?ACTION
CALL STACK,M-OBJDESC
RSTACK
?CCL3: PRINTD OBJ
RTRUE
.FUNCT RT-PRINT-ARTICLE:ANY:3:3,OBJ,ART,CAP?,MASK
ZERO? CAP? \?CND1
PRINTC 32
SET 'MASK,32
?CND1: EQUAL? ART,K-ART-A \?CCL5
FSET? OBJ,FL-YOUR \?CCL8
BOR 89,MASK
PRINTC STACK
PRINTI "our"
RTRUE
?CCL8: FSET? OBJ,FL-PLURAL \?CCL10
BOR 83,MASK
PRINTC STACK
PRINTI "ome"
RTRUE
?CCL10: BOR 65,MASK
PRINTC STACK
FSET? OBJ,FL-VOWEL \FALSE
PRINTC 110
RTRUE
?CCL5: EQUAL? ART,K-ART-THE \?CCL15
FSET? OBJ,FL-YOUR \?CCL18
BOR 89,MASK
PRINTC STACK
PRINTI "our"
RTRUE
?CCL18: BOR 84,MASK
PRINTC STACK
PRINTI "he"
RTRUE
?CCL15: EQUAL? ART,K-ART-ANY \?CCL20
BOR 65,MASK
PRINTC STACK
PRINTI "ny"
RTRUE
?CCL20: EQUAL? ART,K-ART-HE \?CCL22
FSET? OBJ,FL-PLURAL \?CCL25
FSET? OBJ,FL-COLLECTIVE /?CCL25
BOR 84,MASK
PRINTC STACK
PRINTI "hey"
RTRUE
?CCL25: FSET? OBJ,FL-PERSON /?CCL29
BOR 73,MASK
PRINTC STACK
PRINTC 116
RTRUE
?CCL29: EQUAL? OBJ,CH-PLAYER \?CCL31
BOR 89,MASK
PRINTC STACK
PRINTI "ou"
RTRUE
?CCL31: FSET? OBJ,FL-FEMALE \?CCL33
BOR 83,MASK
PRINTC STACK
PRINTI "he"
RTRUE
?CCL33: BOR 72,MASK
PRINTC STACK
PRINTC 101
RTRUE
?CCL22: EQUAL? ART,K-ART-HIM \?CCL35
FSET? OBJ,FL-PLURAL \?CCL38
FSET? OBJ,FL-COLLECTIVE /?CCL38
BOR 84,MASK
PRINTC STACK
PRINTI "hem"
RTRUE
?CCL38: FSET? OBJ,FL-PERSON /?CCL42
BOR 73,MASK
PRINTC STACK
PRINTC 116
RTRUE
?CCL42: EQUAL? OBJ,CH-PLAYER \?CCL44
BOR 89,MASK
PRINTC STACK
PRINTI "ou"
RTRUE
?CCL44: FSET? OBJ,FL-FEMALE \?CCL46
BOR 72,MASK
PRINTC STACK
PRINTI "er"
RTRUE
?CCL46: BOR 72,MASK
PRINTC STACK
PRINTI "im"
RTRUE
?CCL35: EQUAL? ART,K-ART-HIS \FALSE
FSET? OBJ,FL-PLURAL \?CCL51
FSET? OBJ,FL-COLLECTIVE /?CCL51
BOR 84,MASK
PRINTC STACK
PRINTI "heir"
RTRUE
?CCL51: FSET? OBJ,FL-PERSON /?CCL55
BOR 73,MASK
PRINTC STACK
PRINTI "ts"
RTRUE
?CCL55: EQUAL? OBJ,CH-PLAYER \?CCL57
BOR 89,MASK
PRINTC STACK
PRINTI "our"
RTRUE
?CCL57: FSET? OBJ,FL-FEMALE \?CCL59
BOR 72,MASK
PRINTC STACK
PRINTI "er"
RTRUE
?CCL59: BOR 72,MASK
PRINTC STACK
PRINTI "is"
RTRUE
.FUNCT RT-PRINT-OBJ:ANY:0:4,O,ART,CAP?,VERB,MASK
ASSIGNED? 'ART /?CND1
SET 'ART,K-ART-THE
?CND1: ZERO? O \?CND3
SET 'O,PRSO
?CND3: FSET? O,FL-HAS-SDESC \?CCL7
GETP O,P?ACTION
ICALL STACK,M-OBJDESC,ART,CAP?
JUMP ?CND5
?CCL7: EQUAL? ART,K-ART-HE,K-ART-HIM,K-ART-HIS \?CCL9
FSET O,FL-SEEN
ICALL RT-PRINT-ARTICLE,O,ART,CAP?
JUMP ?CND5
?CCL9: FSET? O,FL-NO-ARTICLE /?CCL11
FSET O,FL-SEEN
ICALL RT-PRINT-ARTICLE,O,ART,CAP?
PRINTC 32
ICALL2 RT-PRINT-DESC,O
JUMP ?CND5
?CCL11: ZERO? CAP? \?CND12
PRINTC 32
SET 'MASK,32
?CND12: EQUAL? O,CH-PLAYER \?CCL16
BOR 89,MASK
PRINTC STACK
PRINTI "ou"
JUMP ?CND5
?CCL16: ICALL2 RT-PRINT-DESC,O
?CND5: ZERO? VERB /FALSE
CALL RT-PRINT-VERB,O,VERB
RSTACK
.FUNCT RT-PRINT-VERB:ANY:2:2,OBJ,VERB
PRINTC 32
EQUAL? OBJ,CH-PLAYER /?CTR2
FSET? OBJ,FL-PLURAL \?CCL3
FSET? OBJ,FL-COLLECTIVE /?CCL3
?CTR2: PRINT VERB
RTRUE
?CCL3: EQUAL? VERB,STR?56 \?CCL10
PRINTI "is"
RTRUE
?CCL10: EQUAL? VERB,STR?61 \?CCL12
PRINTI "has"
RTRUE
?CCL12: EQUAL? VERB,STR?62 \?CCL14
PRINTI "tries"
RTRUE
?CCL14: EQUAL? VERB,STR?63 \?CCL16
PRINTI "empties"
RTRUE
?CCL16: EQUAL? VERB,STR?64 \?CCL18
PRINTI "flies"
RTRUE
?CCL18: EQUAL? VERB,STR?65 \?CCL20
PRINTI "dries"
RTRUE
?CCL20: PRINT VERB
EQUAL? VERB,STR?66,STR?67,STR?68 /?CCL22
EQUAL? VERB,STR?69,STR?70,STR?71 /?CCL22
EQUAL? VERB,STR?72 \?CND21
?CCL22: PRINTC 101
?CND21: PRINTC 115
RTRUE
.FUNCT THIS-IS-IT:ANY:1:1,OBJ
EQUAL? OBJ,FALSE-VALUE,ROOMS,NOT-HERE-OBJECT /TRUE
EQUAL? OBJ,CH-PLAYER,INTDIR,GLOBAL-HERE /TRUE
EQUAL? PRSA,V?WALK \?CND1
EQUAL? OBJ,PRSO /TRUE
?CND1: FSET? OBJ,FL-PERSON \?CCL11
FSET? OBJ,FL-FEMALE \?CCL14
FSET HER,FL-TOUCHED
SET 'P-HER-OBJECT,OBJ
RTRUE
?CCL14: FSET HIM,FL-TOUCHED
SET 'P-HIM-OBJECT,OBJ
RTRUE
?CCL11: FSET? OBJ,FL-PLURAL \?CCL16
FSET? OBJ,FL-COLLECTIVE /?CCL16
FSET THEM,FL-TOUCHED
SET 'P-THEM-OBJECT,OBJ
RTRUE
?CCL16: FSET IT,FL-TOUCHED
SET 'P-IT-OBJECT,OBJ
RTRUE
.FUNCT RT-IN-ON-MSG:ANY:1:2,OBJ,CAP?,MASK
ZERO? CAP? \?CND1
PRINTC 32
SET 'MASK,32
?CND1: FSET? OBJ,FL-SURFACE \?CCL5
BOR 79,MASK
PRINTC STACK
JUMP ?CND3
?CCL5: BOR 73,MASK
PRINTC STACK
?CND3: PRINTC 110
RTRUE
.FUNCT RT-OUT-OFF-MSG:ANY:1:2,OBJ,CAP?
FSET? OBJ,FL-SURFACE /?CCL3
FSET? OBJ,FL-CONTAINER \FALSE
?CCL3: ZERO? CAP? \?CCL8
PRINTI " o"
JUMP ?CND6
?CCL8: PRINTC 79
?CND6: FSET? OBJ,FL-SURFACE \?CCL11
PRINTI "ff"
RTRUE
?CCL11: PRINTI "ut"
RTRUE
.FUNCT RT-OPEN-MSG:ANY:0:1,OBJ
ZERO? OBJ \?CND1
SET 'OBJ,PRSO
?CND1: PRINTC 32
FSET? OBJ,FL-OPEN \?CCL5
PRINTI "open"
RTRUE
?CCL5: PRINTI "closed"
RTRUE
.FUNCT TOUCH-VERB?:ANY:0:0
EQUAL? PRSA,V?UNWEAR,V?WEAR /TRUE
EQUAL? PRSA,V?TAKE,V?PUT-IN,V?PUT /TRUE
EQUAL? PRSA,V?OPEN,V?DROP,V?CLOSE /TRUE
RFALSE
.FUNCT CLOCKER:ANY:0:0,NT,RTN,TIME,ANY?,MULT?,DIF,N,VAL,I,Z1,Z2
ZERO? CLOCK-WAIT /?CND1
SET 'CLOCK-WAIT,FALSE-VALUE
RFALSE
?CND1: SET 'NT,GL-MOVES
SET 'GL-NEW-TIME,NT
SET 'VAL,FALSE-VALUE
?PRG3: SET 'RTN,FALSE-VALUE
SET 'TIME,NT
SET 'ANY?,FALSE-VALUE
SET 'MULT?,FALSE-VALUE
SET 'I,0
?PRG5: GET GL-Q-TBL,I >Z1
ADD I,1
GET GL-Q-TBL,STACK >Z2
ZERO? Z1 /?CND7
GRTR? Z2,TIME /?CND7
ZERO? RTN /?CND11
EQUAL? Z2,TIME \?CND11
SET 'MULT?,TRUE-VALUE
?CND11: SET 'RTN,Z1
SET 'TIME,Z2
SET 'N,I
SET 'ANY?,TRUE-VALUE
?CND7: ADD I,2 >I
LESS? I,K-Q-SIZE \?REP6
LESS? I,GL-Q-MAX /?PRG5
?REP6: ZERO? ANY? /?REP4
SET 'GL-MOVES,TIME
FSET? CH-PLAYER,FL-ASLEEP /?CND22
ICALL1 UPDATE-STATUS-LINE
?CND22: LESS? TIME,NT /?PRD24
PUSH 0
JUMP ?PRD25
?PRD24: PUSH 1
?PRD25: SET 'DIF,STACK
PUT GL-Q-TBL,N,0
ADD N,1
PUT GL-Q-TBL,STACK,0
ADD N,2
EQUAL? STACK,GL-Q-MAX \?CND26
SUB GL-Q-MAX,2 >GL-Q-MAX
?CND26: SET 'GL-CLK-RUN,TRUE-VALUE
CALL RTN
ZERO? STACK /?CND28
SET 'VAL,TRUE-VALUE
?CND28: SET 'GL-CLK-RUN,FALSE-VALUE
GRTR? GL-MOVES,NT \?CND30
SET 'GL-NEW-TIME,GL-MOVES
SET 'NT,GL-MOVES
?CND30: ZERO? VAL /?PRG3
ZERO? MULT? \?PRG3
ZERO? DIF /?PRG3
EQUAL? PRSA,V?WAIT \?PRG3
FSET? CH-PLAYER,FL-ASLEEP /?PRG3
SET 'VAL,FALSE-VALUE
CRLF
PRINTI "Do you want to continue waiting"
CALL1 YES?
ZERO? STACK \?CCL41
SET 'NT,TIME
?REP4: SET 'GL-MOVES,NT
INC 'GL-MOVES
RFALSE
?CCL41: PRINT K-TIME-PASSES-MSG
JUMP ?PRG3
.FUNCT RT-QUEUE:ANY:2:3,RTN,TIME,ABS?,I
?PRG1: GET GL-Q-TBL,I
ZERO? STACK \?CCL5
PUT GL-Q-TBL,I,RTN
ADD I,1
PUT GL-Q-TBL,STACK,TIME
ADD I,2
GRTR? STACK,GL-Q-MAX \TRUE
ADD I,2 >GL-Q-MAX
RTRUE
?CCL5: ADD I,2 >I
LESS? I,K-Q-SIZE /?PRG1
RFALSE
.FUNCT RT-DEQUEUE:ANY:1:1,RTN,I
?PRG1: GET GL-Q-TBL,I
EQUAL? STACK,RTN \?CCL5
PUT GL-Q-TBL,I,0
ADD I,1
PUT GL-Q-TBL,STACK,0
ADD I,2
EQUAL? STACK,GL-Q-MAX \TRUE
SUB GL-Q-MAX,2 >GL-Q-MAX
RTRUE
?CCL5: ADD I,2 >I
LESS? I,K-Q-SIZE \FALSE
LESS? I,GL-Q-MAX /?PRG1
RFALSE
.FUNCT RT-IS-QUEUED?:ANY:1:1,RTN,TIME,I
?PRG1: GET GL-Q-TBL,I
EQUAL? STACK,RTN \?CCL5
ADD I,1
GET GL-Q-TBL,STACK >TIME
RETURN TIME
?CCL5: ADD I,2 >I
LESS? I,K-Q-SIZE \FALSE
LESS? I,GL-Q-MAX /?PRG1
RFALSE
.FUNCT C-PIXELS:ANY:1:1,X
SUB X,1
MUL STACK,GL-FONT-X
ADD STACK,1
RSTACK
.FUNCT L-PIXELS:ANY:1:1,Y
SUB Y,1
MUL STACK,GL-FONT-Y
ADD STACK,1
RSTACK
.FUNCT PIXELS-C:ANY:1:1,X
SUB X,1
DIV STACK,GL-FONT-X
ADD STACK,1
RSTACK
.FUNCT PIXELS-L:ANY:1:1,Y
SUB Y,1
DIV STACK,GL-FONT-Y
ADD STACK,1
RSTACK
.FUNCT CCURSET:ANY:2:3,Y,X,W,?TMP1
ASSIGNED? 'W /?CND1
SET 'W,-3
?CND1: CALL2 L-PIXELS,Y >?TMP1
CALL2 C-PIXELS,X
CURSET ?TMP1,STACK,W
RTRUE
.FUNCT CCURGET:ANY:1:1,TBL
CURGET TBL
GET TBL,0
CALL2 PIXELS-L,STACK
PUT TBL,0,STACK
GET TBL,1
CALL2 PIXELS-C,STACK
PUT TBL,1,STACK
RETURN TBL
.FUNCT CSPLIT:ANY:1:1,Y
MUL Y,GL-FONT-Y
SPLIT STACK
RTRUE
.FUNCT CWINPOS:ANY:3:3,W,Y,X,?TMP1
CALL2 L-PIXELS,Y >?TMP1
CALL2 C-PIXELS,X
WINPOS W,?TMP1,STACK
RTRUE
.FUNCT CWINSIZE:ANY:3:3,W,Y,X,?TMP1
MUL Y,GL-FONT-Y >?TMP1
MUL X,GL-FONT-X
WINSIZE W,?TMP1,STACK
RTRUE
.FUNCT CSCROLL:ANY:1:2,W,Y
ASSIGNED? 'Y /?CND1
SET 'Y,1
?CND1: MUL Y,GL-FONT-Y
SCROLL W,STACK
RTRUE
.FUNCT RT-SCRIPT-INBUF:ANY:0:1,BUF,CNT,N,CHR
ASSIGNED? 'BUF /?CND1
SET 'BUF,P-INBUF
?CND1: GETB BUF,1 >N
DIROUT D-SCREEN-OFF
INC 'BUF
?PRG3: IGRTR? 'CNT,N /?REP4
GETB BUF,CNT >CHR
LESS? CHR,97 /?CCL10
GRTR? CHR,122 /?CCL10
SUB CHR,32
PRINTC STACK
JUMP ?PRG3
?CCL10: PRINTC CHR
JUMP ?PRG3
?REP4: CRLF
DIROUT D-SCREEN-ON
RTRUE
.FUNCT GO:ANY:0:0
?FCN: GETB 0,33 >GL-SCR-WID
LESS? GL-SCR-WID,64 \?CND1
PRINTI "[The screen is too narrow.]"
CRLF
QUIT
?CND1: WINGET 0,WFSIZE
SHIFT STACK,-8 >GL-FONT-Y
WINGET 0,WFSIZE
BAND STACK,255 >GL-FONT-X
DIROUT K-D-TBL-ON,K-DIROUT-TBL
PRINTC 32
DIROUT K-D-TBL-OFF
GET 0,24 >GL-SPACE-WIDTH
ZERO? GL-SPACE-WIDTH \?CND3
GET 0,17 >GL-SPACE-WIDTH
GETB 0,33
DIV GL-SPACE-WIDTH,STACK >GL-SPACE-WIDTH
?CND3: MOUSE-LIMIT -1
CLEAR -1
ICALL2 INIT-STATUS-LINE,FALSE-VALUE
ICALL1 UPDATE-STATUS-LINE
ICALL RT-QUEUE,RT-I-GAS-MIX,GL-MOVES
ICALL RT-QUEUE,RT-I-LEAVE-1,GL-MOVES
ADD GL-MOVES,90
ICALL RT-QUEUE,RT-I-RETURN-1,STACK
ADD GL-MOVES,120
ICALL RT-QUEUE,RT-I-CRANE-1,STACK
ADD GL-MOVES,3
ICALL RT-QUEUE,RT-I-NITROGEN-LEAK,STACK
ICALL RT-QUEUE,RT-I-TEMP,GL-MOVES
ADD GL-MOVES,1320
ICALL RT-QUEUE,RT-I-CAB-FIXED,STACK
ICALL1 V-VERSION
CRLF
PRINTI " 'Catfish' DeVries runs his eye over the gauges on the wall of Deepcore's gas-mix room. ""They're done, Bud,"" he says, ""Cooked to a turn."" He spins the wheel in the steel door to the compression chamber, and it eases open with a sigh.
A man with a military haircut quickly steps through the door, apparently undisturbed by the six claustrophobic hours of compression that will enable him to survive the atmosphere 2,000 feet below the sea's surface. He is followed by three other men and one very pretty woman.
""Brigman?"" he says to you. ""Coffey. Team leader."" He gestures to the others. ""Willhite, Schoenick, Monk. I gather you already know the little lady.""
Lindsey glares at him. ""Listen, Tarzan,"" she snaps, ""Let's get one thing straight...""
A nervous voice over the intercom interrupts her. ""Bud? It's Hippy. I'm in the Control Module and I got something here on the screen you should take a look at. Pronto.""
You run out through the sub-bay with the others close on your heels. When you arrive in the Command Module, Hippy is pointing to the ROV screen. Coffey and the others crowd around behind you, looking over your shoulder.
""It's a small submersible over by the Montana,"" Hippy says. ""I can't make it out real well, but I saw some divers leaving her just a minute ago.""
"
MARGIN 50,50
PRINTI "[GRAPHIC: A close-up of the ROV screen, with a hint of the controls that surround it. On the screen is a murky picture of a submersible.]
"
MARGIN 0,0
PRINTI " ""Shit!"" Coffey shouts. ""We've got to secure that boat! Monk, take Willhite and Schoenick and that big rig we saw in the MoonPool. I'll go in the submersible we came down on. Brigman, I need some drivers.""
One-Night cuts him off. ""I decide who drives what around here, mister. I'll take your boys over in Flatbed. Hippy will drive you in Cab Three. We leave in two minutes.""
One-Night and Hippy leave the Command Module, followed by the SEALs. You are left alone with Lindsey and Catfish.
"
PRINTI "[MORE]"
INPUT 1
CRLF
ICALL1 INIT-STATUS-LINE
CLEAR 6
WINGET 0,K-W-YSIZE
SUB STACK,GL-FONT-Y
CURSET STACK,1
ICALL1 MAIN-LOOP
JUMP ?FCN
.ENDI