TS-2068 Super Calc gathers nine personal and business finance tools behind one menu. On screen it answers loan questions (the balance, interest paid and principal paid after any payment number), runs a quick savings calculation, works through a commercial property analysis that weighs income against expenses, labour and a 6% savings alternative, and offers an interest calculator for monthly, annual and cumulative interest, depreciation and mark-ups or mark-downs. A calculator mode keeps a running total and can apply a fixed amount or percentage to every entry. Four options produce printed reports: a loan cost table per $1,000 by rate and term, a full amortization schedule, a month-by-month savings schedule and an investment growth schedule.
The program is credited to Bill Jones. Its menu originally also offered “Operate View Calc” and “Operate Hybiscus”, which chained to other programs in his Hybiscus TS-2068 software system (V-CALC.B6 and Daisy.B6); those files are not on the disk. The program carries disk commands for both the Larken (LKDOS) and Oliger (JLO) systems, one set REMmed out, and this copy came from an Oliger disk.
Program Analysis
Structure
The program starts at line 9038 by asking which printer is in use (TS2040, dot matrix or daisy wheel), then shows the menu and waits with PAUSE 0. A single computed GO TO at 9042 turns the key code into a line number, each term being a comparison multiplied by a target line. The screen tools are at 9130 (commercial analysis), 9172 (quick savings), 9192 (loan inquiry), 9360 (calculator) and 9540 (interest calculator); the printed reports are at 9048 (amortization), 9108 (savings), 9242 (investment) and 9254 (loan cost table, read from 31 rows of DATA covering 5% to 20%).
Printer handling
For the dot-matrix and daisy-wheel choices the subroutine at 9348 sends Epson-style escape codes with OUT 127 and waits for the interface by looping until IN 127 returns 237, so those choices need a parallel printer interface on port 127. Each printed report ends with OUT 127,12 for a form feed. With the TS2040 the reports go out through LPRINT, but their lines are laid out for a wide printer with TAB positions up to 54.
Notable Techniques
- Numbers are written as
VAL "n"throughout to save memory. - Menu dispatch with one Boolean-arithmetic
GO TOexpression instead of a chain ofIFlines. - In the calculators the variable
qis set to 9e12, so typingqat a numericINPUTevaluates to that sentinel and quits. - Numeric
INPUTaccepts expressions such asSQR 16or6*8, and the calculator offers three spare variablesa,b,cfor use in them. - User-defined functions (
FN i(),FN r(),FN a()) hold the monthly-interest, balance and column-alignment formulas. - The menu screen is built by lines 8000–8020 with block graphics and
INVERSEbars.
Potential Issues
- The amortization routine finds the monthly payment by trial and adjustment with a set of hand-tuned correction factors (lines 9054–9080) rather than the payment formula, so it is very slow: in ZEsarUX a 30-year loan was still searching for its payment after six minutes, and a 2-year loan after more than one minute.
- In the commercial analysis the “Net Yr Earnings” figure is always earnings times 15, whatever term was entered.
- Line 9082 uses
PRINTinstead ofLPRINTfor the mortgage-points note, so it goes to the screen while the rest of the report is printed. - Line 9554 refers to a variable
Xthat is never set, but it cannot be reached; lines 9188–9190 are an unused calculator stub ending inSTOP.
This copy came from an Oliger (JLO) disk and was converted for tape. The two menu items that chained to Hybiscus programs missing from the disk were removed, and the menu is now drawn by the program instead of being reloaded from the disk as a SCREEN$ each time. The “Type DOS?” question and the LKDOS and JLO printer-channel set-up were removed, and the printer subroutine now returns at once when the TS2040 is chosen (the original sent OUT 127 codes and waited for a parallel interface even then). It was tested in ZEsarUX with the TS2040 option.
Source Code
8000 BORDER VAL "1": PAPER VAL "1": INK VAL "7": CLS
8002 PRINT INK VAL "2";"................................................................"'AT VAL "21",VAL "0";"................................................................": INK VAL "5": FOR n=VAL "1" TO VAL "20": PRINT AT n,VAL "0";": ";AT n,VAL "31";": ": NEXT n
8004 INK VAL "5": PRINT AT VAL "1",VAL "1";"............................................................";AT VAL "20",VAL "1";"............................................................"
8006 INK VAL "2": FOR n=VAL "2" TO VAL "19": PRINT AT n,VAL "1";": ";AT n,VAL "30";": ": NEXT n
8008 INK VAL "2": PRINT AT VAL "0",VAL "0";":'";AT VAL "0",VAL "31";". ";AT VAL "21",VAL "0";":.";AT VAL "21",VAL "31";".:"
8010 INK VAL "5": PRINT AT VAL "1",VAL "1";":'";AT VAL "1",VAL "30";". ";AT VAL "20",VAL "1";":.";AT VAL "20",VAL "30";".:": INK VAL "7"
8012 PRINT AT VAL "2",VAL "3"; INVERSE VAL "1"; INK VAL "2";"....................................................";AT VAL "3",VAL "3"; INK VAL "5";": "; INK VAL "7";AT VAL "3",VAL "4";": TS-2068 SUPER CALC "; INVERSE VAL "0";": "; INK VAL "5";": ";AT VAL "3",VAL "2"; INK VAL "2";": ";AT VAL "3",VAL "29";": ";AT VAL "2",VAL "2";": ";AT VAL "2",VAL "29";": ";AT VAL "4",VAL "2"; INK VAL "5";": ....................................................: "
8014 PRINT AT VAL "6",VAL "3"; INVERSE VAL "1";"[1] Calculator Mode "; INVERSE VAL "0"
8016 PRINT AT VAL "7",VAL "3";"[2] Loan Cost Spread Sheet"; INVERSE VAL "1";AT VAL "8",VAL "3";"[3] Amortization Sp Sheet "; INVERSE VAL "0";AT VAL "9",VAL "3";"[4] Loan Pmt Inquiry"; INVERSE VAL "1";AT VAL "11",VAL "3";"[5] Commer Loan Analysis ";AT VAL "12",VAL "3"; INVERSE VAL "0";"[6] Systematic Saving SSHT"; INVERSE VAL "0";AT VAL "13",VAL "3"; INVERSE VAL "1";"[7] Quick Saving Calc "
8018 PRINT AT VAL "14",VAL "3"; INVERSE VAL "0";"[8] Fixed Investment SSHT "; INVERSE VAL "1";AT VAL "16",VAL "3";"[9] Information Products "; INVERSE VAL "0";AT VAL "20",VAL "6"; PAPER VAL "5"; INK VAL "2";".'"; INK VAL "0";" Touch Selection "; INK VAL "2"; INVERSE VAL "1";".'"; INVERSE VAL "0"; PAPER VAL "1": INK VAL "7"
8020 INK VAL "7": RETURN
8022 REM (LKDOS) RANDOMIZE USR VAL "100": SAVE "cal.C2"SCREEN$ : STOP
8024 REM SAVE /"cal.C2"SCREEN$ : STOP
8026 REM ** After constructing the Menu, remove REM for DOS you have and SAVE. ** DELETE lines thru Line 9026. ** Program begins with Line # 9038
9016 DEF FN h()=c*i
9018 DEF FN l()=b5+b5*xb/100
9020 DEF FN m()=b5-b5*xb/100
9022 DEF FN n()=b5+xa
9024 DEF FN o()=b5-xa
9026 DEF FN v()=((xpmt-p2)/t2/-a2 AND xpmt<p2 AND int>.149)+((p2-xpmt)/t2/10 AND xpmt>p2 AND int>.149)+((xpmt-p2)/t2/a1 AND xpmt<p2 AND int<.15)+((p2-xpmt)/t2/4 AND xpmt>p2 AND int<.15)
9028 DEF FN a()=tad-LEN STR$ INT x
9030 DEF FN i()=INT (100*(p*i/12+.005))/100
9032 DEF FN p()=pmt-FN i()
9034 DEF FN r()=p-(pmt-i2)
9036 DEF FN x()=prin-(prin-p)
9038 GO SUB VAL "9342"
9040 REM LKDOS BORDER VAL "1": PAPER VAL "1": INK VAL "7": CLS : RANDOMIZE USR VAL "100": LOAD "cal.C2"SCREEN$
9041 BORDER VAL "1": PAPER VAL "1": INK VAL "7": CLS : LET tad=24: GO SUB VAL "8000"
9042 PAUSE VAL "0": LET z=CODE INKEY$-VAL "48": GO TO (z<VAL "0" OR z>VAL "10")*VAL "9042"+(z=VAL "1")*VAL "9360"+(z=VAL "2")*VAL "9254"+(z=VAL "3")*VAL "9048"+(z=VAL "4")*VAL "9192"+(z=VAL "5")*VAL "9130"+(z=VAL "6")*VAL "9108"+(z=VAL "7")*VAL "9172"+(z=VAL "8")*VAL "9142"+(z=VAL "9")*VAL "9540"+(z=VAL "0")*VAL "9238"+(z=VAL "10")*VAL "9240"
9044 REM Estimated Amortization
9048 CLS : GO SUB VAL "9348": CLS : PRINT AT VAL "6",VAL "1";"Loan Amortization Spreadsheet": INPUT "Enter Total Purchase Price $";tpp: INPUT "Enter Down Payment $";dp: LET prinx=tpp-dp: INPUT "Enter Points, 0 if none";pts: LET point=(pts/VAL "100")*prinx: LET prin=prinx+point: LET p2=prin
9050 INPUT "Input Interest rate % ";i: LET int=i/VAL "100": LET di=int*prin/VAL "12": INPUT "Time in years?";time: LET t2=time*VAL "12": IF pts>VAL "0" THEN GO SUB VAL "9236"
9052 CLS : PRINT #VAL "0"; INVERSE VAL "1";"Calculating Spreadsheet . . ."
9054 LET a1=-VAL "4.5": LET a1=a1+(i-VAL "5")*VAL ".12": IF time>VAL "30" THEN LET a1=-VAL "9": IF time>VAL "30" THEN LET a1=-VAL "11"
9056 LET a2=(-VAL "20" AND time<VAL "20.1")+(-VAL "25" AND time>VAL "20" AND time<VAL "30.1")+(-VAL "35" AND time>VAL "30" AND time<VAL "35.1")+(-VAL "70" AND time>VAL "35" AND time<VAL "40.1"): IF i>VAL ".15" AND time>VAL ".15" THEN LET a2=a2*-VAL "1"+time-VAL "15": IF time>VAL "28" AND int>VAL ".15" THEN LET a2=a2*VAL "2": IF time>VAL "33" AND int>VAL ".17" THEN LET a2=a2*VAL "2"
9058 LET p2=prin: LET di=int/VAL "12": LET xpmt=INT (VAL "1000"*(prin*int/VAL "12"+VAL "1"/time))/VAL "1000"
9060 PRINT AT VAL "10",VAL "0";"Calculating Amortization for:"''"$";prin;" at ";i;"% for ";time;" Years."''"Loan Points are ";pts''"Wait for calculations. ."
9062 LET a=VAL "0": LET b=VAL "0": LET c=VAL "0"
9064 FOR y=1 TO t2-1: GO SUB 9088
9066 GO SUB 9086
9068 NEXT y
9070 LET x5=xpmt: LET p2=INT (100*p2+.5)/100: LET x6=ABS (p2-xpmt): IF x6<.01*(t2+t2/1.6) THEN GO TO 9082
9072 LET x7=ABS (p2-xpmt): IF time>24 AND time<30 AND x7<t2/18 OR time>29.9 AND time<35 AND x7<t2/4 OR time>34.9 AND x7<t2/3 THEN GO TO 9082
9074 LET x8=ABS (p2-xpmt): IF time>30 AND x8<t2/10 OR time>34 AND x8<t2/1.5 OR time>37 AND x8<t2 THEN GO TO 9082
9076 LET xpmt=INT (100*(xpmt+FN v())+.5)/100: IF xpmt=x5 AND ABS (p2-xpmt)<t2/20 THEN GO TO 9082
9078 LET a=0: LET b=0: LET c=0: LET p2=prin: IF x5=xpmt THEN LET xpmt=(xpmt+.01 AND xpmt<p2)+(xpmt-.01 AND xpmt>p2)
9080 GO TO 9062
9082 LET p2=prin: LET a=0: LET b=0: LET c=0: LPRINT TAB 8;"Amortization Schedule for $";prinx;" at ";i;"% Interest for ";time;" Years"''TAB VAL "27";"Mortgage Points= ";pts''TAB VAL "20";"Regular Monthly Payment= $";xpmt'': IF pts>VAL "0" THEN PRINT TAB VAL "8";"Note: ";pts;" Mortgage Points makes the Beginning Mortgage Princpal=$";prin''
9084 LPRINT TAB VAL "8";"Pmt #";TAB VAL "20";"Details"'': FOR y=VAL "1" TO t2-VAL "1": GO SUB VAL "9088": LET b=b+a: GO SUB VAL "9094": NEXT y: GO TO VAL "9100"
9086 LET b=b+a: LET pmt=xpmt-a: LET p2=p2-pmt: LET a=0: LET c=c+pmt: RETURN
9088 LET a=0: LET a=a+int*p2/12: GO SUB 9090: RETURN
9090 IF xpmt<a THEN LET xpmt=a*1.008: LET p2=prin: LET a=0: LET b=0: LET c=0: GO TO 9062
9092 RETURN
9094 LET p2=p2+a: LET pmt=xpmt-a: LET p2=p2-xpmt: LPRINT TAB VAL "8";"#";y;TAB VAL "13";"Int=";TAB VAL "28";"$";INT (VAL "100"*a+VAL ".5")/VAL "100";TAB VAL "40";"Tot Int=";TAB VAL "52";"$";INT (VAL "100"*b+VAL ".5")/VAL "100"': LET a=VAL "0"
9096 LET c=c+pmt: LPRINT TAB VAL "13";"Pmt to Prin=";TAB VAL "28";"$";INT (VAL "100"*pmt+VAL ".5")/VAL "100";TAB VAL "40";"Prin Bal=";TAB VAL "52";"$";INT (VAL "100"*p2+VAL ".5")/VAL "100"''
9098 RETURN
9100 GO SUB VAL "9088": LET pmt=p2: LET p2=p2+a: LET b=b+a: LET c=c+pmt: LPRINT TAB VAL "8";"Final Payment=";TAB VAL "28";"$";INT (VAL "100"*p2+VAL ".5")/VAL "100"''TAB VAL "8";"#";y;TAB VAL "13";"Int=";TAB VAL "28";"$";INT (VAL "100"*a+VAL ".5")/VAL "100";TAB VAL "40";"Tot Int=";TAB VAL "52";"$";INT (VAL "100"*b+VAL ".5")/VAL "100"'TAB VAL "13";"Pmt to Prin=";INT (VAL "100"*pmt+VAL ".5")/VAL "100";TAB VAL "40";"Prin Bal=";TAB VAL "54";"0"''
9101 LPRINT TAB VAL "30";"Summary"''TAB VAL "5";"Principle= $";prin;" // Time=";time;" Yrs // Interest=";i;"% // Regular Pmt=$";INT (xpmt*VAL "100"+VAL ".5")/VAL "100"'TAB VAL "6";"Final Pmt= $";INT (VAL "100"*p2+VAL ".5")/VAL "100";" // Tot Int= $";INT (VAL "100"*b)/VAL "100";" // Tot Loan Cost= $";INT (VAL "100"*(b+c))/VAL "100"'TAB VAL "6";"Total Contract Cost (Pmts + Down Pmt= $";INT (VAL "100"*(b+c+dp))/VAL "100"''
9102 LPRINT TAB VAL "6";"The Loan Cost Per $1000 is $";INT (VAL "100"*INT (VAL "100"*(b+c))/VAL "100"/(prinx/VAL "1000")/t2)/VAL "100"'': IF pts>VAL "0" THEN LPRINT TAB VAL "6";"NOTE: The ";pts;" Mortgage Points makes the actual APR Interest approx: ";pts/VAL "5"+i;"%"'TAB VAL "6";"and increases the Total Cost of the Mortgage by approx $";pts*VAL ".1"*(prinx/VAL "1000")*t2''TAB VAL "6";"The effect of Points increases as Mortgage Time Increases."
9104 OUT VAL "127",VAL "12": GO TO VAL "9040"
9106 REM ** Savings
9108 CLS : LET gg=VAL "0": PRINT AT VAL "10",VAL "0";"Computing SAVINGS at various Rates and TIME": INPUT "Enter Beginning Savings to be added to (0 if none) $";beg: INPUT "Enter Amount to Save Monthly $";c: INPUT "Enter Interest Rate ";i: INPUT "Enter time in Yrs or .5 fraction";time: LET int=i/VAL "1200": LET v=beg
9110 LET y=VAL "1": LET b=VAL "0": LET a=VAL "0": GO SUB VAL "9348"
9112 PRINT "Calculating Savings of $";c'"Per Month / At ";i;"% Int For ";time;" Yrs": LPRINT TAB VAL "6";"Monthly Summary for Saving $";c;" Per Month At ";i;"% For ";time;" Years"''
9114 FOR n=VAL "1" TO time
9116 LPRINT TAB VAL "6";"Year #";n''
9118 FOR y=y TO y+VAL "11"
9120 LET a=v*int: LET b=b+a: LET v=v+c+a: LET v=INT (v*VAL "100"+VAL ".5")/VAL "100": LPRINT TAB VAL "6";"Month #";y;TAB VAL "16";"Cur Int=$";INT (VAL "100"*a+VAL ".4")/VAL "100";TAB VAL "34";"Tot Int=$";INT (b*VAL "100"+VAL ".5")/VAL "100";":";TAB VAL "53";" Tot Save= $";v''
9122 NEXT y: NEXT n
9124 IF gg=VAL "1" THEN LET gg=VAL "0": RETURN
9126 OUT VAL "127",VAL "12": GO TO VAL "9040"
9128 REM Investments
9130 CLS : PRINT INVERSE VAL "1";"RULES FOR COMMERCIAL PROPERTY"; INVERSE VAL "0";''"1. Be aware that the PRICE AND TERMS ARE NEGOTIABLE."''"2. The Appraised value should provide the security needed for a 15 Year Loan of 95% of the TOTAL Selling Price. IF NOT, BEWARE!"''
9132 PRINT "3. LOAN INTEREST should be not over 2% ""Above PRIME RATE"" ""WITHOUT POINTS."" ELSE, LOOK FOR ANOTHER DEAL."
9134 PRINT '"4. Most confuse the purpose of a Commercial Property, which is "; INVERSE VAL "1";"TO PRODUCE PROFITS"; INVERSE VAL "0";" - AND"'TAB VAL "3";"NOT TO SPECULATE FOR RESALE."
9136 PRINT '"5. THE PRIME RULE is that the INCOME must PAY the DEBT SERVICE, -PLUS- COSTS -PLUS- A MONTHLY PROFIT - "; INVERSE VAL "1";"OVER A "; INVERSE VAL "0"'TAB VAL "3"; INVERSE VAL "1";"10 to 15 Year Mortgage Term."; INVERSE VAL "0"''TAB VAL "3";"IF NOT THEN NO DEAL!"
9138 PRINT '"Otherwise, you'll be better off with PURE SAVINGS, and you wont have to work at all!": PRINT #VAL "0";"Enter": PAUSE VAL "0": CLS : PRINT AT VAL "10",VAL "0";"Do you Know the LOAN MONTHLY PAYMENT and Interest factors?"''"If NOT, Lets Start by Using the Main Menu to get an AmortizationSpreadsheet."''"Then Return to this Section via Menu.": INPUT "<1> Get S-SHT <2> Continue";x: IF x=VAL "1" THEN GO TO VAL "9040"
9140 CLS : PRINT AT VAL "8",VAL "0";"Comparative Savings of Monthly Payment Amounts."
9142 INPUT "Enter the MONTHLY PAYMENT of theProposed Contract $";m: INPUT "Enter Down Payment $";dp: INPUT "Enter Years or .5 Year FractionsYrs: ";time: LET i=VAL "6": LET int=i/VAL "1200": LET a=VAL "0": LET b=VAL "0": LET v=VAL "0": LET y=VAL "1": LET gg=VAL "1": PRINT #VAL "0";"Computing Comparative Savings 6%": GO SUB VAL "9176"
9144 CLS : PRINT AT VAL "2",VAL "0";"The Monthly Debt service, if it were SAVED at 6% interest would be worth "; INVERSE VAL "1";"$";v; INVERSE VAL "0";" in ";time;" Yrs."'': BEEP VAL ".2",VAL "18": INPUT "Enter the TIME that you believe that you will spend Daily on this project.";td: BEEP VAL ".2",VAL "20": INPUT "Enter an Hour Value of your time";th
9145 LET plc=VAL "52"*VAL "5"*th*td: LET plct=INT (plc*time): LET vt=INT VAL "100"*(v+plct+VAL ".5")/VAL "100": PRINT "If you spend ";td;" hours per day"'"working on this project, and your time is worth $";th;" per hr,"'"then your labor cost, added to the potential savings is: "' FLASH VAL "1";"$";vt; FLASH VAL "0"
9146 PRINT ''"Please make a note this Figure."'"It can be used by you to decide if your time and risk is worth more or less than the possible gain from the purchase of incomeproducing property."
9148 PRINT #VAL "0";"ENTER": PAUSE VAL "0": CLS : PRINT AT VAL "8",VAL "0";"COST V/S INCOME ANALYSIS": BEEP VAL ".2",VAL "20": INPUT "Enter Your Estimated HIRED LABORCOST PER WEEK (Include SSI and Workman Comp)";lcw: LET lcx=VAL "52"*lcw:
9150 INPUT "Enter Annual Insurance Cost ";inx: INPUT "Enter Annual Property Tax ";tax: INPUT "Enter Local Business tax";btx
9152 INPUT "Enter Estimated Weekly Cost of consumables";conw: LET conx=conw*VAL "52": INPUT "Enter Estimated Monthly Cost of Replacements (Furnature, etc) ";furm: LET furx=furm*VAL "12": INPUT "Input est MONTHLY cost of Cont- ract Service (cleaning, laundry,yard work, etc)";outm: LET outx=outm*VAL "12": INPUT "Input Monthly Utilities total (Phone, gas, elect, garbage, etc)";utlm: LET utlx=utlm*VAL "12"
9154 INPUT "Enter Monthly Debt Service $";xpmt: LET pmtx=xpmt*VAL "12": INPUT "Input Estimated Monthly Gross income from all Sources (Rents, leases, etc) (deduct expected vacancies or losses)";incm: LET incx=incm*VAL "12": INPUT "Enter a year total of ALL other projected expenses not covered ";otx
9156 LET expx=plc+lcx+inx+tax+btx+conx+furx+outx+utlx+pmtx+otx: LET expt=expx*time: LET incxt=incx*time: LET nincx=INT VAL "100"*(incx*VAL ".61"+VAL ".5")/VAL "100": LET nincxt=time*nincx
9158 PRINT "Your Annual Cost is ";expx''"Your Annual Gross income is ";incx''"Projected Net income is ";("POSITIVE" AND incx>expx)+("Negative" AND incx<expx);" ";"$";ABS (incx-expx);" Per Year"
9160 LET diff=ABS (expx-incx)/VAL "12": IF expx>incx THEN PRINT ''"You will need to spend "; INVERSE VAL "1";"$";INT (VAL "100"*diff+VAL ".5")/VAL "100"; INVERSE VAL "0"'"EACH MONTH to make up the diff- erence."
9162 IF expx>incx THEN PRINT '"The only justifiable purpose forcontinuing this plan would be a need for TAX LOSS of $"; INT (VAL "100"*(expx-incx)+VAL ".5")/VAL "100"'"per Year for ";time;" Years."''#VAL "0";"Enter": PAUSE VAL "0": GO TO VAL "9040"
9164 CLS : LET prin=prin+dp: LET eqd=INT (prin-VAL ".0267"*prin): PRINT '' INVERSE VAL "1";time;" Yr SUMMARY"; INVERSE VAL "0"''"Depreciated Equity= $";eqd;'
9166 LET earnx=INT (incx-expx)*VAL ".71": LET earnt=earnx*VAL "15": PRINT '"Net ";time;" Yr Earnings= $";earnt''"Equity + Earning= $";INT (eqd+earnt)''"Disposable Earnings Per Year="'"$";earnx''time;" Yr Capitol Gain= $";INT eqd-dp''
9168 LET tott=earnt+eqd-dp: LET comp=ABS INT (vt-tott): PRINT INVERSE VAL "1";"Comparison Saving V/S Investing"; INVERSE VAL "0"''"Equil ";time;" Yr Saving= $";INT v''"Plus your labor of $";plct''"Total Equil Save=";TAB VAL "18";"$";vt''"Saving at 6% is $";comp;(" Less." AND vt<tott)+(" More." AND vt>tott)''"This is "; INVERSE VAL "1";"$";INT (comp/time); INVERSE VAL "0";" Per Year"''"Favoring ";("Saving." AND vt>tott)+("Buying." AND vt<tott)'' INVERSE VAL "1";"IF Your Bus Factors remain True"; INVERSE VAL "0"
9170 PRINT #VAL "0";"View Again? <1> Yes <2> No": PAUSE VAL "0": CLS : LET z=CODE INKEY$-VAL "48": GO TO (z<2)*VAL "9164"+(z>1)*VAL "9040"
9172 CLS : PRINT AT VAL "10",VAL "5";"Systematic Savings Plan": LET gg=VAL "0": LET a=VAL "0": LET v=VAL "0": LET m=VAL "0"
9174 INPUT "Starting Savings to be Added To (0 if None) $";beg: LET v=beg: INPUT "Input Amount to Save Monthly ";m: INPUT "Input Interest Rate";i: LET int=i/VAL "1200": INPUT "Input Time in Years ";time
9176 FOR n=VAL "1" TO time*VAL "12"
9178 LET a=v*int: LET b=b+a: LET v=v+m+a: LET v=INT (v*VAL "100"+VAL ".5")/VAL "100"
9180 NEXT n
9182 IF gg=VAL "1" THEN LET gg=VAL "0": RETURN
9184 CLS : PRINT AT VAL "10",VAL "0";"Saving $";m;" For ";time;" Yrs at ";i;"%"''"Provides a saving of $";v: PRINT #VAL "0";"Enter": PAUSE VAL "0": CLS : GO TO VAL "9040"
9186 STOP
9188 CLS : PRINT AT VAL "4",VAL "16";"Calculator Mode"''"<1> Single Add, Sub, Mult, Div."
9190 STOP
9192 BORDER VAL "0": PAPER VAL "0": INK VAL "7": CLS : PRINT AT VAL "6",VAL "0";"Mortgage Inquiry By Payment Nbr"
9194 INPUT "Beginning Loan Principle $";prin: INPUT "Input Points (0 if none)";pts: LET p=prin+((prin*pts)/VAL "100"): LET p2=p
9196 INPUT "Input Rate of Interest %";i1: LET i=i1/VAL "100"
9198 INPUT "Input Monthly Payment $";pmt
9200 INPUT "Key in the Payment # to see the accumulated payments";m
9202 LET px=VAL "0": LET int=VAL "0": LET tab=VAL "26"
9204 FOR n=VAL "1" TO m
9206 LET i2=FN i()
9208 LET int=int+i2
9210 LET p=FN r()
9212 LET px=px+FN p()
9214 NEXT n
9216 PRINT '"MORTGAGE STATUS AFTER PMT #"; INVERSE VAL "1";M; INVERSE VAL "0"
9218 PRINT '"Mortgage Points are ";pts: IF pts>VAL "0" THEN PRINT '"Beginning Prin With Points is"'"$";p2
9220 LET x=prin: PRINT '"Beginning Prin =";TAB FN a();"$";prin''
9222 LET x=FN x(): PRINT "Principle Bal =";TAB FN a();"$";FN x()''
9224 LET x=int: PRINT "Interest Paid =";TAB FN a();"$";int''
9226 LET x=px: PRINT "Tot Paid to Prin =";TAB FN a();"$";INT (VAL "100"*(prin-p+VAL ".005"))/VAL "100"
9228 PRINT INVERSE VAL "1";"ENTER"; INVERSE VAL "0": PAUSE VAL "0": GO TO VAL "9040"
9234 PRINT #VAL "0";"Enter": PAUSE VAL "0": GO TO VAL "9040"
9236 BEEP VAL ".3",VAL "20": PRINT '' INVERSE VAL "1";"Points Actually RAISES the APR Interest Rate to Approx: ";i+pts/VAL "4";"%"'"By Increasing the Principle."; INVERSE VAL "0"''"You should negotiate for a "; INVERSE VAL "1";"ZERO POINTS"; INVERSE VAL "0";" Contract "; INVERSE VAL "1";"Lower than ";i+pts/VAL "4";"%"; INVERSE VAL "0"'"And Compare Payments."''"The New Principal (Points Added) is: $"; INVERSE VAL "1";prin; INVERSE VAL "0": PRINT #VAL "0";"ENTER": PAUSE VAL "0": RETURN
9238 GO TO VAL "9042"
9239 REM removed (LKDOS-only)
9240 GO TO VAL "9042"
9241 REM removed (LKDOS-only)
9242 CLS : PRINT AT VAL "8",VAL "0";"Investment Gain at APR Interest"'"Compounded Monthly"''
9244 INPUT "Enter Amount to Invest $";prin: LET v=prin: INPUT "Enter Annual Interest Rate %";i: LET int=i/VAL "100": INPUT "Time of Plan, (yrs or Half yr) Yrs ";time: LET t2=time *VAL "12": LPRINT TAB VAL "8";"Investment of $";prin;" At ";i;"% For ";time;" Years"''
9246 FOR n=VAL "1" TO t2
9248 LET a=INT (VAL "100"*v*int/VAL "12")/VAL "100": LET v=v+a: LPRINT TAB VAL "8";"Month #";n;" Int= $";a;TAB VAL "35";"Appreciated Prin=";v''
9250 NEXT n
9252 OUT VAL "127",VAL "12": GO TO VAL "9040"
9254 REM ** Mortgage Cost per M
9256 LET ps=VAL "3": GO SUB VAL "9348": LET x=VAL "27": LET x1=VAL "9": LPRINT TAB VAL "38";"MORTGAGE LOAN COST BY $1000 and TIME DURATON"''';TAB VAL "8";"Table of Loan Cost Per $1000.00, by Rate of Interest and Number of Mortgage Years."''TAB VAL "8";"For Monthly Payment: Multiply Cost by Number of 1000's."''TAB VAL "8";"For Total Mortgage Cost: Multiply Cost times Nbr of 1000's times nbr of monthly pmts ."''
9258 LPRINT TAB VAL "8";"For Total Interest cost: Subtract Beginning Principle from Total Mortgage Cost."''': LPRINT TAB VAL "8";"Percent";TAB VAL "45";"Years of Pay Off / Cost Per $1000"'': LPRINT TAB x+VAL "2";"2 Yr";TAB x+x1+VAL "2";"3";TAB x+VAL "2"+x1*VAL "2";"4";TAB x+VAL "2"+x1*VAL "3";"5";TAB x+VAL "2"+x1*VAL "4";"10";TAB x+VAL "2"+x1*VAL "5";"15";TAB x+VAL "2"+x1*VAL "6";"20";TAB x+VAL "2"+x1*VAL "7";"25";TAB x+VAL "2"+x1*VAL "8";"30";TAB x+VAL "2"+x1*VAL "9";"35"''
9260 LET a=VAL "5": LET b=VAL ".5": LET k=x
9262 RESTORE VAL "9280": FOR n=VAL "1" TO VAL "31"
9264 LPRINT TAB VAL "8";a;TAB VAL "12";"%";"]- $ per M=";: LET a=a+b
9266 FOR y=VAL "1" TO VAL "10"
9268 READ z
9270 LPRINT TAB k;z;: LET k=k+x1
9272 NEXT y: LPRINT : LET k=x
9274 NEXT n
9276 LPRINT ''TAB VAL "8";"The table is for estimates. Use the Amortization elective for a spreadsheet of a specific Loan."'TAB VAL "8";"Interpolations can be made between data points for estimations."''TAB VAL "8";"WORKING EXAMPLE: $10,000 Loan at 10% for 20 Years:"'
9277 LPRINT TAB VAL "8";"Use table line for 10%. Use Column for 20 Yrs. Cost is 9.65 per Thousand."'TAB VAL "8";"Multiply 9.65 times 10 (thousands)= $96.50 Monthly Payment."'TAB VAL "8";"Multiply $96.50 times 240 payments= $23160.00 Total Cost"'TAB VAL "8";"Subtract $23160.00 - $10000= $13160.00 Interest cost."
9278 OUT VAL "127",VAL "12": GO TO VAL "9040"
9280 DATA VAL "43.872",VAL "29.971",VAL "23.03",VAL "18.36",VAL "10.71",VAL "7.65",VAL "6.45",VAL "5.79",VAL "5.38",VAL "5.10"
9282 DATA VAL "44.096",VAL "30.196",VAL "23.257",VAL "18.65",VAL "10.51",VAL "7.96",VAL "6.77",VAL "6.12",VAL "5.72",VAL "5.45"
9284 DATA VAL "44.32",VAL "30.421",VAL "23.484",VAL "18.94",VAL "10.81",VAL "8.27",VAL "7.09",VAL "6.45",VAL "6.06",VAL "5.80"
9286 DATA VAL "44.544",VAL "30.646",VAL "23.711",VAL "19.23",VAL "11.11",VAL "8.58",VAL "7.41",VAL "6.78",VAL "6.40",VAL "6.15"
9288 DATA VAL "44.768",VAL "30.871",VAL "23.938",VAL "19.52",VAL "11.41",VAL "8.89",VAL "7.73",VAL "7.11",VAL "6.74",VAL "6.50"
9290 DATA VAL "44.992",VAL "31.096",VAL "24.165",VAL "19.81",VAL "11.71",VAL "9.20",VAL "8.05",VAL "7.44",VAL "7.08",VAL "6.85"
9292 DATA VAL "45.216",VAL "31.321",VAL "24.392",VAL "20.10",VAL "12.01",VAL "9.51",VAL "8.37",VAL "7.77",VAL "7.42",VAL "7.20"
9294 DATA VAL "45.44",VAL "31.546",VAL "24.619",VAL "20.39",VAL "12.31",VAL "9.82",VAL "8.69",VAL "8.10",VAL "7.76",VAL "7.55"
9296 DATA VAL "45.664",VAL "31.771",VAL "24.846",VAL "20.68",VAL "12.61",VAL "10.13",VAL "9.01",VAL "8.43",VAL "8.10",VAL "7.90"
9298 DATA VAL "45.898",VAL "31.996",VAL "25.073",VAL "20.97",VAL "12.91",VAL "10.44",VAL "9.33",VAL "8.76",VAL "8.44",VAL "8.25"
9300 DATA VAL "46.111",VAL "32.221",VAL "25.30",VAL "21.26",VAL "13.21",VAL "10.75",VAL "9.65",VAL "9.09",VAL "8.78",VAL "8.60"
9302 DATA VAL "46.336",VAL "32.446",VAL "25.529",VAL "21.55",VAL "13.51",VAL "11.05",VAL "9.97",VAL "9.42",VAL "9.12",VAL "8.95"
9304 DATA VAL "46.56",VAL "32.671",VAL "25.754",VAL "21.84",VAL "13.81",VAL "11.37",VAL "10.29",VAL "9.75",VAL "9.46",VAL "9.30"
9306 DATA VAL "46.784",VAL "32.896",VAL "25.981",VAL "22.13",VAL "14.11",VAL "11.68",VAL "10.61",VAL "10.08",VAL "9.80",VAL "9.65"
9308 DATA VAL "47.008",VAL "33.121",VAL "26.208",VAL "22.42",VAL "14.41",VAL "11.99",VAL "10.93",VAL "10.41",VAL "10.14",VAL "10.00"
9310 DATA VAL "47.232",VAL "33.346",VAL "26.435",VAL "22.91",VAL "14.71",VAL "12.30",VAL "11.25",VAL "10.74",VAL "10.48",VAL "10.35"
9312 DATA VAL "47.456",VAL "33.571",VAL "26.662",VAL "23.00",VAL "15.01",VAL "12.61",VAL "11.57",VAL "11.07",VAL "10.82",VAL "10.70"
9314 DATA VAL "47.68",VAL "33.796",VAL "26.889",VAL "23.29",VAL "15.31",VAL "12.92",VAL "11.89",VAL "11.40",VAL "11.16",VAL "11.05"
9316 DATA VAL "47.904",VAL "34.021",VAL "27.116",VAL "23.58",VAL "15.61",VAL "13.23",VAL "12.21",VAL "11.73",VAL "11.50",VAL "11.40"
9318 DATA VAL "48.128",VAL "34.346",VAL "27.343",VAL "23.87",VAL "15.91",VAL "13.54",VAL "12.53",VAL "12.06",VAL "11.84",VAL "11.75"
9320 DATA VAL "48.352",VAL "34.771",VAL "27.57",VAL "24.16",VAL "16.21",VAL "13.85",VAL "12.85",VAL "12.39",VAL "12.18",VAL "12.10"
9322 DATA VAL "48.576",VAL "34.696",VAL "27.797",VAL "24.45",VAL "16.51",VAL "14.15",VAL "13.17",VAL "12.72",VAL "12.52",VAL "12.45"
9324 DATA VAL "48.8",VAL "34.921",VAL "28.024",VAL "24.74",VAL "16.81",VAL "14.46",VAL "13.49",VAL "13.05",VAL "12.86",VAL "12.90"
9326 DATA VAL "49.024",VAL "35.146",VAL "28.244",VAL "25.03",VAL "17.11",VAL "14.78",VAL "13.81",VAL "13.38",VAL "13.20",VAL "13.15"
9328 DATA VAL "49.248",VAL "35.371",VAL "28.471",VAL "25.32",VAL "17.41",VAL "15.09",VAL "14.13",VAL "13.71",VAL "13.54",VAL "13.50"
9330 DATA VAL "49.472",VAL "35.576",VAL "28.698",VAL "25.61",VAL "17.71",VAL "15.40",VAL "14.45",VAL "14.04",VAL "13.88",VAL "13.85"
9332 DATA VAL "49.696",VAL "35.871",VAL "28.925",VAL "25.90",VAL "18.01",VAL "15.71",VAL "14.77",VAL "14.37",VAL "14.22",VAL "14.20"
9334 DATA VAL "49.92",VAL "36.046",VAL "29.152",VAL "26.19",VAL "18.31",VAL "16.02",VAL "15.09",VAL "14.70",VAL "14.56",VAL "14.55"
9336 DATA VAL "50.144",VAL "36.371",VAL "29.379",VAL "26.48",VAL "18.61",VAL "16.33",VAL "15.41",VAL "15.03",VAL "14.90",VAL "14.90"
9338 DATA VAL "50.368",VAL "36.496",VAL "29.606",VAL "26.77",VAL "18.91",VAL "16.64",VAL "15.73",VAL "15.36",VAL "15.24",VAL "15.25"
9340 DATA VAL "50.592",VAL "36.721",VAL "29.833",VAL "27.06",VAL "19.21",VAL "16.95",VAL "16.05",VAL "15.69",VAL "15.58",VAL "15.60"
9341 REM ** Intfc and Printer Control
9342 BORDER NOT PI: PAPER NOT PI: INK VAL "7": CLS : LET pg=NOT NOT PI: LET nn=NOT PI: PRINT AT VAL "7",VAL "4";"Touch:"''TAB VAL "4";"<1> For TS-2040 Printer"''TAB VAL "4";"<2> For Dot Matrix"''TAB VAL "4";"<3> For Daisy Wheel";AT VAL "18",VAL "7"; INVERSE VAL "1";"PRINTER MUST BE ON"; INVERSE VAL "0": PAUSE VAL "0": LET z=CODE INKEY$-VAL "48": LET pr=z-VAL "1": IF z<VAL "1" OR z>VAL "3" THEN GO TO VAL "9342"
9343 CLS : GO TO VAL "9348"
9344 REM removed (LKDOS-only)
9346 CLS : LET m=VAL "9350": OUT VAL "127",VAL "27": GO SUB m: OUT VAL "127",VAL "120": GO SUB m: OUT VAL "127",VAL "1": PRINT AT VAL "10",VAL "3";"SET PRINTER and Elect:"''TAB VAL "3";"[1] Pica 10 Cpi"''TAB VAL "3";"[2] Elite 12 Cpi"''TAB VAL "3";"[3] Micron 15 Cpi": PAUSE VAL "0": LET ps=CODE INKEY$-VAL "48": GO TO VAL "9349"
9348 GO TO (pr>VAL "0")*VAL "9346"+(pr=VAL "0")*VAL "9352"
9349 LET lx=(VAL "80" AND ps=VAL "1")+(VAL "96" AND ps=VAL "2")+(VAL "120" AND ps=VAL "3"): LET qq=lx/VAL "2": OUT VAL "127",VAL "27": GO SUB m: OUT VAL "127",(VAL "80" AND ps=VAL "1")+(VAL "77" AND ps=VAL "2")+(VAL "103" AND ps=VAL "3"): GO SUB m: OUT VAL "127",VAL "27": GO SUB m: OUT VAL "127",VAL "120": GO SUB m: OUT VAL "127",VAL "1": GO TO VAL "9352"
9350 IF IN VAL "127"<>VAL "237" THEN GO TO VAL "9350"
9352 RETURN
9354 REM removed (LKDOS-only)
9356 REM removed (LKDOS-only)
9360 CLS : PRINT TAB 6;"Business Math Calc"''"Rules:"''"1. Enter math sign (+ - / *)"'TAB 3;"a. Function continues until"'TAB 6;"q For QUIT is entered."''"2. Each Entry is uses the LAST"'TAB 3;"TOTAL for the NEXT CALC."
9362 PRINT "3. Inputs can be math formula."'TAB 3;"As: 4/2, 6*8, SQR 16, etc."''":'............................................................. "'TAB 11; INVERSE 1;"Work Pad"; INVERSE 0
9363 LET q=9e12: LET a5=0: PRINT #0;AT 0,0;"Enter Function (+, -, /, *)": GO SUB 9500: IF z=113 THEN GO TO 9040
9364 LET f5=z: IF z<42 OR z>47 THEN GO TO 9363
9366 IF z=44 OR z=46 THEN GO TO 9363
9368 LET cx=0: LET xa=0: LET xb=0: LET cc=0:: PRINT AT 16,0;"Use Constant? <y> Yes <2> no": PAUSE 0: IF INKEY$="y" THEN LET cx=1: GO SUB 9510: PRINT AT 18,0;"................................................................": IF cc=1 OR cc=3 THEN INPUT "Enter Constant # ";xa
9369 IF cx=1 AND cc=2 OR cc=4 THEN INPUT "Enter Per Cent";xb
9370 REM IF cx=1 AND cc=1 OR cc=4 THEN INPUT "Enter #";xa
9372 PRINT AT 16,0;" ": IF cx=1 THEN PRINT AT 15,0;"Const=";(xa AND cc=1)+(xa AND cc=3)+(xb AND cc=2)+(xb AND cc=4);(" " AND cc=1)+(" " AND cc=3)+("%" AND cc=2)+("%" AND cc=4)
9376 PRINT INVERSE 1;AT 19,0;("Add" AND z=43)+("Subtract" AND f5=45)+("Multiply" AND f5=42)+("Divide" AND f5=47)
9380 INPUT "First Nbr? ";a5: PRINT AT 20,0;a5;TAB 14;CHR$ f5
9384 IF cx=1 THEN LET a6=a5: PRINT AT 16,0;a6;TAB 14;CHR$ f5
9400 INPUT "Nbr?";b5: IF b5=9e12 THEN GO TO 9360
9410 IF cx=1 THEN LET b6=(FN n() AND cc=1)+(FN l() AND cc=2)+(FN o() AND cc=3)+(FN m() AND cc=4)
9440 LET a5=(a5+b5 AND f5=43)+(a5-b5 AND f5=45)+(a5*b5 AND f5=42)+(a5/b5 AND f5=47): PRINT AT 20,15;b5: PRINT AT 21,15;"=";a5
9450 IF cx=1 THEN LET a6=(a6+b6 AND f5=43)+(a6-b6 AND f5=45)+(a6*b6 AND f5=42)+(a6/b6 AND f5=47): PRINT AT 16,17;b6: PRINT AT 17,14;"=";a6
9480 INPUT "Nbr?";b5: IF b5=9e12 THEN GO TO 9360
9482 IF cx=1 THEN LET b6=(FN n() AND cc=1)+(FN l() AND cc=2)+(FN o() AND cc=3)+(FN m() AND cc=4)
9488 PRINT AT 16,0;" ";AT 16,15;" ";AT 17,15;" ";AT 20,0;" ";AT 20,15;" ";AT 21,15;" ";AT 20,0;a5: IF cx=1 THEN PRINT AT 16,0;a6
9492 GO TO 9440
9499 STOP
9500 PAUSE 0: LET z=CODE INKEY$: PRINT #0;AT 0,0;" ": RETURN
9510 PRINT AT 15,0;"Constant Choices "'"1. Increment Input with # "'"2. Increment Input with %"'"3. Decrement Input with #"'"4. Decrement Input with %"' INVERSE 1;"Then ";("add" AND f5=43)+("Subtract" AND f5=45)+("Multiply" AND f5=42)+("Divide" AND f5=47): INPUT "Enter Choice";cc:
9512 GO SUB 9530
9514 PRINT AT 15,0;"You are given Three Variables touse for Alternate Inputs a,b,c"'"They can be + or - or Decimal These can greatly increase your Calculation functions.": BEEP .2,20: INPUT "Input Three Values for a,b,c";a,b,c
9530 LET a$=" ": PRINT AT 15,0;a$'a$'a$'a$'a$'a$
9532 RETURN
9540 LET q=9e12: CLS : PRINT AT 4,8;"INTEREST CALC"''"<1> Monthly Interest on X Amount"''"<2> Annual Interest on X"''"<3> Cumulative Annual Int on X"''"<4> Cumulative Monthly Int on X"''"<5> Depreciate at X Int, Y time"''"<6> Mark DOWN by X %"''"<7> Mark UP by X %"''TAB 10; INVERSE 1;"q to Quit"; INVERSE 0: PAUSE 0: LET z=CODE INKEY$-48: IF z=65 THEN GO TO 9040
9542 GO TO (z<1 OR z>7)*9540+(z=1)*9548+(z=2)*9556+(z=3)*9562+(z=4)*9570+(z=5)*9578+(z>5)*9586
9548 CLS : PRINT AT 10,0;"Monthly Interest on X"''TAB 10; INVERSE 1;"q to Quit"; INVERSE 0''
9550 BEEP .2,24: INPUT "Principle? $";p: IF p=9e12 THEN GO TO 9540
9552 INPUT "APR Interest Rate? %";int: LET i=int/100: PRINT "$";p;TAB 8;"X (1/12) of"; int;"% =$";FN i(): GO TO 9550
9554 INPUT "APR Interest Rate? %";i: LET int=i/100: PRINT "$";p;TAB 12;"(1/12) of"; X;"% =";FN i(): GO TO 9550
9556 CLS : PRINT AT 10,0;"Annual Interest on X"'' INVERSE 1;"q to Quit"; INVERSE 0''
9558 BEEP .2,24: INPUT "Enter Principal $";p: IF p=9e12 THEN GO TO 9540
9560 INPUT "Enter Interest Rate %";int: LET i=int/100 : LET an=INT (100*i*p+.5)/100: PRINT "$";p;TAB 10;"X ";int;" %= $";an: PRINT #0; INVERSE 1;"Enter": PAUSE 0: GO TO 9558
9562 CLS : PRINT AT 10,0;"Cumulative Annual Interest on X"'' INVERSE 1;"q to Quit"; INVERSE 0''
9564 BEEP .2,24: INPUT "Enter Principal $";p: IF p=9e12 THEN GO TO 9540
9566 LET a=0: LET b=0: LET c=p: INPUT "Enter Annual Interest Rate %";int: LET i=int/100: INPUT "Enter Nbr of Years ";time: FOR n=1 TO time: LET a=FN h(): LET b=a+b: LET c=p+b: PRINT "Year # ";n;TAB 12;"Int= $";a'"Accum Int= $";b'"Increased Prin= $";c''
9568 NEXT n: PRINT #0; INVERSE 1;"ENTER"; INVERSE 0: PAUSE 0: GO TO 9540
9570 CLS : LET tad=26: PRINT AT 6,0;"Cumulative Interest Monthly"'': BEEP .2,24: INPUT "Enter Principal $";p: INPUT "Enter Time in Months ";m: INPUT "Enter Rate of Interest %";int: LET i=int/100
9572 LET a=0: LET b=0: LET c=p: FOR n=1 TO m: LET a=INT (100*FN h()/12+.5)/100: LET b=b+a: LET c=p+b
9574 LET x=a: PRINT "Pmt # ";n;" ";"Int";TAB 15;"= $";TAB FN a();a': LET x=b: PRINT "Accum Int";TAB 15;"= $";TAB FN a();b': LET x=c: PRINT "Incr Prin";TAB 15;"= $";TAB FN a();c''
9576 NEXT n: PRINT #0; INVERSE 1;"ENTER"; INVERSE 0: PAUSE 0: GO TO 9540
9578 CLS : PRINT AT 6,0;"Depreaciation over Time"'': BEEP .2,24: INPUT "Enter Prin to Depreciate $";p: INPUT "Enter Total Time Yrs ";t: INPUT "Enter Annual Depreciating Rate % ";int: LET i=int/100
9580 LET a=0: LET b=0: LET c=p: LET x=p: PRINT "Start Principal";TAB 18;"$";TAB FN a();p'': FOR n=1 TO t: LET a=INT (100*FN h()+.5)/100: LET b=b+a: LET c=c-a
9582 LET x=b: PRINT "Yr #";n;" Accum Dep=";TAB 18;"$";TAB FN a();b': LET x=c: PRINT "Depreciated Prin=";TAB 18;"$";TAB FN a();c''
9584 NEXT n: PRINT #0; INVERSE 1;"ENTER"; INVERSE 0: PAUSE 0: GO TO 9540
9586 CLS : PRINT AT 6,0;"Mark ";("UP " AND z>6)+("DOWN " AND z<7);" by X %"'' INVERSE 1;"q to Quit"'' INVERSE 0
9588 INPUT "Enter Price ";c: IF c=9e12 THEN GO TO 9540
9590 LET tad=26: INPUT "Enter %";int: LET i=int/100: LET y=INT (100*FN h())/100: LET y=(y AND z<7)+(y*-1 AND z>6): PRINT c;TAB 10;"- ";int;"%";TAB 17;"=";TAB 20;"$";: LET x=c-y: PRINT TAB FN a();x
9592 GO TO 9588Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.


