Hackspires 10th Anniversary

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.

Ndless Version Release date Notes / Changelog summary Installation method
1.0 2010/02/26 First public version (for OS 1.1), relatively tedious install Stack-based buffer overflow in the OS update file / installation process
1.1 2010/07/31 Better installer UX
1.1.1 2010/10/16 Diagnostic mode
1.1 proto 2011/03/13 Works on early non-CAS 1.1 prototype models
1.2 proto 2011/03/07 Same, but for 1.2 CAS OSes
1.2 2011/11/11
1.3 2010/12/26 OS compatibility backports from 1.7
1.4 2010/12/26
1.7 2010/12/04 No computer needed to install Ndless anymore Stack-based buffer overflow during .tns file opening
2.0 2011/02/26 Compatible with 1.7, 2.0, and 2.1
Works for both Clickpad and Touchpad models




3.1 r914






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
3.6 r1006 2014/03/15 Not reboot-proof, but calculator-side install only Heap-based buffer overflow during .tns file opening
3.9 r2000 2015/02/23 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
4.0.3 r2001 2016/01/02 Heap-based buffer overflow during .tns file loading
4.2 r2004 2016/02/19 (Almost the same exploit as 4.0.3!)

Support for W+ HW revision (new rotated LCD)

4.4 r2005 2017/01/21 Bug during .tns file opening
?? ?? ?? ??

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s