![]() |
Routines |
| Prev: 7E7E | Up: Map | Next: 7EB2 |
|
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 |