Cherche documentation assembleur TI82stat Hitskin_logo Hitskin.com

Ceci est une prévisualisation d'un thème de Hitskin.com
Installer le thèmeRetourner sur la fiche du thème

Tout 82
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Tout 82

Ven 6 Déc 2024 - Bienvenue,

Rechercher
 
 

Résultats par :
 


Rechercher Recherche avancée

Connexion

Récupérer mon mot de passe



Chatbox externe


Derniers sujets
» [JEU] Mon voisin du dessous
Cherche documentation assembleur TI82stat EmptyDim 16 Oct 2022 - 21:11 par Wistaro

» Bonne année 2018!
Cherche documentation assembleur TI82stat EmptyVen 2 Nov 2018 - 19:42 par Ti64CLi++

» Lancement du TI-Concours 2017 !
Cherche documentation assembleur TI82stat EmptySam 20 Mai 2017 - 0:27 par Paulo1026

» Chaînes Youtube des membres
Cherche documentation assembleur TI82stat EmptyVen 19 Mai 2017 - 22:41 par Wistaro

» cacul du taux d'intêret
Cherche documentation assembleur TI82stat EmptyVen 24 Mar 2017 - 21:50 par m@thieu41

» [Projet] Un mario by tout82
Cherche documentation assembleur TI82stat EmptyDim 29 Jan 2017 - 14:09 par Wistaro

» Cherche documentation assembleur TI82stat
Cherche documentation assembleur TI82stat EmptyMer 25 Jan 2017 - 12:29 par Ti64CLi++

» Probleme Ti-82 Stats fr
Cherche documentation assembleur TI82stat EmptyJeu 12 Jan 2017 - 13:56 par Ti64CLi++

» ROM 82 stats.fr
Cherche documentation assembleur TI82stat EmptyJeu 15 Déc 2016 - 10:24 par Ti64CLi++

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

Le Deal du moment : -56%
Ampli Home Cinema Denon AVR-X1700H à 349€
Voir le deal
349 €

Vous n'êtes pas connecté. Connectez-vous ou enregistrez-vous

Cherche documentation assembleur TI82stat

5 participants

Aller à la page : 1, 2, 3  Suivant

Aller en bas  Message [Page 1 sur 3]

jo2geek


Connaisseur
Connaisseur

Bonjour,

où peut-on se procurer de la documentation (Assembleur) sur Z80 pour ti82stat ?
est-ce qu'il y a quelque-part des tutoriaux ?

Merci !



Dernière édition par jo2geek le Ven 31 Jan 2014 - 7:53, édité 2 fois

Linkakro

Linkakro
----------------------
----------------------

Il est difficile de trouver des documents propres à la 82stat, mais les documents pour 83plus sont courants et ce qui tient au processeur Z80 (le point commun de beaucoup de TI) est facile à trouver.
Et quasiment tout est anglais.

Je voulais t'indiquer le site ClrHome.org mais j'ai des erreurs 403...
Le tutoriel Asmguru existe en français et est assez bien fait avec des applications progressives.
Le tutoriel asm Z80 pour TI83plus (français !) sur OpenClassrooms est très bien mais quelques données doivent être adaptées pour la 82stat.
Cherche dans les travaux de BrandonWilson et BenRyves qui ont réalisé des fichiers (en particulier include) bien utiles pour ti83/82stat.
Je ne te conseille pas les SDKs de TI pour ti83plus qui ne sont pas du tout adaptés à la 82stat, mais cela explique beaucoup de mécanismes du système d'exploitation.
Je te conseille la documentation du fabricant Zilog pour Z80.
Le site TiCalc.org est une mines de ressources, tutoriels, etc.

Autre ???

Tu as besoin au moins de la documentation des instructions du processeur Z80. Il y a des tableaux excellents sur TiCalc.org, mais le meilleur aurait été celui de ClrHome.org. La documentation complète de Zilog80 est presque superflue à côté.

Comparer des includes de ti83 et de ti83plus permet d'adapter tout seul certaines choses des tutoriels comme l'adresse de référence. (celle qu'on déclare avec .org)

jo2geek


Connaisseur
Connaisseur

Bonjour
bizarre j'avais répondu et rien .. je recommence alors Smile
Le site http://clrhome.org/ est de nouveau dispo Smile
je vais voir ce que je peux faire mais comme me mettre à l'assembleur sans doc dédiée exclusivement à la ti82Stat ou 83(simple) si j'ai bien compris me parait une tâche un peu titanesque.
mais on ne va va se décourager de si tôt !
En fait je cherchait un didacticiel pour démarrer de zéro sur ce genre de machine.
à bientôt !

Linkakro

Linkakro
----------------------
----------------------

Je n'ai pas insisté sur le tutoriel Asmguru, mais il est justement dédié aux ti83 et 82stats.
Ce lien donne diverses choses et une version française AsmGuru_VF.
http://ti83.free.fr/lecons/lecons.html

jo2geek


Connaisseur
Connaisseur

Bonjour et merci pour les liens Wink vraiment sympa
je fais mes premiers essais en suivant la doc
mais je rencontre déjà un problème de configuration...
une idée ?
merci
Fichiers joints
Cherche documentation assembleur TI82stat Download?action=showthumb&id=10tasm_errors.png
(7 Ko) Téléchargé 492 fois

m@thieu41

m@thieu41
----------------------
----------------------

Quel est ton code?

jo2geek


Connaisseur
Connaisseur

Bonsoir
celui de la doc de Asmguru le premier exo..  (Tutorial 2)

Effacer l’écran en ASM.

Code:
.NOLIST ; Définie la zone qui n'est pas du code
#define end .end
#define END .end
#define equ .equ
#define EQU .equ
#include "ti83asm.inc"
#include "tokens.inc"

.LIST ; Définie la zone qui est du code
.org 9327h
 call _clrLCDFull
ret
.end

merci


m@thieu41

m@thieu41
----------------------
----------------------

Il ne sert à rien ici d'inclure le fichier "tokens.inc", donc tu peux supprimer la ligne #include "tokens.inc"

Le ret doit être précédé d'un espace, ou d'une tabulation.
J'aurais besoin de tes fichiers "ti83asm.inc" et "tokens.inc" pour t'aider plus...

Je vois que tu utilises TASM, perso j'ai eut du mal à faire mon premier prgm utilisable avec, je te recommande SPASM. Tu peux télécharger un zip assez complet ici (il est de deeph): http://www.mirari.fr/XxiF

Linkakro

Linkakro
----------------------
----------------------

Voici les deux helloworld que j'ai écris (et testé) pour bien illustrer les deux calculatrices.
Les includes pour TI sur internet ne sont pas standardisés, il y a des incohérences. A ce stade je m'en passe encore.
Sâche que les tabulations sont importantes, ce ne sont pas seulement des indentations.
Spoiler:

jo2geek


Connaisseur
Connaisseur

m@thieu41 a écrit:Il ne sert à rien ici d'inclure le fichier "tokens.inc", donc tu peux supprimer la ligne #include "tokens.inc"

Le ret doit être précédé d'un espace, ou d'une tabulation.
J'aurais besoin de tes fichiers "ti83asm.inc" et "tokens.inc" pour t'aider plus...

Je vois que tu utilises TASM, perso j'ai eut du mal à faire mon premier prgm utilisable avec, je te recommande SPASM. Tu peux télécharger un zip assez complet ici (il est de deeph): http://www.mirari.fr/XxiF
J'avais réussi à faire un Efface écran mais un peu la galère.. entre les Include qui ne marchaient pas et les indentations pas présentes (ou non dites) dans la doc...

j'ai essayé ton programme, un peu adapté (light ! ) et super rapide !! au moins 20 fois plus vite que ma première méthode. (pour la compile et le linkage)

En tous cas un grand merci !
Fichiers joints
Cherche documentation assembleur TI82stat Download?action=showthumb&id=11essai.png
premier affichages en assembleur
(39 Ko) Téléchargé 490 fois



Dernière édition par jo2geek le Mer 29 Jan 2014 - 22:55, édité 1 fois

jo2geek


Connaisseur
Connaisseur

Linkakro a écrit:Voici les deux helloworld que j'ai écris (et testé) pour bien illustrer les deux calculatrices.
Les includes pour TI sur internet ne sont pas standardisés, il y a des incohérences. A ce stade je m'en passe encore.
Sâche que les tabulations sont importantes, ce ne sont pas seulement des indentations.
Spoiler:
Merci pour ces programmes que je vais un peu décortiquer.

Tu as raison les include non utiles n'ont rien à faire dans les programmes !

et j'ai galéré pour en trouver un qui ne me sortait pas des messages d'erreur. Comment se fait-il qu'il n'y ait pas de standard ?

voila je crois que vous m'avez aidé à être sur les rails mais la gare est loin et j'aurai sans doute besoin de vous.. (sans abuser)

encore merci

m@thieu41

m@thieu41
----------------------
----------------------

N'hésites pas si tu as besoin d'aide, on essayera de t'aider (même si en asm je débute toujours) Smile

Concernant le fait qu'il n'y ait pas d'include standard, ça vien du fait que les différents Assembleurs (SPASP/TASM/etc) n'utilisent pas rigoureusement les mêmes syntaxes (certains acceptent les "=", d'autres les defines seulement (ou l'inverse), d'autres n'acceptent pas certains caractères, etc). Du coup faire un fichier include standard est délicas (mais ça n'empêche pas qu'il y en ait de très complets).

jo2geek


Connaisseur
Connaisseur

merci de ta réponse c'est sympa Smile
oui évidemment j'ai plein de questions sur l'assembleur.
Je me demande dans quelle rubrique où ce sera le plus judicieux de créer un billet dédié...

Linkakro

Linkakro
----------------------
----------------------

Hélas des différences viennent aussi des gens qui ont étudiés les calculatrices dans leur coin sans attendre l'include offert par TI. Et fait plus poussé que TI parfois. Et quand chacun innove de son côté, les ambiguïtés arrivent.

Je conseille la rubrique d'aide générale à la programmation. Il n'y a pas d'endroit idéalement dédié. Sinon la rubrique du modèle. La rubrique programme asm n'est pas idéale pour poser des questions, mais cela n'empêcherait pas d'y répondre.
Mentionne Asm83 dans les titres.

EDIT: barré la mention d'include que je supposait officiel, à tort.



Dernière édition par Linkakro le Ven 31 Jan 2014 - 1:14, édité 1 fois

m@thieu41

m@thieu41
----------------------
----------------------

Ah je ne savais pas que Ti avait fait un include officiel...
En même temps, ce n'est pas surprenant que les premiers n'aient pas attendu Ti, puisqu'à la base Ti ne voulais pas laisser accéder à l'asm...

Tu aurais un lien vers les include "officiels" de ti par hasard stp? (pour 83/83+)

Linkakro

Linkakro
----------------------
----------------------

Tout à fait. TI n'a pas partagé, les bricoleurs se sont débrouillés.

Je me suis trompé à propos des includes supposés officiels. Je ne détiens aucun include officiel de TI83, il semble que tout soit fait par la communauté.

Je détiens actuellement ces includes de ti83 :
-celui dédié historiquement à tasm, le plus connu semble-t-il : ti83asm.inc.
-token.inc que je crois aller avec celui de tasm
-celui de BrandonWilson
-celui de BenRyves
-un petit include pour le shell Venus
-les includes modifiés par le créateur du shell ION

Les ti83plus disposent de l'include officiel, attention à la version car j'en ai vu deux (1999 et 2002).
Les autres includes sont un vaste bazar réalisé à partir de fichiers distincts, de rassemblements, de shells et applications comme ION, MirageOS, etc. Celui fourni par le shell ION est en fait trafiqué, je crois à partir de l'officiel mais je ne suis plus du tout sûr.

Je ne détiens hélas plus de liens pour tout le vaste CAPHARNAUM que j'ai amassé.

Et je ne suis jamais parvenu à compilé pour le shell ION, probablement à cause de la syntaxe préprocesseur #if qui ne devait pas être compatible avec mon compilateur quand j'ai essayé.

Clarsis


Invité

Je suis désolé de m'imposer mais ayant voulu utiliser les routine de Ion, j'ai voulu compiler Ion.inc. Cependant, j'ai une erreur que je ne comprend pas. Mon code est tout simple et juste pour voir si le fichier include a un problème :

Code:

.LIST
#include "ion.inc"
.org $9327
.NOLIST
 
.end
END

Et SPASM me met plein d'erreur qui me paraissent bizarre et bête mais ne savant pas comment les enlever je me tourne vers vous.

Code:

Pass one...
ion.inc:269: error: 'plotsscreen' isn't a macro or label
ion.inc:269: error: Equates can't have forward references
ion.inc:270: error: 'plotsscreen' isn't a macro or label
ion.inc:270: error: Equates can't have forward references
ion.inc:271: error: 'plotsscreen' isn't a macro or label
ion.inc:271: error: Equates can't have forward references
ion.inc:272: error: 'saferam1' isn't a macro or label
ion.inc:272: error: Equates can't have forward references
ion.inc:273: error: 'saferam1' isn't a macro or label
ion.inc:273: error: Equates can't have forward references
ion.inc:274: error: 'saferam2' isn't a macro or label
ion.inc:274: error: Equates can't have forward references
ion.inc:275: error: 'saferam2' isn't a macro or label
ion.inc:275: error: Equates can't have forward references
ion.inc:276: error: 'progptr' isn't a macro or label
ion.inc:276: error: Equates can't have forward references
ion.inc:277: error: 'imathptr1' isn't a macro or label
ion.inc:277: error: Equates can't have forward references
ion.inc:279: error: '_copygbuf' isn't a macro or label
ion.inc:279: error: Equates can't have forward references
ion.inc:280: error: '_cleartextshad' isn't a macro or label
ion.inc:280: error: Equates can't have forward references
ion.inc:281: error: '_cleargbuf' isn't a macro or label
ion.inc:281: error: Equates can't have forward references
ion.inc:282: error: '_clrlcdf' isn't a macro or label
ion.inc:282: error: Equates can't have forward references
ion.inc:283: error: '_clrscrf' isn't a macro or label
ion.inc:283: error: Equates can't have forward references
ion.inc:284: error: '_copygbuf' isn't a macro or label
ion.inc:284: error: Equates can't have forward references
ion.inc:287: error: 'cmdshad' isn't a macro or label
ion.inc:287: error: Equates can't have forward references
Pass two...
Done
Bin2Var v1.20 by David Phillips <david@acz.org>

'C:\Users\...\SPASM\TUTO.bin' successfully converted to 'C:\Users\...\SPASM\TUTO.83p'
Appuyez sur une touche pour continuer...

Bref, je trouve ça bizarre... ><
Merci pour vos réponses !

Linkakro

Linkakro
----------------------
----------------------

On t'aidera bien sûr mais tu aurais dû créer ton propre sujet.

Tu devrais préciser ton modèle de calculatrice pour être sûr.
Tu devrais montrer au moins quelques unes des lignes concernées du include, pour faciliter la recherche. (ouvre le avec un bloc-note)
Il est probable que la syntaxe utilisée dans cet include soit dans la convention de TASM, différente de celle de SPASM. Si c'est bien le cas il faudra remplacer les mots-clés incompatibles.
Je regarde l'include que j'ai et il semble que le problème vienne d'une tentative d'affectation d'une mnémonique à une autre.
Code:
grbuf      =plotsscreen
Je ne sais pas pourquoi la définition par ce biais ne fonctionne pas. Essaie de remplacer "=" par " .equ " sur quelques unes des lignes et voie si ça change le comportement.

Clarsis


Invité

Je n'ai pas fait de nouveau sujet parce que je pensais que c'était un peu ce que vous parliez avant...

J'ai bien remplacé les = par des .equ malheureusement ça ne change rien, toujours les même erreurs. Mon fichier include est comme tu le mets :

Code:

#endif
grbuf      = plotsscreen
graph_mem   = plotsscreen
gbuf      = plotsscreen
sram      = saferam1
apdram      = saferam1
statram      = saferam2
statvars   = saferam2
vat      =progptr
saferam5   =imathptr1

_grbufcpy   =_copygbuf
_clrtextshad   =_cleartextshad
_grbufclr   =_cleargbuf
_clrlcdfull   =_clrlcdf
_clrscrnfull   =_clrscrf
_bufcopy   =_copygbuf

;---→ Ion Functions
lVectors   =cmdshad+80
ionVersion   =lVectors
ionRandom   =lVectors+3
ionPutSprite   =lVectors+6
ionLargeSprite   =lVectors+9
ionGetPixel   =lVectors+12
ionFastCopy   =lVectors+15
ionDetect   =lVectors+18
ionDecompress   =lVectors+21

C'est là où ça bug... Je ne comprend pas mais ce qui est sûr c'est que ce que tu dis est vrai, c'est bien parce que c'est une convention de TASM.

Linkakro

Linkakro
----------------------
----------------------

Remplacer "=" par ".equ" fonctionne-t-il, alors ?
Je ne trouve ni "=" ni ".equ" dans la documentation de spasm.

Clarsis


Invité

Non, ça ne marche pas. C'est bizarre et dommage, les routines d'ions avaient l'air inintéressantes.Et puis je suis surtout embêté quant au Sprite, tu n'aurais pas une autre façon de les afficher ?

Linkakro

Linkakro
----------------------
----------------------

As-tu laissé un espace entre ".equ" et la suite quand tu remplaces le "=" ? Il en faut.

Tu peux toujours remplacer ces notations d'equation par des directives define.
Code:
#define plotsscreen 9340h
#define grbuf plotsscreen
Ou bien écrire les valeurs en dur au lieu de les définir les unes en fonction des autres.

Non je ne maîtrise pas les sprites. J'ai mes propres problèmes et manque de temps donc je ne pratique pas assez pour progresser.
Le tutoriel d'assembleur Z80 pour TI chez OpenClassrooms fournit une routine de sprite toute faite.
Ta mention "Sprite" est-elle une routine précise ?

m@thieu41

m@thieu41
----------------------
----------------------

C'est le début du fichier? Normal que ça ne marche pas: plotsscreen etc ne sont pas définies, donc faire grbuf = plotsscreen ne peut pas marcher: TASM cherchera à remplacer grbuf par plotsscreen mais ne trouvera pas de valeur associée...
Il faudrait utiliser un define, comme le fait Linka, ou bien placer ces lignes après la définition de plotsscreen...
Je peux te passer mon fichier ion.inc si tu veux (il marche sur SPASM je ne sais pas pour TASM mais il me semble que oui):
https://www.mediafire.com/?g940u5eblhd46z1
Pour les sprites, tu peux trouver une routine équivalente sur openclassrom comme le signale Linka, tout comme pour toutes les routines proposées par ion (IonFastCopy est sur wikiti, tout comme la routine d'aléatoires).

Linkakro

Linkakro
----------------------
----------------------

Merci M@thieu41, maintenant j'ai compris le problème présent.

Personne n'a pensé à placer un #define TI83 ou #define TI83P avant le header ion.inc donc aucune des equations fondammentales n'étaient définies puisqu'aucun #ifdef n'était valide.

Le batch fournit par le créateur de ION effectue une définition dans le code source en ajoutant des #define au code source.
Donc il faut s'occuper de ces define ou bien utiliser un BATCH approprié avec Spasm.

La question de la convention d'écriture TASM vs SPASM demeure en revanche.

Clarsis


Invité

Hey, j'ai remplacé les = par des #define au début de la ligne et ça marche ! Merci beaucoup !
Par contre, juste un truc, coment on défini que c'est une 83 ? #define 83 ? Nan je ne pense pas quand même Razz

Clarsis


Invité

Oulha, c'est bon j'ai trouvé comment faire pour le #define, oubliez... par contre ce code fait crasher ma calculatrice :

Code:
.LIST
#define TI83
#include   "ionVT.inc"
.org $9327
.NOLIST
   ld b,100
   call ionRandom
   ld h,0
   ld l,a
   call _disphl
   ret
.end
END

Et je ne vois pas ce qui ne marche pas. Vous avez une idée ?
Pas d'erreur de compilation, mais un beau crash au moment où on l’exécute ^_^

Linkakro

Linkakro
----------------------
----------------------

Probablement parce que les ti flash exécutent les routines avec bcall en temps normal. Je ne sais pas si l'include ion donne les addresse directes ou l'adresse au travers de bcall.
bcall(_disphl)
avec #define bcall(xxxx) rst 28h \.dw xxxx

Clarsis


Invité

Je n'ai pas tout compris mais j'ai essayé de faire bcall ionRandom mais ça n'a pas marché. Mais je ne sais pas si les routines ne que pour Ti83+

Linkakro

Linkakro
----------------------
----------------------

As-tu utilisé bcall(x) aussi pour l'autre appel ?
Je pensais l'utiliser pour l'affichage mais pas le random.
Mais utilise bcall(x) plutôt pour les deux.

Il se trouve que les Ti83plus disposent d'une routine disponible avec "rst 28h" (que j'appellerai ci-après b_call) et ion.inc contient la macro bcall(x) pour l'utiliser dans les 83plus.
TI a prévu que les TI83plus utilisent toujours b_call même si ce n'est pas indispensable, puisque call peut fonctionner.
Il se trouve par ailleurs que les adresses des routines à utiliser avec b_call ne sont pas les mêmes que celles à utiliser avec call.

m@thieu41

m@thieu41
----------------------
----------------------

Vu qu'il utilise #define TI83, il n'y a pas à ce soucier de ce détail, qui ne concerne que les ti flash... Lorsqu'on code avec ion exclusivement pour ti non flash (ti 83 ou équivalent donc), on peut utiliser indifféremment bcall ou call, dans l'include de ion il y a ce qu'il faut pour que le compilo comprenne.
Par contre si tu code pour TI 83+ et pour TI 83 (ou pour 83+ uniquement), il faut faire attention à la distinction: bcall XXX pour une rom call XXX présente dans la calto, et call XXX pour appeler une de vos routines personnelles (routines de ion comprises).

Les routines d'ion sont installées sur la calto en même temps que l'installation d'ion, donc elles sont disponibles sur 83 du moment qu'ion y est installé.

Du coup vient la question: quel est le modèle de ta calto?

Et aussi concernant NOLIST/LIST: NOLIST permet de définir une portion de code qui ne sera pas dans le fichier .list, et LISTY permet de définir ce qui sera dans le fichier .list.
Donc il est judicieux de mettre NOLIST concernant les parties de code dont on est sur qu'il n'y a pas d'erreurs (les includes notamment), et LIST quand on est pas sur (le prgm en lui même).
.NOLIST
Code:
#define TI83
#include  "ionVT.inc"
.org $9327
.LIST

Petit détail sans importance: tu n'as pas besoin de mettre 2* "end" à la fin du prgm, un seul suffit.

Maintenant recompile avec le détail du LIST/NOLIST et passe moi le contenu du fichier .list pour voir ce qui ne va pas.

Contenu sponsorisé



Revenir en haut  Message [Page 1 sur 3]

Aller à la page : 1, 2, 3  Suivant

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum