File BANNER.BA (BASIC source file)

Directory of image this file is from
This file as a plain text file

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)
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
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 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 TAB(S);
642 FOR X=1 TO 10
643 PRINT G$;
644 NEXT X
645 PRINT
646 NEXT Y
647 RETURN
650 IF A<1 THEN 660\GOTO 670
660 A=1
670 FOR X=1 TO A\PRINT TAB(S);G$;G$;H$;H$;G$;G$;H$;H$;G$;G$\NEXT X
672 RETURN
680 PRINT TAB(S);
690 FOR X=1 TO A\PRINT TAB(4*L+S);G$;G$;H$;H$;G$;G$\NEXT X
692 RETURN
700 FOR X=1 TO A\PRINT TAB(S);G$;G$;\PRINT 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 TAB(4*L+S);G$;G$\NEXT X
731 RETURN
740 FOR X=1 TO A\PRINT TAB(S);G$;G$\NEXT X
742 RETURN
750 FOR X=1 TO A\PRINT TAB(S);G$;G$;G$;G$\NEXT X
752 RETURN
760 FOR Y=1 TO A\PRINT TAB(S);G$;G$;G$;G$;G$;G$;H$;H$;G$;G$\NEXT Y
761 RETURN
770 FOR X=1 TO A\PRINT TAB(S);G$;G$;H$;H$;G$;G$;G$;G$;G$;G$\NEXT X
772 RETURN
780 FOR X=1 TO A\PRINT TAB(8*L+S);G$;G$\NEXT X
782 RETURN
790 FOR X=1 TO A\PRINT TAB(4*L+S);G$;G$;G$;G$;G$;G$\NEXT X
792 RETURN
800 FOR X=1 TO A\PRINT TAB(S);G$;G$;G$;G$;G$;G$\NEXT X
805 RETURN
810 FOR X=1 TO C/2
811 PRINT TAB(S);
812 FOR Y=1 TO 2
813 FOR Z=1 TO (5*L)-X
814 PRINT SEG$(G$,1,1);
815 NEXT Z
820 IF X>3 THEN 950\V=X
830 PRINT H$(2*V);\NEXT Y
832 PRINT\NEXT X
834 RETURN
840 FOR X=1 TO C/2\PRINT TAB(S);H$(X);
842 FOR Y=1 TO (10*L)-(2*X)
843 PRINT SEG$(G$,1,1);
844 NEXT Y
845 PRINT
850 NEXT X
852 RETURN
860 FOR X=4*L TO 7*L STEP (14*L)/(C*6)
861 PRINT 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 SEG$(G$,1,1);\NEXT I
864 GOTO 871
868 PRINT TAB(X+S);G$;G$;G$;
871 PRINT\NEXT X
872 RETURN
880 FOR X=0 TO 6*L STEP 6*L/C\PRINT TAB(X+S);G$;G$;G$;G$\NEXT X
882 RETURN
890 FOR X=6*L TO 0 STEP -6*L/C\PRINT 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 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 SEG$(G$,1,1);\NEXT I
905 GOTO 912
906 PRINT TAB(7*L-X+S);G$;G$;G$;\GOTO 912
907 PRINT 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 SEG$(G$,1,1);\NEXT I
910 GOTO 912
911 PRINT TAB(X+S);G$;G$;G$;
912 PRINT\NEXT X
913 RETURN
920FOR X=0 TO 7*L STEP (7*L)/(C*3)
921 PRINT TAB(S);G$;G$;
922 IF X>2*L GOTO 926\PRINT G$;
923 FOR I=1 TO X\PRINT SEG$(G$,1,1);\NEXT I
924 GOTO 930
926 PRINT 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 SEG$(G$,1,1);\NEXT I
929 GOTO 932
930 PRINT TAB(8*L+S);G$;G$;
932 PRINT
933 NEXT X
934 RETURN
940 FOR X=1 TO A*3
941 PRINT 
942 NEXT X
943 RETURN
950 FOR W=1 TO X-3\PRINT "  ";\NEXT W
952 B=3\GOTO 830
960 FOR X=4*L TO 7*L STEP L*4/C\PRINT TAB(X+S);G$;G$;G$\NEXT X
962 RETURN
970 FOR X=7*L TO 4*L STEP -4*L/C\PRINT TAB(X+S);G$;G$;G$\NEXT X
972 RETURN
990 FOR X= 1 TO C*3
991 PRINT 
992 NEXT X
1000 END



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search