Product specifications

CP OFFH ;IF FF THEN NO SENSE, TRY OTHER DRIVE
JR Z,SCAN3
CHECK1: PUSH AF ;SAVE SENSE
CH10: LD A,2 ;CHECK FOR SHIFT
CP B ;IF B=2 THEN RESET SHIFTS
JR NZ,CH11
POP AF
SET 6,A
JR CH13
CH11: LD A,6 ;CHECK FOR CNTRL
CP B
JR Z,CH12
POP AF
JR VALID
CH12: POP AF ;RESTORE SENSE
CH13: SET 0,A ;RESET ALPHA SHIFT AND CONTROL
CH14: CP OFFH ;TRY AGAIN AFTER ELIMINATING ODD KEYS
JR Z,SCAN3 ;IF STILL 0 THEN TRY OTHER DRIVE
;VALID KEY FOUND
VALID: POP DE ;REMOVE DRIVE
LD C,0
CH15: RRCA
JR NC,ENDSCAN ;B=1 –8, C=0-7
INC C
JR CH15
SCAN3 IN A, (SENSE 2) ;SECOND DRIVE
AND 03
CP 3
JR Z,SCAN4
CHECK2: AND A
ADD A,7
LD C,A ;C=8 OR 9
POP AF
JR ENDSCAN
SCAN4: POP AF ;RESTORE DRIVE
DJNZ SCAN2 ;MOVE TO NEXT DRIVE
LD C,0
ENDSCAN: LD A,C
SLA A
SLA A
SLA A
ADD A,B
AND A
RET
SHIF: LD A,191
OUT (DR), A ;Z IMPLIES SHIFT
IN A,(DR)
BIT 6,A
RET Z
BIT 0,A
RET