Bienvenue à tous dans le labo de Critor, le seul labo où vous pouvez entendre les calculatrices crier avant de nous révéler tous leurs secrets sur le monde merveilleux de Texas Instruments !
Comme tous les modèles de calculatrices Texas Instrument, le prototype de calculatrice tactile couleur TI-PLT SU1 est également connu sous le nom d'un animal que nous utiliserons dans la suite de cet article, dans le cas présent Toto, nom du chien de Dorothée Gale dans le Magicien d'Oz.
Vous aviez déjà pu rencontrer Toto dans le musée Datamath mais n'aviez pas eu le plaisir de le voir allumé, le prototype en question étant non fonctionnel comme indiquée par l'étiquette rouge "bad CRC" au verso (mauvaise somme de contrôle).
L'année dernière, grâce à la communauté chinoise cnCalc.org, nous récupérions nous aussi un prototype TI-PLT SU1 qui avait l'avantage de s'allumer.
Hélas, il n'incluait pas de système d'exploitation et son démarrage avortait donc sur l'invite de commande monochrome ci-contre.
Pas d'autre choix donc que de nous faire confiance lorsque nous vous disions que Toto disposait d'un écran couleur.
L'écran tactile sans système d'exploitation étant ici non fonctionnel nous étions donc coincés, le jeu restreint de 11 touches de Toto ne nous permettant de saisir que 8 caractères alphabétiques, 'DHLMORSU', ne nous permettant même pas d'articuler correctement 'help'.
Toutefois, le 'usbtty' mentionné trois fois ci-dessus indique en fait une console USB, un périphérique supporté sous Linux par le pilote 'usbserial'.
Qu'à cela ne tienne, épaulé par les encouragements et compétences de Lionel, je me suis enfin remonté un client Linux après m'en être passé pendant des années.
Toto ne s'identifiant pas comme un tel périphérique mais comme une TI-84 Plus (la bonne blague...), il va déjà falloir préciser cela manuellement en associant le pilote 'usbserial' aux identifiants USB de la TI-84 Plus:
- Code: Select all
root@debian:/home/critor# lsusb
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 0451:e003 Texas Instruments, Inc. TI-84 Plus Calculator
root@debian:/home/critor# modprobe usbserial vendor=0x0451 product=0xe003
root@debian:/home/critor# cat /dev/ttyUSB0 &
In: serial usbtty touch keypad
Out: serial usbtty lcd
Err: serial usbtty lcd
omap_toto #
Voilà c'est gagné, il a craqué et le voilà à ma merci, nous sommes bien à l'invite de Toto sur l'ordinateur !
Faisons-lui enfin révéler tous ses secrets:
- Code: Select all
root@debian:/home/critor# echo help > /dev/ttyUSB0
h
? - alias for 'help'
autoscr - run script from memory
base - print or set address offset
bdinfo - print Board Info structure
boot - boot default, i.e., run 'bootcmd'
bootd - boot default, i.e., run 'bootcmd'
bootm - boot application image from memory
bootp - boot image via network using BootP/TFTP protocol
chpart - change active partition
cmp - memory compare
coninfo - print console devices and informations
cp - memory copy
crc32 - checksum calculation
deregister - Remove an I/O device from use
dhcp - invoke DHCP client to obtain IP/boot params
echo - echo args to console
erase - erase FLASH memory
fatinfo - print information about filesystem
fatload - load binary file from a dos filesystem
fatls - list files in a directory (default /)
flinfo - print FLASH memory information
fsinfo - print information about filesystems
fsload - load binary file from a filesystem image
go - start application at address 'addr'
help - print online help
iminfo - print header information for application image
imls - list all images found in flash
loadb - load binary file over serial line (kermit mode)
loads - load S-Record file over serial line
loop - infinite loop on address range
ls - list files in a directory (default /)
md - memory display
mm - memory modify (auto-incrementing)
mmcinit - init mmc card
mtest - simple RAM test
mw - memory write (fill)
nand - NAND sub-system
nboot - boot from NAND device
nm - memory modify (constant address)
printenv- print environment variables
protect - enable or disable FLASH write protection
rarpboot- boot image via network using RARP/TFTP protocol
register - Register an I/O device for use
reset - Perform RESET of the CPU
run - run commands in an environment variable
saveenv - save environment variables to persistent storage
setenv - set environment variables
setslink - select device to use for loadb/loads transfers
sleep - delay execution for some time
tftpboot- boot image via network using TFTP protocol
tiboot - boot linux uImage or zImage kernel in a jffs2 partition on Toto board
tidiag - perform Toto board diagnostics
tiinstallos - install OS to Toto board NAND flash
version - print monitor version
omap_toto #
root@debian:/home/critor#
Tiens tiens... mais nous connaissons toutes ces commandes d'aide... à quelques détails près, ce sont les commandes de U-Boot, chargeur de démarrage déjà rencontré sur TI-Phoenix 1 et sur un prototype prototype TI-Nspire. Toto utilise donc U-Boot, ce que nous confirmons rapidement:
- Code: Select all
root@debian:/home/critor# echo version > /dev/ttyUSB0
U-Boot 1.0.0 (Jan 13 2004 - 15:33:07)
omap_toto #
root@debian:/home/critor#
La date de janvier 2004 nous indiquerait donc que le développement du projet PET avec Toto aurait continué bien après la conférence internationale T3 début 2002 à Calgary au Canada avant d'être abandonné par Texas Instruments.
On pourrait donc dater l'abandon du projet PET et le début du projet Nspire entre 2004 et 2005 avec la carte de développement TI-Phoenix 1.
Les commandes documentées nous permettent de confirmer plusieurs informations du musée Datamath:
- présence d'une ROM NAND de 32Mo par Toshiba:
- Code: Select all
root@debian:/home/critor# echo nand info > /dev/ttyUSB0
Device 0: Toshiba TC58256FT/DC at 0x4000000 (32 MB, 16 kB sector)
omap_toto #
root@debian:/home/critor#
- présence d'une ROM NOR de 512Ko par Fujitsu:
- Code: Select all
root@debian:/home/critor# echo flinfo > /dev/ttyUSB0
Bank # 1: Fujitsu: 1x MBM29LV400TC (4Mbit)
Size: 512 KB in 11 Sectors
Sector Start Addresses:
00000000 (RO) 00010000 (RO) 00020000 (RO) 00030000 (RO) 00040000
00050000 00060000 00070000 (RO) 00078000 (RO) 0007A000 (RO)
0007C000 (RO)
omap_toto #
root@debian:/home/critor#
U-Boot détecte apparemment correctement les cartes SD de 2Go et moins, mais nombre de commandes ou paramètres documentés sont absents de cette vieille build de 2004 et nous ont empêchés d'aller plus loin dans cette voie:
- Code: Select all
root@debian:/home/critor# echo mmcinit > /dev/ttyUSB0
Found SD card,1030225920 bytes
omap_toto #
root@debian:/home/critor#
Mais à la différence, l'aide nous retourne aussi des commandes absentes de la documentation U-Boot car rajoutées par TI, comme 'tiboot', 'tidiag' et 'tiinstallos'.
Regardons un peu ensemble le logiciel de diagnostic:
- Code: Select all
root@debian:/home/critor# echo tidiag > /dev/ttyUSB0
Select the test to run.
<TAB> for utilities. <ESC> to quit.
<0> --------- Backlight ------- not tested!
<1> --------- Piezo ------- not tested!
<2> --------- RTC ------- not tested!
<3> --------- LCD ------- not tested!
<4> --------- USB Client ------- not tested!
<5> --------- Touchscreen ------- not tested!
<6> --------- GPIO/ARMIO ------- not tested!
<7> --------- Memory ------- not tested!
<8> --------- Keypad ------- not tested!
<9> --------- Audio Codec ------- not tested!
<A> --------- Power Down ------- not tested!
<B> --------- Battery Door ------- not tested!
<C> --------- Battery Power ------- not tested!
<D> --------- USB Host ------- not tested!
<F> --------- Wifi connection ------- not tested!
<G> --------- Start RadioScope ------- not tested!
<H> --------- SD/MMC (Internal) ------- not tested!
<I> --------- SD/MMC (External) ------- not tested!
<J> --------- USB Expansion Port ------- not tested!
<K> --------- McBSP1 Expansion ------- not tested!
<L> --------- Comm Port Module ------- not tested!
<W> --------- Update OS from SD/MMC ------- not tested!
Software Version: Jan 13 2004, 15:33:20
root@debian:/home/critor#
Miracle!!! Toto nous révèle enfin de la couleur, et confirme avec le test n°3 (LCD) !
De très nombreux autres tests permettent de vérifier le clavier (n°8), l'écran tactile (n°5), et confirment la présence ou la gestion des périphériques intégrés ou optionnels déjà évoqués chez nous ou sur Datamath, notamment la carte WiFi ou encore la prise audio Jack 3.5 dont le test (n°9) joue une totalité continue sur l'une des deux voies stéréo.
Mais Toto a encore beaucoup à nous apprendre, car le logiciel de diagnostic nous révèle aussi en exclusivité la présence d'un buzzer piezzoélectrique interne parfaitement fonctionnel qui n'avait été mentionné nulle part, test n°1 que vous aurez le plaisir d'entendre ci-dessous après avoir regardé les tests n°3 et 8:
Et voici sans doute enfin le moment de sortir à ce pauvre Toto qui vous apparaissait ci-dessus après des heures d'innommables tortures, la réplique culte de Dorothée pour les anglophones: "Toto, I've got a feeling we're not in Kansas anymore" (Toto, j'ai l'impression que nous ne sommes plus au Kansas).