      INTEGER GENER0(8)
      INTEGER FORM,LINES0,LASTL0
      COMMON /GUIDE0/FORM,LINES0,LASTL0
      INTEGER ARG,JUNK
      INTEGER GETARG,EQUAL,LOCATE
      INTEGER ITEM(500)
      INTEGER DASHP(3)
      DATA GENER0/231,229,238,229,242,225,236,0/
      DATA DASHP/173,240,0/
      FORM=2
      LINES0=0
      LASTL0=1
      ARG=1
      GOTO 10002
10000 ARG=ARG+1
10002 IF((GETARG(ARG,ITEM,500).EQ.-1))GOTO 10001
        CALL MAPSTR(ITEM,1)
        IF((EQUAL(ITEM,DASHP).NE.1))GOTO 10003
          FORM=1
          GOTO 10004
10003     IF((LOCATE(ITEM).NE.0))GOTO 10005
            CALL PRINT(-15,'Sorry, no *s guide is available*n.',ITEM)
10005   CONTINUE
10004 GOTO 10000
10001 IF((ARG.NE.1))GOTO 10006
        JUNK=LOCATE(GENER0)
10006 CALL SWT
      END
      INTEGER FUNCTION LOCATE(ITEM)
      INTEGER ITEM(1)
      INTEGER TEMPL0(15)
      INTEGER PATH(500)
      INTEGER FILE
      INTEGER OPEN
      DATA TEMPL0/189,228,239,227,189,175,230,231,245,233,228,229,175,16
     *6,0/
      CALL SUBST0(TEMPL0,ITEM,PATH,500)
      FILE=OPEN(PATH,1)
      IF((FILE.NE.-3))GOTO 10007
        LOCATE=0
        GOTO 10008
10007   LOCATE=1
        CALL DISPL0(FILE)
        CALL CLOSE(FILE)
10008 RETURN
      END
      SUBROUTINE SUBST0(TEMPL0,ITEM,RESULT,MAXLEN)
      INTEGER MAXLEN
      INTEGER TEMPL0(1),ITEM(1),RESULT(MAXLEN)
      INTEGER I,J,K
      I=1
      J=1
10009 IF(((TEMPL0(I).EQ.0).OR.(J.GE.MAXLEN)))GOTO 10010
        IF((TEMPL0(I).EQ.166))GOTO 10011
          RESULT(J)=TEMPL0(I)
          I=I+1
          J=J+1
          GOTO 10012
10011     I=I+1
          K=1
          GOTO 10015
10013     K=K+1
10015     IF(((ITEM(K).EQ.0).OR.(J.GE.MAXLEN)))GOTO 10014
            RESULT(J)=ITEM(K)
            J=J+1
          GOTO 10013
10014   CONTINUE
10012 GOTO 10009
10010 RESULT(J)=0
      RETURN
      END
      SUBROUTINE DISPL0(FILE)
      INTEGER FILE
      INTEGER LINE(500)
      INTEGER DISPM0,GETLIN
      INTEGER FORM,LINES0,LASTL0
      COMMON /GUIDE0/FORM,LINES0,LASTL0
10016 IF((GETLIN(LINE,FILE,500).EQ.-1))GOTO 10017
        IF((DISPM0(LINE).NE.-3))GOTO 10018
          GOTO 10017
10018 GOTO 10016
10017 RETURN
      END
      INTEGER FUNCTION DISPM0(LINE)
      INTEGER LINE(1)
      INTEGER FORM,LINES0,LASTL0
      COMMON /GUIDE0/FORM,LINES0,LASTL0
      INTEGER I,J
      INTEGER GETLIN
      INTEGER RESPO0(500)
      IF((FORM.NE.1))GOTO 10019
        CALL PUTLIN(LINE,-11)
        RETURN
10019 IF((LINE(1).NE.138))GOTO 10020
        IF((LASTL0.NE.1))GOTO 10021
          RETURN
10021     LASTL0=1
        GOTO 10022
10020   LASTL0=0
10022 IF((LINES0.LT.23-1))GOTO 10023
        LINES0=0
        CALL PRINT(-15,'more? .')
        IF((GETLIN(RESPO0,-14).EQ.-1))GOTO 10025
        IF((RESPO0(1).EQ.238))GOTO 10025
        IF((RESPO0(1).EQ.206))GOTO 10025
        IF((RESPO0(1).EQ.241))GOTO 10025
        IF((RESPO0(1).EQ.209))GOTO 10025
        GOTO 10024
10025     DISPM0=-3
          RETURN
10024 CONTINUE
10023 J=1
      I=1
      GOTO 10028
10026 I=I+1
10028 IF((LINE(I).EQ.0))GOTO 10027
        IF((LINE(I).NE.136))GOTO 10029
          J=J-1
          GOTO 10030
10029     LINE(J)=LINE(I)
          J=J+1
10030 GOTO 10026
10027 LINE(J)=0
      I=1
10031 IF((I.GE.13))GOTO 10032
      IF((LINE(I).EQ.138))GOTO 10032
      IF((LINE(I).EQ.0))GOTO 10032
        I=I+1
      GOTO 10031
10032 CALL PUTLIN(LINE(I),-11)
      LINES0=LINES0+1
      DISPM0=-2
      RETURN
      END
C ---- Long Name Map ----
C displayline                    dispm0
C response                       respo0
C guidecom                       guide0
C display                        displ0
C substitute                     subst0
C generalinfo                    gener0
C lastlineblank                  lastl0
C template                       templ0
C linessofar                     lines0
