There are 4 Main BASIC languages from Texas Instruments I use.

TI 99 BASIC
TI 99 Extended BASIC
TI 68K BASIC (Also called TI-89 BASIC)
TI Z80 BASIC (Also called TI-83 BASIC)

Yes, TI has *many* more than these four BASICs.  But in my world and I believe the
majority of people, these are the big four.

But there are other fairly common TI BASICs like:

TI-CC40 BASIC
TI-81/TI-82 BASIC
TI-85/TI-86 BASIC

I will cover these three a bit also.

This document has the purpose of hopefully show obvious differences between and
giving some useful tips for converting code from different types of BASIC. For
example, code converted from TI 99 Extended BASIC to TI 68k BASIC


TI 99 BASIC and TI 99 Extended BASIS is for the following devices:
  TI-99/4             Desktop computer
  TI-99/4A            Desktop computer

TI 68K BASIC is for the following devices:
  TI-89               Calculator
  TI-89 Ti (Titanium) Calculator 
  TI-92               Handheld
  TI-92 II            Handheld
  TI-92 Plus          Handheld
  TI Voyage 200       Handheld

TI Z80 BASIC is for the following devices:
  TI-83               Calculator
  TI-83 Plus          Calculator
  TI-84 Plus          Calculator
  TI-84 Plus SE       Calculator



Variable storage

TI-99 BASIC, TI-99 Extended BASIC, TI-CC40 BASIC store values differently than 
TI 68K BASIC, TI Z80 BASIC, and most of all the other TI BASICS

TI-99 and TI-CC40 example:

100 x=5

TI-85 example:

:x=5

TI 68K BASIC and TI Z80 BASIC example:

:5→x


Moving around Code

TI 99 and 99 Extended BASIC use line numbers with GOTO statement
TI 68K and TI Z80 use Lbl with Goto statement

Example TI 99 BASIC:

100 GOTO 550
...
550 PRINT "Menu"
...

Example TI 68K BASIC:

:Goto Menu
...
:Lbl Menu
:Disp "Menu"
...

Variable names

 - TI  99 BASIC variable names can have up to 15 characters. 
 - TI 68K BASIC variable names can have up to  8 characters.
 - TI Z80 BASIC variable names can have up to  5 characters.
 
 If those limits feel weak, the C64 BASIC and Apple II BASIC could only have up 
 to just 2 characters.  Anything after was ignored. 


IO text statements
PRINT      statement is about the equivalent to the Disp   statement.
DISPLAY AT statement is about the equivalent to the Output statement.

Example 1 - TI 99 BASIC and TI 99 Extended BASIC:

10 PRINT "HELLO, WORLD!"

versus TI 68K BASIC and TI Z80 BASIC 

:Disp "HELLO, WORLD!"

Disp statement works with *almost* all TI BASICs including TI-81/TI-82 BASIC 
and TI-85/TI-86 BASIC.


All 4 BASICs vary greatly with text placement commands.

DISPLAY AT is only available with TI 99 Extended BASIC, not TI 99 BASIC.

Output and DISPLAY AT is not an exact 1 for 1 replacement.  

Example 2 - TI 99 Extended BASIC

10 DISPLAY AT (5,5) "THIS TEXT" 

is 5 charters, by 5 characters from the upper left

versus TI 68K BASIC

:Output 5,5,"THIS TEXT"

is 5 pixels, by 5 pixels from the upper left

Versus TI Z80 BASIC

:Output(5,5,"THIS TEXT")

Versus TI-85 BASIC

:Outpt(5,5,"THIS TEXT")


Random numbers 
TI 99 BASIC or TI 99 Extended BASIC, to find a random integer number from 1 to 10
and store in a variable named num1

10 num1=INT(1+10*RND)

TI 68K BASIC, to find a random integer number from 1 to 10
and store in a variable named num1

:rand(10)→num1

TI Z80 BASIC, to find a random integer number from 1 to 10

:randInt(1,10)→num1

TI-85 BASIC

:randM(1,10)→num1



Comments

TI 99 BASIC

10 REM This is a comment

TI Z80 BASIC

: " This is a comment

TI 68K BASIC

: @ This is a comment


Clearing the screen

CALL CLEAR for TI 99 BASIC and TI 99 Extended BASIC

ClrHome    for Z80 BASIC, also TI-81/TI-82 BASIC

ClLCD      for the TI-85/TI-86 BASIC

ClrIO      for 68K BASIC for IO output screen
ClrGraph   for 68K BASIC plotting output screen