FTN,L PROGRAM PATCH(3,99),PRE-REL 780519 (DLB) RTE-IV DIMENSION IBUF(64) C C !!!!!!!!!!!!NOTE!!!!!!!!!! EXTERNALS MUST BE DEFINED !!!!!!!!! C PRE-REL 1-7-77 (DLB) C PRE-REL 4-4-78 (DLB) C C THIS PROGRAM WILL PATCH THE RTE II/III EXEC TO INHIBIT THE SYSTEM C MESSAGE WHEN THE ABORT PROCESSER IS CALLED AND INHIBIT THE SYSTEM C CONSOLE ATTENTION FEATURE. THE "PROGM ABORTED" MESSAGE IS CONSIDERED C REDUNDENT IN NATURE AND IS CONFUSING. THE SYSTEM ATTENTION C FUNCTION IS REPLACED BY THE LOGON PROGRAMS (MTM). IF THE SYSTEM C ATTENTION IS DESIRED, IT MAY BE RESTORED BY ASSIGNING LOGICAL UNIT C 1 FROM MTM, OR IF MTM IS DEAD, THEN SETTING CORE LOCATION 1734B C TO A OCT 1 AND THEN HITTING THE KEYBOARD AND ASSIGNING LU = 1. C C PATCH OUT THE SYSTEM ATTENTION FEATURE. CALL CPUT(1675B,0) C C NOW FIND ADDRESS OF THE "$ABRT" AND "$SYMG" IN CORE C ISYMG = 0 IABRT = 0 IDSCLB = KGET(1761B) ITK = IDSCLB/128 IDSKAD = ITK*96 + (IDSCLB - ITK*128) C C NOW SEARCH FOR $ABRT & $SYMG ADDRESS ON DISC "ENT" TABLE C DO 500 ISYMB = 0,KGET(1762B)-1 ISYMA = MOD (ISYMB,16) * 4 IF (ISYMA.NE.0) GO TO 100 ITK = IDSKAD/96 ISECT = IDSKAD - ITK*96 IDSKAD = IDSKAD + 1 CALL EXEC (1,2,IBUF,64,ITK,ISECT) 100 IWORD1 = IBUF(ISYMA+1) IWORD2 = IBUF(ISYMA+2) IWORD3 = IBUF(ISYMA+3) IWORD4 = IBUF(ISYMA+4) IF (IWORD1.NE.2H$A) GO TO 200 IF (IWORD2.NE.2HBR) GO TO 200 IF (IWORD3.EQ.52000B) GO TO 300 200 IF (IWORD1.NE.2H$S) GO TO 500 IF (IWORD2.NE.2HYM) GO TO 500 IF (IWORD3.NE.43400B) GO TO 500 ISYMG = IWORD4 GO TO 400 300 IABRT = IWORD4 400 IF (IABRT.NE.0.AND.ISYMG.NE.0) GO TO 600 500 CONTINUE C C NOT FOUND >> ERROR C STOP 11 C C NOW SEARCH FOR "JSB $SYMG" IN 100 SEQUENTIAL INSTRUCTIONS PASS C THE ENTRY POINT $ABRT. C 600 DO 1000 I=IABRT,IABRT+100 INSTRU = KGET (I) IJSB = IAND(INSTRU,176000B) C C CHECK IF JSB TO CURRENT PAGE C IF (IJSB.NE.16000B) GO TO 700 IADRS = IAND(I,76000B) + IAND (INSTRU,1777B) GO TO 900 C C CHECK IF JSB ,I TO BASE PAGE C 700 IF (IJSB.NE.114000B) GO TO 800 IADRS = KGET(IAND(INSTRU,1777B)) GO TO 900 C C CHECK IF CURRENT PAGE JSB ,I C 800 IF (IJSB.NE.116000B) GO TO 1000 IADRS = KGET(IAND(I,76000B) + IAND (INSTRU,1777B)) 900 IF (IADRS.EQ.ISYMG) GO TO 1100 1000 CONTINUE C C "JSB $SYMG" NOT FOUND >> ERROR C STOP 12 C C NOW NOP THE "JSB $SYMG" INSTRUCTION IN THE SCHED MODULE. C 1100 CALL CPUT (I,0) END END$