Back to Skool Routines
Prev: 63404 Up: Map Next: 63446
63405: Deal with ERIC
Used by the routine at 63210. Deals with ERIC when any of the bits at 32763 (ERIC's status flags) are set, indicating that ERIC is doing something other than standing or walking:
Bit Set by Meaning if set
0 23887 ERIC is jumping
1 23907, 28305, 29574 Examine the status flags at 32749
2 62094, 62423, 64460 ERIC is sitting or lying down
3 57637 ERIC is bending over, dropping a stinkbomb etc.
4 24133 ERIC is writing on a blackboard
5 24247 ERIC is firing, hitting or kissing
6 62815, 64460 MR WACKER is expelling ERIC
7 26175, 29896 ERIC has been knocked over
If bit 1 at 32763 is set, we examine ERIC's other status flags at 32749:
Bit Set by Meaning if set
0 29462 ERIC is riding the bike
1 23907 ERIC is standing on a plant or plant pot
2 64316 ERIC is stepping off a plant, a plant pot, or the stage
3 64259, 64316 ERIC is falling and will land on his feet
4 29194, 29278, 64077 ERIC is falling and will not land on his feet
5 64259 ERIC has stepped out of the top-floor window
6 29194 ERIC is falling from the saddle of the bike
7 29278 ERIC is standing on the saddle of the bike
H 127
63405 LD L,237 HL=32749 (ERIC's other status flags)
63407 BIT 5,(HL) Has ERIC stepped out of the top-floor window?
63409 JR Z,63418 Jump if not
63411 LD A,(53760) A=ERIC's animatory state
63414 CP 134 134: Is ERIC lying on his back, facing right?
63416 JR NZ,63431 Jump if not
63418 LD L,251 HL=32763 (ERIC's status flags)
63420 BIT 6,(HL) Is MR WACKER expelling ERIC?
63422 RET NZ Return if so (ERIC is incapacitated)
63423 BIT 1,(HL) Bit 1 at 32763 is set if we need to look at 32749
63425 LD D,211
63427 JR Z,63433 Jump unless we need to look at 32749
63429 LD L,237 HL=32749 (ERIC's other status flags)
63431 LD D,213
63433 LD A,(HL) Copy the contents of 32763 or 32749 to A
Now D=211 and A=(32763) if bit 1 at 32763 is reset; otherwise D=213 and A=(32749).
63434 LD E,68 Point DE at the appropriate entry in the table below (depending on which bit of A is set)
63436 DEC E
63437 RRCA
63438 JR NC,63436
63440 EX DE,HL Transfer the table entry address to HL
63441 LD E,(HL) Collect the routine address from the table entry into DE
63442 INC H
63443 LD D,(HL)
63444 EX DE,HL Transfer this routine address to HL
63445 JP (HL) Jump to this address
32763 32749
Bit E D=211 D=212 Address D=213 D=214 Address
0 67 99 93 23907 94 114 29278
1 66 0 0 0 60 251 64316
2 65 226 242 62178 3 251 64259
3 64 69 225 57669 160 251 64416
4 63 111 94 24175 204 251 64460
5 62 173 94 24237 51 93 23859
6 61 0 0 0 35 93 23843
7 60 142 242 62094 22 115 29462
Prev: 63404 Up: Map Next: 63446