RPN 50g

Émulateurs de calculatrices HP comparés

Emu48, x48, x48ng, x50ng, RPN 48, RPN 49G, RPN 50g : tous font tourner le firmware de Hewlett-Packard, si bien que la calculatrice obtenue est la vraie. Ce qui les sépare, c'est la machine émulée, la plateforme sur laquelle ils tournent, et la profondeur de l'émulation.

En un coup d'œil

ÉmulateurCalculatricesTourne surMoteur
Emu48 HP 38G, 39G, 40G, 48SX, 48GX, 49G Windows (et une ancienne version Windows Mobile) processeur Saturn émulé en C, natif
x48ng HP 48SX, 48GX Linux et BSD (X11, SDL, terminal) processeur Saturn émulé en C, natif ; fork maintenu de x48
x50ng HP 49g+, 50g Linux (GTK) matériel ARM émulé avec QEMU ; fork de x49gp
RPN 48 HP 48GX, 48SX iPhone, iPad, Mac, Windows processeur Saturn émulé en C, natif ; cœur clean-room
RPN 49G HP 49G iPhone, iPad, Mac processeur Saturn et mémoire flash de la 49G émulés en C, natif ; cœur clean-room (celui de RPN 48)
RPN 50g HP 49g+, 50g iPhone, iPad, Mac, Windows matériel ARM920T et S3C2410 émulé en C, natif, sans QEMU ; cœur clean-room

Tous ont besoin d'une image de ROM ou d'un paquet de firmware de HP, publiés avec l'accord de HP sur hpcalc.org ; aucun ne contient de logiciel HP.

Saturn ou matériel : ce que change le moteur

Les HP 48SX et 48GX reposent sur un processeur Saturn, le processeur 4 bits (par quartets) conçu par HP. Émuler une 48, c'est interpréter les instructions Saturn et modéliser l'écran et le clavier autour — c'est ce que font Emu48, x48ng et RPN 48, chacun avec sa propre implémentation. La HP 49G (1999) est encore une machine Saturn, avec 2 Mo de mémoire flash en banques à la place des cartes d'extension : Emu48 et RPN 49G l'émulent.

Les HP 49g+ et 50g sont une tout autre machine : un système sur puce ARM (un Samsung S3C2410 autour d'un ARM920T) qui exécute le firmware de HP, lequel émule à son tour un Saturn en logiciel pour faire vivre le monde RPL. Un émulateur fidèle de la 50g doit donc modéliser du matériel ARM. x50ng s'appuie pour cela sur QEMU ; RPN 50g modélise directement le processeur et ses périphériques, en C portable.

C'est cette différence qui explique que la 50g n'ait jamais existé sur un téléphone : QEMU génère du code à l'exécution, ce qu'iOS interdit. Un modèle matériel écrit comme un interpréteur n'a pas cette contrainte — il tourne aussi bien sur iPhone, iPad, Mac et PC.

Vous venez d'Emu48

Emu48 est la référence sous Windows depuis vingt-cinq ans, et il est toujours maintenu. Il émule plus de modèles que n'importe quel autre, de la HP 38G à la 49G, et son format de skins KML forme à lui seul un petit écosystème. C'est un programme Windows : il n'en existe pas de version Mac, iPhone ou iPad.

Si c'est de là que vous venez, RPN 48 vous rend les deux mêmes machines sur matériel Apple : les mêmes ROM des HP 48SX et 48GX depuis hpcalc.org, les mêmes touches, les mêmes menus, le même RPL. Les skins sont construites à partir des images de skins Emu48, si bien que la calculatrice a le visage que vous lui connaissez. Ce qui ne suit pas, c'est la mécanique KML : RPN 48 a deux faces fixes, la 48GX et la 48SX, et passe de l'une à l'autre par son menu. Pour la HP 49G, RPN 49G fait de même avec la ROM 2.10 de HP, sa mémoire flash conservée d'une session à l'autre.

Vous venez de x48, x48ng ou x50ng

x48ng est le descendant maintenu de x48, l'émulateur X11 présent sur les stations Unix depuis le début des années 1990 ; il tourne sous X11, SDL, et même dans un terminal. x50ng en est l'équivalent pour la 50g : un fork maintenu de x49gp, bâti sur QEMU. Ce sont des logiciels Linux, libres, et excellents sur un ordinateur de bureau.

Loin d'un bureau Linux, RPN 48 et RPN 50g couvrent les deux mêmes machines sur iPhone, iPad, Mac et Windows. Ils ne partagent aucun code avec ces projets : les deux cœurs ont été écrits à partir de la documentation de HP, sous licence MIT. Ils ont en revanche été vérifiés contre eux — des millions d'instructions exécutées côte à côte, chaque registre comparé après chaque instruction, jusqu'à ce que les deux soient d'accord. Le logiciel libre fait un excellent oracle de référence.

HP 48, HP 49G ou HP 50g : laquelle vous faut-il ?

Les HP 48GX (1993) et 48SX (1990) sont les machines sur lesquelles toute une génération d'ingénieurs a appris : RPN, programmation RPL, unités avec analyse dimensionnelle, calcul symbolique, écran de 131×64 points. Choisissez-les pour retrouver l'original, pour faire tourner d'anciens programmes, ou pour suivre un cours écrit pour la 48. C'est RPN 48.

La HP 49G (1999) a apporté aux machines Saturn le calcul formel, l'éditeur d'équations et la saisie algébrique, avec un écran plus grand et la mémoire flash. Choisissez-la pour le calcul formel sur le matériel classique, ou pour la calculatrice que vous aviez à l'école. C'est RPN 49G.

Les HP 50g (2006) et 49g+ closent la lignée et sont les plus capables : calcul formel complet, tracés 2D et 3D, bibliothèque d'équations, lecteur de carte SD, processeur bien plus rapide. Choisissez-les pour calculer pour de bon. C'est RPN 50g.

Les trois applications gardent la mémoire de chaque machine séparément, téléchargent leur firmware depuis hpcalc.org à la demande, et affichent les manuels de HP à côté de la calculatrice — voir les manuels.

Questions fréquentes

Existe-t-il une version d'Emu48 pour Mac, iPhone ou iPad ?

Non. Emu48 est un programme Windows, avec une ancienne version Windows Mobile. Sur macOS, iPhone et iPad, RPN 48 émule les mêmes HP 48SX et HP 48GX et RPN 49G la même HP 49G, avec les mêmes ROM de HP.

Peut-on utiliser x48 ou x48ng ailleurs que sous Linux ?

Ce sont des programmes Unix, avec des interfaces X11, SDL et terminal, prévus pour Linux et les BSD. Sur macOS, iPhone, iPad et Windows, RPN 48 émule les mêmes calculatrices.

Peut-on utiliser la même image de ROM ?

Oui : ce sont les images de HP, les mêmes fichiers que pour les autres émulateurs. RPN 48 et RPN 50g téléchargent celle que vous choisissez depuis hpcalc.org au premier lancement, après confirmation.

Mes programmes HP 48 et HP 50g fonctionnent-ils toujours ?

Oui. La machine émulée fait tourner le firmware original de HP : les programmes User RPL et System RPL, les bibliothèques et les répertoires se comportent comme sur la calculatrice physique.

Existe-t-il une version Android ?

Pas encore. RPN 48 et RPN 50g tournent sur iPhone, iPad, Mac et Windows, RPN 49G sur iPhone, iPad et Mac.