In brief: Texas Instruments graphing calculators have supported custom scripts for decades, even supporting more advanced programming languages like C and assembly. A community of hobbyists has grown up around this and has created all kinds of software for TI devices. However, a recent firmware update bricked programs running in those languages, and enthusiasts are not happy about it.
Last week, Cemetech reported that Texas Instruments had patched out the ability to execute programs written in assembly language (ASM) or C. The move threw the TI-enthusiast community into an uproar.
After the firmware update, attempting to run any ASM or C program returns an error (below) reading, “Error: Invalid. Attempted to use a variable or function where it is not valid.” According to a support email posted by TI-Planet, only the TI-84 Plus CE, TI-83 Plus CE-T, and the TI-83 Premium CE are affected.
According to a poster on Linus Tech Tips, Texas instruments removed the functionality in response to a video posted by a student and teacher showing how one can bypass Exam Mode on the calculators. Since TI prides itself on its testing security, it pulled support for the two programming languages.
The problem is that the video demonstrating the exploit used a calculator running a long-outdated version of the OS (5.2.2). The current operating system is 5.5.1 and will be the default in new calcualtors going forward. The poster’s argument is that the video used software that was “obsolete” before the release of 5.5.1.
Furthermore, the enthusiast community has worked with TI for many years, sharing flaws like this privately with the company. That way, TI developers can patch exploits before they are revealed publically, like what just happened.
After the video was released, the community reached out to Texas Instruments, which assured them it would not do something as drastic as restricting the languages. Indeed, in the 5.5.0 beta, everything was intact. However, upon the public rollout, TI had revised the OS to 5.5.1 and removed the support for ASM and C. The calculators still run TI-BASIC and Python, but these languages are far too slow for advanced programming.
“It’s the slowest Python implementation in a calculator,” noted Cemetech. “TI-Planet clocked the put_pixel() fill rate at 48 pixels per seconds [sic]. The next two best calculators are 100x to 200x times faster. The next one is 1000x times faster.”
The lowered performance makes simple ray-tracing and fractal programs impossible.
To make matters worse, removing the languages did not even fix the problem, say hobbyists on Planet Casio. Students can still modify hardware to rig the Exam Mode LED. They can also use outdated firmware since testing sites do not generally check to see that calculators are running the most current operating system.
For now, TI-programming enthusiasts will have to avoid updating for as long as possible. However, the community hopes to raise “enough negative backlash” to have Texas Instruments reinstate the support.
Image credit: CalcPlex