File SIGNS.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)
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



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