// 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******** .. .