Prev: 63504 Up: Map Next: 63653
63598: Update currently selected input device
Used by the routines at 37689 and 37909.
Input
A Index of currently selected input device
D Index of previously selected input device (valid for call at 37747 only)
63598 LD B,A Load B with index of currently selected input device...
63599 CP 1 ...and if this is 1 (Kempston joystick)...
63601 CALL Z,63657 ...then if Kempston joystick is not present, revert to previously selected input device
63604 LD A,B Load A with currently selected input device
63605 LD HL,62054 Point HL at start of table of start addresses of input device reading routines
63608 CALL 64627 Load HL with A-th entry from table (i.e. the routine for the currently selected input device)...
63611 LD (64040),HL ...and update jump (at 64039) in input reading routine to this address
63614 LD A,(63653) Load index of currently selected input device into A
63617 ADD A,196 Add 196 (index in common words table for first "control method" string)
63619 LD (63655),A Store as text code at 63655
63622 LD HL,18444 Load HL with display file address corresponding to (12, 8) (characters)...
63625 LD (63018),HL ...and move bitmap virtual text cursor here
63628 LD A,32 Set character to be repeated to 32 (SPACE)...
63630 LD (63306),A ...
63633 LD HL,20 Load HL with 20 as we need to draw across 20 character blocks
63636 CALL 63302 Draw run of 20 SPACE characters (i.e. clear old "CONTROL : ..." text)
63639 LD HL,18434 Load HL with display file address corresponding to (2, 8) (characters)...
63642 LD (63018),HL ...and move bitmap virtual text cursor here
63645 LD HL,63654 Point HL at current control text (control selection screen)
63648 CALL 46873 Print text at location HL to screen using full screen width
63651 XOR A Set A to zero
63652 RET Return
Prev: 63504 Up: Map Next: 63653