Page 1 of 1

Le Lua aussi sur 68k !

Unread postPosted: 25 Oct 2011, 23:49
by Loulou 54
Je suis retombé sur le site d'un bricoleur (où j'avais déjà vu un montage pour utiliser une mémoire externe EEPROM) et il se trouve que cette personne a fait un remarquable port du langage Lua pour TI 89 !

Le Lua ne semble pas d'un très grand intérêt sur 68k vu les nombreux langages performant disponibles, comme le C et d'autres intermédiaires comme le basic flib, Vertel, ou le récent mais peu répandu Newprog, ...
Cependant, étant donné que ce langage pas très connu suscite maintenant beaucoup d'intérêt au sein de la communauté Nspire, car il est le seul langage alternatif supporté par les OS récents (OS >= 3.0) , il est donc intéressant de voir que, peut-être, certains programmes Nspire en Lua pourraient être adaptés sur les 68k par ce biais !

J'ai testé rapidement la bête : tout se fait sur la calculatrice ! Il faut écrire son programme dans un fichier texte, puis on le lance par la commande lua("fichier").
Il y a un debuger (dont les phrases ressemblent énormément à celui de la Nspire) qui vous indique les erreurs s'il y en a, sinon, votre programme se lance.

Je n'ai pas fait de tests très avancé, j'ai juste testé la fonction print qui affiche un message à l'écran - même si rappelons-le, sur Nspire, elle n'a pas cette fonction : elle envoi le message par le port série.. :%):

Bref, les sources sont fournies et on voit que ce projet représente un gros boulot ! Il n'y a malheureusement pas beaucoup de documentation fournie et aucun exemple !!

Toutefois, l'adaptation des programmes ne serait tout de même pas aisée, car le Lua sur Nspire comporte pas mal de particularités.. Par exemple, le côté événementiel ne sera peut-être pas rendu ici.. ça complique énormément les choses.. (j'ai testé l'événement basique on.paint(gc) mais il ne semble pas être reconnu.)
De plus, la section de programmes 68k est déjà bien remplie ! Et c'est plutôt une adaptation dans l'autre sens qu'il faudrait ! :)

Bref, c'est une découverte intéressante malgré tout ! :8):

Liens :
La page
Télécharger le programme avec les sources

Re: Le Lua aussi sur 68k !

Unread postPosted: 26 Oct 2011, 06:22
by Lionel Debroux
C'est en effet une (re)découverte intéressante. C'est dommage que son auteur n'en ait pas fait plus de pub, le programme aurait amplement mérité d'être plus connu au moment où il est sorti, en 2003-2004...

Voir http://www.omnimaga.org/index.php?topic=9228.0 , qui mentionne des modifications pour améliorer ce portage de Lua, les modifications les plus importantes étant:
* la possibilité d'utiliser des fichiers texte au format TI-68k, avec des CR plutôt que des LF en fin de ligne - autrement dit, la possibilité de programmer on-calc, et sans outils spéciaux de génération de fichier texte TI-68k non standard côté ordinateur;
* une diminution de 20% de la taille (~100 KB -> ~80 KB), en utilisant des features de la toolchain et de la librairie récentes;
* la présence d'exemples :)

Cependant, cette version améliorée dépend d'un GCC4TI qui n'est pas encore releasé, qui comporte des améliorations spécialement faites pour Lua89, et qui est donc difficile à se procurer pour les utilisateurs (majoritaires) de Windows.
Le portage du patch vers Lua 5.1.4 est commencé, mais c'est bien sûr la partie facile qui a été faite en premier :D


Bien sûr:
* Lua est trop lent pour être véritablement agréable à utiliser sur TI-68k, tout comme du reste p14p ( http://www.omnimaga.org/index.php?topic=9360.0 ) et d'une manière générale les purs interpréteurs de code. Le Lua n'est tolérable sur Nspire que parce que le processeur est plus rapide.

* l'implémentation de Lua spécifique à la Nspire, qui est arrivée longtemps après le portage original que tu pointes, n'est pas codée, et ne le sera certainement jamais. Ce serait un boulot titanesque :)
Il serait plus facile d'ajouter des choses à lamslib, la librairie de fonctions spéciales TI-68k/AMS.
Et comme mentionné sur Omnimaga, il serait intéressant d'avoir un portage tiers du vrai Lua sur Nspire :)

Re: Le Lua aussi sur 68k !

Unread postPosted: 26 Oct 2011, 09:30
by jacques
En parlant de re-découvertes intéressantes, saviez vous qu'on peut apparemment programmer en Pascal sur ti68k grâce à Ultra Pascal. :=):

Bon, par contre ce compilateur date de 1999... :D:

Re: Le Lua aussi sur 68k !

Unread postPosted: 26 Oct 2011, 09:48
by Lionel Debroux
Je connaissais celui-là, mais il aurait en effet besoin d'un toilettage - même si PreOS garde une bonne compatibilité, il est fait pour Fargo, ça date :D

Re: Le Lua aussi sur 68k !

Unread postPosted: 26 Oct 2011, 15:21
by Loulou 54
Lionel, tu me fascines ! xD

C'est quoi les fins de ligne CR ou LF ? ou CRLF ?

Re: Le Lua aussi sur 68k !

Unread postPosted: 26 Oct 2011, 15:30
by Lionel Debroux
Dans les fichiers texte standard pour TI-68k, c'est CR (0x0D), comme sur Mac. Sur *nix, c'est LF (0x0A), et sur DOS/Windows, c'est CR+LF (0x0D 0x0A).

Dans les temps très anciens de l'informatique, sur les terminaux électromécaniques, CR et LF étaient nécessaires pour avancer d'une ligne. Les *nix se sont éloignés de ceci pour des raisons que j'ignore exactement (à des fins de prendre moins de place ?), mais c'est très bizarre que DOS, qui est arrivé bien après l'époque des terminaux nécessitant CR+LF, ait réintroduit cette antiquité.

Re: Le Lua aussi sur 68k !

Unread postPosted: 26 Oct 2011, 15:38
by Loulou 54
Ah d'accord, c'est le caractère n°13 de retour à la ligne ! Donc ce n'est pas toujours le même code en fonction des plateformes ?

Re: Le Lua aussi sur 68k !

Unread postPosted: 26 Oct 2011, 19:55
by Lionel Debroux
En effet, le code de fin de ligne varie en fonction des plate-formes.
Sur TI-68k/AMS, les textes ont aussi un caractère de début de ligne: le caractère commande / page break / etc., habituellement " " pour indiquer qu'il n'y a aucune commande.

Re: Le Lua aussi sur 68k !

Unread postPosted: 16 Mar 2012, 19:39
by Lionel Debroux
Je fais remonter un topic, parce que j'avais posté:
Lionel Debroux wrote:Et comme mentionné sur Omnimaga, il serait intéressant d'avoir un portage tiers du vrai Lua sur Nspire :)

et que le récent PCspire s'approche de cette définition :)