| Routines

26784: Request and set the input method (keyboard, joystick, Int2)

Used by the routine at 64073.
26784 | LD HL,26836 | 26836: 'CONTROL KEYS - Normal/Kempston/Cursor/Int2?'
26787 | CALL 45032 | Print this message
26790 | LD HL,23611 | This is the system variable FLAGS
26793 | RES 5,(HL) | Signal: no key pressed yet
26795 | CALL 26429 | Wait for a keypress and collect its ASCII code in A
26798 | JR Z,26795
26800 | LD HL,26764 | Point HL at the keypress table for keys 0-9 when Int2 is not selected
26803 | LD BC,10 | There are 10 entries in this table
26806 | CP 110 | Was 'n' pressed?
26808 | JR Z,26823 | Jump if so
26810 | CP 99 | Was 'c' pressed?
26812 | JR Z,26823 | Jump if so
26814 | CP 107 | Was 'k' pressed?
26816 | JR Z,26824 | Jump if so
26818 | CP 105 | Was 'i' pressed?
26820 | JR NZ,26790 | Jump back to collect another keypress if not
26822 | ADD HL,BC | HL=26774 if 'i' was pressed
26823 | XOR A | Set A to 0 unless 'k' was pressed
26824 | LD DE,26672 | Copy 10 bytes from 26764 or 26774 to 26672 (the keypress table entries for keys 0-9)
26827 | LDIR
26829 | LD L,31 | HL=26655
26831 | LD (HL),A | Store 107 ('k' for Kempston) or 0 here as appropriate
26832 | LD HL,20480 | Prepare HL for drawing the catwalk
26835 | RET |