π
<-

Portage de petites demos graphiques...

Programmation et implémentation d'algorithmes.

Portage de petites demos graphiques...

Unread postby 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: Select all
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: Select all
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.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.4%
 
Posts: 6875
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

Re: Portage de petites demos graphiques...

Unread postby Adriweb » 02 Oct 2013, 14:31

Bien :)

Lionel Debroux wrote: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: Select all
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
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 82.1%
 
Posts: 14880
Images: 1211
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: Portage de petites demos graphiques...

Unread postby 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.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.4%
 
Posts: 6875
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

Re: Portage de petites demos graphiques...

Unread postby 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
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 82.1%
 
Posts: 14880
Images: 1211
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb


Return to Programmation

Who is online

Users browsing this forum: ClaudeBot [spider] and 32 guests

-
Search
-
Social TI-Planet
-
Featured topics
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
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
2114 utilisateurs:
>2084 invités
>23 membres
>7 robots
Record simultané (sur 6 mois):
32248 utilisateurs (le 01/09/2025)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)