!7F ***THIS VOLUME DOES NOT CONTAIN A HARDWARE BOOTABLE SYSTEM *** ߋtv33333333t:#z xQz kzNNz*O:zt:#zt:#z kz U%U U` tU7 Dt: mVw %  Fχ0, 8 e    S ee@ 7w lχ  4 f b ZRet BASICFILES30JAN84231002BASICFILES [128,128] DECFILE11A ;.t:#z15JAN:113172130JAN84231002-V8. xQz16JAN:102164530JAN8423100212. kz30JAN84231002P-.NNz30JAN842310020;0.*O:z30JAN842310023J_.f.8Tz30JAN8423113330JAN84231132i\.Uu~!]n15JAN:114481515JAN:10325385ai. {E}d30JAN8423132605OCT831340146P. Hhed15JAN:114360605OCT83181636:>. xY`d 30JAN8423133414OCT83213908<. $Rvd30JAN8423133718DEC83133158B{. I ̀Ԁ14JAN:100135428FEB:00542254 G]{.  t! l^14JAN:100181128FEB:0023019cg.L  t! 30JAN8423145319DEC83141826 S!.67u~@$16JAN:102464715JAN:11537365}6B.t! 14JAN:100181128FEB:0023226.*Hy ^15JAN:116045815JAN:1145655.O bt! 14JAN:100181111JAN:1220127 5. t! 14JAN:100181211JAN:1220508&.~,,t! ^14JAN:100181211JAN:1220458&F#.~00:u~C^^14JAN:114482514JAN:1002136Jkh.t{:(#^14JAN:114491505JUN86194300|.C{:(#kQ14JAN:114495408JUL841223 }.W 4{:(#n14JAN:114495412DEC852120  BB.E f 8 30JAN8423245928NOV83124534d.L t! 30JAN8423594719DEC83142700 e̢. !u~C^14JAN:116432114JAN:1152950.(O u~X^ 14JAN:118470402JAN:0161017 k.O u~C^ 31JAN8400000709DEC83094627 p_d.(m  u~X^ 14JAN:118470502JAN:0162740 .(m u~X^ 14JAN:118470602JAN:0162045 . L  t! 31JAN8400001917DEC83232906 ڣ.!(f_K N14JAN:118472914JAN:1184309+?."(u_Kn14JAN:118501114JAN:1153718- .#zb<$^14JAN:119524714JAN:11944210.$h<$14JAN:119524714JAN:118522187.%"#<$14JAN:119524714JAN:1194430!9.&R<$l^14JAN:119524714JAN:1185221[2.'O<$14JAN:119524714JAN:1194414\V=.(*dL"14JAN:119574114JAN:1194958_K.)tu~C^25SEP8421080125SEP84203819.*&u~C^25SEP8421080525SEP84163241$~.+#u~C^l^25SEP8421080825SEP84194627%.,Wru~@$n15JAN:114481515JAN:1034724b.-$%u~X^15JAN:116001415JAN:1155633#ft:#z xQz kzNNz*O:zf.8Tz0OQz%!}zpz ~mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm? ====================================================? ====================================================? ====================================================4 xxxx xxxx4 xxxx xxxx4 xxxx xxxx4 xxxx xxxx4 xxxx xxxx4 xxxx 2************************************************** 1) DL0:[1,3]TIME2.B2S;4K 9 10 !GOSUB 4000!\esc$=chr$(27)\clr$=esc$+'[H'+esc$+'[J'\ PRINT clr$;S 10 15 r$=esc$+'[7m' \ n$=esc$+'[m' \ b$=esc$+'[1m' \ REM Reverse, normal, bold*************** 2) DL0:[1,3]TIME2.B2S;5> 9 10 !GOSUB 4000!\esc$=chr$(27)\clr$=esc$+'[H'+esc$+'[J'U 10 11 call WTQIO by ref (768%,5%,1%) \ PRINT clr$; \ rem attach term, clr screenS 11 15 r$=esc$+'[7m' \ n$=esc$+'[m' \ b$=esc$+'[1m' \ REM Revers 10  1.05  52.06  1.04  0  10  1.09  52  1.09  0  10  1.09  52  1.09  0  10  1.09  52  1.09  0  10  1.09  52  1.09  0  10  1.09  52  1.09  0  10  1.09  49  1.05  2.07  1.05  0  10  1.09  49  1.14  0  10  1.09  49  1.04  2.07  1.04  0  10  1.09  52  1.09  0  10  1.09  52  1.09  0  10  1.09  52  1.09  0  10  1.09  52  1.09  0  10  1.09  22  1.05  6.07  1.04  22  1.09  0 0 10  1.09  21  1.05  8 0 1.04  21  1.09  0  10  1.09  20  1.05  10  1.04  20  1.09  0  10  1.09  20  1.14  10  1.14  20  1.09  0  10  1.09  20  1.14  10  1.14  20  1.09  0  10  1.09  20  1.04  10  1.05  3 0 1.11  16  1.09  0 0 10  1.09  21  1.04  8 0 1.05  21  1.09  0  10  1.09  22  1.04  6.07  1.05  22  1.09  0  10  1.09  52  1.09  0  10  1.09  52  1.09  0  10  1.09  23  1.05  4.07  1.04  23  1.09  0  10  1.09  23  1.14  4  1.14  23  1.09  0  10  1.09  23  1.14  4  1.14  23  1.09  0  10  1.09  23  1.14  4  1.14  23  1.09  0  10  1.09  23  1.14  4  1.14  23  1.09  0  10  1.09  23  1.14  4  1.14  23  1.09  0  10  1.09  23  1.14  4  1.14  23  1.09  0 0 10  1.09  23  1.04  4.07  1.05  23  1.09  0  10  1.09  19  1.05  1.07  1.04  8  1.05  1.07  1.04  19  1.09  0 2 10  1.04  20.06  1  10.06  1  20.06 0 1.05  0 1-1 4 25 A BEAUTIFUL ELEPHANT DISK1 1.09  23  1.14  4  1.14  23  1.09  0  10  1.09  23  1.14  4  1.14  23  1.09  0  10  1.09  23  1.14  4  1.14  23  1.09  0  10  1.09  23  1.14  4  1.14  23  1.09  0 0 10  1.09  23  1.04  4.07  11152.061021152.0601152.06.0224.01224.0101224.01224.0101224.01224.0101224.01224.0101224.01224.010.224.01224.010h224.01224.010r224.01224.010I224.01224.0101224.01224.0101224.01224.0101224.01224.010.224.01224.010.224.01224.010.224.01224.010.224.01224.010224.01224.010224.01224.010224.01224.0102224.01224.0102224.01224.0102224.01224.010224.01224.010224.01224.010224.01224.010224.01224.010-11.HThree cheers for PI: hurrPI, hurrPI, hurrPI. How SIGNIFICANT - ha ha ha.224.01224.0101224.01224.0101224.01224.0101224.01224.010.224.01224.010.224.01224.010.224.01224.010.224.01224.010224.01224.010224.01224.010224.01224.0102224.224.010N211.014 2.010E201.012E3.0221.01165.010191.0125.0221.01123.0152.010164.0117.0213.0164.01102.010142.0131.0116.0229.01162.0113.010122.0161.0114.022271.012.0211.010111.0182.0142.0151.01221.013.021.010101.0192.054.0171.01224.01091.0192.0521.01292.01081.0192.0541.011018.01.1.05018.1.015.3.012.05411.01101.0101861.0141.01311.01521.01911.010181.0141.01411.01421.01811.0101901.0131.01411.01411.01821.01202.010191.0141.01311.01411.01821.01173.01222.0101101.01413.01611.01811.01151.01211.011.1.01201.010101.01131.0191.01142.011.1.012.4.010.111.01131.019.8.011.0452.01302.0121.010122.01122.01141.01511.01411.0121.010142.01124.01316.011.0551.0154.010163.01132.013.0291.010.1913.011111.02311.02721.01501.0101321.013.071.0211.0151.0151.010311.021.071.021.1.023.3.011.1.015.1.010.311.021.071.1.027.3.01301.0103301.021.07141.021.01103.0101301.021.071.021.01143.010291.021.0711.021.01421.01122.0104291.021.07111.022.011141.01131.0101281.022.1.021.011.02111.0141.01131.0102281.022.1.021.01111.02111.01421.01131.0101271.022.1.0211.012.022.1.013.4.01101.010.271.0221.0211.012.0222.0151.01101.010261.0222.0211.012.021.1.0152.01101.10261.0222.02271.011.02243.0131.01921.010251.0222.0242.0134.017.3.010241.02211.0211.0264.0161.0151.010231.02311.0211.02101.01521.01521.01029.7.067.02311.02121.02111.01511.01628.011.040161.029.1.021.1.02601.055.0168.011.0461.030115.0610.022.1.025.1.01211.0321.0421.030.134.061.029.1.025.1.01151.0421.04371.035.10-117Curse You, RED BARON!!!!!.0222.0242.0134.017.3.010241.02211.0211.0264.0161.0151.010231.02311.0211.02101.01521.01521.01029.7.067.02311.02121.02111.01511.01628.011.040161.029.1.021.1.02601.055.0168.011.0461.030115.0610.022.1.025.1.01211.0321.0421.030.134.061.029.1.025.1.01151.0421.04371.035.10-117Curse You,111.053.011.042s1.053.011.04261.053.011.042 1.053.011.040101.055.011.041.055.011.04241.055.011.041.055.011.040.91.1358.0131.03221.153.8.013.1.030146.01326.0101154.01344.010.154.01344.010154.01344.010155.01334.010156.01324.010.157.01314.010.154.0114.01294.010154.013.4.01274.010.154.01454.01264.010.613.0256.4.012413.0250.418.0265.4.011918.02 0.34.02843.017.0234.01157.023.018.4.020.32.02104.012.7.0214.01117.022.4.01102.020.154.0146.0224.018.6.024.4.0105154.017.5.02154.01545.0274.0101154.0194.02214.01214.0294.010154.01104.0233.014.02104.010.154.01114.023.1.014.02114.010.154.01124.02264.022.01104.010.154.01138.024.01984.010154.01146.0224.01844.010.154.01154.0254.0164.010154.01154.0274.0144.010154.01154.02824.0134.010154.01154.02104.01114.010154.01154.02127.0102154.01154.02136.0102154.01154.02145.010154.01154.02154.010.154.01154.02154.010.154.01154.02154.010146.01144.02146.0101901.113.8.01311.03924.02981.1138.01311.0302101.045.011.051.045.011.05104.02101.045.011.051.045.011.050111.043.011.052.1.043.011.05114.02111.043.011.052.1.043.011.0501344.0201344.0202344.0205344.020.344.020336.020281.138.0231.030291.045.021.051.045.021.050301.043.021.05251.043.021.050-118$The Magic Is Back - Catch It At SHEA8.01311.03924.02981.1138.01311.0302101.045.011.051.045.011.05104.02101.045.011.051.045.011.050111.043.011.052.1.043.011.05114.02111.043.011.052.1.043.011.0501344.0201344.0202344.0205344.020.344.020336.020281.138.0231.030291.045.021.051.045.021.050301.043.021.05251.043.021.050-118$The Magic Is Back - Ca xxxx4 xxxx xxxx4 xxxx xxxx4 xxxx xxxx4 xxxx xxxx4 xxxx xxxx4 xxxx xxxx4 xxxx xxxx4 xxxx xxxx4 xxxx xxxx4 xxxx xxxx4 xxxx xxxx4 xxxx xxxx4 xxxx xxxx4 xxxx xxxx4 xxxx xxxx4 xxxx xxxx4 xxxx xxxx4 xxxx xxxx4 xxxx xxxx4 xxxx xxxxI Three cheers for PI: hurrPI, hurrPI, hurrPI. How SIGNIFICANT - ha ha ha.xB 22222222222222 00000000000000 00000000000000 00000000000000B 22222222222222 00000000000000 00000000000000 00000000000000B 222 000 000 000 000 000 000B 222 000 000 000 000 000 000B 222 000 000 000 000 000 000B 222 000 000 000 000 000 000B 22222222222222 000 000 000 000 000 000B 22222222222222 000 000 000 000 000 000B 222 000 000 000 000 000 000B 222 000 000 000 000 000 000B 222 000 000 000 000 000 000B 22222222222222 00000000000000 00000000000000 00000000000000B 22222222222222 00000000000000 00000000000000 000000000000004 ---------------------------------------$ January4 ---------------------------------------4 Sun Mon Tue Wed Thu Fri Sat4 =======================================7 1 7 2 3 4 5 6 7 8 27 9 10 11 12 13 14 15 27 16 17 18 19 20 21 22 07 23 24 25 26 27 28 29 - 30 31 4 ---------------------------------------% FebruaryM4 ---------------------------------------4 Sun Mon Tue Wed Thu Fri Sat4 =======================================7 1 2 3 4 5 7 6 7 8 9 10 11 12 7 13 14 15 16 17 18 19 7 20 21 22 23 24 25 26  27 28 29 -4 ---------------------------------------# March-4 ---------------------------------------4 Sun Mon Tue Wed Thu Fri Sat4 =======================================7 1 2 3 4 7 5 6 7 8 9 10 11 7 12 13 14 15 16 17 18 7 19 20 21 22 23 24 25 1 26 27 28 29 30 31 -4 ---------------------------------------# April-4 ---------------------------------------4 Sun Mon Tue Wed Thu Fri Sat4 =======================================7 1 7 2 3 4 5 6 7 8 7 9 10 11 12 13 14 15 7 16 17 18 19 20 21 22 7 23 24 25 26 27 28 29 - 30 4 ---------------------------------------" May4 ---------------------------------------4 Sun Mon Tue Wed Thu Fri Sat4 =======================================7 1 2 3 4 5 6 7 7 8 9 10 11 12 13 7 14 15 16 17 18 19 20 7 21 22 23 24 25 26 27 % 28 29 30 31 -4 ---------------------------------------# June-4 ---------------------------------------4 Sun Mon Tue Wed Thu Fri Sat4 =======================================7 1 2 3 7 4 5 6 7 8 9 10 7 11 12 13 14 15 16 17 7 18 19 20 21 22 23 24 1 25 26 27 28 29 30 -4 ---------------------------------------# July-4 ---------------------------------------4 Sun Mon Tue Wed Thu Fri Sat4 =======================================7 1 7 2 3 4 5 6 7 8 7 9 10 11 12 13 14 15 7 16 17 18 19 20 21 22 7 23 24 25 26 27 28 29 - 30 31 4 ---------------------------------------$ August4 SET NO DOUBLE 110 REM RENUMBERED ON 16-NOV-82 AT 11:24:55 STEP 1G20 REM SNOOPY: SNOOPY CALENDAR. REV. BY E. SCHAEFER, COMMACK SOUTH 3/75530 REM OTHER PICTURES BY DAVID KRAUS, NORTHPORT 10/8231 REM this is line 10piD32 REM Originally on DEC PDP 11/23; transfered to DEC PC350 9-29-83.40 DIM N(10,13),C$(14),P$(4)#50 FOR Q=1 TO 4\ READ P$(Q)\ NEXT Q60 PRINT "Choose picture:"70 FOR Q=1 TO 480 PRINT Q;". ";P$(Q) 90 NEXT Q 100 INPUT Z110 IF Z<1 THEN 60120 IF Z>Q THEN 601130 OPEN "dz1:"+P$(Z)+".pct" FOR INPUT AS FILE #1N(140 DATA "SNOOPY","DISKETTE","PI","METS"150 PRINT "What year calendar";S'160 INPUT Y\ IF INT(ABS(Y))<>Y THEN 150R170 IF Y<1582 THEN 220180 IF Y<=9999 THEN 280ML190 PRINT "Unable to do years after 9999 (if you notice there are only four"0200 PRINT "numbers at the top of the calendar)." 210 GOTO 150A220 PRINT "Not prepared to do calendars before MDLXXXII {1582} -"I:230 PRINT "the current calendar was not used before 1582."@240 PRINT "However, I have included the transition year of 1582"F250 PRINT "having ten days in October omitted to make up for previous")260 PRINT "error in the Julian calendar."Y 270 GOTO 150&280 PRINT "Roll paper and hit return." 290 INPUT J$$295 OPEN "lp:" FOR OUTPUT AS FILE #3300 FOR F=1 TO 14r310 READ C$(F) 320 NEXT F@330 DATA "x","*",")","\","/","=","-","&","!","(","#","$","%",":"340 INPUT #1,K350 IF K=0 THEN 480I360 IF K=-1 THEN 500 370 N=INT(K)380 IF K=N THEN 440d390 H=INT((100*K-100*N)+.5)w400 FOR L=1 TO N410 PRINT #3,C$(H);a 420 NEXT L 430 GOTO 340440 FOR L=1 TO N450 PRINT " "; 460 NEXT L 470 GOTO 340 480 PRINT 490 GOTO 340 500 PRINT 510 PRINT 520 INPUT #1,T530 LINPUT #1,A$ 540 CLOSE #1550 PRINT TAB(T);A$"!560 FOR U=1 TO 10\ PRINT \ NEXT U 570 Y2=Y+.11580 FOR Z3=1 TO 4E590 Y1(Z3)=INT(Y2/(10^(4-Z3)))600 Y2=Y2-Y1(Z3)*(10^(4-Z3)) 610 NEXT Z3 620 FOR L1=1 TO 10630 FOR L2=1 TO 13640 READ N(L1,L2) 650 NEXT L2 660 NEXT L14670 FOR L=1 TO 13K680 FOR T=1 TO 4685 N$=MID$(NUM$(Y),T+1,1)690 PRINT TAB(((T-1)*17)+1); 700 GOSUB 750 710 NEXT T 720 PRINT 730 NEXT L 740 GOTO 1060 :750 ON N((Y1(T)+1),L) GOTO 760,780,800,820,840,860,880,900$760 FOR Q=1 TO 14\ PRINT N$;\ NEXT Q 770 RETURN A'780 PRINT N$;N$;N$;" ";N$;N$;N$;7 790 RETURN 8800 PRINT N$;N$;N$; 810 RETURN /!820 PRINT " ";N$;N$;N$;( 830 RETURN E840 PRINT " ";N$;N$;N$;N$;O 850 RETURN !860 PRINT " ";N$;N$;N$;N$;N$;6 870 RETURN 7#880 PRINT " ";N$;N$;N$;N$;N$;N$;8 890 RETURN $900 IF L=13 THEN 940910 FOR I=1 TO (10-(L-3))U920 PRINT " "; 930 NEXT I940 PRINT N$;N$;N$;N$; 950 RETURN N"960 DATA 1,1,2,2,2,2,2,2,2,2,2,1,1"970 DATA 5,6,7,5,5,5,5,5,5,5,5,1,1"980 DATA 1,1,4,4,4,4,1,1,3,3,3,1,1"990 DATA 1,1,4,4,4,1,1,4,4,4,4,1,1#1000 DATA 2,2,2,2,2,1,1,4,4,4,4,4,4 #1010 DATA 1,1,3,3,3,1,1,4,4,4,4,1,1 #1020 DATA 1,1,3,3,3,1,1,2,2,2,2,1,1 #1030 DATA 1,1,8,8,8,8,8,8,8,8,8,8,8#1040 DATA 1,1,2,2,2,1,1,2,2,2,2,1,17#1050 DATA 1,1,2,2,2,1,1,4,4,4,4,4,4;!1060 DEF FNA(A)=INT(A-INT(A/4)*4)1#1070 DEF FNB(B)=INT(A-INT(A/7)*7)+1U1080 I1=INT((Y-1500)/100)I1090 A=I1*5+(I1+3)/41100 I2=FNB(A)1110 Y3=INT(Y-INT(Y/100)*100)21120 A=Y3/4+Y3+I27 1130 B=FNB(A)51140 IF Y3=0 THEN 12101150 T1=FNA(Y)1160 IF T1<>0 THEN 124041170 IF B<>0 THEN 11901180 B=6 1190 B=B-11200 GOTO 1240 1210 A=T1-1,1220 T1=FNA(A)1230 IF T1=0 THEN 11701240 IF B<>0 THEN 12601250 B=71260 IF Y=1582 THEN B=2,1270 PRINT \ PRINT \ PRINT 01280 FOR P4=1 TO 12, 1290 READ X$C1300 DATA "January",31,"February",28,"March",31,"April",30,"May",31UE1310 DATA "June",30,"July",31,"August",31,"September",30,"October",310 1320 READ Z(%1330 DATA "November",30,"December",31B!1340 FOR U=1 TO 4\ PRINT \ NEXT U1 1350 IF X$<>"February" THEN 14001360 IF Y/4<>INT(Y/4) THEN 14000#1370 IF Y/100<>INT(Y/100) THEN 13900#1380 IF Y/400<>INT(Y/400) THEN 14000 1390 Z=Z+1<1400 PRINT TAB(13);"---------------------------------------"!1410 PRINT TAB(33-(LEN(X$)/2));X$R<1420 PRINT TAB(13);"---------------------------------------"1430 PRINT \ PRINT ,<1440 PRINT TAB(13);"Sun Mon Tue Wed Thu Fri Sat"<1450 PRINT TAB(13);"=======================================" 1460 Q=2-B 1470 PRINT U:1480 PRINT TAB(13);\ FOR P2=Q TO Q+6\ IF Y<>1582 THEN 1500E1490 IF X$="October" THEN IF P2=5 THEN P2=16\Q=Q+10\ PRINT " 15 ";1500 IF P2<1 THEN 15301510 IF P2<10 GOTO 15501520 GOTO 157061530 PRINT " ";\ REM I thought it was 7 blanks...1540 GOTO 158021550 PRINT P2;" ";\ REM I think it's 3 blanks...1560 GOTO 15801570 PRINT P2;" ";T 1580 NEXT P2 1590 Q=Q+7 1600 PRINT 1610 IF Q+6<=Z THEN 14801620 B=11630 IF Q-1=Z THEN 1690=1640 PRINT TAB(13);=1650 FOR P2=Q TO Z1660 PRINT P2;" ";T 1670 B=B+1 1680 NEXT P21690 PRINT \ PRINT \ PRINT 1700 NEXT P41710 FOR P5=1 TO 706 1720 PRINT T 1730 NEXT P51735 PRINT 'c';C1740 END \ REM <-- This is the most SIGNIFICANT Line In The Program M I thought it was 7 blanks...1540 GOTO 158021550 PRINT P2;" ";\ REM I think it's 3 blanks. ---------------------------------------4 Sun Mon Tue Wed Thu Fri Sat4 =======================================7 1 2 3 4 5 7 6 7 8 9 10 11 12 7 13 14 15 16 17 18 19 7 20 21 22 23 24 25 26 + 27 28 29 30 31 -4 ---------------------------------------% September-4 ---------------------------------------4 Sun Mon Tue Wed Thu Fri Sat4 =======================================7 1 2 7 3 4 5 6 7 8 9 7 10 11 12 13 14 15 16 7 17 18 19 20 21 22 23 7 24 25 26 27 28 29 30 -4 ---------------------------------------$ October4 ---------------------------------------4 Sun Mon Tue Wed Thu Fri Sat4 =======================================7 1 2 3 4 5 6 7 7 8 9 10 11 12 13 14 7 15 16 17 18 19 20 21 7 22 23 24 25 26 27 28  29 30 31 4 ---------------------------------------% November-4 ---------------------------------------4 Sun Mon Tue Wed Thu Fri Sat4 =======================================7 1 2 3 4 7 5 6 7 8 9 10 11 7 12 13 14 15 16 17 18 7 19 20 21 22 23 24 25 + 26 27 28 29 30 -4 ---------------------------------------% December-4 ---------------------------------------4 Sun Mon Tue Wed Thu Fri Sat4 =======================================7 1 2 7 3 4 5 6 7 8 9 7 10 11 12 13 14 15 16 7 17 18 19 20 21 22 23 7 24 25 26 27 28 29 30 - 31 =======================================7 1 2 7 3 4 5 6 7 8 9 7 10 11 12 13 14 15 16 7 .ROOT BASIC2-RMSROT-USER,RMSALLUSER: .FCTR SY:CALENDAR-LIBRLIBR: .FCTR LB:[1,1]BP2OTS/LB@LB:[1,1]BP2IC1@LB:[1,1]RMSRLX .ENDSET NO DOUBLE &10 PRINT 'PRO/BASIC Version 3.1'E20 PRINT '? ATTEMPTED COPYRIGHT 1883 DGITAL EQUIPTMENT GORPORATION 'SET NO DOUBLE 110 REM RENUMBERED ON 16-NOV-82 AT 11:24:55 STEP 1G20 REM SNOOPY: SNOOPY CALENDAR. REV. BY E. SCHAEFER, COMMACK SOUTH 3/75=530 REM OTHER PICTURES BY DAVID KRAUS, NORTHPORT 10/82P31 REM this is line 10piD32 REM Originally on DEC PDP 11/23; transfered to DEC PC350 9-29-83.40 DIM N(10,13),C$(14),P$(4)#50 FOR Q=1 TO 4\ READ P$(Q)\ NEXT Q<60 PRINT "Choose picture:"70 FOR Q=1 TO 4r80 PRINT Q;". ";P$(Q)w 90 NEXT Q. 100 INPUT Z 110 IF Z<1 THEN 60120 IF Z>Q THEN 601130 OPEN "dz1:"+P$(Z)+".pct" FOR INPUT AS FILE #1N(140 DATA "SNOOPY","DISKETTE","PI","METS"150 PRINT "What year calendar";S'160 INPUT Y\ IF INT(ABS(Y))<>Y THEN 150R170 IF Y<1582 THEN 220180 IF Y<=9999 THEN 280ML190 PRINT "Unable to do years after 9999 (if you notice there are only four"0200 PRINT "numbers at the top of the calendar)." 210 GOTO 150A220 PRINT "Not prepared to do calendars before MDLXXXII {1582} -"I:230 PRINT "the current calendar was not used before 1582."@240 PRINT "However, I have included the transition year of 1582"F250 PRINT "having ten days in October omitted to make up for previous")260 PRINT "error in the Julian calendar."Y 270 GOTO 150&280 PRINT "Roll paper and hit return." 290 INPUT J$$295 OPEN "lp:" FOR OUTPUT AS FILE #3300 FOR F=1 TO 14r310 READ C$(F) 320 NEXT F@330 DATA "x","*",")","\","/","=","-","&","!","(","#","$","%",":"340 INPUT #1,K350 IF K=0 THEN 480I360 IF K=-1 THEN 500 370 N=INT(K)380 IF K=N THEN 440d390 H=INT((100*K-100*N)+.5)w400 FOR L=1 TO N410 PRINT #3,C$(H);a 420 NEXT L 430 GOTO 340440 FOR L=1 TO N450 print#3, " ";k 460 NEXT L 470 GOTO 340 480 print#3, h 490 GOTO 340 500 print#3, O 510 print#3, 520 INPUT #1,T530 LINPUT #1,A$ 540 CLOSE #1550 print#3, TAB(T);A$$560 FOR U=1 TO 10\ print#3, \ NEXT U 570 Y2=Y+.1E580 FOR Z3=1 TO 4"590 Y1(Z3)=INT(Y2/(10^(4-Z3)))600 Y2=Y2-Y1(Z3)*(10^(4-Z3)) 610 NEXT Z3K620 FOR L1=1 TO 10630 FOR L2=1 TO 13640 READ N(L1,L2)N 650 NEXT L29 660 NEXT L1K670 FOR L=1 TO 13O680 FOR T=1 TO 4685 N$=MID$(NUM$(Y),T+1,1)690 print#3, TAB(((T-1)*17)+1);5 700 GOSUB 750k 710 NEXT T 720 print#3, 730 NEXT L 740 GOTO 10600:750 ON N((Y1(T)+1),L) GOTO 760,780,800,820,840,860,880,900'760 FOR Q=1 TO 14\ print#3, N$;\ NEXT Q; 770 RETURN =*780 print#3, N$;N$;N$;" ";N$;N$;N$; 790 RETURN 800 print#3, N$;N$;N$; 810 RETURN 0$820 print#3, " ";N$;N$;N$; 830 RETURN 1"840 print#3, " ";N$;N$;N$;N$; 850 RETURN $860 print#3, " ";N$;N$;N$;N$;N$; 870 RETURN &880 print#3, " ";N$;N$;N$;N$;N$;N$; 890 RETURN ,900 IF L=13 THEN 940910 FOR I=1 TO (10-(L-3))920 print#3, " "; 930 NEXT I940 print#3, N$;N$;N$;N$;+ 950 RETURN 0"960 DATA 1,1,2,2,2,2,2,2,2,2,2,1,1"970 DATA 5,6,7,5,5,5,5,5,5,5,5,1,1"980 DATA 1,1,4,4,4,4,1,1,3,3,3,1,1"990 DATA 1,1,4,4,4,1,1,4,4,4,4,1,1#1000 DATA 2,2,2,2,2,1,1,4,4,4,4,4,4#1010 DATA 1,1,3,3,3,1,1,4,4,4,4,1,1#1020 DATA 1,1,3,3,3,1,1,2,2,2,2,1,1$#1030 DATA 1,1,8,8,8,8,8,8,8,8,8,8,8,#1040 DATA 1,1,2,2,2,1,1,2,2,2,2,1,1 #1050 DATA 1,1,2,2,2,1,1,4,4,4,4,4,4N!1060 DEF FNA(A)=INT(A-INT(A/4)*4)9#1070 DEF FNB(B)=INT(A-INT(A/7)*7)+1r1080 I1=INT((Y-1500)/100)41090 A=I1*5+(I1+3)/41100 I2=FNB(A)1110 Y3=INT(Y-INT(Y/100)*100)21120 A=Y3/4+Y3+I27 1130 B=FNB(A)51140 IF Y3=0 THEN 12101150 T1=FNA(Y)1160 IF T1<>0 THEN 124041170 IF B<>0 THEN 11901180 B=6 1190 B=B-11200 GOTO 1240 1210 A=T1-1,1220 T1=FNA(A)1230 IF T1=0 THEN 11701240 IF B<>0 THEN 12601250 B=71260 IF Y=1582 THEN B=2,$1270 print#3, \ print#3, \ print#3, 1280 FOR P4=1 TO 12, 1290 READ X$C1300 DATA "January",31,"February",28,"March",31,"April",30,"May",31IE1310 DATA "June",30,"July",31,"August",31,"September",30,"October",31( 1320 READ Z1%1330 DATA "November",30,"December",315$1340 FOR U=1 TO 4\ print#3, \ NEXT U 1350 IF X$<>"February" THEN 14001360 IF Y/4<>INT(Y/4) THEN 14000#1370 IF Y/100<>INT(Y/100) THEN 1390#1380 IF Y/400<>INT(Y/400) THEN 14000 1390 Z=Z+1?1400 print#3, TAB(13);"---------------------------------------" $1410 print#3, TAB(33-(LEN(X$)/2));X$?1420 print#3, TAB(13);"---------------------------------------"31430 print#3, \ print#3, 0?1440 print#3, TAB(13);"Sun Mon Tue Wed Thu Fri Sat"(?1450 print#3, TAB(13);"======================================="U 1460 Q=2-B1470 print#3, =1480 print#3, TAB(13);\ FOR P2=Q TO Q+6\ IF Y<>1582 THEN 15000H1490 IF X$="October" THEN IF P2=5 THEN P2=16\Q=Q+10\ print#3, " 15 ";1500 IF P2<1 THEN 15301510 IF P2<10 GOTO 1550-1520 GOTO 157091530 print#3, " ";\ REM I thought it was 7 blanks...01540 GOTO 158051550 print#3, P2;" ";\ REM I think it's 3 blanks...t1560 GOTO 15801570 print#3, P2;" "; 1580 NEXT P2 1590 Q=Q+71600 print#3, 1610 IF Q+6<=Z THEN 14801620 B=11630 IF Q-1=Z THEN 1690=1640 print#3, TAB(13);1650 FOR P2=Q TO Z1660 print#3, P2;" "; 1670 B=B+1 1680 NEXT P2$1690 print#3, \ print#3, \ print#3, 1700 NEXT P41710 FOR P5=1 TO 70 1720 print#3, 1730 NEXT P51735 print#3, 'c';-C1740 END \ REM <-- This is the most SIGNIFICANT Line In The Programnks...01540 GOTO 158051550 print#3, P2;" ";\ REM I think it's 3 blanks...t1560 GOTO 15801570 print#3, P2;" "; 1580 NEXT P2 1590 Q=Q+71600 print#3, 1610 IF Q+6<=Z THEN 14801620 B=11630 IF Q-1=Z THEN 1690=1640 print#3, TAB(13);1650 FOR P2=Q TO Z1660 print#3, P2;" "; 1670 B=B+1 1680 NEXT P2$1690 print#3, \ print#3, \ print#3, 1700 NEXT P41710 FOR P5=1 TO 70 1720 print#3, 1730 NEXT P51735 print#3, 'c';-C1740 END \ REM <-- This is the most SIGNIFSET NO DOUBLE J3 REM ***By Nick Zymaris Oct. 1983. Some lines after 3140 copied/modifiedA4 REM by me (in EDT as well as Pro/Basic) for use in the menu.5 ON ERROR GOTO 2990087 REM combined with CLOCK.BAS (line 10000) 9-Dec-83 A.M. 10 CLEAR I20 PRINT "To set time, go to Main Menu then press ";CHR$(27);"[7mSet-up";730 PRINT CHR$(27);"[m. This will rarely be necessary."<40 PRINT \ PRINT "Do you want to set alarm? [Y/N]"\ INPUT A$G50 IF A$='y' THEN PRINT 'Enter 24-hr. alarm time, format hh:mm' ELSE 60UJ53 PRINT '(If you use improper format, the alarm will not go off).''55 INPUT ALARM$\ PRINT 'Thank you!'r58 FOR T=1 TO 1000\ NEXT T 60 CLEAR RL62 PRINT 'The correct time is: ';TIME$(0);''\ PRINT \ PRINT ''%63 PRINT 'The date is ';DATE$(0%);'.'i$65 PRINT 'Alarm time is ';ALARM$;'.'C68 PRINT 'To turn off alarm when it rings (beeps), press I.'IJ69 PRINT 'To set up or exit, press , which on the PC350 is Ctrl';70 PRINT ' 3.'A71 IF VAL(MID$(TIME$(0),5,1))<>VAL(MID$(ALARM$,5,1)) THEN ALOFF=0a072 IF TIME$(0)=ALARM$ AND ALOFF=0 THEN GOSUB 100073 PRINT \ PRINT SLEEP$\ PRINT MESSAGE$;CHR$(15)I75 CALL INKEY (S$)\ IF S$=CHR$(27) THEN GOSUB 200\ REM setup/exit routineP79 FOR T=1 TO 314\ NEXT TT80 PRINT '';\ GOTO 62$100 FOR C=1 TO 31\ REM alarm routineF102 PRINT 'A L A R M I S S O U N D I N G'\ PRINT CHR$(141);103 PRINT '';uF105 CALL INKEY (S$)\ IF S$='i' OR S$='I' THEN ALOFF=1\ CLEAR \ RETURN 107 FOR T1=1 TO 314\ NEXT T1G110 PRINT 'A L A R M I S S O U N D I N G'\ PRINT CHR$(141);\ NEXT CN2120 SLEEP$='Someone overslept...'\ CLEAR \ RETURN O200 CLEAR \ PRINT '';TAB(35);'Set-up Menu ';t210 PRINT ''220 GOSUB 3140230 FOR T=1 TO 1000\ NEXT TG<270 CLEAR \ PRINT ' Returning to Main Menu Absurdity... ';9275 PRINT CHR$(15);\ REM 'Chinese' character set disabled ,280 FOR T=1 TO 3142\ NEXT T\ CLEAR \ RETURN 300 REM set alarmLF310 PRINT 'Enter new alarm time. Format is "hh:mm" (2 digits each).';#315 FOR T=1 TO 3142\ NEXT T\ PRINT R320 INPUT ALARM$K330 IF LEN(ALARM$)<>5 THEN PRINT 'Invalid alarm time'; ELSE RETURN T-340 FOR T=1 TO 1000\ NEXT T\ PRINT \ GOTO 310 (400 REM clear oversleep message (sleep$)/410 SLEEP$=''\ PRINT 'Message deleted.'; 420 FOR T=1 TO 1000\ NEXT Ti 430 RETURN 7500 REM insert messageI510 PRINT 'Type in the message when prompted by the MSG> prompt.';R#515 FOR T=1 TO 3142\ NEXT T\ PRINT tK520 PRINT 'MSG> ';\ LINPUT #0,MESSAGE$\ PRINT 'Message recorded.';\ RETURN \600 REM delete message1610 MESSAGE$=''\ PRINT 'Message deleted.';n615 FOR T=1 TO 1000\ NEXT TE 628 RETURN O"1000 REM beep if wrong key pressed1010 PRINT '';\ GOTO 32903140 REM Set-up menu proper$3142 REM note this line number3190 PRINT ''O23200 PRINT 'Type the first letter of your choice.'(3201 PRINT ' Exit to Pro/Basic' 3210 PRINT ' Set alarm';3220 PRINT ' Clear "Someone overslept..." message'I)3230 PRINT ' Insert new message';33240 PRINT ' Delete user-inserted message'P(3245 PRINT '1m Analogm clock display'&3250 PRINT ' Return to clock'-3260 REM reset window\3270 PRINT ''+3280 REM input loop103290 CALL INKEY (STR$)\ IF LEN(STR$)=0 THEN 3290J3310 Q=POS('eEsScCiIdDaArR',STR$,1)\Q=INT((Q+1)/2)\ IF Q=0 THEN GOSUB 1000.3320 ON Q GOTO 30000,300,400,500,600,10000,628?10000 PRINT '[?25lTo exit: ^C ^3 (Interrupt-Do-Escape)'n10001 ON ERROR GOTO 10200[%10002 FOR M=1 TO 2718\ NEXT M\ CLEAR 10004 M=1\M1=M10006 REM DRAW CLOCK10008 PLOT (0,.5)[10010 PLOT ARC (.5,.5,360)310012 REM DRAW HOUR MARKS r$10014 FOR I=0 TO 2*PI STEP (2*PI)/12'10016 X1=.4*SIN(I)+.5\X2=.45*SIN(I)+.5 '10018 Y1=.4*COS(I)+.5\Y2=.45*COS(I)+.5S10020 PLOT (X1,Y1),(X2,Y2)1 10022 NEXT I(10024 REM DRAW MINUTE MARKS $10026 FOR I=0 TO 2*PI STEP (2*PI)/60(10028 X1=.44*SIN(I)+.5\X2=.45*SIN(I)+.5(10030 Y1=.44*COS(I)+.5\Y2=.45*COS(I)+.510032 PLOT (X1,Y1),(X2,Y2)R 10034 NEXT I10036 REM READ TIME=10037 PRINT '';DATE$(0);CHR$(13);' ';'Alarm time: ';ALARM$E10038 NOW$=TIME$(0%)?10039 IF TIME$(0)=ALARM$ AND ALOFF=0 THEN GOSUB 100\ GOTO 100061110040 REM FIND HOURS (H) AND MINUTES (M)C10042 H$=MID$(NOW$,1%,2%)10044 H=VAL(H$)110046 IF H>12 THEN H=H-12010048 M$=MID$(NOW$,4%,2%)E10050 M=VAL(M$) 10052 IF M<>M1 THEN 10096/210054 REM FIND HOUR HAND ANGLE FROM 12:0010056 HD=H*30+(M*6)/12+10058 REM CONVERT ANGLE TO RADIANS310060 HD=HD*PI/180+10062 REM FIND X AND Y COORDINATES)10064 HX=.3*SIN(HD)+.510066 HY=.3*COS(HD)+.5 10068 REM DRAW HOUR HAND10070 PLOT (.5,.5),(HX,HY)310072 REM FIND MINUTE HAND ANGLE FROM 12:00 10074 MD=M*6$10076 REM CONVERT TO RADIANS10078 MD=MD*PI/180*10080 REM FIND X AND Y COORDINATES10082 MX=.49*SIN(MD)+.5F10084 MY=.49*COS(MD)+.5 "10086 REM DRAW MINUTE HAND10088 PLOT (.5,.5),(MX,MY) 10090 M1=M10092 GOTO 10036%10094 REM REM ERASE OLD HANDS010096 SET WRITING MODE 810098 PLOT (.5,.5),(HX,HY)10100 PLOT (.5,.5),(MX,MY)10102 SET WRITING MODE 4"10104 IF M1/5=INT(M1/5) THEN 10116$10106 REM REDRAW MINUTE MARK)10108 X1=.44*SIN(MD)+.5\X2=.45*SIN(MD)+.5)10110 Y1=.44*COS(MD)+.5\Y2=.45*COS(MD)+.5 10112 PLOT (X1,Y1),(X2,Y2)10114 GOTO 10054"10116 REM REDRAW HOUR MARK(10118 X1=.4*SIN(MD)+.5\X2=.45*SIN(MD)+.5(10120 Y1=.4*COS(MD)+.5\Y2=.45*COS(MD)+.510122 PLOT (X1,Y1),(X2,Y2)10124 GOTO 10054+10200 PRINT '';ERT$(ERR);' at line ';ERLT210205 PRINT 'Press to return to main clock.'10206 CALL INKEY (CONT$)310207 IF CONT$=CHR$(27) THEN PRINT 'c'\ GOTO 102200:10210 IF LEN(CONT$)=0 THEN 10200 ELSE CLEAR \ RESUME 1000010220 RESUME 1023010230 ON ERROR GOTO 29900. 10240 RETURN 29900 REM error-handling routine>29910 PRINT '';ERT$(ERR);' Type any key to continue';&29915 IF ERR=72 THEN CLEAR \ RESUME 62.29917 CALL INKEY (Q$)\ IF LEN(Q$)=0 THEN 2991729920 CLEAR \ RESUME 3190029950 REM reset screen and end#30000 PRINT '';\ END treturn to main clock.'10206 CALL INKEY (CONT$)310207 IF CONT$=CHR$(27) THEN PRINT 'c'\ GOTO 102200:10210 IF LEN(CONT$)=0 THEN 10200 ELSE CLEAR \ RESUME 1000010220 RESUME 1023010230 ON ERROR GOTO 29900. 10240 RETURN 29900 REM error-handling routine>29910 PRINT '';ERT$(ERR);' Type any key to continue';&29915 IF ERR=72 THEN Cu~,?f?f ep?7SYSYSYSYTISYSYSYSYSYSYSYTITINp?aeDLDLDLDLTIDLDLDLDLDLDLDLTITI(m6dN? p 7 9)7 -   -z-j@e@Ae&f . 1fABAD5 a C%!e e B V  B\E CP   D a@ C`B `%ֆ C ӆBEІ0  %C ‹  C B ‹ B 0    e\e\e\e\e\e\g\g\g\U\N E\N MEP\N U\v \ d$&  Z$ Cc\ L$& WtBE55 Cc%ptCc \%  ’\  \w v#\ B  aw X  T  aD\ \:w H\ \\ *l )ffeb b$ S~e& %e`Jlc###M*Bl㋣   M&&  e\ B  B    B @   \ %f&&&      ҄& ~\ v$e \&&    "   J  & ~\e\  "ҐB~\ f$f ^$&  #\ N A f C%v   \ 3 EU %  3  5EvB   v\\& & \&&\  \ \\ \\\\&\& \\\&\&\\\& \ \ \\\\\\\@A@A @A C P \\%\%\%\%\%\'\'\'\ " f"C  !$ " R"   !  !  ҥ  !C \&& @ @ &&  6  #,A R , ,  R RRRRR  e\\ \S\ e& @  eeE%,χ\e,f& \:יc&>X4%]@m  # l d  .m r*1@B*DFlm 4*1@B f`&  & ~ B~ \*f=eBC r<mm Е: Е O*ff=eCEB ae$f r  eCeF eeeA 0 BB` $Е-PPPЕ-  *w r e0e0АAMPM JanFebMarAprMayJunJulAugSepOctNovDecXXX \ \& \ \ \& \w #H#5#$#bw ~#\Ff<&4,ffff\fwL w 5Jw 5w ~IHp$ 55& ^wTbJff&f  & N & + &   v        %  = 00 6 6 3    EsAq Dws w`w w6 e%6  6  E v v %\v &&& r= \*5 #w0*EE ^  \5^ 5 ^2 B5^5 ^p5` E^U^ #pX0 ? *\ *b 5h Ew$ $ "0$%*ewP*b*&^\*^ 8A@*0H\*5& w&0 H\ 5 >\   *l עע   ע 5*!&$fl! x\   p &30 \U^\9 U^  U^ U^& 0 0 0 *0 ,\*U^*U^*U^  6p* & & 5^E^0 f J "!*3E^5`5` w&& ,T  & @ \  ! Vv v N e\we 0 0 \  ^\% 5^5^  0 : Rנ'נ", &D ŀ eEU͋  N ͥ   6  jwew,*@   \ \95^;A5U^f   `p00f p eѠѠɋ \*  `  0 "5@^ 42 42 Eנ נ , *5  5^DE^0  \ɋɥɥ ?ɥSɥ PɥEɥ C  f tE^5`685`5 C5^&`W&"U^ r @ɋɥ   a0  Rɕ v Dp 0 7 ɵfŀe\Sˋŀ  5^ &U^q S  p/  & \\  \ r@ r( @%% e ee e  @A K I  7@A 8  4   +`( @A        ` wr    f    9 3#1#N , #)'#% 6 c f ~ C`B@  @  \    w *J, J, 1@Bw4! l r E@`\ ww`*C, C,w  T& $ * ,  ,&   & 4 L& e6+e"*, , ]999:* @, @,wH  ~  h  R  w\B .5`*5`5`"5^ E` @S ˋ5^ 5^ W W   f&    c w ff&f hwf &wfU& Mvv 6`vU  q` c qm `a@ `qeAa@ a A @ A @ %  A @ 6v %\%% 0 0   H`"wH`"w \"w~ \"wx<&f @A  w< w* C P   "<  6  5^5@^I *0,&U^5` 5`0 f f ` *  h   .pXC `U^5^  4 l *$J J N \2 f*B"eR\?5^@^7hpp (f r 2%w*2*Xr2 2 A tlXp[AA x2   \hWhZf*B"eR\-f]? ?dZ2 U^ H ef*> f*B"eR\05@^,hpp & p0j0T*1h 0%vZ2frx zpd5@^5 ^ld0lfy ѥ 0 fɕ $h*1hw f*B"eR R&0 p %2fZ2d2d2\\ŀ\ \2*l2,j fZ] %Z f2]Z ]2]Z ] \Wh2Zh5^ hE^eX #ff 2 x*qf%0 f %% 2h ק&e" Zfs * ,eE 0b*0d,p`bp d W ( N&& W  TI:\*C @& : E:t EBPf *&fA F f F 5%5pV*f 5 U 5 U `$ZU@7U 4E@^U`wvf"er\ 2 dZ A5Ud5UdpZ pP^     U`ppjC E AEC E` bp5^    & f eߥ&& TIwe\$he&&5f Af&?e& e" & e% \ @  e *0 wfE A* B~*e e !3&e &s s 3  ~ 6 ~3@\  `HHVpTppX0^U`E^eEW s`3"35"C *b @ 3 3see@`ei A L  ~E ^(e2R aeRR   ;z  e<e 2E~*3$ 33 L\3 ~ ~ ~R~3 H  dW(\  p *A@ BCzEG@HPtJ$No terminal on channel 0(LUN 13.) in "?Maximum memory exceeded in "" &&&E    e " f& qfqeCaB aqfqe  FE7 0 *U@eB B  fB B f &~Wtu` B " b 2w|e? WtE & fY  D  H&*U@v&*E@v B* U@fB eEB `e E@m  f&    \5B~ E B~ f&*  ##   E b# 'f&B f ##! B EB BH#*u  Jf&*e@     &&f*@, @,  E@` `& \@A!*, , 3@sB@` Ee@"f*B, B, DF` EeDJeC  %  v vf&\l\  % *p^0bl,^-Hv$ H 5/ E0  F 5:U "W DW /H,E2E5 &e& 00/w Bel ZUb f, &  0eb < 5Ev>e  & & i*I5& #5G^A @Wt@P&3*5& "xEeє^ ^&!x>&&e ~"eRh33z 3 Z\5 d5 f5 hnBeX"333 3 x d5 nl Zhe=^t r 5dflZ& 5 d5 l5 fZV hEeC`E є~ ~eev-   6&e'6%e)  P*Uє ee: CtEe0  Q: J*wnwhlŘ   ѕ"єBѕ" ,e%e&Q  &e&e  f e `~  ee *~ѕ"ѕ ѕ * ^f*eQe&*"e \ZufdAeXfG5h&*"e$h*U?RMS error #FUNCTIONGOSUB called at line in "ERROR?Odd address trap?Memory management violation?Error file cannot be opened?Error file cannot be read?Undefined error number \fE x%5^fX5`  |܅ U^ `l  f "f E~  W  * B`.*"&`EUC`{  6% % e@ "N' E`  Aa A@^   A ^EW W  &  ѕ-ѕ  r e0 ~ѕ e& & & *2f&&& %W% % U@      r`D A @ 逎     5 Ke)f W+W-W W0W9f  *m'  e    נ נ E     CPQCQ<m     p   z &   5@  B5eN N .E D A @  eb" d$    D A @ &f&f eD A @ eA @ e@ e&f&f   %PeE <%PeE D A @ E@ 6 6   &f& & 6v*v6 6 @   U*2 &C ^ N    5  6 c6 m  6#m    m  6ඌ c& ʕ ʕ- F   E@ U0Ґ *ခ  ,W >ҕ C eH %%K b ҕ.  ҕ0 eҕE+-  Ґ s e0e0RCD`CE ~ ʥ0ʥ.%ʕ0 U  % ~B   @A  ~~ \ 2 &  & &*5@U@ &*E@E w 6*"{& & pTppXjwTjw     wwdwp@1f*E5@U"B"e 5 ! ZeXev sXw eE D` bl lrw   B eE"s    s-  Cslw  wwB&*&e& :5 ACCl  rf*e >eEf "*p`E  B~ *U@eB B  ZB B f &~Wtu` B " b &wpe? WtE & fYf&B f ##! B EB BH#*u &*5@U@ &*E@E &f  & \*A"C * RZ2 dhhfxd2 h h*5" =*"eRZ \eXfLBOP 8""&f   & & & & ` J fRCҐCҐRC  &w&C & ` `Ba#   L .&f& v  &?4faWW?ZZZZX`*"ap?TIMECL"""V"d`ad`a""" " Lxaa`:  a:  `: xa &a" & ZZ Z Z"Z"Z> &a"a`: xaa`: x aaz`: xa"a`: xax```:  `:  `:  `:  `: x`" &6`" &`a   a &`" &_a_" & a_"( &` &_ `8",  NYaFYZJYdZJYZJYFYAA",4ab xa",ZJYFYAdZJY","- NYl NYl Ad_`". NYBal_:   a: x`"/ NY`Ba`_:   a:  X_:  a:  L_:   a:  >_: x`"2`8_ B &_`_BB"5 &a^ a"7 `8 &a_HH": "< &a"> &a^ a  a &` & a"?H &^`_"A &^`_"D &Z^aT^ a_"E &^a^"F & a ^a^ a_"G   , < ` , < T TDBY"H  ` \v BYZ\ zDD"I &` &` &` "K@Y @Y~ Z\ @Y~ Z\ DE"P &aB"dZJY"f &aa aa"g &`"i@Y @Yx``^ \`T^ \ EZBY &a"k "n &aaJYZJYv JYZEE"xd]` &a" &a &a# ]" & a"J"" &a &  ]" & " &a","6 &h]`R]"; &`"@ `8HH"J` NYG &a<] aG"T  &`F""d`` &a\ a" """ &]a] a\" &`" &\ `8" &\ "X"bd`` &a\ a"g "t"" &`TL"" NY\H"` , \ H` , \: x`"` , \ H` , \: x`"$"""" R x`"` \: `,b x`"`X` X&"  ,`9T JIzJbI`, < >Y"* >Yn ,`7T n I >Y"4` >Y^d"> `,`dR >Y R"H `,`dR >Y ,` R"RY" ` ,`Z"T >Y" ,`9T JJ" "D "F "v  &a\"  &t\"  &aP\ ad\"  &aZ\ aF\"  &a:\ a\"  &a \ a["  &a[ a["  &a[ a["  &a[ a[" "  &a[a[" " :Y :Yx` :YzLTL" t[` |6YZ6YJZ6Yv 6YZL.H" 6YLWF6GpGGN(H"MVZL TZ"VZTZVZ TZ"ZZZ ZZVZZZZZ Z ZZZZZZZRZZ"ZYYYYZYYZZPZZYY& YYYY"ZJZYYZYYYYYYZYYYY"& YYYYYYYY~YYYYYYYY"YYYY~YYYY YYYY"' &aaF["' V"' &a"'Z2Y2Y.Y"'"'ZYYYY& YYZYYYYYY"'hYYZYYZYY'YY"'"'ZJZZJZJZ&Y"Y*Yd&Y*Y&Y*Y"YOpP"'" '*Y4 JZZY*Y4 JZZY""'*Y JZZY*Y JZZY"$'YY& YYYYYY"&'"&'&Y*Y"YOd&Y*Y"&'"('"*'ZJZZJZJ|ZY Y*YdY*YY*Y YPVQ"*'",'*Y4 JxZZY*Y4 JZZY".'*Y JxZZY*Y JZZY"0'YY& YYYYYY"2'"2'Y*Y YPdY*Y"2'"4'Y Y~ Z\ Y~ tZ\ Y~ Z\ Y~ pZ\ QV"5'H &a`    6[`"6' x`"7'  ` \v BYZ\ $RDO"8'":'` ,x`"<'`< Y">'v YZ^RdZY"@'`,x`"B'`< 2Y"D'v 2Y.YRS"F'"H'lZJYZJ2YJZY"J'"L'ZJYJhZY"N'"P'Y4 JdZZX"R'Y JdZZX"T'"V'ZYYZYY& YYXXYY"X'"Z'ZJ2YX"\'"^'ZJXJhZX"`'"b'X4 J`ZZX"d'X J`ZZX"f'"h'ZYYZYY& YYXX~Y~Y"j'2Y.Y"l'ZQ"n'"p'Zl LzYzYF|Y|Y"r'ZpYpYZtYtY& xYxYXXnYnY"t'ZdYdYZhYhY& lYlYXXbYbY"v'Zl L^Y^YF`Y`Y"x'.YJZ.YJZT TvU"z'"|'X4 JxZZYX4 JZZY"~'X JxZZYX JZZY"'YY& \Y\YYYZYZY"'R"'"'X4 JZZYX4 JZZY"'X JZZYX JZZY"'YY& XYXYYYVYVY"'R"' &a ([@"' &["'X"' X~ ZV &aZV"' X~ ZV V &a.N"'.V"'V"("t"t &a  aZ"t~ \ZW &a.B"tY Y~ Z2WW"t &a.J"t"0u &aZaZ"|& PYPYRYRYTYTY>"}t( < <:::::"<;::::x . 4 8 !!x x 2 pXPXSY:$  X$D2D2D2D2 C?H?4DBCC?GpC?ff?IA@B= ?AAA@BBCAB@BZ[22;1fZ[1;24rZ Type any key to continueZc[$Press to return to main clock.,[ at line :[ Alarm time: J[)[?25lPress to return to main clock.x[eEsScCiIdDaArR[ Return[[24;1f[[24;24r[ to clock[ clock display[ Analog[ user-inserted message[ Delete[ new message\ Insert\ "Someone overslept..." message>\ ClearJ\ alarmT\ Exit^\ Seth\ to monitorx\%Type the first letter of your choice.\[1;1f\19\PM\p\AM\a\Message recorded.\MSG> \Message deleted.\ prompt. ]MSG>])Type in the message when prompted by the @]Invalid alarm timeV] (2 digits each).l]!Enter new alarm time. Format is ]&Returning to Main Menu Absurdity... ]+Set-up Menu ]Someone overslept...^i ^3^ ^Ctrl^6To set up or exit, press , which on the PC350 is X^I^^/To turn off alarm when it rings (beeps), press ^Alarm time is ^ The date is ^The correct time is: ^8(If you use improper format, the alarm will not go off). _ Thank you!_._Enter alarm time, format <_yB_ (12-hour)P_hh:mm PM\_ or d_hh:mm AMp_hh:mm (24-hour)_same as displayed time_Do you want to set alarm? [Y/N]_!. This will rarely be necessary._Set-up_(To set time, go to Main Menu then press `The system time is now :`?TIMECLOCK -- written Oct.-Dec. 1983; Y2K fixes Jan. 2000 & 2001~`[1m`[m`[7m`[J`[H`!A L A R M I S S O U N D I N G $Z'&15ew , Bv     5B1 w  ?????? ? ? @>@l@@@A$A(>A,jA-A.A/B2`B5B7B:B<B>B?NCAtCDCECFCG$DHTDIzDKDPDdDfEg0EiBEkEnExEEF,F4F8FdFzF,F6F;F@FJFTG6G:GbGjGpGtGGGGXGbGg Ht(H.H2HHHLH\HH$HHHHHH I *I*bI4I>IHIRJ\^JzrJzJJJJ JD JF Jv J J J &K PK zK K K K "L &L PL TL zL LLMfMMNtN'N'N'N'O'O'O'\O'O'O 'O"'O$'&P&'XP('tP*'xP,'P.'P0' Q2'>Q4'ZQ5'Q6'Q7'Q8'$R:'(R<''JR@'^RB'tRD'RF'RH'RJ'RL'RN'RP'RR'RT'SV'SX'DSZ'HS\'XS^'\S`'pSb'tSd'Sf'Sh'Sj'Sl'Sn'Sp'Sr' Tt'^Tv'Tx'Tz'T|'T~'U''"p3! ! Gold + Help ! Info on nokeypad commandsgdef key cont a as "SHR."def key cont d as "SHL."SET CURSOR 0:21w SET WRAP 78SET TERMINAL VT100SET TERMINAL EDIT SET MODE CHANGEDefine Key Function 14 as "EXT set wrap 72." ! Fortran setupd?Define Key Gold FunctiD; Dummy stub to allow compilation of BP2 programs using CGL, without7; having CGL available (e.g. on non-Pro350 RSX systems)8 cgl:: rts pc .end (^H)EDefine Key Gold Function 28 as "EXT help change subc ?*'Subcommand>'"p3! ! Gold + Help ! Info on nokeypad commandsgdef key cont a as "SHR."def key cont d as "SHL."SET CURSOR 0:21w SET WRAP 78SET TERMINAL VT100SET TERMINAL EDIT SET MODE CHANGEDefine Key Function 14 as "EXT set wrap 72." ! Fortran setupd?Define Key Gold FunctiTIME2/CP/FP=TIMEstub/MPI TASK = TIMECLK UNITS = 18#ASG = TI:5:13:15 ; LUN 5 for INKEY ASG = SY:6:7:8:9:10:11:129EXTTSK = 952 ';CLSTR = PBFSML,CGLFPU,POSRES,RMSRES:RO,EXTSCT = DM$BUF:0=EXTSCT = FL$BUF:4310EXTSCT = HL$BUF:0=EXTSCT = MM$BUF:1000EXTSCT = MN$BUF:4540GBLDEF = HL$LUN:21GBLDEF = MN$LUN:20GBLDEF = MS$LUN:16gbldef=g$lun:17fGBLDEF = TT$EFN:1=GBLDEF = TT$LUN:15GBLDEF = WC$LUN:22//LUN:22// .ROOT USERC+USER: .FCTR SY:TIMECLOC2-inkey-cglstub-LIBR2LIBR: .FCTR LB:[1,1]BP2OTS/LBT;@LB:[1,5]BP2IC1;@LB:[1,5]RMSRLX .ENDB:[1,5]RMSRLX .ENDJ3 REM ***By Nick Zymaris Oct. 1983. Some lines after 3140 copied/modifiedC4 REM by me (in EDT as well as Pro/Basic) for use in the menu. &t6 Translated and compiled in BASIC PLUS 2 on 25-Sep-845 ON ERROR GOTO 29900'C6 dim da(11%) \ alarms$='A L A R M I S S O U N D I N G' \ab$=''t87 REM combined with CLOCK.BAS (line 10000) 9-Dec-83 A.M.L8 REM Y2K fixes 2-Jan-2000 (GOSUB 2000 makes a correct DATE$) for Pro/BASIC.L9 REM Y2K fix ported to Basic-Plus-2 version, literal ESCs rmvd 14-Jan-2001.A10 GOSUB 4000\esc$=chr$(27)\clr$=esc$+'[H'+esc$+'[J'\ PRINT clr$;eM11 call WTQIO by ref (768%,5%,1%) \ PRINT clr$; \ rem attach term, clr screentK15 r$=esc$+'[7m' \ n$=esc$+'[m' \ b$=esc$+'[1m' \ REM Reverse, normal, bold0F17 hm$=esc$+'[H' \ g$=chr$(7)\ gg$=g$+g$+g$+g$+g$+g$ \ REM Home, beepsJ18 print 'TIMECLOCK -- written Oct.-Dec. 1983; Y2K fixes Jan. 2000 & 2001':19 print 'The system time is now ';r$;TIME$(0%);n$ \ print@20 PRINT "To set time, go to Main Menu then press ";r$;"Set-up";/30 PRINT n$;". This will rarely be necessary."c<40 PRINT \ PRINT "Do you want to set alarm? [Y/N]"\ INPUT A$F44 alen%=len(TIME$(0%))\FOR c=1 to len(alarms$)\ab$=ab$+chr$(8)\NEXT c?45 if alen%<>5% and alen%<>8% then ap$="same as displayed time"c/46 if alen%=5% then ap$=r$+'hh:mm (24-hour)'+n$HM47 if alen%=8% then ap$=r$+'hh:mm AM'+n$+' or '+r$+'hh:mm PM'+n$+' (12-hour)'&C50 IF A$='y' THEN PRINT 'Enter alarm time, format ';ap$;'.' ELSE 600I53 PRINT b$;'(If you use improper format, the alarm will not go off).';n$;155 INPUT ALARM$\ PRINT r$;'Thank you!'\GOSUB 1020I 58 SLEEP 160 PRINT clr$;F62 PRINT r$;'The correct time is: ';n$;TIME$(0%);r$ \ PRINT \ PRINT n$-63 GOSUB 2000\ PRINT 'The date is ';DAT4$;'.'8$65 PRINT 'Alarm time is ';ALARM$;'.'H68 PRINT 'To turn off alarm when it rings (beeps), press ';r$;'I';n$;'.'L69 PRINT 'To set up or exit, press , which on the PC350 is ';r$;'Ctrl';70 PRINT n$;' ';r$;'3';n$;'.'pP71 IF VAL(MID$(TIME$(0%),5,1))<>VAL(MID$(ALARM$,5,1)) THEN ALOFF=0\rem ring 1min172 IF TIME$(0%)=ALARM$ AND ALOFF=0 THEN GOSUB 100S073 PRINT \ PRINT SLEEP$\ PRINT MESSAGE$;CHR$(15)L75 CALL INKEY BY REF (S%)\ IF S%=27 or S%=101 THEN GOSUB 200\ REM setup/exit80 PRINT hm$;\ GOTO 62100 C=1 \ REM alarm routine L102 PRINT r$;alarms$;n$;ab$; \ rem replaced 8-bit PRINT CHR$(141); 15-Jan-01103 PRINT gg$;K105 CALL INKEY BY REF (S%)\S$=CHR$(S%)\ IF S$='i' OR S$='I' THEN ALOFF=1 \&I PRINT clr$;\ RETURN.107 SLEEP .3142 \ REM FOR T1=1 TO 314\ NEXT T1J110 PRINT alarms$;ab$;\ C=C+1 \ if C<=31 then 102 \ REM replaced CHR$(141)6120 SLEEP$='Someone overslept...'\ PRINT clr$;\ RETURNO200 PRINT clr$;\PRINT r$;TAB(35);'Set-up Menu '; 210 PRINT n$220 GOSUB 31406230 REM parody of P/OS V1.5 message and slow return...I270 PRINT clr$;\ PRINT chr$(12);'Returning to Main Menu Absurdity... ';Y9275 PRINT CHR$(15);\ REM 'Chinese' character set disabled\M280 sleep 3.142 \ PRINT clr$;\ RETURN \ REM replaced 3142 count for fast CPUs1300 REM set alarm;F310 PRINT 'Enter new alarm time. Format is ';ap$;' (2 digits each).';315 SLEEP 4\ PRINT320 INPUT ALARM$ \ GOSUB 1020$L330 IF LEN(ALARM$)<>alen% THEN PRINT r$;'Invalid alarm time';n$; ELSE RETURN340 SLEEP 1.5\ PRINT \ GOTO 310y(400 REM clear oversleep message (sleep$).410 SLEEP$=''\ PRINT r$;'Message deleted.';n$; 420 SLEEP 1.5t 430 RETURN500 REM insert messageN510 PRINT 'Type in the message when prompted by the ';r$;'MSG>';n$;' prompt.';515 SLEEP 4\PRINT &520 PRINT 'MSG> ';\ LINPUT #0,MESSAGE$2530 PRINT 'Message recorded.';\ SLEEP 1.5 \ RETURN600 REM delete message0610 MESSAGE$=''\ PRINT r$;'Message deleted.';n$; 615 SLEEP 1.5l 628 RETURN"1000 REM beep if wrong key pressed1010 PRINT g$;\ GOTO 3290T;1020 REM validate or process alarm time (added 15-Jan-2001)L1030 if alen%=5% then return>1040 if mid$(alarm$,7,1)="a" then alarm$=mid$(alarm$,1,6)+"AM">1050 if mid$(alarm$,7,1)="p" then alarm$=mid$(alarm$,1,6)+"PM" 1060 return;M2000 REM Y2K routine - use DAT4$ instead of DATE$(0) 2-Jan-2000, 14-Jan-2001rO2010 REM IF MID$(DATE$(0%),8,1)=":" THEN ! 2-Jan-00 Kludge rmvd 14-Jan-01 ! &;I DAT4$=MID$(DATE$(0%),1,7)+"200"+MID$(DATE$(0%),9,1) ELSE DAT4$=DATE$(0%)kO2015 rem Routine to correct BP2 Date$(0%) - by Nicholas Zymaris 29-Jan-2000. &a (c) 2000-2001 & nO It is compatible with both "1900"-style and "2000"-style internal dates, &< considering the dates 1900-1969 as 2000-2069. &M Streamlined 14-Jan-2001, moved window from 1980 to 1970 & support >= Y3K02020 dat4$=date$(0%)F2050 dat4$=left$(dat4$,7%)+"19"+mid$(dat4$,8%,2%) \ rem 4-digit format2070 change dat4$ to da%G2080 if da(10%)>57% then gosub 2200 else decade%=val(mid$(dat4$,8%,3%))t@2090 if decade%<200% and da(10%)<7%+48% then decade%=decade%+10%2100 da(8%)=decade%/100%,2110 da(9%)=int((decade%-(da(8%)*100%))/10%)/2120 da(10%)=decade%-(da(8%)*100%)-(da(9%)*10%)iN2130 for d4%=8% to 10% \ da(d4%)=da(d4%)+48% \ next d4% \ rem Convert to ASCII2140 change da to dat4$t2170 goto 250032200 let decade%=199% \ rem Here if year >= 2000.$B2210 let da(10%)=da(10%)-1 \ rem cnt down decades (trashes ASCII)72220 let decade%=decade%+1% \ rem correct colon formatv>2230 if da(10%)>57% then 2210 \ rem Keep going if year >2099. 2500 returnd3140 REM Set-up menu proper/3142 REM note this line number3190 PRINT esc$;'[1;1f'd23200 PRINT 'Type the first letter of your choice.''3201 PRINT b$;' Exit';n$;' to monitor'x!3210 PRINT b$;' Set';n$;' alarm'c<3220 PRINT b$;' Clear';n$;' "Someone overslept..." message'*3230 PRINT b$;' Insert';n$;' new message'43240 PRINT b$;' Delete';n$;' user-inserted message'M3245 PRINT b$;' Analog';n$;' clock display' \ REM this line used CSI not ESCn'3250 PRINT b$;' Return';n$;' to clock'5-3260 REM reset window2(3270 PRINT esc$;'[24;24r';esc$;'[24;1f';+3280 REM input loop ?3290 CALL INKEY BY REF (ST%)\ST$=CHR$(ST%)\ IF ST%=0% THEN 3290PI3310 Q=POS('eEsScCiIdDaArR',ST$,1)\Q=INT((Q+1)/2)\ IF Q=0 THEN GOSUB 1000p.3320 ON Q GOTO 30000,300,400,500,600,10000,6284000 DEF INT%(X)=INT(X) 54002 CALL CGL BY REF (90%)\CALL CGL BY REF (86%,0%)\&A& CALL CGL BY REF (82%,.375,1,0,1)>4004 CALL CGL BY REF (80%,0,1,0,1)\CALL CGL BY REF (26%,1%,3%)?4006 CALL CGL BY REF (20%,.02,1/24)\CALL CGL BY REF (24%,.02,0)[B4008 CALL CGL BY REF (18%,1%)\CALL CGL BY REF (30%,126%,16%,16%)\& CALL CGL BY REF (18%,2%)E4010 CALL CGL BY REF (30%,126%,8%,8%)\CALL CGL BY REF (18%,0%)\RETURNQA10000 PRINT clr$;esc$;'[?25lPress to return to main clock.'510001 ON ERROR GOTO 10200F10002 SLEEP 4\ PRINT clr$;10004 M=1\M1=M10006 REM DRAW CLOCK910008 CALL CGL BY REF (1%,0,.5)\CALL CGL BY REF (4%,0,.5)(&10010 CALL CGL BY REF (39%,.5,.5,360%)#10012 REM DRAW HOUR MARKS\$10014 FOR I=0 TO 2*PI STEP (2*PI)/12'10016 X1=.4*SIN(I)+.5\X2=.45*SIN(I)+.5%'10018 Y1=.4*COS(I)+.5\Y2=.45*COS(I)+.51<10020 CALL CGL BY REF (1%,X1,Y1)\CALL CGL BY REF (4%,X2,Y2) 10022 NEXT I$10024 REM DRAW MINUTE MARKS$10026 FOR I=0 TO 2*PI STEP (2*PI)/60(10028 X1=.44*SIN(I)+.5\X2=.45*SIN(I)+.5(10030 Y1=.44*COS(I)+.5\Y2=.45*COS(I)+.5<10032 CALL CGL BY REF (1%,X1,Y1)\CALL CGL BY REF (4%,X2,Y2) 10034 NEXT IL10036 CALL INKEY BY REF (Q%)\IF Q%=27 OR Q%=69 OR Q%=101 OR Q%=81 THEN 10230I10037 GOSUB 2000\ PRINT hm$;DAT4$;CHR$(13);chr$(10);'Alarm time: ';ALARM$)-10038 NOW$=TIME$(0%) \ REM READ TIME@10039 IF TIME$(0%)=ALARM$ AND ALOFF=0 THEN GOSUB 100\ GOTO 10006110040 REM FIND HOURS (H) AND MINUTES (M)210042 H$=MID$(NOW$,1%,2%)I10044 H=VAL(H$)410046 IF H>12 THEN H=H-12510048 M$=MID$(NOW$,4%,2%)210050 M=VAL(M$)010052 IF M<>M1 THEN 10096,210054 REM FIND HOUR HAND ANGLE FROM 12:0010056 HD=H*30+(M*6)/12+10058 REM CONVERT ANGLE TO RADIANS010060 HD=HD*PI/180+10062 REM FIND X AND Y COORDINATES:10064 HX=.3*SIN(HD)+.510066 HY=.3*COS(HD)+.5 10068 REM DRAW HOUR HAND;10070 CALL CGL BY REF (1%,.5,.5)\CALL CGL BY REF (4%,HX,HY) 310072 REM FIND MINUTE HAND ANGLE FROM 12:001 10074 MD=M*6$10076 REM CONVERT TO RADIANS10078 MD=MD*PI/180*10080 REM FIND X AND Y COORDINATES10082 MX=.49*SIN(MD)+.5 10084 MY=.49*COS(MD)+.5 "10086 REM DRAW MINUTE HAND;10088 CALL CGL BY REF (1%,.5,.5)\CALL CGL BY REF (4%,MX,MY)1 10090 M1=M10092 GOTO 10036%10094 REM REM ERASE OLD HANDS+#10096 CALL CGL BY REF (70%,INT%(8)) ;10098 CALL CGL BY REF (1%,.5,.5)\CALL CGL BY REF (4%,HX,HY) ;10100 CALL CGL BY REF (1%,.5,.5)\CALL CGL BY REF (4%,MX,MY)G#10102 CALL CGL BY REF (70%,INT%(4))E"10104 IF M1/5=INT(M1/5) THEN 10116$10106 REM REDRAW MINUTE MARK)10108 X1=.44*SIN(MD)+.5\X2=.45*SIN(MD)+.5 )10110 Y1=.44*COS(MD)+.5\Y2=.45*COS(MD)+.5 ;10112 CALL CGL BY REF (1%,X1,Y1)\CALL CGL BY REF (4%,X2,Y2) 10114 GOTO 10054"10116 REM REDRAW HOUR MARK(10118 X1=.4*SIN(MD)+.5\X2=.45*SIN(MD)+.5(10120 Y1=.4*COS(MD)+.5\Y2=.45*COS(MD)+.5;10122 CALL CGL BY REF (1%,X1,Y1)\CALL CGL BY REF (4%,X2,Y2)L10124 GOTO 10054)10200 PRINT hm$;ERT$(ERR);' at line ';ERLL210205 PRINT 'Press to return to main clock.'10206 CALL INKEY BY REF (CONT%)RL10207 IF CONT%=27 THEN PRINT esc$;'c'\ GOTO 10220 \ REM Reset term subsystem:10210 IF CONT%=0 THEN 10200 ELSE PRINT clr$;\ RESUME 1000010220 RESUME 1023010230 ON ERROR GOTO 299000 10240 RETURN 29900 REM error-handling routine929910 PRINT r$;ERT$(ERR);n$;' Type any key to continue';O+29915 IF ERR=72 THEN PRINT clr$;\ RESUME 62L/29917 CALL INKEY BY REF (Q%)\IF Q%=0 THEN 29917 29920 PRINT clr$;\ RESUME 319029950 REM reset screen and end(30000 PRINT esc$;'[1;24r';esc$;'[22;1f';;31999 call WTQIO by ref (1024%,5%,1%) \ rem detach terminal 32200 END Reset term subsystem:10210 IF CONT%=0 THEN 10200 ELSE PRINT clr$;\ RESUME 1000010220 RESUME 1023010230 ON ERROR GOTO 299000 10240 RETURN 29900 REM error-handling routine929910 PRINT r$;ERT$(ERR);n$;' Type any key to continue';O+29915 IF ERR=72 THEN PRINT clr$;\ RESUME 62L/29917 CALL INKEY BY REF (Q%)\IF Q%=0 THEN 29917 29920 PR+Notes on TIMECLOCK programs 15-Jan-2001e---------------------------hKThe TIMECLOC*.B* programs are a combination of the TIME.BAS program which IeMwrote in late 1983, and the CLOCK.BAS program, written by (I think) Pete from DBelle Mead, NJ, who was a hallmate during my freshman year at S.I.T.N(beginning Fall 1983). I wrote TIME first in Pro/BASIC, and ran it under P/OSHV1.5 (the same applies for Pete's CLOCK) until upgrading to P/OS V1.7 inIJanuary 1984 (and later to P/OS V2.0a). It was combined with CLOCK whileoJstill under P/OS V1.5, which was a slow operating system written in PascalL(while later versions were written in Macro-11 assembly language as a PDP-11Ioperating system should be). P/OS V1.5 was so slow that it took about 3 Nseconds to return to the main menu after running an application, during which Otime the "Returning to Main Menu..." message was displayed on the screen, just PMlike in the program except without the "Absurdity". Quite early on I ported 2LTIMECLOCK to Basic-Plus-2 which I might have run on my own system (prior to Lthe April 1984 system crash or the November 1984 O/S installation?) or more Llikely on either another Pro350 with BP2 installed or most likely on one of Nthe Vaxen on campus (SITVXA:: etc.). Looking at the volume and file dates, I Icould not have written any Basic-Plus-2 programs on my own Pro350 before mI24-Feb-1984 (the volume and file dates for the Basic-Plus-2 installation oNdiskettes I have); the port of TIMECLOCK to BP2 was apparently not done until 25-Sep-1984 anyway.yMTIMECLOCK.TSK is the original TIMECLOCK.B2S compiled under RSX-11M+ BP2 then aKlinked on the Pro350 (since I don't currently have any BP2 compiler on the tGDW1: Pro350 hard disk). On 2-Jan-2000 I went to Northport and updated vNTIMECLOCK.BAS (the original Pro/Basic version) for Y2K, so it wouldn't show a Mdate of 2-Jan-:0 etc. I had a problem getting the year to display correctly -Nso I settled on a kludge that only works until 2009 but can easily be updated Gevery 10 years. That is the TIMECLOC2.BAS program. TIMECLOC2.B2S and IITIMECLOC2.TSK (compiled under RSX, linked on the Pro) have the date code Nupdated to reflect any legal RSX year, tested through the year 3999 (avoiding EY4K questions of whether that's a leap year or not). It uses a more Greasonable and generalized routine to display the date, using the date Jreturned by the Basic system which is similar to the date encoded in file Iheaders (using ASCII values of ":" for 2000, ";" for 2010, etc.) in both sLPro/BASIC and Basic-Plus-2. A number of other changes were made, including Kremoving literal escape sequences so the program can be listed, printed or aOtyped properly. Note that the ESC c sequence in the program works as intended hOon a Pro350 system or terminal, but on e.g. a VT220 it will effectively reboot iNthe terminal and change the baud rate if the saved rate is different from the Jcurrent rate. The undocumented "e" exit option from the analog clock was Iextended so that "e" also exits from the digital clock. The terminal is Nattached so that INKEY will work properly and the CLI won't interfere -- this Iis not an issue under P/OS V2.0a but is an issue under the RSX-11M+ V4.5 sHbaseline monitor. With the terminal attached it will work under either Osystem. In order to link it for RSX without changing the source code, without aNany CGL graphics routines that work under RSX and a non-Pro-350 environment, INwrote a stub CGL and associated command files (CGLSTUB, TIME110 REM RENUMBERED ON 16-NOV-82 AT 11:24:55 STEP 1PG20 REM SNOOPY: SNOOPY CALENDAR. REV. BY E. SCHAEFER, COMMACK SOUTH 3/756530 REM OTHER PICTURES BY DAVID KRAUS, NORTHPORT 10/82#M31 REM this is line 10pi -- the following changes by Nick Zymaris, 1982 & on:0D32 REM Originally on DEC PDP 11/23; transfered to DEC PC350 9-29-83.D33 REM Unsuccessfully transfered 12/21/98 to emulated RSTS/E system.A34 REM Transfered to RSX11M+/BASIC-Plus-2 environment 2-28-00 andnD35 REM fix its Y2K bug. No syntax change needed for BP2. OriginalH36 REM (high school) system this ran under was probably RT-11 V4 BASIC.40 DIM N(10,13),C$(14),P$(4)#50 FOR Q=1 TO 4\ READ P$(Q)\ NEXT QT60 PRINT "Choose picture:"70 FOR Q=1 TO 4 80 PRINT Q;". ";P$(Q)c 90 NEXT Q1 100 INPUT Z2110 IF Z<1 THEN 60120 IF Z>Q THEN 60I130 rem OPEN "du1:"+P$(Z)+".pct" FOR INPUT AS FILE #1 \REM changed deviceuH132 OPEN P$(Z)+".pct" FOR INPUT AS FILE #1 \REM rmvd device name 1-11-01(140 DATA "SNOOPY","DISKETTE","PI","METS"H142 print "File or device to print to (e.g. LP0: for printer)";\input f$F143 f$=edit$(f$,2%+4%+32%) \ REM remove spaces etc., conv to uppercase150 PRINT "What year calendar";X'160 INPUT Y\ IF INT(ABS(Y))<>Y THEN 150Q170 IF Y<1582 THEN 220180 IF Y<=9999 THEN 280 L190 PRINT "Unable to do years after 9999 (if you notice there are only four"0200 PRINT "numbers at the top of the calendar)." 210 GOTO 150A220 PRINT "Not prepared to do calendars before MDLXXXII {1582} -"":230 PRINT "the current calendar was not used before 1582."@240 PRINT "However, I have included the transition year of 1582"F250 PRINT "having ten days in October omitted to make up for previous")260 PRINT "error in the Julian calendar."Y 270 GOTO 150O280 PRINT "Roll paper and hit return." \ REM this originally ran on a DECwritere 290 INPUT J$G295 OPEN f$ FOR OUTPUT AS FILE #3 \ REM changed to any file 28-Feb-2000a300 FOR F=1 TO 14310 READ C$(F) 320 NEXT F@330 DATA "x","*",")","\","/","=","-","&","!","(","#","$","%",":"340 INPUT #1,K350 IF K=0 THEN 480 360 IF K=-1 THEN 500 370 N=INT(K)380 IF K=N THEN 4408390 H=INT((100*K-100*N)+.5)s400 FOR L=1 TO N410 PRINT #3,C$(H);i 420 NEXT L 430 GOTO 340440 FOR L=1 TO N450 PRINT #3, " "; 460 NEXT L 470 GOTO 340 480 PRINT #3 R 490 GOTO 340 500 PRINT #3 510 PRINT #3520 INPUT #1,T530 LINPUT #1,A$ 540 CLOSE #1550 PRINT #3, TAB(T);A$8$560 FOR U=1 TO 10\ PRINT #3 \ NEXT U 570 Y2=Y+.1 580 FOR Z3=1 TO 4"590 Y1(Z3)=INT(Y2/(10^(4-Z3)))600 Y2=Y2-Y1(Z3)*(10^(4-Z3)) 610 NEXT Z3F4620 FOR L1=1 TO 10 \ REM 10 possible decimal digits+630 FOR L2=1 TO 13 \ REM year digit height5640 READ N(L1,L2)N 650 NEXT L23 660 NEXT L1 *670 FOR L=1 TO 13 \ REM year digit height'680 FOR T=1 TO 4 \ REM four-digit year685 N$=MID$(NUM$(Y),T+1,1) 690 PRINT #3, TAB(((T-1)*17)+1); 700 GOSUB 750 710 NEXT T 720 PRINT #3 730 NEXT L 740 GOTO 1060:750 ON N((Y1(T)+1),L) GOTO 760,780,800,820,840,860,880,900(760 FOR Q=1 TO 14\ PRINT #3, N$;\ NEXT Q 770 RETURN 1+780 PRINT #3, N$;N$;N$;" ";N$;N$;N$;T 790 RETURN 0800 PRINT #3, N$;N$;N$; 810 RETURN T%820 PRINT #3, " ";N$;N$;N$;D 830 RETURN 5#840 PRINT #3, " ";N$;N$;N$;N$; 850 RETURN y%860 PRINT #3, " ";N$;N$;N$;N$;N$;E 870 RETURN y'880 PRINT #3, " ";N$;N$;N$;N$;N$;N$;N 890 RETURN -900 IF L=13 THEN 940910 FOR I=1 TO (10-(L-3)) 920 PRINT #3, " "; 930 NEXT I940 PRINT #3, N$;N$;N$;N$;,950 RETURN \ REM digits 0 thru 9 follow"960 DATA 1,1,2,2,2,2,2,2,2,2,2,1,1"970 DATA 5,6,7,5,5,5,5,5,5,5,5,1,1"980 DATA 1,1,4,4,4,4,1,1,3,3,3,1,1"990 DATA 1,1,4,4,4,1,1,4,4,4,4,1,1#1000 DATA 2,2,2,2,2,1,1,4,4,4,4,4,4#1010 DATA 1,1,3,3,3,1,1,4,4,4,4,1,1N#1020 DATA 1,1,3,3,3,1,1,2,2,2,2,1,1 #1030 DATA 1,1,8,8,8,8,8,8,8,8,8,8,8U#1040 DATA 1,1,2,2,2,1,1,2,2,2,2,1,1$#1050 DATA 1,1,2,2,2,1,1,4,4,4,4,1,1H71060 DEF FNA(A)=INT(A-INT(A/4)*4) \ REM 0 on leap years3F1070 DEF FNB(B)=INT(A-INT(A/7)*7)+1 \ REM 9 chngd 2-28-00; was ...,4,41080 I1=INT((Y-1500)/100)21090 A=I1*5+(I1+3)/41100 I2=FNB(A)1110 Y3=INT(Y-INT(Y/100)*100)41120 A=Y3/4+Y3+I21 1130 B=FNB(A)41140 IF Y3=0 THEN 12101150 T1=FNA(Y)1160 IF T1<>0 THEN 1240D1170 IF B<>0 THEN 11901180 B=6 1190 B=B-11200 GOTO 1240 1210 A=T1-1D1220 T1=FNA(A)1230 IF T1=0 THEN 117061240 IF B<>0 THEN 1260 \ REM NZ: B is date position?1250 B=71260 IF Y=1582 THEN B=2N81265 if y!>!=2000 then b=b-(y-1999) \ REM NZ 28-Feb-200071267 if b<1 then b=b+7 \ goto 1267 \ REM NZ 28-Feb-2000N!1270 PRINT #3\ PRINT #3\ PRINT #3)1280 FOR P4=1 TO 121 1290 READ X$C1300 DATA "January",31,"February",28,"March",31,"April",30,"May",31 E1310 DATA "June",30,"July",31,"August",31,"September",30,"October",31 1320 READ Z0%1330 DATA "November",30,"December",312#1340 FOR U=1 TO 4\ PRINT #3\ NEXT U 1350 IF X$<>"February" THEN 14001360 IF Y/4<>INT(Y/4) THEN 14002#1370 IF Y/100<>INT(Y/100) THEN 13902#1380 IF Y/400<>INT(Y/400) THEN 1400-1390 Z=Z+1 \ REM leap year@1400 PRINT #3, TAB(13);"---------------------------------------"%1410 PRINT #3, TAB(33-(LEN(X$)/2));X$$@1420 PRINT #3, TAB(13);"---------------------------------------"1430 PRINT #3\ PRINT #3,@1440 PRINT #3, TAB(13);"Sun Mon Tue Wed Thu Fri Sat"@1450 PRINT #3, TAB(13);"=======================================" 1460 Q=2-B1470 PRINT #3 >1480 PRINT #3, TAB(13);\ FOR P2=Q TO Q+6\ IF Y<>1582 THEN 1500I1490 IF X$="October" THEN IF P2=5 THEN P2=16\Q=Q+10\ PRINT #3, " 15 ";\1500 IF P2<1 THEN 15301510 IF P2<10 GOTO 1550-1520 GOTO 1570I1530 PRINT #3, " ";\ REM I thought it was 7 blanks... (now 6 blanks)11540 GOTO 158061550 PRINT #3, P2;" ";\ REM I think it's 3 blanks...1560 GOTO 15801570 PRINT #3, P2;" "; 1580 NEXT P2 1590 Q=Q+71600 PRINT #3 1610 IF Q+6<=Z THEN 14801620 B=11630 IF Q-1=Z THEN 169041640 PRINT #3, TAB(13);#1650 FOR P2=Q TO Z1660 PRINT #3, P2;" "; 1670 B=B+1 1680 NEXT P2!1690 PRINT #3\ PRINT #3\ PRINT #3I 1700 NEXT P41710 FOR P5=1 TO 70E 1720 PRINT #3 1730 NEXT P5G1735 close #3 \ rem PRINT 'c'; \ REM 28-Feb-2000 don't reset VT220kG1740 rem END \ REM <-- This is the most SIGNIFICANT Line In The Programn1750 ENDlanks...1560 GOTO 15801570 PRINT #3, P2;" "; 1580 NEXT P2 1590 Q=Q+71600 PRINT #3 1610 IF Q+6<=Z THEN 14801620 B=11630 IF Q-1=Z THEN 169041640 PRINT #3, TAB(13);#1650 FOR P2=Q TO Z1660 PRINT #3, P2;" "; 1670 B=B+1 1680 NEXT P2!1690 PRINT #3\ PRINT #3\ PRINT #3I 1700 NEXT P41710 FOR P5=1 TO 70E 1720 PRINT #3 1730 NEXT P5G1735 close #3 \ rem PRINT 'c'; \ REM 28-Feb-2000 don',99e x S r[q$ Y SYSYSYSYSYSYSYSYSYSYSYSYTITISYOV25.9DUDUDUDUDUDUDUDUDUDUDUDUTITIDUDU(?A>,w0wwDw4ww(wHwP TX`dw8ww<whlwx wp\whLw\@wTww f&.0&*"e.30*"e &.0 %0,\w4 5ae   %6U^  Vp5 ^U ^bpXp[wB\w4 ^+5^ 5^#X f* ,0 F 5` w`##!" e l "  e f&f& ]E 5ŀ5΋ΠGEנ'נ"ΐ=0eРנ נ 0 0(v W Õ 0  a z  E 0@ נ[נ]Ê3ѐE֋ 5 CN נ נ  w w0& &֒ & @ Ԥ\  D  8   *ʥ  w&f @A  wz wh C P *p$ $@@myb|*U@*E@E\S J" l R y|"   r *@- @- @` E&f& @  \= e66 f&C &  jee5& *"ePBe  ~PpT585p\u7  UU uP5`wJ&& C`  *e,u0B~  & SY&& C`  C0Cm0.u1B~ 5 %% %%4ae*45"p(3  0% w,U5@`w45` |**U b5 * kU`cB aeR`5`O55[B4BS%)%!F%=%4&8u5 B" B B *A6Erff wP f\U ` E5`  U`~   U`p(05@^HfUpV5@^ BP  E @*A"eQE5 5"5`5` B ~ %p  h 5 `Ew05` E  0 epeE%6 5*B( 1 (&44e`U¥E5U562 6 A25`.6+B +(565`U`^E`U` wA2pV Ap$w &*U@%v  E` E`  B&*E@ \C  %  v vf&\& l Ce  f[ & @ BjL0BהRؘטԘ28؎e\\;@\ \N @   =@f&ysE[\pCf&f&\% `\6 @ 006 6 \&&& r)`   5@5@ bxxLXXXؘԆؘԆؘԆؘl0ؘԌ،erf&\  \& \\r1@\[?\ \e5?U?*@ڪA P &  (& @ !     & % 6 @ X%\%5%=\www@1f*E5@U"B"e 5 ! ZeXev sXw ZeE D` bl lrw   B eE"s    s-  Cslw  wwB&*&e& <5 ACCl  rf*e @eEf "*p`E  B~ *U@eB B  ZB B f &~Wtu` B " b &wpe? WtE & fYf&B f ##! B EB BH#*u &*5@U@ &*E@E &f &f  b!#Z!w4 #:!6!C3 3  ,, UEs3w>#,8 &f8 B * ͋'% ͥ!ͥE%,  D5  PB2 %pċ5J J J @ EͥAA I 92J'' +-($141CALEND$ $$$$ $!$"$#$$$($2X-(-(-(-Px$2"(j1v$2-(-P-($2$<:܌0(v$FX-(-(-(-$F$P:"(0("(j1(v$Z$Z-(--($Z$dی(2v$nH(-|$xH(((|$ӂ$ӄ"(j1081-81$ӌ$ӎ:܌0(vڰی41v$ӏ41&F41$Ӗ:܌0(v$Ӡی(2v"(pP(Ş$ӪH(-$$ӴH(-ņ$Ӿ:܌@0(v$:܌/(v$Ş$:܌0(v$:܌/(v$:܌t/(v$:܌6/(v$:܌/(v$Ş$:܌.(v$"ی01v$'-41$,X-(-(-(- $,$6"(j1v$@$@-(--($@$J$Tی(2v$^H(-Jd$hH(-\ŀ$r"(pL($|H((|$ӆ"(~-"(~-"-pL($ӐX((X-(-(-(($Ӑ$Ӛ:"(j1(v$Ӥ$Ӥ-((-($Ӥ$Ӯ($ӸX((X-(-(-(((X$Ӹ$:܌.(v$$-(((-($$($:܌.(v$($:܌.(v$:܌.(v$ی(2v$ی,1v$$&:"(j$۰(,1(v$0X-(-(-(-8$0:܌.(v$0-(--($0$:"-(L($DX-(-(-(-j$D$N"(j0"-"-(T"(p@$X"(j0"-"-(T($b$b-(-j-($b$lX-(-(-(-f$l$vX-(-(-(-J$v$Ӏ"(j"(j02v$ӊ$ӊ-(--($ӊ$Ӕ$Ӕ-(--($Ӕ$ӞX-(-(-(-D$Ӟ$ӨX-(-(-(-$Ө$ӭ"("-(jּ(1$Ӳ:"(-~-"-j$۰(v$Ӽ$H:܌.((1((1((1((1(v$R$\:܌.((1((1((1((1((1(v$f$p:܌.((1((1((1((1((1((1(v$z$ӄH(-Vż$ӎ"(-"-Lظ(X-(-(-((Ÿ$ӎ$Ә:܌.(v$Ӣ$Ӣ-((-($Ӣ$Ӭ:܌(1((1((1((1(v$Ӷ$$$$$$$$$$$$\ <+P 0ؔ+$$"ؘ+-p~-"ؘ+pLؔ++ٔ+$.Ũ <+Ӝ 0؜+$."ش(-p~-"ش(p"-L؜++ٜ+$8"(Ծ--pLذ($B"غ-~ذ("-԰(-Lش($L"ش(jd Lج($V"(-p~-"(pLب($`"ب(-"ب("ج(Lش($j"ش(jd Lؤ($tH֨(-J!Ś!$~"(j Lؠ($ӈH֠(-l!!$ӒH֤(-~!ň!$ӜXض-($Ӧ-($Ӱ!$Ӻ"ؠ(-Lش($"ش(j Lؠ($H֠(-!l!$H֤(-!!$X-($H(-!Xز-($H(-""(Ԫ-֤($H֤(-4""ؤ(-Lؤ("$:܌.(vڌ:܌.(vڌ:܌.(v$X-(-(-(-"&$$ ی$1v$$$(ی(2v$2$<X-(-(-(-""$<:܌.(v$<-(-"-($<$F$1.#ł#$P"(-"(-p&֖2#ł#$Z"(-"(-p&֖R#r#$d"(ע-"(ע-p&֖r#ł#$n"(-L($x:܌ $۰(|.(v$ӂ:܌$10ײ-"؞-j$۰($1(v$ӌ:܌ $۰(|.(v$Ӗ:܌.(vڌ:܌.(v$Ӡ:܌ $۰(P.(v$Ӫ:܌ $۰($.(v$Ӵ"ز-Ԥ(L($Ӿ:܌.(v$:܌ $۰(v"ض-(Lؔ(X((-(-(($Ū%$H(-$ %$$1. %H֘(- %Xؚ-("(-L(:܌ .(v$H֘(-%6%$H֘(-.%R%$v%$:܌.(v$Œ%$:"ؘ(.(v$Œ%$":"ؘ(-(v$,$,-(($-($,$6"(-L($@:܌.(v$J"ض-(P(%|$$TX-($^"(-P( &Ŕ&$h:܌ $۰(v$rX((X((-(-((H&Ő&$r$|:"ؘ(-(v$ӆ"ؤ(-Lؤ($Ӑ$Ӑ-((H&-($Ӑ$Ӛ:܌.(vڌ:܌.(vڌ:܌.(v$Ӥ$Ӥ-(-"-($Ӥ$ӮX-(-(-(-'2'$Ӯ$Ӹ:܌.(v$$-(-'-($$$$~v:62.08hX0 `~vvl  ll(Pd(SY:$  ($pv(,"SNOOPY","DISKETTE","PI","METS","x","*",")","\","/","=","-","&","!","(","#","$","%",":",1,1,2,2,2,2,2,2,2,2,2,1,1,5,6,7,5,5,5,5,5,5,5,5,1,1,1,1,4,4,4,4,1,1,3,3,3,1,1,1,1,4,4,4,1,1,4,4,4,4,1,1,2,2,2,2,2,1,1,4,4,4,4,4,4,1,1,3,3,3,1,1,4,4,4,4,1,1,1,1,3,3,3,1,1,2,2,2,2,1,1,1,1,8,8,8,8,8,8,8,8,8,8,8,1,1,2,2,2,1,1,2,2,2,2,1,1,1,1,2,2,2,1,1,4,4,4,4,1,1,"January",31,"February",28,"March",31,"April",30,"May",31,"June",30,"July",31,"August",31,"September",30,"October",31,"November",30,"December",31CBCD@BEEAAAEABPB> B@C`B@AGxH~R\fpz>DV     $ .\ 8 B L V ` !j(!t8!~J!Z!l!~!!!!!!!!!!"4"h" """("2"<"F"P#Z2#dR#nr#x####$8$X$h$|$$ %%.%6%J%R%n%"v%,%6%@%J%T%^%h &r$&|L&h&x&&&&''6'@'D'1 5  *5*UW   ,   E5 E  W ˇ5  ,E l8186.51j8)awb 6  Xw , e 1 w E U &W 2/ , & 4 &9 &9U3uE uU.5`.U & E& & f&ËDef Ë )̋E U&ff r[qr[q x xd7"8111 187~888r@8l88IqM.9@~88IqMB9@~88IqMV9l8~8U(Uj9985r98U,@8l8 x~988rT,`.5.555986.595.52.5.5.58@7@7@7@7R7zt!NjklvL@Sժ@zժ@ZȪ@Q@n'@;@S۪@.@# Ȫ@z;@!@@:@irȪ@g@vg@cȪ@9@;@ժ@ @e@+@