mirror of
https://github.com/historicalsource/amfv
synced 2024-05-19 17:38:42 +03:00
1222 lines
39 KiB
Plaintext
1222 lines
39 KiB
Plaintext
|
|
|
|
.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
|
|
CALL1 BLOT-WORD-COUNT >WORDS-IN-RESPONSE
|
|
GRTR? WORDS-IN-RESPONSE,1 \?ELS27
|
|
PRINTI """You're not following my instructions, PRISM. Just tell me the one word that pops into your mind."""
|
|
CRLF
|
|
JUMP ?PRG23
|
|
?ELS27: GETB P-LEXV,P-LEXWORDS
|
|
ZERO? STACK \?ELS31
|
|
PRINTI """I beg your pardon?"""
|
|
CRLF
|
|
JUMP ?PRG23
|
|
?ELS31: GET P-LEXV,1
|
|
EQUAL? STACK,W?RESTORE,W?SAVE \?ELS35
|
|
PRINTI "You can't "
|
|
GET P-LEXV,1
|
|
EQUAL? STACK,W?RESTORE \?ELS40
|
|
PRINTI "RESTORE"
|
|
JUMP ?CND38
|
|
?ELS40: PRINTI "SAVE"
|
|
?CND38: PRINTI " right now -- you're in the middle of an important psych test!"
|
|
CRLF
|
|
JUMP ?PRG23
|
|
?ELS35: GET P-LEXV,1
|
|
EQUAL? STACK,W?QUIT,W?Q \?ELS50
|
|
CALL1 V-QUIT
|
|
JUMP ?PRG23
|
|
?ELS50: GET P-LEXV,1
|
|
EQUAL? STACK,W?RESTART \?ELS52
|
|
CALL1 V-RESTART
|
|
JUMP ?PRG23
|
|
?ELS52: GET P-LEXV,1
|
|
EQUAL? STACK,W?SCRIPT \?ELS54
|
|
CALL1 V-SCRIPT
|
|
JUMP ?PRG23
|
|
?ELS54: GET P-LEXV,1
|
|
EQUAL? STACK,W?UNSCRIPT \?REP24
|
|
CALL1 V-UNSCRIPT
|
|
JUMP ?PRG23
|
|
?REP24: EQUAL? CNT,4 \?ELS61
|
|
MOVE GRIMWOLD,LOCAL-GLOBALS
|
|
MOVE PERELMAN,LOCAL-GLOBALS
|
|
MOVE COFFEE,LOCAL-GLOBALS
|
|
FCLEAR PERELMAN,NDESCBIT
|
|
CALL2 VISIBLE?,PERELMAN
|
|
ZERO? STACK /?CND62
|
|
EQUAL? PERELMAN,WINNER \?CND62
|
|
CALL1 CLEAR-BUF
|
|
?CND62: CALL QUEUE,I-PERELMAN,30
|
|
ADD TIME,25 >LAST-ABE-TIME
|
|
SET 'GRIMWOLD-COUNTER,0
|
|
CALL2 INIT-STATUS-LINE,2
|
|
PRINTI "Grimwold makes a final notation in his notebook. ""Thanks, PRISM."" He picks up all the placards and leaves the room along with Perelman."
|
|
CRLF
|
|
CALL2 INT,I-RORSCHACH
|
|
PUT STACK,0,0
|
|
RTRUE
|
|
?ELS61: CALL1 STATUS-LINE
|
|
CALL2 INCREMENT-TIME,1
|
|
INC 'CNT
|
|
JUMP ?PRG1
|
|
|
|
|
|
.FUNCT BLOT-WORD-COUNT,WORD-COUNT,REVISED-COUNT
|
|
GETB P-LEXV,P-LEXWORDS >WORD-COUNT
|
|
SET 'REVISED-COUNT,WORD-COUNT
|
|
?PRG1: ZERO? WORD-COUNT \?CND3
|
|
JUMP ?REP2
|
|
?CND3: MUL 2,WORD-COUNT
|
|
SUB STACK,1
|
|
GET P-LEXV,STACK
|
|
EQUAL? STACK,W?QUOTE \?CND6
|
|
DEC 'REVISED-COUNT
|
|
?CND6: DEC 'WORD-COUNT
|
|
JUMP ?PRG1
|
|
?REP2: GET P-LEXV,1
|
|
EQUAL? STACK,W?SAY,W?ANSWER \?CND9
|
|
DEC 'REVISED-COUNT
|
|
?CND9: GET P-LEXV,1
|
|
EQUAL? STACK,W?GRIMWOLD,W?PSYCHIATR /?THN15
|
|
GET P-LEXV,1
|
|
EQUAL? STACK,W?DR,W?DOCTOR \?CND12
|
|
?THN15: SUB REVISED-COUNT,2 >REVISED-COUNT
|
|
RETURN REVISED-COUNT
|
|
?CND12: RETURN REVISED-COUNT
|
|
|
|
|
|
.FUNCT INK-BLOT,X=12,Y=5,CNT=4,SIDE-OFFSET,CENTER-OFFSET,CHAR
|
|
BUFOUT FALSE-VALUE
|
|
SCREEN S-WINDOW
|
|
RANDOM 6 >CENTER-OFFSET
|
|
SUB 16,CENTER-OFFSET
|
|
RANDOM STACK >SIDE-OFFSET
|
|
ADD 22,SIDE-OFFSET >X
|
|
RANDOM 3 >CHAR
|
|
?PRG1: CALL INVERSE-LINE,CNT,TRUE-VALUE
|
|
INC 'CNT
|
|
EQUAL? CNT,19 \?PRG1
|
|
EQUAL? CHAR,2,3 \?CND6
|
|
HLIGHT 1
|
|
?CND6:
|
|
?PRG9:
|
|
?PRG11: CURSET Y,X
|
|
EQUAL? CHAR,1 \?ELS15
|
|
PRINTI " "
|
|
JUMP ?CND13
|
|
?ELS15: EQUAL? CHAR,2 \?ELS19
|
|
PRINTI "X"
|
|
JUMP ?CND13
|
|
?ELS19: PRINTI ">"
|
|
?CND13: SUB 81,X
|
|
CURSET Y,STACK
|
|
EQUAL? CHAR,1 \?ELS28
|
|
PRINTI " "
|
|
JUMP ?CND26
|
|
?ELS28: EQUAL? CHAR,2 \?ELS32
|
|
PRINTI "X"
|
|
JUMP ?CND26
|
|
?ELS32: PRINTI "<"
|
|
?CND26: SUB 40,CENTER-OFFSET
|
|
EQUAL? X,STACK \?ELS41
|
|
JUMP ?REP12
|
|
?ELS41: INC 'X
|
|
JUMP ?PRG11
|
|
?REP12: EQUAL? Y,17 \?ELS46
|
|
JUMP ?REP10
|
|
?ELS46: RANDOM 100
|
|
LESS? 40,STACK /?ELS51
|
|
RANDOM 3
|
|
ADD SIDE-OFFSET,STACK >SIDE-OFFSET
|
|
JUMP ?CND49
|
|
?ELS51: RANDOM 100
|
|
LESS? 67,STACK /?CND49
|
|
RANDOM 3
|
|
SUB SIDE-OFFSET,STACK >SIDE-OFFSET
|
|
?CND49: RANDOM 100
|
|
LESS? 40,STACK /?ELS56
|
|
RANDOM 2
|
|
SUB CENTER-OFFSET,STACK >CENTER-OFFSET
|
|
JUMP ?CND54
|
|
?ELS56: RANDOM 100
|
|
LESS? 67,STACK /?CND54
|
|
RANDOM 2
|
|
ADD CENTER-OFFSET,STACK >CENTER-OFFSET
|
|
?CND54: LESS? SIDE-OFFSET,0 \?CND59
|
|
SET 'SIDE-OFFSET,1
|
|
?CND59: LESS? CENTER-OFFSET,0 \?CND62
|
|
SET 'CENTER-OFFSET,0
|
|
?CND62: ADD SIDE-OFFSET,CENTER-OFFSET
|
|
GRTR? STACK,18 \?CND65
|
|
DEC 'CENTER-OFFSET
|
|
SUB 18,CENTER-OFFSET >SIDE-OFFSET
|
|
?CND65: ADD 22,SIDE-OFFSET >X
|
|
INC 'Y
|
|
JUMP ?PRG9
|
|
?REP10: EQUAL? CHAR,2,3 \?CND68
|
|
HLIGHT 0
|
|
?CND68: SCREEN S-TEXT
|
|
BUFOUT TRUE-VALUE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT I-POST-OFFICE
|
|
CALL QUEUE,I-POST-OFFICE,-1
|
|
EQUAL? HERE,POST-OFFICE /?ELS3
|
|
CALL2 INT,I-POST-OFFICE
|
|
PUT STACK,0,0
|
|
RFALSE
|
|
?ELS3: EQUAL? STIME,960 \?ELS5
|
|
PRINTI "The open window"
|
|
EQUAL? SYEAR,2071 \?ELS10
|
|
PRINTI " closes"
|
|
JUMP ?CND8
|
|
?ELS10: PRINTI "s close"
|
|
?CND8: PRINTI ", and those still waiting wander listlessly out of the "
|
|
PRINTD POST-OFFICE-OBJECT
|
|
PRINTR "."
|
|
?ELS5: EQUAL? SYEAR,2071 \?ELS26
|
|
GRTR? STIME,888 \?ELS26
|
|
LESS? STIME,901 /?THN23
|
|
?ELS26: EQUAL? SYEAR,2061 \FALSE
|
|
GRTR? STIME,594 \FALSE
|
|
LESS? STIME,601 \FALSE
|
|
?THN23: PRINTI "A line is forming at the window with the sign."
|
|
CRLF
|
|
CALL QUEUE,I-POST-OFFICE,15
|
|
RTRUE
|
|
|
|
|
|
.FUNCT I-WILD-DOGS
|
|
EQUAL? HERE,MAIN-STREET-BRIDGE /?CND1
|
|
CALL2 INT,I-WILD-DOGS
|
|
PUT STACK,0,0
|
|
RFALSE
|
|
?CND1: INC 'WILD-DOG-COUNTER
|
|
EQUAL? WILD-DOG-COUNTER,1 \?ELS8
|
|
MOVE BARKING,HERE
|
|
PRINTR "You hear the sound of distant barking to the east."
|
|
?ELS8: EQUAL? WILD-DOG-COUNTER,2,3 \?ELS12
|
|
PRINTR "The barking continues. In fact, the sound seems to be getting closer."
|
|
?ELS12: EQUAL? WILD-DOG-COUNTER,4 \FALSE
|
|
CALL2 SCORE,45
|
|
CALL2 JIGS-UP,STR?13
|
|
RSTACK
|
|
|
|
|
|
.FUNCT I-CAFETERIA
|
|
EQUAL? HERE,CAFETERIA /?ELS3
|
|
CALL2 INT,I-CAFETERIA
|
|
PUT STACK,0,0
|
|
RFALSE
|
|
?ELS3: EQUAL? TIME,480,705,1035 \?ELS5
|
|
CRLF
|
|
PRINTI "The room begins to fill with mealtime crowds."
|
|
CRLF
|
|
RFALSE
|
|
?ELS5: EQUAL? TIME,570,795,1125 \FALSE
|
|
CRLF
|
|
PRINTI "The mealtime crowds begin to disperse."
|
|
CRLF
|
|
RFALSE
|
|
|
|
.ENDI
|