FTN4 FUNCTION STRAP(LU,ITEMP,LOCKW), 92080-1X597 REV.2026 800510 C C C SOURCE: &STRAP 92080-18597 C C PMGR: TOM HIRATA C C C ************************************************************** C * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * C * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, RE- * C * PRODUCED, OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITH- * C * OUT THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * C ************************************************************** C C C THIS PROGRAM IS A PART OF THE: C C DATA CAPTURE SOFTWARE C ( D A T A C A P ) C C C THIS FUNCTION WILL GET THE STATUS BYTES OF A 2645/8 THAT PERTAIN TO C THE LATCHING KEYS, MEMORY LOCK, AND KEYBOARD INTERFACE SWITCHES A-Z C AS PER THE 2645/8 REFERENCE MANUAL. THE STATUS BYTES ARE NOT ALTERED C BUT STORED AWAY WITHOUT MODIFICATION & RETURNED TO THE USER. C C CALL: DIMENSION ITEMP(5) C LOGICAL STRAP C . C . C . C IF(STRAP(LU,ITEMP)) GO TO ERROR C (NORMAL RETURN) C WHERE LU=LU OF TERMINAL TO GET STRAP SETTINGS FROM C ITEMP=5 WORD BUFFER WHERE THE STRAP SETTINGS C ARE RETURNED TO THE CALLER. C RETURN: ITEMP BYTE# 1 A-D C 2 E-H C 3 J-M C 4 N-R C 5 S-V C 6 W-Z C 7 MEMORY LOCK C 8 LATCHING KEYS C C ERROR RETURN: ITEMP(1)=1 UNABLE TO GET STATUS OF LU C =3 UNABLE TO CLEAR G AND H STRAPS C C DIMENSION ITEMP(1), . IBUF1(5), . IBUF2(5), . IGANDH(4) LOGICAL STRAP DATA IGANDH/2H&,2Hs0,2Hg0,44000B/ STRAP=.TRUE. ISTAT1=15536B ISTAT2=15576B C C --- CLEAR STRAPS G AND H BEFORE STARTING, THEY WILL NOT GET C TURNED BACK ON IF THEY WERE SET TO 1. C CALL EXEC(100000B+2,2400B+LU,IGANDH,4,0,0,0,0,LOCKW) GO TO 75 C C --- GET PRIMARY STATUS C CALL EXEC(100000B+2,2400B+LU,ISTAT1,1,0,0,0,0,LOCKW) C PAUSE 1 GO TO 80 5 CALL EXEC(100000B+1,LU,IBUF1,5,0,0,0,0,LOCKW) C PAUSE 2 GO TO 80 C C --- ERROR IF NOT 2645/8 C C10 WRITE(1,10999) IBUF1,IBUF1 C10999 FORMAT("IBUF1="5A2", IBUF1="5@7) 10 IF(IBUF1.NE.15534B) GO TO 85 C C --- GET SECONDARY STATUS C CALL EXEC(100000B+2,2400B+LU,ISTAT2,1,0,0,0,0,LOCKW) C PAUSE 3 GO TO 80 15 CALL EXEC(100000B+1,LU,IBUF2,5,0,0,0,0,LOCKW) C PAUSE 4 GO TO 80 C C --- ERROR IF NOT 2645/8 C C20 WRITE(1,20999) IBUF2,IBUF2 C20999 FORMAT("IBUF2="5A2", IBUF2="5@7) 20 IF(IBUF2.NE.15574B) GO TO 85 C C --- PUT STATUS BYTES INTO ITEMP C C C --- GET PRIMARY BYTES C DO 25, I=4,5 CALL PUTCA(ITEMP,IGET1(IBUF1,I),I-3) 25 CONTINUE CALL PUTCA(ITEMP,IGET1(IBUF1,6),8) C C --- GET SECONDARY BYTES. C DO 30, I=5,9 CALL PUTCA(ITEMP,IGET1(IBUF2,I),I-2) 30 CONTINUE C C --- ALL DONE C STRAP=.FALSE. GO TO 99 C C --- ERROR SECTION. C C --- UNABLE TO CLEAR G AND H STRAPS AT START C 75 ITEMP=3 GO TO 99 C C --- UNABLE TO GET STATUS OF LU. C 80 ITEMP=1 GO TO 99 C C --- LU IS NOT 2645/8 C 85 ITEMP=2 GO TO 99 C C --- RETURN C 99 RETURN END END$