SmileBASIC, 204 bytes
INPUT Y$Y$[3]=Y$[3]+"/
DTREAD Y$+"/01"OUT Y,M,,W
W=W-1+!W*7?"Mo Tu We Th Fr Sa Su
FOR I=1TO 30+(1AND M-(M>7))-(M==2)*2+(Y MOD 4<1&&(Y MOD 100||Y MOD 400<1))LOCATE W*3,?STR$(I,2);
W=W+1
IF W>6 THEN W=0?
NEXT
#SmileBASIC, 204 bytes INPUT Y$Y$[3]=Y$[3]+"/ DTREAD Y$+"/01"OUT Y,M,,W W=W-1+!W*7?"Mo Tu We Th Fr Sa Su FOR I=1TO 30+(1AND M-(M>7))-(M==2)2+(Y MOD 4<1&&(Y MOD 100||Y MOD 400<1))LOCATE W3,?STR$(I,2); W=W+1 IF W>6 THEN W=0? NEXT WowWow, that leap year detector is VERY long...
#SmileBASIC, 204 bytes INPUT Y$Y$[3]=Y$[3]+"/ DTREAD Y$+"/01"OUT Y,M,,W W=W-1+!W*7?"Mo Tu We Th Fr Sa Su FOR I=1TO 30+(1AND M-(M>7))-(M==2)2+(Y MOD 4<1&&(Y MOD 100||Y MOD 400<1))LOCATE W3,?STR$(I,2); W=W+1 IF W>6 THEN W=0? NEXT Wow, that leap year detector is VERY long...
SmileBASIC, 204 bytes
INPUT Y$Y$[3]=Y$[3]+"/
DTREAD Y$+"/01"OUT Y,M,,W
W=W-1+!W*7?"Mo Tu We Th Fr Sa Su
FOR I=1TO 30+(1AND M-(M>7))-(M==2)*2+(Y MOD 4<1&&(Y MOD 100||Y MOD 400<1))LOCATE W*3,?STR$(I,2);
W=W+1
IF W>6 THEN W=0?
NEXT
Wow, that leap year detector is VERY long...
#SmileBASIC, 204 bytes INPUT Y$Y$[3]=Y$[3]+"/ DTREAD Y$+"/01"OUT Y,M,,W W=W-1+!W*7?"Mo Tu We Th Fr Sa Su FOR I=1TO 30+(1AND M-(M>7))-(M==2)2+(Y MOD 4<1&&(Y MOD 100||Y MOD 400<1))LOCATE W3,?STR$(I,2); W=W+1 IF W>6 THEN W=0? NEXT Could be a lot shorter without all the strange restrictionsWow, that leap year detector is VERY long...
#SmileBASIC, 204 bytes INPUT Y$Y$[3]=Y$[3]+"/ DTREAD Y$+"/01"OUT Y,M,,W W=W-1+!W*7?"Mo Tu We Th Fr Sa Su FOR I=1TO 30+(1AND M-(M>7))-(M==2)2+(Y MOD 4<1&&(Y MOD 100||Y MOD 400<1))LOCATE W3,?STR$(I,2); W=W+1 IF W>6 THEN W=0? NEXT Could be a lot shorter without all the strange restrictions...
#SmileBASIC, 204 bytes INPUT Y$Y$[3]=Y$[3]+"/ DTREAD Y$+"/01"OUT Y,M,,W W=W-1+!W*7?"Mo Tu We Th Fr Sa Su FOR I=1TO 30+(1AND M-(M>7))-(M==2)2+(Y MOD 4<1&&(Y MOD 100||Y MOD 400<1))LOCATE W3,?STR$(I,2); W=W+1 IF W>6 THEN W=0? NEXT Wow, that leap year detector is VERY long...
#SmileBASIC, 204 bytes INPUT Y$Y$[3]=Y$[3]+"/ DTREAD Y$+"/01"OUT Y,M,,W W=W-1+!W*7?"Mo Tu We Th Fr Sa Su FOR I=1TO 30+(1AND M-(M>7))-(M==2)2+(Y MOD 4<1&&(Y MOD 100||Y MOD 400<1))LOCATE W3,?STR$(I,2); W=W+1 IF W>6 THEN W=0? NEXT Could be a lot shorter without all the strange restrictions...