1

me rvla avec une nouvelle question ^^
Cette fois ça concerne le format des variables (principalement programmes, matrices, listes et chaines de caractères). Comment elles sont organisées ?

(c'est pour un petit programme pour "crypter" une variable (j'ai déjà calculé ce qu'il faut faire pour crypter et pour décrypter) mais il faut pas que je crypte tout (il faut conserver la partie qui dit que c'est un programme par exemple))
programmeur sur TI ^^

mon blog sur les TI => clic

mon (p'tit) fofo sur les TI => clic

2

chaque type de variable a sa propre représentation, généralement c'est un header, puis les données, et enfin un tag qui permet de connaître le type de la variable. il me semble que la doc de TIGCC donne la structure des principaux types de variables.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

3

je sais pas où chercher dans la doc de TIGCC ^^

sinon j'ai regardé l'ancien tuto de squale92 et peut-être que les données sont fausses mais il y a ça en tout cas :

I:\ Chaînes de caractères (STR dans le VAR-LINK) :

Exemple : "Hello World" => 00 48 65 6C 6C 6F 20 57 6F 72 6C 64 20 21 00 2D

Format de la variable de type STR :

*

Taille de la variable (2 octets).
*

0x00 : Il s'agit du zéro de début de la chaîne de caractères. (1 octet).
*

Le contenu de la chaîne de caractères, chaque octet codant pour un caractère. Pour les correspondance octet/caractères, vous pouvez vous reporter au manuel fourni avec la TI. (autant d'octets que de caractères).
*

0x00 : Il s'agit de zéro de fin de la chaîne de caractères (1 octet).
*

0x2D : Il s'agit du STR_TAG, marquant qu'il s'agit d'une variable de type STR. (1 octet).

Remarque : Une des astuces utilisées pour stocker des données sur TI a été d'utiliser les variables de type STR en plaçant ces données avant le premier 0x00. Cependant, la chaîne de caractères en elle-même commence toujours après le premier 0x00, quoiqu'il y ait avant.


III:\ Textes (TEXT dans le VAR-LINK) :

Exemple : Le texte présenté ci-dessous est enregistré ainsi en mémoire (les retours à la ligne ne sont ici utilisés que pour des raisons de clarté et de lisibilité) :
00 27 20 45 78 65 6D 70
6C 65 20 64 65 20 66 69
63 68 69 65 72 20 54 45
58 54 2E 0D 43 43 6F 6D
6D 61 6E 64 0D 0C 50 61
67 65 20 62 72 65 61 6B
0D 50 50 75 69 6E 74 4F
62 6A 0D 20 70 61 73 20
64 65 20 63 6F 6D 6D 61
6E 64 65 0D 20 41 20 2B
00 E0

Format de la variable de type TEXT :

*

Taille de la variable (2 octets).
*

Position du curseur par rapport au 1er caractère du texte, exprimée en nombre d'octets. Ici, le caractère qui est compté comme étant le premier du texte est celui qui suit les 2 octets correspondant à la position du curseur. (2 octets).
*

Le texte en lui-même. Les caractères sont codés par leurs valeurs (voir la table de caractères fournies dans le manuel de la TI, ou voir le résultat de la fonction TI-BASIC ord).
o Les lignes de textes sont séparées par le caractère de fin de ligne, qui correspond au retour à la ligne. Il s'agit d'un octet, qui a pour valeur 0x0D. (Ce sont ces d'octets qui sont passés en caractères gras dans l'exemple que nous avons ici utilisé).
o Cet octet est suivi par un second octet, qui correspond à la commande qui sera ou non insérée dans la marge de l'éditeur de textes du TIOS (Pour la première ligne, qui n'est pas précédée d'un retour à la ligne, c'est le premier octet de cette partie de la variable qui remplit ce rôle). Ce sont les octets qui sont passés en Italique dans notre exemple. Voici les valeurs que peut prendre cet octet, et leurs significations :
+ 0x20 : Aucune commande n'est insérée.
+ 0x43 : la commande "Command" est insérée.
+ 0x0C : La commande "Page break" est insérée.
+ 0x50 : La commande "Print Obj" est insérée.
*

0x00 : Il s'agit d'un zéro, qui marque ici la fin du texte. (1 octet).
*

0xE0 : Il s'agit du TEXT_TAG, qui indique qu'il s'agit d'une variable de type TEXT.


par contre pour les programmes c'est pareil que pour les textes ? (à part le dernier tag qui change ?)
programmeur sur TI ^^

mon blog sur les TI => clic

mon (p'tit) fofo sur les TI => clic

4

oula alors ça de mémoire j'en ai aucune idée => doc tigcc tongue

(y'a un fichier tags.h qui contient tous les tags il me semble, à partir de là y'a pê moyen de remonter à quelque chose qui t'intéresse)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

5

Le format des fichiers de types algébriques est celui de la pile d'expressions:
http://tigcc.ticalc.org/doc/estack.html#top_estack
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

6

ok c'est bon j'ai ce que je voulais smile
merci
je retourne programmer smile
programmeur sur TI ^^

mon blog sur les TI => clic

mon (p'tit) fofo sur les TI => clic

7

Ca bosse dur. smile
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.