Prev: 47853 Up: Map Next: 47930
47893: Check for control key press and store
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