Tutorials

If you wish to return to the top of this page, click the little blue arrow thingys that look like this .

Intro to Programming | TI-83/83+ BASIC | TI-89 BASIC | Z80 (TI-83) Assembly

Introduction
Here you will find several tutorials to help you learn how to write programs on your TI-83, TI-83+, or TI-89 calculator(s).

If you don't know what programming is, programming is essentially giving the calculator instructions. A program is kind of like a script that the calculator reads and then acts it out. So take command of your calculator -- tell it what to do!

Programs can have almost any purpose, from solving quadratic equations to drawing pictures to playing games. I'm mainly a game programmer but I have also written several math and science programs.

Calculator programs are written in one of two languages: BASIC and Assembly (ASM). BASIC is the language built into the calculators, and ASM is the native code that the calculator understands.

BASIC programs are either written on the calculator or on a computer (if you have a Graphlink). They are fairly easy to write, but unfortunately, there are some drawbacks. BASIC programs are kind of slow, so if you're looking to write a fast-paced shoot-em-up, BASIC is probably not the language for you (even though they have been pulled off before). TI-89 BASIC games run a lot faster than TI-83/+ games.

Assembly language is what the calculator truly understands. BASIC is an interpreted language, which means that it must be converted into assembly language while it is running in order for the calculator to understand it. This is why BASIC programs are slow. Assembly language is fed directly into the processor, and, since the processor already understands it, it doesn't have to be translated like BASIC, enabling programs to be run almost infinitely faster than BASIC programs.

Assembly programs must be written on a computer, then compiled and linked with special software, and sent to the calculator via a link cable. Some assembly programs require a "shell" or a special program on the calculator, like Ion or DoorsOS, in order to run. With assembly, you're not protected by the error-checking system that BASIC has. A simple syntax error can crash the calculator and force it to be reset, losing everything on it. The commands are very primitive, but this allows for features much more powerful than BASIC, like renaming programs, locking/unlocking programs, and displaying things like lowercase letters and  punctuation like $, %, and &. (for TI-82/83/+ only, the rest can do this in BASIC).

Assembly programs written for one calculator are directly incompatible with others. The TI-80, TI-73, and TI-81 don't support assembly language. The TI-82, TI-85, and TI-92 don't, but there are hacks available to enable assembly programs to be run. The TI-82, 83, 83+, 85, and 86 all have a Z80 processor and use the same instruction set (set of basic commands), but since their ROM layouts are different, conversion is necessary to run one type of ASM program on another calculator. The TI-89, 92, and 92+ have a Motorola 68000 processor and have a different instruction set than that of the Z80. I know very little about 68k assembly so I don't know about differences in ROM layout.

 

So, You Wanna Program Your TI-83 But You're As Dumb As A Brick
The first tutorial I wrote. It covers essentially all aspects of TI-83 BASIC necessary to program a good game. It covers everything from the most basic aspects of programming to advanced topics like graphics, strings, subroutines, and the link port. NO PROGRAMMING EXPERIENCE IS NECESSARY.

This tutorial is organized into 5 parts with 4 chapters each (20 chapters total) and a cumulative review at the end of each part.

Note: These pages are currently in their original format (from the original SYWTPYTBYADAAB website), and have not yet been converted to the mjs2000 layout.

INDEX

 

 

So, You Wanna Program Your TI-89 But You Have the IQ of a Cucumber
This TI-89 BASIC tutorial is yet to come. It is my top priority as soon as this redesign is complete. Once again, NO PROGRAMMING EXPERIENCE IS NECESSARY, and it will cover everything from the absolute basics to advanced things like sprites and animation, graphical user interfaces, and the link port.

This tutorial has not been written yet.

 

The Imbecile's Guide to Z80 (TI-83) Assembly
This tutorial has not been written yet. NO PROGRAMMING EXPERIENCE IS NECESSARY, BUT IT IS STRONGLY RECOMMENDED. A GOOD KNOWLEDGE OF THE CALCULATOR IS ALSO STRONGLY RECOMMENDED. THIS ISN'T FOR BEGINNERS. If you are a beginner, I would consider going through the BASIC tutorial and becoming proficient in BASIC before trying this one.

This tutorial is coming soon, and will cover pretty much everything, from essential software and simple commands to things like bit manipulation, contrast changing, powering off, and graphics.

This tutorial has not been written yet.