200 DATA JANUARY,FEBRUARY,MARCH,APRIL,MAY,JUNE,JULY,AUGUST,SEPTEMBER,OCTOBER,NOVEMBER,DECEMBER
210 FOR X = 1 TO 12
220 READ M(X)
230 NEXT
240 DATA 31,28,31,30,31,30,31,31,30,31,30,31
250 IF Y$ = "Y" THEN M(2) = 29
260 WEEK = 1
270 FOR I = 1 TO 12
280 FOR NOM = 1 TO M(I)
290 MTH(I,WEEK,DAY) = NOM
300 DAY = DAY +1
310 IF DAY >7 THEN DAY = 1:WEEK = WEEK +1
320 NEXT
330 WEEK = 1:SPV = 3
340 NEXT
350 HOME : NORMAL
360 PRINT CHR$(4)"PR# 1": PRINT CHR$(9)"80N"
370 PRINT : PRINT TAB( 38)YEAR
380 FOR I = 1 TO 12 STEP 2
390 GOSUB 640: GOSUB 670: GOSUB 710
400 FOR WEEK = 1 TO 6
410 PRINT SPC( 7);
420 PRINT "*";
430 FOR X = 1 TO 7
440 IF MTH(I,WEEK,X) = 0 THEN PRINT SPC( 3)" ";: GOTO 480
450 SPV = 3
460 IF MTH(I,WEEK,X) >9 THEN SPV = 2
470 PRINT SPC( SPV)MTH(I,WEEK,X);
480 NEXT
490 PRINT SPC( 3)"*";
500 FOR X = 1 TO 7
510 IF MTH(I +1,WEEK,X) = 0 THEN PRINT SPC( 3)" ";: GOTO 550
520 IF MTH(I +1,WEEK,X) >9 THEN SPV = 2: GOTO 540
530 SPV = 3
540 PRINT SPC( SPV)MTH(I +1,WEEK,X);
550 NEXT
560 PRINT SPC( 3)"*"
570 NEXT WEEK
580 NEXT
590 GOSUB 640
600 PRINT CHR$(4)"PR# 0"
610 HOME : VTAB 12: HTAB 9
620 PRINT "QUICK CALENDAR COMPLETE": END
630 REM -----SUB ROUTINE-----
640 PRINT SPC( 7);: FOR A = 1 TO 65: PRINT "*";: NEXT
650 PRINT
660 RETURN
670 FOR B = 1 TO 12 STEP 2
680 IF B = I THEN GOSUB 800: GOTO 700
690 NEXT B
700 RETURN
710 PRINT SPC( 7);: PRINT "*" SPC( 3);
720 FOR D = 1 TO 2
730 FOR D1 = 1 TO 7
740 PRINT D$(D1) SPC( 3);
750 NEXT
760 PRINT "*" SPC( 3)
770 NEXT
780 PRINT
790 RETURN
800 TV = LEN(NAME$(B)):T2 = LEN(NAME$(B +1))
810 T5 = INT((33 -TV)/2):T6 = INT((33 -T2)/2)
820 PRINT SPC( 7)"*";
830 PRINT SPC( T5)NAME$(B);
840 RT = 33 -T5 -TV
850 PRINT SPC( RT -2)"*";
860 PRINT SPC( T6)NAME$(B +1);
870 RT = 33 -T6 -T2
880 PRINT SPC( RT -2)"*";
890 PRINT
900 RETURN
910 TEXT : HOME
920 VTAB 10: HTAB 5: PRINT "QUICK CALENDAR BY DON MAXWELL": PRINT : PRINT " ** COPYRIGHT 1986 BY MICROSPARC,INC **"
930 VTAB 21: HTAB 7: PRINT "PRESS <RETURN> TO CONTINUE";: GET Z$: PRINT
940 HOME : VTAB 12: PRINT "ENTER THE DESIRED CALENDAR YEAR": INPUT "(1901-2099): ";YR$:YEAR = INT( VAL(YR$)): IF YEAR <1901 OR YEAR >2099 THEN PRINT CHR$(7): GOTO 940
950 VTAB 21: HTAB 1: CALL -958: VTAB 21: PRINT " TURN ON THE PRINTER AND PRESS <RETURN> WHEN READY...";
960 GET A$: IF A$ < > CHR$(13) THEN 960
970 IF ABS(1983 -YEAR) >50 THEN HOME : HTAB 12: VTAB 12: FLASH : PRINT "COMPUTING": NORMAL
980 IF YEAR -1983 >0 THEN 1020
990 IF YEAR -1983 <0 THEN 1200
1000 DAY = 7
1010 GOTO 1270
1020 DAY = 7:L = 2
1030 FOR X = 1983 TO YEAR -1
1040 GOSUB 1090
1050 IF L = 5 THEN GOSUB 1090
1060 GOSUB 1140
1070 NEXT
1080 GOTO 1270
1090 LET DAY = DAY +1
1100 IF DAY = 8 THEN 1120
1110 GOTO 1130
1120 DAY = 1
1130 RETURN
1140 L = L +1: IF L = 4 THEN GOSUB 1090:L = 0
1150 RETURN
1160 DAY = DAY -1: IF DAY = 0 THEN DAY = 7
1170 RETURN
1180 L = L -1: IF L = 0 THEN L = 4
1190 RETURN
1200 DAY = 7:L = 3
1210 FOR X = 1983 TO YEAR +1 STEP -1
1220 GOSUB 1160
1230 IF L = 1 THEN GOSUB 1160
1240 GOSUB 1180
1250 NEXT
1260 GOTO 1270
1270 ON DAY GOTO 1280,1290,1300,1310,1320,1330,1340
1280 A$ = "SUNDAY": GOTO 1350
1290 A$ = "MONDAY": GOTO 1350
1300 A$ = "TUESDAY": GOTO 1350
1310 A$ = "WEDNESDAY": GOTO 1350
1320 A$ = "THURSDAY": GOTO 1350
1330 A$ = "FRIDAY": GOTO 1350
1340 A$ = "SATURDAY"
1350 HOME : PRINT YEAR;" BEGINS ON A ";A$
1360 X2 = YEAR/4
1370 IX = INT(YEAR/4)
1380 IF X2 = IX THEN PRINT "IT IS A LEAP YEAR":Y$ = "Y": GOTO 1400
1390 PRINT "IT IS NOT A LEAP YEAR"
1400 PRINT "WOULD YOU LIKE A CALENDAR OF THIS YEAR?";: GET ANS$
1410 IF ANS$ = "Y" THEN 90
1420 HOME : HTAB 4: VTAB 12
1430 PRINT "THANK YOU FOR RUNNING 'CALENDAR'": PRINT : END