Bonjour,
Je viens de sortir de seconde, et les (brefs) cours sur la programmation qu'on a eut m'ont donné envie. J'ai donc fait quelques jeu (snake, pendu, etc...) sur ma calculatrice, une TI-82Stats.fr.
Grâce aux text-sprite, j'ai décidé de faire un packman, mais je rencontre un problème: si le packman est collé à la paroi de gauche ou du haut, il l'efface en s'affichant.
Avec un pxl-Test( et un Ligne(, j'ai réglé le problème, mais le résultat est moche: la paroi s'efface quand le packman se déplace, puis réapparait.Y aurait-il un moyen de "bloquer" un pxl sur une position ou une autre? Sinon, avez vous une autre solution à me proposer?
Merci d'avance pour vos réponses!
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Ven 13 Juil 2012, 14:28
Tu as parlé de la paroi de gauche alors que c'est habituellement celle de droite qui peut poser problème.
La meilleure solution est de modifier les dimensions de la grille de jeu et la position des sprites à l'intérieur.
Pour t'aider sur ces deux points j'ai besoin du code du sprite que tu as utilisé, de l'écartement entre chaque position du sprite, et d'une position de référence du sprite.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Ven 13 Juil 2012, 17:41
Cela revient à modifier la zone de déplacement du sprite.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Effectivement, c'est bien la paroi de droite qui gène.
Je recopie mon code et vous le poste dès que j'ai fini(je n'ai pas le câble, ça risque d'être un peu long)
Merci à tous pour vos réponses!
_ Invité
Posté le : Ven 13 Juil 2012, 19:49
Et voilà le code (sans les ennemis):
:AxesNAff
:QuadNAff
:GraphOff
:FonctOff
:Effdessin
:0->Ymax
:0->Xmin
:-62->Ymin
:94->Xmax
:EffVar L6
:106->dim(L6
:1->L6(25
:2->L6(26
:3->L6(27
:4->L6(35
:3->V
:1->N
:":i[[( ->Chaine1
:"([Ai( ->Chaine1
:"([[i: ->Chaine1
:"([Q!( ->Chaine1
:While V et N<=1 (Un seul niveau pour le moment)
:if N=1
:Ligne(2,-1,92,-1
:Ligne(2,-61,92,-61
:Ligne(2,-1,2,-61
:Ligne(92,-1,92,-61
:Ligne(8,-13,8,-25
:Ligne(8,-37,8,-49
:Ligne(8,-49,14,-49
:Ligne(8,-13,14,-13
:Ligne(14,-19,14,-43
:Ligne(14,-7,14,-13
:Ligne(14,-49,14,-55
:Ligne(14,-7,38,-7
:Ligne(14,-55,38,-55
:Ligne(26,-19,26,-43
:Ligne(26,-19,38,-19
:Ligne(26,-43,38,-43
:Ligne(26,-13,68,-13
:Ligne(26,-49,68,-49
:Ligne(38,-31,56,-31
:Ligne(50,-19,68,-19
:Ligne(50,-43,68,-43
:Ligne(68,-19,68,-43
:Ligne(56,-7,80,-7
:Ligne(80,-19,80,-43
:Ligne(80,-7,80,-13
:Ligne(80,-49,80,-55
:Ligne(80,-13,86,-13
:Ligne(80,-49,86,-49
:Ligne(86,-13,86,-25
:Ligne(86,-37,86,-49
:Ligne(56,-55,80,-55
:for(I, 1, 15
:for(J, 1, 10
:pt-On(61-1, -6J+2
:End:End
:149->G
:{10, 15->dim([A]
:1->B
:8->A
:End
:Remplir(1, [A]
:0->[A](B, A
:0->D
:For(I,1,longueur(Chaine1)-1
:Texte(6B-5,6A-4+I,sous-Chaîne(Chaîne1,I,1
:End
:Chaine1->Chaine5
:1->P
:codeTouche->K
:While G et P
:codeTouche->K
:if L6(K+1
:Then
:L6(K+1->D
:if D=1
:Chaine1->Chaine1
:if D=2
:Chaine1->Chaine2
:if D=3
:Chaine1->Chaine3
:if D=4
:Chaine1->Chaine4
:end
:if D
:Then
:if D=1 et pxl-Test(6B, 6A-4) ou D=2 et pxl-Test(6B-5, 6A) ou D=3 et pxl-Test(6B, 6A+2) ou D=4 et pxl-Test(6B+1, 6A)
:Then
:0->D
:Else
:Texte(6B-5, 6A-3, " "(6 espaces)
:A+(D=3)-(D=1->A
:B+(D=4)-(D=2->B
:For(I,1,longueur(Chaine5)-1
:Texte(6B-5,6A-4+I,sous-Chaîne(Chaîne5,I,1
:End
:if [A](B, A
:Then
:0->[A](B, A
:G-1->G
:End:End:End:End:End
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Sam 14 Juil 2012, 0:16
Je cherche.
Pour l'instant je corrige deux problèmes.
Ensuite j'étudierai la grille : j'envisage d'élargir les couloirs et déplacer le sprite par rapport à eux. Ce sera moins beau mais cela empêchera les effacements des murs.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
=====================
Les pixels en trop à droite sont moches, je propose de modifier les fins des boucles des Text sprites.
Code
:For(I,1,longueur(Chaine1
Le fait est que les fonctions de Text dessinent nécessairement des pixels vierges au dessus et à droite de ceux qui nous intéressent.
Si tu ne veux pas redessiner chaque mur, il faut donc :
-soit utiliser une fonction RappelDessin
-soit en tenir compte dans les dimensions de la grille et dans le positionnement des sprites :
-- élargir les couloirs d'un pixel
-- déplacer le sprite vers le bas et le garder collé sur la gauche des sprites
J'ai essayé de modifier les dimensions mais cela défigure la grille. En fait les grilles d'une dimension seront strictement incompatibles avec celles d'une autre dimension car il n'y aura souvent pas le même nombre de cases.
paramètre les coordonnées des sprites avec : (7B-6,7A-6) et limite A de 1 à 13 et B de 1 à 8
J'ai alors utilisé un RappelDessin gourmand en vitesse.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Le fait est que les fonctions de Text dessinent nécessairement des pixels vierges au dessus et à droite de ceux qui nous intéressent.
Si tu ne veux pas redessiner chaque mur, il faut donc :
-soit utiliser une fonction RappelDessin
-soit en tenir compte dans les dimensions de la grille et dans le positionnement des sprites :
-- élargir les couloirs d'un pixel
-- déplacer le sprite vers le bas et le garder collé sur la gauche des sprites
J'ai essayé de modifier les dimensions mais cela défigure la grille. En fait les grilles d'une dimension seront strictement incompatibles avec celles d'une autre dimension car il n'y aura souvent pas le même nombre de cases.J'ai alors utilisé un RappelDessin gourmand en vitesse.
Ok, (je suppose que quand tu dis RappelDessin, tu veux parler de RappelImage) c'est vrai que je n'avais pas pensé à ça. En tout cas, merci beaucoup pour ton aide!
PS: Est ce que quelqu'un sait programmer en ASM? Si oui, où me conseillerez vous d'aller pour apprendre? (J'ai trouvé un tuto sur le site du zero, mais il concerne les modèles 83+, 83+ SE, 84+, 84+ SE, et l'auteur déconseille le tuto pour ceux qui auraient la TI 83 qui, d'après ce que j'ai compris, est relativement identique, nv programmation, à la TI 82stats )
Merci d'avance!
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Dim 15 Juil 2012, 21:57
J'ai "buggué" quand j'ai écrit "RappelDessin" au lieu de "RappelImage".
S'il y a une erreur de copie, j'aimerais bien que tu la corriges, éventuellement même en postant à nouveau le code (et en appliquant les diverses corrections), cela peut aider à avancer, surtout maintenant que je sais que mes propositions me conviennent.
-----
Les rares programmeurs en assembleur 83 ne viennent plus sur le forum.
Matrefeytontias manipule en priorité l'assembleur 83plus, qu'il traduit tant bien que mal en assembleur 83.
La grande différence est l'existence de romcalls intégrées à la 83plus (mais pas à la 83) qu'on ne peut donc pas utiliser dans une 83.
Le reste se gère en fournissant au compilateur des fichiers include différents et en changeant certaines des adresses utilisées.
C'est difficile... mais c'est possible de passer de l'un à l'autre.
Le compilateur en revanche est le même
Il y a des tutoriels mais ils sont difficiles à trouver et parfois trop peu remplis.
Le seul que je connaisse et auquel je pense actuellement est ASMGURU
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Dim 15 Juil 2012, 23:13
je ne suis pas sur si c'est bien la version anglaise que tu lui as donné (j'arrive pas à ouvrir le fichier d'aide), mais si oui, tu as la traduction en fanaçais ici sous format word : https://ti83.pages-perso.free.fr/lecons/asmguru_vf.zip
---------------------- mort à l'inutile, place à la mémoire libre et aux programmes
_ Invité
Posté le : Lun 16 Juil 2012, 10:39
Merci (c'est sûr qu'en français, ça sera déjà plus facile niveau compréhension)
Au fait: ce tuto est pour les TI 83, est ce qu'il marchera correctement sur ma TI 82stats.fr? Merci d'avance!
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Lun 16 Juil 2012, 12:37
Oui. La 82stat(fr) est une 83 pour tous les logiciels et programmes.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Pour le packman, le RappelImage n'est pas super: le déplacement se fait super lentement, alors avec les ennemis, ça sera super galère. De plus, ça marche bien pour afficher le packman, mais pas pour l'effacer.
J'ai posté également sur un autre site, où on m'a proposé de me faire un affichage du packman en ASM: je pense que c'est la meilleure solution. Lorsque ce sera fait, je vous posterais le code en entier, puis y rajouterais la gestion des ennemis (avec un affichage en ASM également) quand je l'aurais faite.
Bonne journée à tout le monde, et encore merci pour votre aide!
Le but est de superposer (en décalé) des caractères de texte pour dissiner quelque chose.
La méthode la plus utilisée pour les superposer est l'usage d'une boucle For contenant une fonction Text et une sous-chaine.
Et on peut alors jongler avec des chaines de caractère pour changer le dessin à tout moment.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Mes nouveaux programmes de calcul formel : FCarréFPrime
Projet base de données : ici mais abandonné. Trop de travail ...
_ Invité
Posté le : Lun 16 Juil 2012, 19:17
J'ai un pb: j'ai besoin de télécharger TASM et OBJ 83 pour l'ASM, mais quand j'essaye de les lancer, ça me dit que la version que j'ai téléchargée est incompatible avec la version de windows 64bits. (je précise que je suis sous windows 7).
Avez vous une solution? Merci d'avance!
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Lun 16 Juil 2012, 20:28
The K : pense à préciser ton processeur : 32 ou 64 bits ?
Sinon ta déclaration n'est pas rigoureusement utile.
_ : Je n'ai pas utilisé ces logiciels mais je suis habitué aux incompatibilités au moins partielles.
Dans le pire des cas, tu peux demander à quelqu'un de compiler ton code, voire même suivre le tutoriel de matrefeytontias pour traduire toi même en hexadécimal.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Merci pour ton lien
J'ai un peu regardé, mais le problème, c'est que c'est à partir de la TI 83+...
Finalement, j'ai trouvé d'où venait le problème: ma version de windows est trop récente pour ces logiciels, il faut donc utiliser DOSBox pour les faire fonctionner.
Bon, je ne dirais pas que tout marche: le premier programme, qui consiste à faire un effacer écran doit contenir:
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mar 17 Juil 2012, 14:22
Non, le codage hexadécimal est identique pour les ti83 et ti83plus.
C'est pas pour rien que je te l'ai proposé en dernier recours. Ce qui change est l'ensemble des adresses que tu peux utiliser, et souvent cela se corrige en changeant de fichier include.
Si le compilateur n'utilise pas de fichier include choisi par l'utilisateur, alors la conversion devient semble-t-il impossible.
Mais puisque tu parviens à le faire marcher avec DosBox, restons-en au compilateur.
Je ne sais pas si les compilateurs génère directement un fichier 83p ou uniquement la partie hexadécimale.
Je compte apprendre moi-même à m'en servir, je t'aiderai si matrefeytontias ne l'a pas déjà fait. (et si je réussi à le faire)
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
En fait, le compilateur génère un fichier OBJ, que l'on transforme en 83p à l'aide d'un autre programme (OBJ83).
Pour ce qui ne va pas dans mon code( j'ai fait un copié collé de celui du tuto, et j'ai ensuite fait tout ce qui était demandé), je pense que ça viens du fait que lors de ma première tentative, il y a eut 6 erreur. Dans mon fichier tokens.inc, il y avait des carrés blanc, que j'ai supprimé. Pouvez vous me donner un lien vers un fichier tokens.inc valide(le pb viens peut etre de là)? Merci d'avance!
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mar 17 Juil 2012, 21:18
Il ne faut jamais supprimmer quoi que ce soit dans un fichier include (*.inc) même si ton ordinateur ne sait pas le lire.
Cependant tu as supprimmé ces caractères avant ou après avoir observé les 6 erreurs ?
Télécharge encore le logiciel et tu auras un autre fichier include.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Justement, le plus surprennant, c est que j ai eut les erreurs, j ai ete voir aux adresses donnees par TASM, j ai supprime, et les erreurs ont disparues... par contre, le code en hexa n etait pas bon...
J essayerais de trouver ce fichier sur un autre site demain, pour voir si celui que j ai eut n a pas un pb
PS: je me doute bien qu il ne faut pas supprimmer des trucs d un fichier include, mais je me suis dit que de toute facon, il ne marchait pas comme ca alors ... En plus je ne vois pas du tout a quoi peuvent servir ces petits carres
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mar 17 Juil 2012, 22:23
Qu'y a-t-il dans ton fichier *.OBJ ? Si c'est de l'hexadécimal tu n'as pas besoin de t'emmerder avec obj83, il te faudrait juste un éditeur.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
C est effectivement de l hexa
Pour l editeur, TASM marche, c est vraiment le fichier .inc qui pose pb. Mais je vais regarder un peu ce qu il y a dedans: peut etre qu on peu faire sans, en incluant directement dans le fichier source ce dont on a besoin, sans passer par ce fichier?
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mar 17 Juil 2012, 23:31
Je te demande ce qu'il y a dans ton programme en format obj : regarde si cela correspond à ce que tu devrais obtenir dans le programme en format 83p.
Si c'est le cas (et ce n'est vraiment pas certain :S) tu peux le recopier dans un programme 83p et ajouter End:0000:End.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
En fait, le code que j ai mis c est celui contenu dans mon fichier .obj.
Dans le fichier 83p, c est une "traduction" de ce code compatible avec le logiciel Ti et la calto
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mer 18 Juil 2012, 0:19
Oups j'avais mal suivi.
Si tu regardes bien, le code hexa qui t'intéresse est clairement visible dans le fichier obj, excepté "DA" qu'il faut absoluement remplacer par C9.
C'est extrèmement bourrin mais tu dois pouvoir récupérer le code hexa ainsi en supprimmant tout le reste.
Après en collant ça dans un éditeur (avec End:0000:End) ça peut marcher.
Je pense que le fichier que tu as téléchargé est peut-être corrompu si l'include foire.
Si mes propositions précédentes ne suffisent pas, tu devrais réessayer de récupérer un tokens.inc.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
Posté le : Mer 18 Juil 2012, 15:52
Euh ...
* mode useless activé *
Essaie d'envoyer un mail à un programmeur confirmé en ASM83 (deso Linka si je ne t''inclus pas dedans ...). Sur ce forum il y avait -coco- (son mail se trouve dans la liste des membres).
---------------------- La la la ...
Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mer 18 Juil 2012, 16:06
Pas de problème, c'est juste la vérité : je n'ai aucune expérience en programmation assembleur TI.
Si tu as le courage recherche aussi le membre Wirekey.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 848
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Mer 18 Juil 2012, 20:10
Merci pour vos réponses! (c'est _ je suis devenu membre, et ai changé de pseudo du coup )
J'ai envoyé un mail à -Coco-, comme vous me l'aviez suggéré, j'attends sa réponse.
J'ai essayé de chercher un autre tokens.inc, mais impossible de le trouver (je l'ai eut sur le site où j'ai téléchargé ti83asm.inc)
Sinon, pour ta méthode que tu m'a proposé (enlever le début du code, remplacer DA par C9, et mettre End:0000:End), je voudrais essayer, mais le code en hexa du 2eme prgm du tuto n'est pas dessus, il faudrait que je teste le mien sur un émulateur. On m'a suggéré wabbitemu, je l'ai donc téléchargé. Ne sachant pas comment le faire marcher, je me suis rendu sur le tuto de l'espace TI (https://espace-ti.forumactif.com/t509-l-emulateur-wabbitemu). Là on me dit qu'il me faut une ROM. J'en ait déniché une, et ai donc lancé wabbitemu avec. Mais seule une fenêtre verte s'affiche, avec 5 onglets: file view calculator debug help. J'ai cliqué sur Calculator options, et là j'ai essayé de mettre ton skin lapin crétin Linkakro, mais il y a une erreur: skin and Keymap are not the same size.
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mer 18 Juil 2012, 21:51
Télécharge le une nouvelle fois sur la même site pour savoir si c'est le fichier qui est corrompu.
Concernant wabbitemu, tout est dans le tutoriel normalement.
Le skin perso est composé de deux fichiers : une image et une keymap. Il faut donner les deux au logiciel pour que cela marche. Cependant les roms de SilverEdition font bugguer les skins persos...
Le plus simple :
-désactive toutes les options de calculator\option\skin
-coche l'option view\enable_skin
Cela permet d'utiliser les skins par défaut.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 848
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Jeu 19 Juil 2012, 9:59
J'ai fait ce que tu m'a dis, et mon émulateur fonctionne.
Je lui ai envoyé mon programme, mais il fait planter l'émulateur
Quand je lance le prgm (avec send(9 bien sûr ), l'écran s'éteint. Je le ralume, et là il y a marqué: n@eseq(R[sto]P0(
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Jeu 19 Juil 2012, 13:31
Quel modèle de rom as-tu utilisé ?
S'il te plait passe moi les codes source, obj et 83p pour que je teste.
(y compris le nom que tu aurais voulu donner au programme, je crois que cela se retrouve dans le obj)
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Mes fichiers se nomaient MEM.*extension*, et mon prgm: ZMEM
J'ai pris une rom de TI83.
Merci d'avance!
PS: J'ai retéléchargé le fichier tokens.inc, avec le même résultat
EDIT: j'ai une petite question: j'ai vu sur le site du zero qu'il est possible de faire des jeux multi joueurs via un cable... avec l'axe Parser. Est ce que c'est possible en basic? Et sinon, en ASM? Si oui, comment? Merci d'avance!
Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
Posté le : Jeu 19 Juil 2012, 19:29
Si wabbitemu plante C'est que ton programme est pas bon. Mais il devrait t'afficher "RAm cleared" ou un truc similaire ...
Ou ton assembleur à fait très mal à la calculatrice
Par rapport aux jeux multi il existe en basic la fonction CaptVar( [variable] qui permet de capter une variable (variable chiffre, liste, etc ..) d'une autre calculatrice. Elle est cependant relativement lente, a ce qu'on m'a dit. À voir, donc.
Et je pense que si c'est possible en basic ça doit l'être en AsM ...
En tous cas bienvenue sur le forum
En espérant que tu restes avec nous le plus longtemps possible !
---------------------- La la la ...
Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO
Autorisation : Membre
Nb de messages : 848
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Jeu 19 Juil 2012, 20:19
Citer : The K
En tous cas bienvenue sur le forum
En espérant que tu restes avec nous le plus longtemps possible !
Merci à toi, je compte bien rester sur ce forum, car je trouve l'ambiance sympa!
Merci pour la fonction CaptVar. J'éspère qu'elle n'est pas si lente que ça, je comptait faire comme un petit jeu de ping-pong... Il faudrait que je fasse des tests, mais je n'ai malheureusement pas 2 caltos sous la main
Pour le code ASM, on m'a conseillé SPASM comme compilateur au lieu de TASM. A priori, mon pb ne viendrait plus du fichier tokens, mais de ti83asm.inc (décidément, j'ai un pb avec les includes! )
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Ven 20 Juil 2012, 13:54
En basic la fonction CaptVar ne fonctionne que lorsque la seconde calculatrice est en Pause, puis la Pause est désactivée, ce qui oblige dans ce cas à utiliser une pause pour chaque variable.
Je pense que le Basic multijoueur n'est pas viable.
L'assembleur multijoueur est parfaitement possible puisque cela existe. Seulement c'est loin d'être facile et je n'ai aucune maîtrise.
Lorsque j'ai demandé le 83p, je voulais voir ce que la calculatrice lit de ton programme dans le menu Edit, pas le contenu lu par le notepad windows...
J'ai essayé de constituer un 83p à partir du texte mais cela ne marche pas alors j'aurai besoin de savoir ce que lit la calculatrice en éditant...
Ce serait dommage de galérer à cause de la syntaxe.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Ven 20 Juil 2012, 17:52
Tokens.inc ne sert à rien dans ce programme.
La casse de ton code source ne correspond pas à ton ti83asm.inc.
Tu dois respecter les majuscules/minuscules.
Il manque probablement un C9 quelque part.
Il devrait se trouver juste après CD5547CD0D47.
Il manque probablement .org 9327h
Tu devrais utiliser une chaine de 16 caractères pour être sûr qu'elle se stocke correctement dans HL. (comme ni toi ni moi n'avons suffisamment d'expérience...)
Pour cela ajoute 2 espaces après Mem Cleared.
J'utilise spasmgui mais il ne comprend pas "ld".
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 848
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Ven 20 Juil 2012, 19:32
En fait, c'est pas vraiment un retour à la ligne, mais plutôt une tabulation
Du coup, TASM prenait ça pour une directive de compilation...et ca ne marche pas
Autorisation : Membre
Nb de messages : 109
Inscrit le : Lun 25 Jui 2012, 15:51
Posté le : Mar 24 Juil 2012, 23:36
Alors j'explique tout d'un coup :
Toutes les commandes assembleurs doivent commencer par un espace ou tab pour ne pas être prises pour des commandes de préprocesseur.
L'hexa 82 stats et 83+ est le même, le z80, mais les adresses et romcall changent, donc attention à avoir la bonne référence.
Il ne faut JAMAIS oublier de donner le .org à l'assembleur, ici .org $9237, pour qu'il puisse donner la bonne adresse à tes labels. L'absence de calcul automatique pousse d'ailleurs les programmeurs hexa à faire sans labels.
Le programme résiduel de OBJ83 est un programme hexa fonctionnel à éditer sur la calto ; sur un éditeur hexa PC on voit le code hexa des tokens hexadécimaux.
La meilleure manière de programmer en ASM 83 tout en sachant ce que ton code fait et où est de programmer en hexa, donc je peux que t'encourager en ce sens, mais le crayon et le papier sont tes amis : je pense en ASM avant de coder l'hexa.
Donc avec tout ça, si tu pouvais reposer la question de base ça m'aiderait ^^'
EDIT : euuuuh ...
Code
ld (currow)
Dafuq ? Ça existe pas ça ... Essaye ça à la place :