Disaster

Calculators are built with one primary purpose: math. Programming, game playing, and everything else is secondary. Thus, you will find a number of powerful math commands. Although it may seem that they are of no use to a programmer, programs sometimes need math functions, and many math functions can be used in clever ways. In this guide we'll group the commands into the following five categories:

Algebra

Symbolic manipulation is the primary cool factor of the 68k (TI-89, TI-92, TI-92+, and V200) calculators. With the solve() command, the calculator can give exact solutions to a fair number of equations (of course, approximate solutions are even easier to get). Along with a dozen variations on solve(), there are a few commands for extracting various parts of an expression, which should be useful for writing your own algebraic tools.

As on earlier calculator models, there's also logs and complex number operations, which are even better with symbolic math.

Here is the complete list of algebraic commands:

Arithmetic

For basic arithmetic, the 68k calculators' advantage is that it can do exact calculations with integers up to 256255-1 (and approximate floating-point decimal calculations up to 101000-1). Here is the complete list of arithmetic commands:

Calculus

What with the ability for symbolic calculation, the 68k calculators are much more useful for calculus than other models; they can do symbolic differentiation and integration, as well as calculate infinite sums and products. There are some numeric functions as well carried over from earlier calculator models.

Here is the complete list of calculus commands:

Statistics

Statistics is the one field in which the 68k calculators don't stand out compared to other TI models. In fact, there are considerably less statistical tools than, say, on the TI-83 series calculators (compare their page on statistics). What there is left is mostly a variety of regression models:

For all of these, use the ShowStat command to display the results in a dialog box, and look at the statistical system variables for more information.

There are also some general-purpose commands for sample statistics:

Finally, you can plot data with the NewPlot command (see also PlotsOn and PlotsOff).

Trigonometry

The main thing to remember when doing trig is to be aware of what angle mode you're in. By default, you're using radians, where a full circle measures 2π. The other two angle modes are degrees, where a full circle is 360, and (on the newest OS versions for the TI-89 Titanium and Voyage 200) "gradians" where a full circle measures 400.

The commands that actually work with these include the usual trig functions (half of which — the mostly useless half — were added in OS version 2.07) and their inverses, as well as commands to convert rectangular coordinates (x,y) into polar coordinates (r,θ). There's also the hyperbolic functions (there's a hyperbolic equivalent for each of the normal trig functions).

As far as symbolic math is concerned, you can use tExpand() and tCollect() to rearrange complicated expressions using sin() and cos(), and hope to simplify them somewhat by doing so.

The entire list of trig commands is:

I am working on the program, but I am having some troubles with the packet format. I wish this was easier.

Basic Greyscale

Most people do not know that greyscale can be achieved outside of a extra ASM library like Xlib, greyscale is nothing more than a pixel flashing on and off so quickly that it apperas to be grey. The con of greyscale in Basic is that it can give ERR:MEMoRY when you are using a delay, furthermore, only one grey can be achieved. For instance this hardcoded "block"

Repeat 0
Pxl-Change(31,47
Pxl-Change(31,48
Pxl-Change(31,49
Pxl-Change(30,47
Pxl-Change(30,48
Pxl-Change(30,49
Pxl-Change(29,47
Pxl-Change(29,48
Pxl-Change(29,49
Pxl-Change(28,47
Pxl-Change(28,48
Pxl-Change(28,49
End

this very simple code will switch the pixels on and off rapidly, a delay could be added using a "for(" loop.

expr.png

Command Summary

Runs code stored inside a string.

Command Syntax

expr(string)

Menu Location

  • Press MATH to enter the MATH popup menu.
  • Press D to enter the Strings submenu.
  • Press 2 to select expr(.

Calculator Compatibility

This command works on all calculators.

Token Size

2 bytes

The expr() command runs code stored inside a string: for instance, expr("5→x") has the same effect as 5→x. The main use of expr() is with user input: the input you get from some commands comes in a string, and you might use expr() to convert it back to a number.

The other advantage of using expr() is that you can paste together code as the program is running, to run something you couldn't possibly have put in the program ahead of time. For instance, you might paste together a Dialog..EndDlog block whose elements might be different every time you run the program.

:expr("5→x")
           5
:expr("25")
          25

The expr() command is somewhat limited in what it is allowed to do. For instance, if a string contains a variable name, expr() of that string returns the value of that variable; to refer to the variable itself, use the # (indirection) operator.

Another limitation is that expr() cannot contain commands that aren't allowed on the home screen, even if you're running it from a function or program. For example, Local will cause an error in expr().

Finally, in some respects expr() is actually running in its own program. It will still be able to access local variables from outside the expr(), but Lbl and Goto are limited — you can't jump out of expr() with them, nor can you jump in.

Advanced Uses

It's best to use expr() sparingly. Characters inside a string are ignored during tokenization, so they will take up more space than actual commands, and there will be a short delay before the code inside expr() can run.

This also causes problems with language localization. Normally, once a command is tokenized, it will work in any language. However, with expr(), code is tokenized on the spot, so it will depend on the language being the same. If your program was written using English language localization, it will not work for someone who's working in German, Spanish, or French.

Error Conditions

550 - Invalid outside function or program happens when the string contains commands that need to be inside a function or a program to work.

Related Commands

Finished!

Not Finished

I finally got the TI to receive bytes, and am working on parameter data right now.

Joined Jul 22 DJ Omnimaga does not match any existing user name

Time Zone: Not given

Finished the basic platform engine, complete with these features: Seamless double character maps; Fast drawing; Jumping/moving; parabolic jumping curves; ceiling hit detection

Serenity is a RPG style platform game, set in space.

You are the captain of a simple cargo ship, traveling through space carrying unknown Government cargo, when your ship is attacked by space pirates! Now you will need to explore the bowels of their ship, fight off enemies, and gain special items, so you can finally escape.

instring.png

Command Summary

Finds a search string in another string.

Command Syntax

inString(string, search-string,[)

Menu Location

  • Press 2nd MATH to enter the MATH popup menu.
  • Press D to enter the Strings submenu.
  • Press 6 to select inString(.

Calculator Compatibility

This command works on all calculators.

Token Size

3 bytes

The inString() command searches for one string inside another, starting from the beginning and going forward. If it finds the string, it returns the position where it finds it. If it doesn't find the string, it returns 0. If the string is there multiple times, it will only find the first one.

Optionally, you can also give inString() a starting position. In that case, it won't find any occurrences of the strings earlier than that position.

:inString("Chop shops stock chops.","hops")
           7
:inString("Chop shops stock chops.","hops",8)
           20
:inString("Chop shops stock chops.","stocks")
           0

Related Commands

Add an update!

The ListPages module does not work recursively.

Any more-or-less complicated program will probably end up using a list at some point: they are the easiest way to organize a set of similar information. This article's purpose is to teach you to do so intelligently: list operations can be slow, and it's not always intuitive what the better approach even is.

The general idea of list optimization is that performing an operation on an entire list at once is good. Suppose that 'list' is a list variable containing a hundred elements. Consider this simple operation:

:list+1→list

With one line of code, this performs a mathematical operation on one hundred numbers at once. The size of the program goes way down if you can do something like this. It's fast, too: we've delegated going through the list to some internal calculator routine, which can do it much faster than a TI-Basic command.

The following sections are, in a sense, merely examples of situations in which this logic leads to a dramatic improvement in speed. Reading these and understanding not only what the optimizations are but how they work should give you an intuitive idea of what's slow and what's fast when working with lists.

Avoid For Loops

Specifically, avoid using For loops to go through every element of a list, whenever possible. The operation list[index] takes an increasing amount of time to run as the index increases, because the calculator is forced to go through the whole list to get to the element you want. If you have just one list[index] inside the For loop, you're going through half the list, on average, in each cycle of the loop. And you're probably doing an operation that would only require going through the list once!

As an example, consider this rather intuitive routine for checking if a list contains an element:

:check1(list,val)
:Func
:Local i
:For i,1,dim(list)
: If list[i]=val
:  Return true
:EndFor
:Return false
:EndFor

The For loop in this routine is exactly the sort of thing you should avoid whenever possible. Instead, consider this routine:
:check2(list,val)
:product(list-val)=0

This routine approaches the problem in a very non-intuitive way: first, the value we're looking for is subtracted from each element; then, the elements are all multiplied together. If the value we're looking for was present in the list, then one of the elements in the product will be 0, making the whole expression 0.

The first thing you'll notice is that the second routine is much smaller. But, perhaps not quite so obviously, it's a great deal faster as well. Even for a list with 10 elements, the second routine is, on average, 3 times faster to finish running. For a list of 100 elements, the second routine is a whopping 12 times faster! In addition, the second routine is consistent. The first routine varies from very quick (if the element is the first in the list) to very slow (if the element is not in the list at all). The second routine takes the same amount of time in all cases.

Similar results hold true for every For loop that goes through a list. Although the optimization doesn't always end up being smaller, it's always faster, especially for large lists.

Use newList() instead of seq()

This seems like a nonsensical suggestion because newList() and seq() are very different commands. About the only thing they have in common is that they both return a list. How can one replace the other?

Half of the answer here is that one particular instance of seq() can be rewritten using newList() for a massive speed boost. The optimization is this:

:seq(i,i,1,n)

can be

:cumSum(1+newList(n))

The first line of code uses seq() to generate the list {1, 2, 3, …, n}. The second does the same thing differently: newList(n) gives us {0, 0, …, 0}. Adding 1 to this list gives {1, 1, …, 1}. Finally, taking the cumulative sum results in {1, 2, 3, …, n}.

The second part of the answer is that 90% of the time, any other use of seq() can be reduced to this one, because of the way most operations distribute over lists. Consider this contrived, convoluted example:

:seq(tan(√(100-x^2)),x,1,10)

can be

:tan(√(100-seq(x,x,1,10)^2))

This is a good idea to do in any case, because applying an operation to an entire list at once is faster than doing it to an element many times. However, in this case, it also means that the newList() optimization above can be used here as well:
:tan(√(100-seq(x,x,1,10)^2))

can be

:tan(√(100-cumSum(1+newList(10))^2))

In some case, you might have to tweak the limits of the evaluation a bit. If the seq() starts at 0, not 1, for instance, you might subtract 1 from the cumSum(1+newList(n)) result.

Using the | (with) operator, it's possible to make this optimization into a truly brainless process:

:seq(<FOO>,x,1,n)

can be

:f(cumSum(1+newList(n)))|f(x)=<FOO>

If the optimization is possible at all, this setup will do the trick. Here are some reasons it might not work:
  • Some operation in <FOO> doesn't distribute. E.g. if <FOO> is isPrime(x), you'll get a domain error.
  • Part of <FOO> is random. In this case, seq() will generate n random numbers, but newList() will only generate one.

The reason that this optimization works can be explained with a "factory line" metaphor. The seq() command treats each case individually: like assembling 100 cars by first making the first one, then the second one, and so on. The newList() version applies each command to an entire list at once: this is the Industrial Revolution, where we assemble 100 cars by first making 100 hulls, then adding 100 motors, 100 doors, and so on.

A final, minor note: if you're trying to make a sequence of the same length as an existing list, then 0*list is faster than newList(dim(list)).

Working with Logical Lists

A list of logical values such as {true, false, true, true, false} is a strange animal. First of all, it's not always easy to get one when you need it. Say you want to know which elements of a list are over 100. Unfortunately, this code does not work:

:list>100→ispos

Instead, you'll get the laconic answer "false". This probably translates to "You dummy, that thing there on the left is a list, and the one on the right is a number. It's like comparing apples and oranges!" Unlike virtually every other operation there is, the relational operators =, , >, , <, and don't distribute over lists.

The trick here is to change the comparison to one that involves two lists. To do this, add 0*list to one side.

:list>100+0*list→ispos

Now, we're comparing two lists, so things start to make sense again.

We're not out of the woods yet, however. Once you have a logical list, what do you do with it? There are three common situations:

  • We want to know if all of the elements are true.
  • We want to know if any of the elements are true.
  • We want to find the index of the first true element.

The first situation is actually default behavior, of sorts. You can stick a logical list in a condition for If or when(). If all of the elements of the list are true, the condition will be interpreted as true. Otherwise, the 'false' branch (if there is one) will be taken. For instance:

:If list>100+0*list Then
: Disp "Everything is over 100!"
:Else
: Disp "Some elements are 100 or under..."
:EndIf

The second situation boils down to the first with a little trick, which is to negate the list (using not, or simply reversing the condition). Then use an If or when(), but reversing the two branches. If the true branch is taken, that means that all of the negated elements are true, so all of the original elements were false. If the false branch is taken, that means some of the negated elements are false, so at least one of the original elements must have been true.

If you want to get a single truth value ahead of time, use the when() command as follows:

:Define alltrue(list)=when(list,true,false)
:Define anytrue(list)=when(not list,false,true)

The third situation is the trickiest one. From two sections up, we know using a For loop (which would be simple to write) is a no-no. Here is a decent alternative… to be honest, though, it's not that great either, being really ugly. The search for a better one is still on!

:Define first(list)=intDiv(k+inString(string(list),string(true)),k+1)|k=dim(string(false))

…Yes, this routine turns the entire list to a string, searches it for the word "true", then uses this to find the answer. You might replace k and k+1 by 5 and 6 respectively if you're not worried about language localization (the Spanish would be alright, but not the Germans with "falsch" nor the French with "faux").

Technica: Clash of the Forces is a story about a post-apocalyptic world.

NINA.
It was our first version of AI.
We made it analytical.
Logical.
Able to make decisions and rationale based on external stimuli.

We made it smart where we weren't and then some.
Is it a surprise that it's now out of control?
I am the last Scientist on the planet Earth.
And, I have the strangest ability.

By constantly exchanging my mechanical parts, I can never rust.

What?
Thought I was human?

newlist.png

Command Summary

Returns a list filled with zeroes.

Command Syntax

newList(length)

Menu Location

This command can't be found in any menu besides the command catalog.

Calculator Compatibility

This command works on all calculators.

Token Size

1 byte

The newList() command returns a list of a specific length that is filled entirely with zeroes.

:newList(3)
           {0  0  0}
:newList(5)
           {0  0  0  0  0}
:newList(0)
           {}

This can be easily expanded to returning a list filled with any value: to return a list filled with a value x, just add x to the result of newList(). This works for strings as well, since "Hello"+0 simplifies to "Hello".

Advanced Uses

newList() can be used for making a comparison between a single value and a list. Normally, something like {1,2,3,4}=2 simply returns "false", since 2 is not a list and {1,2,3,4} is. To do a comparison element-by-element, use newList() to turn the single value into a list: in this case, 2+newList(4). Comparing {1,2,3,4} to 2+newList(4) will return {false, true, false, false} (you might use when() to get a single value out of this list).

This works to extend other operations to a number and a list, as well, though comparisons are the most useful application of this technique, since most operations already work this way.

Optimization

In many cases, an expression with newList() can be used to optimize a seq() command. First, observe that the simple

:seq(k,k,1,n)

which will return the list {1,2,3,…,n}, can be replaced by
:cumSum(1+newList(n))

The result is about twice as fast.

This is useful because many seq() expressions can be expressed using something like seq(k,k,1,n). For example:

:seq(k^2,k,1,n)

can be

:seq(k,k,1,n)^2

which is

:cumSum(1+newList(n))^2

This rearrangement is not always possible, but when it is, it gives a significant improvement in speed, with no real difference in size.

Here is a more complicated example (which is a sequence of probabilities with the binomial distribution). Notice the use of the with operator.

:seq(nCr(n,k) p^k (1-p)^(n-k),k,1,n)

can be

:nCr(n,a) p^a (1-p)^(n-a)|a=cumSum(1+newList(n))

Error Conditions

260 - Domain error happens when the length is not an integer ≥0.

Related Commands

goto.png

Command Summary

Jumps to a label somewhere else in the program.

Command Syntax

:Goto label-name

Menu Location

This command can't be found in any menu besides the command catalog.

Calculator Compatibility

This command works on all calculators.

Token Size

2 bytes

The Goto command jumps to a label (declared with the Lbl command) somewhere else in the program — either before or after the Goto, it doesn't matter. The label has to be in the same program as the Goto — you can't jump into another program. If there are several labels with the same name, the Goto command will only find the first.

Virtually everyone critiques the Goto command for being unnecessary and encouraging bad coding habits. The argument is that it makes code hard to read: if you see a 'Goto x' somewhere in the program, you have to search through the entire program to find out where to continue reading. And most of the things that Goto is used for can be done better using commands like If, While, Cycle, etc. TI seems to agree, because they didn't even bother putting Goto and Lbl in the program editor toolbar.

That being said, it is sometimes (very rarely) a good idea to use Goto. A good example is a situation when you need to exit several loops at once (this can't be done with the Exit command, which only exits one loop).

A note for TI-83 series programmers: the issue of memory leaks from improper use of the Goto command does not occur on 68k calculators. The 68k TI-Basic parser doesn't use a stack to keep track of loops and If blocks entered: instead, End statements have a link back to what it is they're matching. This means that nothing special happens if a Goto jumps out of a loop: the calculator doesn't even know it's inside a loop except at the end when it has to do the looping.

The 68k calculators have their own bit of unexpected Goto behavior: code like expr("Goto x") will not work. This is because the code that expr( runs is treated as though it were inside its own program, so you can't jump out of that program into the program that it's actually in.

Optimization

The Cycle and Exit commands perform tasks that you might otherwise use Goto for. By all means, use these command instead if you can: they work much faster, since they don't have to look through the entire program for the label (in fact, they don't have to look at all — they already know where to jump).

Error Conditions

500 - Invalid label happens when the label doesn't exist (in this program).

Related Commands

lbl.png

Command Summary

Marks a point in the program for use with Goto and Toolbar..EndTBar.

Command Syntax

:Lbl label-name

Menu Location

This command can't be found in any menu besides the command catalog.

Calculator Compatibility

This command works on all calculators.

Token Size

2 bytes (plus 1-10 bytes for label name)

The Lbl command is used to mark a point in the program to which the Goto command or selections from a Toolbar..EndTBar menu can jump. When jumping to a label, the calculator will start searching the program from the beginning to find the label.

The same limitations are imposed on a label name as on a variable name. It's okay to have a label with the same name as a variable, though, this won't cause problems.

You can, theoretically, have labels in the same program with the same name, but only the first one will be used (the calculator will always find it before it finds the others). Labels don't extend beyond a program: you can't jump to a label inside a different program or function.

Also, the code inside an expr() string lives in its own program as far as labels are concerned: if you put a label in it, the main program won't find it; you can't jump out of a routine run with expr() into the main program; finally, you don't have to avoid the label names that the main program uses.

Error Conditions

500 - Invalid label happens when the label name uses an invalid character.

Related Commands

with.png

Command Summary

Substitutes a value for a variable temporarily.

Command Syntax

expression

Menu Location

Press the

Calculator Compatibility

This command works on all calculators.

Token Size

1 byte

The | operator (which nobody seems to know how to pronounce, although TI suggests "with") temporarily sets a variable to some value, just for a single evaluation. For example:

:x^2+2x+1|x=5
           6

Using the | operator doesn't actually affect the value of the variable. However, it will work both if the variable is undefined, and if the variable already has a different value.

Only one | can occur in a single expression: if you have more, this will either cause an error or ignore all but the first substitution, depending on placement. However, one | is enough for any number of variables: just separate the values to use with and:

:x+y|x=2 and y=2
           4

Advanced Uses

The | operator has a more complicated use: rather than giving a specific value for a variable, you might give a condition (or several conditions) for its value, using the >, , <, and operators. This condition will be used if it helps simplify the expression, especially with solve(). For instance:

:abs(x)|x<0
           -x

Weird things can happen if you do this to a variable whose value is already defined, however:

:5→x
           5
:abs(x)|x<0
           |undef|

Optimization

If a complicated expression has a repeating element, you may be able to make the calculation smaller and faster by replacing this repeating element with a variable, for which you substitute the correct value. For example (here the repeating element is √(1-x^2)):

:x√(1-x^2)+tanֿ¹(x/√(1-x^2))

can be

:x*a+tanֿ¹(x/a)|a=√(1-x^2)

A related trick is to make a substitution with a function, for an operation that has to be done several times in a single line. For example:
:a*(a-1)/2+b*(b-1)/2+c*(c-1)/2

can be

:f(a)+f(b)+f(c)|f(x)=x*(x-1)/2

Error Conditions

200 - Constraint expression invalid happens when the condition doesn't make sense to the calculator.

Related Commands

Command Summary

Stores a value to a variable.

Command Syntax

valuevariable

Menu Location

Press the STO> key to insert →.

Calculator Compatibility

This command works on all calculators.

Token Size

1 byte

The → operator assigns a value to a variable.

Initially, a variable such as 'x', 'lastname', or 'cube' is undefined. When used in an expression, they will be treated as unknowns: 3*x-x may be simplified to 2*x, but will otherwise be left alone.

Once a value is assigned to a variable, that value will be substituted for the variable every time you use it. For example, you might store 5→x. Now, if you write 3*x-x, the answer won't be 2*x, but 10.

Any kind of value — a simple number, an expression, a string, list, or matrix, or even a function can be stored to a variable with →. The following are all valid:

:5→x
           5
:"Alighieri"→lastname
           "Alighieri"
:n^3→cube(n)
           Done

As a special case, you can even store to a single element of a list or matrix. For example:

:{1,2,3,4,5}→list
           {1  2  3  4  5}
:99→list[3]
           99
:list
           {1  2  99  4  5}

Advanced Uses

Using the # (indirection) operator, you can store a value to a variable given its name, in a string.

Optimization

There are alternatives to → such as Define or CopyVar; they have their uses in special situations, but → is better (smaller and easier to understand) in other cases.

Error Conditions

190 - Circular definition happens when an undefined variable is given a value in terms of itself (e.g. x+1→x).

Related Commands

define.png

Command Summary

Stores a value in a variable.

Command Syntax

Define variable=value

Menu Location

Starting in the program editor:

  • Press F4 to enter the Var menu.
  • Press 1 or Enter to select Define.

Calculator Compatibility

This command works on all calculators.

Token Size

2 bytes

The Define command sets the value of a variable. At its simplest, it's an alternative to : Define x=5 is equivalent to 5→x. However, Define is also useful for defining functions or programs using Func..EndFunc or Prgm..EndPrgm respectively, which → can't do:

:Define key()=Func
: Local k
: Loop
:  getKey()→k
:  If k≠0
:   Return k
: EndLoop
:EndFunc

Advanced Uses

Using Define to create functions or programs is very useful when inside a program. If your program uses its own subroutines to perform simple tasks (such as the key-reading program above), you can define these subroutines inside the program itself, keeping everything in one file (it might be good to make them Local or delete them afterwards). Subroutines are useful for organizing a large program.

Error Conditions

190 - Circular definition happens when defining a variable (other than a recursive function or program) in terms of itself.

Related Commands

Information is sufficient and basic. Perhaps all the assembly pages should be combined.

http://tibasicdev.wikidot.com/asmshells

Assembly

exit.png

Command Summary

Exits a loop.

Command Syntax

:Exit

Menu Location

Starting in the program editor:

  • Press F2 to enter the Control menu.
  • Press 8 to enter the Transfers submenu.
  • Press 5 to select Exit.

Calculator Compatibility

This command works on all calculators.

Token Size

4 bytes

The Exit command immediately exits from a For..EndFor, Loop..EndLoop, or While..EndWhile loop. The program continues running from the instruction after the EndFor, EndLoop, or EndWhile.

Exit is especially useful for Loop..EndLoop, because the loop won't ever end if you don't give it a reason to. For example:

:Loop
: Input "Number 1-100",num
: If 1≤num and num≤100
:  Exit
: Disp "Number out of range!"
:EndLoop

Often, a Loop..EndLoop block with an Exit inside it isn't a very good idea, because it can be replaced by a While..EndWhile block. However, in the example above, there is a difference: the condition for exiting the loop is not checked at the beginning. A While..EndWhile loop that did the same thing would have to initialize the num variable first.

If there are multiple loops, one nested inside the other, the Exit command only exits out of the innermost one.

The Exit command can also be used to exit a sub-routine (very helpful when using subroutines on a 'skeleton' during development)

Optimization

Although Goto can also be used to exit out of a loop, the Exit command is faster: it knows where the end of the loop is, but a Goto command has to search through the entire program to find its label.

However, the Goto command is more versatile, since it can jump anywhere in the program, not just immediately after the loop. In particular, Goto can be used to exit multiple loops at once.

Error Conditions

560 - Invalid outside Loop..EndLoop, For..EndFor, or While..EndWhile blocks happens when the Exit command is not inside a loop.

Related Commands

This page has good reference material, but it is short. It should be combined with other assembly pages.

http://tibasicdev.wikidot.com/asmlibs

Assembly; Reference

We don't really need to document the "why" of hex codes; that should be meant for greater assembly tutorials. This page has too much to be combined with other assembly pages.

There is not much information on hex codes themselves such as where the code comes from or how the calc interprets them.

http://tibasicdev.wikidot.com/hexcodes

Assembly

cycle.png

Command Summary

Prematurely ends a cycle of a loop.

Command Syntax

:Cycle

Menu Location

Starting in the program editor:

  • Press F2 to enter the Control menu.
  • Press 8 to enter the Transfers submenu.
  • Press 3 to select Cycle.

Calculator Compatibility

This command works on all calculators.

Token Size

4 bytes

The Cycle command ends the current cycle of a For..EndFor, Loop..EndLoop, or While..EndWhile loop, as though the corresponding End were there. It doesn't exit the loop forever; if the loop would have repeated, it goes back to the beginning. However, if the loop is ready to end (if the counter is equal to the end value, for a For loop, or if the condition is false, for a While loop), it exits the loop and continues after the EndFor or EndWhile command.

An example of Cycle in a For loop:

:For num,1,100
: If isPrime(num)
:  Cycle
: Disp num
:EndFor

This loop prints all the composite numbers between 1 and 100. Here's how it works: for every number, it first checks whether or not it's prime. If it is, the program goes back to the beginning of the loop with the next number. On the other hand, if the number is composite, the program continues to the Disp command, then hits EndFor and goes back to the beginning of the loop as well.

If the Cycle instruction is inside multiple loops, one nested in the other, it works with the innermost loop.

Error Conditions

560 - Invalid outside Loop..EndLoop, For..EndFor, or While..EndWhile blocks happens when Cycle is used outside a loop.

Related Commands

This is obviously an introduction to assembly. Since this site is not dedicated to such a language, its improvement isn't as urgent. I think it might need to be combine with the other assembly pages.

http://tibasicdev.wikidot.com/assembly

Advanced; Assembly

rand.png

Command Summary

Generates a random number.

Command Syntax

rand() or rand(n)

Menu Location

  • Press 2nd MATH to enter the MATH popup menu.
  • Press 7 to enter the Probability submenu.
  • Press 4 to paste rand(.

Calculator Compatibility

This command works on all calculators.

Token Size

2 bytes

The rand() command generates a random number. It can be used in one of two ways:

  • rand() gives a random real number between 0 and 1.
  • rand(n) gives a random integer between 1 and n.

By adding or multiplying appropriately, you can change these bounds. For example, 10rand() gives a random real number between 0 and 10, and rand(9)-5 gives a random number between -4 and 4.

L'Ecuyer's algorithm is used by TI calculators to generate pseudorandom numbers.

:RandSeed 0
:rand()
           .943597402492
:rand()
           .908318860975
:rand(10)
           2

Advanced Uses

Using the RandSeed command makes the random numbers entirely predictable: after setting the random seed to some value, the same random numbers will be returned every time.

Error Conditions

260 - Domain error happens when the maximum number is 1014 or greater.

Related Commands

custom.png

Command Summary

Creates a custom toolbar menu.

Command Syntax

:Custom
(list of titles and items)
:EndCustm

Menu Location

Starting in the program editor:

  • Press F2 to enter the Control menu.
  • Press 7 to select Custom…EndCustm.

Calculator Compatibility

This command works on all calculators.

Token Size

2 bytes for Custom;
2 bytes for EndCustm.

A Custom..EndCustm block creates a custom toolbar menu. The menu can have up to eight tabs for the F1 .. F8 keys, each with any number of sub-items. The contents of the menu are defined using the Title and Item commands inside the Custom..EndCustm block.

The Title command indicates a new tab, so you can have up to eight of these. After Title, put a string to use as the label for the tab. If the title has no items, you'll be able to select the title itself to insert this label somewhere.

The Item command indicates an item under the most recent tab — you can have as many items under a tab as you like, or none at all. This also takes a string that will be used as the label for the item, and will be inserted any time you select that item from the menu.

Here is an example of the syntax:

:Custom
: Title "Animals"
:  Item "Dog"
:  Item "Cat"
: Title "Rocks"
: Title "Plants"
:  Item "Grass"
:  ...
:EndCustm

In this case, the custom toolbar will display | F1 Animals | F2 Rocks | F3 Plants | … |. Pressing F1 would bring up the Animals menu with items 1:Dog and 2:Cat. Then, pressing 1 or ENTER would insert Dog after the cursor. Pressing F2 would insert Rocks under the cursor since that tab has no items.

The custom toolbar can be accessed in any window. To switch to the custom toolbar or back, press 2nd CUSTOM (or use the CustmOn and CustmOff commands).

The calculator comes with a default custom menu, which is overwritten whenever you create one of your own. To restore it, select F6 - Clean Up from the home screen toolbar, and select 3:Restore custom default. This also lets you see an example of Custom..EndCustm syntax.

A related command is Toolbar..EndTBar. It also displays a custom menu, but can only be used in a program, and the entries of the menu jump to other parts of the program.

Error Conditions

450 - Invalid in a function or current expression happens when Custom..EndCustm is used in a function.

460 - Invalid in {{Custom}}..{{EndCustm}} block happens when anything other than Title or Item appears in the block.

590 - Invalid syntax block happens when the syntax is somehow wrong, e.g. if there are more than 8 tabs.

Related Commands

gettype.png

Command Summary

Returns the variable type of a variable

Command Syntax

getType(variable)

Menu Location

This command can't be found in any menu besides the command catalog.

Calculator Compatibility

This command works on all calculators.

Token Size

2 bytes

The getType() command returns the type of a variable — number, string, function, etc. The output is a short string encoding the type of the variable.

:5→x
:getType(x)
           "NUM"
:{1,2,3}→x
:getType(x)
           "LIST"
:DelVar x
:getType(x)
           "NONE"

The specific values that getType() can return are:

  • "DATA" for a data variable
  • "EXPR" for a symbolic expression
  • "FUNC" for a function
  • "LIST" for a list
  • "MAT" for a matrix
  • "NONE" for an undefined variable
  • "NUM" for a number
  • "OTH" for an unknown variable type (usually assembly-related)
  • "PIC" for a picture
  • "PRGM" for a program
  • "STR" for a string
  • "TEXT" for a text file

Keep in mind that getType() cannot test the type of an expression, only a variable — so getType("Hello!") for example is invalid.

Advanced Uses

If possible, avoid comparing the result of getType() to an actual string. The risk here is that when the calculator is switched to a different language, the output of getType() changes language too. This is only a minor consideration. But if you already have a variable of the right type lying around, and you want to test an unknown variable, compare their getTypes(). For example:

:{1,2,3}→knownlst
:If getType(unknown)="LST"

can be

:{1,2,3}→knownlst
:If getType(unknown)=getType(knownlst)

This is occasionally, but not always, a size optimization as well, if the known variable has a short name.


Since getType() returns a result even for undefined variables, it can be used as a replacement for isVar(), which unlike getType() isn't present on all 68k calculator models.

Error Conditions

140 - Argument must be a variable name happens when the argument is not a variable name.

Related Commands

dialog.png

Command Summary

Displays a dialog box for input or output.

Command Syntax

:Dialog
(dialog elements)
:EndDlog

Menu Location

Starting in the program editor:

  • Press F3 to enter the I/O menu.
  • Press 1 to enter the Dialog submenu.
  • Press 5 to paste Dialog..EndDlog.

Calculator Compatibility

This command works on all calculators.

Token Size

2 bytes for Dialog;
2 bytes for EndDlog.

A Dialog..EndDlog block is used to display a dialog box that can be used for input, output, or both. There are several commands that can be used inside Dialog..EndDlog to determine its content:

  • At most one Title instruction (to add a title).
  • Text (to add a line of text).
  • Request (to add a text entry box).
  • DropDown (to add a drop-down menu).

Except for the Title instruction, you can mix and match any number of these (as many as will fit on the screen), and their order will determine the order they are displayed. Finally, two "buttons" labeled Enter=OK and ESC=CANCEL will be displayed at the bottom of the dialog box.

Here is a typical dialog box to input a variable name:

:Dialog
: Title "Load file"
: Request "File name", name
: Text "(include folder name if not ""main"")"
:EndDlog

Advanced Uses

The system variable "ok" will detect if Enter or ESC was used to exit the dialog: it will have a value of 1 if Enter was used, and 0 for ESC.

This is particularly important when you're looking for input. If ESC is used, then the variables used in Request or DropDown will not be changed from what they were before (if they were undefined, they will remain undefined). It's probably a good idea to detect that sort of thing.

Error Conditions

230 - Dimension happens when the dialog would be too wide or too tall to fit on the screen.

470 - Invalid in Dialog..EndDlog block happens when instructions other than Title, Text, Request, DropDown are used.

590 - Invalid syntax block happens when something miscellaneous goes wrong, e.g. there is more than one Title.

730 - Missing start or end of block syntax happens when the Dialog is missing its EndDlog, or vice versa.

Related Commands

See Also

This technique code example is a very simple random polynomial generator. The randPoly( function automatically creates a random polynomial of a given degree, however, the polynomial is not promised to be factorable. This routine will generate a factorable polynomial of a given degree using simple string manipulation.

The Code

factprac(deg)
Prgm
rand(deg)→b
"1"→str
For a,1,b
str&"(x+rand(20)-10)"→str
EndFor
Pause expand(expr(str)randPoly(x,deg-b))
EndPrgm

Explanation

The routine uses three variables, deg, b, and str. First, the user defines deg initially which is the degree of the random polynomial. Using the rand( command, the routine selects a number between one and deg. This is stored into b. This will be the number of rational roots the random polynomial will have.

The next part, including the For loop, is what makes the polynomial factorable. Here is the excerpt:

"1"→str
For a,1,b
str&"(x+rand(20)-10)"→str
EndFor

What we are wanting to do is create a string that represents the polynomial in factored form, for example (x+3)(x-2). We initialize the string (which is str) with a "1" since that will not interfere with the math later1. The For loop loops the number of rational roots we want determined by b. Each time the loop goes through, another factor is created and is combined with the current string with the & command.

Finally, it is time to display the creation. We use the Pause command because for higher degree polynomials, the resulting polynomial might run off the screen.

Pause expand(expr(str)randPoly(x,deg-b))

str is the string of factors, however, this number of factors will probably not be sufficient for the degree wanted since b might be less than deg. We therefore multiply the string with a random polynomial generated by randPoly( in order to achieve the desired degree. expr( turns the string into an expression that can be worked with. Finally, expand( will expand the factored polynomial into standard form.

The resulting polynomial can then be used for practice or something. The routine is meant to make a polynomial that can be factored, but perhaps not entirely factorable. If you want a program that generates a fully factorable polynomial, play with the code a little and try to figure it out!

Application

This routine demonstrates minor string manipulation. This shows how you can use various string commands, such as & and expr( in order to accomplish a task. It also demonstrates how to initialize a string depending on the purpose of the result.

Alternative

A downside to the above code is that it will only intentionally yield integer roots. The code below will also yield fractional rational roots, occasionally:

factprac(deg)
Prgm
"1"→str
rand(deg)→b
For a,1,b
If rand(10)-5≤0 Then
"("→c
Else
"((rand(5)+1)"→c
EndIf
str&c&"x+rand(20)-10)"→str
EndFor
Pause expand(expr(str)randPoly(x,deg-b))
EndPrgm

while.png

Command Summary

Repeats a block of code as long as a condition is met

Command Syntax

:While condition
(block of code)
:EndWhile

Menu Location

Starting in the program editor:

  • Press F2 to enter the Control menu.
  • Press 5 to paste While..EndWhile.

Calculator Compatibility

This command works on all calculators.

Token Size

2 bytes for While;
4 bytes for EndWhile.

A While..EndWhile block is used to repeat a block of code as long as some true-or-false condition is met. This condition is checked before entering the loop (if it's false to begin with, the loop is skipped), and checked again every time the loop ends. For example:

:1→x
:While x<5
: x+1→x
: Disp x
:EndWhile
           1
           2
           3
           4

The condition is not checked anywhere in the middle of the loop. If the condition becomes temporarily false, but then becomes true again before the end, the loop keeps going.

What kind of conditions are possible? Any command that returns a logical value — true or false — is acceptable. This includes the results of:

  • Relational operators: =, , >, , <, and
  • Logical operators: and, or, xor, not
  • Any advanced test command: pxlTest(), isPrime(), and others.
  • A variable that contains one of the values true or false, or a function that returns them.

Of course, these can also be combined: for example, isPrime(x) and x≠2 is a valid condition.

One common use of a While loop is to wait for a key to be pressed:

:0→key
:While key=0
: getKey()→key
:EndWhile

Optimization

In most programming languages a loop that always keeps repeating would be created using a While loop with a condition that's always true. You can do this in TI-Basic too, but it's simpler to use Loop..EndLoop which does the same thing.

:While true
: © do something
:EndWhile

can be

:Loop
: © do something
:EndLoop

Error Conditions

20 - A test did not resolve to TRUE or FALSE happens when the condition is indeterminate, or the wrong data type.

730 - Missing start or end of block syntax happens when a While is missing an EndWhile, or vice versa.

Related Commands

loop.png

Command Summary

Repeats a block of code forever.

Command Syntax

:Loop
(block of code)
:EndLoop

Menu Location

Starting in the program editor:

  • Press F2 to enter the Control menu.
  • Press 6 to paste Loop..EndLoop.

Calculator Compatibility

This command works on all calculators.

Token Size

2 bytes for Loop;
4 bytes for EndLoop.

A Loop..EndLoop block is used to make the code inside the Loop repeat forever. For example, the following code will keep printing "Hello!" until you break out of the program with the ON key or the calculator runs out of batteries:

:Loop
: Disp "Hello!"
:EndLoop
           Hello!
           Hello!
           Hello!
           ...

Generally, Loop isn't used just like that, because having to end a program with the ON key lacks style. There are two ways to break out of the loop:

  • using Goto, you can jump to somewhere else in the program.
  • using Exit, you can exit the loop, continuing the program immediately after the EndLoop command.

Generally, using Exit is considered more stylish — and it's easier to read the code, because you don't have to search the entire program for the Goto's matching label.

Error Conditions

730 - Missing start or end of block syntax happens when the Loop is missing an EndLoop, or vice versa.

Related Commands

for.png

Command Summary

Repeats a block of code some number of times.

Command Syntax

:For counter, start, end, step
(block of code)
:EndFor

Menu Location

Starting in the program editor:

  • Press F2 to enter the Control menu.
  • Press 4 to paste For..EndFor.

Calculator Compatibility

This command works on all calculators.

Token Size

3 bytes for the For command;
4 bytes for EndFor.

A For..EndFor block is used to repeat the code inside the block some number of times. To specify the number of times to repeat this code, a counter variable is specified, along with a starting value and an ending value. The variable will be set to the starting value, then increased until it gets to the ending value, running the code inside the block each time. For example:

:For count, 1, 5
: Disp count
:EndFor
           1
           2
           3
           4
           5

You can also give a step size by which to increase the counter (the default is 1). In the above example, if the first line were changed to ":For count, 1, 5, 2" then the block would only run with count=1, then with count=3, then with count=5. You can even make the step size negative and decrease the counter from a maximum to a minimum (e.g. "For count, 5, 1, -1").

For loops are most useful when you want to look at every element of a list or matrix individually. For example, the following code will "do something" (depending on what you replaced the comment with) to every element of "list" in order:

:For i, 1, dim(list)
: © do something with list[i]
:EndFor

To look at every element of a matrix, you'd have to use two For loops, one inside the other:
:For i, 1, rowDim(matrix)
: For j, 1, colDim(matrix)
:  © do something with matrix[i, j]
: EndFor
:EndFor

Advanced Uses

The counter variable can be manipulated inside the For loop to produce different results. For example, the following code will count from 1 to 10 but skip 3:

:For i, 1, 10
: If i=3
:  i+1→i
: Disp i
:EndFor

What happens is that when the code runs for the third time, with i=3, the If statement increases i to 4. From there, the For loop thinks it's business as usual, and the next cycle will be done with i=5, then i=6, and so on.

Another way to manipulate the progress of a For loop is with the Cycle and Exit commands (which apply to all loops). You can also use the Goto command to jump out of a For loop, but this is considered poor programming in most cases.

Optimization

In many cases, the For loop is not the best choice when working with lists — sometimes, the operation can be done on the whole list at the same time, which is both smaller and faster. For example:

:For i, 1, dim(list)
: list[i]+1→list[i]
:EndFor

can be

:list+1→list

When using For to create a list from scratch, the seq() command is a smaller and faster alternative. For example:

:For i, 1, 10
: i^2→list[i]
:EndFor

can be

:seq(i^2, i, 1, 10)→list

Error Conditions

260 - Domain error happens when the step size is 0.

730 - Missing start or end of block syntax happens when the For is missing an EndFor, or vice versa.

Related Commands

indirection.png

Command Summary

Gets a variable given its name as a string.

Command Syntax

#var-name

Menu Location

On a widescreen calculator, press 2nd # to paste #.

Or, on any calculator model, press:

  • 2nd CHAR to enter the CHAR popup menu.
  • 3 to enter the Punctuation submenu.
  • 3 again to paste #.

Calculator Compatibility

This command works on all calculators.

Token Size

2 bytes

The # operator takes a string containing a variable name, such as "x", and gives you the variable itself. This can be used to get the value of that variable (kind of like a weaker version of expr()), but the # operator really shines when you need to refer to the variable itself: storing to it, for example. 5→expr("var") will give you an error. 5→#"var", however, will work.

:"x"→str
:5→#str
           5
:x
           5
:DelVar #str
:x
           x

You'll see # called the "indirection" operator (for instance, in the command catalog). This is because using # is an indirect way of accessing a variable's value: you don't have the variable itself to work with, just its name.

Advanced Uses

The # command is particularly useful for dealing with picture variables, if you don't know the exact name of the picture ahead of time. For example, you might have two pictures, called 'cat' and 'dog', that you need to display depending on whether x=1 or x=2. This can be done with an If command, but that gets more and more complicated as you add pictures. On the other hand, you can always do this:

:{"cat","dog"}→pics
:RclPic #(pics[x])

The # command is necessary here because RclPic and commands like it want the actual picture variable as an argument, not a string with its name; expr() wouldn't work either because it would try to find the value of 'cat', and get an error.


Whenever you're dealing with external files created by someone else (such as external levels for a game), you don't know the variable names ahead of time, so you'll need the # operator. For the example of an external level, you would first input the variable name of the level into a string variable (say, the variable 'level'). Then you can use '#level', just as you would a regular variable, to refer to it.

Optimization

In many cases, both # and expr() will do the same thing. In these cases, it's still better to use #, because it's faster.

Error Conditions

360 - Indirection string is not a valid variable name happens when the string used with # isn't allowed as a variable name (e.g. longer than 8 characters).

Related Commands

power.png

Command Summary

Raises a number to a power.

Command Syntax

base ^ exponent

Menu Location

Press the [^] key to paste ^.

Calculator Compatibility

This command works on all calculators.

Token Size

1 byte

The ^ operator is used to raise a number (the base) to a power (the exponent) — x^y is "pretty-printed" as xy. When the exponent is a positive integer, this is equivalent to multiplying the base by itself that many times.

When the base is a real number, the result will always be a real number if possible: for example (-1)^(1/3) will return -1. Some powers will return a complex number because there is no real number answer (or give an error, if the calculator is in real number mode). When the base is a complex number, the result will be the principal branch.

For lists, the ^ operator works componentwise — x^{a,b,c,…} will return {x^a,x^b,x^c,…}, {x,y,z,…}^a will return {x^a,y^a,z^a,…}, and two lists of the same length will be matched up element by element.

:2^4
           16
:(-1)^(1/2)
           i
:0^0
           undef

Typing [2nd] [LN] or [♦] [LN] also pastes e^( — this is not a separate command (unlike the TI-83 series), and just uses the ^ operator to do its work. It is, however, the simplest way to type the constant e.

A minor quirk of the ^ operator is that if it's present multiple times in one expression, it is evaluated right to left (unlike most commands, which are evaluated left to right). For example, x^y^z will be interpreted as x^(y^z) rather than (x^y)^z. The reason this is done is that (x^y)^z can easily be rewritten as x^(y*z), so there's no need for two powers. x^(y^z) can't be rewritten that way. Therefore, it's much more meaningful to interpret x^y^z as x^(y^z).

Advanced Uses

The ^ operator can be used as an alternative to an "xth root" operator, which the 68k calculators don't have. If you want to take the Nth root of a number, raise it to the 1/N-th power instead.


The ^ operator is also useful for square matrices. Raising a square matrix to an integer power between -32768 and 32767 just multiples the matrix by itself, taking the inverse first for negative matrices. A matrix to the 0th power is the identity.

For raising a matrix to a fractional power, or raising a number to a matrix power, a different definition is used: see Matrices and Their Commands. This definition is in fact compatible with the repeated-multiplication method, except that it is far more general.

None of these situations are equivalent to applying ^ to every element of a matrix. For that, see the .^ command.

Error Conditions

230 - Dimension happens when non-square matrices are used with ^.

230 - Domain error happens when a matrix is raised to an integer power not in the range -32768..32767.

665 - Matrix not diagonalizable happens when diagonalization (used to compute most uses of ^ with matrices) fails.

800 - Non-real result happens when there is no real result to return, and the calculator is in real number mode.

890 - Singular matrix happens when raising a matrix with no inverse to a negative power.

Related Commands

  • * (multiply)
  • / (divide)

See Also

Member

Recommendations

Link here

Not Categorized

Reference material it seems.

http://tibasicdev.wikidot.com/ascii-codes

Reference; Calculator

Jul 14 A Guide to ASM is being made, its work in progress though.

UNDER CONSTRUCTION

As a prevential procedure this document has been taken off by its author. It will be reuploaded once completed IF the big scary admins here agree with it.

Matthias

Jul 14 Today a page on keyhooking has been added, its still incomplete though. here is the page

Keyhooks in Assembly

First of all, it's important to know that Texas Instruments does not support keyhooks. Secondly, notice that this is an advanced topic; you can of course read this, but in order to let it prove useful to you, it is best if you understand Assembly quite well or are at least knowledgeable with its terms.
With that said, let's dive into it!
Every piece of keyhooking code begins with this

add a, e             ;This byte is not being run but it ensures that the pointer is valid in order to prevent
                     ;it from randomly executing some code.

Hooks are controlled by flags, which are located in IY+33 and in IY+36, and both of them have a RAM area consisting of four bytes. Each of those RAM areas contains the "little endian" (process the low bits first and then the high bits) pointer to the hook, then a page number, and last but not least, a byte that can be used as safe RAM for that hook.
An example of a hook is the GetKeyHook; this hook is enabled using
b_call $4F7B

and disabled using
b_call $4F7E

more information on Keyhooks can be found here

Member

Member

Member

Scroll DOWN to locate CSS:

<!DOCTYPE html 
     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 
<head>
     <title>TI-Basic Developer: The Calculators</title>
 
              <script type="text/javascript" src="http://static.wikidot.com/v--33/common--javascript/init.combined.js"></script>
     <script  type="text/javascript">
         // global request information
 
         var WIKIREQUEST = {};
         WIKIREQUEST.info = {};
 
         WIKIREQUEST.info.domain = "tibasicdev.wikidot.com";
         WIKIREQUEST.info.siteId = 405;
         WIKIREQUEST.info.categoryId = 2265;
         WIKIREQUEST.info.themeId = 49;
         WIKIREQUEST.info.requestPageName = "thecalcs";
         OZONE.request.timestamp = 1241040762;
         OZONE.request.date = new Date();
         WIKIREQUEST.info.lang = 'en';
                  WIKIREQUEST.info.pageUnixName = "thecalcs";
         WIKIREQUEST.info.pageId = 14764;
                  WIKIREQUEST.info.lang = "en";
         OZONE.lang = "en";
//         window.onload = WikidotInit();
     </script>
 
     <meta http-equiv="content-type" content="text/html;charset=UTF-8"/>
             <meta http-equiv="content-language" content="en"/>
         <script type="text/javascript" src="http://static.wikidot.com/v--33/common--javascript/WIKIDOT.combined.js"></script>
 
    <style type="text/css" id="internal-style"> 
 @import url(http://static.wikidot.com/v--33/common--modules/css/monetize/textlinkads/MonetizeTextLinkAdsModule.css);
 
                          @import url(http://static.wikidot.com/v--33/common--theme/base/css/style.css?0);
 
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
 
/* GLOBAL CLASSES */
 
a {    text-decoration: none;}
 
a:hover {
    background-color: transparent;
    text-decoration: underline;
}
 
.infobox a {    color: #FFF;}
 
/* SPECIFIC*/
 
#container {    min-width: 700px;}
 
#header {    margin: 0 0 2em;}
#header h1, #header h2 {    display: none;}
#header-extra-div-1 {
    position: absolute;
    top: 0px;
    left: -4px;
    height: 7em;
    background-image: url(http://tibasicdev.wikidot.com/local--files/logo/Logo11.PNG);
    background-repeat: no-repeat;
    background-position: center left;
    background-color: #33a661;
    border: 5px solid #33a661;
    border-top: none;
    border-left: none;
    -moz-border-radius-bottomright: 32px;
    -webkit-border-bottom-right-radius: 45px;
    width: 50%;
    z-index: 1;
    transparency: 50%;
}
#header-extra-div-2 {
    position: absolute;
    top: 0px; left: 50%;
    width: 7em; height: 3em;
    background: #33a661;
    z-index: 2;
}
#header-extra-div-3 {
    position: absolute;
    top: 0px;
    right: 0px;
    height: 3.5em;
    background: #FFF;
    border: 4px solid #33a661;
    border-bottom: none;
    border-right: none;
    -moz-border-radius-topleft: 45px;
    -webkit-border-top-left-radius: 45px;
    width: 50%;
    z-index: 3;
}
 
#top-bar {
    position: absolute;
    top: 7.5em; right: 0em;
    background-color: #a8f0c3;
    height: 20px;
    z-index: 4;
    border: 1px solid #a8f0c3;
    border-bottom: none;
    border-right: none;
    -moz-border-radius-topleft: 10px;
    -webkit-border-top-left-radius: 10px;
    -moz-border-radius-bottomleft: 10px;
    -webkit-border-bottom-left-radius: 10px;
}
#top-bar a:hover {
    text-decoration: none;
    height: 17px;
}
#top-bar a, #top-bar li ul li a {
    background-color: #a8f0c3;
    color: #000;
}
#top-bar li ul {    border: 1px solid #a8f0c3;}
#top-bar li {    width: 12em;}
 
#side-bar {
    float: left;
    width: 13em;
    padding: 0 .5em;
    margin: 0;
    margin-top: 1em;
    border: 4px solid #a8f0c3;
    border-left: none;
    -moz-border-radius-topright: 45px;
    -webkit-border-top-right-radius: 45px;
}
#side-bar a {
    margin: 0;
    display: block;
    padding-left: 1em;
    border-bottom: 1px solid #D2D3C6;
    color: #1E2B31;
}
#side-bar .special-collapsible {
    border-top: 1px solid #D2D3C6;
    margin-left: -.5em;
}
#side-bar ul {
    border-top: 1px solid #D2D3C6;
    padding: 0;
    margin-left: -.5em;
    list-style: none;
}
#side-bar .top ul {    border-top: none;}
 
#main-content{    margin-left: 15em;}
 
#page-content {    }
 
#footer {
    width: 95%;
    margin-left: auto;
    margin-right: auto;
    height: 16px;
    background-color: #33a661;
    border: 1px solid #33a661;
    -moz-border-radius-topleft: 8px;
    -webkit-border-top-left-radius: 8px;
    -moz-border-radius-bottomleft: 8px;
    -webkit-border-bottom-left-radius: 8px;
    -moz-border-radius-topright: 8px;
    -webkit-border-top-right-radius: 8px;
    -moz-border-radius-bottomright: 8px;
    -webkit-border-bottom-right-radius: 8px;
}
 
#footer a {    color: #000;}
 
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
 
</style>
 
    <link rel="shortcut icon" href="/local--favicon/favicon.gif"/>
    <link rel="icon" type="image/gif" href="/local--favicon/favicon.gif"/>
 
            <link rel="alternate" type="application/wiki" title="Edit this page!" href="javascript:WIKIDOT.page.listeners.editClick()"/>
 
<script type="text/javascript" src="http://static.wikidot.com/v--33/common--modules/js/misc/NewPageHelperModule.js"></script></head>
 
<body id="html-body">
 
    <div id="container-wrap">
        <div id="container">
              <div id="header">
                  <h1><a href="http://tibasicdev.wikidot.com/"><span>TI-Basic Developer</span></a></h1>
                                        <h2><span>The TI-Basic Information Repository</span></h2>
 
                  <!-- google_ad_section_start(weight=ignore) -->
 
                  <div id="search-top-box">
                      <form id="search-top-box-form" action="dummy">
                          <input id="search-top-box-input" class="text empty" type="text" size="15" name="query" value="search this site" onfocus="if(YAHOO.util.Dom.hasClass(this, 'empty')){YAHOO.util.Dom.removeClass(this,'empty'); this.value='';}"/><input class="button" type="submit" name="search" value="search"/>
                     </form>
                  </div>
 
                                        <div id="top-bar">
 
<ul><li>Membership
<ul><li><a href="http://tibasicdev.wikidot.com/first-visit">First Time Visitor?</a></li><li><a href="http://tibasicdev.wikidot.com/conduct">Code of Conduct</a></li><li><a href="http://tibasicdev.wikidot.com/system:members">Site Members</a></li><li><a href="http://tibasicdev.wikidot.com/system:join">Become a Member</a></li><li><a href="http://tibasicdev.wikidot.com/system:invite">Invite a Friend</a></li></ul></li><li>Editing Pages
<ul><li><a href="http://tibasicdev.wikidot.com/guide-to-editing">Guide to Editing</a></li><li><a href="http://tibasicdev.wikidot.com/conventions">Wiki Conventions</a></li><li><a href="http://www.wikidot.com/doc:wiki-syntax">Wiki Syntax</a></li><li><a href="http://tibasicdev.wikidot.com/to-do">To-Do List</a></li><li><a class="wiki-standalone-button" href="javascript:;" onclick="WIKIDOT.page.listeners.viewSourceClick(event)">View Page Source</a></li><li><a href="http://tibasicdev.wikidot.com/system:recent-changes">Recent Changes</a></li><li><a href="http://tibasicdev.wikidot.com/admin:manage">Site Manager</a></li></ul></li><li>Site Information
<ul><li><a href="http://tibasicdev.wikidot.com/about">Site History</a></li><li><a href="http://tibasicdev.wikidot.com/logo">Site Logo</a></li><li><a href="http://tibasicdev.wikidot.com/all-news">News Archive</a></li><li><a href="http://tibasicdev.wikidot.com/news">83 News</a></li><li><a href="http://tibasicdev.wikidot.com/68k:news">68k News</a></li><li><a href="http://tibasicdev.wikidot.com/announcements">Announcements</a></li></ul></li><li>Related Sites
<ul><li><a href="http://www.ticalc.org" onclick="window.open(this.href, '_blank'); return false;">ticalc.org</a></li><li><a href="http://www.unitedti.org" onclick="window.open(this.href, '_blank'); return false;">United-TI</a></li><li><a href="http://www.tifreakware.net/" onclick="window.open(this.href, '_blank'); return false;">TI-Freakware</a></li><li><a href="http://www.maxcoderz.org" onclick="window.open(this.href, '_blank'); return false;">MaxCoderz</a></li><li><a href="http://www.bgo.netfirms.com" onclick="window.open(this.href, '_blank'); return false;">BASIC Guru</a></li><li><a href="http://www.education.ti.com" onclick="window.open(this.href, '_blank'); return false;">Texas Instruments</a></li><li><a href="http://www.omnimaga.org" onclick="window.open(this.href, '_blank'); return false;">Omnimaga</a></li></ul></li></ul>
 
                      </div>
                                    <div id="login-status"><span class="printuser"><a href="http://www.wikidot.com/user:info/james-kanjo" onclick="WIKIDOT.page.listeners.userInfo(35113); return false;" ><!--[if gte IE 7]><!--><img class="small" src="/common--images/avatars/35/35113/a16.png" alt="avatar"  style="background-image:url(http://www.wikidot.com/userkarma.php?u=35113)"/><!--<![endif]--><!--[if lt IE 7]><img class="small" src="/common&#45;&#45;images/avatars/35/35113/a16.png" alt="avatar"  style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=http://www.wikidot.com/userkarma.php?u=35113,sizingMethod='scale')"/><![endif]--></a>James Kanjo</span> | <a href="http://www.wikidot.com/account:you">my account</a><a  id="account-topbutton" href="javascript:;">&nabla;</a><div id="account-options"><ul><li><a href="http://www.wikidot.com/account:you">account summary</a></li><li><a href="http://www.wikidot.com/account:you/start/messages">private messages</a></li><li><a href="http://www.wikidot.com/account:you/start/contacts">my contacts</a></li><li><a href="http://www.wikidot.com/account:you/start/notifications">notifications</a></li><li><a href="http://www.wikidot.com/account:you/start/watching">watching</a></li><li><a href="javascript:;" onclick="WIKIDOT.page.listeners.logoutClick(event)">logout</a></li></ul></div></div>
                  <div id="header-extra-div-1"><span></span></div><div id="header-extra-div-2"><span></span></div><div id="header-extra-div-3"><span></span></div>
              </div>
 
            <div id="content-wrap">
                                    <div id="side-bar">
 
<div class="top"><ul><li><strong><a href="http://tibasicdev.wikidot.com/home">TI-83 Basic Home</a></strong></li><li><a href="http://tibasicdev.wikidot.com/68k:home">68k TI-Basic Home</a></li><li><a href="http://tibasicdev.wikidot.com/nspire">TI-Nspire Basic Page</a></li><li><a href="http://tibasicdev.wikidot.com/archives">Program Archives</a></li><li><a href="http://tibasicdev.wikidot.com/forum:home">Discussion Forums</a></li></ul></div><p><span style="font-size:large;">Preparation</span></p><ul><li><a href="http://tibasicdev.wikidot.com/thecalcs">The Calculators</a></li><li><a href="http://tibasicdev.wikidot.com/whytibasic">Why TI-Basic?</a></li><li><a href="http://tibasicdev.wikidot.com/using-this-guide">Using This Guide</a></li><li><a href="http://tibasicdev.wikidot.com/starter-kit">TI-Basic Starter Kit</a></li><li><a href="http://tibasicdev.wikidot.com/faq">TI-Basic FAQ</a></li></ul><p><span style="font-size:large;">Main Content</span></p><div class="special-collapsible"><div class="collapsible-block"><div class="collapsible-block-folded"><a class="collapsible-block-link" href="javascript:;" onclick="WIKIDOT.page.listeners.toggleCollapsibleBlock(event, true)">Commands</a></div><div class="collapsible-block-unfolded" style="display:none"><div class="collapsible-block-unfolded-link"><a class="collapsible-block-link" href="javascript:;" onclick="WIKIDOT.page.listeners.toggleCollapsibleBlock(event, false)">Commands</a></div><div class="collapsible-block-content"><div class="list-pages-box">
 
<ul>
<li><a href="http://tibasicdev.wikidot.com/commands">Overview</a></li>
<li><a href="http://tibasicdev.wikidot.com/command-index">Command Index</a></li>
<li><a href="http://tibasicdev.wikidot.com/geometpdf">Random command!</a></li>
</ul>
 
    </div>
<ul><li><a href="http://tibasicdev.wikidot.com/homescreen">Home Screen</a></li><li><a href="http://tibasicdev.wikidot.com/graphscreen">Graph Screen</a></li><li><a href="http://tibasicdev.wikidot.com/math">Math Functions</a></li><li><a href="http://tibasicdev.wikidot.com/variables">Variables</a></li><li><a href="http://tibasicdev.wikidot.com/userinput">User Input</a></li><li><a href="http://tibasicdev.wikidot.com/operators">Operators</a></li><li><a href="http://tibasicdev.wikidot.com/linking">Calculator Linking</a></li><li><a href="http://tibasicdev.wikidot.com/controlflow">Controlling Flow</a></li></ul></div></div></div><div class="collapsible-block"><div class="collapsible-block-folded"><a class="collapsible-block-link" href="javascript:;" onclick="WIKIDOT.page.listeners.toggleCollapsibleBlock(event, true)">Development</a></div><div class="collapsible-block-unfolded" style="display:none"><div class="collapsible-block-unfolded-link"><a class="collapsible-block-link" href="javascript:;" onclick="WIKIDOT.page.listeners.toggleCollapsibleBlock(event, false)">Development</a></div><div class="collapsible-block-content"><ul><li><a href="http://tibasicdev.wikidot.com/development">Overview</a></li><li><a href="http://tibasicdev.wikidot.com/plan">Planning</a></li><li><a href="http://tibasicdev.wikidot.com/portability">Portability</a></li><li><a href="http://tibasicdev.wikidot.com/usability">Usability</a></li><li><a href="http://tibasicdev.wikidot.com/setup">Program Setup</a></li><li><a href="http://tibasicdev.wikidot.com/code-conventions">Code Conventions</a></li><li><a href="http://tibasicdev.wikidot.com/techniques">Techniques</a></li><li><a href="http://tibasicdev.wikidot.com/comments">Commenting Code</a></li><li><a href="http://tibasicdev.wikidot.com/subprograms">Subprograms</a></li><li><a href="http://tibasicdev.wikidot.com/cleanup">Program Cleanup</a></li><li><a href="http://tibasicdev.wikidot.com/debug">Debugging</a></li><li><a href="http://tibasicdev.wikidot.com/optimize">Optimization</a></li><li><a href="http://tibasicdev.wikidot.com/timings">Code Timings</a></li><li><a href="http://tibasicdev.wikidot.com/documentation">Writing Program Documentation</a></li><li><a href="http://tibasicdev.wikidot.com/marketing">Marketing</a></li><li><a href="http://tibasicdev.wikidot.com/releasing-your-program">Releasing Programs</a></li><li><a href="http://tibasicdev.wikidot.com/creating-new-program-versions">Creating New Program Versions</a></li></ul></div></div></div><div class="collapsible-block"><div class="collapsible-block-folded"><a class="collapsible-block-link" href="javascript:;" onclick="WIKIDOT.page.listeners.toggleCollapsibleBlock(event, true)">Techniques</a></div><div class="collapsible-block-unfolded" style="display:none"><div class="collapsible-block-unfolded-link"><a class="collapsible-block-link" href="javascript:;" onclick="WIKIDOT.page.listeners.toggleCollapsibleBlock(event, false)">Techniques</a></div><div class="collapsible-block-content"><ul><li><a href="http://tibasicdev.wikidot.com/techniques">Overview</a></li><li><a href="http://tibasicdev.wikidot.com/animation">Animation</a></li><li><a href="http://tibasicdev.wikidot.com/assembly">Assembly</a></li><li><a href="http://tibasicdev.wikidot.com/compression">Compression Techniques</a></li><li><a href="http://tibasicdev.wikidot.com/cryptography">Cryptography</a></li><li><a href="http://tibasicdev.wikidot.com/custommenus">Custom Menus</a></li><li><a href="http://tibasicdev.wikidot.com/custominput">Custom Text Input</a></li><li><a href="http://tibasicdev.wikidot.com/easy-map-making">Easy Map Making</a></li><li><a href="http://tibasicdev.wikidot.com/friendly-window">Friendly Graphing Window</a></li><li><a href="http://tibasicdev.wikidot.com/graphics">Graphics</a></li><li><a href="http://tibasicdev.wikidot.com/grouping">Grouping A Program</a></li><li><a href="http://tibasicdev.wikidot.com/highscores">Highscores</a></li><li><a href="http://tibasicdev.wikidot.com/lookuptables">Look-Up Tables</a></li><li><a href="http://tibasicdev.wikidot.com/maps">Making Maps</a></li><li><a href="http://tibasicdev.wikidot.com/movement">Movement in Maps</a></li><li><a href="http://tibasicdev.wikidot.com/multiplayer">Multiplayer</a></li><li><a href="http://tibasicdev.wikidot.com/piecewise-expressions">Piecewise Expressions</a></li><li><a href="http://tibasicdev.wikidot.com/protection">Program Protection</a></li><li><a href="http://tibasicdev.wikidot.com/recursion">Recursion</a></li><li><a href="http://tibasicdev.wikidot.com/saving">Saving</a></li><li><a href="http://tibasicdev.wikidot.com/selfmodify">Self-Modifying Code (SMC)</a></li><li><a href="http://tibasicdev.wikidot.com/subprograms">Subprograms</a></li><li><a href="http://tibasicdev.wikidot.com/validation">Validation of User Input</a></li></ul></div></div></div><div class="collapsible-block"><div class="collapsible-block-folded"><a class="collapsible-block-link" href="javascript:;" onclick="WIKIDOT.page.listeners.toggleCollapsibleBlock(event, true)">Miscellaneous</a></div><div class="collapsible-block-unfolded" style="display:none"><div class="collapsible-block-unfolded-link"><a class="collapsible-block-link" href="javascript:;" onclick="WIKIDOT.page.listeners.toggleCollapsibleBlock(event, false)">Miscellaneous</a></div><div class="collapsible-block-content"><ul><li><a href="http://tibasicdev.wikidot.com/experiment">Experiment</a></li><li><a href="http://tibasicdev.wikidot.com/programs-h">Programs</a></li><li><a href="http://tibasicdev.wikidot.com/sitemap">Sitemap</a></li></ul></div></div></div></div><div style="height: 5px;"></div><p><span style="font-size:large;">References</span></p><ul><li><a href="http://tibasicdev.wikidot.com/resources">Resources</a></li><li><a href="http://tibasicdev.wikidot.com/downloads">Downloads</a></li><li><a href="http://tibasicdev.wikidot.com/showcases">Showcases</a></li><li><a href="http://tibasicdev.wikidot.com/sidebar">Sidebar</a></li><li><a href="http://tibasicdev.wikidot.com/tokens">Token Size</a></li><li><a href="http://tibasicdev.wikidot.com/textsprites">Text Sprites</a></li><li><a href="http://tibasicdev.wikidot.com/binandhex">Binary &amp; Hex</a></li><li><a href="http://tibasicdev.wikidot.com/83lgfont">TI-83+ Font</a></li><li><a href="http://tibasicdev.wikidot.com/errors">Error Conditions</a></li><li><a href="http://tibasicdev.wikidot.com/file-extensions">File Extensions</a></li><li><a href="http://tibasicdev.wikidot.com/key-codes">Key Codes</a></li><li><a href="http://tibasicdev.wikidot.com/abbreviations">Abbreviations</a></li><li><a href="http://tibasicdev.wikidot.com/glossary">Glossary</a></li></ul><div class="collapsible-block"><div class="collapsible-block-folded"><span style="font-size:large;"><a class="collapsible-block-link" href="javascript:;" onclick="WIKIDOT.page.listeners.toggleCollapsibleBlock(event, true)">+&nbsp;Add&nbsp;Page</a></span></div><div class="collapsible-block-unfolded" style="display:none"><div class="collapsible-block-unfolded-link"><span style="font-size:large;"><a class="collapsible-block-link" href="javascript:;" onclick="WIKIDOT.page.listeners.toggleCollapsibleBlock(event, false)">-&nbsp;Add&nbsp;Page</a></span></div><div class="collapsible-block-content"><div style="text-align: center">
    <form action="about:blank">
        <select class="select" id="themePreviewerSelect"
            onchange="window.location.href=window.location.href.replace(/\?.*$/, '').replace(/(\/theme_id\/[0-9]+)|$/, '/theme_id/'+$('themePreviewerSelect').value);">
                            <option  value="6651">Basic</option>
                            <option  value="6650">Bloo - no side bar</option>
                            <option  value="25">Cappuccino</option>
                            <option  value="26">Cappuccino - side bar on right</option>
                            <option  value="2">Clean</option>
                            <option  value="3">Clean - no side bar</option>
                            <option  value="56">Co</option>
                            <option  value="121">Co - no side bar</option>
                            <option  value="5">Flannel</option>
                            <option  value="9">Flannel Nature</option>
                            <option  value="10">Flannel Nature - no side bar</option>
                            <option  value="6">Flannel - no side bar</option>
                            <option  value="7">Flannel Ocean</option>
                            <option  value="8">Flannel Ocean - no side bar</option>
                            <option  value="57">Flower Blossom</option>
                            <option  value="75">Flower Blossom - no side bar</option>
                            <option  value="54">Gila</option>
                            <option  value="55">Gila - no side bar</option>
                            <option  value="58">Localize</option>
                            <option  value="59">Localize - no side bar</option>
                            <option  value="2439">Shiny</option>
                            <option  value="2440">Shiny - no side bar</option>
                            <option  value="2437">Webbish</option>
                            <option  value="2438">Webbish - no side bar</option>
                            <option  value="122">Webbish (older)</option>
                            <option  value="123">Webbish (older) - no side bar</option>
                            <option  value="6258">Bloo</option>
                            <option  value="12513">Blank</option>
                            <option  value="12806">Empty Page</option>
                            <option  value="4029">Forum Side</option>
                            <option selected="selected" value="12519">New TI|BD by JK</option>
                            <option  value="12783">New TI|BD by JK 2</option>
                            <option  value="3741">Portal</option>
                            <option  value="11812">Portal (Hide hidden class)</option>
                            <option  value="49">Pretty Print</option>
                            <option  value="9368">Pretty Print (Forum)</option>
                    </select>
 
    </form>
</div>
 
<div class="new-page-box" style="text-align: center; margin: 1em 0">
    <form action="dummy.html" method="get" onsubmit="WIKIDOT.modules.NewPageHelperModule.listeners.create(event)">
        <input class="text" name="pageName" type="text" size="18" maxlength="60" style="margin: 1px"/><input type="submit" class="button" value="new page" style="margin: 1px"/>
 
    </form>
</div>
</div></div></div><div style="text-align:center;"><p><script type="text/javascript">
//<![CDATA[
var sc_project=2373092; 
var sc_invisible=0; 
var sc_partition=22; 
var sc_security="d8087415"; 
//]]></script><script type="text/javascript" src="http://www.statcounter.com/counter/counter_xhtml.js"></script><noscript><div class="statcounter"><a class="statcounter" href="http://www.statcounter.com/"><img class="statcounter" src="http://c23.statcounter.com/2373092/0/d8087415/0/" alt="counter free hit unique web" /></a></div></noscript></p></div>
 
                    </div>
 
                <!-- google_ad_section_end -->
 
                <div id="main-content">
                    <div id="action-area-top"></div>
 
                    <!-- google_ad_section_start -->
 
                                        <div id="page-title">
                    The Calculators                    </div>
 
                    <div id="page-content">
 
<p>This section is concerned with the TI-83 family of graphing calculators, which all use the same base processor chip — a Zilog Z80. There are five different calculators that are within this group: TI-83, TI-83+, TI-83+SE, TI-84+, and TI-84+SE. Each of these calculators has their own features and unique qualities.</p>
<table style="margin:0; padding:0">
<tr>
<td style="margin:0; padding:0">
<div id="toc">
<div id="toc-action-bar"><a href="javascript:;" onclick="WIKIDOT.page.listeners.foldToc(event)">fold</a><a style="display: none" href="javascript:;" onclick="WIKIDOT.page.listeners.unfoldToc(event)">unfold</a></div>
<div class="title">Table of Contents</div>
<div id="toc-list">
<div style="margin-left: 1em;"><a href="#toc0">The TI-83 Calculator</a></div>
<div style="margin-left: 1em;"><a href="#toc1">The TI-83+ Calculator</a></div>
<div style="margin-left: 1em;"><a href="#toc2">The TI-83+SE Calculator</a></div>
<div style="margin-left: 1em;"><a href="#toc3">The TI-84+ Calculator</a></div>
<div style="margin-left: 1em;"><a href="#toc4">The TI-84+SE Calculator</a></div>
<div style="margin-left: 1em;"><a href="#toc5">Calculator Comparison</a></div>
<div style="margin-left: 1em;"><a href="#toc6">Known ROM Versions</a></div>
<div style="margin-left: 1em;"><a href="#toc7">Pre-Loaded Applications</a></div>
</div>
</div>
</td>
</tr>
</table>
<h1 id="toc0"><span>The TI-83 Calculator</span></h1>
<table style="width:100%;">
<tr>
<td style="vertical-align:top;"><img src="/local--files/thecalcs/ti83.png" alt="ti83.png" class="image" /></td>
<td style="vertical-align:top; padding-left:10px;">The TI-83 is the oldest calculator in the group, being released back in 1996. It is designed to be an upgrade from the TI-82, featuring a sleeker case design, more memory (27K bytes of RAM), and a faster processor (6MHz). It kept some of the features the same as the TI-82, such as the screen size and being powered by 4 AAA batteries, to allow for backwards compatibility with the TI-82.
<p>This means that while some of the TI-Basic commands on the TI-83 have a different syntax, at the core the TI-83 can execute the TI-82's TI-Basic programs. Some of the differences between TI-Basic for each calculator are how math is interpreted (implied multiplication versus regular multiplication) and commands that have an opening parentheses attached to the end of them (such as the trigonometry commands). When it comes to assembly programs, however, the TI-83 cannot execute the TI-82's assembly programs without some modification because of the processor upgrade.</p>
</td>
</tr>
</table>
<h1 id="toc1"><span>The TI-83+ Calculator</span></h1>
<table style="width:100%;">
<tr>
<td style="vertical-align:top;"><img src="/local--files/thecalcs/ti83plus.png" alt="ti83plus.png" class="image" /></td>
<td style="vertical-align:top; padding-left:10px;">The TI-83+ was released in 1999, and it was meant as an upgrade from the TI-83 with more memory and a faster processor. At the same time, it kept several features of the TI-83 to maintain backwards compatibility: the case design, the screen size (16x8 home screen and 96x64 graph screen), and the link port. There are some major differences, however.
<p>The TI-83+ cannot run assembly programs made for the TI-83 because it uses a different format: there are three built-in commands (<a href="http://tibasicdev.wikidot.com/asmprgm">AsmPrgm</a>, <a href="http://tibasicdev.wikidot.com/asmcomp">AsmComp(</a> and <a href="http://tibasicdev.wikidot.com/asm-command">Asm(</a>) used for running assembly programs, while the TI-83 has no such commands. While the TI-83 uses a 6MHz processor, the TI-83 Plus uses a speedier 8MHz processor. It should be noted, however, that the TI-83+ only runs at the 6MHz speed unless altered by an assembly program.</p>
<p>The TI-83 comes with 24K bytes of available memory built-in, while the TI-83+ comes with 184K bytes of available memory: 24K bytes are RAM and 160K bytes are archive memory, or more commonly called "Flash" memory. Archive memory allows you to store data, programs, applications, or any other variables to a safe location where they cannot be edited or deleted inadvertently from a RAM crash. This creates a compatibility issue with TI-83 TI-Basic, however, because of the use of the <a href="http://tibasicdev.wikidot.com/archive">Archive</a> and <a href="http://tibasicdev.wikidot.com/unarchive">UnArchive</a> commands that are on the TI-83+.</p>
</td>
</tr>
</table>
<h1 id="toc2"><span>The TI-83+SE Calculator</span></h1>
<table style="width:100%;">
<tr>
<td style="vertical-align:top;"><img src="/local--files/thecalcs/ti83plus_se.png" alt="ti83plus_se.png" class="image" /></td>
<td style="vertical-align:top; padding-left:10px;">The TI-83+SE (short for <em>S</em>ilver <em>E</em>dition) was the next calculator upgrade in the group. When it was released by TI in 2001, it became instantly popular because of its unique look and increased memory and speed. However, TI has since decided to stop production of it and focus on the TI-84+SE calculator instead. The TI-83+SE has now become somewhat of a collector's item.
<p>After seeing the success of the TI-83 calculator series, TI decided to give their next TI-83 series calculator a unique look to set it apart from the other TI-83 calculators. The TI-83+SE calculator look consists of a transparent silver case with silver sparkles sprinkled throughout. What really made the calculator shine, though, was that the transparent case allowed you to see what the internals of the calculator looked like without even having to open up the calculator.</p>
<p>In addition to the unique look, TI also decided to upgrade the memory and speed. While maintaining almost complete backward compatibility, the TI-83+SE features 128K bytes of RAM and 1.5M bytes of archive memory. It should be noted, however, that only 24K bytes of RAM are available to TI-Basic programmers (you need to use assembly to access all 128K bytes). The TI-83+SE uses a 15MHz processor, but it can also be made to run at the 8MHz and 6MHz speeds through assembly.</p>
</td>
</tr>
</table>
<h1 id="toc3"><span>The TI-84+ Calculator</span></h1>
<table style="width:100%;">
<tr>
<td style="vertical-align:top;"><img src="/local--files/thecalcs/ti84plus.png" alt="ti84plus.png" class="image" /></td>
<td style="vertical-align:top; padding-left:10px;">The TI-84+ was released in 2004, and it was meant to be an upgrade of the TI-83+. The TI-84+ introduces a couple new things to the TI-83 calculator series: a built-in clock and a mini USB link port. The built-in clock can be used in TI-Basic by using the new <a href="http://tibasicdev.wikidot.com/time-and-date">clock</a> commands that go with it, while the mini USB link port greatly increases the speed of linking the calculator to a computer.
<p>The TI-84+ also improves upon the TI-83+ in terms of memory and speed: 24K bytes of RAM and 480K bytes of archive memory; and a 15MHz processor (the same one that the TI-83+SE has). The most obvious change that the TI-84+ brings is a completely new case design. Gone are the slightly rounded edges and appearance; in its place is an almost circular look from the front, with the edges smoothly flowing around to the back of the calculator.</p>
</td>
</tr>
</table>
<h1 id="toc4"><span>The TI-84+SE Calculator</span></h1>
<table style="width:100%;">
<tr>
<td style="vertical-align:top;"><img src="/local--files/thecalcs/ti84plus_se.png" alt="ti84plus_se.png" class="image" /></td>
<td style="vertical-align:top; padding-left:10px;">The TI-84+SE was released along with the TI-84+ in 2004, kind of like a TI-83 calculator series package upgrade. The TI-84+SE was meant to be an upgrade of the TI-83+SE, and it includes the same upgrades that the TI-84+ got. The two new innovations that the TI-84+SE introduces are: interchangeable faceplates and a kickstand; these things are basically optional add-ons for your calculator.
<p>The interchangeable faceplate can be useful if you want to change the front look of your calculator. You simply purchase a different faceplate and swap it with the current faceplate. The calculator's initial faceplate is a light gray/silver. The kickstand is built into the calculator lid, and it allows you to set the calculator to four different viewing angles. Concerning memory and speed, the TI-84+SE has the same amount of memory and speed as the TI-83+SE.</p>
</td>
</tr>
</table>
<h1 id="toc5"><span>Calculator Comparison</span></h1>
<table class="wiki-content-table">
<tr>
<th>Model</th>
<th>Processor</th>
<th>RAM</th>
<th>ROM</th>
<th>Screen Size</th>
<th>Link Port</th>
<th>Clock</th>
<th>Release Date</th>
</tr>
<tr>
<td style="text-align: center;">TI-83</td>
<td style="text-align: center;">6&nbsp;MHz</td>
<td style="text-align: center;">27&nbsp;KB</td>
<td style="text-align: center;">None</td>
<td style="text-align: center;">96x64</td>
<td style="text-align: center;">I/O</td>
<td style="text-align: center;">No</td>
<td style="text-align: center;">1996</td>
</tr>
<tr>
<td style="text-align: center;">TI-83+</td>
<td style="text-align: center;">6&nbsp;MHz</td>
<td style="text-align: center;">24&nbsp;KB</td>
<td style="text-align: center;">160&nbsp;KB</td>
<td style="text-align: center;">96x64</td>
<td style="text-align: center;">I/O</td>
<td style="text-align: center;">No</td>
<td style="text-align: center;">1999</td>
</tr>
<tr>
<td style="text-align: center;">TI-83+SE</td>
<td style="text-align: center;">15&nbsp;MHz</td>
<td style="text-align: center;">24KB (128&nbsp;KB)</td>
<td style="text-align: center;">1.5&nbsp;MB</td>
<td style="text-align: center;">96x64</td>
<td style="text-align: center;">I/O</td>
<td style="text-align: center;">No</td>
<td style="text-align: center;">2001</td>
</tr>
<tr>
<td style="text-align: center;">TI-84+</td>
<td style="text-align: center;">15&nbsp;MHz</td>
<td style="text-align: center;">24&nbsp;KB</td>
<td style="text-align: center;">480&nbsp;KB</td>
<td style="text-align: center;">96x64</td>
<td style="text-align: center;">I/O+USB</td>
<td style="text-align: center;">Yes</td>
<td style="text-align: center;">2004</td>
</tr>
<tr>
<td style="text-align: center;">TI-84+SE</td>
<td style="text-align: center;">15&nbsp;MHz</td>
<td style="text-align: center;">24KB (128&nbsp;KB)</td>
<td style="text-align: center;">1.5&nbsp;MB</td>
<td style="text-align: center;">96x64</td>
<td style="text-align: center;">I/O+USB</td>
<td style="text-align: center;">Yes</td>
<td style="text-align: center;">2004</td>
</tr>
</table>
<h1 id="toc6"><span>Known ROM Versions</span></h1>
<p>TI occasionally releases updates to the ROM version for each calculator, which either fix existing bugs, improve calculator performance, or add new commands and functionality. You can check the ROM version on your calculator by selecting the About option in the Memory menu, which is accessible by pressing 2nd MEM. See <a href="http://tibasicdev.wikidot.com/portability">portability</a> for a list of changes in functionality between the OS versions.</p>
<table class="wiki-content-table">
<tr>
<th>Model</th>
<th>Known ROM Versions</th>
</tr>
<tr>
<td style="text-align: center;">TI-83</td>
<td style="text-align: center;">1.02, 1.03, 1.04, 1.06, 1.07, 1.08, 1.10</td>
</tr>
<tr>
<td style="text-align: center;">TI-83+</td>
<td style="text-align: center;">1.03, 1.06, 1.08, 1.10, 1.12, 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19</td>
</tr>
<tr>
<td style="text-align: center;">TI-83+SE</td>
<td style="text-align: center;">1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19</td>
</tr>
<tr>
<td style="text-align: center;">TI-84+</td>
<td style="text-align: center;">2.21, 2.22, 2.30, 2.40, 2.41, 2.43</td>
</tr>
<tr>
<td style="text-align: center;">TI-84+SE</td>
<td style="text-align: center;">2.21, 2.22, 2.30, 2.40, 2.41, 2.43</td>
</tr>
</table>
<h1 id="toc7"><span>Pre-Loaded Applications</span></h1>
<p>Except for the TI-83 which has no Flash ROM, all of the other TI-83 series of calculators come with some pre-loaded applications for users to use. Since most of the applications are rather limited in use and scope, not to mention that they each take up 16K bytes or more of memory, most people end up deleting them off of their calculator to allow them to fit more programs and games. If you want to put them back on your calculator again, you can find them all on <a href="http://education.ti.com" onclick="window.open(this.href, '_blank'); return false;">TI's website</a>.</p>
<table class="wiki-content-table">
<tr>
<th>Model</th>
<th>Pre-Loaded Applications</th>
</tr>
<tr>
<td style="text-align: center;">TI-83+</td>
<td style="text-align: center;">Language Localization, Probability Simulation, Science Tools, StudyCards, Vernier EasyData</td>
</tr>
<tr>
<td style="text-align: center;">TI-83+SE</td>
<td style="text-align: center;">CellSheet, GeoMaster, Language Localization, Organizer, Periodic Table, StudyCards</td>
</tr>
<tr>
<td style="text-align: center;">TI-84+</td>
<td style="text-align: center;">Cabri Jr., Conic Graphing, Inequality Graphing, Language Localization, LearningCheck, LogIn, Probability Simulation, Science Tools, StudyCards, TI CBL/CBR, TImeSpan, Topics in Algebra 1, Transformation Graphing, Vernier EasyData</td>
</tr>
<tr>
<td style="text-align: center;">TI-84+SE</td>
<td style="text-align: center;">app4math, Area Formulas, Cabri Jr., Catalog Help, CellSheet, Conic Graphing, Fundamental Topics in Science, GeoMaster, Inequality Graphing, Language Localization, LearningCheck, LogIn, NoteFolio, Organizer, Periodic Table, Polynomial Root Finder and Simultaneous Equation Solver, Probability Simulation, Puzzle Pack, Science Tools, Start-Up Customization, StudyCards, TI CBL/CBR, TImeSpan, Topics in Algebra 1, Transformation Graphing, Vernier EasyData</td>
</tr>
</table>
<div style="display : none;">
<p>.</p>
</div>
 
                    </div>
 
                                            <div class="page-tags">
                            <span>
                                page tags:
                                                                    <a href="http://tibasicdev.wikidot.com/system:page-tags/tag/_preparation1#pages">_preparation1</a>
                                                            </span>
                        </div>
 
                    <!-- google_ad_section_end -->
 
                    <!-- google_ad_section_start(weight=ignore) -->
 
                    <div style="clear:both; height:1px; font-size:1px;"></div>
                                                                    <div id="page-info">page_revision: 55, last_edited: <span class="odate">1238804012|%e %b %Y, %H:%M %Z (%O ago)</span></div><div class="page-watch-options">            Start watching:
        <a href="javascript:;"
            onclick="WIKIDOT.page.listeners.awatch(event, 'site')"
        >site tibasicdev.wikidot.com</a>
        |
        <a href="javascript:;"
            onclick="WIKIDOT.page.listeners.awatch(event, 'category')"
        >category _default</a> 
        | 
        <a href="javascript:;"
            onclick="WIKIDOT.page.listeners.awatch(event, 'page')"
        >this page</a>
 
    [<a href="http://www.wikidot.com/faq:watching" target="_blank">?</a>]
</div>
<div id="page-options-bottom"  class="page-options-bottom">
    <a href="javascript:;" id="edit-button">edit</a><a href="javascript:;" id="tags-button">tags</a><a href="http://tibasicdev.wikidot.com/forum/t-3681/thecalcs"  id="discuss-button">discuss (#)</a>
    <a href="javascript:;" id="history-button">history</a> 
    <a href="javascript:;" id="files-button">files</a> <a href="javascript:;" id="print-button">print</a> <a href="javascript:;" id="site-tools-button">site tools</a><a href="javascript:;" id="more-options-button">+&nbsp;options</a> 
</div>
<div id="page-options-bottom-2" class="page-options-bottom" style="display:none">
    <a href="javascript:;" id="edit-sections-button">edit sections</a>
    <a href="javascript:;" id="edit-append-button">append</a>
 
    <a href="javascript:;" id="backlinks-button">backlinks</a> 
    <a href="javascript:;" id="view-source-button">view source</a> 
    <a href="javascript:;" id="parent-page-button">parent</a> 
    <a href="javascript:;" id="page-block-button">block</a>     
    <a href="javascript:;" id="rename-move-button">rename</a> 
    <a href="javascript:;" id="delete-button">delete</a> 
</div>
<div id="page-options-area-bottom">
</div>
 
                    <div id="action-area" style="display: none"></div>
                </div>
            </div>
 
             <div id="footer" style="display: block; visibility: visible;">
                                      <div class="options" style="display: block; visibility: visible;">
                         <a href="http://www.wikidot.com/doc" id="wikidot-help-button">
                             help                         </a>
                         |
                         <a href="http://www.wikidot.com/legal:terms-of-service"   id="wikidot-tos-button">
                             terms of service                         </a>
                         |
                         <a href="http://www.wikidot.com/legal:privacy-policy"   id="wikidot-privacy-button">
                             privacy                         </a>
                         |
                         <a href="javascript:;" id="bug-report-button" 
                             onclick="WIKIDOT.page.listeners.pageBugReport(event)">
                             report a bug                         </a>
                         |
                         <a href="javascript:;" id="abuse-report-button" 
                             onclick="WIKIDOT.page.listeners.flagPageObjectionable(event)">
                             flag as objectionable                         </a>
                     </div>
                                              Hosted by <a href="http://www.wikidot.com">Wikidot.com</a> &#8212; 
                                                      <a href="http://www.wikidot.com/new-site">get your free wiki now!</a>
                                                                                                 </div>
                              <div id="license-area" class="license-area">
                                             Unless stated otherwise Content of this page is licensed under <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License</a>
                                                        </div>
 
            <div id="extrac-div-1"><span></span></div><div id="extrac-div-2"><span></span></div><div id="extrac-div-3"><span></span></div>
 
                     </div>
     </div>
 
     <!-- These extra divs/spans may be used as catch-alls to add extra imagery. -->
    <div id="extra-div-1"><span></span></div><div id="extra-div-2"><span></span></div><div id="extra-div-3"><span></span></div>
    <div id="extra-div-4"><span></span></div><div id="extra-div-5"><span></span></div><div id="extra-div-6"><span></span></div>
 
     <div id="page-options-bottom-tips" style="display: none">
         <div id="edit-button-hovertip">
             Click here to edit contents of this page.         </div>
     </div>
     <div id="page-options-bottom-2-tips"  style="display: none">
         <div id="edit-sections-button-hovertip">
             Click here to toggle editing of individual sections of the page (if possible).
             Watch headings for an "edit" link when available.         </div>
         <div id="edit-append-button-hovertip">
             Append content without editing the whole page source.         </div>
         <div id="history-button-hovertip">
             Check out how this page has evolved in the past.         </div>
         <div id="discuss-button-hovertip">
             If you want to discuss contents of this page - this is the easiest way to do it.         </div>
         <div id="files-button-hovertip">
             View and manage file attachments for this page.         </div>
         <div id="site-tools-button-hovertip">
             A few useful tools to manage this Site.         </div>
         <div id="backlinks-button-hovertip">
                 See pages that link to and include this page.         </div>
         <div id="rename-move-button-hovertip">
             Change the name (also URL address, possibly the category) of the page.         </div>
         <div id="view-source-button-hovertip">
             View wiki source for this page without editing.         </div>
         <div id="parent-page-button-hovertip">    
             View/set parent page (used for creating breadcrumbs and structured layout).         </div>
                      <div id="abuse-report-button-hovertip">
                     Notify administrators if there is objectionable content in this page.             </div>
             <div id="bug-report-button-hovertip">
                Something does not work as expected? Find out what you can do.             </div>
             <div id="wikidot-help-button-hovertip">
                 General Wikidot.com documentation and help section.             </div>
             <div id="wikidot-tos-button-hovertip">
                 Wikidot.com Terms of Service - what you can, what you should not etc.             </div>
             <div id="wikidot-privacy-button-hovertip">
                     Wikidot.com Privacy Policy.             
             </div>
              </div>
 
     <!-- google_ad_section_end -->
 
     <div id="account-notifications-dummy" style="display:none"></div>
 
     <div style="display:none" id="dummy-ondomready-block"></div>
 
            <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>
        <script type="text/javascript">
            _uacct = "UA-5568715-1";
                        urchinTracker();
        </script>
 
    <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>
    <script type="text/javascript">
        _uff = false;
        _uacct = "UA-68540-5";
        _udn="wikidot.com"; 
        urchinTracker();
    </script>
 
<!-- Start Quantcast tag -->
<script type="text/javascript">
_qoptions={
qacct:"p-edL3gsnUjJzw-"
};
</script>
<script type="text/javascript" src="http://edge.quantserve.com/quant.js"></script>
<noscript>
<img src="http://pixel.quantserve.com/pixel/p-edL3gsnUjJzw-.gif" style="display: none;" border="0" height="1" width="1" alt="Quantcast"/>
</noscript>
<!-- End Quantcast tag -->
 
      </body>
 
</html>

Member

Scroll DOWN to locate CSS:

<!DOCTYPE html 
     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 
<head>
     <title>TI-Basic Developer: The Calculators</title>
 
              <script type="text/javascript" src="http://static.wikidot.com/v--33/common--javascript/init.combined.js"></script>
     <script  type="text/javascript">
         // global request information
 
         var WIKIREQUEST = {};
         WIKIREQUEST.info = {};
 
         WIKIREQUEST.info.domain = "tibasicdev.wikidot.com";
         WIKIREQUEST.info.siteId = 405;
         WIKIREQUEST.info.categoryId = 2265;
         WIKIREQUEST.info.themeId = 49;
         WIKIREQUEST.info.requestPageName = "thecalcs";
         OZONE.request.timestamp = 1241040762;
         OZONE.request.date = new Date();
         WIKIREQUEST.info.lang = 'en';
                  WIKIREQUEST.info.pageUnixName = "thecalcs";
         WIKIREQUEST.info.pageId = 14764;
                  WIKIREQUEST.info.lang = "en";
         OZONE.lang = "en";
//         window.onload = WikidotInit();
     </script>
 
     <meta http-equiv="content-type" content="text/html;charset=UTF-8"/>
             <meta http-equiv="content-language" content="en"/>
         <script type="text/javascript" src="http://static.wikidot.com/v--33/common--javascript/WIKIDOT.combined.js"></script>
 
    <style type="text/css" id="internal-style"> 
 @import url(http://static.wikidot.com/v--33/common--modules/css/monetize/textlinkads/MonetizeTextLinkAdsModule.css);
 
                          @import url(http://static.wikidot.com/v--33/common--theme/base/css/style.css?0);
@import url(http://static.wikidot.com/v--42/common--theme/co/css/style.css?0);
 
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
 
.code {
font-size: 105%;
}
 
.hidden-collapsible .collapsible-block-link {
    text-decoration:none;
}
 
.menu .show {
    display: none;
    z-index: 9;
}
 
.default .show {
    display: block;
    z-index: 8;
}
 
.menu:hover .show {
    display: block;
}
 
.infobox{
    color: #FFFFFF;
}
 
.infobox a{
    color: #FFFFFF;
}
 
.blink, .blink a {
    text-decoration: blink;
}
 
#header {
    background-color: #202817;
    min-width: 800px;
    width:expression(document.body.clientWidth < 800? "800px" : "auto");
}
#header h1 {
  padding: 0;
  margin: 0;
  width: 800px; //735px; //789px;
  height: 69px;
  background: #202817;
  background-image: url(http://tibasicdev.wikidot.com/local--files/logo/Logo10B.PNG);
}
#header h1 a {
  padding: 0;
  margin: 0 320px 0 8px;
  width: 472px; //721px; //735px; //789px;
  height: 69px;
  display: block;
}
#header h1 span {
  visibility: hidden;
}
#top-bar {
  top: 69px;
  height: 21px;
  min-width: 976px;
  padding: 0;
  background-color: #5C634D;
  border-bottom: 2px solid #5C634D;
}
#top-bar  a, #top-bar li ul li a {
    background-color:#5C634D;
}
#top-bar a:hover, #top-bar li ul li a:hover {
    background-color:#5C634D;
}
#side-bar {
  min-width: 185px;
  background-color:#B8C9A2;
}
#side-bar li a{
  border-bottom:1px solid #ABBDA2;
  border-top:1px solid #C6D4A2;
}
#side-bar li a:hover{
  background-color:#C3D3B2;
}
body{
  background-color:#DCE9D7;
}
#footer{
  background-color:#5C634D;
  border-top:2px solid #343D2A;
}
.special-collapsible .collapsible-block-unfolded .collapsible-block-link {
    font-weight: bold;
    padding-left: 0em;
}
.special-collapsible a {
    margin: 0;
    padding-top: 2px;
    padding-bottom: 2px;
    display: block;
    padding-left: 1em;
    border-bottom: 1px solid #ABBDA2;
    border-top: 1px solid #C6D4A2;
    color: #1E2B31;
    text-decoration: none;
}
#header h2 {
  display: none;
}
 
#license-areas {
  color: #E7E9DC;
  background: #5C634D;
}
#license-areas a {
  color: #E7E9DC;
  background: #5C634D;
}
 
table.charmap {
  background: white;
  border: #999 solid 1px;
  border-spacing: 2px;
  padding: .3em;
  table-collapse: collapse;
}
table.charmap tr td {
  text-align: center;
}
 
.wd-editor-toolbar-panel li.hseparator {
  background: url('http://tibasicdev.wikidot.com/local--files/home/toolbar-separator.png');
  width: 22px;
  height: 22px;
  margin: 1px;
}
 
@media print {
 
#print-head,#page-info,
#license-area,#print-footer {
  display: none !important;
}
 
div#page-content:after {
  text-align: center;
  width: auto !important;
  display: block !important;
  margin: 2em 0 0;
  clear: both !important;
  padding-top: .5em;
  border-top: 1px solid #000;
  content: "TI-Basic Developer © 2006-2009 — \"A wiki for the TI-Basic beginner and advanced alike!\"";
}
}
 
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
 
</style>
 
    <link rel="shortcut icon" href="/local--favicon/favicon.gif"/>
    <link rel="icon" type="image/gif" href="/local--favicon/favicon.gif"/>
 
            <link rel="alternate" type="application/wiki" title="Edit this page!" href="javascript:WIKIDOT.page.listeners.editClick()"/>
 
<script type="text/javascript" src="http://static.wikidot.com/v--33/common--modules/js/misc/NewPageHelperModule.js"></script></head>
 
<body id="html-body">
 
    <div id="container-wrap">
        <div id="container">
              <div id="header">
                  <h1><a href="http://tibasicdev.wikidot.com/"><span>TI-Basic Developer</span></a></h1>
                                        <h2><span>The TI-Basic Information Repository</span></h2>
 
                  <!-- google_ad_section_start(weight=ignore) -->
 
                  <div id="search-top-box">
                      <form id="search-top-box-form" action="dummy">
                          <input id="search-top-box-input" class="text empty" type="text" size="15" name="query" value="search this site" onfocus="if(YAHOO.util.Dom.hasClass(this, 'empty')){YAHOO.util.Dom.removeClass(this,'empty'); this.value='';}"/><input class="button" type="submit" name="search" value="search"/>
                     </form>
                  </div>
 
                                        <div id="top-bar">
 
<ul><li>Membership
<ul><li><a href="http://tibasicdev.wikidot.com/first-visit">First Time Visitor?</a></li><li><a href="http://tibasicdev.wikidot.com/conduct">Code of Conduct</a></li><li><a href="http://tibasicdev.wikidot.com/system:members">Site Members</a></li><li><a href="http://tibasicdev.wikidot.com/system:join">Become a Member</a></li><li><a href="http://tibasicdev.wikidot.com/system:invite">Invite a Friend</a></li></ul></li><li>Editing Pages
<ul><li><a href="http://tibasicdev.wikidot.com/guide-to-editing">Guide to Editing</a></li><li><a href="http://tibasicdev.wikidot.com/conventions">Wiki Conventions</a></li><li><a href="http://www.wikidot.com/doc:wiki-syntax">Wiki Syntax</a></li><li><a href="http://tibasicdev.wikidot.com/to-do">To-Do List</a></li><li><a class="wiki-standalone-button" href="javascript:;" onclick="WIKIDOT.page.listeners.viewSourceClick(event)">View Page Source</a></li><li><a href="http://tibasicdev.wikidot.com/system:recent-changes">Recent Changes</a></li><li><a href="http://tibasicdev.wikidot.com/admin:manage">Site Manager</a></li></ul></li><li>Site Information
<ul><li><a href="http://tibasicdev.wikidot.com/about">Site History</a></li><li><a href="http://tibasicdev.wikidot.com/logo">Site Logo</a></li><li><a href="http://tibasicdev.wikidot.com/all-news">News Archive</a></li><li><a href="http://tibasicdev.wikidot.com/news">83 News</a></li><li><a href="http://tibasicdev.wikidot.com/68k:news">68k News</a></li><li><a href="http://tibasicdev.wikidot.com/announcements">Announcements</a></li></ul></li><li>Related Sites
<ul><li><a href="http://www.ticalc.org" onclick="window.open(this.href, '_blank'); return false;">ticalc.org</a></li><li><a href="http://www.unitedti.org" onclick="window.open(this.href, '_blank'); return false;">United-TI</a></li><li><a href="http://www.tifreakware.net/" onclick="window.open(this.href, '_blank'); return false;">TI-Freakware</a></li><li><a href="http://www.maxcoderz.org" onclick="window.open(this.href, '_blank'); return false;">MaxCoderz</a></li><li><a href="http://www.bgo.netfirms.com" onclick="window.open(this.href, '_blank'); return false;">BASIC Guru</a></li><li><a href="http://www.education.ti.com" onclick="window.open(this.href, '_blank'); return false;">Texas Instruments</a></li><li><a href="http://www.omnimaga.org" onclick="window.open(this.href, '_blank'); return false;">Omnimaga</a></li></ul></li></ul>
 
                      </div>
                                    <div id="login-status"><span class="printuser"><a href="http://www.wikidot.com/user:info/james-kanjo" onclick="WIKIDOT.page.listeners.userInfo(35113); return false;" ><!--[if gte IE 7]><!--><img class="small" src="/common--images/avatars/35/35113/a16.png" alt="avatar"  style="background-image:url(http://www.wikidot.com/userkarma.php?u=35113)"/><!--<![endif]--><!--[if lt IE 7]><img class="small" src="/common&#45;&#45;images/avatars/35/35113/a16.png" alt="avatar"  style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=http://www.wikidot.com/userkarma.php?u=35113,sizingMethod='scale')"/><![endif]--></a>James Kanjo</span> | <a href="http://www.wikidot.com/account:you">my account</a><a  id="account-topbutton" href="javascript:;">&nabla;</a><div id="account-options"><ul><li><a href="http://www.wikidot.com/account:you">account summary</a></li><li><a href="http://www.wikidot.com/account:you/start/messages">private messages</a></li><li><a href="http://www.wikidot.com/account:you/start/contacts">my contacts</a></li><li><a href="http://www.wikidot.com/account:you/start/notifications">notifications</a></li><li><a href="http://www.wikidot.com/account:you/start/watching">watching</a></li><li><a href="javascript:;" onclick="WIKIDOT.page.listeners.logoutClick(event)">logout</a></li></ul></div></div>
                  <div id="header-extra-div-1"><span></span></div><div id="header-extra-div-2"><span></span></div><div id="header-extra-div-3"><span></span></div>
              </div>
 
            <div id="content-wrap">
                                    <div id="side-bar">
 
<div class="top"><ul><li><strong><a href="http://tibasicdev.wikidot.com/home">TI-83 Basic Home</a></strong></li><li><a href="http://tibasicdev.wikidot.com/68k:home">68k TI-Basic Home</a></li><li><a href="http://tibasicdev.wikidot.com/nspire">TI-Nspire Basic Page</a></li><li><a href="http://tibasicdev.wikidot.com/archives">Program Archives</a></li><li><a href="http://tibasicdev.wikidot.com/forum:home">Discussion Forums</a></li></ul></div><p><span style="font-size:large;">Preparation</span></p><ul><li><a href="http://tibasicdev.wikidot.com/thecalcs">The Calculators</a></li><li><a href="http://tibasicdev.wikidot.com/whytibasic">Why TI-Basic?</a></li><li><a href="http://tibasicdev.wikidot.com/using-this-guide">Using This Guide</a></li><li><a href="http://tibasicdev.wikidot.com/starter-kit">TI-Basic Starter Kit</a></li><li><a href="http://tibasicdev.wikidot.com/faq">TI-Basic FAQ</a></li></ul><p><span style="font-size:large;">Main Content</span></p><div class="special-collapsible"><div class="collapsible-block"><div class="collapsible-block-folded"><a class="collapsible-block-link" href="javascript:;" onclick="WIKIDOT.page.listeners.toggleCollapsibleBlock(event, true)">Commands</a></div><div class="collapsible-block-unfolded" style="display:none"><div class="collapsible-block-unfolded-link"><a class="collapsible-block-link" href="javascript:;" onclick="WIKIDOT.page.listeners.toggleCollapsibleBlock(event, false)">Commands</a></div><div class="collapsible-block-content"><div class="list-pages-box">
 
<ul>
<li><a href="http://tibasicdev.wikidot.com/commands">Overview</a></li>
<li><a href="http://tibasicdev.wikidot.com/command-index">Command Index</a></li>
<li><a href="http://tibasicdev.wikidot.com/geometpdf">Random command!</a></li>
</ul>
 
    </div>
<ul><li><a href="http://tibasicdev.wikidot.com/homescreen">Home Screen</a></li><li><a href="http://tibasicdev.wikidot.com/graphscreen">Graph Screen</a></li><li><a href="http://tibasicdev.wikidot.com/math">Math Functions</a></li><li><a href="http://tibasicdev.wikidot.com/variables">Variables</a></li><li><a href="http://tibasicdev.wikidot.com/userinput">User Input</a></li><li><a href="http://tibasicdev.wikidot.com/operators">Operators</a></li><li><a href="http://tibasicdev.wikidot.com/linking">Calculator Linking</a></li><li><a href="http://tibasicdev.wikidot.com/controlflow">Controlling Flow</a></li></ul></div></div></div><div class="collapsible-block"><div class="collapsible-block-folded"><a class="collapsible-block-link" href="javascript:;" onclick="WIKIDOT.page.listeners.toggleCollapsibleBlock(event, true)">Development</a></div><div class="collapsible-block-unfolded" style="display:none"><div class="collapsible-block-unfolded-link"><a class="collapsible-block-link" href="javascript:;" onclick="WIKIDOT.page.listeners.toggleCollapsibleBlock(event, false)">Development</a></div><div class="collapsible-block-content"><ul><li><a href="http://tibasicdev.wikidot.com/development">Overview</a></li><li><a href="http://tibasicdev.wikidot.com/plan">Planning</a></li><li><a href="http://tibasicdev.wikidot.com/portability">Portability</a></li><li><a href="http://tibasicdev.wikidot.com/usability">Usability</a></li><li><a href="http://tibasicdev.wikidot.com/setup">Program Setup</a></li><li><a href="http://tibasicdev.wikidot.com/code-conventions">Code Conventions</a></li><li><a href="http://tibasicdev.wikidot.com/techniques">Techniques</a></li><li><a href="http://tibasicdev.wikidot.com/comments">Commenting Code</a></li><li><a href="http://tibasicdev.wikidot.com/subprograms">Subprograms</a></li><li><a href="http://tibasicdev.wikidot.com/cleanup">Program Cleanup</a></li><li><a href="http://tibasicdev.wikidot.com/debug">Debugging</a></li><li><a href="http://tibasicdev.wikidot.com/optimize">Optimization</a></li><li><a href="http://tibasicdev.wikidot.com/timings">Code Timings</a></li><li><a href="http://tibasicdev.wikidot.com/documentation">Writing Program Documentation</a></li><li><a href="http://tibasicdev.wikidot.com/marketing">Marketing</a></li><li><a href="http://tibasicdev.wikidot.com/releasing-your-program">Releasing Programs</a></li><li><a href="http://tibasicdev.wikidot.com/creating-new-program-versions">Creating New Program Versions</a></li></ul></div></div></div><div class="collapsible-block"><div class="collapsible-block-folded"><a class="collapsible-block-link" href="javascript:;" onclick="WIKIDOT.page.listeners.toggleCollapsibleBlock(event, true)">Techniques</a></div><div class="collapsible-block-unfolded" style="display:none"><div class="collapsible-block-unfolded-link"><a class="collapsible-block-link" href="javascript:;" onclick="WIKIDOT.page.listeners.toggleCollapsibleBlock(event, false)">Techniques</a></div><div class="collapsible-block-content"><ul><li><a href="http://tibasicdev.wikidot.com/techniques">Overview</a></li><li><a href="http://tibasicdev.wikidot.com/animation">Animation</a></li><li><a href="http://tibasicdev.wikidot.com/assembly">Assembly</a></li><li><a href="http://tibasicdev.wikidot.com/compression">Compression Techniques</a></li><li><a href="http://tibasicdev.wikidot.com/cryptography">Cryptography</a></li><li><a href="http://tibasicdev.wikidot.com/custommenus">Custom Menus</a></li><li><a href="http://tibasicdev.wikidot.com/custominput">Custom Text Input</a></li><li><a href="http://tibasicdev.wikidot.com/easy-map-making">Easy Map Making</a></li><li><a href="http://tibasicdev.wikidot.com/friendly-window">Friendly Graphing Window</a></li><li><a href="http://tibasicdev.wikidot.com/graphics">Graphics</a></li><li><a href="http://tibasicdev.wikidot.com/grouping">Grouping A Program</a></li><li><a href="http://tibasicdev.wikidot.com/highscores">Highscores</a></li><li><a href="http://tibasicdev.wikidot.com/lookuptables">Look-Up Tables</a></li><li><a href="http://tibasicdev.wikidot.com/maps">Making Maps</a></li><li><a href="http://tibasicdev.wikidot.com/movement">Movement in Maps</a></li><li><a href="http://tibasicdev.wikidot.com/multiplayer">Multiplayer</a></li><li><a href="http://tibasicdev.wikidot.com/piecewise-expressions">Piecewise Expressions</a></li><li><a href="http://tibasicdev.wikidot.com/protection">Program Protection</a></li><li><a href="http://tibasicdev.wikidot.com/recursion">Recursion</a></li><li><a href="http://tibasicdev.wikidot.com/saving">Saving</a></li><li><a href="http://tibasicdev.wikidot.com/selfmodify">Self-Modifying Code (SMC)</a></li><li><a href="http://tibasicdev.wikidot.com/subprograms">Subprograms</a></li><li><a href="http://tibasicdev.wikidot.com/validation">Validation of User Input</a></li></ul></div></div></div><div class="collapsible-block"><div class="collapsible-block-folded"><a class="collapsible-block-link" href="javascript:;" onclick="WIKIDOT.page.listeners.toggleCollapsibleBlock(event, true)">Miscellaneous</a></div><div class="collapsible-block-unfolded" style="display:none"><div class="collapsible-block-unfolded-link"><a class="collapsible-block-link" href="javascript:;" onclick="WIKIDOT.page.listeners.toggleCollapsibleBlock(event, false)">Miscellaneous</a></div><div class="collapsible-block-content"><ul><li><a href="http://tibasicdev.wikidot.com/experiment">Experiment</a></li><li><a href="http://tibasicdev.wikidot.com/programs-h">Programs</a></li><li><a href="http://tibasicdev.wikidot.com/sitemap">Sitemap</a></li></ul></div></div></div></div><div style="height: 5px;"></div><p><span style="font-size:large;">References</span></p><ul><li><a href="http://tibasicdev.wikidot.com/resources">Resources</a></li><li><a href="http://tibasicdev.wikidot.com/downloads">Downloads</a></li><li><a href="http://tibasicdev.wikidot.com/showcases">Showcases</a></li><li><a href="http://tibasicdev.wikidot.com/sidebar">Sidebar</a></li><li><a href="http://tibasicdev.wikidot.com/tokens">Token Size</a></li><li><a href="http://tibasicdev.wikidot.com/textsprites">Text Sprites</a></li><li><a href="http://tibasicdev.wikidot.com/binandhex">Binary &amp; Hex</a></li><li><a href="http://tibasicdev.wikidot.com/83lgfont">TI-83+ Font</a></li><li><a href="http://tibasicdev.wikidot.com/errors">Error Conditions</a></li><li><a href="http://tibasicdev.wikidot.com/file-extensions">File Extensions</a></li><li><a href="http://tibasicdev.wikidot.com/key-codes">Key Codes</a></li><li><a href="http://tibasicdev.wikidot.com/abbreviations">Abbreviations</a></li><li><a href="http://tibasicdev.wikidot.com/glossary">Glossary</a></li></ul><div class="collapsible-block"><div class="collapsible-block-folded"><span style="font-size:large;"><a class="collapsible-block-link" href="javascript:;" onclick="WIKIDOT.page.listeners.toggleCollapsibleBlock(event, true)">+&nbsp;Add&nbsp;Page</a></span></div><div class="collapsible-block-unfolded" style="display:none"><div class="collapsible-block-unfolded-link"><span style="font-size:large;"><a class="collapsible-block-link" href="javascript:;" onclick="WIKIDOT.page.listeners.toggleCollapsibleBlock(event, false)">-&nbsp;Add&nbsp;Page</a></span></div><div class="collapsible-block-content"><div style="text-align: center">
    <form action="about:blank">
        <select class="select" id="themePreviewerSelect"
            onchange="window.location.href=window.location.href.replace(/\?.*$/, '').replace(/(\/theme_id\/[0-9]+)|$/, '/theme_id/'+$('themePreviewerSelect').value);">
                            <option  value="6651">Basic</option>
                            <option  value="6650">Bloo - no side bar</option>
                            <option  value="25">Cappuccino</option>
                            <option  value="26">Cappuccino - side bar on right</option>
                            <option  value="2">Clean</option>
                            <option  value="3">Clean - no side bar</option>
                            <option  value="56">Co</option>
                            <option  value="121">Co - no side bar</option>
                            <option  value="5">Flannel</option>
                            <option  value="9">Flannel Nature</option>
                            <option  value="10">Flannel Nature - no side bar</option>
                            <option  value="6">Flannel - no side bar</option>
                            <option  value="7">Flannel Ocean</option>
                            <option  value="8">Flannel Ocean - no side bar</option>
                            <option  value="57">Flower Blossom</option>
                            <option  value="75">Flower Blossom - no side bar</option>
                            <option  value="54">Gila</option>
                            <option  value="55">Gila - no side bar</option>
                            <option  value="58">Localize</option>
                            <option  value="59">Localize - no side bar</option>
                            <option  value="2439">Shiny</option>
                            <option  value="2440">Shiny - no side bar</option>
                            <option  value="2437">Webbish</option>
                            <option  value="2438">Webbish - no side bar</option>
                            <option  value="122">Webbish (older)</option>
                            <option  value="123">Webbish (older) - no side bar</option>
                            <option  value="6258">Bloo</option>
                            <option  value="12513">Blank</option>
                            <option  value="12806">Empty Page</option>
                            <option  value="4029">Forum Side</option>
                            <option selected="selected" value="12519">New TI|BD by JK</option>
                            <option  value="12783">New TI|BD by JK 2</option>
                            <option  value="3741">Portal</option>
                            <option  value="11812">Portal (Hide hidden class)</option>
                            <option  value="49">Pretty Print</option>
                            <option  value="9368">Pretty Print (Forum)</option>
                    </select>
 
    </form>
</div>
 
<div class="new-page-box" style="text-align: center; margin: 1em 0">
    <form action="dummy.html" method="get" onsubmit="WIKIDOT.modules.NewPageHelperModule.listeners.create(event)">
        <input class="text" name="pageName" type="text" size="18" maxlength="60" style="margin: 1px"/><input type="submit" class="button" value="new page" style="margin: 1px"/>
 
    </form>
</div>
</div></div></div><div style="text-align:center;"><p><script type="text/javascript">
//<![CDATA[
var sc_project=2373092; 
var sc_invisible=0; 
var sc_partition=22; 
var sc_security="d8087415"; 
//]]></script><script type="text/javascript" src="http://www.statcounter.com/counter/counter_xhtml.js"></script><noscript><div class="statcounter"><a class="statcounter" href="http://www.statcounter.com/"><img class="statcounter" src="http://c23.statcounter.com/2373092/0/d8087415/0/" alt="counter free hit unique web" /></a></div></noscript></p></div>
 
                    </div>
 
                <!-- google_ad_section_end -->
 
                <div id="main-content">
                    <div id="action-area-top"></div>
 
                    <!-- google_ad_section_start -->
 
                                        <div id="page-title">
                    The Calculators                    </div>
 
                    <div id="page-content">
 
<p>This section is concerned with the TI-83 family of graphing calculators, which all use the same base processor chip — a Zilog Z80. There are five different calculators that are within this group: TI-83, TI-83+, TI-83+SE, TI-84+, and TI-84+SE. Each of these calculators has their own features and unique qualities.</p>
<table style="margin:0; padding:0">
<tr>
<td style="margin:0; padding:0">
<div id="toc">
<div id="toc-action-bar"><a href="javascript:;" onclick="WIKIDOT.page.listeners.foldToc(event)">fold</a><a style="display: none" href="javascript:;" onclick="WIKIDOT.page.listeners.unfoldToc(event)">unfold</a></div>
<div class="title">Table of Contents</div>
<div id="toc-list">
<div style="margin-left: 1em;"><a href="#toc0">The TI-83 Calculator</a></div>
<div style="margin-left: 1em;"><a href="#toc1">The TI-83+ Calculator</a></div>
<div style="margin-left: 1em;"><a href="#toc2">The TI-83+SE Calculator</a></div>
<div style="margin-left: 1em;"><a href="#toc3">The TI-84+ Calculator</a></div>
<div style="margin-left: 1em;"><a href="#toc4">The TI-84+SE Calculator</a></div>
<div style="margin-left: 1em;"><a href="#toc5">Calculator Comparison</a></div>
<div style="margin-left: 1em;"><a href="#toc6">Known ROM Versions</a></div>
<div style="margin-left: 1em;"><a href="#toc7">Pre-Loaded Applications</a></div>
</div>
</div>
</td>
</tr>
</table>
<h1 id="toc0"><span>The TI-83 Calculator</span></h1>
<table style="width:100%;">
<tr>
<td style="vertical-align:top;"><img src="/local--files/thecalcs/ti83.png" alt="ti83.png" class="image" /></td>
<td style="vertical-align:top; padding-left:10px;">The TI-83 is the oldest calculator in the group, being released back in 1996. It is designed to be an upgrade from the TI-82, featuring a sleeker case design, more memory (27K bytes of RAM), and a faster processor (6MHz). It kept some of the features the same as the TI-82, such as the screen size and being powered by 4 AAA batteries, to allow for backwards compatibility with the TI-82.
<p>This means that while some of the TI-Basic commands on the TI-83 have a different syntax, at the core the TI-83 can execute the TI-82's TI-Basic programs. Some of the differences between TI-Basic for each calculator are how math is interpreted (implied multiplication versus regular multiplication) and commands that have an opening parentheses attached to the end of them (such as the trigonometry commands). When it comes to assembly programs, however, the TI-83 cannot execute the TI-82's assembly programs without some modification because of the processor upgrade.</p>
</td>
</tr>
</table>
<h1 id="toc1"><span>The TI-83+ Calculator</span></h1>
<table style="width:100%;">
<tr>
<td style="vertical-align:top;"><img src="/local--files/thecalcs/ti83plus.png" alt="ti83plus.png" class="image" /></td>
<td style="vertical-align:top; padding-left:10px;">The TI-83+ was released in 1999, and it was meant as an upgrade from the TI-83 with more memory and a faster processor. At the same time, it kept several features of the TI-83 to maintain backwards compatibility: the case design, the screen size (16x8 home screen and 96x64 graph screen), and the link port. There are some major differences, however.
<p>The TI-83+ cannot run assembly programs made for the TI-83 because it uses a different format: there are three built-in commands (<a href="http://tibasicdev.wikidot.com/asmprgm">AsmPrgm</a>, <a href="http://tibasicdev.wikidot.com/asmcomp">AsmComp(</a> and <a href="http://tibasicdev.wikidot.com/asm-command">Asm(</a>) used for running assembly programs, while the TI-83 has no such commands. While the TI-83 uses a 6MHz processor, the TI-83 Plus uses a speedier 8MHz processor. It should be noted, however, that the TI-83+ only runs at the 6MHz speed unless altered by an assembly program.</p>
<p>The TI-83 comes with 24K bytes of available memory built-in, while the TI-83+ comes with 184K bytes of available memory: 24K bytes are RAM and 160K bytes are archive memory, or more commonly called "Flash" memory. Archive memory allows you to store data, programs, applications, or any other variables to a safe location where they cannot be edited or deleted inadvertently from a RAM crash. This creates a compatibility issue with TI-83 TI-Basic, however, because of the use of the <a href="http://tibasicdev.wikidot.com/archive">Archive</a> and <a href="http://tibasicdev.wikidot.com/unarchive">UnArchive</a> commands that are on the TI-83+.</p>
</td>
</tr>
</table>
<h1 id="toc2"><span>The TI-83+SE Calculator</span></h1>
<table style="width:100%;">
<tr>
<td style="vertical-align:top;"><img src="/local--files/thecalcs/ti83plus_se.png" alt="ti83plus_se.png" class="image" /></td>
<td style="vertical-align:top; padding-left:10px;">The TI-83+SE (short for <em>S</em>ilver <em>E</em>dition) was the next calculator upgrade in the group. When it was released by TI in 2001, it became instantly popular because of its unique look and increased memory and speed. However, TI has since decided to stop production of it and focus on the TI-84+SE calculator instead. The TI-83+SE has now become somewhat of a collector's item.
<p>After seeing the success of the TI-83 calculator series, TI decided to give their next TI-83 series calculator a unique look to set it apart from the other TI-83 calculators. The TI-83+SE calculator look consists of a transparent silver case with silver sparkles sprinkled throughout. What really made the calculator shine, though, was that the transparent case allowed you to see what the internals of the calculator looked like without even having to open up the calculator.</p>
<p>In addition to the unique look, TI also decided to upgrade the memory and speed. While maintaining almost complete backward compatibility, the TI-83+SE features 128K bytes of RAM and 1.5M bytes of archive memory. It should be noted, however, that only 24K bytes of RAM are available to TI-Basic programmers (you need to use assembly to access all 128K bytes). The TI-83+SE uses a 15MHz processor, but it can also be made to run at the 8MHz and 6MHz speeds through assembly.</p>
</td>
</tr>
</table>
<h1 id="toc3"><span>The TI-84+ Calculator</span></h1>
<table style="width:100%;">
<tr>
<td style="vertical-align:top;"><img src="/local--files/thecalcs/ti84plus.png" alt="ti84plus.png" class="image" /></td>
<td style="vertical-align:top; padding-left:10px;">The TI-84+ was released in 2004, and it was meant to be an upgrade of the TI-83+. The TI-84+ introduces a couple new things to the TI-83 calculator series: a built-in clock and a mini USB link port. The built-in clock can be used in TI-Basic by using the new <a href="http://tibasicdev.wikidot.com/time-and-date">clock</a> commands that go with it, while the mini USB link port greatly increases the speed of linking the calculator to a computer.
<p>The TI-84+ also improves upon the TI-83+ in terms of memory and speed: 24K bytes of RAM and 480K bytes of archive memory; and a 15MHz processor (the same one that the TI-83+SE has). The most obvious change that the TI-84+ brings is a completely new case design. Gone are the slightly rounded edges and appearance; in its place is an almost circular look from the front, with the edges smoothly flowing around to the back of the calculator.</p>
</td>
</tr>
</table>
<h1 id="toc4"><span>The TI-84+SE Calculator</span></h1>
<table style="width:100%;">
<tr>
<td style="vertical-align:top;"><img src="/local--files/thecalcs/ti84plus_se.png" alt="ti84plus_se.png" class="image" /></td>
<td style="vertical-align:top; padding-left:10px;">The TI-84+SE was released along with the TI-84+ in 2004, kind of like a TI-83 calculator series package upgrade. The TI-84+SE was meant to be an upgrade of the TI-83+SE, and it includes the same upgrades that the TI-84+ got. The two new innovations that the TI-84+SE introduces are: interchangeable faceplates and a kickstand; these things are basically optional add-ons for your calculator.
<p>The interchangeable faceplate can be useful if you want to change the front look of your calculator. You simply purchase a different faceplate and swap it with the current faceplate. The calculator's initial faceplate is a light gray/silver. The kickstand is built into the calculator lid, and it allows you to set the calculator to four different viewing angles. Concerning memory and speed, the TI-84+SE has the same amount of memory and speed as the TI-83+SE.</p>
</td>
</tr>
</table>
<h1 id="toc5"><span>Calculator Comparison</span></h1>
<table class="wiki-content-table">
<tr>
<th>Model</th>
<th>Processor</th>
<th>RAM</th>
<th>ROM</th>
<th>Screen Size</th>
<th>Link Port</th>
<th>Clock</th>
<th>Release Date</th>
</tr>
<tr>
<td style="text-align: center;">TI-83</td>
<td style="text-align: center;">6&nbsp;MHz</td>
<td style="text-align: center;">27&nbsp;KB</td>
<td style="text-align: center;">None</td>
<td style="text-align: center;">96x64</td>
<td style="text-align: center;">I/O</td>
<td style="text-align: center;">No</td>
<td style="text-align: center;">1996</td>
</tr>
<tr>
<td style="text-align: center;">TI-83+</td>
<td style="text-align: center;">6&nbsp;MHz</td>
<td style="text-align: center;">24&nbsp;KB</td>
<td style="text-align: center;">160&nbsp;KB</td>
<td style="text-align: center;">96x64</td>
<td style="text-align: center;">I/O</td>
<td style="text-align: center;">No</td>
<td style="text-align: center;">1999</td>
</tr>
<tr>
<td style="text-align: center;">TI-83+SE</td>
<td style="text-align: center;">15&nbsp;MHz</td>
<td style="text-align: center;">24KB (128&nbsp;KB)</td>
<td style="text-align: center;">1.5&nbsp;MB</td>
<td style="text-align: center;">96x64</td>
<td style="text-align: center;">I/O</td>
<td style="text-align: center;">No</td>
<td style="text-align: center;">2001</td>
</tr>
<tr>
<td style="text-align: center;">TI-84+</td>
<td style="text-align: center;">15&nbsp;MHz</td>
<td style="text-align: center;">24&nbsp;KB</td>
<td style="text-align: center;">480&nbsp;KB</td>
<td style="text-align: center;">96x64</td>
<td style="text-align: center;">I/O+USB</td>
<td style="text-align: center;">Yes</td>
<td style="text-align: center;">2004</td>
</tr>
<tr>
<td style="text-align: center;">TI-84+SE</td>
<td style="text-align: center;">15&nbsp;MHz</td>
<td style="text-align: center;">24KB (128&nbsp;KB)</td>
<td style="text-align: center;">1.5&nbsp;MB</td>
<td style="text-align: center;">96x64</td>
<td style="text-align: center;">I/O+USB</td>
<td style="text-align: center;">Yes</td>
<td style="text-align: center;">2004</td>
</tr>
</table>
<h1 id="toc6"><span>Known ROM Versions</span></h1>
<p>TI occasionally releases updates to the ROM version for each calculator, which either fix existing bugs, improve calculator performance, or add new commands and functionality. You can check the ROM version on your calculator by selecting the About option in the Memory menu, which is accessible by pressing 2nd MEM. See <a href="http://tibasicdev.wikidot.com/portability">portability</a> for a list of changes in functionality between the OS versions.</p>
<table class="wiki-content-table">
<tr>
<th>Model</th>
<th>Known ROM Versions</th>
</tr>
<tr>
<td style="text-align: center;">TI-83</td>
<td style="text-align: center;">1.02, 1.03, 1.04, 1.06, 1.07, 1.08, 1.10</td>
</tr>
<tr>
<td style="text-align: center;">TI-83+</td>
<td style="text-align: center;">1.03, 1.06, 1.08, 1.10, 1.12, 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19</td>
</tr>
<tr>
<td style="text-align: center;">TI-83+SE</td>
<td style="text-align: center;">1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19</td>
</tr>
<tr>
<td style="text-align: center;">TI-84+</td>
<td style="text-align: center;">2.21, 2.22, 2.30, 2.40, 2.41, 2.43</td>
</tr>
<tr>
<td style="text-align: center;">TI-84+SE</td>
<td style="text-align: center;">2.21, 2.22, 2.30, 2.40, 2.41, 2.43</td>
</tr>
</table>
<h1 id="toc7"><span>Pre-Loaded Applications</span></h1>
<p>Except for the TI-83 which has no Flash ROM, all of the other TI-83 series of calculators come with some pre-loaded applications for users to use. Since most of the applications are rather limited in use and scope, not to mention that they each take up 16K bytes or more of memory, most people end up deleting them off of their calculator to allow them to fit more programs and games. If you want to put them back on your calculator again, you can find them all on <a href="http://education.ti.com" onclick="window.open(this.href, '_blank'); return false;">TI's website</a>.</p>
<table class="wiki-content-table">
<tr>
<th>Model</th>
<th>Pre-Loaded Applications</th>
</tr>
<tr>
<td style="text-align: center;">TI-83+</td>
<td style="text-align: center;">Language Localization, Probability Simulation, Science Tools, StudyCards, Vernier EasyData</td>
</tr>
<tr>
<td style="text-align: center;">TI-83+SE</td>
<td style="text-align: center;">CellSheet, GeoMaster, Language Localization, Organizer, Periodic Table, StudyCards</td>
</tr>
<tr>
<td style="text-align: center;">TI-84+</td>
<td style="text-align: center;">Cabri Jr., Conic Graphing, Inequality Graphing, Language Localization, LearningCheck, LogIn, Probability Simulation, Science Tools, StudyCards, TI CBL/CBR, TImeSpan, Topics in Algebra 1, Transformation Graphing, Vernier EasyData</td>
</tr>
<tr>
<td style="text-align: center;">TI-84+SE</td>
<td style="text-align: center;">app4math, Area Formulas, Cabri Jr., Catalog Help, CellSheet, Conic Graphing, Fundamental Topics in Science, GeoMaster, Inequality Graphing, Language Localization, LearningCheck, LogIn, NoteFolio, Organizer, Periodic Table, Polynomial Root Finder and Simultaneous Equation Solver, Probability Simulation, Puzzle Pack, Science Tools, Start-Up Customization, StudyCards, TI CBL/CBR, TImeSpan, Topics in Algebra 1, Transformation Graphing, Vernier EasyData</td>
</tr>
</table>
<div style="display : none;">
<p>.</p>
</div>
 
                    </div>
 
                                            <div class="page-tags">
                            <span>
                                page tags:
                                                                    <a href="http://tibasicdev.wikidot.com/system:page-tags/tag/_preparation1#pages">_preparation1</a>
                                                            </span>
                        </div>
 
                    <!-- google_ad_section_end -->
 
                    <!-- google_ad_section_start(weight=ignore) -->
 
                    <div style="clear:both; height:1px; font-size:1px;"></div>
                                                                    <div id="page-info">page_revision: 55, last_edited: <span class="odate">1238804012|%e %b %Y, %H:%M %Z (%O ago)</span></div><div class="page-watch-options">            Start watching:
        <a href="javascript:;"
            onclick="WIKIDOT.page.listeners.awatch(event, 'site')"
        >site tibasicdev.wikidot.com</a>
        |
        <a href="javascript:;"
            onclick="WIKIDOT.page.listeners.awatch(event, 'category')"
        >category _default</a> 
        | 
        <a href="javascript:;"
            onclick="WIKIDOT.page.listeners.awatch(event, 'page')"
        >this page</a>
 
    [<a href="http://www.wikidot.com/faq:watching" target="_blank">?</a>]
</div>
<div id="page-options-bottom"  class="page-options-bottom">
    <a href="javascript:;" id="edit-button">edit</a><a href="javascript:;" id="tags-button">tags</a><a href="http://tibasicdev.wikidot.com/forum/t-3681/thecalcs"  id="discuss-button">discuss (#)</a>
    <a href="javascript:;" id="history-button">history</a> 
    <a href="javascript:;" id="files-button">files</a> <a href="javascript:;" id="print-button">print</a> <a href="javascript:;" id="site-tools-button">site tools</a><a href="javascript:;" id="more-options-button">+&nbsp;options</a> 
</div>
<div id="page-options-bottom-2" class="page-options-bottom" style="display:none">
    <a href="javascript:;" id="edit-sections-button">edit sections</a>
    <a href="javascript:;" id="edit-append-button">append</a>
 
    <a href="javascript:;" id="backlinks-button">backlinks</a> 
    <a href="javascript:;" id="view-source-button">view source</a> 
    <a href="javascript:;" id="parent-page-button">parent</a> 
    <a href="javascript:;" id="page-block-button">block</a>     
    <a href="javascript:;" id="rename-move-button">rename</a> 
    <a href="javascript:;" id="delete-button">delete</a> 
</div>
<div id="page-options-area-bottom">
</div>
 
                    <div id="action-area" style="display: none"></div>
                </div>
            </div>
 
             <div id="footer" style="display: block; visibility: visible;">
                                      <div class="options" style="display: block; visibility: visible;">
                         <a href="http://www.wikidot.com/doc" id="wikidot-help-button">
                             help                         </a>
                         |
                         <a href="http://www.wikidot.com/legal:terms-of-service"   id="wikidot-tos-button">
                             terms of service                         </a>
                         |
                         <a href="http://www.wikidot.com/legal:privacy-policy"   id="wikidot-privacy-button">
                             privacy                         </a>
                         |
                         <a href="javascript:;" id="bug-report-button" 
                             onclick="WIKIDOT.page.listeners.pageBugReport(event)">
                             report a bug                         </a>
                         |
                         <a href="javascript:;" id="abuse-report-button" 
                             onclick="WIKIDOT.page.listeners.flagPageObjectionable(event)">
                             flag as objectionable                         </a>
                     </div>
                                              Hosted by <a href="http://www.wikidot.com">Wikidot.com</a> &#8212; 
                                                      <a href="http://www.wikidot.com/new-site">get your free wiki now!</a>
                                                                                                 </div>
                              <div id="license-area" class="license-area">
                                             Unless stated otherwise Content of this page is licensed under <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License</a>
                                                        </div>
 
            <div id="extrac-div-1"><span></span></div><div id="extrac-div-2"><span></span></div><div id="extrac-div-3"><span></span></div>
 
                     </div>
     </div>
 
     <!-- These extra divs/spans may be used as catch-alls to add extra imagery. -->
    <div id="extra-div-1"><span></span></div><div id="extra-div-2"><span></span></div><div id="extra-div-3"><span></span></div>
    <div id="extra-div-4"><span></span></div><div id="extra-div-5"><span></span></div><div id="extra-div-6"><span></span></div>
 
     <div id="page-options-bottom-tips" style="display: none">
         <div id="edit-button-hovertip">
             Click here to edit contents of this page.         </div>
     </div>
     <div id="page-options-bottom-2-tips"  style="display: none">
         <div id="edit-sections-button-hovertip">
             Click here to toggle editing of individual sections of the page (if possible).
             Watch headings for an "edit" link when available.         </div>
         <div id="edit-append-button-hovertip">
             Append content without editing the whole page source.         </div>
         <div id="history-button-hovertip">
             Check out how this page has evolved in the past.         </div>
         <div id="discuss-button-hovertip">
             If you want to discuss contents of this page - this is the easiest way to do it.         </div>
         <div id="files-button-hovertip">
             View and manage file attachments for this page.         </div>
         <div id="site-tools-button-hovertip">
             A few useful tools to manage this Site.         </div>
         <div id="backlinks-button-hovertip">
                 See pages that link to and include this page.         </div>
         <div id="rename-move-button-hovertip">
             Change the name (also URL address, possibly the category) of the page.         </div>
         <div id="view-source-button-hovertip">
             View wiki source for this page without editing.         </div>
         <div id="parent-page-button-hovertip">    
             View/set parent page (used for creating breadcrumbs and structured layout).         </div>
                      <div id="abuse-report-button-hovertip">
                     Notify administrators if there is objectionable content in this page.             </div>
             <div id="bug-report-button-hovertip">
                Something does not work as expected? Find out what you can do.             </div>
             <div id="wikidot-help-button-hovertip">
                 General Wikidot.com documentation and help section.             </div>
             <div id="wikidot-tos-button-hovertip">
                 Wikidot.com Terms of Service - what you can, what you should not etc.             </div>
             <div id="wikidot-privacy-button-hovertip">
                     Wikidot.com Privacy Policy.             
             </div>
              </div>
 
     <!-- google_ad_section_end -->
 
     <div id="account-notifications-dummy" style="display:none"></div>
 
     <div style="display:none" id="dummy-ondomready-block"></div>
 
            <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>
        <script type="text/javascript">
            _uacct = "UA-5568715-1";
                        urchinTracker();
        </script>
 
    <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>
    <script type="text/javascript">
        _uff = false;
        _uacct = "UA-68540-5";
        _udn="wikidot.com"; 
        urchinTracker();
    </script>
 
<!-- Start Quantcast tag -->
<script type="text/javascript">
_qoptions={
qacct:"p-edL3gsnUjJzw-"
};
</script>
<script type="text/javascript" src="http://edge.quantserve.com/quant.js"></script>
<noscript>
<img src="http://pixel.quantserve.com/pixel/p-edL3gsnUjJzw-.gif" style="display: none;" border="0" height="1" width="1" alt="Quantcast"/>
</noscript>
<!-- End Quantcast tag -->
 
      </body>
 
</html>

Scroll DOWN to locate CSS:

<!DOCTYPE html 
     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 
<head>
     <title>TI-Basic Developer: The Calculators</title>
 
              <script type="text/javascript" src="http://static.wikidot.com/v--33/common--javascript/init.combined.js"></script>
     <script  type="text/javascript">
         // global request information
 
         var WIKIREQUEST = {};
         WIKIREQUEST.info = {};
 
         WIKIREQUEST.info.domain = "tibasicdev.wikidot.com";
         WIKIREQUEST.info.siteId = 405;
         WIKIREQUEST.info.categoryId = 2265;
         WIKIREQUEST.info.themeId = 49;
         WIKIREQUEST.info.requestPageName = "thecalcs";
         OZONE.request.timestamp = 1241040762;
         OZONE.request.date = new Date();
         WIKIREQUEST.info.lang = 'en';
                  WIKIREQUEST.info.pageUnixName = "thecalcs";
         WIKIREQUEST.info.pageId = 14764;
                  WIKIREQUEST.info.lang = "en";
         OZONE.lang = "en";
//         window.onload = WikidotInit();
     </script>
 
     <meta http-equiv="content-type" content="text/html;charset=UTF-8"/>
             <meta http-equiv="content-language" content="en"/>
         <script type="text/javascript" src="http://static.wikidot.com/v--33/common--javascript/WIKIDOT.combined.js"></script>
 
    <style type="text/css" id="internal-style"> 
 @import url(http://static.wikidot.com/v--33/common--modules/css/monetize/textlinkads/MonetizeTextLinkAdsModule.css);
 
                          @import url(http://static.wikidot.com/v--33/common--theme/base/css/style.css?0);
@import url(http://static.wikidot.com/v--42/common--theme/co/css/style.css?0);
 
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
/* START CSS BELOW  */
 
.code {
font-size: 105%;
}
 
.hidden-collapsible .collapsible-block-link {
    text-decoration:none;
}
 
.menu .show {
    display: none;
    z-index: 9;
}
 
.default .show {
    display: block;
    z-index: 8;
}
 
.menu:hover .show {
    display: block;
}
 
.infobox{
    color: #FFFFFF;
}
 
.infobox a{
    color: #FFFFFF;
}
 
.blink, .blink a {
    text-decoration: blink;
}
 
#header {
    background-color: #281720;
    min-width: 800px;
    width:expression(document.body.clientWidth < 800? "800px" : "auto");
}
#header h1 {
  padding: 0;
  margin: 0;
  width: 800px; //735px; //789px;
  height: 69px;
  background: #281720;
  background-image: url(http://tibasicdev.wikidot.com/local--files/logo/Logo10B.PNG);
}
#header h1 a {
  padding: 0;
  margin: 0 320px 0 8px;
  width: 472px; //721px; //735px; //789px;
  height: 69px;
  display: block;
}
#header h1 span {
  visibility: hidden;
}
#top-bar {
  top: 69px;
  height: 21px;
  min-width: 976px;
  padding: 0;
  background-color: #634D5C;
  border-bottom: 2px solid #634D5C;
}
#top-bar  a, #top-bar li ul li a {
    background-color:#634D5C;
}
#top-bar a:hover, #top-bar li ul li a:hover {
    background-color:#634D5C;
}
#side-bar {
  min-width: 185px;
  background-color:#B8C7C9;
}
#side-bar li a{
  border-bottom:1px solid #ABBBBE;
  border-top:1px solid #C6D2D3;
}
#side-bar li a:hover{
  background-color:#C3D1D3;
}
body{
  background-color:#DCE7E9;
}
#footer{
  background-color:#634D5C;
  border-top:2px solid #3D2A34;
}
.special-collapsible .collapsible-block-unfolded .collapsible-block-link {
    font-weight: bold;
    padding-left: 0em;
}
.special-collapsible a {
    margin: 0;
    padding-top: 2px;
    padding-bottom: 2px;
    display: block;
    padding-left: 1em;
    border-bottom: 1px solid #BBBEAB;
    border-top: 1px solid #D2D3C6;
    color: #1E2B31;
    text-decoration: none;
}
#header h2 {
  display: none;
}
 
#license-areas {
  color: #E7E9DC;
  background: #4D5C63;
}
#license-areas a {
  color: #E7E9DC;
  background: #4D5C63;
}
 
table.charmap {
  background: white;
  border: #999 solid 1px;
  border-spacing: 2px;
  padding: .3em;
  table-collapse: collapse;
}
table.charmap tr td {
  text-align: center;
}
 
.wd-editor-toolbar-panel li.hseparator {
  background: url('http://tibasicdev.wikidot.com/local--files/home/toolbar-separator.png');
  width: 22px;
  height: 22px;
  margin: 1px;
}
 
@media print {
 
#print-head,#page-info,
#license-area,#print-footer {
  display: none !important;
}
 
div#page-content:after {
  text-align: center;
  width: auto !important;
  display: block !important;
  margin: 2em 0 0;
  clear: both !important;
  padding-top: .5em;
  border-top: 1px solid #000;
  content: "TI-Basic Developer © 2006-2009 — \"A wiki for the TI-Basic beginner and advanced alike!\"";
}
}
 
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
/* END CSS ABOVE  */
 
</style>
 
    <link rel="shortcut icon" href="/local--favicon/favicon.gif"/>
    <link rel="icon" type="image/gif" href="/local--favicon/favicon.gif"/>
 
            <link rel="alternate" type="application/wiki" title="Edit this page!" href="javascript:WIKIDOT.page.listeners.editClick()"/>
 
<script type="text/javascript" src="http://static.wikidot.com/v--33/common--modules/js/misc/NewPageHelperModule.js"></script></head>
 
<body id="html-body">
 
    <div id="container-wrap">
        <div id="container">
              <div id="header">
                  <h1><a href="http://tibasicdev.wikidot.com/"><span>TI-Basic Developer</span></a></h1>
                                        <h2><span>The TI-Basic Information Repository</span></h2>
 
                  <!-- google_ad_section_start(weight=ignore) -->
 
                  <div id="search-top-box">
                      <form id="search-top-box-form" action="dummy">
                          <input id="search-top-box-input" class="text empty" type="text" size="15" name="query" value="search this site" onfocus="if(YAHOO.util.Dom.hasClass(this, 'empty')){YAHOO.util.Dom.removeClass(this,'empty'); this.value='';}"/><input class="button" type="submit" name="search" value="search"/>
                     </form>
                  </div>
 
                                        <div id="top-bar">
 
<ul><li>Membership
<ul><li><a href="http://tibasicdev.wikidot.com/first-visit">First Time Visitor?</a></li><li><a href="http://tibasicdev.wikidot.com/conduct">Code of Conduct</a></li><li><a href="http://tibasicdev.wikidot.com/system:members">Site Members</a></li><li><a href="http://tibasicdev.wikidot.com/system:join">Become a Member</a></li><li><a href="http://tibasicdev.wikidot.com/system:invite">Invite a Friend</a></li></ul></li><li>Editing Pages
<ul><li><a href="http://tibasicdev.wikidot.com/guide-to-editing">Guide to Editing</a></li><li><a href="http://tibasicdev.wikidot.com/conventions">Wiki Conventions</a></li><li><a href="http://www.wikidot.com/doc:wiki-syntax">Wiki Syntax</a></li><li><a href="http://tibasicdev.wikidot.com/to-do">To-Do List</a></li><li><a class="wiki-standalone-button" href="javascript:;" onclick="WIKIDOT.page.listeners.viewSourceClick(event)">View Page Source</a></li><li><a href="http://tibasicdev.wikidot.com/system:recent-changes">Recent Changes</a></li><li><a href="http://tibasicdev.wikidot.com/admin:manage">Site Manager</a></li></ul></li><li>Site Information
<ul><li><a href="http://tibasicdev.wikidot.com/about">Site History</a></li><li><a href="http://tibasicdev.wikidot.com/logo">Site Logo</a></li><li><a href="http://tibasicdev.wikidot.com/all-news">News Archive</a></li><li><a href="http://tibasicdev.wikidot.com/news">83 News</a></li><li><a href="http://tibasicdev.wikidot.com/68k:news">68k News</a></li><li><a href="http://tibasicdev.wikidot.com/announcements">Announcements</a></li></ul></li><li>Related Sites
<ul><li><a href="http://www.ticalc.org" onclick="window.open(this.href, '_blank'); return false;">ticalc.org</a></li><li><a href="http://www.unitedti.org" onclick="window.open(this.href, '_blank'); return false;">United-TI</a></li><li><a href="http://www.tifreakware.net/" onclick="window.open(this.href, '_blank'); return false;">TI-Freakware</a></li><li><a href="http://www.maxcoderz.org" onclick="window.open(this.href, '_blank'); return false;">MaxCoderz</a></li><li><a href="http://www.bgo.netfirms.com" onclick="window.open(this.href, '_blank'); return false;">BASIC Guru</a></li><li><a href="http://www.education.ti.com" onclick="window.open(this.href, '_blank'); return false;">Texas Instruments</a></li><li><a href="http://www.omnimaga.org" onclick="window.open(this.href, '_blank'); return false;">Omnimaga</a></li></ul></li></ul>
 
                      </div>
                                    <div id="login-status"><span class="printuser"><a href="http://www.wikidot.com/user:info/james-kanjo" onclick="WIKIDOT.page.listeners.userInfo(35113); return false;" ><!--[if gte IE 7]><!--><img class="small" src="/common--images/avatars/35/35113/a16.png" alt="avatar"  style="background-image:url(http://www.wikidot.com/userkarma.php?u=35113)"/><!--<![endif]--><!--[if lt IE 7]><img class="small" src="/common&#45;&#45;images/avatars/35/35113/a16.png" alt="avatar"  style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=http://www.wikidot.com/userkarma.php?u=35113,sizingMethod='scale')"/><![endif]--></a>James Kanjo</span> | <a href="http://www.wikidot.com/account:you">my account</a><a  id="account-topbutton" href="javascript:;">&nabla;</a><div id="account-options"><ul><li><a href="http://www.wikidot.com/account:you">account summary</a></li><li><a href="http://www.wikidot.com/account:you/start/messages">private messages</a></li><li><a href="http://www.wikidot.com/account:you/start/contacts">my contacts</a></li><li><a href="http://www.wikidot.com/account:you/start/notifications">notifications</a></li><li><a href="http://www.wikidot.com/account:you/start/watching">watching</a></li><li><a href="javascript:;" onclick="WIKIDOT.page.listeners.logoutClick(event)">logout</a></li></ul></div></div>
                  <div id="header-extra-div-1"><span></span></div><div id="header-extra-div-2"><span></span></div><div id="header-extra-div-3"><span></span></div>
              </div>
 
            <div id="content-wrap">
                                    <div id="side-bar">
 
<div class="top"><ul><li><strong><a href="http://tibasicdev.wikidot.com/home">TI-83 Basic Home</a></strong></li><li><a href="http://tibasicdev.wikidot.com/68k:home">68k TI-Basic Home</a></li><li><a href="http://tibasicdev.wikidot.com/nspire">TI-Nspire Basic Page</a></li><li><a href="http://tibasicdev.wikidot.com/archives">Program Archives</a></li><li><a href="http://tibasicdev.wikidot.com/forum:home">Discussion Forums</a></li></ul></div><p><span style="font-size:large;">Preparation</span></p><ul><li><a href="http://tibasicdev.wikidot.com/thecalcs">The Calculators</a></li><li><a href="http://tibasicdev.wikidot.com/whytibasic">Why TI-Basic?</a></li><li><a href="http://tibasicdev.wikidot.com/using-this-guide">Using This Guide</a></li><li><a href="http://tibasicdev.wikidot.com/starter-kit">TI-Basic Starter Kit</a></li><li><a href="http://tibasicdev.wikidot.com/faq">TI-Basic FAQ</a></li></ul><p><span style="font-size:large;">Main Content</span></p><div class="special-collapsible"><div class="collapsible-block"><div class="collapsible-block-folded"><a class="collapsible-block-link" href="javascript:;" onclick="WIKIDOT.page.listeners.toggleCollapsibleBlock(event, true)">Commands</a></div><div class="collapsible-block-unfolded" style="display:none"><div class="collapsible-block-unfolded-link"><a class="collapsible-block-link" href="javascript:;" onclick="WIKIDOT.page.listeners.toggleCollapsibleBlock(event, false)">Commands</a></div><div class="collapsible-block-content"><div class="list-pages-box">
 
<ul>
<li><a href="http://tibasicdev.wikidot.com/commands">Overview</a></li>
<li><a href="http://tibasicdev.wikidot.com/command-index">Command Index</a></li>
<li><a href="http://tibasicdev.wikidot.com/geometpdf">Random command!</a></li>
</ul>
 
    </div>
<ul><li><a href="http://tibasicdev.wikidot.com/homescreen">Home Screen</a></li><li><a href="http://tibasicdev.wikidot.com/graphscreen">Graph Screen</a></li><li><a href="http://tibasicdev.wikidot.com/math">Math Functions</a></li><li><a href="http://tibasicdev.wikidot.com/variables">Variables</a></li><li><a href="http://tibasicdev.wikidot.com/userinput">User Input</a></li><li><a href="http://tibasicdev.wikidot.com/operators">Operators</a></li><li><a href="http://tibasicdev.wikidot.com/linking">Calculator Linking</a></li><li><a href="http://tibasicdev.wikidot.com/controlflow">Controlling Flow</a></li></ul></div></div></div><div class="collapsible-block"><div class="collapsible-block-folded"><a class="collapsible-block-link" href="javascript:;" onclick="WIKIDOT.page.listeners.toggleCollapsibleBlock(event, true)">Development</a></div><div class="collapsible-block-unfolded" style="display:none"><div class="collapsible-block-unfolded-link"><a class="collapsible-block-link" href="javascript:;" onclick="WIKIDOT.page.listeners.toggleCollapsibleBlock(event, false)">Development</a></div><div class="collapsible-block-content"><ul><li><a href="http://tibasicdev.wikidot.com/development">Overview</a></li><li><a href="http://tibasicdev.wikidot.com/plan">Planning</a></li><li><a href="http://tibasicdev.wikidot.com/portability">Portability</a></li><li><a href="http://tibasicdev.wikidot.com/usability">Usability</a></li><li><a href="http://tibasicdev.wikidot.com/setup">Program Setup</a></li><li><a href="http://tibasicdev.wikidot.com/code-conventions">Code Conventions</a></li><li><a href="http://tibasicdev.wikidot.com/techniques">Techniques</a></li><li><a href="http://tibasicdev.wikidot.com/comments">Commenting Code</a></li><li><a href="http://tibasicdev.wikidot.com/subprograms">Subprograms</a></li><li><a href="http://tibasicdev.wikidot.com/cleanup">Program Cleanup</a></li><li><a href="http://tibasicdev.wikidot.com/debug">Debugging</a></li><li><a href="http://tibasicdev.wikidot.com/optimize">Optimization</a></li><li><a href="http://tibasicdev.wikidot.com/timings">Code Timings</a></li><li><a href="http://tibasicdev.wikidot.com/documentation">Writing Program Documentation</a></li><li><a href="http://tibasicdev.wikidot.com/marketing">Marketing</a></li><li><a href="http://tibasicdev.wikidot.com/releasing-your-program">Releasing Programs</a></li><li><a href="http://tibasicdev.wikidot.com/creating-new-program-versions">Creating New Program Versions</a></li></ul></div></div></div><div class="collapsible-block"><div class="collapsible-block-folded"><a class="collapsible-block-link" href="javascript:;" onclick="WIKIDOT.page.listeners.toggleCollapsibleBlock(event, true)">Techniques</a></div><div class="collapsible-block-unfolded" style="display:none"><div class="collapsible-block-unfolded-link"><a class="collapsible-block-link" href="javascript:;" onclick="WIKIDOT.page.listeners.toggleCollapsibleBlock(event, false)">Techniques</a></div><div class="collapsible-block-content"><ul><li><a href="http://tibasicdev.wikidot.com/techniques">Overview</a></li><li><a href="http://tibasicdev.wikidot.com/animation">Animation</a></li><li><a href="http://tibasicdev.wikidot.com/assembly">Assembly</a></li><li><a href="http://tibasicdev.wikidot.com/compression">Compression Techniques</a></li><li><a href="http://tibasicdev.wikidot.com/cryptography">Cryptography</a></li><li><a href="http://tibasicdev.wikidot.com/custommenus">Custom Menus</a></li><li><a href="http://tibasicdev.wikidot.com/custominput">Custom Text Input</a></li><li><a href="http://tibasicdev.wikidot.com/easy-map-making">Easy Map Making</a></li><li><a href="http://tibasicdev.wikidot.com/friendly-window">Friendly Graphing Window</a></li><li><a href="http://tibasicdev.wikidot.com/graphics">Graphics</a></li><li><a href="http://tibasicdev.wikidot.com/grouping">Grouping A Program</a></li><li><a href="http://tibasicdev.wikidot.com/highscores">Highscores</a></li><li><a href="http://tibasicdev.wikidot.com/lookuptables">Look-Up Tables</a></li><li><a href="http://tibasicdev.wikidot.com/maps">Making Maps</a></li><li><a href="http://tibasicdev.wikidot.com/movement">Movement in Maps</a></li><li><a href="http://tibasicdev.wikidot.com/multiplayer">Multiplayer</a></li><li><a href="http://tibasicdev.wikidot.com/piecewise-expressions">Piecewise Expressions</a></li><li><a href="http://tibasicdev.wikidot.com/protection">Program Protection</a></li><li><a href="http://tibasicdev.wikidot.com/recursion">Recursion</a></li><li><a href="http://tibasicdev.wikidot.com/saving">Saving</a></li><li><a href="http://tibasicdev.wikidot.com/selfmodify">Self-Modifying Code (SMC)</a></li><li><a href="http://tibasicdev.wikidot.com/subprograms">Subprograms</a></li><li><a href="http://tibasicdev.wikidot.com/validation">Validation of User Input</a></li></ul></div></div></div><div class="collapsible-block"><div class="collapsible-block-folded"><a class="collapsible-block-link" href="javascript:;" onclick="WIKIDOT.page.listeners.toggleCollapsibleBlock(event, true)">Miscellaneous</a></div><div class="collapsible-block-unfolded" style="display:none"><div class="collapsible-block-unfolded-link"><a class="collapsible-block-link" href="javascript:;" onclick="WIKIDOT.page.listeners.toggleCollapsibleBlock(event, false)">Miscellaneous</a></div><div class="collapsible-block-content"><ul><li><a href="http://tibasicdev.wikidot.com/experiment">Experiment</a></li><li><a href="http://tibasicdev.wikidot.com/programs-h">Programs</a></li><li><a href="http://tibasicdev.wikidot.com/sitemap">Sitemap</a></li></ul></div></div></div></div><div style="height: 5px;"></div><p><span style="font-size:large;">References</span></p><ul><li><a href="http://tibasicdev.wikidot.com/resources">Resources</a></li><li><a href="http://tibasicdev.wikidot.com/downloads">Downloads</a></li><li><a href="http://tibasicdev.wikidot.com/showcases">Showcases</a></li><li><a href="http://tibasicdev.wikidot.com/sidebar">Sidebar</a></li><li><a href="http://tibasicdev.wikidot.com/tokens">Token Size</a></li><li><a href="http://tibasicdev.wikidot.com/textsprites">Text Sprites</a></li><li><a href="http://tibasicdev.wikidot.com/binandhex">Binary &amp; Hex</a></li><li><a href="http://tibasicdev.wikidot.com/83lgfont">TI-83+ Font</a></li><li><a href="http://tibasicdev.wikidot.com/errors">Error Conditions</a></li><li><a href="http://tibasicdev.wikidot.com/file-extensions">File Extensions</a></li><li><a href="http://tibasicdev.wikidot.com/key-codes">Key Codes</a></li><li><a href="http://tibasicdev.wikidot.com/abbreviations">Abbreviations</a></li><li><a href="http://tibasicdev.wikidot.com/glossary">Glossary</a></li></ul><div class="collapsible-block"><div class="collapsible-block-folded"><span style="font-size:large;"><a class="collapsible-block-link" href="javascript:;" onclick="WIKIDOT.page.listeners.toggleCollapsibleBlock(event, true)">+&nbsp;Add&nbsp;Page</a></span></div><div class="collapsible-block-unfolded" style="display:none"><div class="collapsible-block-unfolded-link"><span style="font-size:large;"><a class="collapsible-block-link" href="javascript:;" onclick="WIKIDOT.page.listeners.toggleCollapsibleBlock(event, false)">-&nbsp;Add&nbsp;Page</a></span></div><div class="collapsible-block-content"><div style="text-align: center">
    <form action="about:blank">
        <select class="select" id="themePreviewerSelect"
            onchange="window.location.href=window.location.href.replace(/\?.*$/, '').replace(/(\/theme_id\/[0-9]+)|$/, '/theme_id/'+$('themePreviewerSelect').value);">
                            <option  value="6651">Basic</option>
                            <option  value="6650">Bloo - no side bar</option>
                            <option  value="25">Cappuccino</option>
                            <option  value="26">Cappuccino - side bar on right</option>
                            <option  value="2">Clean</option>
                            <option  value="3">Clean - no side bar</option>
                            <option  value="56">Co</option>
                            <option  value="121">Co - no side bar</option>
                            <option  value="5">Flannel</option>
                            <option  value="9">Flannel Nature</option>
                            <option  value="10">Flannel Nature - no side bar</option>
                            <option  value="6">Flannel - no side bar</option>
                            <option  value="7">Flannel Ocean</option>
                            <option  value="8">Flannel Ocean - no side bar</option>
                            <option  value="57">Flower Blossom</option>
                            <option  value="75">Flower Blossom - no side bar</option>
                            <option  value="54">Gila</option>
                            <option  value="55">Gila - no side bar</option>
                            <option  value="58">Localize</option>
                            <option  value="59">Localize - no side bar</option>
                            <option  value="2439">Shiny</option>
                            <option  value="2440">Shiny - no side bar</option>
                            <option  value="2437">Webbish</option>
                            <option  value="2438">Webbish - no side bar</option>
                            <option  value="122">Webbish (older)</option>
                            <option  value="123">Webbish (older) - no side bar</option>
                            <option  value="6258">Bloo</option>
                            <option  value="12513">Blank</option>
                            <option  value="12806">Empty Page</option>
                            <option  value="4029">Forum Side</option>
                            <option selected="selected" value="12519">New TI|BD by JK</option>
                            <option  value="12783">New TI|BD by JK 2</option>
                            <option  value="3741">Portal</option>
                            <option  value="11812">Portal (Hide hidden class)</option>
                            <option  value="49">Pretty Print</option>
                            <option  value="9368">Pretty Print (Forum)</option>
                    </select>
 
    </form>
</div>
 
<div class="new-page-box" style="text-align: center; margin: 1em 0">
    <form action="dummy.html" method="get" onsubmit="WIKIDOT.modules.NewPageHelperModule.listeners.create(event)">
        <input class="text" name="pageName" type="text" size="18" maxlength="60" style="margin: 1px"/><input type="submit" class="button" value="new page" style="margin: 1px"/>
 
    </form>
</div>
</div></div></div><div style="text-align:center;"><p><script type="text/javascript">
//<![CDATA[
var sc_project=2373092; 
var sc_invisible=0; 
var sc_partition=22; 
var sc_security="d8087415"; 
//]]></script><script type="text/javascript" src="http://www.statcounter.com/counter/counter_xhtml.js"></script><noscript><div class="statcounter"><a class="statcounter" href="http://www.statcounter.com/"><img class="statcounter" src="http://c23.statcounter.com/2373092/0/d8087415/0/" alt="counter free hit unique web" /></a></div></noscript></p></div>
 
                    </div>
 
                <!-- google_ad_section_end -->
 
                <div id="main-content">
                    <div id="action-area-top"></div>
 
                    <!-- google_ad_section_start -->
 
                                        <div id="page-title">
                    The Calculators                    </div>
 
                    <div id="page-content">
 
<p>This section is concerned with the TI-83 family of graphing calculators, which all use the same base processor chip — a Zilog Z80. There are five different calculators that are within this group: TI-83, TI-83+, TI-83+SE, TI-84+, and TI-84+SE. Each of these calculators has their own features and unique qualities.</p>
<table style="margin:0; padding:0">
<tr>
<td style="margin:0; padding:0">
<div id="toc">
<div id="toc-action-bar"><a href="javascript:;" onclick="WIKIDOT.page.listeners.foldToc(event)">fold</a><a style="display: none" href="javascript:;" onclick="WIKIDOT.page.listeners.unfoldToc(event)">unfold</a></div>
<div class="title">Table of Contents</div>
<div id="toc-list">
<div style="margin-left: 1em;"><a href="#toc0">The TI-83 Calculator</a></div>
<div style="margin-left: 1em;"><a href="#toc1">The TI-83+ Calculator</a></div>
<div style="margin-left: 1em;"><a href="#toc2">The TI-83+SE Calculator</a></div>
<div style="margin-left: 1em;"><a href="#toc3">The TI-84+ Calculator</a></div>
<div style="margin-left: 1em;"><a href="#toc4">The TI-84+SE Calculator</a></div>
<div style="margin-left: 1em;"><a href="#toc5">Calculator Comparison</a></div>
<div style="margin-left: 1em;"><a href="#toc6">Known ROM Versions</a></div>
<div style="margin-left: 1em;"><a href="#toc7">Pre-Loaded Applications</a></div>
</div>
</div>
</td>
</tr>
</table>
<h1 id="toc0"><span>The TI-83 Calculator</span></h1>
<table style="width:100%;">
<tr>
<td style="vertical-align:top;"><img src="/local--files/thecalcs/ti83.png" alt="ti83.png" class="image" /></td>
<td style="vertical-align:top; padding-left:10px;">The TI-83 is the oldest calculator in the group, being released back in 1996. It is designed to be an upgrade from the TI-82, featuring a sleeker case design, more memory (27K bytes of RAM), and a faster processor (6MHz). It kept some of the features the same as the TI-82, such as the screen size and being powered by 4 AAA batteries, to allow for backwards compatibility with the TI-82.
<p>This means that while some of the TI-Basic commands on the TI-83 have a different syntax, at the core the TI-83 can execute the TI-82's TI-Basic programs. Some of the differences between TI-Basic for each calculator are how math is interpreted (implied multiplication versus regular multiplication) and commands that have an opening parentheses attached to the end of them (such as the trigonometry commands). When it comes to assembly programs, however, the TI-83 cannot execute the TI-82's assembly programs without some modification because of the processor upgrade.</p>
</td>
</tr>
</table>
<h1 id="toc1"><span>The TI-83+ Calculator</span></h1>
<table style="width:100%;">
<tr>
<td style="vertical-align:top;"><img src="/local--files/thecalcs/ti83plus.png" alt="ti83plus.png" class="image" /></td>
<td style="vertical-align:top; padding-left:10px;">The TI-83+ was released in 1999, and it was meant as an upgrade from the TI-83 with more memory and a faster processor. At the same time, it kept several features of the TI-83 to maintain backwards compatibility: the case design, the screen size (16x8 home screen and 96x64 graph screen), and the link port. There are some major differences, however.
<p>The TI-83+ cannot run assembly programs made for the TI-83 because it uses a different format: there are three built-in commands (<a href="http://tibasicdev.wikidot.com/asmprgm">AsmPrgm</a>, <a href="http://tibasicdev.wikidot.com/asmcomp">AsmComp(</a> and <a href="http://tibasicdev.wikidot.com/asm-command">Asm(</a>) used for running assembly programs, while the TI-83 has no such commands. While the TI-83 uses a 6MHz processor, the TI-83 Plus uses a speedier 8MHz processor. It should be noted, however, that the TI-83+ only runs at the 6MHz speed unless altered by an assembly program.</p>
<p>The TI-83 comes with 24K bytes of available memory built-in, while the TI-83+ comes with 184K bytes of available memory: 24K bytes are RAM and 160K bytes are archive memory, or more commonly called "Flash" memory. Archive memory allows you to store data, programs, applications, or any other variables to a safe location where they cannot be edited or deleted inadvertently from a RAM crash. This creates a compatibility issue with TI-83 TI-Basic, however, because of the use of the <a href="http://tibasicdev.wikidot.com/archive">Archive</a> and <a href="http://tibasicdev.wikidot.com/unarchive">UnArchive</a> commands that are on the TI-83+.</p>
</td>
</tr>
</table>
<h1 id="toc2"><span>The TI-83+SE Calculator</span></h1>
<table style="width:100%;">
<tr>
<td style="vertical-align:top;"><img src="/local--files/thecalcs/ti83plus_se.png" alt="ti83plus_se.png" class="image" /></td>
<td style="vertical-align:top; padding-left:10px;">The TI-83+SE (short for <em>S</em>ilver <em>E</em>dition) was the next calculator upgrade in the group. When it was released by TI in 2001, it became instantly popular because of its unique look and increased memory and speed. However, TI has since decided to stop production of it and focus on the TI-84+SE calculator instead. The TI-83+SE has now become somewhat of a collector's item.
<p>After seeing the success of the TI-83 calculator series, TI decided to give their next TI-83 series calculator a unique look to set it apart from the other TI-83 calculators. The TI-83+SE calculator look consists of a transparent silver case with silver sparkles sprinkled throughout. What really made the calculator shine, though, was that the transparent case allowed you to see what the internals of the calculator looked like without even having to open up the calculator.</p>
<p>In addition to the unique look, TI also decided to upgrade the memory and speed. While maintaining almost complete backward compatibility, the TI-83+SE features 128K bytes of RAM and 1.5M bytes of archive memory. It should be noted, however, that only 24K bytes of RAM are available to TI-Basic programmers (you need to use assembly to access all 128K bytes). The TI-83+SE uses a 15MHz processor, but it can also be made to run at the 8MHz and 6MHz speeds through assembly.</p>
</td>
</tr>
</table>
<h1 id="toc3"><span>The TI-84+ Calculator</span></h1>
<table style="width:100%;">
<tr>
<td style="vertical-align:top;"><img src="/local--files/thecalcs/ti84plus.png" alt="ti84plus.png" class="image" /></td>
<td style="vertical-align:top; padding-left:10px;">The TI-84+ was released in 2004, and it was meant to be an upgrade of the TI-83+. The TI-84+ introduces a couple new things to the TI-83 calculator series: a built-in clock and a mini USB link port. The built-in clock can be used in TI-Basic by using the new <a href="http://tibasicdev.wikidot.com/time-and-date">clock</a> commands that go with it, while the mini USB link port greatly increases the speed of linking the calculator to a computer.
<p>The TI-84+ also improves upon the TI-83+ in terms of memory and speed: 24K bytes of RAM and 480K bytes of archive memory; and a 15MHz processor (the same one that the TI-83+SE has). The most obvious change that the TI-84+ brings is a completely new case design. Gone are the slightly rounded edges and appearance; in its place is an almost circular look from the front, with the edges smoothly flowing around to the back of the calculator.</p>
</td>
</tr>
</table>
<h1 id="toc4"><span>The TI-84+SE Calculator</span></h1>
<table style="width:100%;">
<tr>
<td style="vertical-align:top;"><img src="/local--files/thecalcs/ti84plus_se.png" alt="ti84plus_se.png" class="image" /></td>
<td style="vertical-align:top; padding-left:10px;">The TI-84+SE was released along with the TI-84+ in 2004, kind of like a TI-83 calculator series package upgrade. The TI-84+SE was meant to be an upgrade of the TI-83+SE, and it includes the same upgrades that the TI-84+ got. The two new innovations that the TI-84+SE introduces are: interchangeable faceplates and a kickstand; these things are basically optional add-ons for your calculator.
<p>The interchangeable faceplate can be useful if you want to change the front look of your calculator. You simply purchase a different faceplate and swap it with the current faceplate. The calculator's initial faceplate is a light gray/silver. The kickstand is built into the calculator lid, and it allows you to set the calculator to four different viewing angles. Concerning memory and speed, the TI-84+SE has the same amount of memory and speed as the TI-83+SE.</p>
</td>
</tr>
</table>
<h1 id="toc5"><span>Calculator Comparison</span></h1>
<table class="wiki-content-table">
<tr>
<th>Model</th>
<th>Processor</th>
<th>RAM</th>
<th>ROM</th>
<th>Screen Size</th>
<th>Link Port</th>
<th>Clock</th>
<th>Release Date</th>
</tr>
<tr>
<td style="text-align: center;">TI-83</td>
<td style="text-align: center;">6&nbsp;MHz</td>
<td style="text-align: center;">27&nbsp;KB</td>
<td style="text-align: center;">None</td>
<td style="text-align: center;">96x64</td>
<td style="text-align: center;">I/O</td>
<td style="text-align: center;">No</td>
<td style="text-align: center;">1996</td>
</tr>
<tr>
<td style="text-align: center;">TI-83+</td>
<td style="text-align: center;">6&nbsp;MHz</td>
<td style="text-align: center;">24&nbsp;KB</td>
<td style="text-align: center;">160&nbsp;KB</td>
<td style="text-align: center;">96x64</td>
<td style="text-align: center;">I/O</td>
<td style="text-align: center;">No</td>
<td style="text-align: center;">1999</td>
</tr>
<tr>
<td style="text-align: center;">TI-83+SE</td>
<td style="text-align: center;">15&nbsp;MHz</td>
<td style="text-align: center;">24KB (128&nbsp;KB)</td>
<td style="text-align: center;">1.5&nbsp;MB</td>
<td style="text-align: center;">96x64</td>
<td style="text-align: center;">I/O</td>
<td style="text-align: center;">No</td>
<td style="text-align: center;">2001</td>
</tr>
<tr>
<td style="text-align: center;">TI-84+</td>
<td style="text-align: center;">15&nbsp;MHz</td>
<td style="text-align: center;">24&nbsp;KB</td>
<td style="text-align: center;">480&nbsp;KB</td>
<td style="text-align: center;">96x64</td>
<td style="text-align: center;">I/O+USB</td>
<td style="text-align: center;">Yes</td>
<td style="text-align: center;">2004</td>
</tr>
<tr>
<td style="text-align: center;">TI-84+SE</td>
<td style="text-align: center;">15&nbsp;MHz</td>
<td style="text-align: center;">24KB (128&nbsp;KB)</td>
<td style="text-align: center;">1.5&nbsp;MB</td>
<td style="text-align: center;">96x64</td>
<td style="text-align: center;">I/O+USB</td>
<td style="text-align: center;">Yes</td>
<td style="text-align: center;">2004</td>
</tr>
</table>
<h1 id="toc6"><span>Known ROM Versions</span></h1>
<p>TI occasionally releases updates to the ROM version for each calculator, which either fix existing bugs, improve calculator performance, or add new commands and functionality. You can check the ROM version on your calculator by selecting the About option in the Memory menu, which is accessible by pressing 2nd MEM. See <a href="http://tibasicdev.wikidot.com/portability">portability</a> for a list of changes in functionality between the OS versions.</p>
<table class="wiki-content-table">
<tr>
<th>Model</th>
<th>Known ROM Versions</th>
</tr>
<tr>
<td style="text-align: center;">TI-83</td>
<td style="text-align: center;">1.02, 1.03, 1.04, 1.06, 1.07, 1.08, 1.10</td>
</tr>
<tr>
<td style="text-align: center;">TI-83+</td>
<td style="text-align: center;">1.03, 1.06, 1.08, 1.10, 1.12, 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19</td>
</tr>
<tr>
<td style="text-align: center;">TI-83+SE</td>
<td style="text-align: center;">1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19</td>
</tr>
<tr>
<td style="text-align: center;">TI-84+</td>
<td style="text-align: center;">2.21, 2.22, 2.30, 2.40, 2.41, 2.43</td>
</tr>
<tr>
<td style="text-align: center;">TI-84+SE</td>
<td style="text-align: center;">2.21, 2.22, 2.30, 2.40, 2.41, 2.43</td>
</tr>
</table>
<h1 id="toc7"><span>Pre-Loaded Applications</span></h1>
<p>Except for the TI-83 which has no Flash ROM, all of the other TI-83 series of calculators come with some pre-loaded applications for users to use. Since most of the applications are rather limited in use and scope, not to mention that they each take up 16K bytes or more of memory, most people end up deleting them off of their calculator to allow them to fit more programs and games. If you want to put them back on your calculator again, you can find them all on <a href="http://education.ti.com" onclick="window.open(this.href, '_blank'); return false;">TI's website</a>.</p>
<table class="wiki-content-table">
<tr>
<th>Model</th>
<th>Pre-Loaded Applications</th>
</tr>
<tr>
<td style="text-align: center;">TI-83+</td>
<td style="text-align: center;">Language Localization, Probability Simulation, Science Tools, StudyCards, Vernier EasyData</td>
</tr>
<tr>
<td style="text-align: center;">TI-83+SE</td>
<td style="text-align: center;">CellSheet, GeoMaster, Language Localization, Organizer, Periodic Table, StudyCards</td>
</tr>
<tr>
<td style="text-align: center;">TI-84+</td>
<td style="text-align: center;">Cabri Jr., Conic Graphing, Inequality Graphing, Language Localization, LearningCheck, LogIn, Probability Simulation, Science Tools, StudyCards, TI CBL/CBR, TImeSpan, Topics in Algebra 1, Transformation Graphing, Vernier EasyData</td>
</tr>
<tr>
<td style="text-align: center;">TI-84+SE</td>
<td style="text-align: center;">app4math, Area Formulas, Cabri Jr., Catalog Help, CellSheet, Conic Graphing, Fundamental Topics in Science, GeoMaster, Inequality Graphing, Language Localization, LearningCheck, LogIn, NoteFolio, Organizer, Periodic Table, Polynomial Root Finder and Simultaneous Equation Solver, Probability Simulation, Puzzle Pack, Science Tools, Start-Up Customization, StudyCards, TI CBL/CBR, TImeSpan, Topics in Algebra 1, Transformation Graphing, Vernier EasyData</td>
</tr>
</table>
<div style="display : none;">
<p>.</p>
</div>
 
                    </div>
 
                                            <div class="page-tags">
                            <span>
                                page tags:
                                                                    <a href="http://tibasicdev.wikidot.com/system:page-tags/tag/_preparation1#pages">_preparation1</a>
                                                            </span>
                        </div>
 
                    <!-- google_ad_section_end -->
 
                    <!-- google_ad_section_start(weight=ignore) -->
 
                    <div style="clear:both; height:1px; font-size:1px;"></div>
                                                                    <div id="page-info">page_revision: 55, last_edited: <span class="odate">1238804012|%e %b %Y, %H:%M %Z (%O ago)</span></div><div class="page-watch-options">            Start watching:
        <a href="javascript:;"
            onclick="WIKIDOT.page.listeners.awatch(event, 'site')"
        >site tibasicdev.wikidot.com</a>
        |
        <a href="javascript:;"
            onclick="WIKIDOT.page.listeners.awatch(event, 'category')"
        >category _default</a> 
        | 
        <a href="javascript:;"
            onclick="WIKIDOT.page.listeners.awatch(event, 'page')"
        >this page</a>
 
    [<a href="http://www.wikidot.com/faq:watching" target="_blank">?</a>]
</div>
<div id="page-options-bottom"  class="page-options-bottom">
    <a href="javascript:;" id="edit-button">edit</a><a href="javascript:;" id="tags-button">tags</a><a href="http://tibasicdev.wikidot.com/forum/t-3681/thecalcs"  id="discuss-button">discuss (#)</a>
    <a href="javascript:;" id="history-button">history</a> 
    <a href="javascript:;" id="files-button">files</a> <a href="javascript:;" id="print-button">print</a> <a href="javascript:;" id="site-tools-button">site tools</a><a href="javascript:;" id="more-options-button">+&nbsp;options</a> 
</div>
<div id="page-options-bottom-2" class="page-options-bottom" style="display:none">
    <a href="javascript:;" id="edit-sections-button">edit sections</a>
    <a href="javascript:;" id="edit-append-button">append</a>
 
    <a href="javascript:;" id="backlinks-button">backlinks</a> 
    <a href="javascript:;" id="view-source-button">view source</a> 
    <a href="javascript:;" id="parent-page-button">parent</a> 
    <a href="javascript:;" id="page-block-button">block</a>     
    <a href="javascript:;" id="rename-move-button">rename</a> 
    <a href="javascript:;" id="delete-button">delete</a> 
</div>
<div id="page-options-area-bottom">
</div>
 
                    <div id="action-area" style="display: none"></div>
                </div>
            </div>
 
             <div id="footer" style="display: block; visibility: visible;">
                                      <div class="options" style="display: block; visibility: visible;">
                         <a href="http://www.wikidot.com/doc" id="wikidot-help-button">
                             help                         </a>
                         |
                         <a href="http://www.wikidot.com/legal:terms-of-service"   id="wikidot-tos-button">
                             terms of service                         </a>
                         |
                         <a href="http://www.wikidot.com/legal:privacy-policy"   id="wikidot-privacy-button">
                             privacy                         </a>
                         |
                         <a href="javascript:;" id="bug-report-button" 
                             onclick="WIKIDOT.page.listeners.pageBugReport(event)">
                             report a bug                         </a>
                         |
                         <a href="javascript:;" id="abuse-report-button" 
                             onclick="WIKIDOT.page.listeners.flagPageObjectionable(event)">
                             flag as objectionable                         </a>
                     </div>
                                              Hosted by <a href="http://www.wikidot.com">Wikidot.com</a> &#8212; 
                                                      <a