Contrairement aux TI-Nspire monochromes, ces calculatrices incluent dans les premières pages mémoire de leur puce NAND un flux de données graphiques utilisées lors du démarrage par les codes de démarrage 1 puis 2 (Boot1 puis Boot2).
Nous avons jusqu'à présent récupéré trois échantillons différents de ce flux de données:
- sur les modèles de production TI-Nspire CX/CM
- sur les prototypes TI-Nspire CM EVT
- sur les prototypes TI-Nspire CX EVT
![Image](http://tiplanet.org/modules/archives/captures/13740749571372238947manuf_cx.png)
![Image](http://tiplanet.org/modules/archives/captures/13740751401372239094manuf_cmevt1.png)
![Image](http://tiplanet.org/modules/archives/captures/1374071024color_manuf.png)
Il se trouve que même si le contenu change, le format est exactement le même.
Ce flux de données graphiques RGB-565 nous a longtemps échappé car il n'est pas visible en clair dans le code. Il est en effet compressé - mais sans surprise au même format que le Boot2, ce qui évite au petit Boot1 d'avoir à gérer différents algorithmes de décompression.
Ce flux est également signé avec les mêmes clés RSA que le Boot2, le logiciel de Diagnostics ou encore le système d'exploitation (OS). Ce qui veut dire qu'il sera refusé en cas de modification, la calculatrice basculant dans ce cas dans un mode de démarrage monochrome similaire à celui des premières TI-Nspire.
Et pourtant, aujourd'hui est un grand jour, comme souvent sur TI-Planet. Je vous publie en effet ce soir et malgré tout un programme qui sera probablement mon avant-dernier programme pour Ndless 3.1, mySpire, un éditeur d'écrans de démarrage pour TI-Nspire CX/CM!
![Bien joué! :bj:](./images/smilies/sg3agbjg3ag.gif)
Comment est-ce possible?
L'écran de démarrage est en fait constitué par l'affichage d'un maximum de 12 éléments extraits du flux de données signé. Sur les éhantillons récupérés, seuls 8 de ces éléments sont utilisés.
![Image](https://i.imgur.com/WT1dik5.png)
![Image](https://i.imgur.com/RfvBw08.png)
![Image](https://i.imgur.com/fhxBqgz.png)
Et tout ce qui concerne ces éléments (position, taille, partie du flux de données...) n'est tout bonnement pas signé et donc librement modifiable!
![Bien joué! :bj:](./images/smilies/sg3agbjg3ag.gif)
On peut donc déplacer l'ensemble de ces éléments, et même en réutiliser une partie dans un autre!
![Bien joué! :bj:](./images/smilies/sg3agbjg3ag.gif)
![Image](https://i.imgur.com/aKAAWPi.png)
En fait, la logique est complètement différente de celle d'un éditeur d'images, car là vous contrôlez le contenant mais n'avez aucun contrôle sur le contenu.
Après une phase d'adaptation, vous vous rendrez compte toutefois que l'on peut faire des effets bien sympas.
En élargissant un élément horizontalement, on peut par exemple l'incliner vers la droite ou encore le réduire et le faire apparaître plusieur fois!
![Bien joué! :bj:](./images/smilies/sg3agbjg3ag.gif)
![Image](https://i.imgur.com/EjViSH9.png)
![Image](https://i.imgur.com/jg3XFJo.png)
![Image](https://i.imgur.com/mzut8RW.png)
En compressant un élément au contraire on peut l'incliner vers la gauche ou encore l'agrandir!
![Bien joué! :bj:](./images/smilies/sg3agbjg3ag.gif)
![Image](https://i.imgur.com/j9XuWin.png)
![Image](https://i.imgur.com/yxLQSdL.png)
Il y a même une option pour décaler le mode RGB-565 et obtenir de nouvelles couleurs!
![Bien joué! :bj:](./images/smilies/sg3agbjg3ag.gif)
![Image](https://i.imgur.com/aa7lWjH.png)
Et comme Texas Instruments a eu la gentillesse de nous laisser 4 éléments libres, en empruntant des zones unies à d'autres parties du flux de données, on peut par exemple s'amuser à bâtir des formes!
![Bien joué! :bj:](./images/smilies/sg3agbjg3ag.gif)
![Image](https://i.imgur.com/mZU38x2.png)
Notons que mySpire n'est qu'un simple éditeur de fichiers. Les changements ne seront appliqués à la calculatrice que lorsque l'image Manuf modifiée sera programmée en mémoire NAND à l'aide d'un autre outil comme nsNandMgr.
Vous êtes donc libres de prendre tout le temps nécessaire pour vous entraîner à son utilisation, et de créer vos œuvres en plusieurs fois une fois que vous aurez bien compris la logique d'édition des contenants de flux de données RGB-565!
![Bien joué! :bj:](./images/smilies/sg3agbjg3ag.gif)
Grâce à mySpire et nsNandMgr, ta TI-Nspire CX/CM est enfin à toi et tu peux la personnaliser selon tes envies!
![Bien joué! :bj:](./images/smilies/sg3agbjg3ag.gif)
C'est aussi un excellent marquage contre le vol, puisqu'il n'y a aucune procédure officielle pour annuler les modifications apportées à l'écran de démarrage.
Pour revenir en arrière, il faudra programmer une sauvegarde de l'image Manuf originelle à l'aide de nsNandMgr à nouveau, ce qui ne sera certainement pas à portée du premier voleur de grand chemin venu!
![:p :P](./images/smilies/razz.png)
Regardez-moi ça si c'est pas beau!
![;) ;)](./images/smilies/wink.png)
Et pour ceux qui croiraient à un simple trucage avec un affichage d'image, je me propose de vous montrer la création et la programmation d'un autre écran personnalisé en vidéo:
![;) ;)](./images/smilies/wink.png)
(pour avoir juste le redémarrage avec le nouvel écran, allez à 8min45)
Téléchargements:
mySpire
nsNandMgr
Unlike monochrome TI-Nspire, these calculators include a graphical data stream in the first pages of their NAND memory chip, a part called the Manuf zone. That stream is used during startup by both Boot1 and Boot2.
So far, we could dump up to three different samples of this data stream:
- on production TI-Nspire CX/CM
- on TI-Nspire CM EVT prototypes
- on TI-Nspire CX EVT prototypes
![Image](http://tiplanet.org/modules/archives/captures/13740749571372238947manuf_cx.png)
![Image](http://tiplanet.org/modules/archives/captures/13740751401372239094manuf_cmevt1.png)
![Image](http://tiplanet.org/modules/archives/captures/1374071024color_manuf.png)
It turns out that the content format has remained exactly the same.
This graphical data flow in RGB-565 has remained a mystery for a long time because it is not visible in NAND dumps. Indeed, it is compressed - but we're not surprised to discover that it's the same compression format as the Boot2, which avoids the small Boot1 to have to manage various decompression algorithms.
This flow is also signed with the same RSA keys as the Boot2, Diagnostics software or OS. That means that it's going to be rejected in case of modifications, and the calculator in this case boots with a default screen similar to the one on monochrome TI-Nspire.
And yet, today is a great day. I'm releasing a tool which will probably be my penultimate Ndless 3.1 program, mySpire, a splash screen editor for the TI-Nspire CX/CM!:bj:
How is this possible ?
The startup screen does actually include a maximum of 12 displayable elements which are extracted from the signed data stream. On the data streams we could dump, only 8 of these elements are being used.
![Image](https://i.imgur.com/WT1dik5.png)
![Image](https://i.imgur.com/RfvBw08.png)
![Image](https://i.imgur.com/fhxBqgz.png)
And all the parameters about these elements (position, size, part of the data stream...) are unsigned and therefore freely editable!
![Bien joué! :bj:](./images/smilies/sg3agbjg3ag.gif)
We can therefore move all of these elements, and even reuse a part of an element in another one!
![Bien joué! :bj:](./images/smilies/sg3agbjg3ag.gif)
![Image](https://i.imgur.com/aKAAWPi.png)
In fact, the logic is completely different from the one of an image editor, because here you're controling the container instead of the content.
But after an adaptation phase you will realize, however, that we can still do very cool effects.
By expanding an element horizontally, one can for example tilt it to the right or reduce it and even make it appear several times!
![Bien joué! :bj:](./images/smilies/sg3agbjg3ag.gif)
![Image](https://i.imgur.com/EjViSH9.png)
![Image](https://i.imgur.com/jg3XFJo.png)
![Image](https://i.imgur.com/mzut8RW.png)
By compressing element instead, you can tilt it to the left or enlarge it!
![Bien joué! :bj:](./images/smilies/sg3agbjg3ag.gif)
![Image](https://i.imgur.com/j9XuWin.png)
![Image](https://i.imgur.com/yxLQSdL.png)
There's even an option to shift the RGB-565 and get new colors!
![Bien joué! :bj:](./images/smilies/sg3agbjg3ag.gif)
![Image](https://i.imgur.com/aa7lWjH.png)
And as Texas Instruments kindly left us 4 free items, by borrowing to uniform areas of the data stream areas we can build fun shapes for example!
![Bien joué! :bj:](./images/smilies/sg3agbjg3ag.gif)
![Image](https://i.imgur.com/mZU38x2.png)
Note that mySpire is a simple file editor. The changes will be applied to the calculator once you flash the modified Manuf image to the NAND memory using another tool like nsNandMgr.
You are therefore free to take all the time necessary to train yourself, to get use to the logic of the RGB-565 date stream containers modifications, and to create your customized boot screen in several times!
![Bien joué! :bj:](./images/smilies/sg3agbjg3ag.gif)
With mySpire and nsNandMgr, your TI-Nspire CX/CM becomes finally yours and you can customize it according to your desires!
![Bien joué! :bj:](./images/smilies/sg3agbjg3ag.gif)
It is also an excellent way to mark your calculator against theft, since there is no official way to cancel the changes.
The only way to rollback is to flash a backup of the original Manuf image using nsNandMgr again.
Look at this... Isn't it beautiful?
![;) ;)](./images/smilies/wink.png)
And for those who think to a simple trick with mViewer displaying image, I 'm going to show you the creation and flashing of another custom boot screen:
![;) ;)](./images/smilies/wink.png)
(jump to 8'45 to see directly the reboot with the custom splash screen)
Downloads:
mySpire
nsNandMgr