Routines |
Prev: 47853 | Up: Map | Next: 47930 |
Used by the routine at 34438.
|
||||
47893 | XOR A | Clear previously stored control input... | ||
47894 | LD (34219),A | ... | ||
47897 | CALL 47788 | Read keyboard and load character of pressed key into A | ||
47900 | OR A | If no key was pressed... | ||
47901 | JR Z,47930 | ...then read joystick input and return | ||
47903 | LD E,1 | Set least significant bit of E as we are testing the first keyboard control first | ||
47905 | LD B,7 | Set B to 7 as there are 7 keyboard controls to check (loop counter) | ||
47907 | LD HL,46683 | Point HL at table of current keyboard controls | ||
47910 | CP (HL) | If pressed key is the same as the current keyboard control... | ||
47911 | JR Z,47921 | ...then skip ahead to 47921 | ||
47913 | INC HL | Advance HL to next keyboard control | ||
47914 | SLA E | Shift E left | ||
47916 | DJNZ 47910 | Loop back to 47910 for next keyboard control | ||
47918 | XOR A | Set A to zero | ||
47919 | JR 47926 | Skip ahead to 47926 | ||
47921 | LD A,E | Load input bitmap into A (bit that is set represents the control that has been pressed) | ||
47922 | BIT 5,A | If bit 5 is set (i.e. Berk / Drutt key has been pressed)... | ||
47924 | JR NZ,47942 | ...then jump to 47942 (wait for current key to be released and another to be pressed, storing in A) and return | ||
This entry point is used by the routine at 47930.
|
||||
47926 | LD (34219),A | Store control input at 34219 | ||
47929 | RET | Return |
Prev: 47853 | Up: Map | Next: 47930 |