Previous Page [Some graphics I lifted from TI's website.] Top of FAQ

11. Calculator idiosyncracies

Stuff that often needs clarification.

11.1 All calculators

11.1.1 Misplaced negation

Negation comes later than most would expect in the order of operations. In -2^2, the ^ is done before the -, so the problem is calculated as -(2^2) =-4. If you want (-2)^2 =4, you have to actually type in the parenthesis. Also watch out for this with things like the TI-85/86's temperature converter. The conversion is done before the negation if you don't put the negative number in parenthesis. This is not a bug, it was intended to be this way, even though it would be less confusing for people the other way around.

11.1.2 Asymptote on graph

When graphing a noncontinuous function (y=(x-3)^-1 for example), you may notice a line where the asymptote should be. This occurs because of the way the calculator draws graphs. Each pixel is assigned an x value according to the window settings. The calculator finds the y value for each x value and plots a point at that location. Then all the points are connected by lines. The calculator isn't smart enough to know where a function isn't continuous, so the line is still drawn in between the two sides of the discontinuity. One exception is if you turn off the lines altogether by changing the setting to dot in the graph style menu or the graph format screen. Another exception is if the x value of the asymptote falls exactly on a pixel. Since that point is undefined, it is not plotted and no connecting lines can be drawn. You can increase the chances of that happening by using a friendly window.

The same effect can cause a graphed conic (y=squareroot(25-x^2) for example) to not reach all the way to the x axis. If x=5 is not directly on a pixel due to the window settings, the pixel value that is immediately to the left of x=5 will be the last one graphed. Since everything to the right of x=5 is undefined and cannot be graphed, there is nothing for the last pixel before x=5 to connect a line to. Again, the typical fix is to use a friendly window.

11.1.3 Variable names

The TI-83 family only has 27 real variables available to it, A through Z and theta. If more are required for a program, a list can be used. (i.e., use L1(1) instead of A, L1(2) instead of B, L1(3) instead of C, and so on.) A 30 element list alone can store more numbers than the real variables, and lists can go up to up to 99 elements on the 82, 999 elements on the rest of the 83 family.

Because the real variables on the TI-83 family are only one character long, typing them together is implied multiplication. XYZ multiplies the contents of X, Y, and Z together.

The TI-85/86 and TI-89 family allow variable names up to eight characters (letters or numbers) as long as the first character isn't a number. This means that XYZ is itself a variable, not implied multiplication of X, Y, and Z. You must use X*Y*Z to mean multiplication.

The 85/86 is case sensitive while the 89 family is not. This means that on the 85/86, X and x are two different variables, while on the 89family X and x both refer to the same variable.

On the 89 family, something like f(x) means to access the function or program that is stored in the variable f using the argument x. It will not work if your intention is to multiply f and x. For example, a(b+c) will error if what you meant to do was a*(b+c). (b+c)a would also work.

11.1.4 Common math operations

For the person who is completely incapable of looking things up in the manual, here's a list of commonly used math operations that are on the different calculator model families:

Absolute value abs MATH - NUM menu
Cross product cross (TI-85/86)
crossP (TI-89 family)
MATH - Matrix - Vector ops menu
Dot product dot (TI-85/86)
dotP (TI-89 family)
MATH - Matrix - Vector ops menu
Greatest integer function int MATH - NUM menu (TI-8x)
Catalog (TI-89 family)
Fraction, convert to >Frac (TI-8x)

exact (TI-89 family)
MATH - MATH menu (TI-83 family)
MATH - MISC menu (TI-85/86)
MATH - Number menu
Comparison functions =, >, <, etc. TEST menu (TI-8x)
MATH - TEST menu (TI-89 family)

11.1.5 Statistics and plotting

Sam Jordan translates the Statistics chapter of the manuals for the TI-86, the TI-83 family, and the TI-89 family. Also, Karr Parr has written guides for statistics for the three model families, and William Larson has written guides for statistics for the TI-83 family and TI-89 family.

11.1.6 Restoring factory installed Flash Apps

Several of the Flash enabled calculators come preloaded with several Flash Applications. If they are deleted from the calculator they must be reinstalled using the TI Connectivity cable. Most of them are free from TI's on-line store, but some of them are listed as for purchase only. The cost of these apps were included in the purchase of the calculator, and can be downloaded for no charge if you register your calculator with the system. To do this, enter the on-line store, click "your account", log in to the system (create an account if needed), click "Register calculator", enter your calculator's ID number, finally go to the "Pick-up Window" where the apps will appear. The ID number can be found on the About screen, which is reached from the 2nd-MEM menu on the TI-83 Flash family and F1, A on the TI-89 Flash family. The TI-83 Flash family PuzzPack app can be downloaded from Detached Solutions.

The following is a notice from TI:
We have identified that there are some TI-83 Plus graphing devices that do not have unique ID numbers. This issue causes the user to be unable to download for purchase Handheld Software Applications (Apps), but does not alter the inherent functionality or usefulness of the product. If your TI-83 Plus ID Number is 04000-00000-8474 or any number with a string of 7 zeroes after the first three digits, please call 1-800-TI-CARES or email, and reference 'Duplicate TI-83 Plus ID Number', for details on how to rectify the situation.

11.2 TI-8x calculators

11.2.1 TI-85 table and graph text

The TI-85 was one of the first graphing calculators that TI made. There are a few things that are on all the other calculators that TI hadn't thought of yet when the TI-85 was made, such as the Text( command and the table of values. There are some programs at TI's program archive that create a table or emulate the Text( command if you want your TI-85 to have those abilities.

11.2.2 Rounding error

The TI-8x calculators can only keep track internally of 14 digits in a number, which leads to an inaccuracy known as "rounding error" when dealing with repeating decimals. As an example, type (1/3)*3 and hit ENTER. The answer will be 1, as you would expect. Now subtract 1 from that. Instead of zero, you will get -1E-14. When the calculator found 1/3, it came out as .33333333333333. When the calculator then multiplied that by three, it came to .99999999999999. The calculator will only show 12 decimals on the screen without rounding, so (1/3)*3 was rounded to 1. However, when you subtract 1 from that, the calculator does .99999999999999-1 which equals -.00000000000001, or -1E-14. The moral is that anytime you get a positive or negative number with a scientific notation exponent (E) of -12, -13, or -14, you can usually consider that number to be zero. This happens mostly with the solve function and when graphing trigonometric functions. The TI-89 family mostly avoids this problem since fractions are kept internally in numerator over denominator format. However, if the 89 family is forced into approximation mode (either by the mode setting or by an especially complicated equation) the rounding error can still occur.

11.2.3 TI-86 Line( command fifth argument

On the TI-83 and TI-83 Flash family, an optional fifth argument of zero in the Line( command will erase the line instead of drawing it. Judging by the manual, this feature was originally intended to be on the TI-86 as well, but it was left out in the final version. There is no fifth argument for the TI-86's Line( command.

11.2.4 Convert number to string

On the TI-89 family this can be done with the string() command, but the TI-8xs have no equivalent. Sam Jordan brings us these programs to provide that function. The Symbolic Flash App adds the function on the TI-83 Flash family. There is an alternative method that is shorter but known to sometimes crash the calculator. With the number you want to convert stored as A,

TI-83 family:

LinReg(a+bx) L1,L2,L3,Y1


sub(A,1,lngth A-3)->A

A or Str1 is now a string with the number in it. This will overwrite xStat and yStat on the 86, so if they're something you want to keep make copies of them into other variables. On the 83 family you can use different numbered list, string, and Y variables if the ones used above have something in them you want to keep.

11.2.5 Sequence graphing on the TI-85/86

The TI-83 family has a built in sequence graphing mode while the 85/86 does not. Sam Jordan explains how to do it anyway on this page using examples from the TI-83+ manual.

11.2.6 Renaming programs

You can't actually rename a program on the TI-8x calculators, but there are workarounds. You can send the program to a computer or another calculator, then send it back, and when the calculator prompts you to replace the existing version or name the file something else, choose the latter option. Then delete the original. You can also create a new program, and while in the program editor use 2nd-RCL on the original program. This will copy the program's entire code into the new program. Then delete the original.

11.2.7 Adding columns to the 83 family list editor

Columns may be added and removed manually by moving the cursor up to the top row of the list editor and using the DEL or INS key. The SetUpEditor command in the STAT menu allows you to do it automatically. Used without arguments, it restores the editor to lists L1 through L6. Used with arguments, it sets the columns in the editor to the specified lists.

11.3 TI-89 family

11.3.1 X-root

The 89 family does not have an x-root command, but the same thing can be accomplished by using a fractional exponent. For instance, the cube root of n is n^(1/3). To also find the complex roots, do cZeros(c^x-n,c) instead of n^(1/x). For the cZeros method on steroids, use this program by Scott Campbell. Kevin Kofler's XtraKeys program hacks the calculator so that an xroot function is available as an extra function of the ^ key.

11.3.2 Fractions and decimal approximations

The 89 family does not have the >Frac (convert decimal to fraction) command like the TI-8x calculators, but the exact() command provides the same thing. Usage is exact(number[,tolerance]). Tolerance is an optional argument that tells the calculator how strict to be when converting to fractions. For instance, exact(.333) gives 333/1000, but exact(.333,.01) gives 1/3. The larger the tolerance, the more forgiving the calculator is towards being provided a smaller number of digits.

For the other direction, converting fractions (or anything else) to a decimal, you must override the CAS's tendency towards giving exact answers. You can do this by pressing the diamond before pressing enter, or by using a decimal point anywhere in the problem you typed. You can make the calculator stay this way by changing the Exact/Approx setting in the Mode screen to Approximate.

11.3.3 Log

Though the log() command isn't on the keyboard, it does exist. It can be found in the catalog, or just type it in. Add it to the custom menu for easy access, or just use ln() and the log change of base formula. Kevin Kofler's XtraKeys program hacks the calculator so that log is available from diamond+clear.

11.3.4 Temperature conversion

Temperature units do not convert the same as the other units on the 89 Flash family. This is done so you can convert thermometer values as well as temperature ranges. (I.e. 5C is 41F, but a change of 5C is equivalent to a change of 9F.) The tmpCnv() command is used for values, tmpCnv(5_C,_F) = 41_F. The Delta-tmpCnv() command is similarly used for ranges (the Greek letter Delta being standard notation for a change in value). Both are available from the catalog, add them to the custom menu for easy access.

11.3.5 Linear interpolation

The 89 family does not have an interpolation feature, but it is simple to adapt the linear interpolation formula for use with the calculator. Linear interpolation is performed by matching the slope of two known points with the slope of one of those points and an unknown point. Basically:
(y1-y2)/(x1-x2) = (y1-y)/(x1-x)
where y is the unknown.

You can make a function to use on the home screen for quick linear interpolation:

You can also make a function to use with the numerical solver as described in 10.1.8:

Note that yy1 etc. is used instead of y1 in order to not cause a conflict with the function graph variables.

11.3.6 Population standard deviation

When performing a statistical analysis or regression on the 89 family, the sample standard deviation (where the variance is divided by n-1) is displayed as Sx, but the population standard deviation (where the variance is divided by n) isn't. However, it is calculated and stored to the variable sigma-x. You can see the value by typing sigma-x into the entry line and hitting Enter. The Greek letter sigma can be obtained from the Char - Greek menu (item G) or by using the following keystrokes:
On the TI-89(Ti): diamond ( alpha S
On the TI-92(+)/V200: diamond G S

11.3.7 Equivalent answers

The 89 family calculators are able to return answers symbolically, including unknown variables. However, with complicated problem the calculator may not return the answer in the same form as the one you would expect to get when solving the problem by hand. This is because the calculator uses different methods to arrive at the answer. When using the calculator to check your work, it may be necessary to deal with such answers. There are several methods to check that the calculator's answer is equivalent to yours.

The surest way is to convert one answer to the other by hand, but that is cumbersome. The simplest way is to set the equations equal to each other inside a solve() command. If the calculator returns "true", they are equal. You can also graph both equations (if the variable in it is x) and check that the graphs and table values match. There are also various commands on the calculator which might transform the equations to something that matches, including expand(), propFrac(), tExpand() and tCollect().

11.3.8 Restrict domain for expected answer

When using solve() or the Test functions, the 89 Flash family's CAS does not restrict itself to real numbers unless you tell it to, and therefore it will neglect some math properties that seem obvious. Using the | (with statement) to restrict your variables to the real domain will usually take care of the problem. Avoid logarithms and square roots of negative numbers. Examples:
y*ln(x)=ln(x^y) returns itself, but y*ln(x)=ln(x^y)|x>0 returns true
intergral(((x-1)/x^5)^(1/2),x) returns itself, but integral(((x-1)/x^5)^(1/2),x)|x>1 gives the answer.

11.3.9 Custom menu

A toolbar is constructed in a 89 family program using the Title and Item commands. When the menu commands are use with the Custom and EndCustm commands with nothing else in the program, running the program stores that menu as the custom menu that can be accessed by pressing 2nd-CUSTOM. Each Title command represents one toolbar menu heading. The first Title is F1, the second Title is F2, and so on. Item commands coming after a Title command represent menu choices under that menu heading. The text in quotation marks after each Item command is pasted to the entry line when that menu item is chosen. The Item commands are optional; if a Title command is by itself it will activate that item with one press of the appropriate F-key. The 89 manual has an example of a custom menu program (with very good illustrations) in the chapter on programming [PDF file]. There's another example at the 89/92+ Examples site. On the 89 Flash family, the CustomOn command placed at the end of the program will activate the custom menu immediately upon execution.

There is a default custom menu accessible under F6, 3. To alter the default custom menu, do F6, 3, hold down shift and press the up arrow, then perform a copy (diamond-C on the 92(+)/V200, diamond-shift on the 89(Ti)). Hit clear, then start a new program in the program editor. Paste the menu code (diamond-V on the 92(+)/V200, diamond-ESC on the 89(Ti)) and change whatever you want. Run the program to enact the modified menu.

There is no way within the TI-OS to create branching menu items (sub meus).

This excellent tip comes from Timothy Dixon: You can create several different custom menu programs and switch between custom menus by running the different programs. If you are using the 89 Flash family you can even name these as your keyboard programs. For instance, a program named kbdprgm1() runs when you press diamond 1.

11.3.10 Picturesque graphs

The equation for the 3-D graph on the cover of the manual and other interesting graphs are located at Techno-Plaza.

11.3.11 Step by step operations

The 89 family will not show the pencil-and-paper mathematical steps used in finding the answers. In most cases, it doesn't even do it the same way a person does would. TI has a Flash Application that provides something similar to step-by-step however.

11.3.12 Advanced tips and tricks

Doug Burkett has assembled an excellent list of tricks that are poorly documented in the manual or not in the manual at all.

IV. Miscellaneous Things

12. Extra character sets

12.1 More characters on the TI-85/86

The semicolon, backslash, and other characters are available in the ti-font that comes with the Graph Link software. You can use the Graph Link cable to send them to the calc inside of a program. (Note: If you're trying to type \->\, read 1.4 instead.)

While the 89 family has a CHAR menu that includes every character on the calculator, the TI-85/86's CHAR menu only has some of them. The rest of them can be taken from TI-85 assembly strings using this BASIC program (replace ZShell with another name if needed):

:Outpt(2,16,lngth ZShell)
:Lbl A
:If K==22:Stop
:If K==25 and X<lngth ZShell-20:X+20->X
:If K==34 and X>20:X-20->X
:If K==24 and X>1:X-1->X
:If K==26 and X<lngth ZShell:X+1->X
:If K==21:CHR+sub(ZShell,X,1)->CHR
:lngth ZShell-X+1->Y
:If Y>20:20->Y
:Outpt(2,1,"*              ")
:Goto A

12.2 Store arrow and quotes in a string on the TI-85/86

These methods, discovered by Thomas Graupner, will put the store arrow or quotation marks in a string on the TI-85/86.



This allows you to Disp or Outpt( those characters by referring to the string name they are stored in. The first line here will output the second:

Disp "Type "+qm+"string"+qm+sto+"NAME"
Type "string"->NAME

12.3 Lowercase letters on the TI-82/83

The only lowercase letters used on the 82/83 are imbedded in commands and cannot be extracted. You can use the Graph Link software and cable to send some of them to the calc inside of a program, but it doesn't work for all letters. If you want to be creative, you can use the Output command to place a command on the screen and then overwrite all but one letter with the rest of the word you want.

12.4 Lowercase letters and Greek on the TI-83 Flash family

The Graph Link method from above still isn't completely successful on the TI-83 Flash family, but there is a new loophole that can be used. Install a foreign language localization flash application and switch the calculator to the other language. Now the first item in the CATALOG is the foreign equivalent of Characters. Select that and a new screen will appear with Greek letters at the top and accent marks across the bottom. Once here, the behavior of the ALPHA key changes. Push ALPHA once to type a letter, push ALPHA twice to type a lowercase letter, push ALPHA 2nd ALPHA for caps lock, and push 2nd ALPHA for lowercase lock. When you are done, select the word underneath the Greek letters, which means Done, and what you typed will be pasted to your original cursor position. Then switch back to English. Note that these characters are only valid in strings.

There is also a way to activate this so that it works on the home screen on the TI-83 Plus. (I don't know if the code works on other 83 Flash family calculators or not.) This was discovered by Dan Englender. Create a program with the following contents (AsmPrgm is in the catalog and that's a zero not the letter O) and run it using the Asm( command (also in the catalog):


This will toggle the lowercase abilities on and off. In case you're interested, the source code for that is:
ld hl,$89f0+$24
ld a,%00001000
xor (hl)
ld (hl),a

The MirageOS assembly shell has this code built in, and the lowercase can be togged from one of its option screens.

Reportedly, such lowercase letters do not remain in a program when it is transferred to the computer, so they are not recommended for general use.

13. Hacked stuff

Besides assembly, those skilled hackers bring us the following:

13.1 Emulators

Hackers have written emulators for some calculators that use a ROM copy (that you must get from the calculator via a link cable and a ROM dumper) to run a virtual version of the calculator on the computer. These are useful for debugging programs, especially assembly programs. The most popular is Virtual TI, which can run all the calculators from the TI-82 on up to the TI-92 Plus and includes its own ROM dumping utility. (However, it is several years old, so many recent versions of the 83+ ROM do not work with it. Nor does the USB Connectivity cable. A new version is in the works.) There's also Virtual TI for Pocket Windows. Some others I've seen are: CalcEm for the TI-82/83, TI-8x emulator for the TI-82/83 and 85/86, TilEm for the TI-8x calculator under Linux, Tiger for the TI-92, and TiEmu for the 89 family under Windows and Linux. Others can be found at TI provides a fully working emulator of the discontinued TI-81, as well as emulators for the TI-83 Flash family and TI-89 Flash family as part of their SDKs.

13.2 Memory expanders

Schematics are out there for external memory storage devices, such as The PIXpand and TICFRW. There aren't as many of these as there used to be, the proliferation of Flash ROM and the archive that comes with it seems to have lessened the need for such things.

13.3 Hardware add-ons and modifications

Other creations for TI calculators include an external light called the TI-Glow and a RadioLinc. Internal modifications that people have come up with (WARNING: SEVERE CALCULATOR DAMAGE MAY OCCUR, DO THESE AT YOUR OWN RISK) include the SPinTerface at The Richfiles. There is also a way to overclock or "turbo" the calculators, which involves replacing a capacitor that controls the timing of the calculator operations. There are various plans for this around the internet, two pages I found are the Official TI Ultimate Speed Boosting Page for TI-8x calculators and The official TI-Accelerating pages & more for all the calculators. Once again, these links are provided for informational purposes only. I do not endorse or encourage taking apart your calculator unless it's already got something broken.

14. Graphing calculators for other platforms

14.1 Computers

The obvious way to get a TI graphing calculator on your computer would be to use an emulator. Windows comes with a calculator which has a menu option to turn it into a scientific calculator. Spreadsheet programs (Excel, Quattro Pro, Lotus 1-2-3) can be used to plot graphs and perform statistical regressions.

TI offers TI Interactive, for the classroom setting, and Derive, upon which the 89 family's CAS was based. Other industry favorites for big time math problems include Mathematica, Mathcad, MATLAB, and Maple.

14.2 On-line

A search reveals some graphing calculator Java applets, including these. (The amount of features varies from applet to applet, though none of them completely duplicate a TI graphing calculator.) - Graph It!
Function Grapher
Ultimate Graphing Tool

14.3 Palm Pilot and Pocket Windows

A search reveals graphing calculator software for the Palm Pilot.
powerOne Graph

Another search reveals graphing calculator software for Pocket Windows (Win CE).
Formulae 1 CE
Math Xpander
MRI-Graphing Calculator
Soo Calculator

Of course there's also Virtual TI for Pocket Windows.

[Some graphics I lifted from TI's website.] Top of FAQ

Please don't sue me: Neither I nor this web site are in any way connected to or affiliated with Texas Instruments (though they are nice enough to link to here, and they also had me add the legalese at the bottom).All copyrights and trademarks are the property of their owners.

On line since Sept. 1997
Visit counter provided by Site Meter. visitors since 8/1/2001

Commons License
This work is licensed under a Creative Commons License.

hosted by ibiblio

NOTICE: This site has no legal affiliation with Texas Instruments Incorporated. The owners and operators of this site are solely responsible and liable for any content or goods on or obtained from this site. Texas Instruments Incorporated ("TI") makes no representation with respect to the suitability of any of the information contained in any content or non-TI goods obtained from this site. In no event shall TI or its licensees be liable for any damages whatsoever, including special, indirect or consequential damages, arising out of or in connection with the use of or performance of the content or non-TI goods obtained from this site.
TI-Graph Link and Voyage 200 are trademarks of Texas Instruments.