CMDRV.401;1/AU=CMDRV.400 -9,,/;DBC001/ .IDENT /V4.1/ ;15-MAY-78 -37 -41 ; D.B.CURTIS ADDED PACKED STATUS TO HIGH BYTE OF IOSB ON NON ; LIST PROCESSING OPERATIONS ; EDITS ARE DBC001 -108,109 ;THE SECOND BYTE CONTAINS STATUS INFO ;UNLESS A LIST PROCESSING FUNCTION IS SPECIFIED, ;IN WHICH CASE, IT CONTAINS THE NUMBER OF THE LAST OPERATION ATTEMPTED. ; THE STATIS INFO HAS THE FOLLOWING FORMAT ; ; BIT 0= Q STATUS ; BIT 1= X STATUS ; BIT 2= ABORT ; BIT 3= CRATE TIMEOUT ; BIT 4= T02 ; BIT 5= T01 ; -261 ;US.OFL=0 ; UNCOMMENT THIS TO STOP THE DISABLEMENT OF THE NPR ;PART OF THE INTERFACE WHEN IT HAS HARDWARE ADDRESSING ERRORS -515,515 MOV #IS.SUC,U.ST1R(R5) ;AND THE RETURN STATUS WORD 0 -610,610 ;AS NO CAMAC OPERATON WAS DONE A RETURN -698,698 -713,717 BIT #LSTP,U.CW2(R5) ;CHECK IF LIST PROCESSING BNE DON ;IF SO JUST RETURN LSTP ERROR STATU JMP DD ;ABORT AND TIMEOUT AND IF SO JUMP TO DD. DON: BIT #LSTP,U.CW2(R5) ;CHECK IF LIST PROCESSING BNE 30$ ;IF IT IS DONOT GENERATE PACKED STATUS MOV U.CW3(R5),R0 ;GET CSW WORD SWAB R0 ;BUILD THE RETURN CODE ASLB R0 ;FROM THE STATUS WORD BIT #1000,R0 ;CHECK FOR BX SET BEQ 10$ ; IF EQ NO INCB R0 ;SET X BIT 10$: ASLB R0 ;BQ SET BPL 20$ ;IF PL NO INCB R0 ;SET Q BIT 20$: BIC #^C77,R0 ;MASK OFF JUNK MOVB R0,U.ST1R+1(R5) ;AND SAVE IN HI BYTE 30$: MOV U.ST1R(R5),R0 ;GET THE STATUS BLOCK WORD 0 RETURN AND MOV U.RTUN(R5),R1 ;SECOND WORD OF THE IOSB AND A CALL TO BIC #LSTP,U.CW2(R5) ;$IODON IS EXECUTED -790,793 BIC #DMA,U.CW2(R5) ;BIT AND THE DMA MODE BIT. CALL $FORK ;NOW A $FORK IS DONE TO PRODUCE A SYSTEM ;DBC4.0 ;PROCESS. ;DBC4.0 CMPB #IE.JER,U.ST1R(R5) ;CHECK IF INTERFACE ERROR BNE 1$ ;IF NE NO MOV #T.NDNR,R0 ;DISPLAY DEVICE NOT READY MESSAGE CALL $DVMSG ;AND 1$: JMP DON1 ; GO TO TO DON1. ; /