Prev: 7E7E Up: Map Next: 7EB2
7E93: Dispatch a record named in a room's list
Used by the routine at MAIN_LOOP_MONSTERS.
Takes an entry as ROOM_CONTENTS stores it, subtracts the ROOM_CONTENTS bias to get the real address, puts it in IX and dispatches it -- pushing a return address first, the same convention MAIN_LOOP uses.
DISPATCH_FROM_LIST 7E93 LD BC,NEXT_IN_LIST
7E96 PUSH BC
7E97 LD BC,ROOM_CONTENTS
7E9A AND A
7E9B SBC HL,BC
7E9D PUSH HL
7E9E POP IX
7EA0 LD A,($EA91)
7EA3 CP (IX+$01)
7EA6 JR Z,DISPATCH_FROM_LIST_0
7EA8 LD BC,$0008
7EAB ADD IX,BC
DISPATCH_FROM_LIST_0 7EAD LD HL,$802A ACTOR_HANDLERS + 2 * $A2, where the room records' handlers start
7EB0 JR DISPATCH_IN_TABLE
Prev: 7E7E Up: Map Next: 7EB2