0 CLS:CLEAR:PRINT@51,"Free Memory="FRE(0):ONKEYGOSUB10,100,300,700,230,900,800,8:KEYON 4 PRINT:FILES:PRINT@280,"CALC TVTM EXPN SCPT S&R PRNT WTCH MENU"; 6 PRINT@12,TIME$+" "+DATE$:GOTO6 8 MENU 10 CLEAR 12 ONKEYGOSUB30,32,34,36,28,60,64,84:KEYON 14 CLS:GOSUB44:X=0:IFB$=""THENB$="+" 16 PRINT@280," + - * / CLR $$$ CLK MENU"; 18 PRINT@130,"INPUT"; 20 R$=INKEY$:IFXTHEN14 22 IFR$=""THEN20 24 IFR$=CHR$(13)THEN38 25 IFINSTR(" .1234567890",R$)=0THEN20 26 A$=A$+R$:PRINT@137,A$:GOTO20 28 RUN10 30 B$="+":RETURN 32 B$="-":RETURN 34 B$="*":RETURN 36 B$="/":RETURN 38 IFNTHENGOSUB68ELSEA=VAL(A$) 40 IFA=0THEN14 42 GOSUB50:A$="":GOTO14 44 PRINT@50,"Total=";:IFUTHENPRINTUSING"$$#####.##";Z:RETURN 46 IFNTHENGOSUB82:PRINTH%":"M%":"S%:A$="":RETURN 48 PRINTZ:RETURN 50 B=Z:ONINSTR("-*/+",B$)GOSUB52,54,56,58:RETURN 52 Z=B-A:RETURN 54 Z=B*A:RETURN 56 Z=B/A:RETURN 58 Z=B+A:RETURN 60 IFUTHENU=0:X=1:RETURN 62 U=1:N=0:X=1:RETURN 64 IFNTHENN=0:X=1:RETURN 66 N=1:U=0:X=1:RETURN 68 R=LEN(A$):IFR=8THEN78 70 IFR=2THENF$=A$:A$="00:00:"+F$:GOTO78 72 IFR=1THENF$=A$:A$="00:00:0"+F$:GOTO78 74 IFR=3THENF$=LEFT$(A$,1):G$=RIGHT$(A$,2):A$="00:0"+F$+":"+G$:GOTO78 76 A$="00:00:00" 78 S=VAL(RIGHT$(A$,2)):M=VAL(MID$(A$,4,2)):H=VAL(LEFT$(A$,2)) 80 A=S+(60*M)+(60*(60*H)):RETURN 82 H%=Z/3600:HH=Z-(H%*3600):M%=HH/60:SS=HH-(M%*60):S%=SS:RETURN 84 RUN 100 CLS:CLEAR600:KEYON:ONKEYGOSUB148,156,,,164,,172,162 102 PRINT@40,"F1=REZERO CLOCK","F2=RESET CLOCK","F5=TAPE STOP",,"F7=EDIT FILENAME","F8=MENU" 104 PRINT@144,"MEMORY="FRE(0) 108 PRINT@226,TIME$:K$=INKEY$:IFK$=""THEN108 112 IFK$=CHR$(13)THENK$="":J=1:T$=TIME$ 114 R$="("+TIME$+")"+SPACE$(04) 116 CLS 118 PRINT@1,R$;:PRINT@42,K$:L=0 120 S$=INPUT$(1) 122 IFS$=CHR$(8)THENS$=" ":G=LEN(N$):N$=LEFT$(N$,G-1):L=L-1:PRINT@43+L,S$:GOTO120 124 PRINT@43+L,S$:IFS$=CHR$(13)THEND=1:GOTO128 126 N$=N$+S$:S$="":L=L+1:IFLEN(N$)<197GOTO120 128 IFPTHENR$="" 130 OPEN"RAM:GORB3"FORAPPENDAS1:PRINT#1,R$+K$+N$;:P=1:L=0:N$="":K$="" 132 IFDTHEND=0:PRINT#1," ":PRINT#1," ":GOTO138 134 CLOSE:GOTO116 138 IFJ=0THEN146 140 L$=TIME$:G=VAL(RIGHT$(L$,2)):H=VAL(RIGHT$(T$,2)) 142 I=VAL(MID$(L$,4,2)):M=VAL(MID$(T$,4,2)):K=G+(60*I):L=H+(60*M):E=L-K 144 PRINT#1,"TIME="E" sec" 146 CLOSE:RUN100 148 INPUT"ZERO TIME (Y/N)";Y$ 150 IFINSTR("Yy",Y$)THENTIME$="00:00:00" 154 RUN100 156 LINEINPUT"Present Time (HH:MM:SS)";I$ 158 IFI$=""THENRUN100 160 TIME$=I$:RUN100 162 RUN 164 I$=TIME$:CLS:PRINT"TAPE STOP","ENTER TO CONTINUE":PRINT@241,I$ 168 W$=INKEY$:IFW$<>CHR$(13)THEN168 170 TIME$=I$:RUN100 172 CLS:PRINT"CHANGE FILENAME":INPUT"ENTER--EDIT--F8--F4";G$:EDIT130 230 SCREEN,0:CLEAR2000:MAXFILES=2:DEFINTA-Z:DEFSTRM-Z 232 M=CHR$(8):N=CHR$(27):O=CHR$(34):P=N+"p":Q=N+"q":U=" Replace ":V=" Delete ":ONERRORGOTO290 234 CLS:FILES:PRINT:INPUT"Name of .DO file";X:IFX=""THENRUN 236 IFINSTR(X,".")=0THENX=X+".DO" 238 Y="OO.DO":Z="TT.DO":NAMEX$ASY 240 PRINT" "T;:CLS:PRINTI+1;M":"U"what? ";:LINEINPUTS(I):IFS(I)=""THENIFI=0GOTO288ELSE256 242 PRINT@160,I+1;M":"U"it with? ";:LINEINPUTR(I):IFR(I)=""THENPRINT@181,P;M;V"?"Q;ELSE246 244 T=INKEY$:IFT="N"ORT="n"THENPRINTN"l":GOTO242ELSEIFT="Y"ORT="y"THEND(I)=1ELSE244 246 B=I:PRINT@280,P"Selective";:IFD(I)THENPRINTV;ELSEPRINTU; 248 PRINTM;"?";Q;" "; 250 T=INKEY$:IFT="Y"ORT="y"THENF(I)=1ELSEIFT<>"N"ANDT<>"n"THEN250 252 PRINTT;" ";:IFI<9THENPRINTP" Another?"Q;ELSE256 254 T=INKEY$:IFT="Y"ORT="y"THENI=I+1:GOTO240ELSEIFT<>"N"ANDT<>"n"THEN254 256 PRINT" "T;:CLS 258 FORI=0TOB:OPENYFORINPUTAS1:OPENZFOROUTPUTAS2:L=LEN(S(I)) 260 IFEOF(1)THEN284 262 LINEINPUT#1,W:E=LEN(W) 264 PRINT@53,P;I+1;M":";:IFD(I)THENPRINTV;ELSEPRINTU; 266 PRINTO;S(I);O;Q; 268 J=INSTR(1,W,S(I)):IFJ=0THEN280ELSEC(I)=1 270 K=LEN(W):R=R(I):IFF(I)THENCLS:PRINTLEFT$(W,J-1);P;S(I);Q;RIGHT$(W,K-(J+L-1))ELSE278 272 IFD(I)THENPRINT@282,P;V"?"Q;ELSEPRINT@282,P;U"with ";O;R;O"?"Q; 274 T=INKEY$:IFT="N"ORT="n"THENR=S(I)ELSEIFT<>"Y"ANDT<>"y"THEN274 276 CLS 278 PRINT#2,LEFT$(W,J-1);R;:W=MID$(W,J+LEN(S(I))):GOTO264 280 IFE=255THENPRINT#2,W;ELSEPRINT#2,W 282 GOTO260 284 CLOSE:IFC(I)=0THENPRINTP":No ";S(I);" in ";X;Q;:GOSUB294 286 KILLY:NAMEZ$ASY:NEXT 288 NAMEY$ASX:RUN 290 IFERR=52THENPRINTP"No file ";X;Q;:GOSUB294:X="":RESUME234ELSECLS:BEEP:PRINT@53,P"Aborted: Error"ERR"in "ERL 292 GOSUB294:CLOSE:KILLZ:GOTO288 294 FORA=1TO999:NEXT:RETURN 300 MAXFILES=2:CLEAR3000,HIMEM:DIMY$(31):DIMX$(14) 302 DIMXT(12):DIME$(200):DIMX(14,13):DIMYT(14):DIMXU(14):DIMA(14) 304 CLS:PRINT@10,"Expenses Program" 306 PRINT 307 ONKEYGOSUB328,438,414,550,,,,600:KEYON 310 PRINT"F1-ADD an expense":PRINT"F2-PRINT expenses to EXDOCS.DO" 314 PRINT"F3-PRINT totals to EXDOCS.DO":PRINT"F4-COPY EXPENSE FILE":PRINT"F8-EXIT to MENU" 317 GOTO317 328 U=0:GOSUB458:PRINT:INPUT" DESCRIPTION:";D$ 330 CLS:PRINT:PRINT"Date Cat. Amt. Description":PRINT 332 PRINTA$;" ";B$;:PRINTUSING"#####.##";C;:PRINT" ";D$:PRINT 334 INPUT"Correct? Y OR N";Z$ 336 CLS:IFINSTR("Nn",Z$)THENPRINTTAB(10);"EXPENSE DISREGARDED":GOTO306 338 OPEN"RAM:XXXXX"FORAPPENDAS1:PRINT#1,A$;" "B$; 340 PRINT#1,USING"#####.##";C;:PRINT#1," ";D$:CLOSE1:K1=0 342 PRINTTAB(12)"EXPENSE RECORDED":GOTO306 344 PRINTTAB(16)"SORTING":PRINT 346 FORV=1TO12:XT(V)=0:XU(V)=0:NEXT:FORH=1TO14:YT(H)=0:X$(H)="" 348 FORV=1TO13:X(H,V)=0:NEXTV,H 350 N=0:Q=0:H=0:MT=0:MU=0:PT=0:XT=0:XU=0:XV=0:YT=0 352 OPEN"RAM:XXXXX"FORINPUTAS1 354 IFEOF(1)THEN358 356 INPUT#1,E$:PRINT@41,N;:N=N+1:E$(N)=E$:GOTO354 358 CLOSE 360 FORF=1TON-1:FORS=F+1TON:IFE$(F)<=E$(S)THEN364 362 F$=E$(F):E$(F)=E$(S):E$(S)=F$ 364 NEXTS,F 366 NAME"XXXXX.DO"AS"OLDXX.DO":OPEN"RAM:XXXXX"FORAPPENDAS1 368 FORZ=1TON:PRINT#1,E$(Z):PRINT@41,Z; 370 A$=LEFT$(E$(Z),5):AO$=LEFT$(E$(Z-1),5):IFA$<>AO$THENH=H+1 372 IFQ=1THENGOTO388 374 IFH=8THENBEEP:PRINT"MORE THAN 7 DATES!","TOTAL FIRST WEEK ONLY." 380 IFH>7THENQ=1:GOTO388 384 X$(H)=A$:B$=MID$(E$(Z),7,1):B=ASC(B$):V=B-64:C$=MID$(E$(Z),8,8):C=VAL(C$) 386 X(H,V)=X(H,V)+C 388 NEXT 390 CLOSE1:KILL"oldxx.do" 392 IFH>7THENH=7 394 FORG=1TOH:FORV=1TO12:YT(G)=YT(G)+X(G,V):NEXT:YT=YT+YT(G):NEXT 396 FORV=1TO12:FORG=1TO7:XT(V)=XT(V)+X(G,V):NEXT 398 XT=XT+XT(V):NEXT:FORV=1TO12:FORG=8TO14:XU(V)=XU(V)+X(G,V):NEXT 400 XU=XU+XU(V):NEXT:XV=XT+XU 402 FORG=1TO7:MT=MT+X(G,13):MU=MU+X((G+7),13):NEXT:PT=MT+MU 404 IFQ=1THENGOTO408 406 CLS 408 BEEP 410 K1=1:RETURN 414 IFK1=0THENGOSUB344 415 OPEN"RAM:EXDOCS"FORAPPENDAS2:CLS 416 FORZ=1TO4:PRINT#2,"":NEXT:J=1:KA=K:K=4:X$="#####.##" 418 FORV=1TO12:A(V)=XT(V):NEXTV 420 IFH>3THENGOSUB510ELSE424 422 J=5:K=H 424 GOSUB526 426 PRINT#2,"TOTAL BUS. EXPENSES :";:PRINT#2,USING"$$#####.##";XV 430 IFKA<10THEN434 432 PRINT:PRINT:PRINT#2,"":PRINT#2,"" 434 PRINT#2,"":CLOSE 436 GOTO307 438 CLS:IFK1=0THENGOSUB344 440 IFCP=0THENOPEN"RAM:EXDOCS"FORAPPENDAS1ELSEOPEN"RAM:B/UP"FORAPPENDAS1 442 PRINT#1,"YOUR COMPANY EXPENSES BREAKDOWN"," FOR YOUR NAME" 446 W=1:T=1:PRINT#1,"":OPEN"RAM:XXXXX"FORINPUTAS2 448 IFEOF(2)THEN454 450 W=W+1:INPUT#2,E$(W) 452 B$=MID$(E$(W),7,1):B=ASC(B$):PRINT#1,E$(W):GOTO448 454 FORZ=1TO3:PRINT#1,"":NEXT 456 CLOSE:PRINT:GOTO307 458 CLS:GOTO462 460 PRINTTAB(51)"DATE ERROR--REENTER" 462 PRINT:PRINT" DATE OF EXPENSE":PRINT:INPUT"Month (1-12)";M 464 IF(M<1)OR(M>12)GOTO460 466 INPUT"Day (1-31)";D 468 IF(D<1)OR(D>31)GOTO460 470 FORY=1TO31:READY$(Y):NEXT:X$="/":A$=Y$(M)+X$+Y$(D) 472 RESTORE 474 DATA01,02,03,04,05,06,07,08,09,10 476 DATA11,12,13,14,15,16,17,18,19,20 478 DATA21,22,23,24,25,26,27,28,29,30,31 480 IFU=2THEN508 482 CLS:PRINT 484 PRINT"A= Hotel"," G= Phone, Tlx":PRINT"B= Meals"," H= Gratuities" 486 PRINT"C= To/Fr Airpt I= Location":PRINT"D= Car Rent"," J= Other" 488 PRINT"E= Taxi"," K= Cash to Others":PRINT"F= Entrtnmnt"," L= CA ONLY" 490 INPUT"CATEGORY (A-L)";B$:B$=LEFT$(B$,1):CLS 492 IFB$=""GOTO500 494 IFASC(B$)>96ANDASC(B$)<123THENB$=CHR$(ASC(B$)-32) 496 IFASC(B$)>76ORASC(B$)<65GOTO500ELSEGOTO504 500 CLS:INPUT"ERROR: Letters A thru L ONLY.";Z$ 502 GOTO482 504 PRINT:PRINT"For expense category ";B$;" on ";A$ 506 PRINT:INPUT" AMOUNT";C 508 RETURN 510 GOSUB520 512 PRINT#2,"":PRINT#2,"":FORV=1TO12:PRINT#2," ";CHR$(V+64);" "; 514 FORG=JTOK:PRINT#2,USINGX$;X(G,V);:NEXT:PRINT#2,"":NEXT:PRINT#2,"DAY TL"; 516 FORG=JTOK:PRINT#2,USINGX$;YT(G);:NEXT:PRINT#2,"":PRINT#2,"":PRINT#2,"" 518 RETURN 520 PRINT#2," ";:FORI=JTOK:IFX$(I)=""THENGOTO524 522 PRINT#2," ";X$(I);:NEXT 524 RETURN 526 GOSUB520 528 PRINT#2," CTGRY TL";:PRINT#2,"":PRINT#2,"" 530 FORV=1TO12:PRINT#2," ";CHR$(V+64);" "; 532 FORG=JTOK:IFX$(G)=""THENGOTO536 534 PRINT#2,USINGX$;X(G,V);:NEXTG 536 PRINT#2,USING"######.##";A(V):NEXTV 538 IFX$(J)=""THENGOTO546 540 PRINT#2,"DAY TL";:FORG=JTOK:IFX$(G)=""THENGOTO546 544 PRINT#2,USING"#####.##";YT(G);:NEXTG 546 PRINT#2,"":PRINT#2,"":RETURN 550 OPEN"RAM:B/UP"FORAPPENDAS1 552 PRINT#1,TIME$" ON "DATE$:CLOSE:CP=1:K=5:GOTO440 600 RUN 700 CLS:CLEAR:ONERRORGOTO712 704 PRINT,"SCRIPT TIMER":PRINT 706 INPUT"RATE (1-10)";L:FILES:PRINT:INPUT"TEXT (OR MENU)";Q$:IFQ$="MENU"THENRUN 708 F$="RAM:"+Q$:OPENF$FORINPUTAS1:W=1:IFL=0THENL=5 710 P$=INPUT$(6,1):W=W+1:IFINSTR("{}",P$)THENW=W-1 711 GOTO710 712 CLOSE:IFERR=54THENRESUME714 714 Z=(W*20)/(3.2*(25-L)):GOSUB82:PRINTM%":"S% 715 INPUT"SOT'S (Y/N)";Z$:IFINSTR("Yy",Z$)THENN=1:GOTO12 716 INPUT"ANOTHER TEXT";Z$:IFINSTR("Yy",Z$)THENGOTO700 720 RUN 800 CLS:CLEAR 801 PRINT@15,"STOPWATCH":PRINT@280,"TIME LAP STOP CLR CALC MENU"; 802 ONKEYGOSUB804,814,816,800,825,,,821:KEYON:GOTO802 804 T$=TIME$ 806 L$=TIME$:G=VAL(RIGHT$(L$,2)):H=VAL(RIGHT$(T$,2)) 808 I=VAL(MID$(L$,4,2)):M=VAL(MID$(T$,4,2)):K=G+(60*I):L=H+(60*M):E=K-L:GOSUB810:PRINT@80,M%":"S%:GOTO806 810 M%=E/60:S=E-(M%*60):S%=S:RETURN 814 PRINT@100,"LAP="M%":"S%:RETURN 816 PRINT@200,"ADD (Y/N)" 817 Y$=INKEY$:IFY$=""THEN817 818 IFY$="Y"ORY$="y"THEN819ELSEE=0 819 E=E+Z:GOSUB810:Z=E 820 CLS:PRINT@220,"TOTAL="M%":"S%:E=0:GOTO801 821 RUN 825 N=1:GOTO12 900 CLEAR500:ONKEYGOSUB,,,,,,,990:KEY(8)ON 903 CLS:FILES:PRINT"F8=MENU":INPUT"WHAT FILE ";A$ 906 I=0:K=40:C$="":Q$="{}>"+CHR$(13):LF$=CHR$(10):B$=SPACE$(40) 909 LPRINTB$;LF$ 912 OPEN"RAM:"+A$+".DO"FORINPUTAS1:A$="" 915 IFLE=1THENLPRINTB$;:LE=2:S=LEN(B$):B$="":GOTO924 918 IFLE=2THENLPRINTSPACE$(40-S)B$:LE=3:S=LEN(B$):GOTO924 921 LPRINTSPACE$(40)B$ 924 B$=C$:C$="":L=LEN(B$) 927 FORI=1TO40-L 930 IFEOF(1)THENGOTO972 933 HA$=A$ 936 A$=INPUT$(1,1) 939 IFHA$="{"THENLE=1 942 IFASC(A$)=10OR(HA$="}"ANDA$="{")THENI=I-1:GOTO948 945 IFINSTR(Q$,A$)<>0OREOF(1)THENC$="":GOTO915ELSEB$=B$+A$ 948 NEXTI 951 IFLEN(B$)=0THENC$="":GOTO924 954 FORK=LEN(B$)TO1STEP-1 957 M$=MID$(B$,K,1) 960 IFINSTR("., ?!:;",M$)<>0THENGOTO966 963 NEXTK 966 H$=B$:B$=MID$(H$,1,K):C$=MID$(H$,K+1) 969 GOTO915 972 B$=SPACE$(40):FORI=1TO2:LPRINTB$:NEXTI 975 RUN 990 RUN