TI-Nspire Hack Enables User Programming
An anonymous reader writes "Texas Instruments' most recent, ARM-based series of graphing calculators, the TI-Nspire line, has long resisted users' efforts to run their own software. (Unlike other TI calculator models, which can be programmed either in BASIC, C, or assembly language, the Nspire only supports an extremely limited form of BASIC.) A bug in the Nspire's OS was recently discovered, however, which can be exploited to execute arbitrary machine code. Now the first version of a tool called Ndless has been released, enabling users, for the first time, to write and run their own C and assembly programs on the device. This opens up exciting new possibilities for these devices, which are extremely powerful compared to TI's other calculator offerings, but (thanks to the built-in software's limitations) have hitherto been largely ignored by the calculator programming community."
It fixes some battery reporting issues and other minor bugs. All users are strongly encouraged to upgrade.
ti-82,83,85, and 86 all truly only supported t-basic
all of the crazy stuff was implemented by hobbyists
WHY do they do that? I could see if they had either some expensive dev tool you had to use to make your own powerful apps, or if they were selling a much more expensive calculator that had all the programming options unlocked, but in this case I don't see any profit in it for TI to not let people program them?
I work for the Department of Redundancy Department.
Well, I mean, I'll still do it, of course . . . but for manly reasons, as opposed to just feeling like I have some power over the machine.
I scream. You scream. I assume that means we're both acquainted with the problem. We proceed.
I knew the TI-89 was awesome, but when I bought it over 10 years ago I had no idea that in 2010 it would still be the best graphing calculator in the world.
It solves algebra problems.
It keeps a useful history of your equations.
It's user-friendly.
You can write simple (but graphics based) games in BASIC while you sit in class.
Or you can play pretty impressive assembly games while you pretend to do your homework.
The TI-89 is what a graphing calculator should be. It's sad to see that TI has gotten greedy.
It may have an outdated processor and limited memory but I still love TI's previous flagship CAS calculator, the TI-89 Titanium. Best part about it: it has tons of 3rd party and user generated apps in TI-Basic, C and assembly. It's probably still the best calculator there is for engineering professionals (unless you prefer rpn...in which case, HP is the best)
We have so many cool devices to program for these days.. And hacking a calculator is about as exciting as hacking a microwave (yeah yeah, particles are excited in a microwave, but you know what i meant).
The TI83 and TI86 had an ASM command for running assembly-language code without requiring a hacked memory backup. (on the original TI83, the ASM command was 'Send(9', but later models used an actual 'Asm(' command.)
The TI-83 did support user assembly code execution. It was somewhat hacky support (you used the command Send(9pgrmPROGNAME rather than the clearly more obvious Asm(prgmPROGNAME command on later models), but it was available and documentation was provided by TI.
Additionally, TI released software development kits for later models (TI-83 Plus, TI-84 Plus, TI-89, TI-92 Plus) to support user programming in assembly language and C. That said, they've really taken a step backwards in user-level coding on the TI-Nspire. Neither do they support execution of anything other than TI-BASIC, but the BASIC programming language is extremely limited.
What's more, TI actually released assembly programs that would install new features on the calculator. I have a TI-86 from years ago and just recently installed a TI-provided statistics package that gives me the various distributions, test, etc.
"Anyone who [rips a CD] is probably engaging in copyright infringement." - David O. Carson
True. It is also possible to program in z80 asm for at least the 83/84. I messed around with that a bit. Just download the appropriate software, assemble the code on your pc and send it to the calculator. It's really great if you can get an emulator working so you don't have to constantly mess with the TI linking software for every debug/test, and of course the possibility of bricking your calculator inherent with assembly. Ah, good times.
Seems the developers have had some projects stored away until Ndless was released:
http://www.ticalc.org/archives/files/fileinfo/426/42630.html
From the program description: "gbc4nspire is a Game Boy and Game Boy Color emulator for the TI-Nspire and TI-Nspire CAS, written from scratch in ARM assembly"
Pretty impressive, if you ask me.
I'm pretty sure in every other story like this we lambast the original programmers for their sloppy coding and demand the heads of the managers in charge.
Any chance someone has documented the exploit that was left so that other programmers can learn how to not make programs in future? Or are bugs in software acceptable when we can all install our own crap on the device in question?
--- Band: Joey Ultra
I loved my TI-83 in high school, what great calculator. The TI-83 was also a great portable gaming device and my first introduction to assembly programming. I still carry my TI-89 around with me as I have yet to find a good substitute (not that I have looked very hard). But I wonder with the ubiquity of mobile phones how long it will be before it is more economical to have student download a graphing calculator app for their iPhone/iPod/Android device.
The latest smartphones appear to have way more processing power than the latest TI Calculator offerings, plus the phones are near competitively priced with contracts and much more practical uses beyond class than a $150 calculator offer. Seems the software is were it is at, but heck I had a TI-89 emulator for Windows. Granted on an exam it might be difficult for a teacher to curb cheating via instant messenger, but my philosophy has always been if you can cheat on an exam it is a poor exam--or at least have different forms of the exam to deter instant message cheating with in the same class.
TI sucks for restricting the TI-Nspire from running native code, but I can imagine reasons why they would do so. Often the calculators that students are able to use on exams and standardized tests are restricted to curb cheating. I remember having to put tape over my TI-83's IR port during the ACT exam. Really these exams should be on computers now days with a basic calculator built in to the program.
High schools and colleges need to get together and encourage industry to make a much-cheaper calculator that is "good" through college math courses that non-technical majors typically take AND good through AB/AP/etc. high school courses as well as all common college entrance exams.
In practice, this would mean 2nd or 3rd semester Calculus.
Think "one laptop per child" but a calculator. This shouldn't run over $40 in America.
Of course, the whole idea of a hand-held dedicated student calculator that students have to spend $80+ on will be moot in a few years. Schools and testing centers will provide calculators for on-site use and students will have "calculator apps" on their cell phones for homework.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
When I was in school, your sliderule had to stay in its scabbard during a test.
Frankly, I never thought that made any sense, same with advanced calculators you punks have today. The whole point of schooling is to help you learn to think and to use the tools you will need in adult "real life". It just does not make any sense to restrict this. Want a car analogy? Tell the kids in shop class they can't use sockets and so on to do car repairs on a troubleshooting and repair test, they must use their fingers only. A kid studying cabinetry, oh no, you can't use that bench saw or the router, you have to tear the wood in half with your bare hands and use your teeth for trimming the laminate.
I think academics get too pompous for their students good sometimes. If it is a tool that you will be using and need on into real life, go ahead, use it, that is what it is for in the first place!
but (thanks to the built-in software's limitations) have hitherto been largely ignored by the calculator programming community
Translation: Fred Wilkins from Nebraska is simply chuffed.
Nowadays you always got a computer running, which has more screen space, keys, processing power and features anyway.
Even my mobile phone can do everything a standalone scientific calculator can do, and more. Since there is a great calculator/math software for it, and since it runs Python and JavaScript anyway. Amongst others.
What are the reasons you still limit yourself to standalone calculators? (Honest question.) :)
To me it’s as pointless as having a standalone mp3 player. My phone has great sound and lots of space. The software is whatever I choose anyway.
Any sufficiently advanced intelligence is indistinguishable from stupidity.
Mine has: http://fx-602p.krischik.com/index.php/Simulator/SymbianOS
What are the reasons you still limit yourself to standalone calculators? (Honest question.)
How about not being disqualified for cheating in an exam. Besides: in an exam where time is on the essence real buttons rule.
I've never seen a TI-82, but I had a TI-86 and my friends had TI-85s and TI-83s, and I can assure you that they did support assembly language programming. They didn't natively support C, but if you had a compiler that produced Z80 assembly on another platform then you could compile there and copy the code across.
I am TheRaven on Soylent News
In the last few days, I've realized a need: an Eclipse plugin for programming TI calculators. The stuff put out for them by TI is outdated and not all that great in quality, probably because TI is a hardware company, not a software one.