Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - ExtendeD

Pages: [1]
TI-Nspire / HIDn - USB HID drivers for the TI-Nspire
« on: April 20, 2013, 07:40:49 am »
This has been an unreleased project for a while, but I have recently been able to make it releasable.

The Ndless SDK r765 now makes available the *BSD USBDI API to be able to write our own USB device drivers and integrate them to the OS.

HIDn is a set of HID resident drivers (keyboard and mouse) with TI-Nspire OS integration. This means it can be used as an alternative to the calculator's keyboard and pad. Integration with Ndless programs won't work as is but is possible in the future.

Ndless r765 is required by HIDn, make sure to update.

This is an alpha version with several limitations, thank you for your feedback. You may subscribe for future updates on Ndlessly.

[ Invalid YouTube link ]

(Credits to Rhombicuboctahedron for the video)


Can both a mouse and a keyboard be used simultaneously?
Yes, with an USB hub. Some hubs seem to make the OS crash though.

Interaction with the scrollbar is not standard.
This is an TI OS bug.

Some buggy tiles appear on the screen when the cursor is moved.
This is a TI OS bug.

Device XYZ doesn't work well.
Please report the exact hardware used and the unexpected behavior.

Known issues and planned improvements

  • The mouse can't go over the top bar
  • The mouse cursor doesn't show up in some screens
  • Right mouse button will be bound to ctrl+menu
  • Mouse wheel will be bound to up/down
  • Currently partial keyboard mapping to be entirely reworked
  • Random crashes. Please provide any additional helpful info on these.
  • Lua programs with timers or scores may display absurd numbers

News / Ndless v3.1 beta for OS v3.1 with TI-Nspire CX support released
« on: January 19, 2012, 03:59:53 pm »

I’m excited to announce that Ndless v3.1 is moving to public beta stage! This version is proudly part of the simultaneous release of tools and programs that brings the full power of native developement to the TI-Nspire CX. The release includes PolyDumper (required by nspire_emu to run the CX OS), nspire_emu, Nover, nDOOM, nRGBlib, gbc4nspire, and NESpire compatible with the CX.

Ndless combines an SDK and an OS-v3.1 patch to allow third-party native development on the TI-Nspire classic and CX. This third generation wouldn’t have been possible without the invaluable help of several contributors and testers, including adriweb, bsl, calc84maniac, critor, Goplat, jimbauwens, Levak and Lionel Debroux.

As a beta version, it should be frequently updated with bug fixes and minor enhancements until the final release. The more feedback this version gets the faster it will reach a stable state. You can either post your problem reports and feature requests to this thread or on the tracker.

Download the latest beta (SDK + installer) (temporary mirror, mirror 2). Please don’t copy the file to your own site as it is frequently updated, prefer to share the URL.

Users, make sure to follow the User Guide for installation instructions. TI-Planet also provides tutorials in French and English. If you are having trouble with the installation, use the Troubleshooting Guide.
New developers, make your first steps with the SDK.
Authors of Ndless 2 programs, upgrade them with TI-Nspire CX compatibility.

The up-to-date source code is available on the Subversion trunk (The login/password: guest/guest, you can accept the certificate).

New and noteworthy in v3.1:
- TI-Nspire CX compatibility
- Persistence: The installation is now reboot proof
- Extended libndls API: on_key_pressed(), show_msgbox_2b(), show_msgbox_3b(), is_cx, is_classic, has_colors, hwtype, IO, IO_LCD_CONTROL, lcd_incolor(), lcd_ingray(), lcd_isincolor()
- New syscalls: ftell(), truncate()

It appears that during its function cleanup of the TI-Nspire implementation, TI fortunately kept the standard Lua function loadstring() that allows dynamic loading of Lua code snippets.

Here is a quick and dirty example of a command prompt to execute Lua on-liners:
Code: [Select]
function on.create()
editor = D2Editor.newRichText()

function on.charIn(char)
editor:setText(editor:getText() .. char)
function on.enterKey()
local chunk, errc = loadstring(editor:getText())
if (not chunk) then
local status, err = pcall(chunk)
if (not status) then

function on.backspaceKey()
editor:setText(editor:getText():sub(1, editor:getText():len() - 1))

Now imagine this combined with calls to and var.recall(), and you have a on-calc Lua code compiler :)
Unfortunately I have too many simultaneous projects to invest more on this, but I'm sure some of you will be able to build interesting tools from this.

News / Educational Lua scripts samples
« on: May 21, 2011, 11:06:27 am »
Did some of you know about these Lua samples? The page has been removed by its author but the TNS and Lua source files are still available.

They seem to have been produced by the official (currently private) Lua SDK.

TI-Nspire / 9sweeper - Minesweeper in Lua for TI-Nspire
« on: April 17, 2011, 10:23:27 am »
Here is a simple Minesweeper in Lua. It's not very well-coded since I learnt Lua yesterday, and doesn't look so good since I am not good at game design, but it's a first shot that I may try to improve later. It's untested on real calculator, and not thoroughly tested.

It will at least give another example of Lua code for beginners. TI's event-driven API  is nice and easy to use. Thank to all of those who contributed to bring Lua development to the TI-Nspire :)

- R: restart
- Enter: dig
- F: set/unset flag/unknown

- Make it compatible with the Touchpad mouse?
- Use colors for the CX
- Check if the game is won
- Display the keys
- Show when the game is over
- Use images
- Simplify code

Ndless / Ndless 2.0 for TI-Nspire enters beta stage
« on: February 25, 2011, 01:56:41 pm »
Ndless 2.0 is the latest and greatest way to develop and run third-party software on the TI-Nspire.
This version:
- (update: 2011/06/11) has now moved to a stable state
- is compatible with OS v1.7, v2.0.1, v2.1.0
- run on both Clickpad and Touchpad models

Ndless v2.0 binaries are available in Omnimaga's download section.

Issue tracker:

Ndless / Ndless 2.0 for TI-Nspire Clickpad/Touchpad
« on: December 04, 2010, 09:36:32 am »
Ndless combines a resident program and utilities to open the TI-Nspire to third-party C and assembly development.

Ndless 2.0 is the upcoming version compatible with OS 1.7/2.0/2.1, and with Touchpad models.

The up-to-date source code is available on the Subversion trunk (The login/password: guest/guest, you can accept the certificate).

To build and hack into Ndless 2.0:

 - Install a Subversion client such as TortoiseSVN
 - Checkout (don't Import!) the source code with the URL and account above
 - Set up a C development environment
 - Set up the development environment for Ndless and built it: follow the procedure described in src/doc/Ndess-Development.txt in your working copy
 - Install it on nspire_emu or your calculator by following src/doc/ReadMe.txt

Update frequently your SVN working copy to get and rebuild the latest version.

You may browse the Development resources on Hackspire to start your own programs.

Links to download the TI-Nspire OSes are available in this topic.

Major known issues:

  • Installation message replaced by a document format warning on real harware:
    The program loader is called before it is installed, earlier than on OS 1.7. The issue doesn't appear on nspire_emu.

Other possible enhancements and known issues are available on the tracker.

Planned features:

  • A simple console: The console integrates with programs through stdin and stdout/stderr (replacing the default RS232 interface), to make ports of non-TI-Nspire programs easier. The keyboard is used to type in strings, which are echoed on the screen. stdout/stderr is displayed on the scrolling screen.
    A simple shell may also be added, with history and auto-completion of file names to make possible the execution of command-line tools with arguments.

Your help is needed:

- Post any bug report, source-level if possible
- Help us to extend the list of supported syscalls
- Any details, diagnostic or patch which would help fixing the defects is extremely valuable

Ndless is an Open Source project, which means:
  • Time is not a constraint. Quality and Features are. Please don't ask for release dates.
  • Any contribution (patches, information, problem reports) for this version can be valuable.

News / Ncubate v.0.32b is out
« on: November 06, 2010, 12:29:43 pm »
Ncubate v032b is out!

The major feature added in this version is the compatibility with the GNU GDB debugger which allows source-level debugging for C programs. I have been working on this feature for the last 10 months, I am pleased to share it, and hope it will help new TI-Nspire projects to roll out.

Tutorials are available on Hackspire and YouTube.

Thanks to apcalc for BlockDude featured in the tutorial.
(sorry for the poor quality, it seems to have been damaged by the YouTube conversion)

This version also includes an ARM loader which can be used by the emulator to run arbitrary ARM instructions. Currently only the GDB support depends on it to speak with the Ndless program loader. I would like to make use of it to add file tranfers to OS 2.1 and also file exports. Unfortunately the file-related syscalls seem to fail for an unknown reason when injecting a call... Any help on this is welcome.

Here is the full changelog of v032b including the minor changes:

* v032b - 2010/11/06
 - ADD: GDB support
 - ADD: Command-line option /R
 - CHG: Read/write breakpoint logs display a virtual address instead of a
   physical address
 - FIX: 'j' (over a non-branch instruction) and 'rs pc' debugger commands
   incorrectly skipped the target instruction
 - FIX: flash file creation (/N) may sometimes fail
 - FIX: no more 'bad read word' on auto power down, but still hangs
 - FIX: ineffective command line option /D when saved state was reloaded on startup

Other Calculators / Ncubate - Enhanced TI-Nspire emulator
« on: November 06, 2010, 11:55:52 am »
Ncubate - Enhanced TI-Nspire emulator;sa=view;down=595

Ncubate is a custom version of Goplat's nspire_emu enhanced with features useful to developers, such as state saving/reloading, additional debugger commands and support for the GDB debugger.

Ndless / Ndless 1.7 for TI-Nspire
« on: September 19, 2010, 11:29:56 am »
Ndless combines a resident program and utilities to open the TI-Nspire to third-party C and assembly development.

Ndless 1.7 is the latest stable release compatible with OS 1.7. This version is currently not compatible with the TI-Nspire Touchpad.
This topic is dedicated to discussions about this version.

Possible enhancements and known issues are available on the tracker.

You may browse the Development resources on Hackspire to start your own programs.

To build and hack into Ndless 1.7, follow src/doc/Ndess-Development.txt.

Ndless v1.1.1 is still available but support is dicontinued.

Issues to be confirmed:

If you happen to come across one of them, please report it.

  • (apcalc) Installation lost when turning the TI-Nspire on:
    Even though the calculator was not reset.  Reinstalling Ndless fixes this.

  • (critor) Reboot when turning the TI-Nspire on:
    'particles' was run before turning it off.

Your help is needed:

- Post any bug report, source-level if possible
- Help us to extend the list of supported syscalls
- Any details, diagnostic or patch which would help fixing the defects identified is extremely valuable

TI-Nspire / Ncubate - nspire_emu enhanced
« on: August 31, 2010, 06:34:45 am »
Ncubate is a custom version of Goplat's nspire_emu (released with his permission) enhanced with features I personally needed for my own use and I'd like to share.
This version mainly adds calculator state save and reload, useful debugger commands and support for the GDB debugger.

-> Ncubate v032b

Help for the GDB support is available on Hackspire.

Ncubate adds the following features to nspire_emu v032:

- NEW: 'File -> Save State' let you save the whole emulator state to a file
  named <flash_image>.sav. The file is loaded on startup if it exists. You can
  request a state reload with 'File -> Reload State'
  Caution, newer versions of Ncubate may fail to read .sav files produced by
  previous versions. Delete these files when upgrading.
- NEW: 'File -> Save Flash As...' suggests the current flash image name
- NEW: several keyboard shortcuts added

- NEW: Supports the GNU Debugger GDB. You can debug at source-level programs
  built with Ndless. More information available at
- NEW: The register PC can be changed with the command 'rs
- NEW: Command 'j' to jump to the next instruction. This is useful for example
  to jump over an halt() call in an Ndless program.
- NEW: Command 'ww' to write a word to an address
- NEW: Command 'ss' to search a string in memory
- NEW: "+x" is the default flag for the breakpoint command 'k'
- NEW: Command 'wf' to load a file to memory
- NEW: Command-line option /R=cmdfile can be used to automatically run debugger
  commands on startup. Use a single line for each command. At the end of the file,
  the debugger switches to the standard input. You can use 'c' as the last
  command to continue the emulation.
- CHG: The breakpoint command 'k' takes as parameter a virtual address instead
  of a physical address
- CHG: Debugger command 'w' renamed to 'wm'
- CHG: The command 'wm' takes as parameter a virtual address instead of a
  physical address
- CHG: Read/write breakpoint logs display a virtual address instead of a
  physical address
- FIX: Command 'd' doesn't crash if the parameter is missing
- FIX: Broken 'w' command

- ADD: (internal) ARM loader for arbitrary ARM snippet execution by the emulator
- FIX: no more 'bad read word' on auto power down, but still hangs

- FIX: Flash image closed when synced to disk, for external edition

- NEW: Makefile.config for custom compilation flags
- NEW: make clean
- FIX: compilation warnings

News / Ndless v1.1 released
« on: July 31, 2010, 09:37:01 am »
-> Ndless v1.1

This is a bug fix and usability release, compatible with Computer Link 1.4 and with a build chain easier to use.

Non-developers users with Ndless already installed may not be interested by this version,  except for the OS upgrade fix.

Developers, as Ndless is work in progress, you will have to slightly adapt your source code, Makefiles and development environment as described in the section "Upgrading your developments and scripts" of the ReadMe file. Sorry for the inconvinience.

Here is the changelog:

  - NEW: Compatible with Computer Link Software 1.4
  - NEW: Possible manual step to work around missed reboots
  - FIX: Installer doesn't force downgrade anymore when already on OS v1.1
  - FIX: Some transfer errors were not correctly reported
  - FIX: The OS could not be upgraded while Ndless was installed
  - NEW: Building executables made a little easier. See the demo's Makefile and "How do I
     set up a development environment?" section above.
  - NEW: Supports YAGARTO v4.5.0
  - FIX: MakeTNS: better error checking
 Include files:
  - NEW: Added fgets, stdin, stdout, stderr (thanks bsl)
  - NEW: Added printf, fprintf (thanks bwang)
  - NEW: Exhaustive key constants (thanks bwang)
  - NEW: added halt, idle
  - NEW: (ARM) added halt
  - FIX: log_rs232, fread

[edit] the URL is now's.

Other Calculators / Nleash for TI-Nspire OS 2.1
« on: July 27, 2010, 06:14:34 pm »
There's a wave of OS 1.1 nostalgia with the release of OS 2.1...

-> Nleash v1.0

([edit] the link now points to's archives)

[edit] If this is not clear enough in the documentation: Do not try to downgrade a TouchPad TI-Nspire to OS 1.1 with a TouchPad keypad. You need a ClickPad keypad to run OS 1.1.

Pages: [1]