1 COMMON A, AL, B, BASEONLY, C, C$, C1, CAT$, CC, CKT$, D, D$, DD, DIA, DIMN$, DMS, E, EO, EX$, F, F$, FD, FF, FQ, FRQ, G$, GO$, I, I$, L, LATLONG, LD, LL, LN, LS, LW, LX, MAX, MENU, MIN, MX, N, NN, NT, OV, P, PI, PROG$, Q, QQ, QU, R, RA, RC, T, T$, U, U$, UH, UL$, V$, VC, W, WHIP, WIRD, WW, X, X$, X1, XS, Z$, ZP, ZS
5 'OMMON EX$,PROG$
10 'WALKER - 26 AUG 89 rev. 25 JUN 1999, MAR 2010
20 CLS:KEY OFF:COLOR 7,0,0:LOCATE ,,0
30 IF EX$=""THEN EX$="EXIT"
40 IF PROG$=""THEN GO$=EX$ ELSE GO$=PROG$
50 
60 '
70 T1=TIMER
80 T=T1
90 T=T+9.999999E-03:TM=TM+1                'TM=cycles per second
100 IF T<=T1+1 THEN 90
110 '
120 '.....start cycle
130 T=TM*10^4*7.500000          'starting time factor for walker
140 A=4:B=76:C=1
150 W=1:FOR LN=0 TO 19 STEP 4
160 M=VAL (LEFT$(DATE$,2)):D=VAL (MID$(DATE$,4,2)):Y=VAL (RIGHT$(DATE$,4))
170 GOSUB 530:J$=J$(ZZ)
180 CLS
190 COLOR 11:LOCATE LN+2,(80-LEN(J$))/2:PRINT J$
200 COLOR 14:LOCATE LN+3,35:PRINT DATE$
210 COLOR 12:LOCATE LN+4,30:PRINT "Press any key to exit"
220 W=-W:B$="ÛÛ":C$=" ³³ "
230 IF W=1 THEN W$=" {) " ELSE W$=" (} "
240 Y=1:FOR Z=A TO B STEP C
250 Y=-Y:T=INT(T/1.013659)
260 COLOR 10
270 LOCATE LN+1,36:PRINT TIME$
280 LOCATE LN+2,Z:PRINT W$
290 IF SGN(Y)=1 THEN 310
300 LOCATE LN+3,Z-1:PRINT "  ";B$;;"  ";:LOCATE LN+4,Z:PRINT C$:GOTO 330
310 LOCATE LN+3,Z-1:PRINT " /";B$;;"\ ";:LOCATE LN+4,Z
320 IF A<B THEN PRINT "./\ ";ELSE PRINT ;" /\."
330 FOR I=0 TO T:NEXT I
340 IF INKEY$<>""THEN CLS:RUN GO$
350 NEXT Z:CLS:SWAP A,B:C=-C:NEXT LN
360 CLS:Y=1:D$=CHR$(196)
370 FOR Z=19 TO 1 STEP -1:Y=-Y
380 LOCATE Z+4,37:PRINT "        "
390 LOCATE Z+3,39:IF Y=1 THEN PRINT C$ ELSE PRINT ;" /\ "
400 LOCATE Z+2,39:IF Y=1 THEN PRINT "/";B$;;"\";ELSE PRINT D$;B$;D$
410 LOCATE Z+1,37:PRINT "   ()   "
420 LOCATE Z,37:PRINT TIME$
430 FOR I=1 TO TM*3000:NEXT I
440 IF INKEY$<>""THEN CLS:RUN GO$
450 IF Z$="1"THEN 490
460 NEXT Z
470 GOTO 130
480 '
490 'RESET CLOCK
500 CLS:INPUT "ENTER: New time in 24-hr.format (e.g.14.07.0)";T$
510 TIME$=T$:GOTO 10
520 '
530 'DAY OF WEEK
540 J$(1)="Sunday
550 J$(2)="Monday
560 J$(3)="Tuesday
570 J$(4)="Wednesday
580 J$(5)="Thursday
590 J$(6)="Friday
600 J$(7)="Saturday
610 K=INT(6.000000E-01+(1/M))
620 L=Y-K
630 O=M+12*K
640 P=L/100
650 Z1=INT(P/4)
660 Z2=INT(P)
670 Z3=INT((5*L)/4)
680 Z4=INT(13*(O+1)/5)
690 Z=Z4+Z3-Z2+Z1+D-1
700 ZZ=Z-(7*INT(Z/7))+1
710 RETURN
