100 REM PROGRAM WRITTEN BY DANIEL R. VERNON 110 REM SENIOR AT BUTLER SENIOR HIGH SCHOOL 120 REM BUTLER, PENNSYLVANIA 16001 130 REM DATE: 2-1-73 140 REM COMPUTER SUPERVISION- MR. WILLIAM ELLIS 150 REM COMPUTER TOPICS INSTRUCTION- MR. ALBERT STEWART 160 REM 170 REM THIS PROGRAM IS DESIGNED TO CREATE POSTERS 180 REM 185 REM TRANSLATED TO OS8 BASIC BY KAY R. FISHER ...DEC 190 DIM G$(54,1),H$(6,6),B$(54),G(6),A(54) 195 FILEV #1:"LPT:" 200 PRINT "INPUT HEIGHT IN INCHES"\INPUT L 205 PRINT "INPUT WIDTH IN INCHES"\INPUT R\S=0\A=R*2\C=A 210 PRINT"HOW FAR, IN INCHES FROM THE LEFT HAND SIDE, DO YOU WANT TO PLACE " 220 PRINT"THE LETTERS";\INPUT S\S=12*S 230 PRINT"INPUT MESSAGE HERE" 240 INPUT B$ 250 FOR I=1TO LEN(B$) 252 A(I)=ASC(SEG$(B$,I,I)) 253 NEXT I 260 H$(1)=" "\H$(2)=" "\H$(3)=" "\H$(4)=" " 261 H$(5)=" "\H$(6)=" "\H$=H$(L) 262 GOSUB 940 270 F=F+1\IF A(F)=0 GOTO 990\G(0)=L 271 FOR I=1 TO LEN(B$) 272 G$(I)=CHR$(A(I)) 280 NEXT I 290 FOR X=1TO A/2 291 PRINT#1: 292 NEXT X 295 G$=CHR$(A(F)) 297 FOR X=2 TO L\G$=G$&CHR$(A(F))\NEXT X 300 IF A(F)=46 GOTO 345\IFA(F)=36GOTO990\IFA(F)=32GOTO630\IFA(F)<27GOTO305 301 IF A(F)<48 GOTO 270\IF A(F)>57 GOTO 270 305 IFA(F)<27 GOTO310\IF A(F)=48 GOTO500\IF A(F)=49 GOTO 440 306 IFA(F)=50GOTO 620\IF A(F)=51 GOTO625\IF A(F)=52 GOTO 635 307 IF A(F)=53 GOTO 550\IF A(F)=54 GOTO 615\IF A(F)=55 GOTO 605 308 IF A(F)=56 GOTO 595\IF A(F)=57 GOTO 585 310 IF A(F)>26 GOTO 270\IF A(F)>15 GOTO 330 320 IF A(F)=1 GOTO 350\IF A(F)=2 GOTO 360\IF A(F)=3 GOTO 370 321 IF A(F)=4 GOTO 380\IF A(F)=5 GOTO 390\IF A(F)=6 GOTO 400 322 IF A(F)=7 GOTO 410\IF A(F)=8 GOTO 430\IF A(F)=9 GOTO 440 323 IF A(F)=10 GOTO 450\IF A(F)=11 GOTO 460\IF A(F)=12 GOTO 470 324 IF A(F)=13 GOTO 480\IF A(F)=14 GOTO 490\IF A(F)=15 GOTO 500 330 IF A(F)>26 GOTO 270\IF A(F)=16 GOTO 510\IF A(F)=17 GOTO 520 331 IF A(F)=18 GOTO 540\IF A(F)=19 GOTO 550\IF A(F)=20 GOTO 560 332 IF A(F)=21 GOTO 570\IF A(F)=22 GOTO 580\IF A(F)=23 GOTO 590 333 IF A(F)=24 GOTO 600\IF A(F)=25 GOTO 610\IF A(F)=26 GOTO 620 340 GOTO 270 345 FOR X=1 TO A 346 PRINT #1:TAB(S);G$;G$ 347 NEXT X 348 GOTO 270 350 GOSUB 640 351 GOSUB 690 352 GOSUB 640 353 GOTO 270 360 GOSUB 640 361 GOSUB 650 363 A=C*.5 365 GOSUB 640 366 A=C 367 GOSUB 810 368 GOTO 270 370 GOSUB 640 372 GOSUB 700 374 GOSUB 700 376 GOTO 270 380 GOSUB 640 382 GOSUB 700 384 A=C*.5\GOSUB 640 386 A=C\GOSUB 840 388 GOTO 270 390 GOSUB 640 392 GOSUB 650 394 GOSUB 650 396 GOTO 270 400 GOSUB 640 402 GOSUB 690 404 GOSUB 690 406 GOTO 270 410 GOSUB 640 412 A=C*.75\GOSUB 700 414 A=C*.25\GOSUB 650 416 A=C\GOSUB 760 420 A=C*.25\GOSUB 710 422 A=C\GOTO 270 430 GOSUB 640 432 GOSUB 710 434 GOSUB 640 436 GOTO 270 440 GOSUB 640 442 GOTO 270 450 GOSUB 750 452 GOSUB 740 454 GOSUB 640 456 GOTO 270 460 GOSUB 640 462 GOSUB 860 464 GOTO 270 470 GOSUB 640 472 GOSUB 740 474 GOSUB 740 476 GOTO 270 480 GOSUB 640 482 GOSUB 890 484 GOSUB 880 486 GOSUB 640 488 GOTO 270 490 GOSUB 640 492 GOSUB 890 494 GOSUB 640 496 GOTO 270 500 GOSUB 640 502 GOSUB 700 504 GOSUB 640 506 GOTO 270 510 GOSUB 640 512 GOSUB 690 514 GOSUB 790 516 GOTO 270 520 GOSUB 640 522 A=C*.75\GOSUB 700 524 A=C*.25\GOSUB 650 526 A=C\GOSUB 640 530 A=C*.25\GOSUB 710 532 A=C\GOTO 270 540 GOSUB 640 542 GOSUB 690 544 A=C*.5\GOSUB 640 546 GOSUB 810 548 A=C\GOTO 270 550 GOSUB 770 552 GOSUB 650 554 GOSUB 760 556 GOTO 270 560 GOSUB 780 562 GOSUB 640 564 GOSUB 780 566 GOTO 270 570 GOSUB 640 572 GOSUB 740 574 GOSUB 640 576 GOTO 270 580 GOSUB 890 582 GOSUB 880 584 GOTO 270 585 GOSUB 790 586 GOSUB 690 587 GOSUB 640 588 GOTO 270 590 GOSUB 640 591 GOSUB 880 592 GOSUB 890 593 GOSUB 640 594 GOTO 270 595 GOSUB 640 596 GOSUB 650 597 GOSUB 640 598 GOTO 270 600 GOSUB 900 601 GOTO 270 605 GOSUB 780 606 GOSUB 780 607 GOSUB 640 608 GOTO 270 610 GOSUB 970 611 GOSUB 800 612 GOSUB 960 613 GOTO 270 615 GOSUB 640 616 GOSUB 650 617 GOSUB 760 618 GOTO 270 620 GOSUB 920 621 GOTO 270 625 GOSUB 700 626 GOSUB 650 627 A=C*.5\GOSUB 640 628 A=C\GOSUB 810 629 GOTO 270 630 GOSUB 940 631 GOTO 270 635 GOSUB 790 636 GOSUB 710 637 GOSUB 640 638 GOTO 270 640 FOR Y=1 TO A 641 PRINT #1:TAB(S); 642 FOR X=1 TO 10 643 PRINT #1:G$; 644 NEXT X 645 PRINT #1: 646 NEXT Y 647 RETURN 650 IF A<1 THEN 660\GOTO 670 660 A=1 670 FOR X=1 TO A\PRINT #1:TAB(S);G$;G$;H$;H$;G$;G$;H$;H$;G$;G$\NEXT X 672 RETURN 680 PRINT#1:TAB(S); 690 FOR X=1 TO A\PRINT #1:TAB(4*L+S);G$;G$;H$;H$;G$;G$\NEXT X 692 RETURN 700 FOR X=1 TO A\PRINT#1:TAB(S);G$;G$;\PRINT#1:TAB(8*L+S);G$;G$\NEXT X 701 RETURN 710 IF A<1 THEN 720\GOTO 730 720 A=1 730 FOR X=1 TO A\PRINT#1:TAB(4*L+S);G$;G$\NEXT X 731 RETURN 740 FOR X=1 TO A\PRINT#1:TAB(S);G$;G$\NEXT X 742 RETURN 750 FOR X=1 TO A\PRINT#1:TAB(S);G$;G$;G$;G$\NEXT X 752 RETURN 760 FOR Y=1 TO A\PRINT#1:TAB(S);G$;G$;G$;G$;G$;G$;H$;H$;G$;G$\NEXT Y 761 RETURN 770 FOR X=1 TO A\PRINT#1:TAB(S);G$;G$;H$;H$;G$;G$;G$;G$;G$;G$\NEXT X 772 RETURN 780 FOR X=1 TO A\PRINT #1:TAB(8*L+S);G$;G$\NEXT X 782 RETURN 790 FOR X=1 TO A\PRINT#1:TAB(4*L+S);G$;G$;G$;G$;G$;G$\NEXT X 792 RETURN 800 FOR X=1 TO A\PRINT#1:TAB(S);G$;G$;G$;G$;G$;G$\NEXT X 805 RETURN 810 FOR X=1 TO C/2 811 PRINT #1:TAB(S); 812 FOR Y=1 TO 2 813 FOR Z=1 TO (5*L)-X 814 PRINT#1:SEG$(G$,1,1); 815 NEXT Z 820 IF X>3 THEN 950\V=X 830 PRINT#1:H$(2*V);\NEXT Y 832 PRINT #1:\NEXT X 834 RETURN 840 FOR X=1 TO C/2\PRINT #1:TAB(S);H$(X); 842 FOR Y=1 TO (10*L)-(2*X) 843 PRINT #1:SEG$(G$,1,1); 844 NEXT Y 845 PRINT #1: 850 NEXT X 852 RETURN 860 FOR X=4*L TO 7*L STEP (14*L)/(C*6) 861 PRINT #1:TAB(7*L-X+S);G$;G$;G$; 862 IF (7*L-X+S+3*L)<(X+S) GOTO 868 863 FOR I=(7*L-X) TO X\PRINT#1:SEG$(G$,1,1);\NEXT I 864 GOTO 871 868 PRINT#1:TAB(X+S);G$;G$;G$; 871 PRINT#1:\NEXT X 872 RETURN 880 FOR X=0 TO 6*L STEP 6*L/C\PRINT#1:TAB(X+S);G$;G$;G$;G$\NEXT X 882 RETURN 890 FOR X=6*L TO 0 STEP -6*L/C\PRINT#1:TAB(X+S);G$;G$;G$;G$\NEXT X 892 RETURN 900 FOR X=0 TO 7*L STEP (14*L)/(C*6) 901 IF X>3.5*L GOTO 907 902 PRINT#1:TAB(X+S);G$;G$;G$; 903 IF (X+S+3*L)<(7*L-X+S) GOTO 906 904 FOR I=X TO (7*L-X) \ PRINT#1:SEG$(G$,1,1);\NEXT I 905 GOTO 912 906 PRINT#1:TAB(7*L-X+S);G$;G$;G$;\GO TO 912 907 PRINT#1:TAB(7*L-X+S);G$;G$;G$; 908 IF (7*L-X+S+3*L)<(X+S) GOTO 911 909 FOR I=(7*L-X) TO X\PRINT#1:SEG$(G$,1,1);\NEXT I 910 GOTO 912 911 PRINT#1:TAB(X+S);G$;G$;G$; 912 PRINT #1: 913 NEXT X 914 RETURN 920FOR X=0 TO 7*L STEP (7*L)/(C*3) 921 PRINT#1:TAB(S);G$;G$; 922 IF X>2*L GOTO 926\PRINT#1:G$; 923 FOR I=1 TO X\PRINT#1:SEG$(G$,1,1);\NEXT I 924 GOTO 930 926 PRINT#1:TAB(X+S);G$;G$;G$; 927 IF X+3*L<8*L GOTO 930 928 FOR I=X+3*L TO 10*L\PRINT#1:SEG$(G$,1,1);\NEXT I 929 GOTO 932 930 PRINT#1: TAB(8*L+S);G$;G$;G$; 932 PRINT#1: 933 NEXT X 934 RETURN 940 FOR X=1 TO A*3 941 PRINT#1: 942 NEXT X 943 RETURN 950 FOR W=1 TO X-3\PRINT#1:" ";\NEXT W 952 B=3\GOTO 830 960 FOR X=4*L TO 7*L STEP L*4/C\PRINT#1:TAB(X+S);G$;G$;G$\NEXT X 962 RETURN 970 FOR X=7*L TO 4*L STEP -4*L/C\PRINT #1:TAB(X+S);G$;G$;G$\NEXT X 972 RETURN 990 FOR X= 1 TO C*3 991 PRINT#1: 992 NEXT X 1000 END