![]() |
Routines |
Prev: 60636 | Up: Map | Next: 60669 |
The address of this routine is found in the table of keypress handling routines at 60672. It is called from the main loop at 61483 when 'O' is pressed.
|
||||
60641 | CALL 60347 | Move Sam left (or in the next best direction) if possible | ||
This entry point is used by the routines at 60626, 60631 and 60636.
|
||||
60644 | RET NC | Return if Sam could not move in the desired direction | ||
60645 | LD A,(32765) | Collect the offset of the last key pressed from 32765 | ||
60648 | BIT 3,A | Set the zero flag if a 'fast' key (upper case Q, A, O or P) was pressed | ||
60650 | LD B,4 | 4=fast | ||
60652 | JR Z,60656 | Jump if a 'fast' key was pressed | ||
60654 | LD B,8 | 8=slow | ||
60656 | CALL 60521 | Make a sound effect | ||
60659 | LD L,7 | Point HL at byte 7 of Sam's buffer | ||
60661 | LD A,(HL) | A=0 if Sam is neither midstride nor mid-action now | ||
60662 | INC L | Set Sam's main action timer in byte 8 of his buffer to either 4 (fast) or 8 (slow) | ||
60663 | LD (HL),B | |||
60664 | AND A | Is Sam midstride or mid-action? | ||
60665 | RET Z | Return if not | ||
60666 | INC L | Set Sam's midstride/mid-action timer in byte 9 of his buffer to either 4 (fast) or 8 (slow) | ||
60667 | LD (HL),B | |||
60668 | RET |
Prev: 60636 | Up: Map | Next: 60669 |