10  P=27
20  REM     PAPER TAPE TITLER BY RON HIPSCHMAN, EXPLORATORIUM
30  REM
40  DIM B$[72]
50  REM
51  IF TIM(1)>11 THEN 54
52  PRINT "GOOD MORNING, ";
53  GOTO 60
54  IF TIM(1)>15 THEN 57
55  PRINT "GOOD AFTERNOON, ";
56  GOTO 60
57  PRINT "GOOD EVENING, ";
60  PRINT "PAPER TAPE TITLER, NEED INSTRUCTIONS";
70  INPUT B$
80  IF B$[1,1]#"Y" THEN 190
90  PRINT LIN(2)"   TYPE IN WHAT YOU WANT PUNCHED ON THE PAPER TAPE."
100  PRINT "WHEN YOU PUSH THE RETURN KEY, YOU WILL HAVE 10 SECONDS TO"
110  PRINT "TURN ON THE PAPER TAPE PUNCH AND THEN"
120  PRINT "MAKE SOME LEADER ON THE PAPER TAPE BY PUSHING 'HERE IS'."
130  PRINT "THE COMPUTER WILL THEN PRINT YOUR TITLE AND GIVE YOU"
140  PRINT "10 SECONDS TO MAKE SOME TRAILER ON THE TAPE BY PUSHING"
150  PRINT "'HERE IS' AND TO TURN THE PUNCH OFF."LIN(1)
160  PRINT "LEGAL CHARACTERS ARE :"LIN(1)
170  PRINT "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890':;.,()?*/"'92"+-=<>^[]%$"
180  PRINT '10'10'10
190  DIM X$[2]
200  X$=""
210  DIM A$[72],C$[65],D$[21],Z$[5]
220  REM--CHARACTER REPRESENTATIONS
230  DIM C[60,11]
240  REM -- STRING OF CHARACTERS
250  A$="                                                             "
260  REM -- BINARY REPRESENTATIONS
270  C$="ABCDEFGHIJKLMNOPQRSTUVWXYZ'@#$%&!()*+,"'92"./012-456789:;<=>?@"'30"]  ?["
280  REM -- LOAD CHARACTER REPRESENTATIONS
290  I=0
300  I=I+1
310  READ Z$
320  IF Z$="END" THEN 390
330  A$[I,I]=Z$[1,1]
340  J=1
350  READ C[I,J]
360  IF C[I,J]=0 THEN 300
370  J=J+1
380  GOTO 350
390  REM Z-CHARACTERS ALL READ IN
400  REM -- GET TEXT
410  PRINT "TITLE -- ";
420  INPUT B$
430  ENTER #P1,10,A,B
440  REM -- PRINT LEADER
450  D$=""
460  PRINT  USING "#,10A";D$
470  REM --  PRINT TEXT
480  N=10
490  FOR I=1 TO LEN(B$)
500  FOR J=1 TO LEN(A$)
510  IF B$[I,I]=A$[J,J] THEN 540
520  NEXT J
530  GOTO 620
540  REM  -- J'TH CHARACTER FOUND
550  K=1
560  IF C[J,K]=0 THEN 600
570  PRINT  USING "#,1A";C$[C[J,K],C[J,K]]
580  K=K+1
590  GOTO 560
600  REM -- CHARACTER PRINTED
610  PRINT  USING "#,2A";X$
620  NEXT I
630  REM -- PRINT TRAILER
640  PRINT  USING "#,10A";D$
650  ENTER 10,A,B
660  DATA "A",54,10,9,10,54,0
670  DATA "B",63,45,45,18,0
680  DATA "C",59,33,33,33,0
690  DATA "D",63,33,33,18,12,0
700  DATA "E",63,45,45,45,0
710  DATA "F",63,5,5,5,0
720  DATA "G",59,33,35,53,0
730  DATA "H",63,12,12,63,0
740  DATA "I",33,33,63,33,33,0
750  DATA "J",43,33,63,1,1,0
760  DATA "K",63,12,18,33,0
770  DATA "L",63,62,62,62,0
780  DATA "M",63,2,4,2,63,0
790  DATA "N",63,6,24,63,0
800  DATA "O",59,35,31,59,0
810  DATA "P",63,5,5,2,0
820  DATA "Q",59,33,43,59,62,0
830  DATA "R",63,5,13,44,0
840  DATA "S",2,31,31,31,24,0
850  DATA "T",1,1,63,1,1,0
860  DATA "U",63,62,62,62,63,0
870  DATA "V",15,16,62,16,15,0
880  DATA "W",15,16,62,16,14,16,62,16,15,0
890  DATA "X",33,18,12,18,33,0
900  DATA "Y",1,2,54,2,1,0
910  DATA "Z",33,43,35,31,29,33,0
920  DATA "2",33,43,35,32,0
930  DATA "3",18,33,45,45,18,0
940  DATA "4",7,4,4,63,0
950  DATA "5",27,31,31,25,0
960  DATA "6",59,31,31,24,0
970  DATA "7",43,9,5,3,0
980  DATA "8",26,31,31,26,0
990  DATA "9",2,5,5,63,0
1000  DATA "-",4,4,4,4,0
1010  DATA "=",12,12,12,12,0
1020  DATA " ",58,58,58,58,0
1030  DATA "1",2,63,0
1040  DATA "0",59,33,33,59,0
1050  DATA "[",63,33,0
1060  DATA "]",33,63,0
1070  DATA "(",59,33,0
1080  DATA ")",33,59,0
1090  DATA "+",8,8,54,8,8,0
1100  DATA "/",62,16,8,4,2,1,0
1110  DATA '92,1,2,4,8,16,62,0
1120  DATA "'",3,0
1130  DATA ",",24,50,0
1140  DATA "%",29,19,8,4,44,43,0
1150  DATA "*",4,21,14,4,14,21,4,0
1160  DATA ":",64,64,0
1170  DATA ";",64,53,0
1180  DATA "^",4,6,63,6,4,0
1190  DATA "<",4,10,17,0
1200  DATA ">",17,10,4,0
1210  DATA ",",24,50,0
1220  DATA ".",42,42,0
1230  DATA "$",2,31,63,31,24,0
1240  DATA "?",2,51,5,2,0
1250  DATA "END"
1260  END 
