π
<-
Chat plein-écran
[^]

[83PCE] Des SPRITES pour le Basic ! (v3.3)

Assembleur, Axe, C/C++, ICE...

Re: [83PCE] Des SPRITES pour le Basic ! (version3)

Message non lude DoOmnimaga » 02 Juin 2016, 17:17

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.
Image Image Image Now active at https://discord.gg/cuZcfcF (CodeWalrus server)
Avatar de l’utilisateur
DoOmnimagaPremium
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 8.1%
 
Messages: 683
Images: 25
Inscription: 21 Fév 2012, 12:04
Localisation: Quebec, Canada
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: 11eme annee scolaire termine
YouTube: DJOmnimaga
Twitter/X: DJOmnimaga
Facebook: djomnimaga

Re: [83PCE] Des SPRITES pour le Basic ! (version3)

Message non lude grosged » 03 Juin 2016, 07:31

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:
Code: Tout sélectionner
"+":Asm(prgmSETTINGS


ou juste avant de lancer votre programme DEMO:
Code: Tout sélectionner
"+":prgmDEMO



2) CLSCREEN permet d'effacer (tout ou partie de) l'écran, avec l'une des 256 couleurs
(voir 256_colors.png).

Code: Tout sélectionner
255:Asm(prgmCLSCREEN
efface TOUT l'écran avec la couleur blanche.


Code: Tout sélectionner
{x,y,largeur,hauteur,couleur,x2,y2,largeur2,hauteur2,couleur2...:Asm(prgmCLSCREEN
affiche à l'écran un (ou plusieurs) rectangle plein dont les coordonnées (x,y) représentent le coin supérieur gauche.


3) PALETTE permet de modifier/réinitialiser la palette standard de 36 couleurs
(voir Palette_36colors.png)
Code: Tout sélectionner
{255,15,0,...:Asm(prgmPALETTE
modifie les premières couleurs de la palette
(on peut ainsi modifier toute la palette!).


Code: Tout sélectionner
0:Asm(prgmPALETTE ou "":Asm(prgmPALETTE ...(bref! tout sauf une liste)
réinitialise la palette standard.



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: Tout sélectionner
"000,C3,5
Ans+"0123456789AB
Ans+"CDEFGHIJKLMN
Ans+"OPQRSTUVWXYZ
Asm(prgmSPRITE
défini le Sprite n°0 , au format 12x3 avec un zoom x5

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: Tout sélectionner
{0,100,200,1,0,0:Asm(prgmSPRITE
affichera le sprite n°0 en coordonnées (100,200) ainsi que le sprite n°1 en coordonnées (0,0), c'est-à-dire le coin supérieur gauche de l'écran.

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: Tout sélectionner
{x,y:Asm(prgmPRINT
ou
Code: Tout sélectionner
{x,y,couleur,couleur de fond:Asm(prgmPRINT
ou
Code: Tout sélectionner
{x,y,couleur,couleur de fond,zoom en largeur,zoom en hauteur:Asm(prgmPRINT


Et pour afficher...

Code: Tout sélectionner
"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: Tout sélectionner
π:Asm(prgmPRINT
affichera 3.1415926535898 au lieu du classique 3.141592654

à 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: Tout sélectionner
"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 ;)
Avatar de l’utilisateur
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 30.2%
 
Messages: 770
Images: 75
Inscription: 14 Sep 2011, 12:29
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: [83PCE] Des SPRITES pour le Basic ! (version3)

Message non lude Epharius » 03 Juin 2016, 20:14

Génial ! Bon, t'as déjà mon avis de toute façon, j'ai plus rien à te dire :p

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 :favorite:
Image
Avatar de l’utilisateur
EphariusPremium
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 7.1%
 
Messages: 1110
Images: 4
Inscription: 08 Déc 2014, 17:38
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Ensimag
GitHub: MathisLav

Re: [83PCE] Des SPRITES pour le Basic ! (version3)

Message non lude grosged » 03 Juin 2016, 20:22

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é :)
Avatar de l’utilisateur
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 30.2%
 
Messages: 770
Images: 75
Inscription: 14 Sep 2011, 12:29
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: [83PCE] Des SPRITES pour le Basic ! (v3.2)

Message non lude Lionel Debroux » 04 Juin 2016, 21:14

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.
Avatar de l’utilisateur
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 11.2%
 
Messages: 6859
Inscription: 23 Déc 2009, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: -
GitHub: debrouxl

Re: [83PCE] Des SPRITES pour le Basic ! (v3.2)

Message non lude GalacticPirate » 04 Juin 2016, 21:15

Puisque tu factorises des entiers, et si tu te mettais à cracker la clé RSA de la 82A ? :troll:
Mon profil TI-PlanetDevenez premium !
ImageImage
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 ! :bj: En plus, vous pourrez être orange sur le chat :troll:

Image
Avatar de l’utilisateur
GalacticPirateModo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 1.3%
 
Messages: 1156
Images: 2
Inscription: 23 Mai 2015, 10:36
Localisation: Hauts-de-Seine, France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: L3 Informatique
GitHub: GalacticPirate-Prog

Re: [83PCE] Des SPRITES pour le Basic ! (v3.2)

Message non lude critor » 04 Juin 2016, 21:17

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. :'(
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 42.5%
 
Messages: 41498
Images: 14695
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: [83PCE] Des SPRITES pour le Basic ! (v3.2)

Message non lude GalacticPirate » 04 Juin 2016, 21:18

Je sais, d'où le troll :p Avec un supercalculateur de quelques pétaflops type celui en Chine, ce serait possible à quelle échelle de temps ? :p
Mon profil TI-PlanetDevenez premium !
ImageImage
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 ! :bj: En plus, vous pourrez être orange sur le chat :troll:

Image
Avatar de l’utilisateur
GalacticPirateModo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 1.3%
 
Messages: 1156
Images: 2
Inscription: 23 Mai 2015, 10:36
Localisation: Hauts-de-Seine, France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: L3 Informatique
GitHub: GalacticPirate-Prog

Re: [83PCE] Des SPRITES pour le Basic ! (v3.2)

Message non lude critor » 04 Juin 2016, 21:19

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. :)
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 42.5%
 
Messages: 41498
Images: 14695
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: [83PCE] Des SPRITES pour le Basic ! (v3.2)

Message non lude Lionel Debroux » 04 Juin 2016, 21:26

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 :)
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.2%
 
Messages: 6859
Inscription: 23 Déc 2009, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: -
GitHub: debrouxl

PrécédenteSuivante

Retourner vers Langages alternatifs

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 27 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
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.
1419 utilisateurs:
>1367 invités
>47 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
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)