Address Description
6C00
Game entry point (RANDOMIZE USR 27648)
6C27
Start or restart a game
6D0A
Main command loop
6DCD
Read a line of input from the keyboard
6E46
Cursor-key shortcuts
6E71
Repeat the last command
6E82
Delete the whole input line
6E8E
Turn the next word of the input into a token
6F27
Recognise punctuation
6F3E
Start a dictionary search for the typed word
6FB1
Compare the typed word with a dictionary word
6FCA
Clear the screen
70D9
Clear a block of memory
70DF
Get the address of an action table entry
70EA
Collect the flag nibbles of an action table entry
7111
Report the action (if not inside a quotation)
7122
Report the action ("you attack thorin with the sword.")
71CC
Get the address of a room's word list
71D9
Get the address of an object's word list
71EA
Match a command against an action table entry
7225
Compare two word references
7240
Wait for a key, typing WAIT if the player is idle
7282
Compare HL with DE
72BA
Print a character from a message
72C5
Print "I cannot do that."
72CA
Print a message, suppressing actions inside a quotation
72D4
Print a message (message bytecode interpreter)
7337
Message code $14: end with a new line
733B
Message code $15: end with a full stop
733F
Print the last word of a message and finish
735E
Message code $00: print an object passed on the stack
736D
Message code $01: print a word passed on the stack
7375
Message code $02: relative jump
7384
Message code $03: print the instrument's noun
738B
Message code $04: print a word with an article
739A
Message code $06: print the actor's name
73A6
Message code $07: print the target
73B4
Message codes $08 and $09
73BE
Print the instrument
73D7
Message code $0B: call a sub-message
73F0
Message code $0C: HIS or YOUR (actor)
73FE
Message code $0E: HIS or YOUR (target)
7403
Message code $10: "you are" or "thorin is"
741C
Message code $11: target's name and IS/ARE
7424
Message code $13: pushed object's name and IS/ARE
742B
Print an object's name from its word list
7436
Print the article for a word
746F
Print a word, with an article if required
747F
Print the name of object A
748A
Print an abbreviated word
74B1
Print a word from a list
74B8
Print a dictionary word
756B
Is output enabled?
7578
Print a newline
7580
Print a character
75AC
Print a character in the input window (entry from 7580)
75AD
Print a character in the lower (input) window
7600
Scroll the input window up
763D
Scroll the input window down
766D
Print a character using the ROM font
7694
Put a character on the screen
7754
Move back one character position
775E
Scroll the story window up
77BC
Draw a character glyph
7B15
Copy a line of text to the ZX Printer
7B6B
Short delay
7B86
Read a key
7C4F
Parse the command
7CB6
Is the parser inside a quotation (set Z)?
7CBB
Is the parser inside a quotation?
7CC0
Parser: end of line (and THEN / full stop)
7DB6
Parser: a direction
7DD5
Parser: AND
7DF9
Parser: GO or RUN
7DFB
Parser: a verb
7E5A
Parser: an article
7E5F
Parser: IN or INTO
7E6C
Parser: a noun phrase
7ED3
Parser: store an adjective
7EE6
Parser: store a preposition
7EF5
Parser: store a noun phrase in the frame
7F22
Parser: move on to the next frame
7F29
Parser: clear the ALL state
7F2E
Parser: clear the current frame
7F3D
Parser: fetch the next token
7F56
Parser: step back to the previous frame
7F5C
Parser: step on to the next frame
7F69
Find the next frame (24 bytes lower)
7F6F
Find the previous frame (24 bytes higher)
7F81
Parser: give a frame the previous frame's verb
7FC5
Copy part of one frame to another
7FDE
Parser: store the verb
7FEE
Parser: syntax error
7FF9
Print "what?"
8009
Parser: special words
805D
PRINT and NOPRINT
806B
Special word finished: carry on parsing
8072
EXCEPT
808A
ALL
809A
IT
80AF
Store the noun phrase in the frame (jump)
80B5
Opening quotation mark
80CD
Quotation mark
8149
QUIT
8158
HELP
81A7
SCORE
81AD
Print the score
81E6
Divide by repeated subtraction
81F2
PAUSE
8209
LOAD
8250
Load a block, or restart on a tape error
826B
Copy three bytes
8271
Wait for a key press and release
8284
SAVE
8312
Verify a block
8351
Execute a command and run the turn
839A
Clear the command execution work area
83A7
Find the action and objects for a command
8405
Search for a target and an instrument
8464
ALL: find the next object
8492
Start the search for targets
84AB
Start the search for instruments
84BD
Choose the object table to search
84C9
Does the action need an instrument?
84DE
Try the action (dry run)
84E6
Would this action work? (for a character)
8554
Copy an object's or a room's words
8569
Decode the flags of the action
858F
Find the action for a command
8614
Assign the noun phrases to target and instrument
869D
Pick up a preposition from the frame
86BA
Call the routine at IY
86BC
Find the next candidate target
86ED
Find the next candidate target for which the action works
8708
Find the next candidate instrument
8745
Find the next candidate instrument for which the action works
875C
Prepare to reply to the player
8765
Leave the command unfinished
8774
Ask "which ...?"
8781
Print a reply and give up
8789
Decide about the instrument
87AD
Report why the objects could not be decided
883E
Report a missing or unsuitable instrument
8865
Push the words of the action for a question (instrument)
8869
Push the words of the action for a question
8895
"I do not know the verb ..."
88A7
Address the orders to a character
88EC
Find an order for the current actor
88FD
Does the actor have an order waiting?
8907
Obey an order
894D
Cancel a character's orders
8965
Draw the picture of a room, if it has one
8985
Draw a picture
8A4F
Flood fill
8ACC
Test a pixel
8AD3
Move an attribute address up a row
8AE4
Move an attribute address down a row
8AF5
Move an attribute address left
8AFF
Move an attribute address right
8B09
Move the drawing position up
8B18
Move the drawing position down
8B1F
Move the drawing position right
8B26
Move the drawing position left
8B2F
Draw a line
8B93
Plot a pixel
8BBC
Get the screen address of a pixel
8BE9
Start a picture: clear the picture area
8C2D
LOOK
8C3A
Is the actor carrying the target?
8C45
DROP
8C75
TAKE OUT OF
8C86
Can the actor lift the target?
8CC8
TAKE and CARRY
8D19
Move an actor (GO north, EAST, etc.)
8E34
Is an object shut inside something?
8E4E
LOOK THROUGH (a door or window)
8E5A
LOOK ACROSS (a river)
8E9D
GO THROUGH (a door, window or river)
8EA0
Go through an exit
8ED3
FILL WITH
8F17
RUN
8F37
ENTER and GO INTO
8F40
FOLLOW
8F5F
THROW AT
8F9E
TALK TO and SAY TO
8FCF
DIG (the sand)
8FE0
SHOOT
903C
The player is dead
9055
INVENTORY
9078
OPEN
90A2
CLOSE
90B4
Check that a target may be attacked (sides)
90DB
Attack (HIT, KILL, ATTACK, STRIKE, SMASH ...)
917D
Randomise a fight value
91B0
Is the target an ordinary object?
91B9
PUT IN, PUT ON and DROP IN
9206
EAT and DRINK
9252
"The X is broken"
9257
STRIKE (break something)
9308
GIVE TO
9344
EXAMINE
936E
EMPTY
9392
PUT or DROP something in the river
93CD
LOCK
93ED
UNLOCK
9404
THROW ... ACROSS / THROUGH
9436
Could the action apply to this target?
946F
Carry out the action
953F
Let a character react to what was done to it
954D
Is it too dark for Bilbo to see?
9589
Describe the room through a door
958E
Describe a room
95B9
Describe a room (continued)
95E4
Print a room's name or description
95F8
Wait for a key after a picture
9606
Describe a room briefly
9611
End of turn: run the timers
9686
Is the object within the player's reach?
96DA
Kill the target
96DD
Kill a character
970B
Choose the random features of a new game
9752
Print a message and end the sentence
975D
Is the action really happening?
976C
Let the other characters act
9873
Advance a character's program pointer
9883
Character instruction: do an action
98CF
Character instruction: action without objects
9921
A character tries an action
99B4
Choose a behaviour at random
99E0
Find a character's table entry
99FB
Change a character's behaviour
9A28
Report that a character has arrived
9A5D
Prepare for the characters' turn
9A71
A character tries to get out of something
9A9F
Is the action sensible?
9AC7
Call the routine at HL (if HL is not 0)
9ADB
Jump to HL
9ADC
Find an object's handler for an action
9AEE
Get the next entry of a 3-byte table
9B04
Get the next object
9B0C
Get the address of a room record
9B25
Get the address of an object record
9B38
Move an object and everything it holds
9B6C
Move the contents of an object
9B96
How much room is left in a room?
9BCD
Is the actor holding the target?
9BDF
Is object A inside the holder at (HL)?
9BF4
Random number from 0 to A
9BFD
Random number in a range
9C3D
Total size of an object's contents
9C42
Total weight of an object's contents
9C55
Add up the contents of an object
9C8C
Get the actor's room record
9C99
Check for a dry run
9CA5
Drop everything the target holds
9CA8
Drop everything an object holds
9CEC
Count the visible things an object holds
9D12
Search a table of 3-byte entries
9D2E
Find the next object that fits some words
9D77
Can the object at IY be seen from IX?
9D86
Is the object near the actor?
9D92
Are two objects in the same place?
9DC8
Find the outermost holder
9DDE
Get the actor's room's exits
9DE9
Find the next room that fits some words
9E10
Print an object's name
9E1F
Print a noun with its adjectives
9E51
Find a usable exit in a direction
9E6E
Find the exit through the target
9E71
Find the exit through a given door
9E76
Find the exit that leads to a room
9E93
Run a handler with target and instrument swapped
9EBF
Report failure
9ECB
Get an object's room
9EDD
List what can be seen in the room
9EF8
List the objects held by A in room B
9F10
List objects, with their contents
9F89
Print the heading for a list of contents
9FDE
Get the start of a room's exits
9FEA
Get the word for a direction
9FF8
Describe the doors of a room
A054
Find the next visible exit
A068
List the visible exits
A094
"The X is Y" (instrument)
A09C
"The X is Y"
A0BC
Mark an object as dead or broken
A0DE
Look up the holder of an object (unused)
A0F8
Is the object alive?
A100
Should the instrument's handlers be used?
A113
A character speaks
A129
Is the target locked or open?
A174
Handler for the water: DRINK
A178
TIE TO
A1E4
UNTIE
A1FD
Handler for the fast river: SWIM
A232
BURN
A240
Handler for the fast black river: SWIM
A258
Handler for the black water: DRINK
A260
Handler for the side door: UNLOCK
A264
Handler for the red door: LOCK and UNLOCK
A268
Handler for the heavy rock door: LOCK and UNLOCK
A26A
Does this key fit?
A28E
Handler for the side door: OPEN
A298
Handler for the crack: OPEN
A2A7
Handler for the spider web: it has been broken
A2C0
Handler for the ring: WEAR
A2EC
Handler for the ring: TAKE OFF
A316
CAPTURE
A36A
A dead goblin comes back
A3E7
Handler for the goblins' door: OPEN
A400
Timer 3 expires: the goblins' door closes
A406
Character routine: react to being given something
A41C
Character routine: "what's this?"
A425
Character routine: small talk
A443
Character routine: "this was thrains key"
A44C
Character routine: greet Bilbo
A45D
Handler for the magic door: OPEN
A468
CLIMB OUT OF
A486
CLIMB INTO (the barrel, the chest or the boat)
A4C3
Is the object open?
A4CA
Character routine: the warg
A4DB
Handler for the trap door: the barrel escape
A4F4
Timer 0: the barrel floats down the river
A539
Character routine: "where's the thief?"
A550
Character routine: Thorin
A577
Handler for the trap door: OPEN and CLOSE
A591
Character routine: the dragon comes for Bilbo
A5BB
Character routine: the dragon speaks
A5D5
Character routine: the dragon wakes
A600
Unused routine
A614
Handler for the magic door
A631
Handler for Thorin: the small curious key shatters
A655
Handler for the window: OPEN and CLOSE
A678
Handler for the window
A69E
Timer 4: sinking into the bog
A6B8
Handler for the curious map: Elrond reads it
A708
Handler for the rope: THROW ACROSS (the river)
A762
Evens
A76A
Handler for the rope: PULL
A792
Handler for the boat: it crosses by itself
A79F
Character routine: Bard remembers his orders
A7C6
Character routine: Gollum asks his riddle
A7EA
Character routine: Gollum waits for the answer
A81A
Character routine: Gollum mutters
A842
Character routine: a character eats Bilbo
A865
Character routine: dawn in the trolls' clearing
A8B1
Character routine: the trolls talk
A8CA
Has the game been won?
A8D9
Character routine: Elrond gives Bilbo lunch
A91B
Handler for the barrel: JUMP ONTO / CLIMB INTO
A950
Timer 1 expires: the web is mended
A968
Timer 9 expires: the side door vanishes
A985
Timer 9 tick: the side door appears
A996
Handler for the side door: closing it
A9A7
Timer 5 tick: the magic door opens and an elf sweeps past
A9BB
Print a message if Bilbo is near the magic door
A9C9
Timer 5 expires: the magic door closes
A9D4
Timer 6 expires: the ring comes off
A9ED
Handler for the wine: Bilbo gets drunk
A9FF
Timer routine
AA04
Timer 2 expires: smothered by the spiders
AA13
Pale bulbous eyes: tick routine
AA2E
Pale bulbous eyes: expire routine
C693
Room-entry handler: Beorn's house (room 22) wakes the butler
C6A1
Room-entry handler: the place of black spiders (room 26) starts timer 2
C6A8
Room-entry handler: the deep bog (room 29) starts timer 4
C6AF
Room-entry handler: the Elvenking's cellar (room 32) wakes the dragon and Bard
C6CC
Room-entry handler: the forest (rooms 2 and 3)
C6D9
Room-entry handler: the forest river (room 33) - only in a barrel