C%%A-RCB-0077-SL-12 LST -- 1 PROMPT AND OPEN FILES C Events: 1 Initial entry -- loops to itself C 2 Files open C 3 Last command was on MCR line -- time to exit C 100 ENCODE (HD1LNG,110,BHEAD1) 110 FORMAT ( (X)) IEVENT = 3 IF(BMCR) GO TO 10 IEVENT = 2 CALL LSTOPN(LUT,LUDI,LUW) IF(BOLD) GO TO 10 WRITE(LUT,120) PROMPT,BNAMIN 120 FORMAT('0',A3,': NONEXISTENT INPUT FILE ',32A1/) GO TO 100 C%%A-RCB-0077-SL-12 LST -- 2 EXAMINE EXTENSION TO IDENTIFY FILE TYPE C Events: 1 LST files C 2 TXT files C 3 Other files C 200 IEVENT = 3 IF(EXTN.EQ.DEFALT) IEVENT = 1 IF(EXTN.EQ.TXT) IEVENT = 2 IF (EXTN.EQ.FCC) IEVENT = 2 GO TO 10 C%%A-RCB-0077-SL-12 LST -- 3 EXAMINE HEADER OF LST FILE TO DETERMINE TYPE C Events: 1 FOR, V6B C 2 F4P C 3 MAC C 4 Other C 300 IEVENT = 4 ENCODE(16,305,BVERSN) 305 FORMAT(16X,T1,'V01B-02A') IF (.NOT.COMPAR(BVERSN,BUFFER(IFIRST+13-1),8,8)) GO TO 320 IEVENT = 1 GO TO 10 C 320 ENCODE(16,325,BVERSN) 325 FORMAT(16X,T1,'V02-51') IF (.NOT.COMPAR(BVERSN,BUFFER(IFIRST+18-1),6,6)) GO TO 340 IEVENT = 2 GO TO 10 C 340 ENCODE (16,345,BVERSN) 345 FORMAT (16X,T1,'MACRO D1013') IPTR = ILAST DO 350 I = IFIRST,ILAST IF (BUFFER(IPTR).NE.BTAB) IPTR = IPTR - 1 350 CONTINUE IF (IPTR.GT.ILAST-11) GO TO 10 IF (.NOT.COMPAR(BVERSN,BUFFER(IPTR+1),11,11)) GO TO 10 ILAST = IPTR - 1 IEVENT = 3 GO TO 10 C%%A-RCB-0077-SL-12 LST -- 4 EXAMINE HEADER OF LST FILE C Events: 1 RATFOR Version 2 C 2 Other C 3 Other C 4 Other C 400 IEVENT = 4 C ENCODE(16,405,BVERSN) 405 FORMAT(16X,T1,'RATFOR VERSION 2') IF (.NOT.COMPAR(BVERSN,BUFFER(IFIRST+1),16,16)) GO TO 420 IEVENT = 1 GO TO 10 C 420 GO TO 9500 C 500 GO TO 9400 C 600 GO TO 9400 C 700 GO TO 9400 C 800 GO TO 9400 C%%A-RCB-0077-SL-12 LST -- 9 EXIT C Used if command was on MCR line only. Otherwise LSTOPN exits internally. C 900 CALL EXIT