Source Code
3 FAST
4 LET Z=PI-PI
5 LET A=PI/PI
6 LET B=A+A
7 LET C=B+A
8 LET D=C+A
9 LET E=D+A
10 LET F=E+A
11 LET G=F+A
12 LET H=G+A
13 LET I=H+A
14 LET J=I+A
15 LET T=J+J
16 LET U=T+J
17 LET RX=Z
18 LET LINK=Z
19 LET CT=1400
26 LET L=Z
27 LET RY=Z
28 LET NU4=LN J
29 LET LG4=EXP A/J
30 LET MN=200
31 LET FU4=PI/180
32 LET DG4=A/FU4
33 LET G$="%T%O% %R%E%C%O%V%E%R% %F%R%O%M% %E%S%T%O%P%-%>%G%O%T%O% "
35 LET N=Z
36 LET K=Z
38 LET KD=Z
40 LET OL=Z
41 LET RC=1816
42 LET CL=1900
43 LET BK=CT
44 LET U$="================================"
45 LET PT=9906
46 LET XS=9900
47 LET LP=9942
48 LET XY=7160
50 LET AS=4291
51 LET N$="%O%P%T%I%O%N"
52 LET M$="%E%N%T%E%R"
53 LET DS=9800
54 LET LN=T+A
55 LET T1=Z
56 LET T2=Z
57 LET T3=Z
73 DIM C$(J,J+B)
74 DIM A$(J,J+B)
75 DIM B$(J,J+B)
76 DIM C(J)
77 DIM D(J)
78 DIM M(J)
79 DIM Q$(J+B)
150 CLS
152 SLOW
154 GOSUB 170
156 LET S$="\: PRESS ENTER\ :"
158 LET PP=J+D
160 GOSUB PT
161 LET PP=Z
162 PAUSE 4E4
164 GOSUB 190
165 IF T1 OR T2 OR T3 THEN GOTO DS
166 GOSUB MN
170 PRINT AT A,J+A;"\..\..\..\..\..\..\..\..\.."
172 PRINT AT B,J+A;"\: DO-CALC\ :";AT C,J+A;"\''\''\''\''\''\''\''\''\''";AT E,Z;"COPYRIGHT 1983 BERNARD V. GERBER"
174 PRINT AT G,D;"% % % % % % % % % % % % % % % ";AT H,D;"% %1% % %2% % %3% % %4% % %5% ";AT I,D;"% % % % % % % % % % % % % % % ";
176 PRINT AT J+B,D;"% % % % % % % % % % % % % % % ";AT J+C,D;"% %6% % %7% % %8% % %9% % %0% ";AT J+D,D;"% % % % % % % % % % % % % % % "
178 PRINT AT J+G,D;"% % % % % % % % % % % % % % % ";AT J+H,D;"% %.% % %+% % %-% % %*% % %/% ";AT J+I,D;"% % % % % % % % % % % % % % % "
180 RETURN
190 CLS
191 LET S$="%P%R%I%N%T%E%R% %O%N% %L%I%N%E%? Y/N"
193 GOSUB PT
195 GOSUB XS
196 IF X$="Y" THEN LET TP=A
198 IF X$="N" THEN LET TP=Z
199 RETURN
200 FAST
205 CLS
215 PRINT AT C,J+A;"%M%E%N%U";AT E,E;;"1.CALCULATOR",TAB E;"2.N-FACTORIAL",TAB E;"3.ACCOUNTING/STATISTICS",TAB E;"4.RUNNING BALANCE",TAB E;"5.TRANSFORMATION/",TAB H;"REGRESSION",TAB E;"6.COMPOUND INTEREST",TAB E;"7.DISPOSITION"
250 LET S$=M$+"% "+N$
252 GOSUB PT
255 INPUT X$
260 IF (X$="" OR LEN X$>A OR CODE X$<T+I OR CODE X$>U+E) THEN GOTO 255
262 CLS
265 GOTO VAL X$*CT
\n1400 CLS
\n1401 SLOW
\n1402 LET BK=CT
\n1404 GOSUB 1800
\n1405 PRINT AT F,Z;"LINK=";LINK
\n1410 PRINT AT H,Z;"%E%V%A%L%U%A%T%E%:"
\n1411 LET S$=M$+"% %C%A%L%C%U%L%A%T%I%O%N"
\n1413 GOSUB PT
\n1415 INPUT L$
\n1416 IF L$="" THEN GOTO 1415
\n1417 PRINT AT LN,Z;" "
\n1418 IF L$<>"M" AND L$<>"P" AND L$<>"A" AND L$<>"Q" AND L$<>"R" AND L$<>"C" AND L$<>"*" AND L$<>"-" THEN GOTO 1430
\n1421 IF L$="-" THEN IF RX=A THEN LET RX=Z
\n1422 IF L$="*" THEN IF RX=Z THEN LET RX=A
\n1423 IF L$="P" AND NOT TP THEN GOTO CT
\n1424 IF L$="P" AND NOT L THEN GOTO CT
\n1425 GOTO (1702 AND L$="M")+(1487 AND L$="P" AND TP AND L)+(1600 AND L$="A")+(DS AND L$="Q")+(RC AND L$="R")+(CL AND L$="C")+(CT AND L$="*")+(CT AND L$="-")
\n1430 GOSUB 1800
\n1435 PRINT AT F,Z;"LINK=";LINK
\n1441 LET Y$=L$
\n1450 LET L=VAL Y$
\n1452 LET OL=LINK
\n1454 LET LINK=L
\n1456 PRINT AT F,Z;"LINK=";OL;AT H,Z;"%E%V%A%L%U%A%T%E";AT J,Z;Y$;AT J+D,Z;"%E%Q%U%A%L%S",,,,L;AT J+H,Z;"%W%H%I%C%H% %I%S% %T%H%E% %N%E%W% >LINK"
\n1458 GOTO 1411
\n1487 FAST
\n1490 PRINT AT LN,Z;U$
\n1495 COPY
\n1535 IF RX THEN GOTO 1555
\n1550 GOTO 1415
\n1555 LET RY=A
\n1560 GOTO RC
\n1605 LET N=N+A
\n1610 IF N=J+A THEN GOTO 1662
\n1615 LET M(N)=L
\n1620 CLS
\n1625 PRINT AT LN,Z;"M(";N;")=";L
\n1626 LET S$="%R%E%M%A%R%K%:"
\n1627 LET PP=T
\n1628 GOSUB PT
\n1629 LET PP=Z
\n1631 INPUT A$(N)
\n1632 PRINT AT LN,J+F;A$(N)
\n1633 PAUSE U+T
\n1660 GOTO RC
\n1662 CLS
\n1665 PRINT AT J,J+B;"N0 SPACE"
\n1670 PAUSE U+T
\n1675 GOTO RC
\n1705 LET K=K+A
\n1710 IF K<J+A THEN GOTO 1715
\n1712 GOTO 1662
\n1715 CLS
\n1720 PRINT AT J,Z;"-->INPUT ANY NUMBER/EXPRESSION TO BECOME C(";K;")";" FOR FORMULA USE";AT Z,Z;G$+"%1%7%1%5"
\n1725 INPUT K$
\n1730 LET C(K)=VAL K$
\n1731 LET P$=STR$ C(K)
\n1735 PRINT AT LN,Z;"C(";K;")=";C(K)
\n1736 LET S$="%R%E%M%A%R%K%:"
\n1737 LET PP=T
\n1738 GOSUB PT
\n1739 LET PP=Z
\n1741 INPUT B$(K)
\n1742 PRINT AT LN,T;B$(K)
\n1743 PAUSE U+T
\n1765 LET S$="%A%G%A%I%N%? Y/N "
\n1767 GOSUB PT
\n1770 GOSUB XS
\n1780 IF X$="Y" THEN GOTO 1705
\n1782 GOTO RC
\n1800 CLS
\n1810 PRINT AT Z,Z;" %Q=QUIT %P=PRINT %A=ASSIGN M(N) %M=MAKE C(K) %R=RECALL %C=CLEAR"
\n1811 IF TP THEN IF RX THEN PRINT AT B,Z;"(-)=PRINT-RECALL %*=PRINT+RECALL"
\n1812 IF TP THEN IF NOT RX THEN PRINT AT B,Z;" %-=PRINT-RECALL (*)=PRINT+RECALL"
\n1813 PRINT AT C,Z;G$+"%1%4%0%0"
\n1815 RETURN
\n1816 CLS
\n1817 FAST
\n1819 PRINT "%R%E%C%A%L%L";TAB T;"%R%E%M%A%R%K%S"
\n1860 FOR P=A TO J
\n1861 PRINT "M(";P;")=";M(P);TAB T;A$(P)
\n1863 NEXT P
\n1864 FOR P=A TO J
\n1865 PRINT "C(";P;")=";C(P);TAB T;B$(P)
\n1870 NEXT P
\n1871 IF RY THEN GOTO 1892
\n1872 PRINT AT LN,Z;"%P=PRINT %C=CLEAR %D=DISP %B=BACK"
\n1873 INPUT X$
\n1874 IF X$="P" AND NOT TP THEN GOTO 1873
\n1875 IF X$="P" AND TP THEN GOTO 1892
\n1876 IF X$<>"C" AND X$<>"P" AND X$<>"D" AND X$<>"B" THEN GOTO 1873
\n1877 GOTO (DS AND X$="D")+(BK AND X$="B")+(CL AND X$="C")
\n1892 PRINT AT LN,Z;U$
\n1894 IF TP THEN LPRINT
\n1896 IF TP THEN COPY
\n1897 LET RY=Z
\n1898 GOTO RC
\n1900 CLS
\n1905 FAST
\n1915 PRINT AT E,J+A;N$,,TAB A;"1.CLEAR MEMORY REGISTER(S)",TAB A;"2.CLEAR CONSTANT REGISTER(S)",TAB A;"3.EXCHANGE",TAB A;"4.RECALL(OTHER GOTO""S)"
\n1926 LET S$=M$+"% "+N$
\n1928 GOSUB PT
\n1930 INPUT X$
\n1935 IF X$<>"1" AND X$<>"2" AND X$<>"3" AND X$<>"4" THEN GOTO 1930
\n1940 GOTO (1950 AND X$="1")+(2000 AND X$="2")+(1942 AND X$="3")+(RC AND X$="4")
\n1942 GOSUB 2500
\n1944 GOTO RC
\n1950 LET MC=Z
\n1955 LET REG=N
\n1960 GOTO 2050
\n2000 LET MC=A
\n2005 LET REG=K
\n2010 GOTO 2050
\n2050 GOSUB 2400
\n2052 INPUT X$
\n2054 IF X$<>"A" AND X$<>"B" AND X$<>"C" THEN GOTO 2052
\n2056 GOTO (2058 AND X$="A")+(2076 AND X$="B")+(2100 AND X$="C")
\n2058 CLS
\n2060 FOR P=A TO J
\n2062 IF MC THEN GOTO 2068
\n2064 LET M(P)=Z
\n2066 LET A$(P)=" "
\n2068 LET C(P)=Z
\n2070 LET B$(P)=" "
\n2072 NEXT P
\n2073 IF NOT MC THEN LET N=Z
\n2074 IF MC THEN LET K=Z
\n2075 GOTO RC
\n2076 GOSUB 2130
\n2082 IF VAL Y$=J THEN GOTO 2058
\n2084 CLS
\n2086 FOR P=A TO (J-VAL Y$)
\n2090 IF MC THEN GOTO 2093
\n2091 LET M(P)=M(P+VAL Y$)
\n2092 LET A$(P)=A$(P+VAL Y$)
\n2093 LET C(P)=C(P+VAL Y$)
\n2094 LET B$(P)=B$(P+VAL Y$)
\n2095 NEXT P
\n2096 IF NOT MC THEN LET N=N-VAL Y$
\n2097 IF MC THEN LET K=K-VAL Y$
\n2099 GOTO RC
\n2100 GOSUB 2130
\n2102 IF VAL Y$=J THEN GOTO 2058
\n2104 CLS
\n2106 IF NOT MC THEN FOR P=N TO N-VAL Y$+A STEP -A
\n2107 IF MC THEN FOR P=K TO K-VAL Y$+A STEP -A
\n2108 IF MC THEN GOTO 2114
\n2110 LET M(P)=Z
\n2112 LET A$(P)=" "
\n2114 LET C(P)=Z
\n2116 LET B$(P)=" "
\n2118 NEXT P
\n2120 IF NOT MC THEN LET N=N-VAL Y$
\n2122 IF MC THEN LET K=K-VAL Y$
\n2124 GOTO RC
\n2130 CLS
\n2132 IF NOT REG THEN GOTO RC
\n2134 LET S$=M$+"% %N%U%M%B%E%R% %O%F% %R%E%G%I%S%T%E%R%S"
\n2136 GOSUB PT
\n2140 INPUT Y$
\n2142 IF Y$="" THEN GOTO 2140
\n2144 IF VAL Y$<A OR VAL Y$>J OR VAL Y$>REG THEN GOTO 2140
\n2146 RETURN
\n2400 CLS
\n2410 PRINT AT E,J+A;N$;TAB F;"A. ALL REGISTERS",TAB F;"B. UPPER BLOCK",TAB F;"C. LOWER BLOCK"
\n2422 LET S$=M$+"% "+N$
\n2426 GOSUB PT
\n2427 RETURN
\n2500 CLS
\n2505 FAST
\n2560 FOR P=A TO J
\n2565 LET DR=D(P)
\n2570 LET D(P)=C(P)
\n2575 LET C(P)=DR
\n2580 LET S$=C$(P)
\n2585 LET C$(P)=B$(P)
\n2590 LET B$(P)=S$
\n2595 NEXT P
\n2636 PRINT AT J,J+C;"%D%O%N%E"
\n2646 PAUSE U+T
\n2648 CLS
\n2662 RETURN
\n2800 CLS
\n2810 LET BK=2800
\n2852 PRINT AT Z,Z;G$+"%2%8%0%0"
\n2855 LET S$=M$+" N"
\n2859 GOSUB PT
\n2860 INPUT Y$
\n2861 FAST
\n2862 IF Y$="" THEN GOTO 2860
\n2863 CLS
\n2864 LET P=INT VAL Y$
\n2865 IF P<A OR P>U+C THEN GOTO 2800
\n2869 FAST
\n2875 LET NF=A
\n2880 FOR R=A TO P
\n2885 LET NF=NF*R
\n2890 NEXT R
\n2915 CLS
\n2920 PRINT AT Z,Z;U$;AT J,A;"%N%F=";P;" FACTORIAL=";NF;AT LN,Z;"%H%I%T% "+M$
\n2921 PAUSE 4E4
\n2922 PRINT AT LN,Z;U$
\n2923 IF TP THEN COPY
\n2936 GOTO 9960
\n4200 FAST
\n4201 LET T1=Z
\n4202 LET H$=";"
\n4203 IF T1=A AND TP AND H$<>";" THEN LPRINT U$;TAB J;"CONTINUATION",,,H$
\n4204 IF NOT T1 THEN GOSUB 5300
\n4205 LET R1=Z
\n4206 IF NOT TP THEN GOTO 4214
\n4207 GOSUB 5400
\n4208 LET H$=X$
\n4210 LPRINT
\n4212 LPRINT "% %D%A%T%A% % % % % % % % % % % % %R%E%M%A%R%K%S% % % % % % % % "
\n4214 LET DE=A
\n4215 LET BK=AS-A
\n4216 LET T1=A
\n4290 CLS
\n4291 FAST
\n4292 GOSUB 5500
\n4293 PRINT AT LN,Z;"X=? "
\n4294 INPUT Y$
\n4295 IF Y$="" THEN GOTO AS+C
\n4296 IF Y$<>"X" AND Y$<>"S" AND Y$<>"T" AND Y$<>"Q" AND Y$<>"*" AND Y$<>"-" THEN GOTO 4301
\n4297 IF Y$="T" THEN LET AC=Z
\n4298 IF Y$="S" THEN LET AC=A
\n4300 GOTO (DS AND Y$="Q")+(4322 AND Y$="S")+(4322 AND Y$="T")+(4390 AND Y$="*")+(4390 AND Y$="-")+(4500 AND Y$="X")
\n4301 PRINT AT LN,Z;" "+Y$;
\n4302 LET X=VAL Y$
\n4304 GOSUB 4600
\n4307 IF R1 THEN IF TP THEN LPRINT Y$;
\n4308 IF NOT R1 THEN GOSUB XS+U
\n4310 IF R1 THEN GOSUB PT+J
\n4312 GOTO AS+A
\n4322 IF NOT NU THEN GOTO AS-A
\n4324 LET AV=TO/NU
\n4325 LET SD=SQR ABS ((SX2-((TO*TO)/NU))/(NU-A))
\n4326 LET V$="%N%U "
\n4328 PRINT AT LN,Z;V$;NU
\n4330 LET Z$=STR$ NU
\n4332 GOSUB LP
\n4334 LET V$="%T%O "
\n4336 PRINT AT T+A,Z;V$;TO
\n4337 LET Z$=STR$ TO
\n4338 GOSUB LP
\n4341 IF AC THEN GOTO 4355
\n4344 LET S$="%R%E%S%U%M%E%? Y/N"
\n4346 GOSUB PT
\n4347 GOSUB XS
\n4348 IF X$="Y" THEN GOTO AS
\n4352 IF TP THEN LPRINT U$
\n4353 FAST
\n4354 GOTO 9960
\n4355 LET V$="%A%V "
\n4356 PRINT AT T+A,Z;V$;AV
\n4357 LET Z$=STR$ AV
\n4358 GOSUB LP
\n4359 LET V$="%S%D "
\n4360 PRINT AT T+A,Z;V$;SD
\n4361 LET Z$=STR$ SD
\n4362 GOSUB LP
\n4363 LET S$="%R%E%S%U%M%E%? Y/N"
\n4365 GOSUB PT
\n4366 GOSUB XS
\n4367 IF X$="Y" THEN GOTO AS
\n4368 IF TP THEN LPRINT U$
\n4372 GOTO 9960
\n4390 IF Y$="*" THEN LET R1=A
\n4392 IF Y$="-" THEN LET R1=Z
\n4394 GOTO AS
\n4500 IF NOT NU THEN GOTO AS-A
\n4502 LET DE=-A
\n4504 LET S$="%X=?"
\n4508 GOSUB PT
\n4510 INPUT X$
\n4512 IF X$="" THEN GOTO 4510
\n4514 LET X=VAL X$
\n4516 LET P$=STR$ X
\n4518 GOSUB 4600
\n4520 LET DE=A
\n4522 PRINT AT LN,Z;"%D%E";X
\n4524 IF TP THEN LPRINT "%D%E";P$
\n4526 SCROLL
\n4528 GOTO AS
\n4600 LET TO=TO+DE*X
\n4602 LET NU=NU+DE*A
\n4604 LET X2=X*X
\n4606 LET SX2=SX2+DE*X2
\n4608 RETURN
\n5300 LET TO=Z
\n5305 LET NU=Z
\n5310 LET SX2=Z
\n5325 RETURN
\n5400 CLS
\n5401 FAST
\n5403 LET S$="%E%N%T%E%R% %N%E%W% %H%E%A%D%I%N%G"
\n5405 GOSUB PT
\n5406 INPUT X$
\n5407 IF X$="" THEN LET X$="**"
\n5408 CLS
\n5410 LPRINT U$;TAB J;"NEW HEADING",,,X$,TAB J+F,U$
\n5415 FAST
\n5416 RETURN
\n5500 PRINT AT Z,Z;" %T=TOTALS %S=STATISTICS %Q=QUIT "
\n5502 IF R1 THEN PRINT AT A,Z;"%X=DELETE %*=+REMARKS (-)=-REMARKS"
\n5504 IF R1=Z THEN PRINT AT A,Z;"%X=DELETE (*)=+REMARKS %-=-REMARKS"
\n5515 PRINT AT B,Z;G$+"%4%2%9%1"
\n5520 RETURN
\n5600 LET T2=Z
\n5601 LET I$=";"
\n5602 LET BK=9992
\n5603 IF T2 AND TP AND I$<>";" THEN LPRINT U$;TAB J;"CONTINUATION",,,I$
\n5605 IF NOT TP THEN GOTO 5625
\n5610 GOSUB 5400
\n5615 LET I$=X$
\n5620 LPRINT U$,,
\n5625 LET R1=Z
\n5630 CLS
\n5635 GOSUB 6900
\n5637 IF T2 THEN GOTO 5737
\n5640 LET S$=M$+"% %I%N%I%T%I%A%L% %B%A%L%A%N%C%E"
\n5650 LET TD=Z
\n5655 GOSUB PT
\n5660 GOTO 6930
\n5662 IF Y$="*" OR Y$="-" THEN GOTO 5630
\n5665 CLS
\n5670 GOSUB 6900
\n5675 LET BA=VAL Y$
\n5680 LET V$="%B%A$"
\n5685 PRINT AT LN,Z;V$;Y$
\n5686 LET Z$=Y$
\n5690 GOSUB LP-F
\n5700 GOSUB 6900
\n5705 LET V$="-$="
\n5707 PRINT AT LN,Z;V$;
\n5708 LET TD=A
\n5710 GOTO 6930
\n5712 IF Y$="*" OR Y$="-" THEN GOTO 5700
\n5713 IF CODE Y$<T+C OR CODE Y$>U+I THEN LET TD=B
\n5714 IF CODE Y$<T+C OR CODE Y$>U+I THEN GOTO 6930
\n5715 LET EN=VAL Y$
\n5716 LET V$="-$"
\n5720 PRINT AT LN,Z;V$;EN;
\n5722 IF R1 THEN LPRINT V$;Y$;
\n5723 LET Z$=Y$
\n5725 IF NOT R1 THEN GOSUB LP-F
\n5730 IF R1 THEN GOSUB PT+J
\n5735 LET BA=BA-EN
\n5737 LET Y$=STR$ BA
\n5740 IF BA<=0 THEN GOSUB 6975
\n5742 LET T2=A
\n5745 GOTO 5680
\n5750 LET V$="%+$"
\n5755 PRINT AT LN,Z;V$;Y$(B TO LEN Y$)
\n5757 LET Z$=Y$(B TO LEN Y$)
\n5760 GOSUB LP
\n5770 LET BA=BA+VAL Y$(B TO LEN Y$)
\n5772 LET Y$=STR$ BA
\n5775 IF BA<=0 THEN GOSUB 6975
\n5780 GOTO 5680
\n6900 FAST
\n6901 IF NOT R1 THEN PRINT AT Z,Z;" %Q=QUIT (*)=+REMARKS %-=-REMARKS "
\n6905 IF R1 THEN PRINT AT Z,Z;" %Q=QUIT %*=+REMARKS (-)=-REMARKS "
\n6910 PRINT AT A,Z;" PRECEDE DEPOSITS WITH ""+"" "
\n6912 PRINT AT B,Z;" DELETE ERROR BY DEPOSITING BACK"
\n6915 PRINT AT B,Z;G$+"%5%6%0%0"
\n6920 RETURN
\n6930 INPUT Y$
\n6932 FAST
\n6935 IF Y$="" THEN GOTO 6930
\n6945 IF Y$="Q" THEN LET BK=9992
\n6947 IF Y$="Q" THEN GOTO 9960
\n6950 IF Y$="*" THEN LET R1=A
\n6955 IF Y$="-" THEN LET R1=Z
\n6960 IF CODE Y$=(LN AND NOT TD) THEN GOTO 5630
\n6965 IF CODE Y$=(LN AND TD) THEN GOTO 5750
\n6966 IF NOT TD THEN GOTO 5662
\n6968 IF TD=A THEN GOTO 5712
\n6970 IF TD=B THEN GOTO 5714
\n6975 LET Y$=STR$ BA
\n6980 FOR P=A TO LEN Y$
\n6985 LET Y$(P)=CHR$ (CODE Y$(P)+128)
\n6990 NEXT P
\n6995 RETURN
\n7000 FAST
\n7001 LET T3=Z
\n7002 LET J$=";"
\n7003 LET SC=8300
\n7004 DIM R$(U+B)
\n7005 DIM W$(U+B)
\n7006 IF T3 AND TP AND J$<>";" THEN LPRINT U$;TAB J;"CONTINUATION",,,J$
\n7007 LET TZ=Z
\n7008 GOSUB SC
\n7009 LET P$=X$
\n7010 CLS
\n7011 IF TP THEN GOSUB 5400
\n7012 IF TP THEN LET J$=X$
\n7018 IF T3 THEN GOTO 7420
\n7019 CLS
\n7020 LET S$="%T%R%A%N%S%F%O%R%M% %O%N%L%Y%? Y/N"
\n7025 GOSUB PT
\n7026 GOSUB XS
\n7027 FAST
\n7030 IF X$="Y" THEN LET TT=Z
\n7035 IF X$="N" THEN LET TT=A
\n7036 IF NOT TT THEN GOTO 7045
\n7040 GOSUB 8350
\n7041 LET DE=A
\n7042 LET TV=A
\n7043 LET BK=9995
\n7044 GOTO 7075
\n7045 LET S$="%T%W%O% %V%A%R%I%A%B%L%E%S%? Y/N "
\n7050 GOSUB PT
\n7055 GOSUB XS
\n7056 CLS
\n7060 IF X$="N" THEN LET TV=Z
\n7065 IF X$="Y" THEN LET TV=A
\n7075 LET TZ=A
\n7076 GOSUB SC
\n7077 LET S$=M$+"% %F%U%N%C%T%I%O%N% %F%(%X%)"
\n7078 GOSUB PT
\n7085 INPUT D$
\n7086 CLS
\n7095 LET X=J
\n7102 LET W=VAL D$
\n7104 LET R$="%F="+D$
\n7106 IF TP THEN LPRINT U$,,R$
\n7110 IF (TT OR TV) THEN GOTO 7120
\n7114 IF TP THEN LPRINT
\n7115 IF TP THEN LPRINT P$
\n7116 GOTO XY
\n7120 LET TZ=B
\n7121 GOSUB SC
\n7122 LET S$=M$+"% %F%U%N%C%T%I%O%N% %G%(%Y%)"
\n7123 GOSUB PT
\n7124 INPUT E$
\n7125 CLS
\n7127 LET Y=J
\n7130 LET W=VAL E$
\n7132 LET W$="%G="+E$
\n7134 IF TP THEN LPRINT W$,,P$
\n7160 IF NOT TV THEN LET TZ=C
\n7161 IF TV THEN LET TZ=D
\n7162 IF TT THEN LET TZ=E
\n7163 LET BK=9995
\n7165 GOSUB SC
\n7170 PRINT AT T,Z;"X=? "
\n7180 INPUT K$
\n7185 IF K$="" THEN GOTO XY+T
\n7190 IF K$="Q" THEN GOTO DS
\n7192 IF TT THEN IF K$="X" THEN GOTO 8200
\n7195 IF TT THEN IF K$="C" THEN GOTO 7370
\n7200 LET X=VAL K$
\n7205 LET TX=VAL D$
\n7210 LET V$=STR$ TX
\n7215 IF LN=T+A THEN PRINT AT T,Z;"X=";X;AT T,J+H;TX
\n7217 IF LN=T THEN PRINT AT T,Z;"%D%X";X;TAB J+H;"% ";TX
\n7220 IF TP AND LN=T+A THEN LPRINT K$;TAB J+H;V$
\n7222 IF TP AND LN=T THEN LPRINT "%D%X";K$;TAB J+H;"% ";V$
\n7225 IF NOT TV THEN SCROLL
\n7230 IF NOT TV THEN GOTO XY
\n7235 GOSUB SC
\n7240 FAST
\n7241 IF LN=T+A THEN PRINT AT LN,Z;"Y=? "
\n7242 IF LN=T THEN PRINT AT T+A,Z;"%Y=? "
\n7250 INPUT L$
\n7260 IF L$="" OR L$="Q" OR L$="C" OR L$="X" THEN GOTO 7250
\n7270 LET Y=VAL L$
\n7275 LET TY=VAL E$
\n7276 IF TT THEN LET NM=NM+DE*A
\n7280 LET O$=STR$ TY
\n7285 IF LN=T+A THEN PRINT AT LN,Z;;"Y=";Y;TAB J+H;TY
\n7287 IF LN=T THEN PRINT AT T+A,Z;"%D%Y";Y;TAB J+H;"% ";TY
\n7306 FAST
\n7307 SCROLL
\n7310 SCROLL
\n7312 SCROLL
\n7313 IF TP AND LN=T+A THEN LPRINT L$;TAB J+H;O$
\n7314 IF TP AND LN=T THEN LPRINT "%D%Y";L$;TAB J+H;"% ";O$
\n7315 IF TP THEN LPRINT
\n7316 IF TT THEN GOTO 7330
\n7320 IF TV THEN GOTO XY
\n7330 LET CX=CX+DE*TX
\n7335 LET CY=CY+DE*TY
\n7340 LET C2=TX*TX
\n7345 LET D2=TY*TY
\n7350 LET CX2=CX2+DE*C2
\n7355 LET CY2=CY2+DE*D2
\n7360 LET CXY=CXY+DE*(TX*TY)
\n7362 LET DE=A
\n7364 LET LN=T+A
\n7366 GOTO XY
\n7370 IF (NOT NM OR NM-B<=Z) THEN GOTO XY
\n7375 CLS
\n7380 FAST
\n7385 LET NB=CX2-((CX*CX)/NM)
\n7390 LET NT=CXY-((CX*CY)/NM)
\n7395 LET SL=NT/NB
\n7400 LET IN=(CY/NM)-SL*(CX/NM)
\n7405 LET SP=CY2-((CY*CY)/NM)
\n7410 LET SE=SQR ABS ((SP-(SL*NT))/(NM-B))
\n7415 LET R2=((NM*CXY-CX*CY)/SQR ABS ((NM*CX2-(CX*CX))*(NM*CY2-(CY*CY))))**2
\n7420 CLS
\n7422 PRINT AT Z,Z;U$;AT D,G;"%S%L=";SL;TAB G;"%I%N=";IN;TAB G;"%S%E=";SE;TAB G;"%R%2=";R2;AT J+A,Z;"%G= ";SL;" *%F+ ";IN;AT J+D,Z;"WHERE:",,,AT J+F,Z;"%G=";E$;AT J+H,Z;"%F=";D$;AT LN,Z;"%H%I%T% "+M$
\n7423 LET T3=A
\n7424 PAUSE 4E4
\n7426 PRINT AT LN,Z;U$
\n7428 IF TP THEN COPY
\n7430 LET S$="%R%E%S%U%M%E%? Y/N"
\n7492 GOSUB PT
\n7494 GOSUB XS
\n7500 IF X$="N" THEN GOTO 9960
\n7501 CLS
\n7505 GOTO XY
\n8200 IF NOT NM THEN GOTO XY
\n8205 LET DE=-A
\n8210 LET S$="%X=?"
\n8215 LET LN=T
\n8220 GOSUB PT
\n8225 GOTO 7180
\n8302 FAST
\n8304 LET X$="\##\##%D%A%T%A\##\##\##\##\##\##\##\##\##\##\##\##%T%R%A%N%S%F%O%R%M\##\##\##\##\##"
\n8306 IF TZ=A THEN PRINT AT Z,Z;G$+"%7%0%7%5"
\n8308 IF TZ=B THEN PRINT AT Z,Z;G$+"%7%1%2%0"
\n8310 IF TZ=C OR TZ=D THEN PRINT AT Z,Z;" %Q=QUIT "
\n8312 IF TZ=C OR TZ=D OR TZ=E THEN PRINT AT A,Z;G$+"%7%1%6%0"
\n8314 IF TZ=C THEN PRINT AT B,Z;R$;AT C,Z;X$
\n8316 IF TZ=D OR TZ=E THEN PRINT AT B,Z;R$;AT C,Z;W$;AT D,Z;X$
\n8318 IF TZ=E THEN PRINT AT Z,Z;" %X=DELETE %C=COMPUTE %Q=QUIT "
\n8320 RETURN
\n8350 LET CX=Z
\n8352 LET CY=Z
\n8354 LET CX2=Z
\n8356 LET CY2=Z
\n8358 LET CXY=Z
\n8360 LET NM=Z
\n8362 RETURN
\n8400 FAST
\n8402 LET TJ=Z
\n8405 CLS
\n8407 LET BK=8400
\n8410 LET SK=9600
\n8415 LET BI=9500
\n8420 GOSUB SK
\n8425 LET S$=M$+"% %P%R%E%S% %V%A%L"
\n8430 GOSUB PT
\n8435 GOSUB BI
\n8440 IF X$="?" THEN LET TJ=A
\n8442 IF X$="?" THEN GOTO 8455
\n8445 LET PV=VAL X$
\n8455 GOSUB SK
\n8460 LET S$="%0%/%0% %I%N%T"
\n8465 GOSUB PT
\n8470 GOSUB BI
\n8475 IF X$="?" THEN LET TJ=B
\n8477 IF X$="?" THEN GOTO 8490
\n8480 LET IT=VAL X$/100
\n8490 GOSUB SK
\n8495 LET S$="%N%U%M% %P%D%S"
\n8500 GOSUB PT
\n8505 GOSUB BI
\n8510 IF X$="?" THEN LET TJ=C
\n8515 IF X$="?" THEN GOTO 8522
\n8520 LET PD=INT VAL X$
\n8522 GOSUB SK
\n8525 LET S$="%A%M%O%U%N%T"
\n8530 GOSUB PT
\n8535 GOSUB BI
\n8540 IF X$="?" THEN LET TJ=D
\n8542 IF X$="?" THEN GOTO 8560
\n8545 LET AM=VAL X$
\n8560 IF TJ=D THEN LET AM=PV*(A+IT)**PD
\n8565 IF TJ=A THEN LET PV=AM*(A+IT)**(-PD)
\n8570 IF TJ=B THEN LET IT=((AM/PV)**(A/PD))-A
\n8575 IF TJ=C THEN LET PD=(LN AM-LN PV)/(LN (A+IT))
\n8580 CLS
\n8585 PRINT AT Z,Z;U$;AT C,E;"COMPOUND INTEREST";AT G,G;"%P%V=$";PV;TAB G;"%I%T=";IT*100;" %0%/%0";TAB G;"%P%D=";PD;TAB G;"%A%M=$";AM;AT F+TJ,E;"%?>";AT LN,Z;"%H%I%T% "+M$
\n8590 PAUSE 4E4
\n8595 PRINT AT LN,Z;U$
\n8600 IF TP THEN COPY
\n8610 GOTO 9960
\n9000 CLS
\n9022 IF NOT T1 THEN IF NOT T2 THEN IF NOT T3 THEN GOTO MN
\n9025 FAST
\n9030 PRINT AT B,J;"%C%O%N%T%I%N%U%A%T%I%O%N";AT D,J+C;N$,,TAB D;"1.ACCOUNTING/STATISTICS",TAB D;"2.RUNNING BALANCE",TAB D;"3.REGRESSION",TAB D;"4.DISPOSITION"
\n9035 LET S$=M$+"% "+N$
\n9040 GOSUB PT
\n9045 INPUT X$
\n9050 IF X$<>"1" AND X$<>"2" AND X$<>"3" AND X$<>"4" THEN GOTO 9045
\n9052 FAST
\n9053 CLS
\n9055 GOTO (9060 AND X$="1")+(9070 AND X$="2")+(9080 AND X$="3")+(9800 AND X$="4")
\n9060 IF T1<>A THEN GOTO 9020
\n9065 GOTO 4203
\n9070 IF T2<>A THEN GOTO 9020
\n9075 GOTO 5603
\n9080 IF T3<>A THEN GOTO 9020
\n9085 GOTO 7006
\n9500 INPUT X$
\n9505 IF X$="" THEN GOTO 9500
\n9510 IF X$="Q" THEN GOTO DS
\n9515 FAST
\n9520 IF TJ AND X$="?" THEN GOTO 9500
\n9525 RETURN
\n9600 CLS
\n9610 FAST
\n9615 PRINT AT Z,J+B;"%Q=QUIT";AT B,D;M$+"% %?% %F%O%R% %U%N%K%N%O%W%N% %O%N%L%Y";AT D,Z;G$+"%8%4%0%0"
\n9620 RETURN
\n9800 FAST
\n9801 CLS
\n9802 PRINT AT G,J+A;"%O%P%T%I%O%N%S",,TAB J;"1.MENU",TAB J;"2.RECALL",TAB J;"3.BACK";TAB J;"4.CONTINUATION",TAB J;"5.SAVE ""DO-CALC""",TAB J;"6.STOP"
\n9808 LET S$=M$+"% "+N$
\n9810 GOSUB PT
\n9811 INPUT X$
\n9812 FAST
\n9814 IF X$<>"1" AND X$<>"2" AND X$<>"3" AND X$<>"4" AND X$<>"5" AND X$<>"6" THEN GOTO 9811
\n9816 GOTO (MN AND X$="1")+(RC AND X$="2")+(BK AND X$="3")+(9000 AND X$="4")+(9832 AND X$="5")+(9818 AND X$="6")
\n9818 CLS
\n9820 PRINT AT H,D;"OPEN FOR DIRECT COMMANDS";TAB I;"(GOTO DS-AFTER)"
\n9822 STOP
\n9832 CLS
\n9834 PRINT AT J,J+B;"RECORDER?"
\n9836 LET S$="%H%I%T% "+M$
\n9838 GOSUB PT
\n9840 PAUSE 4E4
\n9842 SAVE "DO-CALC"
\n9843 GOTO 150
\n9900 INPUT X$
\n9902 IF X$<>"Y" AND X$<>"N" THEN GOTO XS
\n9904 RETURN
\n9906 DIM T$(LEN S$)
\n9907 SLOW
\n9908 FOR W=A TO A
\n9910 PRINT AT LN,PP;T$;AT LN,PP;S$;AT LN,PP;T$;AT LN,PP;S$
\n9912 NEXT W
\n9914 RETURN
\n9916 LET S$="%R%E%M%A%R%K%:"
\n9918 LET PP=T
\n9920 GOSUB PT
\n9921 LET PP=Z
\n9922 INPUT Q$
\n9924 PRINT AT LN,T;Q$
\n9925 SCROLL
\n9926 IF TP THEN LPRINT AT LN,T;Q$
\n9927 FAST
\n9928 RETURN
\n9930 IF TP THEN LPRINT Y$
\n9932 SCROLL
\n9934 RETURN
\n9936 IF TP THEN LPRINT V$;Z$
\n9938 SCROLL
\n9940 RETURN
\n9942 IF NOT R1 THEN GOSUB LP-F
\n9944 IF R1 THEN IF TP THEN LPRINT V$;Z$;
\n9946 IF R1 THEN GOSUB PT+J
\n9948 GOSUB 5500
\n9950 RETURN
\n9960 LET S$=M$+"% %A%S% %C%O%N%S%T%A%N%T%(%S%)%? Y/N "
\n9970 GOSUB PT
\n9975 GOSUB XS
\n9976 FAST
\n9980 IF X$="N" THEN GOTO DS
\n9985 CLS
\n9990 GOTO 1705
\n9992 CLS
\n9993 GOTO 5737
\n9995 CLS
\n9996 GOTO XY
\n9999 STOP