Prev: 6500 Up: Map Next: 6560
653C: Put ERIC midstride, or raise his arm while writing on a blackboard
Used by the routines at 657F, 65E4, 6652 and F650.
Input
A ERIC's next animatory state (midstride or arm up)
B ERIC's post-midstride animatory state
DE ERIC's post-midstride coordinates
HL ERIC's midstride coordinates
653C PUSH HL Store ERIC's midstride/arm-up animatory state and coordinates briefly
653D PUSH AF
653E LD HL,$AC63 Point HL at byte 0x63 of ERIC's buffer
6541 LD (HL),B Store ERIC's post-midstride animatory state and coordinates in bytes 0x63, 0x64 and 0x65 of his buffer
6542 INC L
6543 LD (HL),D
6544 INC L
6545 LD (HL),E
6546 CALL $6214 Update the SRB for ERIC's current location
6549 POP AF Restore ERIC's midstride/arm-up animatory state and location to A and DE
654A POP DE
654B CALL $61B0 Update ERIC's animatory state and location and update the SRB
654E LD L,$04
6550 LD A,($7FFC) 7FFC holds the ASCII code of the last keypress
6553 BIT 5,A Was the last keypress upper case (fast)?
6555 JR Z,$6559 Jump (with L=4: fast) if so
6557 LD L,$09 Otherwise set L=9 (slow)
6559 LD H,L Set appropriate values for ERIC's main action timer (7FE8) and midstride action timer (7FE9)
655A LD ($7FE8),HL
655D JP $FE52 Make a walking (or writing-on-board) sound effect
Prev: 6500 Up: Map Next: 6560