Since there is a part of me still stuck in 1998, I do enjoy using my Texas Instruments TI-86 calculator for math things. When I have a complex equation that my middle-aged brain just can’t seem to work out, I reach for my trusty old TI-86. It has been a faithful companion that has been by my side, may math crunching crutch for over 22 years. I still have some of the same rechargeable nickel metal hydride batteries from Rayovac that still seem to work.
I have written and used many little programs, especially early on in my mechanical design career to accelerate the task and after some time. Early on in my TI-86 time, I use a link cable that connected from the bottom of the calculator to the serial port of my Windows 98 machine. Times have since moved on a bit and today the DB9 Serial interface has been replaced with a USB-A style interface.
The question today, using Linux was, what application do I use to access my calculator? Texas Instruments only have Windows and Mac applications for download. Thanks to the open source community of wonderfully talented individuals, there is an option that is available to me from the openSUSE Community Repositories.
This is a recursive acronym for TiLP Is a Linking Program, like many early open source projects of this nature used (Wine anybody?). I think they could use a better meaning for TiLP2 but it isn’t like I am deeply invested in the project, I just use it from time to time to back things up. I am quite sure it is available for all the flavors of Linux packaging but in my case, I am using the Open Build Service from the openSUSE project.
From here I selected the latest version from the various community repositories and since this isn’t exactly a fast moving application, as in, I don’t believe there has been a meaningful update since 2013. It could probably use a rewrite of the GUI at some point. I am certain it is using GTK2. A Qt version would be nice.
Next, you are going to have to ensure the user is added to the necessary groups, coincidentally, are the same groups needed for interacting with my Arduino devices. This can be done in terminal like this:
sudo usermod -a -G dialout,lock<USER_NAME>
This can also be done by going into YaST > User and Group Management and edit the specific user that requires these positions.
When you first run the application, you are presented a rather dated, yet highly straight forward, interface.
The next thing you will have to do is configure the application to talk to your calculator
There is a feature to have it detect your link cable and device but it does not automatically change the settings. In my case, I have the “SilverLink” and a TI86 so I have to change the “Cable” and “Calc” sections accordingly. When you select, OK, and select refresh / reload button contents of the calculator memory was
The next step for me was to download and transfer some applications to the calculator. The best place I have found, to date, is ticalc.org. This is a great site, largely because it looks like 2002 but more importantly, it is a fast and responsive, no cruft kind of web site. There is a section of Archives that is broken down by the various calculator types. I chose the “86”, then went to the “TI-86 Assembly Files” and from there I started exploring.
Assembly files need to be launched from a “Shell” program. I went with iShell because of the rating. The shell is an important application that is needed in order to launch assembly applications. Without it, I’m not sure how you would launch the application. Perhaps there is a clever way to do it and I just don’t know.
Then I downloaded a few games, because, why not?
zTetris is a winner in my book, so is Mario86. I am impressed to see the monochromatic graphical wonders of 1990s technology. There has been much time invested on games that had to be packed into an incredibly small memory footprint.
The process on the interface to transfer the programs to the calculator is very simple. Just drag and drop from the computer files to the calculator files and you are done. The process to transfer is very quick, as the file sizes are small.
It should be noted, that downloading Assembly files will require the shell program to run. The Basic files do not. I have only put games back on this calculator for the nostalgic fun of it. Every once in a while, I will turn on that 22 year old mathematical tool and smile a bit as I play one of these games.
Where the calculator applications really shine is the science and math categories. The physics solver and resistors calculator has been very valuable and even though mobile devices and applications on Linux are far better in many ways, there is something raw, fast, and efficient about it.
Other Features of Note
Some other functions that should be noted on this application is the ability to backup and restore the contents of the calculator. Depending on how much you use your calculator and what you have stored on it, the need to back it up may be absolutely necessary, especially if you have written many programs.
You can do a screen capture of the calculator but seemingly not when running some of the assembly programs. I am not exactly sure the value of this if it cannot be done at any time.
If you intend on emulating the TI Calc environment on your computer, you will need to do a ROM dump as the ROM is not freely distributable. This process did take some time to accomplish and I messed it up the first time too. Thankfully, there was no harm done doing so.
What I Like
TiLP2 is a simple and efficient application for accessing and interacting with your TI Calculator. The ability to just drag and drop an application onto the calculator, without having to fiddle with the calculator is incredibly convenient. Since I only have a TI 86, I can only tell you how well it works with that device.
The setup is trivial for serial communication on over the USB interface. There were no special drivers required to make the SilverLink work. It was literally plug and play. TiLP2 can detect the cable and device to help you along with the process as well.
Although I didn’t cover the other great features, like backing up and restoring the calculator is another fantastic feature I wish I could have discovered sooner. I had the unfortunate event happen where my TI-86 froze or crashed and I consequently lost everything on the thing. My only solution to recover the calculator was to remove the memory battery. That’s the way goes, sometimes.
What I Don’t Like
The interface is dated and also of older GTK stock so there are some visual issues with the application but it is only a small annoyance. It would be nice to see this application updated with a newer Qt toolkit to make it from this decade.
The documentation on Linux, as to what ports need to be opened for communication isn’t completely clear. I was only made aware of this because of my Arduino fun I have been having. Hopefully, in writing this, I am able to help someone out there find that answer.
Graphing calculators are fun things. In some ways, they are the single board, low power computer of the 90s that people would hobby on. Today, they are still incredibly useful devices that can help you work out mathematical problems. They are great, handheld problem solvers and I, frankly, cannot go back to the simple calculator anymore. I am kicking myself for not having taken the time to discover TiLP sooner, before my calculator crashed hard and I lost all the things I made. Being able to backup and transfer programs you write or variable values is certainly useful.
After toying around with this, I can’t help but think, maybe I should get into the TI Calc collecting game. I have no use for more than what I have now but it would be neat to see the development of Texas Instruments calculators over the generations. I wonder what the newer devices have to offer that my old Ti-86 can’t do.
3 thoughts on “Linking a TI-86 Calculator with openSUSE”