10 REM Sat,08 Oct 1994.10:51:21 20 DEFFNS:$(PAGE+6)=TIME$:="YrPrint" 30 ONERROR VDU3:REPORT:PRINTERL:END 40 PROCDES 50 DAY$=" MON TUE WED THU FRI SAT SUN" 60 MODE128:PRINT"YEAR CALENDAR PRINTER"'"By C.J.Richardson"' 70 INPUT'"Print out how many years? "numyears% 80 INPUT'"First year to print? "YEAR$:Y%=VAL(YEAR$)-1 90 IF numyears%<>1 PRINT'"Pause between years? Y/N ":IF GET$="Y" P%=1 ELSE P%=0 100 A%=0 110 FORL%=1900TOY% 120 A%=A%+1:IF A%=8 A%=1 130 IF L%MOD4=0 A%=A%+1:IF A%=8 A%=1 140 NEXT 150 leaveblank%=-(A%-2) 160 FORLquantity=Y%+1 TO Y%+numyears% 170 REPEAT 180 Y%=Y%+1 190 YEAR$=STR$Y% 200 IFY%MOD4=0leapyear%=1:ELSEleapyear%=0 210 VDU2 220 PRINT'TAB(20);DAY$:REM BJ ;" ! " 230 RESTORE 240 FORyearloop%=1TO12 250 daymonth%=leaveblank% 260 PRINT:READMONTH$,Daysinmonth%:IFyearloop%=2:IFleapyear% Daysinmonth%=29 270 PRINTMONTH$;" ";YEAR$; 280 FORmonthloop%=1TO6 290 PRINTTAB(20); 300 FORweekloop%=1TO7 310 IF daymonth%<1 OR daymonth%>Daysinmonth% PRINT" "; 320 IF daymonth%>0 IF daymonth%<10 PRINT" ";STR$daymonth%; 330 IF daymonth%>9 IF daymonth%<=Daysinmonth% PRINT" ";STR$daymonth%; 340 PRINT" "; 350 daymonth%=daymonth%+1:IFdaymonth%=Daysinmonth%:leaveblank%=-weekloop%:IFleaveblank%=-7leaveblank%=0ELSEIFleaveblank%=-6leaveblank%=1 360 NEXT weekloop%::IFdaymonth%>Daysinmonth%:monthloop%=6 370 IFmonthloop%<6:PRINT 380 NEXTmonthloop% 390 IF leaveblank%=1 PRINT 400 NEXTyearloop% 410 VDU12 420 IF P%=1 VDU3:PRINT"Press a Key":OSCLI"FX21":REPEATUNTILGET:VDU2 430 NEXT 440 VDU3 450 END 460 DEFPROCDES 470 REM VDU2,1,27,1,61,1,15,1,0,1,20,1,ASC"!",1,0,1,0,1,112,1,136,1,170,1,170,1,188,1,160,1,127,1,72,1,72,1,54,1,3,1,27,1,73,1,4:REM ! ON BJ 480 VDU2 490 VDU1,27,1,83,1,1 500 VDU1,27,1,48 510 VDU3 520 ENDPROC 530 DATAJANUARY,31,FEBRUARY,28,MARCH,31,APRIL,30,MAY,31,JUNE,30,JULY,31,AUGUST,31,SEPTEMBER,30,OCTOBER,31,NOVEMBER,30,DECEMBER,31