// EXEC FWCG                                                            00000010
//SYSIN DD *                                                            00000020
      COMMON /SGGN/ ISIGN(133,66)
      LOGICAL*1 ISIGN,IOUT(7,7)
      INTEGER*2 MESSAG(80)
C
C   DATA STRUCTURE:
C    1)  THE SNOOPY DECK.......144 PAIRS OF CARDS
C    2)  THE  DEFINITIONS OF THE CHARACTERS
C      A.   THE PICTURES STORED ROW-WISE IN COLS 1-49
C      B.   THE CHARACTER WITH WHICH THEY ARE ASSOCIATED IN COL 80
C      C.   THE CURRENT VERSION WILL HANDLE 100 CHARACTERS
C      D.   THE LAST CHARACTER DEFINITION CARD IS COMPLETELY BLANK AND
C               DEFINES THE BLANK CHARACTER AS WELL AS THE END OF CHARACTERS
C    3)   MESSAGE DEFINITION
C      A.   THE MESSAGES ARE PUNCHED IN COLS 1-78,  THEY WILL BE PRINTED
C               IN SIX ROWS OF THIRTEEN CHARACTERS ECAH
C      B.   ANY IMBEDDED BLANKS MUST BE INCLUDED BY THE USER...
C               THE PROGRAM DOES NOT ADJUST THE LINES
C      C.   AN ASTERISK '*' IN THE LAST COLUMN OF A MESSAGE CARD
C               (COL 80) WILL SUPPRESS THE PRINTING OF THE
C               PICTURE OF SNOOPY, GIVING ONLY THE SIGN.
C      D.   THE END-OF-FILE ('//' OR '/*') SHOULD FOLLOW IMMEDIATELY
C               THE LAST MESSAGE
C
1000  FORMAT (80A1)
1002  FORMAT (1X,80A1)
      CALL INIT
      CALL INPUT
10    READ (5,1000,END=999) (MESSAG(I),I=1,80)
      WRITE(6,1002) (MESSAG(I),I=1,80)
      DO 15 I=1,6
      DO 15 J=1,13
      CALL NLARGE (MESSAG(J+13*(I-1)),IOUT)
      DO 25 K=1,7
      DO 25 L=1,7
25    ISIGN (9*J+K,10*I-5+L) = IOUT(L,K)
15    CONTINUE
      CALL OUTPUT (MESSAG(80))
      GO TO 10
999   CONTINUE
      STOP
      END
      SUBROUTINE INIT
      COMMON /SGGN/ ISIGN(133,66)
      LOGICAL*1 ISIGN,NSTAR,NBLANK
      LOGICAL*1 LINES(8778)
      EQUIVALENCE (LINES(1),ISIGN(1,1))
      LOGICAL*1 ESS/'S'/
      DATA NBLANK,NSTAR /' ','*'/
C
C   THIS SUBPROGRAM BLANKS OUT THE INTERIOR OF THE SIGN AND CREATES THE BORDERS
C
      DO 15 I=266,8512
15    LINES(I) = NBLANK
      DO 25 I=2,133
      ISIGN(I,1) = NSTAR
      ISIGN(I,2) = NSTAR
      ISIGN(I,65) = NSTAR
25    ISIGN(I,66) = NSTAR
      DO 35 I=3,64
      ISIGN (2,I) = NSTAR
      ISIGN (3,I) = NSTAR
      ISIGN (133,I) = NSTAR
35    ISIGN (132,I) = NSTAR
      DO 777 I=1,66
777   ISIGN(1,I) = ESS
      RETURN
      END
      SUBROUTINE INPUT
      COMMON /SNOOP/ ISNOOP(132,144)
      COMMON /PICTUR/ IPIC(100,7,7),ICHAR(100),NUM
      LOGICAL*1 ISNOOP,IPIC
      INTEGER*2 NSTAR,NBLANK,ICHAR
      DATA NBLANK,NSTAR /' ','*'/
C
C   THIS SUBROUTINE INPUTS THE PICTURES OF THE LETTERS AND THE PICTURE OF SNOOPY
C
1000  FORMAT (49A1,30X,A1)
1001  FORMAT (4X,72A1,/,60A1)
1002  FORMAT (1X,49A1,30X,A1)
      READ (5,1001)((ISNOOP(I,J),I=1,132),J=1,123)                      00004000
      I=1                                                               00004050
10    READ (5,1000) ((IPIC(I,J,K),J=1,7),K=1,7),ICHAR(I)
      WRITE(6,1002) ((IPIC(I,J,K),J=1,7),K=1,7),ICHAR(I)
      I=I+1
      IF (ICHAR(I-1) .NE. NBLANK) GO TO 10
      NUM=I-1
      RETURN
      END
      SUBROUTINE NLARGE (NCHAR,IOUT)
      COMMON /PICTUR/ IPIC(100,7,7),ICHAR(100),NUM
      LOGICAL*1 IPIC,IOUT(7,7)
      INTEGER*2 NCHAR,ICHAR
C
C   THIS SUBPROGRAM PUTS INTO IOUT THE PICTURE ASSOCIATED WITH NCHAR
C
      DO 15 I=1,NUM
      IF (ICHAR(I) .EQ. NCHAR) GO TO 10
15    CONTINUE
      I=NUM
10    DO 25 J=1,7
      DO 25 K=1,7
25    IOUT (J,K) = IPIC  (I,J,K)
      RETURN
      END
      SUBROUTINE OUTPUT(ICHAR)
      COMMON /SGGN/ ISIGN(133,66)
      COMMON /SNOOP/ ISNOOP(132,144)
      LOGICAL*1 LINES(8778)
      LOGICAL*1 ISIGN,ISNOOP
      INTEGER*2 NSTAR,NBLANK,ICHAR
      EQUIVALENCE (LINES(1),ISIGN(1,1))
      DATA NBLANK,NSTAR /' ','*'/
C
C   THIS SUBROUTINE PRINTS THE SIGNS
C
1000  FORMAT ('1')
1001  FORMAT (133A1)
 1002 FORMAT('S',132A1)
1005  FORMAT (59(/))
      WRITE (6,1000)
      WRITE (6,1005)
      WRITE(6,1001)LINES
      IF(ICHAR .EQ. NBLANK) WRITE(6,1002)((ISNOOP(I,J),I=1,132),J=1,123)
      WRITE (6,1000)
      RETURN
      END                                                               00006350
//DATA.INPUT DD *                                                       00006360
                                                         *    *

                                                         *    *

                                                         *    *

                                                         *    *

                                                         *    *

                                                         *    *              61A
                                                                             61B
                                                         *    *              62A
                                                                             62B
                                                         *    *              63A
                                                                             63B
                                                         *    *              64A
                                                                             64B
                                                         *    *              65A
                                                                             65B
                                                         *    *              66A
                                                                             66B
                                                         *    *              67A
                                                                             67B
                                                         *    *              68A
                                                                             68B
                                                         *    *              69A
                                                                             69B
                                                         *    *              70A
                                                                             70B
                                                         *    *              71A
                                                                             71B
                                                         *    *              72A
                                                                             72B
                                                         *    *              73A
                                                                             73B
                                                         *    *              74A
                                                                             74B
                                                         *    *              75A
                                                                             75B
                                                         *    *              76A
                                                                             76B
                                                         *    *              77A
                                                                             77B
                                                         *    *              78A
                                                                             78B
                                                         *    *              79A
                                                                             79B
                                                         *    *              80A
            *****************                                                80B
                                                         *    *              81A
       ***************************                                           81B
                                                         *    *              82A
      ******                 *********                                       82B
                                                         *    *              83A
    *********                    ********                                    83B
                                                         *    *              84A
   ***   *******                     ******                                  84B
                                                         *    *              85A
  ***        *****            **       *******                               85B
                                                         *    *              86A
***                         ******        ******                             86B
                                                         *    *            * 87A
**                           ******         ******                           87B
                                                         *    *          *** 88A
*                              ******         ******                         88B
                                                         *    *        ****  89A
                                 *****         ******                        89B
                                                         *    *      *****   90A
                                   **           ******                       90B
                                                         *    *    *******   91A
                                                  ****                       91B
                                                         *    * **********   92A
                                                    ***                      92B
                                                         *    *****  *****   93A
                                                     ***                     93B
                                ************           ***    ***            94A
         **                                           ***                    94B
                             *****************************    *              95A
        ******                                         **                    95B
                          *******                        *    *              96A
          *******                                      ***                   96B
                        *****                            *    *              97A
            *******                                     ***                  97B
                       *****                             *    *              98A
              ******                                    ***                  98B
                      ***                                *    *              99A
                ******                                  ***                  99B
                     ***                                 *    *             100A
                   **                                  ****                 100B
                    ***                                  *    *             101A
                                                       ****                 101B
                   ***                                   *    *             102A
                                                      *****                 102B
                  ***                                    *    *             103A
                                                     ******                 103B
                  ***                        *****       *    *             104A
                                                   ********                 104B
                 ***                     ************    *    *             105A
                                                  *********                 105B
                 ***                  ****************** *    *             106A
                                                 **********                 106B
                 **                  ******************* *    *             107A
                                               *************                107B
                 **                   ****************   *    *             108A
                                            ****************                108B
                 **                        *********     *    *             109A
                                          ******************                109B
                 **                                      *    *             110A
                                        ****  **************                110B
                 **                                      *    *             111A
                                      ****   ***************                111B
                 ***                                     *    *             112A
                                    ****    ****************                112B
                  ***                                    *    *             113A
                                 ****      *****************                113B
                  ****                                   *    *             114A
                               ****       ******************                114B
                   ****                                  *    *             115A
                             ****        *******************                115B
                    ****                                 *    *             116A
                           ****         ********************                116B
                     *****                               *    *             117A
                        ****           *********************                117B
                        *****                            *    *             118A
                     ****             **********************                118B
                          *******                        *    *             119A
                  *****               **********************                119B
                             *************               *    *             120A
               ******                ***********************                120B
                                  ************************    *             121A
           *******                   ***********************                121B
                                          ***********************           122A
         ****** *                    ***********************                122B
                                                     **          ***        123A
      ******  ***                   ************************                123B
                                                    **   *******    *       124A
    *****  ******                   ************************                124B
                                                  **            ****        125A
   ***** ********                   ************************                125B
                                                  **     ******     *       126A
 *****  *********                   ************************                126B
                                                  **            ****        127A
*** * ***********                   ************************                127B
                                                  **   ********     *       128A
**  *************                   ************************                128B
                                                 **   ********* ****        129A
**  *************                   ***********************                 129B
                                                **   **       ** ***********130A
*** *************                    *********************                  130B
                                              ***   **         ** **********131A
*** *************                     *******************                   131B
                                            ***     *    ****   **          132A
**   ************                       ****************                    132B
                                          ***        *****  **   *          133A
**     **********                         ************                      133B
                                        ***              *  **   **         134A
 **      *******                             *******                        134B
                                      ***               **  **    *        *135A
***                                                                         135B
                                   ****                ***  **    *      ** 136A
  **                                                                        136B
                                 ****                 ** *****    **    **  137A
   **                                                                       137B
                               ***                  **      **    **   **   138A
    **                                                                      138B
                              ***                 **        **     ** **    139A
     *                                                                      139B
                             **                ***          **      ***     140A
    **                                                                      140B
                             ***             ***            **              141A
   **                                                                       141B
                              ****         ***              *               142A
  **                                                                        142B
                                 **********                **               143A
 ***                                                                        143B
                                       **                  **               144A
****                                                                        144B
                                     **                     *              *145A
* **                                                                        145B
                                   **                       **           ***146A
  **                                                                        146B
                                 **                          ***       **** 147A
   **                                                                       147B
                               **                              ***   ****   148A
   **                                                                       148B
                             **                                  ******     149A
   **                                                                       149B
                            **                                              150A
   **                                                                       150B
                           **                                               151A
   **                                                                       151B
                          ***                                               152A
    **                                                                      152B
                         ***                                                153A
    **                                                                      153B
                         ***                                                154A
    **                                                                      154B
                         ***                                                155A
    **                                                                      155B
                         ***                                                156A
    **                                                                      156B
                          ***                                               157A
   **                                                                       157B
                           ***                                              158A
  ***                                                                       158B
                            ****                                            159A
****                                                                        159B
                              ******                                     ***160A
**                                                                          160B
                                  **                                  ******161A
                                                                            161B
                                  **                                  ***   162A
                                                                            162B
                                  **                **                **    163A
                                                                            163B
                                  **                **                **    164A
                                                                            164B
                                  **                **                **    165A
                                                                            165B
                                  **                **                **    166A
                                                                            166B
                                  **                **                **    167A
                                                                            167B
                    *******       **                **                **    168A
                                                                            168B
              **********************                **               *******169A
  **********                                                                169B
         ********                                   **              **      170A
*****************                                                           170B
       ******                                       **              **      171A
            ********                                                        171B
     ****                                           **                      172A
      *          ******                                                     172B
    ***           *              *                  **                     *173A
        *           ***                                                     173B
   **            *              *                  ****                     174A
 *        *         **                                                      174B
   ***          *            ****                ***  ***                   175A
 ****       *    ****                                                       175B
     *********** ************** ******************      ********************176A
*** ******** ******                                                         176B
        ******      ******           ********              **************** 177A
      ****                                                                  177B
                                                                            178A
                                                                            178B
                                                                            179A
                                                                            179B
 AAAAAAAAAAAAAA   A  A   A  A   A  AAAAAAA AAAAAA                              A
BBBBBBBBBBBBBBB  B  BB  B  BB  B  BBBBBBBB BB BB                               B
 CCCCC CCCCCCCC     CC     CC     CCC   CC C   C                               C
DDDDDDDDDDDDDDD     DD     DD     DDDDDDDD DDDDD                               D
EEEEEEEEEEEEEEE  E  EE  E  EE  E  EE     EE     E                              E
FFFFFFFFFFFFFFF  F   F  F   F  F   F      F                                    F
 GGGGG GGGGGGGG     GG     GG  G  GGG GGGG G GGG                               G
HHHHHHHHHHHHHH   H      H      H   HHHHHHHHHHHHHH                              H
I     II     IIIIIIIIIIIIIIII     II     I                                     I
J   JJ J     JJ     JJ     JJJJJJJJJJJJJJ J      J                             J
KKKKKKKKKKKKKK   K     KKK   KK KK KK   KKK     K                              K
LLLLLLLLLLLLLL      L      L      L      L                                     L
MMMMMMMMMMMMMM M       M     M     MMMMMMMMMMMMMM                              M
NNNNNNNNNNNNNN NNN     NNN     NNN NNNNNNNNNNNNNN                              N
 OOOOO OOOOOOOO     OO     OO     OOOOOOOO OOOOO                               O
PPPPPPPPPPPPPPP  P   P  P   P  P   PPPP    PP                                  P
 QQQQ  QQQQQQ Q    Q Q    Q Q   QQ QQQQQQ  QQQQ Q                              Q
RRRRRRRRRRRRRRR  R   R  RR  R  RRR RRRR RR RR   R                              R
 SS   SSSSS  SS  S  SS  S  SS  S  SS  SSSSS   SS                               S
T      T      TTTTTTTTTTTTTTT      T      T                                    T
UUUUUU UUUUUUU      U      U      UUUUUUUUUUUUUU                               U
VVV      VVV      VV      VV    VV   VVV  VVV                                  V
WWWWWW WWWWWWW      W   WWW       WWWWWWWWWWWWWW                               W
X     X X   X   X X     X     X X   X   X X     X                              X
       YY      YY       YYYY   YYYY YY    YY                                   Y
Z     ZZ    ZZZ   Z ZZ  Z  ZZ Z   ZZZ    ZZ     Z                              Z
 00000 00000000     00     00     00000000 00000                               0
  1   1 1    111111111111111      1      1                                     1
 22   2222  2222  2222  22 22222  2 22   2                                     2
 3   3 33   333  3  33  3  33  3  33333333 33 33                               3
4444   4444      4      4   44444444444444   4                                 4
5555  55555  55  5  55  5  55  5  55  55555   55                               5
 66666 66666666  6  66  6  66  6  6   6666    66                               6
7     77    7 7   7  7  7   7 7    77     7                                    7
 88 88 88888888  8  88  8  88  8  88888888 88 88                               8
 99     99    9  9   9  9   9  9    999999 999999                              9
   +      +      +    +++++    +      +      +                                 +
                (((   ((((( ((   (((     (                                     (
       )     )))   )) )))))   )))                                              )
   *    * * *   ***  *******  ***   * * *    *                                 *
      /     //    //    //    //    //    //                                   /
  $     $ $ $ $$$$$$$ $ $ $ $$$$$$$ $ $ $     $                                $
  = =    = =    = =    = =    = =    = =    = =                                =
                         ,,     ,,,                                            ,
          --     --     --     --     --                                       -
                   ..     ..                                                   .
 %    %% %  %  %  %     %     %  %  %  % %%    %                               %
              ||||||||||||||                                                   |
       """"   """"          """"   """"                                        "
              ''''   ''''                                                      '
              ;;  ;; ;;  ;;;                                                   ;
                     |||| |||||| ||                                            !
               ::  :: ::  ::                                                   :
        ?     ?      ?  ?? ??  ?    ??                                         ?

*********THE DATA CARD GOES HERE********
