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
Mar 10 Oct 2017 - 19:42 par Wistaro

» 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++

» flappy bird
Jeu 15 Déc 2016 - 10:23 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
Wistaro
 


WLib : Topic de dev

Page 1 sur 6 1, 2, 3, 4, 5, 6  Suivant

Voir le sujet précédent Voir le sujet suivant Aller en bas

WLib : Topic de dev

Message par matrefeytontias le Mer 28 Aoû 2013 - 18:06

Hello les gens Smile

J'ai l'honneur d'inaugurer ce sous-forum avec le premier programme ASM du site, WLib !

Y'a un petit moment, je me suis pris de pitié pour les pauvres 82 stats/83 qui n'avaient rien pour les aider à programmer en Basic ... J'ai donc décidé aujourd'hui de remédier à cela ! Very Happy

WLib est un programme ASM comparable à XLib ou Celtic : il permet d'utiliser des fonctions supplémentaires en plus des fonctions du TI-Basic. Je crois que je peux appeler ça du Basic étendu.

Alors vu que je n'ai pas d'ordi en ce moment, j'ai dû encore une fois tout faire en hexa avec mon bon vieil émulateur sur mon téléphone. Conséquence : il n'y a pour l'instant que deux fonctions utilisables :P

Voilà donc comment marche le truc : vu que sur les 82 stats/83 y'a pas de parser hook (ce qu'utilise les libs de basic étendu pour changer l'effet de fonctions TI-Basic, comme det( ou conj( ), il faut charger les arguments et numéro de la fonction à appeler, puis lancer Send(9prgmWLIB).

Là où je suis fier de moi c'est que tous les arguments d'une fonction sont passés par la liste LPARAM, que vous créérez pour l'occasion :PWLib va allez directement pêcher les arguments dans cette liste. Si LPARAM n'existe pas au moment de l'appel d'une fonction qui nécessite des arguments, la fonction ne fera juste rien. Par contre, si y'a pas assez d'arguments ... Big bordel (même si pour l'instant la seule fonction qui prend des arguments n'en attend qu'un :P)


Assez parlé, et place au code ! À recopier sur la calculatrice pendant que c'est assez court pour être possible, NON COMPATIBLE TI-83+/84+ MAIS UNIQUEMENT TI-82 STATS/83 :

Code:
CDDC4E
CDFC4E
7B
FE02
D0
6F
2600
29
118093
19
7E
23
66
6F
E9

010003
21298E
7E
2F
77
23
0B
79
B0
C8
18F6

CD8493
D8
EB
23
23
E7
CDFC4E
4B
42
C5
21298E
112A8E
3600
010B00
EDB0
C1
C5
211C91
112891
01F402
EDB8
CD9C4B
C1
0B
79
B0
C8
18EA

3E93
4E93

218C93
E7
CD2A44
C9

015D504152414D0000
End
0000
End

Exemple en Basic :

Code:
:ClrDraw
:0:Send(9prgmWLIB
:64->LPARAM(1)
:1:Send(9prgmWLIB

Liste des fonctions disponibles :


  • invScreen (fonction 0) : inverse les pixels de l'écran. N'attend aucun argument
  • shiftDown (fonction 1) : scrolle l'écran vers le bas. Attend comme seul argument le nombre de lignes à scroller.


Voilà, je serai plus efficace à bosser dessus quand j'aurai mon PC :Pceci dit, le système d'argument et de reconnaissance de fonction est déjà bouclé, donc ça devrait se limiter à "ajouter des fonctions jusqu'à plus d'idées".


Enjoy Very Happy


Dernière version + documentation ici : http://mattias.refeyton.fr/espace-ti/Wlib/Wlib.zip


Dernière édition par matrefeytontias le Dim 9 Fév 2014 - 17:10, édité 1 fois

matrefeytontias
Connaisseur
Connaisseur

Messages : 150
Points Concours : 35
Productivité : 13
Date d'inscription : 14/06/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: WLib : Topic de dev

Message par Wistaro le Mer 28 Aoû 2013 - 18:59

Merci!
Mais pourquoi NON COMPATIBLE TI-83+/84+ ?

__________________________________________________________________________
Clique ici pour retrouver tout mes programmes en TIbasic

Tu es curieux, Invité? Alors clique ici:


Coucou Invité !Ta dernière visite sur ce forum date de . Tu as posté un total de 78 message(s) sur Tout 82 et enfin, tu as 0 ans.
Si nous sommes le 0, je te souhaite un joyeux anniversaire ;-)

avatar
Wistaro
Passioné
Passioné

Messages : 910
Points Concours : 86
Productivité : 28
Date d'inscription : 16/06/2013
Localisation : Tarbes - DUT GEII
Calculatrice(s) :
  • TI-82
  • TI-82 Stats
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur http://www.youtube.com/user/Wistaro

Revenir en haut Aller en bas

Re: WLib : Topic de dev

Message par m@thieu41 le Mer 28 Aoû 2013 - 19:20

Parce que c'est de l'hexadécimal, de l'asm "compilé" (c'est pas vraiment juste mais je ne sais pas comment dire) pour la Ti 82stats/83, et que les adresses des fonctions ne sont pas les mêmes sur la ti 83+/84+, donc tu fais planter ta ti...

Matref a écrit:Par contre, si y'a pas assez d'arguments ... Big bordel
Pourquoi donc?
Il suffit de vérifier que la taille de la liste corresponde et c'est tout non? Je ne sais pas quelle rom call tu utilises pour récupérer l'adresse de la liste mais normalement elle devrait aussi renvoyer sa taille dans un registre non? (ou sinon la taille doit etre dans la VAT ou au début de la liste je ne sais plus)

__________________________________________________________________________
ZSNAKE Mon premier (et unique) jeu en ASM:
Un Snake 2 joueurs (2caltos)
-> Je travaille sur une version plus stable du jeu, je poste dès que possible.
avatar
m@thieu41
----------------------
----------------------

Messages : 934
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: WLib : Topic de dev

Message par matrefeytontias le Mer 28 Aoû 2013 - 19:23

Parce que WLib utilise des ROM calls, et que les adresses de ces dernières changent entre les 82 stats/83 et les 83+/84+ (en plus d'autres trucs en rapport avec les adresses).


M@thieu41 : j'aurai pu, mais n'ai pas pensé à ajouter cette protection, puis ne l'ai pas fait puisque ça aurait bougé toutes les adresses relatives (labels etc).

matrefeytontias
Connaisseur
Connaisseur

Messages : 150
Points Concours : 35
Productivité : 13
Date d'inscription : 14/06/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: WLib : Topic de dev

Message par m@thieu41 le Mer 28 Aoû 2013 - 20:11

Ah la la... voilà pourquoi l'asm non compilé c'est mieux que l'hexa compilé tongue 
En plus tu aurais pu avoir une compatibilité avec la 83+/84+ Wink

__________________________________________________________________________
ZSNAKE Mon premier (et unique) jeu en ASM:
Un Snake 2 joueurs (2caltos)
-> Je travaille sur une version plus stable du jeu, je poste dès que possible.
avatar
m@thieu41
----------------------
----------------------

Messages : 934
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: WLib : Topic de dev

Message par matrefeytontias le Mer 28 Aoû 2013 - 20:16

Sans blaaaaagues, je te rappelle que j'ai que l'émulateur de TI-83 sur mon téléphone pour programmer, j'ai pas d'ordi jusqu'à Lundi.
EDIT : je précise parce que je me suis mal fait comprendre apparamment, WLib se veut un programme pour une base de Basic étendu. La TI-83+/84+ en a pas du tout besoin, y'a déjà XLib, Celtic III, les DCSB libs... WLib est ciblé TI-82 stats/83.

matrefeytontias
Connaisseur
Connaisseur

Messages : 150
Points Concours : 35
Productivité : 13
Date d'inscription : 14/06/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: WLib : Topic de dev

Message par m@thieu41 le Mer 28 Aoû 2013 - 20:45

Bien sur, mais ça permettrait une compatibilité pour les prgm qui utiliseront ta librairie de basic étendu, ce que les autres ne permettent pas Wink

__________________________________________________________________________
ZSNAKE Mon premier (et unique) jeu en ASM:
Un Snake 2 joueurs (2caltos)
-> Je travaille sur une version plus stable du jeu, je poste dès que possible.
avatar
m@thieu41
----------------------
----------------------

Messages : 934
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: WLib : Topic de dev

Message par matrefeytontias le Mer 28 Aoû 2013 - 20:55

Effectivement, c'est une possibilité, j'y avais pas pensé Smile je peux donc finir complètement une des deux versions, puis tout simplement la recompiler en changeant de fichier include :P

Et ainsi naîtra la première lib de basic étendu pour TI z80 non flash, et la seule qui soit cross-compatible o/

EDIT : j'y pense, comme je n'ai aucune idée de ce dont un programmeur Basic a besoin, lâchez toutes vos idées de fonctions à implémenter, mais éviter de proposer une fonction parce que vous avez en tête un programme qui l'utilise...

matrefeytontias
Connaisseur
Connaisseur

Messages : 150
Points Concours : 35
Productivité : 13
Date d'inscription : 14/06/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: WLib : Topic de dev

Message par m@thieu41 le Mer 28 Aoû 2013 - 22:57

Je te donne quelques idées en vrac :
_Afficher un sprite (en mode or, xor ou and),
_Créer un programme et son contenu,
_Vérifier l'existance d'un programme,
_Modifier/Récupérer les données d'un programme,
_La saisie directe d'une touche,
_Eteindre la ti,
_Controler l'etat des piles/mémoire...

Certains ne servent pas toujours, mais peuvent être intéressants dans certains cas. La fonction d'affichage de sprite peut être très intéressante, mais il faut voir comment transmettre les données du sprite sans utiliser trop de mémoire...

__________________________________________________________________________
ZSNAKE Mon premier (et unique) jeu en ASM:
Un Snake 2 joueurs (2caltos)
-> Je travaille sur une version plus stable du jeu, je poste dès que possible.
avatar
m@thieu41
----------------------
----------------------

Messages : 934
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: WLib : Topic de dev

Message par Linkakro le Jeu 29 Aoû 2013 - 20:52

m@thieu :
un sprite 8*8 ça prend 8 octets donc 16 quartets, c'est pas dramatique d'écrire ça en 16 tokens dans l'éditeur BASIC. Et 16 en décimal ça prend maxi 2 tokens, on va dire 32 tokens.
Donc du 8*8 tient en 16 ou 32 tokens, c'est pas dramatique.
Si tu veux faire plus grand, tu peux faire une tilemap, ou utiliser une Pic (ou autre donnée bien choisie voire préparée à l'ordinateur)

Les modes "or,xor,and" c'est en anglais ce que j'appelle "set,toggle,reset". Je sais pas ce que tout le monde utilise...

matrefeytontias :
Tiens c'est pas la première fois qu'on parle (mais sur espace-ti) de librairie de basic étendu à utiliser sans hook... mais tu es sûrement le premier à te lancer. Wink 

Je te conseillerais plutôt une liste personnalisée contenant "WLIB" dans son nom.

*** Je crains que les idées sur la syntaxe et les variables aillent vraiment trop loin...

Des fonctions de gestion (création,affectation,suppression, test d'existence, renommage,...) pour tout ce que TI ne fait pas (programmes par exemple et surtout test d'existence de n'importe quoi).

Eventuellement usage de pointeurs (nombres) pour indiquer des données.

J'hésite entre tout faire à partir de fonctionnalités ou permettre au lecteur de liste d'interpréter en fonction de types qui seraient indiqués.
la première serait probablement plus simple à créer, l'autre peut-être plus simple et rapide à executer.

Accéder à des variables "pirates" comme celles de XtraToken ou les programmes que tu dissimules avec HIDE.
>gestion (affectations, suppressions, nom,test d'existence, renommage)
>que les autres fonctions de gestions soient déclinée pour ces variables pirates
>>copie dans une variable standard et visse-versa
>>utiliser pointeur

Pouvoir donner des informations sous forme de chaînes, en indiquant dans la liste des numéros pour dire dans quelle chaîne se trouvent les informations qu'on donne. (ou pointeur ou encore plus tordu pour des chaines pirates)
(Je sais que tu ne voudras pas utiliser Ans, tu l'as déjà rejetée de ma part sur espace-ti)

concepts sur les variables:
Je me pose des questions sur la façon dont la liste doit être interprétée. Je pense permettre aussi bien mes idées de fonctionnalités que d'autres. En fait on prévoit des syntaxes à utiliser systématiquement.

Faut-t-il un nombre identificateur de fonction pour chaque type d'argumment même si le but est le même ?
Un argument peut-il modifier la manière dont la suite sera interprétée ?

Je pense aux choses suivantes, en considérant que j'écrit des listes insérables dans d'autres listes.
Parfois on pourrait donner des informations différentes dans un même argument, cela demande plus de prévisions...

Commençons par des exemples de données légales (pas pirate)
Un type constant (pour éviter de toujours affecter en basic avant d'executer)
{type,valeur}
Pour les énumérables  (chaine,liste,matrice,equationdecourbe,...)
{type,indice}
Pour les programmes et listes persos, attendre une désignation de chaine pour le nom
{type_indenombrable,{chaine}}

On pourrait donner un indice suppérieur à ceux normaux pour désigner des variables pirates.
Sinon il faudrait signaler un type pirate, le type de variable, et des informations pour désigner le token affichée qu'on aurait classé d'une façon ou d'une autre.

On n'aura pas de besoin de variable pirate pour les listes personnalisées, mais pourquoi pas pour les listes standards et légales.

La désignation pirate en ce qui concerne un programme devrait en fait être qu'il soit caché ou pas par la méthode de HIDE.
J'envisage de faire comme Hide avec deux noms équivalents et exclusifs l'un devant l'autre, l'utilisateur donnant celui qui ne serait pas caché.
{type_pirate,type_program,{chaine}}

pointeurs:
Que le type puisse aussi dire qu'on va donner un pointeur vers la variable ?
{type_pointeur_constant, pointeur_constant}
Et si ce pointeur est contenu dans une variable numérique ?
{type_pointeur_var, {pointeur},}
au risque qu'un inconscient en imbrique plein...
***

Une fonction pour insérer dans une chaine (désignée en argument) le token portant le numéro fourni en argument !!!!
Eventuellement prendre une liste de numéros pour pouvoir créer facilement une chaine spéciale réutilisable en Basic sans Wlib.

Des fonctions de pixels qui supportent de dépasser de l'écran sans planter.

Une fonction d'écriture qui permette d'écrire avec des arguments similaires à printf en language C, en utilisant une chaine de caractères.
Je désire très fort pouvoir contrôler
-retour à la ligne manuel et/ou auto
-les variables à intégrer
-permettre de récupérer les coordonnées de la fin dans des variables numériques
-que des caractères puissent dépasser de l'écran sans planter
D'ailleurs la saisie des données peut être répartie entre la chaine et la liste... du genre texte dans chaine et variables dans la liste, ou même dans une autre liste qu'on désignerai dans celle des paramètre.

Permettre d'effectuer certaines actions en utilisant une variable chaîne au lieu que ce soit en dur comme l'habitude du Basic.
>les executions de programmes
>les accès (lecture/écriture/) aux listes personnalisées
>>Cependant on peut se débrouiller sans si on a des fonctions de gestions comme j'ai parlé plus tôt.

Sauver et rappeler l'emplacement de la lecture du programme ?
Je ne sais pas encore dans quelles situations cela serait utile et irremplaçable.
Cela éviterait juste à Persalteas d'utiliser une variable et des Goto dans Herssahe.
Je pense que ce serait fiable tant qu'on n'a pas modifié le programme entre temps.

Pouvoir effectuer sur des matrices des tests entre termes et sur des listes des tests globaux.

Executer un programme qui contient uniquement des listes snas devoir appeler WLIB entre chaque ligne.
(pour chaque ligne forcer la TI à executer les listes comme du basic, en utilisant la pile pour sauver l'état précédent de l'interpréteur Basic)

Un break pour des boucles.


Je cale cette fois, l'après midi a été longue. A plus.

__________________________________________________________________________
Vétéran du TI-Basic Zilog80. Ti82statfr sur Tout82 depuis 2009 et ti84pocketfr depuis noël 2012. Ti83plusfrUSB (été 2014, concours tiplanet suite du geek). Bidouille un peu d'assembleur Z80.
Incappable de gérer le temps et manque de tact, plutôt serviable.
Je prend les commandes de programme. Je suis motivé par les maths et la physique tant que ce n'est pas une simple copie d'antisèche.
Vous pouvez trouver une grande partie de mes données hébergées dans mon mediafire. Le ZIP et la liste sont périmées depuis longtemps.
coucou Invité What a Face
avatar
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

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: WLib : Topic de dev

Message par matrefeytontias le Jeu 29 Aoû 2013 - 21:35

Alors la moitié des trucs que tu as demandé est infaisable par moi :P Je te rappelle que je suis pas Xeda ou tr1p1ea moi ...

Ce que je ne ferai pas :

Impossible d'utiliser des pointeurs ; impossible de push/pop des adresses, le Basic est bien plus compliqué que ça ; impossible de passer des arguments de types multiples, les listes ne peuvent contenir que des nombres (mais j'ai mon idée) ; laisse tomber printf ; une fonction automatisée d'exécution de chaîne, y'aura qu'à la copier dans un programme puis l'exécuter ; les variables pirates (trop dur à gérer) ; j'en oublie sûrement.

Ce que je ferai sûrement :

Supports des sprites (sauf AND, et pas clippés) ; pixels clippés (OR/XOR/AND) ; tout faire avec les programmes et appvar (sauf renommer et cacher, faudra utiliser ZHIDE) ; l'exécution chaînée (exécution de plusieurs fonctions de WLib à la suite, tant qu'il y a pas à changer les arguments ...) ; allumer/éteindre l'écran (le programme tourne toujours ... Faut pas oublier de le rallumer avant de quitter) ; du tilemapping ; et j'en oublie sûrement.

Par contre soyez bien conscients que ça arrivera pas dans un mois hein.

Pour le passage d'arguments autre que des nombres, j'ai pensé à une manière. Exemple, on veut afficher en (0;16) le sprite dans Str1 :
Code:
:"3C4281818181423C->Str1
:0->LPARAM(1)
:16->LPARAM(2)
:1->LPARAM(3)        // utiliser le sprite dans Str_1_
:xxx:Send(9prgmWLIB
Il faudra évidemment savoir quel argument de quelle fonction correspond à quoi, mais c'est le plus léger et rapide à l'écriture comme à l'exécution.

matrefeytontias
Connaisseur
Connaisseur

Messages : 150
Points Concours : 35
Productivité : 13
Date d'inscription : 14/06/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: WLib : Topic de dev

Message par Linkakro le Ven 30 Aoû 2013 - 5:04

Je vois que je me suis mal exprimé ou que j'ai noyé le poisson :
je voulais justement proposer de stocker une chaine puis dire dans la liste paramètre quelle variable chaine utiliser.
{idfonction,indice_chaine}
J'essayais de m'économiser des définitions de cas en disant d'inclure les syntaxes les unes dans les autres. A tous les coups tu as lu un "{chaine}" qui ne t'a pas éclairé. Cela revenait à dire d'inclure "type,indice"

Je préfère demander/proposer pour rien que taire quelque chose qui pourrait intéresser.
J'ai émis la plupart des choses que je désire et des idées qui ne me tienne pas à coeur. Ex : Les pointeurs je m'en fiche mais je me disais pourquoi pas, la gestion de variables (genre liste) dont le nom est dans une variable (chaine en l'occurrence) m'intéresse beaucoup.

Prend ton temps et tes moyens. J'encourage.

__________________________________________________________________________
Vétéran du TI-Basic Zilog80. Ti82statfr sur Tout82 depuis 2009 et ti84pocketfr depuis noël 2012. Ti83plusfrUSB (été 2014, concours tiplanet suite du geek). Bidouille un peu d'assembleur Z80.
Incappable de gérer le temps et manque de tact, plutôt serviable.
Je prend les commandes de programme. Je suis motivé par les maths et la physique tant que ce n'est pas une simple copie d'antisèche.
Vous pouvez trouver une grande partie de mes données hébergées dans mon mediafire. Le ZIP et la liste sont périmées depuis longtemps.
coucou Invité What a Face
avatar
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

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: WLib : Topic de dev

Message par Wistaro le Ven 30 Aoû 2013 - 20:29

Merci de m'avoir répondu

__________________________________________________________________________
Clique ici pour retrouver tout mes programmes en TIbasic

Tu es curieux, Invité? Alors clique ici:


Coucou Invité !Ta dernière visite sur ce forum date de . Tu as posté un total de 78 message(s) sur Tout 82 et enfin, tu as 0 ans.
Si nous sommes le 0, je te souhaite un joyeux anniversaire ;-)

avatar
Wistaro
Passioné
Passioné

Messages : 910
Points Concours : 86
Productivité : 28
Date d'inscription : 16/06/2013
Localisation : Tarbes - DUT GEII
Calculatrice(s) :
  • TI-82
  • TI-82 Stats
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur http://www.youtube.com/user/Wistaro

Revenir en haut Aller en bas

Re: WLib : Topic de dev

Message par matrefeytontias le Mar 3 Sep 2013 - 23:38

Bump,

Je me suis occupé de plusieurs choses qui ne seront donc pas à faire plus tard : l'indirection fonctionne (exemple, passer 3 en paramètre pour indiquer Str3), θ sera utilisée comme variable de sortie (j'ai bouclé la routine qui lui assignera 0 ou 1), et j'ai mis en place une sécurité qui arrête la fonction en cas d'un nombre d'arguments insuffisants.

Également, la vérification de l'existence d'un programme fonctionne. J'ai bien peur que la lib devienne un peu beaucoup trop grosse pour être recopiée à la main (rien que là elle fait environ 350 octets).

matrefeytontias
Connaisseur
Connaisseur

Messages : 150
Points Concours : 35
Productivité : 13
Date d'inscription : 14/06/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: WLib : Topic de dev

Message par blg_flg le Mer 4 Sep 2013 - 21:14

Je pense que de toute façon c'est mort pour faire un truc potable à la main. A la limite, si tu y tiens vraiment et si c'est possible, tu pourrais la diviser en plusieurs parties afin que l'on se serve un peu comme on veut, mais ça risque de créer une jolie pagaille.

A mon avis, ce n'est pas le problème prioritaire... En même temps, je ne suis pas trop concerné par le recopiage, mais bon.

En tout cas, super projet ! En attendant l'hypothétique Grammer 82, ça va faire plaisir à pas mal de monde. Bravo et merci ! Smile

__________________________________________________________________________




A bove ante, ab asino retro, a moderatoro undique caveto.

Invité, tu désires la liberté ? Fais donc un petit tour sur TI-Free World !

Spoiler:
avatar
blg_flg
Connaisseur
Connaisseur

Messages : 249
Points Concours : 45
Productivité : 6
Date d'inscription : 04/06/2013
Localisation : Pantruche
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: WLib : Topic de dev

Message par matrefeytontias le Mer 4 Sep 2013 - 21:31

Merci Smile

Aussi j'ai oublié de le préciser, la liste WLIB est maintenant utilisée pour passer les paramètres. Ça gêne personne personne θ comme variable de sortie ?

Aussi, est-ce que je devrais arrêter le programme et afficher ERR:ARGUMENT quand y'a pas assez d'arguments pour une fonction ? Ça peut être pratique nan ?

matrefeytontias
Connaisseur
Connaisseur

Messages : 150
Points Concours : 35
Productivité : 13
Date d'inscription : 14/06/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: WLib : Topic de dev

Message par m@thieu41 le Mer 4 Sep 2013 - 22:28

Ouais quand il y a un problème avec les arguments c'est bien de renvoyer cette erreur au moins on sait ce qui va pas, tandis que si tu fais rien bah on peut continuer comme si ça avait fait ce qu'on voulait, et du coup bah ça fait tout tomber à l'eau de toute façon...

Par contre théta je ne sais pas trop, ce n'est pas la variable la moins utilisée... Pourquoi pas genre une variable de statistique où autre qu'on utilise presque jamais?

__________________________________________________________________________
ZSNAKE Mon premier (et unique) jeu en ASM:
Un Snake 2 joueurs (2caltos)
-> Je travaille sur une version plus stable du jeu, je poste dès que possible.
avatar
m@thieu41
----------------------
----------------------

Messages : 934
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: WLib : Topic de dev

Message par matrefeytontias le Mer 4 Sep 2013 - 22:40

Parce que θ contient juste un float, et les floats c'est facile de les mettre à 0 ou 1 (une ROM call en fait, _OP1set0 ou _OP1set1). Les variables statistiques je sais pas les utiliser.

Aussi, moi ça me plaîrait moyennement d'aller dans 14 menus pour trouver une variable que je vais utiliser souvent. Une autre proposition de variable de sortie ?

matrefeytontias
Connaisseur
Connaisseur

Messages : 150
Points Concours : 35
Productivité : 13
Date d'inscription : 14/06/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: WLib : Topic de dev

Message par m@thieu41 le Mer 4 Sep 2013 - 23:02

Pourquoi pas Rép tout simplement?
Je crois que c'est plus dur à manipuler en asm, mais ça serait plus pratique pour nous je pense.

Ou sinon W (pour WLib), parce que je sais pas les autres mais j'ai l'habitude de me servir des premières variables, de théta, de X, Y ou Z à la rigueur, mais très rarement W ...

__________________________________________________________________________
ZSNAKE Mon premier (et unique) jeu en ASM:
Un Snake 2 joueurs (2caltos)
-> Je travaille sur une version plus stable du jeu, je poste dès que possible.
avatar
m@thieu41
----------------------
----------------------

Messages : 934
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: WLib : Topic de dev

Message par matrefeytontias le Mer 4 Sep 2013 - 23:30

Pas bête ... Ça va pour tout le monde W ? (ceux qui lisent ça)

matrefeytontias
Connaisseur
Connaisseur

Messages : 150
Points Concours : 35
Productivité : 13
Date d'inscription : 14/06/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: WLib : Topic de dev

Message par blg_flg le Jeu 5 Sep 2013 - 19:05

Yep, bonne idée. Bien Joué 

__________________________________________________________________________




A bove ante, ab asino retro, a moderatoro undique caveto.

Invité, tu désires la liberté ? Fais donc un petit tour sur TI-Free World !

Spoiler:
avatar
blg_flg
Connaisseur
Connaisseur

Messages : 249
Points Concours : 45
Productivité : 6
Date d'inscription : 04/06/2013
Localisation : Pantruche
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: WLib : Topic de dev

Message par matrefeytontias le Jeu 5 Sep 2013 - 19:15

Okay ben je fais ça alors Smile

matrefeytontias
Connaisseur
Connaisseur

Messages : 150
Points Concours : 35
Productivité : 13
Date d'inscription : 14/06/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: WLib : Topic de dev

Message par Linkakro le Dim 8 Sep 2013 - 13:04

LOL, moi j'utilise tout le temps W comme compteur. Razz Tant pis.

Je pensais que tu pourrais indiquer les variables d'entrée/sortie de la même façon que tu indiquerais la chaine pour un sprite.
Je pensais aussi que tu formaterais toutes les syntaxes des fonctionnalités pour utiliser des routines communes de ton programme.
Ainsi ce ne serait pas forcément une variable fixée... en plus tu as à ta disposition les romcalls RclSysTok et StoSysTok.

Tu appelles float le codage de TI, mais pourquoi, puisque la convention IEEE754 ne définit pas la mantisse en BCD comme fait TI ?

__________________________________________________________________________
Vétéran du TI-Basic Zilog80. Ti82statfr sur Tout82 depuis 2009 et ti84pocketfr depuis noël 2012. Ti83plusfrUSB (été 2014, concours tiplanet suite du geek). Bidouille un peu d'assembleur Z80.
Incappable de gérer le temps et manque de tact, plutôt serviable.
Je prend les commandes de programme. Je suis motivé par les maths et la physique tant que ce n'est pas une simple copie d'antisèche.
Vous pouvez trouver une grande partie de mes données hébergées dans mon mediafire. Le ZIP et la liste sont périmées depuis longtemps.
coucou Invité What a Face
avatar
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

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: WLib : Topic de dev

Message par matrefeytontias le Dim 8 Sep 2013 - 13:21

Quand je dis "float", je désigne l'implémentation de TI, j'vais pas répéter "les floats de TI".

Ça serait un gâchis de performances et de clareté que de permettre plusieurs variables de sortie.

matrefeytontias
Connaisseur
Connaisseur

Messages : 150
Points Concours : 35
Productivité : 13
Date d'inscription : 14/06/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: WLib : Topic de dev

Message par m@thieu41 le Dim 8 Sep 2013 - 14:18

Et sinon en mettant une sortie "standard" (W ou autre), et permettre en argument facultatif une sortie spéciale? Sinon ce n'est pas trop grave: tu choisis une variable (pas trop utilisée non plus), et on s'adaptera si on veut utiliser ta lib.

__________________________________________________________________________
ZSNAKE Mon premier (et unique) jeu en ASM:
Un Snake 2 joueurs (2caltos)
-> Je travaille sur une version plus stable du jeu, je poste dès que possible.
avatar
m@thieu41
----------------------
----------------------

Messages : 934
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: WLib : Topic de dev

Message par matrefeytontias le Dim 8 Sep 2013 - 15:53

Nan nan, il y aura une sortie, ça va être trop compliqué sinon.

Création de programme terminée ! Elle créé un nouveau programme dont le nom et la taille en octets sont passés en argument (dans cet ordre), et écrase le programme existant du même nom s'il y en a un. C'est le fopen(file, "w") du C.

EDIT : je le remplis avec quelque chose le programme créé ?

matrefeytontias
Connaisseur
Connaisseur

Messages : 150
Points Concours : 35
Productivité : 13
Date d'inscription : 14/06/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: WLib : Topic de dev

Message par m@thieu41 le Dim 8 Sep 2013 - 18:38

Heu... il faudrait qu'on puisse choisir si on veut effacer l'ancien ou pas, parce que là c'est un peu brutal de le supprimer comme ça...

Une liste de tokens passé en arguments dans une chaine? Par contre il faudrait par exemple remplacer ":" par des retours à la ligne, et les "->" par des sto, puisqu'on ne peut pas les mettre directement dans une chaine en ti basic...
Sinon ça ne sert à rien de créer un prgm vide Razz 

__________________________________________________________________________
ZSNAKE Mon premier (et unique) jeu en ASM:
Un Snake 2 joueurs (2caltos)
-> Je travaille sur une version plus stable du jeu, je poste dès que possible.
avatar
m@thieu41
----------------------
----------------------

Messages : 934
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: WLib : Topic de dev

Message par matrefeytontias le Dim 8 Sep 2013 - 19:18

Pour éviter de supprimer un programme existant, tu vérifies s'il existe avec 5:Send(9prgmWLIB), ça renvoie 1 ou 0 dans W selon qu'il existe ou pas respectivement.

Ce que je voulais faire, c'est créer un programme vide (là j'ai fait en sorte qu'il soit rempli de :, comme ça on peut l'exécuter sans bugs même si on le remplit pas complètement) qu'on puisse remplir et vider comme on veut, avec des fonctions d'overwrite (pas d'insertion pour l'instant, je galère beaucoup trop avec ça).

EDIT : j'ai prévu que deux ':' à la suite ferait un saut de ligne, et que "->" ferait un sto (l'opérateur binaire, pas unaire).

matrefeytontias
Connaisseur
Connaisseur

Messages : 150
Points Concours : 35
Productivité : 13
Date d'inscription : 14/06/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: WLib : Topic de dev

Message par m@thieu41 le Dim 8 Sep 2013 - 20:02

Ca peut aller, même si ça risque de prendre rapidement beaucoup de place, si on doit mettre 2 ":" à chaque fois pour un retour à la ligne...

Pour l'insertion tu peux utiliser la rom call InsertMem qui marche bien (j'avais un projet (un peu à l'abandon en ce moment) qui l'utilisait, et ça marchait : http://www.yaronet.com/posts.php?s=157496 ). Ce n'est pas très compliqué, mais il faudrait trouver un moyen pour savoir où insérer ces instructions...

__________________________________________________________________________
ZSNAKE Mon premier (et unique) jeu en ASM:
Un Snake 2 joueurs (2caltos)
-> Je travaille sur une version plus stable du jeu, je poste dès que possible.
avatar
m@thieu41
----------------------
----------------------

Messages : 934
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: WLib : Topic de dev

Message par m@thieu41 le Dim 8 Sep 2013 - 21:42

Le risque étant qu'on veuille afficher ':' dans une chaîne de caractère par exemple ... alors que "::" c'est assez rare quand même.

Pour insérer les instructions, on peut toujours compter par lignes. J'ai aussi pensé à un système de gestion de programmes ressemblant à celui du C : on ouvre un programme (s'il n'existe pas il est créé), ce faisant on initialise un curseur virtuel défini par un numéro de ligne et un numéro de caractère. On peut alors écrire à l'emplacement du curseur, y insérer des trucs (peut-être) ou le déplacer. Quand on a fini, on ferme le programme. Le souci étant qu'on ne pourra ouvrir de cette manière qu'un programme à la fois, parce que bon merci bien hein, mettre à jour une table en relation avec un programme Basic c'est ouff >_>
C'est vrai, c'est embêtant, "::" est une bonne idée du coup.

Ca pourrait être pas mal comme ça, et pourquoi pas rajouter une commande qui permettrait de lire une ligne du programme? (en la stockant dans une chaine par ex).
Par contre, tu parles "d'ouvrir" un prgm, j'espère que tu ne veux pas qu'il soit "refermé" après? parce qu'on ne peut pas en être sur (même si l'utilisateur de la lib pense à le faire, celui qui lance le prgm basic peut très bien quitter le prgm avec un "On", et là ça ne fermera pas du coup...).
Mais je ne comprends pas pourquoi tu dis ne pouvoir ouvrir qu'un prgm à la fois? Qu'entends tu par "mettre à jour une table en relation avec le prgm"?

__________________________________________________________________________
ZSNAKE Mon premier (et unique) jeu en ASM:
Un Snake 2 joueurs (2caltos)
-> Je travaille sur une version plus stable du jeu, je poste dès que possible.
avatar
m@thieu41
----------------------
----------------------

Messages : 934
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: WLib : Topic de dev

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 1 sur 6 1, 2, 3, 4, 5, 6  Suivant

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

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