[83PCE] Des SPRITES pour le Basic ! (v3.3)
26 posts
• Page 2 of 3 • 1, 2, 3
Re: [83PCE] Des SPRITES pour le Basic ! (version3)
Via "Your Account" dans la navigation du site, et ensuite "Sign up form" http://www.ticalc.org/account/signup.html
Plus d'info dans la FAQ ici: http://www.ticalc.org/help/faq/
La version 3.2 de Sprites ajoute une fonction d'affichage de texte (avec police de caractère Amstrad CPC) et utilise le mode 8 bits au lieu de 16 bits. Aussi, tu peux stocker encore plus de sprites.
Plus d'info dans la FAQ ici: http://www.ticalc.org/help/faq/
La version 3.2 de Sprites ajoute une fonction d'affichage de texte (avec police de caractère Amstrad CPC) et utilise le mode 8 bits au lieu de 16 bits. Aussi, tu peux stocker encore plus de sprites.
-
DoOmnimagaPremium
Niveau 12: CP (Calculatrice sur Pattes)- Posts: 709
- Images: 51
- Joined: 21 Feb 2012, 12:04
- Location: Quebec, Canada
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: 11eme annee scolaire termine
- YouTube: DJOmnimaga
- Facebook: dreamofomnimaga.page
Re: [83PCE] Des SPRITES pour le Basic ! (version3)
Voici en détails les améliorations de la version 3.2 ( archives_voir.php?id=539203 )
Tout d'abord, l'installation...
transférez simplement ces 6 fichiers :
backhome.8xp
clscreen.8xp
palette.8xp
print.8xp
settings.8xp
sprite.8xp
Le projet SPRITES v3.2 (pour TI83PCE/TI84+CE) comprend 6 fonctions écrites en Assembleur,
exécutables depuis le TI-Basic :
1) SETTINGS ,placé en début de programme, initialise les routines, mémorise la barre d'état,
efface l'écran en noir, passe en mode 256 couleurs (8bpp).
Si vous précédez SETTINGS du signe plus entre guillemet "+", cela forcera le programme
à rester en 16bpp (utile pour le débogage d'une erreur Basic!).
incorporé en plein programme:
ou juste avant de lancer votre programme DEMO:
2) CLSCREEN permet d'effacer (tout ou partie de) l'écran, avec l'une des 256 couleurs
(voir 256_colors.png).
3) PALETTE permet de modifier/réinitialiser la palette standard de 36 couleurs
(voir Palette_36colors.png)
(on peut ainsi modifier toute la palette!).
4) SPRITE permet de définir/afficher un Sprite.
Lorsqu'un sprite est à définir, il faut respectivement préciser:
-son numéro (0 à ...),
-sa largeur (1 à 35),
-sa hauteur (1 à 35),
-son grossissement (zoom x1 à x7),
-enfin les couleurs-pixels.
Afin de pouvoir coder de telles valeurs en un caractère, la base 36 est utilisée
(on va donc de 0 à Z avec A=10, B=11....Z=35)
Par exemple:
Détail important: le programme définira par ordre croissant les sprites 0,1,2....etc.
Ce paramètre "numéro de Sprite" n'est donc là que pour vous servir de repère!
76800 octets sont attribués au stockage des sprites, il y a donc de la marge !
Un sprite occupant en mémoire 2+(largeur*hauteur)*zoom^2 octets, on peut donc stocker jusqu'à 62 sprites 35x35 en zoom x1
Lors d'un affichage d'un -ou plusieurs- sprite(s), il faut respectivement préciser:
-son numéro (0 à ...)
-son abscisse (nombres entiers de 0 à 319)
-son ordonnée (nombres entiers de 0 à 239)
Exemple:
5) PRINT permet de configurer le mode d'affichage (position graphique, choix des couleurs (0-256), taille des caractères) ; permet également d'afficher des caractères (texte, variables, calculs...)
Bien entendu, les minuscules sont accessibles par le biais d'un double [alpha]
Pour configurer...
Et pour afficher...
à noter que la précision des calculs est plus importante qu'à l'accoutumée!
Par exemple,
à ce propos, veillez à ce que vos programme soient en mode réponse DECimale (instruction DEC)
(sinon , π:Asm(prgmPRINT affichera 1 )
Veillez aussi à ce que cette instruction soient placée en tout début de programme, bien AVANT Asm(prgmSETTINGS , simplement parce que DEC (tout comme FLOAT, MATHPRINT, CLASSIC,...etc) altère la barre d'état.
6) BACKHOME permet un bon retour vers le TI-OS (efface toute trace de données, converti l'écran actuel en mode 16bpp,repasse en mode 16bpp, rétabli la barre d'état)
Asm(prgmBACKHOME)
En option, vous pouvez forcer BACKHOME à NE PAS rétablir la barre d'état,
en le précèdant d'un "NSB" (No Status Bar)
IMPORTANT: afin d'éviter de "contrarier" la TI83PCE, voici quelques recommandations:
-SETTINGS est à utiliser en tout début de programme (car il initialise pas mal de choses...)
-Définir les sprites par ordre croissant (en partant du n° 0...)
-Et bien entendu, ne JAMAIS tenter d'afficher un sprite avant de l'avoir défini préalablement.
-Attention à ne pas faire déborder un sprite hors de l'écran!
-NE PLUS utiliser tout ce qui concerne l'affichage : Output,ClrHome,ClrDraw,Text, Line,Pxl-on,Pt-on...
Voilà! J'espère que cet utilitaire vous sera utile dans vos créations.
Amusez-vous bien !.. Et bonne programmation !
Merci à Epharius, Dj Omnimaga, Diolum (astuce "minuscules"), DrDnar (astuces "faster/fastest") et tant d'autres pour les conseils, astuces, et informations !!
-Gérald alias grosged (juin 2016)
PS: N'hésitez pas à me faire part d'éventuels bugs, merci
Tout d'abord, l'installation...
transférez simplement ces 6 fichiers :
backhome.8xp
clscreen.8xp
palette.8xp
print.8xp
settings.8xp
sprite.8xp
Le projet SPRITES v3.2 (pour TI83PCE/TI84+CE) comprend 6 fonctions écrites en Assembleur,
exécutables depuis le TI-Basic :
1) SETTINGS ,placé en début de programme, initialise les routines, mémorise la barre d'état,
efface l'écran en noir, passe en mode 256 couleurs (8bpp).
Si vous précédez SETTINGS du signe plus entre guillemet "+", cela forcera le programme
à rester en 16bpp (utile pour le débogage d'une erreur Basic!).
incorporé en plein programme:
- Code: Select all
"+":Asm(prgmSETTINGS
ou juste avant de lancer votre programme DEMO:
- Code: Select all
"+":prgmDEMO
2) CLSCREEN permet d'effacer (tout ou partie de) l'écran, avec l'une des 256 couleurs
(voir 256_colors.png).
- Code: Select all
255:Asm(prgmCLSCREEN
- Code: Select all
{x,y,largeur,hauteur,couleur,x2,y2,largeur2,hauteur2,couleur2...:Asm(prgmCLSCREEN
3) PALETTE permet de modifier/réinitialiser la palette standard de 36 couleurs
(voir Palette_36colors.png)
- Code: Select all
{255,15,0,...:Asm(prgmPALETTE
(on peut ainsi modifier toute la palette!).
- Code: Select all
0:Asm(prgmPALETTE ou "":Asm(prgmPALETTE ...(bref! tout sauf une liste)
4) SPRITE permet de définir/afficher un Sprite.
Lorsqu'un sprite est à définir, il faut respectivement préciser:
-son numéro (0 à ...),
-sa largeur (1 à 35),
-sa hauteur (1 à 35),
-son grossissement (zoom x1 à x7),
-enfin les couleurs-pixels.
Afin de pouvoir coder de telles valeurs en un caractère, la base 36 est utilisée
(on va donc de 0 à Z avec A=10, B=11....Z=35)
Par exemple:
- Code: Select all
"000,C3,5
Ans+"0123456789AB
Ans+"CDEFGHIJKLMN
Ans+"OPQRSTUVWXYZ
Asm(prgmSPRITE
Détail important: le programme définira par ordre croissant les sprites 0,1,2....etc.
Ce paramètre "numéro de Sprite" n'est donc là que pour vous servir de repère!
76800 octets sont attribués au stockage des sprites, il y a donc de la marge !
Un sprite occupant en mémoire 2+(largeur*hauteur)*zoom^2 octets, on peut donc stocker jusqu'à 62 sprites 35x35 en zoom x1

Lors d'un affichage d'un -ou plusieurs- sprite(s), il faut respectivement préciser:
-son numéro (0 à ...)
-son abscisse (nombres entiers de 0 à 319)
-son ordonnée (nombres entiers de 0 à 239)
Exemple:
- Code: Select all
{0,100,200,1,0,0:Asm(prgmSPRITE
5) PRINT permet de configurer le mode d'affichage (position graphique, choix des couleurs (0-256), taille des caractères) ; permet également d'afficher des caractères (texte, variables, calculs...)
Bien entendu, les minuscules sont accessibles par le biais d'un double [alpha]
Pour configurer...
- Code: Select all
{x,y:Asm(prgmPRINT
- Code: Select all
{x,y,couleur,couleur de fond:Asm(prgmPRINT
- Code: Select all
{x,y,couleur,couleur de fond,zoom en largeur,zoom en hauteur:Asm(prgmPRINT
Et pour afficher...
- Code: Select all
"Hello world":Asm(prgmPRINT
x:Asm(prgmPRINT
L1(1:Asm(prgmPRINT
123+4567:Asm(prgmPRINT
π:Asm(prgmPRINT
à noter que la précision des calculs est plus importante qu'à l'accoutumée!
Par exemple,
- Code: Select all
π:Asm(prgmPRINT
à ce propos, veillez à ce que vos programme soient en mode réponse DECimale (instruction DEC)
(sinon , π:Asm(prgmPRINT affichera 1 )
Veillez aussi à ce que cette instruction soient placée en tout début de programme, bien AVANT Asm(prgmSETTINGS , simplement parce que DEC (tout comme FLOAT, MATHPRINT, CLASSIC,...etc) altère la barre d'état.
6) BACKHOME permet un bon retour vers le TI-OS (efface toute trace de données, converti l'écran actuel en mode 16bpp,repasse en mode 16bpp, rétabli la barre d'état)
Asm(prgmBACKHOME)
En option, vous pouvez forcer BACKHOME à NE PAS rétablir la barre d'état,
en le précèdant d'un "NSB" (No Status Bar)
- Code: Select all
"NSB":Asm(prgmBACKHOME
IMPORTANT: afin d'éviter de "contrarier" la TI83PCE, voici quelques recommandations:
-SETTINGS est à utiliser en tout début de programme (car il initialise pas mal de choses...)
-Définir les sprites par ordre croissant (en partant du n° 0...)
-Et bien entendu, ne JAMAIS tenter d'afficher un sprite avant de l'avoir défini préalablement.
-Attention à ne pas faire déborder un sprite hors de l'écran!
-NE PLUS utiliser tout ce qui concerne l'affichage : Output,ClrHome,ClrDraw,Text, Line,Pxl-on,Pt-on...
Voilà! J'espère que cet utilitaire vous sera utile dans vos créations.
Amusez-vous bien !.. Et bonne programmation !
Merci à Epharius, Dj Omnimaga, Diolum (astuce "minuscules"), DrDnar (astuces "faster/fastest") et tant d'autres pour les conseils, astuces, et informations !!
-Gérald alias grosged (juin 2016)
PS: N'hésitez pas à me faire part d'éventuels bugs, merci

-
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)- Posts: 770
- Images: 75
- Joined: 14 Sep 2011, 12:29
- Gender:
- Calculator(s):→ MyCalcs profile
Re: [83PCE] Des SPRITES pour le Basic ! (version3)
Génial ! Bon, t'as déjà mon avis de toute façon, j'ai plus rien à te dire 
Si ce n'est la sécurité, puisqu'on utilise ça en Ti-Basic et que des gens pas "très fort" pourront l'utiliser, ce serait bien de vérifier un flag et exécuter SETTINGS si rien a déjà été initialisé. Pareil pour les autres points, tout en essayant de ne faire qu'une petite vérification pour ne pas trop ralentir (ça doit pouvoir se faire, checker un flag ça fait moins de 15 TStates).
Ensuite, pour la non-utilisation de fonctions graphiques je trouve ça dommage juste pour un peu de vitesse (surtout en basic). Tu devrais demander dans SETTINGS le mode que veut l'utilisateur.
Bref, bon boulot

Si ce n'est la sécurité, puisqu'on utilise ça en Ti-Basic et que des gens pas "très fort" pourront l'utiliser, ce serait bien de vérifier un flag et exécuter SETTINGS si rien a déjà été initialisé. Pareil pour les autres points, tout en essayant de ne faire qu'une petite vérification pour ne pas trop ralentir (ça doit pouvoir se faire, checker un flag ça fait moins de 15 TStates).
Ensuite, pour la non-utilisation de fonctions graphiques je trouve ça dommage juste pour un peu de vitesse (surtout en basic). Tu devrais demander dans SETTINGS le mode que veut l'utilisateur.
Bref, bon boulot

Le projet Geometry Dash est terminé ! N'hésitez pas à aller jeter un coup d’œil au topic du projet ! Vous pouvez le télécharger ici.
Unis par la flèche sacrée de cupidon

Unis par la flèche sacrée de cupidon


-
EphariusPremium
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 1170
- Images: 4
- Joined: 08 Dec 2014, 17:38
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Ensimag
- GitHub: MathisLav
Re: [83PCE] Des SPRITES pour le Basic ! (version3)
Merci, Epharius 
Oui c'est sur qu'on peut toujours faire mieux !
Et passer en mode 8bpp exige de sacrifier les fonctions graphiques
(ce qui m'a valu d'écrire ma propre routine d'affichage)
Là, j'suis un peu comme toi, il n'y a pas si longtemps avec Phasm...je fais une indigestion de Sprite (pas la boisson, hein!) héhé

Oui c'est sur qu'on peut toujours faire mieux !
Et passer en mode 8bpp exige de sacrifier les fonctions graphiques
(ce qui m'a valu d'écrire ma propre routine d'affichage)
Là, j'suis un peu comme toi, il n'y a pas si longtemps avec Phasm...je fais une indigestion de Sprite (pas la boisson, hein!) héhé

-
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)- Posts: 770
- Images: 75
- Joined: 14 Sep 2011, 12:29
- Gender:
- Calculator(s):→ MyCalcs profile
Re: [83PCE] Des SPRITES pour le Basic ! (v3.2)
Moi, c'est une indigestion de factorisation d'entiers d'intérêt mathématique, entre la gestion des nombres en entrée de la grille et le travail sur l'infrastructure de gestion pour l'automatiser davantage et pouvoir y passer moins de temps...
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
-
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)- Posts: 6869
- Joined: 23 Dec 2009, 00:00
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: -
- GitHub: debrouxl
Re: [83PCE] Des SPRITES pour le Basic ! (v3.2)
Puisque tu factorises des entiers, et si tu te mettais à cracker la clé RSA de la 82A ? 

Mon profil TI-Planet | Devenez premium ! |
![]() | |
Modérateur de TI-Planet.org depuis décembre 2015, et membre de la communauté depuis Mai 2015. | Cliquez ci-dessus pour faire un don à TI-Planet.org via PayPal et devenir Donateur ou Premium (à partir de 3€) ! Vous aurez accès à des générations illimitées et prioritaires avec Mviewer GX Creator, ainsi qu'au forum secret ! ![]() ![]() |

-
GalacticPirateModo
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 1156
- Images: 2
- Joined: 23 May 2015, 10:36
- Location: Hauts-de-Seine, France
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: M2
Re: [83PCE] Des SPRITES pour le Basic ! (v3.2)
Elle est en 2048-bits, comme celle des TI-Nspire CX.
Donc quasiment aucune chance de pouvoir factoriser ça en un temps raisonnable avec les moyens matériels et logiciels actuels.
Donc quasiment aucune chance de pouvoir factoriser ça en un temps raisonnable avec les moyens matériels et logiciels actuels.

-
critorAdmin
Niveau 19: CU (Créateur Universel)- Posts: 42220
- Images: 16675
- Joined: 25 Oct 2008, 00:00
- Location: Montpellier
- Gender:
- Calculator(s):→ MyCalcs profile
- YouTube: critor3000
- Twitter: critor2000
- GitHub: critor
Re: [83PCE] Des SPRITES pour le Basic ! (v3.2)
Je sais, d'où le troll
Avec un supercalculateur de quelques pétaflops type celui en Chine, ce serait possible à quelle échelle de temps ? 


Mon profil TI-Planet | Devenez premium ! |
![]() | |
Modérateur de TI-Planet.org depuis décembre 2015, et membre de la communauté depuis Mai 2015. | Cliquez ci-dessus pour faire un don à TI-Planet.org via PayPal et devenir Donateur ou Premium (à partir de 3€) ! Vous aurez accès à des générations illimitées et prioritaires avec Mviewer GX Creator, ainsi qu'au forum secret ! ![]() ![]() |

-
GalacticPirateModo
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 1156
- Images: 2
- Joined: 23 May 2015, 10:36
- Location: Hauts-de-Seine, France
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: M2
Re: [83PCE] Des SPRITES pour le Basic ! (v3.2)
Pense qu'à ce jour, aucune clé 1024-bits n'a été factorisée à ma connaissance.
Alors 2048-bits tu peux complètement oublier, supercalculateur ou pas.
Commençons déjà par du 1024-bits, et on aura le contrôle des TI-Nspire monochromes.
Alors 2048-bits tu peux complètement oublier, supercalculateur ou pas.
Commençons déjà par du 1024-bits, et on aura le contrôle des TI-Nspire monochromes.

-
critorAdmin
Niveau 19: CU (Créateur Universel)- Posts: 42220
- Images: 16675
- Joined: 25 Oct 2008, 00:00
- Location: Montpellier
- Gender:
- Calculator(s):→ MyCalcs profile
- YouTube: critor3000
- Twitter: critor2000
- GitHub: critor
Re: [83PCE] Des SPRITES pour le Basic ! (v3.2)
On est dans la période où on pourrait commencer à voir la publication de la factorisation d'une clé RSA 1024 bits. Il est probable que les agences gouvernementales aient déjà les moyens de le faire, mais elles n'en parlent évidemment pas.
Mais sauf breakthrough improbable, 2048 bits est hors d'atteinte pour l'instant.
Mais même si c'est moi qui ai déclenché l'off-topic, ce n'est pas le sujet
Mais sauf breakthrough improbable, 2048 bits est hors d'atteinte pour l'instant.
Mais même si c'est moi qui ai déclenché l'off-topic, ce n'est pas le sujet

Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
-
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)- Posts: 6869
- Joined: 23 Dec 2009, 00:00
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: -
- GitHub: debrouxl
26 posts
• Page 2 of 3 • 1, 2, 3
Return to Langages alternatifs
Who is online
Users browsing this forum: ClaudeBot [spider] and 10 guests