HERE
HERE
Pyramid 2000 (CoCo)
; TRS80 Color Computer Pyramid 2000
; Disassembled by Chris Cantrell 2007
; 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 FFLDS #$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 BFSTY $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 40LDY #$3C40 ; Word table
07D3: 10 BF 01 F0STY $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 A2LBEQ $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 A0LBEQ $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 F0STY $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 B4STY $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 56LBEQ $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 1DLBEQ $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 C6LDY #$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 00JSR [$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 02JSR [$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 02JSR [$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 02JSR [$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 02JSR [$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 6CLBMI $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 E4LDY #$01E4 ; Have ...
09E2: 10 BF 01 BFSTY $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 88STA [$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 0CJSR [$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 08JSR [$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 08JSR [$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 04JSR [$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 06JSR [$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 06JSR [$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 FFLDS #$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 FFLDS #$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 04LDY #$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 04LDY #$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 6CLBNE $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