image of READY prompt

Wang2200.org

Listing of file='@CLOCK' on disk='vmedia/benchmark_tests.wvd.zip'

# Sector 356, program filename = '@CLOCK'
0010 REM % Prog = CLOCK       By JMR     Date = 08/19/83
0020 DIM T$9,Y$1
0030 DIM A$(11)7,B$(11)7,C$(11)7,D$(11)7,E$(11)7,F$(11)7,G$(11)7
0040 REM % VARIABLES FOR TIME & DATE
   : REM    U7$() - ENTERED TIME & DATE - MMDDYYHHMMSS
   : REM    U9$() - DISPLAYED TIME & DATE - MMDDYYHHMMSS
   : REM    V1$ - CONTAINS TIME RETURNED FROM O.S.
0050 REM    U8$(1) - ENTER TIME - HH.MM.SS
   : REM    U8$(2) - ENTER DATE - MM/DD/YY
   : REM    V2$ - DATE FROM @DATE FILE
0054 PRINT HEX(03)
0055 PRINT "DO YOU WANT A 24 HR. CLOCK?  (Y/N) "
   : KEYIN T1$
0060 DIM U7$(6)2,U9$(6)2,U8$8,V1$6,V2$6,U8$(2)8,I1(6),V3$6,T1$
0070 PRINT HEX(03);
   : V1$="99999999"
   : V2$=" "
0080 V2$=DATE
0090 U9$()=STR(V2$,3,4)&STR(V2$,1,2)&V1$
   : U7$()=U9$()
   : STR(U9$(),7,6)=" "
   : V3$=DATE
0100 GOTO 110
0110 U8$()="MM/DD/YYHH:MM:SS"
   : IF V2$<>" "THEN U8$(1)=U9$(1)&"/"&U9$(2)&"/"&U9$(3)
0120 GOSUB '202
   : T$=U9$(1)&"/"&U9$(2)&"/"&U9$(3)
   : GOSUB '75(16)
0130 IF V1$="999999"THEN I8=30
   : ELSE I8=4
0140 U7$(1)=STR(U8$(1),1,2)
   : U7$(2)=STR(U8$(1),4,2)
   : U7$(3)=STR(U8$(1),7,2)
0150 REM % GOING TO COLCK PRO.
   : GOTO 350
0160 DEFFN'202
   : PRINT HEX(03);
   : REM % DISPLAY TIME AND DATE
0170 IF V1$="999999"THEN PRINT HEX(06020402000E);
0180 COM CLEAR
0190 DEFFN'75(R)
0200 PRINT AT(I7,I9);BOX(-1,-3);AT(R,0,10*80);
   : GOSUB 220
   : RETURN
0210 RETURN
0220 $UNPACK(D=HEX(002F))T$TO M,D,Y
   : ERROR$UNPACK(D=HEX(002C))T$TO M,D,Y
   : ERRORRETURN
0230 IF M<>INT(M)OR M<1OR M>12THEN 210
   : IF D<>INT(D)OR D<1OR D>31THEN 210
   : IF Y<>INT(Y)OR Y<0THEN 210
   : IF Y<100THEN Y=Y+1900
0240 REM CONVERT TO STANDARD FORM
   : T$="00/00/0000"
   : CONVERT MTO STR(T$,1,2),(##)
   : CONVERT DTO STR(T$,4,2),(##)
   : CONVERT YTO STR(T$,7,2),(####)
0250 GOSUB '76(D,M,Y,R,1)
   : M=MOD(M,12)+1
   : IF M=1THEN Y=Y+1
   : GOSUB '76(0,M,Y,R,45)
0260 RETURN
0270 DEFFN'76(I0,I1,I4,R,C)
   : GOSUB '50(I1)
   : I3=I4
0280 IF I1>2THEN 290
   : I1=I1+12
   : I4=I4-1
0290 REM CALC. DAY OF WEEK MONTH BEGINS ON
   : T=MOD(2+INT((13*I1+3)/5)+INT(5*I4/4)-INT(I4/100)+INT(I4/400),7)+1
0300 REM DISPLAY MONTH
   : T=2-T
   : PRINT AT(R,C,28);AT(R,C+(28-LEN(M$)-5)/2);M$;I3
   : PRINT AT(R+1,C);"SUN MON TUE WED THU FRI SAT "
   : FOR W=1TO 6
   : PRINT AT(R+1+W,C);
   : FOR I=1TO 7
   : IF T=I0AND T<>0THEN 310
   : ELSE GOTO 320
0310 PRINT HEX(020400020E);
   : I7=R+1+W
   : I9=C+(I-1)*4
0320 IF T>0AND T<=I2THEN PRINTUSING " ## ";T;
   : ELSE PRINT "    ";
   : IF T=I0THEN PRINT HEX(0F0204020F);
   : T=T+1
   : PRINT HEX(0F);
   : NEXT I,W
   : RETURN
0330 DEFFN'50(I1)
   : RESTORE LINE330,2*I1-1
   : READ M$,I2
   : IF MOD(Y,4)=0AND I1=2THEN I2=I2+1
   : RETURN
   : DATA "JANUARY",31,"FEBRUARY",28,"MARCH",31,"APRIL",30,"MAY",31,"JUNE",30,
     "JULY",31,"AUGUST",31,"SEPTEMBER",30,"OCTOBER",31,"NOVEMBER",30,"DECEMBER
     ",31
0340 STOP
0350 D=0
0360 INIT(20)A$(),B$(),C$(),D$(),E$(),F$(),G$()
0370 A$(1)="  11"
0380 B$(1)=" 111"
0390 C$(1)="  11"
0400 D$(1)="  11"
0410 E$(1)="  11"
0420 F$(1)="  11"
0430 G$(1)=" 1111"
0440 A$(2)=" 22222"
0450 B$(2)="22   22"
0460 C$(2)="    22"
0470 D$(2)="   22"
0480 E$(2)="  22"
0490 F$(2)=" 22"
0500 G$(2)="2222222"
0510 A$(3)="333333"
0520 B$(3)="     33"
0530 C$(3)="     33"
0540 D$(3)="  3333"
0550 E$(3)="     33"
0560 F$(3)="     33"
0570 G$(3)="333333"
0580 A$(4)="   444"
0590 B$(4)="  4444"
0600 C$(4)=" 44 44"
0610 D$(4)="44  44"
0620 E$(4)="4444444"
0630 F$(4)="    44"
0640 G$(4)="    44"
0650 A$(5)="5555555"
0660 B$(5)="55"
0670 C$(5)="55"
0680 D$(5)="555555"
0690 E$(5)="     55"
0700 F$(5)="     55"
0710 G$(5)="555555"
0720 A$(6)="    66"
0730 B$(6)="   66"
0740 C$(6)="  66"
0750 D$(6)=" 66666"
0760 E$(6)="66   66"
0770 F$(6)="66   66"
0780 G$(6)=" 66666"
0790 A$(7)="7777777"
0800 B$(7)="     77"
0810 C$(7)="    77"
0820 D$(7)="   77"
0830 E$(7)="  77"
0840 F$(7)=" 77"
0850 G$(7)="77"
0860 A$(8)=" 88888"
0870 B$(8)="88   88"
0880 C$(8)="88   88"
0890 D$(8)=" 88888"
0900 E$(8)="88   88"
0910 F$(8)="88   88"
0920 G$(8)=" 88888"
0930 A$(9)=" 99999"
0940 B$(9)="99   99"
0950 C$(9)="99   99"
0960 D$(9)=" 99999"
0970 E$(9)="   99"
0980 F$(9)="  99"
0990 G$(9)=" 99"
1000 A$(10)=" 00000"
1010 B$(10)="00   00"
1020 C$(10)="00   00"
1030 D$(10)="00   00"
1040 E$(10)="00   00"
1050 F$(10)="00   00"
1060 G$(10)=" 00000"
1070 A$(11)=HEX(20202020202020)
1080 B$(11)=HEX(20202020202020)
1090 C$(11)=HEX(20202020202020)
1100 D$(11)=HEX(20202020202020)
1110 E$(11)=HEX(20202020202020)
1120 F$(11)=HEX(20202020202020)
1130 G$(11)=HEX(20202020202020)
1140 PRINT HEX(0106);
1150 PRINT AT(4,0);BOX(9,78)
1160 PRINT AT(6,26);"##"
1170 PRINT AT(7,26);"##"
1180 PRINT AT(9,26);"##"
1190 PRINT AT(10,26);"##"
1200 PRINT AT(6,52);"##"
1210 PRINT AT(7,52);"##"
1220 PRINT AT(9,52);"##"
1230 PRINT AT(10,52);"##"
1240 T$=TIME
1250 CONVERT STR(T$,5,2)TO T1
1255 $BREAK15
1260 IF T3=T1THEN 1240
1270 T3=T1
1280 CONVERT STR(T$,3,2)TO T2
1290 CONVERT STR(T$,1,2)TO T5
1300 Z=5
1310 IF T1<5THEN Z=3
1320 IF T2=0THEN Z=1
1330 IF D=0THEN Z=1
1340 IF 3<T1THEN GOTO 1370
1350 IF T5<>T2THEN GOTO 1370
1355 IF T5<>0THEN GOTO 1370
1360 GOTO 60
1370 D=1
1372 IF T5>12AND T1$="N"THEN T6=T5-12
   : ELSE T6=T5
1373 Z$=T$
1375 CONVERT T6TO X$,(##)
1377 STR(Z$,1,2)=X$
1380 FOR X=ZTO 6
1390 CONVERT STR(Z$,X,1)TO A
1400 IF A=0THEN A=10
1420 PRINT AT(5,((X-1)*13)+4);STR(A$(A))
1440 PRINT AT(6,((X-1)*13)+4);STR(B$(A))
1460 PRINT AT(7,((X-1)*13)+4);STR(C$(A))
1480 PRINT AT(8,((X-1)*13)+4);STR(D$(A))
1500 PRINT AT(9,((X-1)*13)+4);STR(E$(A))
1520 PRINT AT(10,((X-1)*13)+4);STR(F$(A))
1540 PRINT AT(11,((X-1)*13)+4);STR(G$(A))
1550 NEXT X
1560 GOTO 1240
1600 DEFFN'127
   : LOAD RUN
1610 DEFFN'15
   : LOAD RUN