XMDRV.MAC;3/-BF=XMDRV.MAC;2/AU:72. \ -2,2 .IDENT /02.10/ -24 ; ; LG999 - MODIFIED TO CALCULATE BASE TABLE ADDRESS ; CORRECTLY FOR MAPPED SYSTEMS WITH MORE THAN ONE DMCLL. ; ; LG998 - MODIFIED TO SETUP BUFFERS FROM INTERRUPT ; LEVEL PROPERLY ; ; LG997 - MODIFIED TO DO HALF-DUPLEX INITIALIZATION ; PROPERLY. ; ; LG996 - MODIFIED TO CLOSE POSSIBLE WINDOW WHILE SETTING ; INTERRUPT ENABLE BIT. ; ; LG995 - MODIFIED TO DEFINE INITIALIZATION WAIT TIMES ; WITH SYMBOLICS INSTEAD OF NUMBERS. ; ; LG994 - MODIFIED TO CLOSE POSSIBLE WINDOW WHILE RETURNING ; COMPLETED BUFFER FROM FORK LEVEL. ; ; LG993 - MODIFIED TO FIX UNDEFINED SYMBOL IN TASK BUILD FOR ; MULTIPLE UNITS ON UNMAPPED SYSTEMS WITHOUT LOADABLE ; DRIVER SUPPORT/ ; ;LG992 - MODIFIED TO FIX BUG IN DISCONNECT ERROR PROCESSING. ; ; LG991 - BUG FIXED BY LG ; USE MOP + HDX FOR MAINTENANCE MODE ; ; LG990 - MODIFIED BY LG ; CAUSE PROCEDURE ERROR BY DOING BASE IN TWICE % -76,76,/; LG990/ PERR=BASEI ;CAUSE PROCEDURE ERROR BY DOING BASE IN TWICE -135,,/; LG995/ ; DEVICE INITIALIZATION WAIT TIMES S.WAIT=200. ;LOOP COUNTDOWN VALUE WAITING FOR RDYI TO BE SET C.WAIT=100. ;DITTO WAITING FOR RDYI TO BE CLEARED -179,179,/; LG993/ .IF DF M$$MGE & L$$DRV & LD$XM .IFF -318,318,/; LG997/ BNE 30$ ;IF NE, YES -339,339,/; LG991/ BIS #MOP,(R2) ;IF NE, MAINTENANCE MODE -474,,/; LG996/ BIS #IEI,(R4) ;TWICE -654,654,/; LG999/ MOV #C.WAIT,R2 ;LOOP COUNT -657,657,/; LG999/ SOB R2,10$ -662,662,/; LG990/ WRDYIS: MOV #S.WAIT,R2 ;LOOP COUNT -665,665,/; LG999/ SOB R2,20$ -719,720,/; LG990/ .WORD BAD .WORD FRERR -738,738,/; LG992/ FPERR: BIC #RELEAS,(R2) ;CLEAR RQI WHICH WILL CAUS -908,,/; LG998/ CMP (R0)+,(R0)+ ;RESET TO SENT Q ADDRESS -931,932,/; LG994/ CALL $QRMVF ;REMOVE PACKET FROM COMPLETION Q BCS 20$ -936,936,/; LG994/ CALL RAPCQ ;RETURN THE I/O PACKET -1013,,/; LG994/ .ENABLE LSB -1018,1018,/; LG994/ BCC 5$ ;IF CC, Q WAS NOT EMPTY BR 10$ ;RETURN WITH CARRY SET RAPCQ: MOV R2,-(SP) ;SAVE STATUS WORS 1 5$: ;REF LAB -1028,,/; LG994/ .DSABL LSB -1050,,/; LG996/ BIS #IEI,(R4) ;TWICE /