Punix (Punny Unix) est un système d'exploitation développé par Christopher Williams pour les calculatrices Texas Instruments à base de Motorola M68000.
Le projet avance lentement mais sûrement, et le 7 mars dernier, Christopher a passé une étape importante : l'installation et l'exécution de Punix sur une machine réelle, sa TI 92 Plus.
Punix est un projet intéressant pour ceux qui souhaitent étudier le fonctionnement d'un système d'exploitation POSIX, mais qui ont peur de se perdre dans les sources d'un poids lourd du libre comme Linux. Ce projet intéressera aussi ceux qui aiment programmer en assembleur au plus près de leur matériel et sans MMU, ceux qui aiment les architectures simples, et tout hacker qui aime dépasser les limites d'un système, juste parce que c'est possible !
Le test de Punix sur une vraie machine est l'occasion de présenter l'architecture matérielle visée, le système d'exploitation en lui-même et les outils pour développer. Au menu : des forks, des trolls et des vaporwares, mais surtout beaucoup de logiciel libre, énormément de passion, et un n-ième clone d'Unix.
Punix ? A (free) operating system (just a hobby, won't be big and professional like gnu)*.
Sommaire
- L'architecture
- Le système d'exploitation
- L'émulation de FPU
- Le baptême du feu
- Les améliorations futures
- Les outils de développements
- Développer et tester Punix
- Installer un système d'exploitation non officiel sur sa calculatrice
- Les autres projets
- Suivre l'information autour de Punix
L'architecture
Punny Unix est développé pour les calculatrices à base de Motorola 68000, un microprocesseur CISC 16/32bit. La première calculatrice Texas Instruments à exploiter ce processeur fut la TI-92, sortie en 1995. Depuis, sont sortis plusieurs variantes du modèle, la TI-92 Plus, la TI-89, la TI Voyage 200 et la TI 89 Titanium. La TI 92 originelle ne possédant pas de mémoire flash et ne pouvant être mise à jour, elle n'est donc pas concernée par Punix. La TI89 et la TI92+ partagent la même architecture matérielle, mais possèdent un clavier et un écran différent. Cette architecture fut révisée quatre fois et ces révisions sont communément nommées HW1, HW2, HW3 et HW4.
Processeur : m68k 12 Mhz (92+, 89, 89T, V200) ou 16 MHz (89T HW4)
Ram : 256ko
Flash : 2mo (92+, 89) ou 4 Mo (V200, 89T)
Écran : LCD 240x128 (92+, V200) ou 160x100 (89, 89T)
Connectivité : 1 Port I/O sur Jack stéréo 2.5mm (la 89T possède aussi un port USB On-The-Go)
Christopher développe pour la TI92+ (qu'il possède) et depuis la beta 4 pour la TI89 HW2 (le modèle le plus proche de sa TI 92+). Pour le moment, il ne se préoccupe pas de la TI 89 Titanium, et ne s'est pas prononcé à propos de la Voyage 200. Les HW1 ne sont pas supportées.
Le système d'exploitation préinstallé sur ces machines est AMS (Advanced Mathematics Software) et parfois appelé TIOS, édité par Texas Instruments et dont la dernière version (la 3.10) est sortie en 2005.
Une copie d'écran d'AMS :
(origine)
Punix est donc un système d'exploitation de remplacement.
Le système d'exploitation
Le projet est assez ancien, Christopher reconnaît posséder des sources datant de 2004, et on trouve ce qui semble être une première publication en 2005.
Punix est donc un système d'exploitation alternatif à AMS programmé en C et en assembleur. Comme son nom le laisse entendre, il vise à être un clone d'Unix.
Le noyau de Punix est un noyau monolitique standard, similaire aux BSD et à ses clones. Christopher déclare utiliser du code de 2.11BSD, 4.4BSD-Lite, V6/V7 UNIX, Linux, UZIX, et Minix (dans cet ordre en quantité de code), et organise ses sources à la BSD.
Comme fonctionnalité notable on peut citer :
- Du multitâches préemptif ;
- L'ordonnanceur qui va avec ;
- Un terminal virtuel dans la console (60x20 pour la TI 92+, 40x16 pour la TI 89).
Copies d'écrans de TI 92 Plus et de 89 :
- La connectivité avec une autre calculatrice ou un ordinateur par le port I/O.
- La possibilité de jouer du son sur le port I/O.
- Un émulateur du FPU M68881.
- 4 niveaux de gris (noir, gris foncé, gris clair, blanc) ce qui permet un anticrénelage sur les polices.
Exemple d'anticrénelage :
On peut exécuter un petit nombre d'utilitaires unix (simplifiés) comme sh
, top
, cat
, true
, false
, clear
, uname
, env
, id
et date
et jouer du son (pour tester, exécuter tests
depuis le shell et tapper Control+D
jusqu'au test de /dev/audio).
Les processus peuvent engendrer de nouveaux processus en utilisant les appels systèmes vfork() et execve(). Le système de fichier est la fonctionalité majeure qui reste incomplète, à cause de ce manque, execve() comprend quelques noms de commandes codées en dur (comme sh ou top). Le développement du système de fichier devrait enlever cet obstacle.
Une copie d'écran du shell :
copie d'écran de Punix montrant quelques commandes dans un terminal
L'ordonnanceur préemptif utilise les valeur de nice
et l'historique de l'usage du processeur pour calculer la priorité d'un processus.
Depuis la bêta 4, punix permet d'utiliser un terminal distant depuis une autre calculatrice grâce au programme uterm
.
L'émulation de FPU
Le processeur utilisé dans ces calculatrices, le 68000, ne contient pas d'Unité de calcul en virgule flottante ou FPU. Seulement les derniers processeurs de cette famille en possèdent (68020, 68040, 68060). Toutefois le 68000 permet d'emuler une FPU de manière logicielle (par l'exception appellée F-Line
ou Line 1111 emulator
). Le 68881 et le 68882 sont les FPU de prédilection pour le 68020, et c'est pourquoi Christopher a choisi de l'émuler.
Cette FPU supporte plusieurs formats de nombres entiers et en virgule flottante au standard IEEE 754. Les registres internes ont une précision étendue de 80 bits mais sont stockés sur 96bits. L'émulateur de Christopher prend donc en charge ces mêmes formats.
À titre de comparaison, le système AMS de TI utilise un format en virgule flottante appelé SMAP II BCD sur 80 bits, qui est moins précis et plus lent que la précision étendue. Christopher a décidé de gérer aussi ce format.
Le développeur précise que son émulateur ne devrait pas arrondir correctement les précisions étendues car ce format utilise 64 bits pour la fraction, et l'arrondi requiert un ou deux bits supplémentaires de précision pour fonctionner. Les précisions simples et doubles devraient être arrondies correctement.
Le baptême du feu
Après beaucoup d'hésitation, Christopher a donc installé et démarré Punix sur sa TI 92 Plus le 7 mars 2012.
La photo du test :
Ce test s'est révélé globalement satisfaisant : ça marche ! Mais plusieurs bugs inattendus se sont tout de même révélés :
- L'exception d'erreur d'adressage ne fonctionne pas alors que ça fonctionnait sur émulateur ;
- La combinaison de touche Ctrl+On ou Alt+On ne marche pas comme espéré, l'écran se retrouve avec une ligne horizontale à une place aléatoire, probablement un registre au fonctionnement différent en vrai que sur l'émulateur, l'écran ne s'éteint pas. Ce bug est désormais corrigé ;
- Enfin, et probablement le plus gênant, les timers sont plus lents ce qui pénalise fortement la vitesse d'exécution et rend le pilote audio inutilisable (le son est joué à 5461Hz au lieu de 8192Hz). Ce bug est aussi corrigé, il a donc publié une vidéo de sa calculatrice jouant un morceau de musique.
Les améliorations futures
Certaines améliorations sont plus probables que d'autres… en vrac :
- Terminer le système de fichier ;
- Compléter l'émulateur de FPU ;
- Porter Punix sur la TI 89 Titanium (la TI89 n'est plus vendue, les testeurs potentiels ont certainement une TI89 Titanium), mais le portage est complexifié par une organisation mémoire différente. Il serait très intéressant de gérer l'USB de la Titanium ;
- Pouvoir brancher un clavier sur un port PS/2 (cela nécessiterai un adaptateur matériel) ;
- Faire de la synthèse de voix ;
- Construire un environnement de développement (pour la compilation croisée, ainsi que divers outils), les outils actuels étant surtout pensés pour AMS ;
- Porter des bibliothèques, outils et applications pour Punix. Christopher avait déjà essayé de compiler BusyBox, mais il faudrait désactiver beaucoup de choses pour que ça tienne dans la mémoire de la calculatrice ! Et bien sûr, il faudrait porter des jeux.
Les outils de développements
TIGCC est un environnement de développement comprenant un ensemble de patch pour GCC et une librairie (AMS n'est pas vraiment compatible POSIX) permettant de compiler du C pour les calculatrices TI 68k.
GCC4TI : suites à diverses mésententes, des développeurs ont quitté le projet TIGCC et l'ont forké en 2009 pour donner naissance au projet GCC4TI… Pour compiler Punix, Christopher conseille d'utiliser GCC4TI car il y aurait des bugs non corrigés dans TIGCC qui rendent Punix inutilisable.
GNU AS est l'assembleur recommandé, mais certains programmeurs talentueux restent attachés à A68k.
A68k est l'assembleur historique, c'est une maintenance de l'assembleur Amiga de Charlie Gibbs. A68k n'est pas un logiciel libre, mais un graticiel, comme l'indique la licence « This program is Freely Distributable, as opposed to Public Domain. Permission is given to freely distribute this program provided no fee is charged, and this documentation file is included with the program. » A68k fait partie de ces très anciens logiciels qui ne peuvent pas être reconnus comme logiciel libre à cause de certaines clauses incompatibles : À titre de comparaison, la première version d'A68k date de 1987, et la GPL date de 1989… Cela rappellera à certains le cas de Pov-Ray (dans un tout autre domaine). Le choix d'A68k date de Fargo pour les TI 92, en 1996.
TiEmu est un émulateur de calculatrice TI 68k, il contient un débogueur. Il en existe un fork, nommé Emu-TIGCC maintenu par le développeur de TIGCC. Il faut aussi noter le vénérable VTI, abandonné, propriétaire, uniquement pour windows, déconseillé mais encore utilisé. TiEmu est distribué sous license GPL.
Développer et tester Punix
Pour tester Punix, il suffit de charger une image précompilée (fichier avec extension .tib) dans TiEmu.
Pour compiler Punix, il faut GCC4TI. Il n'est plus nécessaire de télécharger manuellement la bibliothèque flashos.a puisqu'elle est désormais fournie avec GCC4TI.
La dernière archive (la bêta 4) a un an, pour lire les source les plus récentes, il faut les récupérer depuis le dépôt subversion : http://punix.svn.sourceforge.net/punix/
Pour compiler la bêta 4, il faut télécharger l'archive sur la page du projet sur sourceforge, la désarchiver et exécuter la commande make dans le dossier src/sys/sys. Si votre environnement de compilation n'est pas un BSD, mais GNU/Linux, vous aurez probablement à modifier la variable MAKE
en make
au lieu de gmake
dans le Makefile
. Les sources compilent par défaut pour la TI 92+, pour compiler pour la TI89, il suffit de modifier la variable CALC
en TI89
au lieu de TI92P
dans ce même Makefile
.
Installer un système d'exploitation non officiel sur sa calculatrice
Les mises à jour du système d'exploitation sont signées par Texas Instruments, et la calculatrice n'accepte que des versions signées. Les clés sont des clés RSA-512, elles ont été factorisées à l'aide d'un projet de calcul distribué basé sur BOINC, le RSA Lattice Siever. Texas Instruments avait réagi en envoyant des avis DMCA, ce qui avait eu pour effet (classique) de multiplier les sources de téléchargement. L'EFF prit l'affaire en main et mit fin à la controverse. Avec ces clés que l'on trouve facilement sur le net, on peut donc signer soi-même son propre système d'exploitation (ou un système d'exploitation modifié) avec RabbitSign.
Il reste déconseillé d'installer Punix sur une vraie calculatrice, pour le moment.
Les autres projets
Les développeurs sur TI 68k n'ont jamais été satisfaits des possibilités de programmation de ces machines. À coté d'AMS, il est courant d'installer un kernel tierce-partie qui contourne des limitations d’exécutions et rend plus aisée la programmation, le standard de fait est PreOS, publié sous GPL, il est fourni habituellement avec un ensemble de bibliothèques, stdlib (sous un panachage de diverses licenses). PreOS est très utilisé.
Parmi ces kernels, on peut citer le projet Prosit qui voulait proposer le multitâche et une interface graphique pour AMS. Prosit n'a jamais été terminé.
Copie d'écran de Prosit :
(origine)
Au sujet des systèmes d'exploitation complets remplaçant AMS, il y avait eu le projet LiteOS (ne pas confondre avec un autre LiteOS) qui n'a jamais abouti non plus.
Il y a eu sur la LKML une discussion et quelques messages à propos d'un éventuel port de Linux sur TI 68k qui ne semble pas avoir dépassé le stade de discussion.
Le premier système d'exploitation alternatif complet à atteindre la maturité est PedroM, développé principalement par le développeur de PreOS, Patrick Pélissier. Programmé en C et en assembleur, il propose une compatibilité avec AMS et inclut PreOS. Le projet PedroM revendique faire tourner 97% des programmes prévus pour AMS. La dernière version propose un système de calcul formel basé sur GMP et MPFR. PedroM est distribué sous license GPL.
Quelques copies d'écran de PedroM montrant l'utilitaire de calcul zs
.
(origine)
(origine)
(origine)
Punix partage du code avec PedroM, mais PedroM n'est pas multitâche et vise une compatibilité avec AMS tandis que Punix vise une compatibilité POSIX, les programmes pour AMS ou PedroM ne tourneront pas sur Punix, et inversement.
Pour ceux qui désirent écrire leur propre système d'exploitation, il existe une base toute prête, proposée par le développeur de Punix : ScratchOS. Le système est amorçable, à vous d'écrire la suite !
Suivre l'information autour de Punix
Si vous voulez en savoir plus et vous tenir au courant des dernières avancées de Punix, en plus de son blog, Christopher commente habituellement son travail sur les forums d'Omnimaga et de Cemetech et répond rapidement aux questions.
Aller plus loin
- Punix OS: First time real calc! (1124 clics)
- L'annonce sur Ti-Fr (408 clics)
- L'annonce sur TI-Planet (183 clics)
- Le projet sur SourceForge (95 clics)
# Mot placé
Posté par Thomas Debesse (site web personnel) . Évalué à 10.
Ah zut, j'avais placé un joli verbe, mais il n'est pas passé à la relecture : dissentir
j'ai trouvé ce verbe sympa pour parler d'un fork pour des raisons d'opininon (et l'exemple du Littré est croustillant).
ce commentaire est sous licence cc by 4 et précédentes
[^] # Re: Mot placé
Posté par patrick_g (site web personnel) . Évalué à 10. Dernière modification le 19 mars 2012 à 23:20.
Désolé, c'est moi qui suis responsable de son remplacement dans le texte. J'avais cherché sur http://www.la-conjugaison.fr/, sur http://www.le-dictionnaire.com et sur http://atilf.atilf.fr/ mais sans rien trouver.
Tu notera que la citation du Littré date du XVIème siècle…amha le mot n'existe plus de nos jours.
À part ça, bravo pour cette superbe dépêche !
[^] # Re: Mot placé
Posté par Thomas Debesse (site web personnel) . Évalué à 5. Dernière modification le 19 mars 2012 à 23:34.
En fait j'aurai du mettre un lien sur le mot comme ça a été fait pour le verbe « barguigner » dans ta dépêche sur Linux 3.3, pour marquer clairement ma volonté de placer ce mot. À part ça, la forme dissension reste cependant assez usitée. :)
ce commentaire est sous licence cc by 4 et précédentes
[^] # Re: Mot placé
Posté par BAud (site web personnel) . Évalué à 3.
arf, une recherche m'a fait tomber sur cette définition de dissentir.
Tu confirmes donc que barguigner n'est pas commun non plus ?
[^] # Re: Mot placé
Posté par Thomas Debesse (site web personnel) . Évalué à 4.
Je confirme au moins que ce n'est pas non plus dans mon vocabulaire, et que j'ai pensé aussi à baragouiner mais que ça ne collait pas :)
Merci pour avoir mit le lien ! J'ai pensé que c'était patrick_g qui avait mit le lien, mais il me semblait pourtant qu'il ne le faisait pas d'habitude…
Merci aussi de me faire découvrir wikipeetia.org , je ne connaissais pas :)
ce commentaire est sous licence cc by 4 et précédentes
[^] # Re: Mot placé
Posté par patrick_g (site web personnel) . Évalué à 6.
Je ne le fais jamais !
Ce serait très pédant de ma part de mettre ainsi un lien vers un mot, en faisant l'hypothèse que les lecteurs vont avoir besoin de la définition.
[^] # Re: Mot placé
Posté par claudex . Évalué à 6.
C'est aussi une manière de faire découvrir des mots aux gens, je trouve ça sympa (s'il n'y en a qu'un ou deux).
« Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche
[^] # Re: Mot placé
Posté par CHP . Évalué à 6.
Oui, c'est toujours sympa de découvrir de nouveaux mots.
Grâce à Brassens, j'ai découvert le mot 'callipyge'. Quel mot fantastique ! J'aime la langue francaise, juste parce qu'elle a un mot qui sert à dire ca ! ^
[^] # Re: Mot placé
Posté par BAud (site web personnel) . Évalué à 7.
Tu veux dire : callipyge ?
[^] # Re: Mot placé
Posté par liberforce (site web personnel) . Évalué à 2.
Ah, moi c'est avec David TMX. Les goûts, les couleurs, toussa…
[^] # Re: Mot placé
Posté par Thomas Debesse (site web personnel) . Évalué à 3.
Au fait, la copie d'écran de prosit ne s'affiche plus (en fait elle provient de la web archive, et elle ne semble s'afficher que si on a visité la web archive avant), on peut la remplacer par celle-ci.
ce commentaire est sous licence cc by 4 et précédentes
[^] # Re: Mot placé
Posté par BAud (site web personnel) . Évalué à 3.
merci, corrigé.
[^] # Re: Mot placé
Posté par Thomas Debesse (site web personnel) . Évalué à 3.
Je viens de repérer une faute, dans le chapitre sur l'émulation de la FPU :
Et on pourrait écrire dans le titre de ce chapitre "émulation de la FPU" puisque je l'ai mit au féminin dans le reste du texte (ou juste "émulation de FPU" si on ne veut pas réveiller un troll sur le gender :p)
ce commentaire est sous licence cc by 4 et précédentes
# Très intéressant
Posté par Olivier Esver (site web personnel) . Évalué à 4.
Je vais essayer de retrouver ma vieille TI89 (HW2 si mes souvenirs sont bons).
Ça va me pousser à fabriquer mon câble pour pc, je crois que j'avais déjà tous les composants en plus. Il faut que je retrouve le schéma par contre…
S'il y a un problème, il y a une solution; s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
[^] # Re: Très intéressant
Posté par Thomas Debesse (site web personnel) . Évalué à 5.
J'ai retrouvé un vieux schéma pour le câble à 5$, il me semble que TILP gère ce cable, mais la difficulté aujourd'hui est de trouver un port parallèle ! :D
ce commentaire est sous licence cc by 4 et précédentes
[^] # Re: Très intéressant
Posté par Thomas Debesse (site web personnel) . Évalué à 5.
Voilà plutôt une page plus complète, avec des schémas et tout : http://www.ticalc.org/hardware/cables/
ce commentaire est sous licence cc by 4 et précédentes
[^] # Re: Très intéressant
Posté par Olivier Esver (site web personnel) . Évalué à 2.
Cool, merci.
J'ai toujours un port parallèle sur mon pc portable donc ça le fera, mais je crois que je m'étais orienté à l'époque vers le câble série.
Je vais me remettre à étudier tout ça.
S'il y a un problème, il y a une solution; s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
[^] # Re: Très intéressant
Posté par Olivier Esver (site web personnel) . Évalué à 3.
Bonne nouvelle des câbles TI-GRAPH LINK à moins de 15 euros sont dispo sur ebay.
Mauvaise nouvelle pour moi, ma TI-89 est une HW1.
S'il y a un problème, il y a une solution; s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
[^] # Re: Très intéressant
Posté par debrouxl . Évalué à 4.
Les HW1 n'ont pas que des défauts: par exemple, le grayscale est moins coûteux sur HW1 que sur HW2, et les HW1 n'ont pas cette foutue protection d'exécution en RAM :)
AMS bride la quantité utilisable de la mémoire archive sur HW1, mais cette limitation n'embête plus personne depuis longtemps, avec MaxMem et maintenant tiosmod+amspatch.
Sur les ordinateurs modernes, la communication avec calculatrices TI qui ne disposent que du port jack 2.5mm stéréo modifié (les connecteurs sont légèrement différents des connecteurs standard) nécessite un SilverLink (TI Graph Link USB).
[^] # Re: Très intéressant
Posté par Thomas Debesse (site web personnel) . Évalué à 4. Dernière modification le 21 mars 2012 à 00:19.
Je ne sais pas vraiment en quoi Punix est incompatible avec la HW1, si ce n'est que Christopher ne peut pas le tester. Une seule chose est certaine : le niveau de gris ne fonctionnera pas car l'écran n'est pas géré de la même manière, tu auras peut-être des problèmes avec le son, puisque ton proco tourne à 10mhz au lieu de 12 (mais de toute manière c'est moche même quand ça marche
^^
), mais il est très probable que le reste tourne.Il me semble que lorsque que les TI89 HW2 sont sorties, ce qui avait vraiment posé problème c'était qu'il avait fallu porter les niveaux de gris des jeux, mais pas vraiment plus. Je crois que ce qui était en simple noir et blanc fonctionnait toujours. Lionel qui t'a déjà répondu devrait pouvoir confirmer, il devrait en savoir plus que moi.
Pour ton information, j'ai lancé la beta4 en 92+ HW1 sur émulateur sans avoir rencontré de problème.
Christopher n'avait pas cherché à faire fonctionner sur V200, mais en rajoutant juste quelques instructions au préprocesseur, j'ai compilé sans problème pour V200 et ai aussi pu démarrer Punix sur émulateur, il n'avait juste pas essayé :
J'avoue ne pas avoir encore essayé de compiler le dépot svn. Les niveau de gris n'ont été ajoutés que le 21 février dernier :
http://www.cemetech.net/forum/viewtopic.php?p=176968#176968
Tu liras dans ce commentaire qu'il n'abandonne pas complètement les HW1 :
Et si tourner sur HW1 signifie désactiver les niveaux de gris, ça ira juste plus vite :).
Punix ou non, tu devrais pouvoir faire pleins de trucs passionnants avec PedroM si tu veux à tout prix libérer ta calculette. J'ai installé PedroM sur ma V200 et j'en suis très très content. :)
ce commentaire est sous licence cc by 4 et précédentes
[^] # Re: Très intéressant
Posté par Thomas Debesse (site web personnel) . Évalué à 3.
J'ai demandé à Christopher ce qui pourrait poser problème avec une HW1 et voici ce qu'il m'a répondu :
Ce qui signifie que tout n'est pas perdu :)
ce commentaire est sous licence cc by 4 et précédentes
# pfff
Posté par CrEv (site web personnel) . Évalué à 7.
de toute façon tout le monde sait que les hp49 étaient bien supérieures ! (et les 48G dans lesquelles ont soudait directement des puces de mémoires supplémentaires)
Le bon vieux temps quoi !
ha oui, et ShellOS, S.O.S., et mes débuts de programmation d'un OS multitâche pour les hp… malheureusement jamais terminé, ça a au moins eu le mérite de me faire coder mon premier mode pour emacs et la coloration de masd.
(oué bon, désolé pour le HS, mais c'est pas si souvent qu'on entend parler de toutes ces calculatrices maintenant qu'on a des smartphones…)
[^] # Re: pfff
Posté par Maclag . Évalué à 10.
Ouai bon, tout ça c'est bien beau mais LA question:
Est-ce qu'on peut faire tourner Angry Birds dessus??
-------------> [ ]
[^] # Re: pfff
Posté par CrEv (site web personnel) . Évalué à 5.
Ben alors, vous avez oublié vos trolls hp/ti ? C'était quand même aussi
sérieuxintelligentcourant que emacs/vi …[^] # Re: pfff
Posté par BAud (site web personnel) . Évalué à 4.
moi j'avais une casio 850p, l'avantage c'est que j'ai eu tous les développements limités à apprendre par cœur, ce qui m'a directement resservi pour les séries entières et que lorsqu'au concours on m'a refourgué une calculatrice avec les 4 opérations (bon yavait xy aussi…) je n'ai pas été trop pris au dépourvu au moins ;-)
[^] # Re: pfff
Posté par Laurent J (site web personnel, Mastodon) . Évalué à 7.
Je plussoi ! La HP48 et 49, des machines du tonnerre, où il n'y avait pas besoin de faire des super hacks de la mort qui tue pour faire des programmes en assembleur. C'était prévu par le système d'origine :-) . Bref, c'était une machine bien plus ouverte que les TI de l'époque. Tellement ouverte d'ailleurs que des types comme J.Y. Avenard et Cyrille de Brebisson avaient réalisé un OS alternatif pour HP48. Et que HP, très intéressé par ce projet, les avait embauchés et cet OS s'est retrouvé être celui de la HP49 :-)
aaah les "HP-party" organisées dans les locaux même de HP, invitant les développeurs de tout poil à montrer leurs œuvres… souvenirs, souvenirs… ;-)
Perso, je m'étais bien amuser à programmer des jeux (jytris) et un compilateur d'assembleur J-Asm (c'était un langage assembleur ++ qui avait quelques trucs syntaxiques à la C évitant de devoir déclarer des tags et des goto par exemple :-) ).
Bon mais faut reconnaître quand même que le processeur des HP était moins puissant que celui des TI. Cependant le challenge de coder des trucs de fou sur la HP était alors d'autant plus grand !
[^] # Re: pfff
Posté par Romain Liévin (site web personnel) . Évalué à 6.
Ma première calculatrice était une HP48. Ce que j'adorais sur cette machine, c'était le mode RPL ou notation polonaise inversée. Une fois qu'on y avait gouté, hmmm!
Après, fallait aimer l'assembleur pour celui qui voulait bidouiller. Toutefois, la TI92 a été une vraie révolution avec l'arrivée du langage C via TIGCC.
Dommage que la NSpire soit autant fermée, raison pour laquelle j'ai arrêté de travailler sur ces machines.
[^] # Re: pfff
Posté par Thomas Debesse (site web personnel) . Évalué à 5.
Ce qui fait qu'une archi est privilégiée plutôt qu'une autre est parfois étonnant. Ici sur DLFP on voit souvent s'étonner de l'excellent travail de rétro ingéniérie qui est fourni sur nouveau alors que nVidia ne fait rien pour aider, alors qu'en même temps ATI/AMD fourni les specs de ses cartes… Pourquoi une archi fermée est elle préférée ? Ce n'est pas toujours rationnel, il faut probablement étudier le plan humain : faire partie d'une communauté, par exemple.
Il y a toujours eu un certain élitisme dans le monde des calculatrices. Il y avait l'élite HP, l'élite TI, et le bas peuple Casio. La TI 92 ne permettait pas l'assembleur nativement, mais une fois qu'elle a été débloqué, cela a créé un engouement qui perdure aujourd'hui…
Pourquoi la Graph 100 n'a pas été vraiment bidouillée ? Mystère, pourtant avec un processeur compatible 286 et un OS compatible DOS, il y avait le choix des langages ! La raison est probablement affective : Les gens qui avaient le talent s'achetaient une TI, parce qu'il y avait un historique, une communauté de développeurs active, etc.
Pourquoi les HP ont eu moins de succès ? De toutes mes études, sur 4 écoles, je n'ai vu qu'une seule personne possédant une HP. J'ai toujours entendu parler des HP comme le top du top, l'élite suprème et donc inaccessible. Finalement, c'est peut-être ça qui, à l'inverse de Casio a porté préjudice : le lycéen un peu geek n'achetait pas Casio parce que c'était mal vu, mais n'achetait pas HP parce qu'il voulait pas faire trop pédant ou avait peur d'un truc de trop haut niveau. Une simple démonstration de Txtrider (puis de ses clones) pouvait faire la différence dans la tête d'un écolier pour choisir une TI 68k.
Aujourd'hui, comme tu le rappelles, la TI nSpire est la pire des calculatrices jamais imaginée en terme de fermeture, à faire passer Apple pour des gentils, et pourtant elle concentre beaucoup d'attention à son sujet, bénéficiant de la notoriété des calculatrices TI précédentes. À coté la Casio Prizm est un exemple d'ouverture, mais ne semble pas recevoir autant d'attention, malgré les effort de certains à changer la donne : Casio Prizm: Why TI Calc Coders Should Abandon the Nspire CX.
Je profite de ton passage pour te remercier pour ton travail sur TiLP et TiEmu :)
ce commentaire est sous licence cc by 4 et précédentes
[^] # Re: pfff
Posté par Laurent J (site web personnel, Mastodon) . Évalué à 3.
ça dépend de l'époque dont tu parles, et de quel type d'école tu parles (info ? scientifique ? littéraire ?). Au début des années 90 (92-95 par là), la HP était assez répandu (BAC S, IUT info..). Loin derrière les casios toutefois (et pas trop loin non plus des TI), principalement à cause de son coût. Peut être aussi de sa complexité toute relative (la notation polonaise inverse en révulsait beaucoup, faut l'avouer). Maintenant, parler d'une élite, ce n'était pas mon impression. J'avais une HP 48 pour deux choses : ses capacités techniques et mathématiques, et son ouverture pour les gros geeks programmeurs comme moi. Certainement pas pour me la péter. (mais il est vrai que j'en ai vu, possédant une HP, et sachant à peine utiliser 2% des fonctionnalités de la machine, et qui s'en servaient comme machine de jeux ou de stockage..)
Maintenant, si pour toi celui qui arrive à se mettre au RPN est une élite, alors bon, ok, j'étais une élite (sans le savoir) :-) Et tu as probablement raison sur la chute des parts de marché de HP. Bien qu'il faut reconnaître que, depuis la nuit des temps, HP ne fait des calculatrices principalement pour les professionnels (d'ailleurs ils appellent plutôt ça des "calculateurs de poche" :-). Ils n'ont probablement pas vraiment su gérer de manière durable ce relatif succès des années 90 dans les lycées et écoles…
[^] # Re: pfff
Posté par Thomas Debesse (site web personnel) . Évalué à 3.
L'époque, c'était au début des années 2000. J'ai écrit dans un autre commentaire que j'avais vu une hp en 1998, après recalcul je me rend compte que c'était en 2000 ou 2001, à ce moment là j'étais dans une petite pension confidentielle en Vendée (classes de S et ES), les calculatrices étaient principalement des graph25 (la casio graphique la plus basique et la moins cher, en général ne servaient que pour les 4 opérations, achetées parce qu'il y avait écrit "calculatrice graphique" dans la liste de fourniture), des ti83 ou assimilées (j'avais une 83+), et des ti89, une ti92+ et une HP mais je ne sais pas laquelle. Ça geekait assez dans cette école (il faut dire qu'on n'avait que nos calcus), les calculettes servaient de consoles de jeu lors des voyages en train… c'était des conditions propices pour vouloir faire plus que des maths avec !
J'ai terminé mon lycée à Paris, dans un lycée technique (STI, SSI…), ça bidouillait un peu moins, mais il y avait globalement des ti89, le reste était des graph25 ou similaires. J'avais acheté une V200 en rentrant dans cette école, avec l'argent d'un job d'été, je n'étais pas très matheux (et je ne le suis toujours pas) et pour moi je m'achetais un ordinateur de poche, pour geeker. Je n'aurai pas refusé le RPN, j'en avais entendu parlé et cela me tentait. J'ai toujours été bloqué en maths par des trucs idiots, et la notation infixée fait partie de ces choses absurdes qui ne m'ont jamais aidé¹.
(HS: et l'infixée devient encore plus débile quand on commence à apprendre les fonctions à l'école et donc à mélanger infixée/préfixée : 2*x+sqrt(f(x+3)) quelle horreur.)
Dit comme ça, la HP ne m'aurai pas du tout dérangé, elle m'a même tenté, elle aurait peut-être pu me réconcilier avec les maths… L'élitisme n'était qu'une réputation, ce n'était pas du au RPN, au contraire. Simplement on disait que les meilleurs calculettes étaient les HP, sauf que ceux qui le disaient n'en avait jamais vu, et le répétaient d'autres qui n'en avaient jamais vu. Le discours était simple : les meilleures calculettes sont les HP, mais avec une TI tu feras déjà très bien, et tout le monde en a.
J'ai du avoir mon bac en 2005, ensuite j'ai passé deux ans dans une école d'info que j'ai arrêté, puis deux ans dans une IUT info. Dans mes dernières années d'étude, nous étions en cours avec nos PC, donc nous n'avions pas besoin d'ordinateur de poche ou de calculatrice, sauf pour quelques rares exams de maths où sont ressorti des ti83.
Je pense que ce n'est pas plus compliqué que ça, quand je suis arrivé au lycée, les HP avaient déjà disparu de la circulation et n'étaient plus qu'une réputation pour quelques rares connaisseurs… qui n'en avaient pas. Les HP c'était le meilleur, c'était pour les pros, et on était lycéen, on se disait peut-être "plus tard quand je travaillerai j'aurai une HP", sauf que non.
ce commentaire est sous licence cc by 4 et précédentes
[^] # Re: pfff
Posté par Thomas Debesse (site web personnel) . Évalué à 3.
Pour soutenir le fait qu'en achetant ma V200 j'achetais un ordinateur de poche, pour ceux qui ne connaissent pas, voici à quoi ça ressemble :
J'avais dessus un tableur compatible excel, un visionneur de texte au défilement très rapide qui interprétait du texte balisé (txtrider ou ses clones plus modernes hibview, uview), un logiciel d'agenda et de carnet d'adresse que je pouvais importer/exporter vers outlook, des tas de jeux, et des supers outils et émulateurs pour développer sur pc…
ce commentaire est sous licence cc by 4 et précédentes
[^] # Re: pfff
Posté par CrEv (site web personnel) . Évalué à 2.
Disons que l'âge d'or des hp c'est terminé vers 2002 - 2003 il me semble (en tout cas c'est un peu à ce moment que je l'ai quitté, et c'était déjà moins actif que fin des années 90 - début 2000).
Donc forcément, il me semble que tu sois passé un peu après la bataille ;-) Aujourd'hui, surtout en post-bac, vu que tout le monde a un portable l'usage de la calculatrice est quelques peu limité (et de toute façon on avait pas vraiment droit aux calculatrices tout simplement).
Certains profs de math étaient particulièrement intéressés par les calculatrices RPN car cela obligeait à connaître ses règles de priorité d'opérateurs, là où avec une notation "classique" on peut toujours coller des parenthèses un peu partout.
[^] # Re: pfff
Posté par Thomas Debesse (site web personnel) . Évalué à 2.
Je découvre aujourd'hui qu'il y avait trois outils pour faire du RPN sur ti89 :
Celui-ci : http://www.ticalc.org/archives/news/articles/3/34/34836.html
Celui-là : http://www.ticalc.org/archives/files/fileinfo/102/10219.html
Et puis il y avait un autre sur cette adresse
www.paxm.org/symbulator/download/rpn.html
mais c'est désormais un site parking et je n'ai pas trouvé de miroir.ce commentaire est sous licence cc by 4 et précédentes
[^] # Re: pfff
Posté par Laurent J (site web personnel, Mastodon) . Évalué à 3.
je confirme, les années 2000, c'était déjà le déclin des HP :-) c'est pour ça que presque plus personne en achetait. En fait, ça devenait de plus en plus dur à en trouver dans le commerce, et maintenant ça me revient, il y a même un moment où HP avait plus ou moins arrêté le développement actif de ses calculatrices (pour je ne sais quelle raison).
Et si tu dis qu'on entendait partout du bien des HP sans vraiment en voir, c'était probablement parce qu'elles avaient vraiment marqué leur époque. La preuve, on en parle encore :-)
[^] # Re: pfff
Posté par TImaniac (site web personnel) . Évalué à 4.
Faut dire que la TI92 avait tout pour plaire au geek programmeur :
- un grand écran (bien plus grand que les HP)
- un clavier
- un IDE complet côté PC (TIGCC) avec un vrai langage (TIGCC).
- un proc à 10/12MHz permettant de faire des choses vraiments sympas :
Sans parler du CAS mathématique qui était vraiment performant et un module de géométrie sans équivalent sur HP.
En fait à part une notation inversée pour faire genre je suis l'élite, y'avait quoi comme intérêt sur une HP ?
PS : ok, je suis pas objectif, mon pseudo en a même gardé des traces ;)
[^] # Re: pfff
Posté par ecyrbe . Évalué à 2.
Quand j'ai eu ma première HP, il n’existait pas encore de TI 92 et encore moins de TI 89…
Donc c'était HP ou Casio.
Pour programmer et jouer, HP était le meilleur choix.
Ensuite quand je suis arrivé en Terminale, en 96, la TI-92 est sortie et je m'en suis acheté une, puis la TI 89 en école d'ingénieur.
Mais depuis que j'ai un téléphone Android, j'ai un émulateur HP et TI dessus qui me permettent de faire la même chose pour le calcul scientifique, donc mes vrai calculatrices prennent la poussière.
Ce projet sera l'occasion de faire à nouveau chauffer les piles…
[^] # Re: pfff
Posté par Laurent J (site web personnel, Mastodon) . Évalué à 3.
Ouai enfin, moi je te parle de l'age d'or des HP, debut-milieu des années 90. à cette époque il n'y avait quasiement rien pour coder sur les TI et fallait faire des hacks de malade pour arriver à installer un soft réalisé en ASM ou autre (c'est pour ça qu'à l'époque, je suis resté sur HP).
Il a fallu attendre très longtemps pour voir des softs ou des jeux dignes de ce nom sur les TI92 et suivantes. Les screenshots que tu montres, il y avait déjà l'équivalent sur HP avant même la sortie de la TI92 ;-)
Et le jour où TIGCC était disponible (fin 99, debut 2000), l'age d'or des HP était déjà plus ou moins révolu.
bref, tu fais une comparaison de choses qui sont apparues à des époques différentes ;-)
[^] # Re: pfff
Posté par CrEv (site web personnel) . Évalué à 4.
Ha, enfin un connaisseur !
Je crois que c'est dans la même optique qu'a été développé masd, un assembleur avec une syntaxe sympa genre :
Et surtout on pouvait développer directement sur la calc en assembleur !
[^] # Re: pfff
Posté par neil . Évalué à 2.
Sur les TI aussi, avec la fonction asm(). Résultat : tu faisais une erreur dans le code (genre avec un code vide,
asm("")
), et ta calculatrice était bloq[^] # Re: pfff
Posté par Thomas Debesse (site web personnel) . Évalué à 2.
Il me semble que la commande asm prenait en argument de l'hexa… bref du code assemblé, donc ça na rien à voir, je pense.
Par contre il y avait des librairies programmées en assembleur, comme flib ou vertel, qui permettaient d'employer des fonctions très avancées depuis le TI-Basic.
Il y avait eu un assembleur mais il n'a pas été maintenu dans le temps, nommé tout simplement as je crois… je ne retrouve plus de lien.
Par contre il y a un compilateur C (utilisable sur AMS) : GTC
GTC est aussi un compilateur sur PC que je n'ai pas cité, et je crois qu'il n'est pas libre à clause d'une clause non-commerciale.
ce commentaire est sous licence cc by 4 et précédentes
[^] # Re: pfff
Posté par Thomas Debesse (site web personnel) . Évalué à 2. Dernière modification le 20 mars 2012 à 18:59.
Voilà, j'ai retrouvé le lien, en plus ancien que GTC, il y avait les programmes de C. Vasseur
Ils ont été regroupés en cc-suite avec un compilateur
cc
, un assembleuras
, et un ideside
.side
a été récupéré et intégré à PedroM comme éditeur de texte.ce commentaire est sous licence cc by 4 et précédentes
[^] # Re: pfff
Posté par Laurent J (site web personnel, Mastodon) . Évalué à 3.
et pas qu'un peu :-) (bon, ça remonte à loin, j'ai un peu la mémoire défaillante sur le sujet maintenant :-)
Oui, j'utilisais aussi des accolades, mais j'avais aussi d'autres règles syntaxiques qui facilitaient le développement mais je n'ai pas souvenir de tout. Il y avait par exemple l'écriture d'expression mathématique avec priorité des opérateurs (masd ne savait pas le faire à l'époque). Il y avait aussi d'autres facilités comme les labels locaux (ça économisait de la mémoire à la compilation), la compilation vers des "fichiers objets". on pouvait ainsi compiler des fichiers séparément, et linker le tout à la fin, économisant du temps et des ressources systèmes (très précieuses !). Mine de rien, c'était "révolutionnaire", car c'était des choses que ne pouvaient pas faire les compilateurs d'alors (peut-être masd le faisait, je ne sais plus, il a été développé à peu près en même temps que j-asm).
Il y avait d'autres trucs mais je ne me souvient plus.
Faudrait que je remette en ligne le site web du projet :-)
[^] # Re: pfff
Posté par Thomas Debesse (site web personnel) . Évalué à 4.
J'avais entendu parler du CAS (il y avait un journal qui donnait ce lien), mais pas de l'OS. Tu aurais des liens sur le sujet ? J'ai trouvé une vieille interview de Cyrille de Brebission) et une très vieille interview de Jean-Yves Avenard mais si tu as plus précis, je prends !
En fait c'est vraiment là le problème, quand on fait des recherches, on ne trouve que des vieux trucs (et hop un manuel de metakernel de 1998, date à laquelle j'ai vu pour la première et dernière fois une HP), et c'était déjà vrai quand j'ai acheté ma Voyage 200 en 2003 : j'avais entendu beaucoup de bien des HP, mais je n'ai pas voulu prendre le risque de me retrouver seul avec ma calculatrice, je trouvais tout ce que je voulais pour les ti, et bientôt 10 ans plus tard ça bouge encore…
ce commentaire est sous licence cc by 4 et précédentes
[^] # Re: pfff
Posté par Laurent J (site web personnel, Mastodon) . Évalué à 3.
L'OS en question, c'est en gros le metakernel (enfin en tout cas, une évolution du metakernel)..
Et sinon, je n'ai pas de lien, ça fait quelques années que je ne suis plus l'actu HP.
[^] # Re: pfff
Posté par CrEv (site web personnel) . Évalué à 7.
Ben en fait tu as déjà trouvé.
L'OS alternatif pour 48, et finalement en quelque sorte la base pour la 49, était MetaKernel (http://isa.umh.es/calc/HP48/mk230.pdf http://www.hpcalc.org/hp48/apps/mk/)
Ce qui était vraiment cool à l'époque, c'est que des personnes comme JYA étaient dispo sur les newsgroup pour aider à bidouiller les HP et filait des tuyaux (je me souviens toujours des explications sur le traitement des interruptions).
Pour ma part les HP étaient justement l'incarnation d'un objet hackable (bidouillable). La 48 aussi bien en soft qu'en hard (soudage de puces) et la 49 surtout en soft (le hard était mieux). Par exemple le fait de pouvoir coder en assembleur directement dessus, etc.
C'est d'ailleurs grâces aux HP que je suis réellement entré dans l'open source, c'est pour ces projets que j'ai créé un compte sourceforge (2001 je crois), appris à coder, appris latex pour écrire mes docs sur les interruptions et le clavier, appris emacs et le lisp (pour le mode masd), appris perl (pour regarder une sorte d'IDE), mes premiers contacts avec des gens de Mandrakesoft, irc, etc.
A l'époque, tout le monde avait une TI, et personne (de mon entourage en tout cas) ne codait avec. Et j'ai gardé de TI cette image de bonne calculette mais n'a jamais eu le charme d'une HP. (oué et au début, c'est pas comme aujourd'hui, on surfait en RTC, on cherchait les docs sur multimania, geocities, etc, donc sans personnes IRL avec qui en parler c'était pas évident)
Si tu cherches des trucs, dis moi, je pourrai peut-être trouver un certain nombre de choses. J'ai encore pas mal de sauvegardes de l'époque, mais aussi des codes sources (bon ok, certains sur papier…), etc
Il y a quelques liens ici : http://chl.be/hp/docs/
[^] # Re: pfff
Posté par CrEv (site web personnel) . Évalué à 2.
pfiou, retrouvé : Xeno
# lien vers article M68000
Posté par steph1978 . Évalué à 4.
Ton lien vers l'article wikipedia a zappé un 0, nous ramenant 37 ans en arrière au lieu de… 33 ans ! ah ouai ça date.
HP48GX POWER !
[^] # Re: lien vers article M68000
Posté par Thomas Debesse (site web personnel) . Évalué à 2.
Je me demande s'il n'y aurait pas un bug sur DLFP, pendant la rédaction dans l'espace collaboratif, j'ai du rajouter un zéro parce que le lien vers 68000 avait déjà été tronqué à 6800, une première fois…
Donc voici le lien (si ça marche) : Motorola 68000
ce commentaire est sous licence cc by 4 et précédentes
[^] # Re: lien vers article M68000
Posté par steph1978 . Évalué à 2.
J'y suis allé de ma petite remarque à deux balles mais j'ai lu la dépêche en entier ainsi que les commentaires et je dirai merci et bravo, c'est très complet et intéressant (pour ceux qui ont bidouillé des calculatrice étant jeune).
[^] # Re: lien vers article M68000
Posté par Thomas Debesse (site web personnel) . Évalué à 4.
Merci, je prends ça comme un encouragement :)
Je fais de la veille sur différents sujets qui me passionnent, qui sont parfois originaux et peu traités ici alors qu'ils pourraient avoir leur place et intéresser les unixiens, libristes ou bidouilleurs de DLFP. Ainsi j'ai eu souvent des idées de dépêche pour des sujets qui sortent un peu du lot mais je n'avais jamais réussi à prendre vraiment le temps. À chaque fois le temps passe, et puis je perds l'opportunité. Là je me suis accroché ! Il s'est tout de même passé plus de 10 jours entre l'annonce de Christopher Williams et ma dépêche. Mais cette fois j'ai réservé mon temps libre de ce dimanche et lundi (je ne travaille pas le lundi) et voilà. :)
C'est aussi la dépêche de contra-sh qui présentait son jeu Bubble Crusher porté sur ti83 qui m'a définitivement motivé. :)
J'espère pouvoir prendre le temps lorsque d'autres occasions se présenteront !
ce commentaire est sous licence cc by 4 et précédentes
# Vieux
Posté par Octabrain . Évalué à 2.
"suites à diverses mésententes, des développeurs ont quitté le projet TIGCC et l'ont forké en 2009 pour donner naissance au projet GCC4TI"
Après toutes ces années à se taper dessus, tu crois qu'ils en auraient marre et qu'ils passeraient enfin à une autre plateforme, que nenni, ils continuent encore plus à se taper dessus ! #gol# M'enfin il doit plus rester que le noyau dur aujourd'hui.
# Superbe dépèche !
Posté par contra-sh . Évalué à 3.
Merci pour cette dépêche très détaillée et très intéressante :)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.