TI-92 Link Protocol Guide - Tokens and Character Codes

##

Tokens and Character Codes

### TI-92 Tokens

In order to save space and execution time, the TI-92 tokenizes all BASIC programs, functions, expressions, etc. before running or evaluating them. Rather than trying to interpret multiple-character command names in real-time, all simple commands are compressed down to one or two bytes. All possible tokens that can exist in a program are shown below.

Color coding is as follows:

- Gray squares indicate tokens that are undefined or never used in the stored variable.
- Blue squares contain a link to a note describing the corresponding token's function.
- Red squares indicate two-byte tokens and contain a link to a table of possible second-byte values.
- White squares indicate tokens that take no arguments.
- Green squares indicate tokens that take one argument (popped off the stack).
- Purple squares indicate tokens that take more than one argument or a variable number of arguments (popped off the stack).

Two-byte tokens have the second byte first in the memory order so it is pushed onto the stack first. When the first byte (1Ch, E3h or E4h) is encountered, the second byte is popped off of the stack and executed.

TI-92 Tokens | Least Significant Digit
--- | ---
Most Significant Digit |  | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F
0 | note |  | r | s | t | u | v | w | x | y | z | a | b | c | d | e
1 | f | g | h | i | j | k | l | m | n | o | p | q | link | note | note | note
2 | note | note | note | note |  | e | i | -[infin] | [infin] |  | undef | false | true | note | note | acosh()
3 | asinh() | atanh() |  |  |  | cosh() | sinh() | tanh() |  |  |  | acos() | asin() | atan() |  |
4 |  |  |  |  | cos() | sin() | tan() |  |  |  |  | abs() | angle() | ceiling() | floor() | int()
5 | sign() | () | e^() | ln() | log() | fPart() | iPart() | conj() | imag() | real() | approx() | tExpand() | tCollect() | getDenom() | getNum() |
6 | cumSum() | det() | colNorm() | rowNorm() | norm() | mean() | median() | product() | stdDev() | sum() | variance() | unitV() | dim() | matlist() | newList() | rref()
7 | ref() | identity() | diag() | colDim() | rowDim() | T | ! | % | r | not() | - | note | note | note |  |
8 |  | | | xor | or | and | < |  | = |  | > |  | + | .+ | - | .- | *
9 | .* | / | ./ | ^ | .^ |  | solve() | cSolve() | nSolve() | zeros() | cZeros() | fMin() | fMax() |  | polyEval() | randPoly()
A | crossP() | dotP() | gcd() | lcm() | mod() | intDiv() | remain() | nCr() | nPr() | PRx() | PRy() | RP() | RPr() | augment() | newMat() | randMat()
B | simult() |  | explist() | randNorm() | mRow() | rowAdd() | rowSwap() | arcLen() | nInt() | [Pi]() | () | mRowAdd() |  |  | exact() |
C | comDenom() | expand() | factor() | cFactor() | [integral]() | d() | avgRC() | nDeriv() | taylor() | limit() | propFrac() | when() | round() | note | left() | right()
D | mid() | shift() | seq() | listmat() | subMat() | note | rand() | min() | max() | note | note |  | note | note | note | note
E | note | note | note | link | link | note | © | note | note | note |  |  |  |  |  |
F | note |  |  |  |  |  |  |  |  |  |  |  |  |  |  |

1C+XX Tokens | Least Significant Digit (second byte)
--- | ---
Most Significant Digit |  | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F
0 |  |  |  | x | x2 | y | y2 | xy | Sx | Sy | x | y | nStat | minX | minY | q1
1 | medStat | q3 | maxX | maxY | corr | R2 | medx1 | medx2 | medx3 | medy1 | medy2 | medy3 | xc | yc | zc | tc
2 | rc | c | nc | xfact | yfact | zfact | xmin | xmax | xscl | ymin | ymax | yscl | x | y | xres | xgrid
3 | ygrid | zmin | zmax | zscl | eye | eye | min | max | step | tmin | tmax | tstep | nmin | nmax | plotStrt | plotStep
4 | zxmin | zxmax | zxscl | zymin | zymax | zyscl | zxres | zmin | zmax | zstep | ztmin | ztmax | ztstep | zxgrid | zygrid | zzmin
5 | zzmax | zzscl | zeye | zeye | znmin | znmax | zpltStrt | zpltStep | seed1 | seed2 | ok | errornum | sysMath | sysData | regEq | regCoef
6 | tblInput | tblStart | tbl | fldpic |  |  |  |  |  |  |  |  |  |  |  |

E3+XX Tokens | Least Significant Digit (second byte)
--- | ---
Most Significant Digit |  | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F
0 |  | note | getKey() | getFold() | switch() |  | ord() | expr() | char() | string() | getType() | getMode() | setFold() | ptTest() | pxlTest() | setGraph()
1 | setTable() | setMode() | format() | inString() | & | DD | DMS | Rect | Polar | Cylind | Sphere | ( | ) | [ | ] | {
| 3 | } | , | ; |  | ' | " |  |  |  |  |  |  |  |  |  |

E4+XX Tokens | Least Significant Digit (second byte)
--- | ---
Most Significant Digit |  | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F
0 |  | ClrDraw | ClrGraph | ClrHome | ClrIO | ClrTable | Custom | Cycle | Dialog | DispG | DispTbl | Else | EndCustm | EndDlog | EndFor | EndFunc
1 | EndIf | EndLoop | EndPrgm | EndTBar | EndTry | EndWhile | Exit | Func | Loop | Prgm | ShowStat | Stop | Then | Toolbar | Trace | Try
2 | ZoomBox | ZoomData | ZoomDec | ZoomFit | ZoomIn | ZoomInt | ZoomOut | ZoomPrev | ZoomRcl | ZoomSqr | ZoomStd | ZoomSto | ZoomTrig | DrawFunc | DrawInv | Goto
3 | Lbl | Get | Send | GetCalc | SendCalc | NewFold | PrintObj | RclGDB | StoGDB | ElseIf | If | If...Then | RandSeed | While | LineTan | CopyVar
4 | Rename | Style | Fill | Request | PopUp | PtChg | PtOff | PtOn | PxlChg | PxlOff | PxlOn | MoveVar | DropDown | Output | PtText | PxlText
5 | DrawSlp | Pause | Return | Input | PlotsOff | PlotsOn | Title | Item | InputStr | LineHorz | LineVert | PxlHorz | PxlVert | AndPic | RclPic | RplcPic
6 | XorPic | DrawPol | Text | OneVar | StoPic | Graph | Table | NewPic | DrawParm | CyclePic | CubicReg | ExpReg | LinReg | LnReg | MedMed | PowerReg
7 | QuadReg | QuartReg | TwoVar | Shade | For | Circle | PxlCrcl | NewPlot | Line | PxlLine | Disp | FnOff | FnOn | Local | DelFold | DelVar
8 | Lock | Prompt | SortA | SortD | UnLock | NewData | Define | Else (Try..EndTry) | ClrErr | PassErr |  |  |  |  |  |

#### Notes:

- Note 1:

### TI-92 Character Codes

The TI-92 follows the ANSI and ASCII standards for printable and non-printable characters that match those found on the PC.

All characters and their character codes in the TI-92 8x10-pixel home screen entry font are shown here:

All characters and their character codes in the TI-92 6x8-pixel home screen font are shown here:

All characters and their character codes in the TI-92 8x6-pixel menu font are shown here:

File Formats | Table of Contents |

Site maintained by Romain Liévin ( roms@lpg.ticalc.org ) and Tim Singer ( tsinger@gladstone.uoregon.edu )