; TRS80 Color Computer Pyramid 2000 ; Disassembled by Chris Cantrell 2007 ;##$CPU 6809 ;##$OriginalBinary pyramid.bin ;##- ;##Menu 3 "General Code" ;##MenuLink Start "START" ;##MenuLink MainLoop "Main loop" ;##MenuLink GetObjectInfo "Get info on object" ;##MenuLink MoveObject "Move an object" ;##MenuLink ProcessRoomScript "Process current room's script" ;##MenuLink GetInputAndParse "Get user input and parse" ;##MenuLink PrintPackedMessage "Uncompress a string and print" ;##MenuLink PrintUnpackedMessage "Print a string" ;##MenuLink MorePrompt "Hanlde -MORE- prompt" ;##MenuLink ReadKey "Read a key" ;##MenuLink PrintCharacterAutoWrap "Print character with auto-wrap" ;##MenuLink PromptAndReadLine "Prompt and read a line" ;##MenuLink TableOffsets "Table offset routines" ;##MenuLink AfterEveryStep "After every step" ;##MenuLink PrintRoomDescription "Print room description" ;##MenuLink PrintObjectsInRoom "Print objects in room" ;##MenuLink PrintScore "Print score" ;##MenuLink UnpackMessage "Uncompress string routine" ;##- ;##Menu 3 "Script commands" ;##MenuLink ScriptCommands "Script commands table" ;##MenuLink GameFunction_1 "MoveToRoomN" ;##MenuLink GameFunction_2 "AssertObjectNIsInPack" ;##MenuLink GameFunction_3 "AssertObjectNIsInCurrentRoomOrPack" ;##MenuLink GameFunction_4 "PrintMessageNN" ;##MenuLink GameFunction_5_9 "PrintScoreAndStop" ;##MenuLink GameFunction_7 "SubScriptRev" ;##MenuLink GameFunction_8 "PrintScore" ;##MenuLink GameFunction_10 "AssertRandomIsGreaterThanN" ;##MenuLink GameFunction_11 "DropObjectN" ;##MenuLink GameFunction_12 "MoveToRoomNIfItWasLastRoom" ;##MenuLink GameFunction_13 "AssertPackIsEmptyExceptForEmerald" ;##MenuLink GameFunction_14 "MoveToLastRoom" ;##MenuLink GameFunction_15 "PrintInventory" ;##MenuLink GameFunction_16 "PrintRoomDescription" ;##MenuLink GameFunction_17 "AssertObjectNMatchesUserInput" ;##MenuLink GameFunction_18 "GetObjectFromRoom" ;##MenuLink GameFunction_20 "PrintOK" ;##MenuLink GameFunction_21 "UnmorphObjectNToRoomP" ;##MenuLink GameFunction_22 "GetUserInputObject" ;##MenuLink GameFunction_23 "DropUserInputObject" ;##MenuLink GameFunction_24 "MoveObjectNToCurrentRoom" ;##MenuLink GameFunction_25 "MorphObjectNIntoP" ;##MenuLink GameFunction_26 "AssertObjectNIsInCurrentRoom" ;##MenuLink GameFunction_27 "LoadGame" ;##MenuLink GameFunction_28 "SaveGame" ;##MenuLink GameFunction_29 "JumpToTopOfGameLoop" ;##- ;##Menu 2 "Scripts" ;##MenuLink GeneralCommandHandler "Common script for all rooms" ;##MenuLink RoomScripts "Scripts for individual rooms" ;##MenuLink ErrorMessages "Error messages" ;##MenuLink CompressedStrings "Compressed message strings" ;##- ;##Menu 3 "Game Data Structures" ;##MenuLink RoomTable "Room description/script" ;##MenuLink AmbientLightTable "Ambient light in room" ;##MenuLink ObjectData "Object types and locations" ;##MenuLink ObjectDescriptions "Descriptions of objects" ;##MenuLink #GameVariables "Misc. game data" ;##MenuLink WordTable "List of recognized words" ;##MenuLink Unused "Unused data on end of program" ;##- ;##Start ; Loaded from cassette at 0x600 (right after text screen memory). ; Executed at 0x0600. ; ; Binary size is 14625 bytes. ; 14625 + 0x600 = 16161 (223 bytes shy of 16K). ; ; The game uses 65 bytes of memory in low memory beginning at 0x01B0 for temporaries. ; These temporaries are NOT persisted in a SAVE. ; ; The game is loaded into RAM, and the game modifies data structures within the ; program's loaded space. Thus the data structures are initialized at loading. The ; game must be reloaded to start over. 0600: 10 CE 03 FF LDS #$03FF ; Stack 0604: 8E 01 B1 LDX #$01B1 ; Temporaries (not 1B0 ... interesting) 0607: C6 64 LDB #$64 ; 0x64 bytes 0609: 6F 80 CLR ,X+ ; clear ... 060B: 5A DECB ; ... the ... 060C: 26 FB BNE $609 ; ... temporaries 060E: 4F CLRA 060F: 8E 04 00 LDX #$0400 ; Start of screen 0612: CE 60 60 LDU #$6060 ; Space - Space 0615: EF 81 STU ,X++ ; Clear ... 0617: 4A DECA ; ... the ... 0618: 26 FB BNE $615 ; ... screen 061A: 8E 05 E0 LDX #$05E0 ; Cursor ... 061D: 9F 88 STX >$88 ; ... position 061F: 86 0D LDA #$0D ; Scroll ... 0621: B7 01 B0 STA $01B0 ; (01B0) ... count 0624: 8E 10 21 LDX #$1021 ; "WELCOME TO PYRAMID!!" 0627: BD 08 FC JSR $08FC ; Print message 062A: BD 09 37 JSR $0937 ; wait for key 062D: 86 01 LDA #$01 ; Starting ... 062F: B7 18 E5 STA $18E5 ; (18E5) ... room number 0632: BD 0B D2 JSR $0BD2 ; Print room description ;##MainLoop ; Main game loop ; 0635: 7F 01 E7 CLR $01E7 ; (01E7) Clear noun (object within reach) 0638: 7F 01 E8 CLR $01E8 ; (01E8) Clear verb (thorw, north, rub, etc) 063B: 7F 01 E9 CLR $01E9 ; Grammar type (verb, verb+nounInReach, verb+nounInPack) 063E: BD 06 F5 JSR $06F5 ; Get user input and parse 0641: B6 18 E5 LDA $18E5 ; (18E5) Current room 0644: 8E 11 2E LDX #$112E ; Room descriptors 0647: BD 06 85 JSR $0685 ; X = X + (A-1)*4 064A: 30 02 LEAX 2,X ; Command-script ... 064C: AE 84 LDX ,X ; ... to X 064E: BD 06 9D JSR $069D ; Process the command script for the room 0651: 26 0E BNE $661 ; The room handled it ... move on 0653: 8E 19 45 LDX #$1945 ; Generic command script 0656: BD 06 9D JSR $069D ; Process the input 0659: 26 06 BNE $661 ; It was handled ... move on 065B: 8E 33 87 LDX #$3387 ; "I DON'T KNOW HOW TO APPLY THAT WORD HERE." 065E: BD 08 D6 JSR $08D6 ; Print message 0661: BD 0A 51 JSR $0A51 ; Do this stuff after every step 0664: 20 CF BRA $635 ; Back to top of loop ;##GetObjectInfo ; GetObjectInfo ; ; Object number is in A ; Return object's location in B ; Return pointer to object's data in X ; Return Z as comparisson between object's location and $01BC ; ; Object data is two bytes. If 1st byte has bit 7 set, then the second byte ; is the new object's number. This allows one object to "morph" into another. ; 0666: 8E 18 8D LDX #$188D ; Object location table 0669: BD 06 7C JSR $067C ; A is location 066C: A6 80 LDA ,X+ ; Get object data 066E: E6 84 LDB ,X ; Get room (or morphed type) 0670: 85 80 BITA #$80 ; Has object been morphed? 0672: 1F 98 TFR B,A ; Room to A 0674: 26 F0 BNE $666 ; (0666) Yes ... lookup the new object 0676: 30 1F LEAX -1,X ; Point to start of object 0678: B1 01 BC CMPA $01BC ; Compare object's location to test location 067B: 39 RTS ; Done ;##TableOffsets ; Two and Four-byte table offsets ; X = X + (A-1)*2 ; 067C: 1F 89 TFR A,B ; A extended ... 067E: 4F CLRA ; .. to D 067F: 5A DECB ; Object table is 1 based 0680: 58 ASLB ; D = D ... 0681: 49 ROLA ; ... * 2 0682: 30 8B LEAX D,X ; Add D to X 0684: 39 RTS ; Done ; ; X = X + (A-1)*4 ; 0685: 1F 89 TFR A,B ; A extended ... 0687: 4F CLRA ; ... to D 0688: 5A DECB ; Room table is 1 based 0689: 58 ASLB ; D = D ... 068A: 49 ROLA ; ... * 2 068B: 58 ASLB ; D = D ... 068C: 49 ROLA ; ... * 2 068D: 30 8B LEAX D,X ; Add D to X 068F: 39 RTS ; Done ;##MoveObject ; MoveObject ; ; Move object to new location ; Object number is in B ; Location is in $01BC ; Return object pointer in X ; 0690: BD 06 66 JSR $0666 ; (0666) Find object 0693: 30 01 LEAX 1,X ; Object's room 0695: B6 01 BC LDA $01BC ; New value 0698: A7 84 STA ,X ; Move object to new location 069A: 30 1F LEAX -1,X ; Restore object pointer 069C: 39 RTS ; Done ;##ProcessRoomScript ; Find scripts to match verb word $01E8 and run script. First script to pass ; ends processing. An error condition usually continues the script process. ; A "successful" script stops the chain. ; ; X points to a list of choices for first-word tokens. This function ; locates the right list(s) if any and runs it/them. First matching script ; to pass returns with Z=0. Several scripts may match the word. If a list ; fails, the next are tried. Processing stops on the first passing matching ; script. ; ; Return with ; Z=1 ... no script found OR script(s) were found but any/all failed ; Z=0 ... script was found and every command passed ; ; Format of word/script description list: ; AA LL N0 N1 N2 ; First word AA and script comands (N) for AA. LL is size of command list. ; BB LL N0 N1 ; Second word BB and script commands (N) for BB. LL is size of command list. ; 00 ; End of list ; 069D: E6 84 LDB ,X ; Get command word 069F: 27 FB BEQ $69C ; End of list ... out (Z=0 no matching script) 06A1: F6 01 E8 LDB $01E8 ; (01E8) Action word 06A4: E1 80 CMPB ,X+ ; Is this the right list? 06A6: 27 05 BEQ $6AD ; Yes ... do action 06A8: E6 84 LDB ,X ; Get length 06AA: 3A ABX ; Skip this list 06AB: 20 F0 BRA $69D ; Keep trying lists 06AD: BD 06 B4 JSR $06B4 ; Run script (Z=0:all passed, Z=1:a command failed) 06B0: 26 EA BNE $69C ; If script finished OK then return Z=0 (every command passed) 06B2: 20 E9 BRA $69D ; Script failed ... try next word/script ; ; Process a script of commands ; Size Command0 Command1 Command2 ... ; In: X=start of script ; Out: X=one past end of script ; 06B4: 1F 13 TFR X,U ; Hold start of script 06B6: E6 84 LDB ,X ; Length of script 06B8: 3A ABX ; Turn into pointer 06B9: 34 10 PSHS X ; Save pointer to end-of-script position 06BB: 1F 31 TFR U,X ; Start of script back to X 06BD: 30 01 LEAX 1,X ; Skip over script length 06BF: A6 80 LDA ,X+ ; Get command number 06C1: 34 10 PSHS X ; Hold current script pointer 06C3: 8E 0A 17 LDX #$0A17 ; Jump table 06C6: BD 06 7C JSR $067C ; Offest 06C9: 6E 94 JMP [,X] ; Indirection here ... processing function word ; ; Return from all script commands come here. We either get FuncPassed in which we ; continue to the next (returning a Z=0 success when finished). Or we get ; a FuncFailed in which we abort the list and return Z=1. ; ; FuncPassed ; 06CB: 35 10 PULS X ; Script pointer 06CD: 35 20 PULS Y ; End-of-script position 06CF: 10 BF 01 BF STY $01BF ; Have we reached ... 06D3: BC 01 BF CMPX $01BF ; ... the end of current script? 06D6: 26 03 BNE $6DB ; No ... keep processing this script 06D8: 8A 01 ORA #$01 ; Z=0 (all script commands passed) 06DA: 39 RTS ; Done 06DB: 34 20 PSHS Y ; Put the end-of-script position back on the stack 06DD: 20 E0 BRA $6BF ; Next routine ; ; FuncFailed ; 06DF: 35 10 PULS X ; Script pointer 06E1: 35 10 PULS X ; End=of-script position 06E3: 4F CLRA ; Z=1 (a script command failed) 06E4: 39 RTS ; Done ;##GameFunction_7 ; =============================================== ; ; GAME FUNCTION 7 (*) Run sub-script and return reversed pass/fail logic. ; If a command in the sub-script fails then stop the sub-script and continue the parent script after the sub-script. ; If the sub-script passes then return a failed status thus aborting the parent script. ; ; SubScriptRev ; 06E5: 35 10 PULS X ; Script pointer 06E7: BD 06 B4 JSR $06B4 ; Run script (Z=0:all passed, Z=1:a command failed) 06EA: 34 10 PSHS X ; Script pointer back to stack 06EC: 27 DD BEQ $6CB ; (06CB) A command failed ... continue parent list 06EE: 35 10 PULS X ; Pop script pointer 06F0: 35 10 PULS X ; Pop end-of-script pointer 06F2: 8A 01 ORA #$01 ; Script passed ... abort parent list processing 06F4: 39 RTS ; Done ;##GetInputAndParse ; Get user input and parse ; 01E7 - verb ; 01E8 - object number (noun) ; 01E9 - gramar type ; 06F5: BD 09 B3 JSR $09B3 ; Fill input buffer 06F8: 86 0D LDA #$0D ; Rows left ... 06FA: B7 01 B0 STA $01B0 ; (01B0) ... until MORE 06FD: BD 07 C6 JSR $07C6 ; Parse the input string 0700: BE 01 B4 LDX $01B4 ; Pointer to noun word data 0703: F6 01 B2 LDB $01B2 ; Number of bytes in word data 0706: B6 01 E9 LDA $01E9 ; Word grammar 0709: 81 03 CMPA #$03 ; Value 3 means nothing in buffer 070B: 27 E8 BEQ $6F5 ; Nothing in buffer ... input again 070D: B6 01 E7 LDA $01E7 ; (01E7) Noun 0710: 26 29 BNE $73B ; We have a noun ... test it 0712: B6 01 E8 LDA $01E8 ; (01E8) Action word (throw, rub, get, etc) 0715: 26 15 BNE $72C ; There is a valid action word ... go handle it ; ; General error message ... didn't understand a thing 0717: F6 01 EA LDB $01EA ; Last general error message 071A: 5C INCB ; Point to next 071B: C4 03 ANDB #$03 ; Roll around over 4 messages 071D: F7 01 EA STB $01EA ; For next time 0720: 8E 0F 24 LDX #$0F24 ; Table of general error messages 0723: 58 ASLB ; Index to offset 0724: 3A ABX ; Point to error message 0725: AE 84 LDX ,X ; Get address of general error message 0727: BD 08 FC JSR $08FC ; Print the error 072A: 20 C9 BRA $6F5 ; Back for more ; 072C: B6 01 E9 LDA $01E9 ; Action word type 072F: 81 C0 CMPA #$C0 ; 11_000_000 means single word command 0731: 27 C1 BEQ $6F4 ; Done 0733: 8E 0F A2 LDX #$0FA2 ; "**verb** WHAT?" 0736: BD 08 FC JSR $08FC ; Print it (was expecting an object) 0739: 20 BA BRA $6F5 ; Try input again ; ; Validate noun 073B: BF 01 B4 STX $01B4 ; Save pointer to noun word data 073E: B6 01 B1 LDA $01B1 ; Was the last input an object and we asked for a verb? 0741: 26 6F BNE $7B2 ; Yes ... skip checking the noun (use what we have) 0743: 86 FF LDA #$FF ; Location: backpack 0745: B7 01 BC STA $01BC ; Parameter for GetObjectInfo compare 0748: A6 80 LDA ,X+ ; Get object number 074A: BF 01 B4 STX $01B4 ; Hold noun word data pointer 074D: 34 04 PSHS B ; Hold B 074F: BD 06 66 JSR $0666 ; (0666) Find object 0752: 35 04 PULS B ; Restore B 0754: 27 52 BEQ $7A8 ; Object is actually in pack ... go use it 0756: B6 01 E9 LDA $01E9 ; Grammar type 0759: 81 40 CMPA #$40 ; 01_000_000 means noun-in-pack 075B: 27 16 BEQ $773 ; Yes ... check pack 075D: BE 01 B4 LDX $01B4 ; Noun word pointer 0760: 30 1F LEAX -1,X ; Back up word pointer 0762: B6 18 E5 LDA $18E5 ; (18E5) Current room 0765: B7 01 BC STA $01BC ; Parameter to GetObjectInfo 0768: A6 84 LDA ,X ; Object number 076A: 34 04 PSHS B ; Hold B 076C: BD 06 66 JSR $0666 ; (0666) Find object 076F: 35 04 PULS B ; Restore B 0771: 27 35 BEQ $7A8 ; Yes ... object is in room. Use it. 0773: BE 01 B4 LDX $01B4 ; Restore word data pointer 0776: 5A DECB ; All objects of this name tried? 0777: 26 CA BNE $743 ; No ... keep looking for matching object ; ; Object not found error (either not in pack or not in room depending on grammar) 0779: B6 01 E9 LDA $01E9 ; Grammar type 077C: 81 40 CMPA #$40 ; 01_000_000 means noun-in-pack 077E: 26 05 BNE $785 ; Error ... can't find noun in room 0780: 8E 0F 3D LDX #$0F3D ; "YOU AREN'T CARRYING IT." (can't find noun in pack) 0783: 20 19 BRA $79E ; Print and back to try again ; 0785: 8E 0F 2C LDX #$0F2C ; " I SEE NO " 0788: BD 08 FC JSR $08FC ; Print it 078B: 86 01 LDA #$01 ; Replace '?' with ... 078D: B7 0F A0 STA $0FA0 ; ... no-CR terminator 0790: 8E 0F 78 LDX #$0F78 ; User typed object 0793: BD 08 FC JSR $08FC ; Print the object 0796: 86 3F LDA #$3F ; Restore the ... 0798: B7 0F A0 STA $0FA0 ; ... '?' at the end of the message 079B: 8E 0F 36 LDX #$0F36 ; " HERE." 079E: BD 08 FC JSR $08FC ; Print it 07A1: 4F CLRA ; Zero out ... 07A2: B7 01 E7 STA $01E7 ; (01E7) ... object 07A5: 7E 06 F5 JMP $06F5 ; Back to try input again ; ; Found object 07A8: BE 01 B4 LDX $01B4 ; Object data pointer 07AB: 30 1F LEAX -1,X ; Back up to start 07AD: A6 84 LDA ,X ; Get object number 07AF: B7 01 E7 STA $01E7 ; (01E7) Noun 07B2: B6 01 E8 LDA $01E8 ; (01E8) Verb 07B5: 27 01 BEQ $7B8 ; Noun but no verb ... prompt for the verb 07B7: 39 RTS ; Got verb and noun. Done ; 07B8: 8E 0F 55 LDX #$0F55 ; "WHAT DO YOU WANT ME TO DO WITH THE *****?" 07BB: BD 08 FC JSR $08FC ; Print message 07BE: 86 01 LDA #$01 ; We got the object .... 07C0: B7 01 B1 STA $01B1 ; ... will take just verb 07C3: 7E 06 F5 JMP $06F5 ; Get user input and parse ; ; Parse the input line 07C6: 8E 01 C6 LDX #$01C6 ; Start of input buffer 07C9: 7F 01 B3 CLR $01B3 ; Nothing in buffer to start with 07CC: 7F 01 E9 CLR $01E9 ; Grammar type 07CF: 10 8E 3C 40 LDY #$3C40 ; Word table 07D3: 10 BF 01 F0 STY $01F0 ; Hold pointer 07D7: A6 84 LDA ,X ; Next in input 07D9: 81 20 CMPA #$20 ; Skip ... 07DB: 26 04 BNE $7E1 ; ... over ... 07DD: 30 01 LEAX 1,X ; ... white ... 07DF: 20 F6 BRA $7D7 ; ... space 07E1: BF 01 F2 STX $01F2 ; Start of token 07E4: 4D TSTA ; End of buffer? 07E5: 10 27 00 A2 LBEQ $088B ; Yes ... done 07E9: 86 01 LDA #$01 ; Flag that something ... 07EB: B7 01 B3 STA $01B3 ; ... is in the buffer 07EE: 34 10 PSHS X ; Remember start of token 07F0: A6 A4 LDA ,Y ; From word table 07F2: 10 27 00 A0 LBEQ $0896 ; Word not found ... clear 1E8 and 1E7 and skip it 07F6: B7 01 F8 STA $01F8 ; Store word's data 07F9: 84 07 ANDA #$07 ; Lower 3 bits 07FB: B7 01 BA STA $01BA ; Token length 07FE: B7 01 F4 STA $01F4 ; Token length again 0801: F6 01 F8 LDB $01F8 ; Original byte 0804: C4 38 ANDB #$38 ; Middle 3 bits (bytes in token data) 0806: 57 ASRB ; Shifted ... 0807: 57 ASRB ; ... to ... 0808: 57 ASRB ; ... lower in B 0809: 10 BF 01 F0 STY $01F0 ; Current word pointer 080D: 31 21 LEAY 1,Y ; Next byte 080F: A6 A4 LDA ,Y ; Get character 0811: A1 84 CMPA ,X ; Matches? 0813: 26 65 BNE $87A ; Nope ... go to next 0815: 30 01 LEAX 1,X ; Next in input 0817: 31 21 LEAY 1,Y ; Next in token 0819: 7A 01 BA DEC $01BA ; All done? 081C: 26 F1 BNE $80F ; No ... check em all 081E: B6 01 F4 LDA $01F4 ; Token length 0821: 81 06 CMPA #$06 ; Token is 6 long and we matched all? 0823: 27 09 BEQ $82E ; Yes ... take it but skip any non checked at end 0825: A6 84 LDA ,X ; Next character from user 0827: 81 20 CMPA #$20 ; A space? 0829: 27 10 BEQ $83B ; Yes ... perfect match 082B: 4D TSTA ; End of user input? 082C: 26 53 BNE $881 ; No ... skip token data and try next token ; 082E: A6 84 LDA ,X ; Get character 0830: 81 20 CMPA #$20 ; A space? 0832: 27 07 BEQ $83B ; Yes ... found the end 0834: 4D TSTA ; End of buffer? 0835: 27 04 BEQ $83B ; Yes ... found the end 0837: 30 01 LEAX 1,X ; Skip the character 0839: 20 F3 BRA $82E ; Until space or end ; 083B: B6 01 F8 LDA $01F8 ; Original word data 083E: 84 C0 ANDA #$C0 ; Upper two bits 0840: 27 14 BEQ $856 ; Go handle object data 0842: B7 01 E9 STA $01E9 ; Save the grammar type 0845: A6 A4 LDA ,Y ; Word value ... 0847: B7 01 E8 STA $01E8 ; (01E8) ... is verb 084A: 34 10 PSHS X ; Hold pointer 084C: 8E 0F A2 LDX #$0FA2 ; Space for printing verb 084F: BD 08 B6 JSR $08B6 ; Copy it over 0852: 35 10 PULS X ; Restore 0854: 20 19 BRA $86F ; Continue with next token if there is a space next ; ; Word is an object 0856: A6 A4 LDA ,Y ; Get word data 0858: B7 01 E7 STA $01E7 ; (01E7) Store object number 085B: 10 BF 01 B4 STY $01B4 ; Store pointer to word data 085F: F7 01 B2 STB $01B2 ; Store size of object data (number of objects) 0862: 7F 01 B1 CLR $01B1 ; We no longer remember a past lone object 0865: 34 10 PSHS X ; Hold pointer 0867: 8E 0F 78 LDX #$0F78 ; "WHAT DO YOU WANT ME TO DO WITH THE ***** ?" 086A: BD 08 B6 JSR $08B6 ; Make the error message in case 086D: 35 10 PULS X ; Restore the pointer 086F: A6 84 LDA ,X ; Next in input buffer 0871: 81 20 CMPA #$20 ; A space means more to process 0873: 35 20 PULS Y ; Drop stacked word pointer 0875: 10 27 FF 56 LBEQ $07CF ; Parse next token 0879: 39 RTS ; Done ; ; Skip over current entry in token table 087A: 31 21 LEAY 1,Y ; Skip to ... 087C: 7A 01 BA DEC $01BA ; ... end of ... 087F: 26 F9 BNE $87A ; ... token text 0881: 31 21 LEAY 1,Y ; Skip to ... 0883: 5A DECB ; ... end of ... 0884: 26 FB BNE $881 ; ... token data 0886: 35 10 PULS X ; Restore pointer to start of input word 0888: 7E 07 D7 JMP $07D7 ; Keep trying ; 088B: B6 01 B3 LDA $01B3 ; Something in the buffer? 088E: 26 E9 BNE $879 ; Yes ... go handle it 0890: 86 03 LDA #$03 ; Grammar type 3 means ... 0892: B7 01 E9 STA $01E9 ; ... nothing in buffer 0895: 39 RTS ; Done ; Skip leading space in front of token and then skip to next token. ; If there is another token go back and decode. Otherwise return. 0896: 35 10 PULS X ; Restore pointer to token 0898: 7F 01 E8 CLR $01E8 ; (01E8) Clear action word 089B: 7F 01 E7 CLR $01E7 ; (01E7) Clear object number 089E: A6 84 LDA ,X ; Character from token 08A0: 81 20 CMPA #$20 ; Space? 08A2: 26 04 BNE $8A8 ; No ... we found the token 08A4: 30 01 LEAX 1,X ; Yes space. Skip ... 08A6: 20 F6 BRA $89E ; ... to start of token 08A8: A6 84 LDA ,X ; Character from token 08AA: 27 E9 BEQ $895 ; End of buffer ... done 08AC: 81 20 CMPA #$20 ; Space? 08AE: 10 27 FF 1D LBEQ $07CF ; Yes ... start decoding next token 08B2: 30 01 LEAX 1,X ; Skip character 08B4: 20 F2 BRA $8A8 ; Keep looking ; Copy input word to 40-byte destination buffer. Fill end of the buffer ; with '@' characters which are ignored by printer routine. 08B6: 1E 12 EXG X,Y ; Destination to Y 08B8: BE 01 F2 LDX $01F2 ; Current word in parse buffer 08BB: C6 28 LDB #$28 ; Max size 08BD: A6 84 LDA ,X ; Character from input word 08BF: 27 0D BEQ $8CE ; End of buffer ... end of word 08C1: 81 20 CMPA #$20 ; Space is end ... 08C3: 27 09 BEQ $8CE ; ... of word 08C5: A7 A0 STA ,Y+ ; Copy the input word ... 08C7: 30 01 LEAX 1,X ; ... to the destination 08C9: 5A DECB ; All room ... 08CA: C1 01 CMPB #$01 ; ... taken? 08CC: 26 EF BNE $8BD ; No ... keep going 08CE: 86 40 LDA #$40 ; '@' characters are ignored by printing 08D0: A7 A0 STA ,Y+ ; Fill out ... 08D2: 5A DECB ; ... rest of ... 08D3: 26 F9 BNE $8CE ; ... destination buffer 08D5: 39 RTS ; Done ;##PrintPackedMessage ; Unpack a message (or multiple packed messages) and print. ; X = pointer to message structure ; 08D6: A6 84 LDA ,X ; Get the length 08D8: 27 FB BEQ $8D5 ; None ... out 08DA: 30 01 LEAX 1,X ; Skip over length 08DC: 10 8E 01 C6 LDY #$01C6 ; Reuse input buffer 08E0: BD 10 66 JSR $1066 ; Unpack and print 08E3: E6 84 LDB ,X ; Get byte 08E5: 27 2C BEQ $913 ; 0 ... do CR 08E7: C1 01 CMPB #$01 ; 1 ... 08E9: 27 EA BEQ $8D5 ; ... no CR 08EB: 34 10 PSHS X ; Hold pointer 08ED: 1F 98 TFR B,A ; Character to A 08EF: BD 09 45 JSR $0945 ; Print character to screen 08F2: 35 10 PULS X ; Restore pointer 08F4: A6 80 LDA ,X+ ; Get next byte from unpacked 08F6: 81 0A CMPA #$0A ; Mark for another packing? 08F8: 27 DC BEQ $8D6 ; Yes ... start again 08FA: 20 E7 BRA $8E3 ; No ... continue this packing ;##PrintUnpackedMessage ; Print uncompressed message pointed to by X. ; '@' characters are ignored (allows for padding of added words) ; Terminated with 0 ... add a CR ; Terminated with 1 ... no CR ; 08FC: A6 84 LDA ,X ; Get byte 08FE: 27 13 BEQ $913 ; End with CR 0900: 81 01 CMPA #$01 ; Just stop printing ... 0902: 27 D1 BEQ $8D5 ; ... with no CR 0904: 81 40 CMPA #$40 ; Is it '@' 0906: 27 07 BEQ $90F ; Just ignore it 0908: 34 10 PSHS X ; Save X 090A: BD 09 45 JSR $0945 ; A to screen 090D: 35 10 PULS X ; Restore X 090F: 30 01 LEAX 1,X ; Next in message 0911: 20 E9 BRA $8FC ; Keep going ; ; Print a CR 0913: 86 0D LDA #$0D ; CR 0915: BD 09 45 JSR $0945 ; Print a CR 0918: 7A 01 B0 DEC $01B0 ; (01B0) Rows left before more 091B: 2B 01 BMI $91E ; Pause print out with MORE 091D: 39 RTS ; Done ;##MorePrompt ; Print MORE and wait for key ; 091E: 34 74 PSHS U,Y,X,B ; 0920: 86 0D LDA #$0D ; Reset MORE ... 0922: B7 01 B0 STA $01B0 ; (01B0) ... row count 0925: 8E 10 19 LDX #$1019 ; " MORE" message 0928: BD 08 FC JSR $08FC ; Print message 092B: BD 09 37 JSR $0937 ; Wait for user to press a key 092E: 9E 88 LDX >$88 ; Back pointer ... 0930: 30 19 LEAX -7,X ; ... up 7 over ... 0932: 9F 88 STX >$88 ; ... MORE prompt 0934: 35 74 PULS B,X,Y,U ; 0936: 39 RTS ; ;##ReadKey ; Read a key from keyboard ; Read key from player ; 0937: 34 20 PSHS Y ; Save Y 0939: 7C 01 EB INC $01EB ; (01EB) Counter 093C: AD 9F A0 00 JSR [$A000] ; Get a key 0940: 27 F7 BEQ $939 ; Keep going till we get one 0942: 35 20 PULS Y ; Restore 0944: 39 RTS ; Out ;##PrintCharacterAutoWrap ; Print character in A to screen. This handles auto word-wrapping and ; auto MORE prompting. ; 0945: F6 02 07 LDB $0207 ; (0207) Last printed character 0948: C1 20 CMPB #$20 ; Last printed a space? 094A: 26 16 BNE $962 ; No ... skip on 094C: 81 20 CMPA #$20 ; Printing a second space now? 094E: 27 5B BEQ $9AB ; Yes ... just skip it (More and out) 0950: 81 2E CMPA #$2E ; A '.' ? 0952: 27 08 BEQ $95C ; Yes. Ignore leading space. 0954: 81 3F CMPA #$3F ; A '?' ? 0956: 27 04 BEQ $95C ; Yes. Ignore leading space. 0958: 81 21 CMPA #$21 ; A '!' ? 095A: 26 06 BNE $962 ; No. Don't ignore space. ; 095C: DE 88 LDU >$88 ; Back screen ... 095E: 33 5F LEAU -1,U ; ... pointer up ... 0960: DF 88 STU >$88 ; ... over ignored space ; 0962: B7 02 07 STA $0207 ; (0207) Store last printed character 0965: AD 9F A0 02 JSR [$A002] ; Print A to screen 0969: 96 89 LDA >$89 ; LSB of screen position (we know MSB is a 4 or 5) 096B: 81 FE CMPA #$FE ; Have we reached the end of the screen? 096D: 25 3C BCS $9AB ; No ... handle any MORE and out 096F: DE 88 LDU >$88 ; Cursor position 0971: 33 C8 DF LEAU $-21,U ; Back up to end of current row (where it will be after CR) 0974: 86 0D LDA #$0D ; CR ... 0976: AD 9F A0 02 JSR [$A002] ; ... to screen 097A: 7A 01 B0 DEC $01B0 ; (01B0) Rows left until MORE is needed 097D: A6 C4 LDA ,U ; Find the ... 097F: 81 60 CMPA #$60 ; ... space before ... 0981: 27 04 BEQ $987 ; ... the last ... 0983: 33 5F LEAU -1,U ; ... word ... 0985: 20 F6 BRA $97D ; ... on the line ; 0987: 33 41 LEAU 1,U ; Now pointing to the last word on the line 0989: A6 C4 LDA ,U ; Get next character in buffer 098B: 81 60 CMPA #$60 ; Is it a space? 098D: 27 1C BEQ $9AB ; Yes ... all done 098F: C6 60 LDB #$60 ; Store a space ... 0991: E7 C4 STB ,U ; ... over this on screen 0993: 81 60 CMPA #$60 ; Make sure ... 0995: 25 02 BCS $999 ; ... upper ... 0997: 80 40 SUBA #$40 ; ... case 0999: B7 02 07 STA $0207 ; (0207) Store last printed character 099C: AD 9F A0 02 JSR [$A002] ; Print A to screen on new line 09A0: 20 E5 BRA $987 ; Move overhang to next line ; 09A2: 34 20 PSHS Y ; Send character ... 09A4: AD 9F A0 02 JSR [$A002] ; ... to ... 09A8: 35 20 PULS Y ; ... screen 09AA: 39 RTS ; Done ; 09AB: 7D 01 B0 TST $01B0 ; (01B0) Time for a MORE prompt? 09AE: 10 2B FF 6C LBMI $091E ; Yes ... do it and out 09B2: 39 RTS ; Done ;##PromptAndReadLine ; Fill input buffer at 1C6 with user input line 09B3: 86 3A LDA #$3A ; A ':' 09B5: BD 09 A2 JSR $09A2 ; Print character without processing 09B8: BD 0A 13 JSR $0A13 ; Print white-ish block 09BB: 8E 01 C6 LDX #$01C6 ; Input buffer 09BE: 7F 01 BA CLR $01BA ; Input buffer is empty 09C1: 34 34 PSHS Y,X,B ; Get ... 09C3: BD 09 37 JSR $0937 ; ... key from ... 09C6: 35 34 PULS B,X,Y ; ... player 09C8: 1F 89 TFR A,B ; Hold original key 09CA: 81 08 CMPA #$08 ; A backspace? 09CC: 27 2A BEQ $9F8 ; Yes ... handle backspace 09CE: A7 84 STA ,X ; Save the input to the buffer 09D0: BD 09 A2 JSR $09A2 ; Send the character to the screen 09D3: 81 0D CMPA #$0D ; Was it ENTER 09D5: 27 33 BEQ $A0A ; Yes ... store a 0 on end of buffer and clear cursor and DONE 09D7: 8D 3A BSR $A13 ; Set cursor to whiteish block 09D9: 7C 01 BA INC $01BA ; Increment character count 09DC: 30 01 LEAX 1,X ; Next in buffer pointer 09DE: 10 8E 01 E4 LDY #$01E4 ; Have ... 09E2: 10 BF 01 BF STY $01BF ; ... we ... 09E6: BC 01 BF CMPX $01BF ; ... reached end of buffer? 09E9: 25 D6 BCS $9C1 ; No ... keep taking keys 09EB: 8D 1F BSR $A0C ; End of buffer ... 09ED: 86 08 LDA #$08 ; ... pretend ... 09EF: 8D B1 BSR $9A2 ; ... it ... 09F1: BD 0A 13 JSR $0A13 ; ... is ... 09F4: 30 1F LEAX -1,X ; ... backspace 09F6: 20 C9 BRA $9C1 ; Take next key ; ; Backspace 09F8: 30 1F LEAX -1,X ; Back the buffer up one 09FA: 8C 01 C6 CMPX #$01C6 ; Already at the beginning? 09FD: 25 BC BCS $9BB ; Yes ... ignore the backspace 09FF: 8D 0B BSR $A0C ; Store space character to cursor 0A01: 86 08 LDA #$08 ; Send back-space ... 0A03: BD 09 A2 JSR $09A2 ; ... to screen 0A06: 8D 0B BSR $A13 ; Show white-ish block cursor 0A08: 20 B7 BRA $9C1 ; Loop back for next key ; 0A0A: 6F 84 CLR ,X ; New end of the input buffer 0A0C: 86 60 LDA #$60 ; Space character 0A0E: A7 9F 00 88 STA [$0088] ; Store to cursor 0A12: 39 RTS ; Done 0A13: 86 CF LDA #$CF ; White-ish block 0A15: 20 F7 BRA $A0E ; Store to cursor and done ;##ScriptCommands ; Script Command Table ; b = 2 bytes ... message address ; c = 1 byte ... object number ; d = 1 byte ... room number ; e = 2 bytes ... old object number and morphed object number ; f = 2 bytes ... morphed object number and new room number ; ; Address Number Bytes Type Name 0A17: 0B 05 ; 01 1 d MoveToRoomN 0A19: 0C 68 ; 02 1 c AssertObjectNIsInPack 0A1B: 0C 7E ; 03 1 c AssertObjectNIsInCurrentRoomOrPack 0A1D: 0D 10 ; 04 2 b PrintMessageNN 0A1F: 0F 18 ; 05 0 PrintScoreAndStop 0A21: 00 00 ; 06 - NULL POINTER 0A23: 06 E5 ; 07 1 * SubScriptRev 0A25: 0F 12 ; 08 0 PrintScore 0A27: 0F 18 ; 09 0 PrintScoreAndStop 0A29: 0C C6 ; 10 1 AssertRandomIsGreaterThanN 0A2B: 0D 1C ; 11 1 c DropObjectN 0A2D: 0C E0 ; 12 1 d MoveToRoomNIfItWasLastRoom 0A2F: 0C AB ; 13 0 AssertPackIsEmptyExceptForEmerald 0A31: 0D 33 ; 14 0 MoveToLastRoom 0A33: 0D 4D ; 15 0 PrintInventory 0A35: 0D 92 ; 16 0 PrintRoomDescription 0A37: 0D 98 ; 17 1 c AssertObjectNMatchesUserInput 0A39: 0D A6 ; 18 1 c GetObjectFromRoom 0A3B: 00 00 ; 19 - NULL POINTER 0A3D: 0D E8 ; 20 0 PrintOK 0A3F: 0D F1 ; 21 2 f UnmorphObjectNToRoomP 0A41: 0C F4 ; 22 0 GetUserInputObject 0A43: 0D E2 ; 23 0 DropUserInputObject 0A45: 0C 39 ; 24 1 c MoveObjectNToCurrentRoom 0A47: 0C 4B ; 25 2 e MorphObjectNIntoP 0A49: 0C 97 ; 26 1 c AssertObjectNIsInCurrentRoom 0A4B: 0E BB ; 27 0 LoadGame 0A4D: 0E 81 ; 28 0 SaveGame 0A4F: 0F 1D ; 29 0 JumpToTopOfGameLoop ;##AfterEveryStep ; This processing takes place after every user input. ; Increment the count on the lamp and the number of turns. ; Warn the player if the lamp is going dim and change the batteries automatically. ; 0A51: 86 0F LDA #$0F ; Lamp (lit version) 0A53: 8E 18 8D LDX #$188D ; Object table 0A56: BD 06 7C JSR $067C ; Get lamp's data 0A59: 30 01 LEAX 1,X ; Lamp's location 0A5B: A6 84 LDA ,X ; Get the location 0A5D: 27 54 BEQ $AB3 ; Hum ... it's nowhere ??? 0A5F: FC 18 E8 LDD $18E8 ; (18E8) Get time 0A62: C3 00 01 ADDD #$0001 ; Bump time ... 0A65: FD 18 E8 STD $18E8 ; (18E8) ... by one 0A68: 81 01 CMPA #$01 ; Has it been burning 256 turns? 0A6A: 26 47 BNE $AB3 ; No ... move on 0A6C: C1 22 CMPB #$22 ; Warn the player? 0A6E: 26 08 BNE $A78 ; No ... 0A70: 8E 38 5A LDX #$385A ; "Your lamp is getting dim. Better start wrap this up ..." 0A73: BD 08 D6 JSR $08D6 ; Print message 0A76: 20 7A BRA $AF2 ; Continue 0A78: C1 36 CMPB #$36 ; Really getting dim now? 0A7A: 26 37 BNE $AB3 ; No ... move on 0A7C: 86 0F LDA #$0F ; Find ... 0A7E: 8E 18 8D LDX #$188D ; ... lamp ... 0A81: BD 06 7C JSR $067C ; ... room ... 0A84: 30 01 LEAX 1,X ; ... number 0A86: E6 84 LDB ,X ; Get the number 0A88: F7 01 BA STB $01BA ; Hold it 0A8B: 6F 84 CLR ,X ; Room is now ... nowhere 0A8D: 8E 18 8D LDX #$188D ; Object data 0A90: 86 2C LDA #$2C ; Dead lamp 0A92: BD 06 7C JSR $067C ; Offset 0A95: F6 01 BA LDB $01BA ; Lamp's room number 0A98: 30 01 LEAX 1,X ; Dead lamp ... 0A9A: E7 84 STB ,X ; ... to pack 0A9C: 86 23 LDA #$23 ; Batteries 0A9E: C6 FF LDB #$FF ; Pack 0AA0: F7 01 BC STB $01BC ; For find 0AA3: BD 06 66 JSR $0666 ; (0666) Batteries in pack? 0AA6: 27 0B BEQ $AB3 ; Yes ... change them 0AA8: 8E 38 D8 LDX #$38D8 ; "Your lamp has run out of power." 0AAB: BD 08 D6 JSR $08D6 ; Print message 0AAE: BD 0B D2 JSR $0BD2 ; Print room description (it's dark) 0AB1: 20 3F BRA $AF2 ; Continue 0AB3: BE 18 E8 LDX $18E8 ; (18E8) Current lamp time 0AB6: 8C 01 2C CMPX #$012C ; Time to change batteries? 0AB9: 25 37 BCS $AF2 ; No ... keep going 0ABB: 86 FF LDA #$FF ; Pack 0ABD: B7 01 BC STA $01BC ; For find 0AC0: 86 23 LDA #$23 ; Batteries 0AC2: BD 06 66 JSR $0666 ; (0666) Do we have them? 0AC5: 26 2B BNE $AF2 ; No ... on 0AC7: 86 2C LDA #$2C ; Dead-lamp 0AC9: BD 06 66 JSR $0666 ; (0666) In pack? 0ACC: 26 24 BNE $AF2 ; No ... move on 0ACE: 30 01 LEAX 1,X ; Object room 0AD0: 6F 84 CLR ,X ; Get rid of dead-lamp 0AD2: 86 23 LDA #$23 ; Get ... 0AD4: 8E 18 8D LDX #$188D ; ... rid ... 0AD7: BD 06 7C JSR $067C ; ... of ... 0ADA: 30 01 LEAX 1,X ; ... the ... 0ADC: 6F 84 CLR ,X ; ... batteries 0ADE: 30 02 LEAX 2,X ; Put worn out batteries ... 0AE0: 86 FF LDA #$FF ; ... in ... 0AE2: A7 84 STA ,X ; ... backpack ... 0AE4: B7 01 BC STA $01BC ; For move 0AE7: 86 0F LDA #$0F ; Move lit-lamp ... 0AE9: BD 06 90 JSR $0690 ; ... back to pack 0AEC: 8E 39 1D LDX #$391D ; "I'm changing the batteries ..." 0AEF: BD 08 D6 JSR $08D6 ; Print message ; ; Bump the turn-counter in BCD format 0AF2: B6 18 E7 LDA $18E7 ; (18E7) Number of turns LSB 0AF5: 8B 01 ADDA #$01 ; Add one 0AF7: 19 DAA ; Adjust BCD after addition 0AF8: B7 18 E7 STA $18E7 ; (18E7) New LSB 0AFB: B6 18 E6 LDA $18E6 ; (18E6) Number of turns MSB 0AFE: 89 00 ADCA #$00 ; Add overflow from LSB 0B00: 19 DAA ; Adjust BCD after addition 0B01: B7 18 E6 STA $18E6 ; (18E6) New MSB 0B04: 39 RTS ; Done ;##GameFunction_1 ; =============================================== ; ; GAME FUNCTION 1 (1) Move to a new room. If there is light in the new or ; old room the move succeeds. ; ; If there is no light in the new room or the old room, then ; the player falls in a pit 1/3 of the time. ; ; If there is light in the room, the description is printed. ; ; If player has 3 treasures in pack the mummy moves them to the treasure room. ; ; MoveToRoomN ; 0B05: 35 10 PULS X ; Processing cursor 0B07: E6 80 LDB ,X+ ; Get room number 0B09: 34 10 PSHS X ; Update cursor 0B0B: F7 01 BB STB $01BB ; Remember value for later 0B0E: B6 18 E5 LDA $18E5 ; (18E5) Current room 0B11: B7 01 BC STA $01BC ; For find 0B14: 86 0F LDA #$0F ; Lamp (lit version) 0B16: BD 06 66 JSR $0666 ; (0666) Look for lamp in this room 0B19: 27 44 BEQ $B5F ; Found it ... there is light 0B1B: 86 FF LDA #$FF ; Backpack value 0B1D: B7 01 BC STA $01BC ; For find 0B20: 86 0F LDA #$0F ; Lamp (lit version) 0B22: BD 06 66 JSR $0666 ; (0666) Look for lamp in backpack 0B25: 27 38 BEQ $B5F ; Found it ... there is light 0B27: 8E 17 EB LDX #$17EB ; Ambient light table 0B2A: B6 18 E5 LDA $18E5 ; (18E5) Current room 0B2D: BD 06 7C JSR $067C ; * 2 0B30: A6 84 LDA ,X ; Get value from table 0B32: 84 40 ANDA #$40 ; Light in room? 0B34: 26 29 BNE $B5F ; Yes ... no lamp needed 0B36: B6 01 BB LDA $01BB ; New room number 0B39: B7 01 BC STA $01BC ; For find 0B3C: 8E 17 EB LDX #$17EB ; Ambient light table 0B3F: BD 06 7C JSR $067C ; * 2 0B42: A6 84 LDA ,X ; Get value 0B44: 84 40 ANDA #$40 ; Light in room? 0B46: 26 17 BNE $B5F ; Yes ... no lamp needed 0B48: 86 0F LDA #$0F ; Lamp (lit version) 0B4A: BD 06 66 JSR $0666 ; (0666) Get object's data 0B4D: 27 10 BEQ $B5F ; We found it ... go on 0B4F: B6 01 EB LDA $01EB ; (01EB) Rolling timer (a random number) 0B52: 81 67 CMPA #$67 ; 2/3rds chance of ... 0B54: 25 09 BCS $B5F ; ... making it without light 0B56: 8E 37 9A LDX #$379A ; "You fell into a pit and broke ..." 0B59: BD 08 D6 JSR $08D6 ; Print message 0B5C: 7E 0F 18 JMP $0F18 ; Endless loop ; 0B5F: B6 18 E5 LDA $18E5 ; (18E5) Current room ... 0B62: B7 18 EA STA $18EA ; (18EA) ... is now the last room 0B65: B6 01 BB LDA $01BB ; New ... 0B68: B7 18 E5 STA $18E5 ; (18E5) ... current room 0B6B: BD 0B D2 JSR $0BD2 ; Print room description 0B6E: 86 2A LDA #$2A ; Object number for "Chest" 0B70: 8E 18 8D LDX #$188D ; Look up the ... 0B73: BD 06 7C JSR $067C ; ... object 0B76: 30 01 LEAX 1,X ; Get ... 0B78: A6 84 LDA ,X ; ... object location 0B7A: 26 53 BNE $BCF ; Mummy already stole the treasure ... out 0B7C: 86 2C LDA #$2C ; Number of objects 0B7E: B7 01 BA STA $01BA ; Counter 0B81: 8E 18 8D LDX #$188D ; Object table 0B84: 5F CLRB ; Count 0B85: A6 80 LDA ,X+ ; Get object data 0B87: 84 20 ANDA #$20 ; Is this treasure? 0B89: 27 07 BEQ $B92 ; No ... skip this object 0B8B: A6 84 LDA ,X ; Is object ... 0B8D: 81 FF CMPA #$FF ; ... in pack? 0B8F: 26 01 BNE $B92 ; No skip 0B91: 5C INCB ; Increment the count 0B92: 30 01 LEAX 1,X ; Next object 0B94: 7A 01 BA DEC $01BA ; Do ... 0B97: 26 EC BNE $B85 ; ... all objects 0B99: C1 02 CMPB #$02 ; Got less than 3 treasures? 0B9B: 25 32 BCS $BCF ; Yes ... don't steal them yet 0B9D: 8E 18 8D LDX #$188D ; Object data 0BA0: 86 2C LDA #$2C ; 44 to do 0BA2: B7 01 BA STA $01BA ; Temporary counter 0BA5: A6 80 LDA ,X+ ; Get object data 0BA7: 84 20 ANDA #$20 ; Is this treasure? 0BA9: 27 0D BEQ $BB8 ; No ... skip it 0BAB: A6 84 LDA ,X ; Object location 0BAD: 81 FF CMPA #$FF ; In pack? 0BAF: 26 07 BNE $BB8 ; No ... skip it 0BB1: 86 35 LDA #$35 ; Treasure room in the maze 0BB3: A7 84 STA ,X ; Move treasure there 0BB5: 7A 18 EB DEC $18EB ; (18EB) Minus one object in pack 0BB8: 30 01 LEAX 1,X ; Next object 0BBA: 7A 01 BA DEC $01BA ; All done? 0BBD: 26 E6 BNE $BA5 ; No ... go back 0BBF: 86 35 LDA #$35 ; Move ... 0BC1: B7 01 BC STA $01BC ; ... object ... 0BC4: 86 2A LDA #$2A ; ... to ... 0BC6: BD 06 90 JSR $0690 ; (0690) ... treasure room ... AGAIN !!! 0BC9: 8E 39 D6 LDX #$39D6 ; "Mummy steals your treasure ..." 0BCC: BD 08 D6 JSR $08D6 ; Print message 0BCF: 7E 06 CB JMP $06CB ; (06CB) OK ; ;##PrintRoomDescription ; Print room description 0BD2: B6 18 E5 LDA $18E5 ; (18E5) Current room 0BD5: 8E 17 EB LDX #$17EB ; Ambient light table 0BD8: BD 06 7C JSR $067C ; X = X + A*2 0BDB: A6 84 LDA ,X ; Get value 0BDD: 84 40 ANDA #$40 ; Is there light? 0BDF: 26 20 BNE $C01 ; Yes ... print description 0BE1: B6 18 E5 LDA $18E5 ; (18E5) Current room 0BE4: B7 01 BC STA $01BC ; For find routine 0BE7: 86 0F LDA #$0F ; Lamp (lit version) 0BE9: BD 06 66 JSR $0666 ; (0666) Is lamp in room? 0BEC: 27 13 BEQ $C01 ; Yes ... print description 0BEE: 86 FF LDA #$FF ; Pack value 0BF0: B7 01 BC STA $01BC ; For find routine 0BF3: 86 0F LDA #$0F ; Lamp (lit version) 0BF5: BD 06 66 JSR $0666 ; (0666) Is it in pack? 0BF8: 27 07 BEQ $C01 ; Yes ... print room contents 0BFA: 8E 38 0C LDX #$380C ; "It is now pitch black ..." 0BFD: BD 08 D6 JSR $08D6 ; Print message 0C00: 39 RTS ; Done ; ;##PrintObjectsInRoom ; Print object descriptions 0C01: B6 18 E5 LDA $18E5 ; (18E5) Current room 0C04: 8E 11 2E LDX #$112E ; Room structures 0C07: BD 06 85 JSR $0685 ; X = X + A * 4 0C0A: AE 84 LDX ,X ; Get description text 0C0C: BD 08 D6 JSR $08D6 ; Unpack and print message 0C0F: 5F CLRB ; Start with ... 0C10: 5C INCB ; ... object 1 0C11: B6 18 E5 LDA $18E5 ; (18E5) Current room 0C14: B7 01 BC STA $01BC ; For find routine 0C17: C1 2C CMPB #$2C ; Done all objects? 0C19: 24 E5 BCC $C00 ; Yes ... out 0C1B: 34 04 PSHS B ; Remember count 0C1D: 1F 98 TFR B,A ; Object number 0C1F: BD 06 66 JSR $0666 ; (0666) Get object location 0C22: 35 04 PULS B ; Restore count 0C24: 26 EA BNE $C10 ; Not current room, go on 0C26: 1F 98 TFR B,A ; Into position 0C28: 34 04 PSHS B ; Hold current object 0C2A: 8E 18 ED LDX #$18ED ; Object number to object description table 0C2D: BD 06 7C JSR $067C ; Offset 0C30: AE 84 LDX ,X ; Get the object description 0C32: BD 08 D6 JSR $08D6 ; Print the object description 0C35: 35 04 PULS B ; Restore count 0C37: 20 D7 BRA $C10 ; Do all objects ;##GameFunction_24 ; =============================================== ; ; GAME FUNCTION 24 (1) Move object N to current room. ; ;##MoveObjectNToCurrentRoom ; 0C39: 35 10 PULS X ; Current action 0C3B: B6 18 E5 LDA $18E5 ; (18E5) Current room 0C3E: B7 01 BC STA $01BC ; For find 0C41: A6 80 LDA ,X+ ; Value 0C43: 34 10 PSHS X ; New action cursor 0C45: BD 06 90 JSR $0690 ; (0690) Move object to new location 0C48: 7E 06 CB JMP $06CB ; (06CB) Continue processing ;##GameFunction_25 ; =============================================== ; ; GAME FUNCTION 25 (2) Morph object A into object B and print OK. ; ;##MorphObjectNIntoP ; 0C4B: 35 10 PULS X ; Get old object number and new object number 0C4D: EC 81 LDD ,X++ ; ... from cursor 0C4F: 34 10 PSHS X ; New cursor 0C51: F7 01 BB STB $01BB ; Hold this 0C54: 8E 18 8D LDX #$188D ; Object table 0C57: BD 06 7C JSR $067C ; * 2 0C5A: A6 84 LDA ,X ; Object data 0C5C: 8A 80 ORA #$80 ; Flag morph 0C5E: A7 80 STA ,X+ ; Change object 0C60: F6 01 BB LDB $01BB ; Morph-to number 0C63: E7 84 STB ,X ; Change object's type 0C65: 7E 0D E8 JMP $0DE8 ; Print "OK" and pass. ;##GameFunction_2 ; =============================================== ; ; GAME FUNCTION 2 (1) Make sure object is in pack ; ;##AssertObjectNIsInPack ; 0C68: 35 10 PULS X ; Action cursor 0C6A: A6 80 LDA ,X+ ; Get value 0C6C: 34 10 PSHS X ; Update cursor 0C6E: C6 FF LDB #$FF ; Backpack value 0C70: F7 01 BC STB $01BC ; For find 0C73: BD 06 66 JSR $0666 ; (0666) Get object 0C76: 27 03 BEQ $C7B ; Got it 0C78: 7E 06 DF JMP $06DF ; (06DF) Invalid 0C7B: 7E 06 CB JMP $06CB ; (06CB) Valid ;##GameFunction_3 ; =============================================== ; ; GAME FUNCTION 3 (1) Make sure object is in room or pack ; ;##AssertObjectNIsInCurrentRoomOrPack ; 0C7E: 35 10 PULS X ; Action cursor 0C80: A6 80 LDA ,X+ ; Get target object 0C82: 34 10 PSHS X ; Update cursor 0C84: B7 01 BB STA $01BB ; Hold this 0C87: F6 18 E5 LDB $18E5 ; (18E5) Current room 0C8A: F7 01 BC STB $01BC ; For find 0C8D: BD 06 66 JSR $0666 ; (0666) Check for object in room 0C90: 27 E9 BEQ $C7B ; Found it 0C92: B6 01 BB LDA $01BB ; Try ... 0C95: 20 D7 BRA $C6E ; ... backpack ;##GameFunction_26 ; =============================================== ; ; GAME FUNCTION 26 (1) Make sure object N is in room ; ;##AssertObjectNIsInCurrentRoom ; 0C97: 35 10 PULS X ; Action cursor 0C99: B6 18 E5 LDA $18E5 ; (18E5) Current room 0C9C: B7 01 BC STA $01BC ; For find routine 0C9F: A6 80 LDA ,X+ ; Get object 0CA1: 34 10 PSHS X ; Update cursor 0CA3: BD 06 66 JSR $0666 ; (0666) Check for object in room 0CA6: 27 D3 BEQ $C7B ; OK ... it's here 0CA8: 7E 06 DF JMP $06DF ; (06DF) Invalid ;##GameFunction_13 ; =============================================== ; ; GAME FUNCTION 13 (0) Make sure pack is empty (except for the emerald) ; ;##AssertPackIsEmptyExceptForEmerald ; 0CAB: 8E 18 8D LDX #$188D ; Object data 0CAE: C6 01 LDB #$01 ; First object 0CB0: 30 01 LEAX 1,X ; Point to room location 0CB2: C1 1F CMPB #$1F ; This is the "emerald" object 0CB4: 27 06 BEQ $CBC ; Don't check that object 0CB6: A6 84 LDA ,X ; Get location 0CB8: 81 FF CMPA #$FF ; In backpack? 0CBA: 27 EC BEQ $CA8 ; Yes ... fail 0CBC: 30 01 LEAX 1,X ; Next object pointer 0CBE: 5C INCB ; Next object 0CBF: C1 2D CMPB #$2D ; Done them all? 0CC1: 26 ED BNE $CB0 ; No ... go back 0CC3: 7E 06 CB JMP $06CB ; (06CB) ;##GameFunction_10 ; =============================================== ; ; GAME FUNCTION 10 (1) Assert that random count is greater than N. ; Print "You have crawled" if pass. ; ;##AssertRandomIsGreaterThanN ; 0CC6: 35 10 PULS X ; Cursor 0CC8: E6 80 LDB ,X+ ; Comparrison threshold 0CCA: 34 10 PSHS X ; Update cursor 0CCC: F1 01 EB CMPB $01EB ; (01EB) Random number 0CCF: 23 03 BLS $CD4 ; Crossed threshold ... success! 0CD1: 7E 06 DF JMP $06DF ; (06DF) Didn't cross threshold ... failure! 0CD4: 8E 31 AC LDX #$31AC ; "You have crawled around in some little holes ..." 0CD7: BD 08 D6 JSR $08D6 ; Print message 0CDA: BD 0B D2 JSR $0BD2 ; Print room description 0CDD: 7E 06 CB JMP $06CB ; (06CB) OK ;##GameFunction_12 ; =============================================== ; ; GAME FUNCTION 12 (1) Move to room N if last room is room N ; ;##MoveToRoomNIfItWasLastRoom ; 0CE0: 35 10 PULS X ; Get cursor 0CE2: E6 80 LDB ,X+ ; Target room 0CE4: 34 10 PSHS X ; Update cursor 0CE6: F1 18 EA CMPB $18EA ; (18EA) Did we just come from there? 0CE9: 26 E6 BNE $CD1 ; No ... fail 0CEB: 35 10 PULS X ; Cursor 0CED: 30 1F LEAX -1,X ; Back it .. 0CEF: 34 10 PSHS X ; ... up 0CF1: 7E 0B 05 JMP $0B05 ; Move to room N ;##GameFunction_22 ; =============================================== ; ; GAME FUNCTION 22 (0) Get user input object if not in pack ; The function passes even if already in pack ; ;##GetUserInputObject ; 0CF4: 86 FF LDA #$FF ; Pack value 0CF6: B7 01 BC STA $01BC ; For find 0CF9: B6 01 E7 LDA $01E7 ; (01E7) Object from input (noun) 0CFC: BD 06 66 JSR $0666 ; (0666) Is it already in our pack? 0CFF: 26 09 BNE $D0A ; Not in our pack ... pick it up 0D01: 8E 34 0B LDX #$340B ; "You are already carying it" 0D04: BD 08 D6 JSR $08D6 ; Print message 0D07: 7E 06 CB JMP $06CB ; (06CB) Passed 0D0A: F6 01 E7 LDB $01E7 ; (01E7) Requested object 0D0D: 7E 0D AC JMP $0DAC ; Pick up object ;##GameFunction_4 ; =============================================== ; ; GAME FUNCTION 4 (2) Print message ; ;##PrintMessageNN ; 0D10: 35 20 PULS Y ; Get cursor 0D12: AE A1 LDX ,Y++ ; Get address of message 0D14: 34 20 PSHS Y ; Update cursor 0D16: BD 08 D6 JSR $08D6 ; Print message 0D19: 7E 06 CB JMP $06CB ; (06CB) Pass ;##GameFunction_11 ; =============================================== ; ; GAME FUNCTION 11 (1) Drop object N FN_DropObject ; ;##DropObjectN ; 0D1C: 35 10 PULS X ; Get object ... 0D1E: E6 80 LDB ,X+ ; ... from cursor 0D20: 34 10 PSHS X ; Restore cursor 0D22: 7A 18 EB DEC $18EB ; (18EB) No longer in our pack 0D25: B6 18 E5 LDA $18E5 ; (18E5) Where the object is going 0D28: B7 01 BC STA $01BC ; For the move 0D2B: 1F 98 TFR B,A ; FOr the move 0D2D: BD 06 90 JSR $0690 ; (0690) Drop object in current room 0D30: 7E 0D E8 JMP $0DE8 ; OK and out ;##GameFunction_14 ; =============================================== ; ; GAME FUNCTION 14 (0) Move to last room ; ;##MoveToLastRoom ; 0D33: F6 18 EA LDB $18EA ; (18EA) Last room number 0D36: 27 0C BEQ $D44 ; There was no last ... error message 0D38: F7 01 BB STB $01BB ; Hold this 0D3B: B6 18 E5 LDA $18E5 ; (18E5) Current room ... 0D3E: B7 18 EA STA $18EA ; (18EA) ... is now last-room-number 0D41: 7E 0B 65 JMP $0B65 ; MoveToRoom ... past the room-number-update 0D44: 8E 33 DE LDX #$33DE ; "I don't remember how you got here ..." 0D47: BD 08 D6 JSR $08D6 ; Print message 0D4A: 7E 06 CB JMP $06CB ; (06CB) Pass ;##GameFunction_15 ; =============================================== ; ; GAME FUNCTION 15 (0) Print inventory ; ;##PrintInventory ; 0D4D: B6 18 EB LDA $18EB ; (18EB) Do we even have anything? 0D50: 26 09 BNE $D5B ; Yes ... there is something 0D52: 8E 34 4F LDX #$344F ; "You're not carrying anything." 0D55: BD 08 D6 JSR $08D6 ; Print message 0D58: 7E 06 CB JMP $06CB ; (06CB) pass ; 0D5B: 8E 34 65 LDX #$3465 ; "You are currently holding the following:" 0D5E: BD 08 D6 JSR $08D6 ; Print message 0D61: 5F CLRB ; Starting before object 1 0D62: 86 FF LDA #$FF ; Pack value 0D64: B7 01 BC STA $01BC ; For find 0D67: 5C INCB ; Next object 0D68: 1F 98 TFR B,A ; To A 0D6A: 81 2D CMPA #$2D ; Have we checked every object? 0D6C: 24 DC BCC $D4A ; Yes ... out 0D6E: 34 04 PSHS B ; Hold it 0D70: BD 06 66 JSR $0666 ; (0666) Find the objet 0D73: 35 04 PULS B ; Restore it 0D75: 26 EB BNE $D62 ; Not in the backpack ... check the others 0D77: 1F 98 TFR B,A ; To A 0D79: 8E 18 ED LDX #$18ED ; Object descriptions 0D7C: 34 04 PSHS B ; Hold it 0D7E: BD 06 7C JSR $067C ; Offset to object description 0D81: 35 04 PULS B ; Restore 0D83: AE 84 LDX ,X ; Pointer to 1st in message pair 0D85: A6 80 LDA ,X+ ; Find second ... 0D87: 26 FC BNE $D85 ; ... message 0D89: 34 04 PSHS B ; Hold object number 0D8B: BD 08 D6 JSR $08D6 ; Print object description 0D8E: 35 04 PULS B ; Restore object number 0D90: 20 D0 BRA $D62 ; Do all objects ;##GameFunction_16 ; =============================================== ; ; GAME FUNCTION 16 (0) Print room description ; ;##PrintRoomDescription ; 0D92: BD 0B D2 JSR $0BD2 ; Print room description 0D95: 7E 06 CB JMP $06CB ; (06CB) ;##GameFunction_17 ; =============================================== ; ; GAME FUNCTION 17 (1) Make sure user input matches object N ; ;##AssertObjectNMatchesUserInput: ; 0D98: 35 10 PULS X ; Get the object ... 0D9A: E6 80 LDB ,X+ ; ... from the cursor 0D9C: 34 10 PSHS X ; Update cursor 0D9E: F1 01 E7 CMPB $01E7 ; (01E7) Same as user input? 0DA1: 27 F2 BEQ $D95 ; Yes ... pass 0DA3: 7E 06 DF JMP $06DF ; (06DF) Fail ;##GameFunction_18 ; =============================================== ; ; GAME FUNCTION 18 (1) Get object N from room ; Pack only holds 8 things. ; Some objects are flagged as "non pick-up-able" ; ;##GetObjectFromRoom ; 0DA6: 35 10 PULS X ; Get the object's description from the ... 0DA8: E6 80 LDB ,X+ ; ... cursor 0DAA: 34 10 PSHS X ; Update the cursor 0DAC: 1F 98 TFR B,A ; Needed here by GetObjectInfo 0DAE: F7 01 BB STB $01BB ; Need again in a moment 0DB1: BD 06 66 JSR $0666 ; (0666) Find the object 0DB4: A6 84 LDA ,X ; Object info 0DB6: 84 40 ANDA #$40 ; OK to pick up? 0DB8: 26 09 BNE $DC3 ; Yes ... keep going 0DBA: 8E 34 82 LDX #$3482 ; "Don't be rediculous." 0DBD: BD 08 D6 JSR $08D6 ; Print message 0DC0: 7E 06 CB JMP $06CB ; (06CB) Done 0DC3: B6 18 EB LDA $18EB ; (18EB) How many do we have? 0DC6: 81 08 CMPA #$08 ; Already got 8 things? 0DC8: 25 08 BCS $DD2 ; We got less ... go on and take it 0DCA: 8E 34 20 LDX #$3420 ; "You can't carry anything more." 0DCD: BD 08 D6 JSR $08D6 ; Print message 0DD0: 20 EE BRA $DC0 ; And out 0DD2: 7C 18 EB INC $18EB ; (18EB) Got another one 0DD5: 86 FF LDA #$FF ; Pack value 0DD7: B7 01 BC STA $01BC ; For function 0DDA: B6 01 BB LDA $01BB ; Object number 0DDD: BD 06 90 JSR $0690 ; (0690) Move object 0DE0: 20 06 BRA $DE8 ; Print "OK" and out ;##GameFunction_23 ; =============================================== ; ; GAME FUNCTION 23 (0) Drop user input object ; ;##DropUserInputObject ; 0DE2: F6 01 E7 LDB $01E7 ; (01E7) Value from user word 0DE5: 7E 0D 22 JMP $0D22 ; Drop object ;##GameFunction_20 ; =============================================== ; ; GAME FUNCTION 20 (0) Print OK ; ;##PrintOK ; 0DE8: 8E 33 DA LDX #$33DA ; "OK" 0DEB: BD 08 D6 JSR $08D6 ; Print message 0DEE: 7E 06 CB JMP $06CB ; (06CB) ;##GameFunction_21 ; =============================================== ; ; GAME FUNCTION 21 (2) FUNCTION Unmorph object ; ;##UnmorphObjectNToRoomP ; 0DF1: 35 10 PULS X ; Cursor 0DF3: EC 81 LDD ,X++ ; Get object number and room number 0DF5: 34 10 PSHS X ; Update cursor 0DF7: F7 01 BC STB $01BC ; Hold for a second 0DFA: 8E 18 8D LDX #$188D ; Object table 0DFD: BD 06 7C JSR $067C ; Offset 0E00: A6 84 LDA ,X ; Object data 0E02: 84 7F ANDA #$7F ; Trun off ... 0E04: A7 80 STA ,X+ ; ... morph bit 0E06: B6 01 BC LDA $01BC ; New location 0E09: A7 84 STA ,X ; Update object location 0E0B: 20 E1 BRA $DEE ; Pass ;##PrintScore ; Print score ; 0E0D: 7F 02 08 CLR $0208 ; Calculated score LSB 0E10: 7F 02 09 CLR $0209 ; Calculated score MSB 0E13: 8E 18 8D LDX #$188D ; Object data 0E16: C6 2C LDB #$2C ; Object ... 0E18: F7 01 BA STB $01BA ; ... count 0E1B: E6 80 LDB ,X+ ; Get object data 0E1D: C4 20 ANDB #$20 ; Is it a treasure object? 0E1F: 27 1E BEQ $E3F ; No ... skip 0E21: 86 20 LDA #$20 ; 20 points (BCD) ... 0E23: E6 84 LDB ,X ; ... if object ... 0E25: C1 02 CMPB #$02 ; ... is at ... 0E27: 27 06 BEQ $E2F ; ... pyramid entrance 0E29: C1 FF CMPB #$FF ; 5 points ... 0E2B: 26 12 BNE $E3F ; ... if object ... 0E2D: 86 05 LDA #$05 ; ... is in pack 0E2F: BB 02 08 ADDA $0208 ; Add to ... 0E32: 19 DAA ; ... BCD ... 0E33: B7 02 08 STA $0208 ; ... score 0E36: B6 02 09 LDA $0209 ; Extend ... 0E39: 89 00 ADCA #$00 ; ... overflow ... 0E3B: 19 DAA ; ... into ... 0E3C: B7 02 09 STA $0209 ; ... MSB 0E3F: 30 01 LEAX 1,X ; Next obect 0E41: 7A 01 BA DEC $01BA ; All tested? 0E44: 26 D5 BNE $E1B ; Keep testing 0E46: 86 20 LDA #$20 ; Space .. 0E48: B7 10 41 STA $1041 ; ... in message. 0E4B: 8E 10 42 LDX #$1042 ; Spot for score in message 0E4E: B6 02 09 LDA $0209 ; Calculated score MSB 0E51: BD 0E 6F JSR $0E6F ; Add 2 digits 0E54: B6 02 08 LDA $0208 ; Calculated score LSB 0E57: BD 0E 6F JSR $0E6F ; Add two digits 0E5A: 8E 10 5A LDX #$105A ; Spot for turn count in message 0E5D: B6 18 E6 LDA $18E6 ; (18E6) Store MSB ... 0E60: BD 0E 6F JSR $0E6F ; ... two digits in buffer 0E63: B6 18 E7 LDA $18E7 ; (18E7) Store LSB ... 0E66: BD 0E 6F JSR $0E6F ; ... two digits in buffer 0E69: 8E 10 36 LDX #$1036 ; "YOU SCORED **** OUT OF 0220, USING *** TURNS." 0E6C: 7E 08 FC JMP $08FC ; Print message and return ; ; Two digit BCD to ASCII 0E6F: 1F 89 TFR A,B ; Value to A 0E71: 47 ASRA ; First ... 0E72: 47 ASRA ; ... the ... 0E73: 47 ASRA ; ... upper ... 0E74: 47 ASRA ; Digit 0E75: BD 0E 7A JSR $0E7A ; Convert it 0E78: 1F 98 TFR B,A ; Original back ... do lower digit 0E7A: 84 0F ANDA #$0F ; Only lower 4 bits 0E7C: 8B 30 ADDA #$30 ; Convert to ASCII number 0E7E: A7 80 STA ,X+ ; Store character in buffer 0E80: 39 RTS ; Done ;##GameFunction_28 ; =============================================== ; ; GAME FUNCTION 28 (0) Save game ; ;##SaveGame ; 0E81: 8E 3C 27 LDX #$3C27 ; "Ready Cassette" 0E84: BD 08 D6 JSR $08D6 ; Print message 0E87: BD 09 37 JSR $0937 ; Get a key 0E8A: 81 08 CMPA #$08 ; Backspace ... 0E8C: 27 2A BEQ $EB8 ; ... abort 0E8E: 81 0D CMPA #$0D ; Wait ... 0E90: 26 F5 BNE $E87 ; ... for ENTER or BACKSPACE 0E92: AD 9F A0 0C JSR [$A00C] ; Turn on cassette and write leader 0E96: 86 01 LDA #$01 ; Block ... 0E98: 97 7C STA >$7C ; ... type 1 0E9A: 86 82 LDA #$82 ; Write ... 0E9C: 97 7D STA >$7D ; ... 0x82 bytes 0E9E: 8E 17 EB LDX #$17EB ; Start at ... 0EA1: 9F 7E STX >$7E ; ... transient data 0EA3: AD 9F A0 08 JSR [$A008] ; Write to tape 0EA7: 9F 7E STX >$7E ; Continue where we left off 0EA9: 86 01 LDA #$01 ; Block ... 0EAB: 97 7C STA >$7C ; ... type 1 0EAD: 86 82 LDA #$82 ; Write ... 0EAF: 97 7D STA >$7D ; ... 0x82 bytes 0EB1: AD 9F A0 08 JSR [$A008] ; Write to tape 0EB5: BD 0F 0C JSR $0F0C ; Turn motor off 0EB8: 7E 06 CB JMP $06CB ; (06CB) ;##GameFunction_27 ; =============================================== ; ; GAME FUNCTION 27 (0) Load game ; ;##LoadGame ; 0EBB: 8E 3C 27 LDX #$3C27 ; "Ready Cassette" 0EBE: BD 08 D6 JSR $08D6 ; Print message 0EC1: BD 09 37 JSR $0937 ; Wait on a key 0EC4: 81 08 CMPA #$08 ; Backspace ... 0EC6: 27 F0 BEQ $EB8 ; ... abort 0EC8: 81 0D CMPA #$0D ; Wait ... 0ECA: 26 F5 BNE $EC1 ; ... for enter or abort 0ECC: AD 9F A0 04 JSR [$A004] ; Start cassette and sync 0ED0: 8E 17 EB LDX #$17EB ; Start at ... 0ED3: 9F 7E STX >$7E ; ... transient data 0ED5: 86 01 LDA #$01 ; Block ... 0ED7: 97 7C STA >$7C ; ... type 1 0ED9: 86 82 LDA #$82 ; Read ... 0EDB: 97 7D STA >$7D ; ... 0x82 bytes 0EDD: AD 9F A0 06 JSR [$A006] ; Read from tape 0EE1: 26 1D BNE $F00 ; Error ... report and try again 0EE3: 9F 7E STX >$7E ; Keep going 0EE5: 86 01 LDA #$01 ; Block ... 0EE7: 97 7C STA >$7C ; ... type 1 0EE9: 86 82 LDA #$82 ; Read ... 0EEB: 97 7D STA >$7D ; ... 0x82 bytes 0EED: AD 9F A0 06 JSR [$A006] ; Read from tape 0EF1: 26 0D BNE $F00 ; Error ... report and try again 0EF3: BD 0F 0C JSR $0F0C ; Stop motor 0EF6: BD 0B D2 JSR $0BD2 ; Print room description 0EF9: 10 CE 03 FF LDS #$03FF ; Reset stack ... 0EFD: 7E 06 35 JMP $0635 ; ... and pickup at top of game loop 0F00: BD 0F 0C JSR $0F0C ; Turn motor off 0F03: 8E 3C 33 LDX #$3C33 ; "Checksum Error" 0F06: BD 08 D6 JSR $08D6 ; Print messagge 0F09: 7E 0E BB JMP $0EBB ; Try again 0F0C: 86 34 LDA #$34 ; Motor ... 0F0E: B7 FF 21 STA $FF21 ; ... off 0F11: 39 RTS ; ;##GameFunction_8 ; =============================================== ; ; GAME FUNCTION 8 (0) Print score ; ;##PrintScore ; 0F12: BD 0E 0D JSR $0E0D ; Print score 0F15: 7E 06 CB JMP $06CB ; (06CB) ;##GameFunction_5_9 ; =============================================== ; ; GAME FUNCTION 5,9 (0) Print score and endless loop ; ;##PrintScoreAndStop ; 0F18: BD 0E 0D JSR $0E0D ; Print score 0F1B: 20 FE BRA $F1B ; Endless loop ;##GameFunction_29 ; =============================================== ; ; GAME FUNCTION 29 (0) Stop current processing and go to top of game loop ; ;##JumpToTopOfGameLoop ; 0F1D: 10 CE 03 FF LDS #$03FF ; Forget where we came from ... 0F21: 7E 06 35 JMP $0635 ; ... and go back to top of game loop ;##ErrorMessages ; Error text ; Alternating messages 0F24: 0F CA ; Pointer to "WHAT?" 0F26: 0F D1 ; Pointer to "I DON'T KNOW THAT WORD." 0F28: 0F E9 ; Pointer to "I DON'T UNDERSTAND." 0F2A: 0F FD ; Pointer to "I DON'T KNOW WHAT YOU MEAN." ; "I SEE NO ",1 0F2C: 49 20 53 45 45 20 4E 4F 20 01 ; " HERE.",0 0F36: 20 48 45 52 45 2E 00 ; "YOUR AREN'T CARRYING IT.",0 0F3D: 59 4F 55 20 41 52 45 4E 27 54 20 43 41 52 52 59 49 4E 47 20 49 54 2E 00 ; "WHAT DO YOU WANT ME TO DO WITH THE " 0F55: 57 48 41 54 20 44 4F 20 59 4F 55 20 57 41 4E 54 20 4D 45 20 54 4F 20 44 4F 20 57 49 54 48 20 54 48 45 20 ; 40 byte buffer for unknown noun word 0F78: 00 00 00 00 00 00 00 00 7E FF 0F82: FF FF FF FF FF FF FF FF FF FF 0F8C: FF FF FF FF FF FF FF FF FF FF 0F96: FF FF FF FF FF FF FF FF FF FF ; "?" 0FA0: 3F 00 ; 40 byte buffer for unknown verb 0FA2: FF FF FF FF FF FF FF FF FF FF 0FAC: FF FF FF FF FF FF FF FF FF FF 0FB6: FF FF FF FF FF FF FF FF FF FF 0FC0: 00 00 00 00 00 00 00 00 00 00 ;" WHAT?",0 0FCA: 20 57 48 41 54 3F 00 ; "I DON'T KNOW THAT WORD.",0 0FD1: 49 20 44 4F 4E 27 54 20 4B 4E 4F 57 20 54 48 41 54 20 57 4F 52 44 2E 00 ; "I DON'T UNDERSTAND.",0 0FE9: 49 20 44 4F 4E 27 54 20 55 4E 44 45 52 53 54 41 4E 44 2E 00 ; "I DON'T KNOW WHAT YOU MEAN.",0 0FFD: 49 20 44 4F 4E 27 54 20 4B 4E 4F 57 20 57 48 41 54 20 59 4F 55 20 4D 45 41 4E 2E 00 ; " <MORE>",1 1019: 20 3C 4D 4F 52 45 3E 01 ; "WELCOME TO PYRAMID!!",0 1021: 57 45 4C 43 4F 4D 45 20 54 4F 20 50 59 52 41 4D 49 44 21 21 00 ; "YOU SCORED " 1036: 59 4F 55 20 53 43 4F 52 45 44 20 ; "***** OUT OF 0220, USING " 1041: 20 20 20 20 20 20 4F 55 54 20 4F 46 20 30 32 32 30 2C 20 55 53 49 4E 47 20 ; "**** TURNS.",0 105A: 20 20 20 20 20 54 55 52 4E 53 2E 00 ;##UnpackMessage ; Unpack message pointed to by X and print to screen. A = loop count (number of 2 bytes). ; Every 2 bytes holds 3 characters. Each character can be from 0 to 39. ; 40*40*40 = 64000 ... totally ingenious. ; 1066: B7 01 C1 STA $01C1 ; 1069: 86 01 LDA #$01 ; 106B: B7 01 C5 STA $01C5 ; 106E: 10 8E 02 04 LDY #$0204 ; 1072: C6 03 LDB #$03 ; 1074: F7 01 C2 STB $01C2 ; 1077: A6 80 LDA ,X+ ; Next in message 1079: B7 01 FE STA $01FE ; Save it 107C: A6 80 LDA ,X+ ; Next in message 107E: B7 01 FD STA $01FD ; Save it 1081: 31 23 LEAY 3,Y ; 1083: CE 00 28 LDU #$0028 ; Number of characters in map 1086: FF 01 C3 STU $01C3 ; 1089: 86 11 LDA #$11 ; 17 passes 108B: B7 02 03 STA $0203 ; 108E: 7F 01 FF CLR $01FF ; 1091: 7F 02 00 CLR $0200 ; 1094: 79 01 FE ROL $01FE ; 1097: 79 01 FD ROL $01FD ; 109A: 7A 02 03 DEC $0203 ; All 17 shifts done? (Doesn't change C) 109D: 27 39 BEQ $10D8 ; Yes ... print the extracted character 109F: 86 00 LDA #$00 ; Start with 0 (Doesn't change C) 10A1: 89 00 ADCA #$00 ; Add in carry from ROL 10A3: 78 02 00 ASL $0200 ; 10A6: 79 01 FF ROL $01FF ; 10A9: BB 02 00 ADDA $0200 ; 10AC: B0 01 C4 SUBA $01C4 ; 10AF: B7 02 02 STA $0202 ; 10B2: B6 01 FF LDA $01FF ; 10B5: B2 01 C3 SBCA $01C3 ; 10B8: B7 02 01 STA $0201 ; 10BB: 24 0B BCC $10C8 ; 10BD: FC 02 01 LDD $0201 ; 10C0: F3 01 C3 ADDD $01C3 ; 10C3: FD 01 FF STD $01FF ; 10C6: 20 06 BRA $10CE ; 10C8: FC 02 01 LDD $0201 ; 10CB: FD 01 FF STD $01FF ; ; Compliment C flag and continue 10CE: 25 04 BCS $10D4 ; 10D0: 1A 01 ORCC #$01 ; Clear carry ... 10D2: 20 C0 BRA $1094 ; ... and continue 10D4: 1C FE ANDCC #$FE ; Set carry ... 10D6: 20 BC BRA $1094 ; ... and continue ; Process the result of the division 10D8: FC 01 FF LDD $01FF ; Character (0 in MSB) 10DB: C3 11 06 ADDD #$1106 ; Offset into character map 10DE: 1F 03 TFR D,U ; Get character ... 10E0: A6 C4 LDA ,U ; ... from map 10E2: A7 A2 STA ,-Y ; Stuff into buffer 10E4: 7A 01 C2 DEC $01C2 ; Do all ... 10E7: 26 9A BNE $1083 ; ... three characters 10E9: 10 8E 02 04 LDY #$0204 ; Expansion buffer 10ED: C6 03 LDB #$03 ; 3 characters 10EF: A6 A0 LDA ,Y+ ; Get next byte 10F1: 34 04 PSHS B ; Save B 10F3: BD 09 45 JSR $0945 ; Print A to screen 10F6: 35 04 PULS B ; Restore B 10F8: 5A DECB ; All 3 done? 10F9: 26 F4 BNE $10EF ; Do all 3 10FB: 7A 01 C1 DEC $01C1 ; Do all loops 10FE: 10 26 FF 6C LBNE $106E ; Go back to top 1102: FC 01 BA LDD $01BA ; 1105: 39 RTS ; ; ; Character translation table ; ? ! 2 . " ' < > / 0 3 A B C D E 1106: 3F 21 32 20 22 27 3C 3E 2F 30 33 41 42 43 44 45 ; F G H I J K L M N O P Q R S T U 1116: 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 ; V W X Y Z - , . 1126: 56 57 58 59 5A 2D 2C 2E ;##RoomTable ; 4-byte room table ; First word is description ; Second word is command script for room ; ; 81 rooms ; Description Script 112E: 1B 66 12 72 ; 1 1132: 1B 9A 12 87 ; 2 1136: 1B DE 12 98 ; 3 113A: 1B DE 12 A9 ; 4 113E: 1B DE 12 BA ; 5 1142: 1B DE 12 CB ; 6 1146: 1B EF 12 DC ; 7 114A: 1C 67 12 ED ; 8 114E: 1C AC 12 FE ; 9 1152: 1D 00 13 0F ; 10 1156: 1D 23 13 24 ; 11 115A: 1D 9E 13 2D ; 12 115E: 1E 0A 13 43 ; 13 1162: 1E DC 13 6E ; 14 1166: 1F 1E 13 77 ; 15 116A: 1F 7A 13 B3 ; 16 116E: 1F AB 13 EE ; 17 1172: 1F C4 13 F7 ; 18 1176: 1F F3 14 36 ; 19 117A: 20 5D 14 4F ; 20 117E: 20 CB 14 64 ; 21 1182: 21 16 14 6D ; 22 1186: 21 42 14 7E ; 23 118A: 21 4A 14 87 ; 24 118E: 21 80 14 98 ; 25 1192: 21 BE 14 AD ; 26 1196: 22 16 14 BA ; 27 119A: 22 2E 14 C7 ; 28 119E: 22 2E 14 DC ; 29 11A2: 22 2E 14 ED ; 30 11A6: 22 2E 15 06 ; 31 11AA: 22 2E 15 0F ; 32 11AE: 22 2E 15 1C ; 33 11B2: 22 2E 15 2D ; 34 11B6: 22 2E 15 3E ; 35 11BA: 22 2E 15 57 ; 36 11BE: 22 2E 15 68 ; 37 11C2: 22 2E 15 71 ; 38 11C6: 22 2E 15 82 ; 39 11CA: 22 2E 15 8F ; 40 11CE: 22 2E 15 9C ; 41 11D2: 21 42 15 A9 ; 42 11D6: 21 42 15 AE ; 43 11DA: 21 42 15 B3 ; 44 11DE: 21 42 15 B8 ; 45 11E2: 21 42 15 BD ; 46 11E6: 21 42 15 C2 ; 47 11EA: 21 42 15 C7 ; 48 11EE: 21 42 15 CC ; 49 11F2: 21 42 15 D1 ; 50 11F6: 21 42 15 D6 ; 51 11FA: 22 50 15 E7 ; 52 11FE: 21 42 15 FC ; 53 1202: 22 AD 16 01 ; 54 1206: 23 06 16 0E ; 55 120A: 23 38 16 1B ; 56 120E: 23 7E 16 39 ; 57 1212: 23 D4 16 42 ; 58 1216: 24 5E 16 57 ; 59 121A: 24 EC 16 64 ; 60 121E: 25 1B 16 AC ; 61 1222: 25 C3 16 C7 ; 62 1226: 26 1D 16 D0 ; 63 122A: 26 43 16 D9 ; 64 122E: 26 65 16 E2 ; 65 1232: 26 C2 17 0B ; 66 1236: 00 00 00 00 ; 67 REMOVED 123A: 2A EE 17 E1 ; 68 123E: 00 00 00 00 ; 69 REMOVED 1242: 2A CD 17 D8 ; 70 1246: 2A 78 17 CB ; 71 124A: 27 54 17 14 ; 72 124E: 27 AD 17 1D ; 73 1252: 00 00 00 00 ; 74 REMOVED 1256: 00 00 00 00 ; 75 REMOVED 125A: 28 1F 17 2C ; 76 125E: 2A 12 17 B4 ; 77 1262: 28 68 17 41 ; 78 1266: 29 42 17 4E ; 79 126A: 29 6C 17 57 ; 80 126E: 29 BC 17 64 ; 81 ;##RoomScripts ; Room 1 ; "YOU ARE STANDING BEFORE THE ENTRANCE OF A PYRAMID. AROUND YOU IS A DESERT.[CR]" 1272: 01 03 ; N,NORTH 1274: 01 02 ; MoveToRoomN Room:2 1276: 02 03 ; E,EAST 1278: 01 03 ; MoveToRoomN Room:3 127A: 03 03 ; S,SOUTH 127C: 01 04 ; MoveToRoomN Room:4 127E: 04 03 ; W,WEST 1280: 01 05 ; MoveToRoomN Room:5 1282: 0B 03 ; IN,INSIDE 1284: 01 02 ; MoveToRoomN Room:2 1286: 00 ; Room 2 ; "YOU ARE IN THE ENTRANCE TO THE PYRAMID. A HOLE IN THE FLOOR LEADS TO A PASSAGE B ..." 1287: 03 03 ; S,SOUTH 1289: 01 01 ; MoveToRoomN Room:1 128B: 0A 03 ; D,DOWN 128D: 01 07 ; MoveToRoomN Room:7 128F: 0C 03 ; OUT,OUTSID 1291: 01 01 ; MoveToRoomN Room:1 1293: 12 03 ; PANEL 1295: 01 1A ; MoveToRoomN Room:26 1297: 00 ; Room 3 ; "YOU ARE IN THE DESERT.[CR]" 1298: 01 03 ; N,NORTH 129A: 01 06 ; MoveToRoomN Room:6 129C: 02 03 ; E,EAST 129E: 01 03 ; MoveToRoomN Room:3 12A0: 03 03 ; S,SOUTH 12A2: 01 04 ; MoveToRoomN Room:4 12A4: 04 03 ; W,WEST 12A6: 01 01 ; MoveToRoomN Room:1 12A8: 00 ; Room 4 ; "YOU ARE IN THE DESERT.[CR]" 12A9: 01 03 ; N,NORTH 12AB: 01 01 ; MoveToRoomN Room:1 12AD: 02 03 ; E,EAST 12AF: 01 03 ; MoveToRoomN Room:3 12B1: 03 03 ; S,SOUTH 12B3: 01 04 ; MoveToRoomN Room:4 12B5: 04 03 ; W,WEST 12B7: 01 05 ; MoveToRoomN Room:5 12B9: 00 ; Room 5 ; "YOU ARE IN THE DESERT.[CR]" 12BA: 01 03 ; N,NORTH 12BC: 01 06 ; MoveToRoomN Room:6 12BE: 02 03 ; E,EAST 12C0: 01 01 ; MoveToRoomN Room:1 12C2: 03 03 ; S,SOUTH 12C4: 01 04 ; MoveToRoomN Room:4 12C6: 04 03 ; W,WEST 12C8: 01 05 ; MoveToRoomN Room:5 12CA: 00 ; Room 6 ; "YOU ARE IN THE DESERT.[CR]" 12CB: 01 03 ; N,NORTH 12CD: 01 06 ; MoveToRoomN Room:6 12CF: 02 03 ; E,EAST 12D1: 01 03 ; MoveToRoomN Room:3 12D3: 03 03 ; S,SOUTH 12D5: 01 01 ; MoveToRoomN Room:1 12D7: 04 03 ; W,WEST 12D9: 01 05 ; MoveToRoomN Room:5 12DB: 00 ; Room 7 ; "YOU ARE IN A SMALL CHAMBER BENEATH A HOLE FROM THE SURFACE. A LOW CRAWL LEADS IN ..." 12DC: 09 03 ; U,UP 12DE: 01 02 ; MoveToRoomN Room:2 12E0: 0C 03 ; OUT,OUTSID 12E2: 01 02 ; MoveToRoomN Room:2 12E4: 04 03 ; W,WEST 12E6: 01 08 ; MoveToRoomN Room:8 12E8: 0B 03 ; IN,INSIDE 12EA: 01 08 ; MoveToRoomN Room:8 12EC: 00 ; Room 8 ; "YOU ARE CRAWLING OVER PEBBLES IN A LOW PASSAGE. THERE IS A DIM LIGHT AT THE EAST ..." 12ED: 02 03 ; E,EAST 12EF: 01 07 ; MoveToRoomN Room:7 12F1: 0C 03 ; OUT,OUTSID 12F3: 01 07 ; MoveToRoomN Room:7 12F5: 04 03 ; W,WEST 12F7: 01 09 ; MoveToRoomN Room:9 12F9: 0B 03 ; IN,INSIDE 12FB: 01 09 ; MoveToRoomN Room:9 12FD: 00 ; Room 9 ; "YOU ARE IN A ROOM FILLED WITH BROKEN POTTERY SHARDS OF ANCIENT EGYPTIAN CRAFTS. ..." 12FE: 02 03 ; E,EAST 1300: 01 08 ; MoveToRoomN Room:8 1302: 0B 03 ; IN,INSIDE 1304: 01 0A ; MoveToRoomN Room:10 1306: 09 03 ; U,UP 1308: 01 0A ; MoveToRoomN Room:10 130A: 04 03 ; W,WEST 130C: 01 0A ; MoveToRoomN Room:10 130E: 00 ; Room 10 ; "YOU ARE IN AN AWKWARD SLOPING EAST/WEST CORRIDOR.[CR]" 130F: 0A 03 ; D,DOWN 1311: 01 09 ; MoveToRoomN Room:9 1313: 02 03 ; E,EAST 1315: 01 09 ; MoveToRoomN Room:9 1317: 0B 03 ; IN,INSIDE 1319: 01 0B ; MoveToRoomN Room:11 131B: 04 03 ; W,WEST 131D: 01 0B ; MoveToRoomN Room:11 131F: 09 03 ; U,UP 1321: 01 0B ; MoveToRoomN Room:11 1323: 00 ; Room 11 ; "YOU ARE IN A SPLENDID CHAMBER THIRTY FEET HIGH. THE WALLS ARE FROZEN RIVERS OF O ..." 1324: 02 03 ; E,EAST 1326: 01 0A ; MoveToRoomN Room:10 1328: 04 03 ; W,WEST 132A: 01 0C ; MoveToRoomN Room:12 132C: 00 ; Room 12 ; "AT YOUR FEET IS A SMALL PIT BREATHING TRACES OF WHITE MIST. AN EAST PASSAGE ENDS ..." 132D: 02 03 ; E,EAST 132F: 01 0B ; MoveToRoomN Room:11 1331: 0A 0B ; D,DOWN 1333: 07 07 ; SubScriptRev 1335: 02 25 ; AssertObjectNIsInPack Object:"Gold Nugget" 1337: 04 30 8A ; PrintMessageNN "YOU ARE AT THE BOTTOM OF THE PIT WITH A BROKEN NECK.[CR]" 133A: 05 ; PrintScoreAndStop 133B: 01 0D ; MoveToRoomN Room:13 133D: 04 04 ; W,WEST 133F: 04 30 AF ; PrintMessageNN "THE CRACK IS FAR TOO SMALL FOR YOU TO FOLLOW.[CR]" 1342: 00 ; Room 13 ; "YOU ARE AT ONE END OF A VAST HALL STRETCHING FORWARD OUT OF SIGHT TO THE WEST. T ..." 1343: 03 03 ; S,SOUTH 1345: 01 0E ; MoveToRoomN Room:14 1347: 04 03 ; W,WEST 1349: 01 0F ; MoveToRoomN Room:15 134B: 0A 03 ; D,DOWN 134D: 01 10 ; MoveToRoomN Room:16 134F: 01 03 ; N,NORTH 1351: 01 10 ; MoveToRoomN Room:16 1353: 09 0A ; U,UP 1355: 07 06 ; SubScriptRev 1357: 02 25 ; AssertObjectNIsInPack Object:"Gold Nugget" 1359: 04 30 CF ; PrintMessageNN "THE DOME IS UNCLIMBABLE.[CR]" 135C: 01 0C ; MoveToRoomN Room:12 135E: 02 0A ; E,EAST 1360: 07 06 ; SubScriptRev 1362: 02 25 ; AssertObjectNIsInPack Object:"Gold Nugget" 1364: 04 30 CF ; PrintMessageNN "THE DOME IS UNCLIMBABLE.[CR]" 1367: 01 0C ; MoveToRoomN Room:12 1369: 20 03 ; ??UNKNOWN COMMAND?? 136B: 01 1A ; MoveToRoomN Room:26 136D: 00 ; Room 14 ; "THIS IS A LOW ROOM WITH A HIEROGLYPH ON THE WALL. IT TRANSLATES "YOU WON'T GET I ..." 136E: 0C 03 ; OUT,OUTSID 1370: 01 0D ; MoveToRoomN Room:13 1372: 01 03 ; N,NORTH 1374: 01 0D ; MoveToRoomN Room:13 1376: 00 ; Room 15 ; "YOU ARE ON THE EAST BANK OF A BOTTOMLESS PIT STRETCHING ACROSS THE HALL. THE MIS ..." 1377: 02 03 ; E,EAST 1379: 01 0D ; MoveToRoomN Room:13 137B: 10 0C ; JUMP 137D: 07 06 ; SubScriptRev 137F: 03 01 ; AssertObjectNIsInCurrentRoomOrPack Object:"Stone bridge room 15" 1381: 04 30 E1 ; PrintMessageNN "I RESPECTFULLY SUGGEST YOU GO ACROSS THE BRIDGE INSTEAD OF JUMPING.[CR]" 1384: 04 31 10 ; PrintMessageNN "YOU DIDN'T MAKE IT.[CR]" 1387: 05 ; PrintScoreAndStop 1388: 04 0A ; W,WEST 138A: 07 05 ; SubScriptRev 138C: 03 01 ; AssertObjectNIsInCurrentRoomOrPack Object:"Stone bridge room 15" 138E: 01 12 ; MoveToRoomN Room:18 1390: 04 31 1F ; PrintMessageNN "THERE IS NO WAY ACROSS THE BOTTOMLESS PIT.[CR]" 1393: 0D 05 ; CROSS 1395: 03 01 ; AssertObjectNIsInCurrentRoomOrPack Object:"Stone bridge room 15" 1397: 01 12 ; MoveToRoomN Room:18 1399: 23 18 ; WAVE,SHAKE,SWING 139B: 11 11 ; AssertObjectNMatchesUserInput Object:"Scepter" 139D: 07 0C ; SubScriptRev 139F: 03 01 ; AssertObjectNIsInCurrentRoomOrPack Object:"Stone bridge room 15" 13A1: 15 01 00 ; UnmorphObjectNToRoomP Object:"Stone bridge room 15" Room 0 13A4: 15 02 00 ; UnmorphObjectNToRoomP Object:"Stone bridge room 18" Room 0 13A7: 04 3A 5E ; PrintMessageNN "THE STONE BRIDGE HAS RETRACTED![CR]" 13AA: 18 01 ; MoveObjectNToCurrentRoom Object:"Stone bridge room 15" 13AC: 15 02 12 ; UnmorphObjectNToRoomP Object:"Stone bridge room 18" Room 18 13AF: 04 3A 75 ; PrintMessageNN "A STONE BRIDGE NOW SPANS THE BOTTOMLESS PIT.[CR]" 13B2: 00 ; Room 16 ; "YOU ARE IN THE PHARAOH'S CHAMBER, WITH PASSAGES OFF IN ALL DIRECTIONS.[CR]" 13B3: 09 03 ; U,UP 13B5: 01 0D ; MoveToRoomN Room:13 13B7: 02 03 ; E,EAST 13B9: 01 0D ; MoveToRoomN Room:13 13BB: 03 0A ; S,SOUTH 13BD: 07 06 ; SubScriptRev 13BF: 03 0B ; AssertObjectNIsInCurrentRoomOrPack Object:"Serpent bars the way" 13C1: 04 31 3D ; PrintMessageNN "YOU CAN'T GET BY THE SERPENT.[CR]" 13C4: 01 11 ; MoveToRoomN Room:17 13C6: 01 0A ; N,NORTH 13C8: 07 06 ; SubScriptRev 13CA: 03 0B ; AssertObjectNIsInCurrentRoomOrPack Object:"Serpent bars the way" 13CC: 04 31 3D ; PrintMessageNN "YOU CAN'T GET BY THE SERPENT.[CR]" 13CF: 01 19 ; MoveToRoomN Room:25 13D1: 04 0A ; W,WEST 13D3: 07 06 ; SubScriptRev 13D5: 03 0B ; AssertObjectNIsInCurrentRoomOrPack Object:"Serpent bars the way" 13D7: 04 31 3D ; PrintMessageNN "YOU CAN'T GET BY THE SERPENT.[CR]" 13DA: 01 18 ; MoveToRoomN Room:24 13DC: 26 10 ; THROW,TOSS 13DE: 11 14 ; AssertObjectNMatchesUserInput Object:"Statue in box" 13E0: 03 0B ; AssertObjectNIsInCurrentRoomOrPack Object:"Serpent bars the way" 13E2: 15 0B 00 ; UnmorphObjectNToRoomP Object:"Serpent bars the way" Room 0 13E5: 18 13 ; MoveObjectNToCurrentRoom Object:"Statue" 13E7: 15 14 00 ; UnmorphObjectNToRoomP Object:"Statue in box" Room 0 13EA: 04 3B 21 ; PrintMessageNN "THE BIRD STATUE COMES TO LIFE AND ATTACKS THE SERPENT AND IN AN ASTOUNDING FLURRY, DRIVES THE SERPENT AWAY. THE BIRD TURNS BACK INTO A STATUE.[CR]" 13ED: 00 ; Room 17 ; "YOU ARE IN THE SOUTH SIDE CHAMBER.[CR]" 13EE: 01 03 ; N,NORTH 13F0: 01 10 ; MoveToRoomN Room:16 13F2: 0C 03 ; OUT,OUTSID 13F4: 01 10 ; MoveToRoomN Room:16 13F6: 00 ; Room 18 ; "YOU ARE ON THE WEST SIDE OF THE BOTTOMLESS PIT IN THE HALL OF GODS.[CR]" 13F7: 10 0C ; JUMP 13F9: 07 06 ; SubScriptRev 13FB: 03 02 ; AssertObjectNIsInCurrentRoomOrPack Object:"Stone bridge room 18" 13FD: 04 30 E1 ; PrintMessageNN "I RESPECTFULLY SUGGEST YOU GO ACROSS THE BRIDGE INSTEAD OF JUMPING.[CR]" 1400: 04 31 10 ; PrintMessageNN "YOU DIDN'T MAKE IT.[CR]" 1403: 05 ; PrintScoreAndStop 1404: 02 0A ; E,EAST 1406: 07 05 ; SubScriptRev 1408: 03 02 ; AssertObjectNIsInCurrentRoomOrPack Object:"Stone bridge room 18" 140A: 01 0F ; MoveToRoomN Room:15 140C: 04 31 1F ; PrintMessageNN "THERE IS NO WAY ACROSS THE BOTTOMLESS PIT.[CR]" 140F: 01 06 ; N,NORTH 1411: 04 31 53 ; PrintMessageNN "YOU HAVE CRAWLED THROUGH A VERY LOW WIDE PASSAGE PARALLEL TO AND NORTH OF THE HALL OF GODS.[CR]" 1414: 01 13 ; MoveToRoomN Room:19 1416: 0D 05 ; CROSS 1418: 03 02 ; AssertObjectNIsInCurrentRoomOrPack Object:"Stone bridge room 18" 141A: 01 0F ; MoveToRoomN Room:15 141C: 23 18 ; WAVE,SHAKE,SWING 141E: 11 11 ; AssertObjectNMatchesUserInput Object:"Scepter" 1420: 07 0C ; SubScriptRev 1422: 03 02 ; AssertObjectNIsInCurrentRoomOrPack Object:"Stone bridge room 18" 1424: 15 02 00 ; UnmorphObjectNToRoomP Object:"Stone bridge room 18" Room 0 1427: 15 01 00 ; UnmorphObjectNToRoomP Object:"Stone bridge room 15" Room 0 142A: 04 3A 5E ; PrintMessageNN "THE STONE BRIDGE HAS RETRACTED![CR]" 142D: 18 02 ; MoveObjectNToCurrentRoom Object:"Stone bridge room 18" 142F: 15 01 0F ; UnmorphObjectNToRoomP Object:"Stone bridge room 15" Room 15 1432: 04 3A 75 ; PrintMessageNN "A STONE BRIDGE NOW SPANS THE BOTTOMLESS PIT.[CR]" 1435: 00 ; Room 19 ; "YOU ARE AT THE WEST END OF THE HALL OF GODS. A LOW WIDE PASS CONTINUES WEST AND ..." 1436: 03 03 ; S,SOUTH 1438: 01 1C ; MoveToRoomN Room:28 143A: 09 03 ; U,UP 143C: 01 1C ; MoveToRoomN Room:28 143E: 11 03 ; CLIMB 1440: 01 1C ; MoveToRoomN Room:28 1442: 02 03 ; E,EAST 1444: 01 12 ; MoveToRoomN Room:18 1446: 01 03 ; N,NORTH 1448: 01 12 ; MoveToRoomN Room:18 144A: 04 03 ; W,WEST 144C: 01 14 ; MoveToRoomN Room:20 144E: 00 ; Room 20 ; "YOU ARE AT EAST END OF A VERY LONG HALL APPARENTLY WITHOUT SIDE CHAMBERS. TO THE ..." 144F: 02 03 ; E,EAST 1451: 01 13 ; MoveToRoomN Room:19 1453: 09 03 ; U,UP 1455: 01 13 ; MoveToRoomN Room:19 1457: 04 03 ; W,WEST 1459: 01 15 ; MoveToRoomN Room:21 145B: 01 03 ; N,NORTH 145D: 01 16 ; MoveToRoomN Room:22 145F: 0A 03 ; D,DOWN 1461: 01 16 ; MoveToRoomN Room:22 1463: 00 ; Room 21 ; "YOU ARE AT THE WEST END OF A VERY LONG FEATURELESS HALL. THE HALL JOINS UP WITH ..." 1464: 02 03 ; E,EAST 1466: 01 14 ; MoveToRoomN Room:20 1468: 01 03 ; N,NORTH 146A: 01 16 ; MoveToRoomN Room:22 146C: 00 ; Room 22 ; "YOU ARE AT A CROSSOVER OF A HIGH N/S PASSAGE AND A LOW E/W ONE.[CR]" 146D: 04 03 ; W,WEST 146F: 01 14 ; MoveToRoomN Room:20 1471: 01 03 ; N,NORTH 1473: 01 17 ; MoveToRoomN Room:23 1475: 02 03 ; E,EAST 1477: 01 18 ; MoveToRoomN Room:24 1479: 03 03 ; S,SOUTH 147B: 01 15 ; MoveToRoomN Room:21 147D: 00 ; Room 23 ; "DEAD END.[CR]" 147E: 03 03 ; S,SOUTH 1480: 01 16 ; MoveToRoomN Room:22 1482: 0C 03 ; OUT,OUTSID 1484: 01 16 ; MoveToRoomN Room:22 1486: 00 ; Room 24 ; "YOU ARE IN THE WEST THRONE CHAMBER. A PASSAGE CONTINUES WEST AND UP FROM HERE.[C ..." 1487: 02 03 ; E,EAST 1489: 01 10 ; MoveToRoomN Room:16 148B: 0C 03 ; OUT,OUTSID 148D: 01 10 ; MoveToRoomN Room:16 148F: 04 03 ; W,WEST 1491: 01 16 ; MoveToRoomN Room:22 1493: 09 03 ; U,UP 1495: 01 16 ; MoveToRoomN Room:22 1497: 00 ; Room 25 ; "YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES DOWN TO AN E/ ..." 1498: 0C 03 ; OUT,OUTSID 149A: 01 10 ; MoveToRoomN Room:16 149C: 03 03 ; S,SOUTH 149E: 01 10 ; MoveToRoomN Room:16 14A0: 01 03 ; N,NORTH 14A2: 01 1A ; MoveToRoomN Room:26 14A4: 20 03 ; ??UNKNOWN COMMAND?? 14A6: 01 1A ; MoveToRoomN Room:26 14A8: 0A 03 ; D,DOWN 14AA: 01 36 ; MoveToRoomN Room:54 14AC: 00 ; Room 26 ; "YOU ARE IN A LARGE ROOM, WITH A PASSAGE TO THE SOUTH, AND A WALL OF BROKEN ROCK ..." 14AD: 12 03 ; PANEL 14AF: 01 02 ; MoveToRoomN Room:2 14B1: 03 03 ; S,SOUTH 14B3: 01 19 ; MoveToRoomN Room:25 14B5: 02 03 ; E,EAST 14B7: 01 1B ; MoveToRoomN Room:27 14B9: 00 ; Room 27 ; "YOU ARE IN THE CHAMBER OF ANUBIS.[CR]" 14BA: 0A 03 ; D,DOWN 14BC: 01 1A ; MoveToRoomN Room:26 14BE: 20 03 ; ??UNKNOWN COMMAND?? 14C0: 01 1A ; MoveToRoomN Room:26 14C2: 09 03 ; U,UP 14C4: 01 0D ; MoveToRoomN Room:13 14C6: 00 ; Room 28 ; "YOU ARE IN A MAZE OF TWISTY PASSAGES, ALL ALIKE.[CR]" 14C7: 01 03 ; N,NORTH 14C9: 01 1C ; MoveToRoomN Room:28 14CB: 02 03 ; E,EAST 14CD: 01 20 ; MoveToRoomN Room:32 14CF: 03 03 ; S,SOUTH 14D1: 01 1E ; MoveToRoomN Room:30 14D3: 04 03 ; W,WEST 14D5: 01 1D ; MoveToRoomN Room:29 14D7: 09 03 ; U,UP 14D9: 01 13 ; MoveToRoomN Room:19 14DB: 00 ; Room 29 ; "YOU ARE IN A MAZE OF TWISTY PASSAGES, ALL ALIKE.[CR]" 14DC: 01 03 ; N,NORTH 14DE: 01 1C ; MoveToRoomN Room:28 14E0: 02 03 ; E,EAST 14E2: 01 33 ; MoveToRoomN Room:51 14E4: 03 03 ; S,SOUTH 14E6: 01 1D ; MoveToRoomN Room:29 14E8: 04 03 ; W,WEST 14EA: 01 1D ; MoveToRoomN Room:29 14EC: 00 ; Room 30 ; "YOU ARE IN A MAZE OF TWISTY PASSAGES, ALL ALIKE.[CR]" 14ED: 01 03 ; N,NORTH 14EF: 01 20 ; MoveToRoomN Room:32 14F1: 02 03 ; E,EAST 14F3: 01 2A ; MoveToRoomN Room:42 14F5: 03 03 ; S,SOUTH 14F7: 01 2B ; MoveToRoomN Room:43 14F9: 04 03 ; W,WEST 14FB: 01 1C ; MoveToRoomN Room:28 14FD: 09 03 ; U,UP 14FF: 01 1F ; MoveToRoomN Room:31 1501: 0A 03 ; D,DOWN 1503: 01 1F ; MoveToRoomN Room:31 1505: 00 ; Room 31 ; "YOU ARE IN A MAZE OF TWISTY PASSAGES, ALL ALIKE.[CR]" 1506: 09 03 ; U,UP 1508: 01 1E ; MoveToRoomN Room:30 150A: 0A 03 ; D,DOWN 150C: 01 1E ; MoveToRoomN Room:30 150E: 00 ; Room 32 ; "YOU ARE IN A MAZE OF TWISTY PASSAGES, ALL ALIKE.[CR]" 150F: 02 03 ; E,EAST 1511: 01 1E ; MoveToRoomN Room:30 1513: 03 03 ; S,SOUTH 1515: 01 21 ; MoveToRoomN Room:33 1517: 04 03 ; W,WEST 1519: 01 1C ; MoveToRoomN Room:28 151B: 00 ; Room 33 ; "YOU ARE IN A MAZE OF TWISTY PASSAGES, ALL ALIKE.[CR]" 151C: 01 03 ; N,NORTH 151E: 01 2C ; MoveToRoomN Room:44 1520: 02 03 ; E,EAST 1522: 01 20 ; MoveToRoomN Room:32 1524: 03 03 ; S,SOUTH 1526: 01 22 ; MoveToRoomN Room:34 1528: 0A 03 ; D,DOWN 152A: 01 2D ; MoveToRoomN Room:45 152C: 00 ; Room 34 ; "YOU ARE IN A MAZE OF TWISTY PASSAGES, ALL ALIKE.[CR]" 152D: 02 03 ; E,EAST 152F: 01 21 ; MoveToRoomN Room:33 1531: 03 03 ; S,SOUTH 1533: 01 23 ; MoveToRoomN Room:35 1535: 04 03 ; W,WEST 1537: 01 25 ; MoveToRoomN Room:37 1539: 0A 03 ; D,DOWN 153B: 01 26 ; MoveToRoomN Room:38 153D: 00 ; Room 35 ; "YOU ARE IN A MAZE OF TWISTY PASSAGES, ALL ALIKE.[CR]" 153E: 01 03 ; N,NORTH 1540: 01 24 ; MoveToRoomN Room:36 1542: 02 03 ; E,EAST 1544: 01 26 ; MoveToRoomN Room:38 1546: 03 03 ; S,SOUTH 1548: 01 23 ; MoveToRoomN Room:35 154A: 04 03 ; W,WEST 154C: 01 22 ; MoveToRoomN Room:34 154E: 09 03 ; U,UP 1550: 01 27 ; MoveToRoomN Room:39 1552: 0A 03 ; D,DOWN 1554: 01 2F ; MoveToRoomN Room:47 1556: 00 ; Room 36 ; "YOU ARE IN A MAZE OF TWISTY PASSAGES, ALL ALIKE.[CR]" 1557: 01 03 ; N,NORTH 1559: 01 24 ; MoveToRoomN Room:36 155B: 02 03 ; E,EAST 155D: 01 34 ; MoveToRoomN Room:52 155F: 04 03 ; W,WEST 1561: 01 23 ; MoveToRoomN Room:35 1563: 0A 03 ; D,DOWN 1565: 01 30 ; MoveToRoomN Room:48 1567: 00 ; Room 37 ; "YOU ARE IN A MAZE OF TWISTY PASSAGES, ALL ALIKE.[CR]" 1568: 02 03 ; E,EAST 156A: 01 22 ; MoveToRoomN Room:34 156C: 04 03 ; W,WEST 156E: 01 26 ; MoveToRoomN Room:38 1570: 00 ; Room 38 ; "YOU ARE IN A MAZE OF TWISTY PASSAGES, ALL ALIKE.[CR]" 1571: 02 03 ; E,EAST 1573: 01 23 ; MoveToRoomN Room:35 1575: 03 03 ; S,SOUTH 1577: 01 27 ; MoveToRoomN Room:39 1579: 04 03 ; W,WEST 157B: 01 25 ; MoveToRoomN Room:37 157D: 09 03 ; U,UP 157F: 01 22 ; MoveToRoomN Room:34 1581: 00 ; Room 39 ; "YOU ARE IN A MAZE OF TWISTY PASSAGES, ALL ALIKE.[CR]" 1582: 01 03 ; N,NORTH 1584: 01 23 ; MoveToRoomN Room:35 1586: 03 03 ; S,SOUTH 1588: 01 2E ; MoveToRoomN Room:46 158A: 04 03 ; W,WEST 158C: 01 26 ; MoveToRoomN Room:38 158E: 00 ; Room 40 ; "YOU ARE IN A MAZE OF TWISTY PASSAGES, ALL ALIKE.[CR]" 158F: 01 03 ; N,NORTH 1591: 01 34 ; MoveToRoomN Room:52 1593: 04 03 ; W,WEST 1595: 01 29 ; MoveToRoomN Room:41 1597: 08 03 ; NW,NORTHW 1599: 01 35 ; MoveToRoomN Room:53 159B: 00 ; Room 41 ; "YOU ARE IN A MAZE OF TWISTY PASSAGES, ALL ALIKE.[CR]" 159C: 02 03 ; E,EAST 159E: 01 28 ; MoveToRoomN Room:40 15A0: 03 03 ; S,SOUTH 15A2: 01 34 ; MoveToRoomN Room:52 15A4: 04 03 ; W,WEST 15A6: 01 32 ; MoveToRoomN Room:50 15A8: 00 ; Room 42 ; "DEAD END.[CR]" 15A9: 04 03 ; W,WEST 15AB: 01 1E ; MoveToRoomN Room:30 15AD: 00 ; Room 43 ; "DEAD END.[CR]" 15AE: 02 03 ; E,EAST 15B0: 01 1E ; MoveToRoomN Room:30 15B2: 00 ; Room 44 ; "DEAD END.[CR]" 15B3: 03 03 ; S,SOUTH 15B5: 01 21 ; MoveToRoomN Room:33 15B7: 00 ; Room 45 ; "DEAD END.[CR]" 15B8: 09 03 ; U,UP 15BA: 01 21 ; MoveToRoomN Room:33 15BC: 00 ; Room 46 ; "DEAD END.[CR]" 15BD: 04 03 ; W,WEST 15BF: 01 27 ; MoveToRoomN Room:39 15C1: 00 ; Room 47 ; "DEAD END.[CR]" 15C2: 09 03 ; U,UP 15C4: 01 23 ; MoveToRoomN Room:35 15C6: 00 ; Room 48 ; "DEAD END.[CR]" 15C7: 09 03 ; U,UP 15C9: 01 24 ; MoveToRoomN Room:36 15CB: 00 ; Room 49 ; "DEAD END.[CR]" 15CC: 02 03 ; E,EAST 15CE: 01 34 ; MoveToRoomN Room:52 15D0: 00 ; Room 50 ; "DEAD END.[CR]" 15D1: 02 03 ; E,EAST 15D3: 01 29 ; MoveToRoomN Room:41 15D5: 00 ; Room 51 ; "DEAD END.[CR]" 15D6: 04 03 ; W,WEST 15D8: 01 1D ; MoveToRoomN Room:29 15DA: 21 0B ; DROP,RELEAS,FREE,DISCAR 15DC: 11 29 ; AssertObjectNMatchesUserInput Object:"Coins" 15DE: 15 29 00 ; UnmorphObjectNToRoomP Object:"Coins" Room 0 15E1: 18 23 ; MoveObjectNToCurrentRoom Object:"Batteries" 15E3: 04 3A D8 ; PrintMessageNN "THERE ARE NOW SOME FRESH BATTERIES HERE.[CR]" 15E6: 00 ; Room 52 ; "YOU ARE ON THE BRINK OF A LARGE PIT. YOU COULD CLIMB DOWN, BUT YOU WOULD NOT BE ..." 15E7: 01 03 ; N,NORTH 15E9: 01 29 ; MoveToRoomN Room:41 15EB: 02 03 ; E,EAST 15ED: 01 28 ; MoveToRoomN Room:40 15EF: 03 03 ; S,SOUTH 15F1: 01 31 ; MoveToRoomN Room:49 15F3: 04 03 ; W,WEST 15F5: 01 24 ; MoveToRoomN Room:36 15F7: 0A 03 ; D,DOWN 15F9: 01 0B ; MoveToRoomN Room:11 15FB: 00 ; Room 53 ; "DEAD END.[CR]" 15FC: 06 03 ; SE,SOUTHE 15FE: 01 28 ; MoveToRoomN Room:40 1600: 00 ; Room 54 ; "YOU ARE IN A DIRTY BROKEN PASSAGE. TO THE EAST IS A CRAWL. TO THE WEST IS A LARG ..." 1601: 02 03 ; E,EAST 1603: 01 37 ; MoveToRoomN Room:55 1605: 04 03 ; W,WEST 1607: 01 39 ; MoveToRoomN Room:57 1609: 09 03 ; U,UP 160B: 01 19 ; MoveToRoomN Room:25 160D: 00 ; Room 55 ; "YOU ARE ON THE BRINK OF A SMALL CLEAN CLIMBABLE PIT. A CRAWL LEADS WEST.[CR]" 160E: 04 03 ; W,WEST 1610: 01 36 ; MoveToRoomN Room:54 1612: 0A 03 ; D,DOWN 1614: 01 38 ; MoveToRoomN Room:56 1616: 11 03 ; CLIMB 1618: 01 38 ; MoveToRoomN Room:56 161A: 00 ; Room 56 ; "YOU ARE IN THE BOTTOM OF A SMALL PIT WITH A LITTLE STREAM, WHICH ENTERS AND EXIT ..." 161B: 09 03 ; U,UP 161D: 01 37 ; MoveToRoomN Room:55 161F: 0C 03 ; OUT,OUTSID 1621: 01 37 ; MoveToRoomN Room:55 1623: 11 03 ; CLIMB 1625: 01 37 ; MoveToRoomN Room:55 1627: 0A 04 ; D,DOWN 1629: 04 31 92 ; PrintMessageNN "YOU DON'T FIT THROUGH TWO-INCH SLIT![CR]" 162C: 27 0B ; FILL 162E: 07 06 ; SubScriptRev 1630: 02 1C ; AssertObjectNIsInPack Object:"Water in the bottle" 1632: 04 39 C1 ; PrintMessageNN "YOUR BOTTLE IS ALREADY FULL.[CR]" 1635: 19 1C 1B ; MorphObjectNIntoP Object:"Water in the bottle" Object:"Bottle" 1638: 00 ; Room 57 ; "YOU ARE IN A THE ROOM OF BES, WHOSE PICTURE IS ON THE WALL. THERE IS A BIG HOLE ..." 1639: 02 03 ; E,EAST 163B: 01 36 ; MoveToRoomN Room:54 163D: 0A 03 ; D,DOWN 163F: 01 3A ; MoveToRoomN Room:58 1641: 00 ; Room 58 ; "YOU ARE AT A COMPLEX JUNCTION. A LOW HANDS AND KNEES PASSAGE FROM THE NORTH JOIN ..." 1642: 01 03 ; N,NORTH 1644: 01 3D ; MoveToRoomN Room:61 1646: 02 03 ; E,EAST 1648: 01 3B ; MoveToRoomN Room:59 164A: 04 03 ; W,WEST 164C: 01 41 ; MoveToRoomN Room:65 164E: 09 03 ; U,UP 1650: 01 39 ; MoveToRoomN Room:57 1652: 11 03 ; CLIMB 1654: 01 39 ; MoveToRoomN Room:57 1656: 00 ; Room 59 ; "YOU ARE IN THE UNDERWORLD ANTEROOM OF SEKER. PASSAGES GO EAST, WEST, AND UP. HUM ..." 1657: 02 03 ; E,EAST 1659: 01 3C ; MoveToRoomN Room:60 165B: 04 03 ; W,WEST 165D: 01 41 ; MoveToRoomN Room:65 165F: 09 03 ; U,UP 1661: 01 3A ; MoveToRoomN Room:58 1663: 00 ; Room 60 ; "YOU ARE AT THE LAND OF DEAD. PASSAGES LEAD OFF IN >ALL< DIRECTIONS.[CR]" 1664: 01 07 ; N,NORTH 1666: 07 03 ; SubScriptRev 1668: 0A F0 ; AssertRandomIsGreaterThanN N=0xf0 166A: 01 3B ; MoveToRoomN Room:59 166C: 02 07 ; E,EAST 166E: 07 03 ; SubScriptRev 1670: 0A F0 ; AssertRandomIsGreaterThanN N=0xf0 1672: 01 3B ; MoveToRoomN Room:59 1674: 03 07 ; S,SOUTH 1676: 07 03 ; SubScriptRev 1678: 0A F0 ; AssertRandomIsGreaterThanN N=0xf0 167A: 01 3B ; MoveToRoomN Room:59 167C: 05 07 ; NE,NORTHE 167E: 07 03 ; SubScriptRev 1680: 0A F0 ; AssertRandomIsGreaterThanN N=0xf0 1682: 01 3B ; MoveToRoomN Room:59 1684: 06 07 ; SE,SOUTHE 1686: 07 03 ; SubScriptRev 1688: 0A F0 ; AssertRandomIsGreaterThanN N=0xf0 168A: 01 3B ; MoveToRoomN Room:59 168C: 07 07 ; SW,SOUTHW 168E: 07 03 ; SubScriptRev 1690: 0A F0 ; AssertRandomIsGreaterThanN N=0xf0 1692: 01 3B ; MoveToRoomN Room:59 1694: 08 07 ; NW,NORTHW 1696: 07 03 ; SubScriptRev 1698: 0A F0 ; AssertRandomIsGreaterThanN N=0xf0 169A: 01 3B ; MoveToRoomN Room:59 169C: 09 07 ; U,UP 169E: 07 03 ; SubScriptRev 16A0: 0A F0 ; AssertRandomIsGreaterThanN N=0xf0 16A2: 01 3B ; MoveToRoomN Room:59 16A4: 04 06 ; W,WEST 16A6: 04 31 E6 ; PrintMessageNN "YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND FOUND YOUR WAY BLOCKED BY A FALLEN SLAB. YOU ARE NOW BACK IN THE MAIN PASSAGE.[CR]" 16A9: 01 3C ; MoveToRoomN Room:60 16AB: 00 ; Room 61 ; "YOU'RE IN A LARGE ROOM WITH ANCIENT DRAWINGS ON ALL WALLS. THE PICTURES DEPICT A ..." 16AC: 03 11 ; S,SOUTH 16AE: 07 06 ; SubScriptRev 16B0: 02 17 ; AssertObjectNIsInPack Object:"Sarcophagus with pearl" 16B2: 04 32 3D ; PrintMessageNN "YOU CAN'T FIT THIS BIG SARCOPHAGUS THROUGH THAT LITTLE PASSAGE![CR]" 16B5: 07 06 ; SubScriptRev 16B7: 02 18 ; AssertObjectNIsInPack Object:"Sarcophagus empty" 16B9: 04 32 3D ; PrintMessageNN "YOU CAN'T FIT THIS BIG SARCOPHAGUS THROUGH THAT LITTLE PASSAGE![CR]" 16BC: 01 3A ; MoveToRoomN Room:58 16BE: 09 03 ; U,UP 16C0: 01 3E ; MoveToRoomN Room:62 16C2: 0A 03 ; D,DOWN 16C4: 01 3F ; MoveToRoomN Room:63 16C6: 00 ; Room 62 ; "YOU ARE IN A CHAMBER WHOSE WALL CONTAINS A PICTURE OF A MAN WEARING THE LUNAR DI ..." 16C7: 0A 03 ; D,DOWN 16C9: 01 3D ; MoveToRoomN Room:61 16CB: 0C 03 ; OUT,OUTSID 16CD: 01 3D ; MoveToRoomN Room:61 16CF: 00 ; Room 63 ; "YOU ARE IN A LONG SLOPING CORRIDOR WITH RAGGED WALLS.[CR]" 16D0: 09 03 ; U,UP 16D2: 01 3D ; MoveToRoomN Room:61 16D4: 0A 03 ; D,DOWN 16D6: 01 40 ; MoveToRoomN Room:64 16D8: 00 ; Room 64 ; "YOU ARE IN A CUL-DE-SAC ABOUT EIGHT FEET ACROSS.[CR]" 16D9: 09 03 ; U,UP 16DB: 01 3F ; MoveToRoomN Room:63 16DD: 0C 03 ; OUT,OUTSID 16DF: 01 3F ; MoveToRoomN Room:63 16E1: 00 ; Room 65 ; "YOU ARE IN THE CHAMBER OF HORUS, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. ..." 16E2: 02 03 ; E,EAST 16E4: 01 3A ; MoveToRoomN Room:58 16E6: 04 03 ; W,WEST 16E8: 01 4E ; MoveToRoomN Room:78 16EA: 09 07 ; U,UP 16EC: 07 03 ; SubScriptRev 16EE: 0A CC ; AssertRandomIsGreaterThanN N=0xcc 16F0: 01 48 ; MoveToRoomN Room:72 16F2: 01 07 ; N,NORTH 16F4: 07 03 ; SubScriptRev 16F6: 0A CC ; AssertRandomIsGreaterThanN N=0xcc 16F8: 01 49 ; MoveToRoomN Room:73 16FA: 03 07 ; S,SOUTH 16FC: 07 03 ; SubScriptRev 16FE: 0A CC ; AssertRandomIsGreaterThanN N=0xcc 1700: 01 42 ; MoveToRoomN Room:66 1702: 0A 07 ; D,DOWN 1704: 07 03 ; SubScriptRev 1706: 0A CC ; AssertRandomIsGreaterThanN N=0xcc 1708: 01 3B ; MoveToRoomN Room:59 170A: 00 ; Room 66 ; "YOU ARE IN A LARGE LOW CIRCULAR CHAMBER WHOSE FLOOR IS AN IMMENSE SLAB FALLEN FR ..." 170B: 01 03 ; N,NORTH 170D: 01 41 ; MoveToRoomN Room:65 170F: 03 03 ; S,SOUTH 1711: 01 50 ; MoveToRoomN Room:80 1713: 00 ; Room 72 ; "YOU ARE IN THE PRIEST'S BEDROOM. THE WALLS ARE COVERED WITH CURTAINS, THE FLOOR ..." 1714: 04 03 ; W,WEST 1716: 01 41 ; MoveToRoomN Room:65 1718: 0C 03 ; OUT,OUTSID 171A: 01 41 ; MoveToRoomN Room:65 171C: 00 ; Room 73 ; "THIS IS THE CHAMBER OF THE HIGH PRIEST. ANCIENT DRAWINGS COVER THE WALLS. AN EXT ..." 171D: 04 09 ; W,WEST 171F: 07 04 ; SubScriptRev 1721: 0D ; AssertPackIsEmptyExceptForEmerald 1722: 01 4C ; MoveToRoomN Room:76 1724: 04 32 69 ; PrintMessageNN "SOMETHING YOU'RE CARRYING WON'T FIT THROUGH THE TUNNEL WITH YOU. YOU'D BEST TAKE INVENTORY AND DROP SOMETHING.[CR]" 1727: 06 03 ; SE,SOUTHE 1729: 01 41 ; MoveToRoomN Room:65 172B: 00 ; Room 76 ; "YOU ARE IN THE HIGH PRIEST'S TREASURE ROOM LIT BY AN EERIE GREEN LIGHT. A NARROW ..." 172C: 02 09 ; E,EAST 172E: 07 04 ; SubScriptRev 1730: 0D ; AssertPackIsEmptyExceptForEmerald 1731: 01 49 ; MoveToRoomN Room:73 1733: 04 32 69 ; PrintMessageNN "SOMETHING YOU'RE CARRYING WON'T FIT THROUGH THE TUNNEL WITH YOU. YOU'D BEST TAKE INVENTORY AND DROP SOMETHING.[CR]" 1736: 0C 09 ; OUT,OUTSID 1738: 07 04 ; SubScriptRev 173A: 0D ; AssertPackIsEmptyExceptForEmerald 173B: 01 49 ; MoveToRoomN Room:73 173D: 04 32 69 ; PrintMessageNN "SOMETHING YOU'RE CARRYING WON'T FIT THROUGH THE TUNNEL WITH YOU. YOU'D BEST TAKE INVENTORY AND DROP SOMETHING.[CR]" 1740: 00 ; Room 78 ; "YOU ARE AT THE EAST END OF THE TWOPIT ROOM. THE FLOOR HERE IS LITTERED WITH THIN ..." 1741: 02 03 ; E,EAST 1743: 01 41 ; MoveToRoomN Room:65 1745: 04 03 ; W,WEST 1747: 01 50 ; MoveToRoomN Room:80 1749: 0A 03 ; D,DOWN 174B: 01 4F ; MoveToRoomN Room:79 174D: 00 ; Room 79 ; "YOU ARE AT THE BOTTOM OF THE EASTERN PIT IN THE TWOPIT ROOM.[CR]" 174E: 09 03 ; U,UP 1750: 01 4E ; MoveToRoomN Room:78 1752: 0C 03 ; OUT,OUTSID 1754: 01 4E ; MoveToRoomN Room:78 1756: 00 ; Room 80 ; "YOU ARE AT THE WEST END OF THE TWOPIT ROOM. THERE IS A LARGE HOLE IN THE WALL AB ..." 1757: 02 03 ; E,EAST 1759: 01 4E ; MoveToRoomN Room:78 175B: 04 03 ; W,WEST 175D: 01 42 ; MoveToRoomN Room:66 175F: 0A 03 ; D,DOWN 1761: 01 51 ; MoveToRoomN Room:81 1763: 00 ; Room 81 ; "YOU ARE AT THE BOTTOM OF THE WEST PIT IN THE TWOPIT ROOM. THERE IS A LARGE HOLE ..." 1764: 09 03 ; U,UP 1766: 01 50 ; MoveToRoomN Room:80 1768: 0C 03 ; OUT,OUTSID 176A: 01 50 ; MoveToRoomN Room:80 176C: 11 16 ; CLIMB 176E: 07 08 ; SubScriptRev 1770: 03 09 ; AssertObjectNIsInCurrentRoomOrPack Object:"Giant beanstalk" 1772: 04 32 B5 ; PrintMessageNN "YOU CLAMBER UP THE PLANT AND SCURRY THROUGH THE HOLE AT THE TOP.[CR]" 1775: 01 4D ; MoveToRoomN Room:77 1777: 07 06 ; SubScriptRev 1779: 03 08 ; AssertObjectNIsInCurrentRoomOrPack Object:"Twelve foot beanstalk" 177B: 04 32 E2 ; PrintMessageNN "YOU'VE CLIMBED UP THE PLANT AND OUT OF THE PIT.[CR]" 177E: 01 50 ; MoveToRoomN Room:80 1780: 04 3B FB ; PrintMessageNN "THERE IS NOTHING HERE TO CLIMB. USE UP OR OUT TO LEAVE THE PIT.[CR]" 1783: 24 2F ; POUR 1785: 11 1C ; AssertObjectNMatchesUserInput Object:"Water in the bottle" 1787: 15 1C 00 ; UnmorphObjectNToRoomP Object:"Water in the bottle" Room 0 178A: 07 0E ; SubScriptRev 178C: 03 07 ; AssertObjectNIsInCurrentRoomOrPack Object:"Tiny plant" 178E: 15 07 00 ; UnmorphObjectNToRoomP Object:"Tiny plant" Room 0 1791: 18 08 ; MoveObjectNToCurrentRoom Object:"Twelve foot beanstalk" 1793: 04 3B 82 ; PrintMessageNN "THE PLANT SPURTS INTO FURIOUS GROWTH FOR A FEW SECONDS.[CR]" 1796: 04 2D 8A ; PrintMessageNN "THERE IS A TWELVE FOOT BEAN STALK STRETCHING UP OUT OF THE PIT, BELLOWING "WATER... WATER..."[CR]" 1799: 07 0E ; SubScriptRev 179B: 03 08 ; AssertObjectNIsInCurrentRoomOrPack Object:"Twelve foot beanstalk" 179D: 15 08 00 ; UnmorphObjectNToRoomP Object:"Twelve foot beanstalk" Room 0 17A0: 18 09 ; MoveObjectNToCurrentRoom Object:"Giant beanstalk" 17A2: 04 3B A9 ; PrintMessageNN "THE PLANT GROWS EXPLOSIVELY, ALMOST FILLING THE BOTTOM OF THE PIT.[CR]" 17A5: 04 2D CA ; PrintMessageNN "THERE IS A GIGANTIC BEAN STALK STRETCHING ALL THE WAY UP TO THE HOLE.[CR]" 17A8: 15 09 00 ; UnmorphObjectNToRoomP Object:"Giant beanstalk" Room 0 17AB: 18 07 ; MoveObjectNToCurrentRoom Object:"Tiny plant" 17AD: 04 3B D7 ; PrintMessageNN "YOU'VE OVER-WATERED THE PLANT! IT'S SHRIVELING UP![CR]" 17B0: 04 2D 5E ; PrintMessageNN "THERE IS A TINY PLANT IN THE PIT, MURMURING "WATER, WATER, ..."[CR]" 17B3: 00 ; Room 77 ; "YOU ARE IN A LONG, NARROW CORRIDOR STRETCHING OUT OF SIGHT TO THE WEST. AT THE E ..." 17B4: 02 03 ; E,EAST 17B6: 01 51 ; MoveToRoomN Room:81 17B8: 0A 03 ; D,DOWN 17BA: 01 51 ; MoveToRoomN Room:81 17BC: 11 03 ; CLIMB 17BE: 01 51 ; MoveToRoomN Room:81 17C0: 10 05 ; JUMP 17C2: 04 30 8A ; PrintMessageNN "YOU ARE AT THE BOTTOM OF THE PIT WITH A BROKEN NECK.[CR]" 17C5: 05 ; PrintScoreAndStop 17C6: 04 03 ; W,WEST 17C8: 01 47 ; MoveToRoomN Room:71 17CA: 00 ; Room 71 ; "YOU ARE IN THE CHAMBER OF OSIRIS. THE CEILING IS TOO HIGH UP FOR YOUR LAMP TO SH ..." 17CB: 01 03 ; N,NORTH 17CD: 01 44 ; MoveToRoomN Room:68 17CF: 02 03 ; E,EAST 17D1: 01 46 ; MoveToRoomN Room:70 17D3: 03 03 ; S,SOUTH 17D5: 01 4D ; MoveToRoomN Room:77 17D7: 00 ; Room 70 ; "THE PASSAGE HERE IS BLOCKED BY A FALLEN BLOCK.[CR]" 17D8: 03 03 ; S,SOUTH 17DA: 01 47 ; MoveToRoomN Room:71 17DC: 0C 03 ; OUT,OUTSID 17DE: 01 47 ; MoveToRoomN Room:71 17E0: 00 ; Room 68 ; "YOU ARE IN THE CHAMBER OF NEKHEBET, A WOMAN WITH THE HEAD OF A VULTURE, WEARING ..." 17E1: 03 03 ; S,SOUTH 17E3: 01 47 ; MoveToRoomN Room:71 17E5: 0C 03 ; OUT,OUTSID 17E7: 01 47 ; MoveToRoomN Room:71 17E9: 00 17EA: FF ;##AmbientLightTable ; Ambient light table ... 2 bytes per room ; 0x4000 means there is light in the room (no need for a lamp) ; 0x0000 means you better have a lamp 17EB: 40 00 ; 1 17ED: 40 00 ; 2 17EF: 40 00 ; 3 17F1: 40 00 ; 4 17F3: 40 00 ; 5 17F5: 40 00 ; 6 17F7: 40 00 ; 7 17F9: 00 00 ; 8 17FB: 00 00 ; 9 17FD: 00 00 ; 10 17FF: 00 00 ; 11 1801: 00 00 ; 12 1803: 00 00 ; 13 1805: 00 00 ; 14 1807: 00 00 ; 15 1809: 00 00 ; 16 180B: 00 00 ; 17 180D: 00 00 ; 18 180F: 00 00 ; 19 1811: 00 00 ; 20 1813: 00 00 ; 21 1815: 00 00 ; 22 1817: 00 00 ; 23 1819: 00 00 ; 24 181B: 00 00 ; 25 181D: 00 00 ; 26 181F: 00 00 ; 27 1821: 00 00 ; 28 1823: 00 00 ; 29 1825: 00 00 ; 30 1827: 00 00 ; 31 1829: 00 00 ; 32 182B: 00 00 ; 33 182D: 00 00 ; 34 182F: 00 00 ; 35 1831: 00 00 ; 36 1833: 00 00 ; 37 1835: 00 00 ; 38 1837: 00 00 ; 39 1839: 00 00 ; 40 183B: 00 00 ; 41 183D: 00 00 ; 42 183F: 00 00 ; 43 1841: 00 00 ; 44 1843: 00 00 ; 45 1845: 00 00 ; 46 1847: 00 00 ; 47 1849: 00 00 ; 48 184B: 00 00 ; 49 184D: 00 00 ; 50 184F: 00 00 ; 51 1851: 00 00 ; 52 1853: 00 00 ; 53 1855: 00 00 ; 54 1857: 00 00 ; 55 1859: 00 00 ; 56 185B: 00 00 ; 57 185D: 00 00 ; 58 185F: 00 00 ; 59 1861: 00 00 ; 60 1863: 00 00 ; 61 1865: 00 00 ; 62 1867: 00 00 ; 63 1869: 00 00 ; 64 186B: 00 00 ; 65 186D: 00 00 ; 66 186F: 00 00 ; 67 1871: 00 00 ; 68 1873: 00 00 ; 69 1875: 00 00 ; 70 1877: 00 00 ; 71 1879: 00 00 ; 72 187B: 00 00 ; 73 187D: 00 00 ; 74 187F: 00 00 ; 75 1881: 40 00 ; 76 1883: 00 00 ; 77 1885: 00 00 ; 78 1887: 00 00 ; 79 1889: 00 00 ; 80 188B: 00 00 ; 81 ;##ObjectData ; Object data table (2 bytes) ; ; MCT----- RRRRRRRR ; ; Second byte is object's location (room number). ; M - if set, the second byte is actual object number. Allows objects to transform. ; C - if set, object can be picked up. ; T - if set, object is treasure. ; Starts in: 188D: 00 00 ; 000_00000 00 ; 1 188F: 00 00 ; 000_00000 00 ; 2 1891: 00 00 ; 000_00000 00 ; 3 1893: 00 00 ; 000_00000 00 ; 4 1895: 00 00 ; 000_00000 00 ; 5 1897: 00 33 ; 000_00000 33 ; 6 (Room 51) 1899: 00 51 ; 000_00000 51 ; 7 (Room 81) 189B: 00 00 ; 000_00000 00 ; 8 189D: 00 00 ; 000_00000 00 ; 9 189F: 00 00 ; 000_00000 00 ; 10 18A1: 00 10 ; 000_00000 10 ; 11 (Room 16) 18A3: 00 00 ; 000_00000 00 ; 12 18A5: 00 00 ; 000_00000 00 ; 13 18A7: 40 02 ; 010_00000 02 ; 14 (Room 2) 18A9: 40 00 ; 010_00000 00 ; 15 18AB: 40 08 ; 010_00000 08 ; 16 (Room 8) 18AD: 40 09 ; 010_00000 09 ; 17 (Room 9) 18AF: 40 48 ; 010_00000 48 ; 18 (Room 72) 18B1: 40 0B ; 010_00000 0B ; 19 (Room 11) 18B3: 00 00 ; 000_00000 00 ; 20 18B5: 00 00 ; 000_00000 00 ; 21 18B7: 60 00 ; 011_00000 00 ; 22 18B9: 40 3D ; 010_00000 3D ; 23 (Room 61) 18BB: 40 00 ; 010_00000 00 ; 24 18BD: 40 3B ; 010_00000 3B ; 25 (Room 59) 18BF: 40 02 ; 010_00000 02 ; 26 (Room 2) 18C1: 40 02 ; 010_00000 02 ; 27 (Room 2) 18C3: C0 1B ; 110_00000 1B ; 28 (Room 27) 18C5: 00 00 ; 000_00000 00 ; 29 18C7: 00 38 ; 000_00000 38 ; 30 (Room 56) 18C9: 60 4C ; 011_00000 4C ; 31 (Room 76) 18CB: 60 00 ; 011_00000 00 ; 32 18CD: 60 49 ; 011_00000 49 ; 33 (Room 73) 18CF: 60 44 ; 011_00000 44 ; 34 (Room 68) 18D1: 40 00 ; 010_00000 00 ; 35 18D3: 40 00 ; 010_00000 00 ; 36 18D5: 60 0E ; 011_00000 0E ; 37 (Room 14) 18D7: 60 11 ; 011_00000 11 ; 38 (Room 17) 18D9: 60 19 ; 011_00000 19 ; 39 (Room 25) 18DB: 60 12 ; 011_00000 12 ; 40 (Room 18) 18DD: 60 18 ; 011_00000 18 ; 41 (Room 24) 18DF: 60 00 ; 011_00000 00 ; 42 18E1: 60 47 ; 011_00000 47 ; 43 (Room 71) 18E3: 40 00 ; 010_00000 00 ; 44 ;##GameVariables 18E5: 01 ; RoomNumber (start in room 1) 18E6: 00 ; TurnCountMSB (BCD format) 18E7: 00 ; TurnCountLSB (BCD format) 18E8: 00 ; LampTime 18E9: 00 ; * NOT USED * 18EA: 00 ; LastRoomNumber 18EB: 00 ; NumInPack 18EC: 00 ; * NOT USED * ;##ObjectDescriptions ; Object descriptions (44 objects) ; For packable objects each slot points to a message pair. The first is the long ; description and the second is the short. 18ED: 2C 70 ; 1 Stone bridge room 15 18EF: 2C 70 ; 2 Stone bridge room 18 18F1: 01 F9 ; 3 ?Not in a room, never referenced? 18F3: 01 F9 ; 4 ?Not in a room, never referenced? 18F5: 01 F9 ; 5 ?Not in a room, never referenced? 18F7: 2D FA ; 6 Vending Machine 18F9: 2D 5E ; 7 Tiny plant 18FB: 2D 8A ; 8 Twelve foot beanstalk 18FD: 2D CA ; 9 Giant beanstalk 18FF: 00 00 ; 10 ?Used in error message ... I think I just lost my appetite? 1901: 2C 52 ; 11 Serpent bars the way 1903: 00 00 ; 12 ?Not in a room, never referenced? 1905: 00 00 ; 13 ?Used in error message ... there is nothing here it wants to eat except you? 1907: 2B 46 ; 14 Lamp (not lit) 1909: 2B 6B ; 15 Lamp (lit) 190B: 2B 8D ; 16 Statue box 190D: 2B B6 ; 17 Scepter 190F: 2C 2A ; 18 Pillow 1911: 2B E5 ; 19 Statue 1913: 2C 03 ; 20 Statue in box 1915: 30 06 ; 21 Pottery 1917: 30 60 ; 22 Pearl 1919: 2C 90 ; 23 Sarcophagus with pearl 191B: 2C 90 ; 24 Sarcophagus empty 191D: 2C C9 ; 25 Magazines 191F: 2D 05 ; 26 Food 1921: 2D 1D ; 27 Bottle 1923: 2D 39 ; 28 Water in the bottle 1925: 01 F9 ; 29 ?Not in a room, never referenced? 1927: 01 F9 ; 30 Stream in room 56 1929: 30 2D ; 31 Emerald 192B: 2F DE ; 32 Vase on pillow 192D: 2F BB ; 33 Vase 192F: 2F 97 ; 34 Key 1931: 2E 49 ; 35 Batteries 1933: 2E 68 ; 36 Worn-out batteries 1935: 2E 94 ; 37 Gold Nugget 1937: 2E C4 ; 38 Diamonds 1939: 2E E3 ; 39 Silver 193B: 2F 03 ; 40 Jewelry 193D: 2F 27 ; 41 Coins 193F: 2F 44 ; 42 Chest 1941: 2F 6B ; 43 Nest of golden eggs 1943: 2B 46 ; 44 Lamp (dead) ;##GeneralCommandHandler ; General command handler (when the current room doesn't care) ; 1945: 01 04 ; N,NORTH 1947: 04 33 04 ; PrintMessageNN "THERE IS NO WAY FOR YOU TO GO THAT DIRECTION.[CR]" 194A: 02 04 ; E,EAST 194C: 04 33 04 ; PrintMessageNN "THERE IS NO WAY FOR YOU TO GO THAT DIRECTION.[CR]" 194F: 03 04 ; S,SOUTH 1951: 04 33 04 ; PrintMessageNN "THERE IS NO WAY FOR YOU TO GO THAT DIRECTION.[CR]" 1954: 04 04 ; W,WEST 1956: 04 33 04 ; PrintMessageNN "THERE IS NO WAY FOR YOU TO GO THAT DIRECTION.[CR]" 1959: 05 04 ; NE,NORTHE 195B: 04 33 04 ; PrintMessageNN "THERE IS NO WAY FOR YOU TO GO THAT DIRECTION.[CR]" 195E: 06 04 ; SE,SOUTHE 1960: 04 33 04 ; PrintMessageNN "THERE IS NO WAY FOR YOU TO GO THAT DIRECTION.[CR]" 1963: 07 04 ; SW,SOUTHW 1965: 04 33 04 ; PrintMessageNN "THERE IS NO WAY FOR YOU TO GO THAT DIRECTION.[CR]" 1968: 08 04 ; NW,NORTHW 196A: 04 33 04 ; PrintMessageNN "THERE IS NO WAY FOR YOU TO GO THAT DIRECTION.[CR]" 196D: 09 04 ; U,UP 196F: 04 33 04 ; PrintMessageNN "THERE IS NO WAY FOR YOU TO GO THAT DIRECTION.[CR]" 1972: 0A 04 ; D,DOWN 1974: 04 33 04 ; PrintMessageNN "THERE IS NO WAY FOR YOU TO GO THAT DIRECTION.[CR]" 1977: 0B 04 ; IN,INSIDE 1979: 04 33 24 ; PrintMessageNN "I DON'T KNOW IN FROM OUT HERE. USE COMPASS POINTS.[CR]" 197C: 0C 04 ; OUT,OUTSID 197E: 04 33 24 ; PrintMessageNN "I DON'T KNOW IN FROM OUT HERE. USE COMPASS POINTS.[CR]" 1981: 0E 04 ; LEFT 1983: 04 33 48 ; PrintMessageNN "I AM UNSURE HOW YOU ARE FACING. USE COMPASS POINTS.[CR]" 1986: 0F 04 ; RIGHT 1988: 04 33 48 ; PrintMessageNN "I AM UNSURE HOW YOU ARE FACING. USE COMPASS POINTS.[CR]" 198B: 12 04 ; PANEL 198D: 04 33 6C ; PrintMessageNN "NOTHING HAPPENS.[CR]" 1990: 14 02 ; BACK 1992: 0E ; MoveToLastRoom 1993: 16 04 ; SWIM 1995: 04 33 79 ; PrintMessageNN "I DON'T KNOW HOW.[CR]" 1998: 17 18 ; ON,LIGHT 199A: 07 0C ; SubScriptRev 199C: 02 0E ; AssertObjectNIsInPack Object:"Lamp (not lit)" 199E: 15 0E 00 ; UnmorphObjectNToRoomP Object:"Lamp (not lit)" Room 0 19A1: 15 0F FF ; UnmorphObjectNToRoomP Object:"Lamp (lit)" Room 255 19A4: 04 33 A5 ; PrintMessageNN "YOUR LAMP IS NOW ON.[CR]" 19A7: 07 06 ; SubScriptRev 19A9: 02 0F ; AssertObjectNIsInPack Object:"Lamp (lit)" 19AB: 04 33 A5 ; PrintMessageNN "YOUR LAMP IS NOW ON.[CR]" 19AE: 04 33 B5 ; PrintMessageNN "YOU HAVE NO SOURCE OF LIGHT.[CR]" 19B1: 18 18 ; OFF 19B3: 07 0C ; SubScriptRev 19B5: 02 0F ; AssertObjectNIsInPack Object:"Lamp (lit)" 19B7: 15 0F 00 ; UnmorphObjectNToRoomP Object:"Lamp (lit)" Room 0 19BA: 15 0E FF ; UnmorphObjectNToRoomP Object:"Lamp (not lit)" Room 255 19BD: 04 33 CA ; PrintMessageNN "YOUR LAMP IS NOW OFF.[CR]" 19C0: 07 06 ; SubScriptRev 19C2: 02 0E ; AssertObjectNIsInPack Object:"Lamp (not lit)" 19C4: 04 33 CA ; PrintMessageNN "YOUR LAMP IS NOW OFF.[CR]" 19C7: 04 33 B5 ; PrintMessageNN "YOU HAVE NO SOURCE OF LIGHT.[CR]" 19CA: 19 02 ; QUIT,STOP 19CC: 09 ; PrintScoreAndStop 19CD: 1A 02 ; SCORE 19CF: 08 ; PrintScore 19D0: 1B 02 ; INVENT 19D2: 0F ; PrintInventory 19D3: 1C 02 ; LOOK 19D5: 10 ; PrintRoomDescription 19D6: 28 47 ; TAKE,GET,CARRY,CATCH,STEAL,CAPTUR 19D8: 07 06 ; SubScriptRev 19DA: 11 07 ; AssertObjectNMatchesUserInput Object:"Tiny plant" 19DC: 04 38 EF ; PrintMessageNN "THE PLANT HAS EXCEPTIONALLY DEEP ROOTS AND CANNOT BE PULLED FREE.[CR]" 19DF: 07 17 ; SubScriptRev 19E1: 11 13 ; AssertObjectNMatchesUserInput Object:"Statue" 19E3: 07 06 ; SubScriptRev 19E5: 02 11 ; AssertObjectNIsInPack Object:"Scepter" 19E7: 04 39 52 ; PrintMessageNN "AS YOU APPROACH THE STATUE, IT COMES TO LIFE AND FLIES ACROSS THE CHAMBER WHERE IT LANDS AND RETURNS TO STONE.[CR]" 19EA: 07 09 ; SubScriptRev 19EC: 02 10 ; AssertObjectNIsInPack Object:"Statue box" 19EE: 15 13 00 ; UnmorphObjectNToRoomP Object:"Statue" Room 0 19F1: 19 14 10 ; MorphObjectNIntoP Object:"Statue in box" Object:"Statue box" 19F4: 04 39 9E ; PrintMessageNN "YOU CAN LIFT THE STATUE, BUT YOU CANNOT CARRY IT.[CR]" 19F7: 07 0A ; SubScriptRev 19F9: 11 20 ; AssertObjectNMatchesUserInput Object:"Vase on pillow" 19FB: 12 21 ; GetObjectFromRoom Object:"Vase" 19FD: 15 20 00 ; UnmorphObjectNToRoomP Object:"Vase on pillow" Room 0 1A00: 18 12 ; MoveObjectNToCurrentRoom Object:"Pillow" 1A02: 07 0D ; SubScriptRev 1A04: 11 1E ; AssertObjectNMatchesUserInput Object:"Stream in room 56" 1A06: 07 06 ; SubScriptRev 1A08: 02 1C ; AssertObjectNIsInPack Object:"Water in the bottle" 1A0A: 04 39 C1 ; PrintMessageNN "YOUR BOTTLE IS ALREADY FULL.[CR]" 1A0D: 19 1C 1B ; MorphObjectNIntoP Object:"Water in the bottle" Object:"Bottle" 1A10: 07 0C ; SubScriptRev 1A12: 11 12 ; AssertObjectNMatchesUserInput Object:"Pillow" 1A14: 1A 20 ; AssertObjectNIsInCurrentRoom Object:"Vase on pillow" 1A16: 15 20 00 ; UnmorphObjectNToRoomP Object:"Vase on pillow" Room 0 1A19: 18 21 ; MoveObjectNToCurrentRoom Object:"Vase" 1A1B: 12 12 ; GetObjectFromRoom Object:"Pillow" 1A1D: 16 ; GetUserInputObject 1A1E: 21 17 ; DROP,RELEAS,FREE,DISCAR 1A20: 07 14 ; SubScriptRev 1A22: 11 21 ; AssertObjectNMatchesUserInput Object:"Vase" 1A24: 15 21 00 ; UnmorphObjectNToRoomP Object:"Vase" Room 0 1A27: 07 08 ; SubScriptRev 1A29: 1A 12 ; AssertObjectNIsInCurrentRoom Object:"Pillow" 1A2B: 18 20 ; MoveObjectNToCurrentRoom Object:"Vase on pillow" 1A2D: 04 3A 95 ; PrintMessageNN "THE VASE IS NOW RESTING, DELICATELY, ON A VELVET PILLOW.[CR]" 1A30: 18 15 ; MoveObjectNToCurrentRoom Object:"Pottery" 1A32: 04 3A BD ; PrintMessageNN "THE VASE DROPS WITH A DELICATE CRASH.[CR]" 1A35: 17 ; DropUserInputObject 1A36: 26 0E ; THROW,TOSS 1A38: 07 0B ; SubScriptRev 1A3A: 11 21 ; AssertObjectNMatchesUserInput Object:"Vase" 1A3C: 15 21 00 ; UnmorphObjectNToRoomP Object:"Vase" Room 0 1A3F: 18 15 ; MoveObjectNToCurrentRoom Object:"Pottery" 1A41: 04 3A F5 ; PrintMessageNN "YOU HAVE TAKEN THE VASE AND HURLED IT DELICATELY TO THE GROUND.[CR]" 1A44: 17 ; DropUserInputObject 1A45: 29 36 ; OPEN 1A47: 07 1C ; SubScriptRev 1A49: 11 17 ; AssertObjectNMatchesUserInput Object:"Sarcophagus with pearl" 1A4B: 07 06 ; SubScriptRev 1A4D: 02 17 ; AssertObjectNIsInPack Object:"Sarcophagus with pearl" 1A4F: 04 35 A4 ; PrintMessageNN "I'D ADVISE YOU TO PUT DOWN THE SARCOPHAGUS BEFORE OPENING IT!![CR]" 1A52: 07 0E ; SubScriptRev 1A54: 02 22 ; AssertObjectNIsInPack Object:"Key" 1A56: 04 35 61 ; PrintMessageNN "A GLISTENING PEARL FALLS OUT OF THE SARCOPHAGUS AND ROLLS AWAY. THE SARCOPHAGUS SNAPS SHUT AGAIN.[CR]" 1A59: 15 16 40 ; UnmorphObjectNToRoomP Object:"Pearl" Room 64 1A5C: 15 17 00 ; UnmorphObjectNToRoomP Object:"Sarcophagus with pearl" Room 0 1A5F: 18 18 ; MoveObjectNToCurrentRoom Object:"Sarcophagus empty" 1A61: 04 36 0A ; PrintMessageNN "YOU DON'T HAVE ANYTHING STRONG ENOUGH TO OPEN THE SARCOPHAGUS.[CR]" 1A64: 07 14 ; SubScriptRev 1A66: 11 18 ; AssertObjectNMatchesUserInput Object:"Sarcophagus empty" 1A68: 07 06 ; SubScriptRev 1A6A: 02 18 ; AssertObjectNIsInPack Object:"Sarcophagus empty" 1A6C: 04 35 A4 ; PrintMessageNN "I'D ADVISE YOU TO PUT DOWN THE SARCOPHAGUS BEFORE OPENING IT!![CR]" 1A6F: 07 06 ; SubScriptRev 1A71: 02 22 ; AssertObjectNIsInPack Object:"Key" 1A73: 04 35 D0 ; PrintMessageNN "THE SARCOPHAGUS CREAKS OPEN, REVEALING NOTHING INSIDE. IT PROMPTLY SNAPS SHUT AGAIN.[CR]" 1A76: 04 36 0A ; PrintMessageNN "YOU DON'T HAVE ANYTHING STRONG ENOUGH TO OPEN THE SARCOPHAGUS.[CR]" 1A79: 04 36 36 ; PrintMessageNN "I DON'T KNOW HOW TO LOCK OR UNLOCK SUCH A THING.[CR]" 1A7C: 23 04 ; WAVE,SHAKE,SWING 1A7E: 04 33 6C ; PrintMessageNN "NOTHING HAPPENS.[CR]" 1A81: 24 0E ; POUR 1A83: 07 09 ; SubScriptRev 1A85: 11 1C ; AssertObjectNMatchesUserInput Object:"Water in the bottle" 1A87: 15 1C 00 ; UnmorphObjectNToRoomP Object:"Water in the bottle" Room 0 1A8A: 04 34 92 ; PrintMessageNN "YOUR BOTTLE IS EMPTY AND THE GROUND IS WET.[CR]" 1A8D: 04 34 B1 ; PrintMessageNN "YOU CAN'T POUR THAT.[CR]" 1A90: 25 12 ; RUB 1A92: 07 06 ; SubScriptRev 1A94: 11 0E ; AssertObjectNMatchesUserInput Object:"Lamp (not lit)" 1A96: 04 34 C1 ; PrintMessageNN "RUBBING THE ELECTRIC LAMP IS NOT PARTICULARLY REWARDING. ANYWAY, NOTHING EXCITING HAPPENS.[CR]" 1A99: 07 06 ; SubScriptRev 1A9B: 11 0F ; AssertObjectNMatchesUserInput Object:"Lamp (lit)" 1A9D: 04 34 C1 ; PrintMessageNN "RUBBING THE ELECTRIC LAMP IS NOT PARTICULARLY REWARDING. ANYWAY, NOTHING EXCITING HAPPENS.[CR]" 1AA0: 04 34 FF ; PrintMessageNN "PECULIAR. NOTHING UNEXPECTED HAPPENS.[CR]" 1AA3: 27 12 ; FILL 1AA5: 07 06 ; SubScriptRev 1AA7: 11 1B ; AssertObjectNMatchesUserInput Object:"Bottle" 1AA9: 04 35 1A ; PrintMessageNN "THERE IS NOTHING HERE WITH WHICH TO FILL THE BOTTLE.[CR]" 1AAC: 07 06 ; SubScriptRev 1AAE: 11 21 ; AssertObjectNMatchesUserInput Object:"Vase" 1AB0: 04 34 82 ; PrintMessageNN "DON'T BE RIDICULOUS![CR]" 1AB3: 04 35 51 ; PrintMessageNN "YOU CAN'T FILL THAT.[CR]" 1AB6: 2C 2D ; ATTACK,KILL,HIT,FIGHT 1AB8: 07 09 ; SubScriptRev 1ABA: 11 13 ; AssertObjectNMatchesUserInput Object:"Statue" 1ABC: 15 13 00 ; UnmorphObjectNToRoomP Object:"Statue" Room 0 1ABF: 04 36 58 ; PrintMessageNN "THE BIRD STATUE IS NOW DEAD. ITS BODY DISAPPEARS.[CR]" 1AC2: 07 09 ; SubScriptRev 1AC4: 11 14 ; AssertObjectNMatchesUserInput Object:"Statue in box" 1AC6: 15 14 00 ; UnmorphObjectNToRoomP Object:"Statue in box" Room 0 1AC9: 04 36 58 ; PrintMessageNN "THE BIRD STATUE IS NOW DEAD. ITS BODY DISAPPEARS.[CR]" 1ACC: 07 06 ; SubScriptRev 1ACE: 11 17 ; AssertObjectNMatchesUserInput Object:"Sarcophagus with pearl" 1AD0: 04 36 7B ; PrintMessageNN "THE STONE IS VERY STRONG AND IS IMPERVIOUS TO ATTACK.[CR]" 1AD3: 07 06 ; SubScriptRev 1AD5: 11 18 ; AssertObjectNMatchesUserInput Object:"Sarcophagus empty" 1AD7: 04 36 7B ; PrintMessageNN "THE STONE IS VERY STRONG AND IS IMPERVIOUS TO ATTACK.[CR]" 1ADA: 07 06 ; SubScriptRev 1ADC: 11 0B ; AssertObjectNMatchesUserInput Object:"Serpent bars the way" 1ADE: 04 36 A1 ; PrintMessageNN "ATTACKING THE SERPENT BOTH DOESN'T WORK AND IS VERY DANGEROUS.[CR]" 1AE1: 04 36 CD ; PrintMessageNN "YOU CAN'T BE SERIOUS![CR]" 1AE4: 30 04 ; BREAK,SMASH 1AE6: 04 36 DD ; PrintMessageNN "IT IS BEYOND YOUR POWER TO DO THAT.[CR]" 1AE9: 2E 23 ; EAT 1AEB: 07 09 ; SubScriptRev 1AED: 11 1A ; AssertObjectNMatchesUserInput Object:"Food" 1AEF: 15 1A 00 ; UnmorphObjectNToRoomP Object:"Food" Room 0 1AF2: 04 36 F7 ; PrintMessageNN "THANK YOU, IT WAS DELICIOUS![CR]" 1AF5: 07 06 ; SubScriptRev 1AF7: 11 0A ; AssertObjectNMatchesUserInput Object:"?10?" 1AF9: 04 37 0C ; PrintMessageNN "I THINK I JUST LOST MY APPETITE.[CR]" 1AFC: 07 06 ; SubScriptRev 1AFE: 11 13 ; AssertObjectNMatchesUserInput Object:"Statue" 1B00: 04 37 0C ; PrintMessageNN "I THINK I JUST LOST MY APPETITE.[CR]" 1B03: 07 06 ; SubScriptRev 1B05: 11 14 ; AssertObjectNMatchesUserInput Object:"Statue in box" 1B07: 04 37 0C ; PrintMessageNN "I THINK I JUST LOST MY APPETITE.[CR]" 1B0A: 04 34 82 ; PrintMessageNN "DON'T BE RIDICULOUS![CR]" 1B0D: 2F 15 ; DRINK 1B0F: 07 09 ; SubScriptRev 1B11: 11 1C ; AssertObjectNMatchesUserInput Object:"Water in the bottle" 1B13: 15 1C 00 ; UnmorphObjectNToRoomP Object:"Water in the bottle" Room 0 1B16: 04 35 3F ; PrintMessageNN "THE BOTTLE IS NOW EMPTY.[CR]" 1B19: 07 06 ; SubScriptRev 1B1B: 11 1E ; AssertObjectNMatchesUserInput Object:"Stream in room 56" 1B1D: 04 37 24 ; PrintMessageNN "YOU HAVE TAKEN A DRINK FROM THE STREAM. THE WATER TASTES STRONGLY OF MINERALS, BUT IS NOT UNPLEASANT. IT IS EXTREMELY COLD.[CR]" 1B20: 04 36 CD ; PrintMessageNN "YOU CAN'T BE SERIOUS![CR]" 1B23: 2D 38 ; FEED 1B25: 07 06 ; SubScriptRev 1B27: 11 13 ; AssertObjectNMatchesUserInput Object:"Statue" 1B29: 04 37 78 ; PrintMessageNN "IT'S NOT HUNGRY. BESIDES, YOU HAVE NO BIRD SEED.[CR]" 1B2C: 07 06 ; SubScriptRev 1B2E: 11 14 ; AssertObjectNMatchesUserInput Object:"Statue in box" 1B30: 04 37 78 ; PrintMessageNN "IT'S NOT HUNGRY. BESIDES, YOU HAVE NO BIRD SEED.[CR]" 1B33: 07 10 ; SubScriptRev 1B35: 11 0B ; AssertObjectNMatchesUserInput Object:"Serpent bars the way" 1B37: 07 09 ; SubScriptRev 1B39: 02 14 ; AssertObjectNIsInPack Object:"Statue in box" 1B3B: 15 14 00 ; UnmorphObjectNToRoomP Object:"Statue in box" Room 0 1B3E: 04 37 C1 ; PrintMessageNN "THE SERPENT HAS NOW DEVOURED YOUR BIRD STATUE.[CR]" 1B41: 04 37 E2 ; PrintMessageNN "THERE IS NOTHING HERE IT WANTS TO EAT - EXCEPT PERHAPS YOU.[CR]" 1B44: 07 06 ; SubScriptRev 1B46: 11 17 ; AssertObjectNMatchesUserInput Object:"Sarcophagus with pearl" 1B48: 04 38 3D ; PrintMessageNN "I'M GAME. WOULD YOU CARE TO EXPLAIN HOW?[CR]" 1B4B: 07 06 ; SubScriptRev 1B4D: 11 18 ; AssertObjectNMatchesUserInput Object:"Sarcophagus empty" 1B4F: 04 38 3D ; PrintMessageNN "I'M GAME. WOULD YOU CARE TO EXPLAIN HOW?[CR]" 1B52: 07 06 ; SubScriptRev 1B54: 11 0D ; AssertObjectNMatchesUserInput Object:"?13?" 1B56: 04 37 E2 ; PrintMessageNN "THERE IS NOTHING HERE IT WANTS TO EAT - EXCEPT PERHAPS YOU.[CR]" 1B59: 04 34 82 ; PrintMessageNN "DON'T BE RIDICULOUS![CR]" 1B5C: 39 02 ; PLUGH 1B5E: 1D ; JumpToTopOfGameLoop 1B5F: 3A 02 ; LOAD 1B61: 1B ; LoadGame 1B62: 3B 02 ; SAVE 1B64: 1C ; SaveGame 1B65: 00 ;##CompressedStrings ;Description for room: 1 ; YOU ARE STANDING BEFORE THE ENTRANCE OF A PYRAMID. AROUND YOU IS A DESERT.[CR] 1B66: 18 C7 DE 94 14 55 5E 50 BD 90 5A C4 6A 59 60 5B B1 5F BE 30 15 EB BF 17 98 B8 16 7B 14 14 A8 6B 1B86: 48 9B 5D 39 49 8E C5 51 18 4B C2 C3 B5 FF 14 B4 B7 54 2E 00 ;Description for room: 2 ; YOU ARE IN THE ENTRANCE TO THE PYRAMID. A HOLE IN THE FLOOR LEADS TO A PASSAGE BENEATH THE ; SURFACE.[CR] 1B9A: 21 C7 DE 94 14 4B 5E 96 96 DB 72 9E 61 D0 B0 9B 53 6B BF 5F BE F3 16 CF B0 17 79 7B 14 7E 74 4B 1BBA: 5E 96 96 DB 72 89 67 A3 A0 E3 8B 0B 5C 6B BF 52 45 65 49 77 47 AF 14 63 98 53 BE 5F BE 67 17 8B 1BDA: B1 BF 53 00 ;Description for rooms: 3,4,5,6 ; YOU ARE IN THE DESERT.[CR] 1BDE: 07 C7 DE 94 14 4B 5E 96 96 DB 72 F5 59 3E 62 2E 00 ;Description for room: 7 ; YOU ARE IN A SMALL CHAMBER BENEATH A HOLE FROM THE SURFACE. A LOW CRAWL LEADS INWARD TO THE WEST. ; HIEROGLYPHICS ON THE WALL TRANSLATE, "CURSE ALL WHO ENTER THIS SACRED CRYPT."[CR] 1BEF: 3A C7 DE 94 14 4B 5E 83 96 5F 17 46 48 DA 14 64 48 23 62 70 4D 96 5F 03 71 A9 15 DB 8B 79 68 56 1C0F: 90 DB 72 34 BA C5 65 DB 63 4E 45 6B A1 AB 55 B3 D1 E3 8B 0B 5C A1 7A 2E 49 89 17 82 17 59 5E 66 1C2F: 62 3B F4 87 73 F9 B2 12 8F 85 73 D1 B5 96 96 DB 72 0E D0 16 8A D0 B0 BB B8 FE BD 6D 13 3D C6 43 1C4F: 5E F3 8C 29 D1 30 15 F4 BD 82 17 4B 7B 05 B7 66 B1 E4 14 EE DE 2E 22 00 ;Description for room: 8 ; YOU ARE CRAWLING OVER PEBBLES IN A LOW PASSAGE. THERE IS A DIM LIGHT AT THE EAST END OF THE ; PASSAGE.[CR] 1C67: 21 C7 DE 94 14 45 5E D9 B0 90 8C D1 6A 74 CA DF 16 F6 4C 4B 62 83 7A 4E 45 6B A1 55 A4 09 B7 DB 1C87: 63 5F BE 5B B1 4B 7B 46 45 5B 7A 89 8C 33 75 73 49 5F BE 23 15 F3 B9 8E 61 B8 16 82 17 52 5E 65 1CA7: 49 77 47 2E 00 ;Description for room: 9 ; YOU ARE IN A ROOM FILLED WITH BROKEN POTTERY SHARDS OF ANCIENT EGYPTIAN CRAFTS. AN AWKWARD CORRIDOR ; LEADS UPWARD AND WEST.[CR] 1CAC: 28 C7 DE 94 14 4B 5E 83 96 39 17 DB 9F 0E 67 E6 8B FB 17 53 BE 79 4F B0 85 E9 16 3F C0 7B B4 1B 1CCC: B8 4D B1 B8 16 90 14 47 54 B3 9A 8B 60 43 A7 83 48 AB 55 CD 68 43 F4 83 96 A9 D1 2E 49 E1 14 73 1CEC: B3 84 5B 3F 16 0D 47 B2 17 14 D0 03 58 33 98 B5 D0 54 2E 00 ;Description for room: 10 ; YOU ARE IN AN AWKWARD SLOPING EAST/WEST CORRIDOR.[CR] 1D00: 10 C7 DE 94 14 4B 5E 83 96 83 96 A9 D1 2E 49 5E 17 63 A0 AB 98 95 5F E1 BC 66 62 E1 14 73 B3 84 1D20: 5B 2E 00 ;Description for room: 11 ; YOU ARE IN A SPLENDID CHAMBER THIRTY FEET HIGH. THE WALLS ARE FROZEN RIVERS OF ORANGE STONE. AN ; AWKWARD CORRIDOR AND A GOOD PASSAGE EXIT FROM THE EAST AND WEST SIDES OF THE CHAMBER.[CR] 1D23: 3C C7 DE 94 14 4B 5E 83 96 62 17 F0 8B 86 5A DA 14 64 48 23 62 63 BE D3 B3 4F 15 73 62 89 73 9B 1D43: 76 5F BE F3 17 0D 8D 94 14 48 5E 0C B3 83 61 18 B2 3D 62 B8 16 C4 16 91 48 55 5E 80 BF DB 63 83 1D63: 48 FD 49 14 D0 05 58 BC A0 09 79 83 AF 33 98 49 45 36 A0 DB 16 D3 B9 9B 6C 23 63 08 BC FF B2 82 1D83: 17 47 5E 66 49 90 14 19 58 66 62 5B 17 F5 59 B8 16 82 17 45 5E 4F 72 74 4D 2E 00 ;Description for room: 12 ; AT YOUR FEET IS A SMALL PIT BREATHING TRACES OF WHITE MIST. AN EAST PASSAGE ENDS HERE EXCEPT FOR A ; SMALL CRACK LEADING ON. ROUGH STONE STEPS LEAD DOWN THE PIT.[CR] 1D9E: 35 73 49 C7 DE 88 AF 36 60 D5 15 7B 14 E3 B8 F3 8C 96 A5 BC 14 96 5F 90 73 D6 6A C5 B0 4B 62 C3 1DBE: 9E 23 D1 DB BD D5 92 9B C1 83 48 95 5F 12 BC 65 49 77 47 30 15 0B 5C F4 72 47 5E 97 D6 33 A7 04 1DDE: 68 7B 14 E3 B8 F3 8C AB 55 8B 54 E3 8B 90 5A D1 6A 1B 9C 07 B3 13 6D 09 BA 5B 98 FF B9 0B A7 E3 1DFE: 8B 06 58 80 A1 82 17 52 5E 97 7B 00 ;Description for room: 13 ; YOU ARE AT ONE END OF A VAST HALL STRETCHING FORWARD OUT OF SIGHT TO THE WEST. THERE ARE OPENINGS TO ; EITHER SIDE. NEARBY, A WIDE STONE STAIRCASE LEADS DOWNWARD. THE HALL IS VERY MUSTY AND A COLD WIND ; BLOWS UP THE STAIRCASE. THERE IS A PASSAGE AT THE TOP OF A DOME BEHIND YOU. ROUGH STONE STEPS LEAD ; UP THE DOME.[CR] 1E0A: 67 C7 DE 94 14 43 5E 11 BC 5B 98 8E 61 B8 16 7B 14 D5 C9 0A BC 46 48 66 17 76 B1 23 54 AB 98 04 1E2A: 68 14 D0 11 58 73 C6 C3 9E 49 B8 33 75 6B BF 5F BE F7 17 17 BA 82 17 2F 62 94 14 51 5E F0 A4 91 1E4A: 7A D6 B5 C7 9C 82 7B 23 62 46 B8 DB 63 63 98 03 B1 03 EE FB 17 DB 59 09 BA 5B 98 FB B9 2D 7B 57 1E6A: 49 3F 16 0D 47 09 15 21 D2 2E 49 56 F4 DB 72 4E 72 0B 8A D8 B5 43 62 77 16 13 BA 90 14 03 58 E1 1E8A: 14 B3 8B 50 D1 04 58 89 8D D7 B5 16 A3 DB 72 FB B9 2D 7B 57 49 56 F4 F4 72 4B 5E C3 B5 DB 16 D3 1EAA: B9 9B 6C 73 49 5F BE 89 17 11 A3 83 64 09 15 1B 92 6A 4D 8E 7A 51 18 DB C7 07 B3 13 6D 09 BA 5B 1ECA: 98 FF B9 0B A7 E3 8B 17 58 16 A3 DB 72 7F 5B 45 2E 00 ;Description for room: 14 ; THIS IS A LOW ROOM WITH A HIEROGLYPH ON THE WALL. IT TRANSLATES "YOU WON'T GET IT UP THE STEPS".[CR] 1EDC: 20 63 BE CB B5 C3 B5 49 16 D4 CE 3F A0 FB 17 53 BE 4A 45 34 79 FE 9E E2 DE C0 16 82 17 59 5E 46 1EFC: 48 4B F4 16 BC D0 B0 BB B8 F5 BD 83 13 1B A1 40 D2 F3 23 B6 6C D6 15 B2 17 82 17 55 5E F2 BD 07 1F1C: B6 00 ;Description for room: 15 ; YOU ARE ON THE EAST BANK OF A BOTTOMLESS PIT STRETCHING ACROSS THE HALL. THE MIST IS QUITE THICK ; HERE, AND THE PIT IS TOO WIDE TO JUMP.[CR] 1F1E: 2D C7 DE 94 14 51 5E 96 96 DB 72 95 5F 04 BC 95 48 B8 16 7B 14 06 4F 7F BF F5 8B D2 B5 73 7B 0C 1F3E: BA 7D 62 90 73 C3 6A B9 55 CB B9 5F BE 9B 15 17 8D 82 17 4F 5E 66 7B D5 15 17 17 7F 7B 82 17 DD 1F5E: 78 9F 15 7E B1 90 14 16 58 DB 72 96 A5 D5 15 89 17 D9 9C FF 78 89 17 FF 15 F7 93 00 ;Description for room: 16 ; YOU ARE IN THE PHARAOH'S CHAMBER, WITH PASSAGES OFF IN ALL DIRECTIONS.[CR] 1F7A: 17 C7 DE 94 14 4B 5E 96 96 DB 72 5B A5 D1 B0 65 71 DA 14 64 48 46 62 FB 17 53 BE 55 A4 09 B7 4B 1F9A: 62 D0 9E D0 15 8E 14 06 8A 2F 7B 03 56 1D A0 2E 00 ;Description for room: 17 ; YOU ARE IN THE SOUTH SIDE CHAMBER.[CR] 1FAB: 0B C7 DE 94 14 4B 5E 96 96 DB 72 47 B9 53 BE 46 B8 45 5E 4F 72 74 4D 2E 00 ;Description for room: 18 ; YOU ARE ON THE WEST SIDE OF THE BOTTOMLESS PIT IN THE HALL OF GODS.[CR] 1FC4: 16 C7 DE 94 14 51 5E 96 96 DB 72 B5 D0 15 BC FF 78 B8 16 82 17 44 5E 0E A1 EE 9F 65 62 E3 16 0B 1FE4: BC 96 96 DB 72 4E 72 11 8A 89 64 8D 9E 2E 00 ;Description for room: 19 ; YOU ARE AT THE WEST END OF THE HALL OF GODS. A LOW WIDE PASS CONTINUES WEST AND ANOTHER GOES NORTH. ; TO THE SOUTH IS A LITTLE PASSAGE SIX FEET OFF THE FLOOR.[CR] 1FF3: 34 C7 DE 94 14 43 5E 16 BC DB 72 B5 D0 07 BC 33 98 C3 9E 5F BE 9B 15 F3 8C C3 9E 36 6E 5B BB 4E 2013: 45 6B A1 46 D1 52 5E 65 49 E1 14 C3 9A E7 9A D9 B5 66 62 90 14 03 58 06 9A F4 72 81 15 4B 62 04 2033: 9A 77 BE 89 17 82 17 55 5E 36 A1 0B 71 C3 B5 43 16 46 C0 52 5E 65 49 77 47 5B 17 08 D5 36 60 B8 2053: 16 96 64 DB 72 89 67 C7 A0 00 ;Description for room: 20 ; YOU ARE AT EAST END OF A VERY LONG HALL APPARENTLY WITHOUT SIDE CHAMBERS. TO THE EAST A LOW WIDE ; CRAWL SLANTS UP. TO THE NORTH A ROUND TWO FOOT HOLE SLANTS DOWN.[CR] 205D: 35 C7 DE 94 14 43 5E 07 BC 66 49 30 15 11 58 83 64 CF 17 7B B4 80 8D CA 6A 46 48 92 14 54 A4 9E 207D: 61 FB 8E 56 D1 87 74 15 BC FF 78 DA 14 64 48 3D 62 56 F4 D6 9C DB 72 95 5F 03 BC 49 16 D9 CE FF 209D: 78 E4 14 FE 49 5E 17 9E 48 D7 B5 9B A8 6B BF 5F BE 99 16 C2 B3 7B 14 07 B3 33 98 C1 C0 59 15 F3 20BD: A0 7E 74 55 5E 50 8B 0B C0 89 5B 4E 2E 00 ;Description for room: 21 ; YOU ARE AT THE WEST END OF A VERY LONG FEATURELESS HALL. THE HALL JOINS UP WITH A NARROW NORTH/SOUTH ; PASSAGE.[CR] 20CB: 24 C7 DE 94 14 43 5E 16 BC DB 72 B5 D0 07 BC 33 98 C3 9E 58 45 43 62 49 16 AB 98 63 66 74 C0 3F 20EB: 61 CB B9 4E 72 9B 8F 5F BE 9B 15 F3 8C FB 80 8B 9A D3 C5 56 D1 03 71 8B 16 79 B3 D0 CE BE A0 DD 210B: 71 36 A1 12 71 65 49 77 47 2E 00 ;Description for room: 22 ; YOU ARE AT A CROSSOVER OF A HIGH N/S PASSAGE AND A LOW E/W ONE.[CR] 2116: 15 C7 DE 94 14 43 5E 03 BC E4 14 E5 A0 4F A1 91 AF 83 64 A3 15 13 6D 5D 97 DB 16 D3 B9 9B 6C 8E 2136: 48 7B 14 89 8D 20 15 D1 CE 7F 98 00 ;Description for rooms: 23,42,43,44,45,46,47,48,49,50,51,53 ; DEAD END.[CR] 2142: 03 E3 59 07 58 57 98 00 ;Description for room: 24 ; YOU ARE IN THE WEST THRONE CHAMBER. A PASSAGE CONTINUES WEST AND UP FROM HERE.[CR] 214A: 1A C7 DE 94 14 4B 5E 96 96 DB 72 B5 D0 16 BC F9 74 5B 98 1B 54 AF 91 1B B5 52 45 65 49 77 47 E1 216A: 14 C3 9A E7 9A D9 B5 66 62 90 14 17 58 08 A3 FF B2 9F 15 7F B1 00 ;Description for room: 25 ; YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES DOWN TO AN E/W PASSAGE.[CR] 2180: 1E C7 DE 94 14 4B 5E 83 96 49 16 D0 CE 8B 36 55 A4 09 B7 43 5E 03 BC A9 15 DB 8B 83 7A 5F BE 56 21A0: 15 44 A0 56 F4 DB 72 7E 74 49 5E B5 9E 09 15 03 D2 6B BF 83 48 21 5F DB 16 D3 B9 BF 6C 00 ;Description for room: 26 ; YOU ARE IN A LARGE ROOM, WITH A PASSAGE TO THE SOUTH, AND A WALL OF BROKEN ROCK TO THE EAST. THERE ; IS A PANEL ON THE NORTH WALL.[CR] 21BE: 2A C7 DE 94 14 4B 5E 83 96 3B 16 B7 B1 39 17 FE 9F FB 17 53 BE 52 45 65 49 77 47 89 17 82 17 55 21DE: 5E 36 A1 73 76 8E 48 7B 14 0E D0 11 8A 84 64 FD B2 83 61 F5 B2 D6 83 D6 9C DB 72 95 5F 9B C1 5F 21FE: BE 5B B1 4B 7B 52 45 8F 48 11 8A 96 96 DB 72 04 9A 53 BE 0E D0 4C 2E 00 ;Description for room: 27 ; YOU ARE IN THE CHAMBER OF ANUBIS.[CR] 2216: 0B C7 DE 94 14 4B 5E 96 96 DB 72 1B 54 AF 91 91 AF 83 64 E4 9A 6F 7B 00 ;Description for rooms: 28,29,30,31,32,33,34,35,36,37,38,39,40,41 ; YOU ARE IN A MAZE OF TWISTY PASSAGES, ALL ALIKE.[CR] 222E: 10 C7 DE 94 14 4B 5E 83 96 63 16 5B E3 C3 9E BB C0 13 BA DB 16 D3 B9 B5 6C 03 EE F3 8C 43 48 BF 224E: 85 00 ;Description for room: 52 ; YOU ARE ON THE BRINK OF A LARGE PIT. YOU COULD CLIMB DOWN, BUT YOU WOULD NOT BE ABLE TO CLIMB BACK ; UP. THE MAZE CONTINUES ON THIS LEVEL.[CR] 2250: 2D C7 DE 94 14 51 5E 96 96 DB 72 73 4F 4B 99 C3 9E 4E 45 31 49 52 5E 97 7B 51 18 45 C2 2E A1 05 2270: 58 8F 8C 86 4B 80 A1 04 EE 73 C6 C7 DE 01 18 3E C5 99 16 04 BC 43 5E 7F 4E 89 17 DE 14 64 7A AB 2290: 14 8B 54 F7 C5 82 17 4F 5E 6F 4A E1 14 C3 9A E7 9A D1 B5 96 96 95 73 3F 16 6E CA 2E 00 ;Description for room: 54 ; YOU ARE IN A DIRTY BROKEN PASSAGE. TO THE EAST IS A CRAWL. TO THE WEST IS A LARGE PASSAGE. ABOVE YOU ; IS A HOLE TO ANOTHER PASSAGE.[CR] 22AD: 2B C7 DE 94 14 4B 5E 83 96 03 15 D3 B3 BC 14 97 9F 92 96 65 49 77 47 56 F4 D6 9C DB 72 95 5F 0B 22CD: BC C3 B5 E4 14 FE 49 56 F4 D6 9C DB 72 B5 D0 0B BC C3 B5 3B 16 B7 B1 DB 16 D3 B9 BF 6C 84 14 4F 22ED: A1 51 18 4B C2 C3 B5 A9 15 DB 8B 6B BF 99 48 5F BE 92 AF 65 49 77 47 2E 00 ;Description for room: 55 ; YOU ARE ON THE BRINK OF A SMALL CLEAN CLIMBABLE PIT. A CRAWL LEADS WEST.[CR] 2306: 18 C7 DE 94 14 51 5E 96 96 DB 72 73 4F 4B 99 C3 9E 55 45 8E 91 05 8A E3 8B 85 96 8F 8C C4 4C DB 2326: 8B 96 A5 43 F4 E4 14 FE 49 3F 16 0D 47 F7 17 17 BA 00 ;Description for room: 56 ; YOU ARE IN THE BOTTOM OF A SMALL PIT WITH A LITTLE STREAM, WHICH ENTERS AND EXITS THROUGH TINY ; SLITS.[CR] 2338: 21 C7 DE 94 14 4B 5E 96 96 DB 72 06 4F 7F BF B8 16 7B 14 E3 B8 F3 8C 96 A5 FB 17 53 BE 4E 45 8E 2358: 7B DB 8B 0C BA 8F 5F 19 EE 85 73 07 71 BF 9A 8B B3 8E 48 3A 15 8D 7B 82 17 07 B3 13 6D 90 BE 55 2378: DB 96 8C 53 2E 00 ;Description for room: 57 ; YOU ARE IN A THE ROOM OF BES, WHOSE PICTURE IS ON THE WALL. THERE IS A BIG HOLE IN THE FLOOR. THERE ; IS A PASSAGE LEADING EAST.[CR] 237E: 2A C7 DE 94 14 4B 5E 83 96 82 17 54 5E 3F A0 B8 16 AF 14 33 BB 29 D1 9B B7 85 A5 74 C0 4B 5E D1 239E: B5 96 96 DB 72 0E D0 9B 8F 5F BE 5B B1 4B 7B 44 45 6B 79 7E 74 4B 5E 96 96 DB 72 89 67 C7 A0 82 23BE: 17 2F 62 D5 15 7B 14 55 A4 09 B7 4E 5E 86 5F 91 7A 23 15 17 BA 00 ;Description for room: 58 ; YOU ARE AT A COMPLEX JUNCTION. A LOW HANDS AND KNEES PASSAGE FROM THE NORTH JOINS A HIGHER CRAWL ; FROM THE EAST TO MAKE A WALKING PASSAGE GOING WEST. THERE IS ALSO A LARGE ROOM ABOVE. THE AIR IS ; DAMP HERE.[CR] 23D4: 44 C7 DE 94 14 43 5E 03 BC E1 14 E6 93 13 63 F0 81 03 56 27 A0 7B 14 89 8D 9B 15 4D 98 90 14 0D 23F4: 58 67 98 D2 B5 65 49 77 47 5C 15 DB 9F 5F BE 99 16 C2 B3 F9 15 9D 7A 7B 14 89 73 F4 72 E4 14 FE 2414: 49 5C 15 DB 9F 5F BE 23 15 F3 B9 6B BF 8D 91 43 5E F3 17 DB 8C AB 98 55 A4 09 B7 49 5E 50 9F D9 2434: 6A 66 62 56 F4 F4 72 4B 5E C3 B5 21 8E 7B 14 54 8B 9B 6C 01 B3 43 90 08 4F DB 63 5F BE 8B 14 8B 2454: AF C6 B5 72 48 9F 15 7F B1 00 ;Description for room: 59 ; YOU ARE IN THE UNDERWORLD ANTEROOM OF SEKER. PASSAGES GO EAST, WEST, AND UP. HUMAN BONES ARE STREWN ; ABOUT ON THE FLOOR. HIEROGLYPHICS ON THE WALL ROUGHLY TRANSLATE TO "THOSE WHO PROCEED EAST MAY NEVER ; RETURN."[CR] 245E: 45 C7 DE 94 14 4B 5E 96 96 DB 72 8E C5 41 62 B6 A0 03 58 BF 9A 01 B3 51 90 95 64 17 61 1B B5 55 247E: A4 09 B7 4B 62 2B 6E 95 5F 73 C1 B5 D0 73 C1 8E 48 B2 17 4A F4 63 C5 84 96 0F A0 C3 B5 5B B1 0C 249E: BA 00 63 84 14 36 A1 C0 16 82 17 48 5E 81 8D 1B B5 87 73 F9 B2 12 8F 85 73 D1 B5 96 96 DB 72 0E 24BE: D0 14 8A 29 A1 13 74 8C 17 9D 48 56 8B 56 5E BC 9C 69 BE 9B B7 29 D1 EC 16 57 9E F3 5F 95 5F 0F 24DE: BC 3B 4A 78 98 23 62 76 B1 38 C6 2E 22 00 ;Description for room: 60 ; YOU ARE AT THE LAND OF DEAD. PASSAGES LEAD OFF IN >ALL< DIRECTIONS.[CR] 24EC: 16 C7 DE 94 14 43 5E 16 BC DB 72 50 8B 11 58 86 64 86 5F 52 F4 65 49 77 47 CE B5 86 5F B8 16 8B 250C: 64 7F 96 46 48 06 26 2F 7B 03 56 1D A0 2E 00 ;Description for room: 61 ; YOU'RE IN A LARGE ROOM WITH ANCIENT DRAWINGS ON ALL WALLS. THE PICTURES DEPICT ATUM, A PHARAOH ; WEARING THE DOUBLE CROWN. A SHALLOW PASSAGE PROCEEDS DOWNWARD, AND A SOMEWHAT STEEPER ONE LEADS UP. ; A LOW HANDS AND KNEES PASSAGE ENTERS FROM THE SOUTH. [CR] 251B: 52 C7 DE AF 23 D0 15 7B 14 54 8B 9B 6C 01 B3 59 90 82 7B 90 14 47 54 B3 9A EB 5B 50 D1 CB 6E 03 253B: A0 46 48 F3 17 0D 8D 56 F4 DB 72 85 A5 74 C0 4B 62 F2 59 E6 78 96 14 7E C5 7B 14 5B A5 D1 B0 19 255B: 71 94 5F 91 7A 82 17 46 5E 24 A1 DB 8B B9 55 27 D2 7B 14 1B B8 09 8D D2 CE 65 49 77 47 EC 16 57 257B: 9E 0D 60 09 15 21 D2 2E 49 03 EE 33 98 55 45 E7 9F 1B D1 15 BC E7 BD F4 A4 C0 16 4E 5E 86 5F D7 259B: B5 9B A8 4E 45 6B A1 50 72 0B 5C 8E 48 20 16 35 60 DB 16 D3 B9 9B 6C 9E 61 3D 62 5C 15 DB 9F 5F 25BB: BE 61 17 82 C6 2E 20 00 ;Description for room: 62 ; YOU ARE IN A CHAMBER WHOSE WALL CONTAINS A PICTURE OF A MAN WEARING THE LUNAR DISK ON HIS HEAD. HE ; IS THE GOD KHONS, THE MOON GOD.[CR] 25C3: 2B C7 DE 94 14 4B 5E 83 96 DA 14 64 48 23 62 29 D1 9B B7 0E D0 05 8A 1E A0 D0 47 C3 B5 E3 16 0F 25E3: 56 5B B1 C3 9E 4F 45 83 48 A3 D0 10 B2 D6 6A DB 72 70 8E 23 49 95 5A D1 83 8A 96 4B 7B E3 72 9B 2603: 5D 9F 15 D5 15 82 17 49 5E 73 9E 29 86 AE 9A 82 17 4F 5E 40 A0 81 15 44 2E 00 ;Description for room: 63 ; YOU ARE IN A LONG SLOPING CORRIDOR WITH RAGGED WALLS.[CR] 261D: 11 C7 DE 94 14 4B 5E 83 96 49 16 AB 98 C9 B8 90 A5 C5 6A BC A0 09 79 99 AF 82 7B 2B 17 F7 6C 19 263D: 58 46 48 53 2E 00 ;Description for room: 64 ; YOU ARE IN A CUL-DE-SAC ABOUT EIGHT FEET ACROSS.[CR] 2643: 10 C7 DE 94 14 4B 5E 83 96 E7 14 56 8F A5 63 CB 46 B9 46 73 C6 C9 60 33 75 67 66 03 BC B9 55 EF 2663: B9 00 ;Description for room: 65 ; YOU ARE IN THE CHAMBER OF HORUS, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. TO EXPLORE AT ; RANDOM, SELECT NORTH, SOUTH, UP, OR DOWN.[CR] 2665: 2D C7 DE 94 14 4B 5E 96 96 DB 72 1B 54 AF 91 91 AF 8A 64 BF A0 33 BB 4E 45 11 A0 23 15 F8 B9 B5 2685: D0 12 BC 65 49 77 47 FB 17 53 BE 7E 74 4B 62 CF 62 99 B4 F4 72 DB 63 6B BF 2A 63 84 8D 43 5E 14 26A5: BC 8E 48 FE 9F 57 17 E5 8B 10 BC BE A0 73 76 47 B9 76 BE B2 17 11 EE 86 AF 80 A1 2E 00 ;Description for room: 66 ; YOU ARE IN A LARGE LOW CIRCULAR CHAMBER WHOSE FLOOR IS AN IMMENSE SLAB FALLEN FROM THE CEILING. EAST ; AND WEST THERE ONCE WERE LARGE PASSAGES, BUT THEY ARE NOW FILLED WITH SAND. LOW SMALL PASSAGES GO ; NORTH AND SOUTH.[CR] 26C2: 47 C7 DE 94 14 4B 5E 83 96 3B 16 B7 B1 49 16 C5 CE 2D 7B 3B C5 85 AF 4F 72 74 4D FA 17 D7 A0 56 26E2: 15 44 A0 D5 15 90 14 CF 15 30 92 9B B7 BB B8 88 4B 46 48 83 61 79 68 56 90 DB 72 AB 53 90 8C 5B 2702: 70 95 5F 03 BC 33 98 B5 D0 16 BC F4 72 51 5E 17 98 F7 17 5B B1 54 8B 9B 6C 55 A4 09 B7 6E 62 BF 2722: 14 16 BC FB 72 94 14 50 5E 6B A1 0E 67 E6 8B FB 17 53 BE 10 B7 9B 5D 89 8D 5F 17 46 48 DB 16 D3 2742: B9 B5 6C 81 15 99 16 C2 B3 90 14 15 58 36 A1 48 2E 00 ;Description for room: 72 ; YOU ARE IN THE PRIEST'S BEDROOM. THE WALLS ARE COVERED WITH CURTAINS, THE FLOOR WITH A THICK PILE ; CARPET. MOSS COVERS THE CEILING.[CR] 2754: 2B C7 DE 94 14 4B 5E 96 96 DB 72 F3 A6 66 62 CB 23 66 4D 01 B3 DB 95 5F BE F3 17 0D 8D 94 14 45 2774: 5E 4F A1 66 B1 FB 17 53 BE 34 56 4B BD AE 9A 82 17 48 5E 81 8D 99 AF 82 7B 7B 14 63 BE 8B 54 8E 2794: A5 45 5E 3A 49 97 62 71 16 CB B9 48 55 3D 62 82 17 45 5E CE 60 91 7A 2E 00 ;Description for room: 73 ; THIS IS THE CHAMBER OF THE HIGH PRIEST. ANCIENT DRAWINGS COVER THE WALLS. AN EXTREMELY TIGHT TUNNEL ; LEADS WEST. IT LOOKS LIKE A TIGHT SQUEEZE. ANOTHER PASSAGE LEADS SE.[CR] 27AD: 38 63 BE CB B5 D6 B5 DB 72 1B 54 AF 91 91 AF 96 64 DB 72 89 73 12 71 07 B2 17 BA 90 14 47 54 B3 27CD: 9A EB 5B 50 D1 CB 6E 48 55 23 62 5F BE F3 17 0D 8D 43 F4 87 96 4C D9 67 61 FB 8E 89 BE 33 75 70 27ED: C0 6E 98 3F 16 0D 47 F7 17 17 BA D6 15 49 16 A5 9F 43 16 9B 85 56 45 7A 79 15 BC A7 AD 6F 63 43 280D: F4 06 9A F4 72 DB 16 D3 B9 9B 6C E3 8B 0B 5C BF B7 00 ;Description for room: 76 ; YOU ARE IN THE HIGH PRIEST'S TREASURE ROOM LIT BY AN EERIE GREEN LIGHT. A NARROW TUNNEL EXITS TO THE ; EAST.[CR] 281F: 23 C7 DE 94 14 4B 5E 96 96 DB 72 89 73 12 71 07 B2 F5 B9 D6 B5 63 B1 34 BA 54 5E 3F A0 43 16 04 283F: BC 43 DB 87 96 33 62 49 5E 67 B1 8E 96 7A 79 9B C1 50 45 3C 49 6B A1 70 C0 6E 98 3A 15 8D 7B 89 285F: 17 82 17 47 5E 66 49 2E 00 ;Description for room: 78 ; YOU ARE AT THE EAST END OF THE TWOPIT ROOM. THE FLOOR HERE IS LITTERED WITH THIN ROCK SLABS, WHICH ; MAKE IT EASY TO DESCEND THE PITS. THERE IS A PATH HERE BYPASSING THE PITS TO CONNECT PASSAGES EAST ; AND WEST. THERE ARE HOLES ALL OVER, BUT THE ONLY BIG ONE IS ON THE WALL DIRECTLY OVER THE WEST PIT ; WHERE YOU CAN'T GET TO IT.[CR] 2868: 6B C7 DE 94 14 43 5E 16 BC DB 72 95 5F 07 BC 33 98 C3 9E 5F BE 91 17 63 A0 14 BC 3F A0 56 F4 DB 2888: 72 89 67 A3 A0 F4 72 4B 5E CE B5 8E 7B 2F 62 19 58 82 7B 82 17 83 7A F5 B2 D5 83 44 8B 33 BB 23 28A8: D1 13 54 8D 91 4B 5E 07 BC 6B 49 89 17 FF 14 57 B7 33 98 5F BE E3 16 2F C0 82 17 2F 62 D5 15 7B 28C8: 14 56 A4 0A 71 2F 62 C3 14 55 A4 50 B8 D6 6A DB 72 96 A5 D6 B5 C5 9C 18 A0 E6 5F DB 16 D3 B9 B5 28E8: 6C 23 15 F3 B9 8E 48 F7 17 17 BA 82 17 2F 62 94 14 4A 5E BF 9F C3 B5 F3 8C 4F A1 F3 B4 F6 4F 82 2908: 17 51 5E 93 99 B3 14 D1 6A 5B 98 4B 7B 03 A0 5F BE F3 17 F3 8C 94 5A E6 5F FB 8E 4F A1 96 AF DB 2928: 72 B5 D0 12 BC 73 7B 1F D1 5B B1 C7 DE D3 14 E6 96 77 15 16 BC CB 9C 54 2E 00 ;Description for room: 79 ; YOU ARE AT THE BOTTOM OF THE EASTERN PIT IN THE TWOPIT ROOM.[CR] 2942: 14 C7 DE 94 14 43 5E 16 BC DB 72 06 4F 7F BF B8 16 82 17 47 5E 66 49 38 62 E3 16 0B BC 96 96 DB 2962: 72 C1 C0 96 A5 39 17 FF 9F 00 ;Description for room: 80 ; YOU ARE AT THE WEST END OF THE TWOPIT ROOM. THERE IS A LARGE HOLE IN THE WALL ABOVE THE PIT AT THIS ; END OF THE ROOM.[CR] 296C: 26 C7 DE 94 14 43 5E 16 BC DB 72 B5 D0 07 BC 33 98 C3 9E 5F BE 91 17 63 A0 14 BC 3F A0 56 F4 F4 298C: 72 4B 5E C3 B5 3B 16 B7 B1 A9 15 DB 8B 83 7A 5F BE F3 17 F3 8C B9 46 5B CA 5F BE E3 16 03 BC 16 29AC: BC 95 73 30 15 11 58 96 64 DB 72 01 B3 4D 2E 00 ;Description for room: 81 ; YOU ARE AT THE BOTTOM OF THE WEST PIT IN THE TWOPIT ROOM. THERE IS A LARGE HOLE IN THE WALL ABOUT ; TWENTY FIVE FEET ABOVE YOU.[CR] 29BC: 29 C7 DE 94 14 43 5E 16 BC DB 72 06 4F 7F BF B8 16 82 17 59 5E 66 62 E3 16 0B BC 96 96 DB 72 C1 29DC: C0 96 A5 39 17 FF 9F 82 17 2F 62 D5 15 7B 14 54 8B 9B 6C 7E 74 4B 5E 96 96 DB 72 0E D0 03 8A 07 29FC: 4F 16 BC B0 D0 FB C0 18 67 48 5E 36 60 84 14 4F A1 51 18 55 2E 00 ;Description for room: 77 ; YOU ARE IN A LONG, NARROW CORRIDOR STRETCHING OUT OF SIGHT TO THE WEST. AT THE EASTERN END IS A HOLE ; THROUGH WHICH YOU CAN SEE A PROFUSION OF LEAVES.[CR] 2A12: 31 C7 DE 94 14 4B 5E 83 96 49 16 CE 98 8B 16 79 B3 C5 CE BC A0 09 79 95 AF EF BF 9A BD 91 7A C7 2A32: 16 11 BC 95 64 7A 79 16 BC D6 9C DB 72 B5 D0 9B C1 73 49 5F BE 23 15 FF B9 C3 B2 8E 61 D5 15 7B 2A52: 14 7E 74 56 5E F9 74 7A C4 FA 17 DA 78 51 18 45 C2 83 48 A7 B7 7B 14 F9 A6 F5 68 C0 7A B8 16 3F 2A72: 16 CF 49 53 2E 00 ;Description for room: 71 ; YOU ARE IN THE CHAMBER OF OSIRIS. THE CEILING IS TOO HIGH UP FOR YOUR LAMP TO SHOW IT. PASSAGES LEAD ; EAST, NORTH, AND SOUTH.[CR] 2A78: 29 C7 DE 94 14 4B 5E 96 96 DB 72 1B 54 AF 91 91 AF 91 64 54 B8 6F 7B 82 17 45 5E CE 60 91 7A D5 2A98: 15 89 17 CA 9C 7A 79 B2 17 59 15 9B AF 34 A1 3B 16 D3 93 6B BF 29 B8 CB CE 9B C1 55 A4 09 B7 4B 2AB8: 62 E3 8B 07 58 66 49 10 EE BE A0 73 76 8E 48 61 17 82 C6 2E 00 ;Description for room: 70 ; THE PASSAGE HERE IS BLOCKED BY A FALLEN BLOCK.[CR] 2ACD: 0F 5F BE DB 16 D3 B9 9B 6C F4 72 4B 5E C4 B5 75 8D A6 85 C3 14 7B 14 CE 65 F0 8B B6 14 5D 9E 2E 2AED: 00 ;Description for room: 68 ; YOU ARE IN THE CHAMBER OF NEKHEBET, A WOMAN WITH THE HEAD OF A VULTURE, WEARING THE CROWN OF EGYPT. ; A PASSAGE EXITS TO THE SOUTH.[CR] 2AEE: 2B C7 DE 94 14 4B 5E 96 96 DB 72 1B 54 AF 91 91 AF 90 64 1A 61 AF 5F 73 C1 59 45 E3 9F 99 96 82 2B0E: 7B 82 17 4A 5E 86 5F B8 16 7B 14 EE CC 74 C0 B3 63 A3 D0 10 B2 D6 6A DB 72 B9 55 03 D2 C3 9E 8B 2B2E: 60 57 A7 7B 14 55 A4 09 B7 47 5E 96 D7 D6 B5 D6 9C DB 72 47 B9 77 BE 00 ;Description for objects: 14 "Lamp (not lit)",44 "Lamp (dead)" ; THERE IS A SHINY BRASS LAMP NEARBY.[CR] 2B46: 0B 5F BE 5B B1 4B 7B 55 45 90 73 44 DB D5 B0 CE B5 72 48 8F 16 2C 49 59 2E 00 ; BRASS LANTERN[CR] 2B60: 04 6B 4F CB B9 50 8B F4 BD 4E 00 ;Description for object: 15 "Lamp (lit)" ; THERE IS A LAMP SHINING NEARBY.[CR] 2B6B: 0A 5F BE 5B B1 4B 7B 4E 45 72 48 5A 17 93 7A AB 98 63 98 03 B1 2E 00 ; BRASS LANTERN[CR] 2B82: 04 6B 4F CB B9 50 8B F4 BD 4E 00 ;Description for object: 16 "Statue box" ; THERE IS A SMALL STATUE BOX DISCARDED NEARBY.[CR] 2B8D: 0F 5F BE 5B B1 4B 7B 55 45 8E 91 15 8A 56 BD 1B C4 0A 4F 03 15 53 B7 3F B1 10 58 94 5F 9F 50 00 ; STATUE BOX[CR] 2BAD: 03 FB B9 67 C0 B9 14 58 00 ;Description for object: 17 "Scepter" ; A THREE FOOT SCEPTER WITH AN ANKH ON AN END LIES NEARBY.[CR] 2BB6: 12 56 45 EF 74 48 5E 46 A0 55 17 EE 61 23 62 56 D1 03 71 83 96 5A 99 C0 16 90 14 30 15 0E 58 35 2BD6: 79 8F 16 2C 49 59 2E 00 ; SCEPTER[CR] 2BDE: 02 57 B7 3F A7 52 00 ;Description for object: 19 "Statue" ; A STATUE OF THE BIRD GOD IS SITTING HERE.[CR] 2BE5: 0D 55 45 56 BD 1B C4 C3 9E 5F BE B3 14 33 B1 36 6E D5 15 5B 17 43 C0 AB 98 F4 72 45 2E 00 ;Description for object: 20 "Statue in box" ; THERE IS A BIRD STATUE IN THE BOX.[CR] 2C03: 0B 5F BE 5B B1 4B 7B 44 45 2E 7B 66 17 8F 49 4B 5E 96 96 DB 72 0A 4F 2E 00 ; BIRD STATUE IN BOX[CR] 2C1C: 06 14 4E 15 58 56 BD 1B C4 83 7A 0A 4F 00 ;Description for object: 18 "Pillow" ; A SMALL VELVET PILLOW LIES ON THE FLOOR.[CR] 2C2A: 0D 55 45 8E 91 18 8A 50 61 73 62 8E A5 89 8D 43 16 4B 62 03 A0 5F BE 56 15 44 A0 2E 00 ; VELVET PILLOW[CR] 2C47: 04 6E CA 76 CA E3 16 09 8D 57 00 ;Description for object: 11 "Serpent bars the way" ; A HUGE GREEN FIERCE SERPENT BARS THE WAY![CR] 2C52: 0D 4A 45 77 C4 84 15 30 60 53 15 2D 62 55 5E 3A 62 9E 61 AB 14 8B B3 5F BE F3 17 59 21 00 ;Description for objects: 1 "Stone bridge room 15",2 "Stone bridge room 18" ; A STONE BRIDGE NOW SPANS THE BOTTOMLESS PIT.[CR] 2C70: 0E 55 45 80 BF 44 5E 06 B2 9B 6C 09 9A 62 17 9D 48 82 17 44 5E 0E A1 EE 9F 65 62 E3 16 54 2E 00 ;Description for objects: 23 "Sarcophagus with pearl",24 "Sarcophagus empty" ; THERE IS A SARCOPHAGUS HERE WITH IT'S COVER TIGHTLY CLOSED.[CR] 2C90: 13 5F BE 5B B1 4B 7B 55 45 2D 49 62 A0 87 47 CA B5 2F 62 FB 17 53 BE 75 7B C5 B5 4F A1 96 AF 7A 2CB0: 79 13 BF DE 14 D7 A0 44 2E 00 ; SARCOPHAGUS >GROAN<[CR] 2CBA: 06 14 B7 42 55 49 72 4B C6 84 2E 10 9E 3C 00 ;Description for object: 25 "Magazines" ; THERE ARE A FEW RECENT ISSUES OF "EGYPTIAN WEEKLY" MAGAZINE HERE.[CR] 2CC9: 15 5F BE 5B B1 2F 49 7B 14 79 66 2F 17 B0 53 0B BC E7 B9 4B 62 C3 9E 69 1B EE DE 90 78 F7 17 1E 2CE9: 61 63 DB 89 91 73 4A 5B 98 F4 72 45 2E 00 ; "EGYPTIAN WEEKLY"[CR] 2CF7: 05 69 1B EE DE 90 78 F7 17 1E 61 59 22 00 ;Description for object: 26 "Food" ; THERE IS FOOD HERE.[CR] 2D05: 06 5F BE 5B B1 4B 7B 01 68 0A 58 2F 62 2E 00 ; TASTY FOOD[CR] 2D14: 03 55 BD FB C0 01 68 44 00 ;Description for object: 27 "Bottle" ; THERE IS A BOTTLE HERE.[CR] 2D1D: 07 5F BE 5B B1 4B 7B 44 45 0E A1 DB 8B F4 72 45 2E 00 ; SMALL BOTTLE[CR] 2D2F: 04 E3 B8 F3 8C 06 4F FF BE 00 ;Description for object: 28 "Water in the bottle" ; THERE IS WATER IN THE BOTTLE.[CR] 2D39: 09 5F BE 5B B1 4B 7B 16 D0 23 62 83 7A 5F BE B9 14 46 C0 45 2E 00 ; WATER IN THE BOTTLE[CR] 2D4F: 06 16 D0 23 62 83 7A 5F BE B9 14 46 C0 45 00 ;Description for object: 7 "Tiny plant" ; THERE IS A TINY PLANT IN THE PIT, MURMURING "WATER, WATER, ..."[CR] 2D5E: 15 5F BE 5B B1 4B 7B 56 45 A3 7A E6 16 9E 48 D0 15 82 17 52 5E 96 7B 77 16 B7 B2 10 B2 BC 6A 16 2D7E: D0 46 62 F3 17 F4 BD 1F EE DC F9 00 ;Description for object: 8 "Twelve foot beanstalk" ; THERE IS A TWELVE FOOT BEAN STALK STRETCHING UP OUT OF THE PIT, BELLOWING "WATER... WATER..."[CR] 2D8A: 1F 5F BE 5B B1 4B 7B 56 45 AE D0 5B CA 01 68 04 BC 90 5F 66 17 45 48 66 17 76 B1 23 54 AB 98 D3 2DAA: C5 36 A1 B8 16 82 17 52 5E 96 7B AF 14 09 8D 50 D1 BC 6A 16 D0 47 62 DB F9 16 D0 47 62 DC F9 00 ;Description for object: 9 "Giant beanstalk" ; THERE IS A GIGANTIC BEAN STALK STRETCHING ALL THE WAY UP TO THE HOLE.[CR] 2DCA: 17 5F BE 5B B1 4B 7B 49 45 73 79 C3 9A C4 51 90 5F 66 17 45 48 66 17 76 B1 23 54 AB 98 46 48 82 2DEA: 17 59 5E 3B 4A D3 C5 6B BF 5F BE A9 15 FF 8B 00 ;Description for object: 6 "Vending Machine" ; THERE IS A MASSIVE VENDING MACHINE HERE. THE INSTRUCTIONS ON IT READ- "DROP COINS HERE TO RECIEVE ; FRESH BATTERIES".[CR] 2DFA: 26 5F BE 5B B1 4B 7B 4F 45 65 49 CF 7B CF 17 43 98 AB 98 85 91 90 73 4A 5E 2F 62 56 F4 DB 72 9D 2E1A: 7A FF BF 03 56 1D A0 C0 16 D6 15 2F 17 15 47 6E 13 02 B3 E1 14 9D 7A 9F 15 5B B1 6B BF 65 B1 38 2E3A: 79 48 5E 75 B1 04 71 8E 49 33 62 4C 62 2E 00 ;Description for object: 35 "Batteries" ; THERE ARE FRESH BATTERIES HERE.[CR] 2E49: 0A 5F BE 5B B1 2F 49 5C 15 5A 62 AB 14 3F C0 07 B2 CA B5 2F 62 2E 00 ; BATTERIES[CR] 2E60: 03 D6 4C F4 BD 35 79 00 ;Description for object: 36 "Worn-out batteries" ; SOME WORN-OUT BATTERIES HAVE BEEN DISCARDED NEARBY.[CR] 2E68: 11 3F B9 59 5E B8 A0 47 EB 04 BC 8E 49 33 62 4B 62 58 72 44 5E 30 60 03 15 53 B7 3F B1 10 58 94 2E88: 5F 9F 50 00 ; BATTERIES[CR] 2E8C: 03 D6 4C F4 BD 35 79 00 ;Description for object: 37 "Gold Nugget" ; THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE![CR] 2E94: 0F 5F BE 5B B1 4B 7B 4E 45 31 49 55 5E 54 A4 C3 86 AB 98 E9 9A B6 6C B8 16 81 15 B3 8B F4 72 45 2EB4: 21 00 ; LARGE GOLD NUGGET[CR] 2EB6: 05 54 8B 9B 6C 3E 6E 10 58 79 C4 45 54 00 ;Description for object: 38 "Diamonds" ; THERE ARE DIAMONDS HERE![CR] 2EC4: 08 5F BE 5B B1 2F 49 03 15 71 48 4D 98 9F 15 59 B1 00 ; SEVERAL DIAMONDS[CR] 2ED6: 05 B8 B7 2B 62 06 8A 8F 78 0E A0 53 00 ;Description for object: 39 "Silver" ; THERE ARE BARS OF SILVER HERE![CR] 2EE3: 0A 5F BE 5B B1 2F 49 AB 14 8B B3 C3 9E 4E B8 74 CA 9F 15 59 B1 00 ; SILVER BARS[CR] 2EF9: 03 4E B8 74 CA AB 14 52 53 00 ;Description for object: 40 "Jewelry" ; THERE IS PRECIOUS JEWELRY HERE![CR] 2F03: 0A 5F BE 5B B1 4B 7B EF A6 51 54 4B C6 79 7F 4C 61 4A DB 2F 62 21 00 ; PRECIOUS JEWELRY[CR] 2F1A: 05 EF A6 51 54 4B C6 79 7F 4C 61 59 00 ;Description for object: 41 "Coins" ; THERE ARE MANY COINS HERE![CR] 2F27: 08 5F BE 5B B1 2F 49 63 16 7B 9B 3B 55 8B 9A F4 72 45 21 00 ; RARE COINS[CR] 2F3B: 03 D4 B0 45 5E 50 9F 53 00 ;Description for object: 42 "Chest" ; THE PHARAOH'S TREASURE CHEST IS HERE![CR] 2F44: 0C 5F BE E2 16 2B 49 15 9F D6 B5 63 B1 34 BA 45 5E F5 72 0B BC CA B5 2F 62 21 00 ; TREASURE CHEST[CR] 2F5F: 04 EF BF 67 49 5B B1 1F 54 53 54 00 ;Description for object: 43 "Nest of golden eggs" ; THERE IS A LARGE NEST HERE, FULL OF GOLDEN EGGS![CR] 2F6B: 10 5F BE 5B B1 4B 7B 4E 45 31 49 50 5E 66 62 9F 15 7E B1 5F 15 F3 8C C3 9E 3E 6E F0 59 29 15 C9 2F8B: 6E 00 ; GOLDEN EGGS[CR] 2F8D: 03 3E 6E F0 59 29 15 47 53 00 ;Description for object: 34 "Key" ; THERE IS A JEWEL-ENCRUSTED KEY HERE![CR] 2F97: 0C 5F BE 5B B1 4B 7B 4C 45 F7 62 57 8F 24 98 66 C6 F3 5F BB 85 9F 15 59 B1 00 ; JEWELED KEY[CR] 2FB1: 03 79 7F 3F 61 0D 58 45 59 00 ;Description for object: 33 "Vase" ; THERE IS A DELICATE, PRECIOUS, VASE HERE![CR] 2FBB: 0D 5F BE 5B B1 4B 7B 46 45 43 61 16 53 B3 63 EF A6 51 54 6E C6 CB 17 9B B7 F4 72 45 21 00 ; VASE[CR] 2FD9: 01 D5 C9 45 00 ;Description for object: 32 "Vase on pillow" ; THE VASE IS NOW RESTING, DELICATELY, ON A VELVET PILLOW.[CR] 2FDE: 12 5F BE CB 17 9B B7 4B 7B 09 9A 2F 17 03 BA CE 98 FF 14 85 8C 7F 49 1E 8F C0 16 7B 14 6E CA 76 2FFE: CA E3 16 09 8D 57 2E 00 ;Description for object: 21 "Pottery" ; THE FLOOR IS LITTERED WITH WORTHLESS SHARDS OF POTTERY.[CR] 3006: 12 5F BE 56 15 44 A0 D5 15 43 16 3F C0 66 B1 FB 17 53 BE 44 D2 66 BE 65 62 5A 17 2E 49 D1 B5 92 3026: 64 0E A1 43 62 2E 00 ;Description for object: 31 "Emerald" ; THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG![CR] 302D: 11 5F BE 5B B1 4B 7B 83 48 67 61 CE B0 0A 58 2F 62 82 17 55 5E 6F 7C B8 16 7B 14 09 A6 74 CA CB 304D: 23 79 60 21 00 ; EGG-SIZED EMERALD[CR] 3052: 05 79 60 DB EB 66 E3 2F 15 2B 62 4C 44 00 ;Description for object: 22 "Pearl" ; OFF TO ONE SIDE LIES A GLISTENING PEARL![CR] 3060: 0D D0 9E 89 17 C0 16 55 5E FF 78 43 16 4B 62 49 45 95 8C F0 BD 91 7A DF 16 36 49 21 00 ; GLISTENING PEARL[CR] 307D: 05 C3 6D FF B9 10 99 D2 6A 94 5F 4C 00 ; YOU ARE AT THE BOTTOM OF THE PIT WITH A BROKEN NECK.[CR] 308A: 11 C7 DE 94 14 43 5E 16 BC DB 72 06 4F 7F BF B8 16 82 17 52 5E 73 7B 56 D1 03 71 BC 14 97 9F 90 30AA: 96 DD 5F 2E 00 ; THE CRACK IS FAR TOO SMALL FOR YOU TO FOLLOW.[CR] 30AF: 0F 5F BE E4 14 DD 46 D5 15 4B 15 96 AF 2B A0 E3 B8 F3 8C 04 68 51 18 56 C2 C8 9C C6 9F 8F A1 00 ; THE DOME IS UNCLIMBABLE.[CR] 30CF: 08 5F BE 09 15 1B 92 4B 7B 8D C5 8F 8C C4 4C FF 8B 00 ; I RESPECTFULLY SUGGEST YOU GO ACROSS THE BRIDGE INSTEAD OF JUMPING.[CR] 30E1: 16 54 77 62 62 E6 5F EE 68 FB 8E 29 BA B5 6C 1B BC 1B A1 2B 6E E4 46 E5 A0 82 17 44 5E 06 B2 9B 3101: 6C 9D 7A E3 BD 11 58 8C 64 72 C5 91 7A 2E 00 ; YOU DIDN'T MAKE IT.[CR] 3110: 06 C7 DE 03 15 45 5B 0F BC 17 48 D6 15 2E 00 ; THERE IS NO WAY ACROSS THE BOTTOMLESS PIT.[CR] 311F: 0E 5F BE 5B B1 4B 7B EB 99 1B D0 85 14 05 B3 D6 B5 DB 72 06 4F 7F BF F5 8B D2 B5 97 7B 00 ; YOU CAN'T GET BY THE SERPENT.[CR] 313D: 09 C7 DE D3 14 E6 96 77 15 04 BC 56 DB DB 72 B4 B7 F0 A4 54 2E 00 ; YOU HAVE CRAWLED THROUGH A VERY LOW WIDE PASSAGE PARALLEL TO AND NORTH OF THE HALL OF GODS.[CR] 3153: 1E C7 DE 9B 15 5B CA AB 55 BF D1 16 58 F9 74 7A C4 7B 14 74 CA 4E DB 6B A1 46 D1 52 5E 65 49 77 3173: 47 DB 16 CE B0 EE 8B 89 17 90 14 10 58 BE A0 11 71 96 64 DB 72 4E 72 11 8A 89 64 8D 9E 2E 00 ; YOU DON'T FIT THROUGH TWO-INCH SLIT![CR] 3192: 0C C7 DE 09 15 E6 96 53 15 16 BC F9 74 7A C4 91 17 1B A2 1A 98 5E 17 71 7B 00 ; YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE MAIN PASSAGE.[CR] 31AC: 1B C7 DE 9B 15 5B CA AB 55 BF D1 03 58 07 B3 33 98 83 7A 3F B9 4E 5E 8E 7B DB 8B 7E 74 4B 62 8E 31CC: 48 01 18 8E C5 B2 17 AB 14 8B 54 83 7A 5F BE 63 16 83 7A 55 A4 09 B7 45 2E 00 ; YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND FOUND YOUR WAY BLOCKED BY A FALLEN SLAB. YOU ARE ; NOW BACK IN THE MAIN PASSAGE.[CR] 31E6: 2A C7 DE 9B 15 5B CA AB 55 BF D1 03 58 07 B3 33 98 83 7A 3F B9 4E 5E 8E 7B DB 8B 7E 74 4B 62 8E 3206: 48 59 15 8E C5 51 18 23 C6 1B D0 B6 14 5D 9E F3 5F 7B 50 48 45 46 48 83 61 BB B8 1B 51 C7 DE 94 3226: 14 50 5E 6B A1 C5 4C CB 83 96 96 DB 72 8B 91 92 96 65 49 77 47 2E 00 ; YOU CAN'T FIT THIS BIG SARCOPHAGUS THROUGH THAT LITTLE PASSAGE![CR] 323D: 15 C7 DE D3 14 E6 96 53 15 16 BC 95 73 B3 14 D5 6A 2D 49 62 A0 87 47 D6 B5 F9 74 7A C4 82 17 73 325D: 49 96 8C FF BE DB 16 D3 B9 99 6C 00 ; SOMETHING YOU'RE CARRYING WON'T FIT THROUGH THE TUNNEL WITH YOU. YOU'D BEST TAKE INVENTORY AND DROP ; SOMETHING.[CR] 3269: 24 3F B9 82 62 91 7A 51 18 A4 C2 45 5E 3C 49 D0 DD D9 6A 05 A0 08 BC 73 7B 6C BE 29 A1 16 71 DB 3289: 72 70 C0 6E 98 FB 17 53 BE C7 DE 5B F4 1D A1 04 58 66 62 7B 17 9B 85 A0 7A 9E 61 C3 A0 90 14 06 32A9: 58 02 B3 61 17 36 92 90 73 47 2E 00 ; YOU CLAMBER UP THE PLANT AND SCURRY THROUGH THE HOLE AT THE TOP.[CR] 32B5: 15 C7 DE DE 14 64 48 23 62 D3 C5 5F BE E6 16 9E 48 90 14 15 58 34 56 7B B4 6C BE 29 A1 16 71 DB 32D5: 72 7E 74 43 5E 16 BC DB 72 82 BF 2E 00 ; YOU'VE CLIMBED UP THE PLANT AND OUT OF THE PIT.[CR] 32E2: 0F C7 DE 4F 24 DE 14 64 7A F3 5F D3 C5 5F BE E6 16 9E 48 90 14 11 58 73 C6 C3 9E 5F BE E3 16 54 3302: 2E 00 ; THERE IS NO WAY FOR YOU TO GO THAT DIRECTION.[CR] 3304: 0F 5F BE 5B B1 4B 7B EB 99 1B D0 59 15 9B AF 1B A1 6B BF 2B 6E 5B BE 06 BC 2F 7B 03 56 27 A0 00 ; I DON'T KNOW IN FROM OUT HERE. USE COMPASS POINTS.[CR] 3324: 10 46 77 05 A0 0D BC 09 9A D0 15 5C 15 DB 9F 36 A1 9F 15 7F B1 B5 17 45 5E F2 9F 65 49 E9 16 9E 3344: 7A 53 2E 00 ; I AM UNSURE HOW YOU ARE FACING. USE COMPASS POINTS.[CR] 3348: 11 43 77 57 90 A7 9A 5B B1 89 74 51 18 43 C2 5B B1 C5 65 91 7A 57 F4 9B B7 3F 55 55 A4 D2 B5 50 3368: 9F 2F C0 00 ; NOTHING HAPPENS.[CR] 336C: 05 06 9A 90 73 CA 6A EA 48 9D 61 2E 00 ; I DON'T KNOW HOW.[CR] 3379: 05 46 77 05 A0 0D BC 09 9A A9 15 57 2E 00 ; I DON'T KNOW HOW TO APPLY THAT WORD HERE.[CR] 3387: 0D 46 77 05 A0 0D BC 09 9A A9 15 D6 CE C3 9C A6 A6 56 DB 56 72 01 18 33 B1 F4 72 45 2E 00 ; YOUR LAMP IS NOW ON.[CR] 33A5: 06 C7 DE 8E AF 72 48 D5 15 99 16 D1 CE 4E 2E 00 ; YOU HAVE NO SOURCE OF LIGHT.[CR] 33B5: 09 C7 DE 9B 15 5B CA EB 99 47 B9 17 B1 B8 16 43 16 2E 6D 2E 00 ; YOUR LAMP IS NOW OFF.[CR] 33CA: 07 C7 DE 8E AF 72 48 D5 15 99 16 D1 CE A7 66 00 ; OK [CR] 33DA: 01 8B 9F 00 ; SORRY, BUT I NO LONGER SEEM TO REMEMBER HOW IT WAS YOU GOT HERE.[CR] 33DE: 15 44 B9 9E B4 BF 14 0B BC 99 16 49 16 B7 98 95 AF 2F 60 89 17 2F 17 2F 92 74 4D A9 15 CB CE 19 33FE: BC 4B 49 C7 DE 81 15 0A BC 2F 62 2E 00 ; YOU ARE ALREADY CARRYING IT.[CR] 340B: 09 C7 DE 94 14 43 5E EF 8D 13 47 D3 14 83 B3 91 7A D6 15 2E 00 ; YOU CAN'T CARRY ANYTHING MORE. YOU'LL HAVE TO DROP SOMETHING FIRST.[CR] 3420: 16 C7 DE D3 14 E6 96 D3 14 83 B3 90 14 82 DF 91 7A 71 16 7F B1 51 18 9E C2 0A 8A CF 49 89 17 0C 3440: 15 53 A0 3F B9 82 62 91 7A 53 15 A6 B3 2E 00 ; YOU'RE NOT CARRYING ANYTHING.[CR] 344F: 09 C7 DE AF 23 99 16 05 BC 3C 49 D0 DD C3 6A 96 9B 90 73 47 2E 00 ; YOU ARE CURRENTLY HOLDING THE FOLLOWING:[CR] 3465: 0D C7 DE 94 14 45 5E 3C C6 9E 61 FB 8E 7E 74 90 5A D6 6A DB 72 FE 67 89 8D 91 7A 3A 00 ; DON'T BE RIDICULOUS![CR] 3482: 06 80 5B F3 23 5B 4D 06 B2 E7 78 87 8D 53 21 00 ; YOUR BOTTLE IS EMPTY AND THE GROUND IS WET.[CR] 3492: 0E C7 DE 84 AF 0E A1 DB 8B 4B 7B 72 61 FB C0 8E 48 82 17 49 5E 07 B3 33 98 4B 7B B6 D0 2E 00 ; YOU CAN'T POUR THAT.[CR] 34B1: 06 C7 DE D3 14 E6 96 E9 16 23 C6 5B BE 54 2E 00 ; RUBBING THE ELECTRIC LAMP IS NOT PARTICULARLY REWARDING. ANYWAY, NOTHING EXCITING HAPPENS.[CR] 34C1: 1E E4 B3 10 4E D6 6A DB 72 3F 61 0C 56 CB 78 4F 8B 0B A3 D0 B5 F3 A0 54 A4 85 BE 3B C5 93 B2 2F 34E1: 17 14 D0 90 5A 5B 70 A3 48 1B D0 10 EE 02 A1 91 7A 3A 15 56 54 91 7A 9B 15 9F A6 AF 9A 00 ; PECULIAR. NOTHING UNEXPECTED HAPPENS.[CR] 34FF: 0C E5 A4 43 C5 47 49 99 16 63 BE AB 98 8F C5 9F D8 FF 55 0A 58 EA 48 9D 61 2E 00 ; THERE IS NOTHING HERE WITH WHICH TO FILL THE BOTTLE.[CR] 351A: 11 5F BE 5B B1 4B 7B 06 9A 90 73 CA 6A 2F 62 FB 17 53 BE 23 D1 13 54 6B BF 0E 67 16 8A DB 72 06 353A: 4F FF BE 2E 00 ; THE BOTTLE IS NOW EMPTY.[CR] 353F: 08 5F BE B9 14 46 C0 4B 5E D0 B5 6B A1 72 61 1F C1 00 ; YOU CAN'T FILL THAT.[CR] 3551: 06 C7 DE D3 14 E6 96 53 15 F3 8C 5B BE 54 2E 00 ; A GLISTENING PEARL FALLS OUT OF THE SARCOPHAGUS AND ROLLS AWAY. THE SARCOPHAGUS SNAPS SHUT ; AGAIN.[CR] 3561: 20 49 45 95 8C F0 BD 91 7A DF 16 36 49 4B 15 0D 8D C7 16 11 BC 96 64 DB 72 14 B7 42 55 49 72 4B 3581: C6 8E 48 39 17 0D 8D 99 14 5F 4A 82 17 55 5E 2D 49 62 A0 87 47 D5 B5 D2 97 D5 B5 76 75 89 14 D0 35A1: 47 2E 00 ; I'D ADVISE YOU TO PUT DOWN THE SARCOPHAGUS BEFORE OPENING IT!![CR] 35A4: 14 96 77 86 14 15 CB 5B 5E 1B A1 6B BF 76 A7 09 15 03 D2 5F BE 53 17 21 B1 5B A5 35 6F AF 14 04 35C4: 68 51 5E F0 A4 91 7A D6 15 21 21 00 ; THE SARCOPHAGUS CREAKS OPEN, REVEALING NOTHING INSIDE. IT PROMPTLY SNAPS SHUT AGAIN.[CR] 35D0: 1C 5F BE 53 17 21 B1 5B A5 35 6F E4 14 8D 5F D1 B5 F0 A4 14 EE CF 62 43 48 AB 98 06 9A 90 73 CB 35F0: 6A 9B 9A FF 59 D6 15 EC 16 F2 9F 13 BF 60 17 ED 48 5A 17 73 C6 73 47 A7 7A 00 ; YOU DON'T HAVE ANYTHING STRONG ENOUGH TO OPEN THE SARCOPHAGUS.[CR] 360A: 14 C7 DE 09 15 E6 96 9B 15 5B CA A3 48 63 BE AB 98 0C BA 11 A0 30 15 29 A1 16 71 D1 9C F0 A4 82 362A: 17 55 5E 2D 49 62 A0 87 47 53 2E 00 ; I DON'T KNOW HOW TO LOCK OR UNLOCK SUCH A THING.[CR] 3636: 10 46 77 05 A0 0D BC 09 9A A9 15 D6 CE CE 9C 5D 9E C4 16 B0 17 75 8D D5 83 DA C3 7B 14 63 BE CF 3656: 98 00 ; THE BIRD STATUE IS NOW DEAD. ITS BODY DISAPPEARS.[CR] 3658: 10 5F BE B3 14 33 B1 FB B9 67 C0 D5 15 99 16 C6 CE 86 5F 4B F4 0B C0 F6 4E 46 DB 53 7B 9F A6 3D 3678: 49 2E 00 ; THE STONE IS VERY STRONG AND IS IMPERVIOUS TO ATTACK.[CR] 367B: 11 5F BE 66 17 0F A0 D5 15 CF 17 7B B4 0C BA 11 A0 90 14 0B 58 CB B5 DF 93 13 B4 35 A1 89 17 96 369B: 14 45 BD 4B 2E 00 ; ATTACKING THE SERPENT BOTH DOESN'T WORK AND IS VERY DANGEROUS.[CR] 36A1: 14 8E 49 DD 46 91 7A 82 17 55 5E 3A 62 9E 61 B9 14 53 BE 77 5B 05 B9 19 BC B5 A0 90 14 0B 58 D8 36C1: B5 43 62 FB 14 B7 98 07 B3 53 2E 00 ; YOU CAN'T BE SERIOUS![CR] 36CD: 07 C7 DE D3 14 E6 96 AF 14 57 17 11 B2 49 C6 00 ; IT IS BEYOND YOUR POWER TO DO THAT.[CR] 36DD: 0B 73 7B 4B 7B 7B 4D 0E A0 51 18 23 C6 89 A6 23 62 6B BF 6B 5B 5B BE 54 2E 00 ; THANK YOU, IT WAS DELICIOUS![CR] 36F7: 09 5B BE 4B 99 C7 DE 0B EE 19 BC 4B 49 EE 59 DB 78 35 A1 21 00 ; I THINK I JUST LOST MY APPETITE.[CR] 370C: 0A 56 77 90 73 CB 83 FF 15 F3 B9 85 8D 0F BC 43 DB 9F A6 96 BE 45 2E 00 ; YOU HAVE TAKEN A DRINK FROM THE STREAM. THE WATER TASTES STRONGLY OF MINERALS, BUT IS NOT ; UNPLEASANT. IT IS EXTREMELY COLD.[CR] 3724: 29 C7 DE 9B 15 5B CA 4D BD 83 61 46 45 10 B2 C8 83 FF B2 82 17 55 5E EF BF 7F 48 82 17 59 5E 7F 3744: 49 96 AF 66 49 4B 62 0C BA 11 A0 FB 8E C3 9E D0 92 2B 62 2E 8E BF 14 0B BC D0 B5 F3 A0 9A C5 E3 3764: 8B 10 B7 9B C1 73 7B 4B 7B 2E 63 6F B1 53 61 E1 14 D7 8B 00 ; IT'S NOT HUNGRY. BESIDES, YOU HAVE NO BIRD SEED.[CR] 3778: 10 75 7B D0 B5 F3 A0 70 75 C3 6E 44 F4 5B 62 F5 59 1B EE 1B A1 58 72 50 5E C4 9C 2E 7B 57 17 17 3798: 60 00 ; YOU FELL INTO A PIT AND BROKE EVERY BONE IN YOUR BODY. [CR] 379A: 12 C7 DE 4F 15 F3 8C 9E 7A C3 9C E3 16 03 BC 33 98 79 4F 9B 85 CF 62 7B B4 00 4F 4B 5E 9B 96 34 37BA: A1 B9 14 1F 5D 20 00 ; THE SERPENT HAS NOW DEVOURED YOUR BIRD STATUE.[CR] 37C1: 0F 5F BE 57 17 1F B3 B3 9A 55 72 99 16 C6 CE D9 62 2F C6 1B 58 34 A1 B3 14 33 B1 FB B9 67 C0 2E 37E1: 00 ; THERE IS NOTHING HERE IT WANTS TO EAT - EXCEPT PERHAPS YOU.[CR] 37E2: 13 5F BE 5B B1 4B 7B 06 9A 90 73 CA 6A 2F 62 D6 15 F3 17 CD 9A 89 17 23 15 1D BC 3A 15 B2 53 12 3802: BC 32 62 ED 48 51 18 55 2E 00 ; IT IS NOW PITCH DARK. IF YOU PROCEED, YOU WILL LIKELY FALL INTO A PIT.[CR] 380C: 17 73 7B 4B 7B 09 9A E3 16 9A BD FB 14 6F B2 C8 15 51 18 52 C2 F5 B2 26 60 1B EE 1B A1 4E D1 0E 382C: 8A 17 7A FB 8E CE 65 0B 8A C9 9A 7B 14 96 A5 2E 00 ; I'M GAME. WOULD YOU CARE TO EXPLAIN HOW?[CR] 383D: 0D 9F 77 73 15 3F 92 01 18 3E C5 51 18 45 C2 2F 49 89 17 3A 15 FB A5 83 7A 89 74 3F 00 ; YOUR LAMP IS GETTING DIM. YOU'D BEST START WRAPPING THIS UP, UNLESS YOU CAN FIND SOME FRESH ; BATTERIES. I SEEM TO RECALL THERE IS A VENDING MACHINE IN THE MAZE. BRING SOME COINS WITH YOU.[CR] 385A: 3E C7 DE 8E AF 72 48 D5 15 77 15 43 C0 AB 98 8F 5A 5B F4 1D A1 04 58 66 62 66 17 3E 49 04 18 EA 387A: 48 91 7A 82 17 4B 7B F6 C5 B0 17 F5 8B DB B5 1B A1 10 53 53 15 33 98 3F B9 48 5E 75 B1 04 71 8E 389A: 49 33 62 6F 62 BB 15 A7 B7 56 90 D4 9C D3 5F F3 8C 5F BE 5B B1 4B 7B 58 45 8E 61 91 7A 63 16 23 38BA: 54 5B 98 83 7A 5F BE 63 16 7F E3 BC 14 91 7A 61 17 1B 92 3B 55 8B 9A 56 D1 1B 71 3F A1 00 ; YOUR LAMP HAS RUN OUT OF POWER.[CR] 38D8: 0A C7 DE 8E AF 72 48 9B 15 D4 B5 83 C5 36 A1 B8 16 E9 16 B4 D0 2E 00 ; THE PLANT HAS EXCEPTIONALLY DEEP ROOTS AND CANNOT BE PULLED FREE.[CR] 38EF: 15 5F BE E6 16 9E 48 9B 15 C7 B5 97 D6 43 A7 0B A0 13 8D FF 14 D3 61 01 B3 0B C0 8E 48 D3 14 D9 390F: 99 04 BC 52 5E 46 C5 F3 5F 6F 68 45 2E 00 ; YOUR LAMP IS GETTING DIM. I'M TAKING THE LIBERTY OF REPLACING THE BATTERIES.[CR] 391D: 19 C7 DE 8E AF 72 48 D5 15 77 15 43 C0 AB 98 8F 5A 4B F4 DB 22 4D BD 91 7A 82 17 4E 5E AF 78 D3 393D: B3 B8 16 2F 17 FB A5 50 54 D6 6A DB 72 D6 4C F4 BD 35 79 2E 00 ; AS YOU APPROACH THE STATUE, IT COMES TO LIFE AND FLIES ACROSS THE CHAMBER WHERE IT LANDS AND RETURNS ; TO STONE.[CR] 3952: 24 4B 49 C7 DE 92 14 F9 A6 DA 46 82 17 55 5E 56 BD 3E C4 D6 15 E1 14 35 92 89 17 43 16 5B 66 8E 3972: 48 56 15 35 79 85 14 05 B3 D6 B5 DB 72 1B 54 AF 91 99 AF F4 72 4B 5E 0E BC 8E 48 C3 B5 33 98 76 3992: B1 38 C6 D6 B5 D5 9C 80 BF 45 2E 00 ; YOU CAN LIFT THE STATUE, BUT YOU CANNOT CARRY IT.[CR] 399E: 10 C7 DE D3 14 8E 96 5E 79 82 17 55 5E 56 BD 3E C4 BF 14 1B BC 1B A1 10 53 06 9A D3 14 83 B3 D6 39BE: 15 2E 00 ; YOUR BOTTLE IS ALREADY FULL.[CR] 39C1: 09 C7 DE 84 AF 0E A1 DB 8B 4B 7B 4C 48 86 5F 48 DB 46 C5 2E 00 ; SUDDENLY, A MUMMY CREEPS UP BEHIND YOU!! "I'M THE KEEPER OF THE TOMB", HE WAILS, "I TAKE THESE ; TREASURES AND PUT THEM IN THE CHEST DEEP IN THE MAZE!" HE GRABS YOUR TREASURE AND VANISHES INTO THE ; GLOOM.[CR] 39D6: 43 26 BA F0 59 1E 8F 7B 14 AF 94 3B 95 AF 55 ED 61 B2 17 AF 14 90 73 1B 58 19 A1 BC 06 9F 77 82 39F6: 17 4D 5E 32 60 23 62 C3 9E 5F BE 89 17 A4 91 0A EE 59 5E CE 47 33 BB FB 1B 4D BD 56 5E F5 72 56 3A16: 5E 63 B1 34 BA 4B 62 8E 48 EF 16 16 BC EF 72 D0 15 82 17 45 5E F5 72 06 BC 32 60 D0 15 82 17 4F 3A36: 5E 6F 4A E3 06 DB 72 AB 6E 8B 4F C7 DE 96 AF 63 B1 34 BA 43 5E 33 98 D0 C9 5A 7B 4B 62 9E 7A D6 3A56: 9C DB 72 C9 6D FF 9F 00 ; THE STONE BRIDGE HAS RETRACTED![CR] 3A5E: 0A 5F BE 66 17 0F A0 BC 14 01 79 4A 5E 4B 49 76 B1 C5 B0 E6 BD 21 00 ; A STONE BRIDGE NOW SPANS THE BOTTOMLESS PIT.[CR] 3A75: 0E 55 45 80 BF 44 5E 06 B2 9B 6C 09 9A 62 17 9D 48 82 17 44 5E 0E A1 EE 9F 65 62 E3 16 54 2E 00 ; THE VASE IS NOW RESTING, DELICATELY, ON A VELVET PILLOW.[CR] 3A95: 12 5F BE CB 17 9B B7 4B 7B 09 9A 2F 17 03 BA CE 98 FF 14 85 8C 7F 49 1E 8F C0 16 7B 14 6E CA 76 3AB5: CA E3 16 09 8D 57 2E 00 ; THE VASE DROPS WITH A DELICATE CRASH.[CR] 3ABD: 0C 5F BE CB 17 9B B7 F9 5B 0B A7 56 D1 03 71 FF 14 85 8C 7F 49 E4 14 5A 49 2E 00 ; THERE ARE NOW SOME FRESH BATTERIES HERE.[CR] 3AD8: 0D 5F BE 5B B1 2F 49 99 16 D5 CE E7 9F 5C 15 5A 62 AB 14 3F C0 07 B2 CA B5 2F 62 2E 00 ; YOU HAVE TAKEN THE VASE AND HURLED IT DELICATELY TO THE GROUND.[CR] 3AF5: 15 C7 DE 9B 15 5B CA 4D BD 83 61 5F BE CB 17 9B B7 8E 48 AF 15 7F B2 0B 58 06 BC 43 61 16 53 53 3B15: 61 89 17 82 17 49 5E 07 B3 57 98 00 ; THE BIRD STATUE COMES TO LIFE AND ATTACKS THE SERPENT AND IN AN ASTOUNDING FLURRY, DRIVES THE ; SERPENT AWAY. THE BIRD TURNS BACK INTO A STATUE.[CR] 3B21: 2F 5F BE B3 14 33 B1 FB B9 67 C0 E1 14 35 92 89 17 43 16 5B 66 8E 48 96 14 45 BD CB 87 5F BE 57 3B41: 17 1F B3 B3 9A 8E 48 D0 15 90 14 95 14 87 BF 43 98 AB 98 8F 67 83 B3 06 EE 18 B2 4B 62 5F BE 57 3B61: 17 1F B3 B3 9A F3 49 DB E0 5F BE B3 14 33 B1 74 C0 8B 9A C5 4C CB 83 C9 9A 7B 14 FB B9 67 C0 2E 3B81: 00 ; THE PLANT SPURTS INTO FURIOUS GROWTH FOR A FEW SECONDS.[CR] 3B82: 12 5F BE E6 16 9E 48 62 17 3E C6 CB B5 C9 9A 5F 15 11 B2 4B C6 B9 6E 02 D3 59 15 83 AF 4F 15 D5 3BA2: CE E1 5F 4D 98 2E 00 ; THE PLANT GROWS EXPLOSIVELY, ALMOST FILLING THE BOTTOM OF THE PIT.[CR] 3BA9: 16 5F BE E6 16 9E 48 84 15 85 A1 3A 15 09 A6 58 B8 53 61 03 EE 31 8D F3 B9 0E 67 90 8C D6 6A DB 3BC9: 72 06 4F 7F BF B8 16 82 17 52 5E 97 7B 00 ; YOU'VE OVER-WATERED THE PLANT! IT'S SHRIVELING UP![CR] 3BD7: 10 C7 DE 4F 24 C8 16 45 62 16 D0 2F 62 16 58 DB 72 FB A5 B1 9A D6 15 CB 23 2C B8 CF 7B 90 8C D7 3BF7: 6A 50 21 00 ; THERE IS NOTHING HERE TO CLIMB. USE UP OR OUT TO LEAVE THE PIT.[CR] 3BFB: 15 5F BE 5B B1 4B 7B 06 9A 90 73 CA 6A 2F 62 89 17 DE 14 64 7A 57 F4 9B B7 D3 C5 A3 A0 36 A1 89 3C1B: 17 3F 16 CF 49 82 17 52 5E 97 7B 00 ; READY CASSETTE[CR] 3C27: 04 63 B1 FB 5C 15 53 B6 B7 54 45 00 ; CHECKSUM ERROR[CR] 3C33: 04 1F 54 A5 54 5B C5 3C 62 4F 52 00 3C3F: 00 ;##WordTable ; Info + text + data ; Info byte: ; AA_BBB_CCC ; ; AA = Grammar ; 0 = Noun ; 1 = Verb (and needs noun in pack) ; 2 = Verb (and needs noun in pack or room) ; 3 = Verb (stand alone) ; ; BBB = number of bytes in token data ; CCC = number of bytes in token text ; ; Object words ; A single name can refer to several objects. The object data is ; the search order for finding objects in the pack or room. For ; instance, the LAMP refers to: ; 1) 0x0E unlit lamp ; 2) 0x0F lit lamp ; 3) 0x2C dead lamp ; ; Nouns ; Objects 3C40: 1C 4C 41 4D 50 0E 0F 2C ; 00_011_100 LAMP 3C48: 1E 4C 41 4E 54 45 52 0E 0F 2C ; 00_011_110 LANTER 3C52: 0B 42 4F 58 10 ; 00_001_011 BOX 3C57: 0F 53 43 45 50 54 45 52 11 ; 00_001_111 SCEPTER 3C60: 14 42 49 52 44 13 14 ; 00_010_100 BIRD 3C67: 16 53 54 41 54 55 45 13 14 ; 00_010_110 STATUE 3C70: 0E 50 49 4C 4C 4F 57 12 ; 00_001_110 PILLOW 3C78: 0E 56 45 4C 56 45 54 12 ; 00_001_110 VELVET 3C80: 0E 53 45 52 50 45 4E 0B ; 00_001_110 SERPEN 3C88: 16 53 41 52 43 4F 50 17 18 ; 00_010_110 SARCOP 3C91: 0E 4D 41 47 41 5A 49 19 ; 00_001_110 MAGAZI 3C99: 0D 49 53 53 55 45 19 ; 00_001_101 ISSUE 3CA0: 0E 45 47 59 50 54 49 19 ; 00_001_110 EGYPTI 3CA8: 0C 46 4F 4F 44 1A ; 00_001_100 FOOD 3CAE: 0E 42 4F 54 54 4C 45 1B ; 00_001_110 BOTTLE 3CB6: 15 57 41 54 45 52 1C 1E ; 00_010_101 WATER 3CBE: 1D 50 4C 41 4E 54 07 08 09 ; 00_011_101 PLANT 3CC7: 1E 42 45 41 4E 53 54 07 08 09 ; 00_011_110 BEANST 3CD1: 0E 4D 41 43 48 49 4E 06 ; 00_001_110 MACHIN 3CD9: 0E 56 45 4E 44 49 4E 06 ; 00_001_110 VENDIN 3CE1: 16 42 41 54 54 45 52 23 24 ; 00_010_110 BATTER 3CEA: 0C 47 4F 4C 44 25 ; 00_001_100 GOLD 3CF0: 0E 4E 55 47 47 45 54 25 ; 00_001_110 NUGGET 3CF8: 0E 44 49 41 4D 4F 4E 26 ; 00_001_110 DIAMON 3D00: 0E 53 49 4C 56 45 52 27 ; 00_001_110 SILVER 3D08: 0C 42 41 52 53 27 ; 00_001_100 BARS 3D0E: 0E 4A 45 57 45 4C 52 28 ; 00_001_110 JEWELR 3D16: 0D 43 4F 49 4E 53 29 ; 00_001_101 COINS 3D1D: 0D 43 48 45 53 54 2A ; 00_001_101 CHEST 3D24: 0E 54 52 45 41 53 55 2A ; 00_001_110 TREASU 3D2C: 0C 45 47 47 53 2B ; 00_001_100 EGGS 3D32: 0B 45 47 47 2B ; 00_001_011 EGG 3D37: 0C 4E 45 53 54 2B ; 00_001_100 NEST 3D3D: 0B 4B 45 59 22 ; 00_001_011 KEY 3D42: 14 56 41 53 45 20 21 ; 00_010_100 VASE 3D49: 0E 53 48 41 52 44 53 15 ; 00_001_110 SHARDS 3D51: 0E 50 4F 54 54 45 52 15 ; 00_001_110 POTTER 3D59: 0E 45 4D 45 52 41 4C 1F ; 00_001_110 EMERAL 3D61: 0D 50 45 41 52 4C 16 ; 00_001_101 PEARL ; ; Verbs 3D68: C9 4E 01 ; 11_001_001 N 3D6B: CD 4E 4F 52 54 48 01 ; 11_001_101 NORTH 3D72: C9 45 02 ; 11_001_001 E 3D75: CC 45 41 53 54 02 ; 11_001_100 EAST 3D7B: C9 53 03 ; 11_001_001 S 3D7E: CD 53 4F 55 54 48 03 ; 11_001_101 SOUTH 3D85: C9 57 04 ; 11_001_001 W 3D88: CC 57 45 53 54 04 ; 11_001_100 WEST 3D8E: CA 4E 45 05 ; 11_001_010 NE 3D92: CE 4E 4F 52 54 48 45 05 ; 11_001_110 NORTHE 3D9A: CA 53 45 06 ; 11_001_010 SE 3D9E: CE 53 4F 55 54 48 45 06 ; 11_001_110 SOUTHE 3DA6: CA 53 57 07 ; 11_001_010 SW 3DAA: CE 53 4F 55 54 48 57 07 ; 11_001_110 SOUTHW 3DB2: CA 4E 57 08 ; 11_001_010 NW 3DB6: CE 4E 4F 52 54 48 57 08 ; 11_001_110 NORTHW 3DBE: C9 55 09 ; 11_001_001 U 3DC1: CA 55 50 09 ; 11_001_010 UP 3DC5: C9 44 0A ; 11_001_001 D 3DC8: CC 44 4F 57 4E 0A ; 11_001_100 DOWN 3DCE: CA 49 4E 0B ; 11_001_010 IN 3DD2: CE 49 4E 53 49 44 45 0B ; 11_001_110 INSIDE 3DDA: CB 4F 55 54 0C ; 11_001_011 OUT 3DDF: CE 4F 55 54 53 49 44 0C ; 11_001_110 OUTSID 3DE7: CD 43 52 4F 53 53 0D ; 11_001_101 CROSS 3DEE: CC 4C 45 46 54 0E ; 11_001_100 LEFT 3DF4: CD 52 49 47 48 54 0F ; 11_001_101 RIGHT 3DFB: CC 4A 55 4D 50 10 ; 11_001_100 JUMP 3E01: CD 43 4C 49 4D 42 11 ; 11_001_101 CLIMB 3E08: CD 50 41 4E 45 4C 12 ; 11_001_101 PANEL 3E0F: CC 42 41 43 4B 14 ; 11_001_100 BACK 3E15: CC 53 57 49 4D 16 ; 11_001_100 SWIM 3E1B: CA 4F 4E 17 ; 11_001_010 ON 3E1F: CB 4F 46 46 18 ; 11_001_011 OFF 3E24: CC 51 55 49 54 19 ; 11_001_100 QUIT 3E2A: CC 53 54 4F 50 19 ; 11_001_100 STOP 3E30: CD 53 43 4F 52 45 1A ; 11_001_101 SCORE 3E37: CE 49 4E 56 45 4E 54 1B ; 11_001_110 INVENT 3E3F: CC 4C 4F 4F 4B 1C ; 11_001_100 LOOK 3E45: 4C 44 52 4F 50 21 ; 01_001_100 DROP 3E4B: 4E 52 45 4C 45 41 53 21 ; 01_001_110 RELEAS 3E53: 4C 46 52 45 45 21 ; 01_001_100 FREE 3E59: 4E 44 49 53 43 41 52 21 ; 01_001_110 DISCAR 3E61: CD 4C 49 47 48 54 17 ; 11_001_101 LIGHT 3E68: 4C 57 41 56 45 23 ; 01_001_100 WAVE 3E6E: 4D 53 48 41 4B 45 23 ; 01_001_101 SHAKE 3E75: 4D 53 57 49 4E 47 23 ; 01_001_101 SWING 3E7C: 4C 50 4F 55 52 24 ; 01_001_100 POUR 3E82: 4B 52 55 42 25 ; 01_001_011 RUB 3E87: 4D 54 48 52 4F 57 26 ; 01_001_101 THROW 3E8E: 4C 54 4F 53 53 26 ; 01_001_100 TOSS 3E94: 4C 46 49 4C 4C 27 ; 01_001_100 FILL 3E9A: 8C 54 41 4B 45 28 ; 10_001_100 TAKE 3EA0: 8B 47 45 54 28 ; 10_001_011 GET 3EA5: 8D 43 41 52 52 59 28 ; 10_001_101 CARRY 3EAC: 8D 43 41 54 43 48 28 ; 10_001_101 CATCH 3EB3: 8D 53 54 45 41 4C 28 ; 10_001_101 STEAL 3EBA: 8E 43 41 50 54 55 52 28 ; 10_001_110 CAPTUR 3EC2: 8C 4F 50 45 4E 29 ; 10_001_100 OPEN 3EC8: 8E 41 54 54 41 43 4B 2C ; 10_001_110 ATTACK 3ED0: 8C 4B 49 4C 4C 2C ; 10_001_100 KILL 3ED6: 8B 48 49 54 2C ; 10_001_011 HIT 3EDB: 8D 46 49 47 48 54 2C ; 10_001_101 FIGHT 3EE2: 8C 46 45 45 44 2D ; 10_001_100 FEED 3EE8: 8B 45 41 54 2E ; 10_001_011 EAT 3EED: 8D 44 52 49 4E 4B 2F ; 10_001_101 DRINK 3EF4: 8D 42 52 45 41 4B 30 ; 10_001_101 BREAK 3EFB: 8D 53 4D 41 53 48 30 ; 10_001_101 SMASH 3F02: CC 4C 4F 41 44 3A ; 11_001_100 LOAD 3F08: CC 53 41 56 45 3B ; 11_001_100 SAVE 3F0E: CD 50 4C 55 47 48 39 ; 11_001_101 PLUGH 3F15: 00 ;##Unused ; Unused data on end of program 3F16: 0D 00 02 88 88 80 FA 00 00 4F 88