![]() |
Objects: every type |
Every object type: the first byte of an object record. It picks the handler that runs the object each frame, through upd_sprite_jmp_tbl, and the sprite it is drawn with, through sprite_tbl -- there is no separate frame number, so an object animates by changing its own type. The descriptions are the handler table's.
| Type | Sprite | What it is | Handler |
|---|---|---|---|
| 0 $00 | empty slot | no_update | |
| 1 $01 | an object that has just gone; it draws as nothing so its old image is wiped, and the renderer then frees the slot | no_update | |
| 2 $02 | stone arch, the half that also nudges Sabreman into line with the doorway | upd_2_4 | |
| 3 $03 | stone arch, the other half | upd_3_5 | |
| 4 $04 | tree-room arch, the half that nudges Sabreman into the doorway | upd_2_4 | |
| 5 $05 | tree-room arch, the other half | upd_3_5 | |
| 6 $06 | rock, static | upd_6_7 | |
| 7 $07 | plain block, static; at the end of the game each one left in the room becomes type 131 | upd_6_7 | |
| 8 $08 | portcullis at rest, deciding when to start moving (one moves at a time) | upd_8 | |
| 9 $09 | portcullis moving; it kills what it lands on and crashes when it reaches the floor | upd_9 | |
| 10 $0A | a piece of room wall, static | upd_10 | |
| 11 $0B | a piece of room wall, static | upd_11 | |
| 12 $0C | a piece of room wall, static | upd_12_to_15 | |
| 13 $0D | a piece of room wall, static | upd_12_to_15 | |
| 14 $0E | a piece of room wall, static | upd_12_to_15 | |
| 15 $0F | a piece of room wall, static | upd_12_to_15 | |
| 16 $10 | Sabreman's legs, human, walking frame 0, first pair of facings | upd_16_to_21_24_to_29 | |
| 17 $11 | Sabreman's legs, human, walking frame 1, first pair of facings | upd_16_to_21_24_to_29 | |
| 18 $12 | Sabreman's legs, human, walking frame 2, first pair of facings | upd_16_to_21_24_to_29 | |
| 19 $13 | Sabreman's legs, human, walking frame 3, first pair of facings | upd_16_to_21_24_to_29 | |
| 20 $14 | Sabreman's legs, human, walking frame 4, first pair of facings | upd_16_to_21_24_to_29 | |
| 21 $15 | Sabreman's legs, human, walking frame 5, first pair of facings | upd_16_to_21_24_to_29 | |
| 22 $16 | gargoyle, static and deadly | upd_22 | |
| 23 $17 | spikes, static and deadly | upd_23 | |
| 24 $18 | Sabreman's legs, human, walking frame 0, second pair of facings | upd_16_to_21_24_to_29 | |
| 25 $19 | Sabreman's legs, human, walking frame 1, second pair of facings | upd_16_to_21_24_to_29 | |
| 26 $1A | Sabreman's legs, human, walking frame 2, second pair of facings | upd_16_to_21_24_to_29 | |
| 27 $1B | Sabreman's legs, human, walking frame 3, second pair of facings | upd_16_to_21_24_to_29 | |
| 28 $1C | Sabreman's legs, human, walking frame 4, second pair of facings | upd_16_to_21_24_to_29 | |
| 29 $1D | Sabreman's legs, human, walking frame 5, second pair of facings | upd_16_to_21_24_to_29 | |
| 30 $1E | upper body of the guard that walks round the room, one frame per facing | upd_30_31_158_159 | |
| 31 $1F | upper body of the guard that walks round the room, one frame per facing | upd_30_31_158_159 | |
| 32 $20 | Sabreman's upper body, human, walking frame 0, first pair of facings | upd_32_to_47 | |
| 33 $21 | Sabreman's upper body, human, walking frame 1, first pair of facings | upd_32_to_47 | |
| 34 $22 | Sabreman's upper body, human, walking frame 2, first pair of facings | upd_32_to_47 | |
| 35 $23 | Sabreman's upper body, human, walking frame 3, first pair of facings | upd_32_to_47 | |
| 36 $24 | Sabreman's upper body, human, walking frame 4, first pair of facings | upd_32_to_47 | |
| 37 $25 | Sabreman's upper body, human, walking frame 5, first pair of facings | upd_32_to_47 | |
| 38 $26 | Sabreman's upper body, human, an occasional frame held for eight frames, first pair of facings | upd_32_to_47 | |
| 39 $27 | Sabreman's upper body, human, an occasional frame held for eight frames, first pair of facings | upd_32_to_47 | |
| 40 $28 | Sabreman's upper body, human, walking frame 0, second pair of facings | upd_32_to_47 | |
| 41 $29 | Sabreman's upper body, human, walking frame 1, second pair of facings | upd_32_to_47 | |
| 42 $2A | Sabreman's upper body, human, walking frame 2, second pair of facings | upd_32_to_47 | |
| 43 $2B | Sabreman's upper body, human, walking frame 3, second pair of facings | upd_32_to_47 | |
| 44 $2C | Sabreman's upper body, human, walking frame 4, second pair of facings | upd_32_to_47 | |
| 45 $2D | Sabreman's upper body, human, walking frame 5, second pair of facings | upd_32_to_47 | |
| 46 $2E | Sabreman's upper body, human, an occasional frame held for eight frames, second pair of facings | upd_32_to_47 | |
| 47 $2F | Sabreman's upper body, human, an occasional frame held for eight frames, second pair of facings | upd_32_to_47 | |
| 48 $30 | Sabreman's legs, werewolf, walking frame 0, first pair of facings | upd_48_to_53_56_to_61 | |
| 49 $31 | Sabreman's legs, werewolf, walking frame 1, first pair of facings | upd_48_to_53_56_to_61 | |
| 50 $32 | Sabreman's legs, werewolf, walking frame 2, first pair of facings | upd_48_to_53_56_to_61 | |
| 51 $33 | Sabreman's legs, werewolf, walking frame 3, first pair of facings | upd_48_to_53_56_to_61 | |
| 52 $34 | Sabreman's legs, werewolf, walking frame 4, first pair of facings | upd_48_to_53_56_to_61 | |
| 53 $35 | Sabreman's legs, werewolf, walking frame 5, first pair of facings | upd_48_to_53_56_to_61 | |
| 54 $36 | block that slides back and forth along X | upd_54 | |
| 55 $37 | block that slides back and forth along Y | upd_55 | |
| 56 $38 | Sabreman's legs, werewolf, walking frame 0, second pair of facings | upd_48_to_53_56_to_61 | |
| 57 $39 | Sabreman's legs, werewolf, walking frame 1, second pair of facings | upd_48_to_53_56_to_61 | |
| 58 $3A | Sabreman's legs, werewolf, walking frame 2, second pair of facings | upd_48_to_53_56_to_61 | |
| 59 $3B | Sabreman's legs, werewolf, walking frame 3, second pair of facings | upd_48_to_53_56_to_61 | |
| 60 $3C | Sabreman's legs, werewolf, walking frame 4, second pair of facings | upd_48_to_53_56_to_61 | |
| 61 $3D | Sabreman's legs, werewolf, walking frame 5, second pair of facings | upd_48_to_53_56_to_61 | |
| 62 $3E | the block tcdev called movable: stops every frame, falls, and blips the speaker every frame | upd_62 | |
| 63 $3F | spiked ball that drops once, at random, one at a time; deadly | upd_63 | |
| 64 $40 | werewolf upper body, walking frame 0, first pair of facings | upd_64_to_79 | |
| 65 $41 | werewolf upper body, walking frame 1, first pair of facings | upd_64_to_79 | |
| 66 $42 | werewolf upper body, walking frame 2, first pair of facings | upd_64_to_79 | |
| 67 $43 | werewolf upper body, walking frame 3, first pair of facings | upd_64_to_79 | |
| 68 $44 | werewolf upper body, walking frame 4, first pair of facings | upd_64_to_79 | |
| 69 $45 | werewolf upper body, walking frame 5, first pair of facings | upd_64_to_79 | |
| 70 $46 | werewolf upper body, an occasional frame, first pair of facings | upd_64_to_79 | |
| 71 $47 | werewolf upper body, an occasional frame, first pair of facings | upd_64_to_79 | |
| 72 $48 | werewolf upper body, walking frame 0, second pair of facings | upd_64_to_79 | |
| 73 $49 | werewolf upper body, walking frame 1, second pair of facings | upd_64_to_79 | |
| 74 $4A | werewolf upper body, walking frame 2, second pair of facings | upd_64_to_79 | |
| 75 $4B | werewolf upper body, walking frame 3, second pair of facings | upd_64_to_79 | |
| 76 $4C | werewolf upper body, walking frame 4, second pair of facings | upd_64_to_79 | |
| 77 $4D | werewolf upper body, walking frame 5, second pair of facings | upd_64_to_79 | |
| 78 $4E | werewolf upper body, an occasional frame, second pair of facings | upd_64_to_79 | |
| 79 $4F | werewolf upper body, an occasional frame, second pair of facings | upd_64_to_79 | |
| 80 $50 | ghost, wandering at random; deadly (bit 1 facing, bit 0 flapping) | upd_80_to_83 | |
| 81 $51 | ghost, wandering at random; deadly (bit 1 facing, bit 0 flapping) | upd_80_to_83 | |
| 82 $52 | ghost, wandering at random; deadly (bit 1 facing, bit 0 flapping) | upd_80_to_83 | |
| 83 $53 | ghost, wandering at random; deadly (bit 1 facing, bit 0 flapping) | upd_80_to_83 | |
| 84 $54 | table: falls, and stops after each push | upd_84 | |
| 85 $55 | chest: falls; unlike the table, its handler does not stop it after a push | upd_85 | |
| 86 $56 | flame that runs back and forth along X; deadly | upd_86_87 | |
| 87 $57 | flame that runs back and forth along X; deadly | upd_86_87 | |
| 88 $58 | the sun (drawn in the panel, never in the object table) | upd_88_to_90 | |
| 89 $59 | the moon (drawn in the panel, never in the object table) | upd_88_to_90 | |
| 90 $5A | left end of the sun and moon frame (panel only) | upd_88_to_90 | |
| 91 $5B | block that sinks while something stands on it | upd_91 | |
| 92 $5C | Sabreman changing between man and werewolf | upd_92_to_95 | |
| 93 $5D | Sabreman changing between man and werewolf | upd_92_to_95 | |
| 94 $5E | Sabreman changing between man and werewolf | upd_92_to_95 | |
| 95 $5F | Sabreman changing between man and werewolf | upd_92_to_95 | |
| 96 $60 | charm 0 of the seven, lying in a room | upd_96_to_102 | |
| 97 $61 | charm 1 of the seven, lying in a room | upd_96_to_102 | |
| 98 $62 | charm 2 of the seven, lying in a room | upd_96_to_102 | |
| 99 $63 | charm 3 of the seven, lying in a room | upd_96_to_102 | |
| 100 $64 | charm 4 of the seven, lying in a room | upd_96_to_102 | |
| 101 $65 | charm 5 of the seven, lying in a room | upd_96_to_102 | |
| 102 $66 | charm 6 of the seven, lying in a room | upd_96_to_102 | |
| 103 $67 | extra life, lying in a room | upd_103 | |
| 104 $68 | charm 0 dropped in the cauldron room, drifting to the cauldron | upd_104_to_110 | |
| 105 $69 | charm 1 dropped in the cauldron room, drifting to the cauldron | upd_104_to_110 | |
| 106 $6A | charm 2 dropped in the cauldron room, drifting to the cauldron | upd_104_to_110 | |
| 107 $6B | charm 3 dropped in the cauldron room, drifting to the cauldron | upd_104_to_110 | |
| 108 $6C | charm 4 dropped in the cauldron room, drifting to the cauldron | upd_104_to_110 | |
| 109 $6D | charm 5 dropped in the cauldron room, drifting to the cauldron | upd_104_to_110 | |
| 110 $6E | charm 6 dropped in the cauldron room, drifting to the cauldron | upd_104_to_110 | |
| 111 $6F | extra life just collected; vanishes next frame | upd_111 | |
| 112 $70 | death sparkle, frame 0 | upd_112_to_118_184 | |
| 113 $71 | death sparkle, frame 1 | upd_112_to_118_184 | |
| 114 $72 | death sparkle, frame 2 | upd_112_to_118_184 | |
| 115 $73 | death sparkle, frame 3 | upd_112_to_118_184 | |
| 116 $74 | death sparkle, frame 4 | upd_112_to_118_184 | |
| 117 $75 | death sparkle, frame 5 | upd_112_to_118_184 | |
| 118 $76 | death sparkle, frame 6 | upd_112_to_118_184 | |
| 119 $77 | death sparkle, last frame; vanishes next frame | upd_119 | |
| 120 $78 | Sabreman materialising, frame 0 | upd_120_to_126 | |
| 121 $79 | Sabreman materialising, frame 1 | upd_120_to_126 | |
| 122 $7A | Sabreman materialising, frame 2 | upd_120_to_126 | |
| 123 $7B | Sabreman materialising, frame 3 | upd_120_to_126 | |
| 124 $7C | Sabreman materialising, frame 4 | upd_120_to_126 | |
| 125 $7D | Sabreman materialising, frame 5 | upd_120_to_126 | |
| 126 $7E | Sabreman materialising, frame 6 | upd_120_to_126 | |
| 127 $7F | Sabreman materialising, done: becomes the type saved at +16 | upd_127 | |
| 128 $80 | tree-trunk piece of a tree room's walls, static | upd_128_to_130 | |
| 129 $81 | tree-trunk piece of a tree room's walls, static | upd_128_to_130 | |
| 130 $82 | tree-trunk piece of a tree room's walls, static | upd_128_to_130 | |
| 131 $83 | finale spark: rises circling the room, then homes on Sabreman and ends the game | upd_131_to_133 | |
| 132 $84 | finale spark: rises circling the room, then homes on Sabreman and ends the game | upd_131_to_133 | |
| 133 $85 | finale spark: rises circling the room, then homes on Sabreman and ends the game | upd_131_to_133 | |
| 134 $86 | a piece of the status panel (panel only) | no_update | |
| 135 $87 | a piece of the status panel (panel only) | no_update | |
| 136 $88 | a piece of the status panel (panel only) | no_update | |
| 137 $89 | a corner of the screen border (panel only) | no_update | |
| 138 $8A | an edge of the screen border (panel only) | no_update | |
| 139 $8B | an edge of the screen border (panel only) | no_update | |
| 140 $8C | the lives icon (panel only) | no_update | |
| 141 $8D | the cauldron | upd_141 | |
| 142 $8E | the cauldron's second sprite, with no size of its own | upd_142 | |
| 143 $8F | block that crumbles away when stood on | upd_143 | |
| 144 $90 | legs of a guard or the wizard, walking frame 0, first pair of facings | upd_144_to_149_152_to_157 | |
| 145 $91 | legs of a guard or the wizard, walking frame 1, first pair of facings | upd_144_to_149_152_to_157 | |
| 146 $92 | legs of a guard or the wizard, walking frame 2, first pair of facings | upd_144_to_149_152_to_157 | |
| 147 $93 | legs of a guard or the wizard, walking frame 3, first pair of facings | upd_144_to_149_152_to_157 | |
| 148 $94 | legs of a guard or the wizard, walking frame 4, first pair of facings | upd_144_to_149_152_to_157 | |
| 149 $95 | legs of a guard or the wizard, walking frame 5, first pair of facings | upd_144_to_149_152_to_157 | |
| 150 $96 | upper body of the guard that walks back and forth along X, one frame per facing | upd_150_151 | |
| 151 $97 | upper body of the guard that walks back and forth along X, one frame per facing | upd_150_151 | |
| 152 $98 | legs of a guard or the wizard, walking frame 0, second pair of facings | upd_144_to_149_152_to_157 | |
| 153 $99 | legs of a guard or the wizard, walking frame 1, second pair of facings | upd_144_to_149_152_to_157 | |
| 154 $9A | legs of a guard or the wizard, walking frame 2, second pair of facings | upd_144_to_149_152_to_157 | |
| 155 $9B | legs of a guard or the wizard, walking frame 3, second pair of facings | upd_144_to_149_152_to_157 | |
| 156 $9C | legs of a guard or the wizard, walking frame 4, second pair of facings | upd_144_to_149_152_to_157 | |
| 157 $9D | legs of a guard or the wizard, walking frame 5, second pair of facings | upd_144_to_149_152_to_157 | |
| 158 $9E | the wizard's upper body, one frame per facing | upd_30_31_158_159 | |
| 159 $9F | the wizard's upper body, one frame per facing | upd_30_31_158_159 | |
| 160 $A0 | bubbles rising from the cauldron | upd_160_to_163 | |
| 161 $A1 | bubbles rising from the cauldron | upd_160_to_163 | |
| 162 $A2 | bubbles rising from the cauldron | upd_160_to_163 | |
| 163 $A3 | bubbles rising from the cauldron | upd_160_to_163 | |
| 164 $A4 | repel spell, homing on Sabreman | upd_164_to_167 | |
| 165 $A5 | repel spell, homing on Sabreman | upd_164_to_167 | |
| 166 $A6 | repel spell, homing on Sabreman | upd_164_to_167 | |
| 167 $A7 | repel spell, homing on Sabreman | upd_164_to_167 | |
| 168 $A8 | picture of charm 0 over the cauldron, the one it wants next | upd_168_to_175 | |
| 169 $A9 | picture of charm 1 over the cauldron, the one it wants next | upd_168_to_175 | |
| 170 $AA | picture of charm 2 over the cauldron, the one it wants next | upd_168_to_175 | |
| 171 $AB | picture of charm 3 over the cauldron, the one it wants next | upd_168_to_175 | |
| 172 $AC | picture of charm 4 over the cauldron, the one it wants next | upd_168_to_175 | |
| 173 $AD | picture of charm 5 over the cauldron, the one it wants next | upd_168_to_175 | |
| 174 $AE | picture of charm 6 over the cauldron, the one it wants next | upd_168_to_175 | |
| 175 $AF | would be the extra life over the cauldron; the code never makes it | upd_168_to_175 | |
| 176 $B0 | flickering fire; deadly | upd_176_177 | |
| 177 $B1 | flickering fire; deadly | upd_176_177 | |
| 178 $B2 | ball bouncing up and down; deadly | upd_178_179 | |
| 179 $B3 | ball bouncing up and down; deadly | upd_178_179 | |
| 180 $B4 | flame that runs back and forth along Y; deadly | upd_180_181 | |
| 181 $B5 | flame that runs back and forth along Y; deadly | upd_180_181 | |
| 182 $B6 | ball that hops towards the werewolf and away from the man; deadly | upd_182_183 | |
| 183 $B7 | ball that hops towards the werewolf and away from the man; deadly | upd_182_183 | |
| 184 $B8 | crumbling block, vanishing | upd_112_to_118_184 | |
| 185 $B9 | crumbling block, last frame: zeroes the byte its +16 points at, then vanishes | upd_185_187 | |
| 186 $BA | right end of the sun and moon frame (panel only) | no_update | |
| 187 $BB | a charm destroyed where it met another object: zeroes its record, then vanishes | upd_185_187 |