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)
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.)
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.
It's the fact that it is such a limited piece of hardware that makes it interesting. These people are hackers in the most flattering sense of the term, they take resources that they have and make something more. They get their kicks by seeing what different things they can make calculators do that they were never supposed to, and by besting TI in all things calculators. If you can't see the value or fun in any of that, then quite simply you just lack a proper hacker mindset and I feel sorry for you.
"linux is just DOS with a UNIX like syntax" -- Galactic Dominator (944134)
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.
It's the fact that it is such a limited piece of hardware that makes it interesting.
Well... either that, or the fact that it is such a limited piece of hardware is what makes it so frustrating.
People who have never used a programmable calculator -- or who have never had to do much college math -- don't understand how much better they are for doing math. They are purpose-built devices designed to aid complex calculation. Yes, you could probably install a computer algebra system on an iPhone and get pretty much the same capabilities, but a calculator has actual buttons to do all those operations. They also have big libraries of code available to run common formulae for statistics, engineering, chemistry, etc. Modern calculators are very good at letting you get problems done faster.
Imagine a calculator with chemistry software installed, so that when you're doing complex problems in chemistry class you don't have to stop and compute out the molar mass of each compound; instead you just punch in the chemical formula and the calculator returns the mass for you. That's not really cheating. You won't get very far in chemistry class just knowing how to compute molar mass. But every time you add up the mass of a complex formula there's a chance you could make a small error, get the mass wrong, and get the wrong result for the problem. The calculator helps you avoid that.
Now imagine a calculator with a CPU as powerful as the iPhone's, but which is specifically designed so that it doesn't allow users to write that chemistry software.
Breakfast served all day!
It's not the concept I have a problem understanding, it's the target. Compare this with, say, Nintendo DS, iPhone, or XBox hacking. Once you crack the security on these devices, you get access to:
DS - 3D accellerator hardware, cool touchscreen stuff, NES style controller,
iPhone - too much cool stuff to list (though not as appealing now that there's an officially supported SDK),
XBox - a powerful (at the time) console that can handle network functionality and play video, or
Calculator - a bunch of buttons and 100 or so monochrome pixels.
No doubt it was fun for the guy who cracked it to allow it to run custom code.. But I can't think of anything you could do with a handheld calculator that would really improve upon the capabilitie it had when it left the factory. So basically what I'm saying here is that it's cool someone cracked it, but I'm having a hard time understanding why there would actually be a home brew community rallying to this platform.
The thing with the nspires is they are completely worthless. Complete crap, sure they do arithmetic fine, but besides that they do nothing. What this crack does is allow people to program it, without it there wasn't even the possibility of any sort of "homebrew" community for this calculator.
I still don't think you are getting the concept here though. Unlike programming on other platforms, programming on calculators isn't so much a means to an end, it is the end. People don't program them because they want to do fun things with them (though that often is a side effect), they program them because the very act of doing so is fun. The platform provides a very limited set of resources and very tight constraints on things that you want to do, it's this challenge that makes it so popular.
You point at the crappy hardware and say, "Why?". We point at the crappy hardware and say, "That's why."
"linux is just DOS with a UNIX like syntax" -- Galactic Dominator (944134)
I take it someone didn't RTFA. ticalc.org not only is still around, it is the article. It, and several forums are still very active now, perhaps even now more than ever. All of the fun goes on on irc though ;)
"linux is just DOS with a UNIX like syntax" -- Galactic Dominator (944134)
Eh, fair 'nuff. Personally, I'm more into the algorithm than the implementation. Then again, I'm not a "hacker", I'm a CS nerd.
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