En 1986 en Europe, environ un an après la première calculatrice scientifique graphique, CASIO innove à nouveau en dévoilant la PB-1000. Son
écran, un peu plus grand que celui de la PB-700 (1983), est
tactile. C'est inédit dans cette catégorie.
Pour casser tout de suite le mythe, il faut savoir que la précision de ce fameux écran est limitée à 16 zones sensibles. C'est commode pour naviguer dans les menus, mais il ne faut pas s'imaginer pouvoir dessiner avec son doigt ! Avec le recul, il est triste de constater que cet avantage, très concurrentiel sur le papier, devient presque un inconvénient à l'usage. En effet, la technologie tactile de l'époque fait perdre un peu de contraste au LCD ; et cela, même lorsque l'écran est propre. Du coup, CASIO n'insistera pas : les modèles suivants, la FX-850P et la PB-2000C, sortiront avec un écran classique, non-tactile.
Cela dit, les grosses qualités de cette PB-1000 fabriquée au Japon dépassent largement les limites de son écran graphique de 192x32 pixels. Ses trois principaux points forts sont, selon moi, les suivants :
1)
ergonomie excellente : clavier qwerty bien espacé, agréable au toucher. Il permet une frappe rapide, avec accès direct aux fonctions. Celles-ci peuvent également être tapées en toutes lettres.
2)
logiciel système : mode de calcul en notation algébrique directe intuitif et efficace. Il est possible d'éditer l'historique simplement et d'enregistrer des formules sans programmation (mode in/out/calc). Un vrai éditeur de texte est également présent, ainsi qu'un gestionnaire de fichiers.
3) deux puissants
langages : un Basic enrichi en fonctions arithmétiques, et un assembleur intégré.
Alors, avec toutes ces qualités, pourquoi la PB1000 s'est-elle moins bien vendue que la série des FX-7000G et suivantes ? Pour essayer de le comprendre, on peut reprendre les trois points forts de la PB-1000, mais appliqués au commun des mortels :
1) l'ergonomie est certes confortable, mais une fois dépliée, avec ses 18,5 x 17,5 cm, cette calculette est plutôt imposante sur le bureau. En cours de math, il faut assumer. Mais, fort heureusement pour l'examen du BAC 1990, ce n'est que la dimension fermée qui comptait (autorisée si inférieure à 21 x 15 cm). À la maison, lorsqu'on l'insère sur son boitier d'extension, on se croirait presque à la NASA : interface cassette, série et parallèle via le CASIO FA-7 (que j'ai utilisé intensivement), ou bien disquette 3"1/2 via le rarissime CASIO MD-100.
2) le logiciel de base n'inclut pas le tracé de fonctions mathématiques. Il faut créer son propre programme pour obtenir des courbes, et ça prend un peu de temps la première fois.
3) dans le Basic intégré, il manque la fonction VALF pour évaluer une expression mathématique. Cet oubli des ingénieurs CASIO sera corrigé à partir de la FX-850P. Mais, en fait, cela n'a rien d'indispensable sur PB-1000. De plus, certains ont trouvé le moyen d'ajouter un VALF avec des POKE (voir
http://airbug.one.pagesperso-orange.fr/French/PB-1000/pb-proglist.htm). Par contre, il y a plus grave : l'assembleur HD61700 intégré à la machine, ainsi que les appels système vers la ROM, sont mal documentés... voire pas documentés du tout pour certaines parties ! C'est dommage, car tout le potentiel de la machine ne peut pas être libéré.
Malgré tout, pour moi, avec son indispensable RAM étendue à 40 Ko, la PB-1000 restera la
meilleure calculatrice des années 80. Elle m'a suivi pendant toute ma scolarité : dès les années lycée, jusqu'en école d'ingénieur, et à tous les examens où la calculatrice était autorisée. J'ai passé des heures sur cette machine à écrire des programmes de calcul numérique, ou autres, dont certains n'ont un intérêt que pour moi-même.
|
L'excellent clavier qwerty de la CASIO PB-1000 |
Alors, pour reprendre le fil de ce blog, que vaut vraiment la PB-1000 en performance pure ? Son CPU 8 bits Hitachi HD61700 cadencé à 910 kHz (voir
http://www.pisi.com.pl/piotr433/index.htm#pb1000) est-il aussi rapide que le μPD1007 de la FX-7000G, cadencé lui aussi à 910 kHz ? Le Basic interprété est-il un langage efficace ?
Pour le savoir, j'ai écrit une nouvelle version de mon programme de test sur les nombres premiers :
10 INPUT"N?",N
20 J=INT(SQR(N)):I=2
30 IF FRAC(N/2)=0 THEN80
40 FOR I=3 TO J STEP 2
50 IF FRAC(N/I)=0 THEN80
60 NEXT I
70 BEEP:PRINT"1":GOTO10
80 PRINT I:GOTO10
Par rapport à la version initiale, rien n'a été optimisé. Le code source en Basic me parait plus clair, et plus rapide à débugguer que tout ce que nous avons vu précédemment. Cependant, à la première tentative, le test sur le nombre 524 287 s'est exécuté en pas moins de 23 secondes sur ma machine fétiche ; soit 9 secondes de plus que la FX-7000. Mais après un CLEAR des variables, ce même test s'exécute à chaque fois en moins de
11 secondes sur la PB-1000. Son Basic, qui n'a pas de garbage collector automatique, peut donc être moins véloce lorsque la mémoire est chargée en variables.