TI-83 Assembly

This article is under construction and needs to be completed. You can help by expanding it.

Taken from http://shiar.nl/calc/ti83

Running programs

First of all you have to get the programs on your calc. This can be done using a TI-Graph Link, a lil' cable available at some shops and online. Then download the software you want at one of the many ticalc sites (for example at my own archives (recommended ;), or at the much larger archives of ticalc.org). Finally upload the files to your calc using the Graphlink software (can be downloaded for free at TI's).

How to run the programs on your TI-83? The BASIC progs can be run by looking up the program name in the PRGM menu. Running Assembly programs is a bit more complex. There's basically three kinds of Asm programs:

  • Uncompiled — These programs are stored as hexadecimal values, like CD1A44C9. These can be run by entering Send(9prgmXXX. Send( is in the CATALOG menu. Not too often used because the files are twice as big as compiled versions.
  • Compiled — In order to run compiled asm programs, you need a little program called Zasmload. Then you run the program using the BASIC file included. (for example you have a game called XXX, then the game itself will be Zxxx, and a basic prog included will probably be xxx or xxxLoad, which you just run like any basic program).
  • Compiled for Shell — They're like the compiled progs, but require a shell to be run. Using a shell you can start the programs you want mostly by selecting it in a menu, much easier than the other methods.

Basically, there's three different shells — AShell, SOS and ION — each with their own programs. Of these three, Ion is currently the most commonly used.

Remember assembly programs can crash your calc (just like Windows does..) If this happens your calc freezes, the screen is cleared, or it coughs up "weird stuff" like random pixels, or resets, or a strange combination of these things. Crashes are just unpredictable, and alot of games have bugs that could crash your calc (since most games are still beta, and sometimes programmers have lost interest in a project (they don't get payed) so they don't fix a bug either).

After a crash you may find your calc won't work anymore (it just froze…) To get it working again, remove all batteries and try again. In most cases it'll now work again (remember to change the contrast if your batteries are a li'l low, or you still won't see anything!) If it still doesn't, then you should remove the batteries as well as the backup battery for some time and try again. It's impossible for a game to actually destroy your calculator! Really! You should always be able to reset it. Otherwise there's something else wrong (unrelated to the game, like it got wet of you dropped it or smtn.)


Taken from http://www.ti.com/calc/docs/83asm.htm

TI-83 Assembly Programming

  • TI-83 system information

Texas Instruments calculator design teams actively monitor user feedback on our products and have watched the interest in assembly language programming grow. Although TI cannot provide unlimited free support we do want to provide some information to users to support their interests. Our experience is that the user community can be somewhat self-supporting when basic information is provided.

Assembly code (Z80 machine code) is the lowest level control of the micro-processor possible on the TI-83. There is no shell software to protect the rest of the system memory from corruption as there is with the high level programming language of the built in TI-83 software. There are risks involved with writing and executing assembly code on your TI-83.

Before you experiment with assembly code on the TI-83 you should back up all of your data (programs, lists, variables, etc.) to a PC or MAC using the TI-Graph-Link cable. For any number of reasons you could easily lose your memory and crash the system while experimenting with executing assembly code. In some situations you could be forced to pull all the batteries, (main aaA batteries and the lithium backup battery) in order to recover the calculator.

Although Texas Instruments is providing system information on the TI-83, TI is not providing development tools such as editors, assemblers, and linkers. The user community seems to have adequate access to such development tools.

Texas Instruments is providing the TI-83 system information on an as-is basis and will not guarantee its accuracy or completeness. TI will not provide any help trouble shooting end user assembly programs. Texas Instruments will accept general inquires about assembly code on the TI-83 at a new email address, moc.it|38-msa#moc.it|38-msa. TI will not answer all inquires, but will try to be responsive to errors or interpretation problems of the released documentation. The TI-83 system information is copyrighted material and should not be copied to other locations on the internet. You are welcome to reference or link to the TI-83 system information from other Internet locations.
Read me: Frequently asked questions and answers concerning ASM programming on the TI-83

The TI-83 system information:

Basic TI-83 design information
TI-83 display
Reading Keypresses on the TI-83
Storing and recalling system vars
TI-83 link port
TI-83 floating point math routines
TI-83 list system routines
TI-83 matrix system routines
TI-83 memory system routines
Utility routines

Include files for assembling:

ti83asm.inc
tokens.inc

Example program source:

asm83ex.z80

Note: To execute an ASM program, enter the following command: Send(9prgmNAME

If a program was named TEST, the command to execute it would be: Send(9prgmTEST