Avant-première de la SwissMicros DM42

Remarque importante : ce billet porte sur un prototype en préproduction. Certains détails aussi bien d’ordre logiciel que matériel pourraient changer lorsque celui-ci sera commercialisé pour de vrai. La qualité de construction sera très probablement meilleure que sur l’exemplaire que j’ai testé. Le firmware est également amené à évoluer rapidement ; je la teste ici avec la version 2.10.17 du micrologiciel.

Dans mon premier billet portant sur les calculatrices vintage de Hewlett-Packard, certains d’entre vous déploraient la baisse de la qualité de construction des HP qui sont fabriquées après les années 1980 ou 1990.

Heureusement, une entreprise suisse nommée SwissMicros propose des clones de certaines des calculatrices HP des années 1980 qui ont marqué le plus les esprits ; nul besoin, donc, de trouver un modèle d’occasion pour s’essayer à la notation polonaise inverse.

SwissMicros est actuellement en train de mettre au point la DM42 qui, comme son nom l’indique, est une réinterprétation de la très fameuse et convoitée HP-42S. Moyennant la modique somme de 149 CHF (environ 140 €), j’ai pu mettre la main sur un des quatre-vingts modèles de préproduction. Je l’ai utilisé régulièrement depuis plus de deux mois. Le projet, très ambitieux et se voulant aller largement au-delà du simple clone, est déjà très abouti.

SwissMicros DM42
La SwissMicros DM42 et la sacoche fournie.

Je vous propose donc un petit tour d’horizon de la SwissMicros DM42. Je commencerai par un bref historique de la HP-42S, puis je passerai en revue les similitudes et les différences entre la DM42 et la HP-42S tout en mettant l’accent sur les nouveautés qu’apporte la DM42.

La HP-42S et ses origines : la HP-41C

La HP-42S est une machine assez particulière, en partie puisqu’elle devait reprendre le flambeau de son prédécesseur, la série des HP-41C (bien que HP l’ait seulement vendue comme un successeur de la HP-15C).

Cette ancienne série, introduite en 1979, se voulait être plus qu’une simple calculatrice scientifique programmable (ce qui était déjà pas mal pour l’époque) : le manuel parlait même d’un « système informatique personnel » plutôt que d’un « calculateur ».

HP-41CV
Une HP-41CV avec sa sacoche. La série HP-41C était la seule à être dotée d’un afficheur à 14 segments.

La HP-41C disposait de connecteurs à l’avant pour y relier moult modules et autres accessoires : extensions de mémoire, bibliothèques de fonctions supplémentaires, crayons optiques pour lire des code barres, imprimantes thermiques, voire même des instruments de mesure de laboratoire…

Son affichage alphanumérique était un autre aspect « révolutionnaire » parmi les calculatrices HP : la programmation était plus confortable, on pouvait nommer ses programmes et la calculatrice offrait en outre une série de fonctions de manipulation de chaînes de caractères.

Enfin, la HP-41C disposait de plus de fonctions qu’il n’était possible d’en mettre sur le clavier. Pour pallier à cela, on pouvait redéfinir les touches du clavier pour exécuter d’autres fonctions internes ou même des programmes utilisateur ; la touche USER permet de basculer entre le clavier « de base » et le clavier ainsi redéfini. On peut aussi utiliser la touche « XEQ » (pour execute, exécuter) pour taper en toutes lettres le nom de la fonction ou du programme qu’on souhaitait activer. Ainsi, pour jouer un bip, il fallait taper « XEQ ALPHA T O N E ALPHA » pour exécuter la fonction TONE.

La HP-41C a connu deux autres modèles apparentés : la HP-41CV (à lire comme « C cinq » et non pas « cévé »), intégrant l’équivalent de quatre extensions de mémoire, et la HP-41CX (« C dix »), intégrant en outre un module de temps avec une horloge temps réel et des fonctions de calcul sur les dates.

Onze ans plus tard, il était temps de remplacer ce modèle : le CPU commençait à faire pâle figure par rapport à ce qui se faisait et il en allait de même pour la capacité de sa mémoire.

HP a donc introduit la HP-42S en 1988 et l’a commercialisée jusqu’en 1995. La HP-42S est plus rapide, dispose de 8 kilooctets de mémoire (ce qui offrait nettement plus de place pour des programmes) et possède un afficheur LCD matriciel de 132 × 16 pixels (2 lignes de 22 caractères). Elle savait faire les mêmes choses que la HP-41C ; elle était même conçue pour être compatible avec les nombreux programmes écrits pour celle-ci (à l’exception des fonctions exclusives à la HP-41CX).

Les fonctions absentes du clavier de la HP-42S sont cette fois accessibles par des menus et les choix sont faits par les six touches de la rangée supérieure si un menu est ouvert. Le clavier n’est donc plus redéfinissable, mais la HP-42S propose à la place un menu redéfinissable. On gagne en confort, mais le gain en efficacité est discutable : parmi les plus de 600 fonctions, il faut s’y retrouver !

La HP-42S a abandonné le système de modules (à tort ou à raison, là aussi ça se discute) pour ne garder que la possibilité d’imprimer par infrarouge sur une imprimante thermique HP-82240A ou B. Mais en échange, on découvre une machine tout à fait polyvalente, dotée d’un solveur d’équations, d’une intégration numérique, de possibilités sommaires de dessin (évidemment exploitées par les jeux), de calcul matriciel et de calcul dans C. Le calcul formel est laissé à des machines plus sophistiquées comme la HP-28S, de la même époque.

Un hommage à la HP-42S

Jusqu’à maintenant, la seule manière d’avoir une HP-42S dans sa poche sans acheter un modèle d’occasion hors de prix était d’installer l’émulateur Free42 sur son appareil mobile préféré. Sa version Palm OS était d’ailleurs la raison pour laquelle j’ai fini par craquer pour une HP 50g pendant mes études.

Cet émulateur est le fruit d’un travail de rétroingénierie méticuleux et ne contient aucune propriété intellectuelle de HP. Néanmoins, c’est un logiciel libre (sous licence GPL) et est réputé pour être d’une fidélité très proche de la HP-42S d’origine. Il ne restait donc plus qu’à la mettre dans une vraie calculatrice ; c’est désormais chose faite avec la SwissMicros DM42.

Ma première impression est que la DM42 a tout d’un hommage à la HP-42S. Tout d’abord, elle reprend la même présentation sobre de la HP. Elle est fournie avec une housse de conception similaire à la HP, quoique très serrée (cela semble s’arranger un peu avec le temps).

Les touches du clavier reprennent la forme biseautée qu’on retrouvait sur les calculatrices HP plus anciennes, au lieu de la forme ronde des touches de la HP-42S ou d’autres de la série Pioneer. Le ressenti est donc plutôt agréable quoiqu’un peu inégal, puisque certaines touches nécessitent davantage de force que d’autres pour être enclenchées. Cela est dû au procédé de fabrication du clavier : l’arrière des touches en plastique est dotée d’un petit ergot qui s’enfonce dans un trou de la même taille dans le dôme correspondant du circuit imprimé. Cela nécessite un alignement très difficile qui n’admet presque aucune marge d’erreur. Le marquage sur les touches paraît un peu plus brouillon puisque les symboles mathé­matiques semblent mal s’intégrer avec la police de caractères utilisée pour les inscriptions.

En outre, la plaque de plastique sur laquelle sont imprimées les légendes a tendance à se décoller, mais il s’agit là d’un problème connu et commun à de nombreux autres exemplaires de préproduction et pour lequel SwissMicros a promis un correctif.

Le boîtier, de même longueur et largeur que la HP-42S mais plus fin que celui-ci, est en aluminium et donne l’impression d’être plus solide que la HP-42S.

SwissMicros DM42
La SwissMicros DM42 est plutôt fine par rapport à la HP-42S.

Heureusement, la DM42 est conçue pour être facile à démonter. Il suffit de déposer les quatre vis cruciformes à l’arrière pour avoir accès à ses entrailles (et à la pile). J’ai pu désassembler entièrement la calculatrice en seulement cinq à dix minutes, moyennant un peu de doigté.

Globalement, le prototype de DM42 que j’ai entre les mains est plutôt de bonne facture, malgré quelques défauts çà et là qui seront j’espère résolus une fois les premiers modèles de série commercialisés. SwissMicros a d’ailleurs fait de nombreuses révisions matérielles sur ses autres calculatrices, ce qui prouve à mes yeux qu’ils prennent la qualité matérielle au sérieux.

Une HP-42S du XXIe siècle

Qualifier la DM42 de « clone » ne saurait lui rendre justice, car l’objet se permet quelques ajouts par rapport à la HP-42S, et pas des moindres.

HP-42S et DM42 côte à côte
Vingt-sept ans d’écart : à gauche, une HP-42S de 1990 et à droite, une SwissMicros DM42 de préproduction.

L’affichage

On remarque d’abord que l’écran est beaucoup plus grand que celui de la HP-42S ; sa résolution est en effet portée à 400 × 240 pixels comparés aux 132 × 16 de sa consœur. L’affichage est réalisé par un module LCD de Sharp de 2,7 pouces. Cet afficheur LCD a un excellent contraste ; on dirait presque un module « e-ink ». Il est en outre capable de conserver un affichage constant moyennant seulement quelques microampères. D’où une possibilité d’afficher l’image de son choix en plein écran alors que la calculatrice est éteinte.

Lorsque la calculatrice est allumée, l’écran se divise en deux régions : en bas, on a le même affichage qu’une HP-42S, de deux lignes de 22 caractères. En haut, on voit les quatre registres formant la pile (X, Y, Z et T) et le registre L (pour « Last X ») changer en temps réel au gré des appuis sur les touches. Enfin, tout en haut, on a un affichage de la date, de l’heure et un indicateur de charge de la pile.

Capture d’écran
Affichage de la DM42.

Un clavier amélioré

Le clavier de la DM42 a quant à lui gagné une rangée de touches juste sous l’écran, ce qui est plus que bienvenu lorsqu’on sait comment les menus fonctionnent sur la HP-42S. Lorsqu’on active un menu (comme sur cette capture d’écran, le menu « BASE »), l’affichage change pour afficher seulement le registre X et le menu concerné.

Capture d’écran
Exemple de menu sur la HP-42S et la DM42.

Pour sélectionner un élément du menu, il faut appuyer sur la touche immédiatement en-dessous. Ainsi, pour sélectionner « OCTM » sur la HP-42S, il faut appuyer sur la touche « LOG », qui perd alors sa fonction de base pour devenir une touche de sélection. Sur la DM42, il faut appuyer sur la quatrième touche de la rangée supplémentaire, qui est de ce fait uniquement dédiée aux sélections dans le menu ; la touche « LOG » conserve sa fonction normale, qu’un menu soit ouvert ou non.

C’est là un changement d’ergonomie plutôt bienvenu, d’autant plus en mode programmation où on a souvent besoin des fonctions GTO (saut inconditionnel) ou XEQ (exécution d’un sous-programme) et où il est fort désagréable de devoir sortir du menu avant de retrouver l’accès à ces touches.

La deuxième différence entre les clavier de la DM42 et de la HP-42S est dans la fonction shiftée sur la touche 0. Sur la HP-42S, cela ouvrait le menu « TOP.FCN » reprenant les fonctions de la première rangée du clavier. En revanche, sur la DM42, c’est le menu « SETUP » qui est activé, donnant accès aux paramètres système propres à la machine de SwissMicros.

SwissMicros DM42
La fonction « shiftée » de la touche 0 est différente sur la DM42. La calculatrice de SwissMicros ajoute aussi une lettre à droite de chaque touche.

Un mode ALPHA amélioré

Une autre différence majeure entre les deux machines réside dans le fonctionnement du mode « ALPHA », utilisé pour la saisie de chaînes de caractères, de noms de programmes ou de noms de variables.

Sur la HP-42S, activer le mode « ALPHA » ouvre un menu à deux niveaux : le premier niveau est « ABCDE », « FGHI », « JKLM », « NOPQ », « RSTUV », « WXYZ ». Sélectionner un de ces éléments donne ensuite accès au sous-menu proposant chaque lettre. Les autres touches, comme les chiffres, insèrent le symbole en accès direct. Par conséquent, chaque caractère alphabétique demandait deux pressions de touches, ce qui devient vite frustrant et fastidieux.

La DM42, en revanche, améliore le mode ALPHA de la HP-42S en proposant des lettres en accès direct sur le clavier. Les firmwares plus anciens fonctionnent différemment, mais ce que j’explique ci-après semble être la mise en œuvre définitive de ce qu’on pourrait appeler le « nouveau mode ALPHA ».

Cela se matérialise par l’apparition d’un nouvel indicateur, ayant la forme de deux crochets [ ], lorsque le mode ALPHA est activé. Par défaut, la DM42 adopte le même comportement que la HP-42S : taper des chiffres ou des symboles les insèrent directement et les lettres sont saisies à l’aide des menus. Mais en tapant SHIFT puis la flèche vers le haut, l’indicateur devient « [A] » ; ainsi, frapper une lettre insère la lettre majuscule correspondante. Par exemple, un appui sur « COS » insère directement un K. Avec un autre appui sur SHIFT puis flèche haut, l’indicateur devient « [a] » ; on tape alors en minuscules. Les trois modes sont cycliques, et on peut aussi utiliser SHIFT puis flèche bas pour changer de mode de saisie dans l’ordre inverse.

Captures d’écran
Les trois états du mode « ALPHA » de la DM42 : mode HP-42S, direct majuscules et direct minuscules. Adieu les deux frappes de touches par lettre !

Je regrette juste qu’on ne puisse pas utiliser la touche SHIFT en mode « direct majuscules » pour taper la prochaine lettre en minuscule, ou vice-versa. Mais comme je le disais, au moment où j’écris ces lignes, ce mode de saisie est encore en train d’être développé et certains détails seront sûrement amenés à changer.

Une connectivité USB

Ensuite, sur la tranche supérieure, la DM42 est dotée du port infrarouge déjà présent sur la HP-42S pour imprimer (et qui fonctionne !) et y ajoute un connecteur micro-USB type B. Ce port USB sert à plusieurs choses :

  • tout d’abord, à alimenter la calculatrice (sans la recharger cependant, puisqu’elle est alimentée par une pile CR2032) ;
  • ensuite, l’horloge du CPU passe de 24 à 80 MHz lorsqu’elle est alimentée en USB, ce qui rend les programmes encore plus rapides qu’elles ne l’étaient déjà ;
  • ensuite, à transférer des fichiers entre un ordinateur et la calculatrice à l’aide d’un système de fichiers FAT32 monté en mode « stockage de masse USB », comme s’il s’agissait d’une clef USB ;
  • enfin, à installer des mises à jour du micrologiciel, régulièrement annoncées sur le forum et proposés au téléchargement sur le site de SwissMicros.

SwissMicros DM42
Tranche supérieure de la SwissMicros DM42.

La capacité de stockage de la calculatrice exposée à l’utilisateur est d’environ 6 Mo. Dit comme ça, ça semble peu, mais d’un autre côté, les programmes sont minuscules et il est improbable de saturer le stockage de cette calculatrice en usage normal. En tout cas, ce système a l’avantage d’être multiplateformes.

Lorsqu’on branche un câble USB, le mode transfert de fichiers n’est pas automatiquement activé : il faut aller dans le menu « SETUP », sélectionner « File » puis « Activate USB Disk ». C’est une bonne chose pour deux raisons : d’abord parce qu’il n’est pas possible d’utiliser la calculatrice tant que ce mode est actif, ensuite puisque cela permet d’éviter de transformer sa DM42 en vecteur de logiciels malveillants lorsqu’on la branche sur un poste vérolé juste pour l’alimenter par USB.

Les programmes sont transférés sous forme de fichiers .raw. Une fois placés sur la calculatrice, il faut les charger en mémoire à l’aide du menu File > Load Program. Et après, il ne reste plus qu’à le lancer avec la touche « XEQ ». La DM42 est d’ailleurs préchargée avec un ensemble de programmes tirés du site de Thomas Okken, dont des jeux et de quoi transformer la DM42 en calculatrice financière. Il est aussi possible de sauvegarder ses programmes avec File > Save Program.

C’est un système qui permet d’adjoindre assez simplement un mécanisme de stockage en mémoire non volatile à une calculatrice qui en était dépourvue à la base, puisque la HP-42S stockait tout en RAM. Le processus de chargement et de sauvegarde se contente donc de manipuler la RAM de la HP-42S émulée au sein de la DM42. Par conséquent, une réinitialisation totale de la calculatrice (l’équivalent d’un « Memory Clear » sur une HP-42S) n’affecte pas les .raw stockés sur la Flash ; il suffit alors juste de recharger ses programmes via le menu « SETUP ». Il y a donc beaucoup moins de risques de perdre un programme qu’on a passé des heures à mettre au point.

On peut d’ailleurs aussi sauvegarder l’état de la calculatrice en utilisant l’option Save Calculator State du menu File, ce que SwissMicros préconise de faire avant toute mise à jour de micrologiciel pour éviter toute perte de données.

La DM42 propose ainsi une connectivité avec un ordinateur qui manquait cruellement sur la HP-42S, puisque sur cette calculatrice-là, le seul moyen d’y rentrer un programme était de le taper sur la calculatrice…

Une calculatrice personnalisable et « hackable » (dans un futur proche)

Étant donné que le micrologiciel de la DM42 embarque une version modifiée de Free42, et comme Free42 est sous licence GPL, SwissMicros est normalement tenu de distribuer le code source du Free42 ainsi adapté. Ce n’est pas encore le cas au moment où j’écris ce billet, mais SwissMicros compte bien publier le code source de Free42. À terme, on devrait pouvoir générer ses propres micrologiciels pour la DM42 l’aide de la chaîne de compilation adéquate, du code source de Free42 et en « linkant » avec une bibliothèque statique binaire contenant du code propriétaire de SwissMicros (pour les fonctionnalités hors Free42). Cela permettra au moins de modifier Free42, ce qui est déjà très intéressant.

Autre petit détail amusant : si on place des images au format BMP 1 bit (Windows NT) dans le répertoire OFFIMG, la calculatrice en choisit une au hasard pour l’afficher lorsqu’elle est éteinte.

SwissMicros DM42
De gauche à droite : l’image par défaut lorsque la DM42 est éteinte, et deux autres « OFFIMG » téléchargées depuis le forum SwissMicros.

Pour ces raisons, qualifier la DM42 de « clone » ne lui rend pas du tout justice, puisque la dernière-née de SwissMicros parvient à combler les quelques lacunes de la HP-42S.

Conclusion

Nous avons vu que la future DM42 de SwissMicros est au stade de préproduction et que l’exemplaire dont je dispose s’en sort très bien.

Il lui manque seulement une chose, et non des moindres : un mode d’emploi. Une documentation existe déjà, mais elle est très sommaire et ne couvre en détail que le procédé de mise à jour du micrologiciel. Pour vraiment apprendre à s’en servir, il faut impérativement suivre le mode d’emploi de la HP-42S. Sans cela, on passe à côté de tout ce qui rend la HP-42S (et donc la DM42) aussi puissante.

Cela dit, la DM42 vise les fans inconditionnels de la HP-42S et des calculatrices HP de manière générale, donc certains ne verraient pas d’inconvénient particulier à l’absence de mode d’emploi. Malgré tout, et bien qu’il s’agirait d’un travail colossal, j’estime qu’un bon mode d’emploi exhaustif mériterait d’être écrit pour la DM42.

Le public visé est aussi un public qui a déjà passé ses examens (du moins en France), puisqu’une calculatrice comme celle-ci a besoin d’un « mode examen » pour pouvoir être autorisé aux examens en France à partir de la prochaine session de 2018. Elle n’est donc (hélas) pas à mettre entre toutes les mains.

En somme, j’en suis très content et à mes yeux, la DM42 pourrait être un excellent compagnon de bureau.

Liens divers

Posté par x0r à 2 commentaires • Tags : rpn swissmicros dm42 hp-42s calculatrice

Commentaires

Poster un commentaire

#1 — Un Passant

Il doit y avoir un problème avec la date de publication de cette article (en fait je pense qu'il n'est pas encore publié mais est déjà visible)... En attendant, je suis le premier ;) Sinon il est sympa cet article, continu comme ça.

#2 — x0r

En effet, comme je n’ai aucune interface d’administration sur ce site (hormis un SSH sur la machine qui l’héberge), le seul moyen de prévisualiser mes brouillons est de les uploader sur le serveur et espérer que personne ne devine l’URL (ce qui est très naïf de ma part). Tu as donc pu profiter de la rédaction en « direct live » d’un de mes billets de blog. :)

Poster un commentaire