TIremote operates the TI-92+ and TI-89 calculator remotely through the serial port by reading a script of TI key codes and text. Some foreseeable uses for this program are:
TIremote was written on a PC running Windows NT 4.0 and was tested with a TI-92+ v1.01 and the gray TI-GRAPH LINK cable (required). It uses the Windows API for serial communications and file input so it should work well on any PC/Windows system. Minor testing has been done with a TI-89.
Connect the TI-GRAPH LINK interface to a serial port on the PC and to the link port on the calculator. Create a script of TI key codes (TI-92 Guidebook p484; TI-89 Guidebook p530) and save them as a DOS text file. Run the TIremote program and select the script. The key codes will be transferred to the calculator and executed.
TIremote com? script
For example; if you are using com1: and a script named "remote.scr" then the command line will be as follows:
TIremote com1 remote.scr
The script file is a standard DOS text file that can be created and edited with NotePad or any word processor. If you use a word processor you must save the file as DOS text, not in the default format of the word processor.
All commands must be on a separate line (except plain text) and start in the
first column of the line. Following is a list of the available commands then a
detailed description of each command:
Text: <text>
Plaintext to send to the calculator. This text could be numbers or letters in a menu, commands for the home screen, characters in a TEXT file, etc.
Examples:
Disp "How now brown cow"
TI Key code: @<number>
Replace <number> with the integer value taken from pages 483-487 of the TI-92 Guidebook or pages 529-532 of the TI-89 Guidebook. The key code may be followed by a plaintext comment as long as there is a nonnumeric character immediately after the number (space, tab, letter, etc.). A key code can be repeated by using this format instead "@<multiple>*<code>", where <multiple> is the number of times to repeat <code>.
Example:
"How now brown cow"
@258 STO>
str1
@13 ENTER
Disp str1
@13 ENTER
Label: @:<string>
Replace <string> with a 1-8 character label, the first character must not be a number. Labels are used with the Jump, Goto, and Choice commands.
Examples:
@:Top
@:Loop
Comment: @@<text>
Any information that should not be sent to the calculator or executed on the PC. Comments are displayed in the console and can be used to give instructions or display information.
Example:
@@ Waiting for graph to display
Choice: @c<string>
Replace <string> with a string of keyboard choices followed by corresponding labels. The keyboard choices are the keys that the user should hit to go to the corresponding label. Formatting is as follows:
@ck1k2k3...:label1:label2:label3...
Example:
@@ Menu:
@@
@@S Start over
@@E Exit
@@1 Do 1st problem again
@cse1:Top:End:Prob1
Delay: @d<number>
Replace <number> with an integer representing the time in milliseconds to pause between commands. This slows the process so that the user can watch what the calculator is doing more carefully. If <number> is 0 or blank the default (fastest) rate will be used.
Examples:
Typing fast...
@d500
Typing slowly..
@d
Typing fast again.
Goto: @g<string>
Replace <string> with a label name (no colon). Goto is really only useful for endless loops and temporarily skipping portions of a script.
Example:
@gTop
Input: @i<number>
Replace <number> with the maximum number of characters to accept, the default is 8. Input will transfer up to <number> characters to the calculator when the user presses ENTER, or up to 8 characters if <number> is blank.
Example:
"How now brown
@@ Enter an animal type and press ENTER:
@i15
"
@258 STO>
@@ Enter a variable name:
@i
@13 ENTER
Jump: @j<number>:<string>
Jump will jump to an alternate location <string> unless a key is pressed within <number> seconds. Replace <string> with a label name and <number> with the number of seconds to wait for a key press.
Example:
@@ Returning to top of script, press any key to cancel...
@j10:Top
Pause: @p<number>
Pauses script execution for <number> seconds. A pause can be terminated by pressing any key. If <number> is not given, the script will wait until a key is pressed.
Example:
@@Waiting for graph to display...
@p6
@@Press any key to continue...
@p
Repeat: @r<number>
Repeats the following code Example: This example uses each of the commands.
@r10
ans()^2
@13 ENTER
@r
EXAMPLE
@:Top
@@ This loop isn't necessary, its only purpose
@@ is to demonstrate loops.
@@
@r2
@4360 QUIT
@r2
@263 CLEAR
@r
@r
FnOff:clrgraph:ZoomStd:Graph x^2
@13 ENTER
@@
@@**** Waiting for graph ****
@@
@p6
@@
@@ Apply shading to the graph?
@@ Y=Yes
@@ N=No
@@
@cyn:Shade:Nope
@@
@:Shade
@272 F5
@d400
@11*344 DOWN
@4*13 ENTER
@@
@@**** Waiting for shade ****
@@
@p8
@:Nope
@274 F7
@6*344 DOWN
@13 ENTER
@d0
@28*338 UP
@10*337 LEFT
x^2
@264 ESCAPE
@@
@@Letting this countdown expire will cause
@@the script to return to its beginning.
@@
@@Press any key to break from loop.
@@
@j10:Top
@265 APPS
@13 ENTER
@@
@@Skiping some undocumented key codes.
@@
@gName
@@
@@Press any key to turn off calculator.
@@
@p
@8459 OFF
@@
@@Press any key to turn calculator back on and continue.
@@
@p
@267 ON
@:Name
@2*263 CLEAR
Disp "Thanks for trying TIremote
@@
@@Enter your name and press ENTER:
@@
@i32
"
@13 ENTER
@:End