Page 1 of 1

Simulateur HP-41CX en Python pour HP Prime

Unread postPosted: 17 May 2021, 21:42
by critor
La HP-41C sortie en 1979 est non seulement une calculatrice programmable, mais également un véritable ordinateur de poche avec :
  • 4 ports permettant d'accueillir de quoi étendre les capacités de la calculatrice : modules d'extension mémoire (RAM), modules de programmes (ROM), module infrarouge...
  • sa connectivité avec un grand nombre de périphériques dédiés (lecteur/enregistreur de cartes magnétiques ou cassettes, lecteur optique pour entre autres les codes barres, imprimante...)
L'afficheur à cristaux liquides 12 cellules de la HP-41C fut également à l'époque une innovation remarquable dans le monde des calculatrices. En effet il n'utilisait pas des cellules à 7 segments mais des cellules à 14 segments, permettant d'afficher aussi bien des nombres que des lettres, et offrant ainsi une bien meilleure interactivité à l'utilisateur.
La mémoire disponible était relativement faible dans le contexte de l'époque, seulement 64 registres.

Beaucoup d'utilisateurs faisaient donc usage des ports d'extension afin de rajouter des modules RAM, avec l'inconvénient alors d'empêcher d'utiliser les autres types modules d'extension (ROM, infrarouge...).

Dès 1980 arrive le HP-41CV. Il s'agit matériellement d'une HP-41C mais intégrant directement en interne l'équivalent de 4 modules d'extension RAM. On passe ainsi à 320 registres soit 5 fois plus, d'où le chiffre romain V en suffixe du nom de modèle.
Plus besoin ici d'acheter des modules RAM et de bloquer les ports d'extension de la calculatrice (surtout que la mémoire est maintenant à la capacité matérielle maximale et ne peut plus être étendue), les 4 ports pouvaient maintenant être librement utilisés pour les autres possibilités d'extension de la machine ! :bj:

En 1983 arrive le HP-41CX. Il intègre ici encore en interne l'équivalent de quelques modules ROM qui jusqu'à présent devaient être achetés séparément : Time (horloge + chronomètre), X-functions, ainsi qu'un éditeur de textes.

Bien évidemment toutes ces calculatrices fonctionnent en notation postfixée dite RPN (Notation Polonaise Inverse), permettant la saisie rapide des calculs sans avoir à utiliser la moindre parenthèse, signature à l'époque des formidables calculatrices Hewlett Packard.

13923Il y a à peine quelques semaines, nous avions droit à la sortie de la mise à jour HP Prime avec Python.

Voici déjà aujourd'hui par Oulan un projet Python d'envergure pour la HP Prime, et rendant par la même occasion un très bel hommage à Hewlett Packard... un simulateur de HP-41CX ! :bj:

Mais ce n'est pas tout, car l'application simule également la connexion avec une imprimante Helios (HP 82143A). En mode interactif les différentes sorties ainsi affichées au fur et à mesure sur le papier de l'imprimante s'ajoutent à l'afficheur monoligne de la calculatrice, et facilitent grandement son utilisation. En effet l'imprimante remplace ce que l'on appelle historique de calculs sur nos machines actuelles, et te permet alors d'un seul coup d'œil d'avoir une idée rapide de l'état de la pile LIFO, et d'en tenir compte pour tes prochaines saisies de calculs RPN.

Téléchargement : https://sites.google.com/site/olivier2smet2/home/py-41

Source : https://www.hpmuseum.org/forum/thread-16950.html

Re: Simulateur HP-41CX en Python pour HP Prime

Unread postPosted: 26 May 2021, 17:11
by Obilolo
Bonjour,

J'ai pu essayer cet émulateur et c'est assez impressionnant !

J'ai par contre eu un peu de mal à le faire fonctionner, à cause du fait que j'ai réglé ma Prime sur le séparateur décimal ",". Le programme utilise le "." et ça ne fonctionnait pas.

Il y a moyen de mettre des directives #pragma dans du code python ?

Re: Simulateur HP-41CX en Python pour HP Prime

Unread postPosted: 27 May 2021, 07:25
by stevetuc
Agreed, very impressive!
There is also a problem running the later versions py41c and py41d on the g1. The settings heap:1024 and stack:40000 that work on g2 do not work on g1.
Reducing the modules loaded in config.py does not help. Perhaps the limited free memory (g1 ~ 12MB compared to g2 ~233MB) is the issue?..