Rechercher
Connexion
Chatbox externe
Derniers sujets
Partenaires
TI-Planet | Espace-TI : Forum |
Faire un don à Tout-82...
Où va cet argent ?
Membres donateurs:- Persalteas (10€)
- Wistaro (5€)
- jo2geek (22€)
Les posteurs les plus actifs du mois
Aucun utilisateur |
Installer un programme assembleur
5 participants
Installer un programme assembleur
Ceci est un tutoriel de Persalteas. Seuls quelques ajouts et la mise en page sont de moi.
Comment installer sur votre calculatrice les nombreux programmes en assembleur (ASM) présents sur le site ?
NOTES IMPORTANTES :
NOTE SUR LES EXTENSIONS : ce qui compte, c'est l'extension dans le PC. Ne vous occupez pas de ce qu'affiche Ti Connect.
Pour Ti 82 :
Je n'ai personnellement jamais testé d'ASM pour 82, mais selon ce qu'on lit sur internet :
L'ASM sur 82 nécéssite un shell obligatoirement (un programme qui lit les programmes en ASM), vous pouvez utiliser Ash ou CRASH (oui très expressif comme nom xD), j'utiliserai plutôt CRASH : il paraît performant aux dires de la communauté 82.
Il est téléchargeable ici.
C'est le fichier .82b (backup de Ti 82) qu'il faut envoyer a votre TI. L'installation de backup suprimera votre mémoire, donc sauvez vos programmes avant.
Pour l'utilisation du shell, je vous laisse lire le fichier "lisez moi.txt" c'est très bien expliqué en Anglais (remarque si vous avez des questions je peux y répondre.)
Envoyez ensuite vos programmes en assembleur sur votre Ti (des programmes en *.82p).
Pour Ti 82 Stats(.fr):
Il existe différentes formes d'ASM:
Le code de ces programmes se compose d'une suite de caractères hexadécimaux puis de:
Ces programmes ne peuvent pas afficher leur code, ou présentent un code composé de symboles incompréhensibles que vous ne devez surtout pas modifier !!
Vous pouvez aussi les lancer avec la commande Envoi(9prgmXXX ou Send(9prgmXXX en anglais, si XXX est le nom du programme.
Note: Sur le site, ces programmes sont signalés avec le logo ...
Ne lancez pas ces progs avec Envoi(9 , ça ne marche pas !! Ces programmes nécessitent un "programme lanceur" pour démarrer (c'est souvent le cas des meilleurs jeux ).
On appelle ces programmes lanceurs des shells.
Le plus célèbre shell est ION, mais il existe SOS, Inferno, Ice, Ashell, et d'autres.
Cependant, tous ces shells étant vieux et pas toujours compatibles entre eux, nous utilisons le shell "Venus" qui est le seul encore mis à jour à notre époque, et qui est compatible avec tous ceux cités ci-dessus.
De plus, il est plus simple à installer que ION, SOS, Ice, etc...
Téléchargez Venus en cliquant ici.
Envoyez simplement les programmes A et ΘV à la calculatrice, et démarrez le programme A pour lancer le shell.
Une liste de vos programmes Stub s'affiche alors, et vous pouvez enfin les lancer
Quittez Venus en faisant [2nde][Mode].
Pour les 83+/84+ (Silver Edition) (pocket) :
Ces calculettes ont été faites pou l'ASM, elles lisent donc l'ASM compilé pour Ti OS sans avoir besoin d'un Shell. Si vous avez un code en hexadécimal, il vous faut le compiler. Dans un prog, inscrivez:
Le programme ZZZ se lancera en faisant Asm(prgmZZZ . Vous pouvez supprimer XXX.
Bien sur, vous pouvez toujours utiliser des shells: les applications MirageOS, DoorsCS 7, ou ION en tant que programme, sachant que les programmes de ION se lancent souvent déjà avec la commande Asm( .
ION.8xp est téléchargeable partout sur internet, je vous laisse chercher.
Pour 83+, il existe aussi des langages aux capacités apparentées à celles de l'Asm (l'Axe est le principal, on compte aussi le Grammer, le BBC Basic...), ainsi que des bibliothèques qui rajoutent des fonctions d'assembleur au Ti basic (Xlib, Omnicalc etc...)
Comment installer sur votre calculatrice les nombreux programmes en assembleur (ASM) présents sur le site ?
NOTES IMPORTANTES :
- On peut envoyer les progs de PC a calculette via Ti connect EN LES FAISANT GLISSER DANS TI DEVICE EXPLORER ET NON PAS EN DOUBLE CLIQUANT DESSUS.
- On peut envoyer sur ces modèles des progs en *.83p seulement si ces progs sont en ASM.
- Tout bug de l'ASM vous forcera a enlever les piles de votre calculette et donc perdre toute la RAM.
- Il est important de comprendre que les programmes ne sont pas compatibles entre les shells et entre shell/calculette seule. (sauf parfois certains progs de ION qui peuvent se lancer avec Envoi9 )
NOTE SUR LES EXTENSIONS : ce qui compte, c'est l'extension dans le PC. Ne vous occupez pas de ce qu'affiche Ti Connect.
_____________________________
Pour Ti 82 :
Je n'ai personnellement jamais testé d'ASM pour 82, mais selon ce qu'on lit sur internet :
L'ASM sur 82 nécéssite un shell obligatoirement (un programme qui lit les programmes en ASM), vous pouvez utiliser Ash ou CRASH (oui très expressif comme nom xD), j'utiliserai plutôt CRASH : il paraît performant aux dires de la communauté 82.
Il est téléchargeable ici.
C'est le fichier .82b (backup de Ti 82) qu'il faut envoyer a votre TI. L'installation de backup suprimera votre mémoire, donc sauvez vos programmes avant.
Pour l'utilisation du shell, je vous laisse lire le fichier "lisez moi.txt" c'est très bien expliqué en Anglais (remarque si vous avez des questions je peux y répondre.)
Envoyez ensuite vos programmes en assembleur sur votre Ti (des programmes en *.82p).
_____________________________
Pour Ti 82 Stats(.fr):
Il existe différentes formes d'ASM:
- Des programmes précompilés en Hexadécimal:
Le code de ces programmes se compose d'une suite de caractères hexadécimaux puis de:
- Code:
:End
:0000
:End
- Les programmes compilés "Nostub":
Ces programmes ne peuvent pas afficher leur code, ou présentent un code composé de symboles incompréhensibles que vous ne devez surtout pas modifier !!
Vous pouvez aussi les lancer avec la commande Envoi(9prgmXXX ou Send(9prgmXXX en anglais, si XXX est le nom du programme.
- Les programmes compilés "Stub", nécessitant un shell:
Note: Sur le site, ces programmes sont signalés avec le logo ...
Ne lancez pas ces progs avec Envoi(9 , ça ne marche pas !! Ces programmes nécessitent un "programme lanceur" pour démarrer (c'est souvent le cas des meilleurs jeux ).
On appelle ces programmes lanceurs des shells.
Le plus célèbre shell est ION, mais il existe SOS, Inferno, Ice, Ashell, et d'autres.
Cependant, tous ces shells étant vieux et pas toujours compatibles entre eux, nous utilisons le shell "Venus" qui est le seul encore mis à jour à notre époque, et qui est compatible avec tous ceux cités ci-dessus.
De plus, il est plus simple à installer que ION, SOS, Ice, etc...
Téléchargez Venus en cliquant ici.
Envoyez simplement les programmes A et ΘV à la calculatrice, et démarrez le programme A pour lancer le shell.
Une liste de vos programmes Stub s'affiche alors, et vous pouvez enfin les lancer
Quittez Venus en faisant [2nde][Mode].
_____________________________
Pour les 83+/84+ (Silver Edition) (pocket) :
Ces calculettes ont été faites pou l'ASM, elles lisent donc l'ASM compilé pour Ti OS sans avoir besoin d'un Shell. Si vous avez un code en hexadécimal, il vous faut le compiler. Dans un prog, inscrivez:
- Code:
:Asmprgm
:code hexa
Le programme ZZZ se lancera en faisant Asm(prgmZZZ . Vous pouvez supprimer XXX.
Bien sur, vous pouvez toujours utiliser des shells: les applications MirageOS, DoorsCS 7, ou ION en tant que programme, sachant que les programmes de ION se lancent souvent déjà avec la commande Asm( .
ION.8xp est téléchargeable partout sur internet, je vous laisse chercher.
Pour 83+, il existe aussi des langages aux capacités apparentées à celles de l'Asm (l'Axe est le principal, on compte aussi le Grammer, le BBC Basic...), ainsi que des bibliothèques qui rajoutent des fonctions d'assembleur au Ti basic (Xlib, Omnicalc etc...)
Dernière édition par blg_flg le Sam 15 Juin 2013 - 13:18, édité 1 fois
blg_flg- Connaisseur
- Messages : 249
Points Concours : 45
Productivité : 6
Date d'inscription : 04/06/2013
Localisation : Pantruche
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Installer un programme assembleur
Y'a des trucs faux là-dedans ...
- C'est pas tous les programmes ASM compilés pour 82 stats qui nécessitent un shell. Si personne ne vous dit qu'un programme ASM en a besoin, c'est qu'il marchera avec Send(9.
- On peut très bien lancer un programme hexa sur 8x+ avec Asm( sans le compiler auparavant.
- On peut très bien envoyer des *.83p à une 82 stats même si c'est un programme Basic.
- ... et en double-cliquant dessus si l'association de fichiers désigne TI-Connect comme programme par défaut pour les *.83p.
- Il est impossible de lancer un programme ION avec Asm( étant donné que le premier octet du header ION est un C9.
- On dit BBC Basic.
matrefeytontias- Connaisseur
- Messages : 150
Points Concours : 35
Productivité : 13
Date d'inscription : 14/06/2013
Re: Installer un programme assembleur
Merci, Matref. Je corrige la minime erreur du BBC Basic, BBCode c'est aut' chose, ouais...
Pour le reste, le tutoriel n'étant pas de moi, je laisse le patron régler tout ça.
Pour le reste, le tutoriel n'étant pas de moi, je laisse le patron régler tout ça.
Dernière édition par blg_flg le Lun 2 Déc 2013 - 12:43, édité 1 fois
blg_flg- Connaisseur
- Messages : 249
Points Concours : 45
Productivité : 6
Date d'inscription : 04/06/2013
Localisation : Pantruche
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Installer un programme assembleur
Tes remarques sont justes, mais dans un tuto, le but n'est pas de dire tout ce qui existe.
Ben oui mais non. Un programme compatible, mais en 8xp pour 82 Stats ou 83p pour 82 t'affichera une erreur de modèle en double cliquant dessus. Autant prendre l'habitude du glisser-déplacer, ça évite bien des soucis
- On peut très bien envoyer des *.83p à une 82 stats même si c'est un programme Basic.
- ... et en double-cliquant dessus si l'association de fichiers désigne TI-Connect comme programme par défaut pour les *.83p.
Re: Installer un programme assembleur
Le terme "précompilé" n'est pas un cadeau, car tu l'utilises visiblement dans le sens "avant compliation" (ce qui est innexact) tandis que dans un autre contexte j'ai cru que quelqu'un voulait dire que c'est une version compilée en avance d'autre chose.
Je ne prend pas la liberté de modifier quoi que ce soit mais des détails me démangent.
Je corrige la faute du End hors de sa balise code.
Globalement ce tutoriel a toujours été aussi pratique.
Je ne prend pas la liberté de modifier quoi que ce soit mais des détails me démangent.
Je corrige la faute du End hors de sa balise code.
Globalement ce tutoriel a toujours été aussi pratique.
Linkakro- ----------------------
- Messages : 533
Points Concours : 55
Productivité : 31
Date d'inscription : 30/07/2013
Localisation : origine région centre, puis perpignan
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Installer un programme assembleur
techniquement, oui, ce que j'appelle "précompilé" est déjà compilé... mais pas dans sa forme la plus brute, puisque les octets sont encore identifiables un par un sous forme de caractères hexadécimaux.
mdr1 ferait la différence entre assemblé et compilé je crois.
Quel terme utiliserais-tu ?
mdr1 ferait la différence entre assemblé et compilé je crois.
Quel terme utiliserais-tu ?
Re: Installer un programme assembleur
Bonne question...
Je pensais m'en tenir à l'opposition stub/nostub, ou encore squished/unsquished, mais je me dis maintenant que cela ne fait qu'apporter plus de difficulté dans le vocabulaire, voire même des défauts.
J'ai eu tort de critiquer trop vite le vocabulaire.
J'aurais bien aimé reformuler le sujet suivant pour lever des ambiguités.
http://tout82.free.fr/forum/sujet.php?sujet=3961
Une petite chose qui peut manquer, serait de dire que la commande AsmComp() n'est pas indispensable.
Je pensais m'en tenir à l'opposition stub/nostub, ou encore squished/unsquished, mais je me dis maintenant que cela ne fait qu'apporter plus de difficulté dans le vocabulaire, voire même des défauts.
J'ai eu tort de critiquer trop vite le vocabulaire.
J'aurais bien aimé reformuler le sujet suivant pour lever des ambiguités.
http://tout82.free.fr/forum/sujet.php?sujet=3961
Une petite chose qui peut manquer, serait de dire que la commande AsmComp() n'est pas indispensable.
Linkakro- ----------------------
- Messages : 533
Points Concours : 55
Productivité : 31
Date d'inscription : 30/07/2013
Localisation : origine région centre, puis perpignan
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Installer un programme assembleur
Ben non elle ne l'est pas, même si elle est pratique pour diviser par deux la taille du programme en octets...
Et de toutes façons, elle n'existe pas sur 82 Stats...
Je me suis toujours demandé si on pouvait compiler un programme en Asm83 sur 83 Plus, puis le renvoyer à une 82 Stats.fr pour l'exécuter...
A priori, oui...
Et de toutes façons, elle n'existe pas sur 82 Stats...
Je me suis toujours demandé si on pouvait compiler un programme en Asm83 sur 83 Plus, puis le renvoyer à une 82 Stats.fr pour l'exécuter...
A priori, oui...
Re: Installer un programme assembleur
Je ne comprends pas ce que tu veux dire par là... (mis à part le fait que je n'aime pas le terme compilé )
Lorsqu'on (bon là je sais pas quel terme utiliser, puisque c'est une commande propre à ce cas, qui permet de réduire par 2 la taille du prgm en associant 2 tokens consécutifs portant chacun un chiffre héxa... A défaut de mieux...) "assemble" un prgm Asm sur 83+, la calto ne fait aucune modification sur le code, elle se contente de regrouper les tokens 2 à 2, afin de former le code en héxadécimal pur. Donc en théorie on peut le passer ensuite à une 83 (ou équivalent), puis le lancer via un shell qui accepte ce type de codage, du moment que les adresses des rom call étaient bien prévues pour 83 et non pour 83+.
Lorsqu'on (bon là je sais pas quel terme utiliser, puisque c'est une commande propre à ce cas, qui permet de réduire par 2 la taille du prgm en associant 2 tokens consécutifs portant chacun un chiffre héxa... A défaut de mieux...) "assemble" un prgm Asm sur 83+, la calto ne fait aucune modification sur le code, elle se contente de regrouper les tokens 2 à 2, afin de former le code en héxadécimal pur. Donc en théorie on peut le passer ensuite à une 83 (ou équivalent), puis le lancer via un shell qui accepte ce type de codage, du moment que les adresses des rom call étaient bien prévues pour 83 et non pour 83+.
m@thieu41- ----------------------
- Messages : 939
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Installer un programme assembleur
On est d'accordA défaut de mieux...) "assemble" un prgm Asm sur 83+, la calto ne fait aucune modification sur le code, elle se contente de regrouper les tokens 2 à 2, afin de former le code en héxadécimal pur. Donc en théorie on peut le passer ensuite à une 83 (ou équivalent), puis le lancer via un shell qui accepte ce type de codage, du moment que les adresses des rom call étaient bien prévues pour 83 et non pour 83+.
Re: Installer un programme assembleur
Essayez ... vous verrez.
matrefeytontias- Connaisseur
- Messages : 150
Points Concours : 35
Productivité : 13
Date d'inscription : 14/06/2013
Re: Installer un programme assembleur
Je pense que la présence de $BB6D dans les programmes binaires de ti83plus rendra bien plus compliquée la manipulation d'échange entre 83 et 83plus que ce que vous semblez imaginer.
Quelqu'un a prétendu que des programmes pour Ion contiennent les tokens "C9" indépendamment du binaire, mais j'en doute fort et j'ai besoin de le vérifier.
Linkakro- ----------------------
- Messages : 533
Points Concours : 55
Productivité : 31
Date d'inscription : 30/07/2013
Localisation : origine région centre, puis perpignan
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Installer un programme assembleur
Je pense que $BB6D doit être supprimé lors de cette pseudo-compilation non? A vérifier effectivement.
Mais par contre c'est vrai que la plupart des shells rajoutent certains "marqueurs" pour repérer quels sont les prgm en asm purs présents sur la calto, donc ça risque de ne pas marcher, le prgm a de fortes chances de ne pas être détecté comme un prgm asm pur par les shells... (par exemple dans l'en tête des prgm ions il y a le titre du prgm et certaines instructions spécifiques).
Edit: En fait il suffit sûrement de rentrer ces instructions/en têtes avec le code avant l' "assemblage" du code depuis la 83+.
Mais par contre c'est vrai que la plupart des shells rajoutent certains "marqueurs" pour repérer quels sont les prgm en asm purs présents sur la calto, donc ça risque de ne pas marcher, le prgm a de fortes chances de ne pas être détecté comme un prgm asm pur par les shells... (par exemple dans l'en tête des prgm ions il y a le titre du prgm et certaines instructions spécifiques).
Edit: En fait il suffit sûrement de rentrer ces instructions/en têtes avec le code avant l' "assemblage" du code depuis la 83+.
m@thieu41- ----------------------
- Messages : 939
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Installer un programme assembleur
Okay alors effectivement, on peut assembler un programme hexa mais il faut enlever le $BB6D pour le rendre compatible 83. Ça peut être facilement avec _delMem, faudra que j'essaye.
matrefeytontias- Connaisseur
- Messages : 150
Points Concours : 35
Productivité : 13
Date d'inscription : 14/06/2013
Re: Installer un programme assembleur
m@thieu41 :
Tu sembles confondre $BB6D qui désigne un programme assembleur binaire et $BB6C qui est le token "AsmPrgm".
La 83plus recherche toujours "AsmPrgm"=$BB6C ou $BB6D pour savoir quoi faire. Et elle transforme $BB6C en $BB6D au moment de convertir tout le reste en binaire pur au travers de la table des tokens alphanumériques.
matrefeytontias :
si tu utilises un programme assembleur pour convertir en binaire pur, autant le faire directement dans une ti83/82stat plutôt que de passer par AsmComp de la 83plus, bien que la routine de conversion en binaire demeure à écrire dans ce cas.
Tu sembles confondre $BB6D qui désigne un programme assembleur binaire et $BB6C qui est le token "AsmPrgm".
La 83plus recherche toujours "AsmPrgm"=$BB6C ou $BB6D pour savoir quoi faire. Et elle transforme $BB6C en $BB6D au moment de convertir tout le reste en binaire pur au travers de la table des tokens alphanumériques.
matrefeytontias :
si tu utilises un programme assembleur pour convertir en binaire pur, autant le faire directement dans une ti83/82stat plutôt que de passer par AsmComp de la 83plus, bien que la routine de conversion en binaire demeure à écrire dans ce cas.
Linkakro- ----------------------
- Messages : 533
Points Concours : 55
Productivité : 31
Date d'inscription : 30/07/2013
Localisation : origine région centre, puis perpignan
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Installer un programme assembleur
Bof de toute façon le $BB6D n'est pas gênant, il fait juste "cp e \ ld l,l", autant dire rien d'important, alors pourquoi s'embêter? (et même si c'était $BB6C ça n'aurait fait qu'un simple "cp e \ ld l,h", autant dire pas grand chose non plus)
m@thieu41- ----------------------
- Messages : 939
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Installer un programme assembleur
Intéressant !!! En effet si l'accumulateur ne sert à rien, on peut se débrouiller sans modifier le fichier.
Et puis j'oubliais que la TI82stat affiche toujours les codes non-protégés contre édition, contrairement à la ti83plus : on peut simplement supprimer les deux premiers octets dans l'éditeur TI-Basic !!!
Et puis j'oubliais que la TI82stat affiche toujours les codes non-protégés contre édition, contrairement à la ti83plus : on peut simplement supprimer les deux premiers octets dans l'éditeur TI-Basic !!!
Linkakro- ----------------------
- Messages : 533
Points Concours : 55
Productivité : 31
Date d'inscription : 30/07/2013
Localisation : origine région centre, puis perpignan
Calculatrice(s) :- TI-82 Stats.fr
. :
Sujets similaires
» Cherche documentation assembleur TI82stat
» [TI83] assembleur additionner 2 registres
» Programme "DROITES"
» Programme de Cryptographie
» Programme de Cryptographie
» [TI83] assembleur additionner 2 registres
» Programme "DROITES"
» Programme de Cryptographie
» Programme de Cryptographie
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
Dim 16 Oct 2022 - 21:11 par Wistaro
» Bonne année 2018!
Ven 2 Nov 2018 - 19:42 par Ti64CLi++
» Lancement du TI-Concours 2017 !
Sam 20 Mai 2017 - 0:27 par Paulo1026
» Chaînes Youtube des membres
Ven 19 Mai 2017 - 22:41 par Wistaro
» cacul du taux d'intêret
Ven 24 Mar 2017 - 21:50 par m@thieu41
» [Projet] Un mario by tout82
Dim 29 Jan 2017 - 14:09 par Wistaro
» Cherche documentation assembleur TI82stat
Mer 25 Jan 2017 - 12:29 par Ti64CLi++
» Probleme Ti-82 Stats fr
Jeu 12 Jan 2017 - 13:56 par Ti64CLi++
» ROM 82 stats.fr
Jeu 15 Déc 2016 - 10:24 par Ti64CLi++