TI-92 Link Protocol Guide - Tokens and Character Codes
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:
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 |
|
|
|
|
|
|
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: