• Please review our updated Terms and Rules here

TI-74 Basic programs?

You are very welcome, Ksarul

Resistor, 11-28-20

My brother wrote this resistor calculating program for his Color Computer. I converted it to the TI-74. It calculates as high as 99 M OHMS. I compared it to this online calculator. It gives similar results...

https://www.calculator.net/resistor...temperatureCoefficient=brown&type=c&x=26&y=13

My brother's program does the first 3 color bands leaving you to decide the 4th tolerance band. According to the online calculator, Silver = 10%, Gold = 5% and Brown = 1% tolerance. (see the online calculator for more tolerances) In my brother's program, M = Mega and K = Kilo. An empty [enter] will show the color abbreviations used. Neither my brother nor I are programmers or math experts so check out the program before using it. I only have a 'dumb' phone so I find his program useful when I can't get to or use my laptop.


Code:
10 PRINT "RESISTOR":PAUSE 1:GOTO 20
14 PRINT "colors: blk,brn,red,org,yel":PAUSE
16 PRINT "colors: grn,blu,vio,gry,wht":PAUSE
20 INPUT "1st band color ";A$:GOSUB 150:A=D
30 INPUT "2nd band color ";A$:GOSUB 150:B=D
40 INPUT "3rd band color ";A$:GOSUB 150:C=D
45 IF C>6 THEN PRINT "color out of range..":PAUSE:GOTO 40
50 E=A*10+B
60 IF D>0 THEN 80
70 PRINT E;"OHMS":PAUSE:GOTO 10

80 IF D=1 THEN A$="0":G$=STR$(E):GG=VAL(G$&A$):PRINT GG;"OHMS":PAUSE:GOTO 10
90 IF D=2 THEN A$=STR$(A):B$=STR$(B):GG=VAL(A$&"."&B$):PRINT GG;"K OHMS":PAUSE
100 IF D=3 THEN A$=STR$(A):B$=STR$(B):GG=VAL(A$&B$):PRINT GG;"K OHMS":PAUSE
110 IF D=4 THEN A$=STR$(A):B$=STR$(B):GG=VAL(A$&B$&"0"):PRINT GG;"K OHMS":PAUSE
120 IF D=5 THEN A$=STR$(A):B$=STR$(B):GG=VAL(A$&"."&B$):PRINT GG;"M OHMS":PAUSE
130 IF D=6 THEN A$=STR$(A):B$=STR$(B):GG=VAL(A$&B$):PRINT GG;"M OHMS":PAUSE
140 GOTO 10

150 IF A$="blk" THEN D=0:RETURN
160 IF A$="brn" THEN D=1:RETURN
170 IF A$="red" THEN D=2:RETURN
180 IF A$="org" THEN D=3:RETURN
190 IF A$="yel" THEN D=4:RETURN
200 IF A$="grn" THEN D=5:RETURN
210 IF A$="blu" THEN D=6:RETURN
220 IF A$="vio" THEN D=7:RETURN
230 IF A$="gry" THEN D=8:RETURN
240 IF A$="wht" THEN D=9:RETURN
250 GOTO 14


Example:

1st band color red [enter]
2nd band color blk [enter]
3rd band color org [enter]

_20 K OHMS
 
Amortization, 12-19-20

There are many amortization calculators online. I thought it would be nice to have a quick amortization program for my TI-74. If you punch it in check it out completely with one of the online calculators. It seems to give similar results in dollars as the calculator below.

https://www.calculator.net/amortization-calculator.html


Code:
3000 PRINT "Amortization":PAUSE .6
3010 PRINT P;"loan amount $ ";:ACCEPT NULL(P),P
3020 PRINT R;"annual interest rate ";:ACCEPT NULL(R);R:IR=R/12*.01
3030 PRINT N;"months of loan ";:ACCEPT NULL(N),N
3040 A=P*(IR*(1+IR)^N)/(((1+IR)^N)-1)
3050 PRINT "Per month $";INT(A):PAUSE
3060 T=N*A:PRINT "Total loan $";INT(T):PAUSE
3070 IP=T-P:PRINT "Total interest $";INT(IP):PAUSE
3080 GOTO 3000


Example:

0 loan amount $ 200000
0 annual interest rate 6
0 months of loan 180

Per Month $ 1687
Total Loan $ 303788
Total Interest $ 103788
 
Days, 1-30-2021 (the answer is approximate)

I wanted a program for my TI-74 that would calculate the days between dates. (formula on line 800)

I compared the output of my program to the online calculator below. My results vary and I'm not sure why. But for my solar playing purpose it's close enough. I limit the input month value from 1 to 12. I limit the day value from 1 to 31. So it's up to you not to enter "2-31-2021". I limit the starting year to be less than the ending year.

https://www.timeanddate.com/date/durationresult.html?m1=6&d1=7&y1=1952&m2=6&d2=7&y2=2021

If you figure out why the program is not yielding consistent results with the online calculator, submit your corrected version if you want. Like I say, I'm no programmer or math expert.


Code:
700 PRINT "Days..between dates":PAUSE 1
702 PRINT "..enter start date 1st":PAUSE 1.6
705 C=1
710 PRINT C;YR(C);"year ";:ACCEPT NULL(YR(C)),YR(C)
720 PRINT C;MO(C);"month ";:ACCEPT NULL(MO(C)),MO(C)
725 IF MO(C)>12 OR MO(C)<1 THEN PRINT"month error..":PAUSE:GOTO 720
730 PRINT C;DA(C);"day ";:ACCEPT NULL(DA(C)),DA(C)
735 IF DA(C)>31 OR DA(C)<1 THEN PRINT"day error..":PAUSE:GOTO 730
740 IF C=3 THEN 760
745 GOSUB 800:ANS1=ANS
750 IF C=2 THEN 710
760 C=1:GOSUB 800:ANS2=ANS 
770 GOTO 820

800 ANS=365*YR(C)+(YR(C)/4)-(YR(C)/100)+(YR(C)/400)+DA(C)+(153*MO(C)+8)/5
810 C=C+1:RETURN

820 IF YR(1)>YR(2)THEN PRINT"start year > error..":PAUSE:GOTO 705
825 ANS=ABS(INT(ANS2-ANS1))
830 PRINT "ans between dates=";ANS;"days":PAUSE
840 PRINT "[spc] or [enter]":IF KEY$=" "THEN 830 ELSE 705


Example:

1 0 year 1952
1 0 month 6
1 0 day 7
2 0 year 2021
2 0 month 6
2 0 day 7

ans between dates= 25202 days
 
Last edited:
G-List, 2-23-21

With COVID-19 out there my shopping habits have changed. I buy predictable foods. I like paying with cash. I don't like waiting in line. I don't want to receive any change back and there's usually an item limit in the 'quick' self-checkout lane. From a previous grocery receipt along with anything new, I note and enter my desired grocery items into program lines starting with line number one (see program) followed by the dollar amount and quantity. I run the program and it gives me the exact dollar amount I need to bring to the store and the number of items I have for the 'quick' self-checkout lane. If I have to pay a sales tax (vat) I enter the % amount and it yields me the tax with a new total. Use [spc] space bar to repeat answer or [enter] to restart.


Code:
1 DATA triscuit,2.79,3
2 DATA coffeemate,3.49,1
3 DATA farfalle,1.49,2
4 DATA sugar,1.80,1
5 DATA mushrooms jar,1.89,4


99 DATA end..,0,0

100 PRINT "..G-List":PAUSE 1:D=0:TB=0:TC=0:RESTORE 1
110 READ A$,B,C:D=D+1
120 IF A$="end.."THEN 200
130 PRINT "#";D;A$;B;C;PAUSE
140 TB=TB+B*C:TC=TC+C

190 GOTO 110

200 PRINT USING"Total $ ###.##";TB;:PRINT " Items";TC:PAUSE
210 PRINT "[t]ax or [enter]":IF KEY$="t"THEN 220 ELSE 100
220 PRINT STT;"% sales tax ? ";:ACCEPT NULL(STT),ST:ST=STT/100
230 TX=ST*TB:PRINT USING"Sales Tax $###.##";TX:PAUSE
240 NT=TB+TX:PRINT USING"New Total $ ###.##;NT:PAUSE
250 PRINT "[spc] or [enter]":IF KEY$=" "THEN 200 ELSE 100


Example:

[enter] through the list of items

Total $ 24.20 Items 11
[t]ax or [enter] t
0 % sales tax ? 7.5
Sales Tax $ 1.82
New Total $ 26.02
[spc] or [enter] [enter]

# 1 triscuit 2.79 3...
 
Last edited:
Debit, 3-5-21

I like paper money and bills but it's becoming difficult to avoid doing electronic transactions. To live easier in my old paper/electronic hybrid world, I made Debit to tally electronic transactions between written checks. I'll log the different daily electronic transactions on program lines starting with line number 2 (item,date,amount - see program lines for layout).

On line number 1, I'll similarly record my check book balance as of the last check I wrote then follow with my electronic transactions. I'll run Debit when I want to see my new electronic balance. If I should write another check I'll enter the new balance in my check book as 'Debit', tally and then put the new account balance on Debit line 1. I'll delete lines 2-13 (in my example) and begin again logging electronic transactions until the next written check.

With my outstanding checks mixed in with electronic transactions, knowing my current account balance at any given time can be a challenge. I don't want to write every electronic transaction in my check book and my account activity at the bank doesn't often show the slow moving outstanding paper checks. I try to keep my checking account balance low for safety reasons.

I'll enter an electronic money transfer to Debit as a negative number (example: 11 DATA tran:,2-25,-100 transferring $100 from savings to checking). I can also leave my TI-74 lying around while I wouldn't do that with information on paper. You can hold [enter] for a slower scroll/tally view if desired.

The above is probably not much of a problem for smart-phone people but I'm basically low-tech and set in my old hybrid ways. :)


Code:
1 DATA balance:,2-10 $,624.80
2 DATA gas:,2-11,14.00
3 DATA gas:,2-12,11.95
4 DATA grocery:,2-13,85.10
5 DATA gas:,2-14,16.00
6 DATA depo:,2-15,260.00
7 DATA part-d:,2-16,24.00
8 DATA gas:,2-18,15.00
9 DATA gas:,2-19,6.00
10 DATA store:,2-25,82.91
11 DATA tran:,2-25,-100
12 DATA store:,2-25,23.93
13 DATA store:,2-25,37.82


98 REM tran 2-25 #123456789
99 DATA end..,0,0

100 RESTORE 1:PRINT "..Debit":PAUSE 1:TAL=0:BAL=0:C=0:CT=1
110 READ A$,D$,BAL:PRINT A$;D$;BAL:PAUSE:RESTORE 2
120 READ A$,D$,C:CT=CT+1
130 CALL KEY(K,S):IF K=13 THEN PAUSE 1
140 IF A$="end.."THEN 200
150 PRINT CT;A$;D$;:PRINT USING"#####.##";C:TAL=TAL+C
160 GOTO 120

200 CUR=BAL-TAL
210 PRINT USING"Current Balance $#####.##";CUR:PAUSE
220 PRINT "[spc] or [enter]":IF KEY$=" "THEN 210 ELSE 100


Example:

(DATA and lines 1-13 are just for example)

RUN [enter]

balance:2-10 $ 624.8 [enter]

Current Balance $ 148.09

.......................................................................................................

Debit+, 9-11-21

In Debit+ I've added to Debit the ability to total an item in the list of transactions. The value before the first comma in the line DATA statement is the 'item' searched for. If the answer comes back with no monetary value (.00) the item was not found. Hold the [enter] key down to scroll slowly through the current list.


Code:
1 DATA Balance:,2-10 $,624.80
2 DATA gas:,2-11,14.00
3 DATA gas:,2-12,11.95
4 DATA grocery:,2-13,85.10
5 DATA gas:,2-14,16.00
6 DATA depo:,2-15,260.00
7 DATA part-d:,2-16,24.00
8 DATA gas:,2-18,15.00
9 DATA gas:,2-19,6.00
10 DATA store:,2-25,82.91
11 DATA tran:,2-25,-100
12 DATA store:,2-25,23.93
13 DATA store:,2-25,37.82


98 REM tran 2-25 #123456789
99 DATA end..,0,0

100 RESTORE 1:PRINT "..Debit":PAUSE 1:TAL=0:BAL=0:C=0:CT=1
110 READ A$,D$,BAL:PRINT A$;D$;BAL:PAUSE:RESTORE 2
120 READ A$,D$,C:CT=CT+1
130 CALL KEY(K,S):IF K=13 THEN PAUSE 2
140 IF A$="end.."THEN 200
150 PRINT CT;A$;D$;:PRINT USING"#####.##";C:TAL=TAL+C
160 GOTO 120

200 CUR=BAL-TAL
210 PRINT USING"Current Balance $#####.##";CUR:PAUSE
220 PRINT "[i]tem or [enter]":IF KEY$="i"THEN 300 ELSE 100

300 PRINT "item ";IT$;" ";:ACCEPT NULL(IT$),IT$:TAL=0:C=0:RESTORE 2
310 READ A$,D$,C:IF A$=IT$ THEN TAL=TAL+C
320 IF A$="end.."THEN 340
330 GOTO 310

340 PRINT "Total ";IT$;:PRINT USING" $#####.##";TAL:PAUSE
350 PRINT:PRINT "[i]tem or [enter]":IF KEY$="i"THEN 300 ELSE 100



Example:

RUN [enter]

Balance:2-10 $ 624.8 [enter]

Current Balance $ 148.09 [enter]

tem or [enter] i

item gas: [enter]

Total gas: $ 62.95
 
Last edited:
RPM, 4-1-2021 (pulley/gear)

I wanted to alter some pulley diameters and gearing on another old car I'm working on. I wanted a TI-74 program yielding a 'final rpm' using a known 'input rpm'. In RPM I enter a single pair or multiple pairs of pulley diameters starting with all the 'DRIVERS' in sequence followed by all the 'driven' in sequence using a '0' to end the input sequencing respectively. I then enter the '1st DRIVEN RPM' and calculate.

To do gears I use the same process (entering 'DRIVERS' first in sequence then 'driven') but in place of 'pulley diameters' I use the gear's 'tooth count' instead. Here are some online calculators I used to check RPM.

https://www.blocklayer.com/pulley-belteng.aspx
https://woodgears.ca/gear/ratio.html
https://technologystudent.com/gears1/gears8.htm

Up to 6 input pairs allowed. 'ans' will also contain the results. I'm no programmer or math expert so check RPM out before using.


Code:
800 REM enter 0 to end input
805 PRINT "RPM Pulley/Gear":PAUSE 1:C=1:E=1:Z=0
810 Z=Z+1:A=T1(Z):PRINT T1(Z);":";Z;"DRIVER dia/teeth ";
815 IF Z>7 THEN 875
820 ACCEPT NULL(A),A:T1(Z)=A
825 IF A=0 THEN Z=0:GOTO 835
830 C=C*A:GOTO 810
835 Z=Z+1:B=T2(Z):PRINT T2(Z);":";Z;"driven dia/teeth ";
840 IF Z>7 THEN 875
845 ACCEPT NULL(B),B:T2(Z)=B
850 IF B=0 THEN 860
855 E=E*B:GOTO 835
860 PRINT R;":";" 1st DRIVER RPM ";:ACCEPT NULL(R),R
865 X=R*C/E

870 ANS=X:PRINT USING"ans Last Driven RPM ######.#";X:PAUSE:GOTO 800

875 PRINT:PRINT "..max 6 inputs, enter 0 to end":PAUSE:GOTO 800


Examples:

Pulleys/Diameter

0 : 1 DRIVER dia/teeth 6" [enter]
0 : 2 DRIVER dia/teeth 0 [enter]

0 : 1 driven dia/teeth 12" [enter]
0 : 2 driven dia/teeth 0 [enter]

0 : 1st DRIVER RPM 1000 [enter]

ans Last Driven RPM 500.0 [enter]
...................................

0 : 1 DRIVER dia/teeth 6" [enter]
0 : 2 DRIVER dia/teeth 7" [enter]
0 : 3 DRIVER dia/teeth 8" [enter]
0 : 4 DRIVER dia teeth 0 [enter]

0 : 1 driven dia/teeth 12" [enter]
0 : 2 driven dia/teeth 12" [enter]
0 : 3 driven dia/teeth 12" [enter]
0 : 4 driven dia/teeth 0 [enter]

0 : 1st DRIVER RPM 2000 [enter]

ans Last Driven RPM 388.9
..................................

Gears/Teeth

0 : 1 DRIVER dia/teeth 7t [enter]
0 : 2 DRIVER dia/teeth 9t [enter]
0 : 3 DRIVER dia/teeth 0 [enter]

0 : 1 driven dia/teeth 21t [enter]
0 : 2 driven dia/teeth 30t [enter]
0 : 3 driven dia/teeth 0 [enter]

0 : 1st DRIVER RPM 10 [enter]

ans Last Driven RPM 1.0
 
DPT, Dew Point Temperature, 7-31-21

I'm working in my garage and I'm sticky and sweating wet but the temperature's not that bad. I found this on the web...

"Most people are comfortable with a dew-point temperature of 60 degrees Fahrenheit (16 degrees Celsius) or lower. At a higher dew point of, for example, 70 F (21 C), most people feel hot or "sticky" because the amount of water vapor in the air slows the evaporation of perspiration and keeps the body from cooling. Feb 11, 2014"

and this...

"General comfort levels USING DEW POINT that can be expected during the summer months:
less than or equal to 55: dry and comfortable
between 55 and 65: becoming "sticky" with muggy evenings
greater than or equal to 65: lots of moisture in the air, becoming oppressive"

https://www.weather.gov/arx/why_dewpoint_vs_humidity


I also found this 'approximate' formula...

https://iridl.ldeo.columbia.edu/doch.../dewpoint.html


So, with a hygrometer, thermometer and my trusty TI-74 I can now tell how miserable I am sweating in my garage. f=degrees Fahrenheit, c=degrees Celsius


Code:
100 PRINT "..DPT":PAUSE 1
110 PRINT F$;"..input temp [f][c] [i]nfo ";:ACCEPT NULL(F$),F$
120 IF F$="f"THEN 140
130 IF F$="c"THEN 200
135 IF F$="i"THEN 160 ELSE 110
140 F=FI:PRINT INT(F);"temp,f ";:ACCEPT NULL(F),F
150 FI=F:TC=(F-32)*(5/9):GOTO 210
160 PRINT "DPT <55f,13c dry/comfortable":PAUSE
170 PRINT "DPT 55";CHR$(126);"65f,13";CHR$(126);"18c humid/sticky":PAUSE
180 PRINT "DPT >65f,18c oppressive/muggy":PAUSE
190 GOTO 110

200 PRINT INT(TC);"temp,c ";:ACCEPT NULL(TC),TC
210 PRINT RH;"relative humidity,% ";:ACCEPT NULL(RH),RH
220 TD=TC-((100-RH)/5)
230 PRINT "Dew Point Temp,c ";INT(TD):PAUSE
240 F=((TD*(9/5))+32:PRINT "Dew Point TEMP,f ";INT(F):PAUSE
250 GOTO 100


Example: (answer approximate)

..DPT
..input temp [f][c] nfo f [enter]
0 temp,f 84 [enter]
0 relative humidity,% 62

Dew Point Temp,c 21 [enter]
Dew Point Temp,f 70 [enter]

.........................................

..DPT
f..input temp [f][c] nfo c [enter]
28 temp,c 32 [enter]
62 relative humidity [enter]

Dew Point Temp,c 24 [enter]
Dew Point Temp,f 75
 
Last edited:
Map Distance, 12-26-21

On a paper road map along the edges they usually have a grid. Also on the map they have a legend mileage line. I determine the mileage of the grid spacing and enter it on the 'map grid dist,mi.' line of the program. I allow for the non-linear curving of the road to my destination using a 'fudge factor,%'. Working with the map I've gotten reasonably good at estimating what percentage to allow for my road curve 'fudge factor'.

I enter the x1,y1 of the starting location and the x2,y2 of the destination location from the map. There's an online calculator that you can solve for x,y (using Map Dist for x,y first enter 1 for the 'map grid dist' and 0 for the 'fudge factor')...


Map Dist will yield an approximate mileage. [spc] will return to the beginning, [enter] will return to the x1 input.


Code:
100 PRINT "Map Dist..":PAUSE .6
110 PRINT MI;"map grid dist,mi. ";:ACCEPT NULL(MI),MI
120 PRINT FF;"fudge factor,% ";:ACCEPT NULL(FF),FF:F=FF/100
       
130 PRINT X1;"x1 ";:ACCEPT NULL(X1),X1
140 PRINT Y1;"Y1 ";:ACCEPT NULL(Y1),Y1
150 PRINT X2;"X2 ";:ACCEPT NULL(X2),X2
160 PRINT Y2;"y2 ";:ACCEPT NULL(Y2),Y2

170 D=SQR((X2-X1)^2+(Y2-Y1)^2)
180 DD=D*MI:PF=DD*F:DIST=DD+PF

190 PRINT "Dist ";DIST:PAUSE
200 PRINT "[spc] or [enter]":IF KEY$=" "THEN 100 ELSE 130


Example: Using a road map of Wyoming determine the distance from Wheatland to Rock Springs.

Google says the distance is 263.1 miles.

RUN Map Dist:

0 map grid dist,mi. 40
0 fudge factor,% 7

Rock Springs
0 x1 8.7
0 y1 2.1

Wheatland
0 x2 2.6
0 y2 1.2

Dist,mi.= 263.906341 miles

[spc] or [enter]
 
Last edited:
PayIt, 2-9-22

I've updated the Bills program with PayIt. You'll still need to enter your bill in a program line. (see program DATA statements for entered bill examples) You have to store the bills in DATA statements because when you turn off the TI-74 it doesn't save variables only the program.

If you want to RUN PayIt without an initial value put into your account Balance then enter line 1 as: "1 BAL=0" or as a "1 DATA amount,text" statement.

When you RUN PayIt use [enter] for the current Balance and all the stored bill amount values which will tabulate the expense and a new balance total. You can then go back over PayIt and alter the initial Balance and any individual bill amount to determine how much you want to allocate to each bill. You can leave a brief note (as per program lines 14 and 15) by entering the text without any corresponding dollar amount. I use it for conformation numbers, date, etc. (bills and values in DATA statements are just for example - replace with your bills)

At the end [spc] will repeat the answer and [enter] will return to the beginning.

I use PayIt to quickly calculate my monthly bills. Whether I pay with a debit/credit card or a check I still need to determine how I want to allocate my limited resources. And the TI-74 is secure.



Code:
1 BAL=2000
2 DATA 351.25,house
3 DATA 60.55,card1
4 DATA 70.25,card2
5 DATA 90.65,phone
6 DATA 80.75,elec
7 DATA 70.40,n-gas
8 DATA 87.35,ins1
9 DATA 75.80,ins2
10 DATA 63.25,ins3
11 DATA 12.20,misc1
12 DATA 40.60,misc2
13 DATA 23.80,misc3
14 DATA 0,#1234567
15 DATA 0,Feb 2022

48 DATA 0,end..
49 DIM A(100)

50 C=2
60 READ A(C),A$:C=C+1
70 IF A$="end.."THEN 100
80 GOTO 60

100 PRINT "..PayIt":PAUSE .6:C=1:TOT=0:RESTORE
110 PRINT "$";BAL;":Balance: ";:ACCEPT NULL(BAL),BAL
120 IF TOT=0 THEN TBAL=BAL

130 READ AMT,A$:C=C+1
140 IF A$="end.."THEN 200
150 PRINT "$";A(C);":";A$;AMT;":$ ";:ACCEPT NULL(A(C)),A(C)
160 TOT=TOT+A(C)
170 GOTO 130

200 BAL=BAL-TOT
210 PRINT "Exp$";TOT;" New Bal$";BAL:PAUSE
220 PRINT "[spc] or [enter]":IF KEY$=" "THEN 210
230 BAL=TBAL:GOTO 100

Code:
Example:

RUN [enter]

$ 2000 :Balance: [enter]
$ 351.25 :house 351.25 :$ [enter]
$ 60.55 :card1 60.55 :$ 60.55 [enter]
$ 70.25 :card2 70.25 :$ [enter]
$ 90.65 :phone 90.65 :$ [enter]
$ 80.75 :elec 80.75 :$ [enter]
$ 70.4 :n-gas 70.4 :$ [enter]
$ 87.35 :ins1 87.35 :$ [enter]
$ 75.8 :ins2 75.8 :$ [enter]
$ 63.25 :ins3 63.25 :$ [enter]
$ 12.2 :misc1 12.2 :$ [enter]
$ 40.6 :misc2 40.6 :$ [enter]
$ 23.8 :misc3 23.8 :$ [enter]
$ 0 :#1234567 0 :$ [enter]
$ 0 :Feb 2022 0 :$ [enter]

Exp$ 1026.85  New Bal$ 973.15

[spc] or [enter]
 
Last edited:
I have downloaded a few TI-74/CC40 Programs on another forum. I use a Leonardo Arduino and original PC Interface to use on the original machines:

For ease I am attached all the programs here. More to come, so watch this space!

 

Attachments

  • TI74 & CC40 Games.zip
    41.5 KB · Views: 15
Last edited:
I have downloaded a few TI-74/CC40 Programs on another forum. I use a Leonardo Arduino and original PC Interface to use on the original machines:

For ease I am attached all the programs here. More to come, so watch this space!


Thanks for this! It's a great excuse for me to break out my TI-74 and CC-40 again.
 
A new program for the the new year! You have 3 chances to guess a phrase that has been decoded. The computer substitutes letters for other letters at random. There are multiple messages to work out, although the order of the messages don't change. I love games like this. Hope you have some fun. Please feel free to modify the data lines to change the included phrases.
 

Attachments

  • Crypto.txt
    12 KB · Views: 5
Trip Cost $, 1-14-23

With the cost of gasoline fluctuating wildly I made this simple road trip cost calculator for my TI-74. I usually bring my TI-74 on road trips. It contains programs I may use along with personal information that even Pegasus can't access (I think). Check out the program before using it. Using: miles/gallon, kilometers/liter, $/gallon, $/liter...


Code:
100 PRINT "Trip Cost $":PAUSE 1
110 PRINT D$;"..[m]i/gal [k]m/ltr ";:ACCEPT NULL(D$),D$
120 IF D$="m"THEN 200
130 IF D$="k"THEN 300
140 PRINT "[m] or [k]..":PAUSE 2: GOTO 110

200 PRINT MPG;"..vehicle mpg ";:ACCEPT NULL(MPG),MPG
210 PRINT GC;"..gas/gal $ ";:ACCEPT NULL(GC),GC
220 PRINT TM;"..trip miles ";:ACCEPT NULL(TM),TM
230 TC1=TM/MPG*GC
240 PRINT USING"Trip Cost $ ####.##";TC1:PAUSE:GOTO 110

300 PRINT KML;"..vehicle km/ltr ";:ACCEPT NULL(KML),KML
310 PRINT LC;"..gas/ltr $ ";:ACCEPT NULL(LC),LC
320 PRINT TK;"..trip kilometers ";:ACCEPT NULL(TK),TK
330 TC2=TK/KML*LC
340 PRINT USING"Trip Cost $ ####.##";TC2:PAUSE:GOTO 110


Example:

..[m]i/gal [k]m/ltr m
0 ..vehicle mpg 25
0 ..gas/gal $ 3.29
0 ..trip miles 250
Trip Cost $ 32.90

m..[m]i/gal [k]m/ltr k
0 ..vehicle km/ltr 10.6
0 ..gas/ltr $ 0.87
0 ..trip kilometers 402
Trip Cost $ 32.99


.................................

Note:
25 mpg = 10.6286 km/ltr
$3.29 per/gal = $ 0.869 per/ltr
250 miles = 402.336 kilometers
 
Wheel RPM, 2-3-23

It's legal here to put a small engine on a bicycle and go most places bicycles are allowed to go without the need for license, plates or insurance. To that end I wanted to determine some homemade motorbike design parameters. Using the pulley/gear RPM program found above I can determine pulley size and rpm and whether I should go direct to the rear wheel from the engine or use a multi-pulley intermediate jackshaft. I'm allowing about 6000 engine rpm maximum for the rpm input.

But I need to know what my rear wheel rpm will be around 20 mph the maximum capable/allowable legal speed for the motorbike. I will then be able to determine my pulley sizes between the engine and rear wheel. The Wheel RPM program takes the desired speed/mph, wheel diameter/inches and yields the wheel's rpm along with it's circumference in feet and rotational speed in feet/second. The RPM and Wheel RPM programs should get me in the ballpark. Check the program out before using it.


Code:
900 PRINT "Wheel RPM":PAUSE 1
910 PRINT EA;"mph ";:ACCEPT NULL(EA),EA
920 PRINT EB;"wheel dia,in ";:ACCEPT NULL(EB),EB
930 EX=EB*3.141593/12
940 EY=EA*1.46667
950 EZ=EY*60/EX

960 PRINT USING"Wheel Circum.,ft. #####.#";EX:PAUSE
970 PRINT USING"Rotating Speed,ft/sec #####.#";EY:PAUSE
980 PRINT USING"Wheel,RPM #####.#";EZ:PAUSE
990 GOTO 900


Example: (RUN 900)

0 mph 20
0 wheel dia,in 26

Wheel Circum.,ft 6.8
Rotating Speed,ft/sec 29.3
Wheel RPM 258.6
 
Carbon Footprint, 11-10-23

I wanted a quick program for my TI-74 that would yield my carbon footprint in lbs/year. I found this math on-line that would yield an approximate carbon footprint value:


From above website...

>>" If you don’t have regular access to the internet, or just don’t want to type that all into an online calculator, you can use a manual formula to get your carbon footprint number. Created by Alexandra Shimo-Barry, author of “The Environment Equation,” it looks like this:

Multiply your monthly electric bill by 105.

Multiply your monthly gas bill by 105.

Multiply your monthly oil bill by 113.

Multiply your total yearly mileage on your car by 0.79.

Multiply the number of flights you’ve taken in the past year (4 hours or less) by 1,100.

Multiply the number of flights you’ve taken in the past year (4 hours or more) by 4,400.

Add 184 if you do NOT recycle newspaper.

Add 166 if you do NOT recycle aluminum and tin.

Add 1-8 together for your total carbon footprint.

What Is a 'Good' Carbon Footprint?

Whether you calculate your carbon footprint online or manually, a “good” carbon footprint is considered to be 6,000 to 15,999, while 16,000-22,000 is considered average. Lower than 6,000 is excellent, while over 22,000 means you should start taking steps to bring that number down. "<<


(I assume 'gas' above is natural gas, n-gas...'oil' is fuel oil, f-oil)

Code:
1000 NP$="n":AL$="n"
1005 PRINT "Carbon Footprint":PAUSE 1
1010 PRINT EB;"electric bill,$ ";:ACCEPT NULL(EB),EB
1020 PRINT GB;"n-gas bill,$ ";:ACCEPT NULL(GB),GB
1030 PRINT OB;"f-oil bill,$  ";:ACCEPT NULL(OB),OB
1040 PRINT YM;"yearly miles,car ";:ACCEPT NULL(YM),YM
1050 PRINT FL1;"yearly flights,less 4 hr ";:ACCEPT NULL(FL1),FL1
1060 PRINT FL2;"yearly flights,more 4 hr ";:ACCEPT NULL(FL2),FL2
1070 PRINT NP$;" recycle newspaper,y-n ";:ACCEPT NULL(NP$),NP$
1080 PRINT AL$;" recycle aluminum/tin,y-n ";:ACCEPT NULL(AL$),AL$

1090 EBX=EB*105:GBX=GB*105:OBX=OB*113
1100 YMX=YM*.79:FL1X=FL1*1100:FL2X=FL2*4400
1110 IF NP$="n"THEN NPX=184 ELSE NPX=0
1120 IF AL$="n"THEN ALX=166 ELSE ALX=0

1130 CFP=EBX+GBX+OBX+YMX+FL1X+FL2X+NPX+ALX

1140 PRINT USING"Carbon Footprint,lb/yr #####.#";CFP:PAUSE
1150 GOTO 1005


Example:

electric bill,$ 75.58
n-gas bill,$ 98.23
f-oil bill,$ 0
yearly miles,car 8500
yearly flight,4 hr or less 1
yearly flight,4 hr or more 0
recycle newspaper, n
recycle aluminum/tin, y

Carbon Footprint,lb/yr 26249.1
 
Last edited:
BMI, 2-17-24

I thought it might be helpful to have a Body Mass Index calculator for my TI-74. I found this online...



weight, pounds or kilograms
height, inches or meters

Code:
100 EM$="e":WT=0:HT=0
105 PRINT "..BMI (adults)":PAUSE 1
110 PRINT EM$;" (e)nglish or (m)etric ";:ACCEPT NULL(EM$),EM$
120 IF EM$="e" THEN 210 ELSE EM$="m"

130 PRINT WT;"weight,kgs ";:ACCEPT NULL(WT),WT
140 PRINT HT;"height,m ";:ACCEPT NULL(HT),HT
150 BMI=WT/HT^2:GOTO 240

210 PRINT WT;"weight,lbs ";:ACCEPT NULL(WT),WT
220 PRINT HT;"height,in ";:ACCEPT NULL(HT),HT
230 BMI=WT/HT^2*703

240 IF BMI<18.5 THEN PRINT USING"Under wt:###.# BMI";BMI:PAUSE:GOTO 105
250 IF BMI>18.5 and BMI<25 THEN PRINT USING"Normal:###.# BMI";BMI:PAUSE:GOTO 105
260 IF BMI>25 and BMI<30 THEN PRINT USING"Over wt:###.# BMI";BMI:PAUSE:GOTO 105
270 IF BMI>30 THEN PRINT USING"Obese:###.# BMI";BMI:PAUSE:GOTO 105


Example:

e (e)nglish or (m)etric [enter]
0 weight,lbs 200 [enter]
0 height,in 66 [enter]
Obese: 32.3 BMI

e (e)nglish or (m)etric m [enter]
200 weight,kgs 90.72 [enter]
66 height,m 1.6764 [enter]
Obese: 32.3 BMI
 
Back
Top