Les divers langages sur les z80
14 posts
• Page 1 of 2 • 1, 2
Les divers langages sur les z80
Bonjour à vous tous, qui possédez une TI-82(stat), TI-83(+), TI-84(+) et toutes les autres calculatrices z80.
Avec tous les langages de programmation existant sur ces calculatrices, on s'emmêle un peu les pinceaux ces temps-ci. Et les débutants demandent régulièrement des conseils sur le langage à choisir et des liens vers des tutoriels pour débutant. C'est pourquoi j'ai décidé de créer cette news pour faire un p'tit récap' de tout ça. J'essayerai d'être le plus objectif possible.
Aussi, même si vous ne connaissez pas la programmation, ne manquez pas de vous y lancer !
Le TI-Basic :
Idéal pour les débutants, c'est le langage le plus simple, et qui marche avec toutes les calculatrices z80. Il permet d'arriver vite à des résultats, en faisant des programmes de maths aussi bien que des jeux. Il est directement éditable sur votre calculatrice grâce à la touche PRGM.
Cependant, il est vite limité : impossible de faire des vrais jeux comme Mario, et la 3D, n'y pensons même pas. Très vite, dès que l'on a de l'expérience, on est limité par la mémoire de la calculatrice, et par la vitesse d'exécution.
Voici un tutoriel pour apprendre ce langage à partir de Zér0 : http://www.siteduzero.com/tutoriel-3-40 ... basic.html
Pour ceux qui trouvent trop de limites au TI-Basic, ne manquez pas de lire la dernière partie qui les repousse en partie !
Note technique : le TI-Basic est un langage interprété (expliqué dans le tutoriel). Il ne peut faire planter votre TI car un simple appui sur ON permet de le quitter.
L'Axe :
L'Axe est un langage assez récent, mais possède pourtant déjà une bonne communauté derrière, car il permet, une fois appris, de réaliser des jeux fluides, et avec une syntaxe ressemblant à celle du TI-Basic (quoique un peu trompeuse car la théorie est bien différente).
Pour programmer dans ce langage, il suffit de le taper dans l'éditeur de TI-Basic (c'est pour ça que la syntaxe ressemble), et de le compiler avec l'application "Axe Parser". Inconvénients :
- ça ne marche que pour les TI-83+(silver) et TI-84(+)(silver), à cause de l'application. Et un programme ainsi compilé ne marche aussi que sur ces modèles
- impossibilité de programmer en Axe sur ordi (sauf avec un éditeur TI-Basic, mais il faudra quand même compiler sur une calculatrice, voire une calculatrice virtuelle)
- si vous n'avez pas l'application, programmer en Axe est moins pratique car les Hooks ne seront pas là (les Hooks permettent de changer la représentation de certains tokens)
Mais ce langage permet de faire assez facilement ses propres programmes, bien que pas forcément des plus optimisés.
Tutoriel pour apprendre l'Axe depuis Zér0 : http://www.siteduzero.com/tutoriel-3-40 ... arser.html
L'assembleur
Un peu plus difficile que l'Axe, il constitue cependant une curiosité bien singulière. Les programmeurs assembleur se sentent proches du matériel en contrôlant vraiment par eux-même l'ensemble de la calculatrice. L'assembleur ouvre un plus grand horizon que l'Axe et est plus optimisé, avec lui, toutes les limites sont franchises.
Je constate depuis peu que certains gens ont des préjugés en croyant que l'assembleur est très difficile, en réalité, ce n'est pas du tout le cas, il est largement ouvert aux débutants avec un bon tutoriel. De plus, contrairement à l'Axe, il est utilisable pour les calculatrices TI-82 stat, TI-83 (pas +), et TI-76 tout comme pour les TI-83+(silver)/TI-84(+)(silver). La seule concession que je veux bien faire, c'est que les temps de développement sont un peu plus longs quand on est pas encore très habitués, mais je le trouve plus intéressant et plus enrichissant ! Il permet une véritable ouverture sur l'informatique, et vous aidera vraiment à comprendre comment marche un processeur.
Quelques projets d'assembleur pour vous donner une idée : compilateur Axe, interpréteurs Grammer et BBC Basic, OS etc.
Il est possible de directement faire de l'assembleur en hexadécimal sur la calculatrice, même si c'est très difficile. Le chemin utilisé est soit son édition/assemblage sur ordinateur, soit son édition/assemblage sur l'application Mimas directement sur la calculatrice (mais que TI-83+(silver)/TI-84(+)(silver) du coup).
Tutoriel pour apprendre l'assembleur z80 depuis Zér0 : http://www.siteduzero.com/tutoriel-3-57 ... ur-ti.html
Si vous êtes inscrit sur le site, une version bien meilleure est disponible : http://www.siteduzero.com/tutoriel-3-1- ... ur-ti.html
Le Grammer
C'est un langage interprété, comme le TI-Basic, mais nécessitant pour cela de l'application Grammer. Malgré ce contexte, je le trouve plus difficile à apprendre que l'Axe et l'assembleur, mais sa syntaxe étonnante m'attise beaucoup de curiosité. Donc je ne pense pas que ce soit le langage à choisir pour les débutants, mais ça peut être très sympa à apprendre.
De plus, bien que interprété, il est très rapide, beaucoup plus que le TI-Basic, possède beaucoup plus de fonctions que ce dernier (entre autres des fonctions graphiques), et permet des manipulations système.
Voici une news plus explicative, même si je ne suis pas vraiment d'accord en ce qui concerne la difficulté d'apprentissage : viewtopic.php?t=8134
Voici pourquoi je pense comme cela : la syntaxe très curieuse n'est pas forcément des plus simples, et il n'existe pas de tutoriel pour commencer de Zér0, il faudra se contenter d'archives.
Le BBC Basic
Vieux langage presque plus utilisé, et dont la communauté est assez faible, il peut cependant être sympa à apprendre, et possède des fonctions graphiques intéressantes, et est assez rapide. De plus, comme avant l'Axe et le Grammer n'existaient pas, beaucoup de gens se penchaient avant sur ce langage, et du coup pas mal de ressources existent dessus, dommage que ça ait comme ça disparu.
Il s'agit en fait d'une adaptation sur calculatrice d'un langage basic d'ordinateur, et ça peut-être amusant de le retrouver avec l'éditeur spécial sur calculatrice, avec une application.
Un bon tutoriel pour apprendre le BBC Basic (en Anglais) : http://www.benryves.com/bin/bbcbasic/manual/
Lien de téléchargement de l'application : http://www.ticalc.org/archives/files/fi ... 41608.html
Le C
Je vois venir les gens me regardant avec des yeux tous ronds. Eh oui, le C, sur votre TI z80, c'est possible !
Que je vous le dise tout de suite : ce n'est pas du tout le langage le plus adapté pour votre TI, car ce langage n'utilise pas les routines de l'OS. Du coup, rien que pour afficher du texte, il faut déjà inclure une petite librairie bien consistante. Mais ne manquez pas l'expérience de faire du C sur votre z80 ! Et puis d'ailleurs, si vous connaissez l'assembleur, pourquoi ne pas vous-mêmes faire des librairies ?
Si vous ne connaissez pas le C, il faudra d'abord apprendre ce langage pour l'ordinateur, pour ensuite apprendre comme faire de même sur la calculatrice.
Tutoriel pour apprendre le C sur ordinateur depuis Zér0 : http://www.siteduzero.com/tutoriel-3-14 ... -en-c.html
Sujet pour apprendre à compiler du C pour les TI-83(pas +)/TI-82 stat/TI-76 : http://www.yaronet.com/posts.php?s=138500
Les librairies
Les librairies servent à ceux qui savent déjà programmer en TI-Basic, et veulent faire des vrais jeux avec, sans changer de langage, mais juste l'étendre. Ils utilisent alors des "librairies" comme XLib, Celtic etc. pour ajouter des fonctionnalités. Ce ne sont en fait rien d'autre que des programmes assembleur qui soit vont utiliser un procédé compliqué se nommant les Hooks, permettant de changer l'effet de l'utilisation d'une commande, soit vont être appelables par tout programme TI-Basic qui met tout d'abord une valeur dans Ans afin d'effectuer une action précise.
L'avantage des librairies est de pouvoir poursuivre un projet TI-Basic sans tout recommencer, et ne pas apprendre un autre langage, mais l'inconvénient (tout comme pour le BBC Basic et Grammer, d'ailleurs), c'est que le programme TI-Basic, pour fonctionner, a besoin du programme assembleur (ou de l'application).
LA plus connue comme librairie est XLib, et elle forme avec Celtic, Omnicalc et Symbolic les quatre les plus connues. Après, il en existe plein d'autres et ce n'est même pas la peine de les compter. Et si vous faites de l'assembleur, ne manquez pas de créer la vôtre ! Le fait qu'il y en ait beaucoup peut être perçu comme un avantage, mais en réalité, c'est un poids, car il faut les télécharger (ça prend de la place) pour utiliser les programmes qui les utilisent.
Tutoriel pour apprendre à utiliser XLib : http://tiplanet.org/modules/archives/do ... l_Xlib.pdf
Encore un tutoriel pour apprendre à utiliser XLib : http://tibasicdev.wikidot.com/xlib-tutorial
Télécharger XLib : http://www.ticalc.org/archives/files/fi ... 35907.html
Télécharger Celtic : http://www.ticalc.org/archives/files/fi ... 42446.html
Une liste sympa comportant de nombreuses librairies avec des liens (quelques uns sont morts) : http://tibasicdev.wikidot.com/asmlibs
Avec tous les langages de programmation existant sur ces calculatrices, on s'emmêle un peu les pinceaux ces temps-ci. Et les débutants demandent régulièrement des conseils sur le langage à choisir et des liens vers des tutoriels pour débutant. C'est pourquoi j'ai décidé de créer cette news pour faire un p'tit récap' de tout ça. J'essayerai d'être le plus objectif possible.
Aussi, même si vous ne connaissez pas la programmation, ne manquez pas de vous y lancer !
Le TI-Basic :
Idéal pour les débutants, c'est le langage le plus simple, et qui marche avec toutes les calculatrices z80. Il permet d'arriver vite à des résultats, en faisant des programmes de maths aussi bien que des jeux. Il est directement éditable sur votre calculatrice grâce à la touche PRGM.
Cependant, il est vite limité : impossible de faire des vrais jeux comme Mario, et la 3D, n'y pensons même pas. Très vite, dès que l'on a de l'expérience, on est limité par la mémoire de la calculatrice, et par la vitesse d'exécution.
Voici un tutoriel pour apprendre ce langage à partir de Zér0 : http://www.siteduzero.com/tutoriel-3-40 ... basic.html
Pour ceux qui trouvent trop de limites au TI-Basic, ne manquez pas de lire la dernière partie qui les repousse en partie !
Note technique : le TI-Basic est un langage interprété (expliqué dans le tutoriel). Il ne peut faire planter votre TI car un simple appui sur ON permet de le quitter.
L'Axe :
L'Axe est un langage assez récent, mais possède pourtant déjà une bonne communauté derrière, car il permet, une fois appris, de réaliser des jeux fluides, et avec une syntaxe ressemblant à celle du TI-Basic (quoique un peu trompeuse car la théorie est bien différente).
Pour programmer dans ce langage, il suffit de le taper dans l'éditeur de TI-Basic (c'est pour ça que la syntaxe ressemble), et de le compiler avec l'application "Axe Parser". Inconvénients :
- ça ne marche que pour les TI-83+(silver) et TI-84(+)(silver), à cause de l'application. Et un programme ainsi compilé ne marche aussi que sur ces modèles
- impossibilité de programmer en Axe sur ordi (sauf avec un éditeur TI-Basic, mais il faudra quand même compiler sur une calculatrice, voire une calculatrice virtuelle)
- si vous n'avez pas l'application, programmer en Axe est moins pratique car les Hooks ne seront pas là (les Hooks permettent de changer la représentation de certains tokens)
Mais ce langage permet de faire assez facilement ses propres programmes, bien que pas forcément des plus optimisés.
Tutoriel pour apprendre l'Axe depuis Zér0 : http://www.siteduzero.com/tutoriel-3-40 ... arser.html
L'assembleur
Un peu plus difficile que l'Axe, il constitue cependant une curiosité bien singulière. Les programmeurs assembleur se sentent proches du matériel en contrôlant vraiment par eux-même l'ensemble de la calculatrice. L'assembleur ouvre un plus grand horizon que l'Axe et est plus optimisé, avec lui, toutes les limites sont franchises.
Je constate depuis peu que certains gens ont des préjugés en croyant que l'assembleur est très difficile, en réalité, ce n'est pas du tout le cas, il est largement ouvert aux débutants avec un bon tutoriel. De plus, contrairement à l'Axe, il est utilisable pour les calculatrices TI-82 stat, TI-83 (pas +), et TI-76 tout comme pour les TI-83+(silver)/TI-84(+)(silver). La seule concession que je veux bien faire, c'est que les temps de développement sont un peu plus longs quand on est pas encore très habitués, mais je le trouve plus intéressant et plus enrichissant ! Il permet une véritable ouverture sur l'informatique, et vous aidera vraiment à comprendre comment marche un processeur.
Quelques projets d'assembleur pour vous donner une idée : compilateur Axe, interpréteurs Grammer et BBC Basic, OS etc.
Il est possible de directement faire de l'assembleur en hexadécimal sur la calculatrice, même si c'est très difficile. Le chemin utilisé est soit son édition/assemblage sur ordinateur, soit son édition/assemblage sur l'application Mimas directement sur la calculatrice (mais que TI-83+(silver)/TI-84(+)(silver) du coup).
Tutoriel pour apprendre l'assembleur z80 depuis Zér0 : http://www.siteduzero.com/tutoriel-3-57 ... ur-ti.html
Si vous êtes inscrit sur le site, une version bien meilleure est disponible : http://www.siteduzero.com/tutoriel-3-1- ... ur-ti.html
Le Grammer
C'est un langage interprété, comme le TI-Basic, mais nécessitant pour cela de l'application Grammer. Malgré ce contexte, je le trouve plus difficile à apprendre que l'Axe et l'assembleur, mais sa syntaxe étonnante m'attise beaucoup de curiosité. Donc je ne pense pas que ce soit le langage à choisir pour les débutants, mais ça peut être très sympa à apprendre.
De plus, bien que interprété, il est très rapide, beaucoup plus que le TI-Basic, possède beaucoup plus de fonctions que ce dernier (entre autres des fonctions graphiques), et permet des manipulations système.
Voici une news plus explicative, même si je ne suis pas vraiment d'accord en ce qui concerne la difficulté d'apprentissage : viewtopic.php?t=8134
Voici pourquoi je pense comme cela : la syntaxe très curieuse n'est pas forcément des plus simples, et il n'existe pas de tutoriel pour commencer de Zér0, il faudra se contenter d'archives.
Le BBC Basic
Vieux langage presque plus utilisé, et dont la communauté est assez faible, il peut cependant être sympa à apprendre, et possède des fonctions graphiques intéressantes, et est assez rapide. De plus, comme avant l'Axe et le Grammer n'existaient pas, beaucoup de gens se penchaient avant sur ce langage, et du coup pas mal de ressources existent dessus, dommage que ça ait comme ça disparu.
Il s'agit en fait d'une adaptation sur calculatrice d'un langage basic d'ordinateur, et ça peut-être amusant de le retrouver avec l'éditeur spécial sur calculatrice, avec une application.
Un bon tutoriel pour apprendre le BBC Basic (en Anglais) : http://www.benryves.com/bin/bbcbasic/manual/
Lien de téléchargement de l'application : http://www.ticalc.org/archives/files/fi ... 41608.html
Le C
Je vois venir les gens me regardant avec des yeux tous ronds. Eh oui, le C, sur votre TI z80, c'est possible !
Que je vous le dise tout de suite : ce n'est pas du tout le langage le plus adapté pour votre TI, car ce langage n'utilise pas les routines de l'OS. Du coup, rien que pour afficher du texte, il faut déjà inclure une petite librairie bien consistante. Mais ne manquez pas l'expérience de faire du C sur votre z80 ! Et puis d'ailleurs, si vous connaissez l'assembleur, pourquoi ne pas vous-mêmes faire des librairies ?
Si vous ne connaissez pas le C, il faudra d'abord apprendre ce langage pour l'ordinateur, pour ensuite apprendre comme faire de même sur la calculatrice.
Tutoriel pour apprendre le C sur ordinateur depuis Zér0 : http://www.siteduzero.com/tutoriel-3-14 ... -en-c.html
Sujet pour apprendre à compiler du C pour les TI-83(pas +)/TI-82 stat/TI-76 : http://www.yaronet.com/posts.php?s=138500
Les librairies
Les librairies servent à ceux qui savent déjà programmer en TI-Basic, et veulent faire des vrais jeux avec, sans changer de langage, mais juste l'étendre. Ils utilisent alors des "librairies" comme XLib, Celtic etc. pour ajouter des fonctionnalités. Ce ne sont en fait rien d'autre que des programmes assembleur qui soit vont utiliser un procédé compliqué se nommant les Hooks, permettant de changer l'effet de l'utilisation d'une commande, soit vont être appelables par tout programme TI-Basic qui met tout d'abord une valeur dans Ans afin d'effectuer une action précise.
L'avantage des librairies est de pouvoir poursuivre un projet TI-Basic sans tout recommencer, et ne pas apprendre un autre langage, mais l'inconvénient (tout comme pour le BBC Basic et Grammer, d'ailleurs), c'est que le programme TI-Basic, pour fonctionner, a besoin du programme assembleur (ou de l'application).
LA plus connue comme librairie est XLib, et elle forme avec Celtic, Omnicalc et Symbolic les quatre les plus connues. Après, il en existe plein d'autres et ce n'est même pas la peine de les compter. Et si vous faites de l'assembleur, ne manquez pas de créer la vôtre ! Le fait qu'il y en ait beaucoup peut être perçu comme un avantage, mais en réalité, c'est un poids, car il faut les télécharger (ça prend de la place) pour utiliser les programmes qui les utilisent.
Tutoriel pour apprendre à utiliser XLib : http://tiplanet.org/modules/archives/do ... l_Xlib.pdf
Encore un tutoriel pour apprendre à utiliser XLib : http://tibasicdev.wikidot.com/xlib-tutorial
Télécharger XLib : http://www.ticalc.org/archives/files/fi ... 35907.html
Télécharger Celtic : http://www.ticalc.org/archives/files/fi ... 42446.html
Une liste sympa comportant de nombreuses librairies avec des liens (quelques uns sont morts) : http://tibasicdev.wikidot.com/asmlibs
Last edited by mdr1 on 20 Feb 2012, 09:58, edited 1 time in total.
-
mdr1Premium
Niveau 14: CI (Calculateur de l'Infini)- Posts: 1083
- Images: 12
- Joined: 28 Mar 2011, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Je voyage toujours en première.
Re: Les divers langages sur les z80
N'oublions pas de préciser qu'il faut également maîtriser l'algorithmie quand on se lance dans la programmation, quel que soit le langage utilisé et en particulier si la forme de ce langage est éloignée de l'approche algorithmique, disons "naturelle".
Beaucoup de jeunes se lancent tête baissée dans la programmation (en C, en php, en Java, en Basic même, et j'en passe) sans même avoir jamais écrit un quelconque algorithme (ne serait-ce que des trucs hyper basiques, comme l'algorithme d'Euclide, ou l'algorithme de division posée).
En général, ce qui en ressort, ce sont des bouts de code tapés par quelqu'un d'autre, sauvagement collés au milieu de 2 ou 3 instructions perso. Ensuite, ce sont des heures et des heures de débogage. Enfin, c'est l'abandon pur et simple.
En bref, si vous voulez vous lancer dans la programmation, apprenez aussi l'algorithmie...
Par exemple, sur le site du Zéro, encore.
Beaucoup de jeunes se lancent tête baissée dans la programmation (en C, en php, en Java, en Basic même, et j'en passe) sans même avoir jamais écrit un quelconque algorithme (ne serait-ce que des trucs hyper basiques, comme l'algorithme d'Euclide, ou l'algorithme de division posée).
En général, ce qui en ressort, ce sont des bouts de code tapés par quelqu'un d'autre, sauvagement collés au milieu de 2 ou 3 instructions perso. Ensuite, ce sont des heures et des heures de débogage. Enfin, c'est l'abandon pur et simple.
En bref, si vous voulez vous lancer dans la programmation, apprenez aussi l'algorithmie...
Par exemple, sur le site du Zéro, encore.
-
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)- Posts: 5670
- Joined: 11 Mar 2008, 00:00
- Location: Lyon
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Les divers langages sur les z80
Si je peux noter une différence marquante entre l'Axe et le Grammer (hormis la compilation), c'est que le Grammer est optimisé pour la vitesse, ainsi l'application Grammer est une librairie de fonction assembleur optimisé pour la vitesse, donc qui prend plus de place. Ainsi l'Axe est plus lent car il est optimisé pour la taille du programme (malgré les apparences). L'option framework est une nouveauté en beta de la 1.1.2, en gros l'exécutable fait appel aux routines qui sont dans l'Axe Parser, ainsi la taille de l'exécutable est considérablement diminué.
Tant qu'à faire une liste d'avantage et d'inconvénient, autant le faire pour tous les langages.
Je rajouterais xLib et Celtic si tu veux faire complet... mais il faudrait pas non plus que cela embrouille les nouveaux. :/
Tant qu'à faire une liste d'avantage et d'inconvénient, autant le faire pour tous les langages.
Je rajouterais xLib et Celtic si tu veux faire complet... mais il faudrait pas non plus que cela embrouille les nouveaux. :/
Tutoriel sur l'axe parser, un langage de programmation pour z80 ultra rapide et beaucoup plus facile que l'ASM !
-
kindermoumouteProgrammeur
Niveau 14: CI (Calculateur de l'Infini)- Posts: 849
- Joined: 30 Sep 2009, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Ecole d'ingénieur informatique et industriel
Re: Les divers langages sur les z80
Ce genre de topics est une bonne idée, pour peut qu'il soit bien écrit - et ça semble être le cas, même si pour TI-Z80, je ne suis pas à même d'en juger en détail
+1 Bisam, il faut connaître un peu d'algorithmique avant de foncer tête baissée dans des choses compliquées, quel que soit le langage. Je me souviens que le sujet a été abordé récemment ici
Parmi les ressources d'algorithmique, j'ajouterai le projet Euler, http://projecteuler.net/ .
Pour des problèmes comme le calcul des dix derniers digits de 28433 × 2^7830457 + 1 (problème #97) ou les dix derniers digits de 1^1 + 2^2 + ... + 1000^1000 (problème #48), la force brute avec une quelconque librairie de bignum capable d'avaler des nombres de cette taille est la solution naïve évidente... mais il y a moyen de faire énormément mieux que ça
(pour un des deux, j'ai fait la force brute en étant certain qu'il y avait moyen de faire mieux, car je n'avais pas réussi à trouver ce que l'indication "dix derniers digits" permettait de faire; pour le deuxième, j'ai mis en place ce que la plupart des solutions du premier indiquaient)
Et +1 pour la suggestion de kindermoumoute d'ajouter xLib, Celtic et tout autre langage de programmation utilisable "en production" sur TI-Z80. Ca va effectivement allonger le topic, mais à ce moment-là, un résumé peut être créé au début, et un classement (approximatif) sur une échelle comme efficacité / niveau d'abstraction et facilité de développement+debug
+1 Bisam, il faut connaître un peu d'algorithmique avant de foncer tête baissée dans des choses compliquées, quel que soit le langage. Je me souviens que le sujet a été abordé récemment ici
Parmi les ressources d'algorithmique, j'ajouterai le projet Euler, http://projecteuler.net/ .
Pour des problèmes comme le calcul des dix derniers digits de 28433 × 2^7830457 + 1 (problème #97) ou les dix derniers digits de 1^1 + 2^2 + ... + 1000^1000 (problème #48), la force brute avec une quelconque librairie de bignum capable d'avaler des nombres de cette taille est la solution naïve évidente... mais il y a moyen de faire énormément mieux que ça
(pour un des deux, j'ai fait la force brute en étant certain qu'il y avait moyen de faire mieux, car je n'avais pas réussi à trouver ce que l'indication "dix derniers digits" permettait de faire; pour le deuxième, j'ai mis en place ce que la plupart des solutions du premier indiquaient)
Et +1 pour la suggestion de kindermoumoute d'ajouter xLib, Celtic et tout autre langage de programmation utilisable "en production" sur TI-Z80. Ca va effectivement allonger le topic, mais à ce moment-là, un résumé peut être créé au début, et un classement (approximatif) sur une échelle comme efficacité / niveau d'abstraction et facilité de développement+debug
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
-
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)- Posts: 6865
- Joined: 23 Dec 2009, 00:00
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: -
- GitHub: debrouxl
Re: Les divers langages sur les z80
Sujet pour apprendre à compiler du C pour les TI-83(pas +)/TI-82 stat/TI-76 : http://www.yaronet.com/posts.php?s=138500
Aha... ça marche pas sur 83+ ? Et sinon, le C, c'est pas encore plus compliqué que l'assembleur ?
Et sinon, j'ajouterai que si vous souhaitez programmer avec les librairies (et j'en serai ravi parce que j'ai l'impression d'être le seul à le faire), il y a un moyen de ne pas télécharger 5 applications différentes si vous utilisez Omnicalc, Celtic III, PicArc, Xlib et autres à la fois.
Téléchargez le shell Doors CS7, et hop, elles sont toutes résumées.
PS: et comme j'ai envie de chipoter, je vous présente encore une demi-librairie qui n'en est pas vraiment une mais qui permet d'avoir accès a 255 variables de chaque type et a tous les caractères spéciaux: l'application XtraToken. On programme avec en TI Basic, sauf qu'on a plein de variables, et que les programmes fonctionnent ensuite même sans l'appli.
-
PersalteasMembre UPECS
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 2337
- Images: 113
- Joined: 04 Feb 2010, 00:00
- Location: Evry (France)
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: PhD candidate, Bioinformatics
Re: Les divers langages sur les z80
Il est possible de directement faire de l'assembleur en hexadécimal sur la calculatrice, même si c'est très difficile. Le chemin utilisé est soit son édition/assemblage sur ordinateur, soit son édition/assemblage sur l'application Mimas directement sur la calculatrice (mais que TI-83+(silver)/TI-84(+)(silver) du coup).
Ou direct programmer en hexa sur la calculatrice, mais ça m'a l'air plus compliqué. Il y a un tuto en coure d'écriture (et de traduction pour les TI82stats(.fr)/TI83 (non +) ) ici:http://espace-ti.forumactif.com/t576-programmer-en-hexadecimal-c-est-possible
Sandro
mort à l'inutile, place à la mémoire libre et aux programmes!
-
sandro
Niveau 8: ER (Espèce Rare: nerd)- Posts: 183
- Joined: 24 May 2011, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Terminale S SVT spé maths
Re: Les divers langages sur les z80
Juste une remarque. Pourquoi dans Axe, il n'y a qu'une partie "inconvenients" et pas de partie "avantages" ? Quelques autres critiques:
-"si vous n'avez pas l'application, programmer en Axe est moins pratique car les Hooks ne seront pas là (les Hooks permettent de changer la représentation de certains tokens)"
En fait, programmer en Axe sans l'application est impossible.
-"impossibilité de programmer en Axe sur ordi (sauf avec un éditeur TI-Basic, mais il faudra quand même compiler sur une calculatrice, voire une calculatrice virtuelle)"
J'ai codé Pokemon en Axe sur PC grace a TI Convert.
-"ça ne marche que pour les TI-83+(silver) et TI-84(+)(silver), à cause de l'application. Et un programme ainsi compilé ne marche aussi que sur ces modèles"
L'assembleur aussi, une fois compilé ne tourne que sur la calculette pour laquelle il a été compilé. Alors tu diras qu'on peut le compiler pour une autre calculette en changeant juste les adresses des Romcalls. Ben on peut faire pareil avec un programme en Axe (en le decompilant avant).
-Et je ne lis nulle part que l'Axe compilé devient de l'assembleur, ce qui me parait non negligeable.
Le mieux serait de faire comme kindermoumoute l'a dit, une liste objective des avantages et inconvenients pour chaque langage.
-"si vous n'avez pas l'application, programmer en Axe est moins pratique car les Hooks ne seront pas là (les Hooks permettent de changer la représentation de certains tokens)"
En fait, programmer en Axe sans l'application est impossible.
-"impossibilité de programmer en Axe sur ordi (sauf avec un éditeur TI-Basic, mais il faudra quand même compiler sur une calculatrice, voire une calculatrice virtuelle)"
J'ai codé Pokemon en Axe sur PC grace a TI Convert.
-"ça ne marche que pour les TI-83+(silver) et TI-84(+)(silver), à cause de l'application. Et un programme ainsi compilé ne marche aussi que sur ces modèles"
L'assembleur aussi, une fois compilé ne tourne que sur la calculette pour laquelle il a été compilé. Alors tu diras qu'on peut le compiler pour une autre calculette en changeant juste les adresses des Romcalls. Ben on peut faire pareil avec un programme en Axe (en le decompilant avant).
-Et je ne lis nulle part que l'Axe compilé devient de l'assembleur, ce qui me parait non negligeable.
Le mieux serait de faire comme kindermoumoute l'a dit, une liste objective des avantages et inconvenients pour chaque langage.
Pokemon Topaze (Axe) discussion and download links here | (19:29:36) noelnadal: plus sérieusement, j'ai très peu de problèmes (22:45:44) Clifward: J'aime rire du malheur des autres (2017.11.18 - 17:07:12) Fireworks: Hayleia !!!!! (2017.11.18 - 17:07:19) TI-Bot: Fireworks has been logged out (Kicked). (2017.11.18 - 17:07:22) TI-Bot: Ban of user Fireworks revoked. (2017.11.18 - 17:07:25) TI-Bot: Fireworks logs into the Chat. (2017.11.18 - 17:07:28) Fireworks: <3 (2017.11.18 - 17:07:31) Fireworks: 208 |
-
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)- Posts: 2509
- Images: 2
- Joined: 30 Aug 2011, 08:22
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Templar
Re: Les divers langages sur les z80
Ben on peut faire pareil avec un programme en Axe (en le decompilant avant).
dévelloppe...
-
PersalteasMembre UPECS
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 2337
- Images: 113
- Joined: 04 Feb 2010, 00:00
- Location: Evry (France)
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: PhD candidate, Bioinformatics
Re: Les divers langages sur les z80
J'imagine qu'il veut dire compiler, décompiler en ASM (par example avec le débugueur de Wabbitému), changer les adresses mémoires, puis compiler comme si c'était de l'asm pour la TI82stats.
Par contre je n'ai aucune idée si sa marche ou s'il y a des routines dans l'aplication qu'il faudrait rajouter.
Sandro
Par contre je n'ai aucune idée si sa marche ou s'il y a des routines dans l'aplication qu'il faudrait rajouter.
Sandro
mort à l'inutile, place à la mémoire libre et aux programmes!
-
sandro
Niveau 8: ER (Espèce Rare: nerd)- Posts: 183
- Joined: 24 May 2011, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Terminale S SVT spé maths
Re: Les divers langages sur les z80
sandro wrote:Il est possible de directement faire de l'assembleur en hexadécimal sur la calculatrice, même si c'est très difficile. Le chemin utilisé est soit son édition/assemblage sur ordinateur, soit son édition/assemblage sur l'application Mimas directement sur la calculatrice (mais que TI-83+(silver)/TI-84(+)(silver) du coup).
Ou direct programmer en hexa sur la calculatrice, mais ça m'a l'air plus compliqué. Il y a un tuto en coure d'écriture (et de traduction pour les TI82stats(.fr)/TI83 (non +) ) ici:http://espace-ti.forumactif.com/t576-programmer-en-hexadecimal-c-est-possible
Oui, c'est ce que je signifie dans la première phrase que tu as citée, mais peut-être n'est-ce pas assez clair.
Et ce n'est pas seulement compliqué, ça rend la maintenance très difficile, car à chaque ajout, va falloir recalculer toutes les adresses, sans compter le temps pour recopier sur la calculatrice.
Hayleia wrote:Juste une remarque. Pourquoi dans Axe, il n'y a qu'une partie "inconvenients" et pas de partie "avantages" ?
Tout simplement car je n'ai pas mis les avantages dans une liste.
Hayleia wrote:-"si vous n'avez pas l'application, programmer en Axe est moins pratique car les Hooks ne seront pas là (les Hooks permettent de changer la représentation de certains tokens)"
En fait, programmer en Axe sans l'application est impossible.
Bien sûr que si que c'est possible, c'est la compilation qui est impossible sans l'application.
Hayleia wrote:-"impossibilité de programmer en Axe sur ordi (sauf avec un éditeur TI-Basic, mais il faudra quand même compiler sur une calculatrice, voire une calculatrice virtuelle)"
J'ai codé Pokemon en Axe sur PC grace a TI Convert.
C'est bien ce que j'ai dit dans mon message, c'est possède via l'utilisation d'un émulateur et d'un éditeur TI-Basic sur PC.
Hayleia wrote:-"ça ne marche que pour les TI-83+(silver) et TI-84(+)(silver), à cause de l'application. Et un programme ainsi compilé ne marche aussi que sur ces modèles"
L'assembleur aussi, une fois compilé ne tourne que sur la calculette pour laquelle il a été compilé. Alors tu diras qu'on peut le compiler pour une autre calculette en changeant juste les adresses des Romcalls. Ben on peut faire pareil avec un programme en Axe (en le decompilant avant).
Théoriquement, c'est possible, mais je ne sais même pas si ça a déjà été réalisé, et en plus, certaines zones mémoire sont présentes sur un modèle et pas l'autre, il n'y a pas que les romcalls qui changent (je suis bien placé pour le savoir). Et puis en plus, faut passer par plein d'intermédiaires.
Hayleia wrote:-Et je ne lis nulle part que l'Axe compilé devient de l'assembleur, ce qui me parait non negligeable.
C'est un peu le processus même de la compilation, c'est comme si tu disais qu'il faut préciser que râper des carottes donne des carottes râpées. Et ce sujet n'est pas là pour expliquer l'informatique ; pour plus de détails, il suffit de cliquer sur les tutoriels donnés en lien.
Hayleia wrote:Le mieux serait de faire comme kindermoumoute l'a dit, une liste objective des avantages et inconvenients pour chaque langage.
Tu n'es pas obligé de parler en implicite, et encore moins en faisant intervenir quelqu'un d'autre, dis tout de suite ce sur quoi tu n'es pas d'accord de manière explicite, comme ça, on pourra en discuter.
-
mdr1Premium
Niveau 14: CI (Calculateur de l'Infini)- Posts: 1083
- Images: 12
- Joined: 28 Mar 2011, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Je voyage toujours en première.
14 posts
• Page 1 of 2 • 1, 2
Return to News TI-z80 (TI-73, 76, 80, 81, 82, 83, 84, 85, 86)
Who is online
Users browsing this forum: No registered users and 8 guests