.FUNCT TERROR-F EQUAL? PRSA,V?ZIFMIA \?ELS5 PRINTR "As you cast the zifmia spell, you are overpowered with such a sense of malice that you cannot continue. All in all, a good thing probably." ?ELS5: EQUAL? PRSA,V?VAXUM \?ELS9 PRINTR "The terror may be friendlier, but with friends like that...." ?ELS9: EQUAL? PRSA,V?GUNCHO \FALSE REMOVE TERROR PRINTR "The room fills with a horrible noise, darkens to pitch blackness, and then lightens. The weight of fear lifts." .FUNCT TMAP-F EQUAL? PRSA,V?KULCAD \?ELS5 PRINTI "At once, a maze of lines forms, connecting all of the spots on the map. Suddenly, the world becomes still and cold." CRLF CRLF CALL END-OF-WORLD RTRUE ?ELS5: EQUAL? PRSA,V?PUT,V?CLOSE,V?OPEN \?ELS9 PRINTR "You can't do that." ?ELS9: EQUAL? PRSA,V?DRAW-ON \?ELS13 IN? PENCIL,WINNER \?ELS18 CALL WRITE-HINT RTRUE ?ELS18: PRINTR "You have nothing to draw with." ?ELS13: EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE,V?READ \FALSE PRINTI "The map consists of a drawing with nine points, each represented by a strange character, with interconnecting thin pencil lines. Using your native alphabet, it looks like this:" CRLF CALL DRAW-TMAZE RSTACK .FUNCT PENCIL-F EQUAL? PRSA,V?KULCAD \?ELS5 PRINTI "As the pencil dissolves into nothingness, everything becomes still and cold." CRLF CRLF CALL END-OF-WORLD RTRUE ?ELS5: EQUAL? PRSA,V?EXAMINE \FALSE PRINTI "The pencil is very old and covered with finely inlaid runes. The point is " GET PENCIL-TBL,PENCIL-COUNT PRINT STACK PRINTI " and the attached eraser is " GET ERASER-TBL,ERASER-COUNT PRINT STACK PRINTR "." .FUNCT BLACK-PASSAGE-F EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "The passages are perfectly round and black; the walls seem to be made of carbon." .FUNCT TMAZE-F,RARG,TBL,NEX=0,FLG=0,OFFS=0,PLU=0,?TMP1 IN? BANISH-SCROLL,WINNER \?CND1 EQUAL? HERE,T-A \?CND1 ZERO? TERROR-TRAPPED /?CND1 GRTR? TERROR-POINT,0 \?CND1 PRINTI "You hear a horrible anguished scream through the walls of the cavern as the terror realizes that it is trapped and its scroll of power stolen!" CRLF CRLF ADD SCORE,TERROR-POINT >SCORE SET 'TERROR-POINT,0 ?CND1: EQUAL? RARG,M-LOOK \?ELS12 PRINTI "This is a peculiar room, whose cream-colored walls are thin and translucent." CRLF GETP HERE,P?TMAZE >TBL ?PRG15: GET TBL,OFFS EQUAL? STACK,-1 \?ELS19 JUMP ?REP16 ?ELS19: ADD OFFS,1 GET TBL,STACK EQUAL? STACK,1 \?CND17 INC 'NEX ?CND17: ADD OFFS,2 >OFFS JUMP ?PRG15 ?REP16: ZERO? NEX \?ELS24 PRINTR "There is not a single exit from this place." ?ELS24: EQUAL? NEX,1 \?ELS28 PRINTI "An exit is" JUMP ?CND22 ?ELS28: SET 'PLU,TRUE-VALUE PRINTI "Passages go" ?CND22: PRINTI " to the " SET 'OFFS,0 ?PRG37: GET TBL,OFFS EQUAL? STACK,-1 \?ELS41 JUMP ?REP38 ?ELS41: ADD OFFS,1 GET TBL,STACK EQUAL? STACK,1 \?CND39 DIV OFFS,2 GET TMAZE-DIRS,STACK PRINT STACK GRTR? NEX,2 \?ELS48 SET 'FLG,TRUE-VALUE PRINTI ", " JUMP ?CND46 ?ELS48: EQUAL? NEX,2 \?CND46 ZERO? FLG /?CND53 PRINTI "," ?CND53: PRINTI " and " ?CND46: DEC 'NEX ?CND39: ADD OFFS,2 >OFFS JUMP ?PRG37 ?REP38: PRINTI " and " ZERO? PLU /?ELS65 PRINTI "they are" JUMP ?CND63 ?ELS65: PRINTI "it is" ?CND63: PRINTR " very strange indeed, perfectly round and black as pitch." ?ELS12: EQUAL? RARG,M-BEG \FALSE IN? TERROR,HERE \?ELS81 EQUAL? PRSA,V?WALK \FALSE PRINTR "Your feet are leaden with fear, and cold sweat runs down your back as you make your way to the door, but you make no progress. Your mind tells you you are running, but you aren't getting anywhere." ?ELS81: EQUAL? PRSA,V?WALK \FALSE EQUAL? HERE,T-A \?ELS95 EQUAL? PRSO,P?UP \?ELS95 CALL GOTO,DUNGEON RTRUE ?ELS95: GRTR? PRSO,P?UP \?ELS99 GETP HERE,P?TMAZE >TBL SUB PRSO,P?UP MUL STACK,2 SUB STACK,1 >OFFS GET TBL,OFFS EQUAL? STACK,1 \?ELS99 SUB OFFS,1 GET TBL,STACK CALL GOTO,STACK IN? TERROR,HERE \?ELS104 PRINTR "An evil presence pervades the room, its source unseen. Fear seeps into your mind, like fog. You look fearfully around. There is something horrible here." ?ELS104: LOC TERROR CALL CONNECTED?,HERE,STACK ZERO? STACK /TRUE PRINTR "You sense that near this place an evil presence lurks. It seems close by and is moving." ?ELS99: PRINTR "You can't go that way." .FUNCT END-OF-WORLD PRINTI "You suddenly feel weak and your knees buckle. Just as you collapse to the ground, you find yourself in the presence of the Circle. They seem tense and frightened and ask desperately about your recent doings. As you tell your tale of the map and pencil, they recoil in horror. ""The Terror is released!"" cries one. Belboz sinks into his throne. ""We are doomed!"" he gasps. One by one, the wizards flee to prepare a hopeless defense." CRLF SET 'SCORE,-10 CALL FINISH RSTACK .FUNCT DRAW-TMAZE CALL FIXED-FONT-ON CRLF PRINTI "B" CALL ECN,T-A,T-H PRINTI "J" CRLF CALL CN,T-A,T-SOUTH CALL CN,T-A,T-SE PRINTI " " CALL CN,T-E,T-SW CALL CN,T-E,T-SOUTH CALL CN,T-E,T-SE CRLF CALL CN,T-A,T-SOUTH PRINTI " " CALL CN,T-A,T-SE PRINTI " " CALL CN,T-E,T-SW PRINTI " " CALL CN,T-E,T-SOUTH PRINTI " " CALL CN,T-E,T-SE CRLF CALL CN,T-A,T-SOUTH PRINTI " " CALL CN,T-A,T-SE PRINTI " " CALL CN,T-E,T-SW PRINTI " " CALL CN,T-E,T-SOUTH PRINTI " " CALL CN,T-E,T-SE CRLF CALL CN,T-A,T-SOUTH PRINTI " K" CALL ECN,T-C,T-E PRINTI "V" CRLF CALL CN,T-A,T-SOUTH PRINTI " " CALL CN,T-C,T-SW CALL CN,T-C,T-SOUTH CALL CN,T-C,T-SE PRINTI " " CALL CN,T-E,T-SOUTH PRINTI " " CALL CN,T-G,T-SW CALL CN,T-G,T-SOUTH CALL CN,T-G,T-SE CRLF CALL CN,T-A,T-SOUTH PRINTI " " CALL CN,T-C,T-SW PRINTI " " CALL CN,T-C,T-SOUTH PRINTI " " CALL CN,T-C,T-SE PRINTI " " CALL CN,T-E,T-SOUTH PRINTI " " CALL CN,T-G,T-SW PRINTI " " CALL CN,T-G,T-SOUTH PRINTI " " CALL CN,T-G,T-SE CRLF CALL CN,T-A,T-SOUTH CALL CN,T-C,T-SW PRINTI " " CALL CN,T-C,T-SOUTH PRINTI " " CALL CN,T-C,T-SE CALL CN,T-E,T-SOUTH CALL CN,T-G,T-SW PRINTI " " CALL CN,T-G,T-SOUTH PRINTI " " CALL CN,T-G,T-SE CRLF PRINTI "R" CALL ECN,T-B,T-C PRINTI "M" CALL ECN,T-F,T-G PRINTI "F" CRLF PRINTI " " CALL CN,T-B,T-SE PRINTI " " CALL CN,T-C,T-SOUTH PRINTI " " CALL CN,T-F,T-SW PRINTI " " CALL CN,T-F,T-SE PRINTI " " CALL CN,T-G,T-SOUTH PRINTI " " CALL CN,T-H,T-SW CRLF PRINTI " " CALL CN,T-B,T-SE PRINTI " " CALL CN,T-C,T-SOUTH PRINTI " " CALL CN,T-F,T-SW PRINTI " " CALL CN,T-F,T-SE PRINTI " " CALL CN,T-G,T-SOUTH PRINTI " " CALL CN,T-H,T-SW CRLF PRINTI " " CALL CN,T-B,T-SE CALL CN,T-C,T-SOUTH CALL CN,T-F,T-SW PRINTI " " CALL CN,T-F,T-SE CALL CN,T-G,T-SOUTH CALL CN,T-H,T-SW CRLF PRINTI " H" CALL ECN,T-D,T-H PRINTI "P" CRLF CRLF CALL FIXED-FONT-OFF RTRUE .FUNCT FIXED-FONT-ON GET 0,8 BOR STACK,2 PUT 0,8,STACK RTRUE .FUNCT FIXED-FONT-OFF GET 0,8 BAND STACK,-3 PUT 0,8,STACK RTRUE .FUNCT CN,L,DIR GETP L,P?TMAZE GET STACK,DIR ZERO? STACK /?ELS5 GET T-DIR-TABLE,DIR PRINT STACK RTRUE ?ELS5: PRINTI " " RTRUE .FUNCT ECN,L,DN,FLG=0 GETP L,P?TMAZE GET STACK,T-EAST ZERO? STACK /?ELS3 SET 'FLG,TRUE-VALUE PRINTI "---" JUMP ?CND1 ?ELS3: PRINTI " " ?CND1: GETP DN,P?TMAZE GET STACK,T-SOUTH ZERO? STACK /?ELS12 ZERO? FLG /?ELS15 PRINTI "+" JUMP ?CND10 ?ELS15: PRINTI "!" JUMP ?CND10 ?ELS12: ZERO? FLG /?ELS24 PRINTI "-" JUMP ?CND10 ?ELS24: PRINTI " " ?CND10: ZERO? FLG /?ELS36 PRINTI "---" RTRUE ?ELS36: PRINTI " " RTRUE .FUNCT CONNECT,RM1,RM2,FLIP=0,TBL,RMX GETP RM1,P?TMAZE >TBL ?PRG1: GET TBL,0 >RMX EQUAL? RMX,-1 \?ELS5 PRINTR "The pencil doesn't seem to allow that line to be drawn." ?ELS5: EQUAL? RMX,RM2 \?CND3 GET TBL,1 ZERO? STACK \?ELS12 ZERO? FLIP \?CND13 CALL CONNECT,RM2,RM1,TRUE-VALUE DEC 'PENCIL-COUNT PRINTI "A thin line now connects the two spots on the map, but the pencil point is " GET PENCIL-TBL,PENCIL-COUNT PRINT STACK PRINTI "." CRLF EQUAL? HERE,RM1,RM2 \?CND13 CALL DESCRIBE-NEW-EXIT,RM1,RM2 ?CND13: PUT TBL,1,1 LOC TERROR ZERO? STACK /TRUE LOC TERROR CALL TWALK,STACK ZERO? STACK /TRUE SET 'TERROR-TRAPPED,FALSE-VALUE CALL QUEUE,I-TERROR,-1 PUT STACK,0,1 RTRUE ?ELS12: PRINTR "There is already a line connecting those spots." ?CND3: ADD TBL,4 >TBL JUMP ?PRG1 .FUNCT DISCONNECT,RM1,RM2,FLIP=0,TBL,RMX GETP RM1,P?TMAZE >TBL ?PRG1: GET TBL,0 >RMX EQUAL? RMX,-1 \?ELS5 PRINTR "Those two spots aren't connected on the map." ?ELS5: EQUAL? RMX,RM2 \?CND3 GET TBL,1 ZERO? STACK \?ELS12 PRINTR "Those two spots aren't connected on the map." ?ELS12: ZERO? FLIP \?CND17 CALL DISCONNECT,RM2,RM1,TRUE-VALUE DEC 'ERASER-COUNT PRINTI "The line between the two spots is erased, leaving the eraser " GET ERASER-TBL,ERASER-COUNT PRINT STACK PRINTI "." CRLF EQUAL? HERE,RM1,RM2 \?CND17 CALL DESCRIBE-NEW-EXIT,RM1,RM2,FALSE-VALUE ?CND17: PUT TBL,1,0 RTRUE ?CND3: ADD TBL,4 >TBL JUMP ?PRG1 .FUNCT DESCRIBE-NEW-EXIT,RM1,RM2,MAKE?=1,TMP,TBL,OFFS=0 EQUAL? RM2,HERE \?CND1 SET 'TMP,RM1 SET 'RM1,RM2 SET 'RM2,TMP ?CND1: GETP RM1,P?TMAZE >TBL ?PRG4: GET TBL,OFFS >TMP EQUAL? TMP,RM2 \?ELS8 JUMP ?REP5 ?ELS8: EQUAL? TMP,-1 \?ELS10 PRINTI "*ERROR* BAD-EXIT DESCRIBE-NEW-EXIT" CRLF JUMP ?REP5 ?ELS10: ADD OFFS,2 >OFFS JUMP ?PRG4 ?REP5: PRINTI "Suddenly, the " ZERO? MAKE? /?ELS19 PRINTI "wall" JUMP ?CND17 ?ELS19: PRINTI "black passage" ?CND17: PRINTI " to the " DIV OFFS,2 GET TMAZE-DIRS,STACK PRINT STACK ZERO? MAKE? /?ELS33 PRINTI " opens to form a perfectly round and black passage" JUMP ?CND31 ?ELS33: PRINTI " closes off" ?CND31: PRINTR "!" .FUNCT CONNECTED?,RM1,RM2,TBL,RMX GETP RM1,P?TMAZE >TBL ZERO? TBL /FALSE ?PRG4: GET TBL,0 >RMX EQUAL? RMX,-1 /FALSE EQUAL? RMX,RM2 \?CND6 GET TBL,1 ZERO? STACK \TRUE RFALSE ?CND6: ADD TBL,4 >TBL JUMP ?PRG4 .FUNCT I-TERROR,RM,NRM,FLG=0 ZERO? TERROR-TRAPPED /?ELS5 LOC TERROR >RM CALL CONNECTED?,HERE,RM ZERO? STACK /FALSE MOVE TERROR,HERE PRINT TERROR-ARRIVES CRLF RTRUE ?ELS5: LOC TERROR >RM CALL TWALK,RM ZERO? STACK /?ELS15 SET 'TERROR-TRAPPED,FALSE-VALUE SET 'TWAIT,0 GET PATH-TBL,2 GET TMAZE-ROOMS,STACK >NRM MOVE TERROR,NRM EQUAL? HERE,NRM \?ELS18 PRINT TERROR-ARRIVES CRLF SET 'FLG,TRUE-VALUE JUMP ?CND16 ?ELS18: CALL CONNECTED?,HERE,NRM ZERO? STACK /?ELS22 PRINTI "Somewhere near, an evil presence lurks, probing your mind. It seems to be moving quickly." CRLF SET 'FLG,TRUE-VALUE JUMP ?CND16 ?ELS22: CALL CONNECTED?,HERE,RM ZERO? STACK /?CND16 PRINTI "You can no longer sense the evil presence nearby." CRLF SET 'FLG,TRUE-VALUE ?CND16: ZERO? TERROR-MOVED \?CND29 SET 'TERROR-MOVED,TRUE-VALUE INC 'LOSSAGE SET 'FLG,TRUE-VALUE PRINTI "You feel that two powerful, evil forces are searching each other out. As they meet, the air lightens. Belboz appears before you. ""Something has disturbed the ancient Terror. Krill himself knows this and will try to use it to his purposes. Already, they may have joined together. You must not allow the Terror to escape, or we are all doomed!"" He fades into the gloom." CRLF ?CND29: EQUAL? NRM,T-A \?CND34 CALL END-OF-WORLD EQUAL? HERE,T-A \?ELS39 SET 'FLG,TRUE-VALUE PRINTI "The presence seems to grow stronger each passing second, beating you down with its awesome power." CRLF RETURN FLG ?ELS39: SET 'FLG,TRUE-VALUE PRINTI "At once, a strange and horrible feeling wells up inside of you. An unseen yet awesomely powerful force, exuding pure evil, seems to fill the very chamber." CRLF ?CND34: RETURN FLG ?ELS15: CALL TNULL-F ZERO? STACK \TRUE IGRTR? 'TWAIT,6 /TRUE CALL TWALK1 >RM ZERO? RM /TRUE LOC TERROR >NRM EQUAL? NRM,T-I /TRUE CALL CONNECTED?,NRM,T-I ZERO? STACK /?ELS58 MOVE TERROR,T-I JUMP ?CND54 ?ELS58: CALL CONNECTED?,NRM,T-F ZERO? STACK /?CND54 MOVE TERROR,T-F ?CND54: IN? TERROR,HERE \?ELS63 PRINT TERROR-ARRIVES CRLF RTRUE ?ELS63: PRINTR "From somewhere nearby, an unseen force probes you, and you are gripped by a sickening feeling." .FUNCT TNULL-F SET 'TERROR-TRAPPED,TRUE-VALUE RFALSE .FUNCT TWALK,RM SET 'TWALK-LEVEL,0 SET 'TTRIES,0 SET 'PSTART,RM CALL PATH-OUT?,RM RSTACK .FUNCT TWALK1,TBL,RM,NRM,OFFS=1,CNT LOC TERROR >RM GETP RM,P?CAPACITY GET TWALK-PATHS,STACK >TBL GET TBL,0 >CNT ?PRG1: GRTR? OFFS,CNT /FALSE GET TBL,OFFS GET TMAZE-ROOMS,STACK >NRM CALL CONNECTED?,RM,NRM ZERO? STACK /?CND3 RETURN NRM ?CND3: INC 'OFFS JUMP ?PRG1 .FUNCT PATH-OUT?,RM,OFFS=1,TBL,CNT=0,NRM INC 'TTRIES INC 'TWALK-LEVEL GETP RM,P?CAPACITY PUT PATH-TBL,TWALK-LEVEL,STACK EQUAL? RM,T-A \?ELS3 DEC 'TWALK-LEVEL RTRUE ?ELS3: GRTR? TWALK-LEVEL,TWALK-MAX \?CND1 DEC 'TWALK-LEVEL RFALSE ?CND1: GETP RM,P?CAPACITY GET TWALK-PATHS,STACK >TBL GET TBL,0 >CNT ZERO? CNT \?CND6 DEC 'TWALK-LEVEL RTRUE ?CND6: ?PRG9: GRTR? OFFS,CNT \?ELS13 DEC 'TWALK-LEVEL RFALSE ?ELS13: GET TBL,OFFS GET TMAZE-ROOMS,STACK >NRM CALL CONNECTED?,RM,NRM ZERO? STACK /?CND11 EQUAL? NRM,PSTART /?CND11 CALL PATH-OUT?,NRM ZERO? STACK /?CND11 DEC 'TWALK-LEVEL RTRUE ?CND11: INC 'OFFS JUMP ?PRG9 .FUNCT LEGEND-BOOK-F EQUAL? PRSA,V?CLOSE \?ELS5 FSET? PRSO,OPENBIT \?ELS5 FCLEAR PRSO,OPENBIT PRINTR "Closed." ?ELS5: EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE,V?READ /?THN12 EQUAL? PRSA,V?OPEN \?ELS11 ?THN12: FSET PRSO,OPENBIT PRINTR "The first page of the book was the table of contents. Only two chapter names can be read: The Legend of the Unseen Terror and The Legend of the Great Implementers." ?ELS11: EQUAL? PRSA,V?TURN \FALSE PRINTR "Rather than turning pages, why don't you simply read the legends." .FUNCT LEGEND-TWO-F EQUAL? PRSA,V?ZIFMIA \FALSE ZERO? IMP-SEEN \FALSE SET 'IMP-SEEN,TRUE-VALUE PRINTR "The implementers of the world, Marc Blank and Dave Lebling, appear before you, looking quite as confused as yourself. They speak: Dave: ""What's happening here?"" Marc: ""Uh, I dunno. YOU wrote this code, not me."" Dave: ""Hmm. Another day, another bug. Let's see here..."" They disappear a moment later. Dave's voice: ""That should do it.""" .ENDI