The Ultimate TI Calculator FAQ - Introduction
by Patrick Davidson ( pad@ocf.berkeley.edu) -
Return to FAQ index -
Return to my main page
- What kinds of programs can the calculator run?
- What are "basic" and "asm" programs? What is the difference between them?
- Where are calculator programs available?
- Which calculator do you recommend? How do the various calculators compare?
- Where else can I get help?
- How do I use a ZIP file?
- I don't have the manual to my calculator. Where can I get one?
What kinds of programs can the calculator run?
All of the calculators covered by this document can run large selections of programs. The link ports make transferring software from a computer to
a calculator or between calculators easy. There are a many programs available for each of these calculators. The kind of programs available range from
simple math programs which ask the user to type in the radius of a circle, and then display its area, to complex games from many genres.
What are "basic" and "asm" programs? What is the difference between them?
"Basic" here refers to the built-in programming language of the calculator. This language is somewhat similar to the various "Basic" languages available for
computers, and it's what the calculator's manual describes programming in. This language is easy to learn and use, but unfortunately is very slow. For very simple things such as a "quadratic formula" program, this langauge is adequate. However it lacks the performance
for advanced math software, and also is too slow for most types of games (which must generally draw graphics and update the game state very quickly).
Another langauge to program in is "asm" (assembly). When programming in assembly, you are actually writing the same code that the processor directly executes,
unlike basic, in which the processor directly executes a different program, which "interprets" each statement in the basic program each time it has to be run.
For this reason (and many others), programs written in assembly are much
faster than basic programs. Here is an a short example of assembly code
(if you only want to run programs, you don't need to understand it; it's
just here to give you an idea of the difference):
ld hl,$fc00
loop: ld a,(hl)
cpl
ld (hl),a
inc hl
ld a,h
or l
jr nz,loop
This assembly code will reverse the color of every pixel on the screen on a TI-85 or TI-86. As you can probably guess b
y looking at it, assembly is not
quite as easy for a beginner to understand, since it describes individual operations of the processor rather than high-level operations that a human normally
thinks about. This assembly code will take only about 0.01 seconds to run; this is the kind of speed that makes assembly suitable for high-performance software.
Strictly speaking, the processor does not execute assembly code, but actually machine code. To run the program above, you would need to convert it into
machine code. Machine code itself is a binary format, not text that people can read and understand, which is why people program in assembly language instead
(in addition to other reasons; assembly language also allows comments that aren't executed to be inserted that explain the code, and labels [like "loop"] and
symbols can be given meaningful names, and adjusted more easily). Converting the program to machine code is called assembling (or sometimes compiling) and the
program used for it is called an assembler. Since the conversion is done before running, no performance loss occurs at run-time, and assembly is just as
flexible since each assembly instruction directly specifies a machine code instruction.
On the TI-89 and TI-92 Plus calculators, there are also a large number of high-quality programs now written in C. C is a high-level language (that is, it
describes operations in a more abstract way than individual machine operations) which, unlike
basic, is designed for speed, and also is converted to machine code before it is run. Since the programs are run in machine code form, the calculator community
usually classifies them with "asm" programs even though they were not written in assembly.
The main disadvantage of assembly programs is that they are somewhat harder to develop, and can't be easily (if at all) typed in to the calculator by hand.
There is also some chance of an asm program "crashing" but this is not really the huge problem it's occassionally said to be (see the general assembly section on crashes for more information). All in all, if you want to use advanced math software or play high-quality games, asm programs are usually the best choice.
Flash applications are also stored as machine code; they should be
considered the same as regular "asm" for most purposes but they must be
kept in flash memory and have a different file format and can more closely
interface with TI's software in some cases.
Where are calculator programs available?
There is not any single source which provides all high-quality programs for TI calculators.
Refer to the links section
of my main web site for links to the best general archives as well as sites of programmers.
Most of these are focused on games and utility programs, but some math/science programs are
included as well. If you are looking for more math and science programs, refer to the
Finding Math and Science Programs section of this FAQ.
Most sections of this FAQ that recommend specific programs include links to their web
sites, or to archives they can be downloaded from.
Which calculator do you recommend? How do the various calculators compare?
This section only refers to comparisons between various calculators from
TI. My experience with other calculator brands is too limited for me to
write a complete and fair comparison. I haven't seen any comparisons
elsewhere that meet these standards either, so I won't link to any of them.
The only way you can really decide which brand is best for your purposes is
to try using all of them for a while, and be sure to get information on
using them from knowledgeable sources so you can make sure you are seeing
the best of what each can do.
First off, I would like to say that you should not even consider the
TI-73, TI-80, or TI-81. Beyond that, which calculator is best depends on what characteristics are important
to you. Here are some of the key differences:
- Math software functionality - The TI-89 (and above) have math
capabilities that are far more advanced than the TI-86 and below. The most
important of these is the symbolic manipulation, which allows you to not
only enter algebraic expressions, but get algebraic expressions as results
instead of only numbers. For example, while the other calculators could
solve a quadratic equation when given the coefficients, the TI-89 and above
could take "ax^2+bx+c=0" as the equation to solve, and give the quadratic
formula as a result. They also can perform differential and integral
calculus symbolically. There are some programs for the lower calculators
that partially duplicate this functionality, especially in the form of
flash applications for the TI-83 Plus/Silver Edition/TI-84. There are
also some additional features of the TI-85 and TI-86 that the lower
calculators don't have, such as a numeric equation solver, but these can
now be duplicated by flash applications on the TI-83 Plus and above.
- Screen size - The TI-82, TI-83, and TI-84 (in all their
various editions) have 96x64 screens. The TI-85 and TI-86 have 128x64
screens. The TI-89 (and TI-89 Titanium Edition) have 160x100 screens.
The best screen size comes from the TI-92, TI-92 Plus, and Voyage 200
which have 240x128 screens. This may not matter for most users. However,
if you want to enter large amounts of text or especially do programming
or store text files, a very small screen might be annoying.
- Processor - The TI-89 (and above) calculators all have 68000
processors (or clones of them) at speeds of about 9 to 13 Mhz. The TI-92
has a clock speed at the lower end of the range, while the TI-89 has the
lower clock speed in older units and the higher clock speed in newer ones.
The TI-92 Plus, Voyage 200, and (presumably) TI-89 Titanium all have the
higher clock rate. The lower calculators have Z80 processors (or clones). These
should have a clock speed of around 15 Mhz in the TI-83 Plus Silver Edition
and TI-84 Plus, 6Mhz in the case of the TI-83 Plus (and perhaps also the
TI-83) and slightly less in the others. Note that since these are
different processor types, this does not mean a TI-83 Plus Silver
Edition is faster than a TI-92 Plus; rather, the TI-92 Plus is be
somewhere around twice as fast, depending on exactly what computations
it must do.
- RAM storage size - The TI-82, TI-83, TI-83 Plus, and TI-85 all
have 32K of RAM. The TI-86 and TI-92 have 128K of RAM. The TI-89, TI-92
Plus, and Voyage 200 all have 256K of RAM. The TI-83 Plus Silver Edition
(and probably also the TI-84 series)
has 128K but usually only allows you to use 32K of it. Note that the OS
always stores some data in RAM so you can't use every byte for your
programs.
- Archive storage size - The newer calculators also have flash
memory, which holds the base OS software from TI (and allows it to be updated)
and also can be used to store your programs in the area not taken up by
the OS. The TI-83 Plus allows you to store 160K and the TI-84 Plus has
480K. The Silver Editions of each have 1.5 megabtes. The TI-89 can
store 702K and the TI-89 Titanium and Voyage 200 can store 2.7 megabytes.
Unfortunately, the Voyage 200 only allows 1 megabytes to be used for your
variables and programs; the rest is reserved for flash applications. Note
that flash memory is just another kind of storage (somewhat more permanent
than RAM, but which can't be written to as quickly) and "flash apps" is
mainly a marketing gimmick from TI; the older calculators are fully
programmable as well and being a "flash app" does not give a program
higher performance.
- Math/science/engineering programs - In general the key math features are built in to
the calculators and extra programs aren't needed. If you want simple
programs such as quadratic formula/Ohm's law these are easily available
for all calculators. For more sophisticated things, you can get many
flash applications from TI's site for the TI-83 Plus and TI-84 as well as
some for the TI-89/92 Plus/Voyage 200, some of which you may have to pay
for. For the TI-83 and below, these programs are mainly useful for high
school students, but for the higher calculators there are more advanced
programs such as electrical engineering. Also, there are some complex
math/science/engineering programs from sources other than TI for the TI-89
and above, but few for the lower calculators.
- Games - There are numerous games for all of the calculators
discussed in this FAQ. The quality is generally the same across all of
them, but calculators with larger screens and faster processors do have
an inherent advantage due to these features. Also pay attention to the
amount of storage if you want to store a large number of games.
Where else can I get help?
There are certainly many source of help on calculators, though not all are useful. Many FAQ documents exists, but most of them seem to have outdated or incomplete
information, especially when it comes to games and assembly programs. That's the reason I wrote this document. Anyway, here are several other sources of guidance:
Other help documents
There are many other help documents available on the web. They generally
have much less (and often less accurate) information about running assembly
programs as this document, but they often dohave more information on the
basic math functions and how to write simple programs in basic.
- ticalc.org help - This site
provides a lot of help information.
- Ray Kremer's TI Graphing Calculator
FAQ - This document provides some information on a broad range of topics.
It provides a lot of information using the Graph-Link, and also lists tips
for Basic programming and some math functions, as well as listing
unusual features of the calculator. However it's information about assembly
language programs is often incomplete and not fully correct (especially
when it comes to the TI-89 and TI-92 Plus).
If that is what you are searching for help on, read this FAQ instead!
- TI's Calculator FAQs - The pages
about each specific calculator have FAQs for those calculators.
They mainly answer questions about which
features the calculators have, and the availibility and prices of add-on
components, and doesn't give a lot of help for users of
the calculators. However, it does provide detailed answers to some questions
about doing math with some of the calculators. It doesn't provide much
help at all in running assembly programs.
E-Mail
You can, of course, send additional questions to me in E-Mail. My address
is pad@calc.org, or (if this doesn't work)
pad@ocf.berkeley.edu. If your
E-Mail normally blocks all mail from everyone except a list specifically
permitted to contact you, be sure to allow E-Mail from my address before you
send to it! Note that my pad@calc.org address normally forwards mail to
pad@ocf.berkeley.edu, so be sure to allow mail from that address as that is
where replies normally will come from. Please observe the following
guidelines about asking for help from me:
- Any general questions similar to those in this FAQ are welcome
- Please don't ask questions that are already answered in this FAQ
(unless you don't understand the answer here; in that case, please tell me
what you don't understand about it)
- Any question about a game programmed by me is welcome (but please read
the section on how to report bugs before
sending a bug report)
- Please don't ask me questions about basic programs or basic programming
- Please don't ask questions about general use of the calculator (how to
graph functions or delete variables, etc.) as these are explained in the
manual and you can contact TI for help
- Any question about a utility program that I recommend using in here is
welcome, but please don't ask how to use any utilities that this FAQ
tells you not to use
- Questions about specific games should generally be addressed to the
authors of the game first. However, if it is a widely-used assembly
game, you can ask me if the authors don't answer your questions.
- Please be sure to include all information I need to be able to answer
your questions; in particular, be sure to tell me which calculator you
are using and the version numbers of every program involved
- Please don't tell me that this FAQ is wrong unless you are prepared to
prove it
You can also ask questions to
help@ticalc.org. They are probably willing to answer questions that
are outside what I'm willing to answer, as described above.
Mailing lists
There are also some mailing lists operated by ticalc.org that you can
ask questions on. For information on how to access these, go the the
"Community" section of ticalc.org, then look under "Mailing Lists and
Newsletters".
Newsgroups
There is a newsgroup for TI calculators,
bit.listserv.calc-ti.
Internet Relay Chat (IRC)
This document is not an FAQ on IRC, so I won't describe it in detail
here. You can get information on what it is from
www.irchelp.org. Essentially, IRC is a very large multi-user text-based
communication system. There are several different 'networks', each of which
contains many 'servers' that a user can connect to to be able to communicate
with anyone on that network. It is organized into channels, each of which has
a specific name and (usually) is controlled by specific operators (who have the
ability to remove you from the channel, permanently if so desired); the largest
networks have over 100000 users (but of course most of them aren't there
to talk about TI calculators).
First, the English-language channels, all of which are on
EfNet.
- #tcpa - This is definitely the best English-language calculator
channel. In fact, it is the only one which currently has much activity.
While other subjects are also discussed a large portion of the conversation
is actually about calculators and you can ask any questions there (but it
might help to read this FAQ before asking).
It was originally set up by members of the TCPA and Detached Solutions,
who work
primarily on TI-83 Plus and flash application programming. However, it
now includes many other TI community members.
- #calcs - This was intended as a companion channel to #tcpa which would
be used for general help while #tcpa was for programming discussion.
However most people stayed in #tcpa only so it is better to ask questions
in #tcpa.
- #ticalcs - This channel is almost completely dead; use #tcpa
instead.
- #ti-files - This channel was associated with the TI-Files
web site. The TI-Files web site was once a large high-quality general
calculator site, but it eventually stopped being maintained and
disappeared. Likewise this IRC channel has pretty much died out.
This site is not the same as the newer ti-files.de, which is
still active but is in German. Use #tcpa instead.
- #calc-ti - The original calculator channel. Several years ago
it was superseded by #ti and then died. Use #tcpa instead.
- #ti - This is a long-established channel, which once was
EfNet's main calculator channel. After a couple of years as the main
calculator site, a group of people quite hostile to discussion of
calculators took control, and they would often kick or ban anyone who tried
to talk about calculators. Since then they have made the channel invite-only
so you can't join it at all. I hope I don't have to tell you that you
should use #tcpa instead of this channel.
There are also some French language channels. While French is the preferred language
on these channels, if you speak English most of the people there will probably
understand and tolerate you.
All of these are on the
kewl.org network. Note that the activity
level depends on what time of day it is in France.
The channel most focused on calculators is #tigen.org which is associated with
the TI-Gen web site. There are several other channels have some degree of calculator
discussion, but are more oriented to other subjects or which have become inactive.
Nonetheless you can still try to discuss calculators there. Ranked from most active to least
active, the channels are: #3l33t, #arf, #ti, #ti-fr.
How do I use a ZIP file?
This is an FAQ about calculators, not the basics of computers,
so I won't write much on this. Essentially, a ZIP file
is a collection of other files in compressed form. You need an 'unzip'
program to be able to extract the contents of
these files. For Windows, I would recommend using
7-Zip. For the Macintosh I think
'StuffIt Expander' is normally used. If you use Linux, your Linux
distribution almost certainly includes 'zip' and 'unzip' programs
as this is a widely used file format. For other
operating systems, just search the web for one.
I don't have the manual to my calculator. Where can I get one?
These are available for download from
TI's web site. Select "guidebooks/manuals" from the drop-down box and
then you can get the manual after indicating your calculator and
language.