TI-82 Calculator Programs

Here you can find programs I made for TI-82 calculators.
Please note that this site is still a WIP.
I wrote many programs and will add them whenever I find time to do so.

DOTS

Shows random dots on your graph. Useless but funny to watch.

:Full
:ClrDraw
:AxesOff
:Lbl 1
:randInt(0,94)→X
:randInt(0,62)→Y
:Pxl-Change(Y,X)
:Goto 1

DURCHSCHNITT

Calculates the grade point average from the given grades.

:ClrHome
:Output(3,3,"DURCHSCHNITT")
:Output(4,4,"CALCULATOR")
:Output(6,2,"BY ERIC ROESCH")
:Pause
:ClrHome
:Disp "DURCHSCHNITTCALC"," "
:Input "HOW MANY 1S: ",A
:Input "HOW MANY 2S: ",B
:Input "HOW MANY 3S: ",C
:Input "HOW MANY 4S: ",D
:Input "HOW MANY 5S: ",E
:Input "HOW MANY 6S: ",F
:A+B+C+D+E+F→G
:A+B*2+C*3+D*4+E*5+F*6→H
:H/G→I
:ClrHome
:Output(3,3,"DURCHSCHNITT")
:Output(4,4,"CALCULATOR")
:Output(6,2,"=")
:Output(6,4,I)
:Pause
:ClrHome

ERROR

Gives out (almost) every error possible.

:Lbl A
:Menu("ERROR","ARGUMENT",1,"DIVIDE BY 0",2,"DOMAIN",3,"DATA TYPE",4,"INVALID DIM",5,"INVALID",6,"> NEXT PAGE >",B)
:Lbl B
:Menu("ERROR","NONREAL ANS",8,"OVERFLOW",9,"SYNTAX",0,"UNDEFINED",U,"LABEL",Y,"< PREV PAGE <",A,"< RETURN <",Z
:Lbl 1
:Line(0)
:Lbl 2
:1/0
:Lbl 3
:tan(90)
:Lbl 4
:1T
:Lbl 5
:identity(999*999)
:Lbl 6
:u
:Lbl 8
:√(-1)
:Lbl 9
:99^99
:Lbl 0
:0prgm
:Lbl U
:L1L2L3L4L5L6
:Lbl Z
:Return

FAKECALC

Behaves like a normal calculator. But it adds a random number to every answer. Use it to prank your friends.

:ClrHome
:Lbl A
:Input "",A
:Disp A+randInt(0,99)
:Goto A

FAKEMSG

An extension for ERROR which shows fake messages.

:Menu("SELECT MESSAGE","MEMORY CLEAR",1,"BATTERY LOW",2,"SET DEFAULTS",3,"CLEAR ENTRIES",4,"CLEAR LISTS",5,"> ERRORS >",6,"< RETURN <",R)
:Lbl 1
:ClrHome
:Output(4,3,"MEM CLEARED")
:Goto X
:Lbl 2
:ClrHome
:Output(2,1,"YOUR BATTERIES  ARE LOW.")
:Output(5,1,"RECOMMEND")
:Output(6,1,"CHANGE OF")
:Output(7,1,"BATTERIES.")
:Goto X
:Lbl 3
:ClrHome
:Output(4,3,"DEFAULTS SET")
:Goto X
:Lbl 4
:ClrHome
:Disp "Clear Entries"
:Goto X
:Lbl 5
:ClrHome
:Disp "ClrAllLists"
:Goto X
:Lbl X
:Stop
:Lbl 6
:ClrHome
:prgmERROR
:prgmFAKEMSG
:Lbl R
:Return

FLIP

This program simulates a coin flip.

:ClrHome
:Output(3,7,"FLIP")
:Output(4,1,"SIMPLE COIN FLIP")
:Output(6,2,"BY ERIC ROESCH")
:Pause
:Lbl M
:ClrHome
:Menu("FLIP","FLIP",F,"EXIT",E)
:Lbl E
:Return
:Lbl F
:Output(2,7,"FLIP")
:Output(3,1,"SIMPLE COIN FLIP")
:Output(5,2,"BY ERIC ROESCH")
:If randInt(0,1)=1
:Then
:Output(7,1,"  UND... KOPF!  ")
:Else
:Output(7,1,"  UND... ZAHL!  ")
:End
:Pause
:Goto M

GETKEY

This little program gets the ID of the key you press. Use it as a key tester for example before an exam.

:ClrHome
:0→K
:Output(3,4,"GETKEY 3.0")
:Output(4,2,"BY ERIC ROESCH")
:Output(6,1,"PRESS ON TO EXIT")
:Lbl 1
:getKey→K
:If K≠0
:Then
:Output(6,1,"PRESSED KEY:    ")
:Output(6,14,K)
:End
:Goto 1

GUESSIT

A simple guessing game for your calculator. The number is always between 1000 and 9999.

:ClrHome
:Output(2,2,"GUESS IT - THE CLASSIC GUESSING GAME FOR TI-82")
:Output(6,5,"(C) 2016")
:Output(7,2,"BY ERIC ROESCH")
:Pause
:Lbl 1
:randInt(1000,9999)→A
:0→G
:Lbl 3
:ClrHome
:Disp " ","    GUESS IT"," BY ERIC ROESCH"," "," ENTER A NUMBER"," "
:Lbl 2
:Input "      ",B
:G+1→G
:If B>9999 or B<1000
:Goto Z
:If B>A
:Then
:ClrHome
:Disp " ","    GUESS IT"," BY ERIC ROESCH"," ","    TOO BIG!"," "
:Goto 2
:End
:If B :Then
:ClrHome
:Disp " ","    GUESS IT"," BY ERIC ROESCH"," ","   TOO SMALL!"," "
:Goto 2
:End
:If B=A
:Goto R
:Lbl Z
:Output(5,1,"NUMBER IS ALWAYS>1000 AND <9999. PRESS ENTER...")
:Pause
:G-1→G
:Goto 3
:Lbl R
:ClrHome
:Output(2,5,"GUESS IT")
:Output(3,2,"BY ERIC ROESCH")
:Output(5,2,"IT TOOK YOU")
:Output(6,1,"GUESSES TO GUESSTHE NUMBER     .")
:Output(5,14,G)
:Output(7,12,A)
:Pause
:Goto 1

HARMONIS

Calculates the harmonic series.

:ClrHome
:Output(2,4,"DIE HARMO-")
:Output(3,3,"NISCHE REIHE")
:Output(5,2,"1   1        1  - + - + .. + -  2   3        X")
:Pause
:ClrHome
:Output(1,4,"DIE HARMO-")
:Output(2,3,"NISCHE REIHE")
:Output(4,2,1)
:Output(5,2,"--------------")
:Output(8,2,"=")
:2→A
:0→B
:Lbl 1
:Output(6,2,A)
:B+1/A→B
:Output(8,4,B)
:A+1→A
:Goto 1

INCREAS

This number increases forever.

:ClrHome
:Output(2,2,"THE INCREASING")
:Output(3,4,"NUMBER 2.0")
:Output(7,2,"BY ERIC ROESCH")
:0→A
:Lbl 1
:Output(5,2,A)
:A+1→A
:Goto 1

INVERT

Inverts your current graph.

:Full
:For(Y,0,62)
:For(X,0,94)
:Pxl-Change(Y,X)
:End
:End

ISITPRIM

Checks if a number is a prime number.

:ClrHome
:Output(4,3,"IS IT PRIME?")
:Output(5,2,"BY ERIC ROESCH")
:Pause
:Lbl M
:ClrHome
:Menu("IS IT PRIME?","CHECK",C,"ABOUT",A,"EXIT",E)
:Lbl E
:Return
:Lbl A
:Output(4,3,"IS IT PRIME?")
:Output(5,2,"BY ERIC ROESCH")
:Pause
:Goto M
:Lbl C
:Disp " ","  IS IT PRIME?"," BY ERIC ROESCH"," "," ENTER A NUMBER"," "
:Input " ",A
:ClrHome
:Output(2,3,"IS IT PRIME?")
:Output(3,2,"BY ERIC ROESCH")
:Output(5,5,"CHECKING")
:Output(7,3,"PLEASE WAIT.")
:2→B
:Repeat B=A
:If round(A/B,0)=(A/B)
:Goto N
:B+1→B
:End
:Goto Y
:Lbl N
:ClrHome
:Output(2,3,"IS IT PRIME?")
:Output(3,2,"BY ERIC ROESCH")
:Output(5,2,"ENTERED NUMBER")
:Output(6,2,"IS NOT A PRIME")
:Output(7,6,"NUMBER")
:Pause
:Goto M
:Lbl Y
:ClrHome
:Output(2,3,"IS IT PRIME?")
:Output(3,2,"BY ERIC ROESCH")
:Output(5,2,"ENTERED NUMBER")
:Output(6,4,"IS A PRIME")
:Output(7,6,"NUMBER")
:Pause
:Goto M

LOADING

A fake loading bar, because why not?

:Full
:AxesOff
:GridOff
:ClrDraw
:1→A
:Lbl 1
:If randInt(0,1)=0
:A+1→A
:Pxl-On(1,A)
:If A=94
:Goto 2
:Goto 1
:Lbl 2
:ClrDraw
:ClrHome
:Disp

MATRIX

The matrix on your calculator. Again, useless but funny to watch.

:Lbl 1
:For(X,1,16)
:For(Y,1,8)
:Output(Y,X,randInt(0,1))
:End
:End
:Goto 1

NEVERONE

This number never reaches one.

:ClrHome
:Output(3,8,"NEVERONE")
:Output(4,2,"BY ERIC ROESCH")
:2→A
:1→B
:Lbl 1
:Output(6,5,A/B)
:A+1→A
:B+1→B
:Goto 1

NOTHING


:Lbl 1
:ClrHome
:Goto 1

PNOG

A game by Paul Millar. Modified by me. Original Program Source

:ClrHome
:Full
:Output(2,7,"PNOG")
:Output(3,2,"BY PAUL MILLAR")
:Output(4,5,"(C) 2003")
:Output(6,1,"USE UP/DN ARROWS")
:Output(7,2,"TO CATCH BALL.")
:Pause
:Lbl R
:4→Y
:0→S
:4→P
:16→X
:Lbl S
:If X=2 and Y=P
:Then
:S+1→S
:ClrHome
:rand*7+1→Y
:int(Y)→Y
:16→X
:ClrHome
:Output(Y,X,"O")
:Else
:X-1→X
:End
:ClrHome
:Output(8,1,S)
:If X<1
:Goto O
:Output(Y,X,"O")
:getKey→K
:If K=25
:P-1→P
:If K=34
:P+1→P
:If P=0
:1→P
:If P=9
:8→P
:Output(P,1,"[")
:If X=1 and P≠Y
:Then
:Lbl O
:ClrHome
:Output(2,7,"PNOG")
:Output(3,2,"BY PAUL MILLAR")
:Output(5,4,"GAME OVER!")
:Output(7,2,"YOUR SCORE:")
:Output(7,14,S)
:Pause
:Goto M
:End
:Goto S
:Lbl M
:Menu("GAME OVER!","PLAY AGAIN",R,"QUIT GAME",Q)
:Lbl Q
:ClrHome
:Disp "COPYRIGHT 2003"
:Disp "RANDOM SOFTWARE"
:Stop

PONG

A simple Pong clone for TI-82. I did not make it, however I lost the source.

:Lbl 1
:3→A
:4→X
:1→S
:1→T
:randInt(1,8)→Y
:Repeat K=45 or X=1 and A≠Y
:ClrHome
:Output(A,1,"[")
:Output(Y,X,"O")
:getKey→K
:max(1,min(8,A+(Ans=34)-(Ans=25)))→A
:T(Y>1 and Y<8)+(Y=1)-(Y=8)→T
:S(X>1 and X<16)+(X=1)-(X=16)→S
:X+Ans→X
:Y+T→Y
:End
:Pause
:Goto 1

RANDOM

Generates a random number. Umm ... that's all.

:ClrHome
:0→A
:0→B
:0→C
:Disp " ","RANDOM NUMBER","GENERATOR 2.0"," ","PLEASE ENTER 1ST","NUMBER AND PRESS"
:Input "ENTER: ",A
:ClrHome
:Disp " ","RANDOM NUMBER","GENERATOR 2.0"," ","PLEASE ENTER 2ND","NUMBER AND PRESS"
:Input "ENTER: ",B
:ClrHome
:Disp " ","RANDOM NUMBER","GENERATOR 2.0"," ","YOUR RANDOM","NUMBER IS:"
:randInt(A,B)→C
:Disp C
:Pause
:ClrHome

REACTION

A simple game which tests your ability to react.

:ClrHome
:Output(3,5,"REACTION")
:Output(4,7,"TEST")
:Output(6,2,"BY ERIC ROESCH")
:Pause
:Lbl M
:ClrHome
:Menu("REACTION TEST","START",1,"TUTORIAL",2,"ABOUT",3,"CLOSE",4)
:Lbl 2
:ClrHome
:Output(2,1," AS SOON AS YOU  CHOOSE 'START' PRESS ANY KEY ASSOON AS 'PRESS!'SHOWS UP ON YOURSCREEN! BE FAST!")
:Pause
:Goto M
:Lbl 4
:Return
:Lbl 3
:ClrHome
:Output(3,2,"REACTION TEST!")
:Output(5,2,"BY ERIC ROESCH")
:Output(6,1,"HTTP://ROESCH.TK")
:Pause
:Goto M
:Lbl 1
:randInt(0,500)→B
:0→A
:Repeat A=B
:A+1→A
:getKey→L
:If L≠0
:Goto F
:End
:Output(4,6,"PRESS!")
:0→C
:Repeat K≠0
:C+1→C
:getKey→K
:End
:ClrHome
:Output(1,5,"REACTION")
:Output(2,7,"TEST")
:Output(4,2,"YOUR SCORE IS:")
:Output(7,3,"(THE SMALLER")
:Output(8,3,"THE BETTER!)")
:Output(5,2,C)
:Pause
:Goto M
:Lbl F
:Output(3,5,"REACTION")
:Output(4,7,"TEST")
:Output(6,1,"OOPS! TOO EARLY!")
:Pause
:Goto M

TEMPCONV

A simple temperature converter. Supports Celsius, Fahrenheit and Kelvin. And yes ... I lost the source again.

:ClrHome
:Menu("FROM","FAHRENHEIT",1,"CELSIUS",2,"KELVIN",3)
:Lbl 1
:Prompt F
:5(F-32)/9→C
:C+273.15→K
:Goto 4
:Lbl 2
:Prompt C
:C+273.15→K
:9C/5+32→F
:Goto 4
:Lbl 3
:Prompt K
:K-273.15→C
:9C/5+32→F
:Goto 4
:Lbl 4
:ClrHome
:Disp F,C,K
:Output(1,1,"F°")
:Output(2,1,"C°")
:Output(3,1,"K")
:Stop

TICTACTO

A great game by Stephen Ostermiller. Modified by me. Original Program Source

:Full
:FnOff
:ZStandard
:ZInteger
:CoordOff
:AxesOff
:GridOff
:Vertical -28
:Vertical -9
:Line(-47,12,9,12)
:Line(-47,-7,9,-7)
:Text(57,11,"TIC TAC TOE")
:Text(6,8,7)
:Text(6,27,8)
:Text(6,46,9)
:Text(25,8,4)
:Text(25,27,5)
:Text(25,46,6)
:Text(44,8,1)
:Text(44,27,2)
:Text(44,46,3)
:-1→A
:0→O
:0→P
:0→Q
:0→T
:0→U
:0→V
:0→S
:0→Z
:0→Θ
:Lbl 1
:If A=1
:Text(28,75,"O")
:If A=-1
:Text(28,75,"X")
:Lbl 2
:getKey→B
:If B=72
:Then
:If O≠0
:Goto 2
:6→C
:8→D
:A→O
:Goto 3
:End
:If B=73
:Then
:If P≠0
:Goto 2
:6→C
:27→D
:A→P
:Goto 3
:End
:If B=74
:Then
:If Q≠0
:Goto 2
:6→C
:46→D
:A→Q
:Goto 3
:End
:If B=82
:Then
:If T≠0
:Goto 2
:25→C
:8→D
:A→T
:Goto 3
:End
:If B=83
:Then
:If U≠0
:Goto 2
:25→C
:27→D
:A→U
:Goto 3
:End
:If B=84
:Then
:If V≠0
:Goto 2
:25→C
:46→D
:A→V
:Goto 3
:End
:If B=92
:Then
:If S≠0
:Goto 2
:44→C
:8→D
:A→S
:Goto 3
:End
:If B=93
:Then
:If Z≠0
:Goto 2
:44→C
:27→D
:A→Z
:Goto 3
:End
:If B=94
:Then
:If Θ≠0
:Goto 2
:44→C
:46→D
:A→Θ
:Goto 3
:End
:Goto 2
:Lbl 3
:If A=-1
:Text(C,D,"X")
:If A=1
:Text(C,D,"O")
:If abs (S+T+O)=3
:Then
:Line(-38,22,-38,-16)
:Goto 4
:End
:If abs (Z+U+P)=3
:Then
:Line(-19,22,-19,-16)
:Goto 4
:End
:If abs (Θ+V+Q)=3
:Then
:Line(0,22,0,-16)
:Goto 4
:End
:If abs (O+U+Θ)=3
:Then
:Line(-38,22,0,-16)
:Goto 4
:End
:If abs (S+U+Q)=3
:Then
:Line(-38,-16,0,22)
:Goto 4
:End
:If abs (O+P+Q)=3
:Then
:Line(-38,22,0,22)
:Goto 4
:End
:If abs (T+U+V)=3
:Then
:Line(-38,3,0,3)
:Goto 4
:End
:If abs (S+Z+Θ)=3
:Then
:Line(-38,-16,0,-16)
:Text(34,69,"WINS")
:Goto 4
:End
:If SZΘTUVOPQ≠0
:Then
:Text(28,69,"CATS")
:Text(34,69,"GAME")
:Goto 5
:End
:-A→A
:Goto 1
:Lbl 4
:Text(34,69,"WINS")
:Lbl 5
:Text(16,69,"GAME")
:Text(22,69,"OVER")
:Pause
:CoordOn
:AxesOn
:ZStandard
:Disp

VVVVVV

A hopeless try to get the popular arcade-style game VVVVVV to a calculator.

:ClrHome
:Output(3,6,"VVVVVV")
:Output(4,7,"BETA")
:Output(6,2,"BY ERIC ROESCH")
:Pause
:Lbl 1
:ClrHome
:Menu("VVVVVV","START",2,"CONTROLS",3,"ABOUT",5,"QUIT",4)
:Lbl 4
:Return
:Lbl 3
:Output(3,3,"FLIP - ENTER")
:Output(4,3,"MOVE - ARROW")
:Output(5,3,"MENU - CLEAR")
:Output(6,3,"RESET - VARS")
:Pause
:Goto 1
:Lbl 2
:8→Y
:1→X
:0→K
:1→M
:Lbl 2A
:ClrHome
:Output(Y,X,"°")
:getKey→K
:If K=44
:Goto 2
:If K=45
:Goto 1
:If K=24 or K=82
:X-1→X
:If K=26 or K=84
:X+1→X
:If X<1
:X+1→X
:If X>16
:X-1→X
:If K=105
:Then
:If M=1
:Then
:Repeat Y=1
:Y-1→Y
:ClrHome
:Output(Y,X,"°")
:tan(tan(1))
:2→M
:End
:Else
:Repeat Y=8
:Y+1→Y
:ClrHome
:Output(Y,X,"°")
:tan(tan(1))
:1→M
:End
:End
:End
:Goto 2A
:Lbl 5
:ClrHome
:Output(2,6,"VVVVVV")
:Output(3,7,"BETA")
:Output(5,2,"BY ERIC ROESCH")
:Output(6,5,"(C) 2016")
:Output(7,1,"HTTP://ROESCH.TK")
:Pause
:Goto 1