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$
                                                                                    