π
<-

Portage de petites demos graphiques...

Programmation et implémentation d'algorithmes.

Portage de petites demos graphiques...

Message non lude Lionel Debroux » 02 Oct 2013, 07:15

Pour l'instant, je me suis amusé à porter sur Prime, en BASIC, une seule des demos de TICT, "shuffle", faite à l'origine pour TI-68k ( http://tict.ticalc.org/projects.html#ref_demos ) et que j'ai portée par la suite pour Nspire/Ndless de seconde génération ( http://www.ticalc.org/archives/files/fi ... 43472.html ).

Ca n'a bien entendu pas pris longtemps, le plus long ayant été de se rendre compte que RANDOM rendait une valeur flottante (j'ai l'habitude du random() C qui rend des entiers). Le code est trivial, mais je voulais souligner deux choses:
* comme on le savait déjà grâce aux programmes de Gilles59, DJ_O, critor et d'autres, la vitesse (même plus élevée sur émulateur que sur machine réelle, il y a quand même de la marge !) est impressionnante sur Prime. On pourrait peut-être gagner encore en utilisant un LFSR plutôt que RANDOM();
* le debugger BASIC intégré à l'OS de la Prime est très utile. On n'a pas ça sur les machines TI, alors que c'est un outil standard de la programmation professionnelle :)
Code: Tout sélectionner
EXPORT shuffle()
BEGIN
LOCAL x1, y1, x2, y2;
DIMGROB_P(G1,16,12);

REPEAT

x1:=IP(RANDOM(20))*16;
y1:=IP(RANDOM(20))*12;
x2:=IP(RANDOM(20))*16;
y2:=IP(RANDOM(20))*12;
BLIT_P(G1,0,0,G0,x1,y1,x1+16,y1+12);
BLIT_P(G0,x1,y1,G0,x2,y2,x2+16,y2+12);
BLIT_P(G0,x2,y2,G1,0,0,16,12);

UNTIL ISKEYDOWN(4);
END;


Astuce: le code des fichiers .hpprgm étant une suite de chaînes de caractères UTF-16 little-endian, comme nous l'avons documenté sur le hpwiki TI-Planet, il y a une méthode simple et efficace (sans lancer l'émulateur) pour extraire le code d'un programme:
Code: Tout sélectionner
strings -n 1 -e l HP_Prime/shuffle.hpprgm
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Avatar de l’utilisateur
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 11.4%
 
Messages: 6875
Inscription: 23 Déc 2009, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: -
GitHub: debrouxl

Re: Portage de petites demos graphiques...

Message non lude Adriweb » 02 Oct 2013, 14:31

Bien :)

Lionel Debroux a écrit:Astuce: le code des fichiers .hpprgm étant une suite de chaînes de caractères UTF-16 little-endian, comme nous l'avons documenté sur le hpwiki TI-Planet, il y a une méthode simple et efficace (sans lancer l'émulateur) pour extraire le code d'un programme:
Code: Tout sélectionner
strings -n 1 -e l HP_Prime/shuffle.hpprgm

Héhé, joli, pourquoi n'y a-t'on pas pensé avant ? :D

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 82.1%
 
Messages: 14880
Images: 1211
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: Portage de petites demos graphiques...

Message non lude Lionel Debroux » 02 Oct 2013, 17:27

Oh si, on y a pensé avant ;)
C'est exclusivement avec ça que j'ai trouvé les strings à trafiquer, pour l'expérience que j'avais faite il y a quelques semaines et relatée sur Omnimaga.
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Avatar de l’utilisateur
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 11.4%
 
Messages: 6875
Inscription: 23 Déc 2009, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: -
GitHub: debrouxl

Re: Portage de petites demos graphiques...

Message non lude Adriweb » 02 Oct 2013, 20:01

Ah, ok :)

En fait, personnellement, j'avais utilisé strings sur les OS etc., mais pas les variables utilisateurs (sur eux, j'y allais à coup d'éditeur hexa... :D)

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 82.1%
 
Messages: 14880
Images: 1211
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb


Retourner vers Programmation

Qui est en ligne

Utilisateurs parcourant ce forum: ClaudeBot [spider] et 58 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Ndless for CX 4.5.5 / CX II 6.2.0
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
12345
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
2218 utilisateurs:
>2198 invités
>12 membres
>8 robots
Record simultané (sur 6 mois):
32248 utilisateurs (le 01/09/2025)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)