BS(BF) CFT(22) #3 = 6 // NUMBER OF MONTHS PER LINE #2 = 1969 // YEAR #1 = 1 // STARTING MONTH IC(' ', COUNT, #3*9) IT("[SNOOPY]") IN(2) IC(' ', COUNT, #3*9+1) NI(#2) IN REPEAT(12/#3) { REPEAT (#3) { BS(BF) CALL("DRAW_CALENDAR") RCB(10, 1, EOB_POS, COLSET, 1, 21) BQ(OK) #5 = CP RI(10) GP(#5) EOL IC(9) #1++ } EOF IN(2) } RETURN :DRAW_CALENDAR: NUM_PUSH(4,20) #20 = RF BOF DC(ALL) NI(#1, LEFT+NOCR) IT("/1/") NI(#2, LEFT+NOCR) RCB(#20, BOL_POS, EOL_POS, DELETE) #10 = JDATE(@(#20)) #4 = #2+(#1==12) NI(#1%12+1, LEFT+NOCR) IT("/1/") NI(#4, LEFT+NOCR) RCB(#20, BOL_POS, CP, DELETE) #11 = JDATE(@(#20)) - #10 #7 = (#10-1) % 7 IF (#1==1) { RS(#20," JANUARY ") } IF (#1==2) { RS(#20," FEBRUARY") } IF (#1==3) { RS(#20," MARCH ") } IF (#1==4) { RS(#20," APRIL ") } IF (#1==5) { RS(#20," MAY ") } IF (#1==6) { RS(#20," JUNE ") } IF (#1==7) { RS(#20," JULY ") } IF (#1==8) { RS(#20," AUGUST ") } IF (#1==9) { RS(#20,"SEPTEMBER") } IF (#1==10) { RS(#20," OCTOBER ") } IF (#1==11) { RS(#20," NOVEMBER") } IF (#1==12) { RS(#20," DECEMBER") } IT(" ") RI(#20) IN IT(" MO TU WE TH FR SA SU") IN IT(" --------------------") IN IC(' ', COUNT, #7*3) FOR (#8 = 1; #8 <= #11; #8++) { NI(#8, COUNT, 3) #5 = (#8+#10+5) % 7 IF (#5 == 6) { IN } } IT(" ") REG_EMPTY(#20) NUM_POP(4,20) RETURN