10  REM LHS DECISION LIBRARY -- PUNCHED JULY 18 '73
20  REM *****  GIANT  *****  DOUG OMAN  *****  12/31/70  *****
30  REM COPYRIGHT 1972 BY THE REGENTS OF THE UNIV. OF CALIF.
40  REM PRODUCED AT THE LAWRENCE HALL OF SCIENCE, BERKELEY
50  REM MODIFIED TO HP BASIC  (ACCESS SYSTEM)   3/18/76
60  REM MODIFIED FOR USE WITH 132 CHARACTER PRINTERS BY BRAD ZALLER  9/30/1980.
70  PRINT LIN(2);"This program has been modified for 132 character printers."
80  DIM M$[255]
90  M$=""
100  LET W=5
110  V=0
120  DIM A$[72],C$[40],D[6],E[6],X$[5],Y$[72],Z$[72],W$[72]
130  LET C$="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,! ?:/-'"
140  LET Z$='1'2'3'6'7"@ABCDEFGHIJKLMNOPQRSTUVWXYZ"
150  LET Z$[33]="0123456789!#$%&'()*:=-+;<,>.?/["'92"]^"
160  MAT D=ZER
170  MAT E=ZER
180  PRINT '10"CHARACTERS THAT CAN BE ENLARGED:  "C$;LIN(2)
190  PRINT LIN(1)"STATEMENT YOU WISH ENLARGED:"
200  LINPUT A$
210  PRINT 
220  IF LEN(A$)=0 THEN 1300
230  FOR A=1 TO LEN(A$)
240  GOSUB 950
250  IF X>0 THEN 310
260  IF V=1 THEN 300
270  PRINT '10"THE FOLLOWING ARE ILLEGAL CHARACTERS:  "A;
280  LET V=1
290  GOTO 310
300  PRINT ",";A;
310  NEXT A
320  IF V=1 THEN 190
330  PRINT "POSITION THE PAPER - PUSH 'RETURN' WHEN READY TO START."LIN(6)
340  ENTER 255,H,B5
350  PRINT LIN(20)
360  FOR A=1 TO LEN(A$)
370  LET W$=""
380  GOSUB 950
390  IF X#30 THEN 420
400  PRINT LIN(16)
410  GOTO 500
420  RESTORE 
430  GOTO TYP(0) OF 460,440
440  READ Y$
450  GOTO 430
460  READ B
470  IF B <> X THEN 430
480  GOTO TYP(0) OF 490,530
490  PRINT LIN(8)
500  NEXT A
510  PRINT LIN(16)
520  STOP 
530  READ Y$
540  LET V=0
550  GOSUB 1010
560  LET Q=P
570  IF Q>3 THEN 660
580  GOSUB 1010
590  LET N=P
600  FOR F=1 TO 2*Q
610  GOSUB 1010
620  LET D[F]=P
630  NEXT F
640  MAT E=ZER
650  GOTO 770
660  LET Q=Q-3
670  FOR G=1 TO 2*Q
680  GOSUB 1010
690  LET D[G]=P
700  NEXT G
710  GOSUB 1010
720  LET N=P
730  FOR J=1 TO 2*Q
740  GOSUB 1010
750  LET E[J]=P
760  NEXT J
770  FOR L=1 TO N
780  LET W$[LEN(W$)+1]="  "
790  IF A$[A,A]="," THEN 810
800  LET W$[LEN(W$)+1]="   "
810  FOR M=1 TO Q
820  FOR U=1 TO D[2*M-1]
830  LET W$[LEN(W$)+1]=" "
840  NEXT U
850  FOR S=1 TO D[2*M]
860  LET W$[LEN(W$)+1]=A$[A,A]
870  NEXT S
880  NEXT M
890  GOSUB 1310
900  LET W$=""
910  MAT D=D+E
920  NEXT L
930  IF V<LEN(Y$) THEN 550
940  GOTO 480
950  LET X=0
960  FOR Y=1 TO LEN(C$)
970  IF A$[A,A] <> C$[Y,Y] THEN 990
980  LET X=Y
990  NEXT Y
1000  RETURN 
1010  LET V=V+1
1020  IF V <= LEN(Y$) THEN 1050
1030  READ Y$
1040  LET V=1
1050  LET X$=Y$[V,V]
1060  LET P=-6
1070  LET P=P+1
1080  IF Z$[P+6,P+6] <> X$ THEN 1070
1090  RETURN 
1100  DATA 1,"D@)H@BBHOOOOD@"'92"H@"'6,2,"AH@^CH@LLLLLE@3@3HA"'6"B"'6,3,"DP1E"'6"D"
1110  DATA "EFOROD"'6"@D@BH@O3OE@O3OHA@"'6"@",4,"AH@^BI@O3OEBOZOCB@"'2"@DH)EB"
1120  DATA '2,5,"AH@^CK@LLLLL",6,"AH@^BKXLLL",7,"DP1E"'6"DEFOROD"'6"@D@BG@O3O"
1130  DATA "F@OFESODB@"'6"@"'6"@EHRMMEB"'6"@"'6,8,"AH@^AHTTAH@^",9,"AH@^",10,"EOOO"
1140  DATA "OE"'3"@C@BC@O3ODC[HC"'3"AH*O",11,"AH@^DVPD"'6"DENNDNH"'6"@D@",12,"AH@^"
1150  DATA "AL@O",13,"AH@^D$UN"'3"@D@UNC@AH@^",14,"AH@^D$UN"'3"@AH@^",15,"DP1"
1160  DATA "E"'6"DEFOROC"'6"@D@BI@O3OEBOZOCB@"'2"@DH)EB"'2,16
1170  DATA "AH@^BHOOOOEQOKO"
1180  DATA "DB@"'2"@DYYDB"'2,17,"DP1E"'6"DEFOROC"'6"@D@BI@O3OF@OIHMOBB@"'1"@A@EDV"
1190  DATA "OOBB"'1"A@AAH)DI&B"'3"AECHC5B"'3"@E"'2,18,"AH@^BHOOOOEMSKOC"'6"D"'2"@EHL"
1200  DATA "D2E"'6"@D"'2,19,"EFLLXD"'7"@@BFBLLLHLC"'7"@@@B@CF@LLLLLF@LLLLLCA@"'6
1210  DATA "@@@EC3LLDA"'6"@@",20
1220  DATA "AH*OAH@^AH*O",21,"DP)H"'6"BAH@ODB"'92"HB"'6,22,"D$"
1230  DATA "UM"'3"@D@UNC@",23,"DP'H"'6"BAD@ODDOHD@D5OH"'2"@AD@ODB"'92"HB"'6,24,"E@N5"
1240  DATA "NHB@"'2"@DP1EB"'2"DVPD"'6"DENNDNH"'6"@D@",25,"D*OH"'6"@D@)C@"'6"D@%C@BD4OH"
1250  DATA "B@",26,"E@N5NH@B"'6"@F@NBNPNH@@B@"'6"@E@NR1H@@B"'6,27,"DBFB"'7"BAC@J"
1260  DATA "DAHBA"'6,28,"E@ADFB@A"'6"BAB@MDALCA"'6,29,"EBFD-B"'7"B"'7"@BC@JB-EAHC"
1270  DATA "-BA"'6"A@",31,"D:HG"'7"BFBFDTPLC"'7"B"'7"B@"'6"CA@JBZNHF@JB1LHCA"'6"AB"'2"BD5"
1280  DATA "1GB"'2,32,"ESFJFB"'7"B"'6"BBCQJFJERHHHBA"'6"B"'6,33,"DCAC"'7"CD@JZB@D,GC"
1290  DATA "B"'3,34,"APYJ",35,"D+HD"'2"ED&RCD"'1,36
1300  END 
1310  REM ************  PRINTING SUBROUTINE   **********
1320  REM ***  W$ IS THE OUTPUT STRING ***
1330  REM ***  Y$ IS THE 140 CHAR. OUTPUT STRING ***
1340  FOR L1=1 TO 2
1350  FOR L2=1 TO 80
1360  M$[2*L2-1,2*L2-1]=W$[L2,L2]
1370  M$[2*L2,2*L2]=W$[L2,L2]
1380  NEXT L2
1390  PRINT M$[1,132]
1400  M$=""
1410  NEXT L1
1420  REM ****** PRINTING COMPETE *****
1430  RETURN 
1440  END 
