![]() |
Data |
| Prev: 7EC5 | Up: Map | Next: 807A |
|
202 addresses, indexed by an actor's +$00 byte, used by DISPATCH_ACTOR. Entries come in runs of two or four because the low bits of +$00 are the animation frame rather than part of the identity -- $5C and $5D are the two frames of one creature and share a handler, as do $58 to $5B.
The first three runs are the playable characters -- $01-$10 knight, $11-$20 wizard, $21-$30 serf -- sixteen sprite codes each, which is what makes "below $31" mean "is a player" in CHECK_HIT. Confirmed by starting a game as each of the three in turn and reading the player's sprite byte back: $08, $18 and $28, the same offset into each band.
Checked against the running game: the monster at $EE80 had sprite byte $5C, the table entry two bytes into ACTOR_HANDLERS + $5C * 2 reads MOVE_ACTOR, and a breakpoint at MOVE_ACTOR does fire with IX pointing at that monster.
|
||||
| ACTOR_HANDLERS | 7EE6 | DEFW INERT_SPRITE | ||
| 7EE8 | DEFW UPDATE_KNIGHT | |||
| 7EEA | DEFW UPDATE_KNIGHT | |||
| 7EEC | DEFW UPDATE_KNIGHT | |||
| 7EEE | DEFW UPDATE_KNIGHT | |||
| 7EF0 | DEFW UPDATE_KNIGHT | |||
| 7EF2 | DEFW UPDATE_KNIGHT | |||
| 7EF4 | DEFW UPDATE_KNIGHT | |||
| 7EF6 | DEFW UPDATE_KNIGHT | |||
| 7EF8 | DEFW UPDATE_KNIGHT | |||
| 7EFA | DEFW UPDATE_KNIGHT | |||
| 7EFC | DEFW UPDATE_KNIGHT | |||
| 7EFE | DEFW UPDATE_KNIGHT | |||
| 7F00 | DEFW UPDATE_KNIGHT | |||
| 7F02 | DEFW UPDATE_KNIGHT | |||
| 7F04 | DEFW UPDATE_KNIGHT | |||
| 7F06 | DEFW UPDATE_KNIGHT | |||
| 7F08 | DEFW UPDATE_WIZARD | |||
| 7F0A | DEFW UPDATE_WIZARD | |||
| 7F0C | DEFW UPDATE_WIZARD | |||
| 7F0E | DEFW UPDATE_WIZARD | |||
| 7F10 | DEFW UPDATE_WIZARD | |||
| 7F12 | DEFW UPDATE_WIZARD | |||
| 7F14 | DEFW UPDATE_WIZARD | |||
| 7F16 | DEFW UPDATE_WIZARD | |||
| 7F18 | DEFW UPDATE_WIZARD | |||
| 7F1A | DEFW UPDATE_WIZARD | |||
| 7F1C | DEFW UPDATE_WIZARD | |||
| 7F1E | DEFW UPDATE_WIZARD | |||
| 7F20 | DEFW UPDATE_WIZARD | |||
| 7F22 | DEFW UPDATE_WIZARD | |||
| 7F24 | DEFW UPDATE_WIZARD | |||
| 7F26 | DEFW UPDATE_WIZARD | |||
| 7F28 | DEFW UPDATE_SERF | |||
| 7F2A | DEFW UPDATE_SERF | |||
| 7F2C | DEFW UPDATE_SERF | |||
| 7F2E | DEFW UPDATE_SERF | |||
| 7F30 | DEFW UPDATE_SERF | |||
| 7F32 | DEFW UPDATE_SERF | |||
| 7F34 | DEFW UPDATE_SERF | |||
| 7F36 | DEFW UPDATE_SERF | |||
| 7F38 | DEFW UPDATE_SERF | |||
| 7F3A | DEFW UPDATE_SERF | |||
| 7F3C | DEFW UPDATE_SERF | |||
| 7F3E | DEFW UPDATE_SERF | |||
| 7F40 | DEFW UPDATE_SERF | |||
| 7F42 | DEFW UPDATE_SERF | |||
| 7F44 | DEFW UPDATE_SERF | |||
| 7F46 | DEFW UPDATE_SERF | |||
| 7F48 | DEFW PUT_DOWN | |||
| 7F4A | DEFW INERT_SPRITE | |||
| 7F4C | DEFW INERT_SPRITE | |||
| 7F4E | DEFW SPIN_SPELL | |||
| 7F50 | DEFW SPIN_SPELL | |||
| 7F52 | DEFW SPIN_SPELL | |||
| 7F54 | DEFW SPIN_SPELL | |||
| 7F56 | DEFW AIM_SWORD | |||
| 7F58 | DEFW AIM_SWORD | |||
| 7F5A | DEFW AIM_SWORD | |||
| 7F5C | DEFW AIM_SWORD | |||
| 7F5E | DEFW AIM_SWORD | |||
| 7F60 | DEFW AIM_SWORD | |||
| 7F62 | DEFW AIM_SWORD | |||
| 7F64 | DEFW AIM_SWORD | |||
| 7F66 | DEFW SPIN_AXE | |||
| 7F68 | DEFW SPIN_AXE | |||
| 7F6A | DEFW SPIN_AXE | |||
| 7F6C | DEFW SPIN_AXE | |||
| 7F6E | DEFW SPIN_AXE | |||
| 7F70 | DEFW SPIN_AXE | |||
| 7F72 | DEFW SPIN_AXE | |||
| 7F74 | DEFW SPIN_AXE | |||
| 7F76 | DEFW INERT_SPRITE | |||
| 7F78 | DEFW INERT_SPRITE | |||
| 7F7A | DEFW INERT_SPRITE | |||
| 7F7C | DEFW INERT_SPRITE | |||
| 7F7E | DEFW MOVE_ACTOR | |||
| 7F80 | DEFW MOVE_ACTOR | |||
| 7F82 | DEFW MOVE_BAT | |||
| 7F84 | DEFW MOVE_BAT | |||
| 7F86 | DEFW EAT_FOOD | |||
| 7F88 | DEFW EAT_FOOD | |||
| 7F8A | DEFW EAT_FOOD | |||
| 7F8C | DEFW EAT_FOOD | |||
| 7F8E | DEFW EAT_FOOD | |||
| 7F90 | DEFW EAT_FOOD | |||
| 7F92 | DEFW EAT_FOOD | |||
| 7F94 | DEFW EAT_FOOD | |||
| 7F96 | DEFW SPAWN_MONSTER | |||
| 7F98 | DEFW SPAWN_MONSTER | |||
| 7F9A | DEFW SPAWN_MONSTER | |||
| 7F9C | DEFW SPAWN_MONSTER | |||
| 7F9E | DEFW MOVE_ACTOR | |||
| 7FA0 | DEFW MOVE_ACTOR | |||
| 7FA2 | DEFW MOVE_HOPPER | |||
| 7FA4 | DEFW MOVE_HOPPER | |||
| 7FA6 | DEFW MOVE_FACE | |||
| 7FA8 | DEFW MOVE_FACE | |||
| 7FAA | DEFW MOVE_GHOST | |||
| 7FAC | DEFW MOVE_GHOST | |||
| 7FAE | DEFW SOUND_CAUGHT | |||
| 7FB0 | DEFW SOUND_NEW_ROOM | |||
| 7FB2 | DEFW MATERIALISING | |||
| 7FB4 | DEFW DYING | |||
| 7FB6 | DEFW MOVE_HOPPER | |||
| 7FB8 | DEFW MOVE_HOPPER | |||
| 7FBA | DEFW MOVE_ARCS | |||
| 7FBC | DEFW MOVE_ARCS | |||
| 7FBE | DEFW COUNTDOWN_ACTOR | |||
| 7FC0 | DEFW COUNTDOWN_ACTOR | |||
| 7FC2 | DEFW COUNTDOWN_ACTOR | |||
| 7FC4 | DEFW COUNTDOWN_ACTOR | |||
| 7FC6 | DEFW MOVE_MUMMY | |||
| 7FC8 | DEFW MOVE_MUMMY | |||
| 7FCA | DEFW MOVE_MUMMY | |||
| 7FCC | DEFW MOVE_MUMMY | |||
| 7FCE | DEFW MOVE_FRANKENSTEIN | |||
| 7FD0 | DEFW MOVE_FRANKENSTEIN | |||
| 7FD2 | DEFW MOVE_FRANKENSTEIN | |||
| 7FD4 | DEFW MOVE_FRANKENSTEIN | |||
| 7FD6 | DEFW MOVE_DEVIL | |||
| 7FD8 | DEFW MOVE_DEVIL | |||
| 7FDA | DEFW MOVE_DEVIL | |||
| 7FDC | DEFW MOVE_DEVIL | |||
| 7FDE | DEFW MOVE_DRACULA | |||
| 7FE0 | DEFW MOVE_DRACULA | |||
| 7FE2 | DEFW MOVE_DRACULA | |||
| 7FE4 | DEFW MOVE_DRACULA | |||
| 7FE6 | DEFW PICK_UP | |||
| 7FE8 | DEFW PICK_UP | |||
| 7FEA | DEFW PICK_UP | |||
| 7FEC | DEFW PICK_UP | |||
| 7FEE | DEFW PICK_UP | |||
| 7FF0 | DEFW PICK_UP | |||
| 7FF2 | DEFW PICK_UP | |||
| 7FF4 | DEFW PICK_UP | |||
| 7FF6 | DEFW PICK_UP | |||
| 7FF8 | DEFW PICK_UP | |||
| 7FFA | DEFW PICK_UP | |||
| 7FFC | DEFW PICK_UP | |||
| 7FFE | DEFW PICK_UP | |||
| 8000 | DEFW PICK_UP | |||
| 8002 | DEFW PICK_UP | |||
| 8004 | DEFW GRAVESTONE | |||
| 8006 | DEFW MOVE_WITCH | |||
| 8008 | DEFW MOVE_WITCH | |||
| 800A | DEFW MOVE_WITCH | |||
| 800C | DEFW MOVE_WITCH | |||
| 800E | DEFW MOVE_FACING_FLYER | |||
| 8010 | DEFW MOVE_FACING_FLYER | |||
| 8012 | DEFW MOVE_FACING_FLYER | |||
| 8014 | DEFW MOVE_FACING_FLYER | |||
| 8016 | DEFW MOVE_FACING_FLYER | |||
| 8018 | DEFW MOVE_FACING_FLYER | |||
| 801A | DEFW MOVE_FACING_FLYER | |||
| 801C | DEFW MOVE_FACING_FLYER | |||
| 801E | DEFW MOVE_HUMPBACK | |||
| 8020 | DEFW MOVE_HUMPBACK | |||
| 8022 | DEFW MOVE_HUMPBACK | |||
| 8024 | DEFW MOVE_HUMPBACK | |||
| 8026 | DEFW SOUND_EATING | |||
| 8028 | DEFW MUSHROOM | |||
| 802A | DEFW INERT_SPRITE | |||
| 802C | DEFW DOOR | |||
| 802E | DEFW DOOR | |||
| 8030 | DEFW BIG_DOOR | |||
| 8032 | DEFW INERT_SPRITE | |||
| 8034 | DEFW INERT_SPRITE | |||
| 8036 | DEFW INERT_SPRITE | |||
| 8038 | DEFW INERT_SPRITE | |||
| 803A | DEFW DOOR_LOCKED_A | |||
| 803C | DEFW DOOR_LOCKED_A | |||
| 803E | DEFW DOOR_LOCKED_A | |||
| 8040 | DEFW DOOR_LOCKED_A | |||
| 8042 | DEFW DOOR_LOCKED_B | |||
| 8044 | DEFW DOOR_LOCKED_B | |||
| 8046 | DEFW DOOR_LOCKED_B | |||
| 8048 | DEFW DOOR_LOCKED_B | |||
| 804A | DEFW DOOR_KNIGHT | |||
| 804C | DEFW DRAW_DOOR | |||
| 804E | DEFW DRAW_DOOR | |||
| 8050 | DEFW INERT_SPRITE | |||
| 8052 | DEFW INERT_SPRITE | |||
| 8054 | DEFW DRAW_DOOR | |||
| 8056 | DEFW DRAW_DOOR | |||
| 8058 | DEFW DOOR_WIZARD | |||
| 805A | DEFW TRAPDOOR_CLOSED | |||
| 805C | DEFW TRAPDOOR | |||
| 805E | DEFW DOOR_SERF | |||
| 8060 | DEFW DRAW_DOOR | |||
| 8062 | DEFW DRAW_DOOR | |||
| 8064 | DEFW DRAW_DOOR | |||
| 8066 | DEFW DRAW_DOOR | |||
| 8068 | DEFW INERT_SPRITE | |||
| 806A | DEFW TIMED_DOOR_SHUT | |||
| 806C | DEFW TIMED_DOOR_OPEN | |||
| 806E | DEFW TIMED_DOOR_SHUT | |||
| 8070 | DEFW TIMED_DOOR_OPEN | |||
| 8072 | DEFW ACG_DOOR | |||
| 8074 | DEFW DRAW_DOOR | |||
| 8076 | DEFW DRAW_DOOR | |||
| 8078 | DEFW DRAW_DOOR | |||
| Prev: 7EC5 | Up: Map | Next: 807A |