Ndless
Ndless est le plus grand succès des programmes dans l'histoire de la TI-Nspire, que ce soit sur le plan technique ou sur la popularité. Ce programme est en fait un kernel, c'est à dire un programme exploitant une faille du système pour autoriser l'exécution d'autres programmes, qui ne fonctionneraient pas sans. Ndless a ainsi permis l'exécution sur TI-Nspire de programmes en Asm, en C et depuis la révision 3.1 beta r825, en C++.
Ndless3.png | |
Développeur | Olivier Armand (ExtendeD) avec le soutien de Levak et de la communauté |
---|---|
Version Stable | Ndless 3.1 beta r877 / le 18 août 2013 |
Version de Preview | Ndless 3.1 beta r884 / le 26 août 2013 |
Etat du développement | indev, stable, et abandonné |
Programmé en | Asm |
OS | 1.1 - 1.3 - 1.4 - 1.7 - 2.0.1 - 2.1.0 - 3.1 |
Disponible en | English langage(s) |
Genre | Kernel (jailbreak) |
Site Internet | http://ndlessly.wordpress.com/ |
Fonctionnalités
- Jailbreak de la TI-Nspire, installant une interruption capable de lancer des programmes écrits en langage Asm, C ou C++ et compilés pour Ndless via son SDK.
- Autorise le lancement automatique d'un programme au démarrage de la calculatrice, si ce programme est placé dans /ndless/startup
Ces deux fonctionnalités de Ndless permettent, en utilisants les-dits programmes en C ou Asm, de démultiplier les fonctionnalités de la TI-Nspire. Il est alors possible :
- De lire des images ou des vidéos sur la calculatrice
- De connecter un clavier ou une souris à la calculatrice
- De lancer des émulateurs de consoles de jeu sur la calculatrice (NES, Gameboy, Gameboy Color, Gameboy Advance)
Problématique de l'anti-downgrade
Depuis des années, la communauté TI-Nspire oeuvre pour l'ouverture de cette plate-forme, c'est-à-dire pour que les utilisateurs puissent exploiter ce matériel au maximum de ses capacités.
Ainsi est né Ndless, un canevas permettant d'exécuter des programmes en langage machine prenant le contrôle total de la machine et notamment de ce que fait le processeur.
L'absence d'une version transversale de Ndless est due au fait que Ndless n'est pas un programme officiel, et que Texas Instruments le combat activement depuis le système 2.1. En effet, pour s'installer Ndless exploite des failles du système TI-Nspire. Mais toute faille exploitée se voit alors rapidement ou corrigée ou bloquée par Texas Instruments dans la version suivante du système, ce qui force Ndless à toujours utiliser de nouvelles failles.
- Il suffit de ne pas mettre à jour son système TI-Nspire, penserez-vous?
Sauf que Texas Instruments incite à la mise à jour du système via nombre de popups automatisées. De plus, les nouvelles TI-Nspire commercialisées finissent toujours par venir préchargées avec le dernier système - ce n'est donc pas une solution pour les nouveaux utilisateurs.
- Il suffit de réinstaller une version antérieure du système, me direz-vous?
C'était en effet possible jusqu'en juillet 2010. A cette date-là, le dernier système 2.1 a activé une protection dormante, prévue dès la conception mais non utilisée jusque là, que nous avons appelée la "protection anti-downgrade du système". Le système 2.1 ainsi que tous les systèmes ultérieurs depuis, inscrivent dans une zone mémoire non accessible à l'utilisateur et non réinitialisable par aucun menu officiel, une version minimale de système installable. Tout système antérieur à cette version était systématiquement refusé.
Le dernier OS actuel supportant Ndless, l'OS 3.1, ne peut plus être installé sur les calculatrices récentes possédant le boot2 3.2.4 sur TI-Nspire CX. La plateforme TI-Nspire reste donc bloquée, jusqu'à la prochaine découverte de faille.
Historique des Versions
Version | Date | Compatible OS | Nouveautés |
---|---|---|---|
1.0 | 1.1 | ||
1.1 | 1.1 | ||
1.1 prototypes | 1.1 prototypes non-CAS | ||
1.2 prototypes | 1.2 prototypes CAS | ||
1.2 | 1.2 | ||
1.3 | 1.3 | ||
1.4 | 1.4 | ||
1.7 | 1.7 | ||
2.0 | 1.7
2.0.1 2.1.0 || | ||
3.1 | 19/01/2012 | 3.1 | Support des TI-Nspire CX
Résistance aux reboot Nouvelles fonctions: 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() Nouveaux syscalls: ftell(), truncate() |
3.1 r538 | 08/02/2012 | 3.1 | Support des associations de fichiers (extensions *.*.tns) |
3.1 r540 | 11/02/2012 | 3.1 | Support des programmes au démarrage, fonction nl_isstartup() |
3.1 r611 | 14/04/2012 | 3.1 | Ajout des fonctions show_msg_user_input(), show_1numeric_input() and and show_2numeric_input() grâce à Levak |
3.1 r765 | 20/04/2013 | 3.1 | Support de HIDn |
3.1 r786 | 08/05/2013 | 3.1 | Support des TI-Nspire CM |
3.1 r825 | 15/06/2013 | 3.1 | Support du C++ |
3.1 r848 | 18/07/2013 | 3.1 | Debugging en C, C++ et Asm |
Voir Aussi