![]() |
Data |
| Prev: B090 | Up: Map | Next: B20E |
|
188 words, one per object type. The type byte of an object record is also its sprite number -- sprite_tbl has one word per type in the same order -- so one byte chooses both what an object does and what it looks like, and a handler animates its object by changing its type. jump_to_upd_object jumps through this.
Several types are drawn only in the status panel and never occupy the object table: the sun, the moon, the ends of their frame, the panel and border pieces and the lives icon. Their entries point at a bare RET or at a routine that only sets drawing offsets. Types 0 and 1 are not objects at all but the states of a free slot.
|
||||
| upd_sprite_jmp_tbl | B096 | DEFW no_update | Type 0: empty slot | |
| B098 | DEFW no_update | Type 1: an object that has just gone; it draws as nothing so its old image is wiped, and the renderer then frees the slot | ||
| B09A | DEFW upd_2_4 | Type 2: stone arch, the half that also nudges Sabreman into line with the doorway | ||
| B09C | DEFW upd_3_5 | Type 3: stone arch, the other half | ||
| B09E | DEFW upd_2_4 | Type 4: tree-room arch, the half that nudges Sabreman into the doorway | ||
| B0A0 | DEFW upd_3_5 | Type 5: tree-room arch, the other half | ||
| B0A2 | DEFW upd_6_7 | Type 6: rock, static | ||
| B0A4 | DEFW upd_6_7 | Type 7: plain block, static; at the end of the game each one left in the room becomes type 131 | ||
| B0A6 | DEFW upd_8 | Type 8: portcullis at rest, deciding when to start moving (one moves at a time) | ||
| B0A8 | DEFW upd_9 | Type 9: portcullis moving; it kills what it lands on and crashes when it reaches the floor | ||
| B0AA | DEFW upd_10 | Type 10: a piece of room wall, static | ||
| B0AC | DEFW upd_11 | Type 11: a piece of room wall, static | ||
| B0AE | DEFW upd_12_to_15 | Type 12: a piece of room wall, static | ||
| B0B0 | DEFW upd_12_to_15 | Type 13: a piece of room wall, static | ||
| B0B2 | DEFW upd_12_to_15 | Type 14: a piece of room wall, static | ||
| B0B4 | DEFW upd_12_to_15 | Type 15: a piece of room wall, static | ||
| B0B6 | DEFW upd_16_to_21_24_to_29 | Type 16: Sabreman's legs, human, walking frame 0, first pair of facings | ||
| B0B8 | DEFW upd_16_to_21_24_to_29 | Type 17: Sabreman's legs, human, walking frame 1, first pair of facings | ||
| B0BA | DEFW upd_16_to_21_24_to_29 | Type 18: Sabreman's legs, human, walking frame 2, first pair of facings | ||
| B0BC | DEFW upd_16_to_21_24_to_29 | Type 19: Sabreman's legs, human, walking frame 3, first pair of facings | ||
| B0BE | DEFW upd_16_to_21_24_to_29 | Type 20: Sabreman's legs, human, walking frame 4, first pair of facings | ||
| B0C0 | DEFW upd_16_to_21_24_to_29 | Type 21: Sabreman's legs, human, walking frame 5, first pair of facings | ||
| B0C2 | DEFW upd_22 | Type 22: gargoyle, static and deadly | ||
| B0C4 | DEFW upd_23 | Type 23: spikes, static and deadly | ||
| B0C6 | DEFW upd_16_to_21_24_to_29 | Type 24: Sabreman's legs, human, walking frame 0, second pair of facings | ||
| B0C8 | DEFW upd_16_to_21_24_to_29 | Type 25: Sabreman's legs, human, walking frame 1, second pair of facings | ||
| B0CA | DEFW upd_16_to_21_24_to_29 | Type 26: Sabreman's legs, human, walking frame 2, second pair of facings | ||
| B0CC | DEFW upd_16_to_21_24_to_29 | Type 27: Sabreman's legs, human, walking frame 3, second pair of facings | ||
| B0CE | DEFW upd_16_to_21_24_to_29 | Type 28: Sabreman's legs, human, walking frame 4, second pair of facings | ||
| B0D0 | DEFW upd_16_to_21_24_to_29 | Type 29: Sabreman's legs, human, walking frame 5, second pair of facings | ||
| B0D2 | DEFW upd_30_31_158_159 | Type 30: upper body of the guard that walks round the room, one frame per facing | ||
| B0D4 | DEFW upd_30_31_158_159 | Type 31: upper body of the guard that walks round the room, one frame per facing | ||
| B0D6 | DEFW upd_32_to_47 | Type 32: Sabreman's upper body, human, walking frame 0, first pair of facings | ||
| B0D8 | DEFW upd_32_to_47 | Type 33: Sabreman's upper body, human, walking frame 1, first pair of facings | ||
| B0DA | DEFW upd_32_to_47 | Type 34: Sabreman's upper body, human, walking frame 2, first pair of facings | ||
| B0DC | DEFW upd_32_to_47 | Type 35: Sabreman's upper body, human, walking frame 3, first pair of facings | ||
| B0DE | DEFW upd_32_to_47 | Type 36: Sabreman's upper body, human, walking frame 4, first pair of facings | ||
| B0E0 | DEFW upd_32_to_47 | Type 37: Sabreman's upper body, human, walking frame 5, first pair of facings | ||
| B0E2 | DEFW upd_32_to_47 | Type 38: Sabreman's upper body, human, an occasional frame held for eight frames, first pair of facings | ||
| B0E4 | DEFW upd_32_to_47 | Type 39: Sabreman's upper body, human, an occasional frame held for eight frames, first pair of facings | ||
| B0E6 | DEFW upd_32_to_47 | Type 40: Sabreman's upper body, human, walking frame 0, second pair of facings | ||
| B0E8 | DEFW upd_32_to_47 | Type 41: Sabreman's upper body, human, walking frame 1, second pair of facings | ||
| B0EA | DEFW upd_32_to_47 | Type 42: Sabreman's upper body, human, walking frame 2, second pair of facings | ||
| B0EC | DEFW upd_32_to_47 | Type 43: Sabreman's upper body, human, walking frame 3, second pair of facings | ||
| B0EE | DEFW upd_32_to_47 | Type 44: Sabreman's upper body, human, walking frame 4, second pair of facings | ||
| B0F0 | DEFW upd_32_to_47 | Type 45: Sabreman's upper body, human, walking frame 5, second pair of facings | ||
| B0F2 | DEFW upd_32_to_47 | Type 46: Sabreman's upper body, human, an occasional frame held for eight frames, second pair of facings | ||
| B0F4 | DEFW upd_32_to_47 | Type 47: Sabreman's upper body, human, an occasional frame held for eight frames, second pair of facings | ||
| B0F6 | DEFW upd_48_to_53_56_to_61 | Type 48: Sabreman's legs, werewolf, walking frame 0, first pair of facings | ||
| B0F8 | DEFW upd_48_to_53_56_to_61 | Type 49: Sabreman's legs, werewolf, walking frame 1, first pair of facings | ||
| B0FA | DEFW upd_48_to_53_56_to_61 | Type 50: Sabreman's legs, werewolf, walking frame 2, first pair of facings | ||
| B0FC | DEFW upd_48_to_53_56_to_61 | Type 51: Sabreman's legs, werewolf, walking frame 3, first pair of facings | ||
| B0FE | DEFW upd_48_to_53_56_to_61 | Type 52: Sabreman's legs, werewolf, walking frame 4, first pair of facings | ||
| B100 | DEFW upd_48_to_53_56_to_61 | Type 53: Sabreman's legs, werewolf, walking frame 5, first pair of facings | ||
| B102 | DEFW upd_54 | Type 54: block that slides back and forth along X | ||
| B104 | DEFW upd_55 | Type 55: block that slides back and forth along Y | ||
| B106 | DEFW upd_48_to_53_56_to_61 | Type 56: Sabreman's legs, werewolf, walking frame 0, second pair of facings | ||
| B108 | DEFW upd_48_to_53_56_to_61 | Type 57: Sabreman's legs, werewolf, walking frame 1, second pair of facings | ||
| B10A | DEFW upd_48_to_53_56_to_61 | Type 58: Sabreman's legs, werewolf, walking frame 2, second pair of facings | ||
| B10C | DEFW upd_48_to_53_56_to_61 | Type 59: Sabreman's legs, werewolf, walking frame 3, second pair of facings | ||
| B10E | DEFW upd_48_to_53_56_to_61 | Type 60: Sabreman's legs, werewolf, walking frame 4, second pair of facings | ||
| B110 | DEFW upd_48_to_53_56_to_61 | Type 61: Sabreman's legs, werewolf, walking frame 5, second pair of facings | ||
| B112 | DEFW upd_62 | Type 62: the block tcdev called movable: stops every frame, falls, and blips the speaker every frame | ||
| B114 | DEFW upd_63 | Type 63: spiked ball that drops once, at random, one at a time; deadly | ||
| B116 | DEFW upd_64_to_79 | Type 64: werewolf upper body, walking frame 0, first pair of facings | ||
| B118 | DEFW upd_64_to_79 | Type 65: werewolf upper body, walking frame 1, first pair of facings | ||
| B11A | DEFW upd_64_to_79 | Type 66: werewolf upper body, walking frame 2, first pair of facings | ||
| B11C | DEFW upd_64_to_79 | Type 67: werewolf upper body, walking frame 3, first pair of facings | ||
| B11E | DEFW upd_64_to_79 | Type 68: werewolf upper body, walking frame 4, first pair of facings | ||
| B120 | DEFW upd_64_to_79 | Type 69: werewolf upper body, walking frame 5, first pair of facings | ||
| B122 | DEFW upd_64_to_79 | Type 70: werewolf upper body, an occasional frame, first pair of facings | ||
| B124 | DEFW upd_64_to_79 | Type 71: werewolf upper body, an occasional frame, first pair of facings | ||
| B126 | DEFW upd_64_to_79 | Type 72: werewolf upper body, walking frame 0, second pair of facings | ||
| B128 | DEFW upd_64_to_79 | Type 73: werewolf upper body, walking frame 1, second pair of facings | ||
| B12A | DEFW upd_64_to_79 | Type 74: werewolf upper body, walking frame 2, second pair of facings | ||
| B12C | DEFW upd_64_to_79 | Type 75: werewolf upper body, walking frame 3, second pair of facings | ||
| B12E | DEFW upd_64_to_79 | Type 76: werewolf upper body, walking frame 4, second pair of facings | ||
| B130 | DEFW upd_64_to_79 | Type 77: werewolf upper body, walking frame 5, second pair of facings | ||
| B132 | DEFW upd_64_to_79 | Type 78: werewolf upper body, an occasional frame, second pair of facings | ||
| B134 | DEFW upd_64_to_79 | Type 79: werewolf upper body, an occasional frame, second pair of facings | ||
| B136 | DEFW upd_80_to_83 | Type 80: ghost, wandering at random; deadly (bit 1 facing, bit 0 flapping) | ||
| B138 | DEFW upd_80_to_83 | Type 81: ghost, wandering at random; deadly (bit 1 facing, bit 0 flapping) | ||
| B13A | DEFW upd_80_to_83 | Type 82: ghost, wandering at random; deadly (bit 1 facing, bit 0 flapping) | ||
| B13C | DEFW upd_80_to_83 | Type 83: ghost, wandering at random; deadly (bit 1 facing, bit 0 flapping) | ||
| B13E | DEFW upd_84 | Type 84: table: falls, and stops after each push | ||
| B140 | DEFW upd_85 | Type 85: chest: falls; unlike the table, its handler does not stop it after a push | ||
| B142 | DEFW upd_86_87 | Type 86: flame that runs back and forth along X; deadly | ||
| B144 | DEFW upd_86_87 | Type 87: flame that runs back and forth along X; deadly | ||
| B146 | DEFW upd_88_to_90 | Type 88: the sun (drawn in the panel, never in the object table) | ||
| B148 | DEFW upd_88_to_90 | Type 89: the moon (drawn in the panel, never in the object table) | ||
| B14A | DEFW upd_88_to_90 | Type 90: left end of the sun and moon frame (panel only) | ||
| B14C | DEFW upd_91 | Type 91: block that sinks while something stands on it | ||
| B14E | DEFW upd_92_to_95 | Type 92: Sabreman changing between man and werewolf | ||
| B150 | DEFW upd_92_to_95 | Type 93: Sabreman changing between man and werewolf | ||
| B152 | DEFW upd_92_to_95 | Type 94: Sabreman changing between man and werewolf | ||
| B154 | DEFW upd_92_to_95 | Type 95: Sabreman changing between man and werewolf | ||
| B156 | DEFW upd_96_to_102 | Type 96: charm 0 of the seven, lying in a room | ||
| B158 | DEFW upd_96_to_102 | Type 97: charm 1 of the seven, lying in a room | ||
| B15A | DEFW upd_96_to_102 | Type 98: charm 2 of the seven, lying in a room | ||
| B15C | DEFW upd_96_to_102 | Type 99: charm 3 of the seven, lying in a room | ||
| B15E | DEFW upd_96_to_102 | Type 100: charm 4 of the seven, lying in a room | ||
| B160 | DEFW upd_96_to_102 | Type 101: charm 5 of the seven, lying in a room | ||
| B162 | DEFW upd_96_to_102 | Type 102: charm 6 of the seven, lying in a room | ||
| B164 | DEFW upd_103 | Type 103: extra life, lying in a room | ||
| B166 | DEFW upd_104_to_110 | Type 104: charm 0 dropped in the cauldron room, drifting to the cauldron | ||
| B168 | DEFW upd_104_to_110 | Type 105: charm 1 dropped in the cauldron room, drifting to the cauldron | ||
| B16A | DEFW upd_104_to_110 | Type 106: charm 2 dropped in the cauldron room, drifting to the cauldron | ||
| B16C | DEFW upd_104_to_110 | Type 107: charm 3 dropped in the cauldron room, drifting to the cauldron | ||
| B16E | DEFW upd_104_to_110 | Type 108: charm 4 dropped in the cauldron room, drifting to the cauldron | ||
| B170 | DEFW upd_104_to_110 | Type 109: charm 5 dropped in the cauldron room, drifting to the cauldron | ||
| B172 | DEFW upd_104_to_110 | Type 110: charm 6 dropped in the cauldron room, drifting to the cauldron | ||
| B174 | DEFW upd_111 | Type 111: extra life just collected; vanishes next frame | ||
| B176 | DEFW upd_112_to_118_184 | Type 112: death sparkle, frame 0 | ||
| B178 | DEFW upd_112_to_118_184 | Type 113: death sparkle, frame 1 | ||
| B17A | DEFW upd_112_to_118_184 | Type 114: death sparkle, frame 2 | ||
| B17C | DEFW upd_112_to_118_184 | Type 115: death sparkle, frame 3 | ||
| B17E | DEFW upd_112_to_118_184 | Type 116: death sparkle, frame 4 | ||
| B180 | DEFW upd_112_to_118_184 | Type 117: death sparkle, frame 5 | ||
| B182 | DEFW upd_112_to_118_184 | Type 118: death sparkle, frame 6 | ||
| B184 | DEFW upd_119 | Type 119: death sparkle, last frame; vanishes next frame | ||
| B186 | DEFW upd_120_to_126 | Type 120: Sabreman materialising, frame 0 | ||
| B188 | DEFW upd_120_to_126 | Type 121: Sabreman materialising, frame 1 | ||
| B18A | DEFW upd_120_to_126 | Type 122: Sabreman materialising, frame 2 | ||
| B18C | DEFW upd_120_to_126 | Type 123: Sabreman materialising, frame 3 | ||
| B18E | DEFW upd_120_to_126 | Type 124: Sabreman materialising, frame 4 | ||
| B190 | DEFW upd_120_to_126 | Type 125: Sabreman materialising, frame 5 | ||
| B192 | DEFW upd_120_to_126 | Type 126: Sabreman materialising, frame 6 | ||
| B194 | DEFW upd_127 | Type 127: Sabreman materialising, done: becomes the type saved at +16 | ||
| B196 | DEFW upd_128_to_130 | Type 128: tree-trunk piece of a tree room's walls, static | ||
| B198 | DEFW upd_128_to_130 | Type 129: tree-trunk piece of a tree room's walls, static | ||
| B19A | DEFW upd_128_to_130 | Type 130: tree-trunk piece of a tree room's walls, static | ||
| B19C | DEFW upd_131_to_133 | Type 131: finale spark: rises circling the room, then homes on Sabreman and ends the game | ||
| B19E | DEFW upd_131_to_133 | Type 132: finale spark: rises circling the room, then homes on Sabreman and ends the game | ||
| B1A0 | DEFW upd_131_to_133 | Type 133: finale spark: rises circling the room, then homes on Sabreman and ends the game | ||
| B1A2 | DEFW no_update | Type 134: a piece of the status panel (panel only) | ||
| B1A4 | DEFW no_update | Type 135: a piece of the status panel (panel only) | ||
| B1A6 | DEFW no_update | Type 136: a piece of the status panel (panel only) | ||
| B1A8 | DEFW no_update | Type 137: a corner of the screen border (panel only) | ||
| B1AA | DEFW no_update | Type 138: an edge of the screen border (panel only) | ||
| B1AC | DEFW no_update | Type 139: an edge of the screen border (panel only) | ||
| B1AE | DEFW no_update | Type 140: the lives icon (panel only) | ||
| B1B0 | DEFW upd_141 | Type 141: the cauldron | ||
| B1B2 | DEFW upd_142 | Type 142: the cauldron's second sprite, with no size of its own | ||
| B1B4 | DEFW upd_143 | Type 143: block that crumbles away when stood on | ||
| B1B6 | DEFW upd_144_to_149_152_to_157 | Type 144: legs of a guard or the wizard, walking frame 0, first pair of facings | ||
| B1B8 | DEFW upd_144_to_149_152_to_157 | Type 145: legs of a guard or the wizard, walking frame 1, first pair of facings | ||
| B1BA | DEFW upd_144_to_149_152_to_157 | Type 146: legs of a guard or the wizard, walking frame 2, first pair of facings | ||
| B1BC | DEFW upd_144_to_149_152_to_157 | Type 147: legs of a guard or the wizard, walking frame 3, first pair of facings | ||
| B1BE | DEFW upd_144_to_149_152_to_157 | Type 148: legs of a guard or the wizard, walking frame 4, first pair of facings | ||
| B1C0 | DEFW upd_144_to_149_152_to_157 | Type 149: legs of a guard or the wizard, walking frame 5, first pair of facings | ||
| B1C2 | DEFW upd_150_151 | Type 150: upper body of the guard that walks back and forth along X, one frame per facing | ||
| B1C4 | DEFW upd_150_151 | Type 151: upper body of the guard that walks back and forth along X, one frame per facing | ||
| B1C6 | DEFW upd_144_to_149_152_to_157 | Type 152: legs of a guard or the wizard, walking frame 0, second pair of facings | ||
| B1C8 | DEFW upd_144_to_149_152_to_157 | Type 153: legs of a guard or the wizard, walking frame 1, second pair of facings | ||
| B1CA | DEFW upd_144_to_149_152_to_157 | Type 154: legs of a guard or the wizard, walking frame 2, second pair of facings | ||
| B1CC | DEFW upd_144_to_149_152_to_157 | Type 155: legs of a guard or the wizard, walking frame 3, second pair of facings | ||
| B1CE | DEFW upd_144_to_149_152_to_157 | Type 156: legs of a guard or the wizard, walking frame 4, second pair of facings | ||
| B1D0 | DEFW upd_144_to_149_152_to_157 | Type 157: legs of a guard or the wizard, walking frame 5, second pair of facings | ||
| B1D2 | DEFW upd_30_31_158_159 | Type 158: the wizard's upper body, one frame per facing | ||
| B1D4 | DEFW upd_30_31_158_159 | Type 159: the wizard's upper body, one frame per facing | ||
| B1D6 | DEFW upd_160_to_163 | Type 160: bubbles rising from the cauldron | ||
| B1D8 | DEFW upd_160_to_163 | Type 161: bubbles rising from the cauldron | ||
| B1DA | DEFW upd_160_to_163 | Type 162: bubbles rising from the cauldron | ||
| B1DC | DEFW upd_160_to_163 | Type 163: bubbles rising from the cauldron | ||
| B1DE | DEFW upd_164_to_167 | Type 164: repel spell, homing on Sabreman | ||
| B1E0 | DEFW upd_164_to_167 | Type 165: repel spell, homing on Sabreman | ||
| B1E2 | DEFW upd_164_to_167 | Type 166: repel spell, homing on Sabreman | ||
| B1E4 | DEFW upd_164_to_167 | Type 167: repel spell, homing on Sabreman | ||
| B1E6 | DEFW upd_168_to_175 | Type 168: picture of charm 0 over the cauldron, the one it wants next | ||
| B1E8 | DEFW upd_168_to_175 | Type 169: picture of charm 1 over the cauldron, the one it wants next | ||
| B1EA | DEFW upd_168_to_175 | Type 170: picture of charm 2 over the cauldron, the one it wants next | ||
| B1EC | DEFW upd_168_to_175 | Type 171: picture of charm 3 over the cauldron, the one it wants next | ||
| B1EE | DEFW upd_168_to_175 | Type 172: picture of charm 4 over the cauldron, the one it wants next | ||
| B1F0 | DEFW upd_168_to_175 | Type 173: picture of charm 5 over the cauldron, the one it wants next | ||
| B1F2 | DEFW upd_168_to_175 | Type 174: picture of charm 6 over the cauldron, the one it wants next | ||
| B1F4 | DEFW upd_168_to_175 | Type 175: would be the extra life over the cauldron; the code never makes it | ||
| B1F6 | DEFW upd_176_177 | Type 176: flickering fire; deadly | ||
| B1F8 | DEFW upd_176_177 | Type 177: flickering fire; deadly | ||
| B1FA | DEFW upd_178_179 | Type 178: ball bouncing up and down; deadly | ||
| B1FC | DEFW upd_178_179 | Type 179: ball bouncing up and down; deadly | ||
| B1FE | DEFW upd_180_181 | Type 180: flame that runs back and forth along Y; deadly | ||
| B200 | DEFW upd_180_181 | Type 181: flame that runs back and forth along Y; deadly | ||
| B202 | DEFW upd_182_183 | Type 182: ball that hops towards the werewolf and away from the man; deadly | ||
| B204 | DEFW upd_182_183 | Type 183: ball that hops towards the werewolf and away from the man; deadly | ||
| B206 | DEFW upd_112_to_118_184 | Type 184: crumbling block, vanishing | ||
| B208 | DEFW upd_185_187 | Type 185: crumbling block, last frame: zeroes the byte its +16 points at, then vanishes | ||
| B20A | DEFW no_update | Type 186: right end of the sun and moon frame (panel only) | ||
| B20C | DEFW upd_185_187 | Type 187: a charm destroyed where it met another object: zeroes its record, then vanishes | ||
|
Objects made of two records -- Sabreman, the guards and the wizard -- keep the second at the next record up: a guard's upper body is followed by its legs, and its handler writes the legs' position and motion 32 bytes on. Sabreman is the other way round, legs first at object 0.
|
||||
| Prev: B090 | Up: Map | Next: B20E |