Série Coconut
|
Une réaction nécessaire
À la fin des années 70, HP donnait un peu à ses fans (dont votre serviteur) l'impression de s'endormir sur ses lauriers.
La concurrence du grand rival TI devenait de plus en plus pressante. le
concurrent texan venait de sortir deux modèles remarquables : les
TI-58(C) et TI-59.

Nous avons possédé quelque temps ce dernier, un
monstre
de puissance pour l'époque : près de 1000 lignes de programme et 100
registres, un lecteur de cartes (très peu fiable, certes [1]) et un
module d'application contenant encore 5000 lignes programmées en ROM.
Même le modèle inférieur TI-58 proposait deux fois plus de puissance
qu'un HP-67 pour un prix bien moindre. Alors bien sûr, la construction
des TI était très approximative, l'interrupteur très peu ergonomique,
les touches affreusement dures et d'un déclic sec et métallique,
l'affichage LED très directif, et le logement des batteries laissait
voir les entrailles de la machine...
Mais sur le plan de la puissance brute et de la rapidité, prétendre que
le HP-67 se tirait honorablement de la confrontation relevait de la
mauvaise foi. HP était bien dépassé.
D'autre part, il fallait bien se rendre à l'évidence, se repérer
commodément dans les programmes (codés numériquement !) devenait de
plus en plus ardu à mesure que les capacités mémoires augmentaient. Le
clavier
traditionnel avait aussi atteint une limites. Impossible d'augmenter
davantage le nombre de fonctions sans une refonte complète de
l'ergonomie.
La réponse de HP allait être élégante et convaincante.

Une nouveauté discrète
Le HP-41C qui arrive en 1979 cache une petite révolution dans son
boîtier sobre et familier.

Le dessin s'inspire directement de la série
Spice. Il semblerait qu'HP ait tenu à
rassurer ses utilisateurs par une ergonomie éprouvée, face à la somme de nouveautés que renferme la machine...

La partie supérieure est un peu épaissie,
nous allons voir pourquoi.

Ce qui saute le plus au yeux, c'est l'affichage LCD, situé tout au
sommet du calculateur, contribuant à son allure distinctive. Les
interrupteurs à glissière ont cédé la place à des touches à
bascule [2].

Celles du clavier sont identiques (du moins, au début) aux Spice, mais toutes
en noir, sauf l'unique touche préfixe [3]. Comme sur les
Spice, elles sont protégées par un rebord du boîtier. Mais la
conception
des contacts est différente : les touches affichent une course bien
plus réduite et un toucher beaucoup plus doux.
Une importante nouveauté, la touche ← : elle permet, pour la première fois, d'effacer un par un les
caractères tapés. (La commande CLx, qui efface tout
l'affichage, subsiste comme fonction secondaire) Ceci facilite bien sûr la correction des erreurs. Mais
surtout, en mode programme, la touche ← supprime
la ligne courante ! Une possibilité jusque là ignorée des calculatrices
programmables (!), et qui améliore de façon décisive l'édition des
programmes. Un chapitre du mode d'emploi est d'ailleurs dédié à ce thème.
La touche XEQ (Execute) succède à GSB (Goto SuBroutine) pour l'appel
des sous-programmes, mais aussi de certaines fonctions intégrées
ou non.
L'écran est donc, pour la 1ère fois, LCD (au grand bénéfice de
l'autonomie). Le contraste n'est pas réglable, mais la directivité est
très peu marquée dans tous les axes, et la lisibilité est toujours
bonne.
Le choix du séparateur décimal peut maintenant s'effectuer sans
démontage. Il suffit de désarmer l'indicateur binaire 28 (CF 28) pour
retrouver notre virgule familière. Cerise sur le gâteau, le groupages
des chiffres par 3 peut lui-même être désactivé. Par défaut, ce sont
toujours 4 chiffres après la virgule qui s'affichent (mode FIX 4),
comme sur les Spice [4].
Mais surtout, l'écran
permet d'afficher des chiffres ET des lettres. Il ne s'agit pas d'un affichage
matriciel, mais le nombre de segments passe de 7 à 14, ce qui
suffit. Cette disposition est restée unique à notre connaissance.

Avantage
immédiat, les lignes de programme affichent les instructions en clair :
c'est tout de même plus pratique que les codes numériques de touches.
Bien sûr, les programmes du HP-41C peuvent aussi afficher des messages
alphanumériques (pour demander une entrée, étiqueter un résultat, ...).
Au dos de la machine figure un aide-mémoire rappelant la disposition du
clavier en mode ALPHA.

Évidemment, les programmes eux-mêmes peuvent porter des noms.
Ceci, combiné avec la syntaxe puissante de la fonction de branchement
GTO, favorise grandement la cohabitation de nombreux
programmes en mémoire.
La mémoire est bien sûr permanente, comme l'indique le suffixe "C". Et
elle ne se contente pas de conserver les programmes et les registres :
elle maintient aussi la pile (donc le registre X, qui est affiché), les
modes d'affichage et angulaires... Seul le mode programme n'est pas
conservé : la machine se "réveille" toujours en mode calcul.
D'autre part, les fonctions n'ont plus besoin d'être toutes présentes
sur le clavier, puisqu'il est possible de les appeler par leur nom [5], ou en parcourant les "catalogues" de fonctions [6].
De plus, sur cette machine, en maintenant pressée la touche de
fonction effectuée, le nom de la fonction s'affiche brièvement. Si la
pression est maintenue plus d'½-seconde, "NULL" apparaît et la
fonction est annulée. Pourquoi un tel luxe ?...

Un clavier redéfinissable
Voilà pourquoi : le clavier du HP-41C est presque [7] entièrement redéfinissable !
Supposons que le programme PERSO soit en mémoire. On peut l'exécuter
via
XEQ ALPHA P E R S O ALPHA,
mais c'est fastidieux s'il doit
servir souvent. Nous le réassignons alors
à la touche EEX (elle porte aussi la lettre P) via :
ASN ALPHA P E
R S O ALPHA EEX.
Alors, pour l'exécuter, il n'y a plus qu'à mettre
la machine en mode USER (touche-bascule à côté de ON) et taper EEX.
Ce système très souple n'a pratiquement aucune limitation. Bien sûr, la
fonction d'origine de la touche demeure disponible en sortant du mode
USER. La réaffectation de touche peut être modifiée à volonté ou
supprimée, individuellement ou globalement. Et si, en mode USER, on maintient la pression sur une touche,
le système décrit ci-dessus reste actif : c'est le nom du programme
assigné à la touche qui s'affiche.
HP fournit même à l'heureux acquéreur des "grilles de clavier" qui sont
maintenues au-dessus de celui-ci par un petit ergot à ressort, sur
lesquelles inscrire les noms des fonctions ou programmes réaffectés aux
touches. Il est possible de se constituer ainsi un HP-41C "à la carte".

Pour un degré de personnalisation encore plus poussé, un modèle spécial
"Option 001" sera commercialisé, sans aucune inscription sur les
touches (hormis chiffres et lettres). Un modèle confidentiel, convoité
des collectionneurs !
Parallèlement à ses possibilités alphanumériques, le HP 41 est doté de
capacités sonores. Les instructions BEEP et TONE x permettent
d'émettre des tonalités variées [8].

Une alimentation musclée pour des calculs rapides
L'électronique du HP-41C exige une tension de 6 V. Pour des raisons
évidentes de place dans le boîtier, elle va être confiée, soit à un
bloc de 4 piles "N" (maintenant LR1) de 1,5 V, ou un bloc
d'accumulateurs de taille "½-N". Un petit couvercle sur la gauche du
boîtier masque le branchement du chargeur. Très vite, ces accus vont
devenir introuvables, et les derniers modèles de HP-41 vendus seront
dépourvus de contacts pour chargeur : ils fonctionneront exclusivement
sur piles.
Mais en rapidité de calcul, le HP-41C "déménage". Il calcule au
mois deux à trois fois plus vite que tout ce qui existe à l'époque.
Cette vitesse est due en partie à la compilation des programmes : à
l'exécution, le HP-41C mémorise chaque adresse de branchement
rencontrée (et n'a donc plus à la rechercher lors des branchements
ultérieurs).
Ces caractéristiques suffiraient à faire du HP-41C un modèle à part, mais ce n'est pas tout...

Un système extensible à l'infini
Dès l'origine, le HP-41C a été pensé comme un système. Les deux premières lignes du mode d'emploi annoncent la couleur :
"Le
HP-41C matérialise un concept entièrement nouveau dans le domaine des
calculateurs Hewlett-Packard. En fait, les puissantes caractéristiques
du HP-41C en font un système de calcul de poche. [...]"
L'arrière du HP-41C révèle 4 emplacements d'extension initialement
masqués par 4 couvercles.

Ces connecteurs, qui expliquent l'aspect massif de l'arrière du
boîtier, permettent de relier le HP-41C à une grande variété de modules
ou d'accessoires.

Le système HP-41
Modules de mémoire
Initialement, la version de base du HP-41C ne propose "que" 63
registres de mémoire et/ou 441 lignes de programmes. Ce qui la place au
niveau de la TI-58, bien devant le HP-67, mais en retrait de la TI-59. Cette mémoire est partagée comme sur le HP-34C. Mais cette répartition n'est pas automatique ; elle est au choix de l'utilisateur. Voici pourquoi :
Chacun des logements peut accueillir un module de mémoire
qui a environ la même capacité que la machine. Le total peut ainsi être
porté à 319 registres et 2231 lignes de programme : 2 à 3 fois plus
qu'une TI-59.

Évidemment, avec 4 modules de mémoire en place, il n'y a plus aucun connecteur
libre. Qu'à cela ne tienne : HP aura tôt fait de commercialiser le Quad Memory Module, qui rend le même service que 4 modules ordinaires.

La mémoire, même complétée, du HP-41C est loin d'épuiser la capacité d'adressage totale (6454 octets) de son processur "Nut". À partir de 1983, le module X-functions [9]
offrira à l'utilisateur une capacité de stockage supplémentaire au-delà
de la mémoire principale. La taille maximale d'un programme n'augmente
pas (il faut le charger en mémoire principale pour s'en servir). Mais
il est désormais possible de sauvegarder plusieurs très gros
programmes, et de les rappeler au besoin.

Modules d'applications
Mais l'utilisateur peut aussi choisir parmi un large éventail de modules d'application contenant (en ROM [10]) des programmes spécialisés préinstallés. Par exemple :
- aviation
- analyse de circuits électriques
- laboratoire de médecine
- finance
- jeux
- développement
- conception technique
- mathématiques
- navigation
- chimie du pétrole
- statistiques
- analyse des structures
- fonctions étendues ("X-functions")
- temps
- etc
Accessoires connectables
Les connecteurs du HP-41C acceptent également les accessoires suivants :
- lecteur de codes-barres (permettant d'introduire
commodément des programmes au format code-barres dans le calculateur
par simple passage du crayon optique) ;
- imprimante thermique ;
- lecteur de cartes magnétiques (comme sur un HP-67).
Celui-ci mérite une mention particulière : bien que les programmes du
HP-67 ne soient pas compatibles avec le HP-41C, le lecteur de cartes de
ce dernier peut les lire ! Il embarque un programme sophistiqué
qui traduit à la volée les cartes du HP-67 pour le HP-41C.
Notons plus particulièrement l'imprimante autonome HP-82240A, apparue en 1987.

Elle communique sans fil avec le HP-41 au moyen du module infrarouge HP-82242A.

Un système d'interface extensible
Pour ceux qui ne seraient pas encore comblés, HP a développé
l'interface "HP-IL" permettant de relier plusieurs périphériques en les
"chaînant" [11]. En branchant un module HP-IL, suivi des câbles appropriés, on peut
inclure le HP-41C dans ce système. On accède ainsi à
- un lecteur de cassettes numérique ;
- un lecteur de disquettes ;
- des imprimantes/traceurs thermique, à jet d'encre, matricielle ;
- des interfaces vidéo (32 ou 80 colonnes) ;
- un modem acoustique ;
- des interfaces au standard RS-232 (série), parallèle, GPIO
- etc.
Évidemment,
l'addition peut grimper vers des sommets inconnus jusque là. Le
tarif de base du HP-41C était déjà assez aristocratique ($295) pour
valoir à ses heureux propriétaires quelques regards envieux...
Programmation synthétique
Ce n'est pas tout. Étant donné que les lignes de programmes du HP-41C
utilisent jusqu'à 3 octets, les codes disponibles ne sont pas tous
utilisés. Il existait des codes "cachés" que des utilisateurs
passionnés vont trouver moyen d'introduire dans la machine. Cela
nécessite un soin particulier, mais on accède en revanche à des
possibilités nouvelles (et non documentées) comme
- des programmes plus compacts et plus rapides ;
- l'accès aux registres et aux drapeaux système ;
- de nouvelles possibilités d'affichage et de manipulation des caractères ;
- de nouvelles possibilités sonores ;
- l'implémentation de variables locales,
- etc.
De très nombreux ouvrages ont été consacrés à la programmation synthétique du HP-41C.

Le HP-41C dans l'espace
Après le HP-65, le HP-41C est le second calculateur de la marque à
avoir connu les honneurs des vols spatiaux de la NASA. De 1982 à 1985,
il prit part à 7 missions de la navette spatiale américaine. Il pouvait
servir de secours en cas de défaillance de l'ordinateur principal, mais
ses tâches courantes consistaient en
- l'acquisition de mesures électriques lors d'expériences conduites en apesanteur ;
- l'aide au contact radio (grâce au module horloge, le HP-41C
pouvait informer les astronautes des stations disponibles et des heures
de contact) ;
- les calculs de centre de gravité de la navette en fonction
du carburant brûlé ou à brûler : une "mission" autrement plus critique
au moment de la rentrée dans l'atmosphère [12].
Il s'agissait de la version 41CX légèrement modifiée, la voici présentée au Deutsches Museum.
HP ne se priva pas de communiquer sur ce thème [1] [2]. Cela a surement contribué à la réputation, sinon à la légende, de cette machine.
Plusieurs générations
Le HP-41C, apparu en 1979, va poursuivre sa carrière jusqu'en 1985.
HP-41CV
Mais dès 1980, il cohabite avec le HP-41CV [13]. Celui-ci n'est
autre qu'un HP-41C à la mémoire étendue au maximum, càd 5 fois plus
importante qu'en version de base.

La mémoire du HP-41CV n'est plus extensible [14], mais il propose toujours 4 emplacement pour modules de
ROM ou accessoires.

HP-41CX
En 1983 arrive le HP-41CX, qui reprend les caractéristiques du HP-41CV mais ajoute le Time module (horloge + chronomètre), l'ensemble des "fonctions étendues" et la mémoire étendue du module X-functions, et un éditeur de textes.

Les HP-41CV et HP-41CX seront produits jusqu'en 1990.
Mais au cours de cette longue carrière, des évolutions moins visibles
interviennent également : aux versions "fullnut" succèdent les versions
"halfnut" :
La version fullnut (initiale) se reconnaît aux coins carrés de son
affichage.
La version halfnut, plus récente se distingue par un affichage aux
coins arrondis . Mais sous le capot,
l'électronique a été aussi redessinée : elle est plus compacte, et
tient sur un seul circuit imprimé (au lieu de 2).

deux HP-41 CX : fullnut (à g.) et halfnut
Dans le même temps, les touches vont passer du profil haut, identique à celui des Spice, à un profil moins épais (le pan coupé est moins
vertical), ce qui correspond mieux à leur course.

deux HP-41C (fullnut) : touches hautes (à g.) et basses
Et dès 1982, le HP-41C a dû faire face à la concurrence interne du
HP-15C. C'est la raison de la sortie du module "Advantage Pac",
qui procurait au HP-41 les fonctions présentes sur ses frères cadets.

Un HP-41CV/CX équipé d'un tel module acquérait une efficacité
redoutable dans les calculs numériques.

La machine parfaite ?
Le
HP-41C avait quand même quelques défauts. Il abandonnait l'auto-test de
la série Spice, sans doute en raison des complications entraînées par
ses multiples extensions. Le boîtier était (de nouveau) facilement
démontable, par 4 vis, mais le remontage devait être soigneux : le bon
serrage des deux coques était responsable du contact entre les deux
parties du circuit. Les vis devaient donc être bien serrées... mais
pas trop, sous peine d'abîmer les plots de serrage et de ne plus avoir
un bon contact.
Pour son ensemble de possibilités sans précédent, le HP-41C est regardé
par beaucoup comme la meilleure calculatrice jamais construite. Les
séries Spice et antérieures sont devenues largement "collector" à
cause, notamment, de problèmes de corrosion au niveau des contacts de
batterie. Mais un HP-41C reste une machine fiable et agréable au
quotidien.
Des amateurs passionnés et compétents continuent de développer des
accessoires et même de les commercialiser (sur une échelle modeste). Il
s'agit de modules spécialisés, ou de systèmes connectables grâce à
l'interface HP-IL. On trouve aussi des firmwares récents permettant
d'accélérer les HP-41C.
Quel
plus bel hommage pour une machine qui a tiré sa révérence il y a plus
de 20 ans ? Citons l'épilogue (sic !) du mode d'emploi :
"Vous
voilà à la fin du manuel d'utilisation et de programmation de votre
HP-41C. Vous avez pu remarquer la simplicité et même l'agrément de
l'utilisation de ce calculateur tout au long de ces pages. [...]"
On ne saurait mieux dire.

Notes
[1] Le moteur
avait une fâcheuse tendance à continuer de tourner même après le
passage de la carte ! On pouvait corriger cela en raccourcissant
soigneusement cette dernière d'1 mm environ...
[2] Leur statut est indiqué par des témoins sur l'écran (USER, PRGM, ALPHA).
[3]
désormais désignée SHIFT et dotée d'un fonctionnement "à bascule" : une
pression pour l'activer (indicateur SHIFT visible) comme pour la
désactiver.
[4] Cette caractéristique n'est plus dictée par des impératifs d'autonomie, mais par un souci de cohérence.
[5] P. ex., la fonction factorielle se nomme FACT, mais n'est pas présente au clavier. Pour l'invoquer, on peut taper XEQ ALPHA F A C T ALPHA -- ce n'est bien sûr pas la méthode la plus efficace.
[6]
Ces catalogues, au nombre de 3, sont invoqués par la fonction CATALOG x. Ils listent (par défilement) toutes les fonctions du HP-41C, mais aussi les programmes écrits par
l'utilisateur, et les fonctions non intégrées fournies par des modules
d'application ou des périphériques (p. ex. les fonctions d'impression, dans le cas d'une imprimante).
[7] Les seules exceptions sont les touches-bascules sous l'écran et la touche SHIFT.
[8] voire calculables, pour renseigner l'utilisateur sur le déroulement d'un programme.
[9] ou X-memory, si un module X-functions est déjà en place

[10] mais copiables en RAM -- ce qui permet d'en examiner le code à loisir si l'on souhaite...
[11] un peu comme des périphériques SCSI, sauf que la chaîne est refermée en boucle, au lieu de s'achever sur un terminateur.
[12] Le HP-41C pouvait théoriquement aider les astronautes à atterrir sans l'aide du contrôle de vol au sol...
[13]
Tout le monde ou presque lit "cévé", alors que la signification du V
est en fait le 5 romain, rappelant que la mémoire du HP-41CV est 5 fois
plus étendue. On peut en dire autant du HP-41CX.
[14] sauf à l'aide de modules X-functions ou X-memory -- qui ne rendent toutefois pas exactement les mêmes services.

|