SUBROUTINE CHECK(TYPE,BLK,ERR) C CHECKS TO SEE IF DISC IS IN OS/8 FORMAT INTEGER*2 BLK(4),A(5),BUF(4),CHAN LOGICAL*1 ERR,TYPE C ASSUMES NO EXTRA WORDS IN DIRECTORY CHAN=IGETC(0) IF(CHAN.LT.0)STOP 'NO CHANNEL' IF(LOOKUP(CHAN,BLK).LT.0)STOP 'BAD LOOKUP' IF(TYPE.EQ.1H8)GOTO 5 I=IREADW(5,A,6,CHAN) IF(I.LT.0)GOTO 20 !READ ERROR IF(A(1).LE.0.OR.A(2).LT.0.OR.A(3).LE.0)GOTO 10 IF(A(4).LT.0.OR.A(5).LT.14)GOTO 10 GOTO 7 5 I=IROS8W(3,A,1,CHAN) IF(I.LT.0)GOTO 20 CALL SWAP(A,BUF) IF(BUF(2).LT.0.OR.BUF(3).LT.0.OR.BUF(3).GT.6)GOTO 10 IF(-NUMB(BUF(1)).LT.0)GOTO 10 7 ERR=0 !CORRECT FORMAT & NO READ ERROR GOTO 30 !RETURN 10 ERR=-1 !WRONG FORMAT WRITE(7,40) 40 FORMAT('+?PIP8-F-Disk is in the wrong format '/) GOTO 30 !RETURN 20 WRITE(7,50) 50 FORMAT('+?PIP8-F-Read error '/) ERR=-2 !READ ERROR 30 CALL CLOSEC(CHAN) IF(IFREEC(CHAN).NE.0)STOP 'BAD FRECC' RETURN END