TI-57

The TI-57 was a programmable calculator made by Texas Instruments between 1977 and 1982. There were three machines by this name made by TI, the first was the TI-57 with LED display released in September 1977 along the more powerful TI-58 and TI-59. It had 50 program steps and 8 memory registers. Two later versions named TI-57 LCD and TI-57 LCD-II have a LCD display, but were less powerful (ran much slower) and had much less memory: 48 bytes to be allocated between program 'steps' and storage registers.

The programmable calculator TI-57 with LED display
The programmable calculator TI-57 with liquid crystal display

The TI-57 lacked non-volatile memory, so any programs entered were lost when the calculator was switched off or the battery ran out.

The LED display version of the TI-57 had a rechargeable Nickel-Cadmium battery pack BP7 which contains two AA size batteries and electronics to raise the voltage to the 9V required by the calculator. A popular modification is to power it from a 9V battery and use the battery cover of a LED TI-30 or a part of the dismantled battery pack. This modification provides a better battery life than the original battery pack.

Included, with at least the original version was a book entitled "Making Tracks Into Programming". It was self described as "A step-by-step learning guide to the power, ease and fun of using your TI Programmable 57".

Radio Shack also marketed this calculator, rebranded as the EC-4000.

Programming

The programming capabilities of the TI-57 were similar to a primitive macro assembler. Any keystroke could be stored, along with some simple program flow control commands and conditional tests. These included:

GTO (GoTO): Causes program pointer to jump immediately to a Label (0-9) or to a specific program step (00 to 49).

SBR (SuBRoutine): Causes a program to jump to a Label, and on encountering an Inv SBR command, continue executing at the instruction immediately following the original SBR.

DSZ (Decrement and Skip on Zero): Decrements storage register zero, and skips the next instruction if the result is zero. There was also an inverse form, Decrement and Skip if Not Zero.

Tests for equality/inequality could be performed against a value on the display (the x register) and a dedicated test register, t. The result of the test would cause the next instruction to be conditionally skipped.

Programs could be edited by inserting, deleting, or overwriting a program step. A NOP (No OPeration) function was provided to allow a program step to be ignored. Due to the hard limit of 50 program steps, use of NOP was infrequent. The TI-57 used the "one step, one instruction" principle, regardless of whether one instruction required one or up to four keypresses.

Sample program

The following program generates pseudo-random numbers within the range of 1 to 6.

Step Code Key(s) Function Comment
00 30 2nd yx π Pi
01 75 + +
02 33 0 RCL 0 RCL 0 Recall register 0
03 85 =
04 35 yx yx
05 08 8 8
06 65
07 49 2nd ) Int Integer function
08 85 =
09 32 0 STO 0 STO 0 Store result in register 0
10 55 x x
11 06 6 6 Upper bound of the random number
12 75 + +
13 01 1 1
14 85 =
15 49 2nd ) Int Integer function
16 81 R/S R/S Stop (Pause)
17 71 RST RST Reset (back to step 00)
gollark: "UrnContainingAnAmulet" doesn't work.
gollark: When someone makes a cool slightly pun-ish name for the integration.
gollark: It's hardly going to be worse than use of Lua.
gollark: …?
gollark: Well, there goes my evil plan to use amulet for a project.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.