| Routines

25916: Put ERIC midstride, or raise his arm while writing on a blackboard

Used by the routines at 25983, 26084, 26194 and 63056.
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
25916 | PUSH HL | Store ERIC's midstride/arm-up animatory state and coordinates briefly
25917 | PUSH AF
25918 | LD HL,44131 | Point HL at byte 99 of ERIC's buffer
25921 | LD (HL),B | Store ERIC's post-midstride animatory state and coordinates in bytes 99, 100 and 101 of his buffer
25922 | INC L
25923 | LD (HL),D
25924 | INC L
25925 | LD (HL),E
25926 | CALL 25108 | Update the SRB for ERIC's current location
25929 | POP AF | Restore ERIC's midstride/arm-up animatory state and location to A and DE
25930 | POP DE
25931 | CALL 25008 | Update ERIC's animatory state and location and update the SRB
25934 | LD L,4 |
25936 | LD A,(32764) | 32764 holds the ASCII code of the last keypress
25939 | BIT 5,A | Was the last keypress upper case (fast)?
25941 | JR Z,25945 | Jump (with L=4: fast) if so
25943 | LD L,9 | Otherwise set L=9 (slow)
25945 | LD H,L | Set appropriate values for ERIC's main action timer (32744) and midstride action timer (32745)
25946 | LD (32744),HL
25949 | JP 65106 | Make a walking (or writing-on-board) sound effect