|  | Routines | 
| Prev: ECDC | Up: Map | Next: ECFD | 
| 
 | ||||||||
| ECE1 | CALL $EBBB | Move Sam left (or in the next best direction) if possible | ||||||
| 
This entry point is used by the routines at ECD2, ECD7 and ECDC.
 | ||||||||
| ECE4 | RET NC | Return if Sam could not move in the desired direction | ||||||
| ECE5 | LD A,($7FFD) | Collect the offset of the last key pressed from 7FFD | ||||||
| ECE8 | BIT 3,A | Set the zero flag if a 'fast' key (upper case Q, A, O or P) was pressed | ||||||
| ECEA | LD B,$04 | 4=fast | ||||||
| ECEC | JR Z,$ECF0 | Jump if a 'fast' key was pressed | ||||||
| ECEE | LD B,$08 | 8=slow | ||||||
| ECF0 | CALL $EC69 | Make a sound effect | ||||||
| ECF3 | LD L,$07 | Point HL at byte 0x07 of Sam's buffer | ||||||
| ECF5 | LD A,(HL) | A=0 if Sam is neither midstride nor mid-action now | ||||||
| ECF6 | INC L | Set Sam's main action timer in byte 0x08 of his buffer to either 4 (fast) or 8 (slow) | ||||||
| ECF7 | LD (HL),B | |||||||
| ECF8 | AND A | Is Sam midstride or mid-action? | ||||||
| ECF9 | RET Z | Return if not | ||||||
| ECFA | INC L | Set Sam's midstride/mid-action timer in byte 0x09 of his buffer to either 4 (fast) or 8 (slow) | ||||||
| ECFB | LD (HL),B | |||||||
| ECFC | RET | |||||||
| Prev: ECDC | Up: Map | Next: ECFD |