10  FILES *
20  DIM A$[255],B$[255],B1$[255]
30  DIM M[12],C[6,21]
40  PRINT "DO YOU WANT A LIST OF THE POSTERS I HAVE ?";
50  LINPUT A$[1,1]
60  IF A$[1,1]#"Y" THEN 150
70  RESTORE 520
80  PRINT LIN(2)
90  READ A$,B$
100  IF A$="" THEN 140
110  IF A$="SEXY" THEN 90
120  PRINT A$,
130  GOTO 90
140  PRINT LIN(-2)
150  PRINT "POSTER WANTED ?";
160  LINPUT A$
170  IF A$="" THEN 40
180  RESTORE 520
190  B1$="*"
200  READ B$,B1$[2]
210  IF B$="" THEN 150
220  IF B$[1,LEN(A$)]#A$ THEN 190
230  ASSIGN B1$,1,X
240  IF X <= 2 THEN 270
250  PRINT "POSTER NOT AVAILABLE."
260  GOTO 150
270  PRINT "DO YOU WANT A CALENDAR ON THE BOTTOM (Y/N) ";
280  LINPUT A$
290  Y=0
300  IF A$[1,1]#"Y" THEN 330
310  PRINT "FOR WHAT YEAR ";
320  INPUT Y
330  PRINT "POSITION PAPER - PUSH RETURN WHEN READY"
340  ENTER 20,X,A$
350  IF  END #1 THEN 440
360  READ #1;A$
370  B$=""
380  FOR X=1 TO LEN(A$)
390  B$[LEN(B$)+1]=A$[X,X]
400  B$[LEN(B$)+1]=A$[X,X]
410  NEXT X
420  PRINT B$;LIN(1);B$
430  GOTO 360
440  PRINT LIN(30)
450  IF Y=0 THEN 470
460  GOSUB 790
470  ENTER 20,Z1,Z1
480  PRINT LIN(3);"ANOTHER POSTER? ";
490  LINPUT A$[1,1]
500  IF A$[1,1]="Y" THEN 150
510  STOP 
520  DATA "WOODSTOCK","PINUPA"
530  DATA "LINUS","PINUPB"
540  DATA "CHUCK 1","PINUPC"
550  DATA "CHUCK 2","PINUPD"
560  DATA "CHUCK 3","PINUPE"
570  DATA "SNOOPY 1","PINUPF"
580  DATA "SNOOPY 2","PINUPG"
590  DATA "SNOOPY 3","PINUPH"
600  DATA "SNOOPY 4","PINUPI"
610  DATA "SNOOPY 5","PINUPJ"
620  DATA "SNOOPY 6","PINUPK"
630  DATA "SNOOPY 7","PINUPL"
640  DATA "MICKEY","PINUPM"
650  DATA "ANDY CAPP","PINUPN"
660  DATA "VIKING","PINUPO"
670  DATA "BUNNY","PINUPP"
680  DATA "SEXY","PINUPQ"
690  DATA "ENTERPRISE","PINUPR"
700  DATA "JAWS","PINUPS"
710  DATA "NIXON","PINUPT"
720  DATA "MARY","PINUPU"
730  DATA "PEACE","PINUPV"
740  DATA "STAR WARS","PINUPW"
750  DATA "SARGE","PINUPX"
760  DATA "GARFIELD","PINUPY"
770  DATA "",""
780  END 
790  REM CALENDAR SUBROUTINE
800  PRINT LIN(5)
810  RESTORE 830
820  MAT  READ M
830  DATA 31,0,31,30,31,30,31,31,30,31,30,31
840  X=INT(Y/100)
850  Z=Y-X*(100)
860  L=(SGN(INT(Y/4)-Y/4)+1)*SGN(Z)+SGN(INT(Y/(20^2))-Y/(20^2))+1
870  D=INT(5/4*Z)+6-(X/4-INT(X/4))*8+2-L
880  D=D-INT((D-1)/7)*7-1
890  M[2]=28+L
900  L=1
910  PRINT TAB(14)"****    CALENDAR FOR THE YEAR"Y"****"LIN(2)
920  N=1
930  MAT C=ZER
940  FOR X=1 TO 3
950  FOR A=1 TO 6
960  D=D*(D#7)
970  FOR B=X*7-6+D TO X*7
980  C[A,B]=N
990  N=N+1
1000  IF N>M[L] THEN 1040
1010  NEXT B
1020  D=0
1030  NEXT A
1040  L=L+1
1050  D=B-INT((B-1)/7)*7
1060  N=1
1070  NEXT X
1080  GOSUB 1390
1090  FOR A=1 TO 3
1100  GOSUB 1450
1110  IF A#2 THEN 1130
1120  READ A$[7,15],A$[31,39],A$[55,63]
1130  PRINT A$
1140  NEXT A
1150  GOSUB 1390
1160  GOSUB 1450
1170  A$[3,21]="S  M  T  W  T  F  S"
1180  A$[27,45]=A$[3]
1190  A$[51]="S  M  T  W  T  F  S*"
1200  PRINT A$
1210  FOR A=1 TO 6
1220  GOSUB 1450
1230  FOR B=1 TO 21
1240  C=B*3+3*SGN(1+SGN(B-8))+3*SGN(1+SGN(B-15))
1250  IF C[A,B]=0 THEN 1270
1260  CONVERT C[A,B] TO A$[C-(C[A,B]>9),C]
1270  NEXT B
1280  PRINT A$
1290  GOSUB 1450
1300  NEXT A
1310  GOSUB 1390
1320  IF L-13 THEN 920
1330  DATA " JANUARY "," FEBRUARY","   MARCH ","   APRIL ","    MAY  "
1340  DATA "   JUNE  ","   JULY  ","  AUGUST ","SEPTEMBER","  OCTOBER"
1350  DATA " NOVEMBER"," DECEMBER"
1360  PRINT LIN(5)
1370  RETURN 
1380  STOP 
1390  A$[1,72]=" "
1400  A$[1,22]="**********************"
1410  A$[25,46]=A$[1,22]
1420  A$[49,70]=A$[1,22]
1430  PRINT A$
1440  RETURN 
1450  A$[1,72]=" "
1460  A$[1,1]="*"
1470  A$[22,25]="*  *"
1480  A$[46,49]="*  *"
1490  A$[70]="*"
1500  RETURN 
1510  END 
