| Routines

57637: 'C' pressed - catch a mouse or the frog

The address of this routine is found in the table of keypress handling routines at 58704. It is called from the main loop at 63210 when 'C' is pressed.
57637 | LD A,39 | 39=ERIC bending over, facing left
57639 | LD HL,31573 | The routine at 31573 deals with ERIC after 'C' has been pressed
This entry point is used by the routines at 23863, 24348, 28992, 57893 and 63898 with ERIC's new animatory state in A (bit 7 reset) and an appropriate routine address in HL.
57642 | LD (32727),HL | Place into 32727 the address of the routine that will deal with ERIC after we've finished here
57645 | LD HL,32763 | Set bit 3 at 32763: ERIC is bending over, firing the water pistol, moving forward as if to kiss, or dropping a stinkbomb
57648 | LD (HL),8
This entry point is used by the routine at 24247 with ERIC's new animatory state in A (bit 7 reset).
57650 | LD HL,53760 | Point HL at byte 0 of ERIC's buffer
57653 | LD BC,3 |
57656 | BIT 7,(HL) | Is ERIC facing left?
57658 | JR Z,57662 | Jump if so
57660 | ADD A,128 | Set bit 7 of ERIC's new animatory state so he's still facing right
57662 | LD D,H | Point DE at byte 3 of ERIC's buffer
57663 | LD E,C
57664 | LDIR | Copy bytes 0-2 of ERIC's buffer (which hold ERIC's current animatory state and location) into bytes 3-5 for retrieval when ERIC has completed this action
57666 | JP 62452 | Update ERIC's animatory state and update the SRB