Hackspire is already 10 years old!
Time to look back on a great piece of TI calculator programming (hi)story:
TI-Nspire hacking began quite early, just shortly after the calculator was released back in 2007 (yes, that’s a decade old!). Originally, discussions and news about it happened on forums like United-TI and yAronet, where famous community members such as Olivier ‘ExtendeD’ Armand, Geoffrey ‘Geogeo’ Anneheim and others shared their discoveries.
Some time later, Hackspire, a community wiki, also got created to bring together such findings in an organized way.
Unsurprisingly, messing a bit with the hardware was required at first, but soon enough hacks became software-based, making Nspire “jailbreaking” much more feasible for the average user. This was made much more easily possible thanks to the amazing Goplat who was able, back in late 2009, to create nspire_emu, the first TI-Nspire emulator (with full-fledged ARM emulation) without even owning a TI-Nspire device. This allowed to dive into the OS and thus to find flaws in order to be able to finally launch our own native programs…
On Dec. 29th, 2009, enough progress was made, such that arbitrary assembly code was run, making headlines on community websites and also elsewhere.
In early 2010, the first software-based exploit was released publicly, under the now well-known name “Ndless” (not ‘needless’, as some TIers would surely like to think). It didn’t take long for programmers to release things like emulators ;)
Now in 2017, with more than 200k downloads from all over the world, Ndless is still alive, working on the latest OS updates, and even though ExtendeD and geogeo aren’t present anymore, the adventure continues as other people like Vogtinator joined the Ndless team to go on unleashing the raw power of the TI-Nspire series, OS update after OS update!
Here’s an overview of the Ndless versions over time since its initial release. The historical source code of ndless and tools is now on Github.
Note that some versions got backported to older OSes, thus explaining the non-linearity in the release dates!
Not mentioned in the changelog column, but of course, each release also brings the usual “improvements and bugfixes”.
The Ndless version matches the OS it targets.
||Notes / Changelog summary
||First public version (for OS 1.1), relatively tedious install
||Stack-based buffer overflow in the OS update file / installation process
||Better installer UX
||Works on early non-CAS 1.1 prototype models
||Same, but for 1.2 CAS OSes
||OS compatibility backports from 1.7
||No computer needed to install Ndless anymore
||Stack-based buffer overflow during .tns file opening
||Compatible with 1.7, 2.0, and 2.1
Works for both Clickpad and Touchpad models
|TI-Nspire CX support and new useful UI functions.
Improved over the years with SDK updates as well:
- Support for file extensions and default programs
- Support for startup programs
- New and improved UI functions
- USB support with HIDn
- TI-Nspire CM support
- C++ programming support
- C/C++/ASM debugging support
|Stack-based buffer overflow in the OS update file / installation process
||Not reboot-proof, but calculator-side install only
||Heap-based buffer overflow during .tns file opening
||New “Zehn” format for binaries
Proper Newlib support in SDK
Last version (3.9.0) to support non-CX (same as the OS)
Coordinated release on TI-Planet, featuring MicroPython
|Heap-based buffer overflow in QnA Lua execution environment
||Heap-based buffer overflow during .tns file loading
||(Almost the same exploit as 4.0.3!)
Support for W+ HW revision (new rotated LCD)
||Bug during .tns file opening