TI-83 Programs

I've added quite a lot; most of the utilities are up, but much more could be added in the games area... ;)
Files are in zip format, so please unzip after downloading. You need to have TI-GRAPH LINKTM installed in your system to see files; the TI-Graph Link software is available here.

If you own a TI-83 and want to emulate it on your computer, then you can download an emulator, and some program that lets you copy the rom of your calculator to your computer as a rom image. I recommend Virtual TI, since it is an emulator that can also make a rom image of your calculator for you (you need to have special cables to connect your calculator to your computer though...) and also is compatible with many makes of the TI-brand calculators. Let me add here that rom images cannot be obtained without having bought the corresponding calculator; it is illegal to obtain a rom by any means of distribution other than by copying from your own calculator.

Disclaimer: usual rules apply; any files located on this page (and elsewhere on the site) are to be downloaded and used at the user's risk. I will not be held responsible for any damages directly or indirectly caused by the contents of this page, and I am not required to provide any additional assistance (although I'll probably do so anyway if it's genuinely required). Further, the programs are (mostly) written by myself, so I would like to prohibit any reprinting(?) without permission, and if you alter them in any way, I would prefer if you could tell me, beforehand or directly afterwards.

Programs that were (I think) written by others are starred(***). If anyone knows the origin of the programs, please tell me. Further, if there is any request that programs are to be removed, I will do so (after myself giving it some thought), so please be warned.

Utilities

APRXAREA this program takes a function and analyzes its integral using the trapezoid and simpson's approximations in the specified range, with the specified number of partitions.
AXB multiplication practicer; enter A and B as the number of digits for two numbers displayed; enter answer of each multiplication, program will tell you whether or not you're right; press [on] to exit
CHEMGRP4 a program I used for a Coffee project (!) It measures your short-term memory by a 10-digit number memorization, reaction time by speed from seeing !!!!!!!!!!!!!! to pressing [enter], and alertness by how many flashing !s you can count.
COMPSQRE can 'complete the square' for quadratic equations in x only (parabola) and quadatic equations in x and y (only circles though)
CONIC investigate conic sections--enter the relevant coefficients and you can investigate the graph and table of the corresponding conic section--useful, since you need to solve for y to graph equations on the TI-83.
EXPAND enter polynomials of degree A-1 and B-1, A<B, and program finds the product- -enter coefficients in order, from higher order to lower order, and use 0 for place holders; e.g., for (x2-5x+14)(x4+2x3+4x2-3x+1), enter A=3, B=5, then for values of X, enter 0,0,1,-5, 14,1,2,4,-3, 1.
The answer is a list of coefficients of the polynomial, from higher to lower order, with extra zeroes before and after (as above, you get {0 0 1 -3 8 5 72 -47 14}); you have to check yourself to see where the list starts--simple, just do the highest and/or lowest powers in the product in your head, and those define the first/last element.
GCF finds the gcf (a.k.a. lcm, gcd, etc.) of more than 2 numbers at once; enter zero to end entering numbers.
GEOMETRY does area, volume, and surface area calculations of several common figures. Most variables are self-explanatory, as R for radius, H for height, P for perimeter, etc.
GRADQUIK takes scores of tests, and averages after dropping one score so as to produce the best final grade.
MORSE converts and displays conversions to/from alphanumerals(and some punctuation) and morse code. Use '.'(period/point) for short, '-'(minus) for long, '1'(one) for separating letters, 11 for space, etc. in morse code. You can see the morse code of something after converting it in Str2 if you want to use it later. The program outputs '?' if it can't figure out what to write.
MOTIONS use for constant acceleration calculations; given three of S(distance), T(time), U(initial velocity), V(final velocity), and A(acceleration), displays equation needed to solve, and solution for the required variable. First enter the variable not involved in the required calculation (i.e., not given and not the value to be found), and then enter the other four values; input (pi)(e) for the unknown value, and the program will solve for you.
NFACTOR factors the given number into pairs of factors.
NORMAL changes the MODE settings and graph settings to standard values; easily customizable to suit your needs; just open the program and put the preferred mode setting where you see a corresponding entry.
PASCALTR displays rows of pascal's triangle from the top down.
PASS password protection of something; Possible uses:
1) start the program, then let the calculator auto-poweroff; a complete stranger to the TI-83(or anyone that doesn't know how to stop prgms with the on button) won't be likely to be able to fiddle with your calculator while you're away!
2) at the start of some other program, write "prgmPASS", and then protect that program and the PASS program by sending to your computer and enabling protection on the programs--no one can start the program without the password! (unless they also send the program to their computer, view the program, and hack it)
The passcode as it is now is: press [enter](for the pause), then press [clear] and then the rest of that row, moving left each time. Then press [enter] (again for the pause). The sequence is easily changeable; in the program, in the expression G=/=46-D, change 46 by 10 to change the row. (or you can use a totally different condition here if you want).
As it is, the PASS program displays a scrolling of numbers that changes as you press keys, so that the potential hacker(!) of the program will possibly panic a bit. With the settings as it is now, the hacker can also get into what follows the PASS program if they wait until the counter gets from 1 to 1E99...(have fun if you want to try this, but the batteries would probably run out before that... :P) You may want to change the value (this is the last number in the for loop) to something smaller, so that you can still get to what follows, even if you forget the passcode; or maybe make the passcode impossible to do (eg, start with the Y=key (change 46 to 12)and its impossible to press a key with getkey=10...) and then know that you have to wait a while to get past the PASS program, whereas a potential 'hacker' would probably press [on] and not notice this.
PATHBALL
PROJECTI
PATHBALL: given initial velocity, angle of release and gravity (positive for down), draws the path followed by ball. (careful about your angle settings--be sure you're in RADIANS or DEGREES, whichever you need)
PROJECTI: does the same, but you can indicate S, the starting height of the projectile.
PFACTOR prime factorization of given number. Not optimized except that it only scans up to square root of number remaining; stops every six factors found, to allow viewing by user if many factors exist.
PI displays the value of pi to 50 decimal places. Within the program, there is also pi to more (about 1000) figures.
PRIMES uses the Sieve of Eratosthenes method to display prime numbers up to a given number.
QFACTOR program that does quadratic factoring; displays five numbers (say, a,b,c,d,e) that represent the factoring ( eg, a(bx+c)(dx+e) )
QUADFORM performs the quadratic formula and displays the results. Also shows complex solutions.
RADICAL
SQREROOT
RADICAL takes A times the Xth root of B, and simplifies the expression.
SQREROOT takes the A times the square root of B, and simplifies the expression.
REMDIVIS does division of whole numbers and shows remainders. Useful for some cases. (e.g., in Euclid's algorithm applications.)
SCREEN3 a 'screensaver' application that takes whatever is already on the graphing screen and draws N rectangles at random, inverting the color of whatever is inside the rectangle. May also have a use in inspiring an artistic idea, maybe. (the design turns into a mosaic after a while...) Stops after drawing (about) N rectangles, so that it won't drain the batteries too much if program is left running.
SCROLL another 'screensaver' that scrolls three different texts. Endless loop, so press on to exit, or else the program will run forever! (well, until your batteries die...) NB: enter strings starting with the " symbol
SLOPEFLD a (fairly) comprehensive program in dealing with slope fields. Input an expression for dy/dx in terms of x and y, and the screen boundaries, and the slope field is drawn. You can change the parameters of how many points are to be taken for the slope diagram, and the length of the lines. You can see a particular solution starting from any point on the screen, and specify the (DELTA)x value. (warning: in some cases, the drawing will hit some asymptote and fail to draw, etc; try shifting the starting values by 0.01 or something then, or use other methods in these cases.) You can also draw an equation in the form of y=f(x), and superpose it on the slope field graph, to see if it looks right. The menu should be pretty simple to use; it even comes with a quit command ;)
SONICWAV a program that draws wavefronts of a moving source that starts with velocity V, accelerates by A units each step, starting at a suitable position X of your screen.(0=>left edge, 47=>right edge) You can also choose whether or not you want the program to pause after each step. (0 for continuous drawing, 1 for pausing after each step) (need to clear graph screen of any functions and plots before starting) Possible uses: for illustrations of the Sonic Boom effect, of the Cerenkov Radiation, of the Doppler shift, or any other illustrations concerning waves and wavefronts in general.
SUMSERIE finds the sum of an AP or GP to N terms quickly using relevant formulae.
SUMVECTR finds the magnitude and direction of the sum of two vectors, given the two vectors' magnitudes (V, U) and their angles of deviation from a common reference direction (A, B).
SYNDIVIS given the lists of coefficients of two polynomials as L1 and L2, finds the list of coefficients of the quotient (up to the n/(original denominator) term) using synthetic division.
TIMECALC as of now, this program does (only) addition of time (or any 60-base system)--either in the form minutes:seconds or hours:minutes. Enter zero to end input of values.
UNITCIRC displays unit circle--structured so that with this and the above NORMAL program, the TI-83 novice can see the unit circle and return to other things with just two programs.
XFREEZE a program you can use as a prank--when run it, it displays some junk and occasionally "**PRESS ENTER** "; when you press [enter], it says "PROCESSING......" for a while, and then displays "Mem cleared" (Looks exactly as it would if you really did clear the memory, including the capitalizations)! Also, while the junk display is going, you can still press keys on the row of the [clear] button and the graph button, and they display something that looks like what you would normally see; the calculator returns to the junk again after that though. The program does no actual harm to the calculator other than overwriting the variables A and G (which you would expect any other program to do...), but do use it with care... ;)
XSCREEN is another 'screensaver' program that displays a ball bouncing around in a box; the ball's velocity changes every time it hits the walls, and the display is redrawn when the ball reaches the 'gap' shown at the top right of the screen. Nice, simple program.

Games

***ASTEROID I got this from someone, and fiddled with it a bit; now it has two modes:
practice is an endless mode with at most 2 asteroids per line, and challenge mode adds my version with more asteroids per line and extra lives (and is also slower...) (could put a story with this, like "too many asteroids appear, so you abort the mothership and try to get through the asteroids on a smaller 'astroida' ship that can withstand several collisions with asteroids"...). so as a result, the practice mode and the first part of the challenge mode are action games, whereas the second part of challenge mode is more about optimising the route taken so as to survive as long as possible. note that you can move diagonally as well. (ASTROIDA is included in the zip file; you need it to play the second part of the challenge part)

See Z3ASTRO3 for the advanced version of this game.
***baseball a baseball game; from the bottom the 9th, you pitch and field in order to save a game where your team leads by one run. You select where to pitch, and can make minor adjustments to the course of the ball after it's been thrown left or right. When the ball is hit, you have a chance to catch the ball in the field. (I think this program was made by a friend, and I added the fielding part or so...don't remember)
You need all three files in the zip file (BBALL, BSETUP, PITCH) to play this. Run BSETUP to play.
***NIBBLES the 'snake' game as it is known on many mobile phones. This I got from someone, and is untouched as of now.
Z3ASTRO3(AsteroidBelt 3000) a game I've made myself... well, the ideas are from the ASTEROID and INDY games, but I've combined these ideas and added several others (eg, stage clear, bonus modes, endless mode, shooting mode...) and made user-friendly interface (eg, title page, instructions, tips). Clear the main game by surviving with 3000 points, and you obtain the codes for playing the other modes.
You need Z3ASTRO3, Z3ASTROT, ZASTROST, and NORMAL to play this game (all included in Z3ASTRO3.zip). Run the Z3ASTRO3 program.
ZARROWS this is a TI-83 version of what is known as DDR...without the sound, dance board, and animation. :( But I've tried to make it playable, with instructions, menus, etc. The layout is simple; play area at left, and score gauge at the right, which you fill to go to the next level, and fail if you empty. You press the arrow key (or the directional key as you may call it) as the corresponding arrow reaches the top of the screen. (The trick is to press the key a split second faster than when they seem to appear at the top.) The arrow flashes a ! when you are on time. Gain points for each arrow hit correctly, lose points for those you let go, or pressing keys when the corresponding arrow is not at the top. You can start from stages 1-13, 13 being the fastest of these. If you reach higher levels, you have an option to play the Trial Mode, which is a sudden death stage--miss one arrow and lose. If you clear this Trial Mode, you see an end message...you can play until you can get to this, or you can also play the high-speed modes to an unlimited (I think...I haven't been able to actually check very high levels, but I think it's bug-free) number of stages.
ZNUMBERS a game program that lets you play a tetris-like game; any pairs of numbers vertically or horizontally next to each other that add up to 7 disappear. Three difficulty levels to choose from. Aim for multiple eliminations by placing two or three of the same number diagonal to each other or with a gap between them, and then placing the (7 minus that number) number in the gap.