10 REM Monthly Calendar 20 IF PEEK &A000<>&C0 PRINT "Printer required.": END 30 M=INT (TIME /1E4): IF Y<1900 OR Y>2100 LET Y=2000 40 WAIT 0 50 CLS : PRINT "Year (";STR$ Y;") ";: INPUT Y 60 CLS : PRINT "Month (";STR$ M;") ";: INPUT M 70 CLS : INPUT "Colour? (Y/N) ";C$ 80 IF C$<>"Y" AND C$<>"N" THEN 70 90 C=C$="Y": CLS 100 E=M-INT ((M-1)/7)*7:E=30+E-INT (E/2)*2 120 IF M=2 LET E=29-((Y/4<>INT (Y/4))+((Y/100=INT (Y/100))*(Y/400<>INT (Y/400)))) 130 Z=Y:N=M+1: IF M>2 THEN 150 140 Z=Y-1:N=M+13 150 V=INT (365.25*Z)+INT (30.6*N)-621049 160 V=1+INT (V/7)*7-V 170 TEXT : CSIZE 5 180 V$=STR$ M: IF LEN V$<2 LET V$="0"+V$ 190 V$=STR$ Y+"-"+V$ 200 COLOR 0: LPRINT V$ 210 GRAPH : CSIZE 2: SORGN :R=0 220 FOR X=1 TO 7: GLCURSOR (X*30-24,0) 230 COLOR (2+(X>5))*C 240 LPRINT MID$ ("MoTuWeThFrSaSu",X*2-1,2); 250 NEXT X 260 R=R-24 270 FOR X=1 TO 7: IF V<1 OR V>E THEN 310 280 GLCURSOR (X*30-24,R): COLOR (1+2*(X>5))*C 290 V$=STR$ V: IF LEN V$<2 LET V$=" "+V$ 300 LPRINT V$; 310 V=V+1 320 NEXT X 330 IF V<=E THEN 260 340 COLOR 0 350 FOR X=1 TO 8 360 LINE (X*30-27,R-6)-(X*30-27,18) 370 NEXT X 380 FOR X=18 TO R-6 STEP -24 390 LINE (3,X)-(213,X) 400 NEXT X 410 TEXT : LF 4