Help Page for the ti5x app

Topics:

Introduction

ti5x is an emulator for the TI-58/58C/59 family of programmable scientific calculators which were manufactured by Texas Instruments from the late 1970s. It mostly tries to follow the original functionality; features marked “extension” are additions not present in the original.

Basic Operation

Back to Topics

Display Control

Back to Topics

Copy/Paste

If you long-tap the display, a context menu will appear with “Copy Number”, “Copy Full-Precision Number” and “Paste Number” options in it. Select “Copy Number” to copy the currently-displayed number to the Clipboard, or “Copy Full-Precision Number” to copy it with all significant figures intact, regardless of how many are being displayed. From here it may be pasted into other applications. Select “Paste Number” to enter a number from the Clipboard, perhaps copied from another application. If it is not a valid number, you will get an error message.

Back to Topics

Additional Operations

If you use both 2nd and INV, they can be pressed in either order. If you press one of these by mistake, just press it again to cancel it before pressing another key.

The following operations are mainly useful when writing programs:

Back to Topics

Memories

There are 100 memory registers available, numbered 00 to 99.

The following operations are mainly useful when writing programs:

The register offset is an adjustment to the numbering of all the memory registers: when the offset is set to nn, all references to register ii actually become references to register ii + nn (modulo 100). The purpose of this is to minimize register conflicts when one program calls another. For example, you might want to call two library programs that both use registers 01 .. 06; rather than move the registers one by one into different registers and then back again, simply change the register offset before calling one or both of them, to cause them to use different registers. You can also use this to give yourself more convenient numbering for your own register usage; thus, if you want to use 10 registers, but want to call a library routine that will use registers from 00 onwards, simply add 10 to the register offset before calling that routine, then subtract 10 back after it returns. That way your own code can use the register numbers 00 .. 09 without conflict.

The preferred way to make adjustments to the register offset is to always add to or subtract from the current value, never unconditionally set it to a new value. In the previous example, you might use a key sequence like  (  2nd Op  5   2   +   1   0   )  2nd Op  5   3  before invoking the routine, and  (  2nd Op  5   2   -   1   0   )  2nd Op  5   3  to restore the previous offset afterwards. The reason for this is to allow the same trick to be pulled on your routine to relocate its register usage by some other routine that wants to call it.

Back to Topics

Trigonometry

Back to Topics

Statistics Functions

Note these accumulate totals in registers 01 to 06 as follows:

so these need to be cleared before use. (The Master Library provides a function in Program 01 for doing this: 2nd Pgm 01 SBR CLR.)

Back to Topics

Program Entry

Programs are stored as a sequence of 2-digit numbers that (mostly) correspond to the position of the keys on the keyboard. There are 960 program locations available for holding a user-entered program. These are numbered from 000 to 959.

Other keys will enter keystrokes that will perform their function when executed.

Note that all register, flag and location operands allow indirection: simply enter 2nd Ind nn in place of the operand to specify the register which will supply the value of the operand.

Transfer of Control

Enter 2nd Lbl followed by just about any other key (except the above program-entry functions, the digit keys or Ind) to use that key to label the current location. The same label key can then be specified as the loc operand to any of the branch/call/loop instructions.

Any of the preceding that take a loc operand may be prefixed by 2nd Pgm nn (or 2nd Pgm 2nd Ind nn) to refer to the specified location in library program nn (or the library program given by the contents of register nn) rather than the current program.

Back to Topics

Comparisons

Back to Topics

Flags

There are 10 flags (numbered 0 to 9), each of which may be set, unset, or tested.

Stop on error: if flag 8 is set when an error condition occurs during program execution, execution immediately stops.

Trace execution: if flag 9 is set, the result of each calculation step will be printed on the printer.

Back to Topics

Looping

Back to Topics

Other Control

Back to Topics

User-Defined Keys

The keys  A , 2nd ,  B , 2nd ,  C , 2nd ,  D , 2nd ,  E  and 2nd may be used as labels just like most other keys. They are special in that they can be invoked as subroutines without being prefixed with SBR. They are intended to behave as user-definable function keys.

Back to Topics

Key Codes

Note that some codes represent merged keystrokes. This not only saves space; some sequences cannot be represented unambiguously otherwise (Ind versus register 40).

Note also that INV is (usually) a separate keystroke, while 2nd is not.

01  1  02  2  03  3  04  4  05  5 
06  6  07  7  08  8  09  9  00  0 
11  A  12  B  13  C  14  D  15  E 
16 2nd  A´  17 2nd  B´  18 2nd  C´  19 2nd  D´  10 2nd  E´ 
  22 INV 23 lnx 24 CE 25 CLR
  27 2nd INV 28 2nd Log 29 2nd CP 20 2nd CLR
  32 x⇌t 33 34 √x 35 1/x
36 2nd Pgm 37 2nd P→R 38 2nd sin 39 2nd cos 30 2nd tan
  42 STO 43 RCL 44 SUM 45 y**x
  47 2nd CMs 48 2nd Exc 49 2nd Prd 40 2nd Ind
  52 EE 53  (  54  )  55  ÷ 
  57 2nd Eng 58 2nd Fix 59 2nd Int 50 2nd |x|
61 GTO 62 2nd Pgm 2nd Ind 63 2nd Exc 2nd Ind 64 2nd Prd 2nd Ind 65  × 
66 2nd Pause 67 2nd x=t 68 2nd Nop 69 2nd Op 60 2nd Deg
71 SBR 72 STO 2nd Ind 73 RCL 2nd Ind 74 SUM 2nd Ind 75  - 
76 2nd Lbl 77 2nd x≥t 78 2nd ∑+ 79 2nd mean(x) 70 2nd Rad
81 RST   83 GTO 2nd Ind 84 2nd Op 2nd Ind 85  + 
86 2nd St flg 87 2nd If flg 88 2nd D.MS 89 2nd π 80 2nd Grad
91 R/S 92 INV SBR 93  .  94 +/- 95  = 
96 2nd R/S 97 2nd Dsz 98 2nd Adv 99 2nd Prt 90 2nd List

Back to Topics

Program Execution

While a program is running, you can hold down the GTO/Pause key to slow down execution and see intermediate results appearing in the display. Release to resume full-speed execution.

Back to Topics

Library Programs

It is possible to load external library modules into the calculator. One module, the “Master Library”, comes preloaded with the calculator. A library module can provide up to 99 separate program banks, which can be selected for execution instead of program bank 00, which is where your user-entered program is kept. Only one library module can be loaded at a time.

Extension: pressing LRN while a nonzero program number is selected will display the contents of the selected program, rather than the user-program-entry area. The program number additionally appears to the left of the program location number. Library programs cannot be edited.

Back to Topics

Importing Data

You can read numbers from a data file, instead of having to enter them manually. You choose a file to open from the “Import Data...” item in the Options Menu. The file must contain a sequence of numbers separated by newlines, whitespace or commas. Thereafter, you can read the next number into the display using INV 2nd Prt (either from the keyboard or in a program). An attempt to read past the last number will set flag 7 and leave the display unchanged. If a number was successfully read, flag 7 will be cleared.

The import file can also be immediately closed by INV RST.

Back to Topics

Printer Emulation

The app also includes emulation for a connected PC-100x dot-matrix printer capable of printing 20 text columns per line, from a limited character set. The printer output can be viewed by selecting the “Printer” item from the options menu.

Back to Topics

Exporting Data

Calculation results can also be exported, in either of two ways:

  1. The printer emulation can write text representations of every printed line to an output file. Every line sent to the printer, whether via 2nd Prt or any of the printer-related 2nd Op nn functions, will be written to the file. Note that characters with no obvious Unicode equivalent are ignored. The 2nd Adv function will write a blank line.

    Note this file typically cannot be re-imported by ti5x, since exponents are separated from mantissas by a space or nothing before a minus sign (instead of the more conventional e character). Other programs are also likely to have trouble reading such numbers.

  2. Only numbers are exported, in standard exponential format; the current calculation result is written out every time the 2nd Prt key is pressed (or that function is invoked from a program). This file format can be re-imported by ti5x, and should also be readable by other programs.

To close the current export file, press (or execute in a program) INV 2nd Adv. It is also closed by INV RST.

Back to Topics

Options Menu

Pressing the Android Menu button brings up a menu with the following options:

Back to Topics

Additional Information

Copies of the user manuals for the original products can be found at rskey.org and datamath.org.