Firebird
Firebird est un émulateur dédié aux calculatrices Texas Instruments de la gamme NSpire, incluant les modèles Touchpad (CAS), CX (CAS) et CX II (-T/CAS). Développé initialement par Goplat avant d’être repris par la communauté, il reproduit fidèlement l’environnement logiciel et matériel de ces outils pédagogiques et scientifiques, utiles en mathématiques, physique ou ingénierie.
Sur macOS, Firebird fonctionne sur les architectures récentes (Apple Silicon et Intel) et propose une interface utilisateur intuitive. L’émulateur prend en charge les fonctionnalités avancées des calculatrices, comme les graphiques dynamiques, les calculs symboliques (CAS) et les interfaces tactile ou clavier. Bien que conçu à l’origine pour Android, iOS, Linux et Windows, il reste compatible avec macOS via une compilation open-source sous licence GPLv3.
Dernière mise à jour :
Plateformes
Architecture
Mac OS X - macOS
64 bits
Téléchargement et liens
- Télécharger Firebird
- Version iOS
- Site officiel
- Code source
-
brew install --cask firebird-emu
Historique des versions
v1.6
-
Nouvelle fonctionnalité majeure :
- Émulation officielle des calculatrices CX II (modèles -T/CAS), bien que le boot complet de l’OS reste impossible sans une amélioration des outils de dumping du bootrom.
-
Améliorations techniques critiques :
- Prise en charge native du mode 64 bits sur Windows (applications 32 bits toujours supportées).
- Correction de la persistance de l’état lors des redémarrages pour l’installation de l’OS 4.5.3.14+ (grâce à l’implémentation du Fastboot RAM).
- Suppression des limitations PIE sur x86_64 : les exécutables position-independent ne nécessitent plus de désactivation manuelle.
-
Corrections d’erreurs majeures :
- Fix des crashs sur AArch64/arm64 lors de l’exécution d’instructions spécifiques (impactant potentiellement les builds Apple Silicon).
- Restauration du comportement attendu des touches du clavier virtuel (réactivité aux événements tactiles dans la version desktop, libération des touches sur perte de focus).
Note : Aucun changement spécifique à macOS ou aux builds .dmg n’est mentionné dans ce changelog.
Changelog complet
v1.5
-
Nouveautés majeures :
- Ajout de la possibilité de basculer entre les langues de l’interface utilisateur.
-
Améliorations spécifiques à macOS :
- Prise en charge officielle de macOS 10.15 Catalina (minimum requis).
-
Corrections importantes :
- Suppression d’un crash à la fermeture pour les builds JIT de la version iOS (impact potentiel sur les builds macOS via des environnements similaires).
- Correction d’un gel à l’arrêt pour les systèmes x86-64 (peut concerner les Mac Intel récents).
-
Optimisations techniques :
- Amélioration des performances des JIT ARM et AArch64 (pertinent pour les futurs builds Apple Silicon si portés).
- Historique de commandes dans le debugger (raccourcis Flèche haut/bas).
Changelog complet
v1.4
-
Nouveau backend JIT pour ARM64 (AArch64) : prise en charge native du code généré pour les architectures récentes (iOS 10+ et compatibilité avec les cibles Apple Silicon en développement, bien que non optimisé pour macOS dans cette version).
-
Amélioration majeure de l’interface utilisateur :
- Bascule fluide entre les modes UI Mobile et UI Desktop (version Bureau uniquement).
- Option pour masquer les titres des fenêtres dans le dock et interface globalement "revu" pour un rendu plus épuré.
-
Corrections critiques sur ARM :
- Protection du state des périphériques d’entrée avec un mutex pour éviter les plantages OS (sous-jacent à des problèmes plus larges non résolus ici).
- Correction des entrées/sorties pour l’émulation de Classic Mac OS (CAS OS).
-
Optimisations techniques :
- Suppression des relocations dans la section
.textpour éviter les avertissements sous Android 7.0+ (impact : légère baisse de performance). - Support de GDB 8.0 pour le débogage à distance.
- Suppression des relocations dans la section
(Aucune mention spécifique à macOS dans ce changelog, ni de build .dmg, ni de compatibilité Apple Silicon ciblée.)
Changelog complet
v1.3
-
Améliorations majeures pour l’expérience mobile :
- Interface utilisateur mobile entièrement repensée (configuration en plein écran, menu d’actions accessible via un tiroir, affichage du numéro de version et de la fenêtre À propos).
- Prise en charge du multitouch et optimisation des tailles (polices, espacements).
- Activation/désactivation de l’émulation via un bouton On et basculement du mode turbo par clic sur l’affichage de la vitesse.
-
Optimisations techniques :
- JIT ARM amélioré : allocation dynamique des registres et plusieurs optimisations pour une accélération significative des performances.
- Correction de l’affichage des fichiers inexistants dans l’éditeur de kits (surlignage visuel).
-
Corrections critiques :
- Réparation du calcul en niveaux de gris pour les enregistrements GIF.
- Correction du buffer framebuffer RGB555 (affichage LCD pour gpsp_nspire).
(Aucune mention spécifique à macOS ou Apple Silicon dans ce changelog.)
Changelog complet
v1.2
-
Extension du JIT (Just-In-Time) à 64 bits sur iOS et appareils non jailbreakés : le compilateur dynamique fonctionne désormais sur ces configurations, améliorant les performances sur des appareils récents ou non modifiés.
-
Affichage du kit actif dans la barre de titre : l’interface principale indique désormais clairement quel kit (configuration logicielle) est en cours d’utilisation.
-
Correction majeure des chemins de sauvegarde (snapshots) : le problème où tous les kits utilisaient un chemin global par défaut au lieu de leur propre répertoire dédié est résolu.
-
Suppression du flou sur l’écran LCD en mode iOS : l’affichage des interfaces graphiques est désormais plus net sur cette plateforme.
(Aucune mention spécifique à macOS ou Apple Silicon dans ce changelog.)
Changelog complet
v1.1.1
- Correction majeure de la gestion du curseur système : suppression des mouvements erratiques lors de déplacements répétés, notamment dans la vue graphique (problème particulièrement visible sur les calculatrices graphiques).
- Versionnement clarifié (passage de 1.1 à 1.1.1) pour une meilleure lisibilité des mises à jour mineures.
Changelog complet
v1.1
-
Nouveautés majeures :
- Ajout d’un dialogue de configuration amélioré et d’un système de gestion simplifié pour les images flash multiples via des Kits.
- Support de plusieurs révisions matérielles (A, J, W) et des calculatrices CX (incluant le bootloader 4.0 et les images d’installation).
- Fenêtre LCD externe pour les présentations ou l’économie d’espace.
-
Améliorations clés pour macOS :
- Pas de build officiel pour macOS (version non codesignée), nécessitant une ouverture manuelle via GateKeeper ou une désactivation de celui-ci.
- Pas de support natif pour Apple Silicon (M1/M2/M3) dans cette version (seule l’architecture x86_64 est ciblée).
-
Corrections importantes :
- Compatibilité JIT dynamique pour la version 32 bits iOS (désactivée si le device n’est pas jailbreaké).
- Fix des deadlocks potentiels dans le débogueur et des problèmes liés à l’exécution de fonctions via GDB.
- Optimisation HiDPI et amélioration de l’interface mobile pour les tablettes en orientation paysage.
-
Changement critique :
- Format interne des snapshots modifié : les sauvegardes créées avec des versions antérieures ne sont plus compatibles (utiliser la version précédente pour les exporter vers une image flash).
Changelog complet
v0.30
-
Nouveautés majeures :
- Sauvegarde et restauration instantanée : Suspension et reprise depuis des fichiers de snapshot (plus besoin d’attendre le démarrage de la calculatrice).
- Enregistrement vidéo animé : Capture d’écran sous forme de GIF (animation).
-
Améliorations mobiles (iOS/Android) :
- Prise en charge du clavier physique (sur iOS, en mode paysage réactivé) et sauvegarde automatique (snapshot + données flash) via le bouton Save.
- Réactivité accrue : Affichage des messages via un système de toasts, optimisation du menu latéral et de la page des paramètres.
-
Corrections importantes :
- Fiabilité du protocole USB (usblink) et gestion des transferts multiples de fichiers.
- Corrections critiques sur macOS : Résolution de crashes liés à un bug du compilateur (fixé fin 2015).
- Comportement du CPU et du GPU : Implémentation partielle de RGB555 (gpsp_nspire) et correction de l’instruction CP15 (polydumper).
-
Interface utilisateur (UI) :
- Affichage amélioré : Focus automatique sur l’écran LCD au démarrage (saisie immédiate possible).
- Gestion des docks : Ajout d’un sous-menu pour masquer/afficher les docks (macOS).
- Affichage des messages : Overlay "En mode débogueur" visible si GDB est connecté.
Changelog complet
v0.20
-
Nouveauté majeure : Ajout d’une interface utilisateur mobile (UI) pour une meilleure compatibilité avec les appareils mobiles, incluant des raccourcis clavier dédiés (F10 pour la connexion USB, F11 pour le mode turbo).
-
Amélioration technique : Optimisation significative des performances sur les appareils ARM (incluant les architectures récentes comme l’Apple Silicon, bien que non explicitement ciblé ici, cette mention suggère une prise en compte des processeurs modernes).
-
Fonctionnalités utilisateur :
- Ajout du script
firebird-send(exclusif à macOS/Linux) pour envoyer des fichiers de manière programmatique. - Possibilité de transmettre un boot2 ou des diagnostics via XModem, avec une option dédiée.
- Ajout du script
-
Correction critique : Résolution d’un bug bloquant la sélection du boot2/diags lorsque les données de flash étaient absentes.
-
Stabilité macOS :
- Correction d’un problème permettant de fermer accidentellement la dernière fenêtre de dock (interface utilisateur macOS).
- Note technique : La build macOS utilise temporairement Qt 5.4 en raison d’un bug dans les docks de Qt 5.5, avec une promesse de correction future.
Changelog complet
v0.11
-
Nouveautés majeures :
- Correction partielle de l’affichage du pourcentage de vitesse (bien que toujours imprecise, une amélioration est apportée).
-
Corrections importantes :
- Amélioration de la stabilité globale en évitant les plantages après l’entrée d’une commande de débogage alors que le thread d’émulation (EmuThread) a été arrêté.
- Correction partielle du clavier numérique sous iOS (fonctionnalité partiellement restaurée).
-
Problèmes persistants :
- Le pavé tactile (touchpad) sous macOS reste non fonctionnel.
- Les touches de navigation (flèches directionnelles) ne répondent pas dans le mode Diags (rendant cet outil quasi inutilisable).
- Le menu de sélection de la version Boot2 dans le dialogue de création de flash peut ne pas s’afficher correctement.
Changelog complet
Captures d'écran