.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