Texas Instruments TI 58C/TI 59

Version Française
WikipédiA



On the left, the TI 59 with its card reader, on the right the TI 58C with a module software.

What's in the box TI Compiler My programs

My third programmable calculator, a second hand one I got around 1985. I first had the TI 57 and then the TI 66 before the TI-58C, yet obsolete compared to thenew LCD machines with low cost and low power. No more AC adapter needed.

A true poket computer:
  1. complete instruction set
  2. 480 steps for the 58C and the double for the 59
  3. ROM modules with 5000 steps of various applications
  4. good math precision
  5. optionnal thermal printer with alphanumeric character set
  6. magnetic card reader for the 59.
Some defaults:
  1. the keyboard is not eternal
  2. system with AC adapter
Printer PC-100

Here is the TI-59 onto its thermal printer: no ink cartridges to change.

On the right, the alphanumeric character set:
make your programs talk...
TI Compiler & TI Compiler Shell:
Here is the way to program your TI 59 with the facilities of a high level language:
  1. variable names that replaces the register numbers
  2. label names, flag names
  3. comments
  4. addresses calculated at compilation time
  5. structures as LOOP/WHILE/UNTIL/FOR and IF/ELSE/ENDIF
  6. structures as SELECT, CASE, DEFAULT, ENDCASE
  7. calculated goto ON reg { ... }
  8. multiple assignment
  9. array notation
  10. printing operations
  11. Macros with parameters
It ouputs the listing as the TI printer does with:
  1. step numbers
  2. key codes
  3. mnemonics with 3 characters

Now, it is interfaced with three emulators andgenerates the files loadable by each (see below):
  • the TI-59.EXE emulator for Windows
  • the TI59ce emulator running on Pocket PC!
  • the brand new emulator from Alain Zanchetta under Windows
The TI Compiler Shell, the graphic interface is available!
Included: french and english documentation with automatic installer for Windows.



The Shell with the edition window, the listing, the MS-DOS window for the compiler and the Windows TI-59 emulator.
TI Compiler is a DOS program, 100% assembly A86, that just requieres a PC XT under DOS 3.xxwith 128 Kb ram. It provides simple commands to define register and label names, facilities to use the unofficial HIR functions, pseudo-opcodes to replace dark operations (as OP 2x or OP 3x remplaced by INC and DEC) and a lot oferror messages to ease the debugging.

You can download TI Compiler, the file contains:
  1. TICOMP.COM: the compiler 16Kb!
  2. Ticomp.DOC: the complete user guide
  3. History.txt: the versions
  4. Ticomp.s: assembly source
  5. TISOURCE.TXT: an example
  6. TILIST.TXT et TIEMUL.T59 two files generated by the example
Some examples:

Replace register numbers and key labels...
  LBL A
  RCL 00
  x²
  STO 01
  RTN
...with variable names and procedures names!
#label A au_carré
#reg 00 valeur
#reg 01 carré

LBL au_carré
    RCL valeur
    x²
    STO carré
RTN
Replace step numbers that you must calculate...
   RCL 00
   SBR 012
   STO 01
   R/S
   x²
   RTN
...with label names calculated automatically!
   RCL 00
   SBR routine
   STO 01
   R/S
routine:
   x²
   RTN
Replace tests, loops without visible structure...
   RCL 00
   x%t
   RCL 01
   x=t 017
   RCL 00
   +
   DSZ 0 008
   0
   =
   R/S
...with structures as IF/ENDIF, or FOR/LOOP clearly defined!
   RCL compteur
   x%t
   RCL reference
   IF(x<>t)
      FOR compteur
         RCL compteur
         +
      LOOP
      0 =
   ENDIF
   R/S
Replace a dark key list...
   RCL 00
   +
   RCL 01
   =
   STO 02
   1 0 0 0
   SUM 00
   SUM 01
...with visible logical units, with multiple affectation, sum or product:
   #reg 2 somme
   #reg 0 x
   #reg 1 y

   somme={ @x + @y = }
   x,y+{ $1000 }
Replace indirect addressing in non clearly defined zones...
   4 STO 00
   9 STO 05
   RC* 00 x%t
   RC* 05
   INV x=t 022
   OP 35
   DSZ 00 006
   R/S
   ...
...with an array notation!
   #ARRAY tab_1 1 4
   #ARRAY tab_2 6 9
   #reg 00 I
   #reg 05 J
   
   I={ TOP tab_1 }
   J={ TOP tab_2 }
   FOR I
      @tab_1(I) x%t
      @tab_2(J)
   WHILE(x=t) difference
      DEC J
   WEND
   R/S
 difference: ...
Replace codes and printing operations...
   6413351713
   OP 04
   1 0 x² * Pi =
   OP 06
...with text and clear orders!
   "=area line>>
   $10 x² * Pi =
   MixLine   ; this prints
   ; 314,1592654 =area
The TI Compiler generates the complete listing for you to program your calculator...
000 76 LBL
001 10  E'
002 43 RCL
003 12 12 
004 85  + 
005 89 Pi 
006 95  = 
007 45 y^x
008 05  5 
009 95  = 
010 22 INV
011 59 Int
012 42 STO
013 12 12
...
... but also the file loadable with the TI-59.EXE emulator for a fast test and immediate debugging. (The default file name is TIEMUL.T59 and can be altered using #EMULATOR command).
Link with TI59ce on Pocket PC

TI59ce is the second emulator supported byTI Compiler. It runs on Pocket PC and SmartPhone and is always updated by its author Alain Zanchetta.The previous emulator suffers from rare bugs that will never be corrected... Try this with TI-59.EXE:
8888888888 2nd INT
We expect
8888888888
But it returns
298954296.0
This bug doesn't exist in TI59ce that I recommend to you as its author is still active.

Under Windows XP, I use Microsoft's Device Emulator to simulate a Pocket PC and use TI59ce!For Device Emulator setup, please contact me.
TI Compiler outputs the file TIPPC.TI (default name, change it with #POCKETPC command) that TI59ce can load usingINV 2ND WRITE:
The brand new emulator by Alain Zanchetta for Windows.

Based on his work for the PocketPC, here is his PC version.
Numbers format has been totally reviewed to match the 13 digits decimal precision of the calculator.

This emulator comes with a debugger with register viewing and breakpoints!

Great work than you can download here.

TI Compiler outputs the file TIWIN.TI (default name, change it with #AZEMULATOR command) that the emulator can load usingINV 2ND WRITE


Pierre Houbert's emulator for Windows.

Brand new, still under development, an emulator full of promises. The author wrote a great documentation, precise and complete, in PDF format (in french).

It doesn't only emulates the TI-58/59 with its PC100 printer, it extends the OPnn codes with amazing capabilities :

Alphanumeric display on screen



Prints 5 simultaneous curves with 100 pixels precision



Numeric jumps managment enhanced as insertion/deletion of one step updates the program



And many more..!!

The emulator in TRACE mode with listing and registers display

Pierre Houbert's page for downloads is here!

Dave Ramey's programs Thanks!

Here's an active TI-Shell user!
(April 13th 2010: PRJ files fixed)
Download TI59PROGS, a set of programs sent by Dave Ramey, some are his own creation,others come from different magazines. You'll find: New programs since the last update (with project file for the TI Shell): Another hard work from Dave, here are the sources of the Maths Utilities library that you can use,read or modify:

Maths Utilities


Module Usage

Yet another Dave Ramey's contribution! Alain Zanchetta's emulator allows you to load modules and the debugger now can display the HIR contents. So Dave has rewritten the source code from various modules with the file loadbale by the emulator:Each ZIP contains the sources and the *.MOD file loadable by the emulator.Victor Toth offers on-line the manuals of the modules here!


My programs

Each ZIP archive contains:
*.LST
The program with steps and codes
*.T59
The same but loadable by the emulator TI59.EXE written by Miroslav Nemecek
*.ENG
English help file for the emulator, rename it as *.TXT
*.FRA
The same in french
*.DOC
General informations about the program, both french and english
TISOURCE.TXT
Includes the new source file for TI Compiler
Includes a version for the printer PC100
Title
Category
Good example for...
Description
ALEATEST Maths
allows you to test your random number generator, repartition in 10th, mean, standard deviation Here the result for the generator x'=frac(1/x). Not balanced! First part (from 0,0 to 0,4) are loaded but the last ones (from 0,5 to 0,9) no.
MASTMIND Game reflexion #ARRAY, #MACRO
The Master Mind game: a combination of four digits from 1 to 7, repetitions allowed. Here you can see a gameplay with the printer version
INTEGDBL Maths Calculates double integrals.
GAUSS_5 Maths #DATA Calculates integrals with the very efficient Gauss method with 5 points.
NEWTON Maths Solves equations f(x)=0.
SYSNOLIN Maths #ORG Solves non linear systems
( f(x,y)=0
( g(x,y)=0
FRACTION Maths RPN calculator for fractions, simplifications, GCD, LCM, approximation of a real number.
STATS Maths #PGM, #ARRAY Two variables regression up to Y=a.F(x,t)+b with optimisation of t.
SOLEIL (sun) Astronomy
Sunrise, sunset, duration of day, phase of the Moon at any date and from any point on Earth. On the photo, the moon state on Sept 10,2009. Sign "-" so decreasing moon, 60% of light on the right (part 333333) and 40% of shadow on the left (part 1111).
MAXIMUM Maths Search for a local maxium (or minimum) of a function.
BIG SUM Maths Optimize the sum of a big number of terms (to be tested, relative efficiency...)
EARTHDIST Geography Distances on Earth (or another sphere), linear distance, jet lag.
Tanks Battle Game strategy VAL Fight against your calculator, destroy the enemy before you get destroyed!
LASER Game reflexion #ARRAY, SELECT, #ASK, printing Guess where are the mirrors on your grid using your laser!