clone matériel de la calculatrice HP41C

Section réservée aux autres ordinateurs et systèmes récents, novateurs ou inclassables
Règles du forum
Merci de vérifier que votre sujet est posté dans la bonne rubrique.
Ne répondez pas aux spams : signalez-les à l'administrateur
Les hors sujets doivent être postés dans la rubrique "Discussions libres"
lerautal
Messages : 51
Inscription : ven. 12 juin 2026 10:38

Re: clone matériel de la calculatrice HP41C

Message par lerautal »

La HP a redémarré !
Après nettoyage des contacts de pile très encrassés, j'ai ôté les patins de caoutchouc permettant de poser la machine sur un support plat.
En-dessous : 4 petites vis. Attention : les longueurs sont différentes et il faudra revisser chacune à sa place.
Surprise : la partie électronique est impeccable.
Petit nettoyage des contacts au coton tige.
La machine, remontée, ne démarrait toujours pas.
La lecture attentive du manuel en français, pages 175 et 176, m'a permis de "décoincer" l'appareil : en pressant le bouton "ON" et la flèche <- en même temps, j'ai obtenu l'affichage de "MEMORY LOST".
Pas sympa, mais un affichage quand même.
Machine éteinte puis rallumée : elle affiche le contenu de la pile.
Problème : cette note et la suite éventuelle sont hors sujet.
Où écrire la suite ? Quelque part, j'ai le module math mais ne sais plus l'utiliser... la doc quelque part mais où ?
J'avais acheté le lecteur de cartes magnétiques. Dans un carton ? Et les cartes... lisibles ?
(j'ai fait quelques photos des composants. Si cela intéresse, me les demander via mail).
lerautal
Messages : 51
Inscription : ven. 12 juin 2026 10:38

Re: clone matériel de la calculatrice HP41C

Message par lerautal »

Dans le sujet...
La société suisse SwissMicros propose un clone de la HP 41 appelé DMX41
https://www.swissmicros.com/fr/products/dm41x
Produit cher mais acier inoxydable...
Port USB donnant accès à plein de programmes.
Une vidéo montrant cette machine exécutant du Forth.
https://www.youtube.com/watch?v=6uljanU6ehI

Compte-tenu du prix, il faut être motivé.
Avatar de l’utilisateur
dfeugey
Site Admin
Messages : 47
Inscription : mer. 10 juin 2026 12:12

Re: clone matériel de la calculatrice HP41C

Message par dfeugey »

lerautal a écrit : ven. 10 juil. 2026 12:58 Dans le sujet...
La société suisse SwissMicros propose un clone de la HP 41 appelé DMX41
Belle trouvaille. Une machine bien pensée et surement très autonome.
Par contre, j'ai vu quelques démos du Forth sur la DM42 et cela me semble assez lent, alors que le processeur ARM tourne à 160 MHz.
David Feugey - Mag42
lerautal
Messages : 51
Inscription : ven. 12 juin 2026 10:38

Re: clone matériel de la calculatrice HP41C

Message par lerautal »

Tu as écrit que le Forth sur Pico Calc etait difficile à installer.
Mais est-il rapide ?
Avatar de l’utilisateur
dfeugey
Site Admin
Messages : 47
Inscription : mer. 10 juin 2026 12:12

Re: clone matériel de la calculatrice HP41C

Message par dfeugey »

Il y a des chances que oui, mais c'est juste impossible à vérifier pour le moment de mon côté, faute de temps...

De ce que j'ai compris. on installe le pack de base, puis on doit se connecter depuis une machine Linux pour compiler les mots Forth spécifiques au PicoCalc. Alors, il devient utilisable pleinement sur la machine.

Je n'ai pas pigé pourquoi l'auteur ne livre pas directement un truc utilisable...

https://forum.clockworkpi.com/t/forth-o ... /17330/413
https://forum.clockworkpi.com/t/zeptofo ... c/22072/14
David Feugey - Mag42
Avatar de l’utilisateur
dfeugey
Site Admin
Messages : 47
Inscription : mer. 10 juin 2026 12:12

Re: clone matériel de la calculatrice HP41C

Message par dfeugey »

Nota, il y a aussi un ANS Forth pour PicoCalc, directement utilisable.
Par contre, il faut doter la machine d'un Pico2 pour pouvoir l'utiliser.
https://github.com/BlairLeduc/pico-ans-forth

Il y a également un interpréteur Forth ici :
https://github.com/Javier-varez/picocalc_forth
David Feugey - Mag42
lerautal
Messages : 51
Inscription : ven. 12 juin 2026 10:38

Re: clone matériel de la calculatrice HP41C

Message par lerautal »

La cuisine est, pour certains, l'art de réutiliser les restes.
Qu'ai-je dans mes cartons qui permettrait de reconstituer un équivalent du Picocalc ?
1.
Aspect matériel.
- Une carte Raspi 3B+ avec 1Go de RAM. C'est luxueux certes, mais elle n'est pas valorisée de toutes façons.
- L'écran tactile 7 pouces standard acheté pour un autre projet et mis de côté pour le moment.(https://www.kubii.com/fr/ecrans-support ... 03937.html))
. Le mini clavier sans fil.
- Une "banque de recharge pour téléphone" sur cable USB qui suffisait pour alimenter le Pi.
Mais avec Pi + écran ? on verra.
D'accord cela ne tiendra pas dans une poche comme la HP ou le Picocalc.
2.
Aspect logiciel.
Sur un Pi3 le choix d'un langage de programmation est très vaste.
Python, Basic, Rust, gforth, ainsi que les langages qui s'éxécutent au sein d'un navigateur, si l'on veut profiter du tactile.
3.
Quel projet et quel nom ?
Projet : exécuter toutes les opérations permises par la HP 41 C, mais en améliorant la précision des calculs.
Application : les calculs contenus dans le livre de Jean Meeus : calculs astronomiques à l'usage des amateurs.
Noms possibles de la "calculatrice" :
- RP quelque chose : on utilise un Raspberry Pi
- 41 : évocation de la calculatrice HP 41
- une lettre rappelant le langage de programmation utilisé.
Cela donnerait, par exemple :
RP 41 P : avec Python
RP 41 B : avec Basic
RP 41 F : avec Forth
RP 41 R : avec Rust
RP 41 Cé : avec le langage C (besoin d'une seconde lettre)
4.
Reste maintenant à rédiger quelques fiches permettant de présenter certains des algorithmes utilisés pour que chacun puisse adapter à son langage de prédilection.
Complément : Python, par exemple, dispose d'une vaste bibliothèque scientifique, avec, en particulier https://www.astropy.org/ qui est très performante.
Cela étant, si le plaisir est de faire par soi-même, il vaut mieux éviter de l'utiliser.
lerautal
Messages : 51
Inscription : ven. 12 juin 2026 10:38

Re: clone matériel de la calculatrice HP41C

Message par lerautal »

Avertissement. Le présent article est à cheval sur le matériel, défini ici comme la calculatrice RP 41 P, et le logiciel.

Véga est une des deux étoiles les plus brillantes du ciel d'été.
En juillet-aout, à la tombée de la nuit, on peut voir son éclat blanc-bleuté presque au zénith et la comparer avec sa rivale plus jaune Arcturus.
1.
Sur Terre, un objet est repéré par un système de coordonnées.
Prenons l'exemple de la Tour (Eiffel) pour laquelle les angles sont donnés en degrés et décimales (de degré) :
Latitude : 48,858370 degrés Nord
Longitude : 2,294481 degrés Est
Un tel repérage suppose un point origine.
Pour la latitude, le zéro est l'équateur, et il faudra préciser si l'hémisphère est Nord ou Sud.
Pour la longitude, c'est le méridien passant par l'observatoire de Greenwich.
2.
Dans le ciel le repérage se fait sur une sphère fictive, appelée sphère céleste,
par la déclinaison (équivalente de la latitude) et l'ascension droite (équivalente de la longitude).
Pour Véga, la déclinaison +38° 47' 01.28''
et l'ascension droite (abréviation AD) est 18h 36m 56.3364s.
(Valeurs relevées sur Wikipedia : https://fr.wikipedia.org/wiki/V%C3%A9ga )
3.
Les calculs astronomiques font très largement appel aux fonctions trigonométriques. Or celles-ci ne peuvent s'appliquer en même temps sur des heures, des minutres, des secondes (de même pour les degrés, minutes d'angles, secondes d'angles).
Il est nécessaire de transformer tout en degrés et décimales (cas de la calculatrice HP) et même en radians dans le cas des langages informatiques comme Python.

PREMIER PROJET

Convertir l'ascension droite de Véga en degrés puis en radians.
Savoir nécessaire :
1 heure vaut 15 degrés
1 heure vaut 60 minutes ou 3600 secondes
Pour convertir degrés en radians on multiplie l'angle en degrés par pi et on divise le produit par par 180
On en déduit que AD en degrés égale
(18 * 15) + (36 / 60)+ (56.3364 / 3600)
Soit 270.615649 degrés ou 4.7231340824713 radians
(on trouve un convertisseur en ligne moins précis sur les secondes à l'adresse : https://www.vercalendario.info/fr/comme ... eures.html)

À titre d'exemple, et "pour le fun" voici une solution en langage Python qui utilise les fonctions de façon à faciliter à la fois la lisibilité et la compréhension de la syntaxe du langage.
Pour des raisons de simplicité du code, les valeurs de l'ascension droite sont écrites dans le code et non pas introduites comme paramètres au clavier. Cela évite le recours aux Inputs et au traitement des erreurs.

Code : Tout sélectionner

""" Convertir l'ascension droite de Véga """
from math import pi
def HD(heure):
	# Convertit Heure en degrés
	return heure * 15
def MD(minutes):
	# Convertit minutes en degrés
	return minutes / 60
def SD(secondes):
	# Convertit minutes en degrés
	return secondes / 3600
def DenRad(degres):
	# conversion des degrés et décimales en radians
	return (degres * pi) / 180

ADenDegres  = HD(18) + MD(36) + SD(56.3364)
ADenRadians = DenRad(ADenDegres)
print("AD de Véga en degrés ", ADenDegres)
print("AD de Véga en radians ", ADenRadians)
Remarques :
- On est très loin de la compacité des programmes de type "deux lignes" en Basic, mais j'ai choisi de faciliter lecture et compréhension du code.
- Si l'on envisage un équivalent en Forth, on doit penser "mots Forth" et la structure du code Python peut servir d'approche pédagogique pour un code dans le langage à Pile.
4.
En attendant, utilisons la HP41 C en mode calculatrice

Code : Tout sélectionner

16 ENTER
15 *
36 ENTER
60 /
+
56.3364 ENTER
3600 /
+
Qui donne 270.6156490 soit la même chose que le programme Python.
Sacrée bonne machine.
Comme elle possède une touche Pi, il est possible de poser la conversion des degrés en radians.
Cela donne : 4.723134083 à comparer avec la valeur 4.723134082471 obtenue en Python sur 64 bits.
Dernière modification par lerautal le mar. 28 juil. 2026 11:15, modifié 1 fois.
lerautal
Messages : 51
Inscription : ven. 12 juin 2026 10:38

Re: clone matériel de la calculatrice HP41C

Message par lerautal »

Reprenons la conversion de l'ascension droite de Véga, mais, cette fois-ci en mode interprétation pour s'approcher du mode d'usage d'une calculatrice.
1.
Le langage Python offre la possibilité d'un mode immédiat, sans devoir écrire un programme.
Par contre les calculs devront être entrés au clavier en mode infixe, en utilisant des parenthèses (et non postfixé comme avec la HP).
Comment faire sur un ordinateur sous Linux (PC ou Raspberry Pi) ?
Ouvrir un terminal et dans celui-ci, tapons python3

Code : Tout sélectionner

blabla@uuu:~$ python3
Python 3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 
Les trois signes >>> sont une invite à introduire des commandes ou des valeurs au clavier.
Introduisons l'expression suivante : (18 * 15) + (36 / 60)+ (56.3364 / 3600) puis validons par Entrée.

Code : Tout sélectionner

>>> (18*15)+(36/60)+(56.3364/3600)
270.615649
(Quitter par Contôle D)
2.
Passons à gforth et, pour cela, ouvrons un terminal et tapons gforth.

Code : Tout sélectionner

blabla@uuu:~$ gforth
Gforth 0.7.3, Copyright (C) 1995-2008 Free Software Foundation, Inc.
Gforth comes with ABSOLUTELY NO WARRANTY; for details type `license'
Type `bye' to exit
Le petit carré blanc, au début de la ligne suivante est l'invite à entrer des valeurs.
Attention ici : par défaut, Forth calcule sur des nombres entiers.
Pour effectuer des calculs sur des flottants, il faut ajouter la lettre e à la fin des nombres et modifier les opérateurs en ajoutant la lette f devant.
Par exemple : la multiplication sera marquée par f*, la division par f/ et l'affichage du sommet de la pile ne se fera pas par le point mais par f.
Cela donne :

Code : Tout sélectionner

18e 15e f*  ok
36e 60e f/  ok
f+  ok
56.3364e 3600e f/  ok
f+  ok
f. 270.615649  ok
Ce qui est fastidieux à entrer : la moindre erreur d'introduction et il faut tout recommencer.
3.
Il est possible d'utiliser les langages Python et Forth en mode immédiat pour effectuer des calculs en nombres flottants comme sur une calculatrice.
Pour un pratiquant occasionnel de Forth, la syntaxe particulière aux nombres flottants est fastidieuse.

Remarque : Si vous voulez proposer des équivalences en Basic ou autre, intervenez sur le forum ou envoyez-les via la messagerie.
Avatar de l’utilisateur
dfeugey
Site Admin
Messages : 47
Inscription : mer. 10 juin 2026 12:12

Re: clone matériel de la calculatrice HP41C

Message par dfeugey »

C'est vraiment passionnant tout cela.

J'avoue être loin du Forth, trop bas niveau pour ce que je veux faire. Pour le bas niveau, le C garde ma préférence. Toutefois, sur du haut niveau, des outils comme Rebol (très inspiré de Forth) ont su m'intéresser à une époque.

Outil qui existe toujours :
https://github.com/Oldes/Rebol3/releases

Sans compter ses dérivés comme Red.

Concernant les calculatrices graphiques programmables, il est tentant d'en faire le guide d'été 2027.
A méditer, mais si cela arrive, cela sera 99% de ta faute :mrgreen:
David Feugey - Mag42
Répondre