TI-57 Program Emulator
Display Register Display

The Display Register or X Register shows the result after the execution of a Program. In the Python code, the X Register corresponds to the variable "x".

The Display History shows the values of the Display Register each time the Program encounters the "2nd Pause" key. The real Calculator would pause for a second while the Emulator keeps track of the X Register. In the Python code, the Display History is stored in the "regx" list.

The Display Register is editable. Enter a list of numbers separated by spaces to change the Data. Then click elsewhere to see the effect of the change in the Program. Or press the Enter key to run the Program with the new Data. For example, suppose the Data begins with 10 STO 1 20 STO 2 30 STO 3 and you want to replace the first two with 11 STO 1 22 STO 2. You can either edit the program directly or enter 11 22 in the Display Register. This is handy especially with games.

0
Program

Program Instructions/Keys

  • A program is a set of instructions written with the TI-57 keys. You will find the list of keys in the Reference Guide (link at the bottom of the page).
  • You can use X or * for multiplications and : or / for divisions.
  • Most of the keys are simple to enter, others require some clarification (on the left, how to enter the key, on the right, which key it represents):
    2nd Ct = 2nd C.t | x<>t = x↔t | x^2 = x² | Vx = √x | 2nd DMS = 2nd D.MS | 2nd P->R = 2nd P→R | 2nd pi = 2nd π | y^x = yx | 2nd s2 = 2nd σ2 | 2nd S+ = 2nd Σ+ | 2nd x = 2nd x.
  • The Emulator accepts comments starting with #.
Program Sections
  • Program sections are optional.
  • Data Input: This is where the Data is stored in memory. Data would be entered outside of Program mode on a real Calculator.
  • Data Preprocessing: This is where the Data is manipulated before the atual processing. This would be done outside of Program mode on a real Calculator.
  • Data Processing: This is the Program as it would be entered on the real Calculator. The number of steps is only relevant for this section.
Program Limitations
  • The Labels are limited to 7 on the Emulator while labels 8 and 9 are available on a real Calculator.
  • The 50-steps limit is not enforced. This is used in a few cases to improve the "user experience".
  • Numbers are extracted as a whole integer or float but not digit by digit.
  • Jumps between subroutines (GTO or RST) are not implemented.

     
# Lunar Lander # You are in a Lunar Lander at an altitude of 5000 m with 130 L left of gas. # Your job is to touch the ground at less than 5 m/s by adjusting the consumption every 10 sec. # Enter a number in the Display Register then press Return. # The calculator will display the current speed and height in one number, ex. -96.4020. # That means you are descending at 96 m/s at an altitude of 4020 m. # Check how much gas you have left in the History. # You will know you have hit the ground when you see a number ending in .0000. # You landed safely if the speed is under 5 m/s, otherwise you crashed! # Lastly, if you see 9999.9999, that means you are trying to consume more than you have left... # Good luck! # Source: "Ordinateur de poche n°8.pdf#page=52", p. 54 # Data Input 10 STO 4 # Consumption (n) RCL 5 INV 2nd x=t # Game on? GTO 0 # Descending # New game 130 STO 0 # Gas (G) 5000 STO 1 # Altitude (H) 100 +/- STO 2 # Speed (V) 1 STO 5 # Game on 2nd Fix 4 # Data Processing (58 steps excl. Add-ons) 2nd Lbl 0 SBR 2 # Check gas left (Add-on) RCL 4 # n INV SUM 0 # G -= n RCL 0 INV 2nd Fix 2nd Pause 2nd Fix 4 # (Add-on) 10 X RCL 2 # 10V + (2 X RCL 4 - 16) # ΔV = 2n - 16 STO 3 SUM 2 # V += Δv X 5 = # ΔH = 10V + 5ΔV SUM 1 # H += ΔH # V.H = H/1000 + Int(|V|), ex. 96.4020 RCL 1 : 4 INV 2nd log + RCL 2 2nd |x| 2nd Int = STO 6 SBR 3 # Fix V.H sign (Add-on) RCL 1 INV 2nd x>=t # H < 0? GTO 4 # Game over! INV 2nd x=t # H != 0? GTO 1 # Descending 2nd Lbl 4 0 STO 5 # V = √(V² - H X ΔV)/5 RCL 2 x^2 - RCL 1 X RCL 3 : 5 = Vx 2nd Int STO 6 SBR 3 2nd Pause R/S 2nd Lbl 1 RCL 6 2nd Pause R/S # Subroutine: Check gas left (Add-on) 2nd Lbl 2 RCL 0 - RCL 4 = 2nd x>=t # G - n >= 0? INV SBR 9999.9999 # Not enough gas R/S # Subroutine: Fix V.H sign (Add-on) 2nd Lbl 3 RCL 2 2nd x>=t # V >= 0? INV SBR # Going up! RCL 6 +/- STO 6 # V.H = -V.H RCL 6 INV SBR # Note that this program would not fit into a real calculator even excluding Add-ons!

Python Code
Internal State
Manuals EN DE FR Reference Guide EN More on