├── b.serial ├── b.zip ├── COMPILED └── b.z4 ├── ntext.file ├── text.file ├── plane.bugs ├── b.chars ├── random-globals.zil ├── b.zil ├── c2.zil ├── b.errors ├── bankdefs.zil ├── old-parserdefs.zil ├── computerdefs.zil ├── airplane.txt ├── README.md ├── bureaucracy.txt ├── xjetdefs.zil ├── xxjetdefs.zil ├── b.chart ├── clocker.zil ├── formdefs.zil ├── macros.zil ├── bfreq.zap ├── jetdefs.zil ├── buttons.txt ├── b.chart-thru-release ├── maze-program.zil ├── nmaze-program.zil ├── mumble.zil ├── bglobals.dat ├── foo.mud ├── forms.zil ├── zalagasa.zil ├── other-misc.zil └── njet.zil /b.serial: -------------------------------------------------------------------------------- 1 | 56 2 | -------------------------------------------------------------------------------- /b.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/historicalsource/bureaucracy/HEAD/b.zip -------------------------------------------------------------------------------- /COMPILED/b.z4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/historicalsource/bureaucracy/HEAD/COMPILED/b.z4 -------------------------------------------------------------------------------- /ntext.file: -------------------------------------------------------------------------------- 1 | To find the entrance, from the first numbered room, go in any direction. Thenceforth, subtract the number of the previous room from the current one. Use the first digit of the difference to select one of the following strings: 1 gives NSEWUD, 2 gives NWESDU, 3 gives USDNEW, 4 gives SUNDEW, 5 gives ENUDSW, 6 gives DWEUNS. Use the second digit to select a letter from the string, and go in that direction. Thus, room 64 to 105 gives a difference of 41. Take the first letter from the fourth string, and go South. -------------------------------------------------------------------------------- /text.file: -------------------------------------------------------------------------------- 1 | To find the entrance to Headquarters, upon entering the first numbered room, go in any direction. Thenceforth, subtract the number of the previous room from the number of the current room. Take the last digit of the difference. If it is zero, go East; if one, go South; if two, Up; if three, North; if four, Down; if five, West. For example, the first numbered room is 64; the second is 105. The difference is 41, making the last digit one; you should go South in this case. Failure will return you to the antechamber. -------------------------------------------------------------------------------- /plane.bugs: -------------------------------------------------------------------------------- 1 | 24-Jan-87 21:16:08-EST,610;000000000001 2 | Date: 24 Jan 1987 2116-EST 3 | From: Anita Sinclair 4 | Subject: Aerop* 5 | To: taa 6 | 7 | Dear Tim, 8 | 9 | The following features cropped up whilst playing B* (script 25 or 26) 10 | 11 | >get headphones ..../....(many moves) 12 | 13 | >get card,magazine 14 | You have now got the ... 15 | 16 | >read them 17 | How can you read the headphones 18 | (?) 19 | 20 | There is a whole section which starts with empty bowl into seat pocket. 21 | where the programme seems to think that i am trying to feel it up. 22 | 23 | MAMAJOR 24 | 25 | l in seat (whilst in row 2) 26 | 27 | puts you in row 3 28 | but doesnt updatae status line. 29 | 30 | > line breaking up - continue 31 | ajs 32 | ------- 33 | -------------------------------------------------------------------------------- /b.chars: -------------------------------------------------------------------------------- 1 | : 12430 e: 9458 t: 7625 a: 7571 2 | i: 6351 o: 6233 s: 5915 n: 5296 3 | r: 5097 l: 4241 h: 3276 d: 3159 4 | y: 3007 c: 2789 u: 2330 .: 2326 5 | g: 2260 p: 2170 m: 1941 w: 1806 6 | f: 1710 b: 1590 ,: 1479 ": 940 7 | k: 876 v: 809 T: 635 Y: 477 8 | I: 476 ': 396 A: 322 -: 257 9 | x: 212 S: 182 H: 176 013: 158 10 | ?: 158 !: 153 W: 145 O: 139 11 | j: 130 P: 124 B: 109 C: 99 12 | D: 95 R: 95 q: 92 N: 90 13 | Z: 89 (: 88 E: 88 ): 86 14 | F: 86 M: 85 0: 76 G: 74 15 | z: 72 L: 59 U: 59 [: 58 16 | ]: 50 ;: 41 1: 40 2: 35 17 | :: 33 J: 27 V: 25 4: 22 18 | $: 21 5: 21 K: 18 7: 17 19 | /: 13 8: 11 >: 11 3: 7 20 | Q: 7 6: 6 9: 4 #: 3 21 | &: 2 X: 1 ^: 1 -------------------------------------------------------------------------------- /random-globals.zil: -------------------------------------------------------------------------------- 1 | 2 | 3 | > 4 | > 5 | > 6 | > 7 | > 8 | > 9 | > 10 | > 11 | > 12 | > 13 | > 14 | > 15 | > 16 | > 17 | > 18 | > 19 | > 20 | 21 | 22 | 23 | > 24 | > 25 | > 26 | > 27 | > 28 | > 29 | 30 | 31 | > 32 | "0 = super, 1 = brief, 2 = verbose." 33 | > 36 | 37 | > 39 | 40 | > 41 | 42 | 43 | > 44 | > 45 | 46 | -------------------------------------------------------------------------------- /b.zil: -------------------------------------------------------------------------------- 1 | "B for BUREAUCRACY: (C)1987 Infocom, Inc. All Rights Reserved." 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 13 | 14 | ON!-INITIAL "For DEBUGR." 15 | OFF!-INITIAL 16 | ENABLE!-INITIAL 17 | DISABLE!-INITIAL 18 | 19 | 20 | 21 | 22 | >> 23 | 24 | 25 | > 26 | ;)> 27 | 28 | > 29 | >> 30 | 31 | ; 32 | > 33 | 34 | ; "Definitions only..." 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | "TAA.EXE"> 61 | 62 | 63 | 64 | 65 | 66 | ; 67 | 68 | -------------------------------------------------------------------------------- /c2.zil: -------------------------------------------------------------------------------- 1 | "B for BUREAUCRACY: (C)1987 Infocom, Inc. All Rights Reserved." 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 13 | 14 | ON!-INITIAL "For DEBUGR." 15 | OFF!-INITIAL 16 | ENABLE!-INITIAL 17 | DISABLE!-INITIAL 18 | 19 | 20 | )> 21 | 22 | 23 | 24 | 25 | >> 26 | 27 | 28 | > 29 | )> 30 | 31 | > 32 | >> 33 | 34 | ; 35 | > 36 | 37 | ; "Definitions only..." 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | "TAA.EXE"> 64 | 65 | 66 | 67 | 68 | 69 | ; 70 | 71 | -------------------------------------------------------------------------------- /b.errors: -------------------------------------------------------------------------------- 1 | Assembling B.ZAP.61 on Saturday, May 21, 1988 16:43:58 2 | Release: 160 3 | 4 | 64 Inserting BFREQ.ZAP.60 (640 bytes) 5 | 704 Inserting BDAT.ZAP.57 (36426 bytes) 6 | 37130 Inserting MISC.ZAP.43 (3743 bytes) 7 | 40873 Inserting CLOCKER.ZAP.35 (438 bytes) 8 | 41311 Inserting PARSER.ZAP.36 (12998 bytes) 9 | 54309 Inserting BPUR.ZAP.57 (4384 bytes) 10 | 58693 Inserting OTHER-MISC.ZAP.35 (3382 bytes) 11 | 62075 Inserting VERBS.ZAP.36 (17870 bytes) 12 | 79945 Inserting EVENTS.ZAP.36 (6767 bytes) 13 | 86712 Inserting PEOPLE.ZAP.36 (11090 bytes) 14 | 97802 Inserting PLACES.ZAP.35 (6292 bytes) 15 | 104094 Inserting THINGS.ZAP.35 (26700 bytes) 16 | 130794 Inserting FORMS.ZAP.35 (2517 bytes) 17 | 133311 Inserting COMPUTER.ZAP.37 (4888 bytes) 18 | 138199 Inserting NNAIRPORT.ZAP.36 (16794 bytes) 19 | 154993 Inserting PARANOID.ZAP.33 (10735 bytes) 20 | 165728 Inserting ZALAGASA.ZAP.33 (4293 bytes) 21 | 170021 Inserting MAZE.ZAP.34 (7780 bytes) 22 | 177801 Inserting MUMBLE.ZAP.33 (930 bytes) 23 | 178731 Inserting BANK.ZAP.34 (9432 bytes) 24 | 188163 Inserting XXJET.ZAP.32 (30155 bytes) 25 | 218318 Inserting BSTR.ZAP.53 (25206 bytes) 26 | 27 | *000000000000* global undefined: 17586, 16713, 15842, 15826, 15814, 15802, 15772, 15756, 15744, 15728, 15718, 15708, 15698, 15688, 15672, 15660, 15650, 15640, 15626, 15614, 14248, 14236, 14226, 14210, 13998, 13646 28 | #BYTE global undefined: 17585, 16712, 15841, 15825, 15813, 15801, 15771, 15755, 15743, 15727, 15717, 15707, 15697, 15687, 15671, 15659, 15649, 15639, 15625, 15613, 14247, 14235, 14225, 14209, 13997, 13645 29 | 30 | 255 objects. 31 | 240 globals. 32 | 1416 word vocabulary. 33 | 34 | 243524 bytes (238K). 35 | 37130 bytes of preload. 36 | 17667 bytes of impure. 37 | Outputting symbol tables 38 | -------------------------------------------------------------------------------- /bankdefs.zil: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 15 | 16 | 23 | 24 | 26 | 27 | 30 | 31 | 32 | >> 33 | 34 | 35 | 36 | ) 50 | (TELLER-CURRENT-FORM 0) 51 | (TELLER-DRUGS BYTE 0) 52 | (TELLER-IDLE BYTE 0)> 53 | 54 | ; "Sign on this window" 55 | ; "The first question asked" 56 | ; "The next thing asked for by teller" 57 | ; "Object given by teller (if any)" 58 | ; "Next request" 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | -------------------------------------------------------------------------------- /old-parserdefs.zil: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | > 6 | 7 | > 8 | )> 9 | 10 | 14 | .Y) 15 | (T 16 | T)>> 17 | 18 | "Byte offset to # of entries in LEXV" 19 | 20 | 21 | 22 | "Word offset to start of LEXV entries" 23 | 24 | 25 | 26 | "Number of words per LEXV entry" 27 | 28 | 29 | 30 | 31 | "Offset to parts of speech byte" 32 | 33 | 34 | 35 | "Offset to first part of speech" 36 | 37 | 38 | 39 | "First part of speech bit mask in PSOFF byte" 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 109 |
.BIT>) 110 | (T 111 | )>> 112 | 113 | 114 | -------------------------------------------------------------------------------- /computerdefs.zil: -------------------------------------------------------------------------------- 1 | "COMPUTERDEFS for BUREAUCRACY: Copyright (C)1987 Infocom, Inc. 2 | All rights reserved." 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 14 | 15 | ) 19 | (TELECOM? BYTE <>) 20 | (EXITED-ALREADY? BYTE <>) 21 | (COMPUTER-DEAD? BYTE <>) 22 | (COMP-X:FIX BYTE 0) 23 | (COMP-Y:FIX BYTE 0) 24 | (CURRENT-TARGET-NAME <>) ; "String for interrupt messages" 25 | (REAL-TARGET-NAME <>) ; "LTABLE for looking stuff up in directory" 26 | (REMAINING-TARGET-TURNS:FIX BYTE 0) ; "Turns left until this one's done" 27 | (LINES-TO-NEXT-TARGET:FIX BYTE 0) ;"Lines to output before select next target" 28 | (TERMINATE-CURRENT:FIX BYTE 0) ; "Lines to output before terminating this one" 29 | (COMMANDS-SINCE-START:FIX BYTE 0); "Command lines read since target started" 30 | (DIE-ON-NEXT-COMMAND BYTE <>) ; "To avoid hair of faking non-local return" 31 | (WILL-WIN? BYTE <>) ; "True if killed computer" 32 | (FERROR-ACTIVE? BYTE <>)> 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | ) ; "Brief help msg" 48 | (DIR-DUMMY-1 ANY 'NONE) 49 | (DIR-DUMMY-2 ANY 'NONE) 50 | (DIR-DUMMY-3 ANY 'NONE) 51 | (DIR-NAMLEN FIX) 52 | (DIR-DATA ANY 'NONE)> 53 | 54 | 55 | 56 | 57 | 58 | ; "Build a directory entry" 59 | > 62 | <==? <1 .BITS> IMPURE>> 63 | > 64 | >)> 65 | > 66 | >> 69 | DIR-ENTRY>> 70 | 71 | ) 73 | ( 74 | > 75 | )> 76 | 77 | >)>> 78 | .BITS> 79 | > 84 | 86 | > 88 | >> 89 | .NAME>> 90 | .DE> 91 | 92 | 93 | -------------------------------------------------------------------------------- /airplane.txt: -------------------------------------------------------------------------------- 1 | AIRPLANE SEQUENCE 2 | 3 | 4 | 5 | WINNING CASE NO 1 6 | 7 | SEAT 3B 8 | 9 | You are sitting in an incredibly luxurious Air Zalagasa FubAero 7-11 10 | seat 30,000 feet over somewhere which you don't know where it is. 11 | 12 | >EXAMINE THE SEAT 13 | 14 | It is an incredibly luxurious FubAero ComfoMat (TM) Air Zalagasa seat, 15 | equipped with a recline button, a headphone socket, a light switch and a 16 | stewardess call button. A pocket in front holds literature. 17 | 18 | >PRESS THE RECLINE {ANY} BUTTON 19 | 20 | You hear a tiny metallic voice whispering nearby. 21 | 22 | >LISTEN TO THE VOICE 23 | 24 | You cannot hear it clearly without the proper equipment. 25 | 26 | >LOOK IN THE POCKET 27 | 28 | The seat pocket contains a set of headphones, a copy of Ai-Ai Life, the 29 | in-flight magazine of Air Zalagasa, and a safety card. 30 | 31 | >GET THE HEADPHONES.PLUG THEM INTO THE SEAT. 32 | 33 | The voice is now a little louder but still unclear. 34 | 35 | >WEAR THE HEADPHONES 36 | 37 | You hear an announcement. "Welcome to seat {WRONG SEATNUM}. Your 38 | luxury Air Zalagasa flight has been equipped for your convenience with 39 | ComfoMat (TM) electrically-controlled seats. For your safety and 40 | comfort, the controls located at your passenger station have been 41 | centrally disabled at this time. We will be making this facility 42 | available to you after take off, or when we have reached our cruising 43 | altitude. Or possibly when we have served dinner. Or when we feel like 44 | it." 45 | 46 | >READ THE MAGAZINE 47 | 48 | No. 49 | 50 | >EXAMINE THE MAGAZINE 51 | A card falls out and flutters underneath your seat, which has been specially 52 | designed so that anything which flutters underneath it cannot be retrieved. 53 | 54 | >EXAMINE THE CARD 55 | 56 | This is a shiny card showing happy Zalagasans in a shiny Air Zalagasa 57 | airplane to which all sorts of terrible things are happening. 58 | The first picture shows a happy smiling stewardess making an announcement 59 | in very very small type. The second picture shows some happy, smiling 60 | Zalagasan passengers removing false teeth, sepctacles, ornamental nose 61 | bones and so forth. The third picture shows 62 | some Zalagasans who are almost certainly happy and smiling but you 63 | can't be sure because they are all bent double clasping their knees. 64 | The fourth picture appears to have been chewed by a llama so you can't 65 | tell what the happy smiling Zalagasans which it undoubtedly showed are 66 | actually doing. 67 | 68 | >READ THE SMALL PRINT 69 | 70 | The small print coming out of the stewardess's mouth says "M'baka 71 | n'ka umtogo bokaki m'Great Big Plane Crash n'gaga five minutes, 72 | okaka m'sidli ik ik togo paku." 73 | 74 | >PRESS THE STEWARDESS BUTTON 75 | 76 | Your seat reclines slightly, remembers that it has been centrally 77 | disabled for your comfort and safety, pauses, and returns to its 78 | full upright position. 79 | 80 | >FEEL UNDER THE SEAT 81 | 82 | You feel the edge of a card. 83 | 84 | >GET THE CARD 85 | 86 | 87 | Taken. 88 | 89 | >EXAMINE IT. 90 | 91 | [SHOW COMPLAINTS FORM] 92 | 93 | 94 | 95 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Bureaucracy Source Code Collection 2 | 3 | Bureaucracy is a 1987 interactive fiction game written by Douglas Adams and published by Infocom. 4 | 5 | Further information on Bureaucracy: 6 | 7 | * [Wikipedia](https://en.wikipedia.org/wiki/Bureaucracy_(video_game)) 8 | * [The Digital Antiquarian](https://www.filfre.net/2015/08/bureaucracy/) 9 | * [The Interactive Fiction Database](https://ifdb.tads.org/viewgame?id=zjyxds3s57pgis3x) 10 | * [The Infocom Gallery](http://infocom.elsewhere.org/gallery/bureaucracy/bureaucracy.html) 11 | * [IFWiki](http://www.ifwiki.org/index.php/Bureaucracy) 12 | 13 | __What is this Repository?__ 14 | 15 | This repository is a directory of source code for the Infocom game "Bureaucracy", including a variety of files both used and discarded in the production of the game. It is written in ZIL (Zork Implementation Language), a refactoring of MDL (Muddle), itself a dialect of LISP created by MIT students and staff. 16 | 17 | The source code was contributed anonymously and represents a snapshot of the Infocom development system at time of shutdown - there is no remaining way to compare it against any official version as of this writing, and so it should be considered canonical, but not necessarily the exact source code arrangement for production. 18 | 19 | __Basic Information on the Contents of This Repository__ 20 | 21 | It is mostly important to note that there is currently no known way to compile the source code in this repository into a final "Z-machine Interpreter Program" (ZIP) file. There are .ZIP files in some of the Infocom Source Code repositories but they were there as of final spin-down of the Infocom Drive and the means to create them is currently lost. 22 | 23 | Throughout its history, Infocom used a TOPS20 mainframe with a compiler (ZILCH) to create and edit language files - this repository is a mirror of the source code directory archive of Infocom but could represent years of difference from what was originally released. 24 | 25 | In general, Infocom games were created by taking previous Infocom source code, copying the directory, and making changes until the game worked the way the current Implementor needed. Structure, therefore, tended to follow from game to game and may or may not accurately reflect the actual function of the code. 26 | 27 | There are also multiple versions of the "Z-Machine" and code did change notably between the first years of Infocom and a decade later. Addition of graphics, sound and memory expansion are all slowly implemented over time. 28 | 29 | __What is the Purpose of this Repository__ 30 | 31 | This collection is meant for education, discussion, and historical work, allowing researchers and students to study how code was made for these interactive fiction games and how the system dealt with input and processing. It is not considered to be under an open license. 32 | 33 | Researchers are encouraged to share their discoveries about the information in this source code and the history of Infocom and its many innovative employees. 34 | 35 | __Some Trivia and Notes on this Repository__ 36 | 37 | * While credited as created by Douglas Adams, the game was coded by a variety of Implementors over time, along with external writing assistance by Michael Bywater. 38 | -------------------------------------------------------------------------------- /bureaucracy.txt: -------------------------------------------------------------------------------- 1 | Ideas for Bureaucracy? 2 | ---------------------- 3 | The global concept for this game can be summarized by the line "Just because 4 | you're paranoid doesn't mean that everybody isn't out to get you." 5 | 6 | We've all had the feeling from time to time that somebody (particularly 7 | those small, beady-eyed bureaucrats who work for banks, insurance companies, 8 | etc.) is out to get us. This game provides the answer: In fact, there is 9 | a massive conspiracy to do just that. And things are stranger than that, 10 | because this conspiracy is centered in some sort of fantastical underground 11 | (literally) catacomb, connecting all of these various dens of iniquity. 12 | 13 | The player, when he successfully completes the game, will have the 14 | intense satisfaction of having crushed the nameless and faceless hoard 15 | of bureaucrats, and, with luck, having gotten the bank to acknowledge his 16 | change of address (or whatever the player's initial task is set up to be). 17 | 18 | -- 19 | 20 | This game is intended as a kind of dark comedy. The mood which is to 21 | be created is one of frustration, anger, and eventually paranoia as 22 | everything in the player's life goes from bad to worse, all because 23 | of petty errors at the bank, etc. 24 | 25 | At some point, the player can gain access to the 'infernal regions', 26 | where some bizarre series of accomplishments will have to be made in 27 | order to destroy the enemy's apparatus. 28 | 29 | One possible source of problems is trying to do the things that 30 | the bureaucracy hates most: folding, spindling, and mutiliating punch 31 | cards, filling out forms incorrectly, perhaps stealing rubber stamps 32 | and stamping forms improperly, and otherwise botching up the works. 33 | Perhaps this type of problem in the above-ground area will help create 34 | a diversion allowing access to the underground where more bizarre 35 | things will happen. 36 | 37 | Presumably the game starts with the player needing to get some very 38 | simple task done (e.g. getting the bank to acknowledge a change of 39 | address form). This will turn into more of a problem than it seems 40 | and events will cause such things as his credit cards getting recalled, 41 | his house getting repossessed, etc. leading to absurd heights of 42 | nonsense. Clearly, at some point the player will realize that things 43 | are getting out of hand. 44 | 45 | Confronting the various bureaucrats will be no easy task, since they 46 | probably won't want to talk with you, preferring that you fill out 47 | a request for conversation form. My guess is that no matter what you 48 | try to do, you can't get them to answer questions very reliably (which 49 | fits in well with parser limitations). 50 | 51 | -- 52 | 53 | Places of Interest 54 | 55 | Your Home - probably just a few rooms a la Hitchhiker's 56 | 57 | Outside your Home - front steps, etc. 58 | 59 | Bank - your bank, with a number of rooms, for tellers, safe deposit 60 | boxes, vault, waiting area, etc. 61 | 62 | Post Office - your local post office 63 | 64 | Insurance Company - 65 | 66 | Underground - Lots of stuff here, maybe some sort of semi-militaristic 67 | order of bureaucrats with lots of arcane machinery linked up to a gigantic 68 | computer which controls the hoard. Perhaps they all turn out to be 69 | androids or some such. -------------------------------------------------------------------------------- /xjetdefs.zil: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ) 13 | (MEAL-HERE? BYTE <>) 14 | (MEAL-SQUASHED? BYTE <>) 15 | (MEAL-EATEN? BYTE <>) 16 | (BUTTONS-OFF? BYTE <>) 17 | (SITTING? BYTE <>) 18 | (PHONES-PLUGGED-IN? BYTE <>) 19 | (CURRENT-STAR BYTE 0) 20 | (CURRENT-DESC BYTE 0) 21 | (CURRENT-WEAPON BYTE 0) 22 | (LOSER-CANT-LEAVE-SEAT? BYTE <>) 23 | (PURSER-HERE? BYTE <>) 24 | (PHONE-MUSIC:FIX BYTE 0) ; "Headphone stuff" 25 | (PHONE-TIMER:FIX BYTE 0) ; "Random" 26 | (LAST-ROW:FIX BYTE 0) ; "Previous row occupied" 27 | (LAST-SEAT:FIX BYTE 0) ; "Previous seat" 28 | (NEW-ROW:FIX BYTE 0) 29 | (NEW-SEAT:FIX BYTE 0) 30 | (RETURN-TO-SEAT-WAIT:FIX BYTE 0) 31 | (GRANDMA-HAPPY? BYTE <>) 32 | (SMOKER-IRATE? BYTE <>) 33 | (BUSINESS-IRATE? BYTE <>) 34 | (FALL-SCRIPT:FIX BYTE 5) 35 | (CURRENT-NEIGHBOR BYTE 0) 36 | (FLIGHT-ATTENDANT-HE/SHE:STRING "She") 37 | (FLIGHT-ATTENDANT-HIM/HER:STRING "her")> 38 | 39 | > 50 | 51 | > 61 | 62 | > 72 | 73 | > 75 | 76 | ,ALL-SEATS>) 77 | (T 78 | 80 | >>>)>> 81 | 82 | ; "State of seating is low four bits; starboard passenger, if any, is next 83 | four; port passenger is next four. Three remaining bits below the sign 84 | bit can be used for flags." 85 | 86 | 87 | 88 | 89 | 90 | > 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | -------------------------------------------------------------------------------- /xxjetdefs.zil: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | > 21 | 22 | 23 | 24 | 25 | % 27 | % %>> 28 | 29 | 31 | >> 32 | 33 | 34 | > 35 | > 36 | > 37 | > 38 | > 39 | > 40 | > 41 | > 42 | > 43 | > 44 | > 45 | > 46 | > 47 | > 48 | > 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | ; "Bald guy removed" 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | (BYTE)>> 68 | 69 | ) 79 | (DING-ROW BYTE 0) 80 | (SPLAT-COUNT BYTE 0) 81 | (MEAL-HERE? BYTE <>) 82 | (MEAL-SQUASHED? BYTE <>) 83 | (MEAL-EATEN? BYTE <>) 84 | (MEAL-ROW BYTE <>) 85 | (MEAL-SEAT BYTE <>) 86 | (LOOKED-AT-FOOD? BYTE <>) 87 | (LOSER-CANT-LEAVE-SEAT? BYTE <>) 88 | (FALL-SCRIPT BYTE 5) 89 | (RETURN-TO-SEAT-ROUTINE <>) 90 | (ATTENDANT-WORKING? BYTE <>) 91 | (ATTENDANT-MENTIONED-REGULATIONS? BYTE 3) 92 | (MIND-READ? BYTE <>) 93 | (BABY-DISTURBED? BYTE 0) 94 | (NEXT-TO-BABY? BYTE <>) 95 | (AIRPHONE-RINGING? BYTE <>) 96 | (VOICES-ONLINE? BYTE <>) 97 | (FLIGHT-ATTENDANT-HE/SHE:STRING) 98 | (FLIGHT-ATTENDANT-HIM/HER:STRING) 99 | (HATCH-OPEN? BYTE 0) 100 | (HATCH-LOSER? BYTE <>) 101 | (CRASH-COMING? BYTE <>) 102 | (NERD-FLEW-BY? BYTE <>) 103 | (RETURN-TO-SEAT-WAIT BYTE 0) 104 | (GOT-RECIPE? BYTE <>) 105 | (SPLATTED-ROW BYTE 0) 106 | (SPLATTED-PERSON BYTE 0) 107 | (ATTENDANT-AT-ROW BYTE 0) 108 | (RUN-PLANE-COUNT 0) 109 | (SMOKER-IRATE? BYTE <>) 110 | (IN-SEAT? BYTE <>)> 111 | 112 | -------------------------------------------------------------------------------- /b.chart: -------------------------------------------------------------------------------- 1 | -date- -rel- -size- -pre- -obj- -glo- -voc- 2 | 2/24 87 243156 41563 255 240 1416 3 | 3/04 88 243176 37663 255 240 1416 4 | 3/04 88 243176 37663 255 240 1416 5 | 3/09 88 243164 37663 255 240 1416 6 | 3/09 88 243164 37663 255 240 1416 7 | 3/09 88 243356 37687 255 240 1417 8 | 3/09 89 243356 37687 255 240 1417 9 | 3/09 90 243380 37687 255 240 1417 10 | 3/09 91 243356 37687 255 240 1417 11 | 3/10 92 243376 37687 255 240 1417 12 | 3/10 93 243384 37687 255 240 1417 13 | 3/10 94 243384 37687 255 240 1417 14 | 3/17 95 243384 37687 255 240 1417 15 | 3/20 96 243384 37687 255 240 1417 16 | 3/23 97 243384 37687 255 240 1417 17 | 3/24 98 243388 37687 255 240 1417 18 | 3/24 99 243384 37687 255 240 1417 19 | 3/24 100 243384 37687 255 240 1417 20 | 4/02 101 243384 37685 255 240 1417 21 | 4/03 102 243392 37685 255 240 1417 22 | 4/15 103 243392 37685 255 240 1417 23 | 4/16 104 243392 37685 255 240 1417 24 | 4/27 105 243268 37663 255 240 1416 25 | 4/27 105 243320 37663 255 240 1416 26 | 4/30 105 243324 37663 255 240 1416 27 | 5/04 106 243732 37651 255 240 1416 28 | 5/04 107 243732 37651 255 240 1416 29 | 5/06 108 243728 37651 255 240 1416 30 | 5/06 109 243316 37669 255 240 1416 31 | 5/07 110 243304 37667 255 240 1416 32 | 5/18 111 243332 37663 255 240 1416 33 | 5/19 111 243332 37663 255 240 1416 34 | 5/19 112 243332 37663 255 240 1416 35 | 5/28 113 243324 37659 255 240 1416 36 | 5/28 114 243300 37653 255 240 1416 37 | 5/28 115 243308 37678 255 240 1416 38 | 5/29 116 243340 37678 255 240 1416 39 | 6/03 117 243308 37678 255 240 1416 40 | 6/05 118 218504 37678 255 240 1416 41 | 6/05 119 243308 37678 255 240 1416 42 | 6/05 120 243308 37678 255 240 1416 43 | 6/05 121 243308 37678 255 240 1416 44 | 6/06 122 243284 37678 255 240 1416 45 | 6/08 123 243248 37678 255 240 1416 46 | 6/09 124 243244 37674 255 240 1416 47 | 6/09 125 243184 37086 255 240 1416 48 | 6/10 126 243184 37086 255 240 1416 49 | 6/10 126 243184 37086 255 240 1416 50 | 6/10 127 243184 37086 255 240 1416 51 | 6/17 128 243180 37086 255 240 1416 52 | 6/18 129 243180 37086 255 240 1416 53 | 6/18 130 243180 37086 255 240 1416 54 | 6/22 131 243180 37086 255 240 1416 55 | 6/22 132 243224 37086 255 240 1416 56 | 6/23 133 243180 37084 255 240 1416 57 | 6/30 134 243212 37058 255 240 1416 58 | 6/30 135 243180 37032 255 240 1416 59 | 6/30 136 243208 37058 255 240 1416 60 | 7/01 137 243216 37058 255 240 1416 61 | 7/01 138 243172 37058 255 240 1416 62 | 7/02 139 243200 37058 255 240 1416 63 | 7/06 140 243184 37058 255 240 1416 64 | 7/07 141 243160 37058 255 240 1416 65 | 7/21 142 241068 36657 255 240 1379 66 | 7/21 143 243160 37058 255 240 1416 67 | 7/22 144 243160 37058 255 240 1416 68 | 7/22 145 243160 37058 255 240 1416 69 | 7/22 146 243160 37058 255 240 1416 70 | 7/28 147 243160 37058 255 240 1416 71 | 8/20 148 243160 37058 255 240 1416 72 | 9/16 149 243412 37458 255 240 1416 73 | 9/16 150 243216 37110 255 240 1416 74 | 9/18 151 243424 37110 255 240 1416 75 | 9/19 152 243368 37108 255 240 1416 76 | 10/08 153 243224 37110 255 240 1416 77 | 10/08 154 243368 37110 255 240 1416 78 | 10/09 155 243368 37110 255 240 1416 79 | 12/21 156 243368 37110 255 240 1416 80 | 12/21 157 243412 37110 255 240 1416 81 | 12/22 158 243416 37110 255 240 1416 82 | 12/24 159 243416 37110 255 240 1416 83 | 5/21 160 243524 37130 255 240 1416 84 | -------------------------------------------------------------------------------- /clocker.zil: -------------------------------------------------------------------------------- 1 | "CLOCKER for BUREAUCRACY: (C)1987 Infocom, Inc. All rights reserved." 2 | 3 | 4 | 5 | 6 | 7 | > 8 | ;> 9 | 10 | > 11 | 12 | 13 | 14 | 15 | 16 | ; "Length of an interrupt entry." 17 | ; "Offset of routine name." 18 | ; "Offset of count." 19 | ; "For hunger stuff." 20 | > 22 | 23 | )>> 24 | 25 | > 27 | > 28 | 30 | .QQ>) 31 | ( .RTN> 32 | > 33 | .QQ>) 34 | (T 35 | )>)> 36 | >>> 37 | 38 | "This version of QUEUE automatically enables as well." 39 | 40 | )) 41 | > 42 | > 43 | 45 | 46 | ) 47 | (T 48 | 49 | )> 50 | > 51 | >)> 52 | 53 | ) 54 | ( .RTN> 55 | 56 | ) 57 | (> 58 | )> 59 | >> 60 | 61 | ') 62 | (ELSE 63 | '> 64 | >>)> 65 | >>)> 66 | 67 | .INT> 68 | 69 | 70 | 71 | > 73 | 74 | 75 | ) (Q? <>) DAY:FIX) 76 | 77 | > 78 | .CLOCKER>)> 79 | > 80 | > 81 | 83 | > 84 | 85 | 86 | > 87 | 88 | 89 | > 90 | > 91 | 92 | )> 93 | )>)> 94 | ) 95 | (> 96 | > 97 | 98 | > 99 | > 100 | ) 101 | ( 102 | 103 | > 104 | )> 105 | 106 | )> 107 | > 108 | > 110 | 111 | )> 112 | 113 | )> 114 | 115 | >> 116 | )>)>)>)> 117 | > 118 | 119 | >)>> 120 | > 121 | 122 | ; "This runs every turn..." 123 | 124 | 125 | 126 | ) 127 | (DIASTOLIC:FIX )) 128 | 129 | <>) 130 | (> 1> 131 | 132 | 133 | ) 134 | ( 135 | )>)>> -------------------------------------------------------------------------------- /formdefs.zil: -------------------------------------------------------------------------------- 1 | "FORMDEFS for BUREAUCRACY: Copyright (C)1987 Infocom, Inc. All rights reserved." 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 11 | 12 | 13 | 14 | 15 | "Args for field functions" 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | ; "Structure to represent a single field." 29 | ; "Form is just a table of fields. Internally, we enforce the restriction 30 | that there can be no more than two fields on a line." 31 | 32 | ) 38 | (FIELD-DUMMY-1 ANY 'NONE) 39 | (FIELD-DUMMY-2 ANY 'NONE) 40 | (FIELD-DUMMY-3 ANY 'NONE) 41 | (FIELD-PROMPTLEN FIX) ; "Length of frob" 42 | (FIELD-X FIX) 43 | (FIELD-Y FIX) 44 | (FIELD-MAXLEN FIX) 45 | (FIELD-DONE FIX 0) 46 | ; "This field can't be moved, because it makes the data in the 47 | field look like a byte table with a length..." 48 | (FIELD-CURLEN FIX) 49 | (FIELD-DATA ANY 'NONE)> 50 | 51 | 52 | 53 | ; "Field syntax is 54 | (name:ATOM prompt:STRING maxlen:FIX OPT init:STRING)" 55 | 56 | 58 | > 59 | 60 | :STRING> <3 .FIELD>:FIX 1>> 62 | 63 | 66 | 67 | )> 69 | > 70 | >> 71 | 72 | > 73 | 1> 74 | <- ,FORM-WIDTH 2>>> 75 | <+ .FIELDN 1>> 76 | > 77 | >) 78 | (T 79 | 80 | >)> 81 | > 82 | >> 83 | > 84 | 85 | >>> 88 | >> <- ,FORM-LENGTH 1>> 89 | >> 90 | ,FORM-LENGTH>)>> 91 | 92 | 94 | 95 | 2> 96 | .LINENO>)>> 97 | 98 | > 1 <3 .FIELD>> 100 | <- ,FORM-WIDTH 2>> 101 | )> 102 | :FIX> 104 | (BYTE)> 105 | FIELD>> 106 | 'FIELD-PROMPT <2 .FIELD> 107 | 'FIELD-PROMPTLEN <+ > 1> 108 | 'FIELD-X .X 109 | 'FIELD-Y .Y 110 | 'FIELD-MAXLEN <3 .FIELD> 111 | 'FIELD-CURLEN 0 112 | 'FIELD-ABUSE > TABLE> 113 | >) 114 | (> FORM> 115 | >>)>> 116 | > ATOM> 117 | >>) 118 | ( 1>> ATOM> 119 | 1>>>)> 120 | <- .FIELDNO 1>>> 121 | >> 122 | 3> 123 | STRING>> 124 | :STRING>> 125 | )) 126 | >>> 127 | >> 128 | )> 129 | >>)>> 130 | 131 | 132 | -------------------------------------------------------------------------------- /macros.zil: -------------------------------------------------------------------------------- 1 | "MACROS for BUREAUCRACY: (C)1987 Infocom, Inc. All rights reserved." 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | (N NUM) * 15 | (C CHAR CHR) * 16 | Q * 17 | (D DESC) * 18 | (A AN) * 19 | CA * 20 | THE * 21 | CTHE * 22 | THEO 23 | CTHEO 24 | CTHEI 25 | THEI 26 | ITAL *:STRING 27 | WORD * 28 | PONE * 29 | PNEXT * 30 | > 31 | 32 | 33 | 34 | 35 | 36 | ) 39 | (T 40 | )>> 41 | 42 | > 44 | 45 | > 47 | 48 | > 50 | 51 | > 53 | 54 | 57 | 58 | ) 59 | ( 60 | ) 61 | (ELSE 62 | )>>)> 63 | 65 | )> 66 | > 67 | 70 | 71 | >>) 74 | (T .ATM)> GVAL>) 75 | (ELSE .ATM)>)>>> 76 | > 77 | 4> 78 | )>> 79 | !>)>>> 81 | 82 | >> 83 | 84 | ; > 86 | 87 | ; > 89 | 90 | ; > 92 | 93 | ; 96 | 97 | ) 98 | (<==? .X FSET?> 99 | ) 100 | (ELSE 101 | )>>)> 102 | > 103 | > 104 | 108 | .ATM) 109 | (ELSE 110 | )>> 111 | !.O)>>> 112 | 113 | >>> 115 | 116 | > 118 | >> 119 | >) 120 | (T 121 | >>)>> 122 | 123 | > 125 | 126 | > 128 | 129 | > 131 | 132 | > 134 | 135 | > 137 | 138 | 2> 1>> 140 | 141 | > 143 | 144 | > 146 | 147 | > 149 | 150 | >> 152 | 153 | 155 | ) 156 | (T 157 | .NUM)>> 158 | 159 | 162 | >> 163 | )>> 164 | 165 | > 167 | 168 | >> 170 | 171 | >>> 173 | 174 | > 179 | >) 180 | (ELSE )>> 181 | .STR>> -------------------------------------------------------------------------------- /bfreq.zap: -------------------------------------------------------------------------------- 1 | .FSTR FSTR?1,"the " ;2438 1220 2 | .FSTR FSTR?2,", " ;1615 1616 3 | .FSTR FSTR?3,"you " ;1482 742 4 | .FSTR FSTR?4,"your " ;1146 383 5 | .FSTR FSTR?5,"You " ;1092 365 6 | .FSTR FSTR?6,". " ;1080 1081 7 | .FSTR FSTR?7,"and " ;1080 541 8 | .FSTR FSTR?8,"to " ;938 939 9 | .FSTR FSTR?9,"The " ;822 275 10 | .FSTR FSTR?10,"that " ;795 266 11 | .FSTR FSTR?11,"with " ;684 229 12 | .FSTR FSTR?12,"have " ;630 211 13 | .FSTR FSTR?13,"of " ;609 610 14 | .FSTR FSTR?14,"It's " ;500 101 15 | .FSTR FSTR?15,"You're " ;497 72 16 | .FSTR FSTR?16,"There's " ;480 61 17 | .FSTR FSTR?17,"is " ;465 466 18 | .FSTR FSTR?18,"from " ;390 131 19 | .FSTR FSTR?19,"in " ;389 390 20 | .FSTR FSTR?20,"for " ;380 191 21 | .FSTR FSTR?21,"doesn't " ;378 55 22 | .FSTR FSTR?22,"already " ;372 63 23 | .FSTR FSTR?23,"about " ;336 85 24 | .FSTR FSTR?24,"are " ;328 165 25 | .FSTR FSTR?25,"don't " ;320 65 26 | .FSTR FSTR?26,"which " ;308 78 27 | .FSTR FSTR?27,"like " ;306 103 28 | .FSTR FSTR?28,"something " ;304 39 29 | .FSTR FSTR?29,"you're " ;294 50 30 | .FSTR FSTR?30,"There " ;290 59 31 | .FSTR FSTR?31,"can't " ;275 56 32 | .FSTR FSTR?32,"anything " ;273 40 33 | .FSTR FSTR?33,"would " ;272 69 34 | .FSTR FSTR?34,"this " ;267 90 35 | .FSTR FSTR?35,"not " ;262 132 36 | .FSTR FSTR?36,"into " ;258 87 37 | .FSTR FSTR?37,"Zalagasa " ;256 33 38 | .FSTR FSTR?38,"Zalagasan " ;243 28 39 | .FSTR FSTR?39,"This " ;236 60 40 | .FSTR FSTR?40,"flight " ;235 48 41 | .FSTR FSTR?41,"just " ;234 79 42 | .FSTR FSTR?42,"out " ;232 117 43 | .FSTR FSTR?43,"really " ;225 46 44 | .FSTR FSTR?44,"little " ;220 45 45 | .FSTR FSTR?45,"at " ;219 220 46 | .FSTR FSTR?46,"back " ;219 74 47 | .FSTR FSTR?47,"but " ;212 107 48 | .FSTR FSTR?48,"it " ;207 208 49 | .FSTR FSTR?49,"through " ;204 35 50 | .FSTR FSTR?50,"on " ;203 204 51 | .FSTR FSTR?51,"what " ;201 68 52 | .FSTR FSTR?52,"Zalagasans " ;200 21 53 | .FSTR FSTR?53,"hear " ;186 63 54 | .FSTR FSTR?54,"seems " ;180 46 55 | .FSTR FSTR?55,"looking " ;180 31 56 | .FSTR FSTR?56,"it's " ;176 45 57 | .FSTR FSTR?57,"I'm " ;176 45 58 | .FSTR FSTR?58,"computer " ;175 26 59 | .FSTR FSTR?59,"be " ;170 171 60 | .FSTR FSTR?60,"some " ;168 57 61 | .FSTR FSTR?61,"has " ;164 83 62 | .FSTR FSTR?62,"that" ;162 82 63 | .FSTR FSTR?63,"probably " ;161 24 64 | .FSTR FSTR?64,"says" ;160 81 65 | .FSTR FSTR?65,"looks " ;160 41 66 | .FSTR FSTR?66,"one " ;158 80 67 | .FSTR FSTR?67,"his " ;158 80 68 | .FSTR FSTR?68,"Your " ;156 40 69 | .FSTR FSTR?69,"nothing " ;156 27 70 | .FSTR FSTR?70,"aren't " ;156 27 71 | .FSTR FSTR?71,"I " ;152 153 72 | .FSTR FSTR?72,"can " ;152 77 73 | .FSTR FSTR?73,"you" ;151 152 74 | .FSTR FSTR?74,"here" ;150 76 75 | .FSTR FSTR?75,"isn't " ;145 30 76 | .FSTR FSTR?76,"all " ;144 73 77 | .FSTR FSTR?77,"you'll " ;144 25 78 | .FSTR FSTR?78,"Please " ;144 25 79 | .FSTR FSTR?79,"Boysenberry " ;143 14 80 | .FSTR FSTR?80,"an " ;142 143 81 | .FSTR FSTR?81,"want " ;141 48 82 | .FSTR FSTR?82,"they " ;141 48 83 | .FSTR FSTR?83,"What " ;140 36 84 | .FSTR FSTR?84,"better " ;140 29 85 | .FSTR FSTR?85,"there's " ;140 21 86 | .FSTR FSTR?86,"standing " ;133 20 87 | .FSTR FSTR?87,"take " ;132 45 88 | .FSTR FSTR?88,"know " ;132 45 89 | .FSTR FSTR?89,"Unfortunately" ;132 12 90 | .FSTR FSTR?90,"It " ;130 66 91 | .FSTR FSTR?91,"He " ;130 66 92 | .FSTR FSTR?92,"should " ;130 27 93 | .FSTR FSTR?93,"attendant " ;128 17 94 | .FSTR FSTR?94,"You'd " ;126 22 95 | .FSTR FSTR?95,"You'll " ;126 19 96 | .FSTR FSTR?96,"very " ;123 42 97 | 98 | 99 | ;word frequency table of 96 most common words 100 | 101 | WORDS:: .TABLE 102 | FSTR?1 103 | FSTR?2 104 | FSTR?3 105 | FSTR?4 106 | FSTR?5 107 | FSTR?6 108 | FSTR?7 109 | FSTR?8 110 | FSTR?9 111 | FSTR?10 112 | FSTR?11 113 | FSTR?12 114 | FSTR?13 115 | FSTR?14 116 | FSTR?15 117 | FSTR?16 118 | FSTR?17 119 | FSTR?18 120 | FSTR?19 121 | FSTR?20 122 | FSTR?21 123 | FSTR?22 124 | FSTR?23 125 | FSTR?24 126 | FSTR?25 127 | FSTR?26 128 | FSTR?27 129 | FSTR?28 130 | FSTR?29 131 | FSTR?30 132 | FSTR?31 133 | FSTR?32 134 | FSTR?33 135 | FSTR?34 136 | FSTR?35 137 | FSTR?36 138 | FSTR?37 139 | FSTR?38 140 | FSTR?39 141 | FSTR?40 142 | FSTR?41 143 | FSTR?42 144 | FSTR?43 145 | FSTR?44 146 | FSTR?45 147 | FSTR?46 148 | FSTR?47 149 | FSTR?48 150 | FSTR?49 151 | FSTR?50 152 | FSTR?51 153 | FSTR?52 154 | FSTR?53 155 | FSTR?54 156 | FSTR?55 157 | FSTR?56 158 | FSTR?57 159 | FSTR?58 160 | FSTR?59 161 | FSTR?60 162 | FSTR?61 163 | FSTR?62 164 | FSTR?63 165 | FSTR?64 166 | FSTR?65 167 | FSTR?66 168 | FSTR?67 169 | FSTR?68 170 | FSTR?69 171 | FSTR?70 172 | FSTR?71 173 | FSTR?72 174 | FSTR?73 175 | FSTR?74 176 | FSTR?75 177 | FSTR?76 178 | FSTR?77 179 | FSTR?78 180 | FSTR?79 181 | FSTR?80 182 | FSTR?81 183 | FSTR?82 184 | FSTR?83 185 | FSTR?84 186 | FSTR?85 187 | FSTR?86 188 | FSTR?87 189 | FSTR?88 190 | FSTR?89 191 | FSTR?90 192 | FSTR?91 193 | FSTR?92 194 | FSTR?93 195 | FSTR?94 196 | FSTR?95 197 | FSTR?96 198 | .ENDT 199 | 200 | .ENDI 201 | -------------------------------------------------------------------------------- /jetdefs.zil: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | ) 18 | (PHONES-PLUGGED-IN? BYTE <>) 19 | (CURRENT-STAR BYTE 0) 20 | (CURRENT-DESC BYTE 0) 21 | (CURRENT-WEAPON BYTE 0) 22 | (LOSER-CANT-LEAVE-SEAT? BYTE <>) 23 | (PURSER-HERE? BYTE <>) 24 | (PHONE-MUSIC:FIX BYTE 0) ; "Headphone stuff" 25 | (PHONE-TIMER:FIX BYTE 0) ; "Random" 26 | (LAST-ROW:FIX BYTE 0) ; "Previous row occupied" 27 | (LAST-SEAT:FIX BYTE 0) ; "Previous seat" 28 | (NEW-ROW:FIX BYTE 0) 29 | (NEW-SEAT:FIX BYTE 0) 30 | (RETURN-TO-SEAT-WAIT:FIX BYTE 0) 31 | (SCENE-NUMBER:FIX BYTE 0); "1, 2, or 3; one is added each time" 32 | (CURRENT-SCENE:FIX BYTE 0) ; "1, 2, or 3" 33 | (DREAMING? BYTE T) ; "false for last scene" 34 | ; "Variables for meal script" 35 | (MEAL-SCRIPT:FIX BYTE 0) 36 | (MEAL-COUNTER:FIX BYTE 0) 37 | (SINK-CLEANED? BYTE <>) 38 | (TEETH-BRUSHED? BYTE <>) 39 | ; "Variables for visa script" 40 | (VISA-SCRIPT:FIX BYTE 11) ; "Number of incidents" 41 | (FORM-FILLED-OUT? BYTE <>) ; "Loser actually filled out form" 42 | (ATTENDANT-COMPLAINTS BYTE 0) 43 | (GOT-VISA-NUMBER? BYTE <>); "Got visa number from someone else" 44 | (VISA-SLEEPING? BYTE 0) 45 | (GRANDMA-HAPPY? BYTE <>) 46 | (SMOKER-IRATE? BYTE <>) 47 | (BUSINESS-IRATE? BYTE <>) 48 | (FALL-SCRIPT:FIX BYTE 5) 49 | (FORM-SEEN? BYTE <>) 50 | (CURRENT-NEIGHBOR BYTE 0) 51 | (BUSINESS-ROW BYTE 0) 52 | (BUSINESS-SEAT BYTE 0) 53 | (BROUGHT-COMPUTER? BYTE <>) 54 | (GOT-RECIPE? BYTE <>) 55 | (FLIGHT-ATTENDANT-HE/SHE:STRING "She") 56 | (FLIGHT-ATTENDANT-HIM/HER:STRING "her") 57 | (THROWN-OFF-ONCE? BYTE <>) 58 | (FIRST-SCENE? BYTE T)> 59 | 60 | > 62 | 63 | > 74 | 75 | > 85 | 86 | > 96 | 97 | 109 | 110 | > 112 | 113 | ,ALL-SEATS>) 114 | (T 115 | 117 | >>>)>> 118 | 119 | ; "State of seating is low four bits; starboard passenger, if any, is next 120 | four; port passenger is next four. Three remaining bits below the sign 121 | bit can be used for flags." 122 | 123 | 124 | 125 | 126 | 127 | > 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | -------------------------------------------------------------------------------- /buttons.txt: -------------------------------------------------------------------------------- 1 | BUTTONS ALGORITHM 2 | 3 | Each seat contains three buttons: 4 | 1) Marked "RECLINE" 5 | 2) Marked "CALL ATTENDANT" 6 | 3) Marked "LIGHT" 7 | 8 | The buttons, when enabled, work as follows: 9 | 10 | RECLINE operates on seat +1 col +2 rows and RINGS BELL there 11 | 12 | LIGHT operates on seat +4 col +3 rows, and TOGGLES RECLINE there 13 | 14 | BELL operates on seat -1 col +1 row and TOGGLES LIGHT there 15 | 16 | 17 | The algorithm is also revealed when the player presses any of the 18 | buttons from any seat when the seat buttons are DISABLED. What happens 19 | then is that the button triggers a recorded announcement audible only 20 | over the headphones; that announcement includes the location of the 21 | seat to which it is wired, NOT to the seat which the player is actually 22 | in. Player has to be IN the seat with the Headphones both plugged in 23 | and being worn before he can hear the message. He also has to be in the 24 | seat, either with or without headphones, before he can press the button. 25 | 26 | BUTTONS PLAY 27 | 28 | The player always starts in 3B. If he presses a button at this point, 29 | he hears the metallic whispering which only lasts for that turn. To 30 | hear it properly he has to wear the headphones and plug them in. He can 31 | press each button and get the same message repeatedly. 32 | 33 | Once he starts wandering around the cabin he could theoretically map it 34 | in 14 turns. After fourteen turns the FASTEN SEAT BELT SIGN comes on 35 | and he has four turns to get back before being forced back by the 36 | stewardess. 37 | 38 | At this point he should have mapped the cabin. His return to 3B starts 39 | the meal service routine. Only when all meals have been served do we 40 | activate the buttons. The FASTEN SEAT BELTS light goes out and he is 41 | free to wander around the cabin or eat his meal or return to ANOTHER 42 | seat. 43 | 44 | POSSIBLE PLAYS 45 | 46 | 1) 47 | 48 | LOSER. He eats his meal like a good boy. After a number of turns a 49 | neighbour will complain about his halitosis, the stew will bring him an 50 | electric toothbrush and tell him to clean his teeth. 51 | 52 | 1a) DECLINES. He dies of halitosis and so does everyone else. They 53 | continue to nag at him after death (2 turns) and reboot. 54 | 55 | 1b) ACCEPTS. He goes to the bathroom to clean his teeth. 56 | 1bi) SUCCEEDS. He plugs in the toothbrush which activates the john, 57 | sending it into a frenzy and sucking him below the surface. 58 | ***BOG NOTE*** at all other times the door is shut and groaning can be 59 | heard from behind the door. 60 | 1bii) FAILS to plug the toothbrush in and dies of halitosis except 61 | nobody else dies since you are sealed off. However when the aeroplane 62 | lands the entire ground crew are killed and your name is reviled 63 | posthumously. 64 | 65 | 2) LOSER 66 | 67 | Player does NOT eat his meal but does not solve the buttons puzzle. 68 | 69 | He will be shepherded back to his seat at frequent intervals by the 70 | attendant and told that if he does not eat his meal they will be unable 71 | to take the tray away, and if they are unable to take the tray away the 72 | table will not be able to be safely stowed in accordance with FAA 73 | regulations and therefore the plane will be unable to land and will 74 | therefore run out of fuel and crash with the inevitable death of 75 | everyone on board. If he says "Fuck that, buster", it all comes true. 76 | 77 | ALTERNATIVE if he doesn't eat his meal it will eventually eat its way 78 | through the plate, through the table, slither onto the floor, crawl 79 | around the cabin reeking and humming, eat through the floor and cause 80 | explosion decompression. Dead. 81 | 82 | 83 | 3) WIN 84 | 85 | The player does NOT eat his food but instead solves the algorithm puzzle 86 | and eventually (within the meal-escape time) manages to find the Light 87 | switch in 6E which will splat the seat in front of 3B thus smashing his 88 | tray into the back of the seat and returning 2B to an upright position 89 | in preparation for landing at this time. 90 | 91 | As a reward for winning this winsome little puzzlette, THE MISSING 92 | CORNER OF THE FLIGHT SAFETY CARD falls out of seat 2B. You smother your 93 | disgust at the flecks of dried llama-spit and examine it. It shows a 94 | crudely-drawn picture (by Zalagasa's leading primitivist) of a misshapen 95 | stewardess apparently standing underneath a rather wrinkled and colossal 96 | mushroom on which is written the words "Stinglai k'aabi". 97 | 98 | We now control the stewardess to two more appearances. FIRST, she now 99 | appears and tells player that there is a call for him on the telephone. 100 | To the admiring glances of the hateful and ugly passengers he walks to 101 | the telephone and finds that it is the waitress from the cafe wanting to 102 | know if he left her a gratuity. She is leaving an address to which he 103 | can mail it (which is in fact his own address) when she is cut off. He 104 | overhears the captian talking to ATC saying that the aeroplane has lost 105 | control (Apparently some noxious substance has eaten its way through the 106 | hydraulic lines on the port side) and will be crashing in five minutes. 107 | ATC informs him that he has not filed a flight plan for a crash etc. 108 | Rings off. 109 | 110 | Stewardess reappears and player asks for a stinglai k'aabi and is given 111 | one. He then has to open the hatch. Announcement from stewardess. 112 | Player has Jump, Jump, any char., and out. Door slams shut, parachute 113 | catches. Knock on door, stew opens it, "Oh - you fell for the old 114 | 'we're going to crash' routine, did you? Have a nice day!" 115 | 116 | TO POT. 117 | 118 | LOSE CASES AFTER WIN BUTTON. 119 | 120 | 1) Doesn't spot parachute puzzle. 121 | 122 | 2) Doesn't answer phone. 123 | 124 | 3) Won't jump. 125 | 126 | 4) Doesn't even open hatch. 127 | 128 | 129 | PLANE CRASH ends each. -------------------------------------------------------------------------------- /b.chart-thru-release: -------------------------------------------------------------------------------- 1 | -date- -rel- -size- -pre- -obj- -glo- -voc- 2 | 1/05 248 218118 38974 272 240 1413 3 | 1/06 249 218330 38984 272 240 1413 4 | 1/06 250 218306 38984 272 240 1413 5 | 1/06 251 218306 38984 272 240 1413 6 | 1/06 252 218474 38984 272 240 1413 7 | 1/06 253 218594 39004 272 240 1414 8 | 1/07 254 218574 39004 272 240 1414 9 | 1/07 255 218686 39004 272 240 1414 10 | 1/07 256 218854 39006 272 240 1413 11 | 1/07 1 218806 38962 270 240 1413 12 | 1/07 2 218762 38950 270 240 1413 13 | 1/07 3 218810 38950 270 240 1413 14 | 1/07 4 218894 38948 270 239 1413 15 | 1/07 5 218642 38948 270 240 1413 16 | 1/08 6 218638 38944 270 240 1413 17 | 1/08 7 218746 38950 270 240 1413 18 | 1/08 8 218658 38950 270 240 1413 19 | 1/08 9 218658 38950 270 240 1413 20 | 1/08 10 218626 38948 270 239 1413 21 | 1/08 11 218578 38948 270 239 1413 22 | 1/08 12 218578 38948 270 239 1413 23 | 1/09 13 218618 38960 270 239 1414 24 | 1/09 14 218622 38960 270 239 1414 25 | 1/09 15 218522 38960 270 240 1414 26 | 1/11 16 218522 38960 270 240 1414 27 | 1/12 17 218510 38963 270 240 1414 28 | 1/12 18 218390 38963 270 240 1414 29 | 1/12 19 218574 38961 270 240 1414 30 | 1/13 20 218638 38963 270 240 1414 31 | 1/13 21 218874 38965 270 240 1414 32 | 1/13 22 219418 39030 270 240 1418 33 | 1/14 23 219474 39030 270 240 1418 34 | 1/14 24 219954 39038 270 240 1418 35 | 1/14 25 219918 39055 270 240 1419 36 | 1/15 26 219958 39053 270 240 1419 37 | 1/15 27 219966 39055 270 240 1419 38 | 1/15 28 219966 39055 270 240 1419 39 | 1/15 29 219958 39055 270 240 1419 40 | 1/16 30 220266 39052 270 240 1418 41 | 1/16 31 220266 39052 270 240 1418 42 | 1/20 32 220434 39054 270 240 1418 43 | 1/21 33 221442 38757 266 219 1428 44 | 1/22 34 221126 38775 266 240 1428 45 | 1/22 35 221150 38781 266 240 1428 46 | 1/22 36 221154 38781 266 240 1428 47 | 1/22 37 221690 38991 266 240 1432 48 | 1/22 38 222798 38991 266 240 1432 49 | 1/22 39 222806 38991 266 240 1432 50 | 1/22 40 223386 38991 266 240 1432 51 | 1/22 41 223434 38991 266 240 1432 52 | 1/22 42 223414 38993 266 240 1432 53 | 1/23 43 223414 38993 266 240 1432 54 | 1/23 44 223422 38993 266 240 1432 55 | 1/23 45 223806 38993 266 240 1432 56 | 1/23 46 226088 38948 266 240 1426 57 | 1/23 47 222476 38421 259 237 1416 58 | 1/23 48 223024 38433 259 240 1416 59 | 1/24 49 223816 38494 259 239 1422 60 | 1/24 50 223476 38494 259 240 1422 61 | 1/24 51 223628 38493 259 240 1422 62 | 1/25 52 228136 38476 258 240 1423 63 | 1/25 53 228596 38465 258 240 1423 64 | 1/25 54 228212 38461 258 240 1423 65 | 1/25 55 227240 38065 250 240 1414 66 | 1/25 56 227200 38057 250 237 1414 67 | 1/25 57 226372 37706 250 240 1399 68 | 1/25 58 226340 37706 250 240 1399 69 | 1/25 59 226332 37706 250 240 1399 70 | 1/26 60 225692 37234 250 240 1399 71 | 1/27 19 230836 37189 250 240 1398 72 | 1/27 20 231556 37261 250 239 1403 73 | 1/27 21 231532 37267 250 240 1404 74 | 1/27 22 231532 37267 250 240 1404 75 | 1/27 23 231532 37267 250 240 1404 76 | 1/28 24 231736 37276 250 240 1405 77 | 1/29 25 232664 37328 250 240 1409 78 | 1/29 26 232632 37319 250 240 1408 79 | 1/29 27 232736 37319 250 240 1408 80 | 1/29 28 233044 37351 250 240 1409 81 | 1/30 29 233044 37351 250 240 1409 82 | 1/30 30 233044 37351 250 240 1409 83 | 1/30 31 233056 37351 250 240 1409 84 | 1/30 32 233476 37351 250 240 1409 85 | 1/30 33 233468 37351 250 240 1409 86 | 1/30 34 233472 37351 250 240 1409 87 | 1/31 35 233448 37354 250 240 1409 88 | 1/31 36 233480 37362 250 240 1409 89 | 1/31 37 233780 37371 250 240 1410 90 | 1/31 38 233996 37371 250 240 1410 91 | 1/31 39 234068 37364 250 240 1409 92 | 1/31 40 234304 37366 250 240 1409 93 | 2/01 41 234516 37368 250 240 1409 94 | 2/02 42 234880 37368 250 240 1409 95 | 2/02 43 234880 37368 250 240 1409 96 | 2/02 44 234868 37382 250 240 1409 97 | 2/02 45 235396 37397 250 240 1411 98 | 2/02 46 235392 37397 250 240 1411 99 | 2/03 47 235468 37397 250 240 1411 100 | 2/03 48 235488 37397 250 240 1411 101 | 2/03 49 236480 37397 250 240 1411 102 | 2/03 50 236472 37397 250 240 1411 103 | 2/04 51 237004 37471 252 240 1413 104 | 2/04 52 237032 37471 252 240 1413 105 | 2/04 53 237576 37462 252 240 1412 106 | 2/05 54 237904 37486 252 240 1412 107 | 2/05 55 238856 37426 252 240 1407 108 | 2/05 56 239180 37454 253 240 1407 109 | 2/06 57 239344 37492 254 240 1407 110 | 2/06 58 239332 37492 254 240 1407 111 | 2/06 59 239668 37507 254 240 1407 112 | 2/06 60 239672 37507 254 240 1407 113 | 2/06 61 239828 37507 254 240 1407 114 | 2/06 62 239844 37507 254 240 1407 115 | 2/07 63 239848 37507 254 240 1407 116 | 2/07 64 240000 37507 254 240 1407 117 | 2/07 65 240104 37507 254 240 1407 118 | 2/08 66 240144 37507 254 240 1407 119 | 2/09 67 241236 37584 255 240 1411 120 | 2/09 68 241848 37624 255 240 1413 121 | 2/09 69 241956 37624 255 240 1413 122 | 2/10 70 241984 37624 255 240 1413 123 | 2/10 71 241980 37624 255 240 1413 124 | 2/10 72 242268 37624 255 240 1413 125 | 2/10 73 242644 37626 255 240 1413 126 | 2/10 74 242856 37626 255 240 1413 127 | 2/10 75 242960 37626 255 240 1413 128 | 2/11 76 242796 37602 255 240 1412 129 | 2/11 77 242796 37602 255 240 1412 130 | 2/11 78 242780 37602 255 240 1412 131 | 2/11 79 242836 37602 255 240 1412 132 | 2/11 80 243156 37649 255 240 1416 133 | 2/11 81 243156 37649 255 240 1416 134 | 2/11 82 243088 37659 255 240 1416 135 | 2/12 83 243100 37659 255 240 1416 136 | 2/12 84 243128 37661 255 240 1416 137 | 2/12 85 243132 37661 255 240 1416 138 | 2/12 86 243144 37661 255 240 1416 139 | -------------------------------------------------------------------------------- /maze-program.zil: -------------------------------------------------------------------------------- 1 | "MAZE-PROG for BUREAUCRACY: Copyright (C)1987 Infocom, Inc. 2 | All rights reserved." 3 | 4 | 5 | 6 | 7 | 8 | > 9 | > 10 | 11 | >>> 13 | 14 | > 15 | 16 | ) N:FIX) 18 | >> 20 | 21 | 22 | ) 23 | (ELSE .CH)>> 24 | 25 | )) 27 | 28 | 31 | 32 | > 34 | > 35 | )> 36 | 37 | >)> 38 | T> 39 | > 40 | 42 | > 43 | >> 44 | 45 | ; 46 | > 48 | > 49 | > .K> 50 | )>> 51 | >) 52 | (ELSE )>>> 53 | .TBL>> 54 | 55 | > 56 | 57 | > 58 | 59 | 61 | 64 | 65 | > 66 | <+ .I 1>>>>> 67 | > ,COMPUTER-WIDTH> 68 | > 69 | )> 70 | > 71 | .UV> 72 | .UV> 73 | 74 | " 0 ==> space, 1...26 ==> A...Z, 27...53 ==> a...z, 75 | 54 ==> . 76 | 55 ==> , 77 | 56 ==> ; 78 | 57...63 ==> 0...6 79 | " 80 | 81 | > 83 | 0) 84 | (> 85 | >> 86 | <- .CHAR -1>) 87 | (> 88 | >> 89 | <- .CHAR -27>) 90 | (> 91 | >> 92 | <- .CHAR -57>) 93 | (<==? .CHAR > 54) 94 | (<==? .CHAR > 55) 95 | (<==? .CHAR > 56)>> 96 | 97 | TEXT.FILE"> 98 | 99 | >> 100 | 101 | > 0> )> 104 | > 105 | > 106 | > 107 | > 108 | > 109 | > 110 | >> 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 |
120 |
>> 121 | 122 | % %>> 125 | 126 | 127 | 129 | > 0> )> 131 | > 132 | > 133 | 64> *77*>> 134 | *77777*> 2048> *17*>> 135 | 136 | >) 137 | (ELSE 138 | >)> 139 | > 140 | <>> 141 | 142 | 143 | ) N:FIX H:FIX V:FIX (I:FIX 0)) 144 | 145 | > 0> )> 147 | > 148 | > 149 | 64> *77*>> 150 | *77777*> 2048> *17*>> 151 | > 152 | ; "Just checking for top half of screen" 153 | ; > 154 | 155 | ; "Know top half, so just check for left" 156 | > 157 | ;> 158 | >) 159 | (ELSE )>) 160 | (ELSE 161 | >)> 162 | )>> 163 | <>> 164 | 165 | 166 | ) N:FIX H:FIX V:FIX (I:FIX 0)) 167 | 168 | > 0> )> 170 | > 171 | > 172 | ; "this tries to win with 16-bit arithmetic" 173 | 64> *77*>> 174 | *77777*> 2048> *17*>> 175 | > 176 | ; 177 | > 178 | 179 | ; "If in bottom half, must be quad 2" 180 | > 181 | ;> 182 | >) 183 | (ELSE )>) 184 | (ELSE 185 | >)> 186 | )>> 187 | <>> 188 | 189 | 190 | 192 | > 0> )> 194 | > 195 | > 196 | 64> *77*>> 197 | *77777*> 2048> *17*>> 198 | > 199 | > 200 | )>> 201 | <>> 202 | 203 | 204 | 205 | > 206 | 207 | ) SW) 209 | > 210 | >> 211 | 212 | <- ,FIELD-DATA-OFFSET 1>>> 213 | > ,COMPUTER-WIDTH> 214 | 215 | ) 216 | (T 217 | >)>)> 218 | >>> 220 | >>>>)>)> 222 | 223 | 1>>) 224 | (T 225 | )>> 226 | 227 | > 229 | ) 230 | ( 1>>>) 231 | ( 27>>>) 232 | ( 57>>>) 233 | (ELSE >>)> 234 | .N> 235 | 236 | ) 238 | (QL:FIX ) 239 | (QR:FIX ) 240 | (QT:FIX ) 241 | (QB:FIX )) 242 | 243 | > 244 | T) 245 | (ELSE <>)>> 246 | -------------------------------------------------------------------------------- /nmaze-program.zil: -------------------------------------------------------------------------------- 1 | "MAZE-PROG for BUREAUCRACY: Copyright (C)1987 Infocom, Inc. 2 | All rights reserved." 3 | 4 | 5 | 6 | 7 | 8 | > 9 | > 10 | > 11 | > 12 | 1>> 13 | > 14 | 1>> 15 | 2>> 16 | > 17 | 4>> 18 | 4>> 19 | 4>> 20 | 21 | >>> 23 | 24 | >> 26 | 27 | > 28 | 29 | ) N:FIX) 31 | >> 33 | 34 | 35 | ) 36 | (ELSE .CH)>> 37 | 38 | )) 40 | 41 | 44 | 45 | > 47 | > 48 | )> 49 | 50 | >)> 51 | T> 52 | > 53 | 55 | > 56 | >> 57 | 58 | ; 59 | > 61 | > 62 | > .K> 63 | )>> 64 | >) 65 | (ELSE )>>> 66 | .TBL>> 67 | 68 | > 69 | > 70 | 71 | )> 74 | 76 | <+ .J ,COMPUTER-WIDTH 1>) 77 | (ELSE 78 | <+ .J 1>)>> 79 | 80 | <- .I ,COMPUTER-HEIGHT/2 -1>) 81 | (ELSE 82 | <+ .I 1>)> 83 | > <+ .I 1>>>> 84 | > ,COMPUTER-WIDTH> 85 | > 86 | )>> 87 | ,TST2> 88 | 89 | " 0 ==> space, 1...26 ==> A...Z, 27...53 ==> a...z, 90 | 54 ==> . 91 | 55 ==> , 92 | 56 ==> ; 93 | 57...63 ==> 0...6 94 | " 95 | 96 | > 98 | 0) 99 | (> 100 | >> 101 | <- .CHAR -1>) 102 | (> 103 | >> 104 | <- .CHAR -27>) 105 | (> 106 | >> 107 | <- .CHAR -57>) 108 | (<==? .CHAR > 54) 109 | (<==? .CHAR > 55) 110 | (<==? .CHAR > 56)>> 111 | 112 | TEXT.FILE"> 113 | 114 | > 117 | >>> 118 | 119 | 120 | 121 | 122 | 123 | 124 | ; 125 |
126 |
127 |
>> 128 | 129 | % %>> 132 | 133 | > 135 | 136 | > 138 | 139 | > 142 | 143 | > 146 | 147 | 148 | 150 | > 152 | 153 | *77*>> 155 | > ,COMPUTER-HEIGHT/2> 156 | )>> 157 | > .RANGE> )>> 158 | 159 | > 0> )> 161 | 1>> 162 | > 163 | 1>> 164 | 165 | > 167 | .MASK> 168 | > 169 | > 170 | 171 | )> 172 | 173 | > 174 | )> 175 | >)>) 176 | (ELSE 177 | > 178 | > 179 | )>> 180 | > 181 | 182 | 183 | <+ .H ,COMPUTER-HEIGHT/2>>) 184 | (ELSE 185 | )> 186 | > 0> 187 | 188 | > 0> 190 | )> 191 | 192 | 1>> 193 | 194 | 197 | ,COMPUTER-HEIGHT/2-1>>) 198 | (ELSE 199 | 201 | 1>>)>) 202 | (<==? .QN 0> 203 | 1>> 204 | 205 | ,COMPUTER-HEIGHT/2-1>>) 206 | (ELSE 207 | 208 | ,COMPUTER-WIDTH/2-1>> 209 | 210 | ,COMPUTER-HEIGHT/2-1>>)> 211 | > 0> 212 | )> 213 | > 214 | > 215 | )>> 216 | <>> 217 | 218 | 219 | 220 | > 221 | 222 | ) SW) 224 | > 225 | >> 226 | 227 | <- ,FIELD-DATA-OFFSET 1>>> 228 | > ,COMPUTER-WIDTH> 229 | 230 | ) 231 | (T 232 | >)>)> 233 | >>> 235 | >>>>)>)> 237 | 238 | 1>>) 239 | (T 240 | )>> 241 | 242 | > 244 | ) 245 | ( 1>>>) 246 | ( 27>>>) 247 | ( 57>>>) 248 | (ELSE >>)> 249 | .N> 250 | 251 | ;) 253 | (QL:FIX ) 254 | (QR:FIX ) 255 | (QT:FIX ) 256 | (QB:FIX )) 257 | 258 | > 259 | T) 260 | (ELSE <>)>> 261 | -------------------------------------------------------------------------------- /mumble.zil: -------------------------------------------------------------------------------- 1 | "MAZE-PROG for BUREAUCRACY: Copyright (C)1987 Infocom, Inc. 2 | All rights reserved." 3 | 4 | 5 | 6 | 7 | 8 | > 9 | > 10 | > 11 | > 12 | > 13 | > 14 | 15 | >>> 17 | 18 | ) N:FIX 20 | (TS >) 21 | (COLS:VECTOR ,TST) (CS <1 .COLS>)) 22 | >> 24 | >> 26 | )> 27 | 1>> 28 | .CS> 29 | > 30 | >) 31 | (> 32 | > 33 | > 34 | 35 | >) 36 | (T 37 | 38 | >)>> 39 | ) 40 | (ELSE .CH)>> 41 | 42 | > 48 | > 50 | >) 51 | (T 52 | )>> 53 | .ST>> 54 | ,TST>> 55 | 56 | " 0 ==> space, 1...26 ==> A...Z, 27...53 ==> a...z, 57 | 54 ==> . 58 | 55 ==> , 59 | 56 ==> ; 60 | 57...63 ==> 0...6 61 | " 62 | 63 | > 65 | 0) 66 | (> 67 | >> 68 | <- .CHAR -1>) 69 | (> 70 | >> 71 | <- .CHAR -27>) 72 | (> 73 | >> 74 | <- .CHAR -57>) 75 | (<==? .CHAR > 54) 76 | (<==? .CHAR > 55) 77 | (<==? .CHAR > 56)>> 78 | 79 | TEXT.FILE"> 80 | 81 | > 82 | 83 | 84 | 85 | 86 | 87 | 88 | % %>> 91 | 92 | > 94 | 95 | > 97 | 98 | > 100 | 101 | > 103 | 104 | >> 106 | 0 0 >> 108 | 109 | 110 | 112 | ) 113 | (T 114 | )> 115 | ; "Clear written bits for appropriate quadrants" 116 | ) RT TOP (CQ 3)) 117 | 118 | > 119 | ) 120 | (<==? .CQ 1> 121 | 122 | ) 123 | (<==? .CQ 2> 124 | 125 | >) 126 | (T 127 | > 128 | >)> 129 | 255> 130 | 1> 255> 131 | .TOP>> 133 | 134 | *77*>> 136 | > > 137 | )>> 138 | > > 139 | )>> 140 | > 141 | > 0> )>> 142 | )> 143 | <+ .QN 1>>> 144 | <+ <* .QN 2> 1>>> 145 | > 146 | ; "e.g., q0 makes 1/4 screen's worth of chars; 1/4 of those 147 | (1/16 of total) will be good; 148 | q1 is 1/2 & 3/16; 149 | q2 is 3/4 & 5/16; 150 | q3 is 1 and 7/16. q0 good chars are confined to q0; q1 to 151 | q0&q1, etc. Further, a bad char may not overwrite an existing 152 | good char, but q0 clears all good bits; q1 all but q0; q2 all 153 | but q0 & q1; etc" 154 | > 0>> 156 | )> 157 | > 0>> 158 | )> 159 | 160 | > 161 | )>> 162 | <>> 163 | 164 | > 166 | 167 | )> 168 | >> 169 | > >> 170 | >> 171 | > >> 172 | > 173 | .X .Y>)>> 174 | 175 | > 177 | > *300*>> 178 | 179 | > 180 | ; "Q2 can write on stuff dumped by the Q3 and Q4 progs, but 181 | not Q1 or Q2..." 182 | <>) 183 | (.SET? 184 | > 185 | ) 186 | (T T)>> 187 | 188 | > 189 | 190 | 191 | 1>>> 1>> 193 | )> 194 | >> 195 | > 196 | >> 1>> 197 | > 199 | > 200 | > 201 | > 202 | )) 203 | ) 204 | (>> 205 | 206 | 207 | ; "Start at virtual top left (this is actual char 208 | addr last written in this mode, so OK to add 209 | 1 below" 210 | >>> 212 | 255> 213 | )> 214 | >> 215 | 255> 216 | )> 217 | > 218 | >)> 219 | > 220 | >)> 221 | ) 223 | (> > 224 | ; "End of line, so go to next" 225 | > > 226 | ; "End of quadrant, so go to next" 227 | 228 | .Y> 229 | > 230 | > .QN> 231 | )> 232 | > 233 | > 234 | > 235 | ; "255 means never touched, so make sure we 236 | get 0" 237 | > 238 | 255> 239 | )> 240 | >> 242 | 255> 243 | ) 244 | (> 245 | >)> 246 | > 247 | ) 248 | (T 249 | )> 250 | >)>> 251 | >) 252 | (T 253 | 254 | 256 | .Y>)> 257 | )>>>> 258 | 259 | 260 | 261 | > 262 | 263 | ) SW) 265 | > 266 | >> 267 | 268 | <- ,FIELD-DATA-OFFSET 1>>> 269 | > ,COMPUTER-WIDTH> 270 | 271 | ) 272 | (T 273 | >)>)> 274 | >>> 276 | >>>>)>)> 278 | 279 | 1>>) 280 | (T 281 | )>> 282 | 283 | > 285 | ) 286 | ( 1>>>) 287 | ( 27>>>) 288 | ( 57>>>) 289 | (ELSE >>)> 290 | .N> 291 | 292 | 294 | 295 | > 296 | -------------------------------------------------------------------------------- /bglobals.dat: -------------------------------------------------------------------------------- 1 | (PRSA ; 909 2 | PRSO ; 826 3 | HERE ; 423 4 | PRSI ; 297 5 | NOW-PRSI? ; 177 6 | WINNER ; 158 7 | PERIOD ; 294 8 | P-NUMBER ; 68 9 | P-IT-OBJECT ; 64 10 | CURRENT-ROW ; 58 11 | P-LEN ; 49 12 | CURRENT-SEAT ; 45 13 | P-LEXV ; 90 14 | P-PRSA-WORD ; 39 15 | P-ITBL ; 76 16 | CANT ; 68 17 | P-HIM-OBJECT ; 33 18 | P-NAM ; 32 19 | PCR ; 63 20 | P-ADJ ; 31 21 | P-WALK-DIR ; 27 22 | AIRPORT-ROOM-NUM-GVAL ; 26 23 | CASH ; 26 24 | P-NCN ; 26 25 | CABSTATE-GVAL ; 24 26 | P-CONT ; 24 27 | P-OFLAG ; 24 28 | P-HER-OBJECT ; 23 29 | TELLER-NUMBER-GVAL ; 23 30 | P-MULT? ; 22 31 | MEAL-STATE ; 20 32 | NEW-SEAT-GVAL ; 19 33 | P-OTBL ; 38 34 | P-PRSO ; 37 35 | NEW-ROW-GVAL ; 18 36 | END-GAME? ; 17 37 | P-SLOCBITS ; 17 38 | P-THEM-OBJECT ; 17 39 | SEX ; 17 40 | PHONE-NUMBERS ; 33 41 | FLINE ; 16 42 | OLD-HERE ; 16 43 | TELECOM?-GVAL ; 16 44 | DUCT-NUMBER-GVAL ; 15 45 | MEAL ; 30 46 | P-DIRECTION ; 15 47 | P-GETFLAGS ; 15 48 | CABTURNS-GVAL ; 14 49 | CLOCK-HAND ; 14 50 | CURRENT-DESK-ID-GVAL ; 14 51 | QUOTE-FLAG ; 14 52 | TELLER-AMOUNT-ON-WITHDRAWAL-FORM-GVAL ; 14 53 | TELLER-CASH-GIVEN-GVAL ; 14 54 | HOURS ; 13 55 | HUNGER ; 13 56 | LICENSE-FORM ; 13 57 | P-EXCHANGE ; 13 58 | P-INBUF ; 26 59 | P-MERGED ; 13 60 | QCONTEXT ; 13 61 | CURRENT-MESSAGE ; 12 62 | CURRENT-NEIGHBOR-GVAL ; 12 63 | FX ; 12 64 | MEAL-ROW-GVAL ; 12 65 | MEAL-SEAT-GVAL ; 12 66 | MMOVES ; 12 67 | P-ACLAUSE ; 12 68 | PHONES-PLUGGED-IN?-GVAL ; 12 69 | VERBOSITY ; 12 70 | BRACKET ; 22 71 | CURRENT-MAZE-ROOM ; 11 72 | DIE-ON-NEXT-COMMAND-GVAL ; 11 73 | MARGIN ; 11 74 | OBJECTS-GROUPED ; 11 75 | P-SYNTAX ; 11 76 | DONT ; 21 77 | P-VTBL ; 21 78 | BP ; 10 79 | CURRENT-TARGET-NAME-GVAL ; 10 80 | HANDLE-TURNS ; 10 81 | MUSIC-DEAD?-GVAL ; 10 82 | QCONTEXT-ROOM ; 10 83 | TELLER-AMOUNT-ON-DEPOSIT-FORM-GVAL ; 10 84 | WIDTH ; 10 85 | YOURE-ALREADY-STR ; 20 86 | P-PRSI ; 19 87 | YOU-SEE ; 19 88 | BANKTALK-GVAL ; 9 89 | C-INTS ; 9 90 | COMP-WORD-FATAL? ; 9 91 | DO-SCORE? ; 9 92 | FLIGHT-GONE?-GVAL ; 9 93 | HATCH-OPEN?-GVAL ; 9 94 | HOLDING-FOR-PONGO? ; 9 95 | P-DOLLAR-FLAG ; 9 96 | P-MERGE ; 9 97 | P-PHR ; 9 98 | P-SEAT-NUMBER ; 9 99 | P-XNAM ; 9 100 | SMOKER-IRATE?-GVAL ; 9 101 | TELLER-STATE-GVAL ; 9 102 | THIS-IS ; 17 103 | CLERK-LISTENING?-GVAL ; 8 104 | CLERK-SCRIPT ; 8 105 | DESK-LOSER?-GVAL ; 8 106 | FERROR-COUNT ; 8 107 | FILES-ON-SCREEN?-GVAL ; 8 108 | FLIGHT-RECALLED?-GVAL ; 8 109 | FORM-COMPUTER? ; 8 110 | FY ; 8 111 | MAZE-STEPS-TAKEN ; 8 112 | MEAL-HERE?-GVAL ; 8 113 | MINUTES ; 8 114 | NEW-TELLER ; 8 115 | P-WON ; 8 116 | RUN-PLANE-COUNT-GVAL ; 8 117 | SPEAKER-DEAD?-GVAL ; 8 118 | TELLER-IDLE-GVAL ; 8 119 | AIR-ZALAGASA-ENTRANCE-GVAL ; 7 120 | AISLE-STATE-GVAL ; 7 121 | AT-ZALAGASA?-GVAL ; 7 122 | ATTENDANT-WORKING?-GVAL ; 7 123 | CABTIMES-GVAL ; 7 124 | CLOCK-WAIT? ; 7 125 | COMPUTER-DEAD?-GVAL ; 7 126 | DSCRIPT ; 7 127 | HEIGHT ; 7 128 | MEAL-SQUASHED?-GVAL ; 7 129 | ODD-GATE-SOLVED? ; 7 130 | OOPS-TABLE ; 14 131 | P-ADJW ; 14 132 | RESERVE-PTR ; 7 133 | TELLER-CURRENT-SCRIPT-GVAL ; 7 134 | TERMINATE-CURRENT-GVAL ; 7 135 | TICKET-SCREW?-GVAL ; 7 136 | TUNE-TIMER-GVAL ; 7 137 | AIRLINE-BITS ; 13 138 | AIRPHONE-RINGING?-GVAL ; 6 139 | CAB-DONT-GVAL ; 6 140 | CABNAME-GVAL ; 6 141 | CLERK-WORKING?-GVAL ; 6 142 | COMPLEX-POS ; 6 143 | DESK-ZSCRIPT-GVAL ; 6 144 | DING-ROW-GVAL ; 6 145 | EXITED-ALREADY?-GVAL ; 6 146 | HOLD-TURNS ; 6 147 | JUST-HEARD?-GVAL ; 6 148 | LINES-TO-NEXT-TARGET-GVAL ; 6 149 | LS-MOVE-COUNT ; 6 150 | MOUSY-SCRIPT ; 6 151 | NERD-OBJECT-DATA ; 6 152 | P-ALT-CONT ; 6 153 | P-ANAM ; 6 154 | P-GWIMBIT ; 6 155 | P-NAMW ; 12 156 | P-TABLE ; 6 157 | PHONE-MSGS ; 6 158 | PLANE-SUMMONED? ; 6 159 | REAL-TARGET-NAME-GVAL ; 6 160 | TELLER-BANK-HOURS-GVAL ; 6 161 | TELLER-DRUGS-GVAL ; 6 162 | AGAIN-LEXV ; 11 163 | AOS-BP?-GVAL ; 5 164 | CHANGE-DESK?-GVAL ; 5 165 | COMPLEX-LOOKED? ; 5 166 | CURRENT-NEIGHBOR-SEATNUM-GVAL ; 5 167 | CURRENT-OZ-VICTIM ; 5 168 | DO-WINDOW ; 5 169 | FALL-SCRIPT-GVAL ; 5 170 | HATCH-LOSER?-GVAL ; 5 171 | LAST-LINE-USED-GVAL ; 5 172 | MEAL-EATEN?-GVAL ; 5 173 | OLD-LEN ; 5 174 | OMNIA-GALLIA-ENTRANCE-GVAL ; 5 175 | P-LASTADJ ; 5 176 | P-XADJ ; 5 177 | REMAINING-TARGET-TURNS-GVAL ; 5 178 | SL-TABLE ; 10 179 | SPLATTED-ROW-GVAL ; 5 180 | SPY-TIMER-GVAL ; 5 181 | TELLER-ADDR-CHANGE-GVAL ; 5 182 | TELLER-CHECK-CASH-GVAL ; 5 183 | TELLER-DEPOSIT-GVAL ; 5 184 | TELLER-WITHDRAW-GVAL ; 5 185 | USERPW-GVAL ; 5 186 | YAWNS ; 10 187 | MACAW-TABLE ; 9 188 | P-OVTBL ; 9 189 | ATTENDANT-MENTIONED-REGULATIONS?-GVAL ; 4 190 | BABY-DISTURBED?-GVAL ; 4 191 | BP-DELAY ; 4 192 | CABADDR-GVAL ; 4 193 | COM-TIMER-GVAL ; 4 194 | COMMANDS-SINCE-START-GVAL ; 4 195 | DESK-SCRIPT-GVAL ; 4 196 | LAST-ROW-GVAL ; 4 197 | LAST-SEAT-GVAL ; 4 198 | LAST-USED ; 8 199 | MIND-READ?-GVAL ; 4 200 | MOVES ; 4 201 | NERD-SCRIPT ; 4 202 | NEXT-TO-BABY?-GVAL ; 4 203 | P-END-ON-PREP ; 4 204 | P-OFW ; 8 205 | P-SPECIAL-ORPHAN ; 4 206 | PERFORMING? ; 4 207 | SCORE ; 4 208 | SPLATTED-PERSON-GVAL ; 4 209 | TELLER-AMOUNT-IN-ACCT-GVAL ; 4 210 | TELLER-PLAYER-WARNED?-GVAL ; 4 211 | TUNE-MENTIONED?-GVAL ; 4 212 | VOICES-ONLINE?-GVAL ; 4 213 | WILL-WIN?-GVAL ; 4 214 | YES-LEXV ; 8 215 | AGAIN-DIR ; 3 216 | AIRPORT-SEEN-BITS-GVAL ; 3 217 | ATTENDANT-AT-ROW-GVAL ; 3 218 | BANK-FORM-DEPOSIT ; 3 219 | BUTTONS-OFF?-GVAL ; 3 220 | CABPREVNAME-GVAL ; 3 221 | CHUTE-SCORED? ; 3 222 | CRASH-COMING?-GVAL ; 3 223 | DOORBELL-RINGS ; 3 224 | FERROR-ACTIVE?-GVAL ; 3 225 | GOTO-LOC ; 3 226 | HANDLE-STATE ; 6 227 | HOLDING-FOR-ADDRESS? ; 3 228 | IN-SEAT?-GVAL ; 3 229 | LAST-BP-CHANGE ; 3 230 | MAIL-COUNT ; 3 231 | NO-HUNGER-INT ; 3 232 | OLD-BP ; 3 233 | OOPS-INBUF ; 6 234 | P-AND ; 3 235 | P-MOBY-FOUND ; 3 236 | REAL-COMMAND-WINDOW ; 6 237 | SPLAT-COUNT-GVAL ; 3 238 | TIMES-THROUGH-LOOP-GVAL ; 3 239 | TUNE-SELECTOR-GVAL ; 3 240 | )( 241 | JUST-PAGED?-GVAL ; 3 242 | LAST-MAZE-ROOM ; 3 243 | MAZE-LOSING? ; 3 244 | NERD-HACKED-ABOOK? ; 3 245 | PLANE-ARRIVE-COUNT ; 3 246 | RETURN-TO-SEAT-ROUTINE-GVAL ; 3 247 | SOMETHING-SAID-GVAL ; 3 248 | STNUM-VALUE-GVAL ; 3 249 | TURNED-DOWN-CLERK? ; 3 250 | WAITING-FOR-CASH?-GVAL ; 3 251 | BOSS-CHECK-WORDS ; 5 252 | CASH-CHECK-SCRIPT ; 5 253 | LLAMA-TABLE ; 5 254 | P-BUTS ; 5 255 | P-OCL1 ; 5 256 | P-OCL2 ; 5 257 | PERSON-ROWS ; 5 258 | RESERVE-INBUF ; 5 259 | ANS-TABLE ; 4 260 | C-TABLE ; 4 261 | CAPS ; 4 262 | DAY-TABLE ; 4 263 | DEPOSIT-SCRIPT ; 4 264 | FILE-TABLE ; 4 265 | HUNGER-MSGS ; 4 266 | SEAT-LETTERS ; 4 267 | TARGETS ; 4 268 | WITHDRAWAL-SCRIPT ; 4 269 | BANK-FORM-WITHDRAW ; 2 270 | BANK-SCORED? ; 2 271 | CABNUM-GVAL ; 2 272 | COMP-X-GVAL ; 2 273 | COMP-Y-GVAL ; 2 274 | COMPLEX-DROP? ; 2 275 | CRAZY-COUNT-GVAL ; 2 276 | CURRENT-DIR ; 2 277 | DOWN-FROM-STRIP-COUNT ; 2 278 | FLIGHT-ATTENDANT-HE/SHE-GVAL ; 2 279 | FLIGHT-ATTENDANT-HIM/HER-GVAL ; 2 280 | FORM-X ; 2 281 | FORM-Y ; 2 282 | GOT-RECIPE?-GVAL ; 2 283 | LOOKED-AT-FOOD?-GVAL ; 2 284 | LOSER-CANT-LEAVE-SEAT?-GVAL ; 2 285 | NERD-FLEW-BY?-GVAL ; 2 286 | P-DIR-WORD ; 2 287 | P-FOUND-REMOTELY ; 2 288 | PILLAR-MENTIONED?-GVAL ; 2 289 | REFRESH-COUNT ; 2 290 | SOMEBODYS-WATCHING? ; 2 291 | TELLER-CURRENT-FORM-GVAL ; 2 292 | TOWER-SCRIPT-GVAL ; 2 293 | AIRLINE-LOOKUP ; 3 294 | AIRLINE-NAMES ; 3 295 | HAK-PROG-NAME ; 3 296 | PROG-TABLE ; 3 297 | QLEFTS ; 3 298 | QTOPS ; 3 299 | RESERVE-LEXV ; 3 300 | TELLER-SUBJECTS ; 3 301 | UNFO-TBL ; 3 302 | AGENT-SUBJECTS ; 2 303 | ALL-SEATS ; 2 304 | EXE-FILES ; 2 305 | INCI-TBL ; 2 306 | PSTRING ; 2 307 | SEAT-LETTER-NAMES ; 2 308 | SKYCAP-DOINGS ; 2 309 | YES-INBUF ; 2 310 | ALL-HANDLES ; 1 311 | ALT-COMPLEX-WINDOW-DESC ; 1 312 | BAD-TUNES ; 1 313 | BAKED-POTATO-OPTIONS ; 1 314 | BANKNAMES ; 1 315 | BATHROOM-LOCKED ; 1 316 | BURGER-OPTIONS ; 1 317 | BUZZTABLE ; 1 318 | CAB-EXCUSES ; 1 319 | CAB-NOTICE-TXT ; 1 320 | CHANGE-ADDRESS-SCRIPT ; 1 321 | CLERK-SUBJECTS ; 1 322 | COMPLEX-WINDOW-DESC ; 1 323 | CRAZIES ; 1 324 | CURRENT-SIGNS ; 1 325 | DELAYS ; 1 326 | DVH2-FILE ; 1 327 | EXTRA-TEXT ; 1 328 | FORM-HISTORY ; 1 329 | FUNNY-FIELDS ; 1 330 | GAME-VERBS ; 1 331 | HACK-TABLE ; 1 332 | HELP-TABLE ; 1 333 | ITARGETS ; 1 334 | LIKELIES ; 1 335 | LOGIN-NAME ; 1 336 | NEIGHBOR-SEATS ; 1 337 | NERD-ARRIVALS ; 1 338 | NERD-OBJECTS ; 1 339 | NORMAL-SEAT ; 1 340 | NORMAL-SEAT-POCKET ; 1 341 | NORMAL-SEAT-TABLE ; 1 342 | OZ-ROYS ; 1 343 | P-A ; 1 344 | P-Q ; 1 345 | PASSWORD ; 1 346 | PATRONS ; 1 347 | PNOTICE-TXT ; 1 348 | PUNCT-TABLE ; 1 349 | SSTRING ; 1 350 | TALKVERBS ; 1 351 | TARGET-NAMES ; 1 352 | TELECOM-HELP-TABLE ; 1 353 | TICKET-TYPE-TABLE ; 1 354 | TOONS ; 1 355 | UNKNOWN-MSGS ; 1 356 | WALKING-TABLE ; 1 357 | A-DIR ; 0 358 | ADVENTURE-TABLE ; 0 359 | AIRPLANE-FILE ; 0 360 | B-DIR ; 0 361 | BANK-THINGS ; 0 362 | BEER-TYPE-TABLE ; 0 363 | BONGO-STUFF ; 0 364 | BOYSENBERRY-WINDOW ; 0 365 | BURGER-TYPE-TABLE ; 0 366 | C-DIR ; 0 367 | CAFFEINE-TABLE ; 0 368 | CHEESE-TYPE-TABLE ; 0 369 | CLEAR-DIR ; 0 370 | CLERK-DOINGS ; 0 371 | COOPS ; 0 372 | COPY-DIR ; 0 373 | COULDNTS ; 0 374 | D-DIR ; 0 375 | DELETE-DIR ; 0 376 | DIR-DIR ; 0 377 | DIRLIST-DIR ; 0 378 | DIRTABLES ; 0 379 | DRESSING-TYPE-TABLE ; 0 380 | DRESSING-WEIGHT-TABLE ; 0 381 | DRINK-TYPE-TABLE ; 0 382 | ECLIPSE-TABLE ; 0 383 | FACE-IN-FOOD-STRS ; 0 384 | FIDUC-FILE ; 0 385 | FIXTURES ; 0 386 | FRIES-ETC-TABLE ; 0 387 | HACK-DIR ; 0 388 | HAK-FILES ; 0 389 | HAVEVERBS ; 0 390 | HELP-DIR ; 0 391 | HO-HUM ; 0 392 | HURTVERBS ; 0 393 | JUICE-TYPE-TABLE ; 0 394 | LOGOUT-DIR ; 0 395 | MAILING-LIST ; 0 396 | MENU-FILE ; 0 397 | MOUSY-WISHES ; 0 398 | MOVEVERBS ; 0 399 | OMNIA-SIGN-TEXT ; 0 400 | OTHER-AIRPLANE-OBJECTS ; 0 401 | OTHER-PHONE-MSGS ; 0 402 | PARSE-RANDOM-LOC-VEC ; 0 403 | POINTLESS ; 0 404 | PONGO-STUFF ; 0 405 | POST-FILE ; 0 406 | POTATO-TYPE-TABLE ; 0 407 | PRINTR-TABLE ; 0 408 | PSEUDO-VEC ; 0 409 | PUTVERBS ; 0 410 | PUZZLES ; 0 411 | QUIT-DIR ; 0 412 | QUIT-TABLE ; 0 413 | RANDOM-CARTRIDGE-TABLE ; 0 414 | RECIPE-TABLE ; 0 415 | RENAME-DIR ; 0 416 | RPRINTR-TABLE ; 0 417 | RUN-DIR ; 0 418 | SEAT-PSEUDO-VEC ; 0 419 | SEEVERBS ; 0 420 | SODA-TABLE ; 0 421 | SODA-TYPE-TABLE ; 0 422 | TCLEAR-DIR ; 0 423 | TELECOM-TABLE ; 0 424 | TOUCHVERBS ; 0 425 | TRAVEL-FILE ; 0 426 | TYPE-DIR ; 0 427 | WATER-TABLE ; 0 428 | WHO-DIR ; 0 429 | WINE-COLOR-TABLE ; 0 430 | WINE-COUNTRY-TABLE ; 0 431 | WINE-TYPE-TABLE ; 0 432 | YUKS ; 0 433 | ZBUG-FILE ; 0 434 | CABMUSIC-GVAL ; 0 435 | RETURN-TO-SEAT-WAIT-GVAL ; 0 436 | ) -------------------------------------------------------------------------------- /foo.mud: -------------------------------------------------------------------------------- 1 | BUREAUCRACY REWRITE 2 | REVISED SCENARIO (PLOT ONLY) 3 | v1 of Jan 87 13:50 4 | 5 | 6 | ************************** 7 | 8 | 1) HOUSE, BANK, LLAMA, MAIL 9 | 10 | You have just moved into your new house. Everything is fine. You have 11 | a new job at Happitec - Vice president of Systems Development. The fact 12 | that your previous job ended in something of a disaster when roughly 13 | 150,000 people were seriously inconvenienced by a rather buggy program 14 | for which you were responsible is neither here nor there. The internal 15 | bureacracy of your previous company took care of that, and anyway - when 16 | was an information specialist's career ever set back by a disaster of 17 | that sort? 18 | 19 | The game opens in the living room of your new house. Everything is 20 | dandy, as we said. The house is much bigger than your previous 21 | apartment, the area is nicer, you will be earning more money and, best 22 | of all, you are leaving today on a two-week vacation, all expenses paid. 23 | The only thing you will need is the cab fare to the airport. 24 | 25 | Unfortunately, due to a tiny little foul-up at the bank (which, you seem 26 | to recall, uses software produced by your previous employers) your 27 | change-of-address card has not been actioned by the bank. The reason? 28 | The DP department can only accept change-of-address notifications on 29 | official change-of-address forms. A change-of-address form has been 30 | sent to you... at your old address, along with your checkbook and your 31 | new credit card (which expired last week). 32 | 33 | Your quandary? To get hold of enough money to get a cab to the airport 34 | to get your flight to Paris, so that you will be able to survive for a 35 | fortnight. After all, once you start your new job, everything will be 36 | allright. 37 | 38 | 39 | In the package is a letter from your new boss, Ollie Fassbaoum, telling 40 | you how to pick up your airline ticket. He also mentions that a check 41 | for $75 is on its way to you in the mail. 42 | 43 | So you have two alternative problems. Problem A is to get your bank 44 | either to cash you a counter cheque or to get a cheque book to you 45 | QUICKLY so that you can get cash from your bank. Problem B is the 46 | alternative, which is to get hold of the money order which Fassbaum has 47 | sent. 48 | 49 | You can attack these problems in either order. Doesn't actually matter 50 | which. Here they are: 51 | 52 | PROBLEM A: THE BANK 53 | 54 | STARTING INFORMATION: The bank has failed to act upon the change of 55 | address card you sent it, because it was not on a proper form. They 56 | HAVE used their initiative to the extent that, realising you needed a 57 | change of address form, they sent you one. Unfortunately they sent it 58 | to your old address. 59 | 60 | The new tenant of your old apartment has in fact received this form. 61 | He has also previously received a cheque book and a credit card, among 62 | other mail, which he politely returned to your bank with "PLEASE 63 | FORWARD TO NEW ADDRESS" written on it. The change of address form is 64 | the last straw. His attitude is "Fuck this; tell your bank about your 65 | new address, I have had enough." He has gone on holiday to stalk Ai-Ai 66 | in Zalagasa and won't be back for three weeks. 67 | 68 | So you might think of ringing up the bank to ask for a NEW change of 69 | address form. If you do this, you will get Pongo the bank parrot, who 70 | will tell you that according to their records, they sent a change of 71 | address form to your old address (You already know this) and they can't 72 | send another one out until the original is returned. They cannot 73 | possibly bypass the system in your case because (A) how would it be if 74 | everyone bypassed the system, and anyway (B) the system was manufactured 75 | by the Deep Thought Corporation of America Inc and is notoriously 76 | inflexible. They have had someone in to look at it but things only seem 77 | to have got worse. Ringing the bank is therefore a no-win game play. 78 | 79 | You might also think of actually visiting the bank to see if they can 80 | help. The bank staff are however completely incapable of helping you. 81 | The systems have been automated to such an extent that the humans are 82 | reduced to mere robots and show no initiative. They are completely 83 | intimidated by the computer, which anyway has behaving strangely of late 84 | so they don't want to take the risk of offending it. The only thing you 85 | learn is that they COULD cash a money order. Since this is the thing 86 | that Fassbaum is sending you, it is obvious that that's what you need to 87 | find. 88 | 89 | If you haven't already looked in your mailbox at home, you'll perhaps do 90 | so now. You will find that someone else's mail is in it, which might 91 | alert you to the fact that something is wrong with the mailman. Perhaps 92 | he is a DTC robot? Perhaps he is just a prick. Anyway, all the mail is 93 | misdirected, and it's obvious that if you are ever going to find the 94 | Fassbaum money order you will have to look in someone else's mail. You 95 | will in fact NOT find the money order until you have opened all the 96 | available mail. 97 | 98 | The mail problems remain exactly as they currently are except perhaps a 99 | few more pointers ? 100 | 101 | The LAST batch of mail you find will contain two items: a money order 102 | addressed to you, and an envelope addressed to someone else. The money 103 | order will have been destroyed in one way or another, depending on where 104 | you find it. It can have been licked by the llama, plunged into water 105 | by the paranoid, ripped to shreds by the macaw or cut to ribbons by the 106 | collector. Every batch of mail will also contain a special offer 107 | suggesting that you, the lucky recipient, might have won $25,000. The 108 | last envelope will also be another stupid thing suggesting that you have 109 | won $25,000 and will ONLY be morally distinguishable from the other junk 110 | mail by the fact that it is a real object. If you assume that it is 111 | just junk, you will not ask to pick it up (**YOU AUTOMATICALLY PICK UP 112 | THE MONEY ORDER, JUST TO MAKE THINGS SUBTLE**) and will never get to the 113 | airport. If, however, you DO pick it up, you will find that it is 114 | addressed to a silly name at a non-existent street address (You will be 115 | told this in the text) so that you are perfectly justified in opening it 116 | and taking the money order it contains. 117 | 118 | You then have to return to the bank with the money order and run through 119 | the bureacratic process of cashing it. This will involve the silly 120 | forms (siller than now but less paranoid) but in the end you will get 121 | the money. 122 | 123 | Throughout this process the nerd will keep appearing and try to sell you 124 | things to do with computing- books on protection systems, hacking 125 | manuals, interesting terminal numbers and so forth. They will always 126 | cost slightly more money than you have after buying your cab fare, so if 127 | you accept his stupid offers you won't be able to get to the airport. 128 | 129 | Also throughout this process, pseudo DTC repair men will keep appearing 130 | out of the corner of your eye. 131 | 132 | The restaurant remains the same. If you don't eat you die. The 133 | waitress runs away after a pause because something goes wrong with the 134 | computer terminal she is using to punch in the order. The waiter comes 135 | out and takes your order but whatever you ask for he brings you a bill 136 | for $475.50. When you quesiton him about the bill, he explains that the 137 | DTC computer is fubar and the real bill is $4.50 138 | 139 | >ASK WAITER ABOUT COMPUTER 140 | "It's a DTC. As I said, it's Fubar." 141 | 142 | >ASK WAITER ABOUT FUBAR 143 | "Fouled Up Beyond All Recognition. As I said, it's a DTC" 144 | 145 | Outside, the waitress and a pseudo-DTC engineer in a white coat with a 146 | walkie-talkie is snigelling (a very private in-joke word which will not 147 | be explained) over something with the waitress. They disappear when they 148 | see you. 149 | 150 | DTC engineers are found everywhere. 151 | 152 | The general principle is that DTC is the Frobozzco of the computer world 153 | and that companies use DTC foul-ups to excuse their own infelxibility. 154 | 155 | The CAB COMPANY and AIRPORT work as normal except that we will find some 156 | way of blaming the snafu at ATC on the DTC computer. 157 | 158 | The AIRPLANE PUZZLE we have already dealt with. 159 | 160 | Perhaps the piped music system is a DTC product as well, and Boysenberry 161 | could have been a once-creative company now absorbed into the DTC 162 | bureacracy. 163 | 164 | The airplane pay-off is the stewardess telling you that it is not 165 | actually going to crash, it is in fact a totally inexplicable computer 166 | malfunction. 167 | 168 | ZALAGASA, THE SILICON MINE, THE MAZE 169 | =================================== 170 | 171 | Zalagasa could be a real or a fantastical place. It is never actually 172 | made explicit which is real, although attention is drawn to your labile 173 | emotional state at the time. 174 | 175 | While you are in the cooking pot it occurs to you that a series of 176 | bureacratic and computer foul-ups have led to this sorry plight, but on 177 | the other hand you have at last found tranquility in a place where 178 | neither computers nor bureacratic conventions exist. Witness the 179 | charming primitivism of the Zalagasans dancing round the pot chanting 180 | their age-old chant of ZBUG! ZBUG! ZBUG!. 181 | 182 | You solve the eclipse prediction puzzle as before and escape from the 183 | cooking pot. One of the Zalagasans comes back and engages you in 184 | conversation, observing that your Boysenberry is in fact a rather 185 | primitive version and that theirs has a much more sophisticated BIOS 186 | which was introduced to them by a mysterious nerd-like figure who 187 | emerges periodically from a hole in the ground. He tells you that that 188 | hole in the ground is over to the west. 189 | 190 | This leads you into the Silicon Mine, which is in fact the Quicksand 191 | renamed PLUS the 192 | 193 | 194 | 195 | -------------------------------------------------------------------------------- /forms.zil: -------------------------------------------------------------------------------- 1 | "FORMS for BUREAUCRACY: Copyright (C)1987 Infocom, Inc. All rights reserved." 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | > 12 | 13 | > 14 | 15 | 2>> 17 | > 18 | 2>> 19 | > 20 | 21 | > 22 | 23 | > 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | ) (FIELDS ) TF) 36 | 37 | > 38 | )> 39 | > 40 | >> 41 | > 42 | 43 | > 44 | <==? .RLINE>> 45 | > 46 | > 47 | > 48 | >)> 49 | 50 | > 51 | >> 52 | > 53 | 54 | 56 | 57 | <+ .X ,MARGIN>>> 58 | 59 | 61 | > 62 | 63 | 65 | 66 | 67 | > 68 | 69 | > 71 | 72 | 73 | > 74 | 75 | ) 79 | (FIRST-NAME "First name:" 25 "Random" FF-NAME 80 | ) 81 | (MIDDLE-INITIAL "Middle initial:" 1 "Q" FF-MIDDLE-INITIAL) 82 | (YOUR-SEX "Your sex (M/F):" 1 "M" FF-SEX) 83 | (STREET-NUMBER "House number:" 4 "69" 84 | FF-STREET-NUMBER 85 | ) 86 | (STREET-NAME "Street name:" 24 "Mandalay" 87 | ) 89 | (CITY-NAME "City:" 18 "Newton" ) 92 | (STATE-NAME "State:" 5 "MA" FF-STATE) 93 | (ZIP-CODE "Zip:" 6 "02174") 94 | (PHONE-NUMBER "Phone:" 17 "646 9105" FF-PHONE-NUMBER) 95 | (EMPLOYER-NAME "Last employer but one:" 14 "Infocom" 96 | ) 101 | (LEAST-FAVORITE-COLOR "Least favourite colour:" 12 "red" 102 | FF-LEAST-FAVORITE-COLOR) 103 | (FRIEND "Name of girl/boy friend:" 11 "Dunbar" 104 | ) 108 | (LAST-FRIEND "Previous girl/boy friend:" 10 "None" 109 | )> 113 | 114 | > ; "True--> female" 115 | 116 | 117 | 118 | 119 | )) 120 | 121 | > 122 | 124 | ) 125 | (T 126 | 127 | )> 128 | 129 | ) 130 | (T 131 | )> 132 | 133 | 134 | )> 135 | 136 | > 137 | 138 | 140 | 141 | 143 | 144 | ) 145 | (T 146 | 147 | >)> 148 | > 149 | 150 | ) 151 | "AUX" (CNT 0) (PTR ,FIELD-DATA-OFFSET) 152 | MAX CHAR:FIX TBL:FIELD OLDLEN (ECHO? T)) 153 | ) 155 | (T 156 | )> 157 | > 158 | > 159 | ,FORM-DO-ECHO? .TBL>>> 160 | >)> 161 | > 162 | >> 163 | > 164 | > 165 | 166 | 167 | > 168 | 169 | 170 | 171 | )> 172 | > 174 | ; "CR?" 175 | 176 | 177 | )> 178 | 179 | > 180 | ) 181 | (T 182 | )> 183 | ) 184 | (T 185 | > 187 | )> 188 | 189 | 190 | )>) 191 | ( 14> 192 | )> 194 | 195 | )> 196 | .FF>) 197 | ( ; "Backspace?" 198 | 199 | 200 | > 201 | ) 202 | (T 203 | )> 204 | )> 205 | > 207 | )> 208 | >> 209 | > 211 | 212 | 213 | )> 214 | > 0> 215 | ) 216 | (<==? .CNT .MAX> 217 | 218 | 219 | ) 220 | (> 221 | ,FORM-ADD-CHAR .TBL .CHAR>> 222 | ; "OK to use this char?" 223 | 1>> 224 | 1>>> 225 | >)> 226 | 228 | >)> 229 | 230 | > 231 | >>) 232 | (T 233 | 234 | )> 235 | > 237 | )>>> 238 | 239 | "Functions for individual fields" 240 | 241 | 243 | <==? 2>> 244 | 2) 245 | (T T)>> 246 | 247 | <>) 249 | (T T)>> 250 | 251 | 254 | ; "Force street number after name..." 255 | >>> 256 | <>) 257 | (T T)>) 258 | (<==? .CONTEXT ,FORM-EXIT-FIELD> 259 | >>>> 261 | 262 | 263 | 264 | > 265 | > 266 | 267 | )> 268 | 269 | >> 270 | >> 271 | >> 272 | >> 273 | >> 274 | .VAL) 275 | (<==? .CONTEXT ,FORM-ADD-CHAR> 276 | T) 277 | (T 278 | 279 | <>)>) 280 | (T T)>> 281 | 282 | 284 | 285 | > 286 | %>> 287 | T) 288 | (T 289 | 290 | <>)>) 291 | (T T)>> 292 | 293 | > 295 | >> 296 | T) 297 | (T <>)>> 298 | 299 | 301 | % %> 302 | ) 303 | (T 304 | >)> 305 | T) 306 | (<==? .CONTEXT ,FORM-ADD-CHAR> 307 | %> 308 | %>> 309 | T) 310 | (T 311 | 312 | <>)>) 313 | (T T)>> 314 | 315 | 317 | > 318 | >> 319 | > 320 | >>> 321 | T) 322 | (T 323 | 324 | <>)>) 325 | (T T)>> 326 | 327 | 329 | %> 330 | > 331 | 332 | <>) 333 | (T 334 | )) 336 | FIX> .CHAR> 337 | 338 | ) 339 | (<==? .CHAR %> 340 | ) 341 | (T 342 | )> 343 | .FF-NAME>)> 344 | >> 345 | )> 346 | >> 347 | T)>) 348 | (T T)>) 349 | (T T)>> 350 | 351 | ) 353 | LEN TBL CHAR:FIX (UC? T) (ALL-UC? <>) TV) 354 | >>> 355 | > 356 | 358 | .FN>) 359 | (T 360 | > 361 | 362 | ,FORM-UPPERCASE? .TBL>>>> 363 | >)> 364 | )> 365 | FIX>> 367 | 1>> 368 | 1>>> 369 | 370 | >) 371 | ( <==? .CNT 1>> 372 | T) 373 | (.CAP? 374 | >) 375 | (T 376 | >)>) 377 | ( %> 378 | 379 | ) 380 | (T 381 | > 382 | > .LEN> 383 | )> 384 | )>)> 385 | 386 | > 387 | > 388 | > .LEN> 389 | )>>)>> 390 | 391 | 393 | 394 | 395 | 396 | 397 | 398 | 399 | 407 | > 127> 409 | ) 411 | (T 412 | 413 | 414 | )> 415 | 417 | >>> 419 | 420 | > .LEN> 423 | ; "If we've been through the loop too many times without a hit, 424 | just start at the beginning and proceed until we find something 425 | or run out (in 2nd case, return -1)" 426 | > .LEN> 427 | 428 | )> 429 | >) 430 | (T 431 | > 432 | >)> 433 | >>> 434 | > 435 | ,FORM-OK-TO-ENTER-FIELD? .F>>> 436 | 1> 437 | 438 | )>)>> 439 | .N> 440 | 441 | 442 | 443 | ) (HIST ,FORM-HISTORY) 445 | (HISTLEN 0) N (BOGUS-ERRORS 0)) 446 | > 447 | 448 | 449 | > 450 | >>> 452 | >> 453 | ,FORM-FIELD-RESET .F>)> 454 | 0> 455 | > .FIELDCT> )>> 456 | > 457 | 458 | ) ERRVAL) 459 | > 460 | > 461 | > 462 | 463 | 464 | 465 | 466 | )> 467 | 468 | >> 469 | > 470 | 471 | 472 | > 473 | 474 | ; "Put this field back on the list" 475 | 476 | ; "And find the one we were in before" 477 | >> FIX>> 478 | ) 479 | (> 480 | ,FORM-EXIT-FIELD .TBL>> 481 | 482 | 483 | )> 484 | 485 | 486 | 487 | > 488 | 3>> 489 | )>)>)> 490 | 491 | 492 | >> 493 | > T> 494 | )> 495 | > .FIELDCT> 496 | )> 497 | 498 | > 500 | )>> 501 | 502 | 503 | ; "Does SCREEN S-TEXT..." 504 | 505 | 506 | 507 | 508 | )> 509 | 510 | > 511 | 512 | T> 513 | 514 | "Some constants to prevent number overflows" 515 | 516 | ;"Largest positive number on 16 bit machine." 517 | > ;"Largest div by 10" 519 | > ;"Largest div by 100" 521 | 522 | "Expects address of an ASCII byte table, 0th byte = length. Returns value. 523 | If DOT-OK is true, allows a decimal and in fact makes it 100 times bigger 524 | if no decimal point. Returns -1 if overflow and -2 if too many dots." 525 | 526 | ) 527 | "AUX" (SUM:FIX 0) LEN:FIX X:FIX (DOT-SEEN <>)) 528 | FIX>> 529 | FIX>> 531 | 1>> 532 | 1>>> 533 | 534 | )> 535 | > 536 | >> 537 | > 538 | )> 539 | >) 540 | (>> 541 | > 542 | ) 543 | (T 544 | )> 545 | > .LEN> 546 | > 547 | 548 | )> 549 | >)> 550 | )>> 551 | > 552 | 553 | > 555 | 556 | )) 557 | 558 | 559 | 561 | )> 562 | > 563 | 564 | > 566 | 567 | > 569 | 570 | )) 571 | 572 | )> 573 | >>>> 574 | 575 | ) "AUX" TF LEN:FIX) 576 | 577 | )> 578 | > 579 | > 581 | " "> 582 | 583 | 584 | > .LEN> )>>> 585 | 586 | )) 588 | ) 589 | (T 590 | FIX>> 592 | 593 | > 594 | > .LEN> 595 | )>>)>> 596 | -------------------------------------------------------------------------------- /zalagasa.zil: -------------------------------------------------------------------------------- 1 | "ZALAGASA for BUREAUCRACY. Copyright 1987 Infocom, Inc. All rights reserved." 2 | 3 | 4 | 5 | 6 | 7 | 24 | 25 | )) 26 | <>) 27 | (> 28 | ) 29 | ( 30 | 33 | 34 | ) 35 | (T 36 | )> 37 | )>> 38 | 39 | 44 | 45 | T> 46 | 47 | 64 | 65 | " TOUCHED ==> Natives are amused with recipe cartridge" 66 | 67 | 69 | 70 | ,IN-CLEARING) 71 | (ELSE 72 | 73 | <>)>> 74 | 75 | ) "AUX" RM) 76 | 77 | 78 | 79 | ) 80 | (T 81 | )> 82 | ) 83 | ( <>) 84 | ( 85 | ) 86 | ( 87 | 88 | ) 89 | (T 90 | )>) 94 | ( 95 | > 96 | ) 97 | (T T)>) 98 | ( 99 | 100 | ) 101 | ( 102 | ) 103 | (T <>)>) 104 | (ELSE <>)>> 105 | 106 | 114 | 115 | )) 116 | 117 | .ZALAG>) 118 | ( 119 | 120 | ) 121 | ( 122 | ) 123 | (T 124 | )>) 125 | ( 126 | 127 | ) 128 | ( 129 | ) 130 | (T 131 | )>) 132 | (T 133 | )> 134 | ,FATAL-VALUE) 135 | ( 136 | <>) 137 | ( 138 | 139 | 140 | ) 141 | (T 142 | )>) 143 | ( 144 | 145 | ) 146 | ( 147 | )>) 148 | (T <>)>) 149 | ( 150 | <>) 151 | ( 152 | ) 153 | ( 154 | 155 | T) 156 | ( 157 | 158 | T) 159 | (T 160 | <>)>> 161 | 162 | 164 | ) 166 | (T 167 | 168 | 170 | ) 171 | (<==? .OBJ ,RECIPE> 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | T) 182 | (<==? .OBJ ,ADVENTURE> 183 | )>)>)>> 184 | 185 | 187 | 188 | T) 189 | ( 190 | 191 | T) 192 | (T 193 | 194 | T)>> 195 | 196 | 198 | ) 199 | (T 200 | 201 | 202 | ) 203 | (T 204 | )> 205 | )> 206 | T> 207 | 208 | 210 | 211 | T) 212 | (<==? .OBJ ,ME> 213 | 214 | T) 215 | (<==? .OBJ ,NERD> 216 | ) 218 | (<==? .OBJ ,COMPUTER> 219 | ) 220 | (ELSE 221 | )>> 222 | 223 | 224 | 225 | 233 | 234 | )) 235 | 236 | 238 | 239 | ) 242 | (T <>)>> 243 | 244 | > 245 | 246 | 252 | 253 | 255 | 256 | ) 257 | ( 258 | )>)>> 264 | 265 | 272 | 273 | 275 | >> 276 | ) 277 | (T 278 | )> 279 | > 280 | 281 | )) 282 | 283 | 284 | ) 285 | (T 286 | 288 | 289 | 290 | 291 | 292 | 293 | )>) 294 | ( <>) 295 | ( 296 | 297 | <>) 298 | (> 299 | 300 | 301 | >)> 302 | 303 | T)>) 304 | ( 305 | 306 | 307 | 309 | > 310 | 311 | ) 312 | (T 313 | 314 | )>) 315 | ( 316 | 317 | 318 | ) 319 | (T 320 | )> 321 | 322 | 323 | ) 324 | ( 325 | ) 327 | ( 328 | 329 | ) 330 | (T 331 | )> 332 | T) 333 | ( 334 | )>) 336 | (T <>)>> 337 | 338 | 347 | 348 | 357 | 358 | 367 | 368 | > 369 | 370 | 371 | 372 | > 373 | 374 | 375 | ) 376 | (VAL 0)) 377 | > 378 | )> 379 | 380 | 381 | ) 382 | (T )> 383 | > 384 | 385 | 387 | ; "Losing" 388 | > 389 | > 390 | >> 391 | ; "Back in initial state" 392 | 393 | T) 394 | (T <>)>) 395 | (T 396 | 397 | > 398 | 399 | 400 | )> 401 | > 402 | 403 | 404 | <==? .H2 ,MIDDLE-HANDLE>> 405 | T) 406 | ( 407 | <==? .H2 ,RIGHT-HANDLE>> 408 | T) 409 | (T <>)>) 410 | (<==? ,HANDLE-TURNS 2> 411 | 412 | <==? .H2 ,RIGHT-HANDLE>> 413 | T) 414 | (T <>)>) 415 | (<==? ,HANDLE-TURNS 3> 416 | > 417 | > 418 | >> 419 | T) 420 | (T <>)>)>)>> 421 | 422 | 424 | ,HANDLE-COUNT> 425 | ,LEFT-HANDLE) 426 | (T <>)>) 427 | ( 428 | ,P-IT-OBJECT) 429 | (T <>)>> 430 | 431 | 433 | 434 | 435 | > 436 | ; "TURN HANDLES BECOMES TURN ALL HANDLES" 437 | 438 | 439 | 440 | 441 | )> 442 | 443 | ) 445 | ( 446 | 447 | ; "TURNING ONE OR TWO HANDLES" 448 | 2> 449 | >> 450 | >> 451 | > 452 | 453 | ) 454 | (<==? ,HANDLE-TURNS 3> 455 | 456 | ) 458 | (T 459 | )> 460 | ) 461 | (<==? 3> 462 | 464 | )>)> 465 | 467 | T) 468 | ( 469 | ) 470 | ( 471 | ) 472 | ( 473 | > 474 | ; "ALL PREVIOUS RESPONSES PLAUSIBLE FOR MORE THAN ONE; NOW 475 | CAUSE DEFAULTS TO BE APPLIED TO EACH IN TURN" 476 | 477 | T) 478 | ( 479 | 480 | )>> 481 | 482 | 484 | 485 | 486 | > 487 | 488 | 489 | 490 | 498 | 499 | 501 | ,ODD-GATE-SOLVED?) 502 | (T 503 | 504 | <>)>> 505 | 506 | )) 507 | 508 | 509 | 510 | ) 511 | (<==? .CONTEXT ,M-ENTERING> 512 | 513 | 514 | 515 | <>) 516 | (<==? .CONTEXT ,M-EXIT> 517 | 518 | 519 | 520 | <>) 521 | (T <>)>> 522 | 523 | 532 | 533 | 535 | )>> 537 | 538 | 548 | 549 | 551 | ) 552 | (T <>)>> 553 | 554 | IMPURE>> 555 | IMPURE>> 556 | IMPURE>> 557 | IMPURE>> 558 | 559 | > 560 | > 561 | 562 | > 565 | -------------------------------------------------------------------------------- /other-misc.zil: -------------------------------------------------------------------------------- 1 | "OTHER-MISC for BUREAUCRACY: (C)1987 Infocom, Inc. All Rights Reserved." 2 | 3 | 4 | 5 | 6 | 7 | >"> ;"'File' is not in manual." 10 | > 11 | 12 | > 13 | 14 | >)> 15 | 16 | <>) 17 | (T )>) 18 | ( 19 | > 20 | 22 | >> 23 | )>> 24 | 25 | ) 26 | (T 27 | > 29 | T) 30 | (T <>)> 31 | T>)>>> 32 | 33 | > 35 | > 36 | 37 | 38 | 39 | 40 | > 41 | 42 | )> 43 | ) 44 | (T 45 | 46 | 47 | )> 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | ; 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | > 72 | 73 | 76 | 77 | 78 | 81 | 82 | 85 | 86 | 91 | 92 | 93 | 94 | 95 | > 96 | 97 | 202>> 99 | 100 | 101 | > 102 | 103 | > 104 | 105 | > 106 | 107 | > 108 | 109 | > 110 | 111 | > 112 | 201>> 114 | 115 | > 116 | )>> 117 | 118 | > 119 | > 120 | 121 | > 123 | 124 | 125 | 126 | 127 | > 128 | 129 | 130 | 131 | 132 | > 133 | ) 134 | (T 135 | > 136 | )> 137 | 138 | 139 | > 140 | 141 | 147 | 148 | > 150 | 151 | ) 152 | ( 153 | 154 | 155 | ) 156 | (T 157 | .WALLS>)>) 158 | ( 159 | > 160 | 161 | ) 162 | ( 163 | > 164 | 165 | 166 | ) 167 | ( 168 | 169 | 170 | )> 171 | 172 | ,FATAL-VALUE> 173 | 174 | 180 | 181 | > 183 | 184 | ,FATAL-VALUE) 185 | ( 186 | 187 | T) 188 | (T 189 | <>)>> 190 | 191 | 200 | 201 | 203 | 204 | 205 | T) 206 | (T 207 | <>)>) 208 | ( 209 | 210 | T) 211 | ( 212 | 213 | 214 | ) 215 | (T 216 | )> 217 | 218 | T) 219 | ( 220 | 221 | T) 222 | ( 223 | > 224 | 225 | T) 226 | ( 227 | 228 | T) 229 | (T 230 | <>)>> 231 | 232 | 241 | 242 | "TOUCHED = flight described once." 243 | 244 | 246 | 247 | 248 | T) 249 | (T 250 | <>)>) 251 | ( 252 | 253 | T) 254 | ( 255 | 256 | T) 257 | (T 258 | <>)>> 259 | 260 | 267 | 268 | 270 | 271 | 272 | ) 273 | ( 274 | 275 | )>) 276 | ( 277 | 278 | ) 279 | ( 280 | 281 | ) 282 | ( 283 | 284 | ) 285 | ( 286 | 287 | )> 288 | 289 | ,FATAL-VALUE> 290 | 291 | 299 | 300 | 302 | >> 303 | 304 | "SEEN = given PRE-DUMB-EXAMINE admonishment." 305 | 306 | ,W?EYES> 308 | 309 | ) 310 | ( 311 | 312 | ) 313 | ( 314 | 315 | )>)> 316 | 317 | 318 | T) 319 | (T 320 | 321 | ,FATAL-VALUE)>> 322 | 323 | 330 | 331 | ) "AUX" OBJ NXT (ANY <>)) 332 | 333 | 334 | 335 | T) 336 | ( 337 | 338 | T) 339 | ( 340 | 341 | ) 342 | (T 343 | )> 344 | T) 345 | ( 346 | 347 | T) 348 | (T 349 | <>)>) 350 | ( 351 | 352 | > 353 | 355 | )> 356 | > 357 | 358 | 359 | )> 360 | > 361 | 362 | ) 363 | (T 364 | 365 | 366 | 367 | )> 368 | T) 369 | ( 370 | 371 | T) 372 | ( 373 | 374 | T) 375 | ( 376 | 377 | T) 378 | ( 379 | 380 | T) 381 | ( 382 | 383 | 384 | T) 385 | ( 386 | T) 387 | (T 388 | <>)>> 389 | 390 | 396 | 397 | 399 | 400 | T) 401 | ( 402 | 403 | T) 404 | ( 405 | > 406 | 407 | T) 408 | (T 409 | <>)>> 410 | 411 | 418 | 419 | 421 | 422 | T) 423 | ( 424 | 425 | T) 426 | ( 427 | > 428 | 429 | 430 | T) 431 | ( 432 | 433 | T) 434 | ( 435 | 436 | T) 437 | (T 438 | <>)>> 439 | 440 | 445 | 446 | 451 | 452 | 459 | 460 | > ,W?FLOOR> 462 | ) 463 | (T 464 | )>> 465 | 466 | > 468 | > T) 469 | (T <>)>> 470 | 471 | ,W?FLOOR> 473 | > 474 | 475 | )>)> 476 | 477 | 478 | 479 | T) 480 | (T 481 | <>)>) 482 | ( 483 | 484 | > 486 | 487 | T) 488 | ( 489 | 490 | T) 491 | (T 492 | <>)>> 493 | 494 | 504 | 505 | 507 | 508 | :FIX 3>> 509 | 511 | T) 512 | (T 513 | <>)>) 514 | ( 515 | > 516 | 517 | 518 | ) 519 | (T 520 | )> 521 | 522 | T) 523 | ( 524 | 525 | <>) 526 | ( 527 | 528 | T) 529 | ( 530 | 531 | T) 532 | (T 533 | <>)>> 534 | 535 | ) "AUX" THING OPRSO) 536 | > 537 | <>) 538 | ( <>) 539 | (T 540 | ) 541 | (T )> 542 | 543 | 544 | 545 | 546 | 547 | <>) 548 | (T 549 | 550 | ,FATAL-VALUE)>)>> 551 | 552 | "WINDOW [table] [left-margin], where [table] is a global PLTABLE 553 | with the 1st element = width of window, followed by strings (0 for blank). 554 | If [left-margin] is not specified, window is centered." 555 | 556 | ; "Used for optional arguments to WINDOW..." 557 | >> 558 | 559 | ) (S2 <>) (S3 <>) 560 | (STLINE 4) 561 | "AUX" MARGIN (Y .STLINE) (I 2) W:FIX LINES:FIX 562 | STR PLINES 563 | (CT:FIX 0) (ET ,EXTRA-TEXT) SP:FIX) 564 | 565 | 566 | 567 | > 568 | 569 | > 570 | 2>> ; "Center" 571 | > ; "Set up the window." 572 | 573 | > 574 | 575 | 576 | 577 | 578 | 579 | > 581 | 582 | > 583 | 584 | 585 | )> 586 | > 587 | 588 | > 589 | :FIX>> 590 | ; "Number of spaces needed" 591 | > 592 | ; "Print half" 593 | 594 | > 595 | >>) 596 | (T 597 | )>) 598 | (T 599 | 600 | 601 | )> 602 | >> 603 | 604 | 605 | 606 | 607 | 608 | 609 | ; "Send window to printer." 610 | 611 | 612 | 613 | 614 | 615 | 616 | > 618 | 619 | )> 620 | > 621 | > 622 | > 623 | )> 624 | ) 625 | (> 626 | > 627 | :FIX> 2>> 628 | )> 629 | 630 | )> 631 | 632 | >> 633 | 634 | 635 | T> 636 | 637 | 644 | 645 | )) 646 | 647 | ,SOUNDS> 648 | ) 649 | (<==? ,SOUNDS> 650 | ) 651 | (T <>)>) 652 | (T <>)>> 653 | 654 | > 656 | 657 | 658 | ) 659 | (T 660 | )> 661 | T) 662 | ( 663 | > 664 | 665 | T) 666 | (T 667 | <>)>> 668 | 669 | 675 | 676 | > 678 | 679 | ,FATAL-VALUE) 680 | ( 681 | 682 | T) 683 | ( 684 | > 685 | 686 | T) 687 | ( 688 | 689 | T) 690 | ( 691 | 692 | T) 693 | (T 694 | <>)>> 695 | ; 701 | 702 | ; 708 | 709 | ; 711 | > 713 | 714 | T) 715 | (T 716 | <>)>> 717 | 718 | > 720 | 721 | 724 | 725 | 726 | T> 727 | 728 | -------------------------------------------------------------------------------- /njet.zil: -------------------------------------------------------------------------------- 1 | "NJET for BUREAUCRACY: Copyright 1987 Infocom, Inc. All rights reserved." 2 | 3 | 4 | 5 | 11 | 12 | > 14 | 15 | T) 16 | ( 17 | T) 18 | (T 19 | <>)>> 20 | 21 | 27 | 28 | 30 | <>) 31 | ( 32 | 34 | T) 35 | ( 36 | 37 | ) 39 | (T 40 | 41 | 42 | 43 | 44 | 45 | ) 46 | (T 47 | )> 48 | 49 | 50 | ) 51 | (T 52 | 53 | )> 54 | )> 55 | T) 56 | ( 57 | 58 | T) 59 | ( 60 | > 61 | 62 | T) 63 | ( 64 | 65 | T) 66 | (T 67 | <>)>> 68 | 69 | 77 | 78 | )) 79 | 80 | 81 | T) 82 | ( 83 | <>) 84 | ( 85 | 86 | T) 87 | ( 88 | <>) 89 | ( 90 | 91 | 92 | ) 93 | (T 94 | )> 95 | T) 96 | (T 97 | <>)>> 98 | 99 | 106 | 107 | 109 | 110 | 111 | T) 112 | (T 113 | <>)>) 114 | ( 115 | > 116 | 117 | T) 118 | ( 119 | 120 | T) 121 | (T 122 | <>)>> 123 | 124 | 132 | 133 | 135 | 136 | 137 | > 138 | ) 139 | (T 140 | 141 | >)> 142 | T) 143 | ( 144 | 145 | > 146 | T) 147 | ( 148 | 149 | T) 150 | ( 151 | 6> 152 | ) 154 | (T 155 | )> 157 | T) 158 | (T <>)>) 159 | ( 160 | 162 | T) 163 | ( 164 | > 165 | T) 166 | ( 167 | 168 | 169 | 170 | T) 171 | ( 172 | 173 | T) 174 | ( 175 | > 176 | 177 | T) 178 | ( 179 | 180 | T) 181 | (T 182 | <>)>> 183 | 184 | 186 | ) 187 | ( 188 | )> 189 | ,SEAT> 190 | 191 | 200 | 201 | 203 | <>) 204 | ( 205 | 206 | T) 207 | (T 208 | <>)>> 209 | 210 | 219 | 220 | 222 | <>) 223 | ( 224 | 226 | T) 227 | (T 228 | <>)>> 229 | 230 | 238 | 239 | 240 | 241 | 243 | <>) 244 | ( 245 | > 246 | 247 | 248 | )> 249 | <>) 250 | ( 251 | 252 | 253 | ) 254 | (T 255 | )> 256 | 257 | T) 258 | ( 259 | 260 | <>) 261 | (> 262 | <>) 263 | (T 264 | 265 | 266 | 267 | 268 | 269 | >)> 270 | 271 | T)>) 272 | ( 273 | 274 | T) 275 | ( 276 | 277 | T) 278 | (T 279 | <>)>> 280 | 281 | > 283 | ) 284 | (T 285 | 286 | )> 287 | T> 288 | 289 | 291 | 292 | T) 293 | (> 294 | 296 | T) 297 | (T 298 | 299 | 300 | > 301 | )> 302 | 303 | 304 | T)>> 305 | 306 | 314 | 315 | 317 | 318 | 319 | T) 320 | (T 321 | <>)>) 322 | ( 323 | 324 | 325 | 326 | T) 327 | ( 328 | 330 | T) 331 | ( 332 | 333 | T) 334 | (T 335 | <>)>> 336 | 337 | 345 | 346 | 348 | 349 | 350 | T) 351 | (T 352 | <>)>) 353 | ( 354 | 356 | T) 357 | (T 358 | <>)>> 359 | 360 | 368 | 369 | 371 | 372 | > 373 | ) 374 | (T 375 | )> 376 | T) 377 | ( 378 | > 379 | 380 | 381 | ) 382 | (T 383 | )> 384 | T) 385 | ( 386 | 387 | T) 388 | (T 389 | <>)>) 390 | ( 391 | 392 | ) 394 | (T 395 | )> 396 | T) 397 | (T <>)>> 398 | 399 | 406 | 407 | 408 | 409 | ) X) 410 | 411 | )> 412 | 413 | 414 | > 415 | > 416 | T) 417 | ( 418 | 419 | T) 420 | (T 421 | <>)>) 422 | ( 423 | 424 | 425 | ) 426 | (T 427 | )> 428 | 430 | 431 | )> 433 | 434 | T) 435 | ( 436 | 437 | 438 | 439 | ) 440 | (T 441 | )> 442 | T) 443 | (T 444 | 445 | 446 | 447 | )> 448 | 449 | 450 | )> 451 | 452 | T)>) 453 | ( 454 | > 455 | ) 456 | (T 457 | 458 | )> 459 | T) 460 | (T 461 | <>)>> 462 | 463 | 470 | 471 | 473 | 474 | 475 | T) 476 | (T 477 | <>)>) 478 | ( 479 | 480 | T) 481 | ( 482 | 483 | ) 485 | (T 486 | )> 487 | T) 488 | ( 489 | 490 | ) 492 | (T 493 | 494 | )> 498 | T) 499 | ( 500 | > 501 | ) 502 | (T 503 | 504 | )>) 505 | (T 506 | <>)>> 507 | 508 | 515 | 516 | 518 | 519 | T) 520 | ( 521 | 522 | 523 | 525 | ) 526 | ( 527 | 528 | )> 529 | 530 | ) 531 | ( 532 | 533 | 534 | )> 535 | 536 | 537 | 538 | ) 539 | ( 540 | > 541 | > 542 | 545 | )> 546 | 548 | 549 | )>)> 550 | 551 | 552 | 553 | )> 554 | .CHUTE>) 555 | ( 556 | 557 | 560 | ) 561 | ( 562 | 564 | )> 565 | 567 | 568 | )> 570 | 571 | T) 572 | ( 573 | 575 | T) 576 | ( 577 | 578 | 579 | T) 580 | ( 581 | 582 | T) 583 | ( 584 | 585 | ) 586 | (T 587 | )> 588 | T) 589 | (T <>)>> 590 | 591 | 593 | 594 | 595 | ) 596 | (T 597 | 598 | 599 | ) 600 | (T 601 | 602 | 603 | 604 | 605 | 606 | )>)> 607 | T> 608 | 609 | 611 | 614 | ) 615 | ( 616 | 619 | 620 | )> 621 | 622 | 625 | T> 626 | 627 | 634 | 635 | 637 | <>) 638 | ( 639 | 640 | 641 | )> 642 | 643 | T) 644 | ( 645 | 646 | T) 647 | (T 648 | <>)>> 649 | 650 | 657 | 658 | 660 | <>) 661 | ( 662 | 663 | T) 664 | ( 665 | 666 | T) 667 | ( 668 | 670 | T) 671 | (T 672 | <>)>> 673 | 674 | 681 | 682 | 684 | <>) 685 | ( 686 | 687 | T) 688 | ( 689 | 691 | T) 692 | ( 693 | 694 | T) 695 | ( 696 | 699 | 700 | T) 701 | ( 702 | 703 | T) 704 | ( 705 | 706 | T) 707 | ( 708 | 709 | T) 710 | (T 711 | <>)>> 712 | 713 | 715 | 716 | 717 | 718 | 719 | 720 | 721 | T> 722 | 723 | 726 | 727 | T> 728 | 729 | 730 | "*** AIRPLANE ***" 731 | 732 | 747 | 748 | )) 749 | 750 | 751 | 752 | 753 | )> 754 | 755 | T) 756 | (T 757 | <>)>> 758 | 759 | 773 | 774 | 776 | ) 777 | (T 778 | )> 779 | T> 780 | 781 | )) 782 | 783 | 784 | 785 | )> 788 | 789 | T) 790 | (T 791 | <>)>> 792 | 793 | 807 | 808 | 810 | T> 811 | 812 | )) 813 | 814 | 815 | 816 | ) 817 | (T 818 | )> 819 | 820 | T) 821 | (T 822 | <>)>> 823 | 824 | 826 | 827 | > 828 | T) 829 | (T 830 | <>)>> 831 | 832 | 837 | 838 | )) 839 | 840 | 841 | T) 842 | (T 843 | <>)>> 844 | 845 | 850 | 851 | )) 852 | 853 | 854 | T) 855 | (T 856 | <>)>> 857 | 858 | 859 | "*** STEWARDESS ***" 860 | 861 | 868 | 869 | 870 | 871 | )) 872 | 873 | 875 | T) 876 | ( 877 | 878 | 879 | ) 880 | ( 881 | 882 | 883 | ) 884 | ( 885 | 886 | )>) 887 | ( 888 | 889 | 890 | ) 891 | ( 892 | 893 | )>)> 894 | 895 | ,FATAL-VALUE) 896 | ( 897 | <>) 898 | ( 899 | 900 | 901 | T) 902 | (T 903 | <>)>) 904 | ( 905 | <>) 906 | ( 907 | 908 | T) 909 | ( 910 | 911 | T) 912 | ( 913 | 914 | T) 915 | (T 916 | <>)>> 917 | 918 | )) 919 | 920 | )> 921 | 922 | 923 | T) 924 | ( 925 | 926 | 927 | )> 928 | 929 | > 930 | 931 | ) 932 | (T 933 | )> 934 | 935 | 937 | T) 938 | (> 939 | 940 | 941 | ) 942 | (T 943 | )> 944 | 945 | 947 | T) 948 | (T 949 | 950 | 951 | ) 952 | (T 953 | )> 954 | 955 | 956 | 957 | 958 | ) 959 | (T 960 | )> 961 | 962 | )>) 963 | (T 964 | )> 966 | T> 967 | 968 | > 971 | 972 | )) 973 | 974 | )> 975 | 976 | ) 977 | ( 978 | ) 980 | (T 981 | )> 983 | T> 984 | 985 | )) 986 | 987 | )> 988 | 989 | ) 991 | (T 992 | )> 994 | T> 995 | 996 | "*** PURSER ***" 997 | 998 | 1005 | 1006 | )) 1007 | 1008 | 1009 | T) 1010 | ( 1011 | <>) 1012 | ( 1013 | 1014 | 1016 | T) 1017 | (T 1018 | <>)>) 1019 | ( 1021 | 1022 | 1023 | ,FATAL-VALUE) 1024 | ( 1025 | 1026 | T) 1027 | (T 1028 | <>)>> 1029 | --------------------------------------------------------------------------------