Finally… v3.6

ndless 3.6

We are excited to announce that v3.6, the latest and greatest version of Ndless is finally here, for the latest TI-NspireOS v3.6!

As you may know major updates of Ndless aren’t easy at all, and the hard work has taken us a few more months than we initially expected.

This versions opens the way for native programs to the latest generation of TI-Nspire hardware sold with the locked OS v3.2, from which many of you couldn’t downgrade. We now encourage all of you to update to the latest OS v3.6 and to keep it as we still don’t know what to expect from TI for next OS updates.

This Ndless v3.6 version was born thanks to great collaboration and determination of several community members, among which bsl, critor, Excale, Jim Bauwens, Levak, Lionel Debroux, lkj, tangrs, Vogtinator and myself (ExtendeD). If their names don’t already mean something to us, don’t forget to browse compu’s 100+ programs directory to try out this new Ndless version, as they also wrote a good part of it.

A few notes:

  • Most 3.1 programs will work as-is on this new 3.6, except some (Polydumper, mViewer, nClock, …) which need an update: you can already get them on
  • The installation is non-persistent (i.e. non reboot-proof) for this OS version. This mean an (easy) reinstallation is needed after any crash.

Ndless is now distributed from its dedicated site, The guys at TI-Planet wrote a nice tutorial to guide you through the installation process.

Tell us about your Ndless experience!

On the Way to Ndless 3.2

Many of you have got a brand new TI-Nspire CX with the latest OS 3.2.4 for this back to school, and are coming here to get Ndless for a richer experience with the TI-Nspire. As you may have noticed Ndless is at the moment not compatible with OS 3.2.4, and this OS includes the usual anti-downgrade protection that prevent any Ndless 3.1 installation.

This post should give a bit of context and answer the frequent questions about Ndless compatibility.

Why is Ndless regularly blocked by OS updates?

Ndless and its SDK are the unofficial way to build and run advanced programs for the TI-Nspire in assembly ARM, C and C++, with full access to the hardware and OS services.

Ndless and some of the programs built for it have the side effect of breaking the trust model between TI and the standardized tests’ regulation bodies and the teachers community about the press-to-test feature and the physical distinction between CAS and non-CAS TI-Nspire (although it is actually purely software-based and circumvented by tools such as nLaunch/nLaunchy).
Note that the ability to run games on the TI-Nspire is not really the point as games written with the official Lua API and SDK do exist.

TI chose to protect these features by locking the entire device (instead of protecting specifically the aforementioned features) against any extension and low-level access that Ndless can provide. As a result Ndless (unwillingly) poses itself as an immediate threat to TI’s business model for the TI-Nspire.

TI has for this reason been actively chasing each major version of Ndless since 2009 with anti-Ndless updates, anti-downgrade protections (all defeated except the one in OS 3.2.4) and features against third-party code execution.

We (the Ndless community) believe that any device can ultimately be hacked, and that this is also true for the TI-Nspire. TI’s business model is flawed, the compatibility of Ndless with a new OS version is just a matter of time. TI’s competitors have understood this, but TI stubbornly forces the Ndless community and itself to play a cat-and-mouse game at each OS update.

When will Ndless 3.2 be available?

OS 3.2.0 fortunately didn’t include an anti-downgrade to OS 3.1 and let Ndless 3.1 live its life for a while. We (the contributors to Ndless and its SDK) have been able during this time to focus on useful features instead of playing the wasteful cat-and-mouse game, such as the nSDL library, the bFLT loader (that makes program porting easier), C++ compatibility, the string and Graphic Context API, host and device USB, GDB debugging and other Ndless Editor development tools.

OS 3.2.4 and its anti-downgrade feature now deprives many users who acquired a new TI-Nspire of the many third-party native programs available. The TI-Nspire community is now actively working on the update of Ndless, but this is not an easy task nor a deterministic engineering effort. Unfortunately no release date can be given (and obviously no date should be given that could be taken into account by TI for its OS release management).

How can I help?

If you are a regular user, send us a report of any reproducible reboot while using the standard functions and languages of the TI-Nspire. the Ndless installer indeed relies on unexpected behaviors for the installation of Ndless.

If you are familiar with ARM assembly, join the community, have a closer look to Ndless and let’s work together. Ndless is open source since 2009 for this reason.

Donating is also a good way to help. Donations help to cover hardware costs and can be redistributed to contributing members of the community.

Easy graphics with nGC

Rendering graphics on the TI-Nspire in C/C++ with Ndless as never be so easy!

hoffa’s SDL port nSDL and totorigolo’s nRGBlib were already available.

Now Levak brings nGC to the Ndless SDK. The “TI-Nspire Graphic Context” is a standard TI-Nspire API inspired by Java’s Graphics2D and based on Nucleus GRAFIX functions. If you have already developed Lua programs for the TI-Nspire the API will look very familiar to you.




Get Ndless and Ndless SDK >= r903,  #include <ngc.h>, have a look at the API documentation, run the sample program in _samples/ngc/ and start to write your own colorful native programs now!

GDB debugging now available

I added a while ago support for GDB debugging to nspire_emu’s fork Ncubate. Ncubate has now become out-of-date and the  feature broke in Ndless several revisions ago.

Thanks to the efforts of Lionel Debroux and nspire_emu’s author Goplat of merging the feature back into nspire_emu, I’m excited to announce the availability of graphical debugging for ARM, C and C++ Ndless-based programs through the scite-debug plugin!


Get the latest Ndless SDK r848.

Update your emulated OS to the latest Ndless revision r848.

Follow the tutorial for GDB debugging with Ndless.

Happy debugging!

Thank You


My TI-Nspire, one of the earliest production model of the blue Clickpad TI-Nspire is getting old… Mid-2007 I started to work with Romain Liévin on the reverse engineering of the USB protocol that made the TI-calc linking program TiLP able to talk to the TI-Nspire.

Today I’m proud to see Ndless and Luna power Lua, ARM, C and C++ programs each one more exciting than the last. This free software was possible thanks to community collaboration but also donations.

As Jim Bauwens sends me a TI-Nspire CX CAS that will make testing on real hardware easier for me, I want to thank you, from Switzerland to Mexico for your contributions, including Benoît Garrone, Mark Mäkinen, Rodrigo Carrillo, Sebastian Wolf and Marcel Maeder.

C++ now available for the TI-Nspire

tangrs contributed many months ago to the support of C++ for Ndless with a bFLT loader and patches for the toolchain. Unfortunately the vanilla elf2flt couldn’t handle all the relocations produced by the latest GCC for ARM, including those required when linking with nSDL, hoffa’s port of the Simple DirectMedia Layer library. I’m today excited to announce:

C++ and nSDL now offers interesting opportunities to bring nice software to the TI-Nspire calculator. I have personally tried a quick and dirty port of GDO’s Advanced Tetris: atetris Porting a simple graphical program means remapping the keys, relaying out the display and other straightforward minor adjustments. Source code is provided for the curious. Get Advanced Tetris for the TI-Nspire!

Introducing HIDn – USB HID drivers

Since both the keyboard and mouse drivers have now reached the minimal stability and OS integration for a public release, here is the first alpha version!

Please keep it mind this is an early version with basic support and several limitations.

Get Ndless r765. This update is required for the drivers to work.

Get HIDn, the USB HID drivers.

Get the Ndless SDK r765 if you want to write your own USB drivers. Note that only basic interrupt transfer support has been tested.

Discuss about it on Omnimaga.

(many thanks to Rhombicuboctahedron for the video)

Better USB mouse integration into TI-Nspire OS

Personal events left me nearly no time to make any progress on my ongoing projects, but I hopefully recently got the opportunity to improve the early experiments of USB mouse support to integrate it with the standard OS events.

The USB driver stills has major glitches and my old blue brick doesn’t let me know how it would look like on TI-Nspire CX, but here is a preview of this new way to interact with the UI parts of the OS:

A new milestone for openness: Linux!

In case you missed it, tangrs has been working hard for the past few months to get Linux ported to the TI-Nspire calculator.

The port is not yet fully stabilized nor quite ready for broad consumption and requires some user-level knowledge of Linux systems, but is definitely worth a try. It basically looks like a Ndless-based TI-Nspire specific loader configured to run a Linux kernel image with a RAM disk .

Experimental support for root filesystem installed on USB mass storage is being worked on, so that Datalight’s proprietary Flash FX/Reliance filesystem used by TI’s OS isn’t a limit anymore. This also means that the native TI-Nspire OS image is not replaced by the Linux system, and Linux can been booted on demand.

Support for USB keyboardX server, directFB, Wi-Fi (with the help of a powered USB hub) and text-based Internet browsing  is progressively being added and tested (thanks to Vogtinator for the build and demo).

Linux for the TI-Nspire also means instant compatibility with hundreds programs (although cross-compilation to ARM is necessary),  including command line tools, script engines, mathematical and scientific utilities and games, as long as the constrained RAM size and CPU speed are not an issue for them.

The project is under active development, tangrs is looking for contributors to make Linux become a strong alternative to the stock OS.