5  PRINT TAB(23),"*** PUNCH A MESSAGE!!! ***"
10  DIM A$[255],X$[255]
20  X$="ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789.,!'?[]-"
30  PRINT "THE LEGAL CHARACTERS ARE:"
40  PRINT TAB(5),X$
50  PRINT LIN(1),"MAXIMUM MESSAGE LENGTH -- 72 CHARCTERS."
60  PRINT 
70  PRINT "WHAT IS YOUR MESSAGE?"
80  LINPUT A$
100  PRINT "HIT RETURN WHEN READY"
110  LINPUT Z$[1,1]
120  FOR R=1 TO 10
130  PRINT '1;
140  NEXT R
150  FOR X=1 TO LEN(A$)
160  IF A$[X,X]=" " THEN 1090
170  FOR Z=1 TO 43
180  IF A$[X,X]=X$[Z,Z] THEN 200
190  NEXT Z
195  PRINT LIN(1),"ILLEGAL CHARACTER IN MESSAGE"
196  GOTO 60
200  GOTO Z OF 250,270,290,310,330,350,370,390,410,430
210  GOTO Z-10 OF 450,470,490,510,530,550,570,590,610,630
220  GOTO Z-20 OF 650,670,690,710,730,750,770,790,810,830
230  GOTO Z-30 OF 850,870,890,910,930,950,970,990,1010,1030
240  GOTO Z-40 OF 1050,1070,1080
250  PRINT "=))=";
260  GOTO 1120
270  PRINT "=--"'25;
280  GOTO 1120
290  PRINT "=%%%";
300  GOTO 1120
310  PRINT "=%%"'25;
320  GOTO 1120
330  PRINT "=--";
340  GOTO 1120
350  PRINT "=))";
360  GOTO 1120
370  PRINT "=%%";'13;
380  GOTO 1120
390  PRINT "="'9'9"=";
400  GOTO 1120
410  PRINT "%=%";
420  GOTO 1120
430  PRINT '13;'5'5"=";
440  GOTO 1120
450  PRINT "="'25'25"%";
460  GOTO 1120
470  PRINT "="'5'5'5;
480  GOTO 1120
490  PRINT "=!"'17"!=";
500  GOTO 1120
510  PRINT "="'17'9"=";
520  GOTO 1120
530  PRINT "=%%=";
540  GOTO 1120
550  PRINT "=))9";
560  GOTO 1120
570  PRINT "=%%="'5;
580  GOTO 1120
590  PRINT "=)9"'5;
600  GOTO 1120
610  PRINT "9--";'13;
620  GOTO 1120
630  PRINT "!!=!!";
640  GOTO 1120
650  PRINT "="'5'5"=";
660  GOTO 1120
670  PRINT "!"'9'5'9"!";
680  GOTO 1120
690  PRINT "="'5'9'5"=";
700  GOTO 1120
710  PRINT "%"'25'25"%";
720  GOTO 1120
730  PRINT "1";'13;"1";
740  GOTO 1120
750  PRINT "%-5%";
760  GOTO 1120
770  PRINT "=";
780  GOTO 1120
790  PRINT "%-5"'21;
800  GOTO 1120
810  PRINT "--=";
820  GOTO 1120
830  PRINT "9"'9"="'9;
840  GOTO 1120
850  PRINT "5--)";
860  GOTO 1120
870  PRINT "="'21'21;'13;
880  GOTO 1120
890  PRINT "!!!=";
900  GOTO 1120
910  PRINT "=--=";
920  GOTO 1120
930  PRINT "9))=";
940  GOTO 1120
950  PRINT '5;
960  GOTO 1120
970  PRINT '7;
980  GOTO 1120
990  PRINT "5";
1000  GOTO 1120
1010  PRINT "1";
1020  GOTO 1120
1030  PRINT "!-"'17;
1040  GOTO 1120
1050  PRINT "=%";
1060  GOTO 1120
1070  PRINT "%=";
1075  GOTO 1120
1080  PRINT '9'9'9;
1085  GOTO 1120
1090  FOR R=1 TO 3
1100  PRINT '1;
1110  NEXT R
1120  FOR R=1 TO 3
1130  PRINT '1;
1140  NEXT R
1150  NEXT X
1160  FOR R=1 TO 10
1170  PRINT '1;
1180  NEXT R
1190  LINPUT Z1$[1,1]
1200  PRINT LIN(1),"WOULD YOU LIKE TO MAKE ANOTHER MESSAGE?";
1210  LINPUT A$
1220  IF A$[1,1]="Y" THEN 60
1230  END 
