Every one of the 172 graphic numbers. An object's graphic, the first byte of its record, is all it is: it picks the sprite it is drawn with, through GRAPHICS, and the update routine the main loop runs for it every turn, through UPDATES. There is no separate frame number: a thing animates, or turns into something else, by changing its own graphic -- a walking frame, a puff's next frame, a stone finished by the bucket.

They are grouped here by what their routines do. Each line gives the sprite (click it for the sprite, or the address for its entry in the listing), the routine and a line on what it does, and where the graphic comes from: the scenery and object templates that name it, the quest's records, the tables the panel, the border and the sky are drawn from, and the routines that give it to an object. Knight Lore has the same two tables, by object type (see Knight Lore's objects).

Graphic 0 is an empty record and 1 one about to be emptied; neither is drawn. Graphic numbers run to 171, and 40 of them are never placed.

Graphics 0 and 1 -- The player -- Bolts and puffs -- Doorways -- Walls and still things -- Things that kill where they stand -- Blocks that fall and can be pushed -- Blocks that move -- Creatures -- Things from the sky -- The quest -- The panel and the border -- Graphics nothing places

Graphics 0 and 1

Not things: 0 is an empty record, which the main loop still runs (a RET) and nothing draws, and 1 an object on its way out -- what is picked up, a puff at its end, a crumbled block -- which the drawing code empties instead of drawing (DRAW_OBJECT).

GraphicSpriteWhat it showsUpdate routineWhere it comes from
0$9395nothing: width and height zeroNOTHING: nothingnothing places it
1an object on its way out: rubbed out and emptied when next drawn (DRAW_OBJECT)

The player

He is two records, legs and body (OBJECTS). The legs' routine does his whole turn -- controls, turning, walking, jumping, picking up, the move and firing -- and its graphic says which way he faces and his walking frame; the body follows the legs, its graphic theirs plus 8, and keeps out of the collisions.

GraphicSpriteWhat it showsUpdate routineWhere it comes from
32
$98A5
his legsPLAYER_LEGS: his whole turn: controls, turning, walking, jumping, taking, moving, firinghis legs: the facing and the walking frame (PLAYER_LEGS)
33
$9849
34
$97ED
35
$9849
36
$996F
his legs, the other view
37
$9901
38
$99DD
39
$9901
40
$94DF
his bodyPLAYER_TOP: follows the legs, 12 or 8 above themhis body: the legs' graphic plus 8 (PLAYER_TOP)
41
$943B
42
$9397
43
$943B
44
$9651
his body, the other view
45
$9583
46
$971F
47
$9583

Bolts and puffs

A bolt flies level at 8 units a turn and shoots down what fell from the sky; stopped by anything else it goes up in a puff. A puff is also what he, the bucket and a shot-down flyer become: a frame a turn, then gone.

GraphicSpriteWhat it showsUpdate routineWhere it comes from
64
$813B
a puff of smokePUFF: the next frame, with a burst of noisethe first frame of a puff (START_PUFF)
65
$8175
a puff's later frames (PUFF)
66
$81C5
67
$8175
68
$81C5
69
70
$822D
a puff breaking up
71END_PUFF: vanishes
149
$828F
a boltBOLT: flies, shoots down flyers, puffs when stoppeda bolt in flight: the frames go 151, 150, 149 (BOLT)
150
$82D1
a bolt, as it is fired (FIRE)
151
$8313
a bolt in flight: the frames go 151, 150, 149 (BOLT)

Doorways

Each doorway is two pillars: the first works out where the doorway is and sends him through it, the second only draws.

GraphicSpriteWhat it showsUpdate routineWhere it comes from
6
$9C63
a tree: the first pillar of a doorway in the treesFIRST_PILLAR: the doorway: steers him to its middle and sends him throughscenery 0, 1, 2, 3
7
$9DAF
a tree: the second pillar of a doorway in the treesSECOND_PILLAR: sets its drawing nudge
8
$A557
the first half of a stone archFIRST_PILLAR: the doorway: steers him to its middle and sends him throughscenery 4, 5, 6, 7, 24, 25, 26, 27
9
$A47D
the second half of a stone archSECOND_PILLAR: sets its drawing nudge

Walls and still things

A still thing's whole update routine is to set the nudge that lines its sprite up with its position (+$12 and +$13); nothing else about it changes, so it is never redrawn unless something passes in front of it.

GraphicSpriteWhat it showsUpdate routineWhere it comes from
10
$9E51
a tree stumpJUMP_L16_D8: sets its drawing nudgeobject template 1 (15 rooms)
11
$88BD
a stone blockscenery 28, 29, 30, 31; object template 0 (30 rooms)
12
$9F1B
a tree in a line of treesDRAW_AT_L8_D2: sets its drawing nudgescenery 8, 9, 10, 11, 16, 17
13
$9FC9
14
$A09F
15
$A175
52
$A327
a column in a stone wallscenery 12, 13, 15, 20, 21 (no room)
53
$A2A9
a piece of ruined stone wallDRAW_AT_L8_D4: sets its drawing nudgescenery 12, 13, 14, 15, 20, 21 (no room)
54
$A23F
55
$A3AD
56
$A40F
scenery 12, 13, 14
57
$A67F
the end of a stone wallDRAW_AT_L8: sets its drawing nudgescenery 12, 13, 14, 15, 20, 21 (no room)
76
$9E51
a tree stumpJUMP_L16_D8: sets its drawing nudgeobject template 8 (2 rooms)
82
$8609
a smooth blockobject template 23 (2 rooms)

Things that kill where they stand

Deadly both ways (MAKE_DEADLY): whatever touches them dies. The spikes can also be pushed and fall.

GraphicSpriteWhat it showsUpdate routineWhere it comes from
23
$8795
a bed of spikesSTILL_DEADLY: deadly both ways; never movesobject template 3 (35 rooms)
28SPIKES: deadly both ways; falls and can be pushedobject template 14 (7 rooms)
30
$86EB
a toothed trapSTILL_DEADLY: deadly both ways; never movesobject template 5 (28 rooms)
74
$73BF
a dark patch on the groundobject template 13 (4 rooms)
75
$7441
a hand reaching out of a dark patchobject template 21 (11 rooms)

Blocks that fall and can be pushed

They fall a unit a turn, and walking into one pushes it (the collision code gives it the pusher's step) -- except the heavy block, which throws its pushes away.

GraphicSpriteWhat it showsUpdate routineWhere it comes from
63
$8609
a smooth blockPUSHABLE: falls, and moves when pushedobject template 6 (2 rooms)
72
$9E51
a tree stumpobject template 4 (17 rooms)
73
$8ABD
a tableSLIDING_TABLE, in HEAVY_BLOCK: falls, and moves when pushedobject template 7 (4 rooms)
79
$88BD
a stone blockPUSHABLE: falls, and moves when pushedobject template 11 (4 rooms)
91HEAVY_BLOCK: falls; pushes have no effectobject template 9 (3 rooms), 22 (no room)

Blocks that move

Stone blocks that do something when he stands on them, or that move by themselves and carry him: the collision code gives him, standing on a thing, its step when he has none of his own (ADJ_DZ_FOR_OBJ_INTERSECT).

GraphicSpriteWhat it showsUpdate routineWhere it comes from
78
$88BD
a stone blockSINKING_BLOCK: sinks a unit a turn while stood onobject template 10 (6 rooms)
84LIFT: rises to 176 carrying him, then sinks backobject template 12 (7 rooms)
85BOBBER: falls, then rises to 176, over and overnothing places it
87PACER_U, in DEADLY_PACER_U: paces along U, 2 a turn, turning at a bumpobject template 16 (12 rooms)
88PACER_V, in DEADLY_PACER_V: paces along V, 2 a turn, turning at a bumpobject template 17 (5 rooms)
136CRUMBLING_BLOCK: crumbles a stage a turn while stood onobject template 24 (18 rooms)
137
$74C3
the stone block crumbling, first stagethe crumbling block's stages (CRUMBLING_BLOCK)
138
$759D
the stone block crumbling, second stage
139
$7677
the stone block crumbling, last stage
140
$88BD
a stone blockCONVEYOR_PLUS_U: carries what stands on it forwards in Uobject template 25 (2 rooms)
141CONVEYOR_MINUS_U: carries what stands on it backwards in Uobject template 26 (no room)
142CONVEYOR_PLUS_V: carries what stands on it forwards in Vobject template 27 (3 rooms)
143CONVEYOR_MINUS_V: carries what stands on it backwards in Vobject template 28 (1 room)

Creatures

Deadly both ways (MAKE_DEADLY). The heads move as the blocks do, pacing or bobbing; the spiders run about.

GraphicSpriteWhat it showsUpdate routineWhere it comes from
16
$84AD
a spiderROAMER: deadly; runs straight, turns at a bumpobject template 20 (8 rooms)
17the spider's other frame, every other turn (ROAMER)
86
$7751
a horned headDEADLY_BOBBER: deadly; falls, then rises to 176, over and overobject template 15 (8 rooms)
89
$84AD
a spiderSPIDER: deadly; scuttles diagonally at randomobject template 18 (16 rooms)
92
$7751
a horned headDEADLY_PACER_U: deadly; paces along U, turning at a bumpobject template 29 (7 rooms)
93DEADLY_PACER_V: deadly; paces along V, turning at a bumpobject template 30 (5 rooms)

Things from the sky

What SKY_DROP drops into a room from a height of 216, one of the eight graphics at DROP_GRAPHICS at random. Homers fly at him and bounce off what they hit, and their routine sets no kill bits; the witch and the walker run straight, turn when they bump into something, and are deadly both ways (MAKE_DEADLY). A bolt that touches any of them shoots it down, for points from its graphic number (SHOOT_DOWN).

GraphicSpriteWhat it showsUpdate routineWhere it comes from
48
$7FFF
a ghostHOMER: flies at him, bouncing off what it hitsobject template 2 (no room); falls from the sky (DROP_GRAPHICS, 2 of its 8)
49
$809D
a homer's other frames: the low two bits of the graphic (HOMER)
50
$7FFF
51
$809D
80
$7A9D
a witch on a broomstickSKY_ROAMER, in ROAMER: deadly; runs straight, turns at a bumpfalls from the sky (DROP_GRAPHICS, 2 of its 8)
81
$7B5F
a witch on a broomstick, from behindthe witch's other view (ROAMER)
160
$7DD1
a clawed, winged beastHOMER: flies at him, bouncing off what it hitsfalls from the sky (DROP_GRAPHICS, 2 of its 8)
161
$7E8B
a homer's other frames: the low two bits of the graphic (HOMER)
162
$7DD1
163
$7F45
164
$7CA1
a pointed blobfalls from the sky (DROP_GRAPHICS, 1 of its 8)
165
$7D33
a homer's other frames: the low two bits of the graphic (HOMER)
166
$7CA1
167
$7C21
168
$7813
a lumbering figure, walkingSKY_WALKER: deadly; walks straight, turns at a bumpfalls from the sky (DROP_GRAPHICS, 1 of its 8)
169
$78AB
the walker's other frames (SKY_WALKER)
170
$7943
a lumbering figure from behind, walking
171
$79F3

The quest

The well, the bucket it gives, the four stones, the five rune stones and the pentagram's eight pieces (see the quest). Their records live in QUEST_RECORDS between rooms, and they come into a room after it is built (QUEST_INTO_ROOM).

GraphicSpriteWhat it showsUpdate routineWhere it comes from
90
$9029
the bucketBUCKET: put down in a quest item's room, flies to itthe bucket, which the well makes (WELL)
112
$8D55
a rough stoneQUEST_ITEM: is finished when the bucket reaches itquest record 0 in QUEST_START, quest item
113quest record 1 in QUEST_START, quest item
114quest record 2 in QUEST_START, quest item
115quest record 3 in QUEST_START, quest item
116
$8E8F
a finished pillara quest item once the bucket reaches it: its graphic plus 4 (QUEST_ITEM)
117
118
119
120
$8C13
the wellWELL: gives the bucket after 32 turns of being shotobject template 19 (3 rooms)
128
$6F2F
a piece of the pentagramPENTAGRAM_PIECE: lies stillquest record 9 in QUEST_START, piece of the pentagram
129
$6FC1
quest record 10 in QUEST_START, piece of the pentagram
130
$7053
quest record 11 in QUEST_START, piece of the pentagram
131
$70E5
quest record 12 in QUEST_START, piece of the pentagram
132
$7177
quest record 13 in QUEST_START, piece of the pentagram
133
$7209
quest record 14 in QUEST_START, piece of the pentagram
134
$729B
quest record 15 in QUEST_START, piece of the pentagram
135
$732D
quest record 16 in QUEST_START, piece of the pentagram
144
$90BB
a rune stoneCOLLECTABLE: can be carried; in room 82 glides to its placequest record 8 in QUEST_START, collectable
145
$914D
quest record 7 in QUEST_START, collectable
146
$91DF
quest record 6 in QUEST_START, collectable
147
$9271
quest record 5 in QUEST_START, collectable
148
$9303
quest record 4 in QUEST_START, collectable
152
$90BB
JUMP_L16_D8: sets its drawing nudgea collectable once it is in its place: its graphic plus 8 (COLLECTABLE)
153
$914D
154
$91DF
155
$9271
156
$9303

The panel and the border

Drawn by the panel and the text screens, never in a room: the scroll-work at the foot of the screen (DISPLAY_PANEL), the lives icon (DRAW_LIVES), and the border round the menu and the end screens (PRINT_BORDER).

GraphicSpriteWhat it showsUpdate routineWhere it comes from
2
$9A4B
a side of the text screens' borderNOTHING: nothingthe text screens' border (BORDER_DATA)
3
$9ADD
the short piece closing the border's top and bottom
4
$9B3F
a length of the border's top and bottom
5
$9BD1
a corner of the border
22
$8877
a little Sabremanthe lives icon on the panel (DRAW_LIVES)
58
$89A7
a piece of the panel's scroll-workthe panel's scroll-work (PANEL_DATA)
59
$89E9
60
$8A59
BOLT: flies, shoots down flyers, puffs when stopped
61NOTHING: nothing
62
$8A9B

Graphics nothing places

No room, template, table or routine gives an object one of these, so the game never shows them. Most name the empty sprite; a few name a real one and have a routine that would run it.

GraphicSpriteWhat it showsUpdate routineWhere it comes from
18
$98A5
his legsNOTHING: nothingnothing places it
19
$9901
his legs, the other view
20
$98A5
his legs
21
$9849
24$9395nothing: width and height zero
25
26
27
29
$9849
his legs
31
$86EB
a toothed trap
77
$9E51
a tree stumpJUMP_L16_D12: sets its drawing nudge
83$9395nothing: width and height zeroNOTHING: nothing
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
121
$88BD
a stone blockPENTAGRAM_PIECE: lies still
122
123
124
125
126
127
157$9395nothing: width and height zeroJUMP_L16_D8: sets its drawing nudge
158
159