Frank Westlake has found that the product ID can also be used to identify both the calculator model as
well as the AMS ROM version. Specifically:
1.05TI-92+01-1-3-7D
1.01TI-92+01-0-1-4F
1.00TI-92+01-0-0-4A
1.05TI-8903-1-3-66
1.00TI-8903-0-0-2A
AMS ROM versionCalculator ModelProduct ID
Frank also provides these functions to identify the model and ROM version.
First, this is an example function which evaluates some user function func1() if the model is an 89 or
92+, and the version is 1.05 or greater. Otherwise, the function returns undef.
example()
func
local timodel
model()→timodel
if (timodel="TI-89" or timodel="TI-92+") and version()≥1.05:return func1()
return undef
endfunc
This function returns the product ID as a string, or "TI-92" if the calculator is a TI-92 without the Plus
module:
pid()
func
© Product ID
local i,m
1→i
getconfg()→m
if gettype(m)="EXPR":return "TI-92"
while m[i]≠"Product ID"
i+1→i
endwhile
return m[i+1]
endfunc
This function calls pid() and returns the model number as a string.
model()
func
@Identify model
Local tmp
pid()→tmp
if mid(tmp,2,1)="1":return "TI-92+"
if mid(tmp,2,1)="3":return "TI-89"
return tmp
endfunc
This function calls pid() and returns the ROM version as a floating-point number.
version()
func
@Identify version
Local tmp
7 - 15