Routines |
Prev: F7AC | Up: Map | Next: F7D6 |
Used by the routine at F6EA. Deals with ERIC when any of the bits at 7FFB (ERIC's primary status flags) are set, indicating that ERIC is doing something other than standing or walking:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
F7AD | LD L,$ED | HL=7FED (ERIC's secondary status flags) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
F7AF | BIT 5,(HL) | Has ERIC stepped out of the top-floor window? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
F7B1 | JR Z,$F7BA | Jump if not | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
F7B3 | LD A,($D200) | A=ERIC's animatory state | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
F7B6 | CP $86 | 0x86: Is ERIC lying on his back, facing right? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
F7B8 | JR NZ,$F7C7 | Jump if not | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
F7BA | LD L,$FB | HL=7FFB (ERIC's status flags) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
F7BC | BIT 6,(HL) | Is MR WACKER expelling ERIC? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
F7BE | RET NZ | Return if so (ERIC is incapacitated) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
F7BF | BIT 1,(HL) | Bit 1 at 7FFB is set if we need to look at 7FED | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
F7C1 | LD D,$D3 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
F7C3 | JR Z,$F7C9 | Jump unless we need to look at 7FED | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
F7C5 | LD L,$ED | HL=7FED (ERIC's secondary status flags) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
F7C7 | LD D,$D5 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
F7C9 | LD A,(HL) | Copy the contents of 7FFB or 7FED to A | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Now D=0xD3 and A=(7FFB) if bit 1 at 7FFB is reset; otherwise D=0xD5 and A=(7FED).
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
F7CA | LD E,$44 | Point DE at the appropriate entry in the table of handler routine address LSBs (at D33C or D53C), depending on which bit of A is set | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
F7CC | DEC E | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
F7CD | RRCA | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
F7CE | JR NC,$F7CC | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
F7D0 | EX DE,HL | Transfer the table entry address to HL | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
F7D1 | LD E,(HL) | Collect the handler routine address from the table entry into DE | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
F7D2 | INC H | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
F7D3 | LD D,(HL) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
F7D4 | EX DE,HL | Transfer this handler routine address to HL | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
F7D5 | JP (HL) | Jump to the handler routine |
Prev: F7AC | Up: Map | Next: F7D6 |