x48ng
x48ng est un émulateur dédié aux calculatrices HP48 S, SX, G et GX, conçues pour l’ingénierie, la programmation et les calculs avancés. Développé comme un fork de x48, il reproduit l’environnement logiciel (RPL) de ces appareils rétro, utiles pour les utilisateurs cherchant une alternative logicielle à leur matériel.
Bien que le projet soit principalement maintenu en source ouvert, son portage sur macOS (notamment les architectures récentes) reste possible via compilation manuelle. L’outil s’adresse aux passionnés de calculatrices HP ou aux développeurs souhaitant tester des programmes écrits pour ces plateformes. Aucune version binaire officielle n’est distribuée pour macOS.
Dernière mise à jour :
Plateformes
Architecture
Mac OS X - macOS
Apple Silicon
64 bits
SDL Library
Téléchargement et liens
Historique des versions
v0.51.2
- Correction majeure : résolution d’un problème visuel affectant les couleurs des modes du clavier (keypad), améliorant la lisibilité et la cohérence des affichages dans les environnements graphiques.
(Aucune mention spécifique à macOS ou Apple Silicon dans ce changelog.)
Changelog complet
v0.51.1
-
Nouveauté majeure :
- Remplacement du script
setup-x48ng-home.sh(obsolète) par un nouveaux48ng-launcher(à utiliser comme binaire principal), qui initialise automatiquement le dossier de configuration~/.config/x48ngavant l’exécution.
- Remplacement du script
-
Améliorations d’interface utilisateur (TUI) :
- Ajout de l’option
--chromelesspour masquer la bordure et désactiver l’affichage automatique de l’aide, utile pour les terminaux réduits. - Correction de l’affichage en mode
--tui-smallet--tui-tiny: respect désormais strict de 131 colonnes (au lieu d’un dépassement).
- Ajout de l’option
-
Documentation mise à jour :
- Liste des raccourcis TUI corrigée et enrichie avec leurs alternatives.
Changelog complet
v0.51.0
-
Nouveauté majeure :
- Introduction d’un script
x48ng-launchercomme binaire principal, remplaçant le besoin desetup-x48ng-home.sh(celui-ci sera supprimé) et gérant automatiquement la configuration de~/.config/x48ng.
- Introduction d’un script
-
Améliorations de l’interface TUI :
- Mode `--chromeless** pour supprimer la bordure et masquer l’aide par défaut, utile pour les terminaux réduits.
- Correction du nombre de colonnes (131) dans les modes
--tui-smallet--tui-tiny.
-
Documentation mise à jour :
- Liste des raccourcis TUI corrigée et complétée par leurs alternatives.
Changelog complet
v0.50.0
-
Nouvelle interface graphique unifiée : Remplacement complet de l’UI par ui4x, une bibliothèque commune partagée avec saturnng et hpemung, basée sur SDL3 (suppression de la dépendance à X11) et amélioration de la TUI (ncurses).
-
Refonte majeure du système LCD : Réécriture inspirée de saturnng, avec une gestion optimisée des affichages LCD.
(Aucune mention spécifique à macOS ou Apple Silicon dans ce changelog.)
Changelog complet
v0.41.1
- Correction urgente : résolution d’un bug graphique mineur sur TOS 9 (TurboGrafx-16), évitant des artefacts visuels légers.
(Aucune modification spécifique à macOS ou Apple Silicon dans cette version.)
Changelog complet
v0.41.0
-
Migration majeure de l'interface utilisateur : suppression complète de l'interface SDL1 au profit de SDL2, avec une transition censée être transparente pour l'utilisateur (compatibilité des fonctionnalités préservée).
-
Nouveauté technique : ajout d’une cible
uninstalldans le Makefile, simplifiant la désinstallation via des commandes dédiées.
(Aucune modification spécifique à macOS ou Apple Silicon dans cette version.)
Changelog complet
v0.40.2
-
Dernière version incluant l’interface graphique SDL1 (remplacement imminent par une nouvelle UI, non annoncée pour l’instant).
-
Correction majeure : interprétation erronée de la valeur de mise à l’échelle dans le fichier de configuration.
-
Amélioration mineure : ajustement de la génération du fichier de configuration par défaut.
(Aucune modification spécifique à macOS ou Apple Silicon dans cette version.)
Changelog complet
v0.40.1
- Correction d’un bug mineur dans le script
setup-x48ng-home.shqui pointait vers le mauvais chemin pour les ROMs (impactant potentiellement l’initialisation des jeux).
(Aucune mention spécifique à macOS ou Apple Silicon dans ce changelog.)
Changelog complet
v0.40.0
-
Nouveauté pour l'interface SDL2 : ajout du paramètre
--scale=pour ajuster la taille de la fenêtre (agrandissement ou réduction). -
Documentation mise à jour : mention explicite de SDL2 dans la page de manuel (
man) et dans l'affichage des paramètres de configuration.
(Aucune modification spécifique à macOS ou Apple Silicon dans cette version.)
Changelog complet
v0.39.0
-
Nouveauté majeure : Intégration par défaut de l’interface utilisateur SDL2 (remplaçant progressivement SDL1, désormais désactivée par défaut et incompatible en co-compilation).
-
Amélioration technique : Suppression de l’outil
mkcard(remplacé par une commandeddpour la création de cartes portables). -
Script de configuration : Réécriture de
setup-x48ng-home.shpour éviter toute dépendance à la variable@PREFIX@. -
Personnalisation avancée : Possibilité de choisir la version de Lua liée lors de la compilation via
LUA_VERSION=luajit(exemple) dans leMakefile.
Changelog complet
v0.38.0
-
Suppression des ROMs intégrées : Les ROMs ne sont plus incluses dans le package par défaut en raison d’un statut de licence ambigu. Un script de configuration doit désormais les récupérer séparément.
-
Amélioration de la configuration du Makefile : Meilleure modularité et personnalisation des builds via le fichier
Makefile, avec une contribution externe. -
Compatibilité des interfaces graphiques : L’interface SDL respecte désormais les options
--gray(mode grisé) et--mono(monochrome), avec des ajustements mineurs et une refonte du code pour réduire les redondances entre les UIs.
(Aucune modification spécifique à macOS ou Apple Silicon mentionnée dans ce changelog.)
Changelog complet
v0.37.0
- Correction critique : Résolution d’un problème majeur lié à la stabilité (issue #19), probablement lié à des plantages ou comportements indésirables en cours d’exécution.
(Aucune mention spécifique à macOS ou Apple Silicon dans ce changelog.)
Changelog complet
v0.36.90
-
Ajout d'une option de ligne de commande
--inhibit-shutdownen réponse à un problème connu (#15), permettant de bloquer temporairement l'arrêt du système hôte (solution brute et non testée en profondeur, à utiliser avec prudence). -
Correction mineure de formulations dans le code et les messages d'erreur/affichage.
Changelog complet
v0.36.0
-
Amélioration de l'interface utilisateur (TUI) :
- Préférence par défaut pour les options
--tui-tinyet--tui-small(réduction de la taille de l'interface en ligne de commande). - Remappage de la touche F1 vers F7 pour déclencher des actions spécifiques dans l'interface TUI.
- Préférence par défaut pour les options
-
Corrections mineures et ajustements :
- Divers ajustements visuels (UI tweaks) dans l'interface TUI pour une meilleure ergonomie.
Changelog complet
v0.35.0
- Standardisation des raccourcis clavier : Harmonisation des touches fonctionnelles (
F1àF7) dans les trois interfaces utilisateur (CLI, TUI et GUI) avec les fonctions suivantes :F1→ Entrée (mode texte),F2→ Maj gauche,F3→ Maj droite,F4→ Mode alphanumérique,F5→ Activation/désactivation du périphérique,F7→ Quitter l'émulateur.
(Aucune mention spécifique à macOS ou Apple Silicon dans ce changelog.)
Changelog complet
v0.34.0
-
Ajout d’un nouvel argument
--leave-shift-keyset suppression de la constanteDONT_SHADOW_SHIFTS, permettant de désactiver l’ombrage automatique des touches Shift dans l’interface utilisateur. -
Correction du choix par défaut de l’interface graphique pour qu’il reflète ce qui est compilé (priorité : X11 > SDL > TUI).
-
Amélioration de la compatibilité avec les versions de Lua aussi anciennes que la 5.1, élargissant ainsi la portée des scripts supportés.
-
Intégration d’une commande
make get-romspour faciliter la récupération des ROMs externes, réduisant potentiellement la taille des distributions futures.
(Aucune modification spécifique à macOS ou Apple Silicon dans ce changelog.)
Changelog complet
v0.33.0
- Nouveauté majeure :
- Correction de la gestion des touches Shift dans les builds compilés avec
DONT_SHADOW_SHIFTS=yes: les variantes--x11et--sdlne mappent plus les touches Shift (mais les touches Ctrl gauche/droite restent affectées aux Shift virtuels dans l'émulateur).
- Correction de la gestion des touches Shift dans les builds compilés avec
(Aucun changement spécifique à macOS ou Apple Silicon dans ce changelog.)
Changelog complet
v0.32.0
-
Nouveauté majeure : ajout d’un mode
--tui --tinyutilisant 8 pixels par caractère, optimisé pour les terminaux réduits (minimum 70×20) et recommandé avec--monopour une meilleure lisibilité. Les deux autres modes (--tuiet--tui --small) sont conservés pour une compatibilité avec des tailles de terminal plus grandes. -
Amélioration des options : expansion du système
--tuiavec trois niveaux de résolution (1px, 4px et 8px par caractère), offrant une flexibilité accrue selon la taille du terminal utilisé.
Changelog complet
v0.31.1
- Amélioration visuelle mineure : Correction de l’affichage des bordures dans l’interface en ligne de commande (
--tui), rendant le rendu plus cohérent et propre.
(Aucune mention spécifique à macOS ou aux builds Apple Silicon dans ce changelog.)
Changelog complet
v0.31.0
-
Nouveauté majeure : ajout d’une option TUI compacte (
--tui --small) utilisant des caractères Unicode pour afficher 4 pixels par caractère d’écran (paramétrable via_config.luaavecsmall = true). -
Correction importante : suppression de la valeur redondante
.config/dans le chemin par défaut du dossier de configuration. -
Optimisation mineure du code ncurses pour une meilleure efficacité.
Changelog complet
Captures d'écran