![]() |
Routines |
Prev: 62571 | Up: Map | Next: 62610 |
The address of this routine is found in the table of keypress handling routines at 26752. It is called from the main loop at 26471 when 'F', 'C' or '0' (zero) is pressed.
|
||||
62574 | LD A,(43874) | A=x-coordinate of ERIC's catapult pellet | ||
62577 | RLCA | Is ERIC's catapult pellet already airborne? | ||
62578 | RET NC | Return if so | ||
62579 | LD BC,2049 | B=8 (ERIC raising catapult), C=1 (bit 0 set) | ||
62582 | LD A,24 | This will initialise the catapult-firing action timer at 32758 to 24 | ||
This entry point is used by the routine at 62610 with A=18, B=10 (ERIC raising fist), C=2 (bit 1 set); and by the routine at 62617 with A=16, B=12 (ERIC with arm raised), C=4 (bit 2 set).
|
||||
62584 | LD HL,32763 | 32763 holds ERIC's status flags | ||
62587 | BIT 7,(HL) | Is ERIC sitting or lying down? | ||
62589 | RET NZ | Return if so (ERIC can't fire, jump or hit while sitting or lying down) | ||
62590 | LD (HL),C | Otherwise set the appropriate bit in 32763 | ||
62591 | LD L,246 | Initialise the action timer at 32758 | ||
62593 | LD (HL),A | |||
62594 | PUSH BC | Save ERIC's next animatory state temporarily | ||
62595 | LD H,172 | 172=ERIC | ||
62597 | CALL 25108 | Update the SRB for ERIC's current animatory state | ||
62600 | POP BC | Restore ERIC's next animatory state to B | ||
62601 | LD L,102 | Store ERIC's current animatory state in byte 102 of his buffer | ||
62603 | LD (HL),A | |||
62604 | AND 128 | A=ERIC's next animatory state (phase 1 of firing, hitting or jumping) | ||
62606 | ADD A,B | |||
62607 | JP 25008 | Update ERIC's animatory state and update the SRB |
Prev: 62571 | Up: Map | Next: 62610 |