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