0 'Loans Program 1.1 (Tandy 200 version) By Andrew McDonald 04/10/87 (C) 1987 Custom Software Systems Public Domain Software 1 'Modified for Tandy 200 by Tony Anderson 10 CLS:MAXFILES=1:CLEAR256:PR=0:MP=0:NP=0:PY=0:IR=0 20 HD$=CHR$(11)+CHR$(27)+"p Loans Calculator 1.1 "+CHR$(27)+"q":PY=12 25 ONERRORGOTO11000 30 PRINTHD$ 40 PRINT@40,USING" (Prnc) Principal $$######.##";PR 45 PRINT@80,USING" (Pay ) Payment $$#####.##";MP 50 PRINT@120,USING" (Num ) Payments #########";NP 55 PRINT@160,USING" (P/Yr) Pay/Yr ######";PY 60 PRINT@200,USING" (Int ) Interest ###.###%";IR*100 65 IFCL=1THENLETCH$=STRING$(5,32)+"Chrt":ONKEYGOSUB1000,2000,3000,4000,5000,,7000,8000ELSECH$="Calc"+STRING$(5,32):ONKEYGOSUB1000,2000,3000,4000,5000,6000,,8000 70 KEYSTOP:PRINT@280,CHR$(27)"pPrnc Pay Num P/Yr Int "+CH$+" Exit";CHR$(27);"Q"; 80 KEYON 90 GOTO30 1000 POKE64798,0:KEYOFF:Q=60:GOSUB10000 1010 IFX$<>"="THENLETPR=VAL(X$):RETURN 1020 CC=1:PR=MP*(1-(1+(IR/PY))^-NP)/(IR/PY):PR=.01*INT (100*PR+.5) 1025 PRINT@70,"*" 1030 RETURN 2000 POKE64798,0:KEYOFF:Q=100:GOSUB10000 2010 IFX$<>"="THENLETMP=VAL(X$):RETURN 2020 CC=1:MP=PR*(IR/PY)/(1-(1+(IR/PY))^-NP):MP=.01*INT (100*MP+.5):PRINT@110,"*":RETURN 3000 POKE64798,0:KEYOFF:Q=140:GOSUB10000 3010 IFX$<>"="THENLETNP=VAL(X$):RETURN 3020 CC=1:IF PR*(IR/PY)/MP>1THEN BEEP:PRINT@200,"Error in Data!":RETURN 3030 NP=-(LOG (1-PR*(IR/PY)/MP))/(LOG (1+(IR/PY))) 3035 NP=ABS(INT(-NP)) 3040 PRINT@150,"*":RETURN 4000 POKE64798,0:KEYOFF:Q=180:GOSUB10000 4010 IFX$<>"="THENLETPY=VAL(X$):RETURN 4020 RETURN 5000 POKE64798,0:KEYOFF:Q=220:GOSUB10000 5010 IFX$<>"="THENLETIR=VAL(X$)/100:RETURN 5020 CC=1:B=PR/MP:R=1/B-B/(NP*NP):IF R<=0THEN "R2" 5030 C=1-(1+R)^-NP:D=R*B-C:E=D/(C/R-(NP*(1+R)^(-NP-1))) 5040 R=R-E:IF ABS(E)>=.0000001THEN 5030 5050 IR=R*100*PY:IR=.01*INT (IR+.5) 5060 PRINT@230,"*":RETURN 6000 CC=0:PRINTCHR$(27)"q";:FORL=70TO230STEP40:PRINT@L," ":NEXT:PRINT@240,SPACE$(40); 6010 KEYON:ONKEYGOSUB1020,2020,3020,,5020:PRINT@280,CHR$(27)"pPrnc Pay Num Int "STRING$(15,32)CHR$(27)"q";:IFCC=0THEN6010ELSEPRINT@240,USING" Total $$##########.##";MP*NP:CL=1:RETURN 7000 KEYSTOP:POKE64798,0:CLS:PRINTHD$ 7010 PRINT"Device or Printer?" 7020 ONINSTR("DdPpAa",INPUT$(1))/2+1.5GOTO7020,7030,7040,30 7030 INPUT"Name of ouput file";F$:OPENF$FOROUTPUTAS1:GOTO7050 7040 OPEN"lpt:"FOROUTPUTAS1 7050 CLS:PRINTHD$:PRINT"Writing Chart...":PRINT#1," Loan Chart for:":PRINT#1," ---------------" 7051 PRINT#1,USING"Principal=######.## Interest=####.###%";PR,IR*100 7052 PRINT#1," Payment Rate is:";:IFPY=52THENPRINT#1," Weekly"ELSEIFPY=4THENPRINT#1,"Quarterly"ELSEIFPY=12THENPRINT#1," Monthly"ELSEIFPY=1THENPRINT#1," Yearly"ELSEPRINT#1," Unknown" 7053 PRINT#1,STRING$(39,"-"):PRINT@120," # Interst Principl Total Remaining --- ------- -------- -------- ---------":PRINT#1," # Interst Principl Total Remaining":PRINT#1,"--- ------- -------- -------- ---------" 7058 RP=PR:TI=0 7059 FORL=1TONP 7060 IN=IR*(1/PY)*RP 7065 IN=INT(IN*100+.5)/100:TI=TI+IN 7066 IFRP+IN